Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/jsxc/jsxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsualko <klaus@jsxc.org>2017-03-20 19:43:33 +0300
committersualko <klaus@jsxc.org>2017-03-20 19:43:33 +0300
commit3e7633d2c8e9481e59b5a97b7a2abc64ec7aec2d (patch)
tree28bc56fd4c26e31dc75bdff05eaff1dad5419840
parent92e38a8abb3513ac23386861ebd563360f92e27a (diff)
build v3.2.0-nightly.13.2.0-nightly.1
-rw-r--r--bower.json2
-rw-r--r--build/css/jsxc.css87
-rw-r--r--build/jsxc.js1305
-rw-r--r--build/jsxc.min.js18
-rw-r--r--build/jsxc.min.js.map2
-rw-r--r--build/lib/jsxc.dep.js5718
-rw-r--r--build/lib/jsxc.dep.min.js59
-rw-r--r--build/lib/jsxc.dep.min.js.map2
-rw-r--r--build/lib/translation.js2
-rw-r--r--package.json2
10 files changed, 4224 insertions, 2973 deletions
diff --git a/bower.json b/bower.json
index 840e7f84..86c87a1a 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,6 @@
{
"name": "jsxc",
- "version": "3.1.1",
+ "version": "3.2.0-nightly.1",
"homepage": "https://www.jsxc.org",
"authors": [
"sualko <klaus@jsxc.org>"
diff --git a/build/css/jsxc.css b/build/css/jsxc.css
index 8178aebc..160c5f94 100644
--- a/build/css/jsxc.css
+++ b/build/css/jsxc.css
@@ -2168,7 +2168,8 @@ fieldset[disabled]
width: 100%; }
#jsxc_dialog .mfp-close, #jsxc_webrtc .mfp-close {
- font-size: 23px; }
+ font-size: 23px;
+ font-weight: normal; }
.mfp-bg {
z-index: 9000; }
@@ -2763,15 +2764,14 @@ fieldset[disabled]
position: fixed;
left: 0;
bottom: 0;
- width: 30px;
- height: 30px; }
+ width: 30px; }
@media (max-width: 768px) {
#jsxc_windowListSB {
display: none; } }
#jsxc_windowListSB > div {
box-sizing: border-box;
width: 14px;
- height: 100%;
+ height: 30px;
background-color: #cccccc;
color: #807f7f;
text-align: center;
@@ -2881,7 +2881,8 @@ fieldset[disabled]
.jsxc_window .jsxc_emoticons:hover:after {
opacity: 0.5; }
.jsxc_window .jsxc_fade {
- position: relative; }
+ position: relative;
+ overflow: hidden; }
.jsxc_window .jsxc_fade .jsxc_overlay {
display: none;
background-color: rgba(0, 0, 0, 0.5);
@@ -2931,6 +2932,31 @@ fieldset[disabled]
text-overflow: ellipsis; }
.jsxc_window .jsxc_fade .jsxc_overlay > div a:hover {
text-decoration: underline; }
+ .jsxc_window .jsxc_fade .jsxc_mam-load-more {
+ display: none;
+ text-align: center;
+ font-size: 0.8em;
+ font-style: italic;
+ position: absolute;
+ top: -42px;
+ left: 0;
+ right: 0;
+ height: 42px;
+ cursor: pointer;
+ z-index: 80;
+ line-height: 42px;
+ opacity: 0;
+ -webkit-transition: opacity 0.5s, top 0.5s;
+ transition: opacity 0.5s, top 0.5s; }
+ .jsxc_window .jsxc_fade .jsxc_mam-load-more.jsxc_show {
+ top: 0;
+ opacity: 0.7; }
+ .jsxc_window .jsxc_fade .jsxc_mam-load-more.jsxc_show:hover {
+ opacity: 1; }
+ .jsxc_window .jsxc_fade.jsxc_mam-enable .jsxc_textarea {
+ padding-top: 42px; }
+ .jsxc_window .jsxc_fade.jsxc_mam-enable .jsxc_mam-load-more {
+ display: block; }
.jsxc_window .jsxc_avatar {
margin-top: 1px; }
.jsxc_window .jsxc_textarea {
@@ -3176,26 +3202,6 @@ fieldset[disabled]
width: 1.2em;
height: 1.2em;
vertical-align: middle; }
- .jsxc_sys.jsxc_composing {
- text-align: center;
- font-size: 0.9em;
- font-style: italic;
- display: block;
- opacity: 0;
- overflow: hidden;
- -webkit-transition: opacity 0.6s;
- transition: opacity 0.6s; }
- .jsxc_sys.jsxc_composing:before {
- content: " ";
- width: 1.5em;
- height: 1em;
- display: inline-block;
- background-size: 80%;
- background-repeat: no-repeat;
- margin: 0 3px 0 0;
- background-image: url('../img/composing.png'); }
- .jsxc_sys.jsxc_composing.jsxc_fadein {
- opacity: 1; }
div.jsxc_settings {
position: relative; }
@@ -3232,6 +3238,35 @@ div.jsxc_transfer {
div.jsxc_transfer.jsxc_enc.jsxc_trust {
background-image: url('../img/padlock_close_green.svg'); }
+.jsxc_status-msg {
+ font-size: 12px;
+ display: none;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+ height: 50%;
+ line-height: 17.5px;
+ opacity: 0.7; }
+ .jsxc_status-msg.jsxc_composing:before {
+ content: " ";
+ width: 1em;
+ height: 1em;
+ display: inline-block;
+ background-size: cover;
+ vertical-align: middle;
+ background-repeat: no-repeat;
+ background-image: url('../img/composing.png'); }
+
+.jsxc_status-msg-show .jsxc_name {
+ height: 50%;
+ line-height: 20px; }
+
+.jsxc_status-msg-show .jsxc_status-msg {
+ display: block; }
+
+.jsxc_status-msg-show .jsxc_lastmsg {
+ display: none !important; }
+
.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_bar .jsxc_avatar, li[data-type='groupchat'] .jsxc_avatar {
text-indent: 999px;
background-image: url('../img/group_white.svg');
@@ -3309,6 +3344,8 @@ div.jsxc_transfer {
color: inherit; }
.jsxc_windowItem .jsxc_memberlist.jsxc_expand ul > li .jsxc_avatar {
margin-right: 4px; }
+ .jsxc_windowItem .jsxc_memberlist .jsxc_avatar :before {
+ display: none; }
li[data-type='groupchat'] .jsxc_video {
display: none; }
diff --git a/build/jsxc.js b/build/jsxc.js
index 47b7bee4..424b89f4 100644
--- a/build/jsxc.js
+++ b/build/jsxc.js
@@ -1,5 +1,5 @@
/*!
- * jsxc v3.1.1 - 2017-02-14
+ * jsxc v3.2.0-nightly.1 - 2017-03-20
*
* Copyright (c) 2017 Klaus Herberth <klaus@jsxc.org> <br>
* Released under the MIT license
@@ -7,7 +7,7 @@
* Please see http://www.jsxc.org/
*
* @author Klaus Herberth <klaus@jsxc.org>
- * @version 3.1.1
+ * @version 3.2.0-nightly.1
* @license MIT
*/
@@ -25,7 +25,7 @@ var jsxc = null, RTC = null, RTCPeerconnection = null;
*/
jsxc = {
/** Version of jsxc */
- version: '3.1.1',
+ version: '3.2.0-nightly.1',
/** True if i'm the master */
master: false,
@@ -101,7 +101,8 @@ jsxc = {
},
NS: {
CARBONS: 'urn:xmpp:carbons:2',
- FORWARD: 'urn:xmpp:forward:0'
+ FORWARD: 'urn:xmpp:forward:0',
+ HINTS: 'urn:xmpp:hints'
},
HIDDEN: 'hidden',
SHOWN: 'shown',
@@ -242,8 +243,8 @@ jsxc = {
}
// Check localStorage
- if (typeof(localStorage) === 'undefined') {
- jsxc.warn("Browser doesn't support localStorage.");
+ if (!jsxc.storage.hasSupport()) {
+ jsxc.error("Browser doesn't support localStorage. JSXC will be disabled.");
return;
}
@@ -551,6 +552,10 @@ jsxc = {
username = settings.xmpp.username;
}
+ if (typeof settings.xmpp.password === 'string') {
+ password = settings.xmpp.password;
+ }
+
var resource = (settings.xmpp.resource) ? '/' + settings.xmpp.resource : '';
var domain = settings.xmpp.domain;
var jid;
@@ -604,7 +609,7 @@ jsxc = {
$('#jsxc_roster').removeClass('jsxc_noConnection');
jsxc.registerLogout();
- jsxc.gui.updateAvatar($('#jsxc_roster > .jsxc_bottom'), jsxc.jidToBid(jsxc.storage.getItem('jid')), 'own');
+ jsxc.gui.avatar.update($('#jsxc_roster > .jsxc_bottom'), jsxc.jidToBid(jsxc.storage.getItem('jid')), 'own');
jsxc.gui.restore();
},
@@ -672,7 +677,7 @@ jsxc = {
jsxc.otr.createDSA();
}
- jsxc.gui.updateAvatar($('#jsxc_roster > .jsxc_bottom'), jsxc.jidToBid(jsxc.storage.getItem('jid')), 'own');
+ jsxc.gui.avatar.update($('#jsxc_roster > .jsxc_bottom'), jsxc.jidToBid(jsxc.storage.getItem('jid')), 'own');
},
/**
@@ -1080,6 +1085,7 @@ jsxc.xmpp = {
$(document).on('authfail.jsxc', jsxc.xmpp.onAuthFail);
Strophe.addNamespace('RECEIPTS', 'urn:xmpp:receipts');
+ Strophe.addNamespace('VERSION', 'jabber:iq:version');
}
// Create new connection (no login)
@@ -1142,6 +1148,7 @@ jsxc.xmpp = {
if (jsxc.xmpp.conn.caps) {
// Add system handler, because user handler isn't called before
// we are authenticated
+ // @REVIEW this could maybe retrieved from jsxc.xmpp.conn.features
jsxc.xmpp.conn._addSysHandler(function(stanza) {
var from = jsxc.xmpp.conn.domain,
c = stanza.querySelector('c'),
@@ -1182,7 +1189,6 @@ jsxc.xmpp = {
// REVIEW: this should maybe moved to xmpp.disconnected
// clean up
- jsxc.storage.removeUserItem('buddylist');
jsxc.storage.removeUserItem('windowlist');
jsxc.storage.removeUserItem('unreadMsg');
@@ -1242,6 +1248,9 @@ jsxc.xmpp = {
jsxc.xmpp.saveSessionParameter();
+ var rosterVerSupport = $(jsxc.xmpp.conn.features).find('[xmlns="urn:xmpp:features:rosterver"]').length > 0;
+ jsxc.storage.setUserItem('rosterVerSupport', rosterVerSupport);
+
if (jsxc.options.loginForm.triggered) {
switch (jsxc.options.loginForm.onConnected || 'submit') {
case 'submit':
@@ -1272,11 +1281,14 @@ jsxc.xmpp = {
$('#jsxc_roster').removeClass('jsxc_noConnection');
+ Strophe.addNamespace('VERSION', 'jabber:iq:version');
+
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onRosterChanged, 'jabber:iq:roster', 'iq', 'set');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onChatMessage, null, 'message', 'chat');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onHeadlineMessage, null, 'message', 'headline');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onReceived, null, 'message');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onPresence, null, 'presence');
+ jsxc.xmpp.conn.addHandler(jsxc.xmpp.onVersionRequest, Strophe.NS.VERSION, 'iq', 'get');
jsxc.gui.init();
@@ -1318,18 +1330,25 @@ jsxc.xmpp = {
}
// Only load roaster if necessary
- if (!jsxc.reconnect || !jsxc.storage.getUserItem('buddylist')) {
+ if (!jsxc.reconnect) {
// in order to not overide existing presence information, we send
// pres first after roster is ready
$(document).one('cloaded.roster.jsxc', jsxc.xmpp.sendPres);
$('#jsxc_roster > p:first').remove();
+ var queryAttr = {
+ xmlns: 'jabber:iq:roster'
+ };
+
+ if (jsxc.storage.getUserItem('rosterVerSupport')) {
+ // @TODO check if we really cached the roster
+ queryAttr.ver = jsxc.storage.getUserItem('rosterVer') || '';
+ }
+
var iq = $iq({
type: 'get'
- }).c('query', {
- xmlns: 'jabber:iq:roster'
- });
+ }).c('query', queryAttr);
jsxc.xmpp.conn.sendIQ(iq, jsxc.xmpp.onRoster);
} else {
@@ -1357,14 +1376,12 @@ jsxc.xmpp = {
},
initNewConnection: function() {
- // make shure roster will be reloaded
- jsxc.storage.removeUserItem('buddylist');
-
jsxc.storage.removeUserItem('windowlist');
jsxc.storage.removeUserItem('own');
jsxc.storage.removeUserItem('avatar', 'own');
jsxc.storage.removeUserItem('otrlist');
jsxc.storage.removeUserItem('unreadMsg');
+ jsxc.storage.removeUserItem('features');
// reset user options
jsxc.storage.removeUserElement('options', 'RTCPeerConfig');
@@ -1379,6 +1396,7 @@ jsxc.xmpp = {
jsxc.xmpp.conn.disco.addIdentity('client', 'web', 'JSXC');
jsxc.xmpp.conn.disco.addFeature(Strophe.NS.DISCO_INFO);
jsxc.xmpp.conn.disco.addFeature(Strophe.NS.RECEIPTS);
+ jsxc.xmpp.conn.disco.addFeature(Strophe.NS.VERSION);
}
// create presence stanza
@@ -1401,6 +1419,23 @@ jsxc.xmpp = {
jsxc.debug('Send presence', pres.toString());
jsxc.xmpp.conn.send(pres);
+
+ if (!jsxc.storage.getUserItem('features')) {
+ jsxc.xmpp.conn.flush();
+
+ var barJid = Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid);
+
+ jsxc.xmpp.conn.disco.info(barJid, undefined, function(stanza) {
+ var features = $(stanza).find('feature').map(function() {
+ return $(this).attr('var');
+ });
+
+ jsxc.storage.setUserItem('features', features.toArray());
+ $(document).trigger('features.jsxc');
+ });
+ } else {
+ $(document).trigger('features.jsxc');
+ }
},
/**
@@ -1417,6 +1452,7 @@ jsxc.xmpp = {
jsxc.storage.removeItem('hidden');
jsxc.storage.removeUserItem('avatar', 'own');
jsxc.storage.removeUserItem('otrlist');
+ jsxc.storage.removeUserItem('features');
$(document).off('connected.jsxc', jsxc.xmpp.connected);
$(document).off('attached.jsxc', jsxc.xmpp.attached);
@@ -1444,6 +1480,7 @@ jsxc.xmpp = {
window.clearInterval(jsxc.keepaliveInterval);
jsxc.role_allocation = false;
jsxc.master = false;
+ jsxc.reconnect = false;
jsxc.storage.removeItem('alive');
jsxc.changeState(jsxc.CONST.STATE.SUSPEND);
@@ -1492,13 +1529,15 @@ jsxc.xmpp = {
* @private
*/
onRoster: function(iq) {
- /*
- * <iq from='' type='get' id=''> <query xmlns='jabber:iq:roster'> <item
- * jid='' name='' subscription='' /> ... </query> </iq>
- */
-
jsxc.debug('Load roster', iq);
+ if ($(iq).find('query').length === 0) {
+ jsxc.debug('Use cached roster');
+
+ jsxc.restoreRoster();
+ return;
+ }
+
var buddies = [];
$(iq).find('item').each(function() {
@@ -1529,6 +1568,10 @@ jsxc.xmpp = {
jsxc.storage.setUserItem('buddylist', buddies);
+ if ($(iq).find('query').attr('ver')) {
+ jsxc.storage.setUserItem('rosterVer', $(iq).find('query').attr('ver'));
+ }
+
// load bookmarks
jsxc.xmpp.bookmarks.load();
@@ -1608,6 +1651,10 @@ jsxc.xmpp = {
}
});
+ if ($(iq).find('query').attr('ver')) {
+ jsxc.storage.setUserItem('rosterVer', $(iq).find('query').attr('ver'));
+ }
+
if (!jsxc.storage.getUserItem('buddylist') || jsxc.storage.getUserItem('buddylist').length === 0) {
jsxc.gui.roster.empty();
} else {
@@ -1731,9 +1778,7 @@ jsxc.xmpp = {
});
}
- if (data.type === 'groupchat') {
- data.status = status;
- } else {
+ if (data.type !== 'groupchat') {
data.status = max;
}
@@ -1862,7 +1907,15 @@ jsxc.xmpp = {
var msg = jsxc.removeHTML(body);
msg = jsxc.escapeHTML(msg);
- jsxc.storage.saveMessage(bid, 'in', msg, false, forwarded, stamp);
+ var messageObj = new jsxc.Message({
+ bid: bid,
+ msg: msg,
+ direction: jsxc.Message.IN,
+ encrypted: false,
+ forwarded: forwarded,
+ stamp: stamp
+ });
+ messageObj.save();
return true;
}
@@ -1925,12 +1978,15 @@ jsxc.xmpp = {
if (jsxc.otr.objects.hasOwnProperty(bid) && body) {
// @TODO check for file upload url after decryption
jsxc.otr.objects[bid].receiveMsg(body, {
+ _uid: mid,
+ foo: 'bar',
stamp: stamp,
forwarded: forwarded,
attachment: attachment
});
} else {
jsxc.gui.window.postMessage({
+ _uid: mid,
bid: bid,
direction: jsxc.Message.IN,
msg: body,
@@ -1978,6 +2034,29 @@ jsxc.xmpp = {
},
/**
+ * Respond to version request (XEP-0092).
+ */
+ onVersionRequest: function(stanza) {
+ stanza = $(stanza);
+
+ var from = stanza.attr('from');
+ var id = stanza.attr('id');
+
+ var iq = $iq({
+ type: 'result',
+ to: from,
+ id: id
+ }).c('query', {
+ xmlns: Strophe.NS.VERSION
+ }).c('name').t('JSXC').up()
+ .c('version').t(jsxc.version);
+
+ jsxc.xmpp.conn.sendIQ(iq);
+
+ return true;
+ },
+
+ /**
* Triggerd if the rid changed
*
* @param {integer} rid next valid request id
@@ -2145,6 +2224,12 @@ jsxc.xmpp = {
});
}
+ if (msg.match(/^\?OTR/)) {
+ xmlMsg.up().c("no-permanent-store", {
+ xmlns: jsxc.CONST.NS.HINTS
+ });
+ }
+
if (type === 'chat' && (isBar || jsxc.xmpp.conn.caps.hasFeatureByJid(jid, Strophe.NS.RECEIPTS))) {
// Add request according to XEP-0184
xmlMsg.up().c('request', {
@@ -2339,256 +2424,6 @@ jsxc.xmpp.carbons = {
}
};
-/**
- * @namespace jsxc.fileTransfer
- * @type {Object}
- */
-jsxc.fileTransfer = {};
-
-/**
- * Make bytes more human readable.
- *
- * @memberOf jsxc.fileTransfer
- * @param {Integer} byte
- * @return {String}
- */
-jsxc.fileTransfer.formatByte = function(byte) {
- var s = ['', 'KB', 'MB', 'GB', 'TB'];
- var i;
-
- for (i = 1; i < s.length; i++) {
- if (byte < 1024) {
- break;
- }
- byte /= 1024;
- }
-
- return (Math.round(byte * 10) / 10) + s[i - 1];
-};
-
-/**
- * Start file transfer dialog.
- *
- * @memberOf jsxc.fileTransfer
- * @param {String} jid
- */
-jsxc.fileTransfer.startGuiAction = function(jid) {
- var bid = jsxc.jidToBid(jid);
- var res = Strophe.getResourceFromJid(jid);
-
- if (!res && !jsxc.xmpp.httpUpload.ready) {
- jsxc.fileTransfer.selectResource(bid, jsxc.fileTransfer.startGuiAction);
-
- return;
- }
-
- jsxc.fileTransfer.showFileSelection(jid);
-};
-
-/**
- * Show select dialog for file transfer capable resources.
- *
- * @memberOf jsxc.fileTransfer
- * @param {String} bid
- * @param {Function} success_cb Called if user selects resource
- * @param {Function} error_cb Called if no resource was found or selected
- */
-jsxc.fileTransfer.selectResource = function(bid, success_cb, error_cb) {
- var win = jsxc.gui.window.get(bid);
- var jid = win.data('jid');
- var res = Strophe.getResourceFromJid(jid);
-
- var fileCapableRes = jsxc.webrtc.getCapableRes(jid, jsxc.webrtc.reqFileFeatures);
- var resources = Object.keys(jsxc.storage.getUserItem('res', bid)) || [];
-
- if (res === null && resources.length === 1 && fileCapableRes.length === 1) {
- // only one resource is available and this resource is also capable to receive files
- res = fileCapableRes[0];
- jid = bid + '/' + res;
-
- success_cb(jid);
- } else if (fileCapableRes.indexOf(res) >= 0) {
- // currently used resource is capable to receive files
- success_cb(bid + '/' + res);
- } else if (fileCapableRes.indexOf(res) < 0) {
- // show selection dialog
- jsxc.gui.window.selectResource(bid, $.t('Your_contact_uses_multiple_clients_'), function(data) {
- if (data.status === 'unavailable') {
- jsxc.gui.window.hideOverlay(bid);
-
- if (typeof error_cb === 'function') {
- error_cb();
- }
- } else if (data.status === 'selected') {
- success_cb(bid + '/' + data.result);
- }
- }, fileCapableRes);
- }
-};
-
-/**
- * Show file selector.
- *
- * @memberOf jsxc.fileTransfer
- * @param {String} jid
- */
-jsxc.fileTransfer.showFileSelection = function(jid) {
- var bid = jsxc.jidToBid(jid);
- var msg = $('<div><div><label><input type="file" name="files" /><label></div></div>');
- msg.addClass('jsxc_chatmessage');
-
- jsxc.gui.window.showOverlay(bid, msg, true);
-
- // open file selection for user
- msg.find('label').click();
-
- msg.find('[type="file"]').change(function(ev) {
- var file = ev.target.files[0]; // FileList object
-
- if (!file) {
- return;
- }
-
- jsxc.fileTransfer.fileSelected(jid, msg, file);
- });
-};
-
-/**
- * Callback for file selector.
- *
- * @memberOf jsxc.fileTransfer
- * @param {String} jid
- * @param {jQuery} msg jQuery object of temporary file message
- * @param {File} file selected file
- */
-jsxc.fileTransfer.fileSelected = function(jid, msg, file) {
- var bid = jsxc.jidToBid(jid);
-
- if (file.transportMethod !== 'webrtc' && jsxc.xmpp.httpUpload.ready && file.size > jsxc.options.get('httpUpload').maxSize) {
- jsxc.debug('File too large for http upload.');
-
- file.transportMethod = 'webrtc';
-
- jsxc.fileTransfer.selectResource(bid, function(jid) {
- jsxc.fileTransfer.fileSelected(jid, msg, file);
- }, function() {
- var maxSize = jsxc.fileTransfer.formatByte(jsxc.options.get('httpUpload').maxSize);
- var fileSize = jsxc.fileTransfer.formatByte(file.size);
-
- jsxc.gui.window.postMessage({
- bid: bid,
- direction: jsxc.Message.SYS,
- msg: $.t('File_too_large') + ' (' + fileSize + ' > ' + maxSize + ')'
- });
-
- jsxc.gui.window.hideOverlay(bid);
- });
-
- return;
- } else if (!jsxc.xmpp.httpUpload.ready && Strophe.getResourceFromJid(jid)) {
- // http upload not available
- file.transportMethod = 'webrtc';
- }
-
- var attachment = $('<div>');
- attachment.addClass('jsxc_attachment');
- attachment.addClass('jsxc_' + file.type.replace(/\//, '-'));
- attachment.addClass('jsxc_' + file.type.replace(/^([^/]+)\/.*/, '$1'));
-
- msg.empty().append(attachment);
-
- if (FileReader && file.type.match(/^image\//)) {
- // show image preview
- var img = $('<img alt="preview">').attr('title', file.name);
- img.attr('src', jsxc.options.get('root') + '/img/loading.gif');
- img.appendTo(attachment);
-
- var reader = new FileReader();
-
- reader.onload = function() {
- img.attr('src', reader.result);
- };
-
- reader.readAsDataURL(file);
- } else {
- attachment.text(file.name + ' (' + file.size + ' byte)');
- }
-
- $('<button>').addClass('jsxc_btn jsxc_btn-primary').text($.t('Send')).click(function() {
- // user confirmed file transfer
- jsxc.gui.window.hideOverlay(bid);
- msg.remove();
-
- var message = jsxc.gui.window.postMessage({
- bid: bid,
- direction: 'out',
- attachment: {
- name: file.name,
- size: file.size,
- type: file.type,
- data: (file.type.match(/^image\//)) ? img.attr('src') : null
- }
- });
-
- if (file.transportMethod === 'webrtc') {
- var sess = jsxc.webrtc.sendFile(jid, file);
-
- sess.sender.on('progress', function(sent, size) {
- jsxc.gui.window.updateProgress(message, sent, size);
-
- if (sent === size) {
- message.received();
- }
- });
- } else {
- // progress is updated in xmpp.httpUpload.uploadFile
- jsxc.xmpp.httpUpload.sendFile(file, message);
- }
- }).appendTo(msg);
-
- $('<button>').addClass('jsxc_btn jsxc_btn-default').text($.t('Abort')).click(function() {
- // user aborted file transfer
- jsxc.gui.window.hideOverlay(bid);
- }).appendTo(msg);
-};
-
-/**
- * Enable/disable icons for file transfer.
- *
- * @memberOf jsxc.fileTransfer
- * @param {String} bid
- */
-jsxc.fileTransfer.updateIcons = function(bid) {
- var win = jsxc.gui.window.get(bid);
-
- if (!win || win.length === 0 || !jsxc.xmpp.conn) {
- return;
- }
-
- jsxc.debug('Update file transfer icons for ' + bid);
-
- if (jsxc.xmpp.httpUpload.ready) {
- win.find('.jsxc_sendFile').removeClass('jsxc_disabled');
-
- return;
- }
-
- var jid = win.data('jid');
- var res = Strophe.getResourceFromJid(jid);
- var fileCapableRes = jsxc.webrtc.getCapableRes(bid, jsxc.webrtc.reqFileFeatures);
- var resources = Object.keys(jsxc.storage.getUserItem('res', bid) || {}) || [];
-
- if (fileCapableRes.indexOf(res) > -1 || (res === null && fileCapableRes.length === 1 && resources.length === 1)) {
- win.find('.jsxc_sendFile').removeClass('jsxc_disabled');
- } else {
- win.find('.jsxc_sendFile').addClass('jsxc_disabled');
- }
-};
-
-$(document).on('update.gui.jsxc', function(ev, bid) {
- jsxc.fileTransfer.updateIcons(bid);
-});
-
/* global Favico, emojione*/
/**
* Handle functions for chat window's and buddylist
@@ -2829,95 +2664,12 @@ jsxc.gui = {
ri.find('.jsxc_name').attr('title', info);
- jsxc.gui.updateAvatar(ri.add(we.find('.jsxc_bar')), data.jid, data.avatar);
+ jsxc.gui.avatar.update(ri.add(we.find('.jsxc_bar')), data.jid, data.avatar);
$(document).trigger('update.gui.jsxc', [bid]);
},
/**
- * Update avatar on all given elements.
- *
- * @memberOf jsxc.gui
- * @param {jQuery} el Elements with subelement .jsxc_avatar
- * @param {string} jid Jid
- * @param {string} aid Avatar id (sha1 hash of image)
- */
- updateAvatar: function(el, jid, aid) {
-
- var setAvatar = function(src) {
- if (src === 0 || src === '0') {
- if (typeof jsxc.options.defaultAvatar === 'function') {
- jsxc.options.defaultAvatar.call(el, jid);
- return;
- }
- jsxc.gui.avatarPlaceholder(el.find('.jsxc_avatar'), jid);
- return;
- }
-
- el.find('.jsxc_avatar').removeAttr('style');
-
- el.find('.jsxc_avatar').css({
- 'background-image': 'url(' + src + ')',
- 'text-indent': '999px'
- });
- };
-
- if (typeof aid === 'undefined') {
- setAvatar(0);
- return;
- }
-
- var avatarSrc = jsxc.storage.getUserItem('avatar', aid);
-
- if (!jsxc.master && !avatarSrc) {
- // force avatar placeholder for slave tab, until master tab requested vCard
- avatarSrc = 0;
- }
-
- if (avatarSrc !== null) {
- setAvatar(avatarSrc);
- } else {
- var handler_cb = function(stanza) {
- jsxc.debug('vCard', stanza);
-
- var vCard = $(stanza).find("vCard > PHOTO");
- var src;
-
- if (vCard.length === 0) {
- jsxc.debug('No photo provided');
- src = '0';
- } else if (vCard.find('EXTVAL').length > 0) {
- src = vCard.find('EXTVAL').text();
- } else {
- var img = vCard.find('BINVAL').text();
- var type = vCard.find('TYPE').text();
- src = 'data:' + type + ';base64,' + img;
- }
-
- // concat chunks
- src = src.replace(/[\t\r\n\f]/gi, '');
-
- jsxc.storage.setUserItem('avatar', aid, src);
- setAvatar(src);
- };
-
- var error_cb = function(msg) {
- jsxc.warn('Could not load vcard.', msg);
-
- jsxc.storage.setUserItem('avatar', aid, 0);
- setAvatar(0);
- };
-
- // workaround for https://github.com/strophe/strophejs/issues/172
- if (Strophe.getBareJidFromJid(jid) === Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid)) {
- jsxc.xmpp.conn.vcard.get(handler_cb, error_cb);
- } else {
- jsxc.xmpp.conn.vcard.get(handler_cb, Strophe.getBareJidFromJid(jid), error_cb);
- }
- }
- },
-
- /**
* Updates scrollbar handlers.
*
* @memberOf jsxc.gui
@@ -3468,7 +3220,7 @@ jsxc.gui = {
var data = jsxc.storage.getUserItem('buddy', bid);
- if (data) {
+ if (data && data.res) {
// Display resources and corresponding information
var i, j, res, identities, identity = null,
cap, client;
@@ -3853,12 +3605,12 @@ jsxc.gui = {
$('[data-bid="' + bid + '"]').each(function() {
var el = $(this);
- el.attr('data-status', pres);
-
- if (el.find('.jsxc_avatar').length > 0) {
- el = el.find('.jsxc_avatar');
+ if (!el.hasClass('jsxc_statusIndicator')) {
+ el = el.find('.jsxc_statusIndicator');
}
+ el.attr('data-status', pres);
+
el.removeClass('jsxc_' + jsxc.CONST.STATUS.join(' jsxc_')).addClass('jsxc_' + pres);
});
},
@@ -5391,8 +5143,12 @@ jsxc.gui.window = {
$('[data-bid="' + bid + '"]').find('.jsxc_lastmsg .jsxc_text').html(msg);
}
- if (jsxc.Message.getDOM(uid).length > 0) {
- jsxc.Message.getDOM(uid).replaceWith(msgDiv);
+ var currentMessageElement = jsxc.Message.getDOM(uid);
+ if (currentMessageElement.length > 0) {
+ if (currentMessageElement.attr('data-queryId')) {
+ msgDiv.attr('data-queryId', currentMessageElement.attr('data-queryId'));
+ }
+ currentMessageElement.replaceWith(msgDiv);
} else {
win.find('.jsxc_textarea').append(msgDiv);
}
@@ -5406,7 +5162,7 @@ jsxc.gui.window = {
msgDiv.attr('data-bid', jsxc.jidToBid(message.sender.jid));
var data = jsxc.storage.getUserItem('buddy', jsxc.jidToBid(message.sender.jid)) || {};
- jsxc.gui.updateAvatar(msgDiv, jsxc.jidToBid(message.sender.jid), data.avatar);
+ jsxc.gui.avatar.update(msgDiv, jsxc.jidToBid(message.sender.jid), data.avatar);
title = jsxc.jidToBid(message.sender.jid);
}
@@ -5437,7 +5193,9 @@ jsxc.gui.window = {
jsxc.gui.detectUriScheme(win);
jsxc.gui.detectEmail(win);
- jsxc.gui.window.scrollDown(bid);
+ if (!message.forwarded) {
+ jsxc.gui.window.scrollDown(bid);
+ }
},
/**
@@ -5505,10 +5263,16 @@ jsxc.gui.window = {
jsxc.storage.setUserItem('history', bid, []);
+ var buddyData = jsxc.storage.getUserItem('buddy', bid) || {};
+ delete buddyData.lastArchiveUid;
+ delete buddyData.archiveExhausted;
+ jsxc.storage.setUserItem('buddy', bid, buddyData);
+
var win = jsxc.gui.window.get(bid);
if (win.length > 0) {
win.find('.jsxc_textarea').empty();
+ win.find('.jsxc_textarea').scroll();
}
},
@@ -5718,6 +5482,423 @@ jsxc.gui.template.get = function(name, bid, msg) {
};
/**
+ * @namespace jsxc.fileTransfer
+ * @type {Object}
+ */
+jsxc.fileTransfer = {};
+
+/**
+ * Make bytes more human readable.
+ *
+ * @memberOf jsxc.fileTransfer
+ * @param {Integer} byte
+ * @return {String}
+ */
+jsxc.fileTransfer.formatByte = function(byte) {
+ var s = ['', 'KB', 'MB', 'GB', 'TB'];
+ var i;
+
+ for (i = 1; i < s.length; i++) {
+ if (byte < 1024) {
+ break;
+ }
+ byte /= 1024;
+ }
+
+ return (Math.round(byte * 10) / 10) + s[i - 1];
+};
+
+/**
+ * Start file transfer dialog.
+ *
+ * @memberOf jsxc.fileTransfer
+ * @param {String} jid
+ */
+jsxc.fileTransfer.startGuiAction = function(jid) {
+ var bid = jsxc.jidToBid(jid);
+ var res = Strophe.getResourceFromJid(jid);
+
+ if (!res && !jsxc.xmpp.httpUpload.ready) {
+ jsxc.fileTransfer.selectResource(bid, jsxc.fileTransfer.startGuiAction);
+
+ return;
+ }
+
+ jsxc.fileTransfer.showFileSelection(jid);
+};
+
+/**
+ * Show select dialog for file transfer capable resources.
+ *
+ * @memberOf jsxc.fileTransfer
+ * @param {String} bid
+ * @param {Function} success_cb Called if user selects resource
+ * @param {Function} error_cb Called if no resource was found or selected
+ */
+jsxc.fileTransfer.selectResource = function(bid, success_cb, error_cb) {
+ var win = jsxc.gui.window.get(bid);
+ var jid = win.data('jid');
+ var res = Strophe.getResourceFromJid(jid);
+
+ var fileCapableRes = jsxc.webrtc.getCapableRes(jid, jsxc.webrtc.reqFileFeatures);
+ var resources = Object.keys(jsxc.storage.getUserItem('res', bid)) || [];
+
+ if (res === null && resources.length === 1 && fileCapableRes.length === 1) {
+ // only one resource is available and this resource is also capable to receive files
+ res = fileCapableRes[0];
+ jid = bid + '/' + res;
+
+ success_cb(jid);
+ } else if (fileCapableRes.indexOf(res) >= 0) {
+ // currently used resource is capable to receive files
+ success_cb(bid + '/' + res);
+ } else if (fileCapableRes.indexOf(res) < 0) {
+ // show selection dialog
+ jsxc.gui.window.selectResource(bid, $.t('Your_contact_uses_multiple_clients_'), function(data) {
+ if (data.status === 'unavailable') {
+ jsxc.gui.window.hideOverlay(bid);
+
+ if (typeof error_cb === 'function') {
+ error_cb();
+ }
+ } else if (data.status === 'selected') {
+ success_cb(bid + '/' + data.result);
+ }
+ }, fileCapableRes);
+ }
+};
+
+/**
+ * Show file selector.
+ *
+ * @memberOf jsxc.fileTransfer
+ * @param {String} jid
+ */
+jsxc.fileTransfer.showFileSelection = function(jid) {
+ var bid = jsxc.jidToBid(jid);
+ var msg = $('<div><div><label><input type="file" name="files" /><label></div></div>');
+ msg.addClass('jsxc_chatmessage');
+
+ jsxc.gui.window.showOverlay(bid, msg, true);
+
+ // open file selection for user
+ msg.find('label').click();
+
+ msg.find('[type="file"]').change(function(ev) {
+ var file = ev.target.files[0]; // FileList object
+
+ if (!file) {
+ return;
+ }
+
+ jsxc.fileTransfer.fileSelected(jid, msg, file);
+ });
+};
+
+/**
+ * Callback for file selector.
+ *
+ * @memberOf jsxc.fileTransfer
+ * @param {String} jid
+ * @param {jQuery} msg jQuery object of temporary file message
+ * @param {File} file selected file
+ */
+jsxc.fileTransfer.fileSelected = function(jid, msg, file) {
+ var bid = jsxc.jidToBid(jid);
+ var maxSize = jsxc.options.get('httpUpload').maxSize;
+
+ if (file.transportMethod !== 'webrtc' && jsxc.xmpp.httpUpload.ready && maxSize >= 0 && file.size > maxSize) {
+ jsxc.debug('File too large for http upload.');
+
+ file.transportMethod = 'webrtc';
+
+ jsxc.fileTransfer.selectResource(bid, function(jid) {
+ jsxc.fileTransfer.fileSelected(jid, msg, file);
+ }, function() {
+ var maxSize = jsxc.fileTransfer.formatByte(jsxc.options.get('httpUpload').maxSize);
+ var fileSize = jsxc.fileTransfer.formatByte(file.size);
+
+ jsxc.gui.window.postMessage({
+ bid: bid,
+ direction: jsxc.Message.SYS,
+ msg: $.t('File_too_large') + ' (' + fileSize + ' > ' + maxSize + ')'
+ });
+
+ jsxc.gui.window.hideOverlay(bid);
+ });
+
+ return;
+ } else if (!jsxc.xmpp.httpUpload.ready && Strophe.getResourceFromJid(jid)) {
+ // http upload not available
+ file.transportMethod = 'webrtc';
+ }
+
+ var attachment = $('<div>');
+ attachment.addClass('jsxc_attachment');
+ attachment.addClass('jsxc_' + file.type.replace(/\//, '-'));
+ attachment.addClass('jsxc_' + file.type.replace(/^([^/]+)\/.*/, '$1'));
+
+ msg.empty().append(attachment);
+
+ if (FileReader && file.type.match(/^image\//)) {
+ // show image preview
+ var img = $('<img alt="preview">').attr('title', file.name);
+ img.attr('src', jsxc.options.get('root') + '/img/loading.gif');
+ img.appendTo(attachment);
+
+ var reader = new FileReader();
+
+ reader.onload = function() {
+ img.attr('src', reader.result);
+ };
+
+ reader.readAsDataURL(file);
+ } else {
+ attachment.text(file.name + ' (' + file.size + ' byte)');
+ }
+
+ $('<button>').addClass('jsxc_btn jsxc_btn-primary').text($.t('Send')).click(function() {
+ // user confirmed file transfer
+ jsxc.gui.window.hideOverlay(bid);
+ msg.remove();
+
+ var message = jsxc.gui.window.postMessage({
+ bid: bid,
+ direction: 'out',
+ attachment: {
+ name: file.name,
+ size: file.size,
+ type: file.type,
+ data: (file.type.match(/^image\//)) ? img.attr('src') : null
+ }
+ });
+
+ if (file.transportMethod === 'webrtc') {
+ var sess = jsxc.webrtc.sendFile(jid, file);
+
+ sess.sender.on('progress', function(sent, size) {
+ jsxc.gui.window.updateProgress(message, sent, size);
+
+ if (sent === size) {
+ message.received();
+ }
+ });
+ } else {
+ // progress is updated in xmpp.httpUpload.uploadFile
+ jsxc.xmpp.httpUpload.sendFile(file, message);
+ }
+ }).appendTo(msg);
+
+ $('<button>').addClass('jsxc_btn jsxc_btn-default').text($.t('Abort')).click(function() {
+ // user aborted file transfer
+ jsxc.gui.window.hideOverlay(bid);
+ }).appendTo(msg);
+};
+
+/**
+ * Enable/disable icons for file transfer.
+ *
+ * @memberOf jsxc.fileTransfer
+ * @param {String} bid
+ */
+jsxc.fileTransfer.updateIcons = function(bid) {
+ var win = jsxc.gui.window.get(bid);
+
+ if (!win || win.length === 0 || !jsxc.xmpp.conn) {
+ return;
+ }
+
+ jsxc.debug('Update file transfer icons for ' + bid);
+
+ if (jsxc.xmpp.httpUpload.ready) {
+ win.find('.jsxc_sendFile').removeClass('jsxc_disabled');
+
+ return;
+ }
+
+ var jid = win.data('jid');
+ var res = Strophe.getResourceFromJid(jid);
+ var fileCapableRes = jsxc.webrtc.getCapableRes(bid, jsxc.webrtc.reqFileFeatures);
+ var resources = Object.keys(jsxc.storage.getUserItem('res', bid) || {}) || [];
+
+ if (fileCapableRes.indexOf(res) > -1 || (res === null && fileCapableRes.length === 1 && resources.length === 1)) {
+ win.find('.jsxc_sendFile').removeClass('jsxc_disabled');
+ } else {
+ win.find('.jsxc_sendFile').addClass('jsxc_disabled');
+ }
+};
+
+$(document).on('update.gui.jsxc', function(ev, bid) {
+ jsxc.fileTransfer.updateIcons(bid);
+});
+
+jsxc.gui.avatar = {
+ queue: [],
+
+ PLACEHOLDER: 0,
+
+ DELAY: 300,
+
+ CHUNKSIZE: 20,
+
+ timeout: null,
+
+ lastRun: 0
+};
+
+/**
+ * Update avatar on all given elements.
+ *
+ * @memberOf jsxc.gui
+ * @param {jQuery} el Elements with subelement .jsxc_avatar
+ * @param {string} jid Jid
+ * @param {string} aid Avatar id (sha1 hash of image)
+ */
+jsxc.gui.avatar.update = function(el, jid, aid) {
+ var self = jsxc.gui.avatar;
+
+ if (typeof aid === 'undefined') {
+ self.set(jid, el, self.PLACEHOLDER);
+ return;
+ }
+
+ var avatarSrc = jsxc.storage.getUserItem('avatar', aid);
+
+ if (!jsxc.master && !avatarSrc) {
+ // force avatar placeholder for slave tab, until master tab requested vCard
+ avatarSrc = self.PLACEHOLDER;
+ }
+
+ if (avatarSrc !== null) {
+ self.set(jid, el, avatarSrc);
+ } else {
+ var handler_cb = function(stanza) {
+ var src = jsxc.gui.avatar.getPhotoFromVcard(stanza);
+
+ jsxc.storage.setUserItem('avatar', aid, src);
+ self.set(jid, el, src);
+ };
+
+ var error_cb = function(msg) {
+ jsxc.warn('Could not load vcard.', msg);
+
+ jsxc.storage.setUserItem('avatar', aid, self.PLACEHOLDER);
+ self.set(jid, el, self.PLACEHOLDER);
+ };
+
+ var args = [];
+
+ // workaround for https://github.com/strophe/strophejs/issues/172
+ if (Strophe.getBareJidFromJid(jid) === Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid)) {
+ args = [handler_cb, error_cb];
+ } else {
+ args = [handler_cb, Strophe.getBareJidFromJid(jid), error_cb];
+ }
+
+ jsxc.gui.avatar.queueAction(jid, jsxc.xmpp.conn.vcard.get, args, jsxc.xmpp.conn.vcard);
+ }
+};
+
+jsxc.gui.avatar.getPhotoFromVcard = function(stanza) {
+ jsxc.debug('vCard', stanza);
+
+ var vCard = $(stanza).find("vCard > PHOTO");
+ var src;
+
+ if (vCard.length === 0) {
+ jsxc.debug('No photo provided');
+ src = '0';
+ } else if (vCard.find('EXTVAL').length > 0) {
+ src = vCard.find('EXTVAL').text();
+ } else {
+ var img = vCard.find('BINVAL').text();
+ var type = vCard.find('TYPE').text();
+ src = 'data:' + type + ';base64,' + img;
+ }
+
+ // concat chunks
+ src = src.replace(/[\t\r\n\f]/gi, '');
+
+ return src;
+};
+
+jsxc.gui.avatar.set = function(jid, el, src) {
+ var self = jsxc.gui.avatar;
+
+ if (src === self.PLACEHOLDER || src === '0') {
+ if (typeof jsxc.options.defaultAvatar === 'function') {
+ jsxc.gui.avatar.queueAction(jid, function() {
+ jsxc.options.defaultAvatar.call(el, jid);
+ });
+ return;
+ }
+ jsxc.gui.avatarPlaceholder(el.find('.jsxc_avatar'), jid);
+ return;
+ }
+
+ el.find('.jsxc_avatar').removeAttr('style');
+
+ el.find('.jsxc_avatar').css({
+ 'background-image': 'url(' + src + ')',
+ 'text-indent': '999px'
+ });
+};
+
+jsxc.gui.avatar.queueAction = function(jid, fn, args, context) {
+ var self = jsxc.gui.avatar;
+ var bid = jsxc.jidToBid(jid);
+ var data = jsxc.storage.getUserItem('buddy', bid) || {};
+ var state = data.status;
+
+ var index = self.queue.indexOf(bid);
+ if (index > -1) {
+ self.queue.splice(index, 1);
+ }
+
+ var action = {
+ fn: fn,
+ args: args || [],
+ context: context || this
+ };
+
+ if (state === 0) {
+ self.queue.push(action);
+ } else {
+ self.queue.unshift(action);
+ }
+
+ jsxc.gui.avatar.processQueue();
+};
+
+jsxc.gui.avatar.processQueue = function() {
+ var self = jsxc.gui.avatar;
+ var currentTime = (new Date()).getTime();
+
+ if (currentTime - self.lastRun < self.DELAY) {
+ if (!self.timeout) {
+ self.timeout = setTimeout(self.processQueue, self.DELAY);
+ }
+ return;
+ }
+
+ self.lastRun = currentTime;
+
+ var i, action;
+ for (i = 0; i < self.CHUNKSIZE; i++) {
+ if (self.queue.length > 0) {
+ action = self.queue.shift();
+ action.fn.apply(action.context, action.args);
+ }
+ }
+
+ if (self.queue.length > 0) {
+ self.timeout = setTimeout(self.processQueue, self.DELAY);
+ } else {
+ self.timeout = null;
+ }
+};
+
+/**
* Load message object with given uid.
*
* @class Message
@@ -6813,7 +6994,6 @@ jsxc.muc = {
var nickname = Strophe.unescapeNode(res);
var own = jsxc.storage.getUserItem('ownNicknames') || {};
var member = jsxc.storage.getUserItem('member', room) || {};
- var openWindow = false;
var codes = [];
xdata.find('status').each(function() {
@@ -6827,6 +7007,9 @@ jsxc.muc = {
if (roomdata.state === self.CONST.ROOMSTATE.INIT) {
// successfully joined
+ roomdata.status = jsxc.CONST.STATUS.indexOf('online');
+ jsxc.storage.setUserItem('buddy', room, roomdata);
+
jsxc.storage.setUserItem('roomNames', jsxc.xmpp.conn.muc.roomNames);
if (jsxc.gui.roster.getItem(room).length === 0) {
@@ -6839,8 +7022,9 @@ jsxc.muc = {
if ($('#jsxc_dialog').length > 0) {
// User joined the room manually
- openWindow = true;
jsxc.gui.dialog.close();
+
+ jsxc.gui.window.open(room);
}
}
@@ -6931,11 +7115,6 @@ jsxc.muc = {
$(document).trigger('status.muc.jsxc', [code, room, nickname, member[nickname] || {}, presence]);
});
- if (openWindow) {
- // we wait until all parameters are set up correctly (e.g. state)
- jsxc.gui.window.open(room);
- }
-
return true;
},
@@ -7231,15 +7410,14 @@ jsxc.muc = {
if (typeof jid === 'string') {
m.find('.jsxc_name').text(jsxc.jidToBid(jid));
- m.attr('data-bid', jsxc.jidToBid(jid));
title = title + '\n' + jsxc.jidToBid(jid);
var data = jsxc.storage.getUserItem('buddy', jsxc.jidToBid(jid));
if (data !== null && typeof data === 'object') {
- jsxc.gui.updateAvatar(m, jsxc.jidToBid(jid), data.avatar);
+ jsxc.gui.avatar.update(m, jsxc.jidToBid(jid), data.avatar);
} else if (jsxc.jidToBid(jid) === ownBid) {
- jsxc.gui.updateAvatar(m, jsxc.jidToBid(jid), 'own');
+ jsxc.gui.avatar.update(m, jsxc.jidToBid(jid), 'own');
}
} else {
m.find('.jsxc_name').text(nickname);
@@ -8272,9 +8450,7 @@ jsxc.options = {
* @param jid Jid of that user.
* @this {jQuery} Elements to update with probable .jsxc_avatar elements
*/
- defaultAvatar: function(jid) {
- jsxc.gui.avatarPlaceholder($(this).find('.jsxc_avatar'), jid);
- },
+ defaultAvatar: null,
/**
* This callback processes all settings.
@@ -8401,6 +8577,11 @@ jsxc.options = {
screenMediaExtension: {
firefox: '',
chrome: ''
+ },
+
+ mam: {
+ enable: true,
+ max: null
}
};
@@ -8441,6 +8622,7 @@ jsxc.otr = {
});
} else {
jsxc.gui.window.postMessage({
+ _uid: d._uid,
bid: bid,
direction: jsxc.Message.IN,
msg: d.msg,
@@ -8615,6 +8797,7 @@ jsxc.otr = {
// Receive message
jsxc.otr.objects[bid].on('ui', function(msg, encrypted, meta) {
jsxc.otr.receiveMessage({
+ _uid: meta._uid,
bid: bid,
msg: msg,
encrypted: encrypted === true,
@@ -8952,6 +9135,22 @@ jsxc.storage = {
SEP: ':',
+ hasSupport: function() {
+ if (typeof localStorage === 'undefined' || localStorage === null) {
+ return false;
+ }
+
+ try {
+ localStorage.setItem('jsxc:storage:test', 'jsxc');
+ localStorage.removeItem('jsxc:storage:test');
+ } catch (err) {
+ jsxc.warn('Can not save any data. Probably your quota exceeded or you use Safari in private Mode:', (err) ? err.message : undefined);
+ return false;
+ }
+
+ return true;
+ },
+
/**
* @param {type} uk Should we generate a user prefix?
* @returns {String} prefix
@@ -9001,7 +9200,11 @@ jsxc.storage = {
});
}
- localStorage.setItem(jsxc.storage.getPrefix(uk) + key, value);
+ try {
+ localStorage.setItem(jsxc.storage.getPrefix(uk) + key, value);
+ } catch (err) {
+ jsxc.error('An error occured while saving data.', (err) ? err.message : undefined);
+ }
},
setUserItem: function(type, key, value) {
@@ -9333,6 +9536,11 @@ jsxc.storage = {
var history = JSON.parse(e.newValue);
var uid, el, message;
+ if (!jsxc.master) {
+ var win = jsxc.gui.window.get(bid);
+ win.find('.jsxc_textarea').empty();
+ }
+
while (history.length > 0) {
uid = history.pop();
@@ -9341,7 +9549,7 @@ jsxc.storage = {
if (el.length === 0) {
if (jsxc.master && message.direction === jsxc.Message.OUT) {
- jsxc.xmpp.sendMessage(message.bid, message.msg, message._uid);
+ jsxc.xmpp.sendMessage(message);
}
jsxc.gui.window._postMessage(message, true);
@@ -10413,9 +10621,8 @@ jsxc.webrtc = {
* @param stream {mediastream}
*/
attachMediaStream: function(element, stream) {
- var self = jsxc.webrtc;
-
- self.conn.jingle.RTC.attachMediaStream((element instanceof jQuery) ? element.get(0) : element, stream);
+ var el = (element instanceof jQuery) ? element.get(0) : element;
+ el.srcObject = stream;
$(element).show();
},
@@ -10730,21 +10937,23 @@ jsxc.webrtc = {
}
try {
- self.conn.jingle.RTC.getUserMedia(constraints,
- function(stream) {
- jsxc.debug('onUserMediaSuccess');
- $(document).trigger('mediaready.jingle', [stream]);
- },
- function(error) {
- jsxc.warn('Failed to get access to local media. Error ', error);
- $(document).trigger('mediafailure.jingle', [error]);
- });
+ self.conn.jingle.getUserMedia(constraints, self.userMediaCallback);
} catch (e) {
jsxc.error('GUM failed: ', e);
$(document).trigger('mediafailure.jingle');
}
},
+ userMediaCallback: function(err, stream) {
+ if (err) {
+ jsxc.warn('Failed to get access to local media. Error ', err);
+ $(document).trigger('mediafailure.jingle', [err]);
+ } else if (stream) {
+ jsxc.debug('onUserMediaSuccess');
+ $(document).trigger('mediaready.jingle', [stream]);
+ }
+ },
+
/**
* Get screen media from local browser.
*
@@ -11515,8 +11724,6 @@ jsxc.xmpp.chatState.onComposing = function(ev, jid) {
return;
}
- clearTimeout(win.data('composing-timeout'));
-
// add user in array if necessary
var usersComposing = win.data('composing') || [];
if (usersComposing.indexOf(user) === -1) {
@@ -11524,25 +11731,8 @@ jsxc.xmpp.chatState.onComposing = function(ev, jid) {
win.data('composing', usersComposing);
}
- var textarea = win.find('.jsxc_textarea');
- var composingNotif = textarea.find('.jsxc_composing');
-
- if (composingNotif.length < 1) {
- // notification not present, add it
- composingNotif = $('<div>').addClass('jsxc_composing')
- .addClass('jsxc_chatmessage')
- .addClass('jsxc_sys')
- .appendTo(textarea);
- }
-
var msg = self._genComposingMsg(usersComposing);
- composingNotif.text(msg);
-
- // scroll to bottom
- jsxc.gui.window.scrollDown(bid);
-
- // show message
- composingNotif.addClass('jsxc_fadein');
+ jsxc.xmpp.chatState.setStatus(win, msg);
};
/**
@@ -11568,7 +11758,6 @@ jsxc.xmpp.chatState.onPaused = function(ev, jid) {
return;
}
- var el = win.find('.jsxc_composing');
var usersComposing = win.data('composing') || [];
if (usersComposing.indexOf(user) >= 0) {
@@ -11577,25 +11766,12 @@ jsxc.xmpp.chatState.onPaused = function(ev, jid) {
win.data('composing', usersComposing);
}
- if (usersComposing.length === 0) {
- var durationValue = el.css('transition-duration') || '0s';
- var duration = parseFloat(durationValue) || 0;
-
- if (durationValue.match(/[^m]s$/)) {
- duration *= 1000;
- }
-
- el.removeClass('jsxc_fadein');
-
- var to = setTimeout(function() {
- el.remove();
- }, duration);
-
- win.data('composing-timeout', to);
- } else {
- // update message
- el.text(self._genComposingMsg(usersComposing));
+ var composingMsg;
+ if (usersComposing.length !== 0) {
+ composingMsg = self._genComposingMsg(usersComposing);
}
+
+ jsxc.xmpp.chatState.setStatus(win, composingMsg);
};
/**
@@ -11683,7 +11859,22 @@ jsxc.xmpp.chatState._genComposingMsg = function(usersComposing) {
return '';
} else {
return usersComposing.length > 1 ? usersComposing.join(', ') + $.t('_are_composing') :
- usersComposing[0] + $.t('_is_composing');
+ $.t('_is_composing');
+ }
+};
+
+jsxc.xmpp.chatState.setStatus = function(win, msg) {
+ var statusMsgElement = win.find('.jsxc_status-msg');
+
+ statusMsgElement.text(msg || '');
+ statusMsgElement.attr('title', msg || '');
+
+ if (msg) {
+ statusMsgElement.addClass('jsxc_composing');
+ win.addClass('jsxc_status-msg-show');
+ } else {
+ statusMsgElement.removeClass('jsxc_composing');
+ win.removeClass('jsxc_status-msg-show');
}
};
@@ -11760,11 +11951,7 @@ jsxc.xmpp.httpUpload.init = function(o) {
return;
}
- if (caps.hasFeatureByJid(domain, self.CONST.NS.HTTPUPLOAD)) {
- self.discoverUploadService();
- } else {
- jsxc.debug(domain + ' does not support http upload');
- }
+ self.discoverUploadService();
};
/**
@@ -11774,12 +11961,15 @@ jsxc.xmpp.httpUpload.init = function(o) {
*/
jsxc.xmpp.httpUpload.discoverUploadService = function() {
var self = jsxc.xmpp.httpUpload;
+ var domain = self.conn.domain;
jsxc.debug('discover http upload service');
- self.queryItemForUploadService(self.conn.domain);
+ if (jsxc.xmpp.conn.caps.hasFeatureByJid(domain, self.CONST.NS.HTTPUPLOAD)) {
+ self.queryItemForUploadService(domain);
+ }
- self.conn.disco.items(self.conn.domain, null, function(items) {
+ self.conn.disco.items(domain, null, function(items) {
$(items).find('item').each(function() {
var jid = $(this).attr('jid');
@@ -11815,7 +12005,7 @@ jsxc.xmpp.httpUpload.queryItemForUploadService = function(jid, cb) {
jsxc.options.set('httpUpload', {
server: jid,
name: $(info).find('identity').attr('name'),
- maxSize: parseInt(httpUploadMaxSize.text())
+ maxSize: parseInt(httpUploadMaxSize.text()) || -1
});
self.ready = true;
@@ -12026,6 +12216,224 @@ $(document).on('stateChange.jsxc', function(ev, state) {
}
});
+/**
+ * Implements XEP-0313: Message Archive Management.
+ *
+ * @namespace jsxc.xmpp.mam
+ * @see {@link https://xmpp.org/extensions/xep-0313.html}
+ */
+jsxc.xmpp.mam = {
+ conn: null
+};
+
+jsxc.xmpp.mam.init = function() {
+ var self = jsxc.xmpp.mam;
+
+ self.conn = jsxc.xmpp.conn;
+};
+
+jsxc.xmpp.mam.isEnabled = function() {
+ var mamOptions = jsxc.options.get('mam') || {};
+
+ var features = jsxc.storage.getUserItem('features') || [];
+ var hasFeatureMam2 = features.indexOf(Strophe.NS.MAM) >= 0;
+
+ return hasFeatureMam2 && mamOptions.enable;
+};
+
+jsxc.xmpp.mam.nextMessages = function(bid) {
+ var self = jsxc.xmpp.mam;
+ var buddyData = jsxc.storage.getUserItem('buddy', bid) || {};
+ var lastArchiveUid = buddyData.lastArchiveUid;
+ var queryId = self.conn.getUniqueId();
+ var mamOptions = jsxc.options.get('mam') || {};
+ var history = jsxc.storage.getUserItem('history', bid) || [];
+
+ if (buddyData.archiveExhausted) {
+ jsxc.debug('No more archived messages.');
+ return;
+ }
+
+ var queryOptions = {
+ queryid: queryId,
+ before: lastArchiveUid || '',
+ with: bid,
+ onMessage: function() {
+ var args = Array.from(arguments);
+ args.unshift(bid);
+ self.onMessage.apply(this, args);
+ return true;
+ },
+ onComplete: function() {
+ var args = Array.from(arguments);
+ args.unshift(bid);
+ self.onComplete.apply(this, args);
+ return true;
+ }
+ };
+
+ var oldestMessageId = history[history.length - 1];
+
+ if (oldestMessageId && !lastArchiveUid) {
+ var oldestMessage = new jsxc.Message(oldestMessageId);
+ queryOptions.end = (new Date(oldestMessage.stamp)).toISOString();
+ }
+
+ if (mamOptions.max) {
+ queryOptions.max = mamOptions.max;
+ }
+
+ self.conn.mam.query(undefined, queryOptions);
+};
+
+jsxc.xmpp.mam.onMessage = function(bid, stanza) {
+ stanza = $(stanza);
+ var result = stanza.find('result[xmlns="' + Strophe.NS.MAM + '"]');
+ var queryId = result.attr('queryid');
+
+ if (result.length !== 1) {
+ return;
+ }
+
+ var forwarded = result.find('forwarded[xmlns="' + jsxc.CONST.NS.FORWARD + '"]');
+ var message = forwarded.find('message');
+ var messageId = $(message).attr('id');
+
+ if (message.length !== 1) {
+ return;
+ }
+
+ var from = message.attr('from');
+ var to = message.attr('to');
+
+ if (jsxc.jidToBid(from) !== bid && jsxc.jidToBid(to) !== bid) {
+ return;
+ }
+
+ var delay = forwarded.find('delay[xmlns="urn:xmpp:delay"]');
+ var stamp = (delay.length > 0) ? new Date(delay.attr('stamp')) : new Date();
+ stamp = stamp.getTime();
+
+ var body = $(message).find('body:first').text();
+
+ if (!body || body.match(/\?OTR/i)) {
+ return true;
+ }
+
+ var direction = (jsxc.jidToBid(to) === bid) ? jsxc.Message.OUT : jsxc.Message.IN;
+
+ var win = jsxc.gui.window.get(bid);
+ var textarea = win.find('.jsxc_textarea');
+ if (textarea.find('[id="' + messageId + '"]').length === 0) {
+ var pseudoChatElement = $('<div>');
+ pseudoChatElement.attr('id', messageId.replace(/:/g, '-'));
+ pseudoChatElement.attr('data-queryId', queryId);
+
+ var lastMessage = textarea.find('[data-queryId="' + queryId + '"]').last();
+ var history = jsxc.storage.getUserItem('history', bid) || [];
+
+ if (history.indexOf(messageId) < 0) {
+ if (lastMessage.length === 0) {
+ textarea.prepend(pseudoChatElement);
+ history.push(messageId);
+ } else {
+ lastMessage.after(pseudoChatElement);
+ history.splice(history.indexOf(lastMessage.attr('id').replace(/-/g, ':')), 0, messageId);
+ }
+ }
+
+ jsxc.storage.setUserItem('history', bid, history);
+ }
+
+ jsxc.gui.window.postMessage({
+ _uid: messageId,
+ bid: bid,
+ direction: direction,
+ msg: body,
+ encrypted: false,
+ forwarded: true,
+ stamp: stamp
+ });
+};
+
+jsxc.xmpp.mam.onComplete = function(bid, stanza) {
+ stanza = $(stanza);
+ var fin = stanza.find('fin[xmlns="' + Strophe.NS.MAM + '"]');
+ var buddyData = jsxc.storage.getUserItem('buddy', bid) || {};
+ var win = jsxc.gui.window.get(bid);
+
+ buddyData.archiveExhausted = fin.attr('complete') === 'true';
+ buddyData.lastArchiveUid = fin.find('first').text();
+
+ if (buddyData.archiveExhausted) {
+ win.find('.jsxc_fade').removeClass('jsxc_mam-enable');
+ }
+
+ jsxc.storage.setUserItem('buddy', bid, buddyData);
+};
+
+jsxc.xmpp.mam.initWindow = function(ev, win) {
+ var self = jsxc.xmpp.mam;
+
+ if (!jsxc.xmpp.conn && jsxc.master) {
+ $(document).one('attached.jsxc', function() {
+ self.initWindow(null, win);
+ });
+ return;
+ }
+
+ if (!jsxc.master) {
+ return;
+ }
+
+ $(document).on('features.jsxc', function() {
+ jsxc.xmpp.mam.addLoadButton(win);
+ });
+
+ var features = jsxc.storage.getUserItem('features');
+ if (features !== null) {
+ // features.jsxc was already fired
+ jsxc.xmpp.mam.addLoadButton(win);
+ }
+};
+
+jsxc.xmpp.mam.addLoadButton = function(win) {
+ if (!jsxc.xmpp.mam.isEnabled()) {
+ return;
+ }
+
+ var classNameShow = 'jsxc_show';
+ var classNameMamEnable = 'jsxc_mam-enable';
+ var bid = win.attr('data-bid');
+
+ var element = $('<div>');
+ element.addClass('jsxc_mam-load-more');
+ element.appendTo(win.find('.slimScrollDiv'));
+ element.click(function() {
+ jsxc.xmpp.mam.nextMessages(bid);
+ });
+ element.text($.t('Load_older_messages'));
+
+ win.find('.jsxc_textarea').scroll(function() {
+ var buddyData = jsxc.storage.getUserItem('buddy', bid) || {};
+
+ if (this.scrollTop < 42 && !buddyData.archiveExhausted) {
+ element.addClass(classNameShow);
+ } else {
+ element.removeClass(classNameShow);
+ }
+
+ if (!buddyData.archiveExhausted) {
+ win.find('.jsxc_fade').addClass(classNameMamEnable);
+ }
+ });
+
+ win.find('.jsxc_textarea').scroll();
+};
+
+$(document).on('attached.jsxc', jsxc.xmpp.mam.init);
+$(document).on('init.window.jsxc', jsxc.xmpp.mam.initWindow);
+
jsxc.gui.template['aboutDialog'] = '<h3>JavaScript XMPP Chat</h3>\n' +
@@ -12047,7 +12455,7 @@ jsxc.gui.template['aboutDialog'] = '<h3>JavaScript XMPP Chat</h3>\n' +
'</p>\n' +
'<p class="jsxc_libraries">\n' +
' <b>Libraries: </b>\n' +
-' <a href="http://strophe.im/strophejs/">strophe.js</a> (multiple), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/muc</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/disco</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/caps</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/vcard</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins/tree/master/bookmarks">strophe.js/bookmarks</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins/tree/master/dataforms">strophe.js/x</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins/tree/master/chatstates">strophe.js/chatstates</a> (MIT), <a href="https://github.com/sualko/strophe.jinglejs">strophe.jinglejs</a> (MIT), <a href="https://github.com/neoatlantis/node-salsa20">Salsa20</a> (AGPL3), <a href="www.leemon.com">bigint</a> (public domain), <a href="code.google.com/p/crypto-js">cryptojs</a> (code.google.com/p/crypto-js/wiki/license), <a href="http://git.io/ee">eventemitter</a> (MIT), <a href="https://arlolra.github.io/otr/">otr.js</a> (MPL v2.0), <a href="http://i18next.com/">i18next</a> (MIT), <a href="http://i18next.com/">jquery-i18next</a> (MIT), <a href="http://dimsemenov.com/plugins/magnific-popup/">Magnific Popup</a> (MIT), <a href="https://github.com/ejci/favico.js">favico.js</a> (MIT), <a href="http://emojione.com">emoji one</a> (CC-BY 4.0)\n' +
+' <a href="http://strophe.im/strophejs/">strophe.js</a> (multiple), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/muc</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/disco</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/caps</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/vcard</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins/tree/master/bookmarks">strophe.js/bookmarks</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins/tree/master/dataforms">strophe.js/x</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins/tree/master/chatstates">strophe.js/chatstates</a> (MIT), <a href="https://github.com/strophe/strophejs-plugin-mam">strophe.js/mam</a> (MIT), <a href="https://github.com/strophe/strophejs-plugin-rsm">strophe.js/rsm</a> (MIT), <a href="https://github.com/sualko/strophe.jinglejs">strophe.jinglejs</a> (MIT), <a href="https://github.com/neoatlantis/node-salsa20">Salsa20</a> (AGPL3), <a href="www.leemon.com">bigint</a> (public domain), <a href="code.google.com/p/crypto-js">cryptojs</a> (code.google.com/p/crypto-js/wiki/license), <a href="http://git.io/ee">eventemitter</a> (MIT), <a href="https://arlolra.github.io/otr/">otr.js</a> (MPL v2.0), <a href="http://i18next.com/">i18next</a> (MIT), <a href="http://i18next.com/">jquery-i18next</a> (MIT), <a href="http://dimsemenov.com/plugins/magnific-popup/">Magnific Popup</a> (MIT), <a href="https://github.com/ejci/favico.js">favico.js</a> (MIT), <a href="http://emojione.com">emoji one</a> (CC-BY 4.0)\n' +
'</p>\n' +
'\n' +
'<button class="btn btn-default pull-right jsxc_debuglog">Show debug log</button>\n' +
@@ -12187,7 +12595,7 @@ jsxc.gui.template['bookmarkDialog'] = '<h3 data-i18n="Edit_bookmark"></h3>\n' +
jsxc.gui.template['chatWindow'] = '<li class="jsxc_windowItem">\n' +
' <div class="jsxc_window">\n' +
' <div class="jsxc_bar">\n' +
-' <div class="jsxc_avatar"></div>\n' +
+' <div class="jsxc_avatar jsxc_statusIndicator"></div>\n' +
' <div class="jsxc_tools">\n' +
' <div class="jsxc_settings">\n' +
' <div class="jsxc_more"></div>\n' +
@@ -12219,6 +12627,7 @@ jsxc.gui.template['chatWindow'] = '<li class="jsxc_windowItem">\n' +
' <span class="jsxc_unread" />\n' +
' <span class="jsxc_text" />\n' +
' </div>\n' +
+' <div class="jsxc_status-msg" />\n' +
' </div>\n' +
' </div>\n' +
' <div class="jsxc_fade">\n' +
@@ -12407,7 +12816,7 @@ jsxc.gui.template['removeDialog'] = '<h3 data-i18n="Remove_buddy"></h3>\n' +
jsxc.gui.template['roster'] = '<div id="jsxc_roster">\n' +
' <ul id="jsxc_buddylist"></ul>\n' +
' <div class="jsxc_bottom jsxc_presence jsxc_rosteritem" data-bid="own">\n' +
-' <div id="jsxc_avatar" class="jsxc_avatar" />\n' +
+' <div id="jsxc_avatar" class="jsxc_avatar jsxc_statusIndicator" />\n' +
' <div id="jsxc_menu">\n' +
' <span></span>\n' +
' <div class="jsxc_inner">\n' +
@@ -12446,7 +12855,7 @@ jsxc.gui.template['roster'] = '<div id="jsxc_roster">\n' +
'';
jsxc.gui.template['rosterBuddy'] = '<li class="jsxc_rosteritem">\n' +
-' <div class="jsxc_avatar"></div>\n' +
+' <div class="jsxc_avatar jsxc_statusIndicator"></div>\n' +
' <div class="jsxc_more" />\n' +
' <div class="jsxc_caption">\n' +
' <div class="jsxc_name" />\n' +
@@ -12674,4 +13083,4 @@ jsxc.gui.template['windowList'] = '<div id="jsxc_windowList">\n' +
'</div>\n' +
'';
-}(jQuery)); \ No newline at end of file
+}(jQuery));
diff --git a/build/jsxc.min.js b/build/jsxc.min.js
index faa4fc93..a399363f 100644
--- a/build/jsxc.min.js
+++ b/build/jsxc.min.js
@@ -1,5 +1,5 @@
/*!
- * jsxc v3.1.1 - 2017-02-14
+ * jsxc v3.2.0-nightly.1 - 2017-03-20
*
* Copyright (c) 2017 Klaus Herberth <klaus@jsxc.org> <br>
* Released under the MIT license
@@ -7,14 +7,14 @@
* Please see http://www.jsxc.org/
*
* @author Klaus Herberth <klaus@jsxc.org>
- * @version 3.1.1
+ * @version 3.2.0-nightly.1
* @license MIT
*/
-var jsxc=null,RTC=null,RTCPeerconnection=null;!function($){"use strict";jsxc={version:"3.1.1",master:!1,role_allocation:!1,to:[],toBusy:null,toNotification:null,toNotificationDelay:500,keepaliveInterval:null,reconnect:!1,restoreCompleted:!1,triggeredFromBox:!1,triggeredFromElement:!1,triggeredFromLogout:!1,ls:[],storageNotConform:null,toSNC:null,bid:null,currentState:null,currentUIState:null,CONST:{NOTIFICATION_DEFAULT:"default",NOTIFICATION_GRANTED:"granted",NOTIFICATION_DENIED:"denied",STATUS:["offline","dnd","xa","away","chat","online"],SOUNDS:{MSG:"incomingMessage.wav",CALL:"Rotary-Phone6.mp3",NOTICE:"Ping1.mp3"},REGEX:{JID:new RegExp("\\b[^\"&'\\/:<>@\\s]+@[\\w-_.]+\\b","ig"),URL:new RegExp(/(https?:\/\/|www\.)[^\s<>'"]+/gi)},NS:{CARBONS:"urn:xmpp:carbons:2",FORWARD:"urn:xmpp:forward:0"},HIDDEN:"hidden",SHOWN:"shown",STATE:{INITIATING:0,PREVCONFOUND:1,SUSPEND:2,TRYTOINTERCEPT:3,INTERCEPTED:4,ESTABLISHING:5,READY:6},UISTATE:{INITIATING:0,READY:1}},getFormattedTime:function(unixtime){var msgDate=new Date(parseInt(unixtime)),day=("0"+msgDate.getDate()).slice(-2),month=("0"+(msgDate.getMonth()+1)).slice(-2),year=msgDate.getFullYear(),hours=("0"+msgDate.getHours()).slice(-2),minutes=("0"+msgDate.getMinutes()).slice(-2),dateNow=new Date,date="function"==typeof msgDate.toLocaleDateString?msgDate.toLocaleDateString():day+"."+month+"."+year,time="function"==typeof msgDate.toLocaleTimeString?msgDate.toLocaleTimeString():hours+":"+minutes;return dateNow.setHours(0,0,0,0),msgDate.setHours(0,0,0,0),dateNow.getTime()!==msgDate.getTime()?date+" "+time:time},debug:function(msg,data,level){if(level&&(msg="["+level+"] "+msg),data){jsxc.storage.getItem("debug")===!0&&console.log(msg,data);var d;try{d=$("<span>").prepend($(data).clone()).html()}catch(err){try{d=JSON.stringify(data)}catch(err2){d="see js console"}}jsxc.log=jsxc.log+"$ "+msg+": "+d+"\n"}else console.log(msg),jsxc.log=jsxc.log+"$ "+msg+"\n"},warn:function(msg,data){jsxc.debug(msg,data,"WARN")},error:function(msg,data){jsxc.debug(msg,data,"ERROR")},log:"",init:function(options){if(jsxc.changeState(jsxc.CONST.STATE.INITIATING),options&&options.loginForm&&"boolean"==typeof options.loginForm.attachIfFound&&!options.loginForm.ifFound&&(options.loginForm.ifFound=options.loginForm.attachIfFound?"attach":"pause"),options&&$.extend(!0,jsxc.options,options),"undefined"==typeof localStorage)return void jsxc.warn("Browser doesn't support localStorage.");jsxc.options.get=function(key){if(jsxc.bid){var local=jsxc.storage.getUserItem("options")||{};return"undefined"!=typeof local[key]?local[key]:jsxc.options[key]}return jsxc.options[key]},jsxc.options.set=function(key,value){jsxc.storage.updateItem("options",key,value,!0)},jsxc.storageNotConform=jsxc.storage.getItem("storageNotConform"),null===jsxc.storageNotConform&&(jsxc.storageNotConform=2);var lang;lang=null!==jsxc.storage.getItem("lang")?jsxc.storage.getItem("lang"):jsxc.options.autoLang&&navigator.languages&&navigator.languages.length>0?navigator.languages[0].substr(0,2):jsxc.options.autoLang&&navigator.language?navigator.language.substr(0,2):jsxc.options.defaultLang,window.i18next.init({lng:lang,fallbackLng:"en",resources:I18next,debug:jsxc.storage.getItem("debug")===!0,interpolation:{prefix:"__",suffix:"__"}},function(){window.jqueryI18next.init(window.i18next,$,{tName:"t",i18nName:"i18next",handleName:"localize"})}),jsxc.storage.getItem("debug")===!0&&(jsxc.options.otr.debug=!0),window.addEventListener("storage",jsxc.storage.onStorage,!1),$(document).on("attached.jsxc",jsxc.registerLogout);var isStorageAttachParameters=jsxc.storage.getItem("rid")&&jsxc.storage.getItem("sid")&&jsxc.storage.getItem("jid"),isOptionsAttachParameters=jsxc.options.xmpp.rid&&jsxc.options.xmpp.sid&&jsxc.options.xmpp.jid,isForceLoginForm=jsxc.options.loginForm&&"force"===jsxc.options.loginForm.ifFound&&jsxc.isLoginForm();if(!isStorageAttachParameters&&!isOptionsAttachParameters||isForceLoginForm){if(jsxc.storage.removeItem("rid"),jsxc.storage.removeItem("sid"),!jsxc.isLoginForm())return jsxc.changeState(jsxc.CONST.STATE.SUSPEND),void(jsxc.options.displayRosterMinimized()&&(jsxc.storage.setUserItem("roster","hidden"),jsxc.gui.roster.init(),jsxc.gui.roster.noConnection()));jsxc.changeState(jsxc.CONST.STATE.TRYTOINTERCEPT),"function"==typeof jsxc.options.formFound&&jsxc.options.formFound.call();var form=jsxc.options.loginForm.form=$(jsxc.options.loginForm.form),events=form.data("events")||{submit:[]},submits=[];$.each(events.submit,function(index,val){submits.push(val.handler)}),form.data("submits",submits),form.off("submit"),form.submit(function(ev){return ev.preventDefault(),jsxc.prepareLogin(function(settings){if(settings!==!1){var enabled=settings.loginForm&&settings.loginForm.enable||settings.xmpp&&settings.xmpp.onlogin;if(enabled="true"===enabled||enabled===!0)return jsxc.options.loginForm.triggered=!0,void jsxc.xmpp.login(jsxc.options.xmpp.jid,jsxc.options.xmpp.password)}jsxc.submitLoginForm()}),!1}),jsxc.changeState(jsxc.CONST.STATE.INTERCEPTED)}else(!jsxc.isLoginForm()||jsxc.options.loginForm&&"attach"===jsxc.options.loginForm.ifFound)&&(jsxc.changeState(jsxc.CONST.STATE.PREVCONFOUND),"undefined"==typeof jsxc.storage.getItem("alive")?jsxc.onMaster():jsxc.checkMaster())},start:function(){var args=arguments;return jsxc.role_allocation&&!jsxc.master?(jsxc.debug("There is an other master tab"),!1):jsxc.xmpp.conn&&jsxc.xmpp.connected?(jsxc.debug("We are already connected"),!1):(3===args.length&&$(document).one("attached.jsxc",function(){jsxc.xmpp.onRidChange(jsxc.xmpp.conn._proto.rid),jsxc.onMaster()}),void jsxc.checkMaster(function(){jsxc.xmpp.login.apply(this,args)}))},registerLogout:function(){if(null!==jsxc.options.logoutElement&&$(jsxc.options.logoutElement).length>0){var logout=function(ev){ev.stopPropagation(),ev.preventDefault(),jsxc.options.logoutElement=$(this),jsxc.triggeredFromLogout=!0,jsxc.xmpp.logout()};jsxc.options.logoutElement=$(jsxc.options.logoutElement),jsxc.options.logoutElement.off("click",null,logout).one("click",logout)}},isLoginForm:function(){return jsxc.options.loginForm.form&&jsxc.el_exists(jsxc.options.loginForm.form)&&jsxc.el_exists(jsxc.options.loginForm.jid)&&jsxc.el_exists(jsxc.options.loginForm.pass)},prepareLogin:function(username,password,cb){"function"==typeof username&&(cb=username,username=null),username=username||$(jsxc.options.loginForm.jid).val(),password=password||$(jsxc.options.loginForm.pass).val(),jsxc.triggeredFromBox||"dialog"!==jsxc.options.loginForm.onConnecting&&"undefined"!=typeof jsxc.options.loginForm.onConnecting||jsxc.gui.showWaitAlert($.t("Logging_in"));var settings;"function"==typeof jsxc.options.loadSettings?(settings=jsxc.options.loadSettings.call(this,username,password,function(s){jsxc._prepareLogin(username,password,cb,s)}),"undefined"!=typeof settings&&jsxc._prepareLogin(username,password,cb,settings)):jsxc._prepareLogin(username,password,cb)},_prepareLogin:function(username,password,cb,loadedSettings){if(loadedSettings===!1)return jsxc.warn("No settings provided"),void cb(!1);var settings=$.extend(!0,{},jsxc.options);loadedSettings?settings=$.extend(!0,settings,loadedSettings):loadedSettings={},"string"==typeof settings.xmpp.username&&(username=settings.xmpp.username);var jid,resource=settings.xmpp.resource?"/"+settings.xmpp.resource:"",domain=settings.xmpp.domain;jid=username.match(/@(.*)$/)?username.match(/\/(.*)$/)?username:username+resource:username+"@"+domain+resource,"function"==typeof jsxc.options.loginForm.preJid&&(jid=jsxc.options.loginForm.preJid(jid)),jsxc.bid=jsxc.jidToBid(jid),settings.xmpp.username=jid.split("@")[0],settings.xmpp.domain=jid.split("@")[1].split("/")[0],settings.xmpp.resource=jid.split("@")[1].split("/")[1]||"",loadedSettings.xmpp||(loadedSettings.xmpp={}),$.each(loadedSettings,function(key){var old=jsxc.options.get(key),val=settings[key];val=$.extend(!0,old,val),jsxc.options.set(key,val)}),jsxc.options.xmpp.jid=jid,jsxc.options.xmpp.password=password,cb(settings)},onSlave:function(){jsxc.debug("I am the slave."),jsxc.role_allocation=!0,jsxc.bid=jsxc.jidToBid(jsxc.storage.getItem("jid")),jsxc.gui.init(),$("#jsxc_roster").removeClass("jsxc_noConnection"),jsxc.registerLogout(),jsxc.gui.updateAvatar($("#jsxc_roster > .jsxc_bottom"),jsxc.jidToBid(jsxc.storage.getItem("jid")),"own"),jsxc.gui.restore()},onMaster:function(){jsxc.debug("I am master."),jsxc.master=!0,jsxc.storage.setItem("alive",0),jsxc.storage.setItem("alive_busy",0),jsxc.startKeepAlive(),jsxc.role_allocation=!0,jsxc.xmpp.login()},checkMaster:function(cb){jsxc.debug("check master"),cb=cb&&"function"==typeof cb?cb:jsxc.onMaster,"undefined"==typeof jsxc.storage.getItem("alive")?cb.call():(jsxc.to.push(window.setTimeout(cb,1e3)),jsxc.keepAlive("slave"))},masterActions:function(){if(jsxc.xmpp.conn&&jsxc.xmpp.conn.authenticated){var noti=jsxc.storage.getUserItem("notification");noti="number"==typeof noti?noti:2,jsxc.options.notification&&noti>0&&jsxc.notification.hasSupport()?jsxc.notification.hasPermission()?jsxc.notification.init():jsxc.notification.prepareRequest():jsxc.options.notification=!1,jsxc.options.get("otr").enable&&jsxc.otr.createDSA(),jsxc.gui.updateAvatar($("#jsxc_roster > .jsxc_bottom"),jsxc.jidToBid(jsxc.storage.getItem("jid")),"own")}},startKeepAlive:function(){jsxc.keepaliveInterval=window.setInterval(jsxc.keepAlive,jsxc.options.timeout-1e3)},keepAlive:function(role){var next=parseInt(jsxc.storage.getItem("alive"))+1;role=role||"master",jsxc.storage.setItem("alive",next+":"+role)},keepBusyAlive:function(){jsxc.toBusy&&window.clearTimeout(jsxc.toBusy),jsxc.keepaliveInterval&&window.clearInterval(jsxc.keepaliveInterval),jsxc.storage.ink("alive_busy"),jsxc.toBusy=window.setTimeout(jsxc.startKeepAlive,jsxc.options.busyTimeout-1e3)},random:function(max){return Math.floor(Math.random()*max)},el_exists:function(selector){return $(selector).length>0},jidToCid:function(jid){jsxc.warn("jsxc.jidToCid is deprecated!");var cid=Strophe.getBareJidFromJid(jid).replace("@","-").replace(/\./g,"-").toLowerCase();return cid},jidToBid:function(jid){return Strophe.unescapeNode(Strophe.getBareJidFromJid(jid).toLowerCase())},restoreRoster:function(){var buddies=jsxc.storage.getUserItem("buddylist");return buddies&&0!==buddies.length?($.each(buddies,function(index,value){jsxc.gui.roster.add(value)}),jsxc.gui.roster.loaded=!0,void $(document).trigger("cloaded.roster.jsxc")):(jsxc.debug("No saved buddylist."),void jsxc.gui.roster.empty())},restoreWindows:function(){var windows=jsxc.storage.getUserItem("windowlist");null!==windows&&$.each(windows,function(index,bid){var win=jsxc.storage.getUserItem("window",bid);return win?(jsxc.gui.window.init(bid),win.minimize?jsxc.gui.window.hide(bid):jsxc.gui.window.show(bid),void jsxc.gui.window.setText(bid,win.text)):(jsxc.debug("Associated window-element is missing: "+bid),!0)})},submitLoginForm:function(){var form=$(jsxc.options.loginForm.form).off("submit"),submits=form.data("submits")||[];$.each(submits,function(index,val){form.submit(val)}),form.find("#submit").length>0?form.find("#submit").click():form.get(0)&&"function"==typeof form.get(0).submit?form.submit():form.find('[type="submit"]').length>0?form.find('[type="submit"]').click():jsxc.warn("Could not submit login form.")},escapeHTML:function(text){return text=text.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">"),text.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},removeHTML:function(text){return $("<span>").html(text).text()},switchEvents:function(obj){var ns=Math.random().toString(36).substr(2,12),self=this;return $.each(obj,function(key,val){$(document).one(key+"."+ns,function(){$(document).off("."+ns),val.apply(self,arguments)})}),ns},isHidden:function(){var hidden=!1;return"undefined"!=typeof document.hidden?hidden=document.hidden:"undefined"!=typeof document.webkitHidden?hidden=document.webkitHidden:"undefined"!=typeof document.mozHidden?hidden=document.mozHidden:"undefined"!=typeof document.msHidden&&(hidden=document.msHidden),hidden&&jsxc.master?jsxc.storage.ink("hidden",0):hidden||jsxc.master||jsxc.storage.ink("hidden"),hidden},hasFocus:function(){var focus=!0;return"function"==typeof document.hasFocus&&(focus=document.hasFocus()),!focus&&jsxc.master?jsxc.storage.ink("focus",0):focus&&!jsxc.master&&jsxc.storage.ink("focus"),focus},exec:function(fnName,fnParams){var i,fnList=fnName.split("."),fn=jsxc[fnList[0]];for(i=1;i<fnList.length;i++)fn=fn[fnList[i]];if("function"==typeof fn)return fn.apply(null,fnParams)},hashStr:function(str){var i,hash=0;if(0===str.length)return hash;for(i=0;i<str.length;i++)hash=(hash<<5)-hash+str.charCodeAt(i),hash|=0;return hash},isExtraSmallDevice:function(){return $(window).width()<500},changeState:function(state){jsxc.currentState=state,jsxc.debug("State changed to "+Object.keys(jsxc.CONST.STATE)[state]),$(document).trigger("stateChange.jsxc",state)},changeUIState:function(state){jsxc.currentUIState=state,jsxc.debug("UI State changed to "+Object.keys(jsxc.CONST.UISTATE)[state]),$(document).trigger("stateUIChange.jsxc",state)}},jsxc.xmpp={conn:null,login:function(){if(jsxc.xmpp.conn&&jsxc.xmpp.conn.authenticated)return void jsxc.debug("Connection already authenticated.");var jid=null,password=null,sid=null,rid=null;switch(arguments.length){case 2:jid=arguments[0],password=arguments[1];break;case 3:jid=arguments[0],sid=arguments[1],rid=arguments[2];break;default:sid=jsxc.storage.getItem("sid"),rid=jsxc.storage.getItem("rid"),null!==sid&&null!==rid?jid=jsxc.storage.getItem("jid"):(sid=jsxc.options.xmpp.sid||null,rid=jsxc.options.xmpp.rid||null,jid=jsxc.options.xmpp.jid)}if(!jid)return void jsxc.warn("Jid required for login");jsxc.bid||(jsxc.bid=jsxc.jidToBid(jid));var url=jsxc.options.get("xmpp").url;if(!url)return void jsxc.warn("xmpp.url required for login");jsxc.xmpp.conn&&jsxc.xmpp.conn.connected||($(document).on("connected.jsxc",jsxc.xmpp.connected),$(document).on("attached.jsxc",jsxc.xmpp.attached),$(document).on("disconnected.jsxc",jsxc.xmpp.disconnected),$(document).on("connfail.jsxc",jsxc.xmpp.onConnfail),$(document).on("authfail.jsxc",jsxc.xmpp.onAuthFail),Strophe.addNamespace("RECEIPTS","urn:xmpp:receipts")),jsxc.xmpp.conn=new Strophe.Connection(url),jsxc.storage.getItem("debug")===!0&&(jsxc.xmpp.conn.xmlInput=function(data){console.log("<",data)},jsxc.xmpp.conn.xmlOutput=function(data){console.log(">",data)}),jsxc.xmpp.conn.nextValidRid=jsxc.xmpp.onRidChange;var callback=function(status,condition){switch(jsxc.debug(Object.getOwnPropertyNames(Strophe.Status)[status]+": "+condition),status){case Strophe.Status.CONNECTING:$(document).trigger("connecting.jsxc");break;case Strophe.Status.CONNECTED:jsxc.bid=jsxc.jidToBid(jsxc.xmpp.conn.jid.toLowerCase()),$(document).trigger("connected.jsxc");break;case Strophe.Status.ATTACHED:$(document).trigger("attached.jsxc");break;case Strophe.Status.DISCONNECTED:$(document).trigger("disconnected.jsxc");break;case Strophe.Status.CONNFAIL:$(document).trigger("connfail.jsxc");break;case Strophe.Status.AUTHFAIL:$(document).trigger("authfail.jsxc")}};jsxc.xmpp.conn.caps&&(jsxc.xmpp.conn.caps.node="http://jsxc.org/"),jsxc.changeState(jsxc.CONST.STATE.ESTABLISHING),sid&&rid?(jsxc.debug("Try to attach"),jsxc.debug("SID: "+sid),jsxc.reconnect=!0,jsxc.xmpp.conn.attach(jid,sid,rid,callback)):(jsxc.debug("New connection"),jsxc.xmpp.conn.caps&&jsxc.xmpp.conn._addSysHandler(function(stanza){var from=jsxc.xmpp.conn.domain,c=stanza.querySelector("c"),ver=c.getAttribute("ver"),node=c.getAttribute("node"),_jidNodeIndex=JSON.parse(localStorage.getItem("strophe.caps._jidNodeIndex"))||{};jsxc.xmpp.conn.caps._jidVerIndex[from]=ver,_jidNodeIndex[from]=node,localStorage.setItem("strophe.caps._jidVerIndex",JSON.stringify(jsxc.xmpp.conn.caps._jidVerIndex)),localStorage.setItem("strophe.caps._jidNodeIndex",JSON.stringify(_jidNodeIndex))},Strophe.NS.CAPS),jsxc.xmpp.conn.connect(jid,password||jsxc.options.xmpp.password,callback))},logout:function(complete){if(jsxc.triggeredFromElement="boolean"!=typeof complete||complete,!jsxc.master)return jsxc.storage.removeItem("sid"),!0;if(jsxc.storage.removeUserItem("buddylist"),jsxc.storage.removeUserItem("windowlist"),jsxc.storage.removeUserItem("unreadMsg"),$("body").click(),!jsxc.xmpp.conn||!jsxc.xmpp.conn.authenticated)return!0;$.each(jsxc.storage.getUserItem("otrlist")||{},function(i,val){jsxc.otr.create(val)});var numOtr=Object.keys(jsxc.otr.objects||{}).length+1,disReady=function(){--numOtr<=0&&(jsxc.xmpp.conn.flush(),setTimeout(function(){jsxc.xmpp.conn.disconnect()},600))};return $.each(jsxc.otr.objects||{},function(key,obj){obj.msgstate===OTR.CONST.MSGSTATE_ENCRYPTED?obj.endOtr.call(obj,function(){obj.init.call(obj),jsxc.otr.backup(key),disReady()}):disReady()}),disReady(),!1},connected:function(){if(jsxc.xmpp.conn.pause(),jsxc.xmpp.initNewConnection(),jsxc.xmpp.saveSessionParameter(),jsxc.options.loginForm.triggered)switch(jsxc.options.loginForm.onConnected||"submit"){case"submit":return void jsxc.submitLoginForm();case!1:return}jsxc.gui.dialog.close(),jsxc.xmpp.conn.resume(),jsxc.onMaster(),jsxc.changeState(jsxc.CONST.STATE.READY),$(document).trigger("attached.jsxc")},attached:function(){$("#jsxc_roster").removeClass("jsxc_noConnection"),jsxc.xmpp.conn.addHandler(jsxc.xmpp.onRosterChanged,"jabber:iq:roster","iq","set"),jsxc.xmpp.conn.addHandler(jsxc.xmpp.onChatMessage,null,"message","chat"),jsxc.xmpp.conn.addHandler(jsxc.xmpp.onHeadlineMessage,null,"message","headline"),jsxc.xmpp.conn.addHandler(jsxc.xmpp.onReceived,null,"message"),jsxc.xmpp.conn.addHandler(jsxc.xmpp.onPresence,null,"presence"),jsxc.gui.init();var caps=jsxc.xmpp.conn.caps,domain=jsxc.xmpp.conn.domain;if(caps){var conditionalEnable=function(){};if(jsxc.options.get("carbons").enable&&(conditionalEnable=function(){jsxc.xmpp.conn.caps.hasFeatureByJid(domain,jsxc.CONST.NS.CARBONS)&&jsxc.xmpp.carbons.enable()},$(document).on("caps.strophe",function onCaps(ev,from){from===domain&&(conditionalEnable(),$(document).off("caps.strophe",onCaps))})),"undefined"==typeof caps._knownCapabilities[caps._jidVerIndex[domain]]){var _jidNodeIndex=JSON.parse(localStorage.getItem("strophe.caps._jidNodeIndex"))||{};jsxc.debug("Request server capabilities"),caps._requestCapabilities(jsxc.xmpp.conn.domain,_jidNodeIndex[domain],caps._jidVerIndex[domain])}else conditionalEnable()}if(jsxc.reconnect&&jsxc.storage.getUserItem("buddylist"))jsxc.xmpp.sendPres(),jsxc.restoreCompleted||jsxc.gui.restore();else{$(document).one("cloaded.roster.jsxc",jsxc.xmpp.sendPres),$("#jsxc_roster > p:first").remove();var iq=$iq({type:"get"}).c("query",{xmlns:"jabber:iq:roster"});jsxc.xmpp.conn.sendIQ(iq,jsxc.xmpp.onRoster)}jsxc.xmpp.saveSessionParameter(),jsxc.masterActions(),jsxc.changeState(jsxc.CONST.STATE.READY)},saveSessionParameter:function(){var nomJid=Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid).toLowerCase()+"/"+Strophe.getResourceFromJid(jsxc.xmpp.conn.jid);jsxc.storage.setItem("sid",jsxc.xmpp.conn._proto.sid),jsxc.storage.setItem("jid",nomJid)},initNewConnection:function(){jsxc.storage.removeUserItem("buddylist"),jsxc.storage.removeUserItem("windowlist"),jsxc.storage.removeUserItem("own"),jsxc.storage.removeUserItem("avatar","own"),jsxc.storage.removeUserItem("otrlist"),jsxc.storage.removeUserItem("unreadMsg"),jsxc.storage.removeUserElement("options","RTCPeerConfig")},sendPres:function(){jsxc.xmpp.conn.disco&&(jsxc.xmpp.conn.disco.addIdentity("client","web","JSXC"),jsxc.xmpp.conn.disco.addFeature(Strophe.NS.DISCO_INFO),jsxc.xmpp.conn.disco.addFeature(Strophe.NS.RECEIPTS));var pres=$pres();jsxc.xmpp.conn.caps&&pres.c("c",jsxc.xmpp.conn.caps.generateCapsAttrs()).up();var presState=jsxc.storage.getUserItem("presence")||"online";"online"!==presState&&pres.c("show").t(presState).up();var priority=jsxc.options.get("priority");priority&&"undefined"!=typeof priority[presState]&&0!==parseInt(priority[presState])&&pres.c("priority").t(priority[presState]).up(),jsxc.debug("Send presence",pres.toString()),jsxc.xmpp.conn.send(pres)},disconnected:function(){jsxc.debug("disconnected"),jsxc.storage.removeItem("jid"),jsxc.storage.removeItem("sid"),jsxc.storage.removeItem("rid"),jsxc.storage.removeItem("hidden"),jsxc.storage.removeUserItem("avatar","own"),jsxc.storage.removeUserItem("otrlist"),$(document).off("connected.jsxc",jsxc.xmpp.connected),$(document).off("attached.jsxc",jsxc.xmpp.attached),$(document).off("disconnected.jsxc",jsxc.xmpp.disconnected),$(document).off("connfail.jsxc",jsxc.xmpp.onConnfail),$(document).off("authfail.jsxc",jsxc.xmpp.onAuthFail),jsxc.xmpp.conn=null,$("#jsxc_windowList").remove(),jsxc.triggeredFromElement?($(document).trigger("toggle.roster.jsxc",["hidden",0]),jsxc.gui.roster.ready=!1,$("#jsxc_roster").remove(),jsxc.triggeredFromLogout&&(window.location=jsxc.options.logoutElement.attr("href"))):jsxc.gui.roster.noConnection(),window.clearInterval(jsxc.keepaliveInterval),jsxc.role_allocation=!1,jsxc.master=!1,jsxc.storage.removeItem("alive"),jsxc.changeState(jsxc.CONST.STATE.SUSPEND)},onConnfail:function(ev,condition){jsxc.debug("XMPP connection failed: "+condition),jsxc.options.loginForm.triggered&&jsxc.submitLoginForm()},onAuthFail:function(){if(jsxc.options.loginForm.triggered)switch(jsxc.options.loginForm.onAuthFail||"ask"){case"ask":jsxc.gui.showAuthFail();break;case"submit":jsxc.submitLoginForm();break;case"quiet":case!1:return}},onRoster:function(iq){jsxc.debug("Load roster",iq);var buddies=[];$(iq).find("item").each(function(){var jid=$(this).attr("jid"),name=$(this).attr("name")||jid,bid=jsxc.jidToBid(jid),sub=$(this).attr("subscription");buddies.push(bid),jsxc.storage.removeUserItem("res",bid),jsxc.storage.saveBuddy(bid,{jid:jid,name:name,status:0,sub:sub,res:[],rnd:Math.random()}),jsxc.gui.roster.add(bid)}),0===buddies.length&&jsxc.gui.roster.empty(),jsxc.storage.setUserItem("buddylist",buddies),jsxc.xmpp.bookmarks.load(),jsxc.gui.roster.loaded=!0,jsxc.debug("Roster loaded"),$(document).trigger("cloaded.roster.jsxc"),jsxc.changeUIState(jsxc.CONST.UISTATE.READY)},onRosterChanged:function(iq){var iqSender=$(iq).attr("from"),ownBareJid=Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid);return!(!iqSender||iqSender===ownBareJid)||(jsxc.debug("onRosterChanged",iq),$(iq).find("item").each(function(){var jid=$(this).attr("jid"),name=$(this).attr("name")||jid,bid=jsxc.jidToBid(jid),sub=$(this).attr("subscription");if("remove"===sub)jsxc.gui.roster.purge(bid);else{var bl=jsxc.storage.getUserItem("buddylist");bl.indexOf(bid)<0&&(bl.push(bid),jsxc.storage.setUserItem("buddylist",bl));var temp=jsxc.storage.saveBuddy(bid,{jid:jid,name:name,sub:sub});"updated"===temp?(jsxc.gui.update(bid),jsxc.gui.roster.reorder(bid)):jsxc.gui.roster.add(bid)}if("from"===sub||"both"===sub){var notice,notices=jsxc.storage.getUserItem("notices"),noticeKey=null;for(noticeKey in notices)notice=notices[noticeKey],"gui.showApproveDialog"===notice.fnName&&notice.fnParams[0]===jid&&(jsxc.debug("Remove notice with key "+noticeKey),jsxc.notice.remove(noticeKey))}}),jsxc.storage.getUserItem("buddylist")&&0!==jsxc.storage.getUserItem("buddylist").length?$("#jsxc_roster > p:first").remove():jsxc.gui.roster.empty(),!0)},onPresence:function(presence){jsxc.debug("onPresence",presence);var ptype=$(presence).attr("type"),from=$(presence).attr("from"),jid=Strophe.getBareJidFromJid(from).toLowerCase(),r=Strophe.getResourceFromJid(from),bid=jsxc.jidToBid(jid),data=jsxc.storage.getUserItem("buddy",bid)||{},res=jsxc.storage.getUserItem("res",bid)||{},status=null,xVCard=$(presence).find('x[xmlns="vcard-temp:x:update"]');if(jid===Strophe.getBareJidFromJid(jsxc.storage.getItem("jid")))return!0;if("error"===ptype){$(document).trigger("error.presence.jsxc",[from,presence]);var error=$(presence).find("error");return jsxc.error("[XMPP] "+error.attr("code")+" "+error.find(">:first-child").prop("tagName")),!0}if("subscribe"===ptype){var bl=jsxc.storage.getUserItem("buddylist");return bl.indexOf(bid)>-1?(jsxc.debug("Auto approve contact request, because he is already in our contact list."),jsxc.xmpp.resFriendReq(jid,!0),"to"!==data.sub&&jsxc.xmpp.addBuddy(jid,data.name),!0):(jsxc.storage.setUserItem("friendReq",{jid:jid,approve:-1}),jsxc.notice.add({msg:$.t("Friendship_request"),description:$.t("from")+" "+jid,type:"contact"},"gui.showApproveDialog",[jid]),!0)}if("unavailable"===ptype||"unsubscribed"===ptype)status=jsxc.CONST.STATUS.indexOf("offline");else{var show=$(presence).find("show").text();status=""===show?jsxc.CONST.STATUS.indexOf("online"):jsxc.CONST.STATUS.indexOf(show)}0===status?delete res[r]:r&&(res[r]=status);var maxVal=[],max=0,prop=null;for(prop in res)res.hasOwnProperty(prop)&&max<=res[prop]&&(max!==res[prop]&&(maxVal=[],max=res[prop]),maxVal.push(prop));if(0===data.status&&max>0&&jsxc.notification.notify({title:data.name,msg:$.t("has_come_online"),source:bid}),"groupchat"===data.type?data.status=status:data.status=max,data.res=maxVal,data.jid=jid,xVCard.length>0&&"groupchat"!==data.type){var photo=xVCard.find("photo");photo.length>0&&photo.text()!==data.avatar&&(jsxc.storage.removeUserItem("avatar",data.avatar),data.avatar=photo.text())}return jsxc.gui.window.get(bid).length>0&&jsxc.gui.window.get(bid).data("jid",jid),jsxc.storage.setUserItem("buddy",bid,data),jsxc.storage.setUserItem("res",bid,res),jsxc.debug("Presence ("+from+"): "+jsxc.CONST.STATUS[status]),jsxc.gui.update(bid),jsxc.gui.roster.reorder(bid),$(document).trigger("presence.jsxc",[from,status,presence]),!0},onChatMessage:function(stanza){var message,carbon,forwarded=$(stanza).find('forwarded[xmlns="'+jsxc.CONST.NS.FORWARD+'"]'),originalSender=$(stanza).attr("from");if(forwarded.length>0){if(message=forwarded.find("> message"),forwarded=!0,carbon=$(stanza).find('> [xmlns="'+jsxc.CONST.NS.CARBONS+'"]'),0===carbon.length)carbon=!1;else if(originalSender!==Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid))return!0;jsxc.debug("Incoming forwarded message",message)}else message=stanza,forwarded=!1,carbon=!1,jsxc.debug("Incoming message",message);var body=$(message).find("body:first").text(),htmlBody=$(message).find('body[xmlns="'+Strophe.NS.XHTML+'"]');if(!body||body.match(/\?OTR/i)&&forwarded)return!0;var bid,type=$(message).attr("type"),from=$(message).attr("from"),mid=$(message).attr("id"),delay=$(message).find('delay[xmlns="urn:xmpp:delay"]'),stamp=delay.length>0?new Date(delay.attr("stamp")):new Date;if(stamp=stamp.getTime(),carbon){var direction="sent"===carbon.prop("tagName")?jsxc.Message.OUT:jsxc.Message.IN;return bid=jsxc.jidToBid("out"===direction?$(message).attr("to"):from),jsxc.gui.window.postMessage({bid:bid,direction:direction,msg:body,encrypted:!1,forwarded:forwarded,stamp:stamp}),!0}forwarded&&(body=from+" "+$.t("to")+" "+$(stanza).attr("to")+'"'+body+'"',from=$(stanza).attr("from"));var jid=Strophe.getBareJidFromJid(from);bid=jsxc.jidToBid(jid);var data=jsxc.storage.getUserItem("buddy",bid),request=$(message).find("request[xmlns='urn:xmpp:receipts']");if(null===data){var chat=jsxc.storage.getUserItem("chat",bid)||[];0===chat.length&&jsxc.notice.add({msg:$.t("Unknown_sender"),description:$.t("You_received_a_message_from_an_unknown_sender")+" ("+bid+")."},"gui.showUnknownSender",[bid]);var msg=jsxc.removeHTML(body);return msg=jsxc.escapeHTML(msg),jsxc.storage.saveMessage(bid,"in",msg,!1,forwarded,stamp),!0}var win=jsxc.gui.window.init(bid);"chat"===type&&(win.data("jid",from),jsxc.storage.updateUserItem("buddy",bid,{jid:from})),$(document).trigger("message.jsxc",[from,body]),jsxc.master&&!jsxc.otr.objects[bid]&&jsxc.otr.create(bid),forwarded||null===mid||!request.length||null===data||"both"!==data.sub&&"from"!==data.sub||"chat"!==type||jsxc.xmpp.conn.send($msg({to:from}).c("received",{xmlns:"urn:xmpp:receipts",id:mid}));var attachment;if(1===htmlBody.length){var httpUploadElement=htmlBody.find("a[data-type][data-name][data-size]");1===httpUploadElement.length&&(attachment={type:httpUploadElement.attr("data-type"),name:httpUploadElement.attr("data-name"),size:httpUploadElement.attr("data-size")},httpUploadElement.attr("data-thumbnail")&&httpUploadElement.attr("data-thumbnail").match(/^\s*data:[a-z]+\/[a-z0-9-+.*]+;base64,[a-z0-9=+\/]+$/i)&&(attachment.thumbnail=httpUploadElement.attr("data-thumbnail")),httpUploadElement.attr("href")&&httpUploadElement.attr("href").match(/^https:\/\//)&&(attachment.data=httpUploadElement.attr("href"),body=null),attachment.type.match(/^[a-z]+\/[a-z0-9-+.*]+$/i)&&attachment.name.match(/^[\s\w.,-]+$/i)&&attachment.size.match(/^\d+$/i)||(attachment=void 0,jsxc.warn("Invalid file type, name or size.")))}return jsxc.otr.objects.hasOwnProperty(bid)&&body?jsxc.otr.objects[bid].receiveMsg(body,{stamp:stamp,forwarded:forwarded,attachment:attachment}):jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.IN,msg:body,encrypted:!1,forwarded:forwarded,stamp:stamp,attachment:attachment}),!0},onHeadlineMessage:function(stanza){stanza=$(stanza);var from=stanza.attr("from"),domain=Strophe.getDomainFromJid(from);if(domain!==from){if(!jsxc.storage.getUserItem("buddy",jsxc.jidToBid(from)))return!0}else if(domain!==Strophe.getDomainFromJid(jsxc.xmpp.conn.jid))return!0;var subject=stanza.find("subject:first").text()||$.t("Notification"),body=stanza.find("body:first").text();return jsxc.notice.add({msg:subject,description:body,type:domain===from?"announcement":null},"gui.showNotification",[subject,body,from]),!0},onRidChange:function(rid){jsxc.storage.setItem("rid",rid)},resFriendReq:function(from,approve){jsxc.master?(jsxc.xmpp.conn.send($pres({to:from,type:approve?"subscribed":"unsubscribed"})),jsxc.storage.removeUserItem("friendReq"),jsxc.gui.dialog.close()):jsxc.storage.updateUserItem("friendReq","approve",approve)},addBuddy:function(username,alias){var bid=jsxc.jidToBid(username);if(jsxc.master){var iq=$iq({type:"set"}).c("query",{xmlns:"jabber:iq:roster"}).c("item",{jid:username,name:alias||""});jsxc.xmpp.conn.sendIQ(iq),jsxc.xmpp.conn.send($pres({to:username,type:"subscribe"})),jsxc.storage.removeUserItem("add_"+bid)}else jsxc.storage.setUserItem("add_"+bid,{username:username,alias:alias||null})},removeBuddy:function(jid){var bid=jsxc.jidToBid(jid),iq=$iq({type:"set"}).c("query",{xmlns:"jabber:iq:roster"}).c("item",{jid:Strophe.getBareJidFromJid(jid),subscription:"remove"});jsxc.xmpp.conn.sendIQ(iq),jsxc.gui.roster.purge(bid)},onReceived:function(stanza){var received=$(stanza).find("received[xmlns='urn:xmpp:receipts']");if(received.length){var receivedId=received.attr("id"),message=new jsxc.Message(receivedId);message.received()}return!0},sendMessage:function(message){var bid=message.bid,msg=message.htmlMsg,mucRoomNames=jsxc.xmpp.conn.muc&&jsxc.xmpp.conn.muc.roomNames?jsxc.xmpp.conn.muc.roomNames:[],isMucBid=mucRoomNames.indexOf(bid)>=0;jsxc.otr.objects.hasOwnProperty(bid)&&!isMucBid?jsxc.otr.objects[bid].sendMsg(msg,message):jsxc.xmpp._sendMessage(jsxc.gui.window.get(bid).data("jid"),msg,message)},_sendMessage:function(jid,msg,message){var data=jsxc.storage.getUserItem("buddy",jsxc.jidToBid(jid))||{},isBar=Strophe.getBareJidFromJid(jid)===jid,type=data.type||"chat";message=message||{};var xmlMsg=$msg({to:jid,type:type,id:message._uid});if(message.type===jsxc.Message.HTML){xmlMsg.c("html",{xmlns:Strophe.NS.XHTML_IM});var body=Strophe.xmlElement("body",{xmlns:Strophe.NS.XHTML});body.innerHTML=msg,xmlMsg.node.appendChild(body)}else xmlMsg.c("body").t(msg);jsxc.xmpp.carbons.enabled&&msg.match(/^\?OTR/)&&xmlMsg.up().c("private",{xmlns:jsxc.CONST.NS.CARBONS}),"chat"===type&&(isBar||jsxc.xmpp.conn.caps.hasFeatureByJid(jid,Strophe.NS.RECEIPTS))&&xmlMsg.up().c("request",{xmlns:"urn:xmpp:receipts"}),jsxc.xmpp.conn.chatstates&&!jsxc.xmpp.chatState.isDisabled()&&xmlMsg.up().c("active",{xmlns:Strophe.NS.CHATSTATES}),jsxc.xmpp.conn.send(xmlMsg)},loadVcard:function(bid,cb,error_cb){jsxc.master?jsxc.xmpp.conn.vcard.get(cb,bid,error_cb):(jsxc.storage.setUserItem("vcard",bid,"request:"+(new Date).getTime()),$(document).one("loaded.vcard.jsxc",function(ev,result){result&&"success"===result.state?cb($(result.data).get(0)):error_cb()}))},getCapabilitiesByJid:function(jid){
-if(jsxc.xmpp.conn)return jsxc.xmpp.conn.caps.getCapabilitiesByJid(jid);var jidVerIndex=JSON.parse(localStorage.getItem("strophe.caps._jidVerIndex"))||{},knownCapabilities=JSON.parse(localStorage.getItem("strophe.caps._knownCapabilities"))||{};return jidVerIndex[jid]?knownCapabilities[jidVerIndex[jid]]:null},hasFeatureByJid:function(jid,feature,cb){var conn=jsxc.xmpp.conn;if(cb=cb||function(){},!feature)return!1;$.isArray(feature)||(feature=$.makeArray(feature));var check=function(knownCapabilities){if(!knownCapabilities)return null;var i;for(i=0;i<feature.length;i++)if(knownCapabilities.features.indexOf(feature[i])<0)return!1;return!0};if(conn.caps._jidVerIndex[jid]&&conn.caps._knownCapabilities[conn.caps._jidVerIndex[jid]]){var hasFeature=check(conn.caps._knownCapabilities[conn.caps._jidVerIndex[jid]]);return cb(hasFeature),hasFeature}return $(document).on("strophe.caps",function(ev,j,capabilities){j===jid&&(cb(check(capabilities)),$(document).off(ev))}),null}},jsxc.xmpp.carbons={enabled:!1,enable:function(cb){var iq=$iq({type:"set"}).c("enable",{xmlns:jsxc.CONST.NS.CARBONS});jsxc.xmpp.conn.sendIQ(iq,function(){jsxc.xmpp.carbons.enabled=!0,jsxc.debug("Carbons enabled"),cb&&cb.call(this)},function(stanza){jsxc.warn("Could not enable carbons",stanza)})},disable:function(cb){var iq=$iq({type:"set"}).c("disable",{xmlns:jsxc.CONST.NS.CARBONS});jsxc.xmpp.conn.sendIQ(iq,function(){jsxc.xmpp.carbons.enabled=!1,jsxc.debug("Carbons disabled"),cb&&cb.call(this)},function(stanza){jsxc.warn("Could not disable carbons",stanza)})},refresh:function(err){if(err!==!1)return jsxc.options.get("carbons").enable?jsxc.xmpp.carbons.enable():jsxc.xmpp.carbons.disable()}},jsxc.fileTransfer={},jsxc.fileTransfer.formatByte=function(byte){var i,s=["","KB","MB","GB","TB"];for(i=1;i<s.length&&!(byte<1024);i++)byte/=1024;return Math.round(10*byte)/10+s[i-1]},jsxc.fileTransfer.startGuiAction=function(jid){var bid=jsxc.jidToBid(jid),res=Strophe.getResourceFromJid(jid);return res||jsxc.xmpp.httpUpload.ready?void jsxc.fileTransfer.showFileSelection(jid):void jsxc.fileTransfer.selectResource(bid,jsxc.fileTransfer.startGuiAction)},jsxc.fileTransfer.selectResource=function(bid,success_cb,error_cb){var win=jsxc.gui.window.get(bid),jid=win.data("jid"),res=Strophe.getResourceFromJid(jid),fileCapableRes=jsxc.webrtc.getCapableRes(jid,jsxc.webrtc.reqFileFeatures),resources=Object.keys(jsxc.storage.getUserItem("res",bid))||[];null===res&&1===resources.length&&1===fileCapableRes.length?(res=fileCapableRes[0],jid=bid+"/"+res,success_cb(jid)):fileCapableRes.indexOf(res)>=0?success_cb(bid+"/"+res):fileCapableRes.indexOf(res)<0&&jsxc.gui.window.selectResource(bid,$.t("Your_contact_uses_multiple_clients_"),function(data){"unavailable"===data.status?(jsxc.gui.window.hideOverlay(bid),"function"==typeof error_cb&&error_cb()):"selected"===data.status&&success_cb(bid+"/"+data.result)},fileCapableRes)},jsxc.fileTransfer.showFileSelection=function(jid){var bid=jsxc.jidToBid(jid),msg=$('<div><div><label><input type="file" name="files" /><label></div></div>');msg.addClass("jsxc_chatmessage"),jsxc.gui.window.showOverlay(bid,msg,!0),msg.find("label").click(),msg.find('[type="file"]').change(function(ev){var file=ev.target.files[0];file&&jsxc.fileTransfer.fileSelected(jid,msg,file)})},jsxc.fileTransfer.fileSelected=function(jid,msg,file){var bid=jsxc.jidToBid(jid);if("webrtc"!==file.transportMethod&&jsxc.xmpp.httpUpload.ready&&file.size>jsxc.options.get("httpUpload").maxSize)return jsxc.debug("File too large for http upload."),file.transportMethod="webrtc",void jsxc.fileTransfer.selectResource(bid,function(jid){jsxc.fileTransfer.fileSelected(jid,msg,file)},function(){var maxSize=jsxc.fileTransfer.formatByte(jsxc.options.get("httpUpload").maxSize),fileSize=jsxc.fileTransfer.formatByte(file.size);jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("File_too_large")+" ("+fileSize+" > "+maxSize+")"}),jsxc.gui.window.hideOverlay(bid)});!jsxc.xmpp.httpUpload.ready&&Strophe.getResourceFromJid(jid)&&(file.transportMethod="webrtc");var attachment=$("<div>");if(attachment.addClass("jsxc_attachment"),attachment.addClass("jsxc_"+file.type.replace(/\//,"-")),attachment.addClass("jsxc_"+file.type.replace(/^([^\/]+)\/.*/,"$1")),msg.empty().append(attachment),FileReader&&file.type.match(/^image\//)){var img=$('<img alt="preview">').attr("title",file.name);img.attr("src",jsxc.options.get("root")+"/img/loading.gif"),img.appendTo(attachment);var reader=new FileReader;reader.onload=function(){img.attr("src",reader.result)},reader.readAsDataURL(file)}else attachment.text(file.name+" ("+file.size+" byte)");$("<button>").addClass("jsxc_btn jsxc_btn-primary").text($.t("Send")).click(function(){jsxc.gui.window.hideOverlay(bid),msg.remove();var message=jsxc.gui.window.postMessage({bid:bid,direction:"out",attachment:{name:file.name,size:file.size,type:file.type,data:file.type.match(/^image\//)?img.attr("src"):null}});if("webrtc"===file.transportMethod){var sess=jsxc.webrtc.sendFile(jid,file);sess.sender.on("progress",function(sent,size){jsxc.gui.window.updateProgress(message,sent,size),sent===size&&message.received()})}else jsxc.xmpp.httpUpload.sendFile(file,message)}).appendTo(msg),$("<button>").addClass("jsxc_btn jsxc_btn-default").text($.t("Abort")).click(function(){jsxc.gui.window.hideOverlay(bid)}).appendTo(msg)},jsxc.fileTransfer.updateIcons=function(bid){var win=jsxc.gui.window.get(bid);if(win&&0!==win.length&&jsxc.xmpp.conn){if(jsxc.debug("Update file transfer icons for "+bid),jsxc.xmpp.httpUpload.ready)return void win.find(".jsxc_sendFile").removeClass("jsxc_disabled");var jid=win.data("jid"),res=Strophe.getResourceFromJid(jid),fileCapableRes=jsxc.webrtc.getCapableRes(bid,jsxc.webrtc.reqFileFeatures),resources=Object.keys(jsxc.storage.getUserItem("res",bid)||{})||[];fileCapableRes.indexOf(res)>-1||null===res&&1===fileCapableRes.length&&1===resources.length?win.find(".jsxc_sendFile").removeClass("jsxc_disabled"):win.find(".jsxc_sendFile").addClass("jsxc_disabled")}},$(document).on("update.gui.jsxc",function(ev,bid){jsxc.fileTransfer.updateIcons(bid)}),jsxc.gui={emotions:[["O:-) O:)","innocent"],[">:-( >:( &gt;:-( &gt;:(","angry"],[":-) :)","slight_smile"],[":-D :D","grin"],[":-( :(","disappointed"],[";-) ;)","wink"],[":-P :P","stuck_out_tongue"],["=-O","astonished"],[":kiss: :-*","kissing_heart"],["8-) :cool:","sunglasses"],[":-X :X","zipper_mouth"],[":yes:","thumbsup"],[":no:","thumbsdown"],[":beer:","beer"],[":coffee:","coffee"],[":devil:","smiling_imp"],[":kiss: :kissing:","kissing"],["@->-- @-&gt;--","rose"],[":music:","musical_note"],[":love:","heart_eyes"],[":heart:","heart"],[":brokenheart:","broken_heart"],[":zzz:","zzz"],[":wait:","hand_splayed"]],favicon:null,regShortNames:null,emoticonList:{core:{":klaus:":["klaus"],":jabber:":["jabber"],":xmpp:":["xmpp"],":jsxc:":["jsxc"],":owncloud:":["owncloud"],":nextcloud:":["nextcloud"]},emojione:emojione.emojioneList},queryActions:{message:function(jid,params){var win=jsxc.gui.window.open(jsxc.jidToBid(jid));params&&"string"==typeof params.body&&win.find(".jsxc_textinput").val(params.body)},remove:function(jid){jsxc.gui.showRemoveDialog(jsxc.jidToBid(jid))},subscribe:function(jid,params){jsxc.gui.showContactDialog(jid),params&&(params.name,!0)&&$("#jsxc_alias").val(params.name)},vcard:function(jid){jsxc.gui.showVcard(jid)},join:function(jid,params){var password=params&&params.password?params.password:null;jsxc.muc.showJoinChat(jid,password)}},init:function(){if(!($("#jsxc_windowList").length>0)){jsxc.changeUIState(jsxc.CONST.UISTATE.INITIATING),jsxc.gui.regShortNames=new RegExp(emojione.regShortNames.source+"|("+Object.keys(jsxc.gui.emoticonList.core).join("|")+")","gi"),$("body").append($(jsxc.gui.template.get("windowList"))),$(window).resize(jsxc.gui.updateWindowListSB),$("#jsxc_windowList").resize(jsxc.gui.updateWindowListSB),$("#jsxc_windowListSB .jsxc_scrollLeft").click(function(){jsxc.gui.scrollWindowListBy(-200)}),$("#jsxc_windowListSB .jsxc_scrollRight").click(function(){jsxc.gui.scrollWindowListBy(200)}),$("#jsxc_windowList").on("wheel",function(ev){$("#jsxc_windowList").data("isOver")&&jsxc.gui.scrollWindowListBy(ev.originalEvent.wheelDelta>0?200:-200)}),jsxc.gui.tooltip("#jsxc_windowList");var fo=jsxc.options.get("favicon");fo&&fo.enable&&(jsxc.gui.favicon=new Favico({animation:"pop",bgColor:fo.bgColor,textColor:fo.textColor}),jsxc.gui.favicon.badge(jsxc.storage.getUserItem("unreadMsg")||0)),jsxc.el_exists("#jsxc_roster")||jsxc.gui.roster.init(),$.each(jsxc.gui.emotions,function(i,val){var reg=val[0].replace(/(\/|\||\*|\.|\+|\?|\^|\$|\(|\)|\[|\]|\{|\})/g,"\\$1");reg="("+reg.split(" ").join("|")+")",jsxc.gui.emotions[i][2]=new RegExp(reg,"g")}),jsxc.gui.windowTemplate=$(jsxc.gui.template.get("chatWindow")),jsxc.gui.buddyTemplate=$(jsxc.gui.template.get("rosterBuddy"))}},tooltip:function(selector){$(selector).tooltip({show:{delay:600},content:function(){return $(this).attr("title").replace(/\n/g,"<br />")}})},update:function(bid){var data=jsxc.storage.getUserItem("buddy",bid);if(!data)return void jsxc.debug("No data for "+bid);var ri=jsxc.gui.roster.getItem(bid),we=jsxc.gui.window.get(bid),ue=ri.add(we),spot=$('.jsxc_spot[data-bid="'+bid+'"]');switch(ri.data(data),jsxc.gui.updatePresence(bid,jsxc.CONST.STATUS[data.status]),ue.find(".jsxc_name:first").add(spot).text(data.name).attr("title",$.t("is_",{status:$.t(jsxc.CONST.STATUS[data.status])})),data.msgstate){case 0:we.find(".jsxc_transfer").removeClass("jsxc_enc jsxc_fin").attr("title",$.t("your_connection_is_unencrypted")),we.find(".jsxc_settings .jsxc_verification").addClass("jsxc_disabled"),we.find(".jsxc_settings .jsxc_transfer").text($.t("start_private"));break;case 1:we.find(".jsxc_transfer").addClass("jsxc_enc").attr("title",$.t("your_connection_is_encrypted")),we.find(".jsxc_settings .jsxc_verification").removeClass("jsxc_disabled"),we.find(".jsxc_settings .jsxc_transfer").text($.t("close_private"));break;case 2:we.find(".jsxc_settings .jsxc_verification").addClass("jsxc_disabled"),we.find(".jsxc_transfer").removeClass("jsxc_enc").addClass("jsxc_fin").attr("title",$.t("your_buddy_closed_the_private_connection")),we.find(".jsxc_settings .jsxc_transfer").text($.t("close_private"))}data.trust?we.find(".jsxc_transfer").addClass("jsxc_trust").attr("title",$.t("your_buddy_is_verificated")):we.find(".jsxc_transfer").removeClass("jsxc_trust"),data.sub&&"both"!==data.sub?ue.addClass("jsxc_oneway"):ue.removeClass("jsxc_oneway");var info=Strophe.getBareJidFromJid(data.jid)+"\n";info+=$.t("Subscription")+": "+$.t(data.sub)+"\n",info+=$.t("Status")+": "+$.t(jsxc.CONST.STATUS[data.status]),ri.find(".jsxc_name").attr("title",info),jsxc.gui.updateAvatar(ri.add(we.find(".jsxc_bar")),data.jid,data.avatar),$(document).trigger("update.gui.jsxc",[bid])},updateAvatar:function(el,jid,aid){var setAvatar=function(src){return 0===src||"0"===src?"function"==typeof jsxc.options.defaultAvatar?void jsxc.options.defaultAvatar.call(el,jid):void jsxc.gui.avatarPlaceholder(el.find(".jsxc_avatar"),jid):(el.find(".jsxc_avatar").removeAttr("style"),void el.find(".jsxc_avatar").css({"background-image":"url("+src+")","text-indent":"999px"}))};if("undefined"==typeof aid)return void setAvatar(0);var avatarSrc=jsxc.storage.getUserItem("avatar",aid);if(jsxc.master||avatarSrc||(avatarSrc=0),null!==avatarSrc)setAvatar(avatarSrc);else{var handler_cb=function(stanza){jsxc.debug("vCard",stanza);var src,vCard=$(stanza).find("vCard > PHOTO");if(0===vCard.length)jsxc.debug("No photo provided"),src="0";else if(vCard.find("EXTVAL").length>0)src=vCard.find("EXTVAL").text();else{var img=vCard.find("BINVAL").text(),type=vCard.find("TYPE").text();src="data:"+type+";base64,"+img}src=src.replace(/[\t\r\n\f]/gi,""),jsxc.storage.setUserItem("avatar",aid,src),setAvatar(src)},error_cb=function(msg){jsxc.warn("Could not load vcard.",msg),jsxc.storage.setUserItem("avatar",aid,0),setAvatar(0)};Strophe.getBareJidFromJid(jid)===Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid)?jsxc.xmpp.conn.vcard.get(handler_cb,error_cb):jsxc.xmpp.conn.vcard.get(handler_cb,Strophe.getBareJidFromJid(jid),error_cb)}},updateWindowListSB:function(){$("#jsxc_windowList>ul").width()>$("#jsxc_windowList").width()?$("#jsxc_windowListSB > div").removeClass("jsxc_disabled"):($("#jsxc_windowListSB > div").addClass("jsxc_disabled"),$("#jsxc_windowList>ul").css("right","0px"))},scrollWindowListBy:function(offset){var scrollWidth=$("#jsxc_windowList>ul").width(),width=$("#jsxc_windowList").width(),el=$("#jsxc_windowList>ul"),right=parseInt(el.css("right"))-offset,padding=$("#jsxc_windowListSB").width();scrollWidth<width||(right>0&&(right=0),right<width-scrollWidth-padding&&(right=width-scrollWidth-padding),el.css("right",right+"px"))},getWindow:function(bid){return jsxc.warn("jsxc.gui.getWindow is deprecated!"),jsxc.gui.window.get(bid)},toggleList:function(el){var self=el||$(this);self.disableSelection(),self.addClass("jsxc_list");var ul=self.find("ul"),slideUp=null;slideUp=function(){self.removeClass("jsxc_opened"),$("body").off("click",null,slideUp)},$(this).click(function(){return self.hasClass("jsxc_opened")?$("body").off("click",null,slideUp):($("body").click(),$("body").one("click",slideUp)),window.clearTimeout(ul.data("timer")),self.toggleClass("jsxc_opened"),!1}).mouseleave(function(){ul.data("timer",window.setTimeout(slideUp,2e3))}).mouseenter(function(){window.clearTimeout(ul.data("timer"))})},showLoginBox:function(){function onAuthFail(){alert.show(),jsxc.gui.dialog.resize(),$("#jsxc_dialog").find("button").trigger("btnfinished.jsxc"),$("#jsxc_dialog").find("input").one("keypress",function(){alert.hide(),jsxc.gui.dialog.resize()})}$(document).one("complete.dialog.jsxc",function(){setTimeout(function(){0===$("#jsxc_username").val().length?$("#jsxc_username").focus():$("#jsxc_password").focus()},50)}),jsxc.gui.dialog.open(jsxc.gui.template.get("loginBox"));var alert=$("#jsxc_dialog").find(".jsxc_alert");alert.hide(),$("#jsxc_dialog").find("form").submit(function(ev){ev.preventDefault(),$(this).find("button[data-jsxc-loading-text]").trigger("btnloading.jsxc"),jsxc.options.loginForm.form=$(this),jsxc.options.loginForm.jid=$(this).find("#jsxc_username"),jsxc.options.loginForm.pass=$(this).find("#jsxc_password"),jsxc.triggeredFromBox=!0,jsxc.options.loginForm.triggered=!1,jsxc.prepareLogin(function(settings){settings===!1?onAuthFail():($(document).on("authfail.jsxc",onAuthFail),jsxc.xmpp.login())})})},showFingerprints:function(bid){jsxc.gui.dialog.open(jsxc.gui.template.get("fingerprintsDialog",bid))},showVerification:function(bid){return $("#jsxc_dialog").length>0?void setTimeout(function(){jsxc.gui.showVerification(bid)},3e3):jsxc.storage.getUserItem("buddy",bid).msgstate!==OTR.CONST.MSGSTATE_ENCRYPTED?void jsxc.warn("Connection not encrypted"):(jsxc.gui.dialog.open(jsxc.gui.template.get("authenticationDialog",bid),{name:"smp"}),$("#jsxc_dialog > div:gt(0)").hide(),$("#jsxc_dialog > div:eq(0) button").click(function(){$(this).siblings().removeClass("active"),$(this).addClass("active"),$(this).get(0).blur(),$("#jsxc_dialog > div:gt(0)").hide(),$("#jsxc_dialog > div:eq("+($(this).index()+1)+")").show().find("input:first").focus()}),$("#jsxc_dialog > div:eq(1) .jsxc_submit").click(function(){jsxc.master&&(jsxc.otr.objects[bid].trust=!0),jsxc.storage.updateUserItem("buddy",bid,"trust",!0),jsxc.gui.dialog.close("smp"),jsxc.storage.updateUserItem("buddy",bid,"trust",!0),jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("conversation_is_now_verified")}),jsxc.gui.update(bid)}),$("#jsxc_dialog > div:eq(2) .jsxc_submit").click(function(){var div=$("#jsxc_dialog > div:eq(2)"),sec=div.find("#jsxc_secret2").val(),quest=div.find("#jsxc_quest").val();return""===sec||""===quest?void div.find('input[value=""]').addClass("jsxc_invalid").keyup(function(){$(this).val().match(/.*/)&&$(this).removeClass("jsxc_invalid")}):(jsxc.master?jsxc.otr.sendSmpReq(bid,sec,quest):jsxc.storage.setUserItem("smp",bid,{sec:sec,quest:quest}),jsxc.gui.dialog.close("smp"),void jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("authentication_query_sent")}))}),void $("#jsxc_dialog > div:eq(3) .jsxc_submit").click(function(){var div=$("#jsxc_dialog > div:eq(3)"),sec=div.find("#jsxc_secret").val();return""===sec?void div.find("#jsxc_secret").addClass("jsxc_invalid").keyup(function(){$(this).val().match(/.*/)&&$(this).removeClass("jsxc_invalid")}):(jsxc.master?jsxc.otr.sendSmpReq(bid,sec):jsxc.storage.setUserItem("smp",bid,{sec:sec,quest:null}),jsxc.gui.dialog.close("smp"),void jsxc.gui.window.postMessage({bid:bid,direction:"sys",msg:$.t("authentication_query_sent")}))}))},showApproveDialog:function(from){jsxc.gui.dialog.open(jsxc.gui.template.get("approveDialog"),{noClose:!0}),$("#jsxc_dialog .jsxc_their_jid").text(Strophe.getBareJidFromJid(from)),$("#jsxc_dialog .jsxc_deny").click(function(ev){ev.stopPropagation(),jsxc.xmpp.resFriendReq(from,!1),jsxc.gui.dialog.close()}),$("#jsxc_dialog .jsxc_approve").click(function(ev){ev.stopPropagation();var data=jsxc.storage.getUserItem("buddy",jsxc.jidToBid(from));jsxc.xmpp.resFriendReq(from,!0),data&&"from"!==data.sub||jsxc.gui.showContactDialog(from)})},showContactDialog:function(username){jsxc.gui.dialog.open(jsxc.gui.template.get("contactDialog")),username&&$("#jsxc_username").val(username),$("#jsxc_username").keyup(function(){if("function"==typeof jsxc.options.getUsers){var val=$(this).val();$("#jsxc_userlist").empty(),""!==val&&jsxc.options.getUsers.call(this,val,function(list){$("#jsxc_userlist").empty(),$.each(list||{},function(uid,displayname){var option=$("<option>");option.attr("data-username",uid),option.attr("data-alias",displayname),option.attr("value",uid).appendTo("#jsxc_userlist"),uid!==displayname&&option.clone().attr("value",displayname).appendTo("#jsxc_userlist")})})}}),$("#jsxc_username").on("input",function(){var val=$(this).val(),option=$("#jsxc_userlist").find('option[data-username="'+val+'"], option[data-alias="'+val+'"]');option.length>0&&($("#jsxc_username").val(option.attr("data-username")),$("#jsxc_alias").val(option.attr("data-alias")))}),$("#jsxc_dialog form").submit(function(ev){ev.preventDefault();var username=$("#jsxc_username").val(),alias=$("#jsxc_alias").val();return username.match(/@(.*)$/)||(username+="@"+Strophe.getDomainFromJid(jsxc.storage.getItem("jid"))),username&&username.match(jsxc.CONST.REGEX.JID)?(jsxc.xmpp.addBuddy(username,alias),jsxc.gui.dialog.close(),!1):($("#jsxc_username").addClass("jsxc_invalid").keyup(function(){$(this).val().match(jsxc.CONST.REGEX.JID)&&$(this).removeClass("jsxc_invalid")}),!1)})},showRemoveDialog:function(bid){jsxc.gui.dialog.open(jsxc.gui.template.get("removeDialog",bid));var data=jsxc.storage.getUserItem("buddy",bid);$("#jsxc_dialog .jsxc_remove").click(function(ev){ev.stopPropagation(),jsxc.master?jsxc.xmpp.removeBuddy(data.jid):jsxc.storage.setUserItem("deletebuddy",bid,{jid:data.jid}),jsxc.gui.dialog.close()})},showWaitAlert:function(msg){jsxc.gui.dialog.open(jsxc.gui.template.get("waitAlert",null,msg),{noClose:!0})},showAlert:function(msg){jsxc.gui.dialog.open(jsxc.gui.template.get("alert",null,msg))},showAuthFail:function(){jsxc.gui.dialog.open(jsxc.gui.template.get("authFailDialog")),jsxc.options.loginForm.triggered!==!1&&$("#jsxc_dialog .jsxc_cancel").hide(),$("#jsxc_dialog .jsxc_retry").click(function(){jsxc.gui.dialog.close()}),$("#jsxc_dialog .jsxc_cancel").click(function(){jsxc.submitLoginForm()})},showConfirmDialog:function(msg,confirm,dismiss){jsxc.gui.dialog.open(jsxc.gui.template.get("confirmDialog",null,msg),{noClose:!0}),confirm&&$("#jsxc_dialog .jsxc_confirm").click(confirm),dismiss&&$("#jsxc_dialog .jsxc_dismiss").click(dismiss)},showAboutDialog:function(){jsxc.gui.dialog.open(jsxc.gui.template.get("aboutDialog")),$("#jsxc_dialog .jsxc_debuglog").click(function(){jsxc.gui.showDebugLog()})},showDebugLog:function(){var userInfo="<h3>User information</h3>";if(navigator){var key;for(key in navigator)"string"==typeof navigator[key]&&(userInfo+="<b>"+key+":</b> "+navigator[key]+"<br />")}$.fn&&$.fn.jquery&&(userInfo+="<b>jQuery:</b> "+$.fn.jquery+"<br />"),window.screen&&(userInfo+="<b>Height:</b> "+window.screen.height+"<br />",userInfo+="<b>Width:</b> "+window.screen.width+"<br />"),userInfo+="<b>jsxc version:</b> "+jsxc.version+"<br />",jsxc.gui.dialog.open('<div class="jsxc_log">'+userInfo+"<h3>Log</h3><pre>"+jsxc.escapeHTML(jsxc.log)+"</pre></div>")},showVcard:function(jid){var bid=jsxc.jidToBid(jid);jsxc.gui.dialog.open(jsxc.gui.template.get("vCard",bid));var data=jsxc.storage.getUserItem("buddy",bid);if(data){var i,j,res,identities,cap,client,identity=null;for(i=0;i<data.res.length;i++){for(res=data.res[i],identities=[],cap=jsxc.xmpp.getCapabilitiesByJid(bid+"/"+res),null!==cap&&null!==cap.identities&&(identities=cap.identities),client="",j=0;j<identities.length;j++)identity=identities[j],"client"===identity.category&&(""!==client&&(client+=",\n"),client+=identity.name+" ("+identity.type+")");var status=jsxc.storage.getUserItem("res",bid)[res];$("#jsxc_dialog ul.jsxc_vCard").append('<li class="jsxc_sep"><strong>'+$.t("Resource")+":</strong> "+res+"</li>"),$("#jsxc_dialog ul.jsxc_vCard").append("<li><strong>"+$.t("Client")+":</strong> "+client+"</li>"),$("#jsxc_dialog ul.jsxc_vCard").append("<li><strong>"+$.t("Status")+":</strong> "+$.t(jsxc.CONST.STATUS[status])+"</li>")}}var printProp=function(el,depth){var content="";if(el.each(function(){var item=$(this),children=$(this).children();content+="<li>";var prop=$.t(item[0].tagName);" "!==prop&&(content+="<strong>"+prop+":</strong> "),"PHOTO"===item[0].tagName||(children.length>0?(content+="<ul>",content+=printProp(children,depth+1),content+="</ul>"):""!==item.text()&&(content+=jsxc.escapeHTML(item.text()))),content+="</li>",0===depth&&$("#jsxc_dialog ul.jsxc_vCard").length>0&&($("#jsxc_dialog ul.jsxc_vCard li.jsxc_sep:first").length>0?$("#jsxc_dialog ul.jsxc_vCard li.jsxc_sep:first").before(content):$("#jsxc_dialog ul.jsxc_vCard").append(content),content="")}),depth>0)return content},failedToLoad=function(){if(0!==$("#jsxc_dialog ul.jsxc_vCard").length){$("#jsxc_dialog p").remove();var content="<p>";content+=$.t("Sorry_your_buddy_doesnt_provide_any_information"),content+="</p>",$("#jsxc_dialog").append(content)}};jsxc.xmpp.loadVcard(bid,function(stanza){if(0!==$("#jsxc_dialog ul.jsxc_vCard").length){$("#jsxc_dialog p").remove();var photo=$(stanza).find("vCard > PHOTO");if(photo.length>0){var img=photo.find("BINVAL").text(),type=photo.find("TYPE").text(),src="data:"+type+";base64,"+img;photo.find("EXTVAL").length>0&&(src=photo.find("EXTVAL").text()),src=src.replace(/[\t\r\n\f]/gi,"");var img_el=$('<img class="jsxc_vCard" alt="avatar" />');img_el.attr("src",src),$("#jsxc_dialog h3").before(img_el)}return 0===$(stanza).find("vCard").length||1===$(stanza).find("vcard > *").length&&1===photo.length?void failedToLoad():void printProp($(stanza).find("vcard > *"),0)}},failedToLoad)},showSettings:function(){jsxc.gui.dialog.open(jsxc.gui.template.get("settings")),"false"!==jsxc.options.get("xmpp").overwrite&&jsxc.options.get("xmpp").overwrite!==!1||$(".jsxc_fieldsetXmpp").parent().hide(),$("#jsxc_dialog form").each(function(){var self=$(this);self.find('input[type!="submit"]').each(function(){var id=this.id.split("-"),prop=id[0],key=id[1],type=this.type,data=jsxc.options.get(prop);data&&"undefined"!=typeof data[key]&&("checkbox"===type?"false"!==data[key]&&data[key]!==!1&&(this.checked="checked"):$(this).val(data[key]))})}),$("#jsxc_dialog form").submit(function(){var self=$(this),data={};self.find('input[type!="submit"]').each(function(){var val,id=this.id.split("-"),prop=id[0],key=id[1],type=this.type;val="checkbox"===type?this.checked:$(this).val(),data[prop]||(data[prop]={}),data[prop][key]=val}),$.each(data,function(key,val){jsxc.options.set(key,val)});var cb=function(success){"string"==typeof self.attr("data-onsubmit")&&jsxc.exec(self.attr("data-onsubmit"),[success]),setTimeout(function(){success?self.find('button[type="submit"]').switchClass("btn-primary","btn-success"):self.find('button[type="submit"]').switchClass("btn-primary","btn-danger"),setTimeout(function(){self.find('button[type="submit"]').switchClass("btn-danger btn-success","btn-primary")},2e3)},200)};return jsxc.options.saveSettinsPermanent.call(this,data,cb),!1})},showRequestNotification:function(){jsxc.switchEvents({"notificationready.jsxc":function(){jsxc.gui.dialog.close(),jsxc.notification.init(),jsxc.storage.setUserItem("notification",1)},"notificationfailure.jsxc":function(){jsxc.gui.dialog.close(),jsxc.options.notification=!1,jsxc.storage.setUserItem("notification",0)}}),jsxc.gui.showConfirmDialog($.t("Should_we_notify_you_"),function(){jsxc.gui.dialog.open(jsxc.gui.template.get("pleaseAccept"),{noClose:!0}),jsxc.notification.requestPermission()},function(){$(document).trigger("notificationfailure.jsxc")})},showUnknownSender:function(bid){var confirmationText=$.t("You_received_a_message_from_an_unknown_sender_",{sender:bid});jsxc.gui.showConfirmDialog(confirmationText,function(){jsxc.gui.dialog.close(),jsxc.storage.saveBuddy(bid,{jid:bid,name:bid,status:0,sub:"none",res:[]}),jsxc.gui.window.open(bid)},function(){jsxc.storage.removeUserItem("chat",bid)})},showSelectionDialog:function(header,msg,primary,option,primaryLabel,optionLabel){var opt;opt=1===arguments.length&&"object"==typeof header&&null!==header?header:{header:header,msg:msg,primary:{label:primaryLabel,cb:primary},option:{label:optionLabel,cb:option}};var dialog=jsxc.gui.dialog.open(jsxc.gui.template.get("selectionDialog"),{noClose:!0});opt.header?dialog.find("h3").text(opt.header):dialog.find("h3").hide(),opt.msg?dialog.find("p").text(opt.msg):dialog.find("p").hide(),opt.primary&&opt.primary.label&&dialog.find(".btn-primary").text(opt.primary.label),opt.primary&&opt.option.label&&dialog.find(".btn-default").text(opt.option.label),opt.primary&&opt.primary.cb&&dialog.find(".btn-primary").click(opt.primary.cb),opt.primary&&opt.option.cb&&dialog.find(".btn-primary").click(opt.option.cb)},showNotification:function(subject,body,from){var dialog=jsxc.gui.dialog.open(jsxc.gui.template.get("notification"));dialog.find("h3").text(subject),dialog.find(".jsxc_msg").text(body),from?dialog.find(".jsxc_meta").text($.t("from")+" "+from):dialog.find(".jsxc_meta").hide()},changePresence:function(pres,external){external!==!0&&jsxc.storage.setUserItem("presence",pres),jsxc.master&&jsxc.xmpp.sendPres(),$("#jsxc_presence > span").text($("#jsxc_presence .jsxc_inner ul .jsxc_"+pres).text()),jsxc.gui.updatePresence("own",pres)},updatePresence:function(bid,pres){"own"===bid&&("dnd"===pres?($("#jsxc_menu .jsxc_muteNotification").addClass("jsxc_disabled"),jsxc.notification.muteSound(!0)):($("#jsxc_menu .jsxc_muteNotification").removeClass("jsxc_disabled"),jsxc.options.get("muteNotification")||jsxc.notification.unmuteSound(!0))),$('[data-bid="'+bid+'"]').each(function(){var el=$(this);el.attr("data-status",pres),el.find(".jsxc_avatar").length>0&&(el=el.find(".jsxc_avatar")),el.removeClass("jsxc_"+jsxc.CONST.STATUS.join(" jsxc_")).addClass("jsxc_"+pres)})},unreadMsg:function(bid){var winData=jsxc.storage.getUserItem("window",bid)||{},count=winData&&winData.unread||0;count=count===!0?1:count+1,winData.unread=count,jsxc.storage.setUserItem("window",bid,winData);var total=jsxc.storage.getUserItem("unreadMsg")||0;total++,jsxc.storage.setUserItem("unreadMsg",total),jsxc.gui.favicon&&jsxc.gui.favicon.badge(total),jsxc.gui._unreadMsg(bid,count)},_unreadMsg:function(bid,count){var win=jsxc.gui.window.get(bid);if("number"!=typeof count){var winData=jsxc.storage.getUserItem("window",bid);count=winData&&winData.unread||1,count=count===!0?1:count}var el=jsxc.gui.roster.getItem(bid).add(win);el.addClass("jsxc_unreadMsg"),el.find(".jsxc_unread").text(count)},readMsg:function(bid){var win=jsxc.gui.window.get(bid),winData=jsxc.storage.getUserItem("window",bid),count=winData&&winData.unread||0;count=count===!0?0:count;var el=jsxc.gui.roster.getItem(bid).add(win);if(el.removeClass("jsxc_unreadMsg"),el.find(".jsxc_unread").text(0),count>0){var total=jsxc.storage.getUserItem("unreadMsg")||0;total-=count,jsxc.storage.setUserItem("unreadMsg",total),jsxc.gui.favicon&&jsxc.gui.favicon.badge(total),jsxc.storage.updateUserItem("window",bid,"unread",0)}},detectUriScheme:function(container){container=$(container?container:"body"),container.find("a[href^='xmpp:']").each(function(){var action,element=$(this),href=element.attr("href").replace(/^xmpp:/,""),jid=href.split("?")[0],params={};if(href.indexOf("?")<0)action="message";else{var pairs=href.substring(href.indexOf("?")+1).split(";");action=pairs[0];var i,key,value;for(i=1;i<pairs.length;i++)key=pairs[i].split("=")[0],value=pairs[i].indexOf("=")>0?pairs[i].substring(pairs[i].indexOf("=")+1):null,params[decodeURIComponent(key)]=decodeURIComponent(value)}"function"==typeof jsxc.gui.queryActions[action]&&(element.addClass("jsxc_uriScheme jsxc_uriScheme_"+action),element.off("click").click(function(ev){return ev.stopPropagation(),jsxc.gui.queryActions[action].call(jsxc,jid,params),!1}))})},detectEmail:function(container){container=$(container?container:"body"),container.find('a[href^="mailto:"],a[href^="xmpp:"]').each(function(){var spot=$("<span>X</span>").addClass("jsxc_spot"),href=$(this).attr("href").replace(/^ *(mailto|xmpp):/,"").trim();if(""!==href&&href!==Strophe.getBareJidFromJid(jsxc.storage.getItem("jid"))){var bid=jsxc.jidToBid(href),self=$(this),s=self.prev();s.hasClass("jsxc_spot")||(s=spot.clone().attr("data-bid",bid),self.before(s)),s.off("click"),jsxc.storage.getUserItem("buddy",bid)?(jsxc.gui.update(bid),s.click(function(){return jsxc.gui.window.open(bid),!1})):s.click(function(){return jsxc.gui.showContactDialog(href),!1})}})},avatarPlaceholder:function(el,seed,text){text=text||seed;var options=jsxc.options.get("avatarplaceholder")||{},hash=jsxc.hashStr(seed),hue=Math.abs(hash)%360,saturation=options.saturation||90,lightness=options.lightness||65;el.css({"background-color":"hsl("+hue+", "+saturation+"%, "+lightness+"%)",color:"#fff","font-weight":"bold","text-align":"center","line-height":el.height()+"px","font-size":.6*el.height()+"px"}),"string"==typeof text&&text.length>0&&el.text(text[0].toUpperCase())},shortnameToImage:function(str){str=str.replace(jsxc.gui.regShortNames,function(shortname){if(!("undefined"!=typeof shortname&&""!==shortname&&(shortname in jsxc.gui.emoticonList.emojione||shortname in jsxc.gui.emoticonList.core)))return shortname;var src,filename;jsxc.gui.emoticonList.core[shortname]?(filename=jsxc.gui.emoticonList.core[shortname][jsxc.gui.emoticonList.core[shortname].length-1].replace(/^:([^:]+):$/,"$1"),src=jsxc.options.root+"/img/emotions/"+filename+".svg"):jsxc.gui.emoticonList.emojione[shortname]&&(filename=jsxc.gui.emoticonList.emojione[shortname].fname,src=jsxc.options.root+"/lib/emojione/assets/svg/"+filename+".svg");var div=$("<div>");return div.addClass("jsxc_emoticon"),div.css("background-image","url("+src+")"),div.attr("title",shortname),div.prop("outerHTML")});var obj=$("<div>"+str+"</div>");return 1===obj.find(".jsxc_emoticon").length&&0===obj.text().replace(/ /,"").length&&1===obj.find("*").length&&(obj.find(".jsxc_emoticon").addClass("jsxc_large"),str=obj.prop("outerHTML")),str},restore:function(){jsxc.restoreRoster(),jsxc.restoreWindows(),jsxc.restoreCompleted=!0,$(document).trigger("restoreCompleted.jsxc"),jsxc.changeUIState(jsxc.CONST.UISTATE.READY)}},jsxc.gui.roster={ready:!1,loaded:!1,init:function(){$(jsxc.options.rosterAppend+":first").append($(jsxc.gui.template.get("roster"))),jsxc.options.get("hideOffline")&&($("#jsxc_menu .jsxc_hideOffline").text($.t("Show_offline")),$("#jsxc_buddylist").addClass("jsxc_hideOffline")),$("#jsxc_menu .jsxc_settings").click(function(){jsxc.gui.showSettings()}),$("#jsxc_menu .jsxc_hideOffline").click(function(){var hideOffline=!jsxc.options.get("hideOffline");hideOffline?$("#jsxc_buddylist").addClass("jsxc_hideOffline"):$("#jsxc_buddylist").removeClass("jsxc_hideOffline"),
-$(this).text(hideOffline?$.t("Show_offline"):$.t("Hide_offline")),jsxc.options.set("hideOffline",hideOffline)}),jsxc.options.get("muteNotification")&&jsxc.notification.muteSound(),$("#jsxc_menu .jsxc_muteNotification").click(function(){if("dnd"!==jsxc.storage.getUserItem("presence")){var mute=!jsxc.options.get("muteNotification");mute?jsxc.notification.muteSound():jsxc.notification.unmuteSound()}}),$("#jsxc_roster .jsxc_addBuddy").click(function(){jsxc.gui.showContactDialog()}),$("#jsxc_roster .jsxc_onlineHelp").click(function(){window.open(jsxc.options.onlineHelp,"onlineHelp")}),$("#jsxc_roster .jsxc_about").click(function(){jsxc.gui.showAboutDialog()}),$("#jsxc_toggleRoster").click(function(){jsxc.gui.roster.toggle()}),$("#jsxc_presence li").click(function(){var self=$(this),pres=self.data("pres");"offline"===pres?jsxc.xmpp.logout(!1):jsxc.gui.changePresence(pres)}),$("#jsxc_buddylist").slimScroll({distance:"3px",height:$("#jsxc_roster").height()-31+"px",width:$("#jsxc_buddylist").width()+"px",color:"#fff",opacity:"0.5"}),$("#jsxc_roster > .jsxc_bottom > div").each(function(){jsxc.gui.toggleList.call($(this))});var rosterState=jsxc.storage.getUserItem("roster")||(jsxc.options.get("loginForm").startMinimized?"hidden":"shown");$("#jsxc_roster").addClass("jsxc_state_"+rosterState),$("#jsxc_windowList").addClass("jsxc_roster_"+rosterState);var pres=jsxc.storage.getUserItem("presence")||"online";$("#jsxc_presence > span").text($("#jsxc_presence .jsxc_"+pres).text()),jsxc.gui.updatePresence("own",pres),jsxc.gui.tooltip("#jsxc_roster"),jsxc.notice.load(),jsxc.gui.roster.ready=!0,$(document).trigger("ready.roster.jsxc")},add:function(bid){var data=jsxc.storage.getUserItem("buddy",bid),bud=jsxc.gui.buddyTemplate.clone().attr("data-bid",bid).attr("data-type",data.type||"chat");$("#jsxc_roster > p").remove(),jsxc.gui.roster.insert(bid,bud),bud.click(function(){jsxc.gui.window.open(bid)}),bud.find(".jsxc_msg").click(function(){return jsxc.gui.window.open(bid),!1}),bud.find(".jsxc_rename").click(function(){return jsxc.gui.roster.rename(bid),!1}),"groupchat"!==data.type&&bud.find(".jsxc_delete").click(function(){return jsxc.gui.showRemoveDialog(bid),!1});var expandClick=function(){return bud.trigger("extra.jsxc"),$("body").click(),bud.find(".jsxc_menu").hasClass("jsxc_open")||(bud.find(".jsxc_menu").addClass("jsxc_open"),$("body").one("click",function(){bud.find(".jsxc_menu").removeClass("jsxc_open")})),!1};bud.find(".jsxc_more").click(expandClick),bud.find(".jsxc_vcard").click(function(){return jsxc.gui.showVcard(data.jid),!1}),jsxc.gui.update(bid),$("#jsxc_buddylist").slimScroll({scrollTo:"0px"});for(var history=jsxc.storage.getUserItem("history",bid)||[],i=0;history.length>i;){var message=new jsxc.Message(history[i]);if(message.direction!==jsxc.Message.SYS){$('[data-bid="'+bid+'"]').find(".jsxc_lastmsg .jsxc_text").html(message.msg);break}i++}$(document).trigger("add.roster.jsxc",[bid,data,bud])},getItem:function(bid){return $("#jsxc_buddylist > li[data-bid='"+bid+"']")},insert:function(bid,li){var data=jsxc.storage.getUserItem("buddy",bid),listElements=$("#jsxc_buddylist > li"),insert=!1;data.name||(data.name=bid);var status="both"===data.sub?data.status:-1;listElements.each(function(){var thisStatus="both"===$(this).data("sub")?$(this).data("status"):-1;if($(this).data("name").toLowerCase()>data.name.toLowerCase()&&thisStatus===status||thisStatus<status)return $(this).before(li),insert=!0,!1}),insert||li.appendTo("#jsxc_buddylist")},reorder:function(bid){jsxc.gui.roster.insert(bid,jsxc.gui.roster.remove(bid))},remove:function(bid){return jsxc.gui.roster.getItem(bid).detach()},purge:function(bid){jsxc.master&&(jsxc.storage.removeUserItem("buddy",bid),jsxc.storage.removeUserItem("otr",bid),jsxc.storage.removeUserItem("otr_version_"+bid),jsxc.storage.removeUserItem("chat",bid),jsxc.storage.removeUserItem("window",bid),jsxc.storage.removeUserElement("buddylist",bid),jsxc.storage.removeUserElement("windowlist",bid)),jsxc.gui.window._close(bid),jsxc.gui.roster.remove(bid)},rename:function(bid){var name=jsxc.gui.roster.getItem(bid).find(".jsxc_name"),options=jsxc.gui.roster.getItem(bid).find(".jsxc_lastmsg, .jsxc_more"),input=$('<input type="text" name="name"/>');$("body").click(),options.hide(),name=name.replaceWith(input),input.val(name.text()),input.keypress(function(ev){13===ev.which&&(options.css("display",""),input.replaceWith(name),jsxc.gui.roster._rename(bid,$(this).val()),$("html").off("click"))}),input.click(function(){return!1}),$("html").one("click",function(){options.css("display",""),input.replaceWith(name),jsxc.gui.roster._rename(bid,input.val())})},_rename:function(bid,newname){if(jsxc.master){var d=jsxc.storage.getUserItem("buddy",bid)||{};if("chat"===d.type){var iq=$iq({type:"set"}).c("query",{xmlns:"jabber:iq:roster"}).c("item",{jid:Strophe.getBareJidFromJid(d.jid),name:newname});jsxc.xmpp.conn.sendIQ(iq)}else"groupchat"===d.type&&jsxc.xmpp.bookmarks.add(bid,newname,d.nickname,d.autojoin)}jsxc.storage.updateUserItem("buddy",bid,"name",newname),jsxc.gui.update(bid)},toggle:function(state){var duration,roster=$("#jsxc_roster"),wl=$("#jsxc_windowList");return state||(state=jsxc.storage.getUserItem("roster")===jsxc.CONST.HIDDEN?jsxc.CONST.SHOWN:jsxc.CONST.HIDDEN),"shown"===state&&jsxc.isExtraSmallDevice()&&jsxc.gui.window.hide(),jsxc.storage.setUserItem("roster",state),roster.removeClass("jsxc_state_hidden jsxc_state_shown").addClass("jsxc_state_"+state),wl.removeClass("jsxc_roster_hidden jsxc_roster_shown").addClass("jsxc_roster_"+state),duration=1e3*parseFloat(roster.css("transitionDuration")||0),setTimeout(function(){jsxc.gui.updateWindowListSB()},duration),$(document).trigger("toggle.roster.jsxc",[state,duration]),duration},noConnection:function(){$("#jsxc_roster").addClass("jsxc_noConnection"),$("#jsxc_buddylist").empty(),$("#jsxc_roster").append($("<p>"+$.t("no_connection")+"</p>").append(" <a>"+$.t("relogin")+"</a>").click(function(){jsxc.gui.showLoginBox()}))},empty:function(){var text=$("<p>"+$.t("Your_roster_is_empty_add_")+"</p>"),link=text.find("a");link.click(function(){jsxc.gui.showContactDialog()}),text.append(link),text.append("."),$("#jsxc_roster").prepend(text)}},jsxc.gui.dialog={open:function(data,o){var opt=$.extend({name:""},o),src=$('<div data-name="'+opt.name+'" id="jsxc_dialog" />').append(data);return $.magnificPopup.open({items:{src:src},type:"inline",modal:opt.noClose,callbacks:{beforeClose:function(){$(document).trigger("cleanup.dialog.jsxc")},afterClose:function(){$(document).trigger("close.dialog.jsxc")},open:function(){$("#jsxc_dialog .jsxc_close").click(function(ev){ev.preventDefault(),jsxc.gui.dialog.close()}),$("#jsxc_dialog form").each(function(){var form=$(this);form.find("button[data-jsxc-loading-text]").each(function(){var btn=$(this);btn.on("btnloading.jsxc",function(){btn.prop("disabled")||(btn.prop("disabled",!0),btn.data("jsxc_value",btn.text()),btn.text(btn.attr("data-jsxc-loading-text")))}),btn.on("btnfinished.jsxc",function(){btn.prop("disabled")&&(btn.prop("disabled",!1),btn.text(btn.data("jsxc_value")))})})}),jsxc.gui.dialog.resize(),$(document).trigger("complete.dialog.jsxc")}}}),$("#jsxc_dialog")},close:function(name){jsxc.debug("close dialog"),"string"==typeof name&&name.length>0&&!jsxc.el_exists("#jsxc_dialog[data-name="+name+"]")||$.magnificPopup.close()},resize:function(){}},jsxc.gui.window={init:function(bid){function resizeTextarea(){$(this).data("originalHeight")||$(this).data("originalHeight",$(this).outerHeight()),$(this).outerHeight()<this.scrollHeight-1&&$(this).val()&&$(this).height(1.5*$(this).data("originalHeight"))}if(jsxc.gui.window.get(bid).length>0)return jsxc.gui.window.get(bid);var win=jsxc.gui.windowTemplate.clone().attr("data-bid",bid).appendTo("#jsxc_windowList > ul"),data=jsxc.storage.getUserItem("buddy",bid);win.data("jid",data.jid);var expandClick=function(){return win.trigger("extra.jsxc"),$("body").click(),win.find(".jsxc_menu").hasClass("jsxc_open")||(win.find(".jsxc_menu").addClass("jsxc_open"),$("body").one("click",function(){win.find(".jsxc_menu").removeClass("jsxc_open")})),!1};win.find(".jsxc_more").click(expandClick),win.find(".jsxc_menu").click(function(){$("body").click()}),win.find(".jsxc_verification").click(function(){jsxc.gui.showVerification(bid)}),win.find(".jsxc_fingerprints").click(function(){jsxc.gui.showFingerprints(bid)}),win.find(".jsxc_transfer").click(function(){jsxc.otr.toggleTransfer(bid)}),win.find(".jsxc_bar").click(function(){jsxc.gui.window.toggle(bid)}),win.find(".jsxc_close").click(function(){jsxc.gui.window.close(bid)}),win.find(".jsxc_clear").click(function(){jsxc.gui.window.clear(bid)}),win.find(".jsxc_sendFile").click(function(){$("body").click(),jsxc.gui.window.sendFile(bid)}),win.find(".jsxc_tools").click(function(){return!1});var textinputBlurTimeout;if(win.find(".jsxc_textinput").keyup(function(ev){var body=$(this).val();13!==ev.which&&jsxc.xmpp.chatState.startComposing(bid),13!==ev.which||ev.shiftKey||(body="",jsxc.xmpp.chatState.endComposing(bid)),jsxc.storage.updateUserItem("window",bid,"text",body),27===ev.which&&jsxc.gui.window.close(bid)}).keypress(function(ev){return 13!==ev.which||ev.shiftKey||!$(this).val()?void resizeTextarea.call(this):(jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.OUT,msg:$(this).val()}),$(this).css("height","").val(""),void ev.preventDefault())}).focus(function(){textinputBlurTimeout&&clearTimeout(textinputBlurTimeout),jsxc.gui.readMsg(bid),resizeTextarea.call(this)}).blur(function(){var self=$(this);textinputBlurTimeout=setTimeout(function(){self.css("height","")},1200)}).mouseenter(function(){$("#jsxc_windowList").data("isOver",!0)}).mouseleave(function(){$("#jsxc_windowList").data("isOver",!1)}),win.find(".jsxc_textarea").click(function(){"function"!=typeof getSelection||getSelection().toString()||win.find(".jsxc_textinput").focus()}),win.find(".jsxc_textarea").slimScroll({height:"234px",distance:"3px"}),win.find(".jsxc_name").disableSelection(),win.find(".slimScrollDiv").resizable({handles:"w, nw, n",minHeight:234,minWidth:250,resize:function(event,ui){jsxc.gui.window.resize(win,ui)},start:function(){win.removeClass("jsxc_normal")},stop:function(){win.addClass("jsxc_normal")}}),win.find(".jsxc_window").css("bottom",-1*win.find(".jsxc_fade").height()),$.inArray(bid,jsxc.storage.getUserItem("windowlist"))<0){var wl=jsxc.storage.getUserItem("windowlist")||[];wl.push(bid),jsxc.storage.setUserItem("windowlist",wl),jsxc.storage.setUserItem("window",bid,{minimize:!0,text:"",unread:0}),jsxc.gui.window.hide(bid)}else jsxc.storage.getUserItem("window",bid).unread&&jsxc.gui._unreadMsg(bid);return $.each(jsxc.gui.emotions,function(i,val){var ins=val[0].split(" ")[0],li=$("<li>");li.append(jsxc.gui.shortnameToImage(":"+val[1]+":")),li.find("div").attr("title",ins),li.click(function(){win.find(".jsxc_textinput").val(win.find(".jsxc_textinput").val()+ins),win.find(".jsxc_textinput").focus()}),win.find(".jsxc_emoticons ul").prepend(li)}),jsxc.gui.toggleList.call(win.find(".jsxc_emoticons")),jsxc.gui.window.restoreChat(bid),jsxc.gui.update(bid),jsxc.gui.updateWindowListSB(),jsxc.master&&!jsxc.otr.objects[bid]?jsxc.otr.create(bid):jsxc.otr.enable(bid),$(document).trigger("init.window.jsxc",[win]),win},resize:function(win,ui,outer){var bid;if("object"==typeof win)bid=win.attr("data-bid");else{if("string"!=typeof win)return void jsxc.warn("jsxc.gui.window.resize has to be called either with bid or window object.");bid=win,win=jsxc.gui.window.get(bid)}win.attr("data-default-height")||win.attr("data-default-height",win.find(".ui-resizable").height()),win.attr("data-default-width")||win.attr("data-default-width",win.find(".ui-resizable").width());var outer_height_diff=outer?win.find(".jsxc_window").outerHeight()-win.find(".ui-resizable").height():0;ui=$.extend({size:{width:parseInt(win.attr("data-default-width")),height:parseInt(win.attr("data-default-height"))+outer_height_diff}},ui||{}),outer&&(ui.size.height-=outer_height_diff),win.find(".slimScrollDiv").css({width:ui.size.width,height:ui.size.height}),win.width(ui.size.width),win.find(".jsxc_textarea").slimScroll({height:ui.size.height}),$(document).trigger("resize.window.jsxc",[win,bid,ui.size])},fullsize:function(bid){var win=jsxc.gui.window.get(bid),size=jsxc.options.viewport.getSize();size.width-=10,size.height-=win.find(".jsxc_bar").outerHeight()+win.find(".jsxc_textinput").outerHeight(),jsxc.gui.window.resize(win,{size:size})},get:function(id){return $("li.jsxc_windowItem[data-bid='"+jsxc.jidToBid(id)+"']")},open:function(bid){var win=jsxc.gui.window.init(bid);return jsxc.gui.window.show(bid),jsxc.gui.window.highlight(bid),win},close:function(bid){return 0===jsxc.gui.window.get(bid).length?void jsxc.warn("Want to close a window, that is not open."):(jsxc.storage.removeUserElement("windowlist",bid),jsxc.storage.removeUserItem("window",bid),jsxc.storage.getUserItem("buddylist").indexOf(bid)<0&&(jsxc.storage.removeUserItem("buddy",bid),jsxc.storage.removeUserItem("chat",bid)),void jsxc.gui.window._close(bid))},_close:function(bid){jsxc.gui.window.get(bid).remove(),jsxc.gui.updateWindowListSB()},toggle:function(bid){var win=jsxc.gui.window.get(bid);0!==win.parents("#jsxc_windowList").length&&(win.hasClass("jsxc_min")?jsxc.gui.window.show(bid):jsxc.gui.window.hide(bid),jsxc.gui.updateWindowListSB())},show:function(bid){return jsxc.storage.updateUserItem("window",bid,"minimize",!1),jsxc.gui.window._show(bid)},_show:function(bid){var win=jsxc.gui.window.get(bid),duration=0;jsxc.isExtraSmallDevice()&&(parseFloat($("#jsxc_roster").css("right"))>=0&&(duration=jsxc.gui.roster.toggle()),jsxc.gui.window.hide(),jsxc.gui.window.fullsize(bid)),win.removeClass("jsxc_min").addClass("jsxc_normal"),win.find(".jsxc_window").css("bottom","0"),setTimeout(function(){var padding=$("#jsxc_windowListSB").width(),innerWidth=$("#jsxc_windowList>ul").width(),outerWidth=$("#jsxc_windowList").width()-padding;if(innerWidth>outerWidth){var offset=parseInt($("#jsxc_windowList>ul").css("right")),width=win.outerWidth(!0),right=innerWidth-win.position().left-width+offset,left=outerWidth-(innerWidth-win.position().left)-offset;left<0&&jsxc.gui.scrollWindowListBy(left*-1),right<0&&jsxc.gui.scrollWindowListBy(right)}},duration),jsxc.gui.window.scrollDown(bid),jsxc.restoreCompleted&&win.find(".jsxc_textinput").focus(),win.trigger("show.window.jsxc")},hide:function(bid){var hide=function(bid){jsxc.storage.updateUserItem("window",bid,"minimize",!0),jsxc.gui.window._hide(bid)};bid?hide(bid):$("#jsxc_windowList > ul > li").each(function(){var el=$(this);el.hasClass("jsxc_min")||hide(el.attr("data-bid"))})},_hide:function(bid){var win=jsxc.gui.window.get(bid);win.removeClass("jsxc_normal").addClass("jsxc_min"),win.find(".jsxc_window").css("bottom",-1*win.find(".jsxc_fade").height()),win.trigger("hidden.window.jsxc")},highlight:function(bid){var el=jsxc.gui.window.get(bid).find(" .jsxc_bar");el.is(":animated")||el.effect("highlight",{color:"orange"},2e3)},scrollDown:function(bid){var chat=jsxc.gui.window.get(bid).find(".jsxc_textarea");0!==chat.length&&chat.slimScroll({scrollTo:chat.get(0).scrollHeight+"px"})},postMessage:function(message){"object"!=typeof message||message instanceof jsxc.Message||(message=new jsxc.Message(message));var data=jsxc.storage.getUserItem("buddy",message.bid);!message.htmlMsg&&message.msg&&(message.htmlMsg=message.msg),message.msg=jsxc.removeHTML(message.msg),message.msg=jsxc.escapeHTML(message.msg),message.direction===jsxc.Message.OUT&&data.msgstate===OTR.CONST.MSGSTATE_FINISHED&&message.forwarded!==!0&&(message.direction=jsxc.Message.SYS,message.msg=$.t("your_message_wasnt_send_please_end_your_private_conversation")),message.direction===jsxc.Message.OUT&&data.msgstate===OTR.CONST.MSGSTATE_FINISHED&&(message.direction="sys",message.msg=$.t("unencrypted_message_received")+" "+message.msg),message.encrypted="boolean"==typeof message.encrypted?message.encrypted:data.msgstate===OTR.CONST.MSGSTATE_ENCRYPTED;try{message.save()}catch(err){jsxc.warn("Unable to save message.",err),message=new jsxc.Message({msg:"Unable to save that message. Please clear some chat histories.",direction:jsxc.Message.SYS})}return"in"!==message.direction||jsxc.gui.window.get(message.bid).find(".jsxc_textinput").is(":focus")||(jsxc.gui.unreadMsg(message.bid),$(document).trigger("postmessagein.jsxc",[message.bid,message.htmlMsg])),message.direction===jsxc.Message.OUT&&jsxc.master&&message.forwarded!==!0&&message.htmlMsg&&jsxc.xmpp.sendMessage(message),jsxc.gui.window._postMessage(message),"out"===message.direction&&"?"===message.msg&&jsxc.options.get("theAnswerToAnything")!==!1&&("undefined"==typeof jsxc.options.get("theAnswerToAnything")||100*Math.random()%42<1)&&(jsxc.options.set("theAnswerToAnything",!0),jsxc.gui.window.postMessage(new jsxc.Message({bid:message.bid,direction:jsxc.Message.SYS,msg:"42"}))),message},_postMessage:function(message,restore){var bid=message.bid,win=jsxc.gui.window.get(bid),msg=message.msg,direction=message.direction,uid=message._uid;win.find(".jsxc_textinput").is(":not(:focus)")&&direction===jsxc.Message.IN&&!restore&&jsxc.gui.window.highlight(bid),msg=msg.replace(jsxc.CONST.REGEX.URL,function(url){var href=url.match(/^https?:\/\//i)?url:"http://"+url;return'<a href="'+href+'" target="_blank">'+url+"</a>"}),msg=msg.replace(new RegExp("(xmpp:)?("+jsxc.CONST.REGEX.JID.source+")(\\?[^\\s]+\\b)?","i"),function(match,protocol,jid,action){return"xmpp:"===protocol?("string"==typeof action&&(jid+=action),'<a href="xmpp:'+jid+'">xmpp:'+jid+"</a>"):'<a href="mailto:'+jid+'" target="_blank">mailto:'+jid+"</a>"}),$.each(jsxc.gui.emotions,function(i,val){msg=msg.replace(val[2],":"+val[1]+":")}),msg=jsxc.gui.shortnameToImage(msg),msg=msg.replace(/(\r\n|\r|\n)/g,"<br />");var bidData=jsxc.storage.getUserItem("buddy",bid)||{};"in"===direction&&(msg=msg.replace(/^\/me /,'<i title="/me">'+jsxc.removeHTML(bidData.name||bid)+"</i> ")),msg.match(/^\?OTR([:,|?]|[?v0-9x]+)/)&&(msg='<i title="'+msg+'">'+$.t("Unreadable_OTR_message")+"</i>");var msgDiv=$("<div>"),msgTsDiv=$("<div>");if(msgDiv.addClass("jsxc_chatmessage jsxc_"+direction),msgDiv.attr("id",uid.replace(/:/g,"-")),msgDiv.html("<div>"+msg+"</div>"),msgTsDiv.addClass("jsxc_timestamp"),msgTsDiv.text(jsxc.getFormattedTime(message.stamp)),message.isReceived()?msgDiv.addClass("jsxc_received"):msgDiv.removeClass("jsxc_received"),message.forwarded?msgDiv.addClass("jsxc_forwarded"):msgDiv.removeClass("jsxc_forwarded"),message.encrypted?msgDiv.addClass("jsxc_encrypted"):msgDiv.removeClass("jsxc_encrypted"),message.error?msgDiv.addClass("jsxc_error"):msgDiv.removeClass("jsxc_error"),msgDiv.attr("title",message.error),message.attachment&&message.attachment.name){var attachment=$("<div>");attachment.addClass("jsxc_attachment"),attachment.addClass("jsxc_"+message.attachment.type.replace(/\//,"-")),attachment.addClass("jsxc_"+message.attachment.type.replace(/^([^\/]+)\/.*/,"$1")),message.attachment.persistent===!1&&attachment.addClass("jsxc_notPersistent"),message.attachment.data&&attachment.addClass("jsxc_data"),message.attachment.type.match(/^image\//)&&message.attachment.thumbnail?$('<img alt="preview">').attr("src",message.attachment.thumbnail).attr("title",message.attachment.name).appendTo(attachment):attachment.text(message.attachment.name),message.attachment.data&&(attachment=$("<a>").append(attachment),attachment.attr("href",message.attachment.data),attachment.attr("download",message.attachment.name),message.attachment.data===message.msg&&msgDiv.find("div").first().empty()),msgDiv.find("div").first().append(attachment)}if("sys"===direction?jsxc.gui.window.get(bid).find(".jsxc_textarea").append('<div class="jsxc_clear"/>'):"undefined"!=typeof message.stamp&&msgDiv.append(msgTsDiv),"sys"!==direction&&$('[data-bid="'+bid+'"]').find(".jsxc_lastmsg .jsxc_text").html(msg),jsxc.Message.getDOM(uid).length>0?jsxc.Message.getDOM(uid).replaceWith(msgDiv):win.find(".jsxc_textarea").append(msgDiv),"object"==typeof message.sender&&null!==message.sender){var title="",avatarDiv=$("<div>");if(avatarDiv.addClass("jsxc_avatar").prependTo(msgDiv),"string"==typeof message.sender.jid){msgDiv.attr("data-bid",jsxc.jidToBid(message.sender.jid));var data=jsxc.storage.getUserItem("buddy",jsxc.jidToBid(message.sender.jid))||{};jsxc.gui.updateAvatar(msgDiv,jsxc.jidToBid(message.sender.jid),data.avatar),title=jsxc.jidToBid(message.sender.jid)}"string"==typeof message.sender.name&&(msgDiv.attr("data-name",message.sender.name),"string"!=typeof message.sender.jid&&jsxc.gui.avatarPlaceholder(avatarDiv,message.sender.name),""!==title&&(title="\n"+title),title=message.sender.name+title,msgTsDiv.text(msgTsDiv.text()+" "+message.sender.name)),avatarDiv.attr("title",jsxc.escapeHTML(title)),msgDiv.prev().length>0&&msgDiv.prev().find(".jsxc_avatar").attr("title")===avatarDiv.attr("title")&&avatarDiv.css("visibility","hidden")}jsxc.gui.detectUriScheme(win),jsxc.gui.detectEmail(win),jsxc.gui.window.scrollDown(bid)},setText:function(bid,text){jsxc.gui.window.get(bid).find(".jsxc_textinput").val(text)},restoreChat:function(bid){var chat=jsxc.storage.getUserItem("chat",bid);if(chat){for(;null!==chat&&chat.length>0;){var c=chat.pop();c.bid=bid,c._uid=c.uid,delete c.uid;var message=new jsxc.Message(c);message.save(),jsxc.gui.window._postMessage(message,!0)}jsxc.storage.removeUserItem("chat",bid)}for(var history=jsxc.storage.getUserItem("history",bid);null!==history&&history.length>0;){var uid=history.pop();jsxc.gui.window._postMessage(new jsxc.Message(uid),!0)}},clear:function(bid){jsxc.storage.removeUserItem("chat",bid);var history=jsxc.storage.getUserItem("history",bid)||[];history.map(function(id){jsxc.storage.removeUserItem("msg",id)}),jsxc.storage.setUserItem("history",bid,[]);var win=jsxc.gui.window.get(bid);win.length>0&&win.find(".jsxc_textarea").empty()},receivedMessage:function(bid,uid){jsxc.warn("Using deprecated receivedMessage.");var message=new jsxc.Message(uid);message.received()},updateProgress:function(message,sent,size){var div=message.getDOM(),span=div.find(".jsxc_timestamp span");0===span.length&&(div.find(".jsxc_timestamp").append("<span>"),span=div.find(".jsxc_timestamp span")),span.text(" "+Math.round(sent/size*100)+"%"),sent===size&&span.remove()},showOverlay:function(bid,content,allowClose){var win=jsxc.gui.window.get(bid);win.find(".jsxc_overlay .jsxc_body").empty().append(content),win.find(".jsxc_overlay .jsxc_close").off("click").click(function(){jsxc.gui.window.hideOverlay(bid)}),allowClose!==!0?win.find(".jsxc_overlay .jsxc_close").hide():win.find(".jsxc_overlay .jsxc_close").show(),win.addClass("jsxc_showOverlay")},hideOverlay:function(bid){var win=jsxc.gui.window.get(bid);win.removeClass("jsxc_showOverlay")},selectResource:function(bid,text,cb,res){if(res=res||jsxc.storage.getUserItem("res",bid)||[],cb=cb||function(){},res.length>0){var i,li,content=$("<div>"),list=$("<ul>");for(i=0;i<res.length;i++)li=$("<li>"),li.append($("<a>").text(res[i])),li.appendTo(list);list.find("a").click(function(ev){ev.preventDefault(),jsxc.gui.window.hideOverlay(bid),cb({status:"selected",result:$(this).text()})}),text&&$("<p>").text(text).appendTo(content),list.appendTo(content),jsxc.gui.window.showOverlay(bid,content)}else cb({status:"unavailable"})},smpRequest:function(bid,question){var content=$("<div>"),p=$("<p>");p.text($.t("smpRequestReceived")),p.appendTo(content);var abort=$("<button>");abort.text($.t("Abort")),abort.click(function(){jsxc.gui.window.hideOverlay(bid),jsxc.storage.removeUserItem("smp",bid),jsxc.master&&jsxc.otr.objects[bid]&&jsxc.otr.objects[bid].sm.abort()}),abort.appendTo(content);var verify=$("<button>");verify.text($.t("Verify")),verify.addClass("jsxc_btn jsxc_btn-primary"),verify.click(function(){jsxc.gui.window.hideOverlay(bid),jsxc.otr.onSmpQuestion(bid,question)}),verify.appendTo(content),jsxc.gui.window.showOverlay(bid,content)},sendFile:function(jid){jsxc.fileTransfer.startGuiAction(jid)}},jsxc.gui.template={},jsxc.gui.template.get=function(name,bid,msg){var ph={my_priv_fingerprint:jsxc.storage.getUserItem("priv_fingerprint")?jsxc.storage.getUserItem("priv_fingerprint").replace(/(.{8})/g,"$1 "):$.t("not_available"),my_jid:jsxc.storage.getItem("jid")||"",my_node:Strophe.getNodeFromJid(jsxc.storage.getItem("jid")||"")||"",root:jsxc.options.root,app_name:jsxc.options.app_name,version:jsxc.version};if(bid){var data=jsxc.storage.getUserItem("buddy",bid);$.extend(ph,{bid_priv_fingerprint:data&&data.fingerprint?data.fingerprint.replace(/(.{8})/g,"$1 "):$.t("not_available"),bid_jid:bid,bid_name:data&&data.name?jsxc.escapeHTML(data.name):bid})}msg&&$.extend(ph,{msg:msg});var ret=jsxc.gui.template[name];return"string"==typeof ret?(ret=ret.replace(/\{\{root\}\}/g,ph.root),ret=$("<div>"+ret+"</div>"),ret.find("[data-var]").each(function(){var key=$(this).attr("data-var"),val="string"==typeof ph[key]?ph[key]:"(Unknown placeholder: "+key+")";"INPUT"===$(this).prop("tagName").toUpperCase()?$(this).val(val):$(this).text(val)}),ret=ret.find(">*"),ret.localize(ph),ret):(jsxc.debug("Template not available: "+name),name)},jsxc.Message=function(){this._uid=null,this._received=!1,this.encrypted=null,this.forwarded=!1,this.stamp=(new Date).getTime(),this.type=jsxc.Message.PLAIN,"string"==typeof arguments[0]&&arguments[0].length>0&&1===arguments.length?(this._uid=arguments[0],this.load(this._uid)):"object"==typeof arguments[0]&&null!==arguments[0]&&$.extend(this,arguments[0]),this._uid||(this._uid=(new Date).getTime()+":msg")},jsxc.Message.prototype.load=function(uid){var data=jsxc.storage.getUserItem("msg",uid);data||jsxc.debug("Could not load message with uid "+uid),$.extend(this,data)},jsxc.Message.prototype.save=function(){var history;if(this.bid&&(history=jsxc.storage.getUserItem("history",this.bid)||[],history.indexOf(this._uid)<0?history.length>jsxc.options.get("numberOfMsg")&&jsxc.Message.delete(history.pop()):history=null),Image&&this.attachment&&this.attachment.type.match(/^image\//i)&&this.attachment.data&&!this.attachment.thumbnail){var sHeight,sWidth,sx,sy,dHeight=100,dWidth=100,canvas=$("<canvas>").get(0);canvas.width=dWidth,canvas.height=dHeight;var ctx=canvas.getContext("2d"),img=new Image;img.src=this.attachment.data,img.height>img.width?(sHeight=img.width,sWidth=img.width,sx=0,sy=(img.height-img.width)/2):(sHeight=img.height,sWidth=img.height,sx=(img.width-img.height)/2,sy=0),ctx.drawImage(img,sx,sy,sWidth,sHeight,0,0,dWidth,dHeight),this.attachment.thumbnail=canvas.toDataURL(),"out"===this.direction&&(this.attachment.data=null)}var data;return this.attachment&&this.attachment.size>jsxc.options.maxStorableSize&&"in"===this.direction&&(jsxc.debug("Attachment to large to store"),data=this.attachment.data,this.attachment.data=null,this.attachment.persistent=!1),jsxc.storage.setUserItem("msg",this._uid,this),history&&(history.unshift(this._uid),jsxc.storage.setUserItem("history",this.bid,history)),data&&this.attachment&&(this.attachment.data=data),this},jsxc.Message.prototype.delete=function(){jsxc.Message.delete(this._uid)},jsxc.Message.prototype.getDOM=function(){return jsxc.Message.getDOM(this._uid)},jsxc.Message.prototype.received=function(){this._received=!0,this.save(),this.getDOM().addClass("jsxc_received")},jsxc.Message.prototype.isReceived=function(){return this._received},jsxc.Message.delete=function(uid){var data=jsxc.storage.getUserItem("msg",uid);if(data&&(jsxc.storage.removeUserItem("msg",uid),data.bid)){var history=jsxc.storage.getUserItem("history",data.bid)||[];history=$.grep(history,function(el){return el!==uid}),jsxc.storage.setUserItem("history",data.bid,history)}},jsxc.Message.getDOM=function(uid){return $("#"+uid.replace(/:/g,"-"))},jsxc.Message.IN="in",jsxc.Message.OUT="out",jsxc.Message.SYS="sys",jsxc.Message.HTML="html",jsxc.Message.PLAIN="plain",jsxc.muc={conn:null,CONST:{AFFILIATION:{ADMIN:"admin",MEMBER:"member",OUTCAST:"outcast",OWNER:"owner",NONE:"none"},ROLE:{MODERATOR:"moderator",PARTICIPANT:"participant",VISITOR:"visitor",NONE:"none"},ROOMSTATE:{INIT:0,ENTERED:1,EXITED:2,AWAIT_DESTRUCTION:3,DESTROYED:4},ROOMCONFIG:{INSTANT:"instant"}},init:function(o){var self=jsxc.muc;self.conn=jsxc.xmpp.conn;var options=o||jsxc.options.get("muc");return options&&"string"==typeof options.server?(jsxc.gui.roster.ready?self.initMenu():$(document).one("ready.roster.jsxc",jsxc.muc.initMenu),$(document).off("presence.jsxc",jsxc.muc.onPresence),$(document).off("error.presence.jsxc",jsxc.muc.onPresenceError),$(document).on("presence.jsxc",jsxc.muc.onPresence),$(document).on("error.presence.jsxc",jsxc.muc.onPresenceError),self.conn.addHandler(self.onGroupchatMessage,null,"message","groupchat"),self.conn.addHandler(self.onErrorMessage,null,"message","error"),void(self.conn.muc.roomNames=jsxc.storage.getUserItem("roomNames")||[])):(jsxc.debug("Discover muc service"),void setTimeout(function(){self.conn.disco.items(Strophe.getDomainFromJid(self.conn.jid),null,function(items){$(items).find("item").each(function(){var jid=$(this).attr("jid"),discovered=!1;return self.conn.disco.info(jid,null,function(info){var mucFeature=$(info).find('feature[var="'+Strophe.NS.MUC+'"]'),mucIdentity=$(info).find('identity[category="conference"][type="text"]');mucFeature.length>0&&mucIdentity.length>0&&(jsxc.debug("muc service found",jid),jsxc.options.set("muc",{server:jid,name:$(info).find("identity").attr("name")}),discovered=!0,self.init())}),!discovered})})},1e3))},initMenu:function(){var li=$("<li>").attr("class","jsxc_joinChat jsxc_groupcontacticon").text($.t("Join_chat"));li.click(jsxc.muc.showJoinChat),0===$("#jsxc_menu .jsxc_joinChat").length&&$("#jsxc_menu ul .jsxc_about").before(li)},showJoinChat:function(r,p){function loadRoomList(server){return server?void self.conn.muc.listRooms(server,function(stanza){$("#jsxc_roomlist option:last").remove(),$(stanza).find("item").each(function(){var r=$("<option>"),rjid=$(this).attr("jid").toLowerCase(),rnode=Strophe.getNodeFromJid(rjid),rname=$(this).attr("name")||rnode;r.text(rname),r.attr("data-jid",rjid),r.attr("value",rnode),$("#jsxc_roomlist select").append(r)});var set=$(stanza).find('set[xmlns="http://jabber.org/protocol/rsm"]');if(set.length>0){var count=set.find("count").text()||"?";dialog.find(".jsxc_inputinfo").show().removeClass("jsxc_waiting").text($.t("Could_load_only",{count:count}))}else dialog.find(".jsxc_inputinfo").hide()},function(stanza){var errTextMsg=$(stanza).find("error text").text()||null;jsxc.warn("Could not load rooms",errTextMsg),errTextMsg&&dialog.find(".jsxc_inputinfo.jsxc_server").show().text(errTextMsg),$(stanza).find("error remote-server-not-found")&&dialog.find("#jsxc_server").addClass("jsxc_invalid"),dialog.find(".jsxc_inputinfo.jsxc_room").hide()}):void dialog.find(".jsxc_inputinfo").hide()}var self=jsxc.muc,dialog=jsxc.gui.dialog.open(jsxc.gui.template.get("joinChat"));dialog.find(".jsxc_join").hide(),"string"==typeof r&&dialog.find("#jsxc_room").val(r),"string"==typeof p&&dialog.find("#jsxc_password").val(p);var serverInputTimeout;dialog.find("#jsxc_server").val(jsxc.options.get("muc").server),dialog.find("#jsxc_server").on("input",function(){var self=$(this);serverInputTimeout&&(clearTimeout(serverInputTimeout),dialog.find(".jsxc_inputinfo.jsxc_room").hide()),dialog.find(".jsxc_inputinfo.jsxc_server").hide().text(""),dialog.find("#jsxc_server").removeClass("jsxc_invalid"),self.val()&&self.val().match(/^[.-0-9a-zA-Z]+$/i)&&(dialog.find(".jsxc_inputinfo.jsxc_room").show().addClass("jsxc_waiting"),serverInputTimeout=setTimeout(function(){loadRoomList(self.val())},1800))}).trigger("input");var error_handler=function(event,condition,room){var msg;switch(condition){case"not-authorized":msg=$.t("A_password_is_required");break;case"registration-required":msg=$.t("You_are_not_on_the_member_list");break;case"forbidden":msg=$.t("You_are_banned_from_this_room");break;case"conflict":msg=$.t("Your_desired_nickname_");break;case"service-unavailable":msg=$.t("The_maximum_number_");break;case"item-not-found":msg=$.t("This_room_is_locked_");
-break;case"not-allowed":msg=$.t("You_are_not_allowed_to_create_");break;default:jsxc.warn("Unknown muc error condition: "+condition),msg=$.t("Error")+": "+condition}var roomIndex=self.conn.muc.roomNames.indexOf(room);roomIndex>-1&&(self.conn.muc.roomNames.splice(roomIndex,1),delete self.conn.muc.rooms[room]),$("<p>").addClass("jsxc_warning").text(msg).appendTo(dialog.find(".jsxc_msg"))};$(document).on("error.muc.jsxc",error_handler),$(document).on("close.dialog.jsxc",function(){$(document).off("error.muc.jsxc",error_handler)}),dialog.find("#jsxc_nickname").attr("placeholder",Strophe.getNodeFromJid(self.conn.jid)),dialog.find("#jsxc_bookmark").change(function(){$(this).prop("checked")?($("#jsxc_autojoin").prop("disabled",!1),$("#jsxc_autojoin").parent(".checkbox").removeClass("disabled")):($("#jsxc_autojoin").prop("disabled",!0).prop("checked",!1),$("#jsxc_autojoin").parent(".checkbox").addClass("disabled"))}),dialog.find(".jsxc_continue").click(function(ev){ev.preventDefault();var room=$("#jsxc_room").val()?jsxc.jidToBid($("#jsxc_room").val()):null,nickname=$("#jsxc_nickname").val()||Strophe.getNodeFromJid(self.conn.jid),server=dialog.find("#jsxc_server").val();if(!room||!room.match(/^[^"&\'\/:<>@\s]+$/i))return $("#jsxc_room").addClass("jsxc_invalid").keyup(function(){$(this).val()&&$(this).removeClass("jsxc_invalid")}),!1;if(dialog.find("#jsxc_server").hasClass("jsxc_invalid"))return!1;if(room.match(/@(.*)$/)||(room+="@"+server),jsxc.xmpp.conn.muc.roomNames.indexOf(room)<0){var discoReceived=function(roomName,subject){jsxc.gui.dialog.resize(),dialog.find(".jsxc_continue").hide(),dialog.find(".jsxc_join").show().effect("highlight",{color:"green"},4e3),dialog.find(".jsxc_join").click(function(ev){ev.preventDefault();var bookmark=$("#jsxc_bookmark").prop("checked"),autojoin=$("#jsxc_autojoin").prop("checked"),password=$("#jsxc_password").val()||null;return jsxc.gui.window.clear(room),jsxc.storage.setUserItem("member",room,{}),self.join(room,nickname,password,roomName,subject,bookmark,autojoin),!1})};dialog.find(".jsxc_msg").append($("<p>").text($.t("Loading_room_information")).addClass("jsxc_waiting")),jsxc.gui.dialog.resize(),self.conn.disco.info(room,null,function(stanza){dialog.find(".jsxc_msg").html("<p>"+$.t("This_room_is")+"</p>");var table=$("<table>");$(stanza).find("feature").each(function(){var feature=$(this).attr("var");if(""!==feature&&i18next.exists(feature)){var tr=$("<tr>");$("<td>").text($.t(feature+".keyword")).appendTo(tr),$("<td>").text($.t(feature+".description")).appendTo(tr),tr.appendTo(table)}"muc_passwordprotected"===feature&&(dialog.find("#jsxc_password").parents(".form-group").removeClass("jsxc_hidden"),dialog.find("#jsxc_password").attr("required","required"),dialog.find("#jsxc_password").addClass("jsxc_invalid"))}),dialog.find(".jsxc_msg").append(table);var roomName=$(stanza).find("identity").attr("name"),subject=$(stanza).find('field[var="muc#roominfo_subject"]').attr("label");discoReceived(roomName,subject)},function(){dialog.find(".jsxc_msg").empty(),$("<p>").text($.t("Room_not_found_")).appendTo(dialog.find(".jsxc_msg")),discoReceived()})}else $("<p>").addClass("jsxc_warning").text($.t("You_already_joined_this_room")).appendTo(dialog.find(".jsxc_msg"));return!1}),dialog.find("input").keydown(function(ev){return 13!==ev.which?(dialog.find(".jsxc_warning").remove(),void(dialog.find(".jsxc_continue").is(":hidden")&&"jsxc_password"!==$(this).attr("id")&&(dialog.find(".jsxc_continue").show(),dialog.find(".jsxc_join").hide().off("click"),dialog.find(".jsxc_msg").empty(),dialog.find("#jsxc_password").parents(".form-group").addClass("jsxc_hidden"),dialog.find("#jsxc_password").attr("required",""),dialog.find("#jsxc_password").removeClass("jsxc_invalid"),jsxc.gui.dialog.resize()))):void(dialog.find(".jsxc_continue").is(":hidden")?dialog.find(".jsxc_join").click():dialog.find(".jsxc_continue").click())})},showRoomConfiguration:function(room){var self=jsxc.muc;self.conn.muc.configure(room,function(stanza){var form=Strophe.x.Form.fromXML(stanza);window.f=form,self._showRoomConfiguration(room,form)},function(){jsxc.debug("Could not load room configuration")})},_showRoomConfiguration:function(room,config){var self=jsxc.muc,dialog=jsxc.gui.dialog.open(jsxc.muc.helper.formToHTML(config)),form=dialog.find("form");form.find('[type="checkbox"]').change(function(){$(this).val(this.checked?1:0)});var submit=$("<button>");submit.addClass("btn btn-primary"),submit.attr("type","submit"),submit.text($.t("Save"));var cancel=$("<button>");cancel.addClass("btn btn-default"),cancel.attr("type","button"),cancel.text($.t("Cancel"));var formGroup=$("<div>");formGroup.addClass("form-group"),$("<div>").addClass("col-sm-offset-6 col-sm-6").appendTo(formGroup),formGroup.find(">div").append(cancel),formGroup.find(">div").append(submit),form.append(formGroup),form.submit(function(ev){ev.preventDefault();var config=Strophe.x.Form.fromHTML(form.get(0));return self.conn.muc.saveConfiguration(room,config,function(){jsxc.storage.updateUserItem("buddy",room,"config",config),jsxc.debug("Room configuration saved.")},function(){jsxc.warn("Could not save room configuration.")}),jsxc.gui.dialog.close(),!1}),cancel.click(function(){self.conn.muc.cancelConfigure(room),jsxc.gui.dialog.close()})},join:function(room,nickname,password,roomName,subject,bookmark,autojoin){var self=jsxc.muc;jsxc.storage.setUserItem("buddy",room,{jid:room,name:roomName||room,sub:"both",type:"groupchat",state:self.CONST.ROOMSTATE.INIT,subject:subject,bookmarked:bookmark||!1,autojoin:autojoin||!1,nickname:nickname,config:null}),jsxc.xmpp.conn.muc.join(room,nickname,null,null,null,password),bookmark&&jsxc.xmpp.bookmarks.add(room,roomName,nickname,autojoin)},leave:function(room){if(!jsxc.master)return void jsxc.tab.execMaster("muc.leave",room);var self=jsxc.muc,own=jsxc.storage.getUserItem("ownNicknames")||{},data=jsxc.storage.getUserItem("buddy",room)||{};data.state===self.CONST.ROOMSTATE.ENTERED?self.conn.muc.leave(room,own[room],function(){self.onExited(room)}):self.onExited(room)},onExited:function(room){var self=jsxc.muc,own=jsxc.storage.getUserItem("ownNicknames")||{},roomdata=jsxc.storage.getUserItem("buddy",room)||{};jsxc.storage.setUserItem("roomNames",self.conn.muc.roomNames),delete own[room],jsxc.storage.setUserItem("ownNicknames",own),jsxc.storage.removeUserItem("member",room),jsxc.storage.removeUserItem("chat",room),jsxc.gui.window.close(room),jsxc.storage.updateUserItem("buddy",room,"state",self.CONST.ROOMSTATE.EXITED),roomdata.bookmarked||jsxc.gui.roster.purge(room)},destroy:function(room,handler_cb,error_cb){if(!jsxc.master)return void jsxc.tab.execMaster("muc.destroy",room);var self=jsxc.muc,roomdata=jsxc.storage.getUserItem("buddy",room);jsxc.storage.updateUserItem("buddy",room,"state",self.CONST.ROOMSTATE.AWAIT_DESTRUCTION),jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("This_room_will_be_closed")});var iq=$iq({to:room,type:"set"}).c("query",{xmlns:Strophe.NS.MUC_OWNER}).c("destroy");jsxc.muc.conn.sendIQ(iq.tree(),handler_cb,error_cb),roomdata.bookmarked&&jsxc.xmpp.bookmarks.delete(room)},close:function(room){var self=jsxc.muc,roomdata=jsxc.storage.getUserItem("buddy",room)||{};self.emptyMembers(room);var roomIndex=self.conn.muc.roomNames.indexOf(room);roomIndex>-1&&(self.conn.muc.roomNames.splice(roomIndex,1),delete self.conn.muc.rooms[room]),jsxc.storage.setUserItem("roomNames",self.conn.muc.roomNames),roomdata.state===self.CONST.ROOMSTATE.AWAIT_DESTRUCTION&&self.onExited(room),jsxc.storage.getUserItem("budy",room)&&(roomdata.state=self.CONST.ROOMSTATE.DESTROYED,jsxc.storage.setUserItem("buddy",room,roomdata))},initWindow:function(event,win){var self=jsxc.muc;if(!jsxc.xmpp.conn&&jsxc.master)return void $(document).one("attached.jsxc",function(){self.initWindow(null,win)});var data=win.data(),bid=jsxc.jidToBid(data.jid),roomdata=jsxc.storage.getUserItem("buddy",bid);if("groupchat"===roomdata.type){win.addClass("jsxc_groupchat");var own=jsxc.storage.getUserItem("ownNicknames")||{},ownNickname=own[bid],mlIcon=$('<div class="jsxc_members"></div>');win.find(".jsxc_tools > .jsxc_settings").after(mlIcon);var ml=$('<div class="jsxc_memberlist"><ul></ul></div>');win.find(".jsxc_fade").prepend(ml),ml.on("wheel",function(ev){jsxc.muc.scrollMemberListBy(bid,ev.originalEvent.wheelDelta>0?50:-50)});var toggleMl=function(ev){ev&&ev.preventDefault();var slimOptions={},ul=ml.find("ul:first"),slimHeight=null;if(ml.toggleClass("jsxc_expand"),ml.hasClass("jsxc_expand")){$("body").click(),$("body").one("click",toggleMl),ul.mouseleave(function(){ul.data("timer",window.setTimeout(toggleMl,2e3))}).mouseenter(function(){window.clearTimeout(ul.data("timer"))}).css("left","0px");var maxHeight=.8*win.find(".jsxc_textarea").height(),innerHeight=ml.find("ul").height()+3;slimHeight=innerHeight>maxHeight?maxHeight:innerHeight,slimOptions={distance:"3px",height:slimHeight+"px",width:"100%",color:"#fff",opacity:"0.5"},ml.css("height",slimHeight+"px")}else slimOptions={destroy:!0},ul.attr("style",""),ml.css("height",""),window.clearTimeout(ul.data("timer")),$("body").off("click",null,toggleMl),ul.off("mouseleave mouseenter");return ul.slimscroll(slimOptions),!1};mlIcon.click(toggleMl),win.on("resize",function(){jsxc.muc.scrollMemberListBy(bid,0)});var destroy=$("<a>");destroy.text($.t("Destroy")),destroy.addClass("jsxc_destroy"),destroy.hide(),destroy.click(function(){self.destroy(bid)}),win.find(".jsxc_settings ul").append($("<li>").append(destroy));var configure=$("<a>");if(configure.text($.t("Configure")),configure.addClass("jsxc_configure"),configure.hide(),configure.click(function(){self.showRoomConfiguration(bid)}),self.conn&&win.find(".jsxc_settings ul").append($("<li>").append(configure)),roomdata.state>self.CONST.ROOMSTATE.INIT){var member=jsxc.storage.getUserItem("member",bid)||{};$.each(member,function(nickname,val){self.insertMember(bid,nickname,val),nickname===ownNickname&&val.affiliation===self.CONST.AFFILIATION.OWNER&&destroy.show(),nickname!==ownNickname||val.affiliation!==self.CONST.AFFILIATION.OWNER&&val.affiliation!==self.CONST.AFFILIATION.OWNER||configure.show()})}var leave=$("<a>");leave.text($.t("Leave")),leave.addClass("jsxc_leave"),leave.click(function(){self.leave(bid)}),win.find(".jsxc_settings ul").append($("<li>").append(leave))}},onPresence:function(event,from,status,presence){var self=jsxc.muc,room=jsxc.jidToBid(from),roomdata=jsxc.storage.getUserItem("buddy",room),xdata=$(presence).find('x[xmlns^="'+Strophe.NS.MUC+'"]');if(self.conn.muc.roomNames.indexOf(room)<0||0===xdata.length)return!0;var res=Strophe.getResourceFromJid(from)||"",nickname=Strophe.unescapeNode(res),own=jsxc.storage.getUserItem("ownNicknames")||{},member=jsxc.storage.getUserItem("member",room)||{},openWindow=!1,codes=[];if(xdata.find("status").each(function(){var code=$(this).attr("code");jsxc.debug("[muc][code]",code),codes.push(code)}),roomdata.state===self.CONST.ROOMSTATE.INIT){if(jsxc.storage.setUserItem("roomNames",jsxc.xmpp.conn.muc.roomNames),0===jsxc.gui.roster.getItem(room).length){var bl=jsxc.storage.getUserItem("buddylist");bl.push(room),jsxc.storage.setUserItem("buddylist",bl),jsxc.gui.roster.add(room)}$("#jsxc_dialog").length>0&&(openWindow=!0,jsxc.gui.dialog.close())}var jid=xdata.find("item").attr("jid")||null;if(0===status)if(xdata.find("destroy").length>0)member={},jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("This_room_has_been_closed")}),self.close(room);else{delete member[nickname],self.removeMember(room,nickname);var newNickname=xdata.find("item").attr("nick");codes.indexOf("303")>-1&&newNickname?(newNickname=Strophe.unescapeNode(newNickname),member[newNickname]={},jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("is_now_known_as",{oldNickname:nickname,newNickname:newNickname,escapeInterpolation:!0})})):(0===codes.length||1===codes.length&&codes.indexOf("110")>-1)&&jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("left_the_building",{nickname:nickname,escapeInterpolation:!0})})}else!member[nickname]&&own[room]&&jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("entered_the_room",{nickname:nickname,escapeInterpolation:!0})}),member[nickname]={jid:jid,status:status,roomJid:from,affiliation:xdata.find("item").attr("affiliation"),role:xdata.find("item").attr("role")},self.insertMember(room,nickname,member[nickname]);return jsxc.storage.setUserItem("member",room,member),$.each(codes,function(index,code){"function"==typeof self.onStatus[code]&&self.onStatus[code].call(this,room,nickname,member[nickname]||{},xdata),$(document).trigger("status.muc.jsxc",[code,room,nickname,member[nickname]||{},presence])}),openWindow&&jsxc.gui.window.open(room),!0},onPresenceError:function(event,from,presence){var self=jsxc.muc,xdata=$(presence).find('x[xmlns="'+Strophe.NS.MUC+'"]'),room=jsxc.jidToBid(from);if(0===xdata.length||self.conn.muc.roomNames.indexOf(room)<0)return!0;var error=$(presence).find("error"),condition=error.children()[0].tagName;return jsxc.debug("[muc][error]",condition),$(document).trigger("error.muc.jsxc",[condition,room]),!0},onStatus:{110:function(room,nickname,data){var self=jsxc.muc,own=jsxc.storage.getUserItem("ownNicknames")||{};own[room]=nickname,jsxc.storage.setUserItem("ownNicknames",own),data.affiliation===self.CONST.AFFILIATION.OWNER&&jsxc.gui.window.get(room).find(".jsxc_destroy").show();var roomdata=jsxc.storage.getUserItem("buddy",room);roomdata.state===self.CONST.ROOMSTATE.INIT&&(roomdata.state=self.CONST.ROOMSTATE.ENTERED,jsxc.storage.setUserItem("buddy",room,roomdata))},170:function(room){jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("Room_logging_is_enabled")})},171:function(room){jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("Room_logging_is_disabled")})},172:function(room){jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("Room_is_now_non-anoymous")})},173:function(room){jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("Room_is_now_semi-anonymous")})},201:function(room){var self=jsxc.muc,roomdata=jsxc.storage.getUserItem("buddy",room)||{};roomdata.autojoin&&roomdata.config===self.CONST.ROOMCONFIG.INSTANT?self.conn.muc.createInstantRoom(room):roomdata.autojoin&&"undefined"!=typeof roomdata.config&&null!==roomdata.config?self.conn.muc.saveConfiguration(room,roomdata.config,function(){jsxc.debug("Cached room configuration saved.")},function(){jsxc.warn("Could not save cached room configuration.")}):jsxc.gui.showSelectionDialog({header:$.t("Room_creation"),msg:$.t("Do_you_want_to_change_the_default_room_configuration"),primary:{label:$.t("Default"),cb:function(){jsxc.gui.dialog.close(),self.conn.muc.createInstantRoom(room),jsxc.storage.updateUserItem("buddy",room,"config",self.CONST.ROOMCONFIG.INSTANT)}},option:{label:$.t("Change"),cb:function(){self.showRoomConfiguration(room)}}})},301:function(room,nickname,data,xdata){var own=jsxc.storage.getUserItem("ownNicknames")||{};own[room]===nickname?(jsxc.muc.close(room),jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_banned")}),jsxc.muc.postReason(room,xdata)):jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_info_banned",{nickname:nickname,escapeInterpolation:!0})})},307:function(room,nickname,data,xdata){var own=jsxc.storage.getUserItem("ownNicknames")||{};own[room]===nickname?(jsxc.muc.close(room),jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_kicked")}),jsxc.muc.postReason(room,xdata)):jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_info_kicked",{nickname:nickname,escapeInterpolation:!0})})},321:function(room,nickname){var own=jsxc.storage.getUserItem("ownNicknames")||{};own[room]===nickname?(jsxc.muc.close(room),jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_affiliation")})):jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_info_affiliation",{nickname:nickname,escapeInterpolation:!0})})},322:function(room,nickname){var own=jsxc.storage.getUserItem("ownNicknames")||{};own[room]===nickname?(jsxc.muc.close(room),jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_membersonly")})):jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_info_membersonly",{nickname:nickname,escapeInterpolation:!0})})},332:function(room){jsxc.muc.close(room),jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_shutdown")})}},postReason:function(room,xdata){var actor={name:xdata.find("actor").attr("nick"),jid:xdata.find("actor").attr("jid")},reason=xdata.find("reason").text();""!==reason&&(reason=$.t("Reason")+": "+reason,"string"==typeof actor.name||"string"==typeof actor.jid?jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.IN,msg:reason,sender:actor}):jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:reason}))},insertMember:function(room,nickname,memberdata){var win=jsxc.gui.window.get(room),jid=memberdata.jid,ownBid=jsxc.jidToBid(jsxc.storage.getItem("jid")),m=win.find('.jsxc_memberlist li[data-nickname="'+nickname+'"]');if(0===m.length){var title=jsxc.escapeHTML(nickname);if(m=$('<li><div class="jsxc_avatar"></div><div class="jsxc_name"/></li>'),m.attr("data-nickname",nickname),win.find(".jsxc_memberlist ul").append(m),"string"==typeof jid){m.find(".jsxc_name").text(jsxc.jidToBid(jid)),m.attr("data-bid",jsxc.jidToBid(jid)),title=title+"\n"+jsxc.jidToBid(jid);var data=jsxc.storage.getUserItem("buddy",jsxc.jidToBid(jid));null!==data&&"object"==typeof data?jsxc.gui.updateAvatar(m,jsxc.jidToBid(jid),data.avatar):jsxc.jidToBid(jid)===ownBid&&jsxc.gui.updateAvatar(m,jsxc.jidToBid(jid),"own")}else m.find(".jsxc_name").text(nickname),jsxc.gui.avatarPlaceholder(m.find(".jsxc_avatar"),nickname);m.attr("title",title)}},removeMember:function(room,nickname){var win=jsxc.gui.window.get(room),m=win.find('.jsxc_memberlist li[data-nickname="'+nickname+'"]');m.length>0&&m.remove()},scrollMemberListBy:function(room,offset){var win=jsxc.gui.window.get(room);if(!win.find(".jsxc_memberlist").hasClass("jsxc_expand")){var el=win.find(".jsxc_memberlist ul:first"),scrollWidth=el.width(),width=win.find(".jsxc_memberlist").width(),left=parseInt(el.css("left"));left=isNaN(left)?0-offset:left-offset,scrollWidth<width||left>0?left=0:left<width-scrollWidth&&(left=width-scrollWidth),el.css("left",left+"px")}},emptyMembers:function(room){var win=jsxc.gui.window.get(room);win.find(".jsxc_memberlist").empty(),jsxc.storage.setUserItem("member",room,{})},onGroupchatMessage:function(message){var id=$(message).attr("id");if(id&&jsxc.el_exists(jsxc.Message.getDOM(id)))return!0;var from=$(message).attr("from"),body=$(message).find("body:first").text(),room=jsxc.jidToBid(from),nickname=Strophe.unescapeNode(Strophe.getResourceFromJid(from));if(""!==body){var delay=$(message).find('delay[xmlns="urn:xmpp:delay"]'),stamp=delay.length>0?new Date(delay.attr("stamp")):new Date;stamp=stamp.getTime();var member=jsxc.storage.getUserItem("member",room)||{},sender={};sender.name=nickname,member[nickname]&&"string"==typeof member[nickname].jid&&(sender.jid=member[nickname].jid),jsxc.gui.window.init(room),jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.IN,msg:body,stamp:stamp,sender:sender})}var subject=$(message).find("subject");if(subject.length>0){var roomdata=jsxc.storage.getUserItem("buddy",room);roomdata.subject=subject.text(),jsxc.storage.setUserItem("buddy",room,roomdata),jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("changed_subject_to",{nickname:nickname,subject:subject.text()})})}return!0},onErrorMessage:function(message){var room=jsxc.jidToBid($(message).attr("from"));return 0===jsxc.gui.window.get(room).length||($(message).find("item-not-found").length>0?jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("message_not_send_item-not-found")}):$(message).find("forbidden").length>0?jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("message_not_send_forbidden")}):$(message).find("not-acceptable").length>0?jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("message_not_send_not-acceptable")}):jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("message_not_send")}),jsxc.debug("[muc] error message for "+room,$(message).find("error")[0]),!0)},onAddRoster:function(event,room,data,bud){var self=jsxc.muc;if("groupchat"===data.type){var bo=$("<a>");$("<span>").addClass("jsxc_icon jsxc_bookmarkicon").appendTo(bo),$("<span>").text($.t("Bookmark")).appendTo(bo),bo.addClass("jsxc_bookmarkOptions"),bo.click(function(ev){return ev.preventDefault(),jsxc.xmpp.bookmarks.showDialog(room),!1}),bud.find(".jsxc_menu ul").append($("<li>").append(bo)),data.bookmarked&&bud.addClass("jsxc_bookmarked"),bud.off("click").click(function(){var data=jsxc.storage.getUserItem("buddy",room);data.state===self.CONST.ROOMSTATE.INIT||data.state===self.CONST.ROOMSTATE.EXITED?(self.showJoinChat(),$("#jsxc_room").val(Strophe.getNodeFromJid(data.jid)),$("#jsxc_nickname").val(data.nickname),$("#jsxc_bookmark").prop("checked",data.bookmarked),$("#jsxc_autojoin").prop("checked",data.autojoin),$("#jsxc_dialog .jsxc_bookmark").hide()):jsxc.gui.window.open(room)}),bud.find(".jsxc_delete").click(function(){return data.bookmarked&&jsxc.xmpp.bookmarks.delete(room),self.leave(room),!1})}},helper:{formToHTML:function(form){if(form instanceof Strophe.x.Form){var html=$("<form>");if(html.attr("data-type",form.type),html.addClass("form-horizontal"),form.title&&html.append("<h3>"+form.title+"</h3>"),form.instructions&&html.append("<p>"+form.instructions+"</p>"),form.fields.length>0){var i;for(i=0;i<form.fields.length;i++)html.append(jsxc.muc.helper.fieldToHtml(form.fields[i]))}return $("<div>").append(html).html()}},fieldToHtml:function(field){var self=field||this;field=null;var el,val,opt,i,o,j,k,txt,line,_ref2,id="Strophe.x.Field-"+self.type+"-"+self.var,html=$("<div>");if(html.addClass("form-group"),self.label){var label=$("<label>");label.attr("for",id),label.addClass("col-sm-6 control-label"),label.text(self.label),label.appendTo(html)}switch(self.type.toLowerCase()){case"list-single":case"list-multi":for(el=$("<select>"),"list-multi"===self.type&&el.attr("multiple","multiple"),i=0;i<self.options.length;i++)if(opt=self.options[i]){for(o=$(opt.toHTML()),j=0;j<self.values;j++)k=self.values[j],k.toString()===opt.value.toString()&&o.attr("selected","selected");o.appendTo(el)}break;case"text-multi":case"jid-multi":el=$("<textarea>"),txt=function(){var i,_results;for(_results=[],i=0;i<self.values.length;i++)line=self.values[i],_results.push(line);return _results}.call(this).join("\n"),txt&&el.text(txt);break;case"text-single":case"boolean":case"text-private":case"hidden":case"fixed":case"jid-single":switch(el=$("<input>"),self.values&&el.attr("value",self.values[0]),self.type.toLowerCase()){case"text-single":el.attr("type","text"),el.attr("placeholder",self.desc),el.addClass("form-control");break;case"boolean":el.attr("type","checkbox"),val=null!=(_ref2=self.values[0])&&"function"==typeof _ref2.toString?_ref2.toString():void 0,!val||"true"!==val&&"1"!==val||el.attr("checked","checked");break;case"text-private":el.attr("type","password"),el.addClass("form-control");break;case"hidden":el.attr("type","hidden");break;case"fixed":el.attr("type","text").attr("readonly","readonly"),el.addClass("form-control");break;case"jid-single":el.attr("type","email"),el.addClass("form-control")}break;default:el=$("<input type='text'>")}el.attr("id",id),el.attr("name",self.var),self.required&&el.attr("required",self.required);var inner=el;return el=$("<div>"),el.addClass("col-sm-6"),el.append(inner),html.append(el),html.get(0)}}},$(document).on("init.window.jsxc",jsxc.muc.initWindow),$(document).on("add.roster.jsxc",jsxc.muc.onAddRoster),$(document).on("attached.jsxc",function(){jsxc.muc.init()}),$(document).one("connected.jsxc",function(){jsxc.storage.removeUserItem("roomNames"),jsxc.storage.removeUserItem("ownNicknames")}),jsxc.notice={_num:0,load:function(){$("#jsxc_notice ul li").remove(),$("#jsxc_notice > span").text(""),jsxc.notice._num=0;var saved=jsxc.storage.getUserItem("notices")||[],key=null;for(key in saved)if(saved.hasOwnProperty(key)){var val=saved[key];jsxc.notice.add(val,val.fnName,val.fnParams,key)}},add:function(data,fnName,fnParams,id){var nid=id||Date.now(),list=$("#jsxc_notice ul"),notice=$("<li/>"),msg=data.msg,description=data.description;notice.click(function(){return jsxc.notice.remove(nid),jsxc.exec(fnName,fnParams),!1}),data.type&&notice.addClass("jsxc_"+data.type+"icon"),notice.text(msg),notice.attr("title",description||""),notice.attr("data-nid",nid),list.append(notice),$("#jsxc_notice > span").text(++jsxc.notice._num);var saved=jsxc.storage.getUserItem("notices")||{};if(id||(saved[nid]={msg:msg,description:description,type:data.type,fnName:fnName,fnParams:fnParams},jsxc.storage.setUserItem("notices",saved),jsxc.notification.notify(msg,description||"",null,!0,jsxc.CONST.SOUNDS.NOTICE)),Object.keys(saved).length>3&&0===list.find(".jsxc_closeAll").length){var closeAll=$("<li>");closeAll.addClass("jsxc_closeAll jsxc_deleteicon jsxc_warning"),closeAll.text($.t("Close_all")),closeAll.prependTo(list),closeAll.click(jsxc.notice.removeAll)}else Object.keys(saved).length<=3&&0!==list.find(".jsxc_closeAll").length&&list.find(".jsxc_closeAll").remove()},remove:function(nid){var el=$("#jsxc_notice li[data-nid="+nid+"]");el.remove(),$("#jsxc_notice > span").text(--jsxc.notice._num||"");var s=jsxc.storage.getUserItem("notices")||{};delete s[nid],jsxc.storage.setUserItem("notices",s),Object.keys(s).length<=3&&0!==$("#jsxc_notice .jsxc_closeAll").length&&$("#jsxc_notice .jsxc_closeAll").remove()},removeAll:function(){jsxc.notice._num=0,jsxc.storage.setUserItem("notices",{}),$("#jsxc_notice ul").empty(),$("#jsxc_notice > span").text("")},has:function(fnName){var saved=jsxc.storage.getUserItem("notices")||[],has=!1;return $.each(saved,function(index,val){if(val.fnName===fnName)return has=!0,!1}),has}},jsxc.notification={audio:null,init:function(){$(document).on("postmessagein.jsxc",function(event,bid,msg){msg=msg&&msg.match(/^\?OTR/)?$.t("Encrypted_message"):msg;var data=jsxc.storage.getUserItem("buddy",bid);jsxc.notification.notify({title:$.t("New_message_from",{name:data.name}),msg:msg,soundFile:jsxc.CONST.SOUNDS.MSG,source:bid})}),$(document).on("callincoming.jingle",function(){jsxc.notification.playSound(jsxc.CONST.SOUNDS.CALL,!0,!0)}),$(document).on("accept.call.jsxc reject.call.jsxc",function(){jsxc.notification.stopSound()})},notify:function(title,msg,d,force,soundFile,loop,source){if(jsxc.options.notification&&jsxc.notification.hasPermission()){var o;if(o=null!==title&&"object"==typeof title?title:{title:title,msg:msg,duration:d,force:force,soundFile:soundFile,loop:loop,source:source},!jsxc.hasFocus()||o.force){var icon=o.icon||jsxc.options.root+"/img/XMPP_logo.png";if("string"==typeof o.source){var data=jsxc.storage.getUserItem("buddy",o.source),src=jsxc.storage.getUserItem("avatar",data.avatar);"string"==typeof src&&"0"!==src&&(icon=src)}jsxc.toNotification=setTimeout(function(){"string"==typeof o.soundFile&&jsxc.notification.playSound(o.soundFile,o.loop,o.force);var popup=new Notification($.t(o.title),{body:$.t(o.msg),icon:icon}),duration=o.duration||jsxc.options.popupDuration;duration>0&&setTimeout(function(){popup.close()},duration)},jsxc.toNotificationDelay)}}},hasSupport:function(){if(window.webkitNotifications){window.Notification=function(title,opt){var popup=window.webkitNotifications.createNotification(null,title,opt.body);return popup.show(),popup.close=function(){popup.cancel()},popup};var permission;switch(window.webkitNotifications.checkPermission()){case 0:permission=jsxc.CONST.NOTIFICATION_GRANTED;break;case 2:permission=jsxc.CONST.NOTIFICATION_DENIED;break;default:permission=jsxc.CONST.NOTIFICATION_DEFAULT}return window.Notification.permission=permission,window.Notification.requestPermission=function(func){window.webkitNotifications.requestPermission(func)},!0}return!!window.Notification},prepareRequest:function(){jsxc.notice.has("gui.showRequestNotification")||$(document).one("postmessagein.jsxc",function(){setTimeout(function(){jsxc.notice.add({msg:$.t("Notifications")+"?",description:$.t("Should_we_notify_you_")},"gui.showRequestNotification")},1e3)})},requestPermission:function(){window.Notification.requestPermission(function(status){window.Notification.permission!==status&&(window.Notification.permission=status),jsxc.notification.hasPermission()?$(document).trigger("notificationready.jsxc"):$(document).trigger("notificationfailure.jsxc")})},hasPermission:function(){return window.Notification.permission===jsxc.CONST.NOTIFICATION_GRANTED},playSound:function(soundFile,loop,force){if(jsxc.master&&!jsxc.options.get("muteNotification")&&"dnd"!==jsxc.storage.getUserItem("presence")&&(!jsxc.hasFocus()||force)){jsxc.notification.stopSound();var audio=new Audio(jsxc.options.root+"/sound/"+soundFile);audio.loop=loop||!1,audio.play(),jsxc.notification.audio=audio}},stopSound:function(){var audio=jsxc.notification.audio;"undefined"!=typeof audio&&null!==audio&&(audio.pause(),jsxc.notification.audio=null)},muteSound:function(external){$("#jsxc_menu .jsxc_muteNotification").text($.t("Unmute")),external!==!0&&jsxc.options.set("muteNotification",!0)},unmuteSound:function(external){$("#jsxc_menu .jsxc_muteNotification").text($.t("Mute")),external!==!0&&jsxc.options.set("muteNotification",!1)}},jsxc.options={app_name:"web applications",timeout:3e3,busyTimeout:15e3,otr:{enable:!0,ERROR_START_AKE:!1,debug:!1,SEND_WHITESPACE_TAG:!1,WHITESPACE_START_AKE:!0},xmpp:{url:null,jid:null,domain:null,password:null,sid:null,rid:null,overwrite:!1,onlogin:null},priority:{online:0,chat:0,away:0,xa:0,dnd:0},formFound:null,loginForm:{enable:!0,form:null,jid:null,pass:null,preJid:function(jid){return jid},onConnecting:"dialog",onConnected:"submit",onAuthFail:"submit",attachIfFound:!0,ifFound:"attach",startMinimized:!1},logoutElement:null,numberOfMsg:10,defaultLang:"en",autoLang:!0,rosterAppend:"body",notification:!0,popupDuration:6e3,root:"",displayRosterMinimized:function(){return!1},hideOffline:!1,muteNotification:!1,defaultAvatar:function(jid){jsxc.gui.avatarPlaceholder($(this).find(".jsxc_avatar"),jid)},loadSettings:null,saveSettinsPermanent:function(data,cb){cb(!0)},carbons:{enable:!0},getUsers:null,favicon:{enable:!0,bgColor:"#E59400",textColor:"#fff"},turnCredentialsPath:null,RTCPeerConfig:{ttl:3600,url:null,withCredentials:!1,iceServers:[{urls:"stun:stun.stunprotocol.org"}]},onlineHelp:"http://www.jsxc.org/manual.html",viewport:{getSize:function(){var w=$(window).width()-$("#jsxc_windowListSB").width(),h=$(window).height();return"shown"===jsxc.storage.getUserItem("roster")&&(w-=$("#jsxc_roster").outerWidth(!0)),{width:w,height:h}}},maxStorableSize:1e6,fileTransfer:{httpUpload:{enable:!0}},chatState:{enable:!0},screenMediaExtension:{firefox:"",chrome:""}},jsxc.otr={objects:{},dsaFallback:null,receiveMessage:function(d){var bid=d.bid;jsxc.otr.objects[bid].msgstate!==OTR.CONST.MSGSTATE_PLAINTEXT&&jsxc.otr.backup(bid),jsxc.otr.objects[bid].msgstate===OTR.CONST.MSGSTATE_PLAINTEXT||d.encrypted?jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.IN,msg:d.msg,encrypted:d.encrypted,forwarded:d.forwarded,stamp:d.stamp,attachment:d.attachment}):jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("Received_an_unencrypted_message")+". ["+d.msg+"]",encrypted:d.encrypted,forwarded:d.forwarded,stamp:d.stamp})},sendMessage:function(jid,msg,message){0!==jsxc.otr.objects[jsxc.jidToBid(jid)].msgstate&&jsxc.otr.backup(jsxc.jidToBid(jid)),jsxc.xmpp._sendMessage(jid,msg,message)},create:function(bid){
-if(!jsxc.otr.objects.hasOwnProperty(bid)&&jsxc.options.otr.priv){var ol=jsxc.storage.getUserItem("otrlist")||[];ol.indexOf(bid)<0&&(ol.push(bid),jsxc.storage.setUserItem("otrlist",ol)),jsxc.otr.objects[bid]=new OTR(jsxc.options.otr),jsxc.options.otr.SEND_WHITESPACE_TAG&&(jsxc.otr.objects[bid].SEND_WHITESPACE_TAG=!0),jsxc.options.otr.WHITESPACE_START_AKE&&(jsxc.otr.objects[bid].WHITESPACE_START_AKE=!0),jsxc.otr.objects[bid].on("status",function(status){var data=jsxc.storage.getUserItem("buddy",bid);if(null!==data){switch(status){case OTR.CONST.STATUS_SEND_QUERY:jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("trying_to_start_private_conversation")});break;case OTR.CONST.STATUS_AKE_SUCCESS:data.fingerprint=jsxc.otr.objects[bid].their_priv_pk.fingerprint(),data.msgstate=OTR.CONST.MSGSTATE_ENCRYPTED;var msg_state=jsxc.otr.objects[bid].trust?"Verified":"Unverified",msg=$.t(msg_state+"_private_conversation_started");jsxc.gui.window.postMessage({bid:bid,direction:"sys",msg:msg});break;case OTR.CONST.STATUS_END_OTR:data.fingerprint=null,jsxc.otr.objects[bid].msgstate===OTR.CONST.MSGSTATE_PLAINTEXT?(data.msgstate=OTR.CONST.MSGSTATE_PLAINTEXT,jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("private_conversation_aborted")})):(data.msgstate=OTR.CONST.MSGSTATE_FINISHED,jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("your_buddy_closed_the_private_conversation_you_should_do_the_same")}));break;case OTR.CONST.STATUS_SMP_HANDLE:jsxc.keepBusyAlive()}jsxc.storage.setUserItem("buddy",bid,data),jsxc.gui.update(bid)}}),jsxc.otr.objects[bid].on("smp",function(type,data){switch(type){case"question":jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("Authentication_request_received")}),jsxc.gui.window.smpRequest(bid,data),jsxc.storage.setUserItem("smp",bid,{data:data||null});break;case"trust":jsxc.otr.objects[bid].trust=data,jsxc.storage.updateUserItem("buddy",bid,"trust",data),jsxc.otr.backup(bid),jsxc.gui.update(bid),data?jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("conversation_is_now_verified")}):jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("authentication_failed")}),jsxc.storage.removeUserItem("smp",bid),jsxc.gui.dialog.close("smp");break;case"abort":jsxc.gui.window.hideOverlay(bid),jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("Authentication_aborted")});break;default:jsxc.debug("[OTR] sm callback: Unknown type: "+type)}}),jsxc.otr.objects[bid].on("ui",function(msg,encrypted,meta){jsxc.otr.receiveMessage({bid:bid,msg:msg,encrypted:encrypted===!0,stamp:meta.stamp,forwarded:meta.forwarded,attachment:meta.attachment})}),jsxc.otr.objects[bid].on("io",function(msg,message){var jid=jsxc.gui.window.get(bid).data("jid")||jsxc.otr.objects[bid].jid;jsxc.otr.objects[bid].jid=jid,jsxc.otr.sendMessage(jid,msg,message)}),jsxc.otr.objects[bid].on("error",function(err){"Received an unencrypted message."!==err&&jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:"[OTR] "+$.t(err)}),jsxc.error("[OTR] "+err)}),jsxc.otr.restore(bid)}},onSmpQuestion:function(bid,data){jsxc.gui.showVerification(bid),$("#jsxc_dialog select").prop("selectedIndex",data?2:3).change(),$("#jsxc_dialog > div:eq(0)").hide(),data?($("#jsxc_dialog > div:eq(2)").find("#jsxc_quest").val(data).prop("disabled",!0),$("#jsxc_dialog > div:eq(2)").find(".jsxc_submit").text($.t("Answer")),$("#jsxc_dialog > div:eq(2)").find(".jsxc_explanation").text($.t("onsmp_explanation_question")),$("#jsxc_dialog > div:eq(2)").show()):($("#jsxc_dialog > div:eq(3)").find(".jsxc_explanation").text($.t("onsmp_explanation_secret")),$("#jsxc_dialog > div:eq(3)").show()),$("#jsxc_dialog .jsxc_close").click(function(){jsxc.storage.removeUserItem("smp",bid),jsxc.master&&jsxc.otr.objects[bid].sm.abort()})},sendSmpReq:function(bid,sec,quest){jsxc.keepBusyAlive(),jsxc.otr.objects[bid].smpSecret(sec,quest||"")},toggleTransfer:function(bid){"function"==typeof OTR&&(0===jsxc.storage.getUserItem("buddy",bid).msgstate?jsxc.otr.goEncrypt(bid):jsxc.otr.goPlain(bid))},goEncrypt:function(bid){jsxc.master?jsxc.otr.objects.hasOwnProperty(bid)&&jsxc.otr.objects[bid].sendQueryMsg():jsxc.storage.updateUserItem("buddy",bid,"transferReq",1)},goPlain:function(bid,cb){jsxc.master?jsxc.otr.objects.hasOwnProperty(bid)&&(jsxc.otr.objects[bid].endOtr.call(jsxc.otr.objects[bid],cb),jsxc.otr.objects[bid].init.call(jsxc.otr.objects[bid]),jsxc.otr.backup(bid)):jsxc.storage.updateUserItem("buddy",bid,"transferReq",0)},backup:function(bid){var o=jsxc.otr.objects[bid],r={};if(null!==o){var i,savekey=["jid","our_instance_tag","msgstate","authstate","fragment","their_y","their_old_y","their_keyid","their_instance_tag","our_dh","our_old_dh","our_keyid","sessKeys","storedMgs","oldMacKeys","trust","transmittedRS","ssid","receivedPlaintext","authstate","send_interval"];for(i=0;i<savekey.length;i++)r[savekey[i]]=JSON.stringify(o[savekey[i]]);null!==o.their_priv_pk&&(r.their_priv_pk=JSON.stringify(o.their_priv_pk.packPublic())),o.ake.otr_version&&""!==o.ake.otr_version&&(r.otr_version=JSON.stringify(o.ake.otr_version)),jsxc.storage.setUserItem("otr",bid,r)}},restore:function(bid){var o=jsxc.otr.objects[bid],d=jsxc.storage.getUserItem("otr",bid);if(null!==o||null!==d){var key;for(key in d)if(d.hasOwnProperty(key)){var val=JSON.parse(d[key]);"their_priv_pk"===key&&null!==val&&(val=DSA.parsePublic(val)),"otr_version"===key&&null!==val?o.ake.otr_version=val:o[key]=val}jsxc.otr.objects[bid]=o,1===o.msgstate&&null!==o.their_priv_pk&&o._smInit.call(jsxc.otr.objects[bid])}jsxc.otr.enable(bid)},createDSA:function(){if(!jsxc.options.otr.priv){if("function"!=typeof OTR)return jsxc.warn("OTR support disabled"),OTR={},void(OTR.CONST={MSGSTATE_PLAINTEXT:0,MSGSTATE_ENCRYPTED:1,MSGSTATE_FINISHED:2});if(null===jsxc.storage.getUserItem("key")){var msg=$.t("Creating_your_private_key_"),worker=null;if(Worker)try{worker=new Worker(jsxc.options.root+"/lib/otr/lib/dsa-webworker.js")}catch(err){jsxc.warn("Couldn't create web-worker.",err)}jsxc.otr.dsaFallback=null===worker,jsxc.otr.dsaFallback?(jsxc.xmpp.conn.pause(),jsxc.gui.dialog.open(jsxc.gui.template.get("waitAlert",null,msg),{noClose:!0}),jsxc.debug("DSA key creation started in fallback mode."),setTimeout(function(){var dsa=new DSA;jsxc.otr.DSAready(dsa)},500)):(worker.onmessage=function(e){var type=e.data.type,val=e.data.val;"debug"===type?jsxc.debug(val):"data"===type&&jsxc.otr.DSAready(DSA.parsePrivate(val))},jsxc.debug("DSA key creation started."),worker.postMessage({imports:[jsxc.options.root+"/lib/otr/vendor/salsa20.js",jsxc.options.root+"/lib/otr/vendor/bigint.js",jsxc.options.root+"/lib/otr/vendor/crypto.js",jsxc.options.root+"/lib/otr/vendor/eventemitter.js",jsxc.options.root+"/lib/otr/lib/const.js",jsxc.options.root+"/lib/otr/lib/helpers.js",jsxc.options.root+"/lib/otr/lib/dsa.js"],seed:BigInt.getSeed(),debug:!0}))}else jsxc.debug("DSA key loaded"),jsxc.options.otr.priv=DSA.parsePrivate(jsxc.storage.getUserItem("key")),jsxc.otr._createDSA()}},_createDSA:function(){jsxc.storage.setUserItem("priv_fingerprint",jsxc.options.otr.priv.fingerprint()),$.each(jsxc.storage.getUserItem("windowlist")||[],function(index,val){jsxc.otr.create(val)})},DSAready:function(dsa){jsxc.storage.setUserItem("key",dsa.packPrivate()),jsxc.options.otr.priv=dsa,jsxc.otr.dsaFallback&&(jsxc.xmpp.conn.resume(),jsxc.gui.dialog.close()),jsxc.otr._createDSA()},enable:function(bid){jsxc.gui.window.get(bid).find(".jsxc_otr").removeClass("jsxc_disabled")}},jsxc.storage={PREFIX:"jsxc",SEP:":",getPrefix:function(uk){var self=jsxc.storage;return uk&&!jsxc.bid&&jsxc.warn("Unable to create user prefix"),self.PREFIX+self.SEP+(uk&&jsxc.bid?jsxc.bid+self.SEP:"")},setItem:function(key,value,uk){jsxc.storageNotConform>0&&"rid"!==key&&(jsxc.storageNotConform>1&&null===jsxc.toSNC&&(jsxc.toSNC=window.setTimeout(function(){jsxc.storageNotConform=0,jsxc.storage.setItem("storageNotConform",0)},1e3)),jsxc.ls.push(JSON.stringify({key:key,value:value}))),"object"==typeof value&&(value=JSON.stringify(value,function(key,val){if(!(val instanceof jQuery))return val})),localStorage.setItem(jsxc.storage.getPrefix(uk)+key,value)},setUserItem:function(type,key,value){var self=jsxc.storage;return 2===arguments.length?(value=key,key=type,type=""):3===arguments.length&&(key=type+self.SEP+key),jsxc.storage.setItem(key,value,!0)},getItem:function(key,uk){key=jsxc.storage.getPrefix(uk)+key;var value=localStorage.getItem(key);try{return JSON.parse(value)}catch(e){return value}},getUserItem:function(type,key){var self=jsxc.storage;return 1===arguments.length?key=type:2===arguments.length&&(key=type+self.SEP+key),jsxc.storage.getItem(key,!0)},removeItem:function(key,uk){jsxc.storageNotConform&&"rid"!==key&&jsxc.ls.push(JSON.stringify({key:jsxc.storage.prefix+key,value:""})),localStorage.removeItem(jsxc.storage.getPrefix(uk)+key)},removeUserItem:function(type,key){var self=jsxc.storage;1===arguments.length?key=type:2===arguments.length&&(key=type+self.SEP+key),jsxc.storage.removeItem(key,!0)},updateItem:function(key,variable,value,uk){var data=jsxc.storage.getItem(key,uk)||{};"object"==typeof variable?$.each(variable,function(key,val){"undefined"==typeof data[key]&&jsxc.debug("Variable "+key+" doesn't exist in "+variable+". It was created."),data[key]=val}):("undefined"==typeof data[variable]&&jsxc.debug("Variable "+variable+" doesn't exist. It was created."),data[variable]=value),jsxc.storage.setItem(key,data,uk)},updateUserItem:function(type,key,variable,value){var self=jsxc.storage;return 4===arguments.length||3===arguments.length&&"object"==typeof variable?key=type+self.SEP+key:(value=variable,variable=key,key=type),jsxc.storage.updateItem(key,variable,value,!0)},ink:function(key,uk){jsxc.storage.setItem(key,Number(jsxc.storage.getItem(key,uk))+1,uk)},removeElement:function(key,name,uk){var item=jsxc.storage.getItem(key,uk);$.isArray(item)?item=$.grep(item,function(e){return e!==name}):"object"==typeof item&&null!==item&&delete item[name],jsxc.storage.setItem(key,item,uk)},removeUserElement:function(type,key,name){var self=jsxc.storage;return 2===arguments.length?(name=key,key=type):3===arguments.length&&(key=type+self.SEP+key),jsxc.storage.removeElement(key,name,!0)},onStorage:function(e){if(e.key!==jsxc.storage.PREFIX+jsxc.storage.SEP+"rid"&&e.key){var re=new RegExp("^"+jsxc.storage.PREFIX+jsxc.storage.SEP+"(?:[^"+jsxc.storage.SEP+"]+@[^"+jsxc.storage.SEP+"]+"+jsxc.storage.SEP+")?(.*)","i"),key=e.key.replace(re,"$1");if(jsxc.storageNotConform>0&&jsxc.ls.length>0){var val=e.newValue;try{val=JSON.parse(val)}catch(err){}var index=$.inArray(JSON.stringify({key:key,value:val}),jsxc.ls);if(index>=0)return jsxc.storageNotConform>1&&(window.clearTimeout(jsxc.toSNC),jsxc.storageNotConform=1,jsxc.storage.setItem("storageNotConform",1)),void jsxc.ls.splice(index,1)}if(e.oldValue!==e.newValue){var n,o,bid=key.replace(new RegExp("[^"+jsxc.storage.SEP+"]+"+jsxc.storage.SEP+"(.*)","i"),"$1");if(jsxc.master&&"alive"===key)return jsxc.debug("Master request."),e.newValue&&e.newValue.match(/:master$/)?void jsxc.warn("Master request from master. Something went wrong... :-("):void jsxc.keepAlive();if(!jsxc.master&&("alive"===key||"alive_busy"===key))return jsxc.to=$.grep(jsxc.to,function(timeout){return window.clearTimeout(timeout),!1}),"undefined"==typeof e.newValue||null===e.newValue?void jsxc.xmpp.disconnected():(jsxc.to.push(window.setTimeout(jsxc.checkMaster,("alive"===key?jsxc.options.timeout:jsxc.options.busyTimeout)+jsxc.random(60))),void(jsxc.role_allocation||jsxc.onSlave()));if(jsxc.master&&"sid"===key&&!e.newValue&&jsxc.xmpp.logout(!1),key.match(/^notices/)&&jsxc.notice.load(),key.match(/^presence/)&&jsxc.gui.changePresence(e.newValue,!0),key.match(/^options/)&&e.newValue&&(n=JSON.parse(e.newValue),"undefined"!=typeof n.muteNotification&&n.muteNotification?jsxc.notification.muteSound(!0):jsxc.notification.unmuteSound(!0)),key.match(/^hidden/)&&(jsxc.master?clearTimeout(jsxc.toNotification):jsxc.isHidden()),key.match(/^focus/)&&(jsxc.master?clearTimeout(jsxc.toNotification):jsxc.hasFocus()),key.match(new RegExp("^history"+jsxc.storage.SEP)))for(var uid,el,message,history=JSON.parse(e.newValue);history.length>0;)uid=history.pop(),message=new jsxc.Message(uid),el=message.getDOM(),0===el.length?(jsxc.master&&message.direction===jsxc.Message.OUT&&jsxc.xmpp.sendMessage(message.bid,message.msg,message._uid),jsxc.gui.window._postMessage(message,!0)):message.isReceived()&&el.addClass("jsxc_received");else{if(key.match(new RegExp("^window"+jsxc.storage.SEP)))return e.newValue?e.oldValue?(n=JSON.parse(e.newValue),o=JSON.parse(e.oldValue),n.minimize!==o.minimize&&(n.minimize?jsxc.gui.window._hide(bid):jsxc.gui.window._show(bid)),jsxc.gui.window.setText(bid,n.text),void(n.unread!==o.unread&&(0===n.unread?jsxc.gui.readMsg(bid):jsxc.gui._unreadMsg(bid,n.unread)))):void jsxc.gui.window.open(bid):void jsxc.gui.window._close(bid);if(key.match(/^unreadMsg/)&&jsxc.gui.favicon&&jsxc.gui.favicon.badge(parseInt(e.newValue)||0),key.match(new RegExp("^smp"+jsxc.storage.SEP))){if(!e.newValue)return jsxc.gui.dialog.close("smp"),jsxc.gui.window.hideOverlay(bid),void(jsxc.master&&jsxc.otr.objects[bid].sm.abort());n=JSON.parse(e.newValue),"undefined"!=typeof n.data?jsxc.gui.window.smpRequest(bid,n.data):jsxc.master&&n.sec&&(jsxc.gui.dialog.close("smp"),jsxc.gui.window.hideOverlay(bid),jsxc.otr.sendSmpReq(bid,n.sec,n.quest))}if(!jsxc.master&&key.match(new RegExp("^buddy"+jsxc.storage.SEP))){if(!e.newValue)return void jsxc.gui.roster.purge(bid);if(0===jsxc.gui.roster.getItem(bid).length)return void jsxc.gui.roster.add(bid);n=JSON.parse(e.newValue),o=JSON.parse(e.oldValue),jsxc.gui.update(bid),o.status===n.status&&o.sub===n.sub||jsxc.gui.roster.reorder(bid)}jsxc.master&&key.match(new RegExp("^deletebuddy"+jsxc.storage.SEP))&&e.newValue&&(n=JSON.parse(e.newValue),jsxc.xmpp.removeBuddy(n.jid),jsxc.storage.removeUserItem(key)),jsxc.master&&key.match(new RegExp("^buddy"+jsxc.storage.SEP))&&(n=JSON.parse(e.newValue),o=JSON.parse(e.oldValue),o.transferReq!==n.transferReq&&(jsxc.storage.updateUserItem("buddy",bid,"transferReq",-1),0===n.transferReq&&jsxc.otr.goPlain(bid),1===n.transferReq&&jsxc.otr.goEncrypt(bid)),o.name!==n.name&&jsxc.gui.roster._rename(bid,n.name)),"friendReq"===key&&(n=JSON.parse(e.newValue),jsxc.master&&n.approve>=0&&jsxc.xmpp.resFriendReq(n.jid,n.approve)),jsxc.master&&key.match(new RegExp("^add"+jsxc.storage.SEP))&&(n=JSON.parse(e.newValue),jsxc.xmpp.addBuddy(n.username,n.alias)),"roster"===key&&jsxc.gui.roster.toggle(e.newValue),jsxc.master&&key.match(new RegExp("^vcard"+jsxc.storage.SEP))&&null!==e.newValue&&e.newValue.match(/^request:/)&&jsxc.xmpp.loadVcard(bid,function(stanza){jsxc.storage.setUserItem("vcard",bid,{state:"success",data:$("<div>").append(stanza).html()})},function(){jsxc.storage.setUserItem("vcard",bid,{state:"error"})}),jsxc.master||!key.match(new RegExp("^vcard"+jsxc.storage.SEP))||null===e.newValue||e.newValue.match(/^request:/)||(n=JSON.parse(e.newValue),"undefined"!=typeof n.state&&$(document).trigger("loaded.vcard.jsxc",n),jsxc.storage.removeUserItem("vcard",bid)),"_cmd"===key&&e.newValue&&(n=JSON.parse(e.newValue)||{},jsxc.storage.removeUserItem("_cmd"),n.cmd&&n.target===jsxc.tab.CONST[jsxc.master?"MASTER":"SLAVE"]&&(jsxc.debug("Execute tab cmd: "+n.cmd),jsxc.exec(n.cmd,n.params)))}}}},saveBuddy:function(bid,data){return jsxc.storage.getUserItem("buddy",bid)?(jsxc.storage.updateUserItem("buddy",bid,data),"updated"):(jsxc.storage.setUserItem("buddy",bid,$.extend({jid:"",name:"",status:0,sub:"none",msgstate:0,transferReq:-1,trust:!1,fingerprint:null,res:[],type:"chat"},data)),"created")}},jsxc.tab={CONST:{MASTER:"master",SLAVE:"slave"},exec:function(target,cmd,params){params=Array.prototype.slice.call(arguments,2),1===params.length&&$.isArray(params[0])&&(params=params[0]),target===jsxc.tab.CONST[jsxc.master?"MASTER":"SLAVE"]&&(jsxc.exec(cmd,params),jsxc.master)||jsxc.storage.setUserItem("_cmd",{target:target,cmd:cmd,params:params,rnd:Math.random()})},execMaster:function(){var args=Array.prototype.slice.call(arguments);args.unshift(jsxc.tab.CONST.MASTER),jsxc.tab.exec.apply(this,args)},execSlave:function(){var args=Array.prototype.slice.call(arguments);args.unshift(jsxc.tab.CONST.SLAVE),jsxc.tab.exec.apply(this,args)}},jsxc.webrtc={conn:null,localStream:null,remoteStream:null,last_caller:null,AUTO_ACCEPT:!1,reqVideoFeatures:["urn:xmpp:jingle:apps:rtp:video","urn:xmpp:jingle:apps:rtp:audio","urn:xmpp:jingle:transports:ice-udp:1","urn:xmpp:jingle:apps:dtls:0"],reqFileFeatures:["urn:xmpp:jingle:1","urn:xmpp:jingle:apps:file-transfer:3"],chatJids:{},init:function(){var self=jsxc.webrtc;if(self.conn=jsxc.xmpp.conn,!self.conn.jingle)return void jsxc.error("No jingle plugin found!");var manager=self.conn.jingle.manager;$(document).on("message.jsxc",self.onMessage),$(document).on("presence.jsxc",self.onPresence),$(document).on("mediafailure.jingle",self.onMediaFailure),manager.on("incoming",$.proxy(self.onIncoming,self)),manager.on("terminated",$.proxy(self.onTerminated,self)),manager.on("ringing",$.proxy(self.onCallRinging,self)),manager.on("receivedFile",$.proxy(self.onReceivedFile,self)),manager.on("sentFile",function(sess,metadata){jsxc.debug("sent "+metadata.hash)}),manager.on("peerStreamAdded",$.proxy(self.onRemoteStreamAdded,self)),manager.on("peerStreamRemoved",$.proxy(self.onRemoteStreamRemoved,self)),manager.on("log:*",function(level,msg){jsxc.debug("[JINGLE]["+level+"]",msg)}),self.conn.caps&&$(document).on("caps.strophe",self.onCaps);var url=jsxc.options.get("RTCPeerConfig").url||jsxc.options.turnCredentialsPath,peerConfig=jsxc.options.get("RTCPeerConfig");"string"==typeof url&&url.length>0?self.getTurnCrendentials(url):(jsxc.storage.getUserItem("iceValidity")&&(jsxc.storage.removeUserItem("iceValidity"),peerConfig.iceServers=jsxc.options.RTCPeerConfig.iceServers,jsxc.options.set("RTCPeerConfig",peerConfig)),self.conn.jingle.setICEServers(peerConfig.iceServers))},onConnected:function(){jsxc.storage.removeUserItem("iceValidity")},onDisconnected:function(){var self=jsxc.webrtc;$(document).off("message.jsxc",self.onMessage),$(document).off("presence.jsxc",self.onPresence),$(document).off("mediafailure.jingle",self.onMediaFailure),$(document).off("caps.strophe",self.onCaps)},getTurnCrendentials:function(url){var self=jsxc.webrtc;url=url||jsxc.options.get("RTCPeerConfig").url||jsxc.options.turnCredentialsPath;var ttl=(jsxc.storage.getUserItem("iceValidity")||0)-(new Date).getTime();return jsxc.storage.getUserItem("iceConfig")&&(jsxc.storage.removeUserItem("iceConfig"),ttl=-1),ttl>0?(self.conn.jingle.setICEServers(jsxc.options.get("RTCPeerConfig").iceServers),void window.setTimeout(jsxc.webrtc.getTurnCrendentials,ttl+500)):void $.ajax(url,{async:!0,xhrFields:{withCredentials:jsxc.options.get("RTCPeerConfig").withCredentials},success:function(data){var ttl=data.ttl||3600,iceServers=data.iceServers;if(!iceServers&&data.url&&(jsxc.warn("Received RTCPeer configuration is deprecated. Use now RTCPeerConfig.url."),iceServers=[{urls:data.url}],data.username&&(iceServers[0].username=data.username),data.credential&&(iceServers[0].credential=data.credential)),iceServers&&iceServers.length>0){var url=iceServers[0].url&&iceServers[0].url.length>0,urls=iceServers[0].urls&&iceServers[0].urls.length>0;if(urls||url){jsxc.debug("ice servers received");var peerConfig=jsxc.options.get("RTCPeerConfig");peerConfig.iceServers=iceServers,jsxc.options.set("RTCPeerConfig",peerConfig),self.conn.jingle.setICEServers(iceServers),jsxc.storage.setUserItem("iceValidity",(new Date).getTime()+1e3*ttl)}else jsxc.warn("No valid url found in first ice object.")}},dataType:"json"})},getCapableRes:function(jid,features){var self=jsxc.webrtc,bid=jsxc.jidToBid(jid),res=Object.keys(jsxc.storage.getUserItem("res",bid)||{})||[];if(!features)return res;"string"==typeof features&&(features=[features]);var available=[];return $.each(res,function(i,r){self.conn.caps.hasFeatureByJid(bid+"/"+r,features)&&available.push(r)}),available},initWindow:function(event,win){var self=jsxc.webrtc;if(!win.hasClass("jsxc_groupchat")){if(jsxc.debug("webrtc.initWindow"),!self.conn)return void $(document).one("attached.jsxc",function(){self.initWindow(null,win)});var div=$("<div>").addClass("jsxc_video");win.find(".jsxc_tools .jsxc_settings").after(div);var screenMediaExtension=jsxc.options.get("screenMediaExtension")||{},browser=self.conn.jingle.RTC.webrtcDetectedBrowser;if(screenMediaExtension[browser]||jsxc.storage.getItem("debug")){var a=$("<a>");a.text($.t("Share_screen")),a.addClass("jsxc_shareScreen jsxc_video"),a.attr("href","#"),win.find(".jsxc_settings .jsxc_menu li:last").after($("<li>").append(a))}self.updateIcon(win.data("bid"))}},updateIcon:function(bid){jsxc.debug("Update icon",bid);var self=jsxc.webrtc;if(bid!==jsxc.jidToBid(self.conn.jid)){var win=jsxc.gui.window.get(bid),jid=win.data("jid"),ls=jsxc.storage.getUserItem("buddy",bid);if("string"!=typeof jid){if(!ls||"string"!=typeof ls.jid)return void jsxc.debug("[webrtc] Could not update icon, because could not find jid for "+bid);jid=ls.jid}var res=Strophe.getResourceFromJid(jid),el=win.find(".jsxc_video"),capableRes=self.getCapableRes(jid,self.reqVideoFeatures),targetRes=res;null===targetRes&&($.each(jsxc.storage.getUserItem("buddy",bid).res||[],function(index,val){if(capableRes.indexOf(val)>-1)return targetRes=val,!1}),jid=jid+"/"+targetRes),el.off("click"),capableRes.indexOf(targetRes)>-1?(el.click(function(){$(this).hasClass("jsxc_shareScreen")?self.startScreenSharing(jid):self.startCall(jid)}),el.removeClass("jsxc_disabled"),el.attr("title",$.t("Start_video_call"))):(el.addClass("jsxc_disabled"),el.attr("title",$.t("Video_call_not_possible")))}},onMessage:function(e,from){var self=jsxc.webrtc,bid=jsxc.jidToBid(from);jsxc.debug("webrtc.onmessage",from),self.chatJids[bid]!==from&&(self.updateIcon(bid),self.chatJids[bid]=from)},onPresence:function(ev,jid,status,presence){var self=jsxc.webrtc;0===$(presence).find('c[xmlns="'+Strophe.NS.CAPS+'"]').length&&(jsxc.debug("webrtc.onpresence",jid),self.updateIcon(jsxc.jidToBid(jid)))},setStatus:function(txt,d){var status=$(".jsxc_webrtc .jsxc_status"),duration="undefined"==typeof d||null===d?4e3:d;if(jsxc.debug("[Webrtc]",txt),status.html()&&(txt=status.html()+"<br />"+txt),status.html(txt),status.css({"margin-left":"-"+status.width()/2+"px",opacity:0,display:"block"}),status.stop().animate({opacity:1}),clearTimeout(status.data("timeout")),0!==duration){var to=setTimeout(function(){status.stop().animate({opacity:0},function(){status.html("")})},duration);status.data("timeout",to)}},onCaps:function(event,jid){var self=jsxc.webrtc;jsxc.gui.roster.loaded?self.updateIcon(jsxc.jidToBid(jid)):$(document).on("cloaded.roster.jsxc",function(){self.updateIcon(jsxc.jidToBid(jid))})},onMediaFailure:function(ev,err){var msg,self=jsxc.webrtc;switch(err=err||{},self.setStatus("media failure"),err.name){case"NotAllowedError":case"PERMISSION_DENIED":msg=$.t("PermissionDeniedError");break;case"HTTPS_REQUIRED":case"EXTENSION_UNAVAILABLE":msg=$.t(err.name);break;default:msg=$.t(err.name)!==err.name?$.t(err.name):$.t("UNKNOWN_ERROR")}jsxc.gui.window.postMessage({bid:jsxc.jidToBid(jsxc.webrtc.last_caller),direction:jsxc.Message.SYS,msg:$.t("Media_failure")+": "+msg+" ("+err.name+")."}),jsxc.gui.dialog.close(),jsxc.debug("media failure: "+err.name)},onIncoming:function(session){var self=jsxc.webrtc,type=session.constructor?session.constructor.name:null;if("FileTransferSession"===type)self.onIncomingFileTransfer(session);else if("MediaSession"===type){var reqMedia=!1;$.each(session.pc.remoteDescription.contents,function(){"both"===this.senders&&(reqMedia=!0)}),session.call=reqMedia,reqMedia?self.onIncomingCall(session):self.onIncomingStream(session)}else jsxc.warn("Unknown session type.")},onIncomingStream:function(session){function acceptIncomingStream(session){jsxc.gui.dialog.close(),jsxc.gui.showVideoWindow(session.peerID),session.accept()}jsxc.debug("incoming stream from "+session.peerID);var self=jsxc.webrtc,bid=jsxc.jidToBid(session.peerID);if(session.on("change:connectionState",$.proxy(self.onIceConnectionStateChanged,self)),self.postScreenMessage(bid,$.t("Incoming_stream"),session.sid),jsxc.notification.notify($.t("Incoming_stream"),$.t("from_sender",{sender:bid})),session.ring(),jsxc.webrtc.last_caller=session.peerID,jsxc.webrtc.AUTO_ACCEPT)return void acceptIncomingStream(session);var dialog=jsxc.gui.dialog.open(jsxc.gui.template.get("incomingCall",bid),{noClose:!0});dialog.find(".jsxc_accept").click(function(){$(document).trigger("accept.call.jsxc"),acceptIncomingStream(session)}),dialog.find(".jsxc_reject").click(function(){jsxc.gui.dialog.close(),$(document).trigger("reject.call.jsxc"),session.decline()})},onIncomingFileTransfer:function(session){jsxc.debug("incoming file transfer from "+session.peerID);var buddylist=jsxc.storage.getUserItem("buddylist")||[],bid=jsxc.jidToBid(session.peerID);if(buddylist.indexOf(bid)>-1){session.accept();var message=jsxc.gui.window.postMessage({_uid:session.sid+":msg",bid:bid,direction:jsxc.Message.IN,attachment:{name:session.receiver.metadata.name,type:session.receiver.metadata.type||"application/octet-stream"}});session.receiver.on("progress",function(sent,size){jsxc.gui.window.updateProgress(message,sent,size)})}},onIncomingCall:function(session){jsxc.debug("incoming call from "+session.peerID);var self=jsxc.webrtc,bid=jsxc.jidToBid(session.peerID);if(session.on("change:connectionState",$.proxy(self.onIceConnectionStateChanged,self)),self.postCallMessage(bid,$.t("Incoming_call"),session.sid),jsxc.notification.notify($.t("Incoming_call"),$.t("from_sender",{sender:bid})),session.ring(),jsxc.webrtc.last_caller=session.peerID,jsxc.webrtc.AUTO_ACCEPT)return void self.acceptIncomingCall(session);var dialog=jsxc.gui.dialog.open(jsxc.gui.template.get("incomingCall",bid),{noClose:!0});dialog.find(".jsxc_accept").click(function(){self.acceptIncomingCall(session)}),dialog.find(".jsxc_reject").click(function(){jsxc.gui.dialog.close(),$(document).trigger("reject.call.jsxc"),session.decline()})},acceptIncomingCall:function(session){$(document).trigger("accept.call.jsxc");var self=jsxc.webrtc;jsxc.switchEvents({"mediaready.jingle":function(ev,stream){self.setStatus("Accept call"),self.localStream=stream,self.conn.jingle.localStream=stream;var dialog=jsxc.gui.showVideoWindow(session.peerID);dialog.find(".jsxc_videoContainer").addClass("jsxc_establishing"),session.addStream(stream),session.accept()},"mediafailure.jingle":function(){session.decline()}}),self.reqUserMedia()},onTerminated:function(session,reason){var self=jsxc.webrtc,type=session.constructor?session.constructor.name:null;"MediaSession"===type&&self.onCallTerminated(session,reason)},onCallTerminated:function(session,reason){var self=jsxc.webrtc;self.setStatus("call terminated "+session.peerID+(reason&&reason.condition?reason.condition:""));var bid=jsxc.jidToBid(session.peerID);if(self.localStream)if("function"==typeof self.localStream.getTracks){var tracks=self.localStream.getTracks();tracks.forEach(function(track){track.stop()})}else"function"==typeof self.localStream.stop?self.localStream.stop():jsxc.warn("Could not stop local stream");$(".jsxc_remotevideo").length&&($(".jsxc_remotevideo")[0].src=""),$(".jsxc_localvideo").length&&($(".jsxc_localvideo")[0].src=""),self.conn.jingle.localStream=null,self.localStream=null,self.remoteStream=null,jsxc.gui.closeVideoWindow(),jsxc.gui.dialog.close(),$(document).trigger("reject.call.jsxc"),$(document).off("error.jingle");var msg=(reason&&reason.condition?": "+$.t("jingle_reason_"+reason.condition):"")+".";session.call?(msg=$.t("Call_terminated")+msg,jsxc.webrtc.postCallMessage(bid,msg,session.sid)):(msg=$.t("Stream_terminated")+msg,jsxc.webrtc.postScreenMessage(bid,msg,session.sid))},onCallRinging:function(){this.setStatus("ringing...",0),$(".jsxc_videoContainer").removeClass("jsxc_establishing").addClass("jsxc_ringing")},onRemoteStreamAdded:function(session,stream){var self=jsxc.webrtc;self.setStatus("Remote stream for session "+session.sid+" added."),self.remoteStream=stream;var isVideoDevice=stream.getVideoTracks().length>0,isAudioDevice=stream.getAudioTracks().length>0;self.setStatus(isVideoDevice?"Use remote video device.":"No remote video device"),self.setStatus(isAudioDevice?"Use remote audio device.":"No remote audio device"),$(".jsxc_remotevideo").length&&(self.attachMediaStream($("#jsxc_webrtc .jsxc_remotevideo"),stream),$("#jsxc_webrtc .jsxc_"+(isVideoDevice?"remotevideo":"noRemoteVideo")).addClass("jsxc_deviceAvailable"))},attachMediaStream:function(element,stream){var self=jsxc.webrtc;self.conn.jingle.RTC.attachMediaStream(element instanceof jQuery?element.get(0):element,stream),$(element).show()},onRemoteStreamRemoved:function(session){this.setStatus("Remote stream for "+session.jid+" removed.")},onIceConnectionStateChanged:function(session,state){var self=jsxc.webrtc;jsxc.debug("connection state for "+session.sid,state),"connected"===state?$("#jsxc_webrtc .jsxc_deviceAvailable").show():"failed"===state?(jsxc.gui.window.postMessage({bid:jsxc.jidToBid(session.peerID),direction:jsxc.Message.SYS,msg:$.t("ICE_connection_failure")}),session.end("failed-transport"),$(document).trigger("callterminated.jingle")):"interrupted"===state&&self.setStatus($.t("Connection_interrupted"))},startCall:function(jid,um){var self=jsxc.webrtc;return null===Strophe.getResourceFromJid(jid)?void jsxc.debug("We need a full jid"):(self.last_caller=jid,jsxc.switchEvents({"mediaready.jingle":function(ev,stream){jsxc.debug("media ready for outgoing call"),self.initiateOutgoingCall(jid,stream)},"mediafailure.jingle":function(){jsxc.gui.dialog.close()}}),void self.reqUserMedia(um))},initiateOutgoingCall:function(jid,stream){var self=jsxc.webrtc;self.localStream=stream,self.conn.jingle.localStream=stream;var dialog=jsxc.gui.showVideoWindow(jid);dialog.find(".jsxc_videoContainer").addClass("jsxc_establishing"),self.setStatus("Initiate call"),$(document).one("error.jingle",function(ev,sid,error){error&&"offer"!==error.source||setTimeout(function(){jsxc.gui.showAlert("Sorry, we couldn't establish a connection. Maybe your buddy is offline.")},500)});var session=self.conn.jingle.initiate(jid);session.call=!0,session.on("change:connectionState",$.proxy(self.onIceConnectionStateChanged,self)),self.postCallMessage(jsxc.jidToBid(jid),$.t("Call_started"),session.sid)},hangUp:function(reason,text){jsxc.webrtc.conn.jingle.manager&&!$.isEmptyObject(jsxc.webrtc.conn.jingle.manager.peers)?jsxc.webrtc.conn.jingle.terminate(null,reason,text):jsxc.gui.closeVideoWindow(),$(document).trigger("callterminated.jingle")},startScreenSharing:function(jid){var self=this;return null===Strophe.getResourceFromJid(jid)?void jsxc.debug("We need a full jid"):(self.last_caller=jid,jsxc.switchEvents({"mediaready.jingle":function(ev,stream){self.initiateScreenSharing(jid,stream)},"mediafailure.jingle":function(ev,err){jsxc.gui.dialog.close();var browser=self.conn.jingle.RTC.webrtcDetectedBrowser,screenMediaExtension=jsxc.options.get("screenMediaExtension")||{};screenMediaExtension[browser]&&("EXTENSION_UNAVAILABLE"===err.name||"NotAllowedError"===err.name&&"firefox"===browser)&&setTimeout(function(){jsxc.gui.window.postMessage({bid:jsxc.jidToBid(jid),direction:jsxc.Message.SYS,msg:$.t("Install_extension")+screenMediaExtension[browser]})},500)}}),void self.reqUserMedia(["screen"]))},initiateScreenSharing:function(jid,stream){var self=jsxc.webrtc,bid=jsxc.jidToBid(jid);jsxc.webrtc.localStream=stream,jsxc.webrtc.conn.jingle.localStream=stream;var container=jsxc.gui.showMinimizedVideoWindow();container.addClass("jsxc_establishing"),self.setStatus("Initiate stream"),$(document).one("error.jingle",function(e,sid,error){error&&"offer"!==error.source||setTimeout(function(){jsxc.gui.showAlert("Sorry, we couldn't establish a connection. Maybe your buddy is offline.");
-},500)});var constraints,browser=self.conn.jingle.RTC.webrtcDetectedBrowser,browserVersion=self.conn.jingle.RTC.webrtcDetectedVersion;constraints=browserVersion<33&&"firefox"===browser||"chrome"===browser?{mandatory:{OfferToReceiveAudio:!1,OfferToReceiveVideo:!1}}:{offerToReceiveAudio:!1,offerToReceiveVideo:!1};var session=self.conn.jingle.initiate(jid,void 0,constraints);session.call=!1,session.on("change:connectionState",$.proxy(self.onIceConnectionStateChanged,self)),session.on("accepted",function(){self.onSessionAccepted(session)}),self.postScreenMessage(bid,$.t("Stream_started"),session.sid)},onSessionAccepted:function(session){var self=jsxc.webrtc;$(".jsxc_videoContainer").removeClass("jsxc_ringing"),self.postScreenMessage(jsxc.jidToBid(session.peerID),$.t("Connection_accepted"),session.sid)},reqUserMedia:function(um){function filterUserMedia(devices){var availableDevices=devices.map(function(device){return device.kind});um=um.filter(function(el){return availableDevices.indexOf(el)!==-1||availableDevices.indexOf(el+"input")!==-1}),um.length?jsxc.webrtc.getUserMedia(um):jsxc.warn("No audio/video device available.")}return this.localStream?void $(document).trigger("mediaready.jingle",[this.localStream]):(um=um||["video","audio"],jsxc.gui.dialog.open(jsxc.gui.template.get("allowMediaAccess"),{noClose:!0}),void(um.indexOf("screen")>=0?jsxc.webrtc.getScreenMedia():"undefined"!=typeof navigator&&"undefined"!=typeof navigator.mediaDevices&&"undefined"!=typeof navigator.mediaDevices.enumerateDevices?navigator.mediaDevices.enumerateDevices().then(filterUserMedia).catch(function(err){jsxc.warn(err.name+": "+err.message)}):"undefined"!=typeof MediaStreamTrack&&"undefined"!=typeof MediaStreamTrack.getSources?MediaStreamTrack.getSources(filterUserMedia):jsxc.webrtc.getUserMedia(um)))},getUserMedia:function(um){var self=jsxc.webrtc,constraints={};um.indexOf("video")>-1&&(constraints.video=!0),um.indexOf("audio")>-1&&(constraints.audio=!0);try{self.conn.jingle.RTC.getUserMedia(constraints,function(stream){jsxc.debug("onUserMediaSuccess"),$(document).trigger("mediaready.jingle",[stream])},function(error){jsxc.warn("Failed to get access to local media. Error ",error),$(document).trigger("mediafailure.jingle",[error])})}catch(e){jsxc.error("GUM failed: ",e),$(document).trigger("mediafailure.jingle")}},getScreenMedia:function(){var self=jsxc.webrtc;jsxc.debug("get screen media"),self.conn.jingle.getScreenMedia(self.screenMediaCallback)},screenMediaCallback:function(err,stream){return err?void $(document).trigger("mediafailure.jingle",[err]):void(stream&&(jsxc.debug("onScreenMediaSuccess"),$(document).trigger("mediaready.jingle",[stream])))},screenMediaAvailable:function(){var self=jsxc.webrtc,browser=self.conn.jingle.RTC.webrtcDetectedBrowser,chrome=!!sessionStorage.getScreenMediaJSExtensionId&&"chrome"===browser,firefox="firefox"===browser;return chrome||firefox},snapshot:function(video){video||jsxc.debug("Missing video element"),$(".jsxc_snapshotbar p").remove();var canvas=$("<canvas/>").css("display","none").appendTo("body").attr({width:video.width(),height:video.height()}).get(0),ctx=canvas.getContext("2d");ctx.drawImage(video[0],0,0);var img=$("<img/>"),url=null;try{url=canvas.toDataURL("image/jpeg")}catch(err){return void jsxc.warn("Error",err)}img[0].src=url;var link=$("<a/>").attr({target:"_blank",href:url});link.append(img),$(".jsxc_snapshotbar").append(link),canvas.remove()},sendFile:function(jid,file){jsxc.debug("Send file via webrtc");var self=jsxc.webrtc;if(!Strophe.getResourceFromJid(jid))return void jsxc.warn("Require full jid to send file via webrtc");var sess=self.conn.jingle.manager.createFileTransferSession(jid);return sess.on("change:sessionState",function(){jsxc.debug("Session state",sess.state)}),sess.on("change:connectionState",function(){jsxc.debug("Connection state",sess.connectionState)}),sess.start(file),sess},onReceivedFile:function(sess,file,metadata){if(jsxc.debug("file received",metadata),FileReader){var type,reader=new FileReader;if(metadata.type)type=metadata.type;else{var ext=metadata.name.replace(/.+\.([a-z0-9]+)$/i,"$1").toLowerCase();switch(ext){case"jpg":case"jpeg":case"png":case"gif":case"svg":type="image/"+ext.replace(/^jpg$/,"jpeg");break;case"mp3":case"wav":type="audio/"+ext;break;case"pdf":type="application/pdf";break;case"txt":type="text/"+ext;break;default:type="application/octet-stream"}}reader.onload=function(ev){jsxc.gui.window.postMessage({_uid:sess.sid+":msg",bid:jsxc.jidToBid(sess.peerID),direction:jsxc.Message.IN,attachment:{name:metadata.name,type:type,size:metadata.size,data:ev.target.result}})},file.type||(file=new File([file],metadata.name,{type:type})),reader.readAsDataURL(file)}}},jsxc.webrtc.postCallMessage=function(bid,msg,uid){jsxc.gui.window.postMessage({_uid:uid,bid:bid,direction:jsxc.Message.SYS,msg:":telephone_receiver: "+msg})},jsxc.webrtc.postScreenMessage=function(bid,msg,uid){jsxc.gui.window.postMessage({_uid:uid,bid:bid,direction:jsxc.Message.SYS,msg:":computer: "+msg})},jsxc.gui.showMinimizedVideoWindow=function(){var self=jsxc.webrtc;jsxc.gui.dialog.close();var videoContainer=$("<div/>");videoContainer.addClass("jsxc_videoContainer jsxc_minimized"),videoContainer.appendTo("body"),videoContainer.draggable({containment:"parent"});var videoElement=$('<video class="jsxc_localvideo" autoplay=""></video>');return videoElement.appendTo(videoContainer),videoElement[0].muted=!0,videoElement[0].volume=0,self.localStream&&self.attachMediaStream(videoElement,self.localStream),videoContainer.append('<div class="jsxc_controlbar"><div><div class="jsxc_hangUp jsxc_videoControl"></div></div></div></div>'),videoContainer.find(".jsxc_hangUp").click(function(){jsxc.webrtc.hangUp("success")}),videoContainer.click(function(){videoContainer.find(".jsxc_controlbar").toggleClass("jsxc_visible")}),videoContainer},jsxc.gui.showVideoWindow=function(jid){var self=jsxc.webrtc;jsxc.gui.dialog.close(),$("body").append(jsxc.gui.template.get("videoWindow")),$("#jsxc_webrtc .jsxc_localvideo")[0].muted=!0,$("#jsxc_webrtc .jsxc_localvideo")[0].volume=0;var rv=$("#jsxc_webrtc .jsxc_remotevideo"),lv=$("#jsxc_webrtc .jsxc_localvideo");lv.draggable({containment:"parent"}),self.localStream&&self.attachMediaStream(lv,self.localStream);var w_dialog=$("#jsxc_webrtc").width(),w_remote=rv.width();if(w_remote>w_dialog){var scale=w_dialog/w_remote,new_h=rv.height()*scale,new_w=w_dialog,vc=$("#jsxc_webrtc .jsxc_videoContainer");rv.height(new_h),rv.width(new_w),vc.height(new_h),vc.width(new_w),lv.height(lv.height()*scale),lv.width(lv.width()*scale)}self.remoteStream&&(self.attachMediaStream(rv,self.remoteStream),$("#jsxc_webrtc .jsxc_"+(self.remoteStream.getVideoTracks().length>0?"remotevideo":"noRemoteVideo")).addClass("jsxc_deviceAvailable"));var win=jsxc.gui.window.open(jsxc.jidToBid(jid));return win.find(".slimScrollDiv").resizable("disable"),jsxc.gui.window.resize(win,{size:{width:$("#jsxc_webrtc .jsxc_chatarea").width(),height:$("#jsxc_webrtc .jsxc_chatarea").height()}},!0),$("#jsxc_webrtc .jsxc_chatarea ul").append(win.detach()),$("#jsxc_webrtc .jsxc_hangUp").click(function(){jsxc.webrtc.hangUp("success")}),$("#jsxc_webrtc .jsxc_fullscreen").click(function(){$.support.fullscreen&&($(document).one("disabled.fullscreen",function(){lv.removeAttr("style")}),$("#jsxc_webrtc .jsxc_videoContainer").fullscreen())}),$("#jsxc_webrtc .jsxc_videoContainer").click(function(){$("#jsxc_webrtc .jsxc_controlbar").toggleClass("jsxc_visible")}),$("#jsxc_webrtc")},jsxc.gui.closeVideoWindow=function(){var win=$("#jsxc_webrtc .jsxc_chatarea > ul > li");win.length>0&&($("#jsxc_windowList > ul").prepend(win.detach()),win.find(".slimScrollDiv").resizable("enable"),jsxc.gui.window.resize(win)),$("#jsxc_webrtc, .jsxc_videoContainer").remove()},$.extend(jsxc.CONST,{KEYCODE_ENTER:13,KEYCODE_ESC:27}),$(document).ready(function(){$(document).on("init.window.jsxc",jsxc.webrtc.initWindow),$(document).on("attached.jsxc",jsxc.webrtc.init),$(document).on("disconnected.jsxc",jsxc.webrtc.onDisconnected),$(document).on("connected.jsxc",jsxc.webrtc.onConnected)}),jsxc.xmpp.bookmarks={},jsxc.xmpp.bookmarks.remote=function(){return jsxc.xmpp.conn.caps&&jsxc.xmpp.hasFeatureByJid(jsxc.xmpp.conn.domain,Strophe.NS.PUBSUB+"#publish")},jsxc.xmpp.bookmarks.load=function(){var caps=jsxc.xmpp.conn.caps,ver=caps._jidVerIndex[jsxc.xmpp.conn.domain];ver&&caps._knownCapabilities[ver]||$(document).on("caps.strophe",function(ev,from){from===jsxc.xmpp.conn.domain&&(jsxc.xmpp.bookmarks.load(),$(document).off(ev))}),jsxc.xmpp.bookmarks.remote()?jsxc.xmpp.bookmarks.loadFromRemote():jsxc.xmpp.bookmarks.loadFromLocal()},jsxc.xmpp.bookmarks.loadFromLocal=function(){jsxc.debug("Load bookmarks from local storage");var bookmarks=jsxc.storage.getUserItem("bookmarks")||[],bl=jsxc.storage.getUserItem("buddylist")||[];$.each(bookmarks,function(){var room=this,roomdata=jsxc.storage.getUserItem("buddy",room)||{};bl.push(room),jsxc.gui.roster.add(room),roomdata.autojoin&&(jsxc.debug("auto join "+room),jsxc.xmpp.conn.muc.join(room,roomdata.nickname))}),jsxc.storage.setUserItem("buddylist",bl)},jsxc.xmpp.bookmarks.loadFromRemote=function(){jsxc.debug("Load bookmarks from pubsub");var bookmarks=jsxc.xmpp.conn.bookmarks;bookmarks.get(function(stanza){var bl=jsxc.storage.getUserItem("buddylist");$(stanza).find("conference").each(function(){var conference=$(this),room=conference.attr("jid"),roomName=conference.attr("name")||room,autojoin=conference.attr("autojoin")||!1,nickname=conference.find("nick").text();nickname=nickname.length>0?nickname:Strophe.getNodeFromJid(jsxc.xmpp.conn.jid),"true"===autojoin?autojoin=!0:"false"===autojoin&&(autojoin=!1);var data=jsxc.storage.getUserItem("buddy",room)||{};data=$.extend(data,{jid:room,name:roomName,sub:"both",status:0,type:"groupchat",state:jsxc.muc.CONST.ROOMSTATE.INIT,subject:null,bookmarked:!0,autojoin:autojoin,nickname:nickname}),jsxc.storage.setUserItem("buddy",room,data),bl.push(room),jsxc.gui.roster.add(room),autojoin&&(jsxc.debug("auto join "+room),jsxc.xmpp.conn.muc.join(room,nickname))}),jsxc.storage.setUserItem("buddylist",bl)},function(stanza){var err=jsxc.xmpp.bookmarks.parseErr(stanza);"item-not-found"===err.reasons[0]?(jsxc.debug("create bookmark node"),bookmarks.createBookmarksNode(function(){jsxc.debug("Bookmark node created.")},function(){jsxc.debug("Could not create bookmark node.")})):jsxc.debug("[XMPP] Could not create bookmark: "+err.type,err.reasons)})},jsxc.xmpp.bookmarks.parseErr=function(stanza){var error=$(stanza).find("error"),type=error.attr("type"),reasons=error.children().map(function(){return $(this).prop("tagName")});return{type:type,reasons:reasons}},jsxc.xmpp.bookmarks.delete=function(room,soft){soft||jsxc.gui.roster.purge(room),jsxc.xmpp.bookmarks.remote()?jsxc.xmpp.bookmarks.deleteFromRemote(room,soft):jsxc.xmpp.bookmarks.deleteFromLocal(room,soft)},jsxc.xmpp.bookmarks.deleteFromRemote=function(room,soft){var bookmarks=jsxc.xmpp.conn.bookmarks;bookmarks.delete(room,function(){jsxc.debug("Bookmark deleted "+room),soft&&(jsxc.gui.roster.getItem(room).removeClass("jsxc_bookmarked"),jsxc.storage.updateUserItem("buddy",room,"bookmarked",!1),jsxc.storage.updateUserItem("buddy",room,"autojoin",!1))},function(stanza){var err=jsxc.xmpp.bookmarks.parseErr(stanza);jsxc.debug("[XMPP] Could not delete bookmark: "+err.type,err.reasons)})},jsxc.xmpp.bookmarks.deleteFromLocal=function(room,soft){var bookmarks=jsxc.storage.getUserItem("bookmarks"),index=bookmarks.indexOf(room);index>-1&&bookmarks.splice(index,1),jsxc.storage.setUserItem("bookmarks",bookmarks),soft&&(jsxc.gui.roster.getItem(room).removeClass("jsxc_bookmarked"),jsxc.storage.updateUserItem("buddy",room,"bookmarked",!1),jsxc.storage.updateUserItem("buddy",room,"autojoin",!1))},jsxc.xmpp.bookmarks.add=function(room,alias,nick,autojoin){jsxc.xmpp.bookmarks.remote()?jsxc.xmpp.bookmarks.addToRemote(room,alias,nick,autojoin):jsxc.xmpp.bookmarks.addToLocal(room,alias,nick,autojoin)},jsxc.xmpp.bookmarks.addToRemote=function(room,alias,nick,autojoin){var bookmarks=jsxc.xmpp.conn.bookmarks,success=function(){jsxc.debug("New bookmark created",room),jsxc.gui.roster.getItem(room).addClass("jsxc_bookmarked"),jsxc.storage.updateUserItem("buddy",room,"bookmarked",!0),jsxc.storage.updateUserItem("buddy",room,"autojoin",autojoin),jsxc.storage.updateUserItem("buddy",room,"nickname",nick)},error=function(){jsxc.warn("Could not create bookmark",room)};bookmarks.add(room,alias,nick,autojoin,success,error)},jsxc.xmpp.bookmarks.addToLocal=function(room,alias,nick,autojoin){jsxc.gui.roster.getItem(room).addClass("jsxc_bookmarked"),jsxc.storage.updateUserItem("buddy",room,"bookmarked",!0),jsxc.storage.updateUserItem("buddy",room,"autojoin",autojoin),jsxc.storage.updateUserItem("buddy",room,"nickname",nick);var bookmarks=jsxc.storage.getUserItem("bookmarks")||[];bookmarks.indexOf(room)<0&&(bookmarks.push(room),jsxc.storage.setUserItem("bookmarks",bookmarks))},jsxc.xmpp.bookmarks.showDialog=function(room){var dialog=jsxc.gui.dialog.open(jsxc.gui.template.get("bookmarkDialog")),data=jsxc.storage.getUserItem("buddy",room);$("#jsxc_room").val(room),$("#jsxc_nickname").val(data.nickname),$("#jsxc_bookmark").change(function(){$(this).prop("checked")?($("#jsxc_nickname").prop("disabled",!1),$("#jsxc_autojoin").prop("disabled",!1),$("#jsxc_autojoin").parent(".checkbox").removeClass("disabled")):($("#jsxc_nickname").prop("disabled",!0),$("#jsxc_autojoin").prop("disabled",!0).prop("checked",!1),$("#jsxc_autojoin").parent(".checkbox").addClass("disabled"))}),$("#jsxc_bookmark").prop("checked",data.bookmarked),$("#jsxc_autojoin").prop("checked",data.autojoin),$("#jsxc_bookmark").change(),dialog.find("form").submit(function(ev){ev.preventDefault();var bookmarked=$("#jsxc_bookmark").prop("checked"),autojoin=$("#jsxc_autojoin").prop("checked"),nickname=$("#jsxc_nickname").val();return bookmarked?jsxc.xmpp.bookmarks.add(room,data.name,nickname,autojoin):data.bookmarked&&jsxc.xmpp.bookmarks.delete(room,!0),jsxc.gui.dialog.close(),!1})},jsxc.xmpp.chatState={conn:null,toComposingNotificationDelay:900},jsxc.xmpp.chatState.init=function(){var self=jsxc.xmpp.chatState;return jsxc.xmpp.conn&&jsxc.xmpp.connected?($(document).off("composing.chatstates",jsxc.xmpp.chatState.onComposing),$(document).off("paused.chatstates",jsxc.xmpp.chatState.onPaused),$(document).off("active.chatstates",jsxc.xmpp.chatState.onActive),self.isDisabled()?void jsxc.debug("chat state notification disabled"):(self.conn=jsxc.xmpp.conn,$(document).on("composing.chatstates",jsxc.xmpp.chatState.onComposing),$(document).on("paused.chatstates",jsxc.xmpp.chatState.onPaused),void $(document).on("active.chatstates",jsxc.xmpp.chatState.onActive))):void $(document).on("attached.jsxc",self.init)},jsxc.xmpp.chatState.onComposing=function(ev,jid){var self=jsxc.xmpp.chatState,bid=jsxc.jidToBid(jid),data=jsxc.storage.getUserItem("buddy",bid)||null;if(data&&!jsxc.xmpp.chatState.isDisabled()&&("groupchat"!==data.type||Strophe.getResourceFromJid(jid)!==Strophe.getNodeFromJid(self.conn.jid))){var user="groupchat"===data.type?Strophe.getResourceFromJid(jid):data.name,win=jsxc.gui.window.get(bid);if(0!==win.length){clearTimeout(win.data("composing-timeout"));var usersComposing=win.data("composing")||[];usersComposing.indexOf(user)===-1&&(usersComposing.push(user),win.data("composing",usersComposing));var textarea=win.find(".jsxc_textarea"),composingNotif=textarea.find(".jsxc_composing");composingNotif.length<1&&(composingNotif=$("<div>").addClass("jsxc_composing").addClass("jsxc_chatmessage").addClass("jsxc_sys").appendTo(textarea));var msg=self._genComposingMsg(usersComposing);composingNotif.text(msg),jsxc.gui.window.scrollDown(bid),composingNotif.addClass("jsxc_fadein")}}},jsxc.xmpp.chatState.onPaused=function(ev,jid){var self=jsxc.xmpp.chatState,bid=jsxc.jidToBid(jid),data=jsxc.storage.getUserItem("buddy",bid)||null;if(data&&!jsxc.xmpp.chatState.isDisabled()){var user="groupchat"===data.type?Strophe.getResourceFromJid(jid):data.name,win=jsxc.gui.window.get(bid);if(0!==win.length){var el=win.find(".jsxc_composing"),usersComposing=win.data("composing")||[];if(usersComposing.indexOf(user)>=0&&(usersComposing.splice(usersComposing.indexOf(user),1),win.data("composing",usersComposing)),0===usersComposing.length){var durationValue=el.css("transition-duration")||"0s",duration=parseFloat(durationValue)||0;durationValue.match(/[^m]s$/)&&(duration*=1e3),el.removeClass("jsxc_fadein");var to=setTimeout(function(){el.remove()},duration);win.data("composing-timeout",to)}else el.text(self._genComposingMsg(usersComposing))}}},jsxc.xmpp.chatState.onActive=function(ev,jid){jsxc.xmpp.chatState.onPaused(ev,jid)},jsxc.xmpp.chatState.startComposing=function(bid){var self=jsxc.xmpp.chatState;if(jsxc.xmpp.conn&&jsxc.xmpp.conn.chatstates&&!jsxc.xmpp.chatState.isDisabled()){var win=jsxc.gui.window.get(bid),timeout=win.data("composing-timeout"),type=win.hasClass("jsxc_groupchat")?"groupchat":"chat";timeout?clearTimeout(timeout):jsxc.xmpp.conn.chatstates.sendComposing(bid,type),timeout=setTimeout(function(){self.pauseComposing(bid,type),win.data("composing-timeout",null)},self.toComposingNotificationDelay),win.data("composing-timeout",timeout)}},jsxc.xmpp.chatState.pauseComposing=function(bid,type){jsxc.xmpp.chatState.isDisabled()||jsxc.xmpp.conn.chatstates.sendPaused(bid,type)},jsxc.xmpp.chatState.endComposing=function(bid){var win=jsxc.gui.window.get(bid);win.data("composing-timeout")&&clearTimeout(win.data("composing-timeout"))},jsxc.xmpp.chatState._genComposingMsg=function(usersComposing){return usersComposing&&0!==usersComposing.length?usersComposing.length>1?usersComposing.join(", ")+$.t("_are_composing"):usersComposing[0]+$.t("_is_composing"):(jsxc.debug("usersComposing array is empty?"),"")},jsxc.xmpp.chatState.isDisabled=function(){var options=jsxc.options.get("chatState")||{};return!options.enable},$(document).on("attached.jsxc",jsxc.xmpp.chatState.init),jsxc.xmpp.httpUpload={conn:null,ready:!1,CONST:{NS:{HTTPUPLOAD:"urn:xmpp:http:upload"}}},jsxc.xmpp.httpUpload.init=function(o){var self=jsxc.xmpp.httpUpload;self.conn=jsxc.xmpp.conn;var fileTransferOptions=jsxc.options.get("fileTransfer")||{},options=o||jsxc.options.get("httpUpload");if(!fileTransferOptions.httpUpload.enable)return jsxc.debug("http upload disabled"),void jsxc.options.set("httpUpload",!1);if(options&&options.server)return void(self.ready=!0);var caps=jsxc.xmpp.conn.caps,domain=jsxc.xmpp.conn.domain;return caps&&domain&&"undefined"!=typeof caps._knownCapabilities[caps._jidVerIndex[domain]]?void(caps.hasFeatureByJid(domain,self.CONST.NS.HTTPUPLOAD)?self.discoverUploadService():jsxc.debug(domain+" does not support http upload")):(jsxc.debug("Waiting for server capabilities"),void $(document).on("caps.strophe",function onCaps(ev,from){from===domain&&(self.init(),$(document).off("caps.strophe",onCaps))}))},jsxc.xmpp.httpUpload.discoverUploadService=function(){var self=jsxc.xmpp.httpUpload;jsxc.debug("discover http upload service"),self.queryItemForUploadService(self.conn.domain),self.conn.disco.items(self.conn.domain,null,function(items){$(items).find("item").each(function(){var jid=$(this).attr("jid");return!self.ready&&void self.queryItemForUploadService(jid)})})},jsxc.xmpp.httpUpload.queryItemForUploadService=function(jid,cb){var self=jsxc.xmpp.httpUpload;jsxc.debug("query "+jid+" for upload service"),self.conn.disco.info(jid,null,function(info){var httpUploadFeature=$(info).find('feature[var="'+self.CONST.NS.HTTPUPLOAD+'"]'),httpUploadMaxSize=$(info).find('field[var="max-file-size"]');httpUploadFeature.length>0&&(jsxc.debug("http upload service found on "+jid),jsxc.options.set("httpUpload",{server:jid,name:$(info).find("identity").attr("name"),maxSize:parseInt(httpUploadMaxSize.text())}),self.ready=!0,"function"==typeof cb&&cb.call(info))})},jsxc.xmpp.httpUpload.sendFile=function(file,message){jsxc.debug("Send file via http upload");var self=jsxc.xmpp.httpUpload;message.encrypted=!1,self.requestSlot(file,function(data){data?data.error?(jsxc.warn('The xmpp server responded with an error of the type "'+data.error.type+'"'),message.getDOM().remove(),jsxc.gui.window.postMessage({bid:message.bid,direction:jsxc.Message.SYS,msg:data.error.text}),message.delete()):data.get&&data.put&&self.uploadFile(data.put,file,message,function(){var a=$("<a>");a.attr("href",data.get),a.attr("data-name",message.attachment.name),a.attr("data-type",message.attachment.type),a.attr("data-size",message.attachment.size),message.attachment.thumbnail&&a.attr("data-thumbnail",message.attachment.thumbnail),a.text(data.get),message.attachment.data=data.get,message.msg=$("<span>").append(a).html(),message.type=jsxc.Message.HTML,jsxc.gui.window.postMessage(message)}):jsxc.warn("Unknown error occured. Please check the debug log.")})},jsxc.xmpp.httpUpload.uploadFile=function(url,file,message,success_cb){$.ajax({url:url,type:"PUT",contentType:"application/octet-stream",data:file,processData:!1,xhr:function(){var xhr=$.ajaxSettings.xhr();return xhr.upload.onprogress=function(ev){ev.lengthComputable&&jsxc.gui.window.updateProgress(message,ev.loaded,ev.total)},xhr},success:function(){jsxc.debug("file successful uploaded"),jsxc.gui.window.updateProgress(message,1,1),success_cb&&success_cb()},error:function(){jsxc.warn("error while uploading file to "+url),message.error="Could not upload file",jsxc.gui.window.postMessage(message)}})},jsxc.xmpp.httpUpload.requestSlot=function(file,cb){var self=jsxc.xmpp.httpUpload,options=jsxc.options.get("httpUpload");if(!options||!options.server)return void jsxc.warn("could not request upload slot, because I am not aware of a server or http upload is disabled");var iq=$iq({to:options.server,type:"get"}).c("request",{xmlns:self.CONST.NS.HTTPUPLOAD}).c("filename").t(file.name).up().c("size").t(file.size);self.conn.sendIQ(iq,function(stanza){self.successfulRequestSlotCB(stanza,cb)},function(stanza){self.failedRequestSlotCB(stanza,cb)})},jsxc.xmpp.httpUpload.successfulRequestSlotCB=function(stanza,cb){var self=jsxc.xmpp.httpUpload,slot=$(stanza).find('slot[xmlns="'+self.CONST.NS.HTTPUPLOAD+'"]');if(slot.length>0){var put=slot.find("put").text(),get=slot.find("get").text();cb({put:put,get:get})}else self.failedRequestSlotCB(stanza,cb)},jsxc.xmpp.httpUpload.failedRequestSlotCB=function(stanza,cb){if($(stanza).find("error").length<=0)return jsxc.warn("response does not contain a slot element"),void cb();var error={type:$(stanza).find("error").attr("type")||"unknown",text:$(stanza).find("error text").text()};$(stanza).find("error not-acceptable")?error.reason="not-acceptable":$(stanza).find("error resource-constraint")?error.reason="resource-constraint":$(stanza).find("error not-allowed")&&(error.reason="not-allowed"),cb({error:error})},$(document).on("stateChange.jsxc",function(ev,state){state===jsxc.CONST.STATE.READY&&jsxc.xmpp.httpUpload.init()}),jsxc.gui.template.aboutDialog='<h3>JavaScript XMPP Chat</h3>\n<p>\n <b>Version: </b><span data-var="version" />\n <br /> <a href="http://jsxc.org/" target="_blank">www.jsxc.org</a>\n</p>\n<p>\n <i>Released under the MIT license</i>\n</p>\n<p>\n Real-time chat app for <span data-var="app_name" /> and more.\n <br /> Requires an external <a href="https://xmpp.org/xmpp-software/servers/" target="_blank">XMPP server</a>.\n</p>\n<p class="jsxc_credits">\n <b>Credits: </b> <a href="http://www.beepzoid.com/old-phones/" target="_blank">David English (Ringtone)</a>,\n <a href="https://soundcloud.com/freefilmandgamemusic/ping-1?in=freefilmandgamemusic/sets/free-notification-sounds-and" target="_blank">CameronMusic (Ping)</a>,\n <a href="http://www.picol.org/">Picol (Fullscreen icon)</a>, <a href="http://www.jabber.org/">Jabber Software Foundation (Jabber lightbulb logo)</a>\n</p>\n<p class="jsxc_libraries">\n <b>Libraries: </b>\n <a href="http://strophe.im/strophejs/">strophe.js</a> (multiple), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/muc</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/disco</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/caps</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/vcard</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins/tree/master/bookmarks">strophe.js/bookmarks</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins/tree/master/dataforms">strophe.js/x</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins/tree/master/chatstates">strophe.js/chatstates</a> (MIT), <a href="https://github.com/sualko/strophe.jinglejs">strophe.jinglejs</a> (MIT), <a href="https://github.com/neoatlantis/node-salsa20">Salsa20</a> (AGPL3), <a href="www.leemon.com">bigint</a> (public domain), <a href="code.google.com/p/crypto-js">cryptojs</a> (code.google.com/p/crypto-js/wiki/license), <a href="http://git.io/ee">eventemitter</a> (MIT), <a href="https://arlolra.github.io/otr/">otr.js</a> (MPL v2.0), <a href="http://i18next.com/">i18next</a> (MIT), <a href="http://i18next.com/">jquery-i18next</a> (MIT), <a href="http://dimsemenov.com/plugins/magnific-popup/">Magnific Popup</a> (MIT), <a href="https://github.com/ejci/favico.js">favico.js</a> (MIT), <a href="http://emojione.com">emoji one</a> (CC-BY 4.0)\n</p>\n\n<button class="btn btn-default pull-right jsxc_debuglog">Show debug log</button>\n',jsxc.gui.template.alert='<h3 data-i18n="Alert"></h3>\n<div class="alert alert-info">\n <strong data-i18n="Info"></strong> <span data-var="msg" />\n</div>\n',jsxc.gui.template.allowMediaAccess='<p data-i18n="Please_allow_access_to_microphone_and_camera"></p>\n',jsxc.gui.template.approveDialog='<h3 data-i18n="Subscription_request"></h3>\n<p>\n <span data-i18n="You_have_a_request_from"></span> <b class="jsxc_their_jid"></b>.\n</p>\n\n<button class="btn btn-primary jsxc_approve pull-right" data-i18n="Approve"></button>\n<button class="btn btn-default jsxc_deny pull-right" data-i18n="Deny"></button>\n',jsxc.gui.template.authenticationDialog='<h3>Verification</h3>\n<p data-i18n="Authenticating_a_buddy_helps_"></p>\n<div>\n <p data-i18n="[html]How_do_you_want_to_authenticate_your_buddy"></p>\n\n <div class="btn-group" role="group">\n <button class="btn btn-default" data-i18n="Manual"></button>\n <button class="btn btn-default" data-i18n="Question"></button>\n <button class="btn btn-default" data-i18n="Secret"></button>\n </div>\n</div>\n<hr />\n<div class="jsxc_hidden">\n <p data-i18n="To_verify_the_fingerprint_" class="jsxc_explanation"></p>\n <p>\n <strong data-i18n="Your_fingerprint"></strong>\n <br /> <span class="jsxc_uppercase"><span data-var="my_priv_fingerprint"/></span>\n </p>\n <p>\n <strong data-i18n="Buddy_fingerprint"></strong>\n <br /> <span class="jsxc_uppercase"><span data-var="bid_priv_fingerprint"/></span>\n </p>\n <div class="jsxc_right">\n <button class="btn btn-default jsxc_close" data-i18n="Close"></button>\n <button class="btn btn-primary jsxc_submit" data-i18n="Compared"></button>\n </div>\n</div>\n<div class="form-horizontal jsxc_hidden">\n <p data-i18n="To_authenticate_using_a_question_" class="jsxc_explanation"></p>\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_quest" data-i18n="Question"></label>\n <div class="col-sm-8">\n <input type="text" name="quest" id="jsxc_quest" class="form-control" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_secret2" data-i18n="Secret"></label>\n <div class="col-sm-8">\n <input type="text" name="secret2" id="jsxc_secret2" class="form-control" />\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-offset-4 col-sm-8">\n <button class="btn btn-default jsxc_close" data-i18n="Close"></button>\n <button class="btn btn-primary jsxc_submit" data-i18n="Ask"></button>\n </div>\n </div>\n</div>\n<div class="form-horizontal jsxc_hidden">\n <p class="jsxc_explanation" data-i18n="To_authenticate_pick_a_secret_"></p>\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_secret" data-i18n="Secret"></label>\n <div class="col-sm-8">\n <input type="text" name="secret" id="jsxc_secret" class="form-control" />\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-offset-4 col-sm-8">\n <button class="btn btn-default jsxc_close" data-i18n="Close"></button>\n <button class="btn btn-primary jsxc_submit" data-i18n="Compare"></button>\n </div>\n </div>\n</div>\n',jsxc.gui.template.authFailDialog='<h3 data-i18n="Login_failed"></h3>\n<p data-i18n="Sorry_we_cant_authentikate_"></p>\n\n<button class="btn btn-primary jsxc_retry pull-right" data-i18n="Continue_without_chat"></button>\n<button class="btn btn-default jsxc_cancel pull-right" data-i18n="Retry"></button>\n',jsxc.gui.template.bookmarkDialog='<h3 data-i18n="Edit_bookmark"></h3>\n<form class="form-horizontal">\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_room" data-i18n="Room"></label>\n <div class="col-sm-8">\n <input type="text" id="jsxc_room" class="form-control" required="required" readonly="readonly" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_nickname" data-i18n="Nickname"></label>\n <div class="col-sm-8">\n <input type="text" disabled="disabled" required="required" name="nickname" id="jsxc_nickname" class="form-control" />\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-offset-4 col-sm-8">\n <div class="checkbox">\n <label>\n <input id="jsxc_bookmark" type="checkbox"><span data-i18n="Bookmark"></span>\n </label>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-offset-4 col-sm-8">\n <div class="checkbox disabled">\n <label>\n <input disabled="disabled" id="jsxc_autojoin" type="checkbox"><span data-i18n="Auto-join"></span>\n </label>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-offset-4 col-sm-8">\n <button type="button" class="btn btn-default jsxc_close" data-i18n="Close"></button>\n <button type="submit" class="btn btn-primary jsxc_submit" data-i18n="Save"></button>\n </div>\n </div>\n</form>\n',jsxc.gui.template.chatWindow='<li class="jsxc_windowItem">\n <div class="jsxc_window">\n <div class="jsxc_bar">\n <div class="jsxc_avatar"></div>\n <div class="jsxc_tools">\n <div class="jsxc_settings">\n <div class="jsxc_more"></div>\n <div class="jsxc_inner jsxc_menu">\n <ul>\n <li>\n <a class="jsxc_verification" href="#">\n <span data-i18n="Authentication"></span>\n </a>\n </li>\n <li>\n <a class="jsxc_clear" href="#">\n <span data-i18n="clear_history"></span>\n </a>\n </li>\n <li>\n <a class="jsxc_sendFile" href="#">\n <span data-i18n="Send_file"></span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n <div class="jsxc_close">×</div>\n </div>\n <div class="jsxc_caption">\n <div class="jsxc_name" />\n <div class="jsxc_lastmsg">\n <span class="jsxc_unread" />\n <span class="jsxc_text" />\n </div>\n </div>\n </div>\n <div class="jsxc_fade">\n <div class="jsxc_overlay">\n <div>\n <div class="jsxc_body" />\n <div class="jsxc_close" />\n </div>\n </div>\n <div class="jsxc_textarea" />\n <div class="jsxc_emoticons">\n <div class="jsxc_inner">\n <ul>\n <li class="jsxc_clear"></li>\n </ul>\n </div>\n </div>\n <div class="jsxc_transfer jsxc_otr jsxc_disabled" />\n <textarea class="jsxc_textinput" data-i18n="[placeholder]Message"></textarea>\n </div>\n </div>\n</li>\n',
-jsxc.gui.template.confirmDialog='<p data-var="msg"></p>\n\n<button class="jsxc_btn jsxc_btn-primary jsxc_confirm pull-right" data-i18n="Confirm"></button>\n<button class="jsxc_btn jsxc_btn-default jsxc_dismiss jsxc_close pull-right" data-i18n="Dismiss"></button>\n',jsxc.gui.template.contactDialog='<h3 data-i18n="Add_buddy"></h3>\n<p class=".jsxc_explanation" data-i18n="Type_in_the_full_username_"></p>\n<form class="form-horizontal">\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_username" data-i18n="Username"></label>\n <div class="col-sm-8">\n <input type="text" name="username" id="jsxc_username" class="form-control" list="jsxc_userlist" pattern="^[^\\x22&\'\\\\/:<>@\\s]+(@[.\\-_\\w]+)?" required="required" />\n </div>\n </div>\n <datalist id="jsxc_userlist"></datalist>\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_alias" data-i18n="Alias"></label>\n <div class="col-sm-8">\n <input type="text" name="alias" id="jsxc_alias" class="form-control" />\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-offset-4 col-sm-8">\n <button class="btn btn-default jsxc_close" type="button" data-i18n="Close"></button>\n <button class="btn btn-primary" type="submit" data-i18n="Add"></button>\n </div>\n </div>\n</form>\n',jsxc.gui.template.fingerprintsDialog='<div>\n <p class="jsxc_maxWidth" data-i18n="A_fingerprint_"></p>\n <p>\n <strong data-i18n="Your_fingerprint"></strong>\n <br /> <span class="jsxc_uppercase" data-var="my_priv_fingerprint"></span>\n </p>\n <p>\n <strong data-i18n="Buddy_fingerprint"></strong>\n <br /> <span class="jsxc_uppercase" data-var="bid_priv_fingerprint"></span>\n </p>\n</div>\n',jsxc.gui.template.incomingCall='<h3 data-i18n="Incoming_call"></h3>\n<p>\n <span data-i18n="Do_you_want_to_accept_the_call_from"></span> <span data-var="bid_name" />?\n</p>\n\n<button class="jsxc_btn jsxc_btn-primary jsxc_accept pull-right" data-i18n="Accept"></button>\n<button class="jsxc_btn jsxc_btn-default jsxc_reject pull-right" data-i18n="Reject"></button>\n',jsxc.gui.template.joinChat='<h3 data-i18n="Join_chat"></h3>\n<p class=".jsxc_explanation" data-i18n="muc_explanation"></p>\n<div class="form-horizontal">\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_server" data-i18n="Server"></label>\n <div class="col-sm-8">\n <input type="text" name="server" id="jsxc_server" class="form-control" required="required" pattern="^[.-0-9a-zA-Z]+" />\n <p class="jsxc_inputinfo jsxc_server jsxc_hidden"></p>\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_room" data-i18n="Room"></label>\n <div class="col-sm-8">\n <input type="text" name="room" id="jsxc_room" class="form-control" autocomplete="off" list="jsxc_roomlist" required="required" pattern="^[^\\x22&\'\\/:<>@\\s]+" />\n <p class="jsxc_inputinfo jsxc_room" data-i18n="Rooms_are_loaded"></p>\n </div>\n </div>\n <datalist id="jsxc_roomlist">\n <p>\n <label for="jsxc_roomlist_select"></label>\n <select id="jsxc_roomlist_select">\n <option></option>\n <option>workaround</option>\n </select>\n </p>\n </datalist>\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_nickname" data-i18n="Nickname"></label>\n <div class="col-sm-8">\n <input type="text" name="nickname" id="jsxc_nickname" class="form-control" />\n </div>\n </div>\n <div class="form-group jsxc_hidden">\n <label class="col-sm-4 control-label" for="jsxc_password" data-i18n="Password"></label>\n <div class="col-sm-8">\n <input type="text" name="password" id="jsxc_password" class="form-control" />\n </div>\n </div>\n <div class="form-group jsxc_bookmark">\n <div class="col-sm-offset-4 col-sm-8">\n <div class="checkbox">\n <label>\n <input id="jsxc_bookmark" type="checkbox"><span data-i18n="Bookmark"></span>\n </label>\n </div>\n </div>\n </div>\n <div class="form-group jsxc_bookmark">\n <div class="col-sm-offset-4 col-sm-8">\n <div class="checkbox disabled">\n <label>\n <input disabled="disabled" id="jsxc_autojoin" type="checkbox"><span data-i18n="Auto-join"></span>\n </label>\n </div>\n </div>\n </div>\n <div class="jsxc_msg"></div>\n <div class="form-group">\n <div class="col-sm-offset-4 col-sm-8">\n <button class="btn btn-default jsxc_close" data-i18n="Close"></button>\n <button class="btn btn-primary jsxc_continue" data-i18n="Continue"></button>\n <button class="btn btn-success jsxc_join" data-i18n="Join"></button>\n </div>\n </div>\n</div>\n',jsxc.gui.template.loginBox='<h3 data-i18n="Login"></h3>\n<form class="form-horizontal">\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_username" data-i18n="Username"></label>\n <div class="col-sm-8">\n <input type="text" name="username" id="jsxc_username" class="form-control" required="required" data-var="my_node" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_password" data-i18n="Password"></label>\n <div class="col-sm-8">\n <input type="password" name="password" required="required" class="form-control" id="jsxc_password" />\n </div>\n </div>\n <div class="jsxc_alert jsxc_alert-warning" data-i18n="Sorry_we_cant_authentikate_"></div>\n <div class="form-group">\n <div class="col-sm-offset-4 col-sm-9">\n <button type="reset" class="btn btn-default jsxc_close" name="clear" data-i18n="Cancel" />\n <button type="submit" class="btn btn-primary" name="commit" data-i18n="[data-jsxc-loading-text]Connecting...;Connect" />\n </div>\n </div>\n</form>\n',jsxc.gui.template.notification='<h3></h3>\n\n<p class="jsxc_msg"></p>\n\n<p class="jsxc_meta"></p>\n',jsxc.gui.template.pleaseAccept='<p data-i18n="Please_accept_"></p>\n',jsxc.gui.template.removeDialog='<h3 data-i18n="Remove_buddy"></h3>\n<p class="jsxc_maxWidth" data-i18n="[html]You_are_about_to_remove_"></p>\n\n<button class="btn btn-primary jsxc_remove pull-right" data-i18n="Remove"></button>\n<button class="btn btn-default jsxc_cancel jsxc_close pull-right" data-i18n="Cancel"></button>\n',jsxc.gui.template.roster='<div id="jsxc_roster">\n <ul id="jsxc_buddylist"></ul>\n <div class="jsxc_bottom jsxc_presence jsxc_rosteritem" data-bid="own">\n <div id="jsxc_avatar" class="jsxc_avatar" />\n <div id="jsxc_menu">\n <span></span>\n <div class="jsxc_inner">\n <ul>\n <li class="jsxc_settings jsxc_settingsicon" data-i18n="Settings"></li>\n <li class="jsxc_muteNotification" data-i18n="Mute"></li>\n <li class="jsxc_hideOffline" data-i18n="Hide_offline"></li>\n <li class="jsxc_addBuddy jsxc_contacticon" data-i18n="Add_buddy"></li>\n <li class="jsxc_onlineHelp jsxc_helpicon" data-i18n="Online_help"></li>\n <li class="jsxc_about" data-i18n="About"></li>\n </ul>\n </div>\n </div>\n <div id="jsxc_notice">\n <span></span>\n <div class="jsxc_inner">\n <ul></ul>\n </div>\n </div>\n <div id="jsxc_presence">\n <span data-i18n="Offline">Offline</span>\n <div class="jsxc_inner">\n <ul>\n <li data-pres="online" class="jsxc_online" data-i18n="Online"></li>\n <li data-pres="chat" class="jsxc_chat" data-i18n="Chatty"></li>\n <li data-pres="away" class="jsxc_away" data-i18n="Away"></li>\n <li data-pres="xa" class="jsxc_xa" data-i18n="Extended_away"></li>\n <li data-pres="dnd" class="jsxc_dnd" data-i18n="dnd"></li>\n <li data-pres="offline" class="jsxc_offline" data-i18n="Offline"></li>\n </ul>\n </div>\n </div>\n </div>\n <div id="jsxc_toggleRoster"></div>\n</div>\n',jsxc.gui.template.rosterBuddy='<li class="jsxc_rosteritem">\n <div class="jsxc_avatar"></div>\n <div class="jsxc_more" />\n <div class="jsxc_caption">\n <div class="jsxc_name" />\n <div class="jsxc_lastmsg">\n <span class="jsxc_unread" />\n <span class="jsxc_text" />\n </div>\n </div>\n <div class="jsxc_menu">\n <ul>\n <li><a class="jsxc_rename" href="#"><span class="jsxc_icon jsxc_editicon"></span><span data-i18n="rename_buddy"></span></a></li>\n <li><a class="jsxc_vcard" href=""><span class="jsxc_icon jsxc_infoicon"></span><span data-i18n="get_info"></span></a></li>\n <li><a class="jsxc_delete" href=""><span class="jsxc_icon jsxc_deleteicon"></span><span data-i18n="delete_buddy"></span></a></li>\n </ul>\n </div>\n</li>\n',jsxc.gui.template.selectionDialog='<h3></h3>\n<p></p>\n\n<button class="btn btn-primary pull-right" data-i18n="Confirm"></button>\n<button class="btn btn-default pull-right" data-i18n="Dismiss"></button>\n',jsxc.gui.template.settings='<form class="form-horizontal col-sm-6">\n <fieldset class="jsxc_fieldsetXmpp jsxc_fieldset">\n <h3 data-i18n="Login_options"></h3>\n <p data-i18n="setting-explanation-xmpp"></p>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="xmpp-url" data-i18n="BOSH_url"></label>\n <div class="col-sm-6">\n <input type="text" id="xmpp-url" class="form-control" readonly="readonly" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="xmpp-username" data-i18n="Username"></label>\n <div class="col-sm-6">\n <input type="text" id="xmpp-username" class="form-control" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="xmpp-domain" data-i18n="Domain"></label>\n <div class="col-sm-6">\n <input type="text" id="xmpp-domain" class="form-control" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="xmpp-resource" data-i18n="Resource"></label>\n <div class="col-sm-6">\n <input class="form-control" type="text" id="xmpp-resource" class="form-control" />\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-offset-6 col-sm-6">\n <button class="btn btn-primary jsxc_continue" type="submit" data-i18n="Save"></button>\n </div>\n </div>\n </fieldset>\n</form>\n\n<form class="form-horizontal col-sm-6">\n <fieldset class="jsxc_fieldsetPriority jsxc_fieldset">\n <h3 data-i18n="Priority"></h3>\n <p data-i18n="setting-explanation-priority"></p>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="priority-online" data-i18n="Online"></label>\n <div class="col-sm-6">\n <input type="number" value="0" id="priority-online" class="form-control" min="-128" max="127" step="1" required="required" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="priority-chat" data-i18n="Chatty"></label>\n <div class="col-sm-6">\n <input type="number" value="0" id="priority-chat" class="form-control" min="-128" max="127" step="1" required="required" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="priority-away" data-i18n="Away"></label>\n <div class="col-sm-6">\n <input type="number" value="0" id="priority-away" class="form-control" min="-128" max="127" step="1" required="required" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="priority-xa" data-i18n="Extended_away"></label>\n <div class="col-sm-6">\n <input type="number" value="0" id="priority-xa" class="form-control" min="-128" max="127" step="1" required="required" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="priority-dnd" data-i18n="dnd"></label>\n <div class="col-sm-6">\n <input type="number" value="0" id="priority-dnd" class="form-control" min="-128" max="127" step="1" required="required" />\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-offset-6 col-sm-6">\n <button class="btn btn-primary jsxc_continue" type="submit" data-i18n="Save"></button>\n </div>\n </div>\n </fieldset>\n</form>\n\n<form class="form-horizontal col-sm-6">\n <fieldset class="jsxc_fieldsetLoginForm jsxc_fieldset">\n <h3 data-i18n="On_login"></h3>\n <p data-i18n="setting-explanation-login"></p>\n <div class="form-group">\n <div class="col-sm-12">\n <div class="checkbox">\n <label>\n <input type="checkbox" id="loginForm-enable"><span data-i18n="On_login"></span>\n </label>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-12">\n <button class="btn btn-primary jsxc_continue" type="submit" data-i18n="Save"></button>\n </div>\n </div>\n </fieldset>\n</form>\n\n<form class="form-horizontal col-sm-6" data-onsubmit="xmpp.carbons.refresh">\n <fieldset class="jsxc_fieldsetCarbons jsxc_fieldset">\n <h3 data-i18n="Carbon_copy"></h3>\n <p data-i18n="setting-explanation-carbon"></p>\n <div class="form-group">\n <div class="col-sm-12">\n <div class="checkbox">\n <label>\n <input type="checkbox" id="carbons-enable"><span data-i18n="Enable"></span>\n </label>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-12">\n <button class="btn btn-primary jsxc_continue" type="submit" data-i18n="Save"></button>\n </div>\n </div>\n </fieldset>\n</form>\n\n<form class="form-horizontal col-sm-6" data-onsubmit="xmpp.chatState.init">\n <fieldset class="jsxc_fieldsetCarbons jsxc_fieldset">\n <h3 data-i18n="Chat_state_notifications"></h3>\n <p data-i18n="setting-explanation-chat-state"></p>\n <div class="form-group">\n <div class="col-sm-12">\n <div class="checkbox">\n <label>\n <input type="checkbox" id="chatState-enable"><span data-i18n="Enable"></span>\n </label>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-12">\n <button class="btn btn-primary jsxc_continue" type="submit" data-i18n="Save"></button>\n </div>\n </div>\n </fieldset>\n</form>\n',jsxc.gui.template.vCard='<h3>\n <span data-i18n="Info_about"></span> <span data-var="bid_name"></span>\n</h3>\n<ul class="jsxc_vCard"></ul>\n<p>\n <img src="{{root}}/img/loading.gif" alt="wait" width="32px" height="32px" /> <span data-i18n="Please_wait"></span>...\n</p>\n',jsxc.gui.template.videoWindow='<div id="jsxc_webrtc">\n <div class="jsxc_chatarea">\n <ul></ul>\n </div>\n <div class="jsxc_videoContainer">\n <video class="jsxc_localvideo" autoplay></video>\n <video class="jsxc_remotevideo" autoplay></video>\n <div class="jsxc_status"></div>\n <div class="jsxc_noRemoteVideo">\n <div>\n <div></div>\n <p data-i18n="No_video_signal"></p>\n <div></div>\n </div>\n </div>\n <div class="jsxc_controlbar jsxc_visible">\n <div>\n <div class="jsxc_hangUp jsxc_videoControl" />\n <div class="jsxc_fullscreen jsxc_videoControl" />\n </div>\n </div>\n </div>\n <div class="jsxc_multi">\n <div class="jsxc_snapshotbar">\n <p>No pictures yet!</p>\n </div>\n <!--<div class="jsxc_chatarea">\n <ul></ul>\n </div>-->\n <div class="jsxc_infobar"></div>\n </div>\n</div>\n',jsxc.gui.template.waitAlert='<h3 data-var="msg"></h3>\n\n<div class="progress">\n <div class="progress-bar progress-bar-striped active" data-i18n="Please_wait">\n </div>\n</div>\n',jsxc.gui.template.windowList='<div id="jsxc_windowList">\n <ul></ul>\n</div>\n<div id="jsxc_windowListSB">\n <div class="jsxc_scrollLeft jsxc_disabled">&lt;</div>\n <div class="jsxc_scrollRight jsxc_disabled">&gt;</div>\n</div>\n'}(jQuery);
+var jsxc=null,RTC=null,RTCPeerconnection=null;!function($){"use strict";jsxc={version:"3.2.0-nightly.1",master:!1,role_allocation:!1,to:[],toBusy:null,toNotification:null,toNotificationDelay:500,keepaliveInterval:null,reconnect:!1,restoreCompleted:!1,triggeredFromBox:!1,triggeredFromElement:!1,triggeredFromLogout:!1,ls:[],storageNotConform:null,toSNC:null,bid:null,currentState:null,currentUIState:null,CONST:{NOTIFICATION_DEFAULT:"default",NOTIFICATION_GRANTED:"granted",NOTIFICATION_DENIED:"denied",STATUS:["offline","dnd","xa","away","chat","online"],SOUNDS:{MSG:"incomingMessage.wav",CALL:"Rotary-Phone6.mp3",NOTICE:"Ping1.mp3"},REGEX:{JID:new RegExp("\\b[^\"&'\\/:<>@\\s]+@[\\w-_.]+\\b","ig"),URL:new RegExp(/(https?:\/\/|www\.)[^\s<>'"]+/gi)},NS:{CARBONS:"urn:xmpp:carbons:2",FORWARD:"urn:xmpp:forward:0",HINTS:"urn:xmpp:hints"},HIDDEN:"hidden",SHOWN:"shown",STATE:{INITIATING:0,PREVCONFOUND:1,SUSPEND:2,TRYTOINTERCEPT:3,INTERCEPTED:4,ESTABLISHING:5,READY:6},UISTATE:{INITIATING:0,READY:1}},getFormattedTime:function(unixtime){var msgDate=new Date(parseInt(unixtime)),day=("0"+msgDate.getDate()).slice(-2),month=("0"+(msgDate.getMonth()+1)).slice(-2),year=msgDate.getFullYear(),hours=("0"+msgDate.getHours()).slice(-2),minutes=("0"+msgDate.getMinutes()).slice(-2),dateNow=new Date,date="function"==typeof msgDate.toLocaleDateString?msgDate.toLocaleDateString():day+"."+month+"."+year,time="function"==typeof msgDate.toLocaleTimeString?msgDate.toLocaleTimeString():hours+":"+minutes;return dateNow.setHours(0,0,0,0),msgDate.setHours(0,0,0,0),dateNow.getTime()!==msgDate.getTime()?date+" "+time:time},debug:function(msg,data,level){if(level&&(msg="["+level+"] "+msg),data){jsxc.storage.getItem("debug")===!0&&console.log(msg,data);var d;try{d=$("<span>").prepend($(data).clone()).html()}catch(err){try{d=JSON.stringify(data)}catch(err2){d="see js console"}}jsxc.log=jsxc.log+"$ "+msg+": "+d+"\n"}else console.log(msg),jsxc.log=jsxc.log+"$ "+msg+"\n"},warn:function(msg,data){jsxc.debug(msg,data,"WARN")},error:function(msg,data){jsxc.debug(msg,data,"ERROR")},log:"",init:function(options){if(jsxc.changeState(jsxc.CONST.STATE.INITIATING),options&&options.loginForm&&"boolean"==typeof options.loginForm.attachIfFound&&!options.loginForm.ifFound&&(options.loginForm.ifFound=options.loginForm.attachIfFound?"attach":"pause"),options&&$.extend(!0,jsxc.options,options),!jsxc.storage.hasSupport())return void jsxc.error("Browser doesn't support localStorage. JSXC will be disabled.");jsxc.options.get=function(key){if(jsxc.bid){var local=jsxc.storage.getUserItem("options")||{};return"undefined"!=typeof local[key]?local[key]:jsxc.options[key]}return jsxc.options[key]},jsxc.options.set=function(key,value){jsxc.storage.updateItem("options",key,value,!0)},jsxc.storageNotConform=jsxc.storage.getItem("storageNotConform"),null===jsxc.storageNotConform&&(jsxc.storageNotConform=2);var lang;lang=null!==jsxc.storage.getItem("lang")?jsxc.storage.getItem("lang"):jsxc.options.autoLang&&navigator.languages&&navigator.languages.length>0?navigator.languages[0].substr(0,2):jsxc.options.autoLang&&navigator.language?navigator.language.substr(0,2):jsxc.options.defaultLang,window.i18next.init({lng:lang,fallbackLng:"en",resources:I18next,debug:jsxc.storage.getItem("debug")===!0,interpolation:{prefix:"__",suffix:"__"}},function(){window.jqueryI18next.init(window.i18next,$,{tName:"t",i18nName:"i18next",handleName:"localize"})}),jsxc.storage.getItem("debug")===!0&&(jsxc.options.otr.debug=!0),window.addEventListener("storage",jsxc.storage.onStorage,!1),$(document).on("attached.jsxc",jsxc.registerLogout);var isStorageAttachParameters=jsxc.storage.getItem("rid")&&jsxc.storage.getItem("sid")&&jsxc.storage.getItem("jid"),isOptionsAttachParameters=jsxc.options.xmpp.rid&&jsxc.options.xmpp.sid&&jsxc.options.xmpp.jid,isForceLoginForm=jsxc.options.loginForm&&"force"===jsxc.options.loginForm.ifFound&&jsxc.isLoginForm();if(!isStorageAttachParameters&&!isOptionsAttachParameters||isForceLoginForm){if(jsxc.storage.removeItem("rid"),jsxc.storage.removeItem("sid"),!jsxc.isLoginForm())return jsxc.changeState(jsxc.CONST.STATE.SUSPEND),void(jsxc.options.displayRosterMinimized()&&(jsxc.storage.setUserItem("roster","hidden"),jsxc.gui.roster.init(),jsxc.gui.roster.noConnection()));jsxc.changeState(jsxc.CONST.STATE.TRYTOINTERCEPT),"function"==typeof jsxc.options.formFound&&jsxc.options.formFound.call();var form=jsxc.options.loginForm.form=$(jsxc.options.loginForm.form),events=form.data("events")||{submit:[]},submits=[];$.each(events.submit,function(index,val){submits.push(val.handler)}),form.data("submits",submits),form.off("submit"),form.submit(function(ev){return ev.preventDefault(),jsxc.prepareLogin(function(settings){if(settings!==!1){var enabled=settings.loginForm&&settings.loginForm.enable||settings.xmpp&&settings.xmpp.onlogin;if(enabled="true"===enabled||enabled===!0)return jsxc.options.loginForm.triggered=!0,void jsxc.xmpp.login(jsxc.options.xmpp.jid,jsxc.options.xmpp.password)}jsxc.submitLoginForm()}),!1}),jsxc.changeState(jsxc.CONST.STATE.INTERCEPTED)}else(!jsxc.isLoginForm()||jsxc.options.loginForm&&"attach"===jsxc.options.loginForm.ifFound)&&(jsxc.changeState(jsxc.CONST.STATE.PREVCONFOUND),"undefined"==typeof jsxc.storage.getItem("alive")?jsxc.onMaster():jsxc.checkMaster())},start:function(){var args=arguments;return jsxc.role_allocation&&!jsxc.master?(jsxc.debug("There is an other master tab"),!1):jsxc.xmpp.conn&&jsxc.xmpp.connected?(jsxc.debug("We are already connected"),!1):(3===args.length&&$(document).one("attached.jsxc",function(){jsxc.xmpp.onRidChange(jsxc.xmpp.conn._proto.rid),jsxc.onMaster()}),void jsxc.checkMaster(function(){jsxc.xmpp.login.apply(this,args)}))},registerLogout:function(){if(null!==jsxc.options.logoutElement&&$(jsxc.options.logoutElement).length>0){var logout=function(ev){ev.stopPropagation(),ev.preventDefault(),jsxc.options.logoutElement=$(this),jsxc.triggeredFromLogout=!0,jsxc.xmpp.logout()};jsxc.options.logoutElement=$(jsxc.options.logoutElement),jsxc.options.logoutElement.off("click",null,logout).one("click",logout)}},isLoginForm:function(){return jsxc.options.loginForm.form&&jsxc.el_exists(jsxc.options.loginForm.form)&&jsxc.el_exists(jsxc.options.loginForm.jid)&&jsxc.el_exists(jsxc.options.loginForm.pass)},prepareLogin:function(username,password,cb){"function"==typeof username&&(cb=username,username=null),username=username||$(jsxc.options.loginForm.jid).val(),password=password||$(jsxc.options.loginForm.pass).val(),jsxc.triggeredFromBox||"dialog"!==jsxc.options.loginForm.onConnecting&&"undefined"!=typeof jsxc.options.loginForm.onConnecting||jsxc.gui.showWaitAlert($.t("Logging_in"));var settings;"function"==typeof jsxc.options.loadSettings?(settings=jsxc.options.loadSettings.call(this,username,password,function(s){jsxc._prepareLogin(username,password,cb,s)}),"undefined"!=typeof settings&&jsxc._prepareLogin(username,password,cb,settings)):jsxc._prepareLogin(username,password,cb)},_prepareLogin:function(username,password,cb,loadedSettings){if(loadedSettings===!1)return jsxc.warn("No settings provided"),void cb(!1);var settings=$.extend(!0,{},jsxc.options);loadedSettings?settings=$.extend(!0,settings,loadedSettings):loadedSettings={},"string"==typeof settings.xmpp.username&&(username=settings.xmpp.username),"string"==typeof settings.xmpp.password&&(password=settings.xmpp.password);var jid,resource=settings.xmpp.resource?"/"+settings.xmpp.resource:"",domain=settings.xmpp.domain;jid=username.match(/@(.*)$/)?username.match(/\/(.*)$/)?username:username+resource:username+"@"+domain+resource,"function"==typeof jsxc.options.loginForm.preJid&&(jid=jsxc.options.loginForm.preJid(jid)),jsxc.bid=jsxc.jidToBid(jid),settings.xmpp.username=jid.split("@")[0],settings.xmpp.domain=jid.split("@")[1].split("/")[0],settings.xmpp.resource=jid.split("@")[1].split("/")[1]||"",loadedSettings.xmpp||(loadedSettings.xmpp={}),$.each(loadedSettings,function(key){var old=jsxc.options.get(key),val=settings[key];val=$.extend(!0,old,val),jsxc.options.set(key,val)}),jsxc.options.xmpp.jid=jid,jsxc.options.xmpp.password=password,cb(settings)},onSlave:function(){jsxc.debug("I am the slave."),jsxc.role_allocation=!0,jsxc.bid=jsxc.jidToBid(jsxc.storage.getItem("jid")),jsxc.gui.init(),$("#jsxc_roster").removeClass("jsxc_noConnection"),jsxc.registerLogout(),jsxc.gui.avatar.update($("#jsxc_roster > .jsxc_bottom"),jsxc.jidToBid(jsxc.storage.getItem("jid")),"own"),jsxc.gui.restore()},onMaster:function(){jsxc.debug("I am master."),jsxc.master=!0,jsxc.storage.setItem("alive",0),jsxc.storage.setItem("alive_busy",0),jsxc.startKeepAlive(),jsxc.role_allocation=!0,jsxc.xmpp.login()},checkMaster:function(cb){jsxc.debug("check master"),cb=cb&&"function"==typeof cb?cb:jsxc.onMaster,"undefined"==typeof jsxc.storage.getItem("alive")?cb.call():(jsxc.to.push(window.setTimeout(cb,1e3)),jsxc.keepAlive("slave"))},masterActions:function(){if(jsxc.xmpp.conn&&jsxc.xmpp.conn.authenticated){var noti=jsxc.storage.getUserItem("notification");noti="number"==typeof noti?noti:2,jsxc.options.notification&&noti>0&&jsxc.notification.hasSupport()?jsxc.notification.hasPermission()?jsxc.notification.init():jsxc.notification.prepareRequest():jsxc.options.notification=!1,jsxc.options.get("otr").enable&&jsxc.otr.createDSA(),jsxc.gui.avatar.update($("#jsxc_roster > .jsxc_bottom"),jsxc.jidToBid(jsxc.storage.getItem("jid")),"own")}},startKeepAlive:function(){jsxc.keepaliveInterval=window.setInterval(jsxc.keepAlive,jsxc.options.timeout-1e3)},keepAlive:function(role){var next=parseInt(jsxc.storage.getItem("alive"))+1;role=role||"master",jsxc.storage.setItem("alive",next+":"+role)},keepBusyAlive:function(){jsxc.toBusy&&window.clearTimeout(jsxc.toBusy),jsxc.keepaliveInterval&&window.clearInterval(jsxc.keepaliveInterval),jsxc.storage.ink("alive_busy"),jsxc.toBusy=window.setTimeout(jsxc.startKeepAlive,jsxc.options.busyTimeout-1e3)},random:function(max){return Math.floor(Math.random()*max)},el_exists:function(selector){return $(selector).length>0},jidToCid:function(jid){jsxc.warn("jsxc.jidToCid is deprecated!");var cid=Strophe.getBareJidFromJid(jid).replace("@","-").replace(/\./g,"-").toLowerCase();return cid},jidToBid:function(jid){return Strophe.unescapeNode(Strophe.getBareJidFromJid(jid).toLowerCase())},restoreRoster:function(){var buddies=jsxc.storage.getUserItem("buddylist");return buddies&&0!==buddies.length?($.each(buddies,function(index,value){jsxc.gui.roster.add(value)}),jsxc.gui.roster.loaded=!0,void $(document).trigger("cloaded.roster.jsxc")):(jsxc.debug("No saved buddylist."),void jsxc.gui.roster.empty())},restoreWindows:function(){var windows=jsxc.storage.getUserItem("windowlist");null!==windows&&$.each(windows,function(index,bid){var win=jsxc.storage.getUserItem("window",bid);return win?(jsxc.gui.window.init(bid),win.minimize?jsxc.gui.window.hide(bid):jsxc.gui.window.show(bid),void jsxc.gui.window.setText(bid,win.text)):(jsxc.debug("Associated window-element is missing: "+bid),!0)})},submitLoginForm:function(){var form=$(jsxc.options.loginForm.form).off("submit"),submits=form.data("submits")||[];$.each(submits,function(index,val){form.submit(val)}),form.find("#submit").length>0?form.find("#submit").click():form.get(0)&&"function"==typeof form.get(0).submit?form.submit():form.find('[type="submit"]').length>0?form.find('[type="submit"]').click():jsxc.warn("Could not submit login form.")},escapeHTML:function(text){return text=text.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">"),text.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},removeHTML:function(text){return $("<span>").html(text).text()},switchEvents:function(obj){var ns=Math.random().toString(36).substr(2,12),self=this;return $.each(obj,function(key,val){$(document).one(key+"."+ns,function(){$(document).off("."+ns),val.apply(self,arguments)})}),ns},isHidden:function(){var hidden=!1;return"undefined"!=typeof document.hidden?hidden=document.hidden:"undefined"!=typeof document.webkitHidden?hidden=document.webkitHidden:"undefined"!=typeof document.mozHidden?hidden=document.mozHidden:"undefined"!=typeof document.msHidden&&(hidden=document.msHidden),hidden&&jsxc.master?jsxc.storage.ink("hidden",0):hidden||jsxc.master||jsxc.storage.ink("hidden"),hidden},hasFocus:function(){var focus=!0;return"function"==typeof document.hasFocus&&(focus=document.hasFocus()),!focus&&jsxc.master?jsxc.storage.ink("focus",0):focus&&!jsxc.master&&jsxc.storage.ink("focus"),focus},exec:function(fnName,fnParams){var i,fnList=fnName.split("."),fn=jsxc[fnList[0]];for(i=1;i<fnList.length;i++)fn=fn[fnList[i]];if("function"==typeof fn)return fn.apply(null,fnParams)},hashStr:function(str){var i,hash=0;if(0===str.length)return hash;for(i=0;i<str.length;i++)hash=(hash<<5)-hash+str.charCodeAt(i),hash|=0;return hash},isExtraSmallDevice:function(){return $(window).width()<500},changeState:function(state){jsxc.currentState=state,jsxc.debug("State changed to "+Object.keys(jsxc.CONST.STATE)[state]),$(document).trigger("stateChange.jsxc",state)},changeUIState:function(state){jsxc.currentUIState=state,jsxc.debug("UI State changed to "+Object.keys(jsxc.CONST.UISTATE)[state]),$(document).trigger("stateUIChange.jsxc",state)}},jsxc.xmpp={conn:null,login:function(){if(jsxc.xmpp.conn&&jsxc.xmpp.conn.authenticated)return void jsxc.debug("Connection already authenticated.");var jid=null,password=null,sid=null,rid=null;switch(arguments.length){case 2:jid=arguments[0],password=arguments[1];break;case 3:jid=arguments[0],sid=arguments[1],rid=arguments[2];break;default:sid=jsxc.storage.getItem("sid"),rid=jsxc.storage.getItem("rid"),null!==sid&&null!==rid?jid=jsxc.storage.getItem("jid"):(sid=jsxc.options.xmpp.sid||null,rid=jsxc.options.xmpp.rid||null,jid=jsxc.options.xmpp.jid)}if(!jid)return void jsxc.warn("Jid required for login");jsxc.bid||(jsxc.bid=jsxc.jidToBid(jid));var url=jsxc.options.get("xmpp").url;if(!url)return void jsxc.warn("xmpp.url required for login");jsxc.xmpp.conn&&jsxc.xmpp.conn.connected||($(document).on("connected.jsxc",jsxc.xmpp.connected),$(document).on("attached.jsxc",jsxc.xmpp.attached),$(document).on("disconnected.jsxc",jsxc.xmpp.disconnected),$(document).on("connfail.jsxc",jsxc.xmpp.onConnfail),$(document).on("authfail.jsxc",jsxc.xmpp.onAuthFail),Strophe.addNamespace("RECEIPTS","urn:xmpp:receipts"),Strophe.addNamespace("VERSION","jabber:iq:version")),jsxc.xmpp.conn=new Strophe.Connection(url),jsxc.storage.getItem("debug")===!0&&(jsxc.xmpp.conn.xmlInput=function(data){console.log("<",data)},jsxc.xmpp.conn.xmlOutput=function(data){console.log(">",data)}),jsxc.xmpp.conn.nextValidRid=jsxc.xmpp.onRidChange;var callback=function(status,condition){switch(jsxc.debug(Object.getOwnPropertyNames(Strophe.Status)[status]+": "+condition),status){case Strophe.Status.CONNECTING:$(document).trigger("connecting.jsxc");break;case Strophe.Status.CONNECTED:jsxc.bid=jsxc.jidToBid(jsxc.xmpp.conn.jid.toLowerCase()),$(document).trigger("connected.jsxc");break;case Strophe.Status.ATTACHED:$(document).trigger("attached.jsxc");break;case Strophe.Status.DISCONNECTED:$(document).trigger("disconnected.jsxc");break;case Strophe.Status.CONNFAIL:$(document).trigger("connfail.jsxc");break;case Strophe.Status.AUTHFAIL:$(document).trigger("authfail.jsxc")}};jsxc.xmpp.conn.caps&&(jsxc.xmpp.conn.caps.node="http://jsxc.org/"),jsxc.changeState(jsxc.CONST.STATE.ESTABLISHING),sid&&rid?(jsxc.debug("Try to attach"),jsxc.debug("SID: "+sid),jsxc.reconnect=!0,jsxc.xmpp.conn.attach(jid,sid,rid,callback)):(jsxc.debug("New connection"),jsxc.xmpp.conn.caps&&jsxc.xmpp.conn._addSysHandler(function(stanza){var from=jsxc.xmpp.conn.domain,c=stanza.querySelector("c"),ver=c.getAttribute("ver"),node=c.getAttribute("node"),_jidNodeIndex=JSON.parse(localStorage.getItem("strophe.caps._jidNodeIndex"))||{};jsxc.xmpp.conn.caps._jidVerIndex[from]=ver,_jidNodeIndex[from]=node,localStorage.setItem("strophe.caps._jidVerIndex",JSON.stringify(jsxc.xmpp.conn.caps._jidVerIndex)),localStorage.setItem("strophe.caps._jidNodeIndex",JSON.stringify(_jidNodeIndex))},Strophe.NS.CAPS),jsxc.xmpp.conn.connect(jid,password||jsxc.options.xmpp.password,callback))},logout:function(complete){if(jsxc.triggeredFromElement="boolean"!=typeof complete||complete,!jsxc.master)return jsxc.storage.removeItem("sid"),!0;if(jsxc.storage.removeUserItem("windowlist"),jsxc.storage.removeUserItem("unreadMsg"),$("body").click(),!jsxc.xmpp.conn||!jsxc.xmpp.conn.authenticated)return!0;$.each(jsxc.storage.getUserItem("otrlist")||{},function(i,val){jsxc.otr.create(val)});var numOtr=Object.keys(jsxc.otr.objects||{}).length+1,disReady=function(){--numOtr<=0&&(jsxc.xmpp.conn.flush(),setTimeout(function(){jsxc.xmpp.conn.disconnect()},600))};return $.each(jsxc.otr.objects||{},function(key,obj){obj.msgstate===OTR.CONST.MSGSTATE_ENCRYPTED?obj.endOtr.call(obj,function(){obj.init.call(obj),jsxc.otr.backup(key),disReady()}):disReady()}),disReady(),!1},connected:function(){jsxc.xmpp.conn.pause(),jsxc.xmpp.initNewConnection(),jsxc.xmpp.saveSessionParameter();var rosterVerSupport=$(jsxc.xmpp.conn.features).find('[xmlns="urn:xmpp:features:rosterver"]').length>0;if(jsxc.storage.setUserItem("rosterVerSupport",rosterVerSupport),jsxc.options.loginForm.triggered)switch(jsxc.options.loginForm.onConnected||"submit"){case"submit":return void jsxc.submitLoginForm();case!1:return}jsxc.gui.dialog.close(),jsxc.xmpp.conn.resume(),jsxc.onMaster(),jsxc.changeState(jsxc.CONST.STATE.READY),$(document).trigger("attached.jsxc")},attached:function(){$("#jsxc_roster").removeClass("jsxc_noConnection"),Strophe.addNamespace("VERSION","jabber:iq:version"),jsxc.xmpp.conn.addHandler(jsxc.xmpp.onRosterChanged,"jabber:iq:roster","iq","set"),jsxc.xmpp.conn.addHandler(jsxc.xmpp.onChatMessage,null,"message","chat"),jsxc.xmpp.conn.addHandler(jsxc.xmpp.onHeadlineMessage,null,"message","headline"),jsxc.xmpp.conn.addHandler(jsxc.xmpp.onReceived,null,"message"),jsxc.xmpp.conn.addHandler(jsxc.xmpp.onPresence,null,"presence"),jsxc.xmpp.conn.addHandler(jsxc.xmpp.onVersionRequest,Strophe.NS.VERSION,"iq","get"),jsxc.gui.init();var caps=jsxc.xmpp.conn.caps,domain=jsxc.xmpp.conn.domain;if(caps){var conditionalEnable=function(){};if(jsxc.options.get("carbons").enable&&(conditionalEnable=function(){jsxc.xmpp.conn.caps.hasFeatureByJid(domain,jsxc.CONST.NS.CARBONS)&&jsxc.xmpp.carbons.enable()},$(document).on("caps.strophe",function onCaps(ev,from){from===domain&&(conditionalEnable(),$(document).off("caps.strophe",onCaps))})),"undefined"==typeof caps._knownCapabilities[caps._jidVerIndex[domain]]){var _jidNodeIndex=JSON.parse(localStorage.getItem("strophe.caps._jidNodeIndex"))||{};jsxc.debug("Request server capabilities"),caps._requestCapabilities(jsxc.xmpp.conn.domain,_jidNodeIndex[domain],caps._jidVerIndex[domain])}else conditionalEnable()}if(jsxc.reconnect)jsxc.xmpp.sendPres(),jsxc.restoreCompleted||jsxc.gui.restore();else{$(document).one("cloaded.roster.jsxc",jsxc.xmpp.sendPres),$("#jsxc_roster > p:first").remove();var queryAttr={xmlns:"jabber:iq:roster"};jsxc.storage.getUserItem("rosterVerSupport")&&(queryAttr.ver=jsxc.storage.getUserItem("rosterVer")||"");var iq=$iq({type:"get"}).c("query",queryAttr);jsxc.xmpp.conn.sendIQ(iq,jsxc.xmpp.onRoster)}jsxc.xmpp.saveSessionParameter(),jsxc.masterActions(),jsxc.changeState(jsxc.CONST.STATE.READY)},saveSessionParameter:function(){var nomJid=Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid).toLowerCase()+"/"+Strophe.getResourceFromJid(jsxc.xmpp.conn.jid);jsxc.storage.setItem("sid",jsxc.xmpp.conn._proto.sid),jsxc.storage.setItem("jid",nomJid)},initNewConnection:function(){jsxc.storage.removeUserItem("windowlist"),jsxc.storage.removeUserItem("own"),jsxc.storage.removeUserItem("avatar","own"),jsxc.storage.removeUserItem("otrlist"),jsxc.storage.removeUserItem("unreadMsg"),jsxc.storage.removeUserItem("features"),jsxc.storage.removeUserElement("options","RTCPeerConfig")},sendPres:function(){jsxc.xmpp.conn.disco&&(jsxc.xmpp.conn.disco.addIdentity("client","web","JSXC"),jsxc.xmpp.conn.disco.addFeature(Strophe.NS.DISCO_INFO),jsxc.xmpp.conn.disco.addFeature(Strophe.NS.RECEIPTS),jsxc.xmpp.conn.disco.addFeature(Strophe.NS.VERSION));var pres=$pres();jsxc.xmpp.conn.caps&&pres.c("c",jsxc.xmpp.conn.caps.generateCapsAttrs()).up();var presState=jsxc.storage.getUserItem("presence")||"online";"online"!==presState&&pres.c("show").t(presState).up();var priority=jsxc.options.get("priority");if(priority&&"undefined"!=typeof priority[presState]&&0!==parseInt(priority[presState])&&pres.c("priority").t(priority[presState]).up(),jsxc.debug("Send presence",pres.toString()),jsxc.xmpp.conn.send(pres),jsxc.storage.getUserItem("features"))$(document).trigger("features.jsxc");else{jsxc.xmpp.conn.flush();var barJid=Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid);jsxc.xmpp.conn.disco.info(barJid,void 0,function(stanza){var features=$(stanza).find("feature").map(function(){return $(this).attr("var")});jsxc.storage.setUserItem("features",features.toArray()),$(document).trigger("features.jsxc")})}},disconnected:function(){jsxc.debug("disconnected"),jsxc.storage.removeItem("jid"),jsxc.storage.removeItem("sid"),jsxc.storage.removeItem("rid"),jsxc.storage.removeItem("hidden"),jsxc.storage.removeUserItem("avatar","own"),jsxc.storage.removeUserItem("otrlist"),jsxc.storage.removeUserItem("features"),$(document).off("connected.jsxc",jsxc.xmpp.connected),$(document).off("attached.jsxc",jsxc.xmpp.attached),$(document).off("disconnected.jsxc",jsxc.xmpp.disconnected),$(document).off("connfail.jsxc",jsxc.xmpp.onConnfail),$(document).off("authfail.jsxc",jsxc.xmpp.onAuthFail),jsxc.xmpp.conn=null,$("#jsxc_windowList").remove(),jsxc.triggeredFromElement?($(document).trigger("toggle.roster.jsxc",["hidden",0]),jsxc.gui.roster.ready=!1,$("#jsxc_roster").remove(),jsxc.triggeredFromLogout&&(window.location=jsxc.options.logoutElement.attr("href"))):jsxc.gui.roster.noConnection(),window.clearInterval(jsxc.keepaliveInterval),jsxc.role_allocation=!1,jsxc.master=!1,jsxc.reconnect=!1,jsxc.storage.removeItem("alive"),jsxc.changeState(jsxc.CONST.STATE.SUSPEND)},onConnfail:function(ev,condition){jsxc.debug("XMPP connection failed: "+condition),jsxc.options.loginForm.triggered&&jsxc.submitLoginForm()},onAuthFail:function(){if(jsxc.options.loginForm.triggered)switch(jsxc.options.loginForm.onAuthFail||"ask"){case"ask":jsxc.gui.showAuthFail();break;case"submit":jsxc.submitLoginForm();break;case"quiet":case!1:return}},onRoster:function(iq){if(jsxc.debug("Load roster",iq),0===$(iq).find("query").length)return jsxc.debug("Use cached roster"),void jsxc.restoreRoster();var buddies=[];$(iq).find("item").each(function(){var jid=$(this).attr("jid"),name=$(this).attr("name")||jid,bid=jsxc.jidToBid(jid),sub=$(this).attr("subscription");buddies.push(bid),jsxc.storage.removeUserItem("res",bid),jsxc.storage.saveBuddy(bid,{jid:jid,name:name,status:0,sub:sub,res:[],rnd:Math.random()}),jsxc.gui.roster.add(bid)}),0===buddies.length&&jsxc.gui.roster.empty(),jsxc.storage.setUserItem("buddylist",buddies),$(iq).find("query").attr("ver")&&jsxc.storage.setUserItem("rosterVer",$(iq).find("query").attr("ver")),jsxc.xmpp.bookmarks.load(),jsxc.gui.roster.loaded=!0,jsxc.debug("Roster loaded"),$(document).trigger("cloaded.roster.jsxc"),jsxc.changeUIState(jsxc.CONST.UISTATE.READY)},onRosterChanged:function(iq){var iqSender=$(iq).attr("from"),ownBareJid=Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid);return!(!iqSender||iqSender===ownBareJid)||(jsxc.debug("onRosterChanged",iq),$(iq).find("item").each(function(){var jid=$(this).attr("jid"),name=$(this).attr("name")||jid,bid=jsxc.jidToBid(jid),sub=$(this).attr("subscription");if("remove"===sub)jsxc.gui.roster.purge(bid);else{var bl=jsxc.storage.getUserItem("buddylist");bl.indexOf(bid)<0&&(bl.push(bid),jsxc.storage.setUserItem("buddylist",bl));var temp=jsxc.storage.saveBuddy(bid,{jid:jid,name:name,sub:sub});"updated"===temp?(jsxc.gui.update(bid),jsxc.gui.roster.reorder(bid)):jsxc.gui.roster.add(bid)}if("from"===sub||"both"===sub){var notice,notices=jsxc.storage.getUserItem("notices"),noticeKey=null;for(noticeKey in notices)notice=notices[noticeKey],"gui.showApproveDialog"===notice.fnName&&notice.fnParams[0]===jid&&(jsxc.debug("Remove notice with key "+noticeKey),jsxc.notice.remove(noticeKey))}}),$(iq).find("query").attr("ver")&&jsxc.storage.setUserItem("rosterVer",$(iq).find("query").attr("ver")),jsxc.storage.getUserItem("buddylist")&&0!==jsxc.storage.getUserItem("buddylist").length?$("#jsxc_roster > p:first").remove():jsxc.gui.roster.empty(),!0)},onPresence:function(presence){jsxc.debug("onPresence",presence);var ptype=$(presence).attr("type"),from=$(presence).attr("from"),jid=Strophe.getBareJidFromJid(from).toLowerCase(),r=Strophe.getResourceFromJid(from),bid=jsxc.jidToBid(jid),data=jsxc.storage.getUserItem("buddy",bid)||{},res=jsxc.storage.getUserItem("res",bid)||{},status=null,xVCard=$(presence).find('x[xmlns="vcard-temp:x:update"]');if(jid===Strophe.getBareJidFromJid(jsxc.storage.getItem("jid")))return!0;if("error"===ptype){$(document).trigger("error.presence.jsxc",[from,presence]);var error=$(presence).find("error");return jsxc.error("[XMPP] "+error.attr("code")+" "+error.find(">:first-child").prop("tagName")),!0}if("subscribe"===ptype){var bl=jsxc.storage.getUserItem("buddylist");return bl.indexOf(bid)>-1?(jsxc.debug("Auto approve contact request, because he is already in our contact list."),jsxc.xmpp.resFriendReq(jid,!0),"to"!==data.sub&&jsxc.xmpp.addBuddy(jid,data.name),!0):(jsxc.storage.setUserItem("friendReq",{jid:jid,approve:-1}),jsxc.notice.add({msg:$.t("Friendship_request"),description:$.t("from")+" "+jid,type:"contact"},"gui.showApproveDialog",[jid]),!0)}if("unavailable"===ptype||"unsubscribed"===ptype)status=jsxc.CONST.STATUS.indexOf("offline");else{var show=$(presence).find("show").text();status=""===show?jsxc.CONST.STATUS.indexOf("online"):jsxc.CONST.STATUS.indexOf(show)}0===status?delete res[r]:r&&(res[r]=status);var maxVal=[],max=0,prop=null;for(prop in res)res.hasOwnProperty(prop)&&max<=res[prop]&&(max!==res[prop]&&(maxVal=[],max=res[prop]),maxVal.push(prop));if(0===data.status&&max>0&&jsxc.notification.notify({title:data.name,msg:$.t("has_come_online"),source:bid}),"groupchat"!==data.type&&(data.status=max),data.res=maxVal,data.jid=jid,xVCard.length>0&&"groupchat"!==data.type){var photo=xVCard.find("photo");photo.length>0&&photo.text()!==data.avatar&&(jsxc.storage.removeUserItem("avatar",data.avatar),data.avatar=photo.text())}return jsxc.gui.window.get(bid).length>0&&jsxc.gui.window.get(bid).data("jid",jid),jsxc.storage.setUserItem("buddy",bid,data),jsxc.storage.setUserItem("res",bid,res),jsxc.debug("Presence ("+from+"): "+jsxc.CONST.STATUS[status]),jsxc.gui.update(bid),jsxc.gui.roster.reorder(bid),$(document).trigger("presence.jsxc",[from,status,presence]),!0},onChatMessage:function(stanza){var message,carbon,forwarded=$(stanza).find('forwarded[xmlns="'+jsxc.CONST.NS.FORWARD+'"]'),originalSender=$(stanza).attr("from");if(forwarded.length>0){if(message=forwarded.find("> message"),forwarded=!0,carbon=$(stanza).find('> [xmlns="'+jsxc.CONST.NS.CARBONS+'"]'),0===carbon.length)carbon=!1;else if(originalSender!==Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid))return!0;jsxc.debug("Incoming forwarded message",message)}else message=stanza,forwarded=!1,carbon=!1,jsxc.debug("Incoming message",message);var body=$(message).find("body:first").text(),htmlBody=$(message).find('body[xmlns="'+Strophe.NS.XHTML+'"]');if(!body||body.match(/\?OTR/i)&&forwarded)return!0;var bid,type=$(message).attr("type"),from=$(message).attr("from"),mid=$(message).attr("id"),delay=$(message).find('delay[xmlns="urn:xmpp:delay"]'),stamp=delay.length>0?new Date(delay.attr("stamp")):new Date;if(stamp=stamp.getTime(),carbon){var direction="sent"===carbon.prop("tagName")?jsxc.Message.OUT:jsxc.Message.IN;return bid=jsxc.jidToBid("out"===direction?$(message).attr("to"):from),jsxc.gui.window.postMessage({bid:bid,direction:direction,msg:body,encrypted:!1,forwarded:forwarded,stamp:stamp}),!0}forwarded&&(body=from+" "+$.t("to")+" "+$(stanza).attr("to")+'"'+body+'"',from=$(stanza).attr("from"));var jid=Strophe.getBareJidFromJid(from);bid=jsxc.jidToBid(jid);var data=jsxc.storage.getUserItem("buddy",bid),request=$(message).find("request[xmlns='urn:xmpp:receipts']");if(null===data){var chat=jsxc.storage.getUserItem("chat",bid)||[];0===chat.length&&jsxc.notice.add({msg:$.t("Unknown_sender"),description:$.t("You_received_a_message_from_an_unknown_sender")+" ("+bid+")."},"gui.showUnknownSender",[bid]);var msg=jsxc.removeHTML(body);msg=jsxc.escapeHTML(msg);var messageObj=new jsxc.Message({bid:bid,msg:msg,direction:jsxc.Message.IN,encrypted:!1,forwarded:forwarded,stamp:stamp});return messageObj.save(),!0}var win=jsxc.gui.window.init(bid);"chat"===type&&(win.data("jid",from),jsxc.storage.updateUserItem("buddy",bid,{jid:from})),$(document).trigger("message.jsxc",[from,body]),jsxc.master&&!jsxc.otr.objects[bid]&&jsxc.otr.create(bid),forwarded||null===mid||!request.length||null===data||"both"!==data.sub&&"from"!==data.sub||"chat"!==type||jsxc.xmpp.conn.send($msg({to:from}).c("received",{xmlns:"urn:xmpp:receipts",id:mid}));var attachment;if(1===htmlBody.length){var httpUploadElement=htmlBody.find("a[data-type][data-name][data-size]");1===httpUploadElement.length&&(attachment={type:httpUploadElement.attr("data-type"),name:httpUploadElement.attr("data-name"),size:httpUploadElement.attr("data-size")},httpUploadElement.attr("data-thumbnail")&&httpUploadElement.attr("data-thumbnail").match(/^\s*data:[a-z]+\/[a-z0-9-+.*]+;base64,[a-z0-9=+\/]+$/i)&&(attachment.thumbnail=httpUploadElement.attr("data-thumbnail")),httpUploadElement.attr("href")&&httpUploadElement.attr("href").match(/^https:\/\//)&&(attachment.data=httpUploadElement.attr("href"),body=null),attachment.type.match(/^[a-z]+\/[a-z0-9-+.*]+$/i)&&attachment.name.match(/^[\s\w.,-]+$/i)&&attachment.size.match(/^\d+$/i)||(attachment=void 0,jsxc.warn("Invalid file type, name or size.")))}return jsxc.otr.objects.hasOwnProperty(bid)&&body?jsxc.otr.objects[bid].receiveMsg(body,{_uid:mid,foo:"bar",stamp:stamp,forwarded:forwarded,attachment:attachment}):jsxc.gui.window.postMessage({_uid:mid,bid:bid,direction:jsxc.Message.IN,msg:body,encrypted:!1,forwarded:forwarded,stamp:stamp,attachment:attachment}),!0},onHeadlineMessage:function(stanza){stanza=$(stanza);var from=stanza.attr("from"),domain=Strophe.getDomainFromJid(from);if(domain!==from){if(!jsxc.storage.getUserItem("buddy",jsxc.jidToBid(from)))return!0}else if(domain!==Strophe.getDomainFromJid(jsxc.xmpp.conn.jid))return!0;var subject=stanza.find("subject:first").text()||$.t("Notification"),body=stanza.find("body:first").text();return jsxc.notice.add({msg:subject,description:body,type:domain===from?"announcement":null},"gui.showNotification",[subject,body,from]),!0},onVersionRequest:function(stanza){stanza=$(stanza);var from=stanza.attr("from"),id=stanza.attr("id"),iq=$iq({type:"result",to:from,id:id}).c("query",{xmlns:Strophe.NS.VERSION}).c("name").t("JSXC").up().c("version").t(jsxc.version);return jsxc.xmpp.conn.sendIQ(iq),!0},onRidChange:function(rid){jsxc.storage.setItem("rid",rid)},resFriendReq:function(from,approve){jsxc.master?(jsxc.xmpp.conn.send($pres({to:from,type:approve?"subscribed":"unsubscribed"})),jsxc.storage.removeUserItem("friendReq"),jsxc.gui.dialog.close()):jsxc.storage.updateUserItem("friendReq","approve",approve)},addBuddy:function(username,alias){var bid=jsxc.jidToBid(username);if(jsxc.master){var iq=$iq({type:"set"}).c("query",{xmlns:"jabber:iq:roster"}).c("item",{jid:username,name:alias||""});jsxc.xmpp.conn.sendIQ(iq),jsxc.xmpp.conn.send($pres({to:username,type:"subscribe"})),jsxc.storage.removeUserItem("add_"+bid)}else jsxc.storage.setUserItem("add_"+bid,{username:username,alias:alias||null})},removeBuddy:function(jid){var bid=jsxc.jidToBid(jid),iq=$iq({type:"set"}).c("query",{xmlns:"jabber:iq:roster"}).c("item",{jid:Strophe.getBareJidFromJid(jid),subscription:"remove"});jsxc.xmpp.conn.sendIQ(iq),jsxc.gui.roster.purge(bid)},onReceived:function(stanza){var received=$(stanza).find("received[xmlns='urn:xmpp:receipts']");
+if(received.length){var receivedId=received.attr("id"),message=new jsxc.Message(receivedId);message.received()}return!0},sendMessage:function(message){var bid=message.bid,msg=message.htmlMsg,mucRoomNames=jsxc.xmpp.conn.muc&&jsxc.xmpp.conn.muc.roomNames?jsxc.xmpp.conn.muc.roomNames:[],isMucBid=mucRoomNames.indexOf(bid)>=0;jsxc.otr.objects.hasOwnProperty(bid)&&!isMucBid?jsxc.otr.objects[bid].sendMsg(msg,message):jsxc.xmpp._sendMessage(jsxc.gui.window.get(bid).data("jid"),msg,message)},_sendMessage:function(jid,msg,message){var data=jsxc.storage.getUserItem("buddy",jsxc.jidToBid(jid))||{},isBar=Strophe.getBareJidFromJid(jid)===jid,type=data.type||"chat";message=message||{};var xmlMsg=$msg({to:jid,type:type,id:message._uid});if(message.type===jsxc.Message.HTML){xmlMsg.c("html",{xmlns:Strophe.NS.XHTML_IM});var body=Strophe.xmlElement("body",{xmlns:Strophe.NS.XHTML});body.innerHTML=msg,xmlMsg.node.appendChild(body)}else xmlMsg.c("body").t(msg);jsxc.xmpp.carbons.enabled&&msg.match(/^\?OTR/)&&xmlMsg.up().c("private",{xmlns:jsxc.CONST.NS.CARBONS}),msg.match(/^\?OTR/)&&xmlMsg.up().c("no-permanent-store",{xmlns:jsxc.CONST.NS.HINTS}),"chat"===type&&(isBar||jsxc.xmpp.conn.caps.hasFeatureByJid(jid,Strophe.NS.RECEIPTS))&&xmlMsg.up().c("request",{xmlns:"urn:xmpp:receipts"}),jsxc.xmpp.conn.chatstates&&!jsxc.xmpp.chatState.isDisabled()&&xmlMsg.up().c("active",{xmlns:Strophe.NS.CHATSTATES}),jsxc.xmpp.conn.send(xmlMsg)},loadVcard:function(bid,cb,error_cb){jsxc.master?jsxc.xmpp.conn.vcard.get(cb,bid,error_cb):(jsxc.storage.setUserItem("vcard",bid,"request:"+(new Date).getTime()),$(document).one("loaded.vcard.jsxc",function(ev,result){result&&"success"===result.state?cb($(result.data).get(0)):error_cb()}))},getCapabilitiesByJid:function(jid){if(jsxc.xmpp.conn)return jsxc.xmpp.conn.caps.getCapabilitiesByJid(jid);var jidVerIndex=JSON.parse(localStorage.getItem("strophe.caps._jidVerIndex"))||{},knownCapabilities=JSON.parse(localStorage.getItem("strophe.caps._knownCapabilities"))||{};return jidVerIndex[jid]?knownCapabilities[jidVerIndex[jid]]:null},hasFeatureByJid:function(jid,feature,cb){var conn=jsxc.xmpp.conn;if(cb=cb||function(){},!feature)return!1;$.isArray(feature)||(feature=$.makeArray(feature));var check=function(knownCapabilities){if(!knownCapabilities)return null;var i;for(i=0;i<feature.length;i++)if(knownCapabilities.features.indexOf(feature[i])<0)return!1;return!0};if(conn.caps._jidVerIndex[jid]&&conn.caps._knownCapabilities[conn.caps._jidVerIndex[jid]]){var hasFeature=check(conn.caps._knownCapabilities[conn.caps._jidVerIndex[jid]]);return cb(hasFeature),hasFeature}return $(document).on("strophe.caps",function(ev,j,capabilities){j===jid&&(cb(check(capabilities)),$(document).off(ev))}),null}},jsxc.xmpp.carbons={enabled:!1,enable:function(cb){var iq=$iq({type:"set"}).c("enable",{xmlns:jsxc.CONST.NS.CARBONS});jsxc.xmpp.conn.sendIQ(iq,function(){jsxc.xmpp.carbons.enabled=!0,jsxc.debug("Carbons enabled"),cb&&cb.call(this)},function(stanza){jsxc.warn("Could not enable carbons",stanza)})},disable:function(cb){var iq=$iq({type:"set"}).c("disable",{xmlns:jsxc.CONST.NS.CARBONS});jsxc.xmpp.conn.sendIQ(iq,function(){jsxc.xmpp.carbons.enabled=!1,jsxc.debug("Carbons disabled"),cb&&cb.call(this)},function(stanza){jsxc.warn("Could not disable carbons",stanza)})},refresh:function(err){if(err!==!1)return jsxc.options.get("carbons").enable?jsxc.xmpp.carbons.enable():jsxc.xmpp.carbons.disable()}},jsxc.gui={emotions:[["O:-) O:)","innocent"],[">:-( >:( &gt;:-( &gt;:(","angry"],[":-) :)","slight_smile"],[":-D :D","grin"],[":-( :(","disappointed"],[";-) ;)","wink"],[":-P :P","stuck_out_tongue"],["=-O","astonished"],[":kiss: :-*","kissing_heart"],["8-) :cool:","sunglasses"],[":-X :X","zipper_mouth"],[":yes:","thumbsup"],[":no:","thumbsdown"],[":beer:","beer"],[":coffee:","coffee"],[":devil:","smiling_imp"],[":kiss: :kissing:","kissing"],["@->-- @-&gt;--","rose"],[":music:","musical_note"],[":love:","heart_eyes"],[":heart:","heart"],[":brokenheart:","broken_heart"],[":zzz:","zzz"],[":wait:","hand_splayed"]],favicon:null,regShortNames:null,emoticonList:{core:{":klaus:":["klaus"],":jabber:":["jabber"],":xmpp:":["xmpp"],":jsxc:":["jsxc"],":owncloud:":["owncloud"],":nextcloud:":["nextcloud"]},emojione:emojione.emojioneList},queryActions:{message:function(jid,params){var win=jsxc.gui.window.open(jsxc.jidToBid(jid));params&&"string"==typeof params.body&&win.find(".jsxc_textinput").val(params.body)},remove:function(jid){jsxc.gui.showRemoveDialog(jsxc.jidToBid(jid))},subscribe:function(jid,params){jsxc.gui.showContactDialog(jid),params&&(params.name,!0)&&$("#jsxc_alias").val(params.name)},vcard:function(jid){jsxc.gui.showVcard(jid)},join:function(jid,params){var password=params&&params.password?params.password:null;jsxc.muc.showJoinChat(jid,password)}},init:function(){if(!($("#jsxc_windowList").length>0)){jsxc.changeUIState(jsxc.CONST.UISTATE.INITIATING),jsxc.gui.regShortNames=new RegExp(emojione.regShortNames.source+"|("+Object.keys(jsxc.gui.emoticonList.core).join("|")+")","gi"),$("body").append($(jsxc.gui.template.get("windowList"))),$(window).resize(jsxc.gui.updateWindowListSB),$("#jsxc_windowList").resize(jsxc.gui.updateWindowListSB),$("#jsxc_windowListSB .jsxc_scrollLeft").click(function(){jsxc.gui.scrollWindowListBy(-200)}),$("#jsxc_windowListSB .jsxc_scrollRight").click(function(){jsxc.gui.scrollWindowListBy(200)}),$("#jsxc_windowList").on("wheel",function(ev){$("#jsxc_windowList").data("isOver")&&jsxc.gui.scrollWindowListBy(ev.originalEvent.wheelDelta>0?200:-200)}),jsxc.gui.tooltip("#jsxc_windowList");var fo=jsxc.options.get("favicon");fo&&fo.enable&&(jsxc.gui.favicon=new Favico({animation:"pop",bgColor:fo.bgColor,textColor:fo.textColor}),jsxc.gui.favicon.badge(jsxc.storage.getUserItem("unreadMsg")||0)),jsxc.el_exists("#jsxc_roster")||jsxc.gui.roster.init(),$.each(jsxc.gui.emotions,function(i,val){var reg=val[0].replace(/(\/|\||\*|\.|\+|\?|\^|\$|\(|\)|\[|\]|\{|\})/g,"\\$1");reg="("+reg.split(" ").join("|")+")",jsxc.gui.emotions[i][2]=new RegExp(reg,"g")}),jsxc.gui.windowTemplate=$(jsxc.gui.template.get("chatWindow")),jsxc.gui.buddyTemplate=$(jsxc.gui.template.get("rosterBuddy"))}},tooltip:function(selector){$(selector).tooltip({show:{delay:600},content:function(){return $(this).attr("title").replace(/\n/g,"<br />")}})},update:function(bid){var data=jsxc.storage.getUserItem("buddy",bid);if(!data)return void jsxc.debug("No data for "+bid);var ri=jsxc.gui.roster.getItem(bid),we=jsxc.gui.window.get(bid),ue=ri.add(we),spot=$('.jsxc_spot[data-bid="'+bid+'"]');switch(ri.data(data),jsxc.gui.updatePresence(bid,jsxc.CONST.STATUS[data.status]),ue.find(".jsxc_name:first").add(spot).text(data.name).attr("title",$.t("is_",{status:$.t(jsxc.CONST.STATUS[data.status])})),data.msgstate){case 0:we.find(".jsxc_transfer").removeClass("jsxc_enc jsxc_fin").attr("title",$.t("your_connection_is_unencrypted")),we.find(".jsxc_settings .jsxc_verification").addClass("jsxc_disabled"),we.find(".jsxc_settings .jsxc_transfer").text($.t("start_private"));break;case 1:we.find(".jsxc_transfer").addClass("jsxc_enc").attr("title",$.t("your_connection_is_encrypted")),we.find(".jsxc_settings .jsxc_verification").removeClass("jsxc_disabled"),we.find(".jsxc_settings .jsxc_transfer").text($.t("close_private"));break;case 2:we.find(".jsxc_settings .jsxc_verification").addClass("jsxc_disabled"),we.find(".jsxc_transfer").removeClass("jsxc_enc").addClass("jsxc_fin").attr("title",$.t("your_buddy_closed_the_private_connection")),we.find(".jsxc_settings .jsxc_transfer").text($.t("close_private"))}data.trust?we.find(".jsxc_transfer").addClass("jsxc_trust").attr("title",$.t("your_buddy_is_verificated")):we.find(".jsxc_transfer").removeClass("jsxc_trust"),data.sub&&"both"!==data.sub?ue.addClass("jsxc_oneway"):ue.removeClass("jsxc_oneway");var info=Strophe.getBareJidFromJid(data.jid)+"\n";info+=$.t("Subscription")+": "+$.t(data.sub)+"\n",info+=$.t("Status")+": "+$.t(jsxc.CONST.STATUS[data.status]),ri.find(".jsxc_name").attr("title",info),jsxc.gui.avatar.update(ri.add(we.find(".jsxc_bar")),data.jid,data.avatar),$(document).trigger("update.gui.jsxc",[bid])},updateWindowListSB:function(){$("#jsxc_windowList>ul").width()>$("#jsxc_windowList").width()?$("#jsxc_windowListSB > div").removeClass("jsxc_disabled"):($("#jsxc_windowListSB > div").addClass("jsxc_disabled"),$("#jsxc_windowList>ul").css("right","0px"))},scrollWindowListBy:function(offset){var scrollWidth=$("#jsxc_windowList>ul").width(),width=$("#jsxc_windowList").width(),el=$("#jsxc_windowList>ul"),right=parseInt(el.css("right"))-offset,padding=$("#jsxc_windowListSB").width();scrollWidth<width||(right>0&&(right=0),right<width-scrollWidth-padding&&(right=width-scrollWidth-padding),el.css("right",right+"px"))},getWindow:function(bid){return jsxc.warn("jsxc.gui.getWindow is deprecated!"),jsxc.gui.window.get(bid)},toggleList:function(el){var self=el||$(this);self.disableSelection(),self.addClass("jsxc_list");var ul=self.find("ul"),slideUp=null;slideUp=function(){self.removeClass("jsxc_opened"),$("body").off("click",null,slideUp)},$(this).click(function(){return self.hasClass("jsxc_opened")?$("body").off("click",null,slideUp):($("body").click(),$("body").one("click",slideUp)),window.clearTimeout(ul.data("timer")),self.toggleClass("jsxc_opened"),!1}).mouseleave(function(){ul.data("timer",window.setTimeout(slideUp,2e3))}).mouseenter(function(){window.clearTimeout(ul.data("timer"))})},showLoginBox:function(){function onAuthFail(){alert.show(),jsxc.gui.dialog.resize(),$("#jsxc_dialog").find("button").trigger("btnfinished.jsxc"),$("#jsxc_dialog").find("input").one("keypress",function(){alert.hide(),jsxc.gui.dialog.resize()})}$(document).one("complete.dialog.jsxc",function(){setTimeout(function(){0===$("#jsxc_username").val().length?$("#jsxc_username").focus():$("#jsxc_password").focus()},50)}),jsxc.gui.dialog.open(jsxc.gui.template.get("loginBox"));var alert=$("#jsxc_dialog").find(".jsxc_alert");alert.hide(),$("#jsxc_dialog").find("form").submit(function(ev){ev.preventDefault(),$(this).find("button[data-jsxc-loading-text]").trigger("btnloading.jsxc"),jsxc.options.loginForm.form=$(this),jsxc.options.loginForm.jid=$(this).find("#jsxc_username"),jsxc.options.loginForm.pass=$(this).find("#jsxc_password"),jsxc.triggeredFromBox=!0,jsxc.options.loginForm.triggered=!1,jsxc.prepareLogin(function(settings){settings===!1?onAuthFail():($(document).on("authfail.jsxc",onAuthFail),jsxc.xmpp.login())})})},showFingerprints:function(bid){jsxc.gui.dialog.open(jsxc.gui.template.get("fingerprintsDialog",bid))},showVerification:function(bid){return $("#jsxc_dialog").length>0?void setTimeout(function(){jsxc.gui.showVerification(bid)},3e3):jsxc.storage.getUserItem("buddy",bid).msgstate!==OTR.CONST.MSGSTATE_ENCRYPTED?void jsxc.warn("Connection not encrypted"):(jsxc.gui.dialog.open(jsxc.gui.template.get("authenticationDialog",bid),{name:"smp"}),$("#jsxc_dialog > div:gt(0)").hide(),$("#jsxc_dialog > div:eq(0) button").click(function(){$(this).siblings().removeClass("active"),$(this).addClass("active"),$(this).get(0).blur(),$("#jsxc_dialog > div:gt(0)").hide(),$("#jsxc_dialog > div:eq("+($(this).index()+1)+")").show().find("input:first").focus()}),$("#jsxc_dialog > div:eq(1) .jsxc_submit").click(function(){jsxc.master&&(jsxc.otr.objects[bid].trust=!0),jsxc.storage.updateUserItem("buddy",bid,"trust",!0),jsxc.gui.dialog.close("smp"),jsxc.storage.updateUserItem("buddy",bid,"trust",!0),jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("conversation_is_now_verified")}),jsxc.gui.update(bid)}),$("#jsxc_dialog > div:eq(2) .jsxc_submit").click(function(){var div=$("#jsxc_dialog > div:eq(2)"),sec=div.find("#jsxc_secret2").val(),quest=div.find("#jsxc_quest").val();return""===sec||""===quest?void div.find('input[value=""]').addClass("jsxc_invalid").keyup(function(){$(this).val().match(/.*/)&&$(this).removeClass("jsxc_invalid")}):(jsxc.master?jsxc.otr.sendSmpReq(bid,sec,quest):jsxc.storage.setUserItem("smp",bid,{sec:sec,quest:quest}),jsxc.gui.dialog.close("smp"),void jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("authentication_query_sent")}))}),void $("#jsxc_dialog > div:eq(3) .jsxc_submit").click(function(){var div=$("#jsxc_dialog > div:eq(3)"),sec=div.find("#jsxc_secret").val();return""===sec?void div.find("#jsxc_secret").addClass("jsxc_invalid").keyup(function(){$(this).val().match(/.*/)&&$(this).removeClass("jsxc_invalid")}):(jsxc.master?jsxc.otr.sendSmpReq(bid,sec):jsxc.storage.setUserItem("smp",bid,{sec:sec,quest:null}),jsxc.gui.dialog.close("smp"),void jsxc.gui.window.postMessage({bid:bid,direction:"sys",msg:$.t("authentication_query_sent")}))}))},showApproveDialog:function(from){jsxc.gui.dialog.open(jsxc.gui.template.get("approveDialog"),{noClose:!0}),$("#jsxc_dialog .jsxc_their_jid").text(Strophe.getBareJidFromJid(from)),$("#jsxc_dialog .jsxc_deny").click(function(ev){ev.stopPropagation(),jsxc.xmpp.resFriendReq(from,!1),jsxc.gui.dialog.close()}),$("#jsxc_dialog .jsxc_approve").click(function(ev){ev.stopPropagation();var data=jsxc.storage.getUserItem("buddy",jsxc.jidToBid(from));jsxc.xmpp.resFriendReq(from,!0),data&&"from"!==data.sub||jsxc.gui.showContactDialog(from)})},showContactDialog:function(username){jsxc.gui.dialog.open(jsxc.gui.template.get("contactDialog")),username&&$("#jsxc_username").val(username),$("#jsxc_username").keyup(function(){if("function"==typeof jsxc.options.getUsers){var val=$(this).val();$("#jsxc_userlist").empty(),""!==val&&jsxc.options.getUsers.call(this,val,function(list){$("#jsxc_userlist").empty(),$.each(list||{},function(uid,displayname){var option=$("<option>");option.attr("data-username",uid),option.attr("data-alias",displayname),option.attr("value",uid).appendTo("#jsxc_userlist"),uid!==displayname&&option.clone().attr("value",displayname).appendTo("#jsxc_userlist")})})}}),$("#jsxc_username").on("input",function(){var val=$(this).val(),option=$("#jsxc_userlist").find('option[data-username="'+val+'"], option[data-alias="'+val+'"]');option.length>0&&($("#jsxc_username").val(option.attr("data-username")),$("#jsxc_alias").val(option.attr("data-alias")))}),$("#jsxc_dialog form").submit(function(ev){ev.preventDefault();var username=$("#jsxc_username").val(),alias=$("#jsxc_alias").val();return username.match(/@(.*)$/)||(username+="@"+Strophe.getDomainFromJid(jsxc.storage.getItem("jid"))),username&&username.match(jsxc.CONST.REGEX.JID)?(jsxc.xmpp.addBuddy(username,alias),jsxc.gui.dialog.close(),!1):($("#jsxc_username").addClass("jsxc_invalid").keyup(function(){$(this).val().match(jsxc.CONST.REGEX.JID)&&$(this).removeClass("jsxc_invalid")}),!1)})},showRemoveDialog:function(bid){jsxc.gui.dialog.open(jsxc.gui.template.get("removeDialog",bid));var data=jsxc.storage.getUserItem("buddy",bid);$("#jsxc_dialog .jsxc_remove").click(function(ev){ev.stopPropagation(),jsxc.master?jsxc.xmpp.removeBuddy(data.jid):jsxc.storage.setUserItem("deletebuddy",bid,{jid:data.jid}),jsxc.gui.dialog.close()})},showWaitAlert:function(msg){jsxc.gui.dialog.open(jsxc.gui.template.get("waitAlert",null,msg),{noClose:!0})},showAlert:function(msg){jsxc.gui.dialog.open(jsxc.gui.template.get("alert",null,msg))},showAuthFail:function(){jsxc.gui.dialog.open(jsxc.gui.template.get("authFailDialog")),jsxc.options.loginForm.triggered!==!1&&$("#jsxc_dialog .jsxc_cancel").hide(),$("#jsxc_dialog .jsxc_retry").click(function(){jsxc.gui.dialog.close()}),$("#jsxc_dialog .jsxc_cancel").click(function(){jsxc.submitLoginForm()})},showConfirmDialog:function(msg,confirm,dismiss){jsxc.gui.dialog.open(jsxc.gui.template.get("confirmDialog",null,msg),{noClose:!0}),confirm&&$("#jsxc_dialog .jsxc_confirm").click(confirm),dismiss&&$("#jsxc_dialog .jsxc_dismiss").click(dismiss)},showAboutDialog:function(){jsxc.gui.dialog.open(jsxc.gui.template.get("aboutDialog")),$("#jsxc_dialog .jsxc_debuglog").click(function(){jsxc.gui.showDebugLog()})},showDebugLog:function(){var userInfo="<h3>User information</h3>";if(navigator){var key;for(key in navigator)"string"==typeof navigator[key]&&(userInfo+="<b>"+key+":</b> "+navigator[key]+"<br />")}$.fn&&$.fn.jquery&&(userInfo+="<b>jQuery:</b> "+$.fn.jquery+"<br />"),window.screen&&(userInfo+="<b>Height:</b> "+window.screen.height+"<br />",userInfo+="<b>Width:</b> "+window.screen.width+"<br />"),userInfo+="<b>jsxc version:</b> "+jsxc.version+"<br />",jsxc.gui.dialog.open('<div class="jsxc_log">'+userInfo+"<h3>Log</h3><pre>"+jsxc.escapeHTML(jsxc.log)+"</pre></div>")},showVcard:function(jid){var bid=jsxc.jidToBid(jid);jsxc.gui.dialog.open(jsxc.gui.template.get("vCard",bid));var data=jsxc.storage.getUserItem("buddy",bid);if(data&&data.res){var i,j,res,identities,cap,client,identity=null;for(i=0;i<data.res.length;i++){for(res=data.res[i],identities=[],cap=jsxc.xmpp.getCapabilitiesByJid(bid+"/"+res),null!==cap&&null!==cap.identities&&(identities=cap.identities),client="",j=0;j<identities.length;j++)identity=identities[j],"client"===identity.category&&(""!==client&&(client+=",\n"),client+=identity.name+" ("+identity.type+")");var status=jsxc.storage.getUserItem("res",bid)[res];$("#jsxc_dialog ul.jsxc_vCard").append('<li class="jsxc_sep"><strong>'+$.t("Resource")+":</strong> "+res+"</li>"),$("#jsxc_dialog ul.jsxc_vCard").append("<li><strong>"+$.t("Client")+":</strong> "+client+"</li>"),$("#jsxc_dialog ul.jsxc_vCard").append("<li><strong>"+$.t("Status")+":</strong> "+$.t(jsxc.CONST.STATUS[status])+"</li>")}}var printProp=function(el,depth){var content="";if(el.each(function(){var item=$(this),children=$(this).children();content+="<li>";var prop=$.t(item[0].tagName);" "!==prop&&(content+="<strong>"+prop+":</strong> "),"PHOTO"===item[0].tagName||(children.length>0?(content+="<ul>",content+=printProp(children,depth+1),content+="</ul>"):""!==item.text()&&(content+=jsxc.escapeHTML(item.text()))),content+="</li>",0===depth&&$("#jsxc_dialog ul.jsxc_vCard").length>0&&($("#jsxc_dialog ul.jsxc_vCard li.jsxc_sep:first").length>0?$("#jsxc_dialog ul.jsxc_vCard li.jsxc_sep:first").before(content):$("#jsxc_dialog ul.jsxc_vCard").append(content),content="")}),depth>0)return content},failedToLoad=function(){if(0!==$("#jsxc_dialog ul.jsxc_vCard").length){$("#jsxc_dialog p").remove();var content="<p>";content+=$.t("Sorry_your_buddy_doesnt_provide_any_information"),content+="</p>",$("#jsxc_dialog").append(content)}};jsxc.xmpp.loadVcard(bid,function(stanza){if(0!==$("#jsxc_dialog ul.jsxc_vCard").length){$("#jsxc_dialog p").remove();var photo=$(stanza).find("vCard > PHOTO");if(photo.length>0){var img=photo.find("BINVAL").text(),type=photo.find("TYPE").text(),src="data:"+type+";base64,"+img;photo.find("EXTVAL").length>0&&(src=photo.find("EXTVAL").text()),src=src.replace(/[\t\r\n\f]/gi,"");var img_el=$('<img class="jsxc_vCard" alt="avatar" />');img_el.attr("src",src),$("#jsxc_dialog h3").before(img_el)}return 0===$(stanza).find("vCard").length||1===$(stanza).find("vcard > *").length&&1===photo.length?void failedToLoad():void printProp($(stanza).find("vcard > *"),0)}},failedToLoad)},showSettings:function(){jsxc.gui.dialog.open(jsxc.gui.template.get("settings")),"false"!==jsxc.options.get("xmpp").overwrite&&jsxc.options.get("xmpp").overwrite!==!1||$(".jsxc_fieldsetXmpp").parent().hide(),$("#jsxc_dialog form").each(function(){var self=$(this);self.find('input[type!="submit"]').each(function(){var id=this.id.split("-"),prop=id[0],key=id[1],type=this.type,data=jsxc.options.get(prop);data&&"undefined"!=typeof data[key]&&("checkbox"===type?"false"!==data[key]&&data[key]!==!1&&(this.checked="checked"):$(this).val(data[key]))})}),$("#jsxc_dialog form").submit(function(){var self=$(this),data={};self.find('input[type!="submit"]').each(function(){var val,id=this.id.split("-"),prop=id[0],key=id[1],type=this.type;val="checkbox"===type?this.checked:$(this).val(),data[prop]||(data[prop]={}),data[prop][key]=val}),$.each(data,function(key,val){jsxc.options.set(key,val)});var cb=function(success){"string"==typeof self.attr("data-onsubmit")&&jsxc.exec(self.attr("data-onsubmit"),[success]),setTimeout(function(){success?self.find('button[type="submit"]').switchClass("btn-primary","btn-success"):self.find('button[type="submit"]').switchClass("btn-primary","btn-danger"),setTimeout(function(){self.find('button[type="submit"]').switchClass("btn-danger btn-success","btn-primary")},2e3)},200)};return jsxc.options.saveSettinsPermanent.call(this,data,cb),!1})},showRequestNotification:function(){jsxc.switchEvents({"notificationready.jsxc":function(){jsxc.gui.dialog.close(),jsxc.notification.init(),jsxc.storage.setUserItem("notification",1)},"notificationfailure.jsxc":function(){jsxc.gui.dialog.close(),jsxc.options.notification=!1,jsxc.storage.setUserItem("notification",0)}}),jsxc.gui.showConfirmDialog($.t("Should_we_notify_you_"),function(){jsxc.gui.dialog.open(jsxc.gui.template.get("pleaseAccept"),{noClose:!0}),jsxc.notification.requestPermission()},function(){$(document).trigger("notificationfailure.jsxc")})},showUnknownSender:function(bid){var confirmationText=$.t("You_received_a_message_from_an_unknown_sender_",{sender:bid});jsxc.gui.showConfirmDialog(confirmationText,function(){jsxc.gui.dialog.close(),jsxc.storage.saveBuddy(bid,{jid:bid,name:bid,status:0,sub:"none",res:[]}),jsxc.gui.window.open(bid)},function(){jsxc.storage.removeUserItem("chat",bid)})},showSelectionDialog:function(header,msg,primary,option,primaryLabel,optionLabel){var opt;opt=1===arguments.length&&"object"==typeof header&&null!==header?header:{header:header,msg:msg,primary:{label:primaryLabel,cb:primary},option:{label:optionLabel,cb:option}};var dialog=jsxc.gui.dialog.open(jsxc.gui.template.get("selectionDialog"),{noClose:!0});opt.header?dialog.find("h3").text(opt.header):dialog.find("h3").hide(),opt.msg?dialog.find("p").text(opt.msg):dialog.find("p").hide(),opt.primary&&opt.primary.label&&dialog.find(".btn-primary").text(opt.primary.label),opt.primary&&opt.option.label&&dialog.find(".btn-default").text(opt.option.label),opt.primary&&opt.primary.cb&&dialog.find(".btn-primary").click(opt.primary.cb),opt.primary&&opt.option.cb&&dialog.find(".btn-primary").click(opt.option.cb)},showNotification:function(subject,body,from){var dialog=jsxc.gui.dialog.open(jsxc.gui.template.get("notification"));dialog.find("h3").text(subject),dialog.find(".jsxc_msg").text(body),from?dialog.find(".jsxc_meta").text($.t("from")+" "+from):dialog.find(".jsxc_meta").hide()},changePresence:function(pres,external){external!==!0&&jsxc.storage.setUserItem("presence",pres),jsxc.master&&jsxc.xmpp.sendPres(),$("#jsxc_presence > span").text($("#jsxc_presence .jsxc_inner ul .jsxc_"+pres).text()),jsxc.gui.updatePresence("own",pres)},updatePresence:function(bid,pres){"own"===bid&&("dnd"===pres?($("#jsxc_menu .jsxc_muteNotification").addClass("jsxc_disabled"),jsxc.notification.muteSound(!0)):($("#jsxc_menu .jsxc_muteNotification").removeClass("jsxc_disabled"),jsxc.options.get("muteNotification")||jsxc.notification.unmuteSound(!0))),$('[data-bid="'+bid+'"]').each(function(){var el=$(this);el.hasClass("jsxc_statusIndicator")||(el=el.find(".jsxc_statusIndicator")),el.attr("data-status",pres),el.removeClass("jsxc_"+jsxc.CONST.STATUS.join(" jsxc_")).addClass("jsxc_"+pres)})},unreadMsg:function(bid){var winData=jsxc.storage.getUserItem("window",bid)||{},count=winData&&winData.unread||0;count=count===!0?1:count+1,winData.unread=count,jsxc.storage.setUserItem("window",bid,winData);var total=jsxc.storage.getUserItem("unreadMsg")||0;total++,jsxc.storage.setUserItem("unreadMsg",total),jsxc.gui.favicon&&jsxc.gui.favicon.badge(total),jsxc.gui._unreadMsg(bid,count)},_unreadMsg:function(bid,count){var win=jsxc.gui.window.get(bid);if("number"!=typeof count){var winData=jsxc.storage.getUserItem("window",bid);count=winData&&winData.unread||1,count=count===!0?1:count}var el=jsxc.gui.roster.getItem(bid).add(win);el.addClass("jsxc_unreadMsg"),el.find(".jsxc_unread").text(count)},readMsg:function(bid){var win=jsxc.gui.window.get(bid),winData=jsxc.storage.getUserItem("window",bid),count=winData&&winData.unread||0;count=count===!0?0:count;var el=jsxc.gui.roster.getItem(bid).add(win);if(el.removeClass("jsxc_unreadMsg"),el.find(".jsxc_unread").text(0),count>0){var total=jsxc.storage.getUserItem("unreadMsg")||0;total-=count,jsxc.storage.setUserItem("unreadMsg",total),jsxc.gui.favicon&&jsxc.gui.favicon.badge(total),jsxc.storage.updateUserItem("window",bid,"unread",0)}},detectUriScheme:function(container){container=$(container?container:"body"),container.find("a[href^='xmpp:']").each(function(){var action,element=$(this),href=element.attr("href").replace(/^xmpp:/,""),jid=href.split("?")[0],params={};if(href.indexOf("?")<0)action="message";else{var pairs=href.substring(href.indexOf("?")+1).split(";");action=pairs[0];var i,key,value;for(i=1;i<pairs.length;i++)key=pairs[i].split("=")[0],value=pairs[i].indexOf("=")>0?pairs[i].substring(pairs[i].indexOf("=")+1):null,params[decodeURIComponent(key)]=decodeURIComponent(value)}"function"==typeof jsxc.gui.queryActions[action]&&(element.addClass("jsxc_uriScheme jsxc_uriScheme_"+action),element.off("click").click(function(ev){return ev.stopPropagation(),jsxc.gui.queryActions[action].call(jsxc,jid,params),!1}))})},detectEmail:function(container){container=$(container?container:"body"),container.find('a[href^="mailto:"],a[href^="xmpp:"]').each(function(){var spot=$("<span>X</span>").addClass("jsxc_spot"),href=$(this).attr("href").replace(/^ *(mailto|xmpp):/,"").trim();if(""!==href&&href!==Strophe.getBareJidFromJid(jsxc.storage.getItem("jid"))){var bid=jsxc.jidToBid(href),self=$(this),s=self.prev();s.hasClass("jsxc_spot")||(s=spot.clone().attr("data-bid",bid),self.before(s)),s.off("click"),jsxc.storage.getUserItem("buddy",bid)?(jsxc.gui.update(bid),s.click(function(){return jsxc.gui.window.open(bid),!1})):s.click(function(){return jsxc.gui.showContactDialog(href),!1})}})},avatarPlaceholder:function(el,seed,text){text=text||seed;var options=jsxc.options.get("avatarplaceholder")||{},hash=jsxc.hashStr(seed),hue=Math.abs(hash)%360,saturation=options.saturation||90,lightness=options.lightness||65;el.css({"background-color":"hsl("+hue+", "+saturation+"%, "+lightness+"%)",color:"#fff","font-weight":"bold","text-align":"center","line-height":el.height()+"px","font-size":.6*el.height()+"px"}),"string"==typeof text&&text.length>0&&el.text(text[0].toUpperCase())},shortnameToImage:function(str){str=str.replace(jsxc.gui.regShortNames,function(shortname){if(!("undefined"!=typeof shortname&&""!==shortname&&(shortname in jsxc.gui.emoticonList.emojione||shortname in jsxc.gui.emoticonList.core)))return shortname;var src,filename;jsxc.gui.emoticonList.core[shortname]?(filename=jsxc.gui.emoticonList.core[shortname][jsxc.gui.emoticonList.core[shortname].length-1].replace(/^:([^:]+):$/,"$1"),src=jsxc.options.root+"/img/emotions/"+filename+".svg"):jsxc.gui.emoticonList.emojione[shortname]&&(filename=jsxc.gui.emoticonList.emojione[shortname].fname,src=jsxc.options.root+"/lib/emojione/assets/svg/"+filename+".svg");var div=$("<div>");return div.addClass("jsxc_emoticon"),div.css("background-image","url("+src+")"),div.attr("title",shortname),div.prop("outerHTML")});var obj=$("<div>"+str+"</div>");return 1===obj.find(".jsxc_emoticon").length&&0===obj.text().replace(/ /,"").length&&1===obj.find("*").length&&(obj.find(".jsxc_emoticon").addClass("jsxc_large"),str=obj.prop("outerHTML")),str},restore:function(){jsxc.restoreRoster(),jsxc.restoreWindows(),jsxc.restoreCompleted=!0,$(document).trigger("restoreCompleted.jsxc"),jsxc.changeUIState(jsxc.CONST.UISTATE.READY)}},jsxc.gui.roster={ready:!1,loaded:!1,init:function(){$(jsxc.options.rosterAppend+":first").append($(jsxc.gui.template.get("roster"))),jsxc.options.get("hideOffline")&&($("#jsxc_menu .jsxc_hideOffline").text($.t("Show_offline")),$("#jsxc_buddylist").addClass("jsxc_hideOffline")),$("#jsxc_menu .jsxc_settings").click(function(){jsxc.gui.showSettings()}),$("#jsxc_menu .jsxc_hideOffline").click(function(){var hideOffline=!jsxc.options.get("hideOffline");hideOffline?$("#jsxc_buddylist").addClass("jsxc_hideOffline"):$("#jsxc_buddylist").removeClass("jsxc_hideOffline"),$(this).text(hideOffline?$.t("Show_offline"):$.t("Hide_offline")),jsxc.options.set("hideOffline",hideOffline)}),jsxc.options.get("muteNotification")&&jsxc.notification.muteSound(),$("#jsxc_menu .jsxc_muteNotification").click(function(){if("dnd"!==jsxc.storage.getUserItem("presence")){var mute=!jsxc.options.get("muteNotification");mute?jsxc.notification.muteSound():jsxc.notification.unmuteSound()}}),$("#jsxc_roster .jsxc_addBuddy").click(function(){jsxc.gui.showContactDialog()}),$("#jsxc_roster .jsxc_onlineHelp").click(function(){window.open(jsxc.options.onlineHelp,"onlineHelp")}),$("#jsxc_roster .jsxc_about").click(function(){jsxc.gui.showAboutDialog()}),$("#jsxc_toggleRoster").click(function(){jsxc.gui.roster.toggle()}),$("#jsxc_presence li").click(function(){var self=$(this),pres=self.data("pres");"offline"===pres?jsxc.xmpp.logout(!1):jsxc.gui.changePresence(pres)}),$("#jsxc_buddylist").slimScroll({distance:"3px",height:$("#jsxc_roster").height()-31+"px",width:$("#jsxc_buddylist").width()+"px",color:"#fff",opacity:"0.5"}),$("#jsxc_roster > .jsxc_bottom > div").each(function(){jsxc.gui.toggleList.call($(this))});var rosterState=jsxc.storage.getUserItem("roster")||(jsxc.options.get("loginForm").startMinimized?"hidden":"shown");$("#jsxc_roster").addClass("jsxc_state_"+rosterState),$("#jsxc_windowList").addClass("jsxc_roster_"+rosterState);var pres=jsxc.storage.getUserItem("presence")||"online";$("#jsxc_presence > span").text($("#jsxc_presence .jsxc_"+pres).text()),jsxc.gui.updatePresence("own",pres),jsxc.gui.tooltip("#jsxc_roster"),jsxc.notice.load(),jsxc.gui.roster.ready=!0,$(document).trigger("ready.roster.jsxc")},add:function(bid){var data=jsxc.storage.getUserItem("buddy",bid),bud=jsxc.gui.buddyTemplate.clone().attr("data-bid",bid).attr("data-type",data.type||"chat");$("#jsxc_roster > p").remove(),jsxc.gui.roster.insert(bid,bud),bud.click(function(){jsxc.gui.window.open(bid)}),bud.find(".jsxc_msg").click(function(){return jsxc.gui.window.open(bid),!1}),bud.find(".jsxc_rename").click(function(){return jsxc.gui.roster.rename(bid),!1}),"groupchat"!==data.type&&bud.find(".jsxc_delete").click(function(){return jsxc.gui.showRemoveDialog(bid),!1});var expandClick=function(){return bud.trigger("extra.jsxc"),$("body").click(),bud.find(".jsxc_menu").hasClass("jsxc_open")||(bud.find(".jsxc_menu").addClass("jsxc_open"),$("body").one("click",function(){bud.find(".jsxc_menu").removeClass("jsxc_open")})),!1};bud.find(".jsxc_more").click(expandClick),bud.find(".jsxc_vcard").click(function(){return jsxc.gui.showVcard(data.jid),!1}),jsxc.gui.update(bid),$("#jsxc_buddylist").slimScroll({scrollTo:"0px"});for(var history=jsxc.storage.getUserItem("history",bid)||[],i=0;history.length>i;){var message=new jsxc.Message(history[i]);if(message.direction!==jsxc.Message.SYS){$('[data-bid="'+bid+'"]').find(".jsxc_lastmsg .jsxc_text").html(message.msg);break}i++}$(document).trigger("add.roster.jsxc",[bid,data,bud])},getItem:function(bid){return $("#jsxc_buddylist > li[data-bid='"+bid+"']")},insert:function(bid,li){var data=jsxc.storage.getUserItem("buddy",bid),listElements=$("#jsxc_buddylist > li"),insert=!1;data.name||(data.name=bid);var status="both"===data.sub?data.status:-1;listElements.each(function(){var thisStatus="both"===$(this).data("sub")?$(this).data("status"):-1;if($(this).data("name").toLowerCase()>data.name.toLowerCase()&&thisStatus===status||thisStatus<status)return $(this).before(li),insert=!0,!1}),insert||li.appendTo("#jsxc_buddylist")},reorder:function(bid){jsxc.gui.roster.insert(bid,jsxc.gui.roster.remove(bid))},remove:function(bid){return jsxc.gui.roster.getItem(bid).detach()},purge:function(bid){jsxc.master&&(jsxc.storage.removeUserItem("buddy",bid),jsxc.storage.removeUserItem("otr",bid),jsxc.storage.removeUserItem("otr_version_"+bid),jsxc.storage.removeUserItem("chat",bid),jsxc.storage.removeUserItem("window",bid),jsxc.storage.removeUserElement("buddylist",bid),
+jsxc.storage.removeUserElement("windowlist",bid)),jsxc.gui.window._close(bid),jsxc.gui.roster.remove(bid)},rename:function(bid){var name=jsxc.gui.roster.getItem(bid).find(".jsxc_name"),options=jsxc.gui.roster.getItem(bid).find(".jsxc_lastmsg, .jsxc_more"),input=$('<input type="text" name="name"/>');$("body").click(),options.hide(),name=name.replaceWith(input),input.val(name.text()),input.keypress(function(ev){13===ev.which&&(options.css("display",""),input.replaceWith(name),jsxc.gui.roster._rename(bid,$(this).val()),$("html").off("click"))}),input.click(function(){return!1}),$("html").one("click",function(){options.css("display",""),input.replaceWith(name),jsxc.gui.roster._rename(bid,input.val())})},_rename:function(bid,newname){if(jsxc.master){var d=jsxc.storage.getUserItem("buddy",bid)||{};if("chat"===d.type){var iq=$iq({type:"set"}).c("query",{xmlns:"jabber:iq:roster"}).c("item",{jid:Strophe.getBareJidFromJid(d.jid),name:newname});jsxc.xmpp.conn.sendIQ(iq)}else"groupchat"===d.type&&jsxc.xmpp.bookmarks.add(bid,newname,d.nickname,d.autojoin)}jsxc.storage.updateUserItem("buddy",bid,"name",newname),jsxc.gui.update(bid)},toggle:function(state){var duration,roster=$("#jsxc_roster"),wl=$("#jsxc_windowList");return state||(state=jsxc.storage.getUserItem("roster")===jsxc.CONST.HIDDEN?jsxc.CONST.SHOWN:jsxc.CONST.HIDDEN),"shown"===state&&jsxc.isExtraSmallDevice()&&jsxc.gui.window.hide(),jsxc.storage.setUserItem("roster",state),roster.removeClass("jsxc_state_hidden jsxc_state_shown").addClass("jsxc_state_"+state),wl.removeClass("jsxc_roster_hidden jsxc_roster_shown").addClass("jsxc_roster_"+state),duration=1e3*parseFloat(roster.css("transitionDuration")||0),setTimeout(function(){jsxc.gui.updateWindowListSB()},duration),$(document).trigger("toggle.roster.jsxc",[state,duration]),duration},noConnection:function(){$("#jsxc_roster").addClass("jsxc_noConnection"),$("#jsxc_buddylist").empty(),$("#jsxc_roster").append($("<p>"+$.t("no_connection")+"</p>").append(" <a>"+$.t("relogin")+"</a>").click(function(){jsxc.gui.showLoginBox()}))},empty:function(){var text=$("<p>"+$.t("Your_roster_is_empty_add_")+"</p>"),link=text.find("a");link.click(function(){jsxc.gui.showContactDialog()}),text.append(link),text.append("."),$("#jsxc_roster").prepend(text)}},jsxc.gui.dialog={open:function(data,o){var opt=$.extend({name:""},o),src=$('<div data-name="'+opt.name+'" id="jsxc_dialog" />').append(data);return $.magnificPopup.open({items:{src:src},type:"inline",modal:opt.noClose,callbacks:{beforeClose:function(){$(document).trigger("cleanup.dialog.jsxc")},afterClose:function(){$(document).trigger("close.dialog.jsxc")},open:function(){$("#jsxc_dialog .jsxc_close").click(function(ev){ev.preventDefault(),jsxc.gui.dialog.close()}),$("#jsxc_dialog form").each(function(){var form=$(this);form.find("button[data-jsxc-loading-text]").each(function(){var btn=$(this);btn.on("btnloading.jsxc",function(){btn.prop("disabled")||(btn.prop("disabled",!0),btn.data("jsxc_value",btn.text()),btn.text(btn.attr("data-jsxc-loading-text")))}),btn.on("btnfinished.jsxc",function(){btn.prop("disabled")&&(btn.prop("disabled",!1),btn.text(btn.data("jsxc_value")))})})}),jsxc.gui.dialog.resize(),$(document).trigger("complete.dialog.jsxc")}}}),$("#jsxc_dialog")},close:function(name){jsxc.debug("close dialog"),"string"==typeof name&&name.length>0&&!jsxc.el_exists("#jsxc_dialog[data-name="+name+"]")||$.magnificPopup.close()},resize:function(){}},jsxc.gui.window={init:function(bid){function resizeTextarea(){$(this).data("originalHeight")||$(this).data("originalHeight",$(this).outerHeight()),$(this).outerHeight()<this.scrollHeight-1&&$(this).val()&&$(this).height(1.5*$(this).data("originalHeight"))}if(jsxc.gui.window.get(bid).length>0)return jsxc.gui.window.get(bid);var win=jsxc.gui.windowTemplate.clone().attr("data-bid",bid).appendTo("#jsxc_windowList > ul"),data=jsxc.storage.getUserItem("buddy",bid);win.data("jid",data.jid);var expandClick=function(){return win.trigger("extra.jsxc"),$("body").click(),win.find(".jsxc_menu").hasClass("jsxc_open")||(win.find(".jsxc_menu").addClass("jsxc_open"),$("body").one("click",function(){win.find(".jsxc_menu").removeClass("jsxc_open")})),!1};win.find(".jsxc_more").click(expandClick),win.find(".jsxc_menu").click(function(){$("body").click()}),win.find(".jsxc_verification").click(function(){jsxc.gui.showVerification(bid)}),win.find(".jsxc_fingerprints").click(function(){jsxc.gui.showFingerprints(bid)}),win.find(".jsxc_transfer").click(function(){jsxc.otr.toggleTransfer(bid)}),win.find(".jsxc_bar").click(function(){jsxc.gui.window.toggle(bid)}),win.find(".jsxc_close").click(function(){jsxc.gui.window.close(bid)}),win.find(".jsxc_clear").click(function(){jsxc.gui.window.clear(bid)}),win.find(".jsxc_sendFile").click(function(){$("body").click(),jsxc.gui.window.sendFile(bid)}),win.find(".jsxc_tools").click(function(){return!1});var textinputBlurTimeout;if(win.find(".jsxc_textinput").keyup(function(ev){var body=$(this).val();13!==ev.which&&jsxc.xmpp.chatState.startComposing(bid),13!==ev.which||ev.shiftKey||(body="",jsxc.xmpp.chatState.endComposing(bid)),jsxc.storage.updateUserItem("window",bid,"text",body),27===ev.which&&jsxc.gui.window.close(bid)}).keypress(function(ev){return 13!==ev.which||ev.shiftKey||!$(this).val()?void resizeTextarea.call(this):(jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.OUT,msg:$(this).val()}),$(this).css("height","").val(""),void ev.preventDefault())}).focus(function(){textinputBlurTimeout&&clearTimeout(textinputBlurTimeout),jsxc.gui.readMsg(bid),resizeTextarea.call(this)}).blur(function(){var self=$(this);textinputBlurTimeout=setTimeout(function(){self.css("height","")},1200)}).mouseenter(function(){$("#jsxc_windowList").data("isOver",!0)}).mouseleave(function(){$("#jsxc_windowList").data("isOver",!1)}),win.find(".jsxc_textarea").click(function(){"function"!=typeof getSelection||getSelection().toString()||win.find(".jsxc_textinput").focus()}),win.find(".jsxc_textarea").slimScroll({height:"234px",distance:"3px"}),win.find(".jsxc_name").disableSelection(),win.find(".slimScrollDiv").resizable({handles:"w, nw, n",minHeight:234,minWidth:250,resize:function(event,ui){jsxc.gui.window.resize(win,ui)},start:function(){win.removeClass("jsxc_normal")},stop:function(){win.addClass("jsxc_normal")}}),win.find(".jsxc_window").css("bottom",-1*win.find(".jsxc_fade").height()),$.inArray(bid,jsxc.storage.getUserItem("windowlist"))<0){var wl=jsxc.storage.getUserItem("windowlist")||[];wl.push(bid),jsxc.storage.setUserItem("windowlist",wl),jsxc.storage.setUserItem("window",bid,{minimize:!0,text:"",unread:0}),jsxc.gui.window.hide(bid)}else jsxc.storage.getUserItem("window",bid).unread&&jsxc.gui._unreadMsg(bid);return $.each(jsxc.gui.emotions,function(i,val){var ins=val[0].split(" ")[0],li=$("<li>");li.append(jsxc.gui.shortnameToImage(":"+val[1]+":")),li.find("div").attr("title",ins),li.click(function(){win.find(".jsxc_textinput").val(win.find(".jsxc_textinput").val()+ins),win.find(".jsxc_textinput").focus()}),win.find(".jsxc_emoticons ul").prepend(li)}),jsxc.gui.toggleList.call(win.find(".jsxc_emoticons")),jsxc.gui.window.restoreChat(bid),jsxc.gui.update(bid),jsxc.gui.updateWindowListSB(),jsxc.master&&!jsxc.otr.objects[bid]?jsxc.otr.create(bid):jsxc.otr.enable(bid),$(document).trigger("init.window.jsxc",[win]),win},resize:function(win,ui,outer){var bid;if("object"==typeof win)bid=win.attr("data-bid");else{if("string"!=typeof win)return void jsxc.warn("jsxc.gui.window.resize has to be called either with bid or window object.");bid=win,win=jsxc.gui.window.get(bid)}win.attr("data-default-height")||win.attr("data-default-height",win.find(".ui-resizable").height()),win.attr("data-default-width")||win.attr("data-default-width",win.find(".ui-resizable").width());var outer_height_diff=outer?win.find(".jsxc_window").outerHeight()-win.find(".ui-resizable").height():0;ui=$.extend({size:{width:parseInt(win.attr("data-default-width")),height:parseInt(win.attr("data-default-height"))+outer_height_diff}},ui||{}),outer&&(ui.size.height-=outer_height_diff),win.find(".slimScrollDiv").css({width:ui.size.width,height:ui.size.height}),win.width(ui.size.width),win.find(".jsxc_textarea").slimScroll({height:ui.size.height}),$(document).trigger("resize.window.jsxc",[win,bid,ui.size])},fullsize:function(bid){var win=jsxc.gui.window.get(bid),size=jsxc.options.viewport.getSize();size.width-=10,size.height-=win.find(".jsxc_bar").outerHeight()+win.find(".jsxc_textinput").outerHeight(),jsxc.gui.window.resize(win,{size:size})},get:function(id){return $("li.jsxc_windowItem[data-bid='"+jsxc.jidToBid(id)+"']")},open:function(bid){var win=jsxc.gui.window.init(bid);return jsxc.gui.window.show(bid),jsxc.gui.window.highlight(bid),win},close:function(bid){return 0===jsxc.gui.window.get(bid).length?void jsxc.warn("Want to close a window, that is not open."):(jsxc.storage.removeUserElement("windowlist",bid),jsxc.storage.removeUserItem("window",bid),jsxc.storage.getUserItem("buddylist").indexOf(bid)<0&&(jsxc.storage.removeUserItem("buddy",bid),jsxc.storage.removeUserItem("chat",bid)),void jsxc.gui.window._close(bid))},_close:function(bid){jsxc.gui.window.get(bid).remove(),jsxc.gui.updateWindowListSB()},toggle:function(bid){var win=jsxc.gui.window.get(bid);0!==win.parents("#jsxc_windowList").length&&(win.hasClass("jsxc_min")?jsxc.gui.window.show(bid):jsxc.gui.window.hide(bid),jsxc.gui.updateWindowListSB())},show:function(bid){return jsxc.storage.updateUserItem("window",bid,"minimize",!1),jsxc.gui.window._show(bid)},_show:function(bid){var win=jsxc.gui.window.get(bid),duration=0;jsxc.isExtraSmallDevice()&&(parseFloat($("#jsxc_roster").css("right"))>=0&&(duration=jsxc.gui.roster.toggle()),jsxc.gui.window.hide(),jsxc.gui.window.fullsize(bid)),win.removeClass("jsxc_min").addClass("jsxc_normal"),win.find(".jsxc_window").css("bottom","0"),setTimeout(function(){var padding=$("#jsxc_windowListSB").width(),innerWidth=$("#jsxc_windowList>ul").width(),outerWidth=$("#jsxc_windowList").width()-padding;if(innerWidth>outerWidth){var offset=parseInt($("#jsxc_windowList>ul").css("right")),width=win.outerWidth(!0),right=innerWidth-win.position().left-width+offset,left=outerWidth-(innerWidth-win.position().left)-offset;left<0&&jsxc.gui.scrollWindowListBy(left*-1),right<0&&jsxc.gui.scrollWindowListBy(right)}},duration),jsxc.gui.window.scrollDown(bid),jsxc.restoreCompleted&&win.find(".jsxc_textinput").focus(),win.trigger("show.window.jsxc")},hide:function(bid){var hide=function(bid){jsxc.storage.updateUserItem("window",bid,"minimize",!0),jsxc.gui.window._hide(bid)};bid?hide(bid):$("#jsxc_windowList > ul > li").each(function(){var el=$(this);el.hasClass("jsxc_min")||hide(el.attr("data-bid"))})},_hide:function(bid){var win=jsxc.gui.window.get(bid);win.removeClass("jsxc_normal").addClass("jsxc_min"),win.find(".jsxc_window").css("bottom",-1*win.find(".jsxc_fade").height()),win.trigger("hidden.window.jsxc")},highlight:function(bid){var el=jsxc.gui.window.get(bid).find(" .jsxc_bar");el.is(":animated")||el.effect("highlight",{color:"orange"},2e3)},scrollDown:function(bid){var chat=jsxc.gui.window.get(bid).find(".jsxc_textarea");0!==chat.length&&chat.slimScroll({scrollTo:chat.get(0).scrollHeight+"px"})},postMessage:function(message){"object"!=typeof message||message instanceof jsxc.Message||(message=new jsxc.Message(message));var data=jsxc.storage.getUserItem("buddy",message.bid);!message.htmlMsg&&message.msg&&(message.htmlMsg=message.msg),message.msg=jsxc.removeHTML(message.msg),message.msg=jsxc.escapeHTML(message.msg),message.direction===jsxc.Message.OUT&&data.msgstate===OTR.CONST.MSGSTATE_FINISHED&&message.forwarded!==!0&&(message.direction=jsxc.Message.SYS,message.msg=$.t("your_message_wasnt_send_please_end_your_private_conversation")),message.direction===jsxc.Message.OUT&&data.msgstate===OTR.CONST.MSGSTATE_FINISHED&&(message.direction="sys",message.msg=$.t("unencrypted_message_received")+" "+message.msg),message.encrypted="boolean"==typeof message.encrypted?message.encrypted:data.msgstate===OTR.CONST.MSGSTATE_ENCRYPTED;try{message.save()}catch(err){jsxc.warn("Unable to save message.",err),message=new jsxc.Message({msg:"Unable to save that message. Please clear some chat histories.",direction:jsxc.Message.SYS})}return"in"!==message.direction||jsxc.gui.window.get(message.bid).find(".jsxc_textinput").is(":focus")||(jsxc.gui.unreadMsg(message.bid),$(document).trigger("postmessagein.jsxc",[message.bid,message.htmlMsg])),message.direction===jsxc.Message.OUT&&jsxc.master&&message.forwarded!==!0&&message.htmlMsg&&jsxc.xmpp.sendMessage(message),jsxc.gui.window._postMessage(message),"out"===message.direction&&"?"===message.msg&&jsxc.options.get("theAnswerToAnything")!==!1&&("undefined"==typeof jsxc.options.get("theAnswerToAnything")||100*Math.random()%42<1)&&(jsxc.options.set("theAnswerToAnything",!0),jsxc.gui.window.postMessage(new jsxc.Message({bid:message.bid,direction:jsxc.Message.SYS,msg:"42"}))),message},_postMessage:function(message,restore){var bid=message.bid,win=jsxc.gui.window.get(bid),msg=message.msg,direction=message.direction,uid=message._uid;win.find(".jsxc_textinput").is(":not(:focus)")&&direction===jsxc.Message.IN&&!restore&&jsxc.gui.window.highlight(bid),msg=msg.replace(jsxc.CONST.REGEX.URL,function(url){var href=url.match(/^https?:\/\//i)?url:"http://"+url;return'<a href="'+href+'" target="_blank">'+url+"</a>"}),msg=msg.replace(new RegExp("(xmpp:)?("+jsxc.CONST.REGEX.JID.source+")(\\?[^\\s]+\\b)?","i"),function(match,protocol,jid,action){return"xmpp:"===protocol?("string"==typeof action&&(jid+=action),'<a href="xmpp:'+jid+'">xmpp:'+jid+"</a>"):'<a href="mailto:'+jid+'" target="_blank">mailto:'+jid+"</a>"}),$.each(jsxc.gui.emotions,function(i,val){msg=msg.replace(val[2],":"+val[1]+":")}),msg=jsxc.gui.shortnameToImage(msg),msg=msg.replace(/(\r\n|\r|\n)/g,"<br />");var bidData=jsxc.storage.getUserItem("buddy",bid)||{};"in"===direction&&(msg=msg.replace(/^\/me /,'<i title="/me">'+jsxc.removeHTML(bidData.name||bid)+"</i> ")),msg.match(/^\?OTR([:,|?]|[?v0-9x]+)/)&&(msg='<i title="'+msg+'">'+$.t("Unreadable_OTR_message")+"</i>");var msgDiv=$("<div>"),msgTsDiv=$("<div>");if(msgDiv.addClass("jsxc_chatmessage jsxc_"+direction),msgDiv.attr("id",uid.replace(/:/g,"-")),msgDiv.html("<div>"+msg+"</div>"),msgTsDiv.addClass("jsxc_timestamp"),msgTsDiv.text(jsxc.getFormattedTime(message.stamp)),message.isReceived()?msgDiv.addClass("jsxc_received"):msgDiv.removeClass("jsxc_received"),message.forwarded?msgDiv.addClass("jsxc_forwarded"):msgDiv.removeClass("jsxc_forwarded"),message.encrypted?msgDiv.addClass("jsxc_encrypted"):msgDiv.removeClass("jsxc_encrypted"),message.error?msgDiv.addClass("jsxc_error"):msgDiv.removeClass("jsxc_error"),msgDiv.attr("title",message.error),message.attachment&&message.attachment.name){var attachment=$("<div>");attachment.addClass("jsxc_attachment"),attachment.addClass("jsxc_"+message.attachment.type.replace(/\//,"-")),attachment.addClass("jsxc_"+message.attachment.type.replace(/^([^\/]+)\/.*/,"$1")),message.attachment.persistent===!1&&attachment.addClass("jsxc_notPersistent"),message.attachment.data&&attachment.addClass("jsxc_data"),message.attachment.type.match(/^image\//)&&message.attachment.thumbnail?$('<img alt="preview">').attr("src",message.attachment.thumbnail).attr("title",message.attachment.name).appendTo(attachment):attachment.text(message.attachment.name),message.attachment.data&&(attachment=$("<a>").append(attachment),attachment.attr("href",message.attachment.data),attachment.attr("download",message.attachment.name),message.attachment.data===message.msg&&msgDiv.find("div").first().empty()),msgDiv.find("div").first().append(attachment)}"sys"===direction?jsxc.gui.window.get(bid).find(".jsxc_textarea").append('<div class="jsxc_clear"/>'):"undefined"!=typeof message.stamp&&msgDiv.append(msgTsDiv),"sys"!==direction&&$('[data-bid="'+bid+'"]').find(".jsxc_lastmsg .jsxc_text").html(msg);var currentMessageElement=jsxc.Message.getDOM(uid);if(currentMessageElement.length>0?(currentMessageElement.attr("data-queryId")&&msgDiv.attr("data-queryId",currentMessageElement.attr("data-queryId")),currentMessageElement.replaceWith(msgDiv)):win.find(".jsxc_textarea").append(msgDiv),"object"==typeof message.sender&&null!==message.sender){var title="",avatarDiv=$("<div>");if(avatarDiv.addClass("jsxc_avatar").prependTo(msgDiv),"string"==typeof message.sender.jid){msgDiv.attr("data-bid",jsxc.jidToBid(message.sender.jid));var data=jsxc.storage.getUserItem("buddy",jsxc.jidToBid(message.sender.jid))||{};jsxc.gui.avatar.update(msgDiv,jsxc.jidToBid(message.sender.jid),data.avatar),title=jsxc.jidToBid(message.sender.jid)}"string"==typeof message.sender.name&&(msgDiv.attr("data-name",message.sender.name),"string"!=typeof message.sender.jid&&jsxc.gui.avatarPlaceholder(avatarDiv,message.sender.name),""!==title&&(title="\n"+title),title=message.sender.name+title,msgTsDiv.text(msgTsDiv.text()+" "+message.sender.name)),avatarDiv.attr("title",jsxc.escapeHTML(title)),msgDiv.prev().length>0&&msgDiv.prev().find(".jsxc_avatar").attr("title")===avatarDiv.attr("title")&&avatarDiv.css("visibility","hidden")}jsxc.gui.detectUriScheme(win),jsxc.gui.detectEmail(win),message.forwarded||jsxc.gui.window.scrollDown(bid)},setText:function(bid,text){jsxc.gui.window.get(bid).find(".jsxc_textinput").val(text)},restoreChat:function(bid){var chat=jsxc.storage.getUserItem("chat",bid);if(chat){for(;null!==chat&&chat.length>0;){var c=chat.pop();c.bid=bid,c._uid=c.uid,delete c.uid;var message=new jsxc.Message(c);message.save(),jsxc.gui.window._postMessage(message,!0)}jsxc.storage.removeUserItem("chat",bid)}for(var history=jsxc.storage.getUserItem("history",bid);null!==history&&history.length>0;){var uid=history.pop();jsxc.gui.window._postMessage(new jsxc.Message(uid),!0)}},clear:function(bid){jsxc.storage.removeUserItem("chat",bid);var history=jsxc.storage.getUserItem("history",bid)||[];history.map(function(id){jsxc.storage.removeUserItem("msg",id)}),jsxc.storage.setUserItem("history",bid,[]);var buddyData=jsxc.storage.getUserItem("buddy",bid)||{};delete buddyData.lastArchiveUid,delete buddyData.archiveExhausted,jsxc.storage.setUserItem("buddy",bid,buddyData);var win=jsxc.gui.window.get(bid);win.length>0&&(win.find(".jsxc_textarea").empty(),win.find(".jsxc_textarea").scroll())},receivedMessage:function(bid,uid){jsxc.warn("Using deprecated receivedMessage.");var message=new jsxc.Message(uid);message.received()},updateProgress:function(message,sent,size){var div=message.getDOM(),span=div.find(".jsxc_timestamp span");0===span.length&&(div.find(".jsxc_timestamp").append("<span>"),span=div.find(".jsxc_timestamp span")),span.text(" "+Math.round(sent/size*100)+"%"),sent===size&&span.remove()},showOverlay:function(bid,content,allowClose){var win=jsxc.gui.window.get(bid);win.find(".jsxc_overlay .jsxc_body").empty().append(content),win.find(".jsxc_overlay .jsxc_close").off("click").click(function(){jsxc.gui.window.hideOverlay(bid)}),allowClose!==!0?win.find(".jsxc_overlay .jsxc_close").hide():win.find(".jsxc_overlay .jsxc_close").show(),win.addClass("jsxc_showOverlay")},hideOverlay:function(bid){var win=jsxc.gui.window.get(bid);win.removeClass("jsxc_showOverlay")},selectResource:function(bid,text,cb,res){if(res=res||jsxc.storage.getUserItem("res",bid)||[],cb=cb||function(){},res.length>0){var i,li,content=$("<div>"),list=$("<ul>");for(i=0;i<res.length;i++)li=$("<li>"),li.append($("<a>").text(res[i])),li.appendTo(list);list.find("a").click(function(ev){ev.preventDefault(),jsxc.gui.window.hideOverlay(bid),cb({status:"selected",result:$(this).text()})}),text&&$("<p>").text(text).appendTo(content),list.appendTo(content),jsxc.gui.window.showOverlay(bid,content)}else cb({status:"unavailable"})},smpRequest:function(bid,question){var content=$("<div>"),p=$("<p>");p.text($.t("smpRequestReceived")),p.appendTo(content);var abort=$("<button>");abort.text($.t("Abort")),abort.click(function(){jsxc.gui.window.hideOverlay(bid),jsxc.storage.removeUserItem("smp",bid),jsxc.master&&jsxc.otr.objects[bid]&&jsxc.otr.objects[bid].sm.abort()}),abort.appendTo(content);var verify=$("<button>");verify.text($.t("Verify")),verify.addClass("jsxc_btn jsxc_btn-primary"),verify.click(function(){jsxc.gui.window.hideOverlay(bid),jsxc.otr.onSmpQuestion(bid,question)}),verify.appendTo(content),jsxc.gui.window.showOverlay(bid,content)},sendFile:function(jid){jsxc.fileTransfer.startGuiAction(jid)}},jsxc.gui.template={},jsxc.gui.template.get=function(name,bid,msg){var ph={my_priv_fingerprint:jsxc.storage.getUserItem("priv_fingerprint")?jsxc.storage.getUserItem("priv_fingerprint").replace(/(.{8})/g,"$1 "):$.t("not_available"),my_jid:jsxc.storage.getItem("jid")||"",my_node:Strophe.getNodeFromJid(jsxc.storage.getItem("jid")||"")||"",root:jsxc.options.root,app_name:jsxc.options.app_name,version:jsxc.version};if(bid){var data=jsxc.storage.getUserItem("buddy",bid);$.extend(ph,{bid_priv_fingerprint:data&&data.fingerprint?data.fingerprint.replace(/(.{8})/g,"$1 "):$.t("not_available"),bid_jid:bid,bid_name:data&&data.name?jsxc.escapeHTML(data.name):bid})}msg&&$.extend(ph,{msg:msg});var ret=jsxc.gui.template[name];return"string"==typeof ret?(ret=ret.replace(/\{\{root\}\}/g,ph.root),ret=$("<div>"+ret+"</div>"),ret.find("[data-var]").each(function(){var key=$(this).attr("data-var"),val="string"==typeof ph[key]?ph[key]:"(Unknown placeholder: "+key+")";"INPUT"===$(this).prop("tagName").toUpperCase()?$(this).val(val):$(this).text(val)}),ret=ret.find(">*"),ret.localize(ph),ret):(jsxc.debug("Template not available: "+name),name)},jsxc.fileTransfer={},jsxc.fileTransfer.formatByte=function(byte){var i,s=["","KB","MB","GB","TB"];for(i=1;i<s.length&&!(byte<1024);i++)byte/=1024;return Math.round(10*byte)/10+s[i-1]},jsxc.fileTransfer.startGuiAction=function(jid){var bid=jsxc.jidToBid(jid),res=Strophe.getResourceFromJid(jid);return res||jsxc.xmpp.httpUpload.ready?void jsxc.fileTransfer.showFileSelection(jid):void jsxc.fileTransfer.selectResource(bid,jsxc.fileTransfer.startGuiAction)},jsxc.fileTransfer.selectResource=function(bid,success_cb,error_cb){var win=jsxc.gui.window.get(bid),jid=win.data("jid"),res=Strophe.getResourceFromJid(jid),fileCapableRes=jsxc.webrtc.getCapableRes(jid,jsxc.webrtc.reqFileFeatures),resources=Object.keys(jsxc.storage.getUserItem("res",bid))||[];null===res&&1===resources.length&&1===fileCapableRes.length?(res=fileCapableRes[0],jid=bid+"/"+res,success_cb(jid)):fileCapableRes.indexOf(res)>=0?success_cb(bid+"/"+res):fileCapableRes.indexOf(res)<0&&jsxc.gui.window.selectResource(bid,$.t("Your_contact_uses_multiple_clients_"),function(data){"unavailable"===data.status?(jsxc.gui.window.hideOverlay(bid),"function"==typeof error_cb&&error_cb()):"selected"===data.status&&success_cb(bid+"/"+data.result)},fileCapableRes)},jsxc.fileTransfer.showFileSelection=function(jid){var bid=jsxc.jidToBid(jid),msg=$('<div><div><label><input type="file" name="files" /><label></div></div>');msg.addClass("jsxc_chatmessage"),jsxc.gui.window.showOverlay(bid,msg,!0),msg.find("label").click(),msg.find('[type="file"]').change(function(ev){var file=ev.target.files[0];file&&jsxc.fileTransfer.fileSelected(jid,msg,file)})},jsxc.fileTransfer.fileSelected=function(jid,msg,file){var bid=jsxc.jidToBid(jid),maxSize=jsxc.options.get("httpUpload").maxSize;if("webrtc"!==file.transportMethod&&jsxc.xmpp.httpUpload.ready&&maxSize>=0&&file.size>maxSize)return jsxc.debug("File too large for http upload."),file.transportMethod="webrtc",void jsxc.fileTransfer.selectResource(bid,function(jid){jsxc.fileTransfer.fileSelected(jid,msg,file)},function(){var maxSize=jsxc.fileTransfer.formatByte(jsxc.options.get("httpUpload").maxSize),fileSize=jsxc.fileTransfer.formatByte(file.size);jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("File_too_large")+" ("+fileSize+" > "+maxSize+")"}),jsxc.gui.window.hideOverlay(bid)});!jsxc.xmpp.httpUpload.ready&&Strophe.getResourceFromJid(jid)&&(file.transportMethod="webrtc");var attachment=$("<div>");if(attachment.addClass("jsxc_attachment"),attachment.addClass("jsxc_"+file.type.replace(/\//,"-")),attachment.addClass("jsxc_"+file.type.replace(/^([^\/]+)\/.*/,"$1")),msg.empty().append(attachment),FileReader&&file.type.match(/^image\//)){var img=$('<img alt="preview">').attr("title",file.name);img.attr("src",jsxc.options.get("root")+"/img/loading.gif"),img.appendTo(attachment);var reader=new FileReader;reader.onload=function(){img.attr("src",reader.result)},reader.readAsDataURL(file)}else attachment.text(file.name+" ("+file.size+" byte)");$("<button>").addClass("jsxc_btn jsxc_btn-primary").text($.t("Send")).click(function(){jsxc.gui.window.hideOverlay(bid),msg.remove();var message=jsxc.gui.window.postMessage({bid:bid,direction:"out",attachment:{name:file.name,size:file.size,type:file.type,data:file.type.match(/^image\//)?img.attr("src"):null}});if("webrtc"===file.transportMethod){var sess=jsxc.webrtc.sendFile(jid,file);sess.sender.on("progress",function(sent,size){jsxc.gui.window.updateProgress(message,sent,size),sent===size&&message.received()})}else jsxc.xmpp.httpUpload.sendFile(file,message)}).appendTo(msg),$("<button>").addClass("jsxc_btn jsxc_btn-default").text($.t("Abort")).click(function(){jsxc.gui.window.hideOverlay(bid)}).appendTo(msg)},jsxc.fileTransfer.updateIcons=function(bid){var win=jsxc.gui.window.get(bid);if(win&&0!==win.length&&jsxc.xmpp.conn){if(jsxc.debug("Update file transfer icons for "+bid),jsxc.xmpp.httpUpload.ready)return void win.find(".jsxc_sendFile").removeClass("jsxc_disabled");var jid=win.data("jid"),res=Strophe.getResourceFromJid(jid),fileCapableRes=jsxc.webrtc.getCapableRes(bid,jsxc.webrtc.reqFileFeatures),resources=Object.keys(jsxc.storage.getUserItem("res",bid)||{})||[];fileCapableRes.indexOf(res)>-1||null===res&&1===fileCapableRes.length&&1===resources.length?win.find(".jsxc_sendFile").removeClass("jsxc_disabled"):win.find(".jsxc_sendFile").addClass("jsxc_disabled")}},$(document).on("update.gui.jsxc",function(ev,bid){jsxc.fileTransfer.updateIcons(bid)}),jsxc.gui.avatar={queue:[],PLACEHOLDER:0,DELAY:300,CHUNKSIZE:20,timeout:null,lastRun:0},jsxc.gui.avatar.update=function(el,jid,aid){var self=jsxc.gui.avatar;if("undefined"==typeof aid)return void self.set(jid,el,self.PLACEHOLDER);var avatarSrc=jsxc.storage.getUserItem("avatar",aid);if(jsxc.master||avatarSrc||(avatarSrc=self.PLACEHOLDER),null!==avatarSrc)self.set(jid,el,avatarSrc);else{var handler_cb=function(stanza){var src=jsxc.gui.avatar.getPhotoFromVcard(stanza);jsxc.storage.setUserItem("avatar",aid,src),self.set(jid,el,src)},error_cb=function(msg){jsxc.warn("Could not load vcard.",msg),jsxc.storage.setUserItem("avatar",aid,self.PLACEHOLDER),self.set(jid,el,self.PLACEHOLDER)},args=[];args=Strophe.getBareJidFromJid(jid)===Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid)?[handler_cb,error_cb]:[handler_cb,Strophe.getBareJidFromJid(jid),error_cb],jsxc.gui.avatar.queueAction(jid,jsxc.xmpp.conn.vcard.get,args,jsxc.xmpp.conn.vcard)}},jsxc.gui.avatar.getPhotoFromVcard=function(stanza){jsxc.debug("vCard",stanza);var src,vCard=$(stanza).find("vCard > PHOTO");if(0===vCard.length)jsxc.debug("No photo provided"),src="0";else if(vCard.find("EXTVAL").length>0)src=vCard.find("EXTVAL").text();else{var img=vCard.find("BINVAL").text(),type=vCard.find("TYPE").text();src="data:"+type+";base64,"+img}return src=src.replace(/[\t\r\n\f]/gi,"")},jsxc.gui.avatar.set=function(jid,el,src){var self=jsxc.gui.avatar;return src===self.PLACEHOLDER||"0"===src?"function"==typeof jsxc.options.defaultAvatar?void jsxc.gui.avatar.queueAction(jid,function(){jsxc.options.defaultAvatar.call(el,jid)}):void jsxc.gui.avatarPlaceholder(el.find(".jsxc_avatar"),jid):(el.find(".jsxc_avatar").removeAttr("style"),void el.find(".jsxc_avatar").css({"background-image":"url("+src+")","text-indent":"999px"}))},jsxc.gui.avatar.queueAction=function(jid,fn,args,context){var self=jsxc.gui.avatar,bid=jsxc.jidToBid(jid),data=jsxc.storage.getUserItem("buddy",bid)||{},state=data.status,index=self.queue.indexOf(bid);index>-1&&self.queue.splice(index,1);var action={fn:fn,args:args||[],context:context||this};0===state?self.queue.push(action):self.queue.unshift(action),jsxc.gui.avatar.processQueue()},jsxc.gui.avatar.processQueue=function(){var self=jsxc.gui.avatar,currentTime=(new Date).getTime();if(currentTime-self.lastRun<self.DELAY)return void(self.timeout||(self.timeout=setTimeout(self.processQueue,self.DELAY)));self.lastRun=currentTime;var i,action;for(i=0;i<self.CHUNKSIZE;i++)self.queue.length>0&&(action=self.queue.shift(),action.fn.apply(action.context,action.args));self.queue.length>0?self.timeout=setTimeout(self.processQueue,self.DELAY):self.timeout=null},jsxc.Message=function(){this._uid=null,this._received=!1,this.encrypted=null,this.forwarded=!1,this.stamp=(new Date).getTime(),this.type=jsxc.Message.PLAIN,"string"==typeof arguments[0]&&arguments[0].length>0&&1===arguments.length?(this._uid=arguments[0],this.load(this._uid)):"object"==typeof arguments[0]&&null!==arguments[0]&&$.extend(this,arguments[0]),this._uid||(this._uid=(new Date).getTime()+":msg")},jsxc.Message.prototype.load=function(uid){var data=jsxc.storage.getUserItem("msg",uid);data||jsxc.debug("Could not load message with uid "+uid),$.extend(this,data)},jsxc.Message.prototype.save=function(){var history;if(this.bid&&(history=jsxc.storage.getUserItem("history",this.bid)||[],history.indexOf(this._uid)<0?history.length>jsxc.options.get("numberOfMsg")&&jsxc.Message.delete(history.pop()):history=null),Image&&this.attachment&&this.attachment.type.match(/^image\//i)&&this.attachment.data&&!this.attachment.thumbnail){var sHeight,sWidth,sx,sy,dHeight=100,dWidth=100,canvas=$("<canvas>").get(0);canvas.width=dWidth,canvas.height=dHeight;var ctx=canvas.getContext("2d"),img=new Image;img.src=this.attachment.data,img.height>img.width?(sHeight=img.width,sWidth=img.width,sx=0,sy=(img.height-img.width)/2):(sHeight=img.height,sWidth=img.height,sx=(img.width-img.height)/2,sy=0),ctx.drawImage(img,sx,sy,sWidth,sHeight,0,0,dWidth,dHeight),this.attachment.thumbnail=canvas.toDataURL(),"out"===this.direction&&(this.attachment.data=null)}var data;return this.attachment&&this.attachment.size>jsxc.options.maxStorableSize&&"in"===this.direction&&(jsxc.debug("Attachment to large to store"),data=this.attachment.data,this.attachment.data=null,this.attachment.persistent=!1),jsxc.storage.setUserItem("msg",this._uid,this),history&&(history.unshift(this._uid),jsxc.storage.setUserItem("history",this.bid,history)),data&&this.attachment&&(this.attachment.data=data),this},jsxc.Message.prototype.delete=function(){jsxc.Message.delete(this._uid)},jsxc.Message.prototype.getDOM=function(){return jsxc.Message.getDOM(this._uid)},jsxc.Message.prototype.received=function(){this._received=!0,this.save(),this.getDOM().addClass("jsxc_received")},jsxc.Message.prototype.isReceived=function(){return this._received},jsxc.Message.delete=function(uid){var data=jsxc.storage.getUserItem("msg",uid);if(data&&(jsxc.storage.removeUserItem("msg",uid),data.bid)){var history=jsxc.storage.getUserItem("history",data.bid)||[];history=$.grep(history,function(el){return el!==uid}),jsxc.storage.setUserItem("history",data.bid,history)}},jsxc.Message.getDOM=function(uid){return $("#"+uid.replace(/:/g,"-"))},jsxc.Message.IN="in",jsxc.Message.OUT="out",jsxc.Message.SYS="sys",jsxc.Message.HTML="html",jsxc.Message.PLAIN="plain",jsxc.muc={conn:null,CONST:{AFFILIATION:{ADMIN:"admin",MEMBER:"member",OUTCAST:"outcast",OWNER:"owner",NONE:"none"},ROLE:{MODERATOR:"moderator",PARTICIPANT:"participant",VISITOR:"visitor",NONE:"none"},ROOMSTATE:{INIT:0,ENTERED:1,EXITED:2,AWAIT_DESTRUCTION:3,DESTROYED:4},ROOMCONFIG:{INSTANT:"instant"}},init:function(o){var self=jsxc.muc;self.conn=jsxc.xmpp.conn;var options=o||jsxc.options.get("muc");return options&&"string"==typeof options.server?(jsxc.gui.roster.ready?self.initMenu():$(document).one("ready.roster.jsxc",jsxc.muc.initMenu),$(document).off("presence.jsxc",jsxc.muc.onPresence),$(document).off("error.presence.jsxc",jsxc.muc.onPresenceError),
+$(document).on("presence.jsxc",jsxc.muc.onPresence),$(document).on("error.presence.jsxc",jsxc.muc.onPresenceError),self.conn.addHandler(self.onGroupchatMessage,null,"message","groupchat"),self.conn.addHandler(self.onErrorMessage,null,"message","error"),void(self.conn.muc.roomNames=jsxc.storage.getUserItem("roomNames")||[])):(jsxc.debug("Discover muc service"),void setTimeout(function(){self.conn.disco.items(Strophe.getDomainFromJid(self.conn.jid),null,function(items){$(items).find("item").each(function(){var jid=$(this).attr("jid"),discovered=!1;return self.conn.disco.info(jid,null,function(info){var mucFeature=$(info).find('feature[var="'+Strophe.NS.MUC+'"]'),mucIdentity=$(info).find('identity[category="conference"][type="text"]');mucFeature.length>0&&mucIdentity.length>0&&(jsxc.debug("muc service found",jid),jsxc.options.set("muc",{server:jid,name:$(info).find("identity").attr("name")}),discovered=!0,self.init())}),!discovered})})},1e3))},initMenu:function(){var li=$("<li>").attr("class","jsxc_joinChat jsxc_groupcontacticon").text($.t("Join_chat"));li.click(jsxc.muc.showJoinChat),0===$("#jsxc_menu .jsxc_joinChat").length&&$("#jsxc_menu ul .jsxc_about").before(li)},showJoinChat:function(r,p){function loadRoomList(server){return server?void self.conn.muc.listRooms(server,function(stanza){$("#jsxc_roomlist option:last").remove(),$(stanza).find("item").each(function(){var r=$("<option>"),rjid=$(this).attr("jid").toLowerCase(),rnode=Strophe.getNodeFromJid(rjid),rname=$(this).attr("name")||rnode;r.text(rname),r.attr("data-jid",rjid),r.attr("value",rnode),$("#jsxc_roomlist select").append(r)});var set=$(stanza).find('set[xmlns="http://jabber.org/protocol/rsm"]');if(set.length>0){var count=set.find("count").text()||"?";dialog.find(".jsxc_inputinfo").show().removeClass("jsxc_waiting").text($.t("Could_load_only",{count:count}))}else dialog.find(".jsxc_inputinfo").hide()},function(stanza){var errTextMsg=$(stanza).find("error text").text()||null;jsxc.warn("Could not load rooms",errTextMsg),errTextMsg&&dialog.find(".jsxc_inputinfo.jsxc_server").show().text(errTextMsg),$(stanza).find("error remote-server-not-found")&&dialog.find("#jsxc_server").addClass("jsxc_invalid"),dialog.find(".jsxc_inputinfo.jsxc_room").hide()}):void dialog.find(".jsxc_inputinfo").hide()}var self=jsxc.muc,dialog=jsxc.gui.dialog.open(jsxc.gui.template.get("joinChat"));dialog.find(".jsxc_join").hide(),"string"==typeof r&&dialog.find("#jsxc_room").val(r),"string"==typeof p&&dialog.find("#jsxc_password").val(p);var serverInputTimeout;dialog.find("#jsxc_server").val(jsxc.options.get("muc").server),dialog.find("#jsxc_server").on("input",function(){var self=$(this);serverInputTimeout&&(clearTimeout(serverInputTimeout),dialog.find(".jsxc_inputinfo.jsxc_room").hide()),dialog.find(".jsxc_inputinfo.jsxc_server").hide().text(""),dialog.find("#jsxc_server").removeClass("jsxc_invalid"),self.val()&&self.val().match(/^[.-0-9a-zA-Z]+$/i)&&(dialog.find(".jsxc_inputinfo.jsxc_room").show().addClass("jsxc_waiting"),serverInputTimeout=setTimeout(function(){loadRoomList(self.val())},1800))}).trigger("input");var error_handler=function(event,condition,room){var msg;switch(condition){case"not-authorized":msg=$.t("A_password_is_required");break;case"registration-required":msg=$.t("You_are_not_on_the_member_list");break;case"forbidden":msg=$.t("You_are_banned_from_this_room");break;case"conflict":msg=$.t("Your_desired_nickname_");break;case"service-unavailable":msg=$.t("The_maximum_number_");break;case"item-not-found":msg=$.t("This_room_is_locked_");break;case"not-allowed":msg=$.t("You_are_not_allowed_to_create_");break;default:jsxc.warn("Unknown muc error condition: "+condition),msg=$.t("Error")+": "+condition}var roomIndex=self.conn.muc.roomNames.indexOf(room);roomIndex>-1&&(self.conn.muc.roomNames.splice(roomIndex,1),delete self.conn.muc.rooms[room]),$("<p>").addClass("jsxc_warning").text(msg).appendTo(dialog.find(".jsxc_msg"))};$(document).on("error.muc.jsxc",error_handler),$(document).on("close.dialog.jsxc",function(){$(document).off("error.muc.jsxc",error_handler)}),dialog.find("#jsxc_nickname").attr("placeholder",Strophe.getNodeFromJid(self.conn.jid)),dialog.find("#jsxc_bookmark").change(function(){$(this).prop("checked")?($("#jsxc_autojoin").prop("disabled",!1),$("#jsxc_autojoin").parent(".checkbox").removeClass("disabled")):($("#jsxc_autojoin").prop("disabled",!0).prop("checked",!1),$("#jsxc_autojoin").parent(".checkbox").addClass("disabled"))}),dialog.find(".jsxc_continue").click(function(ev){ev.preventDefault();var room=$("#jsxc_room").val()?jsxc.jidToBid($("#jsxc_room").val()):null,nickname=$("#jsxc_nickname").val()||Strophe.getNodeFromJid(self.conn.jid),server=dialog.find("#jsxc_server").val();if(!room||!room.match(/^[^"&\'\/:<>@\s]+$/i))return $("#jsxc_room").addClass("jsxc_invalid").keyup(function(){$(this).val()&&$(this).removeClass("jsxc_invalid")}),!1;if(dialog.find("#jsxc_server").hasClass("jsxc_invalid"))return!1;if(room.match(/@(.*)$/)||(room+="@"+server),jsxc.xmpp.conn.muc.roomNames.indexOf(room)<0){var discoReceived=function(roomName,subject){jsxc.gui.dialog.resize(),dialog.find(".jsxc_continue").hide(),dialog.find(".jsxc_join").show().effect("highlight",{color:"green"},4e3),dialog.find(".jsxc_join").click(function(ev){ev.preventDefault();var bookmark=$("#jsxc_bookmark").prop("checked"),autojoin=$("#jsxc_autojoin").prop("checked"),password=$("#jsxc_password").val()||null;return jsxc.gui.window.clear(room),jsxc.storage.setUserItem("member",room,{}),self.join(room,nickname,password,roomName,subject,bookmark,autojoin),!1})};dialog.find(".jsxc_msg").append($("<p>").text($.t("Loading_room_information")).addClass("jsxc_waiting")),jsxc.gui.dialog.resize(),self.conn.disco.info(room,null,function(stanza){dialog.find(".jsxc_msg").html("<p>"+$.t("This_room_is")+"</p>");var table=$("<table>");$(stanza).find("feature").each(function(){var feature=$(this).attr("var");if(""!==feature&&i18next.exists(feature)){var tr=$("<tr>");$("<td>").text($.t(feature+".keyword")).appendTo(tr),$("<td>").text($.t(feature+".description")).appendTo(tr),tr.appendTo(table)}"muc_passwordprotected"===feature&&(dialog.find("#jsxc_password").parents(".form-group").removeClass("jsxc_hidden"),dialog.find("#jsxc_password").attr("required","required"),dialog.find("#jsxc_password").addClass("jsxc_invalid"))}),dialog.find(".jsxc_msg").append(table);var roomName=$(stanza).find("identity").attr("name"),subject=$(stanza).find('field[var="muc#roominfo_subject"]').attr("label");discoReceived(roomName,subject)},function(){dialog.find(".jsxc_msg").empty(),$("<p>").text($.t("Room_not_found_")).appendTo(dialog.find(".jsxc_msg")),discoReceived()})}else $("<p>").addClass("jsxc_warning").text($.t("You_already_joined_this_room")).appendTo(dialog.find(".jsxc_msg"));return!1}),dialog.find("input").keydown(function(ev){return 13!==ev.which?(dialog.find(".jsxc_warning").remove(),void(dialog.find(".jsxc_continue").is(":hidden")&&"jsxc_password"!==$(this).attr("id")&&(dialog.find(".jsxc_continue").show(),dialog.find(".jsxc_join").hide().off("click"),dialog.find(".jsxc_msg").empty(),dialog.find("#jsxc_password").parents(".form-group").addClass("jsxc_hidden"),dialog.find("#jsxc_password").attr("required",""),dialog.find("#jsxc_password").removeClass("jsxc_invalid"),jsxc.gui.dialog.resize()))):void(dialog.find(".jsxc_continue").is(":hidden")?dialog.find(".jsxc_join").click():dialog.find(".jsxc_continue").click())})},showRoomConfiguration:function(room){var self=jsxc.muc;self.conn.muc.configure(room,function(stanza){var form=Strophe.x.Form.fromXML(stanza);window.f=form,self._showRoomConfiguration(room,form)},function(){jsxc.debug("Could not load room configuration")})},_showRoomConfiguration:function(room,config){var self=jsxc.muc,dialog=jsxc.gui.dialog.open(jsxc.muc.helper.formToHTML(config)),form=dialog.find("form");form.find('[type="checkbox"]').change(function(){$(this).val(this.checked?1:0)});var submit=$("<button>");submit.addClass("btn btn-primary"),submit.attr("type","submit"),submit.text($.t("Save"));var cancel=$("<button>");cancel.addClass("btn btn-default"),cancel.attr("type","button"),cancel.text($.t("Cancel"));var formGroup=$("<div>");formGroup.addClass("form-group"),$("<div>").addClass("col-sm-offset-6 col-sm-6").appendTo(formGroup),formGroup.find(">div").append(cancel),formGroup.find(">div").append(submit),form.append(formGroup),form.submit(function(ev){ev.preventDefault();var config=Strophe.x.Form.fromHTML(form.get(0));return self.conn.muc.saveConfiguration(room,config,function(){jsxc.storage.updateUserItem("buddy",room,"config",config),jsxc.debug("Room configuration saved.")},function(){jsxc.warn("Could not save room configuration.")}),jsxc.gui.dialog.close(),!1}),cancel.click(function(){self.conn.muc.cancelConfigure(room),jsxc.gui.dialog.close()})},join:function(room,nickname,password,roomName,subject,bookmark,autojoin){var self=jsxc.muc;jsxc.storage.setUserItem("buddy",room,{jid:room,name:roomName||room,sub:"both",type:"groupchat",state:self.CONST.ROOMSTATE.INIT,subject:subject,bookmarked:bookmark||!1,autojoin:autojoin||!1,nickname:nickname,config:null}),jsxc.xmpp.conn.muc.join(room,nickname,null,null,null,password),bookmark&&jsxc.xmpp.bookmarks.add(room,roomName,nickname,autojoin)},leave:function(room){if(!jsxc.master)return void jsxc.tab.execMaster("muc.leave",room);var self=jsxc.muc,own=jsxc.storage.getUserItem("ownNicknames")||{},data=jsxc.storage.getUserItem("buddy",room)||{};data.state===self.CONST.ROOMSTATE.ENTERED?self.conn.muc.leave(room,own[room],function(){self.onExited(room)}):self.onExited(room)},onExited:function(room){var self=jsxc.muc,own=jsxc.storage.getUserItem("ownNicknames")||{},roomdata=jsxc.storage.getUserItem("buddy",room)||{};jsxc.storage.setUserItem("roomNames",self.conn.muc.roomNames),delete own[room],jsxc.storage.setUserItem("ownNicknames",own),jsxc.storage.removeUserItem("member",room),jsxc.storage.removeUserItem("chat",room),jsxc.gui.window.close(room),jsxc.storage.updateUserItem("buddy",room,"state",self.CONST.ROOMSTATE.EXITED),roomdata.bookmarked||jsxc.gui.roster.purge(room)},destroy:function(room,handler_cb,error_cb){if(!jsxc.master)return void jsxc.tab.execMaster("muc.destroy",room);var self=jsxc.muc,roomdata=jsxc.storage.getUserItem("buddy",room);jsxc.storage.updateUserItem("buddy",room,"state",self.CONST.ROOMSTATE.AWAIT_DESTRUCTION),jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("This_room_will_be_closed")});var iq=$iq({to:room,type:"set"}).c("query",{xmlns:Strophe.NS.MUC_OWNER}).c("destroy");jsxc.muc.conn.sendIQ(iq.tree(),handler_cb,error_cb),roomdata.bookmarked&&jsxc.xmpp.bookmarks.delete(room)},close:function(room){var self=jsxc.muc,roomdata=jsxc.storage.getUserItem("buddy",room)||{};self.emptyMembers(room);var roomIndex=self.conn.muc.roomNames.indexOf(room);roomIndex>-1&&(self.conn.muc.roomNames.splice(roomIndex,1),delete self.conn.muc.rooms[room]),jsxc.storage.setUserItem("roomNames",self.conn.muc.roomNames),roomdata.state===self.CONST.ROOMSTATE.AWAIT_DESTRUCTION&&self.onExited(room),jsxc.storage.getUserItem("budy",room)&&(roomdata.state=self.CONST.ROOMSTATE.DESTROYED,jsxc.storage.setUserItem("buddy",room,roomdata))},initWindow:function(event,win){var self=jsxc.muc;if(!jsxc.xmpp.conn&&jsxc.master)return void $(document).one("attached.jsxc",function(){self.initWindow(null,win)});var data=win.data(),bid=jsxc.jidToBid(data.jid),roomdata=jsxc.storage.getUserItem("buddy",bid);if("groupchat"===roomdata.type){win.addClass("jsxc_groupchat");var own=jsxc.storage.getUserItem("ownNicknames")||{},ownNickname=own[bid],mlIcon=$('<div class="jsxc_members"></div>');win.find(".jsxc_tools > .jsxc_settings").after(mlIcon);var ml=$('<div class="jsxc_memberlist"><ul></ul></div>');win.find(".jsxc_fade").prepend(ml),ml.on("wheel",function(ev){jsxc.muc.scrollMemberListBy(bid,ev.originalEvent.wheelDelta>0?50:-50)});var toggleMl=function(ev){ev&&ev.preventDefault();var slimOptions={},ul=ml.find("ul:first"),slimHeight=null;if(ml.toggleClass("jsxc_expand"),ml.hasClass("jsxc_expand")){$("body").click(),$("body").one("click",toggleMl),ul.mouseleave(function(){ul.data("timer",window.setTimeout(toggleMl,2e3))}).mouseenter(function(){window.clearTimeout(ul.data("timer"))}).css("left","0px");var maxHeight=.8*win.find(".jsxc_textarea").height(),innerHeight=ml.find("ul").height()+3;slimHeight=innerHeight>maxHeight?maxHeight:innerHeight,slimOptions={distance:"3px",height:slimHeight+"px",width:"100%",color:"#fff",opacity:"0.5"},ml.css("height",slimHeight+"px")}else slimOptions={destroy:!0},ul.attr("style",""),ml.css("height",""),window.clearTimeout(ul.data("timer")),$("body").off("click",null,toggleMl),ul.off("mouseleave mouseenter");return ul.slimscroll(slimOptions),!1};mlIcon.click(toggleMl),win.on("resize",function(){jsxc.muc.scrollMemberListBy(bid,0)});var destroy=$("<a>");destroy.text($.t("Destroy")),destroy.addClass("jsxc_destroy"),destroy.hide(),destroy.click(function(){self.destroy(bid)}),win.find(".jsxc_settings ul").append($("<li>").append(destroy));var configure=$("<a>");if(configure.text($.t("Configure")),configure.addClass("jsxc_configure"),configure.hide(),configure.click(function(){self.showRoomConfiguration(bid)}),self.conn&&win.find(".jsxc_settings ul").append($("<li>").append(configure)),roomdata.state>self.CONST.ROOMSTATE.INIT){var member=jsxc.storage.getUserItem("member",bid)||{};$.each(member,function(nickname,val){self.insertMember(bid,nickname,val),nickname===ownNickname&&val.affiliation===self.CONST.AFFILIATION.OWNER&&destroy.show(),nickname!==ownNickname||val.affiliation!==self.CONST.AFFILIATION.OWNER&&val.affiliation!==self.CONST.AFFILIATION.OWNER||configure.show()})}var leave=$("<a>");leave.text($.t("Leave")),leave.addClass("jsxc_leave"),leave.click(function(){self.leave(bid)}),win.find(".jsxc_settings ul").append($("<li>").append(leave))}},onPresence:function(event,from,status,presence){var self=jsxc.muc,room=jsxc.jidToBid(from),roomdata=jsxc.storage.getUserItem("buddy",room),xdata=$(presence).find('x[xmlns^="'+Strophe.NS.MUC+'"]');if(self.conn.muc.roomNames.indexOf(room)<0||0===xdata.length)return!0;var res=Strophe.getResourceFromJid(from)||"",nickname=Strophe.unescapeNode(res),own=jsxc.storage.getUserItem("ownNicknames")||{},member=jsxc.storage.getUserItem("member",room)||{},codes=[];if(xdata.find("status").each(function(){var code=$(this).attr("code");jsxc.debug("[muc][code]",code),codes.push(code)}),roomdata.state===self.CONST.ROOMSTATE.INIT){if(roomdata.status=jsxc.CONST.STATUS.indexOf("online"),jsxc.storage.setUserItem("buddy",room,roomdata),jsxc.storage.setUserItem("roomNames",jsxc.xmpp.conn.muc.roomNames),0===jsxc.gui.roster.getItem(room).length){var bl=jsxc.storage.getUserItem("buddylist");bl.push(room),jsxc.storage.setUserItem("buddylist",bl),jsxc.gui.roster.add(room)}$("#jsxc_dialog").length>0&&(jsxc.gui.dialog.close(),jsxc.gui.window.open(room))}var jid=xdata.find("item").attr("jid")||null;if(0===status)if(xdata.find("destroy").length>0)member={},jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("This_room_has_been_closed")}),self.close(room);else{delete member[nickname],self.removeMember(room,nickname);var newNickname=xdata.find("item").attr("nick");codes.indexOf("303")>-1&&newNickname?(newNickname=Strophe.unescapeNode(newNickname),member[newNickname]={},jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("is_now_known_as",{oldNickname:nickname,newNickname:newNickname,escapeInterpolation:!0})})):(0===codes.length||1===codes.length&&codes.indexOf("110")>-1)&&jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("left_the_building",{nickname:nickname,escapeInterpolation:!0})})}else!member[nickname]&&own[room]&&jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("entered_the_room",{nickname:nickname,escapeInterpolation:!0})}),member[nickname]={jid:jid,status:status,roomJid:from,affiliation:xdata.find("item").attr("affiliation"),role:xdata.find("item").attr("role")},self.insertMember(room,nickname,member[nickname]);return jsxc.storage.setUserItem("member",room,member),$.each(codes,function(index,code){"function"==typeof self.onStatus[code]&&self.onStatus[code].call(this,room,nickname,member[nickname]||{},xdata),$(document).trigger("status.muc.jsxc",[code,room,nickname,member[nickname]||{},presence])}),!0},onPresenceError:function(event,from,presence){var self=jsxc.muc,xdata=$(presence).find('x[xmlns="'+Strophe.NS.MUC+'"]'),room=jsxc.jidToBid(from);if(0===xdata.length||self.conn.muc.roomNames.indexOf(room)<0)return!0;var error=$(presence).find("error"),condition=error.children()[0].tagName;return jsxc.debug("[muc][error]",condition),$(document).trigger("error.muc.jsxc",[condition,room]),!0},onStatus:{110:function(room,nickname,data){var self=jsxc.muc,own=jsxc.storage.getUserItem("ownNicknames")||{};own[room]=nickname,jsxc.storage.setUserItem("ownNicknames",own),data.affiliation===self.CONST.AFFILIATION.OWNER&&jsxc.gui.window.get(room).find(".jsxc_destroy").show();var roomdata=jsxc.storage.getUserItem("buddy",room);roomdata.state===self.CONST.ROOMSTATE.INIT&&(roomdata.state=self.CONST.ROOMSTATE.ENTERED,jsxc.storage.setUserItem("buddy",room,roomdata))},170:function(room){jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("Room_logging_is_enabled")})},171:function(room){jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("Room_logging_is_disabled")})},172:function(room){jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("Room_is_now_non-anoymous")})},173:function(room){jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("Room_is_now_semi-anonymous")})},201:function(room){var self=jsxc.muc,roomdata=jsxc.storage.getUserItem("buddy",room)||{};roomdata.autojoin&&roomdata.config===self.CONST.ROOMCONFIG.INSTANT?self.conn.muc.createInstantRoom(room):roomdata.autojoin&&"undefined"!=typeof roomdata.config&&null!==roomdata.config?self.conn.muc.saveConfiguration(room,roomdata.config,function(){jsxc.debug("Cached room configuration saved.")},function(){jsxc.warn("Could not save cached room configuration.")}):jsxc.gui.showSelectionDialog({header:$.t("Room_creation"),msg:$.t("Do_you_want_to_change_the_default_room_configuration"),primary:{label:$.t("Default"),cb:function(){jsxc.gui.dialog.close(),self.conn.muc.createInstantRoom(room),jsxc.storage.updateUserItem("buddy",room,"config",self.CONST.ROOMCONFIG.INSTANT)}},option:{label:$.t("Change"),cb:function(){self.showRoomConfiguration(room)}}})},301:function(room,nickname,data,xdata){var own=jsxc.storage.getUserItem("ownNicknames")||{};own[room]===nickname?(jsxc.muc.close(room),jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_banned")}),jsxc.muc.postReason(room,xdata)):jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_info_banned",{nickname:nickname,escapeInterpolation:!0})})},307:function(room,nickname,data,xdata){var own=jsxc.storage.getUserItem("ownNicknames")||{};own[room]===nickname?(jsxc.muc.close(room),jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_kicked")}),jsxc.muc.postReason(room,xdata)):jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_info_kicked",{nickname:nickname,escapeInterpolation:!0})})},321:function(room,nickname){var own=jsxc.storage.getUserItem("ownNicknames")||{};own[room]===nickname?(jsxc.muc.close(room),jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_affiliation")})):jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_info_affiliation",{nickname:nickname,escapeInterpolation:!0})})},322:function(room,nickname){var own=jsxc.storage.getUserItem("ownNicknames")||{};own[room]===nickname?(jsxc.muc.close(room),jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_membersonly")})):jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_info_membersonly",{nickname:nickname,escapeInterpolation:!0})})},332:function(room){jsxc.muc.close(room),jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("muc_removed_shutdown")})}},postReason:function(room,xdata){var actor={name:xdata.find("actor").attr("nick"),jid:xdata.find("actor").attr("jid")},reason=xdata.find("reason").text();""!==reason&&(reason=$.t("Reason")+": "+reason,"string"==typeof actor.name||"string"==typeof actor.jid?jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.IN,msg:reason,sender:actor}):jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:reason}))},insertMember:function(room,nickname,memberdata){var win=jsxc.gui.window.get(room),jid=memberdata.jid,ownBid=jsxc.jidToBid(jsxc.storage.getItem("jid")),m=win.find('.jsxc_memberlist li[data-nickname="'+nickname+'"]');if(0===m.length){var title=jsxc.escapeHTML(nickname);if(m=$('<li><div class="jsxc_avatar"></div><div class="jsxc_name"/></li>'),m.attr("data-nickname",nickname),win.find(".jsxc_memberlist ul").append(m),"string"==typeof jid){m.find(".jsxc_name").text(jsxc.jidToBid(jid)),title=title+"\n"+jsxc.jidToBid(jid);var data=jsxc.storage.getUserItem("buddy",jsxc.jidToBid(jid));null!==data&&"object"==typeof data?jsxc.gui.avatar.update(m,jsxc.jidToBid(jid),data.avatar):jsxc.jidToBid(jid)===ownBid&&jsxc.gui.avatar.update(m,jsxc.jidToBid(jid),"own")}else m.find(".jsxc_name").text(nickname),jsxc.gui.avatarPlaceholder(m.find(".jsxc_avatar"),nickname);m.attr("title",title)}},removeMember:function(room,nickname){var win=jsxc.gui.window.get(room),m=win.find('.jsxc_memberlist li[data-nickname="'+nickname+'"]');m.length>0&&m.remove()},scrollMemberListBy:function(room,offset){var win=jsxc.gui.window.get(room);if(!win.find(".jsxc_memberlist").hasClass("jsxc_expand")){var el=win.find(".jsxc_memberlist ul:first"),scrollWidth=el.width(),width=win.find(".jsxc_memberlist").width(),left=parseInt(el.css("left"));left=isNaN(left)?0-offset:left-offset,scrollWidth<width||left>0?left=0:left<width-scrollWidth&&(left=width-scrollWidth),el.css("left",left+"px")}},emptyMembers:function(room){var win=jsxc.gui.window.get(room);win.find(".jsxc_memberlist").empty(),jsxc.storage.setUserItem("member",room,{})},onGroupchatMessage:function(message){var id=$(message).attr("id");if(id&&jsxc.el_exists(jsxc.Message.getDOM(id)))return!0;var from=$(message).attr("from"),body=$(message).find("body:first").text(),room=jsxc.jidToBid(from),nickname=Strophe.unescapeNode(Strophe.getResourceFromJid(from));if(""!==body){var delay=$(message).find('delay[xmlns="urn:xmpp:delay"]'),stamp=delay.length>0?new Date(delay.attr("stamp")):new Date;stamp=stamp.getTime();var member=jsxc.storage.getUserItem("member",room)||{},sender={};sender.name=nickname,member[nickname]&&"string"==typeof member[nickname].jid&&(sender.jid=member[nickname].jid),jsxc.gui.window.init(room),jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.IN,msg:body,stamp:stamp,sender:sender})}var subject=$(message).find("subject");if(subject.length>0){var roomdata=jsxc.storage.getUserItem("buddy",room);roomdata.subject=subject.text(),jsxc.storage.setUserItem("buddy",room,roomdata),jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("changed_subject_to",{nickname:nickname,subject:subject.text()})})}return!0},onErrorMessage:function(message){var room=jsxc.jidToBid($(message).attr("from"));return 0===jsxc.gui.window.get(room).length||($(message).find("item-not-found").length>0?jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("message_not_send_item-not-found")}):$(message).find("forbidden").length>0?jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("message_not_send_forbidden")}):$(message).find("not-acceptable").length>0?jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("message_not_send_not-acceptable")}):jsxc.gui.window.postMessage({bid:room,direction:jsxc.Message.SYS,msg:$.t("message_not_send")}),jsxc.debug("[muc] error message for "+room,$(message).find("error")[0]),!0)},onAddRoster:function(event,room,data,bud){var self=jsxc.muc;if("groupchat"===data.type){var bo=$("<a>");$("<span>").addClass("jsxc_icon jsxc_bookmarkicon").appendTo(bo),$("<span>").text($.t("Bookmark")).appendTo(bo),bo.addClass("jsxc_bookmarkOptions"),bo.click(function(ev){return ev.preventDefault(),jsxc.xmpp.bookmarks.showDialog(room),!1}),bud.find(".jsxc_menu ul").append($("<li>").append(bo)),data.bookmarked&&bud.addClass("jsxc_bookmarked"),bud.off("click").click(function(){var data=jsxc.storage.getUserItem("buddy",room);data.state===self.CONST.ROOMSTATE.INIT||data.state===self.CONST.ROOMSTATE.EXITED?(self.showJoinChat(),$("#jsxc_room").val(Strophe.getNodeFromJid(data.jid)),$("#jsxc_nickname").val(data.nickname),$("#jsxc_bookmark").prop("checked",data.bookmarked),$("#jsxc_autojoin").prop("checked",data.autojoin),$("#jsxc_dialog .jsxc_bookmark").hide()):jsxc.gui.window.open(room)}),bud.find(".jsxc_delete").click(function(){return data.bookmarked&&jsxc.xmpp.bookmarks.delete(room),self.leave(room),!1})}},helper:{formToHTML:function(form){if(form instanceof Strophe.x.Form){var html=$("<form>");if(html.attr("data-type",form.type),html.addClass("form-horizontal"),form.title&&html.append("<h3>"+form.title+"</h3>"),form.instructions&&html.append("<p>"+form.instructions+"</p>"),form.fields.length>0){var i;for(i=0;i<form.fields.length;i++)html.append(jsxc.muc.helper.fieldToHtml(form.fields[i]))}return $("<div>").append(html).html()}},fieldToHtml:function(field){var self=field||this;field=null;var el,val,opt,i,o,j,k,txt,line,_ref2,id="Strophe.x.Field-"+self.type+"-"+self.var,html=$("<div>");if(html.addClass("form-group"),self.label){var label=$("<label>");label.attr("for",id),label.addClass("col-sm-6 control-label"),label.text(self.label),label.appendTo(html)}switch(self.type.toLowerCase()){case"list-single":case"list-multi":for(el=$("<select>"),"list-multi"===self.type&&el.attr("multiple","multiple"),i=0;i<self.options.length;i++)if(opt=self.options[i]){for(o=$(opt.toHTML()),j=0;j<self.values;j++)k=self.values[j],k.toString()===opt.value.toString()&&o.attr("selected","selected");o.appendTo(el)}break;case"text-multi":case"jid-multi":el=$("<textarea>"),txt=function(){var i,_results;for(_results=[],i=0;i<self.values.length;i++)line=self.values[i],_results.push(line);return _results}.call(this).join("\n"),txt&&el.text(txt);break;case"text-single":case"boolean":case"text-private":case"hidden":case"fixed":case"jid-single":switch(el=$("<input>"),self.values&&el.attr("value",self.values[0]),self.type.toLowerCase()){case"text-single":el.attr("type","text"),el.attr("placeholder",self.desc),el.addClass("form-control");break;case"boolean":el.attr("type","checkbox"),val=null!=(_ref2=self.values[0])&&"function"==typeof _ref2.toString?_ref2.toString():void 0,!val||"true"!==val&&"1"!==val||el.attr("checked","checked");break;case"text-private":el.attr("type","password"),el.addClass("form-control");break;case"hidden":el.attr("type","hidden");break;case"fixed":el.attr("type","text").attr("readonly","readonly"),el.addClass("form-control");break;case"jid-single":el.attr("type","email"),el.addClass("form-control")}break;default:el=$("<input type='text'>")}el.attr("id",id),el.attr("name",self.var),self.required&&el.attr("required",self.required);var inner=el;return el=$("<div>"),el.addClass("col-sm-6"),el.append(inner),html.append(el),html.get(0)}}},$(document).on("init.window.jsxc",jsxc.muc.initWindow),$(document).on("add.roster.jsxc",jsxc.muc.onAddRoster),$(document).on("attached.jsxc",function(){jsxc.muc.init()}),$(document).one("connected.jsxc",function(){jsxc.storage.removeUserItem("roomNames"),jsxc.storage.removeUserItem("ownNicknames")}),jsxc.notice={_num:0,load:function(){$("#jsxc_notice ul li").remove(),$("#jsxc_notice > span").text(""),jsxc.notice._num=0;var saved=jsxc.storage.getUserItem("notices")||[],key=null;for(key in saved)if(saved.hasOwnProperty(key)){var val=saved[key];jsxc.notice.add(val,val.fnName,val.fnParams,key)}},add:function(data,fnName,fnParams,id){var nid=id||Date.now(),list=$("#jsxc_notice ul"),notice=$("<li/>"),msg=data.msg,description=data.description;notice.click(function(){return jsxc.notice.remove(nid),jsxc.exec(fnName,fnParams),!1}),data.type&&notice.addClass("jsxc_"+data.type+"icon"),notice.text(msg),notice.attr("title",description||""),notice.attr("data-nid",nid),list.append(notice),$("#jsxc_notice > span").text(++jsxc.notice._num);var saved=jsxc.storage.getUserItem("notices")||{};if(id||(saved[nid]={msg:msg,description:description,type:data.type,fnName:fnName,fnParams:fnParams},jsxc.storage.setUserItem("notices",saved),jsxc.notification.notify(msg,description||"",null,!0,jsxc.CONST.SOUNDS.NOTICE)),Object.keys(saved).length>3&&0===list.find(".jsxc_closeAll").length){var closeAll=$("<li>");closeAll.addClass("jsxc_closeAll jsxc_deleteicon jsxc_warning"),closeAll.text($.t("Close_all")),closeAll.prependTo(list),closeAll.click(jsxc.notice.removeAll)}else Object.keys(saved).length<=3&&0!==list.find(".jsxc_closeAll").length&&list.find(".jsxc_closeAll").remove()},remove:function(nid){var el=$("#jsxc_notice li[data-nid="+nid+"]");el.remove(),$("#jsxc_notice > span").text(--jsxc.notice._num||"");var s=jsxc.storage.getUserItem("notices")||{};delete s[nid],jsxc.storage.setUserItem("notices",s),Object.keys(s).length<=3&&0!==$("#jsxc_notice .jsxc_closeAll").length&&$("#jsxc_notice .jsxc_closeAll").remove()},removeAll:function(){jsxc.notice._num=0,jsxc.storage.setUserItem("notices",{}),$("#jsxc_notice ul").empty(),$("#jsxc_notice > span").text("")},has:function(fnName){var saved=jsxc.storage.getUserItem("notices")||[],has=!1;return $.each(saved,function(index,val){if(val.fnName===fnName)return has=!0,!1}),has}},jsxc.notification={audio:null,init:function(){$(document).on("postmessagein.jsxc",function(event,bid,msg){msg=msg&&msg.match(/^\?OTR/)?$.t("Encrypted_message"):msg;var data=jsxc.storage.getUserItem("buddy",bid);jsxc.notification.notify({title:$.t("New_message_from",{name:data.name}),msg:msg,soundFile:jsxc.CONST.SOUNDS.MSG,source:bid})}),$(document).on("callincoming.jingle",function(){jsxc.notification.playSound(jsxc.CONST.SOUNDS.CALL,!0,!0)}),$(document).on("accept.call.jsxc reject.call.jsxc",function(){jsxc.notification.stopSound()})},notify:function(title,msg,d,force,soundFile,loop,source){if(jsxc.options.notification&&jsxc.notification.hasPermission()){var o;if(o=null!==title&&"object"==typeof title?title:{title:title,msg:msg,duration:d,force:force,soundFile:soundFile,loop:loop,source:source},!jsxc.hasFocus()||o.force){var icon=o.icon||jsxc.options.root+"/img/XMPP_logo.png";if("string"==typeof o.source){var data=jsxc.storage.getUserItem("buddy",o.source),src=jsxc.storage.getUserItem("avatar",data.avatar);"string"==typeof src&&"0"!==src&&(icon=src)}jsxc.toNotification=setTimeout(function(){"string"==typeof o.soundFile&&jsxc.notification.playSound(o.soundFile,o.loop,o.force);var popup=new Notification($.t(o.title),{body:$.t(o.msg),icon:icon}),duration=o.duration||jsxc.options.popupDuration;duration>0&&setTimeout(function(){popup.close()},duration)},jsxc.toNotificationDelay)}}},hasSupport:function(){if(window.webkitNotifications){window.Notification=function(title,opt){var popup=window.webkitNotifications.createNotification(null,title,opt.body);return popup.show(),popup.close=function(){popup.cancel()},popup};var permission;switch(window.webkitNotifications.checkPermission()){case 0:permission=jsxc.CONST.NOTIFICATION_GRANTED;break;case 2:permission=jsxc.CONST.NOTIFICATION_DENIED;break;default:permission=jsxc.CONST.NOTIFICATION_DEFAULT}return window.Notification.permission=permission,window.Notification.requestPermission=function(func){window.webkitNotifications.requestPermission(func)},!0}return!!window.Notification},prepareRequest:function(){jsxc.notice.has("gui.showRequestNotification")||$(document).one("postmessagein.jsxc",function(){
+setTimeout(function(){jsxc.notice.add({msg:$.t("Notifications")+"?",description:$.t("Should_we_notify_you_")},"gui.showRequestNotification")},1e3)})},requestPermission:function(){window.Notification.requestPermission(function(status){window.Notification.permission!==status&&(window.Notification.permission=status),jsxc.notification.hasPermission()?$(document).trigger("notificationready.jsxc"):$(document).trigger("notificationfailure.jsxc")})},hasPermission:function(){return window.Notification.permission===jsxc.CONST.NOTIFICATION_GRANTED},playSound:function(soundFile,loop,force){if(jsxc.master&&!jsxc.options.get("muteNotification")&&"dnd"!==jsxc.storage.getUserItem("presence")&&(!jsxc.hasFocus()||force)){jsxc.notification.stopSound();var audio=new Audio(jsxc.options.root+"/sound/"+soundFile);audio.loop=loop||!1,audio.play(),jsxc.notification.audio=audio}},stopSound:function(){var audio=jsxc.notification.audio;"undefined"!=typeof audio&&null!==audio&&(audio.pause(),jsxc.notification.audio=null)},muteSound:function(external){$("#jsxc_menu .jsxc_muteNotification").text($.t("Unmute")),external!==!0&&jsxc.options.set("muteNotification",!0)},unmuteSound:function(external){$("#jsxc_menu .jsxc_muteNotification").text($.t("Mute")),external!==!0&&jsxc.options.set("muteNotification",!1)}},jsxc.options={app_name:"web applications",timeout:3e3,busyTimeout:15e3,otr:{enable:!0,ERROR_START_AKE:!1,debug:!1,SEND_WHITESPACE_TAG:!1,WHITESPACE_START_AKE:!0},xmpp:{url:null,jid:null,domain:null,password:null,sid:null,rid:null,overwrite:!1,onlogin:null},priority:{online:0,chat:0,away:0,xa:0,dnd:0},formFound:null,loginForm:{enable:!0,form:null,jid:null,pass:null,preJid:function(jid){return jid},onConnecting:"dialog",onConnected:"submit",onAuthFail:"submit",attachIfFound:!0,ifFound:"attach",startMinimized:!1},logoutElement:null,numberOfMsg:10,defaultLang:"en",autoLang:!0,rosterAppend:"body",notification:!0,popupDuration:6e3,root:"",displayRosterMinimized:function(){return!1},hideOffline:!1,muteNotification:!1,defaultAvatar:null,loadSettings:null,saveSettinsPermanent:function(data,cb){cb(!0)},carbons:{enable:!0},getUsers:null,favicon:{enable:!0,bgColor:"#E59400",textColor:"#fff"},turnCredentialsPath:null,RTCPeerConfig:{ttl:3600,url:null,withCredentials:!1,iceServers:[{urls:"stun:stun.stunprotocol.org"}]},onlineHelp:"http://www.jsxc.org/manual.html",viewport:{getSize:function(){var w=$(window).width()-$("#jsxc_windowListSB").width(),h=$(window).height();return"shown"===jsxc.storage.getUserItem("roster")&&(w-=$("#jsxc_roster").outerWidth(!0)),{width:w,height:h}}},maxStorableSize:1e6,fileTransfer:{httpUpload:{enable:!0}},chatState:{enable:!0},screenMediaExtension:{firefox:"",chrome:""},mam:{enable:!0,max:null}},jsxc.otr={objects:{},dsaFallback:null,receiveMessage:function(d){var bid=d.bid;jsxc.otr.objects[bid].msgstate!==OTR.CONST.MSGSTATE_PLAINTEXT&&jsxc.otr.backup(bid),jsxc.otr.objects[bid].msgstate===OTR.CONST.MSGSTATE_PLAINTEXT||d.encrypted?jsxc.gui.window.postMessage({_uid:d._uid,bid:bid,direction:jsxc.Message.IN,msg:d.msg,encrypted:d.encrypted,forwarded:d.forwarded,stamp:d.stamp,attachment:d.attachment}):jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("Received_an_unencrypted_message")+". ["+d.msg+"]",encrypted:d.encrypted,forwarded:d.forwarded,stamp:d.stamp})},sendMessage:function(jid,msg,message){0!==jsxc.otr.objects[jsxc.jidToBid(jid)].msgstate&&jsxc.otr.backup(jsxc.jidToBid(jid)),jsxc.xmpp._sendMessage(jid,msg,message)},create:function(bid){if(!jsxc.otr.objects.hasOwnProperty(bid)&&jsxc.options.otr.priv){var ol=jsxc.storage.getUserItem("otrlist")||[];ol.indexOf(bid)<0&&(ol.push(bid),jsxc.storage.setUserItem("otrlist",ol)),jsxc.otr.objects[bid]=new OTR(jsxc.options.otr),jsxc.options.otr.SEND_WHITESPACE_TAG&&(jsxc.otr.objects[bid].SEND_WHITESPACE_TAG=!0),jsxc.options.otr.WHITESPACE_START_AKE&&(jsxc.otr.objects[bid].WHITESPACE_START_AKE=!0),jsxc.otr.objects[bid].on("status",function(status){var data=jsxc.storage.getUserItem("buddy",bid);if(null!==data){switch(status){case OTR.CONST.STATUS_SEND_QUERY:jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("trying_to_start_private_conversation")});break;case OTR.CONST.STATUS_AKE_SUCCESS:data.fingerprint=jsxc.otr.objects[bid].their_priv_pk.fingerprint(),data.msgstate=OTR.CONST.MSGSTATE_ENCRYPTED;var msg_state=jsxc.otr.objects[bid].trust?"Verified":"Unverified",msg=$.t(msg_state+"_private_conversation_started");jsxc.gui.window.postMessage({bid:bid,direction:"sys",msg:msg});break;case OTR.CONST.STATUS_END_OTR:data.fingerprint=null,jsxc.otr.objects[bid].msgstate===OTR.CONST.MSGSTATE_PLAINTEXT?(data.msgstate=OTR.CONST.MSGSTATE_PLAINTEXT,jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("private_conversation_aborted")})):(data.msgstate=OTR.CONST.MSGSTATE_FINISHED,jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("your_buddy_closed_the_private_conversation_you_should_do_the_same")}));break;case OTR.CONST.STATUS_SMP_HANDLE:jsxc.keepBusyAlive()}jsxc.storage.setUserItem("buddy",bid,data),jsxc.gui.update(bid)}}),jsxc.otr.objects[bid].on("smp",function(type,data){switch(type){case"question":jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("Authentication_request_received")}),jsxc.gui.window.smpRequest(bid,data),jsxc.storage.setUserItem("smp",bid,{data:data||null});break;case"trust":jsxc.otr.objects[bid].trust=data,jsxc.storage.updateUserItem("buddy",bid,"trust",data),jsxc.otr.backup(bid),jsxc.gui.update(bid),data?jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("conversation_is_now_verified")}):jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("authentication_failed")}),jsxc.storage.removeUserItem("smp",bid),jsxc.gui.dialog.close("smp");break;case"abort":jsxc.gui.window.hideOverlay(bid),jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("Authentication_aborted")});break;default:jsxc.debug("[OTR] sm callback: Unknown type: "+type)}}),jsxc.otr.objects[bid].on("ui",function(msg,encrypted,meta){jsxc.otr.receiveMessage({_uid:meta._uid,bid:bid,msg:msg,encrypted:encrypted===!0,stamp:meta.stamp,forwarded:meta.forwarded,attachment:meta.attachment})}),jsxc.otr.objects[bid].on("io",function(msg,message){var jid=jsxc.gui.window.get(bid).data("jid")||jsxc.otr.objects[bid].jid;jsxc.otr.objects[bid].jid=jid,jsxc.otr.sendMessage(jid,msg,message)}),jsxc.otr.objects[bid].on("error",function(err){"Received an unencrypted message."!==err&&jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:"[OTR] "+$.t(err)}),jsxc.error("[OTR] "+err)}),jsxc.otr.restore(bid)}},onSmpQuestion:function(bid,data){jsxc.gui.showVerification(bid),$("#jsxc_dialog select").prop("selectedIndex",data?2:3).change(),$("#jsxc_dialog > div:eq(0)").hide(),data?($("#jsxc_dialog > div:eq(2)").find("#jsxc_quest").val(data).prop("disabled",!0),$("#jsxc_dialog > div:eq(2)").find(".jsxc_submit").text($.t("Answer")),$("#jsxc_dialog > div:eq(2)").find(".jsxc_explanation").text($.t("onsmp_explanation_question")),$("#jsxc_dialog > div:eq(2)").show()):($("#jsxc_dialog > div:eq(3)").find(".jsxc_explanation").text($.t("onsmp_explanation_secret")),$("#jsxc_dialog > div:eq(3)").show()),$("#jsxc_dialog .jsxc_close").click(function(){jsxc.storage.removeUserItem("smp",bid),jsxc.master&&jsxc.otr.objects[bid].sm.abort()})},sendSmpReq:function(bid,sec,quest){jsxc.keepBusyAlive(),jsxc.otr.objects[bid].smpSecret(sec,quest||"")},toggleTransfer:function(bid){"function"==typeof OTR&&(0===jsxc.storage.getUserItem("buddy",bid).msgstate?jsxc.otr.goEncrypt(bid):jsxc.otr.goPlain(bid))},goEncrypt:function(bid){jsxc.master?jsxc.otr.objects.hasOwnProperty(bid)&&jsxc.otr.objects[bid].sendQueryMsg():jsxc.storage.updateUserItem("buddy",bid,"transferReq",1)},goPlain:function(bid,cb){jsxc.master?jsxc.otr.objects.hasOwnProperty(bid)&&(jsxc.otr.objects[bid].endOtr.call(jsxc.otr.objects[bid],cb),jsxc.otr.objects[bid].init.call(jsxc.otr.objects[bid]),jsxc.otr.backup(bid)):jsxc.storage.updateUserItem("buddy",bid,"transferReq",0)},backup:function(bid){var o=jsxc.otr.objects[bid],r={};if(null!==o){var i,savekey=["jid","our_instance_tag","msgstate","authstate","fragment","their_y","their_old_y","their_keyid","their_instance_tag","our_dh","our_old_dh","our_keyid","sessKeys","storedMgs","oldMacKeys","trust","transmittedRS","ssid","receivedPlaintext","authstate","send_interval"];for(i=0;i<savekey.length;i++)r[savekey[i]]=JSON.stringify(o[savekey[i]]);null!==o.their_priv_pk&&(r.their_priv_pk=JSON.stringify(o.their_priv_pk.packPublic())),o.ake.otr_version&&""!==o.ake.otr_version&&(r.otr_version=JSON.stringify(o.ake.otr_version)),jsxc.storage.setUserItem("otr",bid,r)}},restore:function(bid){var o=jsxc.otr.objects[bid],d=jsxc.storage.getUserItem("otr",bid);if(null!==o||null!==d){var key;for(key in d)if(d.hasOwnProperty(key)){var val=JSON.parse(d[key]);"their_priv_pk"===key&&null!==val&&(val=DSA.parsePublic(val)),"otr_version"===key&&null!==val?o.ake.otr_version=val:o[key]=val}jsxc.otr.objects[bid]=o,1===o.msgstate&&null!==o.their_priv_pk&&o._smInit.call(jsxc.otr.objects[bid])}jsxc.otr.enable(bid)},createDSA:function(){if(!jsxc.options.otr.priv){if("function"!=typeof OTR)return jsxc.warn("OTR support disabled"),OTR={},void(OTR.CONST={MSGSTATE_PLAINTEXT:0,MSGSTATE_ENCRYPTED:1,MSGSTATE_FINISHED:2});if(null===jsxc.storage.getUserItem("key")){var msg=$.t("Creating_your_private_key_"),worker=null;if(Worker)try{worker=new Worker(jsxc.options.root+"/lib/otr/lib/dsa-webworker.js")}catch(err){jsxc.warn("Couldn't create web-worker.",err)}jsxc.otr.dsaFallback=null===worker,jsxc.otr.dsaFallback?(jsxc.xmpp.conn.pause(),jsxc.gui.dialog.open(jsxc.gui.template.get("waitAlert",null,msg),{noClose:!0}),jsxc.debug("DSA key creation started in fallback mode."),setTimeout(function(){var dsa=new DSA;jsxc.otr.DSAready(dsa)},500)):(worker.onmessage=function(e){var type=e.data.type,val=e.data.val;"debug"===type?jsxc.debug(val):"data"===type&&jsxc.otr.DSAready(DSA.parsePrivate(val))},jsxc.debug("DSA key creation started."),worker.postMessage({imports:[jsxc.options.root+"/lib/otr/vendor/salsa20.js",jsxc.options.root+"/lib/otr/vendor/bigint.js",jsxc.options.root+"/lib/otr/vendor/crypto.js",jsxc.options.root+"/lib/otr/vendor/eventemitter.js",jsxc.options.root+"/lib/otr/lib/const.js",jsxc.options.root+"/lib/otr/lib/helpers.js",jsxc.options.root+"/lib/otr/lib/dsa.js"],seed:BigInt.getSeed(),debug:!0}))}else jsxc.debug("DSA key loaded"),jsxc.options.otr.priv=DSA.parsePrivate(jsxc.storage.getUserItem("key")),jsxc.otr._createDSA()}},_createDSA:function(){jsxc.storage.setUserItem("priv_fingerprint",jsxc.options.otr.priv.fingerprint()),$.each(jsxc.storage.getUserItem("windowlist")||[],function(index,val){jsxc.otr.create(val)})},DSAready:function(dsa){jsxc.storage.setUserItem("key",dsa.packPrivate()),jsxc.options.otr.priv=dsa,jsxc.otr.dsaFallback&&(jsxc.xmpp.conn.resume(),jsxc.gui.dialog.close()),jsxc.otr._createDSA()},enable:function(bid){jsxc.gui.window.get(bid).find(".jsxc_otr").removeClass("jsxc_disabled")}},jsxc.storage={PREFIX:"jsxc",SEP:":",hasSupport:function(){if("undefined"==typeof localStorage||null===localStorage)return!1;try{localStorage.setItem("jsxc:storage:test","jsxc"),localStorage.removeItem("jsxc:storage:test")}catch(err){return jsxc.warn("Can not save any data. Probably your quota exceeded or you use Safari in private Mode:",err?err.message:void 0),!1}return!0},getPrefix:function(uk){var self=jsxc.storage;return uk&&!jsxc.bid&&jsxc.warn("Unable to create user prefix"),self.PREFIX+self.SEP+(uk&&jsxc.bid?jsxc.bid+self.SEP:"")},setItem:function(key,value,uk){jsxc.storageNotConform>0&&"rid"!==key&&(jsxc.storageNotConform>1&&null===jsxc.toSNC&&(jsxc.toSNC=window.setTimeout(function(){jsxc.storageNotConform=0,jsxc.storage.setItem("storageNotConform",0)},1e3)),jsxc.ls.push(JSON.stringify({key:key,value:value}))),"object"==typeof value&&(value=JSON.stringify(value,function(key,val){if(!(val instanceof jQuery))return val}));try{localStorage.setItem(jsxc.storage.getPrefix(uk)+key,value)}catch(err){jsxc.error("An error occured while saving data.",err?err.message:void 0)}},setUserItem:function(type,key,value){var self=jsxc.storage;return 2===arguments.length?(value=key,key=type,type=""):3===arguments.length&&(key=type+self.SEP+key),jsxc.storage.setItem(key,value,!0)},getItem:function(key,uk){key=jsxc.storage.getPrefix(uk)+key;var value=localStorage.getItem(key);try{return JSON.parse(value)}catch(e){return value}},getUserItem:function(type,key){var self=jsxc.storage;return 1===arguments.length?key=type:2===arguments.length&&(key=type+self.SEP+key),jsxc.storage.getItem(key,!0)},removeItem:function(key,uk){jsxc.storageNotConform&&"rid"!==key&&jsxc.ls.push(JSON.stringify({key:jsxc.storage.prefix+key,value:""})),localStorage.removeItem(jsxc.storage.getPrefix(uk)+key)},removeUserItem:function(type,key){var self=jsxc.storage;1===arguments.length?key=type:2===arguments.length&&(key=type+self.SEP+key),jsxc.storage.removeItem(key,!0)},updateItem:function(key,variable,value,uk){var data=jsxc.storage.getItem(key,uk)||{};"object"==typeof variable?$.each(variable,function(key,val){"undefined"==typeof data[key]&&jsxc.debug("Variable "+key+" doesn't exist in "+variable+". It was created."),data[key]=val}):("undefined"==typeof data[variable]&&jsxc.debug("Variable "+variable+" doesn't exist. It was created."),data[variable]=value),jsxc.storage.setItem(key,data,uk)},updateUserItem:function(type,key,variable,value){var self=jsxc.storage;return 4===arguments.length||3===arguments.length&&"object"==typeof variable?key=type+self.SEP+key:(value=variable,variable=key,key=type),jsxc.storage.updateItem(key,variable,value,!0)},ink:function(key,uk){jsxc.storage.setItem(key,Number(jsxc.storage.getItem(key,uk))+1,uk)},removeElement:function(key,name,uk){var item=jsxc.storage.getItem(key,uk);$.isArray(item)?item=$.grep(item,function(e){return e!==name}):"object"==typeof item&&null!==item&&delete item[name],jsxc.storage.setItem(key,item,uk)},removeUserElement:function(type,key,name){var self=jsxc.storage;return 2===arguments.length?(name=key,key=type):3===arguments.length&&(key=type+self.SEP+key),jsxc.storage.removeElement(key,name,!0)},onStorage:function(e){if(e.key!==jsxc.storage.PREFIX+jsxc.storage.SEP+"rid"&&e.key){var re=new RegExp("^"+jsxc.storage.PREFIX+jsxc.storage.SEP+"(?:[^"+jsxc.storage.SEP+"]+@[^"+jsxc.storage.SEP+"]+"+jsxc.storage.SEP+")?(.*)","i"),key=e.key.replace(re,"$1");if(jsxc.storageNotConform>0&&jsxc.ls.length>0){var val=e.newValue;try{val=JSON.parse(val)}catch(err){}var index=$.inArray(JSON.stringify({key:key,value:val}),jsxc.ls);if(index>=0)return jsxc.storageNotConform>1&&(window.clearTimeout(jsxc.toSNC),jsxc.storageNotConform=1,jsxc.storage.setItem("storageNotConform",1)),void jsxc.ls.splice(index,1)}if(e.oldValue!==e.newValue){var n,o,bid=key.replace(new RegExp("[^"+jsxc.storage.SEP+"]+"+jsxc.storage.SEP+"(.*)","i"),"$1");if(jsxc.master&&"alive"===key)return jsxc.debug("Master request."),e.newValue&&e.newValue.match(/:master$/)?void jsxc.warn("Master request from master. Something went wrong... :-("):void jsxc.keepAlive();if(!jsxc.master&&("alive"===key||"alive_busy"===key))return jsxc.to=$.grep(jsxc.to,function(timeout){return window.clearTimeout(timeout),!1}),"undefined"==typeof e.newValue||null===e.newValue?void jsxc.xmpp.disconnected():(jsxc.to.push(window.setTimeout(jsxc.checkMaster,("alive"===key?jsxc.options.timeout:jsxc.options.busyTimeout)+jsxc.random(60))),void(jsxc.role_allocation||jsxc.onSlave()));if(jsxc.master&&"sid"===key&&!e.newValue&&jsxc.xmpp.logout(!1),key.match(/^notices/)&&jsxc.notice.load(),key.match(/^presence/)&&jsxc.gui.changePresence(e.newValue,!0),key.match(/^options/)&&e.newValue&&(n=JSON.parse(e.newValue),"undefined"!=typeof n.muteNotification&&n.muteNotification?jsxc.notification.muteSound(!0):jsxc.notification.unmuteSound(!0)),key.match(/^hidden/)&&(jsxc.master?clearTimeout(jsxc.toNotification):jsxc.isHidden()),key.match(/^focus/)&&(jsxc.master?clearTimeout(jsxc.toNotification):jsxc.hasFocus()),key.match(new RegExp("^history"+jsxc.storage.SEP))){var uid,el,message,history=JSON.parse(e.newValue);if(!jsxc.master){var win=jsxc.gui.window.get(bid);win.find(".jsxc_textarea").empty()}for(;history.length>0;)uid=history.pop(),message=new jsxc.Message(uid),el=message.getDOM(),0===el.length?(jsxc.master&&message.direction===jsxc.Message.OUT&&jsxc.xmpp.sendMessage(message),jsxc.gui.window._postMessage(message,!0)):message.isReceived()&&el.addClass("jsxc_received")}else{if(key.match(new RegExp("^window"+jsxc.storage.SEP)))return e.newValue?e.oldValue?(n=JSON.parse(e.newValue),o=JSON.parse(e.oldValue),n.minimize!==o.minimize&&(n.minimize?jsxc.gui.window._hide(bid):jsxc.gui.window._show(bid)),jsxc.gui.window.setText(bid,n.text),void(n.unread!==o.unread&&(0===n.unread?jsxc.gui.readMsg(bid):jsxc.gui._unreadMsg(bid,n.unread)))):void jsxc.gui.window.open(bid):void jsxc.gui.window._close(bid);if(key.match(/^unreadMsg/)&&jsxc.gui.favicon&&jsxc.gui.favicon.badge(parseInt(e.newValue)||0),key.match(new RegExp("^smp"+jsxc.storage.SEP))){if(!e.newValue)return jsxc.gui.dialog.close("smp"),jsxc.gui.window.hideOverlay(bid),void(jsxc.master&&jsxc.otr.objects[bid].sm.abort());n=JSON.parse(e.newValue),"undefined"!=typeof n.data?jsxc.gui.window.smpRequest(bid,n.data):jsxc.master&&n.sec&&(jsxc.gui.dialog.close("smp"),jsxc.gui.window.hideOverlay(bid),jsxc.otr.sendSmpReq(bid,n.sec,n.quest))}if(!jsxc.master&&key.match(new RegExp("^buddy"+jsxc.storage.SEP))){if(!e.newValue)return void jsxc.gui.roster.purge(bid);if(0===jsxc.gui.roster.getItem(bid).length)return void jsxc.gui.roster.add(bid);n=JSON.parse(e.newValue),o=JSON.parse(e.oldValue),jsxc.gui.update(bid),o.status===n.status&&o.sub===n.sub||jsxc.gui.roster.reorder(bid)}jsxc.master&&key.match(new RegExp("^deletebuddy"+jsxc.storage.SEP))&&e.newValue&&(n=JSON.parse(e.newValue),jsxc.xmpp.removeBuddy(n.jid),jsxc.storage.removeUserItem(key)),jsxc.master&&key.match(new RegExp("^buddy"+jsxc.storage.SEP))&&(n=JSON.parse(e.newValue),o=JSON.parse(e.oldValue),o.transferReq!==n.transferReq&&(jsxc.storage.updateUserItem("buddy",bid,"transferReq",-1),0===n.transferReq&&jsxc.otr.goPlain(bid),1===n.transferReq&&jsxc.otr.goEncrypt(bid)),o.name!==n.name&&jsxc.gui.roster._rename(bid,n.name)),"friendReq"===key&&(n=JSON.parse(e.newValue),jsxc.master&&n.approve>=0&&jsxc.xmpp.resFriendReq(n.jid,n.approve)),jsxc.master&&key.match(new RegExp("^add"+jsxc.storage.SEP))&&(n=JSON.parse(e.newValue),jsxc.xmpp.addBuddy(n.username,n.alias)),"roster"===key&&jsxc.gui.roster.toggle(e.newValue),jsxc.master&&key.match(new RegExp("^vcard"+jsxc.storage.SEP))&&null!==e.newValue&&e.newValue.match(/^request:/)&&jsxc.xmpp.loadVcard(bid,function(stanza){jsxc.storage.setUserItem("vcard",bid,{state:"success",data:$("<div>").append(stanza).html()})},function(){jsxc.storage.setUserItem("vcard",bid,{state:"error"})}),jsxc.master||!key.match(new RegExp("^vcard"+jsxc.storage.SEP))||null===e.newValue||e.newValue.match(/^request:/)||(n=JSON.parse(e.newValue),"undefined"!=typeof n.state&&$(document).trigger("loaded.vcard.jsxc",n),jsxc.storage.removeUserItem("vcard",bid)),"_cmd"===key&&e.newValue&&(n=JSON.parse(e.newValue)||{},jsxc.storage.removeUserItem("_cmd"),n.cmd&&n.target===jsxc.tab.CONST[jsxc.master?"MASTER":"SLAVE"]&&(jsxc.debug("Execute tab cmd: "+n.cmd),jsxc.exec(n.cmd,n.params)))}}}},saveBuddy:function(bid,data){return jsxc.storage.getUserItem("buddy",bid)?(jsxc.storage.updateUserItem("buddy",bid,data),"updated"):(jsxc.storage.setUserItem("buddy",bid,$.extend({jid:"",name:"",status:0,sub:"none",msgstate:0,transferReq:-1,trust:!1,fingerprint:null,res:[],type:"chat"},data)),"created")}},jsxc.tab={CONST:{MASTER:"master",SLAVE:"slave"},exec:function(target,cmd,params){params=Array.prototype.slice.call(arguments,2),1===params.length&&$.isArray(params[0])&&(params=params[0]),target===jsxc.tab.CONST[jsxc.master?"MASTER":"SLAVE"]&&(jsxc.exec(cmd,params),jsxc.master)||jsxc.storage.setUserItem("_cmd",{target:target,cmd:cmd,params:params,rnd:Math.random()})},execMaster:function(){var args=Array.prototype.slice.call(arguments);args.unshift(jsxc.tab.CONST.MASTER),jsxc.tab.exec.apply(this,args)},execSlave:function(){var args=Array.prototype.slice.call(arguments);args.unshift(jsxc.tab.CONST.SLAVE),jsxc.tab.exec.apply(this,args)}},jsxc.webrtc={conn:null,localStream:null,remoteStream:null,last_caller:null,AUTO_ACCEPT:!1,reqVideoFeatures:["urn:xmpp:jingle:apps:rtp:video","urn:xmpp:jingle:apps:rtp:audio","urn:xmpp:jingle:transports:ice-udp:1","urn:xmpp:jingle:apps:dtls:0"],reqFileFeatures:["urn:xmpp:jingle:1","urn:xmpp:jingle:apps:file-transfer:3"],chatJids:{},init:function(){var self=jsxc.webrtc;if(self.conn=jsxc.xmpp.conn,!self.conn.jingle)return void jsxc.error("No jingle plugin found!");var manager=self.conn.jingle.manager;$(document).on("message.jsxc",self.onMessage),$(document).on("presence.jsxc",self.onPresence),$(document).on("mediafailure.jingle",self.onMediaFailure),manager.on("incoming",$.proxy(self.onIncoming,self)),manager.on("terminated",$.proxy(self.onTerminated,self)),manager.on("ringing",$.proxy(self.onCallRinging,self)),manager.on("receivedFile",$.proxy(self.onReceivedFile,self)),manager.on("sentFile",function(sess,metadata){jsxc.debug("sent "+metadata.hash)}),manager.on("peerStreamAdded",$.proxy(self.onRemoteStreamAdded,self)),manager.on("peerStreamRemoved",$.proxy(self.onRemoteStreamRemoved,self)),manager.on("log:*",function(level,msg){jsxc.debug("[JINGLE]["+level+"]",msg)}),self.conn.caps&&$(document).on("caps.strophe",self.onCaps);var url=jsxc.options.get("RTCPeerConfig").url||jsxc.options.turnCredentialsPath,peerConfig=jsxc.options.get("RTCPeerConfig");"string"==typeof url&&url.length>0?self.getTurnCrendentials(url):(jsxc.storage.getUserItem("iceValidity")&&(jsxc.storage.removeUserItem("iceValidity"),peerConfig.iceServers=jsxc.options.RTCPeerConfig.iceServers,jsxc.options.set("RTCPeerConfig",peerConfig)),self.conn.jingle.setICEServers(peerConfig.iceServers))},onConnected:function(){jsxc.storage.removeUserItem("iceValidity")},onDisconnected:function(){var self=jsxc.webrtc;$(document).off("message.jsxc",self.onMessage),$(document).off("presence.jsxc",self.onPresence),$(document).off("mediafailure.jingle",self.onMediaFailure),$(document).off("caps.strophe",self.onCaps)},getTurnCrendentials:function(url){var self=jsxc.webrtc;url=url||jsxc.options.get("RTCPeerConfig").url||jsxc.options.turnCredentialsPath;var ttl=(jsxc.storage.getUserItem("iceValidity")||0)-(new Date).getTime();return jsxc.storage.getUserItem("iceConfig")&&(jsxc.storage.removeUserItem("iceConfig"),ttl=-1),ttl>0?(self.conn.jingle.setICEServers(jsxc.options.get("RTCPeerConfig").iceServers),void window.setTimeout(jsxc.webrtc.getTurnCrendentials,ttl+500)):void $.ajax(url,{async:!0,xhrFields:{withCredentials:jsxc.options.get("RTCPeerConfig").withCredentials},success:function(data){var ttl=data.ttl||3600,iceServers=data.iceServers;if(!iceServers&&data.url&&(jsxc.warn("Received RTCPeer configuration is deprecated. Use now RTCPeerConfig.url."),iceServers=[{urls:data.url}],data.username&&(iceServers[0].username=data.username),data.credential&&(iceServers[0].credential=data.credential)),iceServers&&iceServers.length>0){var url=iceServers[0].url&&iceServers[0].url.length>0,urls=iceServers[0].urls&&iceServers[0].urls.length>0;if(urls||url){jsxc.debug("ice servers received");var peerConfig=jsxc.options.get("RTCPeerConfig");peerConfig.iceServers=iceServers,jsxc.options.set("RTCPeerConfig",peerConfig),self.conn.jingle.setICEServers(iceServers),jsxc.storage.setUserItem("iceValidity",(new Date).getTime()+1e3*ttl)}else jsxc.warn("No valid url found in first ice object.")}},dataType:"json"})},getCapableRes:function(jid,features){var self=jsxc.webrtc,bid=jsxc.jidToBid(jid),res=Object.keys(jsxc.storage.getUserItem("res",bid)||{})||[];if(!features)return res;"string"==typeof features&&(features=[features]);var available=[];return $.each(res,function(i,r){self.conn.caps.hasFeatureByJid(bid+"/"+r,features)&&available.push(r)}),available},initWindow:function(event,win){var self=jsxc.webrtc;if(!win.hasClass("jsxc_groupchat")){if(jsxc.debug("webrtc.initWindow"),!self.conn)return void $(document).one("attached.jsxc",function(){self.initWindow(null,win)});var div=$("<div>").addClass("jsxc_video");win.find(".jsxc_tools .jsxc_settings").after(div);var screenMediaExtension=jsxc.options.get("screenMediaExtension")||{},browser=self.conn.jingle.RTC.webrtcDetectedBrowser;if(screenMediaExtension[browser]||jsxc.storage.getItem("debug")){var a=$("<a>");a.text($.t("Share_screen")),a.addClass("jsxc_shareScreen jsxc_video"),a.attr("href","#"),win.find(".jsxc_settings .jsxc_menu li:last").after($("<li>").append(a))}self.updateIcon(win.data("bid"))}},updateIcon:function(bid){jsxc.debug("Update icon",bid);var self=jsxc.webrtc;if(bid!==jsxc.jidToBid(self.conn.jid)){var win=jsxc.gui.window.get(bid),jid=win.data("jid"),ls=jsxc.storage.getUserItem("buddy",bid);if("string"!=typeof jid){if(!ls||"string"!=typeof ls.jid)return void jsxc.debug("[webrtc] Could not update icon, because could not find jid for "+bid);jid=ls.jid}var res=Strophe.getResourceFromJid(jid),el=win.find(".jsxc_video"),capableRes=self.getCapableRes(jid,self.reqVideoFeatures),targetRes=res;null===targetRes&&($.each(jsxc.storage.getUserItem("buddy",bid).res||[],function(index,val){if(capableRes.indexOf(val)>-1)return targetRes=val,!1}),jid=jid+"/"+targetRes),el.off("click"),capableRes.indexOf(targetRes)>-1?(el.click(function(){$(this).hasClass("jsxc_shareScreen")?self.startScreenSharing(jid):self.startCall(jid)}),el.removeClass("jsxc_disabled"),el.attr("title",$.t("Start_video_call"))):(el.addClass("jsxc_disabled"),el.attr("title",$.t("Video_call_not_possible")))}},onMessage:function(e,from){var self=jsxc.webrtc,bid=jsxc.jidToBid(from);jsxc.debug("webrtc.onmessage",from),self.chatJids[bid]!==from&&(self.updateIcon(bid),self.chatJids[bid]=from)},onPresence:function(ev,jid,status,presence){var self=jsxc.webrtc;0===$(presence).find('c[xmlns="'+Strophe.NS.CAPS+'"]').length&&(jsxc.debug("webrtc.onpresence",jid),self.updateIcon(jsxc.jidToBid(jid)))},setStatus:function(txt,d){var status=$(".jsxc_webrtc .jsxc_status"),duration="undefined"==typeof d||null===d?4e3:d;if(jsxc.debug("[Webrtc]",txt),status.html()&&(txt=status.html()+"<br />"+txt),status.html(txt),status.css({"margin-left":"-"+status.width()/2+"px",opacity:0,display:"block"}),status.stop().animate({opacity:1}),clearTimeout(status.data("timeout")),0!==duration){var to=setTimeout(function(){status.stop().animate({opacity:0},function(){status.html("")})},duration);status.data("timeout",to)}},onCaps:function(event,jid){var self=jsxc.webrtc;jsxc.gui.roster.loaded?self.updateIcon(jsxc.jidToBid(jid)):$(document).on("cloaded.roster.jsxc",function(){self.updateIcon(jsxc.jidToBid(jid))})},onMediaFailure:function(ev,err){var msg,self=jsxc.webrtc;switch(err=err||{},self.setStatus("media failure"),err.name){case"NotAllowedError":case"PERMISSION_DENIED":msg=$.t("PermissionDeniedError");break;case"HTTPS_REQUIRED":case"EXTENSION_UNAVAILABLE":msg=$.t(err.name);break;default:msg=$.t(err.name)!==err.name?$.t(err.name):$.t("UNKNOWN_ERROR")}jsxc.gui.window.postMessage({bid:jsxc.jidToBid(jsxc.webrtc.last_caller),direction:jsxc.Message.SYS,msg:$.t("Media_failure")+": "+msg+" ("+err.name+")."}),jsxc.gui.dialog.close(),jsxc.debug("media failure: "+err.name)},onIncoming:function(session){var self=jsxc.webrtc,type=session.constructor?session.constructor.name:null;if("FileTransferSession"===type)self.onIncomingFileTransfer(session);else if("MediaSession"===type){var reqMedia=!1;$.each(session.pc.remoteDescription.contents,function(){"both"===this.senders&&(reqMedia=!0)}),session.call=reqMedia,reqMedia?self.onIncomingCall(session):self.onIncomingStream(session)}else jsxc.warn("Unknown session type.")},onIncomingStream:function(session){function acceptIncomingStream(session){jsxc.gui.dialog.close(),jsxc.gui.showVideoWindow(session.peerID),session.accept()}jsxc.debug("incoming stream from "+session.peerID);var self=jsxc.webrtc,bid=jsxc.jidToBid(session.peerID);if(session.on("change:connectionState",$.proxy(self.onIceConnectionStateChanged,self)),self.postScreenMessage(bid,$.t("Incoming_stream"),session.sid),jsxc.notification.notify($.t("Incoming_stream"),$.t("from_sender",{sender:bid})),session.ring(),jsxc.webrtc.last_caller=session.peerID,jsxc.webrtc.AUTO_ACCEPT)return void acceptIncomingStream(session);var dialog=jsxc.gui.dialog.open(jsxc.gui.template.get("incomingCall",bid),{noClose:!0});dialog.find(".jsxc_accept").click(function(){$(document).trigger("accept.call.jsxc"),acceptIncomingStream(session)}),dialog.find(".jsxc_reject").click(function(){jsxc.gui.dialog.close(),$(document).trigger("reject.call.jsxc"),session.decline()})},onIncomingFileTransfer:function(session){jsxc.debug("incoming file transfer from "+session.peerID);var buddylist=jsxc.storage.getUserItem("buddylist")||[],bid=jsxc.jidToBid(session.peerID);if(buddylist.indexOf(bid)>-1){session.accept();var message=jsxc.gui.window.postMessage({_uid:session.sid+":msg",bid:bid,direction:jsxc.Message.IN,attachment:{name:session.receiver.metadata.name,type:session.receiver.metadata.type||"application/octet-stream"}});session.receiver.on("progress",function(sent,size){jsxc.gui.window.updateProgress(message,sent,size)})}},onIncomingCall:function(session){jsxc.debug("incoming call from "+session.peerID);var self=jsxc.webrtc,bid=jsxc.jidToBid(session.peerID);if(session.on("change:connectionState",$.proxy(self.onIceConnectionStateChanged,self)),self.postCallMessage(bid,$.t("Incoming_call"),session.sid),jsxc.notification.notify($.t("Incoming_call"),$.t("from_sender",{sender:bid})),session.ring(),jsxc.webrtc.last_caller=session.peerID,jsxc.webrtc.AUTO_ACCEPT)return void self.acceptIncomingCall(session);var dialog=jsxc.gui.dialog.open(jsxc.gui.template.get("incomingCall",bid),{noClose:!0});dialog.find(".jsxc_accept").click(function(){self.acceptIncomingCall(session)}),dialog.find(".jsxc_reject").click(function(){jsxc.gui.dialog.close(),$(document).trigger("reject.call.jsxc"),session.decline()})},acceptIncomingCall:function(session){$(document).trigger("accept.call.jsxc");var self=jsxc.webrtc;jsxc.switchEvents({"mediaready.jingle":function(ev,stream){self.setStatus("Accept call"),self.localStream=stream,self.conn.jingle.localStream=stream;var dialog=jsxc.gui.showVideoWindow(session.peerID);dialog.find(".jsxc_videoContainer").addClass("jsxc_establishing"),session.addStream(stream),session.accept()},"mediafailure.jingle":function(){session.decline()}}),self.reqUserMedia()},onTerminated:function(session,reason){var self=jsxc.webrtc,type=session.constructor?session.constructor.name:null;"MediaSession"===type&&self.onCallTerminated(session,reason)},onCallTerminated:function(session,reason){var self=jsxc.webrtc;self.setStatus("call terminated "+session.peerID+(reason&&reason.condition?reason.condition:""));var bid=jsxc.jidToBid(session.peerID);if(self.localStream)if("function"==typeof self.localStream.getTracks){var tracks=self.localStream.getTracks();tracks.forEach(function(track){track.stop()})}else"function"==typeof self.localStream.stop?self.localStream.stop():jsxc.warn("Could not stop local stream");$(".jsxc_remotevideo").length&&($(".jsxc_remotevideo")[0].src=""),$(".jsxc_localvideo").length&&($(".jsxc_localvideo")[0].src=""),self.conn.jingle.localStream=null,self.localStream=null,self.remoteStream=null,jsxc.gui.closeVideoWindow(),jsxc.gui.dialog.close(),$(document).trigger("reject.call.jsxc"),$(document).off("error.jingle");var msg=(reason&&reason.condition?": "+$.t("jingle_reason_"+reason.condition):"")+".";session.call?(msg=$.t("Call_terminated")+msg,jsxc.webrtc.postCallMessage(bid,msg,session.sid)):(msg=$.t("Stream_terminated")+msg,jsxc.webrtc.postScreenMessage(bid,msg,session.sid))},onCallRinging:function(){this.setStatus("ringing...",0),$(".jsxc_videoContainer").removeClass("jsxc_establishing").addClass("jsxc_ringing");
+},onRemoteStreamAdded:function(session,stream){var self=jsxc.webrtc;self.setStatus("Remote stream for session "+session.sid+" added."),self.remoteStream=stream;var isVideoDevice=stream.getVideoTracks().length>0,isAudioDevice=stream.getAudioTracks().length>0;self.setStatus(isVideoDevice?"Use remote video device.":"No remote video device"),self.setStatus(isAudioDevice?"Use remote audio device.":"No remote audio device"),$(".jsxc_remotevideo").length&&(self.attachMediaStream($("#jsxc_webrtc .jsxc_remotevideo"),stream),$("#jsxc_webrtc .jsxc_"+(isVideoDevice?"remotevideo":"noRemoteVideo")).addClass("jsxc_deviceAvailable"))},attachMediaStream:function(element,stream){var el=element instanceof jQuery?element.get(0):element;el.srcObject=stream,$(element).show()},onRemoteStreamRemoved:function(session){this.setStatus("Remote stream for "+session.jid+" removed.")},onIceConnectionStateChanged:function(session,state){var self=jsxc.webrtc;jsxc.debug("connection state for "+session.sid,state),"connected"===state?$("#jsxc_webrtc .jsxc_deviceAvailable").show():"failed"===state?(jsxc.gui.window.postMessage({bid:jsxc.jidToBid(session.peerID),direction:jsxc.Message.SYS,msg:$.t("ICE_connection_failure")}),session.end("failed-transport"),$(document).trigger("callterminated.jingle")):"interrupted"===state&&self.setStatus($.t("Connection_interrupted"))},startCall:function(jid,um){var self=jsxc.webrtc;return null===Strophe.getResourceFromJid(jid)?void jsxc.debug("We need a full jid"):(self.last_caller=jid,jsxc.switchEvents({"mediaready.jingle":function(ev,stream){jsxc.debug("media ready for outgoing call"),self.initiateOutgoingCall(jid,stream)},"mediafailure.jingle":function(){jsxc.gui.dialog.close()}}),void self.reqUserMedia(um))},initiateOutgoingCall:function(jid,stream){var self=jsxc.webrtc;self.localStream=stream,self.conn.jingle.localStream=stream;var dialog=jsxc.gui.showVideoWindow(jid);dialog.find(".jsxc_videoContainer").addClass("jsxc_establishing"),self.setStatus("Initiate call"),$(document).one("error.jingle",function(ev,sid,error){error&&"offer"!==error.source||setTimeout(function(){jsxc.gui.showAlert("Sorry, we couldn't establish a connection. Maybe your buddy is offline.")},500)});var session=self.conn.jingle.initiate(jid);session.call=!0,session.on("change:connectionState",$.proxy(self.onIceConnectionStateChanged,self)),self.postCallMessage(jsxc.jidToBid(jid),$.t("Call_started"),session.sid)},hangUp:function(reason,text){jsxc.webrtc.conn.jingle.manager&&!$.isEmptyObject(jsxc.webrtc.conn.jingle.manager.peers)?jsxc.webrtc.conn.jingle.terminate(null,reason,text):jsxc.gui.closeVideoWindow(),$(document).trigger("callterminated.jingle")},startScreenSharing:function(jid){var self=this;return null===Strophe.getResourceFromJid(jid)?void jsxc.debug("We need a full jid"):(self.last_caller=jid,jsxc.switchEvents({"mediaready.jingle":function(ev,stream){self.initiateScreenSharing(jid,stream)},"mediafailure.jingle":function(ev,err){jsxc.gui.dialog.close();var browser=self.conn.jingle.RTC.webrtcDetectedBrowser,screenMediaExtension=jsxc.options.get("screenMediaExtension")||{};screenMediaExtension[browser]&&("EXTENSION_UNAVAILABLE"===err.name||"NotAllowedError"===err.name&&"firefox"===browser)&&setTimeout(function(){jsxc.gui.window.postMessage({bid:jsxc.jidToBid(jid),direction:jsxc.Message.SYS,msg:$.t("Install_extension")+screenMediaExtension[browser]})},500)}}),void self.reqUserMedia(["screen"]))},initiateScreenSharing:function(jid,stream){var self=jsxc.webrtc,bid=jsxc.jidToBid(jid);jsxc.webrtc.localStream=stream,jsxc.webrtc.conn.jingle.localStream=stream;var container=jsxc.gui.showMinimizedVideoWindow();container.addClass("jsxc_establishing"),self.setStatus("Initiate stream"),$(document).one("error.jingle",function(e,sid,error){error&&"offer"!==error.source||setTimeout(function(){jsxc.gui.showAlert("Sorry, we couldn't establish a connection. Maybe your buddy is offline.")},500)});var constraints,browser=self.conn.jingle.RTC.webrtcDetectedBrowser,browserVersion=self.conn.jingle.RTC.webrtcDetectedVersion;constraints=browserVersion<33&&"firefox"===browser||"chrome"===browser?{mandatory:{OfferToReceiveAudio:!1,OfferToReceiveVideo:!1}}:{offerToReceiveAudio:!1,offerToReceiveVideo:!1};var session=self.conn.jingle.initiate(jid,void 0,constraints);session.call=!1,session.on("change:connectionState",$.proxy(self.onIceConnectionStateChanged,self)),session.on("accepted",function(){self.onSessionAccepted(session)}),self.postScreenMessage(bid,$.t("Stream_started"),session.sid)},onSessionAccepted:function(session){var self=jsxc.webrtc;$(".jsxc_videoContainer").removeClass("jsxc_ringing"),self.postScreenMessage(jsxc.jidToBid(session.peerID),$.t("Connection_accepted"),session.sid)},reqUserMedia:function(um){function filterUserMedia(devices){var availableDevices=devices.map(function(device){return device.kind});um=um.filter(function(el){return availableDevices.indexOf(el)!==-1||availableDevices.indexOf(el+"input")!==-1}),um.length?jsxc.webrtc.getUserMedia(um):jsxc.warn("No audio/video device available.")}return this.localStream?void $(document).trigger("mediaready.jingle",[this.localStream]):(um=um||["video","audio"],jsxc.gui.dialog.open(jsxc.gui.template.get("allowMediaAccess"),{noClose:!0}),void(um.indexOf("screen")>=0?jsxc.webrtc.getScreenMedia():"undefined"!=typeof navigator&&"undefined"!=typeof navigator.mediaDevices&&"undefined"!=typeof navigator.mediaDevices.enumerateDevices?navigator.mediaDevices.enumerateDevices().then(filterUserMedia).catch(function(err){jsxc.warn(err.name+": "+err.message)}):"undefined"!=typeof MediaStreamTrack&&"undefined"!=typeof MediaStreamTrack.getSources?MediaStreamTrack.getSources(filterUserMedia):jsxc.webrtc.getUserMedia(um)))},getUserMedia:function(um){var self=jsxc.webrtc,constraints={};um.indexOf("video")>-1&&(constraints.video=!0),um.indexOf("audio")>-1&&(constraints.audio=!0);try{self.conn.jingle.getUserMedia(constraints,self.userMediaCallback)}catch(e){jsxc.error("GUM failed: ",e),$(document).trigger("mediafailure.jingle")}},userMediaCallback:function(err,stream){err?(jsxc.warn("Failed to get access to local media. Error ",err),$(document).trigger("mediafailure.jingle",[err])):stream&&(jsxc.debug("onUserMediaSuccess"),$(document).trigger("mediaready.jingle",[stream]))},getScreenMedia:function(){var self=jsxc.webrtc;jsxc.debug("get screen media"),self.conn.jingle.getScreenMedia(self.screenMediaCallback)},screenMediaCallback:function(err,stream){return err?void $(document).trigger("mediafailure.jingle",[err]):void(stream&&(jsxc.debug("onScreenMediaSuccess"),$(document).trigger("mediaready.jingle",[stream])))},screenMediaAvailable:function(){var self=jsxc.webrtc,browser=self.conn.jingle.RTC.webrtcDetectedBrowser,chrome=!!sessionStorage.getScreenMediaJSExtensionId&&"chrome"===browser,firefox="firefox"===browser;return chrome||firefox},snapshot:function(video){video||jsxc.debug("Missing video element"),$(".jsxc_snapshotbar p").remove();var canvas=$("<canvas/>").css("display","none").appendTo("body").attr({width:video.width(),height:video.height()}).get(0),ctx=canvas.getContext("2d");ctx.drawImage(video[0],0,0);var img=$("<img/>"),url=null;try{url=canvas.toDataURL("image/jpeg")}catch(err){return void jsxc.warn("Error",err)}img[0].src=url;var link=$("<a/>").attr({target:"_blank",href:url});link.append(img),$(".jsxc_snapshotbar").append(link),canvas.remove()},sendFile:function(jid,file){jsxc.debug("Send file via webrtc");var self=jsxc.webrtc;if(!Strophe.getResourceFromJid(jid))return void jsxc.warn("Require full jid to send file via webrtc");var sess=self.conn.jingle.manager.createFileTransferSession(jid);return sess.on("change:sessionState",function(){jsxc.debug("Session state",sess.state)}),sess.on("change:connectionState",function(){jsxc.debug("Connection state",sess.connectionState)}),sess.start(file),sess},onReceivedFile:function(sess,file,metadata){if(jsxc.debug("file received",metadata),FileReader){var type,reader=new FileReader;if(metadata.type)type=metadata.type;else{var ext=metadata.name.replace(/.+\.([a-z0-9]+)$/i,"$1").toLowerCase();switch(ext){case"jpg":case"jpeg":case"png":case"gif":case"svg":type="image/"+ext.replace(/^jpg$/,"jpeg");break;case"mp3":case"wav":type="audio/"+ext;break;case"pdf":type="application/pdf";break;case"txt":type="text/"+ext;break;default:type="application/octet-stream"}}reader.onload=function(ev){jsxc.gui.window.postMessage({_uid:sess.sid+":msg",bid:jsxc.jidToBid(sess.peerID),direction:jsxc.Message.IN,attachment:{name:metadata.name,type:type,size:metadata.size,data:ev.target.result}})},file.type||(file=new File([file],metadata.name,{type:type})),reader.readAsDataURL(file)}}},jsxc.webrtc.postCallMessage=function(bid,msg,uid){jsxc.gui.window.postMessage({_uid:uid,bid:bid,direction:jsxc.Message.SYS,msg:":telephone_receiver: "+msg})},jsxc.webrtc.postScreenMessage=function(bid,msg,uid){jsxc.gui.window.postMessage({_uid:uid,bid:bid,direction:jsxc.Message.SYS,msg:":computer: "+msg})},jsxc.gui.showMinimizedVideoWindow=function(){var self=jsxc.webrtc;jsxc.gui.dialog.close();var videoContainer=$("<div/>");videoContainer.addClass("jsxc_videoContainer jsxc_minimized"),videoContainer.appendTo("body"),videoContainer.draggable({containment:"parent"});var videoElement=$('<video class="jsxc_localvideo" autoplay=""></video>');return videoElement.appendTo(videoContainer),videoElement[0].muted=!0,videoElement[0].volume=0,self.localStream&&self.attachMediaStream(videoElement,self.localStream),videoContainer.append('<div class="jsxc_controlbar"><div><div class="jsxc_hangUp jsxc_videoControl"></div></div></div></div>'),videoContainer.find(".jsxc_hangUp").click(function(){jsxc.webrtc.hangUp("success")}),videoContainer.click(function(){videoContainer.find(".jsxc_controlbar").toggleClass("jsxc_visible")}),videoContainer},jsxc.gui.showVideoWindow=function(jid){var self=jsxc.webrtc;jsxc.gui.dialog.close(),$("body").append(jsxc.gui.template.get("videoWindow")),$("#jsxc_webrtc .jsxc_localvideo")[0].muted=!0,$("#jsxc_webrtc .jsxc_localvideo")[0].volume=0;var rv=$("#jsxc_webrtc .jsxc_remotevideo"),lv=$("#jsxc_webrtc .jsxc_localvideo");lv.draggable({containment:"parent"}),self.localStream&&self.attachMediaStream(lv,self.localStream);var w_dialog=$("#jsxc_webrtc").width(),w_remote=rv.width();if(w_remote>w_dialog){var scale=w_dialog/w_remote,new_h=rv.height()*scale,new_w=w_dialog,vc=$("#jsxc_webrtc .jsxc_videoContainer");rv.height(new_h),rv.width(new_w),vc.height(new_h),vc.width(new_w),lv.height(lv.height()*scale),lv.width(lv.width()*scale)}self.remoteStream&&(self.attachMediaStream(rv,self.remoteStream),$("#jsxc_webrtc .jsxc_"+(self.remoteStream.getVideoTracks().length>0?"remotevideo":"noRemoteVideo")).addClass("jsxc_deviceAvailable"));var win=jsxc.gui.window.open(jsxc.jidToBid(jid));return win.find(".slimScrollDiv").resizable("disable"),jsxc.gui.window.resize(win,{size:{width:$("#jsxc_webrtc .jsxc_chatarea").width(),height:$("#jsxc_webrtc .jsxc_chatarea").height()}},!0),$("#jsxc_webrtc .jsxc_chatarea ul").append(win.detach()),$("#jsxc_webrtc .jsxc_hangUp").click(function(){jsxc.webrtc.hangUp("success")}),$("#jsxc_webrtc .jsxc_fullscreen").click(function(){$.support.fullscreen&&($(document).one("disabled.fullscreen",function(){lv.removeAttr("style")}),$("#jsxc_webrtc .jsxc_videoContainer").fullscreen())}),$("#jsxc_webrtc .jsxc_videoContainer").click(function(){$("#jsxc_webrtc .jsxc_controlbar").toggleClass("jsxc_visible")}),$("#jsxc_webrtc")},jsxc.gui.closeVideoWindow=function(){var win=$("#jsxc_webrtc .jsxc_chatarea > ul > li");win.length>0&&($("#jsxc_windowList > ul").prepend(win.detach()),win.find(".slimScrollDiv").resizable("enable"),jsxc.gui.window.resize(win)),$("#jsxc_webrtc, .jsxc_videoContainer").remove()},$.extend(jsxc.CONST,{KEYCODE_ENTER:13,KEYCODE_ESC:27}),$(document).ready(function(){$(document).on("init.window.jsxc",jsxc.webrtc.initWindow),$(document).on("attached.jsxc",jsxc.webrtc.init),$(document).on("disconnected.jsxc",jsxc.webrtc.onDisconnected),$(document).on("connected.jsxc",jsxc.webrtc.onConnected)}),jsxc.xmpp.bookmarks={},jsxc.xmpp.bookmarks.remote=function(){return jsxc.xmpp.conn.caps&&jsxc.xmpp.hasFeatureByJid(jsxc.xmpp.conn.domain,Strophe.NS.PUBSUB+"#publish")},jsxc.xmpp.bookmarks.load=function(){var caps=jsxc.xmpp.conn.caps,ver=caps._jidVerIndex[jsxc.xmpp.conn.domain];ver&&caps._knownCapabilities[ver]||$(document).on("caps.strophe",function(ev,from){from===jsxc.xmpp.conn.domain&&(jsxc.xmpp.bookmarks.load(),$(document).off(ev))}),jsxc.xmpp.bookmarks.remote()?jsxc.xmpp.bookmarks.loadFromRemote():jsxc.xmpp.bookmarks.loadFromLocal()},jsxc.xmpp.bookmarks.loadFromLocal=function(){jsxc.debug("Load bookmarks from local storage");var bookmarks=jsxc.storage.getUserItem("bookmarks")||[],bl=jsxc.storage.getUserItem("buddylist")||[];$.each(bookmarks,function(){var room=this,roomdata=jsxc.storage.getUserItem("buddy",room)||{};bl.push(room),jsxc.gui.roster.add(room),roomdata.autojoin&&(jsxc.debug("auto join "+room),jsxc.xmpp.conn.muc.join(room,roomdata.nickname))}),jsxc.storage.setUserItem("buddylist",bl)},jsxc.xmpp.bookmarks.loadFromRemote=function(){jsxc.debug("Load bookmarks from pubsub");var bookmarks=jsxc.xmpp.conn.bookmarks;bookmarks.get(function(stanza){var bl=jsxc.storage.getUserItem("buddylist");$(stanza).find("conference").each(function(){var conference=$(this),room=conference.attr("jid"),roomName=conference.attr("name")||room,autojoin=conference.attr("autojoin")||!1,nickname=conference.find("nick").text();nickname=nickname.length>0?nickname:Strophe.getNodeFromJid(jsxc.xmpp.conn.jid),"true"===autojoin?autojoin=!0:"false"===autojoin&&(autojoin=!1);var data=jsxc.storage.getUserItem("buddy",room)||{};data=$.extend(data,{jid:room,name:roomName,sub:"both",status:0,type:"groupchat",state:jsxc.muc.CONST.ROOMSTATE.INIT,subject:null,bookmarked:!0,autojoin:autojoin,nickname:nickname}),jsxc.storage.setUserItem("buddy",room,data),bl.push(room),jsxc.gui.roster.add(room),autojoin&&(jsxc.debug("auto join "+room),jsxc.xmpp.conn.muc.join(room,nickname))}),jsxc.storage.setUserItem("buddylist",bl)},function(stanza){var err=jsxc.xmpp.bookmarks.parseErr(stanza);"item-not-found"===err.reasons[0]?(jsxc.debug("create bookmark node"),bookmarks.createBookmarksNode(function(){jsxc.debug("Bookmark node created.")},function(){jsxc.debug("Could not create bookmark node.")})):jsxc.debug("[XMPP] Could not create bookmark: "+err.type,err.reasons)})},jsxc.xmpp.bookmarks.parseErr=function(stanza){var error=$(stanza).find("error"),type=error.attr("type"),reasons=error.children().map(function(){return $(this).prop("tagName")});return{type:type,reasons:reasons}},jsxc.xmpp.bookmarks.delete=function(room,soft){soft||jsxc.gui.roster.purge(room),jsxc.xmpp.bookmarks.remote()?jsxc.xmpp.bookmarks.deleteFromRemote(room,soft):jsxc.xmpp.bookmarks.deleteFromLocal(room,soft)},jsxc.xmpp.bookmarks.deleteFromRemote=function(room,soft){var bookmarks=jsxc.xmpp.conn.bookmarks;bookmarks.delete(room,function(){jsxc.debug("Bookmark deleted "+room),soft&&(jsxc.gui.roster.getItem(room).removeClass("jsxc_bookmarked"),jsxc.storage.updateUserItem("buddy",room,"bookmarked",!1),jsxc.storage.updateUserItem("buddy",room,"autojoin",!1))},function(stanza){var err=jsxc.xmpp.bookmarks.parseErr(stanza);jsxc.debug("[XMPP] Could not delete bookmark: "+err.type,err.reasons)})},jsxc.xmpp.bookmarks.deleteFromLocal=function(room,soft){var bookmarks=jsxc.storage.getUserItem("bookmarks"),index=bookmarks.indexOf(room);index>-1&&bookmarks.splice(index,1),jsxc.storage.setUserItem("bookmarks",bookmarks),soft&&(jsxc.gui.roster.getItem(room).removeClass("jsxc_bookmarked"),jsxc.storage.updateUserItem("buddy",room,"bookmarked",!1),jsxc.storage.updateUserItem("buddy",room,"autojoin",!1))},jsxc.xmpp.bookmarks.add=function(room,alias,nick,autojoin){jsxc.xmpp.bookmarks.remote()?jsxc.xmpp.bookmarks.addToRemote(room,alias,nick,autojoin):jsxc.xmpp.bookmarks.addToLocal(room,alias,nick,autojoin)},jsxc.xmpp.bookmarks.addToRemote=function(room,alias,nick,autojoin){var bookmarks=jsxc.xmpp.conn.bookmarks,success=function(){jsxc.debug("New bookmark created",room),jsxc.gui.roster.getItem(room).addClass("jsxc_bookmarked"),jsxc.storage.updateUserItem("buddy",room,"bookmarked",!0),jsxc.storage.updateUserItem("buddy",room,"autojoin",autojoin),jsxc.storage.updateUserItem("buddy",room,"nickname",nick)},error=function(){jsxc.warn("Could not create bookmark",room)};bookmarks.add(room,alias,nick,autojoin,success,error)},jsxc.xmpp.bookmarks.addToLocal=function(room,alias,nick,autojoin){jsxc.gui.roster.getItem(room).addClass("jsxc_bookmarked"),jsxc.storage.updateUserItem("buddy",room,"bookmarked",!0),jsxc.storage.updateUserItem("buddy",room,"autojoin",autojoin),jsxc.storage.updateUserItem("buddy",room,"nickname",nick);var bookmarks=jsxc.storage.getUserItem("bookmarks")||[];bookmarks.indexOf(room)<0&&(bookmarks.push(room),jsxc.storage.setUserItem("bookmarks",bookmarks))},jsxc.xmpp.bookmarks.showDialog=function(room){var dialog=jsxc.gui.dialog.open(jsxc.gui.template.get("bookmarkDialog")),data=jsxc.storage.getUserItem("buddy",room);$("#jsxc_room").val(room),$("#jsxc_nickname").val(data.nickname),$("#jsxc_bookmark").change(function(){$(this).prop("checked")?($("#jsxc_nickname").prop("disabled",!1),$("#jsxc_autojoin").prop("disabled",!1),$("#jsxc_autojoin").parent(".checkbox").removeClass("disabled")):($("#jsxc_nickname").prop("disabled",!0),$("#jsxc_autojoin").prop("disabled",!0).prop("checked",!1),$("#jsxc_autojoin").parent(".checkbox").addClass("disabled"))}),$("#jsxc_bookmark").prop("checked",data.bookmarked),$("#jsxc_autojoin").prop("checked",data.autojoin),$("#jsxc_bookmark").change(),dialog.find("form").submit(function(ev){ev.preventDefault();var bookmarked=$("#jsxc_bookmark").prop("checked"),autojoin=$("#jsxc_autojoin").prop("checked"),nickname=$("#jsxc_nickname").val();return bookmarked?jsxc.xmpp.bookmarks.add(room,data.name,nickname,autojoin):data.bookmarked&&jsxc.xmpp.bookmarks.delete(room,!0),jsxc.gui.dialog.close(),!1})},jsxc.xmpp.chatState={conn:null,toComposingNotificationDelay:900},jsxc.xmpp.chatState.init=function(){var self=jsxc.xmpp.chatState;return jsxc.xmpp.conn&&jsxc.xmpp.connected?($(document).off("composing.chatstates",jsxc.xmpp.chatState.onComposing),$(document).off("paused.chatstates",jsxc.xmpp.chatState.onPaused),$(document).off("active.chatstates",jsxc.xmpp.chatState.onActive),self.isDisabled()?void jsxc.debug("chat state notification disabled"):(self.conn=jsxc.xmpp.conn,$(document).on("composing.chatstates",jsxc.xmpp.chatState.onComposing),$(document).on("paused.chatstates",jsxc.xmpp.chatState.onPaused),void $(document).on("active.chatstates",jsxc.xmpp.chatState.onActive))):void $(document).on("attached.jsxc",self.init)},jsxc.xmpp.chatState.onComposing=function(ev,jid){var self=jsxc.xmpp.chatState,bid=jsxc.jidToBid(jid),data=jsxc.storage.getUserItem("buddy",bid)||null;if(data&&!jsxc.xmpp.chatState.isDisabled()&&("groupchat"!==data.type||Strophe.getResourceFromJid(jid)!==Strophe.getNodeFromJid(self.conn.jid))){var user="groupchat"===data.type?Strophe.getResourceFromJid(jid):data.name,win=jsxc.gui.window.get(bid);if(0!==win.length){var usersComposing=win.data("composing")||[];usersComposing.indexOf(user)===-1&&(usersComposing.push(user),win.data("composing",usersComposing));var msg=self._genComposingMsg(usersComposing);jsxc.xmpp.chatState.setStatus(win,msg)}}},jsxc.xmpp.chatState.onPaused=function(ev,jid){var self=jsxc.xmpp.chatState,bid=jsxc.jidToBid(jid),data=jsxc.storage.getUserItem("buddy",bid)||null;if(data&&!jsxc.xmpp.chatState.isDisabled()){var user="groupchat"===data.type?Strophe.getResourceFromJid(jid):data.name,win=jsxc.gui.window.get(bid);if(0!==win.length){var usersComposing=win.data("composing")||[];usersComposing.indexOf(user)>=0&&(usersComposing.splice(usersComposing.indexOf(user),1),win.data("composing",usersComposing));var composingMsg;0!==usersComposing.length&&(composingMsg=self._genComposingMsg(usersComposing)),jsxc.xmpp.chatState.setStatus(win,composingMsg)}}},jsxc.xmpp.chatState.onActive=function(ev,jid){jsxc.xmpp.chatState.onPaused(ev,jid)},jsxc.xmpp.chatState.startComposing=function(bid){var self=jsxc.xmpp.chatState;if(jsxc.xmpp.conn&&jsxc.xmpp.conn.chatstates&&!jsxc.xmpp.chatState.isDisabled()){var win=jsxc.gui.window.get(bid),timeout=win.data("composing-timeout"),type=win.hasClass("jsxc_groupchat")?"groupchat":"chat";timeout?clearTimeout(timeout):jsxc.xmpp.conn.chatstates.sendComposing(bid,type),timeout=setTimeout(function(){self.pauseComposing(bid,type),win.data("composing-timeout",null)},self.toComposingNotificationDelay),win.data("composing-timeout",timeout)}},jsxc.xmpp.chatState.pauseComposing=function(bid,type){jsxc.xmpp.chatState.isDisabled()||jsxc.xmpp.conn.chatstates.sendPaused(bid,type)},jsxc.xmpp.chatState.endComposing=function(bid){var win=jsxc.gui.window.get(bid);win.data("composing-timeout")&&clearTimeout(win.data("composing-timeout"))},jsxc.xmpp.chatState._genComposingMsg=function(usersComposing){return usersComposing&&0!==usersComposing.length?usersComposing.length>1?usersComposing.join(", ")+$.t("_are_composing"):$.t("_is_composing"):(jsxc.debug("usersComposing array is empty?"),"")},jsxc.xmpp.chatState.setStatus=function(win,msg){var statusMsgElement=win.find(".jsxc_status-msg");statusMsgElement.text(msg||""),statusMsgElement.attr("title",msg||""),msg?(statusMsgElement.addClass("jsxc_composing"),win.addClass("jsxc_status-msg-show")):(statusMsgElement.removeClass("jsxc_composing"),win.removeClass("jsxc_status-msg-show"))},jsxc.xmpp.chatState.isDisabled=function(){var options=jsxc.options.get("chatState")||{};return!options.enable},$(document).on("attached.jsxc",jsxc.xmpp.chatState.init),jsxc.xmpp.httpUpload={conn:null,ready:!1,CONST:{NS:{HTTPUPLOAD:"urn:xmpp:http:upload"}}},jsxc.xmpp.httpUpload.init=function(o){var self=jsxc.xmpp.httpUpload;self.conn=jsxc.xmpp.conn;var fileTransferOptions=jsxc.options.get("fileTransfer")||{},options=o||jsxc.options.get("httpUpload");if(!fileTransferOptions.httpUpload.enable)return jsxc.debug("http upload disabled"),void jsxc.options.set("httpUpload",!1);if(options&&options.server)return void(self.ready=!0);var caps=jsxc.xmpp.conn.caps,domain=jsxc.xmpp.conn.domain;return caps&&domain&&"undefined"!=typeof caps._knownCapabilities[caps._jidVerIndex[domain]]?void self.discoverUploadService():(jsxc.debug("Waiting for server capabilities"),void $(document).on("caps.strophe",function onCaps(ev,from){from===domain&&(self.init(),$(document).off("caps.strophe",onCaps))}))},jsxc.xmpp.httpUpload.discoverUploadService=function(){var self=jsxc.xmpp.httpUpload,domain=self.conn.domain;jsxc.debug("discover http upload service"),jsxc.xmpp.conn.caps.hasFeatureByJid(domain,self.CONST.NS.HTTPUPLOAD)&&self.queryItemForUploadService(domain),self.conn.disco.items(domain,null,function(items){$(items).find("item").each(function(){var jid=$(this).attr("jid");return!self.ready&&void self.queryItemForUploadService(jid)})})},jsxc.xmpp.httpUpload.queryItemForUploadService=function(jid,cb){var self=jsxc.xmpp.httpUpload;jsxc.debug("query "+jid+" for upload service"),self.conn.disco.info(jid,null,function(info){var httpUploadFeature=$(info).find('feature[var="'+self.CONST.NS.HTTPUPLOAD+'"]'),httpUploadMaxSize=$(info).find('field[var="max-file-size"]');httpUploadFeature.length>0&&(jsxc.debug("http upload service found on "+jid),jsxc.options.set("httpUpload",{server:jid,name:$(info).find("identity").attr("name"),maxSize:parseInt(httpUploadMaxSize.text())||-1}),self.ready=!0,"function"==typeof cb&&cb.call(info))})},jsxc.xmpp.httpUpload.sendFile=function(file,message){jsxc.debug("Send file via http upload");var self=jsxc.xmpp.httpUpload;message.encrypted=!1,self.requestSlot(file,function(data){data?data.error?(jsxc.warn('The xmpp server responded with an error of the type "'+data.error.type+'"'),message.getDOM().remove(),jsxc.gui.window.postMessage({bid:message.bid,direction:jsxc.Message.SYS,msg:data.error.text}),message.delete()):data.get&&data.put&&self.uploadFile(data.put,file,message,function(){var a=$("<a>");a.attr("href",data.get),a.attr("data-name",message.attachment.name),a.attr("data-type",message.attachment.type),a.attr("data-size",message.attachment.size),message.attachment.thumbnail&&a.attr("data-thumbnail",message.attachment.thumbnail),a.text(data.get),message.attachment.data=data.get,message.msg=$("<span>").append(a).html(),message.type=jsxc.Message.HTML,jsxc.gui.window.postMessage(message)}):jsxc.warn("Unknown error occured. Please check the debug log.")})},jsxc.xmpp.httpUpload.uploadFile=function(url,file,message,success_cb){$.ajax({url:url,type:"PUT",contentType:"application/octet-stream",data:file,processData:!1,xhr:function(){var xhr=$.ajaxSettings.xhr();return xhr.upload.onprogress=function(ev){ev.lengthComputable&&jsxc.gui.window.updateProgress(message,ev.loaded,ev.total)},xhr},success:function(){jsxc.debug("file successful uploaded"),jsxc.gui.window.updateProgress(message,1,1),success_cb&&success_cb()},error:function(){jsxc.warn("error while uploading file to "+url),message.error="Could not upload file",jsxc.gui.window.postMessage(message)}})},jsxc.xmpp.httpUpload.requestSlot=function(file,cb){var self=jsxc.xmpp.httpUpload,options=jsxc.options.get("httpUpload");if(!options||!options.server)return void jsxc.warn("could not request upload slot, because I am not aware of a server or http upload is disabled");var iq=$iq({to:options.server,type:"get"}).c("request",{xmlns:self.CONST.NS.HTTPUPLOAD}).c("filename").t(file.name).up().c("size").t(file.size);self.conn.sendIQ(iq,function(stanza){self.successfulRequestSlotCB(stanza,cb)},function(stanza){self.failedRequestSlotCB(stanza,cb)})},jsxc.xmpp.httpUpload.successfulRequestSlotCB=function(stanza,cb){var self=jsxc.xmpp.httpUpload,slot=$(stanza).find('slot[xmlns="'+self.CONST.NS.HTTPUPLOAD+'"]');if(slot.length>0){var put=slot.find("put").text(),get=slot.find("get").text();cb({put:put,get:get})}else self.failedRequestSlotCB(stanza,cb)},jsxc.xmpp.httpUpload.failedRequestSlotCB=function(stanza,cb){if($(stanza).find("error").length<=0)return jsxc.warn("response does not contain a slot element"),void cb();var error={type:$(stanza).find("error").attr("type")||"unknown",text:$(stanza).find("error text").text()};$(stanza).find("error not-acceptable")?error.reason="not-acceptable":$(stanza).find("error resource-constraint")?error.reason="resource-constraint":$(stanza).find("error not-allowed")&&(error.reason="not-allowed"),cb({error:error})},$(document).on("stateChange.jsxc",function(ev,state){state===jsxc.CONST.STATE.READY&&jsxc.xmpp.httpUpload.init()}),jsxc.xmpp.mam={conn:null},jsxc.xmpp.mam.init=function(){var self=jsxc.xmpp.mam;self.conn=jsxc.xmpp.conn},jsxc.xmpp.mam.isEnabled=function(){var mamOptions=jsxc.options.get("mam")||{},features=jsxc.storage.getUserItem("features")||[],hasFeatureMam2=features.indexOf(Strophe.NS.MAM)>=0;return hasFeatureMam2&&mamOptions.enable},jsxc.xmpp.mam.nextMessages=function(bid){var self=jsxc.xmpp.mam,buddyData=jsxc.storage.getUserItem("buddy",bid)||{},lastArchiveUid=buddyData.lastArchiveUid,queryId=self.conn.getUniqueId(),mamOptions=jsxc.options.get("mam")||{},history=jsxc.storage.getUserItem("history",bid)||[];if(buddyData.archiveExhausted)return void jsxc.debug("No more archived messages.");var queryOptions={queryid:queryId,before:lastArchiveUid||"",with:bid,onMessage:function(){var args=Array.from(arguments);return args.unshift(bid),self.onMessage.apply(this,args),!0},onComplete:function(){var args=Array.from(arguments);return args.unshift(bid),self.onComplete.apply(this,args),!0}},oldestMessageId=history[history.length-1];if(oldestMessageId&&!lastArchiveUid){var oldestMessage=new jsxc.Message(oldestMessageId);queryOptions.end=new Date(oldestMessage.stamp).toISOString()}mamOptions.max&&(queryOptions.max=mamOptions.max),self.conn.mam.query(void 0,queryOptions)},jsxc.xmpp.mam.onMessage=function(bid,stanza){stanza=$(stanza);var result=stanza.find('result[xmlns="'+Strophe.NS.MAM+'"]'),queryId=result.attr("queryid");if(1===result.length){var forwarded=result.find('forwarded[xmlns="'+jsxc.CONST.NS.FORWARD+'"]'),message=forwarded.find("message"),messageId=$(message).attr("id");if(1===message.length){var from=message.attr("from"),to=message.attr("to");if(jsxc.jidToBid(from)===bid||jsxc.jidToBid(to)===bid){var delay=forwarded.find('delay[xmlns="urn:xmpp:delay"]'),stamp=delay.length>0?new Date(delay.attr("stamp")):new Date;stamp=stamp.getTime();var body=$(message).find("body:first").text();if(!body||body.match(/\?OTR/i))return!0;var direction=jsxc.jidToBid(to)===bid?jsxc.Message.OUT:jsxc.Message.IN,win=jsxc.gui.window.get(bid),textarea=win.find(".jsxc_textarea");if(0===textarea.find('[id="'+messageId+'"]').length){var pseudoChatElement=$("<div>");pseudoChatElement.attr("id",messageId.replace(/:/g,"-")),pseudoChatElement.attr("data-queryId",queryId);var lastMessage=textarea.find('[data-queryId="'+queryId+'"]').last(),history=jsxc.storage.getUserItem("history",bid)||[];history.indexOf(messageId)<0&&(0===lastMessage.length?(textarea.prepend(pseudoChatElement),history.push(messageId)):(lastMessage.after(pseudoChatElement),history.splice(history.indexOf(lastMessage.attr("id").replace(/-/g,":")),0,messageId))),jsxc.storage.setUserItem("history",bid,history)}jsxc.gui.window.postMessage({_uid:messageId,bid:bid,direction:direction,msg:body,encrypted:!1,forwarded:!0,stamp:stamp})}}}},jsxc.xmpp.mam.onComplete=function(bid,stanza){stanza=$(stanza);var fin=stanza.find('fin[xmlns="'+Strophe.NS.MAM+'"]'),buddyData=jsxc.storage.getUserItem("buddy",bid)||{},win=jsxc.gui.window.get(bid);buddyData.archiveExhausted="true"===fin.attr("complete"),buddyData.lastArchiveUid=fin.find("first").text(),buddyData.archiveExhausted&&win.find(".jsxc_fade").removeClass("jsxc_mam-enable"),jsxc.storage.setUserItem("buddy",bid,buddyData)},jsxc.xmpp.mam.initWindow=function(ev,win){var self=jsxc.xmpp.mam;if(!jsxc.xmpp.conn&&jsxc.master)return void $(document).one("attached.jsxc",function(){self.initWindow(null,win)});if(jsxc.master){$(document).on("features.jsxc",function(){jsxc.xmpp.mam.addLoadButton(win)});var features=jsxc.storage.getUserItem("features");null!==features&&jsxc.xmpp.mam.addLoadButton(win)}},jsxc.xmpp.mam.addLoadButton=function(win){if(jsxc.xmpp.mam.isEnabled()){var classNameShow="jsxc_show",classNameMamEnable="jsxc_mam-enable",bid=win.attr("data-bid"),element=$("<div>");element.addClass("jsxc_mam-load-more"),element.appendTo(win.find(".slimScrollDiv")),element.click(function(){jsxc.xmpp.mam.nextMessages(bid)}),element.text($.t("Load_older_messages")),win.find(".jsxc_textarea").scroll(function(){var buddyData=jsxc.storage.getUserItem("buddy",bid)||{};this.scrollTop<42&&!buddyData.archiveExhausted?element.addClass(classNameShow):element.removeClass(classNameShow),buddyData.archiveExhausted||win.find(".jsxc_fade").addClass(classNameMamEnable)}),win.find(".jsxc_textarea").scroll()}},$(document).on("attached.jsxc",jsxc.xmpp.mam.init),$(document).on("init.window.jsxc",jsxc.xmpp.mam.initWindow),jsxc.gui.template.aboutDialog='<h3>JavaScript XMPP Chat</h3>\n<p>\n <b>Version: </b><span data-var="version" />\n <br /> <a href="http://jsxc.org/" target="_blank">www.jsxc.org</a>\n</p>\n<p>\n <i>Released under the MIT license</i>\n</p>\n<p>\n Real-time chat app for <span data-var="app_name" /> and more.\n <br /> Requires an external <a href="https://xmpp.org/xmpp-software/servers/" target="_blank">XMPP server</a>.\n</p>\n<p class="jsxc_credits">\n <b>Credits: </b> <a href="http://www.beepzoid.com/old-phones/" target="_blank">David English (Ringtone)</a>,\n <a href="https://soundcloud.com/freefilmandgamemusic/ping-1?in=freefilmandgamemusic/sets/free-notification-sounds-and" target="_blank">CameronMusic (Ping)</a>,\n <a href="http://www.picol.org/">Picol (Fullscreen icon)</a>, <a href="http://www.jabber.org/">Jabber Software Foundation (Jabber lightbulb logo)</a>\n</p>\n<p class="jsxc_libraries">\n <b>Libraries: </b>\n <a href="http://strophe.im/strophejs/">strophe.js</a> (multiple), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/muc</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/disco</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/caps</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/vcard</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins/tree/master/bookmarks">strophe.js/bookmarks</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins/tree/master/dataforms">strophe.js/x</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins/tree/master/chatstates">strophe.js/chatstates</a> (MIT), <a href="https://github.com/strophe/strophejs-plugin-mam">strophe.js/mam</a> (MIT), <a href="https://github.com/strophe/strophejs-plugin-rsm">strophe.js/rsm</a> (MIT), <a href="https://github.com/sualko/strophe.jinglejs">strophe.jinglejs</a> (MIT), <a href="https://github.com/neoatlantis/node-salsa20">Salsa20</a> (AGPL3), <a href="www.leemon.com">bigint</a> (public domain), <a href="code.google.com/p/crypto-js">cryptojs</a> (code.google.com/p/crypto-js/wiki/license), <a href="http://git.io/ee">eventemitter</a> (MIT), <a href="https://arlolra.github.io/otr/">otr.js</a> (MPL v2.0), <a href="http://i18next.com/">i18next</a> (MIT), <a href="http://i18next.com/">jquery-i18next</a> (MIT), <a href="http://dimsemenov.com/plugins/magnific-popup/">Magnific Popup</a> (MIT), <a href="https://github.com/ejci/favico.js">favico.js</a> (MIT), <a href="http://emojione.com">emoji one</a> (CC-BY 4.0)\n</p>\n\n<button class="btn btn-default pull-right jsxc_debuglog">Show debug log</button>\n',
+jsxc.gui.template.alert='<h3 data-i18n="Alert"></h3>\n<div class="alert alert-info">\n <strong data-i18n="Info"></strong> <span data-var="msg" />\n</div>\n',jsxc.gui.template.allowMediaAccess='<p data-i18n="Please_allow_access_to_microphone_and_camera"></p>\n',jsxc.gui.template.approveDialog='<h3 data-i18n="Subscription_request"></h3>\n<p>\n <span data-i18n="You_have_a_request_from"></span> <b class="jsxc_their_jid"></b>.\n</p>\n\n<button class="btn btn-primary jsxc_approve pull-right" data-i18n="Approve"></button>\n<button class="btn btn-default jsxc_deny pull-right" data-i18n="Deny"></button>\n',jsxc.gui.template.authenticationDialog='<h3>Verification</h3>\n<p data-i18n="Authenticating_a_buddy_helps_"></p>\n<div>\n <p data-i18n="[html]How_do_you_want_to_authenticate_your_buddy"></p>\n\n <div class="btn-group" role="group">\n <button class="btn btn-default" data-i18n="Manual"></button>\n <button class="btn btn-default" data-i18n="Question"></button>\n <button class="btn btn-default" data-i18n="Secret"></button>\n </div>\n</div>\n<hr />\n<div class="jsxc_hidden">\n <p data-i18n="To_verify_the_fingerprint_" class="jsxc_explanation"></p>\n <p>\n <strong data-i18n="Your_fingerprint"></strong>\n <br /> <span class="jsxc_uppercase"><span data-var="my_priv_fingerprint"/></span>\n </p>\n <p>\n <strong data-i18n="Buddy_fingerprint"></strong>\n <br /> <span class="jsxc_uppercase"><span data-var="bid_priv_fingerprint"/></span>\n </p>\n <div class="jsxc_right">\n <button class="btn btn-default jsxc_close" data-i18n="Close"></button>\n <button class="btn btn-primary jsxc_submit" data-i18n="Compared"></button>\n </div>\n</div>\n<div class="form-horizontal jsxc_hidden">\n <p data-i18n="To_authenticate_using_a_question_" class="jsxc_explanation"></p>\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_quest" data-i18n="Question"></label>\n <div class="col-sm-8">\n <input type="text" name="quest" id="jsxc_quest" class="form-control" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_secret2" data-i18n="Secret"></label>\n <div class="col-sm-8">\n <input type="text" name="secret2" id="jsxc_secret2" class="form-control" />\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-offset-4 col-sm-8">\n <button class="btn btn-default jsxc_close" data-i18n="Close"></button>\n <button class="btn btn-primary jsxc_submit" data-i18n="Ask"></button>\n </div>\n </div>\n</div>\n<div class="form-horizontal jsxc_hidden">\n <p class="jsxc_explanation" data-i18n="To_authenticate_pick_a_secret_"></p>\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_secret" data-i18n="Secret"></label>\n <div class="col-sm-8">\n <input type="text" name="secret" id="jsxc_secret" class="form-control" />\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-offset-4 col-sm-8">\n <button class="btn btn-default jsxc_close" data-i18n="Close"></button>\n <button class="btn btn-primary jsxc_submit" data-i18n="Compare"></button>\n </div>\n </div>\n</div>\n',jsxc.gui.template.authFailDialog='<h3 data-i18n="Login_failed"></h3>\n<p data-i18n="Sorry_we_cant_authentikate_"></p>\n\n<button class="btn btn-primary jsxc_retry pull-right" data-i18n="Continue_without_chat"></button>\n<button class="btn btn-default jsxc_cancel pull-right" data-i18n="Retry"></button>\n',jsxc.gui.template.bookmarkDialog='<h3 data-i18n="Edit_bookmark"></h3>\n<form class="form-horizontal">\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_room" data-i18n="Room"></label>\n <div class="col-sm-8">\n <input type="text" id="jsxc_room" class="form-control" required="required" readonly="readonly" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_nickname" data-i18n="Nickname"></label>\n <div class="col-sm-8">\n <input type="text" disabled="disabled" required="required" name="nickname" id="jsxc_nickname" class="form-control" />\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-offset-4 col-sm-8">\n <div class="checkbox">\n <label>\n <input id="jsxc_bookmark" type="checkbox"><span data-i18n="Bookmark"></span>\n </label>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-offset-4 col-sm-8">\n <div class="checkbox disabled">\n <label>\n <input disabled="disabled" id="jsxc_autojoin" type="checkbox"><span data-i18n="Auto-join"></span>\n </label>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-offset-4 col-sm-8">\n <button type="button" class="btn btn-default jsxc_close" data-i18n="Close"></button>\n <button type="submit" class="btn btn-primary jsxc_submit" data-i18n="Save"></button>\n </div>\n </div>\n</form>\n',jsxc.gui.template.chatWindow='<li class="jsxc_windowItem">\n <div class="jsxc_window">\n <div class="jsxc_bar">\n <div class="jsxc_avatar jsxc_statusIndicator"></div>\n <div class="jsxc_tools">\n <div class="jsxc_settings">\n <div class="jsxc_more"></div>\n <div class="jsxc_inner jsxc_menu">\n <ul>\n <li>\n <a class="jsxc_verification" href="#">\n <span data-i18n="Authentication"></span>\n </a>\n </li>\n <li>\n <a class="jsxc_clear" href="#">\n <span data-i18n="clear_history"></span>\n </a>\n </li>\n <li>\n <a class="jsxc_sendFile" href="#">\n <span data-i18n="Send_file"></span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n <div class="jsxc_close">×</div>\n </div>\n <div class="jsxc_caption">\n <div class="jsxc_name" />\n <div class="jsxc_lastmsg">\n <span class="jsxc_unread" />\n <span class="jsxc_text" />\n </div>\n <div class="jsxc_status-msg" />\n </div>\n </div>\n <div class="jsxc_fade">\n <div class="jsxc_overlay">\n <div>\n <div class="jsxc_body" />\n <div class="jsxc_close" />\n </div>\n </div>\n <div class="jsxc_textarea" />\n <div class="jsxc_emoticons">\n <div class="jsxc_inner">\n <ul>\n <li class="jsxc_clear"></li>\n </ul>\n </div>\n </div>\n <div class="jsxc_transfer jsxc_otr jsxc_disabled" />\n <textarea class="jsxc_textinput" data-i18n="[placeholder]Message"></textarea>\n </div>\n </div>\n</li>\n',jsxc.gui.template.confirmDialog='<p data-var="msg"></p>\n\n<button class="jsxc_btn jsxc_btn-primary jsxc_confirm pull-right" data-i18n="Confirm"></button>\n<button class="jsxc_btn jsxc_btn-default jsxc_dismiss jsxc_close pull-right" data-i18n="Dismiss"></button>\n',jsxc.gui.template.contactDialog='<h3 data-i18n="Add_buddy"></h3>\n<p class=".jsxc_explanation" data-i18n="Type_in_the_full_username_"></p>\n<form class="form-horizontal">\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_username" data-i18n="Username"></label>\n <div class="col-sm-8">\n <input type="text" name="username" id="jsxc_username" class="form-control" list="jsxc_userlist" pattern="^[^\\x22&\'\\\\/:<>@\\s]+(@[.\\-_\\w]+)?" required="required" />\n </div>\n </div>\n <datalist id="jsxc_userlist"></datalist>\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_alias" data-i18n="Alias"></label>\n <div class="col-sm-8">\n <input type="text" name="alias" id="jsxc_alias" class="form-control" />\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-offset-4 col-sm-8">\n <button class="btn btn-default jsxc_close" type="button" data-i18n="Close"></button>\n <button class="btn btn-primary" type="submit" data-i18n="Add"></button>\n </div>\n </div>\n</form>\n',jsxc.gui.template.fingerprintsDialog='<div>\n <p class="jsxc_maxWidth" data-i18n="A_fingerprint_"></p>\n <p>\n <strong data-i18n="Your_fingerprint"></strong>\n <br /> <span class="jsxc_uppercase" data-var="my_priv_fingerprint"></span>\n </p>\n <p>\n <strong data-i18n="Buddy_fingerprint"></strong>\n <br /> <span class="jsxc_uppercase" data-var="bid_priv_fingerprint"></span>\n </p>\n</div>\n',jsxc.gui.template.incomingCall='<h3 data-i18n="Incoming_call"></h3>\n<p>\n <span data-i18n="Do_you_want_to_accept_the_call_from"></span> <span data-var="bid_name" />?\n</p>\n\n<button class="jsxc_btn jsxc_btn-primary jsxc_accept pull-right" data-i18n="Accept"></button>\n<button class="jsxc_btn jsxc_btn-default jsxc_reject pull-right" data-i18n="Reject"></button>\n',jsxc.gui.template.joinChat='<h3 data-i18n="Join_chat"></h3>\n<p class=".jsxc_explanation" data-i18n="muc_explanation"></p>\n<div class="form-horizontal">\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_server" data-i18n="Server"></label>\n <div class="col-sm-8">\n <input type="text" name="server" id="jsxc_server" class="form-control" required="required" pattern="^[.-0-9a-zA-Z]+" />\n <p class="jsxc_inputinfo jsxc_server jsxc_hidden"></p>\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_room" data-i18n="Room"></label>\n <div class="col-sm-8">\n <input type="text" name="room" id="jsxc_room" class="form-control" autocomplete="off" list="jsxc_roomlist" required="required" pattern="^[^\\x22&\'\\/:<>@\\s]+" />\n <p class="jsxc_inputinfo jsxc_room" data-i18n="Rooms_are_loaded"></p>\n </div>\n </div>\n <datalist id="jsxc_roomlist">\n <p>\n <label for="jsxc_roomlist_select"></label>\n <select id="jsxc_roomlist_select">\n <option></option>\n <option>workaround</option>\n </select>\n </p>\n </datalist>\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_nickname" data-i18n="Nickname"></label>\n <div class="col-sm-8">\n <input type="text" name="nickname" id="jsxc_nickname" class="form-control" />\n </div>\n </div>\n <div class="form-group jsxc_hidden">\n <label class="col-sm-4 control-label" for="jsxc_password" data-i18n="Password"></label>\n <div class="col-sm-8">\n <input type="text" name="password" id="jsxc_password" class="form-control" />\n </div>\n </div>\n <div class="form-group jsxc_bookmark">\n <div class="col-sm-offset-4 col-sm-8">\n <div class="checkbox">\n <label>\n <input id="jsxc_bookmark" type="checkbox"><span data-i18n="Bookmark"></span>\n </label>\n </div>\n </div>\n </div>\n <div class="form-group jsxc_bookmark">\n <div class="col-sm-offset-4 col-sm-8">\n <div class="checkbox disabled">\n <label>\n <input disabled="disabled" id="jsxc_autojoin" type="checkbox"><span data-i18n="Auto-join"></span>\n </label>\n </div>\n </div>\n </div>\n <div class="jsxc_msg"></div>\n <div class="form-group">\n <div class="col-sm-offset-4 col-sm-8">\n <button class="btn btn-default jsxc_close" data-i18n="Close"></button>\n <button class="btn btn-primary jsxc_continue" data-i18n="Continue"></button>\n <button class="btn btn-success jsxc_join" data-i18n="Join"></button>\n </div>\n </div>\n</div>\n',jsxc.gui.template.loginBox='<h3 data-i18n="Login"></h3>\n<form class="form-horizontal">\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_username" data-i18n="Username"></label>\n <div class="col-sm-8">\n <input type="text" name="username" id="jsxc_username" class="form-control" required="required" data-var="my_node" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-4 control-label" for="jsxc_password" data-i18n="Password"></label>\n <div class="col-sm-8">\n <input type="password" name="password" required="required" class="form-control" id="jsxc_password" />\n </div>\n </div>\n <div class="jsxc_alert jsxc_alert-warning" data-i18n="Sorry_we_cant_authentikate_"></div>\n <div class="form-group">\n <div class="col-sm-offset-4 col-sm-9">\n <button type="reset" class="btn btn-default jsxc_close" name="clear" data-i18n="Cancel" />\n <button type="submit" class="btn btn-primary" name="commit" data-i18n="[data-jsxc-loading-text]Connecting...;Connect" />\n </div>\n </div>\n</form>\n',jsxc.gui.template.notification='<h3></h3>\n\n<p class="jsxc_msg"></p>\n\n<p class="jsxc_meta"></p>\n',jsxc.gui.template.pleaseAccept='<p data-i18n="Please_accept_"></p>\n',jsxc.gui.template.removeDialog='<h3 data-i18n="Remove_buddy"></h3>\n<p class="jsxc_maxWidth" data-i18n="[html]You_are_about_to_remove_"></p>\n\n<button class="btn btn-primary jsxc_remove pull-right" data-i18n="Remove"></button>\n<button class="btn btn-default jsxc_cancel jsxc_close pull-right" data-i18n="Cancel"></button>\n',jsxc.gui.template.roster='<div id="jsxc_roster">\n <ul id="jsxc_buddylist"></ul>\n <div class="jsxc_bottom jsxc_presence jsxc_rosteritem" data-bid="own">\n <div id="jsxc_avatar" class="jsxc_avatar jsxc_statusIndicator" />\n <div id="jsxc_menu">\n <span></span>\n <div class="jsxc_inner">\n <ul>\n <li class="jsxc_settings jsxc_settingsicon" data-i18n="Settings"></li>\n <li class="jsxc_muteNotification" data-i18n="Mute"></li>\n <li class="jsxc_hideOffline" data-i18n="Hide_offline"></li>\n <li class="jsxc_addBuddy jsxc_contacticon" data-i18n="Add_buddy"></li>\n <li class="jsxc_onlineHelp jsxc_helpicon" data-i18n="Online_help"></li>\n <li class="jsxc_about" data-i18n="About"></li>\n </ul>\n </div>\n </div>\n <div id="jsxc_notice">\n <span></span>\n <div class="jsxc_inner">\n <ul></ul>\n </div>\n </div>\n <div id="jsxc_presence">\n <span data-i18n="Offline">Offline</span>\n <div class="jsxc_inner">\n <ul>\n <li data-pres="online" class="jsxc_online" data-i18n="Online"></li>\n <li data-pres="chat" class="jsxc_chat" data-i18n="Chatty"></li>\n <li data-pres="away" class="jsxc_away" data-i18n="Away"></li>\n <li data-pres="xa" class="jsxc_xa" data-i18n="Extended_away"></li>\n <li data-pres="dnd" class="jsxc_dnd" data-i18n="dnd"></li>\n <li data-pres="offline" class="jsxc_offline" data-i18n="Offline"></li>\n </ul>\n </div>\n </div>\n </div>\n <div id="jsxc_toggleRoster"></div>\n</div>\n',jsxc.gui.template.rosterBuddy='<li class="jsxc_rosteritem">\n <div class="jsxc_avatar jsxc_statusIndicator"></div>\n <div class="jsxc_more" />\n <div class="jsxc_caption">\n <div class="jsxc_name" />\n <div class="jsxc_lastmsg">\n <span class="jsxc_unread" />\n <span class="jsxc_text" />\n </div>\n </div>\n <div class="jsxc_menu">\n <ul>\n <li><a class="jsxc_rename" href="#"><span class="jsxc_icon jsxc_editicon"></span><span data-i18n="rename_buddy"></span></a></li>\n <li><a class="jsxc_vcard" href=""><span class="jsxc_icon jsxc_infoicon"></span><span data-i18n="get_info"></span></a></li>\n <li><a class="jsxc_delete" href=""><span class="jsxc_icon jsxc_deleteicon"></span><span data-i18n="delete_buddy"></span></a></li>\n </ul>\n </div>\n</li>\n',jsxc.gui.template.selectionDialog='<h3></h3>\n<p></p>\n\n<button class="btn btn-primary pull-right" data-i18n="Confirm"></button>\n<button class="btn btn-default pull-right" data-i18n="Dismiss"></button>\n',jsxc.gui.template.settings='<form class="form-horizontal col-sm-6">\n <fieldset class="jsxc_fieldsetXmpp jsxc_fieldset">\n <h3 data-i18n="Login_options"></h3>\n <p data-i18n="setting-explanation-xmpp"></p>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="xmpp-url" data-i18n="BOSH_url"></label>\n <div class="col-sm-6">\n <input type="text" id="xmpp-url" class="form-control" readonly="readonly" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="xmpp-username" data-i18n="Username"></label>\n <div class="col-sm-6">\n <input type="text" id="xmpp-username" class="form-control" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="xmpp-domain" data-i18n="Domain"></label>\n <div class="col-sm-6">\n <input type="text" id="xmpp-domain" class="form-control" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="xmpp-resource" data-i18n="Resource"></label>\n <div class="col-sm-6">\n <input class="form-control" type="text" id="xmpp-resource" class="form-control" />\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-offset-6 col-sm-6">\n <button class="btn btn-primary jsxc_continue" type="submit" data-i18n="Save"></button>\n </div>\n </div>\n </fieldset>\n</form>\n\n<form class="form-horizontal col-sm-6">\n <fieldset class="jsxc_fieldsetPriority jsxc_fieldset">\n <h3 data-i18n="Priority"></h3>\n <p data-i18n="setting-explanation-priority"></p>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="priority-online" data-i18n="Online"></label>\n <div class="col-sm-6">\n <input type="number" value="0" id="priority-online" class="form-control" min="-128" max="127" step="1" required="required" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="priority-chat" data-i18n="Chatty"></label>\n <div class="col-sm-6">\n <input type="number" value="0" id="priority-chat" class="form-control" min="-128" max="127" step="1" required="required" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="priority-away" data-i18n="Away"></label>\n <div class="col-sm-6">\n <input type="number" value="0" id="priority-away" class="form-control" min="-128" max="127" step="1" required="required" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="priority-xa" data-i18n="Extended_away"></label>\n <div class="col-sm-6">\n <input type="number" value="0" id="priority-xa" class="form-control" min="-128" max="127" step="1" required="required" />\n </div>\n </div>\n <div class="form-group">\n <label class="col-sm-6 control-label" for="priority-dnd" data-i18n="dnd"></label>\n <div class="col-sm-6">\n <input type="number" value="0" id="priority-dnd" class="form-control" min="-128" max="127" step="1" required="required" />\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-offset-6 col-sm-6">\n <button class="btn btn-primary jsxc_continue" type="submit" data-i18n="Save"></button>\n </div>\n </div>\n </fieldset>\n</form>\n\n<form class="form-horizontal col-sm-6">\n <fieldset class="jsxc_fieldsetLoginForm jsxc_fieldset">\n <h3 data-i18n="On_login"></h3>\n <p data-i18n="setting-explanation-login"></p>\n <div class="form-group">\n <div class="col-sm-12">\n <div class="checkbox">\n <label>\n <input type="checkbox" id="loginForm-enable"><span data-i18n="On_login"></span>\n </label>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-12">\n <button class="btn btn-primary jsxc_continue" type="submit" data-i18n="Save"></button>\n </div>\n </div>\n </fieldset>\n</form>\n\n<form class="form-horizontal col-sm-6" data-onsubmit="xmpp.carbons.refresh">\n <fieldset class="jsxc_fieldsetCarbons jsxc_fieldset">\n <h3 data-i18n="Carbon_copy"></h3>\n <p data-i18n="setting-explanation-carbon"></p>\n <div class="form-group">\n <div class="col-sm-12">\n <div class="checkbox">\n <label>\n <input type="checkbox" id="carbons-enable"><span data-i18n="Enable"></span>\n </label>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-12">\n <button class="btn btn-primary jsxc_continue" type="submit" data-i18n="Save"></button>\n </div>\n </div>\n </fieldset>\n</form>\n\n<form class="form-horizontal col-sm-6" data-onsubmit="xmpp.chatState.init">\n <fieldset class="jsxc_fieldsetCarbons jsxc_fieldset">\n <h3 data-i18n="Chat_state_notifications"></h3>\n <p data-i18n="setting-explanation-chat-state"></p>\n <div class="form-group">\n <div class="col-sm-12">\n <div class="checkbox">\n <label>\n <input type="checkbox" id="chatState-enable"><span data-i18n="Enable"></span>\n </label>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="col-sm-12">\n <button class="btn btn-primary jsxc_continue" type="submit" data-i18n="Save"></button>\n </div>\n </div>\n </fieldset>\n</form>\n',jsxc.gui.template.vCard='<h3>\n <span data-i18n="Info_about"></span> <span data-var="bid_name"></span>\n</h3>\n<ul class="jsxc_vCard"></ul>\n<p>\n <img src="{{root}}/img/loading.gif" alt="wait" width="32px" height="32px" /> <span data-i18n="Please_wait"></span>...\n</p>\n',jsxc.gui.template.videoWindow='<div id="jsxc_webrtc">\n <div class="jsxc_chatarea">\n <ul></ul>\n </div>\n <div class="jsxc_videoContainer">\n <video class="jsxc_localvideo" autoplay></video>\n <video class="jsxc_remotevideo" autoplay></video>\n <div class="jsxc_status"></div>\n <div class="jsxc_noRemoteVideo">\n <div>\n <div></div>\n <p data-i18n="No_video_signal"></p>\n <div></div>\n </div>\n </div>\n <div class="jsxc_controlbar jsxc_visible">\n <div>\n <div class="jsxc_hangUp jsxc_videoControl" />\n <div class="jsxc_fullscreen jsxc_videoControl" />\n </div>\n </div>\n </div>\n <div class="jsxc_multi">\n <div class="jsxc_snapshotbar">\n <p>No pictures yet!</p>\n </div>\n <!--<div class="jsxc_chatarea">\n <ul></ul>\n </div>-->\n <div class="jsxc_infobar"></div>\n </div>\n</div>\n',jsxc.gui.template.waitAlert='<h3 data-var="msg"></h3>\n\n<div class="progress">\n <div class="progress-bar progress-bar-striped active" data-i18n="Please_wait">\n </div>\n</div>\n',jsxc.gui.template.windowList='<div id="jsxc_windowList">\n <ul></ul>\n</div>\n<div id="jsxc_windowListSB">\n <div class="jsxc_scrollLeft jsxc_disabled">&lt;</div>\n <div class="jsxc_scrollRight jsxc_disabled">&gt;</div>\n</div>\n'}(jQuery);
//# sourceMappingURL=jsxc.min.js.map \ No newline at end of file
diff --git a/build/jsxc.min.js.map b/build/jsxc.min.js.map
index 9cfa6898..dc32b18e 100644
--- a/build/jsxc.min.js.map
+++ b/build/jsxc.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["jsxc.js"],"names":["jsxc","RTC","RTCPeerconnection","$","version","master","role_allocation","to","toBusy","toNotification","toNotificationDelay","keepaliveInterval","reconnect","restoreCompleted","triggeredFromBox","triggeredFromElement","triggeredFromLogout","ls","storageNotConform","toSNC","bid","currentState","currentUIState","CONST","NOTIFICATION_DEFAULT","NOTIFICATION_GRANTED","NOTIFICATION_DENIED","STATUS","SOUNDS","MSG","CALL","NOTICE","REGEX","JID","RegExp","URL","NS","CARBONS","FORWARD","HIDDEN","SHOWN","STATE","INITIATING","PREVCONFOUND","SUSPEND","TRYTOINTERCEPT","INTERCEPTED","ESTABLISHING","READY","UISTATE","getFormattedTime","unixtime","msgDate","Date","parseInt","day","getDate","slice","month","getMonth","year","getFullYear","hours","getHours","minutes","getMinutes","dateNow","date","toLocaleDateString","time","toLocaleTimeString","setHours","getTime","debug","msg","data","level","storage","getItem","console","log","d","prepend","clone","html","err","JSON","stringify","err2","warn","error","init","options","changeState","loginForm","attachIfFound","ifFound","extend","get","key","local","getUserItem","set","value","updateItem","lang","autoLang","navigator","languages","length","substr","language","defaultLang","window","i18next","lng","fallbackLng","resources","I18next","interpolation","prefix","suffix","jqueryI18next","tName","i18nName","handleName","otr","addEventListener","onStorage","document","on","registerLogout","isStorageAttachParameters","isOptionsAttachParameters","xmpp","rid","sid","jid","isForceLoginForm","isLoginForm","removeItem","displayRosterMinimized","setUserItem","gui","roster","noConnection","formFound","call","form","events","submit","submits","each","index","val","push","handler","off","ev","preventDefault","prepareLogin","settings","enabled","enable","onlogin","triggered","login","password","submitLoginForm","onMaster","checkMaster","start","args","arguments","conn","connected","one","onRidChange","_proto","apply","this","logoutElement","logout","stopPropagation","el_exists","pass","username","cb","onConnecting","showWaitAlert","t","loadSettings","s","_prepareLogin","loadedSettings","resource","domain","match","preJid","jidToBid","split","old","onSlave","removeClass","updateAvatar","restore","setItem","startKeepAlive","setTimeout","keepAlive","masterActions","authenticated","noti","notification","hasSupport","hasPermission","prepareRequest","createDSA","setInterval","timeout","role","next","keepBusyAlive","clearTimeout","clearInterval","ink","busyTimeout","random","max","Math","floor","selector","jidToCid","cid","Strophe","getBareJidFromJid","replace","toLowerCase","unescapeNode","restoreRoster","buddies","add","loaded","trigger","empty","restoreWindows","windows","win","minimize","hide","show","setText","text","find","click","escapeHTML","removeHTML","switchEvents","obj","ns","toString","self","isHidden","hidden","webkitHidden","mozHidden","msHidden","hasFocus","focus","exec","fnName","fnParams","i","fnList","fn","hashStr","str","hash","charCodeAt","isExtraSmallDevice","width","state","Object","keys","changeUIState","url","attached","disconnected","onConnfail","onAuthFail","addNamespace","Connection","xmlInput","xmlOutput","nextValidRid","callback","status","condition","getOwnPropertyNames","Status","CONNECTING","CONNECTED","ATTACHED","DISCONNECTED","CONNFAIL","AUTHFAIL","caps","node","attach","_addSysHandler","stanza","from","c","querySelector","ver","getAttribute","_jidNodeIndex","parse","localStorage","_jidVerIndex","CAPS","connect","complete","removeUserItem","create","numOtr","objects","disReady","flush","disconnect","msgstate","OTR","MSGSTATE_ENCRYPTED","endOtr","backup","pause","initNewConnection","saveSessionParameter","onConnected","dialog","close","resume","addHandler","onRosterChanged","onChatMessage","onHeadlineMessage","onReceived","onPresence","conditionalEnable","hasFeatureByJid","carbons","onCaps","_knownCapabilities","_requestCapabilities","sendPres","remove","iq","$iq","type","xmlns","sendIQ","onRoster","nomJid","getResourceFromJid","removeUserElement","disco","addIdentity","addFeature","DISCO_INFO","RECEIPTS","pres","$pres","generateCapsAttrs","up","presState","priority","send","ready","location","attr","showAuthFail","name","sub","saveBuddy","res","rnd","bookmarks","load","iqSender","ownBareJid","purge","bl","indexOf","temp","update","reorder","notice","notices","noticeKey","presence","ptype","r","xVCard","prop","resFriendReq","addBuddy","approve","description","maxVal","hasOwnProperty","notify","title","source","photo","avatar","message","carbon","forwarded","originalSender","body","htmlBody","XHTML","mid","delay","stamp","direction","Message","OUT","IN","postMessage","encrypted","request","chat","saveMessage","updateUserItem","$msg","id","attachment","httpUploadElement","size","thumbnail","undefined","receiveMsg","getDomainFromJid","subject","alias","removeBuddy","subscription","received","receivedId","sendMessage","htmlMsg","mucRoomNames","muc","roomNames","isMucBid","sendMsg","_sendMessage","isBar","xmlMsg","_uid","HTML","XHTML_IM","xmlElement","innerHTML","appendChild","chatstates","chatState","isDisabled","CHATSTATES","loadVcard","error_cb","vcard","result","getCapabilitiesByJid","jidVerIndex","knownCapabilities","feature","isArray","makeArray","check","hasFeature","j","capabilities","disable","refresh","fileTransfer","formatByte","byte","round","startGuiAction","httpUpload","showFileSelection","selectResource","success_cb","fileCapableRes","webrtc","getCapableRes","reqFileFeatures","hideOverlay","addClass","showOverlay","change","file","target","files","fileSelected","transportMethod","maxSize","fileSize","SYS","append","FileReader","img","appendTo","reader","onload","readAsDataURL","sess","sendFile","sender","sent","updateProgress","updateIcons","emotions","favicon","regShortNames","emoticonList","core",":klaus:",":jabber:",":xmpp:",":jsxc:",":owncloud:",":nextcloud:","emojione","emojioneList","queryActions","params","open","showRemoveDialog","subscribe","showContactDialog","showVcard","join","showJoinChat","template","resize","updateWindowListSB","scrollWindowListBy","originalEvent","wheelDelta","tooltip","fo","Favico","animation","bgColor","textColor","badge","reg","windowTemplate","buddyTemplate","content","ri","we","ue","spot","updatePresence","trust","info","el","aid","setAvatar","src","defaultAvatar","avatarPlaceholder","removeAttr","css","background-image","text-indent","avatarSrc","handler_cb","vCard","offset","scrollWidth","right","padding","getWindow","toggleList","disableSelection","ul","slideUp","hasClass","toggleClass","mouseleave","mouseenter","showLoginBox","alert","showFingerprints","showVerification","siblings","blur","div","sec","quest","keyup","sendSmpReq","showApproveDialog","noClose","getUsers","list","uid","displayname","option","showAlert","showConfirmDialog","confirm","dismiss","showAboutDialog","showDebugLog","userInfo","jquery","screen","height","identities","cap","client","identity","category","printProp","depth","item","children","tagName","before","failedToLoad","img_el","showSettings","overwrite","parent","checked","success","switchClass","saveSettinsPermanent","showRequestNotification","notificationready.jsxc","notificationfailure.jsxc","requestPermission","showUnknownSender","confirmationText","showSelectionDialog","header","primary","primaryLabel","optionLabel","opt","label","showNotification","changePresence","external","muteSound","unmuteSound","unreadMsg","winData","count","unread","total","_unreadMsg","readMsg","detectUriScheme","container","action","element","href","pairs","substring","decodeURIComponent","detectEmail","trim","prev","seed","hue","abs","saturation","lightness","background-color","color","font-weight","text-align","line-height","font-size","toUpperCase","shortnameToImage","shortname","filename","root","fname","rosterAppend","hideOffline","mute","onlineHelp","toggle","slimScroll","distance","opacity","rosterState","startMinimized","bud","insert","rename","expandClick","scrollTo","history","li","listElements","thisStatus","detach","_close","input","replaceWith","keypress","which","_rename","newname","nickname","autojoin","duration","wl","parseFloat","link","o","magnificPopup","items","modal","callbacks","beforeClose","afterClose","btn","resizeTextarea","outerHeight","scrollHeight","toggleTransfer","clear","textinputBlurTimeout","startComposing","shiftKey","endComposing","getSelection","resizable","handles","minHeight","minWidth","event","ui","stop","inArray","ins","restoreChat","outer","outer_height_diff","fullsize","viewport","getSize","highlight","parents","_show","innerWidth","outerWidth","position","left","scrollDown","_hide","is","effect","MSGSTATE_FINISHED","save","_postMessage","protocol","bidData","msgDiv","msgTsDiv","isReceived","persistent","first","getDOM","avatarDiv","prependTo","pop","map","receivedMessage","span","allowClose","smpRequest","question","p","abort","sm","verify","onSmpQuestion","ph","my_priv_fingerprint","my_jid","my_node","getNodeFromJid","app_name","bid_priv_fingerprint","fingerprint","bid_jid","bid_name","ret","localize","_received","PLAIN","prototype","delete","Image","sHeight","sWidth","sx","sy","dHeight","dWidth","canvas","ctx","getContext","drawImage","toDataURL","maxStorableSize","unshift","grep","AFFILIATION","ADMIN","MEMBER","OUTCAST","OWNER","NONE","ROLE","MODERATOR","PARTICIPANT","VISITOR","ROOMSTATE","INIT","ENTERED","EXITED","AWAIT_DESTRUCTION","DESTROYED","ROOMCONFIG","INSTANT","server","initMenu","onPresenceError","onGroupchatMessage","onErrorMessage","discovered","mucFeature","MUC","mucIdentity","loadRoomList","listRooms","rjid","rnode","rname","errTextMsg","serverInputTimeout","error_handler","room","roomIndex","splice","rooms","discoReceived","roomName","bookmark","table","exists","tr","keydown","showRoomConfiguration","configure","x","Form","fromXML","f","_showRoomConfiguration","config","helper","formToHTML","cancel","formGroup","fromHTML","saveConfiguration","cancelConfigure","bookmarked","leave","tab","execMaster","own","onExited","roomdata","destroy","MUC_OWNER","tree","emptyMembers","initWindow","ownNickname","mlIcon","after","ml","scrollMemberListBy","toggleMl","slimOptions","slimHeight","maxHeight","innerHeight","slimscroll","member","insertMember","affiliation","xdata","openWindow","codes","code","removeMember","newNickname","oldNickname","escapeInterpolation","roomJid","onStatus","110","170","171","172","173","201","createInstantRoom","301","postReason","307","321","322","332","actor","reason","memberdata","ownBid","m","isNaN","onAddRoster","bo","showDialog","instructions","fields","fieldToHtml","field","k","txt","line","_ref2","toHTML","values","_results","desc","required","inner","_num","saved","nid","now","closeAll","removeAll","has","audio","soundFile","playSound","stopSound","force","loop","icon","popup","Notification","popupDuration","webkitNotifications","createNotification","permission","checkPermission","func","Audio","play","ERROR_START_AKE","SEND_WHITESPACE_TAG","WHITESPACE_START_AKE","online","away","xa","dnd","numberOfMsg","muteNotification","turnCredentialsPath","RTCPeerConfig","ttl","withCredentials","iceServers","urls","w","h","screenMediaExtension","firefox","chrome","dsaFallback","receiveMessage","MSGSTATE_PLAINTEXT","priv","ol","STATUS_SEND_QUERY","STATUS_AKE_SUCCESS","their_priv_pk","msg_state","STATUS_END_OTR","STATUS_SMP_HANDLE","meta","smpSecret","goEncrypt","goPlain","sendQueryMsg","savekey","packPublic","ake","otr_version","DSA","parsePublic","_smInit","worker","Worker","dsa","DSAready","onmessage","e","parsePrivate","imports","BigInt","getSeed","_createDSA","packPrivate","PREFIX","SEP","getPrefix","uk","jQuery","variable","Number","removeElement","re","newValue","oldValue","n","transferReq","cmd","MASTER","SLAVE","Array","execSlave","localStream","remoteStream","last_caller","AUTO_ACCEPT","reqVideoFeatures","chatJids","jingle","manager","onMessage","onMediaFailure","proxy","onIncoming","onTerminated","onCallRinging","onReceivedFile","metadata","onRemoteStreamAdded","onRemoteStreamRemoved","peerConfig","getTurnCrendentials","setICEServers","onDisconnected","ajax","async","xhrFields","credential","dataType","features","available","browser","webrtcDetectedBrowser","a","updateIcon","capableRes","targetRes","startScreenSharing","startCall","setStatus","margin-left","display","animate","session","constructor","onIncomingFileTransfer","reqMedia","pc","remoteDescription","contents","senders","onIncomingCall","onIncomingStream","acceptIncomingStream","showVideoWindow","peerID","accept","onIceConnectionStateChanged","postScreenMessage","ring","decline","buddylist","receiver","postCallMessage","acceptIncomingCall","mediaready.jingle","stream","addStream","mediafailure.jingle","reqUserMedia","onCallTerminated","getTracks","tracks","forEach","track","closeVideoWindow","isVideoDevice","getVideoTracks","isAudioDevice","getAudioTracks","attachMediaStream","end","um","initiateOutgoingCall","initiate","hangUp","isEmptyObject","peers","terminate","initiateScreenSharing","showMinimizedVideoWindow","constraints","browserVersion","webrtcDetectedVersion","mandatory","OfferToReceiveAudio","OfferToReceiveVideo","offerToReceiveAudio","offerToReceiveVideo","onSessionAccepted","filterUserMedia","devices","availableDevices","device","kind","filter","getUserMedia","getScreenMedia","mediaDevices","enumerateDevices","then","catch","MediaStreamTrack","getSources","video","screenMediaCallback","screenMediaAvailable","sessionStorage","getScreenMediaJSExtensionId","snapshot","createFileTransferSession","connectionState","ext","File","videoContainer","draggable","containment","videoElement","muted","volume","rv","lv","w_dialog","w_remote","scale","new_h","new_w","vc","support","fullscreen","KEYCODE_ENTER","KEYCODE_ESC","remote","PUBSUB","loadFromRemote","loadFromLocal","conference","parseErr","reasons","createBookmarksNode","soft","deleteFromRemote","deleteFromLocal","nick","addToRemote","addToLocal","toComposingNotificationDelay","onComposing","onPaused","onActive","user","usersComposing","textarea","composingNotif","_genComposingMsg","durationValue","sendComposing","pauseComposing","sendPaused","HTTPUPLOAD","fileTransferOptions","discoverUploadService","queryItemForUploadService","httpUploadFeature","httpUploadMaxSize","requestSlot","put","uploadFile","contentType","processData","xhr","ajaxSettings","upload","onprogress","lengthComputable","successfulRequestSlotCB","failedRequestSlotCB","slot"],"mappings":"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","file":"jsxc.min.js"} \ No newline at end of file
+{"version":3,"sources":["jsxc.js"],"names":["jsxc","RTC","RTCPeerconnection","$","version","master","role_allocation","to","toBusy","toNotification","toNotificationDelay","keepaliveInterval","reconnect","restoreCompleted","triggeredFromBox","triggeredFromElement","triggeredFromLogout","ls","storageNotConform","toSNC","bid","currentState","currentUIState","CONST","NOTIFICATION_DEFAULT","NOTIFICATION_GRANTED","NOTIFICATION_DENIED","STATUS","SOUNDS","MSG","CALL","NOTICE","REGEX","JID","RegExp","URL","NS","CARBONS","FORWARD","HINTS","HIDDEN","SHOWN","STATE","INITIATING","PREVCONFOUND","SUSPEND","TRYTOINTERCEPT","INTERCEPTED","ESTABLISHING","READY","UISTATE","getFormattedTime","unixtime","msgDate","Date","parseInt","day","getDate","slice","month","getMonth","year","getFullYear","hours","getHours","minutes","getMinutes","dateNow","date","toLocaleDateString","time","toLocaleTimeString","setHours","getTime","debug","msg","data","level","storage","getItem","console","log","d","prepend","clone","html","err","JSON","stringify","err2","warn","error","init","options","changeState","loginForm","attachIfFound","ifFound","extend","hasSupport","get","key","local","getUserItem","set","value","updateItem","lang","autoLang","navigator","languages","length","substr","language","defaultLang","window","i18next","lng","fallbackLng","resources","I18next","interpolation","prefix","suffix","jqueryI18next","tName","i18nName","handleName","otr","addEventListener","onStorage","document","on","registerLogout","isStorageAttachParameters","isOptionsAttachParameters","xmpp","rid","sid","jid","isForceLoginForm","isLoginForm","removeItem","displayRosterMinimized","setUserItem","gui","roster","noConnection","formFound","call","form","events","submit","submits","each","index","val","push","handler","off","ev","preventDefault","prepareLogin","settings","enabled","enable","onlogin","triggered","login","password","submitLoginForm","onMaster","checkMaster","start","args","arguments","conn","connected","one","onRidChange","_proto","apply","this","logoutElement","logout","stopPropagation","el_exists","pass","username","cb","onConnecting","showWaitAlert","t","loadSettings","s","_prepareLogin","loadedSettings","resource","domain","match","preJid","jidToBid","split","old","onSlave","removeClass","avatar","update","restore","setItem","startKeepAlive","setTimeout","keepAlive","masterActions","authenticated","noti","notification","hasPermission","prepareRequest","createDSA","setInterval","timeout","role","next","keepBusyAlive","clearTimeout","clearInterval","ink","busyTimeout","random","max","Math","floor","selector","jidToCid","cid","Strophe","getBareJidFromJid","replace","toLowerCase","unescapeNode","restoreRoster","buddies","add","loaded","trigger","empty","restoreWindows","windows","win","minimize","hide","show","setText","text","find","click","escapeHTML","removeHTML","switchEvents","obj","ns","toString","self","isHidden","hidden","webkitHidden","mozHidden","msHidden","hasFocus","focus","exec","fnName","fnParams","i","fnList","fn","hashStr","str","hash","charCodeAt","isExtraSmallDevice","width","state","Object","keys","changeUIState","url","attached","disconnected","onConnfail","onAuthFail","addNamespace","Connection","xmlInput","xmlOutput","nextValidRid","callback","status","condition","getOwnPropertyNames","Status","CONNECTING","CONNECTED","ATTACHED","DISCONNECTED","CONNFAIL","AUTHFAIL","caps","node","attach","_addSysHandler","stanza","from","c","querySelector","ver","getAttribute","_jidNodeIndex","parse","localStorage","_jidVerIndex","CAPS","connect","complete","removeUserItem","create","numOtr","objects","disReady","flush","disconnect","msgstate","OTR","MSGSTATE_ENCRYPTED","endOtr","backup","pause","initNewConnection","saveSessionParameter","rosterVerSupport","features","onConnected","dialog","close","resume","addHandler","onRosterChanged","onChatMessage","onHeadlineMessage","onReceived","onPresence","onVersionRequest","VERSION","conditionalEnable","hasFeatureByJid","carbons","onCaps","_knownCapabilities","_requestCapabilities","sendPres","remove","queryAttr","xmlns","iq","$iq","type","sendIQ","onRoster","nomJid","getResourceFromJid","removeUserElement","disco","addIdentity","addFeature","DISCO_INFO","RECEIPTS","pres","$pres","generateCapsAttrs","up","presState","priority","send","barJid","info","undefined","map","attr","toArray","ready","location","showAuthFail","name","sub","saveBuddy","res","rnd","bookmarks","load","iqSender","ownBareJid","purge","bl","indexOf","temp","reorder","notice","notices","noticeKey","presence","ptype","r","xVCard","prop","resFriendReq","addBuddy","approve","description","maxVal","hasOwnProperty","notify","title","source","photo","message","carbon","forwarded","originalSender","body","htmlBody","XHTML","mid","delay","stamp","direction","Message","OUT","IN","postMessage","encrypted","request","chat","messageObj","save","updateUserItem","$msg","id","attachment","httpUploadElement","size","thumbnail","receiveMsg","_uid","foo","getDomainFromJid","subject","alias","removeBuddy","subscription","received","receivedId","sendMessage","htmlMsg","mucRoomNames","muc","roomNames","isMucBid","sendMsg","_sendMessage","isBar","xmlMsg","HTML","XHTML_IM","xmlElement","innerHTML","appendChild","chatstates","chatState","isDisabled","CHATSTATES","loadVcard","error_cb","vcard","result","getCapabilitiesByJid","jidVerIndex","knownCapabilities","feature","isArray","makeArray","check","hasFeature","j","capabilities","disable","refresh","emotions","favicon","regShortNames","emoticonList","core",":klaus:",":jabber:",":xmpp:",":jsxc:",":owncloud:",":nextcloud:","emojione","emojioneList","queryActions","params","open","showRemoveDialog","subscribe","showContactDialog","showVcard","join","showJoinChat","append","template","resize","updateWindowListSB","scrollWindowListBy","originalEvent","wheelDelta","tooltip","fo","Favico","animation","bgColor","textColor","badge","reg","windowTemplate","buddyTemplate","content","ri","we","ue","spot","updatePresence","addClass","trust","css","offset","scrollWidth","el","right","padding","getWindow","toggleList","disableSelection","ul","slideUp","hasClass","toggleClass","mouseleave","mouseenter","showLoginBox","alert","showFingerprints","showVerification","siblings","blur","SYS","div","sec","quest","keyup","sendSmpReq","showApproveDialog","noClose","getUsers","list","uid","displayname","option","appendTo","showAlert","showConfirmDialog","confirm","dismiss","showAboutDialog","showDebugLog","userInfo","jquery","screen","height","identities","cap","client","identity","category","printProp","depth","item","children","tagName","before","failedToLoad","img","src","img_el","showSettings","overwrite","parent","checked","success","switchClass","saveSettinsPermanent","showRequestNotification","notificationready.jsxc","notificationfailure.jsxc","requestPermission","showUnknownSender","confirmationText","sender","showSelectionDialog","header","primary","primaryLabel","optionLabel","opt","label","showNotification","changePresence","external","muteSound","unmuteSound","unreadMsg","winData","count","unread","total","_unreadMsg","readMsg","detectUriScheme","container","action","element","href","pairs","substring","decodeURIComponent","detectEmail","trim","prev","avatarPlaceholder","seed","hue","abs","saturation","lightness","background-color","color","font-weight","text-align","line-height","font-size","toUpperCase","shortnameToImage","shortname","filename","root","fname","rosterAppend","hideOffline","mute","onlineHelp","toggle","slimScroll","distance","opacity","rosterState","startMinimized","bud","insert","rename","expandClick","scrollTo","history","li","listElements","thisStatus","detach","_close","input","replaceWith","keypress","which","_rename","newname","nickname","autojoin","duration","wl","parseFloat","link","o","magnificPopup","items","modal","callbacks","beforeClose","afterClose","btn","resizeTextarea","outerHeight","scrollHeight","toggleTransfer","clear","sendFile","textinputBlurTimeout","startComposing","shiftKey","endComposing","getSelection","resizable","handles","minHeight","minWidth","event","ui","stop","inArray","ins","restoreChat","outer","outer_height_diff","fullsize","viewport","getSize","highlight","parents","_show","innerWidth","outerWidth","position","left","scrollDown","_hide","is","effect","MSGSTATE_FINISHED","_postMessage","protocol","bidData","msgDiv","msgTsDiv","isReceived","persistent","first","currentMessageElement","getDOM","avatarDiv","prependTo","pop","buddyData","lastArchiveUid","archiveExhausted","scroll","receivedMessage","updateProgress","sent","span","round","showOverlay","allowClose","hideOverlay","selectResource","smpRequest","question","p","abort","sm","verify","onSmpQuestion","fileTransfer","startGuiAction","ph","my_priv_fingerprint","my_jid","my_node","getNodeFromJid","app_name","bid_priv_fingerprint","fingerprint","bid_jid","bid_name","ret","localize","formatByte","byte","httpUpload","showFileSelection","success_cb","fileCapableRes","webrtc","getCapableRes","reqFileFeatures","change","file","target","files","fileSelected","maxSize","transportMethod","fileSize","FileReader","reader","onload","readAsDataURL","sess","updateIcons","queue","PLACEHOLDER","DELAY","CHUNKSIZE","lastRun","aid","avatarSrc","handler_cb","getPhotoFromVcard","queueAction","vCard","defaultAvatar","removeAttr","background-image","text-indent","context","splice","unshift","processQueue","currentTime","shift","_received","PLAIN","prototype","delete","Image","sHeight","sWidth","sx","sy","dHeight","dWidth","canvas","ctx","getContext","drawImage","toDataURL","maxStorableSize","grep","AFFILIATION","ADMIN","MEMBER","OUTCAST","OWNER","NONE","ROLE","MODERATOR","PARTICIPANT","VISITOR","ROOMSTATE","INIT","ENTERED","EXITED","AWAIT_DESTRUCTION","DESTROYED","ROOMCONFIG","INSTANT","server","initMenu","onPresenceError","onGroupchatMessage","onErrorMessage","discovered","mucFeature","MUC","mucIdentity","loadRoomList","listRooms","rjid","rnode","rname","errTextMsg","serverInputTimeout","error_handler","room","roomIndex","rooms","discoReceived","roomName","bookmark","table","exists","tr","keydown","showRoomConfiguration","configure","x","Form","fromXML","f","_showRoomConfiguration","config","helper","formToHTML","cancel","formGroup","fromHTML","saveConfiguration","cancelConfigure","bookmarked","leave","tab","execMaster","own","onExited","roomdata","destroy","MUC_OWNER","tree","emptyMembers","initWindow","ownNickname","mlIcon","after","ml","scrollMemberListBy","toggleMl","slimOptions","slimHeight","maxHeight","innerHeight","slimscroll","member","insertMember","affiliation","xdata","codes","code","removeMember","newNickname","oldNickname","escapeInterpolation","roomJid","onStatus","110","170","171","172","173","201","createInstantRoom","301","postReason","307","321","322","332","actor","reason","memberdata","ownBid","m","isNaN","onAddRoster","bo","showDialog","instructions","fields","fieldToHtml","field","k","txt","line","_ref2","toHTML","values","_results","desc","required","inner","_num","saved","nid","now","closeAll","removeAll","has","audio","soundFile","playSound","stopSound","force","loop","icon","popup","Notification","popupDuration","webkitNotifications","createNotification","permission","checkPermission","func","Audio","play","ERROR_START_AKE","SEND_WHITESPACE_TAG","WHITESPACE_START_AKE","online","away","xa","dnd","numberOfMsg","muteNotification","turnCredentialsPath","RTCPeerConfig","ttl","withCredentials","iceServers","urls","w","h","screenMediaExtension","firefox","chrome","mam","dsaFallback","receiveMessage","MSGSTATE_PLAINTEXT","priv","ol","STATUS_SEND_QUERY","STATUS_AKE_SUCCESS","their_priv_pk","msg_state","STATUS_END_OTR","STATUS_SMP_HANDLE","meta","smpSecret","goEncrypt","goPlain","sendQueryMsg","savekey","packPublic","ake","otr_version","DSA","parsePublic","_smInit","worker","Worker","dsa","DSAready","onmessage","e","parsePrivate","imports","BigInt","getSeed","_createDSA","packPrivate","PREFIX","SEP","getPrefix","uk","jQuery","variable","Number","removeElement","re","newValue","oldValue","n","transferReq","cmd","MASTER","SLAVE","Array","execSlave","localStream","remoteStream","last_caller","AUTO_ACCEPT","reqVideoFeatures","chatJids","jingle","manager","onMessage","onMediaFailure","proxy","onIncoming","onTerminated","onCallRinging","onReceivedFile","metadata","onRemoteStreamAdded","onRemoteStreamRemoved","peerConfig","getTurnCrendentials","setICEServers","onDisconnected","ajax","async","xhrFields","credential","dataType","available","browser","webrtcDetectedBrowser","a","updateIcon","capableRes","targetRes","startScreenSharing","startCall","setStatus","margin-left","display","animate","session","constructor","onIncomingFileTransfer","reqMedia","pc","remoteDescription","contents","senders","onIncomingCall","onIncomingStream","acceptIncomingStream","showVideoWindow","peerID","accept","onIceConnectionStateChanged","postScreenMessage","ring","decline","buddylist","receiver","postCallMessage","acceptIncomingCall","mediaready.jingle","stream","addStream","mediafailure.jingle","reqUserMedia","onCallTerminated","getTracks","tracks","forEach","track","closeVideoWindow","isVideoDevice","getVideoTracks","isAudioDevice","getAudioTracks","attachMediaStream","srcObject","end","um","initiateOutgoingCall","initiate","hangUp","isEmptyObject","peers","terminate","initiateScreenSharing","showMinimizedVideoWindow","constraints","browserVersion","webrtcDetectedVersion","mandatory","OfferToReceiveAudio","OfferToReceiveVideo","offerToReceiveAudio","offerToReceiveVideo","onSessionAccepted","filterUserMedia","devices","availableDevices","device","kind","filter","getUserMedia","getScreenMedia","mediaDevices","enumerateDevices","then","catch","MediaStreamTrack","getSources","video","userMediaCallback","screenMediaCallback","screenMediaAvailable","sessionStorage","getScreenMediaJSExtensionId","snapshot","createFileTransferSession","connectionState","ext","File","videoContainer","draggable","containment","videoElement","muted","volume","rv","lv","w_dialog","w_remote","scale","new_h","new_w","vc","support","fullscreen","KEYCODE_ENTER","KEYCODE_ESC","remote","PUBSUB","loadFromRemote","loadFromLocal","conference","parseErr","reasons","createBookmarksNode","soft","deleteFromRemote","deleteFromLocal","nick","addToRemote","addToLocal","toComposingNotificationDelay","onComposing","onPaused","onActive","user","usersComposing","_genComposingMsg","composingMsg","sendComposing","pauseComposing","sendPaused","statusMsgElement","HTTPUPLOAD","fileTransferOptions","discoverUploadService","queryItemForUploadService","httpUploadFeature","httpUploadMaxSize","requestSlot","put","uploadFile","contentType","processData","xhr","ajaxSettings","upload","onprogress","lengthComputable","successfulRequestSlotCB","failedRequestSlotCB","slot","isEnabled","mamOptions","hasFeatureMam2","MAM","nextMessages","queryId","getUniqueId","queryOptions","queryid","with","onComplete","oldestMessageId","oldestMessage","toISOString","query","messageId","textarea","pseudoChatElement","lastMessage","last","fin","addLoadButton","classNameShow","classNameMamEnable","scrollTop"],"mappings":"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","file":"jsxc.min.js"} \ No newline at end of file
diff --git a/build/lib/jsxc.dep.js b/build/lib/jsxc.dep.js
index df8dc727..51f5a7e3 100644
--- a/build/lib/jsxc.dep.js
+++ b/build/lib/jsxc.dep.js
@@ -1,5 +1,5 @@
/*!
- * jsxc v3.1.1 - 2017-02-14
+ * jsxc v3.2.0-nightly.1 - 2017-03-20
*
* This file concatenates all dependencies of jsxc.
*
@@ -7177,7 +7177,10 @@ Strophe.addConnectionPlugin('bookmarks', {
return true;
},
/**
- * Add bookmark to storage.
+ * Add bookmark to storage or update it.
+ *
+ * The specified room is bookmarked into the remote bookmark storage. If the room is
+ * already bookmarked, then it is updated with the specified arguments.
*
* @param {string} roomJid - The JabberID of the chat roomJid
* @param {string} [alias] - A friendly name for the bookmark
@@ -7188,15 +7191,7 @@ Strophe.addConnectionPlugin('bookmarks', {
* @param {function} [error] - Callback after error
*/
add : function(roomJid, alias, nick, autojoin, success, error) {
- var conferenceAttr = {
- jid: roomJid,
- autojoin: autojoin || false
- };
-
- if (alias) {
- conferenceAttr.name = alias;
- }
-
+ var self = this;
var stanza = $iq({
type : 'set'
}).c('pubsub', {
@@ -7204,16 +7199,76 @@ Strophe.addConnectionPlugin('bookmarks', {
}).c('publish', {
node : Strophe.NS.BOOKMARKS
}).c('item', {
- id : roomJid
+ id : 'current'
}).c('storage', {
xmlns : Strophe.NS.BOOKMARKS
- }).c('conference', conferenceAttr);
+ });
+
+ function bookmarkGroupChat(bookmarkit) {
+ if (bookmarkit) {
+ var conferenceAttr = {
+ jid : roomJid, autojoin : autojoin || false
+ };
- if (nick) {
- stanza.c('nick').t(nick);
+ if (alias) {
+ conferenceAttr.name = alias;
+ }
+
+ stanza.c('conference', conferenceAttr);
+ if (nick) {
+ stanza.c('nick').t(nick);
+ }
+ }
+
+ self.connection.sendIQ(stanza, success, error);
}
- this.connection.sendIQ(stanza, success, error);
+ self.get(function(s) {
+ var confs = s.getElementsByTagName('conference');
+ var bookmarked = false;
+ for (var i = 0; i < confs.length; i++) {
+ var conferenceAttr = {
+ jid : confs[i].getAttribute('jid'), autojoin : confs[i].getAttribute('autojoin') || false
+ };
+ var roomName = confs[i].getAttribute('name');
+ var nickname = confs[i].getElementsByTagName('nick');
+
+ if (conferenceAttr.jid === roomJid) {
+ // the room is already bookmarked, then update it
+ bookmarked = true;
+
+ conferenceAttr.autojoin = autojoin || false;
+
+ if (alias) {
+ conferenceAttr.name = alias;
+ }
+ stanza.c('conference', conferenceAttr);
+
+ if (nick) {
+ stanza.c('nick').t(nick).up();
+ }
+ } else {
+ if (roomName) {
+ conferenceAttr.name = roomName;
+ }
+ stanza.c('conference', conferenceAttr);
+
+ if (nickname.length === 1) {
+ stanza.c('nick').t(nickname[0].innerHTML).up();
+ }
+ }
+
+ stanza.up();
+ }
+
+ bookmarkGroupChat(!bookmarked);
+ }, function(s) {
+ if (s.getElementsByTagName('item-not-found').length > 0) {
+ bookmarkGroupChat(true);
+ } else {
+ error(s);
+ }
+ });
},
/**
* Retrieve all stored bookmarks.
@@ -7231,24 +7286,54 @@ Strophe.addConnectionPlugin('bookmarks', {
}), success, error);
},
/**
- * Delete the given entry for roomJid.
+ * Delete the bookmark with the given roomJid in the bookmark storage.
+ *
+ * The whole remote bookmark storage is just updated by removing the
+ * bookmark corresponding to the specified room.
*
* @param {string} roomJid - The JabberID of the chat roomJid you want to remove
* @param {function} [success] - Callback after success
* @param {function} [error] - Callback after error
- * @param {boolean} [notify=false] - True: notify all subscribers
*/
- delete: function(roomJid, success, error, notify) {
- this.connection.sendIQ($iq({
+ delete: function(roomJid, success, error) {
+ var self = this;
+ var stanza = $iq({
type : 'set'
}).c('pubsub', {
xmlns : Strophe.NS.PUBSUB
- }).c('retract', {
- node : Strophe.NS.BOOKMARKS,
- notify: notify || false
+ }).c('publish', {
+ node : Strophe.NS.BOOKMARKS
}).c('item', {
- id: roomJid
- }), success, error);
+ id : 'current'
+ }).c('storage', {
+ xmlns : Strophe.NS.BOOKMARKS
+ });
+
+ self.get(function(s) {
+ var confs = s.getElementsByTagName('conference');
+ for (var i = 0; i < confs.length; i++) {
+ var conferenceAttr = {
+ jid : confs[i].getAttribute('jid'),
+ autojoin : confs[i].getAttribute('autojoin') || false
+ };
+ if (conferenceAttr.jid === roomJid) {
+ continue;
+ }
+ var roomName = confs[i].getAttribute('name');
+ if (roomName) {
+ conferenceAttr.name = roomName;
+ }
+ stanza.c('conference', conferenceAttr);
+ var nickname = confs[i].getElementsByTagName('nick');
+ if (nickname.length === 1) {
+ stanza.c('nick').t(nickname[0].innerHTML).up();
+ }
+ stanza.up();
+ }
+ self.connection.sendIQ(stanza, success, error);
+ }, function(s) {
+ error(s);
+ });
}
});
@@ -8180,8 +8265,153 @@ Strophe.addConnectionPlugin('chatstates',
}
});
+/* XEP-0313: Message Archive Management
+ * Copyright (C) 2012 Kim Alvefur
+ *
+ * This file is MIT/X11 licensed. Please see the
+ * LICENSE.txt file in the source package for more information.
+ *
+ * Modified by: Chris Tunbridge (github.com/Destreyf/)
+ * Updated to support v0.3 of the XMPP XEP-0313 standard
+ * http://xmpp.org/extensions/xep-0313.html
+ *
+ */
+(function(){
+'use strict';
+
+Strophe.addConnectionPlugin('mam', {
+ _c: null,
+ _p: [ 'with', 'start', 'end' ],
+ init: function (conn) {
+ this._c = conn;
+ Strophe.addNamespace('MAM', 'urn:xmpp:mam:2');
+ },
+ query: function (jid, options) {
+ var _p = this._p;
+ var attr = {
+ type:'set',
+ to: jid
+ };
+ options = options || {};
+ var mamAttr = {xmlns: Strophe.NS.MAM};
+ if (!!options.queryid) {
+ mamAttr.queryid = options.queryid;
+ delete options.queryid;
+ }
+ var iq = $iq(attr).c('query', mamAttr).c('x',{xmlns:'jabber:x:data', type:'submit'});
+
+ iq.c('field',{var:'FORM_TYPE', type:'hidden'}).c('value').t(Strophe.NS.MAM).up().up();
+ var i;
+ for (i = 0; i < this._p.length; i++) {
+ var pn = _p[i];
+ var p = options[pn];
+ delete options[pn];
+ if (!!p) {
+ iq.c('field',{var:pn}).c('value').t(p).up().up();
+ }
+ }
+ iq.up();
+
+ var onMessage = options.onMessage;
+ delete options.onMessage;
+ var onComplete = options.onComplete;
+ delete options.onComplete;
+ iq.cnode(new Strophe.RSM(options).toXML());
+
+ var _c = this._c;
+ var handler = _c.addHandler(onMessage, Strophe.NS.MAM, 'message', null);
+ return this._c.sendIQ(iq, function(){
+ _c.deleteHandler(handler);
+ onComplete.apply(this, arguments);
+ });
+ }
+});
+
+})();
+
+// http://xmpp.org/extensions/xep-0059.html
+
+(function (root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD. Register as an anonymous module.
+ define("strophe.rsm", [
+ "strophe"
+ ], function (Strophe) {
+ factory(
+ Strophe.Strophe,
+ Strophe.$build,
+ Strophe.$iq ,
+ Strophe.$msg,
+ Strophe.$pres
+ );
+ return Strophe;
+ });
+ } else {
+ // Browser globals
+ factory(
+ root.Strophe,
+ root.$build,
+ root.$iq ,
+ root.$msg,
+ root.$pres
+ );
+ }
+}(this, function (Strophe, $build, $iq, $msg, $pres) {
+
+Strophe.addNamespace('RSM', 'http://jabber.org/protocol/rsm');
+
+Strophe.RSM = function(options) {
+ this.attribs = ['max', 'first', 'last', 'after', 'before', 'index', 'count'];
+
+ if (typeof options.xml != 'undefined') {
+ this.fromXMLElement(options.xml);
+ } else {
+ for (var ii = 0; ii < this.attribs.length; ii++) {
+ var attrib = this.attribs[ii];
+ this[attrib] = options[attrib];
+ }
+ }
+};
+
+Strophe.RSM.prototype = {
+ toXML: function() {
+ var xml = $build('set', {xmlns: Strophe.NS.RSM});
+ for (var ii = 0; ii < this.attribs.length; ii++) {
+ var attrib = this.attribs[ii];
+ if (typeof this[attrib] != 'undefined') {
+ xml = xml.c(attrib).t(this[attrib].toString()).up();
+ }
+ }
+ return xml.tree();
+ },
+
+ next: function(max) {
+ var newSet = new Strophe.RSM({max: max, after: this.last});
+ return newSet;
+ },
+
+ previous: function(max) {
+ var newSet = new Strophe.RSM({max: max, before: this.first});
+ return newSet;
+ },
+
+ fromXMLElement: function(xmlElement) {
+ for (var ii = 0; ii < this.attribs.length; ii++) {
+ var attrib = this.attribs[ii];
+ var elem = xmlElement.getElementsByTagName(attrib)[0];
+ if (typeof elem != 'undefined' && elem !== null) {
+ this[attrib] = Strophe.getText(elem);
+ if (attrib == 'first') {
+ this.index = elem.getAttribute('index');
+ }
+ }
+ }
+ }
+};
+}));
+
/*!
- * strophe.jinglejs v0.1.2 - 2017-01-12
+ * strophe.jinglejs v0.2.0 - 2017-03-02
*
* Copyright (c) 2017 Klaus Herberth <klaus@jsxc.org> <br>
* Released under the MIT license
@@ -8189,7 +8419,7 @@ Strophe.addConnectionPlugin('chatstates',
* Please see https://github.com/sualko/strophe.jinglejs/
*
* @author Klaus Herberth <klaus@jsxc.org>
- * @version 0.1.2
+ * @version 0.2.0
* @license MIT
*/
@@ -10322,7 +10552,7 @@ CipherBase.prototype._toString = function (value, enc, fin) {
}
}).call(this,require("buffer").Buffer)
-},{"buffer":6,"inherits":45,"stream":182,"string_decoder":183}],8:[function(require,module,exports){
+},{"buffer":6,"inherits":45,"stream":192,"string_decoder":193}],8:[function(require,module,exports){
require('../../modules/es6.object.assign');
module.exports = require('../../modules/$.core').Object.assign;
},{"../../modules/$.core":11,"../../modules/es6.object.assign":21}],9:[function(require,module,exports){
@@ -10658,7 +10888,7 @@ module.exports = function createHash (alg) {
}
}).call(this,require("buffer").Buffer)
-},{"./md5":25,"buffer":6,"cipher-base":7,"inherits":45,"ripemd160":166,"sha.js":175}],24:[function(require,module,exports){
+},{"./md5":25,"buffer":6,"cipher-base":7,"inherits":45,"ripemd160":167,"sha.js":185}],24:[function(require,module,exports){
(function (Buffer){
'use strict';
var intSize = 4;
@@ -10924,7 +11154,7 @@ module.exports = function createHmac(alg, key) {
}
}).call(this,require("buffer").Buffer)
-},{"buffer":6,"create-hash/browser":23,"inherits":45,"stream":182}],27:[function(require,module,exports){
+},{"buffer":6,"create-hash/browser":23,"inherits":45,"stream":192}],27:[function(require,module,exports){
// Copyright Joyent, Inc. and other Node contributors.
//
// Permission is hereby granted, free of charge, to any person obtaining a
@@ -11271,24 +11501,38 @@ Sender.prototype.send = function (file, channel) {
var self = this;
this.file = file;
this.channel = channel;
- var sliceFile = function(offset) {
+ var usePoll = typeof channel.bufferedAmountLowThreshold !== 'number';
+ var offset = 0;
+ var sliceFile = function() {
var reader = new window.FileReader();
reader.onload = (function() {
return function(e) {
self.channel.send(e.target.result);
self.emit('progress', offset, file.size, e.target.result);
+
if (file.size > offset + e.target.result.byteLength) {
- window.setTimeout(sliceFile, self.config.pacing, offset + self.config.chunksize);
+ if (usePoll) {
+ window.setTimeout(sliceFile, self.config.pacing);
+ } else if (channel.bufferedAmount <= channel.bufferedAmountLowThreshold) {
+ window.setTimeout(sliceFile, 0);
+ } else {
+ // wait for bufferedAmountLow to fire
+ }
} else {
self.emit('progress', file.size, file.size, null);
self.emit('sentFile');
}
+ offset = offset + self.config.chunksize;
};
})(file);
var slice = file.slice(offset, offset + self.config.chunksize);
reader.readAsArrayBuffer(slice);
};
- window.setTimeout(sliceFile, 0, 0);
+ if (!usePoll) {
+ channel.bufferedAmountLowThreshold = 8 * this.config.chunksize;
+ channel.addEventListener('bufferedamountlow', sliceFile);
+ }
+ window.setTimeout(sliceFile, 0);
};
function Receiver() {
@@ -11333,7 +11577,7 @@ module.exports.support = typeof window !== 'undefined' && window && window.File
module.exports.Sender = Sender;
module.exports.Receiver = Receiver;
-},{"util":197,"wildemitter":211}],30:[function(require,module,exports){
+},{"util":207,"wildemitter":220}],30:[function(require,module,exports){
var WildEmitter = require('wildemitter');
var util = require('util');
var hashes = require('iana-hashes');
@@ -11406,7 +11650,7 @@ module.exports.support = base.support;
module.exports.Sender = Sender;
module.exports.Receiver = Receiver;
-},{"./filetransfer":29,"iana-hashes":42,"util":197,"wildemitter":211}],31:[function(require,module,exports){
+},{"./filetransfer":29,"iana-hashes":42,"util":207,"wildemitter":220}],31:[function(require,module,exports){
// getScreenMedia helper by @HenrikJoreteg
var getUserMedia = require('getusermedia');
@@ -11441,7 +11685,7 @@ module.exports = function (constraints, cb) {
function (data) {
if (!data || data.sourceId === '') { // user canceled
var error = new Error('NavigatorUserMediaError');
- error.name = 'PERMISSION_DENIED';
+ error.name = 'NotAllowedError';
callback(error);
} else {
constraints = (hasConstraints && constraints) || {audio: false, video: {
@@ -11539,7 +11783,7 @@ module.exports = function (constraints, cb) {
}
};
-window.addEventListener('message', function (event) {
+typeof window !== 'undefined' && window.addEventListener('message', function (event) {
if (event.origin != window.location.origin) {
return;
}
@@ -11551,7 +11795,7 @@ window.addEventListener('message', function (event) {
if (event.data.sourceId === '') { // user canceled
var error = new Error('NavigatorUserMediaError');
- error.name = 'PERMISSION_DENIED';
+ error.name = 'NotAllowedError';
callback(error);
} else {
constraints = constraints || {audio: false, video: {
@@ -11976,14 +12220,6 @@ var chromeShim = {
});
}
- // support for addIceCandidate(null)
- var nativeAddIceCandidate =
- RTCPeerConnection.prototype.addIceCandidate;
- RTCPeerConnection.prototype.addIceCandidate = function() {
- return arguments[0] === null ? Promise.resolve()
- : nativeAddIceCandidate.apply(this, arguments);
- };
-
// shim implicit creation of RTCSessionDescription/RTCIceCandidate
['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']
.forEach(function(method) {
@@ -11994,27 +12230,19 @@ var chromeShim = {
return nativeMethod.apply(this, arguments);
};
});
- },
-
- // Attach a media stream to an element.
- attachMediaStream: function(element, stream) {
- logging('DEPRECATED, attachMediaStream will soon be removed.');
- if (browserDetails.version >= 43) {
- element.srcObject = stream;
- } else if (typeof element.src !== 'undefined') {
- element.src = URL.createObjectURL(stream);
- } else {
- logging('Error attaching stream to element.');
- }
- },
- reattachMediaStream: function(to, from) {
- logging('DEPRECATED, reattachMediaStream will soon be removed.');
- if (browserDetails.version >= 43) {
- to.srcObject = from.srcObject;
- } else {
- to.src = from.src;
- }
+ // support for addIceCandidate(null or undefined)
+ var nativeAddIceCandidate =
+ RTCPeerConnection.prototype.addIceCandidate;
+ RTCPeerConnection.prototype.addIceCandidate = function() {
+ if (!arguments[0]) {
+ if (arguments[1]) {
+ arguments[1].apply(null);
+ }
+ return Promise.resolve();
+ }
+ return nativeAddIceCandidate.apply(this, arguments);
+ };
}
};
@@ -12025,9 +12253,7 @@ module.exports = {
shimOnTrack: chromeShim.shimOnTrack,
shimSourceObject: chromeShim.shimSourceObject,
shimPeerConnection: chromeShim.shimPeerConnection,
- shimGetUserMedia: require('./getusermedia'),
- attachMediaStream: chromeShim.attachMediaStream,
- reattachMediaStream: chromeShim.reattachMediaStream
+ shimGetUserMedia: require('./getusermedia')
};
},{"../utils.js":41,"./getusermedia":35}],35:[function(require,module,exports){
@@ -12200,7 +12426,16 @@ module.exports = function() {
bind(navigator.mediaDevices);
navigator.mediaDevices.getUserMedia = function(cs) {
return shimConstraints_(cs, function(c) {
- return origGetUserMedia(c).catch(function(e) {
+ return origGetUserMedia(c).then(function(stream) {
+ if (c.audio && !stream.getAudioTracks().length ||
+ c.video && !stream.getVideoTracks().length) {
+ stream.getTracks().forEach(function(track) {
+ track.stop();
+ });
+ throw new DOMException('', 'NotFoundError');
+ }
+ return stream;
+ }, function(e) {
return Promise.reject(shimError_(e));
});
});
@@ -12233,7 +12468,7 @@ module.exports = function() {
'use strict';
var SDPUtils = require('sdp');
-var logging = require('../utils').log;
+var browserDetails = require('../utils').browserDetails;
var edgeShim = {
shimPeerConnection: function() {
@@ -12253,6 +12488,18 @@ var edgeShim = {
return args;
};
}
+ // this adds an additional event listener to MediaStrackTrack that signals
+ // when a tracks enabled property was changed.
+ var origMSTEnabled = Object.getOwnPropertyDescriptor(
+ MediaStreamTrack.prototype, 'enabled');
+ Object.defineProperty(MediaStreamTrack.prototype, 'enabled', {
+ set: function(value) {
+ origMSTEnabled.set.call(this, value);
+ var ev = new Event('enabled');
+ ev.enabled = value;
+ this.dispatchEvent(ev);
+ }
+ });
}
window.RTCPeerConnection = function(config) {
@@ -12318,6 +12565,7 @@ var edgeShim = {
// Edge does not like
// 1) stun:
// 2) turn: that does not have all of turn:host:port?transport=udp
+ // 3) turn: with ipv6 addresses
var iceServers = JSON.parse(JSON.stringify(config.iceServers));
this.iceOptions.iceServers = iceServers.filter(function(server) {
if (server && server.urls) {
@@ -12326,14 +12574,18 @@ var edgeShim = {
urls = [urls];
}
urls = urls.filter(function(url) {
- return url.indexOf('turn:') === 0 &&
- url.indexOf('transport=udp') !== -1;
+ return (url.indexOf('turn:') === 0 &&
+ url.indexOf('transport=udp') !== -1 &&
+ url.indexOf('turn:[') === -1) ||
+ (url.indexOf('stun:') === 0 &&
+ browserDetails.version >= 14393);
})[0];
return !!urls;
}
return false;
});
}
+ this._config = config;
// per-track iceGathers, iceTransports, dtlsTransports, rtpSenders, ...
// everything that is needed to describe a SDP m-line.
@@ -12381,10 +12633,21 @@ var edgeShim = {
this._localIceCandidatesBuffer = [];
};
+ window.RTCPeerConnection.prototype.getConfiguration = function() {
+ return this._config;
+ };
+
window.RTCPeerConnection.prototype.addStream = function(stream) {
// Clone is necessary for local demos mostly, attaching directly
// to two different senders does not work (build 10547).
- this.localStreams.push(stream.clone());
+ var clonedStream = stream.clone();
+ stream.getTracks().forEach(function(track, idx) {
+ var clonedTrack = clonedStream.getTracks()[idx];
+ track.addEventListener('enabled', function(event) {
+ clonedTrack.enabled = event.enabled;
+ });
+ });
+ this.localStreams.push(clonedStream);
this._maybeFireNegotiationNeeded();
};
@@ -12426,13 +12689,25 @@ var edgeShim = {
for (var i = 0; i < remoteCapabilities.codecs.length; i++) {
var rCodec = remoteCapabilities.codecs[i];
if (lCodec.name.toLowerCase() === rCodec.name.toLowerCase() &&
- lCodec.clockRate === rCodec.clockRate &&
- lCodec.numChannels === rCodec.numChannels) {
+ lCodec.clockRate === rCodec.clockRate) {
+ // number of channels is the highest common number of channels
+ rCodec.numChannels = Math.min(lCodec.numChannels,
+ rCodec.numChannels);
// push rCodec so we reply with offerer payload type
commonCapabilities.codecs.push(rCodec);
- // FIXME: also need to determine intersection between
- // .rtcpFeedback and .parameters
+ // determine common feedback mechanisms
+ rCodec.rtcpFeedback = rCodec.rtcpFeedback.filter(function(fb) {
+ for (var j = 0; j < lCodec.rtcpFeedback.length; j++) {
+ if (lCodec.rtcpFeedback[j].type === fb.type &&
+ lCodec.rtcpFeedback[j].parameter === fb.parameter) {
+ return true;
+ }
+ }
+ return false;
+ });
+ // FIXME: also need to determine .parameters
+ // see https://github.com/openpeer/ortc/issues/569
break;
}
}
@@ -12572,6 +12847,13 @@ var edgeShim = {
transceiver.rtpSender.send(params);
}
if (recv && transceiver.rtpReceiver) {
+ // remove RTX field in Edge 14942
+ if (transceiver.kind === 'video'
+ && transceiver.recvEncodingParameters) {
+ transceiver.recvEncodingParameters.forEach(function(p) {
+ delete p.rtx;
+ });
+ }
params.encodings = transceiver.recvEncodingParameters;
params.rtcp = {
cname: transceiver.cname
@@ -12616,10 +12898,11 @@ var edgeShim = {
var dtlsTransport = transceiver.dtlsTransport;
var localCapabilities = transceiver.localCapabilities;
var remoteCapabilities = transceiver.remoteCapabilities;
+
var rejected = mediaSection.split('\n', 1)[0]
.split(' ', 2)[1] === '0';
- if (!rejected) {
+ if (!rejected && !transceiver.isDatachannel) {
var remoteIceParameters = SDPUtils.getIceParameters(
mediaSection, sessionpart);
if (isIceLite) {
@@ -12724,6 +13007,22 @@ var edgeShim = {
var rejected = mline[1] === '0';
var direction = SDPUtils.getDirection(mediaSection, sessionpart);
+ var mid = SDPUtils.matchPrefix(mediaSection, 'a=mid:');
+ if (mid.length) {
+ mid = mid[0].substr(6);
+ } else {
+ mid = SDPUtils.generateIdentifier();
+ }
+
+ // Reject datachannels which are not implemented yet.
+ if (kind === 'application' && mline[2] === 'DTLS/SCTP') {
+ self.transceivers[sdpMLineIndex] = {
+ mid: mid,
+ isDatachannel: true
+ };
+ return;
+ }
+
var transceiver;
var iceGatherer;
var iceTransport;
@@ -12749,13 +13048,6 @@ var edgeShim = {
recvEncodingParameters =
SDPUtils.parseRtpEncodingParameters(mediaSection);
- var mid = SDPUtils.matchPrefix(mediaSection, 'a=mid:');
- if (mid.length) {
- mid = mid[0].substr(6);
- } else {
- mid = SDPUtils.generateIdentifier();
- }
-
var cname;
// Gets the first SSRC. Note that with RTX there might be multiple
// SSRCs.
@@ -12771,7 +13063,7 @@ var edgeShim = {
}
var isComplete = SDPUtils.matchPrefix(mediaSection,
- 'a=end-of-candidates').length > 0;
+ 'a=end-of-candidates', sessionpart).length > 0;
var cands = SDPUtils.matchPrefix(mediaSection, 'a=candidate:')
.map(function(cand) {
return SDPUtils.parseCandidate(cand);
@@ -12791,6 +13083,14 @@ var edgeShim = {
}
localCapabilities = RTCRtpReceiver.getCapabilities(kind);
+
+ // filter RTX until additional stuff needed for RTX is implemented
+ // in adapter.js
+ localCapabilities.codecs = localCapabilities.codecs.filter(
+ function(codec) {
+ return codec.name !== 'rtx';
+ });
+
sendEncodingParameters = [{
ssrc: (2 * sdpMLineIndex + 2) * 1001
}];
@@ -12806,11 +13106,16 @@ var edgeShim = {
// FIXME: look at direction.
if (self.localStreams.length > 0 &&
self.localStreams[0].getTracks().length >= sdpMLineIndex) {
- // FIXME: actually more complicated, needs to match types etc
- var localtrack = self.localStreams[0]
- .getTracks()[sdpMLineIndex];
- rtpSender = new RTCRtpSender(localtrack,
- transports.dtlsTransport);
+ var localTrack;
+ if (kind === 'audio') {
+ localTrack = self.localStreams[0].getAudioTracks()[0];
+ } else if (kind === 'video') {
+ localTrack = self.localStreams[0].getVideoTracks()[0];
+ }
+ if (localTrack) {
+ rtpSender = new RTCRtpSender(localTrack,
+ transports.dtlsTransport);
+ }
}
self.transceivers[sdpMLineIndex] = {
@@ -13095,6 +13400,21 @@ var edgeShim = {
} : self._createIceAndDtlsTransports(mid, sdpMLineIndex);
var localCapabilities = RTCRtpSender.getCapabilities(kind);
+ // filter RTX until additional stuff needed for RTX is implemented
+ // in adapter.js
+ localCapabilities.codecs = localCapabilities.codecs.filter(
+ function(codec) {
+ return codec.name !== 'rtx';
+ });
+ localCapabilities.codecs.forEach(function(codec) {
+ // work around https://bugs.chromium.org/p/webrtc/issues/detail?id=6552
+ // by adding level-asymmetry-allowed=1
+ if (codec.name === 'H264' &&
+ codec.parameters['level-asymmetry-allowed'] === undefined) {
+ codec.parameters['level-asymmetry-allowed'] = '1';
+ }
+ });
+
var rtpSender;
var rtpReceiver;
@@ -13156,6 +13476,12 @@ var edgeShim = {
}).join(' ') + '\r\n';
}
this.transceivers.forEach(function(transceiver) {
+ if (transceiver.isDatachannel) {
+ sdp += 'm=application 0 DTLS/SCTP 5000\r\n' +
+ 'c=IN IP4 0.0.0.0\r\n' +
+ 'a=mid:' + transceiver.mid + '\r\n';
+ return;
+ }
// Calculate intersection of capabilities.
var commonCapabilities = self._getCommonCapabilities(
transceiver.localCapabilities,
@@ -13176,7 +13502,7 @@ var edgeShim = {
};
window.RTCPeerConnection.prototype.addIceCandidate = function(candidate) {
- if (candidate === null) {
+ if (!candidate) {
this.transceivers.forEach(function(transceiver) {
transceiver.iceTransport.addRemoteCandidate({});
});
@@ -13195,7 +13521,7 @@ var edgeShim = {
var cand = Object.keys(candidate.candidate).length > 0 ?
SDPUtils.parseCandidate(candidate.candidate) : {};
// Ignore Chrome's invalid candidates since Edge does not like them.
- if (cand.protocol === 'tcp' && cand.port === 0) {
+ if (cand.protocol === 'tcp' && (cand.port === 0 || cand.port === 9)) {
return;
}
// Ignore RTCP candidates, we assume RTCP-MUX.
@@ -13250,29 +13576,16 @@ var edgeShim = {
});
});
};
- },
-
- // Attach a media stream to an element.
- attachMediaStream: function(element, stream) {
- logging('DEPRECATED, attachMediaStream will soon be removed.');
- element.srcObject = stream;
- },
-
- reattachMediaStream: function(to, from) {
- logging('DEPRECATED, reattachMediaStream will soon be removed.');
- to.srcObject = from.srcObject;
}
};
// Expose public methods.
module.exports = {
shimPeerConnection: edgeShim.shimPeerConnection,
- shimGetUserMedia: require('./getusermedia'),
- attachMediaStream: edgeShim.attachMediaStream,
- reattachMediaStream: edgeShim.reattachMediaStream
+ shimGetUserMedia: require('./getusermedia')
};
-},{"../utils":41,"./getusermedia":37,"sdp":173}],37:[function(require,module,exports){
+},{"../utils":41,"./getusermedia":37,"sdp":183}],37:[function(require,module,exports){
/*
* Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
*
@@ -13317,7 +13630,6 @@ module.exports = function() {
/* eslint-env node */
'use strict';
-var logging = require('../utils').log;
var browserDetails = require('../utils').browserDetails;
var firefoxShim = {
@@ -13427,43 +13739,39 @@ var firefoxShim = {
};
});
- // support for addIceCandidate(null)
+ // support for addIceCandidate(null or undefined)
var nativeAddIceCandidate =
RTCPeerConnection.prototype.addIceCandidate;
RTCPeerConnection.prototype.addIceCandidate = function() {
- return arguments[0] === null ? Promise.resolve()
- : nativeAddIceCandidate.apply(this, arguments);
- };
-
- // shim getStats with maplike support
- var makeMapStats = function(stats) {
- var map = new Map();
- Object.keys(stats).forEach(function(key) {
- map.set(key, stats[key]);
- map[key] = stats[key];
- });
- return map;
- };
-
- var nativeGetStats = RTCPeerConnection.prototype.getStats;
- RTCPeerConnection.prototype.getStats = function(selector, onSucc, onErr) {
- return nativeGetStats.apply(this, [selector || null])
- .then(function(stats) {
- return makeMapStats(stats);
- })
- .then(onSucc, onErr);
+ if (!arguments[0]) {
+ if (arguments[1]) {
+ arguments[1].apply(null);
+ }
+ return Promise.resolve();
+ }
+ return nativeAddIceCandidate.apply(this, arguments);
};
- },
- // Attach a media stream to an element.
- attachMediaStream: function(element, stream) {
- logging('DEPRECATED, attachMediaStream will soon be removed.');
- element.srcObject = stream;
- },
+ if (browserDetails.version < 48) {
+ // shim getStats with maplike support
+ var makeMapStats = function(stats) {
+ var map = new Map();
+ Object.keys(stats).forEach(function(key) {
+ map.set(key, stats[key]);
+ map[key] = stats[key];
+ });
+ return map;
+ };
- reattachMediaStream: function(to, from) {
- logging('DEPRECATED, reattachMediaStream will soon be removed.');
- to.srcObject = from.srcObject;
+ var nativeGetStats = RTCPeerConnection.prototype.getStats;
+ RTCPeerConnection.prototype.getStats = function(selector, onSucc, onErr) {
+ return nativeGetStats.apply(this, [selector || null])
+ .then(function(stats) {
+ return makeMapStats(stats);
+ })
+ .then(onSucc, onErr);
+ };
+ }
}
};
@@ -13472,9 +13780,7 @@ module.exports = {
shimOnTrack: firefoxShim.shimOnTrack,
shimSourceObject: firefoxShim.shimSourceObject,
shimPeerConnection: firefoxShim.shimPeerConnection,
- shimGetUserMedia: require('./getusermedia'),
- attachMediaStream: firefoxShim.attachMediaStream,
- reattachMediaStream: firefoxShim.reattachMediaStream
+ shimGetUserMedia: require('./getusermedia')
};
},{"../utils":41,"./getusermedia":39}],39:[function(require,module,exports){
@@ -13613,7 +13919,18 @@ module.exports = function() {
var origGetUserMedia = navigator.mediaDevices.getUserMedia.
bind(navigator.mediaDevices);
navigator.mediaDevices.getUserMedia = function(c) {
- return origGetUserMedia(c).catch(function(e) {
+ return origGetUserMedia(c).then(function(stream) {
+ // Work around https://bugzil.la/802326
+ if (c.audio && !stream.getAudioTracks().length ||
+ c.video && !stream.getVideoTracks().length) {
+ stream.getTracks().forEach(function(track) {
+ track.stop();
+ });
+ throw new DOMException('The object can not be found here.',
+ 'NotFoundError');
+ }
+ return stream;
+ }, function(e) {
return Promise.reject(shimError_(e));
});
};
@@ -13642,10 +13959,6 @@ var safariShim = {
// TODO: DrAlex, should be here, double check against LayoutTests
// shimOnTrack: function() { },
- // TODO: DrAlex
- // attachMediaStream: function(element, stream) { },
- // reattachMediaStream: function(to, from) { },
-
// TODO: once the back-end for the mac port is done, add.
// TODO: check for webkitGTK+
// shimPeerConnection: function() { },
@@ -13660,9 +13973,7 @@ module.exports = {
shimGetUserMedia: safariShim.shimGetUserMedia
// TODO
// shimOnTrack: safariShim.shimOnTrack,
- // shimPeerConnection: safariShim.shimPeerConnection,
- // attachMediaStream: safariShim.attachMediaStream,
- // reattachMediaStream: safariShim.reattachMediaStream
+ // shimPeerConnection: safariShim.shimPeerConnection
};
},{}],41:[function(require,module,exports){
@@ -13717,7 +14028,7 @@ var utils = {
/**
* Browser detector.
*
- * @return {object} result containing browser, version and minVersion
+ * @return {object} result containing browser and version
* properties.
*/
detectBrowser: function() {
@@ -13725,7 +14036,6 @@ var utils = {
var result = {};
result.browser = null;
result.version = null;
- result.minVersion = null;
// Fail early if it's not a browser
if (typeof window === 'undefined' || !window.navigator) {
@@ -13738,7 +14048,6 @@ var utils = {
result.browser = 'firefox';
result.version = this.extractVersion(navigator.userAgent,
/Firefox\/([0-9]+)\./, 1);
- result.minVersion = 31;
// all webkit-based browsers
} else if (navigator.webkitGetUserMedia) {
@@ -13747,7 +14056,6 @@ var utils = {
result.browser = 'chrome';
result.version = this.extractVersion(navigator.userAgent,
/Chrom(e|ium)\/([0-9]+)\./, 2);
- result.minVersion = 38;
// Safari or unknown webkit-based
// for the time being Safari has support for MediaStreams but not webRTC
@@ -13767,7 +14075,6 @@ var utils = {
result.browser = 'safari';
result.version = this.extractVersion(navigator.userAgent,
/AppleWebKit\/([0-9]+)\./, 1);
- result.minVersion = 602;
// unknown webkit-based browser
} else {
@@ -13783,7 +14090,6 @@ var utils = {
result.browser = 'edge';
result.version = this.extractVersion(navigator.userAgent,
/Edge\/(\d+).(\d+)$/, 2);
- result.minVersion = 10547;
// Default fallthrough: not supported.
} else {
@@ -13791,13 +14097,6 @@ var utils = {
return result;
}
- // Warn if version is less than minVersion.
- if (result.version < result.minVersion) {
- utils.log('Browser: ' + result.browser + ' Version: ' + result.version +
- ' < minimum supported version: ' + result.minVersion +
- '\n some things might not work!');
- }
-
return result;
}
};
@@ -14297,7 +14596,7 @@ FileTransferSession.prototype = extend(FileTransferSession.prototype, {
module.exports = FileTransferSession;
-},{"extend-object":28,"filetransfer/hashed":30,"jingle-session":51,"rtcpeerconnection":167,"util":197}],50:[function(require,module,exports){
+},{"extend-object":28,"filetransfer/hashed":30,"jingle-session":51,"rtcpeerconnection":177,"util":207}],50:[function(require,module,exports){
var util = require('util');
var extend = require('extend-object');
var BaseSession = require('jingle-session');
@@ -14956,7 +15255,7 @@ MediaSession.prototype = extend(MediaSession.prototype, {
module.exports = MediaSession;
-},{"extend-object":28,"jingle-session":51,"rtcpeerconnection":167,"util":197}],51:[function(require,module,exports){
+},{"extend-object":28,"jingle-session":51,"rtcpeerconnection":177,"util":207}],51:[function(require,module,exports){
var util = require('util');
var uuid = require('uuid');
var async = require('async');
@@ -15302,7 +15601,7 @@ JingleSession.prototype = extend(JingleSession.prototype, {
module.exports = JingleSession;
-},{"async":52,"extend-object":28,"util":197,"uuid":199,"wildemitter":211}],52:[function(require,module,exports){
+},{"async":52,"extend-object":28,"util":207,"uuid":209,"wildemitter":220}],52:[function(require,module,exports){
(function (process,global){
/*!
* async
@@ -16571,7 +16870,7 @@ module.exports = JingleSession;
}());
}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"_process":153}],53:[function(require,module,exports){
+},{"_process":154}],53:[function(require,module,exports){
var util = require('util');
var intersect = require('intersect');
var WildEmitter = require('wildemitter');
@@ -16985,7 +17284,7 @@ SessionManager.prototype.process = function (req) {
module.exports = SessionManager;
-},{"intersect":46,"jingle-filetransfer-session":49,"jingle-media-session":50,"jingle-session":51,"util":197,"webrtcsupport":210,"wildemitter":211}],54:[function(require,module,exports){
+},{"intersect":46,"jingle-filetransfer-session":49,"jingle-media-session":50,"jingle-session":51,"util":207,"webrtcsupport":219,"wildemitter":220}],54:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -17154,7 +17453,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],56:[function(require,module,exports){
+},{"xmpp-constants":221}],56:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -17246,7 +17545,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-jid":218}],57:[function(require,module,exports){
+},{"xmpp-jid":227}],57:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -17286,7 +17585,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],58:[function(require,module,exports){
+},{"xmpp-constants":221}],58:[function(require,module,exports){
'use strict';
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
@@ -17354,7 +17653,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"babel-runtime/helpers/interop-require-default":2,"lodash.foreach":134,"xmpp-constants":212}],59:[function(require,module,exports){
+},{"babel-runtime/helpers/interop-require-default":2,"lodash.foreach":134,"xmpp-constants":221}],59:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -17383,7 +17682,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],60:[function(require,module,exports){
+},{"xmpp-constants":221}],60:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -17460,7 +17759,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212,"xmpp-jid":218}],61:[function(require,module,exports){
+},{"xmpp-constants":221,"xmpp-jid":227}],61:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -17492,7 +17791,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],62:[function(require,module,exports){
+},{"xmpp-constants":221}],62:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -17533,7 +17832,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],63:[function(require,module,exports){
+},{"xmpp-constants":221}],63:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -17612,7 +17911,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],64:[function(require,module,exports){
+},{"xmpp-constants":221}],64:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -17671,7 +17970,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],65:[function(require,module,exports){
+},{"xmpp-constants":221}],65:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -17757,7 +18056,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],66:[function(require,module,exports){
+},{"xmpp-constants":221}],66:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -17795,7 +18094,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],67:[function(require,module,exports){
+},{"xmpp-constants":221}],67:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -18094,7 +18393,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212,"xmpp-jid":218}],68:[function(require,module,exports){
+},{"xmpp-constants":221,"xmpp-jid":227}],68:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -18124,7 +18423,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],69:[function(require,module,exports){
+},{"xmpp-constants":221}],69:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -18212,7 +18511,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],70:[function(require,module,exports){
+},{"xmpp-constants":221}],70:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -18291,7 +18590,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],71:[function(require,module,exports){
+},{"xmpp-constants":221}],71:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -18347,7 +18646,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],72:[function(require,module,exports){
+},{"xmpp-constants":221}],72:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -18443,7 +18742,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],73:[function(require,module,exports){
+},{"xmpp-constants":221}],73:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -18519,7 +18818,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],74:[function(require,module,exports){
+},{"xmpp-constants":221}],74:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -18562,7 +18861,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],75:[function(require,module,exports){
+},{"xmpp-constants":221}],75:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -18602,7 +18901,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],76:[function(require,module,exports){
+},{"xmpp-constants":221}],76:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -18652,7 +18951,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],77:[function(require,module,exports){
+},{"xmpp-constants":221}],77:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -18676,7 +18975,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],78:[function(require,module,exports){
+},{"xmpp-constants":221}],78:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -18706,7 +19005,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],79:[function(require,module,exports){
+},{"xmpp-constants":221}],79:[function(require,module,exports){
(function (Buffer){
'use strict';
@@ -18842,7 +19141,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
}).call(this,require("buffer").Buffer)
-},{"buffer":6,"xmpp-constants":212}],80:[function(require,module,exports){
+},{"buffer":6,"xmpp-constants":221}],80:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -18935,7 +19234,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],81:[function(require,module,exports){
+},{"xmpp-constants":221}],81:[function(require,module,exports){
'use strict';
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
@@ -19331,7 +19630,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"babel-runtime/core-js/object/assign":1,"xmpp-constants":212}],83:[function(require,module,exports){
+},{"babel-runtime/core-js/object/assign":1,"xmpp-constants":221}],83:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -19366,7 +19665,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212,"xmpp-jid":218}],84:[function(require,module,exports){
+},{"xmpp-constants":221,"xmpp-jid":227}],84:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -19530,7 +19829,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],85:[function(require,module,exports){
+},{"xmpp-constants":221}],85:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -19571,7 +19870,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],86:[function(require,module,exports){
+},{"xmpp-constants":221}],86:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -19621,7 +19920,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],87:[function(require,module,exports){
+},{"xmpp-constants":221}],87:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -19748,7 +20047,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212,"xmpp-jid":218}],88:[function(require,module,exports){
+},{"xmpp-constants":221,"xmpp-jid":227}],88:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -19812,7 +20111,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],89:[function(require,module,exports){
+},{"xmpp-constants":221}],89:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -19841,7 +20140,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],90:[function(require,module,exports){
+},{"xmpp-constants":221}],90:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -20122,7 +20421,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],91:[function(require,module,exports){
+},{"xmpp-constants":221}],91:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -20153,7 +20452,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],92:[function(require,module,exports){
+},{"xmpp-constants":221}],92:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -20179,7 +20478,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],93:[function(require,module,exports){
+},{"xmpp-constants":221}],93:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -20201,7 +20500,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],94:[function(require,module,exports){
+},{"xmpp-constants":221}],94:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -20297,7 +20596,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],95:[function(require,module,exports){
+},{"xmpp-constants":221}],95:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -20319,7 +20618,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],96:[function(require,module,exports){
+},{"xmpp-constants":221}],96:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -20348,7 +20647,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],97:[function(require,module,exports){
+},{"xmpp-constants":221}],97:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -20529,7 +20828,8 @@ exports['default'] = function (JXT) {
namespace: _xmppConstants.Namespace.PUBSUB,
element: 'item',
fields: {
- id: Utils.attribute('id')
+ id: Utils.attribute('id'),
+ publisher: Utils.jidAttribute('publisher')
}
});
@@ -20567,7 +20867,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],98:[function(require,module,exports){
+},{"xmpp-constants":221}],98:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -20599,7 +20899,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],99:[function(require,module,exports){
+},{"xmpp-constants":221}],99:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -20742,7 +21042,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],100:[function(require,module,exports){
+},{"xmpp-constants":221}],100:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -20857,7 +21157,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],101:[function(require,module,exports){
+},{"xmpp-constants":221}],101:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -20907,7 +21207,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],102:[function(require,module,exports){
+},{"xmpp-constants":221}],102:[function(require,module,exports){
'use strict';
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
@@ -20991,7 +21291,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"babel-runtime/helpers/interop-require-default":2,"lodash.foreach":134,"xmpp-constants":212}],103:[function(require,module,exports){
+},{"babel-runtime/helpers/interop-require-default":2,"lodash.foreach":134,"xmpp-constants":221}],103:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -21047,7 +21347,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],104:[function(require,module,exports){
+},{"xmpp-constants":221}],104:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -21106,7 +21406,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],105:[function(require,module,exports){
+},{"xmpp-constants":221}],105:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -21151,7 +21451,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],106:[function(require,module,exports){
+},{"xmpp-constants":221}],106:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -21467,7 +21767,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],107:[function(require,module,exports){
+},{"xmpp-constants":221}],107:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -21579,7 +21879,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],108:[function(require,module,exports){
+},{"xmpp-constants":221}],108:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -21699,7 +21999,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],109:[function(require,module,exports){
+},{"xmpp-constants":221}],109:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -21726,7 +22026,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],110:[function(require,module,exports){
+},{"xmpp-constants":221}],110:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -21783,7 +22083,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],111:[function(require,module,exports){
+},{"xmpp-constants":221}],111:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -21881,7 +22181,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],112:[function(require,module,exports){
+},{"xmpp-constants":221}],112:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -21910,7 +22210,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],113:[function(require,module,exports){
+},{"xmpp-constants":221}],113:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -21976,7 +22276,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],114:[function(require,module,exports){
+},{"xmpp-constants":221}],114:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -22012,7 +22312,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],115:[function(require,module,exports){
+},{"xmpp-constants":221}],115:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -22038,7 +22338,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],116:[function(require,module,exports){
+},{"xmpp-constants":221}],116:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -22072,7 +22372,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],117:[function(require,module,exports){
+},{"xmpp-constants":221}],117:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -22190,7 +22490,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],118:[function(require,module,exports){
+},{"xmpp-constants":221}],118:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -22217,7 +22517,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],119:[function(require,module,exports){
+},{"xmpp-constants":221}],119:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, '__esModule', {
@@ -22237,7 +22537,7 @@ exports['default'] = function (JXT) {
module.exports = exports['default'];
-},{"xmpp-constants":212}],120:[function(require,module,exports){
+},{"xmpp-constants":221}],120:[function(require,module,exports){
'use strict';
var extend = require('lodash.assign');
@@ -22420,7 +22720,7 @@ JXT.getGlobalJXT = function () {
module.exports = JXT;
-},{"./lib/helpers":121,"./lib/stanza":122,"./lib/types":123,"lodash.assign":132,"uuid":199}],121:[function(require,module,exports){
+},{"./lib/helpers":121,"./lib/stanza":122,"./lib/types":123,"lodash.assign":132,"uuid":209}],121:[function(require,module,exports){
'use strict';
var ltx = require('ltx');
@@ -26536,8 +26836,12 @@ var createElement = require('./lib/createElement')
var tag = require('./lib/tag')
var tagString = require('./lib/tagString')
var is = require('./lib/is')
+var clone = require('./lib/clone')
+var stringify = require('./lib/stringify')
-exports = module.exports = tag
+exports = module.exports = function ltx () {
+ return tag.apply(null, arguments)
+}
exports.Element = Element
@@ -26550,6 +26854,7 @@ exports.isNode = is.isNode
exports.isElement = is.isElement
exports.isText = is.isText
+exports.clone = clone
exports.createElement = createElement
exports.escapeXML = escape.escapeXML
@@ -26563,7 +26868,9 @@ exports.parse = parse
exports.tag = tag
exports.tagString = tagString
-},{"./lib/Element":141,"./lib/Parser":142,"./lib/createElement":144,"./lib/equal":145,"./lib/escape":146,"./lib/is":147,"./lib/parse":148,"./lib/tag":150,"./lib/tagString":151}],140:[function(require,module,exports){
+exports.stringify = stringify
+
+},{"./lib/Element":141,"./lib/Parser":142,"./lib/clone":143,"./lib/createElement":144,"./lib/equal":145,"./lib/escape":146,"./lib/is":147,"./lib/parse":148,"./lib/stringify":150,"./lib/tag":151,"./lib/tagString":152}],140:[function(require,module,exports){
'use strict'
var inherits = require('inherits')
@@ -26673,7 +26980,7 @@ DOMElement.prototype.removeChild = function (el) {
this.remove(el)
}
-DOMElement.createElement = function (name, attrs /*, child1, child2, ...*/) {
+DOMElement.createElement = function (name, attrs /*, child1, child2, ... */) {
var el = new DOMElement(name, attrs)
var children = Array.prototype.slice.call(arguments, 2)
@@ -27176,7 +27483,7 @@ var Element = require('./Element')
* @param {object} attrs object of attribute key/value pairs
* @return {Element} Element
*/
-module.exports = function createElement (name, attrs /*, child1, child2, ...*/) {
+module.exports = function createElement (name, attrs /*, child1, child2, ... */) {
var el = new Element(name, attrs)
for (var i = 2; i < arguments.length; i++) {
@@ -27344,13 +27651,14 @@ var EventEmitter = require('events').EventEmitter
var unescapeXML = require('../escape').unescapeXML
var STATE_TEXT = 0
-var STATE_IGNORE_TAG = 1
-var STATE_TAG_NAME = 2
-var STATE_TAG = 3
-var STATE_ATTR_NAME = 4
-var STATE_ATTR_EQ = 5
-var STATE_ATTR_QUOT = 6
-var STATE_ATTR_VALUE = 7
+var STATE_IGNORE_COMMENT = 1
+var STATE_IGNORE_INSTRUCTION = 2
+var STATE_TAG_NAME = 3
+var STATE_TAG = 4
+var STATE_ATTR_NAME = 5
+var STATE_ATTR_EQ = 6
+var STATE_ATTR_QUOT = 7
+var STATE_ATTR_VALUE = 8
var SaxLtx = module.exports = function SaxLtx () {
EventEmitter.call(this)
@@ -27399,7 +27707,6 @@ var SaxLtx = module.exports = function SaxLtx () {
for (; pos < data.length; pos++) {
var c = data.charCodeAt(pos)
- // console.log("state", state, "c", c, data[pos])
switch (state) {
case STATE_TEXT:
if (c === 60 /* < */) {
@@ -27416,18 +27723,33 @@ var SaxLtx = module.exports = function SaxLtx () {
if (c === 47 /* / */ && recordStart === pos) {
recordStart = pos + 1
endTag = true
- } else if (c === 33 /* ! */ || c === 63 /* ? */) {
+ } else if (c === 33 /* ! */) {
recordStart = undefined
- state = STATE_IGNORE_TAG
+ state = STATE_IGNORE_COMMENT
+ } else if (c === 63 /* ? */) {
+ recordStart = undefined
+ state = STATE_IGNORE_INSTRUCTION
} else if (c <= 32 || c === 47 /* / */ || c === 62 /* > */) {
tagName = endRecording()
pos--
state = STATE_TAG
}
break
- case STATE_IGNORE_TAG:
+ case STATE_IGNORE_COMMENT:
if (c === 62 /* > */) {
- state = STATE_TEXT
+ var prevFirst = data.charCodeAt(pos - 1)
+ var prevSecond = data.charCodeAt(pos - 2)
+ if (prevFirst === 45 /* - */ && prevSecond === 45 /* - */) {
+ state = STATE_TEXT
+ }
+ }
+ break
+ case STATE_IGNORE_INSTRUCTION:
+ if (c === 62 /* > */) {
+ var prev = data.charCodeAt(pos - 1)
+ if (prev === 63 /* ? */) {
+ state = STATE_TEXT
+ }
}
break
case STATE_TAG:
@@ -27504,6 +27826,40 @@ SaxLtx.prototype.end = function (data) {
},{"../escape":146,"events":27,"inherits":45}],150:[function(require,module,exports){
'use strict'
+function stringify (el, indent, level) {
+ if (typeof indent === 'number') indent = ' '.repeat(indent)
+ if (!level) level = 1
+ var s = ''
+ s += '<' + el.name
+
+ Object.keys(el.attrs).forEach(function (k) {
+ s += ' ' + k + '=' + '"' + el.attrs[k] + '"'
+ })
+
+ if (el.children.length) {
+ s += '>'
+ el.children.forEach(function (child, i) {
+ if (indent) s += '\n' + indent.repeat(level)
+ if (typeof child === 'string') {
+ s += child
+ } else {
+ s += stringify(child, indent, level + 1)
+ }
+ })
+ if (indent) s += '\n' + indent.repeat(level - 1)
+ s += '</' + el.name + '>'
+ } else {
+ s += '/>'
+ }
+
+ return s
+}
+
+module.exports = stringify
+
+},{}],151:[function(require,module,exports){
+'use strict'
+
var tagString = require('./tagString')
var parse = require('./parse')
@@ -27511,7 +27867,7 @@ module.exports = function tag (/* [literals], ...substitutions */) {
return parse(tagString.apply(null, arguments))
}
-},{"./parse":148,"./tagString":151}],151:[function(require,module,exports){
+},{"./parse":148,"./tagString":152}],152:[function(require,module,exports){
'use strict'
var escape = require('./escape').escapeXML
@@ -27530,7 +27886,7 @@ module.exports = function tagString (/* [literals], ...substitutions */) {
return str
}
-},{"./escape":146}],152:[function(require,module,exports){
+},{"./escape":146}],153:[function(require,module,exports){
(function (process){
'use strict';
@@ -27577,7 +27933,7 @@ function nextTick(fn, arg1, arg2, arg3) {
}
}).call(this,require('_process'))
-},{"_process":153}],153:[function(require,module,exports){
+},{"_process":154}],154:[function(require,module,exports){
// shim for using process in browser
var process = module.exports = {};
@@ -27759,7 +28115,7 @@ process.chdir = function (dir) {
};
process.umask = function() { return 0; };
-},{}],154:[function(require,module,exports){
+},{}],155:[function(require,module,exports){
(function (global){
/*! https://mths.be/punycode v1.4.1 by @mathias */
;(function(root) {
@@ -28296,10 +28652,10 @@ process.umask = function() { return 0; };
}(this));
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{}],155:[function(require,module,exports){
+},{}],156:[function(require,module,exports){
module.exports = require("./lib/_stream_duplex.js")
-},{"./lib/_stream_duplex.js":156}],156:[function(require,module,exports){
+},{"./lib/_stream_duplex.js":157}],157:[function(require,module,exports){
// a duplex stream is just a stream that is both readable and writable.
// Since JS doesn't have multiple prototypal inheritance, this class
// prototypally inherits from Readable, and then parasitically from
@@ -28375,7 +28731,7 @@ function forEach(xs, f) {
f(xs[i], i);
}
}
-},{"./_stream_readable":158,"./_stream_writable":160,"core-util-is":22,"inherits":45,"process-nextick-args":152}],157:[function(require,module,exports){
+},{"./_stream_readable":159,"./_stream_writable":161,"core-util-is":22,"inherits":45,"process-nextick-args":153}],158:[function(require,module,exports){
// a passthrough stream.
// basically just the most minimal sort of Transform stream.
// Every written chunk gets output as-is.
@@ -28402,7 +28758,7 @@ function PassThrough(options) {
PassThrough.prototype._transform = function (chunk, encoding, cb) {
cb(null, chunk);
};
-},{"./_stream_transform":159,"core-util-is":22,"inherits":45}],158:[function(require,module,exports){
+},{"./_stream_transform":160,"core-util-is":22,"inherits":45}],159:[function(require,module,exports){
(function (process){
'use strict';
@@ -28416,6 +28772,10 @@ var processNextTick = require('process-nextick-args');
var isArray = require('isarray');
/*</replacement>*/
+/*<replacement>*/
+var Duplex;
+/*</replacement>*/
+
Readable.ReadableState = ReadableState;
/*<replacement>*/
@@ -28463,6 +28823,8 @@ var StringDecoder;
util.inherits(Readable, Stream);
function prependListener(emitter, event, fn) {
+ // Sadly this is not cacheable as some libraries bundle their own
+ // event emitter implementation with them.
if (typeof emitter.prependListener === 'function') {
return emitter.prependListener(event, fn);
} else {
@@ -28474,7 +28836,6 @@ function prependListener(emitter, event, fn) {
}
}
-var Duplex;
function ReadableState(options, stream) {
Duplex = Duplex || require('./_stream_duplex');
@@ -28544,7 +28905,6 @@ function ReadableState(options, stream) {
}
}
-var Duplex;
function Readable(options) {
Duplex = Duplex || require('./_stream_duplex');
@@ -28867,7 +29227,7 @@ function maybeReadMore_(stream, state) {
// for virtual (non-string, non-buffer) streams, "length" is somewhat
// arbitrary, and perhaps not very meaningful.
Readable.prototype._read = function (n) {
- this.emit('error', new Error('not implemented'));
+ this.emit('error', new Error('_read() is not implemented'));
};
Readable.prototype.pipe = function (dest, pipeOpts) {
@@ -29045,16 +29405,16 @@ Readable.prototype.unpipe = function (dest) {
state.pipesCount = 0;
state.flowing = false;
- for (var _i = 0; _i < len; _i++) {
- dests[_i].emit('unpipe', this);
+ for (var i = 0; i < len; i++) {
+ dests[i].emit('unpipe', this);
}return this;
}
// try to find the right one.
- var i = indexOf(state.pipes, dest);
- if (i === -1) return this;
+ var index = indexOf(state.pipes, dest);
+ if (index === -1) return this;
- state.pipes.splice(i, 1);
+ state.pipes.splice(index, 1);
state.pipesCount -= 1;
if (state.pipesCount === 1) state.pipes = state.pipes[0];
@@ -29342,7 +29702,7 @@ function indexOf(xs, x) {
return -1;
}
}).call(this,require('_process'))
-},{"./_stream_duplex":156,"./internal/streams/BufferList":161,"_process":153,"buffer":6,"buffer-shims":5,"core-util-is":22,"events":27,"inherits":45,"isarray":48,"process-nextick-args":152,"string_decoder/":183,"util":4}],159:[function(require,module,exports){
+},{"./_stream_duplex":157,"./internal/streams/BufferList":162,"_process":154,"buffer":6,"buffer-shims":5,"core-util-is":22,"events":27,"inherits":45,"isarray":48,"process-nextick-args":153,"string_decoder/":193,"util":4}],160:[function(require,module,exports){
// a transform stream is a readable/writable stream where you do
// something with the data. Sometimes it's called a "filter",
// but that's not a great name for it, since that implies a thing where
@@ -29439,7 +29799,6 @@ function Transform(options) {
this._transformState = new TransformState(this);
- // when the writable side finishes, then flush out anything remaining.
var stream = this;
// start out asking for a readable event once data is transformed.
@@ -29456,9 +29815,10 @@ function Transform(options) {
if (typeof options.flush === 'function') this._flush = options.flush;
}
+ // When the writable side finishes, then flush out anything remaining.
this.once('prefinish', function () {
- if (typeof this._flush === 'function') this._flush(function (er) {
- done(stream, er);
+ if (typeof this._flush === 'function') this._flush(function (er, data) {
+ done(stream, er, data);
});else done(stream);
});
}
@@ -29479,7 +29839,7 @@ Transform.prototype.push = function (chunk, encoding) {
// an error, then that'll put the hurt on the whole operation. If you
// never call cb(), then you'll never get another chunk.
Transform.prototype._transform = function (chunk, encoding, cb) {
- throw new Error('Not implemented');
+ throw new Error('_transform() is not implemented');
};
Transform.prototype._write = function (chunk, encoding, cb) {
@@ -29509,9 +29869,11 @@ Transform.prototype._read = function (n) {
}
};
-function done(stream, er) {
+function done(stream, er, data) {
if (er) return stream.emit('error', er);
+ if (data !== null && data !== undefined) stream.push(data);
+
// if there's nothing in the write buffer, then that means
// that nothing more will ever be provided
var ws = stream._writableState;
@@ -29523,7 +29885,7 @@ function done(stream, er) {
return stream.push(null);
}
-},{"./_stream_duplex":156,"core-util-is":22,"inherits":45}],160:[function(require,module,exports){
+},{"./_stream_duplex":157,"core-util-is":22,"inherits":45}],161:[function(require,module,exports){
(function (process){
// A bit simpler than readable streams.
// Implement an async ._write(chunk, encoding, cb), and it'll handle all
@@ -29541,6 +29903,10 @@ var processNextTick = require('process-nextick-args');
var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : processNextTick;
/*</replacement>*/
+/*<replacement>*/
+var Duplex;
+/*</replacement>*/
+
Writable.WritableState = WritableState;
/*<replacement>*/
@@ -29581,7 +29947,6 @@ function WriteReq(chunk, encoding, cb) {
this.next = null;
}
-var Duplex;
function WritableState(options, stream) {
Duplex = Duplex || require('./_stream_duplex');
@@ -29603,6 +29968,7 @@ function WritableState(options, stream) {
// cast to ints.
this.highWaterMark = ~ ~this.highWaterMark;
+ // drain event flag.
this.needDrain = false;
// at the start of calling end()
this.ending = false;
@@ -29677,7 +30043,7 @@ function WritableState(options, stream) {
this.corkedRequestsFree = new CorkedRequest(this);
}
-WritableState.prototype.getBuffer = function writableStateGetBuffer() {
+WritableState.prototype.getBuffer = function getBuffer() {
var current = this.bufferedRequest;
var out = [];
while (current) {
@@ -29697,13 +30063,37 @@ WritableState.prototype.getBuffer = function writableStateGetBuffer() {
} catch (_) {}
})();
-var Duplex;
+// Test _writableState for inheritance to account for Duplex streams,
+// whose prototype chain only points to Readable.
+var realHasInstance;
+if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {
+ realHasInstance = Function.prototype[Symbol.hasInstance];
+ Object.defineProperty(Writable, Symbol.hasInstance, {
+ value: function (object) {
+ if (realHasInstance.call(this, object)) return true;
+
+ return object && object._writableState instanceof WritableState;
+ }
+ });
+} else {
+ realHasInstance = function (object) {
+ return object instanceof this;
+ };
+}
+
function Writable(options) {
Duplex = Duplex || require('./_stream_duplex');
- // Writable ctor is applied to Duplexes, though they're not
- // instanceof Writable, they're instanceof Readable.
- if (!(this instanceof Writable) && !(this instanceof Duplex)) return new Writable(options);
+ // Writable ctor is applied to Duplexes, too.
+ // `realHasInstance` is necessary because using plain `instanceof`
+ // would return false, as no `_writableState` property is attached.
+
+ // Trying to use the custom `instanceof` for Writable here will also break the
+ // Node.js LazyTransform implementation, which has a non-trivial getter for
+ // `_writableState` that would lead to infinite recursion.
+ if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
+ return new Writable(options);
+ }
this._writableState = new WritableState(options, this);
@@ -29963,7 +30353,7 @@ function clearBuffer(stream, state) {
}
Writable.prototype._write = function (chunk, encoding, cb) {
- cb(new Error('not implemented'));
+ cb(new Error('_write() is not implemented'));
};
Writable.prototype._writev = null;
@@ -30052,7 +30442,7 @@ function CorkedRequest(state) {
};
}
}).call(this,require('_process'))
-},{"./_stream_duplex":156,"_process":153,"buffer":6,"buffer-shims":5,"core-util-is":22,"events":27,"inherits":45,"process-nextick-args":152,"util-deprecate":194}],161:[function(require,module,exports){
+},{"./_stream_duplex":157,"_process":154,"buffer":6,"buffer-shims":5,"core-util-is":22,"events":27,"inherits":45,"process-nextick-args":153,"util-deprecate":204}],162:[function(require,module,exports){
'use strict';
var Buffer = require('buffer').Buffer;
@@ -30117,10 +30507,10 @@ BufferList.prototype.concat = function (n) {
}
return ret;
};
-},{"buffer":6,"buffer-shims":5}],162:[function(require,module,exports){
+},{"buffer":6,"buffer-shims":5}],163:[function(require,module,exports){
module.exports = require("./lib/_stream_passthrough.js")
-},{"./lib/_stream_passthrough.js":157}],163:[function(require,module,exports){
+},{"./lib/_stream_passthrough.js":158}],164:[function(require,module,exports){
(function (process){
var Stream = (function (){
try {
@@ -30140,13 +30530,13 @@ if (!process.browser && process.env.READABLE_STREAM === 'disable' && Stream) {
}
}).call(this,require('_process'))
-},{"./lib/_stream_duplex.js":156,"./lib/_stream_passthrough.js":157,"./lib/_stream_readable.js":158,"./lib/_stream_transform.js":159,"./lib/_stream_writable.js":160,"_process":153}],164:[function(require,module,exports){
+},{"./lib/_stream_duplex.js":157,"./lib/_stream_passthrough.js":158,"./lib/_stream_readable.js":159,"./lib/_stream_transform.js":160,"./lib/_stream_writable.js":161,"_process":154}],165:[function(require,module,exports){
module.exports = require("./lib/_stream_transform.js")
-},{"./lib/_stream_transform.js":159}],165:[function(require,module,exports){
+},{"./lib/_stream_transform.js":160}],166:[function(require,module,exports){
module.exports = require("./lib/_stream_writable.js")
-},{"./lib/_stream_writable.js":160}],166:[function(require,module,exports){
+},{"./lib/_stream_writable.js":161}],167:[function(require,module,exports){
(function (Buffer){
/*
CryptoJS v3.1.2
@@ -30360,7 +30750,25 @@ function ripemd160 (message) {
module.exports = ripemd160
}).call(this,require("buffer").Buffer)
-},{"buffer":6}],167:[function(require,module,exports){
+},{"buffer":6}],168:[function(require,module,exports){
+arguments[4][33][0].apply(exports,arguments)
+},{"./chrome/chrome_shim":169,"./edge/edge_shim":171,"./firefox/firefox_shim":173,"./safari/safari_shim":175,"./utils":176,"dup":33}],169:[function(require,module,exports){
+arguments[4][34][0].apply(exports,arguments)
+},{"../utils.js":176,"./getusermedia":170,"dup":34}],170:[function(require,module,exports){
+arguments[4][35][0].apply(exports,arguments)
+},{"../utils.js":176,"dup":35}],171:[function(require,module,exports){
+arguments[4][36][0].apply(exports,arguments)
+},{"../utils":176,"./getusermedia":172,"dup":36,"sdp":183}],172:[function(require,module,exports){
+arguments[4][37][0].apply(exports,arguments)
+},{"dup":37}],173:[function(require,module,exports){
+arguments[4][38][0].apply(exports,arguments)
+},{"../utils":176,"./getusermedia":174,"dup":38}],174:[function(require,module,exports){
+arguments[4][39][0].apply(exports,arguments)
+},{"../utils":176,"dup":39}],175:[function(require,module,exports){
+arguments[4][40][0].apply(exports,arguments)
+},{"dup":40}],176:[function(require,module,exports){
+arguments[4][41][0].apply(exports,arguments)
+},{"dup":41}],177:[function(require,module,exports){
var util = require('util');
var SJJ = require('sdp-jingle-json');
var WildEmitter = require('wildemitter');
@@ -31253,7 +31661,7 @@ PeerConnection.prototype.getStats = function (cb) {
module.exports = PeerConnection;
-},{"lodash.clonedeep":133,"sdp-jingle-json":168,"traceablepeerconnection":184,"util":197,"webrtc-adapter":201,"wildemitter":211}],168:[function(require,module,exports){
+},{"lodash.clonedeep":133,"sdp-jingle-json":178,"traceablepeerconnection":194,"util":207,"webrtc-adapter":168,"wildemitter":220}],178:[function(require,module,exports){
var toSDP = require('./lib/tosdp');
var toJSON = require('./lib/tojson');
@@ -31375,7 +31783,7 @@ exports.toCandidateJSON = toJSON.toCandidateJSON;
exports.toMediaJSON = toJSON.toMediaJSON;
exports.toSessionJSON = toJSON.toSessionJSON;
-},{"./lib/tojson":171,"./lib/tosdp":172}],169:[function(require,module,exports){
+},{"./lib/tojson":181,"./lib/tosdp":182}],179:[function(require,module,exports){
exports.lines = function (sdp) {
return sdp.split('\r\n').filter(function (line) {
return line.length > 0;
@@ -31646,7 +32054,7 @@ exports.msid = function (line) {
};
};
-},{}],170:[function(require,module,exports){
+},{}],180:[function(require,module,exports){
module.exports = {
initiator: {
incoming: {
@@ -31694,7 +32102,7 @@ module.exports = {
}
};
-},{}],171:[function(require,module,exports){
+},{}],181:[function(require,module,exports){
var SENDERS = require('./senders');
var parsers = require('./parsers');
var idCounter = Math.random();
@@ -31918,7 +32326,7 @@ exports.toCandidateJSON = function (line) {
return candidate;
};
-},{"./parsers":169,"./senders":170}],172:[function(require,module,exports){
+},{"./parsers":179,"./senders":180}],182:[function(require,module,exports){
var SENDERS = require('./senders');
@@ -32157,7 +32565,7 @@ exports.toCandidateSDP = function (candidate) {
return 'a=candidate:' + sdp.join(' ');
};
-},{"./senders":170}],173:[function(require,module,exports){
+},{"./senders":180}],183:[function(require,module,exports){
/* eslint-env node */
'use strict';
@@ -32502,8 +32910,21 @@ SDPUtils.writeRtpDescription = function(kind, caps) {
sdp += SDPUtils.writeFmtp(codec);
sdp += SDPUtils.writeRtcpFb(codec);
});
- // FIXME: add headerExtensions, fecMechanismş and rtcp.
+ var maxptime = 0;
+ caps.codecs.forEach(function(codec) {
+ if (codec.maxptime > maxptime) {
+ maxptime = codec.maxptime;
+ }
+ });
+ if (maxptime > 0) {
+ sdp += 'a=maxptime:' + maxptime + '\r\n';
+ }
sdp += 'a=rtcp-mux\r\n';
+
+ caps.headerExtensions.forEach(function(extension) {
+ sdp += SDPUtils.writeExtmap(extension);
+ });
+ // FIXME: write fecMechanisms.
return sdp;
};
@@ -32544,7 +32965,6 @@ SDPUtils.parseRtpEncodingParameters = function(mediaSection) {
ssrc: primarySsrc,
codecPayloadType: parseInt(codec.parameters.apt, 10),
rtx: {
- payloadType: codec.payloadType,
ssrc: secondarySsrc
}
};
@@ -32580,6 +33000,28 @@ SDPUtils.parseRtpEncodingParameters = function(mediaSection) {
return encodingParameters;
};
+// parses either a=msid: or a=ssrc:... msid lines an returns
+// the id of the MediaStream and MediaStreamTrack.
+SDPUtils.parseMsid = function(mediaSection) {
+ var parts;
+ var spec = SDPUtils.matchPrefix(mediaSection, 'a=msid:');
+ if (spec.length === 1) {
+ parts = spec[0].substr(7).split(' ');
+ return {stream: parts[0], track: parts[1]};
+ }
+ var planB = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')
+ .map(function(line) {
+ return SDPUtils.parseSsrcMedia(line);
+ })
+ .filter(function(parts) {
+ return parts.attribute === 'msid';
+ });
+ if (planB.length > 0) {
+ parts = planB[0].value.split(' ');
+ return {stream: parts[0], track: parts[1]};
+ }
+};
+
SDPUtils.writeSessionBoilerplate = function() {
// FIXME: sess-id should be an NTP timestamp.
return 'v=0\r\n' +
@@ -32612,17 +33054,31 @@ SDPUtils.writeMediaSection = function(transceiver, caps, type, stream) {
sdp += 'a=inactive\r\n';
}
- // FIXME: for RTX there might be multiple SSRCs. Not implemented in Edge yet.
if (transceiver.rtpSender) {
+ // spec.
var msid = 'msid:' + stream.id + ' ' +
transceiver.rtpSender.track.id + '\r\n';
sdp += 'a=' + msid;
+
+ // for Chrome.
sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc +
' ' + msid;
+ if (transceiver.sendEncodingParameters[0].rtx) {
+ sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc +
+ ' ' + msid;
+ sdp += 'a=ssrc-group:FID ' +
+ transceiver.sendEncodingParameters[0].ssrc + ' ' +
+ transceiver.sendEncodingParameters[0].rtx.ssrc +
+ '\r\n';
+ }
}
// FIXME: this should be written by writeRtpDescription.
sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc +
' cname:' + SDPUtils.localCName + '\r\n';
+ if (transceiver.rtpSender && transceiver.sendEncodingParameters[0].rtx) {
+ sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc +
+ ' cname:' + SDPUtils.localCName + '\r\n';
+ }
return sdp;
};
@@ -32647,10 +33103,20 @@ SDPUtils.getDirection = function(mediaSection, sessionpart) {
return 'sendrecv';
};
+SDPUtils.getKind = function(mediaSection) {
+ var lines = SDPUtils.splitLines(mediaSection);
+ var mline = lines[0].split(' ');
+ return mline[0].substr(2);
+};
+
+SDPUtils.isRejected = function(mediaSection) {
+ return mediaSection.split(' ', 2)[1] === '0';
+};
+
// Expose public methods.
module.exports = SDPUtils;
-},{}],174:[function(require,module,exports){
+},{}],184:[function(require,module,exports){
(function (Buffer){
// prototype class for hash functions
function Hash (blockSize, finalSize) {
@@ -32723,7 +33189,7 @@ Hash.prototype._update = function () {
module.exports = Hash
}).call(this,require("buffer").Buffer)
-},{"buffer":6}],175:[function(require,module,exports){
+},{"buffer":6}],185:[function(require,module,exports){
var exports = module.exports = function SHA (algorithm) {
algorithm = algorithm.toLowerCase()
@@ -32740,7 +33206,7 @@ exports.sha256 = require('./sha256')
exports.sha384 = require('./sha384')
exports.sha512 = require('./sha512')
-},{"./sha":176,"./sha1":177,"./sha224":178,"./sha256":179,"./sha384":180,"./sha512":181}],176:[function(require,module,exports){
+},{"./sha":186,"./sha1":187,"./sha224":188,"./sha256":189,"./sha384":190,"./sha512":191}],186:[function(require,module,exports){
(function (Buffer){
/*
* A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined
@@ -32837,7 +33303,7 @@ Sha.prototype._hash = function () {
module.exports = Sha
}).call(this,require("buffer").Buffer)
-},{"./hash":174,"buffer":6,"inherits":45}],177:[function(require,module,exports){
+},{"./hash":184,"buffer":6,"inherits":45}],187:[function(require,module,exports){
(function (Buffer){
/*
* A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
@@ -32939,7 +33405,7 @@ Sha1.prototype._hash = function () {
module.exports = Sha1
}).call(this,require("buffer").Buffer)
-},{"./hash":174,"buffer":6,"inherits":45}],178:[function(require,module,exports){
+},{"./hash":184,"buffer":6,"inherits":45}],188:[function(require,module,exports){
(function (Buffer){
/**
* A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
@@ -32995,7 +33461,7 @@ Sha224.prototype._hash = function () {
module.exports = Sha224
}).call(this,require("buffer").Buffer)
-},{"./hash":174,"./sha256":179,"buffer":6,"inherits":45}],179:[function(require,module,exports){
+},{"./hash":184,"./sha256":189,"buffer":6,"inherits":45}],189:[function(require,module,exports){
(function (Buffer){
/**
* A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
@@ -33133,7 +33599,7 @@ Sha256.prototype._hash = function () {
module.exports = Sha256
}).call(this,require("buffer").Buffer)
-},{"./hash":174,"buffer":6,"inherits":45}],180:[function(require,module,exports){
+},{"./hash":184,"buffer":6,"inherits":45}],190:[function(require,module,exports){
(function (Buffer){
var inherits = require('inherits')
var SHA512 = require('./sha512')
@@ -33193,7 +33659,7 @@ Sha384.prototype._hash = function () {
module.exports = Sha384
}).call(this,require("buffer").Buffer)
-},{"./hash":174,"./sha512":181,"buffer":6,"inherits":45}],181:[function(require,module,exports){
+},{"./hash":184,"./sha512":191,"buffer":6,"inherits":45}],191:[function(require,module,exports){
(function (Buffer){
var inherits = require('inherits')
var Hash = require('./hash')
@@ -33456,7 +33922,7 @@ Sha512.prototype._hash = function () {
module.exports = Sha512
}).call(this,require("buffer").Buffer)
-},{"./hash":174,"buffer":6,"inherits":45}],182:[function(require,module,exports){
+},{"./hash":184,"buffer":6,"inherits":45}],192:[function(require,module,exports){
// Copyright Joyent, Inc. and other Node contributors.
//
// Permission is hereby granted, free of charge, to any person obtaining a
@@ -33585,7 +34051,7 @@ Stream.prototype.pipe = function(dest, options) {
return dest;
};
-},{"events":27,"inherits":45,"readable-stream/duplex.js":155,"readable-stream/passthrough.js":162,"readable-stream/readable.js":163,"readable-stream/transform.js":164,"readable-stream/writable.js":165}],183:[function(require,module,exports){
+},{"events":27,"inherits":45,"readable-stream/duplex.js":156,"readable-stream/passthrough.js":163,"readable-stream/readable.js":164,"readable-stream/transform.js":165,"readable-stream/writable.js":166}],193:[function(require,module,exports){
// Copyright Joyent, Inc. and other Node contributors.
//
// Permission is hereby granted, free of charge, to any person obtaining a
@@ -33808,7 +34274,7 @@ function base64DetectIncompleteChar(buffer) {
this.charLength = this.charReceived ? 3 : 0;
}
-},{"buffer":6}],184:[function(require,module,exports){
+},{"buffer":6}],194:[function(require,module,exports){
// based on https://github.com/ESTOS/strophe.jingle/
// adds wildemitter support
var util = require('util');
@@ -34029,25 +34495,2042 @@ TraceablePeerConnection.prototype.getStats = function () {
module.exports = TraceablePeerConnection;
-},{"util":197,"webrtc-adapter":185,"wildemitter":211}],185:[function(require,module,exports){
+},{"util":207,"webrtc-adapter":195,"wildemitter":220}],195:[function(require,module,exports){
arguments[4][33][0].apply(exports,arguments)
-},{"./chrome/chrome_shim":186,"./edge/edge_shim":188,"./firefox/firefox_shim":190,"./safari/safari_shim":192,"./utils":193,"dup":33}],186:[function(require,module,exports){
-arguments[4][34][0].apply(exports,arguments)
-},{"../utils.js":193,"./getusermedia":187,"dup":34}],187:[function(require,module,exports){
-arguments[4][35][0].apply(exports,arguments)
-},{"../utils.js":193,"dup":35}],188:[function(require,module,exports){
-arguments[4][36][0].apply(exports,arguments)
-},{"../utils":193,"./getusermedia":189,"dup":36,"sdp":173}],189:[function(require,module,exports){
+},{"./chrome/chrome_shim":196,"./edge/edge_shim":198,"./firefox/firefox_shim":200,"./safari/safari_shim":202,"./utils":203,"dup":33}],196:[function(require,module,exports){
+
+/*
+ * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree.
+ */
+ /* eslint-env node */
+'use strict';
+var logging = require('../utils.js').log;
+var browserDetails = require('../utils.js').browserDetails;
+
+var chromeShim = {
+ shimMediaStream: function() {
+ window.MediaStream = window.MediaStream || window.webkitMediaStream;
+ },
+
+ shimOnTrack: function() {
+ if (typeof window === 'object' && window.RTCPeerConnection && !('ontrack' in
+ window.RTCPeerConnection.prototype)) {
+ Object.defineProperty(window.RTCPeerConnection.prototype, 'ontrack', {
+ get: function() {
+ return this._ontrack;
+ },
+ set: function(f) {
+ var self = this;
+ if (this._ontrack) {
+ this.removeEventListener('track', this._ontrack);
+ this.removeEventListener('addstream', this._ontrackpoly);
+ }
+ this.addEventListener('track', this._ontrack = f);
+ this.addEventListener('addstream', this._ontrackpoly = function(e) {
+ // onaddstream does not fire when a track is added to an existing
+ // stream. But stream.onaddtrack is implemented so we use that.
+ e.stream.addEventListener('addtrack', function(te) {
+ var event = new Event('track');
+ event.track = te.track;
+ event.receiver = {track: te.track};
+ event.streams = [e.stream];
+ self.dispatchEvent(event);
+ });
+ e.stream.getTracks().forEach(function(track) {
+ var event = new Event('track');
+ event.track = track;
+ event.receiver = {track: track};
+ event.streams = [e.stream];
+ this.dispatchEvent(event);
+ }.bind(this));
+ }.bind(this));
+ }
+ });
+ }
+ },
+
+ shimSourceObject: function() {
+ if (typeof window === 'object') {
+ if (window.HTMLMediaElement &&
+ !('srcObject' in window.HTMLMediaElement.prototype)) {
+ // Shim the srcObject property, once, when HTMLMediaElement is found.
+ Object.defineProperty(window.HTMLMediaElement.prototype, 'srcObject', {
+ get: function() {
+ return this._srcObject;
+ },
+ set: function(stream) {
+ var self = this;
+ // Use _srcObject as a private property for this shim
+ this._srcObject = stream;
+ if (this.src) {
+ URL.revokeObjectURL(this.src);
+ }
+
+ if (!stream) {
+ this.src = '';
+ return;
+ }
+ this.src = URL.createObjectURL(stream);
+ // We need to recreate the blob url when a track is added or
+ // removed. Doing it manually since we want to avoid a recursion.
+ stream.addEventListener('addtrack', function() {
+ if (self.src) {
+ URL.revokeObjectURL(self.src);
+ }
+ self.src = URL.createObjectURL(stream);
+ });
+ stream.addEventListener('removetrack', function() {
+ if (self.src) {
+ URL.revokeObjectURL(self.src);
+ }
+ self.src = URL.createObjectURL(stream);
+ });
+ }
+ });
+ }
+ }
+ },
+
+ shimPeerConnection: function() {
+ // The RTCPeerConnection object.
+ window.RTCPeerConnection = function(pcConfig, pcConstraints) {
+ // Translate iceTransportPolicy to iceTransports,
+ // see https://code.google.com/p/webrtc/issues/detail?id=4869
+ logging('PeerConnection');
+ if (pcConfig && pcConfig.iceTransportPolicy) {
+ pcConfig.iceTransports = pcConfig.iceTransportPolicy;
+ }
+
+ var pc = new webkitRTCPeerConnection(pcConfig, pcConstraints);
+ var origGetStats = pc.getStats.bind(pc);
+ pc.getStats = function(selector, successCallback, errorCallback) {
+ var self = this;
+ var args = arguments;
+
+ // If selector is a function then we are in the old style stats so just
+ // pass back the original getStats format to avoid breaking old users.
+ if (arguments.length > 0 && typeof selector === 'function') {
+ return origGetStats(selector, successCallback);
+ }
+
+ var fixChromeStats_ = function(response) {
+ var standardReport = {};
+ var reports = response.result();
+ reports.forEach(function(report) {
+ var standardStats = {
+ id: report.id,
+ timestamp: report.timestamp,
+ type: report.type
+ };
+ report.names().forEach(function(name) {
+ standardStats[name] = report.stat(name);
+ });
+ standardReport[standardStats.id] = standardStats;
+ });
+
+ return standardReport;
+ };
+
+ // shim getStats with maplike support
+ var makeMapStats = function(stats, legacyStats) {
+ var map = new Map(Object.keys(stats).map(function(key) {
+ return[key, stats[key]];
+ }));
+ legacyStats = legacyStats || stats;
+ Object.keys(legacyStats).forEach(function(key) {
+ map[key] = legacyStats[key];
+ });
+ return map;
+ };
+
+ if (arguments.length >= 2) {
+ var successCallbackWrapper_ = function(response) {
+ args[1](makeMapStats(fixChromeStats_(response)));
+ };
+
+ return origGetStats.apply(this, [successCallbackWrapper_,
+ arguments[0]]);
+ }
+
+ // promise-support
+ return new Promise(function(resolve, reject) {
+ if (args.length === 1 && typeof selector === 'object') {
+ origGetStats.apply(self, [
+ function(response) {
+ resolve(makeMapStats(fixChromeStats_(response)));
+ }, reject]);
+ } else {
+ // Preserve legacy chrome stats only on legacy access of stats obj
+ origGetStats.apply(self, [
+ function(response) {
+ resolve(makeMapStats(fixChromeStats_(response),
+ response.result()));
+ }, reject]);
+ }
+ }).then(successCallback, errorCallback);
+ };
+
+ return pc;
+ };
+ window.RTCPeerConnection.prototype = webkitRTCPeerConnection.prototype;
+
+ // wrap static methods. Currently just generateCertificate.
+ if (webkitRTCPeerConnection.generateCertificate) {
+ Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {
+ get: function() {
+ return webkitRTCPeerConnection.generateCertificate;
+ }
+ });
+ }
+
+ ['createOffer', 'createAnswer'].forEach(function(method) {
+ var nativeMethod = webkitRTCPeerConnection.prototype[method];
+ webkitRTCPeerConnection.prototype[method] = function() {
+ var self = this;
+ if (arguments.length < 1 || (arguments.length === 1 &&
+ typeof arguments[0] === 'object')) {
+ var opts = arguments.length === 1 ? arguments[0] : undefined;
+ return new Promise(function(resolve, reject) {
+ nativeMethod.apply(self, [resolve, reject, opts]);
+ });
+ }
+ return nativeMethod.apply(this, arguments);
+ };
+ });
+
+ // add promise support -- natively available in Chrome 51
+ if (browserDetails.version < 51) {
+ ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']
+ .forEach(function(method) {
+ var nativeMethod = webkitRTCPeerConnection.prototype[method];
+ webkitRTCPeerConnection.prototype[method] = function() {
+ var args = arguments;
+ var self = this;
+ var promise = new Promise(function(resolve, reject) {
+ nativeMethod.apply(self, [args[0], resolve, reject]);
+ });
+ if (args.length < 2) {
+ return promise;
+ }
+ return promise.then(function() {
+ args[1].apply(null, []);
+ },
+ function(err) {
+ if (args.length >= 3) {
+ args[2].apply(null, [err]);
+ }
+ });
+ };
+ });
+ }
+
+ // support for addIceCandidate(null)
+ var nativeAddIceCandidate =
+ RTCPeerConnection.prototype.addIceCandidate;
+ RTCPeerConnection.prototype.addIceCandidate = function() {
+ return arguments[0] === null ? Promise.resolve()
+ : nativeAddIceCandidate.apply(this, arguments);
+ };
+
+ // shim implicit creation of RTCSessionDescription/RTCIceCandidate
+ ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']
+ .forEach(function(method) {
+ var nativeMethod = webkitRTCPeerConnection.prototype[method];
+ webkitRTCPeerConnection.prototype[method] = function() {
+ arguments[0] = new ((method === 'addIceCandidate') ?
+ RTCIceCandidate : RTCSessionDescription)(arguments[0]);
+ return nativeMethod.apply(this, arguments);
+ };
+ });
+ },
+
+ // Attach a media stream to an element.
+ attachMediaStream: function(element, stream) {
+ logging('DEPRECATED, attachMediaStream will soon be removed.');
+ if (browserDetails.version >= 43) {
+ element.srcObject = stream;
+ } else if (typeof element.src !== 'undefined') {
+ element.src = URL.createObjectURL(stream);
+ } else {
+ logging('Error attaching stream to element.');
+ }
+ },
+
+ reattachMediaStream: function(to, from) {
+ logging('DEPRECATED, reattachMediaStream will soon be removed.');
+ if (browserDetails.version >= 43) {
+ to.srcObject = from.srcObject;
+ } else {
+ to.src = from.src;
+ }
+ }
+};
+
+
+// Expose public methods.
+module.exports = {
+ shimMediaStream: chromeShim.shimMediaStream,
+ shimOnTrack: chromeShim.shimOnTrack,
+ shimSourceObject: chromeShim.shimSourceObject,
+ shimPeerConnection: chromeShim.shimPeerConnection,
+ shimGetUserMedia: require('./getusermedia'),
+ attachMediaStream: chromeShim.attachMediaStream,
+ reattachMediaStream: chromeShim.reattachMediaStream
+};
+
+},{"../utils.js":203,"./getusermedia":197}],197:[function(require,module,exports){
+/*
+ * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree.
+ */
+ /* eslint-env node */
+'use strict';
+var logging = require('../utils.js').log;
+
+// Expose public methods.
+module.exports = function() {
+ var constraintsToChrome_ = function(c) {
+ if (typeof c !== 'object' || c.mandatory || c.optional) {
+ return c;
+ }
+ var cc = {};
+ Object.keys(c).forEach(function(key) {
+ if (key === 'require' || key === 'advanced' || key === 'mediaSource') {
+ return;
+ }
+ var r = (typeof c[key] === 'object') ? c[key] : {ideal: c[key]};
+ if (r.exact !== undefined && typeof r.exact === 'number') {
+ r.min = r.max = r.exact;
+ }
+ var oldname_ = function(prefix, name) {
+ if (prefix) {
+ return prefix + name.charAt(0).toUpperCase() + name.slice(1);
+ }
+ return (name === 'deviceId') ? 'sourceId' : name;
+ };
+ if (r.ideal !== undefined) {
+ cc.optional = cc.optional || [];
+ var oc = {};
+ if (typeof r.ideal === 'number') {
+ oc[oldname_('min', key)] = r.ideal;
+ cc.optional.push(oc);
+ oc = {};
+ oc[oldname_('max', key)] = r.ideal;
+ cc.optional.push(oc);
+ } else {
+ oc[oldname_('', key)] = r.ideal;
+ cc.optional.push(oc);
+ }
+ }
+ if (r.exact !== undefined && typeof r.exact !== 'number') {
+ cc.mandatory = cc.mandatory || {};
+ cc.mandatory[oldname_('', key)] = r.exact;
+ } else {
+ ['min', 'max'].forEach(function(mix) {
+ if (r[mix] !== undefined) {
+ cc.mandatory = cc.mandatory || {};
+ cc.mandatory[oldname_(mix, key)] = r[mix];
+ }
+ });
+ }
+ });
+ if (c.advanced) {
+ cc.optional = (cc.optional || []).concat(c.advanced);
+ }
+ return cc;
+ };
+
+ var shimConstraints_ = function(constraints, func) {
+ constraints = JSON.parse(JSON.stringify(constraints));
+ if (constraints && constraints.audio) {
+ constraints.audio = constraintsToChrome_(constraints.audio);
+ }
+ if (constraints && typeof constraints.video === 'object') {
+ // Shim facingMode for mobile, where it defaults to "user".
+ var face = constraints.video.facingMode;
+ face = face && ((typeof face === 'object') ? face : {ideal: face});
+
+ if ((face && (face.exact === 'user' || face.exact === 'environment' ||
+ face.ideal === 'user' || face.ideal === 'environment')) &&
+ !(navigator.mediaDevices.getSupportedConstraints &&
+ navigator.mediaDevices.getSupportedConstraints().facingMode)) {
+ delete constraints.video.facingMode;
+ if (face.exact === 'environment' || face.ideal === 'environment') {
+ // Look for "back" in label, or use last cam (typically back cam).
+ return navigator.mediaDevices.enumerateDevices()
+ .then(function(devices) {
+ devices = devices.filter(function(d) {
+ return d.kind === 'videoinput';
+ });
+ var back = devices.find(function(d) {
+ return d.label.toLowerCase().indexOf('back') !== -1;
+ }) || (devices.length && devices[devices.length - 1]);
+ if (back) {
+ constraints.video.deviceId = face.exact ? {exact: back.deviceId} :
+ {ideal: back.deviceId};
+ }
+ constraints.video = constraintsToChrome_(constraints.video);
+ logging('chrome: ' + JSON.stringify(constraints));
+ return func(constraints);
+ });
+ }
+ }
+ constraints.video = constraintsToChrome_(constraints.video);
+ }
+ logging('chrome: ' + JSON.stringify(constraints));
+ return func(constraints);
+ };
+
+ var shimError_ = function(e) {
+ return {
+ name: {
+ PermissionDeniedError: 'NotAllowedError',
+ ConstraintNotSatisfiedError: 'OverconstrainedError'
+ }[e.name] || e.name,
+ message: e.message,
+ constraint: e.constraintName,
+ toString: function() {
+ return this.name + (this.message && ': ') + this.message;
+ }
+ };
+ };
+
+ var getUserMedia_ = function(constraints, onSuccess, onError) {
+ shimConstraints_(constraints, function(c) {
+ navigator.webkitGetUserMedia(c, onSuccess, function(e) {
+ onError(shimError_(e));
+ });
+ });
+ };
+
+ navigator.getUserMedia = getUserMedia_;
+
+ // Returns the result of getUserMedia as a Promise.
+ var getUserMediaPromise_ = function(constraints) {
+ return new Promise(function(resolve, reject) {
+ navigator.getUserMedia(constraints, resolve, reject);
+ });
+ };
+
+ if (!navigator.mediaDevices) {
+ navigator.mediaDevices = {
+ getUserMedia: getUserMediaPromise_,
+ enumerateDevices: function() {
+ return new Promise(function(resolve) {
+ var kinds = {audio: 'audioinput', video: 'videoinput'};
+ return MediaStreamTrack.getSources(function(devices) {
+ resolve(devices.map(function(device) {
+ return {label: device.label,
+ kind: kinds[device.kind],
+ deviceId: device.id,
+ groupId: ''};
+ }));
+ });
+ });
+ }
+ };
+ }
+
+ // A shim for getUserMedia method on the mediaDevices object.
+ // TODO(KaptenJansson) remove once implemented in Chrome stable.
+ if (!navigator.mediaDevices.getUserMedia) {
+ navigator.mediaDevices.getUserMedia = function(constraints) {
+ return getUserMediaPromise_(constraints);
+ };
+ } else {
+ // Even though Chrome 45 has navigator.mediaDevices and a getUserMedia
+ // function which returns a Promise, it does not accept spec-style
+ // constraints.
+ var origGetUserMedia = navigator.mediaDevices.getUserMedia.
+ bind(navigator.mediaDevices);
+ navigator.mediaDevices.getUserMedia = function(cs) {
+ return shimConstraints_(cs, function(c) {
+ return origGetUserMedia(c).catch(function(e) {
+ return Promise.reject(shimError_(e));
+ });
+ });
+ };
+ }
+
+ // Dummy devicechange event methods.
+ // TODO(KaptenJansson) remove once implemented in Chrome stable.
+ if (typeof navigator.mediaDevices.addEventListener === 'undefined') {
+ navigator.mediaDevices.addEventListener = function() {
+ logging('Dummy mediaDevices.addEventListener called.');
+ };
+ }
+ if (typeof navigator.mediaDevices.removeEventListener === 'undefined') {
+ navigator.mediaDevices.removeEventListener = function() {
+ logging('Dummy mediaDevices.removeEventListener called.');
+ };
+ }
+};
+
+},{"../utils.js":203}],198:[function(require,module,exports){
+/*
+ * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree.
+ */
+ /* eslint-env node */
+'use strict';
+
+var SDPUtils = require('sdp');
+var logging = require('../utils').log;
+
+var edgeShim = {
+ shimPeerConnection: function() {
+ if (window.RTCIceGatherer) {
+ // ORTC defines an RTCIceCandidate object but no constructor.
+ // Not implemented in Edge.
+ if (!window.RTCIceCandidate) {
+ window.RTCIceCandidate = function(args) {
+ return args;
+ };
+ }
+ // ORTC does not have a session description object but
+ // other browsers (i.e. Chrome) that will support both PC and ORTC
+ // in the future might have this defined already.
+ if (!window.RTCSessionDescription) {
+ window.RTCSessionDescription = function(args) {
+ return args;
+ };
+ }
+ }
+
+ window.RTCPeerConnection = function(config) {
+ var self = this;
+
+ var _eventTarget = document.createDocumentFragment();
+ ['addEventListener', 'removeEventListener', 'dispatchEvent']
+ .forEach(function(method) {
+ self[method] = _eventTarget[method].bind(_eventTarget);
+ });
+
+ 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 self.localStreams;
+ };
+ this.getRemoteStreams = function() {
+ return self.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: []
+ };
+ if (config && config.iceTransportPolicy) {
+ switch (config.iceTransportPolicy) {
+ case 'all':
+ case 'relay':
+ this.iceOptions.gatherPolicy = config.iceTransportPolicy;
+ break;
+ case 'none':
+ // FIXME: remove once implementation and spec have added this.
+ throw new TypeError('iceTransportPolicy "none" not supported');
+ default:
+ // don't set iceTransportPolicy.
+ break;
+ }
+ }
+ this.usingBundle = config && config.bundlePolicy === 'max-bundle';
+
+ if (config && config.iceServers) {
+ // Edge does not like
+ // 1) stun:
+ // 2) turn: that does not have all of turn:host:port?transport=udp
+ var iceServers = JSON.parse(JSON.stringify(config.iceServers));
+ this.iceOptions.iceServers = iceServers.filter(function(server) {
+ if (server && server.urls) {
+ var urls = server.urls;
+ if (typeof urls === 'string') {
+ urls = [urls];
+ }
+ urls = urls.filter(function(url) {
+ return url.indexOf('turn:') === 0 &&
+ url.indexOf('transport=udp') !== -1;
+ })[0];
+ return !!urls;
+ }
+ return false;
+ });
+ }
+
+ // per-track iceGathers, iceTransports, dtlsTransports, rtpSenders, ...
+ // everything that is needed to describe a SDP m-line.
+ this.transceivers = [];
+
+ // since the iceGatherer is currently created in createOffer but we
+ // must not emit candidates until after setLocalDescription we buffer
+ // them in this array.
+ this._localIceCandidatesBuffer = [];
+ };
+
+ window.RTCPeerConnection.prototype._emitBufferedCandidates = function() {
+ var self = this;
+ var sections = SDPUtils.splitSections(self.localDescription.sdp);
+ // FIXME: need to apply ice candidates in a way which is async but
+ // in-order
+ this._localIceCandidatesBuffer.forEach(function(event) {
+ var end = !event.candidate || Object.keys(event.candidate).length === 0;
+ if (end) {
+ for (var j = 1; j < sections.length; j++) {
+ if (sections[j].indexOf('\r\na=end-of-candidates\r\n') === -1) {
+ sections[j] += 'a=end-of-candidates\r\n';
+ }
+ }
+ } else if (event.candidate.candidate.indexOf('typ endOfCandidates')
+ === -1) {
+ sections[event.candidate.sdpMLineIndex + 1] +=
+ 'a=' + event.candidate.candidate + '\r\n';
+ }
+ self.localDescription.sdp = sections.join('');
+ self.dispatchEvent(event);
+ if (self.onicecandidate !== null) {
+ self.onicecandidate(event);
+ }
+ if (!event.candidate && self.iceGatheringState !== 'complete') {
+ var complete = self.transceivers.every(function(transceiver) {
+ return transceiver.iceGatherer &&
+ transceiver.iceGatherer.state === 'completed';
+ });
+ if (complete) {
+ self.iceGatheringState = 'complete';
+ }
+ }
+ });
+ this._localIceCandidatesBuffer = [];
+ };
+
+ window.RTCPeerConnection.prototype.addStream = function(stream) {
+ // Clone is necessary for local demos mostly, attaching directly
+ // to two different senders does not work (build 10547).
+ this.localStreams.push(stream.clone());
+ this._maybeFireNegotiationNeeded();
+ };
+
+ window.RTCPeerConnection.prototype.removeStream = function(stream) {
+ var idx = this.localStreams.indexOf(stream);
+ if (idx > -1) {
+ this.localStreams.splice(idx, 1);
+ this._maybeFireNegotiationNeeded();
+ }
+ };
+
+ window.RTCPeerConnection.prototype.getSenders = function() {
+ return this.transceivers.filter(function(transceiver) {
+ return !!transceiver.rtpSender;
+ })
+ .map(function(transceiver) {
+ return transceiver.rtpSender;
+ });
+ };
+
+ window.RTCPeerConnection.prototype.getReceivers = function() {
+ return this.transceivers.filter(function(transceiver) {
+ return !!transceiver.rtpReceiver;
+ })
+ .map(function(transceiver) {
+ return transceiver.rtpReceiver;
+ });
+ };
+
+ // Determines the intersection of local and remote capabilities.
+ window.RTCPeerConnection.prototype._getCommonCapabilities =
+ function(localCapabilities, remoteCapabilities) {
+ var commonCapabilities = {
+ codecs: [],
+ headerExtensions: [],
+ fecMechanisms: []
+ };
+ localCapabilities.codecs.forEach(function(lCodec) {
+ for (var i = 0; i < remoteCapabilities.codecs.length; i++) {
+ var rCodec = remoteCapabilities.codecs[i];
+ if (lCodec.name.toLowerCase() === rCodec.name.toLowerCase() &&
+ lCodec.clockRate === rCodec.clockRate &&
+ lCodec.numChannels === rCodec.numChannels) {
+ // push rCodec so we reply with offerer payload type
+ commonCapabilities.codecs.push(rCodec);
+
+ // FIXME: also need to determine intersection between
+ // .rtcpFeedback and .parameters
+ break;
+ }
+ }
+ });
+
+ localCapabilities.headerExtensions
+ .forEach(function(lHeaderExtension) {
+ for (var i = 0; i < remoteCapabilities.headerExtensions.length;
+ i++) {
+ var rHeaderExtension = remoteCapabilities.headerExtensions[i];
+ if (lHeaderExtension.uri === rHeaderExtension.uri) {
+ commonCapabilities.headerExtensions.push(rHeaderExtension);
+ break;
+ }
+ }
+ });
+
+ // FIXME: fecMechanisms
+ return commonCapabilities;
+ };
+
+ // Create ICE gatherer, ICE transport and DTLS transport.
+ window.RTCPeerConnection.prototype._createIceAndDtlsTransports =
+ function(mid, sdpMLineIndex) {
+ var self = this;
+ var iceGatherer = new RTCIceGatherer(self.iceOptions);
+ var iceTransport = new RTCIceTransport(iceGatherer);
+ iceGatherer.onlocalcandidate = function(evt) {
+ var event = new Event('icecandidate');
+ event.candidate = {sdpMid: mid, sdpMLineIndex: sdpMLineIndex};
+
+ var cand = evt.candidate;
+ var end = !cand || Object.keys(cand).length === 0;
+ // Edge emits an empty object for RTCIceCandidateComplete‥
+ if (end) {
+ // polyfill since RTCIceGatherer.state is not implemented in
+ // Edge 10547 yet.
+ if (iceGatherer.state === undefined) {
+ iceGatherer.state = 'completed';
+ }
+
+ // Emit a candidate with type endOfCandidates to make the samples
+ // work. Edge requires addIceCandidate with this empty candidate
+ // to start checking. The real solution is to signal
+ // end-of-candidates to the other side when getting the null
+ // candidate but some apps (like the samples) don't do that.
+ event.candidate.candidate =
+ 'candidate:1 1 udp 1 0.0.0.0 9 typ endOfCandidates';
+ } else {
+ // RTCIceCandidate doesn't have a component, needs to be added
+ cand.component = iceTransport.component === 'RTCP' ? 2 : 1;
+ event.candidate.candidate = SDPUtils.writeCandidate(cand);
+ }
+
+ // update local description.
+ var sections = SDPUtils.splitSections(self.localDescription.sdp);
+ if (event.candidate.candidate.indexOf('typ endOfCandidates')
+ === -1) {
+ sections[event.candidate.sdpMLineIndex + 1] +=
+ 'a=' + event.candidate.candidate + '\r\n';
+ } else {
+ sections[event.candidate.sdpMLineIndex + 1] +=
+ 'a=end-of-candidates\r\n';
+ }
+ self.localDescription.sdp = sections.join('');
+
+ var complete = self.transceivers.every(function(transceiver) {
+ return transceiver.iceGatherer &&
+ transceiver.iceGatherer.state === 'completed';
+ });
+
+ // Emit candidate if localDescription is set.
+ // Also emits null candidate when all gatherers are complete.
+ switch (self.iceGatheringState) {
+ case 'new':
+ self._localIceCandidatesBuffer.push(event);
+ if (end && complete) {
+ self._localIceCandidatesBuffer.push(
+ new Event('icecandidate'));
+ }
+ break;
+ case 'gathering':
+ self._emitBufferedCandidates();
+ self.dispatchEvent(event);
+ if (self.onicecandidate !== null) {
+ self.onicecandidate(event);
+ }
+ if (complete) {
+ self.dispatchEvent(new Event('icecandidate'));
+ if (self.onicecandidate !== null) {
+ self.onicecandidate(new Event('icecandidate'));
+ }
+ self.iceGatheringState = 'complete';
+ }
+ break;
+ case 'complete':
+ // should not happen... currently!
+ break;
+ default: // no-op.
+ break;
+ }
+ };
+ iceTransport.onicestatechange = function() {
+ self._updateConnectionState();
+ };
+
+ var dtlsTransport = new RTCDtlsTransport(iceTransport);
+ dtlsTransport.ondtlsstatechange = function() {
+ self._updateConnectionState();
+ };
+ dtlsTransport.onerror = function() {
+ // onerror does not set state to failed by itself.
+ dtlsTransport.state = 'failed';
+ self._updateConnectionState();
+ };
+
+ return {
+ iceGatherer: iceGatherer,
+ iceTransport: iceTransport,
+ dtlsTransport: dtlsTransport
+ };
+ };
+
+ // Start the RTP Sender and Receiver for a transceiver.
+ window.RTCPeerConnection.prototype._transceive = function(transceiver,
+ send, recv) {
+ var params = this._getCommonCapabilities(transceiver.localCapabilities,
+ transceiver.remoteCapabilities);
+ if (send && transceiver.rtpSender) {
+ params.encodings = transceiver.sendEncodingParameters;
+ params.rtcp = {
+ cname: SDPUtils.localCName
+ };
+ if (transceiver.recvEncodingParameters.length) {
+ params.rtcp.ssrc = transceiver.recvEncodingParameters[0].ssrc;
+ }
+ transceiver.rtpSender.send(params);
+ }
+ if (recv && transceiver.rtpReceiver) {
+ params.encodings = transceiver.recvEncodingParameters;
+ params.rtcp = {
+ cname: transceiver.cname
+ };
+ if (transceiver.sendEncodingParameters.length) {
+ params.rtcp.ssrc = transceiver.sendEncodingParameters[0].ssrc;
+ }
+ transceiver.rtpReceiver.receive(params);
+ }
+ };
+
+ window.RTCPeerConnection.prototype.setLocalDescription =
+ function(description) {
+ var self = this;
+ var sections;
+ var sessionpart;
+ if (description.type === 'offer') {
+ // FIXME: What was the purpose of this empty if statement?
+ // if (!this._pendingOffer) {
+ // } else {
+ if (this._pendingOffer) {
+ // VERY limited support for SDP munging. Limited to:
+ // * changing the order of codecs
+ sections = SDPUtils.splitSections(description.sdp);
+ sessionpart = sections.shift();
+ sections.forEach(function(mediaSection, sdpMLineIndex) {
+ var caps = SDPUtils.parseRtpParameters(mediaSection);
+ self._pendingOffer[sdpMLineIndex].localCapabilities = caps;
+ });
+ this.transceivers = this._pendingOffer;
+ delete this._pendingOffer;
+ }
+ } else if (description.type === 'answer') {
+ sections = SDPUtils.splitSections(self.remoteDescription.sdp);
+ sessionpart = sections.shift();
+ var isIceLite = SDPUtils.matchPrefix(sessionpart,
+ 'a=ice-lite').length > 0;
+ sections.forEach(function(mediaSection, sdpMLineIndex) {
+ var transceiver = self.transceivers[sdpMLineIndex];
+ var iceGatherer = transceiver.iceGatherer;
+ var iceTransport = transceiver.iceTransport;
+ var dtlsTransport = transceiver.dtlsTransport;
+ var localCapabilities = transceiver.localCapabilities;
+ var remoteCapabilities = transceiver.remoteCapabilities;
+ var rejected = mediaSection.split('\n', 1)[0]
+ .split(' ', 2)[1] === '0';
+
+ if (!rejected) {
+ var remoteIceParameters = SDPUtils.getIceParameters(
+ mediaSection, sessionpart);
+ if (isIceLite) {
+ var cands = SDPUtils.matchPrefix(mediaSection, 'a=candidate:')
+ .map(function(cand) {
+ return SDPUtils.parseCandidate(cand);
+ })
+ .filter(function(cand) {
+ return cand.component === '1';
+ });
+ // ice-lite only includes host candidates in the SDP so we can
+ // use setRemoteCandidates (which implies an
+ // RTCIceCandidateComplete)
+ if (cands.length) {
+ iceTransport.setRemoteCandidates(cands);
+ }
+ }
+ var remoteDtlsParameters = SDPUtils.getDtlsParameters(
+ mediaSection, sessionpart);
+ if (isIceLite) {
+ remoteDtlsParameters.role = 'server';
+ }
+
+ if (!self.usingBundle || sdpMLineIndex === 0) {
+ iceTransport.start(iceGatherer, remoteIceParameters,
+ isIceLite ? 'controlling' : 'controlled');
+ dtlsTransport.start(remoteDtlsParameters);
+ }
+
+ // Calculate intersection of capabilities.
+ var params = self._getCommonCapabilities(localCapabilities,
+ remoteCapabilities);
+
+ // Start the RTCRtpSender. The RTCRtpReceiver for this
+ // transceiver has already been started in setRemoteDescription.
+ self._transceive(transceiver,
+ params.codecs.length > 0,
+ false);
+ }
+ });
+ }
+
+ this.localDescription = {
+ type: description.type,
+ sdp: description.sdp
+ };
+ switch (description.type) {
+ case 'offer':
+ this._updateSignalingState('have-local-offer');
+ break;
+ case 'answer':
+ this._updateSignalingState('stable');
+ break;
+ default:
+ throw new TypeError('unsupported type "' + description.type +
+ '"');
+ }
+
+ // If a success callback was provided, emit ICE candidates after it
+ // has been executed. Otherwise, emit callback after the Promise is
+ // resolved.
+ var hasCallback = arguments.length > 1 &&
+ typeof arguments[1] === 'function';
+ if (hasCallback) {
+ var cb = arguments[1];
+ window.setTimeout(function() {
+ cb();
+ if (self.iceGatheringState === 'new') {
+ self.iceGatheringState = 'gathering';
+ }
+ self._emitBufferedCandidates();
+ }, 0);
+ }
+ var p = Promise.resolve();
+ p.then(function() {
+ if (!hasCallback) {
+ if (self.iceGatheringState === 'new') {
+ self.iceGatheringState = 'gathering';
+ }
+ // Usually candidates will be emitted earlier.
+ window.setTimeout(self._emitBufferedCandidates.bind(self), 500);
+ }
+ });
+ return p;
+ };
+
+ window.RTCPeerConnection.prototype.setRemoteDescription =
+ function(description) {
+ var self = this;
+ var stream = new MediaStream();
+ var receiverList = [];
+ var sections = SDPUtils.splitSections(description.sdp);
+ var sessionpart = sections.shift();
+ var isIceLite = SDPUtils.matchPrefix(sessionpart,
+ 'a=ice-lite').length > 0;
+ this.usingBundle = SDPUtils.matchPrefix(sessionpart,
+ 'a=group:BUNDLE ').length > 0;
+ sections.forEach(function(mediaSection, sdpMLineIndex) {
+ var lines = SDPUtils.splitLines(mediaSection);
+ var mline = lines[0].substr(2).split(' ');
+ var kind = mline[0];
+ var rejected = mline[1] === '0';
+ var direction = SDPUtils.getDirection(mediaSection, sessionpart);
+
+ var transceiver;
+ var iceGatherer;
+ var iceTransport;
+ var dtlsTransport;
+ var rtpSender;
+ var rtpReceiver;
+ var sendEncodingParameters;
+ var recvEncodingParameters;
+ var localCapabilities;
+
+ var track;
+ // FIXME: ensure the mediaSection has rtcp-mux set.
+ var remoteCapabilities = SDPUtils.parseRtpParameters(mediaSection);
+ var remoteIceParameters;
+ var remoteDtlsParameters;
+ if (!rejected) {
+ remoteIceParameters = SDPUtils.getIceParameters(mediaSection,
+ sessionpart);
+ remoteDtlsParameters = SDPUtils.getDtlsParameters(mediaSection,
+ sessionpart);
+ remoteDtlsParameters.role = 'client';
+ }
+ recvEncodingParameters =
+ SDPUtils.parseRtpEncodingParameters(mediaSection);
+
+ var mid = SDPUtils.matchPrefix(mediaSection, 'a=mid:');
+ if (mid.length) {
+ mid = mid[0].substr(6);
+ } else {
+ mid = SDPUtils.generateIdentifier();
+ }
+
+ var cname;
+ // Gets the first SSRC. Note that with RTX there might be multiple
+ // SSRCs.
+ var remoteSsrc = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')
+ .map(function(line) {
+ return SDPUtils.parseSsrcMedia(line);
+ })
+ .filter(function(obj) {
+ return obj.attribute === 'cname';
+ })[0];
+ if (remoteSsrc) {
+ cname = remoteSsrc.value;
+ }
+
+ var isComplete = SDPUtils.matchPrefix(mediaSection,
+ 'a=end-of-candidates').length > 0;
+ var cands = SDPUtils.matchPrefix(mediaSection, 'a=candidate:')
+ .map(function(cand) {
+ return SDPUtils.parseCandidate(cand);
+ })
+ .filter(function(cand) {
+ return cand.component === '1';
+ });
+ if (description.type === 'offer' && !rejected) {
+ var transports = self.usingBundle && sdpMLineIndex > 0 ? {
+ iceGatherer: self.transceivers[0].iceGatherer,
+ iceTransport: self.transceivers[0].iceTransport,
+ dtlsTransport: self.transceivers[0].dtlsTransport
+ } : self._createIceAndDtlsTransports(mid, sdpMLineIndex);
+
+ if (isComplete) {
+ transports.iceTransport.setRemoteCandidates(cands);
+ }
+
+ localCapabilities = RTCRtpReceiver.getCapabilities(kind);
+ sendEncodingParameters = [{
+ ssrc: (2 * sdpMLineIndex + 2) * 1001
+ }];
+
+ rtpReceiver = new RTCRtpReceiver(transports.dtlsTransport, kind);
+
+ track = rtpReceiver.track;
+ receiverList.push([track, rtpReceiver]);
+ // FIXME: not correct when there are multiple streams but that is
+ // not currently supported in this shim.
+ stream.addTrack(track);
+
+ // FIXME: look at direction.
+ if (self.localStreams.length > 0 &&
+ self.localStreams[0].getTracks().length >= sdpMLineIndex) {
+ // FIXME: actually more complicated, needs to match types etc
+ var localtrack = self.localStreams[0]
+ .getTracks()[sdpMLineIndex];
+ rtpSender = new RTCRtpSender(localtrack,
+ transports.dtlsTransport);
+ }
+
+ self.transceivers[sdpMLineIndex] = {
+ iceGatherer: transports.iceGatherer,
+ iceTransport: transports.iceTransport,
+ dtlsTransport: transports.dtlsTransport,
+ localCapabilities: localCapabilities,
+ remoteCapabilities: remoteCapabilities,
+ rtpSender: rtpSender,
+ rtpReceiver: rtpReceiver,
+ kind: kind,
+ mid: mid,
+ cname: cname,
+ sendEncodingParameters: sendEncodingParameters,
+ recvEncodingParameters: recvEncodingParameters
+ };
+ // Start the RTCRtpReceiver now. The RTPSender is started in
+ // setLocalDescription.
+ self._transceive(self.transceivers[sdpMLineIndex],
+ false,
+ direction === 'sendrecv' || direction === 'sendonly');
+ } else if (description.type === 'answer' && !rejected) {
+ transceiver = self.transceivers[sdpMLineIndex];
+ iceGatherer = transceiver.iceGatherer;
+ iceTransport = transceiver.iceTransport;
+ dtlsTransport = transceiver.dtlsTransport;
+ rtpSender = transceiver.rtpSender;
+ rtpReceiver = transceiver.rtpReceiver;
+ sendEncodingParameters = transceiver.sendEncodingParameters;
+ localCapabilities = transceiver.localCapabilities;
+
+ self.transceivers[sdpMLineIndex].recvEncodingParameters =
+ recvEncodingParameters;
+ self.transceivers[sdpMLineIndex].remoteCapabilities =
+ remoteCapabilities;
+ self.transceivers[sdpMLineIndex].cname = cname;
+
+ if ((isIceLite || isComplete) && cands.length) {
+ iceTransport.setRemoteCandidates(cands);
+ }
+ if (!self.usingBundle || sdpMLineIndex === 0) {
+ iceTransport.start(iceGatherer, remoteIceParameters,
+ 'controlling');
+ dtlsTransport.start(remoteDtlsParameters);
+ }
+
+ self._transceive(transceiver,
+ direction === 'sendrecv' || direction === 'recvonly',
+ direction === 'sendrecv' || direction === 'sendonly');
+
+ if (rtpReceiver &&
+ (direction === 'sendrecv' || direction === 'sendonly')) {
+ track = rtpReceiver.track;
+ receiverList.push([track, rtpReceiver]);
+ stream.addTrack(track);
+ } else {
+ // FIXME: actually the receiver should be created later.
+ delete transceiver.rtpReceiver;
+ }
+ }
+ });
+
+ this.remoteDescription = {
+ type: description.type,
+ sdp: description.sdp
+ };
+ switch (description.type) {
+ case 'offer':
+ this._updateSignalingState('have-remote-offer');
+ break;
+ case 'answer':
+ this._updateSignalingState('stable');
+ break;
+ default:
+ throw new TypeError('unsupported type "' + description.type +
+ '"');
+ }
+ if (stream.getTracks().length) {
+ self.remoteStreams.push(stream);
+ window.setTimeout(function() {
+ var event = new Event('addstream');
+ event.stream = stream;
+ self.dispatchEvent(event);
+ if (self.onaddstream !== null) {
+ window.setTimeout(function() {
+ self.onaddstream(event);
+ }, 0);
+ }
+
+ receiverList.forEach(function(item) {
+ var track = item[0];
+ var receiver = item[1];
+ var trackEvent = new Event('track');
+ trackEvent.track = track;
+ trackEvent.receiver = receiver;
+ trackEvent.streams = [stream];
+ self.dispatchEvent(event);
+ if (self.ontrack !== null) {
+ window.setTimeout(function() {
+ self.ontrack(trackEvent);
+ }, 0);
+ }
+ });
+ }, 0);
+ }
+ if (arguments.length > 1 && typeof arguments[1] === 'function') {
+ window.setTimeout(arguments[1], 0);
+ }
+ return Promise.resolve();
+ };
+
+ window.RTCPeerConnection.prototype.close = function() {
+ this.transceivers.forEach(function(transceiver) {
+ /* not yet
+ if (transceiver.iceGatherer) {
+ transceiver.iceGatherer.close();
+ }
+ */
+ if (transceiver.iceTransport) {
+ transceiver.iceTransport.stop();
+ }
+ if (transceiver.dtlsTransport) {
+ transceiver.dtlsTransport.stop();
+ }
+ if (transceiver.rtpSender) {
+ transceiver.rtpSender.stop();
+ }
+ if (transceiver.rtpReceiver) {
+ transceiver.rtpReceiver.stop();
+ }
+ });
+ // FIXME: clean up tracks, local streams, remote streams, etc
+ this._updateSignalingState('closed');
+ };
+
+ // Update the signaling state.
+ window.RTCPeerConnection.prototype._updateSignalingState =
+ function(newState) {
+ this.signalingState = newState;
+ var event = new Event('signalingstatechange');
+ this.dispatchEvent(event);
+ if (this.onsignalingstatechange !== null) {
+ this.onsignalingstatechange(event);
+ }
+ };
+
+ // Determine whether to fire the negotiationneeded event.
+ window.RTCPeerConnection.prototype._maybeFireNegotiationNeeded =
+ function() {
+ // Fire away (for now).
+ var event = new Event('negotiationneeded');
+ this.dispatchEvent(event);
+ if (this.onnegotiationneeded !== null) {
+ this.onnegotiationneeded(event);
+ }
+ };
+
+ // Update the connection state.
+ window.RTCPeerConnection.prototype._updateConnectionState = function() {
+ var self = this;
+ var newState;
+ var states = {
+ 'new': 0,
+ closed: 0,
+ connecting: 0,
+ checking: 0,
+ connected: 0,
+ completed: 0,
+ failed: 0
+ };
+ this.transceivers.forEach(function(transceiver) {
+ states[transceiver.iceTransport.state]++;
+ states[transceiver.dtlsTransport.state]++;
+ });
+ // ICETransport.completed and connected are the same for this purpose.
+ states.connected += states.completed;
+
+ newState = 'new';
+ if (states.failed > 0) {
+ newState = 'failed';
+ } else if (states.connecting > 0 || states.checking > 0) {
+ newState = 'connecting';
+ } else if (states.disconnected > 0) {
+ newState = 'disconnected';
+ } else if (states.new > 0) {
+ newState = 'new';
+ } else if (states.connected > 0 || states.completed > 0) {
+ newState = 'connected';
+ }
+
+ if (newState !== self.iceConnectionState) {
+ self.iceConnectionState = newState;
+ var event = new Event('iceconnectionstatechange');
+ this.dispatchEvent(event);
+ if (this.oniceconnectionstatechange !== null) {
+ this.oniceconnectionstatechange(event);
+ }
+ }
+ };
+
+ window.RTCPeerConnection.prototype.createOffer = function() {
+ var self = this;
+ if (this._pendingOffer) {
+ throw new Error('createOffer called while there is a pending offer.');
+ }
+ var offerOptions;
+ if (arguments.length === 1 && typeof arguments[0] !== 'function') {
+ offerOptions = arguments[0];
+ } else if (arguments.length === 3) {
+ offerOptions = arguments[2];
+ }
+
+ var tracks = [];
+ var numAudioTracks = 0;
+ var numVideoTracks = 0;
+ // Default to sendrecv.
+ if (this.localStreams.length) {
+ numAudioTracks = this.localStreams[0].getAudioTracks().length;
+ numVideoTracks = this.localStreams[0].getVideoTracks().length;
+ }
+ // Determine number of audio and video tracks we need to send/recv.
+ if (offerOptions) {
+ // Reject Chrome legacy constraints.
+ if (offerOptions.mandatory || offerOptions.optional) {
+ throw new TypeError(
+ 'Legacy mandatory/optional constraints not supported.');
+ }
+ if (offerOptions.offerToReceiveAudio !== undefined) {
+ numAudioTracks = offerOptions.offerToReceiveAudio;
+ }
+ if (offerOptions.offerToReceiveVideo !== undefined) {
+ numVideoTracks = offerOptions.offerToReceiveVideo;
+ }
+ }
+ if (this.localStreams.length) {
+ // Push local streams.
+ this.localStreams[0].getTracks().forEach(function(track) {
+ tracks.push({
+ kind: track.kind,
+ track: track,
+ wantReceive: track.kind === 'audio' ?
+ numAudioTracks > 0 : numVideoTracks > 0
+ });
+ if (track.kind === 'audio') {
+ numAudioTracks--;
+ } else if (track.kind === 'video') {
+ numVideoTracks--;
+ }
+ });
+ }
+ // Create M-lines for recvonly streams.
+ while (numAudioTracks > 0 || numVideoTracks > 0) {
+ if (numAudioTracks > 0) {
+ tracks.push({
+ kind: 'audio',
+ wantReceive: true
+ });
+ numAudioTracks--;
+ }
+ if (numVideoTracks > 0) {
+ tracks.push({
+ kind: 'video',
+ wantReceive: true
+ });
+ numVideoTracks--;
+ }
+ }
+
+ var sdp = SDPUtils.writeSessionBoilerplate();
+ var transceivers = [];
+ tracks.forEach(function(mline, sdpMLineIndex) {
+ // For each track, create an ice gatherer, ice transport,
+ // dtls transport, potentially rtpsender and rtpreceiver.
+ var track = mline.track;
+ var kind = mline.kind;
+ var mid = SDPUtils.generateIdentifier();
+
+ var transports = self.usingBundle && sdpMLineIndex > 0 ? {
+ iceGatherer: transceivers[0].iceGatherer,
+ iceTransport: transceivers[0].iceTransport,
+ dtlsTransport: transceivers[0].dtlsTransport
+ } : self._createIceAndDtlsTransports(mid, sdpMLineIndex);
+
+ var localCapabilities = RTCRtpSender.getCapabilities(kind);
+ var rtpSender;
+ var rtpReceiver;
+
+ // generate an ssrc now, to be used later in rtpSender.send
+ var sendEncodingParameters = [{
+ ssrc: (2 * sdpMLineIndex + 1) * 1001
+ }];
+ if (track) {
+ rtpSender = new RTCRtpSender(track, transports.dtlsTransport);
+ }
+
+ if (mline.wantReceive) {
+ rtpReceiver = new RTCRtpReceiver(transports.dtlsTransport, kind);
+ }
+
+ transceivers[sdpMLineIndex] = {
+ iceGatherer: transports.iceGatherer,
+ iceTransport: transports.iceTransport,
+ dtlsTransport: transports.dtlsTransport,
+ localCapabilities: localCapabilities,
+ remoteCapabilities: null,
+ rtpSender: rtpSender,
+ rtpReceiver: rtpReceiver,
+ kind: kind,
+ mid: mid,
+ sendEncodingParameters: sendEncodingParameters,
+ recvEncodingParameters: null
+ };
+ });
+ if (this.usingBundle) {
+ sdp += 'a=group:BUNDLE ' + transceivers.map(function(t) {
+ return t.mid;
+ }).join(' ') + '\r\n';
+ }
+ tracks.forEach(function(mline, sdpMLineIndex) {
+ var transceiver = transceivers[sdpMLineIndex];
+ sdp += SDPUtils.writeMediaSection(transceiver,
+ transceiver.localCapabilities, 'offer', self.localStreams[0]);
+ });
+
+ this._pendingOffer = transceivers;
+ var desc = new RTCSessionDescription({
+ type: 'offer',
+ sdp: sdp
+ });
+ if (arguments.length && typeof arguments[0] === 'function') {
+ window.setTimeout(arguments[0], 0, desc);
+ }
+ return Promise.resolve(desc);
+ };
+
+ window.RTCPeerConnection.prototype.createAnswer = function() {
+ var self = this;
+
+ var sdp = SDPUtils.writeSessionBoilerplate();
+ if (this.usingBundle) {
+ sdp += 'a=group:BUNDLE ' + this.transceivers.map(function(t) {
+ return t.mid;
+ }).join(' ') + '\r\n';
+ }
+ this.transceivers.forEach(function(transceiver) {
+ // Calculate intersection of capabilities.
+ var commonCapabilities = self._getCommonCapabilities(
+ transceiver.localCapabilities,
+ transceiver.remoteCapabilities);
+
+ sdp += SDPUtils.writeMediaSection(transceiver, commonCapabilities,
+ 'answer', self.localStreams[0]);
+ });
+
+ var desc = new RTCSessionDescription({
+ type: 'answer',
+ sdp: sdp
+ });
+ if (arguments.length && typeof arguments[0] === 'function') {
+ window.setTimeout(arguments[0], 0, desc);
+ }
+ return Promise.resolve(desc);
+ };
+
+ window.RTCPeerConnection.prototype.addIceCandidate = function(candidate) {
+ if (candidate === null) {
+ this.transceivers.forEach(function(transceiver) {
+ transceiver.iceTransport.addRemoteCandidate({});
+ });
+ } else {
+ var mLineIndex = candidate.sdpMLineIndex;
+ if (candidate.sdpMid) {
+ for (var i = 0; i < this.transceivers.length; i++) {
+ if (this.transceivers[i].mid === candidate.sdpMid) {
+ mLineIndex = i;
+ break;
+ }
+ }
+ }
+ var transceiver = this.transceivers[mLineIndex];
+ if (transceiver) {
+ var cand = Object.keys(candidate.candidate).length > 0 ?
+ SDPUtils.parseCandidate(candidate.candidate) : {};
+ // Ignore Chrome's invalid candidates since Edge does not like them.
+ if (cand.protocol === 'tcp' && cand.port === 0) {
+ return;
+ }
+ // Ignore RTCP candidates, we assume RTCP-MUX.
+ if (cand.component !== '1') {
+ return;
+ }
+ // A dirty hack to make samples work.
+ if (cand.type === 'endOfCandidates') {
+ cand = {};
+ }
+ transceiver.iceTransport.addRemoteCandidate(cand);
+
+ // update the remoteDescription.
+ var sections = SDPUtils.splitSections(this.remoteDescription.sdp);
+ sections[mLineIndex + 1] += (cand.type ? candidate.candidate.trim()
+ : 'a=end-of-candidates') + '\r\n';
+ this.remoteDescription.sdp = sections.join('');
+ }
+ }
+ if (arguments.length > 1 && typeof arguments[1] === 'function') {
+ window.setTimeout(arguments[1], 0);
+ }
+ return Promise.resolve();
+ };
+
+ window.RTCPeerConnection.prototype.getStats = function() {
+ var promises = [];
+ this.transceivers.forEach(function(transceiver) {
+ ['rtpSender', 'rtpReceiver', 'iceGatherer', 'iceTransport',
+ 'dtlsTransport'].forEach(function(method) {
+ if (transceiver[method]) {
+ promises.push(transceiver[method].getStats());
+ }
+ });
+ });
+ var cb = arguments.length > 1 && typeof arguments[1] === 'function' &&
+ arguments[1];
+ return new Promise(function(resolve) {
+ // shim getStats with maplike support
+ var results = new Map();
+ Promise.all(promises).then(function(res) {
+ res.forEach(function(result) {
+ Object.keys(result).forEach(function(id) {
+ results.set(id, result[id]);
+ results[id] = result[id];
+ });
+ });
+ if (cb) {
+ window.setTimeout(cb, 0, results);
+ }
+ resolve(results);
+ });
+ });
+ };
+ },
+
+ // Attach a media stream to an element.
+ attachMediaStream: function(element, stream) {
+ logging('DEPRECATED, attachMediaStream will soon be removed.');
+ element.srcObject = stream;
+ },
+
+ reattachMediaStream: function(to, from) {
+ logging('DEPRECATED, reattachMediaStream will soon be removed.');
+ to.srcObject = from.srcObject;
+ }
+};
+
+// Expose public methods.
+module.exports = {
+ shimPeerConnection: edgeShim.shimPeerConnection,
+ shimGetUserMedia: require('./getusermedia'),
+ attachMediaStream: edgeShim.attachMediaStream,
+ reattachMediaStream: edgeShim.reattachMediaStream
+};
+
+},{"../utils":203,"./getusermedia":199,"sdp":183}],199:[function(require,module,exports){
arguments[4][37][0].apply(exports,arguments)
-},{"dup":37}],190:[function(require,module,exports){
-arguments[4][38][0].apply(exports,arguments)
-},{"../utils":193,"./getusermedia":191,"dup":38}],191:[function(require,module,exports){
-arguments[4][39][0].apply(exports,arguments)
-},{"../utils":193,"dup":39}],192:[function(require,module,exports){
-arguments[4][40][0].apply(exports,arguments)
-},{"dup":40}],193:[function(require,module,exports){
-arguments[4][41][0].apply(exports,arguments)
-},{"dup":41}],194:[function(require,module,exports){
+},{"dup":37}],200:[function(require,module,exports){
+/*
+ * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree.
+ */
+ /* eslint-env node */
+'use strict';
+
+var logging = require('../utils').log;
+var browserDetails = require('../utils').browserDetails;
+
+var firefoxShim = {
+ shimOnTrack: function() {
+ if (typeof window === 'object' && window.RTCPeerConnection && !('ontrack' in
+ window.RTCPeerConnection.prototype)) {
+ Object.defineProperty(window.RTCPeerConnection.prototype, 'ontrack', {
+ get: function() {
+ return this._ontrack;
+ },
+ set: function(f) {
+ if (this._ontrack) {
+ this.removeEventListener('track', this._ontrack);
+ this.removeEventListener('addstream', this._ontrackpoly);
+ }
+ this.addEventListener('track', this._ontrack = f);
+ this.addEventListener('addstream', this._ontrackpoly = function(e) {
+ e.stream.getTracks().forEach(function(track) {
+ var event = new Event('track');
+ event.track = track;
+ event.receiver = {track: track};
+ event.streams = [e.stream];
+ this.dispatchEvent(event);
+ }.bind(this));
+ }.bind(this));
+ }
+ });
+ }
+ },
+
+ shimSourceObject: function() {
+ // Firefox has supported mozSrcObject since FF22, unprefixed in 42.
+ if (typeof window === 'object') {
+ if (window.HTMLMediaElement &&
+ !('srcObject' in window.HTMLMediaElement.prototype)) {
+ // Shim the srcObject property, once, when HTMLMediaElement is found.
+ Object.defineProperty(window.HTMLMediaElement.prototype, 'srcObject', {
+ get: function() {
+ return this.mozSrcObject;
+ },
+ set: function(stream) {
+ this.mozSrcObject = stream;
+ }
+ });
+ }
+ }
+ },
+
+ shimPeerConnection: function() {
+ if (typeof window !== 'object' || !(window.RTCPeerConnection ||
+ window.mozRTCPeerConnection)) {
+ return; // probably media.peerconnection.enabled=false in about:config
+ }
+ // The RTCPeerConnection object.
+ if (!window.RTCPeerConnection) {
+ window.RTCPeerConnection = function(pcConfig, pcConstraints) {
+ if (browserDetails.version < 38) {
+ // .urls is not supported in FF < 38.
+ // create RTCIceServers with a single url.
+ if (pcConfig && pcConfig.iceServers) {
+ var newIceServers = [];
+ for (var i = 0; i < pcConfig.iceServers.length; i++) {
+ var server = pcConfig.iceServers[i];
+ if (server.hasOwnProperty('urls')) {
+ for (var j = 0; j < server.urls.length; j++) {
+ var newServer = {
+ url: server.urls[j]
+ };
+ if (server.urls[j].indexOf('turn') === 0) {
+ newServer.username = server.username;
+ newServer.credential = server.credential;
+ }
+ newIceServers.push(newServer);
+ }
+ } else {
+ newIceServers.push(pcConfig.iceServers[i]);
+ }
+ }
+ pcConfig.iceServers = newIceServers;
+ }
+ }
+ return new mozRTCPeerConnection(pcConfig, pcConstraints);
+ };
+ window.RTCPeerConnection.prototype = mozRTCPeerConnection.prototype;
+
+ // wrap static methods. Currently just generateCertificate.
+ if (mozRTCPeerConnection.generateCertificate) {
+ Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {
+ get: function() {
+ return mozRTCPeerConnection.generateCertificate;
+ }
+ });
+ }
+
+ window.RTCSessionDescription = mozRTCSessionDescription;
+ window.RTCIceCandidate = mozRTCIceCandidate;
+ }
+
+ // shim away need for obsolete RTCIceCandidate/RTCSessionDescription.
+ ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']
+ .forEach(function(method) {
+ var nativeMethod = RTCPeerConnection.prototype[method];
+ RTCPeerConnection.prototype[method] = function() {
+ arguments[0] = new ((method === 'addIceCandidate') ?
+ RTCIceCandidate : RTCSessionDescription)(arguments[0]);
+ return nativeMethod.apply(this, arguments);
+ };
+ });
+
+ // support for addIceCandidate(null)
+ var nativeAddIceCandidate =
+ RTCPeerConnection.prototype.addIceCandidate;
+ RTCPeerConnection.prototype.addIceCandidate = function() {
+ return arguments[0] === null ? Promise.resolve()
+ : nativeAddIceCandidate.apply(this, arguments);
+ };
+
+ // shim getStats with maplike support
+ var makeMapStats = function(stats) {
+ var map = new Map();
+ Object.keys(stats).forEach(function(key) {
+ map.set(key, stats[key]);
+ map[key] = stats[key];
+ });
+ return map;
+ };
+
+ var nativeGetStats = RTCPeerConnection.prototype.getStats;
+ RTCPeerConnection.prototype.getStats = function(selector, onSucc, onErr) {
+ return nativeGetStats.apply(this, [selector || null])
+ .then(function(stats) {
+ return makeMapStats(stats);
+ })
+ .then(onSucc, onErr);
+ };
+ },
+
+ // Attach a media stream to an element.
+ attachMediaStream: function(element, stream) {
+ logging('DEPRECATED, attachMediaStream will soon be removed.');
+ element.srcObject = stream;
+ },
+
+ reattachMediaStream: function(to, from) {
+ logging('DEPRECATED, reattachMediaStream will soon be removed.');
+ to.srcObject = from.srcObject;
+ }
+};
+
+// Expose public methods.
+module.exports = {
+ shimOnTrack: firefoxShim.shimOnTrack,
+ shimSourceObject: firefoxShim.shimSourceObject,
+ shimPeerConnection: firefoxShim.shimPeerConnection,
+ shimGetUserMedia: require('./getusermedia'),
+ attachMediaStream: firefoxShim.attachMediaStream,
+ reattachMediaStream: firefoxShim.reattachMediaStream
+};
+
+},{"../utils":203,"./getusermedia":201}],201:[function(require,module,exports){
+/*
+ * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree.
+ */
+ /* eslint-env node */
+'use strict';
+
+var logging = require('../utils').log;
+var browserDetails = require('../utils').browserDetails;
+
+// Expose public methods.
+module.exports = function() {
+ var shimError_ = function(e) {
+ return {
+ name: {
+ SecurityError: 'NotAllowedError',
+ PermissionDeniedError: 'NotAllowedError'
+ }[e.name] || e.name,
+ message: {
+ 'The operation is insecure.': 'The request is not allowed by the ' +
+ 'user agent or the platform in the current context.'
+ }[e.message] || e.message,
+ constraint: e.constraint,
+ toString: function() {
+ return this.name + (this.message && ': ') + this.message;
+ }
+ };
+ };
+
+ // getUserMedia constraints shim.
+ var getUserMedia_ = function(constraints, onSuccess, onError) {
+ var constraintsToFF37_ = function(c) {
+ if (typeof c !== 'object' || c.require) {
+ return c;
+ }
+ var require = [];
+ Object.keys(c).forEach(function(key) {
+ if (key === 'require' || key === 'advanced' || key === 'mediaSource') {
+ return;
+ }
+ var r = c[key] = (typeof c[key] === 'object') ?
+ c[key] : {ideal: c[key]};
+ if (r.min !== undefined ||
+ r.max !== undefined || r.exact !== undefined) {
+ require.push(key);
+ }
+ if (r.exact !== undefined) {
+ if (typeof r.exact === 'number') {
+ r. min = r.max = r.exact;
+ } else {
+ c[key] = r.exact;
+ }
+ delete r.exact;
+ }
+ if (r.ideal !== undefined) {
+ c.advanced = c.advanced || [];
+ var oc = {};
+ if (typeof r.ideal === 'number') {
+ oc[key] = {min: r.ideal, max: r.ideal};
+ } else {
+ oc[key] = r.ideal;
+ }
+ c.advanced.push(oc);
+ delete r.ideal;
+ if (!Object.keys(r).length) {
+ delete c[key];
+ }
+ }
+ });
+ if (require.length) {
+ c.require = require;
+ }
+ return c;
+ };
+ constraints = JSON.parse(JSON.stringify(constraints));
+ if (browserDetails.version < 38) {
+ logging('spec: ' + JSON.stringify(constraints));
+ if (constraints.audio) {
+ constraints.audio = constraintsToFF37_(constraints.audio);
+ }
+ if (constraints.video) {
+ constraints.video = constraintsToFF37_(constraints.video);
+ }
+ logging('ff37: ' + JSON.stringify(constraints));
+ }
+ return navigator.mozGetUserMedia(constraints, onSuccess, function(e) {
+ onError(shimError_(e));
+ });
+ };
+
+ // Returns the result of getUserMedia as a Promise.
+ var getUserMediaPromise_ = function(constraints) {
+ return new Promise(function(resolve, reject) {
+ getUserMedia_(constraints, resolve, reject);
+ });
+ };
+
+ // Shim for mediaDevices on older versions.
+ if (!navigator.mediaDevices) {
+ navigator.mediaDevices = {getUserMedia: getUserMediaPromise_,
+ addEventListener: function() { },
+ removeEventListener: function() { }
+ };
+ }
+ navigator.mediaDevices.enumerateDevices =
+ navigator.mediaDevices.enumerateDevices || function() {
+ return new Promise(function(resolve) {
+ var infos = [
+ {kind: 'audioinput', deviceId: 'default', label: '', groupId: ''},
+ {kind: 'videoinput', deviceId: 'default', label: '', groupId: ''}
+ ];
+ resolve(infos);
+ });
+ };
+
+ if (browserDetails.version < 41) {
+ // Work around http://bugzil.la/1169665
+ var orgEnumerateDevices =
+ navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices);
+ navigator.mediaDevices.enumerateDevices = function() {
+ return orgEnumerateDevices().then(undefined, function(e) {
+ if (e.name === 'NotFoundError') {
+ return [];
+ }
+ throw e;
+ });
+ };
+ }
+ if (browserDetails.version < 49) {
+ var origGetUserMedia = navigator.mediaDevices.getUserMedia.
+ bind(navigator.mediaDevices);
+ navigator.mediaDevices.getUserMedia = function(c) {
+ return origGetUserMedia(c).catch(function(e) {
+ return Promise.reject(shimError_(e));
+ });
+ };
+ }
+ navigator.getUserMedia = function(constraints, onSuccess, onError) {
+ if (browserDetails.version < 44) {
+ return getUserMedia_(constraints, onSuccess, onError);
+ }
+ // Replace Firefox 44+'s deprecation warning with unprefixed version.
+ console.warn('navigator.getUserMedia has been replaced by ' +
+ 'navigator.mediaDevices.getUserMedia');
+ navigator.mediaDevices.getUserMedia(constraints).then(onSuccess, onError);
+ };
+};
+
+},{"../utils":203}],202:[function(require,module,exports){
+/*
+ * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree.
+ */
+'use strict';
+var safariShim = {
+ // TODO: DrAlex, should be here, double check against LayoutTests
+ // shimOnTrack: function() { },
+
+ // TODO: DrAlex
+ // attachMediaStream: function(element, stream) { },
+ // reattachMediaStream: function(to, from) { },
+
+ // TODO: once the back-end for the mac port is done, add.
+ // TODO: check for webkitGTK+
+ // shimPeerConnection: function() { },
+
+ shimGetUserMedia: function() {
+ navigator.getUserMedia = navigator.webkitGetUserMedia;
+ }
+};
+
+// Expose public methods.
+module.exports = {
+ shimGetUserMedia: safariShim.shimGetUserMedia
+ // TODO
+ // shimOnTrack: safariShim.shimOnTrack,
+ // shimPeerConnection: safariShim.shimPeerConnection,
+ // attachMediaStream: safariShim.attachMediaStream,
+ // reattachMediaStream: safariShim.reattachMediaStream
+};
+
+},{}],203:[function(require,module,exports){
+/*
+ * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree.
+ */
+ /* eslint-env node */
+'use strict';
+
+var logDisabled_ = true;
+
+// Utility methods.
+var utils = {
+ disableLog: function(bool) {
+ if (typeof bool !== 'boolean') {
+ return new Error('Argument type: ' + typeof bool +
+ '. Please use a boolean.');
+ }
+ logDisabled_ = bool;
+ return (bool) ? 'adapter.js logging disabled' :
+ 'adapter.js logging enabled';
+ },
+
+ log: function() {
+ if (typeof window === 'object') {
+ if (logDisabled_) {
+ return;
+ }
+ if (typeof console !== 'undefined' && typeof console.log === 'function') {
+ console.log.apply(console, arguments);
+ }
+ }
+ },
+
+ /**
+ * Extract browser version out of the provided user agent string.
+ *
+ * @param {!string} uastring userAgent string.
+ * @param {!string} expr Regular expression used as match criteria.
+ * @param {!number} pos position in the version string to be returned.
+ * @return {!number} browser version.
+ */
+ extractVersion: function(uastring, expr, pos) {
+ var match = uastring.match(expr);
+ return match && match.length >= pos && parseInt(match[pos], 10);
+ },
+
+ /**
+ * Browser detector.
+ *
+ * @return {object} result containing browser, version and minVersion
+ * properties.
+ */
+ detectBrowser: function() {
+ // Returned result object.
+ var result = {};
+ result.browser = null;
+ result.version = null;
+ result.minVersion = null;
+
+ // Fail early if it's not a browser
+ if (typeof window === 'undefined' || !window.navigator) {
+ result.browser = 'Not a browser.';
+ return result;
+ }
+
+ // Firefox.
+ if (navigator.mozGetUserMedia) {
+ result.browser = 'firefox';
+ result.version = this.extractVersion(navigator.userAgent,
+ /Firefox\/([0-9]+)\./, 1);
+ result.minVersion = 31;
+
+ // all webkit-based browsers
+ } else if (navigator.webkitGetUserMedia) {
+ // Chrome, Chromium, Webview, Opera, all use the chrome shim for now
+ if (window.webkitRTCPeerConnection) {
+ result.browser = 'chrome';
+ result.version = this.extractVersion(navigator.userAgent,
+ /Chrom(e|ium)\/([0-9]+)\./, 2);
+ result.minVersion = 38;
+
+ // Safari or unknown webkit-based
+ // for the time being Safari has support for MediaStreams but not webRTC
+ } else {
+ // Safari UA substrings of interest for reference:
+ // - webkit version: AppleWebKit/602.1.25 (also used in Op,Cr)
+ // - safari UI version: Version/9.0.3 (unique to Safari)
+ // - safari UI webkit version: Safari/601.4.4 (also used in Op,Cr)
+ //
+ // if the webkit version and safari UI webkit versions are equals,
+ // ... this is a stable version.
+ //
+ // only the internal webkit version is important today to know if
+ // media streams are supported
+ //
+ if (navigator.userAgent.match(/Version\/(\d+).(\d+)/)) {
+ result.browser = 'safari';
+ result.version = this.extractVersion(navigator.userAgent,
+ /AppleWebKit\/([0-9]+)\./, 1);
+ result.minVersion = 602;
+
+ // unknown webkit-based browser
+ } else {
+ result.browser = 'Unsupported webkit-based browser ' +
+ 'with GUM support but no WebRTC support.';
+ return result;
+ }
+ }
+
+ // Edge.
+ } else if (navigator.mediaDevices &&
+ navigator.userAgent.match(/Edge\/(\d+).(\d+)$/)) {
+ result.browser = 'edge';
+ result.version = this.extractVersion(navigator.userAgent,
+ /Edge\/(\d+).(\d+)$/, 2);
+ result.minVersion = 10547;
+
+ // Default fallthrough: not supported.
+ } else {
+ result.browser = 'Not a supported browser.';
+ return result;
+ }
+
+ // Warn if version is less than minVersion.
+ if (result.version < result.minVersion) {
+ utils.log('Browser: ' + result.browser + ' Version: ' + result.version +
+ ' < minimum supported version: ' + result.minVersion +
+ '\n some things might not work!');
+ }
+
+ return result;
+ }
+};
+
+// Export.
+module.exports = {
+ log: utils.log,
+ disableLog: utils.disableLog,
+ browserDetails: utils.detectBrowser(),
+ extractVersion: utils.extractVersion
+};
+
+},{}],204:[function(require,module,exports){
(function (global){
/**
@@ -34118,16 +36601,16 @@ function config (name) {
}
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{}],195:[function(require,module,exports){
+},{}],205:[function(require,module,exports){
arguments[4][45][0].apply(exports,arguments)
-},{"dup":45}],196:[function(require,module,exports){
+},{"dup":45}],206:[function(require,module,exports){
module.exports = function isBuffer(arg) {
return arg && typeof arg === 'object'
&& typeof arg.copy === 'function'
&& typeof arg.fill === 'function'
&& typeof arg.readUInt8 === 'function';
}
-},{}],197:[function(require,module,exports){
+},{}],207:[function(require,module,exports){
(function (process,global){
// Copyright Joyent, Inc. and other Node contributors.
//
@@ -34717,7 +37200,7 @@ function hasOwnProperty(obj, prop) {
}
}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"./support/isBuffer":196,"_process":153,"inherits":195}],198:[function(require,module,exports){
+},{"./support/isBuffer":206,"_process":154,"inherits":205}],208:[function(require,module,exports){
(function (global){
var rng;
@@ -34753,7 +37236,7 @@ module.exports = rng;
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{}],199:[function(require,module,exports){
+},{}],209:[function(require,module,exports){
// uuid.js
//
// Copyright (c) 2010-2012 Robert Kieffer
@@ -34938,7 +37421,7 @@ uuid.unparse = unparse;
module.exports = uuid;
-},{"./rng":198}],200:[function(require,module,exports){
+},{"./rng":208}],210:[function(require,module,exports){
/*
* Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
*
@@ -34946,1778 +37429,97 @@ module.exports = uuid;
* that can be found in the LICENSE file in the root of the source
* tree.
*/
-
-/* More information about these options at jshint.com/docs/options */
-/* jshint browser: true, camelcase: true, curly: true, devel: true,
- eqeqeq: true, forin: false, globalstrict: true, node: true,
- quotmark: single, undef: true, unused: strict */
-/* global mozRTCIceCandidate, mozRTCPeerConnection, Promise,
-mozRTCSessionDescription, webkitRTCPeerConnection, MediaStreamTrack,
-MediaStream, RTCIceGatherer, RTCIceTransport, RTCDtlsTransport,
-RTCRtpSender, RTCRtpReceiver*/
-/* exported trace,requestUserMedia */
+ /* eslint-env node */
'use strict';
-var getUserMedia = null;
-var attachMediaStream = null;
-var reattachMediaStream = null;
-var webrtcDetectedBrowser = null;
-var webrtcDetectedVersion = null;
-var webrtcMinimumVersion = null;
-var webrtcUtils = {
- log: function() {
- // suppress console.log output when being included as a module.
- if (typeof module !== 'undefined' ||
- typeof require === 'function' && typeof define === 'function') {
- return;
- }
- console.log.apply(console, arguments);
- },
- extractVersion: function(uastring, expr, pos) {
- var match = uastring.match(expr);
- return match && match.length >= pos && parseInt(match[pos], 10);
- }
-};
-
-function trace(text) {
- // This function is used for logging.
- if (text[text.length - 1] === '\n') {
- text = text.substring(0, text.length - 1);
- }
- if (window.performance) {
- var now = (window.performance.now() / 1000).toFixed(3);
- webrtcUtils.log(now + ': ' + text);
- } else {
- webrtcUtils.log(text);
- }
-}
-
-if (typeof window === 'object') {
- if (window.HTMLMediaElement &&
- !('srcObject' in window.HTMLMediaElement.prototype)) {
- // Shim the srcObject property, once, when HTMLMediaElement is found.
- Object.defineProperty(window.HTMLMediaElement.prototype, 'srcObject', {
- get: function() {
- // If prefixed srcObject property exists, return it.
- // Otherwise use the shimmed property, _srcObject
- return 'mozSrcObject' in this ? this.mozSrcObject : this._srcObject;
- },
- set: function(stream) {
- if ('mozSrcObject' in this) {
- this.mozSrcObject = stream;
- } else {
- // Use _srcObject as a private property for this shim
- this._srcObject = stream;
- // TODO: revokeObjectUrl(this.src) when !stream to release resources?
- this.src = URL.createObjectURL(stream);
- }
- }
- });
- }
- // Proxy existing globals
- getUserMedia = window.navigator && window.navigator.getUserMedia;
-}
-
-// Attach a media stream to an element.
-attachMediaStream = function(element, stream) {
- element.srcObject = stream;
-};
-
-reattachMediaStream = function(to, from) {
- to.srcObject = from.srcObject;
-};
-
-if (typeof window === 'undefined' || !window.navigator) {
- webrtcUtils.log('This does not appear to be a browser');
- webrtcDetectedBrowser = 'not a browser';
-} else if (navigator.mozGetUserMedia) {
- webrtcUtils.log('This appears to be Firefox');
-
- webrtcDetectedBrowser = 'firefox';
-
- // the detected firefox version.
- webrtcDetectedVersion = webrtcUtils.extractVersion(navigator.userAgent,
- /Firefox\/([0-9]+)\./, 1);
-
- // the minimum firefox version still supported by adapter.
- webrtcMinimumVersion = 31;
-
- // Shim for RTCPeerConnection on older versions.
- if (!window.RTCPeerConnection) {
- window.RTCPeerConnection = function(pcConfig, pcConstraints) {
- if (webrtcDetectedVersion < 38) {
- // .urls is not supported in FF < 38.
- // create RTCIceServers with a single url.
- if (pcConfig && pcConfig.iceServers) {
- var newIceServers = [];
- for (var i = 0; i < pcConfig.iceServers.length; i++) {
- var server = pcConfig.iceServers[i];
- if (server.hasOwnProperty('urls')) {
- for (var j = 0; j < server.urls.length; j++) {
- var newServer = {
- url: server.urls[j]
- };
- if (server.urls[j].indexOf('turn') === 0) {
- newServer.username = server.username;
- newServer.credential = server.credential;
- }
- newIceServers.push(newServer);
- }
- } else {
- newIceServers.push(pcConfig.iceServers[i]);
- }
- }
- pcConfig.iceServers = newIceServers;
- }
- }
- return new mozRTCPeerConnection(pcConfig, pcConstraints); // jscs:ignore requireCapitalizedConstructors
- };
- window.RTCPeerConnection.prototype = mozRTCPeerConnection.prototype;
-
- // wrap static methods. Currently just generateCertificate.
- if (mozRTCPeerConnection.generateCertificate) {
- Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {
- get: function() {
- if (arguments.length) {
- return mozRTCPeerConnection.generateCertificate.apply(null,
- arguments);
- } else {
- return mozRTCPeerConnection.generateCertificate;
- }
- }
- });
- }
-
- window.RTCSessionDescription = mozRTCSessionDescription;
- window.RTCIceCandidate = mozRTCIceCandidate;
- }
-
- // getUserMedia constraints shim.
- getUserMedia = function(constraints, onSuccess, onError) {
- var constraintsToFF37 = function(c) {
- if (typeof c !== 'object' || c.require) {
- return c;
- }
- var require = [];
- Object.keys(c).forEach(function(key) {
- if (key === 'require' || key === 'advanced' || key === 'mediaSource') {
- return;
- }
- var r = c[key] = (typeof c[key] === 'object') ?
- c[key] : {ideal: c[key]};
- if (r.min !== undefined ||
- r.max !== undefined || r.exact !== undefined) {
- require.push(key);
- }
- if (r.exact !== undefined) {
- if (typeof r.exact === 'number') {
- r.min = r.max = r.exact;
- } else {
- c[key] = r.exact;
- }
- delete r.exact;
- }
- if (r.ideal !== undefined) {
- c.advanced = c.advanced || [];
- var oc = {};
- if (typeof r.ideal === 'number') {
- oc[key] = {min: r.ideal, max: r.ideal};
- } else {
- oc[key] = r.ideal;
- }
- c.advanced.push(oc);
- delete r.ideal;
- if (!Object.keys(r).length) {
- delete c[key];
- }
- }
- });
- if (require.length) {
- c.require = require;
- }
- return c;
- };
- if (webrtcDetectedVersion < 38) {
- webrtcUtils.log('spec: ' + JSON.stringify(constraints));
- if (constraints.audio) {
- constraints.audio = constraintsToFF37(constraints.audio);
- }
- if (constraints.video) {
- constraints.video = constraintsToFF37(constraints.video);
- }
- webrtcUtils.log('ff37: ' + JSON.stringify(constraints));
- }
- return navigator.mozGetUserMedia(constraints, onSuccess, onError);
- };
-
- navigator.getUserMedia = getUserMedia;
-
- // Shim for mediaDevices on older versions.
- if (!navigator.mediaDevices) {
- navigator.mediaDevices = {getUserMedia: requestUserMedia,
- addEventListener: function() { },
- removeEventListener: function() { }
- };
- }
- navigator.mediaDevices.enumerateDevices =
- navigator.mediaDevices.enumerateDevices || function() {
- return new Promise(function(resolve) {
- var infos = [
- {kind: 'audioinput', deviceId: 'default', label: '', groupId: ''},
- {kind: 'videoinput', deviceId: 'default', label: '', groupId: ''}
- ];
- resolve(infos);
- });
- };
-
- if (webrtcDetectedVersion < 41) {
- // Work around http://bugzil.la/1169665
- var orgEnumerateDevices =
- navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices);
- navigator.mediaDevices.enumerateDevices = function() {
- return orgEnumerateDevices().then(undefined, function(e) {
- if (e.name === 'NotFoundError') {
- return [];
- }
- throw e;
- });
- };
- }
-} else if (navigator.webkitGetUserMedia && window.webkitRTCPeerConnection) {
- webrtcUtils.log('This appears to be Chrome');
-
- webrtcDetectedBrowser = 'chrome';
-
- // the detected chrome version.
- webrtcDetectedVersion = webrtcUtils.extractVersion(navigator.userAgent,
- /Chrom(e|ium)\/([0-9]+)\./, 2);
-
- // the minimum chrome version still supported by adapter.
- webrtcMinimumVersion = 38;
-
- // The RTCPeerConnection object.
- window.RTCPeerConnection = function(pcConfig, pcConstraints) {
- // Translate iceTransportPolicy to iceTransports,
- // see https://code.google.com/p/webrtc/issues/detail?id=4869
- if (pcConfig && pcConfig.iceTransportPolicy) {
- pcConfig.iceTransports = pcConfig.iceTransportPolicy;
- }
-
- var pc = new webkitRTCPeerConnection(pcConfig, pcConstraints); // jscs:ignore requireCapitalizedConstructors
- var origGetStats = pc.getStats.bind(pc);
- pc.getStats = function(selector, successCallback, errorCallback) { // jshint ignore: line
- var self = this;
- var args = arguments;
-
- // If selector is a function then we are in the old style stats so just
- // pass back the original getStats format to avoid breaking old users.
- if (arguments.length > 0 && typeof selector === 'function') {
- return origGetStats(selector, successCallback);
- }
-
- var fixChromeStats = function(response) {
- var standardReport = {};
- var reports = response.result();
- reports.forEach(function(report) {
- var standardStats = {
- id: report.id,
- timestamp: report.timestamp,
- type: report.type
- };
- report.names().forEach(function(name) {
- standardStats[name] = report.stat(name);
- });
- standardReport[standardStats.id] = standardStats;
- });
-
- return standardReport;
- };
-
- if (arguments.length >= 2) {
- var successCallbackWrapper = function(response) {
- args[1](fixChromeStats(response));
- };
-
- return origGetStats.apply(this, [successCallbackWrapper, arguments[0]]);
- }
-
- // promise-support
- return new Promise(function(resolve, reject) {
- if (args.length === 1 && selector === null) {
- origGetStats.apply(self, [
- function(response) {
- resolve.apply(null, [fixChromeStats(response)]);
- }, reject]);
- } else {
- origGetStats.apply(self, [resolve, reject]);
- }
- });
- };
-
- return pc;
- };
- window.RTCPeerConnection.prototype = webkitRTCPeerConnection.prototype;
-
- // wrap static methods. Currently just generateCertificate.
- if (webkitRTCPeerConnection.generateCertificate) {
- Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {
- get: function() {
- if (arguments.length) {
- return webkitRTCPeerConnection.generateCertificate.apply(null,
- arguments);
- } else {
- return webkitRTCPeerConnection.generateCertificate;
- }
- }
- });
- }
+// Shimming starts here.
+(function() {
+ // Utils.
+ var utils = require('./utils');
+ var logging = utils.log;
+ var browserDetails = utils.browserDetails;
+ // Export to the adapter global object visible in the browser.
+ module.exports.browserDetails = browserDetails;
+ module.exports.extractVersion = utils.extractVersion;
+ module.exports.disableLog = utils.disableLog;
- // add promise support
- ['createOffer', 'createAnswer'].forEach(function(method) {
- var nativeMethod = webkitRTCPeerConnection.prototype[method];
- webkitRTCPeerConnection.prototype[method] = function() {
- var self = this;
- if (arguments.length < 1 || (arguments.length === 1 &&
- typeof(arguments[0]) === 'object')) {
- var opts = arguments.length === 1 ? arguments[0] : undefined;
- return new Promise(function(resolve, reject) {
- nativeMethod.apply(self, [resolve, reject, opts]);
- });
- } else {
- return nativeMethod.apply(this, arguments);
- }
- };
- });
+ // Uncomment the line below if you want logging to occur, including logging
+ // for the switch statement below. Can also be turned on in the browser via
+ // adapter.disableLog(false), but then logging from the switch statement below
+ // will not appear.
+ // require('./utils').disableLog(false);
- ['setLocalDescription', 'setRemoteDescription',
- 'addIceCandidate'].forEach(function(method) {
- var nativeMethod = webkitRTCPeerConnection.prototype[method];
- webkitRTCPeerConnection.prototype[method] = function() {
- var args = arguments;
- var self = this;
- return new Promise(function(resolve, reject) {
- nativeMethod.apply(self, [args[0],
- function() {
- resolve();
- if (args.length >= 2) {
- args[1].apply(null, []);
- }
- },
- function(err) {
- reject(err);
- if (args.length >= 3) {
- args[2].apply(null, [err]);
- }
- }]
- );
- });
- };
- });
+ // Browser shims.
+ var chromeShim = require('./chrome/chrome_shim') || null;
+ var edgeShim = require('./edge/edge_shim') || null;
+ var firefoxShim = require('./firefox/firefox_shim') || null;
+ var safariShim = require('./safari/safari_shim') || null;
- // getUserMedia constraints shim.
- var constraintsToChrome = function(c) {
- if (typeof c !== 'object' || c.mandatory || c.optional) {
- return c;
- }
- var cc = {};
- Object.keys(c).forEach(function(key) {
- if (key === 'require' || key === 'advanced' || key === 'mediaSource') {
+ // Shim browser if found.
+ switch (browserDetails.browser) {
+ case 'chrome':
+ if (!chromeShim || !chromeShim.shimPeerConnection) {
+ logging('Chrome shim is not included in this adapter release.');
return;
}
- var r = (typeof c[key] === 'object') ? c[key] : {ideal: c[key]};
- if (r.exact !== undefined && typeof r.exact === 'number') {
- r.min = r.max = r.exact;
- }
- var oldname = function(prefix, name) {
- if (prefix) {
- return prefix + name.charAt(0).toUpperCase() + name.slice(1);
- }
- return (name === 'deviceId') ? 'sourceId' : name;
- };
- if (r.ideal !== undefined) {
- cc.optional = cc.optional || [];
- var oc = {};
- if (typeof r.ideal === 'number') {
- oc[oldname('min', key)] = r.ideal;
- cc.optional.push(oc);
- oc = {};
- oc[oldname('max', key)] = r.ideal;
- cc.optional.push(oc);
- } else {
- oc[oldname('', key)] = r.ideal;
- cc.optional.push(oc);
- }
- }
- if (r.exact !== undefined && typeof r.exact !== 'number') {
- cc.mandatory = cc.mandatory || {};
- cc.mandatory[oldname('', key)] = r.exact;
- } else {
- ['min', 'max'].forEach(function(mix) {
- if (r[mix] !== undefined) {
- cc.mandatory = cc.mandatory || {};
- cc.mandatory[oldname(mix, key)] = r[mix];
- }
- });
- }
- });
- if (c.advanced) {
- cc.optional = (cc.optional || []).concat(c.advanced);
- }
- return cc;
- };
-
- getUserMedia = function(constraints, onSuccess, onError) {
- if (constraints.audio) {
- constraints.audio = constraintsToChrome(constraints.audio);
- }
- if (constraints.video) {
- constraints.video = constraintsToChrome(constraints.video);
- }
- webrtcUtils.log('chrome: ' + JSON.stringify(constraints));
- return navigator.webkitGetUserMedia(constraints, onSuccess, onError);
- };
- navigator.getUserMedia = getUserMedia;
-
- if (!navigator.mediaDevices) {
- navigator.mediaDevices = {getUserMedia: requestUserMedia,
- enumerateDevices: function() {
- return new Promise(function(resolve) {
- var kinds = {audio: 'audioinput', video: 'videoinput'};
- return MediaStreamTrack.getSources(function(devices) {
- resolve(devices.map(function(device) {
- return {label: device.label,
- kind: kinds[device.kind],
- deviceId: device.id,
- groupId: ''};
- }));
- });
- });
- }};
- }
-
- // A shim for getUserMedia method on the mediaDevices object.
- // TODO(KaptenJansson) remove once implemented in Chrome stable.
- if (!navigator.mediaDevices.getUserMedia) {
- navigator.mediaDevices.getUserMedia = function(constraints) {
- return requestUserMedia(constraints);
- };
- } else {
- // Even though Chrome 45 has navigator.mediaDevices and a getUserMedia
- // function which returns a Promise, it does not accept spec-style
- // constraints.
- var origGetUserMedia = navigator.mediaDevices.getUserMedia.
- bind(navigator.mediaDevices);
- navigator.mediaDevices.getUserMedia = function(c) {
- webrtcUtils.log('spec: ' + JSON.stringify(c)); // whitespace for alignment
- c.audio = constraintsToChrome(c.audio);
- c.video = constraintsToChrome(c.video);
- webrtcUtils.log('chrome: ' + JSON.stringify(c));
- return origGetUserMedia(c);
- };
- }
-
- // Dummy devicechange event methods.
- // TODO(KaptenJansson) remove once implemented in Chrome stable.
- if (typeof navigator.mediaDevices.addEventListener === 'undefined') {
- navigator.mediaDevices.addEventListener = function() {
- webrtcUtils.log('Dummy mediaDevices.addEventListener called.');
- };
- }
- if (typeof navigator.mediaDevices.removeEventListener === 'undefined') {
- navigator.mediaDevices.removeEventListener = function() {
- webrtcUtils.log('Dummy mediaDevices.removeEventListener called.');
- };
- }
-
- // Attach a media stream to an element.
- attachMediaStream = function(element, stream) {
- if (webrtcDetectedVersion >= 43) {
- element.srcObject = stream;
- } else if (typeof element.src !== 'undefined') {
- element.src = URL.createObjectURL(stream);
- } else {
- webrtcUtils.log('Error attaching stream to element.');
- }
- };
- reattachMediaStream = function(to, from) {
- if (webrtcDetectedVersion >= 43) {
- to.srcObject = from.srcObject;
- } else {
- to.src = from.src;
- }
- };
-
-} else if (navigator.mediaDevices && navigator.userAgent.match(
- /Edge\/(\d+).(\d+)$/)) {
- webrtcUtils.log('This appears to be Edge');
- webrtcDetectedBrowser = 'edge';
-
- webrtcDetectedVersion = webrtcUtils.extractVersion(navigator.userAgent,
- /Edge\/(\d+).(\d+)$/, 2);
-
- // The minimum version still supported by adapter.
- // This is the build number for Edge.
- webrtcMinimumVersion = 10547;
-
- if (window.RTCIceGatherer) {
- // Generate an alphanumeric identifier for cname or mids.
- // TODO: use UUIDs instead? https://gist.github.com/jed/982883
- var generateIdentifier = function() {
- return Math.random().toString(36).substr(2, 10);
- };
-
- // The RTCP CNAME used by all peerconnections from the same JS.
- var localCName = generateIdentifier();
-
- // SDP helpers - to be moved into separate module.
- var SDPUtils = {};
-
- // Splits SDP into lines, dealing with both CRLF and LF.
- SDPUtils.splitLines = function(blob) {
- return blob.trim().split('\n').map(function(line) {
- return line.trim();
- });
- };
-
- // Splits SDP into sessionpart and mediasections. Ensures CRLF.
- SDPUtils.splitSections = function(blob) {
- var parts = blob.split('\r\nm=');
- return parts.map(function(part, index) {
- return (index > 0 ? 'm=' + part : part).trim() + '\r\n';
- });
- };
-
- // Returns lines that start with a certain prefix.
- SDPUtils.matchPrefix = function(blob, prefix) {
- return SDPUtils.splitLines(blob).filter(function(line) {
- return line.indexOf(prefix) === 0;
- });
- };
-
- // Parses an ICE candidate line. Sample input:
- // candidate:702786350 2 udp 41819902 8.8.8.8 60769 typ relay raddr 8.8.8.8 rport 55996"
- SDPUtils.parseCandidate = function(line) {
- var parts;
- // Parse both variants.
- if (line.indexOf('a=candidate:') === 0) {
- parts = line.substring(12).split(' ');
- } else {
- parts = line.substring(10).split(' ');
- }
-
- var candidate = {
- foundation: parts[0],
- component: parts[1],
- protocol: parts[2].toLowerCase(),
- priority: parseInt(parts[3], 10),
- ip: parts[4],
- port: parseInt(parts[5], 10),
- // skip parts[6] == 'typ'
- type: parts[7]
- };
-
- for (var i = 8; i < parts.length; i += 2) {
- switch (parts[i]) {
- case 'raddr':
- candidate.relatedAddress = parts[i + 1];
- break;
- case 'rport':
- candidate.relatedPort = parseInt(parts[i + 1], 10);
- break;
- case 'tcptype':
- candidate.tcpType = parts[i + 1];
- break;
- default: // Unknown extensions are silently ignored.
- break;
- }
- }
- return candidate;
- };
-
- // Translates a candidate object into SDP candidate attribute.
- SDPUtils.writeCandidate = function(candidate) {
- var sdp = [];
- sdp.push(candidate.foundation);
- sdp.push(candidate.component);
- sdp.push(candidate.protocol.toUpperCase());
- sdp.push(candidate.priority);
- sdp.push(candidate.ip);
- sdp.push(candidate.port);
-
- var type = candidate.type;
- sdp.push('typ');
- sdp.push(type);
- if (type !== 'host' && candidate.relatedAddress &&
- candidate.relatedPort) {
- sdp.push('raddr');
- sdp.push(candidate.relatedAddress); // was: relAddr
- sdp.push('rport');
- sdp.push(candidate.relatedPort); // was: relPort
- }
- if (candidate.tcpType && candidate.protocol.toLowerCase() === 'tcp') {
- sdp.push('tcptype');
- sdp.push(candidate.tcpType);
- }
- return 'candidate:' + sdp.join(' ');
- };
-
- // Parses an rtpmap line, returns RTCRtpCoddecParameters. Sample input:
- // a=rtpmap:111 opus/48000/2
- SDPUtils.parseRtpMap = function(line) {
- var parts = line.substr(9).split(' ');
- var parsed = {
- payloadType: parseInt(parts.shift(), 10) // was: id
- };
-
- parts = parts[0].split('/');
-
- parsed.name = parts[0];
- parsed.clockRate = parseInt(parts[1], 10); // was: clockrate
- parsed.numChannels = parts.length === 3 ? parseInt(parts[2], 10) : 1; // was: channels
- return parsed;
- };
-
- // Generate an a=rtpmap line from RTCRtpCodecCapability or RTCRtpCodecParameters.
- SDPUtils.writeRtpMap = function(codec) {
- var pt = codec.payloadType;
- if (codec.preferredPayloadType !== undefined) {
- pt = codec.preferredPayloadType;
- }
- return 'a=rtpmap:' + pt + ' ' + codec.name + '/' + codec.clockRate +
- (codec.numChannels !== 1 ? '/' + codec.numChannels : '') + '\r\n';
- };
-
- // Parses an ftmp line, returns dictionary. Sample input:
- // a=fmtp:96 vbr=on;cng=on
- // Also deals with vbr=on; cng=on
- SDPUtils.parseFmtp = function(line) {
- var parsed = {};
- var kv;
- var parts = line.substr(line.indexOf(' ') + 1).split(';');
- for (var j = 0; j < parts.length; j++) {
- kv = parts[j].trim().split('=');
- parsed[kv[0].trim()] = kv[1];
- }
- return parsed;
- };
-
- // Generates an a=ftmp line from RTCRtpCodecCapability or RTCRtpCodecParameters.
- SDPUtils.writeFtmp = function(codec) {
- var line = '';
- var pt = codec.payloadType;
- if (codec.preferredPayloadType !== undefined) {
- pt = codec.preferredPayloadType;
- }
- if (codec.parameters && codec.parameters.length) {
- var params = [];
- Object.keys(codec.parameters).forEach(function(param) {
- params.push(param + '=' + codec.parameters[param]);
- });
- line += 'a=fmtp:' + pt + ' ' + params.join(';') + '\r\n';
- }
- return line;
- };
-
- // Parses an rtcp-fb line, returns RTCPRtcpFeedback object. Sample input:
- // a=rtcp-fb:98 nack rpsi
- SDPUtils.parseRtcpFb = function(line) {
- var parts = line.substr(line.indexOf(' ') + 1).split(' ');
- return {
- type: parts.shift(),
- parameter: parts.join(' ')
- };
- };
- // Generate a=rtcp-fb lines from RTCRtpCodecCapability or RTCRtpCodecParameters.
- SDPUtils.writeRtcpFb = function(codec) {
- var lines = '';
- var pt = codec.payloadType;
- if (codec.preferredPayloadType !== undefined) {
- pt = codec.preferredPayloadType;
- }
- if (codec.rtcpFeedback && codec.rtcpFeedback.length) {
- // FIXME: special handling for trr-int?
- codec.rtcpFeedback.forEach(function(fb) {
- lines += 'a=rtcp-fb:' + pt + ' ' + fb.type + ' ' + fb.parameter +
- '\r\n';
- });
- }
- return lines;
- };
-
- // Parses an RFC 5576 ssrc media attribute. Sample input:
- // a=ssrc:3735928559 cname:something
- SDPUtils.parseSsrcMedia = function(line) {
- var sp = line.indexOf(' ');
- var parts = {
- ssrc: line.substr(7, sp - 7),
- };
- var colon = line.indexOf(':', sp);
- if (colon > -1) {
- parts.attribute = line.substr(sp + 1, colon - sp - 1);
- parts.value = line.substr(colon + 1);
- } else {
- parts.attribute = line.substr(sp + 1);
- }
- return parts;
- };
-
- // Extracts DTLS parameters from SDP media section or sessionpart.
- // FIXME: for consistency with other functions this should only
- // get the fingerprint line as input. See also getIceParameters.
- SDPUtils.getDtlsParameters = function(mediaSection, sessionpart) {
- var lines = SDPUtils.splitLines(mediaSection);
- lines = lines.concat(SDPUtils.splitLines(sessionpart)); // Search in session part, too.
- var fpLine = lines.filter(function(line) {
- return line.indexOf('a=fingerprint:') === 0;
- })[0].substr(14);
- // Note: a=setup line is ignored since we use the 'auto' role.
- var dtlsParameters = {
- role: 'auto',
- fingerprints: [{
- algorithm: fpLine.split(' ')[0],
- value: fpLine.split(' ')[1]
- }]
- };
- return dtlsParameters;
- };
-
- // Serializes DTLS parameters to SDP.
- SDPUtils.writeDtlsParameters = function(params, setupType) {
- var sdp = 'a=setup:' + setupType + '\r\n';
- params.fingerprints.forEach(function(fp) {
- sdp += 'a=fingerprint:' + fp.algorithm + ' ' + fp.value + '\r\n';
- });
- return sdp;
- };
- // Parses ICE information from SDP media section or sessionpart.
- // FIXME: for consistency with other functions this should only
- // get the ice-ufrag and ice-pwd lines as input.
- SDPUtils.getIceParameters = function(mediaSection, sessionpart) {
- var lines = SDPUtils.splitLines(mediaSection);
- lines = lines.concat(SDPUtils.splitLines(sessionpart)); // Search in session part, too.
- var iceParameters = {
- usernameFragment: lines.filter(function(line) {
- return line.indexOf('a=ice-ufrag:') === 0;
- })[0].substr(12),
- password: lines.filter(function(line) {
- return line.indexOf('a=ice-pwd:') === 0;
- })[0].substr(10)
- };
- return iceParameters;
- };
-
- // Serializes ICE parameters to SDP.
- SDPUtils.writeIceParameters = function(params) {
- return 'a=ice-ufrag:' + params.usernameFragment + '\r\n' +
- 'a=ice-pwd:' + params.password + '\r\n';
- };
-
- // Parses the SDP media section and returns RTCRtpParameters.
- SDPUtils.parseRtpParameters = function(mediaSection) {
- var description = {
- codecs: [],
- headerExtensions: [],
- fecMechanisms: [],
- rtcp: []
- };
- var lines = SDPUtils.splitLines(mediaSection);
- var mline = lines[0].split(' ');
- for (var i = 3; i < mline.length; i++) { // find all codecs from mline[3..]
- var pt = mline[i];
- var rtpmapline = SDPUtils.matchPrefix(
- mediaSection, 'a=rtpmap:' + pt + ' ')[0];
- if (rtpmapline) {
- var codec = SDPUtils.parseRtpMap(rtpmapline);
- var fmtps = SDPUtils.matchPrefix(
- mediaSection, 'a=fmtp:' + pt + ' ');
- // Only the first a=fmtp:<pt> is considered.
- codec.parameters = fmtps.length ? SDPUtils.parseFmtp(fmtps[0]) : {};
- codec.rtcpFeedback = SDPUtils.matchPrefix(
- mediaSection, 'a=rtcp-fb:' + pt + ' ')
- .map(SDPUtils.parseRtcpFb);
- description.codecs.push(codec);
- }
- }
- // FIXME: parse headerExtensions, fecMechanisms and rtcp.
- return description;
- };
-
- // Generates parts of the SDP media section describing the capabilities / parameters.
- SDPUtils.writeRtpDescription = function(kind, caps) {
- var sdp = '';
-
- // Build the mline.
- sdp += 'm=' + kind + ' ';
- sdp += caps.codecs.length > 0 ? '9' : '0'; // reject if no codecs.
- sdp += ' UDP/TLS/RTP/SAVPF ';
- sdp += caps.codecs.map(function(codec) {
- if (codec.preferredPayloadType !== undefined) {
- return codec.preferredPayloadType;
- }
- return codec.payloadType;
- }).join(' ') + '\r\n';
-
- sdp += 'c=IN IP4 0.0.0.0\r\n';
- sdp += 'a=rtcp:9 IN IP4 0.0.0.0\r\n';
-
- // Add a=rtpmap lines for each codec. Also fmtp and rtcp-fb.
- caps.codecs.forEach(function(codec) {
- sdp += SDPUtils.writeRtpMap(codec);
- sdp += SDPUtils.writeFtmp(codec);
- sdp += SDPUtils.writeRtcpFb(codec);
- });
- // FIXME: add headerExtensions, fecMechanismş and rtcp.
- sdp += 'a=rtcp-mux\r\n';
- return sdp;
- };
-
- SDPUtils.writeSessionBoilerplate = function() {
- // FIXME: sess-id should be an NTP timestamp.
- return 'v=0\r\n' +
- 'o=thisisadapterortc 8169639915646943137 2 IN IP4 127.0.0.1\r\n' +
- 's=-\r\n' +
- 't=0 0\r\n';
- };
-
- SDPUtils.writeMediaSection = function(transceiver, caps, type, stream) {
- var sdp = SDPUtils.writeRtpDescription(transceiver.kind, caps);
-
- // Map ICE parameters (ufrag, pwd) to SDP.
- sdp += SDPUtils.writeIceParameters(
- transceiver.iceGatherer.getLocalParameters());
-
- // Map DTLS parameters to SDP.
- sdp += SDPUtils.writeDtlsParameters(
- transceiver.dtlsTransport.getLocalParameters(),
- type === 'offer' ? 'actpass' : 'active');
-
- sdp += 'a=mid:' + transceiver.mid + '\r\n';
-
- if (transceiver.rtpSender && transceiver.rtpReceiver) {
- sdp += 'a=sendrecv\r\n';
- } else if (transceiver.rtpSender) {
- sdp += 'a=sendonly\r\n';
- } else if (transceiver.rtpReceiver) {
- sdp += 'a=recvonly\r\n';
- } else {
- sdp += 'a=inactive\r\n';
- }
-
- // FIXME: for RTX there might be multiple SSRCs. Not implemented in Edge yet.
- if (transceiver.rtpSender) {
- var msid = 'msid:' + stream.id + ' ' +
- transceiver.rtpSender.track.id + '\r\n';
- sdp += 'a=' + msid;
- sdp += 'a=ssrc:' + transceiver.sendSsrc + ' ' + msid;
- }
- // FIXME: this should be written by writeRtpDescription.
- sdp += 'a=ssrc:' + transceiver.sendSsrc + ' cname:' +
- localCName + '\r\n';
- return sdp;
- };
-
- // Gets the direction from the mediaSection or the sessionpart.
- SDPUtils.getDirection = function(mediaSection, sessionpart) {
- // Look for sendrecv, sendonly, recvonly, inactive, default to sendrecv.
- var lines = SDPUtils.splitLines(mediaSection);
- for (var i = 0; i < lines.length; i++) {
- switch (lines[i]) {
- case 'a=sendrecv':
- case 'a=sendonly':
- case 'a=recvonly':
- case 'a=inactive':
- return lines[i].substr(2);
- }
- }
- if (sessionpart) {
- return SDPUtils.getDirection(sessionpart);
- }
- return 'sendrecv';
- };
-
- // ORTC defines an RTCIceCandidate object but no constructor.
- // Not implemented in Edge.
- if (!window.RTCIceCandidate) {
- window.RTCIceCandidate = function(args) {
- return args;
- };
- }
- // ORTC does not have a session description object but
- // other browsers (i.e. Chrome) that will support both PC and ORTC
- // in the future might have this defined already.
- if (!window.RTCSessionDescription) {
- window.RTCSessionDescription = function(args) {
- return args;
- };
- }
-
- window.RTCPeerConnection = function(config) {
- var self = this;
-
- this.onicecandidate = null;
- this.onaddstream = null;
- this.onremovestream = null;
- this.onsignalingstatechange = null;
- this.oniceconnectionstatechange = null;
- this.onnegotiationneeded = null;
- this.ondatachannel = null;
-
- this.localStreams = [];
- this.remoteStreams = [];
- this.getLocalStreams = function() { return self.localStreams; };
- this.getRemoteStreams = function() { return self.remoteStreams; };
-
- this.localDescription = new RTCSessionDescription({
- type: '',
- sdp: ''
- });
- this.remoteDescription = new RTCSessionDescription({
- type: '',
- sdp: ''
- });
- this.signalingState = 'stable';
- this.iceConnectionState = 'new';
-
- this.iceOptions = {
- gatherPolicy: 'all',
- iceServers: []
- };
- if (config && config.iceTransportPolicy) {
- switch (config.iceTransportPolicy) {
- case 'all':
- case 'relay':
- this.iceOptions.gatherPolicy = config.iceTransportPolicy;
- break;
- case 'none':
- // FIXME: remove once implementation and spec have added this.
- throw new TypeError('iceTransportPolicy "none" not supported');
- }
- }
- if (config && config.iceServers) {
- // Edge does not like
- // 1) stun:
- // 2) turn: that does not have all of turn:host:port?transport=udp
- // 3) an array of urls
- config.iceServers.forEach(function(server) {
- if (server.urls) {
- var url;
- if (typeof(server.urls) === 'string') {
- url = server.urls;
- } else {
- url = server.urls[0];
- }
- if (url.indexOf('transport=udp') !== -1) {
- self.iceServers.push({
- username: server.username,
- credential: server.credential,
- urls: url
- });
- }
- }
- });
- }
-
- // per-track iceGathers, iceTransports, dtlsTransports, rtpSenders, ...
- // everything that is needed to describe a SDP m-line.
- this.transceivers = [];
-
- // since the iceGatherer is currently created in createOffer but we
- // must not emit candidates until after setLocalDescription we buffer
- // them in this array.
- this._localIceCandidatesBuffer = [];
- };
-
- window.RTCPeerConnection.prototype._emitBufferedCandidates = function() {
- var self = this;
- // FIXME: need to apply ice candidates in a way which is async but in-order
- this._localIceCandidatesBuffer.forEach(function(event) {
- if (self.onicecandidate !== null) {
- self.onicecandidate(event);
- }
- });
- this._localIceCandidatesBuffer = [];
- };
-
- window.RTCPeerConnection.prototype.addStream = function(stream) {
- // Clone is necessary for local demos mostly, attaching directly
- // to two different senders does not work (build 10547).
- this.localStreams.push(stream.clone());
- this._maybeFireNegotiationNeeded();
- };
-
- window.RTCPeerConnection.prototype.removeStream = function(stream) {
- var idx = this.localStreams.indexOf(stream);
- if (idx > -1) {
- this.localStreams.splice(idx, 1);
- this._maybeFireNegotiationNeeded();
- }
- };
-
- // Determines the intersection of local and remote capabilities.
- window.RTCPeerConnection.prototype._getCommonCapabilities =
- function(localCapabilities, remoteCapabilities) {
- var commonCapabilities = {
- codecs: [],
- headerExtensions: [],
- fecMechanisms: []
- };
- localCapabilities.codecs.forEach(function(lCodec) {
- for (var i = 0; i < remoteCapabilities.codecs.length; i++) {
- var rCodec = remoteCapabilities.codecs[i];
- if (lCodec.name.toLowerCase() === rCodec.name.toLowerCase() &&
- lCodec.clockRate === rCodec.clockRate &&
- lCodec.numChannels === rCodec.numChannels) {
- // push rCodec so we reply with offerer payload type
- commonCapabilities.codecs.push(rCodec);
-
- // FIXME: also need to determine intersection between
- // .rtcpFeedback and .parameters
- break;
- }
- }
- });
-
- localCapabilities.headerExtensions.forEach(function(lHeaderExtension) {
- for (var i = 0; i < remoteCapabilities.headerExtensions.length; i++) {
- var rHeaderExtension = remoteCapabilities.headerExtensions[i];
- if (lHeaderExtension.uri === rHeaderExtension.uri) {
- commonCapabilities.headerExtensions.push(rHeaderExtension);
- break;
- }
- }
- });
-
- // FIXME: fecMechanisms
- return commonCapabilities;
- };
-
- // Create ICE gatherer, ICE transport and DTLS transport.
- window.RTCPeerConnection.prototype._createIceAndDtlsTransports =
- function(mid, sdpMLineIndex) {
- var self = this;
- var iceGatherer = new RTCIceGatherer(self.iceOptions);
- var iceTransport = new RTCIceTransport(iceGatherer);
- iceGatherer.onlocalcandidate = function(evt) {
- var event = {};
- event.candidate = {sdpMid: mid, sdpMLineIndex: sdpMLineIndex};
-
- var cand = evt.candidate;
- // Edge emits an empty object for RTCIceCandidateComplete‥
- if (!cand || Object.keys(cand).length === 0) {
- // polyfill since RTCIceGatherer.state is not implemented in Edge 10547 yet.
- if (iceGatherer.state === undefined) {
- iceGatherer.state = 'completed';
- }
-
- // Emit a candidate with type endOfCandidates to make the samples work.
- // Edge requires addIceCandidate with this empty candidate to start checking.
- // The real solution is to signal end-of-candidates to the other side when
- // getting the null candidate but some apps (like the samples) don't do that.
- event.candidate.candidate =
- 'candidate:1 1 udp 1 0.0.0.0 9 typ endOfCandidates';
- } else {
- // RTCIceCandidate doesn't have a component, needs to be added
- cand.component = iceTransport.component === 'RTCP' ? 2 : 1;
- event.candidate.candidate = SDPUtils.writeCandidate(cand);
- }
-
- var complete = self.transceivers.every(function(transceiver) {
- return transceiver.iceGatherer &&
- transceiver.iceGatherer.state === 'completed';
- });
- // FIXME: update .localDescription with candidate and (potentially) end-of-candidates.
- // To make this harder, the gatherer might emit candidates before localdescription
- // is set. To make things worse, gather.getLocalCandidates still errors in
- // Edge 10547 when no candidates have been gathered yet.
-
- if (self.onicecandidate !== null) {
- // Emit candidate if localDescription is set.
- // Also emits null candidate when all gatherers are complete.
- if (self.localDescription && self.localDescription.type === '') {
- self._localIceCandidatesBuffer.push(event);
- if (complete) {
- self._localIceCandidatesBuffer.push({});
- }
- } else {
- self.onicecandidate(event);
- if (complete) {
- self.onicecandidate({});
- }
- }
- }
- };
- iceTransport.onicestatechange = function() {
- self._updateConnectionState();
- };
-
- var dtlsTransport = new RTCDtlsTransport(iceTransport);
- dtlsTransport.ondtlsstatechange = function() {
- self._updateConnectionState();
- };
- dtlsTransport.onerror = function() {
- // onerror does not set state to failed by itself.
- dtlsTransport.state = 'failed';
- self._updateConnectionState();
- };
-
- return {
- iceGatherer: iceGatherer,
- iceTransport: iceTransport,
- dtlsTransport: dtlsTransport
- };
- };
-
- // Start the RTP Sender and Receiver for a transceiver.
- window.RTCPeerConnection.prototype._transceive = function(transceiver,
- send, recv) {
- var params = this._getCommonCapabilities(transceiver.localCapabilities,
- transceiver.remoteCapabilities);
- if (send && transceiver.rtpSender) {
- params.encodings = [{
- ssrc: transceiver.sendSsrc
- }];
- params.rtcp = {
- cname: localCName,
- ssrc: transceiver.recvSsrc
- };
- transceiver.rtpSender.send(params);
- }
- if (recv && transceiver.rtpReceiver) {
- params.encodings = [{
- ssrc: transceiver.recvSsrc
- }];
- params.rtcp = {
- cname: transceiver.cname,
- ssrc: transceiver.sendSsrc
- };
- transceiver.rtpReceiver.receive(params);
- }
- };
-
- window.RTCPeerConnection.prototype.setLocalDescription =
- function(description) {
- var self = this;
- if (description.type === 'offer') {
- if (!this._pendingOffer) {
- } else {
- this.transceivers = this._pendingOffer;
- delete this._pendingOffer;
- }
- } else if (description.type === 'answer') {
- var sections = SDPUtils.splitSections(self.remoteDescription.sdp);
- var sessionpart = sections.shift();
- sections.forEach(function(mediaSection, sdpMLineIndex) {
- var transceiver = self.transceivers[sdpMLineIndex];
- var iceGatherer = transceiver.iceGatherer;
- var iceTransport = transceiver.iceTransport;
- var dtlsTransport = transceiver.dtlsTransport;
- var localCapabilities = transceiver.localCapabilities;
- var remoteCapabilities = transceiver.remoteCapabilities;
- var rejected = mediaSection.split('\n', 1)[0]
- .split(' ', 2)[1] === '0';
-
- if (!rejected) {
- var remoteIceParameters = SDPUtils.getIceParameters(mediaSection,
- sessionpart);
- iceTransport.start(iceGatherer, remoteIceParameters, 'controlled');
-
- var remoteDtlsParameters = SDPUtils.getDtlsParameters(mediaSection,
- sessionpart);
- dtlsTransport.start(remoteDtlsParameters);
-
- // Calculate intersection of capabilities.
- var params = self._getCommonCapabilities(localCapabilities,
- remoteCapabilities);
-
- // Start the RTCRtpSender. The RTCRtpReceiver for this transceiver
- // has already been started in setRemoteDescription.
- self._transceive(transceiver,
- params.codecs.length > 0,
- false);
- }
- });
- }
-
- this.localDescription = description;
- switch (description.type) {
- case 'offer':
- this._updateSignalingState('have-local-offer');
- break;
- case 'answer':
- this._updateSignalingState('stable');
- break;
- default:
- throw new TypeError('unsupported type "' + description.type + '"');
- }
-
- // If a success callback was provided, emit ICE candidates after it has been
- // executed. Otherwise, emit callback after the Promise is resolved.
- var hasCallback = arguments.length > 1 &&
- typeof arguments[1] === 'function';
- if (hasCallback) {
- var cb = arguments[1];
- window.setTimeout(function() {
- cb();
- self._emitBufferedCandidates();
- }, 0);
- }
- var p = Promise.resolve();
- p.then(function() {
- if (!hasCallback) {
- window.setTimeout(self._emitBufferedCandidates.bind(self), 0);
- }
- });
- return p;
- };
-
- window.RTCPeerConnection.prototype.setRemoteDescription =
- function(description) {
- var self = this;
- var stream = new MediaStream();
- var sections = SDPUtils.splitSections(description.sdp);
- var sessionpart = sections.shift();
- sections.forEach(function(mediaSection, sdpMLineIndex) {
- var lines = SDPUtils.splitLines(mediaSection);
- var mline = lines[0].substr(2).split(' ');
- var kind = mline[0];
- var rejected = mline[1] === '0';
- var direction = SDPUtils.getDirection(mediaSection, sessionpart);
-
- var transceiver;
- var iceGatherer;
- var iceTransport;
- var dtlsTransport;
- var rtpSender;
- var rtpReceiver;
- var sendSsrc;
- var recvSsrc;
- var localCapabilities;
-
- // FIXME: ensure the mediaSection has rtcp-mux set.
- var remoteCapabilities = SDPUtils.parseRtpParameters(mediaSection);
- var remoteIceParameters;
- var remoteDtlsParameters;
- if (!rejected) {
- remoteIceParameters = SDPUtils.getIceParameters(mediaSection,
- sessionpart);
- remoteDtlsParameters = SDPUtils.getDtlsParameters(mediaSection,
- sessionpart);
- }
- var mid = SDPUtils.matchPrefix(mediaSection, 'a=mid:')[0].substr(6);
-
- var cname;
- // Gets the first SSRC. Note that with RTX there might be multiple SSRCs.
- var remoteSsrc = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')
- .map(function(line) {
- return SDPUtils.parseSsrcMedia(line);
- })
- .filter(function(obj) {
- return obj.attribute === 'cname';
- })[0];
- if (remoteSsrc) {
- recvSsrc = parseInt(remoteSsrc.ssrc, 10);
- cname = remoteSsrc.value;
- }
-
- if (description.type === 'offer') {
- var transports = self._createIceAndDtlsTransports(mid, sdpMLineIndex);
-
- localCapabilities = RTCRtpReceiver.getCapabilities(kind);
- sendSsrc = (2 * sdpMLineIndex + 2) * 1001;
-
- rtpReceiver = new RTCRtpReceiver(transports.dtlsTransport, kind);
-
- // FIXME: not correct when there are multiple streams but that is
- // not currently supported in this shim.
- stream.addTrack(rtpReceiver.track);
-
- // FIXME: look at direction.
- if (self.localStreams.length > 0 &&
- self.localStreams[0].getTracks().length >= sdpMLineIndex) {
- // FIXME: actually more complicated, needs to match types etc
- var localtrack = self.localStreams[0].getTracks()[sdpMLineIndex];
- rtpSender = new RTCRtpSender(localtrack, transports.dtlsTransport);
- }
-
- self.transceivers[sdpMLineIndex] = {
- iceGatherer: transports.iceGatherer,
- iceTransport: transports.iceTransport,
- dtlsTransport: transports.dtlsTransport,
- localCapabilities: localCapabilities,
- remoteCapabilities: remoteCapabilities,
- rtpSender: rtpSender,
- rtpReceiver: rtpReceiver,
- kind: kind,
- mid: mid,
- cname: cname,
- sendSsrc: sendSsrc,
- recvSsrc: recvSsrc
- };
- // Start the RTCRtpReceiver now. The RTPSender is started in setLocalDescription.
- self._transceive(self.transceivers[sdpMLineIndex],
- false,
- direction === 'sendrecv' || direction === 'sendonly');
- } else if (description.type === 'answer' && !rejected) {
- transceiver = self.transceivers[sdpMLineIndex];
- iceGatherer = transceiver.iceGatherer;
- iceTransport = transceiver.iceTransport;
- dtlsTransport = transceiver.dtlsTransport;
- rtpSender = transceiver.rtpSender;
- rtpReceiver = transceiver.rtpReceiver;
- sendSsrc = transceiver.sendSsrc;
- //recvSsrc = transceiver.recvSsrc;
- localCapabilities = transceiver.localCapabilities;
-
- self.transceivers[sdpMLineIndex].recvSsrc = recvSsrc;
- self.transceivers[sdpMLineIndex].remoteCapabilities =
- remoteCapabilities;
- self.transceivers[sdpMLineIndex].cname = cname;
-
- iceTransport.start(iceGatherer, remoteIceParameters, 'controlling');
- dtlsTransport.start(remoteDtlsParameters);
-
- self._transceive(transceiver,
- direction === 'sendrecv' || direction === 'recvonly',
- direction === 'sendrecv' || direction === 'sendonly');
-
- if (rtpReceiver &&
- (direction === 'sendrecv' || direction === 'sendonly')) {
- stream.addTrack(rtpReceiver.track);
- } else {
- // FIXME: actually the receiver should be created later.
- delete transceiver.rtpReceiver;
- }
- }
- });
-
- this.remoteDescription = description;
- switch (description.type) {
- case 'offer':
- this._updateSignalingState('have-remote-offer');
- break;
- case 'answer':
- this._updateSignalingState('stable');
- break;
- default:
- throw new TypeError('unsupported type "' + description.type + '"');
- }
- window.setTimeout(function() {
- if (self.onaddstream !== null && stream.getTracks().length) {
- self.remoteStreams.push(stream);
- window.setTimeout(function() {
- self.onaddstream({stream: stream});
- }, 0);
- }
- }, 0);
- if (arguments.length > 1 && typeof arguments[1] === 'function') {
- window.setTimeout(arguments[1], 0);
- }
- return Promise.resolve();
- };
-
- window.RTCPeerConnection.prototype.close = function() {
- this.transceivers.forEach(function(transceiver) {
- /* not yet
- if (transceiver.iceGatherer) {
- transceiver.iceGatherer.close();
- }
- */
- if (transceiver.iceTransport) {
- transceiver.iceTransport.stop();
- }
- if (transceiver.dtlsTransport) {
- transceiver.dtlsTransport.stop();
- }
- if (transceiver.rtpSender) {
- transceiver.rtpSender.stop();
- }
- if (transceiver.rtpReceiver) {
- transceiver.rtpReceiver.stop();
- }
- });
- // FIXME: clean up tracks, local streams, remote streams, etc
- this._updateSignalingState('closed');
- };
-
- // Update the signaling state.
- window.RTCPeerConnection.prototype._updateSignalingState =
- function(newState) {
- this.signalingState = newState;
- if (this.onsignalingstatechange !== null) {
- this.onsignalingstatechange();
- }
- };
-
- // Determine whether to fire the negotiationneeded event.
- window.RTCPeerConnection.prototype._maybeFireNegotiationNeeded =
- function() {
- // Fire away (for now).
- if (this.onnegotiationneeded !== null) {
- this.onnegotiationneeded();
- }
- };
-
- // Update the connection state.
- window.RTCPeerConnection.prototype._updateConnectionState =
- function() {
- var self = this;
- var newState;
- var states = {
- 'new': 0,
- closed: 0,
- connecting: 0,
- checking: 0,
- connected: 0,
- completed: 0,
- failed: 0
- };
- this.transceivers.forEach(function(transceiver) {
- states[transceiver.iceTransport.state]++;
- states[transceiver.dtlsTransport.state]++;
- });
- // ICETransport.completed and connected are the same for this purpose.
- states.connected += states.completed;
-
- newState = 'new';
- if (states.failed > 0) {
- newState = 'failed';
- } else if (states.connecting > 0 || states.checking > 0) {
- newState = 'connecting';
- } else if (states.disconnected > 0) {
- newState = 'disconnected';
- } else if (states.new > 0) {
- newState = 'new';
- } else if (states.connecting > 0 || states.completed > 0) {
- newState = 'connected';
- }
-
- if (newState !== self.iceConnectionState) {
- self.iceConnectionState = newState;
- if (this.oniceconnectionstatechange !== null) {
- this.oniceconnectionstatechange();
- }
- }
- };
-
- window.RTCPeerConnection.prototype.createOffer = function() {
- var self = this;
- if (this._pendingOffer) {
- throw new Error('createOffer called while there is a pending offer.');
- }
- var offerOptions;
- if (arguments.length === 1 && typeof arguments[0] !== 'function') {
- offerOptions = arguments[0];
- } else if (arguments.length === 3) {
- offerOptions = arguments[2];
- }
-
- var tracks = [];
- var numAudioTracks = 0;
- var numVideoTracks = 0;
- // Default to sendrecv.
- if (this.localStreams.length) {
- numAudioTracks = this.localStreams[0].getAudioTracks().length;
- numVideoTracks = this.localStreams[0].getVideoTracks().length;
- }
- // Determine number of audio and video tracks we need to send/recv.
- if (offerOptions) {
- // Reject Chrome legacy constraints.
- if (offerOptions.mandatory || offerOptions.optional) {
- throw new TypeError(
- 'Legacy mandatory/optional constraints not supported.');
- }
- if (offerOptions.offerToReceiveAudio !== undefined) {
- numAudioTracks = offerOptions.offerToReceiveAudio;
- }
- if (offerOptions.offerToReceiveVideo !== undefined) {
- numVideoTracks = offerOptions.offerToReceiveVideo;
- }
- }
- if (this.localStreams.length) {
- // Push local streams.
- this.localStreams[0].getTracks().forEach(function(track) {
- tracks.push({
- kind: track.kind,
- track: track,
- wantReceive: track.kind === 'audio' ?
- numAudioTracks > 0 : numVideoTracks > 0
- });
- if (track.kind === 'audio') {
- numAudioTracks--;
- } else if (track.kind === 'video') {
- numVideoTracks--;
- }
- });
- }
- // Create M-lines for recvonly streams.
- while (numAudioTracks > 0 || numVideoTracks > 0) {
- if (numAudioTracks > 0) {
- tracks.push({
- kind: 'audio',
- wantReceive: true
- });
- numAudioTracks--;
- }
- if (numVideoTracks > 0) {
- tracks.push({
- kind: 'video',
- wantReceive: true
- });
- numVideoTracks--;
- }
- }
-
- var sdp = SDPUtils.writeSessionBoilerplate();
- var transceivers = [];
- tracks.forEach(function(mline, sdpMLineIndex) {
- // For each track, create an ice gatherer, ice transport, dtls transport,
- // potentially rtpsender and rtpreceiver.
- var track = mline.track;
- var kind = mline.kind;
- var mid = generateIdentifier();
-
- var transports = self._createIceAndDtlsTransports(mid, sdpMLineIndex);
-
- var localCapabilities = RTCRtpSender.getCapabilities(kind);
- var rtpSender;
- var rtpReceiver;
-
- // generate an ssrc now, to be used later in rtpSender.send
- var sendSsrc = (2 * sdpMLineIndex + 1) * 1001;
- if (track) {
- rtpSender = new RTCRtpSender(track, transports.dtlsTransport);
- }
-
- if (mline.wantReceive) {
- rtpReceiver = new RTCRtpReceiver(transports.dtlsTransport, kind);
- }
-
- transceivers[sdpMLineIndex] = {
- iceGatherer: transports.iceGatherer,
- iceTransport: transports.iceTransport,
- dtlsTransport: transports.dtlsTransport,
- localCapabilities: localCapabilities,
- remoteCapabilities: null,
- rtpSender: rtpSender,
- rtpReceiver: rtpReceiver,
- kind: kind,
- mid: mid,
- sendSsrc: sendSsrc,
- recvSsrc: null
- };
- var transceiver = transceivers[sdpMLineIndex];
- sdp += SDPUtils.writeMediaSection(transceiver,
- transceiver.localCapabilities, 'offer', self.localStreams[0]);
- });
-
- this._pendingOffer = transceivers;
- var desc = new RTCSessionDescription({
- type: 'offer',
- sdp: sdp
- });
- if (arguments.length && typeof arguments[0] === 'function') {
- window.setTimeout(arguments[0], 0, desc);
- }
- return Promise.resolve(desc);
- };
+ logging('adapter.js shimming chrome.');
+ // Export to the adapter global object visible in the browser.
+ module.exports.browserShim = chromeShim;
- window.RTCPeerConnection.prototype.createAnswer = function() {
- var self = this;
- var answerOptions;
- if (arguments.length === 1 && typeof arguments[0] !== 'function') {
- answerOptions = arguments[0];
- } else if (arguments.length === 3) {
- answerOptions = arguments[2];
+ chromeShim.shimGetUserMedia();
+ chromeShim.shimMediaStream();
+ utils.shimCreateObjectURL();
+ chromeShim.shimSourceObject();
+ chromeShim.shimPeerConnection();
+ chromeShim.shimOnTrack();
+ chromeShim.shimGetSendersWithDtmf();
+ break;
+ case 'firefox':
+ if (!firefoxShim || !firefoxShim.shimPeerConnection) {
+ logging('Firefox shim is not included in this adapter release.');
+ return;
}
+ logging('adapter.js shimming firefox.');
+ // Export to the adapter global object visible in the browser.
+ module.exports.browserShim = firefoxShim;
- var sdp = SDPUtils.writeSessionBoilerplate();
- this.transceivers.forEach(function(transceiver) {
- // Calculate intersection of capabilities.
- var commonCapabilities = self._getCommonCapabilities(
- transceiver.localCapabilities,
- transceiver.remoteCapabilities);
-
- sdp += SDPUtils.writeMediaSection(transceiver, commonCapabilities,
- 'answer', self.localStreams[0]);
- });
-
- var desc = new RTCSessionDescription({
- type: 'answer',
- sdp: sdp
- });
- if (arguments.length && typeof arguments[0] === 'function') {
- window.setTimeout(arguments[0], 0, desc);
+ firefoxShim.shimGetUserMedia();
+ utils.shimCreateObjectURL();
+ firefoxShim.shimSourceObject();
+ firefoxShim.shimPeerConnection();
+ firefoxShim.shimOnTrack();
+ break;
+ case 'edge':
+ if (!edgeShim || !edgeShim.shimPeerConnection) {
+ logging('MS edge shim is not included in this adapter release.');
+ return;
}
- return Promise.resolve(desc);
- };
+ logging('adapter.js shimming edge.');
+ // Export to the adapter global object visible in the browser.
+ module.exports.browserShim = edgeShim;
- window.RTCPeerConnection.prototype.addIceCandidate = function(candidate) {
- var mLineIndex = candidate.sdpMLineIndex;
- if (candidate.sdpMid) {
- for (var i = 0; i < this.transceivers.length; i++) {
- if (this.transceivers[i].mid === candidate.sdpMid) {
- mLineIndex = i;
- break;
- }
- }
- }
- var transceiver = this.transceivers[mLineIndex];
- if (transceiver) {
- var cand = Object.keys(candidate.candidate).length > 0 ?
- SDPUtils.parseCandidate(candidate.candidate) : {};
- // Ignore Chrome's invalid candidates since Edge does not like them.
- if (cand.protocol === 'tcp' && cand.port === 0) {
- return;
- }
- // Ignore RTCP candidates, we assume RTCP-MUX.
- if (cand.component !== '1') {
- return;
- }
- // A dirty hack to make samples work.
- if (cand.type === 'endOfCandidates') {
- cand = {};
- }
- transceiver.iceTransport.addRemoteCandidate(cand);
- }
- if (arguments.length > 1 && typeof arguments[1] === 'function') {
- window.setTimeout(arguments[1], 0);
+ edgeShim.shimGetUserMedia();
+ utils.shimCreateObjectURL();
+ edgeShim.shimPeerConnection();
+ break;
+ case 'safari':
+ if (!safariShim) {
+ logging('Safari shim is not included in this adapter release.');
+ return;
}
- return Promise.resolve();
- };
+ logging('adapter.js shimming safari.');
+ // Export to the adapter global object visible in the browser.
+ module.exports.browserShim = safariShim;
- window.RTCPeerConnection.prototype.getStats = function() {
- var promises = [];
- this.transceivers.forEach(function(transceiver) {
- ['rtpSender', 'rtpReceiver', 'iceGatherer', 'iceTransport',
- 'dtlsTransport'].forEach(function(method) {
- if (transceiver[method]) {
- promises.push(transceiver[method].getStats());
- }
- });
- });
- var cb = arguments.length > 1 && typeof arguments[1] === 'function' &&
- arguments[1];
- return new Promise(function(resolve) {
- var results = {};
- Promise.all(promises).then(function(res) {
- res.forEach(function(result) {
- Object.keys(result).forEach(function(id) {
- results[id] = result[id];
- });
- });
- if (cb) {
- window.setTimeout(cb, 0, results);
- }
- resolve(results);
- });
- });
- };
+ safariShim.shimGetUserMedia();
+ break;
+ default:
+ logging('Unsupported browser!');
}
-} else {
- webrtcUtils.log('Browser does not appear to be WebRTC-capable');
-}
-
-// Polyfill ontrack on browsers that don't yet have it
-if (typeof window === 'object' && window.RTCPeerConnection && !('ontrack' in
- window.RTCPeerConnection.prototype)) {
- Object.defineProperty(window.RTCPeerConnection.prototype, 'ontrack', {
- get: function() { return this._ontrack; },
- set: function(f) {
- var self = this;
- if (this._ontrack) {
- this.removeEventListener('track', this._ontrack);
- this.removeEventListener('addstream', this._ontrackpoly);
- }
- this.addEventListener('track', this._ontrack = f);
- this.addEventListener('addstream', this._ontrackpoly = function(e) {
- if (webrtcDetectedBrowser === 'chrome') {
- // onaddstream does not fire when a track is added to an existing stream.
- // but stream.onaddtrack is implemented so we use thたt
- e.stream.addEventListener('addtrack', function(te) {
- var event = new Event('track');
- event.track = te.track;
- event.receiver = {track: te.track};
- event.streams = [e.stream];
- self.dispatchEvent(event);
- });
- }
- e.stream.getTracks().forEach(function(track) {
- var event = new Event('track');
- event.track = track;
- event.receiver = {track: track};
- event.streams = [e.stream];
- this.dispatchEvent(event);
- }.bind(this));
- }.bind(this));
- }
- });
-}
-
-// Returns the result of getUserMedia as a Promise.
-function requestUserMedia(constraints) {
- return new Promise(function(resolve, reject) {
- getUserMedia(constraints, resolve, reject);
- });
-}
+})();
-var webrtcTesting = {};
-try {
- Object.defineProperty(webrtcTesting, 'version', {
- set: function(version) {
- webrtcDetectedVersion = version;
- }
- });
-} catch (e) {}
-
-if (typeof module !== 'undefined') {
- var RTCPeerConnection;
- var RTCIceCandidate;
- var RTCSessionDescription;
- if (typeof window !== 'undefined') {
- RTCPeerConnection = window.RTCPeerConnection;
- RTCIceCandidate = window.RTCIceCandidate;
- RTCSessionDescription = window.RTCSessionDescription;
- }
- module.exports = {
- RTCPeerConnection: RTCPeerConnection,
- RTCIceCandidate: RTCIceCandidate,
- RTCSessionDescription: RTCSessionDescription,
- getUserMedia: getUserMedia,
- attachMediaStream: attachMediaStream,
- reattachMediaStream: reattachMediaStream,
- webrtcDetectedBrowser: webrtcDetectedBrowser,
- webrtcDetectedVersion: webrtcDetectedVersion,
- webrtcMinimumVersion: webrtcMinimumVersion,
- webrtcTesting: webrtcTesting,
- webrtcUtils: webrtcUtils
- //requestUserMedia: not exposed on purpose.
- //trace: not exposed on purpose.
- };
-} else if ((typeof require === 'function') && (typeof define === 'function')) {
- // Expose objects and functions when RequireJS is doing the loading.
- define([], function() {
- return {
- RTCPeerConnection: window.RTCPeerConnection,
- RTCIceCandidate: window.RTCIceCandidate,
- RTCSessionDescription: window.RTCSessionDescription,
- getUserMedia: getUserMedia,
- attachMediaStream: attachMediaStream,
- reattachMediaStream: reattachMediaStream,
- webrtcDetectedBrowser: webrtcDetectedBrowser,
- webrtcDetectedVersion: webrtcDetectedVersion,
- webrtcMinimumVersion: webrtcMinimumVersion,
- webrtcTesting: webrtcTesting,
- webrtcUtils: webrtcUtils
- //requestUserMedia: not exposed on purpose.
- //trace: not exposed on purpose.
- };
- });
-}
-
-},{}],201:[function(require,module,exports){
-arguments[4][33][0].apply(exports,arguments)
-},{"./chrome/chrome_shim":202,"./edge/edge_shim":204,"./firefox/firefox_shim":206,"./safari/safari_shim":208,"./utils":209,"dup":33}],202:[function(require,module,exports){
+},{"./chrome/chrome_shim":211,"./edge/edge_shim":213,"./firefox/firefox_shim":215,"./safari/safari_shim":217,"./utils":218}],211:[function(require,module,exports){
/*
* Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
@@ -36773,6 +37575,53 @@ var chromeShim = {
}
},
+ shimGetSendersWithDtmf: function() {
+ if (typeof window === 'object' && window.RTCPeerConnection &&
+ !('getSenders' in RTCPeerConnection.prototype) &&
+ 'createDTMFSender' in RTCPeerConnection.prototype) {
+ RTCPeerConnection.prototype.getSenders = function() {
+ return this._senders;
+ };
+ var origAddStream = RTCPeerConnection.prototype.addStream;
+ var origRemoveStream = RTCPeerConnection.prototype.removeStream;
+
+ RTCPeerConnection.prototype.addStream = function(stream) {
+ var pc = this;
+ pc._senders = pc._senders || [];
+ origAddStream.apply(pc, [stream]);
+ stream.getTracks().forEach(function(track) {
+ pc._senders.push({
+ track: track,
+ get dtmf() {
+ if (this._dtmf === undefined) {
+ if (track.kind === 'audio') {
+ this._dtmf = pc.createDTMFSender(track);
+ } else {
+ this._dtmf = null;
+ }
+ }
+ return this._dtmf;
+ }
+ });
+ });
+ };
+
+ RTCPeerConnection.prototype.removeStream = function(stream) {
+ var pc = this;
+ pc._senders = pc._senders || [];
+ origRemoveStream.apply(pc, [stream]);
+ stream.getTracks().forEach(function(track) {
+ var sender = pc._senders.find(function(s) {
+ return s.track === track;
+ });
+ if (sender) {
+ pc._senders.splice(pc._senders.indexOf(sender), 1); // remove sender
+ }
+ });
+ };
+ }
+ },
+
shimSourceObject: function() {
if (typeof window === 'object') {
if (window.HTMLMediaElement &&
@@ -36792,7 +37641,7 @@ var chromeShim = {
if (!stream) {
this.src = '';
- return;
+ return undefined;
}
this.src = URL.createObjectURL(stream);
// We need to recreate the blob url when a track is added or
@@ -36817,117 +37666,100 @@ var chromeShim = {
shimPeerConnection: function() {
// The RTCPeerConnection object.
- window.RTCPeerConnection = function(pcConfig, pcConstraints) {
- // Translate iceTransportPolicy to iceTransports,
- // see https://code.google.com/p/webrtc/issues/detail?id=4869
- logging('PeerConnection');
- if (pcConfig && pcConfig.iceTransportPolicy) {
- pcConfig.iceTransports = pcConfig.iceTransportPolicy;
- }
-
- var pc = new webkitRTCPeerConnection(pcConfig, pcConstraints);
- var origGetStats = pc.getStats.bind(pc);
- pc.getStats = function(selector, successCallback, errorCallback) {
- var self = this;
- var args = arguments;
-
- // If selector is a function then we are in the old style stats so just
- // pass back the original getStats format to avoid breaking old users.
- if (arguments.length > 0 && typeof selector === 'function') {
- return origGetStats(selector, successCallback);
+ if (!window.RTCPeerConnection) {
+ window.RTCPeerConnection = function(pcConfig, pcConstraints) {
+ // Translate iceTransportPolicy to iceTransports,
+ // see https://code.google.com/p/webrtc/issues/detail?id=4869
+ // this was fixed in M56 along with unprefixing RTCPeerConnection.
+ logging('PeerConnection');
+ if (pcConfig && pcConfig.iceTransportPolicy) {
+ pcConfig.iceTransports = pcConfig.iceTransportPolicy;
}
- var fixChromeStats_ = function(response) {
- var standardReport = {};
- var reports = response.result();
- reports.forEach(function(report) {
- var standardStats = {
- id: report.id,
- timestamp: report.timestamp,
- type: report.type
- };
- report.names().forEach(function(name) {
- standardStats[name] = report.stat(name);
- });
- standardReport[standardStats.id] = standardStats;
- });
+ return new webkitRTCPeerConnection(pcConfig, pcConstraints);
+ };
+ window.RTCPeerConnection.prototype = webkitRTCPeerConnection.prototype;
+ // wrap static methods. Currently just generateCertificate.
+ if (webkitRTCPeerConnection.generateCertificate) {
+ Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {
+ get: function() {
+ return webkitRTCPeerConnection.generateCertificate;
+ }
+ });
+ }
+ }
- return standardReport;
- };
+ var origGetStats = RTCPeerConnection.prototype.getStats;
+ RTCPeerConnection.prototype.getStats = function(selector,
+ successCallback, errorCallback) {
+ var self = this;
+ var args = arguments;
- // shim getStats with maplike support
- var makeMapStats = function(stats, legacyStats) {
- var map = new Map(Object.keys(stats).map(function(key) {
- return[key, stats[key]];
- }));
- legacyStats = legacyStats || stats;
- Object.keys(legacyStats).forEach(function(key) {
- map[key] = legacyStats[key];
- });
- return map;
- };
+ // If selector is a function then we are in the old style stats so just
+ // pass back the original getStats format to avoid breaking old users.
+ if (arguments.length > 0 && typeof selector === 'function') {
+ return origGetStats.apply(this, arguments);
+ }
- if (arguments.length >= 2) {
- var successCallbackWrapper_ = function(response) {
- args[1](makeMapStats(fixChromeStats_(response)));
+ // When spec-style getStats is supported, return those when called with
+ // either no arguments or the selector argument is null.
+ if (origGetStats.length === 0 && (arguments.length === 0 ||
+ typeof arguments[0] !== 'function')) {
+ return origGetStats.apply(this, []);
+ }
+
+ var fixChromeStats_ = function(response) {
+ var standardReport = {};
+ var reports = response.result();
+ reports.forEach(function(report) {
+ var standardStats = {
+ id: report.id,
+ timestamp: report.timestamp,
+ type: {
+ localcandidate: 'local-candidate',
+ remotecandidate: 'remote-candidate'
+ }[report.type] || report.type
};
+ report.names().forEach(function(name) {
+ standardStats[name] = report.stat(name);
+ });
+ standardReport[standardStats.id] = standardStats;
+ });
- return origGetStats.apply(this, [successCallbackWrapper_,
- arguments[0]]);
- }
+ return standardReport;
+ };
- // promise-support
- return new Promise(function(resolve, reject) {
- if (args.length === 1 && typeof selector === 'object') {
- origGetStats.apply(self, [
- function(response) {
- resolve(makeMapStats(fixChromeStats_(response)));
- }, reject]);
- } else {
- // Preserve legacy chrome stats only on legacy access of stats obj
- origGetStats.apply(self, [
- function(response) {
- resolve(makeMapStats(fixChromeStats_(response),
- response.result()));
- }, reject]);
- }
- }).then(successCallback, errorCallback);
+ // shim getStats with maplike support
+ var makeMapStats = function(stats) {
+ return new Map(Object.keys(stats).map(function(key) {
+ return[key, stats[key]];
+ }));
};
- return pc;
- };
- window.RTCPeerConnection.prototype = webkitRTCPeerConnection.prototype;
+ if (arguments.length >= 2) {
+ var successCallbackWrapper_ = function(response) {
+ args[1](makeMapStats(fixChromeStats_(response)));
+ };
- // wrap static methods. Currently just generateCertificate.
- if (webkitRTCPeerConnection.generateCertificate) {
- Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {
- get: function() {
- return webkitRTCPeerConnection.generateCertificate;
- }
- });
- }
+ return origGetStats.apply(this, [successCallbackWrapper_,
+ arguments[0]]);
+ }
- ['createOffer', 'createAnswer'].forEach(function(method) {
- var nativeMethod = webkitRTCPeerConnection.prototype[method];
- webkitRTCPeerConnection.prototype[method] = function() {
- var self = this;
- if (arguments.length < 1 || (arguments.length === 1 &&
- typeof arguments[0] === 'object')) {
- var opts = arguments.length === 1 ? arguments[0] : undefined;
- return new Promise(function(resolve, reject) {
- nativeMethod.apply(self, [resolve, reject, opts]);
- });
- }
- return nativeMethod.apply(this, arguments);
- };
- });
+ // promise-support
+ return new Promise(function(resolve, reject) {
+ origGetStats.apply(self, [
+ function(response) {
+ resolve(makeMapStats(fixChromeStats_(response)));
+ }, reject]);
+ }).then(successCallback, errorCallback);
+ };
// add promise support -- natively available in Chrome 51
if (browserDetails.version < 51) {
['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']
.forEach(function(method) {
- var nativeMethod = webkitRTCPeerConnection.prototype[method];
- webkitRTCPeerConnection.prototype[method] = function() {
+ var nativeMethod = RTCPeerConnection.prototype[method];
+ RTCPeerConnection.prototype[method] = function() {
var args = arguments;
var self = this;
var promise = new Promise(function(resolve, reject) {
@@ -36948,22 +37780,41 @@ var chromeShim = {
});
}
+ // promise support for createOffer and createAnswer. Available (without
+ // bugs) since M52: crbug/619289
+ if (browserDetails.version < 52) {
+ ['createOffer', 'createAnswer'].forEach(function(method) {
+ var nativeMethod = RTCPeerConnection.prototype[method];
+ RTCPeerConnection.prototype[method] = function() {
+ var self = this;
+ if (arguments.length < 1 || (arguments.length === 1 &&
+ typeof arguments[0] === 'object')) {
+ var opts = arguments.length === 1 ? arguments[0] : undefined;
+ return new Promise(function(resolve, reject) {
+ nativeMethod.apply(self, [resolve, reject, opts]);
+ });
+ }
+ return nativeMethod.apply(this, arguments);
+ };
+ });
+ }
+
// shim implicit creation of RTCSessionDescription/RTCIceCandidate
['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']
.forEach(function(method) {
- var nativeMethod = webkitRTCPeerConnection.prototype[method];
- webkitRTCPeerConnection.prototype[method] = function() {
+ var nativeMethod = RTCPeerConnection.prototype[method];
+ RTCPeerConnection.prototype[method] = function() {
arguments[0] = new ((method === 'addIceCandidate') ?
RTCIceCandidate : RTCSessionDescription)(arguments[0]);
return nativeMethod.apply(this, arguments);
};
});
- // support for addIceCandidate(null)
+ // support for addIceCandidate(null or undefined)
var nativeAddIceCandidate =
RTCPeerConnection.prototype.addIceCandidate;
RTCPeerConnection.prototype.addIceCandidate = function() {
- if (arguments[0] === null) {
+ if (!arguments[0]) {
if (arguments[1]) {
arguments[1].apply(null);
}
@@ -36979,12 +37830,13 @@ var chromeShim = {
module.exports = {
shimMediaStream: chromeShim.shimMediaStream,
shimOnTrack: chromeShim.shimOnTrack,
+ shimGetSendersWithDtmf: chromeShim.shimGetSendersWithDtmf,
shimSourceObject: chromeShim.shimSourceObject,
shimPeerConnection: chromeShim.shimPeerConnection,
shimGetUserMedia: require('./getusermedia')
};
-},{"../utils.js":209,"./getusermedia":203}],203:[function(require,module,exports){
+},{"../utils.js":218,"./getusermedia":212}],212:[function(require,module,exports){
/*
* Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
*
@@ -36995,6 +37847,7 @@ module.exports = {
/* eslint-env node */
'use strict';
var logging = require('../utils.js').log;
+var browserDetails = require('../utils.js').browserDetails;
// Expose public methods.
module.exports = function() {
@@ -37058,11 +37911,13 @@ module.exports = function() {
// Shim facingMode for mobile, where it defaults to "user".
var face = constraints.video.facingMode;
face = face && ((typeof face === 'object') ? face : {ideal: face});
+ var getSupportedFacingModeLies = browserDetails.version < 59;
if ((face && (face.exact === 'user' || face.exact === 'environment' ||
face.ideal === 'user' || face.ideal === 'environment')) &&
!(navigator.mediaDevices.getSupportedConstraints &&
- navigator.mediaDevices.getSupportedConstraints().facingMode)) {
+ navigator.mediaDevices.getSupportedConstraints().facingMode &&
+ !getSupportedFacingModeLies)) {
delete constraints.video.facingMode;
if (face.exact === 'environment' || face.ideal === 'environment') {
// Look for "back" in label, or use last cam (typically back cam).
@@ -37136,6 +37991,12 @@ module.exports = function() {
}));
});
});
+ },
+ getSupportedConstraints: function() {
+ return {
+ deviceId: true, echoCancellation: true, facingMode: true,
+ frameRate: true, height: true, width: true
+ };
}
};
}
@@ -37184,7 +38045,7 @@ module.exports = function() {
}
};
-},{"../utils.js":209}],204:[function(require,module,exports){
+},{"../utils.js":218}],213:[function(require,module,exports){
/*
* Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
*
@@ -37216,6 +38077,21 @@ var edgeShim = {
return args;
};
}
+ // this adds an additional event listener to MediaStrackTrack that signals
+ // when a tracks enabled property was changed. Workaround for a bug in
+ // addStream, see below. No longer required in 15025+
+ if (browserDetails.version < 15025) {
+ var origMSTEnabled = Object.getOwnPropertyDescriptor(
+ MediaStreamTrack.prototype, 'enabled');
+ Object.defineProperty(MediaStreamTrack.prototype, 'enabled', {
+ set: function(value) {
+ origMSTEnabled.set.call(this, value);
+ var ev = new Event('enabled');
+ ev.enabled = value;
+ this.dispatchEvent(ev);
+ }
+ });
+ }
}
window.RTCPeerConnection = function(config) {
@@ -37233,6 +38109,7 @@ var edgeShim = {
this.onremovestream = null;
this.onsignalingstatechange = null;
this.oniceconnectionstatechange = null;
+ this.onicegatheringstatechange = null;
this.onnegotiationneeded = null;
this.ondatachannel = null;
@@ -37313,6 +38190,14 @@ var edgeShim = {
this._localIceCandidatesBuffer = [];
};
+ window.RTCPeerConnection.prototype._emitGatheringStateChange = function() {
+ var event = new Event('icegatheringstatechange');
+ this.dispatchEvent(event);
+ if (this.onicegatheringstatechange !== null) {
+ this.onicegatheringstatechange(event);
+ }
+ };
+
window.RTCPeerConnection.prototype._emitBufferedCandidates = function() {
var self = this;
var sections = SDPUtils.splitSections(self.localDescription.sdp);
@@ -37326,8 +38211,7 @@ var edgeShim = {
sections[j] += 'a=end-of-candidates\r\n';
}
}
- } else if (event.candidate.candidate.indexOf('typ endOfCandidates')
- === -1) {
+ } else {
sections[event.candidate.sdpMLineIndex + 1] +=
'a=' + event.candidate.candidate + '\r\n';
}
@@ -37341,8 +38225,9 @@ var edgeShim = {
return transceiver.iceGatherer &&
transceiver.iceGatherer.state === 'completed';
});
- if (complete) {
+ if (complete && self.iceGatheringStateChange !== 'complete') {
self.iceGatheringState = 'complete';
+ self._emitGatheringStateChange();
}
}
});
@@ -37354,9 +38239,21 @@ var edgeShim = {
};
window.RTCPeerConnection.prototype.addStream = function(stream) {
- // Clone is necessary for local demos mostly, attaching directly
- // to two different senders does not work (build 10547).
- this.localStreams.push(stream.clone());
+ if (browserDetails.version >= 15025) {
+ this.localStreams.push(stream);
+ } else {
+ // Clone is necessary for local demos mostly, attaching directly
+ // to two different senders does not work (build 10547).
+ // Fixed in 15025 (or earlier)
+ var clonedStream = stream.clone();
+ stream.getTracks().forEach(function(track, idx) {
+ var clonedTrack = clonedStream.getTracks()[idx];
+ track.addEventListener('enabled', function(event) {
+ clonedTrack.enabled = event.enabled;
+ });
+ });
+ this.localStreams.push(clonedStream);
+ }
this._maybeFireNegotiationNeeded();
};
@@ -37457,14 +38354,6 @@ var edgeShim = {
if (iceGatherer.state === undefined) {
iceGatherer.state = 'completed';
}
-
- // Emit a candidate with type endOfCandidates to make the samples
- // work. Edge requires addIceCandidate with this empty candidate
- // to start checking. The real solution is to signal
- // end-of-candidates to the other side when getting the null
- // candidate but some apps (like the samples) don't do that.
- event.candidate.candidate =
- 'candidate:1 1 udp 1 0.0.0.0 9 typ endOfCandidates';
} else {
// RTCIceCandidate doesn't have a component, needs to be added
cand.component = iceTransport.component === 'RTCP' ? 2 : 1;
@@ -37473,8 +38362,7 @@ var edgeShim = {
// update local description.
var sections = SDPUtils.splitSections(self.localDescription.sdp);
- if (event.candidate.candidate.indexOf('typ endOfCandidates')
- === -1) {
+ if (!end) {
sections[event.candidate.sdpMLineIndex + 1] +=
'a=' + event.candidate.candidate + '\r\n';
} else {
@@ -37482,8 +38370,9 @@ var edgeShim = {
'a=end-of-candidates\r\n';
}
self.localDescription.sdp = sections.join('');
-
- var complete = self.transceivers.every(function(transceiver) {
+ var transceivers = self._pendingOffer ? self._pendingOffer :
+ self.transceivers;
+ var complete = transceivers.every(function(transceiver) {
return transceiver.iceGatherer &&
transceiver.iceGatherer.state === 'completed';
});
@@ -37492,7 +38381,9 @@ var edgeShim = {
// Also emits null candidate when all gatherers are complete.
switch (self.iceGatheringState) {
case 'new':
- self._localIceCandidatesBuffer.push(event);
+ if (!end) {
+ self._localIceCandidatesBuffer.push(event);
+ }
if (end && complete) {
self._localIceCandidatesBuffer.push(
new Event('icecandidate'));
@@ -37500,9 +38391,11 @@ var edgeShim = {
break;
case 'gathering':
self._emitBufferedCandidates();
- self.dispatchEvent(event);
- if (self.onicecandidate !== null) {
- self.onicecandidate(event);
+ if (!end) {
+ self.dispatchEvent(event);
+ if (self.onicecandidate !== null) {
+ self.onicecandidate(event);
+ }
}
if (complete) {
self.dispatchEvent(new Event('icecandidate'));
@@ -37510,6 +38403,7 @@ var edgeShim = {
self.onicecandidate(new Event('icecandidate'));
}
self.iceGatheringState = 'complete';
+ self._emitGatheringStateChange();
}
break;
case 'complete':
@@ -37614,21 +38508,6 @@ var edgeShim = {
if (!rejected && !transceiver.isDatachannel) {
var remoteIceParameters = SDPUtils.getIceParameters(
mediaSection, sessionpart);
- if (isIceLite) {
- var cands = SDPUtils.matchPrefix(mediaSection, 'a=candidate:')
- .map(function(cand) {
- return SDPUtils.parseCandidate(cand);
- })
- .filter(function(cand) {
- return cand.component === '1';
- });
- // ice-lite only includes host candidates in the SDP so we can
- // use setRemoteCandidates (which implies an
- // RTCIceCandidateComplete)
- if (cands.length) {
- iceTransport.setRemoteCandidates(cands);
- }
- }
var remoteDtlsParameters = SDPUtils.getDtlsParameters(
mediaSection, sessionpart);
if (isIceLite) {
@@ -37787,7 +38666,7 @@ var edgeShim = {
dtlsTransport: self.transceivers[0].dtlsTransport
} : self._createIceAndDtlsTransports(mid, sdpMLineIndex);
- if (isComplete) {
+ if (isComplete && (!self.usingBundle || sdpMLineIndex === 0)) {
transports.iceTransport.setRemoteCandidates(cands);
}
@@ -37921,7 +38800,7 @@ var edgeShim = {
trackEvent.track = track;
trackEvent.receiver = receiver;
trackEvent.streams = [stream];
- self.dispatchEvent(event);
+ self.dispatchEvent(trackEvent);
if (self.ontrack !== null) {
window.setTimeout(function() {
self.ontrack(trackEvent);
@@ -38211,10 +39090,13 @@ var edgeShim = {
};
window.RTCPeerConnection.prototype.addIceCandidate = function(candidate) {
- if (candidate === null) {
- this.transceivers.forEach(function(transceiver) {
- transceiver.iceTransport.addRemoteCandidate({});
- });
+ if (!candidate) {
+ for (var j = 0; j < this.transceivers.length; j++) {
+ this.transceivers[j].iceTransport.addRemoteCandidate({});
+ if (this.usingBundle) {
+ return Promise.resolve();
+ }
+ }
} else {
var mLineIndex = candidate.sdpMLineIndex;
if (candidate.sdpMid) {
@@ -38231,15 +39113,11 @@ var edgeShim = {
SDPUtils.parseCandidate(candidate.candidate) : {};
// Ignore Chrome's invalid candidates since Edge does not like them.
if (cand.protocol === 'tcp' && (cand.port === 0 || cand.port === 9)) {
- return;
+ return Promise.resolve();
}
// Ignore RTCP candidates, we assume RTCP-MUX.
if (cand.component !== '1') {
- return;
- }
- // A dirty hack to make samples work.
- if (cand.type === 'endOfCandidates') {
- cand = {};
+ return Promise.resolve();
}
transceiver.iceTransport.addRemoteCandidate(cand);
@@ -38268,14 +39146,23 @@ var edgeShim = {
});
var cb = arguments.length > 1 && typeof arguments[1] === 'function' &&
arguments[1];
+ var fixStatsType = function(stat) {
+ return {
+ inboundrtp: 'inbound-rtp',
+ outboundrtp: 'outbound-rtp',
+ candidatepair: 'candidate-pair',
+ localcandidate: 'local-candidate',
+ remotecandidate: 'remote-candidate'
+ }[stat.type] || stat.type;
+ };
return new Promise(function(resolve) {
// shim getStats with maplike support
var results = new Map();
Promise.all(promises).then(function(res) {
res.forEach(function(result) {
Object.keys(result).forEach(function(id) {
+ result[id].type = fixStatsType(result[id]);
results.set(id, result[id]);
- results[id] = result[id];
});
});
if (cb) {
@@ -38294,9 +39181,9 @@ module.exports = {
shimGetUserMedia: require('./getusermedia')
};
-},{"../utils":209,"./getusermedia":205,"sdp":173}],205:[function(require,module,exports){
+},{"../utils":218,"./getusermedia":214,"sdp":183}],214:[function(require,module,exports){
arguments[4][37][0].apply(exports,arguments)
-},{"dup":37}],206:[function(require,module,exports){
+},{"dup":37}],215:[function(require,module,exports){
/*
* Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
*
@@ -38416,11 +39303,11 @@ var firefoxShim = {
};
});
- // support for addIceCandidate(null)
+ // support for addIceCandidate(null or undefined)
var nativeAddIceCandidate =
RTCPeerConnection.prototype.addIceCandidate;
RTCPeerConnection.prototype.addIceCandidate = function() {
- if (arguments[0] === null) {
+ if (!arguments[0]) {
if (arguments[1]) {
arguments[1].apply(null);
}
@@ -38439,11 +39326,41 @@ var firefoxShim = {
return map;
};
+ var modernStatsTypes = {
+ inboundrtp: 'inbound-rtp',
+ outboundrtp: 'outbound-rtp',
+ candidatepair: 'candidate-pair',
+ localcandidate: 'local-candidate',
+ remotecandidate: 'remote-candidate'
+ };
+
var nativeGetStats = RTCPeerConnection.prototype.getStats;
RTCPeerConnection.prototype.getStats = function(selector, onSucc, onErr) {
return nativeGetStats.apply(this, [selector || null])
.then(function(stats) {
- return makeMapStats(stats);
+ if (browserDetails.version < 48) {
+ stats = makeMapStats(stats);
+ }
+ if (browserDetails.version < 53 && !onSucc) {
+ // Shim only promise getStats with spec-hyphens in type names
+ // Leave callback version alone; misc old uses of forEach before Map
+ try {
+ stats.forEach(function(stat) {
+ stat.type = modernStatsTypes[stat.type] || stat.type;
+ });
+ } catch (e) {
+ if (e.name !== 'TypeError') {
+ throw e;
+ }
+ // Avoid TypeError: "type" is read-only, in old versions. 34-43ish
+ stats.forEach(function(stat, i) {
+ stats.set(i, Object.assign({}, stat, {
+ type: modernStatsTypes[stat.type] || stat.type
+ }));
+ });
+ }
+ }
+ return stats;
})
.then(onSucc, onErr);
};
@@ -38458,170 +39375,9 @@ module.exports = {
shimGetUserMedia: require('./getusermedia')
};
-},{"../utils":209,"./getusermedia":207}],207:[function(require,module,exports){
-/*
- * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree.
- */
- /* eslint-env node */
-'use strict';
-
-var logging = require('../utils').log;
-var browserDetails = require('../utils').browserDetails;
-
-// Expose public methods.
-module.exports = function() {
- var shimError_ = function(e) {
- return {
- name: {
- SecurityError: 'NotAllowedError',
- PermissionDeniedError: 'NotAllowedError'
- }[e.name] || e.name,
- message: {
- 'The operation is insecure.': 'The request is not allowed by the ' +
- 'user agent or the platform in the current context.'
- }[e.message] || e.message,
- constraint: e.constraint,
- toString: function() {
- return this.name + (this.message && ': ') + this.message;
- }
- };
- };
-
- // getUserMedia constraints shim.
- var getUserMedia_ = function(constraints, onSuccess, onError) {
- var constraintsToFF37_ = function(c) {
- if (typeof c !== 'object' || c.require) {
- return c;
- }
- var require = [];
- Object.keys(c).forEach(function(key) {
- if (key === 'require' || key === 'advanced' || key === 'mediaSource') {
- return;
- }
- var r = c[key] = (typeof c[key] === 'object') ?
- c[key] : {ideal: c[key]};
- if (r.min !== undefined ||
- r.max !== undefined || r.exact !== undefined) {
- require.push(key);
- }
- if (r.exact !== undefined) {
- if (typeof r.exact === 'number') {
- r. min = r.max = r.exact;
- } else {
- c[key] = r.exact;
- }
- delete r.exact;
- }
- if (r.ideal !== undefined) {
- c.advanced = c.advanced || [];
- var oc = {};
- if (typeof r.ideal === 'number') {
- oc[key] = {min: r.ideal, max: r.ideal};
- } else {
- oc[key] = r.ideal;
- }
- c.advanced.push(oc);
- delete r.ideal;
- if (!Object.keys(r).length) {
- delete c[key];
- }
- }
- });
- if (require.length) {
- c.require = require;
- }
- return c;
- };
- constraints = JSON.parse(JSON.stringify(constraints));
- if (browserDetails.version < 38) {
- logging('spec: ' + JSON.stringify(constraints));
- if (constraints.audio) {
- constraints.audio = constraintsToFF37_(constraints.audio);
- }
- if (constraints.video) {
- constraints.video = constraintsToFF37_(constraints.video);
- }
- logging('ff37: ' + JSON.stringify(constraints));
- }
- return navigator.mozGetUserMedia(constraints, onSuccess, function(e) {
- onError(shimError_(e));
- });
- };
-
- // Returns the result of getUserMedia as a Promise.
- var getUserMediaPromise_ = function(constraints) {
- return new Promise(function(resolve, reject) {
- getUserMedia_(constraints, resolve, reject);
- });
- };
-
- // Shim for mediaDevices on older versions.
- if (!navigator.mediaDevices) {
- navigator.mediaDevices = {getUserMedia: getUserMediaPromise_,
- addEventListener: function() { },
- removeEventListener: function() { }
- };
- }
- navigator.mediaDevices.enumerateDevices =
- navigator.mediaDevices.enumerateDevices || function() {
- return new Promise(function(resolve) {
- var infos = [
- {kind: 'audioinput', deviceId: 'default', label: '', groupId: ''},
- {kind: 'videoinput', deviceId: 'default', label: '', groupId: ''}
- ];
- resolve(infos);
- });
- };
-
- if (browserDetails.version < 41) {
- // Work around http://bugzil.la/1169665
- var orgEnumerateDevices =
- navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices);
- navigator.mediaDevices.enumerateDevices = function() {
- return orgEnumerateDevices().then(undefined, function(e) {
- if (e.name === 'NotFoundError') {
- return [];
- }
- throw e;
- });
- };
- }
- if (browserDetails.version < 49) {
- var origGetUserMedia = navigator.mediaDevices.getUserMedia.
- bind(navigator.mediaDevices);
- navigator.mediaDevices.getUserMedia = function(c) {
- return origGetUserMedia(c).then(function(stream) {
- // Work around https://bugzil.la/802326
- if (c.audio && !stream.getAudioTracks().length ||
- c.video && !stream.getVideoTracks().length) {
- stream.getTracks().forEach(function(track) {
- track.stop();
- });
- throw new DOMException('The object can not be found here.',
- 'NotFoundError');
- }
- return stream;
- }, function(e) {
- return Promise.reject(shimError_(e));
- });
- };
- }
- navigator.getUserMedia = function(constraints, onSuccess, onError) {
- if (browserDetails.version < 44) {
- return getUserMedia_(constraints, onSuccess, onError);
- }
- // Replace Firefox 44+'s deprecation warning with unprefixed version.
- console.warn('navigator.getUserMedia has been replaced by ' +
- 'navigator.mediaDevices.getUserMedia');
- navigator.mediaDevices.getUserMedia(constraints).then(onSuccess, onError);
- };
-};
-
-},{"../utils":209}],208:[function(require,module,exports){
+},{"../utils":218,"./getusermedia":216}],216:[function(require,module,exports){
+arguments[4][39][0].apply(exports,arguments)
+},{"../utils":218,"dup":39}],217:[function(require,module,exports){
/*
* Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
*
@@ -38639,7 +39395,17 @@ var safariShim = {
// shimPeerConnection: function() { },
shimGetUserMedia: function() {
- navigator.getUserMedia = navigator.webkitGetUserMedia;
+ if (!navigator.getUserMedia) {
+ if (navigator.webkitGetUserMedia) {
+ navigator.getUserMedia = navigator.webkitGetUserMedia.bind(navigator);
+ } else if (navigator.mediaDevices &&
+ navigator.mediaDevices.getUserMedia) {
+ navigator.getUserMedia = function(constraints, cb, errcb) {
+ navigator.mediaDevices.getUserMedia(constraints)
+ .then(cb, errcb);
+ }.bind(navigator);
+ }
+ }
}
};
@@ -38651,7 +39417,7 @@ module.exports = {
// shimPeerConnection: safariShim.shimPeerConnection
};
-},{}],209:[function(require,module,exports){
+},{}],218:[function(require,module,exports){
/*
* Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
*
@@ -38722,57 +39488,91 @@ var utils = {
if (navigator.mozGetUserMedia) {
result.browser = 'firefox';
result.version = this.extractVersion(navigator.userAgent,
- /Firefox\/([0-9]+)\./, 1);
-
- // all webkit-based browsers
+ /Firefox\/(\d+)\./, 1);
} else if (navigator.webkitGetUserMedia) {
// Chrome, Chromium, Webview, Opera, all use the chrome shim for now
if (window.webkitRTCPeerConnection) {
result.browser = 'chrome';
result.version = this.extractVersion(navigator.userAgent,
- /Chrom(e|ium)\/([0-9]+)\./, 2);
-
- // Safari or unknown webkit-based
- // for the time being Safari has support for MediaStreams but not webRTC
- } else {
- // Safari UA substrings of interest for reference:
- // - webkit version: AppleWebKit/602.1.25 (also used in Op,Cr)
- // - safari UI version: Version/9.0.3 (unique to Safari)
- // - safari UI webkit version: Safari/601.4.4 (also used in Op,Cr)
- //
- // if the webkit version and safari UI webkit versions are equals,
- // ... this is a stable version.
- //
- // only the internal webkit version is important today to know if
- // media streams are supported
- //
+ /Chrom(e|ium)\/(\d+)\./, 2);
+ } else { // Safari (in an unpublished version) or unknown webkit-based.
if (navigator.userAgent.match(/Version\/(\d+).(\d+)/)) {
result.browser = 'safari';
result.version = this.extractVersion(navigator.userAgent,
- /AppleWebKit\/([0-9]+)\./, 1);
-
- // unknown webkit-based browser
- } else {
+ /AppleWebKit\/(\d+)\./, 1);
+ } else { // unknown webkit-based browser.
result.browser = 'Unsupported webkit-based browser ' +
'with GUM support but no WebRTC support.';
return result;
}
}
-
- // Edge.
} else if (navigator.mediaDevices &&
- navigator.userAgent.match(/Edge\/(\d+).(\d+)$/)) {
+ navigator.userAgent.match(/Edge\/(\d+).(\d+)$/)) { // Edge.
result.browser = 'edge';
result.version = this.extractVersion(navigator.userAgent,
/Edge\/(\d+).(\d+)$/, 2);
-
- // Default fallthrough: not supported.
- } else {
+ } else if (navigator.mediaDevices &&
+ navigator.userAgent.match(/AppleWebKit\/(\d+)\./)) {
+ // Safari, with webkitGetUserMedia removed.
+ result.browser = 'safari';
+ result.version = this.extractVersion(navigator.userAgent,
+ /AppleWebKit\/(\d+)\./, 1);
+ } else { // Default fallthrough: not supported.
result.browser = 'Not a supported browser.';
return result;
}
return result;
+ },
+
+ // shimCreateObjectURL must be called before shimSourceObject to avoid loop.
+
+ shimCreateObjectURL: function() {
+ if (!(typeof window === 'object' && window.HTMLMediaElement &&
+ 'srcObject' in window.HTMLMediaElement.prototype)) {
+ // Only shim CreateObjectURL using srcObject if srcObject exists.
+ return undefined;
+ }
+
+ var nativeCreateObjectURL = URL.createObjectURL.bind(URL);
+ var nativeRevokeObjectURL = URL.revokeObjectURL.bind(URL);
+ var streams = new Map(), newId = 0;
+
+ URL.createObjectURL = function(stream) {
+ if ('getTracks' in stream) {
+ var url = 'polyblob:' + (++newId);
+ streams.set(url, stream);
+ console.log('URL.createObjectURL(stream) is deprecated! ' +
+ 'Use elem.srcObject = stream instead!');
+ return url;
+ }
+ return nativeCreateObjectURL(stream);
+ };
+ URL.revokeObjectURL = function(url) {
+ nativeRevokeObjectURL(url);
+ streams.delete(url);
+ };
+
+ var dsc = Object.getOwnPropertyDescriptor(window.HTMLMediaElement.prototype,
+ 'src');
+ Object.defineProperty(window.HTMLMediaElement.prototype, 'src', {
+ get: function() {
+ return dsc.get.apply(this);
+ },
+ set: function(url) {
+ this.srcObject = streams.get(url) || null;
+ return dsc.set.apply(this, [url]);
+ }
+ });
+
+ var nativeSetAttribute = HTMLMediaElement.prototype.setAttribute;
+ HTMLMediaElement.prototype.setAttribute = function() {
+ if (arguments.length === 2 &&
+ ('' + arguments[0]).toLowerCase() === 'src') {
+ this.srcObject = streams.get(arguments[1]) || null;
+ }
+ return nativeSetAttribute.apply(this, arguments);
+ };
}
};
@@ -38781,10 +39581,12 @@ module.exports = {
log: utils.log,
disableLog: utils.disableLog,
browserDetails: utils.detectBrowser(),
- extractVersion: utils.extractVersion
+ extractVersion: utils.extractVersion,
+ shimCreateObjectURL: utils.shimCreateObjectURL,
+ detectBrowser: utils.detectBrowser.bind(utils)
};
-},{}],210:[function(require,module,exports){
+},{}],219:[function(require,module,exports){
// created by @HenrikJoreteg
var prefix;
var version;
@@ -38836,7 +39638,7 @@ module.exports = {
getUserMedia: getUserMedia
};
-},{}],211:[function(require,module,exports){
+},{}],220:[function(require,module,exports){
/*
WildEmitter.js is a slim little event emitter by @henrikjoreteg largely based
on @visionmedia's Emitter from UI Kit.
@@ -38991,7 +39793,7 @@ WildEmitter.mixin = function (constructor) {
WildEmitter.mixin(WildEmitter);
-},{}],212:[function(require,module,exports){
+},{}],221:[function(require,module,exports){
module.exports = {
Namespace: require('./lib/namespaces'),
MUC: require('./lib/muc'),
@@ -39000,7 +39802,7 @@ module.exports = {
Presence: require('./lib/presence')
};
-},{"./lib/jingle":213,"./lib/muc":214,"./lib/namespaces":215,"./lib/presence":216,"./lib/pubsub":217}],213:[function(require,module,exports){
+},{"./lib/jingle":222,"./lib/muc":223,"./lib/namespaces":224,"./lib/presence":225,"./lib/pubsub":226}],222:[function(require,module,exports){
module.exports = {
Action: {
CONTENT_ACCEPT: 'content-accept',
@@ -39046,7 +39848,7 @@ module.exports = {
}
};
-},{}],214:[function(require,module,exports){
+},{}],223:[function(require,module,exports){
module.exports = {
Status: {
REALJID_PUBLIC: '100',
@@ -39084,7 +39886,7 @@ module.exports = {
}
};
-},{}],215:[function(require,module,exports){
+},{}],224:[function(require,module,exports){
module.exports = {
// ================================================================
// RFCS
@@ -39406,7 +40208,7 @@ module.exports = {
JINGLE_PUB_1: 'urn:xmpp:jinglepub:1'
};
-},{}],216:[function(require,module,exports){
+},{}],225:[function(require,module,exports){
module.exports = {
Type: {
SUBSCRIBE: 'subscribe',
@@ -39424,7 +40226,7 @@ module.exports = {
}
};
-},{}],217:[function(require,module,exports){
+},{}],226:[function(require,module,exports){
module.exports = {
Affiliation: {
MEMBER: 'member',
@@ -39452,7 +40254,7 @@ module.exports = {
}
};
-},{}],218:[function(require,module,exports){
+},{}],227:[function(require,module,exports){
'use strict';
var StringPrep = require('./lib/stringprep');
@@ -39674,7 +40476,7 @@ exports.JID.prototype.toJSON = function () {
return this.full;
};
-},{"./lib/stringprep":219}],219:[function(require,module,exports){
+},{"./lib/stringprep":228}],228:[function(require,module,exports){
'use strict';
var punycode = require('punycode');
@@ -39696,12 +40498,12 @@ exports.resourceprep = function (str) {
return str;
};
-},{"punycode":154}],220:[function(require,module,exports){
+},{"punycode":155}],229:[function(require,module,exports){
/* jshint -W117 */
'use strict';
var JSM = require('jingle');
-var RTC = require('webrtc-adapter-test');
+var RTC = require('webrtc-adapter');
var GUM = require('getusermedia');
var GSM = require('getscreenmedia');
@@ -39731,7 +40533,9 @@ var IqStanza = jxt.getDefinition('iq', 'jabber:client');
self.connection = conn;
- if ((RTC.webrtcDetectedVersion < 33 && RTC.webrtcDetectedBrowser === 'firefox') || RTC.webrtcDetectedBrowser === 'chrome') {
+ var browserDetails = self.RTC.browserDetails;
+
+ if ((browserDetails.version < 33 && browserDetails.browser === 'firefox') || browserDetails.browser === 'chrome') {
self.peer_constraints = {
mandatory: {
'OfferToReceiveAudio': true,
@@ -39739,7 +40543,7 @@ var IqStanza = jxt.getDefinition('iq', 'jabber:client');
}
};
- if (RTC.webrtcDetectedBrowser === 'firefox') {
+ if (browserDetails.browser === 'firefox') {
self.peer_constraints.mandatory.MozDontOfferDataChannel = true;
}
} else {
@@ -39748,7 +40552,7 @@ var IqStanza = jxt.getDefinition('iq', 'jabber:client');
'offerToReceiveVideo': true
};
- if (RTC.webrtcDetectedBrowser === 'firefox') {
+ if (browserDetails.browser === 'firefox') {
self.peer_constraints.mozDontOfferDataChannel = true;
}
}
@@ -39847,7 +40651,7 @@ var IqStanza = jxt.getDefinition('iq', 'jabber:client');
});
}(jQuery));
-},{"getscreenmedia":31,"getusermedia":32,"jingle":53,"jxt":120,"jxt-xmpp":81,"jxt-xmpp-types":54,"webrtc-adapter-test":200}]},{},[220]);
+},{"getscreenmedia":31,"getusermedia":32,"jingle":53,"jxt":120,"jxt-xmpp":81,"jxt-xmpp-types":54,"webrtc-adapter":210}]},{},[229]);
// Salsa20 implementation
// Contributed to Cryptocat by Dmitry Chestnykh
@@ -48725,4 +49529,4 @@ CryptoJS.mode.CTR = (function () {
}(this.emojione = this.emojione || {}));
if(typeof module === "object") module.exports = this.emojione;
-var I18next = {"bg":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"bn-BD":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"de":{"translation":{"Logging_in":"Login läuft…","your_connection_is_unencrypted":"Deine Verbindung ist unverschlüsselt.","your_connection_is_encrypted":"Deine Verbindung ist verschlüsselt.","your_buddy_closed_the_private_connection":"Dein Kontakt hat die private Verbindung getrennt.","start_private":"Privat starten","close_private":"Privat abbrechen","your_buddy_is_verificated":"Dein Kontakt ist verifiziert.","you_have_only_a_subscription_in_one_way":"Der Kontaktstatus ist einseitig.","authentication_query_sent":"Authentifizierungsanfrage gesendet.","your_message_wasnt_send_please_end_your_private_conversation":"Deine Nachricht wurde nicht gesendet. Bitte beende die private Konversation.","unencrypted_message_received":"Unverschlüsselte Nachricht erhalten.","not_available":"Nicht verfügbar.","no_connection":"Keine Verbindung.","relogin":"Neu anmelden.","trying_to_start_private_conversation":"Versuche private Konversation zu starten.","Verified":"Verifiziert","Unverified":"Unverifiziert","private_conversation_aborted":"Private Konversation abgebrochen.","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Dein Kontakt hat die private Konversation beendet. Das solltest du auch tun!","conversation_is_now_verified":"Konversation ist jetzt verifiziert","authentication_failed":"Authentifizierung fehlgeschlagen.","Creating_your_private_key_":"Wir werden jetzt deinen privaten Schlüssel generieren. Das kann einige Zeit in Anspruch nehmen.","Authenticating_a_buddy_helps_":"Einen Kontakt zu authentifizieren hilft sicherzustellen, dass die Person mit der du sprichst auch die ist die sie sagt.","How_do_you_want_to_authenticate_your_buddy":"Wie willst du __bid_name__ (<b>__bid_jid__</b>) authentifizieren?","Select_method":"Wähle...","Manual":"Manual","Question":"Frage","Secret":"Geheimnis","To_verify_the_fingerprint_":"Um den Fingerprint zu verifizieren kontaktiere dein Kontakt über einen anderen Kommunikationsweg. Zum Beispiel per Telefonanruf.","Your_fingerprint":"Dein Fingerprint","Buddy_fingerprint":"Sein/Ihr Fingerprint","Close":"Schließen","Compared":"Verglichen","To_authenticate_using_a_question_":"Um die Authentifizierung per Frage durchzuführen, wähle eine Frage bei welcher nur dein Kontakt die Antwort kennt.","Ask":"Frage","To_authenticate_pick_a_secret_":"Um deinen Kontakt zu authentifizieren, wähle ein Geheimnis welches nur deinem Kontakt und dir bekannt ist.","Compare":"Vergleiche","Fingerprints":"Fingerprints","Authentication":"Authentifizierung","Message":"Nachricht","Add_buddy":"Kontakt hinzufügen","rename_buddy":"Kontakt umbenennen","delete_buddy":"Kontakt löschen","Login":"Anmeldung","Username":"Benutzername","Password":"Passwort","Cancel":"Abbrechen","Connect":"Verbinden","Type_in_the_full_username_":"Gib bitte den vollen Benutzernamen und optional ein Alias an.","Alias":"Alias","Add":"Hinzufügen","Subscription_request":"Kontaktanfrage","You_have_a_request_from":"Du hast eine Anfrage von","Deny":"Ablehnen","Approve":"Bestätigen","Remove_buddy":"Kontakt entfernen","You_are_about_to_remove_":"Du bist gerade dabei __bid_name__ (<b>__bid_jid__</b>) von deiner Kontaktliste zu entfernen. Alle Chats werden geschlossen.","Continue_without_chat":"Weiter ohne Chat","Please_wait":"Bitte warten","Login_failed":"Chat-Anmeldung fehlgeschlagen","Sorry_we_cant_authentikate_":"Der Chatserver hat die Anmeldung abgelehnt. Falsches Passwort?","Retry":"Zurück","clear_history":"Lösche Verlauf","New_message_from":"Neue Nachricht von __name__","Should_we_notify_you_":"Sollen wir dich in Zukunft über eingehende Nachrichten informieren, auch wenn dieser Tab nicht im Vordergrund ist?","Please_accept_":"Bitte klick auf den \"Zulassen\" Button oben.","Hide_offline":"Offline ausblenden","Show_offline":"Offline einblenden","About":"Über","dnd":"Beschäftigt","Mute":"Ton aus","Unmute":"Ton an","Subscription":"Bezug","both":"beidseitig","Status":"Status","online":"online","chat":"chat","away":"abwesend","xa":"länger abwesend","offline":"offline","none":"keine","Unknown_instance_tag":"Unbekannter instance tag.","Not_one_of_our_latest_keys":"Nicht einer unserer letzten Schlüssel.","Received_an_unreadable_encrypted_message":"Eine unlesbare verschlüsselte Nachricht erhalten.","Online":"Online","Chatty":"Gesprächig","Away":"Abwesend","Extended_away":"Länger abwesend","Offline":"Offline","Friendship_request":"Kontaktanfrage","Confirm":"Bestätigen","Dismiss":"Ablehnen","Remove":"Löschen","Online_help":"Online Hilfe","FN":"Name","N":" ","FAMILY":"Familienname","GIVEN":"Vorname","NICKNAME":"Spitzname","URL":"URL","ADR":"Adresse","STREET":"Straße","EXTADD":"Zusätzliche Adresse","LOCALITY":"Ortschaft","REGION":"Region","PCODE":"Postleitzahl","CTRY":"Land","TEL":"Telefon","NUMBER":"Nummer","EMAIL":"E-Mail","USERID":" ","ORG":"Organisation","ORGNAME":"Name","ORGUNIT":"Abteilung","TITLE":"Titel","ROLE":"Rolle","BDAY":"Geburtstag","DESC":"Beschreibung","PHOTO":" ","send_message":"Sende Nachricht","get_info":"Benutzerinformationen","Settings":"Einstellungen","Priority":"Priorität","Save":"Speichern","User_settings":"Benutzereinstellungen","A_fingerprint_":"Ein Fingerabdruck wird dazu benutzt deinen Gesprächspartner zu identifizieren.","is":"ist","Login_options":"Anmeldeoptionen","BOSH_url":"BOSH url","Domain":"Domain","Resource":"Ressource","On_login":"Beim Anmelden","Received_an_unencrypted_message":"Unverschlüsselte Nachricht empfangen","Sorry_your_buddy_doesnt_provide_any_information":"Dein Kontakt stellt leider keine Informationen bereit.","Info_about":"Info über","Authentication_aborted":"Authentifizierung abgebrochen.","Authentication_request_received":"Authentifizierungsanfrage empfangen.","Log_in_without_chat":"Anmelden ohne Chat","has_come_online":"ist online gekommen","Unknown_sender":"Unbekannter Sender","Please_allow_access_to_microphone_and_camera":"Bitte klick auf den \"Zulassen\" Button oben, um den Zugriff auf Kamera und Mikrofon zu erlauben.","Incoming_call":"Eingehender Anruf","from":"von","Do_you_want_to_accept_the_call_from":"Möchtest Du den Anruf annehmen von","Reject":"Ablehnen","Accept":"Annehmen","hang_up":"Auflegen","snapshot":"Schnappschuss","mute_my_audio":"Mein Ton aus","pause_my_video":"Mein Video pausieren","fullscreen":"Vollbild","Info":"Info","Local_IP":"Lokale IP","Remote_IP":"Remote IP","Local_Fingerprint":"Lokaler Fingerprint","Remote_Fingerprint":"Remote Fingerprint","Video_call_not_possible":"Videoanruf nicht verfügbar. Dein Gesprächspartner unterstützt keine Videotelefonie.","Start_video_call":"Starte Videoanruf","Join_chat":"Gruppe beitreten","Join":"Betreten","Room":"Gruppe","Nickname":"Nickname","left_the_building":"__nickname__ hat die Gruppe verlassen","entered_the_room":"__nickname__ ist der Gruppe beigetreten","is_now_known_as":"__oldNickname__ ist nun unter __newNickname__ bekannt","This_room_is":"Diese Gruppe ist","muc_hidden":{"keyword":"versteckt","description":"kann durch die Suche nicht gefunden werden"},"muc_membersonly":{"keyword":"nur für Mitglieder","description":"du musst auf der Mitgliederliste stehen"},"muc_moderated":{"keyword":"moderiert","description":"Nur Personen die \"Mitspracherecht\" haben dürfen Nachrichten senden"},"muc_nonanonymous":{"keyword":"nicht anonym","description":"deine Jabber ID wird für alle Mitglieder sichtbar sein"},"muc_open":{"keyword":"offen","description":"jeder darf dieser Gruppe beitreten"},"muc_passwordprotected":{"keyword":"passwortgeschützt","description":"du benötigst das korrekte Passwort"},"muc_persistent":{"keyword":"permanent","description":"wird nicht geschlossen, wenn das letzte Mitglied die Gruppe verlässt"},"muc_public":{"keyword":"öffentlich","description":"kann durch die Suche gefunden werden"},"muc_semianonymous":{"keyword":"teilweise anonym","description":"deine Jabber ID wird nur für die Gruppen Administratoren sichtbar sein"},"muc_temporary":{"keyword":"temporär","description":"wird geschlossen, wenn das letzte Mitglied die Gruppe verlässt"},"muc_unmoderated":{"keyword":"nicht moderiert","description":"jeder darf Nachrichten senden"},"muc_unsecured":{"keyword":"ungesichert","description":"es wird kein Passwort benötigt"},"Continue":"Weiter","Server":"Server","Rooms_are_loaded":"Gruppen werden geladen","Could_load_only":"Es konnten nur __count__ Gruppen für die Autovervollständigung geladen werden","muc_explanation":"Bitte trage den Gruppennamen und optional ein Nickname und Passwort ein um einer Gruppe beizutreten","You_already_joined_this_room":"Du bist dieser Gruppe bereits beigetreten","This_room_will_be_closed":"Diese Gruppe wird geschlossen","Room_not_found_":"Es wird eine neue Gruppe erstellt","Loading_room_information":"Informationen über Gruppe werden geladen","Destroy":"Auflösen","Leave":"Verlassen","changed_subject_to":"__nickname__ hat das Thema auf __subject__ geändert","muc_removed_kicked":"Du wurdest aus der Gruppe entfernt","muc_removed_info_kicked":"__nickname__ wurde aus der Gruppe entfernt","muc_removed_banned":"Du wurdest aus der Gruppe ausgeschlossen","muc_removed_info_banned":"__nickname__ wurde aus der Gruppe ausgeschlossen","muc_removed_affiliation":"Du wurdest aus der Gruppe entfernt wegen einer Änderung deines Mitgliedstatus","muc_removed_info_affiliation":"__nickname__ wurde aus der Gruppe entfernt wegen einer Änderung seines Mitgliedstatus","muc_removed_membersonly":"Diese Gruppe erlaubt jetzt nur noch eingetragene Mitglieder und da du nicht dazugehörst, wurdest du aus der Gruppen entfernt","muc_removed_info_membersonly":"Diese Gruppe erlaubt jetzt nur noch eingetragene Mitglieder und __nickname__ gehört nicht dazu, daher wurde er aus der Gruppe entfernt","muc_removed_shutdown":"Du wurdest aus der Gruppe entfernt, da der MUC Server heruntergefahren wird","Reason":"Grund","message_not_send":"Deine Nachricht wurde aufgrund eines Fehlers nicht versandt","message_not_send_item-not-found":"Deine Nachricht wurde nicht versandt, da der Raum nicht mehr existiert","message_not_send_forbidden":"Deine Nachricht wurde nicht versandt, da du kein \"Mitspracherecht\" hast","message_not_send_not-acceptable":"Deine Nachricht wurde nicht versandt, da du kein Mitglied dieser Gruppe bist","This_room_has_been_closed":"Diese Gruppe wurde geschlossen","Room_logging_is_enabled":"Gesprächsverlauf kann öffentlich einsehbar sein","A_password_is_required":"Es wird ein Passwort benötigt","You_are_not_on_the_member_list":"Du bist kein eingetragenes Mitglied","You_are_banned_from_this_room":"Du wurdest von dieser Gruppe ausgeschlossen","Your_desired_nickname_":"Dein gewünschter Nickname wird bereits verwendet. Bitte wähle einen anderen.","The_maximum_number_":"Die maximale Anzahl der Mitglieder wurde erreicht.","This_room_is_locked_":"Diese Gruppe ist gesperrt","You_are_not_allowed_to_create_":"Du darfst keine neue Gruppe erstellen","Alert":"Alarm","Call_started":"Anruf gestarted","Call_terminated":"Anruf beendet","Carbon_copy":"Kopie","Enable":"Aktivieren","jingle_reason_busy":"beschäftigt","jingle_reason_decline":"abgelehnt","jingle_reason_success":"aufgelegt","Media_failure":"Gerätefehler","No_local_audio_device":"Kein eigenes Audio Gerät","No_local_video_device":"Keine eigene Webcam","Ok":"Ok","PermissionDeniedError":"Du oder dein Browser haben die Audio/Video Berechtigung verweigert","Use_local_audio_device":"Nutze eigenes Audio Gerät","Use_local_video_device":"Benutze eigene Webcam","is_":"ist __status__","You_received_a_message_from_an_unknown_sender_":"Du hast eine Nachricht von einem unbekannten Sender erhalten (__sender__) Möchtest du sie sehen?","Your_roster_is_empty_add_":"Deine Kontaktliste ist leer, füge einen neuen Kontakt <a>hinzu</a>","onsmp_explanation_question":"Dein Kontakt versucht herauszufinden ob er wirklich mit dir redet. Um dich gegenüber deinem Kontakt zu verifizieren gib die Antwort ein und klick auf Antworten.","onsmp_explanation_secret":"Dein Kontakt versucht herauszufinden ob er wirklich mit dir redet. Um dich gegenüber deinem Kontakt zu verifizieren gib das Geheimnis ein.","from_sender":"von __sender__","Verified_private_conversation_started":"Verifizierte private Konversation gestartet.","Unverified_private_conversation_started":"Unverifizierte private Konversation gestartet.","Bookmark":"Lesezeichen","Auto-join":"Automatisch beitreten","Edit_bookmark":"Lesezeichen bearbeiten","Room_logging_is_disabled":"Gruppen Log ist deaktiviert","Room_is_now_non-anoymous":"Gruppe ist jetzt nicht anonym","Room_is_now_semi-anonymous":"Gruppe ist jetzt semi-anonym","Do_you_want_to_change_the_default_room_configuration":"Möchtest du die Gruppenkonfiguration ändern?","Default":"Standard","Change":"Ändern","Send_file":"Datei senden","setting-explanation-carbon":"Wenn Kopien aktiviert sind, werden alle eingehenden Nachrichten zu allen angemeldeten Clients gesendet.","setting-explanation-login":"Wenn diese Option aktiviert ist, wird der Chat beim anmelden automatisch gestartet.","setting-explanation-priority":"Wenn du mit deinem XMPP Konto mehrfach angemeldet bist, werden Nachrichten zu dem Client mit der höchsten Priorität zugestellt.","setting-explanation-xmpp":"Diese Optionen werden für die Verbindung zum XMPP server genutzt.","_is_composing":" tippt gerade...","_are_composing":" tippen gerade...","Chat_state_notifications":"Statusbenachrichtigungen","setting-explanation-chat-state":"Möchtest Benachrichtigungen senden und erhalten wenn du oder dein Kontakt Nachrichten tippt?","Share_screen":"Teile Bildschirm","Incoming_stream":"Eingehender Stream","Stream_started":"Stream gestarted","HTTPS_REQUIRED":"Diese Aktion erfordert eine verschlüsselte Verbindung.","EXTENSION_UNAVAILABLE":"Sie benötigen eine Browser Erweiterung.","UNKNOWN_ERROR":"Ein unbekannter Fehler ist aufgetreten.","Install_extension":"Bitte installieren Sie die Erweiterung um ihren Bildschirm zu teilen: ","Connection_accepted":"Verbindung angenommen","Stream_terminated":"Stream beendet","Close_all":"Schließe alle","Notification":null,"Unreadable_OTR_message":null}},"el":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"en":{"translation":{"Logging_in":"Logging in…","your_connection_is_unencrypted":"Your connection is unencrypted.","your_connection_is_encrypted":"Your connection is encrypted.","your_buddy_closed_the_private_connection":"Your contact closed the private connection.","start_private":"Start private","close_private":"Close private","your_buddy_is_verificated":"Your contact is verified.","you_have_only_a_subscription_in_one_way":"You only have a one-way subscription.","authentication_query_sent":"Authentication query sent.","your_message_wasnt_send_please_end_your_private_conversation":"Your message was not sent. Please end your private conversation.","unencrypted_message_received":"Unencrypted message received","not_available":"Not available","no_connection":"No connection!","relogin":"relogin","trying_to_start_private_conversation":"Trying to start private conversation!","Verified":"Verified","Unverified":"Unverified","private_conversation_aborted":"Private conversation aborted!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Your contact closed the private conversation! You should do the same.","conversation_is_now_verified":"Conversation is now verified.","authentication_failed":"Authentication failed.","Creating_your_private_key_":"Creating your private key; this may take a while.","Authenticating_a_buddy_helps_":"Authenticating a contact helps ensure that the person you are talking to is really the one they claim to be.","How_do_you_want_to_authenticate_your_buddy":"How do you want to authenticate __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Select method...","Manual":"Manual","Question":"Question","Secret":"Secret","To_verify_the_fingerprint_":"To verify the fingerprint, contact your contact via some other trustworthy channel, such as the telephone.","Your_fingerprint":"Your fingerprint","Buddy_fingerprint":"Contact fingerprint","Close":"Close","Compared":"Compared","To_authenticate_using_a_question_":"To authenticate using a question, pick a question whose answer is known only you and your contact.","Ask":"Ask","To_authenticate_pick_a_secret_":"To authenticate, pick a secret known only to you and your contact.","Compare":"Compare","Fingerprints":"Fingerprints","Authentication":"Authentication","Message":"Message","Add_buddy":"Add contact","rename_buddy":"rename contact","delete_buddy":"delete contact","Login":"Login","Username":"Username","Password":"Password","Cancel":"Cancel","Connect":"Connect","Type_in_the_full_username_":"Type in the full username and an optional alias.","Alias":"Alias","Add":"Add","Subscription_request":"Subscription request","You_have_a_request_from":"You have a request from","Deny":"Deny","Approve":"Approve","Remove_buddy":"Remove contact","You_are_about_to_remove_":"You are about to remove __bid_name__ (<b>__bid_jid__</b>) from your contact list. All related chats will be closed.","Continue_without_chat":"Continue without chat","Please_wait":"Please wait","Login_failed":"Chat login failed","Sorry_we_cant_authentikate_":"Authentication failed with the chat server. Maybe the password is wrong?","Retry":"Back","clear_history":"Clear history","New_message_from":"New message from __name__","Should_we_notify_you_":"Should we notify you about new messages in the future?","Please_accept_":"Please click the \"Allow\" button at the top.","Hide_offline":"Hide offline contacts","Show_offline":"Show offline contacts","About":"About","dnd":"Do Not Disturb","Mute":"Mute","Unmute":"Unmute","Subscription":"Subscription","both":"both","Status":"Status","online":"online","chat":"chat","away":"away","xa":"extended away","offline":"offline","none":"none","Unknown_instance_tag":"Unknown instance tag.","Not_one_of_our_latest_keys":"Not one of our latest keys.","Received_an_unreadable_encrypted_message":"Received an unreadable encrypted message.","Online":"Online","Chatty":"Chatty","Away":"Away","Extended_away":"Extended away","Offline":"Offline","Friendship_request":"Contact request","Confirm":"Confirm","Dismiss":"Dismiss","Remove":"Remove","Online_help":"Online help","FN":"Full name","N":" ","FAMILY":"Family name","GIVEN":"Given name","NICKNAME":"Nickname","URL":"URL","ADR":"Address","STREET":"Street Address","EXTADD":"Extended Address","LOCALITY":"Locality","REGION":"Region","PCODE":"Postal Code","CTRY":"Country","TEL":"Telephone","NUMBER":"Number","EMAIL":"Email","USERID":" ","ORG":"Organization","ORGNAME":"Name","ORGUNIT":"Unit","TITLE":"Job title","ROLE":"Role","BDAY":"Birthday","DESC":"Description","PHOTO":" ","send_message":"Send message","get_info":"Show information","Settings":"Settings","Priority":"Priority","Save":"Save","User_settings":"User settings","A_fingerprint_":"A fingerprint is used to make sure that the person you are talking to is who he or she is saying.","is":"is","Login_options":"Login options","BOSH_url":"BOSH URL","Domain":"Domain","Resource":"Resource","On_login":"On login","Received_an_unencrypted_message":"Received an unencrypted message","Sorry_your_buddy_doesnt_provide_any_information":"Sorry, your contact does not provide any information.","Info_about":"Info about","Authentication_aborted":"Authentication aborted.","Authentication_request_received":"Authentication request received.","Log_in_without_chat":"Log in without chat","has_come_online":"has come online","Unknown_sender":"Unknown sender","Please_allow_access_to_microphone_and_camera":"Please click the \"Allow\" button at the top, to allow access to microphone and camera.","Incoming_call":"Incoming call","from":"from","Do_you_want_to_accept_the_call_from":"Do you want to accept the call from","Reject":"Reject","Accept":"Accept","hang_up":"hang up","snapshot":"snapshot","mute_my_audio":"mute my audio","pause_my_video":"pause my video","fullscreen":"fullscreen","Info":"Info","Local_IP":"Local IP","Remote_IP":"Remote IP","Local_Fingerprint":"Local fingerprint","Remote_Fingerprint":"Remote fingerprint","Video_call_not_possible":"Video call not possible. Your contact does not support video calls.","Start_video_call":"Start video call","Join_chat":"Join chat","Join":"Join","Room":"Room","Nickname":"Nickname","left_the_building":"__nickname__ left the building","entered_the_room":"__nickname__ entered the room","is_now_known_as":"__oldNickname__ is now known as __newNickname__","This_room_is":"This room is","muc_hidden":{"keyword":"hidden","description":"can not be found through search"},"muc_membersonly":{"keyword":"members-only","description":"you need to be on the member list"},"muc_moderated":{"keyword":"moderated","description":"only persons with \"voice\" are allowed to send messages"},"muc_nonanonymous":{"keyword":"non-anonymous","description":"your jabber id is exposed to all other occupants"},"muc_open":{"keyword":"open","description":"everyone is allowed to join"},"muc_passwordprotected":{"keyword":"password-protected","description":"you need to provide the correct password"},"muc_persistent":{"keyword":"persistent","description":"will not be destroyed if the last occupant left"},"muc_public":{"keyword":"public","description":"can be found through search"},"muc_semianonymous":{"keyword":"semi-anonymous","description":"your jabber id is only exposed to room admins"},"muc_temporary":{"keyword":"temporary","description":"will be destroyed if the last occupant left"},"muc_unmoderated":{"keyword":"unmoderated","description":"everyone is allowed to send messages"},"muc_unsecured":{"keyword":"unsecured","description":"you need no password to enter"},"Continue":"Continue","Server":"Server","Rooms_are_loaded":"Rooms are loaded","Could_load_only":"Could load only __count__ rooms for autocomplete","muc_explanation":"Please enter room name and optional a nickname and password to join a chat","You_already_joined_this_room":"You already joined this room","This_room_will_be_closed":"This room will be closed","Room_not_found_":"A new room will be created","Loading_room_information":"Loading room information","Destroy":"Destroy","Leave":"Leave","changed_subject_to":"__nickname__ changed the room subject to \"__subject__\"","muc_removed_kicked":"You have been kicked from the room","muc_removed_info_kicked":"__nickname__ has been kicked from the room","muc_removed_banned":"You have been banned from the room","muc_removed_info_banned":"__nickname__ has been banned from the room","muc_removed_affiliation":"You have been removed from the room, because of an affiliation change","muc_removed_info_affiliation":"__nickname__ has been removed from the room, because of an affiliation change","muc_removed_membersonly":"You have been removed from the room, because the room has been changed to members-only and you are no member","muc_removed_info_membersonly":"__nickname__ has been removed from the room, because the room has been changed to members-only and you are no member","muc_removed_shutdown":"You have been removed from the room, because the MUC service is being shut down","Reason":"Reason","message_not_send":"Your message was not send because of an error","message_not_send_item-not-found":"Your message was not send because this room does not exist","message_not_send_forbidden":"Your message was not send because you have no voice in this room","message_not_send_not-acceptable":"Your message was not send because you are no occupant of this room","This_room_has_been_closed":"This room has been closed","Room_logging_is_enabled":"Room logging is enabled","A_password_is_required":"A password is required","You_are_not_on_the_member_list":"You are not on the member list","You_are_banned_from_this_room":"You are banned from this room","Your_desired_nickname_":"Your desired nickname is already in use. Please choose another","The_maximum_number_":"The maximum number of user is reached in this room","This_room_is_locked_":"This room is locked","You_are_not_allowed_to_create_":"You are not allowed to create a room","Alert":"Alert","Call_started":"Call started","Call_terminated":"Call terminated","Carbon_copy":"Carbon copy","Enable":"Enable","jingle_reason_busy":"busy","jingle_reason_decline":"decline","jingle_reason_success":"hung up","Media_failure":"Media failure","No_local_audio_device":"No local audio device.","No_local_video_device":"No local video device.","Ok":"Ok","PermissionDeniedError":"You or your browser denied media permission","Use_local_audio_device":"Use local audio device.","Use_local_video_device":"Use local video device.","is_":"is __status__","You_received_a_message_from_an_unknown_sender_":"You received a message from an unknown sender (__sender__) Do you want to display them?","Your_roster_is_empty_add_":"Your roster is empty, add a <a>new contact</a>","onsmp_explanation_question":"You contact is attempting to determine if they are really talking to you. To authenticate to your contact, enter the answer and click Answer.","onsmp_explanation_secret":"You contact is attempting to determine if they are really talking to you. To authenticate to your contact, enter the secret.","from_sender":"from __sender__","Verified_private_conversation_started":"Verified Private conversation started.","Unverified_private_conversation_started":"Unverified Private conversation started.","Bookmark":"Bookmark","Auto-join":"Auto-join","Edit_bookmark":"Edit bookmark","Room_logging_is_disabled":"Room logging is disabled","Room_is_now_non-anoymous":"Room is now non-anonymous","Room_is_now_semi-anonymous":"Room is now semi-anonymous","Do_you_want_to_change_the_default_room_configuration":"Do you want to change the default room configuration?","Default":"Default","Change":"Change","Send_file":"Send file","setting-explanation-carbon":"With enabled carbon copy your XMPP server will send a copy of every incoming message for you to this client even if it was not addressed to it.","setting-explanation-login":"If this option is enabled, the chat will start on login.","setting-explanation-priority":"If you are logged in multiple times with the same account, your XMPP server will deliver messages to the client with the highest priority.","setting-explanation-xmpp":"These options are used to connect to the XMPP server.","_is_composing":" is composing...","_are_composing":" are composing...","Chat_state_notifications":"Chat state notifications","setting-explanation-chat-state":"Do you want to send and receive chat state notifications, like someone starts or stops composing a message?","Share_screen":"Share screen","Incoming_stream":"Incoming stream","Stream_started":"Stream started","HTTPS_REQUIRED":"This action requires an encrypted connection.","EXTENSION_UNAVAILABLE":"You need a browser extension/addon.","UNKNOWN_ERROR":"An unknown error occured.","Install_extension":"Please install the extension in order to use screen sharing: ","Connection_accepted":"Connection accepted","Stream_terminated":"Stream terminated","Close_all":"Close all","Notification":"Notification","Unreadable_OTR_message":"Unreadable OTR message omitted"}},"es":{"translation":{"Logging_in":"Por favor, espere...","your_connection_is_unencrypted":"Su conexión no está cifrada.","your_connection_is_encrypted":"Su conexión está cifrada.","your_buddy_closed_the_private_connection":"Su amigo ha cerrado la conexión privada.","start_private":"Iniciar privado","close_private":"Cerrar privado","your_buddy_is_verificated":"Tu amigo está verificado.","you_have_only_a_subscription_in_one_way":"Solo tienes una suscripción de un modo.","authentication_query_sent":"Consulta de verificación enviada.","your_message_wasnt_send_please_end_your_private_conversation":"Su mensaje no fue enviado. Por favor, termine su conversación privada.","unencrypted_message_received":"Mensaje no cifrado recibido:","not_available":"No disponible","no_connection":"¡Sin conexión!","relogin":"iniciar sesión nuevamente","trying_to_start_private_conversation":"¡Intentando iniciar una conversación privada!","Verified":"Verificado","Unverified":"No verificado","private_conversation_aborted":"¡Conversación privada abortada!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"¡Su amigo cerró la conversación privada! Usted debería hacer lo mismo.","conversation_is_now_verified":"La conversación es ahora verificada.","authentication_failed":"Falló la verificación.","Creating_your_private_key_":"Ahora vamos a crear su clave privada. Esto puede tomar algún tiempo.","Authenticating_a_buddy_helps_":"Autenticación de un amigo ayuda a garantizar que la persona que está hablando es quien él o ella está diciendo.","How_do_you_want_to_authenticate_your_buddy":"¿Cómo desea autenticar __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Escoja un método...","Manual":"Manual","Question":"Pregunta","Secret":"Secreto","To_verify_the_fingerprint_":"Para verificar la firma digital, póngase en contacto con su amigo a través de algún otro canal autenticado, como el teléfono.","Your_fingerprint":"Tu firma digital","Buddy_fingerprint":"firma digital de tu amigo","Close":"Cerrar","Compared":"Comparado","To_authenticate_using_a_question_":"Para autenticar mediante una pregunta, elegid una pregunta cuya respuesta se conoce solo usted y su amigo.","Ask":"Preguntar","To_authenticate_pick_a_secret_":"Para autenticar, elija un secreto conocido solo por usted y su amigo.","Compare":"Comparar","Fingerprints":"Firmas digitales","Authentication":"Autenticación","Message":"Mensaje","Add_buddy":"Añadir amigo","rename_buddy":"renombrar amigo","delete_buddy":"eliminar amigo","Login":"Iniciar Sesión","Username":"Usuario","Password":"Contraseña","Cancel":"Cancelar","Connect":"Conectar","Type_in_the_full_username_":"Escriba el usuario completo y un alias opcional.","Alias":"Alias","Add":"Añadir","Subscription_request":"Solicitud de suscripción","You_have_a_request_from":"Tienes una petición de","Deny":"Rechazar","Approve":"Aprobar","Remove_buddy":"Eliminar amigo","You_are_about_to_remove_":"Vas a eliminar a __bid_name__ (<b>__bid_jid__</b>) de tu lista de amigos. Todas las conversaciones relacionadas serán cerradas.","Continue_without_chat":"Continuar","Please_wait":"Espere por favor","Login_failed":"Fallo el inicio de sesión","Sorry_we_cant_authentikate_":"Lo sentimos, no podemos autentificarlo en nuestro servidor de chat. ¿Tal vez la contraseña es incorrecta?","Retry":"Reintentar","clear_history":"Borrar el historial","New_message_from":"Nuevo mensaje de __name__","Should_we_notify_you_":"¿Debemos notificarle sobre nuevos mensajes en el futuro?","Please_accept_":"Por favor, haga clic en el botón \"Permitir\" en la parte superior.","Hide_offline":"Ocultar contactos desconectados","Show_offline":"Mostrar contactos desconectados","About":"Acerca de","dnd":"No Molestar","Mute":"Desactivar sonido","Unmute":"Activar sonido","Subscription":"Suscripción","both":"ambos","Status":"Estado","online":"en línea","chat":"chat","away":"ausente","xa":"más ausente","offline":"desconectado","none":"nadie","Unknown_instance_tag":"Etiqueta de instancia desconocida.","Not_one_of_our_latest_keys":"No una de nuestras última claves.","Received_an_unreadable_encrypted_message":"Se recibió un mensaje cifrado ilegible.","Online":"En linea","Chatty":"Hablador","Away":"Ausente","Extended_away":"Más ausente","Offline":"Desconectado","Friendship_request":"Solicitud de amistad","Confirm":"Confirmar","Dismiss":"Rechazar","Remove":"Eliminar","Online_help":"Ayuda en línea","FN":"Nombre completo ","N":" ","FAMILY":"Apellido","GIVEN":"Nombre","NICKNAME":"Apodo","URL":"URL","ADR":"Dirección","STREET":"Calle","EXTADD":"Dirección extendida","LOCALITY":"Población","REGION":"Región","PCODE":"Código postal","CTRY":"País","TEL":"Teléfono","NUMBER":"Número","EMAIL":"Correo electrónico","USERID":" ","ORG":"Organización","ORGNAME":"Nombre","ORGUNIT":"Departamento","TITLE":"Título","ROLE":"Rol","BDAY":"Cumpleaños","DESC":"Descripción","PHOTO":" ","send_message":"mandar un texto","get_info":"obtener información","Settings":"Ajustes","Priority":"Prioridad","Save":"Guardar","User_settings":"Configuración de usuario","A_fingerprint_":"La huella digital se utiliza para que puedas estar seguro que la persona con la que estas hablando es quien realmente dice ser","is":"es","Login_options":"Opciones de login","BOSH_url":"BOSH url","Domain":"Dominio","Resource":"Recurso","On_login":"Iniciar sesión","Received_an_unencrypted_message":"Recibe un mensaje no cifrado","Sorry_your_buddy_doesnt_provide_any_information":"Lo sentimos, su amigo no provee ninguna información.","Info_about":"Info acerca de","Authentication_aborted":"Autenticación abortada","Authentication_request_received":"Pedido de autenticación recibido.","Log_in_without_chat":"Ingresar sin chat","has_come_online":"se ha conectado","Unknown_sender":"Remitente desconocido","Please_allow_access_to_microphone_and_camera":"Por favor, permitir el acceso al micrófono y la cámara.","Incoming_call":"Llamada entrante","from":"de","Do_you_want_to_accept_the_call_from":"Desea aceptar la llamada de","Reject":"Rechazar","Accept":"Aceptar","hang_up":"colgar","snapshot":"instantánea","mute_my_audio":"silenciar mi audio","pause_my_video":"pausar mi vídeo","fullscreen":"pantalla completa","Info":"Info","Local_IP":"IP local","Remote_IP":"IP remota","Local_Fingerprint":"Firma digital local","Remote_Fingerprint":"Firma digital remota","Video_call_not_possible":"Llamada de vídeo no es posible","Start_video_call":"Iniciar llamada de vídeo","Join_chat":"Unirse al chat","Join":"Unirse","Room":"Sala","Nickname":"Alias","left_the_building":"__nickname__ dejó el edificio","entered_the_room":"__nickname__ entró en la sala","is_now_known_as":"__oldNickname__ ahora es conocido como __newNickname__","This_room_is":"Esta sala es","muc_hidden":{"keyword":"oculta","description":"no se encontró mediante la búsqueda"},"muc_membersonly":{"keyword":"miembros solo","description":"necesitas estar en la lista de miembros"},"muc_moderated":{"keyword":"moderada","description":"solo personas con \"voice\" están permitidas para mandar mensajes"},"muc_nonanonymous":{"keyword":"no anónima","description":"tu id de jabber es expuesta al resto de ocupantes"},"muc_open":{"keyword":"abierta","description":"todo el mundo puede unirse"},"muc_passwordprotected":{"keyword":"protegida por contraseña","description":"necesitas dar la contraseña correcta"},"muc_persistent":{"keyword":"persistente","description":"no será destruida si el último ocupante sale"},"muc_public":{"keyword":"pública","description":"puede ser encontrada mediante la búsqueda"},"muc_semianonymous":{"keyword":"semi-anónima","description":"tu id de jabber es expuesta a los administradores de la sala"},"muc_temporary":{"keyword":"temporal","description":"será destruida si el último ocupante sale"},"muc_unmoderated":{"keyword":"no moderada","description":"todo el mundo puede enviar mensajes"},"muc_unsecured":{"keyword":"sin asegurar","description":"no necesitas contraseña para entrar"},"Continue":"Continuar","Server":"Servidor","Rooms_are_loaded":"Las salas han sido cargadas","Could_load_only":"Se cargaron solo __count__ salas para el autocompletado","muc_explanation":"Por favor introduce el nombre de la sala, un alias opcional y una contraseña para unirse al chat","You_already_joined_this_room":"Ya te has unido a esta sala","This_room_will_be_closed":"Esta sale será cerrada","Room_not_found_":"Sala no encontrada","Loading_room_information":"Cargando información de la sala","Destroy":"Destruir","Leave":"Abandonar","changed_subject_to":"__nickname__ cambió el asunto de la sala a \"__subject__\"","muc_removed_kicked":"Has sido echado de la sala","muc_removed_info_kicked":"__nickname__ ha sido echado de la sala","muc_removed_banned":"Has sido expulsado de la sala","muc_removed_info_banned":"__nickname__ ha sido expulsado","muc_removed_affiliation":"Has sido eliminado de la sala debido a un cambio en la afiliación","muc_removed_info_affiliation":"__nickname__ ha sido eliminado de la sala debido a un cambio en la afiliación","muc_removed_membersonly":"Has sido eliminado de la sala debido a que la sala ha sido cambiada a miembros solo y tú no eres un miembro","muc_removed_info_membersonly":"__nickname__ ha sido eliminado de la sala debido a que la sala ha sido cambiada a miembros solo y tú no eres un miembro","muc_removed_shutdown":"Has sido eliminado de la sala debido a que el servicio MUC está siendo apagado","Reason":"Razón","message_not_send":"Tu mensaje no fue enviado debido a un error","message_not_send_item-not-found":"Tu mensaje no fue enviado debido a que esta sala no existe","message_not_send_forbidden":"Tu mensaje no fue enviado debido a que no tienes voz en esta sala","message_not_send_not-acceptable":"Tu mensaje no fue enviado debido a que no eres un ocupante de esta sala ","This_room_has_been_closed":"Esta sala ha sido cerrada","Room_logging_is_enabled":"Log de sala está habilitado","A_password_is_required":"Se requiere una contraseña","You_are_not_on_the_member_list":"No estás en la lista de miembros","You_are_banned_from_this_room":"Estás expulsado de esta sala","Your_desired_nickname_":"Tu alias ya está en uso. Por favor elige otro","The_maximum_number_":"El máximo número de usuarios ha sido alcanzado en esta sala","This_room_is_locked_":"Esta sala está bloqueada","You_are_not_allowed_to_create_":"No tienes permiso para crear una sala","Alert":"Alerta","Call_started":"Llamada empezada","Call_terminated":"Llamada terminada","Carbon_copy":"Calco","Enable":"Activar","jingle_reason_busy":"ocupado","jingle_reason_decline":"rechazar","jingle_reason_success":"colgar","Media_failure":"Fallo multimedia","No_local_audio_device":"No hay dispositivo de audio local","No_local_video_device":"No hay dispositivo de vídeo local","Ok":"Ok","PermissionDeniedError":"Tú o tu navegador denegaron el permiso de audio/vídeo","Use_local_audio_device":"Usar dispositivo de audio local","Use_local_video_device":"Usar dispositivo de vídeo","is_":"es __status__","You_received_a_message_from_an_unknown_sender_":"Ha recibido un mensaje de un remitente desconocido (__sender__) ¿Quiere mostrarlos?","Your_roster_is_empty_add_":"Tu lista de amigos esta vacía, añadir un <a>nuevo amigo</a>","onsmp_explanation_question":"Tu amigo está tratando de determinar si él o ella está realmente hablando con usted. Para autenticar a su amigo, introduce la respuesta y haga clic en Contestar.","onsmp_explanation_secret":"Tu amigo está tratando de determinar si él o ella está realmente hablando con usted. Para autenticar a su amigo, especifique el secreto.","from_sender":"de __sender__","Verified_private_conversation_started":"Verificado se inició una conversación privada.","Unverified_private_conversation_started":"No verificado se inició una conversación privada.","Bookmark":"Favorito","Auto-join":"Auto-unir","Edit_bookmark":"Editar favorito","Room_logging_is_disabled":"Log de sala está deshabilitado","Room_is_now_non-anoymous":"La sala es ahora no anónima","Room_is_now_semi-anonymous":"La sale es ahora semi-anónima","Do_you_want_to_change_the_default_room_configuration":"¿Quieres cambiar la configuración por defecto de la sala?","Default":"Por defecto","Change":"Cambiar","Send_file":"Enviar archivo","setting-explanation-carbon":"Con el Calco habilitado tu servidor XMPP enviará una copia de cada mensaje entrante dirigido a ti a este cliente incluso si no estaba siendo enviado a él","setting-explanation-login":"Si esta opción está habilitada, el chat empezará al inicio de sesión","setting-explanation-priority":"Si tú has iniciado sesión varias veces con la misma cuenta, tu servidor XMPP enviará los mensajes al cliente con la mayor prioridad","setting-explanation-xmpp":"Estas opciones son usadas para conectar con el servidor XMPP","_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"fi":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"fr":{"translation":{"Logging_in":"Connexion...","your_connection_is_unencrypted":"Connexion non chiffrée.","your_connection_is_encrypted":"Connexion chiffrée.","your_buddy_closed_the_private_connection":"Votre contact a fermé la connexion privée.","start_private":"Démarrer une conversation privée","close_private":"Clôturer une conversation privée","your_buddy_is_verificated":"Votre contact est vérifié.","you_have_only_a_subscription_in_one_way":"Vous ne pouvez souscrire qu'une fois.","authentication_query_sent":"Requête d’authentification envoyée.","your_message_wasnt_send_please_end_your_private_conversation":"Votre message n'a pas été envoyé. Veuillez terminer votre conversation privée.","unencrypted_message_received":"Message non chiffré reçu","not_available":"Non disponible","no_connection":"Pas de connexion !","relogin":"Re-connexion","trying_to_start_private_conversation":"Essai de démarrage d'une conversation privée !","Verified":"Vérifié","Unverified":"Non vérifié","private_conversation_aborted":"Conversation privée interrompue !","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Votre contact a fermé la conversation privée ! Vous devriez faire de même.","conversation_is_now_verified":"La conversation est maintenant vérifiée.","authentication_failed":"L'authentification a échoué.","Creating_your_private_key_":"Création de votre clé privée; cela peut prendre un moment.","Authenticating_a_buddy_helps_":"L'authentification d'un contact permet de s'assurer que la personne à qui vous parlez est vraiment celui qu'il ou elle prétend être.","How_do_you_want_to_authenticate_your_buddy":"Comment voulez-vous vous authentifier __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Sélection de la méthode...","Manual":"Manuel","Question":"Question","Secret":"Sécurité","To_verify_the_fingerprint_":"Pour vérifier l'empreinte, joignez votre contact via un autre canal digne de confiance, tel que le téléphone.","Your_fingerprint":"Votre empreinte","Buddy_fingerprint":"Empreinte du contact","Close":"Fermer","Compared":"Comparé","To_authenticate_using_a_question_":"Pour s'authentifier à l'aide d'une question, choisissez une question dont la réponse n'est connue que vous et de votre contact.","Ask":"Demander","To_authenticate_pick_a_secret_":"Pour vous authentifier, choisissez un secret connu seulement de vous et de votre contact.","Compare":"Comparer","Fingerprints":"Empreintes","Authentication":"Authentification","Message":"Message","Add_buddy":"Ajouter un contact","rename_buddy":"Renommer le contact","delete_buddy":"Supprimer le contact","Login":"Connexion","Username":"Nom d'utilisateur","Password":"Mot de passe","Cancel":"Annuler","Connect":"Connecter","Type_in_the_full_username_":"Tapez un nom d'utilisateur complet et un alias(optionnel).","Alias":"Alias","Add":"Ajouter","Subscription_request":"Demande d'abonnement","You_have_a_request_from":"Vous avez une requête de ","Deny":"Refuser","Approve":"Approuver","Remove_buddy":"Supprimer le contact","You_are_about_to_remove_":"Vous allez retirer __bid_name__ (<b>__bid_jid__</b>) de votre liste de contacts. Toutes les fenêtres de discussion en lien avec celui-ci seront fermées.","Continue_without_chat":"Continuer sans tchat","Please_wait":"Merci de patienter","Login_failed":"Authentification échouée","Sorry_we_cant_authentikate_":"La connexion avec le serveur de tchat a échoué. Vérifiez le mot de passe.","Retry":"Retour","clear_history":"Effacer l’historique","New_message_from":"Nouveau message de __name__","Should_we_notify_you_":"Dans le futur, devrons-nous vous notifier les nouveaux messages ?","Please_accept_":"Merci de cliquer sur le bouton \"autoriser\" en haut de page","Hide_offline":"Masquer les contacts non connectés","Show_offline":"Afficher les contacts non connectés","About":"À propos","dnd":"Ne pas déranger","Mute":"Muet","Unmute":"Son actif","Subscription":"Abonnement","both":"Les deux","Status":"Statut","online":"En ligne","chat":"tchat","away":"Absent","xa":"Longue absence","offline":"Hors ligne","none":"Aucun","Unknown_instance_tag":"Tag inconnu","Not_one_of_our_latest_keys":"Ce n'est pas l'une des dernières touches","Received_an_unreadable_encrypted_message":"Message chiffré non lisible","Online":"En ligne","Chatty":"Libre pour discuter","Away":"Absent","Extended_away":"Longue absence","Offline":"Hors ligne","Friendship_request":"Demande de contact","Confirm":"Valider","Dismiss":"Rejeter","Remove":"Supprimer","Online_help":"Aide en ligne","FN":"Nom","N":" N ","FAMILY":"Nom de famille","GIVEN":"prénom","NICKNAME":"Pseudo","URL":"URL","ADR":"Adresse","STREET":"Rue","EXTADD":"Adresse (suite)","LOCALITY":"Localité","REGION":"Région","PCODE":"Code Postal","CTRY":"Pays","TEL":"Téléphone","NUMBER":"Numéro","EMAIL":"Courriel","USERID":" USERID ","ORG":"Organisation","ORGNAME":"Nom","ORGUNIT":"Unité","TITLE":"Qualité:","ROLE":"Rôle","BDAY":"Date de naissance","DESC":"Description","PHOTO":"Photo","send_message":"Envoyer un message","get_info":"Montrer les informations","Settings":"Réglages","Priority":"Priorité","Save":"Enregistrer","User_settings":"Paramètres utilisateur","A_fingerprint_":"Une empreinte est utilisée pour s'assurer de l'identité de la personne à qui vous parlez","is":"est","Login_options":"Options d'identification","BOSH_url":"URL BOSH","Domain":"Domaine","Resource":"Ressource","On_login":"Après authentification","Received_an_unencrypted_message":"Reçu un message non chiffré","Sorry_your_buddy_doesnt_provide_any_information":"Désolé, votre contact n'a pas fourni d'informations","Info_about":"À propos de","Authentication_aborted":"Authentification interrompue.","Authentication_request_received":"Requête d'authentification reçue.","Log_in_without_chat":"S'identifier sans tchat","has_come_online":"vient d'arriver","Unknown_sender":"Expéditeur inconnu","Please_allow_access_to_microphone_and_camera":"Veuillez cliquez sur le bouton \"Autoriser\" en haut, pour permettre l'accès au micro et à la caméra.","Incoming_call":"Appel entrant","from":"de","Do_you_want_to_accept_the_call_from":"Voulez-vous accepter l'appel de","Reject":"Rejeté","Accept":"Accepté","hang_up":"raccrocher","snapshot":"Capture d’écran","mute_my_audio":"Couper l'audio","pause_my_video":"Mettre ma vidéo en pause","fullscreen":"Plein écran","Info":"Info","Local_IP":"IP locale","Remote_IP":"IP distante","Local_Fingerprint":"Empreinte locale","Remote_Fingerprint":"Empreinte distante","Video_call_not_possible":"L'appel vidéo n'est possible. Votre contact ne supporte pas les appels vidéo.","Start_video_call":"Démarrer l'appel vidéo","Join_chat":"Joindre la discussion","Join":"Joindre","Room":"Salon","Nickname":"Pseudo","left_the_building":"__nickname__ a quitté l'immeuble","entered_the_room":"__nickname__ entre dans le salon","is_now_known_as":"__oldNickname__ est maintenant connu comme __newNickname__","This_room_is":"Ce salon est","muc_hidden":{"keyword":"caché","description":"ne peut être trouvé avec une recherche"},"muc_membersonly":{"keyword":"pour les membres seulement","description":"Vous devez être sur la liste des membres"},"muc_moderated":{"keyword":"modéré","description":"Seulement les personnes avec la \"voix\" sont autorisés à envoyer des messages"},"muc_nonanonymous":{"keyword":"non anonyme","description":"Votre identifiant Jabber est visible de tous les autres occupants"},"muc_open":{"keyword":"ouvert","description":"Tout le monde est autorisé à se connecter"},"muc_passwordprotected":{"keyword":"protégé par un mot de passe","description":"Vous devez fournir un mot de passe correct"},"muc_persistent":{"keyword":"persistent","description":"ne sera pas détruit si le dernier occupant part"},"muc_public":{"keyword":"public","description":"peut être touvé avec une recherche"},"muc_semianonymous":{"keyword":"semi-anonyme","description":"Votre identifiant Jabber est seulement visible aux administrateurs de ce salon"},"muc_temporary":{"keyword":"temporaire","description":"sera détruit au départ de son dernier occupant"},"muc_unmoderated":{"keyword":"non modéré","description":"Tout le monde est autorisé à envoyer des messages"},"muc_unsecured":{"keyword":"non sécurisé","description":"un mot de passe n'est pas nécessaire pour entrer"},"Continue":"Continuer","Server":"Serveur","Rooms_are_loaded":"Les salons sont chargés","Could_load_only":"Ne peut charger que __count__ salons pour l'autocomplétion","muc_explanation":"Veuillez saisir le nom du salon, un surnom (optionnel) et un mot de passe pour joindre la conversation","You_already_joined_this_room":"Vous avez déjà rejoint ce salon","This_room_will_be_closed":"Ce salon va être fermé","Room_not_found_":"Un nouveau salon va être créé","Loading_room_information":"Chargement des informations du salon","Destroy":"Détruire","Leave":"Quitter","changed_subject_to":"__nickname__ a changé le sujet du salon à \"__subject__\"","muc_removed_kicked":"Vous avez été éjecté de ce salon","muc_removed_info_kicked":"__nickname__ a été éjecté de ce salon","muc_removed_banned":"Vous avez été banni de ce salon","muc_removed_info_banned":"__nickname__ a été banni de ce salon","muc_removed_affiliation":"Vous avez été retiré du salon en raison d'un changement d'affiliation","muc_removed_info_affiliation":"__nickname__ a été retiré du salon en raison d'un changement d'affiliation","muc_removed_membersonly":"Vous avez été retiré du salon parce que celui-ci est maintenant réservé aux membres et vous n'en faites pas partie","muc_removed_info_membersonly":"__nickname__ a été retiré du salon parce que celui-ci est maintenant réservé aux membres","muc_removed_shutdown":"Vous avez été retiré du salon parce que le service de salon de discussion est en train de s'éteindre","Reason":"Raison","message_not_send":"Votre message n'a pu être envoyé a cause d'une erreur","message_not_send_item-not-found":"Votre message n'a pu être envoyé parce que ce salon n'existe pas","message_not_send_forbidden":"Votre message n'a pas été envoyé parce que vous n'avez pas le droit de parler dans ce salon","message_not_send_not-acceptable":"Votre message n'a pas été envoyé car il n'y a personne dans ce salon","This_room_has_been_closed":"Ce salon a été fermé","Room_logging_is_enabled":"L'historique du salon est conservé","A_password_is_required":"Un mot de passe est requis","You_are_not_on_the_member_list":"Vous n'êtes pas sur la liste des membres","You_are_banned_from_this_room":"Vous avez été banni de ce salon","Your_desired_nickname_":"Votre pseudo souhaité est déjà utilisé. Veuillez en choisir un autre","The_maximum_number_":"Le nombre maximum d'utilisateurs est atteint dans ce salon","This_room_is_locked_":"Ce salon est verrouillé","You_are_not_allowed_to_create_":"Vous n'êtes pas autorisé à créer un salon","Alert":"Alerte","Call_started":"Appel démarré","Call_terminated":"Appel terminé","Carbon_copy":"Copie carbone","Enable":"Activé","jingle_reason_busy":"occupé","jingle_reason_decline":"refusé","jingle_reason_success":"raccroché","Media_failure":"échec du média","No_local_audio_device":"Pas de périphérique audio local","No_local_video_device":"Pas de périphérique vidéo local","Ok":"Ok","PermissionDeniedError":"Vous ou votre navigateur avez refusé de donner des permissions audio/vidéo","Use_local_audio_device":"Utiliser un périphérique audio local.","Use_local_video_device":"Utiliser un périphérique vidéo local.","is_":"est __status__","You_received_a_message_from_an_unknown_sender_":"Vous avez reçu un message d'un expéditeur inconnu (__sender__) Voulez-vous les afficher ?","Your_roster_is_empty_add_":"Votre liste est vide, ajouter <a>Nouveau contact</a>","onsmp_explanation_question":"Votre contact tente de déterminer si il ou elle parle vraiment à vous. Pour vous authentifier auprès de votre contact, saisissez une réponse et cliquez sur Répondre.","onsmp_explanation_secret":"Votre contact tente de déterminer si il ou elle parle vraiment à vous. Pour vous authentifier auprès de votre contact, entrez le mot secret","from_sender":"de __sender__","Verified_private_conversation_started":"La conversation privée vérifiée a démarré.","Unverified_private_conversation_started":"La conversation privée non vérifiée a démarré.","Bookmark":"Marque-page","Auto-join":"Joindre automatiquement","Edit_bookmark":"Éditer le marque-page","Room_logging_is_disabled":"La connexion au salon est désactivée","Room_is_now_non-anoymous":"Ce salon n'est désormais plus anonyme","Room_is_now_semi-anonymous":"Ce salon est désormais semi-anonyme","Do_you_want_to_change_the_default_room_configuration":"Voulez-vous changer la configuration par défaut du salon ?","Default":"Par défaut","Change":"Changer","Send_file":"Envoyer un fichier","setting-explanation-carbon":"Avec la copie carbone activé, votre serveur XMPP envera une copie de tous les messages entrant qui vous sont destiné à ce client, même s'il ne lui sont pas directement addressés.","setting-explanation-login":"Si cette option est activé, le chat commencera lorsque vous vos connectez.","setting-explanation-priority":"Si vous êtes connecté plusieurs fois avec le même compte, votre serveur XMPP enverra les messages au client ayant le plus haute priorité.","setting-explanation-xmpp":"Ces options sont utilisées pour se connecter au serveur XMPP.","_is_composing":" est en train d'écrire...","_are_composing":" sont en train d'écrire...","Chat_state_notifications":"Notifications de composition","setting-explanation-chat-state":"Voulez-vous envoyer et recevoir les notifications de composition, comme lorsque quelqu'un commence ou arrête d'écrire un message ?","Share_screen":"Ecran partagé","Incoming_stream":"Flux entrant","Stream_started":"flux démarré","HTTPS_REQUIRED":"Cette action nécessite une connexion cryptée.","EXTENSION_UNAVAILABLE":"Vous avez besoin d'une extension / d'un addon pour votre navigateur.","UNKNOWN_ERROR":"Une erreur inconnue s'est produite.","Install_extension":"Veuillez installer l'extension afin d'utiliser le partage d'écran: ","Connection_accepted":"Connexion acceptée","Stream_terminated":"Flux terminé","Close_all":"Tout fermer","Notification":null,"Unreadable_OTR_message":null}},"hu-HU":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":"Az Ön kapcsolata titkosítatlan.","your_connection_is_encrypted":"Az Ön kapcsolata titkosított.","your_buddy_closed_the_private_connection":"Partnere megszakította a privát kapcsolatot.","start_private":"Privát beszélgetés indítása","close_private":"Privát beszélgetés bezárása","your_buddy_is_verificated":"Az Ön partnere megerősítve.","you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":"Azonosítási kérelem elküldve.","your_message_wasnt_send_please_end_your_private_conversation":"Az üzenetet nem sikerült elküldeni. Kérem fejezze be a privát beszélgetést.","unencrypted_message_received":"Titkosítatlan üzenet fogadva","not_available":"Nem elérhető","no_connection":"Nincs kapcsolat!","relogin":"relogin","trying_to_start_private_conversation":"Privát beszélgetés indítása!","Verified":"Megerősítve","Unverified":"Nem megerősített","private_conversation_aborted":"Privát beszélgetés megszakítva!","your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":"Azonosítás sikertelen.","Creating_your_private_key_":"Privát kulcs generálása. Egy kis időbe telhet...","Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":"Kérdés","Secret":"Kulcs","To_verify_the_fingerprint_":null,"Your_fingerprint":"Az Ön lenyomata","Buddy_fingerprint":"Partnere lenyomata","Close":"Bezárás","Compared":"Összehasonlítva","To_authenticate_using_a_question_":"Az azonosításhoz adjon meg egy kérdést, amelyre a választ csak Ön és Partnere ismerhetik.","Ask":"Kérdez","To_authenticate_pick_a_secret_":"Az azonosításhoz adjon meg egy titkot, amelyet csak Ön és Partnere ismerhetnek.","Compare":"Összehasonlítás","Fingerprints":"Lenyomatok","Authentication":"Azonosítás","Message":"Üzenet","Add_buddy":"Partner hozzáadása","rename_buddy":"Partner átnevezése","delete_buddy":"Partner törlése","Login":"Belépés","Username":"Felhasználónév","Password":"Jelszó","Cancel":"Mégsem","Connect":"Csatlakozás","Type_in_the_full_username_":"Adjon meg egy teljes felhasználónevet, és egy opcionális becenevet.","Alias":"Becenév","Add":"Hozzáadás","Subscription_request":"Feliratkozási kérelem","You_have_a_request_from":"Ön felkérést kapott a következőtől","Deny":"Elutasít","Approve":"Jóváhagy","Remove_buddy":"Partner eltávolítása","You_are_about_to_remove_":null,"Continue_without_chat":"Folytatás chat nélkül","Please_wait":"Kérem várjon","Login_failed":"Chat bejelentkezés sikertelen","Sorry_we_cant_authentikate_":null,"Retry":"Vissza","clear_history":"Előzmények törlése","New_message_from":"Új üzenet __name__ partnerétől","Should_we_notify_you_":"Kívánja hogy értesítsük a jövőben új üzeneteiről?","Please_accept_":"Kérem kattintson a fent megjelenő \"Engedélyez\" gombra.","Hide_offline":"Offline partnerek elrejtése","Show_offline":"Offline partnerek mutatása","About":null,"dnd":"Ne zavarj","Mute":"Némítás","Unmute":"Hangok engedélyezése","Subscription":null,"both":"mindkettő","Status":"Állapot","online":"elérhető","chat":null,"away":"távol","xa":"huzamosabban távol","offline":"offline","none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":"Teljes név","N":null,"FAMILY":"Családi név","GIVEN":"Keresztnév","NICKNAME":"Becenév","URL":"URL","ADR":"Cím","STREET":"Utcanév","EXTADD":"Cím","LOCALITY":"Helység","REGION":"Régió","PCODE":"Irányítószám","CTRY":"Ország","TEL":"Telefonszám","NUMBER":"Házszám","EMAIL":"E-mail cím","USERID":null,"ORG":"Vállalat","ORGNAME":"Név","ORGUNIT":"Osztály","TITLE":"Beosztás","ROLE":"Részleg","BDAY":"Születésnap","DESC":"Leírás","PHOTO":null,"send_message":"Üzenet küldése","get_info":"Info mutatása","Settings":"Beállítások","Priority":"Prioritás","Save":"Mentés","User_settings":"Felhasználó beállítások","A_fingerprint_":null,"is":null,"Login_options":"Bejelentkezési lehetőségek","BOSH_url":"BOSH URL","Domain":"Domain","Resource":"Erőforrás","On_login":"Bejelentkezéskor","Received_an_unencrypted_message":"Titkosítatlan üzenetet fogadott","Sorry_your_buddy_doesnt_provide_any_information":"Sajnos az Ön partnere nem adott meg semmilyen információt.","Info_about":null,"Authentication_aborted":"Azonosítás megszakítva.","Authentication_request_received":"Azonosítási kérelem fogadva.","Log_in_without_chat":"Bejelentkezés chat nélkül","has_come_online":"bejelentkezett","Unknown_sender":"Ismeretlen küldő","Please_allow_access_to_microphone_and_camera":"Kérem kattintson a fent megjelenő \"Engedélyez/Allow\" gombra hogy hozzáférést biztosítson mikrofonjához és kamerájához.","Incoming_call":"Bejövő hívás","from":"tőle","Do_you_want_to_accept_the_call_from":"Szeretné fogadni következő partnere hívását:","Reject":"Elutasít","Accept":"Fogadás","hang_up":"tartás","snapshot":"képernyőfotó","mute_my_audio":"hangom némítása","pause_my_video":"videóképem megállítása","fullscreen":"teljes képernyő","Info":"Info","Local_IP":"Helyi IP","Remote_IP":"Távoli IP","Local_Fingerprint":"Helyi lenyomat","Remote_Fingerprint":"Távoli lenyomat","Video_call_not_possible":"Videóhívás nem lehetséges. Az Ön partnerének készüléke nem támogatja a videóhívásokat.","Start_video_call":"Videóhívás indítása","Join_chat":"Belépés a chatbe","Join":"Belépés","Room":"Szoba","Nickname":"Becenév","left_the_building":"__nickname__ elhagyta az épületet.","entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"it":{"translation":{"Logging_in":"login…","your_connection_is_unencrypted":"La sua connessione è non cifrata.","your_connection_is_encrypted":"La sua connessione è cifrata.","your_buddy_closed_the_private_connection":"La sua connessione privata è stato chiuso dal suo compagno.","start_private":"Inizia privata","close_private":"Chiude privata","your_buddy_is_verificated":"Il tuo compagno è stato verificato","you_have_only_a_subscription_in_one_way":"Hai solo una one-way inscrizione.","authentication_query_sent":"Domanda d'autenticità inviata.","your_message_wasnt_send_please_end_your_private_conversation":"Il tuo messaggio non è stato inviato. Si prega di finire la sua conversazione privata.","unencrypted_message_received":"Messaggio non cifrato ricevuto","not_available":"non disponibile","no_connection":"nessun collegamento!","relogin":"nuovo login","trying_to_start_private_conversation":"Cercando di avviare una conversazione privata!","Verified":"verificato","Unverified":"non verificato","private_conversation_aborted":"Conversazione privata abortito!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Il tuo compagno ha chiuso la conversazione privata! Si dovrebbe fare lo stesso.","conversation_is_now_verified":"Conversazione è ora verificato.","authentication_failed":"autenticazione fallita.","Creating_your_private_key_":"Creare la propria chiave privata; questo potrebbe richiedere un po'.","Authenticating_a_buddy_helps_":"Autenticazione un compagno aiuta a garantire che la persona si sta parlando è davvero quello che lui o lei sostiene di essere.","How_do_you_want_to_authenticate_your_buddy":"Come si desidera autenticare __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Seleziona metodo ..","Manual":"manuale","Question":"domanda","Secret":"segreto","To_verify_the_fingerprint_":"Per verificare l'impronta digitale, contattare il proprio compagno attraverso qualche altro canale affidabile, come il telefono.","Your_fingerprint":"il tuo impronta digitale","Buddy_fingerprint":"impronta digitale da compagno","Close":"chiude","Compared":"comparato","To_authenticate_using_a_question_":"Per autenticare tramite una questione, scegli una questione la cui risposta è nota solo voi e il tuo compagno","Ask":"chiedi","To_authenticate_pick_a_secret_":"Per autenticare, scegli un segreto noto solo a te e il tuo compagno.","Compare":"Comparare","Fingerprints":"Impronta digitale","Authentication":"Autenticazione","Message":"Messagio","Add_buddy":"Aggiungi un compagno","rename_buddy":"rinomina compagno","delete_buddy":"elimina compagno","Login":"Login","Username":"Identificazione dell'utente","Password":"Password","Cancel":"Cancella","Connect":"Collega","Type_in_the_full_username_":"Digita l'identificazione utente completo e un alias opzionale.","Alias":"Alias","Add":"Aggiungi","Subscription_request":"Rrichiesta di sottoscrizione","You_have_a_request_from":"Hai una richiesta da","Deny":"Refiuta","Approve":"Approva","Remove_buddy":"Rimuova il compagno","You_are_about_to_remove_":"Stai rimovendo __bid_name__ (<b>__bid_jid__</b>) del suo lista di compagni. Tutte le chat appartenente saranno chiuse.","Continue_without_chat":"Continua senza chat","Please_wait":"Si prega d'attendere","Login_failed":"Chat login è fallito","Sorry_we_cant_authentikate_":"Autenticazione non riuscita con il server di chat. Forse la password è sbagliata?","Retry":"Indietro","clear_history":"Cancella la cronologia","New_message_from":"Nuovo messaggio da __name__","Should_we_notify_you_":"Vuoi ricevere una notifica di nuovi messaggi in futuro?","Please_accept_":"Si prega di fare clic sul bottone \"Autorizzazione\" sopra.","Hide_offline":"Nascondere i contatti non in linea","Show_offline":"Mostra i contatti non in linea","About":"Informazione legale","dnd":"Non disturbare","Mute":"Muto attivo","Unmute":"Muto inattivo","Subscription":"Sottoscrizione","both":"etrambi","Status":"Status","online":"In linea","chat":"chat","away":"via","xa":"via estensivo","offline":"non in linea","none":"nessuno","Unknown_instance_tag":"Instance tag sconosciuta.","Not_one_of_our_latest_keys":"Non è una delle nostre ultime chiavi.","Received_an_unreadable_encrypted_message":"Ricevuto un messaggio crittografato illeggibile.","Online":"In linea","Chatty":"Chiacchierino","Away":"Via","Extended_away":"Via estensivo","Offline":"Non in linea","Friendship_request":"Amicizia richiesto","Confirm":"Conferma","Dismiss":"Rifiuta","Remove":"Rimuovi","Online_help":"Guida in linea","FN":"Nome e cognome","N":null,"FAMILY":"Cognome","GIVEN":"Nome","NICKNAME":"Soprannome","URL":"URL","ADR":"Indirizzo","STREET":"Via","EXTADD":"Esteso Indirizzo","LOCALITY":"Località","REGION":"Regione","PCODE":"Codice Postale","CTRY":"Paese","TEL":"Telefono","NUMBER":"Numero","EMAIL":"E-mail","USERID":null,"ORG":"Organizzazione","ORGNAME":"Nome","ORGUNIT":"Unità","TITLE":"Titolo di lavoro","ROLE":"Funzione","BDAY":"Compleanno","DESC":"Descrizione","PHOTO":null,"send_message":"Messagio inviato","get_info":"Mostra informazioni","Settings":"Impostazione","Priority":"Priorità","Save":"Salva","User_settings":"Impostazione dell'utente","A_fingerprint_":"Una impronta digitale è usato per assicurarsi che la persona con cui stai parlando è lui o lei che sta dicendo.","is":"è","Login_options":"Opzioni di login","BOSH_url":"BOSH URL","Domain":"Domain","Resource":"Risorsa","On_login":"Login on","Received_an_unencrypted_message":"Ricevuto un messaggio non crittografato","Sorry_your_buddy_doesnt_provide_any_information":"Spiace, il tuo compagno non fornisce alcuna informazione.","Info_about":"Informazioni","Authentication_aborted":"Autenticazione interrotta","Authentication_request_received":"Richiesta di autenticazione ricevuto.","Log_in_without_chat":"Log in senza chat","has_come_online":"È venuto in linea","Unknown_sender":"Mittente sconosciuto","Please_allow_access_to_microphone_and_camera":"Si prega di fare clic sul bottone \"Autorizzazione\" sopra per autorizzazione del l'accesso al microfono e fotocamera.","Incoming_call":"Chiamata in arrivo","from":"di","Do_you_want_to_accept_the_call_from":"Vuoi accettare la chiamata di","Reject":"Rifiuta","Accept":"Accetta","hang_up":"Riattacca","snapshot":"istantanea","mute_my_audio":"disattiva il mio audio","pause_my_video":"pausa il mio audio","fullscreen":"schermo intero","Info":"Informazione","Local_IP":"IP locale","Remote_IP":"IP remoto","Local_Fingerprint":"Impronta digitale locale","Remote_Fingerprint":"Impronta digitale remoto","Video_call_not_possible":"Videochiamata non è possibile. Il tuo compagno non può effettuare videochiamate.","Start_video_call":"Inizia videochiamata","Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":"è __status__","You_received_a_message_from_an_unknown_sender_":"Hai ricevuto un messaggio da un mittente sconosciuto (__sender__) Vuoi che venga visualizzato?","Your_roster_is_empty_add_":"Il suo elenco è vuoto, aggiungi un <a>compagno nuovo</a>","onsmp_explanation_question":"Il tuo compagno sta cercando di determinare se lui o lei sta davvero parlando con te. Per autenticare a il tuo compagno. inserisci la risposta e fare click su risposta.","onsmp_explanation_secret":"Il tuo compagno sta cercando di determinare se lui o lei sta davvero parlando con te. Per autenticare a il tuo compagno. inserire il segreto.","from_sender":"di __sender__","Verified_private_conversation_started":"verificato Conversazione privata iniziato.","Unverified_private_conversation_started":"non verificato Conversazione privata iniziato.","Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"nds":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"pl":{"translation":{"Logging_in":"Logowanie...","your_connection_is_unencrypted":"Twoje połączenie nie jest szyfrowane.","your_connection_is_encrypted":"Twoje połączenie jest szyfrowane.","your_buddy_closed_the_private_connection":"Twój rozmówca zamknął połączenie.","start_private":"Rozpocznij rozmowę.","close_private":"Zakończ rozmowę.","your_buddy_is_verificated":"Twój rozmówca został zweryfikowany.","you_have_only_a_subscription_in_one_way":"Posiadasz tylko jednostronną subskrypcję.","authentication_query_sent":"Wysłano proźbę o autentykację.","your_message_wasnt_send_please_end_your_private_conversation":"Twoja wiadomość nie została wysłana. Proszę, zamknij rozmowę.","unencrypted_message_received":"Otrzymano niezaszyfrowaną wiadomość.","not_available":"Niedostępny.","no_connection":"Brak połączenia!","relogin":"Połącz ponownie","trying_to_start_private_conversation":"Rozpocznij rozmowę!","Verified":"Zweryfikowano","Unverified":"Niezweryfikowano","private_conversation_aborted":"Anulowano rozmowę!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Rozmówca przerwał połączenie! Powinieneś zrobić to samo.","conversation_is_now_verified":"Zweryfikowano połączenie.","authentication_failed":"Weryfikacja się nie powiodła.","Creating_your_private_key_":"Tworzenie klucza prywatnego; może to chwilę potrwać","Authenticating_a_buddy_helps_":"Autoryzacja pomoże w ustaleniu faktycznej tożsamości rozmówcy ;).","How_do_you_want_to_authenticate_your_buddy":"Jakiej autoryzacji chcesz użyć __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Wybierz sposób...","Manual":"Ręcznie","Question":"Pytanie","Secret":"Hasło","To_verify_the_fingerprint_":"Aby zweryfikować kod, najpierw skontaktuj się z rozmówcą za pomocą zaufanego sposobu, np telefonu.","Your_fingerprint":"Twój kod:","Buddy_fingerprint":"Kod kontaktu","Close":"Zamknij","Compared":"Porównano","To_authenticate_using_a_question_":"Aby autoryzować za pomocą pytania, wybierz pytanie na które tylko ty i twój rozmówca zna odpowiedź.","Ask":"Zadaj pytanie","To_authenticate_pick_a_secret_":"Aby autoryzować za pomocą hasła, wybierz hasło na które znasz tylko Ty i twój rozmówca.","Compare":"Dopasuj","Fingerprints":"Kody autoryzacyjne","Authentication":"Autoryzacja","Message":"Wiadomość","Add_buddy":"Dodaj kontakt","rename_buddy":"Zmień nazwę kontaktu","delete_buddy":"Usuń kontakt","Login":"Login","Username":"Nazwa Użytkownika","Password":"Hasło","Cancel":"Anuluj","Connect":"Połączenie","Type_in_the_full_username_":"Wpisz pełną nazwę użytkownika (np. <B>imię.nazwisko@zajezdnia.local</B>) oraz jego nazwę wyświetlaną (Alias).","Alias":"Alias","Add":"Dodaj","Subscription_request":"Potwierdzenie subskrypcji","You_have_a_request_from":"Masz potwierdzenie od","Deny":"Odmów","Approve":"Zatwierdź","Remove_buddy":"Usuń kontakt","You_are_about_to_remove_":"Chcesz usunąć __bid_name__ (<b>__bid_jid__</b>) z twojej listy kontaktów. Wszystkie powiązane rozmowy zostaną zamknięte.","Continue_without_chat":"Kontynuuj bez komunikatora","Please_wait":"Proszę czekać","Login_failed":"Błędne logowanie","Sorry_we_cant_authentikate_":"Błędna autoryzacja z serwerem. Może hasło jest nieprawidłowe?","Retry":"Powrót","clear_history":"Wyczyść historię","New_message_from":"Nowa wiadomość od __name__","Should_we_notify_you_":"Czy chcesz otrzymywać powiadomienia o nowych wiadomościach w przyszłości?","Please_accept_":"Kliknij \"Zezwól\" na górze.","Hide_offline":"Schowaj niedostępne kontakty","Show_offline":"Pokaż niedostępne kontakty","About":"Info","dnd":"Nie przeszkadzać","Mute":"Wycisz","Unmute":"Włącz dźwięk","Subscription":"Subskrybcja","both":"obustronna","Status":"Status","online":"Dostępny","chat":"czat","away":"z dala od kompa","xa":"hen hen...","offline":"niedostępny","none":"brak","Unknown_instance_tag":"Nieznany przypadek.","Not_one_of_our_latest_keys":"Not one of our latest keys.","Received_an_unreadable_encrypted_message":"Otrzymano nieczytelną, zaszyfrowaną wiadomość.","Online":"Połączony","Chatty":"Pogawędzimy?","Away":"Daleko","Extended_away":"Hen Hen...","Offline":"Niedostępny","Friendship_request":"Prośba o kontakt","Confirm":"Potwierdzenie","Dismiss":"Odwołaj","Remove":"Usuń","Online_help":"Pomoc Online","FN":"Pełna nazwa","N":" ","FAMILY":"Nazwisko","GIVEN":"Imię","NICKNAME":"Pseudonim","URL":"Strona WWW","ADR":"Adres","STREET":"Ulica","EXTADD":"Pełny adres","LOCALITY":"Lokalizacja","REGION":"Region","PCODE":"Kod pocztowy","CTRY":"Kraj","TEL":"Telefon","NUMBER":"Numer","EMAIL":"Email","USERID":" ","ORG":"Organizacja","ORGNAME":"Nazwa","ORGUNIT":"Jednostka","TITLE":"Stanowisko","ROLE":"Rola","BDAY":"Data urodzin","DESC":"Opis","PHOTO":" ","send_message":"Wyślij wiadomość","get_info":"Pokaż informację","Settings":"Ustawienia","Priority":"Priorytet","Save":"Zapisz","User_settings":"Ustawienia Użytkownika","A_fingerprint_":"Kod służy do autoryzacji Twojego rozmówcy aby potwierdzić jego tożsamość.","is":"jest","Login_options":"opcje logowania","BOSH_url":"Adres BOSH","Domain":"Domena","Resource":"Źródło","On_login":"Na login","Received_an_unencrypted_message":"Zatwierdzono nieszyfrowaną wiadomość.","Sorry_your_buddy_doesnt_provide_any_information":"Wybacz, twój rozmówca nie posiada żadnych informacji.","Info_about":"Informacja o...","Authentication_aborted":"Autoryzacja anulowana.","Authentication_request_received":"Prośba o autoryzację została przyjęta.","Log_in_without_chat":"Zaloguj bez komunikatora","has_come_online":"jest teraz dostępny","Unknown_sender":"Nieznany nadawca","Please_allow_access_to_microphone_and_camera":"Kliknij \"Potwierdź\" na górze, aby móc korzystać z mikrofonu oraz kamery.","Incoming_call":"Przychodzące połączenie","from":"z","Do_you_want_to_accept_the_call_from":"Akceptujesz połączenie od","Reject":"Odrzuć","Accept":"Zaakceptuj","hang_up":"odbierz","snapshot":"zrób zdjęcie","mute_my_audio":"wycisz dźwięk","pause_my_video":"zatrzymaj moje wideo","fullscreen":"Pełny ekran","Info":"Informacja","Local_IP":"Adres IP","Remote_IP":"Zdalny adres IP","Local_Fingerprint":"Kod lokalny","Remote_Fingerprint":"Zdalny kod","Video_call_not_possible":"Rozmowa wideo jest niemożliwa. Twój rozmówca nie ma możliwości prowadzenia takich rozmów.","Start_video_call":"Rozpocznij rozmowę wideo","Join_chat":"Dołącz do czata","Join":"Dołącz","Room":"Pokój","Nickname":"Nazwa użytkownika","left_the_building":"__nickname__ wyszedł","entered_the_room":"__nickname__ wszedł do pokoju","is_now_known_as":"__oldNickname__ zmienił nazwę na __newNickname__","This_room_is":"Ten pokój jest","muc_hidden":{"keyword":"ukryty","description":"nie można odnaleźć elementów wyszukiwania"},"muc_membersonly":{"keyword":"tylko zalogowani","description":"musisz być członkiem listy"},"muc_moderated":{"keyword":"moderowano","description":"tylko osoby z opcją \"głos\" mogą wysyłać wiadomość"},"muc_nonanonymous":{"keyword":"nie-anonimowy","description":"Twój identyfikator jabber jest widoczny dla wszystkich innych osób"},"muc_open":{"keyword":"otwarty","description":"wszyscy mają pozwolenie aby dołączyć"},"muc_passwordprotected":{"keyword":"ograniczone hasłem","description":"musisz wpisać prawidłowe hasło"},"muc_persistent":{"keyword":"trwale","description":"nie zostaną zniszczone, jeśli ostatnia osoba wyszła"},"muc_public":{"keyword":"publiczny","description":"wyszukawno"},"muc_semianonymous":{"keyword":"pół-anonimowy","description":"Twój identyfikator jabber jest widoczny w pokoju adminów"},"muc_temporary":{"keyword":"tymczasowy","description":"zostanie usunięty jeżeli ostatnia osoba wyjdzie"},"muc_unmoderated":{"keyword":"niemoderowany","description":"wszyscy są uprawnieni do pisania wiadomości"},"muc_unsecured":{"keyword":"niezabezpieczone","description":"nie musisz wpisywać hasła"},"Continue":"Kontynuuj","Server":"Serwer","Rooms_are_loaded":"Pokoje zostały załadowane","Could_load_only":"Nie załadowano __count__ pokoi","muc_explanation":"Aby się zalogować, wpisz nazwę pokoju oraz opcjonalnie nazwę użytkownika i hasło","You_already_joined_this_room":"Już dołączyłeś do tego pokoju","This_room_will_be_closed":"Ten pokój będzie zamknięty","Room_not_found_":"Nowy pokój będzie stworzony","Loading_room_information":"Ładowani informacji o pokoju","Destroy":"Zniszczony","Leave":"Opuść","changed_subject_to":"__nickname__ zmienił temat pokoju na \"__subject__\"","muc_removed_kicked":"Zostałeś wyrzucony z pokoju","muc_removed_info_kicked":"__nickname__ został wyrzucony z pokoju","muc_removed_banned":"Zostałeś zbanowany","muc_removed_info_banned":"__nickname__ został zbanowany","muc_removed_affiliation":"Zostałeś usunięty z pokoju ze względu na zmianę przynależnosci","muc_removed_info_affiliation":"__nickname__ został usunięty z pokoju ze względu na zmianę przynależnosci","muc_removed_membersonly":"Zostałeś usunięty z pokoju ze względu na zmianę pokoju tylko dla członków, a Ty nie jesteś członkiem...","muc_removed_info_membersonly":"__nickname__ został usunięty z pokoju ze względu na zmianę pokoju na tylko dla członków","muc_removed_shutdown":"Zostałeś usunięty z pokoju ze względu na zamknięcie usługi","Reason":"Powód","message_not_send":"Wystąpił błąd i twoja wiadomość nie została wysłana.","message_not_send_item-not-found":"Twoja wiadomość nie została wysłana ponieważ ten pokój nie istnieje","message_not_send_forbidden":"Twoja wiadomość nie została wysłana ponieważ nie masz głosu w tym pokoju","message_not_send_not-acceptable":"Twoja wiadomość nie została wysłana ponieważ nie jesteś właścicielem tego pokoju","This_room_has_been_closed":"Ten pokój został zamknięty","Room_logging_is_enabled":"Logowanie do pokoju jest włączone","A_password_is_required":"Hasło jest wymagane","You_are_not_on_the_member_list":"Nie jesteś na liście członków","You_are_banned_from_this_room":"Zostałeś zbanowany w tym pokoju","Your_desired_nickname_":"Twoja nazwa użytkownika jest już użyta. Spróbuj wybrać inną","The_maximum_number_":"Została osiągnięta maksymalna liczba użytkowników w tym pokoju","This_room_is_locked_":"Ten pokój jest zablokowany","You_are_not_allowed_to_create_":"Nie masz uprawnień do tworzenia pokoju","Alert":"Alarm","Call_started":"Rozmowa rozpoczęta","Call_terminated":"Rozmowa zakończona","Carbon_copy":"Do wiadomości","Enable":"Włączone","jingle_reason_busy":"zajęte","jingle_reason_decline":"odmów","jingle_reason_success":"zakończono","Media_failure":"Błąd mediów","No_local_audio_device":"Brak lokalnego urządzenia audio.","No_local_video_device":"Brak lokalnego urządzenia wideo.","Ok":"Ok","PermissionDeniedError":"Ty lub twoja przeglądarka odmówiła dostępu do audio/video","Use_local_audio_device":"Użyj lokalnego urządzenia audio.","Use_local_video_device":"Użyj lokalnego urządzenia wideo.","is_":"jest __status__","You_received_a_message_from_an_unknown_sender_":"Masz wiadomość od nieznanego nadawcy. (__sender__) Chcesz to wyświetlić?","Your_roster_is_empty_add_":"Twoja lista jest pusta, dodaj kontakty <a>Nowy kontakt</a>","onsmp_explanation_question":"Twój rozmówca próbuje się z Tobą połączyć. Autoryzacja z rozmówcą, napisz odpowiedź.","onsmp_explanation_secret":"Twój rozmówca próbuje się z Tobą połączyć. Autoryzacja z rozmówcą, wpisz hasło.","from_sender":"z __sender__","Verified_private_conversation_started":"Zweryfikowano Rozmowa prywatna rozpoczęta.","Unverified_private_conversation_started":"Niezweryfikowano Rozmowa prywatna rozpoczęta.","Bookmark":"Zakładka","Auto-join":"Auto-połączenie","Edit_bookmark":"Edytuj zakładkę","Room_logging_is_disabled":"Logowanie pokoju jest wyłączone","Room_is_now_non-anoymous":"Pokój jest teraz nie-anonimowy","Room_is_now_semi-anonymous":"Pokój jest teraz pół-anonimowy","Do_you_want_to_change_the_default_room_configuration":"Chcesz zmienić domyślną konfigurację pokoju?","Default":"Domyślny","Change":"Zmień","Send_file":"Wyślij plik","setting-explanation-carbon":null,"setting-explanation-login":"Jeżeli ta opcja jest włączona, czat uruchomi się przy zalogowaniu.","setting-explanation-priority":"Jeżeli jesteś zalogowany wiele razy na to samo konto twój serwer XMPP dostarczy wiadomości do klienta z najwyższym priorytetem.","setting-explanation-xmpp":"Te ustawienia używane są do połączenia z serwerem XMPP.","_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"pt-BR":{"translation":{"Logging_in":"Entrando...","your_connection_is_unencrypted":"Sua conexão não é encriptada","your_connection_is_encrypted":"Sua conexão é encriptada","your_buddy_closed_the_private_connection":"Seu contato fechou a conexão privada","start_private":"Iniciar conversa privada","close_private":"Fechar conversa privada","your_buddy_is_verificated":"Seu contato está verificado","you_have_only_a_subscription_in_one_way":"Você só tem a inscrição one-way","authentication_query_sent":"Pergunta de autenticação enviada","your_message_wasnt_send_please_end_your_private_conversation":"Sua mensagem não foi enviada. Por favor finalize sua conversa privada","unencrypted_message_received":"Mensagem não encriptada recebida","not_available":"Indisponível","no_connection":"Sem conexão!","relogin":"reentrar","trying_to_start_private_conversation":"Tentando iniciar conversa privada","Verified":"Verificado","Unverified":"Não verificado","private_conversation_aborted":"Conversa privada abortada!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Seu contato encerrou a conversa privada! Você deveria fazer o mesmo.","conversation_is_now_verified":"Conversa verificada.","authentication_failed":"Autenticação falhou.","Creating_your_private_key_":"Criando sua chave privada: isso pode demorar um pouco.","Authenticating_a_buddy_helps_":"Autenticar seu contato ajuda a garantir que a pessoa com a qual você está falando é realmente a pessoa que ela alega ser.","How_do_you_want_to_authenticate_your_buddy":"Como você gostaria de se autenticar __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Selecione o método...","Manual":"Manual","Question":"Pergunta","Secret":"Senha","To_verify_the_fingerprint_":"Para verificar o fingerprint, entre em contato com seu contato usando outro meio, de preferência seguro, como o telefone.","Your_fingerprint":"Sua impressão digital","Buddy_fingerprint":"Impressão digital do contato","Close":"Fechar","Compared":"Comparado","To_authenticate_using_a_question_":"Para autenticar seu contato faça uma pergunta, mas escolha que só ele saiba a resposta.","Ask":"Pergunta","To_authenticate_pick_a_secret_":"Para autenticar, escolha um segredo que somente você e seu contato saibam.","Compare":"Compare","Fingerprints":"Impressões digitais","Authentication":"Autenticação","Message":"Mensagem","Add_buddy":"Adicionar contato","rename_buddy":"renomear contato","delete_buddy":"remover contato","Login":"Entrar","Username":"Usuário","Password":"Senha","Cancel":"Cancelar","Connect":"Conectar","Type_in_the_full_username_":"Digite seu nome completo e um apelido opcional.","Alias":"Apelido","Add":"Adicionar","Subscription_request":"Pedido de inscrição","You_have_a_request_from":"Você tem um pedido de","Deny":"Negar","Approve":"Aprovar","Remove_buddy":"Remover contato","You_are_about_to_remove_":"Você está prestes a remover __bid_name__ (<b>__bid_jid__</b>) de sua lista de contatos. Todas as conversas serão fechadas.","Continue_without_chat":"Continue sem converar","Please_wait":"Por favor aguarde","Login_failed":"Autenticação da conversa falhou","Sorry_we_cant_authentikate_":"A autenticação com o servidor falhou. Talvez seja a senha errada?","Retry":"Voltar","clear_history":"Limpar histórico","New_message_from":"Nova mensagem de __name__","Should_we_notify_you_":"Devemos continuar notificando sobre novas mensagens no futuro?","Please_accept_":"Por favor clique no botão \"Permitir\" na parte superior.","Hide_offline":"Esconder contatos desconectados","Show_offline":"Mostrar contatos desconectados","About":"Sobre","dnd":"Não perturbe","Mute":"Mudo","Unmute":"Ligar","Subscription":"Inscrição","both":"ambos","Status":"Status","online":"online","chat":"conversa","away":"ausente","xa":"ausente por mais tempo","offline":"desativado","none":"nenhum","Unknown_instance_tag":"Marcação desconhecida da instância","Not_one_of_our_latest_keys":"Nenhuma de nossas ultimas chaves.","Received_an_unreadable_encrypted_message":"Mensagem encriptada ilegível foi recebida.","Online":"Online","Chatty":"Tagarela","Away":"Ausente","Extended_away":"Ausente por mais tempo","Offline":"Desativado","Friendship_request":"Pedido de amizade","Confirm":"Confirmar","Dismiss":"Ignorar","Remove":"Remover","Online_help":"Ajuda online","FN":"Nome completo","N":" ","FAMILY":"Sobrenome","GIVEN":"Nome","NICKNAME":"Apelido","URL":"URL","ADR":"Endereço","STREET":"Rua, Av, etc","EXTADD":"Complemento","LOCALITY":"Localidade","REGION":"Região","PCODE":"CEP","CTRY":"País","TEL":"Telefone","NUMBER":"Número","EMAIL":"Email","USERID":" IDUsuário","ORG":"Empresa","ORGNAME":"Nome","ORGUNIT":"Unidade","TITLE":"Cargo","ROLE":"Função","BDAY":"Data de nascimento","DESC":"Descrição","PHOTO":"Foto","send_message":"Enviar mensagem","get_info":"Exibir informações","Settings":"Configurações","Priority":"Prioridade","Save":"Salvar","User_settings":"Configurações do usuário","A_fingerprint_":"O fingerprint é usado para certificar que a pessoa com a qual se está falando é que ela diz ser.","is":"é","Login_options":"Opções de login","BOSH_url":"BOSH URL","Domain":"Domínio","Resource":"Recurso","On_login":"Ao autenticar","Received_an_unencrypted_message":"Mensagem não encriptada recebida","Sorry_your_buddy_doesnt_provide_any_information":"Desculpe, seu contato não forneceu nenhuma informação","Info_about":"Informações sobre","Authentication_aborted":"Autenticação encerrada.","Authentication_request_received":"Pedido de autenticação recebido","Log_in_without_chat":"Entrar sem conversar","has_come_online":"ficou online","Unknown_sender":"Emissor desconhecido","Please_allow_access_to_microphone_and_camera":"Por favor clique no botão \"Permitir\" no topo, para conceder acesso ao seu microfone e câmera.","Incoming_call":"Recebendo chamada","from":"de","Do_you_want_to_accept_the_call_from":"Você aceita a chamada de","Reject":"Negar","Accept":"Aceitar","hang_up":"desligar","snapshot":"registrar imagem","mute_my_audio":"mudo","pause_my_video":"pausar vídeo","fullscreen":"tela cheia","Info":"Informações","Local_IP":"IP local","Remote_IP":"IP remoto","Local_Fingerprint":"Fingerprint local","Remote_Fingerprint":"Fingerprint remoto","Video_call_not_possible":"Chamada de vídeo impossível. Seu contato não suporta chamadas desse tipo.","Start_video_call":"Iniciar chamada de vídeo","Join_chat":"Entrar no chat","Join":"Entrar","Room":"Sala","Nickname":"Apelido","left_the_building":"__nickname__ deixou o prédio","entered_the_room":"__nickname__ entrou na sala","is_now_known_as":"__oldNickname__ agora é conhecido como __newNickname__","This_room_is":"Esta sala é","muc_hidden":{"keyword":"oculto","description":"Não pode ser encontrado através de pesquisa"},"muc_membersonly":{"keyword":"apenas para membros","description":"você precisa estar na lista de membros"},"muc_moderated":{"keyword":"moderado","description":"Somente pessoas com \"voice\" podem enviar mensagens"},"muc_nonanonymous":{"keyword":"não-anônimo","description":"Seu id jabber esta esposto para todos os outros ocupantes"},"muc_open":{"keyword":"abrir","description":"Todos podem entrar"},"muc_passwordprotected":{"keyword":"protegido por senha","description":"você precisa fornecer a senha correta"},"muc_persistent":{"keyword":"persistente","description":"Não será destruída se o último ocupante tiver saído"},"muc_public":{"keyword":"público","description":"pode ser localizado pela busca"},"muc_semianonymous":{"keyword":"semi-anônimos","description":"Sua identificação jabber só é exposta para administradores da sala"},"muc_temporary":{"keyword":"temporário","description":"Será destruída se o último ocupante tiver saído"},"muc_unmoderated":{"keyword":"sem moderação","description":"Todos tem permissão de enviar mensagens"},"muc_unsecured":{"keyword":"inseguro","description":"Você não precisa de senha para entrar"},"Continue":"Avançar","Server":"Servidor","Rooms_are_loaded":"Sala carregada","Could_load_only":"Pode carregar somente __count__ salas para autocompletar","muc_explanation":"Por favor entre um nome de sala e um nickname opcional e uma senha para entrar no chat","You_already_joined_this_room":"Você já entrou nesta sala","This_room_will_be_closed":"Esta sala será fechada","Room_not_found_":"Uma nova sala será criada","Loading_room_information":"Carregar informação da sala","Destroy":"Destruir","Leave":"Sair","changed_subject_to":"__nickname__ alterar o assunto da sala para \"__subject__\"","muc_removed_kicked":"Você foi removido da sala","muc_removed_info_kicked":"__nickname__ foi removido da sala","muc_removed_banned":"Você foi banido da sala","muc_removed_info_banned":"__nickname__ foi banido da sala","muc_removed_affiliation":"Você foi removido da sala pois a sala, por que a afiliação mudou","muc_removed_info_affiliation":"__nickname__ foi removido da sala, por que a afiliação mudou","muc_removed_membersonly":"Você foi removido da sala pois a sala foi alterada somente para membros e você não é um membro","muc_removed_info_membersonly":"__nickname__ foi removido da sala porque a sala foi alterada para somente membros e você não é um membro","muc_removed_shutdown":"Você foi removido da sala, por que o serviço MUC esta sendo desligado","Reason":"Motivo","message_not_send":"Sua mensagem não foi enviada devido a um erro","message_not_send_item-not-found":"Sua mensagem não foi enviada por que essa sala nao existe mais","message_not_send_forbidden":"Sua mensagem não foi enviada por que não tem 'voz' para essa sala","message_not_send_not-acceptable":"Sua mensagem não foi enviada por que você nao é ocupante desta sala","This_room_has_been_closed":"Essa sala foi fechada","Room_logging_is_enabled":"O Logging esta habilitado","A_password_is_required":"Senha é obrigatória","You_are_not_on_the_member_list":"Você não esta na lista de usuarios","You_are_banned_from_this_room":"Você foi banido desta sala","Your_desired_nickname_":"O nickname escolhido já esta em uso. Por favor escolha outro","The_maximum_number_":"O número máximo de usuarios já foi antigido para essa sala","This_room_is_locked_":"A sala esta trancada","You_are_not_allowed_to_create_":"Você não esta autorizado para criar uma sala","Alert":"Alerta","Call_started":"Chamada iniciada","Call_terminated":"Chamada finalizada","Carbon_copy":"Copia carbono","Enable":"Habilitado","jingle_reason_busy":"ocupado","jingle_reason_decline":"recusado","jingle_reason_success":"sucesso","Media_failure":"Media falhou","No_local_audio_device":"sem dispositivo local de audio","No_local_video_device":"sem dispositivo local de video","Ok":"Ok","PermissionDeniedError":"Você ou seu navegador negou permissão para acessar audio/video","Use_local_audio_device":"Usar dispositivo local de audio","Use_local_video_device":"Usar dispositivo local de video","is_":"é __status__","You_received_a_message_from_an_unknown_sender_":"Você recebeu uma mensagem de um emissor desconhecido (__sender__) Você quer mostrá-los?","Your_roster_is_empty_add_":"Sua lista está vazia, adicione um <a>novo contato</a>","onsmp_explanation_question":"Seu contato está tentando determinar se ele realmente está falando contigo. Para autenticar seu contato, entre com a resposta e clique em Responder.","onsmp_explanation_secret":"Seu contato está tentando determinar se ele realmente está falando contigo. Para autenticar seu contato, escreva a senha.","from_sender":"de __sender__","Verified_private_conversation_started":"Verificado Conversa privada iniciada.","Unverified_private_conversation_started":"Não verificado Conversa privada iniciada.","Bookmark":"Favoritos","Auto-join":"Entrar Automaticamente","Edit_bookmark":"Editar favoritos","Room_logging_is_disabled":"Registro de log na sala está desativado","Room_is_now_non-anoymous":"A sala é não anônima agora","Room_is_now_semi-anonymous":"A sala é semi anônima agora","Do_you_want_to_change_the_default_room_configuration":"Você quer alterar as configurações da sala?","Default":"Padrão","Change":"Alterar","Send_file":"Enviar arquivo","setting-explanation-carbon":"Com carbon copy ativado seu servidor XMPP vai enviar uma copia de cada mensagem para você neste cliente mesmo que não tenha endereço","setting-explanation-login":"Se essa opção esta habilitada, o chat vai começar ao logar.","setting-explanation-priority":"Você esta logado varias vezes com a mesma conta, seu servidor XMPP vai entregar as mensagens para o cliente com a prioridade mais alta.","setting-explanation-xmpp":"Essas opções são usadas para conectar no Servidor XMPP","_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"ro":{"translation":{"Logging_in":"Autentificare...","your_connection_is_unencrypted":"Conexiunea nu este criptată.","your_connection_is_encrypted":"Conexiunea este criptată.","your_buddy_closed_the_private_connection":"Interlocutorul a închis conexiunea privată.","start_private":"Pornește în privat","close_private":"Închide privat","your_buddy_is_verificated":"Interlocutorul este verificat.","you_have_only_a_subscription_in_one_way":"Subscrierea este într-o singură direcție.","authentication_query_sent":"Cererea de autentificare a fost trimisă.","your_message_wasnt_send_please_end_your_private_conversation":"Mesajul nu a fost trimis. Te rog închide conversația în privat.","unencrypted_message_received":"A fost primit un mesaj necriptat","not_available":"Indisponibil","no_connection":"Fără conexiune!","relogin":"Re-autentificare","trying_to_start_private_conversation":"Se încearcă deschiderea conversației în privat!","Verified":"Verificat","Unverified":"Neverificat","private_conversation_aborted":"Conversație în privat eșuată!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Interlocutorul a închis conversația în privat! Ar trebui să faci la fel și tu.","conversation_is_now_verified":"Conversația este acum verificată.","authentication_failed":"Autentificarea a eşuat.","Creating_your_private_key_":"Se crează cheia privată; ar putea să dureze ceva timp.","Authenticating_a_buddy_helps_":"Autentificând un contact ne asigură că persoana cu care vorbești este într-adevăr cine pretinde că este.","How_do_you_want_to_authenticate_your_buddy":"Cum vrei să te autentifici __bid_name__ (<b>__bid_jid__</b>)","Select_method":"Alege metoda...","Manual":"Manual","Question":"Întrebare","Secret":"Secret","To_verify_the_fingerprint_":"Pentru a verifica amprenta, contactează interlocutorul printr-un canal de încredere, cum ar fi telefonul.","Your_fingerprint":"Amprenta ta","Buddy_fingerprint":"Amprenta interlocutorului","Close":"Închide","Compared":"Prin comparație","To_authenticate_using_a_question_":"Pentru autentificarea folosind o întrebare, alege o întrebare cu un răspuns cunoscut doar de tine și de interlocutor.","Ask":"Întreabă","To_authenticate_pick_a_secret_":"Pentru autentificare, alege un secret cunoscut doar de tine și de interlocutor.","Compare":"Compară","Fingerprints":"Amprente","Authentication":"Autentificare","Message":"Mesaj","Add_buddy":"Adaugă contact","rename_buddy":"redenumește contact","delete_buddy":"șterge contact","Login":"Logare","Username":"Utilizator","Password":"Parolă","Cancel":"Renunță","Connect":"Conectare","Type_in_the_full_username_":"Scrie numele complet al utilizatorului și un alias opțional.","Alias":"Alias","Add":"Adaugă","Subscription_request":"Cerere de subscriere","You_have_a_request_from":"Ai o cerere de la","Deny":"Refuză","Approve":"Aprobă","Remove_buddy":"Șterge contact","You_are_about_to_remove_":"Urmează să ștergi __bid_name__ (<b>__bid_jid__</b>) din lista de contacte. Toate chat-urile asociate vor fi închise.","Continue_without_chat":"Continuă fără chat","Please_wait":"Te rog așteaptă","Login_failed":"Logarea pe chat a eșuat","Sorry_we_cant_authentikate_":"Autentificarea cu serverul de chat a eșuat. Poate parola este greșită ?","Retry":"Înapoi","clear_history":"Curăță istoria","New_message_from":"Un nou mesaj de la __name__","Should_we_notify_you_":"Vrei să fi notificat despre mesajele noi în viitor ?","Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"ru":{"translation":{"Logging_in":"Вход в систему...","your_connection_is_unencrypted":"Ваше соединение не зашифровано.","your_connection_is_encrypted":"Ваше соединение зашифровано.","your_buddy_closed_the_private_connection":"Ваш собеседник закончил зашифрованное соединение.","start_private":"Начать зашифрованный чат","close_private":"Закончить зашифрованный чат","your_buddy_is_verificated":"Собеседник подтвержден.","you_have_only_a_subscription_in_one_way":"У вас только односторонняя подписка.","authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":"Сообщение не отправлено. Завершите зашифрованный чат, пожалуйста.","unencrypted_message_received":"Получено незашифрованное сообщение","not_available":"Не доступен","no_connection":"Нет соединения!","relogin":"переподключиться","trying_to_start_private_conversation":"Попытка начать зашифрованный чат!","Verified":"Подтверждено","Unverified":"Не подтверждено","private_conversation_aborted":"Зашифрованный чат отклонен!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Ваш собеседник завершил зашифрованный чат! Вы должны сделать тоже самое.","conversation_is_now_verified":"Чат теперь утвержден.","authentication_failed":"Ошибка авторизации.","Creating_your_private_key_":"Создается приватный ключ. Это может занять некоторое время","Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":"Выберите метод...","Manual":"Вручную","Question":"Вопрос","Secret":"Пароль","To_verify_the_fingerprint_":null,"Your_fingerprint":"Ваш отпечаток","Buddy_fingerprint":"Отпечаток собеседника","Close":"Закрыть","Compared":"Сравнение завершено","To_authenticate_using_a_question_":"Для авторизации с помощью вопроса выберите вопрос, ответ на который знаете только Вы и собеседник.","Ask":null,"To_authenticate_pick_a_secret_":"Для авторизации выберите пароль, который знаете только Вы и собеседник.","Compare":"Сравнить","Fingerprints":"Отпечатки","Authentication":"Авторизация","Message":"Сообщение","Add_buddy":"Добавить контакт","rename_buddy":"переименовать контакт","delete_buddy":"удалить контакт","Login":"Вход","Username":"Логин","Password":"Пароль","Cancel":"Отмена","Connect":"Подключить","Type_in_the_full_username_":"Введите полное имя пользователя и дополнительный псевдоним","Alias":"Псевдоним","Add":"Добавить","Subscription_request":"Запрос подписки","You_have_a_request_from":"Получен запрос от","Deny":"Отказ","Approve":"Подтвердить","Remove_buddy":"Удалить контакт","You_are_about_to_remove_":"Вы собираетесь удалить __bid_name__ (<b>__bid_jid__</b>) из списка контактов. Все связанные с чаты будут закрыты.","Continue_without_chat":"Продолжить без чата","Please_wait":"Подождите…","Login_failed":"Неудачный вход в чат","Sorry_we_cant_authentikate_":"Неудачная попытка входа","Retry":"Назад","clear_history":"Очистить историю","New_message_from":"Новое сообщение от __name__","Should_we_notify_you_":"Уведомлять о новых сообщениях в будущем?","Please_accept_":"Нажмите кнопку \"Разрешить\" вверху страницы, пожалуйста","Hide_offline":"Спрятать отключенных","Show_offline":"Показать отключенных","About":"О проекте","dnd":"Не беспокоить","Mute":"Выкл. уведомления","Unmute":"Вкл. уведомления","Subscription":"Подписка","both":"оба","Status":"Статус","online":"в сети","chat":"готов общаться","away":"отошел","xa":"отсутствую","offline":"не в сети","none":"нет","Unknown_instance_tag":"Неизвестный тег.","Not_one_of_our_latest_keys":"Ни один из наших последних ключей","Received_an_unreadable_encrypted_message":"Получено нечитаемое зашифрованное сообщение","Online":"В сети","Chatty":"Готов общаться","Away":"Отошел","Extended_away":"Отсутствую","Offline":"Не в сети","Friendship_request":"Запрос на добавление в контакты","Confirm":"Подтвердить","Dismiss":"Отклонить","Remove":"Удалить","Online_help":"Онлайн помощь","FN":"Полное имя","N":null,"FAMILY":"Фамилия","GIVEN":"Имя","NICKNAME":"Ник","URL":"URL","ADR":"Адрес","STREET":"Улица","EXTADD":"Дополнительный адрес","LOCALITY":"Город","REGION":"Область","PCODE":"Индекс","CTRY":"Страна","TEL":"Телефон","NUMBER":"Номер","EMAIL":"Почта","USERID":null,"ORG":"Организация","ORGNAME":"Название","ORGUNIT":"Отдел","TITLE":"Должность","ROLE":"Обязанности","BDAY":"День рождения","DESC":"Описание","PHOTO":" Фото ","send_message":"Отправить сообщение","get_info":"Показать информацию","Settings":"Настройки","Priority":"Приоритет","Save":"Сохранить","User_settings":"Пользовательские настройки","A_fingerprint_":null,"is":" ","Login_options":"Параметры входа","BOSH_url":"BOSH URL","Domain":"Домен","Resource":"Ресурс","On_login":"Автоматически подключаться","Received_an_unencrypted_message":"Получено незашифрованное сообщение","Sorry_your_buddy_doesnt_provide_any_information":"К сожалению, контакт не предоставил какой-либо информации.","Info_about":"Информация о","Authentication_aborted":"Аутентификация прервана.","Authentication_request_received":"Получен запрос проверки подлинности.","Log_in_without_chat":"Вход без чата","has_come_online":"появился в сети","Unknown_sender":"Неизвестный отправитель","Please_allow_access_to_microphone_and_camera":"Нажмите кнопку \"Разрешить\" вверху страницы, чтобы предоставить доступ к микрофону и камере.","Incoming_call":"Входящий вызов","from":"от","Do_you_want_to_accept_the_call_from":"Вы хотите принять вызов от","Reject":"Отклонить","Accept":"Принять","hang_up":"Завершить","snapshot":"Снимок","mute_my_audio":"Без звука","pause_my_video":"Остановить моё видео","fullscreen":"На весь экран","Info":"Инфо","Local_IP":"Мой IP","Remote_IP":"Удаленный IP","Local_Fingerprint":"Мой отпечаток","Remote_Fingerprint":"Удаленный отпечаток","Video_call_not_possible":"Видео-вызов невозможен. Ваш собеседник не поддерживает видео-вызовы.","Start_video_call":"Видео-вызов","Join_chat":"Присоединиться к комнате","Join":"Присоедениться","Room":"Комната","Nickname":"Ник","left_the_building":"__nickname__ выходит из комнаты","entered_the_room":"__nickname__ заходит в комнату","is_now_known_as":"__oldNickname__ теперь известен как __newNickname__","This_room_is":"Эта комната","muc_hidden":{"keyword":"скрыта","description":"не может быть найдена через поиск"},"muc_membersonly":{"keyword":"только для участников","description":"Вы должны быть в списке участников"},"muc_moderated":{"keyword":"модерируется","description":"Только пользователи с правом голоса могут отправлять сообщения"},"muc_nonanonymous":{"keyword":"неанонимная","description":"Ваш JID будет показан всем посетителям"},"muc_open":{"keyword":"открытая","description":"Любой пользователь может присоедениться"},"muc_passwordprotected":{"keyword":"защищена паролем","description":"Необходимо ввести правильный пароль"},"muc_persistent":{"keyword":"постоянная","description":"Не будет уничтожена, когда ее покинут все участники"},"muc_public":{"keyword":"публичная","description":"Может быть найдена через поиск"},"muc_semianonymous":{"keyword":"полу-анонимная","description":"Ваш JID могут увидеть только администраторы"},"muc_temporary":{"keyword":"временная","description":"Будет уничтожена как только не останется ни одного участника"},"muc_unmoderated":{"keyword":"не модерируется","description":"Любой посетитель может отправлять сообщения"},"muc_unsecured":{"keyword":"без пароля","description":"Не нужно вводить пароль для входа"},"Continue":"Далее","Server":"Сервер","Rooms_are_loaded":"Комнаты загружены","Could_load_only":"Подгрузка только __count__ комнат в автодополнении","muc_explanation":"Введите название комнаты, свой ник и пароль для входа в комнату","You_already_joined_this_room":"Вы уже в этой комнате","This_room_will_be_closed":"Эта комната была закрыта","Room_not_found_":"Новая комната будет создана","Loading_room_information":"Загрузка информации о комнате","Destroy":"Уничтожить","Leave":"Покинуть","changed_subject_to":"__nickname__ изменил тему комнаты на \"__subject__\"","muc_removed_kicked":"Вас выкинули из комнаты","muc_removed_info_kicked":"__nickname__ был удален из комнаты","muc_removed_banned":"Вас забанили в комнате","muc_removed_info_banned":"__nickname__ был забанен в комнате","muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":"Вы были исключены из комнаты, т.к. комната стала доступна только для членов комнаты, а Вы им не являетесь","muc_removed_info_membersonly":"__nickname__ исключен(а) из комнаты, т.к. комната стала доступна только для членов комнаты, а он(она) им не является","muc_removed_shutdown":"Вы были удалены из комнаты, т.к. сервис чат-комнат недоступен","Reason":"Причина","message_not_send":"Ваше сообщение не было отправлено из-за ошибки","message_not_send_item-not-found":"Ваше сообщение не было отправлено, т.к. этой комнаты не существует","message_not_send_forbidden":"Ваше сообщение не было отправлено, т.к. у Вас нет права голоса в этой комнате","message_not_send_not-acceptable":"Ваше сообщение не было отправлено, т.к. Вы не являетесь участником этой комнаты","This_room_has_been_closed":"Эта комната была закрыта","Room_logging_is_enabled":"Журналирование комнаты включено","A_password_is_required":"Необходим пароль","You_are_not_on_the_member_list":"Вы не в списке участников","You_are_banned_from_this_room":"Вас забанили в этой комнате","Your_desired_nickname_":"Данное имя пользователя уже занято, пожалуйста, выберите другое имя пользователя","The_maximum_number_":"Достигнут лимит максимального количества посетителей этой комнаты","This_room_is_locked_":"Эта комната заблокирована","You_are_not_allowed_to_create_":"Вы не можете создавать комнаты","Alert":"Внимание","Call_started":"Вызов начался","Call_terminated":"Вызов завершен","Carbon_copy":"Копировать сообщения","Enable":"Включить","jingle_reason_busy":"занято","jingle_reason_decline":"запрещено","jingle_reason_success":"сбросили","Media_failure":"Ошибка передачи медиа","No_local_audio_device":"Нет локального аудио-устройства.","No_local_video_device":"Нет локального видео-устройства.","Ok":"Ок","PermissionDeniedError":"Вы или Ваш браузер запретили использовать микрофон/камеру","Use_local_audio_device":"Использовать локальное аудио-устройство.","Use_local_video_device":"Использовать локальное видео-устройство.","is_":"__status__","You_received_a_message_from_an_unknown_sender_":"Вы получили сообщение от неизвестного отправителя (__sender__)","Your_roster_is_empty_add_":"Ваш список контактов пуст, добавить <a>новый контакт</a>","onsmp_explanation_question":"Собеседник пытается определить, что общается действительно с Вами.","onsmp_explanation_secret":"Собеседник пытается определить, что общается действительно с Вами. введите пароль.","from_sender":"от __sender__","Verified_private_conversation_started":"Подтверждено Зашифрованный чат начат.","Unverified_private_conversation_started":"Не подтверждено Зашифрованный чат начат.","Bookmark":"Закладка","Auto-join":"Автоматически входить","Edit_bookmark":"Редактировать закладку","Room_logging_is_disabled":"Журналирование комнаты отключено","Room_is_now_non-anoymous":"Комната теперь не анонимная","Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":"Вы хотите изменить стандартную конфигурацию комнаты?","Default":"Станд.","Change":"Изменить","Send_file":"Отправить файл","setting-explanation-carbon":"С включенным Carbon Copy Ваш XMPP сервер будет отправлять копию каждого входящего сообщения на все подключенные устройства.","setting-explanation-login":"Если эта опция включена, то чат будет начинаться сразу после аутентификации.","setting-explanation-priority":"Если вы подключены к одному аккаунту с нескольких устройств, то XMPP сервер будет доставлять сообщения на клиент с наивысшим приоритетом.","setting-explanation-xmpp":"Эти настройки используются для подключения к XMPP серверу.","_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"sv-SE":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"tr-TR":{"translation":{"Logging_in":"Giriş yapılıyor…","your_connection_is_unencrypted":"Bağlantınız şifrelenmemiş.","your_connection_is_encrypted":"Bağlantınız şifrelenmiş.","your_buddy_closed_the_private_connection":"Sohbet ettiğiniz kişi özel bağlantı kapatıldı.","start_private":"Özel bağlantı başlat.","close_private":"Özel bağlantıyı kapat.","your_buddy_is_verificated":"Kişi doğrulandı.","you_have_only_a_subscription_in_one_way":"Sadece tek yönlü bir aboneliğiniz var.","authentication_query_sent":"Kimlik doğrulama sorgusu gönderildi.","your_message_wasnt_send_please_end_your_private_conversation":"Mesajınız gönderilmedi. Lütfen özel görüşmelerinizi bitirin.","unencrypted_message_received":"Şifrelenmemiş mesaj alındı","not_available":"Müsait değil","no_connection":"Bağlantı yok!","relogin":"Yeniden gir","trying_to_start_private_conversation":"Özel sohbet başlatılmaya çalışılıyor!","Verified":"Doğrulandı","Unverified":"Doğrulanamadı","private_conversation_aborted":"Özel sohbet iptal edildi!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Sohbet ettiğiniz kişi özel görüşmeyi kapattı! Siz de aynı şeyi yapmalısınız.","conversation_is_now_verified":"Sohbet doğrulandı.","authentication_failed":"Kimlik doğrulama başarısız.","Creating_your_private_key_":"Özel anahtarınız oluşturuluyor; bu işlem biraz sürebilir.","Authenticating_a_buddy_helps_":"Kimlik doğrulaması, konuşmakta olduğunuz kişinin gerçekten o kişi olduğundan emin olmanıza yardımcı olur.","How_do_you_want_to_authenticate_your_buddy":"Kimlik doğrulasını nasıl yapmak istersiniz __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Yöntemi seçin...","Manual":"Elle","Question":"Soru","Secret":"Gizli anahtar","To_verify_the_fingerprint_":"Parmakizini doğrulamak için, telefon gibi başka bir güvenilir kanalı kullanın.","Your_fingerprint":"Parmakiziniz","Buddy_fingerprint":"Kişinin parmakizi","Close":"Kapat","Compared":"Kıyaslandı","To_authenticate_using_a_question_":"Bir soru ile kimlik doğrulaması için, yanıtını yalnızca siz ve karşınızdaki kişinin bildiği bir soru seçin.","Ask":"Sor","To_authenticate_pick_a_secret_":"Kimlik doğrulaması için, yalnızca siz ve karşınızdaki kişinin bildiği bir parola seçin.","Compare":"Karşılaştır","Fingerprints":"Parmakizleri","Authentication":"Kimlik doğrulama","Message":"İleti","Add_buddy":"Kişi ekle","rename_buddy":"Kişiyi yeniden adlandır","delete_buddy":"Kişiyi sil","Login":"Giriş","Username":"Kullanıcı adı","Password":"Şifre","Cancel":"iptal","Connect":"Bağlan","Type_in_the_full_username_":"Tam kullanıcı adını ve isteğe bağlı bir takma ad yazın.","Alias":"Takma ad","Add":"Ekle","Subscription_request":"Abonelik isteği","You_have_a_request_from":"Size gelen bir istek var","Deny":"Reddet","Approve":"Onayla","Remove_buddy":"Kişiyi çıkar","You_are_about_to_remove_":"__bid_name__ (<b>__bid_jid__</b>) adlı kişiyi listenizden çıkarmak üzeresiniz. Tüm ilişkili sohbetler kapanacak.","Continue_without_chat":"Sohbet etmeden devam et","Please_wait":"Lütfen bekleyin","Login_failed":"Sohbet girişi başarısız oldu","Sorry_we_cant_authentikate_":"Kimlik doğrulaması başarısız oldu. Şifreniz yanlış olabilir.","Retry":"Geri","clear_history":"Geçmişi sil","New_message_from":"__name__ adlı kişiden yeni bir mesaj aldınız","Should_we_notify_you_":"İleride aldığınız yeni mesajları size bildirelim mi?","Please_accept_":"Lütfen üstteki \"İzin ver\" düğmesini tıklayın.","Hide_offline":"Çevrimdışı kişileri gizle","Show_offline":"Çevrimdışı kişileri göster","About":"hakkında","dnd":"Rahatsız etmeyin","Mute":"Sessiz","Unmute":"Sesli","Subscription":"Üyelik","both":"her ikisi de","Status":"Durum","online":"çevrimiçi","chat":"sohbet","away":"uzakta","xa":"çok uzakta","offline":"çevrimdışı","none":"hiç biri","Unknown_instance_tag":"Bilinmeyen örnek etiketi.","Not_one_of_our_latest_keys":"En son anahtarlarımızdan biri değil.","Received_an_unreadable_encrypted_message":"Okunamayan şifrelenmiş bir mesaj alındı.","Online":"Çevrimiçi","Chatty":"Konuşkan","Away":"Uzakta","Extended_away":"Çok uzakta","Offline":"Çevrimdışı","Friendship_request":"İrtibat isteği","Confirm":"Onayla","Dismiss":"Reddet","Remove":"Çıkar","Online_help":"Çevrimiçi yardım","FN":"Tam adı","N":" ","FAMILY":"Soyadı","GIVEN":"Adı","NICKNAME":"Takma ad","URL":"URL","ADR":"Adres","STREET":"Sokak","EXTADD":"Genişletilmiş Adres","LOCALITY":"Yer","REGION":"Bölge","PCODE":"Posta Kodu","CTRY":"Ülke","TEL":"Telefon","NUMBER":"Numara","EMAIL":"Eposta","USERID":" ","ORG":"Organizasyon","ORGNAME":"İsim","ORGUNIT":"Birim","TITLE":"İş tenımı","ROLE":"Görevi","BDAY":"Doğum günü","DESC":"Tanım","PHOTO":" ","send_message":"İletiyi gönder","get_info":"Bilgileri göster","Settings":"Ayarlar","Priority":"Öncelik","Save":"Kaydet","User_settings":"Kullanıcı tercihleri","A_fingerprint_":"Parmak izi konuştuğunuz kişinin söylediği kişi olduğundan emin olmak için kullanılır.","is":"Eşit","Login_options":"Giriş seçenekleri","BOSH_url":"BOSH URL","Domain":"Alan adı","Resource":"Kaynak","On_login":"Girişte","Received_an_unencrypted_message":"Şifrelenmemiş bir mesaj alındı","Sorry_your_buddy_doesnt_provide_any_information":"Maalesef kişi her hangi bir bilgi sunmamış.","Info_about":"Bilinen özellikleri","Authentication_aborted":"Kimlik doğrulama iptal edildi.","Authentication_request_received":"Kimlik doğrulama isteği alındı.","Log_in_without_chat":"Sohbetsiz giriş yap","has_come_online":"Çevrimiçi oldu","Unknown_sender":"Bilinmeyen gönderen","Please_allow_access_to_microphone_and_camera":"Mikrofona ve kameraya erişime izin vermek için lütfen üstteki \"İzin Ver\" düğmesini tıklayın.","Incoming_call":"Gelen çağrı","from":"gönderen","Do_you_want_to_accept_the_call_from":"Gelen aramayı kabul etmek istiyor musunuz","Reject":"Reddet","Accept":"Kabul et","hang_up":"aramayı sonlandır","snapshot":"anlık fotoğraf","mute_my_audio":"Sesi kapat","pause_my_video":"videoyu duraklat","fullscreen":"tam ekran","Info":"bilgi","Local_IP":"Yerel IP","Remote_IP":"Uzak IP","Local_Fingerprint":"Yerel parmakizi","Remote_Fingerprint":"Uzak parmakizi","Video_call_not_possible":"Video çağrısı yapılamıyor. Aranan kişi video görüşmelerini desteklemiyor.","Start_video_call":"Video görüşmesini başlat","Join_chat":"Sohbete katıl","Join":"Katıl","Room":"Oda","Nickname":"Takma ad","left_the_building":"__nickname__ binadan ayrıldı","entered_the_room":"__nickname__ odaya girdi","is_now_known_as":"__oldNickname__ şimdi __newNickname__ olarak biliniyor","This_room_is":"Bu oda","muc_hidden":{"keyword":"gizli","description":"Arama yoluyla bulunamıyor"},"muc_membersonly":{"keyword":"sadece-üye-olanlar","description":"üye listenizde olmanız gerekiyor"},"muc_moderated":{"keyword":"yöneticili","description":"Yalnızca \"sesli\" kişilerin mesaj göndermesine izin verilir"},"muc_nonanonymous":{"keyword":"Anonim-değil","description":"Sohbet kimliğiniz diğer tüm oturanlara görünüyor"},"muc_open":{"keyword":"açık","description":"herkes katılabilir"},"muc_passwordprotected":{"keyword":"şifre-korumalı","description":"Doğru şifreyi girmeniz gerekiyor"},"muc_persistent":{"keyword":"kalıcı","description":"Son oturan ayrıldığında kapanmaz"},"muc_public":{"keyword":"herkese açık","description":"Arama yoluyla bulunabilir"},"muc_semianonymous":{"keyword":"yarı-anonim","description":"Sohbet kimliğiniz sadece oda yöneticilerine görünüyor"},"muc_temporary":{"keyword":"geçici","description":"Son oturan ayrıldığında kapanır"},"muc_unmoderated":{"keyword":"yöneticisiz","description":"herkes ileti gönderebilir"},"muc_unsecured":{"keyword":"güvensiz","description":"şifre girmenize gerek yok"},"Continue":"Devam","Server":"Sunucu","Rooms_are_loaded":"Oda yüklendi","Could_load_only":"Sadece __count__ oda otomatik tamamlamayla yüklenebilir","muc_explanation":"Bir sohbete katılmak için, lütfen oda adını ve isteniyorsa takma adınız ve parolanızı girin","You_already_joined_this_room":"Zaten bu odaya katılmış durumdasınız","This_room_will_be_closed":"Bu oda kapanacak","Room_not_found_":"Yeni oda oluşturulacak","Loading_room_information":"Oda bilgileri yükleniyor","Destroy":"Sil","Leave":"Ayrıl","changed_subject_to":"__nickname__ bu odanın konusunu \"__subject__\" olarak değiştirdi","muc_removed_kicked":"Bu odadan atıldınız","muc_removed_info_kicked":"__nickname__ bu odadan atıldı","muc_removed_banned":"Odadan yasaklandınız","muc_removed_info_banned":"__nickname__ odadan yasaklandınız","muc_removed_affiliation":"Üyelik değişikliği nedeniyle odadan çıkarıldınız","muc_removed_info_affiliation":"__nickname__ üyelik değişikliği nedeniyle odadan çıkarıldı","muc_removed_membersonly":"Odanın durumu sadece-üyeler olarak değiştirildiği ve siz üye olmadığınız için odadan çıkarıldınız","muc_removed_info_membersonly":"Odanın durumu sadece-üyeler olarak değiştirildiği ve __nickname__ üye olmadığı için odadan çıkarıldı","muc_removed_shutdown":"Odadan çıkarıldınız çünkü, MUC sunucusu kapandı","Reason":"Sebep","message_not_send":"Mesajınız bir hata nedeniyle gönderilmedi","message_not_send_item-not-found":"Mesajınız gönderilmedi, çünkü bu oda mevcut değil","message_not_send_forbidden":"Mesajınız gönderilmedi çünkü bu odada sesiniz yok","message_not_send_not-acceptable":"Mesajınız gönderilmedi çünkü bu odaya bulunmuyorsunuz","This_room_has_been_closed":"Bu oda kapatıldı","Room_logging_is_enabled":"Oda günlüğü etkinleştirildi","A_password_is_required":"Şifre gerekli","You_are_not_on_the_member_list":"Üye listesinde değilsiniz","You_are_banned_from_this_room":"Bu odadan yasaklandınız","Your_desired_nickname_":"İstediğiniz takma ad başkası tarafından kullanılıyor. Lütfen başka bir takma ad","The_maximum_number_":"Bu odada maksimum kullanıcı sayısına ulaşıldı","This_room_is_locked_":"Bu oda kilitli","You_are_not_allowed_to_create_":"Oda açma izniniz yok","Alert":"Uyarı","Call_started":"Arama başlatıldı","Call_terminated":"Arama bitirildi","Carbon_copy":"Karbon kopya","Enable":"Etkinleştir","jingle_reason_busy":"meşgul","jingle_reason_decline":"kabul etme","jingle_reason_success":"kapatıldı","Media_failure":"Medya istek hatası","No_local_audio_device":"Yerel ses cihazı bulunamadı.","No_local_video_device":"Yerel video cihazı bulunamadı.","Ok":"Tamam","PermissionDeniedError":"Siz veya tarayıcınız sesli/görüntülü izni reddetti","Use_local_audio_device":"Yerel video cihazını kullan.","Use_local_video_device":"Yerel video cihazını kullanın.","is_":"__status__","You_received_a_message_from_an_unknown_sender_":"Bilinmeyen bir gönderenden bir ileti aldınız (__sender__) İletiyi görüntülemek istiyor musunuz?","Your_roster_is_empty_add_":"Listeniz boş, yeni bir <a>kişi ekleyin</a>","onsmp_explanation_question":"Karşınızdaki kişi, konuştuğu kişinin gerçekten siz olduğunuzu belirlemeye çalışıyor. Karşınızdaki kişiye kimliğinizi kanıtlamak için, yanıtı girin ve Yanıtla'yı tıklayın.","onsmp_explanation_secret":"Karşınızdaki kişi, konuştuğu kişinin gerçekten siz olduğunuzu belirlemeye çalışıyor. Karşınızdaki kişiye kimliğinizi kanıtlamak için, parolayı girin.","from_sender":"__sender__'den","Verified_private_conversation_started":"Doğrulanmış Özel görüşme başladı.","Unverified_private_conversation_started":"Doğrulanmamış Özel görüşme başladı.","Bookmark":"Yer imi","Auto-join":"Otomatik katıl","Edit_bookmark":"yer imini düzenle","Room_logging_is_disabled":"Oda günlüğü devre dışı","Room_is_now_non-anoymous":"Oda artık anonim değil","Room_is_now_semi-anonymous":"Oda yarı-anonim","Do_you_want_to_change_the_default_room_configuration":"Öntanımlı oda yapılandırmasını değiştirmek istiyor musunuz?","Default":"Öntanımlı","Change":"Değiştir","Send_file":"Dosya gönder","setting-explanation-carbon":"Etkinleştirilmiş karbon kopya ile, XMPP sunucusu kendisine gönderilen her iletinin bir kopyasını, bu adrese gönderilmemiş olsa bile sizin için bu istemciye gönderir.","setting-explanation-login":"Bu seçenek etkinleştirilirse, sohbet girişle beraber başlayacaktır.","setting-explanation-priority":"Aynı hesapla bir çok kez oturum açtıysanız, XMPP sunucusu, istemciye iletileri en yüksek öncelikle gönderecektir.","setting-explanation-xmpp":"Bu seçenekler XMPP sunucusuna bağlanmak için kullanılır.","_is_composing":" yazıyor...","_are_composing":" yazıyorlar...","Chat_state_notifications":"Sohbet durumu bildirimleri","setting-explanation-chat-state":"Birisi mesaj başlattığında veya mesaj yazmayı bıraktığında, sohbet durumu bildirimleri göndermek ve almak istiyor musunuz?","Share_screen":"Ekran paylaşımı","Incoming_stream":"Gelen akış","Stream_started":"Akış başladı","HTTPS_REQUIRED":"Bu eylem, şifreli bir bağlantı gerektirir.","EXTENSION_UNAVAILABLE":"Tarayıcı eklentisine ihtiyacınız var.","UNKNOWN_ERROR":"Bilinmeyen bir hata oluştu.","Install_extension":"Ekran paylaşımını kullanabilmek için lütfen eklentiyi yükleyin: ","Connection_accepted":"Bağlantı kabul edildi","Stream_terminated":"Akış sonlandırıldı","Close_all":"Hepsini kapat","Notification":null,"Unreadable_OTR_message":null}},"vi-VN":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"zh-TW":{"translation":{"Logging_in":"正在登入…","your_connection_is_unencrypted":"連線沒加密。","your_connection_is_encrypted":"連線有加密。","your_buddy_closed_the_private_connection":"聯絡人關閉了加密連線。","start_private":"開始加密","close_private":"結束加密","your_buddy_is_verificated":"聯絡人已校驗。","you_have_only_a_subscription_in_one_way":"只有單向訂閱。","authentication_query_sent":"驗證要求送出了。","your_message_wasnt_send_please_end_your_private_conversation":"訊息沒送出去。請結束加密的對話。","unencrypted_message_received":"收到沒加密的訊息","not_available":"不存在","no_connection":"沒有連線!","relogin":"重新登入","trying_to_start_private_conversation":"正在試著開始加密的對話!","Verified":"已校驗","Unverified":"未校驗","private_conversation_aborted":"加密的對話中斷了!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"聯絡人把這場加密的對話關掉了!你也應該同樣關掉。","conversation_is_now_verified":"對話現在校驗過了。","authentication_failed":"驗證失敗。","Creating_your_private_key_":"正在產生你的私人金鑰,會花一段時間。","Authenticating_a_buddy_helps_":"聯絡人驗證可以確保跟你說話的是真的那個人。","How_do_you_want_to_authenticate_your_buddy":"想要怎樣驗證__bid_name__ (<b>__bid_jid__</b>)?","Select_method":"選個方式...","Manual":"手動","Question":"問答","Secret":"祕密","To_verify_the_fingerprint_":"要校驗聯絡人的電子指紋,請透過其他可靠的管道跟她/他聯絡,比如說電話。","Your_fingerprint":"你的電子指紋","Buddy_fingerprint":"聯絡人的電子指紋","Close":"關閉","Compared":"比對正確","To_authenticate_using_a_question_":"要用問答來驗證的話,請找一個只有你和聯絡人才知道答案的問題。","Ask":"問題","To_authenticate_pick_a_secret_":"要驗證的話,請找一個只有你和聯絡人知道的祕密。","Compare":"比對","Fingerprints":"電子指紋","Authentication":"驗證","Message":"訊息","Add_buddy":"加聯絡人","rename_buddy":"重新命名聯絡人","delete_buddy":"刪掉聯絡人","Login":"登入","Username":"使用者名稱","Password":"密碼","Cancel":"取消","Connect":"連線","Type_in_the_full_username_":"請打全名,別名可有可無","Alias":"別名","Add":"加入","Subscription_request":"訂閱請求","You_have_a_request_from":"收到聯絡人的請求:","Deny":"拒絕","Approve":"同意","Remove_buddy":"刪除聯絡人","You_are_about_to_remove_":"要把__bid_name__ (<b>__bid_jid__</b>)從聯絡簿裡刪掉了。所有相關的對話也都會關掉。","Continue_without_chat":"繼續不聊天","Please_wait":"請等一下","Login_failed":"登入聊天失敗","Sorry_we_cant_authentikate_":"跟聊天伺服器驗證失敗,會不會是密碼打錯了?","Retry":"上一步","clear_history":"清除歷史紀錄","New_message_from":"有新訊息:__name__","Should_we_notify_you_":"以後若有新訊息要通知你嗎?","Please_accept_":"請點上方的「允許」按鈕。","Hide_offline":"隱藏離線聯絡人","Show_offline":"顯示離線聯絡人","About":"關於我","dnd":"別打擾","Mute":"開靜音","Unmute":"關靜音","Subscription":"訂閱狀態","both":"雙向","Status":"狀態","online":"上線","chat":"聊天","away":"離開","xa":"離開很久","offline":"離線","none":"沒有","Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":"收到了一則加密但無法辨認的訊息。","Online":"上線","Chatty":"想聊天","Away":"離開","Extended_away":"離開很久","Offline":"離線","Friendship_request":"聯絡請求","Confirm":"確定","Dismiss":"取消","Remove":"刪掉","Online_help":"線上說明","FN":"全名","N":" ","FAMILY":"姓氏","GIVEN":"名字","NICKNAME":"綽號","URL":"網址","ADR":"位址","STREET":"地址","EXTADD":"更多位址","LOCALITY":"所在地","REGION":"區域","PCODE":"郵遞區號","CTRY":"國家","TEL":"電話","NUMBER":"編號","EMAIL":"電子郵件","USERID":" ","ORG":"團體","ORGNAME":"名稱","ORGUNIT":"單位","TITLE":"職稱","ROLE":"職位","BDAY":"生日","DESC":"簡介","PHOTO":" ","send_message":"發送訊息","get_info":"顯示帳號資訊","Settings":"設定","Priority":"優先度","Save":"儲存","User_settings":"使用者設定","A_fingerprint_":"電子指紋是用來確認跟你說話的是真的那個人。","is":"狀態:","Login_options":"登入選項","BOSH_url":"BOSH 網址","Domain":"網域","Resource":"資源","On_login":"登入啟動","Received_an_unencrypted_message":"收到了一則沒加密的訊息","Sorry_your_buddy_doesnt_provide_any_information":"抱歉,聯絡人沒有提供任何資訊。","Info_about":"帳號資訊:","Authentication_aborted":"驗證中斷。","Authentication_request_received":"驗證請求收到了。","Log_in_without_chat":"登入但不啟用聊天","has_come_online":"上線了","Unknown_sender":"不明傳訊人","Please_allow_access_to_microphone_and_camera":"請點上方的「接受」按鈕來允許我們使用麥克風和相機。","Incoming_call":"來電","from":"只出","Do_you_want_to_accept_the_call_from":"是否要接聽來電:","Reject":"拒絕","Accept":"接受","hang_up":"掛斷","snapshot":"截圖","mute_my_audio":"關掉我的聲音","pause_my_video":"暫停我的影像","fullscreen":"全螢幕","Info":"資料","Local_IP":"本機網路位址","Remote_IP":"遠端網路位址","Local_Fingerprint":"本機電子指紋","Remote_Fingerprint":"遠端電子指紋","Video_call_not_possible":"無法視訊通話。聯絡人不支援視訊。","Start_video_call":"開始視訊通話","Join_chat":"參加聊天","Join":"參加","Room":"聊天室","Nickname":"綽號","left_the_building":"__nickname__離開了大樓","entered_the_room":"__nickname__進入了聊天室","is_now_known_as":"__oldNickname__改名叫做__newNickname__","This_room_is":"聊天室屬性:","muc_hidden":{"keyword":"隱藏","description":"搜尋也找不到"},"muc_membersonly":{"keyword":"限會員","description":"會員才會加入"},"muc_moderated":{"keyword":"有管制","description":"沒被消音的人才能送訊息"},"muc_nonanonymous":{"keyword":"禁匿名","description":"每個參與人都能看到你的 jabber 代碼"},"muc_open":{"keyword":"開放","description":"任何人都能參加"},"muc_passwordprotected":{"keyword":"密碼鎖","description":"要輸入正確的密碼才能加入"},"muc_persistent":{"keyword":"永久性","description":"最後一個參與人都離開了也不會結束"},"muc_public":{"keyword":"公開","description":"搜尋得到"},"muc_semianonymous":{"keyword":"半匿名","description":"只有聊天室管理員才看得到你的 jabber 代碼"},"muc_temporary":{"keyword":"暫時性","description":"最後一個參與人離開了就會結束"},"muc_unmoderated":{"keyword":"沒管制","description":"每個人都可以送訊息"},"muc_unsecured":{"keyword":"沒保護","description":"不需要密碼就能加入"},"Continue":"繼續","Server":"伺服器","Rooms_are_loaded":"聊天室載入完成","Could_load_only":"只能載入__count__間聊天室供輸入自動完成使用","muc_explanation":"請輸入要參加的聊天室名稱,綽號和密碼非必要","You_already_joined_this_room":"你已經參加這間聊天室了","This_room_will_be_closed":"聊天室即將關閉","Room_not_found_":"新聊天室即將開啟","Loading_room_information":"正在載入聊天室資訊","Destroy":"關閉","Leave":"離開","changed_subject_to":"__nickname__把聊天室的標題改成了\"__subject__\"","muc_removed_kicked":"你被踢出聊天室了","muc_removed_info_kicked":"__nickname__被踢出聊天室了","muc_removed_banned":"你被禁止進入聊天室了","muc_removed_info_banned":"__nickname__被禁止進入聊天室了","muc_removed_affiliation":"你因為身份改變而離開聊天室了","muc_removed_info_affiliation":"__nickname__因為身份改變而離開聊天室了","muc_removed_membersonly":"你離開聊天室了,因為聊天室改為只限會員,但你不是會員","muc_removed_info_membersonly":"__nickname__離開聊天室了,因為聊天室改為只限會員,但她/他不是會員","muc_removed_shutdown":"你離開聊天室了,因為多人聊天服務正在關閉中。","Reason":"原因","message_not_send":"訊息因為發生錯誤沒送出去","message_not_send_item-not-found":"訊息沒送出去,因為聊天室不存在了","message_not_send_forbidden":"訊息沒送出去,因為你被消音了","message_not_send_not-acceptable":"訊息沒送出去,因為你不是聊天室的參與人了","This_room_has_been_closed":"聊天室已經關閉了","Room_logging_is_enabled":"聊天室紀錄打開了","A_password_is_required":"需要密碼","You_are_not_on_the_member_list":"你不是會員","You_are_banned_from_this_room":"你被禁止進入聊天室了","Your_desired_nickname_":"這個綽號被用掉了,請換一個","The_maximum_number_":"這間聊天室已經到達使用者數目的上限","This_room_is_locked_":"聊天室上鎖了","You_are_not_allowed_to_create_":"不允許你開新的聊天室","Alert":"警告","Call_started":"通話開始","Call_terminated":"通話結束","Carbon_copy":"副本","Enable":"打開","jingle_reason_busy":"忙線中","jingle_reason_decline":"被拒絕","jingle_reason_success":"被掛斷","Media_failure":"媒體錯誤","No_local_audio_device":"本機沒有音訊設備。","No_local_video_device":"本機沒有視訊設備。","Ok":"好","PermissionDeniedError":"你或你的瀏覽器拒絕了媒體使用權限","Use_local_audio_device":"使用本機音訊設備。","Use_local_video_device":"使用本機視訊設備。","is_":"狀態: __status__","You_received_a_message_from_an_unknown_sender_":"收到了不明人士(__sender__)傳來的訊息。你要打開來看嗎?","Your_roster_is_empty_add_":"好友清單是空的,請加<a>新的聯絡人</a>","onsmp_explanation_question":"聯絡人想要確定她/他是在跟真的你說話。要完成你的驗證,請輸入問題的答案,然後按\"回答\"。","onsmp_explanation_secret":"聯絡人想要確定她/他是在跟真的你說話。要完成你的驗證,請輸入你們之間的祕密。","from_sender":"來自:__sender__","Verified_private_conversation_started":"加密且已校驗的對話開始了。","Unverified_private_conversation_started":"加密但未校驗的對話開始了。","Bookmark":"書籤","Auto-join":"自動參加","Edit_bookmark":"編輯書籤","Room_logging_is_disabled":"聊天室紀錄關掉了","Room_is_now_non-anoymous":"現在聊天室禁止匿名了","Room_is_now_semi-anonymous":"現在聊天室變半匿名了","Do_you_want_to_change_the_default_room_configuration":"你想要改變聊天室的預設配置嗎?","Default":"預設值","Change":"修改","Send_file":"傳送檔案","setting-explanation-carbon":"如果打開副本選項的話,XMPP 伺服器會把每一個收到的訊息,都送一份到這個用戶端程式,即使它不是訊息發送的對象。","setting-explanation-login":"打開這個選項會在登入時同時開啟聊天。","setting-explanation-priority":"如果你用同一個帳號同時登入好幾次的話,XMPP 伺服器會把訊息送給優先度最高的那個用戶端程式。","setting-explanation-xmpp":"這些是用在 XMPP 伺服器連線的選項。","_is_composing":"正在打字中...","_are_composing":"正在打字中...","Chat_state_notifications":"聊天狀態通知","setting-explanation-chat-state":"想要傳送以及接收聊天狀態的通知嗎?也就是有人開始或停止寫訊息之類?","Share_screen":"分享螢幕","Incoming_stream":"有串流來","Stream_started":"串流開始了","HTTPS_REQUIRED":"這個動作需要連線有加密。","EXTENSION_UNAVAILABLE":"瀏覽器必須要安裝擴充套件或是附加元件。","UNKNOWN_ERROR":"發生了不明錯誤。","Install_extension":"要使用螢幕分享功能請安裝這個擴充套件: ","Connection_accepted":"連線接受了","Stream_terminated":"串流結束了","Close_all":"全部關掉","Notification":null,"Unreadable_OTR_message":null}},"zh":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}}}; \ No newline at end of file
+var I18next = {"bg":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"bn-BD":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"de":{"translation":{"Logging_in":"Login läuft…","your_connection_is_unencrypted":"Deine Verbindung ist unverschlüsselt.","your_connection_is_encrypted":"Deine Verbindung ist verschlüsselt.","your_buddy_closed_the_private_connection":"Dein Kontakt hat die private Verbindung getrennt.","start_private":"Privat starten","close_private":"Privat abbrechen","your_buddy_is_verificated":"Dein Kontakt ist verifiziert.","you_have_only_a_subscription_in_one_way":"Der Kontaktstatus ist einseitig.","authentication_query_sent":"Authentifizierungsanfrage gesendet.","your_message_wasnt_send_please_end_your_private_conversation":"Deine Nachricht wurde nicht gesendet. Bitte beende die private Konversation.","unencrypted_message_received":"Unverschlüsselte Nachricht erhalten.","not_available":"Nicht verfügbar.","no_connection":"Keine Verbindung.","relogin":"Neu anmelden.","trying_to_start_private_conversation":"Versuche private Konversation zu starten.","Verified":"Verifiziert","Unverified":"Unverifiziert","private_conversation_aborted":"Private Konversation abgebrochen.","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Dein Kontakt hat die private Konversation beendet. Das solltest du auch tun!","conversation_is_now_verified":"Konversation ist jetzt verifiziert","authentication_failed":"Authentifizierung fehlgeschlagen.","Creating_your_private_key_":"Wir werden jetzt deinen privaten Schlüssel generieren. Das kann einige Zeit in Anspruch nehmen.","Authenticating_a_buddy_helps_":"Einen Kontakt zu authentifizieren hilft sicherzustellen, dass die Person mit der du sprichst auch die ist die sie sagt.","How_do_you_want_to_authenticate_your_buddy":"Wie willst du __bid_name__ (<b>__bid_jid__</b>) authentifizieren?","Select_method":"Wähle...","Manual":"Manual","Question":"Frage","Secret":"Geheimnis","To_verify_the_fingerprint_":"Um den Fingerprint zu verifizieren kontaktiere dein Kontakt über einen anderen Kommunikationsweg. Zum Beispiel per Telefonanruf.","Your_fingerprint":"Dein Fingerprint","Buddy_fingerprint":"Sein/Ihr Fingerprint","Close":"Schließen","Compared":"Verglichen","To_authenticate_using_a_question_":"Um die Authentifizierung per Frage durchzuführen, wähle eine Frage bei welcher nur dein Kontakt die Antwort kennt.","Ask":"Frage","To_authenticate_pick_a_secret_":"Um deinen Kontakt zu authentifizieren, wähle ein Geheimnis welches nur deinem Kontakt und dir bekannt ist.","Compare":"Vergleiche","Fingerprints":"Fingerprints","Authentication":"Authentifizierung","Message":"Nachricht","Add_buddy":"Kontakt hinzufügen","rename_buddy":"Kontakt umbenennen","delete_buddy":"Kontakt löschen","Login":"Anmeldung","Username":"Benutzername","Password":"Passwort","Cancel":"Abbrechen","Connect":"Verbinden","Type_in_the_full_username_":"Gib bitte den vollen Benutzernamen und optional ein Alias an.","Alias":"Alias","Add":"Hinzufügen","Subscription_request":"Kontaktanfrage","You_have_a_request_from":"Du hast eine Anfrage von","Deny":"Ablehnen","Approve":"Bestätigen","Remove_buddy":"Kontakt entfernen","You_are_about_to_remove_":"Du bist gerade dabei __bid_name__ (<b>__bid_jid__</b>) von deiner Kontaktliste zu entfernen. Alle Chats werden geschlossen.","Continue_without_chat":"Weiter ohne Chat","Please_wait":"Bitte warten","Login_failed":"Chat-Anmeldung fehlgeschlagen","Sorry_we_cant_authentikate_":"Der Chatserver hat die Anmeldung abgelehnt. Falsches Passwort?","Retry":"Zurück","clear_history":"Lösche Verlauf","New_message_from":"Neue Nachricht von __name__","Should_we_notify_you_":"Sollen wir dich in Zukunft über eingehende Nachrichten informieren, auch wenn dieser Tab nicht im Vordergrund ist?","Please_accept_":"Bitte klick auf den \"Zulassen\" Button oben.","Hide_offline":"Offline ausblenden","Show_offline":"Offline einblenden","About":"Über","dnd":"Beschäftigt","Mute":"Ton aus","Unmute":"Ton an","Subscription":"Bezug","both":"beidseitig","Status":"Status","online":"online","chat":"chat","away":"abwesend","xa":"länger abwesend","offline":"offline","none":"keine","Unknown_instance_tag":"Unbekannter instance tag.","Not_one_of_our_latest_keys":"Nicht einer unserer letzten Schlüssel.","Received_an_unreadable_encrypted_message":"Eine unlesbare verschlüsselte Nachricht erhalten.","Online":"Online","Chatty":"Gesprächig","Away":"Abwesend","Extended_away":"Länger abwesend","Offline":"Offline","Friendship_request":"Kontaktanfrage","Confirm":"Bestätigen","Dismiss":"Ablehnen","Remove":"Löschen","Online_help":"Online Hilfe","FN":"Name","N":" ","FAMILY":"Familienname","GIVEN":"Vorname","NICKNAME":"Spitzname","URL":"URL","ADR":"Adresse","STREET":"Straße","EXTADD":"Zusätzliche Adresse","LOCALITY":"Ortschaft","REGION":"Region","PCODE":"Postleitzahl","CTRY":"Land","TEL":"Telefon","NUMBER":"Nummer","EMAIL":"E-Mail","USERID":" ","ORG":"Organisation","ORGNAME":"Name","ORGUNIT":"Abteilung","TITLE":"Titel","ROLE":"Rolle","BDAY":"Geburtstag","DESC":"Beschreibung","PHOTO":" ","send_message":"Sende Nachricht","get_info":"Benutzerinformationen","Settings":"Einstellungen","Priority":"Priorität","Save":"Speichern","User_settings":"Benutzereinstellungen","A_fingerprint_":"Ein Fingerabdruck wird dazu benutzt deinen Gesprächspartner zu identifizieren.","is":"ist","Login_options":"Anmeldeoptionen","BOSH_url":"BOSH url","Domain":"Domain","Resource":"Ressource","On_login":"Beim Anmelden","Received_an_unencrypted_message":"Unverschlüsselte Nachricht empfangen","Sorry_your_buddy_doesnt_provide_any_information":"Dein Kontakt stellt leider keine Informationen bereit.","Info_about":"Info über","Authentication_aborted":"Authentifizierung abgebrochen.","Authentication_request_received":"Authentifizierungsanfrage empfangen.","Log_in_without_chat":"Anmelden ohne Chat","has_come_online":"ist online gekommen","Unknown_sender":"Unbekannter Sender","Please_allow_access_to_microphone_and_camera":"Bitte klick auf den \"Zulassen\" Button oben, um den Zugriff auf Kamera und Mikrofon zu erlauben.","Incoming_call":"Eingehender Anruf","from":"von","Do_you_want_to_accept_the_call_from":"Möchtest Du den Anruf annehmen von","Reject":"Ablehnen","Accept":"Annehmen","hang_up":"Auflegen","snapshot":"Schnappschuss","mute_my_audio":"Mein Ton aus","pause_my_video":"Mein Video pausieren","fullscreen":"Vollbild","Info":"Info","Local_IP":"Lokale IP","Remote_IP":"Remote IP","Local_Fingerprint":"Lokaler Fingerprint","Remote_Fingerprint":"Remote Fingerprint","Video_call_not_possible":"Videoanruf nicht verfügbar. Dein Gesprächspartner unterstützt keine Videotelefonie.","Start_video_call":"Starte Videoanruf","Join_chat":"Gruppe beitreten","Join":"Betreten","Room":"Gruppe","Nickname":"Nickname","left_the_building":"__nickname__ hat die Gruppe verlassen","entered_the_room":"__nickname__ ist der Gruppe beigetreten","is_now_known_as":"__oldNickname__ ist nun unter __newNickname__ bekannt","This_room_is":"Diese Gruppe ist","muc_hidden":{"keyword":"versteckt","description":"kann durch die Suche nicht gefunden werden"},"muc_membersonly":{"keyword":"nur für Mitglieder","description":"du musst auf der Mitgliederliste stehen"},"muc_moderated":{"keyword":"moderiert","description":"Nur Personen die \"Mitspracherecht\" haben dürfen Nachrichten senden"},"muc_nonanonymous":{"keyword":"nicht anonym","description":"deine Jabber ID wird für alle Mitglieder sichtbar sein"},"muc_open":{"keyword":"offen","description":"jeder darf dieser Gruppe beitreten"},"muc_passwordprotected":{"keyword":"passwortgeschützt","description":"du benötigst das korrekte Passwort"},"muc_persistent":{"keyword":"permanent","description":"wird nicht geschlossen, wenn das letzte Mitglied die Gruppe verlässt"},"muc_public":{"keyword":"öffentlich","description":"kann durch die Suche gefunden werden"},"muc_semianonymous":{"keyword":"teilweise anonym","description":"deine Jabber ID wird nur für die Gruppen Administratoren sichtbar sein"},"muc_temporary":{"keyword":"temporär","description":"wird geschlossen, wenn das letzte Mitglied die Gruppe verlässt"},"muc_unmoderated":{"keyword":"nicht moderiert","description":"jeder darf Nachrichten senden"},"muc_unsecured":{"keyword":"ungesichert","description":"es wird kein Passwort benötigt"},"Continue":"Weiter","Server":"Server","Rooms_are_loaded":"Gruppen werden geladen","Could_load_only":"Es konnten nur __count__ Gruppen für die Autovervollständigung geladen werden","muc_explanation":"Bitte trage den Gruppennamen und optional ein Nickname und Passwort ein um einer Gruppe beizutreten","You_already_joined_this_room":"Du bist dieser Gruppe bereits beigetreten","This_room_will_be_closed":"Diese Gruppe wird geschlossen","Room_not_found_":"Es wird eine neue Gruppe erstellt","Loading_room_information":"Informationen über Gruppe werden geladen","Destroy":"Auflösen","Leave":"Verlassen","changed_subject_to":"__nickname__ hat das Thema auf __subject__ geändert","muc_removed_kicked":"Du wurdest aus der Gruppe entfernt","muc_removed_info_kicked":"__nickname__ wurde aus der Gruppe entfernt","muc_removed_banned":"Du wurdest aus der Gruppe ausgeschlossen","muc_removed_info_banned":"__nickname__ wurde aus der Gruppe ausgeschlossen","muc_removed_affiliation":"Du wurdest aus der Gruppe entfernt wegen einer Änderung deines Mitgliedstatus","muc_removed_info_affiliation":"__nickname__ wurde aus der Gruppe entfernt wegen einer Änderung seines Mitgliedstatus","muc_removed_membersonly":"Diese Gruppe erlaubt jetzt nur noch eingetragene Mitglieder und da du nicht dazugehörst, wurdest du aus der Gruppen entfernt","muc_removed_info_membersonly":"Diese Gruppe erlaubt jetzt nur noch eingetragene Mitglieder und __nickname__ gehört nicht dazu, daher wurde er aus der Gruppe entfernt","muc_removed_shutdown":"Du wurdest aus der Gruppe entfernt, da der MUC Server heruntergefahren wird","Reason":"Grund","message_not_send":"Deine Nachricht wurde aufgrund eines Fehlers nicht versandt","message_not_send_item-not-found":"Deine Nachricht wurde nicht versandt, da der Raum nicht mehr existiert","message_not_send_forbidden":"Deine Nachricht wurde nicht versandt, da du kein \"Mitspracherecht\" hast","message_not_send_not-acceptable":"Deine Nachricht wurde nicht versandt, da du kein Mitglied dieser Gruppe bist","This_room_has_been_closed":"Diese Gruppe wurde geschlossen","Room_logging_is_enabled":"Gesprächsverlauf kann öffentlich einsehbar sein","A_password_is_required":"Es wird ein Passwort benötigt","You_are_not_on_the_member_list":"Du bist kein eingetragenes Mitglied","You_are_banned_from_this_room":"Du wurdest von dieser Gruppe ausgeschlossen","Your_desired_nickname_":"Dein gewünschter Nickname wird bereits verwendet. Bitte wähle einen anderen.","The_maximum_number_":"Die maximale Anzahl der Mitglieder wurde erreicht.","This_room_is_locked_":"Diese Gruppe ist gesperrt","You_are_not_allowed_to_create_":"Du darfst keine neue Gruppe erstellen","Alert":"Alarm","Call_started":"Anruf gestarted","Call_terminated":"Anruf beendet","Carbon_copy":"Kopie","Enable":"Aktivieren","jingle_reason_busy":"beschäftigt","jingle_reason_decline":"abgelehnt","jingle_reason_success":"aufgelegt","Media_failure":"Gerätefehler","No_local_audio_device":"Kein eigenes Audio Gerät","No_local_video_device":"Keine eigene Webcam","Ok":"Ok","PermissionDeniedError":"Du oder dein Browser haben die Audio/Video Berechtigung verweigert","Use_local_audio_device":"Nutze eigenes Audio Gerät","Use_local_video_device":"Benutze eigene Webcam","is_":"ist __status__","You_received_a_message_from_an_unknown_sender_":"Du hast eine Nachricht von einem unbekannten Absender erhalten (__sender__). Möchtest du sie sehen?","Your_roster_is_empty_add_":"Deine Kontaktliste ist leer, füge einen neuen Kontakt <a>hinzu</a>","onsmp_explanation_question":"Dein Kontakt versucht herauszufinden ob er wirklich mit dir redet. Um dich gegenüber deinem Kontakt zu verifizieren gib die Antwort ein und klick auf Antworten.","onsmp_explanation_secret":"Dein Kontakt versucht herauszufinden ob er wirklich mit dir redet. Um dich gegenüber deinem Kontakt zu verifizieren gib das Geheimnis ein.","from_sender":"von __sender__","Verified_private_conversation_started":"Verifizierte private Konversation gestartet.","Unverified_private_conversation_started":"Unverifizierte private Konversation gestartet.","Bookmark":"Lesezeichen","Auto-join":"Automatisch beitreten","Edit_bookmark":"Lesezeichen bearbeiten","Room_logging_is_disabled":"Gruppen Log ist deaktiviert","Room_is_now_non-anoymous":"Gruppe ist jetzt nicht anonym","Room_is_now_semi-anonymous":"Gruppe ist jetzt semi-anonym","Do_you_want_to_change_the_default_room_configuration":"Möchtest du die Gruppenkonfiguration ändern?","Default":"Standard","Change":"Ändern","Send_file":"Datei senden","setting-explanation-carbon":"Wenn Kopien aktiviert sind, werden alle eingehenden Nachrichten zu allen angemeldeten Clients gesendet.","setting-explanation-login":"Wenn diese Option aktiviert ist, wird der Chat beim Anmelden automatisch gestartet.","setting-explanation-priority":"Wenn du mit deinem XMPP Konto mehrfach angemeldet bist, werden Nachrichten zu dem Client mit der höchsten Priorität zugestellt.","setting-explanation-xmpp":"Diese Optionen werden für die Verbindung zum XMPP Server genutzt.","_is_composing":" tippt gerade...","_are_composing":" tippen gerade...","Chat_state_notifications":"Statusbenachrichtigungen","setting-explanation-chat-state":"Möchtest Benachrichtigungen senden und erhalten wenn du oder dein Kontakt Nachrichten tippt?","Share_screen":"Teile Bildschirm","Incoming_stream":"Eingehender Stream","Stream_started":"Stream gestarted","HTTPS_REQUIRED":"Diese Aktion erfordert eine verschlüsselte Verbindung.","EXTENSION_UNAVAILABLE":"Sie benötigen eine Browser Erweiterung.","UNKNOWN_ERROR":"Ein unbekannter Fehler ist aufgetreten.","Install_extension":"Bitte installieren Sie die Erweiterung um ihren Bildschirm zu teilen: ","Connection_accepted":"Verbindung angenommen","Stream_terminated":"Stream beendet","Close_all":"Schließe alle","Notification":"Benachrichtigung","Unreadable_OTR_message":"Unlesbare OTR Nachricht verworfen","Load_older_messages":"Lade ältere Nachrichten"}},"el":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"en":{"translation":{"Logging_in":"Logging in…","your_connection_is_unencrypted":"Your connection is unencrypted.","your_connection_is_encrypted":"Your connection is encrypted.","your_buddy_closed_the_private_connection":"Your contact closed the private connection.","start_private":"Start private","close_private":"Close private","your_buddy_is_verificated":"Your contact is verified.","you_have_only_a_subscription_in_one_way":"You only have a one-way subscription.","authentication_query_sent":"Authentication query sent.","your_message_wasnt_send_please_end_your_private_conversation":"Your message was not sent. Please end your private conversation.","unencrypted_message_received":"Unencrypted message received","not_available":"Not available","no_connection":"No connection!","relogin":"relogin","trying_to_start_private_conversation":"Trying to start private conversation!","Verified":"Verified","Unverified":"Unverified","private_conversation_aborted":"Private conversation aborted!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Your contact closed the private conversation! You should do the same.","conversation_is_now_verified":"Conversation is now verified.","authentication_failed":"Authentication failed.","Creating_your_private_key_":"Creating your private key; this may take a while.","Authenticating_a_buddy_helps_":"Authenticating a contact helps ensure that the person you are talking to is really the one they claim to be.","How_do_you_want_to_authenticate_your_buddy":"How do you want to authenticate __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Select method...","Manual":"Manual","Question":"Question","Secret":"Secret","To_verify_the_fingerprint_":"To verify the fingerprint, contact your contact via some other trustworthy channel, such as the telephone.","Your_fingerprint":"Your fingerprint","Buddy_fingerprint":"Contact fingerprint","Close":"Close","Compared":"Compared","To_authenticate_using_a_question_":"To authenticate using a question, pick a question whose answer is known only you and your contact.","Ask":"Ask","To_authenticate_pick_a_secret_":"To authenticate, pick a secret known only to you and your contact.","Compare":"Compare","Fingerprints":"Fingerprints","Authentication":"Authentication","Message":"Message","Add_buddy":"Add contact","rename_buddy":"rename contact","delete_buddy":"delete contact","Login":"Login","Username":"Username","Password":"Password","Cancel":"Cancel","Connect":"Connect","Type_in_the_full_username_":"Type in the full username and an optional alias.","Alias":"Alias","Add":"Add","Subscription_request":"Subscription request","You_have_a_request_from":"You have a request from","Deny":"Deny","Approve":"Approve","Remove_buddy":"Remove contact","You_are_about_to_remove_":"You are about to remove __bid_name__ (<b>__bid_jid__</b>) from your contact list. All related chats will be closed.","Continue_without_chat":"Continue without chat","Please_wait":"Please wait","Login_failed":"Chat login failed","Sorry_we_cant_authentikate_":"Authentication failed with the chat server. Maybe the password is wrong?","Retry":"Back","clear_history":"Clear history","New_message_from":"New message from __name__","Should_we_notify_you_":"Should we notify you about new messages in the future?","Please_accept_":"Please click the \"Allow\" button at the top.","Hide_offline":"Hide offline contacts","Show_offline":"Show offline contacts","About":"About","dnd":"Do Not Disturb","Mute":"Mute","Unmute":"Unmute","Subscription":"Subscription","both":"both","Status":"Status","online":"online","chat":"chat","away":"away","xa":"extended away","offline":"offline","none":"none","Unknown_instance_tag":"Unknown instance tag.","Not_one_of_our_latest_keys":"Not one of our latest keys.","Received_an_unreadable_encrypted_message":"Received an unreadable encrypted message.","Online":"Online","Chatty":"Chatty","Away":"Away","Extended_away":"Extended away","Offline":"Offline","Friendship_request":"Contact request","Confirm":"Confirm","Dismiss":"Dismiss","Remove":"Remove","Online_help":"Online help","FN":"Full name","N":" ","FAMILY":"Family name","GIVEN":"Given name","NICKNAME":"Nickname","URL":"URL","ADR":"Address","STREET":"Street Address","EXTADD":"Extended Address","LOCALITY":"Locality","REGION":"Region","PCODE":"Postal Code","CTRY":"Country","TEL":"Telephone","NUMBER":"Number","EMAIL":"Email","USERID":" ","ORG":"Organization","ORGNAME":"Name","ORGUNIT":"Unit","TITLE":"Job title","ROLE":"Role","BDAY":"Birthday","DESC":"Description","PHOTO":" ","send_message":"Send message","get_info":"Show information","Settings":"Settings","Priority":"Priority","Save":"Save","User_settings":"User settings","A_fingerprint_":"A fingerprint is used to make sure that the person you are talking to is who he or she is saying.","is":"is","Login_options":"Login options","BOSH_url":"BOSH URL","Domain":"Domain","Resource":"Resource","On_login":"On login","Received_an_unencrypted_message":"Received an unencrypted message","Sorry_your_buddy_doesnt_provide_any_information":"Sorry, your contact does not provide any information.","Info_about":"Info about","Authentication_aborted":"Authentication aborted.","Authentication_request_received":"Authentication request received.","Log_in_without_chat":"Log in without chat","has_come_online":"has come online","Unknown_sender":"Unknown sender","Please_allow_access_to_microphone_and_camera":"Please click the \"Allow\" button at the top, to allow access to microphone and camera.","Incoming_call":"Incoming call","from":"from","Do_you_want_to_accept_the_call_from":"Do you want to accept the call from","Reject":"Reject","Accept":"Accept","hang_up":"hang up","snapshot":"snapshot","mute_my_audio":"mute my audio","pause_my_video":"pause my video","fullscreen":"fullscreen","Info":"Info","Local_IP":"Local IP","Remote_IP":"Remote IP","Local_Fingerprint":"Local fingerprint","Remote_Fingerprint":"Remote fingerprint","Video_call_not_possible":"Video call not possible. Your contact does not support video calls.","Start_video_call":"Start video call","Join_chat":"Join chat","Join":"Join","Room":"Room","Nickname":"Nickname","left_the_building":"__nickname__ left the building","entered_the_room":"__nickname__ entered the room","is_now_known_as":"__oldNickname__ is now known as __newNickname__","This_room_is":"This room is","muc_hidden":{"keyword":"hidden","description":"can not be found through search"},"muc_membersonly":{"keyword":"members-only","description":"you need to be on the member list"},"muc_moderated":{"keyword":"moderated","description":"only persons with \"voice\" are allowed to send messages"},"muc_nonanonymous":{"keyword":"non-anonymous","description":"your jabber id is exposed to all other occupants"},"muc_open":{"keyword":"open","description":"everyone is allowed to join"},"muc_passwordprotected":{"keyword":"password-protected","description":"you need to provide the correct password"},"muc_persistent":{"keyword":"persistent","description":"will not be destroyed if the last occupant left"},"muc_public":{"keyword":"public","description":"can be found through search"},"muc_semianonymous":{"keyword":"semi-anonymous","description":"your jabber id is only exposed to room admins"},"muc_temporary":{"keyword":"temporary","description":"will be destroyed if the last occupant left"},"muc_unmoderated":{"keyword":"unmoderated","description":"everyone is allowed to send messages"},"muc_unsecured":{"keyword":"unsecured","description":"you need no password to enter"},"Continue":"Continue","Server":"Server","Rooms_are_loaded":"Rooms are loaded","Could_load_only":"Could load only __count__ rooms for autocomplete","muc_explanation":"Please enter room name and optional a nickname and password to join a chat","You_already_joined_this_room":"You already joined this room","This_room_will_be_closed":"This room will be closed","Room_not_found_":"A new room will be created","Loading_room_information":"Loading room information","Destroy":"Destroy","Leave":"Leave","changed_subject_to":"__nickname__ changed the room subject to \"__subject__\"","muc_removed_kicked":"You have been kicked from the room","muc_removed_info_kicked":"__nickname__ has been kicked from the room","muc_removed_banned":"You have been banned from the room","muc_removed_info_banned":"__nickname__ has been banned from the room","muc_removed_affiliation":"You have been removed from the room, because of an affiliation change","muc_removed_info_affiliation":"__nickname__ has been removed from the room, because of an affiliation change","muc_removed_membersonly":"You have been removed from the room, because the room has been changed to members-only and you are no member","muc_removed_info_membersonly":"__nickname__ has been removed from the room, because the room has been changed to members-only and you are no member","muc_removed_shutdown":"You have been removed from the room, because the MUC service is being shut down","Reason":"Reason","message_not_send":"Your message was not send because of an error","message_not_send_item-not-found":"Your message was not send because this room does not exist","message_not_send_forbidden":"Your message was not send because you have no voice in this room","message_not_send_not-acceptable":"Your message was not send because you are no occupant of this room","This_room_has_been_closed":"This room has been closed","Room_logging_is_enabled":"Room logging is enabled","A_password_is_required":"A password is required","You_are_not_on_the_member_list":"You are not on the member list","You_are_banned_from_this_room":"You are banned from this room","Your_desired_nickname_":"Your desired nickname is already in use. Please choose another","The_maximum_number_":"The maximum number of user is reached in this room","This_room_is_locked_":"This room is locked","You_are_not_allowed_to_create_":"You are not allowed to create a room","Alert":"Alert","Call_started":"Call started","Call_terminated":"Call terminated","Carbon_copy":"Carbon copy","Enable":"Enable","jingle_reason_busy":"busy","jingle_reason_decline":"decline","jingle_reason_success":"hung up","Media_failure":"Media failure","No_local_audio_device":"No local audio device.","No_local_video_device":"No local video device.","Ok":"Ok","PermissionDeniedError":"You or your browser denied media permission","Use_local_audio_device":"Use local audio device.","Use_local_video_device":"Use local video device.","is_":"is __status__","You_received_a_message_from_an_unknown_sender_":"You received a message from an unknown sender (__sender__). Do you want to display them?","Your_roster_is_empty_add_":"Your roster is empty, add a <a>new contact</a>","onsmp_explanation_question":"Your contact is attempting to determine if they are really talking to you. To authenticate to your contact, enter the answer and click Answer.","onsmp_explanation_secret":"Your contact is attempting to determine if they are really talking to you. To authenticate to your contact, enter the secret.","from_sender":"from __sender__","Verified_private_conversation_started":"Verified private conversation started.","Unverified_private_conversation_started":"Unverified private conversation started.","Bookmark":"Bookmark","Auto-join":"Auto-join","Edit_bookmark":"Edit bookmark","Room_logging_is_disabled":"Room logging is disabled","Room_is_now_non-anoymous":"Room is now non-anonymous","Room_is_now_semi-anonymous":"Room is now semi-anonymous","Do_you_want_to_change_the_default_room_configuration":"Do you want to change the default room configuration?","Default":"Default","Change":"Change","Send_file":"Send file","setting-explanation-carbon":"With enabled carbon copy your XMPP server will send a copy of every incoming message for you to this client even if it was not addressed to it.","setting-explanation-login":"If this option is enabled, the chat will start on login.","setting-explanation-priority":"If you are logged in multiple times with the same account, your XMPP server will deliver messages to the client with the highest priority.","setting-explanation-xmpp":"These options are used to connect to the XMPP server.","_is_composing":" is composing...","_are_composing":" are composing...","Chat_state_notifications":"Chat state notifications","setting-explanation-chat-state":"Do you want to send and receive chat state notifications, like someone starts or stops composing a message?","Share_screen":"Share screen","Incoming_stream":"Incoming stream","Stream_started":"Stream started","HTTPS_REQUIRED":"This action requires an encrypted connection.","EXTENSION_UNAVAILABLE":"You need a browser extension/addon.","UNKNOWN_ERROR":"An unknown error occured.","Install_extension":"Please install the extension in order to use screen sharing: ","Connection_accepted":"Connection accepted","Stream_terminated":"Stream terminated","Close_all":"Close all","Notification":"Notification","Unreadable_OTR_message":"Unreadable OTR message omitted","Load_older_messages":"Load older messages"}},"es":{"translation":{"Logging_in":"Por favor, espere...","your_connection_is_unencrypted":"Su conexión no está cifrada.","your_connection_is_encrypted":"Su conexión está cifrada.","your_buddy_closed_the_private_connection":"Su amigo ha cerrado la conexión privada.","start_private":"Iniciar privado","close_private":"Cerrar privado","your_buddy_is_verificated":"Tu amigo está verificado.","you_have_only_a_subscription_in_one_way":"Solo tienes una suscripción de un modo.","authentication_query_sent":"Consulta de verificación enviada.","your_message_wasnt_send_please_end_your_private_conversation":"Su mensaje no fue enviado. Por favor, termine su conversación privada.","unencrypted_message_received":"Mensaje no cifrado recibido:","not_available":"No disponible","no_connection":"¡Sin conexión!","relogin":"iniciar sesión nuevamente","trying_to_start_private_conversation":"¡Intentando iniciar una conversación privada!","Verified":"Verificado","Unverified":"No verificado","private_conversation_aborted":"¡Conversación privada abortada!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"¡Su amigo cerró la conversación privada! Usted debería hacer lo mismo.","conversation_is_now_verified":"La conversación es ahora verificada.","authentication_failed":"Falló la verificación.","Creating_your_private_key_":"Ahora vamos a crear su clave privada. Esto puede tomar algún tiempo.","Authenticating_a_buddy_helps_":"Autenticación de un amigo ayuda a garantizar que la persona que está hablando es quien él o ella está diciendo.","How_do_you_want_to_authenticate_your_buddy":"¿Cómo desea autenticar __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Escoja un método...","Manual":"Manual","Question":"Pregunta","Secret":"Secreto","To_verify_the_fingerprint_":"Para verificar la firma digital, póngase en contacto con su amigo a través de algún otro canal autenticado, como el teléfono.","Your_fingerprint":"Tu firma digital","Buddy_fingerprint":"firma digital de tu amigo","Close":"Cerrar","Compared":"Comparado","To_authenticate_using_a_question_":"Para autenticar mediante una pregunta, elegid una pregunta cuya respuesta se conoce solo usted y su amigo.","Ask":"Preguntar","To_authenticate_pick_a_secret_":"Para autenticar, elija un secreto conocido solo por usted y su amigo.","Compare":"Comparar","Fingerprints":"Firmas digitales","Authentication":"Autenticación","Message":"Mensaje","Add_buddy":"Añadir amigo","rename_buddy":"renombrar amigo","delete_buddy":"eliminar amigo","Login":"Iniciar Sesión","Username":"Usuario","Password":"Contraseña","Cancel":"Cancelar","Connect":"Conectar","Type_in_the_full_username_":"Escriba el usuario completo y un alias opcional.","Alias":"Alias","Add":"Añadir","Subscription_request":"Solicitud de suscripción","You_have_a_request_from":"Tienes una petición de","Deny":"Rechazar","Approve":"Aprobar","Remove_buddy":"Eliminar amigo","You_are_about_to_remove_":"Vas a eliminar a __bid_name__ (<b>__bid_jid__</b>) de tu lista de amigos. Todas las conversaciones relacionadas serán cerradas.","Continue_without_chat":"Continuar","Please_wait":"Espere por favor","Login_failed":"Fallo el inicio de sesión","Sorry_we_cant_authentikate_":"Lo sentimos, no podemos autentificarlo en nuestro servidor de chat. ¿Tal vez la contraseña es incorrecta?","Retry":"Reintentar","clear_history":"Borrar el historial","New_message_from":"Nuevo mensaje de __name__","Should_we_notify_you_":"¿Debemos notificarle sobre nuevos mensajes en el futuro?","Please_accept_":"Por favor, haga clic en el botón \"Permitir\" en la parte superior.","Hide_offline":"Ocultar contactos desconectados","Show_offline":"Mostrar contactos desconectados","About":"Acerca de","dnd":"No Molestar","Mute":"Desactivar sonido","Unmute":"Activar sonido","Subscription":"Suscripción","both":"ambos","Status":"Estado","online":"en línea","chat":"chat","away":"ausente","xa":"más ausente","offline":"desconectado","none":"nadie","Unknown_instance_tag":"Etiqueta de instancia desconocida.","Not_one_of_our_latest_keys":"No una de nuestras última claves.","Received_an_unreadable_encrypted_message":"Se recibió un mensaje cifrado ilegible.","Online":"En linea","Chatty":"Hablador","Away":"Ausente","Extended_away":"Más ausente","Offline":"Desconectado","Friendship_request":"Solicitud de amistad","Confirm":"Confirmar","Dismiss":"Rechazar","Remove":"Eliminar","Online_help":"Ayuda en línea","FN":"Nombre completo ","N":" ","FAMILY":"Apellido","GIVEN":"Nombre","NICKNAME":"Apodo","URL":"URL","ADR":"Dirección","STREET":"Calle","EXTADD":"Dirección extendida","LOCALITY":"Población","REGION":"Región","PCODE":"Código postal","CTRY":"País","TEL":"Teléfono","NUMBER":"Número","EMAIL":"Correo electrónico","USERID":" ","ORG":"Organización","ORGNAME":"Nombre","ORGUNIT":"Departamento","TITLE":"Título","ROLE":"Rol","BDAY":"Cumpleaños","DESC":"Descripción","PHOTO":" ","send_message":"mandar un texto","get_info":"obtener información","Settings":"Ajustes","Priority":"Prioridad","Save":"Guardar","User_settings":"Configuración de usuario","A_fingerprint_":"La huella digital se utiliza para que puedas estar seguro que la persona con la que estas hablando es quien realmente dice ser","is":"es","Login_options":"Opciones de login","BOSH_url":"BOSH url","Domain":"Dominio","Resource":"Recurso","On_login":"Iniciar sesión","Received_an_unencrypted_message":"Recibe un mensaje no cifrado","Sorry_your_buddy_doesnt_provide_any_information":"Lo sentimos, su amigo no provee ninguna información.","Info_about":"Info acerca de","Authentication_aborted":"Autenticación abortada","Authentication_request_received":"Pedido de autenticación recibido.","Log_in_without_chat":"Ingresar sin chat","has_come_online":"se ha conectado","Unknown_sender":"Remitente desconocido","Please_allow_access_to_microphone_and_camera":"Por favor, permitir el acceso al micrófono y la cámara.","Incoming_call":"Llamada entrante","from":"de","Do_you_want_to_accept_the_call_from":"Desea aceptar la llamada de","Reject":"Rechazar","Accept":"Aceptar","hang_up":"colgar","snapshot":"instantánea","mute_my_audio":"silenciar mi audio","pause_my_video":"pausar mi vídeo","fullscreen":"pantalla completa","Info":"Info","Local_IP":"IP local","Remote_IP":"IP remota","Local_Fingerprint":"Firma digital local","Remote_Fingerprint":"Firma digital remota","Video_call_not_possible":"Llamada de vídeo no es posible","Start_video_call":"Iniciar llamada de vídeo","Join_chat":"Unirse al chat","Join":"Unirse","Room":"Sala","Nickname":"Alias","left_the_building":"__nickname__ dejó el edificio","entered_the_room":"__nickname__ entró en la sala","is_now_known_as":"__oldNickname__ ahora es conocido como __newNickname__","This_room_is":"Esta sala es","muc_hidden":{"keyword":"oculta","description":"no se encontró mediante la búsqueda"},"muc_membersonly":{"keyword":"miembros solo","description":"necesitas estar en la lista de miembros"},"muc_moderated":{"keyword":"moderada","description":"solo personas con \"voice\" están permitidas para mandar mensajes"},"muc_nonanonymous":{"keyword":"no anónima","description":"tu id de jabber es expuesta al resto de ocupantes"},"muc_open":{"keyword":"abierta","description":"todo el mundo puede unirse"},"muc_passwordprotected":{"keyword":"protegida por contraseña","description":"necesitas dar la contraseña correcta"},"muc_persistent":{"keyword":"persistente","description":"no será destruida si el último ocupante sale"},"muc_public":{"keyword":"pública","description":"puede ser encontrada mediante la búsqueda"},"muc_semianonymous":{"keyword":"semi-anónima","description":"tu id de jabber es expuesta a los administradores de la sala"},"muc_temporary":{"keyword":"temporal","description":"será destruida si el último ocupante sale"},"muc_unmoderated":{"keyword":"no moderada","description":"todo el mundo puede enviar mensajes"},"muc_unsecured":{"keyword":"sin asegurar","description":"no necesitas contraseña para entrar"},"Continue":"Continuar","Server":"Servidor","Rooms_are_loaded":"Las salas han sido cargadas","Could_load_only":"Se cargaron solo __count__ salas para el autocompletado","muc_explanation":"Por favor introduce el nombre de la sala, un alias opcional y una contraseña para unirse al chat","You_already_joined_this_room":"Ya te has unido a esta sala","This_room_will_be_closed":"Esta sale será cerrada","Room_not_found_":"Sala no encontrada","Loading_room_information":"Cargando información de la sala","Destroy":"Destruir","Leave":"Abandonar","changed_subject_to":"__nickname__ cambió el asunto de la sala a \"__subject__\"","muc_removed_kicked":"Has sido echado de la sala","muc_removed_info_kicked":"__nickname__ ha sido echado de la sala","muc_removed_banned":"Has sido expulsado de la sala","muc_removed_info_banned":"__nickname__ ha sido expulsado","muc_removed_affiliation":"Has sido eliminado de la sala debido a un cambio en la afiliación","muc_removed_info_affiliation":"__nickname__ ha sido eliminado de la sala debido a un cambio en la afiliación","muc_removed_membersonly":"Has sido eliminado de la sala debido a que la sala ha sido cambiada a miembros solo y tú no eres un miembro","muc_removed_info_membersonly":"__nickname__ ha sido eliminado de la sala debido a que la sala ha sido cambiada a miembros solo y tú no eres un miembro","muc_removed_shutdown":"Has sido eliminado de la sala debido a que el servicio MUC está siendo apagado","Reason":"Razón","message_not_send":"Tu mensaje no fue enviado debido a un error","message_not_send_item-not-found":"Tu mensaje no fue enviado debido a que esta sala no existe","message_not_send_forbidden":"Tu mensaje no fue enviado debido a que no tienes voz en esta sala","message_not_send_not-acceptable":"Tu mensaje no fue enviado debido a que no eres un ocupante de esta sala ","This_room_has_been_closed":"Esta sala ha sido cerrada","Room_logging_is_enabled":"Log de sala está habilitado","A_password_is_required":"Se requiere una contraseña","You_are_not_on_the_member_list":"No estás en la lista de miembros","You_are_banned_from_this_room":"Estás expulsado de esta sala","Your_desired_nickname_":"Tu alias ya está en uso. Por favor elige otro","The_maximum_number_":"El máximo número de usuarios ha sido alcanzado en esta sala","This_room_is_locked_":"Esta sala está bloqueada","You_are_not_allowed_to_create_":"No tienes permiso para crear una sala","Alert":"Alerta","Call_started":"Llamada empezada","Call_terminated":"Llamada terminada","Carbon_copy":"Calco","Enable":"Activar","jingle_reason_busy":"ocupado","jingle_reason_decline":"rechazar","jingle_reason_success":"colgar","Media_failure":"Fallo multimedia","No_local_audio_device":"No hay dispositivo de audio local","No_local_video_device":"No hay dispositivo de vídeo local","Ok":"Ok","PermissionDeniedError":"Tú o tu navegador denegaron el permiso de audio/vídeo","Use_local_audio_device":"Usar dispositivo de audio local","Use_local_video_device":"Usar dispositivo de vídeo","is_":"es __status__","You_received_a_message_from_an_unknown_sender_":"Ha recibido un mensaje de un remitente desconocido (__sender__) ¿Quiere mostrarlos?","Your_roster_is_empty_add_":"Tu lista de amigos esta vacía, añadir un <a>nuevo amigo</a>","onsmp_explanation_question":"Tu amigo está tratando de determinar si él o ella está realmente hablando con usted. Para autenticar a su amigo, introduce la respuesta y haga clic en Contestar.","onsmp_explanation_secret":"Tu amigo está tratando de determinar si él o ella está realmente hablando con usted. Para autenticar a su amigo, especifique el secreto.","from_sender":"de __sender__","Verified_private_conversation_started":"Verificado se inició una conversación privada.","Unverified_private_conversation_started":"No verificado se inició una conversación privada.","Bookmark":"Favorito","Auto-join":"Auto-unir","Edit_bookmark":"Editar favorito","Room_logging_is_disabled":"Log de sala está deshabilitado","Room_is_now_non-anoymous":"La sala es ahora no anónima","Room_is_now_semi-anonymous":"La sale es ahora semi-anónima","Do_you_want_to_change_the_default_room_configuration":"¿Quieres cambiar la configuración por defecto de la sala?","Default":"Por defecto","Change":"Cambiar","Send_file":"Enviar archivo","setting-explanation-carbon":"Con el Calco habilitado tu servidor XMPP enviará una copia de cada mensaje entrante dirigido a ti a este cliente incluso si no estaba siendo enviado a él","setting-explanation-login":"Si esta opción está habilitada, el chat empezará al inicio de sesión","setting-explanation-priority":"Si tú has iniciado sesión varias veces con la misma cuenta, tu servidor XMPP enviará los mensajes al cliente con la mayor prioridad","setting-explanation-xmpp":"Estas opciones son usadas para conectar con el servidor XMPP","_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"fi":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"fr":{"translation":{"Logging_in":"Connexion...","your_connection_is_unencrypted":"Connexion non chiffrée.","your_connection_is_encrypted":"Connexion chiffrée.","your_buddy_closed_the_private_connection":"Votre contact a fermé la connexion privée.","start_private":"Démarrer une conversation privée","close_private":"Clôturer une conversation privée","your_buddy_is_verificated":"Votre contact est vérifié.","you_have_only_a_subscription_in_one_way":"Vous ne pouvez souscrire qu'une fois.","authentication_query_sent":"Requête d’authentification envoyée.","your_message_wasnt_send_please_end_your_private_conversation":"Votre message n'a pas été envoyé. Veuillez terminer votre conversation privée.","unencrypted_message_received":"Message non chiffré reçu","not_available":"Non disponible","no_connection":"Pas de connexion !","relogin":"Re-connexion","trying_to_start_private_conversation":"Essai de démarrage d'une conversation privée !","Verified":"Vérifié","Unverified":"Non vérifié","private_conversation_aborted":"Conversation privée interrompue !","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Votre contact a fermé la conversation privée ! Vous devriez faire de même.","conversation_is_now_verified":"La conversation est maintenant vérifiée.","authentication_failed":"L'authentification a échoué.","Creating_your_private_key_":"Création de votre clé privée; cela peut prendre un moment.","Authenticating_a_buddy_helps_":"L'authentification d'un contact permet de s'assurer que la personne à qui vous parlez est vraiment celui qu'il ou elle prétend être.","How_do_you_want_to_authenticate_your_buddy":"Comment voulez-vous vous authentifier __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Sélection de la méthode...","Manual":"Manuel","Question":"Question","Secret":"Sécurité","To_verify_the_fingerprint_":"Pour vérifier l'empreinte, joignez votre contact via un autre canal digne de confiance, tel que le téléphone.","Your_fingerprint":"Votre empreinte","Buddy_fingerprint":"Empreinte du contact","Close":"Fermer","Compared":"Comparé","To_authenticate_using_a_question_":"Pour s'authentifier à l'aide d'une question, choisissez une question dont la réponse n'est connue que vous et de votre contact.","Ask":"Demander","To_authenticate_pick_a_secret_":"Pour vous authentifier, choisissez un secret connu seulement de vous et de votre contact.","Compare":"Comparer","Fingerprints":"Empreintes","Authentication":"Authentification","Message":"Message","Add_buddy":"Ajouter un contact","rename_buddy":"Renommer le contact","delete_buddy":"Supprimer le contact","Login":"Connexion","Username":"Nom d'utilisateur","Password":"Mot de passe","Cancel":"Annuler","Connect":"Connecter","Type_in_the_full_username_":"Tapez un nom d'utilisateur complet et un alias(optionnel).","Alias":"Alias","Add":"Ajouter","Subscription_request":"Demande d'abonnement","You_have_a_request_from":"Vous avez une requête de ","Deny":"Refuser","Approve":"Approuver","Remove_buddy":"Supprimer le contact","You_are_about_to_remove_":"Vous allez retirer __bid_name__ (<b>__bid_jid__</b>) de votre liste de contacts. Toutes les fenêtres de discussion en lien avec celui-ci seront fermées.","Continue_without_chat":"Continuer sans tchat","Please_wait":"Merci de patienter","Login_failed":"Authentification échouée","Sorry_we_cant_authentikate_":"La connexion avec le serveur de tchat a échoué. Vérifiez le mot de passe.","Retry":"Retour","clear_history":"Effacer l’historique","New_message_from":"Nouveau message de __name__","Should_we_notify_you_":"Dans le futur, devrons-nous vous notifier les nouveaux messages ?","Please_accept_":"Merci de cliquer sur le bouton \"autoriser\" en haut de page","Hide_offline":"Masquer les contacts non connectés","Show_offline":"Afficher les contacts non connectés","About":"À propos","dnd":"Ne pas déranger","Mute":"Muet","Unmute":"Son actif","Subscription":"Abonnement","both":"Les deux","Status":"Statut","online":"En ligne","chat":"tchat","away":"Absent","xa":"Longue absence","offline":"Hors ligne","none":"Aucun","Unknown_instance_tag":"Tag inconnu","Not_one_of_our_latest_keys":"Ce n'est pas l'une des dernières touches","Received_an_unreadable_encrypted_message":"Message chiffré non lisible","Online":"En ligne","Chatty":"Libre pour discuter","Away":"Absent","Extended_away":"Longue absence","Offline":"Hors ligne","Friendship_request":"Demande de contact","Confirm":"Valider","Dismiss":"Rejeter","Remove":"Supprimer","Online_help":"Aide en ligne","FN":"Nom","N":" N ","FAMILY":"Nom de famille","GIVEN":"prénom","NICKNAME":"Pseudo","URL":"URL","ADR":"Adresse","STREET":"Rue","EXTADD":"Adresse (suite)","LOCALITY":"Localité","REGION":"Région","PCODE":"Code Postal","CTRY":"Pays","TEL":"Téléphone","NUMBER":"Numéro","EMAIL":"Courriel","USERID":" USERID ","ORG":"Organisation","ORGNAME":"Nom","ORGUNIT":"Unité","TITLE":"Qualité:","ROLE":"Rôle","BDAY":"Date de naissance","DESC":"Description","PHOTO":"Photo","send_message":"Envoyer un message","get_info":"Montrer les informations","Settings":"Réglages","Priority":"Priorité","Save":"Enregistrer","User_settings":"Paramètres utilisateur","A_fingerprint_":"Une empreinte est utilisée pour s'assurer de l'identité de la personne à qui vous parlez","is":"est","Login_options":"Options d'identification","BOSH_url":"URL BOSH","Domain":"Domaine","Resource":"Ressource","On_login":"Après authentification","Received_an_unencrypted_message":"Reçu un message non chiffré","Sorry_your_buddy_doesnt_provide_any_information":"Désolé, votre contact n'a pas fourni d'informations","Info_about":"À propos de","Authentication_aborted":"Authentification interrompue.","Authentication_request_received":"Requête d'authentification reçue.","Log_in_without_chat":"S'identifier sans tchat","has_come_online":"vient d'arriver","Unknown_sender":"Expéditeur inconnu","Please_allow_access_to_microphone_and_camera":"Veuillez cliquez sur le bouton \"Autoriser\" en haut, pour permettre l'accès au micro et à la caméra.","Incoming_call":"Appel entrant","from":"de","Do_you_want_to_accept_the_call_from":"Voulez-vous accepter l'appel de","Reject":"Rejeté","Accept":"Accepté","hang_up":"raccrocher","snapshot":"Capture d’écran","mute_my_audio":"Couper l'audio","pause_my_video":"Mettre ma vidéo en pause","fullscreen":"Plein écran","Info":"Info","Local_IP":"IP locale","Remote_IP":"IP distante","Local_Fingerprint":"Empreinte locale","Remote_Fingerprint":"Empreinte distante","Video_call_not_possible":"L'appel vidéo n'est possible. Votre contact ne supporte pas les appels vidéo.","Start_video_call":"Démarrer l'appel vidéo","Join_chat":"Joindre la discussion","Join":"Joindre","Room":"Salon","Nickname":"Pseudo","left_the_building":"__nickname__ a quitté l'immeuble","entered_the_room":"__nickname__ entre dans le salon","is_now_known_as":"__oldNickname__ est maintenant connu comme __newNickname__","This_room_is":"Ce salon est","muc_hidden":{"keyword":"caché","description":"ne peut être trouvé avec une recherche"},"muc_membersonly":{"keyword":"pour les membres seulement","description":"Vous devez être sur la liste des membres"},"muc_moderated":{"keyword":"modéré","description":"Seulement les personnes avec la \"voix\" sont autorisés à envoyer des messages"},"muc_nonanonymous":{"keyword":"non anonyme","description":"Votre identifiant Jabber est visible de tous les autres occupants"},"muc_open":{"keyword":"ouvert","description":"Tout le monde est autorisé à se connecter"},"muc_passwordprotected":{"keyword":"protégé par un mot de passe","description":"Vous devez fournir un mot de passe correct"},"muc_persistent":{"keyword":"persistent","description":"ne sera pas détruit si le dernier occupant part"},"muc_public":{"keyword":"public","description":"peut être touvé avec une recherche"},"muc_semianonymous":{"keyword":"semi-anonyme","description":"Votre identifiant Jabber est seulement visible aux administrateurs de ce salon"},"muc_temporary":{"keyword":"temporaire","description":"sera détruit au départ de son dernier occupant"},"muc_unmoderated":{"keyword":"non modéré","description":"Tout le monde est autorisé à envoyer des messages"},"muc_unsecured":{"keyword":"non sécurisé","description":"un mot de passe n'est pas nécessaire pour entrer"},"Continue":"Continuer","Server":"Serveur","Rooms_are_loaded":"Les salons sont chargés","Could_load_only":"Ne peut charger que __count__ salons pour l'autocomplétion","muc_explanation":"Veuillez saisir le nom du salon, un surnom (optionnel) et un mot de passe pour joindre la conversation","You_already_joined_this_room":"Vous avez déjà rejoint ce salon","This_room_will_be_closed":"Ce salon va être fermé","Room_not_found_":"Un nouveau salon va être créé","Loading_room_information":"Chargement des informations du salon","Destroy":"Détruire","Leave":"Quitter","changed_subject_to":"__nickname__ a changé le sujet du salon à \"__subject__\"","muc_removed_kicked":"Vous avez été éjecté de ce salon","muc_removed_info_kicked":"__nickname__ a été éjecté de ce salon","muc_removed_banned":"Vous avez été banni de ce salon","muc_removed_info_banned":"__nickname__ a été banni de ce salon","muc_removed_affiliation":"Vous avez été retiré du salon en raison d'un changement d'affiliation","muc_removed_info_affiliation":"__nickname__ a été retiré du salon en raison d'un changement d'affiliation","muc_removed_membersonly":"Vous avez été retiré du salon parce que celui-ci est maintenant réservé aux membres et vous n'en faites pas partie","muc_removed_info_membersonly":"__nickname__ a été retiré du salon parce que celui-ci est maintenant réservé aux membres","muc_removed_shutdown":"Vous avez été retiré du salon parce que le service de salon de discussion est en train de s'éteindre","Reason":"Raison","message_not_send":"Votre message n'a pu être envoyé a cause d'une erreur","message_not_send_item-not-found":"Votre message n'a pu être envoyé parce que ce salon n'existe pas","message_not_send_forbidden":"Votre message n'a pas été envoyé parce que vous n'avez pas le droit de parler dans ce salon","message_not_send_not-acceptable":"Votre message n'a pas été envoyé car il n'y a personne dans ce salon","This_room_has_been_closed":"Ce salon a été fermé","Room_logging_is_enabled":"L'historique du salon est conservé","A_password_is_required":"Un mot de passe est requis","You_are_not_on_the_member_list":"Vous n'êtes pas sur la liste des membres","You_are_banned_from_this_room":"Vous avez été banni de ce salon","Your_desired_nickname_":"Votre pseudo souhaité est déjà utilisé. Veuillez en choisir un autre","The_maximum_number_":"Le nombre maximum d'utilisateurs est atteint dans ce salon","This_room_is_locked_":"Ce salon est verrouillé","You_are_not_allowed_to_create_":"Vous n'êtes pas autorisé à créer un salon","Alert":"Alerte","Call_started":"Appel démarré","Call_terminated":"Appel terminé","Carbon_copy":"Copie carbone","Enable":"Activé","jingle_reason_busy":"occupé","jingle_reason_decline":"refusé","jingle_reason_success":"raccroché","Media_failure":"échec du média","No_local_audio_device":"Pas de périphérique audio local","No_local_video_device":"Pas de périphérique vidéo local","Ok":"Ok","PermissionDeniedError":"Vous ou votre navigateur avez refusé de donner des permissions audio/vidéo","Use_local_audio_device":"Utiliser un périphérique audio local.","Use_local_video_device":"Utiliser un périphérique vidéo local.","is_":"est __status__","You_received_a_message_from_an_unknown_sender_":"Vous avez reçu un message d'un expéditeur inconnu (__sender__) Voulez-vous les afficher ?","Your_roster_is_empty_add_":"Votre liste est vide, ajouter <a>Nouveau contact</a>","onsmp_explanation_question":"Votre contact tente de déterminer si il ou elle vous parle vraiment. Pour vous authentifier auprès de votre contact, saisissez une réponse et cliquez sur Répondre.","onsmp_explanation_secret":"Votre contact tente de déterminer si il ou elle parle vraiment à vous. Pour vous authentifier auprès de votre contact, entrez le mot secret","from_sender":"de __sender__","Verified_private_conversation_started":"La conversation privée vérifiée a démarré.","Unverified_private_conversation_started":"La conversation privée non vérifiée a démarré.","Bookmark":"Marque-page","Auto-join":"Joindre automatiquement","Edit_bookmark":"Éditer le marque-page","Room_logging_is_disabled":"La connexion au salon est désactivée","Room_is_now_non-anoymous":"Ce salon n'est désormais plus anonyme","Room_is_now_semi-anonymous":"Ce salon est désormais semi-anonyme","Do_you_want_to_change_the_default_room_configuration":"Voulez-vous changer la configuration par défaut du salon ?","Default":"Par défaut","Change":"Changer","Send_file":"Envoyer un fichier","setting-explanation-carbon":"Avec la copie carbone activé, votre serveur XMPP envera une copie de tous les messages entrant qui vous sont destiné à ce client, même s'il ne lui sont pas directement addressés.","setting-explanation-login":"Si cette option est activé, le chat commencera lorsque vous vos connectez.","setting-explanation-priority":"Si vous êtes connecté plusieurs fois avec le même compte, votre serveur XMPP enverra les messages au client ayant le plus haute priorité.","setting-explanation-xmpp":"Ces options sont utilisées pour se connecter au serveur XMPP.","_is_composing":" est en train d'écrire...","_are_composing":" sont en train d'écrire...","Chat_state_notifications":"Notifications de composition","setting-explanation-chat-state":"Voulez-vous envoyer et recevoir les notifications de composition, comme lorsque quelqu'un commence ou arrête d'écrire un message ?","Share_screen":"Ecran partagé","Incoming_stream":"Flux entrant","Stream_started":"flux démarré","HTTPS_REQUIRED":"Cette action nécessite une connexion cryptée.","EXTENSION_UNAVAILABLE":"Vous avez besoin d'une extension / d'un addon pour votre navigateur.","UNKNOWN_ERROR":"Une erreur inconnue s'est produite.","Install_extension":"Veuillez installer l'extension afin d'utiliser le partage d'écran: ","Connection_accepted":"Connexion acceptée","Stream_terminated":"Flux terminé","Close_all":"Tout fermer","Notification":"Notification","Unreadable_OTR_message":"Message OTR illisible omis","Load_older_messages":"Charger des messages plus anciens"}},"hu-HU":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":"Az Ön kapcsolata titkosítatlan.","your_connection_is_encrypted":"Az Ön kapcsolata titkosított.","your_buddy_closed_the_private_connection":"Partnere megszakította a privát kapcsolatot.","start_private":"Privát beszélgetés indítása","close_private":"Privát beszélgetés bezárása","your_buddy_is_verificated":"Az Ön partnere megerősítve.","you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":"Azonosítási kérelem elküldve.","your_message_wasnt_send_please_end_your_private_conversation":"Az üzenetet nem sikerült elküldeni. Kérem fejezze be a privát beszélgetést.","unencrypted_message_received":"Titkosítatlan üzenet fogadva","not_available":"Nem elérhető","no_connection":"Nincs kapcsolat!","relogin":"relogin","trying_to_start_private_conversation":"Privát beszélgetés indítása!","Verified":"Megerősítve","Unverified":"Nem megerősített","private_conversation_aborted":"Privát beszélgetés megszakítva!","your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":"Azonosítás sikertelen.","Creating_your_private_key_":"Privát kulcs generálása. Egy kis időbe telhet...","Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":"Kérdés","Secret":"Kulcs","To_verify_the_fingerprint_":null,"Your_fingerprint":"Az Ön lenyomata","Buddy_fingerprint":"Partnere lenyomata","Close":"Bezárás","Compared":"Összehasonlítva","To_authenticate_using_a_question_":"Az azonosításhoz adjon meg egy kérdést, amelyre a választ csak Ön és Partnere ismerhetik.","Ask":"Kérdez","To_authenticate_pick_a_secret_":"Az azonosításhoz adjon meg egy titkot, amelyet csak Ön és Partnere ismerhetnek.","Compare":"Összehasonlítás","Fingerprints":"Lenyomatok","Authentication":"Azonosítás","Message":"Üzenet","Add_buddy":"Partner hozzáadása","rename_buddy":"Partner átnevezése","delete_buddy":"Partner törlése","Login":"Belépés","Username":"Felhasználónév","Password":"Jelszó","Cancel":"Mégsem","Connect":"Csatlakozás","Type_in_the_full_username_":"Adjon meg egy teljes felhasználónevet, és egy opcionális becenevet.","Alias":"Becenév","Add":"Hozzáadás","Subscription_request":"Feliratkozási kérelem","You_have_a_request_from":"Ön felkérést kapott a következőtől","Deny":"Elutasít","Approve":"Jóváhagy","Remove_buddy":"Partner eltávolítása","You_are_about_to_remove_":null,"Continue_without_chat":"Folytatás chat nélkül","Please_wait":"Kérem várjon","Login_failed":"Chat bejelentkezés sikertelen","Sorry_we_cant_authentikate_":null,"Retry":"Vissza","clear_history":"Előzmények törlése","New_message_from":"Új üzenet __name__ partnerétől","Should_we_notify_you_":"Kívánja hogy értesítsük a jövőben új üzeneteiről?","Please_accept_":"Kérem kattintson a fent megjelenő \"Engedélyez\" gombra.","Hide_offline":"Offline partnerek elrejtése","Show_offline":"Offline partnerek mutatása","About":null,"dnd":"Ne zavarj","Mute":"Némítás","Unmute":"Hangok engedélyezése","Subscription":null,"both":"mindkettő","Status":"Állapot","online":"elérhető","chat":null,"away":"távol","xa":"huzamosabban távol","offline":"offline","none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":"Teljes név","N":null,"FAMILY":"Családi név","GIVEN":"Keresztnév","NICKNAME":"Becenév","URL":"URL","ADR":"Cím","STREET":"Utcanév","EXTADD":"Cím","LOCALITY":"Helység","REGION":"Régió","PCODE":"Irányítószám","CTRY":"Ország","TEL":"Telefonszám","NUMBER":"Házszám","EMAIL":"E-mail cím","USERID":null,"ORG":"Vállalat","ORGNAME":"Név","ORGUNIT":"Osztály","TITLE":"Beosztás","ROLE":"Részleg","BDAY":"Születésnap","DESC":"Leírás","PHOTO":null,"send_message":"Üzenet küldése","get_info":"Info mutatása","Settings":"Beállítások","Priority":"Prioritás","Save":"Mentés","User_settings":"Felhasználó beállítások","A_fingerprint_":null,"is":null,"Login_options":"Bejelentkezési lehetőségek","BOSH_url":"BOSH URL","Domain":"Domain","Resource":"Erőforrás","On_login":"Bejelentkezéskor","Received_an_unencrypted_message":"Titkosítatlan üzenetet fogadott","Sorry_your_buddy_doesnt_provide_any_information":"Sajnos az Ön partnere nem adott meg semmilyen információt.","Info_about":null,"Authentication_aborted":"Azonosítás megszakítva.","Authentication_request_received":"Azonosítási kérelem fogadva.","Log_in_without_chat":"Bejelentkezés chat nélkül","has_come_online":"bejelentkezett","Unknown_sender":"Ismeretlen küldő","Please_allow_access_to_microphone_and_camera":"Kérem kattintson a fent megjelenő \"Engedélyez/Allow\" gombra hogy hozzáférést biztosítson mikrofonjához és kamerájához.","Incoming_call":"Bejövő hívás","from":"tőle","Do_you_want_to_accept_the_call_from":"Szeretné fogadni következő partnere hívását:","Reject":"Elutasít","Accept":"Fogadás","hang_up":"tartás","snapshot":"képernyőfotó","mute_my_audio":"hangom némítása","pause_my_video":"videóképem megállítása","fullscreen":"teljes képernyő","Info":"Info","Local_IP":"Helyi IP","Remote_IP":"Távoli IP","Local_Fingerprint":"Helyi lenyomat","Remote_Fingerprint":"Távoli lenyomat","Video_call_not_possible":"Videóhívás nem lehetséges. Az Ön partnerének készüléke nem támogatja a videóhívásokat.","Start_video_call":"Videóhívás indítása","Join_chat":"Belépés a chatbe","Join":"Belépés","Room":"Szoba","Nickname":"Becenév","left_the_building":"__nickname__ elhagyta az épületet.","entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"it":{"translation":{"Logging_in":"login…","your_connection_is_unencrypted":"La sua connessione è non cifrata.","your_connection_is_encrypted":"La sua connessione è cifrata.","your_buddy_closed_the_private_connection":"La sua connessione privata è stato chiuso dal suo compagno.","start_private":"Inizia privata","close_private":"Chiude privata","your_buddy_is_verificated":"Il tuo compagno è stato verificato","you_have_only_a_subscription_in_one_way":"Hai solo una one-way inscrizione.","authentication_query_sent":"Domanda d'autenticità inviata.","your_message_wasnt_send_please_end_your_private_conversation":"Il tuo messaggio non è stato inviato. Si prega di finire la sua conversazione privata.","unencrypted_message_received":"Messaggio non cifrato ricevuto","not_available":"non disponibile","no_connection":"nessun collegamento!","relogin":"nuovo login","trying_to_start_private_conversation":"Cercando di avviare una conversazione privata!","Verified":"verificato","Unverified":"non verificato","private_conversation_aborted":"Conversazione privata abortito!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Il tuo compagno ha chiuso la conversazione privata! Si dovrebbe fare lo stesso.","conversation_is_now_verified":"Conversazione è ora verificato.","authentication_failed":"autenticazione fallita.","Creating_your_private_key_":"Creare la propria chiave privata; questo potrebbe richiedere un po'.","Authenticating_a_buddy_helps_":"Autenticazione un compagno aiuta a garantire che la persona si sta parlando è davvero quello che lui o lei sostiene di essere.","How_do_you_want_to_authenticate_your_buddy":"Come si desidera autenticare __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Seleziona metodo ..","Manual":"manuale","Question":"domanda","Secret":"segreto","To_verify_the_fingerprint_":"Per verificare l'impronta digitale, contattare il proprio compagno attraverso qualche altro canale affidabile, come il telefono.","Your_fingerprint":"il tuo impronta digitale","Buddy_fingerprint":"impronta digitale da compagno","Close":"chiude","Compared":"comparato","To_authenticate_using_a_question_":"Per autenticare tramite una questione, scegli una questione la cui risposta è nota solo voi e il tuo compagno","Ask":"chiedi","To_authenticate_pick_a_secret_":"Per autenticare, scegli un segreto noto solo a te e il tuo compagno.","Compare":"Comparare","Fingerprints":"Impronta digitale","Authentication":"Autenticazione","Message":"Messagio","Add_buddy":"Aggiungi un compagno","rename_buddy":"rinomina compagno","delete_buddy":"elimina compagno","Login":"Login","Username":"Identificazione dell'utente","Password":"Password","Cancel":"Cancella","Connect":"Collega","Type_in_the_full_username_":"Digita l'identificazione utente completo e un alias opzionale.","Alias":"Alias","Add":"Aggiungi","Subscription_request":"Rrichiesta di sottoscrizione","You_have_a_request_from":"Hai una richiesta da","Deny":"Refiuta","Approve":"Approva","Remove_buddy":"Rimuova il compagno","You_are_about_to_remove_":"Stai rimovendo __bid_name__ (<b>__bid_jid__</b>) del suo lista di compagni. Tutte le chat appartenente saranno chiuse.","Continue_without_chat":"Continua senza chat","Please_wait":"Si prega d'attendere","Login_failed":"Chat login è fallito","Sorry_we_cant_authentikate_":"Autenticazione non riuscita con il server di chat. Forse la password è sbagliata?","Retry":"Indietro","clear_history":"Cancella la cronologia","New_message_from":"Nuovo messaggio da __name__","Should_we_notify_you_":"Vuoi ricevere una notifica di nuovi messaggi in futuro?","Please_accept_":"Si prega di fare clic sul bottone \"Autorizzazione\" sopra.","Hide_offline":"Nascondere i contatti non in linea","Show_offline":"Mostra i contatti non in linea","About":"Informazione legale","dnd":"Non disturbare","Mute":"Muto attivo","Unmute":"Muto inattivo","Subscription":"Sottoscrizione","both":"etrambi","Status":"Status","online":"In linea","chat":"chat","away":"via","xa":"via estensivo","offline":"non in linea","none":"nessuno","Unknown_instance_tag":"Instance tag sconosciuta.","Not_one_of_our_latest_keys":"Non è una delle nostre ultime chiavi.","Received_an_unreadable_encrypted_message":"Ricevuto un messaggio crittografato illeggibile.","Online":"In linea","Chatty":"Chiacchierino","Away":"Via","Extended_away":"Via estensivo","Offline":"Non in linea","Friendship_request":"Amicizia richiesto","Confirm":"Conferma","Dismiss":"Rifiuta","Remove":"Rimuovi","Online_help":"Guida in linea","FN":"Nome e cognome","N":null,"FAMILY":"Cognome","GIVEN":"Nome","NICKNAME":"Soprannome","URL":"URL","ADR":"Indirizzo","STREET":"Via","EXTADD":"Esteso Indirizzo","LOCALITY":"Località","REGION":"Regione","PCODE":"Codice Postale","CTRY":"Paese","TEL":"Telefono","NUMBER":"Numero","EMAIL":"E-mail","USERID":null,"ORG":"Organizzazione","ORGNAME":"Nome","ORGUNIT":"Unità","TITLE":"Titolo di lavoro","ROLE":"Funzione","BDAY":"Compleanno","DESC":"Descrizione","PHOTO":null,"send_message":"Messagio inviato","get_info":"Mostra informazioni","Settings":"Impostazione","Priority":"Priorità","Save":"Salva","User_settings":"Impostazione dell'utente","A_fingerprint_":"Una impronta digitale è usato per assicurarsi che la persona con cui stai parlando è lui o lei che sta dicendo.","is":"è","Login_options":"Opzioni di login","BOSH_url":"BOSH URL","Domain":"Domain","Resource":"Risorsa","On_login":"Login on","Received_an_unencrypted_message":"Ricevuto un messaggio non crittografato","Sorry_your_buddy_doesnt_provide_any_information":"Spiace, il tuo compagno non fornisce alcuna informazione.","Info_about":"Informazioni","Authentication_aborted":"Autenticazione interrotta","Authentication_request_received":"Richiesta di autenticazione ricevuto.","Log_in_without_chat":"Log in senza chat","has_come_online":"È venuto in linea","Unknown_sender":"Mittente sconosciuto","Please_allow_access_to_microphone_and_camera":"Si prega di fare clic sul bottone \"Autorizzazione\" sopra per autorizzazione del l'accesso al microfono e fotocamera.","Incoming_call":"Chiamata in arrivo","from":"di","Do_you_want_to_accept_the_call_from":"Vuoi accettare la chiamata di","Reject":"Rifiuta","Accept":"Accetta","hang_up":"Riattacca","snapshot":"istantanea","mute_my_audio":"disattiva il mio audio","pause_my_video":"pausa il mio audio","fullscreen":"schermo intero","Info":"Informazione","Local_IP":"IP locale","Remote_IP":"IP remoto","Local_Fingerprint":"Impronta digitale locale","Remote_Fingerprint":"Impronta digitale remoto","Video_call_not_possible":"Videochiamata non è possibile. Il tuo compagno non può effettuare videochiamate.","Start_video_call":"Inizia videochiamata","Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":"è __status__","You_received_a_message_from_an_unknown_sender_":"Hai ricevuto un messaggio da un mittente sconosciuto (__sender__) Vuoi che venga visualizzato?","Your_roster_is_empty_add_":"Il suo elenco è vuoto, aggiungi un <a>compagno nuovo</a>","onsmp_explanation_question":"Il tuo compagno sta cercando di determinare se lui o lei sta davvero parlando con te. Per autenticare a il tuo compagno. inserisci la risposta e fare click su risposta.","onsmp_explanation_secret":"Il tuo compagno sta cercando di determinare se lui o lei sta davvero parlando con te. Per autenticare a il tuo compagno. inserire il segreto.","from_sender":"di __sender__","Verified_private_conversation_started":"verificato Conversazione privata iniziato.","Unverified_private_conversation_started":"non verificato Conversazione privata iniziato.","Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"nds":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"nl-NL":{"translation":{"Logging_in":"Inloggen…","your_connection_is_unencrypted":"Je verbinding is niet versleuteld.","your_connection_is_encrypted":"Je verbinding is versleuteld.","your_buddy_closed_the_private_connection":"Je contactpersoon sloot de prive-verbinding.","start_private":"start privé","close_private":"Sluit privé","your_buddy_is_verificated":"Je contactpersoon is geverifieerd.","you_have_only_a_subscription_in_one_way":"Je hebt een eenrichtingsabonnement.","authentication_query_sent":"Verificatie vraag gestuurd.","your_message_wasnt_send_please_end_your_private_conversation":"Je bericht is niet verzonden. Beëindig prive gesprek.","unencrypted_message_received":"Ongecodeerde bericht ontvangen","not_available":"Niet beschikbaar","no_connection":"Geen Niet verbinding!","relogin":"opnieuw inloggen","trying_to_start_private_conversation":"Proberen om privé-gesprek te beginnen!","Verified":"Geverifieerd","Unverified":"Ongeverifieerd","private_conversation_aborted":"Privé-gesprek afgebroken!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Je contact sloot het Privé-gesprek! Doe hetzelfde.","conversation_is_now_verified":"Gesprek is geverifieerd.","authentication_failed":"Verificatie mislukt.","Creating_your_private_key_":"Een persoonlijke sleutel maken. Dit kan een tijdje duren.","Authenticating_a_buddy_helps_":"Authenticatie met een contact helpt ervoor te zorgen dat de persoon met wie u praat echt de persoon is die ze beweert te zijn.","How_do_you_want_to_authenticate_your_buddy":"Hoe wilt u verificeren __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Selectie methode...","Manual":"Handleiding","Question":"Vraag","Secret":"Geheim","To_verify_the_fingerprint_":"Neem via een ander betrouwbaar kanaal, contact op met uw gesprekspartner om de vingerafdruk te controleren. Bijvoorbeeld per telefoon.","Your_fingerprint":"Jou vingerafdruk","Buddy_fingerprint":"Contact vingerafdruk","Close":"Sluiten","Compared":"Vergeleken","To_authenticate_using_a_question_":"Gebruik een vraag om te verificeren, neem een antwoord alleen bekend bij u en uw contact.","Ask":"Vraag","To_authenticate_pick_a_secret_":"Voor verificatie, kies een geheim alleen bekend is bij u en uw contact.","Compare":"Vergelijk","Fingerprints":"Vingerafdrukken","Authentication":"Verificatie","Message":"Bericht","Add_buddy":"Contact toevoegen","rename_buddy":"contact hernoemen","delete_buddy":"contact verwijderen","Login":"Login","Username":"Gebruikersnaam","Password":"Paswoord","Cancel":"Annuleer","Connect":"Verbind","Type_in_the_full_username_":"Vul de volledige gebruikersnaam en een optionele alias in.","Alias":"Alias","Add":"Voeg toe","Subscription_request":"Abonnementsverzoek","You_have_a_request_from":"Je hebt een uitnodiging van","Deny":"Ontken","Approve":"Toestaan","Remove_buddy":"contact verwijderen","You_are_about_to_remove_":null,"Continue_without_chat":"Doorgaan zonder chat","Please_wait":"Even geduld","Login_failed":"Chat login mislukt","Sorry_we_cant_authentikate_":"Verificatie is mislukt met de chatserver. Is het paswoord fout?","Retry":"Terug","clear_history":"Wis geschiedenis","New_message_from":"Nieuw bericht van__name__","Should_we_notify_you_":"Zullen wij u notificeren over nieuwe berichten in de toekomst?","Please_accept_":null,"Hide_offline":"Offline contacten verbergen","Show_offline":"Offline contacten weergeven","About":"Over","dnd":"Niet storen","Mute":"Dempen aan","Unmute":"Dempen uit","Subscription":"Abonnement","both":"Beide","Status":"Status","online":"online","chat":"chat","away":"Afwezig","xa":"langer afwezig","offline":"offline","none":"geen","Unknown_instance_tag":"Voorbeeld tag onbekend.","Not_one_of_our_latest_keys":"Niet één van onze laatste sleutels.","Received_an_unreadable_encrypted_message":"Een niet leesbare versleuteld bericht ontvangen.","Online":"Online","Chatty":"Spraakzaam","Away":"Afwezig","Extended_away":"Langer afwezig","Offline":"Offline","Friendship_request":"Contact verzoek","Confirm":"Bevestig","Dismiss":"Afwijzen","Remove":"Verwijder","Online_help":"Online hulp","FN":"Volledige naam","N":null,"FAMILY":"Familienaam","GIVEN":"Voornaam","NICKNAME":"Bijnaam","URL":"URL","ADR":"Adres","STREET":"Adres","EXTADD":"Uitgebreid adres","LOCALITY":null,"REGION":"Regio","PCODE":"Postcode","CTRY":"Land","TEL":"Telefoon","NUMBER":"Nummer","EMAIL":"E-mail","USERID":null,"ORG":"Organisatie","ORGNAME":"Naam","ORGUNIT":"Afdeling","TITLE":"functietitel","ROLE":"Functie","BDAY":"Verjaardag","DESC":"Beschrijving","PHOTO":null,"send_message":"Zend bericht","get_info":"Gegevens weergeven","Settings":"Instellingen","Priority":"Prioriteit","Save":"Opslaan","User_settings":"Gebruikersinstellingen","A_fingerprint_":"Een vingerafdruk wordt gebruikt om er zeker van te zijn dat uw gesprekspartner ook is wie hij of zij zegt te zijn.","is":"is","Login_options":"Login options","BOSH_url":"BOSH URL","Domain":"Domein","Resource":"Bron","On_login":"Tijdens login","Received_an_unencrypted_message":"Een niet-versleuteld bericht ontvangen","Sorry_your_buddy_doesnt_provide_any_information":"Sorry, je contact verschaft geen informatie.","Info_about":"Gegevens van","Authentication_aborted":"Verificatie afgebroken.","Authentication_request_received":"Authenticatie verzoek ontvangen.","Log_in_without_chat":"Zonder chat inloggen","has_come_online":"is online gekomen","Unknown_sender":"Afzender onbekend","Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":"van","Do_you_want_to_accept_the_call_from":null,"Reject":"Weiger","Accept":"Aanvaard","hang_up":"ophangen","snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":"volledige scherm","Info":"Info","Local_IP":"Lokaal IP","Remote_IP":"Extern IP","Local_Fingerprint":"Lokale vingerafdruk","Remote_Fingerprint":"Afstand vingerafdruk","Video_call_not_possible":null,"Start_video_call":null,"Join_chat":"Neem deel aan chat","Join":"Meedoen","Room":"Kamer","Nickname":"Bijnaam","left_the_building":null,"entered_the_room":"__nickname__kwam de kamer binnen","is_now_known_as":null,"This_room_is":"Deze kamer is","muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":"Je Jabber id is alleen vrijgegeven voor kamer beheerders"},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":"Kamers zijn geladen","Could_load_only":"Alleen aanvullen voor__count__kamers","muc_explanation":"Vul de kamernaam, optioneel een bijnaam en wachtwoord in om deel te nemen een chat","You_already_joined_this_room":"Je bent al verbonden met deze kamer","This_room_will_be_closed":"De kamer wordt gesloten","Room_not_found_":"Een nieuwe kamer wordt aangemaakt","Loading_room_information":"Kamer informatie laden","Destroy":null,"Leave":null,"changed_subject_to":"__nickname__veranderde het onderwerp van de kamer naar \"__subject__\"","muc_removed_kicked":"Je bent afgemeld van de kamer","muc_removed_info_kicked":"__nickname__is uit de kamer gegooid","muc_removed_banned":"Je bent uit de kamer gezet","muc_removed_info_banned":"__nickname__is uit de kamer gezet","muc_removed_affiliation":"Je bent verwijderd van de kamer door een verwantschap wijziging","muc_removed_info_affiliation":"__nickname__is verwijderd van de kamer door een verwantschap wijziging","muc_removed_membersonly":null,"muc_removed_info_membersonly":"__nickname__is verwijderd van de kamer, door de wijziging naar alleen voor leden. Je hebt geen lidmaatschap.","muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":"Deze kamer is gesloten","Room_logging_is_enabled":"Kamerlog is ingeschakeld","A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":"Je bent uit deze kamer gezet","Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":"Deze kamer is afgesloten","You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":"U ontvangt een bericht van een onbekende afzender (__sender__). Wilt u om het weergeven?","Your_roster_is_empty_add_":null,"onsmp_explanation_question":"Je contact probeert te bepalen of ze echt met jou praten. Voer om te verifiëren naar uw contact het antwoord in.","onsmp_explanation_secret":"U contact probeert te bepalen of ze echt met jou praten. Voer om te verifiëren naar uw contact het geheim in.","from_sender":"van__sender__","Verified_private_conversation_started":"Privé-gesprek geverifieerd gestart.","Unverified_private_conversation_started":"Privé-gesprek ongeverifieerd gestart.","Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":"Kamerlog is uitgeschakeld","Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":"Met ingeschakeld carbon kopie zal de XMPP server een kopie van elk inkomend bericht doorsturen naar deze cliënt, zelfs als het niet aan haar is gericht.","setting-explanation-login":"Wanneer ingeschakeld zal de chat starten bij het inloggen.","setting-explanation-priority":"Je XMPP dienst zal een prioriteitsbericht verzenden wanneer je meerdere keren ingelogd bent met hetzelfde account.","setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":"Scherm delen","Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":"Installeer extensie om scherm delen te gebruiken: ","Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"pl":{"translation":{"Logging_in":"Logowanie...","your_connection_is_unencrypted":"Twoje połączenie nie jest szyfrowane.","your_connection_is_encrypted":"Twoje połączenie jest szyfrowane.","your_buddy_closed_the_private_connection":"Twój rozmówca zamknął połączenie.","start_private":"Rozpocznij rozmowę.","close_private":"Zakończ rozmowę.","your_buddy_is_verificated":"Twój rozmówca został zweryfikowany.","you_have_only_a_subscription_in_one_way":"Posiadasz tylko jednostronną subskrypcję.","authentication_query_sent":"Wysłano proźbę o autentykację.","your_message_wasnt_send_please_end_your_private_conversation":"Twoja wiadomość nie została wysłana. Proszę, zamknij rozmowę.","unencrypted_message_received":"Otrzymano niezaszyfrowaną wiadomość.","not_available":"Niedostępny.","no_connection":"Brak połączenia!","relogin":"Połącz ponownie","trying_to_start_private_conversation":"Rozpocznij rozmowę!","Verified":"Zweryfikowano","Unverified":"Niezweryfikowano","private_conversation_aborted":"Anulowano rozmowę!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Rozmówca przerwał połączenie! Powinieneś zrobić to samo.","conversation_is_now_verified":"Zweryfikowano połączenie.","authentication_failed":"Weryfikacja się nie powiodła.","Creating_your_private_key_":"Tworzenie klucza prywatnego; może to chwilę potrwać","Authenticating_a_buddy_helps_":"Autoryzacja pomoże w ustaleniu faktycznej tożsamości rozmówcy ;).","How_do_you_want_to_authenticate_your_buddy":"Jakiej autoryzacji chcesz użyć __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Wybierz sposób...","Manual":"Ręcznie","Question":"Pytanie","Secret":"Hasło","To_verify_the_fingerprint_":"Aby zweryfikować kod, najpierw skontaktuj się z rozmówcą za pomocą zaufanego sposobu, np telefonu.","Your_fingerprint":"Twój kod:","Buddy_fingerprint":"Kod kontaktu","Close":"Zamknij","Compared":"Porównano","To_authenticate_using_a_question_":"Aby autoryzować za pomocą pytania, wybierz pytanie na które tylko ty i twój rozmówca zna odpowiedź.","Ask":"Zadaj pytanie","To_authenticate_pick_a_secret_":"Aby autoryzować za pomocą hasła, wybierz hasło na które znasz tylko Ty i twój rozmówca.","Compare":"Dopasuj","Fingerprints":"Kody autoryzacyjne","Authentication":"Autoryzacja","Message":"Wiadomość","Add_buddy":"Dodaj kontakt","rename_buddy":"Zmień nazwę kontaktu","delete_buddy":"Usuń kontakt","Login":"Login","Username":"Nazwa Użytkownika","Password":"Hasło","Cancel":"Anuluj","Connect":"Połączenie","Type_in_the_full_username_":"Wpisz pełną nazwę użytkownika (np. <B>imię.nazwisko@zajezdnia.local</B>) oraz jego nazwę wyświetlaną (Alias).","Alias":"Alias","Add":"Dodaj","Subscription_request":"Potwierdzenie subskrypcji","You_have_a_request_from":"Masz potwierdzenie od","Deny":"Odmów","Approve":"Zatwierdź","Remove_buddy":"Usuń kontakt","You_are_about_to_remove_":"Chcesz usunąć __bid_name__ (<b>__bid_jid__</b>) z twojej listy kontaktów. Wszystkie powiązane rozmowy zostaną zamknięte.","Continue_without_chat":"Kontynuuj bez komunikatora","Please_wait":"Proszę czekać","Login_failed":"Błędne logowanie","Sorry_we_cant_authentikate_":"Błędna autoryzacja z serwerem. Może hasło jest nieprawidłowe?","Retry":"Powrót","clear_history":"Wyczyść historię","New_message_from":"Nowa wiadomość od __name__","Should_we_notify_you_":"Czy chcesz otrzymywać powiadomienia o nowych wiadomościach w przyszłości?","Please_accept_":"Kliknij \"Zezwól\" na górze.","Hide_offline":"Schowaj niedostępne kontakty","Show_offline":"Pokaż niedostępne kontakty","About":"Info","dnd":"Nie przeszkadzać","Mute":"Wycisz","Unmute":"Włącz dźwięk","Subscription":"Subskrybcja","both":"obustronna","Status":"Status","online":"Dostępny","chat":"czat","away":"z dala od kompa","xa":"hen hen...","offline":"niedostępny","none":"brak","Unknown_instance_tag":"Nieznany przypadek.","Not_one_of_our_latest_keys":"Not one of our latest keys.","Received_an_unreadable_encrypted_message":"Otrzymano nieczytelną, zaszyfrowaną wiadomość.","Online":"Połączony","Chatty":"Pogawędzimy?","Away":"Daleko","Extended_away":"Hen Hen...","Offline":"Niedostępny","Friendship_request":"Prośba o kontakt","Confirm":"Potwierdzenie","Dismiss":"Odwołaj","Remove":"Usuń","Online_help":"Pomoc Online","FN":"Pełna nazwa","N":" ","FAMILY":"Nazwisko","GIVEN":"Imię","NICKNAME":"Pseudonim","URL":"Strona WWW","ADR":"Adres","STREET":"Ulica","EXTADD":"Pełny adres","LOCALITY":"Lokalizacja","REGION":"Region","PCODE":"Kod pocztowy","CTRY":"Kraj","TEL":"Telefon","NUMBER":"Numer","EMAIL":"Email","USERID":" ","ORG":"Organizacja","ORGNAME":"Nazwa","ORGUNIT":"Jednostka","TITLE":"Stanowisko","ROLE":"Rola","BDAY":"Data urodzin","DESC":"Opis","PHOTO":" ","send_message":"Wyślij wiadomość","get_info":"Pokaż informację","Settings":"Ustawienia","Priority":"Priorytet","Save":"Zapisz","User_settings":"Ustawienia Użytkownika","A_fingerprint_":"Kod służy do autoryzacji Twojego rozmówcy aby potwierdzić jego tożsamość.","is":"jest","Login_options":"opcje logowania","BOSH_url":"Adres BOSH","Domain":"Domena","Resource":"Źródło","On_login":"Na login","Received_an_unencrypted_message":"Zatwierdzono nieszyfrowaną wiadomość.","Sorry_your_buddy_doesnt_provide_any_information":"Wybacz, twój rozmówca nie posiada żadnych informacji.","Info_about":"Informacja o...","Authentication_aborted":"Autoryzacja anulowana.","Authentication_request_received":"Prośba o autoryzację została przyjęta.","Log_in_without_chat":"Zaloguj bez komunikatora","has_come_online":"jest teraz dostępny","Unknown_sender":"Nieznany nadawca","Please_allow_access_to_microphone_and_camera":"Kliknij \"Potwierdź\" na górze, aby móc korzystać z mikrofonu oraz kamery.","Incoming_call":"Przychodzące połączenie","from":"z","Do_you_want_to_accept_the_call_from":"Akceptujesz połączenie od","Reject":"Odrzuć","Accept":"Zaakceptuj","hang_up":"odbierz","snapshot":"zrób zdjęcie","mute_my_audio":"wycisz dźwięk","pause_my_video":"zatrzymaj moje wideo","fullscreen":"Pełny ekran","Info":"Informacja","Local_IP":"Adres IP","Remote_IP":"Zdalny adres IP","Local_Fingerprint":"Kod lokalny","Remote_Fingerprint":"Zdalny kod","Video_call_not_possible":"Rozmowa wideo jest niemożliwa. Twój rozmówca nie ma możliwości prowadzenia takich rozmów.","Start_video_call":"Rozpocznij rozmowę wideo","Join_chat":"Dołącz do czata","Join":"Dołącz","Room":"Pokój","Nickname":"Nazwa użytkownika","left_the_building":"__nickname__ wyszedł","entered_the_room":"__nickname__ wszedł do pokoju","is_now_known_as":"__oldNickname__ zmienił nazwę na __newNickname__","This_room_is":"Ten pokój jest","muc_hidden":{"keyword":"ukryty","description":"nie można odnaleźć elementów wyszukiwania"},"muc_membersonly":{"keyword":"tylko zalogowani","description":"musisz być członkiem listy"},"muc_moderated":{"keyword":"moderowano","description":"tylko osoby z opcją \"głos\" mogą wysyłać wiadomość"},"muc_nonanonymous":{"keyword":"nie-anonimowy","description":"Twój identyfikator jabber jest widoczny dla wszystkich innych osób"},"muc_open":{"keyword":"otwarty","description":"wszyscy mają pozwolenie aby dołączyć"},"muc_passwordprotected":{"keyword":"ograniczone hasłem","description":"musisz wpisać prawidłowe hasło"},"muc_persistent":{"keyword":"trwale","description":"nie zostaną zniszczone, jeśli ostatnia osoba wyszła"},"muc_public":{"keyword":"publiczny","description":"wyszukawno"},"muc_semianonymous":{"keyword":"pół-anonimowy","description":"Twój identyfikator jabber jest widoczny w pokoju adminów"},"muc_temporary":{"keyword":"tymczasowy","description":"zostanie usunięty jeżeli ostatnia osoba wyjdzie"},"muc_unmoderated":{"keyword":"niemoderowany","description":"wszyscy są uprawnieni do pisania wiadomości"},"muc_unsecured":{"keyword":"niezabezpieczone","description":"nie musisz wpisywać hasła"},"Continue":"Kontynuuj","Server":"Serwer","Rooms_are_loaded":"Pokoje zostały załadowane","Could_load_only":"Nie załadowano __count__ pokoi","muc_explanation":"Aby się zalogować, wpisz nazwę pokoju oraz opcjonalnie nazwę użytkownika i hasło","You_already_joined_this_room":"Już dołączyłeś do tego pokoju","This_room_will_be_closed":"Ten pokój będzie zamknięty","Room_not_found_":"Nowy pokój będzie stworzony","Loading_room_information":"Ładowani informacji o pokoju","Destroy":"Zniszczony","Leave":"Opuść","changed_subject_to":"__nickname__ zmienił temat pokoju na \"__subject__\"","muc_removed_kicked":"Zostałeś wyrzucony z pokoju","muc_removed_info_kicked":"__nickname__ został wyrzucony z pokoju","muc_removed_banned":"Zostałeś zbanowany","muc_removed_info_banned":"__nickname__ został zbanowany","muc_removed_affiliation":"Zostałeś usunięty z pokoju ze względu na zmianę przynależnosci","muc_removed_info_affiliation":"__nickname__ został usunięty z pokoju ze względu na zmianę przynależnosci","muc_removed_membersonly":"Zostałeś usunięty z pokoju ze względu na zmianę pokoju tylko dla członków, a Ty nie jesteś członkiem...","muc_removed_info_membersonly":"__nickname__ został usunięty z pokoju ze względu na zmianę pokoju na tylko dla członków","muc_removed_shutdown":"Zostałeś usunięty z pokoju ze względu na zamknięcie usługi","Reason":"Powód","message_not_send":"Wystąpił błąd i twoja wiadomość nie została wysłana.","message_not_send_item-not-found":"Twoja wiadomość nie została wysłana ponieważ ten pokój nie istnieje","message_not_send_forbidden":"Twoja wiadomość nie została wysłana ponieważ nie masz głosu w tym pokoju","message_not_send_not-acceptable":"Twoja wiadomość nie została wysłana ponieważ nie jesteś właścicielem tego pokoju","This_room_has_been_closed":"Ten pokój został zamknięty","Room_logging_is_enabled":"Logowanie do pokoju jest włączone","A_password_is_required":"Hasło jest wymagane","You_are_not_on_the_member_list":"Nie jesteś na liście członków","You_are_banned_from_this_room":"Zostałeś zbanowany w tym pokoju","Your_desired_nickname_":"Twoja nazwa użytkownika jest już użyta. Spróbuj wybrać inną","The_maximum_number_":"Została osiągnięta maksymalna liczba użytkowników w tym pokoju","This_room_is_locked_":"Ten pokój jest zablokowany","You_are_not_allowed_to_create_":"Nie masz uprawnień do tworzenia pokoju","Alert":"Alarm","Call_started":"Rozmowa rozpoczęta","Call_terminated":"Rozmowa zakończona","Carbon_copy":"Do wiadomości","Enable":"Włączone","jingle_reason_busy":"zajęte","jingle_reason_decline":"odmów","jingle_reason_success":"zakończono","Media_failure":"Błąd mediów","No_local_audio_device":"Brak lokalnego urządzenia audio.","No_local_video_device":"Brak lokalnego urządzenia wideo.","Ok":"Ok","PermissionDeniedError":"Ty lub twoja przeglądarka odmówiła dostępu do audio/video","Use_local_audio_device":"Użyj lokalnego urządzenia audio.","Use_local_video_device":"Użyj lokalnego urządzenia wideo.","is_":"jest __status__","You_received_a_message_from_an_unknown_sender_":"Masz wiadomość od nieznanego nadawcy. (__sender__) Chcesz to wyświetlić?","Your_roster_is_empty_add_":"Twoja lista jest pusta, dodaj kontakty <a>Nowy kontakt</a>","onsmp_explanation_question":"Twój rozmówca próbuje się z Tobą połączyć. Autoryzacja z rozmówcą, napisz odpowiedź.","onsmp_explanation_secret":"Twój rozmówca próbuje się z Tobą połączyć. Autoryzacja z rozmówcą, wpisz hasło.","from_sender":"z __sender__","Verified_private_conversation_started":"Zweryfikowano Rozmowa prywatna rozpoczęta.","Unverified_private_conversation_started":"Niezweryfikowano Rozmowa prywatna rozpoczęta.","Bookmark":"Zakładka","Auto-join":"Auto-połączenie","Edit_bookmark":"Edytuj zakładkę","Room_logging_is_disabled":"Logowanie pokoju jest wyłączone","Room_is_now_non-anoymous":"Pokój jest teraz nie-anonimowy","Room_is_now_semi-anonymous":"Pokój jest teraz pół-anonimowy","Do_you_want_to_change_the_default_room_configuration":"Chcesz zmienić domyślną konfigurację pokoju?","Default":"Domyślny","Change":"Zmień","Send_file":"Wyślij plik","setting-explanation-carbon":null,"setting-explanation-login":"Jeżeli ta opcja jest włączona, czat uruchomi się przy zalogowaniu.","setting-explanation-priority":"Jeżeli jesteś zalogowany wiele razy na to samo konto twój serwer XMPP dostarczy wiadomości do klienta z najwyższym priorytetem.","setting-explanation-xmpp":"Te ustawienia używane są do połączenia z serwerem XMPP.","_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"pt-BR":{"translation":{"Logging_in":"Entrando...","your_connection_is_unencrypted":"Sua conexão não é encriptada","your_connection_is_encrypted":"Sua conexão é encriptada","your_buddy_closed_the_private_connection":"Seu contato fechou a conexão privada","start_private":"Iniciar conversa privada","close_private":"Fechar conversa privada","your_buddy_is_verificated":"Seu contato está verificado","you_have_only_a_subscription_in_one_way":"Você só tem a inscrição one-way","authentication_query_sent":"Pergunta de autenticação enviada","your_message_wasnt_send_please_end_your_private_conversation":"Sua mensagem não foi enviada. Por favor finalize sua conversa privada","unencrypted_message_received":"Mensagem não encriptada recebida","not_available":"Indisponível","no_connection":"Sem conexão!","relogin":"reentrar","trying_to_start_private_conversation":"Tentando iniciar conversa privada","Verified":"Verificado","Unverified":"Não verificado","private_conversation_aborted":"Conversa privada abortada!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Seu contato encerrou a conversa privada! Você deveria fazer o mesmo.","conversation_is_now_verified":"Conversa verificada.","authentication_failed":"Autenticação falhou.","Creating_your_private_key_":"Criando sua chave privada: isso pode demorar um pouco.","Authenticating_a_buddy_helps_":"Autenticar seu contato ajuda a garantir que a pessoa com a qual você está falando é realmente a pessoa que ela alega ser.","How_do_you_want_to_authenticate_your_buddy":"Como você gostaria de se autenticar __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Selecione o método...","Manual":"Manual","Question":"Pergunta","Secret":"Senha","To_verify_the_fingerprint_":"Para verificar o fingerprint, entre em contato com seu contato usando outro meio, de preferência seguro, como o telefone.","Your_fingerprint":"Sua impressão digital","Buddy_fingerprint":"Impressão digital do contato","Close":"Fechar","Compared":"Comparado","To_authenticate_using_a_question_":"Para autenticar seu contato faça uma pergunta, mas escolha que só ele saiba a resposta.","Ask":"Pergunta","To_authenticate_pick_a_secret_":"Para autenticar, escolha um segredo que somente você e seu contato saibam.","Compare":"Compare","Fingerprints":"Impressões digitais","Authentication":"Autenticação","Message":"Mensagem","Add_buddy":"Adicionar contato","rename_buddy":"renomear contato","delete_buddy":"remover contato","Login":"Entrar","Username":"Usuário","Password":"Senha","Cancel":"Cancelar","Connect":"Conectar","Type_in_the_full_username_":"Digite seu nome completo e um apelido opcional.","Alias":"Apelido","Add":"Adicionar","Subscription_request":"Pedido de inscrição","You_have_a_request_from":"Você tem um pedido de","Deny":"Negar","Approve":"Aprovar","Remove_buddy":"Remover contato","You_are_about_to_remove_":"Você está prestes a remover __bid_name__ (<b>__bid_jid__</b>) de sua lista de contatos. Todas as conversas serão fechadas.","Continue_without_chat":"Continue sem converar","Please_wait":"Por favor aguarde","Login_failed":"Autenticação da conversa falhou","Sorry_we_cant_authentikate_":"A autenticação com o servidor falhou. Talvez seja a senha errada?","Retry":"Voltar","clear_history":"Limpar histórico","New_message_from":"Nova mensagem de __name__","Should_we_notify_you_":"Devemos continuar notificando sobre novas mensagens no futuro?","Please_accept_":"Por favor clique no botão \"Permitir\" na parte superior.","Hide_offline":"Esconder contatos desconectados","Show_offline":"Mostrar contatos desconectados","About":"Sobre","dnd":"Não perturbe","Mute":"Mudo","Unmute":"Ligar","Subscription":"Inscrição","both":"ambos","Status":"Status","online":"online","chat":"conversa","away":"ausente","xa":"ausente por mais tempo","offline":"desativado","none":"nenhum","Unknown_instance_tag":"Marcação desconhecida da instância","Not_one_of_our_latest_keys":"Nenhuma de nossas ultimas chaves.","Received_an_unreadable_encrypted_message":"Mensagem encriptada ilegível foi recebida.","Online":"Online","Chatty":"Tagarela","Away":"Ausente","Extended_away":"Ausente por mais tempo","Offline":"Desativado","Friendship_request":"Pedido de amizade","Confirm":"Confirmar","Dismiss":"Ignorar","Remove":"Remover","Online_help":"Ajuda online","FN":"Nome completo","N":" ","FAMILY":"Sobrenome","GIVEN":"Nome","NICKNAME":"Apelido","URL":"URL","ADR":"Endereço","STREET":"Rua, Av, etc","EXTADD":"Complemento","LOCALITY":"Localidade","REGION":"Região","PCODE":"CEP","CTRY":"País","TEL":"Telefone","NUMBER":"Número","EMAIL":"Email","USERID":" IDUsuário","ORG":"Empresa","ORGNAME":"Nome","ORGUNIT":"Unidade","TITLE":"Cargo","ROLE":"Função","BDAY":"Data de nascimento","DESC":"Descrição","PHOTO":"Foto","send_message":"Enviar mensagem","get_info":"Exibir informações","Settings":"Configurações","Priority":"Prioridade","Save":"Salvar","User_settings":"Configurações do usuário","A_fingerprint_":"O fingerprint é usado para certificar que a pessoa com a qual se está falando é que ela diz ser.","is":"é","Login_options":"Opções de login","BOSH_url":"BOSH URL","Domain":"Domínio","Resource":"Recurso","On_login":"Ao autenticar","Received_an_unencrypted_message":"Mensagem não encriptada recebida","Sorry_your_buddy_doesnt_provide_any_information":"Desculpe, seu contato não forneceu nenhuma informação","Info_about":"Informações sobre","Authentication_aborted":"Autenticação encerrada.","Authentication_request_received":"Pedido de autenticação recebido","Log_in_without_chat":"Entrar sem conversar","has_come_online":"ficou online","Unknown_sender":"Emissor desconhecido","Please_allow_access_to_microphone_and_camera":"Por favor clique no botão \"Permitir\" no topo, para conceder acesso ao seu microfone e câmera.","Incoming_call":"Recebendo chamada","from":"de","Do_you_want_to_accept_the_call_from":"Você aceita a chamada de","Reject":"Negar","Accept":"Aceitar","hang_up":"desligar","snapshot":"registrar imagem","mute_my_audio":"mudo","pause_my_video":"pausar vídeo","fullscreen":"tela cheia","Info":"Informações","Local_IP":"IP local","Remote_IP":"IP remoto","Local_Fingerprint":"Fingerprint local","Remote_Fingerprint":"Fingerprint remoto","Video_call_not_possible":"Chamada de vídeo impossível. Seu contato não suporta chamadas desse tipo.","Start_video_call":"Iniciar chamada de vídeo","Join_chat":"Entrar no chat","Join":"Entrar","Room":"Sala","Nickname":"Apelido","left_the_building":"__nickname__ deixou o prédio","entered_the_room":"__nickname__ entrou na sala","is_now_known_as":"__oldNickname__ agora é conhecido como __newNickname__","This_room_is":"Esta sala é","muc_hidden":{"keyword":"oculto","description":"Não pode ser encontrado através de pesquisa"},"muc_membersonly":{"keyword":"apenas para membros","description":"você precisa estar na lista de membros"},"muc_moderated":{"keyword":"moderado","description":"Somente pessoas com \"voice\" podem enviar mensagens"},"muc_nonanonymous":{"keyword":"não-anônimo","description":"Seu id jabber esta esposto para todos os outros ocupantes"},"muc_open":{"keyword":"abrir","description":"Todos podem entrar"},"muc_passwordprotected":{"keyword":"protegido por senha","description":"você precisa fornecer a senha correta"},"muc_persistent":{"keyword":"persistente","description":"Não será destruída se o último ocupante tiver saído"},"muc_public":{"keyword":"público","description":"pode ser localizado pela busca"},"muc_semianonymous":{"keyword":"semi-anônimos","description":"Sua identificação jabber só é exposta para administradores da sala"},"muc_temporary":{"keyword":"temporário","description":"Será destruída se o último ocupante tiver saído"},"muc_unmoderated":{"keyword":"sem moderação","description":"Todos tem permissão de enviar mensagens"},"muc_unsecured":{"keyword":"inseguro","description":"Você não precisa de senha para entrar"},"Continue":"Avançar","Server":"Servidor","Rooms_are_loaded":"Sala carregada","Could_load_only":"Pode carregar somente __count__ salas para autocompletar","muc_explanation":"Por favor entre um nome de sala e um nickname opcional e uma senha para entrar no chat","You_already_joined_this_room":"Você já entrou nesta sala","This_room_will_be_closed":"Esta sala será fechada","Room_not_found_":"Uma nova sala será criada","Loading_room_information":"Carregar informação da sala","Destroy":"Destruir","Leave":"Sair","changed_subject_to":"__nickname__ alterar o assunto da sala para \"__subject__\"","muc_removed_kicked":"Você foi removido da sala","muc_removed_info_kicked":"__nickname__ foi removido da sala","muc_removed_banned":"Você foi banido da sala","muc_removed_info_banned":"__nickname__ foi banido da sala","muc_removed_affiliation":"Você foi removido da sala pois a sala, por que a afiliação mudou","muc_removed_info_affiliation":"__nickname__ foi removido da sala, por que a afiliação mudou","muc_removed_membersonly":"Você foi removido da sala pois a sala foi alterada somente para membros e você não é um membro","muc_removed_info_membersonly":"__nickname__ foi removido da sala porque a sala foi alterada para somente membros e você não é um membro","muc_removed_shutdown":"Você foi removido da sala, por que o serviço MUC esta sendo desligado","Reason":"Motivo","message_not_send":"Sua mensagem não foi enviada devido a um erro","message_not_send_item-not-found":"Sua mensagem não foi enviada por que essa sala nao existe mais","message_not_send_forbidden":"Sua mensagem não foi enviada por que não tem 'voz' para essa sala","message_not_send_not-acceptable":"Sua mensagem não foi enviada por que você nao é ocupante desta sala","This_room_has_been_closed":"Essa sala foi fechada","Room_logging_is_enabled":"O Logging esta habilitado","A_password_is_required":"Senha é obrigatória","You_are_not_on_the_member_list":"Você não esta na lista de usuarios","You_are_banned_from_this_room":"Você foi banido desta sala","Your_desired_nickname_":"O nickname escolhido já esta em uso. Por favor escolha outro","The_maximum_number_":"O número máximo de usuarios já foi antigido para essa sala","This_room_is_locked_":"A sala esta trancada","You_are_not_allowed_to_create_":"Você não esta autorizado para criar uma sala","Alert":"Alerta","Call_started":"Chamada iniciada","Call_terminated":"Chamada finalizada","Carbon_copy":"Copia carbono","Enable":"Habilitado","jingle_reason_busy":"ocupado","jingle_reason_decline":"recusado","jingle_reason_success":"sucesso","Media_failure":"Media falhou","No_local_audio_device":"sem dispositivo local de audio","No_local_video_device":"sem dispositivo local de video","Ok":"Ok","PermissionDeniedError":"Você ou seu navegador negou permissão para acessar audio/video","Use_local_audio_device":"Usar dispositivo local de audio","Use_local_video_device":"Usar dispositivo local de video","is_":"é __status__","You_received_a_message_from_an_unknown_sender_":"Você recebeu uma mensagem de um emissor desconhecido (__sender__) Você quer mostrá-los?","Your_roster_is_empty_add_":"Sua lista está vazia, adicione um <a>novo contato</a>","onsmp_explanation_question":"Seu contato está tentando determinar se ele realmente está falando contigo. Para autenticar seu contato, entre com a resposta e clique em Responder.","onsmp_explanation_secret":"Seu contato está tentando determinar se ele realmente está falando contigo. Para autenticar seu contato, escreva a senha.","from_sender":"de __sender__","Verified_private_conversation_started":"Verificado Conversa privada iniciada.","Unverified_private_conversation_started":"Não verificado Conversa privada iniciada.","Bookmark":"Favoritos","Auto-join":"Entrar Automaticamente","Edit_bookmark":"Editar favoritos","Room_logging_is_disabled":"Registro de log na sala está desativado","Room_is_now_non-anoymous":"A sala é não anônima agora","Room_is_now_semi-anonymous":"A sala é semi anônima agora","Do_you_want_to_change_the_default_room_configuration":"Você quer alterar as configurações da sala?","Default":"Padrão","Change":"Alterar","Send_file":"Enviar arquivo","setting-explanation-carbon":"Com carbon copy ativado seu servidor XMPP vai enviar uma copia de cada mensagem para você neste cliente mesmo que não tenha endereço","setting-explanation-login":"Se essa opção esta habilitada, o chat vai começar ao logar.","setting-explanation-priority":"Você esta logado varias vezes com a mesma conta, seu servidor XMPP vai entregar as mensagens para o cliente com a prioridade mais alta.","setting-explanation-xmpp":"Essas opções são usadas para conectar no Servidor XMPP","_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"ro":{"translation":{"Logging_in":"Autentificare...","your_connection_is_unencrypted":"Conexiunea nu este criptată.","your_connection_is_encrypted":"Conexiunea este criptată.","your_buddy_closed_the_private_connection":"Interlocutorul a închis conexiunea privată.","start_private":"Pornește în privat","close_private":"Închide privat","your_buddy_is_verificated":"Interlocutorul este verificat.","you_have_only_a_subscription_in_one_way":"Subscrierea este într-o singură direcție.","authentication_query_sent":"Cererea de autentificare a fost trimisă.","your_message_wasnt_send_please_end_your_private_conversation":"Mesajul nu a fost trimis. Te rog închide conversația în privat.","unencrypted_message_received":"A fost primit un mesaj necriptat","not_available":"Indisponibil","no_connection":"Fără conexiune!","relogin":"Re-autentificare","trying_to_start_private_conversation":"Se încearcă deschiderea conversației în privat!","Verified":"Verificat","Unverified":"Neverificat","private_conversation_aborted":"Conversație în privat eșuată!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Interlocutorul a închis conversația în privat! Ar trebui să faci la fel și tu.","conversation_is_now_verified":"Conversația este acum verificată.","authentication_failed":"Autentificarea a eşuat.","Creating_your_private_key_":"Se crează cheia privată; ar putea să dureze ceva timp.","Authenticating_a_buddy_helps_":"Autentificând un contact ne asigură că persoana cu care vorbești este într-adevăr cine pretinde că este.","How_do_you_want_to_authenticate_your_buddy":"Cum vrei să te autentifici __bid_name__ (<b>__bid_jid__</b>)","Select_method":"Alege metoda...","Manual":"Manual","Question":"Întrebare","Secret":"Secret","To_verify_the_fingerprint_":"Pentru a verifica amprenta, contactează interlocutorul printr-un canal de încredere, cum ar fi telefonul.","Your_fingerprint":"Amprenta ta","Buddy_fingerprint":"Amprenta interlocutorului","Close":"Închide","Compared":"Prin comparație","To_authenticate_using_a_question_":"Pentru autentificarea folosind o întrebare, alege o întrebare cu un răspuns cunoscut doar de tine și de interlocutor.","Ask":"Întreabă","To_authenticate_pick_a_secret_":"Pentru autentificare, alege un secret cunoscut doar de tine și de interlocutor.","Compare":"Compară","Fingerprints":"Amprente","Authentication":"Autentificare","Message":"Mesaj","Add_buddy":"Adaugă contact","rename_buddy":"redenumește contact","delete_buddy":"șterge contact","Login":"Logare","Username":"Utilizator","Password":"Parolă","Cancel":"Renunță","Connect":"Conectare","Type_in_the_full_username_":"Scrie numele complet al utilizatorului și un alias opțional.","Alias":"Alias","Add":"Adaugă","Subscription_request":"Cerere de subscriere","You_have_a_request_from":"Ai o cerere de la","Deny":"Refuză","Approve":"Aprobă","Remove_buddy":"Șterge contact","You_are_about_to_remove_":"Urmează să ștergi __bid_name__ (<b>__bid_jid__</b>) din lista de contacte. Toate chat-urile asociate vor fi închise.","Continue_without_chat":"Continuă fără chat","Please_wait":"Te rog așteaptă","Login_failed":"Logarea pe chat a eșuat","Sorry_we_cant_authentikate_":"Autentificarea cu serverul de chat a eșuat. Poate parola este greșită ?","Retry":"Înapoi","clear_history":"Curăță istoria","New_message_from":"Un nou mesaj de la __name__","Should_we_notify_you_":"Vrei să fi notificat despre mesajele noi în viitor ?","Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"ru":{"translation":{"Logging_in":"Вход в систему...","your_connection_is_unencrypted":"Ваше соединение не зашифровано.","your_connection_is_encrypted":"Ваше соединение зашифровано.","your_buddy_closed_the_private_connection":"Ваш собеседник закончил зашифрованное соединение.","start_private":"Начать зашифрованный чат","close_private":"Закончить зашифрованный чат","your_buddy_is_verificated":"Собеседник подтвержден.","you_have_only_a_subscription_in_one_way":"У вас только односторонняя подписка.","authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":"Сообщение не отправлено. Завершите зашифрованный чат, пожалуйста.","unencrypted_message_received":"Получено незашифрованное сообщение","not_available":"Не доступен","no_connection":"Нет соединения!","relogin":"переподключиться","trying_to_start_private_conversation":"Попытка начать зашифрованный чат!","Verified":"Подтверждено","Unverified":"Не подтверждено","private_conversation_aborted":"Зашифрованный чат отклонен!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Ваш собеседник завершил зашифрованный чат! Вы должны сделать тоже самое.","conversation_is_now_verified":"Чат теперь утвержден.","authentication_failed":"Ошибка авторизации.","Creating_your_private_key_":"Создается приватный ключ. Это может занять некоторое время","Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":"Выберите метод...","Manual":"Вручную","Question":"Вопрос","Secret":"Пароль","To_verify_the_fingerprint_":null,"Your_fingerprint":"Ваш отпечаток","Buddy_fingerprint":"Отпечаток собеседника","Close":"Закрыть","Compared":"Сравнение завершено","To_authenticate_using_a_question_":"Для авторизации с помощью вопроса выберите вопрос, ответ на который знаете только Вы и собеседник.","Ask":null,"To_authenticate_pick_a_secret_":"Для авторизации выберите пароль, который знаете только Вы и собеседник.","Compare":"Сравнить","Fingerprints":"Отпечатки","Authentication":"Авторизация","Message":"Сообщение","Add_buddy":"Добавить контакт","rename_buddy":"переименовать контакт","delete_buddy":"удалить контакт","Login":"Вход","Username":"Логин","Password":"Пароль","Cancel":"Отмена","Connect":"Подключить","Type_in_the_full_username_":"Введите полное имя пользователя и дополнительный псевдоним","Alias":"Псевдоним","Add":"Добавить","Subscription_request":"Запрос подписки","You_have_a_request_from":"Получен запрос от","Deny":"Отказ","Approve":"Подтвердить","Remove_buddy":"Удалить контакт","You_are_about_to_remove_":"Вы собираетесь удалить __bid_name__ (<b>__bid_jid__</b>) из списка контактов. Все связанные с чаты будут закрыты.","Continue_without_chat":"Продолжить без чата","Please_wait":"Подождите…","Login_failed":"Неудачный вход в чат","Sorry_we_cant_authentikate_":"Неудачная попытка входа","Retry":"Назад","clear_history":"Очистить историю","New_message_from":"Новое сообщение от __name__","Should_we_notify_you_":"Уведомлять о новых сообщениях в будущем?","Please_accept_":"Нажмите кнопку \"Разрешить\" вверху страницы, пожалуйста","Hide_offline":"Спрятать отключенных","Show_offline":"Показать отключенных","About":"О проекте","dnd":"Не беспокоить","Mute":"Выкл. уведомления","Unmute":"Вкл. уведомления","Subscription":"Подписка","both":"оба","Status":"Статус","online":"в сети","chat":"готов общаться","away":"отошел","xa":"отсутствую","offline":"не в сети","none":"нет","Unknown_instance_tag":"Неизвестный тег.","Not_one_of_our_latest_keys":"Ни один из наших последних ключей","Received_an_unreadable_encrypted_message":"Получено нечитаемое зашифрованное сообщение","Online":"В сети","Chatty":"Готов общаться","Away":"Отошел","Extended_away":"Отсутствую","Offline":"Не в сети","Friendship_request":"Запрос на добавление в контакты","Confirm":"Подтвердить","Dismiss":"Отклонить","Remove":"Удалить","Online_help":"Онлайн помощь","FN":"Полное имя","N":null,"FAMILY":"Фамилия","GIVEN":"Имя","NICKNAME":"Ник","URL":"URL","ADR":"Адрес","STREET":"Улица","EXTADD":"Дополнительный адрес","LOCALITY":"Город","REGION":"Область","PCODE":"Индекс","CTRY":"Страна","TEL":"Телефон","NUMBER":"Номер","EMAIL":"Почта","USERID":null,"ORG":"Организация","ORGNAME":"Название","ORGUNIT":"Отдел","TITLE":"Должность","ROLE":"Обязанности","BDAY":"День рождения","DESC":"Описание","PHOTO":" Фото ","send_message":"Отправить сообщение","get_info":"Показать информацию","Settings":"Настройки","Priority":"Приоритет","Save":"Сохранить","User_settings":"Пользовательские настройки","A_fingerprint_":null,"is":" ","Login_options":"Параметры входа","BOSH_url":"BOSH URL","Domain":"Домен","Resource":"Ресурс","On_login":"Автоматически подключаться","Received_an_unencrypted_message":"Получено незашифрованное сообщение","Sorry_your_buddy_doesnt_provide_any_information":"К сожалению, контакт не предоставил какой-либо информации.","Info_about":"Информация о","Authentication_aborted":"Аутентификация прервана.","Authentication_request_received":"Получен запрос проверки подлинности.","Log_in_without_chat":"Вход без чата","has_come_online":"появился в сети","Unknown_sender":"Неизвестный отправитель","Please_allow_access_to_microphone_and_camera":"Нажмите кнопку \"Разрешить\" вверху страницы, чтобы предоставить доступ к микрофону и камере.","Incoming_call":"Входящий вызов","from":"от","Do_you_want_to_accept_the_call_from":"Вы хотите принять вызов от","Reject":"Отклонить","Accept":"Принять","hang_up":"Завершить","snapshot":"Снимок","mute_my_audio":"Без звука","pause_my_video":"Остановить моё видео","fullscreen":"На весь экран","Info":"Инфо","Local_IP":"Мой IP","Remote_IP":"Удаленный IP","Local_Fingerprint":"Мой отпечаток","Remote_Fingerprint":"Удаленный отпечаток","Video_call_not_possible":"Видео-вызов невозможен. Ваш собеседник не поддерживает видео-вызовы.","Start_video_call":"Видео-вызов","Join_chat":"Присоединиться к комнате","Join":"Присоедениться","Room":"Комната","Nickname":"Ник","left_the_building":"__nickname__ выходит из комнаты","entered_the_room":"__nickname__ заходит в комнату","is_now_known_as":"__oldNickname__ теперь известен как __newNickname__","This_room_is":"Эта комната","muc_hidden":{"keyword":"скрыта","description":"не может быть найдена через поиск"},"muc_membersonly":{"keyword":"только для участников","description":"Вы должны быть в списке участников"},"muc_moderated":{"keyword":"модерируется","description":"Только пользователи с правом голоса могут отправлять сообщения"},"muc_nonanonymous":{"keyword":"неанонимная","description":"Ваш JID будет показан всем посетителям"},"muc_open":{"keyword":"открытая","description":"Любой пользователь может присоедениться"},"muc_passwordprotected":{"keyword":"защищена паролем","description":"Необходимо ввести правильный пароль"},"muc_persistent":{"keyword":"постоянная","description":"Не будет уничтожена, когда ее покинут все участники"},"muc_public":{"keyword":"публичная","description":"Может быть найдена через поиск"},"muc_semianonymous":{"keyword":"полу-анонимная","description":"Ваш JID могут увидеть только администраторы"},"muc_temporary":{"keyword":"временная","description":"Будет уничтожена как только не останется ни одного участника"},"muc_unmoderated":{"keyword":"не модерируется","description":"Любой посетитель может отправлять сообщения"},"muc_unsecured":{"keyword":"без пароля","description":"Не нужно вводить пароль для входа"},"Continue":"Далее","Server":"Сервер","Rooms_are_loaded":"Комнаты загружены","Could_load_only":"Подгрузка только __count__ комнат в автодополнении","muc_explanation":"Введите название комнаты, свой ник и пароль для входа в комнату","You_already_joined_this_room":"Вы уже в этой комнате","This_room_will_be_closed":"Эта комната была закрыта","Room_not_found_":"Новая комната будет создана","Loading_room_information":"Загрузка информации о комнате","Destroy":"Уничтожить","Leave":"Покинуть","changed_subject_to":"__nickname__ изменил тему комнаты на \"__subject__\"","muc_removed_kicked":"Вас выкинули из комнаты","muc_removed_info_kicked":"__nickname__ был удален из комнаты","muc_removed_banned":"Вас забанили в комнате","muc_removed_info_banned":"__nickname__ был забанен в комнате","muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":"Вы были исключены из комнаты, т.к. комната стала доступна только для членов комнаты, а Вы им не являетесь","muc_removed_info_membersonly":"__nickname__ исключен(а) из комнаты, т.к. комната стала доступна только для членов комнаты, а он(она) им не является","muc_removed_shutdown":"Вы были удалены из комнаты, т.к. сервис чат-комнат недоступен","Reason":"Причина","message_not_send":"Ваше сообщение не было отправлено из-за ошибки","message_not_send_item-not-found":"Ваше сообщение не было отправлено, т.к. этой комнаты не существует","message_not_send_forbidden":"Ваше сообщение не было отправлено, т.к. у Вас нет права голоса в этой комнате","message_not_send_not-acceptable":"Ваше сообщение не было отправлено, т.к. Вы не являетесь участником этой комнаты","This_room_has_been_closed":"Эта комната была закрыта","Room_logging_is_enabled":"Журналирование комнаты включено","A_password_is_required":"Необходим пароль","You_are_not_on_the_member_list":"Вы не в списке участников","You_are_banned_from_this_room":"Вас забанили в этой комнате","Your_desired_nickname_":"Данное имя пользователя уже занято, пожалуйста, выберите другое имя пользователя","The_maximum_number_":"Достигнут лимит максимального количества посетителей этой комнаты","This_room_is_locked_":"Эта комната заблокирована","You_are_not_allowed_to_create_":"Вы не можете создавать комнаты","Alert":"Внимание","Call_started":"Вызов начался","Call_terminated":"Вызов завершен","Carbon_copy":"Копировать сообщения","Enable":"Включить","jingle_reason_busy":"занято","jingle_reason_decline":"запрещено","jingle_reason_success":"сбросили","Media_failure":"Ошибка передачи медиа","No_local_audio_device":"Нет локального аудио-устройства.","No_local_video_device":"Нет локального видео-устройства.","Ok":"Ок","PermissionDeniedError":"Вы или Ваш браузер запретили использовать микрофон/камеру","Use_local_audio_device":"Использовать локальное аудио-устройство.","Use_local_video_device":"Использовать локальное видео-устройство.","is_":"__status__","You_received_a_message_from_an_unknown_sender_":"Вы получили сообщение от неизвестного отправителя (__sender__)","Your_roster_is_empty_add_":"Ваш список контактов пуст, добавить <a>новый контакт</a>","onsmp_explanation_question":"Собеседник пытается определить, что общается действительно с Вами.","onsmp_explanation_secret":"Собеседник пытается определить, что общается действительно с Вами. введите пароль.","from_sender":"от __sender__","Verified_private_conversation_started":"Подтверждено Зашифрованный чат начат.","Unverified_private_conversation_started":"Не подтверждено Зашифрованный чат начат.","Bookmark":"Закладка","Auto-join":"Автоматически входить","Edit_bookmark":"Редактировать закладку","Room_logging_is_disabled":"Журналирование комнаты отключено","Room_is_now_non-anoymous":"Комната теперь не анонимная","Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":"Вы хотите изменить стандартную конфигурацию комнаты?","Default":"Станд.","Change":"Изменить","Send_file":"Отправить файл","setting-explanation-carbon":"С включенным Carbon Copy Ваш XMPP сервер будет отправлять копию каждого входящего сообщения на все подключенные устройства.","setting-explanation-login":"Если эта опция включена, то чат будет начинаться сразу после аутентификации.","setting-explanation-priority":"Если вы подключены к одному аккаунту с нескольких устройств, то XMPP сервер будет доставлять сообщения на клиент с наивысшим приоритетом.","setting-explanation-xmpp":"Эти настройки используются для подключения к XMPP серверу.","_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"sv-SE":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"tr-TR":{"translation":{"Logging_in":"Giriş yapılıyor…","your_connection_is_unencrypted":"Bağlantınız şifrelenmemiş.","your_connection_is_encrypted":"Bağlantınız şifrelenmiş.","your_buddy_closed_the_private_connection":"Sohbet ettiğiniz kişi özel bağlantı kapatıldı.","start_private":"Özel bağlantı başlat.","close_private":"Özel bağlantıyı kapat.","your_buddy_is_verificated":"Kişi doğrulandı.","you_have_only_a_subscription_in_one_way":"Sadece tek yönlü bir aboneliğiniz var.","authentication_query_sent":"Kimlik doğrulama sorgusu gönderildi.","your_message_wasnt_send_please_end_your_private_conversation":"Mesajınız gönderilmedi. Lütfen özel görüşmelerinizi bitirin.","unencrypted_message_received":"Şifrelenmemiş mesaj alındı","not_available":"Müsait değil","no_connection":"Bağlantı yok!","relogin":"Yeniden gir","trying_to_start_private_conversation":"Özel sohbet başlatılmaya çalışılıyor!","Verified":"Doğrulandı","Unverified":"Doğrulanamadı","private_conversation_aborted":"Özel sohbet iptal edildi!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Sohbet ettiğiniz kişi özel görüşmeyi kapattı! Siz de aynı şeyi yapmalısınız.","conversation_is_now_verified":"Sohbet doğrulandı.","authentication_failed":"Kimlik doğrulama başarısız.","Creating_your_private_key_":"Özel anahtarınız oluşturuluyor; bu işlem biraz sürebilir.","Authenticating_a_buddy_helps_":"Kimlik doğrulaması, konuşmakta olduğunuz kişinin gerçekten o kişi olduğundan emin olmanıza yardımcı olur.","How_do_you_want_to_authenticate_your_buddy":"Kimlik doğrulamasını nasıl yapmak istersiniz __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Yöntemi seçin...","Manual":"Elle","Question":"Soru","Secret":"Gizli anahtar","To_verify_the_fingerprint_":"Parmakizini doğrulamak için, telefon gibi başka bir güvenilir kanalı kullanın.","Your_fingerprint":"Parmakiziniz","Buddy_fingerprint":"Kişinin parmakizi","Close":"Kapat","Compared":"Kıyaslandı","To_authenticate_using_a_question_":"Bir soru ile kimlik doğrulaması için, yanıtını yalnızca siz ve karşınızdaki kişinin bildiği bir soru seçin.","Ask":"Sor","To_authenticate_pick_a_secret_":"Kimlik doğrulaması için, yalnızca siz ve karşınızdaki kişinin bildiği bir parola seçin.","Compare":"Karşılaştır","Fingerprints":"Parmakizleri","Authentication":"Kimlik doğrulama","Message":"İleti","Add_buddy":"Kişi ekle","rename_buddy":"Kişiyi yeniden adlandır","delete_buddy":"Kişiyi sil","Login":"Giriş","Username":"Kullanıcı adı","Password":"Şifre","Cancel":"iptal","Connect":"Bağlan","Type_in_the_full_username_":"Tam kullanıcı adını ve isteğe bağlı bir takma ad yazın.","Alias":"Takma ad","Add":"Ekle","Subscription_request":"Abonelik isteği","You_have_a_request_from":"Size gelen bir istek var","Deny":"Reddet","Approve":"Onayla","Remove_buddy":"Kişiyi çıkar","You_are_about_to_remove_":"__bid_name__ (<b>__bid_jid__</b>) adlı kişiyi listenizden çıkarmak üzeresiniz. Tüm ilişkili sohbetler kapanacak.","Continue_without_chat":"Sohbet etmeden devam et","Please_wait":"Lütfen bekleyin","Login_failed":"Sohbet girişi başarısız oldu","Sorry_we_cant_authentikate_":"Kimlik doğrulaması başarısız oldu. Şifreniz yanlış olabilir.","Retry":"Geri","clear_history":"Geçmişi sil","New_message_from":"__name__ adlı kişiden yeni bir mesaj aldınız","Should_we_notify_you_":"İleride aldığınız yeni mesajları size bildirelim mi?","Please_accept_":"Lütfen üstteki \"İzin ver\" düğmesini tıklayın.","Hide_offline":"Çevrimdışı kişileri gizle","Show_offline":"Çevrimdışı kişileri göster","About":"hakkında","dnd":"Rahatsız etmeyin","Mute":"Sessiz","Unmute":"Sesli","Subscription":"Üyelik","both":"her ikisi de","Status":"Durum","online":"çevrimiçi","chat":"sohbet","away":"uzakta","xa":"çok uzakta","offline":"çevrimdışı","none":"hiç biri","Unknown_instance_tag":"Bilinmeyen örnek etiketi.","Not_one_of_our_latest_keys":"En son anahtarlarımızdan biri değil.","Received_an_unreadable_encrypted_message":"Okunamayan şifrelenmiş bir mesaj alındı.","Online":"Çevrimiçi","Chatty":"Konuşkan","Away":"Uzakta","Extended_away":"Çok uzakta","Offline":"Çevrimdışı","Friendship_request":"İrtibat isteği","Confirm":"Onayla","Dismiss":"Reddet","Remove":"Çıkar","Online_help":"Çevrimiçi yardım","FN":"Tam adı","N":" ","FAMILY":"Soyadı","GIVEN":"Adı","NICKNAME":"Takma ad","URL":"URL","ADR":"Adres","STREET":"Sokak","EXTADD":"Genişletilmiş Adres","LOCALITY":"Yer","REGION":"Bölge","PCODE":"Posta Kodu","CTRY":"Ülke","TEL":"Telefon","NUMBER":"Numara","EMAIL":"Eposta","USERID":" ","ORG":"Organizasyon","ORGNAME":"İsim","ORGUNIT":"Birim","TITLE":"İş tenımı","ROLE":"Görevi","BDAY":"Doğum günü","DESC":"Tanım","PHOTO":" ","send_message":"İletiyi gönder","get_info":"Bilgileri göster","Settings":"Ayarlar","Priority":"Öncelik","Save":"Kaydet","User_settings":"Kullanıcı tercihleri","A_fingerprint_":"Parmak izi konuştuğunuz kişinin söylediği kişi olduğundan emin olmak için kullanılır.","is":"Eşit","Login_options":"Giriş seçenekleri","BOSH_url":"BOSH URL","Domain":"Alan adı","Resource":"Kaynak","On_login":"Girişte","Received_an_unencrypted_message":"Şifrelenmemiş bir mesaj alındı","Sorry_your_buddy_doesnt_provide_any_information":"Maalesef kişi her hangi bir bilgi sunmamış.","Info_about":"Bilinen özellikleri","Authentication_aborted":"Kimlik doğrulama iptal edildi.","Authentication_request_received":"Kimlik doğrulama isteği alındı.","Log_in_without_chat":"Sohbetsiz giriş yap","has_come_online":"Çevrimiçi oldu","Unknown_sender":"Bilinmeyen gönderen","Please_allow_access_to_microphone_and_camera":"Mikrofona ve kameraya erişime izin vermek için lütfen üstteki \"İzin Ver\" düğmesini tıklayın.","Incoming_call":"Gelen çağrı","from":"gönderen","Do_you_want_to_accept_the_call_from":"Gelen aramayı kabul etmek istiyor musunuz","Reject":"Reddet","Accept":"Kabul et","hang_up":"aramayı sonlandır","snapshot":"anlık fotoğraf","mute_my_audio":"Sesi kapat","pause_my_video":"videoyu duraklat","fullscreen":"tam ekran","Info":"bilgi","Local_IP":"Yerel IP","Remote_IP":"Uzak IP","Local_Fingerprint":"Yerel parmakizi","Remote_Fingerprint":"Uzak parmakizi","Video_call_not_possible":"Video çağrısı yapılamıyor. Aranan kişi video görüşmelerini desteklemiyor.","Start_video_call":"Video görüşmesini başlat","Join_chat":"Sohbete katıl","Join":"Katıl","Room":"Oda","Nickname":"Takma ad","left_the_building":"__nickname__ binadan ayrıldı","entered_the_room":"__nickname__ odaya girdi","is_now_known_as":"__oldNickname__ şimdi __newNickname__ olarak biliniyor","This_room_is":"Bu oda","muc_hidden":{"keyword":"gizli","description":"Arama yoluyla bulunamıyor"},"muc_membersonly":{"keyword":"sadece-üye-olanlar","description":"üye listenizde olmanız gerekiyor"},"muc_moderated":{"keyword":"yöneticili","description":"Yalnızca \"sesli\" kişilerin mesaj göndermesine izin verilir"},"muc_nonanonymous":{"keyword":"Anonim-değil","description":"Sohbet kimliğiniz diğer tüm oturanlara görünüyor"},"muc_open":{"keyword":"açık","description":"herkes katılabilir"},"muc_passwordprotected":{"keyword":"şifre-korumalı","description":"Doğru şifreyi girmeniz gerekiyor"},"muc_persistent":{"keyword":"kalıcı","description":"Son oturan ayrıldığında kapanmaz"},"muc_public":{"keyword":"herkese açık","description":"Arama yoluyla bulunabilir"},"muc_semianonymous":{"keyword":"yarı-anonim","description":"Sohbet kimliğiniz sadece oda yöneticilerine görünüyor"},"muc_temporary":{"keyword":"geçici","description":"Son oturan ayrıldığında kapanır"},"muc_unmoderated":{"keyword":"yöneticisiz","description":"herkes ileti gönderebilir"},"muc_unsecured":{"keyword":"güvensiz","description":"şifre girmenize gerek yok"},"Continue":"Devam","Server":"Sunucu","Rooms_are_loaded":"Oda yüklendi","Could_load_only":"Sadece __count__ oda otomatik tamamlamayla yüklenebilir","muc_explanation":"Bir sohbete katılmak için, lütfen oda adını ve isteniyorsa takma adınız ve parolanızı girin","You_already_joined_this_room":"Zaten bu odaya katılmış durumdasınız","This_room_will_be_closed":"Bu oda kapanacak","Room_not_found_":"Yeni oda oluşturulacak","Loading_room_information":"Oda bilgileri yükleniyor","Destroy":"Sil","Leave":"Ayrıl","changed_subject_to":"__nickname__ bu odanın konusunu \"__subject__\" olarak değiştirdi","muc_removed_kicked":"Bu odadan atıldınız","muc_removed_info_kicked":"__nickname__ bu odadan atıldı","muc_removed_banned":"Odadan yasaklandınız","muc_removed_info_banned":"__nickname__ odadan yasaklandınız","muc_removed_affiliation":"Üyelik değişikliği nedeniyle odadan çıkarıldınız","muc_removed_info_affiliation":"__nickname__ üyelik değişikliği nedeniyle odadan çıkarıldı","muc_removed_membersonly":"Odanın durumu sadece-üyeler olarak değiştirildiği ve siz üye olmadığınız için odadan çıkarıldınız","muc_removed_info_membersonly":"Odanın durumu sadece-üyeler olarak değiştirildiği ve __nickname__ üye olmadığı için odadan çıkarıldı","muc_removed_shutdown":"Odadan çıkarıldınız çünkü, MUC sunucusu kapandı","Reason":"Sebep","message_not_send":"Mesajınız bir hata nedeniyle gönderilmedi","message_not_send_item-not-found":"Mesajınız gönderilmedi, çünkü bu oda mevcut değil","message_not_send_forbidden":"Mesajınız gönderilmedi çünkü bu odada sesiniz yok","message_not_send_not-acceptable":"Mesajınız gönderilmedi çünkü bu odaya bulunmuyorsunuz","This_room_has_been_closed":"Bu oda kapatıldı","Room_logging_is_enabled":"Oda günlüğü etkinleştirildi","A_password_is_required":"Şifre gerekli","You_are_not_on_the_member_list":"Üye listesinde değilsiniz","You_are_banned_from_this_room":"Bu odadan yasaklandınız","Your_desired_nickname_":"İstediğiniz takma ad başkası tarafından kullanılıyor. Lütfen başka bir takma ad","The_maximum_number_":"Bu odada maksimum kullanıcı sayısına ulaşıldı","This_room_is_locked_":"Bu oda kilitli","You_are_not_allowed_to_create_":"Oda açma izniniz yok","Alert":"Uyarı","Call_started":"Arama başlatıldı","Call_terminated":"Arama bitirildi","Carbon_copy":"Karbon kopya","Enable":"Etkinleştir","jingle_reason_busy":"meşgul","jingle_reason_decline":"kabul etme","jingle_reason_success":"kapatıldı","Media_failure":"Medya istek hatası","No_local_audio_device":"Yerel ses cihazı bulunamadı.","No_local_video_device":"Yerel video cihazı bulunamadı.","Ok":"Tamam","PermissionDeniedError":"Siz veya tarayıcınız medya iznini reddetti","Use_local_audio_device":"Yerel video cihazını kullan.","Use_local_video_device":"Yerel video cihazını kullanın.","is_":"__status__","You_received_a_message_from_an_unknown_sender_":"Bilinmeyen bir gönderenden bir ileti aldınız (__sender__) İletiyi görüntülemek istiyor musunuz?","Your_roster_is_empty_add_":"Listeniz boş, yeni bir <a>kişi ekleyin</a>","onsmp_explanation_question":"Karşınızdaki kişi, konuştuğu kişinin gerçekten siz olduğunuzu belirlemeye çalışıyor. Karşınızdaki kişiye kimliğinizi kanıtlamak için, yanıtı girin ve Yanıtla'yı tıklayın.","onsmp_explanation_secret":"Karşınızdaki kişi, konuştuğu kişinin gerçekten siz olduğunuzu belirlemeye çalışıyor. Karşınızdaki kişiye kimliğinizi kanıtlamak için, parolayı girin.","from_sender":"__sender__'den","Verified_private_conversation_started":"Doğrulanmış Özel görüşme başladı.","Unverified_private_conversation_started":"Doğrulanmamış Özel görüşme başladı.","Bookmark":"Yer imi","Auto-join":"Otomatik katıl","Edit_bookmark":"yer imini düzenle","Room_logging_is_disabled":"Oda günlüğü devre dışı","Room_is_now_non-anoymous":"Oda artık anonim değil","Room_is_now_semi-anonymous":"Oda yarı-anonim","Do_you_want_to_change_the_default_room_configuration":"Öntanımlı oda yapılandırmasını değiştirmek istiyor musunuz?","Default":"Öntanımlı","Change":"Değiştir","Send_file":"Dosya gönder","setting-explanation-carbon":"Etkinleştirilmiş karbon kopya ile, XMPP sunucusu kendisine gönderilen her iletinin bir kopyasını, bu adrese gönderilmemiş olsa bile sizin için bu istemciye gönderir.","setting-explanation-login":"Bu seçenek etkinleştirilirse, sohbet girişle beraber başlayacaktır.","setting-explanation-priority":"Aynı hesapla bir çok kez oturum açtıysanız, XMPP sunucusu, istemciye iletileri en yüksek öncelikle gönderecektir.","setting-explanation-xmpp":"Bu seçenekler XMPP sunucusuna bağlanmak için kullanılır.","_is_composing":" yazıyor...","_are_composing":" yazıyorlar...","Chat_state_notifications":"Sohbet durumu bildirimleri","setting-explanation-chat-state":"Birisi mesaj başlattığında veya mesaj yazmayı bıraktığında, sohbet durumu bildirimleri göndermek ve almak istiyor musunuz?","Share_screen":"Ekran paylaşımı","Incoming_stream":"Gelen akış","Stream_started":"Akış başladı","HTTPS_REQUIRED":"Bu eylem, şifreli bir bağlantı gerektirir.","EXTENSION_UNAVAILABLE":"Tarayıcı eklentisine ihtiyacınız var.","UNKNOWN_ERROR":"Bilinmeyen bir hata oluştu.","Install_extension":"Ekran paylaşımını kullanabilmek için lütfen eklentiyi yükleyin: ","Connection_accepted":"Bağlantı kabul edildi","Stream_terminated":"Akış sonlandırıldı","Close_all":"Hepsini kapat","Notification":"Bildirim","Unreadable_OTR_message":"Okunamayan OTR iletisi atlandı","Load_older_messages":null}},"vi-VN":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"zh-TW":{"translation":{"Logging_in":"正在登入…","your_connection_is_unencrypted":"連線沒加密。","your_connection_is_encrypted":"連線有加密。","your_buddy_closed_the_private_connection":"聯絡人關閉了加密連線。","start_private":"開始加密","close_private":"結束加密","your_buddy_is_verificated":"聯絡人已校驗。","you_have_only_a_subscription_in_one_way":"只有單向訂閱。","authentication_query_sent":"驗證要求送出了。","your_message_wasnt_send_please_end_your_private_conversation":"訊息沒送出去。請結束加密的對話。","unencrypted_message_received":"收到沒加密的訊息","not_available":"不存在","no_connection":"沒有連線!","relogin":"重新登入","trying_to_start_private_conversation":"正在試著開始加密的對話!","Verified":"已校驗","Unverified":"未校驗","private_conversation_aborted":"加密的對話中斷了!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"聯絡人把這場加密的對話關掉了!你也應該同樣關掉。","conversation_is_now_verified":"對話現在校驗過了。","authentication_failed":"驗證失敗。","Creating_your_private_key_":"正在產生你的私人金鑰,會花一段時間。","Authenticating_a_buddy_helps_":"聯絡人驗證可以確保跟你說話的是真的那個人。","How_do_you_want_to_authenticate_your_buddy":"想要怎樣驗證__bid_name__ (<b>__bid_jid__</b>)?","Select_method":"選個方式...","Manual":"手動","Question":"問答","Secret":"祕密","To_verify_the_fingerprint_":"要校驗聯絡人的電子指紋,請透過其他可靠的管道跟她/他聯絡,比如說電話。","Your_fingerprint":"你的電子指紋","Buddy_fingerprint":"聯絡人的電子指紋","Close":"關閉","Compared":"比對正確","To_authenticate_using_a_question_":"要用問答來驗證的話,請找一個只有你和聯絡人才知道答案的問題。","Ask":"問題","To_authenticate_pick_a_secret_":"要驗證的話,請找一個只有你和聯絡人知道的祕密。","Compare":"比對","Fingerprints":"電子指紋","Authentication":"驗證","Message":"訊息","Add_buddy":"加聯絡人","rename_buddy":"重新命名聯絡人","delete_buddy":"刪掉聯絡人","Login":"登入","Username":"使用者名稱","Password":"密碼","Cancel":"取消","Connect":"連線","Type_in_the_full_username_":"請打全名,別名可有可無","Alias":"別名","Add":"加入","Subscription_request":"訂閱請求","You_have_a_request_from":"收到聯絡人的請求:","Deny":"拒絕","Approve":"同意","Remove_buddy":"刪除聯絡人","You_are_about_to_remove_":"要把__bid_name__ (<b>__bid_jid__</b>)從聯絡簿裡刪掉了。所有相關的對話也都會關掉。","Continue_without_chat":"繼續不聊天","Please_wait":"請等一下","Login_failed":"登入聊天失敗","Sorry_we_cant_authentikate_":"跟聊天伺服器驗證失敗,會不會是密碼打錯了?","Retry":"上一步","clear_history":"清除歷史紀錄","New_message_from":"有新訊息:__name__","Should_we_notify_you_":"以後若有新訊息要通知你嗎?","Please_accept_":"請點上方的「允許」按鈕。","Hide_offline":"隱藏離線聯絡人","Show_offline":"顯示離線聯絡人","About":"關於我","dnd":"別打擾","Mute":"開靜音","Unmute":"關靜音","Subscription":"訂閱狀態","both":"雙向","Status":"狀態","online":"上線","chat":"聊天","away":"離開","xa":"離開很久","offline":"離線","none":"沒有","Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":"收到了一則加密但無法辨認的訊息。","Online":"上線","Chatty":"想聊天","Away":"離開","Extended_away":"離開很久","Offline":"離線","Friendship_request":"聯絡請求","Confirm":"確定","Dismiss":"取消","Remove":"刪掉","Online_help":"線上說明","FN":"全名","N":" ","FAMILY":"姓氏","GIVEN":"名字","NICKNAME":"綽號","URL":"網址","ADR":"位址","STREET":"地址","EXTADD":"更多位址","LOCALITY":"所在地","REGION":"區域","PCODE":"郵遞區號","CTRY":"國家","TEL":"電話","NUMBER":"編號","EMAIL":"電子郵件","USERID":" ","ORG":"團體","ORGNAME":"名稱","ORGUNIT":"單位","TITLE":"職稱","ROLE":"職位","BDAY":"生日","DESC":"簡介","PHOTO":" ","send_message":"發送訊息","get_info":"顯示帳號資訊","Settings":"設定","Priority":"優先度","Save":"儲存","User_settings":"使用者設定","A_fingerprint_":"電子指紋是用來確認跟你說話的是真的那個人。","is":"狀態:","Login_options":"登入選項","BOSH_url":"BOSH 網址","Domain":"網域","Resource":"資源","On_login":"登入啟動","Received_an_unencrypted_message":"收到了一則沒加密的訊息","Sorry_your_buddy_doesnt_provide_any_information":"抱歉,聯絡人沒有提供任何資訊。","Info_about":"帳號資訊:","Authentication_aborted":"驗證中斷。","Authentication_request_received":"驗證請求收到了。","Log_in_without_chat":"登入但不啟用聊天","has_come_online":"上線了","Unknown_sender":"不明傳訊人","Please_allow_access_to_microphone_and_camera":"請點上方的「接受」按鈕來允許我們使用麥克風和相機。","Incoming_call":"來電","from":"只出","Do_you_want_to_accept_the_call_from":"是否要接聽來電:","Reject":"拒絕","Accept":"接受","hang_up":"掛斷","snapshot":"截圖","mute_my_audio":"關掉我的聲音","pause_my_video":"暫停我的影像","fullscreen":"全螢幕","Info":"資料","Local_IP":"本機網路位址","Remote_IP":"遠端網路位址","Local_Fingerprint":"本機電子指紋","Remote_Fingerprint":"遠端電子指紋","Video_call_not_possible":"無法視訊通話。聯絡人不支援視訊。","Start_video_call":"開始視訊通話","Join_chat":"參加聊天","Join":"參加","Room":"聊天室","Nickname":"綽號","left_the_building":"__nickname__離開了大樓","entered_the_room":"__nickname__進入了聊天室","is_now_known_as":"__oldNickname__改名叫做__newNickname__","This_room_is":"聊天室屬性:","muc_hidden":{"keyword":"隱藏","description":"搜尋也找不到"},"muc_membersonly":{"keyword":"限會員","description":"會員才會加入"},"muc_moderated":{"keyword":"有管制","description":"沒被消音的人才能送訊息"},"muc_nonanonymous":{"keyword":"禁匿名","description":"每個參與人都能看到你的 jabber 代碼"},"muc_open":{"keyword":"開放","description":"任何人都能參加"},"muc_passwordprotected":{"keyword":"密碼鎖","description":"要輸入正確的密碼才能加入"},"muc_persistent":{"keyword":"永久性","description":"最後一個參與人都離開了也不會結束"},"muc_public":{"keyword":"公開","description":"搜尋得到"},"muc_semianonymous":{"keyword":"半匿名","description":"只有聊天室管理員才看得到你的 jabber 代碼"},"muc_temporary":{"keyword":"暫時性","description":"最後一個參與人離開了就會結束"},"muc_unmoderated":{"keyword":"沒管制","description":"每個人都可以送訊息"},"muc_unsecured":{"keyword":"沒保護","description":"不需要密碼就能加入"},"Continue":"繼續","Server":"伺服器","Rooms_are_loaded":"聊天室載入完成","Could_load_only":"只能載入__count__間聊天室供輸入自動完成使用","muc_explanation":"請輸入要參加的聊天室名稱,綽號和密碼非必要","You_already_joined_this_room":"你已經參加這間聊天室了","This_room_will_be_closed":"聊天室即將關閉","Room_not_found_":"新聊天室即將開啟","Loading_room_information":"正在載入聊天室資訊","Destroy":"關閉","Leave":"離開","changed_subject_to":"__nickname__把聊天室的標題改成了\"__subject__\"","muc_removed_kicked":"你被踢出聊天室了","muc_removed_info_kicked":"__nickname__被踢出聊天室了","muc_removed_banned":"你被禁止進入聊天室了","muc_removed_info_banned":"__nickname__被禁止進入聊天室了","muc_removed_affiliation":"你因為身份改變而離開聊天室了","muc_removed_info_affiliation":"__nickname__因為身份改變而離開聊天室了","muc_removed_membersonly":"你離開聊天室了,因為聊天室改為只限會員,但你不是會員","muc_removed_info_membersonly":"__nickname__離開聊天室了,因為聊天室改為只限會員,但她/他不是會員","muc_removed_shutdown":"你離開聊天室了,因為多人聊天服務正在關閉中。","Reason":"原因","message_not_send":"訊息因為發生錯誤沒送出去","message_not_send_item-not-found":"訊息沒送出去,因為聊天室不存在了","message_not_send_forbidden":"訊息沒送出去,因為你被消音了","message_not_send_not-acceptable":"訊息沒送出去,因為你不是聊天室的參與人了","This_room_has_been_closed":"聊天室已經關閉了","Room_logging_is_enabled":"聊天室紀錄打開了","A_password_is_required":"需要密碼","You_are_not_on_the_member_list":"你不是會員","You_are_banned_from_this_room":"你被禁止進入聊天室了","Your_desired_nickname_":"這個綽號被用掉了,請換一個","The_maximum_number_":"這間聊天室已經到達使用者數目的上限","This_room_is_locked_":"聊天室上鎖了","You_are_not_allowed_to_create_":"不允許你開新的聊天室","Alert":"警告","Call_started":"通話開始","Call_terminated":"通話結束","Carbon_copy":"副本","Enable":"打開","jingle_reason_busy":"忙線中","jingle_reason_decline":"被拒絕","jingle_reason_success":"被掛斷","Media_failure":"媒體錯誤","No_local_audio_device":"本機沒有音訊設備。","No_local_video_device":"本機沒有視訊設備。","Ok":"好","PermissionDeniedError":"你或你的瀏覽器拒絕了媒體使用權限","Use_local_audio_device":"使用本機音訊設備。","Use_local_video_device":"使用本機視訊設備。","is_":"狀態: __status__","You_received_a_message_from_an_unknown_sender_":"收到了不明人士(__sender__)傳來的訊息。你要打開來看嗎?","Your_roster_is_empty_add_":"好友清單是空的,請加<a>新的聯絡人</a>","onsmp_explanation_question":"聯絡人想要確定她/他是在跟真的你說話。要完成你的驗證,請輸入問題的答案,然後按\"回答\"。","onsmp_explanation_secret":"聯絡人想要確定她/他是在跟真的你說話。要完成你的驗證,請輸入你們之間的祕密。","from_sender":"來自:__sender__","Verified_private_conversation_started":"加密且已校驗的對話開始了。","Unverified_private_conversation_started":"加密但未校驗的對話開始了。","Bookmark":"書籤","Auto-join":"自動參加","Edit_bookmark":"編輯書籤","Room_logging_is_disabled":"聊天室紀錄關掉了","Room_is_now_non-anoymous":"現在聊天室禁止匿名了","Room_is_now_semi-anonymous":"現在聊天室變半匿名了","Do_you_want_to_change_the_default_room_configuration":"你想要改變聊天室的預設配置嗎?","Default":"預設值","Change":"修改","Send_file":"傳送檔案","setting-explanation-carbon":"如果打開副本選項的話,XMPP 伺服器會把每一個收到的訊息,都送一份到這個用戶端程式,即使它不是訊息發送的對象。","setting-explanation-login":"打開這個選項會在登入時同時開啟聊天。","setting-explanation-priority":"如果你用同一個帳號同時登入好幾次的話,XMPP 伺服器會把訊息送給優先度最高的那個用戶端程式。","setting-explanation-xmpp":"這些是用在 XMPP 伺服器連線的選項。","_is_composing":"正在打字中...","_are_composing":"正在打字中...","Chat_state_notifications":"聊天狀態通知","setting-explanation-chat-state":"想要傳送以及接收聊天狀態的通知嗎?也就是有人開始或停止寫訊息之類?","Share_screen":"分享螢幕","Incoming_stream":"有串流來","Stream_started":"串流開始了","HTTPS_REQUIRED":"這個動作需要連線有加密。","EXTENSION_UNAVAILABLE":"瀏覽器必須要安裝擴充套件或是附加元件。","UNKNOWN_ERROR":"發生了不明錯誤。","Install_extension":"要使用螢幕分享功能請安裝這個擴充套件: ","Connection_accepted":"連線接受了","Stream_terminated":"串流結束了","Close_all":"全部關掉","Notification":"通知","Unreadable_OTR_message":"忽略無法解讀的 OTR 訊息","Load_older_messages":null}},"zh":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}}}; \ No newline at end of file
diff --git a/build/lib/jsxc.dep.min.js b/build/lib/jsxc.dep.min.js
index 5a6ad5f4..c35e5696 100644
--- a/build/lib/jsxc.dep.min.js
+++ b/build/lib/jsxc.dep.min.js
@@ -12,8 +12,8 @@ this._connection.send(msg)},leave:function(room,nick,handler_cb,exit_msg){var id
*
* @license MIT
*/
-function($){Strophe.addConnectionPlugin("caps",{HASH:"sha-1",node:"http://strophe.im/strophejs/",_ver:"",_connection:null,_knownCapabilities:JSON.parse(localStorage.getItem("strophe.caps._knownCapabilities"))||{},_jidVerIndex:JSON.parse(localStorage.getItem("strophe.caps._jidVerIndex"))||{},init:function(conn){if(this._connection=conn,Strophe.addNamespace("CAPS","http://jabber.org/protocol/caps"),!this._connection.disco)throw"Caps plugin requires the disco plugin to be installed.";this._connection.disco.addFeature(Strophe.NS.CAPS),this._connection.addHandler(this._delegateCapabilities.bind(this),Strophe.NS.CAPS)},generateCapsAttrs:function(){return{xmlns:Strophe.NS.CAPS,hash:this.HASH,node:this.node,ver:this.generateVer()}},generateVer:function(){if(""!==this._ver)return this._ver;for(var ver="",identities=this._connection.disco._identities.sort(this._sortIdentities),identitiesLen=identities.length,features=this._connection.disco._features.sort(),featuresLen=features.length,i=0;i<identitiesLen;i++){var curIdent=identities[i];ver+=curIdent.category+"/"+curIdent.type+"/"+curIdent.lang+"/"+curIdent.name+"<"}for(var i=0;i<featuresLen;i++)ver+=features[i]+"<";return this._ver=b64_sha1(ver),this._ver},getCapabilitiesByJid:function(jid){return this._jidVerIndex[jid]?this._knownCapabilities[this._jidVerIndex[jid]]:null},hasFeatureByJid:function(jid,feature){if(this._jidVerIndex[jid]&&null!==feature&&"undefined"!=typeof feature){$.isArray(feature)||(feature=$.makeArray(feature));var i,knownCapabilities;if(knownCapabilities=this._knownCapabilities[this._jidVerIndex[jid]],!knownCapabilities)return null;for(i=0;i<feature.length;i++)if(knownCapabilities.features.indexOf(feature[i])<0)return!1;return!0}return!1},_delegateCapabilities:function(stanza){var from=stanza.getAttribute("from"),c=stanza.querySelector("c"),ver=c.getAttribute("ver"),node=c.getAttribute("node");return this._knownCapabilities[ver]?(this._jidVerIndex[from]=ver,this._jidVerIndex[from]&&!this._jidVerIndex[from]===ver||(this._jidVerIndex[from]=ver),localStorage.setItem("strophe.caps._jidVerIndex",JSON.stringify(this._jidVerIndex)),$(document).trigger("caps.strophe",[from,this._knownCapabilities[ver],ver]),!0):this._requestCapabilities(from,node,ver)},_requestCapabilities:function(to,node,ver){if(to!==this._connection.jid){var id=this._connection.disco.info(to,node+"#"+ver);this._connection.addHandler(this._handleDiscoInfoReply.bind(this),Strophe.NS.DISCO_INFO,"iq","result",id,to)}return!0},_handleDiscoInfoReply:function(stanza){var query=stanza.querySelector("query"),from=stanza.getAttribute("from"),node=query.getAttribute("node"),ver=node?node.split("#")[1]:this._jidVerIndex[from];if(this._knownCapabilities[ver])this._jidVerIndex[from]&&!this._jidVerIndex[from]===ver||(this._jidVerIndex[from]=ver);else{var childNodes=query.childNodes,childNodesLen=childNodes.length;this._knownCapabilities[ver]={features:[],identities:[]};for(var i=0;i<childNodesLen;i++){var node=childNodes[i];"feature"==node.nodeName?this._knownCapabilities[ver].features.push(node.getAttribute("var")):"identity"==node.nodeName?this._knownCapabilities[ver].identities.push(this._attributesToJsObject(node.attributes)):("undefined"==typeof this._knownCapabilities[ver][node.nodeName]&&(this._knownCapabilities[ver][node.nodeName]=[]),this._knownCapabilities[ver][node.nodeName].push(this._attributesToJsObject(node.attributes)))}this._jidVerIndex[from]=ver}return localStorage.setItem("strophe.caps._jidVerIndex",JSON.stringify(this._jidVerIndex)),localStorage.setItem("strophe.caps._knownCapabilities",JSON.stringify(this._knownCapabilities)),$(document).trigger("caps.strophe",[from,this._knownCapabilities[ver],ver]),!1},_attributesToJsObject:function(attr){var obj={};for(i=0;i<attr.length;i++)obj[attr[i].name]=attr[i].value;return obj},_sortIdentities:function(a,b){return a.category>b.category?1:a.category<b.category?-1:a.type>b.type?1:a.type<b.type?-1:a.lang>b.lang?1:a.lang<b.lang?-1:0}})}(jQuery),function(){var buildIq;buildIq=function(type,jid,vCardEl){var iq;return iq=$iq(jid?{type:type,to:jid}:{type:type}),iq.c("vCard",{xmlns:Strophe.NS.VCARD}),vCardEl&&iq.cnode(vCardEl),iq},Strophe.addConnectionPlugin("vcard",{_connection:null,init:function(conn){return this._connection=conn,Strophe.addNamespace("VCARD","vcard-temp")},get:function(handler_cb,jid,error_cb){var iq;return"function"==typeof jid&&(error_cb=jid,jid=null),iq=buildIq("get",jid),this._connection.sendIQ(iq,handler_cb,error_cb)},set:function(handler_cb,vCardEl,jid,error_cb){var iq;return iq=buildIq("set",jid,vCardEl),this._connection.sendIQ(iq,handler_cb,error_cb)}})}.call(this),Strophe.addConnectionPlugin("bookmarks",{init:function(connection){this.connection=connection,Strophe.addNamespace("PRIVATE","jabber:iq:private"),Strophe.addNamespace("BOOKMARKS","storage:bookmarks"),Strophe.addNamespace("PRIVACY","jabber:iq:privacy"),Strophe.addNamespace("DELAY","jabber:x:delay"),Strophe.addNamespace("PUBSUB","http://jabber.org/protocol/pubsub")},createBookmarksNode:function(success,error){return this.connection.sendIQ($iq({type:"set"}).c("pubsub",{xmlns:Strophe.NS.PUBSUB}).c("create",{node:"storage:bookmarks"}).up().c("configure").c("x",{xmlns:"jabber:x:data",type:"submit"}).c("field",{var:"FORM_TYPE",type:"hidden"}).c("value").t("http://jabber.org/protocol/pubsub#node_config").up().up().c("field",{var:"pubsub#persist_items"}).c("value").t("1").up().up().c("field",{var:"pubsub#access_model"}).c("value").t("whitelist"),success,error),!0},add:function(roomJid,alias,nick,autojoin,success,error){var conferenceAttr={jid:roomJid,autojoin:autojoin||!1};alias&&(conferenceAttr.name=alias);var stanza=$iq({type:"set"}).c("pubsub",{xmlns:Strophe.NS.PUBSUB}).c("publish",{node:Strophe.NS.BOOKMARKS}).c("item",{id:roomJid}).c("storage",{xmlns:Strophe.NS.BOOKMARKS}).c("conference",conferenceAttr);nick&&stanza.c("nick").t(nick),this.connection.sendIQ(stanza,success,error)},get:function(success,error){this.connection.sendIQ($iq({type:"get"}).c("pubsub",{xmlns:Strophe.NS.PUBSUB}).c("items",{node:Strophe.NS.BOOKMARKS}),success,error)},delete:function(roomJid,success,error,notify){this.connection.sendIQ($iq({type:"set"}).c("pubsub",{xmlns:Strophe.NS.PUBSUB}).c("retract",{node:Strophe.NS.BOOKMARKS,notify:notify||!1}).c("item",{id:roomJid}),success,error)}}),function(){var $field,$form,$item,$opt,Field,Form,Item,Option,helper,__slice=[].slice,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}},__indexOf=[].indexOf||function(item){for(var i=0,l=this.length;i<l;i++)if(i in this&&this[i]===item)return i;return-1};helper={fill:function(src,target,klass){var f,_i,_len,_results;for(_results=[],_i=0,_len=src.length;_i<_len;_i++)f=src[_i],_results.push(target.push(f instanceof klass?f:new klass(f)));return _results},createHtmlFieldCouple:function(f){var div,id;return div=$("<div>"),id="Strophe.x.Field-"+f.type+"-"+f.var,div.append("<label for='"+id+"'>"+(f.label||"")+"</label>").append($(f.toHTML()).attr("id",id)).append("<br />"),div.children()},getHtmlFields:function(html){return html=$(html),__slice.call(html.find("input")).concat(__slice.call(html.find("select")),__slice.call(html.find("textarea")))}},Form=function(){function Form(opt){this.toHTML=__bind(this.toHTML,this),this.toJSON=__bind(this.toJSON,this),this.toXML=__bind(this.toXML,this);var f,i,_i,_j,_len,_len1,_ref,_ref1,_ref2,_ref3;if(this.fields=[],this.items=[],this.reported=[],opt)if(_ref=opt.type,__indexOf.call(Form._types,_ref)>=0&&(this.type=opt.type),this.title=opt.title,this.instructions=opt.instructions,helper.fill=function(src,target,klass){var f,_i,_len,_results;for(_results=[],_i=0,_len=src.length;_i<_len;_i++)f=src[_i],_results.push(target.push(f instanceof klass?f:new klass(f)));return _results},opt.fields)opt.fields&&helper.fill(opt.fields,this.fields,Field);else if(opt.items)for(opt.items&&helper.fill(opt.items,this.items,Item),_ref1=this.items,_i=0,_len=_ref1.length;_i<_len;_i++)for(i=_ref1[_i],_ref2=i.fields,_j=0,_len1=_ref2.length;_j<_len1;_j++)f=_ref2[_j],_ref3=f.var,__indexOf.call(this.reported,_ref3)>=0||this.reported.push(f.var)}return Form._types=["form","submit","cancel","result"],Form.prototype.type="form",Form.prototype.title=null,Form.prototype.instructions=null,Form.prototype.toXML=function(){var f,i,r,xml,_i,_j,_k,_len,_len1,_len2,_ref,_ref1,_ref2;if(xml=$build("x",{xmlns:"jabber:x:data",type:this.type}),this.title&&xml.c("title").t(this.title.toString()).up(),this.instructions&&xml.c("instructions").t(this.instructions.toString()).up(),this.fields.length>0)for(_ref=this.fields,_i=0,_len=_ref.length;_i<_len;_i++)f=_ref[_i],xml.cnode(f.toXML()).up();else if(this.items.length>0){for(xml.c("reported"),_ref1=this.reported,_j=0,_len1=_ref1.length;_j<_len1;_j++)r=_ref1[_j],xml.c("field",{var:r}).up();for(xml.up(),_ref2=this.items,_k=0,_len2=_ref2.length;_k<_len2;_k++)i=_ref2[_k],xml.cnode(i.toXML()).up()}return xml.tree()},Form.prototype.toJSON=function(){var f,i,json,_i,_j,_len,_len1,_ref,_ref1;if(json={type:this.type},this.title&&(json.title=this.title),this.instructions&&(json.instructions=this.instructions),this.fields.length>0)for(json.fields=[],_ref=this.fields,_i=0,_len=_ref.length;_i<_len;_i++)f=_ref[_i],json.fields.push(f.toJSON());else if(this.items.length>0)for(json.items=[],json.reported=this.reported,_ref1=this.items,_j=0,_len1=_ref1.length;_j<_len1;_j++)i=_ref1[_j],json.items.push(i.toJSON());return json},Form.prototype.toHTML=function(){var f,form,i,_i,_j,_len,_len1,_ref,_ref1;if(form=$("<form data-type='"+this.type+"'>"),this.title&&form.append("<h1>"+this.title+"</h1>"),this.instructions&&form.append("<p>"+this.instructions+"</p>"),this.fields.length>0)for(_ref=this.fields,_i=0,_len=_ref.length;_i<_len;_i++)f=_ref[_i],helper.createHtmlFieldCouple(f).appendTo(form);else if(this.items.length>0)for(_ref1=this.items,_j=0,_len1=_ref1.length;_j<_len1;_j++)i=_ref1[_j],$(i.toHTML()).appendTo(form);return form[0]},Form.fromXML=function(xml){var f,fields,i,instr,items,j,r,reported,title;return xml=$(xml),f=new Form({type:xml.attr("type")}),title=xml.find("title"),1===title.length&&(f.title=title.text()),instr=xml.find("instructions"),1===instr.length&&(f.instructions=instr.text()),fields=xml.find("field"),items=xml.find("item"),items.length>0?f.items=function(){var _i,_len,_results;for(_results=[],_i=0,_len=items.length;_i<_len;_i++)i=items[_i],_results.push(Item.fromXML(i));return _results}():fields.length>0&&(f.fields=function(){var _i,_len,_results;for(_results=[],_i=0,_len=fields.length;_i<_len;_i++)j=fields[_i],_results.push(Field.fromXML(j));return _results}()),reported=xml.find("reported"),1===reported.length&&(fields=reported.find("field"),f.reported=function(){var _i,_len,_results;for(_results=[],_i=0,_len=fields.length;_i<_len;_i++)r=fields[_i],_results.push($(r).attr("var"));return _results}()),f},Form.fromHTML=function(html){var f,field,fields,i,instructions,item,items,j,title,_i,_j,_len,_len1,_ref,_ref1,_ref2;if(html=$(html),f=new Form({type:html.attr("data-type")}),title=html.find("h1").text(),title&&(f.title=title),instructions=html.find("p").text(),instructions&&(f.instructions=instructions),items=html.find("fieldset"),fields=helper.getHtmlFields(html),items.length>0)for(f.items=function(){var _i,_len,_results;for(_results=[],_i=0,_len=items.length;_i<_len;_i++)i=items[_i],_results.push(Item.fromHTML(i));return _results}(),_ref=f.items,_i=0,_len=_ref.length;_i<_len;_i++)for(item=_ref[_i],_ref1=item.fields,_j=0,_len1=_ref1.length;_j<_len1;_j++)field=_ref1[_j],_ref2=field.var,__indexOf.call(f.reported,_ref2)>=0||f.reported.push(field.var);else fields.length>0&&(f.fields=function(){var _k,_len2,_results;for(_results=[],_k=0,_len2=fields.length;_k<_len2;_k++)j=fields[_k],_results.push(Field.fromHTML(j));return _results}());return f},Form}(),Field=function(){function Field(opt){this.toHTML=__bind(this.toHTML,this),this.toXML=__bind(this.toXML,this),this.toJSON=__bind(this.toJSON,this),this.addOptions=__bind(this.addOptions,this),this.addOption=__bind(this.addOption,this),this.addValues=__bind(this.addValues,this),this.addValue=__bind(this.addValue,this);var _ref,_ref1;this.options=[],this.values=[],opt&&(_ref=opt.type,__indexOf.call(Field._types,_ref)>=0&&(this.type=opt.type.toString()),opt.desc&&(this.desc=opt.desc.toString()),opt.label&&(this.label=opt.label.toString()),this.var=(null!=(_ref1=opt.var)?_ref1.toString():void 0)||"_no_var_was_defined_",this.required=opt.required===!0||"true"===opt.required,opt.options&&this.addOptions(opt.options),opt.value&&(opt.values=[opt.value]),opt.values&&this.addValues(opt.values))}return Field._types=["boolean","fixed","hidden","jid-multi","jid-single","list-multi","list-single","text-multi","text-private","text-single"],Field._multiTypes=["list-multi","jid-multi","text-multi","hidden"],Field.prototype.type="text-single",Field.prototype.desc=null,Field.prototype.label=null,Field.prototype.var="_no_var_was_defined_",Field.prototype.required=!1,Field.prototype.addValue=function(val){return this.addValues([val])},Field.prototype.addValues=function(vals){var multi,v,_ref;return _ref=this.type,multi=__indexOf.call(Field._multiTypes,_ref)>=0,(multi||!multi&&1===vals.length)&&(this.values=__slice.call(this.values).concat(__slice.call(function(){var _i,_len,_results;for(_results=[],_i=0,_len=vals.length;_i<_len;_i++)v=vals[_i],_results.push(v.toString());return _results}()))),this},Field.prototype.addOption=function(opt){return this.addOptions([opt])},Field.prototype.addOptions=function(opts){var o;return"list-single"!==this.type&&"list-multi"!==this.type||("object"!=typeof opts[0]&&(opts=function(){var _i,_len,_results;for(_results=[],_i=0,_len=opts.length;_i<_len;_i++)o=opts[_i],_results.push(new Option({value:o.toString()}));return _results}()),helper.fill(opts,this.options,Option)),this},Field.prototype.toJSON=function(){var json,o,_i,_len,_ref;if(json={type:this.type,var:this.var,required:this.required},this.desc&&(json.desc=this.desc),this.label&&(json.label=this.label),this.values&&(json.values=this.values),this.options)for(json.options=[],_ref=this.options,_i=0,_len=_ref.length;_i<_len;_i++)o=_ref[_i],json.options.push(o.toJSON());return json},Field.prototype.toXML=function(){var attrs,o,v,xml,_i,_j,_len,_len1,_ref,_ref1;if(attrs={type:this.type,var:this.var},this.label&&(attrs.label=this.label),xml=$build("field",attrs),this.desc&&xml.c("desc").t(this.desc).up(),this.required&&xml.c("required").up(),this.values)for(_ref=this.values,_i=0,_len=_ref.length;_i<_len;_i++)v=_ref[_i],xml.c("value").t(v.toString()).up();if(this.options)for(_ref1=this.options,_j=0,_len1=_ref1.length;_j<_len1;_j++)o=_ref1[_j],xml.cnode(o.toXML()).up();return xml.tree()},Field.prototype.toHTML=function(){var el,k,line,o,opt,txt,val,_i,_j,_len,_len1,_ref,_ref1,_ref2;switch(this.type.toLowerCase()){case"list-single":case"list-multi":if(el=$("<select>"),"list-multi"===this.type&&el.attr("multiple","multiple"),this.options.length>0)for(_ref=this.options,_i=0,_len=_ref.length;_i<_len;_i++)if(opt=_ref[_i]){for(o=$(opt.toHTML()),_ref1=this.values,_j=0,_len1=_ref1.length;_j<_len1;_j++)k=_ref1[_j],k.toString()===opt.value.toString()&&o.attr("selected","selected");o.appendTo(el)}break;case"text-multi":case"jid-multi":el=$("<textarea>"),txt=function(){var _k,_len2,_ref2,_results;for(_ref2=this.values,_results=[],_k=0,_len2=_ref2.length;_k<_len2;_k++)line=_ref2[_k],_results.push(line);return _results}.call(this).join("\n"),txt&&el.text(txt);break;case"text-single":case"boolean":case"text-private":case"hidden":case"fixed":case"jid-single":switch(el=$("<input>"),this.values&&el.val(this.values[0]),this.type.toLowerCase()){case"text-single":el.attr("type","text"),el.attr("placeholder",this.desc);break;case"boolean":el.attr("type","checkbox"),val=null!=(_ref2=this.values[0])&&"function"==typeof _ref2.toString?_ref2.toString():void 0,!val||"true"!==val&&"1"!==val||el.attr("checked","checked");break;case"text-private":el.attr("type","password");break;case"hidden":el.attr("type","hidden");break;case"fixed":el.attr("type","text").attr("readonly","readonly");break;case"jid-single":el.attr("type","email")}break;default:el=$("<input type='text'>")}return el.attr("name",this.var),this.required&&el.attr("required",this.required),el[0]},Field.fromXML=function(xml){var o,v;return xml=$(xml),new Field({type:xml.attr("type"),var:xml.attr("var"),label:xml.attr("label"),desc:xml.find("desc").text(),required:1===xml.find("required").length,values:function(){var _i,_len,_ref,_results;for(_ref=xml.find(">value"),_results=[],_i=0,_len=_ref.length;_i<_len;_i++)v=_ref[_i],_results.push($(v).text());return _results}(),options:function(){var _i,_len,_ref,_results;for(_ref=xml.find("option"),_results=[],_i=0,_len=_ref.length;_i<_len;_i++)o=_ref[_i],_results.push(Option.fromXML(o));return _results}()})},Field._htmlElementToFieldType=function(el){var r,type;switch(el=$(el),el[0].nodeName.toLowerCase()){case"textarea":type="text-multi";break;case"select":type="multiple"===el.attr("multiple")?"list-multi":"list-single";break;case"input":switch(el.attr("type")){case"checkbox":type="boolean";break;case"email":type="jid-single";break;case"hidden":type="hidden";break;case"password":type="text-private";break;case"text":r="readonly"===el.attr("readonly"),type=r?"fixed":"text-single"}}return type},Field.fromHTML=function(html){var el,f,txt,type;switch(html=$(html),type=Field._htmlElementToFieldType(html),f=new Field({type:type,var:html.attr("name"),required:"required"===html.attr("required")}),type){case"list-multi":case"list-single":f.values=function(){var _i,_len,_ref,_results;for(_ref=html.find("option:selected"),_results=[],_i=0,_len=_ref.length;_i<_len;_i++)el=_ref[_i],_results.push($(el).val());return _results}(),f.options=function(){var _i,_len,_ref,_results;for(_ref=html.find("option"),_results=[],_i=0,_len=_ref.length;_i<_len;_i++)el=_ref[_i],_results.push(Option.fromHTML(el));return _results}();break;case"text-multi":case"jid-multi":txt=html.text(),""!==txt.trim()&&(f.values=txt.split("\n"));break;case"text-single":case"boolean":case"text-private":case"hidden":case"fixed":case"jid-single":""!==html.val().trim()&&(f.values=[html.val()])}return f},Field}(),Option=function(){function Option(opt){this.toHTML=__bind(this.toHTML,this),this.toJSON=__bind(this.toJSON,this),this.toXML=__bind(this.toXML,this),opt&&(opt.label&&(this.label=opt.label.toString()),opt.value&&(this.value=opt.value.toString()))}return Option.prototype.label="",Option.prototype.value="",Option.prototype.toXML=function(){return $build("option",{label:this.label}).c("value").t(this.value.toString()).tree()},Option.prototype.toJSON=function(){return{label:this.label,value:this.value}},Option.prototype.toHTML=function(){return $("<option>").attr("value",this.value).text(this.label||this.value)[0]},Option.fromXML=function(xml){return new Option({label:$(xml).attr("label"),value:$(xml).text()})},Option.fromHTML=function(html){return new Option({value:$(html).attr("value"),label:$(html).text()})},Option}(),Item=function(){function Item(opts){this.toHTML=__bind(this.toHTML,this),this.toJSON=__bind(this.toJSON,this),this.toXML=__bind(this.toXML,this),this.fields=[],(null!=opts?opts.fields:void 0)&&helper.fill(opts.fields,this.fields,Field)}return Item.prototype.toXML=function(){var f,xml,_i,_len,_ref;for(xml=$build("item"),_ref=this.fields,_i=0,_len=_ref.length;_i<_len;_i++)f=_ref[_i],xml.cnode(f.toXML()).up();return xml.tree()},Item.prototype.toJSON=function(){var f,json,_i,_len,_ref;if(json={},this.fields)for(json.fields=[],_ref=this.fields,_i=0,_len=_ref.length;_i<_len;_i++)f=_ref[_i],json.fields.push(f.toJSON());return json},Item.prototype.toHTML=function(){var f,fieldset,_i,_len,_ref;for(fieldset=$("<fieldset>"),_ref=this.fields,_i=0,_len=_ref.length;_i<_len;_i++)f=_ref[_i],helper.createHtmlFieldCouple(f).appendTo(fieldset);return fieldset[0]},Item.fromXML=function(xml){var f,fields;return xml=$(xml),fields=xml.find("field"),new Item({fields:function(){var _i,_len,_results;for(_results=[],_i=0,_len=fields.length;_i<_len;_i++)f=fields[_i],_results.push(Field.fromXML(f));return _results}()})},Item.fromHTML=function(html){var f;return new Item({fields:function(){var _i,_len,_ref,_results;for(_ref=helper.getHtmlFields(html),_results=[],_i=0,_len=_ref.length;_i<_len;_i++)f=_ref[_i],_results.push(Field.fromHTML(f));return _results}()})},Item}(),Strophe.x={Form:Form,Field:Field,Option:Option,Item:Item},$form=function(opt){return new Strophe.x.Form(opt)},$field=function(opt){return new Strophe.x.Field(opt)},$opt=function(opt){return new Strophe.x.Option(opt)},$item=function(opts){return new Strophe.x.Item(opts)},Strophe.addConnectionPlugin("x",{init:function(conn){var _ref,_ref1;if(Strophe.addNamespace("DATA","jabber:x:data"),null!=(null!=(_ref=conn.disco)?_ref.addFeature:void 0)&&conn.disco.addFeature(Strophe.NS.DATA),null!=(null!=(_ref1=conn.disco)?_ref1.addNode:void 0))return conn.disco.addNode(Strophe.NS.DATA,{items:[]})},parseFromResult:function(result){var _ref;return"x"===result.nodeName.toLowerCase()?Form.fromXML(result):Form.fromXML(null!=(_ref=$(result).find("x"))?_ref[0]:void 0)}})}.call(this),Strophe.addConnectionPlugin("chatstates",{init:function(connection){this._connection=connection,Strophe.addNamespace("CHATSTATES","http://jabber.org/protocol/chatstates")},statusChanged:function(status){status!==Strophe.Status.CONNECTED&&status!==Strophe.Status.ATTACHED||this._connection.addHandler(this._notificationReceived.bind(this),Strophe.NS.CHATSTATES,"message")},addActive:function(message){return message.c("active",{xmlns:Strophe.NS.CHATSTATES}).up()},_notificationReceived:function(message){var composing=$(message).find("composing"),paused=$(message).find("paused"),active=$(message).find("active"),jid=$(message).attr("from");return composing.length>0&&$(document).trigger("composing.chatstates",jid),paused.length>0&&$(document).trigger("paused.chatstates",jid),active.length>0&&$(document).trigger("active.chatstates",jid),!0},sendActive:function(jid,type){this._sendNotification(jid,type,"active")},sendComposing:function(jid,type){this._sendNotification(jid,type,"composing")},sendPaused:function(jid,type){this._sendNotification(jid,type,"paused")},_sendNotification:function(jid,type,notification){type||(type="chat"),this._connection.send($msg({to:jid,type:type}).c(notification,{xmlns:Strophe.NS.CHATSTATES}))}}),/*!
- * strophe.jinglejs v0.1.2 - 2017-01-12
+function($){Strophe.addConnectionPlugin("caps",{HASH:"sha-1",node:"http://strophe.im/strophejs/",_ver:"",_connection:null,_knownCapabilities:JSON.parse(localStorage.getItem("strophe.caps._knownCapabilities"))||{},_jidVerIndex:JSON.parse(localStorage.getItem("strophe.caps._jidVerIndex"))||{},init:function(conn){if(this._connection=conn,Strophe.addNamespace("CAPS","http://jabber.org/protocol/caps"),!this._connection.disco)throw"Caps plugin requires the disco plugin to be installed.";this._connection.disco.addFeature(Strophe.NS.CAPS),this._connection.addHandler(this._delegateCapabilities.bind(this),Strophe.NS.CAPS)},generateCapsAttrs:function(){return{xmlns:Strophe.NS.CAPS,hash:this.HASH,node:this.node,ver:this.generateVer()}},generateVer:function(){if(""!==this._ver)return this._ver;for(var ver="",identities=this._connection.disco._identities.sort(this._sortIdentities),identitiesLen=identities.length,features=this._connection.disco._features.sort(),featuresLen=features.length,i=0;i<identitiesLen;i++){var curIdent=identities[i];ver+=curIdent.category+"/"+curIdent.type+"/"+curIdent.lang+"/"+curIdent.name+"<"}for(var i=0;i<featuresLen;i++)ver+=features[i]+"<";return this._ver=b64_sha1(ver),this._ver},getCapabilitiesByJid:function(jid){return this._jidVerIndex[jid]?this._knownCapabilities[this._jidVerIndex[jid]]:null},hasFeatureByJid:function(jid,feature){if(this._jidVerIndex[jid]&&null!==feature&&"undefined"!=typeof feature){$.isArray(feature)||(feature=$.makeArray(feature));var i,knownCapabilities;if(knownCapabilities=this._knownCapabilities[this._jidVerIndex[jid]],!knownCapabilities)return null;for(i=0;i<feature.length;i++)if(knownCapabilities.features.indexOf(feature[i])<0)return!1;return!0}return!1},_delegateCapabilities:function(stanza){var from=stanza.getAttribute("from"),c=stanza.querySelector("c"),ver=c.getAttribute("ver"),node=c.getAttribute("node");return this._knownCapabilities[ver]?(this._jidVerIndex[from]=ver,this._jidVerIndex[from]&&!this._jidVerIndex[from]===ver||(this._jidVerIndex[from]=ver),localStorage.setItem("strophe.caps._jidVerIndex",JSON.stringify(this._jidVerIndex)),$(document).trigger("caps.strophe",[from,this._knownCapabilities[ver],ver]),!0):this._requestCapabilities(from,node,ver)},_requestCapabilities:function(to,node,ver){if(to!==this._connection.jid){var id=this._connection.disco.info(to,node+"#"+ver);this._connection.addHandler(this._handleDiscoInfoReply.bind(this),Strophe.NS.DISCO_INFO,"iq","result",id,to)}return!0},_handleDiscoInfoReply:function(stanza){var query=stanza.querySelector("query"),from=stanza.getAttribute("from"),node=query.getAttribute("node"),ver=node?node.split("#")[1]:this._jidVerIndex[from];if(this._knownCapabilities[ver])this._jidVerIndex[from]&&!this._jidVerIndex[from]===ver||(this._jidVerIndex[from]=ver);else{var childNodes=query.childNodes,childNodesLen=childNodes.length;this._knownCapabilities[ver]={features:[],identities:[]};for(var i=0;i<childNodesLen;i++){var node=childNodes[i];"feature"==node.nodeName?this._knownCapabilities[ver].features.push(node.getAttribute("var")):"identity"==node.nodeName?this._knownCapabilities[ver].identities.push(this._attributesToJsObject(node.attributes)):("undefined"==typeof this._knownCapabilities[ver][node.nodeName]&&(this._knownCapabilities[ver][node.nodeName]=[]),this._knownCapabilities[ver][node.nodeName].push(this._attributesToJsObject(node.attributes)))}this._jidVerIndex[from]=ver}return localStorage.setItem("strophe.caps._jidVerIndex",JSON.stringify(this._jidVerIndex)),localStorage.setItem("strophe.caps._knownCapabilities",JSON.stringify(this._knownCapabilities)),$(document).trigger("caps.strophe",[from,this._knownCapabilities[ver],ver]),!1},_attributesToJsObject:function(attr){var obj={};for(i=0;i<attr.length;i++)obj[attr[i].name]=attr[i].value;return obj},_sortIdentities:function(a,b){return a.category>b.category?1:a.category<b.category?-1:a.type>b.type?1:a.type<b.type?-1:a.lang>b.lang?1:a.lang<b.lang?-1:0}})}(jQuery),function(){var buildIq;buildIq=function(type,jid,vCardEl){var iq;return iq=$iq(jid?{type:type,to:jid}:{type:type}),iq.c("vCard",{xmlns:Strophe.NS.VCARD}),vCardEl&&iq.cnode(vCardEl),iq},Strophe.addConnectionPlugin("vcard",{_connection:null,init:function(conn){return this._connection=conn,Strophe.addNamespace("VCARD","vcard-temp")},get:function(handler_cb,jid,error_cb){var iq;return"function"==typeof jid&&(error_cb=jid,jid=null),iq=buildIq("get",jid),this._connection.sendIQ(iq,handler_cb,error_cb)},set:function(handler_cb,vCardEl,jid,error_cb){var iq;return iq=buildIq("set",jid,vCardEl),this._connection.sendIQ(iq,handler_cb,error_cb)}})}.call(this),Strophe.addConnectionPlugin("bookmarks",{init:function(connection){this.connection=connection,Strophe.addNamespace("PRIVATE","jabber:iq:private"),Strophe.addNamespace("BOOKMARKS","storage:bookmarks"),Strophe.addNamespace("PRIVACY","jabber:iq:privacy"),Strophe.addNamespace("DELAY","jabber:x:delay"),Strophe.addNamespace("PUBSUB","http://jabber.org/protocol/pubsub")},createBookmarksNode:function(success,error){return this.connection.sendIQ($iq({type:"set"}).c("pubsub",{xmlns:Strophe.NS.PUBSUB}).c("create",{node:"storage:bookmarks"}).up().c("configure").c("x",{xmlns:"jabber:x:data",type:"submit"}).c("field",{var:"FORM_TYPE",type:"hidden"}).c("value").t("http://jabber.org/protocol/pubsub#node_config").up().up().c("field",{var:"pubsub#persist_items"}).c("value").t("1").up().up().c("field",{var:"pubsub#access_model"}).c("value").t("whitelist"),success,error),!0},add:function(roomJid,alias,nick,autojoin,success,error){function bookmarkGroupChat(bookmarkit){if(bookmarkit){var conferenceAttr={jid:roomJid,autojoin:autojoin||!1};alias&&(conferenceAttr.name=alias),stanza.c("conference",conferenceAttr),nick&&stanza.c("nick").t(nick)}self.connection.sendIQ(stanza,success,error)}var self=this,stanza=$iq({type:"set"}).c("pubsub",{xmlns:Strophe.NS.PUBSUB}).c("publish",{node:Strophe.NS.BOOKMARKS}).c("item",{id:"current"}).c("storage",{xmlns:Strophe.NS.BOOKMARKS});self.get(function(s){for(var confs=s.getElementsByTagName("conference"),bookmarked=!1,i=0;i<confs.length;i++){var conferenceAttr={jid:confs[i].getAttribute("jid"),autojoin:confs[i].getAttribute("autojoin")||!1},roomName=confs[i].getAttribute("name"),nickname=confs[i].getElementsByTagName("nick");conferenceAttr.jid===roomJid?(bookmarked=!0,conferenceAttr.autojoin=autojoin||!1,alias&&(conferenceAttr.name=alias),stanza.c("conference",conferenceAttr),nick&&stanza.c("nick").t(nick).up()):(roomName&&(conferenceAttr.name=roomName),stanza.c("conference",conferenceAttr),1===nickname.length&&stanza.c("nick").t(nickname[0].innerHTML).up()),stanza.up()}bookmarkGroupChat(!bookmarked)},function(s){s.getElementsByTagName("item-not-found").length>0?bookmarkGroupChat(!0):error(s)})},get:function(success,error){this.connection.sendIQ($iq({type:"get"}).c("pubsub",{xmlns:Strophe.NS.PUBSUB}).c("items",{node:Strophe.NS.BOOKMARKS}),success,error)},delete:function(roomJid,success,error){var self=this,stanza=$iq({type:"set"}).c("pubsub",{xmlns:Strophe.NS.PUBSUB}).c("publish",{node:Strophe.NS.BOOKMARKS}).c("item",{id:"current"}).c("storage",{xmlns:Strophe.NS.BOOKMARKS});self.get(function(s){for(var confs=s.getElementsByTagName("conference"),i=0;i<confs.length;i++){var conferenceAttr={jid:confs[i].getAttribute("jid"),autojoin:confs[i].getAttribute("autojoin")||!1};if(conferenceAttr.jid!==roomJid){var roomName=confs[i].getAttribute("name");roomName&&(conferenceAttr.name=roomName),stanza.c("conference",conferenceAttr);var nickname=confs[i].getElementsByTagName("nick");1===nickname.length&&stanza.c("nick").t(nickname[0].innerHTML).up(),stanza.up()}}self.connection.sendIQ(stanza,success,error)},function(s){error(s)})}}),function(){var $field,$form,$item,$opt,Field,Form,Item,Option,helper,__slice=[].slice,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}},__indexOf=[].indexOf||function(item){for(var i=0,l=this.length;i<l;i++)if(i in this&&this[i]===item)return i;return-1};helper={fill:function(src,target,klass){var f,_i,_len,_results;for(_results=[],_i=0,_len=src.length;_i<_len;_i++)f=src[_i],_results.push(target.push(f instanceof klass?f:new klass(f)));return _results},createHtmlFieldCouple:function(f){var div,id;return div=$("<div>"),id="Strophe.x.Field-"+f.type+"-"+f.var,div.append("<label for='"+id+"'>"+(f.label||"")+"</label>").append($(f.toHTML()).attr("id",id)).append("<br />"),div.children()},getHtmlFields:function(html){return html=$(html),__slice.call(html.find("input")).concat(__slice.call(html.find("select")),__slice.call(html.find("textarea")))}},Form=function(){function Form(opt){this.toHTML=__bind(this.toHTML,this),this.toJSON=__bind(this.toJSON,this),this.toXML=__bind(this.toXML,this);var f,i,_i,_j,_len,_len1,_ref,_ref1,_ref2,_ref3;if(this.fields=[],this.items=[],this.reported=[],opt)if(_ref=opt.type,__indexOf.call(Form._types,_ref)>=0&&(this.type=opt.type),this.title=opt.title,this.instructions=opt.instructions,helper.fill=function(src,target,klass){var f,_i,_len,_results;for(_results=[],_i=0,_len=src.length;_i<_len;_i++)f=src[_i],_results.push(target.push(f instanceof klass?f:new klass(f)));return _results},opt.fields)opt.fields&&helper.fill(opt.fields,this.fields,Field);else if(opt.items)for(opt.items&&helper.fill(opt.items,this.items,Item),_ref1=this.items,_i=0,_len=_ref1.length;_i<_len;_i++)for(i=_ref1[_i],_ref2=i.fields,_j=0,_len1=_ref2.length;_j<_len1;_j++)f=_ref2[_j],_ref3=f.var,__indexOf.call(this.reported,_ref3)>=0||this.reported.push(f.var)}return Form._types=["form","submit","cancel","result"],Form.prototype.type="form",Form.prototype.title=null,Form.prototype.instructions=null,Form.prototype.toXML=function(){var f,i,r,xml,_i,_j,_k,_len,_len1,_len2,_ref,_ref1,_ref2;if(xml=$build("x",{xmlns:"jabber:x:data",type:this.type}),this.title&&xml.c("title").t(this.title.toString()).up(),this.instructions&&xml.c("instructions").t(this.instructions.toString()).up(),this.fields.length>0)for(_ref=this.fields,_i=0,_len=_ref.length;_i<_len;_i++)f=_ref[_i],xml.cnode(f.toXML()).up();else if(this.items.length>0){for(xml.c("reported"),_ref1=this.reported,_j=0,_len1=_ref1.length;_j<_len1;_j++)r=_ref1[_j],xml.c("field",{var:r}).up();for(xml.up(),_ref2=this.items,_k=0,_len2=_ref2.length;_k<_len2;_k++)i=_ref2[_k],xml.cnode(i.toXML()).up()}return xml.tree()},Form.prototype.toJSON=function(){var f,i,json,_i,_j,_len,_len1,_ref,_ref1;if(json={type:this.type},this.title&&(json.title=this.title),this.instructions&&(json.instructions=this.instructions),this.fields.length>0)for(json.fields=[],_ref=this.fields,_i=0,_len=_ref.length;_i<_len;_i++)f=_ref[_i],json.fields.push(f.toJSON());else if(this.items.length>0)for(json.items=[],json.reported=this.reported,_ref1=this.items,_j=0,_len1=_ref1.length;_j<_len1;_j++)i=_ref1[_j],json.items.push(i.toJSON());return json},Form.prototype.toHTML=function(){var f,form,i,_i,_j,_len,_len1,_ref,_ref1;if(form=$("<form data-type='"+this.type+"'>"),this.title&&form.append("<h1>"+this.title+"</h1>"),this.instructions&&form.append("<p>"+this.instructions+"</p>"),this.fields.length>0)for(_ref=this.fields,_i=0,_len=_ref.length;_i<_len;_i++)f=_ref[_i],helper.createHtmlFieldCouple(f).appendTo(form);else if(this.items.length>0)for(_ref1=this.items,_j=0,_len1=_ref1.length;_j<_len1;_j++)i=_ref1[_j],$(i.toHTML()).appendTo(form);return form[0]},Form.fromXML=function(xml){var f,fields,i,instr,items,j,r,reported,title;return xml=$(xml),f=new Form({type:xml.attr("type")}),title=xml.find("title"),1===title.length&&(f.title=title.text()),instr=xml.find("instructions"),1===instr.length&&(f.instructions=instr.text()),fields=xml.find("field"),items=xml.find("item"),items.length>0?f.items=function(){var _i,_len,_results;for(_results=[],_i=0,_len=items.length;_i<_len;_i++)i=items[_i],_results.push(Item.fromXML(i));return _results}():fields.length>0&&(f.fields=function(){var _i,_len,_results;for(_results=[],_i=0,_len=fields.length;_i<_len;_i++)j=fields[_i],_results.push(Field.fromXML(j));return _results}()),reported=xml.find("reported"),1===reported.length&&(fields=reported.find("field"),f.reported=function(){var _i,_len,_results;for(_results=[],_i=0,_len=fields.length;_i<_len;_i++)r=fields[_i],_results.push($(r).attr("var"));return _results}()),f},Form.fromHTML=function(html){var f,field,fields,i,instructions,item,items,j,title,_i,_j,_len,_len1,_ref,_ref1,_ref2;if(html=$(html),f=new Form({type:html.attr("data-type")}),title=html.find("h1").text(),title&&(f.title=title),instructions=html.find("p").text(),instructions&&(f.instructions=instructions),items=html.find("fieldset"),fields=helper.getHtmlFields(html),items.length>0)for(f.items=function(){var _i,_len,_results;for(_results=[],_i=0,_len=items.length;_i<_len;_i++)i=items[_i],_results.push(Item.fromHTML(i));return _results}(),_ref=f.items,_i=0,_len=_ref.length;_i<_len;_i++)for(item=_ref[_i],_ref1=item.fields,_j=0,_len1=_ref1.length;_j<_len1;_j++)field=_ref1[_j],_ref2=field.var,__indexOf.call(f.reported,_ref2)>=0||f.reported.push(field.var);else fields.length>0&&(f.fields=function(){var _k,_len2,_results;for(_results=[],_k=0,_len2=fields.length;_k<_len2;_k++)j=fields[_k],_results.push(Field.fromHTML(j));return _results}());return f},Form}(),Field=function(){function Field(opt){this.toHTML=__bind(this.toHTML,this),this.toXML=__bind(this.toXML,this),this.toJSON=__bind(this.toJSON,this),this.addOptions=__bind(this.addOptions,this),this.addOption=__bind(this.addOption,this),this.addValues=__bind(this.addValues,this),this.addValue=__bind(this.addValue,this);var _ref,_ref1;this.options=[],this.values=[],opt&&(_ref=opt.type,__indexOf.call(Field._types,_ref)>=0&&(this.type=opt.type.toString()),opt.desc&&(this.desc=opt.desc.toString()),opt.label&&(this.label=opt.label.toString()),this.var=(null!=(_ref1=opt.var)?_ref1.toString():void 0)||"_no_var_was_defined_",this.required=opt.required===!0||"true"===opt.required,opt.options&&this.addOptions(opt.options),opt.value&&(opt.values=[opt.value]),opt.values&&this.addValues(opt.values))}return Field._types=["boolean","fixed","hidden","jid-multi","jid-single","list-multi","list-single","text-multi","text-private","text-single"],Field._multiTypes=["list-multi","jid-multi","text-multi","hidden"],Field.prototype.type="text-single",Field.prototype.desc=null,Field.prototype.label=null,Field.prototype.var="_no_var_was_defined_",Field.prototype.required=!1,Field.prototype.addValue=function(val){return this.addValues([val])},Field.prototype.addValues=function(vals){var multi,v,_ref;return _ref=this.type,multi=__indexOf.call(Field._multiTypes,_ref)>=0,(multi||!multi&&1===vals.length)&&(this.values=__slice.call(this.values).concat(__slice.call(function(){var _i,_len,_results;for(_results=[],_i=0,_len=vals.length;_i<_len;_i++)v=vals[_i],_results.push(v.toString());return _results}()))),this},Field.prototype.addOption=function(opt){return this.addOptions([opt])},Field.prototype.addOptions=function(opts){var o;return"list-single"!==this.type&&"list-multi"!==this.type||("object"!=typeof opts[0]&&(opts=function(){var _i,_len,_results;for(_results=[],_i=0,_len=opts.length;_i<_len;_i++)o=opts[_i],_results.push(new Option({value:o.toString()}));return _results}()),helper.fill(opts,this.options,Option)),this},Field.prototype.toJSON=function(){var json,o,_i,_len,_ref;if(json={type:this.type,var:this.var,required:this.required},this.desc&&(json.desc=this.desc),this.label&&(json.label=this.label),this.values&&(json.values=this.values),this.options)for(json.options=[],_ref=this.options,_i=0,_len=_ref.length;_i<_len;_i++)o=_ref[_i],json.options.push(o.toJSON());return json},Field.prototype.toXML=function(){var attrs,o,v,xml,_i,_j,_len,_len1,_ref,_ref1;if(attrs={type:this.type,var:this.var},this.label&&(attrs.label=this.label),xml=$build("field",attrs),this.desc&&xml.c("desc").t(this.desc).up(),this.required&&xml.c("required").up(),this.values)for(_ref=this.values,_i=0,_len=_ref.length;_i<_len;_i++)v=_ref[_i],xml.c("value").t(v.toString()).up();if(this.options)for(_ref1=this.options,_j=0,_len1=_ref1.length;_j<_len1;_j++)o=_ref1[_j],xml.cnode(o.toXML()).up();return xml.tree()},Field.prototype.toHTML=function(){var el,k,line,o,opt,txt,val,_i,_j,_len,_len1,_ref,_ref1,_ref2;switch(this.type.toLowerCase()){case"list-single":case"list-multi":if(el=$("<select>"),"list-multi"===this.type&&el.attr("multiple","multiple"),this.options.length>0)for(_ref=this.options,_i=0,_len=_ref.length;_i<_len;_i++)if(opt=_ref[_i]){for(o=$(opt.toHTML()),_ref1=this.values,_j=0,_len1=_ref1.length;_j<_len1;_j++)k=_ref1[_j],k.toString()===opt.value.toString()&&o.attr("selected","selected");o.appendTo(el)}break;case"text-multi":case"jid-multi":el=$("<textarea>"),txt=function(){var _k,_len2,_ref2,_results;for(_ref2=this.values,_results=[],_k=0,_len2=_ref2.length;_k<_len2;_k++)line=_ref2[_k],_results.push(line);return _results}.call(this).join("\n"),txt&&el.text(txt);break;case"text-single":case"boolean":case"text-private":case"hidden":case"fixed":case"jid-single":switch(el=$("<input>"),this.values&&el.val(this.values[0]),this.type.toLowerCase()){case"text-single":el.attr("type","text"),el.attr("placeholder",this.desc);break;case"boolean":el.attr("type","checkbox"),val=null!=(_ref2=this.values[0])&&"function"==typeof _ref2.toString?_ref2.toString():void 0,!val||"true"!==val&&"1"!==val||el.attr("checked","checked");break;case"text-private":el.attr("type","password");break;case"hidden":el.attr("type","hidden");break;case"fixed":el.attr("type","text").attr("readonly","readonly");break;case"jid-single":el.attr("type","email")}break;default:el=$("<input type='text'>")}return el.attr("name",this.var),this.required&&el.attr("required",this.required),el[0]},Field.fromXML=function(xml){var o,v;return xml=$(xml),new Field({type:xml.attr("type"),var:xml.attr("var"),label:xml.attr("label"),desc:xml.find("desc").text(),required:1===xml.find("required").length,values:function(){var _i,_len,_ref,_results;for(_ref=xml.find(">value"),_results=[],_i=0,_len=_ref.length;_i<_len;_i++)v=_ref[_i],_results.push($(v).text());return _results}(),options:function(){var _i,_len,_ref,_results;for(_ref=xml.find("option"),_results=[],_i=0,_len=_ref.length;_i<_len;_i++)o=_ref[_i],_results.push(Option.fromXML(o));return _results}()})},Field._htmlElementToFieldType=function(el){var r,type;switch(el=$(el),el[0].nodeName.toLowerCase()){case"textarea":type="text-multi";break;case"select":type="multiple"===el.attr("multiple")?"list-multi":"list-single";break;case"input":switch(el.attr("type")){case"checkbox":type="boolean";break;case"email":type="jid-single";break;case"hidden":type="hidden";break;case"password":type="text-private";break;case"text":r="readonly"===el.attr("readonly"),type=r?"fixed":"text-single"}}return type},Field.fromHTML=function(html){var el,f,txt,type;switch(html=$(html),type=Field._htmlElementToFieldType(html),f=new Field({type:type,var:html.attr("name"),required:"required"===html.attr("required")}),type){case"list-multi":case"list-single":f.values=function(){var _i,_len,_ref,_results;for(_ref=html.find("option:selected"),_results=[],_i=0,_len=_ref.length;_i<_len;_i++)el=_ref[_i],_results.push($(el).val());return _results}(),f.options=function(){var _i,_len,_ref,_results;for(_ref=html.find("option"),_results=[],_i=0,_len=_ref.length;_i<_len;_i++)el=_ref[_i],_results.push(Option.fromHTML(el));return _results}();break;case"text-multi":case"jid-multi":txt=html.text(),""!==txt.trim()&&(f.values=txt.split("\n"));break;case"text-single":case"boolean":case"text-private":case"hidden":case"fixed":case"jid-single":""!==html.val().trim()&&(f.values=[html.val()])}return f},Field}(),Option=function(){function Option(opt){this.toHTML=__bind(this.toHTML,this),this.toJSON=__bind(this.toJSON,this),this.toXML=__bind(this.toXML,this),opt&&(opt.label&&(this.label=opt.label.toString()),opt.value&&(this.value=opt.value.toString()))}return Option.prototype.label="",Option.prototype.value="",Option.prototype.toXML=function(){return $build("option",{label:this.label}).c("value").t(this.value.toString()).tree()},Option.prototype.toJSON=function(){return{label:this.label,value:this.value}},Option.prototype.toHTML=function(){return $("<option>").attr("value",this.value).text(this.label||this.value)[0]},Option.fromXML=function(xml){return new Option({label:$(xml).attr("label"),value:$(xml).text()})},Option.fromHTML=function(html){return new Option({value:$(html).attr("value"),label:$(html).text()})},Option}(),Item=function(){function Item(opts){this.toHTML=__bind(this.toHTML,this),this.toJSON=__bind(this.toJSON,this),this.toXML=__bind(this.toXML,this),this.fields=[],(null!=opts?opts.fields:void 0)&&helper.fill(opts.fields,this.fields,Field)}return Item.prototype.toXML=function(){var f,xml,_i,_len,_ref;for(xml=$build("item"),_ref=this.fields,_i=0,_len=_ref.length;_i<_len;_i++)f=_ref[_i],xml.cnode(f.toXML()).up();return xml.tree()},Item.prototype.toJSON=function(){var f,json,_i,_len,_ref;if(json={},this.fields)for(json.fields=[],_ref=this.fields,_i=0,_len=_ref.length;_i<_len;_i++)f=_ref[_i],json.fields.push(f.toJSON());return json},Item.prototype.toHTML=function(){var f,fieldset,_i,_len,_ref;for(fieldset=$("<fieldset>"),_ref=this.fields,_i=0,_len=_ref.length;_i<_len;_i++)f=_ref[_i],helper.createHtmlFieldCouple(f).appendTo(fieldset);return fieldset[0]},Item.fromXML=function(xml){var f,fields;return xml=$(xml),fields=xml.find("field"),new Item({fields:function(){var _i,_len,_results;for(_results=[],_i=0,_len=fields.length;_i<_len;_i++)f=fields[_i],_results.push(Field.fromXML(f));return _results}()})},Item.fromHTML=function(html){var f;return new Item({fields:function(){var _i,_len,_ref,_results;for(_ref=helper.getHtmlFields(html),_results=[],_i=0,_len=_ref.length;_i<_len;_i++)f=_ref[_i],_results.push(Field.fromHTML(f));return _results}()})},Item}(),Strophe.x={Form:Form,Field:Field,Option:Option,Item:Item},$form=function(opt){return new Strophe.x.Form(opt)},$field=function(opt){return new Strophe.x.Field(opt)},$opt=function(opt){return new Strophe.x.Option(opt)},$item=function(opts){return new Strophe.x.Item(opts)},Strophe.addConnectionPlugin("x",{init:function(conn){var _ref,_ref1;if(Strophe.addNamespace("DATA","jabber:x:data"),null!=(null!=(_ref=conn.disco)?_ref.addFeature:void 0)&&conn.disco.addFeature(Strophe.NS.DATA),null!=(null!=(_ref1=conn.disco)?_ref1.addNode:void 0))return conn.disco.addNode(Strophe.NS.DATA,{items:[]})},parseFromResult:function(result){var _ref;return"x"===result.nodeName.toLowerCase()?Form.fromXML(result):Form.fromXML(null!=(_ref=$(result).find("x"))?_ref[0]:void 0)}})}.call(this),Strophe.addConnectionPlugin("chatstates",{init:function(connection){this._connection=connection,Strophe.addNamespace("CHATSTATES","http://jabber.org/protocol/chatstates")},statusChanged:function(status){status!==Strophe.Status.CONNECTED&&status!==Strophe.Status.ATTACHED||this._connection.addHandler(this._notificationReceived.bind(this),Strophe.NS.CHATSTATES,"message")},addActive:function(message){return message.c("active",{xmlns:Strophe.NS.CHATSTATES}).up()},_notificationReceived:function(message){var composing=$(message).find("composing"),paused=$(message).find("paused"),active=$(message).find("active"),jid=$(message).attr("from");return composing.length>0&&$(document).trigger("composing.chatstates",jid),paused.length>0&&$(document).trigger("paused.chatstates",jid),active.length>0&&$(document).trigger("active.chatstates",jid),!0},sendActive:function(jid,type){this._sendNotification(jid,type,"active")},sendComposing:function(jid,type){this._sendNotification(jid,type,"composing")},sendPaused:function(jid,type){this._sendNotification(jid,type,"paused")},_sendNotification:function(jid,type,notification){type||(type="chat"),this._connection.send($msg({to:jid,type:type}).c(notification,{xmlns:Strophe.NS.CHATSTATES}))}}),function(){"use strict";Strophe.addConnectionPlugin("mam",{_c:null,_p:["with","start","end"],init:function(conn){this._c=conn,Strophe.addNamespace("MAM","urn:xmpp:mam:2")},query:function(jid,options){var _p=this._p,attr={type:"set",to:jid};options=options||{};var mamAttr={xmlns:Strophe.NS.MAM};options.queryid&&(mamAttr.queryid=options.queryid,delete options.queryid);var iq=$iq(attr).c("query",mamAttr).c("x",{xmlns:"jabber:x:data",type:"submit"});iq.c("field",{var:"FORM_TYPE",type:"hidden"}).c("value").t(Strophe.NS.MAM).up().up();var i;for(i=0;i<this._p.length;i++){var pn=_p[i],p=options[pn];delete options[pn],p&&iq.c("field",{var:pn}).c("value").t(p).up().up()}iq.up();var onMessage=options.onMessage;delete options.onMessage;var onComplete=options.onComplete;delete options.onComplete,iq.cnode(new Strophe.RSM(options).toXML());var _c=this._c,handler=_c.addHandler(onMessage,Strophe.NS.MAM,"message",null);return this._c.sendIQ(iq,function(){_c.deleteHandler(handler),onComplete.apply(this,arguments)})}})}(),function(root,factory){"function"==typeof define&&define.amd?define("strophe.rsm",["strophe"],function(Strophe){return factory(Strophe.Strophe,Strophe.$build,Strophe.$iq,Strophe.$msg,Strophe.$pres),Strophe}):factory(root.Strophe,root.$build,root.$iq,root.$msg,root.$pres)}(this,function(Strophe,$build,$iq,$msg,$pres){Strophe.addNamespace("RSM","http://jabber.org/protocol/rsm"),Strophe.RSM=function(options){if(this.attribs=["max","first","last","after","before","index","count"],"undefined"!=typeof options.xml)this.fromXMLElement(options.xml);else for(var ii=0;ii<this.attribs.length;ii++){var attrib=this.attribs[ii];this[attrib]=options[attrib]}},Strophe.RSM.prototype={toXML:function(){for(var xml=$build("set",{xmlns:Strophe.NS.RSM}),ii=0;ii<this.attribs.length;ii++){var attrib=this.attribs[ii];"undefined"!=typeof this[attrib]&&(xml=xml.c(attrib).t(this[attrib].toString()).up())}return xml.tree()},next:function(max){var newSet=new Strophe.RSM({max:max,after:this.last});return newSet},previous:function(max){var newSet=new Strophe.RSM({max:max,before:this.first});return newSet},fromXMLElement:function(xmlElement){for(var ii=0;ii<this.attribs.length;ii++){var attrib=this.attribs[ii],elem=xmlElement.getElementsByTagName(attrib)[0];"undefined"!=typeof elem&&null!==elem&&(this[attrib]=Strophe.getText(elem),"first"==attrib&&(this.index=elem.getAttribute("index")))}}}}),/*!
+ * strophe.jinglejs v0.2.0 - 2017-03-02
*
* Copyright (c) 2017 Klaus Herberth <klaus@jsxc.org> <br>
* Released under the MIT license
@@ -21,7 +21,7 @@ function($){Strophe.addConnectionPlugin("caps",{HASH:"sha-1",node:"http://stroph
* Please see https://github.com/sualko/strophe.jinglejs/
*
* @author Klaus Herberth <klaus@jsxc.org>
- * @version 0.1.2
+ * @version 0.2.0
* @license MIT
*/
function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){module.exports={default:require("core-js/library/fn/object/assign"),__esModule:!0}},{"core-js/library/fn/object/assign":8}],2:[function(require,module,exports){"use strict";exports.default=function(obj){return obj&&obj.__esModule?obj:{default:obj}},exports.__esModule=!0},{}],3:[function(require,module,exports){"use strict";function placeHoldersCount(b64){var len=b64.length;if(len%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===b64[len-2]?2:"="===b64[len-1]?1:0}function byteLength(b64){return 3*b64.length/4-placeHoldersCount(b64)}function toByteArray(b64){var i,j,l,tmp,placeHolders,arr,len=b64.length;placeHolders=placeHoldersCount(b64),arr=new Arr(3*len/4-placeHolders),l=placeHolders>0?len-4:len;var L=0;for(i=0,j=0;i<l;i+=4,j+=3)tmp=revLookup[b64.charCodeAt(i)]<<18|revLookup[b64.charCodeAt(i+1)]<<12|revLookup[b64.charCodeAt(i+2)]<<6|revLookup[b64.charCodeAt(i+3)],arr[L++]=tmp>>16&255,arr[L++]=tmp>>8&255,arr[L++]=255&tmp;return 2===placeHolders?(tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4,arr[L++]=255&tmp):1===placeHolders&&(tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2,arr[L++]=tmp>>8&255,arr[L++]=255&tmp),arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[63&num]}function encodeChunk(uint8,start,end){for(var tmp,output=[],i=start;i<end;i+=3)tmp=(uint8[i]<<16)+(uint8[i+1]<<8)+uint8[i+2],output.push(tripletToBase64(tmp));return output.join("")}function fromByteArray(uint8){for(var tmp,len=uint8.length,extraBytes=len%3,output="",parts=[],maxChunkLength=16383,i=0,len2=len-extraBytes;i<len2;i+=maxChunkLength)parts.push(encodeChunk(uint8,i,i+maxChunkLength>len2?len2:i+maxChunkLength));return 1===extraBytes?(tmp=uint8[len-1],output+=lookup[tmp>>2],output+=lookup[tmp<<4&63],output+="=="):2===extraBytes&&(tmp=(uint8[len-2]<<8)+uint8[len-1],output+=lookup[tmp>>10],output+=lookup[tmp>>4&63],output+=lookup[tmp<<2&63],output+="="),parts.push(output),parts.join("")}exports.byteLength=byteLength,exports.toByteArray=toByteArray,exports.fromByteArray=fromByteArray;for(var lookup=[],revLookup=[],Arr="undefined"!=typeof Uint8Array?Uint8Array:Array,code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,len=code.length;i<len;++i)lookup[i]=code[i],revLookup[code.charCodeAt(i)]=i;revLookup["-".charCodeAt(0)]=62,revLookup["_".charCodeAt(0)]=63},{}],4:[function(require,module,exports){},{}],5:[function(require,module,exports){(function(global){"use strict";var buffer=require("buffer"),Buffer=buffer.Buffer,SlowBuffer=buffer.SlowBuffer,MAX_LEN=buffer.kMaxLength||2147483647;exports.alloc=function(size,fill,encoding){if("function"==typeof Buffer.alloc)return Buffer.alloc(size,fill,encoding);if("number"==typeof encoding)throw new TypeError("encoding must not be number");if("number"!=typeof size)throw new TypeError("size must be a number");if(size>MAX_LEN)throw new RangeError("size is too large");var enc=encoding,_fill=fill;void 0===_fill&&(enc=void 0,_fill=0);var buf=new Buffer(size);if("string"==typeof _fill)for(var fillBuf=new Buffer(_fill,enc),flen=fillBuf.length,i=-1;++i<size;)buf[i]=fillBuf[i%flen];else buf.fill(_fill);return buf},exports.allocUnsafe=function(size){if("function"==typeof Buffer.allocUnsafe)return Buffer.allocUnsafe(size);if("number"!=typeof size)throw new TypeError("size must be a number");if(size>MAX_LEN)throw new RangeError("size is too large");return new Buffer(size)},exports.from=function(value,encodingOrOffset,length){if("function"==typeof Buffer.from&&(!global.Uint8Array||Uint8Array.from!==Buffer.from))return Buffer.from(value,encodingOrOffset,length);if("number"==typeof value)throw new TypeError('"value" argument must not be a number');if("string"==typeof value)return new Buffer(value,encodingOrOffset);if("undefined"!=typeof ArrayBuffer&&value instanceof ArrayBuffer){var offset=encodingOrOffset;if(1===arguments.length)return new Buffer(value);"undefined"==typeof offset&&(offset=0);var len=length;if("undefined"==typeof len&&(len=value.byteLength-offset),offset>=value.byteLength)throw new RangeError("'offset' is out of bounds");if(len>value.byteLength-offset)throw new RangeError("'length' is out of bounds");return new Buffer(value.slice(offset,offset+len))}if(Buffer.isBuffer(value)){var out=new Buffer(value.length);return value.copy(out,0,0,value.length),out}if(value){if(Array.isArray(value)||"undefined"!=typeof ArrayBuffer&&value.buffer instanceof ArrayBuffer||"length"in value)return new Buffer(value);if("Buffer"===value.type&&Array.isArray(value.data))return new Buffer(value.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")},exports.allocUnsafeSlow=function(size){if("function"==typeof Buffer.allocUnsafeSlow)return Buffer.allocUnsafeSlow(size);if("number"!=typeof size)throw new TypeError("size must be a number");if(size>=MAX_LEN)throw new RangeError("size is too large");return new SlowBuffer(size)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{buffer:6}],6:[function(require,module,exports){(function(global){/*!
@@ -31,23 +31,23 @@ function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof r
* @license MIT
*/
"use strict";function typedArraySupport(){try{var arr=new Uint8Array(1);return arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===arr.foo()&&"function"==typeof arr.subarray&&0===arr.subarray(1,1).byteLength}catch(e){return!1}}function kMaxLength(){return Buffer.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function createBuffer(that,length){if(kMaxLength()<length)throw new RangeError("Invalid typed array length");return Buffer.TYPED_ARRAY_SUPPORT?(that=new Uint8Array(length),that.__proto__=Buffer.prototype):(null===that&&(that=new Buffer(length)),that.length=length),that}function Buffer(arg,encodingOrOffset,length){if(!(Buffer.TYPED_ARRAY_SUPPORT||this instanceof Buffer))return new Buffer(arg,encodingOrOffset,length);if("number"==typeof arg){if("string"==typeof encodingOrOffset)throw new Error("If encoding is specified then the first argument must be a string");return allocUnsafe(this,arg)}return from(this,arg,encodingOrOffset,length)}function from(that,value,encodingOrOffset,length){if("number"==typeof value)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&value instanceof ArrayBuffer?fromArrayBuffer(that,value,encodingOrOffset,length):"string"==typeof value?fromString(that,value,encodingOrOffset):fromObject(that,value)}function assertSize(size){if("number"!=typeof size)throw new TypeError('"size" argument must be a number');if(size<0)throw new RangeError('"size" argument must not be negative')}function alloc(that,size,fill,encoding){return assertSize(size),size<=0?createBuffer(that,size):void 0!==fill?"string"==typeof encoding?createBuffer(that,size).fill(fill,encoding):createBuffer(that,size).fill(fill):createBuffer(that,size)}function allocUnsafe(that,size){if(assertSize(size),that=createBuffer(that,size<0?0:0|checked(size)),!Buffer.TYPED_ARRAY_SUPPORT)for(var i=0;i<size;++i)that[i]=0;return that}function fromString(that,string,encoding){if("string"==typeof encoding&&""!==encoding||(encoding="utf8"),!Buffer.isEncoding(encoding))throw new TypeError('"encoding" must be a valid string encoding');var length=0|byteLength(string,encoding);that=createBuffer(that,length);var actual=that.write(string,encoding);return actual!==length&&(that=that.slice(0,actual)),that}function fromArrayLike(that,array){var length=array.length<0?0:0|checked(array.length);that=createBuffer(that,length);for(var i=0;i<length;i+=1)that[i]=255&array[i];return that}function fromArrayBuffer(that,array,byteOffset,length){if(array.byteLength,byteOffset<0||array.byteLength<byteOffset)throw new RangeError("'offset' is out of bounds");if(array.byteLength<byteOffset+(length||0))throw new RangeError("'length' is out of bounds");return array=void 0===byteOffset&&void 0===length?new Uint8Array(array):void 0===length?new Uint8Array(array,byteOffset):new Uint8Array(array,byteOffset,length),Buffer.TYPED_ARRAY_SUPPORT?(that=array,that.__proto__=Buffer.prototype):that=fromArrayLike(that,array),that}function fromObject(that,obj){if(Buffer.isBuffer(obj)){var len=0|checked(obj.length);return that=createBuffer(that,len),0===that.length?that:(obj.copy(that,0,0,len),that)}if(obj){if("undefined"!=typeof ArrayBuffer&&obj.buffer instanceof ArrayBuffer||"length"in obj)return"number"!=typeof obj.length||isnan(obj.length)?createBuffer(that,0):fromArrayLike(that,obj);if("Buffer"===obj.type&&isArray(obj.data))return fromArrayLike(that,obj.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function checked(length){if(length>=kMaxLength())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+kMaxLength().toString(16)+" bytes");return 0|length}function SlowBuffer(length){return+length!=length&&(length=0),Buffer.alloc(+length)}function byteLength(string,encoding){if(Buffer.isBuffer(string))return string.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(string)||string instanceof ArrayBuffer))return string.byteLength;"string"!=typeof string&&(string=""+string);var len=string.length;if(0===len)return 0;for(var loweredCase=!1;;)switch(encoding){case"ascii":case"latin1":case"binary":return len;case"utf8":case"utf-8":case void 0:return utf8ToBytes(string).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*len;case"hex":return len>>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase)return utf8ToBytes(string).length;encoding=(""+encoding).toLowerCase(),loweredCase=!0}}function slowToString(encoding,start,end){var loweredCase=!1;if((void 0===start||start<0)&&(start=0),start>this.length)return"";if((void 0===end||end>this.length)&&(end=this.length),end<=0)return"";if(end>>>=0,start>>>=0,end<=start)return"";for(encoding||(encoding="utf8");;)switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase(),loweredCase=!0}}function swap(b,n,m){var i=b[n];b[n]=b[m],b[m]=i}function bidirectionalIndexOf(buffer,val,byteOffset,encoding,dir){if(0===buffer.length)return-1;if("string"==typeof byteOffset?(encoding=byteOffset,byteOffset=0):byteOffset>2147483647?byteOffset=2147483647:byteOffset<-2147483648&&(byteOffset=-2147483648),byteOffset=+byteOffset,isNaN(byteOffset)&&(byteOffset=dir?0:buffer.length-1),byteOffset<0&&(byteOffset=buffer.length+byteOffset),byteOffset>=buffer.length){if(dir)return-1;byteOffset=buffer.length-1}else if(byteOffset<0){if(!dir)return-1;byteOffset=0}if("string"==typeof val&&(val=Buffer.from(val,encoding)),Buffer.isBuffer(val))return 0===val.length?-1:arrayIndexOf(buffer,val,byteOffset,encoding,dir);if("number"==typeof val)return val&=255,Buffer.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?dir?Uint8Array.prototype.indexOf.call(buffer,val,byteOffset):Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset):arrayIndexOf(buffer,[val],byteOffset,encoding,dir);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){function read(buf,i){return 1===indexSize?buf[i]:buf.readUInt16BE(i*indexSize)}var indexSize=1,arrLength=arr.length,valLength=val.length;if(void 0!==encoding&&(encoding=String(encoding).toLowerCase(),"ucs2"===encoding||"ucs-2"===encoding||"utf16le"===encoding||"utf-16le"===encoding)){if(arr.length<2||val.length<2)return-1;indexSize=2,arrLength/=2,valLength/=2,byteOffset/=2}var i;if(dir){var foundIndex=-1;for(i=byteOffset;i<arrLength;i++)if(read(arr,i)===read(val,foundIndex===-1?0:i-foundIndex)){if(foundIndex===-1&&(foundIndex=i),i-foundIndex+1===valLength)return foundIndex*indexSize}else foundIndex!==-1&&(i-=i-foundIndex),foundIndex=-1}else for(byteOffset+valLength>arrLength&&(byteOffset=arrLength-valLength),i=byteOffset;i>=0;i--){for(var found=!0,j=0;j<valLength;j++)if(read(arr,i+j)!==read(val,j)){found=!1;break}if(found)return i}return-1}function hexWrite(buf,string,offset,length){offset=Number(offset)||0;var remaining=buf.length-offset;length?(length=Number(length),length>remaining&&(length=remaining)):length=remaining;var strLen=string.length;if(strLen%2!==0)throw new TypeError("Invalid hex string");length>strLen/2&&(length=strLen/2);for(var i=0;i<length;++i){var parsed=parseInt(string.substr(2*i,2),16);if(isNaN(parsed))return i;buf[offset+i]=parsed}return i}function utf8Write(buf,string,offset,length){return blitBuffer(utf8ToBytes(string,buf.length-offset),buf,offset,length)}function asciiWrite(buf,string,offset,length){return blitBuffer(asciiToBytes(string),buf,offset,length)}function latin1Write(buf,string,offset,length){return asciiWrite(buf,string,offset,length)}function base64Write(buf,string,offset,length){return blitBuffer(base64ToBytes(string),buf,offset,length)}function ucs2Write(buf,string,offset,length){return blitBuffer(utf16leToBytes(string,buf.length-offset),buf,offset,length)}function base64Slice(buf,start,end){return 0===start&&end===buf.length?base64.fromByteArray(buf):base64.fromByteArray(buf.slice(start,end))}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);for(var res=[],i=start;i<end;){var firstByte=buf[i],codePoint=null,bytesPerSequence=firstByte>239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:firstByte<128&&(codePoint=firstByte);break;case 2:secondByte=buf[i+1],128===(192&secondByte)&&(tempCodePoint=(31&firstByte)<<6|63&secondByte,tempCodePoint>127&&(codePoint=tempCodePoint));break;case 3:secondByte=buf[i+1],thirdByte=buf[i+2],128===(192&secondByte)&&128===(192&thirdByte)&&(tempCodePoint=(15&firstByte)<<12|(63&secondByte)<<6|63&thirdByte,tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)&&(codePoint=tempCodePoint));break;case 4:secondByte=buf[i+1],thirdByte=buf[i+2],fourthByte=buf[i+3],128===(192&secondByte)&&128===(192&thirdByte)&&128===(192&fourthByte)&&(tempCodePoint=(15&firstByte)<<18|(63&secondByte)<<12|(63&thirdByte)<<6|63&fourthByte,tempCodePoint>65535&&tempCodePoint<1114112&&(codePoint=tempCodePoint))}}null===codePoint?(codePoint=65533,bytesPerSequence=1):codePoint>65535&&(codePoint-=65536,res.push(codePoint>>>10&1023|55296),codePoint=56320|1023&codePoint),res.push(codePoint),i+=bytesPerSequence}return decodeCodePointsArray(res)}function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH)return String.fromCharCode.apply(String,codePoints);for(var res="",i=0;i<len;)res+=String.fromCharCode.apply(String,codePoints.slice(i,i+=MAX_ARGUMENTS_LENGTH));return res}function asciiSlice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;++i)ret+=String.fromCharCode(127&buf[i]);return ret}function latin1Slice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;++i)ret+=String.fromCharCode(buf[i]);return ret}function hexSlice(buf,start,end){var len=buf.length;(!start||start<0)&&(start=0),(!end||end<0||end>len)&&(end=len);for(var out="",i=start;i<end;++i)out+=toHex(buf[i]);return out}function utf16leSlice(buf,start,end){for(var bytes=buf.slice(start,end),res="",i=0;i<bytes.length;i+=2)res+=String.fromCharCode(bytes[i]+256*bytes[i+1]);return res}function checkOffset(offset,ext,length){if(offset%1!==0||offset<0)throw new RangeError("offset is not uint");if(offset+ext>length)throw new RangeError("Trying to access beyond buffer length")}function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||value<min)throw new RangeError('"value" argument is out of bounds');if(offset+ext>buf.length)throw new RangeError("Index out of range")}function objectWriteUInt16(buf,value,offset,littleEndian){value<0&&(value=65535+value+1);for(var i=0,j=Math.min(buf.length-offset,2);i<j;++i)buf[offset+i]=(value&255<<8*(littleEndian?i:1-i))>>>8*(littleEndian?i:1-i)}function objectWriteUInt32(buf,value,offset,littleEndian){value<0&&(value=4294967295+value+1);for(var i=0,j=Math.min(buf.length-offset,4);i<j;++i)buf[offset+i]=value>>>8*(littleEndian?i:3-i)&255}function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){return noAssert||checkIEEE754(buf,value,offset,4,3.4028234663852886e38,-3.4028234663852886e38),ieee754.write(buf,value,offset,littleEndian,23,4),offset+4}function writeDouble(buf,value,offset,littleEndian,noAssert){return noAssert||checkIEEE754(buf,value,offset,8,1.7976931348623157e308,-1.7976931348623157e308),ieee754.write(buf,value,offset,littleEndian,52,8),offset+8}function base64clean(str){if(str=stringtrim(str).replace(INVALID_BASE64_RE,""),str.length<2)return"";for(;str.length%4!==0;)str+="=";return str}function stringtrim(str){return str.trim?str.trim():str.replace(/^\s+|\s+$/g,"")}function toHex(n){return n<16?"0"+n.toString(16):n.toString(16)}function utf8ToBytes(string,units){units=units||1/0;for(var codePoint,length=string.length,leadSurrogate=null,bytes=[],i=0;i<length;++i){if(codePoint=string.charCodeAt(i),codePoint>55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){(units-=3)>-1&&bytes.push(239,191,189);continue}if(i+1===length){(units-=3)>-1&&bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){(units-=3)>-1&&bytes.push(239,191,189),leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else leadSurrogate&&(units-=3)>-1&&bytes.push(239,191,189);if(leadSurrogate=null,codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,63&codePoint|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,63&codePoint|128)}else{if(!(codePoint<1114112))throw new Error("Invalid code point");if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,63&codePoint|128)}}return bytes}function asciiToBytes(str){for(var byteArray=[],i=0;i<str.length;++i)byteArray.push(255&str.charCodeAt(i));return byteArray}function utf16leToBytes(str,units){for(var c,hi,lo,byteArray=[],i=0;i<str.length&&!((units-=2)<0);++i)c=str.charCodeAt(i),hi=c>>8,lo=c%256,byteArray.push(lo),byteArray.push(hi);return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i<length&&!(i+offset>=dst.length||i>=src.length);++i)dst[i+offset]=src[i];return i}function isnan(val){return val!==val}var base64=require("base64-js"),ieee754=require("ieee754"),isArray=require("isarray");exports.Buffer=Buffer,exports.SlowBuffer=SlowBuffer,exports.INSPECT_MAX_BYTES=50,Buffer.TYPED_ARRAY_SUPPORT=void 0!==global.TYPED_ARRAY_SUPPORT?global.TYPED_ARRAY_SUPPORT:typedArraySupport(),exports.kMaxLength=kMaxLength(),Buffer.poolSize=8192,Buffer._augment=function(arr){return arr.__proto__=Buffer.prototype,arr},Buffer.from=function(value,encodingOrOffset,length){return from(null,value,encodingOrOffset,length)},Buffer.TYPED_ARRAY_SUPPORT&&(Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&Buffer[Symbol.species]===Buffer&&Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:!0})),Buffer.alloc=function(size,fill,encoding){return alloc(null,size,fill,encoding)},Buffer.allocUnsafe=function(size){return allocUnsafe(null,size)},Buffer.allocUnsafeSlow=function(size){return allocUnsafe(null,size)},Buffer.isBuffer=function(b){return!(null==b||!b._isBuffer)},Buffer.compare=function(a,b){if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b))throw new TypeError("Arguments must be Buffers");if(a===b)return 0;for(var x=a.length,y=b.length,i=0,len=Math.min(x,y);i<len;++i)if(a[i]!==b[i]){x=a[i],y=b[i];break}return x<y?-1:y<x?1:0},Buffer.isEncoding=function(encoding){switch(String(encoding).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Buffer.concat=function(list,length){if(!isArray(list))throw new TypeError('"list" argument must be an Array of Buffers');if(0===list.length)return Buffer.alloc(0);var i;if(void 0===length)for(length=0,i=0;i<list.length;++i)length+=list[i].length;var buffer=Buffer.allocUnsafe(length),pos=0;for(i=0;i<list.length;++i){var buf=list[i];if(!Buffer.isBuffer(buf))throw new TypeError('"list" argument must be an Array of Buffers');buf.copy(buffer,pos),pos+=buf.length}return buffer},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function(){var len=this.length;if(len%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var i=0;i<len;i+=2)swap(this,i,i+1);return this},Buffer.prototype.swap32=function(){var len=this.length;if(len%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var i=0;i<len;i+=4)swap(this,i,i+3),swap(this,i+1,i+2);return this},Buffer.prototype.swap64=function(){var len=this.length;if(len%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var i=0;i<len;i+=8)swap(this,i,i+7),swap(this,i+1,i+6),swap(this,i+2,i+5),swap(this,i+3,i+4);return this},Buffer.prototype.toString=function(){var length=0|this.length;return 0===length?"":0===arguments.length?utf8Slice(this,0,length):slowToString.apply(this,arguments)},Buffer.prototype.equals=function(b){if(!Buffer.isBuffer(b))throw new TypeError("Argument must be a Buffer");return this===b||0===Buffer.compare(this,b)},Buffer.prototype.inspect=function(){var str="",max=exports.INSPECT_MAX_BYTES;return this.length>0&&(str=this.toString("hex",0,max).match(/.{2}/g).join(" "),this.length>max&&(str+=" ... ")),"<Buffer "+str+">"},Buffer.prototype.compare=function(target,start,end,thisStart,thisEnd){if(!Buffer.isBuffer(target))throw new TypeError("Argument must be a Buffer");if(void 0===start&&(start=0),void 0===end&&(end=target?target.length:0),void 0===thisStart&&(thisStart=0),void 0===thisEnd&&(thisEnd=this.length),start<0||end>target.length||thisStart<0||thisEnd>this.length)throw new RangeError("out of range index");if(thisStart>=thisEnd&&start>=end)return 0;if(thisStart>=thisEnd)return-1;if(start>=end)return 1;if(start>>>=0,end>>>=0,thisStart>>>=0,thisEnd>>>=0,this===target)return 0;for(var x=thisEnd-thisStart,y=end-start,len=Math.min(x,y),thisCopy=this.slice(thisStart,thisEnd),targetCopy=target.slice(start,end),i=0;i<len;++i)if(thisCopy[i]!==targetCopy[i]){x=thisCopy[i],y=targetCopy[i];break}return x<y?-1:y<x?1:0},Buffer.prototype.includes=function(val,byteOffset,encoding){return this.indexOf(val,byteOffset,encoding)!==-1},Buffer.prototype.indexOf=function(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,!0)},Buffer.prototype.lastIndexOf=function(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,!1)},Buffer.prototype.write=function(string,offset,length,encoding){if(void 0===offset)encoding="utf8",length=this.length,offset=0;else if(void 0===length&&"string"==typeof offset)encoding=offset,length=this.length,offset=0;else{if(!isFinite(offset))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");offset|=0,isFinite(length)?(length|=0,void 0===encoding&&(encoding="utf8")):(encoding=length,length=void 0)}var remaining=this.length-offset;if((void 0===length||length>remaining)&&(length=remaining),string.length>0&&(length<0||offset<0)||offset>this.length)throw new RangeError("Attempt to write outside buffer bounds");encoding||(encoding="utf8");for(var loweredCase=!1;;)switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase(),loweredCase=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var MAX_ARGUMENTS_LENGTH=4096;Buffer.prototype.slice=function(start,end){var len=this.length;start=~~start,end=void 0===end?len:~~end,start<0?(start+=len,start<0&&(start=0)):start>len&&(start=len),end<0?(end+=len,end<0&&(end=0)):end>len&&(end=len),end<start&&(end=start);var newBuf;if(Buffer.TYPED_ARRAY_SUPPORT)newBuf=this.subarray(start,end),newBuf.__proto__=Buffer.prototype;else{var sliceLen=end-start;newBuf=new Buffer(sliceLen,void 0);for(var i=0;i<sliceLen;++i)newBuf[i]=this[i+start]}return newBuf},Buffer.prototype.readUIntLE=function(offset,byteLength,noAssert){offset|=0,byteLength|=0,noAssert||checkOffset(offset,byteLength,this.length);for(var val=this[offset],mul=1,i=0;++i<byteLength&&(mul*=256);)val+=this[offset+i]*mul;return val},Buffer.prototype.readUIntBE=function(offset,byteLength,noAssert){offset|=0,byteLength|=0,noAssert||checkOffset(offset,byteLength,this.length);for(var val=this[offset+--byteLength],mul=1;byteLength>0&&(mul*=256);)val+=this[offset+--byteLength]*mul;return val},Buffer.prototype.readUInt8=function(offset,noAssert){return noAssert||checkOffset(offset,1,this.length),this[offset]},Buffer.prototype.readUInt16LE=function(offset,noAssert){return noAssert||checkOffset(offset,2,this.length),this[offset]|this[offset+1]<<8},Buffer.prototype.readUInt16BE=function(offset,noAssert){return noAssert||checkOffset(offset,2,this.length),this[offset]<<8|this[offset+1]},Buffer.prototype.readUInt32LE=function(offset,noAssert){return noAssert||checkOffset(offset,4,this.length),(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+16777216*this[offset+3]},Buffer.prototype.readUInt32BE=function(offset,noAssert){return noAssert||checkOffset(offset,4,this.length),16777216*this[offset]+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])},Buffer.prototype.readIntLE=function(offset,byteLength,noAssert){offset|=0,byteLength|=0,noAssert||checkOffset(offset,byteLength,this.length);for(var val=this[offset],mul=1,i=0;++i<byteLength&&(mul*=256);)val+=this[offset+i]*mul;return mul*=128,val>=mul&&(val-=Math.pow(2,8*byteLength)),val},Buffer.prototype.readIntBE=function(offset,byteLength,noAssert){offset|=0,byteLength|=0,noAssert||checkOffset(offset,byteLength,this.length);for(var i=byteLength,mul=1,val=this[offset+--i];i>0&&(mul*=256);)val+=this[offset+--i]*mul;return mul*=128,val>=mul&&(val-=Math.pow(2,8*byteLength)),val},Buffer.prototype.readInt8=function(offset,noAssert){return noAssert||checkOffset(offset,1,this.length),128&this[offset]?(255-this[offset]+1)*-1:this[offset]},Buffer.prototype.readInt16LE=function(offset,noAssert){noAssert||checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return 32768&val?4294901760|val:val},Buffer.prototype.readInt16BE=function(offset,noAssert){noAssert||checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return 32768&val?4294901760|val:val},Buffer.prototype.readInt32LE=function(offset,noAssert){return noAssert||checkOffset(offset,4,this.length),this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24},Buffer.prototype.readInt32BE=function(offset,noAssert){return noAssert||checkOffset(offset,4,this.length),this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]},Buffer.prototype.readFloatLE=function(offset,noAssert){return noAssert||checkOffset(offset,4,this.length),ieee754.read(this,offset,!0,23,4)},Buffer.prototype.readFloatBE=function(offset,noAssert){return noAssert||checkOffset(offset,4,this.length),ieee754.read(this,offset,!1,23,4)},Buffer.prototype.readDoubleLE=function(offset,noAssert){return noAssert||checkOffset(offset,8,this.length),ieee754.read(this,offset,!0,52,8)},Buffer.prototype.readDoubleBE=function(offset,noAssert){return noAssert||checkOffset(offset,8,this.length),ieee754.read(this,offset,!1,52,8)},Buffer.prototype.writeUIntLE=function(value,offset,byteLength,noAssert){if(value=+value,offset|=0,byteLength|=0,!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1,i=0;for(this[offset]=255&value;++i<byteLength&&(mul*=256);)this[offset+i]=value/mul&255;return offset+byteLength},Buffer.prototype.writeUIntBE=function(value,offset,byteLength,noAssert){if(value=+value,offset|=0,byteLength|=0,!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var i=byteLength-1,mul=1;for(this[offset+i]=255&value;--i>=0&&(mul*=256);)this[offset+i]=value/mul&255;return offset+byteLength},Buffer.prototype.writeUInt8=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,1,255,0),Buffer.TYPED_ARRAY_SUPPORT||(value=Math.floor(value)),this[offset]=255&value,offset+1},Buffer.prototype.writeUInt16LE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,2,65535,0),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=255&value,this[offset+1]=value>>>8):objectWriteUInt16(this,value,offset,!0),offset+2},Buffer.prototype.writeUInt16BE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,2,65535,0),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=value>>>8,this[offset+1]=255&value):objectWriteUInt16(this,value,offset,!1),offset+2},Buffer.prototype.writeUInt32LE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[offset+3]=value>>>24,this[offset+2]=value>>>16,this[offset+1]=value>>>8,this[offset]=255&value):objectWriteUInt32(this,value,offset,!0),offset+4},Buffer.prototype.writeUInt32BE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=255&value):objectWriteUInt32(this,value,offset,!1),offset+4},Buffer.prototype.writeIntLE=function(value,offset,byteLength,noAssert){if(value=+value,offset|=0,!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0,mul=1,sub=0;for(this[offset]=255&value;++i<byteLength&&(mul*=256);)value<0&&0===sub&&0!==this[offset+i-1]&&(sub=1),this[offset+i]=(value/mul>>0)-sub&255;return offset+byteLength},Buffer.prototype.writeIntBE=function(value,offset,byteLength,noAssert){if(value=+value,offset|=0,!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1,mul=1,sub=0;for(this[offset+i]=255&value;--i>=0&&(mul*=256);)value<0&&0===sub&&0!==this[offset+i+1]&&(sub=1),this[offset+i]=(value/mul>>0)-sub&255;return offset+byteLength},Buffer.prototype.writeInt8=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,1,127,-128),Buffer.TYPED_ARRAY_SUPPORT||(value=Math.floor(value)),value<0&&(value=255+value+1),this[offset]=255&value,offset+1},Buffer.prototype.writeInt16LE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=255&value,this[offset+1]=value>>>8):objectWriteUInt16(this,value,offset,!0),offset+2},Buffer.prototype.writeInt16BE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=value>>>8,this[offset+1]=255&value):objectWriteUInt16(this,value,offset,!1),offset+2},Buffer.prototype.writeInt32LE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,4,2147483647,-2147483648),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=255&value,this[offset+1]=value>>>8,this[offset+2]=value>>>16,this[offset+3]=value>>>24):objectWriteUInt32(this,value,offset,!0),offset+4},Buffer.prototype.writeInt32BE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,4,2147483647,-2147483648),value<0&&(value=4294967295+value+1),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=255&value):objectWriteUInt32(this,value,offset,!1),offset+4},Buffer.prototype.writeFloatLE=function(value,offset,noAssert){return writeFloat(this,value,offset,!0,noAssert)},Buffer.prototype.writeFloatBE=function(value,offset,noAssert){return writeFloat(this,value,offset,!1,noAssert)},Buffer.prototype.writeDoubleLE=function(value,offset,noAssert){return writeDouble(this,value,offset,!0,noAssert)},Buffer.prototype.writeDoubleBE=function(value,offset,noAssert){return writeDouble(this,value,offset,!1,noAssert)},Buffer.prototype.copy=function(target,targetStart,start,end){if(start||(start=0),end||0===end||(end=this.length),targetStart>=target.length&&(targetStart=target.length),targetStart||(targetStart=0),end>0&&end<start&&(end=start),end===start)return 0;if(0===target.length||0===this.length)return 0;if(targetStart<0)throw new RangeError("targetStart out of bounds");if(start<0||start>=this.length)throw new RangeError("sourceStart out of bounds");if(end<0)throw new RangeError("sourceEnd out of bounds");end>this.length&&(end=this.length),target.length-targetStart<end-start&&(end=target.length-targetStart+start);var i,len=end-start;if(this===target&&start<targetStart&&targetStart<end)for(i=len-1;i>=0;--i)target[i+targetStart]=this[i+start];else if(len<1e3||!Buffer.TYPED_ARRAY_SUPPORT)for(i=0;i<len;++i)target[i+targetStart]=this[i+start];else Uint8Array.prototype.set.call(target,this.subarray(start,start+len),targetStart);return len},Buffer.prototype.fill=function(val,start,end,encoding){if("string"==typeof val){if("string"==typeof start?(encoding=start,start=0,end=this.length):"string"==typeof end&&(encoding=end,end=this.length),1===val.length){var code=val.charCodeAt(0);code<256&&(val=code)}if(void 0!==encoding&&"string"!=typeof encoding)throw new TypeError("encoding must be a string");if("string"==typeof encoding&&!Buffer.isEncoding(encoding))throw new TypeError("Unknown encoding: "+encoding)}else"number"==typeof val&&(val&=255);if(start<0||this.length<start||this.length<end)throw new RangeError("Out of range index");if(end<=start)return this;start>>>=0,end=void 0===end?this.length:end>>>0,val||(val=0);var i;if("number"==typeof val)for(i=start;i<end;++i)this[i]=val;else{var bytes=Buffer.isBuffer(val)?val:utf8ToBytes(new Buffer(val,encoding).toString()),len=bytes.length;for(i=0;i<end-start;++i)this[i+start]=bytes[i%len]}return this};var INVALID_BASE64_RE=/[^+\/0-9A-Za-z-_]/g}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"base64-js":3,ieee754:44,isarray:48}],7:[function(require,module,exports){(function(Buffer){function CipherBase(hashMode){Transform.call(this),this.hashMode="string"==typeof hashMode,this.hashMode?this[hashMode]=this._finalOrDigest:this.final=this._finalOrDigest,this._decoder=null,this._encoding=null}var Transform=require("stream").Transform,inherits=require("inherits"),StringDecoder=require("string_decoder").StringDecoder;module.exports=CipherBase,inherits(CipherBase,Transform),CipherBase.prototype.update=function(data,inputEnc,outputEnc){"string"==typeof data&&(data=new Buffer(data,inputEnc));var outData=this._update(data);return this.hashMode?this:(outputEnc&&(outData=this._toString(outData,outputEnc)),outData)},CipherBase.prototype.setAutoPadding=function(){},CipherBase.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},CipherBase.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},CipherBase.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},CipherBase.prototype._transform=function(data,_,next){var err;try{this.hashMode?this._update(data):this.push(this._update(data))}catch(e){err=e}finally{next(err)}},CipherBase.prototype._flush=function(done){var err;try{this.push(this._final())}catch(e){err=e}finally{done(err)}},CipherBase.prototype._finalOrDigest=function(outputEnc){var outData=this._final()||new Buffer("");return outputEnc&&(outData=this._toString(outData,outputEnc,!0)),outData},CipherBase.prototype._toString=function(value,enc,fin){if(this._decoder||(this._decoder=new StringDecoder(enc),
-this._encoding=enc),this._encoding!==enc)throw new Error("can't switch encodings");var out=this._decoder.write(value);return fin&&(out+=this._decoder.end()),out}}).call(this,require("buffer").Buffer)},{buffer:6,inherits:45,stream:182,string_decoder:183}],8:[function(require,module,exports){require("../../modules/es6.object.assign"),module.exports=require("../../modules/$.core").Object.assign},{"../../modules/$.core":11,"../../modules/es6.object.assign":21}],9:[function(require,module,exports){module.exports=function(it){if("function"!=typeof it)throw TypeError(it+" is not a function!");return it}},{}],10:[function(require,module,exports){var toString={}.toString;module.exports=function(it){return toString.call(it).slice(8,-1)}},{}],11:[function(require,module,exports){var core=module.exports={version:"1.2.6"};"number"==typeof __e&&(__e=core)},{}],12:[function(require,module,exports){var aFunction=require("./$.a-function");module.exports=function(fn,that,length){if(aFunction(fn),void 0===that)return fn;switch(length){case 1:return function(a){return fn.call(that,a)};case 2:return function(a,b){return fn.call(that,a,b)};case 3:return function(a,b,c){return fn.call(that,a,b,c)}}return function(){return fn.apply(that,arguments)}}},{"./$.a-function":9}],13:[function(require,module,exports){module.exports=function(it){if(void 0==it)throw TypeError("Can't call method on "+it);return it}},{}],14:[function(require,module,exports){var global=require("./$.global"),core=require("./$.core"),ctx=require("./$.ctx"),PROTOTYPE="prototype",$export=function(type,name,source){var key,own,out,IS_FORCED=type&$export.F,IS_GLOBAL=type&$export.G,IS_STATIC=type&$export.S,IS_PROTO=type&$export.P,IS_BIND=type&$export.B,IS_WRAP=type&$export.W,exports=IS_GLOBAL?core:core[name]||(core[name]={}),target=IS_GLOBAL?global:IS_STATIC?global[name]:(global[name]||{})[PROTOTYPE];IS_GLOBAL&&(source=name);for(key in source)own=!IS_FORCED&&target&&key in target,own&&key in exports||(out=own?target[key]:source[key],exports[key]=IS_GLOBAL&&"function"!=typeof target[key]?source[key]:IS_BIND&&own?ctx(out,global):IS_WRAP&&target[key]==out?function(C){var F=function(param){return this instanceof C?new C(param):C(param)};return F[PROTOTYPE]=C[PROTOTYPE],F}(out):IS_PROTO&&"function"==typeof out?ctx(Function.call,out):out,IS_PROTO&&((exports[PROTOTYPE]||(exports[PROTOTYPE]={}))[key]=out))};$export.F=1,$export.G=2,$export.S=4,$export.P=8,$export.B=16,$export.W=32,module.exports=$export},{"./$.core":11,"./$.ctx":12,"./$.global":16}],15:[function(require,module,exports){module.exports=function(exec){try{return!!exec()}catch(e){return!0}}},{}],16:[function(require,module,exports){var global=module.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=global)},{}],17:[function(require,module,exports){var cof=require("./$.cof");module.exports=Object("z").propertyIsEnumerable(0)?Object:function(it){return"String"==cof(it)?it.split(""):Object(it)}},{"./$.cof":10}],18:[function(require,module,exports){var $Object=Object;module.exports={create:$Object.create,getProto:$Object.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:$Object.getOwnPropertyDescriptor,setDesc:$Object.defineProperty,setDescs:$Object.defineProperties,getKeys:$Object.keys,getNames:$Object.getOwnPropertyNames,getSymbols:$Object.getOwnPropertySymbols,each:[].forEach}},{}],19:[function(require,module,exports){var $=require("./$"),toObject=require("./$.to-object"),IObject=require("./$.iobject");module.exports=require("./$.fails")(function(){var a=Object.assign,A={},B={},S=Symbol(),K="abcdefghijklmnopqrst";return A[S]=7,K.split("").forEach(function(k){B[k]=k}),7!=a({},A)[S]||Object.keys(a({},B)).join("")!=K})?function(target,source){for(var T=toObject(target),$$=arguments,$$len=$$.length,index=1,getKeys=$.getKeys,getSymbols=$.getSymbols,isEnum=$.isEnum;$$len>index;)for(var key,S=IObject($$[index++]),keys=getSymbols?getKeys(S).concat(getSymbols(S)):getKeys(S),length=keys.length,j=0;length>j;)isEnum.call(S,key=keys[j++])&&(T[key]=S[key]);return T}:Object.assign},{"./$":18,"./$.fails":15,"./$.iobject":17,"./$.to-object":20}],20:[function(require,module,exports){var defined=require("./$.defined");module.exports=function(it){return Object(defined(it))}},{"./$.defined":13}],21:[function(require,module,exports){var $export=require("./$.export");$export($export.S+$export.F,"Object",{assign:require("./$.object-assign")})},{"./$.export":14,"./$.object-assign":19}],22:[function(require,module,exports){(function(Buffer){function isArray(arg){return Array.isArray?Array.isArray(arg):"[object Array]"===objectToString(arg)}function isBoolean(arg){return"boolean"==typeof arg}function isNull(arg){return null===arg}function isNullOrUndefined(arg){return null==arg}function isNumber(arg){return"number"==typeof arg}function isString(arg){return"string"==typeof arg}function isSymbol(arg){return"symbol"==typeof arg}function isUndefined(arg){return void 0===arg}function isRegExp(re){return"[object RegExp]"===objectToString(re)}function isObject(arg){return"object"==typeof arg&&null!==arg}function isDate(d){return"[object Date]"===objectToString(d)}function isError(e){return"[object Error]"===objectToString(e)||e instanceof Error}function isFunction(arg){return"function"==typeof arg}function isPrimitive(arg){return null===arg||"boolean"==typeof arg||"number"==typeof arg||"string"==typeof arg||"symbol"==typeof arg||"undefined"==typeof arg}function objectToString(o){return Object.prototype.toString.call(o)}exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=Buffer.isBuffer}).call(this,{isBuffer:require("../../is-buffer/index.js")})},{"../../is-buffer/index.js":47}],23:[function(require,module,exports){(function(Buffer){"use strict";function HashNoConstructor(hash){Base.call(this,"digest"),this._hash=hash,this.buffers=[]}function Hash(hash){Base.call(this,"digest"),this._hash=hash}var inherits=require("inherits"),md5=require("./md5"),rmd160=require("ripemd160"),sha=require("sha.js"),Base=require("cipher-base");inherits(HashNoConstructor,Base),HashNoConstructor.prototype._update=function(data){this.buffers.push(data)},HashNoConstructor.prototype._final=function(){var buf=Buffer.concat(this.buffers),r=this._hash(buf);return this.buffers=null,r},inherits(Hash,Base),Hash.prototype._update=function(data){this._hash.update(data)},Hash.prototype._final=function(){return this._hash.digest()},module.exports=function(alg){return alg=alg.toLowerCase(),"md5"===alg?new HashNoConstructor(md5):"rmd160"===alg||"ripemd160"===alg?new HashNoConstructor(rmd160):new Hash(sha(alg))}}).call(this,require("buffer").Buffer)},{"./md5":25,buffer:6,"cipher-base":7,inherits:45,ripemd160:166,"sha.js":175}],24:[function(require,module,exports){(function(Buffer){"use strict";function toArray(buf,bigEndian){if(buf.length%intSize!==0){var len=buf.length+(intSize-buf.length%intSize);buf=Buffer.concat([buf,zeroBuffer],len)}for(var arr=[],fn=bigEndian?buf.readInt32BE:buf.readInt32LE,i=0;i<buf.length;i+=intSize)arr.push(fn.call(buf,i));return arr}function toBuffer(arr,size,bigEndian){for(var buf=new Buffer(size),fn=bigEndian?buf.writeInt32BE:buf.writeInt32LE,i=0;i<arr.length;i++)fn.call(buf,arr[i],4*i,!0);return buf}function hash(buf,fn,hashSize,bigEndian){Buffer.isBuffer(buf)||(buf=new Buffer(buf));var arr=fn(toArray(buf,bigEndian),buf.length*chrsz);return toBuffer(arr,hashSize,bigEndian)}var intSize=4,zeroBuffer=new Buffer(intSize);zeroBuffer.fill(0);var chrsz=8;exports.hash=hash}).call(this,require("buffer").Buffer)},{buffer:6}],25:[function(require,module,exports){"use strict";function core_md5(x,len){x[len>>5]|=128<<len%32,x[(len+64>>>9<<4)+14]=len;for(var a=1732584193,b=-271733879,c=-1732584194,d=271733878,i=0;i<x.length;i+=16){var olda=a,oldb=b,oldc=c,oldd=d;a=md5_ff(a,b,c,d,x[i+0],7,-680876936),d=md5_ff(d,a,b,c,x[i+1],12,-389564586),c=md5_ff(c,d,a,b,x[i+2],17,606105819),b=md5_ff(b,c,d,a,x[i+3],22,-1044525330),a=md5_ff(a,b,c,d,x[i+4],7,-176418897),d=md5_ff(d,a,b,c,x[i+5],12,1200080426),c=md5_ff(c,d,a,b,x[i+6],17,-1473231341),b=md5_ff(b,c,d,a,x[i+7],22,-45705983),a=md5_ff(a,b,c,d,x[i+8],7,1770035416),d=md5_ff(d,a,b,c,x[i+9],12,-1958414417),c=md5_ff(c,d,a,b,x[i+10],17,-42063),b=md5_ff(b,c,d,a,x[i+11],22,-1990404162),a=md5_ff(a,b,c,d,x[i+12],7,1804603682),d=md5_ff(d,a,b,c,x[i+13],12,-40341101),c=md5_ff(c,d,a,b,x[i+14],17,-1502002290),b=md5_ff(b,c,d,a,x[i+15],22,1236535329),a=md5_gg(a,b,c,d,x[i+1],5,-165796510),d=md5_gg(d,a,b,c,x[i+6],9,-1069501632),c=md5_gg(c,d,a,b,x[i+11],14,643717713),b=md5_gg(b,c,d,a,x[i+0],20,-373897302),a=md5_gg(a,b,c,d,x[i+5],5,-701558691),d=md5_gg(d,a,b,c,x[i+10],9,38016083),c=md5_gg(c,d,a,b,x[i+15],14,-660478335),b=md5_gg(b,c,d,a,x[i+4],20,-405537848),a=md5_gg(a,b,c,d,x[i+9],5,568446438),d=md5_gg(d,a,b,c,x[i+14],9,-1019803690),c=md5_gg(c,d,a,b,x[i+3],14,-187363961),b=md5_gg(b,c,d,a,x[i+8],20,1163531501),a=md5_gg(a,b,c,d,x[i+13],5,-1444681467),d=md5_gg(d,a,b,c,x[i+2],9,-51403784),c=md5_gg(c,d,a,b,x[i+7],14,1735328473),b=md5_gg(b,c,d,a,x[i+12],20,-1926607734),a=md5_hh(a,b,c,d,x[i+5],4,-378558),d=md5_hh(d,a,b,c,x[i+8],11,-2022574463),c=md5_hh(c,d,a,b,x[i+11],16,1839030562),b=md5_hh(b,c,d,a,x[i+14],23,-35309556),a=md5_hh(a,b,c,d,x[i+1],4,-1530992060),d=md5_hh(d,a,b,c,x[i+4],11,1272893353),c=md5_hh(c,d,a,b,x[i+7],16,-155497632),b=md5_hh(b,c,d,a,x[i+10],23,-1094730640),a=md5_hh(a,b,c,d,x[i+13],4,681279174),d=md5_hh(d,a,b,c,x[i+0],11,-358537222),c=md5_hh(c,d,a,b,x[i+3],16,-722521979),b=md5_hh(b,c,d,a,x[i+6],23,76029189),a=md5_hh(a,b,c,d,x[i+9],4,-640364487),d=md5_hh(d,a,b,c,x[i+12],11,-421815835),c=md5_hh(c,d,a,b,x[i+15],16,530742520),b=md5_hh(b,c,d,a,x[i+2],23,-995338651),a=md5_ii(a,b,c,d,x[i+0],6,-198630844),d=md5_ii(d,a,b,c,x[i+7],10,1126891415),c=md5_ii(c,d,a,b,x[i+14],15,-1416354905),b=md5_ii(b,c,d,a,x[i+5],21,-57434055),a=md5_ii(a,b,c,d,x[i+12],6,1700485571),d=md5_ii(d,a,b,c,x[i+3],10,-1894986606),c=md5_ii(c,d,a,b,x[i+10],15,-1051523),b=md5_ii(b,c,d,a,x[i+1],21,-2054922799),a=md5_ii(a,b,c,d,x[i+8],6,1873313359),d=md5_ii(d,a,b,c,x[i+15],10,-30611744),c=md5_ii(c,d,a,b,x[i+6],15,-1560198380),b=md5_ii(b,c,d,a,x[i+13],21,1309151649),a=md5_ii(a,b,c,d,x[i+4],6,-145523070),d=md5_ii(d,a,b,c,x[i+11],10,-1120210379),c=md5_ii(c,d,a,b,x[i+2],15,718787259),b=md5_ii(b,c,d,a,x[i+9],21,-343485551),a=safe_add(a,olda),b=safe_add(b,oldb),c=safe_add(c,oldc),d=safe_add(d,oldd)}return Array(a,b,c,d)}function md5_cmn(q,a,b,x,s,t){return safe_add(bit_rol(safe_add(safe_add(a,q),safe_add(x,t)),s),b)}function md5_ff(a,b,c,d,x,s,t){return md5_cmn(b&c|~b&d,a,b,x,s,t)}function md5_gg(a,b,c,d,x,s,t){return md5_cmn(b&d|c&~d,a,b,x,s,t)}function md5_hh(a,b,c,d,x,s,t){return md5_cmn(b^c^d,a,b,x,s,t)}function md5_ii(a,b,c,d,x,s,t){return md5_cmn(c^(b|~d),a,b,x,s,t)}function safe_add(x,y){var lsw=(65535&x)+(65535&y),msw=(x>>16)+(y>>16)+(lsw>>16);return msw<<16|65535&lsw}function bit_rol(num,cnt){return num<<cnt|num>>>32-cnt}var helpers=require("./helpers");module.exports=function(buf){return helpers.hash(buf,core_md5,16)}},{"./helpers":24}],26:[function(require,module,exports){(function(Buffer){"use strict";function Hmac(alg,key){Transform.call(this),alg=alg.toLowerCase(),"string"==typeof key&&(key=new Buffer(key));var blocksize="sha512"===alg||"sha384"===alg?128:64;this._alg=alg,this._key=key,key.length>blocksize?key=createHash(alg).update(key).digest():key.length<blocksize&&(key=Buffer.concat([key,ZEROS],blocksize));for(var ipad=this._ipad=new Buffer(blocksize),opad=this._opad=new Buffer(blocksize),i=0;i<blocksize;i++)ipad[i]=54^key[i],opad[i]=92^key[i];this._hash=createHash(alg).update(ipad)}var createHash=require("create-hash/browser"),inherits=require("inherits"),Transform=require("stream").Transform,ZEROS=new Buffer(128);ZEROS.fill(0),inherits(Hmac,Transform),Hmac.prototype.update=function(data,enc){return this._hash.update(data,enc),this},Hmac.prototype._transform=function(data,_,next){this._hash.update(data),next()},Hmac.prototype._flush=function(next){this.push(this.digest()),next()},Hmac.prototype.digest=function(enc){var h=this._hash.digest();return createHash(this._alg).update(this._opad).update(h).digest(enc)},module.exports=function(alg,key){return new Hmac(alg,key)}}).call(this,require("buffer").Buffer)},{buffer:6,"create-hash/browser":23,inherits:45,stream:182}],27:[function(require,module,exports){function EventEmitter(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function isFunction(arg){return"function"==typeof arg}function isNumber(arg){return"number"==typeof arg}function isObject(arg){return"object"==typeof arg&&null!==arg}function isUndefined(arg){return void 0===arg}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0,EventEmitter.defaultMaxListeners=10,EventEmitter.prototype.setMaxListeners=function(n){if(!isNumber(n)||n<0||isNaN(n))throw TypeError("n must be a positive number");return this._maxListeners=n,this},EventEmitter.prototype.emit=function(type){var er,handler,len,args,i,listeners;if(this._events||(this._events={}),"error"===type&&(!this._events.error||isObject(this._events.error)&&!this._events.error.length)){if(er=arguments[1],er instanceof Error)throw er;var err=new Error('Uncaught, unspecified "error" event. ('+er+")");throw err.context=er,err}if(handler=this._events[type],isUndefined(handler))return!1;if(isFunction(handler))switch(arguments.length){case 1:handler.call(this);break;case 2:handler.call(this,arguments[1]);break;case 3:handler.call(this,arguments[1],arguments[2]);break;default:args=Array.prototype.slice.call(arguments,1),handler.apply(this,args)}else if(isObject(handler))for(args=Array.prototype.slice.call(arguments,1),listeners=handler.slice(),len=listeners.length,i=0;i<len;i++)listeners[i].apply(this,args);return!0},EventEmitter.prototype.addListener=function(type,listener){var m;if(!isFunction(listener))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",type,isFunction(listener.listener)?listener.listener:listener),this._events[type]?isObject(this._events[type])?this._events[type].push(listener):this._events[type]=[this._events[type],listener]:this._events[type]=listener,isObject(this._events[type])&&!this._events[type].warned&&(m=isUndefined(this._maxListeners)?EventEmitter.defaultMaxListeners:this._maxListeners,m&&m>0&&this._events[type].length>m&&(this._events[type].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[type].length),"function"==typeof console.trace&&console.trace())),this},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.once=function(type,listener){function g(){this.removeListener(type,g),fired||(fired=!0,listener.apply(this,arguments))}if(!isFunction(listener))throw TypeError("listener must be a function");var fired=!1;return g.listener=listener,this.on(type,g),this},EventEmitter.prototype.removeListener=function(type,listener){var list,position,length,i;if(!isFunction(listener))throw TypeError("listener must be a function");if(!this._events||!this._events[type])return this;if(list=this._events[type],length=list.length,position=-1,list===listener||isFunction(list.listener)&&list.listener===listener)delete this._events[type],this._events.removeListener&&this.emit("removeListener",type,listener);else if(isObject(list)){for(i=length;i-- >0;)if(list[i]===listener||list[i].listener&&list[i].listener===listener){position=i;break}if(position<0)return this;1===list.length?(list.length=0,delete this._events[type]):list.splice(position,1),this._events.removeListener&&this.emit("removeListener",type,listener)}return this},EventEmitter.prototype.removeAllListeners=function(type){var key,listeners;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[type]&&delete this._events[type],this;if(0===arguments.length){for(key in this._events)"removeListener"!==key&&this.removeAllListeners(key);return this.removeAllListeners("removeListener"),this._events={},this}if(listeners=this._events[type],isFunction(listeners))this.removeListener(type,listeners);else if(listeners)for(;listeners.length;)this.removeListener(type,listeners[listeners.length-1]);return delete this._events[type],this},EventEmitter.prototype.listeners=function(type){var ret;return ret=this._events&&this._events[type]?isFunction(this._events[type])?[this._events[type]]:this._events[type].slice():[]},EventEmitter.prototype.listenerCount=function(type){if(this._events){var evlistener=this._events[type];if(isFunction(evlistener))return 1;if(evlistener)return evlistener.length}return 0},EventEmitter.listenerCount=function(emitter,type){return emitter.listenerCount(type)}},{}],28:[function(require,module,exports){var arr=[],each=arr.forEach,slice=arr.slice;module.exports=function(obj){return each.call(slice.call(arguments,1),function(source){if(source)for(var prop in source)obj[prop]=source[prop]}),obj}},{}],29:[function(require,module,exports){function Sender(opts){WildEmitter.call(this);var options=opts||{};this.config={chunksize:16384,pacing:0};var item;for(item in options)this.config[item]=options[item];this.file=null,this.channel=null}function Receiver(){WildEmitter.call(this),this.receiveBuffer=[],this.received=0,this.metadata={},this.channel=null}var WildEmitter=require("wildemitter"),util=require("util");util.inherits(Sender,WildEmitter),Sender.prototype.send=function(file,channel){var self=this;this.file=file,this.channel=channel;var sliceFile=function(offset){var reader=new window.FileReader;reader.onload=function(){return function(e){self.channel.send(e.target.result),self.emit("progress",offset,file.size,e.target.result),file.size>offset+e.target.result.byteLength?window.setTimeout(sliceFile,self.config.pacing,offset+self.config.chunksize):(self.emit("progress",file.size,file.size,null),self.emit("sentFile"))}}(file);var slice=file.slice(offset,offset+self.config.chunksize);reader.readAsArrayBuffer(slice)};window.setTimeout(sliceFile,0,0)},util.inherits(Receiver,WildEmitter),Receiver.prototype.receive=function(metadata,channel){var self=this;metadata&&(this.metadata=metadata),this.channel=channel,channel.binaryType="arraybuffer",this.channel.onmessage=function(event){var len=event.data.byteLength;self.received+=len,self.receiveBuffer.push(event.data),self.emit("progress",self.received,self.metadata.size,event.data),self.received===self.metadata.size?(self.emit("receivedFile",new window.Blob(self.receiveBuffer),self.metadata),self.receiveBuffer=[]):self.received>self.metadata.size&&(console.error("received more than expected, discarding..."),self.receiveBuffer=[])}},module.exports={},module.exports.support="undefined"!=typeof window&&window&&window.File&&window.FileReader&&window.Blob,module.exports.Sender=Sender,module.exports.Receiver=Receiver},{util:197,wildemitter:211}],30:[function(require,module,exports){function Sender(opts){WildEmitter.call(this);var self=this;this.base=new base.Sender(opts);var options=opts||{};options.hash||(options.hash="sha-1"),this.hash=hashes.createHash(options.hash),this.base.on("progress",function(start,size,data){self.emit("progress",start,size,data),data&&self.hash.update(new Uint8Array(data))}),this.base.on("sentFile",function(){self.emit("sentFile",{hash:self.hash.digest("hex"),algo:options.hash})})}function Receiver(opts){WildEmitter.call(this);var self=this;this.base=new base.Receiver(opts);var options=opts||{};options.hash||(options.hash="sha-1"),this.hash=hashes.createHash(options.hash),this.base.on("progress",function(start,size,data){self.emit("progress",start,size,data),data&&self.hash.update(new Uint8Array(data))}),this.base.on("receivedFile",function(file,metadata){metadata.actualhash=self.hash.digest("hex"),self.emit("receivedFile",file,metadata)})}var WildEmitter=require("wildemitter"),util=require("util"),hashes=require("iana-hashes"),base=require("./filetransfer");util.inherits(Sender,WildEmitter),Sender.prototype.send=function(){this.base.send.apply(this.base,arguments)},util.inherits(Receiver,WildEmitter),Receiver.prototype.receive=function(){this.base.receive.apply(this.base,arguments)},Object.defineProperty(Receiver.prototype,"metadata",{get:function(){return this.base.metadata},set:function(value){this.base.metadata=value}}),module.exports={},module.exports.support=base.support,module.exports.Sender=Sender,module.exports.Receiver=Receiver},{"./filetransfer":29,"iana-hashes":42,util:197,wildemitter:211}],31:[function(require,module,exports){var getUserMedia=require("getusermedia"),cache={};module.exports=function(constraints,cb){var error,hasConstraints=2===arguments.length,callback=hasConstraints?cb:constraints;if("undefined"==typeof window||"http:"===window.location.protocol)return error=new Error("NavigatorUserMediaError"),error.name="HTTPS_REQUIRED",callback(error);if(window.navigator.userAgent.match("Chrome")){var chromever=parseInt(window.navigator.userAgent.match(/Chrome\/(.*) /)[1],10),maxver=33,isCef=!window.chrome.webstore;if(window.navigator.userAgent.match("Linux")&&(maxver=35),sessionStorage.getScreenMediaJSExtensionId)chrome.runtime.sendMessage(sessionStorage.getScreenMediaJSExtensionId,{type:"getScreen",id:1},null,function(data){if(data&&""!==data.sourceId)constraints=hasConstraints&&constraints||{audio:!1,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:window.screen.width,maxHeight:window.screen.height,maxFrameRate:3}}},constraints.video.mandatory.chromeMediaSourceId=data.sourceId,getUserMedia(constraints,callback);else{var error=new Error("NavigatorUserMediaError");error.name="PERMISSION_DENIED",callback(error)}});else if(window.cefGetScreenMedia)window.cefGetScreenMedia(function(sourceId){if(sourceId)constraints=hasConstraints&&constraints||{audio:!1,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:window.screen.width,maxHeight:window.screen.height,maxFrameRate:3},optional:[{googLeakyBucket:!0},{googTemporalLayeredScreencast:!0}]}},constraints.video.mandatory.chromeMediaSourceId=sourceId,getUserMedia(constraints,callback);else{var error=new Error("cefGetScreenMediaError");error.name="CEF_GETSCREENMEDIA_CANCELED",callback(error)}});else if(isCef||chromever>=26&&chromever<=maxver)constraints=hasConstraints&&constraints||{video:{mandatory:{googLeakyBucket:!0,maxWidth:window.screen.width,maxHeight:window.screen.height,maxFrameRate:3,chromeMediaSource:"screen"}}},getUserMedia(constraints,callback);else{var pending=window.setTimeout(function(){return error=new Error("NavigatorUserMediaError"),error.name="EXTENSION_UNAVAILABLE",callback(error)},1e3);cache[pending]=[callback,hasConstraints?constraints:null],window.postMessage({type:"getScreen",id:pending},"*")}}else if(window.navigator.userAgent.match("Firefox")){var ffver=parseInt(window.navigator.userAgent.match(/Firefox\/(.*)/)[1],10);ffver>=33?(constraints=hasConstraints&&constraints||{video:{mozMediaSource:"window",mediaSource:"window"}},getUserMedia(constraints,function(err,stream){if(callback(err,stream),!err)var lastTime=stream.currentTime,polly=window.setInterval(function(){stream||window.clearInterval(polly),stream.currentTime==lastTime&&(window.clearInterval(polly),stream.onended&&stream.onended()),lastTime=stream.currentTime},500)})):(error=new Error("NavigatorUserMediaError"),error.name="EXTENSION_UNAVAILABLE")}},window.addEventListener("message",function(event){if(event.origin==window.location.origin)if("gotScreen"==event.data.type&&cache[event.data.id]){var data=cache[event.data.id],constraints=data[1],callback=data[0];if(delete cache[event.data.id],""===event.data.sourceId){var error=new Error("NavigatorUserMediaError");error.name="PERMISSION_DENIED",callback(error)}else constraints=constraints||{audio:!1,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:window.screen.width,maxHeight:window.screen.height,maxFrameRate:3},optional:[{googLeakyBucket:!0},{googTemporalLayeredScreencast:!0}]}},constraints.video.mandatory.chromeMediaSourceId=event.data.sourceId,getUserMedia(constraints,callback)}else"getScreenPending"==event.data.type&&window.clearTimeout(event.data.id)})},{getusermedia:32}],32:[function(require,module,exports){require("webrtc-adapter");module.exports=function(constraints,cb){var error,haveOpts=2===arguments.length,defaultOpts={video:!0,audio:!0},denied="PermissionDeniedError",altDenied="PERMISSION_DENIED",notSatisfied="ConstraintNotSatisfiedError";return haveOpts||(cb=constraints,constraints=defaultOpts),"undefined"!=typeof navigator&&navigator.getUserMedia?constraints.audio||constraints.video?void navigator.mediaDevices.getUserMedia(constraints).then(function(stream){cb(null,stream)}).catch(function(err){var error;"string"==typeof err?(error=new Error("MediaStreamError"),err===denied||err===altDenied?error.name=denied:error.name=notSatisfied):(error=err,error.name||(error[denied]?err.name=denied:err.name=notSatisfied)),cb(error)}):(error=new Error("MediaStreamError"),error.name="NoMediaRequestedError",setTimeout(function(){cb(error)},0)):(error=new Error("MediaStreamError"),error.name="NotSupportedError",setTimeout(function(){cb(error)},0))}},{"webrtc-adapter":33}],33:[function(require,module,exports){"use strict";!function(){var logging=require("./utils").log,browserDetails=require("./utils").browserDetails;module.exports.browserDetails=browserDetails,module.exports.extractVersion=require("./utils").extractVersion,module.exports.disableLog=require("./utils").disableLog;var chromeShim=require("./chrome/chrome_shim")||null,edgeShim=require("./edge/edge_shim")||null,firefoxShim=require("./firefox/firefox_shim")||null,safariShim=require("./safari/safari_shim")||null;switch(browserDetails.browser){case"opera":case"chrome":if(!chromeShim||!chromeShim.shimPeerConnection)return void logging("Chrome shim is not included in this adapter release.");logging("adapter.js shimming chrome."),module.exports.browserShim=chromeShim,chromeShim.shimGetUserMedia(),chromeShim.shimMediaStream(),chromeShim.shimSourceObject(),chromeShim.shimPeerConnection(),chromeShim.shimOnTrack();break;case"firefox":if(!firefoxShim||!firefoxShim.shimPeerConnection)return void logging("Firefox shim is not included in this adapter release.");logging("adapter.js shimming firefox."),module.exports.browserShim=firefoxShim,firefoxShim.shimGetUserMedia(),firefoxShim.shimSourceObject(),firefoxShim.shimPeerConnection(),firefoxShim.shimOnTrack();break;case"edge":if(!edgeShim||!edgeShim.shimPeerConnection)return void logging("MS edge shim is not included in this adapter release.");logging("adapter.js shimming edge."),module.exports.browserShim=edgeShim,edgeShim.shimGetUserMedia(),edgeShim.shimPeerConnection();break;case"safari":if(!safariShim)return void logging("Safari shim is not included in this adapter release.");logging("adapter.js shimming safari."),module.exports.browserShim=safariShim,safariShim.shimGetUserMedia();break;default:logging("Unsupported browser!")}}()},{"./chrome/chrome_shim":34,"./edge/edge_shim":36,"./firefox/firefox_shim":38,"./safari/safari_shim":40,"./utils":41}],34:[function(require,module,exports){"use strict";var logging=require("../utils.js").log,browserDetails=require("../utils.js").browserDetails,chromeShim={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(f){var self=this;this._ontrack&&(this.removeEventListener("track",this._ontrack),this.removeEventListener("addstream",this._ontrackpoly)),this.addEventListener("track",this._ontrack=f),this.addEventListener("addstream",this._ontrackpoly=function(e){e.stream.addEventListener("addtrack",function(te){var event=new Event("track");event.track=te.track,event.receiver={track:te.track},event.streams=[e.stream],self.dispatchEvent(event)}),e.stream.getTracks().forEach(function(track){var event=new Event("track");event.track=track,event.receiver={track:track},event.streams=[e.stream],this.dispatchEvent(event)}.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(stream){var self=this;return this._srcObject=stream,this.src&&URL.revokeObjectURL(this.src),stream?(this.src=URL.createObjectURL(stream),stream.addEventListener("addtrack",function(){self.src&&URL.revokeObjectURL(self.src),self.src=URL.createObjectURL(stream)}),void stream.addEventListener("removetrack",function(){self.src&&URL.revokeObjectURL(self.src),self.src=URL.createObjectURL(stream)})):void(this.src="")}}))},shimPeerConnection:function(){window.RTCPeerConnection=function(pcConfig,pcConstraints){logging("PeerConnection"),pcConfig&&pcConfig.iceTransportPolicy&&(pcConfig.iceTransports=pcConfig.iceTransportPolicy);var pc=new webkitRTCPeerConnection(pcConfig,pcConstraints),origGetStats=pc.getStats.bind(pc);return pc.getStats=function(selector,successCallback,errorCallback){var self=this,args=arguments;if(arguments.length>0&&"function"==typeof selector)return origGetStats(selector,successCallback);var fixChromeStats_=function(response){var standardReport={},reports=response.result();return reports.forEach(function(report){var standardStats={id:report.id,timestamp:report.timestamp,type:report.type};report.names().forEach(function(name){standardStats[name]=report.stat(name)}),standardReport[standardStats.id]=standardStats}),standardReport},makeMapStats=function(stats,legacyStats){var map=new Map(Object.keys(stats).map(function(key){return[key,stats[key]]}));return legacyStats=legacyStats||stats,Object.keys(legacyStats).forEach(function(key){map[key]=legacyStats[key]}),map};if(arguments.length>=2){var successCallbackWrapper_=function(response){args[1](makeMapStats(fixChromeStats_(response)))};return origGetStats.apply(this,[successCallbackWrapper_,arguments[0]])}return new Promise(function(resolve,reject){1===args.length&&"object"==typeof selector?origGetStats.apply(self,[function(response){resolve(makeMapStats(fixChromeStats_(response)))},reject]):origGetStats.apply(self,[function(response){resolve(makeMapStats(fixChromeStats_(response),response.result()))},reject])}).then(successCallback,errorCallback)},pc},window.RTCPeerConnection.prototype=webkitRTCPeerConnection.prototype,webkitRTCPeerConnection.generateCertificate&&Object.defineProperty(window.RTCPeerConnection,"generateCertificate",{get:function(){return webkitRTCPeerConnection.generateCertificate}}),["createOffer","createAnswer"].forEach(function(method){var nativeMethod=webkitRTCPeerConnection.prototype[method];webkitRTCPeerConnection.prototype[method]=function(){var self=this;if(arguments.length<1||1===arguments.length&&"object"==typeof arguments[0]){var opts=1===arguments.length?arguments[0]:void 0;return new Promise(function(resolve,reject){nativeMethod.apply(self,[resolve,reject,opts])})}return nativeMethod.apply(this,arguments)}}),browserDetails.version<51&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(method){var nativeMethod=webkitRTCPeerConnection.prototype[method];webkitRTCPeerConnection.prototype[method]=function(){
-var args=arguments,self=this,promise=new Promise(function(resolve,reject){nativeMethod.apply(self,[args[0],resolve,reject])});return args.length<2?promise:promise.then(function(){args[1].apply(null,[])},function(err){args.length>=3&&args[2].apply(null,[err])})}});var nativeAddIceCandidate=RTCPeerConnection.prototype.addIceCandidate;RTCPeerConnection.prototype.addIceCandidate=function(){return null===arguments[0]?Promise.resolve():nativeAddIceCandidate.apply(this,arguments)},["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(method){var nativeMethod=webkitRTCPeerConnection.prototype[method];webkitRTCPeerConnection.prototype[method]=function(){return arguments[0]=new("addIceCandidate"===method?RTCIceCandidate:RTCSessionDescription)(arguments[0]),nativeMethod.apply(this,arguments)}})},attachMediaStream:function(element,stream){logging("DEPRECATED, attachMediaStream will soon be removed."),browserDetails.version>=43?element.srcObject=stream:"undefined"!=typeof element.src?element.src=URL.createObjectURL(stream):logging("Error attaching stream to element.")},reattachMediaStream:function(to,from){logging("DEPRECATED, reattachMediaStream will soon be removed."),browserDetails.version>=43?to.srcObject=from.srcObject:to.src=from.src}};module.exports={shimMediaStream:chromeShim.shimMediaStream,shimOnTrack:chromeShim.shimOnTrack,shimSourceObject:chromeShim.shimSourceObject,shimPeerConnection:chromeShim.shimPeerConnection,shimGetUserMedia:require("./getusermedia"),attachMediaStream:chromeShim.attachMediaStream,reattachMediaStream:chromeShim.reattachMediaStream}},{"../utils.js":41,"./getusermedia":35}],35:[function(require,module,exports){"use strict";var logging=require("../utils.js").log;module.exports=function(){var constraintsToChrome_=function(c){if("object"!=typeof c||c.mandatory||c.optional)return c;var cc={};return Object.keys(c).forEach(function(key){if("require"!==key&&"advanced"!==key&&"mediaSource"!==key){var r="object"==typeof c[key]?c[key]:{ideal:c[key]};void 0!==r.exact&&"number"==typeof r.exact&&(r.min=r.max=r.exact);var oldname_=function(prefix,name){return prefix?prefix+name.charAt(0).toUpperCase()+name.slice(1):"deviceId"===name?"sourceId":name};if(void 0!==r.ideal){cc.optional=cc.optional||[];var oc={};"number"==typeof r.ideal?(oc[oldname_("min",key)]=r.ideal,cc.optional.push(oc),oc={},oc[oldname_("max",key)]=r.ideal,cc.optional.push(oc)):(oc[oldname_("",key)]=r.ideal,cc.optional.push(oc))}void 0!==r.exact&&"number"!=typeof r.exact?(cc.mandatory=cc.mandatory||{},cc.mandatory[oldname_("",key)]=r.exact):["min","max"].forEach(function(mix){void 0!==r[mix]&&(cc.mandatory=cc.mandatory||{},cc.mandatory[oldname_(mix,key)]=r[mix])})}}),c.advanced&&(cc.optional=(cc.optional||[]).concat(c.advanced)),cc},shimConstraints_=function(constraints,func){if(constraints=JSON.parse(JSON.stringify(constraints)),constraints&&constraints.audio&&(constraints.audio=constraintsToChrome_(constraints.audio)),constraints&&"object"==typeof constraints.video){var face=constraints.video.facingMode;if(face=face&&("object"==typeof face?face:{ideal:face}),face&&("user"===face.exact||"environment"===face.exact||"user"===face.ideal||"environment"===face.ideal)&&(!navigator.mediaDevices.getSupportedConstraints||!navigator.mediaDevices.getSupportedConstraints().facingMode)&&(delete constraints.video.facingMode,"environment"===face.exact||"environment"===face.ideal))return navigator.mediaDevices.enumerateDevices().then(function(devices){devices=devices.filter(function(d){return"videoinput"===d.kind});var back=devices.find(function(d){return d.label.toLowerCase().indexOf("back")!==-1})||devices.length&&devices[devices.length-1];return back&&(constraints.video.deviceId=face.exact?{exact:back.deviceId}:{ideal:back.deviceId}),constraints.video=constraintsToChrome_(constraints.video),logging("chrome: "+JSON.stringify(constraints)),func(constraints)});constraints.video=constraintsToChrome_(constraints.video)}return logging("chrome: "+JSON.stringify(constraints)),func(constraints)},shimError_=function(e){return{name:{PermissionDeniedError:"NotAllowedError",ConstraintNotSatisfiedError:"OverconstrainedError"}[e.name]||e.name,message:e.message,constraint:e.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}},getUserMedia_=function(constraints,onSuccess,onError){shimConstraints_(constraints,function(c){navigator.webkitGetUserMedia(c,onSuccess,function(e){onError(shimError_(e))})})};navigator.getUserMedia=getUserMedia_;var getUserMediaPromise_=function(constraints){return new Promise(function(resolve,reject){navigator.getUserMedia(constraints,resolve,reject)})};if(navigator.mediaDevices||(navigator.mediaDevices={getUserMedia:getUserMediaPromise_,enumerateDevices:function(){return new Promise(function(resolve){var kinds={audio:"audioinput",video:"videoinput"};return MediaStreamTrack.getSources(function(devices){resolve(devices.map(function(device){return{label:device.label,kind:kinds[device.kind],deviceId:device.id,groupId:""}}))})})}}),navigator.mediaDevices.getUserMedia){var origGetUserMedia=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(cs){return shimConstraints_(cs,function(c){return origGetUserMedia(c).catch(function(e){return Promise.reject(shimError_(e))})})}}else navigator.mediaDevices.getUserMedia=function(constraints){return getUserMediaPromise_(constraints)};"undefined"==typeof navigator.mediaDevices.addEventListener&&(navigator.mediaDevices.addEventListener=function(){logging("Dummy mediaDevices.addEventListener called.")}),"undefined"==typeof navigator.mediaDevices.removeEventListener&&(navigator.mediaDevices.removeEventListener=function(){logging("Dummy mediaDevices.removeEventListener called.")})}},{"../utils.js":41}],36:[function(require,module,exports){"use strict";var SDPUtils=require("sdp"),logging=require("../utils").log,edgeShim={shimPeerConnection:function(){window.RTCIceGatherer&&(window.RTCIceCandidate||(window.RTCIceCandidate=function(args){return args}),window.RTCSessionDescription||(window.RTCSessionDescription=function(args){return args})),window.RTCPeerConnection=function(config){var self=this,_eventTarget=document.createDocumentFragment();if(["addEventListener","removeEventListener","dispatchEvent"].forEach(function(method){self[method]=_eventTarget[method].bind(_eventTarget)}),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 self.localStreams},this.getRemoteStreams=function(){return self.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:[]},config&&config.iceTransportPolicy)switch(config.iceTransportPolicy){case"all":case"relay":this.iceOptions.gatherPolicy=config.iceTransportPolicy;break;case"none":throw new TypeError('iceTransportPolicy "none" not supported')}if(this.usingBundle=config&&"max-bundle"===config.bundlePolicy,config&&config.iceServers){var iceServers=JSON.parse(JSON.stringify(config.iceServers));this.iceOptions.iceServers=iceServers.filter(function(server){if(server&&server.urls){var urls=server.urls;return"string"==typeof urls&&(urls=[urls]),urls=urls.filter(function(url){return 0===url.indexOf("turn:")&&url.indexOf("transport=udp")!==-1})[0],!!urls}return!1})}this.transceivers=[],this._localIceCandidatesBuffer=[]},window.RTCPeerConnection.prototype._emitBufferedCandidates=function(){var self=this,sections=SDPUtils.splitSections(self.localDescription.sdp);this._localIceCandidatesBuffer.forEach(function(event){var end=!event.candidate||0===Object.keys(event.candidate).length;if(end)for(var j=1;j<sections.length;j++)sections[j].indexOf("\r\na=end-of-candidates\r\n")===-1&&(sections[j]+="a=end-of-candidates\r\n");else event.candidate.candidate.indexOf("typ endOfCandidates")===-1&&(sections[event.candidate.sdpMLineIndex+1]+="a="+event.candidate.candidate+"\r\n");if(self.localDescription.sdp=sections.join(""),self.dispatchEvent(event),null!==self.onicecandidate&&self.onicecandidate(event),!event.candidate&&"complete"!==self.iceGatheringState){var complete=self.transceivers.every(function(transceiver){return transceiver.iceGatherer&&"completed"===transceiver.iceGatherer.state});complete&&(self.iceGatheringState="complete")}}),this._localIceCandidatesBuffer=[]},window.RTCPeerConnection.prototype.addStream=function(stream){this.localStreams.push(stream.clone()),this._maybeFireNegotiationNeeded()},window.RTCPeerConnection.prototype.removeStream=function(stream){var idx=this.localStreams.indexOf(stream);idx>-1&&(this.localStreams.splice(idx,1),this._maybeFireNegotiationNeeded())},window.RTCPeerConnection.prototype.getSenders=function(){return this.transceivers.filter(function(transceiver){return!!transceiver.rtpSender}).map(function(transceiver){return transceiver.rtpSender})},window.RTCPeerConnection.prototype.getReceivers=function(){return this.transceivers.filter(function(transceiver){return!!transceiver.rtpReceiver}).map(function(transceiver){return transceiver.rtpReceiver})},window.RTCPeerConnection.prototype._getCommonCapabilities=function(localCapabilities,remoteCapabilities){var commonCapabilities={codecs:[],headerExtensions:[],fecMechanisms:[]};return localCapabilities.codecs.forEach(function(lCodec){for(var i=0;i<remoteCapabilities.codecs.length;i++){var rCodec=remoteCapabilities.codecs[i];if(lCodec.name.toLowerCase()===rCodec.name.toLowerCase()&&lCodec.clockRate===rCodec.clockRate&&lCodec.numChannels===rCodec.numChannels){commonCapabilities.codecs.push(rCodec);break}}}),localCapabilities.headerExtensions.forEach(function(lHeaderExtension){for(var i=0;i<remoteCapabilities.headerExtensions.length;i++){var rHeaderExtension=remoteCapabilities.headerExtensions[i];if(lHeaderExtension.uri===rHeaderExtension.uri){commonCapabilities.headerExtensions.push(rHeaderExtension);break}}}),commonCapabilities},window.RTCPeerConnection.prototype._createIceAndDtlsTransports=function(mid,sdpMLineIndex){var self=this,iceGatherer=new RTCIceGatherer(self.iceOptions),iceTransport=new RTCIceTransport(iceGatherer);iceGatherer.onlocalcandidate=function(evt){var event=new Event("icecandidate");event.candidate={sdpMid:mid,sdpMLineIndex:sdpMLineIndex};var cand=evt.candidate,end=!cand||0===Object.keys(cand).length;end?(void 0===iceGatherer.state&&(iceGatherer.state="completed"),event.candidate.candidate="candidate:1 1 udp 1 0.0.0.0 9 typ endOfCandidates"):(cand.component="RTCP"===iceTransport.component?2:1,event.candidate.candidate=SDPUtils.writeCandidate(cand));var sections=SDPUtils.splitSections(self.localDescription.sdp);event.candidate.candidate.indexOf("typ endOfCandidates")===-1?sections[event.candidate.sdpMLineIndex+1]+="a="+event.candidate.candidate+"\r\n":sections[event.candidate.sdpMLineIndex+1]+="a=end-of-candidates\r\n",self.localDescription.sdp=sections.join("");var complete=self.transceivers.every(function(transceiver){return transceiver.iceGatherer&&"completed"===transceiver.iceGatherer.state});switch(self.iceGatheringState){case"new":self._localIceCandidatesBuffer.push(event),end&&complete&&self._localIceCandidatesBuffer.push(new Event("icecandidate"));break;case"gathering":self._emitBufferedCandidates(),self.dispatchEvent(event),null!==self.onicecandidate&&self.onicecandidate(event),complete&&(self.dispatchEvent(new Event("icecandidate")),null!==self.onicecandidate&&self.onicecandidate(new Event("icecandidate")),self.iceGatheringState="complete");break;case"complete":}},iceTransport.onicestatechange=function(){self._updateConnectionState()};var dtlsTransport=new RTCDtlsTransport(iceTransport);return dtlsTransport.ondtlsstatechange=function(){self._updateConnectionState()},dtlsTransport.onerror=function(){dtlsTransport.state="failed",self._updateConnectionState()},{iceGatherer:iceGatherer,iceTransport:iceTransport,dtlsTransport:dtlsTransport}},window.RTCPeerConnection.prototype._transceive=function(transceiver,send,recv){var params=this._getCommonCapabilities(transceiver.localCapabilities,transceiver.remoteCapabilities);send&&transceiver.rtpSender&&(params.encodings=transceiver.sendEncodingParameters,params.rtcp={cname:SDPUtils.localCName},transceiver.recvEncodingParameters.length&&(params.rtcp.ssrc=transceiver.recvEncodingParameters[0].ssrc),transceiver.rtpSender.send(params)),recv&&transceiver.rtpReceiver&&(params.encodings=transceiver.recvEncodingParameters,params.rtcp={cname:transceiver.cname},transceiver.sendEncodingParameters.length&&(params.rtcp.ssrc=transceiver.sendEncodingParameters[0].ssrc),transceiver.rtpReceiver.receive(params))},window.RTCPeerConnection.prototype.setLocalDescription=function(description){var sections,sessionpart,self=this;if("offer"===description.type)this._pendingOffer&&(sections=SDPUtils.splitSections(description.sdp),sessionpart=sections.shift(),sections.forEach(function(mediaSection,sdpMLineIndex){var caps=SDPUtils.parseRtpParameters(mediaSection);self._pendingOffer[sdpMLineIndex].localCapabilities=caps}),this.transceivers=this._pendingOffer,delete this._pendingOffer);else if("answer"===description.type){sections=SDPUtils.splitSections(self.remoteDescription.sdp),sessionpart=sections.shift();var isIceLite=SDPUtils.matchPrefix(sessionpart,"a=ice-lite").length>0;sections.forEach(function(mediaSection,sdpMLineIndex){var transceiver=self.transceivers[sdpMLineIndex],iceGatherer=transceiver.iceGatherer,iceTransport=transceiver.iceTransport,dtlsTransport=transceiver.dtlsTransport,localCapabilities=transceiver.localCapabilities,remoteCapabilities=transceiver.remoteCapabilities,rejected="0"===mediaSection.split("\n",1)[0].split(" ",2)[1];if(!rejected){var remoteIceParameters=SDPUtils.getIceParameters(mediaSection,sessionpart);if(isIceLite){var cands=SDPUtils.matchPrefix(mediaSection,"a=candidate:").map(function(cand){return SDPUtils.parseCandidate(cand)}).filter(function(cand){return"1"===cand.component});cands.length&&iceTransport.setRemoteCandidates(cands)}var remoteDtlsParameters=SDPUtils.getDtlsParameters(mediaSection,sessionpart);isIceLite&&(remoteDtlsParameters.role="server"),self.usingBundle&&0!==sdpMLineIndex||(iceTransport.start(iceGatherer,remoteIceParameters,isIceLite?"controlling":"controlled"),dtlsTransport.start(remoteDtlsParameters));var params=self._getCommonCapabilities(localCapabilities,remoteCapabilities);self._transceive(transceiver,params.codecs.length>0,!1)}})}switch(this.localDescription={type:description.type,sdp:description.sdp},description.type){case"offer":this._updateSignalingState("have-local-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+description.type+'"')}var hasCallback=arguments.length>1&&"function"==typeof arguments[1];if(hasCallback){var cb=arguments[1];window.setTimeout(function(){cb(),"new"===self.iceGatheringState&&(self.iceGatheringState="gathering"),self._emitBufferedCandidates()},0)}var p=Promise.resolve();return p.then(function(){hasCallback||("new"===self.iceGatheringState&&(self.iceGatheringState="gathering"),window.setTimeout(self._emitBufferedCandidates.bind(self),500))}),p},window.RTCPeerConnection.prototype.setRemoteDescription=function(description){var self=this,stream=new MediaStream,receiverList=[],sections=SDPUtils.splitSections(description.sdp),sessionpart=sections.shift(),isIceLite=SDPUtils.matchPrefix(sessionpart,"a=ice-lite").length>0;switch(this.usingBundle=SDPUtils.matchPrefix(sessionpart,"a=group:BUNDLE ").length>0,sections.forEach(function(mediaSection,sdpMLineIndex){var transceiver,iceGatherer,iceTransport,dtlsTransport,rtpSender,rtpReceiver,sendEncodingParameters,recvEncodingParameters,localCapabilities,track,remoteIceParameters,remoteDtlsParameters,lines=SDPUtils.splitLines(mediaSection),mline=lines[0].substr(2).split(" "),kind=mline[0],rejected="0"===mline[1],direction=SDPUtils.getDirection(mediaSection,sessionpart),remoteCapabilities=SDPUtils.parseRtpParameters(mediaSection);rejected||(remoteIceParameters=SDPUtils.getIceParameters(mediaSection,sessionpart),remoteDtlsParameters=SDPUtils.getDtlsParameters(mediaSection,sessionpart),remoteDtlsParameters.role="client"),recvEncodingParameters=SDPUtils.parseRtpEncodingParameters(mediaSection);var mid=SDPUtils.matchPrefix(mediaSection,"a=mid:");mid=mid.length?mid[0].substr(6):SDPUtils.generateIdentifier();var cname,remoteSsrc=SDPUtils.matchPrefix(mediaSection,"a=ssrc:").map(function(line){return SDPUtils.parseSsrcMedia(line)}).filter(function(obj){return"cname"===obj.attribute})[0];remoteSsrc&&(cname=remoteSsrc.value);var isComplete=SDPUtils.matchPrefix(mediaSection,"a=end-of-candidates").length>0,cands=SDPUtils.matchPrefix(mediaSection,"a=candidate:").map(function(cand){return SDPUtils.parseCandidate(cand)}).filter(function(cand){return"1"===cand.component});if("offer"!==description.type||rejected)"answer"!==description.type||rejected||(transceiver=self.transceivers[sdpMLineIndex],iceGatherer=transceiver.iceGatherer,iceTransport=transceiver.iceTransport,dtlsTransport=transceiver.dtlsTransport,rtpSender=transceiver.rtpSender,rtpReceiver=transceiver.rtpReceiver,sendEncodingParameters=transceiver.sendEncodingParameters,localCapabilities=transceiver.localCapabilities,self.transceivers[sdpMLineIndex].recvEncodingParameters=recvEncodingParameters,self.transceivers[sdpMLineIndex].remoteCapabilities=remoteCapabilities,self.transceivers[sdpMLineIndex].cname=cname,(isIceLite||isComplete)&&cands.length&&iceTransport.setRemoteCandidates(cands),self.usingBundle&&0!==sdpMLineIndex||(iceTransport.start(iceGatherer,remoteIceParameters,"controlling"),dtlsTransport.start(remoteDtlsParameters)),self._transceive(transceiver,"sendrecv"===direction||"recvonly"===direction,"sendrecv"===direction||"sendonly"===direction),!rtpReceiver||"sendrecv"!==direction&&"sendonly"!==direction?delete transceiver.rtpReceiver:(track=rtpReceiver.track,receiverList.push([track,rtpReceiver]),stream.addTrack(track)));else{var transports=self.usingBundle&&sdpMLineIndex>0?{iceGatherer:self.transceivers[0].iceGatherer,iceTransport:self.transceivers[0].iceTransport,dtlsTransport:self.transceivers[0].dtlsTransport}:self._createIceAndDtlsTransports(mid,sdpMLineIndex);if(isComplete&&transports.iceTransport.setRemoteCandidates(cands),localCapabilities=RTCRtpReceiver.getCapabilities(kind),sendEncodingParameters=[{ssrc:1001*(2*sdpMLineIndex+2)}],rtpReceiver=new RTCRtpReceiver(transports.dtlsTransport,kind),track=rtpReceiver.track,receiverList.push([track,rtpReceiver]),stream.addTrack(track),self.localStreams.length>0&&self.localStreams[0].getTracks().length>=sdpMLineIndex){var localtrack=self.localStreams[0].getTracks()[sdpMLineIndex];rtpSender=new RTCRtpSender(localtrack,transports.dtlsTransport)}self.transceivers[sdpMLineIndex]={iceGatherer:transports.iceGatherer,iceTransport:transports.iceTransport,dtlsTransport:transports.dtlsTransport,localCapabilities:localCapabilities,remoteCapabilities:remoteCapabilities,rtpSender:rtpSender,rtpReceiver:rtpReceiver,kind:kind,mid:mid,cname:cname,sendEncodingParameters:sendEncodingParameters,recvEncodingParameters:recvEncodingParameters},self._transceive(self.transceivers[sdpMLineIndex],!1,"sendrecv"===direction||"sendonly"===direction)}}),this.remoteDescription={type:description.type,sdp:description.sdp},description.type){case"offer":this._updateSignalingState("have-remote-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+description.type+'"')}return stream.getTracks().length&&(self.remoteStreams.push(stream),window.setTimeout(function(){var event=new Event("addstream");event.stream=stream,self.dispatchEvent(event),null!==self.onaddstream&&window.setTimeout(function(){self.onaddstream(event)},0),receiverList.forEach(function(item){var track=item[0],receiver=item[1],trackEvent=new Event("track");trackEvent.track=track,trackEvent.receiver=receiver,trackEvent.streams=[stream],self.dispatchEvent(event),null!==self.ontrack&&window.setTimeout(function(){self.ontrack(trackEvent)},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(transceiver){transceiver.iceTransport&&transceiver.iceTransport.stop(),transceiver.dtlsTransport&&transceiver.dtlsTransport.stop(),transceiver.rtpSender&&transceiver.rtpSender.stop(),transceiver.rtpReceiver&&transceiver.rtpReceiver.stop()}),this._updateSignalingState("closed")},window.RTCPeerConnection.prototype._updateSignalingState=function(newState){this.signalingState=newState;var event=new Event("signalingstatechange");this.dispatchEvent(event),null!==this.onsignalingstatechange&&this.onsignalingstatechange(event)},window.RTCPeerConnection.prototype._maybeFireNegotiationNeeded=function(){var event=new Event("negotiationneeded");this.dispatchEvent(event),null!==this.onnegotiationneeded&&this.onnegotiationneeded(event)},window.RTCPeerConnection.prototype._updateConnectionState=function(){var newState,self=this,states={new:0,closed:0,connecting:0,checking:0,connected:0,completed:0,failed:0};if(this.transceivers.forEach(function(transceiver){states[transceiver.iceTransport.state]++,states[transceiver.dtlsTransport.state]++}),states.connected+=states.completed,newState="new",states.failed>0?newState="failed":states.connecting>0||states.checking>0?newState="connecting":states.disconnected>0?newState="disconnected":states.new>0?newState="new":(states.connected>0||states.completed>0)&&(newState="connected"),newState!==self.iceConnectionState){self.iceConnectionState=newState;var event=new Event("iceconnectionstatechange");this.dispatchEvent(event),null!==this.oniceconnectionstatechange&&this.oniceconnectionstatechange(event)}},window.RTCPeerConnection.prototype.createOffer=function(){var self=this;if(this._pendingOffer)throw new Error("createOffer called while there is a pending offer.");var offerOptions;1===arguments.length&&"function"!=typeof arguments[0]?offerOptions=arguments[0]:3===arguments.length&&(offerOptions=arguments[2]);var tracks=[],numAudioTracks=0,numVideoTracks=0;if(this.localStreams.length&&(numAudioTracks=this.localStreams[0].getAudioTracks().length,numVideoTracks=this.localStreams[0].getVideoTracks().length),offerOptions){if(offerOptions.mandatory||offerOptions.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");void 0!==offerOptions.offerToReceiveAudio&&(numAudioTracks=offerOptions.offerToReceiveAudio),void 0!==offerOptions.offerToReceiveVideo&&(numVideoTracks=offerOptions.offerToReceiveVideo)}for(this.localStreams.length&&this.localStreams[0].getTracks().forEach(function(track){tracks.push({kind:track.kind,track:track,wantReceive:"audio"===track.kind?numAudioTracks>0:numVideoTracks>0}),"audio"===track.kind?numAudioTracks--:"video"===track.kind&&numVideoTracks--});numAudioTracks>0||numVideoTracks>0;)numAudioTracks>0&&(tracks.push({kind:"audio",wantReceive:!0}),numAudioTracks--),numVideoTracks>0&&(tracks.push({kind:"video",wantReceive:!0}),numVideoTracks--);var sdp=SDPUtils.writeSessionBoilerplate(),transceivers=[];tracks.forEach(function(mline,sdpMLineIndex){var rtpSender,rtpReceiver,track=mline.track,kind=mline.kind,mid=SDPUtils.generateIdentifier(),transports=self.usingBundle&&sdpMLineIndex>0?{iceGatherer:transceivers[0].iceGatherer,iceTransport:transceivers[0].iceTransport,dtlsTransport:transceivers[0].dtlsTransport}:self._createIceAndDtlsTransports(mid,sdpMLineIndex),localCapabilities=RTCRtpSender.getCapabilities(kind),sendEncodingParameters=[{ssrc:1001*(2*sdpMLineIndex+1)}];track&&(rtpSender=new RTCRtpSender(track,transports.dtlsTransport)),mline.wantReceive&&(rtpReceiver=new RTCRtpReceiver(transports.dtlsTransport,kind)),transceivers[sdpMLineIndex]={iceGatherer:transports.iceGatherer,iceTransport:transports.iceTransport,dtlsTransport:transports.dtlsTransport,localCapabilities:localCapabilities,remoteCapabilities:null,rtpSender:rtpSender,rtpReceiver:rtpReceiver,kind:kind,mid:mid,sendEncodingParameters:sendEncodingParameters,recvEncodingParameters:null}}),this.usingBundle&&(sdp+="a=group:BUNDLE "+transceivers.map(function(t){return t.mid}).join(" ")+"\r\n"),tracks.forEach(function(mline,sdpMLineIndex){var transceiver=transceivers[sdpMLineIndex];sdp+=SDPUtils.writeMediaSection(transceiver,transceiver.localCapabilities,"offer",self.localStreams[0])}),this._pendingOffer=transceivers;var desc=new RTCSessionDescription({type:"offer",sdp:sdp});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,desc),Promise.resolve(desc)},window.RTCPeerConnection.prototype.createAnswer=function(){var self=this,sdp=SDPUtils.writeSessionBoilerplate();this.usingBundle&&(sdp+="a=group:BUNDLE "+this.transceivers.map(function(t){return t.mid}).join(" ")+"\r\n"),this.transceivers.forEach(function(transceiver){var commonCapabilities=self._getCommonCapabilities(transceiver.localCapabilities,transceiver.remoteCapabilities);sdp+=SDPUtils.writeMediaSection(transceiver,commonCapabilities,"answer",self.localStreams[0])});var desc=new RTCSessionDescription({type:"answer",sdp:sdp});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,desc),Promise.resolve(desc)},window.RTCPeerConnection.prototype.addIceCandidate=function(candidate){if(null===candidate)this.transceivers.forEach(function(transceiver){transceiver.iceTransport.addRemoteCandidate({})});else{var mLineIndex=candidate.sdpMLineIndex;if(candidate.sdpMid)for(var i=0;i<this.transceivers.length;i++)if(this.transceivers[i].mid===candidate.sdpMid){mLineIndex=i;break}var transceiver=this.transceivers[mLineIndex];if(transceiver){var cand=Object.keys(candidate.candidate).length>0?SDPUtils.parseCandidate(candidate.candidate):{};if("tcp"===cand.protocol&&0===cand.port)return;if("1"!==cand.component)return;"endOfCandidates"===cand.type&&(cand={}),transceiver.iceTransport.addRemoteCandidate(cand);var sections=SDPUtils.splitSections(this.remoteDescription.sdp);sections[mLineIndex+1]+=(cand.type?candidate.candidate.trim():"a=end-of-candidates")+"\r\n",this.remoteDescription.sdp=sections.join("")}}return arguments.length>1&&"function"==typeof arguments[1]&&window.setTimeout(arguments[1],0),Promise.resolve()},window.RTCPeerConnection.prototype.getStats=function(){var promises=[];this.transceivers.forEach(function(transceiver){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(method){transceiver[method]&&promises.push(transceiver[method].getStats())})});var cb=arguments.length>1&&"function"==typeof arguments[1]&&arguments[1];return new Promise(function(resolve){var results=new Map;Promise.all(promises).then(function(res){res.forEach(function(result){Object.keys(result).forEach(function(id){results.set(id,result[id]),results[id]=result[id]})}),cb&&window.setTimeout(cb,0,results),resolve(results)})})}},attachMediaStream:function(element,stream){logging("DEPRECATED, attachMediaStream will soon be removed."),element.srcObject=stream},reattachMediaStream:function(to,from){logging("DEPRECATED, reattachMediaStream will soon be removed."),to.srcObject=from.srcObject}};module.exports={shimPeerConnection:edgeShim.shimPeerConnection,shimGetUserMedia:require("./getusermedia"),attachMediaStream:edgeShim.attachMediaStream,reattachMediaStream:edgeShim.reattachMediaStream}},{"../utils":41,"./getusermedia":37,sdp:173}],37:[function(require,module,exports){"use strict";module.exports=function(){var shimError_=function(e){return{name:{PermissionDeniedError:"NotAllowedError"}[e.name]||e.name,message:e.message,constraint:e.constraint,toString:function(){return this.name}}},origGetUserMedia=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(c){return origGetUserMedia(c).catch(function(e){return Promise.reject(shimError_(e))})}}},{}],38:[function(require,module,exports){"use strict";var logging=require("../utils").log,browserDetails=require("../utils").browserDetails,firefoxShim={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(f){this._ontrack&&(this.removeEventListener("track",this._ontrack),this.removeEventListener("addstream",this._ontrackpoly)),this.addEventListener("track",this._ontrack=f),this.addEventListener("addstream",this._ontrackpoly=function(e){e.stream.getTracks().forEach(function(track){var event=new Event("track");event.track=track,event.receiver={track:track},event.streams=[e.stream],this.dispatchEvent(event)}.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(stream){this.mozSrcObject=stream}}))},shimPeerConnection:function(){if("object"==typeof window&&(window.RTCPeerConnection||window.mozRTCPeerConnection)){window.RTCPeerConnection||(window.RTCPeerConnection=function(pcConfig,pcConstraints){if(browserDetails.version<38&&pcConfig&&pcConfig.iceServers){for(var newIceServers=[],i=0;i<pcConfig.iceServers.length;i++){var server=pcConfig.iceServers[i];if(server.hasOwnProperty("urls"))for(var j=0;j<server.urls.length;j++){var newServer={url:server.urls[j]};0===server.urls[j].indexOf("turn")&&(newServer.username=server.username,newServer.credential=server.credential),newIceServers.push(newServer)}else newIceServers.push(pcConfig.iceServers[i])}pcConfig.iceServers=newIceServers}return new mozRTCPeerConnection(pcConfig,pcConstraints)},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(method){var nativeMethod=RTCPeerConnection.prototype[method];RTCPeerConnection.prototype[method]=function(){return arguments[0]=new("addIceCandidate"===method?RTCIceCandidate:RTCSessionDescription)(arguments[0]),nativeMethod.apply(this,arguments)}});var nativeAddIceCandidate=RTCPeerConnection.prototype.addIceCandidate;RTCPeerConnection.prototype.addIceCandidate=function(){return null===arguments[0]?Promise.resolve():nativeAddIceCandidate.apply(this,arguments)};var makeMapStats=function(stats){var map=new Map;return Object.keys(stats).forEach(function(key){map.set(key,stats[key]),map[key]=stats[key]}),map},nativeGetStats=RTCPeerConnection.prototype.getStats;RTCPeerConnection.prototype.getStats=function(selector,onSucc,onErr){return nativeGetStats.apply(this,[selector||null]).then(function(stats){return makeMapStats(stats)}).then(onSucc,onErr)}}},attachMediaStream:function(element,stream){logging("DEPRECATED, attachMediaStream will soon be removed."),element.srcObject=stream},reattachMediaStream:function(to,from){logging("DEPRECATED, reattachMediaStream will soon be removed."),to.srcObject=from.srcObject}};module.exports={shimOnTrack:firefoxShim.shimOnTrack,shimSourceObject:firefoxShim.shimSourceObject,shimPeerConnection:firefoxShim.shimPeerConnection,shimGetUserMedia:require("./getusermedia"),attachMediaStream:firefoxShim.attachMediaStream,reattachMediaStream:firefoxShim.reattachMediaStream}},{
-"../utils":41,"./getusermedia":39}],39:[function(require,module,exports){"use strict";var logging=require("../utils").log,browserDetails=require("../utils").browserDetails;module.exports=function(){var shimError_=function(e){return{name:{SecurityError:"NotAllowedError",PermissionDeniedError:"NotAllowedError"}[e.name]||e.name,message:{"The operation is insecure.":"The request is not allowed by the user agent or the platform in the current context."}[e.message]||e.message,constraint:e.constraint,toString:function(){return this.name+(this.message&&": ")+this.message}}},getUserMedia_=function(constraints,onSuccess,onError){var constraintsToFF37_=function(c){if("object"!=typeof c||c.require)return c;var require=[];return Object.keys(c).forEach(function(key){if("require"!==key&&"advanced"!==key&&"mediaSource"!==key){var r=c[key]="object"==typeof c[key]?c[key]:{ideal:c[key]};if(void 0===r.min&&void 0===r.max&&void 0===r.exact||require.push(key),void 0!==r.exact&&("number"==typeof r.exact?r.min=r.max=r.exact:c[key]=r.exact,delete r.exact),void 0!==r.ideal){c.advanced=c.advanced||[];var oc={};"number"==typeof r.ideal?oc[key]={min:r.ideal,max:r.ideal}:oc[key]=r.ideal,c.advanced.push(oc),delete r.ideal,Object.keys(r).length||delete c[key]}}}),require.length&&(c.require=require),c};return constraints=JSON.parse(JSON.stringify(constraints)),browserDetails.version<38&&(logging("spec: "+JSON.stringify(constraints)),constraints.audio&&(constraints.audio=constraintsToFF37_(constraints.audio)),constraints.video&&(constraints.video=constraintsToFF37_(constraints.video)),logging("ff37: "+JSON.stringify(constraints))),navigator.mozGetUserMedia(constraints,onSuccess,function(e){onError(shimError_(e))})},getUserMediaPromise_=function(constraints){return new Promise(function(resolve,reject){getUserMedia_(constraints,resolve,reject)})};if(navigator.mediaDevices||(navigator.mediaDevices={getUserMedia:getUserMediaPromise_,addEventListener:function(){},removeEventListener:function(){}}),navigator.mediaDevices.enumerateDevices=navigator.mediaDevices.enumerateDevices||function(){return new Promise(function(resolve){var infos=[{kind:"audioinput",deviceId:"default",label:"",groupId:""},{kind:"videoinput",deviceId:"default",label:"",groupId:""}];resolve(infos)})},browserDetails.version<41){var orgEnumerateDevices=navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices);navigator.mediaDevices.enumerateDevices=function(){return orgEnumerateDevices().then(void 0,function(e){if("NotFoundError"===e.name)return[];throw e})}}if(browserDetails.version<49){var origGetUserMedia=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(c){return origGetUserMedia(c).catch(function(e){return Promise.reject(shimError_(e))})}}navigator.getUserMedia=function(constraints,onSuccess,onError){return browserDetails.version<44?getUserMedia_(constraints,onSuccess,onError):(console.warn("navigator.getUserMedia has been replaced by navigator.mediaDevices.getUserMedia"),void navigator.mediaDevices.getUserMedia(constraints).then(onSuccess,onError))}}},{"../utils":41}],40:[function(require,module,exports){"use strict";var safariShim={shimGetUserMedia:function(){navigator.getUserMedia=navigator.webkitGetUserMedia}};module.exports={shimGetUserMedia:safariShim.shimGetUserMedia}},{}],41:[function(require,module,exports){"use strict";var logDisabled_=!0,utils={disableLog:function(bool){return"boolean"!=typeof bool?new Error("Argument type: "+typeof bool+". Please use a boolean."):(logDisabled_=bool,bool?"adapter.js logging disabled":"adapter.js logging enabled")},log:function(){if("object"==typeof window){if(logDisabled_)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}},extractVersion:function(uastring,expr,pos){var match=uastring.match(expr);return match&&match.length>=pos&&parseInt(match[pos],10)},detectBrowser:function(){var result={};if(result.browser=null,result.version=null,result.minVersion=null,"undefined"==typeof window||!window.navigator)return result.browser="Not a browser.",result;if(navigator.mozGetUserMedia)result.browser="firefox",result.version=this.extractVersion(navigator.userAgent,/Firefox\/([0-9]+)\./,1),result.minVersion=31;else if(navigator.webkitGetUserMedia)if(window.webkitRTCPeerConnection)result.browser="chrome",result.version=this.extractVersion(navigator.userAgent,/Chrom(e|ium)\/([0-9]+)\./,2),result.minVersion=38;else{if(!navigator.userAgent.match(/Version\/(\d+).(\d+)/))return result.browser="Unsupported webkit-based browser with GUM support but no WebRTC support.",result;result.browser="safari",result.version=this.extractVersion(navigator.userAgent,/AppleWebKit\/([0-9]+)\./,1),result.minVersion=602}else{if(!navigator.mediaDevices||!navigator.userAgent.match(/Edge\/(\d+).(\d+)$/))return result.browser="Not a supported browser.",result;result.browser="edge",result.version=this.extractVersion(navigator.userAgent,/Edge\/(\d+).(\d+)$/,2),result.minVersion=10547}return result.version<result.minVersion&&utils.log("Browser: "+result.browser+" Version: "+result.version+" < minimum supported version: "+result.minVersion+"\n some things might not work!"),result}};module.exports={log:utils.log,disableLog:utils.disableLog,browserDetails:utils.detectBrowser(),extractVersion:utils.extractVersion}},{}],42:[function(require,module,exports){var createHash=require("create-hash"),createHmac=require("create-hmac"),getHashes=require("./lib/get-hashes"),mapping={md2:"md2",md5:"md5","sha-1":"sha1","sha-224":"sha224","sha-256":"sha256","sha-384":"sha384","sha-512":"sha512"},names=Object.keys(mapping);exports.getHashes=function(){for(var result=[],available=getHashes(),i=0,len=names.length;i<len;i++)available.indexOf(mapping[names[i]])>=0&&result.push(names[i]);return result},exports.createHash=function(algorithm){return algorithm=algorithm.toLowerCase(),mapping[algorithm]&&(algorithm=mapping[algorithm]),createHash(algorithm)},exports.createHmac=function(algorithm,key){return algorithm=algorithm.toLowerCase(),mapping[algorithm]&&(algorithm=mapping[algorithm]),createHmac(algorithm,key)}},{"./lib/get-hashes":43,"create-hash":23,"create-hmac":26}],43:[function(require,module,exports){module.exports=function(){return["sha1","sha224","sha256","sha384","sha512","md5","rmd160"]}},{}],44:[function(require,module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m,eLen=8*nBytes-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,nBits=-7,i=isLE?nBytes-1:0,d=isLE?-1:1,s=buffer[offset+i];for(i+=d,e=s&(1<<-nBits)-1,s>>=-nBits,nBits+=eLen;nBits>0;e=256*e+buffer[offset+i],i+=d,nBits-=8);for(m=e&(1<<-nBits)-1,e>>=-nBits,nBits+=mLen;nBits>0;m=256*m+buffer[offset+i],i+=d,nBits-=8);if(0===e)e=1-eBias;else{if(e===eMax)return m?NaN:(s?-1:1)*(1/0);m+=Math.pow(2,mLen),e-=eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)},exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c,eLen=8*nBytes-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,rt=23===mLen?Math.pow(2,-24)-Math.pow(2,-77):0,i=isLE?0:nBytes-1,d=isLE?1:-1,s=value<0||0===value&&1/value<0?1:0;for(value=Math.abs(value),isNaN(value)||value===1/0?(m=isNaN(value)?1:0,e=eMax):(e=Math.floor(Math.log(value)/Math.LN2),value*(c=Math.pow(2,-e))<1&&(e--,c*=2),value+=e+eBias>=1?rt/c:rt*Math.pow(2,1-eBias),value*c>=2&&(e++,c/=2),e+eBias>=eMax?(m=0,e=eMax):e+eBias>=1?(m=(value*c-1)*Math.pow(2,mLen),e+=eBias):(m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen),e=0));mLen>=8;buffer[offset+i]=255&m,i+=d,m/=256,mLen-=8);for(e=e<<mLen|m,eLen+=mLen;eLen>0;buffer[offset+i]=255&e,i+=d,e/=256,eLen-=8);buffer[offset+i-d]|=128*s}},{}],45:[function(require,module,exports){"function"==typeof Object.create?module.exports=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}},{}],46:[function(require,module,exports){function intersect(a,b){for(var res=[],i=0;i<a.length;i++)indexOf(b,a[i])>-1&&res.push(a[i]);return res}function indexOf(arr,el){for(var i=0;i<arr.length;i++)if(arr[i]===el)return i;return-1}module.exports=intersect,intersect.big=function(a,b){for(var ret=[],temp={},i=0;i<b.length;i++)temp[b[i]]=!0;for(var i=0;i<a.length;i++)temp[a[i]]&&ret.push(a[i]);return ret}},{}],47:[function(require,module,exports){function isBuffer(obj){return!!obj.constructor&&"function"==typeof obj.constructor.isBuffer&&obj.constructor.isBuffer(obj)}function isSlowBuffer(obj){return"function"==typeof obj.readFloatLE&&"function"==typeof obj.slice&&isBuffer(obj.slice(0,0))}/*!
+this._encoding=enc),this._encoding!==enc)throw new Error("can't switch encodings");var out=this._decoder.write(value);return fin&&(out+=this._decoder.end()),out}}).call(this,require("buffer").Buffer)},{buffer:6,inherits:45,stream:192,string_decoder:193}],8:[function(require,module,exports){require("../../modules/es6.object.assign"),module.exports=require("../../modules/$.core").Object.assign},{"../../modules/$.core":11,"../../modules/es6.object.assign":21}],9:[function(require,module,exports){module.exports=function(it){if("function"!=typeof it)throw TypeError(it+" is not a function!");return it}},{}],10:[function(require,module,exports){var toString={}.toString;module.exports=function(it){return toString.call(it).slice(8,-1)}},{}],11:[function(require,module,exports){var core=module.exports={version:"1.2.6"};"number"==typeof __e&&(__e=core)},{}],12:[function(require,module,exports){var aFunction=require("./$.a-function");module.exports=function(fn,that,length){if(aFunction(fn),void 0===that)return fn;switch(length){case 1:return function(a){return fn.call(that,a)};case 2:return function(a,b){return fn.call(that,a,b)};case 3:return function(a,b,c){return fn.call(that,a,b,c)}}return function(){return fn.apply(that,arguments)}}},{"./$.a-function":9}],13:[function(require,module,exports){module.exports=function(it){if(void 0==it)throw TypeError("Can't call method on "+it);return it}},{}],14:[function(require,module,exports){var global=require("./$.global"),core=require("./$.core"),ctx=require("./$.ctx"),PROTOTYPE="prototype",$export=function(type,name,source){var key,own,out,IS_FORCED=type&$export.F,IS_GLOBAL=type&$export.G,IS_STATIC=type&$export.S,IS_PROTO=type&$export.P,IS_BIND=type&$export.B,IS_WRAP=type&$export.W,exports=IS_GLOBAL?core:core[name]||(core[name]={}),target=IS_GLOBAL?global:IS_STATIC?global[name]:(global[name]||{})[PROTOTYPE];IS_GLOBAL&&(source=name);for(key in source)own=!IS_FORCED&&target&&key in target,own&&key in exports||(out=own?target[key]:source[key],exports[key]=IS_GLOBAL&&"function"!=typeof target[key]?source[key]:IS_BIND&&own?ctx(out,global):IS_WRAP&&target[key]==out?function(C){var F=function(param){return this instanceof C?new C(param):C(param)};return F[PROTOTYPE]=C[PROTOTYPE],F}(out):IS_PROTO&&"function"==typeof out?ctx(Function.call,out):out,IS_PROTO&&((exports[PROTOTYPE]||(exports[PROTOTYPE]={}))[key]=out))};$export.F=1,$export.G=2,$export.S=4,$export.P=8,$export.B=16,$export.W=32,module.exports=$export},{"./$.core":11,"./$.ctx":12,"./$.global":16}],15:[function(require,module,exports){module.exports=function(exec){try{return!!exec()}catch(e){return!0}}},{}],16:[function(require,module,exports){var global=module.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=global)},{}],17:[function(require,module,exports){var cof=require("./$.cof");module.exports=Object("z").propertyIsEnumerable(0)?Object:function(it){return"String"==cof(it)?it.split(""):Object(it)}},{"./$.cof":10}],18:[function(require,module,exports){var $Object=Object;module.exports={create:$Object.create,getProto:$Object.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:$Object.getOwnPropertyDescriptor,setDesc:$Object.defineProperty,setDescs:$Object.defineProperties,getKeys:$Object.keys,getNames:$Object.getOwnPropertyNames,getSymbols:$Object.getOwnPropertySymbols,each:[].forEach}},{}],19:[function(require,module,exports){var $=require("./$"),toObject=require("./$.to-object"),IObject=require("./$.iobject");module.exports=require("./$.fails")(function(){var a=Object.assign,A={},B={},S=Symbol(),K="abcdefghijklmnopqrst";return A[S]=7,K.split("").forEach(function(k){B[k]=k}),7!=a({},A)[S]||Object.keys(a({},B)).join("")!=K})?function(target,source){for(var T=toObject(target),$$=arguments,$$len=$$.length,index=1,getKeys=$.getKeys,getSymbols=$.getSymbols,isEnum=$.isEnum;$$len>index;)for(var key,S=IObject($$[index++]),keys=getSymbols?getKeys(S).concat(getSymbols(S)):getKeys(S),length=keys.length,j=0;length>j;)isEnum.call(S,key=keys[j++])&&(T[key]=S[key]);return T}:Object.assign},{"./$":18,"./$.fails":15,"./$.iobject":17,"./$.to-object":20}],20:[function(require,module,exports){var defined=require("./$.defined");module.exports=function(it){return Object(defined(it))}},{"./$.defined":13}],21:[function(require,module,exports){var $export=require("./$.export");$export($export.S+$export.F,"Object",{assign:require("./$.object-assign")})},{"./$.export":14,"./$.object-assign":19}],22:[function(require,module,exports){(function(Buffer){function isArray(arg){return Array.isArray?Array.isArray(arg):"[object Array]"===objectToString(arg)}function isBoolean(arg){return"boolean"==typeof arg}function isNull(arg){return null===arg}function isNullOrUndefined(arg){return null==arg}function isNumber(arg){return"number"==typeof arg}function isString(arg){return"string"==typeof arg}function isSymbol(arg){return"symbol"==typeof arg}function isUndefined(arg){return void 0===arg}function isRegExp(re){return"[object RegExp]"===objectToString(re)}function isObject(arg){return"object"==typeof arg&&null!==arg}function isDate(d){return"[object Date]"===objectToString(d)}function isError(e){return"[object Error]"===objectToString(e)||e instanceof Error}function isFunction(arg){return"function"==typeof arg}function isPrimitive(arg){return null===arg||"boolean"==typeof arg||"number"==typeof arg||"string"==typeof arg||"symbol"==typeof arg||"undefined"==typeof arg}function objectToString(o){return Object.prototype.toString.call(o)}exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=Buffer.isBuffer}).call(this,{isBuffer:require("../../is-buffer/index.js")})},{"../../is-buffer/index.js":47}],23:[function(require,module,exports){(function(Buffer){"use strict";function HashNoConstructor(hash){Base.call(this,"digest"),this._hash=hash,this.buffers=[]}function Hash(hash){Base.call(this,"digest"),this._hash=hash}var inherits=require("inherits"),md5=require("./md5"),rmd160=require("ripemd160"),sha=require("sha.js"),Base=require("cipher-base");inherits(HashNoConstructor,Base),HashNoConstructor.prototype._update=function(data){this.buffers.push(data)},HashNoConstructor.prototype._final=function(){var buf=Buffer.concat(this.buffers),r=this._hash(buf);return this.buffers=null,r},inherits(Hash,Base),Hash.prototype._update=function(data){this._hash.update(data)},Hash.prototype._final=function(){return this._hash.digest()},module.exports=function(alg){return alg=alg.toLowerCase(),"md5"===alg?new HashNoConstructor(md5):"rmd160"===alg||"ripemd160"===alg?new HashNoConstructor(rmd160):new Hash(sha(alg))}}).call(this,require("buffer").Buffer)},{"./md5":25,buffer:6,"cipher-base":7,inherits:45,ripemd160:167,"sha.js":185}],24:[function(require,module,exports){(function(Buffer){"use strict";function toArray(buf,bigEndian){if(buf.length%intSize!==0){var len=buf.length+(intSize-buf.length%intSize);buf=Buffer.concat([buf,zeroBuffer],len)}for(var arr=[],fn=bigEndian?buf.readInt32BE:buf.readInt32LE,i=0;i<buf.length;i+=intSize)arr.push(fn.call(buf,i));return arr}function toBuffer(arr,size,bigEndian){for(var buf=new Buffer(size),fn=bigEndian?buf.writeInt32BE:buf.writeInt32LE,i=0;i<arr.length;i++)fn.call(buf,arr[i],4*i,!0);return buf}function hash(buf,fn,hashSize,bigEndian){Buffer.isBuffer(buf)||(buf=new Buffer(buf));var arr=fn(toArray(buf,bigEndian),buf.length*chrsz);return toBuffer(arr,hashSize,bigEndian)}var intSize=4,zeroBuffer=new Buffer(intSize);zeroBuffer.fill(0);var chrsz=8;exports.hash=hash}).call(this,require("buffer").Buffer)},{buffer:6}],25:[function(require,module,exports){"use strict";function core_md5(x,len){x[len>>5]|=128<<len%32,x[(len+64>>>9<<4)+14]=len;for(var a=1732584193,b=-271733879,c=-1732584194,d=271733878,i=0;i<x.length;i+=16){var olda=a,oldb=b,oldc=c,oldd=d;a=md5_ff(a,b,c,d,x[i+0],7,-680876936),d=md5_ff(d,a,b,c,x[i+1],12,-389564586),c=md5_ff(c,d,a,b,x[i+2],17,606105819),b=md5_ff(b,c,d,a,x[i+3],22,-1044525330),a=md5_ff(a,b,c,d,x[i+4],7,-176418897),d=md5_ff(d,a,b,c,x[i+5],12,1200080426),c=md5_ff(c,d,a,b,x[i+6],17,-1473231341),b=md5_ff(b,c,d,a,x[i+7],22,-45705983),a=md5_ff(a,b,c,d,x[i+8],7,1770035416),d=md5_ff(d,a,b,c,x[i+9],12,-1958414417),c=md5_ff(c,d,a,b,x[i+10],17,-42063),b=md5_ff(b,c,d,a,x[i+11],22,-1990404162),a=md5_ff(a,b,c,d,x[i+12],7,1804603682),d=md5_ff(d,a,b,c,x[i+13],12,-40341101),c=md5_ff(c,d,a,b,x[i+14],17,-1502002290),b=md5_ff(b,c,d,a,x[i+15],22,1236535329),a=md5_gg(a,b,c,d,x[i+1],5,-165796510),d=md5_gg(d,a,b,c,x[i+6],9,-1069501632),c=md5_gg(c,d,a,b,x[i+11],14,643717713),b=md5_gg(b,c,d,a,x[i+0],20,-373897302),a=md5_gg(a,b,c,d,x[i+5],5,-701558691),d=md5_gg(d,a,b,c,x[i+10],9,38016083),c=md5_gg(c,d,a,b,x[i+15],14,-660478335),b=md5_gg(b,c,d,a,x[i+4],20,-405537848),a=md5_gg(a,b,c,d,x[i+9],5,568446438),d=md5_gg(d,a,b,c,x[i+14],9,-1019803690),c=md5_gg(c,d,a,b,x[i+3],14,-187363961),b=md5_gg(b,c,d,a,x[i+8],20,1163531501),a=md5_gg(a,b,c,d,x[i+13],5,-1444681467),d=md5_gg(d,a,b,c,x[i+2],9,-51403784),c=md5_gg(c,d,a,b,x[i+7],14,1735328473),b=md5_gg(b,c,d,a,x[i+12],20,-1926607734),a=md5_hh(a,b,c,d,x[i+5],4,-378558),d=md5_hh(d,a,b,c,x[i+8],11,-2022574463),c=md5_hh(c,d,a,b,x[i+11],16,1839030562),b=md5_hh(b,c,d,a,x[i+14],23,-35309556),a=md5_hh(a,b,c,d,x[i+1],4,-1530992060),d=md5_hh(d,a,b,c,x[i+4],11,1272893353),c=md5_hh(c,d,a,b,x[i+7],16,-155497632),b=md5_hh(b,c,d,a,x[i+10],23,-1094730640),a=md5_hh(a,b,c,d,x[i+13],4,681279174),d=md5_hh(d,a,b,c,x[i+0],11,-358537222),c=md5_hh(c,d,a,b,x[i+3],16,-722521979),b=md5_hh(b,c,d,a,x[i+6],23,76029189),a=md5_hh(a,b,c,d,x[i+9],4,-640364487),d=md5_hh(d,a,b,c,x[i+12],11,-421815835),c=md5_hh(c,d,a,b,x[i+15],16,530742520),b=md5_hh(b,c,d,a,x[i+2],23,-995338651),a=md5_ii(a,b,c,d,x[i+0],6,-198630844),d=md5_ii(d,a,b,c,x[i+7],10,1126891415),c=md5_ii(c,d,a,b,x[i+14],15,-1416354905),b=md5_ii(b,c,d,a,x[i+5],21,-57434055),a=md5_ii(a,b,c,d,x[i+12],6,1700485571),d=md5_ii(d,a,b,c,x[i+3],10,-1894986606),c=md5_ii(c,d,a,b,x[i+10],15,-1051523),b=md5_ii(b,c,d,a,x[i+1],21,-2054922799),a=md5_ii(a,b,c,d,x[i+8],6,1873313359),d=md5_ii(d,a,b,c,x[i+15],10,-30611744),c=md5_ii(c,d,a,b,x[i+6],15,-1560198380),b=md5_ii(b,c,d,a,x[i+13],21,1309151649),a=md5_ii(a,b,c,d,x[i+4],6,-145523070),d=md5_ii(d,a,b,c,x[i+11],10,-1120210379),c=md5_ii(c,d,a,b,x[i+2],15,718787259),b=md5_ii(b,c,d,a,x[i+9],21,-343485551),a=safe_add(a,olda),b=safe_add(b,oldb),c=safe_add(c,oldc),d=safe_add(d,oldd)}return Array(a,b,c,d)}function md5_cmn(q,a,b,x,s,t){return safe_add(bit_rol(safe_add(safe_add(a,q),safe_add(x,t)),s),b)}function md5_ff(a,b,c,d,x,s,t){return md5_cmn(b&c|~b&d,a,b,x,s,t)}function md5_gg(a,b,c,d,x,s,t){return md5_cmn(b&d|c&~d,a,b,x,s,t)}function md5_hh(a,b,c,d,x,s,t){return md5_cmn(b^c^d,a,b,x,s,t)}function md5_ii(a,b,c,d,x,s,t){return md5_cmn(c^(b|~d),a,b,x,s,t)}function safe_add(x,y){var lsw=(65535&x)+(65535&y),msw=(x>>16)+(y>>16)+(lsw>>16);return msw<<16|65535&lsw}function bit_rol(num,cnt){return num<<cnt|num>>>32-cnt}var helpers=require("./helpers");module.exports=function(buf){return helpers.hash(buf,core_md5,16)}},{"./helpers":24}],26:[function(require,module,exports){(function(Buffer){"use strict";function Hmac(alg,key){Transform.call(this),alg=alg.toLowerCase(),"string"==typeof key&&(key=new Buffer(key));var blocksize="sha512"===alg||"sha384"===alg?128:64;this._alg=alg,this._key=key,key.length>blocksize?key=createHash(alg).update(key).digest():key.length<blocksize&&(key=Buffer.concat([key,ZEROS],blocksize));for(var ipad=this._ipad=new Buffer(blocksize),opad=this._opad=new Buffer(blocksize),i=0;i<blocksize;i++)ipad[i]=54^key[i],opad[i]=92^key[i];this._hash=createHash(alg).update(ipad)}var createHash=require("create-hash/browser"),inherits=require("inherits"),Transform=require("stream").Transform,ZEROS=new Buffer(128);ZEROS.fill(0),inherits(Hmac,Transform),Hmac.prototype.update=function(data,enc){return this._hash.update(data,enc),this},Hmac.prototype._transform=function(data,_,next){this._hash.update(data),next()},Hmac.prototype._flush=function(next){this.push(this.digest()),next()},Hmac.prototype.digest=function(enc){var h=this._hash.digest();return createHash(this._alg).update(this._opad).update(h).digest(enc)},module.exports=function(alg,key){return new Hmac(alg,key)}}).call(this,require("buffer").Buffer)},{buffer:6,"create-hash/browser":23,inherits:45,stream:192}],27:[function(require,module,exports){function EventEmitter(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function isFunction(arg){return"function"==typeof arg}function isNumber(arg){return"number"==typeof arg}function isObject(arg){return"object"==typeof arg&&null!==arg}function isUndefined(arg){return void 0===arg}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0,EventEmitter.defaultMaxListeners=10,EventEmitter.prototype.setMaxListeners=function(n){if(!isNumber(n)||n<0||isNaN(n))throw TypeError("n must be a positive number");return this._maxListeners=n,this},EventEmitter.prototype.emit=function(type){var er,handler,len,args,i,listeners;if(this._events||(this._events={}),"error"===type&&(!this._events.error||isObject(this._events.error)&&!this._events.error.length)){if(er=arguments[1],er instanceof Error)throw er;var err=new Error('Uncaught, unspecified "error" event. ('+er+")");throw err.context=er,err}if(handler=this._events[type],isUndefined(handler))return!1;if(isFunction(handler))switch(arguments.length){case 1:handler.call(this);break;case 2:handler.call(this,arguments[1]);break;case 3:handler.call(this,arguments[1],arguments[2]);break;default:args=Array.prototype.slice.call(arguments,1),handler.apply(this,args)}else if(isObject(handler))for(args=Array.prototype.slice.call(arguments,1),listeners=handler.slice(),len=listeners.length,i=0;i<len;i++)listeners[i].apply(this,args);return!0},EventEmitter.prototype.addListener=function(type,listener){var m;if(!isFunction(listener))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",type,isFunction(listener.listener)?listener.listener:listener),this._events[type]?isObject(this._events[type])?this._events[type].push(listener):this._events[type]=[this._events[type],listener]:this._events[type]=listener,isObject(this._events[type])&&!this._events[type].warned&&(m=isUndefined(this._maxListeners)?EventEmitter.defaultMaxListeners:this._maxListeners,m&&m>0&&this._events[type].length>m&&(this._events[type].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[type].length),"function"==typeof console.trace&&console.trace())),this},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.once=function(type,listener){function g(){this.removeListener(type,g),fired||(fired=!0,listener.apply(this,arguments))}if(!isFunction(listener))throw TypeError("listener must be a function");var fired=!1;return g.listener=listener,this.on(type,g),this},EventEmitter.prototype.removeListener=function(type,listener){var list,position,length,i;if(!isFunction(listener))throw TypeError("listener must be a function");if(!this._events||!this._events[type])return this;if(list=this._events[type],length=list.length,position=-1,list===listener||isFunction(list.listener)&&list.listener===listener)delete this._events[type],this._events.removeListener&&this.emit("removeListener",type,listener);else if(isObject(list)){for(i=length;i-- >0;)if(list[i]===listener||list[i].listener&&list[i].listener===listener){position=i;break}if(position<0)return this;1===list.length?(list.length=0,delete this._events[type]):list.splice(position,1),this._events.removeListener&&this.emit("removeListener",type,listener)}return this},EventEmitter.prototype.removeAllListeners=function(type){var key,listeners;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[type]&&delete this._events[type],this;if(0===arguments.length){for(key in this._events)"removeListener"!==key&&this.removeAllListeners(key);return this.removeAllListeners("removeListener"),this._events={},this}if(listeners=this._events[type],isFunction(listeners))this.removeListener(type,listeners);else if(listeners)for(;listeners.length;)this.removeListener(type,listeners[listeners.length-1]);return delete this._events[type],this},EventEmitter.prototype.listeners=function(type){var ret;return ret=this._events&&this._events[type]?isFunction(this._events[type])?[this._events[type]]:this._events[type].slice():[]},EventEmitter.prototype.listenerCount=function(type){if(this._events){var evlistener=this._events[type];if(isFunction(evlistener))return 1;if(evlistener)return evlistener.length}return 0},EventEmitter.listenerCount=function(emitter,type){return emitter.listenerCount(type)}},{}],28:[function(require,module,exports){var arr=[],each=arr.forEach,slice=arr.slice;module.exports=function(obj){return each.call(slice.call(arguments,1),function(source){if(source)for(var prop in source)obj[prop]=source[prop]}),obj}},{}],29:[function(require,module,exports){function Sender(opts){WildEmitter.call(this);var options=opts||{};this.config={chunksize:16384,pacing:0};var item;for(item in options)this.config[item]=options[item];this.file=null,this.channel=null}function Receiver(){WildEmitter.call(this),this.receiveBuffer=[],this.received=0,this.metadata={},this.channel=null}var WildEmitter=require("wildemitter"),util=require("util");util.inherits(Sender,WildEmitter),Sender.prototype.send=function(file,channel){var self=this;this.file=file,this.channel=channel;var usePoll="number"!=typeof channel.bufferedAmountLowThreshold,offset=0,sliceFile=function(){var reader=new window.FileReader;reader.onload=function(){return function(e){self.channel.send(e.target.result),self.emit("progress",offset,file.size,e.target.result),file.size>offset+e.target.result.byteLength?usePoll?window.setTimeout(sliceFile,self.config.pacing):channel.bufferedAmount<=channel.bufferedAmountLowThreshold&&window.setTimeout(sliceFile,0):(self.emit("progress",file.size,file.size,null),self.emit("sentFile")),offset+=self.config.chunksize}}(file);var slice=file.slice(offset,offset+self.config.chunksize);reader.readAsArrayBuffer(slice)};usePoll||(channel.bufferedAmountLowThreshold=8*this.config.chunksize,channel.addEventListener("bufferedamountlow",sliceFile)),window.setTimeout(sliceFile,0)},util.inherits(Receiver,WildEmitter),Receiver.prototype.receive=function(metadata,channel){var self=this;metadata&&(this.metadata=metadata),this.channel=channel,channel.binaryType="arraybuffer",this.channel.onmessage=function(event){var len=event.data.byteLength;self.received+=len,self.receiveBuffer.push(event.data),self.emit("progress",self.received,self.metadata.size,event.data),self.received===self.metadata.size?(self.emit("receivedFile",new window.Blob(self.receiveBuffer),self.metadata),self.receiveBuffer=[]):self.received>self.metadata.size&&(console.error("received more than expected, discarding..."),self.receiveBuffer=[])}},module.exports={},module.exports.support="undefined"!=typeof window&&window&&window.File&&window.FileReader&&window.Blob,module.exports.Sender=Sender,module.exports.Receiver=Receiver},{util:207,wildemitter:220}],30:[function(require,module,exports){function Sender(opts){WildEmitter.call(this);var self=this;this.base=new base.Sender(opts);var options=opts||{};options.hash||(options.hash="sha-1"),this.hash=hashes.createHash(options.hash),this.base.on("progress",function(start,size,data){self.emit("progress",start,size,data),data&&self.hash.update(new Uint8Array(data))}),this.base.on("sentFile",function(){self.emit("sentFile",{hash:self.hash.digest("hex"),algo:options.hash})})}function Receiver(opts){WildEmitter.call(this);var self=this;this.base=new base.Receiver(opts);var options=opts||{};options.hash||(options.hash="sha-1"),this.hash=hashes.createHash(options.hash),this.base.on("progress",function(start,size,data){self.emit("progress",start,size,data),data&&self.hash.update(new Uint8Array(data))}),this.base.on("receivedFile",function(file,metadata){metadata.actualhash=self.hash.digest("hex"),self.emit("receivedFile",file,metadata)})}var WildEmitter=require("wildemitter"),util=require("util"),hashes=require("iana-hashes"),base=require("./filetransfer");util.inherits(Sender,WildEmitter),Sender.prototype.send=function(){this.base.send.apply(this.base,arguments)},util.inherits(Receiver,WildEmitter),Receiver.prototype.receive=function(){this.base.receive.apply(this.base,arguments)},Object.defineProperty(Receiver.prototype,"metadata",{get:function(){return this.base.metadata},set:function(value){this.base.metadata=value}}),module.exports={},module.exports.support=base.support,module.exports.Sender=Sender,module.exports.Receiver=Receiver},{"./filetransfer":29,"iana-hashes":42,util:207,wildemitter:220}],31:[function(require,module,exports){var getUserMedia=require("getusermedia"),cache={};module.exports=function(constraints,cb){var error,hasConstraints=2===arguments.length,callback=hasConstraints?cb:constraints;if("undefined"==typeof window||"http:"===window.location.protocol)return error=new Error("NavigatorUserMediaError"),error.name="HTTPS_REQUIRED",callback(error);if(window.navigator.userAgent.match("Chrome")){var chromever=parseInt(window.navigator.userAgent.match(/Chrome\/(.*) /)[1],10),maxver=33,isCef=!window.chrome.webstore;if(window.navigator.userAgent.match("Linux")&&(maxver=35),sessionStorage.getScreenMediaJSExtensionId)chrome.runtime.sendMessage(sessionStorage.getScreenMediaJSExtensionId,{type:"getScreen",id:1},null,function(data){if(data&&""!==data.sourceId)constraints=hasConstraints&&constraints||{audio:!1,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:window.screen.width,maxHeight:window.screen.height,maxFrameRate:3}}},constraints.video.mandatory.chromeMediaSourceId=data.sourceId,getUserMedia(constraints,callback);else{var error=new Error("NavigatorUserMediaError");error.name="NotAllowedError",callback(error)}});else if(window.cefGetScreenMedia)window.cefGetScreenMedia(function(sourceId){if(sourceId)constraints=hasConstraints&&constraints||{audio:!1,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:window.screen.width,maxHeight:window.screen.height,maxFrameRate:3},optional:[{googLeakyBucket:!0},{googTemporalLayeredScreencast:!0}]}},constraints.video.mandatory.chromeMediaSourceId=sourceId,getUserMedia(constraints,callback);else{var error=new Error("cefGetScreenMediaError");error.name="CEF_GETSCREENMEDIA_CANCELED",callback(error)}});else if(isCef||chromever>=26&&chromever<=maxver)constraints=hasConstraints&&constraints||{video:{mandatory:{googLeakyBucket:!0,maxWidth:window.screen.width,maxHeight:window.screen.height,maxFrameRate:3,chromeMediaSource:"screen"}}},getUserMedia(constraints,callback);else{var pending=window.setTimeout(function(){return error=new Error("NavigatorUserMediaError"),error.name="EXTENSION_UNAVAILABLE",callback(error)},1e3);cache[pending]=[callback,hasConstraints?constraints:null],window.postMessage({type:"getScreen",id:pending},"*")}}else if(window.navigator.userAgent.match("Firefox")){var ffver=parseInt(window.navigator.userAgent.match(/Firefox\/(.*)/)[1],10);ffver>=33?(constraints=hasConstraints&&constraints||{video:{mozMediaSource:"window",mediaSource:"window"}},getUserMedia(constraints,function(err,stream){if(callback(err,stream),!err)var lastTime=stream.currentTime,polly=window.setInterval(function(){stream||window.clearInterval(polly),stream.currentTime==lastTime&&(window.clearInterval(polly),stream.onended&&stream.onended()),lastTime=stream.currentTime},500)})):(error=new Error("NavigatorUserMediaError"),error.name="EXTENSION_UNAVAILABLE")}},"undefined"!=typeof window&&window.addEventListener("message",function(event){if(event.origin==window.location.origin)if("gotScreen"==event.data.type&&cache[event.data.id]){var data=cache[event.data.id],constraints=data[1],callback=data[0];if(delete cache[event.data.id],""===event.data.sourceId){var error=new Error("NavigatorUserMediaError");error.name="NotAllowedError",callback(error)}else constraints=constraints||{audio:!1,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:window.screen.width,maxHeight:window.screen.height,maxFrameRate:3},optional:[{googLeakyBucket:!0},{googTemporalLayeredScreencast:!0}]}},constraints.video.mandatory.chromeMediaSourceId=event.data.sourceId,getUserMedia(constraints,callback)}else"getScreenPending"==event.data.type&&window.clearTimeout(event.data.id)})},{getusermedia:32}],32:[function(require,module,exports){require("webrtc-adapter");module.exports=function(constraints,cb){var error,haveOpts=2===arguments.length,defaultOpts={video:!0,audio:!0},denied="PermissionDeniedError",altDenied="PERMISSION_DENIED",notSatisfied="ConstraintNotSatisfiedError";return haveOpts||(cb=constraints,constraints=defaultOpts),"undefined"!=typeof navigator&&navigator.getUserMedia?constraints.audio||constraints.video?void navigator.mediaDevices.getUserMedia(constraints).then(function(stream){cb(null,stream)}).catch(function(err){var error;"string"==typeof err?(error=new Error("MediaStreamError"),err===denied||err===altDenied?error.name=denied:error.name=notSatisfied):(error=err,error.name||(error[denied]?err.name=denied:err.name=notSatisfied)),cb(error)}):(error=new Error("MediaStreamError"),error.name="NoMediaRequestedError",setTimeout(function(){cb(error)},0)):(error=new Error("MediaStreamError"),error.name="NotSupportedError",setTimeout(function(){cb(error)},0))}},{"webrtc-adapter":33}],33:[function(require,module,exports){"use strict";!function(){var logging=require("./utils").log,browserDetails=require("./utils").browserDetails;module.exports.browserDetails=browserDetails,module.exports.extractVersion=require("./utils").extractVersion,module.exports.disableLog=require("./utils").disableLog;var chromeShim=require("./chrome/chrome_shim")||null,edgeShim=require("./edge/edge_shim")||null,firefoxShim=require("./firefox/firefox_shim")||null,safariShim=require("./safari/safari_shim")||null;switch(browserDetails.browser){case"opera":case"chrome":if(!chromeShim||!chromeShim.shimPeerConnection)return void logging("Chrome shim is not included in this adapter release.");logging("adapter.js shimming chrome."),module.exports.browserShim=chromeShim,chromeShim.shimGetUserMedia(),chromeShim.shimMediaStream(),chromeShim.shimSourceObject(),chromeShim.shimPeerConnection(),chromeShim.shimOnTrack();break;case"firefox":if(!firefoxShim||!firefoxShim.shimPeerConnection)return void logging("Firefox shim is not included in this adapter release.");logging("adapter.js shimming firefox."),module.exports.browserShim=firefoxShim,firefoxShim.shimGetUserMedia(),firefoxShim.shimSourceObject(),firefoxShim.shimPeerConnection(),firefoxShim.shimOnTrack();break;case"edge":if(!edgeShim||!edgeShim.shimPeerConnection)return void logging("MS edge shim is not included in this adapter release.");logging("adapter.js shimming edge."),module.exports.browserShim=edgeShim,edgeShim.shimGetUserMedia(),edgeShim.shimPeerConnection();break;case"safari":if(!safariShim)return void logging("Safari shim is not included in this adapter release.");logging("adapter.js shimming safari."),module.exports.browserShim=safariShim,safariShim.shimGetUserMedia();break;default:logging("Unsupported browser!")}}()},{"./chrome/chrome_shim":34,"./edge/edge_shim":36,"./firefox/firefox_shim":38,"./safari/safari_shim":40,"./utils":41}],34:[function(require,module,exports){"use strict";var logging=require("../utils.js").log,browserDetails=require("../utils.js").browserDetails,chromeShim={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(f){var self=this;this._ontrack&&(this.removeEventListener("track",this._ontrack),this.removeEventListener("addstream",this._ontrackpoly)),this.addEventListener("track",this._ontrack=f),this.addEventListener("addstream",this._ontrackpoly=function(e){e.stream.addEventListener("addtrack",function(te){var event=new Event("track");event.track=te.track,event.receiver={track:te.track},event.streams=[e.stream],self.dispatchEvent(event)}),e.stream.getTracks().forEach(function(track){var event=new Event("track");event.track=track,event.receiver={track:track},event.streams=[e.stream],this.dispatchEvent(event)}.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(stream){var self=this;return this._srcObject=stream,this.src&&URL.revokeObjectURL(this.src),stream?(this.src=URL.createObjectURL(stream),stream.addEventListener("addtrack",function(){self.src&&URL.revokeObjectURL(self.src),self.src=URL.createObjectURL(stream)}),void stream.addEventListener("removetrack",function(){self.src&&URL.revokeObjectURL(self.src),self.src=URL.createObjectURL(stream)})):void(this.src="")}}))},shimPeerConnection:function(){window.RTCPeerConnection=function(pcConfig,pcConstraints){logging("PeerConnection"),pcConfig&&pcConfig.iceTransportPolicy&&(pcConfig.iceTransports=pcConfig.iceTransportPolicy);var pc=new webkitRTCPeerConnection(pcConfig,pcConstraints),origGetStats=pc.getStats.bind(pc);return pc.getStats=function(selector,successCallback,errorCallback){var self=this,args=arguments;if(arguments.length>0&&"function"==typeof selector)return origGetStats(selector,successCallback);var fixChromeStats_=function(response){var standardReport={},reports=response.result();return reports.forEach(function(report){var standardStats={id:report.id,timestamp:report.timestamp,type:report.type};report.names().forEach(function(name){standardStats[name]=report.stat(name)}),standardReport[standardStats.id]=standardStats}),standardReport},makeMapStats=function(stats,legacyStats){var map=new Map(Object.keys(stats).map(function(key){return[key,stats[key]]}));return legacyStats=legacyStats||stats,Object.keys(legacyStats).forEach(function(key){map[key]=legacyStats[key]}),map};if(arguments.length>=2){var successCallbackWrapper_=function(response){args[1](makeMapStats(fixChromeStats_(response)))};return origGetStats.apply(this,[successCallbackWrapper_,arguments[0]])}return new Promise(function(resolve,reject){1===args.length&&"object"==typeof selector?origGetStats.apply(self,[function(response){resolve(makeMapStats(fixChromeStats_(response)))},reject]):origGetStats.apply(self,[function(response){resolve(makeMapStats(fixChromeStats_(response),response.result()))},reject])}).then(successCallback,errorCallback)},pc},window.RTCPeerConnection.prototype=webkitRTCPeerConnection.prototype,webkitRTCPeerConnection.generateCertificate&&Object.defineProperty(window.RTCPeerConnection,"generateCertificate",{get:function(){return webkitRTCPeerConnection.generateCertificate}}),["createOffer","createAnswer"].forEach(function(method){var nativeMethod=webkitRTCPeerConnection.prototype[method];webkitRTCPeerConnection.prototype[method]=function(){var self=this;if(arguments.length<1||1===arguments.length&&"object"==typeof arguments[0]){var opts=1===arguments.length?arguments[0]:void 0;return new Promise(function(resolve,reject){nativeMethod.apply(self,[resolve,reject,opts]);
+})}return nativeMethod.apply(this,arguments)}}),browserDetails.version<51&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(method){var nativeMethod=webkitRTCPeerConnection.prototype[method];webkitRTCPeerConnection.prototype[method]=function(){var args=arguments,self=this,promise=new Promise(function(resolve,reject){nativeMethod.apply(self,[args[0],resolve,reject])});return args.length<2?promise:promise.then(function(){args[1].apply(null,[])},function(err){args.length>=3&&args[2].apply(null,[err])})}}),["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(method){var nativeMethod=webkitRTCPeerConnection.prototype[method];webkitRTCPeerConnection.prototype[method]=function(){return arguments[0]=new("addIceCandidate"===method?RTCIceCandidate:RTCSessionDescription)(arguments[0]),nativeMethod.apply(this,arguments)}});var nativeAddIceCandidate=RTCPeerConnection.prototype.addIceCandidate;RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?nativeAddIceCandidate.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}};module.exports={shimMediaStream:chromeShim.shimMediaStream,shimOnTrack:chromeShim.shimOnTrack,shimSourceObject:chromeShim.shimSourceObject,shimPeerConnection:chromeShim.shimPeerConnection,shimGetUserMedia:require("./getusermedia")}},{"../utils.js":41,"./getusermedia":35}],35:[function(require,module,exports){"use strict";var logging=require("../utils.js").log;module.exports=function(){var constraintsToChrome_=function(c){if("object"!=typeof c||c.mandatory||c.optional)return c;var cc={};return Object.keys(c).forEach(function(key){if("require"!==key&&"advanced"!==key&&"mediaSource"!==key){var r="object"==typeof c[key]?c[key]:{ideal:c[key]};void 0!==r.exact&&"number"==typeof r.exact&&(r.min=r.max=r.exact);var oldname_=function(prefix,name){return prefix?prefix+name.charAt(0).toUpperCase()+name.slice(1):"deviceId"===name?"sourceId":name};if(void 0!==r.ideal){cc.optional=cc.optional||[];var oc={};"number"==typeof r.ideal?(oc[oldname_("min",key)]=r.ideal,cc.optional.push(oc),oc={},oc[oldname_("max",key)]=r.ideal,cc.optional.push(oc)):(oc[oldname_("",key)]=r.ideal,cc.optional.push(oc))}void 0!==r.exact&&"number"!=typeof r.exact?(cc.mandatory=cc.mandatory||{},cc.mandatory[oldname_("",key)]=r.exact):["min","max"].forEach(function(mix){void 0!==r[mix]&&(cc.mandatory=cc.mandatory||{},cc.mandatory[oldname_(mix,key)]=r[mix])})}}),c.advanced&&(cc.optional=(cc.optional||[]).concat(c.advanced)),cc},shimConstraints_=function(constraints,func){if(constraints=JSON.parse(JSON.stringify(constraints)),constraints&&constraints.audio&&(constraints.audio=constraintsToChrome_(constraints.audio)),constraints&&"object"==typeof constraints.video){var face=constraints.video.facingMode;if(face=face&&("object"==typeof face?face:{ideal:face}),face&&("user"===face.exact||"environment"===face.exact||"user"===face.ideal||"environment"===face.ideal)&&(!navigator.mediaDevices.getSupportedConstraints||!navigator.mediaDevices.getSupportedConstraints().facingMode)&&(delete constraints.video.facingMode,"environment"===face.exact||"environment"===face.ideal))return navigator.mediaDevices.enumerateDevices().then(function(devices){devices=devices.filter(function(d){return"videoinput"===d.kind});var back=devices.find(function(d){return d.label.toLowerCase().indexOf("back")!==-1})||devices.length&&devices[devices.length-1];return back&&(constraints.video.deviceId=face.exact?{exact:back.deviceId}:{ideal:back.deviceId}),constraints.video=constraintsToChrome_(constraints.video),logging("chrome: "+JSON.stringify(constraints)),func(constraints)});constraints.video=constraintsToChrome_(constraints.video)}return logging("chrome: "+JSON.stringify(constraints)),func(constraints)},shimError_=function(e){return{name:{PermissionDeniedError:"NotAllowedError",ConstraintNotSatisfiedError:"OverconstrainedError"}[e.name]||e.name,message:e.message,constraint:e.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}},getUserMedia_=function(constraints,onSuccess,onError){shimConstraints_(constraints,function(c){navigator.webkitGetUserMedia(c,onSuccess,function(e){onError(shimError_(e))})})};navigator.getUserMedia=getUserMedia_;var getUserMediaPromise_=function(constraints){return new Promise(function(resolve,reject){navigator.getUserMedia(constraints,resolve,reject)})};if(navigator.mediaDevices||(navigator.mediaDevices={getUserMedia:getUserMediaPromise_,enumerateDevices:function(){return new Promise(function(resolve){var kinds={audio:"audioinput",video:"videoinput"};return MediaStreamTrack.getSources(function(devices){resolve(devices.map(function(device){return{label:device.label,kind:kinds[device.kind],deviceId:device.id,groupId:""}}))})})}}),navigator.mediaDevices.getUserMedia){var origGetUserMedia=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(cs){return shimConstraints_(cs,function(c){return origGetUserMedia(c).then(function(stream){if(c.audio&&!stream.getAudioTracks().length||c.video&&!stream.getVideoTracks().length)throw stream.getTracks().forEach(function(track){track.stop()}),new DOMException("","NotFoundError");return stream},function(e){return Promise.reject(shimError_(e))})})}}else navigator.mediaDevices.getUserMedia=function(constraints){return getUserMediaPromise_(constraints)};"undefined"==typeof navigator.mediaDevices.addEventListener&&(navigator.mediaDevices.addEventListener=function(){logging("Dummy mediaDevices.addEventListener called.")}),"undefined"==typeof navigator.mediaDevices.removeEventListener&&(navigator.mediaDevices.removeEventListener=function(){logging("Dummy mediaDevices.removeEventListener called.")})}},{"../utils.js":41}],36:[function(require,module,exports){"use strict";var SDPUtils=require("sdp"),browserDetails=require("../utils").browserDetails,edgeShim={shimPeerConnection:function(){if(window.RTCIceGatherer){window.RTCIceCandidate||(window.RTCIceCandidate=function(args){return args}),window.RTCSessionDescription||(window.RTCSessionDescription=function(args){return args});var origMSTEnabled=Object.getOwnPropertyDescriptor(MediaStreamTrack.prototype,"enabled");Object.defineProperty(MediaStreamTrack.prototype,"enabled",{set:function(value){origMSTEnabled.set.call(this,value);var ev=new Event("enabled");ev.enabled=value,this.dispatchEvent(ev)}})}window.RTCPeerConnection=function(config){var self=this,_eventTarget=document.createDocumentFragment();if(["addEventListener","removeEventListener","dispatchEvent"].forEach(function(method){self[method]=_eventTarget[method].bind(_eventTarget)}),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 self.localStreams},this.getRemoteStreams=function(){return self.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:[]},config&&config.iceTransportPolicy)switch(config.iceTransportPolicy){case"all":case"relay":this.iceOptions.gatherPolicy=config.iceTransportPolicy;break;case"none":throw new TypeError('iceTransportPolicy "none" not supported')}if(this.usingBundle=config&&"max-bundle"===config.bundlePolicy,config&&config.iceServers){var iceServers=JSON.parse(JSON.stringify(config.iceServers));this.iceOptions.iceServers=iceServers.filter(function(server){if(server&&server.urls){var urls=server.urls;return"string"==typeof urls&&(urls=[urls]),urls=urls.filter(function(url){return 0===url.indexOf("turn:")&&url.indexOf("transport=udp")!==-1&&url.indexOf("turn:[")===-1||0===url.indexOf("stun:")&&browserDetails.version>=14393})[0],!!urls}return!1})}this._config=config,this.transceivers=[],this._localIceCandidatesBuffer=[]},window.RTCPeerConnection.prototype._emitBufferedCandidates=function(){var self=this,sections=SDPUtils.splitSections(self.localDescription.sdp);this._localIceCandidatesBuffer.forEach(function(event){var end=!event.candidate||0===Object.keys(event.candidate).length;if(end)for(var j=1;j<sections.length;j++)sections[j].indexOf("\r\na=end-of-candidates\r\n")===-1&&(sections[j]+="a=end-of-candidates\r\n");else event.candidate.candidate.indexOf("typ endOfCandidates")===-1&&(sections[event.candidate.sdpMLineIndex+1]+="a="+event.candidate.candidate+"\r\n");if(self.localDescription.sdp=sections.join(""),self.dispatchEvent(event),null!==self.onicecandidate&&self.onicecandidate(event),!event.candidate&&"complete"!==self.iceGatheringState){var complete=self.transceivers.every(function(transceiver){return transceiver.iceGatherer&&"completed"===transceiver.iceGatherer.state});complete&&(self.iceGatheringState="complete")}}),this._localIceCandidatesBuffer=[]},window.RTCPeerConnection.prototype.getConfiguration=function(){return this._config},window.RTCPeerConnection.prototype.addStream=function(stream){var clonedStream=stream.clone();stream.getTracks().forEach(function(track,idx){var clonedTrack=clonedStream.getTracks()[idx];track.addEventListener("enabled",function(event){clonedTrack.enabled=event.enabled})}),this.localStreams.push(clonedStream),this._maybeFireNegotiationNeeded()},window.RTCPeerConnection.prototype.removeStream=function(stream){var idx=this.localStreams.indexOf(stream);idx>-1&&(this.localStreams.splice(idx,1),this._maybeFireNegotiationNeeded())},window.RTCPeerConnection.prototype.getSenders=function(){return this.transceivers.filter(function(transceiver){return!!transceiver.rtpSender}).map(function(transceiver){return transceiver.rtpSender})},window.RTCPeerConnection.prototype.getReceivers=function(){return this.transceivers.filter(function(transceiver){return!!transceiver.rtpReceiver}).map(function(transceiver){return transceiver.rtpReceiver})},window.RTCPeerConnection.prototype._getCommonCapabilities=function(localCapabilities,remoteCapabilities){var commonCapabilities={codecs:[],headerExtensions:[],fecMechanisms:[]};return localCapabilities.codecs.forEach(function(lCodec){for(var i=0;i<remoteCapabilities.codecs.length;i++){var rCodec=remoteCapabilities.codecs[i];if(lCodec.name.toLowerCase()===rCodec.name.toLowerCase()&&lCodec.clockRate===rCodec.clockRate){rCodec.numChannels=Math.min(lCodec.numChannels,rCodec.numChannels),commonCapabilities.codecs.push(rCodec),rCodec.rtcpFeedback=rCodec.rtcpFeedback.filter(function(fb){for(var j=0;j<lCodec.rtcpFeedback.length;j++)if(lCodec.rtcpFeedback[j].type===fb.type&&lCodec.rtcpFeedback[j].parameter===fb.parameter)return!0;return!1});break}}}),localCapabilities.headerExtensions.forEach(function(lHeaderExtension){for(var i=0;i<remoteCapabilities.headerExtensions.length;i++){var rHeaderExtension=remoteCapabilities.headerExtensions[i];if(lHeaderExtension.uri===rHeaderExtension.uri){commonCapabilities.headerExtensions.push(rHeaderExtension);break}}}),commonCapabilities},window.RTCPeerConnection.prototype._createIceAndDtlsTransports=function(mid,sdpMLineIndex){var self=this,iceGatherer=new RTCIceGatherer(self.iceOptions),iceTransport=new RTCIceTransport(iceGatherer);iceGatherer.onlocalcandidate=function(evt){var event=new Event("icecandidate");event.candidate={sdpMid:mid,sdpMLineIndex:sdpMLineIndex};var cand=evt.candidate,end=!cand||0===Object.keys(cand).length;end?(void 0===iceGatherer.state&&(iceGatherer.state="completed"),event.candidate.candidate="candidate:1 1 udp 1 0.0.0.0 9 typ endOfCandidates"):(cand.component="RTCP"===iceTransport.component?2:1,event.candidate.candidate=SDPUtils.writeCandidate(cand));var sections=SDPUtils.splitSections(self.localDescription.sdp);event.candidate.candidate.indexOf("typ endOfCandidates")===-1?sections[event.candidate.sdpMLineIndex+1]+="a="+event.candidate.candidate+"\r\n":sections[event.candidate.sdpMLineIndex+1]+="a=end-of-candidates\r\n",self.localDescription.sdp=sections.join("");var complete=self.transceivers.every(function(transceiver){return transceiver.iceGatherer&&"completed"===transceiver.iceGatherer.state});switch(self.iceGatheringState){case"new":self._localIceCandidatesBuffer.push(event),end&&complete&&self._localIceCandidatesBuffer.push(new Event("icecandidate"));break;case"gathering":self._emitBufferedCandidates(),self.dispatchEvent(event),null!==self.onicecandidate&&self.onicecandidate(event),complete&&(self.dispatchEvent(new Event("icecandidate")),null!==self.onicecandidate&&self.onicecandidate(new Event("icecandidate")),self.iceGatheringState="complete");break;case"complete":}},iceTransport.onicestatechange=function(){self._updateConnectionState()};var dtlsTransport=new RTCDtlsTransport(iceTransport);return dtlsTransport.ondtlsstatechange=function(){self._updateConnectionState()},dtlsTransport.onerror=function(){dtlsTransport.state="failed",self._updateConnectionState()},{iceGatherer:iceGatherer,iceTransport:iceTransport,dtlsTransport:dtlsTransport}},window.RTCPeerConnection.prototype._transceive=function(transceiver,send,recv){var params=this._getCommonCapabilities(transceiver.localCapabilities,transceiver.remoteCapabilities);send&&transceiver.rtpSender&&(params.encodings=transceiver.sendEncodingParameters,params.rtcp={cname:SDPUtils.localCName},transceiver.recvEncodingParameters.length&&(params.rtcp.ssrc=transceiver.recvEncodingParameters[0].ssrc),transceiver.rtpSender.send(params)),recv&&transceiver.rtpReceiver&&("video"===transceiver.kind&&transceiver.recvEncodingParameters&&transceiver.recvEncodingParameters.forEach(function(p){delete p.rtx}),params.encodings=transceiver.recvEncodingParameters,params.rtcp={cname:transceiver.cname},transceiver.sendEncodingParameters.length&&(params.rtcp.ssrc=transceiver.sendEncodingParameters[0].ssrc),transceiver.rtpReceiver.receive(params))},window.RTCPeerConnection.prototype.setLocalDescription=function(description){var sections,sessionpart,self=this;if("offer"===description.type)this._pendingOffer&&(sections=SDPUtils.splitSections(description.sdp),sessionpart=sections.shift(),sections.forEach(function(mediaSection,sdpMLineIndex){var caps=SDPUtils.parseRtpParameters(mediaSection);self._pendingOffer[sdpMLineIndex].localCapabilities=caps}),this.transceivers=this._pendingOffer,delete this._pendingOffer);else if("answer"===description.type){sections=SDPUtils.splitSections(self.remoteDescription.sdp),sessionpart=sections.shift();var isIceLite=SDPUtils.matchPrefix(sessionpart,"a=ice-lite").length>0;sections.forEach(function(mediaSection,sdpMLineIndex){var transceiver=self.transceivers[sdpMLineIndex],iceGatherer=transceiver.iceGatherer,iceTransport=transceiver.iceTransport,dtlsTransport=transceiver.dtlsTransport,localCapabilities=transceiver.localCapabilities,remoteCapabilities=transceiver.remoteCapabilities,rejected="0"===mediaSection.split("\n",1)[0].split(" ",2)[1];if(!rejected&&!transceiver.isDatachannel){var remoteIceParameters=SDPUtils.getIceParameters(mediaSection,sessionpart);if(isIceLite){var cands=SDPUtils.matchPrefix(mediaSection,"a=candidate:").map(function(cand){return SDPUtils.parseCandidate(cand)}).filter(function(cand){return"1"===cand.component});cands.length&&iceTransport.setRemoteCandidates(cands)}var remoteDtlsParameters=SDPUtils.getDtlsParameters(mediaSection,sessionpart);isIceLite&&(remoteDtlsParameters.role="server"),self.usingBundle&&0!==sdpMLineIndex||(iceTransport.start(iceGatherer,remoteIceParameters,isIceLite?"controlling":"controlled"),dtlsTransport.start(remoteDtlsParameters));var params=self._getCommonCapabilities(localCapabilities,remoteCapabilities);self._transceive(transceiver,params.codecs.length>0,!1)}})}switch(this.localDescription={type:description.type,sdp:description.sdp},description.type){case"offer":this._updateSignalingState("have-local-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+description.type+'"')}var hasCallback=arguments.length>1&&"function"==typeof arguments[1];if(hasCallback){var cb=arguments[1];window.setTimeout(function(){cb(),"new"===self.iceGatheringState&&(self.iceGatheringState="gathering"),self._emitBufferedCandidates()},0)}var p=Promise.resolve();return p.then(function(){hasCallback||("new"===self.iceGatheringState&&(self.iceGatheringState="gathering"),window.setTimeout(self._emitBufferedCandidates.bind(self),500))}),p},window.RTCPeerConnection.prototype.setRemoteDescription=function(description){var self=this,stream=new MediaStream,receiverList=[],sections=SDPUtils.splitSections(description.sdp),sessionpart=sections.shift(),isIceLite=SDPUtils.matchPrefix(sessionpart,"a=ice-lite").length>0;switch(this.usingBundle=SDPUtils.matchPrefix(sessionpart,"a=group:BUNDLE ").length>0,sections.forEach(function(mediaSection,sdpMLineIndex){var lines=SDPUtils.splitLines(mediaSection),mline=lines[0].substr(2).split(" "),kind=mline[0],rejected="0"===mline[1],direction=SDPUtils.getDirection(mediaSection,sessionpart),mid=SDPUtils.matchPrefix(mediaSection,"a=mid:");if(mid=mid.length?mid[0].substr(6):SDPUtils.generateIdentifier(),"application"===kind&&"DTLS/SCTP"===mline[2])return void(self.transceivers[sdpMLineIndex]={mid:mid,isDatachannel:!0});var transceiver,iceGatherer,iceTransport,dtlsTransport,rtpSender,rtpReceiver,sendEncodingParameters,recvEncodingParameters,localCapabilities,track,remoteIceParameters,remoteDtlsParameters,remoteCapabilities=SDPUtils.parseRtpParameters(mediaSection);rejected||(remoteIceParameters=SDPUtils.getIceParameters(mediaSection,sessionpart),remoteDtlsParameters=SDPUtils.getDtlsParameters(mediaSection,sessionpart),remoteDtlsParameters.role="client"),recvEncodingParameters=SDPUtils.parseRtpEncodingParameters(mediaSection);var cname,remoteSsrc=SDPUtils.matchPrefix(mediaSection,"a=ssrc:").map(function(line){return SDPUtils.parseSsrcMedia(line)}).filter(function(obj){return"cname"===obj.attribute})[0];remoteSsrc&&(cname=remoteSsrc.value);var isComplete=SDPUtils.matchPrefix(mediaSection,"a=end-of-candidates",sessionpart).length>0,cands=SDPUtils.matchPrefix(mediaSection,"a=candidate:").map(function(cand){return SDPUtils.parseCandidate(cand)}).filter(function(cand){return"1"===cand.component});if("offer"!==description.type||rejected)"answer"!==description.type||rejected||(transceiver=self.transceivers[sdpMLineIndex],iceGatherer=transceiver.iceGatherer,iceTransport=transceiver.iceTransport,dtlsTransport=transceiver.dtlsTransport,rtpSender=transceiver.rtpSender,rtpReceiver=transceiver.rtpReceiver,sendEncodingParameters=transceiver.sendEncodingParameters,localCapabilities=transceiver.localCapabilities,self.transceivers[sdpMLineIndex].recvEncodingParameters=recvEncodingParameters,self.transceivers[sdpMLineIndex].remoteCapabilities=remoteCapabilities,self.transceivers[sdpMLineIndex].cname=cname,(isIceLite||isComplete)&&cands.length&&iceTransport.setRemoteCandidates(cands),self.usingBundle&&0!==sdpMLineIndex||(iceTransport.start(iceGatherer,remoteIceParameters,"controlling"),dtlsTransport.start(remoteDtlsParameters)),self._transceive(transceiver,"sendrecv"===direction||"recvonly"===direction,"sendrecv"===direction||"sendonly"===direction),!rtpReceiver||"sendrecv"!==direction&&"sendonly"!==direction?delete transceiver.rtpReceiver:(track=rtpReceiver.track,receiverList.push([track,rtpReceiver]),stream.addTrack(track)));else{var transports=self.usingBundle&&sdpMLineIndex>0?{iceGatherer:self.transceivers[0].iceGatherer,iceTransport:self.transceivers[0].iceTransport,dtlsTransport:self.transceivers[0].dtlsTransport}:self._createIceAndDtlsTransports(mid,sdpMLineIndex);if(isComplete&&transports.iceTransport.setRemoteCandidates(cands),localCapabilities=RTCRtpReceiver.getCapabilities(kind),localCapabilities.codecs=localCapabilities.codecs.filter(function(codec){return"rtx"!==codec.name}),sendEncodingParameters=[{ssrc:1001*(2*sdpMLineIndex+2)}],rtpReceiver=new RTCRtpReceiver(transports.dtlsTransport,kind),track=rtpReceiver.track,receiverList.push([track,rtpReceiver]),stream.addTrack(track),self.localStreams.length>0&&self.localStreams[0].getTracks().length>=sdpMLineIndex){var localTrack;"audio"===kind?localTrack=self.localStreams[0].getAudioTracks()[0]:"video"===kind&&(localTrack=self.localStreams[0].getVideoTracks()[0]),localTrack&&(rtpSender=new RTCRtpSender(localTrack,transports.dtlsTransport))}self.transceivers[sdpMLineIndex]={iceGatherer:transports.iceGatherer,iceTransport:transports.iceTransport,dtlsTransport:transports.dtlsTransport,localCapabilities:localCapabilities,remoteCapabilities:remoteCapabilities,rtpSender:rtpSender,rtpReceiver:rtpReceiver,kind:kind,mid:mid,cname:cname,sendEncodingParameters:sendEncodingParameters,recvEncodingParameters:recvEncodingParameters},self._transceive(self.transceivers[sdpMLineIndex],!1,"sendrecv"===direction||"sendonly"===direction)}}),this.remoteDescription={type:description.type,sdp:description.sdp},description.type){case"offer":this._updateSignalingState("have-remote-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+description.type+'"')}return stream.getTracks().length&&(self.remoteStreams.push(stream),window.setTimeout(function(){var event=new Event("addstream");event.stream=stream,self.dispatchEvent(event),null!==self.onaddstream&&window.setTimeout(function(){self.onaddstream(event)},0),receiverList.forEach(function(item){var track=item[0],receiver=item[1],trackEvent=new Event("track");trackEvent.track=track,trackEvent.receiver=receiver,trackEvent.streams=[stream],self.dispatchEvent(event),null!==self.ontrack&&window.setTimeout(function(){self.ontrack(trackEvent)},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(transceiver){transceiver.iceTransport&&transceiver.iceTransport.stop(),transceiver.dtlsTransport&&transceiver.dtlsTransport.stop(),transceiver.rtpSender&&transceiver.rtpSender.stop(),transceiver.rtpReceiver&&transceiver.rtpReceiver.stop()}),this._updateSignalingState("closed")},window.RTCPeerConnection.prototype._updateSignalingState=function(newState){this.signalingState=newState;var event=new Event("signalingstatechange");this.dispatchEvent(event),null!==this.onsignalingstatechange&&this.onsignalingstatechange(event)},window.RTCPeerConnection.prototype._maybeFireNegotiationNeeded=function(){var event=new Event("negotiationneeded");this.dispatchEvent(event),null!==this.onnegotiationneeded&&this.onnegotiationneeded(event)},window.RTCPeerConnection.prototype._updateConnectionState=function(){var newState,self=this,states={new:0,closed:0,connecting:0,checking:0,connected:0,completed:0,failed:0};if(this.transceivers.forEach(function(transceiver){states[transceiver.iceTransport.state]++,states[transceiver.dtlsTransport.state]++}),states.connected+=states.completed,newState="new",states.failed>0?newState="failed":states.connecting>0||states.checking>0?newState="connecting":states.disconnected>0?newState="disconnected":states.new>0?newState="new":(states.connected>0||states.completed>0)&&(newState="connected"),newState!==self.iceConnectionState){self.iceConnectionState=newState;var event=new Event("iceconnectionstatechange");this.dispatchEvent(event),null!==this.oniceconnectionstatechange&&this.oniceconnectionstatechange(event)}},window.RTCPeerConnection.prototype.createOffer=function(){var self=this;if(this._pendingOffer)throw new Error("createOffer called while there is a pending offer.");var offerOptions;1===arguments.length&&"function"!=typeof arguments[0]?offerOptions=arguments[0]:3===arguments.length&&(offerOptions=arguments[2]);var tracks=[],numAudioTracks=0,numVideoTracks=0;if(this.localStreams.length&&(numAudioTracks=this.localStreams[0].getAudioTracks().length,numVideoTracks=this.localStreams[0].getVideoTracks().length),offerOptions){if(offerOptions.mandatory||offerOptions.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");void 0!==offerOptions.offerToReceiveAudio&&(numAudioTracks=offerOptions.offerToReceiveAudio),void 0!==offerOptions.offerToReceiveVideo&&(numVideoTracks=offerOptions.offerToReceiveVideo)}for(this.localStreams.length&&this.localStreams[0].getTracks().forEach(function(track){tracks.push({kind:track.kind,track:track,wantReceive:"audio"===track.kind?numAudioTracks>0:numVideoTracks>0}),"audio"===track.kind?numAudioTracks--:"video"===track.kind&&numVideoTracks--});numAudioTracks>0||numVideoTracks>0;)numAudioTracks>0&&(tracks.push({kind:"audio",wantReceive:!0}),numAudioTracks--),numVideoTracks>0&&(tracks.push({kind:"video",wantReceive:!0}),numVideoTracks--);var sdp=SDPUtils.writeSessionBoilerplate(),transceivers=[];tracks.forEach(function(mline,sdpMLineIndex){var track=mline.track,kind=mline.kind,mid=SDPUtils.generateIdentifier(),transports=self.usingBundle&&sdpMLineIndex>0?{iceGatherer:transceivers[0].iceGatherer,iceTransport:transceivers[0].iceTransport,dtlsTransport:transceivers[0].dtlsTransport}:self._createIceAndDtlsTransports(mid,sdpMLineIndex),localCapabilities=RTCRtpSender.getCapabilities(kind);localCapabilities.codecs=localCapabilities.codecs.filter(function(codec){return"rtx"!==codec.name}),localCapabilities.codecs.forEach(function(codec){"H264"===codec.name&&void 0===codec.parameters["level-asymmetry-allowed"]&&(codec.parameters["level-asymmetry-allowed"]="1")});var rtpSender,rtpReceiver,sendEncodingParameters=[{ssrc:1001*(2*sdpMLineIndex+1)}];track&&(rtpSender=new RTCRtpSender(track,transports.dtlsTransport)),mline.wantReceive&&(rtpReceiver=new RTCRtpReceiver(transports.dtlsTransport,kind)),transceivers[sdpMLineIndex]={iceGatherer:transports.iceGatherer,iceTransport:transports.iceTransport,dtlsTransport:transports.dtlsTransport,localCapabilities:localCapabilities,remoteCapabilities:null,rtpSender:rtpSender,rtpReceiver:rtpReceiver,kind:kind,mid:mid,sendEncodingParameters:sendEncodingParameters,recvEncodingParameters:null}}),this.usingBundle&&(sdp+="a=group:BUNDLE "+transceivers.map(function(t){return t.mid}).join(" ")+"\r\n"),tracks.forEach(function(mline,sdpMLineIndex){var transceiver=transceivers[sdpMLineIndex];sdp+=SDPUtils.writeMediaSection(transceiver,transceiver.localCapabilities,"offer",self.localStreams[0])}),this._pendingOffer=transceivers;var desc=new RTCSessionDescription({type:"offer",sdp:sdp});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,desc),Promise.resolve(desc)},window.RTCPeerConnection.prototype.createAnswer=function(){var self=this,sdp=SDPUtils.writeSessionBoilerplate();this.usingBundle&&(sdp+="a=group:BUNDLE "+this.transceivers.map(function(t){return t.mid}).join(" ")+"\r\n"),this.transceivers.forEach(function(transceiver){if(transceiver.isDatachannel)return void(sdp+="m=application 0 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=mid:"+transceiver.mid+"\r\n");var commonCapabilities=self._getCommonCapabilities(transceiver.localCapabilities,transceiver.remoteCapabilities);sdp+=SDPUtils.writeMediaSection(transceiver,commonCapabilities,"answer",self.localStreams[0])});var desc=new RTCSessionDescription({type:"answer",sdp:sdp});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,desc),Promise.resolve(desc)},window.RTCPeerConnection.prototype.addIceCandidate=function(candidate){if(candidate){var mLineIndex=candidate.sdpMLineIndex;if(candidate.sdpMid)for(var i=0;i<this.transceivers.length;i++)if(this.transceivers[i].mid===candidate.sdpMid){mLineIndex=i;break}var transceiver=this.transceivers[mLineIndex];if(transceiver){var cand=Object.keys(candidate.candidate).length>0?SDPUtils.parseCandidate(candidate.candidate):{};if("tcp"===cand.protocol&&(0===cand.port||9===cand.port))return;if("1"!==cand.component)return;"endOfCandidates"===cand.type&&(cand={}),transceiver.iceTransport.addRemoteCandidate(cand);var sections=SDPUtils.splitSections(this.remoteDescription.sdp);sections[mLineIndex+1]+=(cand.type?candidate.candidate.trim():"a=end-of-candidates")+"\r\n",this.remoteDescription.sdp=sections.join("")}}else this.transceivers.forEach(function(transceiver){transceiver.iceTransport.addRemoteCandidate({})});return arguments.length>1&&"function"==typeof arguments[1]&&window.setTimeout(arguments[1],0),Promise.resolve()},window.RTCPeerConnection.prototype.getStats=function(){var promises=[];this.transceivers.forEach(function(transceiver){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(method){transceiver[method]&&promises.push(transceiver[method].getStats())})});var cb=arguments.length>1&&"function"==typeof arguments[1]&&arguments[1];return new Promise(function(resolve){var results=new Map;Promise.all(promises).then(function(res){res.forEach(function(result){Object.keys(result).forEach(function(id){results.set(id,result[id]),results[id]=result[id]})}),cb&&window.setTimeout(cb,0,results),resolve(results)})})}}};module.exports={shimPeerConnection:edgeShim.shimPeerConnection,shimGetUserMedia:require("./getusermedia")}},{"../utils":41,"./getusermedia":37,sdp:183}],37:[function(require,module,exports){"use strict";module.exports=function(){var shimError_=function(e){return{name:{PermissionDeniedError:"NotAllowedError"}[e.name]||e.name,message:e.message,constraint:e.constraint,toString:function(){return this.name}}},origGetUserMedia=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(c){return origGetUserMedia(c).catch(function(e){return Promise.reject(shimError_(e))})}}},{}],38:[function(require,module,exports){"use strict";var browserDetails=require("../utils").browserDetails,firefoxShim={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(f){this._ontrack&&(this.removeEventListener("track",this._ontrack),this.removeEventListener("addstream",this._ontrackpoly)),this.addEventListener("track",this._ontrack=f),this.addEventListener("addstream",this._ontrackpoly=function(e){e.stream.getTracks().forEach(function(track){var event=new Event("track");event.track=track,event.receiver={track:track},event.streams=[e.stream],this.dispatchEvent(event)}.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(stream){this.mozSrcObject=stream}}))},shimPeerConnection:function(){if("object"==typeof window&&(window.RTCPeerConnection||window.mozRTCPeerConnection)){window.RTCPeerConnection||(window.RTCPeerConnection=function(pcConfig,pcConstraints){if(browserDetails.version<38&&pcConfig&&pcConfig.iceServers){for(var newIceServers=[],i=0;i<pcConfig.iceServers.length;i++){var server=pcConfig.iceServers[i];if(server.hasOwnProperty("urls"))for(var j=0;j<server.urls.length;j++){var newServer={url:server.urls[j]};0===server.urls[j].indexOf("turn")&&(newServer.username=server.username,newServer.credential=server.credential),newIceServers.push(newServer)}else newIceServers.push(pcConfig.iceServers[i])}pcConfig.iceServers=newIceServers}return new mozRTCPeerConnection(pcConfig,pcConstraints)},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(method){
+var nativeMethod=RTCPeerConnection.prototype[method];RTCPeerConnection.prototype[method]=function(){return arguments[0]=new("addIceCandidate"===method?RTCIceCandidate:RTCSessionDescription)(arguments[0]),nativeMethod.apply(this,arguments)}});var nativeAddIceCandidate=RTCPeerConnection.prototype.addIceCandidate;if(RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?nativeAddIceCandidate.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())},browserDetails.version<48){var makeMapStats=function(stats){var map=new Map;return Object.keys(stats).forEach(function(key){map.set(key,stats[key]),map[key]=stats[key]}),map},nativeGetStats=RTCPeerConnection.prototype.getStats;RTCPeerConnection.prototype.getStats=function(selector,onSucc,onErr){return nativeGetStats.apply(this,[selector||null]).then(function(stats){return makeMapStats(stats)}).then(onSucc,onErr)}}}}};module.exports={shimOnTrack:firefoxShim.shimOnTrack,shimSourceObject:firefoxShim.shimSourceObject,shimPeerConnection:firefoxShim.shimPeerConnection,shimGetUserMedia:require("./getusermedia")}},{"../utils":41,"./getusermedia":39}],39:[function(require,module,exports){"use strict";var logging=require("../utils").log,browserDetails=require("../utils").browserDetails;module.exports=function(){var shimError_=function(e){return{name:{SecurityError:"NotAllowedError",PermissionDeniedError:"NotAllowedError"}[e.name]||e.name,message:{"The operation is insecure.":"The request is not allowed by the user agent or the platform in the current context."}[e.message]||e.message,constraint:e.constraint,toString:function(){return this.name+(this.message&&": ")+this.message}}},getUserMedia_=function(constraints,onSuccess,onError){var constraintsToFF37_=function(c){if("object"!=typeof c||c.require)return c;var require=[];return Object.keys(c).forEach(function(key){if("require"!==key&&"advanced"!==key&&"mediaSource"!==key){var r=c[key]="object"==typeof c[key]?c[key]:{ideal:c[key]};if(void 0===r.min&&void 0===r.max&&void 0===r.exact||require.push(key),void 0!==r.exact&&("number"==typeof r.exact?r.min=r.max=r.exact:c[key]=r.exact,delete r.exact),void 0!==r.ideal){c.advanced=c.advanced||[];var oc={};"number"==typeof r.ideal?oc[key]={min:r.ideal,max:r.ideal}:oc[key]=r.ideal,c.advanced.push(oc),delete r.ideal,Object.keys(r).length||delete c[key]}}}),require.length&&(c.require=require),c};return constraints=JSON.parse(JSON.stringify(constraints)),browserDetails.version<38&&(logging("spec: "+JSON.stringify(constraints)),constraints.audio&&(constraints.audio=constraintsToFF37_(constraints.audio)),constraints.video&&(constraints.video=constraintsToFF37_(constraints.video)),logging("ff37: "+JSON.stringify(constraints))),navigator.mozGetUserMedia(constraints,onSuccess,function(e){onError(shimError_(e))})},getUserMediaPromise_=function(constraints){return new Promise(function(resolve,reject){getUserMedia_(constraints,resolve,reject)})};if(navigator.mediaDevices||(navigator.mediaDevices={getUserMedia:getUserMediaPromise_,addEventListener:function(){},removeEventListener:function(){}}),navigator.mediaDevices.enumerateDevices=navigator.mediaDevices.enumerateDevices||function(){return new Promise(function(resolve){var infos=[{kind:"audioinput",deviceId:"default",label:"",groupId:""},{kind:"videoinput",deviceId:"default",label:"",groupId:""}];resolve(infos)})},browserDetails.version<41){var orgEnumerateDevices=navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices);navigator.mediaDevices.enumerateDevices=function(){return orgEnumerateDevices().then(void 0,function(e){if("NotFoundError"===e.name)return[];throw e})}}if(browserDetails.version<49){var origGetUserMedia=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(c){return origGetUserMedia(c).then(function(stream){if(c.audio&&!stream.getAudioTracks().length||c.video&&!stream.getVideoTracks().length)throw stream.getTracks().forEach(function(track){track.stop()}),new DOMException("The object can not be found here.","NotFoundError");return stream},function(e){return Promise.reject(shimError_(e))})}}navigator.getUserMedia=function(constraints,onSuccess,onError){return browserDetails.version<44?getUserMedia_(constraints,onSuccess,onError):(console.warn("navigator.getUserMedia has been replaced by navigator.mediaDevices.getUserMedia"),void navigator.mediaDevices.getUserMedia(constraints).then(onSuccess,onError))}}},{"../utils":41}],40:[function(require,module,exports){"use strict";var safariShim={shimGetUserMedia:function(){navigator.getUserMedia=navigator.webkitGetUserMedia}};module.exports={shimGetUserMedia:safariShim.shimGetUserMedia}},{}],41:[function(require,module,exports){"use strict";var logDisabled_=!0,utils={disableLog:function(bool){return"boolean"!=typeof bool?new Error("Argument type: "+typeof bool+". Please use a boolean."):(logDisabled_=bool,bool?"adapter.js logging disabled":"adapter.js logging enabled")},log:function(){if("object"==typeof window){if(logDisabled_)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}},extractVersion:function(uastring,expr,pos){var match=uastring.match(expr);return match&&match.length>=pos&&parseInt(match[pos],10)},detectBrowser:function(){var result={};if(result.browser=null,result.version=null,"undefined"==typeof window||!window.navigator)return result.browser="Not a browser.",result;if(navigator.mozGetUserMedia)result.browser="firefox",result.version=this.extractVersion(navigator.userAgent,/Firefox\/([0-9]+)\./,1);else if(navigator.webkitGetUserMedia)if(window.webkitRTCPeerConnection)result.browser="chrome",result.version=this.extractVersion(navigator.userAgent,/Chrom(e|ium)\/([0-9]+)\./,2);else{if(!navigator.userAgent.match(/Version\/(\d+).(\d+)/))return result.browser="Unsupported webkit-based browser with GUM support but no WebRTC support.",result;result.browser="safari",result.version=this.extractVersion(navigator.userAgent,/AppleWebKit\/([0-9]+)\./,1)}else{if(!navigator.mediaDevices||!navigator.userAgent.match(/Edge\/(\d+).(\d+)$/))return result.browser="Not a supported browser.",result;result.browser="edge",result.version=this.extractVersion(navigator.userAgent,/Edge\/(\d+).(\d+)$/,2)}return result}};module.exports={log:utils.log,disableLog:utils.disableLog,browserDetails:utils.detectBrowser(),extractVersion:utils.extractVersion}},{}],42:[function(require,module,exports){var createHash=require("create-hash"),createHmac=require("create-hmac"),getHashes=require("./lib/get-hashes"),mapping={md2:"md2",md5:"md5","sha-1":"sha1","sha-224":"sha224","sha-256":"sha256","sha-384":"sha384","sha-512":"sha512"},names=Object.keys(mapping);exports.getHashes=function(){for(var result=[],available=getHashes(),i=0,len=names.length;i<len;i++)available.indexOf(mapping[names[i]])>=0&&result.push(names[i]);return result},exports.createHash=function(algorithm){return algorithm=algorithm.toLowerCase(),mapping[algorithm]&&(algorithm=mapping[algorithm]),createHash(algorithm)},exports.createHmac=function(algorithm,key){return algorithm=algorithm.toLowerCase(),mapping[algorithm]&&(algorithm=mapping[algorithm]),createHmac(algorithm,key)}},{"./lib/get-hashes":43,"create-hash":23,"create-hmac":26}],43:[function(require,module,exports){module.exports=function(){return["sha1","sha224","sha256","sha384","sha512","md5","rmd160"]}},{}],44:[function(require,module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m,eLen=8*nBytes-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,nBits=-7,i=isLE?nBytes-1:0,d=isLE?-1:1,s=buffer[offset+i];for(i+=d,e=s&(1<<-nBits)-1,s>>=-nBits,nBits+=eLen;nBits>0;e=256*e+buffer[offset+i],i+=d,nBits-=8);for(m=e&(1<<-nBits)-1,e>>=-nBits,nBits+=mLen;nBits>0;m=256*m+buffer[offset+i],i+=d,nBits-=8);if(0===e)e=1-eBias;else{if(e===eMax)return m?NaN:(s?-1:1)*(1/0);m+=Math.pow(2,mLen),e-=eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)},exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c,eLen=8*nBytes-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,rt=23===mLen?Math.pow(2,-24)-Math.pow(2,-77):0,i=isLE?0:nBytes-1,d=isLE?1:-1,s=value<0||0===value&&1/value<0?1:0;for(value=Math.abs(value),isNaN(value)||value===1/0?(m=isNaN(value)?1:0,e=eMax):(e=Math.floor(Math.log(value)/Math.LN2),value*(c=Math.pow(2,-e))<1&&(e--,c*=2),value+=e+eBias>=1?rt/c:rt*Math.pow(2,1-eBias),value*c>=2&&(e++,c/=2),e+eBias>=eMax?(m=0,e=eMax):e+eBias>=1?(m=(value*c-1)*Math.pow(2,mLen),e+=eBias):(m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen),e=0));mLen>=8;buffer[offset+i]=255&m,i+=d,m/=256,mLen-=8);for(e=e<<mLen|m,eLen+=mLen;eLen>0;buffer[offset+i]=255&e,i+=d,e/=256,eLen-=8);buffer[offset+i-d]|=128*s}},{}],45:[function(require,module,exports){"function"==typeof Object.create?module.exports=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}},{}],46:[function(require,module,exports){function intersect(a,b){for(var res=[],i=0;i<a.length;i++)indexOf(b,a[i])>-1&&res.push(a[i]);return res}function indexOf(arr,el){for(var i=0;i<arr.length;i++)if(arr[i]===el)return i;return-1}module.exports=intersect,intersect.big=function(a,b){for(var ret=[],temp={},i=0;i<b.length;i++)temp[b[i]]=!0;for(var i=0;i<a.length;i++)temp[a[i]]&&ret.push(a[i]);return ret}},{}],47:[function(require,module,exports){function isBuffer(obj){return!!obj.constructor&&"function"==typeof obj.constructor.isBuffer&&obj.constructor.isBuffer(obj)}function isSlowBuffer(obj){return"function"==typeof obj.readFloatLE&&"function"==typeof obj.slice&&isBuffer(obj.slice(0,0))}/*!
* Determine if an object is a Buffer
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
-module.exports=function(obj){return null!=obj&&(isBuffer(obj)||isSlowBuffer(obj)||!!obj._isBuffer)}},{}],48:[function(require,module,exports){var toString={}.toString;module.exports=Array.isArray||function(arr){return"[object Array]"==toString.call(arr)}},{}],49:[function(require,module,exports){function FileTransferSession(opts){BaseSession.call(this,opts),this.pc=new RTCPeerConnection({iceServers:opts.iceServers||[],useJingle:!0},opts.constraints||{}),this.pc.on("ice",this.onIceCandidate.bind(this)),this.pc.on("iceConnectionStateChange",this.onIceStateChange.bind(this)),this.pc.on("addChannel",this.onChannelAdded.bind(this)),this.sender=null,this.receiver=null}var util=require("util"),extend=require("extend-object"),BaseSession=require("jingle-session"),RTCPeerConnection=require("rtcpeerconnection"),FileTransfer=require("filetransfer/hashed");util.inherits(FileTransferSession,BaseSession),FileTransferSession.prototype=extend(FileTransferSession.prototype,{start:function(file){var self=this;this.state="pending",this.pc.isInitiator=!0,this.sender=new FileTransfer.Sender,this.sender.on("progress",function(sent,size){self._log("info","Send progress "+sent+"/"+size)}),this.sender.on("sentFile",function(meta){self._log("info","Sent file",meta.name);var content=self.pc.localDescription.contents[0];delete content.transport,content.application={applicationType:"filetransfer",offer:{hash:{algo:meta.algo,value:meta.hash}}},self.send("description-info",{contents:[content]}),self.emit("sentFile",self,meta)});var sendChannel=this.pc.createDataChannel("filetransfer");sendChannel.onopen=function(){self.sender.send(file,sendChannel)};var constraints={mandatory:{OfferToReceiveAudio:!1,OfferToReceiveVideo:!1}};this.pc.offer(constraints,function(err,offer){return err?(self._log("error","Could not create WebRTC offer",err),self.end("failed-application",!0)):(offer.jingle.contents[0].application={applicationType:"filetransfer",offer:{date:file.lastModifiedDate,name:file.name,size:file.size,hash:{algo:"sha-1",value:""}}},void self.send("session-initiate",offer.jingle))})},accept:function(){var self=this;this._log("info","Accepted incoming session"),this.state="active",this.pc.answer(function(err,answer){return err?(self._log("error","Could not create WebRTC answer",err),self.end("failed-application")):void self.send("session-accept",answer.jingle)})},end:function(reason,silent){this.pc.close(),BaseSession.prototype.end.call(this,reason,silent)},maybeReceivedFile:function(){this.receiver.metadata.hash.value&&(this.receiver.metadata.hash.value===this.receiver.metadata.actualhash?(this._log("info","File hash matches"),this.emit("receivedFile",this,this.receivedFile,this.receiver.metadata),this.end("success")):(this._log("error","File hash does not match"),this.end("media-error")))},onIceCandidate:function(candidate){this._log("info","Discovered new ICE candidate",candidate.jingle),this.send("transport-info",candidate.jingle)},onIceStateChange:function(){switch(this.pc.iceConnectionState){case"checking":this.connectionState="connecting";break;case"completed":case"connected":this.connectionState="connected";break;case"disconnected":"stable"===this.pc.signalingState?this.connectionState="interrupted":this.connectionState="disconnected";break;case"failed":this.connectionState="failed",this.end("failed-transport");break;case"closed":this.connectionState="disconnected"}},onChannelAdded:function(channel){this.receiver.receive(null,channel)},onSessionInitiate:function(changes,cb){var self=this;this._log("info","Initiating incoming session"),this.state="pending",this.pc.isInitiator=!1;var desc=changes.contents[0].application;this.receiver=new FileTransfer.Receiver({hash:desc.offer.hash.algo}),this.receiver.on("progress",function(received,size){self._log("info","Receive progress "+received+"/"+size)}),this.receiver.on("receivedFile",function(file){self.receivedFile=file,self.maybeReceivedFile()}),this.receiver.metadata=desc.offer,changes.contents[0].application={applicationType:"datachannel"},this.pc.handleOffer({type:"offer",jingle:changes},function(err){return err?(self._log("error","Could not create WebRTC answer"),cb({condition:"general-error"})):void cb()})},onSessionAccept:function(changes,cb){var self=this;this.state="active",changes.contents[0].application={applicationType:"datachannel"},this.pc.handleAnswer({type:"answer",jingle:changes},function(err){return err?(self._log("error","Could not process WebRTC answer"),cb({condition:"general-error"})):(self.emit("accepted",self),void cb())})},onSessionTerminate:function(changes,cb){this._log("info","Terminating session"),this.pc.close(),BaseSession.prototype.end.call(this,changes.reason,!0),cb()},onDescriptionInfo:function(info,cb){var hash=info.contents[0].application.offer.hash;this.receiver.metadata.hash=hash,this.receiver.metadata.actualhash&&this.maybeReceivedFile(),cb()},onTransportInfo:function(changes,cb){this.pc.processIce(changes,function(){cb()})}}),module.exports=FileTransferSession},{"extend-object":28,"filetransfer/hashed":30,"jingle-session":51,rtcpeerconnection:167,util:197}],50:[function(require,module,exports){function filterContentSources(content,stream){"rtp"===content.application.applicationType&&(delete content.transport,delete content.application.payloads,delete content.application.headerExtensions,content.application.mux=!1,content.application.sources&&(content.application.sources=content.application.sources.filter(function(source){return stream.id===source.parameters[1].value.split(" ")[0]})),content.application.sourceGroups&&(content.application.sourceGroups=content.application.sourceGroups.filter(function(group){for(var found=!1,i=0;i<content.application.sources.length;i++)if(content.application.sources[i].ssrc===group.sources[0]){found=!0;break}return found})))}function filterUnusedLabels(content){var sources=content.application.sources||[];sources.forEach(function(source){source.parameters=source.parameters.filter(function(parameter){return!("mslabel"===parameter.key||"label"===parameter.key)})})}function MediaSession(opts){BaseSession.call(this,opts),this.pc=new RTCPeerConnection({iceServers:opts.iceServers||[],useJingle:!0},opts.constraints||{}),this.pc.on("ice",this.onIceCandidate.bind(this,opts)),this.pc.on("endOfCandidates",this.onIceEndOfCandidates.bind(this,opts)),this.pc.on("iceConnectionStateChange",this.onIceStateChange.bind(this)),this.pc.on("addStream",this.onAddStream.bind(this)),this.pc.on("removeStream",this.onRemoveStream.bind(this)),this.pc.on("addChannel",this.onAddChannel.bind(this)),opts.stream&&this.addStream(opts.stream),this._ringing=!1}var util=require("util"),extend=require("extend-object"),BaseSession=require("jingle-session"),RTCPeerConnection=require("rtcpeerconnection");util.inherits(MediaSession,BaseSession),Object.defineProperties(MediaSession.prototype,{ringing:{get:function(){return this._ringing},set:function(value){value!==this._ringing&&(this._ringing=value,this.emit("change:ringing",value))}},streams:{get:function(){return"closed"!==this.pc.signalingState?this.pc.getRemoteStreams():[]}}}),MediaSession.prototype=extend(MediaSession.prototype,{start:function(offerOptions,next){var self=this;this.state="pending",next=next||function(){},this.pc.isInitiator=!0,this.pc.offer(offerOptions,function(err,offer){return err?(self._log("error","Could not create WebRTC offer",err),self.end("failed-application",!0)):(offerOptions&&offerOptions.mandatory&&offer.jingle.contents.forEach(function(content){var mediaType=content.application.media;content.description&&"rtp"===content.application.applicationType&&(offerOptions.mandatory.OfferToReceiveAudio||"audio"!==mediaType||(content.senders="initiator"),offerOptions.mandatory.OfferToReceiveVideo||"video"!==mediaType||(content.senders="initiator"))}),offer.jingle.contents.forEach(filterUnusedLabels),self.send("session-initiate",offer.jingle),void next())})},accept:function(opts,next){var self=this;1===arguments.length&&"function"==typeof opts&&(next=opts,opts={}),next=next||function(){},opts=opts||{};var constraints=opts.constraints||{mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:!0}};this._log("info","Accepted incoming session"),this.state="active",this.pc.answer(constraints,function(err,answer){return err?(self._log("error","Could not create WebRTC answer",err),self.end("failed-application")):(answer.jingle.contents.forEach(filterUnusedLabels),self.send("session-accept",answer.jingle),void next())})},end:function(reason,silent){var self=this;this.streams.forEach(function(stream){self.onRemoveStream({stream:stream})}),this.pc.close(),BaseSession.prototype.end.call(this,reason,silent)},ring:function(){this._log("info","Ringing on incoming session"),this.ringing=!0,this.send("session-info",{ringing:!0})},mute:function(creator,name){this._log("info","Muting",name),this.send("session-info",{mute:{creator:creator,name:name}})},unmute:function(creator,name){this._log("info","Unmuting",name),this.send("session-info",{unmute:{creator:creator,name:name}})},hold:function(){this._log("info","Placing on hold"),this.send("session-info",{hold:!0})},resume:function(){this._log("info","Resuming from hold"),this.send("session-info",{active:!0})},addStream:function(stream,renegotiate,cb){var self=this;cb=cb||function(){},this.pc.addStream(stream),renegotiate&&this.pc.handleOffer({type:"offer",jingle:this.pc.remoteDescription},function(err){return err?(self._log("error","Could not create offer for adding new stream"),cb(err)):void self.pc.answer(function(err,answer){return err?(self._log("error","Could not create answer for adding new stream"),cb(err)):(answer.jingle.contents.forEach(function(content){filterContentSources(content,stream)}),answer.jingle.contents=answer.jingle.contents.filter(function(content){return"rtp"===content.application.applicationType&&content.application.sources&&content.application.sources.length}),delete answer.jingle.groups,self.send("source-add",answer.jingle),void cb())})})},addStream2:function(stream,cb){this.addStream(stream,!0,cb)},removeStream:function(stream,renegotiate,cb){var self=this;if(cb=cb||function(){},!renegotiate)return void this.pc.removeStream(stream);var desc=this.pc.localDescription;desc.contents.forEach(function(content){filterContentSources(content,stream)}),desc.contents=desc.contents.filter(function(content){return"rtp"===content.application.applicationType&&content.application.sources&&content.application.sources.length}),delete desc.groups,this.send("source-remove",desc),this.pc.removeStream(stream),this.pc.handleOffer({type:"offer",jingle:this.pc.remoteDescription},function(err){return err?(self._log("error","Could not process offer for removing stream"),cb(err)):void self.pc.answer(function(err){return err?(self._log("error","Could not process answer for removing stream"),cb(err)):void cb()})})},removeStream2:function(stream,cb){this.removeStream(stream,!0,cb)},switchStream:function(oldStream,newStream,cb){var self=this;cb=cb||function(){};var desc=this.pc.localDescription;desc.contents.forEach(function(content){delete content.transport,delete content.application.payloads}),this.pc.removeStream(oldStream),this.send("source-remove",desc),this.pc.addStream(newStream),this.pc.handleOffer({type:"offer",jingle:this.pc.remoteDescription},function(err){return err?(self._log("error","Could not process offer for switching streams"),cb(err)):void self.pc.answer(function(err,answer){return err?(self._log("error","Could not process answer for switching streams"),cb(err)):(answer.jingle.contents.forEach(function(content){delete content.transport,delete content.application.payloads}),self.send("source-add",answer.jingle),void cb())})})},onIceCandidate:function(opts,candidate){this._log("info","Discovered new ICE candidate",candidate.jingle),this.send("transport-info",candidate.jingle),opts.signalEndOfCandidates&&(this.lastCandidate=candidate)},onIceEndOfCandidates:function(opts){if(this._log("info","ICE end of candidates"),opts.signalEndOfCandidates){var endOfCandidates=this.lastCandidate.jingle;endOfCandidates.contents[0].transport={transportType:endOfCandidates.contents[0].transport.transportType,gatheringComplete:!0},this.lastCandidate=null,this.send("transport-info",endOfCandidates)}},onIceStateChange:function(){switch(this.pc.iceConnectionState){case"checking":this.connectionState="connecting";break;case"completed":case"connected":this.connectionState="connected";break;case"disconnected":"stable"===this.pc.signalingState?this.connectionState="interrupted":this.connectionState="disconnected";break;case"failed":this.connectionState="failed",this.end("failed-transport");break;case"closed":this.connectionState="disconnected"}},onAddStream:function(event){this._log("info","Stream added"),this.emit("peerStreamAdded",this,event.stream)},onRemoveStream:function(event){this._log("info","Stream removed"),this.emit("peerStreamRemoved",this,event.stream)},onSessionInitiate:function(changes,cb){var self=this;this._log("info","Initiating incoming session"),this.state="pending",this.pc.isInitiator=!1,this.pc.handleOffer({type:"offer",jingle:changes},function(err){return err?(self._log("error","Could not create WebRTC answer"),cb({condition:"general-error"})):void cb()})},onSessionAccept:function(changes,cb){var self=this;this.state="active",this.pc.handleAnswer({type:"answer",jingle:changes},function(err){return err?(self._log("error","Could not process WebRTC answer"),cb({condition:"general-error"})):(self.emit("accepted",self),void cb())})},onSessionTerminate:function(changes,cb){var self=this;this._log("info","Terminating session"),this.streams.forEach(function(stream){self.onRemoveStream({stream:stream})}),this.pc.close(),BaseSession.prototype.end.call(this,changes.reason,!0),cb()},onSessionInfo:function(info,cb){return info.ringing?(this._log("info","Outgoing session is ringing"),this.ringing=!0,this.emit("ringing",this),cb()):info.hold?(this._log("info","On hold"),this.emit("hold",this),cb()):info.active?(this._log("info","Resuming from hold"),this.emit("resumed",this),cb()):info.mute?(this._log("info","Muting",info.mute),this.emit("mute",this,info.mute),cb()):info.unmute?(this._log("info","Unmuting",info.unmute),this.emit("unmute",this,info.unmute),cb()):void cb()},onTransportInfo:function(changes,cb){this.pc.processIce(changes,function(){cb()})},onSourceAdd:function(changes,cb){var self=this;this._log("info","Adding new stream source");var newDesc=this.pc.remoteDescription;this.pc.remoteDescription.contents.forEach(function(content,idx){var desc=content.application,ssrcs=desc.sources||[],groups=desc.sourceGroups||[];changes.contents.forEach(function(newContent){if(content.name===newContent.name){var newContentDesc=newContent.application,newSSRCs=newContentDesc.sources||[];ssrcs=ssrcs.concat(newSSRCs),newDesc.contents[idx].application.sources=JSON.parse(JSON.stringify(ssrcs));var newGroups=newContentDesc.sourceGroups||[];groups=groups.concat(newGroups),newDesc.contents[idx].application.sourceGroups=JSON.parse(JSON.stringify(groups))}})}),this.pc.handleOffer({type:"offer",jingle:newDesc},function(err){return err?(self._log("error","Error adding new stream source"),cb({condition:"general-error"})):void self.pc.answer(function(err){return err?(self._log("error","Error adding new stream source"),cb({condition:"general-error"})):void cb()})})},onSourceRemove:function(changes,cb){var self=this;this._log("info","Removing stream source");var newDesc=this.pc.remoteDescription;this.pc.remoteDescription.contents.forEach(function(content,idx){var desc=content.application,ssrcs=desc.sources||[],groups=desc.sourceGroups||[];changes.contents.forEach(function(newContent){if(content.name===newContent.name){var found,i,j,k,newContentDesc=newContent.application,newSSRCs=newContentDesc.sources||[],newGroups=newContentDesc.sourceGroups||[];for(i=0;i<newSSRCs.length;i++){for(found=-1,j=0;j<ssrcs.length;j++)if(newSSRCs[i].ssrc===ssrcs[j].ssrc){found=j;break}found>-1&&(ssrcs.splice(found,1),newDesc.contents[idx].application.sources=JSON.parse(JSON.stringify(ssrcs)))}for(i=0;i<newGroups.length;i++){for(found=-1,j=0;j<groups.length;j++)if(newGroups[i].semantics===groups[j].semantics&&newGroups[i].sources.length===groups[j].sources.length){var same=!0;for(k=0;k<newGroups[i].sources.length;k++)if(newGroups[i].sources[k]!==groups[j].sources[k]){same=!1;break}if(same){found=j;break}}found>-1&&(groups.splice(found,1),newDesc.contents[idx].application.sourceGroups=JSON.parse(JSON.stringify(groups)))}}})}),this.pc.handleOffer({type:"offer",jingle:newDesc},function(err){return err?(self._log("error","Error removing stream source"),cb({condition:"general-error"})):void self.pc.answer(function(err){return err?(self._log("error","Error removing stream source"),cb({condition:"general-error"})):void cb()})})},onAddChannel:function(channel){this.emit("addChannel",channel)}}),module.exports=MediaSession},{"extend-object":28,"jingle-session":51,rtcpeerconnection:167,util:197}],51:[function(require,module,exports){function JingleSession(opts){WildEmitter.call(this);var self=this;this.sid=opts.sid||uuid.v4(),this.peer=opts.peer,this.peerID=opts.peerID||this.peer.full||this.peer,this.isInitiator=opts.initiator||!1,this.parent=opts.parent,this.state="starting",this.connectionState="starting",this.pendingApplicationTypes=opts.applicationTypes||[],this.pendingAction=!1,this.processingQueue=async.queue(function(task,next){if(self.ended)return next();var action=task.action,changes=task.changes,cb=task.cb;return self._log("debug",action),ACTIONS[action]?void self[ACTIONS[action]](changes,function(err,result){return cb(err,result),next()}):(self._log("error","Invalid action: "+action),cb({condition:"bad-request"}),next())})}var util=require("util"),uuid=require("uuid"),async=require("async"),extend=require("extend-object"),WildEmitter=require("wildemitter"),ACTIONS={"content-accept":"onContentAccept","content-add":"onContentAdd","content-modify":"onConentModify","content-reject":"onContentReject","content-remove":"onContentRemove","description-info":"onDescriptionInfo","security-info":"onSecurityInfo","session-accept":"onSessionAccept","session-info":"onSessionInfo","session-initiate":"onSessionInitiate","session-terminate":"onSessionTerminate","transport-accept":"onTransportAccept","transport-info":"onTransportInfo","transport-reject":"onTransportReject","transport-replace":"onTransportReplace","source-add":"onSourceAdd","source-remove":"onSourceRemove"};util.inherits(JingleSession,WildEmitter),Object.keys(ACTIONS).forEach(function(action){var method=ACTIONS[action];JingleSession.prototype[method]=function(changes,cb){this._log("error","Unsupported action: "+action),cb()}}),Object.defineProperties(JingleSession.prototype,{state:{get:function(){return this._sessionState},set:function(value){if(value!==this._sessionState){var prev=this._sessionState;this._log("info","Changing session state to: "+value),this._sessionState=value,this.emit("change:sessionState",this,value),this.emit("change:"+value,this,!0),prev&&this.emit("change:"+prev,this,!1)}}},connectionState:{get:function(){return this._connectionState},set:function(value){if(value!==this._connectionState){var prev=this._connectionState;this._log("info","Changing connection state to: "+value),this._connectionState=value,this.emit("change:connectionState",this,value),this.emit("change:"+value,this,!0),prev&&this.emit("change:"+prev,this,!1)}}},starting:{get:function(){return"starting"===this._sessionState}},pending:{get:function(){return"pending"===this._sessionState}},active:{get:function(){return"active"===this._sessionState}},ended:{get:function(){return"ended"===this._sessionState}},connected:{get:function(){return"connected"===this._connectionState}},connecting:{get:function(){return"connecting"===this._connectionState}},disconnected:{get:function(){return"disconnected"===this._connectionState}},interrupted:{get:function(){return"interrupted"===this._connectionState}}}),JingleSession.prototype=extend(JingleSession.prototype,{_log:function(level,message){message=this.sid+": "+message,this.emit("log:"+level,message)},send:function(action,data){data=data||{},data.sid=this.sid,data.action=action;var requirePending={"session-inititate":!0,"session-accept":!0,"content-add":!0,"content-remove":!0,"content-reject":!0,"content-accept":!0,"content-modify":!0,"transport-replace":!0,"transport-reject":!0,"transport-accept":!0,"source-add":!0,"source-remove":!0};requirePending[action]?this.pendingAction=action:this.pendingAction=!1,this.emit("send",{to:this.peer,type:"set",jingle:data})},process:function(action,changes,cb){this.processingQueue.push({action:action,changes:changes,cb:cb})},start:function(){this._log("error","Can not start base sessions"),this.end("unsupported-applications",!0)},accept:function(){this._log("error","Can not accept base sessions"),this.end("unsupported-applications")},cancel:function(){this.end("cancel")},decline:function(){this.end("decline")},end:function(reason,silent){this.state="ended",this.processingQueue.kill(),reason||(reason="success"),"string"==typeof reason&&(reason={condition:reason}),silent||this.send("session-terminate",{reason:reason}),this.emit("terminated",this,reason)},onSessionTerminate:function(changes,cb){this.end(changes.reason,!0),cb()},onSessionInfo:function(changes,cb){var okKeys={sid:!0,action:!0,initiator:!0,responder:!0},unknownPayload=!1;Object.keys(changes).forEach(function(key){okKeys[key]||(unknownPayload=!0)}),unknownPayload?cb({type:"modify",condition:"feature-not-implemented",jingleCondition:"unsupported-info"}):cb()},onDescriptionInfo:function(changes,cb){cb({type:"modify",condition:"feature-not-implemented",jingleCondition:"unsupported-info"})},onTransportInfo:function(changes,cb){cb({type:"modify",condition:"feature-not-implemented",jingleCondition:"unsupported-info"})},onContentAdd:function(changes,cb){cb(),this.send("content-reject",{reason:{condition:"failed-application",text:"content-add is not supported"}})},onTransportReplace:function(changes,cb){cb(),this.send("transport-reject",{reason:{condition:"failed-application",text:"transport-replace is not supported"}})}}),module.exports=JingleSession},{async:52,"extend-object":28,util:197,uuid:199,wildemitter:211}],52:[function(require,module,exports){(function(process,global){!function(){function noop(){}function identity(v){return v}function toBool(v){return!!v}function notId(v){return!v}function only_once(fn){return function(){if(null===fn)throw new Error("Callback was already called.");fn.apply(this,arguments),fn=null}}function _once(fn){return function(){null!==fn&&(fn.apply(this,arguments),fn=null)}}function _isArrayLike(arr){return _isArray(arr)||"number"==typeof arr.length&&arr.length>=0&&arr.length%1===0}function _arrayEach(arr,iterator){for(var index=-1,length=arr.length;++index<length;)iterator(arr[index],index,arr)}function _map(arr,iterator){for(var index=-1,length=arr.length,result=Array(length);++index<length;)result[index]=iterator(arr[index],index,arr);return result}function _range(count){return _map(Array(count),function(v,i){return i})}function _reduce(arr,iterator,memo){return _arrayEach(arr,function(x,i,a){memo=iterator(memo,x,i,a)}),memo}function _forEachOf(object,iterator){_arrayEach(_keys(object),function(key){iterator(object[key],key)})}function _indexOf(arr,item){for(var i=0;i<arr.length;i++)if(arr[i]===item)return i;return-1}function _keyIterator(coll){var len,keys,i=-1;return _isArrayLike(coll)?(len=coll.length,function(){return i++,i<len?i:null}):(keys=_keys(coll),len=keys.length,function(){return i++,i<len?keys[i]:null})}function _restParam(func,startIndex){return startIndex=null==startIndex?func.length-1:+startIndex,function(){for(var length=Math.max(arguments.length-startIndex,0),rest=Array(length),index=0;index<length;index++)rest[index]=arguments[index+startIndex];switch(startIndex){case 0:return func.call(this,rest);case 1:return func.call(this,arguments[0],rest)}}}function _withoutIndex(iterator){return function(value,index,callback){return iterator(value,callback)}}function _eachOfLimit(limit){return function(obj,iterator,callback){callback=_once(callback||noop),obj=obj||[];var nextKey=_keyIterator(obj);if(limit<=0)return callback(null);var done=!1,running=0,errored=!1;!function replenish(){if(done&&running<=0)return callback(null);for(;running<limit&&!errored;){var key=nextKey();if(null===key)return done=!0,void(running<=0&&callback(null));running+=1,iterator(obj[key],key,only_once(function(err){running-=1,err?(callback(err),errored=!0):replenish()}))}}()}}function doParallel(fn){return function(obj,iterator,callback){return fn(async.eachOf,obj,iterator,callback)}}function doParallelLimit(fn){return function(obj,limit,iterator,callback){return fn(_eachOfLimit(limit),obj,iterator,callback)}}function doSeries(fn){return function(obj,iterator,callback){return fn(async.eachOfSeries,obj,iterator,callback)}}function _asyncMap(eachfn,arr,iterator,callback){callback=_once(callback||noop),arr=arr||[];var results=_isArrayLike(arr)?[]:{};eachfn(arr,function(value,index,callback){iterator(value,function(err,v){results[index]=v,callback(err)})},function(err){callback(err,results)})}function _filter(eachfn,arr,iterator,callback){var results=[];eachfn(arr,function(x,index,callback){iterator(x,function(v){v&&results.push({index:index,value:x}),callback()})},function(){callback(_map(results.sort(function(a,b){return a.index-b.index}),function(x){return x.value}))})}function _reject(eachfn,arr,iterator,callback){_filter(eachfn,arr,function(value,cb){iterator(value,function(v){cb(!v)})},callback)}function _createTester(eachfn,check,getResult){return function(arr,limit,iterator,cb){function done(){cb&&cb(getResult(!1,void 0))}function iteratee(x,_,callback){return cb?void iterator(x,function(v){cb&&check(v)&&(cb(getResult(!0,x)),cb=iterator=!1),callback()}):callback()}arguments.length>3?eachfn(arr,limit,iteratee,done):(cb=iterator,iterator=limit,eachfn(arr,iteratee,done))}}function _findGetResult(v,x){return x}function _parallel(eachfn,tasks,callback){callback=callback||noop;var results=_isArrayLike(tasks)?[]:{};eachfn(tasks,function(task,key,callback){task(_restParam(function(err,args){args.length<=1&&(args=args[0]),results[key]=args,callback(err)}))},function(err){callback(err,results)})}function _concat(eachfn,arr,fn,callback){var result=[];eachfn(arr,function(x,index,cb){fn(x,function(err,y){result=result.concat(y||[]),cb(err)})},function(err){callback(err,result)})}function _queue(worker,concurrency,payload){function _insert(q,data,pos,callback){if(null!=callback&&"function"!=typeof callback)throw new Error("task callback must be a function");return q.started=!0,_isArray(data)||(data=[data]),0===data.length&&q.idle()?async.setImmediate(function(){q.drain()}):(_arrayEach(data,function(task){var item={data:task,callback:callback||noop};pos?q.tasks.unshift(item):q.tasks.push(item),q.tasks.length===q.concurrency&&q.saturated()}),void async.setImmediate(q.process))}function _next(q,tasks){return function(){workers-=1;var removed=!1,args=arguments;_arrayEach(tasks,function(task){_arrayEach(workersList,function(worker,index){worker!==task||removed||(workersList.splice(index,1),removed=!0)}),task.callback.apply(task,args)}),q.tasks.length+workers===0&&q.drain(),q.process()}}if(null==concurrency)concurrency=1;else if(0===concurrency)throw new Error("Concurrency must not be zero");var workers=0,workersList=[],q={tasks:[],concurrency:concurrency,payload:payload,saturated:noop,empty:noop,drain:noop,started:!1,paused:!1,push:function(data,callback){_insert(q,data,!1,callback)},kill:function(){q.drain=noop,q.tasks=[]},unshift:function(data,callback){_insert(q,data,!0,callback)},process:function(){for(;!q.paused&&workers<q.concurrency&&q.tasks.length;){var tasks=q.payload?q.tasks.splice(0,q.payload):q.tasks.splice(0,q.tasks.length),data=_map(tasks,function(task){return task.data});0===q.tasks.length&&q.empty(),workers+=1,workersList.push(tasks[0]);var cb=only_once(_next(q,tasks));worker(data,cb)}},length:function(){return q.tasks.length},running:function(){return workers},workersList:function(){return workersList},idle:function(){return q.tasks.length+workers===0},pause:function(){q.paused=!0},resume:function(){if(q.paused!==!1){q.paused=!1;for(var resumeCount=Math.min(q.concurrency,q.tasks.length),w=1;w<=resumeCount;w++)async.setImmediate(q.process)}}};return q}function _console_fn(name){return _restParam(function(fn,args){fn.apply(null,args.concat([_restParam(function(err,args){"object"==typeof console&&(err?console.error&&console.error(err):console[name]&&_arrayEach(args,function(x){console[name](x)}))})]))})}function _times(mapper){return function(count,iterator,callback){mapper(_range(count),iterator,callback)}}function _applyEach(eachfn){return _restParam(function(fns,args){var go=_restParam(function(args){var that=this,callback=args.pop();return eachfn(fns,function(fn,_,cb){fn.apply(that,args.concat([cb]))},callback)});return args.length?go.apply(this,args):go})}function ensureAsync(fn){return _restParam(function(args){var callback=args.pop();args.push(function(){var innerArgs=arguments;sync?async.setImmediate(function(){callback.apply(null,innerArgs)}):callback.apply(null,innerArgs)});var sync=!0;fn.apply(this,args),sync=!1})}var previous_async,async={},root="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this;null!=root&&(previous_async=root.async),async.noConflict=function(){return root.async=previous_async,async};var _toString=Object.prototype.toString,_isArray=Array.isArray||function(obj){return"[object Array]"===_toString.call(obj)},_isObject=function(obj){var type=typeof obj;return"function"===type||"object"===type&&!!obj},_keys=Object.keys||function(obj){var keys=[];for(var k in obj)obj.hasOwnProperty(k)&&keys.push(k);return keys},_setImmediate="function"==typeof setImmediate&&setImmediate,_delay=_setImmediate?function(fn){_setImmediate(fn)}:function(fn){setTimeout(fn,0)};"object"==typeof process&&"function"==typeof process.nextTick?async.nextTick=process.nextTick:async.nextTick=_delay,async.setImmediate=_setImmediate?_delay:async.nextTick,async.forEach=async.each=function(arr,iterator,callback){return async.eachOf(arr,_withoutIndex(iterator),callback)},async.forEachSeries=async.eachSeries=function(arr,iterator,callback){return async.eachOfSeries(arr,_withoutIndex(iterator),callback)},async.forEachLimit=async.eachLimit=function(arr,limit,iterator,callback){return _eachOfLimit(limit)(arr,_withoutIndex(iterator),callback)},async.forEachOf=async.eachOf=function(object,iterator,callback){function done(err){completed--,err?callback(err):null===key&&completed<=0&&callback(null)}callback=_once(callback||noop),object=object||[];for(var key,iter=_keyIterator(object),completed=0;null!=(key=iter());)completed+=1,iterator(object[key],key,only_once(done));0===completed&&callback(null)},async.forEachOfSeries=async.eachOfSeries=function(obj,iterator,callback){function iterate(){var sync=!0;return null===key?callback(null):(iterator(obj[key],key,only_once(function(err){if(err)callback(err);else{if(key=nextKey(),null===key)return callback(null);sync?async.setImmediate(iterate):iterate()}})),void(sync=!1))}callback=_once(callback||noop),obj=obj||[];var nextKey=_keyIterator(obj),key=nextKey();iterate()},async.forEachOfLimit=async.eachOfLimit=function(obj,limit,iterator,callback){_eachOfLimit(limit)(obj,iterator,callback)},async.map=doParallel(_asyncMap),async.mapSeries=doSeries(_asyncMap),async.mapLimit=doParallelLimit(_asyncMap),async.inject=async.foldl=async.reduce=function(arr,memo,iterator,callback){async.eachOfSeries(arr,function(x,i,callback){iterator(memo,x,function(err,v){memo=v,callback(err)})},function(err){callback(err,memo)})},async.foldr=async.reduceRight=function(arr,memo,iterator,callback){var reversed=_map(arr,identity).reverse();async.reduce(reversed,memo,iterator,callback);
-},async.transform=function(arr,memo,iterator,callback){3===arguments.length&&(callback=iterator,iterator=memo,memo=_isArray(arr)?[]:{}),async.eachOf(arr,function(v,k,cb){iterator(memo,v,k,cb)},function(err){callback(err,memo)})},async.select=async.filter=doParallel(_filter),async.selectLimit=async.filterLimit=doParallelLimit(_filter),async.selectSeries=async.filterSeries=doSeries(_filter),async.reject=doParallel(_reject),async.rejectLimit=doParallelLimit(_reject),async.rejectSeries=doSeries(_reject),async.any=async.some=_createTester(async.eachOf,toBool,identity),async.someLimit=_createTester(async.eachOfLimit,toBool,identity),async.all=async.every=_createTester(async.eachOf,notId,notId),async.everyLimit=_createTester(async.eachOfLimit,notId,notId),async.detect=_createTester(async.eachOf,identity,_findGetResult),async.detectSeries=_createTester(async.eachOfSeries,identity,_findGetResult),async.detectLimit=_createTester(async.eachOfLimit,identity,_findGetResult),async.sortBy=function(arr,iterator,callback){function comparator(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0}async.map(arr,function(x,callback){iterator(x,function(err,criteria){err?callback(err):callback(null,{value:x,criteria:criteria})})},function(err,results){return err?callback(err):void callback(null,_map(results.sort(comparator),function(x){return x.value}))})},async.auto=function(tasks,concurrency,callback){function addListener(fn){listeners.unshift(fn)}function removeListener(fn){var idx=_indexOf(listeners,fn);idx>=0&&listeners.splice(idx,1)}function taskComplete(){remainingTasks--,_arrayEach(listeners.slice(0),function(fn){fn()})}"function"==typeof arguments[1]&&(callback=concurrency,concurrency=null),callback=_once(callback||noop);var keys=_keys(tasks),remainingTasks=keys.length;if(!remainingTasks)return callback(null);concurrency||(concurrency=remainingTasks);var results={},runningTasks=0,hasError=!1,listeners=[];addListener(function(){remainingTasks||callback(null,results)}),_arrayEach(keys,function(k){function ready(){return runningTasks<concurrency&&_reduce(requires,function(a,x){return a&&results.hasOwnProperty(x)},!0)&&!results.hasOwnProperty(k)}function listener(){ready()&&(runningTasks++,removeListener(listener),task[task.length-1](taskCallback,results))}if(!hasError){for(var dep,task=_isArray(tasks[k])?tasks[k]:[tasks[k]],taskCallback=_restParam(function(err,args){if(runningTasks--,args.length<=1&&(args=args[0]),err){var safeResults={};_forEachOf(results,function(val,rkey){safeResults[rkey]=val}),safeResults[k]=args,hasError=!0,callback(err,safeResults)}else results[k]=args,async.setImmediate(taskComplete)}),requires=task.slice(0,task.length-1),len=requires.length;len--;){if(!(dep=tasks[requires[len]]))throw new Error("Has nonexistent dependency in "+requires.join(", "));if(_isArray(dep)&&_indexOf(dep,k)>=0)throw new Error("Has cyclic dependencies")}ready()?(runningTasks++,task[task.length-1](taskCallback,results)):addListener(listener)}})},async.retry=function(times,task,callback){function parseTimes(acc,t){if("number"==typeof t)acc.times=parseInt(t,10)||DEFAULT_TIMES;else{if("object"!=typeof t)throw new Error("Unsupported argument type for 'times': "+typeof t);acc.times=parseInt(t.times,10)||DEFAULT_TIMES,acc.interval=parseInt(t.interval,10)||DEFAULT_INTERVAL}}function wrappedTask(wrappedCallback,wrappedResults){function retryAttempt(task,finalAttempt){return function(seriesCallback){task(function(err,result){seriesCallback(!err||finalAttempt,{err:err,result:result})},wrappedResults)}}function retryInterval(interval){return function(seriesCallback){setTimeout(function(){seriesCallback(null)},interval)}}for(;opts.times;){var finalAttempt=!(opts.times-=1);attempts.push(retryAttempt(opts.task,finalAttempt)),!finalAttempt&&opts.interval>0&&attempts.push(retryInterval(opts.interval))}async.series(attempts,function(done,data){data=data[data.length-1],(wrappedCallback||opts.callback)(data.err,data.result)})}var DEFAULT_TIMES=5,DEFAULT_INTERVAL=0,attempts=[],opts={times:DEFAULT_TIMES,interval:DEFAULT_INTERVAL},length=arguments.length;if(length<1||length>3)throw new Error("Invalid arguments - must be either (task), (task, callback), (times, task) or (times, task, callback)");return length<=2&&"function"==typeof times&&(callback=task,task=times),"function"!=typeof times&&parseTimes(opts,times),opts.callback=callback,opts.task=task,opts.callback?wrappedTask():wrappedTask},async.waterfall=function(tasks,callback){function wrapIterator(iterator){return _restParam(function(err,args){if(err)callback.apply(null,[err].concat(args));else{var next=iterator.next();next?args.push(wrapIterator(next)):args.push(callback),ensureAsync(iterator).apply(null,args)}})}if(callback=_once(callback||noop),!_isArray(tasks)){var err=new Error("First argument to waterfall must be an array of functions");return callback(err)}return tasks.length?void wrapIterator(async.iterator(tasks))():callback()},async.parallel=function(tasks,callback){_parallel(async.eachOf,tasks,callback)},async.parallelLimit=function(tasks,limit,callback){_parallel(_eachOfLimit(limit),tasks,callback)},async.series=function(tasks,callback){_parallel(async.eachOfSeries,tasks,callback)},async.iterator=function(tasks){function makeCallback(index){function fn(){return tasks.length&&tasks[index].apply(null,arguments),fn.next()}return fn.next=function(){return index<tasks.length-1?makeCallback(index+1):null},fn}return makeCallback(0)},async.apply=_restParam(function(fn,args){return _restParam(function(callArgs){return fn.apply(null,args.concat(callArgs))})}),async.concat=doParallel(_concat),async.concatSeries=doSeries(_concat),async.whilst=function(test,iterator,callback){if(callback=callback||noop,test()){var next=_restParam(function(err,args){err?callback(err):test.apply(this,args)?iterator(next):callback.apply(null,[null].concat(args))});iterator(next)}else callback(null)},async.doWhilst=function(iterator,test,callback){var calls=0;return async.whilst(function(){return++calls<=1||test.apply(this,arguments)},iterator,callback)},async.until=function(test,iterator,callback){return async.whilst(function(){return!test.apply(this,arguments)},iterator,callback)},async.doUntil=function(iterator,test,callback){return async.doWhilst(iterator,function(){return!test.apply(this,arguments)},callback)},async.during=function(test,iterator,callback){callback=callback||noop;var next=_restParam(function(err,args){err?callback(err):(args.push(check),test.apply(this,args))}),check=function(err,truth){err?callback(err):truth?iterator(next):callback(null)};test(check)},async.doDuring=function(iterator,test,callback){var calls=0;async.during(function(next){calls++<1?next(null,!0):test.apply(this,arguments)},iterator,callback)},async.queue=function(worker,concurrency){var q=_queue(function(items,cb){worker(items[0],cb)},concurrency,1);return q},async.priorityQueue=function(worker,concurrency){function _compareTasks(a,b){return a.priority-b.priority}function _binarySearch(sequence,item,compare){for(var beg=-1,end=sequence.length-1;beg<end;){var mid=beg+(end-beg+1>>>1);compare(item,sequence[mid])>=0?beg=mid:end=mid-1}return beg}function _insert(q,data,priority,callback){if(null!=callback&&"function"!=typeof callback)throw new Error("task callback must be a function");return q.started=!0,_isArray(data)||(data=[data]),0===data.length?async.setImmediate(function(){q.drain()}):void _arrayEach(data,function(task){var item={data:task,priority:priority,callback:"function"==typeof callback?callback:noop};q.tasks.splice(_binarySearch(q.tasks,item,_compareTasks)+1,0,item),q.tasks.length===q.concurrency&&q.saturated(),async.setImmediate(q.process)})}var q=async.queue(worker,concurrency);return q.push=function(data,priority,callback){_insert(q,data,priority,callback)},delete q.unshift,q},async.cargo=function(worker,payload){return _queue(worker,1,payload)},async.log=_console_fn("log"),async.dir=_console_fn("dir"),async.memoize=function(fn,hasher){var memo={},queues={},has=Object.prototype.hasOwnProperty;hasher=hasher||identity;var memoized=_restParam(function(args){var callback=args.pop(),key=hasher.apply(null,args);has.call(memo,key)?async.setImmediate(function(){callback.apply(null,memo[key])}):has.call(queues,key)?queues[key].push(callback):(queues[key]=[callback],fn.apply(null,args.concat([_restParam(function(args){memo[key]=args;var q=queues[key];delete queues[key];for(var i=0,l=q.length;i<l;i++)q[i].apply(null,args)})])))});return memoized.memo=memo,memoized.unmemoized=fn,memoized},async.unmemoize=function(fn){return function(){return(fn.unmemoized||fn).apply(null,arguments)}},async.times=_times(async.map),async.timesSeries=_times(async.mapSeries),async.timesLimit=function(count,limit,iterator,callback){return async.mapLimit(_range(count),limit,iterator,callback)},async.seq=function(){var fns=arguments;return _restParam(function(args){var that=this,callback=args[args.length-1];"function"==typeof callback?args.pop():callback=noop,async.reduce(fns,args,function(newargs,fn,cb){fn.apply(that,newargs.concat([_restParam(function(err,nextargs){cb(err,nextargs)})]))},function(err,results){callback.apply(that,[err].concat(results))})})},async.compose=function(){return async.seq.apply(null,Array.prototype.reverse.call(arguments))},async.applyEach=_applyEach(async.eachOf),async.applyEachSeries=_applyEach(async.eachOfSeries),async.forever=function(fn,callback){function next(err){return err?done(err):void task(next)}var done=only_once(callback||noop),task=ensureAsync(fn);next()},async.ensureAsync=ensureAsync,async.constant=_restParam(function(values){var args=[null].concat(values);return function(callback){return callback.apply(this,args)}}),async.wrapSync=async.asyncify=function(func){return _restParam(function(args){var result,callback=args.pop();try{result=func.apply(this,args)}catch(e){return callback(e)}_isObject(result)&&"function"==typeof result.then?result.then(function(value){callback(null,value)}).catch(function(err){callback(err.message?err:new Error(err))}):callback(null,result)})},"object"==typeof module&&module.exports?module.exports=async:"function"==typeof define&&define.amd?define([],function(){return async}):root.async=async}()}).call(this,require("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:153}],53:[function(require,module,exports){function SessionManager(conf){WildEmitter.call(this),conf=conf||{},this.jid=conf.jid,this.selfID=conf.selfID||this.jid&&this.jid.full||this.jid||"",this.sessions={},this.peers={},this.prepareSession=conf.prepareSession||function(opts){return opts.applicationTypes.indexOf("rtp")>=0?new MediaSession(opts):opts.applicationTypes.indexOf("filetransfer")>=0?new FileSession(opts):void 0},this.performTieBreak=conf.performTieBreak||function(sess,req){var applicationTypes=req.jingle.contents.map(function(content){if(content.application)return content.application.applicationType}),matching=intersect(sess.pendingApplicationTypes,applicationTypes);return matching.length>0},this.screenSharingSupport=webrtc.screenSharing,this.capabilities=["urn:xmpp:jingle:1"],webrtc.support&&(this.capabilities=["urn:xmpp:jingle:1","urn:xmpp:jingle:apps:rtp:1","urn:xmpp:jingle:apps:rtp:audio","urn:xmpp:jingle:apps:rtp:video","urn:xmpp:jingle:apps:rtp:rtcb-fb:0","urn:xmpp:jingle:apps:rtp:rtp-hdrext:0","urn:xmpp:jingle:apps:rtp:ssma:0","urn:xmpp:jingle:apps:dtls:0","urn:xmpp:jingle:apps:grouping:0","urn:xmpp:jingle:apps:file-transfer:3","urn:xmpp:jingle:transports:ice-udp:1","urn:xmpp:jingle:transports.dtls-sctp:1","urn:ietf:rfc:3264","urn:ietf:rfc:5576","urn:ietf:rfc:5888"]),this.config={debug:!1,peerConnectionConfig:{iceServers:conf.iceServers||[{url:"stun:stun.l.google.com:19302"}]},peerConnectionConstraints:{optional:[{DtlsSrtpKeyAgreement:!0},{RtpDataChannels:!1}]},media:{audio:!0,video:!0}};for(var item in conf)this.config[item]=conf[item];this.iceServers=this.config.peerConnectionConfig.iceServers}var util=require("util"),intersect=require("intersect"),WildEmitter=require("wildemitter"),webrtc=require("webrtcsupport"),BaseSession=require("jingle-session"),MediaSession=require("jingle-media-session"),FileSession=require("jingle-filetransfer-session");util.inherits(SessionManager,WildEmitter),SessionManager.prototype.addICEServer=function(server){"string"==typeof server&&(server={url:server}),this.iceServers.push(server)},SessionManager.prototype.addSession=function(session){var self=this,sid=session.sid,peer=session.peerID;return this.sessions[sid]=session,this.peers[peer]||(this.peers[peer]=[]),this.peers[peer].push(session),session.on("terminated",function(){var peers=self.peers[peer]||[];peers.length&&peers.splice(peers.indexOf(session),1),delete self.sessions[sid]}),session.on("*",function(name,data,extraData,extraData2){if("send"===name){var action=data.jingle&&data.jingle.action;session.isInitiator&&"session-initiate"===action&&self.emit("outgoing",session)}!self.config.debug||"log:debug"!==name&&"log:error"!==name||console.log("Jingle:",data,extraData,extraData2),0!==name.indexOf("change")&&self.emit(name,data,extraData,extraData2)}),this.emit("createdSession",session),session},SessionManager.prototype.createMediaSession=function(peer,sid,stream){var session=new MediaSession({sid:sid,peer:peer,initiator:!0,stream:stream,parent:this,iceServers:this.iceServers,constraints:this.config.peerConnectionConstraints});return this.addSession(session),session},SessionManager.prototype.createFileTransferSession=function(peer,sid){var session=new FileSession({sid:sid,peer:peer,initiator:!0,parent:this});return this.addSession(session),session},SessionManager.prototype.endPeerSessions=function(peer,reason,silent){peer=peer.full||peer;var sessions=this.peers[peer]||[];delete this.peers[peer],sessions.forEach(function(session){session.end(reason||"gone",silent)})},SessionManager.prototype.endAllSessions=function(reason,silent){var self=this;Object.keys(this.peers).forEach(function(peer){self.endPeerSessions(peer,reason,silent)})},SessionManager.prototype._createIncomingSession=function(meta,req){var session;return this.prepareSession&&(session=this.prepareSession(meta,req)),session||(session=new BaseSession(meta)),this.addSession(session),session},SessionManager.prototype._sendError=function(to,id,data){data.type||(data.type="cancel"),this.emit("send",{to:to,id:id,type:"error",error:data})},SessionManager.prototype._log=function(level,message){this.emit("log:"+level,message)},SessionManager.prototype.process=function(req){var self=this,sid=req.jingle?req.jingle.sid:null,session=this.sessions[sid]||null,rid=req.id,sender=req.from.full||req.from;if("error"===req.type){var isTieBreak=req.error&&"tie-break"===req.error.jingleCondition;return session&&session.pending&&isTieBreak?session.end("alternative-session",!0):(session&&(session.pendingAction=!1),this.emit("error",req))}if("result"===req.type)return void(session&&(session.pendingAction=!1));var action=req.jingle.action,contents=req.jingle.contents||[],applicationTypes=contents.map(function(content){if(content.application)return content.application.applicationType}),transportTypes=contents.map(function(content){if(content.transport)return content.transport.transportType});if("session-initiate"!==action){if(!session)return this._log("error","Unknown session",sid),this._sendError(sender,rid,{condition:"item-not-found",jingleCondition:"unknown-session"});if(session.peerID!==sender||session.ended)return this._log("error","Session has ended, or action has wrong sender"),this._sendError(sender,rid,{condition:"item-not-found",jingleCondition:"unknown-session"});if("session-accept"===action&&!session.pending)return this._log("error","Tried to accept session twice",sid),this._sendError(sender,rid,{condition:"unexpected-request",jingleCondition:"out-of-order"});if("session-terminate"!==action&&action===session.pendingAction&&(this._log("error","Tie break during pending request"),session.isInitiator))return this._sendError(sender,rid,{condition:"conflict",jingleCondition:"tie-break"})}else if(session){if(session.peerID!==sender)return this._log("error","Duplicate sid from new sender"),this._sendError(sender,rid,{condition:"service-unavailable"});if(!session.pending)return this._log("error","Someone is doing this wrong"),this._sendError(sender,rid,{condition:"unexpected-request",jingleCondition:"out-of-order"});if(this.selfID>session.peerID&&this.performTieBreak(session,req))return this._log("error","Tie break new session because of duplicate sids"),this._sendError(sender,rid,{condition:"conflict",jingleCondition:"tie-break"})}else if(this.peers[sender]&&this.peers[sender].length)for(var i=0,len=this.peers[sender].length;i<len;i++){var sess=this.peers[sender][i];if(sess&&sess.pending&&sess.sid>sid&&this.performTieBreak(sess,req))return this._log("info","Tie break session-initiate"),this._sendError(sender,rid,{condition:"conflict",jingleCondition:"tie-break"})}if("session-initiate"===action){if(!contents.length)return self._sendError(sender,rid,{condition:"bad-request"});session=this._createIncomingSession({sid:sid,peer:req.from,peerID:sender,initiator:!1,parent:this,applicationTypes:applicationTypes,transportTypes:transportTypes,iceServers:this.iceServers,constraints:this.config.peerConnectionConstraints},req)}session.process(action,req.jingle,function(err){err?(self._log("error","Could not process request",req,err),self._sendError(sender,rid,err)):(self.emit("send",{to:sender,id:rid,type:"result"}),"session-initiate"===action&&self.emit("incoming",session))})},module.exports=SessionManager},{intersect:46,"jingle-filetransfer-session":49,"jingle-media-session":50,"jingle-session":51,util:197,webrtcsupport:210,wildemitter:211}],54:[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _shortcuts=require("./shortcuts"),_shortcuts2=_interopRequireDefault(_shortcuts),_types=require("./types"),_types2=_interopRequireDefault(_types);exports.default=function(JXT){JXT.use(_types2.default),JXT.use(_shortcuts2.default)},module.exports=exports.default},{"./shortcuts":55,"./types":56}],55:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),VERSION={client:_xmppConstants.Namespace.CLIENT,server:_xmppConstants.Namespace.SERVER,component:_xmppConstants.Namespace.COMPONENT};exports.default=function(JXT){JXT.extendMessage=function(JXTClass,multiName){var _this=this;this.withMessage(function(Message){_this.extend(Message,JXTClass,multiName)})},JXT.extendPresence=function(JXTClass,multiName){var _this2=this;this.withPresence(function(Presence){_this2.extend(Presence,JXTClass,multiName)})},JXT.extendIQ=function(JXTClass,multiName){var _this3=this;this.withIQ(function(IQ){_this3.extend(IQ,JXTClass,multiName)})},JXT.extendStreamFeatures=function(JXTClass){var _this4=this;this.withStreamFeatures(function(StreamFeatures){_this4.extend(StreamFeatures,JXTClass)})},JXT.extendPubsubItem=function(JXTClass){var _this5=this;this.withPubsubItem(function(PubsubItem){_this5.extend(PubsubItem,JXTClass)})},JXT.withIQ=function(cb){this.withDefinition("iq",_xmppConstants.Namespace.CLIENT,cb),this.withDefinition("iq",_xmppConstants.Namespace.COMPONENT,cb)},JXT.withMessage=function(cb){this.withDefinition("message",_xmppConstants.Namespace.CLIENT,cb),this.withDefinition("message",_xmppConstants.Namespace.COMPONENT,cb)},JXT.withPresence=function(cb){this.withDefinition("presence",_xmppConstants.Namespace.CLIENT,cb),this.withDefinition("presence",_xmppConstants.Namespace.COMPONENT,cb)},JXT.withStreamFeatures=function(cb){this.withDefinition("features",_xmppConstants.Namespace.STREAM,cb)},JXT.withStanzaError=function(cb){this.withDefinition("error",_xmppConstants.Namespace.CLIENT,cb),this.withDefinition("error",_xmppConstants.Namespace.COMPONENT,cb)},JXT.withDataForm=function(cb){this.withDefinition("x",_xmppConstants.Namespace.DATAFORM,cb)},JXT.withPubsubItem=function(cb){this.withDefinition("item",_xmppConstants.Namespace.PUBSUB,cb),this.withDefinition("item",_xmppConstants.Namespace.PUBSUB_EVENT,cb)},JXT.getMessage=function(){var version=void 0===arguments[0]?"client":arguments[0];return this.getDefinition("message",VERSION[version])},JXT.getPresence=function(){var version=void 0===arguments[0]?"client":arguments[0];return this.getDefinition("presence",VERSION[version])},JXT.getIQ=function(){var version=void 0===arguments[0]?"client":arguments[0];return this.getDefinition("iq",VERSION[version])},JXT.getStreamError=function(){return this.getDefinition("error",_xmppConstants.Namespace.STREAM)},JXT.getIq=JXT.getIQ,JXT.withIq=JXT.withIQ},module.exports=exports.default},{"xmpp-constants":212}],56:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppJid=require("xmpp-jid");exports.default=function(JXT){var Utils=JXT.utils;Utils.jidAttribute=function(attr,prepped){return{get:function(){var jid=new _xmppJid.JID(Utils.getAttribute(this.xml,attr));return prepped&&(jid.prepped=!0),jid},set:function(value){Utils.setAttribute(this.xml,attr,(value||"").toString())}}},Utils.jidSub=function(NS,sub,prepped){return{get:function(){var jid=new _xmppJid.JID(Utils.getSubText(this.xml,NS,sub));return prepped&&(jid.prepped=!0),jid},set:function(value){Utils.setSubText(this.xml,NS,sub,(value||"").toString())}}},Utils.tzoSub=Utils.field(function(xml,NS,sub,defaultVal){var hrs=void 0,min=void 0,split=void 0,sign=-1,formatted=Utils.getSubText(xml,NS,sub);return formatted?("-"===formatted.charAt(0)&&(sign=1,formatted=formatted.slice(1)),split=formatted.split(":"),hrs=parseInt(split[0],10),min=parseInt(split[1],10),(60*hrs+min)*sign):defaultVal},function(xml,NS,sub,value){var hrs=void 0,min=void 0,formatted="-";"number"==typeof value?(value<0&&(value=-value,formatted="+"),hrs=value/60,min=value%60,formatted+=(hrs<10?"0":"")+hrs+":"+(min<10?"0":"")+min):formatted=value,Utils.setSubText(xml,NS,sub,formatted)})},module.exports=exports.default},{"xmpp-jid":218}],57:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Address=JXT.define({name:"_address",namespace:_xmppConstants.Namespace.ADDRESS,element:"address",fields:{jid:Utils.jidAttribute("jid"),uri:Utils.attribute("uri"),node:Utils.attribute("node"),description:Utils.attribute("desc"),delivered:Utils.boolAttribute("delivered"),type:Utils.attribute("type")}}),Addresses=Utils.subMultiExtension(_xmppConstants.Namespace.ADDRESS,"addresses",Address);JXT.withMessage(function(Message){JXT.add(Message,"addresses",Addresses)}),JXT.withPresence(function(Presence){JXT.add(Presence,"addresses",Addresses)})},module.exports=exports.default},{"xmpp-constants":212}],58:[function(require,module,exports){"use strict";var _interopRequireDefault=require("babel-runtime/helpers/interop-require-default").default;Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),_lodashForeach=require("lodash.foreach"),_lodashForeach2=_interopRequireDefault(_lodashForeach);exports.default=function(JXT){var Utils=JXT.utils,Avatar=JXT.define({name:"avatar",namespace:_xmppConstants.Namespace.AVATAR_METADATA,element:"info",fields:{id:Utils.attribute("id"),bytes:Utils.attribute("bytes"),height:Utils.attribute("height"),width:Utils.attribute("width"),type:Utils.attribute("type","image/png"),url:Utils.attribute("url")}}),avatars={get:function(){var metadata=Utils.find(this.xml,_xmppConstants.Namespace.AVATAR_METADATA,"metadata"),results=[];if(metadata.length){var _avatars=Utils.find(metadata[0],_xmppConstants.Namespace.AVATAR_METADATA,"info");(0,_lodashForeach2.default)(_avatars,function(info){results.push(new Avatar({},info))})}return results},set:function(value){var metadata=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.AVATAR_METADATA,"metadata");Utils.setAttribute(metadata,"xmlns",_xmppConstants.Namespace.AVATAR_METADATA),(0,_lodashForeach2.default)(value,function(info){var avatar=new Avatar(info);metadata.appendChild(avatar.xml)})}};JXT.withPubsubItem(function(Item){JXT.add(Item,"avatars",avatars),JXT.add(Item,"avatarData",Utils.textSub(_xmppConstants.Namespace.AVATAR_DATA,"data"))})},module.exports=exports.default},{"babel-runtime/helpers/interop-require-default":2,"lodash.foreach":134,"xmpp-constants":212}],59:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Bind=JXT.define({name:"bind",namespace:_xmppConstants.Namespace.BIND,element:"bind",fields:{resource:Utils.textSub(_xmppConstants.Namespace.BIND,"resource"),jid:Utils.jidSub(_xmppConstants.Namespace.BIND,"jid")}});JXT.extendIQ(Bind),JXT.extendStreamFeatures(Bind)},module.exports=exports.default},{"xmpp-constants":212}],60:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),_xmppJid=require("xmpp-jid");exports.default=function(JXT){var Utils=JXT.utils,jidList={get:function(){var result=[],items=Utils.find(this.xml,_xmppConstants.Namespace.BLOCKING,"item");return items.length?(items.forEach(function(item){result.push(new _xmppJid.JID(Utils.getAttribute(item,"jid","")))}),result):result},set:function(values){var self=this;values.forEach(function(value){var item=Utils.createElement(_xmppConstants.Namespace.BLOCKING,"item",_xmppConstants.Namespace.BLOCKING);Utils.setAttribute(item,"jid",value.toString()),self.xml.appendChild(item)})}},Block=JXT.define({name:"block",namespace:_xmppConstants.Namespace.BLOCKING,element:"block",fields:{jids:jidList}}),Unblock=JXT.define({name:"unblock",namespace:_xmppConstants.Namespace.BLOCKING,element:"unblock",fields:{jids:jidList}}),BlockList=JXT.define({name:"blockList",namespace:_xmppConstants.Namespace.BLOCKING,element:"blocklist",fields:{jids:jidList}});JXT.extendIQ(Block),JXT.extendIQ(Unblock),JXT.extendIQ(BlockList)},module.exports=exports.default},{"xmpp-constants":212,"xmpp-jid":218}],61:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,BOB=JXT.define({name:"bob",namespace:_xmppConstants.Namespace.BOB,element:"data",fields:{cid:Utils.attribute("cid"),maxAge:Utils.numberAttribute("max-age"),type:Utils.attribute("type"),data:Utils.text()}});JXT.extendIQ(BOB),JXT.extendMessage(BOB),JXT.extendPresence(BOB)},module.exports=exports.default},{"xmpp-constants":212}],62:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Conference=JXT.define({name:"_conference",namespace:_xmppConstants.Namespace.BOOKMARKS,element:"conference",fields:{name:Utils.attribute("name"),autoJoin:Utils.boolAttribute("autojoin"),jid:Utils.jidAttribute("jid"),nick:Utils.textSub(_xmppConstants.Namespace.BOOKMARKS,"nick")}}),Bookmarks=JXT.define({name:"bookmarks",namespace:_xmppConstants.Namespace.BOOKMARKS,element:"storage"});JXT.extend(Bookmarks,Conference,"conferences"),JXT.withDefinition("query",_xmppConstants.Namespace.PRIVATE,function(PrivateStorage){JXT.extend(PrivateStorage,Bookmarks)})},module.exports=exports.default},{"xmpp-constants":212}],63:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils;JXT.define({name:"bosh",namespace:_xmppConstants.Namespace.BOSH,element:"body",prefixes:{xmpp:_xmppConstants.Namespace.BOSH_XMPP},fields:{accept:Utils.attribute("accept"),ack:Utils.numberAttribute("ack"),authid:Utils.attribute("authid"),charsets:Utils.attribute("charsets"),condition:Utils.attribute("condition"),content:Utils.attribute("content"),from:Utils.jidAttribute("from",!0),hold:Utils.numberAttribute("hold"),inactivity:Utils.numberAttribute("inactivity"),key:Utils.attribute("key"),maxpause:Utils.numberAttribute("maxpause"),newKey:Utils.attribute("newkey"),pause:Utils.numberAttribute("pause"),polling:Utils.numberAttribute("polling"),resport:Utils.numberAttribute("report"),requests:Utils.numberAttribute("requests"),rid:Utils.numberAttribute("rid"),sid:Utils.attribute("sid"),stream:Utils.attribute("stream"),time:Utils.attribute("time"),to:Utils.jidAttribute("to",!0),type:Utils.attribute("type"),ver:Utils.attribute("ver"),wait:Utils.numberAttribute("wait"),uri:Utils.textSub(_xmppConstants.Namespace.BOSH,"uri"),lang:Utils.langAttribute(),version:Utils.attribute("xmpp:version","1.0"),restart:Utils.attribute("xmpp:restart"),restartLogic:Utils.boolAttribute("xmpp:restartLogic"),payload:{get:function(){for(var results=[],i=0,len=this.xml.childNodes.length;i<len;i++){var obj=JXT.build(this.xml.childNodes[i]);void 0!==obj&&results.push(obj)}return results},set:function(values){var _this=this;values.forEach(function(types){_this.xml.appendChild(types.xml)})}}}})},module.exports=exports.default},{"xmpp-constants":212}],64:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Sent=JXT.define({name:"carbonSent",eventName:"carbon:sent",namespace:_xmppConstants.Namespace.CARBONS_2,element:"sent"}),Received=JXT.define({name:"carbonReceived",eventName:"carbon:received",namespace:_xmppConstants.Namespace.CARBONS_2,element:"received"}),Private=JXT.define({name:"carbonPrivate",eventName:"carbon:private",namespace:_xmppConstants.Namespace.CARBONS_2,element:"private"}),Enable=JXT.define({name:"enableCarbons",namespace:_xmppConstants.Namespace.CARBONS_2,element:"enable"}),Disable=JXT.define({name:"disableCarbons",namespace:_xmppConstants.Namespace.CARBONS_2,element:"disable"});JXT.withDefinition("forwarded",_xmppConstants.Namespace.FORWARD_0,function(Forwarded){JXT.extend(Sent,Forwarded),JXT.extend(Received,Forwarded)}),JXT.extendMessage(Sent),JXT.extendMessage(Received),JXT.extendMessage(Private),JXT.extendIQ(Enable),JXT.extendIQ(Disable)},module.exports=exports.default},{"xmpp-constants":212}],65:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),ACTIONS=["next","prev","complete","cancel"],CONDITIONS=["bad-action","bad-locale","bad-payload","bad-sessionid","malformed-action","session-expired"];exports.default=function(JXT){var Utils=JXT.utils,Command=JXT.define({name:"command",namespace:_xmppConstants.Namespace.ADHOC_COMMANDS,element:"command",fields:{action:Utils.attribute("action"),node:Utils.attribute("node"),sessionid:Utils.attribute("sessionid"),status:Utils.attribute("status"),execute:Utils.subAttribute(_xmppConstants.Namespace.ADHOC_COMMANDS,"actions","execute"),actions:{get:function(){var result=[],actionSet=Utils.find(this.xml,_xmppConstants.Namespace.ADHOC_COMMANDS,"actions");return actionSet.length?(ACTIONS.forEach(function(action){var existing=Utils.find(actionSet[0],_xmppConstants.Namespace.ADHOC_COMMANDS,action);existing.length&&result.push(action)}),result):[]},set:function(values){for(var actionSet=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.ADHOC_COMMANDS,"actions"),i=0,len=actionSet.childNodes.length;i<len;i++)actionSet.removeChild(actionSet.childNodes[i]);values.forEach(function(value){actionSet.appendChild(Utils.createElement(_xmppConstants.Namespace.ADHOC_COMMANDS,value.toLowerCase(),_xmppConstants.Namespace.ADHOC_COMMANDS))})}}}}),Note=JXT.define({name:"_commandNote",namespace:_xmppConstants.Namespace.ADHOC_COMMANDS,
-element:"note",fields:{type:Utils.attribute("type"),value:Utils.text()}});JXT.extend(Command,Note,"notes"),JXT.extendIQ(Command),JXT.withStanzaError(function(StanzaError){JXT.add(StanzaError,"adhocCommandCondition",Utils.enumSub(_xmppConstants.Namespace.ADHOC_COMMANDS,CONDITIONS))}),JXT.withDataForm(function(DataForm){JXT.extend(Command,DataForm)})},module.exports=exports.default},{"xmpp-constants":212}],66:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var CSIFeature=JXT.define({name:"clientStateIndication",namespace:_xmppConstants.Namespace.CSI,element:"csi"});JXT.define({name:"csiActive",eventName:"csi:active",namespace:_xmppConstants.Namespace.CSI,element:"active",topLevel:!0}),JXT.define({name:"csiInactive",eventName:"csi:inactive",namespace:_xmppConstants.Namespace.CSI,element:"inactive",topLevel:!0}),JXT.extendStreamFeatures(CSIFeature)},module.exports=exports.default},{"xmpp-constants":212}],67:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),_xmppJid=require("xmpp-jid"),SINGLE_FIELDS=["text-single","text-private","list-single","jid-single"];exports.default=function(JXT){var Utils=JXT.utils,Field=JXT.define({name:"_field",namespace:_xmppConstants.Namespace.DATAFORM,element:"field",init:function(data){this._type=(data||{}).type||this.type},fields:{type:{get:function(){return Utils.getAttribute(this.xml,"type","text-single")},set:function(value){this._type=value,Utils.setAttribute(this.xml,"type",value)}},name:Utils.attribute("var"),desc:Utils.textSub(_xmppConstants.Namespace.DATAFORM,"desc"),required:Utils.boolSub(_xmppConstants.Namespace.DATAFORM,"required"),label:Utils.attribute("label"),value:{get:function(){var vals=Utils.getMultiSubText(this.xml,_xmppConstants.Namespace.DATAFORM,"value");return"boolean"===this._type?"1"===vals[0]||"true"===vals[0]:vals.length>1?"text-multi"===this._type?vals.join("\n"):"jid-multi"===this._type?vals.map(function(jid){return new _xmppJid.JID(jid)}):vals:SINGLE_FIELDS.indexOf(this._type)>=0?"jid-single"===this._type?new _xmppJid.JID(vals[0]):vals[0]:vals},set:function(value){if("boolean"===this._type||value===!0||value===!1){var truthy=value===!0||"true"===value||"1"===value,sub=Utils.createElement(_xmppConstants.Namespace.DATAFORM,"value",_xmppConstants.Namespace.DATAFORM);sub.textContent=truthy?"1":"0",this.xml.appendChild(sub)}else"text-multi"===this._type&&"string"==typeof value&&(value=value.split("\n")),Utils.setMultiSubText(this.xml,_xmppConstants.Namespace.DATAFORM,"value",value,function(val){var sub=Utils.createElement(_xmppConstants.Namespace.DATAFORM,"value",_xmppConstants.Namespace.DATAFORM);sub.textContent=val,this.xml.appendChild(sub)}.bind(this))}}}}),Option=JXT.define({name:"_formoption",namespace:_xmppConstants.Namespace.DATAFORM,element:"option",fields:{label:Utils.attribute("label"),value:Utils.textSub(_xmppConstants.Namespace.DATAFORM,"value")}}),Item=JXT.define({name:"_formitem",namespace:_xmppConstants.Namespace.DATAFORM,element:"item"}),Media=JXT.define({name:"media",element:"media",namespace:_xmppConstants.Namespace.DATAFORM_MEDIA,fields:{height:Utils.numberAttribute("height"),width:Utils.numberAttribute("width")}}),MediaURI=JXT.define({name:"_mediaURI",element:"uri",namespace:_xmppConstants.Namespace.DATAFORM_MEDIA,fields:{uri:Utils.text(),type:Utils.attribute("type")}}),Validation=JXT.define({name:"validation",element:"validate",namespace:_xmppConstants.Namespace.DATAFORM_VALIDATION,fields:{dataType:Utils.attribute("datatype"),basic:Utils.boolSub(_xmppConstants.Namespace.DATAFORM_VALIDATION,"basic"),open:Utils.boolSub(_xmppConstants.Namespace.DATAFORM_VALIDATION,"open"),regex:Utils.textSub(_xmppConstants.Namespace.DATAFORM_VALIDATION,"regex")}}),Range=JXT.define({name:"range",element:"range",namespace:_xmppConstants.Namespace.DATAFORM_VALIDATION,fields:{min:Utils.attribute("min"),max:Utils.attribute("max")}}),ListRange=JXT.define({name:"select",element:"list-range",namespace:_xmppConstants.Namespace.DATAFORM_VALIDATION,fields:{min:Utils.numberAttribute("min"),max:Utils.numberAttribute("max")}}),layoutContents={get:function(){for(var result=[],i=0,len=this.xml.childNodes.length;i<len;i++){var child=this.xml.childNodes[i];if(child.namespaceURI===_xmppConstants.Namespace.DATAFORM_LAYOUT)switch(child.localName){case"text":result.push({text:child.textContent});break;case"fieldref":result.push({field:child.getAttribute("var")});break;case"reportedref":result.push({reported:!0});break;case"section":result.push({section:new Section(null,child,this).toJSON()})}}return result},set:function(values){for(var i=0,len=values.length;i<len;i++){var value=values[i];if(value.text){var text=Utils.createElement(_xmppConstants.Namespace.DATAFORM_LAYOUT,"text",_xmppConstants.Namespace.DATAFORM_LAYOUT);text.textContent=value.text,this.xml.appendChild(text)}if(value.field){var field=Utils.createElement(_xmppConstants.Namespace.DATAFORM_LAYOUT,"fieldref",_xmppConstants.Namespace.DATAFORM_LAYOUT);field.setAttribute("var",value.field),this.xml.appendChild(field)}if(value.reported&&this.xml.appendChild(Utils.createElement(_xmppConstants.Namespace.DATAFORM_LAYOUT,"reportedref",_xmppConstants.Namespace.DATAFORM_LAYOUT)),value.section){var sectionXML=Utils.createElement(_xmppConstants.Namespace.DATAFORM_LAYOUT,"section",_xmppConstants.Namespace.DATAFORM_LAYOUT);this.xml.appendChild(sectionXML);var section=new Section(null,sectionXML);section.label=value.section.label,section.contents=value.section.contents}}}},Section=JXT.define({name:"_section",element:"section",namespace:_xmppConstants.Namespace.DATAFORM_LAYOUT,fields:{label:Utils.attribute("label"),contents:layoutContents}}),Page=JXT.define({name:"_page",element:"page",namespace:_xmppConstants.Namespace.DATAFORM_LAYOUT,fields:{label:Utils.attribute("label"),contents:layoutContents}}),DataForm=JXT.define({name:"form",namespace:_xmppConstants.Namespace.DATAFORM,element:"x",init:function(){if(this.reportedFields.length){var fieldTypes={};this.reportedFields.forEach(function(reported){fieldTypes[reported.name]=reported.type}),this.items.forEach(function(item){item.fields.forEach(function(field){field.type=field._type=fieldTypes[field.name]})})}},fields:{title:Utils.textSub(_xmppConstants.Namespace.DATAFORM,"title"),instructions:Utils.multiTextSub(_xmppConstants.Namespace.DATAFORM,"instructions"),type:Utils.attribute("type","form"),reportedFields:Utils.subMultiExtension(_xmppConstants.Namespace.DATAFORM,"reported",Field)}});JXT.extend(DataForm,Field,"fields"),JXT.extend(DataForm,Item,"items"),JXT.extend(DataForm,Page,"layout"),JXT.extend(Field,Media),JXT.extend(Field,Validation),JXT.extend(Field,Option,"options"),JXT.extend(Item,Field,"fields"),JXT.extend(Media,MediaURI,"uris"),JXT.extend(Validation,Range),JXT.extend(Validation,ListRange),JXT.extendMessage(DataForm)},module.exports=exports.default},{"xmpp-constants":212,"xmpp-jid":218}],68:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,DelayedDelivery=JXT.define({name:"delay",namespace:_xmppConstants.Namespace.DELAY,element:"delay",fields:{from:Utils.jidAttribute("from"),stamp:Utils.dateAttribute("stamp"),reason:Utils.text()}});JXT.extendMessage(DelayedDelivery),JXT.extendPresence(DelayedDelivery)},module.exports=exports.default},{"xmpp-constants":212}],69:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,DiscoCaps=JXT.define({name:"caps",namespace:_xmppConstants.Namespace.CAPS,element:"c",fields:{ver:Utils.attribute("ver"),node:Utils.attribute("node"),hash:Utils.attribute("hash"),ext:Utils.attribute("ext")}}),DiscoInfo=JXT.define({name:"discoInfo",namespace:_xmppConstants.Namespace.DISCO_INFO,element:"query",fields:{node:Utils.attribute("node"),features:Utils.multiSubAttribute(_xmppConstants.Namespace.DISCO_INFO,"feature","var")}}),DiscoIdentity=JXT.define({name:"_discoIdentity",namespace:_xmppConstants.Namespace.DISCO_INFO,element:"identity",fields:{category:Utils.attribute("category"),type:Utils.attribute("type"),name:Utils.attribute("name"),lang:Utils.langAttribute()}}),DiscoItems=JXT.define({name:"discoItems",namespace:_xmppConstants.Namespace.DISCO_ITEMS,element:"query",fields:{node:Utils.attribute("node")}}),DiscoItem=JXT.define({name:"_discoItem",namespace:_xmppConstants.Namespace.DISCO_ITEMS,element:"item",fields:{jid:Utils.jidAttribute("jid"),node:Utils.attribute("node"),name:Utils.attribute("name")}});JXT.extend(DiscoItems,DiscoItem,"items"),JXT.extend(DiscoInfo,DiscoIdentity,"identities"),JXT.extendIQ(DiscoInfo),JXT.extendIQ(DiscoItems),JXT.extendPresence(DiscoCaps),JXT.extendStreamFeatures(DiscoCaps),JXT.withDataForm(function(DataForm){JXT.extend(DiscoInfo,DataForm,"extensions")}),JXT.withDefinition("set",_xmppConstants.Namespace.RSM,function(RSM){JXT.extend(DiscoItems,RSM)})},module.exports=exports.default},{"xmpp-constants":212}],70:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),CONDITIONS=["bad-request","conflict","feature-not-implemented","forbidden","gone","internal-server-error","item-not-found","jid-malformed","not-acceptable","not-allowed","not-authorized","payment-required","recipient-unavailable","redirect","registration-required","remote-server-not-found","remote-server-timeout","resource-constraint","service-unavailable","subscription-required","undefined-condition","unexpected-request"];exports.default=function(JXT){var Utils=JXT.utils,StanzaError=JXT.define({name:"error",namespace:_xmppConstants.Namespace.CLIENT,element:"error",fields:{lang:{get:function(){return(this.parent||{}).lang||""}},condition:Utils.enumSub(_xmppConstants.Namespace.STANZA_ERROR,CONDITIONS),gone:{get:function(){return Utils.getSubText(this.xml,_xmppConstants.Namespace.STANZA_ERROR,"gone")},set:function(value){this.condition="gone",Utils.setSubText(this.xml,_xmppConstants.Namespace.STANZA_ERROR,"gone",value)}},redirect:{get:function(){return Utils.getSubText(this.xml,_xmppConstants.Namespace.STANZA_ERROR,"redirect")},set:function(value){this.condition="redirect",Utils.setSubText(this.xml,_xmppConstants.Namespace.STANZA_ERROR,"redirect",value)}},code:Utils.attribute("code"),type:Utils.attribute("type"),by:Utils.jidAttribute("by"),$text:{get:function(){return Utils.getSubLangText(this.xml,_xmppConstants.Namespace.STANZA_ERROR,"text",this.lang)}},text:{get:function(){var text=this.$text;return text[this.lang]||""},set:function(value){Utils.setSubLangText(this.xml,_xmppConstants.Namespace.STANZA_ERROR,"text",value,this.lang)}}}});JXT.extendMessage(StanzaError),JXT.extendPresence(StanzaError),JXT.extendIQ(StanzaError)},module.exports=exports.default},{"xmpp-constants":212}],71:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Services=exports.Services=JXT.define({name:"services",namespace:_xmppConstants.Namespace.DISCO_EXTERNAL_1,element:"services",fields:{type:Utils.attribute("type")}}),Credentials=exports.Credentials=JXT.define({name:"credentials",namespace:_xmppConstants.Namespace.DISCO_EXTERNAL_1,element:"credentials"}),Service=JXT.define({name:"service",namespace:_xmppConstants.Namespace.DISCO_EXTERNAL_1,element:"service",fields:{host:Utils.attribute("host"),port:Utils.attribute("port"),transport:Utils.attribute("transport"),type:Utils.attribute("type"),username:Utils.attribute("username"),password:Utils.attribute("password")}});JXT.extend(Services,Service,"services"),JXT.extend(Credentials,Service),JXT.extendIQ(Services),JXT.extendIQ(Credentials),JXT.withDataForm(function(DataForm){JXT.extend(Service,DataForm)})},module.exports=exports.default},{"xmpp-constants":212}],72:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),FT_NS=_xmppConstants.Namespace.FILE_TRANSFER_4;exports.default=function(JXT){var Utils=JXT.utils,File=JXT.define({name:"file",namespace:FT_NS,element:"file",fields:{name:Utils.textSub(FT_NS,"name"),description:Utils.textSub(FT_NS,"desc"),mediaType:Utils.textSub(FT_NS,"media-type"),size:Utils.numberSub(FT_NS,"size"),date:Utils.dateSub(FT_NS,"date")}}),Range=JXT.define({name:"range",namespace:FT_NS,element:"range",fields:{offset:Utils.numberAttribute("offset"),length:Utils.numberAttribute("length")}}),FileTransfer=JXT.define({name:"_"+FT_NS,namespace:FT_NS,element:"description",tags:["jingle-application"],fields:{applicationType:{value:FT_NS}}}),Received=JXT.define({name:"_{"+FT_NS+"}received",namespace:FT_NS,element:"received",tags:["jingle-info"],fields:{infoType:{value:"{"+FT_NS+"}received"},creator:Utils.attribute("creator"),name:Utils.attribute("name")}}),Checksum=JXT.define({name:"_{"+FT_NS+"}checksum",namespace:FT_NS,element:"checksum",tags:["jingle-info"],fields:{infoType:{value:"{"+FT_NS+"}checksum"},creator:Utils.attribute("creator"),name:Utils.attribute("name")}});JXT.extend(File,Range),JXT.extend(Checksum,File),JXT.extend(FileTransfer,File),JXT.withDefinition("hash",_xmppConstants.Namespace.HASHES_1,function(Hash){JXT.extend(File,Hash,"hashes"),JXT.extend(Range,Hash,"hashes")}),JXT.withDefinition("content",_xmppConstants.Namespace.JINGLE_1,function(Content){JXT.extend(Content,FileTransfer)}),JXT.withDefinition("jingle",_xmppConstants.Namespace.JINGLE_1,function(Jingle){JXT.extend(Jingle,Received),JXT.extend(Jingle,Checksum)})},module.exports=exports.default},{"xmpp-constants":212}],73:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),FT_NS=_xmppConstants.Namespace.FILE_TRANSFER_3;exports.default=function(JXT){var Utils=JXT.utils,File=JXT.define({name:"_file",namespace:FT_NS,element:"file",fields:{name:Utils.textSub(FT_NS,"name"),desc:Utils.textSub(FT_NS,"desc"),size:Utils.numberSub(FT_NS,"size"),date:Utils.dateSub(FT_NS,"date")}}),Range=JXT.define({name:"range",namespace:FT_NS,element:"range",fields:{offset:Utils.numberAttribute("offset")}}),Thumbnail=JXT.define({name:"thumbnail",namespace:_xmppConstants.Namespace.THUMBS_0,element:"thumbnail",fields:{cid:Utils.attribute("cid"),mimeType:Utils.attribute("mime-type"),width:Utils.numberAttribute("width"),height:Utils.numberAttribute("height")}}),FileTransfer=JXT.define({name:"_filetransfer",namespace:FT_NS,element:"description",tags:["jingle-application"],fields:{applicationType:{value:"filetransfer"},offer:Utils.subExtension("offer",FT_NS,"offer",File),request:Utils.subExtension("request",FT_NS,"request",File)}});JXT.extend(File,Range),JXT.extend(File,Thumbnail),JXT.withDefinition("hash",_xmppConstants.Namespace.HASHES_1,function(Hash){JXT.extend(File,Hash,"hashes")}),JXT.withDefinition("content",_xmppConstants.Namespace.JINGLE_1,function(Content){JXT.extend(Content,FileTransfer)})},module.exports=exports.default},{"xmpp-constants":212}],74:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Forwarded=JXT.define({name:"forwarded",namespace:_xmppConstants.Namespace.FORWARD_0,element:"forwarded"});JXT.withMessage(function(Message){JXT.extend(Message,Forwarded),JXT.extend(Forwarded,Message)}),JXT.withPresence(function(Presence){JXT.extend(Presence,Forwarded),JXT.extend(Forwarded,Presence)}),JXT.withIQ(function(IQ){JXT.extend(IQ,Forwarded),JXT.extend(Forwarded,IQ)}),JXT.withDefinition("delay",_xmppConstants.Namespace.DELAY,function(Delayed){JXT.extend(Forwarded,Delayed)})},module.exports=exports.default},{"xmpp-constants":212}],75:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils;JXT.define({name:"openStream",namespace:_xmppConstants.Namespace.FRAMING,element:"open",topLevel:!0,fields:{lang:Utils.langAttribute(),id:Utils.attribute("id"),version:Utils.attribute("version","1.0"),to:Utils.jidAttribute("to",!0),from:Utils.jidAttribute("from",!0)}}),JXT.define({name:"closeStream",namespace:_xmppConstants.Namespace.FRAMING,element:"close",topLevel:!0,fields:{seeOtherURI:Utils.attribute("see-other-uri")}})},module.exports=exports.default},{"xmpp-constants":212}],76:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,GeoLoc=JXT.define({name:"geoloc",namespace:_xmppConstants.Namespace.GEOLOC,element:"geoloc",fields:{accuracy:Utils.numberSub(_xmppConstants.Namespace.GEOLOC,"accuracy",!0),altitude:Utils.numberSub(_xmppConstants.Namespace.GEOLOC,"alt",!0),area:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"area"),heading:Utils.numberSub(_xmppConstants.Namespace.GEOLOC,"bearing",!0),bearing:Utils.numberSub(_xmppConstants.Namespace.GEOLOC,"bearing",!0),building:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"building"),country:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"country"),countrycode:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"countrycode"),datum:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"datum"),description:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"description"),error:Utils.numberSub(_xmppConstants.Namespace.GEOLOC,"error",!0),floor:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"floor"),latitude:Utils.numberSub(_xmppConstants.Namespace.GEOLOC,"lat",!0),locality:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"locality"),longitude:Utils.numberSub(_xmppConstants.Namespace.GEOLOC,"lon",!0),postalcode:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"postalcode"),region:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"region"),room:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"room"),speed:Utils.numberSub(_xmppConstants.Namespace.GEOLOC,"speed",!0),street:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"street"),text:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"text"),timestamp:Utils.dateSub(_xmppConstants.Namespace.GEOLOC,"timestamp"),tzo:Utils.tzoSub(_xmppConstants.Namespace.GEOLOC,"tzo"),uri:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"uri")}});JXT.extendPubsubItem(GeoLoc)},module.exports=exports.default},{"xmpp-constants":212}],77:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){JXT.define({name:"hash",namespace:_xmppConstants.Namespace.HASHES_1,element:"hash",fields:{algo:JXT.utils.attribute("algo"),value:JXT.utils.text()}})},module.exports=exports.default},{"xmpp-constants":212}],78:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Hat=JXT.define({name:"_hat",namespace:_xmppConstants.Namespace.HATS_0,element:"hat",fields:{lang:JXT.utils.langAttribute(),name:JXT.utils.attribute("name"),displayName:JXT.utils.attribute("displayName")}});JXT.withPresence(function(Presence){JXT.add(Presence,"hats",JXT.utils.subMultiExtension(_xmppConstants.Namespace.HATS_0,"hats",Hat))})},module.exports=exports.default},{"xmpp-constants":212}],79:[function(require,module,exports){(function(Buffer){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),NS_IBB="http://jabber.org/protocol/ibb",NS_JIBB="urn:xmpp:jingle:transports:ibb:1";exports.default=function(JXT){var Utils=JXT.utils,IBB={get:function(){var data=Utils.find(this.xml,NS_IBB,"data");if(data.length)return data=data[0],{action:"data",sid:Utils.getAttribute(data,"sid"),seq:parseInt(Utils.getAttribute(data,"seq")||"0",10),data:new Buffer(Utils.getText(data),"base64")};var open=Utils.find(this.xml,NS_IBB,"open");if(open.length){open=open[0];var ack=Utils.getAttribute(open,"stanza");return ack="message"!==ack,{action:"open",sid:Utils.getAttribute(open,"sid"),blockSize:Utils.getAttribute(open,"block-size"),ack:ack}}var close=Utils.find(this.xml,NS_IBB,"close");return close.length?{action:"close",sid:Utils.getAttribute(close[0],"sid")}:void 0},set:function(value){if("data"===value.action){var data=Utils.createElement(NS_IBB,"data");Utils.setAttribute(data,"sid",value.sid),Utils.setAttribute(data,"seq",value.seq.toString()),Utils.setText(data,value.data.toString("base64")),this.xml.appendChild(data)}if("open"===value.action){var _open=Utils.createElement(NS_IBB,"open");Utils.setAttribute(_open,"sid",value.sid),Utils.setAttribute(_open,"block-size",(value.blockSize||"4096").toString()),value.ack===!1?Utils.setAttribute(_open,"stanza","message"):Utils.setAttribute(_open,"stanza","iq"),this.xml.appendChild(_open)}if("close"===value.action){var _close=Utils.createElement(NS_IBB,"close");Utils.setAttribute(_close,"sid",value.sid),this.xml.appendChild(_close)}}},JingleIBB=JXT.define({name:"_"+NS_JIBB,namespace:NS_JIBB,element:"transport",tags:["jingle-transport"],fields:{transportType:{value:NS_JIBB},sid:Utils.attribute("sid"),blockSize:Utils.numberAttribute("block-size"),ack:{get:function(){var value=Utils.getAttribute(this.xml,"stanza");return"message"!==value},set:function(value){value.ack===!1?Utils.setAttribute(this.xml,"stanza","message"):Utils.setAttribute(this.xml,"stanza","iq")}}}});JXT.withDefinition("content",_xmppConstants.Namespace.JINGLE_1,function(Content){JXT.extend(Content,JingleIBB)}),JXT.withIQ(function(IQ){JXT.add(IQ,"ibb",IBB)}),JXT.withMessage(function(Message){JXT.add(Message,"ibb",IBB)})},module.exports=exports.default}).call(this,require("buffer").Buffer)},{buffer:6,"xmpp-constants":212}],80:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,ICE=JXT.define({name:"_iceUdp",namespace:_xmppConstants.Namespace.JINGLE_ICE_UDP_1,element:"transport",tags:["jingle-transport"],fields:{transportType:{value:"iceUdp"},pwd:Utils.attribute("pwd"),ufrag:Utils.attribute("ufrag")}}),RemoteCandidate=JXT.define({name:"remoteCandidate",namespace:_xmppConstants.Namespace.JINGLE_ICE_UDP_1,element:"remote-candidate",fields:{component:Utils.attribute("component"),ip:Utils.attribute("ip"),port:Utils.attribute("port")}}),Candidate=JXT.define({name:"_iceUdpCandidate",namespace:_xmppConstants.Namespace.JINGLE_ICE_UDP_1,element:"candidate",fields:{component:Utils.attribute("component"),foundation:Utils.attribute("foundation"),generation:Utils.attribute("generation"),id:Utils.attribute("id"),ip:Utils.attribute("ip"),network:Utils.attribute("network"),port:Utils.attribute("port"),priority:Utils.attribute("priority"),protocol:Utils.attribute("protocol"),relAddr:Utils.attribute("rel-addr"),relPort:Utils.attribute("rel-port"),tcpType:Utils.attribute("tcptype"),type:Utils.attribute("type")}}),Fingerprint=JXT.define({name:"_iceFingerprint",namespace:_xmppConstants.Namespace.JINGLE_DTLS_0,element:"fingerprint",fields:{hash:Utils.attribute("hash"),setup:Utils.attribute("setup"),value:Utils.text(),required:Utils.boolAttribute("required")}}),SctpMap=JXT.define({name:"_sctpMap",namespace:_xmppConstants.Namespace.DTLS_SCTP_1,element:"sctpmap",fields:{number:Utils.attribute("number"),protocol:Utils.attribute("protocol"),streams:Utils.attribute("streams")}});JXT.extend(ICE,Candidate,"candidates"),JXT.extend(ICE,RemoteCandidate),JXT.extend(ICE,Fingerprint,"fingerprints"),JXT.extend(ICE,SctpMap,"sctp"),JXT.withDefinition("content",_xmppConstants.Namespace.JINGLE_1,function(Content){JXT.extend(Content,ICE)})},module.exports=exports.default},{"xmpp-constants":212}],81:[function(require,module,exports){"use strict";var _interopRequireDefault=require("babel-runtime/helpers/interop-require-default").default;Object.defineProperty(exports,"__esModule",{value:!0});var _addresses=require("./addresses"),_addresses2=_interopRequireDefault(_addresses),_avatar=require("./avatar"),_avatar2=_interopRequireDefault(_avatar),_bind=require("./bind"),_bind2=_interopRequireDefault(_bind),_blocking=require("./blocking"),_blocking2=_interopRequireDefault(_blocking),_bob=require("./bob"),_bob2=_interopRequireDefault(_bob),_bookmarks=require("./bookmarks"),_bookmarks2=_interopRequireDefault(_bookmarks),_bosh=require("./bosh"),_bosh2=_interopRequireDefault(_bosh),_carbons=require("./carbons"),_carbons2=_interopRequireDefault(_carbons),_command=require("./command"),_command2=_interopRequireDefault(_command),_csi=require("./csi"),_csi2=_interopRequireDefault(_csi),_dataforms=require("./dataforms"),_dataforms2=_interopRequireDefault(_dataforms),_delayed=require("./delayed"),_delayed2=_interopRequireDefault(_delayed),_disco=require("./disco"),_disco2=_interopRequireDefault(_disco),_error=require("./error"),_error2=_interopRequireDefault(_error),_extdisco=require("./extdisco"),_extdisco2=_interopRequireDefault(_extdisco),_file=require("./file"),_file2=_interopRequireDefault(_file),_file3=require("./file3"),_file32=_interopRequireDefault(_file3),_forwarded=require("./forwarded"),_forwarded2=_interopRequireDefault(_forwarded),_framing=require("./framing"),_framing2=_interopRequireDefault(_framing),_geoloc=require("./geoloc"),_geoloc2=_interopRequireDefault(_geoloc),_hash=require("./hash"),_hash2=_interopRequireDefault(_hash),_hats=require("./hats"),_hats2=_interopRequireDefault(_hats),_iceUdp=require("./iceUdp"),_iceUdp2=_interopRequireDefault(_iceUdp),_ibb=require("./ibb"),_ibb2=_interopRequireDefault(_ibb),_iq=require("./iq"),_iq2=_interopRequireDefault(_iq),_jidprep=require("./jidprep"),_jidprep2=_interopRequireDefault(_jidprep),_jingle=require("./jingle"),_jingle2=_interopRequireDefault(_jingle),_json=require("./json"),_json2=_interopRequireDefault(_json),_logging=require("./logging"),_logging2=_interopRequireDefault(_logging),_mam=require("./mam"),_mam2=_interopRequireDefault(_mam),_message=require("./message"),_message2=_interopRequireDefault(_message),_mood=require("./mood"),_mood2=_interopRequireDefault(_mood),_muc=require("./muc"),_muc2=_interopRequireDefault(_muc),_nick=require("./nick"),_nick2=_interopRequireDefault(_nick),_oob=require("./oob"),_oob2=_interopRequireDefault(_oob),_ping=require("./ping"),_ping2=_interopRequireDefault(_ping),_presence=require("./presence"),_presence2=_interopRequireDefault(_presence),_private=require("./private"),_private2=_interopRequireDefault(_private),_psa=require("./psa"),_psa2=_interopRequireDefault(_psa),_pubsub=require("./pubsub"),_pubsub2=_interopRequireDefault(_pubsub),_pubsubError=require("./pubsubError"),_pubsubError2=_interopRequireDefault(_pubsubError),_pubsubEvents=require("./pubsubEvents"),_pubsubEvents2=_interopRequireDefault(_pubsubEvents),_pubsubOwner=require("./pubsubOwner"),_pubsubOwner2=_interopRequireDefault(_pubsubOwner),_push=require("./push"),_push2=_interopRequireDefault(_push),_reach=require("./reach"),_reach2=_interopRequireDefault(_reach),_register=require("./register"),_register2=_interopRequireDefault(_register),_roster=require("./roster"),_roster2=_interopRequireDefault(_roster),_rsm=require("./rsm"),_rsm2=_interopRequireDefault(_rsm),_rtp=require("./rtp"),_rtp2=_interopRequireDefault(_rtp),_rtt=require("./rtt"),_rtt2=_interopRequireDefault(_rtt),_sasl=require("./sasl"),_sasl2=_interopRequireDefault(_sasl),_session=require("./session"),_session2=_interopRequireDefault(_session),_shim=require("./shim"),_shim2=_interopRequireDefault(_shim),_sm=require("./sm"),_sm2=_interopRequireDefault(_sm),_stream=require("./stream"),_stream2=_interopRequireDefault(_stream),_streamError=require("./streamError"),_streamError2=_interopRequireDefault(_streamError),_streamFeatures=require("./streamFeatures"),_streamFeatures2=_interopRequireDefault(_streamFeatures),_time=require("./time"),_time2=_interopRequireDefault(_time),_tune=require("./tune"),_tune2=_interopRequireDefault(_tune),_vcard=require("./vcard"),_vcard2=_interopRequireDefault(_vcard),_version=require("./version"),_version2=_interopRequireDefault(_version),_visibility=require("./visibility"),_visibility2=_interopRequireDefault(_visibility);exports.default=function(JXT){JXT.use(_addresses2.default),JXT.use(_avatar2.default),JXT.use(_bind2.default),JXT.use(_blocking2.default),JXT.use(_bob2.default),JXT.use(_bookmarks2.default),JXT.use(_bosh2.default),JXT.use(_carbons2.default),JXT.use(_command2.default),JXT.use(_csi2.default),JXT.use(_dataforms2.default),JXT.use(_delayed2.default),JXT.use(_disco2.default),JXT.use(_error2.default),JXT.use(_extdisco2.default),JXT.use(_file2.default),JXT.use(_file32.default),JXT.use(_forwarded2.default),JXT.use(_framing2.default),JXT.use(_geoloc2.default),JXT.use(_hash2.default),JXT.use(_hats2.default),JXT.use(_iceUdp2.default),JXT.use(_ibb2.default),JXT.use(_iq2.default),JXT.use(_jidprep2.default),JXT.use(_jingle2.default),JXT.use(_json2.default),JXT.use(_logging2.default),JXT.use(_mam2.default),JXT.use(_message2.default),JXT.use(_mood2.default),JXT.use(_muc2.default),JXT.use(_nick2.default),JXT.use(_oob2.default),JXT.use(_ping2.default),JXT.use(_presence2.default),JXT.use(_private2.default),JXT.use(_psa2.default),JXT.use(_pubsub2.default),JXT.use(_pubsubError2.default),JXT.use(_pubsubEvents2.default),JXT.use(_pubsubOwner2.default),JXT.use(_push2.default),JXT.use(_reach2.default),JXT.use(_register2.default),JXT.use(_roster2.default),JXT.use(_rsm2.default),JXT.use(_rtp2.default),JXT.use(_rtt2.default),JXT.use(_sasl2.default),JXT.use(_session2.default),JXT.use(_shim2.default),JXT.use(_sm2.default),JXT.use(_stream2.default),JXT.use(_streamError2.default),JXT.use(_streamFeatures2.default),JXT.use(_time2.default),JXT.use(_tune2.default),JXT.use(_vcard2.default),JXT.use(_version2.default),JXT.use(_visibility2.default)},module.exports=exports.default},{"./addresses":57,"./avatar":58,"./bind":59,"./blocking":60,"./bob":61,"./bookmarks":62,"./bosh":63,"./carbons":64,"./command":65,"./csi":66,"./dataforms":67,"./delayed":68,"./disco":69,"./error":70,"./extdisco":71,"./file":72,"./file3":73,"./forwarded":74,"./framing":75,"./geoloc":76,"./hash":77,"./hats":78,"./ibb":79,"./iceUdp":80,"./iq":82,"./jidprep":83,"./jingle":84,"./json":85,"./logging":86,"./mam":87,"./message":88,"./mood":89,"./muc":90,"./nick":91,"./oob":92,"./ping":93,"./presence":94,"./private":95,"./psa":96,"./pubsub":97,"./pubsubError":98,"./pubsubEvents":99,"./pubsubOwner":100,"./push":101,"./reach":102,"./register":103,"./roster":104,"./rsm":105,"./rtp":106,"./rtt":107,"./sasl":108,"./session":109,"./shim":110,"./sm":111,"./stream":112,"./streamError":113,"./streamFeatures":114,"./time":115,"./tune":116,"./vcard":117,"./version":118,"./visibility":119,"babel-runtime/helpers/interop-require-default":2}],82:[function(require,module,exports){"use strict";var _Object$assign=require("babel-runtime/core-js/object/assign").default;Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),internals={};internals.defineIQ=function(JXT,name,namespace){var Utils=JXT.utils,IQ=JXT.define({name:name,namespace:namespace,element:"iq",topLevel:!0,fields:{lang:Utils.langAttribute(),id:Utils.attribute("id"),to:Utils.jidAttribute("to",!0),from:Utils.jidAttribute("from",!0),type:Utils.attribute("type")}}),_toJSON=IQ.prototype.toJSON;_Object$assign(IQ.prototype,{toJSON:function(){var result=_toJSON.call(this);return result.resultReply=this.resultReply,result.errorReply=this.errorReply,result},resultReply:function(data){return data=data||{},data.to=this.from,data.id=this.id,
-data.type="result",new IQ(data)},errorReply:function(data){return data=data||{},data.to=this.from,data.id=this.id,data.type="error",new IQ(data)}})},exports.default=function(JXT){internals.defineIQ(JXT,"iq",_xmppConstants.Namespace.CLIENT),internals.defineIQ(JXT,"serverIQ",_xmppConstants.Namespace.SERVER),internals.defineIQ(JXT,"componentIQ",_xmppConstants.Namespace.COMPONENT)},module.exports=exports.default},{"babel-runtime/core-js/object/assign":1,"xmpp-constants":212}],83:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),_xmppJid=require("xmpp-jid");exports.default=function(JXT){JXT.withIQ(function(IQ){JXT.add(IQ,"jidPrep",{get:function(){var data=JXT.utils.getSubText(this.xml,_xmppConstants.Namespace.JID_PREP_0,"jid");if(data){var jid=new _xmppJid.JID(data);return jid.prepped=!0,jid}},set:function(value){JXT.utils.setSubText(this.xml,_xmppConstants.Namespace.JID_PREP_0,"jid",(value||"").toString())}})})},module.exports=exports.default},{"xmpp-constants":212,"xmpp-jid":218}],84:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),CONDITIONS=["out-of-order","tie-break","unknown-session","unsupported-info"],REASONS=["alternative-session","busy","cancel","connectivity-error","decline","expired","failed-application","failed-transport","general-error","gone","incompatible-parameters","media-error","security-error","success","timeout","unsupported-applications","unsupported-transports"];exports.default=function(JXT){var Utils=JXT.utils,Jingle=JXT.define({name:"jingle",namespace:_xmppConstants.Namespace.JINGLE_1,element:"jingle",fields:{action:Utils.attribute("action"),initiator:Utils.attribute("initiator"),responder:Utils.attribute("responder"),sid:Utils.attribute("sid"),info:{get:function(){for(var opts=JXT.tagged("jingle-info").map(function(Info){return Info.prototype._name}),i=0,len=opts.length;i<len;i++)if(this._extensions[opts[i]])return this._extensions[opts[i]];if("session-info"===Utils.getAttribute(this.xml,"action"))return 0===this.xml.children.length?{infoType:"ping"}:{infoType:"unknown"}},set:function(value){if("ping"!==value.infoType){var ext="_"+value.infoType;this[ext]=value}}}}}),Content=JXT.define({name:"_jingleContent",namespace:_xmppConstants.Namespace.JINGLE_1,element:"content",fields:{creator:Utils.attribute("creator"),disposition:Utils.attribute("disposition","session"),name:Utils.attribute("name"),senders:Utils.attribute("senders","both"),application:{get:function(){for(var opts=JXT.tagged("jingle-application").map(function(Description){return Description.prototype._name}),i=0,len=opts.length;i<len;i++)if(this._extensions[opts[i]])return this._extensions[opts[i]]},set:function(value){var ext="_"+value.applicationType;this[ext]=value}},transport:{get:function(){for(var opts=JXT.tagged("jingle-transport").map(function(Transport){return Transport.prototype._name}),i=0,len=opts.length;i<len;i++)if(this._extensions[opts[i]])return this._extensions[opts[i]]},set:function(value){var ext="_"+value.transportType;this[ext]=value}},security:{get:function(){for(var opts=JXT.tagged("jingle-security").map(function(Info){return Security.prototype._name}),i=0,len=opts.length;i<len;i++)if(this._extensions[opts[i]])return this._extensions[opts[i]]},set:function(value){var ext="_"+value.securityType;this[ext]=value}}}}),Reason=JXT.define({name:"reason",namespace:_xmppConstants.Namespace.JINGLE_1,element:"reason",fields:{condition:Utils.enumSub(_xmppConstants.Namespace.JINGLE_1,REASONS),alternativeSession:{get:function(){return Utils.getSubText(this.xml,_xmppConstants.Namespace.JINGLE_1,"alternative-session")},set:function(value){this.condition="alternative-session",Utils.setSubText(this.xml,_xmppConstants.Namespace.JINGLE_1,"alternative-session",value)}},text:Utils.textSub(_xmppConstants.Namespace.JINGLE_1,"text")}});JXT.extend(Jingle,Content,"contents"),JXT.extend(Jingle,Reason),JXT.extendIQ(Jingle),JXT.withStanzaError(function(StanzaError){JXT.add(StanzaError,"jingleCondition",Utils.enumSub(_xmppConstants.Namespace.JINGLE_ERRORS_1,CONDITIONS))})},module.exports=exports.default},{"xmpp-constants":212}],85:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var JSONExtension={get:function(){var data=JXT.utils.getSubText(this.xml,_xmppConstants.Namespace.JSON_0,"json");if(data)return JSON.parse(data)},set:function(value){value=JSON.stringify(value),value&&JXT.utils.setSubText(this.xml,_xmppConstants.Namespace.JSON_0,"json",value)}};JXT.withMessage(function(Message){JXT.add(Message,"json",JSONExtension)}),JXT.withPubsubItem(function(Item){JXT.add(Item,"json",JSONExtension)})},module.exports=exports.default},{"xmpp-constants":212}],86:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Log=JXT.define({name:"log",namespace:_xmppConstants.Namespace.EVENTLOG,element:"log",fields:{id:Utils.attribute("id"),timestamp:Utils.dateAttribute("timestamp"),type:Utils.attribute("type"),level:Utils.attribute("level"),object:Utils.attribute("object"),subject:Utils.attribute("subject"),facility:Utils.attribute("facility"),module:Utils.attribute("module"),message:Utils.textSub(_xmppConstants.Namespace.EVENTLOG,"message"),stackTrace:Utils.textSub(_xmppConstants.Namespace.EVENTLOG,"stackTrace")}}),Tag=JXT.define({name:"_logtag",namespace:_xmppConstants.Namespace.EVENTLOG,element:"tag",fields:{name:Utils.attribute("name"),value:Utils.attribute("value"),type:Utils.attribute("type")}});JXT.extend(Log,Tag,"tags"),JXT.extendMessage(Log),JXT.extendPubsubItem(Log)},module.exports=exports.default},{"xmpp-constants":212}],87:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),_xmppJid=require("xmpp-jid");exports.default=function(JXT){var Utils=JXT.utils,MAMQuery=JXT.define({name:"mam",namespace:_xmppConstants.Namespace.MAM_0,element:"query",fields:{queryid:Utils.attribute("queryid")}}),Result=JXT.define({name:"mamItem",namespace:_xmppConstants.Namespace.MAM_0,element:"result",fields:{queryid:Utils.attribute("queryid"),id:Utils.attribute("id")}}),Fin=JXT.define({name:"mamResult",namespace:_xmppConstants.Namespace.MAM_0,element:"fin",fields:{queryid:Utils.attribute("queryid"),complete:Utils.boolAttribute("complete"),stable:Utils.boolAttribute("stable")}}),Prefs=JXT.define({name:"mamPrefs",namespace:_xmppConstants.Namespace.MAM_0,element:"prefs",fields:{defaultCondition:Utils.attribute("default"),always:{get:function(){var results=[],container=Utils.find(this.xml,_xmppConstants.Namespace.MAM_0,"always");if(0===container.length)return results;container=container[0];var jids=Utils.getMultiSubText(container,_xmppConstants.Namespace.MAM_0,"jid");return jids.forEach(function(jid){results.push(new _xmppJid.JID(jid.textContent))}),results},set:function(value){if(value.length>0){var container=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.MAM_0,"always");Utils.setMultiSubText(container,_xmppConstants.Namespace.MAM_0,"jid",value)}}},never:{get:function(){var results=[],container=Utils.find(this.xml,_xmppConstants.Namespace.MAM_0,"always");if(0===container.length)return results;container=container[0];var jids=Utils.getMultiSubText(container,_xmppConstants.Namespace.MAM_0,"jid");return jids.forEach(function(jid){results.push(new _xmppJid.JID(jid.textContent))}),results},set:function(value){if(value.length>0){var container=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.MAM_0,"never");Utils.setMultiSubText(container,_xmppConstants.Namespace.MAM_0,"jid",value)}}}}});JXT.extendMessage(Result),JXT.extendMessage(Fin),JXT.extendIQ(MAMQuery),JXT.extendIQ(Prefs),JXT.withDataForm(function(DataForm){JXT.extend(MAMQuery,DataForm)}),JXT.withDefinition("forwarded",_xmppConstants.Namespace.FORWARD_0,function(Forwarded){JXT.extend(Result,Forwarded)}),JXT.withDefinition("set",_xmppConstants.Namespace.RSM,function(RSM){JXT.extend(MAMQuery,RSM),JXT.extend(Fin,RSM)})},module.exports=exports.default},{"xmpp-constants":212,"xmpp-jid":218}],88:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),internals={};internals.defineMessage=function(JXT,name,namespace){var Utils=JXT.utils;JXT.define({name:name,namespace:namespace,element:"message",topLevel:!0,fields:{lang:Utils.langAttribute(),id:Utils.attribute("id"),to:Utils.jidAttribute("to",!0),from:Utils.jidAttribute("from",!0),type:Utils.attribute("type","normal"),thread:Utils.textSub(namespace,"thread"),parentThread:Utils.subAttribute(namespace,"thread","parent"),subject:Utils.textSub(namespace,"subject"),$body:{get:function(){return Utils.getSubLangText(this.xml,namespace,"body",this.lang)}},body:{get:function(){var bodies=this.$body;return bodies[this.lang]||""},set:function(value){Utils.setSubLangText(this.xml,namespace,"body",value,this.lang)}},attention:Utils.boolSub(_xmppConstants.Namespace.ATTENTION_0,"attention"),chatState:Utils.enumSub(_xmppConstants.Namespace.CHAT_STATES,["active","composing","paused","inactive","gone"]),replace:Utils.subAttribute(_xmppConstants.Namespace.CORRECTION_0,"replace","id"),requestReceipt:Utils.boolSub(_xmppConstants.Namespace.RECEIPTS,"request"),receipt:Utils.subAttribute(_xmppConstants.Namespace.RECEIPTS,"received","id")}})},exports.default=function(JXT){internals.defineMessage(JXT,"message",_xmppConstants.Namespace.CLIENT),internals.defineMessage(JXT,"serverMessage",_xmppConstants.Namespace.SERVER),internals.defineMessage(JXT,"componentMessage",_xmppConstants.Namespace.COMPONENT)},module.exports=exports.default},{"xmpp-constants":212}],89:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),MOODS=["afraid","amazed","amorous","angry","annoyed","anxious","aroused","ashamed","bored","brave","calm","cautious","cold","confident","confused","contemplative","contented","cranky","crazy","creative","curious","dejected","depressed","disappointed","disgusted","dismayed","distracted","embarrassed","envious","excited","flirtatious","frustrated","grateful","grieving","grumpy","guilty","happy","hopeful","hot","humbled","humiliated","hungry","hurt","impressed","in_awe","in_love","indignant","interested","intoxicated","invincible","jealous","lonely","lucky","mean","moody","nervous","neutral","offended","outraged","playful","proud","relaxed","relieved","remorseful","restless","sad","sarcastic","serious","shocked","shy","sick","sleepy","spontaneous","stressed","strong","surprised","thankful","thirsty","tired","undefined","weak","worried"];exports.default=function(JXT){var Mood=JXT.define({name:"mood",namespace:_xmppConstants.Namespace.MOOD,element:"mood",fields:{text:JXT.utils.textSub(_xmppConstants.Namespace.MOOD,"text"),value:JXT.utils.enumSub(_xmppConstants.Namespace.MOOD,MOODS)}});JXT.extendMessage(Mood),JXT.extendPubsubItem(Mood)},module.exports=exports.default},{"xmpp-constants":212}],90:[function(require,module,exports){"use strict";function proxy(child,field){return{get:function(){if(this._extensions[child])return this[child][field]},set:function(value){this[child][field]=value}}}Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,UserItem=JXT.define({name:"_mucUserItem",namespace:_xmppConstants.Namespace.MUC_USER,element:"item",fields:{affiliation:Utils.attribute("affiliation"),nick:Utils.attribute("nick"),jid:Utils.jidAttribute("jid"),role:Utils.attribute("role"),reason:Utils.textSub(_xmppConstants.Namespace.MUC_USER,"reason")}}),UserActor=JXT.define({name:"_mucUserActor",namespace:_xmppConstants.Namespace.MUC_USER,element:"actor",fields:{nick:Utils.attribute("nick"),jid:Utils.jidAttribute("jid")}}),Destroyed=JXT.define({name:"destroyed",namespace:_xmppConstants.Namespace.MUC_USER,element:"destroy",fields:{jid:Utils.jidAttribute("jid"),reason:Utils.textSub(_xmppConstants.Namespace.MUC_USER,"reason")}}),Invite=JXT.define({name:"invite",namespace:_xmppConstants.Namespace.MUC_USER,element:"invite",fields:{to:Utils.jidAttribute("to"),from:Utils.jidAttribute("from"),reason:Utils.textSub(_xmppConstants.Namespace.MUC_USER,"reason"),thread:Utils.subAttribute(_xmppConstants.Namespace.MUC_USER,"continue","thread"),continue:Utils.boolSub(_xmppConstants.Namespace.MUC_USER,"continue")}}),Decline=JXT.define({name:"decline",namespace:_xmppConstants.Namespace.MUC_USER,element:"decline",fields:{to:Utils.jidAttribute("to"),from:Utils.jidAttribute("from"),reason:Utils.textSub(_xmppConstants.Namespace.MUC_USER,"reason")}}),AdminItem=JXT.define({name:"_mucAdminItem",namespace:_xmppConstants.Namespace.MUC_ADMIN,element:"item",fields:{affiliation:Utils.attribute("affiliation"),nick:Utils.attribute("nick"),jid:Utils.jidAttribute("jid"),role:Utils.attribute("role"),reason:Utils.textSub(_xmppConstants.Namespace.MUC_ADMIN,"reason")}}),AdminActor=JXT.define({name:"actor",namespace:_xmppConstants.Namespace.MUC_USER,element:"actor",fields:{nick:Utils.attribute("nick"),jid:Utils.jidAttribute("jid")}}),Destroy=JXT.define({name:"destroy",namespace:_xmppConstants.Namespace.MUC_OWNER,element:"destroy",fields:{jid:Utils.jidAttribute("jid"),password:Utils.textSub(_xmppConstants.Namespace.MUC_OWNER,"password"),reason:Utils.textSub(_xmppConstants.Namespace.MUC_OWNER,"reason")}}),MUC=JXT.define({name:"muc",namespace:_xmppConstants.Namespace.MUC_USER,element:"x",fields:{affiliation:proxy("_mucUserItem","affiliation"),nick:proxy("_mucUserItem","nick"),jid:proxy("_mucUserItem","jid"),role:proxy("_mucUserItem","role"),actor:proxy("_mucUserItem","_mucUserActor"),reason:proxy("_mucUserItem","reason"),password:Utils.textSub(_xmppConstants.Namespace.MUC_USER,"password"),codes:{get:function(){return Utils.getMultiSubText(this.xml,_xmppConstants.Namespace.MUC_USER,"status",function(sub){return Utils.getAttribute(sub,"code")})},set:function(value){var self=this;Utils.setMultiSubText(this.xml,_xmppConstants.Namespace.MUC_USER,"status",value,function(val){var child=Utils.createElement(_xmppConstants.Namespace.MUC_USER,"status",_xmppConstants.Namespace.MUC_USER);Utils.setAttribute(child,"code",val),self.xml.appendChild(child)})}}}}),MUCAdmin=JXT.define({name:"mucAdmin",namespace:_xmppConstants.Namespace.MUC_ADMIN,element:"query",fields:{affiliation:proxy("_mucAdminItem","affiliation"),nick:proxy("_mucAdminItem","nick"),jid:proxy("_mucAdminItem","jid"),role:proxy("_mucAdminItem","role"),actor:proxy("_mucAdminItem","_mucAdminActor"),reason:proxy("_mucAdminItem","reason")}}),MUCOwner=JXT.define({name:"mucOwner",namespace:_xmppConstants.Namespace.MUC_OWNER,element:"query"}),MUCJoin=JXT.define({name:"joinMuc",namespace:_xmppConstants.Namespace.MUC,element:"x",fields:{password:Utils.textSub(_xmppConstants.Namespace.MUC,"password"),history:{get:function(){var result={},hist=Utils.find(this.xml,_xmppConstants.Namespace.MUC,"history");if(!hist.length)return{};hist=hist[0];var maxchars=hist.getAttribute("maxchars")||"",maxstanzas=hist.getAttribute("maxstanzas")||"",seconds=hist.getAttribute("seconds")||"",since=hist.getAttribute("since")||"";maxchars&&(result.maxchars=parseInt(maxchars,10)),maxstanzas&&(result.maxstanzas=parseInt(maxstanzas,10)),seconds&&(result.seconds=parseInt(seconds,10)),since&&(result.since=new Date(since))},set:function(opts){var existing=Utils.find(this.xml,_xmppConstants.Namespace.MUC,"history");if(existing.length)for(var i=0;i<existing.length;i++)this.xml.removeChild(existing[i]);var hist=Utils.createElement(_xmppConstants.Namespace.MUC,"history",_xmppConstants.Namespace.MUC);this.xml.appendChild(hist),opts.maxchars&&hist.setAttribute("maxchars",""+opts.maxchars),opts.maxstanzas&&hist.setAttribute("maxstanzas",""+opts.maxstanzas),opts.seconds&&hist.setAttribute("seconds",""+opts.seconds),opts.since&&hist.setAttribute("since",opts.since.toISOString())}}}}),DirectInvite=JXT.define({name:"mucInvite",namespace:_xmppConstants.Namespace.MUC_DIRECT_INVITE,element:"x",fields:{jid:Utils.jidAttribute("jid"),password:Utils.attribute("password"),reason:Utils.attribute("reason"),thread:Utils.attribute("thread"),continue:Utils.boolAttribute("continue")}});JXT.extend(UserItem,UserActor),JXT.extend(MUC,UserItem),JXT.extend(MUC,Invite,"invites"),JXT.extend(MUC,Decline),JXT.extend(MUC,Destroyed),JXT.extend(AdminItem,AdminActor),JXT.extend(MUCAdmin,AdminItem,"items"),JXT.extend(MUCOwner,Destroy),JXT.extendPresence(MUC),JXT.extendPresence(MUCJoin),JXT.extendMessage(MUC),JXT.extendMessage(DirectInvite),JXT.withIQ(function(IQ){JXT.add(IQ,"mucUnique",Utils.textSub(_xmppConstants.Namespace.MUC_UNIQUE,"unique")),JXT.extend(IQ,MUCAdmin),JXT.extend(IQ,MUCOwner)}),JXT.withDataForm(function(DataForm){JXT.extend(MUCOwner,DataForm)})},module.exports=exports.default},{"xmpp-constants":212}],91:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var nick=JXT.utils.textSub(_xmppConstants.Namespace.NICK,"nick");JXT.withPubsubItem(function(Item){JXT.add(Item,"nick",nick)}),JXT.withPresence(function(Presence){JXT.add(Presence,"nick",nick)}),JXT.withMessage(function(Message){JXT.add(Message,"nick",nick)})},module.exports=exports.default},{"xmpp-constants":212}],92:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var OOB=JXT.define({name:"oob",element:"x",namespace:_xmppConstants.Namespace.OOB,fields:{url:JXT.utils.textSub(_xmppConstants.Namespace.OOB,"url"),desc:JXT.utils.textSub(_xmppConstants.Namespace.OOB,"desc")}});JXT.extendMessage(OOB,"oobURIs")},module.exports=exports.default},{"xmpp-constants":212}],93:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Ping=JXT.define({name:"ping",namespace:_xmppConstants.Namespace.PING,element:"ping"});JXT.extendIQ(Ping)},module.exports=exports.default},{"xmpp-constants":212}],94:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),internals={};internals.definePresence=function(JXT,name,namespace){var Utils=JXT.utils;JXT.define({name:name,namespace:namespace,element:"presence",topLevel:!0,fields:{lang:Utils.langAttribute(),id:Utils.attribute("id"),to:Utils.jidAttribute("to",!0),from:Utils.jidAttribute("from",!0),priority:Utils.numberSub(namespace,"priority",!1,0),show:Utils.textSub(namespace,"show"),type:{get:function(){return Utils.getAttribute(this.xml,"type","available")},set:function(value){"available"===value&&(value=!1),Utils.setAttribute(this.xml,"type",value)}},$status:{get:function(){return Utils.getSubLangText(this.xml,namespace,"status",this.lang)}},status:{get:function(){var statuses=this.$status;return statuses[this.lang]||""},set:function(value){Utils.setSubLangText(this.xml,namespace,"status",value,this.lang)}},idleSince:Utils.dateSubAttribute(_xmppConstants.Namespace.IDLE_1,"idle","since"),decloak:Utils.subAttribute(_xmppConstants.Namespace.DECLOAK_0,"decloak","reason"),avatarId:{get:function(){var update=Utils.find(this.xml,_xmppConstants.Namespace.VCARD_TEMP_UPDATE,"x");return update.length?Utils.getSubText(update[0],_xmppConstants.Namespace.VCARD_TEMP_UPDATE,"photo"):""},set:function(value){var update=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.VCARD_TEMP_UPDATE,"x");if(""===value)Utils.setBoolSub(update,_xmppConstants.Namespace.VCARD_TEMP_UPDATE,"photo",!0);else{if(value===!0)return;value?Utils.setSubText(update,_xmppConstants.Namespace.VCARD_TEMP_UPDATE,"photo",value):this.xml.removeChild(update)}}}}})},exports.default=function(JXT){internals.definePresence(JXT,"presence",_xmppConstants.Namespace.CLIENT),internals.definePresence(JXT,"serverPresence",_xmppConstants.Namespace.SERVER),internals.definePresence(JXT,"componentPresence",_xmppConstants.Namespace.COMPONENT)},module.exports=exports.default},{"xmpp-constants":212}],95:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var PrivateStorage=JXT.define({name:"privateStorage",namespace:_xmppConstants.Namespace.PRIVATE,element:"query"});JXT.extendIQ(PrivateStorage)},module.exports=exports.default},{"xmpp-constants":212}],96:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),CONDITIONS=["server-unavailable","connection-paused"];exports.default=function(JXT){var PSA=JXT.define({name:"state",namespace:_xmppConstants.Namespace.PSA,element:"state-annotation",fields:{from:JXT.utils.jidAttribute("from"),condition:JXT.utils.enumSub(_xmppConstants.Namespace.PSA,CONDITIONS),description:JXT.utils.textSub(_xmppConstants.Namespace.PSA,"description")}});JXT.extendPresence(PSA)},module.exports=exports.default},{"xmpp-constants":212}],97:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Pubsub=JXT.define({name:"pubsub",namespace:_xmppConstants.Namespace.PUBSUB,element:"pubsub",fields:{create:{get:function(){var node=Utils.getSubAttribute(this.xml,_xmppConstants.Namespace.PUBSUB,"create","node");return node?node:Utils.getBoolSub(this.xml,_xmppConstants.Namespace.PUBSUB,"create")},set:function(value){value!==!0&&value?Utils.setSubAttribute(this.xml,_xmppConstants.Namespace.PUBSUB,"create","node",value):Utils.setBoolSub(this.xml,_xmppConstants.Namespace.PUBSUB,"create",value)}},publishOptions:{get:function(){var DataForm=JXT.getDefinition("x",_xmppConstants.Namespace.DATAFORM),conf=Utils.find(this.xml,_xmppConstants.Namespace.PUBSUB,"publish-options");if(conf.length&&conf[0].childNodes.length)return new DataForm({},conf[0].childNodes[0])},set:function(value){var DataForm=JXT.getDefinition("x",_xmppConstants.Namespace.DATAFORM),conf=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.PUBSUB,"publish-options");if(value){var form=new DataForm(value);conf.appendChild(form.xml)}}}}}),Configure=JXT.define({name:"config",namespace:_xmppConstants.Namespace.PUBSUB,element:"configure"}),Subscribe=JXT.define({name:"subscribe",namespace:_xmppConstants.Namespace.PUBSUB,element:"subscribe",fields:{node:Utils.attribute("node"),jid:Utils.jidAttribute("jid")}}),Subscription=JXT.define({name:"subscription",namespace:_xmppConstants.Namespace.PUBSUB,element:"subscription",fields:{node:Utils.attribute("node"),jid:Utils.jidAttribute("jid"),subid:Utils.attribute("subid"),type:Utils.attribute("subscription"),configurable:Utils.boolSub("subscribe-options"),configurationRequired:{get:function(){var options=Utils.find(this.xml,_xmppConstants.Namespace.PUBSUB,"subscribe-options");return!!options.length&&Utils.getBoolSub(options[0],_xmppConstants.Namespace.PUBSUB,"required")}}}}),Subscriptions=JXT.define({name:"subscriptions",namespace:_xmppConstants.Namespace.PUBSUB,element:"subscriptions",fields:{node:Utils.attribute("node"),jid:Utils.jidAttribute("jid")}}),Affiliation=JXT.define({name:"affiliation",namespace:_xmppConstants.Namespace.PUBSUB,element:"affiliation",fields:{node:Utils.attribute("node"),type:Utils.attribute("affiliation")}}),Affiliations=JXT.define({name:"affiliations",namespace:_xmppConstants.Namespace.PUBSUB,element:"affiliations",fields:{node:Utils.attribute("node")}}),SubscriptionOptions=JXT.define({name:"subscriptionOptions",namespace:_xmppConstants.Namespace.PUBSUB,element:"options",fields:{node:Utils.attribute("node"),jid:Utils.jidAttribute("jid"),subid:Utils.attribute("subid")}}),Unsubscribe=JXT.define({name:"unsubscribe",namespace:_xmppConstants.Namespace.PUBSUB,element:"unsubscribe",fields:{node:Utils.attribute("node"),subid:Utils.attribute("subid"),jid:Utils.jidAttribute("jid")}}),Publish=JXT.define({name:"publish",namespace:_xmppConstants.Namespace.PUBSUB,element:"publish",fields:{node:Utils.attribute("node")}}),Retract=JXT.define({name:"retract",namespace:_xmppConstants.Namespace.PUBSUB,element:"retract",fields:{node:Utils.attribute("node"),notify:Utils.boolAttribute("notify"),id:Utils.subAttribute(_xmppConstants.Namespace.PUBSUB,"item","id")}}),Retrieve=JXT.define({name:"retrieve",namespace:_xmppConstants.Namespace.PUBSUB,element:"items",fields:{node:Utils.attribute("node"),max:Utils.attribute("max_items")}}),Item=JXT.define({name:"item",namespace:_xmppConstants.Namespace.PUBSUB,element:"item",fields:{id:Utils.attribute("id")}});JXT.extend(Pubsub,Configure),JXT.extend(Pubsub,Subscribe),JXT.extend(Pubsub,Unsubscribe),JXT.extend(Pubsub,Publish),JXT.extend(Pubsub,Retract),JXT.extend(Pubsub,Retrieve),JXT.extend(Pubsub,Subscription),JXT.extend(Pubsub,SubscriptionOptions),JXT.extend(Pubsub,Subscriptions),JXT.extend(Pubsub,Affiliations),JXT.extend(Publish,Item,"items"),JXT.extend(Retrieve,Item,"items"),JXT.extend(Subscriptions,Subscription,"list"),JXT.extend(Affiliations,Affiliation,"list"),JXT.extendIQ(Pubsub),JXT.withDataForm(function(DataForm){JXT.extend(SubscriptionOptions,DataForm),JXT.extend(Item,DataForm),JXT.extend(Configure,DataForm)}),JXT.withDefinition("set",_xmppConstants.Namespace.RSM,function(RSM){JXT.extend(Pubsub,RSM)})},module.exports=exports.default},{"xmpp-constants":212}],98:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),CONDITIONS=["closed-node","configuration-required","invalid-jid","invalid-options","invalid-payload","invalid-subid","item-forbidden","item-required","jid-required","max-items-exceeded","max-nodes-exceeded","nodeid-required","not-in-roster-group","not-subscribed","payload-too-big","payload-required","pending-subscription","presence-subscription-required","subid-required","too-many-subscriptions","unsupported","unsupported-access-model"];exports.default=function(JXT){JXT.withStanzaError(function(StanzaError){JXT.add(StanzaError,"pubsubCondition",JXT.utils.enumSub(_xmppConstants.Namespace.PUBSUB_ERRORS,CONDITIONS)),JXT.add(StanzaError,"pubsubUnsupportedFeature",{get:function(){return JXT.utils.getSubAttribute(this.xml,_xmppConstants.Namespace.PUBSUB_ERRORS,"unsupported","feature")},set:function(value){value&&(this.pubsubCondition="unsupported"),JXT.utils.setSubAttribute(this.xml,_xmppConstants.Namespace.PUBSUB_ERRORS,"unsupported","feature",value)}})})},module.exports=exports.default},{"xmpp-constants":212}],99:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Event=JXT.define({name:"event",namespace:_xmppConstants.Namespace.PUBSUB_EVENT,element:"event"}),EventPurge=JXT.define({name:"purged",namespace:_xmppConstants.Namespace.PUBSUB_EVENT,element:"purge",fields:{node:Utils.attribute("node")}}),EventDelete=JXT.define({name:"deleted",namespace:_xmppConstants.Namespace.PUBSUB_EVENT,element:"delete",fields:{node:Utils.attribute("node"),redirect:Utils.subAttribute(_xmppConstants.Namespace.PUBSUB_EVENT,"redirect","uri")}}),EventSubscription=JXT.define({name:"subscriptionChanged",namespace:_xmppConstants.Namespace.PUBSUB_EVENT,element:"subscription",fields:{node:Utils.attribute("node"),jid:Utils.jidAttribute("jid"),type:Utils.attribute("subscription"),subid:Utils.attribute("subid"),expiry:{get:function(){var text=Utils.getAttribute(this.xml,"expiry");return"presence"===text?text:text?new Date(text):void 0},set:function(value){value&&("string"!=typeof value&&(value=value.toISOString()),Utils.setAttribute(this.xml,"expiry",value))}}}}),EventConfiguration=JXT.define({name:"configurationChanged",namespace:_xmppConstants.Namespace.PUBSUB_EVENT,element:"configuration",fields:{node:Utils.attribute("node")}}),EventItems=JXT.define({name:"updated",namespace:_xmppConstants.Namespace.PUBSUB_EVENT,element:"items",fields:{node:Utils.attribute("node"),retracted:{get:function(){var results=[],retracted=Utils.find(this.xml,_xmppConstants.Namespace.PUBSUB_EVENT,"retract");return retracted.forEach(function(xml){results.push(xml.getAttribute("id"))}),results},set:function(value){value.forEach(function(id){var retracted=Utils.createElement(_xmppConstants.Namespace.PUBSUB_EVENT,"retract",_xmppConstants.Namespace.PUBSUB_EVENT);retracted.setAttribute("id",id),this.xml.appendChild(retracted)})}}}}),EventItem=JXT.define({name:"_eventItem",namespace:_xmppConstants.Namespace.PUBSUB_EVENT,element:"item",fields:{id:Utils.attribute("id"),node:Utils.attribute("node"),publisher:Utils.jidAttribute("publisher")}});JXT.extend(EventItems,EventItem,"published"),JXT.extend(Event,EventItems),JXT.extend(Event,EventSubscription),JXT.extend(Event,EventConfiguration),JXT.extend(Event,EventDelete),JXT.extend(Event,EventPurge),JXT.extendMessage(Event),JXT.withDataForm(function(DataForm){JXT.extend(EventConfiguration,DataForm)})},module.exports=exports.default},{"xmpp-constants":212}],100:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,PubsubOwner=JXT.define({name:"pubsubOwner",namespace:_xmppConstants.Namespace.PUBSUB_OWNER,element:"pubsub",fields:{purge:Utils.subAttribute(_xmppConstants.Namespace.PUBSUB_OWNER,"purge","node"),del:Utils.subAttribute(_xmppConstants.Namespace.PUBSUB_OWNER,"delete","node"),redirect:{get:function(){var del=Utils.find(this.xml,_xmppConstants.Namespace.PUBSUB_OWNER,"delete");return del.length?Utils.getSubAttribute(del[0],_xmppConstants.Namespace.PUBSUB_OWNER,"redirect","uri"):""},set:function(value){var del=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.PUBSUB_OWNER,"delete");Utils.setSubAttribute(del,_xmppConstants.Namespace.PUBSUB_OWNER,"redirect","uri",value)}}}}),Subscription=JXT.define({name:"subscription",namespace:_xmppConstants.Namespace.PUBSUB_OWNER,element:"subscription",fields:{node:Utils.attribute("node"),jid:Utils.jidAttribute("jid"),subid:Utils.attribute("subid"),type:Utils.attribute("subscription"),configurable:Utils.boolSub("subscribe-options"),configurationRequired:{get:function(){var options=Utils.find(this.xml,_xmppConstants.Namespace.PUBSUB_OWNER,"subscribe-options");return!!options.length&&Utils.getBoolSub(options[0],_xmppConstants.Namespace.PUBSUB_OWNER,"required")}}}}),Subscriptions=JXT.define({name:"subscriptions",namespace:_xmppConstants.Namespace.PUBSUB_OWNER,element:"subscriptions",fields:{node:Utils.attribute("node")}}),Affiliation=JXT.define({name:"affiliation",namespace:_xmppConstants.Namespace.PUBSUB_OWNER,element:"affiliation",fields:{jid:Utils.jidAttribute("jid"),type:Utils.attribute("affiliation")}}),Affiliations=JXT.define({name:"affiliations",namespace:_xmppConstants.Namespace.PUBSUB_OWNER,element:"affiliations",fields:{node:Utils.attribute("node")}}),Configure=JXT.define({name:"config",namespace:_xmppConstants.Namespace.PUBSUB_OWNER,element:"configure",fields:{node:Utils.attribute("node")}});JXT.extend(PubsubOwner,Configure),JXT.extend(PubsubOwner,Subscriptions),JXT.extend(PubsubOwner,Affiliations),JXT.extend(Subscriptions,Subscription,"list"),JXT.extend(Affiliations,Affiliation,"list"),JXT.extendIQ(PubsubOwner),JXT.withDataForm(function(DataForm){JXT.extend(Configure,DataForm)})},module.exports=exports.default},{"xmpp-constants":212}],101:[function(require,module,exports){
-"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Enable=JXT.define({name:"enablePush",element:"enable",namespace:_xmppConstants.Namespace.PUSH_0,fields:{jid:Utils.jidAttribute("jid"),node:Utils.attribute("node")}}),Disable=JXT.define({name:"disablePush",element:"disable",namespace:_xmppConstants.Namespace.PUSH_0,fields:{jid:Utils.jidAttribute("jid"),node:Utils.attribute("node")}}),Notification=JXT.define({name:"pushNotification",element:"notification",namespace:_xmppConstants.Namespace.PUSH_0});JXT.withDataForm(function(DataForm){JXT.extend(Notification,DataForm),JXT.extend(Enable,DataForm)}),JXT.extendIQ(Enable),JXT.extendIQ(Disable)},module.exports=exports.default},{"xmpp-constants":212}],102:[function(require,module,exports){"use strict";var _interopRequireDefault=require("babel-runtime/helpers/interop-require-default").default;Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),_lodashForeach=require("lodash.foreach"),_lodashForeach2=_interopRequireDefault(_lodashForeach);exports.default=function(JXT){var Utils=JXT.utils,ReachURI=JXT.define({name:"_reachAddr",namespace:_xmppConstants.Namespace.REACH_0,element:"addr",fields:{uri:Utils.attribute("uri"),$desc:{get:function(){return Utils.getSubLangText(this.xml,_xmppConstants.Namespace.REACH_0,"desc",this.lang)}},desc:{get:function(){var descs=this.$desc;return descs[this.lang]||""},set:function(value){Utils.setSubLangText(this.xml,_xmppConstants.Namespace.REACH_0,"desc",value,this.lang)}}}}),reachability={get:function(){var reach=Utils.find(this.xml,_xmppConstants.Namespace.REACH_0,"reach"),results=[];if(reach.length){var addrs=Utils.find(reach[0],_xmppConstants.Namespace.REACH_0,"addr");(0,_lodashForeach2.default)(addrs,function(addr){results.push(new ReachURI({},addr))})}return results},set:function(value){var reach=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.REACH_0,"reach");Utils.setAttribute(reach,"xmlns",_xmppConstants.Namespace.REACH_0),(0,_lodashForeach2.default)(value,function(info){var addr=new ReachURI(info);reach.appendChild(addr.xml)})}};JXT.withPubsubItem(function(Item){JXT.add(Item,"reach",reachability)}),JXT.withPresence(function(Presence){JXT.add(Presence,"reach",reachability)})},module.exports=exports.default},{"babel-runtime/helpers/interop-require-default":2,"lodash.foreach":134,"xmpp-constants":212}],103:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Register=JXT.define({name:"register",namespace:_xmppConstants.Namespace.REGISTER,element:"query",fields:{instructions:Utils.textSub(_xmppConstants.Namespace.REGISTER,"instructions"),registered:Utils.boolSub(_xmppConstants.Namespace.REGISTER,"registered"),remove:Utils.boolSub(_xmppConstants.Namespace.REGISTER,"remove"),username:Utils.textSub(_xmppConstants.Namespace.REGISTER,"username"),nick:Utils.textSub(_xmppConstants.Namespace.REGISTER,"nick"),password:Utils.textSub(_xmppConstants.Namespace.REGISTER,"password"),name:Utils.textSub(_xmppConstants.Namespace.REGISTER,"name"),first:Utils.textSub(_xmppConstants.Namespace.REGISTER,"first"),last:Utils.textSub(_xmppConstants.Namespace.REGISTER,"last"),email:Utils.textSub(_xmppConstants.Namespace.REGISTER,"email"),address:Utils.textSub(_xmppConstants.Namespace.REGISTER,"address"),city:Utils.textSub(_xmppConstants.Namespace.REGISTER,"city"),state:Utils.textSub(_xmppConstants.Namespace.REGISTER,"state"),zip:Utils.textSub(_xmppConstants.Namespace.REGISTER,"zip"),phone:Utils.textSub(_xmppConstants.Namespace.REGISTER,"phone"),url:Utils.textSub(_xmppConstants.Namespace.REGISTER,"url"),date:Utils.textSub(_xmppConstants.Namespace.REGISTER,"date"),misc:Utils.textSub(_xmppConstants.Namespace.REGISTER,"misc"),text:Utils.textSub(_xmppConstants.Namespace.REGISTER,"text"),key:Utils.textSub(_xmppConstants.Namespace.REGISTER,"key")}});JXT.extendIQ(Register),JXT.withDefinition("x",_xmppConstants.Namespace.OOB,function(OOB){JXT.extend(Register,OOB)}),JXT.withDataForm(function(DataForm){JXT.extend(Register,DataForm)})},module.exports=exports.default},{"xmpp-constants":212}],104:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Roster=JXT.define({name:"roster",namespace:_xmppConstants.Namespace.ROSTER,element:"query",fields:{ver:{get:function(){return Utils.getAttribute(this.xml,"ver")},set:function(value){var force=""===value;Utils.setAttribute(this.xml,"ver",value,force)}}}}),RosterItem=JXT.define({name:"_rosterItem",namespace:_xmppConstants.Namespace.ROSTER,element:"item",fields:{jid:Utils.jidAttribute("jid",!0),name:Utils.attribute("name"),subscription:Utils.attribute("subscription","none"),subscriptionRequested:{get:function(){var ask=Utils.getAttribute(this.xml,"ask");return"subscribe"===ask}},preApproved:Utils.boolAttribute(_xmppConstants.Namespace.ROSTER,"approved"),groups:Utils.multiTextSub(_xmppConstants.Namespace.ROSTER,"group")}});JXT.extend(Roster,RosterItem,"items"),JXT.extendIQ(Roster)},module.exports=exports.default},{"xmpp-constants":212}],105:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils;JXT.define({name:"rsm",namespace:_xmppConstants.Namespace.RSM,element:"set",fields:{after:Utils.textSub(_xmppConstants.Namespace.RSM,"after"),before:{get:function(){return Utils.getSubText(this.xml,_xmppConstants.Namespace.RSM,"before")},set:function(value){value===!0?Utils.findOrCreate(this.xml,_xmppConstants.Namespace.RSM,"before"):Utils.setSubText(this.xml,_xmppConstants.Namespace.RSM,"before",value)}},count:Utils.numberSub(_xmppConstants.Namespace.RSM,"count",!1,0),first:Utils.textSub(_xmppConstants.Namespace.RSM,"first"),firstIndex:Utils.subAttribute(_xmppConstants.Namespace.RSM,"first","index"),index:Utils.textSub(_xmppConstants.Namespace.RSM,"index"),last:Utils.textSub(_xmppConstants.Namespace.RSM,"last"),max:Utils.textSub(_xmppConstants.Namespace.RSM,"max")}})},module.exports=exports.default},{"xmpp-constants":212}],106:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Feedback={get:function(){var existing=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_RTCP_FB_0,"rtcp-fb"),result=[];return existing.forEach(function(xml){result.push({type:Utils.getAttribute(xml,"type"),subtype:Utils.getAttribute(xml,"subtype")})}),existing=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_RTCP_FB_0,"rtcp-fb-trr-int"),existing.forEach(function(xml){result.push({type:Utils.getAttribute(xml,"type"),value:Utils.getAttribute(xml,"value")})}),result},set:function(values){var self=this,existing=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_RTCP_FB_0,"rtcp-fb");existing.forEach(function(item){self.xml.removeChild(item)}),existing=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_RTCP_FB_0,"rtcp-fb-trr-int"),existing.forEach(function(item){self.xml.removeChild(item)}),values.forEach(function(value){var fb=void 0;"trr-int"===value.type?(fb=Utils.createElement(_xmppConstants.Namespace.JINGLE_RTP_RTCP_FB_0,"rtcp-fb-trr-int",_xmppConstants.Namespace.JINGLE_RTP_1),Utils.setAttribute(fb,"type",value.type),Utils.setAttribute(fb,"value",value.value)):(fb=Utils.createElement(_xmppConstants.Namespace.JINGLE_RTP_RTCP_FB_0,"rtcp-fb",_xmppConstants.Namespace.JINGLE_RTP_1),Utils.setAttribute(fb,"type",value.type),Utils.setAttribute(fb,"subtype",value.subtype)),self.xml.appendChild(fb)})}},Bandwidth=JXT.define({name:"bandwidth",namespace:_xmppConstants.Namespace.JINGLE_RTP_1,element:"bandwidth",fields:{type:Utils.attribute("type"),bandwidth:Utils.text()}}),RTP=JXT.define({name:"_rtp",namespace:_xmppConstants.Namespace.JINGLE_RTP_1,element:"description",tags:["jingle-application"],fields:{applicationType:{value:"rtp"},media:Utils.attribute("media"),ssrc:Utils.attribute("ssrc"),mux:Utils.boolSub(_xmppConstants.Namespace.JINGLE_RTP_1,"rtcp-mux"),encryption:{get:function(){var enc=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_1,"encryption");if(!enc.length)return[];enc=enc[0];var self=this,data=Utils.find(enc,_xmppConstants.Namespace.JINGLE_RTP_1,"crypto"),results=[];return data.forEach(function(xml){results.push(new Crypto({},xml,self).toJSON())}),results},set:function(values){var enc=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_1,"encryption");if(enc.length&&this.xml.removeChild(enc),values.length){Utils.setBoolSubAttribute(this.xml,_xmppConstants.Namespace.JINGLE_RTP_1,"encryption","required",!0),enc=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_1,"encryption")[0];var self=this;values.forEach(function(value){var content=new Crypto(value,null,self);enc.appendChild(content.xml)})}}},feedback:Feedback,headerExtensions:{get:function(){var existing=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_HDREXT_0,"rtp-hdrext"),result=[];return existing.forEach(function(xml){result.push({id:Utils.getAttribute(xml,"id"),uri:Utils.getAttribute(xml,"uri"),senders:Utils.getAttribute(xml,"senders")})}),result},set:function(values){var self=this,existing=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_HDREXT_0,"rtp-hdrext");existing.forEach(function(item){self.xml.removeChild(item)}),values.forEach(function(value){var hdr=Utils.createElement(_xmppConstants.Namespace.JINGLE_RTP_HDREXT_0,"rtp-hdrext",_xmppConstants.Namespace.JINGLE_RTP_1);Utils.setAttribute(hdr,"id",value.id),Utils.setAttribute(hdr,"uri",value.uri),Utils.setAttribute(hdr,"senders",value.senders),self.xml.appendChild(hdr)})}}}}),PayloadType=JXT.define({name:"_payloadType",namespace:_xmppConstants.Namespace.JINGLE_RTP_1,element:"payload-type",fields:{channels:Utils.attribute("channels"),clockrate:Utils.attribute("clockrate"),id:Utils.attribute("id"),maxptime:Utils.attribute("maxptime"),name:Utils.attribute("name"),ptime:Utils.attribute("ptime"),feedback:Feedback,parameters:{get:function(){var result=[],params=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_1,"parameter");return params.forEach(function(param){result.push({key:Utils.getAttribute(param,"name"),value:Utils.getAttribute(param,"value")})}),result},set:function(values){var self=this;values.forEach(function(value){var param=Utils.createElement(_xmppConstants.Namespace.JINGLE_RTP_1,"parameter");Utils.setAttribute(param,"name",value.key),Utils.setAttribute(param,"value",value.value),self.xml.appendChild(param)})}}}}),Crypto=JXT.define({name:"crypto",namespace:_xmppConstants.Namespace.JINGLE_RTP_1,element:"crypto",fields:{cipherSuite:Utils.attribute("crypto-suite"),keyParams:Utils.attribute("key-params"),sessionParams:Utils.attribute("session-params"),tag:Utils.attribute("tag")}}),ContentGroup=JXT.define({name:"_group",namespace:_xmppConstants.Namespace.JINGLE_GROUPING_0,element:"group",fields:{semantics:Utils.attribute("semantics"),contents:Utils.multiSubAttribute(_xmppConstants.Namespace.JINGLE_GROUPING_0,"content","name")}}),SourceGroup=JXT.define({name:"_sourceGroup",namespace:_xmppConstants.Namespace.JINGLE_RTP_SSMA_0,element:"ssrc-group",fields:{semantics:Utils.attribute("semantics"),sources:Utils.multiSubAttribute(_xmppConstants.Namespace.JINGLE_RTP_SSMA_0,"source","ssrc")}}),Source=JXT.define({name:"_source",namespace:_xmppConstants.Namespace.JINGLE_RTP_SSMA_0,element:"source",fields:{ssrc:Utils.attribute("ssrc"),parameters:{get:function(){var result=[],params=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_SSMA_0,"parameter");return params.forEach(function(param){result.push({key:Utils.getAttribute(param,"name"),value:Utils.getAttribute(param,"value")})}),result},set:function(values){var self=this;values.forEach(function(value){var param=Utils.createElement(_xmppConstants.Namespace.JINGLE_RTP_SSMA_0,"parameter");Utils.setAttribute(param,"name",value.key),Utils.setAttribute(param,"value",value.value),self.xml.appendChild(param)})}}}}),Mute=JXT.define({name:"mute",namespace:_xmppConstants.Namespace.JINGLE_RTP_INFO_1,element:"mute",fields:{creator:Utils.attribute("creator"),name:Utils.attribute("name")}}),Unmute=JXT.define({name:"unmute",namespace:_xmppConstants.Namespace.JINGLE_RTP_INFO_1,element:"unmute",fields:{creator:Utils.attribute("creator"),name:Utils.attribute("name")}});JXT.extend(RTP,Bandwidth),JXT.extend(RTP,PayloadType,"payloads"),JXT.extend(RTP,Source,"sources"),JXT.extend(RTP,SourceGroup,"sourceGroups"),JXT.withDefinition("content",_xmppConstants.Namespace.JINGLE_1,function(Content){JXT.extend(Content,RTP)}),JXT.withDefinition("jingle",_xmppConstants.Namespace.JINGLE_1,function(Jingle){JXT.extend(Jingle,Mute),JXT.extend(Jingle,Unmute),JXT.extend(Jingle,ContentGroup,"groups"),JXT.add(Jingle,"ringing",Utils.boolSub(_xmppConstants.Namespace.JINGLE_RTP_INFO_1,"ringing")),JXT.add(Jingle,"hold",Utils.boolSub(_xmppConstants.Namespace.JINGLE_RTP_INFO_1,"hold")),JXT.add(Jingle,"active",Utils.boolSub(_xmppConstants.Namespace.JINGLE_RTP_INFO_1,"active"))})},module.exports=exports.default},{"xmpp-constants":212}],107:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),TYPE_MAP={insert:"t",erase:"e",wait:"w"},ACTION_MAP={t:"insert",e:"erase",w:"wait"};exports.default=function(JXT){var Utils=JXT.utils,RTT=JXT.define({name:"rtt",namespace:_xmppConstants.Namespace.RTT_0,element:"rtt",fields:{id:Utils.attribute("id"),event:Utils.attribute("event","edit"),seq:Utils.numberAttribute("seq"),actions:{get:function(){for(var results=[],i=0,len=this.xml.childNodes.length;i<len;i++){var child=this.xml.childNodes[i],_name=child.localName,action={};if(child.namespaceURI===_xmppConstants.Namespace.RTT_0&&ACTION_MAP[_name]){action.type=ACTION_MAP[_name];var pos=Utils.getAttribute(child,"p");pos&&(action.pos=parseInt(pos,10));var n=Utils.getAttribute(child,"n");n&&(action.num=parseInt(n,10));var t=Utils.getText(child);t&&"t"===_name&&(action.text=t),results.push(action)}}return results},set:function(actions){for(var self=this,i=0,len=this.xml.childNodes.length;i<len;i++)this.xml.removeChild(this.xml.childNodes[i]);actions.forEach(function(action){if(TYPE_MAP[action.type]){var child=Utils.createElement(_xmppConstants.Namespace.RTT_0,TYPE_MAP[action.type],_xmppConstants.Namespace.RTT_0);void 0!==action.pos&&Utils.setAttribute(child,"p",action.pos.toString()),action.num&&Utils.setAttribute(child,"n",action.num.toString()),action.text&&Utils.setText(child,action.text),self.xml.appendChild(child)}})}}}});JXT.extendMessage(RTT)},module.exports=exports.default},{"xmpp-constants":212}],108:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),CONDITIONS=["aborted","account-disabled","credentials-expired","encryption-required","incorrect-encoding","invalid-authzid","invalid-mechanism","malformed-request","mechanism-too-weak","not-authorized","temporary-auth-failure"];exports.default=function(JXT){var Utils=JXT.utils,Mechanisms=JXT.define({name:"sasl",namespace:_xmppConstants.Namespace.SASL,element:"mechanisms",fields:{mechanisms:Utils.multiTextSub(_xmppConstants.Namespace.SASL,"mechanism")}});JXT.define({name:"saslAuth",eventName:"sasl:auth",namespace:_xmppConstants.Namespace.SASL,element:"auth",topLevel:!0,fields:{value:Utils.text(),mechanism:Utils.attribute("mechanism")}}),JXT.define({name:"saslChallenge",eventName:"sasl:challenge",namespace:_xmppConstants.Namespace.SASL,element:"challenge",topLevel:!0,fields:{value:Utils.text()}}),JXT.define({name:"saslResponse",eventName:"sasl:response",namespace:_xmppConstants.Namespace.SASL,element:"response",topLevel:!0,fields:{value:Utils.text()}}),JXT.define({name:"saslAbort",eventName:"sasl:abort",namespace:_xmppConstants.Namespace.SASL,element:"abort",topLevel:!0}),JXT.define({name:"saslSuccess",eventName:"sasl:success",namespace:_xmppConstants.Namespace.SASL,element:"success",topLevel:!0,fields:{value:Utils.text()}}),JXT.define({name:"saslFailure",eventName:"sasl:failure",namespace:_xmppConstants.Namespace.SASL,element:"failure",topLevel:!0,fields:{lang:{get:function(){return this._lang||""},set:function(value){this._lang=value}},condition:Utils.enumSub(_xmppConstants.Namespace.SASL,CONDITIONS),$text:{get:function(){return Utils.getSubLangText(this.xml,_xmppConstants.Namespace.SASL,"text",this.lang)}},text:{get:function(){var text=this.$text;return text[this.lang]||""},set:function(value){Utils.setSubLangText(this.xml,_xmppConstants.Namespace.SASL,"text",value,this.lang)}}}}),JXT.extendStreamFeatures(Mechanisms)},module.exports=exports.default},{"xmpp-constants":212}],109:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Session=JXT.define({name:"session",namespace:_xmppConstants.Namespace.SESSION,element:"session",fields:{required:JXT.utils.boolSub(_xmppConstants.Namespace.SESSION,"required"),optional:JXT.utils.boolSub(_xmppConstants.Namespace.SESSION,"optional")}});JXT.extendIQ(Session),JXT.extendStreamFeatures(Session)},module.exports=exports.default},{"xmpp-constants":212}],110:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,SHIM={get:function(){var headerSet=Utils.find(this.xml,_xmppConstants.Namespace.SHIM,"headers");return headerSet.length?Utils.getMultiSubText(headerSet[0],_xmppConstants.Namespace.SHIM,"header",function(header){var name=Utils.getAttribute(header,"name");if(name)return{name:name,value:Utils.getText(header)}}):[]},set:function(values){var headerSet=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.SHIM,"headers");JXT.setMultiSubText(headerSet,_xmppConstants.Namespace.SHIM,"header",values,function(val){var header=Utils.createElement(_xmppConstants.Namespace.SHIM,"header",_xmppConstants.Namespace.SHIM);Utils.setAttribute(header,"name",val.name),Utils.setText(header,val.value),headerSet.appendChild(header)})}};JXT.withMessage(function(Message){JXT.add(Message,"headers",SHIM)}),JXT.withPresence(function(Presence){JXT.add(Presence,"headers",SHIM)})},module.exports=exports.default},{"xmpp-constants":212}],111:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,SMFeature=JXT.define({name:"streamManagement",namespace:_xmppConstants.Namespace.SMACKS_3,element:"sm"});JXT.define({name:"smEnable",eventName:"stream:management:enable",namespace:_xmppConstants.Namespace.SMACKS_3,element:"enable",topLevel:!0,fields:{resume:Utils.boolAttribute("resume")}}),JXT.define({name:"smEnabled",eventName:"stream:management:enabled",namespace:_xmppConstants.Namespace.SMACKS_3,element:"enabled",topLevel:!0,fields:{id:Utils.attribute("id"),resume:Utils.boolAttribute("resume")}}),JXT.define({name:"smResume",eventName:"stream:management:resume",namespace:_xmppConstants.Namespace.SMACKS_3,element:"resume",topLevel:!0,fields:{h:Utils.numberAttribute("h",!1,0),previd:Utils.attribute("previd")}}),JXT.define({name:"smResumed",eventName:"stream:management:resumed",namespace:_xmppConstants.Namespace.SMACKS_3,element:"resumed",topLevel:!0,fields:{h:Utils.numberAttribute("h",!1,0),previd:Utils.attribute("previd")}}),JXT.define({name:"smFailed",eventName:"stream:management:failed",namespace:_xmppConstants.Namespace.SMACKS_3,element:"failed",topLevel:!0}),JXT.define({name:"smAck",eventName:"stream:management:ack",namespace:_xmppConstants.Namespace.SMACKS_3,element:"a",topLevel:!0,fields:{h:Utils.numberAttribute("h",!1,0)}}),JXT.define({name:"smRequest",eventName:"stream:management:request",namespace:_xmppConstants.Namespace.SMACKS_3,element:"r",topLevel:!0}),JXT.extendStreamFeatures(SMFeature)},module.exports=exports.default},{"xmpp-constants":212}],112:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils;JXT.define({name:"stream",namespace:_xmppConstants.Namespace.STREAM,element:"stream",fields:{lang:Utils.langAttribute(),id:Utils.attribute("id"),version:Utils.attribute("version","1.0"),to:Utils.jidAttribute("to",!0),from:Utils.jidAttribute("from",!0)}})},module.exports=exports.default},{"xmpp-constants":212}],113:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),CONDITIONS=["bad-format","bad-namespace-prefix","conflict","connection-timeout","host-gone","host-unknown","improper-addressing","internal-server-error","invalid-from","invalid-namespace","invalid-xml","not-authorized","not-well-formed","policy-violation","remote-connection-failed","reset","resource-constraint","restricted-xml","see-other-host","system-shutdown","undefined-condition","unsupported-encoding","unsupported-feature","unsupported-stanza-type","unsupported-version"];exports.default=function(JXT){var Utils=JXT.utils;JXT.define({name:"streamError",namespace:_xmppConstants.Namespace.STREAM,element:"error",topLevel:!0,fields:{lang:{get:function(){return this._lang||""},set:function(value){this._lang=value}},condition:Utils.enumSub(_xmppConstants.Namespace.STREAM_ERROR,CONDITIONS),seeOtherHost:{get:function(){return Utils.getSubText(this.xml,_xmppConstants.Namespace.STREAM_ERROR,"see-other-host")},set:function(value){this.condition="see-other-host",Utils.setSubText(this.xml,_xmppConstants.Namespace.STREAM_ERROR,"see-other-host",value)}},$text:{get:function(){return Utils.getSubLangText(this.xml,_xmppConstants.Namespace.STREAM_ERROR,"text",this.lang)}},text:{get:function(){var text=this.$text;return text[this.lang]||""},set:function(value){Utils.setSubLangText(this.xml,_xmppConstants.Namespace.STREAM_ERROR,"text",value,this.lang)}}}})},module.exports=exports.default},{"xmpp-constants":212}],114:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var RosterVerFeature=(JXT.define({name:"streamFeatures",namespace:_xmppConstants.Namespace.STREAM,element:"features",topLevel:!0}),JXT.define({name:"rosterVersioning",namespace:_xmppConstants.Namespace.ROSTER_VERSIONING,element:"ver"})),SubscriptionPreApprovalFeature=JXT.define({name:"subscriptionPreApproval",namespace:_xmppConstants.Namespace.SUBSCRIPTION_PREAPPROVAL,element:"sub"});JXT.extendStreamFeatures(RosterVerFeature),JXT.extendStreamFeatures(SubscriptionPreApprovalFeature)},module.exports=exports.default},{"xmpp-constants":212}],115:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var EntityTime=JXT.define({name:"time",namespace:_xmppConstants.Namespace.TIME,element:"time",fields:{utc:JXT.utils.dateSub(_xmppConstants.Namespace.TIME,"utc"),tzo:JXT.utils.tzoSub(_xmppConstants.Namespace.TIME,"tzo",0)}});JXT.extendIQ(EntityTime)},module.exports=exports.default},{"xmpp-constants":212}],116:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Tune=JXT.define({name:"tune",namespace:_xmppConstants.Namespace.TUNE,element:"tune",fields:{artist:Utils.textSub(_xmppConstants.Namespace.TUNE,"artist"),length:Utils.numberSub(_xmppConstants.Namespace.TUNE,"length"),rating:Utils.numberSub(_xmppConstants.Namespace.TUNE,"rating"),source:Utils.textSub(_xmppConstants.Namespace.TUNE,"source"),title:Utils.textSub(_xmppConstants.Namespace.TUNE,"title"),track:Utils.textSub(_xmppConstants.Namespace.TUNE,"track"),uri:Utils.textSub(_xmppConstants.Namespace.TUNE,"uri")}});JXT.extendPubsubItem(Tune),JXT.extendMessage(Tune)},module.exports=exports.default},{"xmpp-constants":212}],117:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,VCardTemp=JXT.define({name:"vCardTemp",namespace:_xmppConstants.Namespace.VCARD_TEMP,element:"vCard",fields:{role:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"ROLE"),website:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"URL"),title:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"TITLE"),description:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"DESC"),fullName:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"FN"),birthday:Utils.dateSub(_xmppConstants.Namespace.VCARD_TEMP,"BDAY"),nicknames:Utils.multiTextSub(_xmppConstants.Namespace.VCARD_TEMP,"NICKNAME"),jids:Utils.multiTextSub(_xmppConstants.Namespace.VCARD_TEMP,"JABBERID")}}),Email=JXT.define({name:"_email",namespace:_xmppConstants.Namespace.VCARD_TEMP,element:"EMAIL",fields:{email:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"USERID"),home:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"HOME"),work:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"WORK"),preferred:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"PREF")}}),PhoneNumber=JXT.define({name:"_tel",namespace:_xmppConstants.Namespace.VCARD_TEMP,element:"TEL",fields:{number:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"NUMBER"),home:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"HOME"),work:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"WORK"),mobile:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"CELL"),preferred:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"PREF")}}),Address=JXT.define({name:"_address",namespace:_xmppConstants.Namespace.VCARD_TEMP,element:"ADR",fields:{street:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"STREET"),street2:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"EXTADD"),country:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"CTRY"),city:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"LOCALITY"),region:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"REGION"),postalCode:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"PCODE"),pobox:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"POBOX"),home:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"HOME"),work:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"WORK"),preferred:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"PREF")}}),Organization=JXT.define({name:"organization",namespace:_xmppConstants.Namespace.VCARD_TEMP,element:"ORG",fields:{name:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"ORGNAME"),unit:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"ORGUNIT")}}),Name=JXT.define({name:"name",namespace:_xmppConstants.Namespace.VCARD_TEMP,element:"N",fields:{family:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"FAMILY"),given:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"GIVEN"),middle:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"MIDDLE"),prefix:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"PREFIX"),suffix:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"SUFFIX")}}),Photo=JXT.define({name:"photo",namespace:_xmppConstants.Namespace.VCARD_TEMP,element:"PHOTO",fields:{type:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"TYPE"),data:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"BINVAL"),url:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"EXTVAL")}});JXT.extend(VCardTemp,Email,"emails"),JXT.extend(VCardTemp,Address,"addresses"),JXT.extend(VCardTemp,PhoneNumber,"phoneNumbers"),JXT.extend(VCardTemp,Organization),JXT.extend(VCardTemp,Name),JXT.extend(VCardTemp,Photo),JXT.extendIQ(VCardTemp)},module.exports=exports.default},{"xmpp-constants":212}],118:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Version=JXT.define({name:"version",namespace:_xmppConstants.Namespace.VERSION,element:"query",fields:{name:JXT.utils.textSub(_xmppConstants.Namespace.VERSION,"name"),version:JXT.utils.textSub(_xmppConstants.Namespace.VERSION,"version"),os:JXT.utils.textSub(_xmppConstants.Namespace.VERSION,"os")}});JXT.extendIQ(Version)},module.exports=exports.default},{"xmpp-constants":212}],119:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){JXT.withIQ(function(IQ){JXT.add(IQ,"visible",JXT.utils.boolSub(_xmppConstants.Namespace.INVISIBLE_0,"visible")),JXT.add(IQ,"invisible",JXT.utils.boolSub(_xmppConstants.Namespace.INVISIBLE_0,"invisible"))})},module.exports=exports.default},{"xmpp-constants":212}],120:[function(require,module,exports){"use strict";function JXT(){this._LOOKUP={},this._LOOKUP_EXT={},this._TAGS={},this._CB_DEFINITION={},this._CB_TAG={},this._ID=uuid.v4(),this.utils=extend({},types,helpers)}var extend=require("lodash.assign"),uuid=require("uuid"),types=require("./lib/types"),helpers=require("./lib/helpers"),stanzaConstructor=require("./lib/stanza");JXT.prototype.use=function(init){return init["__JXT_LOADED_"+this._ID]||init(this),init["__JXT_LOADED_"+this._ID]=!0,this},JXT.prototype.getDefinition=function(el,ns,required){var JXTClass=this._LOOKUP[ns+"|"+el];if(required&&!JXTClass)throw new Error("Could not find definition for <"+el+' xmlns="'+ns+'" />');return JXTClass},JXT.prototype.getExtensions=function(el,ns){return this._LOOKUP_EXT[ns+"|"+el]||{}},JXT.prototype.withDefinition=function(el,ns,cb){var name=ns+"|"+el;this._CB_DEFINITION[name]||(this._CB_DEFINITION[name]=[]),this._CB_DEFINITION[name].push(cb),this._LOOKUP[name]&&cb(this._LOOKUP[name])},JXT.prototype.withTag=function(tag,cb){this._CB_TAG[tag]||(this._CB_TAG[tag]=[]),this._CB_TAG[tag].push(cb),this.tagged(tag).forEach(function(stanza){cb(stanza)})},JXT.prototype.tagged=function(tag){return this._TAGS[tag]||[]},JXT.prototype.build=function(xml){var JXTClass=this.getDefinition(xml.localName,xml.namespaceURI);if(JXTClass)return new JXTClass(null,xml)},JXT.prototype.parse=function(str){var xml=helpers.parse(str);if(xml)return this.build(xml)},JXT.prototype.extend=function(ParentJXT,ChildJXT,multiName,hideSingle){var parentName=ParentJXT.prototype._NS+"|"+ParentJXT.prototype._EL,name=ChildJXT.prototype._name,qName=ChildJXT.prototype._NS+"|"+ChildJXT.prototype._EL;this._LOOKUP[qName]=ChildJXT,this._LOOKUP_EXT[qName]||(this._LOOKUP_EXT[qName]={}),this._LOOKUP_EXT[parentName]||(this._LOOKUP_EXT[parentName]={}),this._LOOKUP_EXT[parentName][name]=ChildJXT,(!multiName||multiName&&!hideSingle)&&this.add(ParentJXT,name,types.extension(ChildJXT)),multiName&&this.add(ParentJXT,multiName,types.multiExtension(ChildJXT))},JXT.prototype.add=function(ParentJXT,fieldName,field){field.enumerable=!0,Object.defineProperty(ParentJXT.prototype,fieldName,field)},JXT.prototype.define=function(opts){var self=this,Stanza=stanzaConstructor(this,opts),ns=Stanza.prototype._NS,el=Stanza.prototype._EL,tags=Stanza.prototype._TAGS,name=ns+"|"+el;this._LOOKUP[name]=Stanza,tags.forEach(function(tag){self._TAGS[tag]||(self._TAGS[tag]=[]),self._TAGS[tag].push(Stanza)});var fieldNames=Object.keys(opts.fields||{});return fieldNames.forEach(function(fieldName){self.add(Stanza,fieldName,opts.fields[fieldName])}),this._CB_DEFINITION[name]&&this._CB_DEFINITION[name].forEach(function(handler){handler(Stanza)}),tags.forEach(function(tag){self._CB_TAG[tag]&&self._CB_TAG[tag].forEach(function(handler){
-handler(Stanza)})}),Stanza},JXT.createRegistry=function(){return new JXT},extend(JXT,helpers),extend(JXT,types);var globalJXT=new JXT;JXT.define=globalJXT.define.bind(globalJXT),JXT.extend=globalJXT.extend.bind(globalJXT),JXT.add=globalJXT.add.bind(globalJXT),JXT.parse=globalJXT.parse.bind(globalJXT),JXT.build=globalJXT.build.bind(globalJXT),JXT.getExtensions=globalJXT.getExtensions.bind(globalJXT),JXT.getDefinition=globalJXT.getDefinition.bind(globalJXT),JXT.withDefinition=globalJXT.withDefinition.bind(globalJXT),JXT.withTag=globalJXT.withTag.bind(globalJXT),JXT.tagged=globalJXT.tagged.bind(globalJXT),JXT.getGlobalJXT=function(){return globalJXT},module.exports=JXT},{"./lib/helpers":121,"./lib/stanza":122,"./lib/types":123,"lodash.assign":132,uuid:199}],121:[function(require,module,exports){"use strict";var ltx=require("ltx"),DOMElement=require("ltx/lib/DOMElement"),XML_NS=exports.XML_NS="http://www.w3.org/XML/1998/namespace";exports.parse=function(str){var xml=ltx.parse(str,{Element:DOMElement});if(1===xml.nodeType)return xml},exports.createElement=function(NS,name,parentNS){var el=new DOMElement(name);return parentNS&&parentNS===NS||exports.setAttribute(el,"xmlns",NS),el};var find=exports.find=function(xml,NS,selector){for(var results=[],children=xml.getElementsByTagName(selector),i=0,len=children.length;i<len;i++){var child=children[i];child.namespaceURI===NS&&child.parentNode===xml&&results.push(child)}return results};exports.findOrCreate=function(xml,NS,selector){var existing=exports.find(xml,NS,selector);if(existing.length)return existing[0];var created=exports.createElement(NS,selector,xml.namespaceURI);return xml.appendChild(created),created},exports.getAttribute=function(xml,attr,defaultVal){return xml.getAttribute(attr)||defaultVal||""},exports.getAttributeNS=function(xml,NS,attr,defaultVal){return xml.getAttributeNS(NS,attr)||defaultVal||""},exports.setAttribute=function(xml,attr,value,force){value||force?xml.setAttribute(attr,value):xml.removeAttribute(attr)},exports.setAttributeNS=function(xml,NS,attr,value,force){value||force?xml.setAttributeNS(NS,attr,value):xml.removeAttributeNS(NS,attr)},exports.getBoolAttribute=function(xml,attr,defaultVal){var val=xml.getAttribute(attr)||defaultVal||"";return"true"===val||"1"===val},exports.setBoolAttribute=function(xml,attr,value){value?xml.setAttribute(attr,"1"):xml.removeAttribute(attr)},exports.getSubAttribute=function(xml,NS,sub,attr,defaultVal){var subs=find(xml,NS,sub);if(!subs)return"";for(var i=0;i<subs.length;i++)return subs[i].getAttribute(attr)||defaultVal||"";return""},exports.setSubAttribute=function(xml,NS,sub,attr,value){var subs=find(xml,NS,sub);if(subs.length)for(var i=0;i<subs.length;i++){if(value)return void subs[i].setAttribute(attr,value);subs[i].removeAttribute(attr)}else value&&(sub=exports.createElement(NS,sub,xml.namespaceURI),sub.setAttribute(attr,value),xml.appendChild(sub))},exports.getBoolSubAttribute=function(xml,NS,sub,attr,defaultVal){var val=xml.getSubAttribute(NS,sub,attr)||defaultVal||"";return"true"===val||"1"===val},exports.setBoolSubAttribute=function(xml,NS,sub,attr,value){value=value?"1":"",exports.setSubAttribute(xml,NS,sub,attr,value)},exports.getText=function(xml){return xml.textContent},exports.setText=function(xml,value){xml.textContent=value},exports.getSubText=exports.getTextSub=function(xml,NS,element,defaultVal){var subs=find(xml,NS,element);return defaultVal=defaultVal||"",subs.length?subs[0].textContent||defaultVal:defaultVal},exports.setSubText=exports.setTextSub=function(xml,NS,element,value){var subs=find(xml,NS,element);if(subs.length)for(var i=0;i<subs.length;i++)xml.removeChild(subs[i]);if(value){var sub=exports.createElement(NS,element,xml.namespaceURI);value!==!0&&(sub.textContent=value),xml.appendChild(sub)}},exports.getMultiSubText=function(xml,NS,element,extractor){var subs=find(xml,NS,element),results=[];extractor=extractor||function(sub){return sub.textContent||""};for(var i=0;i<subs.length;i++)results.push(extractor(subs[i]));return results},exports.setMultiSubText=function(xml,NS,element,value,builder){var subs=find(xml,NS,element),values=[];builder=builder||function(value){if(value){var sub=exports.createElement(NS,element,xml.namespaceURI);sub.textContent=value,xml.appendChild(sub)}},values="string"==typeof value?(value||"").split("\n"):value;var i,len;for(i=0,len=subs.length;i<len;i++)xml.removeChild(subs[i]);for(i=0,len=values.length;i<len;i++)builder(values[i])},exports.getMultiSubAttribute=function(xml,NS,element,attr){return exports.getMultiSubText(xml,NS,element,function(sub){return exports.getAttribute(sub,attr)})},exports.setMultiSubAttribute=function(xml,NS,element,attr,value){exports.setMultiSubText(xml,NS,element,value,function(val){var sub=exports.createElement(NS,element,xml.namespaceURI);exports.setAttribute(sub,attr,val),xml.appendChild(sub)})},exports.getSubLangText=function(xml,NS,element,defaultLang){var subs=find(xml,NS,element);if(!subs.length)return{};for(var lang,sub,results={},langs=[],i=0;i<subs.length;i++)sub=subs[i],lang=sub.getAttributeNS(XML_NS,"lang")||defaultLang,langs.push(lang),results[lang]=sub.textContent||"";return results},exports.setSubLangText=function(xml,NS,element,value,defaultLang){var sub,lang,subs=find(xml,NS,element);if(subs.length)for(var i=0;i<subs.length;i++)xml.removeChild(subs[i]);if("string"==typeof value)sub=exports.createElement(NS,element,xml.namespaceURI),sub.textContent=value,xml.appendChild(sub);else if("object"==typeof value)for(lang in value)value.hasOwnProperty(lang)&&(sub=exports.createElement(NS,element,xml.namespaceURI),lang!==defaultLang&&sub.setAttributeNS(XML_NS,"lang",lang),sub.textContent=value[lang],xml.appendChild(sub))},exports.getBoolSub=function(xml,NS,element){var subs=find(xml,NS,element);return!!subs.length},exports.setBoolSub=function(xml,NS,element,value){var subs=find(xml,NS,element);if(subs.length)for(var i=0;i<subs.length;i++){if(value)return;xml.removeChild(subs[i])}else if(value){var sub=exports.createElement(NS,element,xml.namespaceURI);xml.appendChild(sub)}}},{ltx:139,"ltx/lib/DOMElement":140}],122:[function(require,module,exports){"use strict";var helpers=require("./helpers"),extend=require("lodash.assign"),EXCLUDE={constructor:!0,parent:!0,prototype:!0,toJSON:!0,toString:!0,xml:!0};module.exports=function(JXT,opts){function Stanza(data,xml,parent){var self=this,parentNode=(xml||{}).parentNode||(parent||{}).xml,parentNS=(parentNode||{}).namespaceURI;self.xml=xml||helpers.createElement(self._NS,self._EL,parentNS),Object.keys(self._PREFIXES).forEach(function(prefix){var namespace=self._PREFIXES[prefix];self.xml.setAttribute("xmlns:"+prefix,namespace)}),self._extensions={};for(var i=0,len=self.xml.childNodes.length;i<len;i++){var child=self.xml.childNodes[i],ChildJXT=JXT.getDefinition(child.localName,child.namespaceURI);if(void 0!==ChildJXT){var name=ChildJXT.prototype._name;self._extensions[name]=new ChildJXT(null,child),self._extensions[name].parent=self}}return extend(self,data),opts.init&&opts.init.apply(self,[data]),self}return Stanza.prototype._isJXT=!0,Stanza.prototype._name=opts.name,Stanza.prototype._eventname=opts.eventName,Stanza.prototype._NS=opts.namespace,Stanza.prototype._EL=opts.element||opts.name,Stanza.prototype._PREFIXES=opts.prefixes||{},Stanza.prototype._TAGS=opts.tags||[],Stanza.prototype.toString=function(){return this.xml.toString()},Stanza.prototype.toJSON=function(){var prop,result={};for(prop in this._extensions)this._extensions[prop].toJSON&&"_"!==prop[0]&&(result[prop]=this._extensions[prop].toJSON());for(prop in this){var allowedName=!EXCLUDE[prop]&&"_"!==prop[0],isExtensionName=JXT.getExtensions(this._EL,this._NS)[prop];if(allowedName&&!isExtensionName){var val=this[prop];if("function"==typeof val)continue;var type=Object.prototype.toString.call(val);if(type.indexOf("Object")>=0)Object.keys(val).length>0&&(val._isJXT?result[prop]=val.toJSON():result[prop]=val);else if(type.indexOf("Array")>=0){if(val.length>0){for(var vals=[],len=val.length,n=0;n<len;n++){var nval=val[n];"undefined"!=typeof nval&&(nval._isJXT?vals.push(nval.toJSON()):vals.push(nval))}result[prop]=vals}}else void 0!==val&&val!==!1&&""!==val&&(result[prop]=val)}}return result},Stanza}},{"./helpers":121,"lodash.assign":132}],123:[function(require,module,exports){(function(Buffer){"use strict";var helpers=require("./helpers"),extend=require("lodash.assign"),find=helpers.find,createElement=helpers.createElement,field=exports.field=function(getter,setter){return function(){var args=Array.prototype.slice.call(arguments);return{get:function(){return getter.apply(null,[this.xml].concat(args))},set:function(value){setter.apply(null,[this.xml].concat(args).concat([value]))}}}};exports.boolAttribute=field(helpers.getBoolAttribute,helpers.setBoolAttribute),exports.subAttribute=field(helpers.getSubAttribute,helpers.setSubAttribute),exports.boolSubAttribute=field(helpers.getSubBoolAttribute,helpers.setSubBoolAttribute),exports.text=field(helpers.getText,helpers.setText),exports.textSub=exports.subText=field(helpers.getSubText,helpers.setSubText),exports.multiTextSub=exports.multiSubText=field(helpers.getMultiSubText,helpers.setMultiSubText),exports.multiSubAttribute=field(helpers.getMultiSubAttribute,helpers.setMultiSubAttribute),exports.langTextSub=exports.subLangText=field(helpers.getSubLangText,helpers.setSubLangText),exports.boolSub=field(helpers.getBoolSub,helpers.setBoolSub),exports.langAttribute=field(function(xml){return xml.getAttributeNS(helpers.XML_NS,"lang")||""},function(xml,value){xml.setAttributeNS(helpers.XML_NS,"lang",value)}),exports.b64Text=field(function(xml){return xml.textContent&&"="!==xml.textContent?new Buffer(xml.textContent,"base64"):""},function(xml,value){if("string"==typeof value){var b64=new Buffer(value).toString("base64");xml.textContent=b64||"="}else xml.textContent=""}),exports.dateAttribute=function(attr,now){return{get:function(){var data=helpers.getAttribute(this.xml,attr);return data?new Date(data):now?new Date(Date.now()):void 0},set:function(value){value&&("string"!=typeof value&&(value=value.toISOString()),helpers.setAttribute(this.xml,attr,value))}}},exports.dateSub=function(NS,sub,now){return{get:function(){var data=helpers.getSubText(this.xml,NS,sub);return data?new Date(data):now?new Date(Date.now()):void 0},set:function(value){value&&("string"!=typeof value&&(value=value.toISOString()),helpers.setSubText(this.xml,NS,sub,value))}}},exports.dateSubAttribute=function(NS,sub,attr,now){return{get:function(){var data=helpers.getSubAttribute(this.xml,NS,sub,attr);return data?new Date(data):now?new Date(Date.now()):void 0},set:function(value){value&&("string"!=typeof value&&(value=value.toISOString()),helpers.setSubAttribute(this.xml,NS,sub,attr,value))}}},exports.numberAttribute=function(attr,isFloat,defaultVal){return{get:function(){var parse=isFloat?parseFloat:parseInt,data=helpers.getAttribute(this.xml,attr,"");if(!data)return defaultVal;var parsed=parse(data,10);return isNaN(parsed)?defaultVal:parsed},set:function(value){helpers.setAttribute(this.xml,attr,value.toString())}}},exports.numberSub=function(NS,sub,isFloat,defaultVal){return{get:function(){var parse=isFloat?parseFloat:parseInt,data=helpers.getSubText(this.xml,NS,sub,"");if(!data)return defaultVal;var parsed=parse(data,10);return isNaN(parsed)?defaultVal:parsed},set:function(value){helpers.setSubText(this.xml,NS,sub,value.toString())}}},exports.attribute=function(name,defaultVal){return{get:function(){return helpers.getAttribute(this.xml,name,defaultVal)},set:function(value){helpers.setAttribute(this.xml,name,value)}}},exports.attributeNS=function(NS,name,defaultVal){return{get:function(){return helpers.getAttributeNS(this.xml,NS,name,defaultVal)},set:function(value){helpers.setAttributeNS(this.xml,NS,name,value)}}},exports.extension=function(ChildJXT){return{get:function(){var self=this,name=ChildJXT.prototype._name;if(!this._extensions[name]){var existing=find(this.xml,ChildJXT.prototype._NS,ChildJXT.prototype._EL);existing.length?this._extensions[name]=new ChildJXT(null,existing[0],self):(this._extensions[name]=new ChildJXT({},null,self),this.xml.appendChild(this._extensions[name].xml)),this._extensions[name].parent=this}return this._extensions[name]},set:function(value){if(value){var child=this[ChildJXT.prototype._name];value===!0&&(value={}),extend(child,value)}}}},exports.multiExtension=function(ChildJXT){return{get:function(){for(var self=this,data=find(this.xml,ChildJXT.prototype._NS,ChildJXT.prototype._EL),results=[],i=0,len=data.length;i<len;i++)results.push(new ChildJXT({},data[i],self));return results},set:function(value){value=value||[];var i,len,self=this,existing=find(this.xml,ChildJXT.prototype._NS,ChildJXT.prototype._EL);for(i=0,len=existing.length;i<len;i++)self.xml.removeChild(existing[i]);for(i=0,len=value.length;i<len;i++){var content=new ChildJXT(value[i],null,self);self.xml.appendChild(content.xml)}}}},exports.enumSub=function(NS,enumValues){return{get:function(){var self=this,result=[];return enumValues.forEach(function(enumVal){var exists=find(self.xml,NS,enumVal);exists.length&&result.push(exists[0].nodeName)}),result[0]||""},set:function(value){var self=this,alreadyExists=!1;if(enumValues.forEach(function(enumVal){var elements=find(self.xml,NS,enumVal);elements.length&&(enumVal===value?alreadyExists=!0:self.xml.removeChild(elements[0]))}),value&&!alreadyExists){var condition=createElement(NS,value);this.xml.appendChild(condition)}}}},exports.subExtension=function(name,NS,sub,ChildJXT){return{get:function(){if(!this._extensions[name]){var wrapper=find(this.xml,NS,sub);wrapper.length?wrapper=wrapper[0]:(wrapper=createElement(NS,sub,this._NS),this.xml.appendChild(wrapper));var existing=find(wrapper,ChildJXT.prototype._NS,ChildJXT.prototype._EL);existing.length?this._extensions[name]=new ChildJXT(null,existing[0],{xml:wrapper}):(this._extensions[name]=new ChildJXT({},null,{xml:wrapper}),wrapper.appendChild(this._extensions[name].xml)),this._extensions[name].parent=this}return this._extensions[name]},set:function(value){var wrapper=find(this.xml,NS,sub);if(wrapper.length&&!value&&this.xml.removeChild(wrapper[0]),value){var child=this[name];value===!0&&(value={}),extend(child,value)}}}},exports.subMultiExtension=function(NS,sub,ChildJXT){return{get:function(){var self=this,results=[],existing=find(this.xml,NS,sub);if(!existing.length)return results;existing=existing[0];var data=find(existing,ChildJXT.prototype._NS,ChildJXT.prototype._EL);return data.forEach(function(xml){results.push(new ChildJXT({},xml,self))}),results},set:function(values){var self=this,existing=find(this.xml,NS,sub);existing.length&&self.xml.removeChild(existing[0]),values.length&&(existing=createElement(NS,sub,this._NS),values.forEach(function(value){var content=new ChildJXT(value,null,{xml:{namespaceURI:NS}});existing.appendChild(content.xml)}),self.xml.appendChild(existing))}}}}).call(this,require("buffer").Buffer)},{"./helpers":121,buffer:6,"lodash.assign":132}],124:[function(require,module,exports){function arrayEach(array,iteratee){for(var index=-1,length=array.length;++index<length&&iteratee(array[index],index,array)!==!1;);return array}module.exports=arrayEach},{}],125:[function(require,module,exports){function baseAssign(object,source){return null==source?object:baseCopy(source,keys(source),object)}var baseCopy=require("lodash._basecopy"),keys=require("lodash.keys");module.exports=baseAssign},{"lodash._basecopy":126,"lodash.keys":137}],126:[function(require,module,exports){function baseCopy(source,props,object){object||(object={});for(var index=-1,length=props.length;++index<length;){var key=props[index];object[key]=source[key]}return object}module.exports=baseCopy},{}],127:[function(require,module,exports){function baseForOwn(object,iteratee){return baseFor(object,iteratee,keys)}function baseProperty(key){return function(object){return null==object?void 0:object[key]}}function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){var length=collection?getLength(collection):0;if(!isLength(length))return eachFunc(collection,iteratee);for(var index=fromRight?length:-1,iterable=toObject(collection);(fromRight?index--:++index<length)&&iteratee(iterable[index],index,iterable)!==!1;);return collection}}function createBaseFor(fromRight){return function(object,iteratee,keysFunc){for(var iterable=toObject(object),props=keysFunc(object),length=props.length,index=fromRight?length:-1;fromRight?index--:++index<length;){var key=props[index];if(iteratee(iterable[key],key,iterable)===!1)break}return object}}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function toObject(value){return isObject(value)?value:Object(value)}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}var keys=require("lodash.keys"),MAX_SAFE_INTEGER=9007199254740991,baseEach=createBaseEach(baseForOwn),baseFor=createBaseFor(),getLength=baseProperty("length");module.exports=baseEach},{"lodash.keys":137}],128:[function(require,module,exports){function bindCallback(func,thisArg,argCount){if("function"!=typeof func)return identity;if(void 0===thisArg)return func;switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)};case 5:return function(value,other,key,object,source){return func.call(thisArg,value,other,key,object,source)}}return function(){return func.apply(thisArg,arguments)}}function identity(value){return value}module.exports=bindCallback},{}],129:[function(require,module,exports){function createAssigner(assigner){return restParam(function(object,sources){var index=-1,length=null==object?0:sources.length,customizer=length>2?sources[length-2]:void 0,guard=length>2?sources[2]:void 0,thisArg=length>1?sources[length-1]:void 0;for("function"==typeof customizer?(customizer=bindCallback(customizer,thisArg,5),length-=2):(customizer="function"==typeof thisArg?thisArg:void 0,length-=customizer?1:0),guard&&isIterateeCall(sources[0],sources[1],guard)&&(customizer=length<3?void 0:customizer,length=1);++index<length;){var source=sources[index];source&&assigner(object,source,customizer)}return object})}var bindCallback=require("lodash._bindcallback"),isIterateeCall=require("lodash._isiterateecall"),restParam=require("lodash.restparam");module.exports=createAssigner},{"lodash._bindcallback":128,"lodash._isiterateecall":131,"lodash.restparam":138}],130:[function(require,module,exports){function isObjectLike(value){return!!value&&"object"==typeof value}function getNative(object,key){var value=null==object?void 0:object[key];return isNative(value)?value:void 0}function isFunction(value){return isObject(value)&&objToString.call(value)==funcTag}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}function isNative(value){return null!=value&&(isFunction(value)?reIsNative.test(fnToString.call(value)):isObjectLike(value)&&reIsHostCtor.test(value))}var funcTag="[object Function]",reIsHostCtor=/^\[object .+?Constructor\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp("^"+fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");module.exports=getNative},{}],131:[function(require,module,exports){function baseProperty(key){return function(object){return null==object?void 0:object[key]}}function isArrayLike(value){return null!=value&&isLength(getLength(value))}function isIndex(value,length){return value="number"==typeof value||reIsUint.test(value)?+value:-1,length=null==length?MAX_SAFE_INTEGER:length,value>-1&&value%1==0&&value<length}function isIterateeCall(value,index,object){if(!isObject(object))return!1;var type=typeof index;if("number"==type?isArrayLike(object)&&isIndex(index,object.length):"string"==type&&index in object){var other=object[index];return value===value?value===other:other!==other}return!1}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}var reIsUint=/^\d+$/,MAX_SAFE_INTEGER=9007199254740991,getLength=baseProperty("length");module.exports=isIterateeCall},{}],132:[function(require,module,exports){function assignWith(object,source,customizer){for(var index=-1,props=keys(source),length=props.length;++index<length;){var key=props[index],value=object[key],result=customizer(value,source[key],key,object,source);(result===result?result===value:value!==value)&&(void 0!==value||key in object)||(object[key]=result)}return object}var baseAssign=require("lodash._baseassign"),createAssigner=require("lodash._createassigner"),keys=require("lodash.keys"),assign=createAssigner(function(object,source,customizer){return customizer?assignWith(object,source,customizer):baseAssign(object,source)});module.exports=assign},{"lodash._baseassign":125,"lodash._createassigner":129,"lodash.keys":137}],133:[function(require,module,exports){(function(global){function addMapEntry(map,pair){return map.set(pair[0],pair[1]),map}function addSetEntry(set,value){return set.add(value),set}function arrayEach(array,iteratee){for(var index=-1,length=array?array.length:0;++index<length&&iteratee(array[index],index,array)!==!1;);return array}function arrayPush(array,values){for(var index=-1,length=values.length,offset=array.length;++index<length;)array[offset+index]=values[index];return array}function arrayReduce(array,iteratee,accumulator,initAccum){var index=-1,length=array?array.length:0;for(initAccum&&length&&(accumulator=array[++index]);++index<length;)accumulator=iteratee(accumulator,array[index],index,array);return accumulator}function baseTimes(n,iteratee){for(var index=-1,result=Array(n);++index<n;)result[index]=iteratee(index);return result}function getValue(object,key){return null==object?void 0:object[key]}function isHostObject(value){var result=!1;if(null!=value&&"function"!=typeof value.toString)try{result=!!(value+"")}catch(e){}return result}function mapToArray(map){var index=-1,result=Array(map.size);return map.forEach(function(value,key){result[++index]=[key,value]}),result}function overArg(func,transform){return function(arg){return func(transform(arg))}}function setToArray(set){var index=-1,result=Array(set.size);return set.forEach(function(value){result[++index]=value}),result}function Hash(entries){var index=-1,length=entries?entries.length:0;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{}}function hashDelete(key){return this.has(key)&&delete this.__data__[key]}function hashGet(key){var data=this.__data__;if(nativeCreate){var result=data[key];return result===HASH_UNDEFINED?void 0:result}return hasOwnProperty.call(data,key)?data[key]:void 0}function hashHas(key){var data=this.__data__;return nativeCreate?void 0!==data[key]:hasOwnProperty.call(data,key)}function hashSet(key,value){var data=this.__data__;return data[key]=nativeCreate&&void 0===value?HASH_UNDEFINED:value,this}function ListCache(entries){var index=-1,length=entries?entries.length:0;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function listCacheClear(){this.__data__=[]}function listCacheDelete(key){var data=this.__data__,index=assocIndexOf(data,key);if(index<0)return!1;var lastIndex=data.length-1;return index==lastIndex?data.pop():splice.call(data,index,1),!0}function listCacheGet(key){var data=this.__data__,index=assocIndexOf(data,key);return index<0?void 0:data[index][1]}function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1}function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf(data,key);return index<0?data.push([key,value]):data[index][1]=value,this}function MapCache(entries){var index=-1,length=entries?entries.length:0;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function mapCacheClear(){this.__data__={hash:new Hash,map:new(Map||ListCache),string:new Hash}}function mapCacheDelete(key){return getMapData(this,key).delete(key)}function mapCacheGet(key){return getMapData(this,key).get(key)}function mapCacheHas(key){return getMapData(this,key).has(key)}function mapCacheSet(key,value){return getMapData(this,key).set(key,value),this}function Stack(entries){this.__data__=new ListCache(entries)}function stackClear(){this.__data__=new ListCache}function stackDelete(key){return this.__data__.delete(key)}function stackGet(key){return this.__data__.get(key)}function stackHas(key){return this.__data__.has(key)}function stackSet(key,value){var cache=this.__data__;if(cache instanceof ListCache){var pairs=cache.__data__;if(!Map||pairs.length<LARGE_ARRAY_SIZE-1)return pairs.push([key,value]),this;cache=this.__data__=new MapCache(pairs)}return cache.set(key,value),this}function arrayLikeKeys(value,inherited){var result=isArray(value)||isArguments(value)?baseTimes(value.length,String):[],length=result.length,skipIndexes=!!length;for(var key in value)!inherited&&!hasOwnProperty.call(value,key)||skipIndexes&&("length"==key||isIndex(key,length))||result.push(key);return result}function assignValue(object,key,value){var objValue=object[key];hasOwnProperty.call(object,key)&&eq(objValue,value)&&(void 0!==value||key in object)||(object[key]=value)}function assocIndexOf(array,key){for(var length=array.length;length--;)if(eq(array[length][0],key))return length;return-1}function baseAssign(object,source){return object&&copyObject(source,keys(source),object)}function baseClone(value,isDeep,isFull,customizer,key,object,stack){var result;if(customizer&&(result=object?customizer(value,key,object,stack):customizer(value)),void 0!==result)return result;if(!isObject(value))return value;var isArr=isArray(value);if(isArr){if(result=initCloneArray(value),!isDeep)return copyArray(value,result)}else{var tag=getTag(value),isFunc=tag==funcTag||tag==genTag;if(isBuffer(value))return cloneBuffer(value,isDeep);if(tag==objectTag||tag==argsTag||isFunc&&!object){if(isHostObject(value))return object?value:{};if(result=initCloneObject(isFunc?{}:value),!isDeep)return copySymbols(value,baseAssign(result,value))}else{if(!cloneableTags[tag])return object?value:{};result=initCloneByTag(value,tag,baseClone,isDeep)}}stack||(stack=new Stack);var stacked=stack.get(value);if(stacked)return stacked;if(stack.set(value,result),!isArr)var props=isFull?getAllKeys(value):keys(value);return arrayEach(props||value,function(subValue,key){props&&(key=subValue,subValue=value[key]),assignValue(result,key,baseClone(subValue,isDeep,isFull,customizer,key,value,stack))}),result}function baseCreate(proto){return isObject(proto)?objectCreate(proto):{}}function baseGetAllKeys(object,keysFunc,symbolsFunc){var result=keysFunc(object);return isArray(object)?result:arrayPush(result,symbolsFunc(object))}function baseGetTag(value){return objectToString.call(value)}function baseIsNative(value){if(!isObject(value)||isMasked(value))return!1;var pattern=isFunction(value)||isHostObject(value)?reIsNative:reIsHostCtor;return pattern.test(toSource(value))}function baseKeys(object){if(!isPrototype(object))return nativeKeys(object);var result=[];for(var key in Object(object))hasOwnProperty.call(object,key)&&"constructor"!=key&&result.push(key);return result}function cloneBuffer(buffer,isDeep){if(isDeep)return buffer.slice();var result=new buffer.constructor(buffer.length);return buffer.copy(result),result}function cloneArrayBuffer(arrayBuffer){var result=new arrayBuffer.constructor(arrayBuffer.byteLength);return new Uint8Array(result).set(new Uint8Array(arrayBuffer)),result}function cloneDataView(dataView,isDeep){var buffer=isDeep?cloneArrayBuffer(dataView.buffer):dataView.buffer;return new dataView.constructor(buffer,dataView.byteOffset,dataView.byteLength)}function cloneMap(map,isDeep,cloneFunc){var array=isDeep?cloneFunc(mapToArray(map),!0):mapToArray(map);return arrayReduce(array,addMapEntry,new map.constructor)}function cloneRegExp(regexp){var result=new regexp.constructor(regexp.source,reFlags.exec(regexp));return result.lastIndex=regexp.lastIndex,result}function cloneSet(set,isDeep,cloneFunc){var array=isDeep?cloneFunc(setToArray(set),!0):setToArray(set);return arrayReduce(array,addSetEntry,new set.constructor)}function cloneSymbol(symbol){return symbolValueOf?Object(symbolValueOf.call(symbol)):{}}function cloneTypedArray(typedArray,isDeep){var buffer=isDeep?cloneArrayBuffer(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer,typedArray.byteOffset,typedArray.length)}function copyArray(source,array){var index=-1,length=source.length;for(array||(array=Array(length));++index<length;)array[index]=source[index];return array}function copyObject(source,props,object,customizer){object||(object={});for(var index=-1,length=props.length;++index<length;){var key=props[index],newValue=customizer?customizer(object[key],source[key],key,object,source):void 0;assignValue(object,key,void 0===newValue?source[key]:newValue)}return object}function copySymbols(source,object){return copyObject(source,getSymbols(source),object)}function getAllKeys(object){return baseGetAllKeys(object,keys,getSymbols)}function getMapData(map,key){var data=map.__data__;return isKeyable(key)?data["string"==typeof key?"string":"hash"]:data.map}function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:void 0}function initCloneArray(array){var length=array.length,result=array.constructor(length);return length&&"string"==typeof array[0]&&hasOwnProperty.call(array,"index")&&(result.index=array.index,result.input=array.input),result}function initCloneObject(object){return"function"!=typeof object.constructor||isPrototype(object)?{}:baseCreate(getPrototype(object))}function initCloneByTag(object,tag,cloneFunc,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return cloneArrayBuffer(object);case boolTag:case dateTag:return new Ctor(+object);case dataViewTag:return cloneDataView(object,isDeep);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:return cloneTypedArray(object,isDeep);case mapTag:return cloneMap(object,isDeep,cloneFunc);case numberTag:case stringTag:return new Ctor(object);case regexpTag:return cloneRegExp(object);case setTag:return cloneSet(object,isDeep,cloneFunc);case symbolTag:return cloneSymbol(object)}}function isIndex(value,length){return length=null==length?MAX_SAFE_INTEGER:length,!!length&&("number"==typeof value||reIsUint.test(value))&&value>-1&&value%1==0&&value<length}function isKeyable(value){var type=typeof value;return"string"==type||"number"==type||"symbol"==type||"boolean"==type?"__proto__"!==value:null===value}function isMasked(func){return!!maskSrcKey&&maskSrcKey in func}function isPrototype(value){var Ctor=value&&value.constructor,proto="function"==typeof Ctor&&Ctor.prototype||objectProto;return value===proto}function toSource(func){if(null!=func){try{return funcToString.call(func)}catch(e){}try{return func+""}catch(e){}}return""}function cloneDeep(value){return baseClone(value,!0,!0)}function eq(value,other){return value===other||value!==value&&other!==other}function isArguments(value){return isArrayLikeObject(value)&&hasOwnProperty.call(value,"callee")&&(!propertyIsEnumerable.call(value,"callee")||objectToString.call(value)==argsTag)}function isArrayLike(value){return null!=value&&isLength(value.length)&&!isFunction(value)}function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value);
-}function isFunction(value){var tag=isObject(value)?objectToString.call(value):"";return tag==funcTag||tag==genTag}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}function isObjectLike(value){return!!value&&"object"==typeof value}function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object)}function stubArray(){return[]}function stubFalse(){return!1}var LARGE_ARRAY_SIZE=200,HASH_UNDEFINED="__lodash_hash_undefined__",MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",promiseTag="[object Promise]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",weakMapTag="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reFlags=/\w*$/,reIsHostCtor=/^\[object .+?Constructor\]$/,reIsUint=/^(?:0|[1-9]\d*)$/,cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[dataViewTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[setTag]=cloneableTags[stringTag]=cloneableTags[symbolTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=!1;var freeGlobal="object"==typeof global&&global&&global.Object===Object&&global,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule=freeExports&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports=freeModule&&freeModule.exports===freeExports,arrayProto=Array.prototype,funcProto=Function.prototype,objectProto=Object.prototype,coreJsData=root["__core-js_shared__"],maskSrcKey=function(){var uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""}(),funcToString=funcProto.toString,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,reIsNative=RegExp("^"+funcToString.call(hasOwnProperty).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Buffer=moduleExports?root.Buffer:void 0,Symbol=root.Symbol,Uint8Array=root.Uint8Array,getPrototype=overArg(Object.getPrototypeOf,Object),objectCreate=Object.create,propertyIsEnumerable=objectProto.propertyIsEnumerable,splice=arrayProto.splice,nativeGetSymbols=Object.getOwnPropertySymbols,nativeIsBuffer=Buffer?Buffer.isBuffer:void 0,nativeKeys=overArg(Object.keys,Object),DataView=getNative(root,"DataView"),Map=getNative(root,"Map"),Promise=getNative(root,"Promise"),Set=getNative(root,"Set"),WeakMap=getNative(root,"WeakMap"),nativeCreate=getNative(Object,"create"),dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map),promiseCtorString=toSource(Promise),setCtorString=toSource(Set),weakMapCtorString=toSource(WeakMap),symbolProto=Symbol?Symbol.prototype:void 0,symbolValueOf=symbolProto?symbolProto.valueOf:void 0;Hash.prototype.clear=hashClear,Hash.prototype.delete=hashDelete,Hash.prototype.get=hashGet,Hash.prototype.has=hashHas,Hash.prototype.set=hashSet,ListCache.prototype.clear=listCacheClear,ListCache.prototype.delete=listCacheDelete,ListCache.prototype.get=listCacheGet,ListCache.prototype.has=listCacheHas,ListCache.prototype.set=listCacheSet,MapCache.prototype.clear=mapCacheClear,MapCache.prototype.delete=mapCacheDelete,MapCache.prototype.get=mapCacheGet,MapCache.prototype.has=mapCacheHas,MapCache.prototype.set=mapCacheSet,Stack.prototype.clear=stackClear,Stack.prototype.delete=stackDelete,Stack.prototype.get=stackGet,Stack.prototype.has=stackHas,Stack.prototype.set=stackSet;var getSymbols=nativeGetSymbols?overArg(nativeGetSymbols,Object):stubArray,getTag=baseGetTag;(DataView&&getTag(new DataView(new ArrayBuffer(1)))!=dataViewTag||Map&&getTag(new Map)!=mapTag||Promise&&getTag(Promise.resolve())!=promiseTag||Set&&getTag(new Set)!=setTag||WeakMap&&getTag(new WeakMap)!=weakMapTag)&&(getTag=function(value){var result=objectToString.call(value),Ctor=result==objectTag?value.constructor:void 0,ctorString=Ctor?toSource(Ctor):void 0;if(ctorString)switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return promiseTag;case setCtorString:return setTag;case weakMapCtorString:return weakMapTag}return result});var isArray=Array.isArray,isBuffer=nativeIsBuffer||stubFalse;module.exports=cloneDeep}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],134:[function(require,module,exports){function createForEach(arrayFunc,eachFunc){return function(collection,iteratee,thisArg){return"function"==typeof iteratee&&void 0===thisArg&&isArray(collection)?arrayFunc(collection,iteratee):eachFunc(collection,bindCallback(iteratee,thisArg,3))}}var arrayEach=require("lodash._arrayeach"),baseEach=require("lodash._baseeach"),bindCallback=require("lodash._bindcallback"),isArray=require("lodash.isarray"),forEach=createForEach(arrayEach,baseEach);module.exports=forEach},{"lodash._arrayeach":124,"lodash._baseeach":127,"lodash._bindcallback":128,"lodash.isarray":136}],135:[function(require,module,exports){function isArguments(value){return isArrayLikeObject(value)&&hasOwnProperty.call(value,"callee")&&(!propertyIsEnumerable.call(value,"callee")||objectToString.call(value)==argsTag)}function isArrayLike(value){return null!=value&&isLength(value.length)&&!isFunction(value)}function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value)}function isFunction(value){var tag=isObject(value)?objectToString.call(value):"";return tag==funcTag||tag==genTag}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}function isObjectLike(value){return!!value&&"object"==typeof value}var MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",funcTag="[object Function]",genTag="[object GeneratorFunction]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,propertyIsEnumerable=objectProto.propertyIsEnumerable;module.exports=isArguments},{}],136:[function(require,module,exports){function isObjectLike(value){return!!value&&"object"==typeof value}function getNative(object,key){var value=null==object?void 0:object[key];return isNative(value)?value:void 0}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isFunction(value){return isObject(value)&&objToString.call(value)==funcTag}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}function isNative(value){return null!=value&&(isFunction(value)?reIsNative.test(fnToString.call(value)):isObjectLike(value)&&reIsHostCtor.test(value))}var arrayTag="[object Array]",funcTag="[object Function]",reIsHostCtor=/^\[object .+?Constructor\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp("^"+fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),nativeIsArray=getNative(Array,"isArray"),MAX_SAFE_INTEGER=9007199254740991,isArray=nativeIsArray||function(value){return isObjectLike(value)&&isLength(value.length)&&objToString.call(value)==arrayTag};module.exports=isArray},{}],137:[function(require,module,exports){function baseProperty(key){return function(object){return null==object?void 0:object[key]}}function isArrayLike(value){return null!=value&&isLength(getLength(value))}function isIndex(value,length){return value="number"==typeof value||reIsUint.test(value)?+value:-1,length=null==length?MAX_SAFE_INTEGER:length,value>-1&&value%1==0&&value<length}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function shimKeys(object){for(var props=keysIn(object),propsLength=props.length,length=propsLength&&object.length,allowIndexes=!!length&&isLength(length)&&(isArray(object)||isArguments(object)),index=-1,result=[];++index<propsLength;){var key=props[index];(allowIndexes&&isIndex(key,length)||hasOwnProperty.call(object,key))&&result.push(key)}return result}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}function keysIn(object){if(null==object)return[];isObject(object)||(object=Object(object));var length=object.length;length=length&&isLength(length)&&(isArray(object)||isArguments(object))&&length||0;for(var Ctor=object.constructor,index=-1,isProto="function"==typeof Ctor&&Ctor.prototype===object,result=Array(length),skipIndexes=length>0;++index<length;)result[index]=index+"";for(var key in object)skipIndexes&&isIndex(key,length)||"constructor"==key&&(isProto||!hasOwnProperty.call(object,key))||result.push(key);return result}var getNative=require("lodash._getnative"),isArguments=require("lodash.isarguments"),isArray=require("lodash.isarray"),reIsUint=/^\d+$/,objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,nativeKeys=getNative(Object,"keys"),MAX_SAFE_INTEGER=9007199254740991,getLength=baseProperty("length"),keys=nativeKeys?function(object){var Ctor=null==object?void 0:object.constructor;return"function"==typeof Ctor&&Ctor.prototype===object||"function"!=typeof object&&isArrayLike(object)?shimKeys(object):isObject(object)?nativeKeys(object):[]}:shimKeys;module.exports=keys},{"lodash._getnative":130,"lodash.isarguments":135,"lodash.isarray":136}],138:[function(require,module,exports){function restParam(func,start){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return start=nativeMax(void 0===start?func.length-1:+start||0,0),function(){for(var args=arguments,index=-1,length=nativeMax(args.length-start,0),rest=Array(length);++index<length;)rest[index]=args[start+index];switch(start){case 0:return func.call(this,rest);case 1:return func.call(this,args[0],rest);case 2:return func.call(this,args[0],args[1],rest)}var otherArgs=Array(start+1);for(index=-1;++index<start;)otherArgs[index]=args[index];return otherArgs[start]=rest,func.apply(this,otherArgs)}}var FUNC_ERROR_TEXT="Expected a function",nativeMax=Math.max;module.exports=restParam},{}],139:[function(require,module,exports){"use strict";var parse=require("./lib/parse"),Parser=require("./lib/Parser"),escape=require("./lib/escape"),Element=require("./lib/Element"),equal=require("./lib/equal"),createElement=require("./lib/createElement"),tag=require("./lib/tag"),tagString=require("./lib/tagString"),is=require("./lib/is");exports=module.exports=tag,exports.Element=Element,exports.equal=equal.equal,exports.nameEqual=equal.name,exports.attrsEqual=equal.attrs,exports.childrenEqual=equal.children,exports.isNode=is.isNode,exports.isElement=is.isElement,exports.isText=is.isText,exports.createElement=createElement,exports.escapeXML=escape.escapeXML,exports.unescapeXML=escape.unescapeXML,exports.escapeXMLText=escape.escapeXMLText,exports.unescapeXMLText=escape.unescapeXMLText,exports.Parser=Parser,exports.parse=parse,exports.tag=tag,exports.tagString=tagString},{"./lib/Element":141,"./lib/Parser":142,"./lib/createElement":144,"./lib/equal":145,"./lib/escape":146,"./lib/is":147,"./lib/parse":148,"./lib/tag":150,"./lib/tagString":151}],140:[function(require,module,exports){"use strict";function DOMElement(name,attrs){Element.call(this,name,attrs),this.nodeType=1,this.nodeName=this.localName}var inherits=require("inherits"),Element=require("./Element");inherits(DOMElement,Element),DOMElement.prototype._getElement=function(name,attrs){var element=new DOMElement(name,attrs);return element},Object.defineProperty(DOMElement.prototype,"localName",{get:function(){return this.getName()}}),Object.defineProperty(DOMElement.prototype,"namespaceURI",{get:function(){return this.getNS()}}),Object.defineProperty(DOMElement.prototype,"parentNode",{get:function(){return this.parent}}),Object.defineProperty(DOMElement.prototype,"childNodes",{get:function(){return this.children}}),Object.defineProperty(DOMElement.prototype,"textContent",{get:function(){return this.getText()},set:function(value){this.children.push(value)}}),DOMElement.prototype.getElementsByTagName=function(name){return this.getChildren(name)},DOMElement.prototype.getAttribute=function(name){return this.getAttr(name)},DOMElement.prototype.setAttribute=function(name,value){this.attr(name,value)},DOMElement.prototype.getAttributeNS=function(ns,name){return"http://www.w3.org/XML/1998/namespace"===ns?this.getAttr(["xml",name].join(":")):this.getAttr(name,ns)},DOMElement.prototype.setAttributeNS=function(ns,name,value){var prefix;if("http://www.w3.org/XML/1998/namespace"===ns)prefix="xml";else{var nss=this.getXmlns();prefix=nss[ns]||""}prefix&&this.attr([prefix,name].join(":"),value)},DOMElement.prototype.removeAttribute=function(name){this.attr(name,null)},DOMElement.prototype.removeAttributeNS=function(ns,name){var prefix;if("http://www.w3.org/XML/1998/namespace"===ns)prefix="xml";else{var nss=this.getXmlns();prefix=nss[ns]||""}prefix&&this.attr([prefix,name].join(":"),null)},DOMElement.prototype.appendChild=function(el){this.cnode(el)},DOMElement.prototype.removeChild=function(el){this.remove(el)},DOMElement.createElement=function(name,attrs){var el=new DOMElement(name,attrs),children=Array.prototype.slice.call(arguments,2);return children.forEach(function(child){el.appendChild(child)}),el},module.exports=DOMElement},{"./Element":141,inherits:45}],141:[function(require,module,exports){"use strict";function Element(name,attrs){this.name=name,this.parent=null,this.children=[],this.attrs={},this.setAttrs(attrs)}var escape=require("./escape"),escapeXML=escape.escapeXML,escapeXMLText=escape.escapeXMLText,equality=require("./equal"),equal=equality.equal,nameEqual=equality.name,attrsEqual=equality.attrs,childrenEqual=equality.children,clone=require("./clone");Element.prototype.is=function(name,xmlns){return this.getName()===name&&(!xmlns||this.getNS()===xmlns)},Element.prototype.getName=function(){return this.name.indexOf(":")>=0?this.name.substr(this.name.indexOf(":")+1):this.name},Element.prototype.getNS=function(){if(this.name.indexOf(":")>=0){var prefix=this.name.substr(0,this.name.indexOf(":"));return this.findNS(prefix)}return this.findNS()},Element.prototype.findNS=function(prefix){if(prefix){var attr="xmlns:"+prefix;if(this.attrs[attr])return this.attrs[attr];if(this.parent)return this.parent.findNS(prefix)}else{if(this.attrs.xmlns)return this.attrs.xmlns;if(this.parent)return this.parent.findNS()}},Element.prototype.getXmlns=function(){var namespaces={};this.parent&&(namespaces=this.parent.getXmlns());for(var attr in this.attrs){var m=attr.match("xmlns:?(.*)");this.attrs.hasOwnProperty(attr)&&m&&(namespaces[this.attrs[attr]]=m[1])}return namespaces},Element.prototype.setAttrs=function(attrs){"string"==typeof attrs?this.attrs.xmlns=attrs:attrs&&Object.keys(attrs).forEach(function(key){this.attrs[key]=attrs[key]},this)},Element.prototype.getAttr=function(name,xmlns){if(!xmlns)return this.attrs[name];var namespaces=this.getXmlns();return namespaces[xmlns]?this.attrs[[namespaces[xmlns],name].join(":")]:null},Element.prototype.getChild=function(name,xmlns){return this.getChildren(name,xmlns)[0]},Element.prototype.getChildren=function(name,xmlns){for(var result=[],i=0;i<this.children.length;i++){var child=this.children[i];!child.getName||child.getName()!==name||xmlns&&child.getNS()!==xmlns||result.push(child)}return result},Element.prototype.getChildByAttr=function(attr,val,xmlns,recursive){return this.getChildrenByAttr(attr,val,xmlns,recursive)[0]},Element.prototype.getChildrenByAttr=function(attr,val,xmlns,recursive){for(var result=[],i=0;i<this.children.length;i++){var child=this.children[i];!child.attrs||child.attrs[attr]!==val||xmlns&&child.getNS()!==xmlns||result.push(child),recursive&&child.getChildrenByAttr&&result.push(child.getChildrenByAttr(attr,val,xmlns,!0))}return recursive&&(result=[].concat.apply([],result)),result},Element.prototype.getChildrenByFilter=function(filter,recursive){for(var result=[],i=0;i<this.children.length;i++){var child=this.children[i];filter(child)&&result.push(child),recursive&&child.getChildrenByFilter&&result.push(child.getChildrenByFilter(filter,!0))}return recursive&&(result=[].concat.apply([],result)),result},Element.prototype.getText=function(){for(var text="",i=0;i<this.children.length;i++){var child=this.children[i];"string"!=typeof child&&"number"!=typeof child||(text+=child)}return text},Element.prototype.getChildText=function(name,xmlns){var child=this.getChild(name,xmlns);return child?child.getText():null},Element.prototype.getChildElements=function(){return this.getChildrenByFilter(function(child){return child instanceof Element})},Element.prototype.root=function(){return this.parent?this.parent.root():this},Element.prototype.tree=Element.prototype.root,Element.prototype.up=function(){return this.parent?this.parent:this},Element.prototype.c=function(name,attrs){return this.cnode(new Element(name,attrs))},Element.prototype.cnode=function(child){return this.children.push(child),"object"==typeof child&&(child.parent=this),child},Element.prototype.t=function(text){return this.children.push(text),this},Element.prototype.remove=function(el,xmlns){var filter;return filter="string"==typeof el?function(child){return!(child.is&&child.is(el,xmlns))}:function(child){return child!==el},this.children=this.children.filter(filter),this},Element.prototype.clone=function(){return clone(this)},Element.prototype.text=function(val){return val&&1===this.children.length?(this.children[0]=val,this):this.getText()},Element.prototype.attr=function(attr,val){return"undefined"!=typeof val||null===val?(this.attrs||(this.attrs={}),this.attrs[attr]=val,this):this.attrs[attr]},Element.prototype.toString=function(){var s="";return this.write(function(c){s+=c}),s},Element.prototype.toJSON=function(){return{name:this.name,attrs:this.attrs,children:this.children.map(function(child){return child&&child.toJSON?child.toJSON():child})}},Element.prototype._addChildren=function(writer){writer(">");for(var i=0;i<this.children.length;i++){var child=this.children[i];(child||0===child)&&(child.write?child.write(writer):"string"==typeof child?writer(escapeXMLText(child)):child.toString&&writer(escapeXMLText(child.toString(10))))}writer("</"),writer(this.name),writer(">")},Element.prototype.write=function(writer){writer("<"),writer(this.name);for(var k in this.attrs){var v=this.attrs[k];null!=v&&(writer(" "),writer(k),writer('="'),"string"!=typeof v&&(v=v.toString()),writer(escapeXML(v)),writer('"'))}0===this.children.length?writer("/>"):this._addChildren(writer)},Element.prototype.nameEquals=function(el){return nameEqual(this,el)},Element.prototype.attrsEquals=function(el){return attrsEqual(this,el)},Element.prototype.childrenEquals=function(el){return childrenEqual(this,el)},Element.prototype.equals=function(el){return equal(this,el)},module.exports=Element},{"./clone":143,"./equal":145,"./escape":146}],142:[function(require,module,exports){"use strict";var EventEmitter=require("events").EventEmitter,inherits=require("inherits"),Element=require("./Element"),LtxParser=require("./parsers/ltx"),Parser=function(options){EventEmitter.call(this);var ParserInterface=this.Parser=options&&options.Parser||this.DefaultParser,ElementInterface=this.Element=options&&options.Element||this.DefaultElement;this.parser=new ParserInterface;var el,self=this;this.parser.on("startElement",function(name,attrs){var child=new ElementInterface(name,attrs);el=el?el.cnode(child):child}),this.parser.on("endElement",function(name){el&&name===el.name&&(el.parent?el=el.parent:self.tree||(self.tree=el,el=void 0))}),this.parser.on("text",function(str){el&&el.t(str)}),this.parser.on("error",function(e){self.error=e,self.emit("error",e)})};inherits(Parser,EventEmitter),Parser.prototype.DefaultParser=LtxParser,Parser.prototype.DefaultElement=Element,Parser.prototype.write=function(data){this.parser.write(data)},Parser.prototype.end=function(data){this.parser.end(data),this.error||(this.tree?this.emit("tree",this.tree):this.emit("error",new Error("Incomplete document")))},module.exports=Parser},{"./Element":141,"./parsers/ltx":149,events:27,inherits:45}],143:[function(require,module,exports){"use strict";module.exports=function clone(el){for(var clone=new el.constructor(el.name,el.attrs),i=0;i<el.children.length;i++){var child=el.children[i];clone.cnode(child.clone?child.clone():child)}return clone}},{}],144:[function(require,module,exports){"use strict";var Element=require("./Element");module.exports=function(name,attrs){for(var el=new Element(name,attrs),i=2;i<arguments.length;i++){var child=arguments[i];child&&el.cnode(child)}return el}},{"./Element":141}],145:[function(require,module,exports){"use strict";function nameEqual(a,b){return a.name===b.name}function attrsEqual(a,b){var attrs=a.attrs,keys=Object.keys(attrs),length=keys.length;if(length!==Object.keys(b.attrs).length)return!1;for(var i=0,l=length;i<l;i++){var key=keys[i],value=attrs[key];if(null==value||null==b.attrs[key]){if(value!==b.attrs[key])return!1}else if(value.toString()!==b.attrs[key].toString())return!1}return!0}function childrenEqual(a,b){var children=a.children,length=children.length;if(length!==b.children.length)return!1;for(var i=0,l=length;i<l;i++){var child=children[i];if("string"==typeof child){if(child!==b.children[i])return!1}else if(!child.equals(b.children[i]))return!1}return!0}function equal(a,b){return!!nameEqual(a,b)&&(!!attrsEqual(a,b)&&!!childrenEqual(a,b))}module.exports.name=nameEqual,module.exports.attrs=attrsEqual,module.exports.children=childrenEqual,module.exports.equal=equal},{}],146:[function(require,module,exports){"use strict";function escapeXMLReplace(match){return escapeXMLTable[match]}function unescapeXMLReplace(match){return unescapeXMLTable[match]}var escapeXMLTable={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&apos;"},unescapeXMLTable={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&quot;":'"',"&#34;":'"',"&apos;":"'","&#39;":"'"};exports.escapeXML=function(s){return s.replace(/&|<|>|"|'/g,escapeXMLReplace)},exports.unescapeXML=function(s){return s.replace(/&(amp|#38|lt|#60|gt|#62|quot|#34|apos|#39);/g,unescapeXMLReplace)},exports.escapeXMLText=function(s){return s.replace(/&|<|>/g,escapeXMLReplace)},exports.unescapeXMLText=function(s){return s.replace(/&(amp|#38|lt|#60|gt|#62);/g,unescapeXMLReplace)}},{}],147:[function(require,module,exports){"use strict";var Element=require("./Element");module.exports.isNode=function(el){return el instanceof Element||"string"==typeof el},module.exports.isElement=function(el){return el instanceof Element},module.exports.isText=function(el){return"string"==typeof el}},{"./Element":141}],148:[function(require,module,exports){"use strict";var Parser=require("./Parser");module.exports=function(data,options){var p;p="function"==typeof options?new options:new Parser(options);var result=null,error=null;if(p.on("tree",function(tree){result=tree}),p.on("error",function(e){error=e}),p.write(data),p.end(),error)throw error;return result}},{"./Parser":142}],149:[function(require,module,exports){"use strict";var inherits=require("inherits"),EventEmitter=require("events").EventEmitter,unescapeXML=require("../escape").unescapeXML,STATE_TEXT=0,STATE_IGNORE_TAG=1,STATE_TAG_NAME=2,STATE_TAG=3,STATE_ATTR_NAME=4,STATE_ATTR_EQ=5,STATE_ATTR_QUOT=6,STATE_ATTR_VALUE=7,SaxLtx=module.exports=function(){EventEmitter.call(this);var remainder,tagName,attrs,endTag,selfClosing,attrQuote,attrName,state=STATE_TEXT,recordStart=0;this._handleTagOpening=function(endTag,tagName,attrs){endTag?this.emit("endElement",tagName):(this.emit("startElement",tagName,attrs),selfClosing&&this.emit("endElement",tagName))},this.write=function(data){function endRecording(){if("number"==typeof recordStart){var recorded=data.slice(recordStart,pos);return recordStart=void 0,recorded}}"string"!=typeof data&&(data=data.toString());var pos=0;for(remainder&&(data=remainder+data,pos+=remainder.length,remainder=null);pos<data.length;pos++){var c=data.charCodeAt(pos);switch(state){case STATE_TEXT:if(60===c){var text=endRecording();text&&this.emit("text",unescapeXML(text)),state=STATE_TAG_NAME,recordStart=pos+1,attrs={}}break;case STATE_TAG_NAME:47===c&&recordStart===pos?(recordStart=pos+1,endTag=!0):33===c||63===c?(recordStart=void 0,state=STATE_IGNORE_TAG):(c<=32||47===c||62===c)&&(tagName=endRecording(),pos--,state=STATE_TAG);break;case STATE_IGNORE_TAG:62===c&&(state=STATE_TEXT);break;case STATE_TAG:62===c?(this._handleTagOpening(endTag,tagName,attrs),tagName=void 0,attrs=void 0,endTag=void 0,selfClosing=void 0,state=STATE_TEXT,recordStart=pos+1):47===c?selfClosing=!0:c>32&&(recordStart=pos,state=STATE_ATTR_NAME);break;case STATE_ATTR_NAME:(c<=32||61===c)&&(attrName=endRecording(),pos--,state=STATE_ATTR_EQ);break;case STATE_ATTR_EQ:61===c&&(state=STATE_ATTR_QUOT);break;case STATE_ATTR_QUOT:34!==c&&39!==c||(attrQuote=c,state=STATE_ATTR_VALUE,recordStart=pos+1);break;case STATE_ATTR_VALUE:if(c===attrQuote){var value=unescapeXML(endRecording());attrs[attrName]=value,attrName=void 0,state=STATE_TAG}}}"number"==typeof recordStart&&recordStart<=data.length&&(remainder=data.slice(recordStart),recordStart=0)}};inherits(SaxLtx,EventEmitter),SaxLtx.prototype.end=function(data){data&&this.write(data),this.write=function(){}}},{"../escape":146,events:27,inherits:45}],150:[function(require,module,exports){"use strict";var tagString=require("./tagString"),parse=require("./parse");module.exports=function(){return parse(tagString.apply(null,arguments))}},{"./parse":148,"./tagString":151}],151:[function(require,module,exports){"use strict";var escape=require("./escape").escapeXML;module.exports=function(){for(var literals=arguments[0],str="",i=1;i<arguments.length;i++)str+=literals[i-1],str+=escape(arguments[i]);return str+=literals[literals.length-1]}},{"./escape":146}],152:[function(require,module,exports){(function(process){"use strict";function nextTick(fn,arg1,arg2,arg3){if("function"!=typeof fn)throw new TypeError('"callback" argument must be a function');var args,i,len=arguments.length;switch(len){case 0:case 1:return process.nextTick(fn);case 2:return process.nextTick(function(){fn.call(null,arg1)});case 3:return process.nextTick(function(){fn.call(null,arg1,arg2)});case 4:return process.nextTick(function(){fn.call(null,arg1,arg2,arg3)});default:for(args=new Array(len-1),i=0;i<args.length;)args[i++]=arguments[i];return process.nextTick(function(){fn.apply(null,args)})}}!process.version||0===process.version.indexOf("v0.")||0===process.version.indexOf("v1.")&&0!==process.version.indexOf("v1.8.")?module.exports=nextTick:module.exports=process.nextTick}).call(this,require("_process"))},{_process:153}],153:[function(require,module,exports){function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(fun){if(cachedSetTimeout===setTimeout)return setTimeout(fun,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(fun,0);try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout)return clearTimeout(marker);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(marker);try{return cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}function cleanUpNextTick(){draining&&currentQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var timeout=runTimeout(cleanUpNextTick);draining=!0;for(var len=queue.length;len;){for(currentQueue=queue,queue=[];++queueIndex<len;)currentQueue&&currentQueue[queueIndex].run();queueIndex=-1,len=queue.length}currentQueue=null,draining=!1,runClearTimeout(timeout)}}function Item(fun,array){this.fun=fun,this.array=array}function noop(){}var cachedSetTimeout,cachedClearTimeout,process=module.exports={};!function(){try{cachedSetTimeout="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){cachedSetTimeout=defaultSetTimout}try{cachedClearTimeout="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){cachedClearTimeout=defaultClearTimeout}}();var currentQueue,queue=[],draining=!1,queueIndex=-1;process.nextTick=function(fun){var args=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)args[i-1]=arguments[i];queue.push(new Item(fun,args)),1!==queue.length||draining||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.binding=function(name){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(dir){throw new Error("process.chdir is not supported")},process.umask=function(){return 0}},{}],154:[function(require,module,exports){(function(global){!function(root){function error(type){throw new RangeError(errors[type])}function map(array,fn){for(var length=array.length,result=[];length--;)result[length]=fn(array[length]);return result}function mapDomain(string,fn){var parts=string.split("@"),result="";parts.length>1&&(result=parts[0]+"@",string=parts[1]),string=string.replace(regexSeparators,".");var labels=string.split("."),encoded=map(labels,fn).join(".");return result+encoded}function ucs2decode(string){for(var value,extra,output=[],counter=0,length=string.length;counter<length;)value=string.charCodeAt(counter++),value>=55296&&value<=56319&&counter<length?(extra=string.charCodeAt(counter++),56320==(64512&extra)?output.push(((1023&value)<<10)+(1023&extra)+65536):(output.push(value),counter--)):output.push(value);return output}function ucs2encode(array){return map(array,function(value){var output="";return value>65535&&(value-=65536,output+=stringFromCharCode(value>>>10&1023|55296),value=56320|1023&value),output+=stringFromCharCode(value)}).join("")}function basicToDigit(codePoint){return codePoint-48<10?codePoint-22:codePoint-65<26?codePoint-65:codePoint-97<26?codePoint-97:base}function digitToBasic(digit,flag){return digit+22+75*(digit<26)-((0!=flag)<<5)}function adapt(delta,numPoints,firstTime){
-var k=0;for(delta=firstTime?floor(delta/damp):delta>>1,delta+=floor(delta/numPoints);delta>baseMinusTMin*tMax>>1;k+=base)delta=floor(delta/baseMinusTMin);return floor(k+(baseMinusTMin+1)*delta/(delta+skew))}function decode(input){var out,basic,j,index,oldi,w,k,digit,t,baseMinusT,output=[],inputLength=input.length,i=0,n=initialN,bias=initialBias;for(basic=input.lastIndexOf(delimiter),basic<0&&(basic=0),j=0;j<basic;++j)input.charCodeAt(j)>=128&&error("not-basic"),output.push(input.charCodeAt(j));for(index=basic>0?basic+1:0;index<inputLength;){for(oldi=i,w=1,k=base;index>=inputLength&&error("invalid-input"),digit=basicToDigit(input.charCodeAt(index++)),(digit>=base||digit>floor((maxInt-i)/w))&&error("overflow"),i+=digit*w,t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias,!(digit<t);k+=base)baseMinusT=base-t,w>floor(maxInt/baseMinusT)&&error("overflow"),w*=baseMinusT;out=output.length+1,bias=adapt(i-oldi,out,0==oldi),floor(i/out)>maxInt-n&&error("overflow"),n+=floor(i/out),i%=out,output.splice(i++,0,n)}return ucs2encode(output)}function encode(input){var n,delta,handledCPCount,basicLength,bias,j,m,q,k,t,currentValue,inputLength,handledCPCountPlusOne,baseMinusT,qMinusT,output=[];for(input=ucs2decode(input),inputLength=input.length,n=initialN,delta=0,bias=initialBias,j=0;j<inputLength;++j)currentValue=input[j],currentValue<128&&output.push(stringFromCharCode(currentValue));for(handledCPCount=basicLength=output.length,basicLength&&output.push(delimiter);handledCPCount<inputLength;){for(m=maxInt,j=0;j<inputLength;++j)currentValue=input[j],currentValue>=n&&currentValue<m&&(m=currentValue);for(handledCPCountPlusOne=handledCPCount+1,m-n>floor((maxInt-delta)/handledCPCountPlusOne)&&error("overflow"),delta+=(m-n)*handledCPCountPlusOne,n=m,j=0;j<inputLength;++j)if(currentValue=input[j],currentValue<n&&++delta>maxInt&&error("overflow"),currentValue==n){for(q=delta,k=base;t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias,!(q<t);k+=base)qMinusT=q-t,baseMinusT=base-t,output.push(stringFromCharCode(digitToBasic(t+qMinusT%baseMinusT,0))),q=floor(qMinusT/baseMinusT);output.push(stringFromCharCode(digitToBasic(q,0))),bias=adapt(delta,handledCPCountPlusOne,handledCPCount==basicLength),delta=0,++handledCPCount}++delta,++n}return output.join("")}function toUnicode(input){return mapDomain(input,function(string){return regexPunycode.test(string)?decode(string.slice(4).toLowerCase()):string})}function toASCII(input){return mapDomain(input,function(string){return regexNonASCII.test(string)?"xn--"+encode(string):string})}var freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule="object"==typeof module&&module&&!module.nodeType&&module,freeGlobal="object"==typeof global&&global;freeGlobal.global!==freeGlobal&&freeGlobal.window!==freeGlobal&&freeGlobal.self!==freeGlobal||(root=freeGlobal);var punycode,key,maxInt=2147483647,base=36,tMin=1,tMax=26,skew=38,damp=700,initialBias=72,initialN=128,delimiter="-",regexPunycode=/^xn--/,regexNonASCII=/[^\x20-\x7E]/,regexSeparators=/[\x2E\u3002\uFF0E\uFF61]/g,errors={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},baseMinusTMin=base-tMin,floor=Math.floor,stringFromCharCode=String.fromCharCode;if(punycode={version:"1.4.1",ucs2:{decode:ucs2decode,encode:ucs2encode},decode:decode,encode:encode,toASCII:toASCII,toUnicode:toUnicode},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return punycode});else if(freeExports&&freeModule)if(module.exports==freeExports)freeModule.exports=punycode;else for(key in punycode)punycode.hasOwnProperty(key)&&(freeExports[key]=punycode[key]);else root.punycode=punycode}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],155:[function(require,module,exports){module.exports=require("./lib/_stream_duplex.js")},{"./lib/_stream_duplex.js":156}],156:[function(require,module,exports){"use strict";function Duplex(options){return this instanceof Duplex?(Readable.call(this,options),Writable.call(this,options),options&&options.readable===!1&&(this.readable=!1),options&&options.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,options&&options.allowHalfOpen===!1&&(this.allowHalfOpen=!1),void this.once("end",onend)):new Duplex(options)}function onend(){this.allowHalfOpen||this._writableState.ended||processNextTick(onEndNT,this)}function onEndNT(self){self.end()}var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj)keys.push(key);return keys};module.exports=Duplex;var processNextTick=require("process-nextick-args"),util=require("core-util-is");util.inherits=require("inherits");var Readable=require("./_stream_readable"),Writable=require("./_stream_writable");util.inherits(Duplex,Readable);for(var keys=objectKeys(Writable.prototype),v=0;v<keys.length;v++){var method=keys[v];Duplex.prototype[method]||(Duplex.prototype[method]=Writable.prototype[method])}},{"./_stream_readable":158,"./_stream_writable":160,"core-util-is":22,inherits:45,"process-nextick-args":152}],157:[function(require,module,exports){"use strict";function PassThrough(options){return this instanceof PassThrough?void Transform.call(this,options):new PassThrough(options)}module.exports=PassThrough;var Transform=require("./_stream_transform"),util=require("core-util-is");util.inherits=require("inherits"),util.inherits(PassThrough,Transform),PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk)}},{"./_stream_transform":159,"core-util-is":22,inherits:45}],158:[function(require,module,exports){(function(process){"use strict";function prependListener(emitter,event,fn){return"function"==typeof emitter.prependListener?emitter.prependListener(event,fn):void(emitter._events&&emitter._events[event]?isArray(emitter._events[event])?emitter._events[event].unshift(fn):emitter._events[event]=[fn,emitter._events[event]]:emitter.on(event,fn))}function ReadableState(options,stream){Duplex=Duplex||require("./_stream_duplex"),options=options||{},this.objectMode=!!options.objectMode,stream instanceof Duplex&&(this.objectMode=this.objectMode||!!options.readableObjectMode);var hwm=options.highWaterMark,defaultHwm=this.objectMode?16:16384;this.highWaterMark=hwm||0===hwm?hwm:defaultHwm,this.highWaterMark=~~this.highWaterMark,this.buffer=new BufferList,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=options.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,options.encoding&&(StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder),this.decoder=new StringDecoder(options.encoding),this.encoding=options.encoding)}function Readable(options){return Duplex=Duplex||require("./_stream_duplex"),this instanceof Readable?(this._readableState=new ReadableState(options,this),this.readable=!0,options&&"function"==typeof options.read&&(this._read=options.read),void Stream.call(this)):new Readable(options)}function readableAddChunk(stream,state,chunk,encoding,addToFront){var er=chunkInvalid(state,chunk);if(er)stream.emit("error",er);else if(null===chunk)state.reading=!1,onEofChunk(stream,state);else if(state.objectMode||chunk&&chunk.length>0)if(state.ended&&!addToFront){var e=new Error("stream.push() after EOF");stream.emit("error",e)}else if(state.endEmitted&&addToFront){var _e=new Error("stream.unshift() after end event");stream.emit("error",_e)}else{var skipAdd;!state.decoder||addToFront||encoding||(chunk=state.decoder.write(chunk),skipAdd=!state.objectMode&&0===chunk.length),addToFront||(state.reading=!1),skipAdd||(state.flowing&&0===state.length&&!state.sync?(stream.emit("data",chunk),stream.read(0)):(state.length+=state.objectMode?1:chunk.length,addToFront?state.buffer.unshift(chunk):state.buffer.push(chunk),state.needReadable&&emitReadable(stream))),maybeReadMore(stream,state)}else addToFront||(state.reading=!1);return needMoreData(state)}function needMoreData(state){return!state.ended&&(state.needReadable||state.length<state.highWaterMark||0===state.length)}function computeNewHighWaterMark(n){return n>=MAX_HWM?n=MAX_HWM:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n}function howMuchToRead(n,state){return n<=0||0===state.length&&state.ended?0:state.objectMode?1:n!==n?state.flowing&&state.length?state.buffer.head.data.length:state.length:(n>state.highWaterMark&&(state.highWaterMark=computeNewHighWaterMark(n)),n<=state.length?n:state.ended?state.length:(state.needReadable=!0,0))}function chunkInvalid(state,chunk){var er=null;return Buffer.isBuffer(chunk)||"string"==typeof chunk||null===chunk||void 0===chunk||state.objectMode||(er=new TypeError("Invalid non-string/buffer chunk")),er}function onEofChunk(stream,state){if(!state.ended){if(state.decoder){var chunk=state.decoder.end();chunk&&chunk.length&&(state.buffer.push(chunk),state.length+=state.objectMode?1:chunk.length)}state.ended=!0,emitReadable(stream)}}function emitReadable(stream){var state=stream._readableState;state.needReadable=!1,state.emittedReadable||(debug("emitReadable",state.flowing),state.emittedReadable=!0,state.sync?processNextTick(emitReadable_,stream):emitReadable_(stream))}function emitReadable_(stream){debug("emit readable"),stream.emit("readable"),flow(stream)}function maybeReadMore(stream,state){state.readingMore||(state.readingMore=!0,processNextTick(maybeReadMore_,stream,state))}function maybeReadMore_(stream,state){for(var len=state.length;!state.reading&&!state.flowing&&!state.ended&&state.length<state.highWaterMark&&(debug("maybeReadMore read 0"),stream.read(0),len!==state.length);)len=state.length;state.readingMore=!1}function pipeOnDrain(src){return function(){var state=src._readableState;debug("pipeOnDrain",state.awaitDrain),state.awaitDrain&&state.awaitDrain--,0===state.awaitDrain&&EElistenerCount(src,"data")&&(state.flowing=!0,flow(src))}}function nReadingNextTick(self){debug("readable nexttick read 0"),self.read(0)}function resume(stream,state){state.resumeScheduled||(state.resumeScheduled=!0,processNextTick(resume_,stream,state))}function resume_(stream,state){state.reading||(debug("resume read 0"),stream.read(0)),state.resumeScheduled=!1,state.awaitDrain=0,stream.emit("resume"),flow(stream),state.flowing&&!state.reading&&stream.read(0)}function flow(stream){var state=stream._readableState;for(debug("flow",state.flowing);state.flowing&&null!==stream.read(););}function fromList(n,state){if(0===state.length)return null;var ret;return state.objectMode?ret=state.buffer.shift():!n||n>=state.length?(ret=state.decoder?state.buffer.join(""):1===state.buffer.length?state.buffer.head.data:state.buffer.concat(state.length),state.buffer.clear()):ret=fromListPartial(n,state.buffer,state.decoder),ret}function fromListPartial(n,list,hasStrings){var ret;return n<list.head.data.length?(ret=list.head.data.slice(0,n),list.head.data=list.head.data.slice(n)):ret=n===list.head.data.length?list.shift():hasStrings?copyFromBufferString(n,list):copyFromBuffer(n,list),ret}function copyFromBufferString(n,list){var p=list.head,c=1,ret=p.data;for(n-=ret.length;p=p.next;){var str=p.data,nb=n>str.length?str.length:n;if(ret+=nb===str.length?str:str.slice(0,n),n-=nb,0===n){nb===str.length?(++c,p.next?list.head=p.next:list.head=list.tail=null):(list.head=p,p.data=str.slice(nb));break}++c}return list.length-=c,ret}function copyFromBuffer(n,list){var ret=bufferShim.allocUnsafe(n),p=list.head,c=1;for(p.data.copy(ret),n-=p.data.length;p=p.next;){var buf=p.data,nb=n>buf.length?buf.length:n;if(buf.copy(ret,ret.length-n,0,nb),n-=nb,0===n){nb===buf.length?(++c,p.next?list.head=p.next:list.head=list.tail=null):(list.head=p,p.data=buf.slice(nb));break}++c}return list.length-=c,ret}function endReadable(stream){var state=stream._readableState;if(state.length>0)throw new Error('"endReadable()" called on non-empty stream');state.endEmitted||(state.ended=!0,processNextTick(endReadableNT,state,stream))}function endReadableNT(state,stream){state.endEmitted||0!==state.length||(state.endEmitted=!0,stream.readable=!1,stream.emit("end"))}function forEach(xs,f){for(var i=0,l=xs.length;i<l;i++)f(xs[i],i)}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++)if(xs[i]===x)return i;return-1}module.exports=Readable;var processNextTick=require("process-nextick-args"),isArray=require("isarray");Readable.ReadableState=ReadableState;var Stream,EElistenerCount=(require("events").EventEmitter,function(emitter,type){return emitter.listeners(type).length});!function(){try{Stream=require("stream")}catch(_){}finally{Stream||(Stream=require("events").EventEmitter)}}();var Buffer=require("buffer").Buffer,bufferShim=require("buffer-shims"),util=require("core-util-is");util.inherits=require("inherits");var debugUtil=require("util"),debug=void 0;debug=debugUtil&&debugUtil.debuglog?debugUtil.debuglog("stream"):function(){};var StringDecoder,BufferList=require("./internal/streams/BufferList");util.inherits(Readable,Stream);var Duplex,Duplex;Readable.prototype.push=function(chunk,encoding){var state=this._readableState;return state.objectMode||"string"!=typeof chunk||(encoding=encoding||state.defaultEncoding,encoding!==state.encoding&&(chunk=bufferShim.from(chunk,encoding),encoding="")),readableAddChunk(this,state,chunk,encoding,!1)},Readable.prototype.unshift=function(chunk){var state=this._readableState;return readableAddChunk(this,state,chunk,"",!0)},Readable.prototype.isPaused=function(){return this._readableState.flowing===!1},Readable.prototype.setEncoding=function(enc){return StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder),this._readableState.decoder=new StringDecoder(enc),this._readableState.encoding=enc,this};var MAX_HWM=8388608;Readable.prototype.read=function(n){debug("read",n),n=parseInt(n,10);var state=this._readableState,nOrig=n;if(0!==n&&(state.emittedReadable=!1),0===n&&state.needReadable&&(state.length>=state.highWaterMark||state.ended))return debug("read: emitReadable",state.length,state.ended),0===state.length&&state.ended?endReadable(this):emitReadable(this),null;if(n=howMuchToRead(n,state),0===n&&state.ended)return 0===state.length&&endReadable(this),null;var doRead=state.needReadable;debug("need readable",doRead),(0===state.length||state.length-n<state.highWaterMark)&&(doRead=!0,debug("length less than watermark",doRead)),state.ended||state.reading?(doRead=!1,debug("reading or ended",doRead)):doRead&&(debug("do read"),state.reading=!0,state.sync=!0,0===state.length&&(state.needReadable=!0),this._read(state.highWaterMark),state.sync=!1,state.reading||(n=howMuchToRead(nOrig,state)));var ret;return ret=n>0?fromList(n,state):null,null===ret?(state.needReadable=!0,n=0):state.length-=n,0===state.length&&(state.ended||(state.needReadable=!0),nOrig!==n&&state.ended&&endReadable(this)),null!==ret&&this.emit("data",ret),ret},Readable.prototype._read=function(n){this.emit("error",new Error("not implemented"))},Readable.prototype.pipe=function(dest,pipeOpts){function onunpipe(readable){debug("onunpipe"),readable===src&&cleanup()}function onend(){debug("onend"),dest.end()}function cleanup(){debug("cleanup"),dest.removeListener("close",onclose),dest.removeListener("finish",onfinish),dest.removeListener("drain",ondrain),dest.removeListener("error",onerror),dest.removeListener("unpipe",onunpipe),src.removeListener("end",onend),src.removeListener("end",cleanup),src.removeListener("data",ondata),cleanedUp=!0,!state.awaitDrain||dest._writableState&&!dest._writableState.needDrain||ondrain()}function ondata(chunk){debug("ondata"),increasedAwaitDrain=!1;var ret=dest.write(chunk);!1!==ret||increasedAwaitDrain||((1===state.pipesCount&&state.pipes===dest||state.pipesCount>1&&indexOf(state.pipes,dest)!==-1)&&!cleanedUp&&(debug("false write response, pause",src._readableState.awaitDrain),src._readableState.awaitDrain++,increasedAwaitDrain=!0),src.pause())}function onerror(er){debug("onerror",er),unpipe(),dest.removeListener("error",onerror),0===EElistenerCount(dest,"error")&&dest.emit("error",er)}function onclose(){dest.removeListener("finish",onfinish),unpipe()}function onfinish(){debug("onfinish"),dest.removeListener("close",onclose),unpipe()}function unpipe(){debug("unpipe"),src.unpipe(dest)}var src=this,state=this._readableState;switch(state.pipesCount){case 0:state.pipes=dest;break;case 1:state.pipes=[state.pipes,dest];break;default:state.pipes.push(dest)}state.pipesCount+=1,debug("pipe count=%d opts=%j",state.pipesCount,pipeOpts);var doEnd=(!pipeOpts||pipeOpts.end!==!1)&&dest!==process.stdout&&dest!==process.stderr,endFn=doEnd?onend:cleanup;state.endEmitted?processNextTick(endFn):src.once("end",endFn),dest.on("unpipe",onunpipe);var ondrain=pipeOnDrain(src);dest.on("drain",ondrain);var cleanedUp=!1,increasedAwaitDrain=!1;return src.on("data",ondata),prependListener(dest,"error",onerror),dest.once("close",onclose),dest.once("finish",onfinish),dest.emit("pipe",src),state.flowing||(debug("pipe resume"),src.resume()),dest},Readable.prototype.unpipe=function(dest){var state=this._readableState;if(0===state.pipesCount)return this;if(1===state.pipesCount)return dest&&dest!==state.pipes?this:(dest||(dest=state.pipes),state.pipes=null,state.pipesCount=0,state.flowing=!1,dest&&dest.emit("unpipe",this),this);if(!dest){var dests=state.pipes,len=state.pipesCount;state.pipes=null,state.pipesCount=0,state.flowing=!1;for(var _i=0;_i<len;_i++)dests[_i].emit("unpipe",this);return this}var i=indexOf(state.pipes,dest);return i===-1?this:(state.pipes.splice(i,1),state.pipesCount-=1,1===state.pipesCount&&(state.pipes=state.pipes[0]),dest.emit("unpipe",this),this)},Readable.prototype.on=function(ev,fn){var res=Stream.prototype.on.call(this,ev,fn);if("data"===ev)this._readableState.flowing!==!1&&this.resume();else if("readable"===ev){var state=this._readableState;state.endEmitted||state.readableListening||(state.readableListening=state.needReadable=!0,state.emittedReadable=!1,state.reading?state.length&&emitReadable(this,state):processNextTick(nReadingNextTick,this))}return res},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.resume=function(){var state=this._readableState;return state.flowing||(debug("resume"),state.flowing=!0,resume(this,state)),this},Readable.prototype.pause=function(){return debug("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(debug("pause"),this._readableState.flowing=!1,this.emit("pause")),this},Readable.prototype.wrap=function(stream){var state=this._readableState,paused=!1,self=this;stream.on("end",function(){if(debug("wrapped end"),state.decoder&&!state.ended){var chunk=state.decoder.end();chunk&&chunk.length&&self.push(chunk)}self.push(null)}),stream.on("data",function(chunk){if(debug("wrapped data"),state.decoder&&(chunk=state.decoder.write(chunk)),(!state.objectMode||null!==chunk&&void 0!==chunk)&&(state.objectMode||chunk&&chunk.length)){var ret=self.push(chunk);ret||(paused=!0,stream.pause())}});for(var i in stream)void 0===this[i]&&"function"==typeof stream[i]&&(this[i]=function(method){return function(){return stream[method].apply(stream,arguments)}}(i));var events=["error","close","destroy","pause","resume"];return forEach(events,function(ev){stream.on(ev,self.emit.bind(self,ev))}),self._read=function(n){debug("wrapped _read",n),paused&&(paused=!1,stream.resume())},self},Readable._fromList=fromList}).call(this,require("_process"))},{"./_stream_duplex":156,"./internal/streams/BufferList":161,_process:153,buffer:6,"buffer-shims":5,"core-util-is":22,events:27,inherits:45,isarray:48,"process-nextick-args":152,"string_decoder/":183,util:4}],159:[function(require,module,exports){"use strict";function TransformState(stream){this.afterTransform=function(er,data){return afterTransform(stream,er,data)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function afterTransform(stream,er,data){var ts=stream._transformState;ts.transforming=!1;var cb=ts.writecb;if(!cb)return stream.emit("error",new Error("no writecb in Transform class"));ts.writechunk=null,ts.writecb=null,null!==data&&void 0!==data&&stream.push(data),cb(er);var rs=stream._readableState;rs.reading=!1,(rs.needReadable||rs.length<rs.highWaterMark)&&stream._read(rs.highWaterMark)}function Transform(options){if(!(this instanceof Transform))return new Transform(options);Duplex.call(this,options),this._transformState=new TransformState(this);var stream=this;this._readableState.needReadable=!0,this._readableState.sync=!1,options&&("function"==typeof options.transform&&(this._transform=options.transform),"function"==typeof options.flush&&(this._flush=options.flush)),this.once("prefinish",function(){"function"==typeof this._flush?this._flush(function(er){done(stream,er)}):done(stream)})}function done(stream,er){if(er)return stream.emit("error",er);var ws=stream._writableState,ts=stream._transformState;if(ws.length)throw new Error("Calling transform done when ws.length != 0");if(ts.transforming)throw new Error("Calling transform done when still transforming");return stream.push(null)}module.exports=Transform;var Duplex=require("./_stream_duplex"),util=require("core-util-is");util.inherits=require("inherits"),util.inherits(Transform,Duplex),Transform.prototype.push=function(chunk,encoding){return this._transformState.needTransform=!1,Duplex.prototype.push.call(this,chunk,encoding)},Transform.prototype._transform=function(chunk,encoding,cb){throw new Error("Not implemented")},Transform.prototype._write=function(chunk,encoding,cb){var ts=this._transformState;if(ts.writecb=cb,ts.writechunk=chunk,ts.writeencoding=encoding,!ts.transforming){var rs=this._readableState;(ts.needTransform||rs.needReadable||rs.length<rs.highWaterMark)&&this._read(rs.highWaterMark)}},Transform.prototype._read=function(n){var ts=this._transformState;null!==ts.writechunk&&ts.writecb&&!ts.transforming?(ts.transforming=!0,this._transform(ts.writechunk,ts.writeencoding,ts.afterTransform)):ts.needTransform=!0}},{"./_stream_duplex":156,"core-util-is":22,inherits:45}],160:[function(require,module,exports){(function(process){"use strict";function nop(){}function WriteReq(chunk,encoding,cb){this.chunk=chunk,this.encoding=encoding,this.callback=cb,this.next=null}function WritableState(options,stream){Duplex=Duplex||require("./_stream_duplex"),options=options||{},this.objectMode=!!options.objectMode,stream instanceof Duplex&&(this.objectMode=this.objectMode||!!options.writableObjectMode);var hwm=options.highWaterMark,defaultHwm=this.objectMode?16:16384;this.highWaterMark=hwm||0===hwm?hwm:defaultHwm,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var noDecode=options.decodeStrings===!1;this.decodeStrings=!noDecode,this.defaultEncoding=options.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(er){onwrite(stream,er)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}function Writable(options){return Duplex=Duplex||require("./_stream_duplex"),this instanceof Writable||this instanceof Duplex?(this._writableState=new WritableState(options,this),this.writable=!0,options&&("function"==typeof options.write&&(this._write=options.write),"function"==typeof options.writev&&(this._writev=options.writev)),void Stream.call(this)):new Writable(options)}function writeAfterEnd(stream,cb){var er=new Error("write after end");stream.emit("error",er),processNextTick(cb,er)}function validChunk(stream,state,chunk,cb){var valid=!0,er=!1;return null===chunk?er=new TypeError("May not write null values to stream"):Buffer.isBuffer(chunk)||"string"==typeof chunk||void 0===chunk||state.objectMode||(er=new TypeError("Invalid non-string/buffer chunk")),er&&(stream.emit("error",er),processNextTick(cb,er),valid=!1),valid}function decodeChunk(state,chunk,encoding){return state.objectMode||state.decodeStrings===!1||"string"!=typeof chunk||(chunk=bufferShim.from(chunk,encoding)),chunk}function writeOrBuffer(stream,state,chunk,encoding,cb){chunk=decodeChunk(state,chunk,encoding),Buffer.isBuffer(chunk)&&(encoding="buffer");var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length<state.highWaterMark;if(ret||(state.needDrain=!0),state.writing||state.corked){var last=state.lastBufferedRequest;state.lastBufferedRequest=new WriteReq(chunk,encoding,cb),last?last.next=state.lastBufferedRequest:state.bufferedRequest=state.lastBufferedRequest,state.bufferedRequestCount+=1}else doWrite(stream,state,!1,len,chunk,encoding,cb);return ret}function doWrite(stream,state,writev,len,chunk,encoding,cb){state.writelen=len,state.writecb=cb,state.writing=!0,state.sync=!0,writev?stream._writev(chunk,state.onwrite):stream._write(chunk,encoding,state.onwrite),state.sync=!1}function onwriteError(stream,state,sync,er,cb){--state.pendingcb,sync?processNextTick(cb,er):cb(er),stream._writableState.errorEmitted=!0,stream.emit("error",er)}function onwriteStateUpdate(state){state.writing=!1,state.writecb=null,state.length-=state.writelen,state.writelen=0}function onwrite(stream,er){var state=stream._writableState,sync=state.sync,cb=state.writecb;if(onwriteStateUpdate(state),er)onwriteError(stream,state,sync,er,cb);else{var finished=needFinish(state);finished||state.corked||state.bufferProcessing||!state.bufferedRequest||clearBuffer(stream,state),sync?asyncWrite(afterWrite,stream,state,finished,cb):afterWrite(stream,state,finished,cb)}}function afterWrite(stream,state,finished,cb){finished||onwriteDrain(stream,state),state.pendingcb--,cb(),finishMaybe(stream,state)}function onwriteDrain(stream,state){0===state.length&&state.needDrain&&(state.needDrain=!1,stream.emit("drain"))}function clearBuffer(stream,state){state.bufferProcessing=!0;var entry=state.bufferedRequest;if(stream._writev&&entry&&entry.next){var l=state.bufferedRequestCount,buffer=new Array(l),holder=state.corkedRequestsFree;holder.entry=entry;for(var count=0;entry;)buffer[count]=entry,entry=entry.next,count+=1;doWrite(stream,state,!0,state.length,buffer,"",holder.finish),state.pendingcb++,state.lastBufferedRequest=null,holder.next?(state.corkedRequestsFree=holder.next,holder.next=null):state.corkedRequestsFree=new CorkedRequest(state)}else{for(;entry;){var chunk=entry.chunk,encoding=entry.encoding,cb=entry.callback,len=state.objectMode?1:chunk.length;if(doWrite(stream,state,!1,len,chunk,encoding,cb),entry=entry.next,state.writing)break}null===entry&&(state.lastBufferedRequest=null)}state.bufferedRequestCount=0,state.bufferedRequest=entry,state.bufferProcessing=!1}function needFinish(state){return state.ending&&0===state.length&&null===state.bufferedRequest&&!state.finished&&!state.writing}function prefinish(stream,state){state.prefinished||(state.prefinished=!0,stream.emit("prefinish"))}function finishMaybe(stream,state){var need=needFinish(state);return need&&(0===state.pendingcb?(prefinish(stream,state),state.finished=!0,stream.emit("finish")):prefinish(stream,state)),need}function endWritable(stream,state,cb){state.ending=!0,finishMaybe(stream,state),cb&&(state.finished?processNextTick(cb):stream.once("finish",cb)),state.ended=!0,stream.writable=!1}function CorkedRequest(state){var _this=this;this.next=null,this.entry=null,this.finish=function(err){var entry=_this.entry;for(_this.entry=null;entry;){var cb=entry.callback;state.pendingcb--,cb(err),entry=entry.next}state.corkedRequestsFree?state.corkedRequestsFree.next=_this:state.corkedRequestsFree=_this}}module.exports=Writable;var processNextTick=require("process-nextick-args"),asyncWrite=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:processNextTick;Writable.WritableState=WritableState;var util=require("core-util-is");util.inherits=require("inherits");var Stream,internalUtil={deprecate:require("util-deprecate")};!function(){try{Stream=require("stream")}catch(_){}finally{Stream||(Stream=require("events").EventEmitter)}}();var Buffer=require("buffer").Buffer,bufferShim=require("buffer-shims");util.inherits(Writable,Stream);var Duplex;WritableState.prototype.getBuffer=function(){for(var current=this.bufferedRequest,out=[];current;)out.push(current),current=current.next;return out},function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")})}catch(_){}}();var Duplex;Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},Writable.prototype.write=function(chunk,encoding,cb){var state=this._writableState,ret=!1;return"function"==typeof encoding&&(cb=encoding,encoding=null),Buffer.isBuffer(chunk)?encoding="buffer":encoding||(encoding=state.defaultEncoding),"function"!=typeof cb&&(cb=nop),state.ended?writeAfterEnd(this,cb):validChunk(this,state,chunk,cb)&&(state.pendingcb++,ret=writeOrBuffer(this,state,chunk,encoding,cb)),ret},Writable.prototype.cork=function(){var state=this._writableState;state.corked++},Writable.prototype.uncork=function(){var state=this._writableState;state.corked&&(state.corked--,state.writing||state.corked||state.finished||state.bufferProcessing||!state.bufferedRequest||clearBuffer(this,state))},Writable.prototype.setDefaultEncoding=function(encoding){if("string"==typeof encoding&&(encoding=encoding.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((encoding+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+encoding);return this._writableState.defaultEncoding=encoding,this},Writable.prototype._write=function(chunk,encoding,cb){cb(new Error("not implemented"))},Writable.prototype._writev=null,Writable.prototype.end=function(chunk,encoding,cb){var state=this._writableState;"function"==typeof chunk?(cb=chunk,chunk=null,encoding=null):"function"==typeof encoding&&(cb=encoding,encoding=null),null!==chunk&&void 0!==chunk&&this.write(chunk,encoding),state.corked&&(state.corked=1,this.uncork()),state.ending||state.finished||endWritable(this,state,cb)}}).call(this,require("_process"))},{"./_stream_duplex":156,_process:153,buffer:6,"buffer-shims":5,"core-util-is":22,events:27,inherits:45,"process-nextick-args":152,"util-deprecate":194}],161:[function(require,module,exports){"use strict";function BufferList(){this.head=null,this.tail=null,this.length=0}var bufferShim=(require("buffer").Buffer,require("buffer-shims"));module.exports=BufferList,BufferList.prototype.push=function(v){var entry={data:v,next:null};this.length>0?this.tail.next=entry:this.head=entry,this.tail=entry,++this.length},BufferList.prototype.unshift=function(v){var entry={data:v,next:this.head};0===this.length&&(this.tail=entry),this.head=entry,++this.length},BufferList.prototype.shift=function(){if(0!==this.length){var ret=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,ret}},BufferList.prototype.clear=function(){this.head=this.tail=null,this.length=0},BufferList.prototype.join=function(s){if(0===this.length)return"";for(var p=this.head,ret=""+p.data;p=p.next;)ret+=s+p.data;return ret},BufferList.prototype.concat=function(n){if(0===this.length)return bufferShim.alloc(0);if(1===this.length)return this.head.data;for(var ret=bufferShim.allocUnsafe(n>>>0),p=this.head,i=0;p;)p.data.copy(ret,i),i+=p.data.length,p=p.next;return ret}},{buffer:6,"buffer-shims":5}],162:[function(require,module,exports){module.exports=require("./lib/_stream_passthrough.js")},{"./lib/_stream_passthrough.js":157}],163:[function(require,module,exports){
-(function(process){var Stream=function(){try{return require("stream")}catch(_){}}();exports=module.exports=require("./lib/_stream_readable.js"),exports.Stream=Stream||exports,exports.Readable=exports,exports.Writable=require("./lib/_stream_writable.js"),exports.Duplex=require("./lib/_stream_duplex.js"),exports.Transform=require("./lib/_stream_transform.js"),exports.PassThrough=require("./lib/_stream_passthrough.js"),!process.browser&&"disable"===process.env.READABLE_STREAM&&Stream&&(module.exports=Stream)}).call(this,require("_process"))},{"./lib/_stream_duplex.js":156,"./lib/_stream_passthrough.js":157,"./lib/_stream_readable.js":158,"./lib/_stream_transform.js":159,"./lib/_stream_writable.js":160,_process:153}],164:[function(require,module,exports){module.exports=require("./lib/_stream_transform.js")},{"./lib/_stream_transform.js":159}],165:[function(require,module,exports){module.exports=require("./lib/_stream_writable.js")},{"./lib/_stream_writable.js":160}],166:[function(require,module,exports){(function(Buffer){function bytesToWords(bytes){for(var words=[],i=0,b=0;i<bytes.length;i++,b+=8)words[b>>>5]|=bytes[i]<<24-b%32;return words}function wordsToBytes(words){for(var bytes=[],b=0;b<32*words.length;b+=8)bytes.push(words[b>>>5]>>>24-b%32&255);return bytes}function processBlock(H,M,offset){for(var i=0;i<16;i++){var offset_i=offset+i,M_offset_i=M[offset_i];M[offset_i]=16711935&(M_offset_i<<8|M_offset_i>>>24)|4278255360&(M_offset_i<<24|M_offset_i>>>8)}var al,bl,cl,dl,el,ar,br,cr,dr,er;ar=al=H[0],br=bl=H[1],cr=cl=H[2],dr=dl=H[3],er=el=H[4];var t;for(i=0;i<80;i+=1)t=al+M[offset+zl[i]]|0,t+=i<16?f1(bl,cl,dl)+hl[0]:i<32?f2(bl,cl,dl)+hl[1]:i<48?f3(bl,cl,dl)+hl[2]:i<64?f4(bl,cl,dl)+hl[3]:f5(bl,cl,dl)+hl[4],t|=0,t=rotl(t,sl[i]),t=t+el|0,al=el,el=dl,dl=rotl(cl,10),cl=bl,bl=t,t=ar+M[offset+zr[i]]|0,t+=i<16?f5(br,cr,dr)+hr[0]:i<32?f4(br,cr,dr)+hr[1]:i<48?f3(br,cr,dr)+hr[2]:i<64?f2(br,cr,dr)+hr[3]:f1(br,cr,dr)+hr[4],t|=0,t=rotl(t,sr[i]),t=t+er|0,ar=er,er=dr,dr=rotl(cr,10),cr=br,br=t;t=H[1]+cl+dr|0,H[1]=H[2]+dl+er|0,H[2]=H[3]+el+ar|0,H[3]=H[4]+al+br|0,H[4]=H[0]+bl+cr|0,H[0]=t}function f1(x,y,z){return x^y^z}function f2(x,y,z){return x&y|~x&z}function f3(x,y,z){return(x|~y)^z}function f4(x,y,z){return x&z|y&~z}function f5(x,y,z){return x^(y|~z)}function rotl(x,n){return x<<n|x>>>32-n}function ripemd160(message){var H=[1732584193,4023233417,2562383102,271733878,3285377520];"string"==typeof message&&(message=new Buffer(message,"utf8"));var m=bytesToWords(message),nBitsLeft=8*message.length,nBitsTotal=8*message.length;m[nBitsLeft>>>5]|=128<<24-nBitsLeft%32,m[(nBitsLeft+64>>>9<<4)+14]=16711935&(nBitsTotal<<8|nBitsTotal>>>24)|4278255360&(nBitsTotal<<24|nBitsTotal>>>8);for(var i=0;i<m.length;i+=16)processBlock(H,m,i);for(i=0;i<5;i++){var H_i=H[i];H[i]=16711935&(H_i<<8|H_i>>>24)|4278255360&(H_i<<24|H_i>>>8)}var digestbytes=wordsToBytes(H);return new Buffer(digestbytes)}/** @preserve
+module.exports=function(obj){return null!=obj&&(isBuffer(obj)||isSlowBuffer(obj)||!!obj._isBuffer)}},{}],48:[function(require,module,exports){var toString={}.toString;module.exports=Array.isArray||function(arr){return"[object Array]"==toString.call(arr)}},{}],49:[function(require,module,exports){function FileTransferSession(opts){BaseSession.call(this,opts),this.pc=new RTCPeerConnection({iceServers:opts.iceServers||[],useJingle:!0},opts.constraints||{}),this.pc.on("ice",this.onIceCandidate.bind(this)),this.pc.on("iceConnectionStateChange",this.onIceStateChange.bind(this)),this.pc.on("addChannel",this.onChannelAdded.bind(this)),this.sender=null,this.receiver=null}var util=require("util"),extend=require("extend-object"),BaseSession=require("jingle-session"),RTCPeerConnection=require("rtcpeerconnection"),FileTransfer=require("filetransfer/hashed");util.inherits(FileTransferSession,BaseSession),FileTransferSession.prototype=extend(FileTransferSession.prototype,{start:function(file){var self=this;this.state="pending",this.pc.isInitiator=!0,this.sender=new FileTransfer.Sender,this.sender.on("progress",function(sent,size){self._log("info","Send progress "+sent+"/"+size)}),this.sender.on("sentFile",function(meta){self._log("info","Sent file",meta.name);var content=self.pc.localDescription.contents[0];delete content.transport,content.application={applicationType:"filetransfer",offer:{hash:{algo:meta.algo,value:meta.hash}}},self.send("description-info",{contents:[content]}),self.emit("sentFile",self,meta)});var sendChannel=this.pc.createDataChannel("filetransfer");sendChannel.onopen=function(){self.sender.send(file,sendChannel)};var constraints={mandatory:{OfferToReceiveAudio:!1,OfferToReceiveVideo:!1}};this.pc.offer(constraints,function(err,offer){return err?(self._log("error","Could not create WebRTC offer",err),self.end("failed-application",!0)):(offer.jingle.contents[0].application={applicationType:"filetransfer",offer:{date:file.lastModifiedDate,name:file.name,size:file.size,hash:{algo:"sha-1",value:""}}},void self.send("session-initiate",offer.jingle))})},accept:function(){var self=this;this._log("info","Accepted incoming session"),this.state="active",this.pc.answer(function(err,answer){return err?(self._log("error","Could not create WebRTC answer",err),self.end("failed-application")):void self.send("session-accept",answer.jingle)})},end:function(reason,silent){this.pc.close(),BaseSession.prototype.end.call(this,reason,silent)},maybeReceivedFile:function(){this.receiver.metadata.hash.value&&(this.receiver.metadata.hash.value===this.receiver.metadata.actualhash?(this._log("info","File hash matches"),this.emit("receivedFile",this,this.receivedFile,this.receiver.metadata),this.end("success")):(this._log("error","File hash does not match"),this.end("media-error")))},onIceCandidate:function(candidate){this._log("info","Discovered new ICE candidate",candidate.jingle),this.send("transport-info",candidate.jingle)},onIceStateChange:function(){switch(this.pc.iceConnectionState){case"checking":this.connectionState="connecting";break;case"completed":case"connected":this.connectionState="connected";break;case"disconnected":"stable"===this.pc.signalingState?this.connectionState="interrupted":this.connectionState="disconnected";break;case"failed":this.connectionState="failed",this.end("failed-transport");break;case"closed":this.connectionState="disconnected"}},onChannelAdded:function(channel){this.receiver.receive(null,channel)},onSessionInitiate:function(changes,cb){var self=this;this._log("info","Initiating incoming session"),this.state="pending",this.pc.isInitiator=!1;var desc=changes.contents[0].application;this.receiver=new FileTransfer.Receiver({hash:desc.offer.hash.algo}),this.receiver.on("progress",function(received,size){self._log("info","Receive progress "+received+"/"+size)}),this.receiver.on("receivedFile",function(file){self.receivedFile=file,self.maybeReceivedFile()}),this.receiver.metadata=desc.offer,changes.contents[0].application={applicationType:"datachannel"},this.pc.handleOffer({type:"offer",jingle:changes},function(err){return err?(self._log("error","Could not create WebRTC answer"),cb({condition:"general-error"})):void cb()})},onSessionAccept:function(changes,cb){var self=this;this.state="active",changes.contents[0].application={applicationType:"datachannel"},this.pc.handleAnswer({type:"answer",jingle:changes},function(err){return err?(self._log("error","Could not process WebRTC answer"),cb({condition:"general-error"})):(self.emit("accepted",self),void cb())})},onSessionTerminate:function(changes,cb){this._log("info","Terminating session"),this.pc.close(),BaseSession.prototype.end.call(this,changes.reason,!0),cb()},onDescriptionInfo:function(info,cb){var hash=info.contents[0].application.offer.hash;this.receiver.metadata.hash=hash,this.receiver.metadata.actualhash&&this.maybeReceivedFile(),cb()},onTransportInfo:function(changes,cb){this.pc.processIce(changes,function(){cb()})}}),module.exports=FileTransferSession},{"extend-object":28,"filetransfer/hashed":30,"jingle-session":51,rtcpeerconnection:177,util:207}],50:[function(require,module,exports){function filterContentSources(content,stream){"rtp"===content.application.applicationType&&(delete content.transport,delete content.application.payloads,delete content.application.headerExtensions,content.application.mux=!1,content.application.sources&&(content.application.sources=content.application.sources.filter(function(source){return stream.id===source.parameters[1].value.split(" ")[0]})),content.application.sourceGroups&&(content.application.sourceGroups=content.application.sourceGroups.filter(function(group){for(var found=!1,i=0;i<content.application.sources.length;i++)if(content.application.sources[i].ssrc===group.sources[0]){found=!0;break}return found})))}function filterUnusedLabels(content){var sources=content.application.sources||[];sources.forEach(function(source){source.parameters=source.parameters.filter(function(parameter){return!("mslabel"===parameter.key||"label"===parameter.key)})})}function MediaSession(opts){BaseSession.call(this,opts),this.pc=new RTCPeerConnection({iceServers:opts.iceServers||[],useJingle:!0},opts.constraints||{}),this.pc.on("ice",this.onIceCandidate.bind(this,opts)),this.pc.on("endOfCandidates",this.onIceEndOfCandidates.bind(this,opts)),this.pc.on("iceConnectionStateChange",this.onIceStateChange.bind(this)),this.pc.on("addStream",this.onAddStream.bind(this)),this.pc.on("removeStream",this.onRemoveStream.bind(this)),this.pc.on("addChannel",this.onAddChannel.bind(this)),opts.stream&&this.addStream(opts.stream),this._ringing=!1}var util=require("util"),extend=require("extend-object"),BaseSession=require("jingle-session"),RTCPeerConnection=require("rtcpeerconnection");util.inherits(MediaSession,BaseSession),Object.defineProperties(MediaSession.prototype,{ringing:{get:function(){return this._ringing},set:function(value){value!==this._ringing&&(this._ringing=value,this.emit("change:ringing",value))}},streams:{get:function(){return"closed"!==this.pc.signalingState?this.pc.getRemoteStreams():[]}}}),MediaSession.prototype=extend(MediaSession.prototype,{start:function(offerOptions,next){var self=this;this.state="pending",next=next||function(){},this.pc.isInitiator=!0,this.pc.offer(offerOptions,function(err,offer){return err?(self._log("error","Could not create WebRTC offer",err),self.end("failed-application",!0)):(offerOptions&&offerOptions.mandatory&&offer.jingle.contents.forEach(function(content){var mediaType=content.application.media;content.description&&"rtp"===content.application.applicationType&&(offerOptions.mandatory.OfferToReceiveAudio||"audio"!==mediaType||(content.senders="initiator"),offerOptions.mandatory.OfferToReceiveVideo||"video"!==mediaType||(content.senders="initiator"))}),offer.jingle.contents.forEach(filterUnusedLabels),self.send("session-initiate",offer.jingle),void next())})},accept:function(opts,next){var self=this;1===arguments.length&&"function"==typeof opts&&(next=opts,opts={}),next=next||function(){},opts=opts||{};var constraints=opts.constraints||{mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:!0}};this._log("info","Accepted incoming session"),this.state="active",this.pc.answer(constraints,function(err,answer){return err?(self._log("error","Could not create WebRTC answer",err),self.end("failed-application")):(answer.jingle.contents.forEach(filterUnusedLabels),self.send("session-accept",answer.jingle),void next())})},end:function(reason,silent){var self=this;this.streams.forEach(function(stream){self.onRemoveStream({stream:stream})}),this.pc.close(),BaseSession.prototype.end.call(this,reason,silent)},ring:function(){this._log("info","Ringing on incoming session"),this.ringing=!0,this.send("session-info",{ringing:!0})},mute:function(creator,name){this._log("info","Muting",name),this.send("session-info",{mute:{creator:creator,name:name}})},unmute:function(creator,name){this._log("info","Unmuting",name),this.send("session-info",{unmute:{creator:creator,name:name}})},hold:function(){this._log("info","Placing on hold"),this.send("session-info",{hold:!0})},resume:function(){this._log("info","Resuming from hold"),this.send("session-info",{active:!0})},addStream:function(stream,renegotiate,cb){var self=this;cb=cb||function(){},this.pc.addStream(stream),renegotiate&&this.pc.handleOffer({type:"offer",jingle:this.pc.remoteDescription},function(err){return err?(self._log("error","Could not create offer for adding new stream"),cb(err)):void self.pc.answer(function(err,answer){return err?(self._log("error","Could not create answer for adding new stream"),cb(err)):(answer.jingle.contents.forEach(function(content){filterContentSources(content,stream)}),answer.jingle.contents=answer.jingle.contents.filter(function(content){return"rtp"===content.application.applicationType&&content.application.sources&&content.application.sources.length}),delete answer.jingle.groups,self.send("source-add",answer.jingle),void cb())})})},addStream2:function(stream,cb){this.addStream(stream,!0,cb)},removeStream:function(stream,renegotiate,cb){var self=this;if(cb=cb||function(){},!renegotiate)return void this.pc.removeStream(stream);var desc=this.pc.localDescription;desc.contents.forEach(function(content){filterContentSources(content,stream)}),desc.contents=desc.contents.filter(function(content){return"rtp"===content.application.applicationType&&content.application.sources&&content.application.sources.length}),delete desc.groups,this.send("source-remove",desc),this.pc.removeStream(stream),this.pc.handleOffer({type:"offer",jingle:this.pc.remoteDescription},function(err){return err?(self._log("error","Could not process offer for removing stream"),cb(err)):void self.pc.answer(function(err){return err?(self._log("error","Could not process answer for removing stream"),cb(err)):void cb()})})},removeStream2:function(stream,cb){this.removeStream(stream,!0,cb)},switchStream:function(oldStream,newStream,cb){var self=this;cb=cb||function(){};var desc=this.pc.localDescription;desc.contents.forEach(function(content){delete content.transport,delete content.application.payloads}),this.pc.removeStream(oldStream),this.send("source-remove",desc),this.pc.addStream(newStream),this.pc.handleOffer({type:"offer",jingle:this.pc.remoteDescription},function(err){return err?(self._log("error","Could not process offer for switching streams"),cb(err)):void self.pc.answer(function(err,answer){return err?(self._log("error","Could not process answer for switching streams"),cb(err)):(answer.jingle.contents.forEach(function(content){delete content.transport,delete content.application.payloads}),self.send("source-add",answer.jingle),void cb())})})},onIceCandidate:function(opts,candidate){this._log("info","Discovered new ICE candidate",candidate.jingle),this.send("transport-info",candidate.jingle),opts.signalEndOfCandidates&&(this.lastCandidate=candidate)},onIceEndOfCandidates:function(opts){if(this._log("info","ICE end of candidates"),opts.signalEndOfCandidates){var endOfCandidates=this.lastCandidate.jingle;endOfCandidates.contents[0].transport={transportType:endOfCandidates.contents[0].transport.transportType,gatheringComplete:!0},this.lastCandidate=null,this.send("transport-info",endOfCandidates)}},onIceStateChange:function(){switch(this.pc.iceConnectionState){case"checking":this.connectionState="connecting";break;case"completed":case"connected":this.connectionState="connected";break;case"disconnected":"stable"===this.pc.signalingState?this.connectionState="interrupted":this.connectionState="disconnected";break;case"failed":this.connectionState="failed",this.end("failed-transport");break;case"closed":this.connectionState="disconnected"}},onAddStream:function(event){this._log("info","Stream added"),this.emit("peerStreamAdded",this,event.stream)},onRemoveStream:function(event){this._log("info","Stream removed"),this.emit("peerStreamRemoved",this,event.stream)},onSessionInitiate:function(changes,cb){var self=this;this._log("info","Initiating incoming session"),this.state="pending",this.pc.isInitiator=!1,this.pc.handleOffer({type:"offer",jingle:changes},function(err){return err?(self._log("error","Could not create WebRTC answer"),cb({condition:"general-error"})):void cb()})},onSessionAccept:function(changes,cb){var self=this;this.state="active",this.pc.handleAnswer({type:"answer",jingle:changes},function(err){return err?(self._log("error","Could not process WebRTC answer"),cb({condition:"general-error"})):(self.emit("accepted",self),void cb())})},onSessionTerminate:function(changes,cb){var self=this;this._log("info","Terminating session"),this.streams.forEach(function(stream){self.onRemoveStream({stream:stream})}),this.pc.close(),BaseSession.prototype.end.call(this,changes.reason,!0),cb()},onSessionInfo:function(info,cb){return info.ringing?(this._log("info","Outgoing session is ringing"),this.ringing=!0,this.emit("ringing",this),cb()):info.hold?(this._log("info","On hold"),this.emit("hold",this),cb()):info.active?(this._log("info","Resuming from hold"),this.emit("resumed",this),cb()):info.mute?(this._log("info","Muting",info.mute),this.emit("mute",this,info.mute),cb()):info.unmute?(this._log("info","Unmuting",info.unmute),this.emit("unmute",this,info.unmute),cb()):void cb()},onTransportInfo:function(changes,cb){this.pc.processIce(changes,function(){cb()})},onSourceAdd:function(changes,cb){var self=this;this._log("info","Adding new stream source");var newDesc=this.pc.remoteDescription;this.pc.remoteDescription.contents.forEach(function(content,idx){var desc=content.application,ssrcs=desc.sources||[],groups=desc.sourceGroups||[];changes.contents.forEach(function(newContent){if(content.name===newContent.name){var newContentDesc=newContent.application,newSSRCs=newContentDesc.sources||[];ssrcs=ssrcs.concat(newSSRCs),newDesc.contents[idx].application.sources=JSON.parse(JSON.stringify(ssrcs));var newGroups=newContentDesc.sourceGroups||[];groups=groups.concat(newGroups),newDesc.contents[idx].application.sourceGroups=JSON.parse(JSON.stringify(groups))}})}),this.pc.handleOffer({type:"offer",jingle:newDesc},function(err){return err?(self._log("error","Error adding new stream source"),cb({condition:"general-error"})):void self.pc.answer(function(err){return err?(self._log("error","Error adding new stream source"),cb({condition:"general-error"})):void cb()})})},onSourceRemove:function(changes,cb){var self=this;this._log("info","Removing stream source");var newDesc=this.pc.remoteDescription;this.pc.remoteDescription.contents.forEach(function(content,idx){var desc=content.application,ssrcs=desc.sources||[],groups=desc.sourceGroups||[];changes.contents.forEach(function(newContent){if(content.name===newContent.name){var found,i,j,k,newContentDesc=newContent.application,newSSRCs=newContentDesc.sources||[],newGroups=newContentDesc.sourceGroups||[];for(i=0;i<newSSRCs.length;i++){for(found=-1,j=0;j<ssrcs.length;j++)if(newSSRCs[i].ssrc===ssrcs[j].ssrc){found=j;break}found>-1&&(ssrcs.splice(found,1),newDesc.contents[idx].application.sources=JSON.parse(JSON.stringify(ssrcs)))}for(i=0;i<newGroups.length;i++){for(found=-1,j=0;j<groups.length;j++)if(newGroups[i].semantics===groups[j].semantics&&newGroups[i].sources.length===groups[j].sources.length){var same=!0;for(k=0;k<newGroups[i].sources.length;k++)if(newGroups[i].sources[k]!==groups[j].sources[k]){same=!1;break}if(same){found=j;break}}found>-1&&(groups.splice(found,1),newDesc.contents[idx].application.sourceGroups=JSON.parse(JSON.stringify(groups)))}}})}),this.pc.handleOffer({type:"offer",jingle:newDesc},function(err){return err?(self._log("error","Error removing stream source"),cb({condition:"general-error"})):void self.pc.answer(function(err){return err?(self._log("error","Error removing stream source"),cb({condition:"general-error"})):void cb()})})},onAddChannel:function(channel){this.emit("addChannel",channel)}}),module.exports=MediaSession},{"extend-object":28,"jingle-session":51,rtcpeerconnection:177,util:207}],51:[function(require,module,exports){function JingleSession(opts){WildEmitter.call(this);var self=this;this.sid=opts.sid||uuid.v4(),this.peer=opts.peer,this.peerID=opts.peerID||this.peer.full||this.peer,this.isInitiator=opts.initiator||!1,this.parent=opts.parent,this.state="starting",this.connectionState="starting",this.pendingApplicationTypes=opts.applicationTypes||[],this.pendingAction=!1,this.processingQueue=async.queue(function(task,next){if(self.ended)return next();var action=task.action,changes=task.changes,cb=task.cb;return self._log("debug",action),ACTIONS[action]?void self[ACTIONS[action]](changes,function(err,result){return cb(err,result),next()}):(self._log("error","Invalid action: "+action),cb({condition:"bad-request"}),next())})}var util=require("util"),uuid=require("uuid"),async=require("async"),extend=require("extend-object"),WildEmitter=require("wildemitter"),ACTIONS={"content-accept":"onContentAccept","content-add":"onContentAdd","content-modify":"onConentModify","content-reject":"onContentReject","content-remove":"onContentRemove","description-info":"onDescriptionInfo","security-info":"onSecurityInfo","session-accept":"onSessionAccept","session-info":"onSessionInfo","session-initiate":"onSessionInitiate","session-terminate":"onSessionTerminate","transport-accept":"onTransportAccept","transport-info":"onTransportInfo","transport-reject":"onTransportReject","transport-replace":"onTransportReplace","source-add":"onSourceAdd","source-remove":"onSourceRemove"};util.inherits(JingleSession,WildEmitter),Object.keys(ACTIONS).forEach(function(action){var method=ACTIONS[action];JingleSession.prototype[method]=function(changes,cb){this._log("error","Unsupported action: "+action),cb()}}),Object.defineProperties(JingleSession.prototype,{state:{get:function(){return this._sessionState},set:function(value){if(value!==this._sessionState){var prev=this._sessionState;this._log("info","Changing session state to: "+value),this._sessionState=value,this.emit("change:sessionState",this,value),this.emit("change:"+value,this,!0),prev&&this.emit("change:"+prev,this,!1)}}},connectionState:{get:function(){return this._connectionState},set:function(value){if(value!==this._connectionState){var prev=this._connectionState;this._log("info","Changing connection state to: "+value),this._connectionState=value,this.emit("change:connectionState",this,value),this.emit("change:"+value,this,!0),prev&&this.emit("change:"+prev,this,!1)}}},starting:{get:function(){return"starting"===this._sessionState}},pending:{get:function(){return"pending"===this._sessionState}},active:{get:function(){return"active"===this._sessionState}},ended:{get:function(){return"ended"===this._sessionState}},connected:{get:function(){return"connected"===this._connectionState}},connecting:{get:function(){return"connecting"===this._connectionState}},disconnected:{get:function(){return"disconnected"===this._connectionState}},interrupted:{get:function(){return"interrupted"===this._connectionState}}}),JingleSession.prototype=extend(JingleSession.prototype,{_log:function(level,message){message=this.sid+": "+message,this.emit("log:"+level,message)},send:function(action,data){data=data||{},data.sid=this.sid,data.action=action;var requirePending={"session-inititate":!0,"session-accept":!0,"content-add":!0,"content-remove":!0,"content-reject":!0,"content-accept":!0,"content-modify":!0,"transport-replace":!0,"transport-reject":!0,"transport-accept":!0,"source-add":!0,"source-remove":!0};requirePending[action]?this.pendingAction=action:this.pendingAction=!1,this.emit("send",{to:this.peer,type:"set",jingle:data})},process:function(action,changes,cb){this.processingQueue.push({action:action,changes:changes,cb:cb})},start:function(){this._log("error","Can not start base sessions"),this.end("unsupported-applications",!0)},accept:function(){this._log("error","Can not accept base sessions"),this.end("unsupported-applications")},cancel:function(){this.end("cancel")},decline:function(){this.end("decline")},end:function(reason,silent){this.state="ended",this.processingQueue.kill(),reason||(reason="success"),"string"==typeof reason&&(reason={condition:reason}),silent||this.send("session-terminate",{reason:reason}),this.emit("terminated",this,reason)},onSessionTerminate:function(changes,cb){this.end(changes.reason,!0),cb()},onSessionInfo:function(changes,cb){var okKeys={sid:!0,action:!0,initiator:!0,responder:!0},unknownPayload=!1;Object.keys(changes).forEach(function(key){okKeys[key]||(unknownPayload=!0)}),unknownPayload?cb({type:"modify",condition:"feature-not-implemented",jingleCondition:"unsupported-info"}):cb()},onDescriptionInfo:function(changes,cb){cb({type:"modify",condition:"feature-not-implemented",jingleCondition:"unsupported-info"})},onTransportInfo:function(changes,cb){cb({type:"modify",condition:"feature-not-implemented",jingleCondition:"unsupported-info"})},onContentAdd:function(changes,cb){cb(),this.send("content-reject",{reason:{condition:"failed-application",text:"content-add is not supported"}})},onTransportReplace:function(changes,cb){cb(),this.send("transport-reject",{reason:{condition:"failed-application",text:"transport-replace is not supported"}})}}),module.exports=JingleSession},{async:52,"extend-object":28,util:207,uuid:209,wildemitter:220}],52:[function(require,module,exports){(function(process,global){!function(){function noop(){}function identity(v){return v}function toBool(v){return!!v}function notId(v){return!v}function only_once(fn){return function(){if(null===fn)throw new Error("Callback was already called.");fn.apply(this,arguments),fn=null}}function _once(fn){return function(){null!==fn&&(fn.apply(this,arguments),fn=null)}}function _isArrayLike(arr){return _isArray(arr)||"number"==typeof arr.length&&arr.length>=0&&arr.length%1===0}function _arrayEach(arr,iterator){for(var index=-1,length=arr.length;++index<length;)iterator(arr[index],index,arr)}function _map(arr,iterator){for(var index=-1,length=arr.length,result=Array(length);++index<length;)result[index]=iterator(arr[index],index,arr);return result}function _range(count){return _map(Array(count),function(v,i){return i})}function _reduce(arr,iterator,memo){return _arrayEach(arr,function(x,i,a){memo=iterator(memo,x,i,a)}),memo}function _forEachOf(object,iterator){_arrayEach(_keys(object),function(key){iterator(object[key],key)})}function _indexOf(arr,item){for(var i=0;i<arr.length;i++)if(arr[i]===item)return i;return-1}function _keyIterator(coll){var len,keys,i=-1;return _isArrayLike(coll)?(len=coll.length,function(){return i++,i<len?i:null}):(keys=_keys(coll),len=keys.length,function(){return i++,i<len?keys[i]:null})}function _restParam(func,startIndex){return startIndex=null==startIndex?func.length-1:+startIndex,function(){for(var length=Math.max(arguments.length-startIndex,0),rest=Array(length),index=0;index<length;index++)rest[index]=arguments[index+startIndex];switch(startIndex){case 0:return func.call(this,rest);case 1:return func.call(this,arguments[0],rest)}}}function _withoutIndex(iterator){return function(value,index,callback){return iterator(value,callback)}}function _eachOfLimit(limit){return function(obj,iterator,callback){callback=_once(callback||noop),obj=obj||[];var nextKey=_keyIterator(obj);if(limit<=0)return callback(null);var done=!1,running=0,errored=!1;!function replenish(){if(done&&running<=0)return callback(null);for(;running<limit&&!errored;){var key=nextKey();if(null===key)return done=!0,void(running<=0&&callback(null));running+=1,iterator(obj[key],key,only_once(function(err){running-=1,err?(callback(err),errored=!0):replenish()}))}}()}}function doParallel(fn){return function(obj,iterator,callback){return fn(async.eachOf,obj,iterator,callback)}}function doParallelLimit(fn){return function(obj,limit,iterator,callback){return fn(_eachOfLimit(limit),obj,iterator,callback)}}function doSeries(fn){return function(obj,iterator,callback){return fn(async.eachOfSeries,obj,iterator,callback)}}function _asyncMap(eachfn,arr,iterator,callback){callback=_once(callback||noop),arr=arr||[];var results=_isArrayLike(arr)?[]:{};eachfn(arr,function(value,index,callback){iterator(value,function(err,v){results[index]=v,callback(err)})},function(err){callback(err,results)})}function _filter(eachfn,arr,iterator,callback){var results=[];eachfn(arr,function(x,index,callback){iterator(x,function(v){v&&results.push({index:index,value:x}),callback()})},function(){callback(_map(results.sort(function(a,b){return a.index-b.index}),function(x){return x.value}))})}function _reject(eachfn,arr,iterator,callback){_filter(eachfn,arr,function(value,cb){iterator(value,function(v){cb(!v)})},callback)}function _createTester(eachfn,check,getResult){return function(arr,limit,iterator,cb){function done(){cb&&cb(getResult(!1,void 0))}function iteratee(x,_,callback){return cb?void iterator(x,function(v){cb&&check(v)&&(cb(getResult(!0,x)),cb=iterator=!1),callback()}):callback()}arguments.length>3?eachfn(arr,limit,iteratee,done):(cb=iterator,iterator=limit,eachfn(arr,iteratee,done))}}function _findGetResult(v,x){return x}function _parallel(eachfn,tasks,callback){callback=callback||noop;var results=_isArrayLike(tasks)?[]:{};eachfn(tasks,function(task,key,callback){task(_restParam(function(err,args){args.length<=1&&(args=args[0]),results[key]=args,callback(err)}))},function(err){callback(err,results)})}function _concat(eachfn,arr,fn,callback){var result=[];eachfn(arr,function(x,index,cb){fn(x,function(err,y){result=result.concat(y||[]),cb(err)})},function(err){callback(err,result)})}function _queue(worker,concurrency,payload){function _insert(q,data,pos,callback){if(null!=callback&&"function"!=typeof callback)throw new Error("task callback must be a function");return q.started=!0,_isArray(data)||(data=[data]),0===data.length&&q.idle()?async.setImmediate(function(){q.drain()}):(_arrayEach(data,function(task){var item={data:task,callback:callback||noop};pos?q.tasks.unshift(item):q.tasks.push(item),q.tasks.length===q.concurrency&&q.saturated()}),void async.setImmediate(q.process))}function _next(q,tasks){return function(){workers-=1;var removed=!1,args=arguments;_arrayEach(tasks,function(task){_arrayEach(workersList,function(worker,index){worker!==task||removed||(workersList.splice(index,1),removed=!0)}),task.callback.apply(task,args)}),q.tasks.length+workers===0&&q.drain(),q.process()}}if(null==concurrency)concurrency=1;else if(0===concurrency)throw new Error("Concurrency must not be zero");var workers=0,workersList=[],q={tasks:[],concurrency:concurrency,payload:payload,saturated:noop,empty:noop,drain:noop,started:!1,paused:!1,push:function(data,callback){_insert(q,data,!1,callback)},kill:function(){q.drain=noop,q.tasks=[]},unshift:function(data,callback){_insert(q,data,!0,callback)},process:function(){for(;!q.paused&&workers<q.concurrency&&q.tasks.length;){var tasks=q.payload?q.tasks.splice(0,q.payload):q.tasks.splice(0,q.tasks.length),data=_map(tasks,function(task){return task.data});0===q.tasks.length&&q.empty(),workers+=1,workersList.push(tasks[0]);var cb=only_once(_next(q,tasks));worker(data,cb)}},length:function(){return q.tasks.length},running:function(){return workers},workersList:function(){return workersList},idle:function(){return q.tasks.length+workers===0},pause:function(){q.paused=!0},resume:function(){if(q.paused!==!1){q.paused=!1;for(var resumeCount=Math.min(q.concurrency,q.tasks.length),w=1;w<=resumeCount;w++)async.setImmediate(q.process)}}};return q}function _console_fn(name){return _restParam(function(fn,args){fn.apply(null,args.concat([_restParam(function(err,args){"object"==typeof console&&(err?console.error&&console.error(err):console[name]&&_arrayEach(args,function(x){console[name](x)}))})]))})}function _times(mapper){return function(count,iterator,callback){mapper(_range(count),iterator,callback)}}function _applyEach(eachfn){return _restParam(function(fns,args){var go=_restParam(function(args){var that=this,callback=args.pop();return eachfn(fns,function(fn,_,cb){fn.apply(that,args.concat([cb]))},callback)});return args.length?go.apply(this,args):go})}function ensureAsync(fn){return _restParam(function(args){var callback=args.pop();args.push(function(){var innerArgs=arguments;sync?async.setImmediate(function(){callback.apply(null,innerArgs)}):callback.apply(null,innerArgs)});var sync=!0;fn.apply(this,args),sync=!1})}var previous_async,async={},root="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this;null!=root&&(previous_async=root.async),async.noConflict=function(){return root.async=previous_async,async};var _toString=Object.prototype.toString,_isArray=Array.isArray||function(obj){return"[object Array]"===_toString.call(obj)},_isObject=function(obj){var type=typeof obj;return"function"===type||"object"===type&&!!obj},_keys=Object.keys||function(obj){var keys=[];for(var k in obj)obj.hasOwnProperty(k)&&keys.push(k);return keys},_setImmediate="function"==typeof setImmediate&&setImmediate,_delay=_setImmediate?function(fn){_setImmediate(fn)}:function(fn){setTimeout(fn,0)};"object"==typeof process&&"function"==typeof process.nextTick?async.nextTick=process.nextTick:async.nextTick=_delay,async.setImmediate=_setImmediate?_delay:async.nextTick,async.forEach=async.each=function(arr,iterator,callback){return async.eachOf(arr,_withoutIndex(iterator),callback)},async.forEachSeries=async.eachSeries=function(arr,iterator,callback){return async.eachOfSeries(arr,_withoutIndex(iterator),callback)},async.forEachLimit=async.eachLimit=function(arr,limit,iterator,callback){return _eachOfLimit(limit)(arr,_withoutIndex(iterator),callback)},async.forEachOf=async.eachOf=function(object,iterator,callback){function done(err){completed--,err?callback(err):null===key&&completed<=0&&callback(null)}callback=_once(callback||noop),object=object||[];for(var key,iter=_keyIterator(object),completed=0;null!=(key=iter());)completed+=1,iterator(object[key],key,only_once(done));0===completed&&callback(null)},async.forEachOfSeries=async.eachOfSeries=function(obj,iterator,callback){function iterate(){var sync=!0;return null===key?callback(null):(iterator(obj[key],key,only_once(function(err){if(err)callback(err);else{if(key=nextKey(),null===key)return callback(null);sync?async.setImmediate(iterate):iterate()}})),void(sync=!1))}callback=_once(callback||noop),obj=obj||[];var nextKey=_keyIterator(obj),key=nextKey();iterate()},async.forEachOfLimit=async.eachOfLimit=function(obj,limit,iterator,callback){_eachOfLimit(limit)(obj,iterator,callback)},async.map=doParallel(_asyncMap),async.mapSeries=doSeries(_asyncMap),async.mapLimit=doParallelLimit(_asyncMap),async.inject=async.foldl=async.reduce=function(arr,memo,iterator,callback){async.eachOfSeries(arr,function(x,i,callback){iterator(memo,x,function(err,v){memo=v,callback(err)})},function(err){callback(err,memo)})},async.foldr=async.reduceRight=function(arr,memo,iterator,callback){var reversed=_map(arr,identity).reverse();async.reduce(reversed,memo,iterator,callback);
+},async.transform=function(arr,memo,iterator,callback){3===arguments.length&&(callback=iterator,iterator=memo,memo=_isArray(arr)?[]:{}),async.eachOf(arr,function(v,k,cb){iterator(memo,v,k,cb)},function(err){callback(err,memo)})},async.select=async.filter=doParallel(_filter),async.selectLimit=async.filterLimit=doParallelLimit(_filter),async.selectSeries=async.filterSeries=doSeries(_filter),async.reject=doParallel(_reject),async.rejectLimit=doParallelLimit(_reject),async.rejectSeries=doSeries(_reject),async.any=async.some=_createTester(async.eachOf,toBool,identity),async.someLimit=_createTester(async.eachOfLimit,toBool,identity),async.all=async.every=_createTester(async.eachOf,notId,notId),async.everyLimit=_createTester(async.eachOfLimit,notId,notId),async.detect=_createTester(async.eachOf,identity,_findGetResult),async.detectSeries=_createTester(async.eachOfSeries,identity,_findGetResult),async.detectLimit=_createTester(async.eachOfLimit,identity,_findGetResult),async.sortBy=function(arr,iterator,callback){function comparator(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0}async.map(arr,function(x,callback){iterator(x,function(err,criteria){err?callback(err):callback(null,{value:x,criteria:criteria})})},function(err,results){return err?callback(err):void callback(null,_map(results.sort(comparator),function(x){return x.value}))})},async.auto=function(tasks,concurrency,callback){function addListener(fn){listeners.unshift(fn)}function removeListener(fn){var idx=_indexOf(listeners,fn);idx>=0&&listeners.splice(idx,1)}function taskComplete(){remainingTasks--,_arrayEach(listeners.slice(0),function(fn){fn()})}"function"==typeof arguments[1]&&(callback=concurrency,concurrency=null),callback=_once(callback||noop);var keys=_keys(tasks),remainingTasks=keys.length;if(!remainingTasks)return callback(null);concurrency||(concurrency=remainingTasks);var results={},runningTasks=0,hasError=!1,listeners=[];addListener(function(){remainingTasks||callback(null,results)}),_arrayEach(keys,function(k){function ready(){return runningTasks<concurrency&&_reduce(requires,function(a,x){return a&&results.hasOwnProperty(x)},!0)&&!results.hasOwnProperty(k)}function listener(){ready()&&(runningTasks++,removeListener(listener),task[task.length-1](taskCallback,results))}if(!hasError){for(var dep,task=_isArray(tasks[k])?tasks[k]:[tasks[k]],taskCallback=_restParam(function(err,args){if(runningTasks--,args.length<=1&&(args=args[0]),err){var safeResults={};_forEachOf(results,function(val,rkey){safeResults[rkey]=val}),safeResults[k]=args,hasError=!0,callback(err,safeResults)}else results[k]=args,async.setImmediate(taskComplete)}),requires=task.slice(0,task.length-1),len=requires.length;len--;){if(!(dep=tasks[requires[len]]))throw new Error("Has nonexistent dependency in "+requires.join(", "));if(_isArray(dep)&&_indexOf(dep,k)>=0)throw new Error("Has cyclic dependencies")}ready()?(runningTasks++,task[task.length-1](taskCallback,results)):addListener(listener)}})},async.retry=function(times,task,callback){function parseTimes(acc,t){if("number"==typeof t)acc.times=parseInt(t,10)||DEFAULT_TIMES;else{if("object"!=typeof t)throw new Error("Unsupported argument type for 'times': "+typeof t);acc.times=parseInt(t.times,10)||DEFAULT_TIMES,acc.interval=parseInt(t.interval,10)||DEFAULT_INTERVAL}}function wrappedTask(wrappedCallback,wrappedResults){function retryAttempt(task,finalAttempt){return function(seriesCallback){task(function(err,result){seriesCallback(!err||finalAttempt,{err:err,result:result})},wrappedResults)}}function retryInterval(interval){return function(seriesCallback){setTimeout(function(){seriesCallback(null)},interval)}}for(;opts.times;){var finalAttempt=!(opts.times-=1);attempts.push(retryAttempt(opts.task,finalAttempt)),!finalAttempt&&opts.interval>0&&attempts.push(retryInterval(opts.interval))}async.series(attempts,function(done,data){data=data[data.length-1],(wrappedCallback||opts.callback)(data.err,data.result)})}var DEFAULT_TIMES=5,DEFAULT_INTERVAL=0,attempts=[],opts={times:DEFAULT_TIMES,interval:DEFAULT_INTERVAL},length=arguments.length;if(length<1||length>3)throw new Error("Invalid arguments - must be either (task), (task, callback), (times, task) or (times, task, callback)");return length<=2&&"function"==typeof times&&(callback=task,task=times),"function"!=typeof times&&parseTimes(opts,times),opts.callback=callback,opts.task=task,opts.callback?wrappedTask():wrappedTask},async.waterfall=function(tasks,callback){function wrapIterator(iterator){return _restParam(function(err,args){if(err)callback.apply(null,[err].concat(args));else{var next=iterator.next();next?args.push(wrapIterator(next)):args.push(callback),ensureAsync(iterator).apply(null,args)}})}if(callback=_once(callback||noop),!_isArray(tasks)){var err=new Error("First argument to waterfall must be an array of functions");return callback(err)}return tasks.length?void wrapIterator(async.iterator(tasks))():callback()},async.parallel=function(tasks,callback){_parallel(async.eachOf,tasks,callback)},async.parallelLimit=function(tasks,limit,callback){_parallel(_eachOfLimit(limit),tasks,callback)},async.series=function(tasks,callback){_parallel(async.eachOfSeries,tasks,callback)},async.iterator=function(tasks){function makeCallback(index){function fn(){return tasks.length&&tasks[index].apply(null,arguments),fn.next()}return fn.next=function(){return index<tasks.length-1?makeCallback(index+1):null},fn}return makeCallback(0)},async.apply=_restParam(function(fn,args){return _restParam(function(callArgs){return fn.apply(null,args.concat(callArgs))})}),async.concat=doParallel(_concat),async.concatSeries=doSeries(_concat),async.whilst=function(test,iterator,callback){if(callback=callback||noop,test()){var next=_restParam(function(err,args){err?callback(err):test.apply(this,args)?iterator(next):callback.apply(null,[null].concat(args))});iterator(next)}else callback(null)},async.doWhilst=function(iterator,test,callback){var calls=0;return async.whilst(function(){return++calls<=1||test.apply(this,arguments)},iterator,callback)},async.until=function(test,iterator,callback){return async.whilst(function(){return!test.apply(this,arguments)},iterator,callback)},async.doUntil=function(iterator,test,callback){return async.doWhilst(iterator,function(){return!test.apply(this,arguments)},callback)},async.during=function(test,iterator,callback){callback=callback||noop;var next=_restParam(function(err,args){err?callback(err):(args.push(check),test.apply(this,args))}),check=function(err,truth){err?callback(err):truth?iterator(next):callback(null)};test(check)},async.doDuring=function(iterator,test,callback){var calls=0;async.during(function(next){calls++<1?next(null,!0):test.apply(this,arguments)},iterator,callback)},async.queue=function(worker,concurrency){var q=_queue(function(items,cb){worker(items[0],cb)},concurrency,1);return q},async.priorityQueue=function(worker,concurrency){function _compareTasks(a,b){return a.priority-b.priority}function _binarySearch(sequence,item,compare){for(var beg=-1,end=sequence.length-1;beg<end;){var mid=beg+(end-beg+1>>>1);compare(item,sequence[mid])>=0?beg=mid:end=mid-1}return beg}function _insert(q,data,priority,callback){if(null!=callback&&"function"!=typeof callback)throw new Error("task callback must be a function");return q.started=!0,_isArray(data)||(data=[data]),0===data.length?async.setImmediate(function(){q.drain()}):void _arrayEach(data,function(task){var item={data:task,priority:priority,callback:"function"==typeof callback?callback:noop};q.tasks.splice(_binarySearch(q.tasks,item,_compareTasks)+1,0,item),q.tasks.length===q.concurrency&&q.saturated(),async.setImmediate(q.process)})}var q=async.queue(worker,concurrency);return q.push=function(data,priority,callback){_insert(q,data,priority,callback)},delete q.unshift,q},async.cargo=function(worker,payload){return _queue(worker,1,payload)},async.log=_console_fn("log"),async.dir=_console_fn("dir"),async.memoize=function(fn,hasher){var memo={},queues={},has=Object.prototype.hasOwnProperty;hasher=hasher||identity;var memoized=_restParam(function(args){var callback=args.pop(),key=hasher.apply(null,args);has.call(memo,key)?async.setImmediate(function(){callback.apply(null,memo[key])}):has.call(queues,key)?queues[key].push(callback):(queues[key]=[callback],fn.apply(null,args.concat([_restParam(function(args){memo[key]=args;var q=queues[key];delete queues[key];for(var i=0,l=q.length;i<l;i++)q[i].apply(null,args)})])))});return memoized.memo=memo,memoized.unmemoized=fn,memoized},async.unmemoize=function(fn){return function(){return(fn.unmemoized||fn).apply(null,arguments)}},async.times=_times(async.map),async.timesSeries=_times(async.mapSeries),async.timesLimit=function(count,limit,iterator,callback){return async.mapLimit(_range(count),limit,iterator,callback)},async.seq=function(){var fns=arguments;return _restParam(function(args){var that=this,callback=args[args.length-1];"function"==typeof callback?args.pop():callback=noop,async.reduce(fns,args,function(newargs,fn,cb){fn.apply(that,newargs.concat([_restParam(function(err,nextargs){cb(err,nextargs)})]))},function(err,results){callback.apply(that,[err].concat(results))})})},async.compose=function(){return async.seq.apply(null,Array.prototype.reverse.call(arguments))},async.applyEach=_applyEach(async.eachOf),async.applyEachSeries=_applyEach(async.eachOfSeries),async.forever=function(fn,callback){function next(err){return err?done(err):void task(next)}var done=only_once(callback||noop),task=ensureAsync(fn);next()},async.ensureAsync=ensureAsync,async.constant=_restParam(function(values){var args=[null].concat(values);return function(callback){return callback.apply(this,args)}}),async.wrapSync=async.asyncify=function(func){return _restParam(function(args){var result,callback=args.pop();try{result=func.apply(this,args)}catch(e){return callback(e)}_isObject(result)&&"function"==typeof result.then?result.then(function(value){callback(null,value)}).catch(function(err){callback(err.message?err:new Error(err))}):callback(null,result)})},"object"==typeof module&&module.exports?module.exports=async:"function"==typeof define&&define.amd?define([],function(){return async}):root.async=async}()}).call(this,require("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:154}],53:[function(require,module,exports){function SessionManager(conf){WildEmitter.call(this),conf=conf||{},this.jid=conf.jid,this.selfID=conf.selfID||this.jid&&this.jid.full||this.jid||"",this.sessions={},this.peers={},this.prepareSession=conf.prepareSession||function(opts){return opts.applicationTypes.indexOf("rtp")>=0?new MediaSession(opts):opts.applicationTypes.indexOf("filetransfer")>=0?new FileSession(opts):void 0},this.performTieBreak=conf.performTieBreak||function(sess,req){var applicationTypes=req.jingle.contents.map(function(content){if(content.application)return content.application.applicationType}),matching=intersect(sess.pendingApplicationTypes,applicationTypes);return matching.length>0},this.screenSharingSupport=webrtc.screenSharing,this.capabilities=["urn:xmpp:jingle:1"],webrtc.support&&(this.capabilities=["urn:xmpp:jingle:1","urn:xmpp:jingle:apps:rtp:1","urn:xmpp:jingle:apps:rtp:audio","urn:xmpp:jingle:apps:rtp:video","urn:xmpp:jingle:apps:rtp:rtcb-fb:0","urn:xmpp:jingle:apps:rtp:rtp-hdrext:0","urn:xmpp:jingle:apps:rtp:ssma:0","urn:xmpp:jingle:apps:dtls:0","urn:xmpp:jingle:apps:grouping:0","urn:xmpp:jingle:apps:file-transfer:3","urn:xmpp:jingle:transports:ice-udp:1","urn:xmpp:jingle:transports.dtls-sctp:1","urn:ietf:rfc:3264","urn:ietf:rfc:5576","urn:ietf:rfc:5888"]),this.config={debug:!1,peerConnectionConfig:{iceServers:conf.iceServers||[{url:"stun:stun.l.google.com:19302"}]},peerConnectionConstraints:{optional:[{DtlsSrtpKeyAgreement:!0},{RtpDataChannels:!1}]},media:{audio:!0,video:!0}};for(var item in conf)this.config[item]=conf[item];this.iceServers=this.config.peerConnectionConfig.iceServers}var util=require("util"),intersect=require("intersect"),WildEmitter=require("wildemitter"),webrtc=require("webrtcsupport"),BaseSession=require("jingle-session"),MediaSession=require("jingle-media-session"),FileSession=require("jingle-filetransfer-session");util.inherits(SessionManager,WildEmitter),SessionManager.prototype.addICEServer=function(server){"string"==typeof server&&(server={url:server}),this.iceServers.push(server)},SessionManager.prototype.addSession=function(session){var self=this,sid=session.sid,peer=session.peerID;return this.sessions[sid]=session,this.peers[peer]||(this.peers[peer]=[]),this.peers[peer].push(session),session.on("terminated",function(){var peers=self.peers[peer]||[];peers.length&&peers.splice(peers.indexOf(session),1),delete self.sessions[sid]}),session.on("*",function(name,data,extraData,extraData2){if("send"===name){var action=data.jingle&&data.jingle.action;session.isInitiator&&"session-initiate"===action&&self.emit("outgoing",session)}!self.config.debug||"log:debug"!==name&&"log:error"!==name||console.log("Jingle:",data,extraData,extraData2),0!==name.indexOf("change")&&self.emit(name,data,extraData,extraData2)}),this.emit("createdSession",session),session},SessionManager.prototype.createMediaSession=function(peer,sid,stream){var session=new MediaSession({sid:sid,peer:peer,initiator:!0,stream:stream,parent:this,iceServers:this.iceServers,constraints:this.config.peerConnectionConstraints});return this.addSession(session),session},SessionManager.prototype.createFileTransferSession=function(peer,sid){var session=new FileSession({sid:sid,peer:peer,initiator:!0,parent:this});return this.addSession(session),session},SessionManager.prototype.endPeerSessions=function(peer,reason,silent){peer=peer.full||peer;var sessions=this.peers[peer]||[];delete this.peers[peer],sessions.forEach(function(session){session.end(reason||"gone",silent)})},SessionManager.prototype.endAllSessions=function(reason,silent){var self=this;Object.keys(this.peers).forEach(function(peer){self.endPeerSessions(peer,reason,silent)})},SessionManager.prototype._createIncomingSession=function(meta,req){var session;return this.prepareSession&&(session=this.prepareSession(meta,req)),session||(session=new BaseSession(meta)),this.addSession(session),session},SessionManager.prototype._sendError=function(to,id,data){data.type||(data.type="cancel"),this.emit("send",{to:to,id:id,type:"error",error:data})},SessionManager.prototype._log=function(level,message){this.emit("log:"+level,message)},SessionManager.prototype.process=function(req){var self=this,sid=req.jingle?req.jingle.sid:null,session=this.sessions[sid]||null,rid=req.id,sender=req.from.full||req.from;if("error"===req.type){var isTieBreak=req.error&&"tie-break"===req.error.jingleCondition;return session&&session.pending&&isTieBreak?session.end("alternative-session",!0):(session&&(session.pendingAction=!1),this.emit("error",req))}if("result"===req.type)return void(session&&(session.pendingAction=!1));var action=req.jingle.action,contents=req.jingle.contents||[],applicationTypes=contents.map(function(content){if(content.application)return content.application.applicationType}),transportTypes=contents.map(function(content){if(content.transport)return content.transport.transportType});if("session-initiate"!==action){if(!session)return this._log("error","Unknown session",sid),this._sendError(sender,rid,{condition:"item-not-found",jingleCondition:"unknown-session"});if(session.peerID!==sender||session.ended)return this._log("error","Session has ended, or action has wrong sender"),this._sendError(sender,rid,{condition:"item-not-found",jingleCondition:"unknown-session"});if("session-accept"===action&&!session.pending)return this._log("error","Tried to accept session twice",sid),this._sendError(sender,rid,{condition:"unexpected-request",jingleCondition:"out-of-order"});if("session-terminate"!==action&&action===session.pendingAction&&(this._log("error","Tie break during pending request"),session.isInitiator))return this._sendError(sender,rid,{condition:"conflict",jingleCondition:"tie-break"})}else if(session){if(session.peerID!==sender)return this._log("error","Duplicate sid from new sender"),this._sendError(sender,rid,{condition:"service-unavailable"});if(!session.pending)return this._log("error","Someone is doing this wrong"),this._sendError(sender,rid,{condition:"unexpected-request",jingleCondition:"out-of-order"});if(this.selfID>session.peerID&&this.performTieBreak(session,req))return this._log("error","Tie break new session because of duplicate sids"),this._sendError(sender,rid,{condition:"conflict",jingleCondition:"tie-break"})}else if(this.peers[sender]&&this.peers[sender].length)for(var i=0,len=this.peers[sender].length;i<len;i++){var sess=this.peers[sender][i];if(sess&&sess.pending&&sess.sid>sid&&this.performTieBreak(sess,req))return this._log("info","Tie break session-initiate"),this._sendError(sender,rid,{condition:"conflict",jingleCondition:"tie-break"})}if("session-initiate"===action){if(!contents.length)return self._sendError(sender,rid,{condition:"bad-request"});session=this._createIncomingSession({sid:sid,peer:req.from,peerID:sender,initiator:!1,parent:this,applicationTypes:applicationTypes,transportTypes:transportTypes,iceServers:this.iceServers,constraints:this.config.peerConnectionConstraints},req)}session.process(action,req.jingle,function(err){err?(self._log("error","Could not process request",req,err),self._sendError(sender,rid,err)):(self.emit("send",{to:sender,id:rid,type:"result"}),"session-initiate"===action&&self.emit("incoming",session))})},module.exports=SessionManager},{intersect:46,"jingle-filetransfer-session":49,"jingle-media-session":50,"jingle-session":51,util:207,webrtcsupport:219,wildemitter:220}],54:[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _shortcuts=require("./shortcuts"),_shortcuts2=_interopRequireDefault(_shortcuts),_types=require("./types"),_types2=_interopRequireDefault(_types);exports.default=function(JXT){JXT.use(_types2.default),JXT.use(_shortcuts2.default)},module.exports=exports.default},{"./shortcuts":55,"./types":56}],55:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),VERSION={client:_xmppConstants.Namespace.CLIENT,server:_xmppConstants.Namespace.SERVER,component:_xmppConstants.Namespace.COMPONENT};exports.default=function(JXT){JXT.extendMessage=function(JXTClass,multiName){var _this=this;this.withMessage(function(Message){_this.extend(Message,JXTClass,multiName)})},JXT.extendPresence=function(JXTClass,multiName){var _this2=this;this.withPresence(function(Presence){_this2.extend(Presence,JXTClass,multiName)})},JXT.extendIQ=function(JXTClass,multiName){var _this3=this;this.withIQ(function(IQ){_this3.extend(IQ,JXTClass,multiName)})},JXT.extendStreamFeatures=function(JXTClass){var _this4=this;this.withStreamFeatures(function(StreamFeatures){_this4.extend(StreamFeatures,JXTClass)})},JXT.extendPubsubItem=function(JXTClass){var _this5=this;this.withPubsubItem(function(PubsubItem){_this5.extend(PubsubItem,JXTClass)})},JXT.withIQ=function(cb){this.withDefinition("iq",_xmppConstants.Namespace.CLIENT,cb),this.withDefinition("iq",_xmppConstants.Namespace.COMPONENT,cb)},JXT.withMessage=function(cb){this.withDefinition("message",_xmppConstants.Namespace.CLIENT,cb),this.withDefinition("message",_xmppConstants.Namespace.COMPONENT,cb)},JXT.withPresence=function(cb){this.withDefinition("presence",_xmppConstants.Namespace.CLIENT,cb),this.withDefinition("presence",_xmppConstants.Namespace.COMPONENT,cb)},JXT.withStreamFeatures=function(cb){this.withDefinition("features",_xmppConstants.Namespace.STREAM,cb)},JXT.withStanzaError=function(cb){this.withDefinition("error",_xmppConstants.Namespace.CLIENT,cb),this.withDefinition("error",_xmppConstants.Namespace.COMPONENT,cb)},JXT.withDataForm=function(cb){this.withDefinition("x",_xmppConstants.Namespace.DATAFORM,cb)},JXT.withPubsubItem=function(cb){this.withDefinition("item",_xmppConstants.Namespace.PUBSUB,cb),this.withDefinition("item",_xmppConstants.Namespace.PUBSUB_EVENT,cb)},JXT.getMessage=function(){var version=void 0===arguments[0]?"client":arguments[0];return this.getDefinition("message",VERSION[version])},JXT.getPresence=function(){var version=void 0===arguments[0]?"client":arguments[0];return this.getDefinition("presence",VERSION[version])},JXT.getIQ=function(){var version=void 0===arguments[0]?"client":arguments[0];return this.getDefinition("iq",VERSION[version])},JXT.getStreamError=function(){return this.getDefinition("error",_xmppConstants.Namespace.STREAM)},JXT.getIq=JXT.getIQ,JXT.withIq=JXT.withIQ},module.exports=exports.default},{"xmpp-constants":221}],56:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppJid=require("xmpp-jid");exports.default=function(JXT){var Utils=JXT.utils;Utils.jidAttribute=function(attr,prepped){return{get:function(){var jid=new _xmppJid.JID(Utils.getAttribute(this.xml,attr));return prepped&&(jid.prepped=!0),jid},set:function(value){Utils.setAttribute(this.xml,attr,(value||"").toString())}}},Utils.jidSub=function(NS,sub,prepped){return{get:function(){var jid=new _xmppJid.JID(Utils.getSubText(this.xml,NS,sub));return prepped&&(jid.prepped=!0),jid},set:function(value){Utils.setSubText(this.xml,NS,sub,(value||"").toString())}}},Utils.tzoSub=Utils.field(function(xml,NS,sub,defaultVal){var hrs=void 0,min=void 0,split=void 0,sign=-1,formatted=Utils.getSubText(xml,NS,sub);return formatted?("-"===formatted.charAt(0)&&(sign=1,formatted=formatted.slice(1)),split=formatted.split(":"),hrs=parseInt(split[0],10),min=parseInt(split[1],10),(60*hrs+min)*sign):defaultVal},function(xml,NS,sub,value){var hrs=void 0,min=void 0,formatted="-";"number"==typeof value?(value<0&&(value=-value,formatted="+"),hrs=value/60,min=value%60,formatted+=(hrs<10?"0":"")+hrs+":"+(min<10?"0":"")+min):formatted=value,Utils.setSubText(xml,NS,sub,formatted)})},module.exports=exports.default},{"xmpp-jid":227}],57:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Address=JXT.define({name:"_address",namespace:_xmppConstants.Namespace.ADDRESS,element:"address",fields:{jid:Utils.jidAttribute("jid"),uri:Utils.attribute("uri"),node:Utils.attribute("node"),description:Utils.attribute("desc"),delivered:Utils.boolAttribute("delivered"),type:Utils.attribute("type")}}),Addresses=Utils.subMultiExtension(_xmppConstants.Namespace.ADDRESS,"addresses",Address);JXT.withMessage(function(Message){JXT.add(Message,"addresses",Addresses)}),JXT.withPresence(function(Presence){JXT.add(Presence,"addresses",Addresses)})},module.exports=exports.default},{"xmpp-constants":221}],58:[function(require,module,exports){"use strict";var _interopRequireDefault=require("babel-runtime/helpers/interop-require-default").default;Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),_lodashForeach=require("lodash.foreach"),_lodashForeach2=_interopRequireDefault(_lodashForeach);exports.default=function(JXT){var Utils=JXT.utils,Avatar=JXT.define({name:"avatar",namespace:_xmppConstants.Namespace.AVATAR_METADATA,element:"info",fields:{id:Utils.attribute("id"),bytes:Utils.attribute("bytes"),height:Utils.attribute("height"),width:Utils.attribute("width"),type:Utils.attribute("type","image/png"),url:Utils.attribute("url")}}),avatars={get:function(){var metadata=Utils.find(this.xml,_xmppConstants.Namespace.AVATAR_METADATA,"metadata"),results=[];if(metadata.length){var _avatars=Utils.find(metadata[0],_xmppConstants.Namespace.AVATAR_METADATA,"info");(0,_lodashForeach2.default)(_avatars,function(info){results.push(new Avatar({},info))})}return results},set:function(value){var metadata=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.AVATAR_METADATA,"metadata");Utils.setAttribute(metadata,"xmlns",_xmppConstants.Namespace.AVATAR_METADATA),(0,_lodashForeach2.default)(value,function(info){var avatar=new Avatar(info);metadata.appendChild(avatar.xml)})}};JXT.withPubsubItem(function(Item){JXT.add(Item,"avatars",avatars),JXT.add(Item,"avatarData",Utils.textSub(_xmppConstants.Namespace.AVATAR_DATA,"data"))})},module.exports=exports.default},{"babel-runtime/helpers/interop-require-default":2,"lodash.foreach":134,"xmpp-constants":221}],59:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Bind=JXT.define({name:"bind",namespace:_xmppConstants.Namespace.BIND,element:"bind",fields:{resource:Utils.textSub(_xmppConstants.Namespace.BIND,"resource"),jid:Utils.jidSub(_xmppConstants.Namespace.BIND,"jid")}});JXT.extendIQ(Bind),JXT.extendStreamFeatures(Bind)},module.exports=exports.default},{"xmpp-constants":221}],60:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),_xmppJid=require("xmpp-jid");exports.default=function(JXT){var Utils=JXT.utils,jidList={get:function(){var result=[],items=Utils.find(this.xml,_xmppConstants.Namespace.BLOCKING,"item");return items.length?(items.forEach(function(item){result.push(new _xmppJid.JID(Utils.getAttribute(item,"jid","")))}),result):result},set:function(values){var self=this;values.forEach(function(value){var item=Utils.createElement(_xmppConstants.Namespace.BLOCKING,"item",_xmppConstants.Namespace.BLOCKING);Utils.setAttribute(item,"jid",value.toString()),self.xml.appendChild(item)})}},Block=JXT.define({name:"block",namespace:_xmppConstants.Namespace.BLOCKING,element:"block",fields:{jids:jidList}}),Unblock=JXT.define({name:"unblock",namespace:_xmppConstants.Namespace.BLOCKING,element:"unblock",fields:{jids:jidList}}),BlockList=JXT.define({name:"blockList",namespace:_xmppConstants.Namespace.BLOCKING,element:"blocklist",fields:{jids:jidList}});JXT.extendIQ(Block),JXT.extendIQ(Unblock),JXT.extendIQ(BlockList)},module.exports=exports.default},{"xmpp-constants":221,"xmpp-jid":227}],61:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,BOB=JXT.define({name:"bob",namespace:_xmppConstants.Namespace.BOB,element:"data",fields:{cid:Utils.attribute("cid"),maxAge:Utils.numberAttribute("max-age"),type:Utils.attribute("type"),data:Utils.text()}});JXT.extendIQ(BOB),JXT.extendMessage(BOB),JXT.extendPresence(BOB)},module.exports=exports.default},{"xmpp-constants":221}],62:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Conference=JXT.define({name:"_conference",namespace:_xmppConstants.Namespace.BOOKMARKS,element:"conference",fields:{name:Utils.attribute("name"),autoJoin:Utils.boolAttribute("autojoin"),jid:Utils.jidAttribute("jid"),nick:Utils.textSub(_xmppConstants.Namespace.BOOKMARKS,"nick")}}),Bookmarks=JXT.define({name:"bookmarks",namespace:_xmppConstants.Namespace.BOOKMARKS,element:"storage"});JXT.extend(Bookmarks,Conference,"conferences"),JXT.withDefinition("query",_xmppConstants.Namespace.PRIVATE,function(PrivateStorage){JXT.extend(PrivateStorage,Bookmarks)})},module.exports=exports.default},{"xmpp-constants":221}],63:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils;JXT.define({name:"bosh",namespace:_xmppConstants.Namespace.BOSH,element:"body",prefixes:{xmpp:_xmppConstants.Namespace.BOSH_XMPP},fields:{accept:Utils.attribute("accept"),ack:Utils.numberAttribute("ack"),authid:Utils.attribute("authid"),charsets:Utils.attribute("charsets"),condition:Utils.attribute("condition"),content:Utils.attribute("content"),from:Utils.jidAttribute("from",!0),hold:Utils.numberAttribute("hold"),inactivity:Utils.numberAttribute("inactivity"),key:Utils.attribute("key"),maxpause:Utils.numberAttribute("maxpause"),newKey:Utils.attribute("newkey"),pause:Utils.numberAttribute("pause"),polling:Utils.numberAttribute("polling"),resport:Utils.numberAttribute("report"),requests:Utils.numberAttribute("requests"),rid:Utils.numberAttribute("rid"),sid:Utils.attribute("sid"),stream:Utils.attribute("stream"),time:Utils.attribute("time"),to:Utils.jidAttribute("to",!0),type:Utils.attribute("type"),ver:Utils.attribute("ver"),wait:Utils.numberAttribute("wait"),uri:Utils.textSub(_xmppConstants.Namespace.BOSH,"uri"),lang:Utils.langAttribute(),version:Utils.attribute("xmpp:version","1.0"),restart:Utils.attribute("xmpp:restart"),restartLogic:Utils.boolAttribute("xmpp:restartLogic"),payload:{get:function(){for(var results=[],i=0,len=this.xml.childNodes.length;i<len;i++){var obj=JXT.build(this.xml.childNodes[i]);void 0!==obj&&results.push(obj)}return results},set:function(values){var _this=this;values.forEach(function(types){_this.xml.appendChild(types.xml)})}}}})},module.exports=exports.default},{"xmpp-constants":221}],64:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Sent=JXT.define({name:"carbonSent",eventName:"carbon:sent",namespace:_xmppConstants.Namespace.CARBONS_2,element:"sent"}),Received=JXT.define({name:"carbonReceived",eventName:"carbon:received",namespace:_xmppConstants.Namespace.CARBONS_2,element:"received"}),Private=JXT.define({name:"carbonPrivate",eventName:"carbon:private",namespace:_xmppConstants.Namespace.CARBONS_2,element:"private"}),Enable=JXT.define({name:"enableCarbons",namespace:_xmppConstants.Namespace.CARBONS_2,element:"enable"}),Disable=JXT.define({name:"disableCarbons",namespace:_xmppConstants.Namespace.CARBONS_2,element:"disable"});JXT.withDefinition("forwarded",_xmppConstants.Namespace.FORWARD_0,function(Forwarded){JXT.extend(Sent,Forwarded),JXT.extend(Received,Forwarded)}),JXT.extendMessage(Sent),JXT.extendMessage(Received),JXT.extendMessage(Private),JXT.extendIQ(Enable),JXT.extendIQ(Disable)},module.exports=exports.default},{"xmpp-constants":221}],65:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),ACTIONS=["next","prev","complete","cancel"],CONDITIONS=["bad-action","bad-locale","bad-payload","bad-sessionid","malformed-action","session-expired"];exports.default=function(JXT){var Utils=JXT.utils,Command=JXT.define({name:"command",namespace:_xmppConstants.Namespace.ADHOC_COMMANDS,element:"command",fields:{action:Utils.attribute("action"),node:Utils.attribute("node"),sessionid:Utils.attribute("sessionid"),status:Utils.attribute("status"),execute:Utils.subAttribute(_xmppConstants.Namespace.ADHOC_COMMANDS,"actions","execute"),actions:{get:function(){var result=[],actionSet=Utils.find(this.xml,_xmppConstants.Namespace.ADHOC_COMMANDS,"actions");return actionSet.length?(ACTIONS.forEach(function(action){var existing=Utils.find(actionSet[0],_xmppConstants.Namespace.ADHOC_COMMANDS,action);existing.length&&result.push(action)}),result):[]},set:function(values){for(var actionSet=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.ADHOC_COMMANDS,"actions"),i=0,len=actionSet.childNodes.length;i<len;i++)actionSet.removeChild(actionSet.childNodes[i]);values.forEach(function(value){actionSet.appendChild(Utils.createElement(_xmppConstants.Namespace.ADHOC_COMMANDS,value.toLowerCase(),_xmppConstants.Namespace.ADHOC_COMMANDS))})}}}}),Note=JXT.define({name:"_commandNote",namespace:_xmppConstants.Namespace.ADHOC_COMMANDS,
+element:"note",fields:{type:Utils.attribute("type"),value:Utils.text()}});JXT.extend(Command,Note,"notes"),JXT.extendIQ(Command),JXT.withStanzaError(function(StanzaError){JXT.add(StanzaError,"adhocCommandCondition",Utils.enumSub(_xmppConstants.Namespace.ADHOC_COMMANDS,CONDITIONS))}),JXT.withDataForm(function(DataForm){JXT.extend(Command,DataForm)})},module.exports=exports.default},{"xmpp-constants":221}],66:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var CSIFeature=JXT.define({name:"clientStateIndication",namespace:_xmppConstants.Namespace.CSI,element:"csi"});JXT.define({name:"csiActive",eventName:"csi:active",namespace:_xmppConstants.Namespace.CSI,element:"active",topLevel:!0}),JXT.define({name:"csiInactive",eventName:"csi:inactive",namespace:_xmppConstants.Namespace.CSI,element:"inactive",topLevel:!0}),JXT.extendStreamFeatures(CSIFeature)},module.exports=exports.default},{"xmpp-constants":221}],67:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),_xmppJid=require("xmpp-jid"),SINGLE_FIELDS=["text-single","text-private","list-single","jid-single"];exports.default=function(JXT){var Utils=JXT.utils,Field=JXT.define({name:"_field",namespace:_xmppConstants.Namespace.DATAFORM,element:"field",init:function(data){this._type=(data||{}).type||this.type},fields:{type:{get:function(){return Utils.getAttribute(this.xml,"type","text-single")},set:function(value){this._type=value,Utils.setAttribute(this.xml,"type",value)}},name:Utils.attribute("var"),desc:Utils.textSub(_xmppConstants.Namespace.DATAFORM,"desc"),required:Utils.boolSub(_xmppConstants.Namespace.DATAFORM,"required"),label:Utils.attribute("label"),value:{get:function(){var vals=Utils.getMultiSubText(this.xml,_xmppConstants.Namespace.DATAFORM,"value");return"boolean"===this._type?"1"===vals[0]||"true"===vals[0]:vals.length>1?"text-multi"===this._type?vals.join("\n"):"jid-multi"===this._type?vals.map(function(jid){return new _xmppJid.JID(jid)}):vals:SINGLE_FIELDS.indexOf(this._type)>=0?"jid-single"===this._type?new _xmppJid.JID(vals[0]):vals[0]:vals},set:function(value){if("boolean"===this._type||value===!0||value===!1){var truthy=value===!0||"true"===value||"1"===value,sub=Utils.createElement(_xmppConstants.Namespace.DATAFORM,"value",_xmppConstants.Namespace.DATAFORM);sub.textContent=truthy?"1":"0",this.xml.appendChild(sub)}else"text-multi"===this._type&&"string"==typeof value&&(value=value.split("\n")),Utils.setMultiSubText(this.xml,_xmppConstants.Namespace.DATAFORM,"value",value,function(val){var sub=Utils.createElement(_xmppConstants.Namespace.DATAFORM,"value",_xmppConstants.Namespace.DATAFORM);sub.textContent=val,this.xml.appendChild(sub)}.bind(this))}}}}),Option=JXT.define({name:"_formoption",namespace:_xmppConstants.Namespace.DATAFORM,element:"option",fields:{label:Utils.attribute("label"),value:Utils.textSub(_xmppConstants.Namespace.DATAFORM,"value")}}),Item=JXT.define({name:"_formitem",namespace:_xmppConstants.Namespace.DATAFORM,element:"item"}),Media=JXT.define({name:"media",element:"media",namespace:_xmppConstants.Namespace.DATAFORM_MEDIA,fields:{height:Utils.numberAttribute("height"),width:Utils.numberAttribute("width")}}),MediaURI=JXT.define({name:"_mediaURI",element:"uri",namespace:_xmppConstants.Namespace.DATAFORM_MEDIA,fields:{uri:Utils.text(),type:Utils.attribute("type")}}),Validation=JXT.define({name:"validation",element:"validate",namespace:_xmppConstants.Namespace.DATAFORM_VALIDATION,fields:{dataType:Utils.attribute("datatype"),basic:Utils.boolSub(_xmppConstants.Namespace.DATAFORM_VALIDATION,"basic"),open:Utils.boolSub(_xmppConstants.Namespace.DATAFORM_VALIDATION,"open"),regex:Utils.textSub(_xmppConstants.Namespace.DATAFORM_VALIDATION,"regex")}}),Range=JXT.define({name:"range",element:"range",namespace:_xmppConstants.Namespace.DATAFORM_VALIDATION,fields:{min:Utils.attribute("min"),max:Utils.attribute("max")}}),ListRange=JXT.define({name:"select",element:"list-range",namespace:_xmppConstants.Namespace.DATAFORM_VALIDATION,fields:{min:Utils.numberAttribute("min"),max:Utils.numberAttribute("max")}}),layoutContents={get:function(){for(var result=[],i=0,len=this.xml.childNodes.length;i<len;i++){var child=this.xml.childNodes[i];if(child.namespaceURI===_xmppConstants.Namespace.DATAFORM_LAYOUT)switch(child.localName){case"text":result.push({text:child.textContent});break;case"fieldref":result.push({field:child.getAttribute("var")});break;case"reportedref":result.push({reported:!0});break;case"section":result.push({section:new Section(null,child,this).toJSON()})}}return result},set:function(values){for(var i=0,len=values.length;i<len;i++){var value=values[i];if(value.text){var text=Utils.createElement(_xmppConstants.Namespace.DATAFORM_LAYOUT,"text",_xmppConstants.Namespace.DATAFORM_LAYOUT);text.textContent=value.text,this.xml.appendChild(text)}if(value.field){var field=Utils.createElement(_xmppConstants.Namespace.DATAFORM_LAYOUT,"fieldref",_xmppConstants.Namespace.DATAFORM_LAYOUT);field.setAttribute("var",value.field),this.xml.appendChild(field)}if(value.reported&&this.xml.appendChild(Utils.createElement(_xmppConstants.Namespace.DATAFORM_LAYOUT,"reportedref",_xmppConstants.Namespace.DATAFORM_LAYOUT)),value.section){var sectionXML=Utils.createElement(_xmppConstants.Namespace.DATAFORM_LAYOUT,"section",_xmppConstants.Namespace.DATAFORM_LAYOUT);this.xml.appendChild(sectionXML);var section=new Section(null,sectionXML);section.label=value.section.label,section.contents=value.section.contents}}}},Section=JXT.define({name:"_section",element:"section",namespace:_xmppConstants.Namespace.DATAFORM_LAYOUT,fields:{label:Utils.attribute("label"),contents:layoutContents}}),Page=JXT.define({name:"_page",element:"page",namespace:_xmppConstants.Namespace.DATAFORM_LAYOUT,fields:{label:Utils.attribute("label"),contents:layoutContents}}),DataForm=JXT.define({name:"form",namespace:_xmppConstants.Namespace.DATAFORM,element:"x",init:function(){if(this.reportedFields.length){var fieldTypes={};this.reportedFields.forEach(function(reported){fieldTypes[reported.name]=reported.type}),this.items.forEach(function(item){item.fields.forEach(function(field){field.type=field._type=fieldTypes[field.name]})})}},fields:{title:Utils.textSub(_xmppConstants.Namespace.DATAFORM,"title"),instructions:Utils.multiTextSub(_xmppConstants.Namespace.DATAFORM,"instructions"),type:Utils.attribute("type","form"),reportedFields:Utils.subMultiExtension(_xmppConstants.Namespace.DATAFORM,"reported",Field)}});JXT.extend(DataForm,Field,"fields"),JXT.extend(DataForm,Item,"items"),JXT.extend(DataForm,Page,"layout"),JXT.extend(Field,Media),JXT.extend(Field,Validation),JXT.extend(Field,Option,"options"),JXT.extend(Item,Field,"fields"),JXT.extend(Media,MediaURI,"uris"),JXT.extend(Validation,Range),JXT.extend(Validation,ListRange),JXT.extendMessage(DataForm)},module.exports=exports.default},{"xmpp-constants":221,"xmpp-jid":227}],68:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,DelayedDelivery=JXT.define({name:"delay",namespace:_xmppConstants.Namespace.DELAY,element:"delay",fields:{from:Utils.jidAttribute("from"),stamp:Utils.dateAttribute("stamp"),reason:Utils.text()}});JXT.extendMessage(DelayedDelivery),JXT.extendPresence(DelayedDelivery)},module.exports=exports.default},{"xmpp-constants":221}],69:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,DiscoCaps=JXT.define({name:"caps",namespace:_xmppConstants.Namespace.CAPS,element:"c",fields:{ver:Utils.attribute("ver"),node:Utils.attribute("node"),hash:Utils.attribute("hash"),ext:Utils.attribute("ext")}}),DiscoInfo=JXT.define({name:"discoInfo",namespace:_xmppConstants.Namespace.DISCO_INFO,element:"query",fields:{node:Utils.attribute("node"),features:Utils.multiSubAttribute(_xmppConstants.Namespace.DISCO_INFO,"feature","var")}}),DiscoIdentity=JXT.define({name:"_discoIdentity",namespace:_xmppConstants.Namespace.DISCO_INFO,element:"identity",fields:{category:Utils.attribute("category"),type:Utils.attribute("type"),name:Utils.attribute("name"),lang:Utils.langAttribute()}}),DiscoItems=JXT.define({name:"discoItems",namespace:_xmppConstants.Namespace.DISCO_ITEMS,element:"query",fields:{node:Utils.attribute("node")}}),DiscoItem=JXT.define({name:"_discoItem",namespace:_xmppConstants.Namespace.DISCO_ITEMS,element:"item",fields:{jid:Utils.jidAttribute("jid"),node:Utils.attribute("node"),name:Utils.attribute("name")}});JXT.extend(DiscoItems,DiscoItem,"items"),JXT.extend(DiscoInfo,DiscoIdentity,"identities"),JXT.extendIQ(DiscoInfo),JXT.extendIQ(DiscoItems),JXT.extendPresence(DiscoCaps),JXT.extendStreamFeatures(DiscoCaps),JXT.withDataForm(function(DataForm){JXT.extend(DiscoInfo,DataForm,"extensions")}),JXT.withDefinition("set",_xmppConstants.Namespace.RSM,function(RSM){JXT.extend(DiscoItems,RSM)})},module.exports=exports.default},{"xmpp-constants":221}],70:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),CONDITIONS=["bad-request","conflict","feature-not-implemented","forbidden","gone","internal-server-error","item-not-found","jid-malformed","not-acceptable","not-allowed","not-authorized","payment-required","recipient-unavailable","redirect","registration-required","remote-server-not-found","remote-server-timeout","resource-constraint","service-unavailable","subscription-required","undefined-condition","unexpected-request"];exports.default=function(JXT){var Utils=JXT.utils,StanzaError=JXT.define({name:"error",namespace:_xmppConstants.Namespace.CLIENT,element:"error",fields:{lang:{get:function(){return(this.parent||{}).lang||""}},condition:Utils.enumSub(_xmppConstants.Namespace.STANZA_ERROR,CONDITIONS),gone:{get:function(){return Utils.getSubText(this.xml,_xmppConstants.Namespace.STANZA_ERROR,"gone")},set:function(value){this.condition="gone",Utils.setSubText(this.xml,_xmppConstants.Namespace.STANZA_ERROR,"gone",value)}},redirect:{get:function(){return Utils.getSubText(this.xml,_xmppConstants.Namespace.STANZA_ERROR,"redirect")},set:function(value){this.condition="redirect",Utils.setSubText(this.xml,_xmppConstants.Namespace.STANZA_ERROR,"redirect",value)}},code:Utils.attribute("code"),type:Utils.attribute("type"),by:Utils.jidAttribute("by"),$text:{get:function(){return Utils.getSubLangText(this.xml,_xmppConstants.Namespace.STANZA_ERROR,"text",this.lang)}},text:{get:function(){var text=this.$text;return text[this.lang]||""},set:function(value){Utils.setSubLangText(this.xml,_xmppConstants.Namespace.STANZA_ERROR,"text",value,this.lang)}}}});JXT.extendMessage(StanzaError),JXT.extendPresence(StanzaError),JXT.extendIQ(StanzaError)},module.exports=exports.default},{"xmpp-constants":221}],71:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Services=exports.Services=JXT.define({name:"services",namespace:_xmppConstants.Namespace.DISCO_EXTERNAL_1,element:"services",fields:{type:Utils.attribute("type")}}),Credentials=exports.Credentials=JXT.define({name:"credentials",namespace:_xmppConstants.Namespace.DISCO_EXTERNAL_1,element:"credentials"}),Service=JXT.define({name:"service",namespace:_xmppConstants.Namespace.DISCO_EXTERNAL_1,element:"service",fields:{host:Utils.attribute("host"),port:Utils.attribute("port"),transport:Utils.attribute("transport"),type:Utils.attribute("type"),username:Utils.attribute("username"),password:Utils.attribute("password")}});JXT.extend(Services,Service,"services"),JXT.extend(Credentials,Service),JXT.extendIQ(Services),JXT.extendIQ(Credentials),JXT.withDataForm(function(DataForm){JXT.extend(Service,DataForm)})},module.exports=exports.default},{"xmpp-constants":221}],72:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),FT_NS=_xmppConstants.Namespace.FILE_TRANSFER_4;exports.default=function(JXT){var Utils=JXT.utils,File=JXT.define({name:"file",namespace:FT_NS,element:"file",fields:{name:Utils.textSub(FT_NS,"name"),description:Utils.textSub(FT_NS,"desc"),mediaType:Utils.textSub(FT_NS,"media-type"),size:Utils.numberSub(FT_NS,"size"),date:Utils.dateSub(FT_NS,"date")}}),Range=JXT.define({name:"range",namespace:FT_NS,element:"range",fields:{offset:Utils.numberAttribute("offset"),length:Utils.numberAttribute("length")}}),FileTransfer=JXT.define({name:"_"+FT_NS,namespace:FT_NS,element:"description",tags:["jingle-application"],fields:{applicationType:{value:FT_NS}}}),Received=JXT.define({name:"_{"+FT_NS+"}received",namespace:FT_NS,element:"received",tags:["jingle-info"],fields:{infoType:{value:"{"+FT_NS+"}received"},creator:Utils.attribute("creator"),name:Utils.attribute("name")}}),Checksum=JXT.define({name:"_{"+FT_NS+"}checksum",namespace:FT_NS,element:"checksum",tags:["jingle-info"],fields:{infoType:{value:"{"+FT_NS+"}checksum"},creator:Utils.attribute("creator"),name:Utils.attribute("name")}});JXT.extend(File,Range),JXT.extend(Checksum,File),JXT.extend(FileTransfer,File),JXT.withDefinition("hash",_xmppConstants.Namespace.HASHES_1,function(Hash){JXT.extend(File,Hash,"hashes"),JXT.extend(Range,Hash,"hashes")}),JXT.withDefinition("content",_xmppConstants.Namespace.JINGLE_1,function(Content){JXT.extend(Content,FileTransfer)}),JXT.withDefinition("jingle",_xmppConstants.Namespace.JINGLE_1,function(Jingle){JXT.extend(Jingle,Received),JXT.extend(Jingle,Checksum)})},module.exports=exports.default},{"xmpp-constants":221}],73:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),FT_NS=_xmppConstants.Namespace.FILE_TRANSFER_3;exports.default=function(JXT){var Utils=JXT.utils,File=JXT.define({name:"_file",namespace:FT_NS,element:"file",fields:{name:Utils.textSub(FT_NS,"name"),desc:Utils.textSub(FT_NS,"desc"),size:Utils.numberSub(FT_NS,"size"),date:Utils.dateSub(FT_NS,"date")}}),Range=JXT.define({name:"range",namespace:FT_NS,element:"range",fields:{offset:Utils.numberAttribute("offset")}}),Thumbnail=JXT.define({name:"thumbnail",namespace:_xmppConstants.Namespace.THUMBS_0,element:"thumbnail",fields:{cid:Utils.attribute("cid"),mimeType:Utils.attribute("mime-type"),width:Utils.numberAttribute("width"),height:Utils.numberAttribute("height")}}),FileTransfer=JXT.define({name:"_filetransfer",namespace:FT_NS,element:"description",tags:["jingle-application"],fields:{applicationType:{value:"filetransfer"},offer:Utils.subExtension("offer",FT_NS,"offer",File),request:Utils.subExtension("request",FT_NS,"request",File)}});JXT.extend(File,Range),JXT.extend(File,Thumbnail),JXT.withDefinition("hash",_xmppConstants.Namespace.HASHES_1,function(Hash){JXT.extend(File,Hash,"hashes")}),JXT.withDefinition("content",_xmppConstants.Namespace.JINGLE_1,function(Content){JXT.extend(Content,FileTransfer)})},module.exports=exports.default},{"xmpp-constants":221}],74:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Forwarded=JXT.define({name:"forwarded",namespace:_xmppConstants.Namespace.FORWARD_0,element:"forwarded"});JXT.withMessage(function(Message){JXT.extend(Message,Forwarded),JXT.extend(Forwarded,Message)}),JXT.withPresence(function(Presence){JXT.extend(Presence,Forwarded),JXT.extend(Forwarded,Presence)}),JXT.withIQ(function(IQ){JXT.extend(IQ,Forwarded),JXT.extend(Forwarded,IQ)}),JXT.withDefinition("delay",_xmppConstants.Namespace.DELAY,function(Delayed){JXT.extend(Forwarded,Delayed)})},module.exports=exports.default},{"xmpp-constants":221}],75:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils;JXT.define({name:"openStream",namespace:_xmppConstants.Namespace.FRAMING,element:"open",topLevel:!0,fields:{lang:Utils.langAttribute(),id:Utils.attribute("id"),version:Utils.attribute("version","1.0"),to:Utils.jidAttribute("to",!0),from:Utils.jidAttribute("from",!0)}}),JXT.define({name:"closeStream",namespace:_xmppConstants.Namespace.FRAMING,element:"close",topLevel:!0,fields:{seeOtherURI:Utils.attribute("see-other-uri")}})},module.exports=exports.default},{"xmpp-constants":221}],76:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,GeoLoc=JXT.define({name:"geoloc",namespace:_xmppConstants.Namespace.GEOLOC,element:"geoloc",fields:{accuracy:Utils.numberSub(_xmppConstants.Namespace.GEOLOC,"accuracy",!0),altitude:Utils.numberSub(_xmppConstants.Namespace.GEOLOC,"alt",!0),area:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"area"),heading:Utils.numberSub(_xmppConstants.Namespace.GEOLOC,"bearing",!0),bearing:Utils.numberSub(_xmppConstants.Namespace.GEOLOC,"bearing",!0),building:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"building"),country:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"country"),countrycode:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"countrycode"),datum:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"datum"),description:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"description"),error:Utils.numberSub(_xmppConstants.Namespace.GEOLOC,"error",!0),floor:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"floor"),latitude:Utils.numberSub(_xmppConstants.Namespace.GEOLOC,"lat",!0),locality:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"locality"),longitude:Utils.numberSub(_xmppConstants.Namespace.GEOLOC,"lon",!0),postalcode:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"postalcode"),region:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"region"),room:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"room"),speed:Utils.numberSub(_xmppConstants.Namespace.GEOLOC,"speed",!0),street:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"street"),text:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"text"),timestamp:Utils.dateSub(_xmppConstants.Namespace.GEOLOC,"timestamp"),tzo:Utils.tzoSub(_xmppConstants.Namespace.GEOLOC,"tzo"),uri:Utils.textSub(_xmppConstants.Namespace.GEOLOC,"uri")}});JXT.extendPubsubItem(GeoLoc)},module.exports=exports.default},{"xmpp-constants":221}],77:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){JXT.define({name:"hash",namespace:_xmppConstants.Namespace.HASHES_1,element:"hash",fields:{algo:JXT.utils.attribute("algo"),value:JXT.utils.text()}})},module.exports=exports.default},{"xmpp-constants":221}],78:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Hat=JXT.define({name:"_hat",namespace:_xmppConstants.Namespace.HATS_0,element:"hat",fields:{lang:JXT.utils.langAttribute(),name:JXT.utils.attribute("name"),displayName:JXT.utils.attribute("displayName")}});JXT.withPresence(function(Presence){JXT.add(Presence,"hats",JXT.utils.subMultiExtension(_xmppConstants.Namespace.HATS_0,"hats",Hat))})},module.exports=exports.default},{"xmpp-constants":221}],79:[function(require,module,exports){(function(Buffer){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),NS_IBB="http://jabber.org/protocol/ibb",NS_JIBB="urn:xmpp:jingle:transports:ibb:1";exports.default=function(JXT){var Utils=JXT.utils,IBB={get:function(){var data=Utils.find(this.xml,NS_IBB,"data");if(data.length)return data=data[0],{action:"data",sid:Utils.getAttribute(data,"sid"),seq:parseInt(Utils.getAttribute(data,"seq")||"0",10),data:new Buffer(Utils.getText(data),"base64")};var open=Utils.find(this.xml,NS_IBB,"open");if(open.length){open=open[0];var ack=Utils.getAttribute(open,"stanza");return ack="message"!==ack,{action:"open",sid:Utils.getAttribute(open,"sid"),blockSize:Utils.getAttribute(open,"block-size"),ack:ack}}var close=Utils.find(this.xml,NS_IBB,"close");return close.length?{action:"close",sid:Utils.getAttribute(close[0],"sid")}:void 0},set:function(value){if("data"===value.action){var data=Utils.createElement(NS_IBB,"data");Utils.setAttribute(data,"sid",value.sid),Utils.setAttribute(data,"seq",value.seq.toString()),Utils.setText(data,value.data.toString("base64")),this.xml.appendChild(data)}if("open"===value.action){var _open=Utils.createElement(NS_IBB,"open");Utils.setAttribute(_open,"sid",value.sid),Utils.setAttribute(_open,"block-size",(value.blockSize||"4096").toString()),value.ack===!1?Utils.setAttribute(_open,"stanza","message"):Utils.setAttribute(_open,"stanza","iq"),this.xml.appendChild(_open)}if("close"===value.action){var _close=Utils.createElement(NS_IBB,"close");Utils.setAttribute(_close,"sid",value.sid),this.xml.appendChild(_close)}}},JingleIBB=JXT.define({name:"_"+NS_JIBB,namespace:NS_JIBB,element:"transport",tags:["jingle-transport"],fields:{transportType:{value:NS_JIBB},sid:Utils.attribute("sid"),blockSize:Utils.numberAttribute("block-size"),ack:{get:function(){var value=Utils.getAttribute(this.xml,"stanza");return"message"!==value},set:function(value){value.ack===!1?Utils.setAttribute(this.xml,"stanza","message"):Utils.setAttribute(this.xml,"stanza","iq")}}}});JXT.withDefinition("content",_xmppConstants.Namespace.JINGLE_1,function(Content){JXT.extend(Content,JingleIBB)}),JXT.withIQ(function(IQ){JXT.add(IQ,"ibb",IBB)}),JXT.withMessage(function(Message){JXT.add(Message,"ibb",IBB)})},module.exports=exports.default}).call(this,require("buffer").Buffer)},{buffer:6,"xmpp-constants":221}],80:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,ICE=JXT.define({name:"_iceUdp",namespace:_xmppConstants.Namespace.JINGLE_ICE_UDP_1,element:"transport",tags:["jingle-transport"],fields:{transportType:{value:"iceUdp"},pwd:Utils.attribute("pwd"),ufrag:Utils.attribute("ufrag")}}),RemoteCandidate=JXT.define({name:"remoteCandidate",namespace:_xmppConstants.Namespace.JINGLE_ICE_UDP_1,element:"remote-candidate",fields:{component:Utils.attribute("component"),ip:Utils.attribute("ip"),port:Utils.attribute("port")}}),Candidate=JXT.define({name:"_iceUdpCandidate",namespace:_xmppConstants.Namespace.JINGLE_ICE_UDP_1,element:"candidate",fields:{component:Utils.attribute("component"),foundation:Utils.attribute("foundation"),generation:Utils.attribute("generation"),id:Utils.attribute("id"),ip:Utils.attribute("ip"),network:Utils.attribute("network"),port:Utils.attribute("port"),priority:Utils.attribute("priority"),protocol:Utils.attribute("protocol"),relAddr:Utils.attribute("rel-addr"),relPort:Utils.attribute("rel-port"),tcpType:Utils.attribute("tcptype"),type:Utils.attribute("type")}}),Fingerprint=JXT.define({name:"_iceFingerprint",namespace:_xmppConstants.Namespace.JINGLE_DTLS_0,element:"fingerprint",fields:{hash:Utils.attribute("hash"),setup:Utils.attribute("setup"),value:Utils.text(),required:Utils.boolAttribute("required")}}),SctpMap=JXT.define({name:"_sctpMap",namespace:_xmppConstants.Namespace.DTLS_SCTP_1,element:"sctpmap",fields:{number:Utils.attribute("number"),protocol:Utils.attribute("protocol"),streams:Utils.attribute("streams")}});JXT.extend(ICE,Candidate,"candidates"),JXT.extend(ICE,RemoteCandidate),JXT.extend(ICE,Fingerprint,"fingerprints"),JXT.extend(ICE,SctpMap,"sctp"),JXT.withDefinition("content",_xmppConstants.Namespace.JINGLE_1,function(Content){JXT.extend(Content,ICE)})},module.exports=exports.default},{"xmpp-constants":221}],81:[function(require,module,exports){"use strict";var _interopRequireDefault=require("babel-runtime/helpers/interop-require-default").default;Object.defineProperty(exports,"__esModule",{value:!0});var _addresses=require("./addresses"),_addresses2=_interopRequireDefault(_addresses),_avatar=require("./avatar"),_avatar2=_interopRequireDefault(_avatar),_bind=require("./bind"),_bind2=_interopRequireDefault(_bind),_blocking=require("./blocking"),_blocking2=_interopRequireDefault(_blocking),_bob=require("./bob"),_bob2=_interopRequireDefault(_bob),_bookmarks=require("./bookmarks"),_bookmarks2=_interopRequireDefault(_bookmarks),_bosh=require("./bosh"),_bosh2=_interopRequireDefault(_bosh),_carbons=require("./carbons"),_carbons2=_interopRequireDefault(_carbons),_command=require("./command"),_command2=_interopRequireDefault(_command),_csi=require("./csi"),_csi2=_interopRequireDefault(_csi),_dataforms=require("./dataforms"),_dataforms2=_interopRequireDefault(_dataforms),_delayed=require("./delayed"),_delayed2=_interopRequireDefault(_delayed),_disco=require("./disco"),_disco2=_interopRequireDefault(_disco),_error=require("./error"),_error2=_interopRequireDefault(_error),_extdisco=require("./extdisco"),_extdisco2=_interopRequireDefault(_extdisco),_file=require("./file"),_file2=_interopRequireDefault(_file),_file3=require("./file3"),_file32=_interopRequireDefault(_file3),_forwarded=require("./forwarded"),_forwarded2=_interopRequireDefault(_forwarded),_framing=require("./framing"),_framing2=_interopRequireDefault(_framing),_geoloc=require("./geoloc"),_geoloc2=_interopRequireDefault(_geoloc),_hash=require("./hash"),_hash2=_interopRequireDefault(_hash),_hats=require("./hats"),_hats2=_interopRequireDefault(_hats),_iceUdp=require("./iceUdp"),_iceUdp2=_interopRequireDefault(_iceUdp),_ibb=require("./ibb"),_ibb2=_interopRequireDefault(_ibb),_iq=require("./iq"),_iq2=_interopRequireDefault(_iq),_jidprep=require("./jidprep"),_jidprep2=_interopRequireDefault(_jidprep),_jingle=require("./jingle"),_jingle2=_interopRequireDefault(_jingle),_json=require("./json"),_json2=_interopRequireDefault(_json),_logging=require("./logging"),_logging2=_interopRequireDefault(_logging),_mam=require("./mam"),_mam2=_interopRequireDefault(_mam),_message=require("./message"),_message2=_interopRequireDefault(_message),_mood=require("./mood"),_mood2=_interopRequireDefault(_mood),_muc=require("./muc"),_muc2=_interopRequireDefault(_muc),_nick=require("./nick"),_nick2=_interopRequireDefault(_nick),_oob=require("./oob"),_oob2=_interopRequireDefault(_oob),_ping=require("./ping"),_ping2=_interopRequireDefault(_ping),_presence=require("./presence"),_presence2=_interopRequireDefault(_presence),_private=require("./private"),_private2=_interopRequireDefault(_private),_psa=require("./psa"),_psa2=_interopRequireDefault(_psa),_pubsub=require("./pubsub"),_pubsub2=_interopRequireDefault(_pubsub),_pubsubError=require("./pubsubError"),_pubsubError2=_interopRequireDefault(_pubsubError),_pubsubEvents=require("./pubsubEvents"),_pubsubEvents2=_interopRequireDefault(_pubsubEvents),_pubsubOwner=require("./pubsubOwner"),_pubsubOwner2=_interopRequireDefault(_pubsubOwner),_push=require("./push"),_push2=_interopRequireDefault(_push),_reach=require("./reach"),_reach2=_interopRequireDefault(_reach),_register=require("./register"),_register2=_interopRequireDefault(_register),_roster=require("./roster"),_roster2=_interopRequireDefault(_roster),_rsm=require("./rsm"),_rsm2=_interopRequireDefault(_rsm),_rtp=require("./rtp"),_rtp2=_interopRequireDefault(_rtp),_rtt=require("./rtt"),_rtt2=_interopRequireDefault(_rtt),_sasl=require("./sasl"),_sasl2=_interopRequireDefault(_sasl),_session=require("./session"),_session2=_interopRequireDefault(_session),_shim=require("./shim"),_shim2=_interopRequireDefault(_shim),_sm=require("./sm"),_sm2=_interopRequireDefault(_sm),_stream=require("./stream"),_stream2=_interopRequireDefault(_stream),_streamError=require("./streamError"),_streamError2=_interopRequireDefault(_streamError),_streamFeatures=require("./streamFeatures"),_streamFeatures2=_interopRequireDefault(_streamFeatures),_time=require("./time"),_time2=_interopRequireDefault(_time),_tune=require("./tune"),_tune2=_interopRequireDefault(_tune),_vcard=require("./vcard"),_vcard2=_interopRequireDefault(_vcard),_version=require("./version"),_version2=_interopRequireDefault(_version),_visibility=require("./visibility"),_visibility2=_interopRequireDefault(_visibility);exports.default=function(JXT){JXT.use(_addresses2.default),JXT.use(_avatar2.default),JXT.use(_bind2.default),JXT.use(_blocking2.default),JXT.use(_bob2.default),JXT.use(_bookmarks2.default),JXT.use(_bosh2.default),JXT.use(_carbons2.default),JXT.use(_command2.default),JXT.use(_csi2.default),JXT.use(_dataforms2.default),JXT.use(_delayed2.default),JXT.use(_disco2.default),JXT.use(_error2.default),JXT.use(_extdisco2.default),JXT.use(_file2.default),JXT.use(_file32.default),JXT.use(_forwarded2.default),JXT.use(_framing2.default),JXT.use(_geoloc2.default),JXT.use(_hash2.default),JXT.use(_hats2.default),JXT.use(_iceUdp2.default),JXT.use(_ibb2.default),JXT.use(_iq2.default),JXT.use(_jidprep2.default),JXT.use(_jingle2.default),JXT.use(_json2.default),JXT.use(_logging2.default),JXT.use(_mam2.default),JXT.use(_message2.default),JXT.use(_mood2.default),JXT.use(_muc2.default),JXT.use(_nick2.default),JXT.use(_oob2.default),JXT.use(_ping2.default),JXT.use(_presence2.default),JXT.use(_private2.default),JXT.use(_psa2.default),JXT.use(_pubsub2.default),JXT.use(_pubsubError2.default),JXT.use(_pubsubEvents2.default),JXT.use(_pubsubOwner2.default),JXT.use(_push2.default),JXT.use(_reach2.default),JXT.use(_register2.default),JXT.use(_roster2.default),JXT.use(_rsm2.default),JXT.use(_rtp2.default),JXT.use(_rtt2.default),JXT.use(_sasl2.default),JXT.use(_session2.default),JXT.use(_shim2.default),JXT.use(_sm2.default),JXT.use(_stream2.default),JXT.use(_streamError2.default),JXT.use(_streamFeatures2.default),JXT.use(_time2.default),JXT.use(_tune2.default),JXT.use(_vcard2.default),JXT.use(_version2.default),JXT.use(_visibility2.default)},module.exports=exports.default},{"./addresses":57,"./avatar":58,"./bind":59,"./blocking":60,"./bob":61,"./bookmarks":62,"./bosh":63,"./carbons":64,"./command":65,"./csi":66,"./dataforms":67,"./delayed":68,"./disco":69,"./error":70,"./extdisco":71,"./file":72,"./file3":73,"./forwarded":74,"./framing":75,"./geoloc":76,"./hash":77,"./hats":78,"./ibb":79,"./iceUdp":80,"./iq":82,"./jidprep":83,"./jingle":84,"./json":85,"./logging":86,"./mam":87,"./message":88,"./mood":89,"./muc":90,"./nick":91,"./oob":92,"./ping":93,"./presence":94,"./private":95,"./psa":96,"./pubsub":97,"./pubsubError":98,"./pubsubEvents":99,"./pubsubOwner":100,"./push":101,"./reach":102,"./register":103,"./roster":104,"./rsm":105,"./rtp":106,"./rtt":107,"./sasl":108,"./session":109,"./shim":110,"./sm":111,"./stream":112,"./streamError":113,"./streamFeatures":114,"./time":115,"./tune":116,"./vcard":117,"./version":118,"./visibility":119,"babel-runtime/helpers/interop-require-default":2}],82:[function(require,module,exports){"use strict";var _Object$assign=require("babel-runtime/core-js/object/assign").default;Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),internals={};internals.defineIQ=function(JXT,name,namespace){var Utils=JXT.utils,IQ=JXT.define({name:name,namespace:namespace,element:"iq",topLevel:!0,fields:{lang:Utils.langAttribute(),id:Utils.attribute("id"),to:Utils.jidAttribute("to",!0),from:Utils.jidAttribute("from",!0),type:Utils.attribute("type")}}),_toJSON=IQ.prototype.toJSON;_Object$assign(IQ.prototype,{toJSON:function(){var result=_toJSON.call(this);return result.resultReply=this.resultReply,result.errorReply=this.errorReply,result},resultReply:function(data){return data=data||{},data.to=this.from,data.id=this.id,
+data.type="result",new IQ(data)},errorReply:function(data){return data=data||{},data.to=this.from,data.id=this.id,data.type="error",new IQ(data)}})},exports.default=function(JXT){internals.defineIQ(JXT,"iq",_xmppConstants.Namespace.CLIENT),internals.defineIQ(JXT,"serverIQ",_xmppConstants.Namespace.SERVER),internals.defineIQ(JXT,"componentIQ",_xmppConstants.Namespace.COMPONENT)},module.exports=exports.default},{"babel-runtime/core-js/object/assign":1,"xmpp-constants":221}],83:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),_xmppJid=require("xmpp-jid");exports.default=function(JXT){JXT.withIQ(function(IQ){JXT.add(IQ,"jidPrep",{get:function(){var data=JXT.utils.getSubText(this.xml,_xmppConstants.Namespace.JID_PREP_0,"jid");if(data){var jid=new _xmppJid.JID(data);return jid.prepped=!0,jid}},set:function(value){JXT.utils.setSubText(this.xml,_xmppConstants.Namespace.JID_PREP_0,"jid",(value||"").toString())}})})},module.exports=exports.default},{"xmpp-constants":221,"xmpp-jid":227}],84:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),CONDITIONS=["out-of-order","tie-break","unknown-session","unsupported-info"],REASONS=["alternative-session","busy","cancel","connectivity-error","decline","expired","failed-application","failed-transport","general-error","gone","incompatible-parameters","media-error","security-error","success","timeout","unsupported-applications","unsupported-transports"];exports.default=function(JXT){var Utils=JXT.utils,Jingle=JXT.define({name:"jingle",namespace:_xmppConstants.Namespace.JINGLE_1,element:"jingle",fields:{action:Utils.attribute("action"),initiator:Utils.attribute("initiator"),responder:Utils.attribute("responder"),sid:Utils.attribute("sid"),info:{get:function(){for(var opts=JXT.tagged("jingle-info").map(function(Info){return Info.prototype._name}),i=0,len=opts.length;i<len;i++)if(this._extensions[opts[i]])return this._extensions[opts[i]];if("session-info"===Utils.getAttribute(this.xml,"action"))return 0===this.xml.children.length?{infoType:"ping"}:{infoType:"unknown"}},set:function(value){if("ping"!==value.infoType){var ext="_"+value.infoType;this[ext]=value}}}}}),Content=JXT.define({name:"_jingleContent",namespace:_xmppConstants.Namespace.JINGLE_1,element:"content",fields:{creator:Utils.attribute("creator"),disposition:Utils.attribute("disposition","session"),name:Utils.attribute("name"),senders:Utils.attribute("senders","both"),application:{get:function(){for(var opts=JXT.tagged("jingle-application").map(function(Description){return Description.prototype._name}),i=0,len=opts.length;i<len;i++)if(this._extensions[opts[i]])return this._extensions[opts[i]]},set:function(value){var ext="_"+value.applicationType;this[ext]=value}},transport:{get:function(){for(var opts=JXT.tagged("jingle-transport").map(function(Transport){return Transport.prototype._name}),i=0,len=opts.length;i<len;i++)if(this._extensions[opts[i]])return this._extensions[opts[i]]},set:function(value){var ext="_"+value.transportType;this[ext]=value}},security:{get:function(){for(var opts=JXT.tagged("jingle-security").map(function(Info){return Security.prototype._name}),i=0,len=opts.length;i<len;i++)if(this._extensions[opts[i]])return this._extensions[opts[i]]},set:function(value){var ext="_"+value.securityType;this[ext]=value}}}}),Reason=JXT.define({name:"reason",namespace:_xmppConstants.Namespace.JINGLE_1,element:"reason",fields:{condition:Utils.enumSub(_xmppConstants.Namespace.JINGLE_1,REASONS),alternativeSession:{get:function(){return Utils.getSubText(this.xml,_xmppConstants.Namespace.JINGLE_1,"alternative-session")},set:function(value){this.condition="alternative-session",Utils.setSubText(this.xml,_xmppConstants.Namespace.JINGLE_1,"alternative-session",value)}},text:Utils.textSub(_xmppConstants.Namespace.JINGLE_1,"text")}});JXT.extend(Jingle,Content,"contents"),JXT.extend(Jingle,Reason),JXT.extendIQ(Jingle),JXT.withStanzaError(function(StanzaError){JXT.add(StanzaError,"jingleCondition",Utils.enumSub(_xmppConstants.Namespace.JINGLE_ERRORS_1,CONDITIONS))})},module.exports=exports.default},{"xmpp-constants":221}],85:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var JSONExtension={get:function(){var data=JXT.utils.getSubText(this.xml,_xmppConstants.Namespace.JSON_0,"json");if(data)return JSON.parse(data)},set:function(value){value=JSON.stringify(value),value&&JXT.utils.setSubText(this.xml,_xmppConstants.Namespace.JSON_0,"json",value)}};JXT.withMessage(function(Message){JXT.add(Message,"json",JSONExtension)}),JXT.withPubsubItem(function(Item){JXT.add(Item,"json",JSONExtension)})},module.exports=exports.default},{"xmpp-constants":221}],86:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Log=JXT.define({name:"log",namespace:_xmppConstants.Namespace.EVENTLOG,element:"log",fields:{id:Utils.attribute("id"),timestamp:Utils.dateAttribute("timestamp"),type:Utils.attribute("type"),level:Utils.attribute("level"),object:Utils.attribute("object"),subject:Utils.attribute("subject"),facility:Utils.attribute("facility"),module:Utils.attribute("module"),message:Utils.textSub(_xmppConstants.Namespace.EVENTLOG,"message"),stackTrace:Utils.textSub(_xmppConstants.Namespace.EVENTLOG,"stackTrace")}}),Tag=JXT.define({name:"_logtag",namespace:_xmppConstants.Namespace.EVENTLOG,element:"tag",fields:{name:Utils.attribute("name"),value:Utils.attribute("value"),type:Utils.attribute("type")}});JXT.extend(Log,Tag,"tags"),JXT.extendMessage(Log),JXT.extendPubsubItem(Log)},module.exports=exports.default},{"xmpp-constants":221}],87:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),_xmppJid=require("xmpp-jid");exports.default=function(JXT){var Utils=JXT.utils,MAMQuery=JXT.define({name:"mam",namespace:_xmppConstants.Namespace.MAM_0,element:"query",fields:{queryid:Utils.attribute("queryid")}}),Result=JXT.define({name:"mamItem",namespace:_xmppConstants.Namespace.MAM_0,element:"result",fields:{queryid:Utils.attribute("queryid"),id:Utils.attribute("id")}}),Fin=JXT.define({name:"mamResult",namespace:_xmppConstants.Namespace.MAM_0,element:"fin",fields:{queryid:Utils.attribute("queryid"),complete:Utils.boolAttribute("complete"),stable:Utils.boolAttribute("stable")}}),Prefs=JXT.define({name:"mamPrefs",namespace:_xmppConstants.Namespace.MAM_0,element:"prefs",fields:{defaultCondition:Utils.attribute("default"),always:{get:function(){var results=[],container=Utils.find(this.xml,_xmppConstants.Namespace.MAM_0,"always");if(0===container.length)return results;container=container[0];var jids=Utils.getMultiSubText(container,_xmppConstants.Namespace.MAM_0,"jid");return jids.forEach(function(jid){results.push(new _xmppJid.JID(jid.textContent))}),results},set:function(value){if(value.length>0){var container=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.MAM_0,"always");Utils.setMultiSubText(container,_xmppConstants.Namespace.MAM_0,"jid",value)}}},never:{get:function(){var results=[],container=Utils.find(this.xml,_xmppConstants.Namespace.MAM_0,"always");if(0===container.length)return results;container=container[0];var jids=Utils.getMultiSubText(container,_xmppConstants.Namespace.MAM_0,"jid");return jids.forEach(function(jid){results.push(new _xmppJid.JID(jid.textContent))}),results},set:function(value){if(value.length>0){var container=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.MAM_0,"never");Utils.setMultiSubText(container,_xmppConstants.Namespace.MAM_0,"jid",value)}}}}});JXT.extendMessage(Result),JXT.extendMessage(Fin),JXT.extendIQ(MAMQuery),JXT.extendIQ(Prefs),JXT.withDataForm(function(DataForm){JXT.extend(MAMQuery,DataForm)}),JXT.withDefinition("forwarded",_xmppConstants.Namespace.FORWARD_0,function(Forwarded){JXT.extend(Result,Forwarded)}),JXT.withDefinition("set",_xmppConstants.Namespace.RSM,function(RSM){JXT.extend(MAMQuery,RSM),JXT.extend(Fin,RSM)})},module.exports=exports.default},{"xmpp-constants":221,"xmpp-jid":227}],88:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),internals={};internals.defineMessage=function(JXT,name,namespace){var Utils=JXT.utils;JXT.define({name:name,namespace:namespace,element:"message",topLevel:!0,fields:{lang:Utils.langAttribute(),id:Utils.attribute("id"),to:Utils.jidAttribute("to",!0),from:Utils.jidAttribute("from",!0),type:Utils.attribute("type","normal"),thread:Utils.textSub(namespace,"thread"),parentThread:Utils.subAttribute(namespace,"thread","parent"),subject:Utils.textSub(namespace,"subject"),$body:{get:function(){return Utils.getSubLangText(this.xml,namespace,"body",this.lang)}},body:{get:function(){var bodies=this.$body;return bodies[this.lang]||""},set:function(value){Utils.setSubLangText(this.xml,namespace,"body",value,this.lang)}},attention:Utils.boolSub(_xmppConstants.Namespace.ATTENTION_0,"attention"),chatState:Utils.enumSub(_xmppConstants.Namespace.CHAT_STATES,["active","composing","paused","inactive","gone"]),replace:Utils.subAttribute(_xmppConstants.Namespace.CORRECTION_0,"replace","id"),requestReceipt:Utils.boolSub(_xmppConstants.Namespace.RECEIPTS,"request"),receipt:Utils.subAttribute(_xmppConstants.Namespace.RECEIPTS,"received","id")}})},exports.default=function(JXT){internals.defineMessage(JXT,"message",_xmppConstants.Namespace.CLIENT),internals.defineMessage(JXT,"serverMessage",_xmppConstants.Namespace.SERVER),internals.defineMessage(JXT,"componentMessage",_xmppConstants.Namespace.COMPONENT)},module.exports=exports.default},{"xmpp-constants":221}],89:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),MOODS=["afraid","amazed","amorous","angry","annoyed","anxious","aroused","ashamed","bored","brave","calm","cautious","cold","confident","confused","contemplative","contented","cranky","crazy","creative","curious","dejected","depressed","disappointed","disgusted","dismayed","distracted","embarrassed","envious","excited","flirtatious","frustrated","grateful","grieving","grumpy","guilty","happy","hopeful","hot","humbled","humiliated","hungry","hurt","impressed","in_awe","in_love","indignant","interested","intoxicated","invincible","jealous","lonely","lucky","mean","moody","nervous","neutral","offended","outraged","playful","proud","relaxed","relieved","remorseful","restless","sad","sarcastic","serious","shocked","shy","sick","sleepy","spontaneous","stressed","strong","surprised","thankful","thirsty","tired","undefined","weak","worried"];exports.default=function(JXT){var Mood=JXT.define({name:"mood",namespace:_xmppConstants.Namespace.MOOD,element:"mood",fields:{text:JXT.utils.textSub(_xmppConstants.Namespace.MOOD,"text"),value:JXT.utils.enumSub(_xmppConstants.Namespace.MOOD,MOODS)}});JXT.extendMessage(Mood),JXT.extendPubsubItem(Mood)},module.exports=exports.default},{"xmpp-constants":221}],90:[function(require,module,exports){"use strict";function proxy(child,field){return{get:function(){if(this._extensions[child])return this[child][field]},set:function(value){this[child][field]=value}}}Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,UserItem=JXT.define({name:"_mucUserItem",namespace:_xmppConstants.Namespace.MUC_USER,element:"item",fields:{affiliation:Utils.attribute("affiliation"),nick:Utils.attribute("nick"),jid:Utils.jidAttribute("jid"),role:Utils.attribute("role"),reason:Utils.textSub(_xmppConstants.Namespace.MUC_USER,"reason")}}),UserActor=JXT.define({name:"_mucUserActor",namespace:_xmppConstants.Namespace.MUC_USER,element:"actor",fields:{nick:Utils.attribute("nick"),jid:Utils.jidAttribute("jid")}}),Destroyed=JXT.define({name:"destroyed",namespace:_xmppConstants.Namespace.MUC_USER,element:"destroy",fields:{jid:Utils.jidAttribute("jid"),reason:Utils.textSub(_xmppConstants.Namespace.MUC_USER,"reason")}}),Invite=JXT.define({name:"invite",namespace:_xmppConstants.Namespace.MUC_USER,element:"invite",fields:{to:Utils.jidAttribute("to"),from:Utils.jidAttribute("from"),reason:Utils.textSub(_xmppConstants.Namespace.MUC_USER,"reason"),thread:Utils.subAttribute(_xmppConstants.Namespace.MUC_USER,"continue","thread"),continue:Utils.boolSub(_xmppConstants.Namespace.MUC_USER,"continue")}}),Decline=JXT.define({name:"decline",namespace:_xmppConstants.Namespace.MUC_USER,element:"decline",fields:{to:Utils.jidAttribute("to"),from:Utils.jidAttribute("from"),reason:Utils.textSub(_xmppConstants.Namespace.MUC_USER,"reason")}}),AdminItem=JXT.define({name:"_mucAdminItem",namespace:_xmppConstants.Namespace.MUC_ADMIN,element:"item",fields:{affiliation:Utils.attribute("affiliation"),nick:Utils.attribute("nick"),jid:Utils.jidAttribute("jid"),role:Utils.attribute("role"),reason:Utils.textSub(_xmppConstants.Namespace.MUC_ADMIN,"reason")}}),AdminActor=JXT.define({name:"actor",namespace:_xmppConstants.Namespace.MUC_USER,element:"actor",fields:{nick:Utils.attribute("nick"),jid:Utils.jidAttribute("jid")}}),Destroy=JXT.define({name:"destroy",namespace:_xmppConstants.Namespace.MUC_OWNER,element:"destroy",fields:{jid:Utils.jidAttribute("jid"),password:Utils.textSub(_xmppConstants.Namespace.MUC_OWNER,"password"),reason:Utils.textSub(_xmppConstants.Namespace.MUC_OWNER,"reason")}}),MUC=JXT.define({name:"muc",namespace:_xmppConstants.Namespace.MUC_USER,element:"x",fields:{affiliation:proxy("_mucUserItem","affiliation"),nick:proxy("_mucUserItem","nick"),jid:proxy("_mucUserItem","jid"),role:proxy("_mucUserItem","role"),actor:proxy("_mucUserItem","_mucUserActor"),reason:proxy("_mucUserItem","reason"),password:Utils.textSub(_xmppConstants.Namespace.MUC_USER,"password"),codes:{get:function(){return Utils.getMultiSubText(this.xml,_xmppConstants.Namespace.MUC_USER,"status",function(sub){return Utils.getAttribute(sub,"code")})},set:function(value){var self=this;Utils.setMultiSubText(this.xml,_xmppConstants.Namespace.MUC_USER,"status",value,function(val){var child=Utils.createElement(_xmppConstants.Namespace.MUC_USER,"status",_xmppConstants.Namespace.MUC_USER);Utils.setAttribute(child,"code",val),self.xml.appendChild(child)})}}}}),MUCAdmin=JXT.define({name:"mucAdmin",namespace:_xmppConstants.Namespace.MUC_ADMIN,element:"query",fields:{affiliation:proxy("_mucAdminItem","affiliation"),nick:proxy("_mucAdminItem","nick"),jid:proxy("_mucAdminItem","jid"),role:proxy("_mucAdminItem","role"),actor:proxy("_mucAdminItem","_mucAdminActor"),reason:proxy("_mucAdminItem","reason")}}),MUCOwner=JXT.define({name:"mucOwner",namespace:_xmppConstants.Namespace.MUC_OWNER,element:"query"}),MUCJoin=JXT.define({name:"joinMuc",namespace:_xmppConstants.Namespace.MUC,element:"x",fields:{password:Utils.textSub(_xmppConstants.Namespace.MUC,"password"),history:{get:function(){var result={},hist=Utils.find(this.xml,_xmppConstants.Namespace.MUC,"history");if(!hist.length)return{};hist=hist[0];var maxchars=hist.getAttribute("maxchars")||"",maxstanzas=hist.getAttribute("maxstanzas")||"",seconds=hist.getAttribute("seconds")||"",since=hist.getAttribute("since")||"";maxchars&&(result.maxchars=parseInt(maxchars,10)),maxstanzas&&(result.maxstanzas=parseInt(maxstanzas,10)),seconds&&(result.seconds=parseInt(seconds,10)),since&&(result.since=new Date(since))},set:function(opts){var existing=Utils.find(this.xml,_xmppConstants.Namespace.MUC,"history");if(existing.length)for(var i=0;i<existing.length;i++)this.xml.removeChild(existing[i]);var hist=Utils.createElement(_xmppConstants.Namespace.MUC,"history",_xmppConstants.Namespace.MUC);this.xml.appendChild(hist),opts.maxchars&&hist.setAttribute("maxchars",""+opts.maxchars),opts.maxstanzas&&hist.setAttribute("maxstanzas",""+opts.maxstanzas),opts.seconds&&hist.setAttribute("seconds",""+opts.seconds),opts.since&&hist.setAttribute("since",opts.since.toISOString())}}}}),DirectInvite=JXT.define({name:"mucInvite",namespace:_xmppConstants.Namespace.MUC_DIRECT_INVITE,element:"x",fields:{jid:Utils.jidAttribute("jid"),password:Utils.attribute("password"),reason:Utils.attribute("reason"),thread:Utils.attribute("thread"),continue:Utils.boolAttribute("continue")}});JXT.extend(UserItem,UserActor),JXT.extend(MUC,UserItem),JXT.extend(MUC,Invite,"invites"),JXT.extend(MUC,Decline),JXT.extend(MUC,Destroyed),JXT.extend(AdminItem,AdminActor),JXT.extend(MUCAdmin,AdminItem,"items"),JXT.extend(MUCOwner,Destroy),JXT.extendPresence(MUC),JXT.extendPresence(MUCJoin),JXT.extendMessage(MUC),JXT.extendMessage(DirectInvite),JXT.withIQ(function(IQ){JXT.add(IQ,"mucUnique",Utils.textSub(_xmppConstants.Namespace.MUC_UNIQUE,"unique")),JXT.extend(IQ,MUCAdmin),JXT.extend(IQ,MUCOwner)}),JXT.withDataForm(function(DataForm){JXT.extend(MUCOwner,DataForm)})},module.exports=exports.default},{"xmpp-constants":221}],91:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var nick=JXT.utils.textSub(_xmppConstants.Namespace.NICK,"nick");JXT.withPubsubItem(function(Item){JXT.add(Item,"nick",nick)}),JXT.withPresence(function(Presence){JXT.add(Presence,"nick",nick)}),JXT.withMessage(function(Message){JXT.add(Message,"nick",nick)})},module.exports=exports.default},{"xmpp-constants":221}],92:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var OOB=JXT.define({name:"oob",element:"x",namespace:_xmppConstants.Namespace.OOB,fields:{url:JXT.utils.textSub(_xmppConstants.Namespace.OOB,"url"),desc:JXT.utils.textSub(_xmppConstants.Namespace.OOB,"desc")}});JXT.extendMessage(OOB,"oobURIs")},module.exports=exports.default},{"xmpp-constants":221}],93:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Ping=JXT.define({name:"ping",namespace:_xmppConstants.Namespace.PING,element:"ping"});JXT.extendIQ(Ping)},module.exports=exports.default},{"xmpp-constants":221}],94:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),internals={};internals.definePresence=function(JXT,name,namespace){var Utils=JXT.utils;JXT.define({name:name,namespace:namespace,element:"presence",topLevel:!0,fields:{lang:Utils.langAttribute(),id:Utils.attribute("id"),to:Utils.jidAttribute("to",!0),from:Utils.jidAttribute("from",!0),priority:Utils.numberSub(namespace,"priority",!1,0),show:Utils.textSub(namespace,"show"),type:{get:function(){return Utils.getAttribute(this.xml,"type","available")},set:function(value){"available"===value&&(value=!1),Utils.setAttribute(this.xml,"type",value)}},$status:{get:function(){return Utils.getSubLangText(this.xml,namespace,"status",this.lang)}},status:{get:function(){var statuses=this.$status;return statuses[this.lang]||""},set:function(value){Utils.setSubLangText(this.xml,namespace,"status",value,this.lang)}},idleSince:Utils.dateSubAttribute(_xmppConstants.Namespace.IDLE_1,"idle","since"),decloak:Utils.subAttribute(_xmppConstants.Namespace.DECLOAK_0,"decloak","reason"),avatarId:{get:function(){var update=Utils.find(this.xml,_xmppConstants.Namespace.VCARD_TEMP_UPDATE,"x");return update.length?Utils.getSubText(update[0],_xmppConstants.Namespace.VCARD_TEMP_UPDATE,"photo"):""},set:function(value){var update=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.VCARD_TEMP_UPDATE,"x");if(""===value)Utils.setBoolSub(update,_xmppConstants.Namespace.VCARD_TEMP_UPDATE,"photo",!0);else{if(value===!0)return;value?Utils.setSubText(update,_xmppConstants.Namespace.VCARD_TEMP_UPDATE,"photo",value):this.xml.removeChild(update)}}}}})},exports.default=function(JXT){internals.definePresence(JXT,"presence",_xmppConstants.Namespace.CLIENT),internals.definePresence(JXT,"serverPresence",_xmppConstants.Namespace.SERVER),internals.definePresence(JXT,"componentPresence",_xmppConstants.Namespace.COMPONENT)},module.exports=exports.default},{"xmpp-constants":221}],95:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var PrivateStorage=JXT.define({name:"privateStorage",namespace:_xmppConstants.Namespace.PRIVATE,element:"query"});JXT.extendIQ(PrivateStorage)},module.exports=exports.default},{"xmpp-constants":221}],96:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),CONDITIONS=["server-unavailable","connection-paused"];exports.default=function(JXT){var PSA=JXT.define({name:"state",namespace:_xmppConstants.Namespace.PSA,element:"state-annotation",fields:{from:JXT.utils.jidAttribute("from"),condition:JXT.utils.enumSub(_xmppConstants.Namespace.PSA,CONDITIONS),description:JXT.utils.textSub(_xmppConstants.Namespace.PSA,"description")}});JXT.extendPresence(PSA)},module.exports=exports.default},{"xmpp-constants":221}],97:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Pubsub=JXT.define({name:"pubsub",namespace:_xmppConstants.Namespace.PUBSUB,element:"pubsub",fields:{create:{get:function(){var node=Utils.getSubAttribute(this.xml,_xmppConstants.Namespace.PUBSUB,"create","node");return node?node:Utils.getBoolSub(this.xml,_xmppConstants.Namespace.PUBSUB,"create")},set:function(value){value!==!0&&value?Utils.setSubAttribute(this.xml,_xmppConstants.Namespace.PUBSUB,"create","node",value):Utils.setBoolSub(this.xml,_xmppConstants.Namespace.PUBSUB,"create",value)}},publishOptions:{get:function(){var DataForm=JXT.getDefinition("x",_xmppConstants.Namespace.DATAFORM),conf=Utils.find(this.xml,_xmppConstants.Namespace.PUBSUB,"publish-options");if(conf.length&&conf[0].childNodes.length)return new DataForm({},conf[0].childNodes[0])},set:function(value){var DataForm=JXT.getDefinition("x",_xmppConstants.Namespace.DATAFORM),conf=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.PUBSUB,"publish-options");if(value){var form=new DataForm(value);conf.appendChild(form.xml)}}}}}),Configure=JXT.define({name:"config",namespace:_xmppConstants.Namespace.PUBSUB,element:"configure"}),Subscribe=JXT.define({name:"subscribe",namespace:_xmppConstants.Namespace.PUBSUB,element:"subscribe",fields:{node:Utils.attribute("node"),jid:Utils.jidAttribute("jid")}}),Subscription=JXT.define({name:"subscription",namespace:_xmppConstants.Namespace.PUBSUB,element:"subscription",fields:{node:Utils.attribute("node"),jid:Utils.jidAttribute("jid"),subid:Utils.attribute("subid"),type:Utils.attribute("subscription"),configurable:Utils.boolSub("subscribe-options"),configurationRequired:{get:function(){var options=Utils.find(this.xml,_xmppConstants.Namespace.PUBSUB,"subscribe-options");return!!options.length&&Utils.getBoolSub(options[0],_xmppConstants.Namespace.PUBSUB,"required")}}}}),Subscriptions=JXT.define({name:"subscriptions",namespace:_xmppConstants.Namespace.PUBSUB,element:"subscriptions",fields:{node:Utils.attribute("node"),jid:Utils.jidAttribute("jid")}}),Affiliation=JXT.define({name:"affiliation",namespace:_xmppConstants.Namespace.PUBSUB,element:"affiliation",fields:{node:Utils.attribute("node"),type:Utils.attribute("affiliation")}}),Affiliations=JXT.define({name:"affiliations",namespace:_xmppConstants.Namespace.PUBSUB,element:"affiliations",fields:{node:Utils.attribute("node")}}),SubscriptionOptions=JXT.define({name:"subscriptionOptions",namespace:_xmppConstants.Namespace.PUBSUB,element:"options",fields:{node:Utils.attribute("node"),jid:Utils.jidAttribute("jid"),subid:Utils.attribute("subid")}}),Unsubscribe=JXT.define({name:"unsubscribe",namespace:_xmppConstants.Namespace.PUBSUB,element:"unsubscribe",fields:{node:Utils.attribute("node"),subid:Utils.attribute("subid"),jid:Utils.jidAttribute("jid")}}),Publish=JXT.define({name:"publish",namespace:_xmppConstants.Namespace.PUBSUB,element:"publish",fields:{node:Utils.attribute("node")}}),Retract=JXT.define({name:"retract",namespace:_xmppConstants.Namespace.PUBSUB,element:"retract",fields:{node:Utils.attribute("node"),notify:Utils.boolAttribute("notify"),id:Utils.subAttribute(_xmppConstants.Namespace.PUBSUB,"item","id")}}),Retrieve=JXT.define({name:"retrieve",namespace:_xmppConstants.Namespace.PUBSUB,element:"items",fields:{node:Utils.attribute("node"),max:Utils.attribute("max_items")}}),Item=JXT.define({name:"item",namespace:_xmppConstants.Namespace.PUBSUB,element:"item",fields:{id:Utils.attribute("id"),publisher:Utils.jidAttribute("publisher")}});JXT.extend(Pubsub,Configure),JXT.extend(Pubsub,Subscribe),JXT.extend(Pubsub,Unsubscribe),JXT.extend(Pubsub,Publish),JXT.extend(Pubsub,Retract),JXT.extend(Pubsub,Retrieve),JXT.extend(Pubsub,Subscription),JXT.extend(Pubsub,SubscriptionOptions),JXT.extend(Pubsub,Subscriptions),JXT.extend(Pubsub,Affiliations),JXT.extend(Publish,Item,"items"),JXT.extend(Retrieve,Item,"items"),JXT.extend(Subscriptions,Subscription,"list"),JXT.extend(Affiliations,Affiliation,"list"),JXT.extendIQ(Pubsub),JXT.withDataForm(function(DataForm){JXT.extend(SubscriptionOptions,DataForm),JXT.extend(Item,DataForm),JXT.extend(Configure,DataForm)}),JXT.withDefinition("set",_xmppConstants.Namespace.RSM,function(RSM){JXT.extend(Pubsub,RSM)})},module.exports=exports.default},{"xmpp-constants":221}],98:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),CONDITIONS=["closed-node","configuration-required","invalid-jid","invalid-options","invalid-payload","invalid-subid","item-forbidden","item-required","jid-required","max-items-exceeded","max-nodes-exceeded","nodeid-required","not-in-roster-group","not-subscribed","payload-too-big","payload-required","pending-subscription","presence-subscription-required","subid-required","too-many-subscriptions","unsupported","unsupported-access-model"];exports.default=function(JXT){JXT.withStanzaError(function(StanzaError){JXT.add(StanzaError,"pubsubCondition",JXT.utils.enumSub(_xmppConstants.Namespace.PUBSUB_ERRORS,CONDITIONS)),JXT.add(StanzaError,"pubsubUnsupportedFeature",{get:function(){return JXT.utils.getSubAttribute(this.xml,_xmppConstants.Namespace.PUBSUB_ERRORS,"unsupported","feature")},set:function(value){value&&(this.pubsubCondition="unsupported"),JXT.utils.setSubAttribute(this.xml,_xmppConstants.Namespace.PUBSUB_ERRORS,"unsupported","feature",value)}})})},module.exports=exports.default},{"xmpp-constants":221}],99:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Event=JXT.define({name:"event",namespace:_xmppConstants.Namespace.PUBSUB_EVENT,element:"event"}),EventPurge=JXT.define({name:"purged",namespace:_xmppConstants.Namespace.PUBSUB_EVENT,element:"purge",fields:{node:Utils.attribute("node")}}),EventDelete=JXT.define({name:"deleted",namespace:_xmppConstants.Namespace.PUBSUB_EVENT,element:"delete",fields:{node:Utils.attribute("node"),redirect:Utils.subAttribute(_xmppConstants.Namespace.PUBSUB_EVENT,"redirect","uri")}}),EventSubscription=JXT.define({name:"subscriptionChanged",namespace:_xmppConstants.Namespace.PUBSUB_EVENT,element:"subscription",fields:{node:Utils.attribute("node"),jid:Utils.jidAttribute("jid"),type:Utils.attribute("subscription"),subid:Utils.attribute("subid"),expiry:{get:function(){var text=Utils.getAttribute(this.xml,"expiry");return"presence"===text?text:text?new Date(text):void 0},set:function(value){value&&("string"!=typeof value&&(value=value.toISOString()),Utils.setAttribute(this.xml,"expiry",value))}}}}),EventConfiguration=JXT.define({name:"configurationChanged",namespace:_xmppConstants.Namespace.PUBSUB_EVENT,element:"configuration",fields:{node:Utils.attribute("node")}}),EventItems=JXT.define({name:"updated",namespace:_xmppConstants.Namespace.PUBSUB_EVENT,element:"items",fields:{node:Utils.attribute("node"),retracted:{get:function(){var results=[],retracted=Utils.find(this.xml,_xmppConstants.Namespace.PUBSUB_EVENT,"retract");return retracted.forEach(function(xml){results.push(xml.getAttribute("id"))}),results},set:function(value){value.forEach(function(id){var retracted=Utils.createElement(_xmppConstants.Namespace.PUBSUB_EVENT,"retract",_xmppConstants.Namespace.PUBSUB_EVENT);retracted.setAttribute("id",id),this.xml.appendChild(retracted)})}}}}),EventItem=JXT.define({name:"_eventItem",namespace:_xmppConstants.Namespace.PUBSUB_EVENT,element:"item",fields:{id:Utils.attribute("id"),node:Utils.attribute("node"),publisher:Utils.jidAttribute("publisher")}});JXT.extend(EventItems,EventItem,"published"),JXT.extend(Event,EventItems),JXT.extend(Event,EventSubscription),JXT.extend(Event,EventConfiguration),JXT.extend(Event,EventDelete),JXT.extend(Event,EventPurge),JXT.extendMessage(Event),JXT.withDataForm(function(DataForm){JXT.extend(EventConfiguration,DataForm)})},module.exports=exports.default},{"xmpp-constants":221}],100:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,PubsubOwner=JXT.define({name:"pubsubOwner",namespace:_xmppConstants.Namespace.PUBSUB_OWNER,element:"pubsub",fields:{purge:Utils.subAttribute(_xmppConstants.Namespace.PUBSUB_OWNER,"purge","node"),del:Utils.subAttribute(_xmppConstants.Namespace.PUBSUB_OWNER,"delete","node"),redirect:{get:function(){var del=Utils.find(this.xml,_xmppConstants.Namespace.PUBSUB_OWNER,"delete");return del.length?Utils.getSubAttribute(del[0],_xmppConstants.Namespace.PUBSUB_OWNER,"redirect","uri"):""},set:function(value){var del=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.PUBSUB_OWNER,"delete");Utils.setSubAttribute(del,_xmppConstants.Namespace.PUBSUB_OWNER,"redirect","uri",value)}}}}),Subscription=JXT.define({name:"subscription",namespace:_xmppConstants.Namespace.PUBSUB_OWNER,element:"subscription",fields:{node:Utils.attribute("node"),jid:Utils.jidAttribute("jid"),subid:Utils.attribute("subid"),type:Utils.attribute("subscription"),configurable:Utils.boolSub("subscribe-options"),configurationRequired:{get:function(){var options=Utils.find(this.xml,_xmppConstants.Namespace.PUBSUB_OWNER,"subscribe-options");return!!options.length&&Utils.getBoolSub(options[0],_xmppConstants.Namespace.PUBSUB_OWNER,"required")}}}}),Subscriptions=JXT.define({name:"subscriptions",namespace:_xmppConstants.Namespace.PUBSUB_OWNER,element:"subscriptions",fields:{node:Utils.attribute("node")}}),Affiliation=JXT.define({name:"affiliation",namespace:_xmppConstants.Namespace.PUBSUB_OWNER,element:"affiliation",fields:{jid:Utils.jidAttribute("jid"),type:Utils.attribute("affiliation")}}),Affiliations=JXT.define({name:"affiliations",namespace:_xmppConstants.Namespace.PUBSUB_OWNER,element:"affiliations",fields:{node:Utils.attribute("node")}}),Configure=JXT.define({name:"config",namespace:_xmppConstants.Namespace.PUBSUB_OWNER,element:"configure",fields:{node:Utils.attribute("node")}});JXT.extend(PubsubOwner,Configure),JXT.extend(PubsubOwner,Subscriptions),JXT.extend(PubsubOwner,Affiliations),JXT.extend(Subscriptions,Subscription,"list"),JXT.extend(Affiliations,Affiliation,"list"),JXT.extendIQ(PubsubOwner),JXT.withDataForm(function(DataForm){JXT.extend(Configure,DataForm)})},module.exports=exports.default;
+},{"xmpp-constants":221}],101:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Enable=JXT.define({name:"enablePush",element:"enable",namespace:_xmppConstants.Namespace.PUSH_0,fields:{jid:Utils.jidAttribute("jid"),node:Utils.attribute("node")}}),Disable=JXT.define({name:"disablePush",element:"disable",namespace:_xmppConstants.Namespace.PUSH_0,fields:{jid:Utils.jidAttribute("jid"),node:Utils.attribute("node")}}),Notification=JXT.define({name:"pushNotification",element:"notification",namespace:_xmppConstants.Namespace.PUSH_0});JXT.withDataForm(function(DataForm){JXT.extend(Notification,DataForm),JXT.extend(Enable,DataForm)}),JXT.extendIQ(Enable),JXT.extendIQ(Disable)},module.exports=exports.default},{"xmpp-constants":221}],102:[function(require,module,exports){"use strict";var _interopRequireDefault=require("babel-runtime/helpers/interop-require-default").default;Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),_lodashForeach=require("lodash.foreach"),_lodashForeach2=_interopRequireDefault(_lodashForeach);exports.default=function(JXT){var Utils=JXT.utils,ReachURI=JXT.define({name:"_reachAddr",namespace:_xmppConstants.Namespace.REACH_0,element:"addr",fields:{uri:Utils.attribute("uri"),$desc:{get:function(){return Utils.getSubLangText(this.xml,_xmppConstants.Namespace.REACH_0,"desc",this.lang)}},desc:{get:function(){var descs=this.$desc;return descs[this.lang]||""},set:function(value){Utils.setSubLangText(this.xml,_xmppConstants.Namespace.REACH_0,"desc",value,this.lang)}}}}),reachability={get:function(){var reach=Utils.find(this.xml,_xmppConstants.Namespace.REACH_0,"reach"),results=[];if(reach.length){var addrs=Utils.find(reach[0],_xmppConstants.Namespace.REACH_0,"addr");(0,_lodashForeach2.default)(addrs,function(addr){results.push(new ReachURI({},addr))})}return results},set:function(value){var reach=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.REACH_0,"reach");Utils.setAttribute(reach,"xmlns",_xmppConstants.Namespace.REACH_0),(0,_lodashForeach2.default)(value,function(info){var addr=new ReachURI(info);reach.appendChild(addr.xml)})}};JXT.withPubsubItem(function(Item){JXT.add(Item,"reach",reachability)}),JXT.withPresence(function(Presence){JXT.add(Presence,"reach",reachability)})},module.exports=exports.default},{"babel-runtime/helpers/interop-require-default":2,"lodash.foreach":134,"xmpp-constants":221}],103:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Register=JXT.define({name:"register",namespace:_xmppConstants.Namespace.REGISTER,element:"query",fields:{instructions:Utils.textSub(_xmppConstants.Namespace.REGISTER,"instructions"),registered:Utils.boolSub(_xmppConstants.Namespace.REGISTER,"registered"),remove:Utils.boolSub(_xmppConstants.Namespace.REGISTER,"remove"),username:Utils.textSub(_xmppConstants.Namespace.REGISTER,"username"),nick:Utils.textSub(_xmppConstants.Namespace.REGISTER,"nick"),password:Utils.textSub(_xmppConstants.Namespace.REGISTER,"password"),name:Utils.textSub(_xmppConstants.Namespace.REGISTER,"name"),first:Utils.textSub(_xmppConstants.Namespace.REGISTER,"first"),last:Utils.textSub(_xmppConstants.Namespace.REGISTER,"last"),email:Utils.textSub(_xmppConstants.Namespace.REGISTER,"email"),address:Utils.textSub(_xmppConstants.Namespace.REGISTER,"address"),city:Utils.textSub(_xmppConstants.Namespace.REGISTER,"city"),state:Utils.textSub(_xmppConstants.Namespace.REGISTER,"state"),zip:Utils.textSub(_xmppConstants.Namespace.REGISTER,"zip"),phone:Utils.textSub(_xmppConstants.Namespace.REGISTER,"phone"),url:Utils.textSub(_xmppConstants.Namespace.REGISTER,"url"),date:Utils.textSub(_xmppConstants.Namespace.REGISTER,"date"),misc:Utils.textSub(_xmppConstants.Namespace.REGISTER,"misc"),text:Utils.textSub(_xmppConstants.Namespace.REGISTER,"text"),key:Utils.textSub(_xmppConstants.Namespace.REGISTER,"key")}});JXT.extendIQ(Register),JXT.withDefinition("x",_xmppConstants.Namespace.OOB,function(OOB){JXT.extend(Register,OOB)}),JXT.withDataForm(function(DataForm){JXT.extend(Register,DataForm)})},module.exports=exports.default},{"xmpp-constants":221}],104:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Roster=JXT.define({name:"roster",namespace:_xmppConstants.Namespace.ROSTER,element:"query",fields:{ver:{get:function(){return Utils.getAttribute(this.xml,"ver")},set:function(value){var force=""===value;Utils.setAttribute(this.xml,"ver",value,force)}}}}),RosterItem=JXT.define({name:"_rosterItem",namespace:_xmppConstants.Namespace.ROSTER,element:"item",fields:{jid:Utils.jidAttribute("jid",!0),name:Utils.attribute("name"),subscription:Utils.attribute("subscription","none"),subscriptionRequested:{get:function(){var ask=Utils.getAttribute(this.xml,"ask");return"subscribe"===ask}},preApproved:Utils.boolAttribute(_xmppConstants.Namespace.ROSTER,"approved"),groups:Utils.multiTextSub(_xmppConstants.Namespace.ROSTER,"group")}});JXT.extend(Roster,RosterItem,"items"),JXT.extendIQ(Roster)},module.exports=exports.default},{"xmpp-constants":221}],105:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils;JXT.define({name:"rsm",namespace:_xmppConstants.Namespace.RSM,element:"set",fields:{after:Utils.textSub(_xmppConstants.Namespace.RSM,"after"),before:{get:function(){return Utils.getSubText(this.xml,_xmppConstants.Namespace.RSM,"before")},set:function(value){value===!0?Utils.findOrCreate(this.xml,_xmppConstants.Namespace.RSM,"before"):Utils.setSubText(this.xml,_xmppConstants.Namespace.RSM,"before",value)}},count:Utils.numberSub(_xmppConstants.Namespace.RSM,"count",!1,0),first:Utils.textSub(_xmppConstants.Namespace.RSM,"first"),firstIndex:Utils.subAttribute(_xmppConstants.Namespace.RSM,"first","index"),index:Utils.textSub(_xmppConstants.Namespace.RSM,"index"),last:Utils.textSub(_xmppConstants.Namespace.RSM,"last"),max:Utils.textSub(_xmppConstants.Namespace.RSM,"max")}})},module.exports=exports.default},{"xmpp-constants":221}],106:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Feedback={get:function(){var existing=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_RTCP_FB_0,"rtcp-fb"),result=[];return existing.forEach(function(xml){result.push({type:Utils.getAttribute(xml,"type"),subtype:Utils.getAttribute(xml,"subtype")})}),existing=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_RTCP_FB_0,"rtcp-fb-trr-int"),existing.forEach(function(xml){result.push({type:Utils.getAttribute(xml,"type"),value:Utils.getAttribute(xml,"value")})}),result},set:function(values){var self=this,existing=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_RTCP_FB_0,"rtcp-fb");existing.forEach(function(item){self.xml.removeChild(item)}),existing=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_RTCP_FB_0,"rtcp-fb-trr-int"),existing.forEach(function(item){self.xml.removeChild(item)}),values.forEach(function(value){var fb=void 0;"trr-int"===value.type?(fb=Utils.createElement(_xmppConstants.Namespace.JINGLE_RTP_RTCP_FB_0,"rtcp-fb-trr-int",_xmppConstants.Namespace.JINGLE_RTP_1),Utils.setAttribute(fb,"type",value.type),Utils.setAttribute(fb,"value",value.value)):(fb=Utils.createElement(_xmppConstants.Namespace.JINGLE_RTP_RTCP_FB_0,"rtcp-fb",_xmppConstants.Namespace.JINGLE_RTP_1),Utils.setAttribute(fb,"type",value.type),Utils.setAttribute(fb,"subtype",value.subtype)),self.xml.appendChild(fb)})}},Bandwidth=JXT.define({name:"bandwidth",namespace:_xmppConstants.Namespace.JINGLE_RTP_1,element:"bandwidth",fields:{type:Utils.attribute("type"),bandwidth:Utils.text()}}),RTP=JXT.define({name:"_rtp",namespace:_xmppConstants.Namespace.JINGLE_RTP_1,element:"description",tags:["jingle-application"],fields:{applicationType:{value:"rtp"},media:Utils.attribute("media"),ssrc:Utils.attribute("ssrc"),mux:Utils.boolSub(_xmppConstants.Namespace.JINGLE_RTP_1,"rtcp-mux"),encryption:{get:function(){var enc=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_1,"encryption");if(!enc.length)return[];enc=enc[0];var self=this,data=Utils.find(enc,_xmppConstants.Namespace.JINGLE_RTP_1,"crypto"),results=[];return data.forEach(function(xml){results.push(new Crypto({},xml,self).toJSON())}),results},set:function(values){var enc=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_1,"encryption");if(enc.length&&this.xml.removeChild(enc),values.length){Utils.setBoolSubAttribute(this.xml,_xmppConstants.Namespace.JINGLE_RTP_1,"encryption","required",!0),enc=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_1,"encryption")[0];var self=this;values.forEach(function(value){var content=new Crypto(value,null,self);enc.appendChild(content.xml)})}}},feedback:Feedback,headerExtensions:{get:function(){var existing=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_HDREXT_0,"rtp-hdrext"),result=[];return existing.forEach(function(xml){result.push({id:Utils.getAttribute(xml,"id"),uri:Utils.getAttribute(xml,"uri"),senders:Utils.getAttribute(xml,"senders")})}),result},set:function(values){var self=this,existing=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_HDREXT_0,"rtp-hdrext");existing.forEach(function(item){self.xml.removeChild(item)}),values.forEach(function(value){var hdr=Utils.createElement(_xmppConstants.Namespace.JINGLE_RTP_HDREXT_0,"rtp-hdrext",_xmppConstants.Namespace.JINGLE_RTP_1);Utils.setAttribute(hdr,"id",value.id),Utils.setAttribute(hdr,"uri",value.uri),Utils.setAttribute(hdr,"senders",value.senders),self.xml.appendChild(hdr)})}}}}),PayloadType=JXT.define({name:"_payloadType",namespace:_xmppConstants.Namespace.JINGLE_RTP_1,element:"payload-type",fields:{channels:Utils.attribute("channels"),clockrate:Utils.attribute("clockrate"),id:Utils.attribute("id"),maxptime:Utils.attribute("maxptime"),name:Utils.attribute("name"),ptime:Utils.attribute("ptime"),feedback:Feedback,parameters:{get:function(){var result=[],params=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_1,"parameter");return params.forEach(function(param){result.push({key:Utils.getAttribute(param,"name"),value:Utils.getAttribute(param,"value")})}),result},set:function(values){var self=this;values.forEach(function(value){var param=Utils.createElement(_xmppConstants.Namespace.JINGLE_RTP_1,"parameter");Utils.setAttribute(param,"name",value.key),Utils.setAttribute(param,"value",value.value),self.xml.appendChild(param)})}}}}),Crypto=JXT.define({name:"crypto",namespace:_xmppConstants.Namespace.JINGLE_RTP_1,element:"crypto",fields:{cipherSuite:Utils.attribute("crypto-suite"),keyParams:Utils.attribute("key-params"),sessionParams:Utils.attribute("session-params"),tag:Utils.attribute("tag")}}),ContentGroup=JXT.define({name:"_group",namespace:_xmppConstants.Namespace.JINGLE_GROUPING_0,element:"group",fields:{semantics:Utils.attribute("semantics"),contents:Utils.multiSubAttribute(_xmppConstants.Namespace.JINGLE_GROUPING_0,"content","name")}}),SourceGroup=JXT.define({name:"_sourceGroup",namespace:_xmppConstants.Namespace.JINGLE_RTP_SSMA_0,element:"ssrc-group",fields:{semantics:Utils.attribute("semantics"),sources:Utils.multiSubAttribute(_xmppConstants.Namespace.JINGLE_RTP_SSMA_0,"source","ssrc")}}),Source=JXT.define({name:"_source",namespace:_xmppConstants.Namespace.JINGLE_RTP_SSMA_0,element:"source",fields:{ssrc:Utils.attribute("ssrc"),parameters:{get:function(){var result=[],params=Utils.find(this.xml,_xmppConstants.Namespace.JINGLE_RTP_SSMA_0,"parameter");return params.forEach(function(param){result.push({key:Utils.getAttribute(param,"name"),value:Utils.getAttribute(param,"value")})}),result},set:function(values){var self=this;values.forEach(function(value){var param=Utils.createElement(_xmppConstants.Namespace.JINGLE_RTP_SSMA_0,"parameter");Utils.setAttribute(param,"name",value.key),Utils.setAttribute(param,"value",value.value),self.xml.appendChild(param)})}}}}),Mute=JXT.define({name:"mute",namespace:_xmppConstants.Namespace.JINGLE_RTP_INFO_1,element:"mute",fields:{creator:Utils.attribute("creator"),name:Utils.attribute("name")}}),Unmute=JXT.define({name:"unmute",namespace:_xmppConstants.Namespace.JINGLE_RTP_INFO_1,element:"unmute",fields:{creator:Utils.attribute("creator"),name:Utils.attribute("name")}});JXT.extend(RTP,Bandwidth),JXT.extend(RTP,PayloadType,"payloads"),JXT.extend(RTP,Source,"sources"),JXT.extend(RTP,SourceGroup,"sourceGroups"),JXT.withDefinition("content",_xmppConstants.Namespace.JINGLE_1,function(Content){JXT.extend(Content,RTP)}),JXT.withDefinition("jingle",_xmppConstants.Namespace.JINGLE_1,function(Jingle){JXT.extend(Jingle,Mute),JXT.extend(Jingle,Unmute),JXT.extend(Jingle,ContentGroup,"groups"),JXT.add(Jingle,"ringing",Utils.boolSub(_xmppConstants.Namespace.JINGLE_RTP_INFO_1,"ringing")),JXT.add(Jingle,"hold",Utils.boolSub(_xmppConstants.Namespace.JINGLE_RTP_INFO_1,"hold")),JXT.add(Jingle,"active",Utils.boolSub(_xmppConstants.Namespace.JINGLE_RTP_INFO_1,"active"))})},module.exports=exports.default},{"xmpp-constants":221}],107:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),TYPE_MAP={insert:"t",erase:"e",wait:"w"},ACTION_MAP={t:"insert",e:"erase",w:"wait"};exports.default=function(JXT){var Utils=JXT.utils,RTT=JXT.define({name:"rtt",namespace:_xmppConstants.Namespace.RTT_0,element:"rtt",fields:{id:Utils.attribute("id"),event:Utils.attribute("event","edit"),seq:Utils.numberAttribute("seq"),actions:{get:function(){for(var results=[],i=0,len=this.xml.childNodes.length;i<len;i++){var child=this.xml.childNodes[i],_name=child.localName,action={};if(child.namespaceURI===_xmppConstants.Namespace.RTT_0&&ACTION_MAP[_name]){action.type=ACTION_MAP[_name];var pos=Utils.getAttribute(child,"p");pos&&(action.pos=parseInt(pos,10));var n=Utils.getAttribute(child,"n");n&&(action.num=parseInt(n,10));var t=Utils.getText(child);t&&"t"===_name&&(action.text=t),results.push(action)}}return results},set:function(actions){for(var self=this,i=0,len=this.xml.childNodes.length;i<len;i++)this.xml.removeChild(this.xml.childNodes[i]);actions.forEach(function(action){if(TYPE_MAP[action.type]){var child=Utils.createElement(_xmppConstants.Namespace.RTT_0,TYPE_MAP[action.type],_xmppConstants.Namespace.RTT_0);void 0!==action.pos&&Utils.setAttribute(child,"p",action.pos.toString()),action.num&&Utils.setAttribute(child,"n",action.num.toString()),action.text&&Utils.setText(child,action.text),self.xml.appendChild(child)}})}}}});JXT.extendMessage(RTT)},module.exports=exports.default},{"xmpp-constants":221}],108:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),CONDITIONS=["aborted","account-disabled","credentials-expired","encryption-required","incorrect-encoding","invalid-authzid","invalid-mechanism","malformed-request","mechanism-too-weak","not-authorized","temporary-auth-failure"];exports.default=function(JXT){var Utils=JXT.utils,Mechanisms=JXT.define({name:"sasl",namespace:_xmppConstants.Namespace.SASL,element:"mechanisms",fields:{mechanisms:Utils.multiTextSub(_xmppConstants.Namespace.SASL,"mechanism")}});JXT.define({name:"saslAuth",eventName:"sasl:auth",namespace:_xmppConstants.Namespace.SASL,element:"auth",topLevel:!0,fields:{value:Utils.text(),mechanism:Utils.attribute("mechanism")}}),JXT.define({name:"saslChallenge",eventName:"sasl:challenge",namespace:_xmppConstants.Namespace.SASL,element:"challenge",topLevel:!0,fields:{value:Utils.text()}}),JXT.define({name:"saslResponse",eventName:"sasl:response",namespace:_xmppConstants.Namespace.SASL,element:"response",topLevel:!0,fields:{value:Utils.text()}}),JXT.define({name:"saslAbort",eventName:"sasl:abort",namespace:_xmppConstants.Namespace.SASL,element:"abort",topLevel:!0}),JXT.define({name:"saslSuccess",eventName:"sasl:success",namespace:_xmppConstants.Namespace.SASL,element:"success",topLevel:!0,fields:{value:Utils.text()}}),JXT.define({name:"saslFailure",eventName:"sasl:failure",namespace:_xmppConstants.Namespace.SASL,element:"failure",topLevel:!0,fields:{lang:{get:function(){return this._lang||""},set:function(value){this._lang=value}},condition:Utils.enumSub(_xmppConstants.Namespace.SASL,CONDITIONS),$text:{get:function(){return Utils.getSubLangText(this.xml,_xmppConstants.Namespace.SASL,"text",this.lang)}},text:{get:function(){var text=this.$text;return text[this.lang]||""},set:function(value){Utils.setSubLangText(this.xml,_xmppConstants.Namespace.SASL,"text",value,this.lang)}}}}),JXT.extendStreamFeatures(Mechanisms)},module.exports=exports.default},{"xmpp-constants":221}],109:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Session=JXT.define({name:"session",namespace:_xmppConstants.Namespace.SESSION,element:"session",fields:{required:JXT.utils.boolSub(_xmppConstants.Namespace.SESSION,"required"),optional:JXT.utils.boolSub(_xmppConstants.Namespace.SESSION,"optional")}});JXT.extendIQ(Session),JXT.extendStreamFeatures(Session)},module.exports=exports.default},{"xmpp-constants":221}],110:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,SHIM={get:function(){var headerSet=Utils.find(this.xml,_xmppConstants.Namespace.SHIM,"headers");return headerSet.length?Utils.getMultiSubText(headerSet[0],_xmppConstants.Namespace.SHIM,"header",function(header){var name=Utils.getAttribute(header,"name");if(name)return{name:name,value:Utils.getText(header)}}):[]},set:function(values){var headerSet=Utils.findOrCreate(this.xml,_xmppConstants.Namespace.SHIM,"headers");JXT.setMultiSubText(headerSet,_xmppConstants.Namespace.SHIM,"header",values,function(val){var header=Utils.createElement(_xmppConstants.Namespace.SHIM,"header",_xmppConstants.Namespace.SHIM);Utils.setAttribute(header,"name",val.name),Utils.setText(header,val.value),headerSet.appendChild(header)})}};JXT.withMessage(function(Message){JXT.add(Message,"headers",SHIM)}),JXT.withPresence(function(Presence){JXT.add(Presence,"headers",SHIM)})},module.exports=exports.default},{"xmpp-constants":221}],111:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,SMFeature=JXT.define({name:"streamManagement",namespace:_xmppConstants.Namespace.SMACKS_3,element:"sm"});JXT.define({name:"smEnable",eventName:"stream:management:enable",namespace:_xmppConstants.Namespace.SMACKS_3,element:"enable",topLevel:!0,fields:{resume:Utils.boolAttribute("resume")}}),JXT.define({name:"smEnabled",eventName:"stream:management:enabled",namespace:_xmppConstants.Namespace.SMACKS_3,element:"enabled",topLevel:!0,fields:{id:Utils.attribute("id"),resume:Utils.boolAttribute("resume")}}),JXT.define({name:"smResume",eventName:"stream:management:resume",namespace:_xmppConstants.Namespace.SMACKS_3,element:"resume",topLevel:!0,fields:{h:Utils.numberAttribute("h",!1,0),previd:Utils.attribute("previd")}}),JXT.define({name:"smResumed",eventName:"stream:management:resumed",namespace:_xmppConstants.Namespace.SMACKS_3,element:"resumed",topLevel:!0,fields:{h:Utils.numberAttribute("h",!1,0),previd:Utils.attribute("previd")}}),JXT.define({name:"smFailed",eventName:"stream:management:failed",namespace:_xmppConstants.Namespace.SMACKS_3,element:"failed",topLevel:!0}),JXT.define({name:"smAck",eventName:"stream:management:ack",namespace:_xmppConstants.Namespace.SMACKS_3,element:"a",topLevel:!0,fields:{h:Utils.numberAttribute("h",!1,0)}}),JXT.define({name:"smRequest",eventName:"stream:management:request",namespace:_xmppConstants.Namespace.SMACKS_3,element:"r",topLevel:!0}),JXT.extendStreamFeatures(SMFeature)},module.exports=exports.default},{"xmpp-constants":221}],112:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils;JXT.define({name:"stream",namespace:_xmppConstants.Namespace.STREAM,element:"stream",fields:{lang:Utils.langAttribute(),id:Utils.attribute("id"),version:Utils.attribute("version","1.0"),to:Utils.jidAttribute("to",!0),from:Utils.jidAttribute("from",!0)}})},module.exports=exports.default},{"xmpp-constants":221}],113:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants"),CONDITIONS=["bad-format","bad-namespace-prefix","conflict","connection-timeout","host-gone","host-unknown","improper-addressing","internal-server-error","invalid-from","invalid-namespace","invalid-xml","not-authorized","not-well-formed","policy-violation","remote-connection-failed","reset","resource-constraint","restricted-xml","see-other-host","system-shutdown","undefined-condition","unsupported-encoding","unsupported-feature","unsupported-stanza-type","unsupported-version"];exports.default=function(JXT){var Utils=JXT.utils;JXT.define({name:"streamError",namespace:_xmppConstants.Namespace.STREAM,element:"error",topLevel:!0,fields:{lang:{get:function(){return this._lang||""},set:function(value){this._lang=value}},condition:Utils.enumSub(_xmppConstants.Namespace.STREAM_ERROR,CONDITIONS),seeOtherHost:{get:function(){return Utils.getSubText(this.xml,_xmppConstants.Namespace.STREAM_ERROR,"see-other-host")},set:function(value){this.condition="see-other-host",Utils.setSubText(this.xml,_xmppConstants.Namespace.STREAM_ERROR,"see-other-host",value)}},$text:{get:function(){return Utils.getSubLangText(this.xml,_xmppConstants.Namespace.STREAM_ERROR,"text",this.lang)}},text:{get:function(){var text=this.$text;return text[this.lang]||""},set:function(value){Utils.setSubLangText(this.xml,_xmppConstants.Namespace.STREAM_ERROR,"text",value,this.lang)}}}})},module.exports=exports.default},{"xmpp-constants":221}],114:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var RosterVerFeature=(JXT.define({name:"streamFeatures",namespace:_xmppConstants.Namespace.STREAM,element:"features",topLevel:!0}),JXT.define({name:"rosterVersioning",namespace:_xmppConstants.Namespace.ROSTER_VERSIONING,element:"ver"})),SubscriptionPreApprovalFeature=JXT.define({name:"subscriptionPreApproval",namespace:_xmppConstants.Namespace.SUBSCRIPTION_PREAPPROVAL,element:"sub"});JXT.extendStreamFeatures(RosterVerFeature),JXT.extendStreamFeatures(SubscriptionPreApprovalFeature)},module.exports=exports.default},{"xmpp-constants":221}],115:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var EntityTime=JXT.define({name:"time",namespace:_xmppConstants.Namespace.TIME,element:"time",fields:{utc:JXT.utils.dateSub(_xmppConstants.Namespace.TIME,"utc"),tzo:JXT.utils.tzoSub(_xmppConstants.Namespace.TIME,"tzo",0)}});JXT.extendIQ(EntityTime)},module.exports=exports.default},{"xmpp-constants":221}],116:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,Tune=JXT.define({name:"tune",namespace:_xmppConstants.Namespace.TUNE,element:"tune",fields:{artist:Utils.textSub(_xmppConstants.Namespace.TUNE,"artist"),length:Utils.numberSub(_xmppConstants.Namespace.TUNE,"length"),rating:Utils.numberSub(_xmppConstants.Namespace.TUNE,"rating"),source:Utils.textSub(_xmppConstants.Namespace.TUNE,"source"),title:Utils.textSub(_xmppConstants.Namespace.TUNE,"title"),track:Utils.textSub(_xmppConstants.Namespace.TUNE,"track"),uri:Utils.textSub(_xmppConstants.Namespace.TUNE,"uri")}});JXT.extendPubsubItem(Tune),JXT.extendMessage(Tune)},module.exports=exports.default},{"xmpp-constants":221}],117:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Utils=JXT.utils,VCardTemp=JXT.define({name:"vCardTemp",namespace:_xmppConstants.Namespace.VCARD_TEMP,element:"vCard",fields:{role:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"ROLE"),website:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"URL"),title:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"TITLE"),description:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"DESC"),fullName:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"FN"),birthday:Utils.dateSub(_xmppConstants.Namespace.VCARD_TEMP,"BDAY"),nicknames:Utils.multiTextSub(_xmppConstants.Namespace.VCARD_TEMP,"NICKNAME"),jids:Utils.multiTextSub(_xmppConstants.Namespace.VCARD_TEMP,"JABBERID")}}),Email=JXT.define({name:"_email",namespace:_xmppConstants.Namespace.VCARD_TEMP,element:"EMAIL",fields:{email:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"USERID"),home:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"HOME"),work:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"WORK"),preferred:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"PREF")}}),PhoneNumber=JXT.define({name:"_tel",namespace:_xmppConstants.Namespace.VCARD_TEMP,element:"TEL",fields:{number:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"NUMBER"),home:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"HOME"),work:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"WORK"),mobile:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"CELL"),preferred:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"PREF")}}),Address=JXT.define({name:"_address",namespace:_xmppConstants.Namespace.VCARD_TEMP,element:"ADR",fields:{street:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"STREET"),street2:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"EXTADD"),country:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"CTRY"),city:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"LOCALITY"),region:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"REGION"),postalCode:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"PCODE"),pobox:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"POBOX"),home:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"HOME"),work:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"WORK"),preferred:Utils.boolSub(_xmppConstants.Namespace.VCARD_TEMP,"PREF")}}),Organization=JXT.define({name:"organization",namespace:_xmppConstants.Namespace.VCARD_TEMP,element:"ORG",fields:{name:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"ORGNAME"),unit:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"ORGUNIT")}}),Name=JXT.define({name:"name",namespace:_xmppConstants.Namespace.VCARD_TEMP,element:"N",fields:{family:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"FAMILY"),given:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"GIVEN"),middle:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"MIDDLE"),prefix:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"PREFIX"),suffix:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"SUFFIX")}}),Photo=JXT.define({name:"photo",namespace:_xmppConstants.Namespace.VCARD_TEMP,element:"PHOTO",fields:{type:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"TYPE"),data:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"BINVAL"),url:Utils.textSub(_xmppConstants.Namespace.VCARD_TEMP,"EXTVAL")}});JXT.extend(VCardTemp,Email,"emails"),JXT.extend(VCardTemp,Address,"addresses"),JXT.extend(VCardTemp,PhoneNumber,"phoneNumbers"),JXT.extend(VCardTemp,Organization),JXT.extend(VCardTemp,Name),JXT.extend(VCardTemp,Photo),JXT.extendIQ(VCardTemp)},module.exports=exports.default},{"xmpp-constants":221}],118:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){var Version=JXT.define({name:"version",namespace:_xmppConstants.Namespace.VERSION,element:"query",fields:{name:JXT.utils.textSub(_xmppConstants.Namespace.VERSION,"name"),version:JXT.utils.textSub(_xmppConstants.Namespace.VERSION,"version"),os:JXT.utils.textSub(_xmppConstants.Namespace.VERSION,"os")}});JXT.extendIQ(Version)},module.exports=exports.default},{"xmpp-constants":221}],119:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _xmppConstants=require("xmpp-constants");exports.default=function(JXT){JXT.withIQ(function(IQ){JXT.add(IQ,"visible",JXT.utils.boolSub(_xmppConstants.Namespace.INVISIBLE_0,"visible")),JXT.add(IQ,"invisible",JXT.utils.boolSub(_xmppConstants.Namespace.INVISIBLE_0,"invisible"))})},module.exports=exports.default},{"xmpp-constants":221}],120:[function(require,module,exports){"use strict";function JXT(){this._LOOKUP={},this._LOOKUP_EXT={},this._TAGS={},this._CB_DEFINITION={},this._CB_TAG={},this._ID=uuid.v4(),this.utils=extend({},types,helpers)}var extend=require("lodash.assign"),uuid=require("uuid"),types=require("./lib/types"),helpers=require("./lib/helpers"),stanzaConstructor=require("./lib/stanza");JXT.prototype.use=function(init){return init["__JXT_LOADED_"+this._ID]||init(this),init["__JXT_LOADED_"+this._ID]=!0,this},JXT.prototype.getDefinition=function(el,ns,required){var JXTClass=this._LOOKUP[ns+"|"+el];if(required&&!JXTClass)throw new Error("Could not find definition for <"+el+' xmlns="'+ns+'" />');return JXTClass},JXT.prototype.getExtensions=function(el,ns){return this._LOOKUP_EXT[ns+"|"+el]||{}},JXT.prototype.withDefinition=function(el,ns,cb){var name=ns+"|"+el;this._CB_DEFINITION[name]||(this._CB_DEFINITION[name]=[]),this._CB_DEFINITION[name].push(cb),this._LOOKUP[name]&&cb(this._LOOKUP[name])},JXT.prototype.withTag=function(tag,cb){this._CB_TAG[tag]||(this._CB_TAG[tag]=[]),this._CB_TAG[tag].push(cb),this.tagged(tag).forEach(function(stanza){cb(stanza)})},JXT.prototype.tagged=function(tag){return this._TAGS[tag]||[]},JXT.prototype.build=function(xml){var JXTClass=this.getDefinition(xml.localName,xml.namespaceURI);if(JXTClass)return new JXTClass(null,xml)},JXT.prototype.parse=function(str){var xml=helpers.parse(str);if(xml)return this.build(xml)},JXT.prototype.extend=function(ParentJXT,ChildJXT,multiName,hideSingle){var parentName=ParentJXT.prototype._NS+"|"+ParentJXT.prototype._EL,name=ChildJXT.prototype._name,qName=ChildJXT.prototype._NS+"|"+ChildJXT.prototype._EL;this._LOOKUP[qName]=ChildJXT,this._LOOKUP_EXT[qName]||(this._LOOKUP_EXT[qName]={}),this._LOOKUP_EXT[parentName]||(this._LOOKUP_EXT[parentName]={}),this._LOOKUP_EXT[parentName][name]=ChildJXT,(!multiName||multiName&&!hideSingle)&&this.add(ParentJXT,name,types.extension(ChildJXT)),multiName&&this.add(ParentJXT,multiName,types.multiExtension(ChildJXT))},JXT.prototype.add=function(ParentJXT,fieldName,field){field.enumerable=!0,Object.defineProperty(ParentJXT.prototype,fieldName,field)},JXT.prototype.define=function(opts){var self=this,Stanza=stanzaConstructor(this,opts),ns=Stanza.prototype._NS,el=Stanza.prototype._EL,tags=Stanza.prototype._TAGS,name=ns+"|"+el;this._LOOKUP[name]=Stanza,tags.forEach(function(tag){self._TAGS[tag]||(self._TAGS[tag]=[]),self._TAGS[tag].push(Stanza)});var fieldNames=Object.keys(opts.fields||{});return fieldNames.forEach(function(fieldName){self.add(Stanza,fieldName,opts.fields[fieldName])}),this._CB_DEFINITION[name]&&this._CB_DEFINITION[name].forEach(function(handler){handler(Stanza)}),tags.forEach(function(tag){
+self._CB_TAG[tag]&&self._CB_TAG[tag].forEach(function(handler){handler(Stanza)})}),Stanza},JXT.createRegistry=function(){return new JXT},extend(JXT,helpers),extend(JXT,types);var globalJXT=new JXT;JXT.define=globalJXT.define.bind(globalJXT),JXT.extend=globalJXT.extend.bind(globalJXT),JXT.add=globalJXT.add.bind(globalJXT),JXT.parse=globalJXT.parse.bind(globalJXT),JXT.build=globalJXT.build.bind(globalJXT),JXT.getExtensions=globalJXT.getExtensions.bind(globalJXT),JXT.getDefinition=globalJXT.getDefinition.bind(globalJXT),JXT.withDefinition=globalJXT.withDefinition.bind(globalJXT),JXT.withTag=globalJXT.withTag.bind(globalJXT),JXT.tagged=globalJXT.tagged.bind(globalJXT),JXT.getGlobalJXT=function(){return globalJXT},module.exports=JXT},{"./lib/helpers":121,"./lib/stanza":122,"./lib/types":123,"lodash.assign":132,uuid:209}],121:[function(require,module,exports){"use strict";var ltx=require("ltx"),DOMElement=require("ltx/lib/DOMElement"),XML_NS=exports.XML_NS="http://www.w3.org/XML/1998/namespace";exports.parse=function(str){var xml=ltx.parse(str,{Element:DOMElement});if(1===xml.nodeType)return xml},exports.createElement=function(NS,name,parentNS){var el=new DOMElement(name);return parentNS&&parentNS===NS||exports.setAttribute(el,"xmlns",NS),el};var find=exports.find=function(xml,NS,selector){for(var results=[],children=xml.getElementsByTagName(selector),i=0,len=children.length;i<len;i++){var child=children[i];child.namespaceURI===NS&&child.parentNode===xml&&results.push(child)}return results};exports.findOrCreate=function(xml,NS,selector){var existing=exports.find(xml,NS,selector);if(existing.length)return existing[0];var created=exports.createElement(NS,selector,xml.namespaceURI);return xml.appendChild(created),created},exports.getAttribute=function(xml,attr,defaultVal){return xml.getAttribute(attr)||defaultVal||""},exports.getAttributeNS=function(xml,NS,attr,defaultVal){return xml.getAttributeNS(NS,attr)||defaultVal||""},exports.setAttribute=function(xml,attr,value,force){value||force?xml.setAttribute(attr,value):xml.removeAttribute(attr)},exports.setAttributeNS=function(xml,NS,attr,value,force){value||force?xml.setAttributeNS(NS,attr,value):xml.removeAttributeNS(NS,attr)},exports.getBoolAttribute=function(xml,attr,defaultVal){var val=xml.getAttribute(attr)||defaultVal||"";return"true"===val||"1"===val},exports.setBoolAttribute=function(xml,attr,value){value?xml.setAttribute(attr,"1"):xml.removeAttribute(attr)},exports.getSubAttribute=function(xml,NS,sub,attr,defaultVal){var subs=find(xml,NS,sub);if(!subs)return"";for(var i=0;i<subs.length;i++)return subs[i].getAttribute(attr)||defaultVal||"";return""},exports.setSubAttribute=function(xml,NS,sub,attr,value){var subs=find(xml,NS,sub);if(subs.length)for(var i=0;i<subs.length;i++){if(value)return void subs[i].setAttribute(attr,value);subs[i].removeAttribute(attr)}else value&&(sub=exports.createElement(NS,sub,xml.namespaceURI),sub.setAttribute(attr,value),xml.appendChild(sub))},exports.getBoolSubAttribute=function(xml,NS,sub,attr,defaultVal){var val=xml.getSubAttribute(NS,sub,attr)||defaultVal||"";return"true"===val||"1"===val},exports.setBoolSubAttribute=function(xml,NS,sub,attr,value){value=value?"1":"",exports.setSubAttribute(xml,NS,sub,attr,value)},exports.getText=function(xml){return xml.textContent},exports.setText=function(xml,value){xml.textContent=value},exports.getSubText=exports.getTextSub=function(xml,NS,element,defaultVal){var subs=find(xml,NS,element);return defaultVal=defaultVal||"",subs.length?subs[0].textContent||defaultVal:defaultVal},exports.setSubText=exports.setTextSub=function(xml,NS,element,value){var subs=find(xml,NS,element);if(subs.length)for(var i=0;i<subs.length;i++)xml.removeChild(subs[i]);if(value){var sub=exports.createElement(NS,element,xml.namespaceURI);value!==!0&&(sub.textContent=value),xml.appendChild(sub)}},exports.getMultiSubText=function(xml,NS,element,extractor){var subs=find(xml,NS,element),results=[];extractor=extractor||function(sub){return sub.textContent||""};for(var i=0;i<subs.length;i++)results.push(extractor(subs[i]));return results},exports.setMultiSubText=function(xml,NS,element,value,builder){var subs=find(xml,NS,element),values=[];builder=builder||function(value){if(value){var sub=exports.createElement(NS,element,xml.namespaceURI);sub.textContent=value,xml.appendChild(sub)}},values="string"==typeof value?(value||"").split("\n"):value;var i,len;for(i=0,len=subs.length;i<len;i++)xml.removeChild(subs[i]);for(i=0,len=values.length;i<len;i++)builder(values[i])},exports.getMultiSubAttribute=function(xml,NS,element,attr){return exports.getMultiSubText(xml,NS,element,function(sub){return exports.getAttribute(sub,attr)})},exports.setMultiSubAttribute=function(xml,NS,element,attr,value){exports.setMultiSubText(xml,NS,element,value,function(val){var sub=exports.createElement(NS,element,xml.namespaceURI);exports.setAttribute(sub,attr,val),xml.appendChild(sub)})},exports.getSubLangText=function(xml,NS,element,defaultLang){var subs=find(xml,NS,element);if(!subs.length)return{};for(var lang,sub,results={},langs=[],i=0;i<subs.length;i++)sub=subs[i],lang=sub.getAttributeNS(XML_NS,"lang")||defaultLang,langs.push(lang),results[lang]=sub.textContent||"";return results},exports.setSubLangText=function(xml,NS,element,value,defaultLang){var sub,lang,subs=find(xml,NS,element);if(subs.length)for(var i=0;i<subs.length;i++)xml.removeChild(subs[i]);if("string"==typeof value)sub=exports.createElement(NS,element,xml.namespaceURI),sub.textContent=value,xml.appendChild(sub);else if("object"==typeof value)for(lang in value)value.hasOwnProperty(lang)&&(sub=exports.createElement(NS,element,xml.namespaceURI),lang!==defaultLang&&sub.setAttributeNS(XML_NS,"lang",lang),sub.textContent=value[lang],xml.appendChild(sub))},exports.getBoolSub=function(xml,NS,element){var subs=find(xml,NS,element);return!!subs.length},exports.setBoolSub=function(xml,NS,element,value){var subs=find(xml,NS,element);if(subs.length)for(var i=0;i<subs.length;i++){if(value)return;xml.removeChild(subs[i])}else if(value){var sub=exports.createElement(NS,element,xml.namespaceURI);xml.appendChild(sub)}}},{ltx:139,"ltx/lib/DOMElement":140}],122:[function(require,module,exports){"use strict";var helpers=require("./helpers"),extend=require("lodash.assign"),EXCLUDE={constructor:!0,parent:!0,prototype:!0,toJSON:!0,toString:!0,xml:!0};module.exports=function(JXT,opts){function Stanza(data,xml,parent){var self=this,parentNode=(xml||{}).parentNode||(parent||{}).xml,parentNS=(parentNode||{}).namespaceURI;self.xml=xml||helpers.createElement(self._NS,self._EL,parentNS),Object.keys(self._PREFIXES).forEach(function(prefix){var namespace=self._PREFIXES[prefix];self.xml.setAttribute("xmlns:"+prefix,namespace)}),self._extensions={};for(var i=0,len=self.xml.childNodes.length;i<len;i++){var child=self.xml.childNodes[i],ChildJXT=JXT.getDefinition(child.localName,child.namespaceURI);if(void 0!==ChildJXT){var name=ChildJXT.prototype._name;self._extensions[name]=new ChildJXT(null,child),self._extensions[name].parent=self}}return extend(self,data),opts.init&&opts.init.apply(self,[data]),self}return Stanza.prototype._isJXT=!0,Stanza.prototype._name=opts.name,Stanza.prototype._eventname=opts.eventName,Stanza.prototype._NS=opts.namespace,Stanza.prototype._EL=opts.element||opts.name,Stanza.prototype._PREFIXES=opts.prefixes||{},Stanza.prototype._TAGS=opts.tags||[],Stanza.prototype.toString=function(){return this.xml.toString()},Stanza.prototype.toJSON=function(){var prop,result={};for(prop in this._extensions)this._extensions[prop].toJSON&&"_"!==prop[0]&&(result[prop]=this._extensions[prop].toJSON());for(prop in this){var allowedName=!EXCLUDE[prop]&&"_"!==prop[0],isExtensionName=JXT.getExtensions(this._EL,this._NS)[prop];if(allowedName&&!isExtensionName){var val=this[prop];if("function"==typeof val)continue;var type=Object.prototype.toString.call(val);if(type.indexOf("Object")>=0)Object.keys(val).length>0&&(val._isJXT?result[prop]=val.toJSON():result[prop]=val);else if(type.indexOf("Array")>=0){if(val.length>0){for(var vals=[],len=val.length,n=0;n<len;n++){var nval=val[n];"undefined"!=typeof nval&&(nval._isJXT?vals.push(nval.toJSON()):vals.push(nval))}result[prop]=vals}}else void 0!==val&&val!==!1&&""!==val&&(result[prop]=val)}}return result},Stanza}},{"./helpers":121,"lodash.assign":132}],123:[function(require,module,exports){(function(Buffer){"use strict";var helpers=require("./helpers"),extend=require("lodash.assign"),find=helpers.find,createElement=helpers.createElement,field=exports.field=function(getter,setter){return function(){var args=Array.prototype.slice.call(arguments);return{get:function(){return getter.apply(null,[this.xml].concat(args))},set:function(value){setter.apply(null,[this.xml].concat(args).concat([value]))}}}};exports.boolAttribute=field(helpers.getBoolAttribute,helpers.setBoolAttribute),exports.subAttribute=field(helpers.getSubAttribute,helpers.setSubAttribute),exports.boolSubAttribute=field(helpers.getSubBoolAttribute,helpers.setSubBoolAttribute),exports.text=field(helpers.getText,helpers.setText),exports.textSub=exports.subText=field(helpers.getSubText,helpers.setSubText),exports.multiTextSub=exports.multiSubText=field(helpers.getMultiSubText,helpers.setMultiSubText),exports.multiSubAttribute=field(helpers.getMultiSubAttribute,helpers.setMultiSubAttribute),exports.langTextSub=exports.subLangText=field(helpers.getSubLangText,helpers.setSubLangText),exports.boolSub=field(helpers.getBoolSub,helpers.setBoolSub),exports.langAttribute=field(function(xml){return xml.getAttributeNS(helpers.XML_NS,"lang")||""},function(xml,value){xml.setAttributeNS(helpers.XML_NS,"lang",value)}),exports.b64Text=field(function(xml){return xml.textContent&&"="!==xml.textContent?new Buffer(xml.textContent,"base64"):""},function(xml,value){if("string"==typeof value){var b64=new Buffer(value).toString("base64");xml.textContent=b64||"="}else xml.textContent=""}),exports.dateAttribute=function(attr,now){return{get:function(){var data=helpers.getAttribute(this.xml,attr);return data?new Date(data):now?new Date(Date.now()):void 0},set:function(value){value&&("string"!=typeof value&&(value=value.toISOString()),helpers.setAttribute(this.xml,attr,value))}}},exports.dateSub=function(NS,sub,now){return{get:function(){var data=helpers.getSubText(this.xml,NS,sub);return data?new Date(data):now?new Date(Date.now()):void 0},set:function(value){value&&("string"!=typeof value&&(value=value.toISOString()),helpers.setSubText(this.xml,NS,sub,value))}}},exports.dateSubAttribute=function(NS,sub,attr,now){return{get:function(){var data=helpers.getSubAttribute(this.xml,NS,sub,attr);return data?new Date(data):now?new Date(Date.now()):void 0},set:function(value){value&&("string"!=typeof value&&(value=value.toISOString()),helpers.setSubAttribute(this.xml,NS,sub,attr,value))}}},exports.numberAttribute=function(attr,isFloat,defaultVal){return{get:function(){var parse=isFloat?parseFloat:parseInt,data=helpers.getAttribute(this.xml,attr,"");if(!data)return defaultVal;var parsed=parse(data,10);return isNaN(parsed)?defaultVal:parsed},set:function(value){helpers.setAttribute(this.xml,attr,value.toString())}}},exports.numberSub=function(NS,sub,isFloat,defaultVal){return{get:function(){var parse=isFloat?parseFloat:parseInt,data=helpers.getSubText(this.xml,NS,sub,"");if(!data)return defaultVal;var parsed=parse(data,10);return isNaN(parsed)?defaultVal:parsed},set:function(value){helpers.setSubText(this.xml,NS,sub,value.toString())}}},exports.attribute=function(name,defaultVal){return{get:function(){return helpers.getAttribute(this.xml,name,defaultVal)},set:function(value){helpers.setAttribute(this.xml,name,value)}}},exports.attributeNS=function(NS,name,defaultVal){return{get:function(){return helpers.getAttributeNS(this.xml,NS,name,defaultVal)},set:function(value){helpers.setAttributeNS(this.xml,NS,name,value)}}},exports.extension=function(ChildJXT){return{get:function(){var self=this,name=ChildJXT.prototype._name;if(!this._extensions[name]){var existing=find(this.xml,ChildJXT.prototype._NS,ChildJXT.prototype._EL);existing.length?this._extensions[name]=new ChildJXT(null,existing[0],self):(this._extensions[name]=new ChildJXT({},null,self),this.xml.appendChild(this._extensions[name].xml)),this._extensions[name].parent=this}return this._extensions[name]},set:function(value){if(value){var child=this[ChildJXT.prototype._name];value===!0&&(value={}),extend(child,value)}}}},exports.multiExtension=function(ChildJXT){return{get:function(){for(var self=this,data=find(this.xml,ChildJXT.prototype._NS,ChildJXT.prototype._EL),results=[],i=0,len=data.length;i<len;i++)results.push(new ChildJXT({},data[i],self));return results},set:function(value){value=value||[];var i,len,self=this,existing=find(this.xml,ChildJXT.prototype._NS,ChildJXT.prototype._EL);for(i=0,len=existing.length;i<len;i++)self.xml.removeChild(existing[i]);for(i=0,len=value.length;i<len;i++){var content=new ChildJXT(value[i],null,self);self.xml.appendChild(content.xml)}}}},exports.enumSub=function(NS,enumValues){return{get:function(){var self=this,result=[];return enumValues.forEach(function(enumVal){var exists=find(self.xml,NS,enumVal);exists.length&&result.push(exists[0].nodeName)}),result[0]||""},set:function(value){var self=this,alreadyExists=!1;if(enumValues.forEach(function(enumVal){var elements=find(self.xml,NS,enumVal);elements.length&&(enumVal===value?alreadyExists=!0:self.xml.removeChild(elements[0]))}),value&&!alreadyExists){var condition=createElement(NS,value);this.xml.appendChild(condition)}}}},exports.subExtension=function(name,NS,sub,ChildJXT){return{get:function(){if(!this._extensions[name]){var wrapper=find(this.xml,NS,sub);wrapper.length?wrapper=wrapper[0]:(wrapper=createElement(NS,sub,this._NS),this.xml.appendChild(wrapper));var existing=find(wrapper,ChildJXT.prototype._NS,ChildJXT.prototype._EL);existing.length?this._extensions[name]=new ChildJXT(null,existing[0],{xml:wrapper}):(this._extensions[name]=new ChildJXT({},null,{xml:wrapper}),wrapper.appendChild(this._extensions[name].xml)),this._extensions[name].parent=this}return this._extensions[name]},set:function(value){var wrapper=find(this.xml,NS,sub);if(wrapper.length&&!value&&this.xml.removeChild(wrapper[0]),value){var child=this[name];value===!0&&(value={}),extend(child,value)}}}},exports.subMultiExtension=function(NS,sub,ChildJXT){return{get:function(){var self=this,results=[],existing=find(this.xml,NS,sub);if(!existing.length)return results;existing=existing[0];var data=find(existing,ChildJXT.prototype._NS,ChildJXT.prototype._EL);return data.forEach(function(xml){results.push(new ChildJXT({},xml,self))}),results},set:function(values){var self=this,existing=find(this.xml,NS,sub);existing.length&&self.xml.removeChild(existing[0]),values.length&&(existing=createElement(NS,sub,this._NS),values.forEach(function(value){var content=new ChildJXT(value,null,{xml:{namespaceURI:NS}});existing.appendChild(content.xml)}),self.xml.appendChild(existing))}}}}).call(this,require("buffer").Buffer)},{"./helpers":121,buffer:6,"lodash.assign":132}],124:[function(require,module,exports){function arrayEach(array,iteratee){for(var index=-1,length=array.length;++index<length&&iteratee(array[index],index,array)!==!1;);return array}module.exports=arrayEach},{}],125:[function(require,module,exports){function baseAssign(object,source){return null==source?object:baseCopy(source,keys(source),object)}var baseCopy=require("lodash._basecopy"),keys=require("lodash.keys");module.exports=baseAssign},{"lodash._basecopy":126,"lodash.keys":137}],126:[function(require,module,exports){function baseCopy(source,props,object){object||(object={});for(var index=-1,length=props.length;++index<length;){var key=props[index];object[key]=source[key]}return object}module.exports=baseCopy},{}],127:[function(require,module,exports){function baseForOwn(object,iteratee){return baseFor(object,iteratee,keys)}function baseProperty(key){return function(object){return null==object?void 0:object[key]}}function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){var length=collection?getLength(collection):0;if(!isLength(length))return eachFunc(collection,iteratee);for(var index=fromRight?length:-1,iterable=toObject(collection);(fromRight?index--:++index<length)&&iteratee(iterable[index],index,iterable)!==!1;);return collection}}function createBaseFor(fromRight){return function(object,iteratee,keysFunc){for(var iterable=toObject(object),props=keysFunc(object),length=props.length,index=fromRight?length:-1;fromRight?index--:++index<length;){var key=props[index];if(iteratee(iterable[key],key,iterable)===!1)break}return object}}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function toObject(value){return isObject(value)?value:Object(value)}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}var keys=require("lodash.keys"),MAX_SAFE_INTEGER=9007199254740991,baseEach=createBaseEach(baseForOwn),baseFor=createBaseFor(),getLength=baseProperty("length");module.exports=baseEach},{"lodash.keys":137}],128:[function(require,module,exports){function bindCallback(func,thisArg,argCount){if("function"!=typeof func)return identity;if(void 0===thisArg)return func;switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)};case 5:return function(value,other,key,object,source){return func.call(thisArg,value,other,key,object,source)}}return function(){return func.apply(thisArg,arguments)}}function identity(value){return value}module.exports=bindCallback},{}],129:[function(require,module,exports){function createAssigner(assigner){return restParam(function(object,sources){var index=-1,length=null==object?0:sources.length,customizer=length>2?sources[length-2]:void 0,guard=length>2?sources[2]:void 0,thisArg=length>1?sources[length-1]:void 0;for("function"==typeof customizer?(customizer=bindCallback(customizer,thisArg,5),length-=2):(customizer="function"==typeof thisArg?thisArg:void 0,length-=customizer?1:0),guard&&isIterateeCall(sources[0],sources[1],guard)&&(customizer=length<3?void 0:customizer,length=1);++index<length;){var source=sources[index];source&&assigner(object,source,customizer)}return object})}var bindCallback=require("lodash._bindcallback"),isIterateeCall=require("lodash._isiterateecall"),restParam=require("lodash.restparam");module.exports=createAssigner},{"lodash._bindcallback":128,"lodash._isiterateecall":131,"lodash.restparam":138}],130:[function(require,module,exports){function isObjectLike(value){return!!value&&"object"==typeof value}function getNative(object,key){var value=null==object?void 0:object[key];return isNative(value)?value:void 0}function isFunction(value){return isObject(value)&&objToString.call(value)==funcTag}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}function isNative(value){return null!=value&&(isFunction(value)?reIsNative.test(fnToString.call(value)):isObjectLike(value)&&reIsHostCtor.test(value))}var funcTag="[object Function]",reIsHostCtor=/^\[object .+?Constructor\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp("^"+fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");module.exports=getNative},{}],131:[function(require,module,exports){function baseProperty(key){return function(object){return null==object?void 0:object[key]}}function isArrayLike(value){return null!=value&&isLength(getLength(value))}function isIndex(value,length){return value="number"==typeof value||reIsUint.test(value)?+value:-1,length=null==length?MAX_SAFE_INTEGER:length,value>-1&&value%1==0&&value<length}function isIterateeCall(value,index,object){if(!isObject(object))return!1;var type=typeof index;if("number"==type?isArrayLike(object)&&isIndex(index,object.length):"string"==type&&index in object){var other=object[index];return value===value?value===other:other!==other}return!1}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}var reIsUint=/^\d+$/,MAX_SAFE_INTEGER=9007199254740991,getLength=baseProperty("length");module.exports=isIterateeCall},{}],132:[function(require,module,exports){function assignWith(object,source,customizer){for(var index=-1,props=keys(source),length=props.length;++index<length;){var key=props[index],value=object[key],result=customizer(value,source[key],key,object,source);(result===result?result===value:value!==value)&&(void 0!==value||key in object)||(object[key]=result)}return object}var baseAssign=require("lodash._baseassign"),createAssigner=require("lodash._createassigner"),keys=require("lodash.keys"),assign=createAssigner(function(object,source,customizer){return customizer?assignWith(object,source,customizer):baseAssign(object,source)});module.exports=assign},{"lodash._baseassign":125,"lodash._createassigner":129,"lodash.keys":137}],133:[function(require,module,exports){(function(global){function addMapEntry(map,pair){return map.set(pair[0],pair[1]),map}function addSetEntry(set,value){return set.add(value),set}function arrayEach(array,iteratee){for(var index=-1,length=array?array.length:0;++index<length&&iteratee(array[index],index,array)!==!1;);return array}function arrayPush(array,values){for(var index=-1,length=values.length,offset=array.length;++index<length;)array[offset+index]=values[index];return array}function arrayReduce(array,iteratee,accumulator,initAccum){var index=-1,length=array?array.length:0;for(initAccum&&length&&(accumulator=array[++index]);++index<length;)accumulator=iteratee(accumulator,array[index],index,array);return accumulator}function baseTimes(n,iteratee){for(var index=-1,result=Array(n);++index<n;)result[index]=iteratee(index);return result}function getValue(object,key){return null==object?void 0:object[key]}function isHostObject(value){var result=!1;if(null!=value&&"function"!=typeof value.toString)try{result=!!(value+"")}catch(e){}return result}function mapToArray(map){var index=-1,result=Array(map.size);return map.forEach(function(value,key){result[++index]=[key,value]}),result}function overArg(func,transform){return function(arg){return func(transform(arg))}}function setToArray(set){var index=-1,result=Array(set.size);return set.forEach(function(value){result[++index]=value}),result}function Hash(entries){var index=-1,length=entries?entries.length:0;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{}}function hashDelete(key){return this.has(key)&&delete this.__data__[key]}function hashGet(key){var data=this.__data__;if(nativeCreate){var result=data[key];return result===HASH_UNDEFINED?void 0:result}return hasOwnProperty.call(data,key)?data[key]:void 0}function hashHas(key){var data=this.__data__;return nativeCreate?void 0!==data[key]:hasOwnProperty.call(data,key)}function hashSet(key,value){var data=this.__data__;return data[key]=nativeCreate&&void 0===value?HASH_UNDEFINED:value,this}function ListCache(entries){var index=-1,length=entries?entries.length:0;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function listCacheClear(){this.__data__=[]}function listCacheDelete(key){var data=this.__data__,index=assocIndexOf(data,key);if(index<0)return!1;var lastIndex=data.length-1;return index==lastIndex?data.pop():splice.call(data,index,1),!0}function listCacheGet(key){var data=this.__data__,index=assocIndexOf(data,key);return index<0?void 0:data[index][1]}function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1}function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf(data,key);return index<0?data.push([key,value]):data[index][1]=value,this}function MapCache(entries){var index=-1,length=entries?entries.length:0;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function mapCacheClear(){this.__data__={hash:new Hash,map:new(Map||ListCache),string:new Hash}}function mapCacheDelete(key){return getMapData(this,key).delete(key)}function mapCacheGet(key){return getMapData(this,key).get(key)}function mapCacheHas(key){return getMapData(this,key).has(key)}function mapCacheSet(key,value){return getMapData(this,key).set(key,value),this}function Stack(entries){this.__data__=new ListCache(entries)}function stackClear(){this.__data__=new ListCache}function stackDelete(key){return this.__data__.delete(key)}function stackGet(key){return this.__data__.get(key)}function stackHas(key){return this.__data__.has(key)}function stackSet(key,value){var cache=this.__data__;if(cache instanceof ListCache){var pairs=cache.__data__;if(!Map||pairs.length<LARGE_ARRAY_SIZE-1)return pairs.push([key,value]),this;cache=this.__data__=new MapCache(pairs)}return cache.set(key,value),this}function arrayLikeKeys(value,inherited){var result=isArray(value)||isArguments(value)?baseTimes(value.length,String):[],length=result.length,skipIndexes=!!length;for(var key in value)!inherited&&!hasOwnProperty.call(value,key)||skipIndexes&&("length"==key||isIndex(key,length))||result.push(key);return result}function assignValue(object,key,value){var objValue=object[key];hasOwnProperty.call(object,key)&&eq(objValue,value)&&(void 0!==value||key in object)||(object[key]=value)}function assocIndexOf(array,key){for(var length=array.length;length--;)if(eq(array[length][0],key))return length;return-1}function baseAssign(object,source){return object&&copyObject(source,keys(source),object)}function baseClone(value,isDeep,isFull,customizer,key,object,stack){var result;if(customizer&&(result=object?customizer(value,key,object,stack):customizer(value)),void 0!==result)return result;if(!isObject(value))return value;var isArr=isArray(value);if(isArr){if(result=initCloneArray(value),!isDeep)return copyArray(value,result)}else{var tag=getTag(value),isFunc=tag==funcTag||tag==genTag;if(isBuffer(value))return cloneBuffer(value,isDeep);if(tag==objectTag||tag==argsTag||isFunc&&!object){if(isHostObject(value))return object?value:{};if(result=initCloneObject(isFunc?{}:value),!isDeep)return copySymbols(value,baseAssign(result,value))}else{if(!cloneableTags[tag])return object?value:{};result=initCloneByTag(value,tag,baseClone,isDeep)}}stack||(stack=new Stack);var stacked=stack.get(value);if(stacked)return stacked;if(stack.set(value,result),!isArr)var props=isFull?getAllKeys(value):keys(value);return arrayEach(props||value,function(subValue,key){props&&(key=subValue,subValue=value[key]),assignValue(result,key,baseClone(subValue,isDeep,isFull,customizer,key,value,stack))}),result}function baseCreate(proto){return isObject(proto)?objectCreate(proto):{}}function baseGetAllKeys(object,keysFunc,symbolsFunc){var result=keysFunc(object);return isArray(object)?result:arrayPush(result,symbolsFunc(object))}function baseGetTag(value){return objectToString.call(value)}function baseIsNative(value){if(!isObject(value)||isMasked(value))return!1;var pattern=isFunction(value)||isHostObject(value)?reIsNative:reIsHostCtor;return pattern.test(toSource(value))}function baseKeys(object){if(!isPrototype(object))return nativeKeys(object);var result=[];for(var key in Object(object))hasOwnProperty.call(object,key)&&"constructor"!=key&&result.push(key);return result}function cloneBuffer(buffer,isDeep){if(isDeep)return buffer.slice();var result=new buffer.constructor(buffer.length);return buffer.copy(result),result}function cloneArrayBuffer(arrayBuffer){var result=new arrayBuffer.constructor(arrayBuffer.byteLength);return new Uint8Array(result).set(new Uint8Array(arrayBuffer)),result}function cloneDataView(dataView,isDeep){var buffer=isDeep?cloneArrayBuffer(dataView.buffer):dataView.buffer;return new dataView.constructor(buffer,dataView.byteOffset,dataView.byteLength)}function cloneMap(map,isDeep,cloneFunc){var array=isDeep?cloneFunc(mapToArray(map),!0):mapToArray(map);return arrayReduce(array,addMapEntry,new map.constructor)}function cloneRegExp(regexp){var result=new regexp.constructor(regexp.source,reFlags.exec(regexp));return result.lastIndex=regexp.lastIndex,result}function cloneSet(set,isDeep,cloneFunc){var array=isDeep?cloneFunc(setToArray(set),!0):setToArray(set);return arrayReduce(array,addSetEntry,new set.constructor)}function cloneSymbol(symbol){return symbolValueOf?Object(symbolValueOf.call(symbol)):{}}function cloneTypedArray(typedArray,isDeep){var buffer=isDeep?cloneArrayBuffer(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer,typedArray.byteOffset,typedArray.length)}function copyArray(source,array){var index=-1,length=source.length;for(array||(array=Array(length));++index<length;)array[index]=source[index];return array}function copyObject(source,props,object,customizer){object||(object={});for(var index=-1,length=props.length;++index<length;){var key=props[index],newValue=customizer?customizer(object[key],source[key],key,object,source):void 0;assignValue(object,key,void 0===newValue?source[key]:newValue)}return object}function copySymbols(source,object){return copyObject(source,getSymbols(source),object)}function getAllKeys(object){return baseGetAllKeys(object,keys,getSymbols)}function getMapData(map,key){var data=map.__data__;return isKeyable(key)?data["string"==typeof key?"string":"hash"]:data.map}function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:void 0}function initCloneArray(array){var length=array.length,result=array.constructor(length);return length&&"string"==typeof array[0]&&hasOwnProperty.call(array,"index")&&(result.index=array.index,result.input=array.input),result}function initCloneObject(object){return"function"!=typeof object.constructor||isPrototype(object)?{}:baseCreate(getPrototype(object))}function initCloneByTag(object,tag,cloneFunc,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return cloneArrayBuffer(object);case boolTag:case dateTag:return new Ctor(+object);case dataViewTag:return cloneDataView(object,isDeep);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:return cloneTypedArray(object,isDeep);case mapTag:return cloneMap(object,isDeep,cloneFunc);case numberTag:case stringTag:return new Ctor(object);case regexpTag:return cloneRegExp(object);case setTag:return cloneSet(object,isDeep,cloneFunc);case symbolTag:return cloneSymbol(object)}}function isIndex(value,length){return length=null==length?MAX_SAFE_INTEGER:length,!!length&&("number"==typeof value||reIsUint.test(value))&&value>-1&&value%1==0&&value<length}function isKeyable(value){var type=typeof value;return"string"==type||"number"==type||"symbol"==type||"boolean"==type?"__proto__"!==value:null===value}function isMasked(func){return!!maskSrcKey&&maskSrcKey in func}function isPrototype(value){var Ctor=value&&value.constructor,proto="function"==typeof Ctor&&Ctor.prototype||objectProto;return value===proto}function toSource(func){if(null!=func){try{return funcToString.call(func)}catch(e){}try{return func+""}catch(e){}}return""}function cloneDeep(value){return baseClone(value,!0,!0)}function eq(value,other){return value===other||value!==value&&other!==other}function isArguments(value){return isArrayLikeObject(value)&&hasOwnProperty.call(value,"callee")&&(!propertyIsEnumerable.call(value,"callee")||objectToString.call(value)==argsTag)}function isArrayLike(value){return null!=value&&isLength(value.length)&&!isFunction(value);
+}function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value)}function isFunction(value){var tag=isObject(value)?objectToString.call(value):"";return tag==funcTag||tag==genTag}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}function isObjectLike(value){return!!value&&"object"==typeof value}function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object)}function stubArray(){return[]}function stubFalse(){return!1}var LARGE_ARRAY_SIZE=200,HASH_UNDEFINED="__lodash_hash_undefined__",MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",promiseTag="[object Promise]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",weakMapTag="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reFlags=/\w*$/,reIsHostCtor=/^\[object .+?Constructor\]$/,reIsUint=/^(?:0|[1-9]\d*)$/,cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[dataViewTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[setTag]=cloneableTags[stringTag]=cloneableTags[symbolTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=!1;var freeGlobal="object"==typeof global&&global&&global.Object===Object&&global,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule=freeExports&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports=freeModule&&freeModule.exports===freeExports,arrayProto=Array.prototype,funcProto=Function.prototype,objectProto=Object.prototype,coreJsData=root["__core-js_shared__"],maskSrcKey=function(){var uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""}(),funcToString=funcProto.toString,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,reIsNative=RegExp("^"+funcToString.call(hasOwnProperty).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Buffer=moduleExports?root.Buffer:void 0,Symbol=root.Symbol,Uint8Array=root.Uint8Array,getPrototype=overArg(Object.getPrototypeOf,Object),objectCreate=Object.create,propertyIsEnumerable=objectProto.propertyIsEnumerable,splice=arrayProto.splice,nativeGetSymbols=Object.getOwnPropertySymbols,nativeIsBuffer=Buffer?Buffer.isBuffer:void 0,nativeKeys=overArg(Object.keys,Object),DataView=getNative(root,"DataView"),Map=getNative(root,"Map"),Promise=getNative(root,"Promise"),Set=getNative(root,"Set"),WeakMap=getNative(root,"WeakMap"),nativeCreate=getNative(Object,"create"),dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map),promiseCtorString=toSource(Promise),setCtorString=toSource(Set),weakMapCtorString=toSource(WeakMap),symbolProto=Symbol?Symbol.prototype:void 0,symbolValueOf=symbolProto?symbolProto.valueOf:void 0;Hash.prototype.clear=hashClear,Hash.prototype.delete=hashDelete,Hash.prototype.get=hashGet,Hash.prototype.has=hashHas,Hash.prototype.set=hashSet,ListCache.prototype.clear=listCacheClear,ListCache.prototype.delete=listCacheDelete,ListCache.prototype.get=listCacheGet,ListCache.prototype.has=listCacheHas,ListCache.prototype.set=listCacheSet,MapCache.prototype.clear=mapCacheClear,MapCache.prototype.delete=mapCacheDelete,MapCache.prototype.get=mapCacheGet,MapCache.prototype.has=mapCacheHas,MapCache.prototype.set=mapCacheSet,Stack.prototype.clear=stackClear,Stack.prototype.delete=stackDelete,Stack.prototype.get=stackGet,Stack.prototype.has=stackHas,Stack.prototype.set=stackSet;var getSymbols=nativeGetSymbols?overArg(nativeGetSymbols,Object):stubArray,getTag=baseGetTag;(DataView&&getTag(new DataView(new ArrayBuffer(1)))!=dataViewTag||Map&&getTag(new Map)!=mapTag||Promise&&getTag(Promise.resolve())!=promiseTag||Set&&getTag(new Set)!=setTag||WeakMap&&getTag(new WeakMap)!=weakMapTag)&&(getTag=function(value){var result=objectToString.call(value),Ctor=result==objectTag?value.constructor:void 0,ctorString=Ctor?toSource(Ctor):void 0;if(ctorString)switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return promiseTag;case setCtorString:return setTag;case weakMapCtorString:return weakMapTag}return result});var isArray=Array.isArray,isBuffer=nativeIsBuffer||stubFalse;module.exports=cloneDeep}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],134:[function(require,module,exports){function createForEach(arrayFunc,eachFunc){return function(collection,iteratee,thisArg){return"function"==typeof iteratee&&void 0===thisArg&&isArray(collection)?arrayFunc(collection,iteratee):eachFunc(collection,bindCallback(iteratee,thisArg,3))}}var arrayEach=require("lodash._arrayeach"),baseEach=require("lodash._baseeach"),bindCallback=require("lodash._bindcallback"),isArray=require("lodash.isarray"),forEach=createForEach(arrayEach,baseEach);module.exports=forEach},{"lodash._arrayeach":124,"lodash._baseeach":127,"lodash._bindcallback":128,"lodash.isarray":136}],135:[function(require,module,exports){function isArguments(value){return isArrayLikeObject(value)&&hasOwnProperty.call(value,"callee")&&(!propertyIsEnumerable.call(value,"callee")||objectToString.call(value)==argsTag)}function isArrayLike(value){return null!=value&&isLength(value.length)&&!isFunction(value)}function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value)}function isFunction(value){var tag=isObject(value)?objectToString.call(value):"";return tag==funcTag||tag==genTag}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}function isObjectLike(value){return!!value&&"object"==typeof value}var MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",funcTag="[object Function]",genTag="[object GeneratorFunction]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,propertyIsEnumerable=objectProto.propertyIsEnumerable;module.exports=isArguments},{}],136:[function(require,module,exports){function isObjectLike(value){return!!value&&"object"==typeof value}function getNative(object,key){var value=null==object?void 0:object[key];return isNative(value)?value:void 0}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isFunction(value){return isObject(value)&&objToString.call(value)==funcTag}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}function isNative(value){return null!=value&&(isFunction(value)?reIsNative.test(fnToString.call(value)):isObjectLike(value)&&reIsHostCtor.test(value))}var arrayTag="[object Array]",funcTag="[object Function]",reIsHostCtor=/^\[object .+?Constructor\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp("^"+fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),nativeIsArray=getNative(Array,"isArray"),MAX_SAFE_INTEGER=9007199254740991,isArray=nativeIsArray||function(value){return isObjectLike(value)&&isLength(value.length)&&objToString.call(value)==arrayTag};module.exports=isArray},{}],137:[function(require,module,exports){function baseProperty(key){return function(object){return null==object?void 0:object[key]}}function isArrayLike(value){return null!=value&&isLength(getLength(value))}function isIndex(value,length){return value="number"==typeof value||reIsUint.test(value)?+value:-1,length=null==length?MAX_SAFE_INTEGER:length,value>-1&&value%1==0&&value<length}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function shimKeys(object){for(var props=keysIn(object),propsLength=props.length,length=propsLength&&object.length,allowIndexes=!!length&&isLength(length)&&(isArray(object)||isArguments(object)),index=-1,result=[];++index<propsLength;){var key=props[index];(allowIndexes&&isIndex(key,length)||hasOwnProperty.call(object,key))&&result.push(key)}return result}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}function keysIn(object){if(null==object)return[];isObject(object)||(object=Object(object));var length=object.length;length=length&&isLength(length)&&(isArray(object)||isArguments(object))&&length||0;for(var Ctor=object.constructor,index=-1,isProto="function"==typeof Ctor&&Ctor.prototype===object,result=Array(length),skipIndexes=length>0;++index<length;)result[index]=index+"";for(var key in object)skipIndexes&&isIndex(key,length)||"constructor"==key&&(isProto||!hasOwnProperty.call(object,key))||result.push(key);return result}var getNative=require("lodash._getnative"),isArguments=require("lodash.isarguments"),isArray=require("lodash.isarray"),reIsUint=/^\d+$/,objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,nativeKeys=getNative(Object,"keys"),MAX_SAFE_INTEGER=9007199254740991,getLength=baseProperty("length"),keys=nativeKeys?function(object){var Ctor=null==object?void 0:object.constructor;return"function"==typeof Ctor&&Ctor.prototype===object||"function"!=typeof object&&isArrayLike(object)?shimKeys(object):isObject(object)?nativeKeys(object):[]}:shimKeys;module.exports=keys},{"lodash._getnative":130,"lodash.isarguments":135,"lodash.isarray":136}],138:[function(require,module,exports){function restParam(func,start){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return start=nativeMax(void 0===start?func.length-1:+start||0,0),function(){for(var args=arguments,index=-1,length=nativeMax(args.length-start,0),rest=Array(length);++index<length;)rest[index]=args[start+index];switch(start){case 0:return func.call(this,rest);case 1:return func.call(this,args[0],rest);case 2:return func.call(this,args[0],args[1],rest)}var otherArgs=Array(start+1);for(index=-1;++index<start;)otherArgs[index]=args[index];return otherArgs[start]=rest,func.apply(this,otherArgs)}}var FUNC_ERROR_TEXT="Expected a function",nativeMax=Math.max;module.exports=restParam},{}],139:[function(require,module,exports){"use strict";var parse=require("./lib/parse"),Parser=require("./lib/Parser"),escape=require("./lib/escape"),Element=require("./lib/Element"),equal=require("./lib/equal"),createElement=require("./lib/createElement"),tag=require("./lib/tag"),tagString=require("./lib/tagString"),is=require("./lib/is"),clone=require("./lib/clone"),stringify=require("./lib/stringify");exports=module.exports=function(){return tag.apply(null,arguments)},exports.Element=Element,exports.equal=equal.equal,exports.nameEqual=equal.name,exports.attrsEqual=equal.attrs,exports.childrenEqual=equal.children,exports.isNode=is.isNode,exports.isElement=is.isElement,exports.isText=is.isText,exports.clone=clone,exports.createElement=createElement,exports.escapeXML=escape.escapeXML,exports.unescapeXML=escape.unescapeXML,exports.escapeXMLText=escape.escapeXMLText,exports.unescapeXMLText=escape.unescapeXMLText,exports.Parser=Parser,exports.parse=parse,exports.tag=tag,exports.tagString=tagString,exports.stringify=stringify},{"./lib/Element":141,"./lib/Parser":142,"./lib/clone":143,"./lib/createElement":144,"./lib/equal":145,"./lib/escape":146,"./lib/is":147,"./lib/parse":148,"./lib/stringify":150,"./lib/tag":151,"./lib/tagString":152}],140:[function(require,module,exports){"use strict";function DOMElement(name,attrs){Element.call(this,name,attrs),this.nodeType=1,this.nodeName=this.localName}var inherits=require("inherits"),Element=require("./Element");inherits(DOMElement,Element),DOMElement.prototype._getElement=function(name,attrs){var element=new DOMElement(name,attrs);return element},Object.defineProperty(DOMElement.prototype,"localName",{get:function(){return this.getName()}}),Object.defineProperty(DOMElement.prototype,"namespaceURI",{get:function(){return this.getNS()}}),Object.defineProperty(DOMElement.prototype,"parentNode",{get:function(){return this.parent}}),Object.defineProperty(DOMElement.prototype,"childNodes",{get:function(){return this.children}}),Object.defineProperty(DOMElement.prototype,"textContent",{get:function(){return this.getText()},set:function(value){this.children.push(value)}}),DOMElement.prototype.getElementsByTagName=function(name){return this.getChildren(name)},DOMElement.prototype.getAttribute=function(name){return this.getAttr(name)},DOMElement.prototype.setAttribute=function(name,value){this.attr(name,value)},DOMElement.prototype.getAttributeNS=function(ns,name){return"http://www.w3.org/XML/1998/namespace"===ns?this.getAttr(["xml",name].join(":")):this.getAttr(name,ns)},DOMElement.prototype.setAttributeNS=function(ns,name,value){var prefix;if("http://www.w3.org/XML/1998/namespace"===ns)prefix="xml";else{var nss=this.getXmlns();prefix=nss[ns]||""}prefix&&this.attr([prefix,name].join(":"),value)},DOMElement.prototype.removeAttribute=function(name){this.attr(name,null)},DOMElement.prototype.removeAttributeNS=function(ns,name){var prefix;if("http://www.w3.org/XML/1998/namespace"===ns)prefix="xml";else{var nss=this.getXmlns();prefix=nss[ns]||""}prefix&&this.attr([prefix,name].join(":"),null)},DOMElement.prototype.appendChild=function(el){this.cnode(el)},DOMElement.prototype.removeChild=function(el){this.remove(el)},DOMElement.createElement=function(name,attrs){var el=new DOMElement(name,attrs),children=Array.prototype.slice.call(arguments,2);return children.forEach(function(child){el.appendChild(child)}),el},module.exports=DOMElement},{"./Element":141,inherits:45}],141:[function(require,module,exports){"use strict";function Element(name,attrs){this.name=name,this.parent=null,this.children=[],this.attrs={},this.setAttrs(attrs)}var escape=require("./escape"),escapeXML=escape.escapeXML,escapeXMLText=escape.escapeXMLText,equality=require("./equal"),equal=equality.equal,nameEqual=equality.name,attrsEqual=equality.attrs,childrenEqual=equality.children,clone=require("./clone");Element.prototype.is=function(name,xmlns){return this.getName()===name&&(!xmlns||this.getNS()===xmlns)},Element.prototype.getName=function(){return this.name.indexOf(":")>=0?this.name.substr(this.name.indexOf(":")+1):this.name},Element.prototype.getNS=function(){if(this.name.indexOf(":")>=0){var prefix=this.name.substr(0,this.name.indexOf(":"));return this.findNS(prefix)}return this.findNS()},Element.prototype.findNS=function(prefix){if(prefix){var attr="xmlns:"+prefix;if(this.attrs[attr])return this.attrs[attr];if(this.parent)return this.parent.findNS(prefix)}else{if(this.attrs.xmlns)return this.attrs.xmlns;if(this.parent)return this.parent.findNS()}},Element.prototype.getXmlns=function(){var namespaces={};this.parent&&(namespaces=this.parent.getXmlns());for(var attr in this.attrs){var m=attr.match("xmlns:?(.*)");this.attrs.hasOwnProperty(attr)&&m&&(namespaces[this.attrs[attr]]=m[1])}return namespaces},Element.prototype.setAttrs=function(attrs){"string"==typeof attrs?this.attrs.xmlns=attrs:attrs&&Object.keys(attrs).forEach(function(key){this.attrs[key]=attrs[key]},this)},Element.prototype.getAttr=function(name,xmlns){if(!xmlns)return this.attrs[name];var namespaces=this.getXmlns();return namespaces[xmlns]?this.attrs[[namespaces[xmlns],name].join(":")]:null},Element.prototype.getChild=function(name,xmlns){return this.getChildren(name,xmlns)[0]},Element.prototype.getChildren=function(name,xmlns){for(var result=[],i=0;i<this.children.length;i++){var child=this.children[i];!child.getName||child.getName()!==name||xmlns&&child.getNS()!==xmlns||result.push(child)}return result},Element.prototype.getChildByAttr=function(attr,val,xmlns,recursive){return this.getChildrenByAttr(attr,val,xmlns,recursive)[0]},Element.prototype.getChildrenByAttr=function(attr,val,xmlns,recursive){for(var result=[],i=0;i<this.children.length;i++){var child=this.children[i];!child.attrs||child.attrs[attr]!==val||xmlns&&child.getNS()!==xmlns||result.push(child),recursive&&child.getChildrenByAttr&&result.push(child.getChildrenByAttr(attr,val,xmlns,!0))}return recursive&&(result=[].concat.apply([],result)),result},Element.prototype.getChildrenByFilter=function(filter,recursive){for(var result=[],i=0;i<this.children.length;i++){var child=this.children[i];filter(child)&&result.push(child),recursive&&child.getChildrenByFilter&&result.push(child.getChildrenByFilter(filter,!0))}return recursive&&(result=[].concat.apply([],result)),result},Element.prototype.getText=function(){for(var text="",i=0;i<this.children.length;i++){var child=this.children[i];"string"!=typeof child&&"number"!=typeof child||(text+=child)}return text},Element.prototype.getChildText=function(name,xmlns){var child=this.getChild(name,xmlns);return child?child.getText():null},Element.prototype.getChildElements=function(){return this.getChildrenByFilter(function(child){return child instanceof Element})},Element.prototype.root=function(){return this.parent?this.parent.root():this},Element.prototype.tree=Element.prototype.root,Element.prototype.up=function(){return this.parent?this.parent:this},Element.prototype.c=function(name,attrs){return this.cnode(new Element(name,attrs))},Element.prototype.cnode=function(child){return this.children.push(child),"object"==typeof child&&(child.parent=this),child},Element.prototype.t=function(text){return this.children.push(text),this},Element.prototype.remove=function(el,xmlns){var filter;return filter="string"==typeof el?function(child){return!(child.is&&child.is(el,xmlns))}:function(child){return child!==el},this.children=this.children.filter(filter),this},Element.prototype.clone=function(){return clone(this)},Element.prototype.text=function(val){return val&&1===this.children.length?(this.children[0]=val,this):this.getText()},Element.prototype.attr=function(attr,val){return"undefined"!=typeof val||null===val?(this.attrs||(this.attrs={}),this.attrs[attr]=val,this):this.attrs[attr]},Element.prototype.toString=function(){var s="";return this.write(function(c){s+=c}),s},Element.prototype.toJSON=function(){return{name:this.name,attrs:this.attrs,children:this.children.map(function(child){return child&&child.toJSON?child.toJSON():child})}},Element.prototype._addChildren=function(writer){writer(">");for(var i=0;i<this.children.length;i++){var child=this.children[i];(child||0===child)&&(child.write?child.write(writer):"string"==typeof child?writer(escapeXMLText(child)):child.toString&&writer(escapeXMLText(child.toString(10))))}writer("</"),writer(this.name),writer(">")},Element.prototype.write=function(writer){writer("<"),writer(this.name);for(var k in this.attrs){var v=this.attrs[k];null!=v&&(writer(" "),writer(k),writer('="'),"string"!=typeof v&&(v=v.toString()),writer(escapeXML(v)),writer('"'))}0===this.children.length?writer("/>"):this._addChildren(writer)},Element.prototype.nameEquals=function(el){return nameEqual(this,el)},Element.prototype.attrsEquals=function(el){return attrsEqual(this,el)},Element.prototype.childrenEquals=function(el){return childrenEqual(this,el)},Element.prototype.equals=function(el){return equal(this,el)},module.exports=Element},{"./clone":143,"./equal":145,"./escape":146}],142:[function(require,module,exports){"use strict";var EventEmitter=require("events").EventEmitter,inherits=require("inherits"),Element=require("./Element"),LtxParser=require("./parsers/ltx"),Parser=function(options){EventEmitter.call(this);var ParserInterface=this.Parser=options&&options.Parser||this.DefaultParser,ElementInterface=this.Element=options&&options.Element||this.DefaultElement;this.parser=new ParserInterface;var el,self=this;this.parser.on("startElement",function(name,attrs){var child=new ElementInterface(name,attrs);el=el?el.cnode(child):child}),this.parser.on("endElement",function(name){el&&name===el.name&&(el.parent?el=el.parent:self.tree||(self.tree=el,el=void 0))}),this.parser.on("text",function(str){el&&el.t(str)}),this.parser.on("error",function(e){self.error=e,self.emit("error",e)})};inherits(Parser,EventEmitter),Parser.prototype.DefaultParser=LtxParser,Parser.prototype.DefaultElement=Element,Parser.prototype.write=function(data){this.parser.write(data)},Parser.prototype.end=function(data){this.parser.end(data),this.error||(this.tree?this.emit("tree",this.tree):this.emit("error",new Error("Incomplete document")))},module.exports=Parser},{"./Element":141,"./parsers/ltx":149,events:27,inherits:45}],143:[function(require,module,exports){"use strict";module.exports=function clone(el){for(var clone=new el.constructor(el.name,el.attrs),i=0;i<el.children.length;i++){var child=el.children[i];clone.cnode(child.clone?child.clone():child)}return clone}},{}],144:[function(require,module,exports){"use strict";var Element=require("./Element");module.exports=function(name,attrs){for(var el=new Element(name,attrs),i=2;i<arguments.length;i++){var child=arguments[i];child&&el.cnode(child)}return el}},{"./Element":141}],145:[function(require,module,exports){"use strict";function nameEqual(a,b){return a.name===b.name}function attrsEqual(a,b){var attrs=a.attrs,keys=Object.keys(attrs),length=keys.length;if(length!==Object.keys(b.attrs).length)return!1;for(var i=0,l=length;i<l;i++){var key=keys[i],value=attrs[key];if(null==value||null==b.attrs[key]){if(value!==b.attrs[key])return!1}else if(value.toString()!==b.attrs[key].toString())return!1}return!0}function childrenEqual(a,b){var children=a.children,length=children.length;if(length!==b.children.length)return!1;for(var i=0,l=length;i<l;i++){var child=children[i];if("string"==typeof child){if(child!==b.children[i])return!1}else if(!child.equals(b.children[i]))return!1}return!0}function equal(a,b){return!!nameEqual(a,b)&&(!!attrsEqual(a,b)&&!!childrenEqual(a,b))}module.exports.name=nameEqual,module.exports.attrs=attrsEqual,module.exports.children=childrenEqual,module.exports.equal=equal},{}],146:[function(require,module,exports){"use strict";function escapeXMLReplace(match){return escapeXMLTable[match]}function unescapeXMLReplace(match){return unescapeXMLTable[match]}var escapeXMLTable={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&apos;"},unescapeXMLTable={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&quot;":'"',"&#34;":'"',"&apos;":"'","&#39;":"'"};exports.escapeXML=function(s){return s.replace(/&|<|>|"|'/g,escapeXMLReplace)},exports.unescapeXML=function(s){return s.replace(/&(amp|#38|lt|#60|gt|#62|quot|#34|apos|#39);/g,unescapeXMLReplace)},exports.escapeXMLText=function(s){return s.replace(/&|<|>/g,escapeXMLReplace)},exports.unescapeXMLText=function(s){return s.replace(/&(amp|#38|lt|#60|gt|#62);/g,unescapeXMLReplace)}},{}],147:[function(require,module,exports){"use strict";var Element=require("./Element");module.exports.isNode=function(el){return el instanceof Element||"string"==typeof el},module.exports.isElement=function(el){return el instanceof Element},module.exports.isText=function(el){return"string"==typeof el}},{"./Element":141}],148:[function(require,module,exports){"use strict";var Parser=require("./Parser");module.exports=function(data,options){var p;p="function"==typeof options?new options:new Parser(options);var result=null,error=null;if(p.on("tree",function(tree){result=tree}),p.on("error",function(e){error=e}),p.write(data),p.end(),error)throw error;return result}},{"./Parser":142}],149:[function(require,module,exports){"use strict";var inherits=require("inherits"),EventEmitter=require("events").EventEmitter,unescapeXML=require("../escape").unescapeXML,STATE_TEXT=0,STATE_IGNORE_COMMENT=1,STATE_IGNORE_INSTRUCTION=2,STATE_TAG_NAME=3,STATE_TAG=4,STATE_ATTR_NAME=5,STATE_ATTR_EQ=6,STATE_ATTR_QUOT=7,STATE_ATTR_VALUE=8,SaxLtx=module.exports=function(){EventEmitter.call(this);var remainder,tagName,attrs,endTag,selfClosing,attrQuote,attrName,state=STATE_TEXT,recordStart=0;this._handleTagOpening=function(endTag,tagName,attrs){endTag?this.emit("endElement",tagName):(this.emit("startElement",tagName,attrs),selfClosing&&this.emit("endElement",tagName))},this.write=function(data){function endRecording(){if("number"==typeof recordStart){var recorded=data.slice(recordStart,pos);return recordStart=void 0,recorded}}"string"!=typeof data&&(data=data.toString());var pos=0;for(remainder&&(data=remainder+data,pos+=remainder.length,remainder=null);pos<data.length;pos++){var c=data.charCodeAt(pos);switch(state){case STATE_TEXT:if(60===c){var text=endRecording();text&&this.emit("text",unescapeXML(text)),state=STATE_TAG_NAME,recordStart=pos+1,attrs={}}break;case STATE_TAG_NAME:47===c&&recordStart===pos?(recordStart=pos+1,endTag=!0):33===c?(recordStart=void 0,state=STATE_IGNORE_COMMENT):63===c?(recordStart=void 0,state=STATE_IGNORE_INSTRUCTION):(c<=32||47===c||62===c)&&(tagName=endRecording(),pos--,state=STATE_TAG);break;case STATE_IGNORE_COMMENT:if(62===c){var prevFirst=data.charCodeAt(pos-1),prevSecond=data.charCodeAt(pos-2);45===prevFirst&&45===prevSecond&&(state=STATE_TEXT)}break;case STATE_IGNORE_INSTRUCTION:if(62===c){var prev=data.charCodeAt(pos-1);63===prev&&(state=STATE_TEXT)}break;case STATE_TAG:62===c?(this._handleTagOpening(endTag,tagName,attrs),tagName=void 0,attrs=void 0,endTag=void 0,selfClosing=void 0,state=STATE_TEXT,recordStart=pos+1):47===c?selfClosing=!0:c>32&&(recordStart=pos,state=STATE_ATTR_NAME);break;case STATE_ATTR_NAME:(c<=32||61===c)&&(attrName=endRecording(),pos--,state=STATE_ATTR_EQ);break;case STATE_ATTR_EQ:61===c&&(state=STATE_ATTR_QUOT);break;case STATE_ATTR_QUOT:34!==c&&39!==c||(attrQuote=c,state=STATE_ATTR_VALUE,recordStart=pos+1);break;case STATE_ATTR_VALUE:if(c===attrQuote){var value=unescapeXML(endRecording());attrs[attrName]=value,attrName=void 0,state=STATE_TAG}}}"number"==typeof recordStart&&recordStart<=data.length&&(remainder=data.slice(recordStart),recordStart=0)}};inherits(SaxLtx,EventEmitter),SaxLtx.prototype.end=function(data){data&&this.write(data),this.write=function(){}}},{"../escape":146,events:27,inherits:45}],150:[function(require,module,exports){"use strict";function stringify(el,indent,level){"number"==typeof indent&&(indent=" ".repeat(indent)),level||(level=1);var s="";return s+="<"+el.name,Object.keys(el.attrs).forEach(function(k){s+=" "+k+'="'+el.attrs[k]+'"'}),el.children.length?(s+=">",el.children.forEach(function(child,i){indent&&(s+="\n"+indent.repeat(level)),s+="string"==typeof child?child:stringify(child,indent,level+1)}),indent&&(s+="\n"+indent.repeat(level-1)),s+="</"+el.name+">"):s+="/>",s}module.exports=stringify},{}],151:[function(require,module,exports){"use strict";var tagString=require("./tagString"),parse=require("./parse");module.exports=function(){return parse(tagString.apply(null,arguments))}},{"./parse":148,"./tagString":152}],152:[function(require,module,exports){"use strict";var escape=require("./escape").escapeXML;module.exports=function(){for(var literals=arguments[0],str="",i=1;i<arguments.length;i++)str+=literals[i-1],str+=escape(arguments[i]);return str+=literals[literals.length-1]}},{"./escape":146}],153:[function(require,module,exports){(function(process){"use strict";function nextTick(fn,arg1,arg2,arg3){if("function"!=typeof fn)throw new TypeError('"callback" argument must be a function');var args,i,len=arguments.length;switch(len){case 0:case 1:return process.nextTick(fn);case 2:return process.nextTick(function(){fn.call(null,arg1)});case 3:return process.nextTick(function(){fn.call(null,arg1,arg2)});case 4:return process.nextTick(function(){fn.call(null,arg1,arg2,arg3)});default:for(args=new Array(len-1),i=0;i<args.length;)args[i++]=arguments[i];return process.nextTick(function(){fn.apply(null,args)})}}!process.version||0===process.version.indexOf("v0.")||0===process.version.indexOf("v1.")&&0!==process.version.indexOf("v1.8.")?module.exports=nextTick:module.exports=process.nextTick}).call(this,require("_process"))},{_process:154}],154:[function(require,module,exports){function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(fun){if(cachedSetTimeout===setTimeout)return setTimeout(fun,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(fun,0);try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout)return clearTimeout(marker);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(marker);try{return cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}function cleanUpNextTick(){draining&&currentQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var timeout=runTimeout(cleanUpNextTick);draining=!0;for(var len=queue.length;len;){for(currentQueue=queue,queue=[];++queueIndex<len;)currentQueue&&currentQueue[queueIndex].run();queueIndex=-1,len=queue.length}currentQueue=null,draining=!1,runClearTimeout(timeout)}}function Item(fun,array){this.fun=fun,this.array=array}function noop(){}var cachedSetTimeout,cachedClearTimeout,process=module.exports={};!function(){try{cachedSetTimeout="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){cachedSetTimeout=defaultSetTimout}try{cachedClearTimeout="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){cachedClearTimeout=defaultClearTimeout}}();var currentQueue,queue=[],draining=!1,queueIndex=-1;process.nextTick=function(fun){var args=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)args[i-1]=arguments[i];queue.push(new Item(fun,args)),1!==queue.length||draining||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.binding=function(name){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(dir){throw new Error("process.chdir is not supported")},process.umask=function(){return 0}},{}],155:[function(require,module,exports){(function(global){!function(root){function error(type){throw new RangeError(errors[type])}function map(array,fn){for(var length=array.length,result=[];length--;)result[length]=fn(array[length]);
+return result}function mapDomain(string,fn){var parts=string.split("@"),result="";parts.length>1&&(result=parts[0]+"@",string=parts[1]),string=string.replace(regexSeparators,".");var labels=string.split("."),encoded=map(labels,fn).join(".");return result+encoded}function ucs2decode(string){for(var value,extra,output=[],counter=0,length=string.length;counter<length;)value=string.charCodeAt(counter++),value>=55296&&value<=56319&&counter<length?(extra=string.charCodeAt(counter++),56320==(64512&extra)?output.push(((1023&value)<<10)+(1023&extra)+65536):(output.push(value),counter--)):output.push(value);return output}function ucs2encode(array){return map(array,function(value){var output="";return value>65535&&(value-=65536,output+=stringFromCharCode(value>>>10&1023|55296),value=56320|1023&value),output+=stringFromCharCode(value)}).join("")}function basicToDigit(codePoint){return codePoint-48<10?codePoint-22:codePoint-65<26?codePoint-65:codePoint-97<26?codePoint-97:base}function digitToBasic(digit,flag){return digit+22+75*(digit<26)-((0!=flag)<<5)}function adapt(delta,numPoints,firstTime){var k=0;for(delta=firstTime?floor(delta/damp):delta>>1,delta+=floor(delta/numPoints);delta>baseMinusTMin*tMax>>1;k+=base)delta=floor(delta/baseMinusTMin);return floor(k+(baseMinusTMin+1)*delta/(delta+skew))}function decode(input){var out,basic,j,index,oldi,w,k,digit,t,baseMinusT,output=[],inputLength=input.length,i=0,n=initialN,bias=initialBias;for(basic=input.lastIndexOf(delimiter),basic<0&&(basic=0),j=0;j<basic;++j)input.charCodeAt(j)>=128&&error("not-basic"),output.push(input.charCodeAt(j));for(index=basic>0?basic+1:0;index<inputLength;){for(oldi=i,w=1,k=base;index>=inputLength&&error("invalid-input"),digit=basicToDigit(input.charCodeAt(index++)),(digit>=base||digit>floor((maxInt-i)/w))&&error("overflow"),i+=digit*w,t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias,!(digit<t);k+=base)baseMinusT=base-t,w>floor(maxInt/baseMinusT)&&error("overflow"),w*=baseMinusT;out=output.length+1,bias=adapt(i-oldi,out,0==oldi),floor(i/out)>maxInt-n&&error("overflow"),n+=floor(i/out),i%=out,output.splice(i++,0,n)}return ucs2encode(output)}function encode(input){var n,delta,handledCPCount,basicLength,bias,j,m,q,k,t,currentValue,inputLength,handledCPCountPlusOne,baseMinusT,qMinusT,output=[];for(input=ucs2decode(input),inputLength=input.length,n=initialN,delta=0,bias=initialBias,j=0;j<inputLength;++j)currentValue=input[j],currentValue<128&&output.push(stringFromCharCode(currentValue));for(handledCPCount=basicLength=output.length,basicLength&&output.push(delimiter);handledCPCount<inputLength;){for(m=maxInt,j=0;j<inputLength;++j)currentValue=input[j],currentValue>=n&&currentValue<m&&(m=currentValue);for(handledCPCountPlusOne=handledCPCount+1,m-n>floor((maxInt-delta)/handledCPCountPlusOne)&&error("overflow"),delta+=(m-n)*handledCPCountPlusOne,n=m,j=0;j<inputLength;++j)if(currentValue=input[j],currentValue<n&&++delta>maxInt&&error("overflow"),currentValue==n){for(q=delta,k=base;t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias,!(q<t);k+=base)qMinusT=q-t,baseMinusT=base-t,output.push(stringFromCharCode(digitToBasic(t+qMinusT%baseMinusT,0))),q=floor(qMinusT/baseMinusT);output.push(stringFromCharCode(digitToBasic(q,0))),bias=adapt(delta,handledCPCountPlusOne,handledCPCount==basicLength),delta=0,++handledCPCount}++delta,++n}return output.join("")}function toUnicode(input){return mapDomain(input,function(string){return regexPunycode.test(string)?decode(string.slice(4).toLowerCase()):string})}function toASCII(input){return mapDomain(input,function(string){return regexNonASCII.test(string)?"xn--"+encode(string):string})}var freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule="object"==typeof module&&module&&!module.nodeType&&module,freeGlobal="object"==typeof global&&global;freeGlobal.global!==freeGlobal&&freeGlobal.window!==freeGlobal&&freeGlobal.self!==freeGlobal||(root=freeGlobal);var punycode,key,maxInt=2147483647,base=36,tMin=1,tMax=26,skew=38,damp=700,initialBias=72,initialN=128,delimiter="-",regexPunycode=/^xn--/,regexNonASCII=/[^\x20-\x7E]/,regexSeparators=/[\x2E\u3002\uFF0E\uFF61]/g,errors={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},baseMinusTMin=base-tMin,floor=Math.floor,stringFromCharCode=String.fromCharCode;if(punycode={version:"1.4.1",ucs2:{decode:ucs2decode,encode:ucs2encode},decode:decode,encode:encode,toASCII:toASCII,toUnicode:toUnicode},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return punycode});else if(freeExports&&freeModule)if(module.exports==freeExports)freeModule.exports=punycode;else for(key in punycode)punycode.hasOwnProperty(key)&&(freeExports[key]=punycode[key]);else root.punycode=punycode}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],156:[function(require,module,exports){module.exports=require("./lib/_stream_duplex.js")},{"./lib/_stream_duplex.js":157}],157:[function(require,module,exports){"use strict";function Duplex(options){return this instanceof Duplex?(Readable.call(this,options),Writable.call(this,options),options&&options.readable===!1&&(this.readable=!1),options&&options.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,options&&options.allowHalfOpen===!1&&(this.allowHalfOpen=!1),void this.once("end",onend)):new Duplex(options)}function onend(){this.allowHalfOpen||this._writableState.ended||processNextTick(onEndNT,this)}function onEndNT(self){self.end()}var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj)keys.push(key);return keys};module.exports=Duplex;var processNextTick=require("process-nextick-args"),util=require("core-util-is");util.inherits=require("inherits");var Readable=require("./_stream_readable"),Writable=require("./_stream_writable");util.inherits(Duplex,Readable);for(var keys=objectKeys(Writable.prototype),v=0;v<keys.length;v++){var method=keys[v];Duplex.prototype[method]||(Duplex.prototype[method]=Writable.prototype[method])}},{"./_stream_readable":159,"./_stream_writable":161,"core-util-is":22,inherits:45,"process-nextick-args":153}],158:[function(require,module,exports){"use strict";function PassThrough(options){return this instanceof PassThrough?void Transform.call(this,options):new PassThrough(options)}module.exports=PassThrough;var Transform=require("./_stream_transform"),util=require("core-util-is");util.inherits=require("inherits"),util.inherits(PassThrough,Transform),PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk)}},{"./_stream_transform":160,"core-util-is":22,inherits:45}],159:[function(require,module,exports){(function(process){"use strict";function prependListener(emitter,event,fn){return"function"==typeof emitter.prependListener?emitter.prependListener(event,fn):void(emitter._events&&emitter._events[event]?isArray(emitter._events[event])?emitter._events[event].unshift(fn):emitter._events[event]=[fn,emitter._events[event]]:emitter.on(event,fn))}function ReadableState(options,stream){Duplex=Duplex||require("./_stream_duplex"),options=options||{},this.objectMode=!!options.objectMode,stream instanceof Duplex&&(this.objectMode=this.objectMode||!!options.readableObjectMode);var hwm=options.highWaterMark,defaultHwm=this.objectMode?16:16384;this.highWaterMark=hwm||0===hwm?hwm:defaultHwm,this.highWaterMark=~~this.highWaterMark,this.buffer=new BufferList,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=options.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,options.encoding&&(StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder),this.decoder=new StringDecoder(options.encoding),this.encoding=options.encoding)}function Readable(options){return Duplex=Duplex||require("./_stream_duplex"),this instanceof Readable?(this._readableState=new ReadableState(options,this),this.readable=!0,options&&"function"==typeof options.read&&(this._read=options.read),void Stream.call(this)):new Readable(options)}function readableAddChunk(stream,state,chunk,encoding,addToFront){var er=chunkInvalid(state,chunk);if(er)stream.emit("error",er);else if(null===chunk)state.reading=!1,onEofChunk(stream,state);else if(state.objectMode||chunk&&chunk.length>0)if(state.ended&&!addToFront){var e=new Error("stream.push() after EOF");stream.emit("error",e)}else if(state.endEmitted&&addToFront){var _e=new Error("stream.unshift() after end event");stream.emit("error",_e)}else{var skipAdd;!state.decoder||addToFront||encoding||(chunk=state.decoder.write(chunk),skipAdd=!state.objectMode&&0===chunk.length),addToFront||(state.reading=!1),skipAdd||(state.flowing&&0===state.length&&!state.sync?(stream.emit("data",chunk),stream.read(0)):(state.length+=state.objectMode?1:chunk.length,addToFront?state.buffer.unshift(chunk):state.buffer.push(chunk),state.needReadable&&emitReadable(stream))),maybeReadMore(stream,state)}else addToFront||(state.reading=!1);return needMoreData(state)}function needMoreData(state){return!state.ended&&(state.needReadable||state.length<state.highWaterMark||0===state.length)}function computeNewHighWaterMark(n){return n>=MAX_HWM?n=MAX_HWM:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n}function howMuchToRead(n,state){return n<=0||0===state.length&&state.ended?0:state.objectMode?1:n!==n?state.flowing&&state.length?state.buffer.head.data.length:state.length:(n>state.highWaterMark&&(state.highWaterMark=computeNewHighWaterMark(n)),n<=state.length?n:state.ended?state.length:(state.needReadable=!0,0))}function chunkInvalid(state,chunk){var er=null;return Buffer.isBuffer(chunk)||"string"==typeof chunk||null===chunk||void 0===chunk||state.objectMode||(er=new TypeError("Invalid non-string/buffer chunk")),er}function onEofChunk(stream,state){if(!state.ended){if(state.decoder){var chunk=state.decoder.end();chunk&&chunk.length&&(state.buffer.push(chunk),state.length+=state.objectMode?1:chunk.length)}state.ended=!0,emitReadable(stream)}}function emitReadable(stream){var state=stream._readableState;state.needReadable=!1,state.emittedReadable||(debug("emitReadable",state.flowing),state.emittedReadable=!0,state.sync?processNextTick(emitReadable_,stream):emitReadable_(stream))}function emitReadable_(stream){debug("emit readable"),stream.emit("readable"),flow(stream)}function maybeReadMore(stream,state){state.readingMore||(state.readingMore=!0,processNextTick(maybeReadMore_,stream,state))}function maybeReadMore_(stream,state){for(var len=state.length;!state.reading&&!state.flowing&&!state.ended&&state.length<state.highWaterMark&&(debug("maybeReadMore read 0"),stream.read(0),len!==state.length);)len=state.length;state.readingMore=!1}function pipeOnDrain(src){return function(){var state=src._readableState;debug("pipeOnDrain",state.awaitDrain),state.awaitDrain&&state.awaitDrain--,0===state.awaitDrain&&EElistenerCount(src,"data")&&(state.flowing=!0,flow(src))}}function nReadingNextTick(self){debug("readable nexttick read 0"),self.read(0)}function resume(stream,state){state.resumeScheduled||(state.resumeScheduled=!0,processNextTick(resume_,stream,state))}function resume_(stream,state){state.reading||(debug("resume read 0"),stream.read(0)),state.resumeScheduled=!1,state.awaitDrain=0,stream.emit("resume"),flow(stream),state.flowing&&!state.reading&&stream.read(0)}function flow(stream){var state=stream._readableState;for(debug("flow",state.flowing);state.flowing&&null!==stream.read(););}function fromList(n,state){if(0===state.length)return null;var ret;return state.objectMode?ret=state.buffer.shift():!n||n>=state.length?(ret=state.decoder?state.buffer.join(""):1===state.buffer.length?state.buffer.head.data:state.buffer.concat(state.length),state.buffer.clear()):ret=fromListPartial(n,state.buffer,state.decoder),ret}function fromListPartial(n,list,hasStrings){var ret;return n<list.head.data.length?(ret=list.head.data.slice(0,n),list.head.data=list.head.data.slice(n)):ret=n===list.head.data.length?list.shift():hasStrings?copyFromBufferString(n,list):copyFromBuffer(n,list),ret}function copyFromBufferString(n,list){var p=list.head,c=1,ret=p.data;for(n-=ret.length;p=p.next;){var str=p.data,nb=n>str.length?str.length:n;if(ret+=nb===str.length?str:str.slice(0,n),n-=nb,0===n){nb===str.length?(++c,p.next?list.head=p.next:list.head=list.tail=null):(list.head=p,p.data=str.slice(nb));break}++c}return list.length-=c,ret}function copyFromBuffer(n,list){var ret=bufferShim.allocUnsafe(n),p=list.head,c=1;for(p.data.copy(ret),n-=p.data.length;p=p.next;){var buf=p.data,nb=n>buf.length?buf.length:n;if(buf.copy(ret,ret.length-n,0,nb),n-=nb,0===n){nb===buf.length?(++c,p.next?list.head=p.next:list.head=list.tail=null):(list.head=p,p.data=buf.slice(nb));break}++c}return list.length-=c,ret}function endReadable(stream){var state=stream._readableState;if(state.length>0)throw new Error('"endReadable()" called on non-empty stream');state.endEmitted||(state.ended=!0,processNextTick(endReadableNT,state,stream))}function endReadableNT(state,stream){state.endEmitted||0!==state.length||(state.endEmitted=!0,stream.readable=!1,stream.emit("end"))}function forEach(xs,f){for(var i=0,l=xs.length;i<l;i++)f(xs[i],i)}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++)if(xs[i]===x)return i;return-1}module.exports=Readable;var Duplex,processNextTick=require("process-nextick-args"),isArray=require("isarray");Readable.ReadableState=ReadableState;var Stream,EElistenerCount=(require("events").EventEmitter,function(emitter,type){return emitter.listeners(type).length});!function(){try{Stream=require("stream")}catch(_){}finally{Stream||(Stream=require("events").EventEmitter)}}();var Buffer=require("buffer").Buffer,bufferShim=require("buffer-shims"),util=require("core-util-is");util.inherits=require("inherits");var debugUtil=require("util"),debug=void 0;debug=debugUtil&&debugUtil.debuglog?debugUtil.debuglog("stream"):function(){};var StringDecoder,BufferList=require("./internal/streams/BufferList");util.inherits(Readable,Stream),Readable.prototype.push=function(chunk,encoding){var state=this._readableState;return state.objectMode||"string"!=typeof chunk||(encoding=encoding||state.defaultEncoding,encoding!==state.encoding&&(chunk=bufferShim.from(chunk,encoding),encoding="")),readableAddChunk(this,state,chunk,encoding,!1)},Readable.prototype.unshift=function(chunk){var state=this._readableState;return readableAddChunk(this,state,chunk,"",!0)},Readable.prototype.isPaused=function(){return this._readableState.flowing===!1},Readable.prototype.setEncoding=function(enc){return StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder),this._readableState.decoder=new StringDecoder(enc),this._readableState.encoding=enc,this};var MAX_HWM=8388608;Readable.prototype.read=function(n){debug("read",n),n=parseInt(n,10);var state=this._readableState,nOrig=n;if(0!==n&&(state.emittedReadable=!1),0===n&&state.needReadable&&(state.length>=state.highWaterMark||state.ended))return debug("read: emitReadable",state.length,state.ended),0===state.length&&state.ended?endReadable(this):emitReadable(this),null;if(n=howMuchToRead(n,state),0===n&&state.ended)return 0===state.length&&endReadable(this),null;var doRead=state.needReadable;debug("need readable",doRead),(0===state.length||state.length-n<state.highWaterMark)&&(doRead=!0,debug("length less than watermark",doRead)),state.ended||state.reading?(doRead=!1,debug("reading or ended",doRead)):doRead&&(debug("do read"),state.reading=!0,state.sync=!0,0===state.length&&(state.needReadable=!0),this._read(state.highWaterMark),state.sync=!1,state.reading||(n=howMuchToRead(nOrig,state)));var ret;return ret=n>0?fromList(n,state):null,null===ret?(state.needReadable=!0,n=0):state.length-=n,0===state.length&&(state.ended||(state.needReadable=!0),nOrig!==n&&state.ended&&endReadable(this)),null!==ret&&this.emit("data",ret),ret},Readable.prototype._read=function(n){this.emit("error",new Error("_read() is not implemented"))},Readable.prototype.pipe=function(dest,pipeOpts){function onunpipe(readable){debug("onunpipe"),readable===src&&cleanup()}function onend(){debug("onend"),dest.end()}function cleanup(){debug("cleanup"),dest.removeListener("close",onclose),dest.removeListener("finish",onfinish),dest.removeListener("drain",ondrain),dest.removeListener("error",onerror),dest.removeListener("unpipe",onunpipe),src.removeListener("end",onend),src.removeListener("end",cleanup),src.removeListener("data",ondata),cleanedUp=!0,!state.awaitDrain||dest._writableState&&!dest._writableState.needDrain||ondrain()}function ondata(chunk){debug("ondata"),increasedAwaitDrain=!1;var ret=dest.write(chunk);!1!==ret||increasedAwaitDrain||((1===state.pipesCount&&state.pipes===dest||state.pipesCount>1&&indexOf(state.pipes,dest)!==-1)&&!cleanedUp&&(debug("false write response, pause",src._readableState.awaitDrain),src._readableState.awaitDrain++,increasedAwaitDrain=!0),src.pause())}function onerror(er){debug("onerror",er),unpipe(),dest.removeListener("error",onerror),0===EElistenerCount(dest,"error")&&dest.emit("error",er)}function onclose(){dest.removeListener("finish",onfinish),unpipe()}function onfinish(){debug("onfinish"),dest.removeListener("close",onclose),unpipe()}function unpipe(){debug("unpipe"),src.unpipe(dest)}var src=this,state=this._readableState;switch(state.pipesCount){case 0:state.pipes=dest;break;case 1:state.pipes=[state.pipes,dest];break;default:state.pipes.push(dest)}state.pipesCount+=1,debug("pipe count=%d opts=%j",state.pipesCount,pipeOpts);var doEnd=(!pipeOpts||pipeOpts.end!==!1)&&dest!==process.stdout&&dest!==process.stderr,endFn=doEnd?onend:cleanup;state.endEmitted?processNextTick(endFn):src.once("end",endFn),dest.on("unpipe",onunpipe);var ondrain=pipeOnDrain(src);dest.on("drain",ondrain);var cleanedUp=!1,increasedAwaitDrain=!1;return src.on("data",ondata),prependListener(dest,"error",onerror),dest.once("close",onclose),dest.once("finish",onfinish),dest.emit("pipe",src),state.flowing||(debug("pipe resume"),src.resume()),dest},Readable.prototype.unpipe=function(dest){var state=this._readableState;if(0===state.pipesCount)return this;if(1===state.pipesCount)return dest&&dest!==state.pipes?this:(dest||(dest=state.pipes),state.pipes=null,state.pipesCount=0,state.flowing=!1,dest&&dest.emit("unpipe",this),this);if(!dest){var dests=state.pipes,len=state.pipesCount;state.pipes=null,state.pipesCount=0,state.flowing=!1;for(var i=0;i<len;i++)dests[i].emit("unpipe",this);return this}var index=indexOf(state.pipes,dest);return index===-1?this:(state.pipes.splice(index,1),state.pipesCount-=1,1===state.pipesCount&&(state.pipes=state.pipes[0]),dest.emit("unpipe",this),this)},Readable.prototype.on=function(ev,fn){var res=Stream.prototype.on.call(this,ev,fn);if("data"===ev)this._readableState.flowing!==!1&&this.resume();else if("readable"===ev){var state=this._readableState;state.endEmitted||state.readableListening||(state.readableListening=state.needReadable=!0,state.emittedReadable=!1,state.reading?state.length&&emitReadable(this,state):processNextTick(nReadingNextTick,this))}return res},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.resume=function(){var state=this._readableState;return state.flowing||(debug("resume"),state.flowing=!0,resume(this,state)),this},Readable.prototype.pause=function(){return debug("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(debug("pause"),this._readableState.flowing=!1,this.emit("pause")),this},Readable.prototype.wrap=function(stream){var state=this._readableState,paused=!1,self=this;stream.on("end",function(){if(debug("wrapped end"),state.decoder&&!state.ended){var chunk=state.decoder.end();chunk&&chunk.length&&self.push(chunk)}self.push(null)}),stream.on("data",function(chunk){if(debug("wrapped data"),state.decoder&&(chunk=state.decoder.write(chunk)),(!state.objectMode||null!==chunk&&void 0!==chunk)&&(state.objectMode||chunk&&chunk.length)){var ret=self.push(chunk);ret||(paused=!0,stream.pause())}});for(var i in stream)void 0===this[i]&&"function"==typeof stream[i]&&(this[i]=function(method){return function(){return stream[method].apply(stream,arguments)}}(i));var events=["error","close","destroy","pause","resume"];return forEach(events,function(ev){stream.on(ev,self.emit.bind(self,ev))}),self._read=function(n){debug("wrapped _read",n),paused&&(paused=!1,stream.resume())},self},Readable._fromList=fromList}).call(this,require("_process"))},{"./_stream_duplex":157,"./internal/streams/BufferList":162,_process:154,buffer:6,"buffer-shims":5,"core-util-is":22,events:27,inherits:45,isarray:48,"process-nextick-args":153,"string_decoder/":193,util:4}],160:[function(require,module,exports){"use strict";function TransformState(stream){this.afterTransform=function(er,data){return afterTransform(stream,er,data)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function afterTransform(stream,er,data){var ts=stream._transformState;ts.transforming=!1;var cb=ts.writecb;if(!cb)return stream.emit("error",new Error("no writecb in Transform class"));ts.writechunk=null,ts.writecb=null,null!==data&&void 0!==data&&stream.push(data),cb(er);var rs=stream._readableState;rs.reading=!1,(rs.needReadable||rs.length<rs.highWaterMark)&&stream._read(rs.highWaterMark)}function Transform(options){if(!(this instanceof Transform))return new Transform(options);Duplex.call(this,options),this._transformState=new TransformState(this);var stream=this;this._readableState.needReadable=!0,this._readableState.sync=!1,options&&("function"==typeof options.transform&&(this._transform=options.transform),"function"==typeof options.flush&&(this._flush=options.flush)),this.once("prefinish",function(){"function"==typeof this._flush?this._flush(function(er,data){done(stream,er,data)}):done(stream)})}function done(stream,er,data){if(er)return stream.emit("error",er);null!==data&&void 0!==data&&stream.push(data);var ws=stream._writableState,ts=stream._transformState;if(ws.length)throw new Error("Calling transform done when ws.length != 0");if(ts.transforming)throw new Error("Calling transform done when still transforming");return stream.push(null)}module.exports=Transform;var Duplex=require("./_stream_duplex"),util=require("core-util-is");util.inherits=require("inherits"),util.inherits(Transform,Duplex),Transform.prototype.push=function(chunk,encoding){return this._transformState.needTransform=!1,Duplex.prototype.push.call(this,chunk,encoding)},Transform.prototype._transform=function(chunk,encoding,cb){throw new Error("_transform() is not implemented")},Transform.prototype._write=function(chunk,encoding,cb){var ts=this._transformState;if(ts.writecb=cb,ts.writechunk=chunk,ts.writeencoding=encoding,!ts.transforming){var rs=this._readableState;(ts.needTransform||rs.needReadable||rs.length<rs.highWaterMark)&&this._read(rs.highWaterMark)}},Transform.prototype._read=function(n){var ts=this._transformState;null!==ts.writechunk&&ts.writecb&&!ts.transforming?(ts.transforming=!0,this._transform(ts.writechunk,ts.writeencoding,ts.afterTransform)):ts.needTransform=!0}},{"./_stream_duplex":157,"core-util-is":22,inherits:45}],161:[function(require,module,exports){(function(process){"use strict";function nop(){}function WriteReq(chunk,encoding,cb){this.chunk=chunk,this.encoding=encoding,this.callback=cb,this.next=null}function WritableState(options,stream){Duplex=Duplex||require("./_stream_duplex"),options=options||{},this.objectMode=!!options.objectMode,stream instanceof Duplex&&(this.objectMode=this.objectMode||!!options.writableObjectMode);var hwm=options.highWaterMark,defaultHwm=this.objectMode?16:16384;this.highWaterMark=hwm||0===hwm?hwm:defaultHwm,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var noDecode=options.decodeStrings===!1;this.decodeStrings=!noDecode,this.defaultEncoding=options.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(er){onwrite(stream,er)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}function Writable(options){return Duplex=Duplex||require("./_stream_duplex"),realHasInstance.call(Writable,this)||this instanceof Duplex?(this._writableState=new WritableState(options,this),this.writable=!0,options&&("function"==typeof options.write&&(this._write=options.write),"function"==typeof options.writev&&(this._writev=options.writev)),void Stream.call(this)):new Writable(options)}function writeAfterEnd(stream,cb){var er=new Error("write after end");stream.emit("error",er),processNextTick(cb,er)}function validChunk(stream,state,chunk,cb){var valid=!0,er=!1;return null===chunk?er=new TypeError("May not write null values to stream"):Buffer.isBuffer(chunk)||"string"==typeof chunk||void 0===chunk||state.objectMode||(er=new TypeError("Invalid non-string/buffer chunk")),er&&(stream.emit("error",er),processNextTick(cb,er),valid=!1),valid}function decodeChunk(state,chunk,encoding){return state.objectMode||state.decodeStrings===!1||"string"!=typeof chunk||(chunk=bufferShim.from(chunk,encoding)),chunk}function writeOrBuffer(stream,state,chunk,encoding,cb){chunk=decodeChunk(state,chunk,encoding),Buffer.isBuffer(chunk)&&(encoding="buffer");var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length<state.highWaterMark;if(ret||(state.needDrain=!0),state.writing||state.corked){var last=state.lastBufferedRequest;state.lastBufferedRequest=new WriteReq(chunk,encoding,cb),last?last.next=state.lastBufferedRequest:state.bufferedRequest=state.lastBufferedRequest,state.bufferedRequestCount+=1}else doWrite(stream,state,!1,len,chunk,encoding,cb);return ret}function doWrite(stream,state,writev,len,chunk,encoding,cb){state.writelen=len,state.writecb=cb,state.writing=!0,state.sync=!0,writev?stream._writev(chunk,state.onwrite):stream._write(chunk,encoding,state.onwrite),state.sync=!1}function onwriteError(stream,state,sync,er,cb){--state.pendingcb,sync?processNextTick(cb,er):cb(er),stream._writableState.errorEmitted=!0,stream.emit("error",er)}function onwriteStateUpdate(state){state.writing=!1,state.writecb=null,state.length-=state.writelen,state.writelen=0}function onwrite(stream,er){var state=stream._writableState,sync=state.sync,cb=state.writecb;if(onwriteStateUpdate(state),er)onwriteError(stream,state,sync,er,cb);else{var finished=needFinish(state);finished||state.corked||state.bufferProcessing||!state.bufferedRequest||clearBuffer(stream,state),sync?asyncWrite(afterWrite,stream,state,finished,cb):afterWrite(stream,state,finished,cb)}}function afterWrite(stream,state,finished,cb){finished||onwriteDrain(stream,state),state.pendingcb--,cb(),finishMaybe(stream,state)}function onwriteDrain(stream,state){0===state.length&&state.needDrain&&(state.needDrain=!1,stream.emit("drain"))}function clearBuffer(stream,state){state.bufferProcessing=!0;var entry=state.bufferedRequest;if(stream._writev&&entry&&entry.next){var l=state.bufferedRequestCount,buffer=new Array(l),holder=state.corkedRequestsFree;holder.entry=entry;for(var count=0;entry;)buffer[count]=entry,entry=entry.next,count+=1;doWrite(stream,state,!0,state.length,buffer,"",holder.finish),state.pendingcb++,state.lastBufferedRequest=null,holder.next?(state.corkedRequestsFree=holder.next,holder.next=null):state.corkedRequestsFree=new CorkedRequest(state)}else{for(;entry;){var chunk=entry.chunk,encoding=entry.encoding,cb=entry.callback,len=state.objectMode?1:chunk.length;if(doWrite(stream,state,!1,len,chunk,encoding,cb),entry=entry.next,state.writing)break}null===entry&&(state.lastBufferedRequest=null)}state.bufferedRequestCount=0,state.bufferedRequest=entry,state.bufferProcessing=!1}function needFinish(state){return state.ending&&0===state.length&&null===state.bufferedRequest&&!state.finished&&!state.writing}function prefinish(stream,state){state.prefinished||(state.prefinished=!0,stream.emit("prefinish"))}function finishMaybe(stream,state){var need=needFinish(state);return need&&(0===state.pendingcb?(prefinish(stream,state),state.finished=!0,stream.emit("finish")):prefinish(stream,state)),need}function endWritable(stream,state,cb){state.ending=!0,finishMaybe(stream,state),cb&&(state.finished?processNextTick(cb):stream.once("finish",cb)),state.ended=!0,stream.writable=!1}function CorkedRequest(state){var _this=this;this.next=null,this.entry=null,this.finish=function(err){var entry=_this.entry;for(_this.entry=null;entry;){var cb=entry.callback;state.pendingcb--,cb(err),entry=entry.next}state.corkedRequestsFree?state.corkedRequestsFree.next=_this:state.corkedRequestsFree=_this}}module.exports=Writable;var Duplex,processNextTick=require("process-nextick-args"),asyncWrite=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:processNextTick;Writable.WritableState=WritableState;var util=require("core-util-is");util.inherits=require("inherits");var Stream,internalUtil={deprecate:require("util-deprecate")};!function(){try{Stream=require("stream")}catch(_){}finally{Stream||(Stream=require("events").EventEmitter)}}();var Buffer=require("buffer").Buffer,bufferShim=require("buffer-shims");util.inherits(Writable,Stream),WritableState.prototype.getBuffer=function(){for(var current=this.bufferedRequest,out=[];current;)out.push(current),current=current.next;return out},function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")})}catch(_){}}();var realHasInstance;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(realHasInstance=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function(object){return!!realHasInstance.call(this,object)||object&&object._writableState instanceof WritableState}})):realHasInstance=function(object){return object instanceof this},Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},Writable.prototype.write=function(chunk,encoding,cb){var state=this._writableState,ret=!1;return"function"==typeof encoding&&(cb=encoding,encoding=null),Buffer.isBuffer(chunk)?encoding="buffer":encoding||(encoding=state.defaultEncoding),"function"!=typeof cb&&(cb=nop),state.ended?writeAfterEnd(this,cb):validChunk(this,state,chunk,cb)&&(state.pendingcb++,ret=writeOrBuffer(this,state,chunk,encoding,cb)),ret},Writable.prototype.cork=function(){var state=this._writableState;state.corked++},Writable.prototype.uncork=function(){var state=this._writableState;state.corked&&(state.corked--,state.writing||state.corked||state.finished||state.bufferProcessing||!state.bufferedRequest||clearBuffer(this,state))},Writable.prototype.setDefaultEncoding=function(encoding){if("string"==typeof encoding&&(encoding=encoding.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((encoding+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+encoding);return this._writableState.defaultEncoding=encoding,this},Writable.prototype._write=function(chunk,encoding,cb){cb(new Error("_write() is not implemented"))},Writable.prototype._writev=null,Writable.prototype.end=function(chunk,encoding,cb){var state=this._writableState;"function"==typeof chunk?(cb=chunk,chunk=null,encoding=null):"function"==typeof encoding&&(cb=encoding,encoding=null),null!==chunk&&void 0!==chunk&&this.write(chunk,encoding),state.corked&&(state.corked=1,
+this.uncork()),state.ending||state.finished||endWritable(this,state,cb)}}).call(this,require("_process"))},{"./_stream_duplex":157,_process:154,buffer:6,"buffer-shims":5,"core-util-is":22,events:27,inherits:45,"process-nextick-args":153,"util-deprecate":204}],162:[function(require,module,exports){"use strict";function BufferList(){this.head=null,this.tail=null,this.length=0}var bufferShim=(require("buffer").Buffer,require("buffer-shims"));module.exports=BufferList,BufferList.prototype.push=function(v){var entry={data:v,next:null};this.length>0?this.tail.next=entry:this.head=entry,this.tail=entry,++this.length},BufferList.prototype.unshift=function(v){var entry={data:v,next:this.head};0===this.length&&(this.tail=entry),this.head=entry,++this.length},BufferList.prototype.shift=function(){if(0!==this.length){var ret=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,ret}},BufferList.prototype.clear=function(){this.head=this.tail=null,this.length=0},BufferList.prototype.join=function(s){if(0===this.length)return"";for(var p=this.head,ret=""+p.data;p=p.next;)ret+=s+p.data;return ret},BufferList.prototype.concat=function(n){if(0===this.length)return bufferShim.alloc(0);if(1===this.length)return this.head.data;for(var ret=bufferShim.allocUnsafe(n>>>0),p=this.head,i=0;p;)p.data.copy(ret,i),i+=p.data.length,p=p.next;return ret}},{buffer:6,"buffer-shims":5}],163:[function(require,module,exports){module.exports=require("./lib/_stream_passthrough.js")},{"./lib/_stream_passthrough.js":158}],164:[function(require,module,exports){(function(process){var Stream=function(){try{return require("stream")}catch(_){}}();exports=module.exports=require("./lib/_stream_readable.js"),exports.Stream=Stream||exports,exports.Readable=exports,exports.Writable=require("./lib/_stream_writable.js"),exports.Duplex=require("./lib/_stream_duplex.js"),exports.Transform=require("./lib/_stream_transform.js"),exports.PassThrough=require("./lib/_stream_passthrough.js"),!process.browser&&"disable"===process.env.READABLE_STREAM&&Stream&&(module.exports=Stream)}).call(this,require("_process"))},{"./lib/_stream_duplex.js":157,"./lib/_stream_passthrough.js":158,"./lib/_stream_readable.js":159,"./lib/_stream_transform.js":160,"./lib/_stream_writable.js":161,_process:154}],165:[function(require,module,exports){module.exports=require("./lib/_stream_transform.js")},{"./lib/_stream_transform.js":160}],166:[function(require,module,exports){module.exports=require("./lib/_stream_writable.js")},{"./lib/_stream_writable.js":161}],167:[function(require,module,exports){(function(Buffer){function bytesToWords(bytes){for(var words=[],i=0,b=0;i<bytes.length;i++,b+=8)words[b>>>5]|=bytes[i]<<24-b%32;return words}function wordsToBytes(words){for(var bytes=[],b=0;b<32*words.length;b+=8)bytes.push(words[b>>>5]>>>24-b%32&255);return bytes}function processBlock(H,M,offset){for(var i=0;i<16;i++){var offset_i=offset+i,M_offset_i=M[offset_i];M[offset_i]=16711935&(M_offset_i<<8|M_offset_i>>>24)|4278255360&(M_offset_i<<24|M_offset_i>>>8)}var al,bl,cl,dl,el,ar,br,cr,dr,er;ar=al=H[0],br=bl=H[1],cr=cl=H[2],dr=dl=H[3],er=el=H[4];var t;for(i=0;i<80;i+=1)t=al+M[offset+zl[i]]|0,t+=i<16?f1(bl,cl,dl)+hl[0]:i<32?f2(bl,cl,dl)+hl[1]:i<48?f3(bl,cl,dl)+hl[2]:i<64?f4(bl,cl,dl)+hl[3]:f5(bl,cl,dl)+hl[4],t|=0,t=rotl(t,sl[i]),t=t+el|0,al=el,el=dl,dl=rotl(cl,10),cl=bl,bl=t,t=ar+M[offset+zr[i]]|0,t+=i<16?f5(br,cr,dr)+hr[0]:i<32?f4(br,cr,dr)+hr[1]:i<48?f3(br,cr,dr)+hr[2]:i<64?f2(br,cr,dr)+hr[3]:f1(br,cr,dr)+hr[4],t|=0,t=rotl(t,sr[i]),t=t+er|0,ar=er,er=dr,dr=rotl(cr,10),cr=br,br=t;t=H[1]+cl+dr|0,H[1]=H[2]+dl+er|0,H[2]=H[3]+el+ar|0,H[3]=H[4]+al+br|0,H[4]=H[0]+bl+cr|0,H[0]=t}function f1(x,y,z){return x^y^z}function f2(x,y,z){return x&y|~x&z}function f3(x,y,z){return(x|~y)^z}function f4(x,y,z){return x&z|y&~z}function f5(x,y,z){return x^(y|~z)}function rotl(x,n){return x<<n|x>>>32-n}function ripemd160(message){var H=[1732584193,4023233417,2562383102,271733878,3285377520];"string"==typeof message&&(message=new Buffer(message,"utf8"));var m=bytesToWords(message),nBitsLeft=8*message.length,nBitsTotal=8*message.length;m[nBitsLeft>>>5]|=128<<24-nBitsLeft%32,m[(nBitsLeft+64>>>9<<4)+14]=16711935&(nBitsTotal<<8|nBitsTotal>>>24)|4278255360&(nBitsTotal<<24|nBitsTotal>>>8);for(var i=0;i<m.length;i+=16)processBlock(H,m,i);for(i=0;i<5;i++){var H_i=H[i];H[i]=16711935&(H_i<<8|H_i>>>24)|4278255360&(H_i<<24|H_i>>>8)}var digestbytes=wordsToBytes(H);return new Buffer(digestbytes)}/** @preserve
(c) 2012 by Cédric Mesnil. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
@@ -57,13 +57,14 @@ Redistribution and use in source and binary forms, with or without modification,
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-var zl=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],zr=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],sl=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],sr=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],hl=[0,1518500249,1859775393,2400959708,2840853838],hr=[1352829926,1548603684,1836072691,2053994217,0];module.exports=ripemd160}).call(this,require("buffer").Buffer)},{buffer:6}],167:[function(require,module,exports){function PeerConnection(config,constraints){var item,self=this;WildEmitter.call(this),config=config||{},config.iceServers=config.iceServers||[];var detectedBrowser=adapter.browserDetails.browser;this.enableChromeNativeSimulcast=!1,constraints&&constraints.optional&&"chrome"===detectedBrowser&&null===navigator.appVersion.match(/Chromium\//)&&constraints.optional.forEach(function(constraint){constraint.enableChromeNativeSimulcast&&(self.enableChromeNativeSimulcast=!0)}),this.enableMultiStreamHacks=!1,constraints&&constraints.optional&&"chrome"===detectedBrowser&&constraints.optional.forEach(function(constraint){constraint.enableMultiStreamHacks&&(self.enableMultiStreamHacks=!0)}),this.restrictBandwidth=0,constraints&&constraints.optional&&constraints.optional.forEach(function(constraint){constraint.andyetRestrictBandwidth&&(self.restrictBandwidth=constraint.andyetRestrictBandwidth)}),this.batchIceCandidates=0,constraints&&constraints.optional&&constraints.optional.forEach(function(constraint){constraint.andyetBatchIce&&(self.batchIceCandidates=constraint.andyetBatchIce)}),this.batchedIceCandidates=[],constraints&&constraints.optional&&"chrome"===detectedBrowser&&constraints.optional.forEach(function(constraint){constraint.andyetFasterICE&&(self.eliminateDuplicateCandidates=constraint.andyetFasterICE)}),constraints&&constraints.optional&&constraints.optional.forEach(function(constraint){constraint.andyetDontSignalCandidates&&(self.dontSignalCandidates=constraint.andyetDontSignalCandidates)}),this.assumeSetLocalSuccess=!1,constraints&&constraints.optional&&constraints.optional.forEach(function(constraint){constraint.andyetAssumeSetLocalSuccess&&(self.assumeSetLocalSuccess=constraint.andyetAssumeSetLocalSuccess)}),"firefox"===detectedBrowser&&constraints&&constraints.optional&&(this.wtFirefox=0,constraints.optional.forEach(function(constraint){constraint.andyetFirefoxMakesMeSad&&(self.wtFirefox=constraint.andyetFirefoxMakesMeSad,self.wtFirefox>0&&(self.firefoxcandidatebuffer=[]))})),this.pc=new Peerconn(config,constraints),this.getLocalStreams=this.pc.getLocalStreams.bind(this.pc),this.getRemoteStreams=this.pc.getRemoteStreams.bind(this.pc),this.addStream=this.pc.addStream.bind(this.pc),this.removeStream=this.pc.removeStream.bind(this.pc),this.pc.on("*",function(){self.emit.apply(self,arguments)}),this.pc.onremovestream=this.emit.bind(this,"removeStream"),this.pc.onaddstream=this.emit.bind(this,"addStream"),this.pc.onnegotiationneeded=this.emit.bind(this,"negotiationNeeded"),this.pc.oniceconnectionstatechange=this.emit.bind(this,"iceConnectionStateChange"),this.pc.onsignalingstatechange=this.emit.bind(this,"signalingStateChange"),this.pc.onicecandidate=this._onIce.bind(this),this.pc.ondatachannel=this._onDataChannel.bind(this),this.localDescription={contents:[]},this.remoteDescription={contents:[]},this.config={debug:!1,sid:"",isInitiator:!0,sdpSessionID:Date.now(),useJingle:!1},this.iceCredentials={local:{},remote:{}};for(item in config)this.config[item]=config[item];this.config.debug&&this.on("*",function(){var logger=config.logger||console;logger.log("PeerConnection event:",arguments)}),this.hadLocalStunCandidate=!1,this.hadRemoteStunCandidate=!1,this.hadLocalRelayCandidate=!1,this.hadRemoteRelayCandidate=!1,this.hadLocalIPv6Candidate=!1,this.hadRemoteIPv6Candidate=!1,this._remoteDataChannels=[],this._localDataChannels=[],this._candidateBuffer=[]}var util=require("util"),SJJ=require("sdp-jingle-json"),WildEmitter=require("wildemitter"),Peerconn=require("traceablepeerconnection"),adapter=require("webrtc-adapter"),cloneDeep=require("lodash.clonedeep");util.inherits(PeerConnection,WildEmitter),Object.defineProperty(PeerConnection.prototype,"signalingState",{get:function(){return this.pc.signalingState}}),Object.defineProperty(PeerConnection.prototype,"iceConnectionState",{get:function(){return this.pc.iceConnectionState}}),PeerConnection.prototype._role=function(){return this.isInitiator?"initiator":"responder"},PeerConnection.prototype.addStream=function(stream){this.localStream=stream,this.pc.addStream(stream)},PeerConnection.prototype._checkLocalCandidate=function(candidate){var cand=SJJ.toCandidateJSON(candidate);"srflx"==cand.type?this.hadLocalStunCandidate=!0:"relay"==cand.type&&(this.hadLocalRelayCandidate=!0),cand.ip.indexOf(":")!=-1&&(this.hadLocalIPv6Candidate=!0)},PeerConnection.prototype._checkRemoteCandidate=function(candidate){var cand=SJJ.toCandidateJSON(candidate);"srflx"==cand.type?this.hadRemoteStunCandidate=!0:"relay"==cand.type&&(this.hadRemoteRelayCandidate=!0),cand.ip.indexOf(":")!=-1&&(this.hadRemoteIPv6Candidate=!0)},PeerConnection.prototype.processIce=function(update,cb){cb=cb||function(){};var self=this;if("closed"===this.pc.signalingState)return cb();if(update.contents||update.jingle&&update.jingle.contents){var contentNames=this.remoteDescription.contents.map(function(c){return c.name}),contents=update.contents||update.jingle.contents;contents.forEach(function(content){var transport=content.transport||{},candidates=transport.candidates||[],mline=contentNames.indexOf(content.name),mid=content.name,remoteContent=self.remoteDescription.contents.find(function(c){return c.name===content.name}),processCandidates=function(){candidates.forEach(function(candidate){var iceCandidate=SJJ.toCandidateSDP(candidate)+"\r\n";self.pc.addIceCandidate(new RTCIceCandidate({candidate:iceCandidate,sdpMLineIndex:mline,sdpMid:mid}),function(){},function(err){self.emit("error",err)}),self._checkRemoteCandidate(iceCandidate)}),cb()};if(self.iceCredentials.remote[content.name]&&transport.ufrag&&self.iceCredentials.remote[content.name].ufrag!==transport.ufrag)if(remoteContent){remoteContent.transport.ufrag=transport.ufrag,remoteContent.transport.pwd=transport.pwd;var offer={type:"offer",jingle:self.remoteDescription};offer.sdp=SJJ.toSessionSDP(offer.jingle,{sid:self.config.sdpSessionID,role:self._role(),direction:"incoming"}),self.pc.setRemoteDescription(new RTCSessionDescription(offer),function(){processCandidates()},function(err){self.emit("error",err)})}else self.emit("error","ice restart failed to find matching content");else processCandidates()})}else{if(update.candidate&&0!==update.candidate.candidate.indexOf("a=")&&(update.candidate.candidate="a="+update.candidate.candidate),this.wtFirefox&&null!==this.firefoxcandidatebuffer&&this.pc.localDescription&&"offer"===this.pc.localDescription.type)return this.firefoxcandidatebuffer.push(update.candidate),cb();self.pc.addIceCandidate(new RTCIceCandidate(update.candidate),function(){},function(err){self.emit("error",err)}),self._checkRemoteCandidate(update.candidate.candidate),cb()}},PeerConnection.prototype.offer=function(constraints,cb){var self=this,hasConstraints=2===arguments.length,mediaConstraints=hasConstraints&&constraints?constraints:{offerToReceiveAudio:1,offerToReceiveVideo:1};return cb=hasConstraints?cb:constraints,cb=cb||function(){},"closed"===this.pc.signalingState?cb("Already closed"):void this.pc.createOffer(function(offer){var expandedOffer={type:"offer",sdp:offer.sdp};self.assumeSetLocalSuccess&&(self.emit("offer",expandedOffer),cb(null,expandedOffer)),self._candidateBuffer=[],self.pc.setLocalDescription(offer,function(){var jingle;self.config.useJingle&&(jingle=SJJ.toSessionJSON(offer.sdp,{role:self._role(),direction:"outgoing"}),jingle.sid=self.config.sid,self.localDescription=jingle,jingle.contents.forEach(function(content){var transport=content.transport||{};transport.ufrag&&(self.iceCredentials.local[content.name]={ufrag:transport.ufrag,pwd:transport.pwd})}),expandedOffer.jingle=jingle),expandedOffer.sdp.split("\r\n").forEach(function(line){0===line.indexOf("a=candidate:")&&self._checkLocalCandidate(line)}),self.assumeSetLocalSuccess||(self.emit("offer",expandedOffer),cb(null,expandedOffer))},function(err){self.emit("error",err),cb(err)})},function(err){self.emit("error",err),cb(err)},mediaConstraints)},PeerConnection.prototype.handleOffer=function(offer,cb){cb=cb||function(){};var self=this;if(offer.type="offer",offer.jingle){if(this.enableChromeNativeSimulcast&&offer.jingle.contents.forEach(function(content){"video"===content.name&&(content.application.googConferenceFlag=!0)}),this.enableMultiStreamHacks&&offer.jingle.contents.forEach(function(content){if("video"===content.name){var sources=content.application.sources||[];0!==sources.length&&"3735928559"===sources[0].ssrc||(sources.unshift({ssrc:"3735928559",parameters:[{key:"cname",value:"deadbeef"},{key:"msid",value:"mixyourfecintothis please"}]}),content.application.sources=sources)}}),self.restrictBandwidth>0&&offer.jingle.contents.length>=2&&"video"===offer.jingle.contents[1].name){var content=offer.jingle.contents[1],hasBw=content.application&&content.application.bandwidth&&content.application.bandwidth.bandwidth;hasBw||(offer.jingle.contents[1].application.bandwidth={type:"AS",bandwidth:self.restrictBandwidth.toString()},offer.sdp=SJJ.toSessionSDP(offer.jingle,{sid:self.config.sdpSessionID,role:self._role(),direction:"outgoing"}))}offer.jingle.contents.forEach(function(content){var transport=content.transport||{};transport.ufrag&&(self.iceCredentials.remote[content.name]={ufrag:transport.ufrag,pwd:transport.pwd})}),offer.sdp=SJJ.toSessionSDP(offer.jingle,{sid:self.config.sdpSessionID,role:self._role(),direction:"incoming"}),self.remoteDescription=offer.jingle}offer.sdp.split("\r\n").forEach(function(line){0===line.indexOf("a=candidate:")&&self._checkRemoteCandidate(line)}),self.pc.setRemoteDescription(new RTCSessionDescription(offer),function(){cb()},cb)},PeerConnection.prototype.answerAudioOnly=function(cb){var mediaConstraints={mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:!1}};this._answer(mediaConstraints,cb)},PeerConnection.prototype.answerBroadcastOnly=function(cb){var mediaConstraints={mandatory:{OfferToReceiveAudio:!1,OfferToReceiveVideo:!1}};this._answer(mediaConstraints,cb)},PeerConnection.prototype.answer=function(constraints,cb){var hasConstraints=2===arguments.length,callback=hasConstraints?cb:constraints,mediaConstraints=hasConstraints&&constraints?constraints:{mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:!0}};this._answer(mediaConstraints,callback)},PeerConnection.prototype.handleAnswer=function(answer,cb){cb=cb||function(){};var self=this;answer.jingle&&(answer.sdp=SJJ.toSessionSDP(answer.jingle,{sid:self.config.sdpSessionID,role:self._role(),direction:"incoming"}),self.remoteDescription=answer.jingle,answer.jingle.contents.forEach(function(content){var transport=content.transport||{};transport.ufrag&&(self.iceCredentials.remote[content.name]={ufrag:transport.ufrag,pwd:transport.pwd})})),answer.sdp.split("\r\n").forEach(function(line){0===line.indexOf("a=candidate:")&&self._checkRemoteCandidate(line)}),self.pc.setRemoteDescription(new RTCSessionDescription(answer),function(){self.wtFirefox&&window.setTimeout(function(){self.firefoxcandidatebuffer.forEach(function(candidate){self.pc.addIceCandidate(new RTCIceCandidate(candidate),function(){},function(err){self.emit("error",err)}),self._checkRemoteCandidate(candidate.candidate)}),self.firefoxcandidatebuffer=null},self.wtFirefox),cb(null)},cb)},PeerConnection.prototype.close=function(){this.pc.close(),this._localDataChannels=[],this._remoteDataChannels=[],this.emit("close")},PeerConnection.prototype._answer=function(constraints,cb){cb=cb||function(){};var self=this;if(!this.pc.remoteDescription)throw new Error("remoteDescription not set");return"closed"===this.pc.signalingState?cb("Already closed"):void self.pc.createAnswer(function(answer){var sim=[];if(self.enableChromeNativeSimulcast&&(answer.jingle=SJJ.toSessionJSON(answer.sdp,{role:self._role(),direction:"outgoing"}),answer.jingle.contents.length>=2&&"video"===answer.jingle.contents[1].name)){var groups=answer.jingle.contents[1].application.sourceGroups||[],hasSim=!1;if(groups.forEach(function(group){"SIM"==group.semantics&&(hasSim=!0)}),!hasSim&&answer.jingle.contents[1].application.sources.length){var newssrc=JSON.parse(JSON.stringify(answer.jingle.contents[1].application.sources[0]));newssrc.ssrc=""+Math.floor(4294967295*Math.random()),answer.jingle.contents[1].application.sources.push(newssrc),sim.push(answer.jingle.contents[1].application.sources[0].ssrc),sim.push(newssrc.ssrc),groups.push({semantics:"SIM",sources:sim});var rtxssrc=JSON.parse(JSON.stringify(newssrc));rtxssrc.ssrc=""+Math.floor(4294967295*Math.random()),answer.jingle.contents[1].application.sources.push(rtxssrc),groups.push({semantics:"FID",sources:[newssrc.ssrc,rtxssrc.ssrc]}),answer.jingle.contents[1].application.sourceGroups=groups,answer.sdp=SJJ.toSessionSDP(answer.jingle,{sid:self.config.sdpSessionID,role:self._role(),direction:"outgoing"})}}var expandedAnswer={type:"answer",sdp:answer.sdp};if(self.assumeSetLocalSuccess){var copy=cloneDeep(expandedAnswer);self.emit("answer",copy),cb(null,copy)}self._candidateBuffer=[],self.pc.setLocalDescription(answer,function(){if(self.config.useJingle){var jingle=SJJ.toSessionJSON(answer.sdp,{role:self._role(),direction:"outgoing"});jingle.sid=self.config.sid,self.localDescription=jingle,expandedAnswer.jingle=jingle}if(self.enableChromeNativeSimulcast&&(expandedAnswer.jingle||(expandedAnswer.jingle=SJJ.toSessionJSON(answer.sdp,{role:self._role(),direction:"outgoing"})),expandedAnswer.jingle.contents[1].application.sources.forEach(function(source,idx){source.parameters=source.parameters.map(function(parameter){return"msid"===parameter.key&&(parameter.value+="-"+Math.floor(idx/2)),parameter})}),expandedAnswer.sdp=SJJ.toSessionSDP(expandedAnswer.jingle,{sid:self.sdpSessionID,role:self._role(),direction:"outgoing"})),expandedAnswer.sdp.split("\r\n").forEach(function(line){0===line.indexOf("a=candidate:")&&self._checkLocalCandidate(line)}),!self.assumeSetLocalSuccess){var copy=cloneDeep(expandedAnswer);self.emit("answer",copy),cb(null,copy)}},function(err){self.emit("error",err),cb(err)})},function(err){self.emit("error",err),cb(err)},constraints)},PeerConnection.prototype._onIce=function(event){var self=this;if(event.candidate){if(this.dontSignalCandidates)return;var ice=event.candidate,expandedCandidate={candidate:{candidate:ice.candidate,sdpMid:ice.sdpMid,sdpMLineIndex:ice.sdpMLineIndex}};this._checkLocalCandidate(ice.candidate);var already,idx,cand=SJJ.toCandidateJSON(ice.candidate);if(this.eliminateDuplicateCandidates&&"relay"===cand.type&&(already=this._candidateBuffer.filter(function(c){return"relay"===c.type}).map(function(c){return c.foundation+":"+c.component}),idx=already.indexOf(cand.foundation+":"+cand.component),idx>-1&&cand.priority>>24>=already[idx].priority>>24))return;if("max-bundle"===this.config.bundlePolicy&&(already=this._candidateBuffer.filter(function(c){return cand.type===c.type}).map(function(cand){return cand.address+":"+cand.port}),idx=already.indexOf(cand.address+":"+cand.port),idx>-1))return;if("require"===this.config.rtcpMuxPolicy&&"2"===cand.component)return;if(this._candidateBuffer.push(cand),self.config.useJingle){if(ice.sdpMid||(self.pc.remoteDescription&&"offer"===self.pc.remoteDescription.type?ice.sdpMid=self.remoteDescription.contents[ice.sdpMLineIndex].name:ice.sdpMid=self.localDescription.contents[ice.sdpMLineIndex].name),!self.iceCredentials.local[ice.sdpMid]){var jingle=SJJ.toSessionJSON(self.pc.localDescription.sdp,{role:self._role(),direction:"outgoing"});jingle.contents.forEach(function(content){var transport=content.transport||{};transport.ufrag&&(self.iceCredentials.local[content.name]={ufrag:transport.ufrag,pwd:transport.pwd})})}if(expandedCandidate.jingle={contents:[{name:ice.sdpMid,creator:self._role(),transport:{transportType:"iceUdp",ufrag:self.iceCredentials.local[ice.sdpMid].ufrag,pwd:self.iceCredentials.local[ice.sdpMid].pwd,candidates:[cand]}}]},self.batchIceCandidates>0)return 0===self.batchedIceCandidates.length&&window.setTimeout(function(){var contents={};self.batchedIceCandidates.forEach(function(content){content=content.contents[0],contents[content.name]||(contents[content.name]=content),contents[content.name].transport.candidates.push(content.transport.candidates[0])});var newCand={jingle:{contents:[]}};Object.keys(contents).forEach(function(name){newCand.jingle.contents.push(contents[name])}),self.batchedIceCandidates=[],self.emit("ice",newCand)},self.batchIceCandidates),void self.batchedIceCandidates.push(expandedCandidate.jingle)}this.emit("ice",expandedCandidate)}else this.emit("endOfCandidates")},PeerConnection.prototype._onDataChannel=function(event){var channel=event.channel;this._remoteDataChannels.push(channel),this.emit("addChannel",channel)},PeerConnection.prototype.createDataChannel=function(name,opts){var channel=this.pc.createDataChannel(name,opts);return this._localDataChannels.push(channel),channel},PeerConnection.prototype.getStats=function(cb){this.pc.getStats(null,function(res){cb(null,res)},function(err){cb(err)})},module.exports=PeerConnection},{"lodash.clonedeep":133,"sdp-jingle-json":168,traceablepeerconnection:184,util:197,"webrtc-adapter":201,wildemitter:211}],168:[function(require,module,exports){var toSDP=require("./lib/tosdp"),toJSON=require("./lib/tojson");exports.toIncomingSDPOffer=function(session){return toSDP.toSessionSDP(session,{role:"responder",direction:"incoming"})},exports.toOutgoingSDPOffer=function(session){return toSDP.toSessionSDP(session,{role:"initiator",direction:"outgoing"})},exports.toIncomingSDPAnswer=function(session){return toSDP.toSessionSDP(session,{role:"initiator",direction:"incoming"})},exports.toOutgoingSDPAnswer=function(session){return toSDP.toSessionSDP(session,{role:"responder",direction:"outgoing"})},exports.toIncomingMediaSDPOffer=function(media){return toSDP.toMediaSDP(media,{role:"responder",direction:"incoming"})},exports.toOutgoingMediaSDPOffer=function(media){return toSDP.toMediaSDP(media,{role:"initiator",direction:"outgoing"})},exports.toIncomingMediaSDPAnswer=function(media){return toSDP.toMediaSDP(media,{role:"initiator",direction:"incoming"})},exports.toOutgoingMediaSDPAnswer=function(media){return toSDP.toMediaSDP(media,{role:"responder",direction:"outgoing"})},exports.toCandidateSDP=toSDP.toCandidateSDP,exports.toMediaSDP=toSDP.toMediaSDP,exports.toSessionSDP=toSDP.toSessionSDP,exports.toIncomingJSONOffer=function(sdp,creators){return toJSON.toSessionJSON(sdp,{role:"responder",direction:"incoming",creators:creators})},exports.toOutgoingJSONOffer=function(sdp,creators){return toJSON.toSessionJSON(sdp,{role:"initiator",direction:"outgoing",creators:creators})},exports.toIncomingJSONAnswer=function(sdp,creators){return toJSON.toSessionJSON(sdp,{role:"initiator",direction:"incoming",creators:creators})},exports.toOutgoingJSONAnswer=function(sdp,creators){return toJSON.toSessionJSON(sdp,{role:"responder",direction:"outgoing",creators:creators})},exports.toIncomingMediaJSONOffer=function(sdp,creator){return toJSON.toMediaJSON(sdp,{role:"responder",direction:"incoming",creator:creator})},exports.toOutgoingMediaJSONOffer=function(sdp,creator){return toJSON.toMediaJSON(sdp,{role:"initiator",direction:"outgoing",creator:creator})},exports.toIncomingMediaJSONAnswer=function(sdp,creator){return toJSON.toMediaJSON(sdp,{role:"initiator",direction:"incoming",creator:creator})},exports.toOutgoingMediaJSONAnswer=function(sdp,creator){return toJSON.toMediaJSON(sdp,{role:"responder",direction:"outgoing",creator:creator})},exports.toCandidateJSON=toJSON.toCandidateJSON,exports.toMediaJSON=toJSON.toMediaJSON,exports.toSessionJSON=toJSON.toSessionJSON},{"./lib/tojson":171,"./lib/tosdp":172}],169:[function(require,module,exports){exports.lines=function(sdp){return sdp.split("\r\n").filter(function(line){return line.length>0})},exports.findLine=function(prefix,mediaLines,sessionLines){for(var prefixLength=prefix.length,i=0;i<mediaLines.length;i++)if(mediaLines[i].substr(0,prefixLength)===prefix)return mediaLines[i];if(!sessionLines)return!1;for(var j=0;j<sessionLines.length;j++)if(sessionLines[j].substr(0,prefixLength)===prefix)return sessionLines[j];return!1},exports.findLines=function(prefix,mediaLines,sessionLines){for(var results=[],prefixLength=prefix.length,i=0;i<mediaLines.length;i++)mediaLines[i].substr(0,prefixLength)===prefix&&results.push(mediaLines[i]);if(results.length||!sessionLines)return results;for(var j=0;j<sessionLines.length;j++)sessionLines[j].substr(0,prefixLength)===prefix&&results.push(sessionLines[j]);return results},exports.mline=function(line){for(var parts=line.substr(2).split(" "),parsed={media:parts[0],port:parts[1],proto:parts[2],formats:[]},i=3;i<parts.length;i++)parts[i]&&parsed.formats.push(parts[i]);return parsed},exports.rtpmap=function(line){var parts=line.substr(9).split(" "),parsed={id:parts.shift()};return parts=parts[0].split("/"),parsed.name=parts[0],parsed.clockrate=parts[1],parsed.channels=3==parts.length?parts[2]:"1",parsed},exports.sctpmap=function(line){var parts=line.substr(10).split(" "),parsed={number:parts.shift(),protocol:parts.shift(),streams:parts.shift()};return parsed},exports.fmtp=function(line){for(var kv,key,value,parts=line.substr(line.indexOf(" ")+1).split(";"),parsed=[],i=0;i<parts.length;i++)kv=parts[i].split("="),key=kv[0].trim(),value=kv[1],key&&value?parsed.push({key:key,value:value}):key&&parsed.push({key:"",value:key});return parsed},exports.crypto=function(line){var parts=line.substr(9).split(" "),parsed={tag:parts[0],cipherSuite:parts[1],keyParams:parts[2],sessionParams:parts.slice(3).join(" ")};return parsed},exports.fingerprint=function(line){var parts=line.substr(14).split(" ");return{hash:parts[0],value:parts[1]}},exports.extmap=function(line){var parts=line.substr(9).split(" "),parsed={},idpart=parts.shift(),sp=idpart.indexOf("/");return sp>=0?(parsed.id=idpart.substr(0,sp),parsed.senders=idpart.substr(sp+1)):(parsed.id=idpart,parsed.senders="sendrecv"),parsed.uri=parts.shift()||"",parsed},exports.rtcpfb=function(line){var parts=line.substr(10).split(" "),parsed={};return parsed.id=parts.shift(),parsed.type=parts.shift(),"trr-int"===parsed.type?parsed.value=parts.shift():parsed.subtype=parts.shift()||"",parsed.parameters=parts,parsed},exports.candidate=function(line){var parts;parts=0===line.indexOf("a=candidate:")?line.substring(12).split(" "):line.substring(10).split(" ");for(var candidate={foundation:parts[0],component:parts[1],protocol:parts[2].toLowerCase(),priority:parts[3],ip:parts[4],port:parts[5],type:parts[7],generation:"0"},i=8;i<parts.length;i+=2)"raddr"===parts[i]?candidate.relAddr=parts[i+1]:"rport"===parts[i]?candidate.relPort=parts[i+1]:"generation"===parts[i]?candidate.generation=parts[i+1]:"tcptype"===parts[i]&&(candidate.tcpType=parts[i+1]);return candidate.network="1",candidate},exports.sourceGroups=function(lines){for(var parsed=[],i=0;i<lines.length;i++){var parts=lines[i].substr(13).split(" ");parsed.push({semantics:parts.shift(),sources:parts})}return parsed},exports.sources=function(lines){for(var parsed=[],sources={},i=0;i<lines.length;i++){var parts=lines[i].substr(7).split(" "),ssrc=parts.shift();if(!sources[ssrc]){var source={ssrc:ssrc,parameters:[]};parsed.push(source),sources[ssrc]=source}parts=parts.join(" ").split(":");var attribute=parts.shift(),value=parts.join(":")||null;sources[ssrc].parameters.push({key:attribute,value:value})}return parsed},exports.groups=function(lines){for(var parts,parsed=[],i=0;i<lines.length;i++)parts=lines[i].substr(8).split(" "),parsed.push({semantics:parts.shift(),contents:parts});return parsed},exports.bandwidth=function(line){var parts=line.substr(2).split(":"),parsed={};return parsed.type=parts.shift(),parsed.bandwidth=parts.shift(),parsed},exports.msid=function(line){var data=line.substr(7),parts=data.split(" ");return{msid:data,mslabel:parts[0],label:parts[1]}}},{}],170:[function(require,module,exports){module.exports={initiator:{incoming:{initiator:"recvonly",responder:"sendonly",both:"sendrecv",none:"inactive",recvonly:"initiator",sendonly:"responder",sendrecv:"both",inactive:"none"},outgoing:{initiator:"sendonly",responder:"recvonly",both:"sendrecv",none:"inactive",recvonly:"responder",sendonly:"initiator",sendrecv:"both",inactive:"none"}},responder:{incoming:{initiator:"sendonly",responder:"recvonly",both:"sendrecv",none:"inactive",recvonly:"responder",sendonly:"initiator",sendrecv:"both",inactive:"none"},outgoing:{initiator:"recvonly",responder:"sendonly",both:"sendrecv",none:"inactive",recvonly:"initiator",sendonly:"responder",sendrecv:"both",inactive:"none"}}}},{}],171:[function(require,module,exports){var SENDERS=require("./senders"),parsers=require("./parsers"),idCounter=Math.random();exports._setIdCounter=function(counter){idCounter=counter},exports.toSessionJSON=function(sdp,opts){var i,creators=opts.creators||[],role=opts.role||"initiator",direction=opts.direction||"outgoing",media=sdp.split("\r\nm=");for(i=1;i<media.length;i++)media[i]="m="+media[i],i!==media.length-1&&(media[i]+="\r\n");var session=media.shift()+"\r\n",sessionLines=parsers.lines(session),parsed={},contents=[];for(i=0;i<media.length;i++)contents.push(exports.toMediaJSON(media[i],session,{role:role,direction:direction,creator:creators[i]||"initiator"}));parsed.contents=contents;var groupLines=parsers.findLines("a=group:",sessionLines);return groupLines.length&&(parsed.groups=parsers.groups(groupLines)),parsed},exports.toMediaJSON=function(media,session,opts){var creator=opts.creator||"initiator",role=opts.role||"initiator",direction=opts.direction||"outgoing",lines=parsers.lines(media),sessionLines=parsers.lines(session),mline=parsers.mline(lines[0]),content={creator:creator,name:mline.media,application:{applicationType:"rtp",media:mline.media,payloads:[],encryption:[],feedback:[],headerExtensions:[]},transport:{transportType:"iceUdp",candidates:[],fingerprints:[]}};"application"==mline.media&&(content.application={applicationType:"datachannel"},content.transport.sctp=[]);var desc=content.application,trans=content.transport,mid=parsers.findLine("a=mid:",lines);if(mid&&(content.name=mid.substr(6)),parsers.findLine("a=sendrecv",lines,sessionLines)?content.senders="both":parsers.findLine("a=sendonly",lines,sessionLines)?content.senders=SENDERS[role][direction].sendonly:parsers.findLine("a=recvonly",lines,sessionLines)?content.senders=SENDERS[role][direction].recvonly:parsers.findLine("a=inactive",lines,sessionLines)&&(content.senders="none"),"rtp"==desc.applicationType){var bandwidth=parsers.findLine("b=",lines);bandwidth&&(desc.bandwidth=parsers.bandwidth(bandwidth));var ssrc=parsers.findLine("a=ssrc:",lines);ssrc&&(desc.ssrc=ssrc.substr(7).split(" ")[0]);var rtpmapLines=parsers.findLines("a=rtpmap:",lines);rtpmapLines.forEach(function(line){var payload=parsers.rtpmap(line);payload.parameters=[],payload.feedback=[];var fmtpLines=parsers.findLines("a=fmtp:"+payload.id,lines);fmtpLines.forEach(function(line){payload.parameters=parsers.fmtp(line)});var fbLines=parsers.findLines("a=rtcp-fb:"+payload.id,lines);fbLines.forEach(function(line){payload.feedback.push(parsers.rtcpfb(line))}),desc.payloads.push(payload)});var cryptoLines=parsers.findLines("a=crypto:",lines,sessionLines);cryptoLines.forEach(function(line){desc.encryption.push(parsers.crypto(line))}),parsers.findLine("a=rtcp-mux",lines)&&(desc.mux=!0);var fbLines=parsers.findLines("a=rtcp-fb:*",lines);fbLines.forEach(function(line){desc.feedback.push(parsers.rtcpfb(line))});var extLines=parsers.findLines("a=extmap:",lines);extLines.forEach(function(line){var ext=parsers.extmap(line);ext.senders=SENDERS[role][direction][ext.senders],desc.headerExtensions.push(ext)});var ssrcGroupLines=parsers.findLines("a=ssrc-group:",lines);desc.sourceGroups=parsers.sourceGroups(ssrcGroupLines||[]);var ssrcLines=parsers.findLines("a=ssrc:",lines),sources=desc.sources=parsers.sources(ssrcLines||[]),msidLine=parsers.findLine("a=msid:",lines);if(msidLine){var msid=parsers.msid(msidLine);["msid","mslabel","label"].forEach(function(key){for(var i=0;i<sources.length;i++){for(var found=!1,j=0;j<sources[i].parameters.length;j++)sources[i].parameters[j].key===key&&(found=!0);found||sources[i].parameters.push({key:key,value:msid[key]})}})}parsers.findLine("a=x-google-flag:conference",lines,sessionLines)&&(desc.googConferenceFlag=!0)}var fingerprintLines=parsers.findLines("a=fingerprint:",lines,sessionLines),setup=parsers.findLine("a=setup:",lines,sessionLines);fingerprintLines.forEach(function(line){var fp=parsers.fingerprint(line);setup&&(fp.setup=setup.substr(8)),trans.fingerprints.push(fp)});var ufragLine=parsers.findLine("a=ice-ufrag:",lines,sessionLines),pwdLine=parsers.findLine("a=ice-pwd:",lines,sessionLines);if(ufragLine&&pwdLine){trans.ufrag=ufragLine.substr(12),trans.pwd=pwdLine.substr(10),trans.candidates=[];var candidateLines=parsers.findLines("a=candidate:",lines,sessionLines);candidateLines.forEach(function(line){trans.candidates.push(exports.toCandidateJSON(line))})}if("datachannel"==desc.applicationType){var sctpmapLines=parsers.findLines("a=sctpmap:",lines);sctpmapLines.forEach(function(line){var sctp=parsers.sctpmap(line);trans.sctp.push(sctp)})}return content},exports.toCandidateJSON=function(line){var candidate=parsers.candidate(line.split("\r\n")[0]);return candidate.id=(idCounter++).toString(36).substr(0,12),candidate}},{"./parsers":169,"./senders":170}],172:[function(require,module,exports){var SENDERS=require("./senders");exports.toSessionSDP=function(session,opts){var sid=(opts.role||"initiator",opts.direction||"outgoing",opts.sid||session.sid||Date.now()),time=opts.time||Date.now(),sdp=["v=0","o=- "+sid+" "+time+" IN IP4 0.0.0.0","s=-","t=0 0"],contents=session.contents||[],hasSources=!1;contents.forEach(function(content){content.application.sources&&content.application.sources.length&&(hasSources=!0)}),hasSources&&sdp.push("a=msid-semantic: WMS *");var groups=session.groups||[];return groups.forEach(function(group){sdp.push("a=group:"+group.semantics+" "+group.contents.join(" "))}),contents.forEach(function(content){sdp.push(exports.toMediaSDP(content,opts))}),sdp.join("\r\n")+"\r\n"},exports.toMediaSDP=function(content,opts){var sdp=[],role=opts.role||"initiator",direction=opts.direction||"outgoing",desc=content.application,transport=content.transport,payloads=desc.payloads||[],fingerprints=transport&&transport.fingerprints||[],mline=[];if("datachannel"==desc.applicationType?(mline.push("application"),mline.push("1"),mline.push("DTLS/SCTP"),transport.sctp&&transport.sctp.forEach(function(map){mline.push(map.number)})):(mline.push(desc.media),mline.push("1"),fingerprints.length>0?mline.push("UDP/TLS/RTP/SAVPF"):desc.encryption&&desc.encryption.length>0?mline.push("RTP/SAVPF"):mline.push("RTP/AVPF"),payloads.forEach(function(payload){mline.push(payload.id)})),sdp.push("m="+mline.join(" ")),sdp.push("c=IN IP4 0.0.0.0"),desc.bandwidth&&desc.bandwidth.type&&desc.bandwidth.bandwidth&&sdp.push("b="+desc.bandwidth.type+":"+desc.bandwidth.bandwidth),"rtp"==desc.applicationType&&sdp.push("a=rtcp:1 IN IP4 0.0.0.0"),transport){transport.ufrag&&sdp.push("a=ice-ufrag:"+transport.ufrag),
-transport.pwd&&sdp.push("a=ice-pwd:"+transport.pwd);var pushedSetup=!1;fingerprints.forEach(function(fingerprint){sdp.push("a=fingerprint:"+fingerprint.hash+" "+fingerprint.value),fingerprint.setup&&!pushedSetup&&sdp.push("a=setup:"+fingerprint.setup)}),transport.sctp&&transport.sctp.forEach(function(map){sdp.push("a=sctpmap:"+map.number+" "+map.protocol+" "+map.streams)})}"rtp"==desc.applicationType&&sdp.push("a="+(SENDERS[role][direction][content.senders]||"sendrecv")),sdp.push("a=mid:"+content.name),desc.sources&&desc.sources.length&&(desc.sources[0].parameters||[]).forEach(function(param){"msid"===param.key&&sdp.push("a=msid:"+param.value)}),desc.mux&&sdp.push("a=rtcp-mux");var encryption=desc.encryption||[];encryption.forEach(function(crypto){sdp.push("a=crypto:"+crypto.tag+" "+crypto.cipherSuite+" "+crypto.keyParams+(crypto.sessionParams?" "+crypto.sessionParams:""))}),desc.googConferenceFlag&&sdp.push("a=x-google-flag:conference"),payloads.forEach(function(payload){var rtpmap="a=rtpmap:"+payload.id+" "+payload.name+"/"+payload.clockrate;if(payload.channels&&"1"!=payload.channels&&(rtpmap+="/"+payload.channels),sdp.push(rtpmap),payload.parameters&&payload.parameters.length){var fmtp=["a=fmtp:"+payload.id],parameters=[];payload.parameters.forEach(function(param){parameters.push((param.key?param.key+"=":"")+param.value)}),fmtp.push(parameters.join(";")),sdp.push(fmtp.join(" "))}payload.feedback&&payload.feedback.forEach(function(fb){"trr-int"===fb.type?sdp.push("a=rtcp-fb:"+payload.id+" trr-int "+(fb.value?fb.value:"0")):sdp.push("a=rtcp-fb:"+payload.id+" "+fb.type+(fb.subtype?" "+fb.subtype:""))})}),desc.feedback&&desc.feedback.forEach(function(fb){"trr-int"===fb.type?sdp.push("a=rtcp-fb:* trr-int "+(fb.value?fb.value:"0")):sdp.push("a=rtcp-fb:* "+fb.type+(fb.subtype?" "+fb.subtype:""))});var hdrExts=desc.headerExtensions||[];hdrExts.forEach(function(hdr){sdp.push("a=extmap:"+hdr.id+(hdr.senders?"/"+SENDERS[role][direction][hdr.senders]:"")+" "+hdr.uri)});var ssrcGroups=desc.sourceGroups||[];ssrcGroups.forEach(function(ssrcGroup){sdp.push("a=ssrc-group:"+ssrcGroup.semantics+" "+ssrcGroup.sources.join(" "))});var ssrcs=desc.sources||[];ssrcs.forEach(function(ssrc){for(var i=0;i<ssrc.parameters.length;i++){var param=ssrc.parameters[i];sdp.push("a=ssrc:"+(ssrc.ssrc||desc.ssrc)+" "+param.key+(param.value?":"+param.value:""))}});var candidates=transport.candidates||[];return candidates.forEach(function(candidate){sdp.push(exports.toCandidateSDP(candidate))}),sdp.join("\r\n")},exports.toCandidateSDP=function(candidate){var sdp=[];sdp.push(candidate.foundation),sdp.push(candidate.component),sdp.push(candidate.protocol.toUpperCase()),sdp.push(candidate.priority),sdp.push(candidate.ip),sdp.push(candidate.port);var type=candidate.type;return sdp.push("typ"),sdp.push(type),"srflx"!==type&&"prflx"!==type&&"relay"!==type||candidate.relAddr&&candidate.relPort&&(sdp.push("raddr"),sdp.push(candidate.relAddr),sdp.push("rport"),sdp.push(candidate.relPort)),candidate.tcpType&&"TCP"==candidate.protocol.toUpperCase()&&(sdp.push("tcptype"),sdp.push(candidate.tcpType)),sdp.push("generation"),sdp.push(candidate.generation||"0"),"a=candidate:"+sdp.join(" ")}},{"./senders":170}],173:[function(require,module,exports){"use strict";var SDPUtils={};SDPUtils.generateIdentifier=function(){return Math.random().toString(36).substr(2,10)},SDPUtils.localCName=SDPUtils.generateIdentifier(),SDPUtils.splitLines=function(blob){return blob.trim().split("\n").map(function(line){return line.trim()})},SDPUtils.splitSections=function(blob){var parts=blob.split("\nm=");return parts.map(function(part,index){return(index>0?"m="+part:part).trim()+"\r\n"})},SDPUtils.matchPrefix=function(blob,prefix){return SDPUtils.splitLines(blob).filter(function(line){return 0===line.indexOf(prefix)})},SDPUtils.parseCandidate=function(line){var parts;parts=0===line.indexOf("a=candidate:")?line.substring(12).split(" "):line.substring(10).split(" ");for(var candidate={foundation:parts[0],component:parts[1],protocol:parts[2].toLowerCase(),priority:parseInt(parts[3],10),ip:parts[4],port:parseInt(parts[5],10),type:parts[7]},i=8;i<parts.length;i+=2)switch(parts[i]){case"raddr":candidate.relatedAddress=parts[i+1];break;case"rport":candidate.relatedPort=parseInt(parts[i+1],10);break;case"tcptype":candidate.tcpType=parts[i+1]}return candidate},SDPUtils.writeCandidate=function(candidate){var sdp=[];sdp.push(candidate.foundation),sdp.push(candidate.component),sdp.push(candidate.protocol.toUpperCase()),sdp.push(candidate.priority),sdp.push(candidate.ip),sdp.push(candidate.port);var type=candidate.type;return sdp.push("typ"),sdp.push(type),"host"!==type&&candidate.relatedAddress&&candidate.relatedPort&&(sdp.push("raddr"),sdp.push(candidate.relatedAddress),sdp.push("rport"),sdp.push(candidate.relatedPort)),candidate.tcpType&&"tcp"===candidate.protocol.toLowerCase()&&(sdp.push("tcptype"),sdp.push(candidate.tcpType)),"candidate:"+sdp.join(" ")},SDPUtils.parseRtpMap=function(line){var parts=line.substr(9).split(" "),parsed={payloadType:parseInt(parts.shift(),10)};return parts=parts[0].split("/"),parsed.name=parts[0],parsed.clockRate=parseInt(parts[1],10),parsed.numChannels=3===parts.length?parseInt(parts[2],10):1,parsed},SDPUtils.writeRtpMap=function(codec){var pt=codec.payloadType;return void 0!==codec.preferredPayloadType&&(pt=codec.preferredPayloadType),"a=rtpmap:"+pt+" "+codec.name+"/"+codec.clockRate+(1!==codec.numChannels?"/"+codec.numChannels:"")+"\r\n"},SDPUtils.parseExtmap=function(line){var parts=line.substr(9).split(" ");return{id:parseInt(parts[0],10),uri:parts[1]}},SDPUtils.writeExtmap=function(headerExtension){return"a=extmap:"+(headerExtension.id||headerExtension.preferredId)+" "+headerExtension.uri+"\r\n"},SDPUtils.parseFmtp=function(line){for(var kv,parsed={},parts=line.substr(line.indexOf(" ")+1).split(";"),j=0;j<parts.length;j++)kv=parts[j].trim().split("="),parsed[kv[0].trim()]=kv[1];return parsed},SDPUtils.writeFmtp=function(codec){var line="",pt=codec.payloadType;if(void 0!==codec.preferredPayloadType&&(pt=codec.preferredPayloadType),codec.parameters&&Object.keys(codec.parameters).length){var params=[];Object.keys(codec.parameters).forEach(function(param){params.push(param+"="+codec.parameters[param])}),line+="a=fmtp:"+pt+" "+params.join(";")+"\r\n"}return line},SDPUtils.parseRtcpFb=function(line){var parts=line.substr(line.indexOf(" ")+1).split(" ");return{type:parts.shift(),parameter:parts.join(" ")}},SDPUtils.writeRtcpFb=function(codec){var lines="",pt=codec.payloadType;return void 0!==codec.preferredPayloadType&&(pt=codec.preferredPayloadType),codec.rtcpFeedback&&codec.rtcpFeedback.length&&codec.rtcpFeedback.forEach(function(fb){lines+="a=rtcp-fb:"+pt+" "+fb.type+(fb.parameter&&fb.parameter.length?" "+fb.parameter:"")+"\r\n"}),lines},SDPUtils.parseSsrcMedia=function(line){var sp=line.indexOf(" "),parts={ssrc:parseInt(line.substr(7,sp-7),10)},colon=line.indexOf(":",sp);return colon>-1?(parts.attribute=line.substr(sp+1,colon-sp-1),parts.value=line.substr(colon+1)):parts.attribute=line.substr(sp+1),parts},SDPUtils.getDtlsParameters=function(mediaSection,sessionpart){var lines=SDPUtils.splitLines(mediaSection);lines=lines.concat(SDPUtils.splitLines(sessionpart));var fpLine=lines.filter(function(line){return 0===line.indexOf("a=fingerprint:")})[0].substr(14),dtlsParameters={role:"auto",fingerprints:[{algorithm:fpLine.split(" ")[0],value:fpLine.split(" ")[1]}]};return dtlsParameters},SDPUtils.writeDtlsParameters=function(params,setupType){var sdp="a=setup:"+setupType+"\r\n";return params.fingerprints.forEach(function(fp){sdp+="a=fingerprint:"+fp.algorithm+" "+fp.value+"\r\n"}),sdp},SDPUtils.getIceParameters=function(mediaSection,sessionpart){var lines=SDPUtils.splitLines(mediaSection);lines=lines.concat(SDPUtils.splitLines(sessionpart));var iceParameters={usernameFragment:lines.filter(function(line){return 0===line.indexOf("a=ice-ufrag:")})[0].substr(12),password:lines.filter(function(line){return 0===line.indexOf("a=ice-pwd:")})[0].substr(10)};return iceParameters},SDPUtils.writeIceParameters=function(params){return"a=ice-ufrag:"+params.usernameFragment+"\r\na=ice-pwd:"+params.password+"\r\n"},SDPUtils.parseRtpParameters=function(mediaSection){for(var description={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},lines=SDPUtils.splitLines(mediaSection),mline=lines[0].split(" "),i=3;i<mline.length;i++){var pt=mline[i],rtpmapline=SDPUtils.matchPrefix(mediaSection,"a=rtpmap:"+pt+" ")[0];if(rtpmapline){var codec=SDPUtils.parseRtpMap(rtpmapline),fmtps=SDPUtils.matchPrefix(mediaSection,"a=fmtp:"+pt+" ");switch(codec.parameters=fmtps.length?SDPUtils.parseFmtp(fmtps[0]):{},codec.rtcpFeedback=SDPUtils.matchPrefix(mediaSection,"a=rtcp-fb:"+pt+" ").map(SDPUtils.parseRtcpFb),description.codecs.push(codec),codec.name.toUpperCase()){case"RED":case"ULPFEC":description.fecMechanisms.push(codec.name.toUpperCase())}}}return SDPUtils.matchPrefix(mediaSection,"a=extmap:").forEach(function(line){description.headerExtensions.push(SDPUtils.parseExtmap(line))}),description},SDPUtils.writeRtpDescription=function(kind,caps){var sdp="";return sdp+="m="+kind+" ",sdp+=caps.codecs.length>0?"9":"0",sdp+=" UDP/TLS/RTP/SAVPF ",sdp+=caps.codecs.map(function(codec){return void 0!==codec.preferredPayloadType?codec.preferredPayloadType:codec.payloadType}).join(" ")+"\r\n",sdp+="c=IN IP4 0.0.0.0\r\n",sdp+="a=rtcp:9 IN IP4 0.0.0.0\r\n",caps.codecs.forEach(function(codec){sdp+=SDPUtils.writeRtpMap(codec),sdp+=SDPUtils.writeFmtp(codec),sdp+=SDPUtils.writeRtcpFb(codec)}),sdp+="a=rtcp-mux\r\n"},SDPUtils.parseRtpEncodingParameters=function(mediaSection){var secondarySsrc,encodingParameters=[],description=SDPUtils.parseRtpParameters(mediaSection),hasRed=description.fecMechanisms.indexOf("RED")!==-1,hasUlpfec=description.fecMechanisms.indexOf("ULPFEC")!==-1,ssrcs=SDPUtils.matchPrefix(mediaSection,"a=ssrc:").map(function(line){return SDPUtils.parseSsrcMedia(line)}).filter(function(parts){return"cname"===parts.attribute}),primarySsrc=ssrcs.length>0&&ssrcs[0].ssrc,flows=SDPUtils.matchPrefix(mediaSection,"a=ssrc-group:FID").map(function(line){var parts=line.split(" ");return parts.shift(),parts.map(function(part){return parseInt(part,10)})});flows.length>0&&flows[0].length>1&&flows[0][0]===primarySsrc&&(secondarySsrc=flows[0][1]),description.codecs.forEach(function(codec){if("RTX"===codec.name.toUpperCase()&&codec.parameters.apt){var encParam={ssrc:primarySsrc,codecPayloadType:parseInt(codec.parameters.apt,10),rtx:{payloadType:codec.payloadType,ssrc:secondarySsrc}};encodingParameters.push(encParam),hasRed&&(encParam=JSON.parse(JSON.stringify(encParam)),encParam.fec={ssrc:secondarySsrc,mechanism:hasUlpfec?"red+ulpfec":"red"},encodingParameters.push(encParam))}}),0===encodingParameters.length&&primarySsrc&&encodingParameters.push({ssrc:primarySsrc});var bandwidth=SDPUtils.matchPrefix(mediaSection,"b=");return bandwidth.length&&(0===bandwidth[0].indexOf("b=TIAS:")?bandwidth=parseInt(bandwidth[0].substr(7),10):0===bandwidth[0].indexOf("b=AS:")&&(bandwidth=parseInt(bandwidth[0].substr(5),10)),encodingParameters.forEach(function(params){params.maxBitrate=bandwidth})),encodingParameters},SDPUtils.writeSessionBoilerplate=function(){return"v=0\r\no=thisisadapterortc 8169639915646943137 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},SDPUtils.writeMediaSection=function(transceiver,caps,type,stream){var sdp=SDPUtils.writeRtpDescription(transceiver.kind,caps);if(sdp+=SDPUtils.writeIceParameters(transceiver.iceGatherer.getLocalParameters()),sdp+=SDPUtils.writeDtlsParameters(transceiver.dtlsTransport.getLocalParameters(),"offer"===type?"actpass":"active"),sdp+="a=mid:"+transceiver.mid+"\r\n",sdp+=transceiver.rtpSender&&transceiver.rtpReceiver?"a=sendrecv\r\n":transceiver.rtpSender?"a=sendonly\r\n":transceiver.rtpReceiver?"a=recvonly\r\n":"a=inactive\r\n",transceiver.rtpSender){var msid="msid:"+stream.id+" "+transceiver.rtpSender.track.id+"\r\n";sdp+="a="+msid,sdp+="a=ssrc:"+transceiver.sendEncodingParameters[0].ssrc+" "+msid}return sdp+="a=ssrc:"+transceiver.sendEncodingParameters[0].ssrc+" cname:"+SDPUtils.localCName+"\r\n"},SDPUtils.getDirection=function(mediaSection,sessionpart){for(var lines=SDPUtils.splitLines(mediaSection),i=0;i<lines.length;i++)switch(lines[i]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return lines[i].substr(2)}return sessionpart?SDPUtils.getDirection(sessionpart):"sendrecv"},module.exports=SDPUtils},{}],174:[function(require,module,exports){(function(Buffer){function Hash(blockSize,finalSize){this._block=new Buffer(blockSize),this._finalSize=finalSize,this._blockSize=blockSize,this._len=0,this._s=0}Hash.prototype.update=function(data,enc){"string"==typeof data&&(enc=enc||"utf8",data=new Buffer(data,enc));for(var l=this._len+=data.length,s=this._s||0,f=0,buffer=this._block;s<l;){for(var t=Math.min(data.length,f+this._blockSize-s%this._blockSize),ch=t-f,i=0;i<ch;i++)buffer[s%this._blockSize+i]=data[i+f];s+=ch,f+=ch,s%this._blockSize===0&&this._update(buffer)}return this._s=s,this},Hash.prototype.digest=function(enc){var l=8*this._len;this._block[this._len%this._blockSize]=128,this._block.fill(0,this._len%this._blockSize+1),l%(8*this._blockSize)>=8*this._finalSize&&(this._update(this._block),this._block.fill(0)),this._block.writeInt32BE(l,this._blockSize-4);var hash=this._update(this._block)||this._hash();return enc?hash.toString(enc):hash},Hash.prototype._update=function(){throw new Error("_update must be implemented by subclass")},module.exports=Hash}).call(this,require("buffer").Buffer)},{buffer:6}],175:[function(require,module,exports){var exports=module.exports=function(algorithm){algorithm=algorithm.toLowerCase();var Algorithm=exports[algorithm];if(!Algorithm)throw new Error(algorithm+" is not supported (we accept pull requests)");return new Algorithm};exports.sha=require("./sha"),exports.sha1=require("./sha1"),exports.sha224=require("./sha224"),exports.sha256=require("./sha256"),exports.sha384=require("./sha384"),exports.sha512=require("./sha512")},{"./sha":176,"./sha1":177,"./sha224":178,"./sha256":179,"./sha384":180,"./sha512":181}],176:[function(require,module,exports){(function(Buffer){function Sha(){this.init(),this._w=W,Hash.call(this,64,56)}function rotl5(num){return num<<5|num>>>27}function rotl30(num){return num<<30|num>>>2}function ft(s,b,c,d){return 0===s?b&c|~b&d:2===s?b&c|b&d|c&d:b^c^d}var inherits=require("inherits"),Hash=require("./hash"),K=[1518500249,1859775393,-1894007588,-899497514],W=new Array(80);inherits(Sha,Hash),Sha.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Sha.prototype._update=function(M){for(var W=this._w,a=0|this._a,b=0|this._b,c=0|this._c,d=0|this._d,e=0|this._e,i=0;i<16;++i)W[i]=M.readInt32BE(4*i);for(;i<80;++i)W[i]=W[i-3]^W[i-8]^W[i-14]^W[i-16];for(var j=0;j<80;++j){var s=~~(j/20),t=rotl5(a)+ft(s,b,c,d)+e+W[j]+K[s]|0;e=d,d=c,c=rotl30(b),b=a,a=t}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0},Sha.prototype._hash=function(){var H=new Buffer(20);return H.writeInt32BE(0|this._a,0),H.writeInt32BE(0|this._b,4),H.writeInt32BE(0|this._c,8),H.writeInt32BE(0|this._d,12),H.writeInt32BE(0|this._e,16),H},module.exports=Sha}).call(this,require("buffer").Buffer)},{"./hash":174,buffer:6,inherits:45}],177:[function(require,module,exports){(function(Buffer){function Sha1(){this.init(),this._w=W,Hash.call(this,64,56)}function rotl1(num){return num<<1|num>>>31}function rotl5(num){return num<<5|num>>>27}function rotl30(num){return num<<30|num>>>2}function ft(s,b,c,d){return 0===s?b&c|~b&d:2===s?b&c|b&d|c&d:b^c^d}var inherits=require("inherits"),Hash=require("./hash"),K=[1518500249,1859775393,-1894007588,-899497514],W=new Array(80);inherits(Sha1,Hash),Sha1.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Sha1.prototype._update=function(M){for(var W=this._w,a=0|this._a,b=0|this._b,c=0|this._c,d=0|this._d,e=0|this._e,i=0;i<16;++i)W[i]=M.readInt32BE(4*i);for(;i<80;++i)W[i]=rotl1(W[i-3]^W[i-8]^W[i-14]^W[i-16]);for(var j=0;j<80;++j){var s=~~(j/20),t=rotl5(a)+ft(s,b,c,d)+e+W[j]+K[s]|0;e=d,d=c,c=rotl30(b),b=a,a=t}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0},Sha1.prototype._hash=function(){var H=new Buffer(20);return H.writeInt32BE(0|this._a,0),H.writeInt32BE(0|this._b,4),H.writeInt32BE(0|this._c,8),H.writeInt32BE(0|this._d,12),H.writeInt32BE(0|this._e,16),H},module.exports=Sha1}).call(this,require("buffer").Buffer)},{"./hash":174,buffer:6,inherits:45}],178:[function(require,module,exports){(function(Buffer){function Sha224(){this.init(),this._w=W,Hash.call(this,64,56)}var inherits=require("inherits"),Sha256=require("./sha256"),Hash=require("./hash"),W=new Array(64);inherits(Sha224,Sha256),Sha224.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},Sha224.prototype._hash=function(){var H=new Buffer(28);return H.writeInt32BE(this._a,0),H.writeInt32BE(this._b,4),H.writeInt32BE(this._c,8),H.writeInt32BE(this._d,12),H.writeInt32BE(this._e,16),H.writeInt32BE(this._f,20),H.writeInt32BE(this._g,24),H},module.exports=Sha224}).call(this,require("buffer").Buffer)},{"./hash":174,"./sha256":179,buffer:6,inherits:45}],179:[function(require,module,exports){(function(Buffer){function Sha256(){this.init(),this._w=W,Hash.call(this,64,56)}function ch(x,y,z){return z^x&(y^z)}function maj(x,y,z){return x&y|z&(x|y)}function sigma0(x){return(x>>>2|x<<30)^(x>>>13|x<<19)^(x>>>22|x<<10)}function sigma1(x){return(x>>>6|x<<26)^(x>>>11|x<<21)^(x>>>25|x<<7)}function gamma0(x){return(x>>>7|x<<25)^(x>>>18|x<<14)^x>>>3}function gamma1(x){return(x>>>17|x<<15)^(x>>>19|x<<13)^x>>>10}var inherits=require("inherits"),Hash=require("./hash"),K=[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],W=new Array(64);inherits(Sha256,Hash),Sha256.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},Sha256.prototype._update=function(M){for(var W=this._w,a=0|this._a,b=0|this._b,c=0|this._c,d=0|this._d,e=0|this._e,f=0|this._f,g=0|this._g,h=0|this._h,i=0;i<16;++i)W[i]=M.readInt32BE(4*i);for(;i<64;++i)W[i]=gamma1(W[i-2])+W[i-7]+gamma0(W[i-15])+W[i-16]|0;for(var j=0;j<64;++j){var T1=h+sigma1(e)+ch(e,f,g)+K[j]+W[j]|0,T2=sigma0(a)+maj(a,b,c)|0;h=g,g=f,f=e,e=d+T1|0,d=c,c=b,b=a,a=T1+T2|0}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0,this._f=f+this._f|0,this._g=g+this._g|0,this._h=h+this._h|0},Sha256.prototype._hash=function(){var H=new Buffer(32);return H.writeInt32BE(this._a,0),H.writeInt32BE(this._b,4),H.writeInt32BE(this._c,8),H.writeInt32BE(this._d,12),H.writeInt32BE(this._e,16),H.writeInt32BE(this._f,20),H.writeInt32BE(this._g,24),H.writeInt32BE(this._h,28),H},module.exports=Sha256}).call(this,require("buffer").Buffer)},{"./hash":174,buffer:6,inherits:45}],180:[function(require,module,exports){(function(Buffer){function Sha384(){this.init(),this._w=W,Hash.call(this,128,112)}var inherits=require("inherits"),SHA512=require("./sha512"),Hash=require("./hash"),W=new Array(160);inherits(Sha384,SHA512),Sha384.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},Sha384.prototype._hash=function(){function writeInt64BE(h,l,offset){H.writeInt32BE(h,offset),H.writeInt32BE(l,offset+4)}var H=new Buffer(48);return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),H},module.exports=Sha384}).call(this,require("buffer").Buffer)},{"./hash":174,"./sha512":181,buffer:6,inherits:45}],181:[function(require,module,exports){(function(Buffer){function Sha512(){this.init(),this._w=W,Hash.call(this,128,112)}function Ch(x,y,z){return z^x&(y^z)}function maj(x,y,z){return x&y|z&(x|y)}function sigma0(x,xl){return(x>>>28|xl<<4)^(xl>>>2|x<<30)^(xl>>>7|x<<25)}function sigma1(x,xl){return(x>>>14|xl<<18)^(x>>>18|xl<<14)^(xl>>>9|x<<23)}function Gamma0(x,xl){return(x>>>1|xl<<31)^(x>>>8|xl<<24)^x>>>7}function Gamma0l(x,xl){return(x>>>1|xl<<31)^(x>>>8|xl<<24)^(x>>>7|xl<<25)}function Gamma1(x,xl){return(x>>>19|xl<<13)^(xl>>>29|x<<3)^x>>>6}function Gamma1l(x,xl){return(x>>>19|xl<<13)^(xl>>>29|x<<3)^(x>>>6|xl<<26)}function getCarry(a,b){return a>>>0<b>>>0?1:0}var inherits=require("inherits"),Hash=require("./hash"),K=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],W=new Array(160);inherits(Sha512,Hash),Sha512.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},Sha512.prototype._update=function(M){for(var W=this._w,ah=0|this._ah,bh=0|this._bh,ch=0|this._ch,dh=0|this._dh,eh=0|this._eh,fh=0|this._fh,gh=0|this._gh,hh=0|this._hh,al=0|this._al,bl=0|this._bl,cl=0|this._cl,dl=0|this._dl,el=0|this._el,fl=0|this._fl,gl=0|this._gl,hl=0|this._hl,i=0;i<32;i+=2)W[i]=M.readInt32BE(4*i),W[i+1]=M.readInt32BE(4*i+4);for(;i<160;i+=2){var xh=W[i-30],xl=W[i-30+1],gamma0=Gamma0(xh,xl),gamma0l=Gamma0l(xl,xh);xh=W[i-4],xl=W[i-4+1];var gamma1=Gamma1(xh,xl),gamma1l=Gamma1l(xl,xh),Wi7h=W[i-14],Wi7l=W[i-14+1],Wi16h=W[i-32],Wi16l=W[i-32+1],Wil=gamma0l+Wi7l|0,Wih=gamma0+Wi7h+getCarry(Wil,gamma0l)|0;Wil=Wil+gamma1l|0,Wih=Wih+gamma1+getCarry(Wil,gamma1l)|0,Wil=Wil+Wi16l|0,Wih=Wih+Wi16h+getCarry(Wil,Wi16l)|0,W[i]=Wih,W[i+1]=Wil}for(var j=0;j<160;j+=2){Wih=W[j],Wil=W[j+1];var majh=maj(ah,bh,ch),majl=maj(al,bl,cl),sigma0h=sigma0(ah,al),sigma0l=sigma0(al,ah),sigma1h=sigma1(eh,el),sigma1l=sigma1(el,eh),Kih=K[j],Kil=K[j+1],chh=Ch(eh,fh,gh),chl=Ch(el,fl,gl),t1l=hl+sigma1l|0,t1h=hh+sigma1h+getCarry(t1l,hl)|0;t1l=t1l+chl|0,t1h=t1h+chh+getCarry(t1l,chl)|0,t1l=t1l+Kil|0,t1h=t1h+Kih+getCarry(t1l,Kil)|0,t1l=t1l+Wil|0,t1h=t1h+Wih+getCarry(t1l,Wil)|0;var t2l=sigma0l+majl|0,t2h=sigma0h+majh+getCarry(t2l,sigma0l)|0;hh=gh,hl=gl,gh=fh,gl=fl,fh=eh,fl=el,el=dl+t1l|0,eh=dh+t1h+getCarry(el,dl)|0,dh=ch,dl=cl,ch=bh,cl=bl,bh=ah,bl=al,al=t1l+t2l|0,ah=t1h+t2h+getCarry(al,t1l)|0}this._al=this._al+al|0,this._bl=this._bl+bl|0,this._cl=this._cl+cl|0,this._dl=this._dl+dl|0,this._el=this._el+el|0,this._fl=this._fl+fl|0,this._gl=this._gl+gl|0,this._hl=this._hl+hl|0,this._ah=this._ah+ah+getCarry(this._al,al)|0,this._bh=this._bh+bh+getCarry(this._bl,bl)|0,this._ch=this._ch+ch+getCarry(this._cl,cl)|0,this._dh=this._dh+dh+getCarry(this._dl,dl)|0,this._eh=this._eh+eh+getCarry(this._el,el)|0,this._fh=this._fh+fh+getCarry(this._fl,fl)|0,this._gh=this._gh+gh+getCarry(this._gl,gl)|0,this._hh=this._hh+hh+getCarry(this._hl,hl)|0},Sha512.prototype._hash=function(){function writeInt64BE(h,l,offset){H.writeInt32BE(h,offset),H.writeInt32BE(l,offset+4)}var H=new Buffer(64);return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),writeInt64BE(this._gh,this._gl,48),writeInt64BE(this._hh,this._hl,56),H},module.exports=Sha512}).call(this,require("buffer").Buffer)},{"./hash":174,buffer:6,inherits:45}],182:[function(require,module,exports){function Stream(){EE.call(this)}module.exports=Stream;var EE=require("events").EventEmitter,inherits=require("inherits");inherits(Stream,EE),Stream.Readable=require("readable-stream/readable.js"),Stream.Writable=require("readable-stream/writable.js"),Stream.Duplex=require("readable-stream/duplex.js"),Stream.Transform=require("readable-stream/transform.js"),Stream.PassThrough=require("readable-stream/passthrough.js"),Stream.Stream=Stream,Stream.prototype.pipe=function(dest,options){function ondata(chunk){dest.writable&&!1===dest.write(chunk)&&source.pause&&source.pause()}function ondrain(){source.readable&&source.resume&&source.resume()}function onend(){didOnEnd||(didOnEnd=!0,dest.end())}function onclose(){didOnEnd||(didOnEnd=!0,"function"==typeof dest.destroy&&dest.destroy())}function onerror(er){if(cleanup(),0===EE.listenerCount(this,"error"))throw er}function cleanup(){source.removeListener("data",ondata),dest.removeListener("drain",ondrain),source.removeListener("end",onend),source.removeListener("close",onclose),source.removeListener("error",onerror),dest.removeListener("error",onerror),source.removeListener("end",cleanup),source.removeListener("close",cleanup),dest.removeListener("close",cleanup)}var source=this;source.on("data",ondata),dest.on("drain",ondrain),dest._isStdio||options&&options.end===!1||(source.on("end",onend),source.on("close",onclose));var didOnEnd=!1;return source.on("error",onerror),dest.on("error",onerror),source.on("end",cleanup),source.on("close",cleanup),dest.on("close",cleanup),dest.emit("pipe",source),dest}},{events:27,inherits:45,"readable-stream/duplex.js":155,"readable-stream/passthrough.js":162,"readable-stream/readable.js":163,"readable-stream/transform.js":164,"readable-stream/writable.js":165}],183:[function(require,module,exports){function assertEncoding(encoding){if(encoding&&!isBufferEncoding(encoding))throw new Error("Unknown encoding: "+encoding)}function passThroughWrite(buffer){return buffer.toString(this.encoding)}function utf16DetectIncompleteChar(buffer){this.charReceived=buffer.length%2,this.charLength=this.charReceived?2:0}function base64DetectIncompleteChar(buffer){this.charReceived=buffer.length%3,this.charLength=this.charReceived?3:0}var Buffer=require("buffer").Buffer,isBufferEncoding=Buffer.isEncoding||function(encoding){switch(encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},StringDecoder=exports.StringDecoder=function(encoding){switch(this.encoding=(encoding||"utf8").toLowerCase().replace(/[-_]/,""),assertEncoding(encoding),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=utf16DetectIncompleteChar;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=base64DetectIncompleteChar;break;default:return void(this.write=passThroughWrite)}this.charBuffer=new Buffer(6),this.charReceived=0,this.charLength=0};StringDecoder.prototype.write=function(buffer){for(var charStr="";this.charLength;){var available=buffer.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:buffer.length;if(buffer.copy(this.charBuffer,this.charReceived,0,available),this.charReceived+=available,this.charReceived<this.charLength)return"";buffer=buffer.slice(available,buffer.length),charStr=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var charCode=charStr.charCodeAt(charStr.length-1);if(!(charCode>=55296&&charCode<=56319)){if(this.charReceived=this.charLength=0,0===buffer.length)return charStr;break}this.charLength+=this.surrogateSize,charStr=""}this.detectIncompleteChar(buffer);var end=buffer.length;this.charLength&&(buffer.copy(this.charBuffer,0,buffer.length-this.charReceived,end),end-=this.charReceived),charStr+=buffer.toString(this.encoding,0,end);var end=charStr.length-1,charCode=charStr.charCodeAt(end);if(charCode>=55296&&charCode<=56319){var size=this.surrogateSize;return this.charLength+=size,this.charReceived+=size,this.charBuffer.copy(this.charBuffer,size,0,size),buffer.copy(this.charBuffer,0,0,size),charStr.substring(0,end)}return charStr},StringDecoder.prototype.detectIncompleteChar=function(buffer){for(var i=buffer.length>=3?3:buffer.length;i>0;i--){var c=buffer[buffer.length-i];if(1==i&&c>>5==6){this.charLength=2;break}if(i<=2&&c>>4==14){this.charLength=3;break}if(i<=3&&c>>3==30){this.charLength=4;break}}this.charReceived=i},StringDecoder.prototype.end=function(buffer){var res="";if(buffer&&buffer.length&&(res=this.write(buffer)),this.charReceived){var cr=this.charReceived,buf=this.charBuffer,enc=this.encoding;res+=buf.slice(0,cr).toString(enc)}return res}},{buffer:6}],184:[function(require,module,exports){function dumpSDP(description){return{type:description.type,sdp:description.sdp}}function dumpStream(stream){var info={label:stream.id};return stream.getAudioTracks().length&&(info.audio=stream.getAudioTracks().map(function(track){return track.id})),stream.getVideoTracks().length&&(info.video=stream.getVideoTracks().map(function(track){return track.id})),info}function TraceablePeerConnection(config,constraints){var self=this;WildEmitter.call(this),this.peerconnection=new window.RTCPeerConnection(config,constraints),this.trace=function(what,info){self.emit("PeerConnectionTrace",{time:new Date,type:what,value:info||""})},this.onicecandidate=null,this.peerconnection.onicecandidate=function(event){self.trace("onicecandidate",event.candidate),null!==self.onicecandidate&&self.onicecandidate(event)},this.onaddstream=null,this.peerconnection.onaddstream=function(event){self.trace("onaddstream",dumpStream(event.stream)),null!==self.onaddstream&&self.onaddstream(event);
-},this.onremovestream=null,this.peerconnection.onremovestream=function(event){self.trace("onremovestream",dumpStream(event.stream)),null!==self.onremovestream&&self.onremovestream(event)},this.onsignalingstatechange=null,this.peerconnection.onsignalingstatechange=function(event){self.trace("onsignalingstatechange",self.signalingState),null!==self.onsignalingstatechange&&self.onsignalingstatechange(event)},this.oniceconnectionstatechange=null,this.peerconnection.oniceconnectionstatechange=function(event){self.trace("oniceconnectionstatechange",self.iceConnectionState),null!==self.oniceconnectionstatechange&&self.oniceconnectionstatechange(event)},this.onnegotiationneeded=null,this.peerconnection.onnegotiationneeded=function(event){self.trace("onnegotiationneeded"),null!==self.onnegotiationneeded&&self.onnegotiationneeded(event)},self.ondatachannel=null,this.peerconnection.ondatachannel=function(event){self.trace("ondatachannel",event),null!==self.ondatachannel&&self.ondatachannel(event)},this.getLocalStreams=this.peerconnection.getLocalStreams.bind(this.peerconnection),this.getRemoteStreams=this.peerconnection.getRemoteStreams.bind(this.peerconnection)}var util=require("util"),WildEmitter=(require("webrtc-adapter"),require("wildemitter"));util.inherits(TraceablePeerConnection,WildEmitter),["signalingState","iceConnectionState","localDescription","remoteDescription"].forEach(function(prop){Object.defineProperty(TraceablePeerConnection.prototype,prop,{get:function(){return this.peerconnection[prop]}})}),TraceablePeerConnection.prototype.addStream=function(stream){this.trace("addStream",dumpStream(stream)),this.peerconnection.addStream(stream)},TraceablePeerConnection.prototype.removeStream=function(stream){this.trace("removeStream",dumpStream(stream)),this.peerconnection.removeStream(stream)},TraceablePeerConnection.prototype.createDataChannel=function(label,opts){return this.trace("createDataChannel",label,opts),this.peerconnection.createDataChannel(label,opts)},TraceablePeerConnection.prototype.setLocalDescription=function(description,successCallback,failureCallback){var self=this;return this.trace("setLocalDescription",dumpSDP(description)),this.peerconnection.setLocalDescription(description).then(function(){self.trace("setLocalDescriptionOnSuccess"),successCallback&&successCallback()},function(err){self.trace("setLocalDescriptionOnFailure",err),failureCallback&&failureCallback(err)})},TraceablePeerConnection.prototype.setRemoteDescription=function(description,successCallback,failureCallback){var self=this;return this.trace("setRemoteDescription",dumpSDP(description)),this.peerconnection.setRemoteDescription(description).then(function(){self.trace("setRemoteDescriptionOnSuccess"),successCallback&&successCallback()},function(err){self.trace("setRemoteDescriptionOnFailure",err),failureCallback&&failureCallback(err)})},TraceablePeerConnection.prototype.close=function(){this.trace("stop"),"closed"!=this.peerconnection.signalingState&&this.peerconnection.close()},TraceablePeerConnection.prototype.createOffer=function(successCallback,failureCallback,constraints){var self=this;return this.trace("createOffer",constraints),this.peerconnection.createOffer(constraints).then(function(offer){self.trace("createOfferOnSuccess",dumpSDP(offer)),successCallback&&successCallback(offer)},function(err){self.trace("createOfferOnFailure",err),failureCallback&&failureCallback(err)})},TraceablePeerConnection.prototype.createAnswer=function(successCallback,failureCallback,constraints){var self=this;return this.trace("createAnswer",constraints),this.peerconnection.createAnswer(constraints).then(function(answer){self.trace("createAnswerOnSuccess",dumpSDP(answer)),successCallback&&successCallback(answer)},function(err){self.trace("createAnswerOnFailure",err),failureCallback&&failureCallback(err)})},TraceablePeerConnection.prototype.addIceCandidate=function(candidate,successCallback,failureCallback){var self=this;return this.trace("addIceCandidate",candidate),this.peerconnection.addIceCandidate(candidate).then(function(){successCallback&&successCallback()},function(err){self.trace("addIceCandidateOnFailure",err),failureCallback&&failureCallback(err)})},TraceablePeerConnection.prototype.getStats=function(){this.peerconnection.getStats.apply(this.peerconnection,arguments)},module.exports=TraceablePeerConnection},{util:197,"webrtc-adapter":185,wildemitter:211}],185:[function(require,module,exports){arguments[4][33][0].apply(exports,arguments)},{"./chrome/chrome_shim":186,"./edge/edge_shim":188,"./firefox/firefox_shim":190,"./safari/safari_shim":192,"./utils":193,dup:33}],186:[function(require,module,exports){arguments[4][34][0].apply(exports,arguments)},{"../utils.js":193,"./getusermedia":187,dup:34}],187:[function(require,module,exports){arguments[4][35][0].apply(exports,arguments)},{"../utils.js":193,dup:35}],188:[function(require,module,exports){arguments[4][36][0].apply(exports,arguments)},{"../utils":193,"./getusermedia":189,dup:36,sdp:173}],189:[function(require,module,exports){arguments[4][37][0].apply(exports,arguments)},{dup:37}],190:[function(require,module,exports){arguments[4][38][0].apply(exports,arguments)},{"../utils":193,"./getusermedia":191,dup:38}],191:[function(require,module,exports){arguments[4][39][0].apply(exports,arguments)},{"../utils":193,dup:39}],192:[function(require,module,exports){arguments[4][40][0].apply(exports,arguments)},{dup:40}],193:[function(require,module,exports){arguments[4][41][0].apply(exports,arguments)},{dup:41}],194:[function(require,module,exports){(function(global){function deprecate(fn,msg){function deprecated(){if(!warned){if(config("throwDeprecation"))throw new Error(msg);config("traceDeprecation")?console.trace(msg):console.warn(msg),warned=!0}return fn.apply(this,arguments)}if(config("noDeprecation"))return fn;var warned=!1;return deprecated}function config(name){try{if(!global.localStorage)return!1}catch(_){return!1}var val=global.localStorage[name];return null!=val&&"true"===String(val).toLowerCase()}module.exports=deprecate}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],195:[function(require,module,exports){arguments[4][45][0].apply(exports,arguments)},{dup:45}],196:[function(require,module,exports){module.exports=function(arg){return arg&&"object"==typeof arg&&"function"==typeof arg.copy&&"function"==typeof arg.fill&&"function"==typeof arg.readUInt8}},{}],197:[function(require,module,exports){(function(process,global){function inspect(obj,opts){var ctx={seen:[],stylize:stylizeNoColor};return arguments.length>=3&&(ctx.depth=arguments[2]),arguments.length>=4&&(ctx.colors=arguments[3]),isBoolean(opts)?ctx.showHidden=opts:opts&&exports._extend(ctx,opts),isUndefined(ctx.showHidden)&&(ctx.showHidden=!1),isUndefined(ctx.depth)&&(ctx.depth=2),isUndefined(ctx.colors)&&(ctx.colors=!1),isUndefined(ctx.customInspect)&&(ctx.customInspect=!0),ctx.colors&&(ctx.stylize=stylizeWithColor),formatValue(ctx,obj,ctx.depth)}function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];return style?"["+inspect.colors[style][0]+"m"+str+"["+inspect.colors[style][1]+"m":str}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};return array.forEach(function(val,idx){hash[val]=!0}),hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&(!value.constructor||value.constructor.prototype!==value)){var ret=value.inspect(recurseTimes,ctx);return isString(ret)||(ret=formatValue(ctx,ret,recurseTimes)),ret}var primitive=formatPrimitive(ctx,value);if(primitive)return primitive;var keys=Object.keys(value),visibleKeys=arrayToHash(keys);if(ctx.showHidden&&(keys=Object.getOwnPropertyNames(value)),isError(value)&&(keys.indexOf("message")>=0||keys.indexOf("description")>=0))return formatError(value);if(0===keys.length){if(isFunction(value)){var name=value.name?": "+value.name:"";return ctx.stylize("[Function"+name+"]","special")}if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),"regexp");if(isDate(value))return ctx.stylize(Date.prototype.toString.call(value),"date");if(isError(value))return formatError(value)}var base="",array=!1,braces=["{","}"];if(isArray(value)&&(array=!0,braces=["[","]"]),isFunction(value)){var n=value.name?": "+value.name:"";base=" [Function"+n+"]"}if(isRegExp(value)&&(base=" "+RegExp.prototype.toString.call(value)),isDate(value)&&(base=" "+Date.prototype.toUTCString.call(value)),isError(value)&&(base=" "+formatError(value)),0===keys.length&&(!array||0==value.length))return braces[0]+base+braces[1];if(recurseTimes<0)return isRegExp(value)?ctx.stylize(RegExp.prototype.toString.call(value),"regexp"):ctx.stylize("[Object]","special");ctx.seen.push(value);var output;return output=array?formatArray(ctx,value,recurseTimes,visibleKeys,keys):keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)}),ctx.seen.pop(),reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize("undefined","undefined");if(isString(value)){var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return ctx.stylize(simple,"string")}return isNumber(value)?ctx.stylize(""+value,"number"):isBoolean(value)?ctx.stylize(""+value,"boolean"):isNull(value)?ctx.stylize("null","null"):void 0}function formatError(value){return"["+Error.prototype.toString.call(value)+"]"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){for(var output=[],i=0,l=value.length;i<l;++i)hasOwnProperty(value,String(i))?output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,String(i),!0)):output.push("");return keys.forEach(function(key){key.match(/^\d+$/)||output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,key,!0))}),output}function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){var name,str,desc;if(desc=Object.getOwnPropertyDescriptor(value,key)||{value:value[key]},desc.get?str=desc.set?ctx.stylize("[Getter/Setter]","special"):ctx.stylize("[Getter]","special"):desc.set&&(str=ctx.stylize("[Setter]","special")),hasOwnProperty(visibleKeys,key)||(name="["+key+"]"),str||(ctx.seen.indexOf(desc.value)<0?(str=isNull(recurseTimes)?formatValue(ctx,desc.value,null):formatValue(ctx,desc.value,recurseTimes-1),str.indexOf("\n")>-1&&(str=array?str.split("\n").map(function(line){return" "+line}).join("\n").substr(2):"\n"+str.split("\n").map(function(line){return" "+line}).join("\n"))):str=ctx.stylize("[Circular]","special")),isUndefined(name)){if(array&&key.match(/^\d+$/))return str;name=JSON.stringify(""+key),name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(name=name.substr(1,name.length-2),name=ctx.stylize(name,"name")):(name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),name=ctx.stylize(name,"string"))}return name+": "+str}function reduceToSingleString(output,base,braces){var numLinesEst=0,length=output.reduce(function(prev,cur){return numLinesEst++,cur.indexOf("\n")>=0&&numLinesEst++,prev+cur.replace(/\u001b\[\d\d?m/g,"").length+1},0);return length>60?braces[0]+(""===base?"":base+"\n ")+" "+output.join(",\n ")+" "+braces[1]:braces[0]+base+" "+output.join(", ")+" "+braces[1]}function isArray(ar){return Array.isArray(ar)}function isBoolean(arg){return"boolean"==typeof arg}function isNull(arg){return null===arg}function isNullOrUndefined(arg){return null==arg}function isNumber(arg){return"number"==typeof arg}function isString(arg){return"string"==typeof arg}function isSymbol(arg){return"symbol"==typeof arg}function isUndefined(arg){return void 0===arg}function isRegExp(re){return isObject(re)&&"[object RegExp]"===objectToString(re)}function isObject(arg){return"object"==typeof arg&&null!==arg}function isDate(d){return isObject(d)&&"[object Date]"===objectToString(d)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(arg){return"function"==typeof arg}function isPrimitive(arg){return null===arg||"boolean"==typeof arg||"number"==typeof arg||"string"==typeof arg||"symbol"==typeof arg||"undefined"==typeof arg}function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?"0"+n.toString(10):n.toString(10)}function timestamp(){var d=new Date,time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(":");return[d.getDate(),months[d.getMonth()],time].join(" ")}function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}var formatRegExp=/%[sdj%]/g;exports.format=function(f){if(!isString(f)){for(var objects=[],i=0;i<arguments.length;i++)objects.push(inspect(arguments[i]));return objects.join(" ")}for(var i=1,args=arguments,len=args.length,str=String(f).replace(formatRegExp,function(x){if("%%"===x)return"%";if(i>=len)return x;switch(x){case"%s":return String(args[i++]);case"%d":return Number(args[i++]);case"%j":try{return JSON.stringify(args[i++])}catch(_){return"[Circular]"}default:return x}}),x=args[i];i<len;x=args[++i])str+=isNull(x)||!isObject(x)?" "+x:" "+inspect(x);return str},exports.deprecate=function(fn,msg){function deprecated(){if(!warned){if(process.throwDeprecation)throw new Error(msg);process.traceDeprecation?console.trace(msg):console.error(msg),warned=!0}return fn.apply(this,arguments)}if(isUndefined(global.process))return function(){return exports.deprecate(fn,msg).apply(this,arguments)};if(process.noDeprecation===!0)return fn;var warned=!1;return deprecated};var debugEnviron,debugs={};exports.debuglog=function(set){if(isUndefined(debugEnviron)&&(debugEnviron=process.env.NODE_DEBUG||""),set=set.toUpperCase(),!debugs[set])if(new RegExp("\\b"+set+"\\b","i").test(debugEnviron)){var pid=process.pid;debugs[set]=function(){var msg=exports.format.apply(exports,arguments);console.error("%s %d: %s",set,pid,msg)}}else debugs[set]=function(){};return debugs[set]},exports.inspect=inspect,inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=require("./support/isBuffer");var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))},exports.inherits=require("inherits"),exports._extend=function(origin,add){if(!add||!isObject(add))return origin;for(var keys=Object.keys(add),i=keys.length;i--;)origin[keys[i]]=add[keys[i]];return origin}}).call(this,require("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":196,_process:153,inherits:195}],198:[function(require,module,exports){(function(global){var rng,crypto=global.crypto||global.msCrypto;if(crypto&&crypto.getRandomValues){var _rnds8=new Uint8Array(16);rng=function(){return crypto.getRandomValues(_rnds8),_rnds8}}if(!rng){var _rnds=new Array(16);rng=function(){for(var r,i=0;i<16;i++)0===(3&i)&&(r=4294967296*Math.random()),_rnds[i]=r>>>((3&i)<<3)&255;return _rnds}}module.exports=rng}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],199:[function(require,module,exports){function parse(s,buf,offset){var i=buf&&offset||0,ii=0;for(buf=buf||[],s.toLowerCase().replace(/[0-9a-f]{2}/g,function(oct){ii<16&&(buf[i+ii++]=_hexToByte[oct])});ii<16;)buf[i+ii++]=0;return buf}function unparse(buf,offset){var i=offset||0,bth=_byteToHex;return bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]}function v1(options,buf,offset){var i=buf&&offset||0,b=buf||[];options=options||{};var clockseq=void 0!==options.clockseq?options.clockseq:_clockseq,msecs=void 0!==options.msecs?options.msecs:(new Date).getTime(),nsecs=void 0!==options.nsecs?options.nsecs:_lastNSecs+1,dt=msecs-_lastMSecs+(nsecs-_lastNSecs)/1e4;if(dt<0&&void 0===options.clockseq&&(clockseq=clockseq+1&16383),(dt<0||msecs>_lastMSecs)&&void 0===options.nsecs&&(nsecs=0),nsecs>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");_lastMSecs=msecs,_lastNSecs=nsecs,_clockseq=clockseq,msecs+=122192928e5;var tl=(1e4*(268435455&msecs)+nsecs)%4294967296;b[i++]=tl>>>24&255,b[i++]=tl>>>16&255,b[i++]=tl>>>8&255,b[i++]=255&tl;var tmh=msecs/4294967296*1e4&268435455;b[i++]=tmh>>>8&255,b[i++]=255&tmh,b[i++]=tmh>>>24&15|16,b[i++]=tmh>>>16&255,b[i++]=clockseq>>>8|128,b[i++]=255&clockseq;for(var node=options.node||_nodeId,n=0;n<6;n++)b[i+n]=node[n];return buf?buf:unparse(b)}function v4(options,buf,offset){var i=buf&&offset||0;"string"==typeof options&&(buf="binary"==options?new Array(16):null,options=null),options=options||{};var rnds=options.random||(options.rng||_rng)();if(rnds[6]=15&rnds[6]|64,rnds[8]=63&rnds[8]|128,buf)for(var ii=0;ii<16;ii++)buf[i+ii]=rnds[ii];return buf||unparse(rnds)}for(var _rng=require("./rng"),_byteToHex=[],_hexToByte={},i=0;i<256;i++)_byteToHex[i]=(i+256).toString(16).substr(1),_hexToByte[_byteToHex[i]]=i;var _seedBytes=_rng(),_nodeId=[1|_seedBytes[0],_seedBytes[1],_seedBytes[2],_seedBytes[3],_seedBytes[4],_seedBytes[5]],_clockseq=16383&(_seedBytes[6]<<8|_seedBytes[7]),_lastMSecs=0,_lastNSecs=0,uuid=v4;uuid.v1=v1,uuid.v4=v4,uuid.parse=parse,uuid.unparse=unparse,module.exports=uuid},{"./rng":198}],200:[function(require,module,exports){"use strict";function requestUserMedia(constraints){return new Promise(function(resolve,reject){getUserMedia(constraints,resolve,reject)})}var getUserMedia=null,attachMediaStream=null,reattachMediaStream=null,webrtcDetectedBrowser=null,webrtcDetectedVersion=null,webrtcMinimumVersion=null,webrtcUtils={log:function(){"undefined"!=typeof module||"function"==typeof require&&"function"==typeof define||console.log.apply(console,arguments)},extractVersion:function(uastring,expr,pos){var match=uastring.match(expr);return match&&match.length>=pos&&parseInt(match[pos],10)}};if("object"==typeof window&&(!window.HTMLMediaElement||"srcObject"in window.HTMLMediaElement.prototype||Object.defineProperty(window.HTMLMediaElement.prototype,"srcObject",{get:function(){return"mozSrcObject"in this?this.mozSrcObject:this._srcObject},set:function(stream){"mozSrcObject"in this?this.mozSrcObject=stream:(this._srcObject=stream,this.src=URL.createObjectURL(stream))}}),getUserMedia=window.navigator&&window.navigator.getUserMedia),attachMediaStream=function(element,stream){element.srcObject=stream},reattachMediaStream=function(to,from){to.srcObject=from.srcObject},"undefined"!=typeof window&&window.navigator)if(navigator.mozGetUserMedia){if(webrtcUtils.log("This appears to be Firefox"),webrtcDetectedBrowser="firefox",webrtcDetectedVersion=webrtcUtils.extractVersion(navigator.userAgent,/Firefox\/([0-9]+)\./,1),webrtcMinimumVersion=31,window.RTCPeerConnection||(window.RTCPeerConnection=function(pcConfig,pcConstraints){if(webrtcDetectedVersion<38&&pcConfig&&pcConfig.iceServers){for(var newIceServers=[],i=0;i<pcConfig.iceServers.length;i++){var server=pcConfig.iceServers[i];if(server.hasOwnProperty("urls"))for(var j=0;j<server.urls.length;j++){var newServer={url:server.urls[j]};0===server.urls[j].indexOf("turn")&&(newServer.username=server.username,newServer.credential=server.credential),newIceServers.push(newServer)}else newIceServers.push(pcConfig.iceServers[i])}pcConfig.iceServers=newIceServers}return new mozRTCPeerConnection(pcConfig,pcConstraints)},window.RTCPeerConnection.prototype=mozRTCPeerConnection.prototype,mozRTCPeerConnection.generateCertificate&&Object.defineProperty(window.RTCPeerConnection,"generateCertificate",{get:function(){return arguments.length?mozRTCPeerConnection.generateCertificate.apply(null,arguments):mozRTCPeerConnection.generateCertificate}}),window.RTCSessionDescription=mozRTCSessionDescription,window.RTCIceCandidate=mozRTCIceCandidate),getUserMedia=function(constraints,onSuccess,onError){var constraintsToFF37=function(c){if("object"!=typeof c||c.require)return c;var require=[];return Object.keys(c).forEach(function(key){if("require"!==key&&"advanced"!==key&&"mediaSource"!==key){var r=c[key]="object"==typeof c[key]?c[key]:{ideal:c[key]};if(void 0===r.min&&void 0===r.max&&void 0===r.exact||require.push(key),void 0!==r.exact&&("number"==typeof r.exact?r.min=r.max=r.exact:c[key]=r.exact,delete r.exact),void 0!==r.ideal){c.advanced=c.advanced||[];var oc={};"number"==typeof r.ideal?oc[key]={min:r.ideal,max:r.ideal}:oc[key]=r.ideal,c.advanced.push(oc),delete r.ideal,Object.keys(r).length||delete c[key]}}}),require.length&&(c.require=require),c};return webrtcDetectedVersion<38&&(webrtcUtils.log("spec: "+JSON.stringify(constraints)),constraints.audio&&(constraints.audio=constraintsToFF37(constraints.audio)),constraints.video&&(constraints.video=constraintsToFF37(constraints.video)),webrtcUtils.log("ff37: "+JSON.stringify(constraints))),navigator.mozGetUserMedia(constraints,onSuccess,onError)},navigator.getUserMedia=getUserMedia,navigator.mediaDevices||(navigator.mediaDevices={getUserMedia:requestUserMedia,addEventListener:function(){},removeEventListener:function(){}}),navigator.mediaDevices.enumerateDevices=navigator.mediaDevices.enumerateDevices||function(){return new Promise(function(resolve){var infos=[{kind:"audioinput",deviceId:"default",label:"",groupId:""},{kind:"videoinput",deviceId:"default",label:"",groupId:""}];resolve(infos)})},webrtcDetectedVersion<41){var orgEnumerateDevices=navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices);navigator.mediaDevices.enumerateDevices=function(){return orgEnumerateDevices().then(void 0,function(e){if("NotFoundError"===e.name)return[];throw e})}}}else if(navigator.webkitGetUserMedia&&window.webkitRTCPeerConnection){webrtcUtils.log("This appears to be Chrome"),webrtcDetectedBrowser="chrome",webrtcDetectedVersion=webrtcUtils.extractVersion(navigator.userAgent,/Chrom(e|ium)\/([0-9]+)\./,2),webrtcMinimumVersion=38,window.RTCPeerConnection=function(pcConfig,pcConstraints){pcConfig&&pcConfig.iceTransportPolicy&&(pcConfig.iceTransports=pcConfig.iceTransportPolicy);var pc=new webkitRTCPeerConnection(pcConfig,pcConstraints),origGetStats=pc.getStats.bind(pc);return pc.getStats=function(selector,successCallback,errorCallback){var self=this,args=arguments;if(arguments.length>0&&"function"==typeof selector)return origGetStats(selector,successCallback);var fixChromeStats=function(response){var standardReport={},reports=response.result();return reports.forEach(function(report){var standardStats={id:report.id,timestamp:report.timestamp,type:report.type};report.names().forEach(function(name){standardStats[name]=report.stat(name)}),standardReport[standardStats.id]=standardStats}),standardReport};if(arguments.length>=2){var successCallbackWrapper=function(response){args[1](fixChromeStats(response))};return origGetStats.apply(this,[successCallbackWrapper,arguments[0]])}return new Promise(function(resolve,reject){1===args.length&&null===selector?origGetStats.apply(self,[function(response){resolve.apply(null,[fixChromeStats(response)])},reject]):origGetStats.apply(self,[resolve,reject])})},pc},window.RTCPeerConnection.prototype=webkitRTCPeerConnection.prototype,webkitRTCPeerConnection.generateCertificate&&Object.defineProperty(window.RTCPeerConnection,"generateCertificate",{get:function(){return arguments.length?webkitRTCPeerConnection.generateCertificate.apply(null,arguments):webkitRTCPeerConnection.generateCertificate}}),["createOffer","createAnswer"].forEach(function(method){var nativeMethod=webkitRTCPeerConnection.prototype[method];webkitRTCPeerConnection.prototype[method]=function(){var self=this;if(arguments.length<1||1===arguments.length&&"object"==typeof arguments[0]){var opts=1===arguments.length?arguments[0]:void 0;return new Promise(function(resolve,reject){nativeMethod.apply(self,[resolve,reject,opts])})}return nativeMethod.apply(this,arguments)}}),["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(method){var nativeMethod=webkitRTCPeerConnection.prototype[method];webkitRTCPeerConnection.prototype[method]=function(){var args=arguments,self=this;return new Promise(function(resolve,reject){nativeMethod.apply(self,[args[0],function(){resolve(),args.length>=2&&args[1].apply(null,[])},function(err){reject(err),args.length>=3&&args[2].apply(null,[err])}])})}});var constraintsToChrome=function(c){if("object"!=typeof c||c.mandatory||c.optional)return c;var cc={};return Object.keys(c).forEach(function(key){if("require"!==key&&"advanced"!==key&&"mediaSource"!==key){var r="object"==typeof c[key]?c[key]:{ideal:c[key]};void 0!==r.exact&&"number"==typeof r.exact&&(r.min=r.max=r.exact);var oldname=function(prefix,name){return prefix?prefix+name.charAt(0).toUpperCase()+name.slice(1):"deviceId"===name?"sourceId":name};if(void 0!==r.ideal){cc.optional=cc.optional||[];var oc={};"number"==typeof r.ideal?(oc[oldname("min",key)]=r.ideal,cc.optional.push(oc),oc={},oc[oldname("max",key)]=r.ideal,cc.optional.push(oc)):(oc[oldname("",key)]=r.ideal,cc.optional.push(oc))}void 0!==r.exact&&"number"!=typeof r.exact?(cc.mandatory=cc.mandatory||{},cc.mandatory[oldname("",key)]=r.exact):["min","max"].forEach(function(mix){void 0!==r[mix]&&(cc.mandatory=cc.mandatory||{},cc.mandatory[oldname(mix,key)]=r[mix])})}}),c.advanced&&(cc.optional=(cc.optional||[]).concat(c.advanced)),cc};if(getUserMedia=function(constraints,onSuccess,onError){return constraints.audio&&(constraints.audio=constraintsToChrome(constraints.audio)),constraints.video&&(constraints.video=constraintsToChrome(constraints.video)),webrtcUtils.log("chrome: "+JSON.stringify(constraints)),navigator.webkitGetUserMedia(constraints,onSuccess,onError)},navigator.getUserMedia=getUserMedia,navigator.mediaDevices||(navigator.mediaDevices={getUserMedia:requestUserMedia,enumerateDevices:function(){return new Promise(function(resolve){var kinds={audio:"audioinput",video:"videoinput"};return MediaStreamTrack.getSources(function(devices){resolve(devices.map(function(device){return{label:device.label,kind:kinds[device.kind],deviceId:device.id,groupId:""}}))})})}}),navigator.mediaDevices.getUserMedia){var origGetUserMedia=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(c){return webrtcUtils.log("spec: "+JSON.stringify(c)),c.audio=constraintsToChrome(c.audio),c.video=constraintsToChrome(c.video),webrtcUtils.log("chrome: "+JSON.stringify(c)),origGetUserMedia(c)}}else navigator.mediaDevices.getUserMedia=function(constraints){return requestUserMedia(constraints)};"undefined"==typeof navigator.mediaDevices.addEventListener&&(navigator.mediaDevices.addEventListener=function(){webrtcUtils.log("Dummy mediaDevices.addEventListener called.")}),"undefined"==typeof navigator.mediaDevices.removeEventListener&&(navigator.mediaDevices.removeEventListener=function(){webrtcUtils.log("Dummy mediaDevices.removeEventListener called.")}),attachMediaStream=function(element,stream){webrtcDetectedVersion>=43?element.srcObject=stream:"undefined"!=typeof element.src?element.src=URL.createObjectURL(stream):webrtcUtils.log("Error attaching stream to element.")},reattachMediaStream=function(to,from){webrtcDetectedVersion>=43?to.srcObject=from.srcObject:to.src=from.src}}else if(navigator.mediaDevices&&navigator.userAgent.match(/Edge\/(\d+).(\d+)$/)){if(webrtcUtils.log("This appears to be Edge"),webrtcDetectedBrowser="edge",webrtcDetectedVersion=webrtcUtils.extractVersion(navigator.userAgent,/Edge\/(\d+).(\d+)$/,2),webrtcMinimumVersion=10547,window.RTCIceGatherer){var generateIdentifier=function(){return Math.random().toString(36).substr(2,10)},localCName=generateIdentifier(),SDPUtils={};SDPUtils.splitLines=function(blob){return blob.trim().split("\n").map(function(line){return line.trim()})},SDPUtils.splitSections=function(blob){var parts=blob.split("\r\nm=");return parts.map(function(part,index){return(index>0?"m="+part:part).trim()+"\r\n"})},SDPUtils.matchPrefix=function(blob,prefix){return SDPUtils.splitLines(blob).filter(function(line){return 0===line.indexOf(prefix)})},SDPUtils.parseCandidate=function(line){var parts;parts=0===line.indexOf("a=candidate:")?line.substring(12).split(" "):line.substring(10).split(" ");for(var candidate={foundation:parts[0],component:parts[1],protocol:parts[2].toLowerCase(),priority:parseInt(parts[3],10),ip:parts[4],port:parseInt(parts[5],10),type:parts[7]},i=8;i<parts.length;i+=2)switch(parts[i]){case"raddr":candidate.relatedAddress=parts[i+1];break;case"rport":candidate.relatedPort=parseInt(parts[i+1],10);break;case"tcptype":candidate.tcpType=parts[i+1]}return candidate},SDPUtils.writeCandidate=function(candidate){var sdp=[];sdp.push(candidate.foundation),sdp.push(candidate.component),sdp.push(candidate.protocol.toUpperCase()),sdp.push(candidate.priority),sdp.push(candidate.ip),sdp.push(candidate.port);var type=candidate.type;return sdp.push("typ"),sdp.push(type),"host"!==type&&candidate.relatedAddress&&candidate.relatedPort&&(sdp.push("raddr"),sdp.push(candidate.relatedAddress),sdp.push("rport"),sdp.push(candidate.relatedPort)),candidate.tcpType&&"tcp"===candidate.protocol.toLowerCase()&&(sdp.push("tcptype"),sdp.push(candidate.tcpType)),"candidate:"+sdp.join(" ")},SDPUtils.parseRtpMap=function(line){var parts=line.substr(9).split(" "),parsed={payloadType:parseInt(parts.shift(),10)};return parts=parts[0].split("/"),parsed.name=parts[0],parsed.clockRate=parseInt(parts[1],10),parsed.numChannels=3===parts.length?parseInt(parts[2],10):1,parsed},SDPUtils.writeRtpMap=function(codec){var pt=codec.payloadType;return void 0!==codec.preferredPayloadType&&(pt=codec.preferredPayloadType),"a=rtpmap:"+pt+" "+codec.name+"/"+codec.clockRate+(1!==codec.numChannels?"/"+codec.numChannels:"")+"\r\n"},SDPUtils.parseFmtp=function(line){for(var kv,parsed={},parts=line.substr(line.indexOf(" ")+1).split(";"),j=0;j<parts.length;j++)kv=parts[j].trim().split("="),parsed[kv[0].trim()]=kv[1];return parsed},SDPUtils.writeFtmp=function(codec){var line="",pt=codec.payloadType;if(void 0!==codec.preferredPayloadType&&(pt=codec.preferredPayloadType),codec.parameters&&codec.parameters.length){var params=[];Object.keys(codec.parameters).forEach(function(param){params.push(param+"="+codec.parameters[param])}),line+="a=fmtp:"+pt+" "+params.join(";")+"\r\n"}return line},SDPUtils.parseRtcpFb=function(line){var parts=line.substr(line.indexOf(" ")+1).split(" ");return{type:parts.shift(),parameter:parts.join(" ")}},SDPUtils.writeRtcpFb=function(codec){var lines="",pt=codec.payloadType;return void 0!==codec.preferredPayloadType&&(pt=codec.preferredPayloadType),codec.rtcpFeedback&&codec.rtcpFeedback.length&&codec.rtcpFeedback.forEach(function(fb){lines+="a=rtcp-fb:"+pt+" "+fb.type+" "+fb.parameter+"\r\n"}),lines},SDPUtils.parseSsrcMedia=function(line){var sp=line.indexOf(" "),parts={ssrc:line.substr(7,sp-7)},colon=line.indexOf(":",sp);return colon>-1?(parts.attribute=line.substr(sp+1,colon-sp-1),parts.value=line.substr(colon+1)):parts.attribute=line.substr(sp+1),parts},SDPUtils.getDtlsParameters=function(mediaSection,sessionpart){var lines=SDPUtils.splitLines(mediaSection);lines=lines.concat(SDPUtils.splitLines(sessionpart));var fpLine=lines.filter(function(line){
-return 0===line.indexOf("a=fingerprint:")})[0].substr(14),dtlsParameters={role:"auto",fingerprints:[{algorithm:fpLine.split(" ")[0],value:fpLine.split(" ")[1]}]};return dtlsParameters},SDPUtils.writeDtlsParameters=function(params,setupType){var sdp="a=setup:"+setupType+"\r\n";return params.fingerprints.forEach(function(fp){sdp+="a=fingerprint:"+fp.algorithm+" "+fp.value+"\r\n"}),sdp},SDPUtils.getIceParameters=function(mediaSection,sessionpart){var lines=SDPUtils.splitLines(mediaSection);lines=lines.concat(SDPUtils.splitLines(sessionpart));var iceParameters={usernameFragment:lines.filter(function(line){return 0===line.indexOf("a=ice-ufrag:")})[0].substr(12),password:lines.filter(function(line){return 0===line.indexOf("a=ice-pwd:")})[0].substr(10)};return iceParameters},SDPUtils.writeIceParameters=function(params){return"a=ice-ufrag:"+params.usernameFragment+"\r\na=ice-pwd:"+params.password+"\r\n"},SDPUtils.parseRtpParameters=function(mediaSection){for(var description={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},lines=SDPUtils.splitLines(mediaSection),mline=lines[0].split(" "),i=3;i<mline.length;i++){var pt=mline[i],rtpmapline=SDPUtils.matchPrefix(mediaSection,"a=rtpmap:"+pt+" ")[0];if(rtpmapline){var codec=SDPUtils.parseRtpMap(rtpmapline),fmtps=SDPUtils.matchPrefix(mediaSection,"a=fmtp:"+pt+" ");codec.parameters=fmtps.length?SDPUtils.parseFmtp(fmtps[0]):{},codec.rtcpFeedback=SDPUtils.matchPrefix(mediaSection,"a=rtcp-fb:"+pt+" ").map(SDPUtils.parseRtcpFb),description.codecs.push(codec)}}return description},SDPUtils.writeRtpDescription=function(kind,caps){var sdp="";return sdp+="m="+kind+" ",sdp+=caps.codecs.length>0?"9":"0",sdp+=" UDP/TLS/RTP/SAVPF ",sdp+=caps.codecs.map(function(codec){return void 0!==codec.preferredPayloadType?codec.preferredPayloadType:codec.payloadType}).join(" ")+"\r\n",sdp+="c=IN IP4 0.0.0.0\r\n",sdp+="a=rtcp:9 IN IP4 0.0.0.0\r\n",caps.codecs.forEach(function(codec){sdp+=SDPUtils.writeRtpMap(codec),sdp+=SDPUtils.writeFtmp(codec),sdp+=SDPUtils.writeRtcpFb(codec)}),sdp+="a=rtcp-mux\r\n"},SDPUtils.writeSessionBoilerplate=function(){return"v=0\r\no=thisisadapterortc 8169639915646943137 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},SDPUtils.writeMediaSection=function(transceiver,caps,type,stream){var sdp=SDPUtils.writeRtpDescription(transceiver.kind,caps);if(sdp+=SDPUtils.writeIceParameters(transceiver.iceGatherer.getLocalParameters()),sdp+=SDPUtils.writeDtlsParameters(transceiver.dtlsTransport.getLocalParameters(),"offer"===type?"actpass":"active"),sdp+="a=mid:"+transceiver.mid+"\r\n",sdp+=transceiver.rtpSender&&transceiver.rtpReceiver?"a=sendrecv\r\n":transceiver.rtpSender?"a=sendonly\r\n":transceiver.rtpReceiver?"a=recvonly\r\n":"a=inactive\r\n",transceiver.rtpSender){var msid="msid:"+stream.id+" "+transceiver.rtpSender.track.id+"\r\n";sdp+="a="+msid,sdp+="a=ssrc:"+transceiver.sendSsrc+" "+msid}return sdp+="a=ssrc:"+transceiver.sendSsrc+" cname:"+localCName+"\r\n"},SDPUtils.getDirection=function(mediaSection,sessionpart){for(var lines=SDPUtils.splitLines(mediaSection),i=0;i<lines.length;i++)switch(lines[i]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return lines[i].substr(2)}return sessionpart?SDPUtils.getDirection(sessionpart):"sendrecv"},window.RTCIceCandidate||(window.RTCIceCandidate=function(args){return args}),window.RTCSessionDescription||(window.RTCSessionDescription=function(args){return args}),window.RTCPeerConnection=function(config){var self=this;if(this.onicecandidate=null,this.onaddstream=null,this.onremovestream=null,this.onsignalingstatechange=null,this.oniceconnectionstatechange=null,this.onnegotiationneeded=null,this.ondatachannel=null,this.localStreams=[],this.remoteStreams=[],this.getLocalStreams=function(){return self.localStreams},this.getRemoteStreams=function(){return self.remoteStreams},this.localDescription=new RTCSessionDescription({type:"",sdp:""}),this.remoteDescription=new RTCSessionDescription({type:"",sdp:""}),this.signalingState="stable",this.iceConnectionState="new",this.iceOptions={gatherPolicy:"all",iceServers:[]},config&&config.iceTransportPolicy)switch(config.iceTransportPolicy){case"all":case"relay":this.iceOptions.gatherPolicy=config.iceTransportPolicy;break;case"none":throw new TypeError('iceTransportPolicy "none" not supported')}config&&config.iceServers&&config.iceServers.forEach(function(server){if(server.urls){var url;url="string"==typeof server.urls?server.urls:server.urls[0],url.indexOf("transport=udp")!==-1&&self.iceServers.push({username:server.username,credential:server.credential,urls:url})}}),this.transceivers=[],this._localIceCandidatesBuffer=[]},window.RTCPeerConnection.prototype._emitBufferedCandidates=function(){var self=this;this._localIceCandidatesBuffer.forEach(function(event){null!==self.onicecandidate&&self.onicecandidate(event)}),this._localIceCandidatesBuffer=[]},window.RTCPeerConnection.prototype.addStream=function(stream){this.localStreams.push(stream.clone()),this._maybeFireNegotiationNeeded()},window.RTCPeerConnection.prototype.removeStream=function(stream){var idx=this.localStreams.indexOf(stream);idx>-1&&(this.localStreams.splice(idx,1),this._maybeFireNegotiationNeeded())},window.RTCPeerConnection.prototype._getCommonCapabilities=function(localCapabilities,remoteCapabilities){var commonCapabilities={codecs:[],headerExtensions:[],fecMechanisms:[]};return localCapabilities.codecs.forEach(function(lCodec){for(var i=0;i<remoteCapabilities.codecs.length;i++){var rCodec=remoteCapabilities.codecs[i];if(lCodec.name.toLowerCase()===rCodec.name.toLowerCase()&&lCodec.clockRate===rCodec.clockRate&&lCodec.numChannels===rCodec.numChannels){commonCapabilities.codecs.push(rCodec);break}}}),localCapabilities.headerExtensions.forEach(function(lHeaderExtension){for(var i=0;i<remoteCapabilities.headerExtensions.length;i++){var rHeaderExtension=remoteCapabilities.headerExtensions[i];if(lHeaderExtension.uri===rHeaderExtension.uri){commonCapabilities.headerExtensions.push(rHeaderExtension);break}}}),commonCapabilities},window.RTCPeerConnection.prototype._createIceAndDtlsTransports=function(mid,sdpMLineIndex){var self=this,iceGatherer=new RTCIceGatherer(self.iceOptions),iceTransport=new RTCIceTransport(iceGatherer);iceGatherer.onlocalcandidate=function(evt){var event={};event.candidate={sdpMid:mid,sdpMLineIndex:sdpMLineIndex};var cand=evt.candidate;cand&&0!==Object.keys(cand).length?(cand.component="RTCP"===iceTransport.component?2:1,event.candidate.candidate=SDPUtils.writeCandidate(cand)):(void 0===iceGatherer.state&&(iceGatherer.state="completed"),event.candidate.candidate="candidate:1 1 udp 1 0.0.0.0 9 typ endOfCandidates");var complete=self.transceivers.every(function(transceiver){return transceiver.iceGatherer&&"completed"===transceiver.iceGatherer.state});null!==self.onicecandidate&&(self.localDescription&&""===self.localDescription.type?(self._localIceCandidatesBuffer.push(event),complete&&self._localIceCandidatesBuffer.push({})):(self.onicecandidate(event),complete&&self.onicecandidate({})))},iceTransport.onicestatechange=function(){self._updateConnectionState()};var dtlsTransport=new RTCDtlsTransport(iceTransport);return dtlsTransport.ondtlsstatechange=function(){self._updateConnectionState()},dtlsTransport.onerror=function(){dtlsTransport.state="failed",self._updateConnectionState()},{iceGatherer:iceGatherer,iceTransport:iceTransport,dtlsTransport:dtlsTransport}},window.RTCPeerConnection.prototype._transceive=function(transceiver,send,recv){var params=this._getCommonCapabilities(transceiver.localCapabilities,transceiver.remoteCapabilities);send&&transceiver.rtpSender&&(params.encodings=[{ssrc:transceiver.sendSsrc}],params.rtcp={cname:localCName,ssrc:transceiver.recvSsrc},transceiver.rtpSender.send(params)),recv&&transceiver.rtpReceiver&&(params.encodings=[{ssrc:transceiver.recvSsrc}],params.rtcp={cname:transceiver.cname,ssrc:transceiver.sendSsrc},transceiver.rtpReceiver.receive(params))},window.RTCPeerConnection.prototype.setLocalDescription=function(description){var self=this;if("offer"===description.type)this._pendingOffer&&(this.transceivers=this._pendingOffer,delete this._pendingOffer);else if("answer"===description.type){var sections=SDPUtils.splitSections(self.remoteDescription.sdp),sessionpart=sections.shift();sections.forEach(function(mediaSection,sdpMLineIndex){var transceiver=self.transceivers[sdpMLineIndex],iceGatherer=transceiver.iceGatherer,iceTransport=transceiver.iceTransport,dtlsTransport=transceiver.dtlsTransport,localCapabilities=transceiver.localCapabilities,remoteCapabilities=transceiver.remoteCapabilities,rejected="0"===mediaSection.split("\n",1)[0].split(" ",2)[1];if(!rejected){var remoteIceParameters=SDPUtils.getIceParameters(mediaSection,sessionpart);iceTransport.start(iceGatherer,remoteIceParameters,"controlled");var remoteDtlsParameters=SDPUtils.getDtlsParameters(mediaSection,sessionpart);dtlsTransport.start(remoteDtlsParameters);var params=self._getCommonCapabilities(localCapabilities,remoteCapabilities);self._transceive(transceiver,params.codecs.length>0,!1)}})}switch(this.localDescription=description,description.type){case"offer":this._updateSignalingState("have-local-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+description.type+'"')}var hasCallback=arguments.length>1&&"function"==typeof arguments[1];if(hasCallback){var cb=arguments[1];window.setTimeout(function(){cb(),self._emitBufferedCandidates()},0)}var p=Promise.resolve();return p.then(function(){hasCallback||window.setTimeout(self._emitBufferedCandidates.bind(self),0)}),p},window.RTCPeerConnection.prototype.setRemoteDescription=function(description){var self=this,stream=new MediaStream,sections=SDPUtils.splitSections(description.sdp),sessionpart=sections.shift();switch(sections.forEach(function(mediaSection,sdpMLineIndex){var transceiver,iceGatherer,iceTransport,dtlsTransport,rtpSender,rtpReceiver,sendSsrc,recvSsrc,localCapabilities,remoteIceParameters,remoteDtlsParameters,lines=SDPUtils.splitLines(mediaSection),mline=lines[0].substr(2).split(" "),kind=mline[0],rejected="0"===mline[1],direction=SDPUtils.getDirection(mediaSection,sessionpart),remoteCapabilities=SDPUtils.parseRtpParameters(mediaSection);rejected||(remoteIceParameters=SDPUtils.getIceParameters(mediaSection,sessionpart),remoteDtlsParameters=SDPUtils.getDtlsParameters(mediaSection,sessionpart));var cname,mid=SDPUtils.matchPrefix(mediaSection,"a=mid:")[0].substr(6),remoteSsrc=SDPUtils.matchPrefix(mediaSection,"a=ssrc:").map(function(line){return SDPUtils.parseSsrcMedia(line)}).filter(function(obj){return"cname"===obj.attribute})[0];if(remoteSsrc&&(recvSsrc=parseInt(remoteSsrc.ssrc,10),cname=remoteSsrc.value),"offer"===description.type){var transports=self._createIceAndDtlsTransports(mid,sdpMLineIndex);if(localCapabilities=RTCRtpReceiver.getCapabilities(kind),sendSsrc=1001*(2*sdpMLineIndex+2),rtpReceiver=new RTCRtpReceiver(transports.dtlsTransport,kind),stream.addTrack(rtpReceiver.track),self.localStreams.length>0&&self.localStreams[0].getTracks().length>=sdpMLineIndex){var localtrack=self.localStreams[0].getTracks()[sdpMLineIndex];rtpSender=new RTCRtpSender(localtrack,transports.dtlsTransport)}self.transceivers[sdpMLineIndex]={iceGatherer:transports.iceGatherer,iceTransport:transports.iceTransport,dtlsTransport:transports.dtlsTransport,localCapabilities:localCapabilities,remoteCapabilities:remoteCapabilities,rtpSender:rtpSender,rtpReceiver:rtpReceiver,kind:kind,mid:mid,cname:cname,sendSsrc:sendSsrc,recvSsrc:recvSsrc},self._transceive(self.transceivers[sdpMLineIndex],!1,"sendrecv"===direction||"sendonly"===direction)}else"answer"!==description.type||rejected||(transceiver=self.transceivers[sdpMLineIndex],iceGatherer=transceiver.iceGatherer,iceTransport=transceiver.iceTransport,dtlsTransport=transceiver.dtlsTransport,rtpSender=transceiver.rtpSender,rtpReceiver=transceiver.rtpReceiver,sendSsrc=transceiver.sendSsrc,localCapabilities=transceiver.localCapabilities,self.transceivers[sdpMLineIndex].recvSsrc=recvSsrc,self.transceivers[sdpMLineIndex].remoteCapabilities=remoteCapabilities,self.transceivers[sdpMLineIndex].cname=cname,iceTransport.start(iceGatherer,remoteIceParameters,"controlling"),dtlsTransport.start(remoteDtlsParameters),self._transceive(transceiver,"sendrecv"===direction||"recvonly"===direction,"sendrecv"===direction||"sendonly"===direction),!rtpReceiver||"sendrecv"!==direction&&"sendonly"!==direction?delete transceiver.rtpReceiver:stream.addTrack(rtpReceiver.track))}),this.remoteDescription=description,description.type){case"offer":this._updateSignalingState("have-remote-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+description.type+'"')}return window.setTimeout(function(){null!==self.onaddstream&&stream.getTracks().length&&(self.remoteStreams.push(stream),window.setTimeout(function(){self.onaddstream({stream:stream})},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(transceiver){transceiver.iceTransport&&transceiver.iceTransport.stop(),transceiver.dtlsTransport&&transceiver.dtlsTransport.stop(),transceiver.rtpSender&&transceiver.rtpSender.stop(),transceiver.rtpReceiver&&transceiver.rtpReceiver.stop()}),this._updateSignalingState("closed")},window.RTCPeerConnection.prototype._updateSignalingState=function(newState){this.signalingState=newState,null!==this.onsignalingstatechange&&this.onsignalingstatechange()},window.RTCPeerConnection.prototype._maybeFireNegotiationNeeded=function(){null!==this.onnegotiationneeded&&this.onnegotiationneeded()},window.RTCPeerConnection.prototype._updateConnectionState=function(){var newState,self=this,states={new:0,closed:0,connecting:0,checking:0,connected:0,completed:0,failed:0};this.transceivers.forEach(function(transceiver){states[transceiver.iceTransport.state]++,states[transceiver.dtlsTransport.state]++}),states.connected+=states.completed,newState="new",states.failed>0?newState="failed":states.connecting>0||states.checking>0?newState="connecting":states.disconnected>0?newState="disconnected":states.new>0?newState="new":(states.connecting>0||states.completed>0)&&(newState="connected"),newState!==self.iceConnectionState&&(self.iceConnectionState=newState,null!==this.oniceconnectionstatechange&&this.oniceconnectionstatechange())},window.RTCPeerConnection.prototype.createOffer=function(){var self=this;if(this._pendingOffer)throw new Error("createOffer called while there is a pending offer.");var offerOptions;1===arguments.length&&"function"!=typeof arguments[0]?offerOptions=arguments[0]:3===arguments.length&&(offerOptions=arguments[2]);var tracks=[],numAudioTracks=0,numVideoTracks=0;if(this.localStreams.length&&(numAudioTracks=this.localStreams[0].getAudioTracks().length,numVideoTracks=this.localStreams[0].getVideoTracks().length),offerOptions){if(offerOptions.mandatory||offerOptions.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");void 0!==offerOptions.offerToReceiveAudio&&(numAudioTracks=offerOptions.offerToReceiveAudio),void 0!==offerOptions.offerToReceiveVideo&&(numVideoTracks=offerOptions.offerToReceiveVideo)}for(this.localStreams.length&&this.localStreams[0].getTracks().forEach(function(track){tracks.push({kind:track.kind,track:track,wantReceive:"audio"===track.kind?numAudioTracks>0:numVideoTracks>0}),"audio"===track.kind?numAudioTracks--:"video"===track.kind&&numVideoTracks--});numAudioTracks>0||numVideoTracks>0;)numAudioTracks>0&&(tracks.push({kind:"audio",wantReceive:!0}),numAudioTracks--),numVideoTracks>0&&(tracks.push({kind:"video",wantReceive:!0}),numVideoTracks--);var sdp=SDPUtils.writeSessionBoilerplate(),transceivers=[];tracks.forEach(function(mline,sdpMLineIndex){var rtpSender,rtpReceiver,track=mline.track,kind=mline.kind,mid=generateIdentifier(),transports=self._createIceAndDtlsTransports(mid,sdpMLineIndex),localCapabilities=RTCRtpSender.getCapabilities(kind),sendSsrc=1001*(2*sdpMLineIndex+1);track&&(rtpSender=new RTCRtpSender(track,transports.dtlsTransport)),mline.wantReceive&&(rtpReceiver=new RTCRtpReceiver(transports.dtlsTransport,kind)),transceivers[sdpMLineIndex]={iceGatherer:transports.iceGatherer,iceTransport:transports.iceTransport,dtlsTransport:transports.dtlsTransport,localCapabilities:localCapabilities,remoteCapabilities:null,rtpSender:rtpSender,rtpReceiver:rtpReceiver,kind:kind,mid:mid,sendSsrc:sendSsrc,recvSsrc:null};var transceiver=transceivers[sdpMLineIndex];sdp+=SDPUtils.writeMediaSection(transceiver,transceiver.localCapabilities,"offer",self.localStreams[0])}),this._pendingOffer=transceivers;var desc=new RTCSessionDescription({type:"offer",sdp:sdp});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,desc),Promise.resolve(desc)},window.RTCPeerConnection.prototype.createAnswer=function(){var answerOptions,self=this;1===arguments.length&&"function"!=typeof arguments[0]?answerOptions=arguments[0]:3===arguments.length&&(answerOptions=arguments[2]);var sdp=SDPUtils.writeSessionBoilerplate();this.transceivers.forEach(function(transceiver){var commonCapabilities=self._getCommonCapabilities(transceiver.localCapabilities,transceiver.remoteCapabilities);sdp+=SDPUtils.writeMediaSection(transceiver,commonCapabilities,"answer",self.localStreams[0])});var desc=new RTCSessionDescription({type:"answer",sdp:sdp});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,desc),Promise.resolve(desc)},window.RTCPeerConnection.prototype.addIceCandidate=function(candidate){var mLineIndex=candidate.sdpMLineIndex;if(candidate.sdpMid)for(var i=0;i<this.transceivers.length;i++)if(this.transceivers[i].mid===candidate.sdpMid){mLineIndex=i;break}var transceiver=this.transceivers[mLineIndex];if(transceiver){var cand=Object.keys(candidate.candidate).length>0?SDPUtils.parseCandidate(candidate.candidate):{};if("tcp"===cand.protocol&&0===cand.port)return;if("1"!==cand.component)return;"endOfCandidates"===cand.type&&(cand={}),transceiver.iceTransport.addRemoteCandidate(cand)}return arguments.length>1&&"function"==typeof arguments[1]&&window.setTimeout(arguments[1],0),Promise.resolve()},window.RTCPeerConnection.prototype.getStats=function(){var promises=[];this.transceivers.forEach(function(transceiver){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(method){transceiver[method]&&promises.push(transceiver[method].getStats())})});var cb=arguments.length>1&&"function"==typeof arguments[1]&&arguments[1];return new Promise(function(resolve){var results={};Promise.all(promises).then(function(res){res.forEach(function(result){Object.keys(result).forEach(function(id){results[id]=result[id]})}),cb&&window.setTimeout(cb,0,results),resolve(results)})})}}}else webrtcUtils.log("Browser does not appear to be WebRTC-capable");else webrtcUtils.log("This does not appear to be a browser"),webrtcDetectedBrowser="not a browser";"object"!=typeof window||!window.RTCPeerConnection||"ontrack"in window.RTCPeerConnection.prototype||Object.defineProperty(window.RTCPeerConnection.prototype,"ontrack",{get:function(){return this._ontrack},set:function(f){var self=this;this._ontrack&&(this.removeEventListener("track",this._ontrack),this.removeEventListener("addstream",this._ontrackpoly)),this.addEventListener("track",this._ontrack=f),this.addEventListener("addstream",this._ontrackpoly=function(e){"chrome"===webrtcDetectedBrowser&&e.stream.addEventListener("addtrack",function(te){var event=new Event("track");event.track=te.track,event.receiver={track:te.track},event.streams=[e.stream],self.dispatchEvent(event)}),e.stream.getTracks().forEach(function(track){var event=new Event("track");event.track=track,event.receiver={track:track},event.streams=[e.stream],this.dispatchEvent(event)}.bind(this))}.bind(this))}});var webrtcTesting={};try{Object.defineProperty(webrtcTesting,"version",{set:function(version){webrtcDetectedVersion=version}})}catch(e){}if("undefined"!=typeof module){var RTCPeerConnection,RTCIceCandidate,RTCSessionDescription;"undefined"!=typeof window&&(RTCPeerConnection=window.RTCPeerConnection,RTCIceCandidate=window.RTCIceCandidate,RTCSessionDescription=window.RTCSessionDescription),module.exports={RTCPeerConnection:RTCPeerConnection,RTCIceCandidate:RTCIceCandidate,RTCSessionDescription:RTCSessionDescription,getUserMedia:getUserMedia,attachMediaStream:attachMediaStream,reattachMediaStream:reattachMediaStream,webrtcDetectedBrowser:webrtcDetectedBrowser,webrtcDetectedVersion:webrtcDetectedVersion,webrtcMinimumVersion:webrtcMinimumVersion,webrtcTesting:webrtcTesting,webrtcUtils:webrtcUtils}}else"function"==typeof require&&"function"==typeof define&&define([],function(){return{RTCPeerConnection:window.RTCPeerConnection,RTCIceCandidate:window.RTCIceCandidate,RTCSessionDescription:window.RTCSessionDescription,getUserMedia:getUserMedia,attachMediaStream:attachMediaStream,reattachMediaStream:reattachMediaStream,webrtcDetectedBrowser:webrtcDetectedBrowser,webrtcDetectedVersion:webrtcDetectedVersion,webrtcMinimumVersion:webrtcMinimumVersion,webrtcTesting:webrtcTesting,webrtcUtils:webrtcUtils}})},{}],201:[function(require,module,exports){arguments[4][33][0].apply(exports,arguments)},{"./chrome/chrome_shim":202,"./edge/edge_shim":204,"./firefox/firefox_shim":206,"./safari/safari_shim":208,"./utils":209,dup:33}],202:[function(require,module,exports){"use strict";var logging=require("../utils.js").log,browserDetails=require("../utils.js").browserDetails,chromeShim={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(f){var self=this;this._ontrack&&(this.removeEventListener("track",this._ontrack),this.removeEventListener("addstream",this._ontrackpoly)),this.addEventListener("track",this._ontrack=f),this.addEventListener("addstream",this._ontrackpoly=function(e){e.stream.addEventListener("addtrack",function(te){var event=new Event("track");event.track=te.track,event.receiver={track:te.track},event.streams=[e.stream],self.dispatchEvent(event)}),e.stream.getTracks().forEach(function(track){var event=new Event("track");event.track=track,event.receiver={track:track},event.streams=[e.stream],this.dispatchEvent(event)}.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(stream){var self=this;return this._srcObject=stream,this.src&&URL.revokeObjectURL(this.src),stream?(this.src=URL.createObjectURL(stream),stream.addEventListener("addtrack",function(){self.src&&URL.revokeObjectURL(self.src),self.src=URL.createObjectURL(stream)}),void stream.addEventListener("removetrack",function(){self.src&&URL.revokeObjectURL(self.src),self.src=URL.createObjectURL(stream)})):void(this.src="")}}))},shimPeerConnection:function(){window.RTCPeerConnection=function(pcConfig,pcConstraints){logging("PeerConnection"),pcConfig&&pcConfig.iceTransportPolicy&&(pcConfig.iceTransports=pcConfig.iceTransportPolicy);var pc=new webkitRTCPeerConnection(pcConfig,pcConstraints),origGetStats=pc.getStats.bind(pc);return pc.getStats=function(selector,successCallback,errorCallback){var self=this,args=arguments;if(arguments.length>0&&"function"==typeof selector)return origGetStats(selector,successCallback);var fixChromeStats_=function(response){var standardReport={},reports=response.result();return reports.forEach(function(report){var standardStats={id:report.id,timestamp:report.timestamp,type:report.type};report.names().forEach(function(name){standardStats[name]=report.stat(name)}),standardReport[standardStats.id]=standardStats}),standardReport},makeMapStats=function(stats,legacyStats){var map=new Map(Object.keys(stats).map(function(key){return[key,stats[key]]}));return legacyStats=legacyStats||stats,Object.keys(legacyStats).forEach(function(key){map[key]=legacyStats[key]}),map};if(arguments.length>=2){var successCallbackWrapper_=function(response){args[1](makeMapStats(fixChromeStats_(response)))};return origGetStats.apply(this,[successCallbackWrapper_,arguments[0]])}return new Promise(function(resolve,reject){1===args.length&&"object"==typeof selector?origGetStats.apply(self,[function(response){resolve(makeMapStats(fixChromeStats_(response)))},reject]):origGetStats.apply(self,[function(response){resolve(makeMapStats(fixChromeStats_(response),response.result()))},reject])}).then(successCallback,errorCallback)},pc},window.RTCPeerConnection.prototype=webkitRTCPeerConnection.prototype,webkitRTCPeerConnection.generateCertificate&&Object.defineProperty(window.RTCPeerConnection,"generateCertificate",{get:function(){return webkitRTCPeerConnection.generateCertificate}}),["createOffer","createAnswer"].forEach(function(method){var nativeMethod=webkitRTCPeerConnection.prototype[method];webkitRTCPeerConnection.prototype[method]=function(){var self=this;if(arguments.length<1||1===arguments.length&&"object"==typeof arguments[0]){var opts=1===arguments.length?arguments[0]:void 0;return new Promise(function(resolve,reject){nativeMethod.apply(self,[resolve,reject,opts])})}return nativeMethod.apply(this,arguments)}}),browserDetails.version<51&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(method){var nativeMethod=webkitRTCPeerConnection.prototype[method];webkitRTCPeerConnection.prototype[method]=function(){var args=arguments,self=this,promise=new Promise(function(resolve,reject){nativeMethod.apply(self,[args[0],resolve,reject])});return args.length<2?promise:promise.then(function(){args[1].apply(null,[])},function(err){args.length>=3&&args[2].apply(null,[err])})}}),["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(method){var nativeMethod=webkitRTCPeerConnection.prototype[method];webkitRTCPeerConnection.prototype[method]=function(){return arguments[0]=new("addIceCandidate"===method?RTCIceCandidate:RTCSessionDescription)(arguments[0]),nativeMethod.apply(this,arguments)}});var nativeAddIceCandidate=RTCPeerConnection.prototype.addIceCandidate;RTCPeerConnection.prototype.addIceCandidate=function(){return null===arguments[0]?(arguments[1]&&arguments[1].apply(null),Promise.resolve()):nativeAddIceCandidate.apply(this,arguments)}}};module.exports={shimMediaStream:chromeShim.shimMediaStream,shimOnTrack:chromeShim.shimOnTrack,shimSourceObject:chromeShim.shimSourceObject,shimPeerConnection:chromeShim.shimPeerConnection,shimGetUserMedia:require("./getusermedia")}},{"../utils.js":209,"./getusermedia":203}],203:[function(require,module,exports){"use strict";var logging=require("../utils.js").log;module.exports=function(){var constraintsToChrome_=function(c){if("object"!=typeof c||c.mandatory||c.optional)return c;var cc={};return Object.keys(c).forEach(function(key){if("require"!==key&&"advanced"!==key&&"mediaSource"!==key){var r="object"==typeof c[key]?c[key]:{ideal:c[key]};void 0!==r.exact&&"number"==typeof r.exact&&(r.min=r.max=r.exact);var oldname_=function(prefix,name){return prefix?prefix+name.charAt(0).toUpperCase()+name.slice(1):"deviceId"===name?"sourceId":name};if(void 0!==r.ideal){cc.optional=cc.optional||[];var oc={};"number"==typeof r.ideal?(oc[oldname_("min",key)]=r.ideal,cc.optional.push(oc),oc={},oc[oldname_("max",key)]=r.ideal,cc.optional.push(oc)):(oc[oldname_("",key)]=r.ideal,cc.optional.push(oc))}void 0!==r.exact&&"number"!=typeof r.exact?(cc.mandatory=cc.mandatory||{},cc.mandatory[oldname_("",key)]=r.exact):["min","max"].forEach(function(mix){void 0!==r[mix]&&(cc.mandatory=cc.mandatory||{},cc.mandatory[oldname_(mix,key)]=r[mix])})}}),c.advanced&&(cc.optional=(cc.optional||[]).concat(c.advanced)),cc},shimConstraints_=function(constraints,func){if(constraints=JSON.parse(JSON.stringify(constraints)),constraints&&constraints.audio&&(constraints.audio=constraintsToChrome_(constraints.audio)),constraints&&"object"==typeof constraints.video){var face=constraints.video.facingMode;if(face=face&&("object"==typeof face?face:{ideal:face}),face&&("user"===face.exact||"environment"===face.exact||"user"===face.ideal||"environment"===face.ideal)&&(!navigator.mediaDevices.getSupportedConstraints||!navigator.mediaDevices.getSupportedConstraints().facingMode)&&(delete constraints.video.facingMode,"environment"===face.exact||"environment"===face.ideal))return navigator.mediaDevices.enumerateDevices().then(function(devices){devices=devices.filter(function(d){return"videoinput"===d.kind});var back=devices.find(function(d){return d.label.toLowerCase().indexOf("back")!==-1})||devices.length&&devices[devices.length-1];return back&&(constraints.video.deviceId=face.exact?{exact:back.deviceId}:{ideal:back.deviceId}),constraints.video=constraintsToChrome_(constraints.video),logging("chrome: "+JSON.stringify(constraints)),func(constraints)});constraints.video=constraintsToChrome_(constraints.video)}return logging("chrome: "+JSON.stringify(constraints)),func(constraints)},shimError_=function(e){return{name:{PermissionDeniedError:"NotAllowedError",ConstraintNotSatisfiedError:"OverconstrainedError"}[e.name]||e.name,message:e.message,constraint:e.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}},getUserMedia_=function(constraints,onSuccess,onError){shimConstraints_(constraints,function(c){navigator.webkitGetUserMedia(c,onSuccess,function(e){onError(shimError_(e))})})};navigator.getUserMedia=getUserMedia_;var getUserMediaPromise_=function(constraints){return new Promise(function(resolve,reject){navigator.getUserMedia(constraints,resolve,reject)})};if(navigator.mediaDevices||(navigator.mediaDevices={getUserMedia:getUserMediaPromise_,enumerateDevices:function(){return new Promise(function(resolve){var kinds={audio:"audioinput",video:"videoinput"};return MediaStreamTrack.getSources(function(devices){resolve(devices.map(function(device){return{label:device.label,kind:kinds[device.kind],deviceId:device.id,groupId:""}}))})})}}),navigator.mediaDevices.getUserMedia){var origGetUserMedia=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(cs){return shimConstraints_(cs,function(c){return origGetUserMedia(c).then(function(stream){if(c.audio&&!stream.getAudioTracks().length||c.video&&!stream.getVideoTracks().length)throw stream.getTracks().forEach(function(track){track.stop()}),new DOMException("","NotFoundError");return stream},function(e){return Promise.reject(shimError_(e))})})}}else navigator.mediaDevices.getUserMedia=function(constraints){return getUserMediaPromise_(constraints)};"undefined"==typeof navigator.mediaDevices.addEventListener&&(navigator.mediaDevices.addEventListener=function(){logging("Dummy mediaDevices.addEventListener called.")}),"undefined"==typeof navigator.mediaDevices.removeEventListener&&(navigator.mediaDevices.removeEventListener=function(){logging("Dummy mediaDevices.removeEventListener called.")})}},{"../utils.js":209}],204:[function(require,module,exports){"use strict";var SDPUtils=require("sdp"),browserDetails=require("../utils").browserDetails,edgeShim={shimPeerConnection:function(){window.RTCIceGatherer&&(window.RTCIceCandidate||(window.RTCIceCandidate=function(args){return args}),window.RTCSessionDescription||(window.RTCSessionDescription=function(args){return args})),window.RTCPeerConnection=function(config){var self=this,_eventTarget=document.createDocumentFragment();if(["addEventListener","removeEventListener","dispatchEvent"].forEach(function(method){self[method]=_eventTarget[method].bind(_eventTarget);
-}),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 self.localStreams},this.getRemoteStreams=function(){return self.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:[]},config&&config.iceTransportPolicy)switch(config.iceTransportPolicy){case"all":case"relay":this.iceOptions.gatherPolicy=config.iceTransportPolicy;break;case"none":throw new TypeError('iceTransportPolicy "none" not supported')}if(this.usingBundle=config&&"max-bundle"===config.bundlePolicy,config&&config.iceServers){var iceServers=JSON.parse(JSON.stringify(config.iceServers));this.iceOptions.iceServers=iceServers.filter(function(server){if(server&&server.urls){var urls=server.urls;return"string"==typeof urls&&(urls=[urls]),urls=urls.filter(function(url){return 0===url.indexOf("turn:")&&url.indexOf("transport=udp")!==-1&&url.indexOf("turn:[")===-1||0===url.indexOf("stun:")&&browserDetails.version>=14393})[0],!!urls}return!1})}this._config=config,this.transceivers=[],this._localIceCandidatesBuffer=[]},window.RTCPeerConnection.prototype._emitBufferedCandidates=function(){var self=this,sections=SDPUtils.splitSections(self.localDescription.sdp);this._localIceCandidatesBuffer.forEach(function(event){var end=!event.candidate||0===Object.keys(event.candidate).length;if(end)for(var j=1;j<sections.length;j++)sections[j].indexOf("\r\na=end-of-candidates\r\n")===-1&&(sections[j]+="a=end-of-candidates\r\n");else event.candidate.candidate.indexOf("typ endOfCandidates")===-1&&(sections[event.candidate.sdpMLineIndex+1]+="a="+event.candidate.candidate+"\r\n");if(self.localDescription.sdp=sections.join(""),self.dispatchEvent(event),null!==self.onicecandidate&&self.onicecandidate(event),!event.candidate&&"complete"!==self.iceGatheringState){var complete=self.transceivers.every(function(transceiver){return transceiver.iceGatherer&&"completed"===transceiver.iceGatherer.state});complete&&(self.iceGatheringState="complete")}}),this._localIceCandidatesBuffer=[]},window.RTCPeerConnection.prototype.getConfiguration=function(){return this._config},window.RTCPeerConnection.prototype.addStream=function(stream){this.localStreams.push(stream.clone()),this._maybeFireNegotiationNeeded()},window.RTCPeerConnection.prototype.removeStream=function(stream){var idx=this.localStreams.indexOf(stream);idx>-1&&(this.localStreams.splice(idx,1),this._maybeFireNegotiationNeeded())},window.RTCPeerConnection.prototype.getSenders=function(){return this.transceivers.filter(function(transceiver){return!!transceiver.rtpSender}).map(function(transceiver){return transceiver.rtpSender})},window.RTCPeerConnection.prototype.getReceivers=function(){return this.transceivers.filter(function(transceiver){return!!transceiver.rtpReceiver}).map(function(transceiver){return transceiver.rtpReceiver})},window.RTCPeerConnection.prototype._getCommonCapabilities=function(localCapabilities,remoteCapabilities){var commonCapabilities={codecs:[],headerExtensions:[],fecMechanisms:[]};return localCapabilities.codecs.forEach(function(lCodec){for(var i=0;i<remoteCapabilities.codecs.length;i++){var rCodec=remoteCapabilities.codecs[i];if(lCodec.name.toLowerCase()===rCodec.name.toLowerCase()&&lCodec.clockRate===rCodec.clockRate){rCodec.numChannels=Math.min(lCodec.numChannels,rCodec.numChannels),commonCapabilities.codecs.push(rCodec),rCodec.rtcpFeedback=rCodec.rtcpFeedback.filter(function(fb){for(var j=0;j<lCodec.rtcpFeedback.length;j++)if(lCodec.rtcpFeedback[j].type===fb.type&&lCodec.rtcpFeedback[j].parameter===fb.parameter)return!0;return!1});break}}}),localCapabilities.headerExtensions.forEach(function(lHeaderExtension){for(var i=0;i<remoteCapabilities.headerExtensions.length;i++){var rHeaderExtension=remoteCapabilities.headerExtensions[i];if(lHeaderExtension.uri===rHeaderExtension.uri){commonCapabilities.headerExtensions.push(rHeaderExtension);break}}}),commonCapabilities},window.RTCPeerConnection.prototype._createIceAndDtlsTransports=function(mid,sdpMLineIndex){var self=this,iceGatherer=new RTCIceGatherer(self.iceOptions),iceTransport=new RTCIceTransport(iceGatherer);iceGatherer.onlocalcandidate=function(evt){var event=new Event("icecandidate");event.candidate={sdpMid:mid,sdpMLineIndex:sdpMLineIndex};var cand=evt.candidate,end=!cand||0===Object.keys(cand).length;end?(void 0===iceGatherer.state&&(iceGatherer.state="completed"),event.candidate.candidate="candidate:1 1 udp 1 0.0.0.0 9 typ endOfCandidates"):(cand.component="RTCP"===iceTransport.component?2:1,event.candidate.candidate=SDPUtils.writeCandidate(cand));var sections=SDPUtils.splitSections(self.localDescription.sdp);event.candidate.candidate.indexOf("typ endOfCandidates")===-1?sections[event.candidate.sdpMLineIndex+1]+="a="+event.candidate.candidate+"\r\n":sections[event.candidate.sdpMLineIndex+1]+="a=end-of-candidates\r\n",self.localDescription.sdp=sections.join("");var complete=self.transceivers.every(function(transceiver){return transceiver.iceGatherer&&"completed"===transceiver.iceGatherer.state});switch(self.iceGatheringState){case"new":self._localIceCandidatesBuffer.push(event),end&&complete&&self._localIceCandidatesBuffer.push(new Event("icecandidate"));break;case"gathering":self._emitBufferedCandidates(),self.dispatchEvent(event),null!==self.onicecandidate&&self.onicecandidate(event),complete&&(self.dispatchEvent(new Event("icecandidate")),null!==self.onicecandidate&&self.onicecandidate(new Event("icecandidate")),self.iceGatheringState="complete");break;case"complete":}},iceTransport.onicestatechange=function(){self._updateConnectionState()};var dtlsTransport=new RTCDtlsTransport(iceTransport);return dtlsTransport.ondtlsstatechange=function(){self._updateConnectionState()},dtlsTransport.onerror=function(){dtlsTransport.state="failed",self._updateConnectionState()},{iceGatherer:iceGatherer,iceTransport:iceTransport,dtlsTransport:dtlsTransport}},window.RTCPeerConnection.prototype._transceive=function(transceiver,send,recv){var params=this._getCommonCapabilities(transceiver.localCapabilities,transceiver.remoteCapabilities);send&&transceiver.rtpSender&&(params.encodings=transceiver.sendEncodingParameters,params.rtcp={cname:SDPUtils.localCName},transceiver.recvEncodingParameters.length&&(params.rtcp.ssrc=transceiver.recvEncodingParameters[0].ssrc),transceiver.rtpSender.send(params)),recv&&transceiver.rtpReceiver&&("video"===transceiver.kind&&transceiver.recvEncodingParameters&&transceiver.recvEncodingParameters.forEach(function(p){delete p.rtx}),params.encodings=transceiver.recvEncodingParameters,params.rtcp={cname:transceiver.cname},transceiver.sendEncodingParameters.length&&(params.rtcp.ssrc=transceiver.sendEncodingParameters[0].ssrc),transceiver.rtpReceiver.receive(params))},window.RTCPeerConnection.prototype.setLocalDescription=function(description){var sections,sessionpart,self=this;if("offer"===description.type)this._pendingOffer&&(sections=SDPUtils.splitSections(description.sdp),sessionpart=sections.shift(),sections.forEach(function(mediaSection,sdpMLineIndex){var caps=SDPUtils.parseRtpParameters(mediaSection);self._pendingOffer[sdpMLineIndex].localCapabilities=caps}),this.transceivers=this._pendingOffer,delete this._pendingOffer);else if("answer"===description.type){sections=SDPUtils.splitSections(self.remoteDescription.sdp),sessionpart=sections.shift();var isIceLite=SDPUtils.matchPrefix(sessionpart,"a=ice-lite").length>0;sections.forEach(function(mediaSection,sdpMLineIndex){var transceiver=self.transceivers[sdpMLineIndex],iceGatherer=transceiver.iceGatherer,iceTransport=transceiver.iceTransport,dtlsTransport=transceiver.dtlsTransport,localCapabilities=transceiver.localCapabilities,remoteCapabilities=transceiver.remoteCapabilities,rejected="0"===mediaSection.split("\n",1)[0].split(" ",2)[1];if(!rejected&&!transceiver.isDatachannel){var remoteIceParameters=SDPUtils.getIceParameters(mediaSection,sessionpart);if(isIceLite){var cands=SDPUtils.matchPrefix(mediaSection,"a=candidate:").map(function(cand){return SDPUtils.parseCandidate(cand)}).filter(function(cand){return"1"===cand.component});cands.length&&iceTransport.setRemoteCandidates(cands)}var remoteDtlsParameters=SDPUtils.getDtlsParameters(mediaSection,sessionpart);isIceLite&&(remoteDtlsParameters.role="server"),self.usingBundle&&0!==sdpMLineIndex||(iceTransport.start(iceGatherer,remoteIceParameters,isIceLite?"controlling":"controlled"),dtlsTransport.start(remoteDtlsParameters));var params=self._getCommonCapabilities(localCapabilities,remoteCapabilities);self._transceive(transceiver,params.codecs.length>0,!1)}})}switch(this.localDescription={type:description.type,sdp:description.sdp},description.type){case"offer":this._updateSignalingState("have-local-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+description.type+'"')}var hasCallback=arguments.length>1&&"function"==typeof arguments[1];if(hasCallback){var cb=arguments[1];window.setTimeout(function(){cb(),"new"===self.iceGatheringState&&(self.iceGatheringState="gathering"),self._emitBufferedCandidates()},0)}var p=Promise.resolve();return p.then(function(){hasCallback||("new"===self.iceGatheringState&&(self.iceGatheringState="gathering"),window.setTimeout(self._emitBufferedCandidates.bind(self),500))}),p},window.RTCPeerConnection.prototype.setRemoteDescription=function(description){var self=this,stream=new MediaStream,receiverList=[],sections=SDPUtils.splitSections(description.sdp),sessionpart=sections.shift(),isIceLite=SDPUtils.matchPrefix(sessionpart,"a=ice-lite").length>0;switch(this.usingBundle=SDPUtils.matchPrefix(sessionpart,"a=group:BUNDLE ").length>0,sections.forEach(function(mediaSection,sdpMLineIndex){var lines=SDPUtils.splitLines(mediaSection),mline=lines[0].substr(2).split(" "),kind=mline[0],rejected="0"===mline[1],direction=SDPUtils.getDirection(mediaSection,sessionpart),mid=SDPUtils.matchPrefix(mediaSection,"a=mid:");if(mid=mid.length?mid[0].substr(6):SDPUtils.generateIdentifier(),"application"===kind&&"DTLS/SCTP"===mline[2])return void(self.transceivers[sdpMLineIndex]={mid:mid,isDatachannel:!0});var transceiver,iceGatherer,iceTransport,dtlsTransport,rtpSender,rtpReceiver,sendEncodingParameters,recvEncodingParameters,localCapabilities,track,remoteIceParameters,remoteDtlsParameters,remoteCapabilities=SDPUtils.parseRtpParameters(mediaSection);rejected||(remoteIceParameters=SDPUtils.getIceParameters(mediaSection,sessionpart),remoteDtlsParameters=SDPUtils.getDtlsParameters(mediaSection,sessionpart),remoteDtlsParameters.role="client"),recvEncodingParameters=SDPUtils.parseRtpEncodingParameters(mediaSection);var cname,remoteSsrc=SDPUtils.matchPrefix(mediaSection,"a=ssrc:").map(function(line){return SDPUtils.parseSsrcMedia(line)}).filter(function(obj){return"cname"===obj.attribute})[0];remoteSsrc&&(cname=remoteSsrc.value);var isComplete=SDPUtils.matchPrefix(mediaSection,"a=end-of-candidates",sessionpart).length>0,cands=SDPUtils.matchPrefix(mediaSection,"a=candidate:").map(function(cand){return SDPUtils.parseCandidate(cand)}).filter(function(cand){return"1"===cand.component});if("offer"!==description.type||rejected)"answer"!==description.type||rejected||(transceiver=self.transceivers[sdpMLineIndex],iceGatherer=transceiver.iceGatherer,iceTransport=transceiver.iceTransport,dtlsTransport=transceiver.dtlsTransport,rtpSender=transceiver.rtpSender,rtpReceiver=transceiver.rtpReceiver,sendEncodingParameters=transceiver.sendEncodingParameters,localCapabilities=transceiver.localCapabilities,self.transceivers[sdpMLineIndex].recvEncodingParameters=recvEncodingParameters,self.transceivers[sdpMLineIndex].remoteCapabilities=remoteCapabilities,self.transceivers[sdpMLineIndex].cname=cname,(isIceLite||isComplete)&&cands.length&&iceTransport.setRemoteCandidates(cands),self.usingBundle&&0!==sdpMLineIndex||(iceTransport.start(iceGatherer,remoteIceParameters,"controlling"),dtlsTransport.start(remoteDtlsParameters)),self._transceive(transceiver,"sendrecv"===direction||"recvonly"===direction,"sendrecv"===direction||"sendonly"===direction),!rtpReceiver||"sendrecv"!==direction&&"sendonly"!==direction?delete transceiver.rtpReceiver:(track=rtpReceiver.track,receiverList.push([track,rtpReceiver]),stream.addTrack(track)));else{var transports=self.usingBundle&&sdpMLineIndex>0?{iceGatherer:self.transceivers[0].iceGatherer,iceTransport:self.transceivers[0].iceTransport,dtlsTransport:self.transceivers[0].dtlsTransport}:self._createIceAndDtlsTransports(mid,sdpMLineIndex);if(isComplete&&transports.iceTransport.setRemoteCandidates(cands),localCapabilities=RTCRtpReceiver.getCapabilities(kind),localCapabilities.codecs=localCapabilities.codecs.filter(function(codec){return"rtx"!==codec.name}),sendEncodingParameters=[{ssrc:1001*(2*sdpMLineIndex+2)}],rtpReceiver=new RTCRtpReceiver(transports.dtlsTransport,kind),track=rtpReceiver.track,receiverList.push([track,rtpReceiver]),stream.addTrack(track),self.localStreams.length>0&&self.localStreams[0].getTracks().length>=sdpMLineIndex){var localTrack;"audio"===kind?localTrack=self.localStreams[0].getAudioTracks()[0]:"video"===kind&&(localTrack=self.localStreams[0].getVideoTracks()[0]),localTrack&&(rtpSender=new RTCRtpSender(localTrack,transports.dtlsTransport))}self.transceivers[sdpMLineIndex]={iceGatherer:transports.iceGatherer,iceTransport:transports.iceTransport,dtlsTransport:transports.dtlsTransport,localCapabilities:localCapabilities,remoteCapabilities:remoteCapabilities,rtpSender:rtpSender,rtpReceiver:rtpReceiver,kind:kind,mid:mid,cname:cname,sendEncodingParameters:sendEncodingParameters,recvEncodingParameters:recvEncodingParameters},self._transceive(self.transceivers[sdpMLineIndex],!1,"sendrecv"===direction||"sendonly"===direction)}}),this.remoteDescription={type:description.type,sdp:description.sdp},description.type){case"offer":this._updateSignalingState("have-remote-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+description.type+'"')}return stream.getTracks().length&&(self.remoteStreams.push(stream),window.setTimeout(function(){var event=new Event("addstream");event.stream=stream,self.dispatchEvent(event),null!==self.onaddstream&&window.setTimeout(function(){self.onaddstream(event)},0),receiverList.forEach(function(item){var track=item[0],receiver=item[1],trackEvent=new Event("track");trackEvent.track=track,trackEvent.receiver=receiver,trackEvent.streams=[stream],self.dispatchEvent(event),null!==self.ontrack&&window.setTimeout(function(){self.ontrack(trackEvent)},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(transceiver){transceiver.iceTransport&&transceiver.iceTransport.stop(),transceiver.dtlsTransport&&transceiver.dtlsTransport.stop(),transceiver.rtpSender&&transceiver.rtpSender.stop(),transceiver.rtpReceiver&&transceiver.rtpReceiver.stop()}),this._updateSignalingState("closed")},window.RTCPeerConnection.prototype._updateSignalingState=function(newState){this.signalingState=newState;var event=new Event("signalingstatechange");this.dispatchEvent(event),null!==this.onsignalingstatechange&&this.onsignalingstatechange(event)},window.RTCPeerConnection.prototype._maybeFireNegotiationNeeded=function(){var event=new Event("negotiationneeded");this.dispatchEvent(event),null!==this.onnegotiationneeded&&this.onnegotiationneeded(event)},window.RTCPeerConnection.prototype._updateConnectionState=function(){var newState,self=this,states={new:0,closed:0,connecting:0,checking:0,connected:0,completed:0,failed:0};if(this.transceivers.forEach(function(transceiver){states[transceiver.iceTransport.state]++,states[transceiver.dtlsTransport.state]++}),states.connected+=states.completed,newState="new",states.failed>0?newState="failed":states.connecting>0||states.checking>0?newState="connecting":states.disconnected>0?newState="disconnected":states.new>0?newState="new":(states.connected>0||states.completed>0)&&(newState="connected"),newState!==self.iceConnectionState){self.iceConnectionState=newState;var event=new Event("iceconnectionstatechange");this.dispatchEvent(event),null!==this.oniceconnectionstatechange&&this.oniceconnectionstatechange(event)}},window.RTCPeerConnection.prototype.createOffer=function(){var self=this;if(this._pendingOffer)throw new Error("createOffer called while there is a pending offer.");var offerOptions;1===arguments.length&&"function"!=typeof arguments[0]?offerOptions=arguments[0]:3===arguments.length&&(offerOptions=arguments[2]);var tracks=[],numAudioTracks=0,numVideoTracks=0;if(this.localStreams.length&&(numAudioTracks=this.localStreams[0].getAudioTracks().length,numVideoTracks=this.localStreams[0].getVideoTracks().length),offerOptions){if(offerOptions.mandatory||offerOptions.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");void 0!==offerOptions.offerToReceiveAudio&&(numAudioTracks=offerOptions.offerToReceiveAudio),void 0!==offerOptions.offerToReceiveVideo&&(numVideoTracks=offerOptions.offerToReceiveVideo)}for(this.localStreams.length&&this.localStreams[0].getTracks().forEach(function(track){tracks.push({kind:track.kind,track:track,wantReceive:"audio"===track.kind?numAudioTracks>0:numVideoTracks>0}),"audio"===track.kind?numAudioTracks--:"video"===track.kind&&numVideoTracks--});numAudioTracks>0||numVideoTracks>0;)numAudioTracks>0&&(tracks.push({kind:"audio",wantReceive:!0}),numAudioTracks--),numVideoTracks>0&&(tracks.push({kind:"video",wantReceive:!0}),numVideoTracks--);var sdp=SDPUtils.writeSessionBoilerplate(),transceivers=[];tracks.forEach(function(mline,sdpMLineIndex){var track=mline.track,kind=mline.kind,mid=SDPUtils.generateIdentifier(),transports=self.usingBundle&&sdpMLineIndex>0?{iceGatherer:transceivers[0].iceGatherer,iceTransport:transceivers[0].iceTransport,dtlsTransport:transceivers[0].dtlsTransport}:self._createIceAndDtlsTransports(mid,sdpMLineIndex),localCapabilities=RTCRtpSender.getCapabilities(kind);localCapabilities.codecs=localCapabilities.codecs.filter(function(codec){return"rtx"!==codec.name}),localCapabilities.codecs.forEach(function(codec){"H264"===codec.name&&void 0===codec.parameters["level-asymmetry-allowed"]&&(codec.parameters["level-asymmetry-allowed"]="1")});var rtpSender,rtpReceiver,sendEncodingParameters=[{ssrc:1001*(2*sdpMLineIndex+1)}];track&&(rtpSender=new RTCRtpSender(track,transports.dtlsTransport)),mline.wantReceive&&(rtpReceiver=new RTCRtpReceiver(transports.dtlsTransport,kind)),transceivers[sdpMLineIndex]={iceGatherer:transports.iceGatherer,iceTransport:transports.iceTransport,dtlsTransport:transports.dtlsTransport,localCapabilities:localCapabilities,remoteCapabilities:null,rtpSender:rtpSender,rtpReceiver:rtpReceiver,kind:kind,mid:mid,sendEncodingParameters:sendEncodingParameters,recvEncodingParameters:null}}),this.usingBundle&&(sdp+="a=group:BUNDLE "+transceivers.map(function(t){return t.mid}).join(" ")+"\r\n"),tracks.forEach(function(mline,sdpMLineIndex){var transceiver=transceivers[sdpMLineIndex];sdp+=SDPUtils.writeMediaSection(transceiver,transceiver.localCapabilities,"offer",self.localStreams[0])}),this._pendingOffer=transceivers;var desc=new RTCSessionDescription({type:"offer",sdp:sdp});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,desc),Promise.resolve(desc)},window.RTCPeerConnection.prototype.createAnswer=function(){var self=this,sdp=SDPUtils.writeSessionBoilerplate();this.usingBundle&&(sdp+="a=group:BUNDLE "+this.transceivers.map(function(t){return t.mid}).join(" ")+"\r\n"),this.transceivers.forEach(function(transceiver){if(transceiver.isDatachannel)return void(sdp+="m=application 0 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=mid:"+transceiver.mid+"\r\n");var commonCapabilities=self._getCommonCapabilities(transceiver.localCapabilities,transceiver.remoteCapabilities);sdp+=SDPUtils.writeMediaSection(transceiver,commonCapabilities,"answer",self.localStreams[0])});var desc=new RTCSessionDescription({type:"answer",sdp:sdp});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,desc),Promise.resolve(desc)},window.RTCPeerConnection.prototype.addIceCandidate=function(candidate){if(null===candidate)this.transceivers.forEach(function(transceiver){transceiver.iceTransport.addRemoteCandidate({})});else{var mLineIndex=candidate.sdpMLineIndex;if(candidate.sdpMid)for(var i=0;i<this.transceivers.length;i++)if(this.transceivers[i].mid===candidate.sdpMid){mLineIndex=i;break}var transceiver=this.transceivers[mLineIndex];if(transceiver){var cand=Object.keys(candidate.candidate).length>0?SDPUtils.parseCandidate(candidate.candidate):{};if("tcp"===cand.protocol&&(0===cand.port||9===cand.port))return;if("1"!==cand.component)return;"endOfCandidates"===cand.type&&(cand={}),transceiver.iceTransport.addRemoteCandidate(cand);var sections=SDPUtils.splitSections(this.remoteDescription.sdp);sections[mLineIndex+1]+=(cand.type?candidate.candidate.trim():"a=end-of-candidates")+"\r\n",this.remoteDescription.sdp=sections.join("")}}return arguments.length>1&&"function"==typeof arguments[1]&&window.setTimeout(arguments[1],0),Promise.resolve()},window.RTCPeerConnection.prototype.getStats=function(){var promises=[];this.transceivers.forEach(function(transceiver){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(method){transceiver[method]&&promises.push(transceiver[method].getStats())})});var cb=arguments.length>1&&"function"==typeof arguments[1]&&arguments[1];return new Promise(function(resolve){var results=new Map;Promise.all(promises).then(function(res){res.forEach(function(result){Object.keys(result).forEach(function(id){results.set(id,result[id]),results[id]=result[id]})}),cb&&window.setTimeout(cb,0,results),resolve(results)})})}}};module.exports={shimPeerConnection:edgeShim.shimPeerConnection,shimGetUserMedia:require("./getusermedia")}},{"../utils":209,"./getusermedia":205,sdp:173}],205:[function(require,module,exports){arguments[4][37][0].apply(exports,arguments)},{dup:37}],206:[function(require,module,exports){"use strict";var browserDetails=require("../utils").browserDetails,firefoxShim={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(f){this._ontrack&&(this.removeEventListener("track",this._ontrack),this.removeEventListener("addstream",this._ontrackpoly)),this.addEventListener("track",this._ontrack=f),this.addEventListener("addstream",this._ontrackpoly=function(e){e.stream.getTracks().forEach(function(track){var event=new Event("track");event.track=track,event.receiver={track:track},event.streams=[e.stream],this.dispatchEvent(event)}.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(stream){this.mozSrcObject=stream}}))},shimPeerConnection:function(){if("object"==typeof window&&(window.RTCPeerConnection||window.mozRTCPeerConnection)){window.RTCPeerConnection||(window.RTCPeerConnection=function(pcConfig,pcConstraints){if(browserDetails.version<38&&pcConfig&&pcConfig.iceServers){for(var newIceServers=[],i=0;i<pcConfig.iceServers.length;i++){var server=pcConfig.iceServers[i];if(server.hasOwnProperty("urls"))for(var j=0;j<server.urls.length;j++){var newServer={url:server.urls[j]};0===server.urls[j].indexOf("turn")&&(newServer.username=server.username,newServer.credential=server.credential),newIceServers.push(newServer)}else newIceServers.push(pcConfig.iceServers[i])}pcConfig.iceServers=newIceServers}return new mozRTCPeerConnection(pcConfig,pcConstraints)},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(method){var nativeMethod=RTCPeerConnection.prototype[method];RTCPeerConnection.prototype[method]=function(){return arguments[0]=new("addIceCandidate"===method?RTCIceCandidate:RTCSessionDescription)(arguments[0]),nativeMethod.apply(this,arguments)}});var nativeAddIceCandidate=RTCPeerConnection.prototype.addIceCandidate;RTCPeerConnection.prototype.addIceCandidate=function(){return null===arguments[0]?(arguments[1]&&arguments[1].apply(null),Promise.resolve()):nativeAddIceCandidate.apply(this,arguments)};var makeMapStats=function(stats){var map=new Map;return Object.keys(stats).forEach(function(key){map.set(key,stats[key]),map[key]=stats[key]}),map},nativeGetStats=RTCPeerConnection.prototype.getStats;RTCPeerConnection.prototype.getStats=function(selector,onSucc,onErr){return nativeGetStats.apply(this,[selector||null]).then(function(stats){return makeMapStats(stats)}).then(onSucc,onErr)}}}};module.exports={shimOnTrack:firefoxShim.shimOnTrack,shimSourceObject:firefoxShim.shimSourceObject,shimPeerConnection:firefoxShim.shimPeerConnection,shimGetUserMedia:require("./getusermedia")}},{"../utils":209,"./getusermedia":207}],207:[function(require,module,exports){"use strict";var logging=require("../utils").log,browserDetails=require("../utils").browserDetails;module.exports=function(){var shimError_=function(e){return{name:{SecurityError:"NotAllowedError",PermissionDeniedError:"NotAllowedError"}[e.name]||e.name,message:{"The operation is insecure.":"The request is not allowed by the user agent or the platform in the current context."}[e.message]||e.message,constraint:e.constraint,toString:function(){return this.name+(this.message&&": ")+this.message}}},getUserMedia_=function(constraints,onSuccess,onError){var constraintsToFF37_=function(c){if("object"!=typeof c||c.require)return c;var require=[];return Object.keys(c).forEach(function(key){if("require"!==key&&"advanced"!==key&&"mediaSource"!==key){var r=c[key]="object"==typeof c[key]?c[key]:{ideal:c[key]};if(void 0===r.min&&void 0===r.max&&void 0===r.exact||require.push(key),void 0!==r.exact&&("number"==typeof r.exact?r.min=r.max=r.exact:c[key]=r.exact,delete r.exact),void 0!==r.ideal){c.advanced=c.advanced||[];var oc={};"number"==typeof r.ideal?oc[key]={min:r.ideal,max:r.ideal}:oc[key]=r.ideal,c.advanced.push(oc),delete r.ideal,Object.keys(r).length||delete c[key]}}}),require.length&&(c.require=require),c};return constraints=JSON.parse(JSON.stringify(constraints)),browserDetails.version<38&&(logging("spec: "+JSON.stringify(constraints)),constraints.audio&&(constraints.audio=constraintsToFF37_(constraints.audio)),constraints.video&&(constraints.video=constraintsToFF37_(constraints.video)),logging("ff37: "+JSON.stringify(constraints))),navigator.mozGetUserMedia(constraints,onSuccess,function(e){onError(shimError_(e))})},getUserMediaPromise_=function(constraints){return new Promise(function(resolve,reject){getUserMedia_(constraints,resolve,reject)})};if(navigator.mediaDevices||(navigator.mediaDevices={getUserMedia:getUserMediaPromise_,addEventListener:function(){},removeEventListener:function(){}}),navigator.mediaDevices.enumerateDevices=navigator.mediaDevices.enumerateDevices||function(){return new Promise(function(resolve){var infos=[{kind:"audioinput",deviceId:"default",label:"",groupId:""},{kind:"videoinput",deviceId:"default",label:"",groupId:""}];resolve(infos)})},browserDetails.version<41){var orgEnumerateDevices=navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices);navigator.mediaDevices.enumerateDevices=function(){return orgEnumerateDevices().then(void 0,function(e){if("NotFoundError"===e.name)return[];throw e})}}if(browserDetails.version<49){var origGetUserMedia=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(c){return origGetUserMedia(c).then(function(stream){if(c.audio&&!stream.getAudioTracks().length||c.video&&!stream.getVideoTracks().length)throw stream.getTracks().forEach(function(track){track.stop()}),new DOMException("The object can not be found here.","NotFoundError");return stream},function(e){return Promise.reject(shimError_(e))})}}navigator.getUserMedia=function(constraints,onSuccess,onError){return browserDetails.version<44?getUserMedia_(constraints,onSuccess,onError):(console.warn("navigator.getUserMedia has been replaced by navigator.mediaDevices.getUserMedia"),void navigator.mediaDevices.getUserMedia(constraints).then(onSuccess,onError))}}},{"../utils":209}],208:[function(require,module,exports){"use strict";var safariShim={shimGetUserMedia:function(){navigator.getUserMedia=navigator.webkitGetUserMedia}};module.exports={shimGetUserMedia:safariShim.shimGetUserMedia}},{}],209:[function(require,module,exports){"use strict";var logDisabled_=!0,utils={disableLog:function(bool){return"boolean"!=typeof bool?new Error("Argument type: "+typeof bool+". Please use a boolean."):(logDisabled_=bool,bool?"adapter.js logging disabled":"adapter.js logging enabled")},log:function(){if("object"==typeof window){if(logDisabled_)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}},extractVersion:function(uastring,expr,pos){var match=uastring.match(expr);return match&&match.length>=pos&&parseInt(match[pos],10)},detectBrowser:function(){var result={};if(result.browser=null,result.version=null,"undefined"==typeof window||!window.navigator)return result.browser="Not a browser.",result;if(navigator.mozGetUserMedia)result.browser="firefox",result.version=this.extractVersion(navigator.userAgent,/Firefox\/([0-9]+)\./,1);else if(navigator.webkitGetUserMedia)if(window.webkitRTCPeerConnection)result.browser="chrome",result.version=this.extractVersion(navigator.userAgent,/Chrom(e|ium)\/([0-9]+)\./,2);else{if(!navigator.userAgent.match(/Version\/(\d+).(\d+)/))return result.browser="Unsupported webkit-based browser with GUM support but no WebRTC support.",result;result.browser="safari",result.version=this.extractVersion(navigator.userAgent,/AppleWebKit\/([0-9]+)\./,1)}else{if(!navigator.mediaDevices||!navigator.userAgent.match(/Edge\/(\d+).(\d+)$/))return result.browser="Not a supported browser.",result;result.browser="edge",result.version=this.extractVersion(navigator.userAgent,/Edge\/(\d+).(\d+)$/,2)}return result}};module.exports={log:utils.log,disableLog:utils.disableLog,browserDetails:utils.detectBrowser(),extractVersion:utils.extractVersion}},{}],210:[function(require,module,exports){var prefix,version;window.mozRTCPeerConnection||navigator.mozGetUserMedia?(prefix="moz",version=parseInt(navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1],10)):(window.webkitRTCPeerConnection||navigator.webkitGetUserMedia)&&(prefix="webkit",version=navigator.userAgent.match(/Chrom(e|ium)/)&&parseInt(navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)[2],10));var PC=window.mozRTCPeerConnection||window.webkitRTCPeerConnection,IceCandidate=window.mozRTCIceCandidate||window.RTCIceCandidate,SessionDescription=window.mozRTCSessionDescription||window.RTCSessionDescription,MediaStream=window.webkitMediaStream||window.MediaStream,screenSharing="https:"===window.location.protocol&&("webkit"===prefix&&version>=26||"moz"===prefix&&version>=33),AudioContext=window.AudioContext||window.webkitAudioContext,videoEl=document.createElement("video"),supportVp8=videoEl&&videoEl.canPlayType&&"probably"===videoEl.canPlayType('video/webm; codecs="vp8", vorbis'),getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.msGetUserMedia||navigator.mozGetUserMedia;
-module.exports={prefix:prefix,browserVersion:version,support:!!PC&&supportVp8&&!!getUserMedia,supportRTCPeerConnection:!!PC,supportVp8:supportVp8,supportGetUserMedia:!!getUserMedia,supportDataChannel:!!(PC&&PC.prototype&&PC.prototype.createDataChannel),supportWebAudio:!(!AudioContext||!AudioContext.prototype.createMediaStreamSource),supportMediaStream:!(!MediaStream||!MediaStream.prototype.removeTrack),supportScreenSharing:!!screenSharing,dataChannel:!!(PC&&PC.prototype&&PC.prototype.createDataChannel),webAudio:!(!AudioContext||!AudioContext.prototype.createMediaStreamSource),mediaStream:!(!MediaStream||!MediaStream.prototype.removeTrack),screenSharing:!!screenSharing,AudioContext:AudioContext,PeerConnection:PC,SessionDescription:SessionDescription,IceCandidate:IceCandidate,MediaStream:MediaStream,getUserMedia:getUserMedia}},{}],211:[function(require,module,exports){function WildEmitter(){}module.exports=WildEmitter,WildEmitter.mixin=function(constructor){var prototype=constructor.prototype||constructor;prototype.isWildEmitter=!0,prototype.on=function(event,groupName,fn){this.callbacks=this.callbacks||{};var hasGroup=3===arguments.length,group=hasGroup?arguments[1]:void 0,func=hasGroup?arguments[2]:arguments[1];return func._groupName=group,(this.callbacks[event]=this.callbacks[event]||[]).push(func),this},prototype.once=function(event,groupName,fn){function on(){self.off(event,on),func.apply(this,arguments)}var self=this,hasGroup=3===arguments.length,group=hasGroup?arguments[1]:void 0,func=hasGroup?arguments[2]:arguments[1];return this.on(event,group,on),this},prototype.releaseGroup=function(groupName){this.callbacks=this.callbacks||{};var item,i,len,handlers;for(item in this.callbacks)for(handlers=this.callbacks[item],i=0,len=handlers.length;i<len;i++)handlers[i]._groupName===groupName&&(handlers.splice(i,1),i--,len--);return this},prototype.off=function(event,fn){this.callbacks=this.callbacks||{};var i,callbacks=this.callbacks[event];return callbacks?1===arguments.length?(delete this.callbacks[event],this):(i=callbacks.indexOf(fn),callbacks.splice(i,1),0===callbacks.length&&delete this.callbacks[event],this):this},prototype.emit=function(event){this.callbacks=this.callbacks||{};var i,len,listeners,args=[].slice.call(arguments,1),callbacks=this.callbacks[event],specialCallbacks=this.getWildcardCallbacks(event);if(callbacks)for(listeners=callbacks.slice(),i=0,len=listeners.length;i<len&&listeners[i];++i)listeners[i].apply(this,args);if(specialCallbacks)for(len=specialCallbacks.length,listeners=specialCallbacks.slice(),i=0,len=listeners.length;i<len&&listeners[i];++i)listeners[i].apply(this,[event].concat(args));return this},prototype.getWildcardCallbacks=function(eventName){this.callbacks=this.callbacks||{};var item,split,result=[];for(item in this.callbacks)split=item.split("*"),("*"===item||2===split.length&&eventName.slice(0,split[0].length)===split[0])&&(result=result.concat(this.callbacks[item]));return result}},WildEmitter.mixin(WildEmitter)},{}],212:[function(require,module,exports){module.exports={Namespace:require("./lib/namespaces"),MUC:require("./lib/muc"),PubSub:require("./lib/pubsub"),Jingle:require("./lib/jingle"),Presence:require("./lib/presence")}},{"./lib/jingle":213,"./lib/muc":214,"./lib/namespaces":215,"./lib/presence":216,"./lib/pubsub":217}],213:[function(require,module,exports){module.exports={Action:{CONTENT_ACCEPT:"content-accept",CONTENT_ADD:"content-add",CONTENT_MODIFY:"content-modify",CONTENT_REJECT:"content-reject",CONTENT_REMOVE:"content-remove",DESCRIPTION_INFO:"description-info",SECURITY_INFO:"security-info",SESSION_ACCEPT:"session-accept",SESSION_INFO:"session-info",SESSION_INITIATE:"session-initiate",SESSION_TERMINATE:"session-terminate",TRANSPORT_ACCEPT:"transport-accept",TRANSPORT_INFO:"transport-info",TRANSPORT_REJECT:"transport-reject",TRANSPORT_REPLACE:"transport-replace"},Reason:{ALTERNATIVE_SESSION:"alernative-session",BUSY:"busy",CANCEL:"cancel",CONNECTIVITY_ERROR:"connectivity-error",DECLINE:"decline",EXPIRED:"expired",FAILED_APPLICATION:"failed-application",FAILED_TRANSPORT:"failed-transport",GENERAL_ERROR:"general-error",GONE:"gone",INCOMPATIBLE_PARAMETERS:"incompatible-parameters",MEDIA_ERROR:"media-error",SECURITY_ERROR:"security-error",SUCCESS:"success",TIMEOUT:"timeout",UNSUPPORTED_APPLICATIONS:"unsupported-applications",UNSUPPORTED_TRANSPORTS:"unsupported-transports"},Condition:{OUT_OF_ORDER:"out-of-order",TIE_BREAK:"tie-break",UNKNOWN_SESSION:"unknown-session",UNSUPPORTED_INFO:"unsupported-info"}}},{}],214:[function(require,module,exports){module.exports={Status:{REALJID_PUBLIC:"100",AFFILIATION_CHANGED:"101",UNAVAILABLE_SHOWN:"102",UNAVAILABLE_NOT_SHOWN:"103",CONFIGURATION_CHANGED:"104",SELF_PRESENCE:"110",LOGGING_ENABLED:"170",LOGGING_DISABLED:"171",NON_ANONYMOUS:"172",SEMI_ANONYMOUS:"173",FULLY_ANONYMOUS:"174",ROOM_CREATED:"201",NICK_ASSIGNED:"210",BANNED:"301",NEW_NICK:"303",KICKED:"307",REMOVED_AFFILIATION:"321",REMOVED_MEMBERSHIP:"322",REMOVED_SHUTDOWN:"332"},Affiliation:{ADMIN:"admin",MEMBER:"member",NONE:"none",OUTCAST:"outcast",OWNER:"owner"},Role:{MODERATOR:"moderator",NONE:"none",PARTICIPANT:"participant",VISITOR:"visitor"}}},{}],215:[function(require,module,exports){module.exports={BIND:"urn:ietf:params:xml:ns:xmpp-bind",CLIENT:"jabber:client",SASL:"urn:ietf:params:xml:ns:xmpp-sasl",SERVER:"jabber:server",SESSION:"urn:ietf:params:xml:ns:xmpp-session",STANZA_ERROR:"urn:ietf:params:xml:ns:xmpp-stanzas",STREAM:"http://etherx.jabber.org/streams",STREAM_ERROR:"urn:ietf:params:xml:ns:xmpp-streams",ROSTER:"jabber:iq:roster",ROSTER_VERSIONING:"urn:xmpp:features:rosterver",SUBSCRIPTION_PREAPPROVAL:"urn:xmpp:features:pre-approval",FRAMING:"urn:ietf:params:xml:ns:xmpp-framing",DATAFORM:"jabber:x:data",RPC:"jabber:iq:rpc",LAST_ACTIVITY:"jabber:iq:last",PRIVACY:"jabber:iq:privacy",DISCO_INFO:"http://jabber.org/protocol/disco#info",DISCO_ITEMS:"http://jabber.org/protocol/disco#items",ADDRESS:"http://jabber.org/protocol/address",MUC:"http://jabber.org/protocol/muc",MUC_ADMIN:"http://jabber.org/protocol/muc#admin",MUC_OWNER:"http://jabber.org/protocol/muc#owner",MUC_USER:"http://jabber.org/protocol/muc#user",IBB:"http://jabber.org/protocol/ibb",BOOKMARKS:"storage:bookmarks",PRIVATE:"jabber:iq:private",ADHOC_COMMANDS:"http://jabber.org/protocol/commands",VCARD_TEMP:"vcard-temp",SEARCH:"jabber:iq:search",RSM:"http://jabber.org/protocol/rsm",PUBSUB:"http://jabber.org/protocol/pubsub",PUBSUB_ERRORS:"http://jabber.org/protocol/pubsub#errors",PUBSUB_EVENT:"http://jabber.org/protocol/pubsub#event",PUBSUB_OWNER:"http://jabber.org/protocol/pubsub#owner",SOCKS5:"http://jabber.org/protocol/bytestreams",OOB:"jabber:x:oob",HTTP_AUTH:"http://jabber.org/protocol/http-auth",XHTML_IM:"http://jabber.org/protocol/xhtml-im",REGISTER:"jabber:iq:register",AMP:"http://jabber.org/protocol/amp",GEOLOC:"http://jabber.org/protocol/geoloc",ROSTER_DELIMITER:"roster:delimiter",AVATAR_DATA:"urn:xmpp:avatar:data",AVATAR_METADATA:"urn:xmpp:avatar:metadata",CHAT_STATES:"http://jabber.org/protocol/chatstates",VERSION:"jabber:iq:version",MOOD:"http://jabber.org/protocol/mood",ACTIVITY:"http://jabber.org/protocol/activity",COMPONENT:"jabber:component:accept",CAPS:"http://jabber.org/protocol/caps",TUNE:"http://jabber.org/protocol/tune",DATAFORM_VALIDATION:"http://jabber.org/protocol/xdata-validate",BOSH:"http://jabber.org/protocol/httpbind",SHIM:"http://jabber.org/protocol/shim",COMPRESSION:"http://jabber.org/features/compress",DATAFORM_LAYOUT:"http://jabber.org/protocol/xdata-layout",ROSTER_EXCHANGE:"http://jabber.org/protocol/rosterx",ROSTER_NOTES:"storage:rosternotes",REACH_0:"urn:xmpp:reach:0",VCARD_TEMP_UPDATE:"vcard-temp:x:update",CAPTCHA:"urn:xmpp:captcha",JINGLE_1:"urn:xmpp:jingle:1",JINGLE_ERRORS_1:"urn:xmpp:jingle:errors:1",JINGLE_RTP_1:"urn:xmpp:jingle:apps:rtp:1",JINGLE_RTP_ERRORS_1:"urn:xmpp:jingle:apps:rtp:errors:1",JINGLE_RTP_INFO_1:"urn:xmpp:jingle:apps:rtp:info:1",LANG_TRANS:"urn:xmpp:langtrans",LANG_TRANS_ITEMS:"urn:xmpp:langtrans:items",NICK:"http://jabber.org/protocol/nick",JINGLE_ICE_UDP_1:"urn:xmpp:jingle:transports:ice-udp:1",JINGLE_RAW_UDP_1:"urn:xmpp:jingle:transports:raw-udp:1",RECEIPTS:"urn:xmpp:receipts",INVISIBLE_0:"urn:xmpp:invisible:0",BLOCKING:"urn:xmpp:blocking",SMACKS_3:"urn:xmpp:sm:3",PING:"urn:xmpp:ping",TIME:"urn:xmpp:time",DELAY:"urn:xmpp:delay",BOSH_XMPP:"urn:xmpp:xbosh",DISCO_EXTERNAL_1:"urn:xmpp:extdisco:1",DATAFORM_MEDIA:"urn:xmpp:media-element",ATTENTION_0:"urn:xmpp:attention:0",BOB:"urn:xmpp:bob",FILE_TRANSFER_3:"urn:xmpp:jingle:apps:file-transfer:3",FILE_TRANSFER_4:"urn:xmpp:jingle:apps:file-transfer:4",MUC_DIRECT_INVITE:"jabber:x:conference",SEC_LABEL_0:"urn:xmpp:sec-label:0",SEC_LABEL_CATALOG_2:"urn:xmpp:sec-label:catalog:2",SEC_LABEL_ESS_0:"urn:xmpp:sec-label:ess:0",JINGLE_SOCKS5_1:"urn:xmpp:jingle:transports:s5b:1",JINGLE_IBB_1:"urn:xmpp:jingle:transports:ibb:1",JINGLE_RTP_ZRTP_1:"urn:xmpp:jingle:apps:rtp:zrtp:1",THUMBS_0:"urn:xmpp:thumbs:0",THUMBS_1:"urn:xmpp:thumbs:1",DECLOAKING_0:"urn:xmpp:decloaking:0",CARBONS_2:"urn:xmpp:carbons:2",JINGLE_RTP_RTCP_FB_0:"urn:xmpp:jingle:apps:rtp:rtcp-fb:0",JINGLE_RTP_HDREXT_0:"urn:xmpp:jingle:apps:rtp:rtp-hdrext:0",FORWARD_0:"urn:xmpp:forward:0",HASHES_1:"urn:xmpp:hashes:1",RTT_0:"urn:xmpp:rtt:0",MUC_UNIQUE:"http://jabber.org/protocol/muc#unique",CORRECTION_0:"urn:xmpp:message-correct:0",PSA:"urn:xmpp:psa",MAM_TMP:"urn:xmpp:mam:tmp",MAM_0:"urn:xmpp:mam:0",HATS_0:"urn:xmpp:hats:0",IDLE_1:"urn:xmpp:idle:1",JINGLE_DTLS_0:"urn:xmpp:jingle:apps:dtls:0",JID_PREP_0:"urn:xmpp:jidprep:0",HINTS:"urn:xmpp:hints",JSON_0:"urn:xmpp:json:0",EVENTLOG:"urn:xmpp:eventlog",JINGLE_GROUPING_0:"urn:xmpp:jingle:apps:grouping:0",JINGLE_RTP_SSMA_0:"urn:xmpp:jingle:apps:rtp:ssma:0",COLIBRI:"http://jitsi.org/protocol/colibri",DTLS_SCTP_1:"urn:xmpp:jingle:transports:dtls-sctp:1",CSI:"urn:xmpp:csi",JINGLE_MSG_INITIATE_0:"urn:xmpp:jingle:jingle-message:0",PUSH_0:"urn:xmpp:push:0",JINGLE_PUB_1:"urn:xmpp:jinglepub:1"}},{}],216:[function(require,module,exports){module.exports={Type:{SUBSCRIBE:"subscribe",SUBSCRIBED:"subscribed",UNSUBSCRIBE:"unsubscribe",UNSUBSCRIBED:"unsubscribed",PROBE:"probe",UNAVAILABLE:"unavailable"},Show:{CHAT:"chat",AWAY:"away",DO_NOT_DISTURB:"dnd",EXTENDED_AWAY:"xa"}}},{}],217:[function(require,module,exports){module.exports={Affiliation:{MEMBER:"member",NONE:"none",OUTCAST:"outcast",OWNER:"owner",PUBLISHER:"publisher",PUBLISH_ONLY:"publish-only"},Subscription:{NONE:"none",PENDING:"pending",UNCONFIGURED:"unconfigured",SUBSCRIBED:"subscribed"},AccessModel:{OPEN:"open",PRESENCE:"presence",ROSTER:"roster",AUTHORIZE:"authorize",WHITELIST:"whitelist"},Condition:{CONFLICT:"conflict"}}},{}],218:[function(require,module,exports){"use strict";function bareJID(local,domain){return local?local+"@"+domain:domain}function fullJID(local,domain,resource){return resource?bareJID(local,domain)+"/"+resource:bareJID(local,domain)}var StringPrep=require("./lib/stringprep"),ASCII=/^[\x00-\x7F]*$/;exports.prep=function(data){var local=data.local,domain=data.domain,resource=data.resource,unescapedLocal=local;return local&&(local=StringPrep.nodeprep(local),unescapedLocal=exports.unescape(local)),resource&&(resource=StringPrep.resourceprep(resource)),"."===domain[domain.length-1]&&(domain=domain.slice(0,domain.length-1)),domain=StringPrep.nameprep(domain.split(".").map(StringPrep.toUnicode).join(".")),{prepped:data.prepped||StringPrep.available,local:local,domain:domain,resource:resource,bare:bareJID(local,domain),full:fullJID(local,domain,resource),unescapedLocal:unescapedLocal,unescapedBare:bareJID(unescapedLocal,domain),unescapedFull:fullJID(unescapedLocal,domain,resource)}},exports.parse=function(jid,trusted){var local="",domain="",resource="";trusted=trusted||ASCII.test(jid);var resourceStart=jid.indexOf("/");resourceStart>0&&(resource=jid.slice(resourceStart+1),jid=jid.slice(0,resourceStart));var localEnd=jid.indexOf("@");localEnd>0&&(local=jid.slice(0,localEnd),jid=jid.slice(localEnd+1)),domain=jid;var preppedJID=exports.prep({local:local,domain:domain,resource:resource});return preppedJID.prepped=preppedJID.prepped||trusted,preppedJID},exports.equal=function(jid1,jid2,requirePrep){return jid1=new exports.JID(jid1),jid2=new exports.JID(jid2),2===arguments.length&&(requirePrep=!0),jid1.local===jid2.local&&jid1.domain===jid2.domain&&jid1.resource===jid2.resource&&(!requirePrep||jid1.prepped&&jid2.prepped)},exports.equalBare=function(jid1,jid2,requirePrep){return jid1=new exports.JID(jid1),jid2=new exports.JID(jid2),2===arguments.length&&(requirePrep=!0),jid1.local===jid2.local&&jid1.domain===jid2.domain&&(!requirePrep||jid1.prepped&&jid2.prepped)},exports.isBare=function(jid){jid=new exports.JID(jid);var hasResource=!!jid.resource;return!hasResource},exports.isFull=function(jid){jid=new exports.JID(jid);var hasResource=!!jid.resource;return hasResource},exports.escape=function(val){return val.replace(/^\s+|\s+$/g,"").replace(/\\5c/g,"\\5c5c").replace(/\\20/g,"\\5c20").replace(/\\22/g,"\\5c22").replace(/\\26/g,"\\5c26").replace(/\\27/g,"\\5c27").replace(/\\2f/g,"\\5c2f").replace(/\\3a/g,"\\5c3a").replace(/\\3c/g,"\\5c3c").replace(/\\3e/g,"\\5c3e").replace(/\\40/g,"\\5c40").replace(/ /g,"\\20").replace(/\"/g,"\\22").replace(/\&/g,"\\26").replace(/\'/g,"\\27").replace(/\//g,"\\2f").replace(/:/g,"\\3a").replace(/</g,"\\3c").replace(/>/g,"\\3e").replace(/@/g,"\\40")},exports.unescape=function(val){return val.replace(/\\20/g," ").replace(/\\22/g,'"').replace(/\\26/g,"&").replace(/\\27/g,"'").replace(/\\2f/g,"/").replace(/\\3a/g,":").replace(/\\3c/g,"<").replace(/\\3e/g,">").replace(/\\40/g,"@").replace(/\\5c/g,"\\")},exports.create=function(local,domain,resource){return new exports.JID(local,domain,resource)},exports.JID=function(localOrJID,domain,resource){var parsed={};if(!localOrJID||domain||resource)if(domain){var trusted=ASCII.test(localOrJID)&&ASCII.test(domain);resource&&(trusted=trusted&&ASCII.test(resource)),parsed=exports.prep({local:exports.escape(localOrJID),domain:domain,resource:resource,prepped:trusted})}else parsed={};else if("string"==typeof localOrJID)parsed=exports.parse(localOrJID);else{if(!(localOrJID._isJID||localOrJID instanceof exports.JID))throw new Error("Invalid argument type");parsed=localOrJID}this._isJID=!0,this.local=parsed.local||"",this.domain=parsed.domain||"",this.resource=parsed.resource||"",this.bare=parsed.bare||"",this.full=parsed.full||"",this.unescapedLocal=parsed.unescapedLocal||"",this.unescapedBare=parsed.unescapedBare||"",this.unescapedFull=parsed.unescapedFull||"",this.prepped=parsed.prepped},exports.JID.prototype.toString=function(){return this.full},exports.JID.prototype.toJSON=function(){return this.full}},{"./lib/stringprep":219}],219:[function(require,module,exports){"use strict";var punycode=require("punycode");exports.available=!1,exports.toUnicode=punycode.toUnicode,exports.nameprep=function(str){return str.toLowerCase()},exports.nodeprep=function(str){return str.toLowerCase()},exports.resourceprep=function(str){return str}},{punycode:154}],220:[function(require,module,exports){"use strict";var JSM=require("jingle"),RTC=require("webrtc-adapter-test"),GUM=require("getusermedia"),GSM=require("getscreenmedia"),jxt=require("jxt").createRegistry();jxt.use(require("jxt-xmpp-types")),jxt.use(require("jxt-xmpp"));var IqStanza=jxt.getDefinition("iq","jabber:client");!function($){Strophe.addConnectionPlugin("jingle",{connection:null,peer_constraints:{},AUTOACCEPT:!1,localStream:null,manager:null,RTC:null,getUserMedia:null,getScreenMedia:null,init:function(conn){var self=this;self.RTC=RTC,self.getUserMedia=GUM,self.getScreenMedia=GSM,self.connection=conn,RTC.webrtcDetectedVersion<33&&"firefox"===RTC.webrtcDetectedBrowser||"chrome"===RTC.webrtcDetectedBrowser?(self.peer_constraints={mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:!0}},"firefox"===RTC.webrtcDetectedBrowser&&(self.peer_constraints.mandatory.MozDontOfferDataChannel=!0)):(self.peer_constraints={offerToReceiveAudio:!0,offerToReceiveVideo:!0},"firefox"===RTC.webrtcDetectedBrowser&&(self.peer_constraints.mozDontOfferDataChannel=!0)),self.manager=new JSM({peerConnectionConstraints:self.peer_constraints,jid:self.connection.jid,selfID:self.connection.jid});var events={incoming:"callincoming.jingle",terminated:"callterminated.jingle",peerStreamAdded:"remotestreamadded.jingle",peerStreamRemoved:"remotestreamremoved.jingle",ringing:"ringing.jingle","log:error":"error.jingle"};if($.each(events,function(key,val){self.manager.on(key,function(){$(document).trigger(val,arguments)})}),self.manager.on("incoming",function(session){session.on("change:connectionState",function(session,state){$(document).trigger("iceconnectionstatechange.jingle",[session.sid,session,state])})}),this.connection.disco){var i;for(i=0;i<self.manager.capabilities.length;i++)self.connection.disco.addFeature(self.manager.capabilities[i])}this.connection.addHandler(this.onJingle.bind(this),"urn:xmpp:jingle:1","iq","set",null,null),this.manager.on("send",function(data){var iq=new IqStanza(data);self.connection.send($.parseXML(iq.toString()).getElementsByTagName("iq")[0])})},onJingle:function(iq){var req=jxt.parse(iq.outerHTML);return this.manager.process(req.toJSON()),!0},initiate:function(peerjid,stream,offerOptions){var session=this.manager.createMediaSession(peerjid);return session.on("change:connectionState",function(session,state){$(document).trigger("iceconnectionstatechange.jingle",[session.sid,session,state])}),stream&&(this.localStream=stream),this.localStream?(session.addStream(this.localStream),session.start(offerOptions),session):void console.error("No local stream defined")},terminate:function(jid,reason,silent){"undefined"==typeof jid||null===jid?this.manager.endAllSessions(reason,silent):this.manager.endPeerSessions(jid,reason,silent)},terminateByJid:function(jid){this.manager.endPeerSessions(jid)},addICEServer:function(server){this.manager.addICEServer(server)},setICEServers:function(servers){this.manager.iceServers=servers},setPeerConstraints:function(constraints){this.manager.config.peerConnectionConstraints=constraints}})}(jQuery)},{getscreenmedia:31,getusermedia:32,jingle:53,jxt:120,"jxt-xmpp":81,"jxt-xmpp-types":54,"webrtc-adapter-test":200}]},{},[220]),function(root,factory){"function"==typeof define&&define.amd?define(factory):"undefined"!=typeof module&&module.exports?module.exports=factory():root.Salsa20=factory()}(this,function(){function Salsa20(key,nonce){this.rounds=20,this.sigmaWords=[1634760805,857760878,2036477234,1797285236],this.keyWords=[],this.nonceWords=[0,0],this.counterWords=[0,0],this.block=[],this.blockUsed=64,this.setKey(key),this.setNonce(nonce)}return Salsa20.prototype.setKey=function(key){for(var i=0,j=0;i<8;i++,j+=4)this.keyWords[i]=255&key[j]|(255&key[j+1])<<8|(255&key[j+2])<<16|(255&key[j+3])<<24;this._reset()},Salsa20.prototype.setNonce=function(nonce){this.nonceWords[0]=255&nonce[0]|(255&nonce[1])<<8|(255&nonce[2])<<16|(255&nonce[3])<<24,this.nonceWords[1]=255&nonce[4]|(255&nonce[5])<<8|(255&nonce[6])<<16|(255&nonce[7])<<24,this._reset()},Salsa20.prototype.getBytes=function(numberOfBytes){for(var out=new Array(numberOfBytes),i=0;i<numberOfBytes;i++)64==this.blockUsed&&(this._generateBlock(),this._incrementCounter(),this.blockUsed=0),out[i]=this.block[this.blockUsed],this.blockUsed++;return out},Salsa20.prototype.getHexString=function(numberOfBytes){for(var hex=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"],out=[],bytes=this.getBytes(numberOfBytes),i=0;i<bytes.length;i++)out.push(hex[bytes[i]>>4&15]),out.push(hex[15&bytes[i]]);return out.join("")},Salsa20.prototype._reset=function(){this.counterWords[0]=0,this.counterWords[1]=0,this.blockUsed=64},Salsa20.prototype._incrementCounter=function(){this.counterWords[0]=this.counterWords[0]+1&4294967295,0==this.counterWords[0]&&(this.counterWords[1]=this.counterWords[1]+1&4294967295)},Salsa20.prototype._generateBlock=function(){for(var u,j0=this.sigmaWords[0],j1=this.keyWords[0],j2=this.keyWords[1],j3=this.keyWords[2],j4=this.keyWords[3],j5=this.sigmaWords[1],j6=this.nonceWords[0],j7=this.nonceWords[1],j8=this.counterWords[0],j9=this.counterWords[1],j10=this.sigmaWords[2],j11=this.keyWords[4],j12=this.keyWords[5],j13=this.keyWords[6],j14=this.keyWords[7],j15=this.sigmaWords[3],x0=j0,x1=j1,x2=j2,x3=j3,x4=j4,x5=j5,x6=j6,x7=j7,x8=j8,x9=j9,x10=j10,x11=j11,x12=j12,x13=j13,x14=j14,x15=j15,i=0;i<this.rounds;i+=2)u=x0+x12,x4^=u<<7|u>>>25,u=x4+x0,x8^=u<<9|u>>>23,u=x8+x4,x12^=u<<13|u>>>19,u=x12+x8,x0^=u<<18|u>>>14,u=x5+x1,x9^=u<<7|u>>>25,u=x9+x5,x13^=u<<9|u>>>23,u=x13+x9,x1^=u<<13|u>>>19,u=x1+x13,x5^=u<<18|u>>>14,u=x10+x6,x14^=u<<7|u>>>25,u=x14+x10,x2^=u<<9|u>>>23,u=x2+x14,x6^=u<<13|u>>>19,u=x6+x2,x10^=u<<18|u>>>14,u=x15+x11,x3^=u<<7|u>>>25,u=x3+x15,x7^=u<<9|u>>>23,u=x7+x3,x11^=u<<13|u>>>19,u=x11+x7,x15^=u<<18|u>>>14,u=x0+x3,x1^=u<<7|u>>>25,u=x1+x0,x2^=u<<9|u>>>23,u=x2+x1,x3^=u<<13|u>>>19,u=x3+x2,x0^=u<<18|u>>>14,u=x5+x4,x6^=u<<7|u>>>25,u=x6+x5,x7^=u<<9|u>>>23,u=x7+x6,x4^=u<<13|u>>>19,u=x4+x7,x5^=u<<18|u>>>14,u=x10+x9,x11^=u<<7|u>>>25,u=x11+x10,x8^=u<<9|u>>>23,u=x8+x11,x9^=u<<13|u>>>19,u=x9+x8,x10^=u<<18|u>>>14,u=x15+x14,x12^=u<<7|u>>>25,u=x12+x15,x13^=u<<9|u>>>23,u=x13+x12,x14^=u<<13|u>>>19,u=x14+x13,x15^=u<<18|u>>>14;x0+=j0,x1+=j1,x2+=j2,x3+=j3,x4+=j4,x5+=j5,x6+=j6,x7+=j7,x8+=j8,x9+=j9,x10+=j10,x11+=j11,x12+=j12,x13+=j13,x14+=j14,x15+=j15,this.block[0]=x0>>>0&255,this.block[1]=x0>>>8&255,this.block[2]=x0>>>16&255,this.block[3]=x0>>>24&255,this.block[4]=x1>>>0&255,this.block[5]=x1>>>8&255,this.block[6]=x1>>>16&255,this.block[7]=x1>>>24&255,this.block[8]=x2>>>0&255,this.block[9]=x2>>>8&255,this.block[10]=x2>>>16&255,this.block[11]=x2>>>24&255,this.block[12]=x3>>>0&255,this.block[13]=x3>>>8&255,this.block[14]=x3>>>16&255,this.block[15]=x3>>>24&255,this.block[16]=x4>>>0&255,this.block[17]=x4>>>8&255,this.block[18]=x4>>>16&255,this.block[19]=x4>>>24&255,this.block[20]=x5>>>0&255,this.block[21]=x5>>>8&255,this.block[22]=x5>>>16&255,this.block[23]=x5>>>24&255,this.block[24]=x6>>>0&255,this.block[25]=x6>>>8&255,this.block[26]=x6>>>16&255,this.block[27]=x6>>>24&255,this.block[28]=x7>>>0&255,this.block[29]=x7>>>8&255,this.block[30]=x7>>>16&255,this.block[31]=x7>>>24&255,this.block[32]=x8>>>0&255,this.block[33]=x8>>>8&255,this.block[34]=x8>>>16&255,this.block[35]=x8>>>24&255,this.block[36]=x9>>>0&255,this.block[37]=x9>>>8&255,this.block[38]=x9>>>16&255,this.block[39]=x9>>>24&255,this.block[40]=x10>>>0&255,this.block[41]=x10>>>8&255,this.block[42]=x10>>>16&255,this.block[43]=x10>>>24&255,this.block[44]=x11>>>0&255,this.block[45]=x11>>>8&255,this.block[46]=x11>>>16&255,this.block[47]=x11>>>24&255,this.block[48]=x12>>>0&255,this.block[49]=x12>>>8&255,this.block[50]=x12>>>16&255,this.block[51]=x12>>>24&255,this.block[52]=x13>>>0&255,this.block[53]=x13>>>8&255,this.block[54]=x13>>>16&255,this.block[55]=x13>>>24&255,this.block[56]=x14>>>0&255,this.block[57]=x14>>>8&255,this.block[58]=x14>>>16&255,this.block[59]=x14>>>24&255,this.block[60]=x15>>>0&255,this.block[61]=x15>>>8&255,this.block[62]=x15>>>16&255,this.block[63]=x15>>>24&255},Salsa20}),function(root,factory){if("function"==typeof define&&define.amd)define(factory.bind(root,root.crypto||root.msCrypto));else if("undefined"!=typeof module&&module.exports)module.exports=factory(require("crypto"));else try{root.BigInt=factory(root.crypto||root.msCrypto)}catch(e){console.warn(e.message)}}(this,function(crypto){function findPrimes(n){var i,s,p,ans;for(s=new Array(n),i=0;i<n;i++)s[i]=0;for(s[0]=2,p=0;s[p]<n;){for(i=s[p]*s[p];i<n;i+=s[p])s[i]=1;for(p++,s[p]=s[p-1]+1;s[p]<n&&s[s[p]];s[p]++);}for(ans=new Array(p),i=0;i<p;i++)ans[i]=s[i];return ans}function millerRabin(x,b){var i,j,k,s;if(mr_x1.length!=x.length&&(mr_x1=dup(x),mr_r=dup(x),mr_a=dup(x)),copy_(mr_a,b),copy_(mr_r,x),copy_(mr_x1,x),addInt_(mr_r,-1),addInt_(mr_x1,-1),isZero(mr_r))return 0;for(k=0;0==mr_r[k];k++);for(i=1,j=2;mr_r[k]%j==0;j*=2,i++);if(s=k*bpe+i-1,s&&rightShift_(mr_r,s),powMod_(mr_a,mr_r,x),!equalsInt(mr_a,1)&&!equals(mr_a,mr_x1)){for(j=1;j<=s-1&&!equals(mr_a,mr_x1);){if(squareMod_(mr_a,x),equalsInt(mr_a,1))return 0;j++}if(!equals(mr_a,mr_x1))return 0}return 1}function bitSize(x){var j,z,w;for(j=x.length-1;0==x[j]&&j>0;j--);for(z=0,w=x[j];w;w>>=1,z++);return z+=bpe*j}function expand(x,n){var ans=int2bigInt(0,(x.length>n?x.length:n)*bpe,0);return copy_(ans,x),ans}function mod(x,n){var ans=dup(x);return mod_(ans,n),trim(ans,1)}function mult(x,y){var ans=expand(x,x.length+y.length);return mult_(ans,y),trim(ans,1)}function powMod(x,y,n){var ans=expand(x,n.length);return powMod_(ans,trim(y,2),trim(n,2),0),trim(ans,1)}function sub(x,y){var ans=expand(x,x.length>y.length?x.length+1:y.length+1);return sub_(ans,y),trim(ans,1)}function add(x,y){var ans=expand(x,x.length>y.length?x.length+1:y.length+1);return add_(ans,y),trim(ans,1)}function inverseMod(x,n){var s,ans=expand(x,n.length);return s=inverseMod_(ans,n),s?trim(ans,1):null}function multMod(x,y,n){var ans=expand(x,n.length);return multMod_(ans,y,n),trim(ans,1)}function randBigInt(n,s){var a,b;return a=Math.floor((n-1)/bpe)+2,b=int2bigInt(0,0,a),randBigInt_(b,n,s),b}function randBigInt_(b,n,s){var i,a;for(i=0;i<b.length;i++)b[i]=0;for(a=Math.floor((n-1)/bpe)+1,i=0;i<a;i++)b[i]=randomBitInt(bpe);b[a-1]&=(2<<(n-1)%bpe)-1,1==s&&(b[a-1]|=1<<(n-1)%bpe)}function inverseMod_(x,n){var k=1+2*Math.max(x.length,n.length);if(!(1&x[0]||1&n[0]))return copyInt_(x,0),0;for(eg_u.length!=k&&(eg_u=new Array(k),eg_v=new Array(k),eg_A=new Array(k),eg_B=new Array(k),eg_C=new Array(k),eg_D=new Array(k)),copy_(eg_u,x),copy_(eg_v,n),copyInt_(eg_A,1),copyInt_(eg_B,0),copyInt_(eg_C,0),copyInt_(eg_D,1);;){for(;!(1&eg_u[0]);)halve_(eg_u),1&eg_A[0]||1&eg_B[0]?(add_(eg_A,n),halve_(eg_A),sub_(eg_B,x),halve_(eg_B)):(halve_(eg_A),halve_(eg_B));for(;!(1&eg_v[0]);)halve_(eg_v),1&eg_C[0]||1&eg_D[0]?(add_(eg_C,n),halve_(eg_C),sub_(eg_D,x),halve_(eg_D)):(halve_(eg_C),halve_(eg_D));if(greater(eg_v,eg_u)?(sub_(eg_v,eg_u),sub_(eg_C,eg_A),sub_(eg_D,eg_B)):(sub_(eg_u,eg_v),sub_(eg_A,eg_C),sub_(eg_B,eg_D)),equalsInt(eg_u,0)){for(;negative(eg_C);)add_(eg_C,n);return copy_(x,eg_C),equalsInt(eg_v,1)?1:(copyInt_(x,0),0)}}}function inverseModInt(x,n){for(var a=1,b=0;;){if(1==x)return a;if(0==x)return 0;if(b-=a*Math.floor(n/x),n%=x,1==n)return b;if(0==n)return 0;a-=b*Math.floor(x/n),x%=n}}function negative(x){return x[x.length-1]>>bpe-1&1}function greaterShift(x,y,shift){var i,kx=x.length,ky=y.length,k=kx+shift<ky?kx+shift:ky;for(i=ky-1-shift;i<kx&&i>=0;i++)if(x[i]>0)return 1;for(i=kx-1+shift;i<ky;i++)if(y[i]>0)return 0;for(i=k-1;i>=shift;i--){if(x[i-shift]>y[i])return 1;if(x[i-shift]<y[i])return 0}return 0}function greater(x,y){var i,k=x.length<y.length?x.length:y.length;for(i=x.length;i<y.length;i++)if(y[i])return 0;for(i=y.length;i<x.length;i++)if(x[i])return 1;for(i=k-1;i>=0;i--){if(x[i]>y[i])return 1;if(x[i]<y[i])return 0}return 0}function divide_(x,y,q,r){var kx,ky,i,y1,y2,c,a,b;for(copy_(r,x),ky=y.length;0==y[ky-1];ky--);for(b=y[ky-1],a=0;b;a++)b>>=1;for(a=bpe-a,leftShift_(y,a),leftShift_(r,a),kx=r.length;0==r[kx-1]&&kx>ky;kx--);for(copyInt_(q,0);!greaterShift(y,r,kx-ky);)subShift_(r,y,kx-ky),q[kx-ky]++;for(i=kx-1;i>=ky;i--){for(r[i]==y[ky-1]?q[i-ky]=mask:q[i-ky]=Math.floor((r[i]*radix+r[i-1])/y[ky-1]);y2=(ky>1?y[ky-2]:0)*q[i-ky],c=y2,y2&=mask,c=(c-y2)/radix,y1=c+q[i-ky]*y[ky-1],c=y1,y1&=mask,c=(c-y1)/radix,c==r[i]?y1==r[i-1]?y2>(i>1?r[i-2]:0):y1>r[i-1]:c>r[i];)q[i-ky]--;linCombShift_(r,y,-q[i-ky],i-ky),negative(r)&&(addShift_(r,y,i-ky),q[i-ky]--)}rightShift_(y,a),rightShift_(r,a)}function modInt(x,n){var i,c=0;for(i=x.length-1;i>=0;i--)c=(c*radix+x[i])%n;return c}function int2bigInt(t,bits,minSize){var k,buff;return k=Math.ceil(bits/bpe)+1,k=minSize>k?minSize:k,buff=new Array(k),copyInt_(buff,t),buff}function str2bigInt(s,base,minSize){var d,i,x,y,kk,k=s.length;if(base==-1){for(x=new Array(0);;){for(y=new Array(x.length+1),i=0;i<x.length;i++)y[i+1]=x[i];if(y[0]=parseInt(s,10),x=y,d=s.indexOf(",",0),d<1)break;if(s=s.substring(d+1),0==s.length)break}return x.length<minSize?(y=new Array(minSize),copy_(y,x),y):x}for(var bb=base,p=0,b=1==base?k:0;bb>1;)1&bb&&(p=1),b+=k,bb>>=1;for(b+=p*k,x=int2bigInt(0,b,0),i=0;i<k&&(d=digitsStr.indexOf(s.substring(i,i+1),0),base<=36&&d>=36&&(d-=26),!(d>=base||d<0));i++)multInt_(x,base),addInt_(x,d);for(k=x.length;k>0&&!x[k-1];k--);for(k=minSize>k+1?minSize:k+1,y=new Array(k),kk=k<x.length?k:x.length,i=0;i<kk;i++)y[i]=x[i];for(;i<k;i++)y[i]=0;return y}function equalsInt(x,y){var i;if(x[0]!=y)return 0;for(i=1;i<x.length;i++)if(x[i])return 0;return 1}function equals(x,y){var i,k=x.length<y.length?x.length:y.length;for(i=0;i<k;i++)if(x[i]!=y[i])return 0;if(x.length>y.length){for(;i<x.length;i++)if(x[i])return 0}else for(;i<y.length;i++)if(y[i])return 0;return 1}function isZero(x){var i;for(i=0;i<x.length;i++)if(x[i])return 0;return 1}function bigInt2str(x,base){var i,t,s="";if(s6.length!=x.length?s6=dup(x):copy_(s6,x),base==-1){for(i=x.length-1;i>0;i--)s+=x[i]+",";s+=x[0]}else for(;!isZero(s6);)t=divInt_(s6,base),s=digitsStr.substring(t,t+1)+s;return 0==s.length&&(s="0"),s}function dup(x){var buff;return buff=new Array(x.length),copy_(buff,x),buff}function copy_(x,y){var i,k=x.length<y.length?x.length:y.length;for(i=0;i<k;i++)x[i]=y[i];for(i=k;i<x.length;i++)x[i]=0}function copyInt_(x,n){var i,c;for(c=n,i=0;i<x.length;i++)x[i]=c&mask,c>>=bpe}function addInt_(x,n){var i,k,c,b;for(x[0]+=n,k=x.length,c=0,i=0;i<k;i++)if(c+=x[i],b=0,c<0&&(b=c&mask,b=-((c-b)/radix),c+=b*radix),x[i]=c&mask,c=(c-x[i])/radix-b,!c)return}function rightShift_(x,n){var i,k=Math.floor(n/bpe);if(k){for(i=0;i<x.length-k;i++)x[i]=x[i+k];for(;i<x.length;i++)x[i]=0;n%=bpe}for(i=0;i<x.length-1;i++)x[i]=mask&(x[i+1]<<bpe-n|x[i]>>n);x[i]>>=n}function halve_(x){var i;for(i=0;i<x.length-1;i++)x[i]=mask&(x[i+1]<<bpe-1|x[i]>>1);x[i]=x[i]>>1|x[i]&radix>>1}function leftShift_(x,n){var i,k=Math.floor(n/bpe);if(k){for(i=x.length;i>=k;i--)x[i]=x[i-k];for(;i>=0;i--)x[i]=0;n%=bpe}if(n){for(i=x.length-1;i>0;i--)x[i]=mask&(x[i]<<n|x[i-1]>>bpe-n);x[i]=mask&x[i]<<n}}function multInt_(x,n){var i,k,c,b;if(n)for(k=x.length,c=0,i=0;i<k;i++)c+=x[i]*n,b=0,c<0&&(b=c&mask,b=-((c-b)/radix),c+=b*radix),x[i]=c&mask,c=(c-x[i])/radix-b}function divInt_(x,n){var i,s,r=0;for(i=x.length-1;i>=0;i--)s=r*radix+x[i],x[i]=Math.floor(s/n),r=s%n;return r}function linCombShift_(x,y,b,ys){var i,c,k,kk;for(k=x.length<ys+y.length?x.length:ys+y.length,kk=x.length,c=0,i=ys;i<k;i++)c+=x[i]+b*y[i-ys],x[i]=c&mask,c=(c-x[i])/radix;for(i=k;c&&i<kk;i++)c+=x[i],x[i]=c&mask,c=(c-x[i])/radix}function addShift_(x,y,ys){var i,c,k,kk;for(k=x.length<ys+y.length?x.length:ys+y.length,kk=x.length,c=0,i=ys;i<k;i++)c+=x[i]+y[i-ys],x[i]=c&mask,c=(c-x[i])/radix;for(i=k;c&&i<kk;i++)c+=x[i],x[i]=c&mask,c=(c-x[i])/radix}function subShift_(x,y,ys){var i,c,k,kk;for(k=x.length<ys+y.length?x.length:ys+y.length,kk=x.length,c=0,i=ys;i<k;i++)c+=x[i]-y[i-ys],x[i]=c&mask,c=(c-x[i])/radix;for(i=k;c&&i<kk;i++)c+=x[i],x[i]=c&mask,c=(c-x[i])/radix}function sub_(x,y){var i,c,k;for(k=x.length<y.length?x.length:y.length,c=0,i=0;i<k;i++)c+=x[i]-y[i],x[i]=c&mask,c=(c-x[i])/radix;for(i=k;c&&i<x.length;i++)c+=x[i],x[i]=c&mask,c=(c-x[i])/radix}function add_(x,y){var i,c,k;for(k=x.length<y.length?x.length:y.length,c=0,i=0;i<k;i++)c+=x[i]+y[i],x[i]=c&mask,c=(c-x[i])/radix;for(i=k;c&&i<x.length;i++)c+=x[i],x[i]=c&mask,c=(c-x[i])/radix}function mult_(x,y){var i;for(ss.length!=2*x.length&&(ss=new Array(2*x.length)),copyInt_(ss,0),i=0;i<y.length;i++)y[i]&&linCombShift_(ss,x,y[i],i);copy_(x,ss)}function mod_(x,n){s4.length!=x.length?s4=dup(x):copy_(s4,x),s5.length!=x.length&&(s5=dup(x)),divide_(s4,n,s5,x)}function multMod_(x,y,n){var i;for(s0.length!=2*x.length&&(s0=new Array(2*x.length)),copyInt_(s0,0),i=0;i<y.length;i++)y[i]&&linCombShift_(s0,x,y[i],i);mod_(s0,n),copy_(x,s0)}function squareMod_(x,n){var i,j,c,kx,k;for(kx=x.length;kx>0&&!x[kx-1];kx--);for(k=kx>n.length?2*kx:2*n.length,s0.length!=k&&(s0=new Array(k)),copyInt_(s0,0),i=0;i<kx;i++){for(c=s0[2*i]+x[i]*x[i],
-s0[2*i]=c&mask,c=(c-s0[2*i])/radix,j=i+1;j<kx;j++)c=s0[i+j]+2*x[i]*x[j]+c,s0[i+j]=c&mask,c=(c-s0[i+j])/radix;s0[i+kx]=c}mod_(s0,n),copy_(x,s0)}function trim(x,k){var i,y;for(i=x.length;i>0&&!x[i-1];i--);return y=new Array(i+k),copy_(y,x),y}function powMod_(x,y,n){var k1,k2,kn,np;if(s7.length!=n.length&&(s7=dup(n)),0!=(1&n[0])){for(copyInt_(s7,0),kn=n.length;kn>0&&!n[kn-1];kn--);for(np=radix-inverseModInt(modInt(n,radix),radix),s7[kn]=1,multMod_(x,s7,n),s3.length!=x.length?s3=dup(x):copy_(s3,x),k1=y.length-1;k1>0&!y[k1];k1--);if(0==y[k1])return void copyInt_(x,1);for(k2=1<<bpe-1;k2&&!(y[k1]&k2);k2>>=1);for(;;){if(!(k2>>=1)){if(k1--,k1<0)return void mont_(x,one,n,np);k2=1<<bpe-1}mont_(x,x,n,np),k2&y[k1]&&mont_(x,s3,n,np)}}else for(copy_(s7,x),copyInt_(x,1);!equalsInt(y,0);)1&y[0]&&multMod_(x,s7,n),divInt_(y,2),squareMod_(s7,n)}function mont_(x,y,n,np){var i,j,c,ui,t,t2,ks,kn=n.length,ky=y.length;for(sa.length!=kn&&(sa=new Array(kn)),copyInt_(sa,0);kn>0&&0==n[kn-1];kn--);for(;ky>0&&0==y[ky-1];ky--);for(ks=sa.length-1,i=0;i<kn;i++){for(t=sa[0]+x[i]*y[0],ui=(t&mask)*np&mask,c=t+ui*n[0],c=(c-(c&mask))/radix,t=x[i],j=1;j<ky-4;)c+=sa[j]+ui*n[j]+t*y[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++,c+=sa[j]+ui*n[j]+t*y[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++,c+=sa[j]+ui*n[j]+t*y[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++,c+=sa[j]+ui*n[j]+t*y[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++,c+=sa[j]+ui*n[j]+t*y[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;for(;j<ky;)c+=sa[j]+ui*n[j]+t*y[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;for(;j<kn-4;)c+=sa[j]+ui*n[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++,c+=sa[j]+ui*n[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++,c+=sa[j]+ui*n[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++,c+=sa[j]+ui*n[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++,c+=sa[j]+ui*n[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;for(;j<kn;)c+=sa[j]+ui*n[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;for(;j<ks;)c+=sa[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;sa[j-1]=c&mask}greater(n,sa)||sub_(sa,n),copy_(x,sa)}function divMod(num,den,n){return multMod(num,inverseMod(den,n),n)}function subMod(one,two,n){return one=mod(one,n),two=mod(two,n),greater(two,one)&&(one=add(one,n)),sub(one,two)}function twoToThe(m){for(var b=Math.floor(m/bpe)+2,t=new Array(b),i=0;i<b;i++)t[i]=0;return t[b-2]=1<<m%bpe,t}function bigInt2bits(bi,pad){pad||(pad=0),bi=dup(bi);for(var ba="";!isZero(bi);)ba=_num2bin[255&bi[0]]+ba,rightShift_(bi,8);for(;ba.length<pad;)ba="\0"+ba;return ba}function ba2bigInt(data){var mpi=str2bigInt("0",10,data.length);return data.forEach(function(d,i){i&&leftShift_(mpi,8),mpi[0]|=d}),mpi}function getSeed(){return randomBytes(40)}function randomByte(){return randomBytes(1)[0]}function randomBitInt(k){if(k>31)throw new Error("Too many bits.");var i=0,r=0,b=Math.floor(k/8),mask=(1<<k%8)-1;for(mask&&(r=randomByte()&mask);i<b;i++)r=256*r+randomByte();return r}var bpe=26,radix=1<<bpe,mask=radix-1,digitsStr="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_=!@#$%^&*()[]{}|;:,.<>/?`~ \\'\"+-",one=int2bigInt(1,1,1),t=new Array(0),ss=t,s0=t,s3=t,s4=t,s5=t,s6=t,s7=t,sa=t,mr_x1=t,mr_r=t,mr_a=t,eg_v=t,eg_u=t,eg_A=t,eg_B=t,eg_C=t,eg_D=t,primes=t,_num2bin=function(){for(var i=0,_num2bin={};i<256;++i)_num2bin[i]=String.fromCharCode(i);return _num2bin}(),randomBytes=function(){if("undefined"!=typeof crypto&&"function"==typeof crypto.randomBytes)return function(n){try{var buf=crypto.randomBytes(n)}catch(e){throw e}return Array.prototype.slice.call(buf,0)};if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues)return function(n){var buf=new Uint8Array(n);return crypto.getRandomValues(buf),Array.prototype.slice.call(buf,0)};throw new Error("Keys should not be generated without CSPRNG.")}();return{str2bigInt:str2bigInt,bigInt2str:bigInt2str,int2bigInt:int2bigInt,multMod:multMod,powMod:powMod,inverseMod:inverseMod,randBigInt:randBigInt,randBigInt_:randBigInt_,equals:equals,equalsInt:equalsInt,sub:sub,mod:mod,modInt:modInt,mult:mult,divInt_:divInt_,rightShift_:rightShift_,dup:dup,greater:greater,add:add,isZero:isZero,bitSize:bitSize,millerRabin:millerRabin,divide_:divide_,trim:trim,primes:primes,findPrimes:findPrimes,getSeed:getSeed,divMod:divMod,subMod:subMod,twoToThe:twoToThe,bigInt2bits:bigInt2bits,ba2bigInt:ba2bigInt}}),function(root,factory){"function"==typeof define&&define.amd?define(factory):"undefined"!=typeof module&&module.exports?module.exports=factory():root.CryptoJS=factory()}(this,function(){var CryptoJS=CryptoJS||function(Math,undefined){var C={},C_lib=C.lib={},Base=C_lib.Base=function(){function F(){}return{extend:function(overrides){F.prototype=this;var subtype=new F;return overrides&&subtype.mixIn(overrides),subtype.hasOwnProperty("init")||(subtype.init=function(){subtype.$super.init.apply(this,arguments)}),subtype.init.prototype=subtype,subtype.$super=this,subtype},create:function(){var instance=this.extend();return instance.init.apply(instance,arguments),instance},init:function(){},mixIn:function(properties){for(var propertyName in properties)properties.hasOwnProperty(propertyName)&&(this[propertyName]=properties[propertyName]);properties.hasOwnProperty("toString")&&(this.toString=properties.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),WordArray=C_lib.WordArray=Base.extend({init:function(words,sigBytes){words=this.words=words||[],sigBytes!=undefined?this.sigBytes=sigBytes:this.sigBytes=4*words.length},toString:function(encoder){return(encoder||Hex).stringify(this)},concat:function(wordArray){var thisWords=this.words,thatWords=wordArray.words,thisSigBytes=this.sigBytes,thatSigBytes=wordArray.sigBytes;if(this.clamp(),thisSigBytes%4)for(var i=0;i<thatSigBytes;i++){var thatByte=thatWords[i>>>2]>>>24-i%4*8&255;thisWords[thisSigBytes+i>>>2]|=thatByte<<24-(thisSigBytes+i)%4*8}else if(thatWords.length>65535)for(var i=0;i<thatSigBytes;i+=4)thisWords[thisSigBytes+i>>>2]=thatWords[i>>>2];else thisWords.push.apply(thisWords,thatWords);return this.sigBytes+=thatSigBytes,this},clamp:function(){var words=this.words,sigBytes=this.sigBytes;words[sigBytes>>>2]&=4294967295<<32-sigBytes%4*8,words.length=Math.ceil(sigBytes/4)},clone:function(){var clone=Base.clone.call(this);return clone.words=this.words.slice(0),clone},random:function(nBytes){for(var words=[],i=0;i<nBytes;i+=4)words.push(4294967296*Math.random()|0);return new WordArray.init(words,nBytes)}}),C_enc=C.enc={},Hex=C_enc.Hex={stringify:function(wordArray){for(var words=wordArray.words,sigBytes=wordArray.sigBytes,hexChars=[],i=0;i<sigBytes;i++){var bite=words[i>>>2]>>>24-i%4*8&255;hexChars.push((bite>>>4).toString(16)),hexChars.push((15&bite).toString(16))}return hexChars.join("")},parse:function(hexStr){for(var hexStrLength=hexStr.length,words=[],i=0;i<hexStrLength;i+=2)words[i>>>3]|=parseInt(hexStr.substr(i,2),16)<<24-i%8*4;return new WordArray.init(words,hexStrLength/2)}},Latin1=C_enc.Latin1={stringify:function(wordArray){for(var words=wordArray.words,sigBytes=wordArray.sigBytes,latin1Chars=[],i=0;i<sigBytes;i++){var bite=words[i>>>2]>>>24-i%4*8&255;latin1Chars.push(String.fromCharCode(bite))}return latin1Chars.join("")},parse:function(latin1Str){for(var latin1StrLength=latin1Str.length,words=[],i=0;i<latin1StrLength;i++)words[i>>>2]|=(255&latin1Str.charCodeAt(i))<<24-i%4*8;return new WordArray.init(words,latin1StrLength)}},Utf8=C_enc.Utf8={stringify:function(wordArray){try{return decodeURIComponent(escape(Latin1.stringify(wordArray)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(utf8Str){return Latin1.parse(unescape(encodeURIComponent(utf8Str)))}},BufferedBlockAlgorithm=C_lib.BufferedBlockAlgorithm=Base.extend({reset:function(){this._data=new WordArray.init,this._nDataBytes=0},_append:function(data){"string"==typeof data&&(data=Utf8.parse(data)),this._data.concat(data),this._nDataBytes+=data.sigBytes},_process:function(doFlush){var data=this._data,dataWords=data.words,dataSigBytes=data.sigBytes,blockSize=this.blockSize,blockSizeBytes=4*blockSize,nBlocksReady=dataSigBytes/blockSizeBytes;nBlocksReady=doFlush?Math.ceil(nBlocksReady):Math.max((0|nBlocksReady)-this._minBufferSize,0);var nWordsReady=nBlocksReady*blockSize,nBytesReady=Math.min(4*nWordsReady,dataSigBytes);if(nWordsReady){for(var offset=0;offset<nWordsReady;offset+=blockSize)this._doProcessBlock(dataWords,offset);var processedWords=dataWords.splice(0,nWordsReady);data.sigBytes-=nBytesReady}return new WordArray.init(processedWords,nBytesReady)},clone:function(){var clone=Base.clone.call(this);return clone._data=this._data.clone(),clone},_minBufferSize:0}),C_algo=(C_lib.Hasher=BufferedBlockAlgorithm.extend({cfg:Base.extend(),init:function(cfg){this.cfg=this.cfg.extend(cfg),this.reset()},reset:function(){BufferedBlockAlgorithm.reset.call(this),this._doReset()},update:function(messageUpdate){return this._append(messageUpdate),this._process(),this},finalize:function(messageUpdate){messageUpdate&&this._append(messageUpdate);var hash=this._doFinalize();return hash},blockSize:16,_createHelper:function(hasher){return function(message,cfg){return new hasher.init(cfg).finalize(message)}},_createHmacHelper:function(hasher){return function(message,key){return new C_algo.HMAC.init(hasher,key).finalize(message)}}}),C.algo={});return C}(Math);return function(){var C=CryptoJS,C_lib=C.lib,WordArray=C_lib.WordArray,C_enc=C.enc;C_enc.Base64={stringify:function(wordArray){var words=wordArray.words,sigBytes=wordArray.sigBytes,map=this._map;wordArray.clamp();for(var base64Chars=[],i=0;i<sigBytes;i+=3)for(var byte1=words[i>>>2]>>>24-i%4*8&255,byte2=words[i+1>>>2]>>>24-(i+1)%4*8&255,byte3=words[i+2>>>2]>>>24-(i+2)%4*8&255,triplet=byte1<<16|byte2<<8|byte3,j=0;j<4&&i+.75*j<sigBytes;j++)base64Chars.push(map.charAt(triplet>>>6*(3-j)&63));var paddingChar=map.charAt(64);if(paddingChar)for(;base64Chars.length%4;)base64Chars.push(paddingChar);return base64Chars.join("")},parse:function(base64Str){var base64StrLength=base64Str.length,map=this._map,paddingChar=map.charAt(64);if(paddingChar){var paddingIndex=base64Str.indexOf(paddingChar);paddingIndex!=-1&&(base64StrLength=paddingIndex)}for(var words=[],nBytes=0,i=0;i<base64StrLength;i++)if(i%4){var bits1=map.indexOf(base64Str.charAt(i-1))<<i%4*2,bits2=map.indexOf(base64Str.charAt(i))>>>6-i%4*2;words[nBytes>>>2]|=(bits1|bits2)<<24-nBytes%4*8,nBytes++}return WordArray.create(words,nBytes)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),CryptoJS.lib.Cipher||function(undefined){var C=CryptoJS,C_lib=C.lib,Base=C_lib.Base,WordArray=C_lib.WordArray,BufferedBlockAlgorithm=C_lib.BufferedBlockAlgorithm,C_enc=C.enc,Base64=(C_enc.Utf8,C_enc.Base64),C_algo=C.algo,EvpKDF=C_algo.EvpKDF,Cipher=C_lib.Cipher=BufferedBlockAlgorithm.extend({cfg:Base.extend(),createEncryptor:function(key,cfg){return this.create(this._ENC_XFORM_MODE,key,cfg)},createDecryptor:function(key,cfg){return this.create(this._DEC_XFORM_MODE,key,cfg)},init:function(xformMode,key,cfg){this.cfg=this.cfg.extend(cfg),this._xformMode=xformMode,this._key=key,this.reset()},reset:function(){BufferedBlockAlgorithm.reset.call(this),this._doReset()},process:function(dataUpdate){return this._append(dataUpdate),this._process()},finalize:function(dataUpdate){dataUpdate&&this._append(dataUpdate);var finalProcessedData=this._doFinalize();return finalProcessedData},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function selectCipherStrategy(key){return"string"==typeof key?PasswordBasedCipher:SerializableCipher}return function(cipher){return{encrypt:function(message,key,cfg){return selectCipherStrategy(key).encrypt(cipher,message,key,cfg)},decrypt:function(ciphertext,key,cfg){return selectCipherStrategy(key).decrypt(cipher,ciphertext,key,cfg)}}}}()}),C_mode=(C_lib.StreamCipher=Cipher.extend({_doFinalize:function(){var finalProcessedBlocks=this._process(!0);return finalProcessedBlocks},blockSize:1}),C.mode={}),BlockCipherMode=C_lib.BlockCipherMode=Base.extend({createEncryptor:function(cipher,iv){return this.Encryptor.create(cipher,iv)},createDecryptor:function(cipher,iv){return this.Decryptor.create(cipher,iv)},init:function(cipher,iv){this._cipher=cipher,this._iv=iv}}),CBC=C_mode.CBC=function(){function xorBlock(words,offset,blockSize){var iv=this._iv;if(iv){var block=iv;this._iv=undefined}else var block=this._prevBlock;for(var i=0;i<blockSize;i++)words[offset+i]^=block[i]}var CBC=BlockCipherMode.extend();return CBC.Encryptor=CBC.extend({processBlock:function(words,offset){var cipher=this._cipher,blockSize=cipher.blockSize;xorBlock.call(this,words,offset,blockSize),cipher.encryptBlock(words,offset),this._prevBlock=words.slice(offset,offset+blockSize)}}),CBC.Decryptor=CBC.extend({processBlock:function(words,offset){var cipher=this._cipher,blockSize=cipher.blockSize,thisBlock=words.slice(offset,offset+blockSize);cipher.decryptBlock(words,offset),xorBlock.call(this,words,offset,blockSize),this._prevBlock=thisBlock}}),CBC}(),C_pad=C.pad={},Pkcs7=C_pad.Pkcs7={pad:function(data,blockSize){for(var blockSizeBytes=4*blockSize,nPaddingBytes=blockSizeBytes-data.sigBytes%blockSizeBytes,paddingWord=nPaddingBytes<<24|nPaddingBytes<<16|nPaddingBytes<<8|nPaddingBytes,paddingWords=[],i=0;i<nPaddingBytes;i+=4)paddingWords.push(paddingWord);var padding=WordArray.create(paddingWords,nPaddingBytes);data.concat(padding)},unpad:function(data){var nPaddingBytes=255&data.words[data.sigBytes-1>>>2];data.sigBytes-=nPaddingBytes}},CipherParams=(C_lib.BlockCipher=Cipher.extend({cfg:Cipher.cfg.extend({mode:CBC,padding:Pkcs7}),reset:function(){Cipher.reset.call(this);var cfg=this.cfg,iv=cfg.iv,mode=cfg.mode;if(this._xformMode==this._ENC_XFORM_MODE)var modeCreator=mode.createEncryptor;else{var modeCreator=mode.createDecryptor;this._minBufferSize=1}this._mode=modeCreator.call(mode,this,iv&&iv.words)},_doProcessBlock:function(words,offset){this._mode.processBlock(words,offset)},_doFinalize:function(){var padding=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){padding.pad(this._data,this.blockSize);var finalProcessedBlocks=this._process(!0)}else{var finalProcessedBlocks=this._process(!0);padding.unpad(finalProcessedBlocks)}return finalProcessedBlocks},blockSize:4}),C_lib.CipherParams=Base.extend({init:function(cipherParams){this.mixIn(cipherParams)},toString:function(formatter){return(formatter||this.formatter).stringify(this)}})),C_format=C.format={},OpenSSLFormatter=C_format.OpenSSL={stringify:function(cipherParams){var ciphertext=cipherParams.ciphertext,salt=cipherParams.salt;if(salt)var wordArray=WordArray.create([1398893684,1701076831]).concat(salt).concat(ciphertext);else var wordArray=ciphertext;return wordArray.toString(Base64)},parse:function(openSSLStr){var ciphertext=Base64.parse(openSSLStr),ciphertextWords=ciphertext.words;if(1398893684==ciphertextWords[0]&&1701076831==ciphertextWords[1]){var salt=WordArray.create(ciphertextWords.slice(2,4));ciphertextWords.splice(0,4),ciphertext.sigBytes-=16}return CipherParams.create({ciphertext:ciphertext,salt:salt})}},SerializableCipher=C_lib.SerializableCipher=Base.extend({cfg:Base.extend({format:OpenSSLFormatter}),encrypt:function(cipher,message,key,cfg){cfg=this.cfg.extend(cfg);var encryptor=cipher.createEncryptor(key,cfg),ciphertext=encryptor.finalize(message),cipherCfg=encryptor.cfg;return CipherParams.create({ciphertext:ciphertext,key:key,iv:cipherCfg.iv,algorithm:cipher,mode:cipherCfg.mode,padding:cipherCfg.padding,blockSize:cipher.blockSize,formatter:cfg.format})},decrypt:function(cipher,ciphertext,key,cfg){cfg=this.cfg.extend(cfg),ciphertext=this._parse(ciphertext,cfg.format);var plaintext=cipher.createDecryptor(key,cfg).finalize(ciphertext.ciphertext);return plaintext},_parse:function(ciphertext,format){return"string"==typeof ciphertext?format.parse(ciphertext,this):ciphertext}}),C_kdf=C.kdf={},OpenSSLKdf=C_kdf.OpenSSL={execute:function(password,keySize,ivSize,salt){salt||(salt=WordArray.random(8));var key=EvpKDF.create({keySize:keySize+ivSize}).compute(password,salt),iv=WordArray.create(key.words.slice(keySize),4*ivSize);return key.sigBytes=4*keySize,CipherParams.create({key:key,iv:iv,salt:salt})}},PasswordBasedCipher=C_lib.PasswordBasedCipher=SerializableCipher.extend({cfg:SerializableCipher.cfg.extend({kdf:OpenSSLKdf}),encrypt:function(cipher,message,password,cfg){cfg=this.cfg.extend(cfg);var derivedParams=cfg.kdf.execute(password,cipher.keySize,cipher.ivSize);cfg.iv=derivedParams.iv;var ciphertext=SerializableCipher.encrypt.call(this,cipher,message,derivedParams.key,cfg);return ciphertext.mixIn(derivedParams),ciphertext},decrypt:function(cipher,ciphertext,password,cfg){cfg=this.cfg.extend(cfg),ciphertext=this._parse(ciphertext,cfg.format);var derivedParams=cfg.kdf.execute(password,cipher.keySize,cipher.ivSize,ciphertext.salt);cfg.iv=derivedParams.iv;var plaintext=SerializableCipher.decrypt.call(this,cipher,ciphertext,derivedParams.key,cfg);return plaintext}})}(),function(){var C=CryptoJS,C_lib=C.lib,BlockCipher=C_lib.BlockCipher,C_algo=C.algo,SBOX=[],INV_SBOX=[],SUB_MIX_0=[],SUB_MIX_1=[],SUB_MIX_2=[],SUB_MIX_3=[],INV_SUB_MIX_0=[],INV_SUB_MIX_1=[],INV_SUB_MIX_2=[],INV_SUB_MIX_3=[];!function(){for(var d=[],i=0;i<256;i++)i<128?d[i]=i<<1:d[i]=i<<1^283;for(var x=0,xi=0,i=0;i<256;i++){var sx=xi^xi<<1^xi<<2^xi<<3^xi<<4;sx=sx>>>8^255&sx^99,SBOX[x]=sx,INV_SBOX[sx]=x;var x2=d[x],x4=d[x2],x8=d[x4],t=257*d[sx]^16843008*sx;SUB_MIX_0[x]=t<<24|t>>>8,SUB_MIX_1[x]=t<<16|t>>>16,SUB_MIX_2[x]=t<<8|t>>>24,SUB_MIX_3[x]=t;var t=16843009*x8^65537*x4^257*x2^16843008*x;INV_SUB_MIX_0[sx]=t<<24|t>>>8,INV_SUB_MIX_1[sx]=t<<16|t>>>16,INV_SUB_MIX_2[sx]=t<<8|t>>>24,INV_SUB_MIX_3[sx]=t,x?(x=x2^d[d[d[x8^x2]]],xi^=d[d[xi]]):x=xi=1}}();var RCON=[0,1,2,4,8,16,32,64,128,27,54],AES=C_algo.AES=BlockCipher.extend({_doReset:function(){for(var key=this._key,keyWords=key.words,keySize=key.sigBytes/4,nRounds=this._nRounds=keySize+6,ksRows=4*(nRounds+1),keySchedule=this._keySchedule=[],ksRow=0;ksRow<ksRows;ksRow++)if(ksRow<keySize)keySchedule[ksRow]=keyWords[ksRow];else{var t=keySchedule[ksRow-1];ksRow%keySize?keySize>6&&ksRow%keySize==4&&(t=SBOX[t>>>24]<<24|SBOX[t>>>16&255]<<16|SBOX[t>>>8&255]<<8|SBOX[255&t]):(t=t<<8|t>>>24,t=SBOX[t>>>24]<<24|SBOX[t>>>16&255]<<16|SBOX[t>>>8&255]<<8|SBOX[255&t],t^=RCON[ksRow/keySize|0]<<24),keySchedule[ksRow]=keySchedule[ksRow-keySize]^t}for(var invKeySchedule=this._invKeySchedule=[],invKsRow=0;invKsRow<ksRows;invKsRow++){var ksRow=ksRows-invKsRow;if(invKsRow%4)var t=keySchedule[ksRow];else var t=keySchedule[ksRow-4];invKsRow<4||ksRow<=4?invKeySchedule[invKsRow]=t:invKeySchedule[invKsRow]=INV_SUB_MIX_0[SBOX[t>>>24]]^INV_SUB_MIX_1[SBOX[t>>>16&255]]^INV_SUB_MIX_2[SBOX[t>>>8&255]]^INV_SUB_MIX_3[SBOX[255&t]]}},encryptBlock:function(M,offset){this._doCryptBlock(M,offset,this._keySchedule,SUB_MIX_0,SUB_MIX_1,SUB_MIX_2,SUB_MIX_3,SBOX)},decryptBlock:function(M,offset){var t=M[offset+1];M[offset+1]=M[offset+3],M[offset+3]=t,this._doCryptBlock(M,offset,this._invKeySchedule,INV_SUB_MIX_0,INV_SUB_MIX_1,INV_SUB_MIX_2,INV_SUB_MIX_3,INV_SBOX);var t=M[offset+1];M[offset+1]=M[offset+3],M[offset+3]=t},_doCryptBlock:function(M,offset,keySchedule,SUB_MIX_0,SUB_MIX_1,SUB_MIX_2,SUB_MIX_3,SBOX){for(var nRounds=this._nRounds,s0=M[offset]^keySchedule[0],s1=M[offset+1]^keySchedule[1],s2=M[offset+2]^keySchedule[2],s3=M[offset+3]^keySchedule[3],ksRow=4,round=1;round<nRounds;round++){var t0=SUB_MIX_0[s0>>>24]^SUB_MIX_1[s1>>>16&255]^SUB_MIX_2[s2>>>8&255]^SUB_MIX_3[255&s3]^keySchedule[ksRow++],t1=SUB_MIX_0[s1>>>24]^SUB_MIX_1[s2>>>16&255]^SUB_MIX_2[s3>>>8&255]^SUB_MIX_3[255&s0]^keySchedule[ksRow++],t2=SUB_MIX_0[s2>>>24]^SUB_MIX_1[s3>>>16&255]^SUB_MIX_2[s0>>>8&255]^SUB_MIX_3[255&s1]^keySchedule[ksRow++],t3=SUB_MIX_0[s3>>>24]^SUB_MIX_1[s0>>>16&255]^SUB_MIX_2[s1>>>8&255]^SUB_MIX_3[255&s2]^keySchedule[ksRow++];s0=t0,s1=t1,s2=t2,s3=t3}var t0=(SBOX[s0>>>24]<<24|SBOX[s1>>>16&255]<<16|SBOX[s2>>>8&255]<<8|SBOX[255&s3])^keySchedule[ksRow++],t1=(SBOX[s1>>>24]<<24|SBOX[s2>>>16&255]<<16|SBOX[s3>>>8&255]<<8|SBOX[255&s0])^keySchedule[ksRow++],t2=(SBOX[s2>>>24]<<24|SBOX[s3>>>16&255]<<16|SBOX[s0>>>8&255]<<8|SBOX[255&s1])^keySchedule[ksRow++],t3=(SBOX[s3>>>24]<<24|SBOX[s0>>>16&255]<<16|SBOX[s1>>>8&255]<<8|SBOX[255&s2])^keySchedule[ksRow++];M[offset]=t0,M[offset+1]=t1,M[offset+2]=t2,M[offset+3]=t3},keySize:8});C.AES=BlockCipher._createHelper(AES)}(),function(){var C=CryptoJS,C_lib=C.lib,WordArray=C_lib.WordArray,Hasher=C_lib.Hasher,C_algo=C.algo,W=[],SHA1=C_algo.SHA1=Hasher.extend({_doReset:function(){this._hash=new WordArray.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(M,offset){for(var H=this._hash.words,a=H[0],b=H[1],c=H[2],d=H[3],e=H[4],i=0;i<80;i++){if(i<16)W[i]=0|M[offset+i];else{var n=W[i-3]^W[i-8]^W[i-14]^W[i-16];W[i]=n<<1|n>>>31}var t=(a<<5|a>>>27)+e+W[i];t+=i<20?(b&c|~b&d)+1518500249:i<40?(b^c^d)+1859775393:i<60?(b&c|b&d|c&d)-1894007588:(b^c^d)-899497514,e=d,d=c,c=b<<30|b>>>2,b=a,a=t}H[0]=H[0]+a|0,H[1]=H[1]+b|0,H[2]=H[2]+c|0,H[3]=H[3]+d|0,H[4]=H[4]+e|0},_doFinalize:function(){var data=this._data,dataWords=data.words,nBitsTotal=8*this._nDataBytes,nBitsLeft=8*data.sigBytes;return dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32,dataWords[(nBitsLeft+64>>>9<<4)+14]=Math.floor(nBitsTotal/4294967296),dataWords[(nBitsLeft+64>>>9<<4)+15]=nBitsTotal,data.sigBytes=4*dataWords.length,this._process(),this._hash},clone:function(){var clone=Hasher.clone.call(this);return clone._hash=this._hash.clone(),clone}});C.SHA1=Hasher._createHelper(SHA1),C.HmacSHA1=Hasher._createHmacHelper(SHA1)}(),function(Math){var C=CryptoJS,C_lib=C.lib,WordArray=C_lib.WordArray,Hasher=C_lib.Hasher,C_algo=C.algo,H=[],K=[];!function(){function isPrime(n){for(var sqrtN=Math.sqrt(n),factor=2;factor<=sqrtN;factor++)if(!(n%factor))return!1;return!0}function getFractionalBits(n){return 4294967296*(n-(0|n))|0}for(var n=2,nPrime=0;nPrime<64;)isPrime(n)&&(nPrime<8&&(H[nPrime]=getFractionalBits(Math.pow(n,.5))),K[nPrime]=getFractionalBits(Math.pow(n,1/3)),nPrime++),n++}();var W=[],SHA256=C_algo.SHA256=Hasher.extend({_doReset:function(){this._hash=new WordArray.init(H.slice(0))},_doProcessBlock:function(M,offset){for(var H=this._hash.words,a=H[0],b=H[1],c=H[2],d=H[3],e=H[4],f=H[5],g=H[6],h=H[7],i=0;i<64;i++){if(i<16)W[i]=0|M[offset+i];else{var gamma0x=W[i-15],gamma0=(gamma0x<<25|gamma0x>>>7)^(gamma0x<<14|gamma0x>>>18)^gamma0x>>>3,gamma1x=W[i-2],gamma1=(gamma1x<<15|gamma1x>>>17)^(gamma1x<<13|gamma1x>>>19)^gamma1x>>>10;W[i]=gamma0+W[i-7]+gamma1+W[i-16]}var ch=e&f^~e&g,maj=a&b^a&c^b&c,sigma0=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22),sigma1=(e<<26|e>>>6)^(e<<21|e>>>11)^(e<<7|e>>>25),t1=h+sigma1+ch+K[i]+W[i],t2=sigma0+maj;h=g,g=f,f=e,e=d+t1|0,d=c,c=b,b=a,a=t1+t2|0}H[0]=H[0]+a|0,H[1]=H[1]+b|0,H[2]=H[2]+c|0,H[3]=H[3]+d|0,H[4]=H[4]+e|0,H[5]=H[5]+f|0,H[6]=H[6]+g|0,H[7]=H[7]+h|0},_doFinalize:function(){var data=this._data,dataWords=data.words,nBitsTotal=8*this._nDataBytes,nBitsLeft=8*data.sigBytes;return dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32,dataWords[(nBitsLeft+64>>>9<<4)+14]=Math.floor(nBitsTotal/4294967296),dataWords[(nBitsLeft+64>>>9<<4)+15]=nBitsTotal,data.sigBytes=4*dataWords.length,this._process(),this._hash},clone:function(){var clone=Hasher.clone.call(this);return clone._hash=this._hash.clone(),clone}});C.SHA256=Hasher._createHelper(SHA256),C.HmacSHA256=Hasher._createHmacHelper(SHA256)}(Math),function(){var C=CryptoJS,C_lib=C.lib,Base=C_lib.Base,C_enc=C.enc,Utf8=C_enc.Utf8,C_algo=C.algo;C_algo.HMAC=Base.extend({init:function(hasher,key){hasher=this._hasher=new hasher.init,"string"==typeof key&&(key=Utf8.parse(key));var hasherBlockSize=hasher.blockSize,hasherBlockSizeBytes=4*hasherBlockSize;key.sigBytes>hasherBlockSizeBytes&&(key=hasher.finalize(key)),key.clamp();for(var oKey=this._oKey=key.clone(),iKey=this._iKey=key.clone(),oKeyWords=oKey.words,iKeyWords=iKey.words,i=0;i<hasherBlockSize;i++)oKeyWords[i]^=1549556828,iKeyWords[i]^=909522486;oKey.sigBytes=iKey.sigBytes=hasherBlockSizeBytes,this.reset()},reset:function(){var hasher=this._hasher;hasher.reset(),hasher.update(this._iKey)},update:function(messageUpdate){return this._hasher.update(messageUpdate),this},finalize:function(messageUpdate){var hasher=this._hasher,innerHash=hasher.finalize(messageUpdate);hasher.reset();var hmac=hasher.finalize(this._oKey.clone().concat(innerHash));return hmac}})}(),CryptoJS.pad.NoPadding={pad:function(){},unpad:function(){}},CryptoJS.mode.CTR=function(){var CTR=CryptoJS.lib.BlockCipherMode.extend(),Encryptor=CTR.Encryptor=CTR.extend({processBlock:function(words,offset){var cipher=this._cipher,blockSize=cipher.blockSize,iv=this._iv,counter=this._counter;iv&&(counter=this._counter=iv.slice(0),this._iv=void 0);var keystream=counter.slice(0);cipher.encryptBlock(keystream,0),counter[blockSize-1]=counter[blockSize-1]+1|0;for(var i=0;i<blockSize;i++)words[offset+i]^=keystream[i]}});return CTR.Decryptor=Encryptor,CTR}(),CryptoJS}),/*!
+var zl=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],zr=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],sl=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],sr=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],hl=[0,1518500249,1859775393,2400959708,2840853838],hr=[1352829926,1548603684,1836072691,2053994217,0];module.exports=ripemd160}).call(this,require("buffer").Buffer)},{buffer:6}],168:[function(require,module,exports){arguments[4][33][0].apply(exports,arguments)},{"./chrome/chrome_shim":169,"./edge/edge_shim":171,"./firefox/firefox_shim":173,"./safari/safari_shim":175,"./utils":176,dup:33}],169:[function(require,module,exports){arguments[4][34][0].apply(exports,arguments)},{"../utils.js":176,"./getusermedia":170,dup:34}],170:[function(require,module,exports){arguments[4][35][0].apply(exports,arguments)},{"../utils.js":176,dup:35}],171:[function(require,module,exports){arguments[4][36][0].apply(exports,arguments)},{"../utils":176,"./getusermedia":172,dup:36,sdp:183}],172:[function(require,module,exports){arguments[4][37][0].apply(exports,arguments)},{dup:37}],173:[function(require,module,exports){arguments[4][38][0].apply(exports,arguments)},{"../utils":176,"./getusermedia":174,dup:38}],174:[function(require,module,exports){arguments[4][39][0].apply(exports,arguments)},{"../utils":176,dup:39}],175:[function(require,module,exports){arguments[4][40][0].apply(exports,arguments)},{dup:40}],176:[function(require,module,exports){arguments[4][41][0].apply(exports,arguments)},{dup:41}],177:[function(require,module,exports){function PeerConnection(config,constraints){var item,self=this;WildEmitter.call(this),config=config||{},config.iceServers=config.iceServers||[];var detectedBrowser=adapter.browserDetails.browser;this.enableChromeNativeSimulcast=!1,constraints&&constraints.optional&&"chrome"===detectedBrowser&&null===navigator.appVersion.match(/Chromium\//)&&constraints.optional.forEach(function(constraint){constraint.enableChromeNativeSimulcast&&(self.enableChromeNativeSimulcast=!0)}),this.enableMultiStreamHacks=!1,constraints&&constraints.optional&&"chrome"===detectedBrowser&&constraints.optional.forEach(function(constraint){constraint.enableMultiStreamHacks&&(self.enableMultiStreamHacks=!0)}),this.restrictBandwidth=0,constraints&&constraints.optional&&constraints.optional.forEach(function(constraint){constraint.andyetRestrictBandwidth&&(self.restrictBandwidth=constraint.andyetRestrictBandwidth)}),this.batchIceCandidates=0,constraints&&constraints.optional&&constraints.optional.forEach(function(constraint){constraint.andyetBatchIce&&(self.batchIceCandidates=constraint.andyetBatchIce)}),this.batchedIceCandidates=[],constraints&&constraints.optional&&"chrome"===detectedBrowser&&constraints.optional.forEach(function(constraint){constraint.andyetFasterICE&&(self.eliminateDuplicateCandidates=constraint.andyetFasterICE)}),constraints&&constraints.optional&&constraints.optional.forEach(function(constraint){constraint.andyetDontSignalCandidates&&(self.dontSignalCandidates=constraint.andyetDontSignalCandidates)}),this.assumeSetLocalSuccess=!1,constraints&&constraints.optional&&constraints.optional.forEach(function(constraint){constraint.andyetAssumeSetLocalSuccess&&(self.assumeSetLocalSuccess=constraint.andyetAssumeSetLocalSuccess)}),"firefox"===detectedBrowser&&constraints&&constraints.optional&&(this.wtFirefox=0,constraints.optional.forEach(function(constraint){constraint.andyetFirefoxMakesMeSad&&(self.wtFirefox=constraint.andyetFirefoxMakesMeSad,self.wtFirefox>0&&(self.firefoxcandidatebuffer=[]))})),this.pc=new Peerconn(config,constraints),this.getLocalStreams=this.pc.getLocalStreams.bind(this.pc),this.getRemoteStreams=this.pc.getRemoteStreams.bind(this.pc),this.addStream=this.pc.addStream.bind(this.pc),this.removeStream=this.pc.removeStream.bind(this.pc),this.pc.on("*",function(){self.emit.apply(self,arguments)}),this.pc.onremovestream=this.emit.bind(this,"removeStream"),this.pc.onaddstream=this.emit.bind(this,"addStream"),this.pc.onnegotiationneeded=this.emit.bind(this,"negotiationNeeded"),this.pc.oniceconnectionstatechange=this.emit.bind(this,"iceConnectionStateChange"),this.pc.onsignalingstatechange=this.emit.bind(this,"signalingStateChange"),this.pc.onicecandidate=this._onIce.bind(this),this.pc.ondatachannel=this._onDataChannel.bind(this),this.localDescription={contents:[]},this.remoteDescription={contents:[]},this.config={debug:!1,sid:"",isInitiator:!0,sdpSessionID:Date.now(),useJingle:!1},this.iceCredentials={local:{},remote:{}};for(item in config)this.config[item]=config[item];this.config.debug&&this.on("*",function(){var logger=config.logger||console;logger.log("PeerConnection event:",arguments)}),this.hadLocalStunCandidate=!1,this.hadRemoteStunCandidate=!1,this.hadLocalRelayCandidate=!1,this.hadRemoteRelayCandidate=!1,this.hadLocalIPv6Candidate=!1,this.hadRemoteIPv6Candidate=!1,this._remoteDataChannels=[],this._localDataChannels=[],this._candidateBuffer=[]}var util=require("util"),SJJ=require("sdp-jingle-json"),WildEmitter=require("wildemitter"),Peerconn=require("traceablepeerconnection"),adapter=require("webrtc-adapter"),cloneDeep=require("lodash.clonedeep");util.inherits(PeerConnection,WildEmitter),Object.defineProperty(PeerConnection.prototype,"signalingState",{get:function(){return this.pc.signalingState}}),Object.defineProperty(PeerConnection.prototype,"iceConnectionState",{get:function(){return this.pc.iceConnectionState}}),PeerConnection.prototype._role=function(){return this.isInitiator?"initiator":"responder"},PeerConnection.prototype.addStream=function(stream){this.localStream=stream,this.pc.addStream(stream)},PeerConnection.prototype._checkLocalCandidate=function(candidate){var cand=SJJ.toCandidateJSON(candidate);"srflx"==cand.type?this.hadLocalStunCandidate=!0:"relay"==cand.type&&(this.hadLocalRelayCandidate=!0),cand.ip.indexOf(":")!=-1&&(this.hadLocalIPv6Candidate=!0)},PeerConnection.prototype._checkRemoteCandidate=function(candidate){var cand=SJJ.toCandidateJSON(candidate);"srflx"==cand.type?this.hadRemoteStunCandidate=!0:"relay"==cand.type&&(this.hadRemoteRelayCandidate=!0),cand.ip.indexOf(":")!=-1&&(this.hadRemoteIPv6Candidate=!0)},PeerConnection.prototype.processIce=function(update,cb){cb=cb||function(){};var self=this;if("closed"===this.pc.signalingState)return cb();if(update.contents||update.jingle&&update.jingle.contents){var contentNames=this.remoteDescription.contents.map(function(c){return c.name}),contents=update.contents||update.jingle.contents;contents.forEach(function(content){var transport=content.transport||{},candidates=transport.candidates||[],mline=contentNames.indexOf(content.name),mid=content.name,remoteContent=self.remoteDescription.contents.find(function(c){return c.name===content.name}),processCandidates=function(){candidates.forEach(function(candidate){var iceCandidate=SJJ.toCandidateSDP(candidate)+"\r\n";self.pc.addIceCandidate(new RTCIceCandidate({candidate:iceCandidate,sdpMLineIndex:mline,sdpMid:mid}),function(){},function(err){self.emit("error",err)}),self._checkRemoteCandidate(iceCandidate)}),cb()};if(self.iceCredentials.remote[content.name]&&transport.ufrag&&self.iceCredentials.remote[content.name].ufrag!==transport.ufrag)if(remoteContent){remoteContent.transport.ufrag=transport.ufrag,remoteContent.transport.pwd=transport.pwd;var offer={type:"offer",jingle:self.remoteDescription};offer.sdp=SJJ.toSessionSDP(offer.jingle,{sid:self.config.sdpSessionID,role:self._role(),direction:"incoming"}),self.pc.setRemoteDescription(new RTCSessionDescription(offer),function(){processCandidates()},function(err){self.emit("error",err)})}else self.emit("error","ice restart failed to find matching content");else processCandidates()})}else{if(update.candidate&&0!==update.candidate.candidate.indexOf("a=")&&(update.candidate.candidate="a="+update.candidate.candidate),this.wtFirefox&&null!==this.firefoxcandidatebuffer&&this.pc.localDescription&&"offer"===this.pc.localDescription.type)return this.firefoxcandidatebuffer.push(update.candidate),cb();self.pc.addIceCandidate(new RTCIceCandidate(update.candidate),function(){},function(err){self.emit("error",err)}),self._checkRemoteCandidate(update.candidate.candidate),cb()}},PeerConnection.prototype.offer=function(constraints,cb){var self=this,hasConstraints=2===arguments.length,mediaConstraints=hasConstraints&&constraints?constraints:{offerToReceiveAudio:1,offerToReceiveVideo:1};return cb=hasConstraints?cb:constraints,cb=cb||function(){},"closed"===this.pc.signalingState?cb("Already closed"):void this.pc.createOffer(function(offer){var expandedOffer={type:"offer",sdp:offer.sdp};self.assumeSetLocalSuccess&&(self.emit("offer",expandedOffer),cb(null,expandedOffer)),self._candidateBuffer=[],self.pc.setLocalDescription(offer,function(){var jingle;self.config.useJingle&&(jingle=SJJ.toSessionJSON(offer.sdp,{role:self._role(),direction:"outgoing"}),jingle.sid=self.config.sid,self.localDescription=jingle,jingle.contents.forEach(function(content){var transport=content.transport||{};transport.ufrag&&(self.iceCredentials.local[content.name]={ufrag:transport.ufrag,pwd:transport.pwd})}),expandedOffer.jingle=jingle),expandedOffer.sdp.split("\r\n").forEach(function(line){0===line.indexOf("a=candidate:")&&self._checkLocalCandidate(line)}),self.assumeSetLocalSuccess||(self.emit("offer",expandedOffer),cb(null,expandedOffer))},function(err){self.emit("error",err),cb(err)})},function(err){self.emit("error",err),cb(err)},mediaConstraints)},PeerConnection.prototype.handleOffer=function(offer,cb){cb=cb||function(){};var self=this;if(offer.type="offer",offer.jingle){if(this.enableChromeNativeSimulcast&&offer.jingle.contents.forEach(function(content){"video"===content.name&&(content.application.googConferenceFlag=!0)}),this.enableMultiStreamHacks&&offer.jingle.contents.forEach(function(content){if("video"===content.name){var sources=content.application.sources||[];0!==sources.length&&"3735928559"===sources[0].ssrc||(sources.unshift({ssrc:"3735928559",parameters:[{key:"cname",value:"deadbeef"},{key:"msid",value:"mixyourfecintothis please"}]}),content.application.sources=sources)}}),self.restrictBandwidth>0&&offer.jingle.contents.length>=2&&"video"===offer.jingle.contents[1].name){var content=offer.jingle.contents[1],hasBw=content.application&&content.application.bandwidth&&content.application.bandwidth.bandwidth;hasBw||(offer.jingle.contents[1].application.bandwidth={type:"AS",bandwidth:self.restrictBandwidth.toString()},offer.sdp=SJJ.toSessionSDP(offer.jingle,{sid:self.config.sdpSessionID,role:self._role(),direction:"outgoing"}))}offer.jingle.contents.forEach(function(content){var transport=content.transport||{};transport.ufrag&&(self.iceCredentials.remote[content.name]={ufrag:transport.ufrag,pwd:transport.pwd})}),offer.sdp=SJJ.toSessionSDP(offer.jingle,{sid:self.config.sdpSessionID,role:self._role(),direction:"incoming"}),self.remoteDescription=offer.jingle}offer.sdp.split("\r\n").forEach(function(line){0===line.indexOf("a=candidate:")&&self._checkRemoteCandidate(line)}),self.pc.setRemoteDescription(new RTCSessionDescription(offer),function(){cb()},cb)},PeerConnection.prototype.answerAudioOnly=function(cb){var mediaConstraints={mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:!1}};this._answer(mediaConstraints,cb)},PeerConnection.prototype.answerBroadcastOnly=function(cb){var mediaConstraints={mandatory:{OfferToReceiveAudio:!1,OfferToReceiveVideo:!1}};this._answer(mediaConstraints,cb)},PeerConnection.prototype.answer=function(constraints,cb){var hasConstraints=2===arguments.length,callback=hasConstraints?cb:constraints,mediaConstraints=hasConstraints&&constraints?constraints:{mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:!0}};this._answer(mediaConstraints,callback)},PeerConnection.prototype.handleAnswer=function(answer,cb){cb=cb||function(){};var self=this;answer.jingle&&(answer.sdp=SJJ.toSessionSDP(answer.jingle,{sid:self.config.sdpSessionID,role:self._role(),direction:"incoming"}),self.remoteDescription=answer.jingle,answer.jingle.contents.forEach(function(content){var transport=content.transport||{};transport.ufrag&&(self.iceCredentials.remote[content.name]={ufrag:transport.ufrag,pwd:transport.pwd})})),answer.sdp.split("\r\n").forEach(function(line){0===line.indexOf("a=candidate:")&&self._checkRemoteCandidate(line)}),self.pc.setRemoteDescription(new RTCSessionDescription(answer),function(){self.wtFirefox&&window.setTimeout(function(){self.firefoxcandidatebuffer.forEach(function(candidate){self.pc.addIceCandidate(new RTCIceCandidate(candidate),function(){},function(err){self.emit("error",err)}),self._checkRemoteCandidate(candidate.candidate)}),self.firefoxcandidatebuffer=null},self.wtFirefox),cb(null)},cb)},PeerConnection.prototype.close=function(){this.pc.close(),this._localDataChannels=[],this._remoteDataChannels=[],this.emit("close")},PeerConnection.prototype._answer=function(constraints,cb){cb=cb||function(){};var self=this;if(!this.pc.remoteDescription)throw new Error("remoteDescription not set");return"closed"===this.pc.signalingState?cb("Already closed"):void self.pc.createAnswer(function(answer){var sim=[];if(self.enableChromeNativeSimulcast&&(answer.jingle=SJJ.toSessionJSON(answer.sdp,{role:self._role(),direction:"outgoing"}),answer.jingle.contents.length>=2&&"video"===answer.jingle.contents[1].name)){var groups=answer.jingle.contents[1].application.sourceGroups||[],hasSim=!1;if(groups.forEach(function(group){"SIM"==group.semantics&&(hasSim=!0)}),!hasSim&&answer.jingle.contents[1].application.sources.length){var newssrc=JSON.parse(JSON.stringify(answer.jingle.contents[1].application.sources[0]));newssrc.ssrc=""+Math.floor(4294967295*Math.random()),answer.jingle.contents[1].application.sources.push(newssrc),sim.push(answer.jingle.contents[1].application.sources[0].ssrc),sim.push(newssrc.ssrc),groups.push({semantics:"SIM",sources:sim});var rtxssrc=JSON.parse(JSON.stringify(newssrc));rtxssrc.ssrc=""+Math.floor(4294967295*Math.random()),answer.jingle.contents[1].application.sources.push(rtxssrc),groups.push({semantics:"FID",sources:[newssrc.ssrc,rtxssrc.ssrc]}),answer.jingle.contents[1].application.sourceGroups=groups,answer.sdp=SJJ.toSessionSDP(answer.jingle,{sid:self.config.sdpSessionID,role:self._role(),direction:"outgoing"})}}var expandedAnswer={type:"answer",sdp:answer.sdp};if(self.assumeSetLocalSuccess){var copy=cloneDeep(expandedAnswer);self.emit("answer",copy),cb(null,copy)}self._candidateBuffer=[],self.pc.setLocalDescription(answer,function(){if(self.config.useJingle){var jingle=SJJ.toSessionJSON(answer.sdp,{role:self._role(),direction:"outgoing"});jingle.sid=self.config.sid,self.localDescription=jingle,expandedAnswer.jingle=jingle}if(self.enableChromeNativeSimulcast&&(expandedAnswer.jingle||(expandedAnswer.jingle=SJJ.toSessionJSON(answer.sdp,{role:self._role(),direction:"outgoing"})),expandedAnswer.jingle.contents[1].application.sources.forEach(function(source,idx){source.parameters=source.parameters.map(function(parameter){return"msid"===parameter.key&&(parameter.value+="-"+Math.floor(idx/2)),parameter})}),expandedAnswer.sdp=SJJ.toSessionSDP(expandedAnswer.jingle,{sid:self.sdpSessionID,role:self._role(),direction:"outgoing"})),expandedAnswer.sdp.split("\r\n").forEach(function(line){0===line.indexOf("a=candidate:")&&self._checkLocalCandidate(line)}),!self.assumeSetLocalSuccess){var copy=cloneDeep(expandedAnswer);self.emit("answer",copy),cb(null,copy)}},function(err){self.emit("error",err),cb(err)})},function(err){self.emit("error",err),cb(err)},constraints)},PeerConnection.prototype._onIce=function(event){var self=this;if(event.candidate){if(this.dontSignalCandidates)return;var ice=event.candidate,expandedCandidate={candidate:{candidate:ice.candidate,sdpMid:ice.sdpMid,sdpMLineIndex:ice.sdpMLineIndex}};this._checkLocalCandidate(ice.candidate);var already,idx,cand=SJJ.toCandidateJSON(ice.candidate);if(this.eliminateDuplicateCandidates&&"relay"===cand.type&&(already=this._candidateBuffer.filter(function(c){return"relay"===c.type}).map(function(c){return c.foundation+":"+c.component}),idx=already.indexOf(cand.foundation+":"+cand.component),idx>-1&&cand.priority>>24>=already[idx].priority>>24))return;if("max-bundle"===this.config.bundlePolicy&&(already=this._candidateBuffer.filter(function(c){return cand.type===c.type}).map(function(cand){return cand.address+":"+cand.port}),idx=already.indexOf(cand.address+":"+cand.port),idx>-1))return;if("require"===this.config.rtcpMuxPolicy&&"2"===cand.component)return;if(this._candidateBuffer.push(cand),self.config.useJingle){if(ice.sdpMid||(self.pc.remoteDescription&&"offer"===self.pc.remoteDescription.type?ice.sdpMid=self.remoteDescription.contents[ice.sdpMLineIndex].name:ice.sdpMid=self.localDescription.contents[ice.sdpMLineIndex].name),!self.iceCredentials.local[ice.sdpMid]){var jingle=SJJ.toSessionJSON(self.pc.localDescription.sdp,{role:self._role(),direction:"outgoing"});jingle.contents.forEach(function(content){var transport=content.transport||{};transport.ufrag&&(self.iceCredentials.local[content.name]={ufrag:transport.ufrag,pwd:transport.pwd})})}if(expandedCandidate.jingle={contents:[{name:ice.sdpMid,creator:self._role(),transport:{transportType:"iceUdp",ufrag:self.iceCredentials.local[ice.sdpMid].ufrag,pwd:self.iceCredentials.local[ice.sdpMid].pwd,candidates:[cand]}}]},self.batchIceCandidates>0)return 0===self.batchedIceCandidates.length&&window.setTimeout(function(){var contents={};self.batchedIceCandidates.forEach(function(content){content=content.contents[0],contents[content.name]||(contents[content.name]=content),contents[content.name].transport.candidates.push(content.transport.candidates[0])});var newCand={jingle:{contents:[]}};Object.keys(contents).forEach(function(name){newCand.jingle.contents.push(contents[name])}),self.batchedIceCandidates=[],self.emit("ice",newCand)},self.batchIceCandidates),void self.batchedIceCandidates.push(expandedCandidate.jingle)}this.emit("ice",expandedCandidate)}else this.emit("endOfCandidates")},PeerConnection.prototype._onDataChannel=function(event){var channel=event.channel;this._remoteDataChannels.push(channel),this.emit("addChannel",channel)},PeerConnection.prototype.createDataChannel=function(name,opts){var channel=this.pc.createDataChannel(name,opts);return this._localDataChannels.push(channel),channel},PeerConnection.prototype.getStats=function(cb){this.pc.getStats(null,function(res){cb(null,res)},function(err){cb(err)})},module.exports=PeerConnection},{"lodash.clonedeep":133,"sdp-jingle-json":178,traceablepeerconnection:194,util:207,"webrtc-adapter":168,wildemitter:220}],178:[function(require,module,exports){var toSDP=require("./lib/tosdp"),toJSON=require("./lib/tojson");exports.toIncomingSDPOffer=function(session){return toSDP.toSessionSDP(session,{role:"responder",direction:"incoming"})},exports.toOutgoingSDPOffer=function(session){return toSDP.toSessionSDP(session,{role:"initiator",direction:"outgoing"})},exports.toIncomingSDPAnswer=function(session){return toSDP.toSessionSDP(session,{role:"initiator",direction:"incoming"})},exports.toOutgoingSDPAnswer=function(session){return toSDP.toSessionSDP(session,{role:"responder",direction:"outgoing"})},exports.toIncomingMediaSDPOffer=function(media){return toSDP.toMediaSDP(media,{role:"responder",direction:"incoming"})},exports.toOutgoingMediaSDPOffer=function(media){return toSDP.toMediaSDP(media,{role:"initiator",direction:"outgoing"})},exports.toIncomingMediaSDPAnswer=function(media){return toSDP.toMediaSDP(media,{role:"initiator",direction:"incoming"})},exports.toOutgoingMediaSDPAnswer=function(media){return toSDP.toMediaSDP(media,{role:"responder",direction:"outgoing"})},exports.toCandidateSDP=toSDP.toCandidateSDP,exports.toMediaSDP=toSDP.toMediaSDP,exports.toSessionSDP=toSDP.toSessionSDP,exports.toIncomingJSONOffer=function(sdp,creators){return toJSON.toSessionJSON(sdp,{role:"responder",direction:"incoming",creators:creators})},exports.toOutgoingJSONOffer=function(sdp,creators){return toJSON.toSessionJSON(sdp,{role:"initiator",direction:"outgoing",creators:creators})},exports.toIncomingJSONAnswer=function(sdp,creators){return toJSON.toSessionJSON(sdp,{role:"initiator",direction:"incoming",creators:creators})},exports.toOutgoingJSONAnswer=function(sdp,creators){return toJSON.toSessionJSON(sdp,{role:"responder",direction:"outgoing",creators:creators})},exports.toIncomingMediaJSONOffer=function(sdp,creator){return toJSON.toMediaJSON(sdp,{role:"responder",direction:"incoming",creator:creator})},exports.toOutgoingMediaJSONOffer=function(sdp,creator){return toJSON.toMediaJSON(sdp,{role:"initiator",direction:"outgoing",creator:creator})},exports.toIncomingMediaJSONAnswer=function(sdp,creator){return toJSON.toMediaJSON(sdp,{role:"initiator",direction:"incoming",creator:creator})},exports.toOutgoingMediaJSONAnswer=function(sdp,creator){return toJSON.toMediaJSON(sdp,{role:"responder",direction:"outgoing",creator:creator})},exports.toCandidateJSON=toJSON.toCandidateJSON,exports.toMediaJSON=toJSON.toMediaJSON,exports.toSessionJSON=toJSON.toSessionJSON},{"./lib/tojson":181,"./lib/tosdp":182}],179:[function(require,module,exports){exports.lines=function(sdp){return sdp.split("\r\n").filter(function(line){return line.length>0})},exports.findLine=function(prefix,mediaLines,sessionLines){for(var prefixLength=prefix.length,i=0;i<mediaLines.length;i++)if(mediaLines[i].substr(0,prefixLength)===prefix)return mediaLines[i];if(!sessionLines)return!1;for(var j=0;j<sessionLines.length;j++)if(sessionLines[j].substr(0,prefixLength)===prefix)return sessionLines[j];return!1},exports.findLines=function(prefix,mediaLines,sessionLines){for(var results=[],prefixLength=prefix.length,i=0;i<mediaLines.length;i++)mediaLines[i].substr(0,prefixLength)===prefix&&results.push(mediaLines[i]);if(results.length||!sessionLines)return results;for(var j=0;j<sessionLines.length;j++)sessionLines[j].substr(0,prefixLength)===prefix&&results.push(sessionLines[j]);return results},exports.mline=function(line){for(var parts=line.substr(2).split(" "),parsed={media:parts[0],port:parts[1],proto:parts[2],formats:[]},i=3;i<parts.length;i++)parts[i]&&parsed.formats.push(parts[i]);return parsed},exports.rtpmap=function(line){var parts=line.substr(9).split(" "),parsed={id:parts.shift()};return parts=parts[0].split("/"),parsed.name=parts[0],parsed.clockrate=parts[1],parsed.channels=3==parts.length?parts[2]:"1",parsed},exports.sctpmap=function(line){var parts=line.substr(10).split(" "),parsed={number:parts.shift(),protocol:parts.shift(),streams:parts.shift()};return parsed},exports.fmtp=function(line){for(var kv,key,value,parts=line.substr(line.indexOf(" ")+1).split(";"),parsed=[],i=0;i<parts.length;i++)kv=parts[i].split("="),key=kv[0].trim(),value=kv[1],key&&value?parsed.push({key:key,value:value}):key&&parsed.push({key:"",value:key});return parsed},exports.crypto=function(line){var parts=line.substr(9).split(" "),parsed={tag:parts[0],cipherSuite:parts[1],keyParams:parts[2],sessionParams:parts.slice(3).join(" ")};return parsed},exports.fingerprint=function(line){var parts=line.substr(14).split(" ");return{hash:parts[0],value:parts[1]}},exports.extmap=function(line){var parts=line.substr(9).split(" "),parsed={},idpart=parts.shift(),sp=idpart.indexOf("/");return sp>=0?(parsed.id=idpart.substr(0,sp),parsed.senders=idpart.substr(sp+1)):(parsed.id=idpart,parsed.senders="sendrecv"),parsed.uri=parts.shift()||"",parsed},exports.rtcpfb=function(line){var parts=line.substr(10).split(" "),parsed={};return parsed.id=parts.shift(),parsed.type=parts.shift(),"trr-int"===parsed.type?parsed.value=parts.shift():parsed.subtype=parts.shift()||"",parsed.parameters=parts,parsed},exports.candidate=function(line){var parts;parts=0===line.indexOf("a=candidate:")?line.substring(12).split(" "):line.substring(10).split(" ");for(var candidate={foundation:parts[0],component:parts[1],protocol:parts[2].toLowerCase(),priority:parts[3],ip:parts[4],port:parts[5],type:parts[7],generation:"0"},i=8;i<parts.length;i+=2)"raddr"===parts[i]?candidate.relAddr=parts[i+1]:"rport"===parts[i]?candidate.relPort=parts[i+1]:"generation"===parts[i]?candidate.generation=parts[i+1]:"tcptype"===parts[i]&&(candidate.tcpType=parts[i+1]);return candidate.network="1",candidate},exports.sourceGroups=function(lines){for(var parsed=[],i=0;i<lines.length;i++){var parts=lines[i].substr(13).split(" ");parsed.push({semantics:parts.shift(),sources:parts})}return parsed},exports.sources=function(lines){for(var parsed=[],sources={},i=0;i<lines.length;i++){var parts=lines[i].substr(7).split(" "),ssrc=parts.shift();if(!sources[ssrc]){var source={ssrc:ssrc,parameters:[]};parsed.push(source),sources[ssrc]=source}parts=parts.join(" ").split(":");var attribute=parts.shift(),value=parts.join(":")||null;sources[ssrc].parameters.push({key:attribute,value:value})}return parsed},exports.groups=function(lines){for(var parts,parsed=[],i=0;i<lines.length;i++)parts=lines[i].substr(8).split(" "),parsed.push({semantics:parts.shift(),contents:parts});return parsed},exports.bandwidth=function(line){var parts=line.substr(2).split(":"),parsed={};return parsed.type=parts.shift(),parsed.bandwidth=parts.shift(),parsed},exports.msid=function(line){var data=line.substr(7),parts=data.split(" ");return{msid:data,mslabel:parts[0],label:parts[1]}}},{}],180:[function(require,module,exports){module.exports={initiator:{incoming:{initiator:"recvonly",responder:"sendonly",both:"sendrecv",none:"inactive",recvonly:"initiator",sendonly:"responder",sendrecv:"both",inactive:"none"},outgoing:{initiator:"sendonly",responder:"recvonly",both:"sendrecv",none:"inactive",recvonly:"responder",sendonly:"initiator",sendrecv:"both",inactive:"none"}},responder:{incoming:{initiator:"sendonly",responder:"recvonly",both:"sendrecv",none:"inactive",recvonly:"responder",sendonly:"initiator",sendrecv:"both",inactive:"none"},outgoing:{initiator:"recvonly",responder:"sendonly",both:"sendrecv",none:"inactive",recvonly:"initiator",sendonly:"responder",sendrecv:"both",inactive:"none"}}}},{}],181:[function(require,module,exports){var SENDERS=require("./senders"),parsers=require("./parsers"),idCounter=Math.random();exports._setIdCounter=function(counter){idCounter=counter},exports.toSessionJSON=function(sdp,opts){var i,creators=opts.creators||[],role=opts.role||"initiator",direction=opts.direction||"outgoing",media=sdp.split("\r\nm=");for(i=1;i<media.length;i++)media[i]="m="+media[i],i!==media.length-1&&(media[i]+="\r\n");var session=media.shift()+"\r\n",sessionLines=parsers.lines(session),parsed={},contents=[];for(i=0;i<media.length;i++)contents.push(exports.toMediaJSON(media[i],session,{role:role,direction:direction,creator:creators[i]||"initiator"}));parsed.contents=contents;var groupLines=parsers.findLines("a=group:",sessionLines);return groupLines.length&&(parsed.groups=parsers.groups(groupLines)),parsed},exports.toMediaJSON=function(media,session,opts){var creator=opts.creator||"initiator",role=opts.role||"initiator",direction=opts.direction||"outgoing",lines=parsers.lines(media),sessionLines=parsers.lines(session),mline=parsers.mline(lines[0]),content={creator:creator,name:mline.media,application:{applicationType:"rtp",media:mline.media,payloads:[],encryption:[],feedback:[],headerExtensions:[]},transport:{transportType:"iceUdp",candidates:[],fingerprints:[]}};"application"==mline.media&&(content.application={applicationType:"datachannel"},content.transport.sctp=[]);var desc=content.application,trans=content.transport,mid=parsers.findLine("a=mid:",lines);if(mid&&(content.name=mid.substr(6)),parsers.findLine("a=sendrecv",lines,sessionLines)?content.senders="both":parsers.findLine("a=sendonly",lines,sessionLines)?content.senders=SENDERS[role][direction].sendonly:parsers.findLine("a=recvonly",lines,sessionLines)?content.senders=SENDERS[role][direction].recvonly:parsers.findLine("a=inactive",lines,sessionLines)&&(content.senders="none"),"rtp"==desc.applicationType){var bandwidth=parsers.findLine("b=",lines);bandwidth&&(desc.bandwidth=parsers.bandwidth(bandwidth));var ssrc=parsers.findLine("a=ssrc:",lines);ssrc&&(desc.ssrc=ssrc.substr(7).split(" ")[0]);var rtpmapLines=parsers.findLines("a=rtpmap:",lines);rtpmapLines.forEach(function(line){var payload=parsers.rtpmap(line);payload.parameters=[],payload.feedback=[];var fmtpLines=parsers.findLines("a=fmtp:"+payload.id,lines);fmtpLines.forEach(function(line){payload.parameters=parsers.fmtp(line)});var fbLines=parsers.findLines("a=rtcp-fb:"+payload.id,lines);fbLines.forEach(function(line){payload.feedback.push(parsers.rtcpfb(line))}),desc.payloads.push(payload)});var cryptoLines=parsers.findLines("a=crypto:",lines,sessionLines);cryptoLines.forEach(function(line){desc.encryption.push(parsers.crypto(line))}),parsers.findLine("a=rtcp-mux",lines)&&(desc.mux=!0);var fbLines=parsers.findLines("a=rtcp-fb:*",lines);fbLines.forEach(function(line){desc.feedback.push(parsers.rtcpfb(line))});var extLines=parsers.findLines("a=extmap:",lines);extLines.forEach(function(line){var ext=parsers.extmap(line);ext.senders=SENDERS[role][direction][ext.senders],desc.headerExtensions.push(ext)});var ssrcGroupLines=parsers.findLines("a=ssrc-group:",lines);desc.sourceGroups=parsers.sourceGroups(ssrcGroupLines||[]);var ssrcLines=parsers.findLines("a=ssrc:",lines),sources=desc.sources=parsers.sources(ssrcLines||[]),msidLine=parsers.findLine("a=msid:",lines);if(msidLine){var msid=parsers.msid(msidLine);["msid","mslabel","label"].forEach(function(key){for(var i=0;i<sources.length;i++){for(var found=!1,j=0;j<sources[i].parameters.length;j++)sources[i].parameters[j].key===key&&(found=!0);found||sources[i].parameters.push({key:key,value:msid[key]})}})}parsers.findLine("a=x-google-flag:conference",lines,sessionLines)&&(desc.googConferenceFlag=!0)}var fingerprintLines=parsers.findLines("a=fingerprint:",lines,sessionLines),setup=parsers.findLine("a=setup:",lines,sessionLines);fingerprintLines.forEach(function(line){var fp=parsers.fingerprint(line);setup&&(fp.setup=setup.substr(8)),trans.fingerprints.push(fp)});var ufragLine=parsers.findLine("a=ice-ufrag:",lines,sessionLines),pwdLine=parsers.findLine("a=ice-pwd:",lines,sessionLines);if(ufragLine&&pwdLine){trans.ufrag=ufragLine.substr(12),trans.pwd=pwdLine.substr(10),trans.candidates=[];var candidateLines=parsers.findLines("a=candidate:",lines,sessionLines);candidateLines.forEach(function(line){trans.candidates.push(exports.toCandidateJSON(line))})}if("datachannel"==desc.applicationType){var sctpmapLines=parsers.findLines("a=sctpmap:",lines);sctpmapLines.forEach(function(line){var sctp=parsers.sctpmap(line);trans.sctp.push(sctp)})}return content},exports.toCandidateJSON=function(line){var candidate=parsers.candidate(line.split("\r\n")[0]);return candidate.id=(idCounter++).toString(36).substr(0,12),candidate}},{"./parsers":179,"./senders":180}],182:[function(require,module,exports){var SENDERS=require("./senders");exports.toSessionSDP=function(session,opts){var sid=(opts.role||"initiator",opts.direction||"outgoing",opts.sid||session.sid||Date.now()),time=opts.time||Date.now(),sdp=["v=0","o=- "+sid+" "+time+" IN IP4 0.0.0.0","s=-","t=0 0"],contents=session.contents||[],hasSources=!1;contents.forEach(function(content){content.application.sources&&content.application.sources.length&&(hasSources=!0)}),hasSources&&sdp.push("a=msid-semantic: WMS *");var groups=session.groups||[];return groups.forEach(function(group){sdp.push("a=group:"+group.semantics+" "+group.contents.join(" "));
+}),contents.forEach(function(content){sdp.push(exports.toMediaSDP(content,opts))}),sdp.join("\r\n")+"\r\n"},exports.toMediaSDP=function(content,opts){var sdp=[],role=opts.role||"initiator",direction=opts.direction||"outgoing",desc=content.application,transport=content.transport,payloads=desc.payloads||[],fingerprints=transport&&transport.fingerprints||[],mline=[];if("datachannel"==desc.applicationType?(mline.push("application"),mline.push("1"),mline.push("DTLS/SCTP"),transport.sctp&&transport.sctp.forEach(function(map){mline.push(map.number)})):(mline.push(desc.media),mline.push("1"),fingerprints.length>0?mline.push("UDP/TLS/RTP/SAVPF"):desc.encryption&&desc.encryption.length>0?mline.push("RTP/SAVPF"):mline.push("RTP/AVPF"),payloads.forEach(function(payload){mline.push(payload.id)})),sdp.push("m="+mline.join(" ")),sdp.push("c=IN IP4 0.0.0.0"),desc.bandwidth&&desc.bandwidth.type&&desc.bandwidth.bandwidth&&sdp.push("b="+desc.bandwidth.type+":"+desc.bandwidth.bandwidth),"rtp"==desc.applicationType&&sdp.push("a=rtcp:1 IN IP4 0.0.0.0"),transport){transport.ufrag&&sdp.push("a=ice-ufrag:"+transport.ufrag),transport.pwd&&sdp.push("a=ice-pwd:"+transport.pwd);var pushedSetup=!1;fingerprints.forEach(function(fingerprint){sdp.push("a=fingerprint:"+fingerprint.hash+" "+fingerprint.value),fingerprint.setup&&!pushedSetup&&sdp.push("a=setup:"+fingerprint.setup)}),transport.sctp&&transport.sctp.forEach(function(map){sdp.push("a=sctpmap:"+map.number+" "+map.protocol+" "+map.streams)})}"rtp"==desc.applicationType&&sdp.push("a="+(SENDERS[role][direction][content.senders]||"sendrecv")),sdp.push("a=mid:"+content.name),desc.sources&&desc.sources.length&&(desc.sources[0].parameters||[]).forEach(function(param){"msid"===param.key&&sdp.push("a=msid:"+param.value)}),desc.mux&&sdp.push("a=rtcp-mux");var encryption=desc.encryption||[];encryption.forEach(function(crypto){sdp.push("a=crypto:"+crypto.tag+" "+crypto.cipherSuite+" "+crypto.keyParams+(crypto.sessionParams?" "+crypto.sessionParams:""))}),desc.googConferenceFlag&&sdp.push("a=x-google-flag:conference"),payloads.forEach(function(payload){var rtpmap="a=rtpmap:"+payload.id+" "+payload.name+"/"+payload.clockrate;if(payload.channels&&"1"!=payload.channels&&(rtpmap+="/"+payload.channels),sdp.push(rtpmap),payload.parameters&&payload.parameters.length){var fmtp=["a=fmtp:"+payload.id],parameters=[];payload.parameters.forEach(function(param){parameters.push((param.key?param.key+"=":"")+param.value)}),fmtp.push(parameters.join(";")),sdp.push(fmtp.join(" "))}payload.feedback&&payload.feedback.forEach(function(fb){"trr-int"===fb.type?sdp.push("a=rtcp-fb:"+payload.id+" trr-int "+(fb.value?fb.value:"0")):sdp.push("a=rtcp-fb:"+payload.id+" "+fb.type+(fb.subtype?" "+fb.subtype:""))})}),desc.feedback&&desc.feedback.forEach(function(fb){"trr-int"===fb.type?sdp.push("a=rtcp-fb:* trr-int "+(fb.value?fb.value:"0")):sdp.push("a=rtcp-fb:* "+fb.type+(fb.subtype?" "+fb.subtype:""))});var hdrExts=desc.headerExtensions||[];hdrExts.forEach(function(hdr){sdp.push("a=extmap:"+hdr.id+(hdr.senders?"/"+SENDERS[role][direction][hdr.senders]:"")+" "+hdr.uri)});var ssrcGroups=desc.sourceGroups||[];ssrcGroups.forEach(function(ssrcGroup){sdp.push("a=ssrc-group:"+ssrcGroup.semantics+" "+ssrcGroup.sources.join(" "))});var ssrcs=desc.sources||[];ssrcs.forEach(function(ssrc){for(var i=0;i<ssrc.parameters.length;i++){var param=ssrc.parameters[i];sdp.push("a=ssrc:"+(ssrc.ssrc||desc.ssrc)+" "+param.key+(param.value?":"+param.value:""))}});var candidates=transport.candidates||[];return candidates.forEach(function(candidate){sdp.push(exports.toCandidateSDP(candidate))}),sdp.join("\r\n")},exports.toCandidateSDP=function(candidate){var sdp=[];sdp.push(candidate.foundation),sdp.push(candidate.component),sdp.push(candidate.protocol.toUpperCase()),sdp.push(candidate.priority),sdp.push(candidate.ip),sdp.push(candidate.port);var type=candidate.type;return sdp.push("typ"),sdp.push(type),"srflx"!==type&&"prflx"!==type&&"relay"!==type||candidate.relAddr&&candidate.relPort&&(sdp.push("raddr"),sdp.push(candidate.relAddr),sdp.push("rport"),sdp.push(candidate.relPort)),candidate.tcpType&&"TCP"==candidate.protocol.toUpperCase()&&(sdp.push("tcptype"),sdp.push(candidate.tcpType)),sdp.push("generation"),sdp.push(candidate.generation||"0"),"a=candidate:"+sdp.join(" ")}},{"./senders":180}],183:[function(require,module,exports){"use strict";var SDPUtils={};SDPUtils.generateIdentifier=function(){return Math.random().toString(36).substr(2,10)},SDPUtils.localCName=SDPUtils.generateIdentifier(),SDPUtils.splitLines=function(blob){return blob.trim().split("\n").map(function(line){return line.trim()})},SDPUtils.splitSections=function(blob){var parts=blob.split("\nm=");return parts.map(function(part,index){return(index>0?"m="+part:part).trim()+"\r\n"})},SDPUtils.matchPrefix=function(blob,prefix){return SDPUtils.splitLines(blob).filter(function(line){return 0===line.indexOf(prefix)})},SDPUtils.parseCandidate=function(line){var parts;parts=0===line.indexOf("a=candidate:")?line.substring(12).split(" "):line.substring(10).split(" ");for(var candidate={foundation:parts[0],component:parts[1],protocol:parts[2].toLowerCase(),priority:parseInt(parts[3],10),ip:parts[4],port:parseInt(parts[5],10),type:parts[7]},i=8;i<parts.length;i+=2)switch(parts[i]){case"raddr":candidate.relatedAddress=parts[i+1];break;case"rport":candidate.relatedPort=parseInt(parts[i+1],10);break;case"tcptype":candidate.tcpType=parts[i+1]}return candidate},SDPUtils.writeCandidate=function(candidate){var sdp=[];sdp.push(candidate.foundation),sdp.push(candidate.component),sdp.push(candidate.protocol.toUpperCase()),sdp.push(candidate.priority),sdp.push(candidate.ip),sdp.push(candidate.port);var type=candidate.type;return sdp.push("typ"),sdp.push(type),"host"!==type&&candidate.relatedAddress&&candidate.relatedPort&&(sdp.push("raddr"),sdp.push(candidate.relatedAddress),sdp.push("rport"),sdp.push(candidate.relatedPort)),candidate.tcpType&&"tcp"===candidate.protocol.toLowerCase()&&(sdp.push("tcptype"),sdp.push(candidate.tcpType)),"candidate:"+sdp.join(" ")},SDPUtils.parseRtpMap=function(line){var parts=line.substr(9).split(" "),parsed={payloadType:parseInt(parts.shift(),10)};return parts=parts[0].split("/"),parsed.name=parts[0],parsed.clockRate=parseInt(parts[1],10),parsed.numChannels=3===parts.length?parseInt(parts[2],10):1,parsed},SDPUtils.writeRtpMap=function(codec){var pt=codec.payloadType;return void 0!==codec.preferredPayloadType&&(pt=codec.preferredPayloadType),"a=rtpmap:"+pt+" "+codec.name+"/"+codec.clockRate+(1!==codec.numChannels?"/"+codec.numChannels:"")+"\r\n"},SDPUtils.parseExtmap=function(line){var parts=line.substr(9).split(" ");return{id:parseInt(parts[0],10),uri:parts[1]}},SDPUtils.writeExtmap=function(headerExtension){return"a=extmap:"+(headerExtension.id||headerExtension.preferredId)+" "+headerExtension.uri+"\r\n"},SDPUtils.parseFmtp=function(line){for(var kv,parsed={},parts=line.substr(line.indexOf(" ")+1).split(";"),j=0;j<parts.length;j++)kv=parts[j].trim().split("="),parsed[kv[0].trim()]=kv[1];return parsed},SDPUtils.writeFmtp=function(codec){var line="",pt=codec.payloadType;if(void 0!==codec.preferredPayloadType&&(pt=codec.preferredPayloadType),codec.parameters&&Object.keys(codec.parameters).length){var params=[];Object.keys(codec.parameters).forEach(function(param){params.push(param+"="+codec.parameters[param])}),line+="a=fmtp:"+pt+" "+params.join(";")+"\r\n"}return line},SDPUtils.parseRtcpFb=function(line){var parts=line.substr(line.indexOf(" ")+1).split(" ");return{type:parts.shift(),parameter:parts.join(" ")}},SDPUtils.writeRtcpFb=function(codec){var lines="",pt=codec.payloadType;return void 0!==codec.preferredPayloadType&&(pt=codec.preferredPayloadType),codec.rtcpFeedback&&codec.rtcpFeedback.length&&codec.rtcpFeedback.forEach(function(fb){lines+="a=rtcp-fb:"+pt+" "+fb.type+(fb.parameter&&fb.parameter.length?" "+fb.parameter:"")+"\r\n"}),lines},SDPUtils.parseSsrcMedia=function(line){var sp=line.indexOf(" "),parts={ssrc:parseInt(line.substr(7,sp-7),10)},colon=line.indexOf(":",sp);return colon>-1?(parts.attribute=line.substr(sp+1,colon-sp-1),parts.value=line.substr(colon+1)):parts.attribute=line.substr(sp+1),parts},SDPUtils.getDtlsParameters=function(mediaSection,sessionpart){var lines=SDPUtils.splitLines(mediaSection);lines=lines.concat(SDPUtils.splitLines(sessionpart));var fpLine=lines.filter(function(line){return 0===line.indexOf("a=fingerprint:")})[0].substr(14),dtlsParameters={role:"auto",fingerprints:[{algorithm:fpLine.split(" ")[0],value:fpLine.split(" ")[1]}]};return dtlsParameters},SDPUtils.writeDtlsParameters=function(params,setupType){var sdp="a=setup:"+setupType+"\r\n";return params.fingerprints.forEach(function(fp){sdp+="a=fingerprint:"+fp.algorithm+" "+fp.value+"\r\n"}),sdp},SDPUtils.getIceParameters=function(mediaSection,sessionpart){var lines=SDPUtils.splitLines(mediaSection);lines=lines.concat(SDPUtils.splitLines(sessionpart));var iceParameters={usernameFragment:lines.filter(function(line){return 0===line.indexOf("a=ice-ufrag:")})[0].substr(12),password:lines.filter(function(line){return 0===line.indexOf("a=ice-pwd:")})[0].substr(10)};return iceParameters},SDPUtils.writeIceParameters=function(params){return"a=ice-ufrag:"+params.usernameFragment+"\r\na=ice-pwd:"+params.password+"\r\n"},SDPUtils.parseRtpParameters=function(mediaSection){for(var description={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},lines=SDPUtils.splitLines(mediaSection),mline=lines[0].split(" "),i=3;i<mline.length;i++){var pt=mline[i],rtpmapline=SDPUtils.matchPrefix(mediaSection,"a=rtpmap:"+pt+" ")[0];if(rtpmapline){var codec=SDPUtils.parseRtpMap(rtpmapline),fmtps=SDPUtils.matchPrefix(mediaSection,"a=fmtp:"+pt+" ");switch(codec.parameters=fmtps.length?SDPUtils.parseFmtp(fmtps[0]):{},codec.rtcpFeedback=SDPUtils.matchPrefix(mediaSection,"a=rtcp-fb:"+pt+" ").map(SDPUtils.parseRtcpFb),description.codecs.push(codec),codec.name.toUpperCase()){case"RED":case"ULPFEC":description.fecMechanisms.push(codec.name.toUpperCase())}}}return SDPUtils.matchPrefix(mediaSection,"a=extmap:").forEach(function(line){description.headerExtensions.push(SDPUtils.parseExtmap(line))}),description},SDPUtils.writeRtpDescription=function(kind,caps){var sdp="";sdp+="m="+kind+" ",sdp+=caps.codecs.length>0?"9":"0",sdp+=" UDP/TLS/RTP/SAVPF ",sdp+=caps.codecs.map(function(codec){return void 0!==codec.preferredPayloadType?codec.preferredPayloadType:codec.payloadType}).join(" ")+"\r\n",sdp+="c=IN IP4 0.0.0.0\r\n",sdp+="a=rtcp:9 IN IP4 0.0.0.0\r\n",caps.codecs.forEach(function(codec){sdp+=SDPUtils.writeRtpMap(codec),sdp+=SDPUtils.writeFmtp(codec),sdp+=SDPUtils.writeRtcpFb(codec)});var maxptime=0;return caps.codecs.forEach(function(codec){codec.maxptime>maxptime&&(maxptime=codec.maxptime)}),maxptime>0&&(sdp+="a=maxptime:"+maxptime+"\r\n"),sdp+="a=rtcp-mux\r\n",caps.headerExtensions.forEach(function(extension){sdp+=SDPUtils.writeExtmap(extension)}),sdp},SDPUtils.parseRtpEncodingParameters=function(mediaSection){var secondarySsrc,encodingParameters=[],description=SDPUtils.parseRtpParameters(mediaSection),hasRed=description.fecMechanisms.indexOf("RED")!==-1,hasUlpfec=description.fecMechanisms.indexOf("ULPFEC")!==-1,ssrcs=SDPUtils.matchPrefix(mediaSection,"a=ssrc:").map(function(line){return SDPUtils.parseSsrcMedia(line)}).filter(function(parts){return"cname"===parts.attribute}),primarySsrc=ssrcs.length>0&&ssrcs[0].ssrc,flows=SDPUtils.matchPrefix(mediaSection,"a=ssrc-group:FID").map(function(line){var parts=line.split(" ");return parts.shift(),parts.map(function(part){return parseInt(part,10)})});flows.length>0&&flows[0].length>1&&flows[0][0]===primarySsrc&&(secondarySsrc=flows[0][1]),description.codecs.forEach(function(codec){if("RTX"===codec.name.toUpperCase()&&codec.parameters.apt){var encParam={ssrc:primarySsrc,codecPayloadType:parseInt(codec.parameters.apt,10),rtx:{ssrc:secondarySsrc}};encodingParameters.push(encParam),hasRed&&(encParam=JSON.parse(JSON.stringify(encParam)),encParam.fec={ssrc:secondarySsrc,mechanism:hasUlpfec?"red+ulpfec":"red"},encodingParameters.push(encParam))}}),0===encodingParameters.length&&primarySsrc&&encodingParameters.push({ssrc:primarySsrc});var bandwidth=SDPUtils.matchPrefix(mediaSection,"b=");return bandwidth.length&&(0===bandwidth[0].indexOf("b=TIAS:")?bandwidth=parseInt(bandwidth[0].substr(7),10):0===bandwidth[0].indexOf("b=AS:")&&(bandwidth=parseInt(bandwidth[0].substr(5),10)),encodingParameters.forEach(function(params){params.maxBitrate=bandwidth})),encodingParameters},SDPUtils.parseMsid=function(mediaSection){var parts,spec=SDPUtils.matchPrefix(mediaSection,"a=msid:");if(1===spec.length)return parts=spec[0].substr(7).split(" "),{stream:parts[0],track:parts[1]};var planB=SDPUtils.matchPrefix(mediaSection,"a=ssrc:").map(function(line){return SDPUtils.parseSsrcMedia(line)}).filter(function(parts){return"msid"===parts.attribute});return planB.length>0?(parts=planB[0].value.split(" "),{stream:parts[0],track:parts[1]}):void 0},SDPUtils.writeSessionBoilerplate=function(){return"v=0\r\no=thisisadapterortc 8169639915646943137 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},SDPUtils.writeMediaSection=function(transceiver,caps,type,stream){var sdp=SDPUtils.writeRtpDescription(transceiver.kind,caps);if(sdp+=SDPUtils.writeIceParameters(transceiver.iceGatherer.getLocalParameters()),sdp+=SDPUtils.writeDtlsParameters(transceiver.dtlsTransport.getLocalParameters(),"offer"===type?"actpass":"active"),sdp+="a=mid:"+transceiver.mid+"\r\n",sdp+=transceiver.rtpSender&&transceiver.rtpReceiver?"a=sendrecv\r\n":transceiver.rtpSender?"a=sendonly\r\n":transceiver.rtpReceiver?"a=recvonly\r\n":"a=inactive\r\n",transceiver.rtpSender){var msid="msid:"+stream.id+" "+transceiver.rtpSender.track.id+"\r\n";sdp+="a="+msid,sdp+="a=ssrc:"+transceiver.sendEncodingParameters[0].ssrc+" "+msid,transceiver.sendEncodingParameters[0].rtx&&(sdp+="a=ssrc:"+transceiver.sendEncodingParameters[0].rtx.ssrc+" "+msid,sdp+="a=ssrc-group:FID "+transceiver.sendEncodingParameters[0].ssrc+" "+transceiver.sendEncodingParameters[0].rtx.ssrc+"\r\n")}return sdp+="a=ssrc:"+transceiver.sendEncodingParameters[0].ssrc+" cname:"+SDPUtils.localCName+"\r\n",transceiver.rtpSender&&transceiver.sendEncodingParameters[0].rtx&&(sdp+="a=ssrc:"+transceiver.sendEncodingParameters[0].rtx.ssrc+" cname:"+SDPUtils.localCName+"\r\n"),sdp},SDPUtils.getDirection=function(mediaSection,sessionpart){for(var lines=SDPUtils.splitLines(mediaSection),i=0;i<lines.length;i++)switch(lines[i]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return lines[i].substr(2)}return sessionpart?SDPUtils.getDirection(sessionpart):"sendrecv"},SDPUtils.getKind=function(mediaSection){var lines=SDPUtils.splitLines(mediaSection),mline=lines[0].split(" ");return mline[0].substr(2)},SDPUtils.isRejected=function(mediaSection){return"0"===mediaSection.split(" ",2)[1]},module.exports=SDPUtils},{}],184:[function(require,module,exports){(function(Buffer){function Hash(blockSize,finalSize){this._block=new Buffer(blockSize),this._finalSize=finalSize,this._blockSize=blockSize,this._len=0,this._s=0}Hash.prototype.update=function(data,enc){"string"==typeof data&&(enc=enc||"utf8",data=new Buffer(data,enc));for(var l=this._len+=data.length,s=this._s||0,f=0,buffer=this._block;s<l;){for(var t=Math.min(data.length,f+this._blockSize-s%this._blockSize),ch=t-f,i=0;i<ch;i++)buffer[s%this._blockSize+i]=data[i+f];s+=ch,f+=ch,s%this._blockSize===0&&this._update(buffer)}return this._s=s,this},Hash.prototype.digest=function(enc){var l=8*this._len;this._block[this._len%this._blockSize]=128,this._block.fill(0,this._len%this._blockSize+1),l%(8*this._blockSize)>=8*this._finalSize&&(this._update(this._block),this._block.fill(0)),this._block.writeInt32BE(l,this._blockSize-4);var hash=this._update(this._block)||this._hash();return enc?hash.toString(enc):hash},Hash.prototype._update=function(){throw new Error("_update must be implemented by subclass")},module.exports=Hash}).call(this,require("buffer").Buffer)},{buffer:6}],185:[function(require,module,exports){var exports=module.exports=function(algorithm){algorithm=algorithm.toLowerCase();var Algorithm=exports[algorithm];if(!Algorithm)throw new Error(algorithm+" is not supported (we accept pull requests)");return new Algorithm};exports.sha=require("./sha"),exports.sha1=require("./sha1"),exports.sha224=require("./sha224"),exports.sha256=require("./sha256"),exports.sha384=require("./sha384"),exports.sha512=require("./sha512")},{"./sha":186,"./sha1":187,"./sha224":188,"./sha256":189,"./sha384":190,"./sha512":191}],186:[function(require,module,exports){(function(Buffer){function Sha(){this.init(),this._w=W,Hash.call(this,64,56)}function rotl5(num){return num<<5|num>>>27}function rotl30(num){return num<<30|num>>>2}function ft(s,b,c,d){return 0===s?b&c|~b&d:2===s?b&c|b&d|c&d:b^c^d}var inherits=require("inherits"),Hash=require("./hash"),K=[1518500249,1859775393,-1894007588,-899497514],W=new Array(80);inherits(Sha,Hash),Sha.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Sha.prototype._update=function(M){for(var W=this._w,a=0|this._a,b=0|this._b,c=0|this._c,d=0|this._d,e=0|this._e,i=0;i<16;++i)W[i]=M.readInt32BE(4*i);for(;i<80;++i)W[i]=W[i-3]^W[i-8]^W[i-14]^W[i-16];for(var j=0;j<80;++j){var s=~~(j/20),t=rotl5(a)+ft(s,b,c,d)+e+W[j]+K[s]|0;e=d,d=c,c=rotl30(b),b=a,a=t}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0},Sha.prototype._hash=function(){var H=new Buffer(20);return H.writeInt32BE(0|this._a,0),H.writeInt32BE(0|this._b,4),H.writeInt32BE(0|this._c,8),H.writeInt32BE(0|this._d,12),H.writeInt32BE(0|this._e,16),H},module.exports=Sha}).call(this,require("buffer").Buffer)},{"./hash":184,buffer:6,inherits:45}],187:[function(require,module,exports){(function(Buffer){function Sha1(){this.init(),this._w=W,Hash.call(this,64,56)}function rotl1(num){return num<<1|num>>>31}function rotl5(num){return num<<5|num>>>27}function rotl30(num){return num<<30|num>>>2}function ft(s,b,c,d){return 0===s?b&c|~b&d:2===s?b&c|b&d|c&d:b^c^d}var inherits=require("inherits"),Hash=require("./hash"),K=[1518500249,1859775393,-1894007588,-899497514],W=new Array(80);inherits(Sha1,Hash),Sha1.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Sha1.prototype._update=function(M){for(var W=this._w,a=0|this._a,b=0|this._b,c=0|this._c,d=0|this._d,e=0|this._e,i=0;i<16;++i)W[i]=M.readInt32BE(4*i);for(;i<80;++i)W[i]=rotl1(W[i-3]^W[i-8]^W[i-14]^W[i-16]);for(var j=0;j<80;++j){var s=~~(j/20),t=rotl5(a)+ft(s,b,c,d)+e+W[j]+K[s]|0;e=d,d=c,c=rotl30(b),b=a,a=t}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0},Sha1.prototype._hash=function(){var H=new Buffer(20);return H.writeInt32BE(0|this._a,0),H.writeInt32BE(0|this._b,4),H.writeInt32BE(0|this._c,8),H.writeInt32BE(0|this._d,12),H.writeInt32BE(0|this._e,16),H},module.exports=Sha1}).call(this,require("buffer").Buffer)},{"./hash":184,buffer:6,inherits:45}],188:[function(require,module,exports){(function(Buffer){function Sha224(){this.init(),this._w=W,Hash.call(this,64,56)}var inherits=require("inherits"),Sha256=require("./sha256"),Hash=require("./hash"),W=new Array(64);inherits(Sha224,Sha256),Sha224.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},Sha224.prototype._hash=function(){var H=new Buffer(28);return H.writeInt32BE(this._a,0),H.writeInt32BE(this._b,4),H.writeInt32BE(this._c,8),H.writeInt32BE(this._d,12),H.writeInt32BE(this._e,16),H.writeInt32BE(this._f,20),H.writeInt32BE(this._g,24),H},module.exports=Sha224}).call(this,require("buffer").Buffer)},{"./hash":184,"./sha256":189,buffer:6,inherits:45}],189:[function(require,module,exports){(function(Buffer){function Sha256(){this.init(),this._w=W,Hash.call(this,64,56)}function ch(x,y,z){return z^x&(y^z)}function maj(x,y,z){return x&y|z&(x|y)}function sigma0(x){return(x>>>2|x<<30)^(x>>>13|x<<19)^(x>>>22|x<<10)}function sigma1(x){return(x>>>6|x<<26)^(x>>>11|x<<21)^(x>>>25|x<<7)}function gamma0(x){return(x>>>7|x<<25)^(x>>>18|x<<14)^x>>>3}function gamma1(x){return(x>>>17|x<<15)^(x>>>19|x<<13)^x>>>10}var inherits=require("inherits"),Hash=require("./hash"),K=[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],W=new Array(64);inherits(Sha256,Hash),Sha256.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},Sha256.prototype._update=function(M){for(var W=this._w,a=0|this._a,b=0|this._b,c=0|this._c,d=0|this._d,e=0|this._e,f=0|this._f,g=0|this._g,h=0|this._h,i=0;i<16;++i)W[i]=M.readInt32BE(4*i);for(;i<64;++i)W[i]=gamma1(W[i-2])+W[i-7]+gamma0(W[i-15])+W[i-16]|0;for(var j=0;j<64;++j){var T1=h+sigma1(e)+ch(e,f,g)+K[j]+W[j]|0,T2=sigma0(a)+maj(a,b,c)|0;h=g,g=f,f=e,e=d+T1|0,d=c,c=b,b=a,a=T1+T2|0}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0,this._f=f+this._f|0,this._g=g+this._g|0,this._h=h+this._h|0},Sha256.prototype._hash=function(){var H=new Buffer(32);return H.writeInt32BE(this._a,0),H.writeInt32BE(this._b,4),H.writeInt32BE(this._c,8),H.writeInt32BE(this._d,12),H.writeInt32BE(this._e,16),H.writeInt32BE(this._f,20),H.writeInt32BE(this._g,24),H.writeInt32BE(this._h,28),H},module.exports=Sha256}).call(this,require("buffer").Buffer)},{"./hash":184,buffer:6,inherits:45}],190:[function(require,module,exports){(function(Buffer){function Sha384(){this.init(),this._w=W,Hash.call(this,128,112)}var inherits=require("inherits"),SHA512=require("./sha512"),Hash=require("./hash"),W=new Array(160);inherits(Sha384,SHA512),Sha384.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},Sha384.prototype._hash=function(){function writeInt64BE(h,l,offset){H.writeInt32BE(h,offset),H.writeInt32BE(l,offset+4)}var H=new Buffer(48);return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),H},module.exports=Sha384}).call(this,require("buffer").Buffer)},{"./hash":184,"./sha512":191,buffer:6,inherits:45}],191:[function(require,module,exports){(function(Buffer){function Sha512(){this.init(),this._w=W,Hash.call(this,128,112)}function Ch(x,y,z){return z^x&(y^z)}function maj(x,y,z){return x&y|z&(x|y)}function sigma0(x,xl){return(x>>>28|xl<<4)^(xl>>>2|x<<30)^(xl>>>7|x<<25)}function sigma1(x,xl){return(x>>>14|xl<<18)^(x>>>18|xl<<14)^(xl>>>9|x<<23)}function Gamma0(x,xl){return(x>>>1|xl<<31)^(x>>>8|xl<<24)^x>>>7}function Gamma0l(x,xl){return(x>>>1|xl<<31)^(x>>>8|xl<<24)^(x>>>7|xl<<25)}function Gamma1(x,xl){return(x>>>19|xl<<13)^(xl>>>29|x<<3)^x>>>6}function Gamma1l(x,xl){return(x>>>19|xl<<13)^(xl>>>29|x<<3)^(x>>>6|xl<<26)}function getCarry(a,b){return a>>>0<b>>>0?1:0}var inherits=require("inherits"),Hash=require("./hash"),K=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],W=new Array(160);inherits(Sha512,Hash),Sha512.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},Sha512.prototype._update=function(M){for(var W=this._w,ah=0|this._ah,bh=0|this._bh,ch=0|this._ch,dh=0|this._dh,eh=0|this._eh,fh=0|this._fh,gh=0|this._gh,hh=0|this._hh,al=0|this._al,bl=0|this._bl,cl=0|this._cl,dl=0|this._dl,el=0|this._el,fl=0|this._fl,gl=0|this._gl,hl=0|this._hl,i=0;i<32;i+=2)W[i]=M.readInt32BE(4*i),W[i+1]=M.readInt32BE(4*i+4);for(;i<160;i+=2){var xh=W[i-30],xl=W[i-30+1],gamma0=Gamma0(xh,xl),gamma0l=Gamma0l(xl,xh);xh=W[i-4],xl=W[i-4+1];var gamma1=Gamma1(xh,xl),gamma1l=Gamma1l(xl,xh),Wi7h=W[i-14],Wi7l=W[i-14+1],Wi16h=W[i-32],Wi16l=W[i-32+1],Wil=gamma0l+Wi7l|0,Wih=gamma0+Wi7h+getCarry(Wil,gamma0l)|0;Wil=Wil+gamma1l|0,Wih=Wih+gamma1+getCarry(Wil,gamma1l)|0,Wil=Wil+Wi16l|0,Wih=Wih+Wi16h+getCarry(Wil,Wi16l)|0,W[i]=Wih,W[i+1]=Wil}for(var j=0;j<160;j+=2){Wih=W[j],Wil=W[j+1];var majh=maj(ah,bh,ch),majl=maj(al,bl,cl),sigma0h=sigma0(ah,al),sigma0l=sigma0(al,ah),sigma1h=sigma1(eh,el),sigma1l=sigma1(el,eh),Kih=K[j],Kil=K[j+1],chh=Ch(eh,fh,gh),chl=Ch(el,fl,gl),t1l=hl+sigma1l|0,t1h=hh+sigma1h+getCarry(t1l,hl)|0;t1l=t1l+chl|0,t1h=t1h+chh+getCarry(t1l,chl)|0,t1l=t1l+Kil|0,t1h=t1h+Kih+getCarry(t1l,Kil)|0,t1l=t1l+Wil|0,t1h=t1h+Wih+getCarry(t1l,Wil)|0;var t2l=sigma0l+majl|0,t2h=sigma0h+majh+getCarry(t2l,sigma0l)|0;hh=gh,hl=gl,gh=fh,gl=fl,fh=eh,fl=el,el=dl+t1l|0,eh=dh+t1h+getCarry(el,dl)|0,dh=ch,dl=cl,ch=bh,cl=bl,bh=ah,bl=al,al=t1l+t2l|0,ah=t1h+t2h+getCarry(al,t1l)|0}this._al=this._al+al|0,this._bl=this._bl+bl|0,this._cl=this._cl+cl|0,this._dl=this._dl+dl|0,this._el=this._el+el|0,this._fl=this._fl+fl|0,this._gl=this._gl+gl|0,this._hl=this._hl+hl|0,this._ah=this._ah+ah+getCarry(this._al,al)|0,this._bh=this._bh+bh+getCarry(this._bl,bl)|0,this._ch=this._ch+ch+getCarry(this._cl,cl)|0,this._dh=this._dh+dh+getCarry(this._dl,dl)|0,this._eh=this._eh+eh+getCarry(this._el,el)|0,this._fh=this._fh+fh+getCarry(this._fl,fl)|0,this._gh=this._gh+gh+getCarry(this._gl,gl)|0,this._hh=this._hh+hh+getCarry(this._hl,hl)|0},Sha512.prototype._hash=function(){function writeInt64BE(h,l,offset){H.writeInt32BE(h,offset),H.writeInt32BE(l,offset+4)}var H=new Buffer(64);return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),writeInt64BE(this._gh,this._gl,48),writeInt64BE(this._hh,this._hl,56),H},module.exports=Sha512}).call(this,require("buffer").Buffer)},{"./hash":184,buffer:6,inherits:45}],192:[function(require,module,exports){function Stream(){EE.call(this)}module.exports=Stream;var EE=require("events").EventEmitter,inherits=require("inherits");inherits(Stream,EE),Stream.Readable=require("readable-stream/readable.js"),Stream.Writable=require("readable-stream/writable.js"),Stream.Duplex=require("readable-stream/duplex.js"),Stream.Transform=require("readable-stream/transform.js"),Stream.PassThrough=require("readable-stream/passthrough.js"),Stream.Stream=Stream,Stream.prototype.pipe=function(dest,options){function ondata(chunk){dest.writable&&!1===dest.write(chunk)&&source.pause&&source.pause()}function ondrain(){source.readable&&source.resume&&source.resume()}function onend(){didOnEnd||(didOnEnd=!0,dest.end())}function onclose(){didOnEnd||(didOnEnd=!0,"function"==typeof dest.destroy&&dest.destroy())}function onerror(er){if(cleanup(),0===EE.listenerCount(this,"error"))throw er}function cleanup(){source.removeListener("data",ondata),dest.removeListener("drain",ondrain),source.removeListener("end",onend),source.removeListener("close",onclose),source.removeListener("error",onerror),dest.removeListener("error",onerror),source.removeListener("end",cleanup),source.removeListener("close",cleanup),dest.removeListener("close",cleanup)}var source=this;source.on("data",ondata),dest.on("drain",ondrain),dest._isStdio||options&&options.end===!1||(source.on("end",onend),source.on("close",onclose));var didOnEnd=!1;return source.on("error",onerror),dest.on("error",onerror),source.on("end",cleanup),source.on("close",cleanup),dest.on("close",cleanup),dest.emit("pipe",source),dest}},{events:27,inherits:45,"readable-stream/duplex.js":156,"readable-stream/passthrough.js":163,"readable-stream/readable.js":164,"readable-stream/transform.js":165,"readable-stream/writable.js":166}],193:[function(require,module,exports){function assertEncoding(encoding){if(encoding&&!isBufferEncoding(encoding))throw new Error("Unknown encoding: "+encoding)}function passThroughWrite(buffer){return buffer.toString(this.encoding)}function utf16DetectIncompleteChar(buffer){this.charReceived=buffer.length%2,this.charLength=this.charReceived?2:0}function base64DetectIncompleteChar(buffer){this.charReceived=buffer.length%3,this.charLength=this.charReceived?3:0}var Buffer=require("buffer").Buffer,isBufferEncoding=Buffer.isEncoding||function(encoding){switch(encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},StringDecoder=exports.StringDecoder=function(encoding){switch(this.encoding=(encoding||"utf8").toLowerCase().replace(/[-_]/,""),assertEncoding(encoding),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=utf16DetectIncompleteChar;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=base64DetectIncompleteChar;break;default:return void(this.write=passThroughWrite)}this.charBuffer=new Buffer(6),this.charReceived=0,this.charLength=0};StringDecoder.prototype.write=function(buffer){for(var charStr="";this.charLength;){var available=buffer.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:buffer.length;if(buffer.copy(this.charBuffer,this.charReceived,0,available),
+this.charReceived+=available,this.charReceived<this.charLength)return"";buffer=buffer.slice(available,buffer.length),charStr=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var charCode=charStr.charCodeAt(charStr.length-1);if(!(charCode>=55296&&charCode<=56319)){if(this.charReceived=this.charLength=0,0===buffer.length)return charStr;break}this.charLength+=this.surrogateSize,charStr=""}this.detectIncompleteChar(buffer);var end=buffer.length;this.charLength&&(buffer.copy(this.charBuffer,0,buffer.length-this.charReceived,end),end-=this.charReceived),charStr+=buffer.toString(this.encoding,0,end);var end=charStr.length-1,charCode=charStr.charCodeAt(end);if(charCode>=55296&&charCode<=56319){var size=this.surrogateSize;return this.charLength+=size,this.charReceived+=size,this.charBuffer.copy(this.charBuffer,size,0,size),buffer.copy(this.charBuffer,0,0,size),charStr.substring(0,end)}return charStr},StringDecoder.prototype.detectIncompleteChar=function(buffer){for(var i=buffer.length>=3?3:buffer.length;i>0;i--){var c=buffer[buffer.length-i];if(1==i&&c>>5==6){this.charLength=2;break}if(i<=2&&c>>4==14){this.charLength=3;break}if(i<=3&&c>>3==30){this.charLength=4;break}}this.charReceived=i},StringDecoder.prototype.end=function(buffer){var res="";if(buffer&&buffer.length&&(res=this.write(buffer)),this.charReceived){var cr=this.charReceived,buf=this.charBuffer,enc=this.encoding;res+=buf.slice(0,cr).toString(enc)}return res}},{buffer:6}],194:[function(require,module,exports){function dumpSDP(description){return{type:description.type,sdp:description.sdp}}function dumpStream(stream){var info={label:stream.id};return stream.getAudioTracks().length&&(info.audio=stream.getAudioTracks().map(function(track){return track.id})),stream.getVideoTracks().length&&(info.video=stream.getVideoTracks().map(function(track){return track.id})),info}function TraceablePeerConnection(config,constraints){var self=this;WildEmitter.call(this),this.peerconnection=new window.RTCPeerConnection(config,constraints),this.trace=function(what,info){self.emit("PeerConnectionTrace",{time:new Date,type:what,value:info||""})},this.onicecandidate=null,this.peerconnection.onicecandidate=function(event){self.trace("onicecandidate",event.candidate),null!==self.onicecandidate&&self.onicecandidate(event)},this.onaddstream=null,this.peerconnection.onaddstream=function(event){self.trace("onaddstream",dumpStream(event.stream)),null!==self.onaddstream&&self.onaddstream(event)},this.onremovestream=null,this.peerconnection.onremovestream=function(event){self.trace("onremovestream",dumpStream(event.stream)),null!==self.onremovestream&&self.onremovestream(event)},this.onsignalingstatechange=null,this.peerconnection.onsignalingstatechange=function(event){self.trace("onsignalingstatechange",self.signalingState),null!==self.onsignalingstatechange&&self.onsignalingstatechange(event)},this.oniceconnectionstatechange=null,this.peerconnection.oniceconnectionstatechange=function(event){self.trace("oniceconnectionstatechange",self.iceConnectionState),null!==self.oniceconnectionstatechange&&self.oniceconnectionstatechange(event)},this.onnegotiationneeded=null,this.peerconnection.onnegotiationneeded=function(event){self.trace("onnegotiationneeded"),null!==self.onnegotiationneeded&&self.onnegotiationneeded(event)},self.ondatachannel=null,this.peerconnection.ondatachannel=function(event){self.trace("ondatachannel",event),null!==self.ondatachannel&&self.ondatachannel(event)},this.getLocalStreams=this.peerconnection.getLocalStreams.bind(this.peerconnection),this.getRemoteStreams=this.peerconnection.getRemoteStreams.bind(this.peerconnection)}var util=require("util"),WildEmitter=(require("webrtc-adapter"),require("wildemitter"));util.inherits(TraceablePeerConnection,WildEmitter),["signalingState","iceConnectionState","localDescription","remoteDescription"].forEach(function(prop){Object.defineProperty(TraceablePeerConnection.prototype,prop,{get:function(){return this.peerconnection[prop]}})}),TraceablePeerConnection.prototype.addStream=function(stream){this.trace("addStream",dumpStream(stream)),this.peerconnection.addStream(stream)},TraceablePeerConnection.prototype.removeStream=function(stream){this.trace("removeStream",dumpStream(stream)),this.peerconnection.removeStream(stream)},TraceablePeerConnection.prototype.createDataChannel=function(label,opts){return this.trace("createDataChannel",label,opts),this.peerconnection.createDataChannel(label,opts)},TraceablePeerConnection.prototype.setLocalDescription=function(description,successCallback,failureCallback){var self=this;return this.trace("setLocalDescription",dumpSDP(description)),this.peerconnection.setLocalDescription(description).then(function(){self.trace("setLocalDescriptionOnSuccess"),successCallback&&successCallback()},function(err){self.trace("setLocalDescriptionOnFailure",err),failureCallback&&failureCallback(err)})},TraceablePeerConnection.prototype.setRemoteDescription=function(description,successCallback,failureCallback){var self=this;return this.trace("setRemoteDescription",dumpSDP(description)),this.peerconnection.setRemoteDescription(description).then(function(){self.trace("setRemoteDescriptionOnSuccess"),successCallback&&successCallback()},function(err){self.trace("setRemoteDescriptionOnFailure",err),failureCallback&&failureCallback(err)})},TraceablePeerConnection.prototype.close=function(){this.trace("stop"),"closed"!=this.peerconnection.signalingState&&this.peerconnection.close()},TraceablePeerConnection.prototype.createOffer=function(successCallback,failureCallback,constraints){var self=this;return this.trace("createOffer",constraints),this.peerconnection.createOffer(constraints).then(function(offer){self.trace("createOfferOnSuccess",dumpSDP(offer)),successCallback&&successCallback(offer)},function(err){self.trace("createOfferOnFailure",err),failureCallback&&failureCallback(err)})},TraceablePeerConnection.prototype.createAnswer=function(successCallback,failureCallback,constraints){var self=this;return this.trace("createAnswer",constraints),this.peerconnection.createAnswer(constraints).then(function(answer){self.trace("createAnswerOnSuccess",dumpSDP(answer)),successCallback&&successCallback(answer)},function(err){self.trace("createAnswerOnFailure",err),failureCallback&&failureCallback(err)})},TraceablePeerConnection.prototype.addIceCandidate=function(candidate,successCallback,failureCallback){var self=this;return this.trace("addIceCandidate",candidate),this.peerconnection.addIceCandidate(candidate).then(function(){successCallback&&successCallback()},function(err){self.trace("addIceCandidateOnFailure",err),failureCallback&&failureCallback(err)})},TraceablePeerConnection.prototype.getStats=function(){this.peerconnection.getStats.apply(this.peerconnection,arguments)},module.exports=TraceablePeerConnection},{util:207,"webrtc-adapter":195,wildemitter:220}],195:[function(require,module,exports){arguments[4][33][0].apply(exports,arguments)},{"./chrome/chrome_shim":196,"./edge/edge_shim":198,"./firefox/firefox_shim":200,"./safari/safari_shim":202,"./utils":203,dup:33}],196:[function(require,module,exports){"use strict";var logging=require("../utils.js").log,browserDetails=require("../utils.js").browserDetails,chromeShim={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(f){var self=this;this._ontrack&&(this.removeEventListener("track",this._ontrack),this.removeEventListener("addstream",this._ontrackpoly)),this.addEventListener("track",this._ontrack=f),this.addEventListener("addstream",this._ontrackpoly=function(e){e.stream.addEventListener("addtrack",function(te){var event=new Event("track");event.track=te.track,event.receiver={track:te.track},event.streams=[e.stream],self.dispatchEvent(event)}),e.stream.getTracks().forEach(function(track){var event=new Event("track");event.track=track,event.receiver={track:track},event.streams=[e.stream],this.dispatchEvent(event)}.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(stream){var self=this;return this._srcObject=stream,this.src&&URL.revokeObjectURL(this.src),stream?(this.src=URL.createObjectURL(stream),stream.addEventListener("addtrack",function(){self.src&&URL.revokeObjectURL(self.src),self.src=URL.createObjectURL(stream)}),void stream.addEventListener("removetrack",function(){self.src&&URL.revokeObjectURL(self.src),self.src=URL.createObjectURL(stream)})):void(this.src="")}}))},shimPeerConnection:function(){window.RTCPeerConnection=function(pcConfig,pcConstraints){logging("PeerConnection"),pcConfig&&pcConfig.iceTransportPolicy&&(pcConfig.iceTransports=pcConfig.iceTransportPolicy);var pc=new webkitRTCPeerConnection(pcConfig,pcConstraints),origGetStats=pc.getStats.bind(pc);return pc.getStats=function(selector,successCallback,errorCallback){var self=this,args=arguments;if(arguments.length>0&&"function"==typeof selector)return origGetStats(selector,successCallback);var fixChromeStats_=function(response){var standardReport={},reports=response.result();return reports.forEach(function(report){var standardStats={id:report.id,timestamp:report.timestamp,type:report.type};report.names().forEach(function(name){standardStats[name]=report.stat(name)}),standardReport[standardStats.id]=standardStats}),standardReport},makeMapStats=function(stats,legacyStats){var map=new Map(Object.keys(stats).map(function(key){return[key,stats[key]]}));return legacyStats=legacyStats||stats,Object.keys(legacyStats).forEach(function(key){map[key]=legacyStats[key]}),map};if(arguments.length>=2){var successCallbackWrapper_=function(response){args[1](makeMapStats(fixChromeStats_(response)))};return origGetStats.apply(this,[successCallbackWrapper_,arguments[0]])}return new Promise(function(resolve,reject){1===args.length&&"object"==typeof selector?origGetStats.apply(self,[function(response){resolve(makeMapStats(fixChromeStats_(response)))},reject]):origGetStats.apply(self,[function(response){resolve(makeMapStats(fixChromeStats_(response),response.result()))},reject])}).then(successCallback,errorCallback)},pc},window.RTCPeerConnection.prototype=webkitRTCPeerConnection.prototype,webkitRTCPeerConnection.generateCertificate&&Object.defineProperty(window.RTCPeerConnection,"generateCertificate",{get:function(){return webkitRTCPeerConnection.generateCertificate}}),["createOffer","createAnswer"].forEach(function(method){var nativeMethod=webkitRTCPeerConnection.prototype[method];webkitRTCPeerConnection.prototype[method]=function(){var self=this;if(arguments.length<1||1===arguments.length&&"object"==typeof arguments[0]){var opts=1===arguments.length?arguments[0]:void 0;return new Promise(function(resolve,reject){nativeMethod.apply(self,[resolve,reject,opts])})}return nativeMethod.apply(this,arguments)}}),browserDetails.version<51&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(method){var nativeMethod=webkitRTCPeerConnection.prototype[method];webkitRTCPeerConnection.prototype[method]=function(){var args=arguments,self=this,promise=new Promise(function(resolve,reject){nativeMethod.apply(self,[args[0],resolve,reject])});return args.length<2?promise:promise.then(function(){args[1].apply(null,[])},function(err){args.length>=3&&args[2].apply(null,[err])})}});var nativeAddIceCandidate=RTCPeerConnection.prototype.addIceCandidate;RTCPeerConnection.prototype.addIceCandidate=function(){return null===arguments[0]?Promise.resolve():nativeAddIceCandidate.apply(this,arguments)},["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(method){var nativeMethod=webkitRTCPeerConnection.prototype[method];webkitRTCPeerConnection.prototype[method]=function(){return arguments[0]=new("addIceCandidate"===method?RTCIceCandidate:RTCSessionDescription)(arguments[0]),nativeMethod.apply(this,arguments)}})},attachMediaStream:function(element,stream){logging("DEPRECATED, attachMediaStream will soon be removed."),browserDetails.version>=43?element.srcObject=stream:"undefined"!=typeof element.src?element.src=URL.createObjectURL(stream):logging("Error attaching stream to element.")},reattachMediaStream:function(to,from){logging("DEPRECATED, reattachMediaStream will soon be removed."),browserDetails.version>=43?to.srcObject=from.srcObject:to.src=from.src}};module.exports={shimMediaStream:chromeShim.shimMediaStream,shimOnTrack:chromeShim.shimOnTrack,shimSourceObject:chromeShim.shimSourceObject,shimPeerConnection:chromeShim.shimPeerConnection,shimGetUserMedia:require("./getusermedia"),attachMediaStream:chromeShim.attachMediaStream,reattachMediaStream:chromeShim.reattachMediaStream}},{"../utils.js":203,"./getusermedia":197}],197:[function(require,module,exports){"use strict";var logging=require("../utils.js").log;module.exports=function(){var constraintsToChrome_=function(c){if("object"!=typeof c||c.mandatory||c.optional)return c;var cc={};return Object.keys(c).forEach(function(key){if("require"!==key&&"advanced"!==key&&"mediaSource"!==key){var r="object"==typeof c[key]?c[key]:{ideal:c[key]};void 0!==r.exact&&"number"==typeof r.exact&&(r.min=r.max=r.exact);var oldname_=function(prefix,name){return prefix?prefix+name.charAt(0).toUpperCase()+name.slice(1):"deviceId"===name?"sourceId":name};if(void 0!==r.ideal){cc.optional=cc.optional||[];var oc={};"number"==typeof r.ideal?(oc[oldname_("min",key)]=r.ideal,cc.optional.push(oc),oc={},oc[oldname_("max",key)]=r.ideal,cc.optional.push(oc)):(oc[oldname_("",key)]=r.ideal,cc.optional.push(oc))}void 0!==r.exact&&"number"!=typeof r.exact?(cc.mandatory=cc.mandatory||{},cc.mandatory[oldname_("",key)]=r.exact):["min","max"].forEach(function(mix){void 0!==r[mix]&&(cc.mandatory=cc.mandatory||{},cc.mandatory[oldname_(mix,key)]=r[mix])})}}),c.advanced&&(cc.optional=(cc.optional||[]).concat(c.advanced)),cc},shimConstraints_=function(constraints,func){if(constraints=JSON.parse(JSON.stringify(constraints)),constraints&&constraints.audio&&(constraints.audio=constraintsToChrome_(constraints.audio)),constraints&&"object"==typeof constraints.video){var face=constraints.video.facingMode;if(face=face&&("object"==typeof face?face:{ideal:face}),face&&("user"===face.exact||"environment"===face.exact||"user"===face.ideal||"environment"===face.ideal)&&(!navigator.mediaDevices.getSupportedConstraints||!navigator.mediaDevices.getSupportedConstraints().facingMode)&&(delete constraints.video.facingMode,"environment"===face.exact||"environment"===face.ideal))return navigator.mediaDevices.enumerateDevices().then(function(devices){devices=devices.filter(function(d){return"videoinput"===d.kind});var back=devices.find(function(d){return d.label.toLowerCase().indexOf("back")!==-1})||devices.length&&devices[devices.length-1];return back&&(constraints.video.deviceId=face.exact?{exact:back.deviceId}:{ideal:back.deviceId}),constraints.video=constraintsToChrome_(constraints.video),logging("chrome: "+JSON.stringify(constraints)),func(constraints)});constraints.video=constraintsToChrome_(constraints.video)}return logging("chrome: "+JSON.stringify(constraints)),func(constraints)},shimError_=function(e){return{name:{PermissionDeniedError:"NotAllowedError",ConstraintNotSatisfiedError:"OverconstrainedError"}[e.name]||e.name,message:e.message,constraint:e.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}},getUserMedia_=function(constraints,onSuccess,onError){shimConstraints_(constraints,function(c){navigator.webkitGetUserMedia(c,onSuccess,function(e){onError(shimError_(e))})})};navigator.getUserMedia=getUserMedia_;var getUserMediaPromise_=function(constraints){return new Promise(function(resolve,reject){navigator.getUserMedia(constraints,resolve,reject)})};if(navigator.mediaDevices||(navigator.mediaDevices={getUserMedia:getUserMediaPromise_,enumerateDevices:function(){return new Promise(function(resolve){var kinds={audio:"audioinput",video:"videoinput"};return MediaStreamTrack.getSources(function(devices){resolve(devices.map(function(device){return{label:device.label,kind:kinds[device.kind],deviceId:device.id,groupId:""}}))})})}}),navigator.mediaDevices.getUserMedia){var origGetUserMedia=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(cs){return shimConstraints_(cs,function(c){return origGetUserMedia(c).catch(function(e){return Promise.reject(shimError_(e))})})}}else navigator.mediaDevices.getUserMedia=function(constraints){return getUserMediaPromise_(constraints)};"undefined"==typeof navigator.mediaDevices.addEventListener&&(navigator.mediaDevices.addEventListener=function(){logging("Dummy mediaDevices.addEventListener called.")}),"undefined"==typeof navigator.mediaDevices.removeEventListener&&(navigator.mediaDevices.removeEventListener=function(){logging("Dummy mediaDevices.removeEventListener called.")})}},{"../utils.js":203}],198:[function(require,module,exports){"use strict";var SDPUtils=require("sdp"),logging=require("../utils").log,edgeShim={shimPeerConnection:function(){window.RTCIceGatherer&&(window.RTCIceCandidate||(window.RTCIceCandidate=function(args){return args}),window.RTCSessionDescription||(window.RTCSessionDescription=function(args){return args})),window.RTCPeerConnection=function(config){var self=this,_eventTarget=document.createDocumentFragment();if(["addEventListener","removeEventListener","dispatchEvent"].forEach(function(method){self[method]=_eventTarget[method].bind(_eventTarget)}),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 self.localStreams},this.getRemoteStreams=function(){return self.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:[]},config&&config.iceTransportPolicy)switch(config.iceTransportPolicy){case"all":case"relay":this.iceOptions.gatherPolicy=config.iceTransportPolicy;break;case"none":throw new TypeError('iceTransportPolicy "none" not supported')}if(this.usingBundle=config&&"max-bundle"===config.bundlePolicy,config&&config.iceServers){var iceServers=JSON.parse(JSON.stringify(config.iceServers));this.iceOptions.iceServers=iceServers.filter(function(server){if(server&&server.urls){var urls=server.urls;return"string"==typeof urls&&(urls=[urls]),urls=urls.filter(function(url){return 0===url.indexOf("turn:")&&url.indexOf("transport=udp")!==-1})[0],!!urls}return!1})}this.transceivers=[],this._localIceCandidatesBuffer=[]},window.RTCPeerConnection.prototype._emitBufferedCandidates=function(){var self=this,sections=SDPUtils.splitSections(self.localDescription.sdp);this._localIceCandidatesBuffer.forEach(function(event){var end=!event.candidate||0===Object.keys(event.candidate).length;if(end)for(var j=1;j<sections.length;j++)sections[j].indexOf("\r\na=end-of-candidates\r\n")===-1&&(sections[j]+="a=end-of-candidates\r\n");else event.candidate.candidate.indexOf("typ endOfCandidates")===-1&&(sections[event.candidate.sdpMLineIndex+1]+="a="+event.candidate.candidate+"\r\n");if(self.localDescription.sdp=sections.join(""),self.dispatchEvent(event),null!==self.onicecandidate&&self.onicecandidate(event),!event.candidate&&"complete"!==self.iceGatheringState){var complete=self.transceivers.every(function(transceiver){return transceiver.iceGatherer&&"completed"===transceiver.iceGatherer.state});complete&&(self.iceGatheringState="complete")}}),this._localIceCandidatesBuffer=[]},window.RTCPeerConnection.prototype.addStream=function(stream){this.localStreams.push(stream.clone()),this._maybeFireNegotiationNeeded()},window.RTCPeerConnection.prototype.removeStream=function(stream){var idx=this.localStreams.indexOf(stream);idx>-1&&(this.localStreams.splice(idx,1),this._maybeFireNegotiationNeeded())},window.RTCPeerConnection.prototype.getSenders=function(){return this.transceivers.filter(function(transceiver){return!!transceiver.rtpSender}).map(function(transceiver){return transceiver.rtpSender})},window.RTCPeerConnection.prototype.getReceivers=function(){return this.transceivers.filter(function(transceiver){return!!transceiver.rtpReceiver}).map(function(transceiver){return transceiver.rtpReceiver})},window.RTCPeerConnection.prototype._getCommonCapabilities=function(localCapabilities,remoteCapabilities){var commonCapabilities={codecs:[],headerExtensions:[],fecMechanisms:[]};return localCapabilities.codecs.forEach(function(lCodec){for(var i=0;i<remoteCapabilities.codecs.length;i++){var rCodec=remoteCapabilities.codecs[i];if(lCodec.name.toLowerCase()===rCodec.name.toLowerCase()&&lCodec.clockRate===rCodec.clockRate&&lCodec.numChannels===rCodec.numChannels){commonCapabilities.codecs.push(rCodec);break}}}),localCapabilities.headerExtensions.forEach(function(lHeaderExtension){for(var i=0;i<remoteCapabilities.headerExtensions.length;i++){var rHeaderExtension=remoteCapabilities.headerExtensions[i];if(lHeaderExtension.uri===rHeaderExtension.uri){commonCapabilities.headerExtensions.push(rHeaderExtension);break}}}),commonCapabilities},window.RTCPeerConnection.prototype._createIceAndDtlsTransports=function(mid,sdpMLineIndex){var self=this,iceGatherer=new RTCIceGatherer(self.iceOptions),iceTransport=new RTCIceTransport(iceGatherer);iceGatherer.onlocalcandidate=function(evt){var event=new Event("icecandidate");event.candidate={sdpMid:mid,sdpMLineIndex:sdpMLineIndex};var cand=evt.candidate,end=!cand||0===Object.keys(cand).length;end?(void 0===iceGatherer.state&&(iceGatherer.state="completed"),event.candidate.candidate="candidate:1 1 udp 1 0.0.0.0 9 typ endOfCandidates"):(cand.component="RTCP"===iceTransport.component?2:1,event.candidate.candidate=SDPUtils.writeCandidate(cand));var sections=SDPUtils.splitSections(self.localDescription.sdp);event.candidate.candidate.indexOf("typ endOfCandidates")===-1?sections[event.candidate.sdpMLineIndex+1]+="a="+event.candidate.candidate+"\r\n":sections[event.candidate.sdpMLineIndex+1]+="a=end-of-candidates\r\n",self.localDescription.sdp=sections.join("");var complete=self.transceivers.every(function(transceiver){return transceiver.iceGatherer&&"completed"===transceiver.iceGatherer.state});switch(self.iceGatheringState){case"new":self._localIceCandidatesBuffer.push(event),end&&complete&&self._localIceCandidatesBuffer.push(new Event("icecandidate"));break;case"gathering":self._emitBufferedCandidates(),self.dispatchEvent(event),null!==self.onicecandidate&&self.onicecandidate(event),complete&&(self.dispatchEvent(new Event("icecandidate")),null!==self.onicecandidate&&self.onicecandidate(new Event("icecandidate")),self.iceGatheringState="complete");break;case"complete":}},iceTransport.onicestatechange=function(){self._updateConnectionState()};var dtlsTransport=new RTCDtlsTransport(iceTransport);return dtlsTransport.ondtlsstatechange=function(){self._updateConnectionState()},dtlsTransport.onerror=function(){dtlsTransport.state="failed",self._updateConnectionState()},{iceGatherer:iceGatherer,iceTransport:iceTransport,dtlsTransport:dtlsTransport}},window.RTCPeerConnection.prototype._transceive=function(transceiver,send,recv){var params=this._getCommonCapabilities(transceiver.localCapabilities,transceiver.remoteCapabilities);send&&transceiver.rtpSender&&(params.encodings=transceiver.sendEncodingParameters,params.rtcp={cname:SDPUtils.localCName},transceiver.recvEncodingParameters.length&&(params.rtcp.ssrc=transceiver.recvEncodingParameters[0].ssrc),transceiver.rtpSender.send(params)),recv&&transceiver.rtpReceiver&&(params.encodings=transceiver.recvEncodingParameters,params.rtcp={cname:transceiver.cname},transceiver.sendEncodingParameters.length&&(params.rtcp.ssrc=transceiver.sendEncodingParameters[0].ssrc),transceiver.rtpReceiver.receive(params))},window.RTCPeerConnection.prototype.setLocalDescription=function(description){var sections,sessionpart,self=this;if("offer"===description.type)this._pendingOffer&&(sections=SDPUtils.splitSections(description.sdp),sessionpart=sections.shift(),sections.forEach(function(mediaSection,sdpMLineIndex){var caps=SDPUtils.parseRtpParameters(mediaSection);self._pendingOffer[sdpMLineIndex].localCapabilities=caps}),this.transceivers=this._pendingOffer,delete this._pendingOffer);else if("answer"===description.type){sections=SDPUtils.splitSections(self.remoteDescription.sdp),sessionpart=sections.shift();var isIceLite=SDPUtils.matchPrefix(sessionpart,"a=ice-lite").length>0;sections.forEach(function(mediaSection,sdpMLineIndex){var transceiver=self.transceivers[sdpMLineIndex],iceGatherer=transceiver.iceGatherer,iceTransport=transceiver.iceTransport,dtlsTransport=transceiver.dtlsTransport,localCapabilities=transceiver.localCapabilities,remoteCapabilities=transceiver.remoteCapabilities,rejected="0"===mediaSection.split("\n",1)[0].split(" ",2)[1];if(!rejected){var remoteIceParameters=SDPUtils.getIceParameters(mediaSection,sessionpart);if(isIceLite){var cands=SDPUtils.matchPrefix(mediaSection,"a=candidate:").map(function(cand){return SDPUtils.parseCandidate(cand)}).filter(function(cand){return"1"===cand.component});cands.length&&iceTransport.setRemoteCandidates(cands)}var remoteDtlsParameters=SDPUtils.getDtlsParameters(mediaSection,sessionpart);isIceLite&&(remoteDtlsParameters.role="server"),self.usingBundle&&0!==sdpMLineIndex||(iceTransport.start(iceGatherer,remoteIceParameters,isIceLite?"controlling":"controlled"),dtlsTransport.start(remoteDtlsParameters));var params=self._getCommonCapabilities(localCapabilities,remoteCapabilities);self._transceive(transceiver,params.codecs.length>0,!1)}})}switch(this.localDescription={type:description.type,sdp:description.sdp},description.type){case"offer":this._updateSignalingState("have-local-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+description.type+'"')}var hasCallback=arguments.length>1&&"function"==typeof arguments[1];if(hasCallback){var cb=arguments[1];window.setTimeout(function(){cb(),"new"===self.iceGatheringState&&(self.iceGatheringState="gathering"),self._emitBufferedCandidates()},0)}var p=Promise.resolve();return p.then(function(){hasCallback||("new"===self.iceGatheringState&&(self.iceGatheringState="gathering"),window.setTimeout(self._emitBufferedCandidates.bind(self),500))}),p},window.RTCPeerConnection.prototype.setRemoteDescription=function(description){var self=this,stream=new MediaStream,receiverList=[],sections=SDPUtils.splitSections(description.sdp),sessionpart=sections.shift(),isIceLite=SDPUtils.matchPrefix(sessionpart,"a=ice-lite").length>0;switch(this.usingBundle=SDPUtils.matchPrefix(sessionpart,"a=group:BUNDLE ").length>0,sections.forEach(function(mediaSection,sdpMLineIndex){var transceiver,iceGatherer,iceTransport,dtlsTransport,rtpSender,rtpReceiver,sendEncodingParameters,recvEncodingParameters,localCapabilities,track,remoteIceParameters,remoteDtlsParameters,lines=SDPUtils.splitLines(mediaSection),mline=lines[0].substr(2).split(" "),kind=mline[0],rejected="0"===mline[1],direction=SDPUtils.getDirection(mediaSection,sessionpart),remoteCapabilities=SDPUtils.parseRtpParameters(mediaSection);rejected||(remoteIceParameters=SDPUtils.getIceParameters(mediaSection,sessionpart),remoteDtlsParameters=SDPUtils.getDtlsParameters(mediaSection,sessionpart),remoteDtlsParameters.role="client"),recvEncodingParameters=SDPUtils.parseRtpEncodingParameters(mediaSection);var mid=SDPUtils.matchPrefix(mediaSection,"a=mid:");mid=mid.length?mid[0].substr(6):SDPUtils.generateIdentifier();var cname,remoteSsrc=SDPUtils.matchPrefix(mediaSection,"a=ssrc:").map(function(line){return SDPUtils.parseSsrcMedia(line)}).filter(function(obj){return"cname"===obj.attribute})[0];remoteSsrc&&(cname=remoteSsrc.value);var isComplete=SDPUtils.matchPrefix(mediaSection,"a=end-of-candidates").length>0,cands=SDPUtils.matchPrefix(mediaSection,"a=candidate:").map(function(cand){return SDPUtils.parseCandidate(cand)}).filter(function(cand){return"1"===cand.component});if("offer"!==description.type||rejected)"answer"!==description.type||rejected||(transceiver=self.transceivers[sdpMLineIndex],iceGatherer=transceiver.iceGatherer,iceTransport=transceiver.iceTransport,dtlsTransport=transceiver.dtlsTransport,rtpSender=transceiver.rtpSender,rtpReceiver=transceiver.rtpReceiver,sendEncodingParameters=transceiver.sendEncodingParameters,localCapabilities=transceiver.localCapabilities,self.transceivers[sdpMLineIndex].recvEncodingParameters=recvEncodingParameters,self.transceivers[sdpMLineIndex].remoteCapabilities=remoteCapabilities,self.transceivers[sdpMLineIndex].cname=cname,(isIceLite||isComplete)&&cands.length&&iceTransport.setRemoteCandidates(cands),self.usingBundle&&0!==sdpMLineIndex||(iceTransport.start(iceGatherer,remoteIceParameters,"controlling"),dtlsTransport.start(remoteDtlsParameters)),self._transceive(transceiver,"sendrecv"===direction||"recvonly"===direction,"sendrecv"===direction||"sendonly"===direction),!rtpReceiver||"sendrecv"!==direction&&"sendonly"!==direction?delete transceiver.rtpReceiver:(track=rtpReceiver.track,receiverList.push([track,rtpReceiver]),stream.addTrack(track)));else{var transports=self.usingBundle&&sdpMLineIndex>0?{iceGatherer:self.transceivers[0].iceGatherer,iceTransport:self.transceivers[0].iceTransport,dtlsTransport:self.transceivers[0].dtlsTransport}:self._createIceAndDtlsTransports(mid,sdpMLineIndex);if(isComplete&&transports.iceTransport.setRemoteCandidates(cands),localCapabilities=RTCRtpReceiver.getCapabilities(kind),sendEncodingParameters=[{ssrc:1001*(2*sdpMLineIndex+2)}],rtpReceiver=new RTCRtpReceiver(transports.dtlsTransport,kind),track=rtpReceiver.track,receiverList.push([track,rtpReceiver]),stream.addTrack(track),self.localStreams.length>0&&self.localStreams[0].getTracks().length>=sdpMLineIndex){var localtrack=self.localStreams[0].getTracks()[sdpMLineIndex];rtpSender=new RTCRtpSender(localtrack,transports.dtlsTransport)}self.transceivers[sdpMLineIndex]={iceGatherer:transports.iceGatherer,iceTransport:transports.iceTransport,dtlsTransport:transports.dtlsTransport,localCapabilities:localCapabilities,remoteCapabilities:remoteCapabilities,rtpSender:rtpSender,rtpReceiver:rtpReceiver,kind:kind,mid:mid,cname:cname,sendEncodingParameters:sendEncodingParameters,recvEncodingParameters:recvEncodingParameters},self._transceive(self.transceivers[sdpMLineIndex],!1,"sendrecv"===direction||"sendonly"===direction)}}),this.remoteDescription={type:description.type,sdp:description.sdp},description.type){case"offer":this._updateSignalingState("have-remote-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+description.type+'"')}return stream.getTracks().length&&(self.remoteStreams.push(stream),window.setTimeout(function(){var event=new Event("addstream");event.stream=stream,self.dispatchEvent(event),null!==self.onaddstream&&window.setTimeout(function(){self.onaddstream(event)},0),receiverList.forEach(function(item){var track=item[0],receiver=item[1],trackEvent=new Event("track");trackEvent.track=track,trackEvent.receiver=receiver,trackEvent.streams=[stream],self.dispatchEvent(event),null!==self.ontrack&&window.setTimeout(function(){self.ontrack(trackEvent)},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(transceiver){transceiver.iceTransport&&transceiver.iceTransport.stop(),transceiver.dtlsTransport&&transceiver.dtlsTransport.stop(),transceiver.rtpSender&&transceiver.rtpSender.stop(),transceiver.rtpReceiver&&transceiver.rtpReceiver.stop()}),this._updateSignalingState("closed")},window.RTCPeerConnection.prototype._updateSignalingState=function(newState){this.signalingState=newState;var event=new Event("signalingstatechange");this.dispatchEvent(event),null!==this.onsignalingstatechange&&this.onsignalingstatechange(event)},window.RTCPeerConnection.prototype._maybeFireNegotiationNeeded=function(){var event=new Event("negotiationneeded");this.dispatchEvent(event),null!==this.onnegotiationneeded&&this.onnegotiationneeded(event)},window.RTCPeerConnection.prototype._updateConnectionState=function(){var newState,self=this,states={new:0,closed:0,connecting:0,checking:0,connected:0,completed:0,failed:0};if(this.transceivers.forEach(function(transceiver){states[transceiver.iceTransport.state]++,states[transceiver.dtlsTransport.state]++}),states.connected+=states.completed,newState="new",states.failed>0?newState="failed":states.connecting>0||states.checking>0?newState="connecting":states.disconnected>0?newState="disconnected":states.new>0?newState="new":(states.connected>0||states.completed>0)&&(newState="connected"),newState!==self.iceConnectionState){self.iceConnectionState=newState;var event=new Event("iceconnectionstatechange");this.dispatchEvent(event),null!==this.oniceconnectionstatechange&&this.oniceconnectionstatechange(event)}},window.RTCPeerConnection.prototype.createOffer=function(){var self=this;if(this._pendingOffer)throw new Error("createOffer called while there is a pending offer.");var offerOptions;1===arguments.length&&"function"!=typeof arguments[0]?offerOptions=arguments[0]:3===arguments.length&&(offerOptions=arguments[2]);var tracks=[],numAudioTracks=0,numVideoTracks=0;if(this.localStreams.length&&(numAudioTracks=this.localStreams[0].getAudioTracks().length,numVideoTracks=this.localStreams[0].getVideoTracks().length),offerOptions){if(offerOptions.mandatory||offerOptions.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");void 0!==offerOptions.offerToReceiveAudio&&(numAudioTracks=offerOptions.offerToReceiveAudio),void 0!==offerOptions.offerToReceiveVideo&&(numVideoTracks=offerOptions.offerToReceiveVideo)}for(this.localStreams.length&&this.localStreams[0].getTracks().forEach(function(track){tracks.push({kind:track.kind,track:track,wantReceive:"audio"===track.kind?numAudioTracks>0:numVideoTracks>0}),"audio"===track.kind?numAudioTracks--:"video"===track.kind&&numVideoTracks--});numAudioTracks>0||numVideoTracks>0;)numAudioTracks>0&&(tracks.push({kind:"audio",wantReceive:!0}),numAudioTracks--),numVideoTracks>0&&(tracks.push({kind:"video",wantReceive:!0}),numVideoTracks--);var sdp=SDPUtils.writeSessionBoilerplate(),transceivers=[];tracks.forEach(function(mline,sdpMLineIndex){var rtpSender,rtpReceiver,track=mline.track,kind=mline.kind,mid=SDPUtils.generateIdentifier(),transports=self.usingBundle&&sdpMLineIndex>0?{iceGatherer:transceivers[0].iceGatherer,iceTransport:transceivers[0].iceTransport,dtlsTransport:transceivers[0].dtlsTransport}:self._createIceAndDtlsTransports(mid,sdpMLineIndex),localCapabilities=RTCRtpSender.getCapabilities(kind),sendEncodingParameters=[{ssrc:1001*(2*sdpMLineIndex+1)}];track&&(rtpSender=new RTCRtpSender(track,transports.dtlsTransport)),mline.wantReceive&&(rtpReceiver=new RTCRtpReceiver(transports.dtlsTransport,kind)),transceivers[sdpMLineIndex]={iceGatherer:transports.iceGatherer,iceTransport:transports.iceTransport,dtlsTransport:transports.dtlsTransport,localCapabilities:localCapabilities,remoteCapabilities:null,rtpSender:rtpSender,rtpReceiver:rtpReceiver,kind:kind,mid:mid,sendEncodingParameters:sendEncodingParameters,recvEncodingParameters:null}}),this.usingBundle&&(sdp+="a=group:BUNDLE "+transceivers.map(function(t){return t.mid}).join(" ")+"\r\n"),tracks.forEach(function(mline,sdpMLineIndex){var transceiver=transceivers[sdpMLineIndex];sdp+=SDPUtils.writeMediaSection(transceiver,transceiver.localCapabilities,"offer",self.localStreams[0])}),this._pendingOffer=transceivers;var desc=new RTCSessionDescription({type:"offer",sdp:sdp});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,desc),Promise.resolve(desc)},window.RTCPeerConnection.prototype.createAnswer=function(){var self=this,sdp=SDPUtils.writeSessionBoilerplate();this.usingBundle&&(sdp+="a=group:BUNDLE "+this.transceivers.map(function(t){return t.mid}).join(" ")+"\r\n"),this.transceivers.forEach(function(transceiver){var commonCapabilities=self._getCommonCapabilities(transceiver.localCapabilities,transceiver.remoteCapabilities);sdp+=SDPUtils.writeMediaSection(transceiver,commonCapabilities,"answer",self.localStreams[0])});var desc=new RTCSessionDescription({type:"answer",sdp:sdp});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,desc),Promise.resolve(desc)},window.RTCPeerConnection.prototype.addIceCandidate=function(candidate){if(null===candidate)this.transceivers.forEach(function(transceiver){transceiver.iceTransport.addRemoteCandidate({})});else{var mLineIndex=candidate.sdpMLineIndex;if(candidate.sdpMid)for(var i=0;i<this.transceivers.length;i++)if(this.transceivers[i].mid===candidate.sdpMid){mLineIndex=i;break}var transceiver=this.transceivers[mLineIndex];if(transceiver){var cand=Object.keys(candidate.candidate).length>0?SDPUtils.parseCandidate(candidate.candidate):{};if("tcp"===cand.protocol&&0===cand.port)return;if("1"!==cand.component)return;"endOfCandidates"===cand.type&&(cand={}),transceiver.iceTransport.addRemoteCandidate(cand);var sections=SDPUtils.splitSections(this.remoteDescription.sdp);sections[mLineIndex+1]+=(cand.type?candidate.candidate.trim():"a=end-of-candidates")+"\r\n",this.remoteDescription.sdp=sections.join("")}}return arguments.length>1&&"function"==typeof arguments[1]&&window.setTimeout(arguments[1],0),Promise.resolve()},window.RTCPeerConnection.prototype.getStats=function(){var promises=[];this.transceivers.forEach(function(transceiver){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(method){transceiver[method]&&promises.push(transceiver[method].getStats())})});var cb=arguments.length>1&&"function"==typeof arguments[1]&&arguments[1];return new Promise(function(resolve){var results=new Map;Promise.all(promises).then(function(res){res.forEach(function(result){Object.keys(result).forEach(function(id){results.set(id,result[id]),results[id]=result[id]})}),cb&&window.setTimeout(cb,0,results),resolve(results)})})}},attachMediaStream:function(element,stream){logging("DEPRECATED, attachMediaStream will soon be removed."),element.srcObject=stream},reattachMediaStream:function(to,from){logging("DEPRECATED, reattachMediaStream will soon be removed."),to.srcObject=from.srcObject}};module.exports={shimPeerConnection:edgeShim.shimPeerConnection,shimGetUserMedia:require("./getusermedia"),attachMediaStream:edgeShim.attachMediaStream,reattachMediaStream:edgeShim.reattachMediaStream}},{"../utils":203,"./getusermedia":199,sdp:183}],199:[function(require,module,exports){arguments[4][37][0].apply(exports,arguments)},{dup:37}],200:[function(require,module,exports){"use strict";var logging=require("../utils").log,browserDetails=require("../utils").browserDetails,firefoxShim={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(f){this._ontrack&&(this.removeEventListener("track",this._ontrack),this.removeEventListener("addstream",this._ontrackpoly)),this.addEventListener("track",this._ontrack=f),this.addEventListener("addstream",this._ontrackpoly=function(e){e.stream.getTracks().forEach(function(track){var event=new Event("track");event.track=track,event.receiver={track:track},event.streams=[e.stream],this.dispatchEvent(event)}.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(stream){this.mozSrcObject=stream}}))},shimPeerConnection:function(){if("object"==typeof window&&(window.RTCPeerConnection||window.mozRTCPeerConnection)){window.RTCPeerConnection||(window.RTCPeerConnection=function(pcConfig,pcConstraints){if(browserDetails.version<38&&pcConfig&&pcConfig.iceServers){for(var newIceServers=[],i=0;i<pcConfig.iceServers.length;i++){var server=pcConfig.iceServers[i];if(server.hasOwnProperty("urls"))for(var j=0;j<server.urls.length;j++){var newServer={url:server.urls[j]};0===server.urls[j].indexOf("turn")&&(newServer.username=server.username,newServer.credential=server.credential),newIceServers.push(newServer)}else newIceServers.push(pcConfig.iceServers[i])}pcConfig.iceServers=newIceServers}return new mozRTCPeerConnection(pcConfig,pcConstraints)},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(method){var nativeMethod=RTCPeerConnection.prototype[method];RTCPeerConnection.prototype[method]=function(){return arguments[0]=new("addIceCandidate"===method?RTCIceCandidate:RTCSessionDescription)(arguments[0]),nativeMethod.apply(this,arguments)}});var nativeAddIceCandidate=RTCPeerConnection.prototype.addIceCandidate;RTCPeerConnection.prototype.addIceCandidate=function(){return null===arguments[0]?Promise.resolve():nativeAddIceCandidate.apply(this,arguments)};var makeMapStats=function(stats){var map=new Map;return Object.keys(stats).forEach(function(key){map.set(key,stats[key]),map[key]=stats[key]}),map},nativeGetStats=RTCPeerConnection.prototype.getStats;RTCPeerConnection.prototype.getStats=function(selector,onSucc,onErr){return nativeGetStats.apply(this,[selector||null]).then(function(stats){return makeMapStats(stats)}).then(onSucc,onErr)}}},attachMediaStream:function(element,stream){logging("DEPRECATED, attachMediaStream will soon be removed."),element.srcObject=stream},reattachMediaStream:function(to,from){logging("DEPRECATED, reattachMediaStream will soon be removed."),to.srcObject=from.srcObject}};module.exports={shimOnTrack:firefoxShim.shimOnTrack,shimSourceObject:firefoxShim.shimSourceObject,shimPeerConnection:firefoxShim.shimPeerConnection,shimGetUserMedia:require("./getusermedia"),attachMediaStream:firefoxShim.attachMediaStream,reattachMediaStream:firefoxShim.reattachMediaStream}},{"../utils":203,"./getusermedia":201}],201:[function(require,module,exports){"use strict";var logging=require("../utils").log,browserDetails=require("../utils").browserDetails;module.exports=function(){var shimError_=function(e){return{name:{SecurityError:"NotAllowedError",PermissionDeniedError:"NotAllowedError"}[e.name]||e.name,message:{"The operation is insecure.":"The request is not allowed by the user agent or the platform in the current context."}[e.message]||e.message,constraint:e.constraint,toString:function(){return this.name+(this.message&&": ")+this.message}}},getUserMedia_=function(constraints,onSuccess,onError){var constraintsToFF37_=function(c){if("object"!=typeof c||c.require)return c;var require=[];return Object.keys(c).forEach(function(key){if("require"!==key&&"advanced"!==key&&"mediaSource"!==key){var r=c[key]="object"==typeof c[key]?c[key]:{ideal:c[key]};if(void 0===r.min&&void 0===r.max&&void 0===r.exact||require.push(key),void 0!==r.exact&&("number"==typeof r.exact?r.min=r.max=r.exact:c[key]=r.exact,delete r.exact),void 0!==r.ideal){c.advanced=c.advanced||[];var oc={};"number"==typeof r.ideal?oc[key]={min:r.ideal,max:r.ideal}:oc[key]=r.ideal,c.advanced.push(oc),delete r.ideal,Object.keys(r).length||delete c[key]}}}),require.length&&(c.require=require),c};return constraints=JSON.parse(JSON.stringify(constraints)),browserDetails.version<38&&(logging("spec: "+JSON.stringify(constraints)),constraints.audio&&(constraints.audio=constraintsToFF37_(constraints.audio)),constraints.video&&(constraints.video=constraintsToFF37_(constraints.video)),logging("ff37: "+JSON.stringify(constraints))),navigator.mozGetUserMedia(constraints,onSuccess,function(e){onError(shimError_(e))})},getUserMediaPromise_=function(constraints){return new Promise(function(resolve,reject){getUserMedia_(constraints,resolve,reject)})};if(navigator.mediaDevices||(navigator.mediaDevices={getUserMedia:getUserMediaPromise_,addEventListener:function(){},removeEventListener:function(){}}),navigator.mediaDevices.enumerateDevices=navigator.mediaDevices.enumerateDevices||function(){return new Promise(function(resolve){var infos=[{kind:"audioinput",deviceId:"default",label:"",groupId:""},{kind:"videoinput",deviceId:"default",label:"",groupId:""}];resolve(infos)})},browserDetails.version<41){var orgEnumerateDevices=navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices);navigator.mediaDevices.enumerateDevices=function(){return orgEnumerateDevices().then(void 0,function(e){if("NotFoundError"===e.name)return[];throw e})}}if(browserDetails.version<49){var origGetUserMedia=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(c){return origGetUserMedia(c).catch(function(e){return Promise.reject(shimError_(e))})}}navigator.getUserMedia=function(constraints,onSuccess,onError){return browserDetails.version<44?getUserMedia_(constraints,onSuccess,onError):(console.warn("navigator.getUserMedia has been replaced by navigator.mediaDevices.getUserMedia"),void navigator.mediaDevices.getUserMedia(constraints).then(onSuccess,onError))}}},{"../utils":203}],202:[function(require,module,exports){"use strict";var safariShim={shimGetUserMedia:function(){navigator.getUserMedia=navigator.webkitGetUserMedia}};module.exports={shimGetUserMedia:safariShim.shimGetUserMedia}},{}],203:[function(require,module,exports){"use strict";var logDisabled_=!0,utils={disableLog:function(bool){return"boolean"!=typeof bool?new Error("Argument type: "+typeof bool+". Please use a boolean."):(logDisabled_=bool,bool?"adapter.js logging disabled":"adapter.js logging enabled")},log:function(){if("object"==typeof window){if(logDisabled_)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}},extractVersion:function(uastring,expr,pos){var match=uastring.match(expr);return match&&match.length>=pos&&parseInt(match[pos],10)},detectBrowser:function(){var result={};if(result.browser=null,result.version=null,result.minVersion=null,"undefined"==typeof window||!window.navigator)return result.browser="Not a browser.",result;if(navigator.mozGetUserMedia)result.browser="firefox",result.version=this.extractVersion(navigator.userAgent,/Firefox\/([0-9]+)\./,1),result.minVersion=31;else if(navigator.webkitGetUserMedia)if(window.webkitRTCPeerConnection)result.browser="chrome",result.version=this.extractVersion(navigator.userAgent,/Chrom(e|ium)\/([0-9]+)\./,2),result.minVersion=38;else{if(!navigator.userAgent.match(/Version\/(\d+).(\d+)/))return result.browser="Unsupported webkit-based browser with GUM support but no WebRTC support.",result;result.browser="safari",result.version=this.extractVersion(navigator.userAgent,/AppleWebKit\/([0-9]+)\./,1),result.minVersion=602}else{if(!navigator.mediaDevices||!navigator.userAgent.match(/Edge\/(\d+).(\d+)$/))return result.browser="Not a supported browser.",result;result.browser="edge",result.version=this.extractVersion(navigator.userAgent,/Edge\/(\d+).(\d+)$/,2),result.minVersion=10547}return result.version<result.minVersion&&utils.log("Browser: "+result.browser+" Version: "+result.version+" < minimum supported version: "+result.minVersion+"\n some things might not work!"),result}};module.exports={log:utils.log,disableLog:utils.disableLog,browserDetails:utils.detectBrowser(),extractVersion:utils.extractVersion}},{}],204:[function(require,module,exports){(function(global){function deprecate(fn,msg){function deprecated(){if(!warned){if(config("throwDeprecation"))throw new Error(msg);config("traceDeprecation")?console.trace(msg):console.warn(msg),warned=!0}return fn.apply(this,arguments)}if(config("noDeprecation"))return fn;var warned=!1;return deprecated}function config(name){try{if(!global.localStorage)return!1}catch(_){return!1}var val=global.localStorage[name];return null!=val&&"true"===String(val).toLowerCase()}module.exports=deprecate}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],205:[function(require,module,exports){arguments[4][45][0].apply(exports,arguments)},{dup:45}],206:[function(require,module,exports){module.exports=function(arg){return arg&&"object"==typeof arg&&"function"==typeof arg.copy&&"function"==typeof arg.fill&&"function"==typeof arg.readUInt8}},{}],207:[function(require,module,exports){(function(process,global){function inspect(obj,opts){var ctx={seen:[],stylize:stylizeNoColor};return arguments.length>=3&&(ctx.depth=arguments[2]),arguments.length>=4&&(ctx.colors=arguments[3]),isBoolean(opts)?ctx.showHidden=opts:opts&&exports._extend(ctx,opts),isUndefined(ctx.showHidden)&&(ctx.showHidden=!1),isUndefined(ctx.depth)&&(ctx.depth=2),isUndefined(ctx.colors)&&(ctx.colors=!1),isUndefined(ctx.customInspect)&&(ctx.customInspect=!0),ctx.colors&&(ctx.stylize=stylizeWithColor),formatValue(ctx,obj,ctx.depth)}function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];return style?"["+inspect.colors[style][0]+"m"+str+"["+inspect.colors[style][1]+"m":str}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};return array.forEach(function(val,idx){hash[val]=!0}),hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&(!value.constructor||value.constructor.prototype!==value)){var ret=value.inspect(recurseTimes,ctx);return isString(ret)||(ret=formatValue(ctx,ret,recurseTimes)),ret}var primitive=formatPrimitive(ctx,value);if(primitive)return primitive;var keys=Object.keys(value),visibleKeys=arrayToHash(keys);if(ctx.showHidden&&(keys=Object.getOwnPropertyNames(value)),isError(value)&&(keys.indexOf("message")>=0||keys.indexOf("description")>=0))return formatError(value);if(0===keys.length){if(isFunction(value)){var name=value.name?": "+value.name:"";return ctx.stylize("[Function"+name+"]","special")}if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),"regexp");if(isDate(value))return ctx.stylize(Date.prototype.toString.call(value),"date");if(isError(value))return formatError(value)}var base="",array=!1,braces=["{","}"];if(isArray(value)&&(array=!0,braces=["[","]"]),isFunction(value)){var n=value.name?": "+value.name:"";base=" [Function"+n+"]"}if(isRegExp(value)&&(base=" "+RegExp.prototype.toString.call(value)),isDate(value)&&(base=" "+Date.prototype.toUTCString.call(value)),isError(value)&&(base=" "+formatError(value)),0===keys.length&&(!array||0==value.length))return braces[0]+base+braces[1];if(recurseTimes<0)return isRegExp(value)?ctx.stylize(RegExp.prototype.toString.call(value),"regexp"):ctx.stylize("[Object]","special");ctx.seen.push(value);var output;return output=array?formatArray(ctx,value,recurseTimes,visibleKeys,keys):keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)}),ctx.seen.pop(),reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize("undefined","undefined");if(isString(value)){var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return ctx.stylize(simple,"string")}return isNumber(value)?ctx.stylize(""+value,"number"):isBoolean(value)?ctx.stylize(""+value,"boolean"):isNull(value)?ctx.stylize("null","null"):void 0}function formatError(value){return"["+Error.prototype.toString.call(value)+"]"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){for(var output=[],i=0,l=value.length;i<l;++i)hasOwnProperty(value,String(i))?output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,String(i),!0)):output.push("");return keys.forEach(function(key){key.match(/^\d+$/)||output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,key,!0))}),output}function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){var name,str,desc;if(desc=Object.getOwnPropertyDescriptor(value,key)||{value:value[key]},desc.get?str=desc.set?ctx.stylize("[Getter/Setter]","special"):ctx.stylize("[Getter]","special"):desc.set&&(str=ctx.stylize("[Setter]","special")),hasOwnProperty(visibleKeys,key)||(name="["+key+"]"),str||(ctx.seen.indexOf(desc.value)<0?(str=isNull(recurseTimes)?formatValue(ctx,desc.value,null):formatValue(ctx,desc.value,recurseTimes-1),str.indexOf("\n")>-1&&(str=array?str.split("\n").map(function(line){return" "+line}).join("\n").substr(2):"\n"+str.split("\n").map(function(line){return" "+line}).join("\n"))):str=ctx.stylize("[Circular]","special")),isUndefined(name)){if(array&&key.match(/^\d+$/))return str;name=JSON.stringify(""+key),name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(name=name.substr(1,name.length-2),name=ctx.stylize(name,"name")):(name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),name=ctx.stylize(name,"string"))}return name+": "+str}function reduceToSingleString(output,base,braces){var numLinesEst=0,length=output.reduce(function(prev,cur){return numLinesEst++,cur.indexOf("\n")>=0&&numLinesEst++,prev+cur.replace(/\u001b\[\d\d?m/g,"").length+1},0);return length>60?braces[0]+(""===base?"":base+"\n ")+" "+output.join(",\n ")+" "+braces[1]:braces[0]+base+" "+output.join(", ")+" "+braces[1]}function isArray(ar){return Array.isArray(ar)}function isBoolean(arg){return"boolean"==typeof arg}function isNull(arg){return null===arg}function isNullOrUndefined(arg){return null==arg}function isNumber(arg){return"number"==typeof arg}function isString(arg){return"string"==typeof arg}function isSymbol(arg){return"symbol"==typeof arg}function isUndefined(arg){return void 0===arg}function isRegExp(re){return isObject(re)&&"[object RegExp]"===objectToString(re)}function isObject(arg){return"object"==typeof arg&&null!==arg}function isDate(d){return isObject(d)&&"[object Date]"===objectToString(d)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(arg){return"function"==typeof arg}function isPrimitive(arg){return null===arg||"boolean"==typeof arg||"number"==typeof arg||"string"==typeof arg||"symbol"==typeof arg||"undefined"==typeof arg}function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?"0"+n.toString(10):n.toString(10)}function timestamp(){var d=new Date,time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(":");return[d.getDate(),months[d.getMonth()],time].join(" ")}function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}var formatRegExp=/%[sdj%]/g;exports.format=function(f){if(!isString(f)){for(var objects=[],i=0;i<arguments.length;i++)objects.push(inspect(arguments[i]));return objects.join(" ")}for(var i=1,args=arguments,len=args.length,str=String(f).replace(formatRegExp,function(x){if("%%"===x)return"%";if(i>=len)return x;switch(x){case"%s":return String(args[i++]);case"%d":return Number(args[i++]);case"%j":try{return JSON.stringify(args[i++])}catch(_){return"[Circular]"}default:return x}}),x=args[i];i<len;x=args[++i])str+=isNull(x)||!isObject(x)?" "+x:" "+inspect(x);return str},exports.deprecate=function(fn,msg){function deprecated(){if(!warned){if(process.throwDeprecation)throw new Error(msg);process.traceDeprecation?console.trace(msg):console.error(msg),warned=!0}return fn.apply(this,arguments)}if(isUndefined(global.process))return function(){return exports.deprecate(fn,msg).apply(this,arguments)};if(process.noDeprecation===!0)return fn;var warned=!1;return deprecated};var debugEnviron,debugs={};exports.debuglog=function(set){if(isUndefined(debugEnviron)&&(debugEnviron=process.env.NODE_DEBUG||""),set=set.toUpperCase(),!debugs[set])if(new RegExp("\\b"+set+"\\b","i").test(debugEnviron)){var pid=process.pid;debugs[set]=function(){var msg=exports.format.apply(exports,arguments);console.error("%s %d: %s",set,pid,msg)}}else debugs[set]=function(){};return debugs[set]},exports.inspect=inspect,inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=require("./support/isBuffer");var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))},exports.inherits=require("inherits"),exports._extend=function(origin,add){if(!add||!isObject(add))return origin;for(var keys=Object.keys(add),i=keys.length;i--;)origin[keys[i]]=add[keys[i]];return origin}}).call(this,require("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":206,_process:154,inherits:205}],208:[function(require,module,exports){(function(global){var rng,crypto=global.crypto||global.msCrypto;if(crypto&&crypto.getRandomValues){var _rnds8=new Uint8Array(16);rng=function(){return crypto.getRandomValues(_rnds8),_rnds8}}if(!rng){var _rnds=new Array(16);rng=function(){for(var r,i=0;i<16;i++)0===(3&i)&&(r=4294967296*Math.random()),_rnds[i]=r>>>((3&i)<<3)&255;return _rnds}}module.exports=rng}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],209:[function(require,module,exports){function parse(s,buf,offset){var i=buf&&offset||0,ii=0;for(buf=buf||[],s.toLowerCase().replace(/[0-9a-f]{2}/g,function(oct){ii<16&&(buf[i+ii++]=_hexToByte[oct])});ii<16;)buf[i+ii++]=0;return buf}function unparse(buf,offset){var i=offset||0,bth=_byteToHex;return bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]}function v1(options,buf,offset){var i=buf&&offset||0,b=buf||[];options=options||{};var clockseq=void 0!==options.clockseq?options.clockseq:_clockseq,msecs=void 0!==options.msecs?options.msecs:(new Date).getTime(),nsecs=void 0!==options.nsecs?options.nsecs:_lastNSecs+1,dt=msecs-_lastMSecs+(nsecs-_lastNSecs)/1e4;if(dt<0&&void 0===options.clockseq&&(clockseq=clockseq+1&16383),(dt<0||msecs>_lastMSecs)&&void 0===options.nsecs&&(nsecs=0),nsecs>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");_lastMSecs=msecs,_lastNSecs=nsecs,_clockseq=clockseq,msecs+=122192928e5;var tl=(1e4*(268435455&msecs)+nsecs)%4294967296;b[i++]=tl>>>24&255,b[i++]=tl>>>16&255,b[i++]=tl>>>8&255,b[i++]=255&tl;var tmh=msecs/4294967296*1e4&268435455;b[i++]=tmh>>>8&255,b[i++]=255&tmh,b[i++]=tmh>>>24&15|16,b[i++]=tmh>>>16&255,b[i++]=clockseq>>>8|128,b[i++]=255&clockseq;for(var node=options.node||_nodeId,n=0;n<6;n++)b[i+n]=node[n];return buf?buf:unparse(b)}function v4(options,buf,offset){var i=buf&&offset||0;"string"==typeof options&&(buf="binary"==options?new Array(16):null,options=null),options=options||{};var rnds=options.random||(options.rng||_rng)();if(rnds[6]=15&rnds[6]|64,rnds[8]=63&rnds[8]|128,buf)for(var ii=0;ii<16;ii++)buf[i+ii]=rnds[ii];return buf||unparse(rnds)}for(var _rng=require("./rng"),_byteToHex=[],_hexToByte={},i=0;i<256;i++)_byteToHex[i]=(i+256).toString(16).substr(1),_hexToByte[_byteToHex[i]]=i;var _seedBytes=_rng(),_nodeId=[1|_seedBytes[0],_seedBytes[1],_seedBytes[2],_seedBytes[3],_seedBytes[4],_seedBytes[5]],_clockseq=16383&(_seedBytes[6]<<8|_seedBytes[7]),_lastMSecs=0,_lastNSecs=0,uuid=v4;uuid.v1=v1,uuid.v4=v4,uuid.parse=parse,uuid.unparse=unparse,module.exports=uuid},{"./rng":208}],210:[function(require,module,exports){"use strict";!function(){var utils=require("./utils"),logging=utils.log,browserDetails=utils.browserDetails;module.exports.browserDetails=browserDetails,module.exports.extractVersion=utils.extractVersion,module.exports.disableLog=utils.disableLog;var chromeShim=require("./chrome/chrome_shim")||null,edgeShim=require("./edge/edge_shim")||null,firefoxShim=require("./firefox/firefox_shim")||null,safariShim=require("./safari/safari_shim")||null;switch(browserDetails.browser){case"chrome":if(!chromeShim||!chromeShim.shimPeerConnection)return void logging("Chrome shim is not included in this adapter release.");logging("adapter.js shimming chrome."),module.exports.browserShim=chromeShim,chromeShim.shimGetUserMedia(),chromeShim.shimMediaStream(),utils.shimCreateObjectURL(),chromeShim.shimSourceObject(),chromeShim.shimPeerConnection(),chromeShim.shimOnTrack(),chromeShim.shimGetSendersWithDtmf();break;case"firefox":if(!firefoxShim||!firefoxShim.shimPeerConnection)return void logging("Firefox shim is not included in this adapter release.");logging("adapter.js shimming firefox."),module.exports.browserShim=firefoxShim,firefoxShim.shimGetUserMedia(),utils.shimCreateObjectURL(),firefoxShim.shimSourceObject(),firefoxShim.shimPeerConnection(),firefoxShim.shimOnTrack();break;case"edge":if(!edgeShim||!edgeShim.shimPeerConnection)return void logging("MS edge shim is not included in this adapter release.");logging("adapter.js shimming edge."),module.exports.browserShim=edgeShim,edgeShim.shimGetUserMedia(),utils.shimCreateObjectURL(),edgeShim.shimPeerConnection();break;case"safari":if(!safariShim)return void logging("Safari shim is not included in this adapter release.");logging("adapter.js shimming safari."),module.exports.browserShim=safariShim,safariShim.shimGetUserMedia();break;default:logging("Unsupported browser!")}}()},{"./chrome/chrome_shim":211,"./edge/edge_shim":213,"./firefox/firefox_shim":215,"./safari/safari_shim":217,"./utils":218}],211:[function(require,module,exports){"use strict";var logging=require("../utils.js").log,browserDetails=require("../utils.js").browserDetails,chromeShim={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(f){var self=this;this._ontrack&&(this.removeEventListener("track",this._ontrack),this.removeEventListener("addstream",this._ontrackpoly)),this.addEventListener("track",this._ontrack=f),this.addEventListener("addstream",this._ontrackpoly=function(e){e.stream.addEventListener("addtrack",function(te){var event=new Event("track");event.track=te.track,event.receiver={track:te.track},event.streams=[e.stream],self.dispatchEvent(event)}),e.stream.getTracks().forEach(function(track){
+var event=new Event("track");event.track=track,event.receiver={track:track},event.streams=[e.stream],this.dispatchEvent(event)}.bind(this))}.bind(this))}})},shimGetSendersWithDtmf:function(){if("object"==typeof window&&window.RTCPeerConnection&&!("getSenders"in RTCPeerConnection.prototype)&&"createDTMFSender"in RTCPeerConnection.prototype){RTCPeerConnection.prototype.getSenders=function(){return this._senders};var origAddStream=RTCPeerConnection.prototype.addStream,origRemoveStream=RTCPeerConnection.prototype.removeStream;RTCPeerConnection.prototype.addStream=function(stream){var pc=this;pc._senders=pc._senders||[],origAddStream.apply(pc,[stream]),stream.getTracks().forEach(function(track){pc._senders.push({track:track,get dtmf(){return void 0===this._dtmf&&("audio"===track.kind?this._dtmf=pc.createDTMFSender(track):this._dtmf=null),this._dtmf}})})},RTCPeerConnection.prototype.removeStream=function(stream){var pc=this;pc._senders=pc._senders||[],origRemoveStream.apply(pc,[stream]),stream.getTracks().forEach(function(track){var sender=pc._senders.find(function(s){return s.track===track});sender&&pc._senders.splice(pc._senders.indexOf(sender),1)})}}},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(stream){var self=this;return this._srcObject=stream,this.src&&URL.revokeObjectURL(this.src),stream?(this.src=URL.createObjectURL(stream),stream.addEventListener("addtrack",function(){self.src&&URL.revokeObjectURL(self.src),self.src=URL.createObjectURL(stream)}),void stream.addEventListener("removetrack",function(){self.src&&URL.revokeObjectURL(self.src),self.src=URL.createObjectURL(stream)})):void(this.src="")}}))},shimPeerConnection:function(){window.RTCPeerConnection||(window.RTCPeerConnection=function(pcConfig,pcConstraints){return logging("PeerConnection"),pcConfig&&pcConfig.iceTransportPolicy&&(pcConfig.iceTransports=pcConfig.iceTransportPolicy),new webkitRTCPeerConnection(pcConfig,pcConstraints)},window.RTCPeerConnection.prototype=webkitRTCPeerConnection.prototype,webkitRTCPeerConnection.generateCertificate&&Object.defineProperty(window.RTCPeerConnection,"generateCertificate",{get:function(){return webkitRTCPeerConnection.generateCertificate}}));var origGetStats=RTCPeerConnection.prototype.getStats;RTCPeerConnection.prototype.getStats=function(selector,successCallback,errorCallback){var self=this,args=arguments;if(arguments.length>0&&"function"==typeof selector)return origGetStats.apply(this,arguments);if(0===origGetStats.length&&(0===arguments.length||"function"!=typeof arguments[0]))return origGetStats.apply(this,[]);var fixChromeStats_=function(response){var standardReport={},reports=response.result();return reports.forEach(function(report){var standardStats={id:report.id,timestamp:report.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[report.type]||report.type};report.names().forEach(function(name){standardStats[name]=report.stat(name)}),standardReport[standardStats.id]=standardStats}),standardReport},makeMapStats=function(stats){return new Map(Object.keys(stats).map(function(key){return[key,stats[key]]}))};if(arguments.length>=2){var successCallbackWrapper_=function(response){args[1](makeMapStats(fixChromeStats_(response)))};return origGetStats.apply(this,[successCallbackWrapper_,arguments[0]])}return new Promise(function(resolve,reject){origGetStats.apply(self,[function(response){resolve(makeMapStats(fixChromeStats_(response)))},reject])}).then(successCallback,errorCallback)},browserDetails.version<51&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(method){var nativeMethod=RTCPeerConnection.prototype[method];RTCPeerConnection.prototype[method]=function(){var args=arguments,self=this,promise=new Promise(function(resolve,reject){nativeMethod.apply(self,[args[0],resolve,reject])});return args.length<2?promise:promise.then(function(){args[1].apply(null,[])},function(err){args.length>=3&&args[2].apply(null,[err])})}}),browserDetails.version<52&&["createOffer","createAnswer"].forEach(function(method){var nativeMethod=RTCPeerConnection.prototype[method];RTCPeerConnection.prototype[method]=function(){var self=this;if(arguments.length<1||1===arguments.length&&"object"==typeof arguments[0]){var opts=1===arguments.length?arguments[0]:void 0;return new Promise(function(resolve,reject){nativeMethod.apply(self,[resolve,reject,opts])})}return nativeMethod.apply(this,arguments)}}),["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(method){var nativeMethod=RTCPeerConnection.prototype[method];RTCPeerConnection.prototype[method]=function(){return arguments[0]=new("addIceCandidate"===method?RTCIceCandidate:RTCSessionDescription)(arguments[0]),nativeMethod.apply(this,arguments)}});var nativeAddIceCandidate=RTCPeerConnection.prototype.addIceCandidate;RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?nativeAddIceCandidate.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}};module.exports={shimMediaStream:chromeShim.shimMediaStream,shimOnTrack:chromeShim.shimOnTrack,shimGetSendersWithDtmf:chromeShim.shimGetSendersWithDtmf,shimSourceObject:chromeShim.shimSourceObject,shimPeerConnection:chromeShim.shimPeerConnection,shimGetUserMedia:require("./getusermedia")}},{"../utils.js":218,"./getusermedia":212}],212:[function(require,module,exports){"use strict";var logging=require("../utils.js").log,browserDetails=require("../utils.js").browserDetails;module.exports=function(){var constraintsToChrome_=function(c){if("object"!=typeof c||c.mandatory||c.optional)return c;var cc={};return Object.keys(c).forEach(function(key){if("require"!==key&&"advanced"!==key&&"mediaSource"!==key){var r="object"==typeof c[key]?c[key]:{ideal:c[key]};void 0!==r.exact&&"number"==typeof r.exact&&(r.min=r.max=r.exact);var oldname_=function(prefix,name){return prefix?prefix+name.charAt(0).toUpperCase()+name.slice(1):"deviceId"===name?"sourceId":name};if(void 0!==r.ideal){cc.optional=cc.optional||[];var oc={};"number"==typeof r.ideal?(oc[oldname_("min",key)]=r.ideal,cc.optional.push(oc),oc={},oc[oldname_("max",key)]=r.ideal,cc.optional.push(oc)):(oc[oldname_("",key)]=r.ideal,cc.optional.push(oc))}void 0!==r.exact&&"number"!=typeof r.exact?(cc.mandatory=cc.mandatory||{},cc.mandatory[oldname_("",key)]=r.exact):["min","max"].forEach(function(mix){void 0!==r[mix]&&(cc.mandatory=cc.mandatory||{},cc.mandatory[oldname_(mix,key)]=r[mix])})}}),c.advanced&&(cc.optional=(cc.optional||[]).concat(c.advanced)),cc},shimConstraints_=function(constraints,func){if(constraints=JSON.parse(JSON.stringify(constraints)),constraints&&constraints.audio&&(constraints.audio=constraintsToChrome_(constraints.audio)),constraints&&"object"==typeof constraints.video){var face=constraints.video.facingMode;face=face&&("object"==typeof face?face:{ideal:face});var getSupportedFacingModeLies=browserDetails.version<59;if(face&&("user"===face.exact||"environment"===face.exact||"user"===face.ideal||"environment"===face.ideal)&&(!navigator.mediaDevices.getSupportedConstraints||!navigator.mediaDevices.getSupportedConstraints().facingMode||getSupportedFacingModeLies)&&(delete constraints.video.facingMode,"environment"===face.exact||"environment"===face.ideal))return navigator.mediaDevices.enumerateDevices().then(function(devices){devices=devices.filter(function(d){return"videoinput"===d.kind});var back=devices.find(function(d){return d.label.toLowerCase().indexOf("back")!==-1})||devices.length&&devices[devices.length-1];return back&&(constraints.video.deviceId=face.exact?{exact:back.deviceId}:{ideal:back.deviceId}),constraints.video=constraintsToChrome_(constraints.video),logging("chrome: "+JSON.stringify(constraints)),func(constraints)});constraints.video=constraintsToChrome_(constraints.video)}return logging("chrome: "+JSON.stringify(constraints)),func(constraints)},shimError_=function(e){return{name:{PermissionDeniedError:"NotAllowedError",ConstraintNotSatisfiedError:"OverconstrainedError"}[e.name]||e.name,message:e.message,constraint:e.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}},getUserMedia_=function(constraints,onSuccess,onError){shimConstraints_(constraints,function(c){navigator.webkitGetUserMedia(c,onSuccess,function(e){onError(shimError_(e))})})};navigator.getUserMedia=getUserMedia_;var getUserMediaPromise_=function(constraints){return new Promise(function(resolve,reject){navigator.getUserMedia(constraints,resolve,reject)})};if(navigator.mediaDevices||(navigator.mediaDevices={getUserMedia:getUserMediaPromise_,enumerateDevices:function(){return new Promise(function(resolve){var kinds={audio:"audioinput",video:"videoinput"};return MediaStreamTrack.getSources(function(devices){resolve(devices.map(function(device){return{label:device.label,kind:kinds[device.kind],deviceId:device.id,groupId:""}}))})})},getSupportedConstraints:function(){return{deviceId:!0,echoCancellation:!0,facingMode:!0,frameRate:!0,height:!0,width:!0}}}),navigator.mediaDevices.getUserMedia){var origGetUserMedia=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(cs){return shimConstraints_(cs,function(c){return origGetUserMedia(c).then(function(stream){if(c.audio&&!stream.getAudioTracks().length||c.video&&!stream.getVideoTracks().length)throw stream.getTracks().forEach(function(track){track.stop()}),new DOMException("","NotFoundError");return stream},function(e){return Promise.reject(shimError_(e))})})}}else navigator.mediaDevices.getUserMedia=function(constraints){return getUserMediaPromise_(constraints)};"undefined"==typeof navigator.mediaDevices.addEventListener&&(navigator.mediaDevices.addEventListener=function(){logging("Dummy mediaDevices.addEventListener called.")}),"undefined"==typeof navigator.mediaDevices.removeEventListener&&(navigator.mediaDevices.removeEventListener=function(){logging("Dummy mediaDevices.removeEventListener called.")})}},{"../utils.js":218}],213:[function(require,module,exports){"use strict";var SDPUtils=require("sdp"),browserDetails=require("../utils").browserDetails,edgeShim={shimPeerConnection:function(){if(window.RTCIceGatherer&&(window.RTCIceCandidate||(window.RTCIceCandidate=function(args){return args}),window.RTCSessionDescription||(window.RTCSessionDescription=function(args){return args}),browserDetails.version<15025)){var origMSTEnabled=Object.getOwnPropertyDescriptor(MediaStreamTrack.prototype,"enabled");Object.defineProperty(MediaStreamTrack.prototype,"enabled",{set:function(value){origMSTEnabled.set.call(this,value);var ev=new Event("enabled");ev.enabled=value,this.dispatchEvent(ev)}})}window.RTCPeerConnection=function(config){var self=this,_eventTarget=document.createDocumentFragment();if(["addEventListener","removeEventListener","dispatchEvent"].forEach(function(method){self[method]=_eventTarget[method].bind(_eventTarget)}),this.onicecandidate=null,this.onaddstream=null,this.ontrack=null,this.onremovestream=null,this.onsignalingstatechange=null,this.oniceconnectionstatechange=null,this.onicegatheringstatechange=null,this.onnegotiationneeded=null,this.ondatachannel=null,this.localStreams=[],this.remoteStreams=[],this.getLocalStreams=function(){return self.localStreams},this.getRemoteStreams=function(){return self.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:[]},config&&config.iceTransportPolicy)switch(config.iceTransportPolicy){case"all":case"relay":this.iceOptions.gatherPolicy=config.iceTransportPolicy;break;case"none":throw new TypeError('iceTransportPolicy "none" not supported')}if(this.usingBundle=config&&"max-bundle"===config.bundlePolicy,config&&config.iceServers){var iceServers=JSON.parse(JSON.stringify(config.iceServers));this.iceOptions.iceServers=iceServers.filter(function(server){if(server&&server.urls){var urls=server.urls;return"string"==typeof urls&&(urls=[urls]),urls=urls.filter(function(url){return 0===url.indexOf("turn:")&&url.indexOf("transport=udp")!==-1&&url.indexOf("turn:[")===-1||0===url.indexOf("stun:")&&browserDetails.version>=14393})[0],!!urls}return!1})}this._config=config,this.transceivers=[],this._localIceCandidatesBuffer=[]},window.RTCPeerConnection.prototype._emitGatheringStateChange=function(){var event=new Event("icegatheringstatechange");this.dispatchEvent(event),null!==this.onicegatheringstatechange&&this.onicegatheringstatechange(event)},window.RTCPeerConnection.prototype._emitBufferedCandidates=function(){var self=this,sections=SDPUtils.splitSections(self.localDescription.sdp);this._localIceCandidatesBuffer.forEach(function(event){var end=!event.candidate||0===Object.keys(event.candidate).length;if(end)for(var j=1;j<sections.length;j++)sections[j].indexOf("\r\na=end-of-candidates\r\n")===-1&&(sections[j]+="a=end-of-candidates\r\n");else sections[event.candidate.sdpMLineIndex+1]+="a="+event.candidate.candidate+"\r\n";if(self.localDescription.sdp=sections.join(""),self.dispatchEvent(event),null!==self.onicecandidate&&self.onicecandidate(event),!event.candidate&&"complete"!==self.iceGatheringState){var complete=self.transceivers.every(function(transceiver){return transceiver.iceGatherer&&"completed"===transceiver.iceGatherer.state});complete&&"complete"!==self.iceGatheringStateChange&&(self.iceGatheringState="complete",self._emitGatheringStateChange())}}),this._localIceCandidatesBuffer=[]},window.RTCPeerConnection.prototype.getConfiguration=function(){return this._config},window.RTCPeerConnection.prototype.addStream=function(stream){if(browserDetails.version>=15025)this.localStreams.push(stream);else{var clonedStream=stream.clone();stream.getTracks().forEach(function(track,idx){var clonedTrack=clonedStream.getTracks()[idx];track.addEventListener("enabled",function(event){clonedTrack.enabled=event.enabled})}),this.localStreams.push(clonedStream)}this._maybeFireNegotiationNeeded()},window.RTCPeerConnection.prototype.removeStream=function(stream){var idx=this.localStreams.indexOf(stream);idx>-1&&(this.localStreams.splice(idx,1),this._maybeFireNegotiationNeeded())},window.RTCPeerConnection.prototype.getSenders=function(){return this.transceivers.filter(function(transceiver){return!!transceiver.rtpSender}).map(function(transceiver){return transceiver.rtpSender})},window.RTCPeerConnection.prototype.getReceivers=function(){return this.transceivers.filter(function(transceiver){return!!transceiver.rtpReceiver}).map(function(transceiver){return transceiver.rtpReceiver})},window.RTCPeerConnection.prototype._getCommonCapabilities=function(localCapabilities,remoteCapabilities){var commonCapabilities={codecs:[],headerExtensions:[],fecMechanisms:[]};return localCapabilities.codecs.forEach(function(lCodec){for(var i=0;i<remoteCapabilities.codecs.length;i++){var rCodec=remoteCapabilities.codecs[i];if(lCodec.name.toLowerCase()===rCodec.name.toLowerCase()&&lCodec.clockRate===rCodec.clockRate){rCodec.numChannels=Math.min(lCodec.numChannels,rCodec.numChannels),commonCapabilities.codecs.push(rCodec),rCodec.rtcpFeedback=rCodec.rtcpFeedback.filter(function(fb){for(var j=0;j<lCodec.rtcpFeedback.length;j++)if(lCodec.rtcpFeedback[j].type===fb.type&&lCodec.rtcpFeedback[j].parameter===fb.parameter)return!0;return!1});break}}}),localCapabilities.headerExtensions.forEach(function(lHeaderExtension){for(var i=0;i<remoteCapabilities.headerExtensions.length;i++){var rHeaderExtension=remoteCapabilities.headerExtensions[i];if(lHeaderExtension.uri===rHeaderExtension.uri){commonCapabilities.headerExtensions.push(rHeaderExtension);break}}}),commonCapabilities},window.RTCPeerConnection.prototype._createIceAndDtlsTransports=function(mid,sdpMLineIndex){var self=this,iceGatherer=new RTCIceGatherer(self.iceOptions),iceTransport=new RTCIceTransport(iceGatherer);iceGatherer.onlocalcandidate=function(evt){var event=new Event("icecandidate");event.candidate={sdpMid:mid,sdpMLineIndex:sdpMLineIndex};var cand=evt.candidate,end=!cand||0===Object.keys(cand).length;end?void 0===iceGatherer.state&&(iceGatherer.state="completed"):(cand.component="RTCP"===iceTransport.component?2:1,event.candidate.candidate=SDPUtils.writeCandidate(cand));var sections=SDPUtils.splitSections(self.localDescription.sdp);end?sections[event.candidate.sdpMLineIndex+1]+="a=end-of-candidates\r\n":sections[event.candidate.sdpMLineIndex+1]+="a="+event.candidate.candidate+"\r\n",self.localDescription.sdp=sections.join("");var transceivers=self._pendingOffer?self._pendingOffer:self.transceivers,complete=transceivers.every(function(transceiver){return transceiver.iceGatherer&&"completed"===transceiver.iceGatherer.state});switch(self.iceGatheringState){case"new":end||self._localIceCandidatesBuffer.push(event),end&&complete&&self._localIceCandidatesBuffer.push(new Event("icecandidate"));break;case"gathering":self._emitBufferedCandidates(),end||(self.dispatchEvent(event),null!==self.onicecandidate&&self.onicecandidate(event)),complete&&(self.dispatchEvent(new Event("icecandidate")),null!==self.onicecandidate&&self.onicecandidate(new Event("icecandidate")),self.iceGatheringState="complete",self._emitGatheringStateChange());break;case"complete":}},iceTransport.onicestatechange=function(){self._updateConnectionState()};var dtlsTransport=new RTCDtlsTransport(iceTransport);return dtlsTransport.ondtlsstatechange=function(){self._updateConnectionState()},dtlsTransport.onerror=function(){dtlsTransport.state="failed",self._updateConnectionState()},{iceGatherer:iceGatherer,iceTransport:iceTransport,dtlsTransport:dtlsTransport}},window.RTCPeerConnection.prototype._transceive=function(transceiver,send,recv){var params=this._getCommonCapabilities(transceiver.localCapabilities,transceiver.remoteCapabilities);send&&transceiver.rtpSender&&(params.encodings=transceiver.sendEncodingParameters,params.rtcp={cname:SDPUtils.localCName},transceiver.recvEncodingParameters.length&&(params.rtcp.ssrc=transceiver.recvEncodingParameters[0].ssrc),transceiver.rtpSender.send(params)),recv&&transceiver.rtpReceiver&&("video"===transceiver.kind&&transceiver.recvEncodingParameters&&transceiver.recvEncodingParameters.forEach(function(p){delete p.rtx}),params.encodings=transceiver.recvEncodingParameters,params.rtcp={cname:transceiver.cname},transceiver.sendEncodingParameters.length&&(params.rtcp.ssrc=transceiver.sendEncodingParameters[0].ssrc),transceiver.rtpReceiver.receive(params))},window.RTCPeerConnection.prototype.setLocalDescription=function(description){var sections,sessionpart,self=this;if("offer"===description.type)this._pendingOffer&&(sections=SDPUtils.splitSections(description.sdp),sessionpart=sections.shift(),sections.forEach(function(mediaSection,sdpMLineIndex){var caps=SDPUtils.parseRtpParameters(mediaSection);self._pendingOffer[sdpMLineIndex].localCapabilities=caps}),this.transceivers=this._pendingOffer,delete this._pendingOffer);else if("answer"===description.type){sections=SDPUtils.splitSections(self.remoteDescription.sdp),sessionpart=sections.shift();var isIceLite=SDPUtils.matchPrefix(sessionpart,"a=ice-lite").length>0;sections.forEach(function(mediaSection,sdpMLineIndex){var transceiver=self.transceivers[sdpMLineIndex],iceGatherer=transceiver.iceGatherer,iceTransport=transceiver.iceTransport,dtlsTransport=transceiver.dtlsTransport,localCapabilities=transceiver.localCapabilities,remoteCapabilities=transceiver.remoteCapabilities,rejected="0"===mediaSection.split("\n",1)[0].split(" ",2)[1];if(!rejected&&!transceiver.isDatachannel){var remoteIceParameters=SDPUtils.getIceParameters(mediaSection,sessionpart),remoteDtlsParameters=SDPUtils.getDtlsParameters(mediaSection,sessionpart);isIceLite&&(remoteDtlsParameters.role="server"),self.usingBundle&&0!==sdpMLineIndex||(iceTransport.start(iceGatherer,remoteIceParameters,isIceLite?"controlling":"controlled"),dtlsTransport.start(remoteDtlsParameters));var params=self._getCommonCapabilities(localCapabilities,remoteCapabilities);self._transceive(transceiver,params.codecs.length>0,!1)}})}switch(this.localDescription={type:description.type,sdp:description.sdp},description.type){case"offer":this._updateSignalingState("have-local-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+description.type+'"')}var hasCallback=arguments.length>1&&"function"==typeof arguments[1];if(hasCallback){var cb=arguments[1];window.setTimeout(function(){cb(),"new"===self.iceGatheringState&&(self.iceGatheringState="gathering"),self._emitBufferedCandidates()},0)}var p=Promise.resolve();return p.then(function(){hasCallback||("new"===self.iceGatheringState&&(self.iceGatheringState="gathering"),window.setTimeout(self._emitBufferedCandidates.bind(self),500))}),p},window.RTCPeerConnection.prototype.setRemoteDescription=function(description){var self=this,stream=new MediaStream,receiverList=[],sections=SDPUtils.splitSections(description.sdp),sessionpart=sections.shift(),isIceLite=SDPUtils.matchPrefix(sessionpart,"a=ice-lite").length>0;switch(this.usingBundle=SDPUtils.matchPrefix(sessionpart,"a=group:BUNDLE ").length>0,sections.forEach(function(mediaSection,sdpMLineIndex){var lines=SDPUtils.splitLines(mediaSection),mline=lines[0].substr(2).split(" "),kind=mline[0],rejected="0"===mline[1],direction=SDPUtils.getDirection(mediaSection,sessionpart),mid=SDPUtils.matchPrefix(mediaSection,"a=mid:");if(mid=mid.length?mid[0].substr(6):SDPUtils.generateIdentifier(),"application"===kind&&"DTLS/SCTP"===mline[2])return void(self.transceivers[sdpMLineIndex]={mid:mid,isDatachannel:!0});var transceiver,iceGatherer,iceTransport,dtlsTransport,rtpSender,rtpReceiver,sendEncodingParameters,recvEncodingParameters,localCapabilities,track,remoteIceParameters,remoteDtlsParameters,remoteCapabilities=SDPUtils.parseRtpParameters(mediaSection);rejected||(remoteIceParameters=SDPUtils.getIceParameters(mediaSection,sessionpart),remoteDtlsParameters=SDPUtils.getDtlsParameters(mediaSection,sessionpart),remoteDtlsParameters.role="client"),recvEncodingParameters=SDPUtils.parseRtpEncodingParameters(mediaSection);var cname,remoteSsrc=SDPUtils.matchPrefix(mediaSection,"a=ssrc:").map(function(line){return SDPUtils.parseSsrcMedia(line)}).filter(function(obj){return"cname"===obj.attribute})[0];remoteSsrc&&(cname=remoteSsrc.value);var isComplete=SDPUtils.matchPrefix(mediaSection,"a=end-of-candidates",sessionpart).length>0,cands=SDPUtils.matchPrefix(mediaSection,"a=candidate:").map(function(cand){return SDPUtils.parseCandidate(cand)}).filter(function(cand){return"1"===cand.component});if("offer"!==description.type||rejected)"answer"!==description.type||rejected||(transceiver=self.transceivers[sdpMLineIndex],iceGatherer=transceiver.iceGatherer,iceTransport=transceiver.iceTransport,dtlsTransport=transceiver.dtlsTransport,rtpSender=transceiver.rtpSender,rtpReceiver=transceiver.rtpReceiver,sendEncodingParameters=transceiver.sendEncodingParameters,localCapabilities=transceiver.localCapabilities,self.transceivers[sdpMLineIndex].recvEncodingParameters=recvEncodingParameters,self.transceivers[sdpMLineIndex].remoteCapabilities=remoteCapabilities,self.transceivers[sdpMLineIndex].cname=cname,(isIceLite||isComplete)&&cands.length&&iceTransport.setRemoteCandidates(cands),self.usingBundle&&0!==sdpMLineIndex||(iceTransport.start(iceGatherer,remoteIceParameters,"controlling"),dtlsTransport.start(remoteDtlsParameters)),self._transceive(transceiver,"sendrecv"===direction||"recvonly"===direction,"sendrecv"===direction||"sendonly"===direction),!rtpReceiver||"sendrecv"!==direction&&"sendonly"!==direction?delete transceiver.rtpReceiver:(track=rtpReceiver.track,receiverList.push([track,rtpReceiver]),stream.addTrack(track)));else{var transports=self.usingBundle&&sdpMLineIndex>0?{iceGatherer:self.transceivers[0].iceGatherer,iceTransport:self.transceivers[0].iceTransport,dtlsTransport:self.transceivers[0].dtlsTransport}:self._createIceAndDtlsTransports(mid,sdpMLineIndex);if(!isComplete||self.usingBundle&&0!==sdpMLineIndex||transports.iceTransport.setRemoteCandidates(cands),localCapabilities=RTCRtpReceiver.getCapabilities(kind),localCapabilities.codecs=localCapabilities.codecs.filter(function(codec){return"rtx"!==codec.name}),sendEncodingParameters=[{ssrc:1001*(2*sdpMLineIndex+2)}],rtpReceiver=new RTCRtpReceiver(transports.dtlsTransport,kind),track=rtpReceiver.track,receiverList.push([track,rtpReceiver]),stream.addTrack(track),self.localStreams.length>0&&self.localStreams[0].getTracks().length>=sdpMLineIndex){var localTrack;"audio"===kind?localTrack=self.localStreams[0].getAudioTracks()[0]:"video"===kind&&(localTrack=self.localStreams[0].getVideoTracks()[0]),localTrack&&(rtpSender=new RTCRtpSender(localTrack,transports.dtlsTransport))}self.transceivers[sdpMLineIndex]={iceGatherer:transports.iceGatherer,iceTransport:transports.iceTransport,dtlsTransport:transports.dtlsTransport,localCapabilities:localCapabilities,remoteCapabilities:remoteCapabilities,rtpSender:rtpSender,rtpReceiver:rtpReceiver,kind:kind,mid:mid,cname:cname,sendEncodingParameters:sendEncodingParameters,recvEncodingParameters:recvEncodingParameters},self._transceive(self.transceivers[sdpMLineIndex],!1,"sendrecv"===direction||"sendonly"===direction)}}),this.remoteDescription={type:description.type,sdp:description.sdp},description.type){case"offer":this._updateSignalingState("have-remote-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+description.type+'"')}return stream.getTracks().length&&(self.remoteStreams.push(stream),window.setTimeout(function(){var event=new Event("addstream");event.stream=stream,self.dispatchEvent(event),null!==self.onaddstream&&window.setTimeout(function(){self.onaddstream(event)},0),receiverList.forEach(function(item){var track=item[0],receiver=item[1],trackEvent=new Event("track");trackEvent.track=track,trackEvent.receiver=receiver,trackEvent.streams=[stream],self.dispatchEvent(trackEvent),null!==self.ontrack&&window.setTimeout(function(){self.ontrack(trackEvent)},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(transceiver){transceiver.iceTransport&&transceiver.iceTransport.stop(),transceiver.dtlsTransport&&transceiver.dtlsTransport.stop(),transceiver.rtpSender&&transceiver.rtpSender.stop(),transceiver.rtpReceiver&&transceiver.rtpReceiver.stop()}),this._updateSignalingState("closed")},window.RTCPeerConnection.prototype._updateSignalingState=function(newState){this.signalingState=newState;var event=new Event("signalingstatechange");this.dispatchEvent(event),null!==this.onsignalingstatechange&&this.onsignalingstatechange(event)},window.RTCPeerConnection.prototype._maybeFireNegotiationNeeded=function(){var event=new Event("negotiationneeded");this.dispatchEvent(event),null!==this.onnegotiationneeded&&this.onnegotiationneeded(event)},window.RTCPeerConnection.prototype._updateConnectionState=function(){var newState,self=this,states={new:0,closed:0,connecting:0,checking:0,connected:0,completed:0,failed:0};if(this.transceivers.forEach(function(transceiver){states[transceiver.iceTransport.state]++,states[transceiver.dtlsTransport.state]++}),states.connected+=states.completed,newState="new",states.failed>0?newState="failed":states.connecting>0||states.checking>0?newState="connecting":states.disconnected>0?newState="disconnected":states.new>0?newState="new":(states.connected>0||states.completed>0)&&(newState="connected"),newState!==self.iceConnectionState){self.iceConnectionState=newState;var event=new Event("iceconnectionstatechange");this.dispatchEvent(event),null!==this.oniceconnectionstatechange&&this.oniceconnectionstatechange(event)}},window.RTCPeerConnection.prototype.createOffer=function(){var self=this;if(this._pendingOffer)throw new Error("createOffer called while there is a pending offer.");var offerOptions;1===arguments.length&&"function"!=typeof arguments[0]?offerOptions=arguments[0]:3===arguments.length&&(offerOptions=arguments[2]);var tracks=[],numAudioTracks=0,numVideoTracks=0;if(this.localStreams.length&&(numAudioTracks=this.localStreams[0].getAudioTracks().length,numVideoTracks=this.localStreams[0].getVideoTracks().length),offerOptions){if(offerOptions.mandatory||offerOptions.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");void 0!==offerOptions.offerToReceiveAudio&&(numAudioTracks=offerOptions.offerToReceiveAudio),void 0!==offerOptions.offerToReceiveVideo&&(numVideoTracks=offerOptions.offerToReceiveVideo)}for(this.localStreams.length&&this.localStreams[0].getTracks().forEach(function(track){tracks.push({kind:track.kind,track:track,wantReceive:"audio"===track.kind?numAudioTracks>0:numVideoTracks>0}),"audio"===track.kind?numAudioTracks--:"video"===track.kind&&numVideoTracks--});numAudioTracks>0||numVideoTracks>0;)numAudioTracks>0&&(tracks.push({kind:"audio",wantReceive:!0}),numAudioTracks--),numVideoTracks>0&&(tracks.push({kind:"video",wantReceive:!0}),numVideoTracks--);var sdp=SDPUtils.writeSessionBoilerplate(),transceivers=[];tracks.forEach(function(mline,sdpMLineIndex){var track=mline.track,kind=mline.kind,mid=SDPUtils.generateIdentifier(),transports=self.usingBundle&&sdpMLineIndex>0?{iceGatherer:transceivers[0].iceGatherer,iceTransport:transceivers[0].iceTransport,dtlsTransport:transceivers[0].dtlsTransport}:self._createIceAndDtlsTransports(mid,sdpMLineIndex),localCapabilities=RTCRtpSender.getCapabilities(kind);localCapabilities.codecs=localCapabilities.codecs.filter(function(codec){return"rtx"!==codec.name}),localCapabilities.codecs.forEach(function(codec){"H264"===codec.name&&void 0===codec.parameters["level-asymmetry-allowed"]&&(codec.parameters["level-asymmetry-allowed"]="1")});var rtpSender,rtpReceiver,sendEncodingParameters=[{ssrc:1001*(2*sdpMLineIndex+1)}];track&&(rtpSender=new RTCRtpSender(track,transports.dtlsTransport)),mline.wantReceive&&(rtpReceiver=new RTCRtpReceiver(transports.dtlsTransport,kind)),transceivers[sdpMLineIndex]={iceGatherer:transports.iceGatherer,iceTransport:transports.iceTransport,dtlsTransport:transports.dtlsTransport,localCapabilities:localCapabilities,remoteCapabilities:null,rtpSender:rtpSender,rtpReceiver:rtpReceiver,kind:kind,mid:mid,sendEncodingParameters:sendEncodingParameters,recvEncodingParameters:null}}),this.usingBundle&&(sdp+="a=group:BUNDLE "+transceivers.map(function(t){return t.mid}).join(" ")+"\r\n"),tracks.forEach(function(mline,sdpMLineIndex){var transceiver=transceivers[sdpMLineIndex];sdp+=SDPUtils.writeMediaSection(transceiver,transceiver.localCapabilities,"offer",self.localStreams[0])}),this._pendingOffer=transceivers;var desc=new RTCSessionDescription({type:"offer",sdp:sdp});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,desc),Promise.resolve(desc)},window.RTCPeerConnection.prototype.createAnswer=function(){var self=this,sdp=SDPUtils.writeSessionBoilerplate();this.usingBundle&&(sdp+="a=group:BUNDLE "+this.transceivers.map(function(t){return t.mid}).join(" ")+"\r\n"),this.transceivers.forEach(function(transceiver){if(transceiver.isDatachannel)return void(sdp+="m=application 0 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=mid:"+transceiver.mid+"\r\n");var commonCapabilities=self._getCommonCapabilities(transceiver.localCapabilities,transceiver.remoteCapabilities);sdp+=SDPUtils.writeMediaSection(transceiver,commonCapabilities,"answer",self.localStreams[0])});var desc=new RTCSessionDescription({type:"answer",sdp:sdp});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,desc),
+Promise.resolve(desc)},window.RTCPeerConnection.prototype.addIceCandidate=function(candidate){if(candidate){var mLineIndex=candidate.sdpMLineIndex;if(candidate.sdpMid)for(var i=0;i<this.transceivers.length;i++)if(this.transceivers[i].mid===candidate.sdpMid){mLineIndex=i;break}var transceiver=this.transceivers[mLineIndex];if(transceiver){var cand=Object.keys(candidate.candidate).length>0?SDPUtils.parseCandidate(candidate.candidate):{};if("tcp"===cand.protocol&&(0===cand.port||9===cand.port))return Promise.resolve();if("1"!==cand.component)return Promise.resolve();transceiver.iceTransport.addRemoteCandidate(cand);var sections=SDPUtils.splitSections(this.remoteDescription.sdp);sections[mLineIndex+1]+=(cand.type?candidate.candidate.trim():"a=end-of-candidates")+"\r\n",this.remoteDescription.sdp=sections.join("")}}else for(var j=0;j<this.transceivers.length;j++)if(this.transceivers[j].iceTransport.addRemoteCandidate({}),this.usingBundle)return Promise.resolve();return arguments.length>1&&"function"==typeof arguments[1]&&window.setTimeout(arguments[1],0),Promise.resolve()},window.RTCPeerConnection.prototype.getStats=function(){var promises=[];this.transceivers.forEach(function(transceiver){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(method){transceiver[method]&&promises.push(transceiver[method].getStats())})});var cb=arguments.length>1&&"function"==typeof arguments[1]&&arguments[1],fixStatsType=function(stat){return{inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[stat.type]||stat.type};return new Promise(function(resolve){var results=new Map;Promise.all(promises).then(function(res){res.forEach(function(result){Object.keys(result).forEach(function(id){result[id].type=fixStatsType(result[id]),results.set(id,result[id])})}),cb&&window.setTimeout(cb,0,results),resolve(results)})})}}};module.exports={shimPeerConnection:edgeShim.shimPeerConnection,shimGetUserMedia:require("./getusermedia")}},{"../utils":218,"./getusermedia":214,sdp:183}],214:[function(require,module,exports){arguments[4][37][0].apply(exports,arguments)},{dup:37}],215:[function(require,module,exports){"use strict";var browserDetails=require("../utils").browserDetails,firefoxShim={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(f){this._ontrack&&(this.removeEventListener("track",this._ontrack),this.removeEventListener("addstream",this._ontrackpoly)),this.addEventListener("track",this._ontrack=f),this.addEventListener("addstream",this._ontrackpoly=function(e){e.stream.getTracks().forEach(function(track){var event=new Event("track");event.track=track,event.receiver={track:track},event.streams=[e.stream],this.dispatchEvent(event)}.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(stream){this.mozSrcObject=stream}}))},shimPeerConnection:function(){if("object"==typeof window&&(window.RTCPeerConnection||window.mozRTCPeerConnection)){window.RTCPeerConnection||(window.RTCPeerConnection=function(pcConfig,pcConstraints){if(browserDetails.version<38&&pcConfig&&pcConfig.iceServers){for(var newIceServers=[],i=0;i<pcConfig.iceServers.length;i++){var server=pcConfig.iceServers[i];if(server.hasOwnProperty("urls"))for(var j=0;j<server.urls.length;j++){var newServer={url:server.urls[j]};0===server.urls[j].indexOf("turn")&&(newServer.username=server.username,newServer.credential=server.credential),newIceServers.push(newServer)}else newIceServers.push(pcConfig.iceServers[i])}pcConfig.iceServers=newIceServers}return new mozRTCPeerConnection(pcConfig,pcConstraints)},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(method){var nativeMethod=RTCPeerConnection.prototype[method];RTCPeerConnection.prototype[method]=function(){return arguments[0]=new("addIceCandidate"===method?RTCIceCandidate:RTCSessionDescription)(arguments[0]),nativeMethod.apply(this,arguments)}});var nativeAddIceCandidate=RTCPeerConnection.prototype.addIceCandidate;RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?nativeAddIceCandidate.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())};var makeMapStats=function(stats){var map=new Map;return Object.keys(stats).forEach(function(key){map.set(key,stats[key]),map[key]=stats[key]}),map},modernStatsTypes={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},nativeGetStats=RTCPeerConnection.prototype.getStats;RTCPeerConnection.prototype.getStats=function(selector,onSucc,onErr){return nativeGetStats.apply(this,[selector||null]).then(function(stats){if(browserDetails.version<48&&(stats=makeMapStats(stats)),browserDetails.version<53&&!onSucc)try{stats.forEach(function(stat){stat.type=modernStatsTypes[stat.type]||stat.type})}catch(e){if("TypeError"!==e.name)throw e;stats.forEach(function(stat,i){stats.set(i,Object.assign({},stat,{type:modernStatsTypes[stat.type]||stat.type}))})}return stats}).then(onSucc,onErr)}}}};module.exports={shimOnTrack:firefoxShim.shimOnTrack,shimSourceObject:firefoxShim.shimSourceObject,shimPeerConnection:firefoxShim.shimPeerConnection,shimGetUserMedia:require("./getusermedia")}},{"../utils":218,"./getusermedia":216}],216:[function(require,module,exports){arguments[4][39][0].apply(exports,arguments)},{"../utils":218,dup:39}],217:[function(require,module,exports){"use strict";var safariShim={shimGetUserMedia:function(){navigator.getUserMedia||(navigator.webkitGetUserMedia?navigator.getUserMedia=navigator.webkitGetUserMedia.bind(navigator):navigator.mediaDevices&&navigator.mediaDevices.getUserMedia&&(navigator.getUserMedia=function(constraints,cb,errcb){navigator.mediaDevices.getUserMedia(constraints).then(cb,errcb)}.bind(navigator)))}};module.exports={shimGetUserMedia:safariShim.shimGetUserMedia}},{}],218:[function(require,module,exports){"use strict";var logDisabled_=!0,utils={disableLog:function(bool){return"boolean"!=typeof bool?new Error("Argument type: "+typeof bool+". Please use a boolean."):(logDisabled_=bool,bool?"adapter.js logging disabled":"adapter.js logging enabled")},log:function(){if("object"==typeof window){if(logDisabled_)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}},extractVersion:function(uastring,expr,pos){var match=uastring.match(expr);return match&&match.length>=pos&&parseInt(match[pos],10)},detectBrowser:function(){var result={};if(result.browser=null,result.version=null,"undefined"==typeof window||!window.navigator)return result.browser="Not a browser.",result;if(navigator.mozGetUserMedia)result.browser="firefox",result.version=this.extractVersion(navigator.userAgent,/Firefox\/(\d+)\./,1);else if(navigator.webkitGetUserMedia)if(window.webkitRTCPeerConnection)result.browser="chrome",result.version=this.extractVersion(navigator.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else{if(!navigator.userAgent.match(/Version\/(\d+).(\d+)/))return result.browser="Unsupported webkit-based browser with GUM support but no WebRTC support.",result;result.browser="safari",result.version=this.extractVersion(navigator.userAgent,/AppleWebKit\/(\d+)\./,1)}else if(navigator.mediaDevices&&navigator.userAgent.match(/Edge\/(\d+).(\d+)$/))result.browser="edge",result.version=this.extractVersion(navigator.userAgent,/Edge\/(\d+).(\d+)$/,2);else{if(!navigator.mediaDevices||!navigator.userAgent.match(/AppleWebKit\/(\d+)\./))return result.browser="Not a supported browser.",result;result.browser="safari",result.version=this.extractVersion(navigator.userAgent,/AppleWebKit\/(\d+)\./,1)}return result},shimCreateObjectURL:function(){if("object"==typeof window&&window.HTMLMediaElement&&"srcObject"in window.HTMLMediaElement.prototype){var nativeCreateObjectURL=URL.createObjectURL.bind(URL),nativeRevokeObjectURL=URL.revokeObjectURL.bind(URL),streams=new Map,newId=0;URL.createObjectURL=function(stream){if("getTracks"in stream){var url="polyblob:"+ ++newId;return streams.set(url,stream),console.log("URL.createObjectURL(stream) is deprecated! Use elem.srcObject = stream instead!"),url}return nativeCreateObjectURL(stream)},URL.revokeObjectURL=function(url){nativeRevokeObjectURL(url),streams.delete(url)};var dsc=Object.getOwnPropertyDescriptor(window.HTMLMediaElement.prototype,"src");Object.defineProperty(window.HTMLMediaElement.prototype,"src",{get:function(){return dsc.get.apply(this)},set:function(url){return this.srcObject=streams.get(url)||null,dsc.set.apply(this,[url])}});var nativeSetAttribute=HTMLMediaElement.prototype.setAttribute;HTMLMediaElement.prototype.setAttribute=function(){return 2===arguments.length&&"src"===(""+arguments[0]).toLowerCase()&&(this.srcObject=streams.get(arguments[1])||null),nativeSetAttribute.apply(this,arguments)}}}};module.exports={log:utils.log,disableLog:utils.disableLog,browserDetails:utils.detectBrowser(),extractVersion:utils.extractVersion,shimCreateObjectURL:utils.shimCreateObjectURL,detectBrowser:utils.detectBrowser.bind(utils)}},{}],219:[function(require,module,exports){var prefix,version;window.mozRTCPeerConnection||navigator.mozGetUserMedia?(prefix="moz",version=parseInt(navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1],10)):(window.webkitRTCPeerConnection||navigator.webkitGetUserMedia)&&(prefix="webkit",version=navigator.userAgent.match(/Chrom(e|ium)/)&&parseInt(navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)[2],10));var PC=window.mozRTCPeerConnection||window.webkitRTCPeerConnection,IceCandidate=window.mozRTCIceCandidate||window.RTCIceCandidate,SessionDescription=window.mozRTCSessionDescription||window.RTCSessionDescription,MediaStream=window.webkitMediaStream||window.MediaStream,screenSharing="https:"===window.location.protocol&&("webkit"===prefix&&version>=26||"moz"===prefix&&version>=33),AudioContext=window.AudioContext||window.webkitAudioContext,videoEl=document.createElement("video"),supportVp8=videoEl&&videoEl.canPlayType&&"probably"===videoEl.canPlayType('video/webm; codecs="vp8", vorbis'),getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.msGetUserMedia||navigator.mozGetUserMedia;module.exports={prefix:prefix,browserVersion:version,support:!!PC&&supportVp8&&!!getUserMedia,supportRTCPeerConnection:!!PC,supportVp8:supportVp8,supportGetUserMedia:!!getUserMedia,supportDataChannel:!!(PC&&PC.prototype&&PC.prototype.createDataChannel),supportWebAudio:!(!AudioContext||!AudioContext.prototype.createMediaStreamSource),supportMediaStream:!(!MediaStream||!MediaStream.prototype.removeTrack),supportScreenSharing:!!screenSharing,dataChannel:!!(PC&&PC.prototype&&PC.prototype.createDataChannel),webAudio:!(!AudioContext||!AudioContext.prototype.createMediaStreamSource),mediaStream:!(!MediaStream||!MediaStream.prototype.removeTrack),screenSharing:!!screenSharing,AudioContext:AudioContext,PeerConnection:PC,SessionDescription:SessionDescription,IceCandidate:IceCandidate,MediaStream:MediaStream,getUserMedia:getUserMedia}},{}],220:[function(require,module,exports){function WildEmitter(){}module.exports=WildEmitter,WildEmitter.mixin=function(constructor){var prototype=constructor.prototype||constructor;prototype.isWildEmitter=!0,prototype.on=function(event,groupName,fn){this.callbacks=this.callbacks||{};var hasGroup=3===arguments.length,group=hasGroup?arguments[1]:void 0,func=hasGroup?arguments[2]:arguments[1];return func._groupName=group,(this.callbacks[event]=this.callbacks[event]||[]).push(func),this},prototype.once=function(event,groupName,fn){function on(){self.off(event,on),func.apply(this,arguments)}var self=this,hasGroup=3===arguments.length,group=hasGroup?arguments[1]:void 0,func=hasGroup?arguments[2]:arguments[1];return this.on(event,group,on),this},prototype.releaseGroup=function(groupName){this.callbacks=this.callbacks||{};var item,i,len,handlers;for(item in this.callbacks)for(handlers=this.callbacks[item],i=0,len=handlers.length;i<len;i++)handlers[i]._groupName===groupName&&(handlers.splice(i,1),i--,len--);return this},prototype.off=function(event,fn){this.callbacks=this.callbacks||{};var i,callbacks=this.callbacks[event];return callbacks?1===arguments.length?(delete this.callbacks[event],this):(i=callbacks.indexOf(fn),callbacks.splice(i,1),0===callbacks.length&&delete this.callbacks[event],this):this},prototype.emit=function(event){this.callbacks=this.callbacks||{};var i,len,listeners,args=[].slice.call(arguments,1),callbacks=this.callbacks[event],specialCallbacks=this.getWildcardCallbacks(event);if(callbacks)for(listeners=callbacks.slice(),i=0,len=listeners.length;i<len&&listeners[i];++i)listeners[i].apply(this,args);if(specialCallbacks)for(len=specialCallbacks.length,listeners=specialCallbacks.slice(),i=0,len=listeners.length;i<len&&listeners[i];++i)listeners[i].apply(this,[event].concat(args));return this},prototype.getWildcardCallbacks=function(eventName){this.callbacks=this.callbacks||{};var item,split,result=[];for(item in this.callbacks)split=item.split("*"),("*"===item||2===split.length&&eventName.slice(0,split[0].length)===split[0])&&(result=result.concat(this.callbacks[item]));return result}},WildEmitter.mixin(WildEmitter)},{}],221:[function(require,module,exports){module.exports={Namespace:require("./lib/namespaces"),MUC:require("./lib/muc"),PubSub:require("./lib/pubsub"),Jingle:require("./lib/jingle"),Presence:require("./lib/presence")}},{"./lib/jingle":222,"./lib/muc":223,"./lib/namespaces":224,"./lib/presence":225,"./lib/pubsub":226}],222:[function(require,module,exports){module.exports={Action:{CONTENT_ACCEPT:"content-accept",CONTENT_ADD:"content-add",CONTENT_MODIFY:"content-modify",CONTENT_REJECT:"content-reject",CONTENT_REMOVE:"content-remove",DESCRIPTION_INFO:"description-info",SECURITY_INFO:"security-info",SESSION_ACCEPT:"session-accept",SESSION_INFO:"session-info",SESSION_INITIATE:"session-initiate",SESSION_TERMINATE:"session-terminate",TRANSPORT_ACCEPT:"transport-accept",TRANSPORT_INFO:"transport-info",TRANSPORT_REJECT:"transport-reject",TRANSPORT_REPLACE:"transport-replace"},Reason:{ALTERNATIVE_SESSION:"alernative-session",BUSY:"busy",CANCEL:"cancel",CONNECTIVITY_ERROR:"connectivity-error",DECLINE:"decline",EXPIRED:"expired",FAILED_APPLICATION:"failed-application",FAILED_TRANSPORT:"failed-transport",GENERAL_ERROR:"general-error",GONE:"gone",INCOMPATIBLE_PARAMETERS:"incompatible-parameters",MEDIA_ERROR:"media-error",SECURITY_ERROR:"security-error",SUCCESS:"success",TIMEOUT:"timeout",UNSUPPORTED_APPLICATIONS:"unsupported-applications",UNSUPPORTED_TRANSPORTS:"unsupported-transports"},Condition:{OUT_OF_ORDER:"out-of-order",TIE_BREAK:"tie-break",UNKNOWN_SESSION:"unknown-session",UNSUPPORTED_INFO:"unsupported-info"}}},{}],223:[function(require,module,exports){module.exports={Status:{REALJID_PUBLIC:"100",AFFILIATION_CHANGED:"101",UNAVAILABLE_SHOWN:"102",UNAVAILABLE_NOT_SHOWN:"103",CONFIGURATION_CHANGED:"104",SELF_PRESENCE:"110",LOGGING_ENABLED:"170",LOGGING_DISABLED:"171",NON_ANONYMOUS:"172",SEMI_ANONYMOUS:"173",FULLY_ANONYMOUS:"174",ROOM_CREATED:"201",NICK_ASSIGNED:"210",BANNED:"301",NEW_NICK:"303",KICKED:"307",REMOVED_AFFILIATION:"321",REMOVED_MEMBERSHIP:"322",REMOVED_SHUTDOWN:"332"},Affiliation:{ADMIN:"admin",MEMBER:"member",NONE:"none",OUTCAST:"outcast",OWNER:"owner"},Role:{MODERATOR:"moderator",NONE:"none",PARTICIPANT:"participant",VISITOR:"visitor"}}},{}],224:[function(require,module,exports){module.exports={BIND:"urn:ietf:params:xml:ns:xmpp-bind",CLIENT:"jabber:client",SASL:"urn:ietf:params:xml:ns:xmpp-sasl",SERVER:"jabber:server",SESSION:"urn:ietf:params:xml:ns:xmpp-session",STANZA_ERROR:"urn:ietf:params:xml:ns:xmpp-stanzas",STREAM:"http://etherx.jabber.org/streams",STREAM_ERROR:"urn:ietf:params:xml:ns:xmpp-streams",ROSTER:"jabber:iq:roster",ROSTER_VERSIONING:"urn:xmpp:features:rosterver",SUBSCRIPTION_PREAPPROVAL:"urn:xmpp:features:pre-approval",FRAMING:"urn:ietf:params:xml:ns:xmpp-framing",DATAFORM:"jabber:x:data",RPC:"jabber:iq:rpc",LAST_ACTIVITY:"jabber:iq:last",PRIVACY:"jabber:iq:privacy",DISCO_INFO:"http://jabber.org/protocol/disco#info",DISCO_ITEMS:"http://jabber.org/protocol/disco#items",ADDRESS:"http://jabber.org/protocol/address",MUC:"http://jabber.org/protocol/muc",MUC_ADMIN:"http://jabber.org/protocol/muc#admin",MUC_OWNER:"http://jabber.org/protocol/muc#owner",MUC_USER:"http://jabber.org/protocol/muc#user",IBB:"http://jabber.org/protocol/ibb",BOOKMARKS:"storage:bookmarks",PRIVATE:"jabber:iq:private",ADHOC_COMMANDS:"http://jabber.org/protocol/commands",VCARD_TEMP:"vcard-temp",SEARCH:"jabber:iq:search",RSM:"http://jabber.org/protocol/rsm",PUBSUB:"http://jabber.org/protocol/pubsub",PUBSUB_ERRORS:"http://jabber.org/protocol/pubsub#errors",PUBSUB_EVENT:"http://jabber.org/protocol/pubsub#event",PUBSUB_OWNER:"http://jabber.org/protocol/pubsub#owner",SOCKS5:"http://jabber.org/protocol/bytestreams",OOB:"jabber:x:oob",HTTP_AUTH:"http://jabber.org/protocol/http-auth",XHTML_IM:"http://jabber.org/protocol/xhtml-im",REGISTER:"jabber:iq:register",AMP:"http://jabber.org/protocol/amp",GEOLOC:"http://jabber.org/protocol/geoloc",ROSTER_DELIMITER:"roster:delimiter",AVATAR_DATA:"urn:xmpp:avatar:data",AVATAR_METADATA:"urn:xmpp:avatar:metadata",CHAT_STATES:"http://jabber.org/protocol/chatstates",VERSION:"jabber:iq:version",MOOD:"http://jabber.org/protocol/mood",ACTIVITY:"http://jabber.org/protocol/activity",COMPONENT:"jabber:component:accept",CAPS:"http://jabber.org/protocol/caps",TUNE:"http://jabber.org/protocol/tune",DATAFORM_VALIDATION:"http://jabber.org/protocol/xdata-validate",BOSH:"http://jabber.org/protocol/httpbind",SHIM:"http://jabber.org/protocol/shim",COMPRESSION:"http://jabber.org/features/compress",DATAFORM_LAYOUT:"http://jabber.org/protocol/xdata-layout",ROSTER_EXCHANGE:"http://jabber.org/protocol/rosterx",ROSTER_NOTES:"storage:rosternotes",REACH_0:"urn:xmpp:reach:0",VCARD_TEMP_UPDATE:"vcard-temp:x:update",CAPTCHA:"urn:xmpp:captcha",JINGLE_1:"urn:xmpp:jingle:1",JINGLE_ERRORS_1:"urn:xmpp:jingle:errors:1",JINGLE_RTP_1:"urn:xmpp:jingle:apps:rtp:1",JINGLE_RTP_ERRORS_1:"urn:xmpp:jingle:apps:rtp:errors:1",JINGLE_RTP_INFO_1:"urn:xmpp:jingle:apps:rtp:info:1",LANG_TRANS:"urn:xmpp:langtrans",LANG_TRANS_ITEMS:"urn:xmpp:langtrans:items",NICK:"http://jabber.org/protocol/nick",JINGLE_ICE_UDP_1:"urn:xmpp:jingle:transports:ice-udp:1",JINGLE_RAW_UDP_1:"urn:xmpp:jingle:transports:raw-udp:1",RECEIPTS:"urn:xmpp:receipts",INVISIBLE_0:"urn:xmpp:invisible:0",BLOCKING:"urn:xmpp:blocking",SMACKS_3:"urn:xmpp:sm:3",PING:"urn:xmpp:ping",TIME:"urn:xmpp:time",DELAY:"urn:xmpp:delay",BOSH_XMPP:"urn:xmpp:xbosh",DISCO_EXTERNAL_1:"urn:xmpp:extdisco:1",DATAFORM_MEDIA:"urn:xmpp:media-element",ATTENTION_0:"urn:xmpp:attention:0",BOB:"urn:xmpp:bob",FILE_TRANSFER_3:"urn:xmpp:jingle:apps:file-transfer:3",FILE_TRANSFER_4:"urn:xmpp:jingle:apps:file-transfer:4",MUC_DIRECT_INVITE:"jabber:x:conference",SEC_LABEL_0:"urn:xmpp:sec-label:0",SEC_LABEL_CATALOG_2:"urn:xmpp:sec-label:catalog:2",SEC_LABEL_ESS_0:"urn:xmpp:sec-label:ess:0",JINGLE_SOCKS5_1:"urn:xmpp:jingle:transports:s5b:1",JINGLE_IBB_1:"urn:xmpp:jingle:transports:ibb:1",JINGLE_RTP_ZRTP_1:"urn:xmpp:jingle:apps:rtp:zrtp:1",THUMBS_0:"urn:xmpp:thumbs:0",THUMBS_1:"urn:xmpp:thumbs:1",DECLOAKING_0:"urn:xmpp:decloaking:0",CARBONS_2:"urn:xmpp:carbons:2",JINGLE_RTP_RTCP_FB_0:"urn:xmpp:jingle:apps:rtp:rtcp-fb:0",JINGLE_RTP_HDREXT_0:"urn:xmpp:jingle:apps:rtp:rtp-hdrext:0",FORWARD_0:"urn:xmpp:forward:0",HASHES_1:"urn:xmpp:hashes:1",RTT_0:"urn:xmpp:rtt:0",MUC_UNIQUE:"http://jabber.org/protocol/muc#unique",CORRECTION_0:"urn:xmpp:message-correct:0",PSA:"urn:xmpp:psa",MAM_TMP:"urn:xmpp:mam:tmp",MAM_0:"urn:xmpp:mam:0",HATS_0:"urn:xmpp:hats:0",IDLE_1:"urn:xmpp:idle:1",JINGLE_DTLS_0:"urn:xmpp:jingle:apps:dtls:0",JID_PREP_0:"urn:xmpp:jidprep:0",HINTS:"urn:xmpp:hints",JSON_0:"urn:xmpp:json:0",EVENTLOG:"urn:xmpp:eventlog",JINGLE_GROUPING_0:"urn:xmpp:jingle:apps:grouping:0",JINGLE_RTP_SSMA_0:"urn:xmpp:jingle:apps:rtp:ssma:0",COLIBRI:"http://jitsi.org/protocol/colibri",DTLS_SCTP_1:"urn:xmpp:jingle:transports:dtls-sctp:1",CSI:"urn:xmpp:csi",JINGLE_MSG_INITIATE_0:"urn:xmpp:jingle:jingle-message:0",PUSH_0:"urn:xmpp:push:0",JINGLE_PUB_1:"urn:xmpp:jinglepub:1"}},{}],225:[function(require,module,exports){module.exports={Type:{SUBSCRIBE:"subscribe",SUBSCRIBED:"subscribed",UNSUBSCRIBE:"unsubscribe",UNSUBSCRIBED:"unsubscribed",PROBE:"probe",UNAVAILABLE:"unavailable"},Show:{CHAT:"chat",AWAY:"away",DO_NOT_DISTURB:"dnd",EXTENDED_AWAY:"xa"}}},{}],226:[function(require,module,exports){module.exports={Affiliation:{MEMBER:"member",NONE:"none",OUTCAST:"outcast",OWNER:"owner",PUBLISHER:"publisher",PUBLISH_ONLY:"publish-only"},Subscription:{NONE:"none",PENDING:"pending",UNCONFIGURED:"unconfigured",SUBSCRIBED:"subscribed"},AccessModel:{OPEN:"open",PRESENCE:"presence",ROSTER:"roster",AUTHORIZE:"authorize",WHITELIST:"whitelist"},Condition:{CONFLICT:"conflict"}}},{}],227:[function(require,module,exports){"use strict";function bareJID(local,domain){return local?local+"@"+domain:domain}function fullJID(local,domain,resource){return resource?bareJID(local,domain)+"/"+resource:bareJID(local,domain)}var StringPrep=require("./lib/stringprep"),ASCII=/^[\x00-\x7F]*$/;exports.prep=function(data){var local=data.local,domain=data.domain,resource=data.resource,unescapedLocal=local;return local&&(local=StringPrep.nodeprep(local),unescapedLocal=exports.unescape(local)),resource&&(resource=StringPrep.resourceprep(resource)),"."===domain[domain.length-1]&&(domain=domain.slice(0,domain.length-1)),domain=StringPrep.nameprep(domain.split(".").map(StringPrep.toUnicode).join(".")),{prepped:data.prepped||StringPrep.available,local:local,domain:domain,resource:resource,bare:bareJID(local,domain),full:fullJID(local,domain,resource),unescapedLocal:unescapedLocal,unescapedBare:bareJID(unescapedLocal,domain),unescapedFull:fullJID(unescapedLocal,domain,resource)}},exports.parse=function(jid,trusted){var local="",domain="",resource="";trusted=trusted||ASCII.test(jid);var resourceStart=jid.indexOf("/");resourceStart>0&&(resource=jid.slice(resourceStart+1),jid=jid.slice(0,resourceStart));var localEnd=jid.indexOf("@");localEnd>0&&(local=jid.slice(0,localEnd),jid=jid.slice(localEnd+1)),domain=jid;var preppedJID=exports.prep({local:local,domain:domain,resource:resource});return preppedJID.prepped=preppedJID.prepped||trusted,preppedJID},exports.equal=function(jid1,jid2,requirePrep){return jid1=new exports.JID(jid1),jid2=new exports.JID(jid2),2===arguments.length&&(requirePrep=!0),jid1.local===jid2.local&&jid1.domain===jid2.domain&&jid1.resource===jid2.resource&&(!requirePrep||jid1.prepped&&jid2.prepped)},exports.equalBare=function(jid1,jid2,requirePrep){return jid1=new exports.JID(jid1),jid2=new exports.JID(jid2),2===arguments.length&&(requirePrep=!0),jid1.local===jid2.local&&jid1.domain===jid2.domain&&(!requirePrep||jid1.prepped&&jid2.prepped)},exports.isBare=function(jid){jid=new exports.JID(jid);var hasResource=!!jid.resource;return!hasResource},exports.isFull=function(jid){jid=new exports.JID(jid);var hasResource=!!jid.resource;return hasResource},exports.escape=function(val){return val.replace(/^\s+|\s+$/g,"").replace(/\\5c/g,"\\5c5c").replace(/\\20/g,"\\5c20").replace(/\\22/g,"\\5c22").replace(/\\26/g,"\\5c26").replace(/\\27/g,"\\5c27").replace(/\\2f/g,"\\5c2f").replace(/\\3a/g,"\\5c3a").replace(/\\3c/g,"\\5c3c").replace(/\\3e/g,"\\5c3e").replace(/\\40/g,"\\5c40").replace(/ /g,"\\20").replace(/\"/g,"\\22").replace(/\&/g,"\\26").replace(/\'/g,"\\27").replace(/\//g,"\\2f").replace(/:/g,"\\3a").replace(/</g,"\\3c").replace(/>/g,"\\3e").replace(/@/g,"\\40")},exports.unescape=function(val){return val.replace(/\\20/g," ").replace(/\\22/g,'"').replace(/\\26/g,"&").replace(/\\27/g,"'").replace(/\\2f/g,"/").replace(/\\3a/g,":").replace(/\\3c/g,"<").replace(/\\3e/g,">").replace(/\\40/g,"@").replace(/\\5c/g,"\\")},exports.create=function(local,domain,resource){return new exports.JID(local,domain,resource)},exports.JID=function(localOrJID,domain,resource){var parsed={};if(!localOrJID||domain||resource)if(domain){var trusted=ASCII.test(localOrJID)&&ASCII.test(domain);resource&&(trusted=trusted&&ASCII.test(resource)),parsed=exports.prep({local:exports.escape(localOrJID),domain:domain,resource:resource,prepped:trusted})}else parsed={};else if("string"==typeof localOrJID)parsed=exports.parse(localOrJID);else{if(!(localOrJID._isJID||localOrJID instanceof exports.JID))throw new Error("Invalid argument type");parsed=localOrJID}this._isJID=!0,this.local=parsed.local||"",this.domain=parsed.domain||"",this.resource=parsed.resource||"",this.bare=parsed.bare||"",this.full=parsed.full||"",this.unescapedLocal=parsed.unescapedLocal||"",this.unescapedBare=parsed.unescapedBare||"",this.unescapedFull=parsed.unescapedFull||"",this.prepped=parsed.prepped},exports.JID.prototype.toString=function(){return this.full},exports.JID.prototype.toJSON=function(){return this.full}},{"./lib/stringprep":228}],228:[function(require,module,exports){"use strict";var punycode=require("punycode");exports.available=!1,exports.toUnicode=punycode.toUnicode,exports.nameprep=function(str){return str.toLowerCase()},exports.nodeprep=function(str){return str.toLowerCase()},exports.resourceprep=function(str){return str}},{punycode:155}],229:[function(require,module,exports){"use strict";var JSM=require("jingle"),RTC=require("webrtc-adapter"),GUM=require("getusermedia"),GSM=require("getscreenmedia"),jxt=require("jxt").createRegistry();jxt.use(require("jxt-xmpp-types")),jxt.use(require("jxt-xmpp"));var IqStanza=jxt.getDefinition("iq","jabber:client");!function($){Strophe.addConnectionPlugin("jingle",{connection:null,peer_constraints:{},AUTOACCEPT:!1,localStream:null,manager:null,RTC:null,getUserMedia:null,getScreenMedia:null,init:function(conn){var self=this;self.RTC=RTC,self.getUserMedia=GUM,self.getScreenMedia=GSM,self.connection=conn;var browserDetails=self.RTC.browserDetails;browserDetails.version<33&&"firefox"===browserDetails.browser||"chrome"===browserDetails.browser?(self.peer_constraints={mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:!0}},"firefox"===browserDetails.browser&&(self.peer_constraints.mandatory.MozDontOfferDataChannel=!0)):(self.peer_constraints={offerToReceiveAudio:!0,offerToReceiveVideo:!0},"firefox"===browserDetails.browser&&(self.peer_constraints.mozDontOfferDataChannel=!0)),self.manager=new JSM({peerConnectionConstraints:self.peer_constraints,jid:self.connection.jid,selfID:self.connection.jid});var events={incoming:"callincoming.jingle",terminated:"callterminated.jingle",peerStreamAdded:"remotestreamadded.jingle",peerStreamRemoved:"remotestreamremoved.jingle",ringing:"ringing.jingle","log:error":"error.jingle"};if($.each(events,function(key,val){self.manager.on(key,function(){$(document).trigger(val,arguments)})}),self.manager.on("incoming",function(session){session.on("change:connectionState",function(session,state){$(document).trigger("iceconnectionstatechange.jingle",[session.sid,session,state])})}),this.connection.disco){var i;for(i=0;i<self.manager.capabilities.length;i++)self.connection.disco.addFeature(self.manager.capabilities[i])}this.connection.addHandler(this.onJingle.bind(this),"urn:xmpp:jingle:1","iq","set",null,null),this.manager.on("send",function(data){var iq=new IqStanza(data);self.connection.send($.parseXML(iq.toString()).getElementsByTagName("iq")[0])})},onJingle:function(iq){var req=jxt.parse(iq.outerHTML);return this.manager.process(req.toJSON()),!0},initiate:function(peerjid,stream,offerOptions){var session=this.manager.createMediaSession(peerjid);return session.on("change:connectionState",function(session,state){$(document).trigger("iceconnectionstatechange.jingle",[session.sid,session,state])}),stream&&(this.localStream=stream),this.localStream?(session.addStream(this.localStream),session.start(offerOptions),session):void console.error("No local stream defined")},terminate:function(jid,reason,silent){"undefined"==typeof jid||null===jid?this.manager.endAllSessions(reason,silent):this.manager.endPeerSessions(jid,reason,silent)},terminateByJid:function(jid){this.manager.endPeerSessions(jid)},addICEServer:function(server){this.manager.addICEServer(server)},setICEServers:function(servers){this.manager.iceServers=servers},setPeerConstraints:function(constraints){this.manager.config.peerConnectionConstraints=constraints}})}(jQuery)},{getscreenmedia:31,getusermedia:32,jingle:53,jxt:120,"jxt-xmpp":81,"jxt-xmpp-types":54,"webrtc-adapter":210}]},{},[229]),function(root,factory){"function"==typeof define&&define.amd?define(factory):"undefined"!=typeof module&&module.exports?module.exports=factory():root.Salsa20=factory()}(this,function(){function Salsa20(key,nonce){this.rounds=20,this.sigmaWords=[1634760805,857760878,2036477234,1797285236],this.keyWords=[],this.nonceWords=[0,0],this.counterWords=[0,0],this.block=[],this.blockUsed=64,this.setKey(key),this.setNonce(nonce)}return Salsa20.prototype.setKey=function(key){for(var i=0,j=0;i<8;i++,j+=4)this.keyWords[i]=255&key[j]|(255&key[j+1])<<8|(255&key[j+2])<<16|(255&key[j+3])<<24;this._reset()},Salsa20.prototype.setNonce=function(nonce){this.nonceWords[0]=255&nonce[0]|(255&nonce[1])<<8|(255&nonce[2])<<16|(255&nonce[3])<<24,this.nonceWords[1]=255&nonce[4]|(255&nonce[5])<<8|(255&nonce[6])<<16|(255&nonce[7])<<24,this._reset()},Salsa20.prototype.getBytes=function(numberOfBytes){for(var out=new Array(numberOfBytes),i=0;i<numberOfBytes;i++)64==this.blockUsed&&(this._generateBlock(),this._incrementCounter(),this.blockUsed=0),out[i]=this.block[this.blockUsed],this.blockUsed++;return out},Salsa20.prototype.getHexString=function(numberOfBytes){for(var hex=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"],out=[],bytes=this.getBytes(numberOfBytes),i=0;i<bytes.length;i++)out.push(hex[bytes[i]>>4&15]),out.push(hex[15&bytes[i]]);return out.join("")},Salsa20.prototype._reset=function(){this.counterWords[0]=0,this.counterWords[1]=0,this.blockUsed=64},Salsa20.prototype._incrementCounter=function(){this.counterWords[0]=this.counterWords[0]+1&4294967295,0==this.counterWords[0]&&(this.counterWords[1]=this.counterWords[1]+1&4294967295)},Salsa20.prototype._generateBlock=function(){for(var u,j0=this.sigmaWords[0],j1=this.keyWords[0],j2=this.keyWords[1],j3=this.keyWords[2],j4=this.keyWords[3],j5=this.sigmaWords[1],j6=this.nonceWords[0],j7=this.nonceWords[1],j8=this.counterWords[0],j9=this.counterWords[1],j10=this.sigmaWords[2],j11=this.keyWords[4],j12=this.keyWords[5],j13=this.keyWords[6],j14=this.keyWords[7],j15=this.sigmaWords[3],x0=j0,x1=j1,x2=j2,x3=j3,x4=j4,x5=j5,x6=j6,x7=j7,x8=j8,x9=j9,x10=j10,x11=j11,x12=j12,x13=j13,x14=j14,x15=j15,i=0;i<this.rounds;i+=2)u=x0+x12,x4^=u<<7|u>>>25,u=x4+x0,x8^=u<<9|u>>>23,u=x8+x4,x12^=u<<13|u>>>19,u=x12+x8,x0^=u<<18|u>>>14,u=x5+x1,x9^=u<<7|u>>>25,u=x9+x5,x13^=u<<9|u>>>23,u=x13+x9,x1^=u<<13|u>>>19,u=x1+x13,x5^=u<<18|u>>>14,u=x10+x6,x14^=u<<7|u>>>25,u=x14+x10,x2^=u<<9|u>>>23,u=x2+x14,x6^=u<<13|u>>>19,u=x6+x2,x10^=u<<18|u>>>14,u=x15+x11,x3^=u<<7|u>>>25,u=x3+x15,x7^=u<<9|u>>>23,u=x7+x3,x11^=u<<13|u>>>19,u=x11+x7,x15^=u<<18|u>>>14,u=x0+x3,x1^=u<<7|u>>>25,u=x1+x0,x2^=u<<9|u>>>23,u=x2+x1,x3^=u<<13|u>>>19,u=x3+x2,x0^=u<<18|u>>>14,u=x5+x4,x6^=u<<7|u>>>25,u=x6+x5,x7^=u<<9|u>>>23,u=x7+x6,x4^=u<<13|u>>>19,u=x4+x7,x5^=u<<18|u>>>14,
+u=x10+x9,x11^=u<<7|u>>>25,u=x11+x10,x8^=u<<9|u>>>23,u=x8+x11,x9^=u<<13|u>>>19,u=x9+x8,x10^=u<<18|u>>>14,u=x15+x14,x12^=u<<7|u>>>25,u=x12+x15,x13^=u<<9|u>>>23,u=x13+x12,x14^=u<<13|u>>>19,u=x14+x13,x15^=u<<18|u>>>14;x0+=j0,x1+=j1,x2+=j2,x3+=j3,x4+=j4,x5+=j5,x6+=j6,x7+=j7,x8+=j8,x9+=j9,x10+=j10,x11+=j11,x12+=j12,x13+=j13,x14+=j14,x15+=j15,this.block[0]=x0>>>0&255,this.block[1]=x0>>>8&255,this.block[2]=x0>>>16&255,this.block[3]=x0>>>24&255,this.block[4]=x1>>>0&255,this.block[5]=x1>>>8&255,this.block[6]=x1>>>16&255,this.block[7]=x1>>>24&255,this.block[8]=x2>>>0&255,this.block[9]=x2>>>8&255,this.block[10]=x2>>>16&255,this.block[11]=x2>>>24&255,this.block[12]=x3>>>0&255,this.block[13]=x3>>>8&255,this.block[14]=x3>>>16&255,this.block[15]=x3>>>24&255,this.block[16]=x4>>>0&255,this.block[17]=x4>>>8&255,this.block[18]=x4>>>16&255,this.block[19]=x4>>>24&255,this.block[20]=x5>>>0&255,this.block[21]=x5>>>8&255,this.block[22]=x5>>>16&255,this.block[23]=x5>>>24&255,this.block[24]=x6>>>0&255,this.block[25]=x6>>>8&255,this.block[26]=x6>>>16&255,this.block[27]=x6>>>24&255,this.block[28]=x7>>>0&255,this.block[29]=x7>>>8&255,this.block[30]=x7>>>16&255,this.block[31]=x7>>>24&255,this.block[32]=x8>>>0&255,this.block[33]=x8>>>8&255,this.block[34]=x8>>>16&255,this.block[35]=x8>>>24&255,this.block[36]=x9>>>0&255,this.block[37]=x9>>>8&255,this.block[38]=x9>>>16&255,this.block[39]=x9>>>24&255,this.block[40]=x10>>>0&255,this.block[41]=x10>>>8&255,this.block[42]=x10>>>16&255,this.block[43]=x10>>>24&255,this.block[44]=x11>>>0&255,this.block[45]=x11>>>8&255,this.block[46]=x11>>>16&255,this.block[47]=x11>>>24&255,this.block[48]=x12>>>0&255,this.block[49]=x12>>>8&255,this.block[50]=x12>>>16&255,this.block[51]=x12>>>24&255,this.block[52]=x13>>>0&255,this.block[53]=x13>>>8&255,this.block[54]=x13>>>16&255,this.block[55]=x13>>>24&255,this.block[56]=x14>>>0&255,this.block[57]=x14>>>8&255,this.block[58]=x14>>>16&255,this.block[59]=x14>>>24&255,this.block[60]=x15>>>0&255,this.block[61]=x15>>>8&255,this.block[62]=x15>>>16&255,this.block[63]=x15>>>24&255},Salsa20}),function(root,factory){if("function"==typeof define&&define.amd)define(factory.bind(root,root.crypto||root.msCrypto));else if("undefined"!=typeof module&&module.exports)module.exports=factory(require("crypto"));else try{root.BigInt=factory(root.crypto||root.msCrypto)}catch(e){console.warn(e.message)}}(this,function(crypto){function findPrimes(n){var i,s,p,ans;for(s=new Array(n),i=0;i<n;i++)s[i]=0;for(s[0]=2,p=0;s[p]<n;){for(i=s[p]*s[p];i<n;i+=s[p])s[i]=1;for(p++,s[p]=s[p-1]+1;s[p]<n&&s[s[p]];s[p]++);}for(ans=new Array(p),i=0;i<p;i++)ans[i]=s[i];return ans}function millerRabin(x,b){var i,j,k,s;if(mr_x1.length!=x.length&&(mr_x1=dup(x),mr_r=dup(x),mr_a=dup(x)),copy_(mr_a,b),copy_(mr_r,x),copy_(mr_x1,x),addInt_(mr_r,-1),addInt_(mr_x1,-1),isZero(mr_r))return 0;for(k=0;0==mr_r[k];k++);for(i=1,j=2;mr_r[k]%j==0;j*=2,i++);if(s=k*bpe+i-1,s&&rightShift_(mr_r,s),powMod_(mr_a,mr_r,x),!equalsInt(mr_a,1)&&!equals(mr_a,mr_x1)){for(j=1;j<=s-1&&!equals(mr_a,mr_x1);){if(squareMod_(mr_a,x),equalsInt(mr_a,1))return 0;j++}if(!equals(mr_a,mr_x1))return 0}return 1}function bitSize(x){var j,z,w;for(j=x.length-1;0==x[j]&&j>0;j--);for(z=0,w=x[j];w;w>>=1,z++);return z+=bpe*j}function expand(x,n){var ans=int2bigInt(0,(x.length>n?x.length:n)*bpe,0);return copy_(ans,x),ans}function mod(x,n){var ans=dup(x);return mod_(ans,n),trim(ans,1)}function mult(x,y){var ans=expand(x,x.length+y.length);return mult_(ans,y),trim(ans,1)}function powMod(x,y,n){var ans=expand(x,n.length);return powMod_(ans,trim(y,2),trim(n,2),0),trim(ans,1)}function sub(x,y){var ans=expand(x,x.length>y.length?x.length+1:y.length+1);return sub_(ans,y),trim(ans,1)}function add(x,y){var ans=expand(x,x.length>y.length?x.length+1:y.length+1);return add_(ans,y),trim(ans,1)}function inverseMod(x,n){var s,ans=expand(x,n.length);return s=inverseMod_(ans,n),s?trim(ans,1):null}function multMod(x,y,n){var ans=expand(x,n.length);return multMod_(ans,y,n),trim(ans,1)}function randBigInt(n,s){var a,b;return a=Math.floor((n-1)/bpe)+2,b=int2bigInt(0,0,a),randBigInt_(b,n,s),b}function randBigInt_(b,n,s){var i,a;for(i=0;i<b.length;i++)b[i]=0;for(a=Math.floor((n-1)/bpe)+1,i=0;i<a;i++)b[i]=randomBitInt(bpe);b[a-1]&=(2<<(n-1)%bpe)-1,1==s&&(b[a-1]|=1<<(n-1)%bpe)}function inverseMod_(x,n){var k=1+2*Math.max(x.length,n.length);if(!(1&x[0]||1&n[0]))return copyInt_(x,0),0;for(eg_u.length!=k&&(eg_u=new Array(k),eg_v=new Array(k),eg_A=new Array(k),eg_B=new Array(k),eg_C=new Array(k),eg_D=new Array(k)),copy_(eg_u,x),copy_(eg_v,n),copyInt_(eg_A,1),copyInt_(eg_B,0),copyInt_(eg_C,0),copyInt_(eg_D,1);;){for(;!(1&eg_u[0]);)halve_(eg_u),1&eg_A[0]||1&eg_B[0]?(add_(eg_A,n),halve_(eg_A),sub_(eg_B,x),halve_(eg_B)):(halve_(eg_A),halve_(eg_B));for(;!(1&eg_v[0]);)halve_(eg_v),1&eg_C[0]||1&eg_D[0]?(add_(eg_C,n),halve_(eg_C),sub_(eg_D,x),halve_(eg_D)):(halve_(eg_C),halve_(eg_D));if(greater(eg_v,eg_u)?(sub_(eg_v,eg_u),sub_(eg_C,eg_A),sub_(eg_D,eg_B)):(sub_(eg_u,eg_v),sub_(eg_A,eg_C),sub_(eg_B,eg_D)),equalsInt(eg_u,0)){for(;negative(eg_C);)add_(eg_C,n);return copy_(x,eg_C),equalsInt(eg_v,1)?1:(copyInt_(x,0),0)}}}function inverseModInt(x,n){for(var a=1,b=0;;){if(1==x)return a;if(0==x)return 0;if(b-=a*Math.floor(n/x),n%=x,1==n)return b;if(0==n)return 0;a-=b*Math.floor(x/n),x%=n}}function negative(x){return x[x.length-1]>>bpe-1&1}function greaterShift(x,y,shift){var i,kx=x.length,ky=y.length,k=kx+shift<ky?kx+shift:ky;for(i=ky-1-shift;i<kx&&i>=0;i++)if(x[i]>0)return 1;for(i=kx-1+shift;i<ky;i++)if(y[i]>0)return 0;for(i=k-1;i>=shift;i--){if(x[i-shift]>y[i])return 1;if(x[i-shift]<y[i])return 0}return 0}function greater(x,y){var i,k=x.length<y.length?x.length:y.length;for(i=x.length;i<y.length;i++)if(y[i])return 0;for(i=y.length;i<x.length;i++)if(x[i])return 1;for(i=k-1;i>=0;i--){if(x[i]>y[i])return 1;if(x[i]<y[i])return 0}return 0}function divide_(x,y,q,r){var kx,ky,i,y1,y2,c,a,b;for(copy_(r,x),ky=y.length;0==y[ky-1];ky--);for(b=y[ky-1],a=0;b;a++)b>>=1;for(a=bpe-a,leftShift_(y,a),leftShift_(r,a),kx=r.length;0==r[kx-1]&&kx>ky;kx--);for(copyInt_(q,0);!greaterShift(y,r,kx-ky);)subShift_(r,y,kx-ky),q[kx-ky]++;for(i=kx-1;i>=ky;i--){for(r[i]==y[ky-1]?q[i-ky]=mask:q[i-ky]=Math.floor((r[i]*radix+r[i-1])/y[ky-1]);y2=(ky>1?y[ky-2]:0)*q[i-ky],c=y2,y2&=mask,c=(c-y2)/radix,y1=c+q[i-ky]*y[ky-1],c=y1,y1&=mask,c=(c-y1)/radix,c==r[i]?y1==r[i-1]?y2>(i>1?r[i-2]:0):y1>r[i-1]:c>r[i];)q[i-ky]--;linCombShift_(r,y,-q[i-ky],i-ky),negative(r)&&(addShift_(r,y,i-ky),q[i-ky]--)}rightShift_(y,a),rightShift_(r,a)}function modInt(x,n){var i,c=0;for(i=x.length-1;i>=0;i--)c=(c*radix+x[i])%n;return c}function int2bigInt(t,bits,minSize){var k,buff;return k=Math.ceil(bits/bpe)+1,k=minSize>k?minSize:k,buff=new Array(k),copyInt_(buff,t),buff}function str2bigInt(s,base,minSize){var d,i,x,y,kk,k=s.length;if(base==-1){for(x=new Array(0);;){for(y=new Array(x.length+1),i=0;i<x.length;i++)y[i+1]=x[i];if(y[0]=parseInt(s,10),x=y,d=s.indexOf(",",0),d<1)break;if(s=s.substring(d+1),0==s.length)break}return x.length<minSize?(y=new Array(minSize),copy_(y,x),y):x}for(var bb=base,p=0,b=1==base?k:0;bb>1;)1&bb&&(p=1),b+=k,bb>>=1;for(b+=p*k,x=int2bigInt(0,b,0),i=0;i<k&&(d=digitsStr.indexOf(s.substring(i,i+1),0),base<=36&&d>=36&&(d-=26),!(d>=base||d<0));i++)multInt_(x,base),addInt_(x,d);for(k=x.length;k>0&&!x[k-1];k--);for(k=minSize>k+1?minSize:k+1,y=new Array(k),kk=k<x.length?k:x.length,i=0;i<kk;i++)y[i]=x[i];for(;i<k;i++)y[i]=0;return y}function equalsInt(x,y){var i;if(x[0]!=y)return 0;for(i=1;i<x.length;i++)if(x[i])return 0;return 1}function equals(x,y){var i,k=x.length<y.length?x.length:y.length;for(i=0;i<k;i++)if(x[i]!=y[i])return 0;if(x.length>y.length){for(;i<x.length;i++)if(x[i])return 0}else for(;i<y.length;i++)if(y[i])return 0;return 1}function isZero(x){var i;for(i=0;i<x.length;i++)if(x[i])return 0;return 1}function bigInt2str(x,base){var i,t,s="";if(s6.length!=x.length?s6=dup(x):copy_(s6,x),base==-1){for(i=x.length-1;i>0;i--)s+=x[i]+",";s+=x[0]}else for(;!isZero(s6);)t=divInt_(s6,base),s=digitsStr.substring(t,t+1)+s;return 0==s.length&&(s="0"),s}function dup(x){var buff;return buff=new Array(x.length),copy_(buff,x),buff}function copy_(x,y){var i,k=x.length<y.length?x.length:y.length;for(i=0;i<k;i++)x[i]=y[i];for(i=k;i<x.length;i++)x[i]=0}function copyInt_(x,n){var i,c;for(c=n,i=0;i<x.length;i++)x[i]=c&mask,c>>=bpe}function addInt_(x,n){var i,k,c,b;for(x[0]+=n,k=x.length,c=0,i=0;i<k;i++)if(c+=x[i],b=0,c<0&&(b=c&mask,b=-((c-b)/radix),c+=b*radix),x[i]=c&mask,c=(c-x[i])/radix-b,!c)return}function rightShift_(x,n){var i,k=Math.floor(n/bpe);if(k){for(i=0;i<x.length-k;i++)x[i]=x[i+k];for(;i<x.length;i++)x[i]=0;n%=bpe}for(i=0;i<x.length-1;i++)x[i]=mask&(x[i+1]<<bpe-n|x[i]>>n);x[i]>>=n}function halve_(x){var i;for(i=0;i<x.length-1;i++)x[i]=mask&(x[i+1]<<bpe-1|x[i]>>1);x[i]=x[i]>>1|x[i]&radix>>1}function leftShift_(x,n){var i,k=Math.floor(n/bpe);if(k){for(i=x.length;i>=k;i--)x[i]=x[i-k];for(;i>=0;i--)x[i]=0;n%=bpe}if(n){for(i=x.length-1;i>0;i--)x[i]=mask&(x[i]<<n|x[i-1]>>bpe-n);x[i]=mask&x[i]<<n}}function multInt_(x,n){var i,k,c,b;if(n)for(k=x.length,c=0,i=0;i<k;i++)c+=x[i]*n,b=0,c<0&&(b=c&mask,b=-((c-b)/radix),c+=b*radix),x[i]=c&mask,c=(c-x[i])/radix-b}function divInt_(x,n){var i,s,r=0;for(i=x.length-1;i>=0;i--)s=r*radix+x[i],x[i]=Math.floor(s/n),r=s%n;return r}function linCombShift_(x,y,b,ys){var i,c,k,kk;for(k=x.length<ys+y.length?x.length:ys+y.length,kk=x.length,c=0,i=ys;i<k;i++)c+=x[i]+b*y[i-ys],x[i]=c&mask,c=(c-x[i])/radix;for(i=k;c&&i<kk;i++)c+=x[i],x[i]=c&mask,c=(c-x[i])/radix}function addShift_(x,y,ys){var i,c,k,kk;for(k=x.length<ys+y.length?x.length:ys+y.length,kk=x.length,c=0,i=ys;i<k;i++)c+=x[i]+y[i-ys],x[i]=c&mask,c=(c-x[i])/radix;for(i=k;c&&i<kk;i++)c+=x[i],x[i]=c&mask,c=(c-x[i])/radix}function subShift_(x,y,ys){var i,c,k,kk;for(k=x.length<ys+y.length?x.length:ys+y.length,kk=x.length,c=0,i=ys;i<k;i++)c+=x[i]-y[i-ys],x[i]=c&mask,c=(c-x[i])/radix;for(i=k;c&&i<kk;i++)c+=x[i],x[i]=c&mask,c=(c-x[i])/radix}function sub_(x,y){var i,c,k;for(k=x.length<y.length?x.length:y.length,c=0,i=0;i<k;i++)c+=x[i]-y[i],x[i]=c&mask,c=(c-x[i])/radix;for(i=k;c&&i<x.length;i++)c+=x[i],x[i]=c&mask,c=(c-x[i])/radix}function add_(x,y){var i,c,k;for(k=x.length<y.length?x.length:y.length,c=0,i=0;i<k;i++)c+=x[i]+y[i],x[i]=c&mask,c=(c-x[i])/radix;for(i=k;c&&i<x.length;i++)c+=x[i],x[i]=c&mask,c=(c-x[i])/radix}function mult_(x,y){var i;for(ss.length!=2*x.length&&(ss=new Array(2*x.length)),copyInt_(ss,0),i=0;i<y.length;i++)y[i]&&linCombShift_(ss,x,y[i],i);copy_(x,ss)}function mod_(x,n){s4.length!=x.length?s4=dup(x):copy_(s4,x),s5.length!=x.length&&(s5=dup(x)),divide_(s4,n,s5,x)}function multMod_(x,y,n){var i;for(s0.length!=2*x.length&&(s0=new Array(2*x.length)),copyInt_(s0,0),i=0;i<y.length;i++)y[i]&&linCombShift_(s0,x,y[i],i);mod_(s0,n),copy_(x,s0)}function squareMod_(x,n){var i,j,c,kx,k;for(kx=x.length;kx>0&&!x[kx-1];kx--);for(k=kx>n.length?2*kx:2*n.length,s0.length!=k&&(s0=new Array(k)),copyInt_(s0,0),i=0;i<kx;i++){for(c=s0[2*i]+x[i]*x[i],s0[2*i]=c&mask,c=(c-s0[2*i])/radix,j=i+1;j<kx;j++)c=s0[i+j]+2*x[i]*x[j]+c,s0[i+j]=c&mask,c=(c-s0[i+j])/radix;s0[i+kx]=c}mod_(s0,n),copy_(x,s0)}function trim(x,k){var i,y;for(i=x.length;i>0&&!x[i-1];i--);return y=new Array(i+k),copy_(y,x),y}function powMod_(x,y,n){var k1,k2,kn,np;if(s7.length!=n.length&&(s7=dup(n)),0!=(1&n[0])){for(copyInt_(s7,0),kn=n.length;kn>0&&!n[kn-1];kn--);for(np=radix-inverseModInt(modInt(n,radix),radix),s7[kn]=1,multMod_(x,s7,n),s3.length!=x.length?s3=dup(x):copy_(s3,x),k1=y.length-1;k1>0&!y[k1];k1--);if(0==y[k1])return void copyInt_(x,1);for(k2=1<<bpe-1;k2&&!(y[k1]&k2);k2>>=1);for(;;){if(!(k2>>=1)){if(k1--,k1<0)return void mont_(x,one,n,np);k2=1<<bpe-1}mont_(x,x,n,np),k2&y[k1]&&mont_(x,s3,n,np)}}else for(copy_(s7,x),copyInt_(x,1);!equalsInt(y,0);)1&y[0]&&multMod_(x,s7,n),divInt_(y,2),squareMod_(s7,n)}function mont_(x,y,n,np){var i,j,c,ui,t,t2,ks,kn=n.length,ky=y.length;for(sa.length!=kn&&(sa=new Array(kn)),copyInt_(sa,0);kn>0&&0==n[kn-1];kn--);for(;ky>0&&0==y[ky-1];ky--);for(ks=sa.length-1,i=0;i<kn;i++){for(t=sa[0]+x[i]*y[0],ui=(t&mask)*np&mask,c=t+ui*n[0],c=(c-(c&mask))/radix,t=x[i],j=1;j<ky-4;)c+=sa[j]+ui*n[j]+t*y[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++,c+=sa[j]+ui*n[j]+t*y[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++,c+=sa[j]+ui*n[j]+t*y[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++,c+=sa[j]+ui*n[j]+t*y[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++,c+=sa[j]+ui*n[j]+t*y[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;for(;j<ky;)c+=sa[j]+ui*n[j]+t*y[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;for(;j<kn-4;)c+=sa[j]+ui*n[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++,c+=sa[j]+ui*n[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++,c+=sa[j]+ui*n[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++,c+=sa[j]+ui*n[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++,c+=sa[j]+ui*n[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;for(;j<kn;)c+=sa[j]+ui*n[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;for(;j<ks;)c+=sa[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;sa[j-1]=c&mask}greater(n,sa)||sub_(sa,n),copy_(x,sa)}function divMod(num,den,n){return multMod(num,inverseMod(den,n),n)}function subMod(one,two,n){return one=mod(one,n),two=mod(two,n),greater(two,one)&&(one=add(one,n)),sub(one,two)}function twoToThe(m){for(var b=Math.floor(m/bpe)+2,t=new Array(b),i=0;i<b;i++)t[i]=0;return t[b-2]=1<<m%bpe,t}function bigInt2bits(bi,pad){pad||(pad=0),bi=dup(bi);for(var ba="";!isZero(bi);)ba=_num2bin[255&bi[0]]+ba,rightShift_(bi,8);for(;ba.length<pad;)ba="\0"+ba;return ba}function ba2bigInt(data){var mpi=str2bigInt("0",10,data.length);return data.forEach(function(d,i){i&&leftShift_(mpi,8),mpi[0]|=d}),mpi}function getSeed(){return randomBytes(40)}function randomByte(){return randomBytes(1)[0]}function randomBitInt(k){if(k>31)throw new Error("Too many bits.");var i=0,r=0,b=Math.floor(k/8),mask=(1<<k%8)-1;for(mask&&(r=randomByte()&mask);i<b;i++)r=256*r+randomByte();return r}var bpe=26,radix=1<<bpe,mask=radix-1,digitsStr="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_=!@#$%^&*()[]{}|;:,.<>/?`~ \\'\"+-",one=int2bigInt(1,1,1),t=new Array(0),ss=t,s0=t,s3=t,s4=t,s5=t,s6=t,s7=t,sa=t,mr_x1=t,mr_r=t,mr_a=t,eg_v=t,eg_u=t,eg_A=t,eg_B=t,eg_C=t,eg_D=t,primes=t,_num2bin=function(){for(var i=0,_num2bin={};i<256;++i)_num2bin[i]=String.fromCharCode(i);return _num2bin}(),randomBytes=function(){if("undefined"!=typeof crypto&&"function"==typeof crypto.randomBytes)return function(n){try{var buf=crypto.randomBytes(n)}catch(e){throw e}return Array.prototype.slice.call(buf,0)};if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues)return function(n){var buf=new Uint8Array(n);return crypto.getRandomValues(buf),Array.prototype.slice.call(buf,0)};throw new Error("Keys should not be generated without CSPRNG.")}();return{str2bigInt:str2bigInt,bigInt2str:bigInt2str,int2bigInt:int2bigInt,multMod:multMod,powMod:powMod,inverseMod:inverseMod,randBigInt:randBigInt,randBigInt_:randBigInt_,equals:equals,equalsInt:equalsInt,sub:sub,mod:mod,modInt:modInt,mult:mult,divInt_:divInt_,rightShift_:rightShift_,dup:dup,greater:greater,add:add,isZero:isZero,bitSize:bitSize,millerRabin:millerRabin,divide_:divide_,trim:trim,primes:primes,findPrimes:findPrimes,getSeed:getSeed,divMod:divMod,subMod:subMod,twoToThe:twoToThe,bigInt2bits:bigInt2bits,ba2bigInt:ba2bigInt}}),function(root,factory){"function"==typeof define&&define.amd?define(factory):"undefined"!=typeof module&&module.exports?module.exports=factory():root.CryptoJS=factory()}(this,function(){var CryptoJS=CryptoJS||function(Math,undefined){var C={},C_lib=C.lib={},Base=C_lib.Base=function(){function F(){}return{extend:function(overrides){F.prototype=this;var subtype=new F;return overrides&&subtype.mixIn(overrides),subtype.hasOwnProperty("init")||(subtype.init=function(){subtype.$super.init.apply(this,arguments)}),subtype.init.prototype=subtype,subtype.$super=this,subtype},create:function(){var instance=this.extend();return instance.init.apply(instance,arguments),instance},init:function(){},mixIn:function(properties){for(var propertyName in properties)properties.hasOwnProperty(propertyName)&&(this[propertyName]=properties[propertyName]);properties.hasOwnProperty("toString")&&(this.toString=properties.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),WordArray=C_lib.WordArray=Base.extend({init:function(words,sigBytes){words=this.words=words||[],sigBytes!=undefined?this.sigBytes=sigBytes:this.sigBytes=4*words.length},toString:function(encoder){return(encoder||Hex).stringify(this)},concat:function(wordArray){var thisWords=this.words,thatWords=wordArray.words,thisSigBytes=this.sigBytes,thatSigBytes=wordArray.sigBytes;if(this.clamp(),thisSigBytes%4)for(var i=0;i<thatSigBytes;i++){var thatByte=thatWords[i>>>2]>>>24-i%4*8&255;thisWords[thisSigBytes+i>>>2]|=thatByte<<24-(thisSigBytes+i)%4*8}else if(thatWords.length>65535)for(var i=0;i<thatSigBytes;i+=4)thisWords[thisSigBytes+i>>>2]=thatWords[i>>>2];else thisWords.push.apply(thisWords,thatWords);return this.sigBytes+=thatSigBytes,this},clamp:function(){var words=this.words,sigBytes=this.sigBytes;words[sigBytes>>>2]&=4294967295<<32-sigBytes%4*8,words.length=Math.ceil(sigBytes/4)},clone:function(){var clone=Base.clone.call(this);return clone.words=this.words.slice(0),clone},random:function(nBytes){for(var words=[],i=0;i<nBytes;i+=4)words.push(4294967296*Math.random()|0);return new WordArray.init(words,nBytes)}}),C_enc=C.enc={},Hex=C_enc.Hex={stringify:function(wordArray){for(var words=wordArray.words,sigBytes=wordArray.sigBytes,hexChars=[],i=0;i<sigBytes;i++){var bite=words[i>>>2]>>>24-i%4*8&255;hexChars.push((bite>>>4).toString(16)),hexChars.push((15&bite).toString(16))}return hexChars.join("")},parse:function(hexStr){for(var hexStrLength=hexStr.length,words=[],i=0;i<hexStrLength;i+=2)words[i>>>3]|=parseInt(hexStr.substr(i,2),16)<<24-i%8*4;return new WordArray.init(words,hexStrLength/2)}},Latin1=C_enc.Latin1={stringify:function(wordArray){for(var words=wordArray.words,sigBytes=wordArray.sigBytes,latin1Chars=[],i=0;i<sigBytes;i++){var bite=words[i>>>2]>>>24-i%4*8&255;latin1Chars.push(String.fromCharCode(bite))}return latin1Chars.join("")},parse:function(latin1Str){for(var latin1StrLength=latin1Str.length,words=[],i=0;i<latin1StrLength;i++)words[i>>>2]|=(255&latin1Str.charCodeAt(i))<<24-i%4*8;return new WordArray.init(words,latin1StrLength)}},Utf8=C_enc.Utf8={stringify:function(wordArray){try{return decodeURIComponent(escape(Latin1.stringify(wordArray)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(utf8Str){return Latin1.parse(unescape(encodeURIComponent(utf8Str)))}},BufferedBlockAlgorithm=C_lib.BufferedBlockAlgorithm=Base.extend({reset:function(){this._data=new WordArray.init,this._nDataBytes=0},_append:function(data){"string"==typeof data&&(data=Utf8.parse(data)),this._data.concat(data),this._nDataBytes+=data.sigBytes},_process:function(doFlush){var data=this._data,dataWords=data.words,dataSigBytes=data.sigBytes,blockSize=this.blockSize,blockSizeBytes=4*blockSize,nBlocksReady=dataSigBytes/blockSizeBytes;nBlocksReady=doFlush?Math.ceil(nBlocksReady):Math.max((0|nBlocksReady)-this._minBufferSize,0);var nWordsReady=nBlocksReady*blockSize,nBytesReady=Math.min(4*nWordsReady,dataSigBytes);if(nWordsReady){for(var offset=0;offset<nWordsReady;offset+=blockSize)this._doProcessBlock(dataWords,offset);var processedWords=dataWords.splice(0,nWordsReady);data.sigBytes-=nBytesReady}return new WordArray.init(processedWords,nBytesReady)},clone:function(){var clone=Base.clone.call(this);return clone._data=this._data.clone(),clone},_minBufferSize:0}),C_algo=(C_lib.Hasher=BufferedBlockAlgorithm.extend({cfg:Base.extend(),init:function(cfg){this.cfg=this.cfg.extend(cfg),this.reset()},reset:function(){BufferedBlockAlgorithm.reset.call(this),this._doReset()},update:function(messageUpdate){return this._append(messageUpdate),this._process(),this},finalize:function(messageUpdate){messageUpdate&&this._append(messageUpdate);var hash=this._doFinalize();return hash},blockSize:16,_createHelper:function(hasher){return function(message,cfg){return new hasher.init(cfg).finalize(message)}},_createHmacHelper:function(hasher){return function(message,key){return new C_algo.HMAC.init(hasher,key).finalize(message)}}}),C.algo={});return C}(Math);return function(){var C=CryptoJS,C_lib=C.lib,WordArray=C_lib.WordArray,C_enc=C.enc;C_enc.Base64={stringify:function(wordArray){var words=wordArray.words,sigBytes=wordArray.sigBytes,map=this._map;wordArray.clamp();for(var base64Chars=[],i=0;i<sigBytes;i+=3)for(var byte1=words[i>>>2]>>>24-i%4*8&255,byte2=words[i+1>>>2]>>>24-(i+1)%4*8&255,byte3=words[i+2>>>2]>>>24-(i+2)%4*8&255,triplet=byte1<<16|byte2<<8|byte3,j=0;j<4&&i+.75*j<sigBytes;j++)base64Chars.push(map.charAt(triplet>>>6*(3-j)&63));var paddingChar=map.charAt(64);if(paddingChar)for(;base64Chars.length%4;)base64Chars.push(paddingChar);return base64Chars.join("")},parse:function(base64Str){var base64StrLength=base64Str.length,map=this._map,paddingChar=map.charAt(64);if(paddingChar){var paddingIndex=base64Str.indexOf(paddingChar);paddingIndex!=-1&&(base64StrLength=paddingIndex)}for(var words=[],nBytes=0,i=0;i<base64StrLength;i++)if(i%4){var bits1=map.indexOf(base64Str.charAt(i-1))<<i%4*2,bits2=map.indexOf(base64Str.charAt(i))>>>6-i%4*2;words[nBytes>>>2]|=(bits1|bits2)<<24-nBytes%4*8,nBytes++}return WordArray.create(words,nBytes)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),CryptoJS.lib.Cipher||function(undefined){var C=CryptoJS,C_lib=C.lib,Base=C_lib.Base,WordArray=C_lib.WordArray,BufferedBlockAlgorithm=C_lib.BufferedBlockAlgorithm,C_enc=C.enc,Base64=(C_enc.Utf8,C_enc.Base64),C_algo=C.algo,EvpKDF=C_algo.EvpKDF,Cipher=C_lib.Cipher=BufferedBlockAlgorithm.extend({cfg:Base.extend(),createEncryptor:function(key,cfg){return this.create(this._ENC_XFORM_MODE,key,cfg)},createDecryptor:function(key,cfg){return this.create(this._DEC_XFORM_MODE,key,cfg)},init:function(xformMode,key,cfg){this.cfg=this.cfg.extend(cfg),this._xformMode=xformMode,this._key=key,this.reset()},reset:function(){BufferedBlockAlgorithm.reset.call(this),this._doReset()},process:function(dataUpdate){return this._append(dataUpdate),this._process()},finalize:function(dataUpdate){dataUpdate&&this._append(dataUpdate);var finalProcessedData=this._doFinalize();return finalProcessedData},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function selectCipherStrategy(key){return"string"==typeof key?PasswordBasedCipher:SerializableCipher}return function(cipher){return{encrypt:function(message,key,cfg){return selectCipherStrategy(key).encrypt(cipher,message,key,cfg)},decrypt:function(ciphertext,key,cfg){return selectCipherStrategy(key).decrypt(cipher,ciphertext,key,cfg)}}}}()}),C_mode=(C_lib.StreamCipher=Cipher.extend({_doFinalize:function(){var finalProcessedBlocks=this._process(!0);return finalProcessedBlocks},blockSize:1}),C.mode={}),BlockCipherMode=C_lib.BlockCipherMode=Base.extend({createEncryptor:function(cipher,iv){return this.Encryptor.create(cipher,iv)},createDecryptor:function(cipher,iv){return this.Decryptor.create(cipher,iv)},init:function(cipher,iv){this._cipher=cipher,this._iv=iv}}),CBC=C_mode.CBC=function(){function xorBlock(words,offset,blockSize){var iv=this._iv;if(iv){var block=iv;this._iv=undefined}else var block=this._prevBlock;for(var i=0;i<blockSize;i++)words[offset+i]^=block[i]}var CBC=BlockCipherMode.extend();return CBC.Encryptor=CBC.extend({processBlock:function(words,offset){var cipher=this._cipher,blockSize=cipher.blockSize;xorBlock.call(this,words,offset,blockSize),cipher.encryptBlock(words,offset),this._prevBlock=words.slice(offset,offset+blockSize)}}),CBC.Decryptor=CBC.extend({processBlock:function(words,offset){var cipher=this._cipher,blockSize=cipher.blockSize,thisBlock=words.slice(offset,offset+blockSize);cipher.decryptBlock(words,offset),xorBlock.call(this,words,offset,blockSize),this._prevBlock=thisBlock}}),CBC}(),C_pad=C.pad={},Pkcs7=C_pad.Pkcs7={pad:function(data,blockSize){for(var blockSizeBytes=4*blockSize,nPaddingBytes=blockSizeBytes-data.sigBytes%blockSizeBytes,paddingWord=nPaddingBytes<<24|nPaddingBytes<<16|nPaddingBytes<<8|nPaddingBytes,paddingWords=[],i=0;i<nPaddingBytes;i+=4)paddingWords.push(paddingWord);var padding=WordArray.create(paddingWords,nPaddingBytes);data.concat(padding)},unpad:function(data){var nPaddingBytes=255&data.words[data.sigBytes-1>>>2];data.sigBytes-=nPaddingBytes}},CipherParams=(C_lib.BlockCipher=Cipher.extend({cfg:Cipher.cfg.extend({mode:CBC,padding:Pkcs7}),reset:function(){Cipher.reset.call(this);var cfg=this.cfg,iv=cfg.iv,mode=cfg.mode;if(this._xformMode==this._ENC_XFORM_MODE)var modeCreator=mode.createEncryptor;else{var modeCreator=mode.createDecryptor;this._minBufferSize=1}this._mode=modeCreator.call(mode,this,iv&&iv.words)},_doProcessBlock:function(words,offset){this._mode.processBlock(words,offset)},_doFinalize:function(){var padding=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){padding.pad(this._data,this.blockSize);var finalProcessedBlocks=this._process(!0)}else{var finalProcessedBlocks=this._process(!0);padding.unpad(finalProcessedBlocks)}return finalProcessedBlocks},blockSize:4}),C_lib.CipherParams=Base.extend({init:function(cipherParams){this.mixIn(cipherParams)},toString:function(formatter){return(formatter||this.formatter).stringify(this)}})),C_format=C.format={},OpenSSLFormatter=C_format.OpenSSL={stringify:function(cipherParams){var ciphertext=cipherParams.ciphertext,salt=cipherParams.salt;if(salt)var wordArray=WordArray.create([1398893684,1701076831]).concat(salt).concat(ciphertext);else var wordArray=ciphertext;return wordArray.toString(Base64)},parse:function(openSSLStr){var ciphertext=Base64.parse(openSSLStr),ciphertextWords=ciphertext.words;if(1398893684==ciphertextWords[0]&&1701076831==ciphertextWords[1]){var salt=WordArray.create(ciphertextWords.slice(2,4));ciphertextWords.splice(0,4),ciphertext.sigBytes-=16}return CipherParams.create({ciphertext:ciphertext,salt:salt})}},SerializableCipher=C_lib.SerializableCipher=Base.extend({cfg:Base.extend({format:OpenSSLFormatter}),encrypt:function(cipher,message,key,cfg){cfg=this.cfg.extend(cfg);var encryptor=cipher.createEncryptor(key,cfg),ciphertext=encryptor.finalize(message),cipherCfg=encryptor.cfg;return CipherParams.create({ciphertext:ciphertext,key:key,iv:cipherCfg.iv,algorithm:cipher,mode:cipherCfg.mode,padding:cipherCfg.padding,blockSize:cipher.blockSize,formatter:cfg.format})},decrypt:function(cipher,ciphertext,key,cfg){cfg=this.cfg.extend(cfg),ciphertext=this._parse(ciphertext,cfg.format);var plaintext=cipher.createDecryptor(key,cfg).finalize(ciphertext.ciphertext);return plaintext},_parse:function(ciphertext,format){return"string"==typeof ciphertext?format.parse(ciphertext,this):ciphertext}}),C_kdf=C.kdf={},OpenSSLKdf=C_kdf.OpenSSL={execute:function(password,keySize,ivSize,salt){salt||(salt=WordArray.random(8));var key=EvpKDF.create({keySize:keySize+ivSize}).compute(password,salt),iv=WordArray.create(key.words.slice(keySize),4*ivSize);return key.sigBytes=4*keySize,CipherParams.create({key:key,iv:iv,salt:salt})}},PasswordBasedCipher=C_lib.PasswordBasedCipher=SerializableCipher.extend({cfg:SerializableCipher.cfg.extend({kdf:OpenSSLKdf}),encrypt:function(cipher,message,password,cfg){cfg=this.cfg.extend(cfg);var derivedParams=cfg.kdf.execute(password,cipher.keySize,cipher.ivSize);cfg.iv=derivedParams.iv;var ciphertext=SerializableCipher.encrypt.call(this,cipher,message,derivedParams.key,cfg);return ciphertext.mixIn(derivedParams),ciphertext},decrypt:function(cipher,ciphertext,password,cfg){cfg=this.cfg.extend(cfg),ciphertext=this._parse(ciphertext,cfg.format);var derivedParams=cfg.kdf.execute(password,cipher.keySize,cipher.ivSize,ciphertext.salt);cfg.iv=derivedParams.iv;var plaintext=SerializableCipher.decrypt.call(this,cipher,ciphertext,derivedParams.key,cfg);return plaintext}})}(),function(){var C=CryptoJS,C_lib=C.lib,BlockCipher=C_lib.BlockCipher,C_algo=C.algo,SBOX=[],INV_SBOX=[],SUB_MIX_0=[],SUB_MIX_1=[],SUB_MIX_2=[],SUB_MIX_3=[],INV_SUB_MIX_0=[],INV_SUB_MIX_1=[],INV_SUB_MIX_2=[],INV_SUB_MIX_3=[];!function(){for(var d=[],i=0;i<256;i++)i<128?d[i]=i<<1:d[i]=i<<1^283;for(var x=0,xi=0,i=0;i<256;i++){var sx=xi^xi<<1^xi<<2^xi<<3^xi<<4;sx=sx>>>8^255&sx^99,SBOX[x]=sx,INV_SBOX[sx]=x;var x2=d[x],x4=d[x2],x8=d[x4],t=257*d[sx]^16843008*sx;SUB_MIX_0[x]=t<<24|t>>>8,SUB_MIX_1[x]=t<<16|t>>>16,SUB_MIX_2[x]=t<<8|t>>>24,SUB_MIX_3[x]=t;var t=16843009*x8^65537*x4^257*x2^16843008*x;INV_SUB_MIX_0[sx]=t<<24|t>>>8,INV_SUB_MIX_1[sx]=t<<16|t>>>16,INV_SUB_MIX_2[sx]=t<<8|t>>>24,INV_SUB_MIX_3[sx]=t,x?(x=x2^d[d[d[x8^x2]]],xi^=d[d[xi]]):x=xi=1}}();var RCON=[0,1,2,4,8,16,32,64,128,27,54],AES=C_algo.AES=BlockCipher.extend({_doReset:function(){for(var key=this._key,keyWords=key.words,keySize=key.sigBytes/4,nRounds=this._nRounds=keySize+6,ksRows=4*(nRounds+1),keySchedule=this._keySchedule=[],ksRow=0;ksRow<ksRows;ksRow++)if(ksRow<keySize)keySchedule[ksRow]=keyWords[ksRow];else{var t=keySchedule[ksRow-1];ksRow%keySize?keySize>6&&ksRow%keySize==4&&(t=SBOX[t>>>24]<<24|SBOX[t>>>16&255]<<16|SBOX[t>>>8&255]<<8|SBOX[255&t]):(t=t<<8|t>>>24,t=SBOX[t>>>24]<<24|SBOX[t>>>16&255]<<16|SBOX[t>>>8&255]<<8|SBOX[255&t],t^=RCON[ksRow/keySize|0]<<24),keySchedule[ksRow]=keySchedule[ksRow-keySize]^t}for(var invKeySchedule=this._invKeySchedule=[],invKsRow=0;invKsRow<ksRows;invKsRow++){var ksRow=ksRows-invKsRow;if(invKsRow%4)var t=keySchedule[ksRow];else var t=keySchedule[ksRow-4];invKsRow<4||ksRow<=4?invKeySchedule[invKsRow]=t:invKeySchedule[invKsRow]=INV_SUB_MIX_0[SBOX[t>>>24]]^INV_SUB_MIX_1[SBOX[t>>>16&255]]^INV_SUB_MIX_2[SBOX[t>>>8&255]]^INV_SUB_MIX_3[SBOX[255&t]]}},encryptBlock:function(M,offset){this._doCryptBlock(M,offset,this._keySchedule,SUB_MIX_0,SUB_MIX_1,SUB_MIX_2,SUB_MIX_3,SBOX)},decryptBlock:function(M,offset){var t=M[offset+1];M[offset+1]=M[offset+3],M[offset+3]=t,this._doCryptBlock(M,offset,this._invKeySchedule,INV_SUB_MIX_0,INV_SUB_MIX_1,INV_SUB_MIX_2,INV_SUB_MIX_3,INV_SBOX);var t=M[offset+1];M[offset+1]=M[offset+3],M[offset+3]=t},_doCryptBlock:function(M,offset,keySchedule,SUB_MIX_0,SUB_MIX_1,SUB_MIX_2,SUB_MIX_3,SBOX){for(var nRounds=this._nRounds,s0=M[offset]^keySchedule[0],s1=M[offset+1]^keySchedule[1],s2=M[offset+2]^keySchedule[2],s3=M[offset+3]^keySchedule[3],ksRow=4,round=1;round<nRounds;round++){var t0=SUB_MIX_0[s0>>>24]^SUB_MIX_1[s1>>>16&255]^SUB_MIX_2[s2>>>8&255]^SUB_MIX_3[255&s3]^keySchedule[ksRow++],t1=SUB_MIX_0[s1>>>24]^SUB_MIX_1[s2>>>16&255]^SUB_MIX_2[s3>>>8&255]^SUB_MIX_3[255&s0]^keySchedule[ksRow++],t2=SUB_MIX_0[s2>>>24]^SUB_MIX_1[s3>>>16&255]^SUB_MIX_2[s0>>>8&255]^SUB_MIX_3[255&s1]^keySchedule[ksRow++],t3=SUB_MIX_0[s3>>>24]^SUB_MIX_1[s0>>>16&255]^SUB_MIX_2[s1>>>8&255]^SUB_MIX_3[255&s2]^keySchedule[ksRow++];s0=t0,s1=t1,s2=t2,s3=t3}var t0=(SBOX[s0>>>24]<<24|SBOX[s1>>>16&255]<<16|SBOX[s2>>>8&255]<<8|SBOX[255&s3])^keySchedule[ksRow++],t1=(SBOX[s1>>>24]<<24|SBOX[s2>>>16&255]<<16|SBOX[s3>>>8&255]<<8|SBOX[255&s0])^keySchedule[ksRow++],t2=(SBOX[s2>>>24]<<24|SBOX[s3>>>16&255]<<16|SBOX[s0>>>8&255]<<8|SBOX[255&s1])^keySchedule[ksRow++],t3=(SBOX[s3>>>24]<<24|SBOX[s0>>>16&255]<<16|SBOX[s1>>>8&255]<<8|SBOX[255&s2])^keySchedule[ksRow++];M[offset]=t0,M[offset+1]=t1,M[offset+2]=t2,M[offset+3]=t3},keySize:8});C.AES=BlockCipher._createHelper(AES)}(),function(){var C=CryptoJS,C_lib=C.lib,WordArray=C_lib.WordArray,Hasher=C_lib.Hasher,C_algo=C.algo,W=[],SHA1=C_algo.SHA1=Hasher.extend({_doReset:function(){this._hash=new WordArray.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(M,offset){for(var H=this._hash.words,a=H[0],b=H[1],c=H[2],d=H[3],e=H[4],i=0;i<80;i++){if(i<16)W[i]=0|M[offset+i];else{var n=W[i-3]^W[i-8]^W[i-14]^W[i-16];W[i]=n<<1|n>>>31}var t=(a<<5|a>>>27)+e+W[i];t+=i<20?(b&c|~b&d)+1518500249:i<40?(b^c^d)+1859775393:i<60?(b&c|b&d|c&d)-1894007588:(b^c^d)-899497514,e=d,d=c,c=b<<30|b>>>2,b=a,a=t}H[0]=H[0]+a|0,H[1]=H[1]+b|0,H[2]=H[2]+c|0,H[3]=H[3]+d|0,H[4]=H[4]+e|0},_doFinalize:function(){var data=this._data,dataWords=data.words,nBitsTotal=8*this._nDataBytes,nBitsLeft=8*data.sigBytes;
+return dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32,dataWords[(nBitsLeft+64>>>9<<4)+14]=Math.floor(nBitsTotal/4294967296),dataWords[(nBitsLeft+64>>>9<<4)+15]=nBitsTotal,data.sigBytes=4*dataWords.length,this._process(),this._hash},clone:function(){var clone=Hasher.clone.call(this);return clone._hash=this._hash.clone(),clone}});C.SHA1=Hasher._createHelper(SHA1),C.HmacSHA1=Hasher._createHmacHelper(SHA1)}(),function(Math){var C=CryptoJS,C_lib=C.lib,WordArray=C_lib.WordArray,Hasher=C_lib.Hasher,C_algo=C.algo,H=[],K=[];!function(){function isPrime(n){for(var sqrtN=Math.sqrt(n),factor=2;factor<=sqrtN;factor++)if(!(n%factor))return!1;return!0}function getFractionalBits(n){return 4294967296*(n-(0|n))|0}for(var n=2,nPrime=0;nPrime<64;)isPrime(n)&&(nPrime<8&&(H[nPrime]=getFractionalBits(Math.pow(n,.5))),K[nPrime]=getFractionalBits(Math.pow(n,1/3)),nPrime++),n++}();var W=[],SHA256=C_algo.SHA256=Hasher.extend({_doReset:function(){this._hash=new WordArray.init(H.slice(0))},_doProcessBlock:function(M,offset){for(var H=this._hash.words,a=H[0],b=H[1],c=H[2],d=H[3],e=H[4],f=H[5],g=H[6],h=H[7],i=0;i<64;i++){if(i<16)W[i]=0|M[offset+i];else{var gamma0x=W[i-15],gamma0=(gamma0x<<25|gamma0x>>>7)^(gamma0x<<14|gamma0x>>>18)^gamma0x>>>3,gamma1x=W[i-2],gamma1=(gamma1x<<15|gamma1x>>>17)^(gamma1x<<13|gamma1x>>>19)^gamma1x>>>10;W[i]=gamma0+W[i-7]+gamma1+W[i-16]}var ch=e&f^~e&g,maj=a&b^a&c^b&c,sigma0=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22),sigma1=(e<<26|e>>>6)^(e<<21|e>>>11)^(e<<7|e>>>25),t1=h+sigma1+ch+K[i]+W[i],t2=sigma0+maj;h=g,g=f,f=e,e=d+t1|0,d=c,c=b,b=a,a=t1+t2|0}H[0]=H[0]+a|0,H[1]=H[1]+b|0,H[2]=H[2]+c|0,H[3]=H[3]+d|0,H[4]=H[4]+e|0,H[5]=H[5]+f|0,H[6]=H[6]+g|0,H[7]=H[7]+h|0},_doFinalize:function(){var data=this._data,dataWords=data.words,nBitsTotal=8*this._nDataBytes,nBitsLeft=8*data.sigBytes;return dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32,dataWords[(nBitsLeft+64>>>9<<4)+14]=Math.floor(nBitsTotal/4294967296),dataWords[(nBitsLeft+64>>>9<<4)+15]=nBitsTotal,data.sigBytes=4*dataWords.length,this._process(),this._hash},clone:function(){var clone=Hasher.clone.call(this);return clone._hash=this._hash.clone(),clone}});C.SHA256=Hasher._createHelper(SHA256),C.HmacSHA256=Hasher._createHmacHelper(SHA256)}(Math),function(){var C=CryptoJS,C_lib=C.lib,Base=C_lib.Base,C_enc=C.enc,Utf8=C_enc.Utf8,C_algo=C.algo;C_algo.HMAC=Base.extend({init:function(hasher,key){hasher=this._hasher=new hasher.init,"string"==typeof key&&(key=Utf8.parse(key));var hasherBlockSize=hasher.blockSize,hasherBlockSizeBytes=4*hasherBlockSize;key.sigBytes>hasherBlockSizeBytes&&(key=hasher.finalize(key)),key.clamp();for(var oKey=this._oKey=key.clone(),iKey=this._iKey=key.clone(),oKeyWords=oKey.words,iKeyWords=iKey.words,i=0;i<hasherBlockSize;i++)oKeyWords[i]^=1549556828,iKeyWords[i]^=909522486;oKey.sigBytes=iKey.sigBytes=hasherBlockSizeBytes,this.reset()},reset:function(){var hasher=this._hasher;hasher.reset(),hasher.update(this._iKey)},update:function(messageUpdate){return this._hasher.update(messageUpdate),this},finalize:function(messageUpdate){var hasher=this._hasher,innerHash=hasher.finalize(messageUpdate);hasher.reset();var hmac=hasher.finalize(this._oKey.clone().concat(innerHash));return hmac}})}(),CryptoJS.pad.NoPadding={pad:function(){},unpad:function(){}},CryptoJS.mode.CTR=function(){var CTR=CryptoJS.lib.BlockCipherMode.extend(),Encryptor=CTR.Encryptor=CTR.extend({processBlock:function(words,offset){var cipher=this._cipher,blockSize=cipher.blockSize,iv=this._iv,counter=this._counter;iv&&(counter=this._counter=iv.slice(0),this._iv=void 0);var keystream=counter.slice(0);cipher.encryptBlock(keystream,0),counter[blockSize-1]=counter[blockSize-1]+1|0;for(var i=0;i<blockSize;i++)words[offset+i]^=keystream[i]}});return CTR.Decryptor=Encryptor,CTR}(),CryptoJS}),/*!
* EventEmitter v4.2.3 - git.io/ee
* Oliver Caldwell
* MIT license
@@ -86,11 +87,11 @@ uc:"1f1ed-1f1f2",isCanonical:!1},":flag_hk:":{unicode:["1f1ed-1f1f0"],fname:"1f1
uc:"1f38b",isCanonical:!0},":crossed_flags:":{unicode:["1f38c"],fname:"1f38c",uc:"1f38c",isCanonical:!0},":call_me:":{unicode:["1f919"],fname:"1f919",uc:"1f919",isCanonical:!0},":call_me_hand:":{unicode:["1f919"],fname:"1f919",uc:"1f919",isCanonical:!1},":bamboo:":{unicode:["1f38d"],fname:"1f38d",uc:"1f38d",isCanonical:!0},":man_dancing:":{unicode:["1f57a"],fname:"1f57a",uc:"1f57a",isCanonical:!0},":male_dancer:":{unicode:["1f57a"],fname:"1f57a",uc:"1f57a",isCanonical:!1},":dolls:":{unicode:["1f38e"],fname:"1f38e",uc:"1f38e",isCanonical:!0},":selfie:":{unicode:["1f933"],fname:"1f933",uc:"1f933",isCanonical:!0},":flags:":{unicode:["1f38f"],fname:"1f38f",uc:"1f38f",isCanonical:!0},":pregnant_woman:":{unicode:["1f930"],fname:"1f930",uc:"1f930",isCanonical:!0},":expecting_woman:":{unicode:["1f930"],fname:"1f930",uc:"1f930",isCanonical:!1},":wind_chime:":{unicode:["1f390"],fname:"1f390",uc:"1f390",isCanonical:!0},":face_palm:":{unicode:["1f926"],fname:"1f926",uc:"1f926",isCanonical:!0},":facepalm:":{unicode:["1f926"],fname:"1f926",uc:"1f926",isCanonical:!1},":shrug:":{unicode:["1f937"],fname:"1f937",uc:"1f937",isCanonical:!0},":rice_scene:":{unicode:["1f391"],fname:"1f391",uc:"1f391",isCanonical:!0},":school_satchel:":{unicode:["1f392"],fname:"1f392",uc:"1f392",isCanonical:!0},":mortar_board:":{unicode:["1f393"],fname:"1f393",uc:"1f393",isCanonical:!0},":carousel_horse:":{unicode:["1f3a0"],fname:"1f3a0",uc:"1f3a0",isCanonical:!0},":ferris_wheel:":{unicode:["1f3a1"],fname:"1f3a1",uc:"1f3a1",isCanonical:!0},":roller_coaster:":{unicode:["1f3a2"],fname:"1f3a2",uc:"1f3a2",isCanonical:!0},":fishing_pole_and_fish:":{unicode:["1f3a3"],fname:"1f3a3",uc:"1f3a3",isCanonical:!0},":microphone:":{unicode:["1f3a4"],fname:"1f3a4",uc:"1f3a4",isCanonical:!0},":movie_camera:":{unicode:["1f3a5"],fname:"1f3a5",uc:"1f3a5",isCanonical:!0},":cinema:":{unicode:["1f3a6"],fname:"1f3a6",uc:"1f3a6",isCanonical:!0},":headphones:":{unicode:["1f3a7"],fname:"1f3a7",uc:"1f3a7",isCanonical:!0},":mrs_claus:":{unicode:["1f936"],fname:"1f936",uc:"1f936",isCanonical:!0},":mother_christmas:":{unicode:["1f936"],fname:"1f936",uc:"1f936",isCanonical:!1},":art:":{unicode:["1f3a8"],fname:"1f3a8",uc:"1f3a8",isCanonical:!0},":man_in_tuxedo:":{unicode:["1f935"],fname:"1f935",uc:"1f935",isCanonical:!0},":tophat:":{unicode:["1f3a9"],fname:"1f3a9",uc:"1f3a9",isCanonical:!0},":circus_tent:":{unicode:["1f3aa"],fname:"1f3aa",uc:"1f3aa",isCanonical:!0},":prince:":{unicode:["1f934"],fname:"1f934",uc:"1f934",isCanonical:!0},":ticket:":{unicode:["1f3ab"],fname:"1f3ab",uc:"1f3ab",isCanonical:!0},":clapper:":{unicode:["1f3ac"],fname:"1f3ac",uc:"1f3ac",isCanonical:!0},":performing_arts:":{unicode:["1f3ad"],fname:"1f3ad",uc:"1f3ad",isCanonical:!0},":sneezing_face:":{unicode:["1f927"],fname:"1f927",uc:"1f927",isCanonical:!0},":sneeze:":{unicode:["1f927"],fname:"1f927",uc:"1f927",isCanonical:!1},":video_game:":{unicode:["1f3ae"],fname:"1f3ae",uc:"1f3ae",isCanonical:!0},":dart:":{unicode:["1f3af"],fname:"1f3af",uc:"1f3af",isCanonical:!0},":slot_machine:":{unicode:["1f3b0"],fname:"1f3b0",uc:"1f3b0",isCanonical:!0},":8ball:":{unicode:["1f3b1"],fname:"1f3b1",uc:"1f3b1",isCanonical:!0},":game_die:":{unicode:["1f3b2"],fname:"1f3b2",uc:"1f3b2",isCanonical:!0},":bowling:":{unicode:["1f3b3"],fname:"1f3b3",uc:"1f3b3",isCanonical:!0},":flower_playing_cards:":{unicode:["1f3b4"],fname:"1f3b4",uc:"1f3b4",isCanonical:!0},":lying_face:":{unicode:["1f925"],fname:"1f925",uc:"1f925",isCanonical:!0},":liar:":{unicode:["1f925"],fname:"1f925",uc:"1f925",isCanonical:!1},":musical_note:":{unicode:["1f3b5"],fname:"1f3b5",uc:"1f3b5",isCanonical:!0},":notes:":{unicode:["1f3b6"],fname:"1f3b6",uc:"1f3b6",isCanonical:!0},":saxophone:":{unicode:["1f3b7"],fname:"1f3b7",uc:"1f3b7",isCanonical:!0},":drooling_face:":{unicode:["1f924"],fname:"1f924",uc:"1f924",isCanonical:!0},":drool:":{unicode:["1f924"],fname:"1f924",uc:"1f924",isCanonical:!1},":guitar:":{unicode:["1f3b8"],fname:"1f3b8",uc:"1f3b8",isCanonical:!0},":musical_keyboard:":{unicode:["1f3b9"],fname:"1f3b9",uc:"1f3b9",isCanonical:!0},":trumpet:":{unicode:["1f3ba"],fname:"1f3ba",uc:"1f3ba",isCanonical:!0},":rofl:":{unicode:["1f923"],fname:"1f923",uc:"1f923",isCanonical:!0},":rolling_on_the_floor_laughing:":{unicode:["1f923"],fname:"1f923",uc:"1f923",isCanonical:!1},":violin:":{unicode:["1f3bb"],fname:"1f3bb",uc:"1f3bb",isCanonical:!0},":musical_score:":{unicode:["1f3bc"],fname:"1f3bc",uc:"1f3bc",isCanonical:!0},":running_shirt_with_sash:":{unicode:["1f3bd"],fname:"1f3bd",uc:"1f3bd",isCanonical:!0},":nauseated_face:":{unicode:["1f922"],fname:"1f922",uc:"1f922",isCanonical:!0},":sick:":{unicode:["1f922"],fname:"1f922",uc:"1f922",isCanonical:!1},":tennis:":{unicode:["1f3be"],fname:"1f3be",uc:"1f3be",isCanonical:!0},":ski:":{unicode:["1f3bf"],fname:"1f3bf",uc:"1f3bf",isCanonical:!0},":basketball:":{unicode:["1f3c0"],fname:"1f3c0",uc:"1f3c0",isCanonical:!0},":checkered_flag:":{unicode:["1f3c1"],fname:"1f3c1",uc:"1f3c1",isCanonical:!0},":clown:":{unicode:["1f921"],fname:"1f921",uc:"1f921",isCanonical:!0},":clown_face:":{unicode:["1f921"],fname:"1f921",uc:"1f921",isCanonical:!1},":snowboarder:":{unicode:["1f3c2"],fname:"1f3c2",uc:"1f3c2",isCanonical:!0},":runner:":{unicode:["1f3c3"],fname:"1f3c3",uc:"1f3c3",isCanonical:!0},":surfer:":{unicode:["1f3c4"],fname:"1f3c4",uc:"1f3c4",isCanonical:!0},":trophy:":{unicode:["1f3c6"],fname:"1f3c6",uc:"1f3c6",isCanonical:!0},":football:":{unicode:["1f3c8"],fname:"1f3c8",uc:"1f3c8",isCanonical:!0},":swimmer:":{unicode:["1f3ca"],fname:"1f3ca",uc:"1f3ca",isCanonical:!0},":house:":{unicode:["1f3e0"],fname:"1f3e0",uc:"1f3e0",isCanonical:!0},":house_with_garden:":{unicode:["1f3e1"],fname:"1f3e1",uc:"1f3e1",isCanonical:!0},":office:":{unicode:["1f3e2"],fname:"1f3e2",uc:"1f3e2",isCanonical:!0},":post_office:":{unicode:["1f3e3"],fname:"1f3e3",uc:"1f3e3",isCanonical:!0},":hospital:":{unicode:["1f3e5"],fname:"1f3e5",uc:"1f3e5",isCanonical:!0},":bank:":{unicode:["1f3e6"],fname:"1f3e6",uc:"1f3e6",isCanonical:!0},":atm:":{unicode:["1f3e7"],fname:"1f3e7",uc:"1f3e7",isCanonical:!0},":hotel:":{unicode:["1f3e8"],fname:"1f3e8",uc:"1f3e8",isCanonical:!0},":love_hotel:":{unicode:["1f3e9"],fname:"1f3e9",uc:"1f3e9",isCanonical:!0},":convenience_store:":{unicode:["1f3ea"],fname:"1f3ea",uc:"1f3ea",isCanonical:!0},":school:":{unicode:["1f3eb"],fname:"1f3eb",uc:"1f3eb",isCanonical:!0},":department_store:":{unicode:["1f3ec"],fname:"1f3ec",uc:"1f3ec",isCanonical:!0},":cowboy:":{unicode:["1f920"],fname:"1f920",uc:"1f920",isCanonical:!0},":face_with_cowboy_hat:":{unicode:["1f920"],fname:"1f920",uc:"1f920",isCanonical:!1},":factory:":{unicode:["1f3ed"],fname:"1f3ed",uc:"1f3ed",isCanonical:!0},":izakaya_lantern:":{unicode:["1f3ee"],fname:"1f3ee",uc:"1f3ee",isCanonical:!0},":japanese_castle:":{unicode:["1f3ef"],fname:"1f3ef",uc:"1f3ef",isCanonical:!0},":european_castle:":{unicode:["1f3f0"],fname:"1f3f0",uc:"1f3f0",isCanonical:!0},":snail:":{unicode:["1f40c"],fname:"1f40c",uc:"1f40c",isCanonical:!0},":snake:":{unicode:["1f40d"],fname:"1f40d",uc:"1f40d",isCanonical:!0},":racehorse:":{unicode:["1f40e"],fname:"1f40e",uc:"1f40e",isCanonical:!0},":sheep:":{unicode:["1f411"],fname:"1f411",uc:"1f411",isCanonical:!0},":monkey:":{unicode:["1f412"],fname:"1f412",uc:"1f412",isCanonical:!0},":chicken:":{unicode:["1f414"],fname:"1f414",uc:"1f414",isCanonical:!0},":boar:":{unicode:["1f417"],fname:"1f417",uc:"1f417",isCanonical:!0},":elephant:":{unicode:["1f418"],fname:"1f418",uc:"1f418",isCanonical:!0},":octopus:":{unicode:["1f419"],fname:"1f419",uc:"1f419",isCanonical:!0},":shell:":{unicode:["1f41a"],fname:"1f41a",uc:"1f41a",isCanonical:!0},":bug:":{unicode:["1f41b"],fname:"1f41b",uc:"1f41b",isCanonical:!0},":ant:":{unicode:["1f41c"],fname:"1f41c",uc:"1f41c",isCanonical:!0},":bee:":{unicode:["1f41d"],fname:"1f41d",uc:"1f41d",isCanonical:!0},":beetle:":{unicode:["1f41e"],fname:"1f41e",uc:"1f41e",isCanonical:!0},":fish:":{unicode:["1f41f"],fname:"1f41f",uc:"1f41f",isCanonical:!0},":tropical_fish:":{unicode:["1f420"],fname:"1f420",uc:"1f420",isCanonical:!0},":blowfish:":{unicode:["1f421"],fname:"1f421",uc:"1f421",isCanonical:!0},":turtle:":{unicode:["1f422"],fname:"1f422",uc:"1f422",isCanonical:!0},":hatching_chick:":{unicode:["1f423"],fname:"1f423",uc:"1f423",isCanonical:!0},":baby_chick:":{unicode:["1f424"],fname:"1f424",uc:"1f424",isCanonical:!0},":hatched_chick:":{unicode:["1f425"],fname:"1f425",uc:"1f425",isCanonical:!0},":bird:":{unicode:["1f426"],fname:"1f426",uc:"1f426",isCanonical:!0},":penguin:":{unicode:["1f427"],fname:"1f427",uc:"1f427",isCanonical:!0},":koala:":{unicode:["1f428"],fname:"1f428",uc:"1f428",isCanonical:!0},":poodle:":{unicode:["1f429"],fname:"1f429",uc:"1f429",isCanonical:!0},":camel:":{unicode:["1f42b"],fname:"1f42b",uc:"1f42b",isCanonical:!0},":dolphin:":{unicode:["1f42c"],fname:"1f42c",uc:"1f42c",isCanonical:!0},":mouse:":{unicode:["1f42d"],fname:"1f42d",uc:"1f42d",isCanonical:!0},":cow:":{unicode:["1f42e"],fname:"1f42e",uc:"1f42e",isCanonical:!0},":tiger:":{unicode:["1f42f"],fname:"1f42f",uc:"1f42f",isCanonical:!0},":rabbit:":{unicode:["1f430"],fname:"1f430",uc:"1f430",isCanonical:!0},":cat:":{unicode:["1f431"],fname:"1f431",uc:"1f431",isCanonical:!0},":dragon_face:":{unicode:["1f432"],fname:"1f432",uc:"1f432",isCanonical:!0},":whale:":{unicode:["1f433"],fname:"1f433",uc:"1f433",isCanonical:!0},":horse:":{unicode:["1f434"],fname:"1f434",uc:"1f434",isCanonical:!0},":monkey_face:":{unicode:["1f435"],fname:"1f435",uc:"1f435",isCanonical:!0},":dog:":{unicode:["1f436"],fname:"1f436",uc:"1f436",isCanonical:!0},":pig:":{unicode:["1f437"],fname:"1f437",uc:"1f437",isCanonical:!0},":frog:":{unicode:["1f438"],fname:"1f438",uc:"1f438",isCanonical:!0},":hamster:":{unicode:["1f439"],fname:"1f439",uc:"1f439",isCanonical:!0},":wolf:":{unicode:["1f43a"],fname:"1f43a",uc:"1f43a",isCanonical:!0},":bear:":{unicode:["1f43b"],fname:"1f43b",uc:"1f43b",isCanonical:!0},":panda_face:":{unicode:["1f43c"],fname:"1f43c",uc:"1f43c",isCanonical:!0},":pig_nose:":{unicode:["1f43d"],fname:"1f43d",uc:"1f43d",isCanonical:!0},":feet:":{unicode:["1f43e"],fname:"1f43e",uc:"1f43e",isCanonical:!0},":paw_prints:":{unicode:["1f43e"],fname:"1f43e",uc:"1f43e",isCanonical:!1},":eyes:":{unicode:["1f440"],fname:"1f440",uc:"1f440",isCanonical:!0},":ear:":{unicode:["1f442"],fname:"1f442",uc:"1f442",isCanonical:!0},":nose:":{unicode:["1f443"],fname:"1f443",uc:"1f443",isCanonical:!0},":lips:":{unicode:["1f444"],fname:"1f444",uc:"1f444",isCanonical:!0},":tongue:":{unicode:["1f445"],fname:"1f445",uc:"1f445",isCanonical:!0},":point_up_2:":{unicode:["1f446"],fname:"1f446",uc:"1f446",isCanonical:!0},":point_down:":{unicode:["1f447"],fname:"1f447",uc:"1f447",isCanonical:!0},":point_left:":{unicode:["1f448"],fname:"1f448",uc:"1f448",isCanonical:!0},":point_right:":{unicode:["1f449"],fname:"1f449",uc:"1f449",isCanonical:!0},":punch:":{unicode:["1f44a"],fname:"1f44a",uc:"1f44a",isCanonical:!0},":wave:":{unicode:["1f44b"],fname:"1f44b",uc:"1f44b",isCanonical:!0},":ok_hand:":{unicode:["1f44c"],fname:"1f44c",uc:"1f44c",isCanonical:!0},":thumbsup:":{unicode:["1f44d"],fname:"1f44d",uc:"1f44d",isCanonical:!0},":+1:":{unicode:["1f44d"],fname:"1f44d",uc:"1f44d",isCanonical:!1},":thumbup:":{unicode:["1f44d"],fname:"1f44d",uc:"1f44d",isCanonical:!1},":thumbsdown:":{unicode:["1f44e"],fname:"1f44e",uc:"1f44e",isCanonical:!0},":-1:":{unicode:["1f44e"],fname:"1f44e",uc:"1f44e",isCanonical:!1},":thumbdown:":{unicode:["1f44e"],fname:"1f44e",uc:"1f44e",isCanonical:!1},":clap:":{unicode:["1f44f"],fname:"1f44f",uc:"1f44f",isCanonical:!0},":open_hands:":{unicode:["1f450"],fname:"1f450",uc:"1f450",isCanonical:!0},":crown:":{unicode:["1f451"],fname:"1f451",uc:"1f451",isCanonical:!0},":womans_hat:":{unicode:["1f452"],fname:"1f452",uc:"1f452",isCanonical:!0},":eyeglasses:":{unicode:["1f453"],fname:"1f453",uc:"1f453",isCanonical:!0},":necktie:":{unicode:["1f454"],fname:"1f454",uc:"1f454",isCanonical:!0},":shirt:":{unicode:["1f455"],fname:"1f455",uc:"1f455",isCanonical:!0},":jeans:":{unicode:["1f456"],fname:"1f456",uc:"1f456",isCanonical:!0},":dress:":{unicode:["1f457"],fname:"1f457",uc:"1f457",isCanonical:!0},":kimono:":{unicode:["1f458"],fname:"1f458",uc:"1f458",isCanonical:!0},":bikini:":{unicode:["1f459"],fname:"1f459",uc:"1f459",isCanonical:!0},":womans_clothes:":{unicode:["1f45a"],fname:"1f45a",uc:"1f45a",isCanonical:!0},":purse:":{unicode:["1f45b"],fname:"1f45b",uc:"1f45b",isCanonical:!0},":handbag:":{unicode:["1f45c"],fname:"1f45c",uc:"1f45c",isCanonical:!0},":pouch:":{unicode:["1f45d"],fname:"1f45d",uc:"1f45d",isCanonical:!0},":mans_shoe:":{unicode:["1f45e"],fname:"1f45e",uc:"1f45e",isCanonical:!0},":athletic_shoe:":{unicode:["1f45f"],fname:"1f45f",uc:"1f45f",isCanonical:!0},":high_heel:":{unicode:["1f460"],fname:"1f460",uc:"1f460",isCanonical:!0},":sandal:":{unicode:["1f461"],fname:"1f461",uc:"1f461",isCanonical:!0},":boot:":{unicode:["1f462"],fname:"1f462",uc:"1f462",isCanonical:!0},":footprints:":{unicode:["1f463"],fname:"1f463",uc:"1f463",isCanonical:!0},":bust_in_silhouette:":{unicode:["1f464"],fname:"1f464",uc:"1f464",isCanonical:!0},":boy:":{unicode:["1f466"],fname:"1f466",uc:"1f466",isCanonical:!0},":girl:":{unicode:["1f467"],fname:"1f467",uc:"1f467",isCanonical:!0},":man:":{unicode:["1f468"],fname:"1f468",uc:"1f468",isCanonical:!0},":woman:":{unicode:["1f469"],fname:"1f469",uc:"1f469",isCanonical:!0},":family:":{unicode:["1f46a"],fname:"1f46a",uc:"1f46a",isCanonical:!0},":couple:":{unicode:["1f46b"],fname:"1f46b",uc:"1f46b",isCanonical:!0},":cop:":{unicode:["1f46e"],fname:"1f46e",uc:"1f46e",isCanonical:!0},":dancers:":{unicode:["1f46f"],fname:"1f46f",uc:"1f46f",isCanonical:!0},":bride_with_veil:":{unicode:["1f470"],fname:"1f470",uc:"1f470",isCanonical:!0},":person_with_blond_hair:":{unicode:["1f471"],fname:"1f471",uc:"1f471",isCanonical:!0},":man_with_gua_pi_mao:":{unicode:["1f472"],fname:"1f472",uc:"1f472",isCanonical:!0},":man_with_turban:":{unicode:["1f473"],fname:"1f473",uc:"1f473",isCanonical:!0},":older_man:":{unicode:["1f474"],fname:"1f474",uc:"1f474",isCanonical:!0},":older_woman:":{unicode:["1f475"],fname:"1f475",uc:"1f475",isCanonical:!0},":grandma:":{unicode:["1f475"],fname:"1f475",uc:"1f475",isCanonical:!1},":baby:":{unicode:["1f476"],fname:"1f476",uc:"1f476",isCanonical:!0},":construction_worker:":{unicode:["1f477"],fname:"1f477",uc:"1f477",isCanonical:!0},":princess:":{unicode:["1f478"],fname:"1f478",uc:"1f478",isCanonical:!0},":japanese_ogre:":{unicode:["1f479"],fname:"1f479",uc:"1f479",isCanonical:!0},":japanese_goblin:":{unicode:["1f47a"],fname:"1f47a",uc:"1f47a",isCanonical:!0},":ghost:":{unicode:["1f47b"],fname:"1f47b",uc:"1f47b",isCanonical:!0},":angel:":{unicode:["1f47c"],fname:"1f47c",uc:"1f47c",isCanonical:!0},":alien:":{unicode:["1f47d"],fname:"1f47d",uc:"1f47d",isCanonical:!0},":space_invader:":{unicode:["1f47e"],fname:"1f47e",uc:"1f47e",isCanonical:!0},":imp:":{unicode:["1f47f"],fname:"1f47f",uc:"1f47f",isCanonical:!0},":skull:":{unicode:["1f480"],fname:"1f480",uc:"1f480",isCanonical:!0},":skeleton:":{unicode:["1f480"],fname:"1f480",uc:"1f480",isCanonical:!1},":card_index:":{unicode:["1f4c7"],fname:"1f4c7",uc:"1f4c7",isCanonical:!0},":information_desk_person:":{unicode:["1f481"],fname:"1f481",uc:"1f481",isCanonical:!0},":guardsman:":{unicode:["1f482"],fname:"1f482",uc:"1f482",isCanonical:!0},":dancer:":{unicode:["1f483"],fname:"1f483",uc:"1f483",isCanonical:!0},":lipstick:":{unicode:["1f484"],fname:"1f484",uc:"1f484",isCanonical:!0},":nail_care:":{unicode:["1f485"],fname:"1f485",uc:"1f485",isCanonical:!0},":ledger:":{unicode:["1f4d2"],fname:"1f4d2",uc:"1f4d2",isCanonical:!0},":massage:":{unicode:["1f486"],fname:"1f486",uc:"1f486",isCanonical:!0},":notebook:":{unicode:["1f4d3"],fname:"1f4d3",uc:"1f4d3",isCanonical:!0},":haircut:":{unicode:["1f487"],fname:"1f487",uc:"1f487",isCanonical:!0},":notebook_with_decorative_cover:":{unicode:["1f4d4"],fname:"1f4d4",uc:"1f4d4",isCanonical:!0},":barber:":{unicode:["1f488"],fname:"1f488",uc:"1f488",isCanonical:!0},":closed_book:":{unicode:["1f4d5"],fname:"1f4d5",uc:"1f4d5",isCanonical:!0},":syringe:":{unicode:["1f489"],fname:"1f489",uc:"1f489",isCanonical:!0},":book:":{unicode:["1f4d6"],fname:"1f4d6",uc:"1f4d6",isCanonical:!0},":pill:":{unicode:["1f48a"],fname:"1f48a",uc:"1f48a",isCanonical:!0},":green_book:":{unicode:["1f4d7"],fname:"1f4d7",uc:"1f4d7",isCanonical:!0},":kiss:":{unicode:["1f48b"],fname:"1f48b",uc:"1f48b",isCanonical:!0},":blue_book:":{unicode:["1f4d8"],fname:"1f4d8",uc:"1f4d8",isCanonical:!0},":love_letter:":{unicode:["1f48c"],fname:"1f48c",uc:"1f48c",isCanonical:!0},":orange_book:":{unicode:["1f4d9"],fname:"1f4d9",uc:"1f4d9",isCanonical:!0},":ring:":{unicode:["1f48d"],fname:"1f48d",uc:"1f48d",isCanonical:!0},":books:":{unicode:["1f4da"],fname:"1f4da",uc:"1f4da",isCanonical:!0},":gem:":{unicode:["1f48e"],fname:"1f48e",uc:"1f48e",isCanonical:!0},":name_badge:":{unicode:["1f4db"],fname:"1f4db",uc:"1f4db",isCanonical:!0},":couplekiss:":{unicode:["1f48f"],fname:"1f48f",uc:"1f48f",isCanonical:!0},":scroll:":{unicode:["1f4dc"],fname:"1f4dc",uc:"1f4dc",isCanonical:!0},":bouquet:":{unicode:["1f490"],fname:"1f490",uc:"1f490",isCanonical:!0},":pencil:":{unicode:["1f4dd"],fname:"1f4dd",uc:"1f4dd",isCanonical:!0},":couple_with_heart:":{unicode:["1f491"],fname:"1f491",uc:"1f491",isCanonical:!0},":telephone_receiver:":{unicode:["1f4de"],fname:"1f4de",uc:"1f4de",isCanonical:!0},":wedding:":{unicode:["1f492"],fname:"1f492",uc:"1f492",isCanonical:!0},":pager:":{unicode:["1f4df"],fname:"1f4df",uc:"1f4df",isCanonical:!0},":fax:":{unicode:["1f4e0"],fname:"1f4e0",uc:"1f4e0",isCanonical:!0},":heartbeat:":{unicode:["1f493"],fname:"1f493",uc:"1f493",isCanonical:!0},":satellite:":{unicode:["1f4e1"],fname:"1f4e1",uc:"1f4e1",isCanonical:!0},":loudspeaker:":{unicode:["1f4e2"],fname:"1f4e2",uc:"1f4e2",isCanonical:!0},":broken_heart:":{unicode:["1f494"],fname:"1f494",uc:"1f494",isCanonical:!0},":mega:":{unicode:["1f4e3"],fname:"1f4e3",uc:"1f4e3",isCanonical:!0},":outbox_tray:":{unicode:["1f4e4"],fname:"1f4e4",uc:"1f4e4",isCanonical:!0},":two_hearts:":{unicode:["1f495"],fname:"1f495",uc:"1f495",isCanonical:!0},":inbox_tray:":{unicode:["1f4e5"],fname:"1f4e5",uc:"1f4e5",isCanonical:!0},":package:":{unicode:["1f4e6"],fname:"1f4e6",uc:"1f4e6",isCanonical:!0},":sparkling_heart:":{unicode:["1f496"],fname:"1f496",uc:"1f496",isCanonical:!0},":e-mail:":{unicode:["1f4e7"],fname:"1f4e7",uc:"1f4e7",isCanonical:!0},":email:":{unicode:["1f4e7"],fname:"1f4e7",uc:"1f4e7",isCanonical:!1},":incoming_envelope:":{unicode:["1f4e8"],fname:"1f4e8",uc:"1f4e8",isCanonical:!0},":heartpulse:":{unicode:["1f497"],fname:"1f497",uc:"1f497",isCanonical:!0},":envelope_with_arrow:":{unicode:["1f4e9"],fname:"1f4e9",uc:"1f4e9",isCanonical:!0},":mailbox_closed:":{unicode:["1f4ea"],fname:"1f4ea",uc:"1f4ea",isCanonical:!0},":cupid:":{unicode:["1f498"],fname:"1f498",uc:"1f498",isCanonical:!0},":mailbox:":{unicode:["1f4eb"],fname:"1f4eb",uc:"1f4eb",isCanonical:!0},":postbox:":{unicode:["1f4ee"],fname:"1f4ee",uc:"1f4ee",isCanonical:!0},":blue_heart:":{unicode:["1f499"],fname:"1f499",uc:"1f499",isCanonical:!0},":newspaper:":{unicode:["1f4f0"],fname:"1f4f0",uc:"1f4f0",isCanonical:!0},":iphone:":{unicode:["1f4f1"],fname:"1f4f1",uc:"1f4f1",isCanonical:!0},":green_heart:":{unicode:["1f49a"],fname:"1f49a",uc:"1f49a",isCanonical:!0},":calling:":{unicode:["1f4f2"],fname:"1f4f2",uc:"1f4f2",isCanonical:!0},":vibration_mode:":{unicode:["1f4f3"],fname:"1f4f3",uc:"1f4f3",isCanonical:!0},":yellow_heart:":{unicode:["1f49b"],fname:"1f49b",uc:"1f49b",isCanonical:!0},":mobile_phone_off:":{unicode:["1f4f4"],fname:"1f4f4",uc:"1f4f4",isCanonical:!0},":signal_strength:":{unicode:["1f4f6"],fname:"1f4f6",uc:"1f4f6",isCanonical:!0},":purple_heart:":{unicode:["1f49c"],fname:"1f49c",uc:"1f49c",isCanonical:!0},":camera:":{unicode:["1f4f7"],fname:"1f4f7",uc:"1f4f7",isCanonical:!0},":video_camera:":{unicode:["1f4f9"],fname:"1f4f9",uc:"1f4f9",isCanonical:!0},":gift_heart:":{unicode:["1f49d"],fname:"1f49d",uc:"1f49d",isCanonical:!0},":tv:":{unicode:["1f4fa"],fname:"1f4fa",uc:"1f4fa",isCanonical:!0},":radio:":{unicode:["1f4fb"],fname:"1f4fb",uc:"1f4fb",isCanonical:!0},":revolving_hearts:":{unicode:["1f49e"],fname:"1f49e",uc:"1f49e",isCanonical:!0},":vhs:":{unicode:["1f4fc"],fname:"1f4fc",uc:"1f4fc",isCanonical:!0},":arrows_clockwise:":{unicode:["1f503"],fname:"1f503",uc:"1f503",isCanonical:!0},":heart_decoration:":{unicode:["1f49f"],fname:"1f49f",uc:"1f49f",isCanonical:!0},":loud_sound:":{unicode:["1f50a"],fname:"1f50a",uc:"1f50a",isCanonical:!0},":battery:":{unicode:["1f50b"],fname:"1f50b",uc:"1f50b",isCanonical:!0},":diamond_shape_with_a_dot_inside:":{unicode:["1f4a0"],fname:"1f4a0",uc:"1f4a0",isCanonical:!0},":electric_plug:":{unicode:["1f50c"],fname:"1f50c",uc:"1f50c",isCanonical:!0},":mag:":{unicode:["1f50d"],fname:"1f50d",uc:"1f50d",isCanonical:!0},":bulb:":{unicode:["1f4a1"],fname:"1f4a1",uc:"1f4a1",isCanonical:!0},":mag_right:":{unicode:["1f50e"],fname:"1f50e",uc:"1f50e",isCanonical:!0},":lock_with_ink_pen:":{unicode:["1f50f"],fname:"1f50f",uc:"1f50f",isCanonical:!0},":anger:":{unicode:["1f4a2"],fname:"1f4a2",uc:"1f4a2",isCanonical:!0},":closed_lock_with_key:":{unicode:["1f510"],fname:"1f510",uc:"1f510",isCanonical:!0},":key:":{unicode:["1f511"],fname:"1f511",uc:"1f511",isCanonical:!0},":bomb:":{unicode:["1f4a3"],fname:"1f4a3",uc:"1f4a3",isCanonical:!0},":lock:":{unicode:["1f512"],fname:"1f512",uc:"1f512",isCanonical:!0},":unlock:":{unicode:["1f513"],fname:"1f513",uc:"1f513",isCanonical:!0},":zzz:":{unicode:["1f4a4"],fname:"1f4a4",uc:"1f4a4",isCanonical:!0},":bell:":{unicode:["1f514"],fname:"1f514",uc:"1f514",isCanonical:!0},":bookmark:":{unicode:["1f516"],fname:"1f516",uc:"1f516",isCanonical:!0},":boom:":{unicode:["1f4a5"],fname:"1f4a5",uc:"1f4a5",isCanonical:!0},":link:":{unicode:["1f517"],fname:"1f517",uc:"1f517",isCanonical:!0},":radio_button:":{unicode:["1f518"],fname:"1f518",uc:"1f518",isCanonical:!0},":sweat_drops:":{unicode:["1f4a6"],fname:"1f4a6",uc:"1f4a6",isCanonical:!0},":back:":{unicode:["1f519"],fname:"1f519",uc:"1f519",isCanonical:!0},":end:":{unicode:["1f51a"],fname:"1f51a",uc:"1f51a",isCanonical:!0},":droplet:":{unicode:["1f4a7"],fname:"1f4a7",uc:"1f4a7",isCanonical:!0},":on:":{unicode:["1f51b"],fname:"1f51b",uc:"1f51b",isCanonical:!0},":soon:":{unicode:["1f51c"],fname:"1f51c",uc:"1f51c",isCanonical:!0},":dash:":{unicode:["1f4a8"],fname:"1f4a8",uc:"1f4a8",isCanonical:!0},":top:":{unicode:["1f51d"],fname:"1f51d",uc:"1f51d",isCanonical:!0},":underage:":{unicode:["1f51e"],fname:"1f51e",uc:"1f51e",isCanonical:!0},":poop:":{unicode:["1f4a9"],fname:"1f4a9",uc:"1f4a9",isCanonical:!0},":shit:":{unicode:["1f4a9"],fname:"1f4a9",uc:"1f4a9",isCanonical:!1},":hankey:":{unicode:["1f4a9"],fname:"1f4a9",uc:"1f4a9",isCanonical:!1},":poo:":{unicode:["1f4a9"],fname:"1f4a9",uc:"1f4a9",isCanonical:!1},":keycap_ten:":{unicode:["1f51f"],fname:"1f51f",uc:"1f51f",isCanonical:!0},":muscle:":{unicode:["1f4aa"],fname:"1f4aa",uc:"1f4aa",isCanonical:!0},":capital_abcd:":{unicode:["1f520"],fname:"1f520",uc:"1f520",isCanonical:!0},":abcd:":{unicode:["1f521"],fname:"1f521",uc:"1f521",isCanonical:!0},":dizzy:":{unicode:["1f4ab"],fname:"1f4ab",uc:"1f4ab",isCanonical:!0},":1234:":{unicode:["1f522"],fname:"1f522",uc:"1f522",isCanonical:!0},":symbols:":{unicode:["1f523"],fname:"1f523",uc:"1f523",isCanonical:!0},":speech_balloon:":{unicode:["1f4ac"],fname:"1f4ac",uc:"1f4ac",isCanonical:!0},":abc:":{unicode:["1f524"],fname:"1f524",uc:"1f524",isCanonical:!0},":fire:":{unicode:["1f525"],fname:"1f525",uc:"1f525",isCanonical:!0},":flame:":{unicode:["1f525"],fname:"1f525",uc:"1f525",isCanonical:!1},":white_flower:":{unicode:["1f4ae"],fname:"1f4ae",uc:"1f4ae",isCanonical:!0},":flashlight:":{unicode:["1f526"],fname:"1f526",uc:"1f526",isCanonical:!0},":wrench:":{unicode:["1f527"],fname:"1f527",uc:"1f527",isCanonical:!0},":100:":{unicode:["1f4af"],fname:"1f4af",uc:"1f4af",isCanonical:!0},":hammer:":{unicode:["1f528"],fname:"1f528",uc:"1f528",isCanonical:!0},":nut_and_bolt:":{unicode:["1f529"],fname:"1f529",uc:"1f529",isCanonical:!0},":moneybag:":{unicode:["1f4b0"],fname:"1f4b0",uc:"1f4b0",isCanonical:!0},":knife:":{unicode:["1f52a"],fname:"1f52a",uc:"1f52a",isCanonical:!0},":gun:":{unicode:["1f52b"],fname:"1f52b",uc:"1f52b",isCanonical:!0},":currency_exchange:":{unicode:["1f4b1"],fname:"1f4b1",uc:"1f4b1",isCanonical:!0},":crystal_ball:":{unicode:["1f52e"],fname:"1f52e",uc:"1f52e",isCanonical:!0},":heavy_dollar_sign:":{unicode:["1f4b2"],fname:"1f4b2",uc:"1f4b2",isCanonical:!0},":six_pointed_star:":{unicode:["1f52f"],fname:"1f52f",uc:"1f52f",isCanonical:!0},":credit_card:":{unicode:["1f4b3"],fname:"1f4b3",uc:"1f4b3",isCanonical:!0},":beginner:":{unicode:["1f530"],fname:"1f530",uc:"1f530",isCanonical:!0},":trident:":{unicode:["1f531"],fname:"1f531",uc:"1f531",isCanonical:!0},":yen:":{unicode:["1f4b4"],fname:"1f4b4",uc:"1f4b4",isCanonical:!0},":black_square_button:":{unicode:["1f532"],fname:"1f532",uc:"1f532",isCanonical:!0},":white_square_button:":{unicode:["1f533"],fname:"1f533",uc:"1f533",isCanonical:!0},":dollar:":{unicode:["1f4b5"],fname:"1f4b5",uc:"1f4b5",isCanonical:!0},":red_circle:":{unicode:["1f534"],fname:"1f534",uc:"1f534",isCanonical:!0},":blue_circle:":{unicode:["1f535"],fname:"1f535",uc:"1f535",isCanonical:!0},":money_with_wings:":{unicode:["1f4b8"],fname:"1f4b8",uc:"1f4b8",isCanonical:!0},":large_orange_diamond:":{unicode:["1f536"],fname:"1f536",uc:"1f536",isCanonical:!0},":large_blue_diamond:":{unicode:["1f537"],fname:"1f537",uc:"1f537",isCanonical:!0},":chart:":{unicode:["1f4b9"],fname:"1f4b9",uc:"1f4b9",isCanonical:!0},":small_orange_diamond:":{unicode:["1f538"],fname:"1f538",uc:"1f538",isCanonical:!0},":small_blue_diamond:":{unicode:["1f539"],fname:"1f539",uc:"1f539",isCanonical:!0},":seat:":{unicode:["1f4ba"],fname:"1f4ba",uc:"1f4ba",isCanonical:!0},":small_red_triangle:":{unicode:["1f53a"],fname:"1f53a",uc:"1f53a",isCanonical:!0},":small_red_triangle_down:":{unicode:["1f53b"],fname:"1f53b",uc:"1f53b",isCanonical:!0},":computer:":{unicode:["1f4bb"],fname:"1f4bb",uc:"1f4bb",isCanonical:!0},":arrow_up_small:":{unicode:["1f53c"],fname:"1f53c",uc:"1f53c",isCanonical:!0},":briefcase:":{unicode:["1f4bc"],fname:"1f4bc",uc:"1f4bc",isCanonical:!0},":arrow_down_small:":{unicode:["1f53d"],fname:"1f53d",uc:"1f53d",isCanonical:!0},":clock1:":{unicode:["1f550"],fname:"1f550",uc:"1f550",isCanonical:!0},":minidisc:":{unicode:["1f4bd"],fname:"1f4bd",uc:"1f4bd",isCanonical:!0},":clock2:":{unicode:["1f551"],fname:"1f551",uc:"1f551",isCanonical:!0},":floppy_disk:":{unicode:["1f4be"],fname:"1f4be",uc:"1f4be",isCanonical:!0},":clock3:":{unicode:["1f552"],fname:"1f552",uc:"1f552",isCanonical:!0},":cd:":{unicode:["1f4bf"],fname:"1f4bf",uc:"1f4bf",isCanonical:!0},":clock4:":{unicode:["1f553"],fname:"1f553",uc:"1f553",isCanonical:!0},":dvd:":{unicode:["1f4c0"],fname:"1f4c0",uc:"1f4c0",isCanonical:!0},":clock5:":{unicode:["1f554"],fname:"1f554",uc:"1f554",isCanonical:!0},":clock6:":{unicode:["1f555"],fname:"1f555",uc:"1f555",isCanonical:!0},":file_folder:":{unicode:["1f4c1"],fname:"1f4c1",uc:"1f4c1",isCanonical:!0},":clock7:":{unicode:["1f556"],fname:"1f556",uc:"1f556",isCanonical:!0},":clock8:":{unicode:["1f557"],fname:"1f557",uc:"1f557",isCanonical:!0},":open_file_folder:":{unicode:["1f4c2"],fname:"1f4c2",uc:"1f4c2",isCanonical:!0},":clock9:":{unicode:["1f558"],fname:"1f558",uc:"1f558",isCanonical:!0},":clock10:":{unicode:["1f559"],fname:"1f559",uc:"1f559",isCanonical:!0},":page_with_curl:":{unicode:["1f4c3"],fname:"1f4c3",uc:"1f4c3",isCanonical:!0},":clock11:":{unicode:["1f55a"],fname:"1f55a",uc:"1f55a",isCanonical:!0},":clock12:":{unicode:["1f55b"],fname:"1f55b",uc:"1f55b",isCanonical:!0},":page_facing_up:":{unicode:["1f4c4"],fname:"1f4c4",uc:"1f4c4",isCanonical:!0},":mount_fuji:":{unicode:["1f5fb"],fname:"1f5fb",uc:"1f5fb",isCanonical:!0},":tokyo_tower:":{unicode:["1f5fc"],fname:"1f5fc",uc:"1f5fc",isCanonical:!0},":date:":{unicode:["1f4c5"],fname:"1f4c5",uc:"1f4c5",isCanonical:!0},":statue_of_liberty:":{unicode:["1f5fd"],fname:"1f5fd",uc:"1f5fd",isCanonical:!0},":japan:":{unicode:["1f5fe"],fname:"1f5fe",uc:"1f5fe",isCanonical:!0},":calendar:":{unicode:["1f4c6"],fname:"1f4c6",uc:"1f4c6",isCanonical:!0},":moyai:":{unicode:["1f5ff"],fname:"1f5ff",uc:"1f5ff",isCanonical:!0},":grin:":{unicode:["1f601"],fname:"1f601",uc:"1f601",isCanonical:!0},":joy:":{unicode:["1f602"],fname:"1f602",uc:"1f602",isCanonical:!0},":smiley:":{unicode:["1f603"],fname:"1f603",uc:"1f603",isCanonical:!0},":chart_with_upwards_trend:":{unicode:["1f4c8"],fname:"1f4c8",uc:"1f4c8",isCanonical:!0},":smile:":{unicode:["1f604"],fname:"1f604",uc:"1f604",isCanonical:!0},":sweat_smile:":{unicode:["1f605"],fname:"1f605",uc:"1f605",isCanonical:!0},":chart_with_downwards_trend:":{unicode:["1f4c9"],fname:"1f4c9",uc:"1f4c9",isCanonical:!0},":laughing:":{unicode:["1f606"],fname:"1f606",uc:"1f606",isCanonical:!0},":satisfied:":{unicode:["1f606"],fname:"1f606",uc:"1f606",isCanonical:!1},":wink:":{unicode:["1f609"],fname:"1f609",uc:"1f609",isCanonical:!0},":bar_chart:":{unicode:["1f4ca"],fname:"1f4ca",uc:"1f4ca",isCanonical:!0},":blush:":{unicode:["1f60a"],fname:"1f60a",uc:"1f60a",isCanonical:!0},":yum:":{unicode:["1f60b"],fname:"1f60b",uc:"1f60b",isCanonical:!0},":clipboard:":{unicode:["1f4cb"],fname:"1f4cb",uc:"1f4cb",isCanonical:!0},":relieved:":{unicode:["1f60c"],fname:"1f60c",uc:"1f60c",isCanonical:!0},":heart_eyes:":{unicode:["1f60d"],fname:"1f60d",uc:"1f60d",isCanonical:!0},":pushpin:":{unicode:["1f4cc"],fname:"1f4cc",uc:"1f4cc",isCanonical:!0},":smirk:":{unicode:["1f60f"],fname:"1f60f",uc:"1f60f",isCanonical:!0},":unamused:":{unicode:["1f612"],fname:"1f612",uc:"1f612",isCanonical:!0},":round_pushpin:":{unicode:["1f4cd"],fname:"1f4cd",uc:"1f4cd",isCanonical:!0},":sweat:":{unicode:["1f613"],fname:"1f613",uc:"1f613",isCanonical:!0},":pensive:":{unicode:["1f614"],fname:"1f614",uc:"1f614",isCanonical:!0},":paperclip:":{unicode:["1f4ce"],fname:"1f4ce",uc:"1f4ce",isCanonical:!0},":confounded:":{unicode:["1f616"],fname:"1f616",uc:"1f616",isCanonical:!0},":kissing_heart:":{unicode:["1f618"],fname:"1f618",uc:"1f618",isCanonical:!0},":straight_ruler:":{unicode:["1f4cf"],fname:"1f4cf",uc:"1f4cf",isCanonical:!0},":kissing_closed_eyes:":{unicode:["1f61a"],fname:"1f61a",uc:"1f61a",isCanonical:!0},":stuck_out_tongue_winking_eye:":{unicode:["1f61c"],fname:"1f61c",uc:"1f61c",isCanonical:!0},":triangular_ruler:":{unicode:["1f4d0"],fname:"1f4d0",uc:"1f4d0",isCanonical:!0},":stuck_out_tongue_closed_eyes:":{unicode:["1f61d"],fname:"1f61d",uc:"1f61d",isCanonical:!0},":disappointed:":{unicode:["1f61e"],fname:"1f61e",uc:"1f61e",isCanonical:!0},":bookmark_tabs:":{unicode:["1f4d1"],fname:"1f4d1",uc:"1f4d1",isCanonical:!0},":angry:":{unicode:["1f620"],fname:"1f620",uc:"1f620",isCanonical:!0},":rage:":{unicode:["1f621"],fname:"1f621",uc:"1f621",isCanonical:!0},":cry:":{unicode:["1f622"],fname:"1f622",uc:"1f622",isCanonical:!0},":persevere:":{unicode:["1f623"],fname:"1f623",uc:"1f623",isCanonical:!0},":triumph:":{unicode:["1f624"],fname:"1f624",uc:"1f624",isCanonical:!0},":disappointed_relieved:":{unicode:["1f625"],fname:"1f625",uc:"1f625",isCanonical:!0},":fearful:":{unicode:["1f628"],fname:"1f628",uc:"1f628",isCanonical:!0},":weary:":{unicode:["1f629"],fname:"1f629",uc:"1f629",isCanonical:!0},":sleepy:":{unicode:["1f62a"],fname:"1f62a",uc:"1f62a",isCanonical:!0},":tired_face:":{unicode:["1f62b"],fname:"1f62b",uc:"1f62b",isCanonical:!0},":sob:":{unicode:["1f62d"],fname:"1f62d",uc:"1f62d",isCanonical:!0},":cold_sweat:":{unicode:["1f630"],fname:"1f630",uc:"1f630",isCanonical:!0},":scream:":{unicode:["1f631"],fname:"1f631",uc:"1f631",isCanonical:!0},":astonished:":{unicode:["1f632"],fname:"1f632",uc:"1f632",isCanonical:!0},":flushed:":{unicode:["1f633"],fname:"1f633",uc:"1f633",isCanonical:!0},":dizzy_face:":{unicode:["1f635"],fname:"1f635",uc:"1f635",isCanonical:!0},":mask:":{unicode:["1f637"],fname:"1f637",uc:"1f637",isCanonical:!0},":smile_cat:":{unicode:["1f638"],fname:"1f638",uc:"1f638",isCanonical:!0},
":joy_cat:":{unicode:["1f639"],fname:"1f639",uc:"1f639",isCanonical:!0},":smiley_cat:":{unicode:["1f63a"],fname:"1f63a",uc:"1f63a",isCanonical:!0},":heart_eyes_cat:":{unicode:["1f63b"],fname:"1f63b",uc:"1f63b",isCanonical:!0},":smirk_cat:":{unicode:["1f63c"],fname:"1f63c",uc:"1f63c",isCanonical:!0},":kissing_cat:":{unicode:["1f63d"],fname:"1f63d",uc:"1f63d",isCanonical:!0},":pouting_cat:":{unicode:["1f63e"],fname:"1f63e",uc:"1f63e",isCanonical:!0},":crying_cat_face:":{unicode:["1f63f"],fname:"1f63f",uc:"1f63f",isCanonical:!0},":scream_cat:":{unicode:["1f640"],fname:"1f640",uc:"1f640",isCanonical:!0},":no_good:":{unicode:["1f645"],fname:"1f645",uc:"1f645",isCanonical:!0},":ok_woman:":{unicode:["1f646"],fname:"1f646",uc:"1f646",isCanonical:!0},":bow:":{unicode:["1f647"],fname:"1f647",uc:"1f647",isCanonical:!0},":see_no_evil:":{unicode:["1f648"],fname:"1f648",uc:"1f648",isCanonical:!0},":hear_no_evil:":{unicode:["1f649"],fname:"1f649",uc:"1f649",isCanonical:!0},":speak_no_evil:":{unicode:["1f64a"],fname:"1f64a",uc:"1f64a",isCanonical:!0},":raising_hand:":{unicode:["1f64b"],fname:"1f64b",uc:"1f64b",isCanonical:!0},":raised_hands:":{unicode:["1f64c"],fname:"1f64c",uc:"1f64c",isCanonical:!0},":person_frowning:":{unicode:["1f64d"],fname:"1f64d",uc:"1f64d",isCanonical:!0},":person_with_pouting_face:":{unicode:["1f64e"],fname:"1f64e",uc:"1f64e",isCanonical:!0},":pray:":{unicode:["1f64f"],fname:"1f64f",uc:"1f64f",isCanonical:!0},":rocket:":{unicode:["1f680"],fname:"1f680",uc:"1f680",isCanonical:!0},":railway_car:":{unicode:["1f683"],fname:"1f683",uc:"1f683",isCanonical:!0},":bullettrain_side:":{unicode:["1f684"],fname:"1f684",uc:"1f684",isCanonical:!0},":bullettrain_front:":{unicode:["1f685"],fname:"1f685",uc:"1f685",isCanonical:!0},":metro:":{unicode:["1f687"],fname:"1f687",uc:"1f687",isCanonical:!0},":station:":{unicode:["1f689"],fname:"1f689",uc:"1f689",isCanonical:!0},":bus:":{unicode:["1f68c"],fname:"1f68c",uc:"1f68c",isCanonical:!0},":busstop:":{unicode:["1f68f"],fname:"1f68f",uc:"1f68f",isCanonical:!0},":ambulance:":{unicode:["1f691"],fname:"1f691",uc:"1f691",isCanonical:!0},":fire_engine:":{unicode:["1f692"],fname:"1f692",uc:"1f692",isCanonical:!0},":police_car:":{unicode:["1f693"],fname:"1f693",uc:"1f693",isCanonical:!0},":taxi:":{unicode:["1f695"],fname:"1f695",uc:"1f695",isCanonical:!0},":red_car:":{unicode:["1f697"],fname:"1f697",uc:"1f697",isCanonical:!0},":blue_car:":{unicode:["1f699"],fname:"1f699",uc:"1f699",isCanonical:!0},":truck:":{unicode:["1f69a"],fname:"1f69a",uc:"1f69a",isCanonical:!0},":ship:":{unicode:["1f6a2"],fname:"1f6a2",uc:"1f6a2",isCanonical:!0},":speedboat:":{unicode:["1f6a4"],fname:"1f6a4",uc:"1f6a4",isCanonical:!0},":traffic_light:":{unicode:["1f6a5"],fname:"1f6a5",uc:"1f6a5",isCanonical:!0},":construction:":{unicode:["1f6a7"],fname:"1f6a7",uc:"1f6a7",isCanonical:!0},":rotating_light:":{unicode:["1f6a8"],fname:"1f6a8",uc:"1f6a8",isCanonical:!0},":triangular_flag_on_post:":{unicode:["1f6a9"],fname:"1f6a9",uc:"1f6a9",isCanonical:!0},":door:":{unicode:["1f6aa"],fname:"1f6aa",uc:"1f6aa",isCanonical:!0},":no_entry_sign:":{unicode:["1f6ab"],fname:"1f6ab",uc:"1f6ab",isCanonical:!0},":smoking:":{unicode:["1f6ac"],fname:"1f6ac",uc:"1f6ac",isCanonical:!0},":no_smoking:":{unicode:["1f6ad"],fname:"1f6ad",uc:"1f6ad",isCanonical:!0},":bike:":{unicode:["1f6b2"],fname:"1f6b2",uc:"1f6b2",isCanonical:!0},":walking:":{unicode:["1f6b6"],fname:"1f6b6",uc:"1f6b6",isCanonical:!0},":mens:":{unicode:["1f6b9"],fname:"1f6b9",uc:"1f6b9",isCanonical:!0},":womens:":{unicode:["1f6ba"],fname:"1f6ba",uc:"1f6ba",isCanonical:!0},":restroom:":{unicode:["1f6bb"],fname:"1f6bb",uc:"1f6bb",isCanonical:!0},":baby_symbol:":{unicode:["1f6bc"],fname:"1f6bc",uc:"1f6bc",isCanonical:!0},":toilet:":{unicode:["1f6bd"],fname:"1f6bd",uc:"1f6bd",isCanonical:!0},":wc:":{unicode:["1f6be"],fname:"1f6be",uc:"1f6be",isCanonical:!0},":bath:":{unicode:["1f6c0"],fname:"1f6c0",uc:"1f6c0",isCanonical:!0},":metal:":{unicode:["1f918"],fname:"1f918",uc:"1f918",isCanonical:!0},":sign_of_the_horns:":{unicode:["1f918"],fname:"1f918",uc:"1f918",isCanonical:!1},":grinning:":{unicode:["1f600"],fname:"1f600",uc:"1f600",isCanonical:!0},":innocent:":{unicode:["1f607"],fname:"1f607",uc:"1f607",isCanonical:!0},":smiling_imp:":{unicode:["1f608"],fname:"1f608",uc:"1f608",isCanonical:!0},":sunglasses:":{unicode:["1f60e"],fname:"1f60e",uc:"1f60e",isCanonical:!0},":neutral_face:":{unicode:["1f610"],fname:"1f610",uc:"1f610",isCanonical:!0},":expressionless:":{unicode:["1f611"],fname:"1f611",uc:"1f611",isCanonical:!0},":confused:":{unicode:["1f615"],fname:"1f615",uc:"1f615",isCanonical:!0},":kissing:":{unicode:["1f617"],fname:"1f617",uc:"1f617",isCanonical:!0},":kissing_smiling_eyes:":{unicode:["1f619"],fname:"1f619",uc:"1f619",isCanonical:!0},":stuck_out_tongue:":{unicode:["1f61b"],fname:"1f61b",uc:"1f61b",isCanonical:!0},":worried:":{unicode:["1f61f"],fname:"1f61f",uc:"1f61f",isCanonical:!0},":frowning:":{unicode:["1f626"],fname:"1f626",uc:"1f626",isCanonical:!0},":anguished:":{unicode:["1f627"],fname:"1f627",uc:"1f627",isCanonical:!0},":grimacing:":{unicode:["1f62c"],fname:"1f62c",uc:"1f62c",isCanonical:!0},":open_mouth:":{unicode:["1f62e"],fname:"1f62e",uc:"1f62e",isCanonical:!0},":hushed:":{unicode:["1f62f"],fname:"1f62f",uc:"1f62f",isCanonical:!0},":sleeping:":{unicode:["1f634"],fname:"1f634",uc:"1f634",isCanonical:!0},":no_mouth:":{unicode:["1f636"],fname:"1f636",uc:"1f636",isCanonical:!0},":helicopter:":{unicode:["1f681"],fname:"1f681",uc:"1f681",isCanonical:!0},":steam_locomotive:":{unicode:["1f682"],fname:"1f682",uc:"1f682",isCanonical:!0},":train2:":{unicode:["1f686"],fname:"1f686",uc:"1f686",isCanonical:!0},":light_rail:":{unicode:["1f688"],fname:"1f688",uc:"1f688",isCanonical:!0},":tram:":{unicode:["1f68a"],fname:"1f68a",uc:"1f68a",isCanonical:!0},":oncoming_bus:":{unicode:["1f68d"],fname:"1f68d",uc:"1f68d",isCanonical:!0},":trolleybus:":{unicode:["1f68e"],fname:"1f68e",uc:"1f68e",isCanonical:!0},":minibus:":{unicode:["1f690"],fname:"1f690",uc:"1f690",isCanonical:!0},":oncoming_police_car:":{unicode:["1f694"],fname:"1f694",uc:"1f694",isCanonical:!0},":oncoming_taxi:":{unicode:["1f696"],fname:"1f696",uc:"1f696",isCanonical:!0},":oncoming_automobile:":{unicode:["1f698"],fname:"1f698",uc:"1f698",isCanonical:!0},":articulated_lorry:":{unicode:["1f69b"],fname:"1f69b",uc:"1f69b",isCanonical:!0},":tractor:":{unicode:["1f69c"],fname:"1f69c",uc:"1f69c",isCanonical:!0},":monorail:":{unicode:["1f69d"],fname:"1f69d",uc:"1f69d",isCanonical:!0},":mountain_railway:":{unicode:["1f69e"],fname:"1f69e",uc:"1f69e",isCanonical:!0},":suspension_railway:":{unicode:["1f69f"],fname:"1f69f",uc:"1f69f",isCanonical:!0},":mountain_cableway:":{unicode:["1f6a0"],fname:"1f6a0",uc:"1f6a0",isCanonical:!0},":aerial_tramway:":{unicode:["1f6a1"],fname:"1f6a1",uc:"1f6a1",isCanonical:!0},":rowboat:":{unicode:["1f6a3"],fname:"1f6a3",uc:"1f6a3",isCanonical:!0},":vertical_traffic_light:":{unicode:["1f6a6"],fname:"1f6a6",uc:"1f6a6",isCanonical:!0},":put_litter_in_its_place:":{unicode:["1f6ae"],fname:"1f6ae",uc:"1f6ae",isCanonical:!0},":do_not_litter:":{unicode:["1f6af"],fname:"1f6af",uc:"1f6af",isCanonical:!0},":potable_water:":{unicode:["1f6b0"],fname:"1f6b0",uc:"1f6b0",isCanonical:!0},":non-potable_water:":{unicode:["1f6b1"],fname:"1f6b1",uc:"1f6b1",isCanonical:!0},":no_bicycles:":{unicode:["1f6b3"],fname:"1f6b3",uc:"1f6b3",isCanonical:!0},":bicyclist:":{unicode:["1f6b4"],fname:"1f6b4",uc:"1f6b4",isCanonical:!0},":mountain_bicyclist:":{unicode:["1f6b5"],fname:"1f6b5",uc:"1f6b5",isCanonical:!0},":no_pedestrians:":{unicode:["1f6b7"],fname:"1f6b7",uc:"1f6b7",isCanonical:!0},":children_crossing:":{unicode:["1f6b8"],fname:"1f6b8",uc:"1f6b8",isCanonical:!0},":shower:":{unicode:["1f6bf"],fname:"1f6bf",uc:"1f6bf",isCanonical:!0},":bathtub:":{unicode:["1f6c1"],fname:"1f6c1",uc:"1f6c1",isCanonical:!0},":passport_control:":{unicode:["1f6c2"],fname:"1f6c2",uc:"1f6c2",isCanonical:!0},":customs:":{unicode:["1f6c3"],fname:"1f6c3",uc:"1f6c3",isCanonical:!0},":baggage_claim:":{unicode:["1f6c4"],fname:"1f6c4",uc:"1f6c4",isCanonical:!0},":left_luggage:":{unicode:["1f6c5"],fname:"1f6c5",uc:"1f6c5",isCanonical:!0},":earth_africa:":{unicode:["1f30d"],fname:"1f30d",uc:"1f30d",isCanonical:!0},":earth_americas:":{unicode:["1f30e"],fname:"1f30e",uc:"1f30e",isCanonical:!0},":globe_with_meridians:":{unicode:["1f310"],fname:"1f310",uc:"1f310",isCanonical:!0},":waxing_crescent_moon:":{unicode:["1f312"],fname:"1f312",uc:"1f312",isCanonical:!0},":waning_gibbous_moon:":{unicode:["1f316"],fname:"1f316",uc:"1f316",isCanonical:!0},":last_quarter_moon:":{unicode:["1f317"],fname:"1f317",uc:"1f317",isCanonical:!0},":waning_crescent_moon:":{unicode:["1f318"],fname:"1f318",uc:"1f318",isCanonical:!0},":new_moon_with_face:":{unicode:["1f31a"],fname:"1f31a",uc:"1f31a",isCanonical:!0},":last_quarter_moon_with_face:":{unicode:["1f31c"],fname:"1f31c",uc:"1f31c",isCanonical:!0},":full_moon_with_face:":{unicode:["1f31d"],fname:"1f31d",uc:"1f31d",isCanonical:!0},":sun_with_face:":{unicode:["1f31e"],fname:"1f31e",uc:"1f31e",isCanonical:!0},":evergreen_tree:":{unicode:["1f332"],fname:"1f332",uc:"1f332",isCanonical:!0},":deciduous_tree:":{unicode:["1f333"],fname:"1f333",uc:"1f333",isCanonical:!0},":lemon:":{unicode:["1f34b"],fname:"1f34b",uc:"1f34b",isCanonical:!0},":pear:":{unicode:["1f350"],fname:"1f350",uc:"1f350",isCanonical:!0},":baby_bottle:":{unicode:["1f37c"],fname:"1f37c",uc:"1f37c",isCanonical:!0},":horse_racing:":{unicode:["1f3c7"],fname:"1f3c7",uc:"1f3c7",isCanonical:!0},":rugby_football:":{unicode:["1f3c9"],fname:"1f3c9",uc:"1f3c9",isCanonical:!0},":european_post_office:":{unicode:["1f3e4"],fname:"1f3e4",uc:"1f3e4",isCanonical:!0},":rat:":{unicode:["1f400"],fname:"1f400",uc:"1f400",isCanonical:!0},":mouse2:":{unicode:["1f401"],fname:"1f401",uc:"1f401",isCanonical:!0},":ox:":{unicode:["1f402"],fname:"1f402",uc:"1f402",isCanonical:!0},":water_buffalo:":{unicode:["1f403"],fname:"1f403",uc:"1f403",isCanonical:!0},":cow2:":{unicode:["1f404"],fname:"1f404",uc:"1f404",isCanonical:!0},":tiger2:":{unicode:["1f405"],fname:"1f405",uc:"1f405",isCanonical:!0},":leopard:":{unicode:["1f406"],fname:"1f406",uc:"1f406",isCanonical:!0},":rabbit2:":{unicode:["1f407"],fname:"1f407",uc:"1f407",isCanonical:!0},":cat2:":{unicode:["1f408"],fname:"1f408",uc:"1f408",isCanonical:!0},":dragon:":{unicode:["1f409"],fname:"1f409",uc:"1f409",isCanonical:!0},":crocodile:":{unicode:["1f40a"],fname:"1f40a",uc:"1f40a",isCanonical:!0},":whale2:":{unicode:["1f40b"],fname:"1f40b",uc:"1f40b",isCanonical:!0},":ram:":{unicode:["1f40f"],fname:"1f40f",uc:"1f40f",isCanonical:!0},":goat:":{unicode:["1f410"],fname:"1f410",uc:"1f410",isCanonical:!0},":rooster:":{unicode:["1f413"],fname:"1f413",uc:"1f413",isCanonical:!0},":dog2:":{unicode:["1f415"],fname:"1f415",uc:"1f415",isCanonical:!0},":pig2:":{unicode:["1f416"],fname:"1f416",uc:"1f416",isCanonical:!0},":dromedary_camel:":{unicode:["1f42a"],fname:"1f42a",uc:"1f42a",isCanonical:!0},":busts_in_silhouette:":{unicode:["1f465"],fname:"1f465",uc:"1f465",isCanonical:!0},":two_men_holding_hands:":{unicode:["1f46c"],fname:"1f46c",uc:"1f46c",isCanonical:!0},":two_women_holding_hands:":{unicode:["1f46d"],fname:"1f46d",uc:"1f46d",isCanonical:!0},":thought_balloon:":{unicode:["1f4ad"],fname:"1f4ad",uc:"1f4ad",isCanonical:!0},":euro:":{unicode:["1f4b6"],fname:"1f4b6",uc:"1f4b6",isCanonical:!0},":pound:":{unicode:["1f4b7"],fname:"1f4b7",uc:"1f4b7",isCanonical:!0},":mailbox_with_mail:":{unicode:["1f4ec"],fname:"1f4ec",uc:"1f4ec",isCanonical:!0},":mailbox_with_no_mail:":{unicode:["1f4ed"],fname:"1f4ed",uc:"1f4ed",isCanonical:!0},":postal_horn:":{unicode:["1f4ef"],fname:"1f4ef",uc:"1f4ef",isCanonical:!0},":no_mobile_phones:":{unicode:["1f4f5"],fname:"1f4f5",uc:"1f4f5",isCanonical:!0},":twisted_rightwards_arrows:":{unicode:["1f500"],fname:"1f500",uc:"1f500",isCanonical:!0},":repeat:":{unicode:["1f501"],fname:"1f501",uc:"1f501",isCanonical:!0},":repeat_one:":{unicode:["1f502"],fname:"1f502",uc:"1f502",isCanonical:!0},":arrows_counterclockwise:":{unicode:["1f504"],fname:"1f504",uc:"1f504",isCanonical:!0},":low_brightness:":{unicode:["1f505"],fname:"1f505",uc:"1f505",isCanonical:!0},":high_brightness:":{unicode:["1f506"],fname:"1f506",uc:"1f506",isCanonical:!0},":mute:":{unicode:["1f507"],fname:"1f507",uc:"1f507",isCanonical:!0},":sound:":{unicode:["1f509"],fname:"1f509",uc:"1f509",isCanonical:!0},":no_bell:":{unicode:["1f515"],fname:"1f515",uc:"1f515",isCanonical:!0},":microscope:":{unicode:["1f52c"],fname:"1f52c",uc:"1f52c",isCanonical:!0},":telescope:":{unicode:["1f52d"],fname:"1f52d",uc:"1f52d",isCanonical:!0},":clock130:":{unicode:["1f55c"],fname:"1f55c",uc:"1f55c",isCanonical:!0},":clock230:":{unicode:["1f55d"],fname:"1f55d",uc:"1f55d",isCanonical:!0},":clock330:":{unicode:["1f55e"],fname:"1f55e",uc:"1f55e",isCanonical:!0},":clock430:":{unicode:["1f55f"],fname:"1f55f",uc:"1f55f",isCanonical:!0},":clock530:":{unicode:["1f560"],fname:"1f560",uc:"1f560",isCanonical:!0},":clock630:":{unicode:["1f561"],fname:"1f561",uc:"1f561",isCanonical:!0},":clock730:":{unicode:["1f562"],fname:"1f562",uc:"1f562",isCanonical:!0},":clock830:":{unicode:["1f563"],fname:"1f563",uc:"1f563",isCanonical:!0},":clock930:":{unicode:["1f564"],fname:"1f564",uc:"1f564",isCanonical:!0},":clock1030:":{unicode:["1f565"],fname:"1f565",uc:"1f565",isCanonical:!0},":clock1130:":{unicode:["1f566"],fname:"1f566",uc:"1f566",isCanonical:!0},":clock1230:":{unicode:["1f567"],fname:"1f567",uc:"1f567",isCanonical:!0},":speaker:":{unicode:["1f508"],fname:"1f508",uc:"1f508",isCanonical:!0},":train:":{unicode:["1f68b"],fname:"1f68b",uc:"1f68b",isCanonical:!0},":medal:":{unicode:["1f3c5"],fname:"1f3c5",uc:"1f3c5",isCanonical:!0},":sports_medal:":{unicode:["1f3c5"],fname:"1f3c5",uc:"1f3c5",isCanonical:!1},":flag_black:":{unicode:["1f3f4"],fname:"1f3f4",uc:"1f3f4",isCanonical:!0},":waving_black_flag:":{unicode:["1f3f4"],fname:"1f3f4",uc:"1f3f4",isCanonical:!1},":camera_with_flash:":{unicode:["1f4f8"],fname:"1f4f8",uc:"1f4f8",isCanonical:!0},":sleeping_accommodation:":{unicode:["1f6cc"],fname:"1f6cc",uc:"1f6cc",isCanonical:!0},":middle_finger:":{unicode:["1f595"],fname:"1f595",uc:"1f595",isCanonical:!0},":reversed_hand_with_middle_finger_extended:":{unicode:["1f595"],fname:"1f595",uc:"1f595",isCanonical:!1},":vulcan:":{unicode:["1f596"],fname:"1f596",uc:"1f596",isCanonical:!0},":raised_hand_with_part_between_middle_and_ring_fingers:":{unicode:["1f596"],fname:"1f596",uc:"1f596",isCanonical:!1},":slight_frown:":{unicode:["1f641"],fname:"1f641",uc:"1f641",isCanonical:!0},":slightly_frowning_face:":{unicode:["1f641"],fname:"1f641",uc:"1f641",isCanonical:!1},":slight_smile:":{unicode:["1f642"],fname:"1f642",uc:"1f642",isCanonical:!0},":slightly_smiling_face:":{unicode:["1f642"],fname:"1f642",uc:"1f642",isCanonical:!1},":airplane_departure:":{unicode:["1f6eb"],fname:"1f6eb",uc:"1f6eb",isCanonical:!0},":airplane_arriving:":{unicode:["1f6ec"],fname:"1f6ec",uc:"1f6ec",isCanonical:!0},":tone1:":{unicode:["1f3fb"],fname:"1f3fb",uc:"1f3fb",isCanonical:!0},":tone2:":{unicode:["1f3fc"],fname:"1f3fc",uc:"1f3fc",isCanonical:!0},":tone3:":{unicode:["1f3fd"],fname:"1f3fd",uc:"1f3fd",isCanonical:!0},":tone4:":{unicode:["1f3fe"],fname:"1f3fe",uc:"1f3fe",isCanonical:!0},":tone5:":{unicode:["1f3ff"],fname:"1f3ff",uc:"1f3ff",isCanonical:!0},":upside_down:":{unicode:["1f643"],fname:"1f643",uc:"1f643",isCanonical:!0},":upside_down_face:":{unicode:["1f643"],fname:"1f643",uc:"1f643",isCanonical:!1},":money_mouth:":{unicode:["1f911"],fname:"1f911",uc:"1f911",isCanonical:!0},":money_mouth_face:":{unicode:["1f911"],fname:"1f911",uc:"1f911",isCanonical:!1},":nerd:":{unicode:["1f913"],fname:"1f913",uc:"1f913",isCanonical:!0},":nerd_face:":{unicode:["1f913"],fname:"1f913",uc:"1f913",isCanonical:!1},":hugging:":{unicode:["1f917"],fname:"1f917",uc:"1f917",isCanonical:!0},":hugging_face:":{unicode:["1f917"],fname:"1f917",uc:"1f917",isCanonical:!1},":rolling_eyes:":{unicode:["1f644"],fname:"1f644",uc:"1f644",isCanonical:!0},":face_with_rolling_eyes:":{unicode:["1f644"],fname:"1f644",uc:"1f644",isCanonical:!1},":thinking:":{unicode:["1f914"],fname:"1f914",uc:"1f914",isCanonical:!0},":thinking_face:":{unicode:["1f914"],fname:"1f914",uc:"1f914",isCanonical:!1},":zipper_mouth:":{unicode:["1f910"],fname:"1f910",uc:"1f910",isCanonical:!0},":zipper_mouth_face:":{unicode:["1f910"],fname:"1f910",uc:"1f910",isCanonical:!1},":thermometer_face:":{unicode:["1f912"],fname:"1f912",uc:"1f912",isCanonical:!0},":face_with_thermometer:":{unicode:["1f912"],fname:"1f912",uc:"1f912",isCanonical:!1},":head_bandage:":{unicode:["1f915"],fname:"1f915",uc:"1f915",isCanonical:!0},":face_with_head_bandage:":{unicode:["1f915"],fname:"1f915",uc:"1f915",isCanonical:!1},":robot:":{unicode:["1f916"],fname:"1f916",uc:"1f916",isCanonical:!0},":robot_face:":{unicode:["1f916"],fname:"1f916",uc:"1f916",isCanonical:!1},":lion_face:":{unicode:["1f981"],fname:"1f981",uc:"1f981",isCanonical:!0},":lion:":{unicode:["1f981"],fname:"1f981",uc:"1f981",isCanonical:!1},":unicorn:":{unicode:["1f984"],fname:"1f984",uc:"1f984",isCanonical:!0},":unicorn_face:":{unicode:["1f984"],fname:"1f984",uc:"1f984",isCanonical:!1},":scorpion:":{unicode:["1f982"],fname:"1f982",uc:"1f982",isCanonical:!0},":crab:":{unicode:["1f980"],fname:"1f980",uc:"1f980",isCanonical:!0},":turkey:":{unicode:["1f983"],fname:"1f983",uc:"1f983",isCanonical:!0},":cheese:":{unicode:["1f9c0"],fname:"1f9c0",uc:"1f9c0",isCanonical:!0},":cheese_wedge:":{unicode:["1f9c0"],fname:"1f9c0",uc:"1f9c0",isCanonical:!1},":hotdog:":{unicode:["1f32d"],fname:"1f32d",uc:"1f32d",isCanonical:!0},":hot_dog:":{unicode:["1f32d"],fname:"1f32d",uc:"1f32d",isCanonical:!1},":taco:":{unicode:["1f32e"],fname:"1f32e",uc:"1f32e",isCanonical:!0},":burrito:":{unicode:["1f32f"],fname:"1f32f",uc:"1f32f",isCanonical:!0},":popcorn:":{unicode:["1f37f"],fname:"1f37f",uc:"1f37f",isCanonical:!0},":champagne:":{unicode:["1f37e"],fname:"1f37e",uc:"1f37e",isCanonical:!0},":bottle_with_popping_cork:":{unicode:["1f37e"],fname:"1f37e",uc:"1f37e",isCanonical:!1},":bow_and_arrow:":{unicode:["1f3f9"],fname:"1f3f9",uc:"1f3f9",isCanonical:!0},":archery:":{unicode:["1f3f9"],fname:"1f3f9",uc:"1f3f9",isCanonical:!1},":amphora:":{unicode:["1f3fa"],fname:"1f3fa",uc:"1f3fa",isCanonical:!0},":place_of_worship:":{unicode:["1f6d0"],fname:"1f6d0",uc:"1f6d0",isCanonical:!0},":worship_symbol:":{unicode:["1f6d0"],fname:"1f6d0",uc:"1f6d0",isCanonical:!1},":kaaba:":{unicode:["1f54b"],fname:"1f54b",uc:"1f54b",isCanonical:!0},":mosque:":{unicode:["1f54c"],fname:"1f54c",uc:"1f54c",isCanonical:!0},":synagogue:":{unicode:["1f54d"],fname:"1f54d",uc:"1f54d",isCanonical:!0},":menorah:":{unicode:["1f54e"],fname:"1f54e",uc:"1f54e",isCanonical:!0},":prayer_beads:":{unicode:["1f4ff"],fname:"1f4ff",uc:"1f4ff",isCanonical:!0},":cricket:":{unicode:["1f3cf"],fname:"1f3cf",uc:"1f3cf",isCanonical:!0},":cricket_bat_ball:":{unicode:["1f3cf"],fname:"1f3cf",uc:"1f3cf",isCanonical:!1},":volleyball:":{unicode:["1f3d0"],fname:"1f3d0",uc:"1f3d0",isCanonical:!0},":field_hockey:":{unicode:["1f3d1"],fname:"1f3d1",uc:"1f3d1",isCanonical:!0},":hockey:":{unicode:["1f3d2"],fname:"1f3d2",uc:"1f3d2",isCanonical:!0},":ping_pong:":{unicode:["1f3d3"],fname:"1f3d3",uc:"1f3d3",isCanonical:!0},":table_tennis:":{unicode:["1f3d3"],fname:"1f3d3",uc:"1f3d3",isCanonical:!1},":badminton:":{unicode:["1f3f8"],fname:"1f3f8",uc:"1f3f8",isCanonical:!0},":drum:":{unicode:["1f941"],fname:"1f941",uc:"1f941",isCanonical:!0},":drum_with_drumsticks:":{unicode:["1f941"],fname:"1f941",uc:"1f941",isCanonical:!1},":shrimp:":{unicode:["1f990"],fname:"1f990",uc:"1f990",isCanonical:!0},":squid:":{unicode:["1f991"],fname:"1f991",uc:"1f991",isCanonical:!0},":egg:":{unicode:["1f95a"],fname:"1f95a",uc:"1f95a",isCanonical:!0},":milk:":{unicode:["1f95b"],fname:"1f95b",uc:"1f95b",isCanonical:!0},":glass_of_milk:":{unicode:["1f95b"],fname:"1f95b",uc:"1f95b",isCanonical:!1},":peanuts:":{unicode:["1f95c"],fname:"1f95c",uc:"1f95c",isCanonical:!0},":shelled_peanut:":{unicode:["1f95c"],fname:"1f95c",uc:"1f95c",isCanonical:!1},":kiwi:":{unicode:["1f95d"],fname:"1f95d",uc:"1f95d",isCanonical:!0},":kiwifruit:":{unicode:["1f95d"],fname:"1f95d",uc:"1f95d",isCanonical:!1},":pancakes:":{unicode:["1f95e"],fname:"1f95e",uc:"1f95e",isCanonical:!0},":regional_indicator_w:":{unicode:["1f1fc"],fname:"1f1fc",uc:"1f1fc",isCanonical:!0},":regional_indicator_v:":{unicode:["1f1fb"],fname:"1f1fb",uc:"1f1fb",isCanonical:!0},":regional_indicator_u:":{unicode:["1f1fa"],fname:"1f1fa",uc:"1f1fa",isCanonical:!0},":regional_indicator_t:":{unicode:["1f1f9"],fname:"1f1f9",uc:"1f1f9",isCanonical:!0},":regional_indicator_s:":{unicode:["1f1f8"],fname:"1f1f8",uc:"1f1f8",isCanonical:!0},":regional_indicator_r:":{unicode:["1f1f7"],fname:"1f1f7",uc:"1f1f7",isCanonical:!0},":regional_indicator_q:":{unicode:["1f1f6"],fname:"1f1f6",uc:"1f1f6",isCanonical:!0},":regional_indicator_p:":{unicode:["1f1f5"],fname:"1f1f5",uc:"1f1f5",isCanonical:!0},":regional_indicator_o:":{unicode:["1f1f4"],fname:"1f1f4",uc:"1f1f4",isCanonical:!0},":regional_indicator_n:":{unicode:["1f1f3"],fname:"1f1f3",uc:"1f1f3",isCanonical:!0},":regional_indicator_m:":{unicode:["1f1f2"],fname:"1f1f2",uc:"1f1f2",isCanonical:!0},":regional_indicator_l:":{unicode:["1f1f1"],fname:"1f1f1",uc:"1f1f1",isCanonical:!0},":regional_indicator_k:":{unicode:["1f1f0"],fname:"1f1f0",uc:"1f1f0",isCanonical:!0},":regional_indicator_j:":{unicode:["1f1ef"],fname:"1f1ef",uc:"1f1ef",isCanonical:!0},":regional_indicator_i:":{unicode:["1f1ee"],fname:"1f1ee",uc:"1f1ee",isCanonical:!0},":regional_indicator_h:":{unicode:["1f1ed"],fname:"1f1ed",uc:"1f1ed",isCanonical:!0},":regional_indicator_g:":{unicode:["1f1ec"],fname:"1f1ec",uc:"1f1ec",isCanonical:!0},":regional_indicator_f:":{unicode:["1f1eb"],fname:"1f1eb",uc:"1f1eb",isCanonical:!0},":regional_indicator_e:":{unicode:["1f1ea"],fname:"1f1ea",uc:"1f1ea",isCanonical:!0},":regional_indicator_d:":{unicode:["1f1e9"],fname:"1f1e9",uc:"1f1e9",isCanonical:!0},":regional_indicator_c:":{unicode:["1f1e8"],fname:"1f1e8",uc:"1f1e8",isCanonical:!0},":regional_indicator_b:":{unicode:["1f1e7"],fname:"1f1e7",uc:"1f1e7",isCanonical:!0},":regional_indicator_a:":{unicode:["1f1e6"],fname:"1f1e6",uc:"1f1e6",isCanonical:!0},":fast_forward:":{unicode:["23e9"],fname:"23e9",uc:"23e9",isCanonical:!0},":rewind:":{unicode:["23ea"],fname:"23ea",uc:"23ea",isCanonical:!0},":arrow_double_up:":{unicode:["23eb"],fname:"23eb",uc:"23eb",isCanonical:!0},":arrow_double_down:":{unicode:["23ec"],fname:"23ec",uc:"23ec",isCanonical:!0},":alarm_clock:":{unicode:["23f0"],fname:"23f0",uc:"23f0",isCanonical:!0},":hourglass_flowing_sand:":{unicode:["23f3"],fname:"23f3",uc:"23f3",isCanonical:!0},":ophiuchus:":{unicode:["26ce"],fname:"26ce",uc:"26ce",isCanonical:!0},":white_check_mark:":{unicode:["2705"],fname:"2705",uc:"2705",isCanonical:!0},":fist:":{unicode:["270a"],fname:"270a",uc:"270a",isCanonical:!0},":raised_hand:":{unicode:["270b"],fname:"270b",uc:"270b",isCanonical:!0},":sparkles:":{unicode:["2728"],fname:"2728",uc:"2728",isCanonical:!0},":x:":{unicode:["274c"],fname:"274c",uc:"274c",isCanonical:!0},":negative_squared_cross_mark:":{unicode:["274e"],fname:"274e",uc:"274e",isCanonical:!0},":question:":{unicode:["2753"],fname:"2753",uc:"2753",isCanonical:!0},":grey_question:":{unicode:["2754"],fname:"2754",uc:"2754",isCanonical:!0},":grey_exclamation:":{unicode:["2755"],fname:"2755",uc:"2755",isCanonical:!0},":heavy_plus_sign:":{unicode:["2795"],fname:"2795",uc:"2795",isCanonical:!0},":heavy_minus_sign:":{unicode:["2796"],fname:"2796",uc:"2796",isCanonical:!0},":heavy_division_sign:":{unicode:["2797"],fname:"2797",uc:"2797",isCanonical:!0},":curly_loop:":{unicode:["27b0"],fname:"27b0",uc:"27b0",isCanonical:!0},":loop:":{unicode:["27bf"],fname:"27bf",uc:"27bf",isCanonical:!0}};var emoji,tmpShortNames=[];for(emoji in ns.emojioneList)ns.emojioneList.hasOwnProperty(emoji)&&tmpShortNames.push(emoji.replace(/[+]/g,"\\$&"));ns.shortnames=tmpShortNames.join("|"),ns.asciiList={"<3":"2764","</3":"1f494",":')":"1f602",":'-)":"1f602",":D":"1f603",":-D":"1f603","=D":"1f603",":)":"1f642",":-)":"1f642","=]":"1f642","=)":"1f642",":]":"1f642","':)":"1f605","':-)":"1f605","'=)":"1f605","':D":"1f605","':-D":"1f605","'=D":"1f605",">:)":"1f606",">;)":"1f606",">:-)":"1f606",">=)":"1f606",";)":"1f609",";-)":"1f609","*-)":"1f609","*)":"1f609",";-]":"1f609",";]":"1f609",";D":"1f609",";^)":"1f609","':(":"1f613","':-(":"1f613","'=(":"1f613",":*":"1f618",":-*":"1f618","=*":"1f618",":^*":"1f618",">:P":"1f61c","X-P":"1f61c","x-p":"1f61c",">:[":"1f61e",":-(":"1f61e",":(":"1f61e",":-[":"1f61e",":[":"1f61e","=(":"1f61e",">:(":"1f620",">:-(":"1f620",":@":"1f620",":'(":"1f622",":'-(":"1f622",";(":"1f622",";-(":"1f622",">.<":"1f623","D:":"1f628",":$":"1f633","=$":"1f633","#-)":"1f635","#)":"1f635","%-)":"1f635","%)":"1f635","X)":"1f635","X-)":"1f635","*\\0/*":"1f646","\\0/":"1f646","*\\O/*":"1f646","\\O/":"1f646","O:-)":"1f607","0:-3":"1f607","0:3":"1f607","0:-)":"1f607","0:)":"1f607","0;^)":"1f607","O:)":"1f607","O;-)":"1f607","O=)":"1f607","0;-)":"1f607","O:-3":"1f607","O:3":"1f607","B-)":"1f60e","B)":"1f60e","8)":"1f60e","8-)":"1f60e","B-D":"1f60e","8-D":"1f60e","-_-":"1f611","-__-":"1f611","-___-":"1f611",">:\\":"1f615",">:/":"1f615",":-/":"1f615",":-.":"1f615",":/":"1f615",":\\":"1f615","=/":"1f615","=\\":"1f615",":L":"1f615","=L":"1f615",":P":"1f61b",":-P":"1f61b","=P":"1f61b",":-p":"1f61b",":p":"1f61b","=p":"1f61b",":-Þ":"1f61b",":Þ":"1f61b",":þ":"1f61b",":-þ":"1f61b",":-b":"1f61b",":b":"1f61b","d:":"1f61b",":-O":"1f62e",":O":"1f62e",":-o":"1f62e",":o":"1f62e",O_O:"1f62e",">:O":"1f62e",":-X":"1f636",":X":"1f636",":-#":"1f636",":#":"1f636","=X":"1f636","=x":"1f636",":x":"1f636",":-x":"1f636","=#":"1f636"},ns.asciiRegexp="(\\<3|&lt;3|\\<\\/3|&lt;\\/3|\\:'\\)|\\:'\\-\\)|\\:D|\\:\\-D|\\=D|\\:\\)|\\:\\-\\)|\\=\\]|\\=\\)|\\:\\]|'\\:\\)|'\\:\\-\\)|'\\=\\)|'\\:D|'\\:\\-D|'\\=D|\\>\\:\\)|&gt;\\:\\)|\\>;\\)|&gt;;\\)|\\>\\:\\-\\)|&gt;\\:\\-\\)|\\>\\=\\)|&gt;\\=\\)|;\\)|;\\-\\)|\\*\\-\\)|\\*\\)|;\\-\\]|;\\]|;D|;\\^\\)|'\\:\\(|'\\:\\-\\(|'\\=\\(|\\:\\*|\\:\\-\\*|\\=\\*|\\:\\^\\*|\\>\\:P|&gt;\\:P|X\\-P|x\\-p|\\>\\:\\[|&gt;\\:\\[|\\:\\-\\(|\\:\\(|\\:\\-\\[|\\:\\[|\\=\\(|\\>\\:\\(|&gt;\\:\\(|\\>\\:\\-\\(|&gt;\\:\\-\\(|\\:@|\\:'\\(|\\:'\\-\\(|;\\(|;\\-\\(|\\>\\.\\<|&gt;\\.&lt;|D\\:|\\:\\$|\\=\\$|#\\-\\)|#\\)|%\\-\\)|%\\)|X\\)|X\\-\\)|\\*\\\\0\\/\\*|\\\\0\\/|\\*\\\\O\\/\\*|\\\\O\\/|O\\:\\-\\)|0\\:\\-3|0\\:3|0\\:\\-\\)|0\\:\\)|0;\\^\\)|O\\:\\-\\)|O\\:\\)|O;\\-\\)|O\\=\\)|0;\\-\\)|O\\:\\-3|O\\:3|B\\-\\)|B\\)|8\\)|8\\-\\)|B\\-D|8\\-D|\\-_\\-|\\-__\\-|\\-___\\-|\\>\\:\\\\|&gt;\\:\\\\|\\>\\:\\/|&gt;\\:\\/|\\:\\-\\/|\\:\\-\\.|\\:\\/|\\:\\\\|\\=\\/|\\=\\\\|\\:L|\\=L|\\:P|\\:\\-P|\\=P|\\:\\-p|\\:p|\\=p|\\:\\-Þ|\\:\\-&THORN;|\\:Þ|\\:&THORN;|\\:þ|\\:&thorn;|\\:\\-þ|\\:\\-&thorn;|\\:\\-b|\\:b|d\\:|\\:\\-O|\\:O|\\:\\-o|\\:o|O_O|\\>\\:O|&gt;\\:O|\\:\\-X|\\:X|\\:\\-#|\\:#|\\=X|\\=x|\\:x|\\:\\-x|\\=#)",ns.unicodeRegexp="(\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\u2764\\uFE0F\\u200D\\uD83D\\uDC8B\\u200D\\uD83D\\uDC69|\\uD83D\\uDC68\\u200D\\u2764\\uFE0F\\u200D\\uD83D\\uDC8B\\u200D\\uD83D\\uDC68|\\uD83D\\uDC68\\u200D\\uD83D\\uDC68\\u200D\\uD83D\\uDC67\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D\\uD83D\\uDC67|\\uD83D\\uDC68\\u200D\\uD83D\\uDC68\\u200D\\uD83D\\uDC67\\u200D\\uD83D\\uDC67|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D\\uD83D\\uDC66|\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC68\\u200D\\uD83D\\uDC68\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D\\uD83D\\uDC66|\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D\\uD83D\\uDC67|\\uD83D\\uDC69\\u200D\\u2764\\uFE0F\\u200D\\uD83D\\uDC69|\\uD83D\\uDC68\\uD83D\\uDC69\\uD83D\\uDC67\\uD83D\\uDC66|\\uD83D\\uDC68\\uD83D\\uDC69\\uD83D\\uDC66\\uD83D\\uDC66|\\uD83D\\uDC69\\uD83D\\uDC69\\uD83D\\uDC66\\uD83D\\uDC66|\\uD83D\\uDC68\\uD83D\\uDC68\\uD83D\\uDC67\\uD83D\\uDC67|\\uD83D\\uDC69\\uD83D\\uDC69\\uD83D\\uDC67\\uD83D\\uDC66|\\uD83D\\uDC68\\uD83D\\uDC68\\uD83D\\uDC67\\uD83D\\uDC66|\\uD83D\\uDC69\\uD83D\\uDC69\\uD83D\\uDC67\\uD83D\\uDC67|\\uD83D\\uDC68\\uD83D\\uDC69\\uD83D\\uDC67\\uD83D\\uDC67|\\uD83D\\uDC68\\uD83D\\uDC68\\uD83D\\uDC66\\uD83D\\uDC66|\\uD83D\\uDC68\\u200D\\u2764\\uFE0F\\u200D\\uD83D\\uDC68|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83D\\uDC68\\u200D\\uD83D\\uDC68\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC68\\u200D\\uD83D\\uDC68\\u200D\\uD83D\\uDC67|\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83D\\uDC69\\u2764\\uD83D\\uDC8B\\uD83D\\uDC69|\\uD83D\\uDC68\\u2764\\uD83D\\uDC8B\\uD83D\\uDC68|\\uD83D\\uDC68\\uD83D\\uDC68\\uD83D\\uDC67|\\uD83D\\uDC68\\uD83D\\uDC68\\uD83D\\uDC66|\\uD83D\\uDC69\\uD83D\\uDC69\\uD83D\\uDC66|\\uD83D\\uDC69\\uD83D\\uDC69\\uD83D\\uDC67|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC68\\uD83D\\uDC69\\uD83D\\uDC67|\\uD83D\\uDC68\\u2764\\uD83D\\uDC68|\\uD83D\\uDC41\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69\\u2764\\uD83D\\uDC69|\\uD83D\\uDC41\\uD83D\\uDDE8|\\uD83C\\uDDE6\\uD83C\\uDDE8|\\uD83C\\uDDE6\\uD83C\\uDDE9|\\uD83C\\uDDE6\\uD83C\\uDDEA|\\uD83C\\uDDE6\\uD83C\\uDDEB|\\uD83C\\uDDE6\\uD83C\\uDDEC|\\uD83C\\uDDE6\\uD83C\\uDDEE|\\uD83C\\uDDE6\\uD83C\\uDDF1|\\uD83C\\uDDE6\\uD83C\\uDDF2|\\uD83C\\uDDE6\\uD83C\\uDDF4|\\uD83C\\uDDE6\\uD83C\\uDDF6|\\uD83C\\uDDE6\\uD83C\\uDDF7|\\uD83C\\uDDE6\\uD83C\\uDDF8|\\uD83E\\uDD3E\\uD83C\\uDFFF|\\uD83E\\uDD3E\\uD83C\\uDFFE|\\uD83E\\uDD3E\\uD83C\\uDFFD|\\uD83E\\uDD3E\\uD83C\\uDFFC|\\uD83E\\uDD3E\\uD83C\\uDFFB|\\uD83E\\uDD3D\\uD83C\\uDFFF|\\uD83E\\uDD3D\\uD83C\\uDFFE|\\uD83E\\uDD3D\\uD83C\\uDFFD|\\uD83E\\uDD3D\\uD83C\\uDFFC|\\uD83E\\uDD3D\\uD83C\\uDFFB|\\uD83E\\uDD3C\\uD83C\\uDFFF|\\uD83E\\uDD3C\\uD83C\\uDFFE|\\uD83E\\uDD3C\\uD83C\\uDFFD|\\uD83E\\uDD3C\\uD83C\\uDFFC|\\uD83E\\uDD3C\\uD83C\\uDFFB|\\uD83E\\uDD39\\uD83C\\uDFFF|\\uD83E\\uDD39\\uD83C\\uDFFE|\\uD83E\\uDD39\\uD83C\\uDFFD|\\uD83E\\uDD39\\uD83C\\uDFFC|\\uD83E\\uDD39\\uD83C\\uDFFB|\\uD83E\\uDD38\\uD83C\\uDFFF|\\uD83E\\uDD38\\uD83C\\uDFFE|\\uD83E\\uDD38\\uD83C\\uDFFD|\\uD83E\\uDD38\\uD83C\\uDFFC|\\uD83E\\uDD38\\uD83C\\uDFFB|\\uD83E\\uDD37\\uD83C\\uDFFF|\\uD83E\\uDD37\\uD83C\\uDFFE|\\uD83E\\uDD37\\uD83C\\uDFFD|\\uD83E\\uDD37\\uD83C\\uDFFC|\\uD83E\\uDD37\\uD83C\\uDFFB|\\uD83E\\uDD36\\uD83C\\uDFFF|\\uD83E\\uDD36\\uD83C\\uDFFE|\\uD83E\\uDD36\\uD83C\\uDFFD|\\uD83E\\uDD36\\uD83C\\uDFFC|\\uD83E\\uDD36\\uD83C\\uDFFB|\\uD83E\\uDD35\\uD83C\\uDFFF|\\uD83E\\uDD35\\uD83C\\uDFFE|\\uD83E\\uDD35\\uD83C\\uDFFD|\\uD83E\\uDD35\\uD83C\\uDFFC|\\uD83E\\uDD35\\uD83C\\uDFFB|\\uD83E\\uDD34\\uD83C\\uDFFF|\\uD83E\\uDD34\\uD83C\\uDFFE|\\uD83E\\uDD34\\uD83C\\uDFFD|\\uD83E\\uDD34\\uD83C\\uDFFC|\\uD83E\\uDD34\\uD83C\\uDFFB|\\uD83E\\uDD33\\uD83C\\uDFFF|\\uD83E\\uDD33\\uD83C\\uDFFE|\\uD83E\\uDD33\\uD83C\\uDFFD|\\uD83E\\uDD33\\uD83C\\uDFFC|\\uD83E\\uDD33\\uD83C\\uDFFB|\\uD83E\\uDD30\\uD83C\\uDFFF|\\uD83E\\uDD30\\uD83C\\uDFFE|\\uD83E\\uDD30\\uD83C\\uDFFD|\\uD83E\\uDD30\\uD83C\\uDFFC|\\uD83E\\uDD30\\uD83C\\uDFFB|\\uD83E\\uDD26\\uD83C\\uDFFF|\\uD83E\\uDD26\\uD83C\\uDFFE|\\uD83E\\uDD26\\uD83C\\uDFFD|\\uD83E\\uDD26\\uD83C\\uDFFC|\\uD83E\\uDD26\\uD83C\\uDFFB|\\uD83E\\uDD1E\\uD83C\\uDFFF|\\uD83E\\uDD1E\\uD83C\\uDFFE|\\uD83E\\uDD1E\\uD83C\\uDFFD|\\uD83E\\uDD1E\\uD83C\\uDFFC|\\uD83E\\uDD1E\\uD83C\\uDFFB|\\uD83E\\uDD1D\\uD83C\\uDFFF|\\uD83E\\uDD1D\\uD83C\\uDFFE|\\uD83E\\uDD1D\\uD83C\\uDFFD|\\uD83E\\uDD1D\\uD83C\\uDFFC|\\uD83E\\uDD1D\\uD83C\\uDFFB|\\uD83E\\uDD1C\\uD83C\\uDFFF|\\uD83E\\uDD1C\\uD83C\\uDFFE|\\uD83E\\uDD1C\\uD83C\\uDFFD|\\uD83E\\uDD1C\\uD83C\\uDFFC|\\uD83E\\uDD1C\\uD83C\\uDFFB|\\uD83E\\uDD1B\\uD83C\\uDFFF|\\uD83E\\uDD1B\\uD83C\\uDFFE|\\uD83E\\uDD1B\\uD83C\\uDFFD|\\uD83E\\uDD1B\\uD83C\\uDFFC|\\uD83E\\uDD1B\\uD83C\\uDFFB|\\uD83E\\uDD1A\\uD83C\\uDFFF|\\uD83E\\uDD1A\\uD83C\\uDFFE|\\uD83E\\uDD1A\\uD83C\\uDFFD|\\uD83E\\uDD1A\\uD83C\\uDFFC|\\uD83E\\uDD1A\\uD83C\\uDFFB|\\uD83E\\uDD19\\uD83C\\uDFFF|\\uD83E\\uDD19\\uD83C\\uDFFE|\\uD83E\\uDD19\\uD83C\\uDFFD|\\uD83E\\uDD19\\uD83C\\uDFFC|\\uD83E\\uDD19\\uD83C\\uDFFB|\\uD83E\\uDD18\\uD83C\\uDFFF|\\uD83E\\uDD18\\uD83C\\uDFFE|\\uD83E\\uDD18\\uD83C\\uDFFD|\\uD83E\\uDD18\\uD83C\\uDFFC|\\uD83E\\uDD18\\uD83C\\uDFFB|\\uD83D\\uDEC0\\uD83C\\uDFFF|\\uD83D\\uDEC0\\uD83C\\uDFFE|\\uD83D\\uDEC0\\uD83C\\uDFFD|\\uD83D\\uDEC0\\uD83C\\uDFFC|\\uD83D\\uDEC0\\uD83C\\uDFFB|\\uD83D\\uDEB6\\uD83C\\uDFFF|\\uD83D\\uDEB6\\uD83C\\uDFFE|\\uD83D\\uDEB6\\uD83C\\uDFFD|\\uD83D\\uDEB6\\uD83C\\uDFFC|\\uD83D\\uDEB6\\uD83C\\uDFFB|\\uD83D\\uDEB5\\uD83C\\uDFFF|\\uD83D\\uDEB5\\uD83C\\uDFFE|\\uD83D\\uDEB5\\uD83C\\uDFFD|\\uD83D\\uDEB5\\uD83C\\uDFFC|\\uD83D\\uDEB5\\uD83C\\uDFFB|\\uD83D\\uDEB4\\uD83C\\uDFFF|\\uD83D\\uDEB4\\uD83C\\uDFFE|\\uD83D\\uDEB4\\uD83C\\uDFFD|\\uD83D\\uDEB4\\uD83C\\uDFFC|\\uD83D\\uDEB4\\uD83C\\uDFFB|\\uD83D\\uDEA3\\uD83C\\uDFFF|\\uD83D\\uDEA3\\uD83C\\uDFFE|\\uD83D\\uDEA3\\uD83C\\uDFFD|\\uD83D\\uDEA3\\uD83C\\uDFFC|\\uD83D\\uDEA3\\uD83C\\uDFFB|\\uD83D\\uDE4F\\uD83C\\uDFFF|\\uD83D\\uDE4F\\uD83C\\uDFFE|\\uD83D\\uDE4F\\uD83C\\uDFFD|\\uD83D\\uDE4F\\uD83C\\uDFFC|\\uD83D\\uDE4F\\uD83C\\uDFFB|\\uD83D\\uDE4E\\uD83C\\uDFFF|\\uD83D\\uDE4E\\uD83C\\uDFFE|\\uD83D\\uDE4E\\uD83C\\uDFFD|\\uD83D\\uDE4E\\uD83C\\uDFFC|\\uD83D\\uDE4E\\uD83C\\uDFFB|\\uD83D\\uDE4D\\uD83C\\uDFFF|\\uD83D\\uDE4D\\uD83C\\uDFFE|\\uD83D\\uDE4D\\uD83C\\uDFFD|\\uD83D\\uDE4D\\uD83C\\uDFFC|\\uD83D\\uDE4D\\uD83C\\uDFFB|\\uD83D\\uDE4C\\uD83C\\uDFFF|\\uD83D\\uDE4C\\uD83C\\uDFFE|\\uD83D\\uDE4C\\uD83C\\uDFFD|\\uD83D\\uDE4C\\uD83C\\uDFFC|\\uD83D\\uDE4C\\uD83C\\uDFFB|\\uD83D\\uDE4B\\uD83C\\uDFFF|\\uD83D\\uDE4B\\uD83C\\uDFFE|\\uD83D\\uDE4B\\uD83C\\uDFFD|\\uD83D\\uDE4B\\uD83C\\uDFFC|\\uD83D\\uDE4B\\uD83C\\uDFFB|\\uD83D\\uDE47\\uD83C\\uDFFF|\\uD83D\\uDE47\\uD83C\\uDFFE|\\uD83D\\uDE47\\uD83C\\uDFFD|\\uD83D\\uDE47\\uD83C\\uDFFC|\\uD83D\\uDE47\\uD83C\\uDFFB|\\uD83D\\uDE46\\uD83C\\uDFFF|\\uD83D\\uDE46\\uD83C\\uDFFE|\\uD83D\\uDE46\\uD83C\\uDFFD|\\uD83D\\uDE46\\uD83C\\uDFFC|\\uD83D\\uDE46\\uD83C\\uDFFB|\\uD83D\\uDE45\\uD83C\\uDFFF|\\uD83D\\uDE45\\uD83C\\uDFFE|\\uD83D\\uDE45\\uD83C\\uDFFD|\\uD83D\\uDE45\\uD83C\\uDFFC|\\uD83D\\uDE45\\uD83C\\uDFFB|\\uD83D\\uDD96\\uD83C\\uDFFF|\\uD83D\\uDD96\\uD83C\\uDFFE|\\uD83D\\uDD96\\uD83C\\uDFFD|\\uD83D\\uDD96\\uD83C\\uDFFC|\\uD83D\\uDD96\\uD83C\\uDFFB|\\uD83D\\uDD95\\uD83C\\uDFFF|\\uD83D\\uDD95\\uD83C\\uDFFE|\\uD83D\\uDD95\\uD83C\\uDFFD|\\uD83D\\uDD95\\uD83C\\uDFFC|\\uD83D\\uDD95\\uD83C\\uDFFB|\\uD83D\\uDD90\\uD83C\\uDFFF|\\uD83D\\uDD90\\uD83C\\uDFFE|\\uD83D\\uDD90\\uD83C\\uDFFD|\\uD83D\\uDD90\\uD83C\\uDFFC|\\uD83D\\uDD90\\uD83C\\uDFFB|\\uD83D\\uDD7A\\uD83C\\uDFFF|\\uD83D\\uDD7A\\uD83C\\uDFFE|\\uD83D\\uDD7A\\uD83C\\uDFFD|\\uD83D\\uDD7A\\uD83C\\uDFFC|\\uD83D\\uDD7A\\uD83C\\uDFFB|\\uD83D\\uDD75\\uD83C\\uDFFF|\\uD83D\\uDD75\\uD83C\\uDFFE|\\uD83D\\uDD75\\uD83C\\uDFFD|\\uD83D\\uDD75\\uD83C\\uDFFC|\\uD83D\\uDD75\\uD83C\\uDFFB|\\uD83D\\uDCAA\\uD83C\\uDFFF|\\uD83D\\uDCAA\\uD83C\\uDFFE|\\uD83D\\uDCAA\\uD83C\\uDFFD|\\uD83D\\uDCAA\\uD83C\\uDFFC|\\uD83D\\uDCAA\\uD83C\\uDFFB|\\uD83D\\uDC87\\uD83C\\uDFFF|\\uD83D\\uDC87\\uD83C\\uDFFE|\\uD83D\\uDC87\\uD83C\\uDFFD|\\uD83D\\uDC87\\uD83C\\uDFFC|\\uD83D\\uDC87\\uD83C\\uDFFB|\\uD83D\\uDC86\\uD83C\\uDFFF|\\uD83D\\uDC86\\uD83C\\uDFFE|\\uD83D\\uDC86\\uD83C\\uDFFD|\\uD83D\\uDC86\\uD83C\\uDFFC|\\uD83D\\uDC86\\uD83C\\uDFFB|\\uD83D\\uDC85\\uD83C\\uDFFF|\\uD83D\\uDC85\\uD83C\\uDFFE|\\uD83D\\uDC85\\uD83C\\uDFFD|\\uD83D\\uDC85\\uD83C\\uDFFC|\\uD83D\\uDC85\\uD83C\\uDFFB|\\uD83D\\uDC83\\uD83C\\uDFFF|\\uD83D\\uDC83\\uD83C\\uDFFE|\\uD83D\\uDC83\\uD83C\\uDFFD|\\uD83D\\uDC83\\uD83C\\uDFFC|\\uD83D\\uDC83\\uD83C\\uDFFB|\\uD83D\\uDC82\\uD83C\\uDFFF|\\uD83D\\uDC82\\uD83C\\uDFFE|\\uD83D\\uDC82\\uD83C\\uDFFD|\\uD83D\\uDC82\\uD83C\\uDFFC|\\uD83D\\uDC82\\uD83C\\uDFFB|\\uD83D\\uDC81\\uD83C\\uDFFF|\\uD83D\\uDC81\\uD83C\\uDFFE|\\uD83D\\uDC81\\uD83C\\uDFFD|\\uD83D\\uDC81\\uD83C\\uDFFC|\\uD83D\\uDC81\\uD83C\\uDFFB|\\uD83D\\uDC7C\\uD83C\\uDFFF|\\uD83D\\uDC7C\\uD83C\\uDFFE|\\uD83D\\uDC7C\\uD83C\\uDFFD|\\uD83D\\uDC7C\\uD83C\\uDFFC|\\uD83D\\uDC7C\\uD83C\\uDFFB|\\uD83D\\uDC78\\uD83C\\uDFFF|\\uD83D\\uDC78\\uD83C\\uDFFE|\\uD83D\\uDC78\\uD83C\\uDFFD|\\uD83D\\uDC78\\uD83C\\uDFFC|\\uD83D\\uDC78\\uD83C\\uDFFB|\\uD83D\\uDC77\\uD83C\\uDFFF|\\uD83D\\uDC77\\uD83C\\uDFFE|\\uD83D\\uDC77\\uD83C\\uDFFD|\\uD83D\\uDC77\\uD83C\\uDFFC|\\uD83D\\uDC77\\uD83C\\uDFFB|\\uD83D\\uDC76\\uD83C\\uDFFF|\\uD83D\\uDC76\\uD83C\\uDFFE|\\uD83D\\uDC76\\uD83C\\uDFFD|\\uD83D\\uDC76\\uD83C\\uDFFC|\\uD83D\\uDC76\\uD83C\\uDFFB|\\uD83D\\uDC75\\uD83C\\uDFFF|\\uD83D\\uDC75\\uD83C\\uDFFE|\\uD83D\\uDC75\\uD83C\\uDFFD|\\uD83D\\uDC75\\uD83C\\uDFFC|\\uD83D\\uDC75\\uD83C\\uDFFB|\\uD83D\\uDC74\\uD83C\\uDFFF|\\uD83D\\uDC74\\uD83C\\uDFFE|\\uD83D\\uDC74\\uD83C\\uDFFD|\\uD83D\\uDC74\\uD83C\\uDFFC|\\uD83D\\uDC74\\uD83C\\uDFFB|\\uD83D\\uDC73\\uD83C\\uDFFF|\\uD83D\\uDC73\\uD83C\\uDFFE|\\uD83D\\uDC73\\uD83C\\uDFFD|\\uD83D\\uDC73\\uD83C\\uDFFC|\\uD83D\\uDC73\\uD83C\\uDFFB|\\uD83D\\uDC72\\uD83C\\uDFFF|\\uD83D\\uDC72\\uD83C\\uDFFE|\\uD83D\\uDC72\\uD83C\\uDFFD|\\uD83D\\uDC72\\uD83C\\uDFFC|\\uD83D\\uDC72\\uD83C\\uDFFB|\\uD83D\\uDC71\\uD83C\\uDFFF|\\uD83D\\uDC71\\uD83C\\uDFFE|\\uD83D\\uDC71\\uD83C\\uDFFD|\\uD83D\\uDC71\\uD83C\\uDFFC|\\uD83D\\uDC71\\uD83C\\uDFFB|\\uD83D\\uDC70\\uD83C\\uDFFF|\\uD83D\\uDC70\\uD83C\\uDFFE|\\uD83D\\uDC70\\uD83C\\uDFFD|\\uD83D\\uDC70\\uD83C\\uDFFC|\\uD83D\\uDC70\\uD83C\\uDFFB|\\uD83D\\uDC6E\\uD83C\\uDFFF|\\uD83D\\uDC6E\\uD83C\\uDFFE|\\uD83D\\uDC6E\\uD83C\\uDFFD|\\uD83D\\uDC6E\\uD83C\\uDFFC|\\uD83D\\uDC6E\\uD83C\\uDFFB|\\uD83D\\uDC69\\uD83C\\uDFFF|\\uD83D\\uDC69\\uD83C\\uDFFE|\\uD83D\\uDC69\\uD83C\\uDFFD|\\uD83D\\uDC69\\uD83C\\uDFFC|\\uD83D\\uDC69\\uD83C\\uDFFB|\\uD83D\\uDC68\\uD83C\\uDFFF|\\uD83D\\uDC68\\uD83C\\uDFFE|\\uD83D\\uDC68\\uD83C\\uDFFD|\\uD83D\\uDC68\\uD83C\\uDFFC|\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83D\\uDC67\\uD83C\\uDFFF|\\uD83D\\uDC67\\uD83C\\uDFFE|\\uD83D\\uDC67\\uD83C\\uDFFD|\\uD83D\\uDC67\\uD83C\\uDFFC|\\uD83D\\uDC67\\uD83C\\uDFFB|\\uD83D\\uDC66\\uD83C\\uDFFF|\\uD83D\\uDC66\\uD83C\\uDFFE|\\uD83D\\uDC66\\uD83C\\uDFFD|\\uD83D\\uDC66\\uD83C\\uDFFC|\\uD83D\\uDC66\\uD83C\\uDFFB|\\uD83D\\uDC50\\uD83C\\uDFFF|\\uD83D\\uDC50\\uD83C\\uDFFE|\\uD83D\\uDC50\\uD83C\\uDFFD|\\uD83D\\uDC50\\uD83C\\uDFFC|\\uD83D\\uDC50\\uD83C\\uDFFB|\\uD83D\\uDC4F\\uD83C\\uDFFF|\\uD83D\\uDC4F\\uD83C\\uDFFE|\\uD83D\\uDC4F\\uD83C\\uDFFD|\\uD83D\\uDC4F\\uD83C\\uDFFC|\\uD83D\\uDC4F\\uD83C\\uDFFB|\\uD83D\\uDC4E\\uD83C\\uDFFF|\\uD83D\\uDC4E\\uD83C\\uDFFE|\\uD83D\\uDC4E\\uD83C\\uDFFD|\\uD83D\\uDC4E\\uD83C\\uDFFC|\\uD83D\\uDC4E\\uD83C\\uDFFB|\\uD83D\\uDC4D\\uD83C\\uDFFF|\\uD83D\\uDC4D\\uD83C\\uDFFE|\\uD83D\\uDC4D\\uD83C\\uDFFD|\\uD83D\\uDC4D\\uD83C\\uDFFC|\\uD83D\\uDC4D\\uD83C\\uDFFB|\\uD83D\\uDC4C\\uD83C\\uDFFF|\\uD83D\\uDC4C\\uD83C\\uDFFE|\\uD83D\\uDC4C\\uD83C\\uDFFD|\\uD83D\\uDC4C\\uD83C\\uDFFC|\\uD83D\\uDC4C\\uD83C\\uDFFB|\\uD83D\\uDC4B\\uD83C\\uDFFF|\\uD83D\\uDC4B\\uD83C\\uDFFE|\\uD83D\\uDC4B\\uD83C\\uDFFD|\\uD83D\\uDC4B\\uD83C\\uDFFC|\\uD83D\\uDC4B\\uD83C\\uDFFB|\\uD83D\\uDC4A\\uD83C\\uDFFF|\\uD83D\\uDC4A\\uD83C\\uDFFE|\\uD83D\\uDC4A\\uD83C\\uDFFD|\\uD83D\\uDC4A\\uD83C\\uDFFC|\\uD83D\\uDC4A\\uD83C\\uDFFB|\\uD83D\\uDC49\\uD83C\\uDFFF|\\uD83D\\uDC49\\uD83C\\uDFFE|\\uD83D\\uDC49\\uD83C\\uDFFD|\\uD83D\\uDC49\\uD83C\\uDFFC|\\uD83D\\uDC49\\uD83C\\uDFFB|\\uD83D\\uDC48\\uD83C\\uDFFF|\\uD83D\\uDC48\\uD83C\\uDFFE|\\uD83D\\uDC48\\uD83C\\uDFFD|\\uD83D\\uDC48\\uD83C\\uDFFC|\\uD83D\\uDC48\\uD83C\\uDFFB|\\uD83D\\uDC47\\uD83C\\uDFFF|\\uD83D\\uDC47\\uD83C\\uDFFE|\\uD83D\\uDC47\\uD83C\\uDFFD|\\uD83D\\uDC47\\uD83C\\uDFFC|\\uD83D\\uDC47\\uD83C\\uDFFB|\\uD83D\\uDC46\\uD83C\\uDFFF|\\uD83D\\uDC46\\uD83C\\uDFFE|\\uD83D\\uDC46\\uD83C\\uDFFD|\\uD83D\\uDC46\\uD83C\\uDFFC|\\uD83D\\uDC46\\uD83C\\uDFFB|\\uD83D\\uDC43\\uD83C\\uDFFF|\\uD83D\\uDC43\\uD83C\\uDFFE|\\uD83D\\uDC43\\uD83C\\uDFFD|\\uD83D\\uDC43\\uD83C\\uDFFC|\\uD83D\\uDC43\\uD83C\\uDFFB|\\uD83D\\uDC42\\uD83C\\uDFFF|\\uD83D\\uDC42\\uD83C\\uDFFE|\\uD83D\\uDC42\\uD83C\\uDFFD|\\uD83D\\uDC42\\uD83C\\uDFFC|\\uD83D\\uDC42\\uD83C\\uDFFB|\\uD83C\\uDFCB\\uD83C\\uDFFF|\\uD83C\\uDFCB\\uD83C\\uDFFE|\\uD83C\\uDFF3\\uD83C\\uDF08|\\uD83C\\uDFCB\\uD83C\\uDFFC|\\uD83C\\uDFCB\\uD83C\\uDFFB|\\uD83C\\uDFCA\\uD83C\\uDFFF|\\uD83C\\uDFCA\\uD83C\\uDFFE|\\uD83C\\uDFCA\\uD83C\\uDFFD|\\uD83C\\uDFCA\\uD83C\\uDFFC|\\uD83C\\uDFCA\\uD83C\\uDFFB|\\uD83C\\uDFC7\\uD83C\\uDFFF|\\uD83C\\uDFC7\\uD83C\\uDFFE|\\uD83C\\uDFC7\\uD83C\\uDFFD|\\uD83C\\uDFC7\\uD83C\\uDFFC|\\uD83C\\uDFC7\\uD83C\\uDFFB|\\uD83C\\uDFC4\\uD83C\\uDFFF|\\uD83C\\uDFCB\\uD83C\\uDFFD|\\uD83C\\uDFC4\\uD83C\\uDFFD|\\uD83C\\uDFC4\\uD83C\\uDFFC|\\uD83C\\uDFC4\\uD83C\\uDFFB|\\uD83C\\uDFC3\\uD83C\\uDFFF|\\uD83C\\uDFC3\\uD83C\\uDFFE|\\uD83C\\uDFC3\\uD83C\\uDFFD|\\uD83C\\uDFC3\\uD83C\\uDFFC|\\uD83C\\uDFC3\\uD83C\\uDFFB|\\uD83C\\uDF85\\uD83C\\uDFFF|\\uD83C\\uDF85\\uD83C\\uDFFE|\\uD83C\\uDF85\\uD83C\\uDFFD|\\uD83C\\uDF85\\uD83C\\uDFFC|\\uD83C\\uDF85\\uD83C\\uDFFB|\\uD83C\\uDDFF\\uD83C\\uDDFC|\\uD83C\\uDDFF\\uD83C\\uDDF2|\\uD83C\\uDDFF\\uD83C\\uDDE6|\\uD83C\\uDDFE\\uD83C\\uDDF9|\\uD83C\\uDDFE\\uD83C\\uDDEA|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDFC\\uD83C\\uDDF8|\\uD83C\\uDDFC\\uD83C\\uDDEB|\\uD83C\\uDDFB\\uD83C\\uDDFA|\\uD83C\\uDDFB\\uD83C\\uDDF3|\\uD83C\\uDDFB\\uD83C\\uDDEE|\\uD83C\\uDDFB\\uD83C\\uDDEC|\\uD83C\\uDDFB\\uD83C\\uDDEA|\\uD83C\\uDDFB\\uD83C\\uDDE8|\\uD83C\\uDDFB\\uD83C\\uDDE6|\\uD83C\\uDDFA\\uD83C\\uDDFF|\\uD83C\\uDDFA\\uD83C\\uDDFE|\\uD83C\\uDDFA\\uD83C\\uDDF8|\\uD83C\\uDDFA\\uD83C\\uDDF2|\\uD83C\\uDDFA\\uD83C\\uDDEC|\\uD83C\\uDDFA\\uD83C\\uDDE6|\\uD83C\\uDDF9\\uD83C\\uDDFF|\\uD83C\\uDDF9\\uD83C\\uDDFC|\\uD83C\\uDDF9\\uD83C\\uDDFB|\\uD83C\\uDDF9\\uD83C\\uDDF9|\\uD83C\\uDDF9\\uD83C\\uDDF7|\\uD83C\\uDDF9\\uD83C\\uDDF4|\\uD83C\\uDDF9\\uD83C\\uDDF3|\\uD83C\\uDDF9\\uD83C\\uDDF2|\\uD83C\\uDDF9\\uD83C\\uDDF1|\\uD83C\\uDDF9\\uD83C\\uDDF0|\\uD83C\\uDDF9\\uD83C\\uDDEF|\\uD83C\\uDDF9\\uD83C\\uDDED|\\uD83C\\uDDF9\\uD83C\\uDDEC|\\uD83C\\uDDF9\\uD83C\\uDDEB|\\uD83C\\uDDF9\\uD83C\\uDDE9|\\uD83C\\uDDF9\\uD83C\\uDDE8|\\uD83C\\uDDF9\\uD83C\\uDDE6|\\uD83C\\uDDF8\\uD83C\\uDDFF|\\uD83C\\uDDF8\\uD83C\\uDDFE|\\uD83C\\uDDF8\\uD83C\\uDDFD|\\uD83C\\uDDF8\\uD83C\\uDDFB|\\uD83C\\uDDF8\\uD83C\\uDDF9|\\uD83C\\uDDF8\\uD83C\\uDDF8|\\uD83C\\uDDF8\\uD83C\\uDDF7|\\uD83C\\uDDF8\\uD83C\\uDDF4|\\uD83C\\uDDF8\\uD83C\\uDDF3|\\uD83C\\uDDF8\\uD83C\\uDDF2|\\uD83C\\uDDF8\\uD83C\\uDDF1|\\uD83C\\uDDF8\\uD83C\\uDDF0|\\uD83C\\uDDF8\\uD83C\\uDDEF|\\uD83C\\uDDF8\\uD83C\\uDDEE|\\uD83C\\uDDF8\\uD83C\\uDDED|\\uD83C\\uDDF8\\uD83C\\uDDEC|\\uD83C\\uDDF8\\uD83C\\uDDEA|\\uD83C\\uDDF8\\uD83C\\uDDE9|\\uD83C\\uDDF8\\uD83C\\uDDE8|\\uD83C\\uDDF8\\uD83C\\uDDE7|\\uD83C\\uDDF8\\uD83C\\uDDE6|\\uD83C\\uDDF7\\uD83C\\uDDFC|\\uD83C\\uDDF7\\uD83C\\uDDFA|\\uD83C\\uDDF7\\uD83C\\uDDF8|\\uD83C\\uDDF7\\uD83C\\uDDF4|\\uD83C\\uDDF7\\uD83C\\uDDEA|\\uD83C\\uDDF6\\uD83C\\uDDE6|\\uD83C\\uDDF5\\uD83C\\uDDFE|\\uD83C\\uDDF5\\uD83C\\uDDFC|\\uD83C\\uDDF5\\uD83C\\uDDF9|\\uD83C\\uDDF5\\uD83C\\uDDF8|\\uD83C\\uDDF5\\uD83C\\uDDF7|\\uD83C\\uDDF5\\uD83C\\uDDF3|\\uD83C\\uDDF5\\uD83C\\uDDF2|\\uD83C\\uDDF5\\uD83C\\uDDF1|\\uD83C\\uDDF5\\uD83C\\uDDF0|\\uD83C\\uDDF5\\uD83C\\uDDED|\\uD83C\\uDDF5\\uD83C\\uDDEC|\\uD83C\\uDDF5\\uD83C\\uDDEB|\\uD83C\\uDDF5\\uD83C\\uDDEA|\\uD83C\\uDDF5\\uD83C\\uDDE6|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF3\\uD83C\\uDDFF|\\uD83C\\uDDF3\\uD83C\\uDDFA|\\uD83C\\uDDF3\\uD83C\\uDDF7|\\uD83C\\uDDF3\\uD83C\\uDDF5|\\uD83C\\uDDF3\\uD83C\\uDDF4|\\uD83C\\uDDF3\\uD83C\\uDDF1|\\uD83C\\uDDF3\\uD83C\\uDDEE|\\uD83C\\uDDF3\\uD83C\\uDDEC|\\uD83C\\uDDF3\\uD83C\\uDDEB|\\uD83C\\uDDF3\\uD83C\\uDDEA|\\uD83C\\uDDF3\\uD83C\\uDDE8|\\uD83C\\uDDF3\\uD83C\\uDDE6|\\uD83C\\uDDF2\\uD83C\\uDDFF|\\uD83C\\uDDF2\\uD83C\\uDDFE|\\uD83C\\uDDF2\\uD83C\\uDDFD|\\uD83C\\uDDF2\\uD83C\\uDDFC|\\uD83C\\uDDF2\\uD83C\\uDDFB|\\uD83C\\uDDF2\\uD83C\\uDDFA|\\uD83C\\uDDF2\\uD83C\\uDDF9|\\uD83C\\uDDF2\\uD83C\\uDDF8|\\uD83C\\uDDF2\\uD83C\\uDDF7|\\uD83C\\uDDF2\\uD83C\\uDDF6|\\uD83C\\uDDF2\\uD83C\\uDDF5|\\uD83C\\uDDF2\\uD83C\\uDDF4|\\uD83C\\uDDF2\\uD83C\\uDDF3|\\uD83C\\uDDF2\\uD83C\\uDDF2|\\uD83C\\uDDF2\\uD83C\\uDDF1|\\uD83C\\uDDF2\\uD83C\\uDDF0|\\uD83C\\uDDF2\\uD83C\\uDDED|\\uD83C\\uDDF2\\uD83C\\uDDEC|\\uD83C\\uDDF2\\uD83C\\uDDEB|\\uD83C\\uDDF2\\uD83C\\uDDEA|\\uD83C\\uDDF2\\uD83C\\uDDE9|\\uD83C\\uDDF2\\uD83C\\uDDE8|\\uD83C\\uDDF2\\uD83C\\uDDE6|\\uD83C\\uDDF1\\uD83C\\uDDFE|\\uD83C\\uDDF1\\uD83C\\uDDFB|\\uD83C\\uDDF1\\uD83C\\uDDFA|\\uD83C\\uDDF1\\uD83C\\uDDF9|\\uD83C\\uDDF1\\uD83C\\uDDF8|\\uD83C\\uDDF1\\uD83C\\uDDF7|\\uD83C\\uDDF1\\uD83C\\uDDF0|\\uD83C\\uDDF1\\uD83C\\uDDEE|\\uD83C\\uDDF1\\uD83C\\uDDE8|\\uD83C\\uDDF1\\uD83C\\uDDE7|\\uD83C\\uDDF1\\uD83C\\uDDE6|\\uD83C\\uDDF0\\uD83C\\uDDFF|\\uD83C\\uDDF0\\uD83C\\uDDFE|\\uD83C\\uDDF0\\uD83C\\uDDFC|\\uD83C\\uDDF0\\uD83C\\uDDF7|\\uD83C\\uDDF0\\uD83C\\uDDF5|\\uD83C\\uDDF0\\uD83C\\uDDF3|\\uD83C\\uDDF0\\uD83C\\uDDF2|\\uD83C\\uDDF0\\uD83C\\uDDEE|\\uD83C\\uDDF0\\uD83C\\uDDED|\\uD83C\\uDDF0\\uD83C\\uDDEC|\\uD83C\\uDDF0\\uD83C\\uDDEA|\\uD83C\\uDDEF\\uD83C\\uDDF5|\\uD83C\\uDDEF\\uD83C\\uDDF4|\\uD83C\\uDDEF\\uD83C\\uDDF2|\\uD83C\\uDDEF\\uD83C\\uDDEA|\\uD83C\\uDDEE\\uD83C\\uDDF9|\\uD83C\\uDDEE\\uD83C\\uDDF8|\\uD83C\\uDDEE\\uD83C\\uDDF7|\\uD83C\\uDDEE\\uD83C\\uDDF6|\\uD83C\\uDDEE\\uD83C\\uDDF4|\\uD83C\\uDDEE\\uD83C\\uDDF3|\\uD83C\\uDDEE\\uD83C\\uDDF2|\\uD83C\\uDDEE\\uD83C\\uDDF1|\\uD83C\\uDDEE\\uD83C\\uDDEA|\\uD83C\\uDDEE\\uD83C\\uDDE9|\\uD83C\\uDDEE\\uD83C\\uDDE8|\\uD83C\\uDDED\\uD83C\\uDDFA|\\uD83C\\uDDED\\uD83C\\uDDF9|\\uD83C\\uDDED\\uD83C\\uDDF7|\\uD83C\\uDDED\\uD83C\\uDDF3|\\uD83C\\uDDED\\uD83C\\uDDF2|\\uD83C\\uDDED\\uD83C\\uDDF0|\\uD83C\\uDDEC\\uD83C\\uDDFE|\\uD83C\\uDDEC\\uD83C\\uDDFC|\\uD83C\\uDDEC\\uD83C\\uDDFA|\\uD83C\\uDDEC\\uD83C\\uDDF9|\\uD83C\\uDDEC\\uD83C\\uDDF8|\\uD83C\\uDDEC\\uD83C\\uDDF7|\\uD83C\\uDDEC\\uD83C\\uDDF6|\\uD83C\\uDDEC\\uD83C\\uDDF5|\\uD83C\\uDDEC\\uD83C\\uDDF3|\\uD83C\\uDDEC\\uD83C\\uDDF2|\\uD83C\\uDDEC\\uD83C\\uDDF1|\\uD83C\\uDDEC\\uD83C\\uDDEE|\\uD83C\\uDDEC\\uD83C\\uDDED|\\uD83C\\uDDEC\\uD83C\\uDDEC|\\uD83C\\uDDEC\\uD83C\\uDDEB|\\uD83C\\uDDEC\\uD83C\\uDDEA|\\uD83C\\uDDEC\\uD83C\\uDDE9|\\uD83C\\uDDEC\\uD83C\\uDDE7|\\uD83C\\uDDEC\\uD83C\\uDDE6|\\uD83C\\uDDEB\\uD83C\\uDDF7|\\uD83C\\uDDEB\\uD83C\\uDDF4|\\uD83C\\uDDEB\\uD83C\\uDDF2|\\uD83C\\uDDEB\\uD83C\\uDDF0|\\uD83C\\uDDEB\\uD83C\\uDDEF|\\uD83C\\uDDEB\\uD83C\\uDDEE|\\uD83C\\uDDEA\\uD83C\\uDDFA|\\uD83C\\uDDEA\\uD83C\\uDDF9|\\uD83C\\uDDEA\\uD83C\\uDDF8|\\uD83C\\uDDEA\\uD83C\\uDDF7|\\uD83C\\uDDEA\\uD83C\\uDDED|\\uD83C\\uDDEA\\uD83C\\uDDEC|\\uD83C\\uDDEA\\uD83C\\uDDEA|\\uD83C\\uDDEA\\uD83C\\uDDE8|\\uD83C\\uDDEA\\uD83C\\uDDE6|\\uD83C\\uDDE9\\uD83C\\uDDFF|\\uD83C\\uDDE9\\uD83C\\uDDF4|\\uD83C\\uDDE9\\uD83C\\uDDF2|\\uD83C\\uDDE9\\uD83C\\uDDF0|\\uD83C\\uDDE9\\uD83C\\uDDEF|\\uD83C\\uDDE9\\uD83C\\uDDEC|\\uD83C\\uDDE9\\uD83C\\uDDEA|\\uD83C\\uDDE8\\uD83C\\uDDFF|\\uD83C\\uDDE8\\uD83C\\uDDFE|\\uD83C\\uDDE8\\uD83C\\uDDFD|\\uD83C\\uDDE8\\uD83C\\uDDFC|\\uD83C\\uDDE8\\uD83C\\uDDFB|\\uD83C\\uDDE8\\uD83C\\uDDFA|\\uD83C\\uDDE8\\uD83C\\uDDF7|\\uD83C\\uDDE8\\uD83C\\uDDF5|\\uD83C\\uDDE8\\uD83C\\uDDF4|\\uD83C\\uDDE8\\uD83C\\uDDF3|\\uD83C\\uDDE8\\uD83C\\uDDF2|\\uD83C\\uDDE8\\uD83C\\uDDF1|\\uD83C\\uDDE8\\uD83C\\uDDF0|\\uD83C\\uDDE8\\uD83C\\uDDEE|\\uD83C\\uDDE8\\uD83C\\uDDED|\\uD83C\\uDDE8\\uD83C\\uDDEC|\\uD83C\\uDDE8\\uD83C\\uDDEB|\\uD83C\\uDDE8\\uD83C\\uDDE9|\\uD83C\\uDDE8\\uD83C\\uDDE8|\\uD83C\\uDDE8\\uD83C\\uDDE6|\\uD83C\\uDDE7\\uD83C\\uDDFF|\\uD83C\\uDDE7\\uD83C\\uDDFE|\\uD83C\\uDDE7\\uD83C\\uDDFC|\\uD83C\\uDDE7\\uD83C\\uDDFB|\\uD83C\\uDDE7\\uD83C\\uDDF9|\\uD83C\\uDDE7\\uD83C\\uDDF8|\\uD83C\\uDDE7\\uD83C\\uDDF7|\\uD83C\\uDDE7\\uD83C\\uDDF6|\\uD83C\\uDDE7\\uD83C\\uDDF4|\\uD83C\\uDDE7\\uD83C\\uDDF3|\\uD83C\\uDDE7\\uD83C\\uDDF2|\\uD83C\\uDDE7\\uD83C\\uDDF1|\\uD83C\\uDDE7\\uD83C\\uDDEF|\\uD83C\\uDDE7\\uD83C\\uDDEE|\\uD83C\\uDDE7\\uD83C\\uDDED|\\uD83C\\uDDE7\\uD83C\\uDDEC|\\uD83C\\uDDE7\\uD83C\\uDDEB|\\uD83C\\uDDE7\\uD83C\\uDDEA|\\uD83C\\uDDE7\\uD83C\\uDDE9|\\uD83C\\uDDE7\\uD83C\\uDDE7|\\uD83C\\uDDE7\\uD83C\\uDDE6|\\uD83C\\uDDE6\\uD83C\\uDDFF|\\uD83C\\uDDE6\\uD83C\\uDDFD|\\uD83C\\uDDE6\\uD83C\\uDDFC|\\uD83C\\uDDE6\\uD83C\\uDDFA|\\uD83C\\uDDE6\\uD83C\\uDDF9|\\uD83C\\uDFC4\\uD83C\\uDFFE|\\uD83D\\uDDE3\\uFE0F|\\u26F9\\uD83C\\uDFFF|\\u26F9\\uD83C\\uDFFE|\\u26F9\\uD83C\\uDFFD|\\u26F9\\uD83C\\uDFFC|\\u26F9\\uD83C\\uDFFB|\\u270D\\uD83C\\uDFFF|\\u270D\\uD83C\\uDFFE|\\u270D\\uD83C\\uDFFD|\\u270D\\uD83C\\uDFFC|\\u270D\\uD83C\\uDFFB|\\uD83C\\uDC04\\uFE0F|\\uD83C\\uDD7F\\uFE0F|\\uD83C\\uDE02\\uFE0F|\\uD83C\\uDE1A\\uFE0F|\\uD83C\\uDE2F\\uFE0F|\\uD83C\\uDE37\\uFE0F|\\uD83C\\uDF9E\\uFE0F|\\uD83C\\uDF9F\\uFE0F|\\uD83C\\uDFCB\\uFE0F|\\uD83C\\uDFCC\\uFE0F|\\uD83C\\uDFCD\\uFE0F|\\uD83C\\uDFCE\\uFE0F|\\uD83C\\uDF96\\uFE0F|\\uD83C\\uDF97\\uFE0F|\\uD83C\\uDF36\\uFE0F|\\uD83C\\uDF27\\uFE0F|\\uD83C\\uDF28\\uFE0F|\\uD83C\\uDF29\\uFE0F|\\uD83C\\uDF2A\\uFE0F|\\uD83C\\uDF2B\\uFE0F|\\uD83C\\uDF2C\\uFE0F|\\uD83D\\uDC3F\\uFE0F|\\uD83D\\uDD77\\uFE0F|\\uD83D\\uDD78\\uFE0F|\\uD83C\\uDF21\\uFE0F|\\uD83C\\uDF99\\uFE0F|\\uD83C\\uDF9A\\uFE0F|\\uD83C\\uDF9B\\uFE0F|\\uD83C\\uDFF3\\uFE0F|\\uD83C\\uDFF5\\uFE0F|\\uD83C\\uDFF7\\uFE0F|\\uD83D\\uDCFD\\uFE0F|\\uD83D\\uDD49\\uFE0F|\\uD83D\\uDD4A\\uFE0F|\\uD83D\\uDD6F\\uFE0F|\\uD83D\\uDD70\\uFE0F|\\uD83D\\uDD73\\uFE0F|\\uD83D\\uDD76\\uFE0F|\\uD83D\\uDD79\\uFE0F|\\uD83D\\uDD87\\uFE0F|\\uD83D\\uDD8A\\uFE0F|\\uD83D\\uDD8B\\uFE0F|\\uD83D\\uDD8C\\uFE0F|\\uD83D\\uDD8D\\uFE0F|\\uD83D\\uDDA5\\uFE0F|\\uD83D\\uDDA8\\uFE0F|\\uD83D\\uDDB2\\uFE0F|\\uD83D\\uDDBC\\uFE0F|\\uD83D\\uDDC2\\uFE0F|\\uD83D\\uDDC3\\uFE0F|\\uD83D\\uDDC4\\uFE0F|\\uD83D\\uDDD1\\uFE0F|\\uD83D\\uDDD2\\uFE0F|\\uD83D\\uDDD3\\uFE0F|\\uD83D\\uDDDC\\uFE0F|\\uD83D\\uDDDD\\uFE0F|\\uD83D\\uDDDE\\uFE0F|\\uD83D\\uDDE1\\uFE0F|\\u270B\\uD83C\\uDFFF|\\uD83D\\uDDE8\\uFE0F|\\uD83D\\uDDEF\\uFE0F|\\uD83D\\uDDF3\\uFE0F|\\uD83D\\uDDFA\\uFE0F|\\uD83D\\uDEE0\\uFE0F|\\uD83D\\uDEE1\\uFE0F|\\uD83D\\uDEE2\\uFE0F|\\uD83D\\uDEF0\\uFE0F|\\uD83C\\uDF7D\\uFE0F|\\uD83D\\uDC41\\uFE0F|\\uD83D\\uDD74\\uFE0F|\\uD83D\\uDD75\\uFE0F|\\uD83D\\uDD90\\uFE0F|\\uD83C\\uDFD4\\uFE0F|\\uD83C\\uDFD5\\uFE0F|\\uD83C\\uDFD6\\uFE0F|\\uD83C\\uDFD7\\uFE0F|\\uD83C\\uDFD8\\uFE0F|\\uD83C\\uDFD9\\uFE0F|\\uD83C\\uDFDA\\uFE0F|\\uD83C\\uDFDB\\uFE0F|\\uD83C\\uDFDC\\uFE0F|\\uD83C\\uDFDD\\uFE0F|\\uD83C\\uDFDE\\uFE0F|\\uD83C\\uDFDF\\uFE0F|\\uD83D\\uDECB\\uFE0F|\\uD83D\\uDECD\\uFE0F|\\uD83D\\uDECE\\uFE0F|\\uD83D\\uDECF\\uFE0F|\\uD83D\\uDEE3\\uFE0F|\\uD83D\\uDEE4\\uFE0F|\\uD83D\\uDEE5\\uFE0F|\\uD83D\\uDEE9\\uFE0F|\\uD83D\\uDEF3\\uFE0F|\\uD83C\\uDF24\\uFE0F|\\uD83C\\uDF25\\uFE0F|\\uD83C\\uDF26\\uFE0F|\\uD83D\\uDDB1\\uFE0F|\\u261D\\uD83C\\uDFFB|\\u261D\\uD83C\\uDFFC|\\u261D\\uD83C\\uDFFD|\\u261D\\uD83C\\uDFFE|\\u261D\\uD83C\\uDFFF|\\u270C\\uD83C\\uDFFB|\\u270C\\uD83C\\uDFFC|\\u270C\\uD83C\\uDFFD|\\u270C\\uD83C\\uDFFE|\\u270C\\uD83C\\uDFFF|\\u270A\\uD83C\\uDFFB|\\u270A\\uD83C\\uDFFC|\\u270A\\uD83C\\uDFFD|\\u270A\\uD83C\\uDFFE|\\u270A\\uD83C\\uDFFF|\\u270B\\uD83C\\uDFFB|\\u270B\\uD83C\\uDFFC|\\u270B\\uD83C\\uDFFD|\\u270B\\uD83C\\uDFFE|\\4\\uFE0F\\u20E3|\\9\\uFE0F\\u20E3|\\0\\uFE0F\\u20E3|\\1\\uFE0F\\u20E3|\\2\\uFE0F\\u20E3|\\3\\uFE0F\\u20E3|\\#\\uFE0F\\u20E3|\\5\\uFE0F\\u20E3|\\6\\uFE0F\\u20E3|\\7\\uFE0F\\u20E3|\\8\\uFE0F\\u20E3|\\*\\uFE0F\\u20E3|\\uD83D\\uDDE1|\\uD83D\\uDD77|\\uD83D\\uDDE3|\\uD83D\\uDEE4|\\uD83D\\uDDE8|\\uD83D\\uDD78|\\uD83D\\uDDEF|\\uD83C\\uDE37|\\uD83D\\uDDF3|\\uD83C\\uDF21|\\uD83D\\uDDFA|\\uD83D\\uDDB1|\\uD83D\\uDEE0|\\uD83C\\uDF99|\\uD83D\\uDEE1|\\uD83C\\uDF9E|\\uD83D\\uDEE2|\\uD83C\\uDF9A|\\uD83D\\uDEF0|\\uD83D\\uDEE3|\\uD83C\\uDF7D|\\uD83C\\uDF9B|\\uD83D\\uDC41|\\uD83C\\uDF9F|\\uD83D\\uDD74|\\uD83C\\uDFF3|\\uD83D\\uDD75|\\uD83D\\uDEF3|\\uD83D\\uDD90|\\uD83C\\uDFF5|\\uD83C\\uDFD4|\\uD83C\\uDFCB|\\uD83C\\uDFD5|\\uD83C\\uDFF7|\\uD83C\\uDFD6|\\uD83D\\uDECF|\\uD83C\\uDFD7|\\uD83D\\uDCFD|\\uD83C\\uDFD8|\\uD83C\\uDFCC|\\uD83C\\uDFD9|\\uD83D\\uDD49|\\uD83C\\uDFDA|\\uD83C\\uDF25|\\uD83C\\uDFDB|\\uD83D\\uDD4A|\\uD83C\\uDFDC|\\uD83C\\uDFCD|\\uD83C\\uDFDD|\\uD83D\\uDD6F|\\uD83C\\uDFDE|\\uD83D\\uDECE|\\uD83C\\uDFDF|\\uD83D\\uDD70|\\uD83D\\uDECB|\\uD83C\\uDFCE|\\uD83D\\uDECD|\\uD83D\\uDD73|\\uD83D\\uDECE|\\uD83D\\uDEE9|\\uD83D\\uDECF|\\uD83D\\uDD76|\\uD83D\\uDEE3|\\uD83C\\uDF96|\\uD83D\\uDEE4|\\uD83D\\uDD79|\\uD83D\\uDEE5|\\uD83D\\uDECD|\\uD83D\\uDEE9|\\uD83D\\uDD87|\\uD83D\\uDEF3|\\uD83C\\uDF97|\\uD83C\\uDF24|\\uD83D\\uDD8A|\\uD83C\\uDF25|\\uD83C\\uDC04|\\uD83C\\uDF26|\\uD83D\\uDD8B|\\uD83D\\uDDB1|\\uD83C\\uDF36|\\uD83D\\uDD8C|\\uD83C\\uDF26|\\uD83D\\uDD8D|\\uD83C\\uDF27|\\uD83D\\uDDA5|\\uD83C\\uDD7F|\\uD83D\\uDDA8|\\uD83C\\uDF28|\\uD83D\\uDDB2|\\uD83D\\uDECB|\\uD83D\\uDDBC|\\uD83C\\uDF29|\\uD83D\\uDDC2|\\uD83C\\uDE02|\\uD83D\\uDDC3|\\uD83C\\uDF2A|\\uD83D\\uDDC4|\\uD83D\\uDEE5|\\uD83D\\uDDD1|\\uD83C\\uDF2B|\\uD83D\\uDDD2|\\uD83C\\uDE1A|\\uD83D\\uDDD3|\\uD83C\\uDF2C|\\uD83D\\uDDDC|\\uD83C\\uDF24|\\uD83D\\uDDDD|\\uD83D\\uDC3F|\\uD83D\\uDDDE|\\u00A9\\uFE0F|\\uD83C\\uDFDF|\\u00AE\\uFE0F|\\uD83C\\uDFDE|\\u203C\\uFE0F|\\uD83C\\uDFDD|\\u2049\\uFE0F|\\uD83C\\uDFDC|\\u2122\\uFE0F|\\uD83C\\uDFDB|\\u2139\\uFE0F|\\uD83C\\uDFDA|\\u2194\\uFE0F|\\uD83C\\uDFD9|\\u2195\\uFE0F|\\uD83C\\uDFD8|\\u2196\\uFE0F|\\uD83C\\uDFD7|\\u2197\\uFE0F|\\uD83C\\uDFD6|\\u2198\\uFE0F|\\uD83C\\uDFD5|\\u2199\\uFE0F|\\uD83C\\uDFD4|\\u21A9\\uFE0F|\\uD83D\\uDD90|\\u21AA\\uFE0F|\\uD83D\\uDD75|\\u231A\\uFE0F|\\uD83D\\uDD74|\\u231B\\uFE0F|\\uD83D\\uDC41|\\u24C2\\uFE0F|\\uD83C\\uDF7D|\\u25AA\\uFE0F|\\uD83D\\uDEF0|\\u25AB\\uFE0F|\\uD83D\\uDEE2|\\u25B6\\uFE0F|\\uD83D\\uDEE1|\\u25C0\\uFE0F|\\uD83D\\uDEE0|\\u25FB\\uFE0F|\\uD83D\\uDDFA|\\u25FC\\uFE0F|\\uD83D\\uDDF3|\\u25FD\\uFE0F|\\uD83D\\uDDEF|\\u25FE\\uFE0F|\\uD83D\\uDDE8|\\u2600\\uFE0F|\\uD83D\\uDDE3|\\u2601\\uFE0F|\\uD83D\\uDDE1|\\u260E\\uFE0F|\\uD83D\\uDDDE|\\u2611\\uFE0F|\\uD83D\\uDDDD|\\u2614\\uFE0F|\\uD83D\\uDDDC|\\u2615\\uFE0F|\\uD83D\\uDDD3|\\u261D\\uFE0F|\\uD83D\\uDDD2|\\u263A\\uFE0F|\\uD83D\\uDDD1|\\u2648\\uFE0F|\\uD83D\\uDDC4|\\u2649\\uFE0F|\\uD83D\\uDDC3|\\u264A\\uFE0F|\\uD83D\\uDDC2|\\u264B\\uFE0F|\\uD83D\\uDDBC|\\u264C\\uFE0F|\\uD83D\\uDDB2|\\u264D\\uFE0F|\\uD83D\\uDDA8|\\u264E\\uFE0F|\\uD83D\\uDDA5|\\u264F\\uFE0F|\\uD83D\\uDD8D|\\u2650\\uFE0F|\\uD83D\\uDD8C|\\u2651\\uFE0F|\\uD83D\\uDD8B|\\u2652\\uFE0F|\\uD83D\\uDD8A|\\u2653\\uFE0F|\\uD83D\\uDD87|\\u2660\\uFE0F|\\uD83D\\uDD79|\\u2663\\uFE0F|\\uD83D\\uDD76|\\u2665\\uFE0F|\\uD83D\\uDD73|\\u2666\\uFE0F|\\uD83D\\uDD70|\\u2668\\uFE0F|\\uD83D\\uDD6F|\\u267B\\uFE0F|\\uD83D\\uDD4A|\\u267F\\uFE0F|\\uD83D\\uDD49|\\u2693\\uFE0F|\\uD83D\\uDCFD|\\u26A0\\uFE0F|\\uD83C\\uDFF7|\\u26A1\\uFE0F|\\uD83C\\uDFF5|\\u26AA\\uFE0F|\\uD83C\\uDFF3|\\u26AB\\uFE0F|\\uD83C\\uDF9B|\\u26BD\\uFE0F|\\uD83C\\uDF9A|\\u26BE\\uFE0F|\\uD83C\\uDF99|\\u26C4\\uFE0F|\\uD83C\\uDF21|\\u26C5\\uFE0F|\\uD83D\\uDD78|\\u26D4\\uFE0F|\\uD83D\\uDD77|\\u26EA\\uFE0F|\\uD83D\\uDC3F|\\uD83C\\uDE2F|\\uD83C\\uDF2C|\\u26F3\\uFE0F|\\uD83C\\uDF2B|\\u26F5\\uFE0F|\\uD83C\\uDF2A|\\u26FA\\uFE0F|\\uD83C\\uDF29|\\u26FD\\uFE0F|\\uD83C\\uDF28|\\u2702\\uFE0F|\\uD83C\\uDF27|\\u2708\\uFE0F|\\uD83C\\uDF36|\\u2709\\uFE0F|\\uD83C\\uDF97|\\u270C\\uFE0F|\\uD83C\\uDF96|\\u270F\\uFE0F|\\uD83C\\uDFCE|\\u2712\\uFE0F|\\uD83C\\uDFCD|\\u2714\\uFE0F|\\uD83C\\uDFCC|\\u2716\\uFE0F|\\uD83C\\uDFCB|\\u2733\\uFE0F|\\uD83C\\uDF9F|\\u2734\\uFE0F|\\uD83C\\uDF9E|\\u2744\\uFE0F|\\uD83C\\uDE37|\\u2747\\uFE0F|\\uD83C\\uDE2F|\\u2757\\uFE0F|\\uD83C\\uDE1A|\\u2764\\uFE0F|\\uD83C\\uDE02|\\u27A1\\uFE0F|\\uD83C\\uDD7F|\\u2934\\uFE0F|\\uD83C\\uDC04|\\u2935\\uFE0F|\\uD83C\\uDDE6|\\u2B05\\uFE0F|\\uD83C\\uDDE7|\\u2B06\\uFE0F|\\uD83C\\uDDE8|\\u2B07\\uFE0F|\\uD83C\\uDDE9|\\u2B1B\\uFE0F|\\uD83C\\uDDEA|\\u2B1C\\uFE0F|\\uD83C\\uDDEB|\\u2B50\\uFE0F|\\uD83C\\uDDEC|\\u2B55\\uFE0F|\\uD83C\\uDDED|\\u3030\\uFE0F|\\uD83C\\uDDEE|\\u303D\\uFE0F|\\uD83C\\uDDEF|\\u3297\\uFE0F|\\uD83C\\uDDF0|\\u3299\\uFE0F|\\uD83C\\uDDF1|\\u271D\\uFE0F|\\uD83C\\uDDF2|\\u2328\\uFE0F|\\uD83C\\uDDF3|\\u270D\\uFE0F|\\uD83C\\uDDF4|\\u23CF\\uFE0F|\\uD83C\\uDDF5|\\u23ED\\uFE0F|\\uD83C\\uDDF6|\\u23EE\\uFE0F|\\uD83C\\uDDF7|\\u23EF\\uFE0F|\\uD83C\\uDDF8|\\u23F1\\uFE0F|\\uD83C\\uDDF9|\\u23F2\\uFE0F|\\uD83C\\uDDFA|\\u23F8\\uFE0F|\\uD83C\\uDDFB|\\u23F9\\uFE0F|\\uD83C\\uDDFC|\\u23FA\\uFE0F|\\uD83E\\uDD5E|\\u2602\\uFE0F|\\uD83E\\uDD5D|\\u2603\\uFE0F|\\uD83E\\uDD5C|\\u2604\\uFE0F|\\uD83E\\uDD5B|\\u2618\\uFE0F|\\uD83E\\uDD5A|\\u2620\\uFE0F|\\uD83E\\uDD91|\\u2622\\uFE0F|\\uD83E\\uDD90|\\u2623\\uFE0F|\\uD83E\\uDD41|\\u2626\\uFE0F|\\uD83C\\uDFF8|\\u262A\\uFE0F|\\uD83C\\uDFD3|\\u262E\\uFE0F|\\uD83C\\uDFD2|\\u262F\\uFE0F|\\uD83C\\uDFD1|\\u2638\\uFE0F|\\uD83C\\uDFD0|\\u2639\\uFE0F|\\uD83C\\uDFCF|\\u2692\\uFE0F|\\uD83D\\uDCFF|\\u2694\\uFE0F|\\uD83D\\uDD4E|\\u2696\\uFE0F|\\uD83D\\uDD4D|\\u2697\\uFE0F|\\uD83D\\uDD4C|\\u2699\\uFE0F|\\uD83D\\uDD4B|\\u269B\\uFE0F|\\uD83D\\uDED0|\\u269C\\uFE0F|\\uD83C\\uDFFA|\\u26B0\\uFE0F|\\uD83C\\uDFF9|\\u26B1\\uFE0F|\\uD83C\\uDF7E|\\u26C8\\uFE0F|\\uD83C\\uDF7F|\\u26CF\\uFE0F|\\uD83C\\uDF2F|\\u26D1\\uFE0F|\\uD83C\\uDF2E|\\u26D3\\uFE0F|\\uD83C\\uDF2D|\\u26E9\\uFE0F|\\uD83E\\uDDC0|\\u26F0\\uFE0F|\\uD83E\\uDD83|\\u26F1\\uFE0F|\\uD83E\\uDD80|\\u26F4\\uFE0F|\\uD83E\\uDD82|\\u26F7\\uFE0F|\\uD83E\\uDD84|\\u26F8\\uFE0F|\\uD83E\\uDD81|\\u26F9\\uFE0F|\\uD83E\\uDD16|\\u2721\\uFE0F|\\uD83E\\uDD15|\\u2763\\uFE0F|\\uD83E\\uDD12|\\uD83E\\uDD49|\\uD83E\\uDD48|\\uD83E\\uDD47|\\uD83E\\uDD3A|\\uD83E\\uDD45|\\uD83E\\uDD3E|\\uD83C\\uDDFF|\\uD83E\\uDD3D|\\uD83E\\uDD4B|\\uD83E\\uDD4A|\\uD83E\\uDD3C|\\uD83E\\uDD39|\\uD83E\\uDD38|\\uD83D\\uDEF6|\\uD83D\\uDEF5|\\uD83D\\uDEF4|\\uD83D\\uDED2|\\uD83C\\uDCCF|\\uD83C\\uDD70|\\uD83C\\uDD71|\\uD83C\\uDD7E|\\uD83D\\uDED1|\\uD83C\\uDD8E|\\uD83C\\uDD91|\\uD83C\\uDDFE|\\uD83C\\uDD92|\\uD83C\\uDD93|\\uD83C\\uDD94|\\uD83C\\uDD95|\\uD83C\\uDD96|\\uD83C\\uDD97|\\uD83C\\uDD98|\\uD83E\\uDD44|\\uD83C\\uDD99|\\uD83C\\uDD9A|\\uD83E\\uDD42|\\uD83E\\uDD43|\\uD83C\\uDE01|\\uD83E\\uDD59|\\uD83C\\uDE32|\\uD83C\\uDE33|\\uD83C\\uDE34|\\uD83C\\uDE35|\\uD83C\\uDE36|\\uD83E\\uDD58|\\uD83C\\uDE38|\\uD83C\\uDE39|\\uD83E\\uDD57|\\uD83C\\uDE3A|\\uD83C\\uDE50|\\uD83C\\uDE51|\\uD83C\\uDF00|\\uD83E\\uDD56|\\uD83C\\uDF01|\\uD83C\\uDF02|\\uD83C\\uDF03|\\uD83C\\uDF04|\\uD83C\\uDF05|\\uD83C\\uDF06|\\uD83E\\uDD55|\\uD83C\\uDF07|\\uD83C\\uDF08|\\uD83E\\uDD54|\\uD83C\\uDF09|\\uD83C\\uDF0A|\\uD83C\\uDF0B|\\uD83C\\uDF0C|\\uD83C\\uDF0F|\\uD83C\\uDF11|\\uD83E\\uDD53|\\uD83C\\uDF13|\\uD83C\\uDF14|\\uD83C\\uDF15|\\uD83C\\uDF19|\\uD83C\\uDF1B|\\uD83C\\uDF1F|\\uD83E\\uDD52|\\uD83C\\uDF20|\\uD83C\\uDF30|\\uD83E\\uDD51|\\uD83C\\uDF31|\\uD83C\\uDF34|\\uD83C\\uDF35|\\uD83C\\uDF37|\\uD83C\\uDF38|\\uD83C\\uDF39|\\uD83C\\uDF3A|\\uD83C\\uDF3B|\\uD83C\\uDF3C|\\uD83C\\uDF3D|\\uD83E\\uDD50|\\uD83C\\uDF3E|\\uD83C\\uDF3F|\\uD83C\\uDF40|\\uD83C\\uDF41|\\uD83C\\uDF42|\\uD83C\\uDF43|\\uD83C\\uDF44|\\uD83C\\uDF45|\\uD83C\\uDF46|\\uD83C\\uDF47|\\uD83C\\uDF48|\\uD83C\\uDF49|\\uD83C\\uDF4A|\\uD83E\\uDD40|\\uD83C\\uDF4C|\\uD83C\\uDF4D|\\uD83C\\uDF4E|\\uD83C\\uDF4F|\\uD83C\\uDF51|\\uD83C\\uDF52|\\uD83C\\uDF53|\\uD83E\\uDD8F|\\uD83C\\uDF54|\\uD83C\\uDF55|\\uD83C\\uDF56|\\uD83E\\uDD8E|\\uD83C\\uDF57|\\uD83C\\uDF58|\\uD83C\\uDF59|\\uD83E\\uDD8D|\\uD83C\\uDF5A|\\uD83C\\uDF5B|\\uD83E\\uDD8C|\\uD83C\\uDF5C|\\uD83C\\uDF5D|\\uD83C\\uDF5E|\\uD83C\\uDF5F|\\uD83E\\uDD8B|\\uD83C\\uDF60|\\uD83C\\uDF61|\\uD83E\\uDD8A|\\uD83C\\uDF62|\\uD83C\\uDF63|\\uD83E\\uDD89|\\uD83C\\uDF64|\\uD83C\\uDF65|\\uD83E\\uDD88|\\uD83C\\uDF66|\\uD83E\\uDD87|\\uD83C\\uDF67|\\uD83C\\uDDFD|\\uD83C\\uDF68|\\uD83E\\uDD86|\\uD83C\\uDF69|\\uD83E\\uDD85|\\uD83C\\uDF6A|\\uD83D\\uDDA4|\\uD83C\\uDF6B|\\uD83C\\uDF6C|\\uD83C\\uDF6D|\\uD83C\\uDF6E|\\uD83C\\uDF6F|\\uD83E\\uDD1E|\\uD83C\\uDF70|\\uD83C\\uDF71|\\uD83C\\uDF72|\\uD83E\\uDD1D|\\uD83C\\uDF73|\\uD83C\\uDF74|\\uD83C\\uDF75|\\uD83C\\uDF76|\\uD83C\\uDF77|\\uD83C\\uDF78|\\uD83C\\uDF79|\\uD83C\\uDF7A|\\uD83C\\uDF7B|\\uD83C\\uDF80|\\uD83C\\uDF81|\\uD83C\\uDF82|\\uD83C\\uDF83|\\uD83E\\uDD1B|\\uD83E\\uDD1C|\\uD83C\\uDF84|\\uD83C\\uDF85|\\uD83C\\uDF86|\\uD83E\\uDD1A|\\uD83C\\uDF87|\\uD83C\\uDF88|\\uD83C\\uDF89|\\uD83C\\uDF8A|\\uD83C\\uDF8B|\\uD83C\\uDF8C|\\uD83E\\uDD19|\\uD83C\\uDF8D|\\uD83D\\uDD7A|\\uD83C\\uDF8E|\\uD83E\\uDD33|\\uD83C\\uDF8F|\\uD83E\\uDD30|\\uD83C\\uDF90|\\uD83E\\uDD26|\\uD83E\\uDD37|\\uD83C\\uDF91|\\uD83C\\uDF92|\\uD83C\\uDF93|\\uD83C\\uDFA0|\\uD83C\\uDFA1|\\uD83C\\uDFA2|\\uD83C\\uDFA3|\\uD83C\\uDFA4|\\uD83C\\uDFA5|\\uD83C\\uDFA6|\\uD83C\\uDFA7|\\uD83E\\uDD36|\\uD83C\\uDFA8|\\uD83E\\uDD35|\\uD83C\\uDFA9|\\uD83C\\uDFAA|\\uD83E\\uDD34|\\uD83C\\uDFAB|\\uD83C\\uDFAC|\\uD83C\\uDFAD|\\uD83E\\uDD27|\\uD83C\\uDFAE|\\uD83C\\uDFAF|\\uD83C\\uDFB0|\\uD83C\\uDFB1|\\uD83C\\uDFB2|\\uD83C\\uDFB3|\\uD83C\\uDFB4|\\uD83E\\uDD25|\\uD83C\\uDFB5|\\uD83C\\uDFB6|\\uD83C\\uDFB7|\\uD83E\\uDD24|\\uD83C\\uDFB8|\\uD83C\\uDFB9|\\uD83C\\uDFBA|\\uD83E\\uDD23|\\uD83C\\uDFBB|\\uD83C\\uDFBC|\\uD83C\\uDFBD|\\uD83E\\uDD22|\\uD83C\\uDFBE|\\uD83C\\uDFBF|\\uD83C\\uDFC0|\\uD83C\\uDFC1|\\uD83E\\uDD21|\\uD83C\\uDFC2|\\uD83C\\uDFC3|\\uD83C\\uDFC4|\\uD83C\\uDFC6|\\uD83C\\uDFC8|\\uD83C\\uDFCA|\\uD83C\\uDFE0|\\uD83C\\uDFE1|\\uD83C\\uDFE2|\\uD83C\\uDFE3|\\uD83C\\uDFE5|\\uD83C\\uDFE6|\\uD83C\\uDFE7|\\uD83C\\uDFE8|\\uD83C\\uDFE9|\\uD83C\\uDFEA|\\uD83C\\uDFEB|\\uD83C\\uDFEC|\\uD83E\\uDD20|\\uD83C\\uDFED|\\uD83C\\uDFEE|\\uD83C\\uDFEF|\\uD83C\\uDFF0|\\uD83D\\uDC0C|\\uD83D\\uDC0D|\\uD83D\\uDC0E|\\uD83D\\uDC11|\\uD83D\\uDC12|\\uD83D\\uDC14|\\uD83D\\uDC17|\\uD83D\\uDC18|\\uD83D\\uDC19|\\uD83D\\uDC1A|\\uD83D\\uDC1B|\\uD83D\\uDC1C|\\uD83D\\uDC1D|\\uD83D\\uDC1E|\\uD83D\\uDC1F|\\uD83D\\uDC20|\\uD83D\\uDC21|\\uD83D\\uDC22|\\uD83D\\uDC23|\\uD83D\\uDC24|\\uD83D\\uDC25|\\uD83D\\uDC26|\\uD83D\\uDC27|\\uD83D\\uDC28|\\uD83D\\uDC29|\\uD83D\\uDC2B|\\uD83D\\uDC2C|\\uD83D\\uDC2D|\\uD83D\\uDC2E|\\uD83D\\uDC2F|\\uD83D\\uDC30|\\uD83D\\uDC31|\\uD83D\\uDC32|\\uD83D\\uDC33|\\uD83D\\uDC34|\\uD83D\\uDC35|\\uD83D\\uDC36|\\uD83D\\uDC37|\\uD83D\\uDC38|\\uD83D\\uDC39|\\uD83D\\uDC3A|\\uD83D\\uDC3B|\\uD83D\\uDC3C|\\uD83D\\uDC3D|\\uD83D\\uDC3E|\\uD83D\\uDC40|\\uD83D\\uDC42|\\uD83D\\uDC43|\\uD83D\\uDC44|\\uD83D\\uDC45|\\uD83D\\uDC46|\\uD83D\\uDC47|\\uD83D\\uDC48|\\uD83D\\uDC49|\\uD83D\\uDC4A|\\uD83D\\uDC4B|\\uD83D\\uDC4C|\\uD83D\\uDC4D|\\uD83D\\uDC4E|\\uD83D\\uDC4F|\\uD83D\\uDC50|\\uD83D\\uDC51|\\uD83D\\uDC52|\\uD83D\\uDC53|\\uD83D\\uDC54|\\uD83D\\uDC55|\\uD83D\\uDC56|\\uD83D\\uDC57|\\uD83D\\uDC58|\\uD83D\\uDC59|\\uD83D\\uDC5A|\\uD83D\\uDC5B|\\uD83D\\uDC5C|\\uD83D\\uDC5D|\\uD83D\\uDC5E|\\uD83D\\uDC5F|\\uD83D\\uDC60|\\uD83D\\uDC61|\\uD83D\\uDC62|\\uD83D\\uDC63|\\uD83D\\uDC64|\\uD83D\\uDC66|\\uD83D\\uDC67|\\uD83D\\uDC68|\\uD83D\\uDC69|\\uD83D\\uDC6A|\\uD83D\\uDC6B|\\uD83D\\uDC6E|\\uD83D\\uDC6F|\\uD83D\\uDC70|\\uD83D\\uDC71|\\uD83D\\uDC72|\\uD83D\\uDC73|\\uD83D\\uDC74|\\uD83D\\uDC75|\\uD83D\\uDC76|\\uD83D\\uDC77|\\uD83D\\uDC78|\\uD83D\\uDC79|\\uD83D\\uDC7A|\\uD83D\\uDC7B|\\uD83D\\uDC7C|\\uD83D\\uDC7D|\\uD83D\\uDC7E|\\uD83D\\uDC7F|\\uD83D\\uDC80|\\uD83D\\uDCC7|\\uD83D\\uDC81|\\uD83D\\uDC82|\\uD83D\\uDC83|\\uD83D\\uDC84|\\uD83D\\uDC85|\\uD83D\\uDCD2|\\uD83D\\uDC86|\\uD83D\\uDCD3|\\uD83D\\uDC87|\\uD83D\\uDCD4|\\uD83D\\uDC88|\\uD83D\\uDCD5|\\uD83D\\uDC89|\\uD83D\\uDCD6|\\uD83D\\uDC8A|\\uD83D\\uDCD7|\\uD83D\\uDC8B|\\uD83D\\uDCD8|\\uD83D\\uDC8C|\\uD83D\\uDCD9|\\uD83D\\uDC8D|\\uD83D\\uDCDA|\\uD83D\\uDC8E|\\uD83D\\uDCDB|\\uD83D\\uDC8F|\\uD83D\\uDCDC|\\uD83D\\uDC90|\\uD83D\\uDCDD|\\uD83D\\uDC91|\\uD83D\\uDCDE|\\uD83D\\uDC92|\\uD83D\\uDCDF|\\uD83D\\uDCE0|\\uD83D\\uDC93|\\uD83D\\uDCE1|\\uD83D\\uDCE2|\\uD83D\\uDC94|\\uD83D\\uDCE3|\\uD83D\\uDCE4|\\uD83D\\uDC95|\\uD83D\\uDCE5|\\uD83D\\uDCE6|\\uD83D\\uDC96|\\uD83D\\uDCE7|\\uD83D\\uDCE8|\\uD83D\\uDC97|\\uD83D\\uDCE9|\\uD83D\\uDCEA|\\uD83D\\uDC98|\\uD83D\\uDCEB|\\uD83D\\uDCEE|\\uD83D\\uDC99|\\uD83D\\uDCF0|\\uD83D\\uDCF1|\\uD83D\\uDC9A|\\uD83D\\uDCF2|\\uD83D\\uDCF3|\\uD83D\\uDC9B|\\uD83D\\uDCF4|\\uD83D\\uDCF6|\\uD83D\\uDC9C|\\uD83D\\uDCF7|\\uD83D\\uDCF9|\\uD83D\\uDC9D|\\uD83D\\uDCFA|\\uD83D\\uDCFB|\\uD83D\\uDC9E|\\uD83D\\uDCFC|\\uD83D\\uDD03|\\uD83D\\uDC9F|\\uD83D\\uDD0A|\\uD83D\\uDD0B|\\uD83D\\uDCA0|\\uD83D\\uDD0C|\\uD83D\\uDD0D|\\uD83D\\uDCA1|\\uD83D\\uDD0E|\\uD83D\\uDD0F|\\uD83D\\uDCA2|\\uD83D\\uDD10|\\uD83D\\uDD11|\\uD83D\\uDCA3|\\uD83D\\uDD12|\\uD83D\\uDD13|\\uD83D\\uDCA4|\\uD83D\\uDD14|\\uD83D\\uDD16|\\uD83D\\uDCA5|\\uD83D\\uDD17|\\uD83D\\uDD18|\\uD83D\\uDCA6|\\uD83D\\uDD19|\\uD83D\\uDD1A|\\uD83D\\uDCA7|\\uD83D\\uDD1B|\\uD83D\\uDD1C|\\uD83D\\uDCA8|\\uD83D\\uDD1D|\\uD83D\\uDD1E|\\uD83D\\uDCA9|\\uD83D\\uDD1F|\\uD83D\\uDCAA|\\uD83D\\uDD20|\\uD83D\\uDD21|\\uD83D\\uDCAB|\\uD83D\\uDD22|\\uD83D\\uDD23|\\uD83D\\uDCAC|\\uD83D\\uDD24|\\uD83D\\uDD25|\\uD83D\\uDCAE|\\uD83D\\uDD26|\\uD83D\\uDD27|\\uD83D\\uDCAF|\\uD83D\\uDD28|\\uD83D\\uDD29|\\uD83D\\uDCB0|\\uD83D\\uDD2A|\\uD83D\\uDD2B|\\uD83D\\uDCB1|\\uD83D\\uDD2E|\\uD83D\\uDCB2|\\uD83D\\uDD2F|\\uD83D\\uDCB3|\\uD83D\\uDD30|\\uD83D\\uDD31|\\uD83D\\uDCB4|\\uD83D\\uDD32|\\uD83D\\uDD33|\\uD83D\\uDCB5|\\uD83D\\uDD34|\\uD83D\\uDD35|\\uD83D\\uDCB8|\\uD83D\\uDD36|\\uD83D\\uDD37|\\uD83D\\uDCB9|\\uD83D\\uDD38|\\uD83D\\uDD39|\\uD83D\\uDCBA|\\uD83D\\uDD3A|\\uD83D\\uDD3B|\\uD83D\\uDCBB|\\uD83D\\uDD3C|\\uD83D\\uDCBC|\\uD83D\\uDD3D|\\uD83D\\uDD50|\\uD83D\\uDCBD|\\uD83D\\uDD51|\\uD83D\\uDCBE|\\uD83D\\uDD52|\\uD83D\\uDCBF|\\uD83D\\uDD53|\\uD83D\\uDCC0|\\uD83D\\uDD54|\\uD83D\\uDD55|\\uD83D\\uDCC1|\\uD83D\\uDD56|\\uD83D\\uDD57|\\uD83D\\uDCC2|\\uD83D\\uDD58|\\uD83D\\uDD59|\\uD83D\\uDCC3|\\uD83D\\uDD5A|\\uD83D\\uDD5B|\\uD83D\\uDCC4|\\uD83D\\uDDFB|\\uD83D\\uDDFC|\\uD83D\\uDCC5|\\uD83D\\uDDFD|\\uD83D\\uDDFE|\\uD83D\\uDCC6|\\uD83D\\uDDFF|\\uD83D\\uDE01|\\uD83D\\uDE02|\\uD83D\\uDE03|\\uD83D\\uDCC8|\\uD83D\\uDE04|\\uD83D\\uDE05|\\uD83D\\uDCC9|\\uD83D\\uDE06|\\uD83D\\uDE09|\\uD83D\\uDCCA|\\uD83D\\uDE0A|\\uD83D\\uDE0B|\\uD83D\\uDCCB|\\uD83D\\uDE0C|\\uD83D\\uDE0D|\\uD83D\\uDCCC|\\uD83D\\uDE0F|\\uD83D\\uDE12|\\uD83D\\uDCCD|\\uD83D\\uDE13|\\uD83D\\uDE14|\\uD83D\\uDCCE|\\uD83D\\uDE16|\\uD83D\\uDE18|\\uD83D\\uDCCF|\\uD83D\\uDE1A|\\uD83D\\uDE1C|\\uD83D\\uDCD0|\\uD83D\\uDE1D|\\uD83D\\uDE1E|\\uD83D\\uDCD1|\\uD83D\\uDE20|\\uD83D\\uDE21|\\uD83D\\uDE22|\\uD83D\\uDE23|\\uD83D\\uDE24|\\uD83D\\uDE25|\\uD83D\\uDE28|\\uD83D\\uDE29|\\uD83D\\uDE2A|\\uD83D\\uDE2B|\\uD83D\\uDE2D|\\uD83D\\uDE30|\\uD83D\\uDE31|\\uD83D\\uDE32|\\uD83D\\uDE33|\\uD83D\\uDE35|\\uD83D\\uDE37|\\uD83D\\uDE38|\\uD83D\\uDE39|\\uD83D\\uDE3A|\\uD83D\\uDE3B|\\uD83D\\uDE3C|\\uD83D\\uDE3D|\\uD83D\\uDE3E|\\uD83D\\uDE3F|\\uD83D\\uDE40|\\uD83D\\uDE45|\\uD83D\\uDE46|\\uD83D\\uDE47|\\uD83D\\uDE48|\\uD83D\\uDE49|\\uD83D\\uDE4A|\\uD83D\\uDE4B|\\uD83D\\uDE4C|\\uD83D\\uDE4D|\\uD83D\\uDE4E|\\uD83D\\uDE4F|\\uD83D\\uDE80|\\uD83D\\uDE83|\\uD83D\\uDE84|\\uD83D\\uDE85|\\uD83D\\uDE87|\\uD83D\\uDE89|\\uD83D\\uDE8C|\\uD83D\\uDE8F|\\uD83D\\uDE91|\\uD83D\\uDE92|\\uD83D\\uDE93|\\uD83D\\uDE95|\\uD83D\\uDE97|\\uD83D\\uDE99|\\uD83D\\uDE9A|\\uD83D\\uDEA2|\\uD83D\\uDEA4|\\uD83D\\uDEA5|\\uD83D\\uDEA7|\\uD83D\\uDEA8|\\uD83D\\uDEA9|\\uD83D\\uDEAA|\\uD83D\\uDEAB|\\uD83D\\uDEAC|\\uD83D\\uDEAD|\\uD83D\\uDEB2|\\uD83D\\uDEB6|\\uD83D\\uDEB9|\\uD83D\\uDEBA|\\uD83D\\uDEBB|\\uD83D\\uDEBC|\\uD83D\\uDEBD|\\uD83D\\uDEBE|\\uD83D\\uDEC0|\\uD83E\\uDD18|\\uD83D\\uDE00|\\uD83D\\uDE07|\\uD83D\\uDE08|\\uD83D\\uDE0E|\\uD83D\\uDE10|\\uD83D\\uDE11|\\uD83D\\uDE15|\\uD83D\\uDE17|\\uD83D\\uDE19|\\uD83D\\uDE1B|\\uD83D\\uDE1F|\\uD83D\\uDE26|\\uD83D\\uDE27|\\uD83D\\uDE2C|\\uD83D\\uDE2E|\\uD83D\\uDE2F|\\uD83D\\uDE34|\\uD83D\\uDE36|\\uD83D\\uDE81|\\uD83D\\uDE82|\\uD83D\\uDE86|\\uD83D\\uDE88|\\uD83D\\uDE8A|\\uD83D\\uDE8D|\\uD83D\\uDE8E|\\uD83D\\uDE90|\\uD83D\\uDE94|\\uD83D\\uDE96|\\uD83D\\uDE98|\\uD83D\\uDE9B|\\uD83D\\uDE9C|\\uD83D\\uDE9D|\\uD83D\\uDE9E|\\uD83D\\uDE9F|\\uD83D\\uDEA0|\\uD83D\\uDEA1|\\uD83D\\uDEA3|\\uD83D\\uDEA6|\\uD83D\\uDEAE|\\uD83D\\uDEAF|\\uD83D\\uDEB0|\\uD83D\\uDEB1|\\uD83D\\uDEB3|\\uD83D\\uDEB4|\\uD83D\\uDEB5|\\uD83D\\uDEB7|\\uD83D\\uDEB8|\\uD83D\\uDEBF|\\uD83D\\uDEC1|\\uD83D\\uDEC2|\\uD83D\\uDEC3|\\uD83D\\uDEC4|\\uD83D\\uDEC5|\\uD83C\\uDF0D|\\uD83C\\uDF0E|\\uD83C\\uDF10|\\uD83C\\uDF12|\\uD83C\\uDF16|\\uD83C\\uDF17|\\uD83C\\uDF18|\\uD83C\\uDF1A|\\uD83C\\uDF1C|\\uD83C\\uDF1D|\\uD83C\\uDF1E|\\uD83C\\uDF32|\\uD83C\\uDF33|\\uD83C\\uDF4B|\\uD83C\\uDF50|\\uD83C\\uDF7C|\\uD83C\\uDFC7|\\uD83C\\uDFC9|\\uD83C\\uDFE4|\\uD83D\\uDC00|\\uD83D\\uDC01|\\uD83D\\uDC02|\\uD83D\\uDC03|\\uD83D\\uDC04|\\uD83D\\uDC05|\\uD83D\\uDC06|\\uD83D\\uDC07|\\uD83D\\uDC08|\\uD83D\\uDC09|\\uD83D\\uDC0A|\\uD83D\\uDC0B|\\uD83D\\uDC0F|\\uD83D\\uDC10|\\uD83D\\uDC13|\\uD83D\\uDC15|\\uD83D\\uDC16|\\uD83D\\uDC2A|\\uD83D\\uDC65|\\uD83D\\uDC6C|\\uD83D\\uDC6D|\\uD83D\\uDCAD|\\uD83D\\uDCB6|\\uD83D\\uDCB7|\\uD83D\\uDCEC|\\uD83D\\uDCED|\\uD83D\\uDCEF|\\uD83D\\uDCF5|\\uD83D\\uDD00|\\uD83D\\uDD01|\\uD83D\\uDD02|\\uD83D\\uDD04|\\uD83D\\uDD05|\\uD83D\\uDD06|\\uD83D\\uDD07|\\uD83D\\uDD09|\\uD83D\\uDD15|\\uD83D\\uDD2C|\\uD83D\\uDD2D|\\uD83D\\uDD5C|\\uD83D\\uDD5D|\\uD83D\\uDD5E|\\uD83D\\uDD5F|\\uD83D\\uDD60|\\uD83D\\uDD61|\\uD83D\\uDD62|\\uD83D\\uDD63|\\uD83D\\uDD64|\\uD83D\\uDD65|\\uD83D\\uDD66|\\uD83D\\uDD67|\\uD83D\\uDD08|\\uD83D\\uDE8B|\\uD83C\\uDFC5|\\uD83C\\uDFF4|\\uD83D\\uDCF8|\\uD83D\\uDECC|\\uD83D\\uDD95|\\uD83D\\uDD96|\\uD83D\\uDE41|\\uD83D\\uDE42|\\uD83D\\uDEEB|\\uD83D\\uDEEC|\\uD83C\\uDFFB|\\uD83C\\uDFFC|\\uD83C\\uDFFD|\\uD83C\\uDFFE|\\uD83C\\uDFFF|\\uD83D\\uDE43|\\uD83E\\uDD11|\\uD83E\\uDD13|\\uD83E\\uDD17|\\uD83D\\uDE44|\\uD83E\\uDD14|\\uD83E\\uDD10|\\u26F2\\uFE0F|\\#\\u20E3|\\9\\u20E3|\\8\\u20E3|\\7\\u20E3|\\6\\u20E3|\\*\\u20E3|\\4\\u20E3|\\3\\u20E3|\\2\\u20E3|\\1\\u20E3|\\0\\u20E3|\\5\\u20E3|\\u26B1|\\u26B0|\\u269C|\\u269B|\\u2699|\\u2697|\\u2696|\\u2694|\\u2692|\\u2639|\\u2638|\\u262F|\\u262E|\\u262A|\\u2626|\\u2623|\\u2622|\\u2620|\\u2618|\\u2604|\\u2603|\\u2602|\\u23FA|\\u23F9|\\u23F8|\\u23F2|\\u23F1|\\u23EF|\\u23EE|\\u23ED|\\u23CF|\\u270D|\\u2328|\\u271D|\\u3299|\\u3297|\\u303D|\\u3030|\\u2B55|\\u2B50|\\u2B1C|\\u2B1B|\\u2B07|\\u2B06|\\u2B05|\\u2935|\\u23E9|\\u23EA|\\u23EB|\\u23EC|\\u23F0|\\u23F3|\\u26CE|\\u2705|\\u270A|\\u270B|\\u2728|\\u274C|\\u274E|\\u2753|\\u2754|\\u2755|\\u2795|\\u2796|\\u2797|\\u27B0|\\u27BF|\\u00A9|\\u00AE|\\u203C|\\u2049|\\u2122|\\u2139|\\u2194|\\u2195|\\u2196|\\u2197|\\u2198|\\u2199|\\u21A9|\\u21AA|\\u231A|\\u231B|\\u24C2|\\u25AA|\\u25AB|\\u25B6|\\u25C0|\\u25FB|\\u25FC|\\u25FD|\\u25FE|\\u2600|\\u2601|\\u260E|\\u2611|\\u2614|\\u2615|\\u261D|\\u263A|\\u2648|\\u2649|\\u264A|\\u264B|\\u264C|\\u264D|\\u264E|\\u264F|\\u2650|\\u2651|\\u2652|\\u2653|\\u2660|\\u2663|\\u2665|\\u2666|\\u2668|\\u267B|\\u267F|\\u2693|\\u26A0|\\u26A1|\\u26AA|\\u26AB|\\u26BD|\\u26BE|\\u26C4|\\u26C5|\\u26D4|\\u26EA|\\u26F2|\\u26F3|\\u26F5|\\u26FA|\\u26FD|\\u2702|\\u2708|\\u2709|\\u270C|\\u270F|\\u2712|\\u2714|\\u2716|\\u2733|\\u2734|\\u2744|\\u2747|\\u2721|\\u2764|\\u27A1|\\u2934|\\u2935|\\u2B05|\\u2B06|\\u2B07|\\u2B1B|\\u2B1C|\\u2B50|\\u2B55|\\u3030|\\u303D|\\u3297|\\u3299|\\u2934|\\u27A1|\\u2764|\\u2757|\\u2747|\\u2744|\\u2734|\\u2733|\\u2716|\\u2714|\\u2712|\\u270F|\\u270C|\\u2709|\\u2708|\\u2702|\\u26FD|\\u26FA|\\u26F5|\\u26F3|\\u26F2|\\u26EA|\\u26D4|\\u26C5|\\u26C4|\\u26BE|\\u26BD|\\u26AB|\\u26AA|\\u26A1|\\u26A0|\\u2693|\\u271D|\\u267F|\\u267B|\\u2668|\\u2666|\\u2665|\\u2663|\\u2660|\\u2653|\\u2652|\\u2651|\\u2650|\\u264F|\\u264E|\\u264D|\\u2328|\\u264C|\\u264B|\\u264A|\\u2649|\\u2648|\\u263A|\\u261D|\\u2615|\\u2614|\\u2611|\\u260E|\\u2601|\\u2600|\\u25FE|\\u25FD|\\u25FC|\\u25FB|\\u25C0|\\u25B6|\\u25AB|\\u25AA|\\u24C2|\\u231B|\\u231A|\\u21AA|\\u270D|\\u21A9|\\u2199|\\u2198|\\u2197|\\u2196|\\u2195|\\u2194|\\u2139|\\u2122|\\u2049|\\u203C|\\u00AE|\\u00A9|\\u2763|\\u26F9|\\u26F8|\\u26F7|\\u26F4|\\u26F1|\\u26F0|\\u26E9|\\u26D3|\\u23CF|\\u23ED|\\u23EE|\\u23EF|\\u23F1|\\u23F2|\\u23F8|\\u23F9|\\u23FA|\\u2602|\\u2603|\\u2604|\\u2618|\\u2620|\\u2622|\\u2623|\\u2626|\\u262A|\\u262E|\\u262F|\\u2638|\\u2639|\\u2692|\\u2694|\\u2696|\\u2697|\\u2699|\\u269B|\\u269C|\\u26B0|\\u26B1|\\u26C8|\\u26CF|\\u26D1|\\u26D3|\\u26E9|\\u26F0|\\u26F1|\\u26F4|\\u26F7|\\u26F8|\\u26F9|\\u2721|\\u2763|\\u26D1|\\u26CF|\\u26C8|\\u2757)",
ns.jsEscapeMap={"👩‍❤️‍💋‍👩":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469","👩❤💋👩":"1f469-2764-1f48b-1f469","👨‍❤️‍💋‍👨":"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468","👨❤💋👨":"1f468-2764-1f48b-1f468","👨‍👨‍👦‍👦":"1f468-200d-1f468-200d-1f466-200d-1f466","👨👨👦👦":"1f468-1f468-1f466-1f466","👨‍👨‍👧‍👦":"1f468-200d-1f468-200d-1f467-200d-1f466","👨👨👧👦":"1f468-1f468-1f467-1f466","👨‍👨‍👧‍👧":"1f468-200d-1f468-200d-1f467-200d-1f467","👨👨👧👧":"1f468-1f468-1f467-1f467","👨‍👩‍👦‍👦":"1f468-200d-1f469-200d-1f466-200d-1f466","👨👩👦👦":"1f468-1f469-1f466-1f466","👨‍👩‍👧‍👦":"1f468-200d-1f469-200d-1f467-200d-1f466","👨👩👧👦":"1f468-1f469-1f467-1f466","👨‍👩‍👧‍👧":"1f468-200d-1f469-200d-1f467-200d-1f467","👨👩👧👧":"1f468-1f469-1f467-1f467","👩‍👩‍👦‍👦":"1f469-200d-1f469-200d-1f466-200d-1f466","👩👩👦👦":"1f469-1f469-1f466-1f466","👩‍👩‍👧‍👦":"1f469-200d-1f469-200d-1f467-200d-1f466","👩👩👧👦":"1f469-1f469-1f467-1f466","👩‍👩‍👧‍👧":"1f469-200d-1f469-200d-1f467-200d-1f467","👩👩👧👧":"1f469-1f469-1f467-1f467","👩‍❤️‍👩":"1f469-200d-2764-fe0f-200d-1f469","👩❤👩":"1f469-2764-1f469","👨‍❤️‍👨":"1f468-200d-2764-fe0f-200d-1f468","👨❤👨":"1f468-2764-1f468","👨‍👨‍👦":"1f468-200d-1f468-200d-1f466","👨👨👦":"1f468-1f468-1f466","👨‍👨‍👧":"1f468-200d-1f468-200d-1f467","👨👨👧":"1f468-1f468-1f467","👨‍👩‍👧":"1f468-200d-1f469-200d-1f467","👨👩👧":"1f468-1f469-1f467","👩‍👩‍👦":"1f469-200d-1f469-200d-1f466","👩👩👦":"1f469-1f469-1f466","👩‍👩‍👧":"1f469-200d-1f469-200d-1f467","👩👩👧":"1f469-1f469-1f467","🏳️‍🌈":"1f3f3-fe0f-200d-1f308","🏳🌈":"1f3f3-1f308","👁‍🗨":"1f441-200d-1f5e8","👁🗨":"1f441-1f5e8","#️⃣":"0023-fe0f-20e3","#⃣":"0023-20e3","0️⃣":"0030-fe0f-20e3","0⃣":"0030-20e3","1️⃣":"0031-fe0f-20e3","1⃣":"0031-20e3","2️⃣":"0032-fe0f-20e3","2⃣":"0032-20e3","3️⃣":"0033-fe0f-20e3","3⃣":"0033-20e3","4️⃣":"0034-fe0f-20e3","4⃣":"0034-20e3","5️⃣":"0035-fe0f-20e3","5⃣":"0035-20e3","6️⃣":"0036-fe0f-20e3","6⃣":"0036-20e3","7️⃣":"0037-fe0f-20e3","7⃣":"0037-20e3","8️⃣":"0038-fe0f-20e3","8⃣":"0038-20e3","9️⃣":"0039-fe0f-20e3","9⃣":"0039-20e3","*️⃣":"002a-fe0f-20e3","*⃣":"002a-20e3","🤾🏿":"1f93e-1f3ff","🤾🏾":"1f93e-1f3fe","🤾🏽":"1f93e-1f3fd","🤾🏼":"1f93e-1f3fc","🤾🏻":"1f93e-1f3fb","🤽🏿":"1f93d-1f3ff","🤽🏾":"1f93d-1f3fe","🤽🏽":"1f93d-1f3fd","🤽🏼":"1f93d-1f3fc","🤽🏻":"1f93d-1f3fb","🤼🏿":"1f93c-1f3ff","🤼🏾":"1f93c-1f3fe","🤼🏽":"1f93c-1f3fd","🤼🏼":"1f93c-1f3fc","🤼🏻":"1f93c-1f3fb","🤹🏿":"1f939-1f3ff","🤹🏾":"1f939-1f3fe","🤹🏽":"1f939-1f3fd","🤹🏼":"1f939-1f3fc","🤹🏻":"1f939-1f3fb","🤸🏿":"1f938-1f3ff","🤸🏾":"1f938-1f3fe","🤸🏽":"1f938-1f3fd","🤸🏼":"1f938-1f3fc","🤸🏻":"1f938-1f3fb","🤷🏿":"1f937-1f3ff","🤷🏾":"1f937-1f3fe","🤷🏽":"1f937-1f3fd","🤷🏼":"1f937-1f3fc","🤷🏻":"1f937-1f3fb","🤶🏿":"1f936-1f3ff","🤶🏾":"1f936-1f3fe","🤶🏽":"1f936-1f3fd","🤶🏼":"1f936-1f3fc","🤶🏻":"1f936-1f3fb","🤵🏿":"1f935-1f3ff","🤵🏾":"1f935-1f3fe","🤵🏽":"1f935-1f3fd","🤵🏼":"1f935-1f3fc","🤵🏻":"1f935-1f3fb","🤴🏿":"1f934-1f3ff","🤴🏾":"1f934-1f3fe","🤴🏽":"1f934-1f3fd","🤴🏼":"1f934-1f3fc","🤴🏻":"1f934-1f3fb","🤳🏿":"1f933-1f3ff","🤳🏾":"1f933-1f3fe","🤳🏽":"1f933-1f3fd","🤳🏼":"1f933-1f3fc","🤳🏻":"1f933-1f3fb","🤰🏿":"1f930-1f3ff","🤰🏾":"1f930-1f3fe","🤰🏽":"1f930-1f3fd","🤰🏼":"1f930-1f3fc","🤰🏻":"1f930-1f3fb","🤦🏿":"1f926-1f3ff","🤦🏾":"1f926-1f3fe","🤦🏽":"1f926-1f3fd","🤦🏼":"1f926-1f3fc","🤦🏻":"1f926-1f3fb","🤞🏿":"1f91e-1f3ff","🤞🏾":"1f91e-1f3fe","🤞🏽":"1f91e-1f3fd","🤞🏼":"1f91e-1f3fc","🤞🏻":"1f91e-1f3fb","🤝🏿":"1f91d-1f3ff","🤝🏾":"1f91d-1f3fe","🤝🏽":"1f91d-1f3fd","🤝🏼":"1f91d-1f3fc","🤝🏻":"1f91d-1f3fb","🤜🏿":"1f91c-1f3ff","🤜🏾":"1f91c-1f3fe","🤜🏽":"1f91c-1f3fd","🤜🏼":"1f91c-1f3fc","🤜🏻":"1f91c-1f3fb","🤛🏿":"1f91b-1f3ff","🤛🏾":"1f91b-1f3fe","🤛🏽":"1f91b-1f3fd","🤛🏼":"1f91b-1f3fc","🤛🏻":"1f91b-1f3fb","🤚🏿":"1f91a-1f3ff","🤚🏾":"1f91a-1f3fe","🤚🏽":"1f91a-1f3fd","🤚🏼":"1f91a-1f3fc","🤚🏻":"1f91a-1f3fb","🤙🏿":"1f919-1f3ff","🤙🏾":"1f919-1f3fe","🤙🏽":"1f919-1f3fd","🤙🏼":"1f919-1f3fc","🤙🏻":"1f919-1f3fb","🤘🏿":"1f918-1f3ff","🤘🏾":"1f918-1f3fe","🤘🏽":"1f918-1f3fd","🤘🏼":"1f918-1f3fc","🤘🏻":"1f918-1f3fb","🛀🏿":"1f6c0-1f3ff","🛀🏾":"1f6c0-1f3fe","🛀🏽":"1f6c0-1f3fd","🛀🏼":"1f6c0-1f3fc","🛀🏻":"1f6c0-1f3fb","🚶🏿":"1f6b6-1f3ff","🚶🏾":"1f6b6-1f3fe","🚶🏽":"1f6b6-1f3fd","🚶🏼":"1f6b6-1f3fc","🚶🏻":"1f6b6-1f3fb","🚵🏿":"1f6b5-1f3ff","🚵🏾":"1f6b5-1f3fe","🚵🏽":"1f6b5-1f3fd","🚵🏼":"1f6b5-1f3fc","🚵🏻":"1f6b5-1f3fb","🚴🏿":"1f6b4-1f3ff","🚴🏾":"1f6b4-1f3fe","🚴🏽":"1f6b4-1f3fd","🚴🏼":"1f6b4-1f3fc","🚴🏻":"1f6b4-1f3fb","🚣🏿":"1f6a3-1f3ff","🚣🏾":"1f6a3-1f3fe","🚣🏽":"1f6a3-1f3fd","🚣🏼":"1f6a3-1f3fc","🚣🏻":"1f6a3-1f3fb","🙏🏿":"1f64f-1f3ff","🙏🏾":"1f64f-1f3fe","🙏🏽":"1f64f-1f3fd","🙏🏼":"1f64f-1f3fc","🙏🏻":"1f64f-1f3fb","🙎🏿":"1f64e-1f3ff","🙎🏾":"1f64e-1f3fe","🙎🏽":"1f64e-1f3fd","🙎🏼":"1f64e-1f3fc","🙎🏻":"1f64e-1f3fb","🙍🏿":"1f64d-1f3ff","🙍🏾":"1f64d-1f3fe","🙍🏽":"1f64d-1f3fd","🙍🏼":"1f64d-1f3fc","🙍🏻":"1f64d-1f3fb","🙌🏿":"1f64c-1f3ff","🙌🏾":"1f64c-1f3fe","🙌🏽":"1f64c-1f3fd","🙌🏼":"1f64c-1f3fc","🙌🏻":"1f64c-1f3fb","🙋🏿":"1f64b-1f3ff","🙋🏾":"1f64b-1f3fe","🙋🏽":"1f64b-1f3fd","🙋🏼":"1f64b-1f3fc","🙋🏻":"1f64b-1f3fb","🙇🏿":"1f647-1f3ff","🙇🏾":"1f647-1f3fe","🙇🏽":"1f647-1f3fd","🙇🏼":"1f647-1f3fc","🙇🏻":"1f647-1f3fb","🙆🏿":"1f646-1f3ff","🙆🏾":"1f646-1f3fe","🙆🏽":"1f646-1f3fd","🙆🏼":"1f646-1f3fc","🙆🏻":"1f646-1f3fb","🙅🏿":"1f645-1f3ff","🙅🏾":"1f645-1f3fe","🙅🏽":"1f645-1f3fd","🙅🏼":"1f645-1f3fc","🙅🏻":"1f645-1f3fb","🖖🏿":"1f596-1f3ff","🖖🏾":"1f596-1f3fe","🖖🏽":"1f596-1f3fd","🖖🏼":"1f596-1f3fc","🖖🏻":"1f596-1f3fb","🖕🏿":"1f595-1f3ff","🖕🏾":"1f595-1f3fe","🖕🏽":"1f595-1f3fd","🖕🏼":"1f595-1f3fc","🖕🏻":"1f595-1f3fb","🖐🏿":"1f590-1f3ff","🖐🏾":"1f590-1f3fe","🖐🏽":"1f590-1f3fd","🖐🏼":"1f590-1f3fc","🖐🏻":"1f590-1f3fb","🕺🏿":"1f57a-1f3ff","🕺🏾":"1f57a-1f3fe","🕺🏽":"1f57a-1f3fd","🕺🏼":"1f57a-1f3fc","🕺🏻":"1f57a-1f3fb","🕵🏿":"1f575-1f3ff","🕵🏾":"1f575-1f3fe","🕵🏽":"1f575-1f3fd","🕵🏼":"1f575-1f3fc","🕵🏻":"1f575-1f3fb","💪🏿":"1f4aa-1f3ff","💪🏾":"1f4aa-1f3fe","💪🏽":"1f4aa-1f3fd","💪🏼":"1f4aa-1f3fc","💪🏻":"1f4aa-1f3fb","💇🏿":"1f487-1f3ff","💇🏾":"1f487-1f3fe","💇🏽":"1f487-1f3fd","💇🏼":"1f487-1f3fc","💇🏻":"1f487-1f3fb","💆🏿":"1f486-1f3ff","💆🏾":"1f486-1f3fe","💆🏽":"1f486-1f3fd","💆🏼":"1f486-1f3fc","💆🏻":"1f486-1f3fb","💅🏿":"1f485-1f3ff","💅🏾":"1f485-1f3fe","💅🏽":"1f485-1f3fd","💅🏼":"1f485-1f3fc","💅🏻":"1f485-1f3fb","💃🏿":"1f483-1f3ff","💃🏾":"1f483-1f3fe","💃🏽":"1f483-1f3fd","💃🏼":"1f483-1f3fc","💃🏻":"1f483-1f3fb","💂🏿":"1f482-1f3ff","💂🏾":"1f482-1f3fe","💂🏽":"1f482-1f3fd","💂🏼":"1f482-1f3fc","💂🏻":"1f482-1f3fb","💁🏿":"1f481-1f3ff","💁🏾":"1f481-1f3fe","💁🏽":"1f481-1f3fd","💁🏼":"1f481-1f3fc","💁🏻":"1f481-1f3fb","👼🏿":"1f47c-1f3ff","👼🏾":"1f47c-1f3fe","👼🏽":"1f47c-1f3fd","👼🏼":"1f47c-1f3fc","👼🏻":"1f47c-1f3fb","👸🏿":"1f478-1f3ff","👸🏾":"1f478-1f3fe","👸🏽":"1f478-1f3fd","👸🏼":"1f478-1f3fc","👸🏻":"1f478-1f3fb","👷🏿":"1f477-1f3ff","👷🏾":"1f477-1f3fe","👷🏽":"1f477-1f3fd","👷🏼":"1f477-1f3fc","👷🏻":"1f477-1f3fb","👶🏿":"1f476-1f3ff","👶🏾":"1f476-1f3fe","👶🏽":"1f476-1f3fd","👶🏼":"1f476-1f3fc","👶🏻":"1f476-1f3fb","👵🏿":"1f475-1f3ff","👵🏾":"1f475-1f3fe","👵🏽":"1f475-1f3fd","👵🏼":"1f475-1f3fc","👵🏻":"1f475-1f3fb","👴🏿":"1f474-1f3ff","👴🏾":"1f474-1f3fe","👴🏽":"1f474-1f3fd","👴🏼":"1f474-1f3fc","👴🏻":"1f474-1f3fb","👳🏿":"1f473-1f3ff","👳🏾":"1f473-1f3fe","👳🏽":"1f473-1f3fd","👳🏼":"1f473-1f3fc","👳🏻":"1f473-1f3fb","👲🏿":"1f472-1f3ff","👲🏾":"1f472-1f3fe","👲🏽":"1f472-1f3fd","👲🏼":"1f472-1f3fc","👲🏻":"1f472-1f3fb","👱🏿":"1f471-1f3ff","👱🏾":"1f471-1f3fe","👱🏽":"1f471-1f3fd","👱🏼":"1f471-1f3fc","👱🏻":"1f471-1f3fb","👰🏿":"1f470-1f3ff","👰🏾":"1f470-1f3fe","👰🏽":"1f470-1f3fd","👰🏼":"1f470-1f3fc","👰🏻":"1f470-1f3fb","👮🏿":"1f46e-1f3ff","👮🏾":"1f46e-1f3fe","👮🏽":"1f46e-1f3fd","👮🏼":"1f46e-1f3fc","👮🏻":"1f46e-1f3fb","👩🏿":"1f469-1f3ff","👩🏾":"1f469-1f3fe","👩🏽":"1f469-1f3fd","👩🏼":"1f469-1f3fc","👩🏻":"1f469-1f3fb","👨🏿":"1f468-1f3ff","👨🏾":"1f468-1f3fe","👨🏽":"1f468-1f3fd","👨🏼":"1f468-1f3fc","👨🏻":"1f468-1f3fb","👧🏿":"1f467-1f3ff","👧🏾":"1f467-1f3fe","👧🏽":"1f467-1f3fd","👧🏼":"1f467-1f3fc","👧🏻":"1f467-1f3fb","👦🏿":"1f466-1f3ff","👦🏾":"1f466-1f3fe","👦🏽":"1f466-1f3fd","👦🏼":"1f466-1f3fc","👦🏻":"1f466-1f3fb","👐🏿":"1f450-1f3ff","👐🏾":"1f450-1f3fe","👐🏽":"1f450-1f3fd","👐🏼":"1f450-1f3fc","👐🏻":"1f450-1f3fb","👏🏿":"1f44f-1f3ff","👏🏾":"1f44f-1f3fe","👏🏽":"1f44f-1f3fd","👏🏼":"1f44f-1f3fc","👏🏻":"1f44f-1f3fb","👎🏿":"1f44e-1f3ff","👎🏾":"1f44e-1f3fe","👎🏽":"1f44e-1f3fd","👎🏼":"1f44e-1f3fc","👎🏻":"1f44e-1f3fb","👍🏿":"1f44d-1f3ff","👍🏾":"1f44d-1f3fe","👍🏽":"1f44d-1f3fd","👍🏼":"1f44d-1f3fc","👍🏻":"1f44d-1f3fb","👌🏿":"1f44c-1f3ff","👌🏾":"1f44c-1f3fe","👌🏽":"1f44c-1f3fd","👌🏼":"1f44c-1f3fc","👌🏻":"1f44c-1f3fb","👋🏿":"1f44b-1f3ff","👋🏾":"1f44b-1f3fe","👋🏽":"1f44b-1f3fd","👋🏼":"1f44b-1f3fc","👋🏻":"1f44b-1f3fb","👊🏿":"1f44a-1f3ff","👊🏾":"1f44a-1f3fe","👊🏽":"1f44a-1f3fd","👊🏼":"1f44a-1f3fc","👊🏻":"1f44a-1f3fb","👉🏿":"1f449-1f3ff","👉🏾":"1f449-1f3fe","👉🏽":"1f449-1f3fd","👉🏼":"1f449-1f3fc","👉🏻":"1f449-1f3fb","👈🏿":"1f448-1f3ff","👈🏾":"1f448-1f3fe","👈🏽":"1f448-1f3fd","👈🏼":"1f448-1f3fc","👈🏻":"1f448-1f3fb","👇🏿":"1f447-1f3ff","👇🏾":"1f447-1f3fe","👇🏽":"1f447-1f3fd","👇🏼":"1f447-1f3fc","👇🏻":"1f447-1f3fb","👆🏿":"1f446-1f3ff","👆🏾":"1f446-1f3fe","👆🏽":"1f446-1f3fd","👆🏼":"1f446-1f3fc","👆🏻":"1f446-1f3fb","👃🏿":"1f443-1f3ff","👃🏾":"1f443-1f3fe","👃🏽":"1f443-1f3fd","👃🏼":"1f443-1f3fc","👃🏻":"1f443-1f3fb","👂🏿":"1f442-1f3ff","👂🏾":"1f442-1f3fe","👂🏽":"1f442-1f3fd","👂🏼":"1f442-1f3fc","👂🏻":"1f442-1f3fb","🏋🏿":"1f3cb-1f3ff","🏋🏾":"1f3cb-1f3fe","🏋🏽":"1f3cb-1f3fd","🏋🏼":"1f3cb-1f3fc","🏋🏻":"1f3cb-1f3fb","🏊🏿":"1f3ca-1f3ff","🏊🏾":"1f3ca-1f3fe","🏊🏽":"1f3ca-1f3fd","🏊🏼":"1f3ca-1f3fc","🏊🏻":"1f3ca-1f3fb","🏇🏿":"1f3c7-1f3ff","🏇🏾":"1f3c7-1f3fe","🏇🏽":"1f3c7-1f3fd","🏇🏼":"1f3c7-1f3fc","🏇🏻":"1f3c7-1f3fb","🏄🏿":"1f3c4-1f3ff","🏄🏾":"1f3c4-1f3fe","🏄🏽":"1f3c4-1f3fd","🏄🏼":"1f3c4-1f3fc","🏄🏻":"1f3c4-1f3fb","🏃🏿":"1f3c3-1f3ff","🏃🏾":"1f3c3-1f3fe","🏃🏽":"1f3c3-1f3fd","🏃🏼":"1f3c3-1f3fc","🏃🏻":"1f3c3-1f3fb","🎅🏿":"1f385-1f3ff","🎅🏾":"1f385-1f3fe","🎅🏽":"1f385-1f3fd","🎅🏼":"1f385-1f3fc","🎅🏻":"1f385-1f3fb","🇿🇼":"1f1ff-1f1fc","🇿🇲":"1f1ff-1f1f2","🇿🇦":"1f1ff-1f1e6","🇾🇹":"1f1fe-1f1f9","🇾🇪":"1f1fe-1f1ea","🇽🇰":"1f1fd-1f1f0","🇼🇸":"1f1fc-1f1f8","🇼🇫":"1f1fc-1f1eb","🇻🇺":"1f1fb-1f1fa","🇻🇳":"1f1fb-1f1f3","🇻🇮":"1f1fb-1f1ee","🇻🇬":"1f1fb-1f1ec","🇻🇪":"1f1fb-1f1ea","🇻🇨":"1f1fb-1f1e8","🇻🇦":"1f1fb-1f1e6","🇺🇿":"1f1fa-1f1ff","🇺🇾":"1f1fa-1f1fe","🇺🇸":"1f1fa-1f1f8","🇺🇲":"1f1fa-1f1f2","🇺🇬":"1f1fa-1f1ec","🇺🇦":"1f1fa-1f1e6","🇹🇿":"1f1f9-1f1ff","🇹🇼":"1f1f9-1f1fc","🇹🇻":"1f1f9-1f1fb","🇹🇹":"1f1f9-1f1f9","🇹🇷":"1f1f9-1f1f7","🇹🇴":"1f1f9-1f1f4","🇹🇳":"1f1f9-1f1f3","🇹🇲":"1f1f9-1f1f2","🇹🇱":"1f1f9-1f1f1","🇹🇰":"1f1f9-1f1f0","🇹🇯":"1f1f9-1f1ef","🇹🇭":"1f1f9-1f1ed","🇹🇬":"1f1f9-1f1ec","🇹🇫":"1f1f9-1f1eb","🇹🇩":"1f1f9-1f1e9","🇹🇨":"1f1f9-1f1e8","🇹🇦":"1f1f9-1f1e6","🇸🇿":"1f1f8-1f1ff","🇸🇾":"1f1f8-1f1fe","🇸🇽":"1f1f8-1f1fd","🇸🇻":"1f1f8-1f1fb","🇸🇹":"1f1f8-1f1f9","🇸🇸":"1f1f8-1f1f8","🇸🇷":"1f1f8-1f1f7","🇸🇴":"1f1f8-1f1f4","🇸🇳":"1f1f8-1f1f3","🇸🇲":"1f1f8-1f1f2","🇸🇱":"1f1f8-1f1f1","🇸🇰":"1f1f8-1f1f0","🇸🇯":"1f1f8-1f1ef","🇸🇮":"1f1f8-1f1ee","🇸🇭":"1f1f8-1f1ed","🇸🇬":"1f1f8-1f1ec","🇸🇪":"1f1f8-1f1ea","🇸🇩":"1f1f8-1f1e9","🇸🇨":"1f1f8-1f1e8","🇸🇧":"1f1f8-1f1e7","🇸🇦":"1f1f8-1f1e6","🇷🇼":"1f1f7-1f1fc","🇷🇺":"1f1f7-1f1fa","🇷🇸":"1f1f7-1f1f8","🇷🇴":"1f1f7-1f1f4","🇷🇪":"1f1f7-1f1ea","🇶🇦":"1f1f6-1f1e6","🇵🇾":"1f1f5-1f1fe","🇵🇼":"1f1f5-1f1fc","🇵🇹":"1f1f5-1f1f9","🇵🇸":"1f1f5-1f1f8","🇵🇷":"1f1f5-1f1f7","🇵🇳":"1f1f5-1f1f3","🇵🇲":"1f1f5-1f1f2","🇵🇱":"1f1f5-1f1f1","🇵🇰":"1f1f5-1f1f0","🇵🇭":"1f1f5-1f1ed","🇵🇬":"1f1f5-1f1ec","🇵🇫":"1f1f5-1f1eb","🇵🇪":"1f1f5-1f1ea","🇵🇦":"1f1f5-1f1e6","🇴🇲":"1f1f4-1f1f2","🇳🇿":"1f1f3-1f1ff","🇳🇺":"1f1f3-1f1fa","🇳🇷":"1f1f3-1f1f7","🇳🇵":"1f1f3-1f1f5","🇳🇴":"1f1f3-1f1f4","🇳🇱":"1f1f3-1f1f1","🇳🇮":"1f1f3-1f1ee","🇳🇬":"1f1f3-1f1ec","🇳🇫":"1f1f3-1f1eb","🇳🇪":"1f1f3-1f1ea","🇳🇨":"1f1f3-1f1e8","🇳🇦":"1f1f3-1f1e6","🇲🇿":"1f1f2-1f1ff","🇲🇾":"1f1f2-1f1fe","🇲🇽":"1f1f2-1f1fd","🇲🇼":"1f1f2-1f1fc","🇲🇻":"1f1f2-1f1fb","🇲🇺":"1f1f2-1f1fa","🇲🇹":"1f1f2-1f1f9","🇲🇸":"1f1f2-1f1f8","🇲🇷":"1f1f2-1f1f7","🇲🇶":"1f1f2-1f1f6","🇲🇵":"1f1f2-1f1f5","🇲🇴":"1f1f2-1f1f4","🇲🇳":"1f1f2-1f1f3","🇲🇲":"1f1f2-1f1f2","🇲🇱":"1f1f2-1f1f1","🇲🇰":"1f1f2-1f1f0","🇲🇭":"1f1f2-1f1ed","🇲🇬":"1f1f2-1f1ec","🇲🇫":"1f1f2-1f1eb","🇲🇪":"1f1f2-1f1ea","🇲🇩":"1f1f2-1f1e9","🇲🇨":"1f1f2-1f1e8","🇲🇦":"1f1f2-1f1e6","🇱🇾":"1f1f1-1f1fe","🇱🇻":"1f1f1-1f1fb","🇱🇺":"1f1f1-1f1fa","🇱🇹":"1f1f1-1f1f9","🇱🇸":"1f1f1-1f1f8","🇱🇷":"1f1f1-1f1f7","🇱🇰":"1f1f1-1f1f0","🇱🇮":"1f1f1-1f1ee","🇱🇨":"1f1f1-1f1e8","🇱🇧":"1f1f1-1f1e7","🇱🇦":"1f1f1-1f1e6","🇰🇿":"1f1f0-1f1ff","🇰🇾":"1f1f0-1f1fe","🇰🇼":"1f1f0-1f1fc","🇰🇷":"1f1f0-1f1f7","🇰🇵":"1f1f0-1f1f5","🇰🇳":"1f1f0-1f1f3","🇰🇲":"1f1f0-1f1f2","🇰🇮":"1f1f0-1f1ee","🇰🇭":"1f1f0-1f1ed","🇰🇬":"1f1f0-1f1ec","🇰🇪":"1f1f0-1f1ea","🇯🇵":"1f1ef-1f1f5","🇯🇴":"1f1ef-1f1f4","🇯🇲":"1f1ef-1f1f2","🇯🇪":"1f1ef-1f1ea","🇮🇹":"1f1ee-1f1f9","🇮🇸":"1f1ee-1f1f8","🇮🇷":"1f1ee-1f1f7","🇮🇶":"1f1ee-1f1f6","🇮🇴":"1f1ee-1f1f4","🇮🇳":"1f1ee-1f1f3","🇮🇲":"1f1ee-1f1f2","🇮🇱":"1f1ee-1f1f1","🇮🇪":"1f1ee-1f1ea","🇮🇩":"1f1ee-1f1e9","🇮🇨":"1f1ee-1f1e8","🇭🇺":"1f1ed-1f1fa","🇭🇹":"1f1ed-1f1f9","🇭🇷":"1f1ed-1f1f7","🇭🇳":"1f1ed-1f1f3","🇭🇲":"1f1ed-1f1f2","🇭🇰":"1f1ed-1f1f0","🇬🇾":"1f1ec-1f1fe","🇬🇼":"1f1ec-1f1fc","🇬🇺":"1f1ec-1f1fa","🇬🇹":"1f1ec-1f1f9","🇬🇸":"1f1ec-1f1f8","🇬🇷":"1f1ec-1f1f7","🇬🇶":"1f1ec-1f1f6","🇬🇵":"1f1ec-1f1f5","🇬🇳":"1f1ec-1f1f3","🇬🇲":"1f1ec-1f1f2","🇬🇱":"1f1ec-1f1f1","🇬🇮":"1f1ec-1f1ee","🇬🇭":"1f1ec-1f1ed","🇬🇬":"1f1ec-1f1ec","🇬🇫":"1f1ec-1f1eb","🇬🇪":"1f1ec-1f1ea","🇬🇩":"1f1ec-1f1e9","🇬🇧":"1f1ec-1f1e7","🇬🇦":"1f1ec-1f1e6","🇫🇷":"1f1eb-1f1f7","🇫🇴":"1f1eb-1f1f4","🇫🇲":"1f1eb-1f1f2","🇫🇰":"1f1eb-1f1f0","🇫🇯":"1f1eb-1f1ef","🇫🇮":"1f1eb-1f1ee","🇪🇺":"1f1ea-1f1fa","🇪🇹":"1f1ea-1f1f9","🇪🇸":"1f1ea-1f1f8","🇪🇷":"1f1ea-1f1f7","🇪🇭":"1f1ea-1f1ed","🇪🇬":"1f1ea-1f1ec","🇪🇪":"1f1ea-1f1ea","🇪🇨":"1f1ea-1f1e8","🇪🇦":"1f1ea-1f1e6","🇩🇿":"1f1e9-1f1ff","🇩🇴":"1f1e9-1f1f4","🇩🇲":"1f1e9-1f1f2","🇩🇰":"1f1e9-1f1f0","🇩🇯":"1f1e9-1f1ef","🇩🇬":"1f1e9-1f1ec","🇩🇪":"1f1e9-1f1ea","🇨🇿":"1f1e8-1f1ff","🇨🇾":"1f1e8-1f1fe","🇨🇽":"1f1e8-1f1fd","🇨🇼":"1f1e8-1f1fc","🇨🇻":"1f1e8-1f1fb","🇨🇺":"1f1e8-1f1fa","🇨🇷":"1f1e8-1f1f7","🇨🇵":"1f1e8-1f1f5","🇨🇴":"1f1e8-1f1f4","🇨🇳":"1f1e8-1f1f3","🇨🇲":"1f1e8-1f1f2","🇨🇱":"1f1e8-1f1f1","🇨🇰":"1f1e8-1f1f0","🇨🇮":"1f1e8-1f1ee","🇨🇭":"1f1e8-1f1ed","🇨🇬":"1f1e8-1f1ec","🇨🇫":"1f1e8-1f1eb","🇨🇩":"1f1e8-1f1e9","🇨🇨":"1f1e8-1f1e8","🇨🇦":"1f1e8-1f1e6","🇧🇿":"1f1e7-1f1ff","🇧🇾":"1f1e7-1f1fe","🇧🇼":"1f1e7-1f1fc","🇧🇻":"1f1e7-1f1fb","🇧🇹":"1f1e7-1f1f9","🇧🇸":"1f1e7-1f1f8","🇧🇷":"1f1e7-1f1f7","🇧🇶":"1f1e7-1f1f6","🇧🇴":"1f1e7-1f1f4","🇧🇳":"1f1e7-1f1f3","🇧🇲":"1f1e7-1f1f2","🇧🇱":"1f1e7-1f1f1","🇧🇯":"1f1e7-1f1ef","🇧🇮":"1f1e7-1f1ee","🇧🇭":"1f1e7-1f1ed","🇧🇬":"1f1e7-1f1ec","🇧🇫":"1f1e7-1f1eb","🇧🇪":"1f1e7-1f1ea","🇧🇩":"1f1e7-1f1e9","🇧🇧":"1f1e7-1f1e7","🇧🇦":"1f1e7-1f1e6","🇦🇿":"1f1e6-1f1ff","🇦🇽":"1f1e6-1f1fd","🇦🇼":"1f1e6-1f1fc","🇦🇺":"1f1e6-1f1fa","🇦🇹":"1f1e6-1f1f9","🇦🇸":"1f1e6-1f1f8","🇦🇷":"1f1e6-1f1f7","🇦🇶":"1f1e6-1f1f6","🇦🇴":"1f1e6-1f1f4","🇦🇲":"1f1e6-1f1f2","🇦🇱":"1f1e6-1f1f1","🇦🇮":"1f1e6-1f1ee","🇦🇬":"1f1e6-1f1ec","🇦🇫":"1f1e6-1f1eb","🇦🇪":"1f1e6-1f1ea","🇦🇩":"1f1e6-1f1e9","🇦🇨":"1f1e6-1f1e8","🀄️":"1f004-fe0f","🀄":"1f004","🅿️":"1f17f-fe0f","🅿":"1f17f","🈂️":"1f202-fe0f","🈂":"1f202","🈚️":"1f21a-fe0f","🈚":"1f21a","🈯️":"1f22f-fe0f","🈯":"1f22f","🈷️":"1f237-fe0f","🈷":"1f237","🎞️":"1f39e-fe0f","🎞":"1f39e","🎟️":"1f39f-fe0f","🎟":"1f39f","🏋️":"1f3cb-fe0f","🏋":"1f3cb","🏌️":"1f3cc-fe0f","🏌":"1f3cc","🏍️":"1f3cd-fe0f","🏍":"1f3cd","🏎️":"1f3ce-fe0f","🏎":"1f3ce","🎖️":"1f396-fe0f","🎖":"1f396","🎗️":"1f397-fe0f","🎗":"1f397","🌶️":"1f336-fe0f","🌶":"1f336","🌧️":"1f327-fe0f","🌧":"1f327","🌨️":"1f328-fe0f","🌨":"1f328","🌩️":"1f329-fe0f","🌩":"1f329","🌪️":"1f32a-fe0f","🌪":"1f32a","🌫️":"1f32b-fe0f","🌫":"1f32b","🌬️":"1f32c-fe0f","🌬":"1f32c","🐿️":"1f43f-fe0f","🐿":"1f43f","🕷️":"1f577-fe0f","🕷":"1f577","🕸️":"1f578-fe0f","🕸":"1f578","🌡️":"1f321-fe0f","🌡":"1f321","🎙️":"1f399-fe0f","🎙":"1f399","🎚️":"1f39a-fe0f","🎚":"1f39a","🎛️":"1f39b-fe0f","🎛":"1f39b","🏳️":"1f3f3-fe0f","🏳":"1f3f3","🏵️":"1f3f5-fe0f","🏵":"1f3f5","🏷️":"1f3f7-fe0f","🏷":"1f3f7","📽️":"1f4fd-fe0f","📽":"1f4fd","🕉️":"1f549-fe0f","🕉":"1f549","🕊️":"1f54a-fe0f","🕊":"1f54a","🕯️":"1f56f-fe0f","🕯":"1f56f","🕰️":"1f570-fe0f","🕰":"1f570","🕳️":"1f573-fe0f","🕳":"1f573","🕶️":"1f576-fe0f","🕶":"1f576","🕹️":"1f579-fe0f","🕹":"1f579","🖇️":"1f587-fe0f","🖇":"1f587","🖊️":"1f58a-fe0f","🖊":"1f58a","🖋️":"1f58b-fe0f","🖋":"1f58b","🖌️":"1f58c-fe0f","🖌":"1f58c","🖍️":"1f58d-fe0f","🖍":"1f58d","🖥️":"1f5a5-fe0f","🖥":"1f5a5","🖨️":"1f5a8-fe0f","🖨":"1f5a8","🖲️":"1f5b2-fe0f","🖲":"1f5b2","🖼️":"1f5bc-fe0f","🖼":"1f5bc","🗂️":"1f5c2-fe0f","🗂":"1f5c2","🗃️":"1f5c3-fe0f","🗃":"1f5c3","🗄️":"1f5c4-fe0f","🗄":"1f5c4","🗑️":"1f5d1-fe0f","🗑":"1f5d1","🗒️":"1f5d2-fe0f","🗒":"1f5d2","🗓️":"1f5d3-fe0f","🗓":"1f5d3","🗜️":"1f5dc-fe0f","🗜":"1f5dc","🗝️":"1f5dd-fe0f","🗝":"1f5dd","🗞️":"1f5de-fe0f","🗞":"1f5de","🗡️":"1f5e1-fe0f","🗡":"1f5e1","🗣️":"1f5e3-fe0f","🗣":"1f5e3","🗨️":"1f5e8-fe0f","🗨":"1f5e8","🗯️":"1f5ef-fe0f","🗯":"1f5ef","🗳️":"1f5f3-fe0f","🗳":"1f5f3","🗺️":"1f5fa-fe0f","🗺":"1f5fa","🛠️":"1f6e0-fe0f","🛠":"1f6e0","🛡️":"1f6e1-fe0f","🛡":"1f6e1","🛢️":"1f6e2-fe0f","🛢":"1f6e2","🛰️":"1f6f0-fe0f","🛰":"1f6f0","🍽️":"1f37d-fe0f","🍽":"1f37d","👁️":"1f441-fe0f","👁":"1f441","🕴️":"1f574-fe0f","🕴":"1f574","🕵️":"1f575-fe0f","🕵":"1f575","🖐️":"1f590-fe0f","🖐":"1f590","🏔️":"1f3d4-fe0f","🏔":"1f3d4","🏕️":"1f3d5-fe0f","🏕":"1f3d5","🏖️":"1f3d6-fe0f","🏖":"1f3d6","🏗️":"1f3d7-fe0f","🏗":"1f3d7","🏘️":"1f3d8-fe0f","🏘":"1f3d8","🏙️":"1f3d9-fe0f","🏙":"1f3d9","🏚️":"1f3da-fe0f","🏚":"1f3da","🏛️":"1f3db-fe0f","🏛":"1f3db","🏜️":"1f3dc-fe0f","🏜":"1f3dc","🏝️":"1f3dd-fe0f","🏝":"1f3dd","🏞️":"1f3de-fe0f","🏞":"1f3de","🏟️":"1f3df-fe0f","🏟":"1f3df","🛋️":"1f6cb-fe0f","🛋":"1f6cb","🛍️":"1f6cd-fe0f","🛍":"1f6cd","🛎️":"1f6ce-fe0f","🛎":"1f6ce","🛏️":"1f6cf-fe0f","🛏":"1f6cf","🛣️":"1f6e3-fe0f","🛣":"1f6e3","🛤️":"1f6e4-fe0f","🛤":"1f6e4","🛥️":"1f6e5-fe0f","🛥":"1f6e5","🛩️":"1f6e9-fe0f","🛩":"1f6e9","🛳️":"1f6f3-fe0f","🛳":"1f6f3","🌤️":"1f324-fe0f","🌤":"1f324","🌥️":"1f325-fe0f","🌥":"1f325","🌦️":"1f326-fe0f","🌦":"1f326","🖱️":"1f5b1-fe0f","🖱":"1f5b1","☝🏻":"261d-1f3fb","☝🏼":"261d-1f3fc","☝🏽":"261d-1f3fd","☝🏾":"261d-1f3fe","☝🏿":"261d-1f3ff","✌🏻":"270c-1f3fb","✌🏼":"270c-1f3fc","✌🏽":"270c-1f3fd","✌🏾":"270c-1f3fe","✌🏿":"270c-1f3ff","✊🏻":"270a-1f3fb","✊🏼":"270a-1f3fc","✊🏽":"270a-1f3fd","✊🏾":"270a-1f3fe","✊🏿":"270a-1f3ff","✋🏻":"270b-1f3fb","✋🏼":"270b-1f3fc","✋🏽":"270b-1f3fd","✋🏾":"270b-1f3fe","✋🏿":"270b-1f3ff","✍🏻":"270d-1f3fb","✍🏼":"270d-1f3fc","✍🏽":"270d-1f3fd","✍🏾":"270d-1f3fe","✍🏿":"270d-1f3ff","⛹🏻":"26f9-1f3fb","⛹🏼":"26f9-1f3fc","⛹🏽":"26f9-1f3fd","⛹🏾":"26f9-1f3fe","⛹🏿":"26f9-1f3ff","©️":"00a9-fe0f","©":"00a9","®️":"00ae-fe0f","®":"00ae","‼️":"203c-fe0f","‼":"203c","⁉️":"2049-fe0f","⁉":"2049","™️":"2122-fe0f","™":"2122","ℹ️":"2139-fe0f","ℹ":"2139","↔️":"2194-fe0f","↔":"2194","↕️":"2195-fe0f","↕":"2195","↖️":"2196-fe0f","↖":"2196","↗️":"2197-fe0f","↗":"2197","↘️":"2198-fe0f","↘":"2198","↙️":"2199-fe0f","↙":"2199","↩️":"21a9-fe0f","↩":"21a9","↪️":"21aa-fe0f","↪":"21aa","⌚️":"231a-fe0f","⌚":"231a","⌛️":"231b-fe0f","⌛":"231b","Ⓜ️":"24c2-fe0f","Ⓜ":"24c2","▪️":"25aa-fe0f","▪":"25aa","▫️":"25ab-fe0f","▫":"25ab","▶️":"25b6-fe0f","▶":"25b6","◀️":"25c0-fe0f","◀":"25c0","◻️":"25fb-fe0f","◻":"25fb","◼️":"25fc-fe0f","◼":"25fc","◽️":"25fd-fe0f","◽":"25fd","◾️":"25fe-fe0f","◾":"25fe","☀️":"2600-fe0f","☀":"2600","☁️":"2601-fe0f","☁":"2601","☎️":"260e-fe0f","☎":"260e","☑️":"2611-fe0f","☑":"2611","☔️":"2614-fe0f","☔":"2614","☕️":"2615-fe0f","☕":"2615","☝️":"261d-fe0f","☝":"261d","☺️":"263a-fe0f","☺":"263a","♈️":"2648-fe0f","♈":"2648","♉️":"2649-fe0f","♉":"2649","♊️":"264a-fe0f","♊":"264a","♋️":"264b-fe0f","♋":"264b","♌️":"264c-fe0f","♌":"264c","♍️":"264d-fe0f","♍":"264d","♎️":"264e-fe0f","♎":"264e","♏️":"264f-fe0f","♏":"264f","♐️":"2650-fe0f","♐":"2650","♑️":"2651-fe0f","♑":"2651","♒️":"2652-fe0f","♒":"2652","♓️":"2653-fe0f","♓":"2653","♠️":"2660-fe0f","♠":"2660","♣️":"2663-fe0f","♣":"2663","♥️":"2665-fe0f","♥":"2665","♦️":"2666-fe0f","♦":"2666","♨️":"2668-fe0f","♨":"2668","♻️":"267b-fe0f","♻":"267b","♿️":"267f-fe0f","♿":"267f","⚓️":"2693-fe0f","⚓":"2693","⚠️":"26a0-fe0f","⚠":"26a0","⚡️":"26a1-fe0f","⚡":"26a1","⚪️":"26aa-fe0f","⚪":"26aa","⚫️":"26ab-fe0f","⚫":"26ab","⚽️":"26bd-fe0f","⚽":"26bd","⚾️":"26be-fe0f","⚾":"26be","⛄️":"26c4-fe0f","⛄":"26c4","⛅️":"26c5-fe0f","⛅":"26c5","⛔️":"26d4-fe0f","⛔":"26d4","⛪️":"26ea-fe0f","⛪":"26ea","⛲️":"26f2-fe0f","⛲":"26f2","⛳️":"26f3-fe0f","⛳":"26f3","⛵️":"26f5-fe0f","⛵":"26f5","⛺️":"26fa-fe0f","⛺":"26fa","⛽️":"26fd-fe0f","⛽":"26fd","✂️":"2702-fe0f","✂":"2702","✈️":"2708-fe0f","✈":"2708","✉️":"2709-fe0f","✉":"2709","✌️":"270c-fe0f","✌":"270c","✏️":"270f-fe0f","✏":"270f","✒️":"2712-fe0f","✒":"2712","✔️":"2714-fe0f","✔":"2714","✖️":"2716-fe0f","✖":"2716","✳️":"2733-fe0f","✳":"2733","✴️":"2734-fe0f","✴":"2734","❄️":"2744-fe0f","❄":"2744","❇️":"2747-fe0f","❇":"2747","❗️":"2757-fe0f","❗":"2757","❤️":"2764-fe0f","❤":"2764","➡️":"27a1-fe0f","➡":"27a1","⤴️":"2934-fe0f","⤴":"2934","⤵️":"2935-fe0f","⤵":"2935","⬅️":"2b05-fe0f","⬅":"2b05","⬆️":"2b06-fe0f","⬆":"2b06","⬇️":"2b07-fe0f","⬇":"2b07","⬛️":"2b1b-fe0f","⬛":"2b1b","⬜️":"2b1c-fe0f","⬜":"2b1c","⭐️":"2b50-fe0f","⭐":"2b50","⭕️":"2b55-fe0f","⭕":"2b55","〰️":"3030-fe0f","〰":"3030","〽️":"303d-fe0f","〽":"303d","㊗️":"3297-fe0f","㊗":"3297","㊙️":"3299-fe0f","㊙":"3299","✝️":"271d-fe0f","✝":"271d","⌨️":"2328-fe0f","⌨":"2328","✍️":"270d-fe0f","✍":"270d","⏏️":"23cf-fe0f","⏏":"23cf","⏭️":"23ed-fe0f","⏭":"23ed","⏮️":"23ee-fe0f","⏮":"23ee","⏯️":"23ef-fe0f","⏯":"23ef","⏱️":"23f1-fe0f","⏱":"23f1","⏲️":"23f2-fe0f","⏲":"23f2","⏸️":"23f8-fe0f","⏸":"23f8","⏹️":"23f9-fe0f","⏹":"23f9","⏺️":"23fa-fe0f","⏺":"23fa","☂️":"2602-fe0f","☂":"2602","☃️":"2603-fe0f","☃":"2603","☄️":"2604-fe0f","☄":"2604","☘️":"2618-fe0f","☘":"2618","☠️":"2620-fe0f","☠":"2620","☢️":"2622-fe0f","☢":"2622","☣️":"2623-fe0f","☣":"2623","☦️":"2626-fe0f","☦":"2626","☪️":"262a-fe0f","☪":"262a","☮️":"262e-fe0f","☮":"262e","☯️":"262f-fe0f","☯":"262f","☸️":"2638-fe0f","☸":"2638","☹️":"2639-fe0f","☹":"2639","⚒️":"2692-fe0f","⚒":"2692","⚔️":"2694-fe0f","⚔":"2694","⚖️":"2696-fe0f","⚖":"2696","⚗️":"2697-fe0f","⚗":"2697","⚙️":"2699-fe0f","⚙":"2699","⚛️":"269b-fe0f","⚛":"269b","⚜️":"269c-fe0f","⚜":"269c","⚰️":"26b0-fe0f","⚰":"26b0","⚱️":"26b1-fe0f","⚱":"26b1","⛈️":"26c8-fe0f","⛈":"26c8","⛏️":"26cf-fe0f","⛏":"26cf","⛑️":"26d1-fe0f","⛑":"26d1","⛓️":"26d3-fe0f","⛓":"26d3","⛩️":"26e9-fe0f","⛩":"26e9","⛰️":"26f0-fe0f","⛰":"26f0","⛱️":"26f1-fe0f","⛱":"26f1","⛴️":"26f4-fe0f","⛴":"26f4","⛷️":"26f7-fe0f","⛷":"26f7","⛸️":"26f8-fe0f","⛸":"26f8","⛹️":"26f9-fe0f","⛹":"26f9","✡️":"2721-fe0f","✡":"2721","❣️":"2763-fe0f","❣":"2763","🥉":"1f949","🥈":"1f948","🥇":"1f947","🤺":"1f93a","🥅":"1f945","🤾":"1f93e","🇿":"1f1ff","🤽":"1f93d","🥋":"1f94b","🥊":"1f94a","🤼":"1f93c","🤹":"1f939","🤸":"1f938","🛶":"1f6f6","🛵":"1f6f5","🛴":"1f6f4","🛒":"1f6d2","🃏":"1f0cf","🅰":"1f170","🅱":"1f171","🅾":"1f17e","🛑":"1f6d1","🆎":"1f18e","🆑":"1f191","🇾":"1f1fe","🆒":"1f192","🆓":"1f193","🆔":"1f194","🆕":"1f195","🆖":"1f196","🆗":"1f197","🆘":"1f198","🥄":"1f944","🆙":"1f199","🆚":"1f19a","🥂":"1f942","🥃":"1f943","🈁":"1f201","🥙":"1f959","🈲":"1f232","🈳":"1f233","🈴":"1f234","🈵":"1f235","🈶":"1f236","🥘":"1f958","🈸":"1f238","🈹":"1f239","🥗":"1f957","🈺":"1f23a","🉐":"1f250","🉑":"1f251","🌀":"1f300","🥖":"1f956","🌁":"1f301","🌂":"1f302","🌃":"1f303","🌄":"1f304","🌅":"1f305","🌆":"1f306","🥕":"1f955","🌇":"1f307","🌈":"1f308","🥔":"1f954","🌉":"1f309","🌊":"1f30a","🌋":"1f30b","🌌":"1f30c","🌏":"1f30f","🌑":"1f311","🥓":"1f953","🌓":"1f313","🌔":"1f314","🌕":"1f315","🌙":"1f319","🌛":"1f31b","🌟":"1f31f","🥒":"1f952","🌠":"1f320","🌰":"1f330","🥑":"1f951","🌱":"1f331","🌴":"1f334","🌵":"1f335","🌷":"1f337","🌸":"1f338","🌹":"1f339","🌺":"1f33a","🌻":"1f33b","🌼":"1f33c","🌽":"1f33d","🥐":"1f950","🌾":"1f33e","🌿":"1f33f","🍀":"1f340","🍁":"1f341","🍂":"1f342","🍃":"1f343","🍄":"1f344","🍅":"1f345","🍆":"1f346","🍇":"1f347","🍈":"1f348","🍉":"1f349","🍊":"1f34a","🥀":"1f940","🍌":"1f34c","🍍":"1f34d","🍎":"1f34e","🍏":"1f34f","🍑":"1f351","🍒":"1f352","🍓":"1f353","🦏":"1f98f","🍔":"1f354","🍕":"1f355","🍖":"1f356","🦎":"1f98e","🍗":"1f357","🍘":"1f358","🍙":"1f359","🦍":"1f98d","🍚":"1f35a","🍛":"1f35b","🦌":"1f98c","🍜":"1f35c","🍝":"1f35d","🍞":"1f35e","🍟":"1f35f","🦋":"1f98b","🍠":"1f360","🍡":"1f361","🦊":"1f98a","🍢":"1f362","🍣":"1f363","🦉":"1f989","🍤":"1f364","🍥":"1f365","🦈":"1f988","🍦":"1f366","🦇":"1f987","🍧":"1f367","🇽":"1f1fd","🍨":"1f368","🦆":"1f986","🍩":"1f369","🦅":"1f985","🍪":"1f36a","🖤":"1f5a4","🍫":"1f36b","🍬":"1f36c","🍭":"1f36d","🍮":"1f36e","🍯":"1f36f","🤞":"1f91e","🍰":"1f370","🍱":"1f371","🍲":"1f372","🤝":"1f91d","🍳":"1f373","🍴":"1f374","🍵":"1f375","🍶":"1f376","🍷":"1f377","🍸":"1f378","🍹":"1f379","🍺":"1f37a","🍻":"1f37b","🎀":"1f380","🎁":"1f381","🎂":"1f382","🎃":"1f383","🤛":"1f91b","🤜":"1f91c","🎄":"1f384","🎅":"1f385","🎆":"1f386","🤚":"1f91a","🎇":"1f387","🎈":"1f388","🎉":"1f389","🎊":"1f38a","🎋":"1f38b","🎌":"1f38c","🤙":"1f919","🎍":"1f38d","🕺":"1f57a","🎎":"1f38e","🤳":"1f933","🎏":"1f38f","🤰":"1f930","🎐":"1f390","🤦":"1f926","🤷":"1f937","🎑":"1f391","🎒":"1f392","🎓":"1f393","🎠":"1f3a0","🎡":"1f3a1","🎢":"1f3a2","🎣":"1f3a3","🎤":"1f3a4","🎥":"1f3a5","🎦":"1f3a6","🎧":"1f3a7","🤶":"1f936","🎨":"1f3a8","🤵":"1f935","🎩":"1f3a9","🎪":"1f3aa","🤴":"1f934","🎫":"1f3ab","🎬":"1f3ac","🎭":"1f3ad","🤧":"1f927","🎮":"1f3ae","🎯":"1f3af","🎰":"1f3b0","🎱":"1f3b1","🎲":"1f3b2","🎳":"1f3b3","🎴":"1f3b4","🤥":"1f925","🎵":"1f3b5","🎶":"1f3b6","🎷":"1f3b7","🤤":"1f924","🎸":"1f3b8","🎹":"1f3b9","🎺":"1f3ba","🤣":"1f923","🎻":"1f3bb","🎼":"1f3bc","🎽":"1f3bd","🤢":"1f922","🎾":"1f3be","🎿":"1f3bf","🏀":"1f3c0","🏁":"1f3c1","🤡":"1f921","🏂":"1f3c2","🏃":"1f3c3","🏄":"1f3c4","🏆":"1f3c6","🏈":"1f3c8","🏊":"1f3ca","🏠":"1f3e0","🏡":"1f3e1","🏢":"1f3e2","🏣":"1f3e3","🏥":"1f3e5","🏦":"1f3e6","🏧":"1f3e7","🏨":"1f3e8","🏩":"1f3e9","🏪":"1f3ea","🏫":"1f3eb","🏬":"1f3ec","🤠":"1f920","🏭":"1f3ed","🏮":"1f3ee","🏯":"1f3ef","🏰":"1f3f0","🐌":"1f40c","🐍":"1f40d","🐎":"1f40e","🐑":"1f411","🐒":"1f412","🐔":"1f414","🐗":"1f417","🐘":"1f418","🐙":"1f419","🐚":"1f41a","🐛":"1f41b","🐜":"1f41c","🐝":"1f41d","🐞":"1f41e","🐟":"1f41f","🐠":"1f420","🐡":"1f421","🐢":"1f422","🐣":"1f423","🐤":"1f424","🐥":"1f425","🐦":"1f426","🐧":"1f427","🐨":"1f428","🐩":"1f429","🐫":"1f42b","🐬":"1f42c","🐭":"1f42d","🐮":"1f42e","🐯":"1f42f","🐰":"1f430","🐱":"1f431","🐲":"1f432","🐳":"1f433","🐴":"1f434","🐵":"1f435","🐶":"1f436","🐷":"1f437","🐸":"1f438","🐹":"1f439","🐺":"1f43a","🐻":"1f43b","🐼":"1f43c","🐽":"1f43d","🐾":"1f43e","👀":"1f440","👂":"1f442","👃":"1f443","👄":"1f444","👅":"1f445","👆":"1f446","👇":"1f447","👈":"1f448","👉":"1f449","👊":"1f44a","👋":"1f44b","👌":"1f44c","👍":"1f44d","👎":"1f44e","👏":"1f44f","👐":"1f450","👑":"1f451","👒":"1f452","👓":"1f453","👔":"1f454","👕":"1f455","👖":"1f456","👗":"1f457","👘":"1f458","👙":"1f459","👚":"1f45a","👛":"1f45b","👜":"1f45c","👝":"1f45d","👞":"1f45e","👟":"1f45f","👠":"1f460","👡":"1f461","👢":"1f462","👣":"1f463","👤":"1f464","👦":"1f466","👧":"1f467","👨":"1f468","👩":"1f469","👪":"1f46a","👫":"1f46b","👮":"1f46e","👯":"1f46f","👰":"1f470","👱":"1f471","👲":"1f472","👳":"1f473","👴":"1f474","👵":"1f475","👶":"1f476","👷":"1f477","👸":"1f478","👹":"1f479","👺":"1f47a","👻":"1f47b","👼":"1f47c","👽":"1f47d","👾":"1f47e","👿":"1f47f","💀":"1f480","📇":"1f4c7","💁":"1f481","💂":"1f482","💃":"1f483","💄":"1f484","💅":"1f485","📒":"1f4d2","💆":"1f486","📓":"1f4d3","💇":"1f487","📔":"1f4d4","💈":"1f488","📕":"1f4d5","💉":"1f489","📖":"1f4d6","💊":"1f48a","📗":"1f4d7","💋":"1f48b","📘":"1f4d8","💌":"1f48c","📙":"1f4d9","💍":"1f48d","📚":"1f4da","💎":"1f48e","📛":"1f4db","💏":"1f48f","📜":"1f4dc","💐":"1f490","📝":"1f4dd","💑":"1f491","📞":"1f4de","💒":"1f492","📟":"1f4df","📠":"1f4e0","💓":"1f493","📡":"1f4e1","📢":"1f4e2","💔":"1f494","📣":"1f4e3","📤":"1f4e4","💕":"1f495","📥":"1f4e5","📦":"1f4e6","💖":"1f496","📧":"1f4e7","📨":"1f4e8","💗":"1f497","📩":"1f4e9","📪":"1f4ea","💘":"1f498","📫":"1f4eb","📮":"1f4ee","💙":"1f499","📰":"1f4f0","📱":"1f4f1","💚":"1f49a","📲":"1f4f2","📳":"1f4f3","💛":"1f49b","📴":"1f4f4","📶":"1f4f6","💜":"1f49c","📷":"1f4f7","📹":"1f4f9","💝":"1f49d","📺":"1f4fa","📻":"1f4fb","💞":"1f49e","📼":"1f4fc","🔃":"1f503","💟":"1f49f","🔊":"1f50a","🔋":"1f50b","💠":"1f4a0","🔌":"1f50c","🔍":"1f50d","💡":"1f4a1","🔎":"1f50e","🔏":"1f50f","💢":"1f4a2","🔐":"1f510","🔑":"1f511","💣":"1f4a3","🔒":"1f512","🔓":"1f513","💤":"1f4a4","🔔":"1f514","🔖":"1f516","💥":"1f4a5","🔗":"1f517","🔘":"1f518","💦":"1f4a6","🔙":"1f519","🔚":"1f51a","💧":"1f4a7","🔛":"1f51b","🔜":"1f51c","💨":"1f4a8","🔝":"1f51d","🔞":"1f51e","💩":"1f4a9","🔟":"1f51f","💪":"1f4aa","🔠":"1f520","🔡":"1f521","💫":"1f4ab","🔢":"1f522","🔣":"1f523","💬":"1f4ac","🔤":"1f524","🔥":"1f525","💮":"1f4ae","🔦":"1f526","🔧":"1f527","💯":"1f4af","🔨":"1f528","🔩":"1f529","💰":"1f4b0","🔪":"1f52a","🔫":"1f52b","💱":"1f4b1","🔮":"1f52e","💲":"1f4b2","🔯":"1f52f","💳":"1f4b3","🔰":"1f530","🔱":"1f531","💴":"1f4b4","🔲":"1f532","🔳":"1f533","💵":"1f4b5","🔴":"1f534","🔵":"1f535","💸":"1f4b8","🔶":"1f536","🔷":"1f537","💹":"1f4b9","🔸":"1f538","🔹":"1f539","💺":"1f4ba","🔺":"1f53a","🔻":"1f53b","💻":"1f4bb","🔼":"1f53c","💼":"1f4bc","🔽":"1f53d","🕐":"1f550","💽":"1f4bd","🕑":"1f551","💾":"1f4be","🕒":"1f552","💿":"1f4bf","🕓":"1f553","📀":"1f4c0","🕔":"1f554","🕕":"1f555","📁":"1f4c1","🕖":"1f556","🕗":"1f557","📂":"1f4c2","🕘":"1f558","🕙":"1f559","📃":"1f4c3","🕚":"1f55a","🕛":"1f55b","📄":"1f4c4","🗻":"1f5fb","🗼":"1f5fc","📅":"1f4c5","🗽":"1f5fd","🗾":"1f5fe","📆":"1f4c6","🗿":"1f5ff","😁":"1f601","😂":"1f602","😃":"1f603","📈":"1f4c8","😄":"1f604","😅":"1f605","📉":"1f4c9","😆":"1f606","😉":"1f609","📊":"1f4ca","😊":"1f60a","😋":"1f60b","📋":"1f4cb","😌":"1f60c","😍":"1f60d","📌":"1f4cc","😏":"1f60f","😒":"1f612","📍":"1f4cd","😓":"1f613","😔":"1f614","📎":"1f4ce","😖":"1f616","😘":"1f618","📏":"1f4cf","😚":"1f61a","😜":"1f61c","📐":"1f4d0","😝":"1f61d","😞":"1f61e","📑":"1f4d1","😠":"1f620","😡":"1f621","😢":"1f622","😣":"1f623","😤":"1f624","😥":"1f625","😨":"1f628","😩":"1f629","😪":"1f62a","😫":"1f62b","😭":"1f62d","😰":"1f630","😱":"1f631","😲":"1f632","😳":"1f633","😵":"1f635","😷":"1f637","😸":"1f638","😹":"1f639","😺":"1f63a","😻":"1f63b","😼":"1f63c","😽":"1f63d","😾":"1f63e","😿":"1f63f","🙀":"1f640","🙅":"1f645","🙆":"1f646","🙇":"1f647","🙈":"1f648","🙉":"1f649","🙊":"1f64a","🙋":"1f64b","🙌":"1f64c","🙍":"1f64d","🙎":"1f64e","🙏":"1f64f","🚀":"1f680","🚃":"1f683","🚄":"1f684","🚅":"1f685","🚇":"1f687","🚉":"1f689","🚌":"1f68c","🚏":"1f68f","🚑":"1f691","🚒":"1f692","🚓":"1f693","🚕":"1f695","🚗":"1f697","🚙":"1f699","🚚":"1f69a","🚢":"1f6a2","🚤":"1f6a4","🚥":"1f6a5","🚧":"1f6a7","🚨":"1f6a8","🚩":"1f6a9","🚪":"1f6aa","🚫":"1f6ab","🚬":"1f6ac","🚭":"1f6ad","🚲":"1f6b2","🚶":"1f6b6","🚹":"1f6b9","🚺":"1f6ba","🚻":"1f6bb","🚼":"1f6bc","🚽":"1f6bd","🚾":"1f6be","🛀":"1f6c0","🤘":"1f918","😀":"1f600","😇":"1f607","😈":"1f608","😎":"1f60e","😐":"1f610","😑":"1f611","😕":"1f615","😗":"1f617","😙":"1f619","😛":"1f61b","😟":"1f61f","😦":"1f626","😧":"1f627","😬":"1f62c","😮":"1f62e","😯":"1f62f","😴":"1f634","😶":"1f636","🚁":"1f681","🚂":"1f682",
-"🚆":"1f686","🚈":"1f688","🚊":"1f68a","🚍":"1f68d","🚎":"1f68e","🚐":"1f690","🚔":"1f694","🚖":"1f696","🚘":"1f698","🚛":"1f69b","🚜":"1f69c","🚝":"1f69d","🚞":"1f69e","🚟":"1f69f","🚠":"1f6a0","🚡":"1f6a1","🚣":"1f6a3","🚦":"1f6a6","🚮":"1f6ae","🚯":"1f6af","🚰":"1f6b0","🚱":"1f6b1","🚳":"1f6b3","🚴":"1f6b4","🚵":"1f6b5","🚷":"1f6b7","🚸":"1f6b8","🚿":"1f6bf","🛁":"1f6c1","🛂":"1f6c2","🛃":"1f6c3","🛄":"1f6c4","🛅":"1f6c5","🌍":"1f30d","🌎":"1f30e","🌐":"1f310","🌒":"1f312","🌖":"1f316","🌗":"1f317","🌘":"1f318","🌚":"1f31a","🌜":"1f31c","🌝":"1f31d","🌞":"1f31e","🌲":"1f332","🌳":"1f333","🍋":"1f34b","🍐":"1f350","🍼":"1f37c","🏇":"1f3c7","🏉":"1f3c9","🏤":"1f3e4","🐀":"1f400","🐁":"1f401","🐂":"1f402","🐃":"1f403","🐄":"1f404","🐅":"1f405","🐆":"1f406","🐇":"1f407","🐈":"1f408","🐉":"1f409","🐊":"1f40a","🐋":"1f40b","🐏":"1f40f","🐐":"1f410","🐓":"1f413","🐕":"1f415","🐖":"1f416","🐪":"1f42a","👥":"1f465","👬":"1f46c","👭":"1f46d","💭":"1f4ad","💶":"1f4b6","💷":"1f4b7","📬":"1f4ec","📭":"1f4ed","📯":"1f4ef","📵":"1f4f5","🔀":"1f500","🔁":"1f501","🔂":"1f502","🔄":"1f504","🔅":"1f505","🔆":"1f506","🔇":"1f507","🔉":"1f509","🔕":"1f515","🔬":"1f52c","🔭":"1f52d","🕜":"1f55c","🕝":"1f55d","🕞":"1f55e","🕟":"1f55f","🕠":"1f560","🕡":"1f561","🕢":"1f562","🕣":"1f563","🕤":"1f564","🕥":"1f565","🕦":"1f566","🕧":"1f567","🔈":"1f508","🚋":"1f68b","🏅":"1f3c5","🏴":"1f3f4","📸":"1f4f8","🛌":"1f6cc","🖕":"1f595","🖖":"1f596","🙁":"1f641","🙂":"1f642","🛫":"1f6eb","🛬":"1f6ec","🏻":"1f3fb","🏼":"1f3fc","🏽":"1f3fd","🏾":"1f3fe","🏿":"1f3ff","🙃":"1f643","🤑":"1f911","🤓":"1f913","🤗":"1f917","🙄":"1f644","🤔":"1f914","🤐":"1f910","🤒":"1f912","🤕":"1f915","🤖":"1f916","🦁":"1f981","🦄":"1f984","🦂":"1f982","🦀":"1f980","🦃":"1f983","🧀":"1f9c0","🌭":"1f32d","🌮":"1f32e","🌯":"1f32f","🍿":"1f37f","🍾":"1f37e","🏹":"1f3f9","🏺":"1f3fa","🛐":"1f6d0","🕋":"1f54b","🕌":"1f54c","🕍":"1f54d","🕎":"1f54e","📿":"1f4ff","🏏":"1f3cf","🏐":"1f3d0","🏑":"1f3d1","🏒":"1f3d2","🏓":"1f3d3","🏸":"1f3f8","🥁":"1f941","🦐":"1f990","🦑":"1f991","🥚":"1f95a","🥛":"1f95b","🥜":"1f95c","🥝":"1f95d","🥞":"1f95e","🇼":"1f1fc","🇻":"1f1fb","🇺":"1f1fa","🇹":"1f1f9","🇸":"1f1f8","🇷":"1f1f7","🇶":"1f1f6","🇵":"1f1f5","🇴":"1f1f4","🇳":"1f1f3","🇲":"1f1f2","🇱":"1f1f1","🇰":"1f1f0","🇯":"1f1ef","🇮":"1f1ee","🇭":"1f1ed","🇬":"1f1ec","🇫":"1f1eb","🇪":"1f1ea","🇩":"1f1e9","🇨":"1f1e8","🇧":"1f1e7","🇦":"1f1e6","⏩":"23e9","⏪":"23ea","⏫":"23eb","⏬":"23ec","⏰":"23f0","⏳":"23f3","⛎":"26ce","✅":"2705","✊":"270a","✋":"270b","✨":"2728","❌":"274c","❎":"274e","❓":"2753","❔":"2754","❕":"2755","➕":"2795","➖":"2796","➗":"2797","➰":"27b0","➿":"27bf","©":"00a9","®":"00ae","‼":"203c","⁉":"2049","™":"2122","ℹ":"2139","↔":"2194","↕":"2195","↖":"2196","↗":"2197","↘":"2198","↙":"2199","↩":"21a9","↪":"21aa","⌚":"231a","⌛":"231b","Ⓜ":"24c2","▪":"25aa","▫":"25ab","▶":"25b6","◀":"25c0","◻":"25fb","◼":"25fc","◽":"25fd","◾":"25fe","☀":"2600","☁":"2601","☎":"260e","☑":"2611","☔":"2614","☕":"2615","☝":"261d","☺":"263a","♈":"2648","♉":"2649","♊":"264a","♋":"264b","♌":"264c","♍":"264d","♎":"264e","♏":"264f","♐":"2650","♑":"2651","♒":"2652","♓":"2653","♠":"2660","♣":"2663","♥":"2665","♦":"2666","♨":"2668","♻":"267b","♿":"267f","⚓":"2693","⚠":"26a0","⚡":"26a1","⚪":"26aa","⚫":"26ab","⚽":"26bd","⚾":"26be","⛄":"26c4","⛅":"26c5","⛔":"26d4","⛪":"26ea","⛲":"26f2","⛳":"26f3","⛵":"26f5","⛺":"26fa","⛽":"26fd","✂":"2702","✈":"2708","✉":"2709","✌":"270c","✏":"270f","✒":"2712","✔":"2714","✖":"2716","✳":"2733","✴":"2734","❄":"2744","❇":"2747","❗":"2757","❤":"2764","➡":"27a1","⤴":"2934","⤵":"2935","⬅":"2b05","⬆":"2b06","⬇":"2b07","⬛":"2b1b","⬜":"2b1c","⭐":"2b50","⭕":"2b55","〰":"3030","〽":"303d","㊗":"3297","㊙":"3299","🀄":"1f004","🅿":"1f17f","🈂":"1f202","🈚":"1f21a","🈯":"1f22f","🈷":"1f237","🎞":"1f39e","🎟":"1f39f","🏋":"1f3cb","🏌":"1f3cc","🏍":"1f3cd","🏎":"1f3ce","🎖":"1f396","🎗":"1f397","🌶":"1f336","🌧":"1f327","🌨":"1f328","🌩":"1f329","🌪":"1f32a","🌫":"1f32b","🌬":"1f32c","🐿":"1f43f","🕷":"1f577","🕸":"1f578","🌡":"1f321","🎙":"1f399","🎚":"1f39a","🎛":"1f39b","🏳":"1f3f3","🏵":"1f3f5","🏷":"1f3f7","📽":"1f4fd","✝":"271d","🕉":"1f549","🕊":"1f54a","🕯":"1f56f","🕰":"1f570","🕳":"1f573","🕶":"1f576","🕹":"1f579","🖇":"1f587","🖊":"1f58a","🖋":"1f58b","🖌":"1f58c","🖍":"1f58d","🖥":"1f5a5","🖨":"1f5a8","⌨":"2328","🖲":"1f5b2","🖼":"1f5bc","🗂":"1f5c2","🗃":"1f5c3","🗄":"1f5c4","🗑":"1f5d1","🗒":"1f5d2","🗓":"1f5d3","🗜":"1f5dc","🗝":"1f5dd","🗞":"1f5de","🗡":"1f5e1","🗣":"1f5e3","🗨":"1f5e8","🗯":"1f5ef","🗳":"1f5f3","🗺":"1f5fa","🛠":"1f6e0","🛡":"1f6e1","🛢":"1f6e2","🛰":"1f6f0","🍽":"1f37d","👁":"1f441","🕴":"1f574","🕵":"1f575","✍":"270d","🖐":"1f590","🏔":"1f3d4","🏕":"1f3d5","🏖":"1f3d6","🏗":"1f3d7","🏘":"1f3d8","🏙":"1f3d9","🏚":"1f3da","🏛":"1f3db","🏜":"1f3dc","🏝":"1f3dd","🏞":"1f3de","🏟":"1f3df","🛋":"1f6cb","🛍":"1f6cd","🛎":"1f6ce","🛏":"1f6cf","🛣":"1f6e3","🛤":"1f6e4","🛥":"1f6e5","🛩":"1f6e9","🛳":"1f6f3","⏏":"23cf","⏭":"23ed","⏮":"23ee","⏯":"23ef","⏱":"23f1","⏲":"23f2","⏸":"23f8","⏹":"23f9","⏺":"23fa","☂":"2602","☃":"2603","☄":"2604","☘":"2618","☠":"2620","☢":"2622","☣":"2623","☦":"2626","☪":"262a","☮":"262e","☯":"262f","☸":"2638","☹":"2639","⚒":"2692","⚔":"2694","⚖":"2696","⚗":"2697","⚙":"2699","⚛":"269b","⚜":"269c","⚰":"26b0","⚱":"26b1","⛈":"26c8","⛏":"26cf","⛑":"26d1","⛓":"26d3","⛩":"26e9","⛰":"26f0","⛱":"26f1","⛴":"26f4","⛷":"26f7","⛸":"26f8","⛹":"26f9","✡":"2721","❣":"2763","🌤":"1f324","🌥":"1f325","🌦":"1f326","🖱":"1f5b1"},ns.imagePathPNG="https://cdn.jsdelivr.net/emojione/assets/png/",ns.imagePathSVG="https://cdn.jsdelivr.net/emojione/assets/svg/",ns.imagePathSVGSprites="./../assets/sprites/emojione.sprites.svg",ns.imageType="png",ns.imageTitleTag=!0,ns.sprites=!1,ns.unicodeAlt=!0,ns.ascii=!1,ns.cacheBustParam="?v=2.2.7",ns.regShortNames=new RegExp("<object[^>]*>.*?</object>|<span[^>]*>.*?</span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|("+ns.shortnames+")","gi"),ns.regAscii=new RegExp("<object[^>]*>.*?</object>|<span[^>]*>.*?</span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|((\\s|^)"+ns.asciiRegexp+"(?=\\s|$|[!,.?]))","g"),ns.regUnicode=new RegExp("<object[^>]*>.*?</object>|<span[^>]*>.*?</span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|("+ns.unicodeRegexp+")","gi"),ns.toImage=function(str){return str=ns.unicodeToImage(str),str=ns.shortnameToImage(str)},ns.unifyUnicode=function(str){return str=ns.toShort(str),str=ns.shortnameToUnicode(str)},ns.shortnameToAscii=function(str){var unicode,unicodeToAscii=ns.objectFlip(ns.asciiList);return str=str.replace(ns.regShortNames,function(shortname){return"undefined"!=typeof shortname&&""!==shortname&&shortname in ns.emojioneList?(unicode=ns.emojioneList[shortname].unicode[ns.emojioneList[shortname].unicode.length-1],"undefined"!=typeof unicodeToAscii[unicode]?unicodeToAscii[unicode]:shortname):shortname})},ns.shortnameToUnicode=function(str){var unicode,fname,uc;return str=str.replace(ns.regShortNames,function(shortname){return"undefined"!=typeof shortname&&""!==shortname&&shortname in ns.emojioneList?(unicode=ns.emojioneList[shortname].unicode[0].toUpperCase(),fname=ns.emojioneList[shortname].fname,uc=ns.emojioneList[shortname].uc,ns.convert(uc)):shortname}),ns.ascii&&(str=str.replace(ns.regAscii,function(entire,m1,m2,m3){return"undefined"!=typeof m3&&""!==m3&&ns.unescapeHTML(m3)in ns.asciiList?(m3=ns.unescapeHTML(m3),unicode=ns.asciiList[m3].toUpperCase(),m2+ns.convert(unicode)):entire})),str},ns.shortnameToImage=function(str){var replaceWith,unicode,alt,title;return str=str.replace(ns.regShortNames,function(shortname){return"undefined"!=typeof shortname&&""!==shortname&&shortname in ns.emojioneList?(unicode=ns.emojioneList[shortname].unicode[ns.emojioneList[shortname].unicode.length-1],title=ns.imageTitleTag?'title="'+shortname+'"':"",alt=ns.unicodeAlt?ns.convert(unicode.toUpperCase()):shortname,replaceWith="png"===ns.imageType?ns.sprites?'<span class="emojione emojione-'+unicode+'" '+title+">"+alt+"</span>":'<img class="emojione" alt="'+alt+'" '+title+' src="'+ns.imagePathPNG+unicode+".png"+ns.cacheBustParam+'"/>':ns.sprites?'<svg class="emojione"><description>'+alt+'</description><use xlink:href="'+ns.imagePathSVGSprites+"#emoji-"+unicode+'"></use></svg>':'<object class="emojione" data="'+ns.imagePathSVG+unicode+".svg"+ns.cacheBustParam+'" type="image/svg+xml" standby="'+alt+'">'+alt+"</object>"):shortname}),ns.ascii&&(str=str.replace(ns.regAscii,function(entire,m1,m2,m3){return"undefined"!=typeof m3&&""!==m3&&ns.unescapeHTML(m3)in ns.asciiList?(m3=ns.unescapeHTML(m3),unicode=ns.asciiList[m3],title=ns.imageTitleTag?'title="'+ns.escapeHTML(m3)+'"':"",alt=ns.unicodeAlt?ns.convert(unicode.toUpperCase()):ns.escapeHTML(m3),replaceWith="png"===ns.imageType?ns.sprites?m2+'<span class="emojione emojione-'+unicode+'" '+title+">"+alt+"</span>":m2+'<img class="emojione" alt="'+alt+'" '+title+' src="'+ns.imagePathPNG+unicode+".png"+ns.cacheBustParam+'"/>':ns.sprites?'<svg class="emojione"><description>'+alt+'</description><use xlink:href="'+ns.imagePathSVGSprites+"#emoji-"+unicode+'"></use></svg>':m2+'<object class="emojione" data="'+ns.imagePathSVG+unicode+".svg"+ns.cacheBustParam+'" type="image/svg+xml" standby="'+alt+'">'+alt+"</object>"):entire})),str},ns.unicodeToImage=function(str){var replaceWith,unicode,short,fname,alt,title,mappedUnicode=ns.mapUnicodeToShort();return str=str.replace(ns.regUnicode,function(unicodeChar){return"undefined"!=typeof unicodeChar&&""!==unicodeChar&&unicodeChar in ns.jsEscapeMap?(unicode=ns.jsEscapeMap[unicodeChar],short=mappedUnicode[unicode],fname=ns.emojioneList[short].fname,alt=ns.unicodeAlt?ns.convert(unicode.toUpperCase()):short,title=ns.imageTitleTag?'title="'+short+'"':"",replaceWith="png"===ns.imageType?ns.sprites?'<span class="emojione emojione-'+unicode+'" '+title+">"+alt+"</span>":'<img class="emojione" alt="'+alt+'" '+title+' src="'+ns.imagePathPNG+fname+".png"+ns.cacheBustParam+'"/>':ns.sprites?'<svg class="emojione"><description>'+alt+'</description><use xlink:href="'+ns.imagePathSVGSprites+"#emoji-"+unicode+'"></use></svg>':'<img class="emojione" alt="'+alt+'" '+title+' src="'+ns.imagePathSVG+fname+".svg"+ns.cacheBustParam+'"/>'):unicodeChar})},ns.toShort=function(str){var find=ns.getUnicodeReplacementRegEx(),replacementList=ns.mapUnicodeCharactersToShort();return ns.replaceAll(str,find,replacementList)},ns.convert=function(unicode){if(unicode.indexOf("-")>-1){for(var parts=[],s=unicode.split("-"),i=0;i<s.length;i++){var part=parseInt(s[i],16);if(part>=65536&&part<=1114111){var hi=Math.floor((part-65536)/1024)+55296,lo=(part-65536)%1024+56320;part=String.fromCharCode(hi)+String.fromCharCode(lo)}else part=String.fromCharCode(part);parts.push(part)}return parts.join("")}var s=parseInt(unicode,16);if(s>=65536&&s<=1114111){var hi=Math.floor((s-65536)/1024)+55296,lo=(s-65536)%1024+56320;return String.fromCharCode(hi)+String.fromCharCode(lo)}return String.fromCharCode(s)},ns.escapeHTML=function(string){var escaped={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};return string.replace(/[&<>"']/g,function(match){return escaped[match]})},ns.unescapeHTML=function(string){var unescaped={"&amp;":"&","&#38;":"&","&#x26;":"&","&lt;":"<","&#60;":"<","&#x3C;":"<","&gt;":">","&#62;":">","&#x3E;":">","&quot;":'"',"&#34;":'"',"&#x22;":'"',"&apos;":"'","&#39;":"'","&#x27;":"'"};return string.replace(/&(?:amp|#38|#x26|lt|#60|#x3C|gt|#62|#x3E|apos|#39|#x27|quot|#34|#x22);/gi,function(match){return unescaped[match]})},ns.mapEmojioneList=function(addToMapStorage){for(var shortname in ns.emojioneList)if(ns.emojioneList.hasOwnProperty(shortname))for(var i=0,len=ns.emojioneList[shortname].unicode.length;i<len;i++){var unicode=ns.emojioneList[shortname].unicode[i];addToMapStorage(unicode,shortname)}},ns.mapUnicodeToShort=function(){return ns.memMapShortToUnicode||(ns.memMapShortToUnicode={},ns.mapEmojioneList(function(unicode,shortname){ns.memMapShortToUnicode[unicode]=shortname})),ns.memMapShortToUnicode},ns.memoizeReplacement=function(){if(!ns.unicodeReplacementRegEx||!ns.memMapShortToUnicodeCharacters){var unicodeList=[];ns.memMapShortToUnicodeCharacters={},ns.mapEmojioneList(function(unicode,shortname){var emojiCharacter=ns.convert(unicode);ns.emojioneList[shortname].isCanonical&&(ns.memMapShortToUnicodeCharacters[emojiCharacter]=shortname),unicodeList.push(emojiCharacter)}),ns.unicodeReplacementRegEx=unicodeList.join("|")}},ns.mapUnicodeCharactersToShort=function(){return ns.memoizeReplacement(),ns.memMapShortToUnicodeCharacters},ns.getUnicodeReplacementRegEx=function(){return ns.memoizeReplacement(),ns.unicodeReplacementRegEx},ns.objectFlip=function(obj){var key,tmp_obj={};for(key in obj)obj.hasOwnProperty(key)&&(tmp_obj[obj[key]]=key);return tmp_obj},ns.escapeRegExp=function(string){return string.replace(/[-[\]{}()*+?.,;:&\\^$#\s]/g,"\\$&")},ns.replaceAll=function(string,find,replacementList){var escapedFind=ns.escapeRegExp(find),search=new RegExp("<object[^>]*>.*?</object>|<span[^>]*>.*?</span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|("+escapedFind+")","gi"),replace=function(entire,m1){return"undefined"==typeof m1||""===m1?entire:replacementList[m1]};return string.replace(search,replace)}}(this.emojione=this.emojione||{}),"object"==typeof module&&(module.exports=this.emojione);var I18next={bg:{translation:{Logging_in:null,your_connection_is_unencrypted:null,your_connection_is_encrypted:null,your_buddy_closed_the_private_connection:null,start_private:null,close_private:null,your_buddy_is_verificated:null,you_have_only_a_subscription_in_one_way:null,authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:null,unencrypted_message_received:null,not_available:null,no_connection:null,relogin:null,trying_to_start_private_conversation:null,Verified:null,Unverified:null,private_conversation_aborted:null,your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:null,Creating_your_private_key_:null,Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:null,Secret:null,To_verify_the_fingerprint_:null,Your_fingerprint:null,Buddy_fingerprint:null,Close:null,Compared:null,To_authenticate_using_a_question_:null,Ask:null,To_authenticate_pick_a_secret_:null,Compare:null,Fingerprints:null,Authentication:null,Message:null,Add_buddy:null,rename_buddy:null,delete_buddy:null,Login:null,Username:null,Password:null,Cancel:null,Connect:null,Type_in_the_full_username_:null,Alias:null,Add:null,Subscription_request:null,You_have_a_request_from:null,Deny:null,Approve:null,Remove_buddy:null,You_are_about_to_remove_:null,Continue_without_chat:null,Please_wait:null,Login_failed:null,Sorry_we_cant_authentikate_:null,Retry:null,clear_history:null,New_message_from:null,Should_we_notify_you_:null,Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null}},"bn-BD":{translation:{Logging_in:null,your_connection_is_unencrypted:null,your_connection_is_encrypted:null,your_buddy_closed_the_private_connection:null,start_private:null,close_private:null,your_buddy_is_verificated:null,you_have_only_a_subscription_in_one_way:null,authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:null,unencrypted_message_received:null,not_available:null,no_connection:null,relogin:null,trying_to_start_private_conversation:null,Verified:null,Unverified:null,private_conversation_aborted:null,your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:null,Creating_your_private_key_:null,Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:null,Secret:null,To_verify_the_fingerprint_:null,Your_fingerprint:null,Buddy_fingerprint:null,Close:null,Compared:null,To_authenticate_using_a_question_:null,Ask:null,To_authenticate_pick_a_secret_:null,Compare:null,Fingerprints:null,Authentication:null,Message:null,Add_buddy:null,rename_buddy:null,delete_buddy:null,Login:null,Username:null,Password:null,Cancel:null,Connect:null,Type_in_the_full_username_:null,Alias:null,Add:null,Subscription_request:null,You_have_a_request_from:null,Deny:null,Approve:null,Remove_buddy:null,You_are_about_to_remove_:null,Continue_without_chat:null,Please_wait:null,Login_failed:null,Sorry_we_cant_authentikate_:null,Retry:null,clear_history:null,New_message_from:null,Should_we_notify_you_:null,Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null}},de:{translation:{Logging_in:"Login läuft…",your_connection_is_unencrypted:"Deine Verbindung ist unverschlüsselt.",your_connection_is_encrypted:"Deine Verbindung ist verschlüsselt.",your_buddy_closed_the_private_connection:"Dein Kontakt hat die private Verbindung getrennt.",start_private:"Privat starten",close_private:"Privat abbrechen",your_buddy_is_verificated:"Dein Kontakt ist verifiziert.",you_have_only_a_subscription_in_one_way:"Der Kontaktstatus ist einseitig.",authentication_query_sent:"Authentifizierungsanfrage gesendet.",your_message_wasnt_send_please_end_your_private_conversation:"Deine Nachricht wurde nicht gesendet. Bitte beende die private Konversation.",unencrypted_message_received:"Unverschlüsselte Nachricht erhalten.",not_available:"Nicht verfügbar.",no_connection:"Keine Verbindung.",relogin:"Neu anmelden.",trying_to_start_private_conversation:"Versuche private Konversation zu starten.",Verified:"Verifiziert",Unverified:"Unverifiziert",private_conversation_aborted:"Private Konversation abgebrochen.",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Dein Kontakt hat die private Konversation beendet. Das solltest du auch tun!",conversation_is_now_verified:"Konversation ist jetzt verifiziert",authentication_failed:"Authentifizierung fehlgeschlagen.",Creating_your_private_key_:"Wir werden jetzt deinen privaten Schlüssel generieren. Das kann einige Zeit in Anspruch nehmen.",Authenticating_a_buddy_helps_:"Einen Kontakt zu authentifizieren hilft sicherzustellen, dass die Person mit der du sprichst auch die ist die sie sagt.",How_do_you_want_to_authenticate_your_buddy:"Wie willst du __bid_name__ (<b>__bid_jid__</b>) authentifizieren?",Select_method:"Wähle...",Manual:"Manual",Question:"Frage",Secret:"Geheimnis",To_verify_the_fingerprint_:"Um den Fingerprint zu verifizieren kontaktiere dein Kontakt über einen anderen Kommunikationsweg. Zum Beispiel per Telefonanruf.",Your_fingerprint:"Dein Fingerprint",Buddy_fingerprint:"Sein/Ihr Fingerprint",Close:"Schließen",Compared:"Verglichen",To_authenticate_using_a_question_:"Um die Authentifizierung per Frage durchzuführen, wähle eine Frage bei welcher nur dein Kontakt die Antwort kennt.",Ask:"Frage",To_authenticate_pick_a_secret_:"Um deinen Kontakt zu authentifizieren, wähle ein Geheimnis welches nur deinem Kontakt und dir bekannt ist.",Compare:"Vergleiche",Fingerprints:"Fingerprints",Authentication:"Authentifizierung",Message:"Nachricht",Add_buddy:"Kontakt hinzufügen",rename_buddy:"Kontakt umbenennen",delete_buddy:"Kontakt löschen",Login:"Anmeldung",Username:"Benutzername",Password:"Passwort",Cancel:"Abbrechen",Connect:"Verbinden",Type_in_the_full_username_:"Gib bitte den vollen Benutzernamen und optional ein Alias an.",Alias:"Alias",Add:"Hinzufügen",Subscription_request:"Kontaktanfrage",You_have_a_request_from:"Du hast eine Anfrage von",Deny:"Ablehnen",Approve:"Bestätigen",Remove_buddy:"Kontakt entfernen",You_are_about_to_remove_:"Du bist gerade dabei __bid_name__ (<b>__bid_jid__</b>) von deiner Kontaktliste zu entfernen. Alle Chats werden geschlossen.",Continue_without_chat:"Weiter ohne Chat",Please_wait:"Bitte warten",Login_failed:"Chat-Anmeldung fehlgeschlagen",Sorry_we_cant_authentikate_:"Der Chatserver hat die Anmeldung abgelehnt. Falsches Passwort?",Retry:"Zurück",clear_history:"Lösche Verlauf",New_message_from:"Neue Nachricht von __name__",Should_we_notify_you_:"Sollen wir dich in Zukunft über eingehende Nachrichten informieren, auch wenn dieser Tab nicht im Vordergrund ist?",Please_accept_:'Bitte klick auf den "Zulassen" Button oben.',Hide_offline:"Offline ausblenden",Show_offline:"Offline einblenden",About:"Über",dnd:"Beschäftigt",Mute:"Ton aus",Unmute:"Ton an",Subscription:"Bezug",both:"beidseitig",Status:"Status",online:"online",chat:"chat",away:"abwesend",xa:"länger abwesend",offline:"offline",none:"keine",Unknown_instance_tag:"Unbekannter instance tag.",Not_one_of_our_latest_keys:"Nicht einer unserer letzten Schlüssel.",Received_an_unreadable_encrypted_message:"Eine unlesbare verschlüsselte Nachricht erhalten.",Online:"Online",Chatty:"Gesprächig",Away:"Abwesend",Extended_away:"Länger abwesend",Offline:"Offline",Friendship_request:"Kontaktanfrage",Confirm:"Bestätigen",Dismiss:"Ablehnen",Remove:"Löschen",Online_help:"Online Hilfe",FN:"Name",N:" ",FAMILY:"Familienname",GIVEN:"Vorname",NICKNAME:"Spitzname",URL:"URL",ADR:"Adresse",STREET:"Straße",EXTADD:"Zusätzliche Adresse",LOCALITY:"Ortschaft",REGION:"Region",PCODE:"Postleitzahl",CTRY:"Land",TEL:"Telefon",NUMBER:"Nummer",EMAIL:"E-Mail",USERID:" ",ORG:"Organisation",ORGNAME:"Name",ORGUNIT:"Abteilung",TITLE:"Titel",ROLE:"Rolle",BDAY:"Geburtstag",DESC:"Beschreibung",PHOTO:" ",send_message:"Sende Nachricht",get_info:"Benutzerinformationen",Settings:"Einstellungen",Priority:"Priorität",Save:"Speichern",User_settings:"Benutzereinstellungen",A_fingerprint_:"Ein Fingerabdruck wird dazu benutzt deinen Gesprächspartner zu identifizieren.",is:"ist",Login_options:"Anmeldeoptionen",BOSH_url:"BOSH url",Domain:"Domain",Resource:"Ressource",On_login:"Beim Anmelden",Received_an_unencrypted_message:"Unverschlüsselte Nachricht empfangen",Sorry_your_buddy_doesnt_provide_any_information:"Dein Kontakt stellt leider keine Informationen bereit.",Info_about:"Info über",Authentication_aborted:"Authentifizierung abgebrochen.",Authentication_request_received:"Authentifizierungsanfrage empfangen.",Log_in_without_chat:"Anmelden ohne Chat",has_come_online:"ist online gekommen",Unknown_sender:"Unbekannter Sender",Please_allow_access_to_microphone_and_camera:'Bitte klick auf den "Zulassen" Button oben, um den Zugriff auf Kamera und Mikrofon zu erlauben.',Incoming_call:"Eingehender Anruf",from:"von",Do_you_want_to_accept_the_call_from:"Möchtest Du den Anruf annehmen von",Reject:"Ablehnen",Accept:"Annehmen",hang_up:"Auflegen",snapshot:"Schnappschuss",mute_my_audio:"Mein Ton aus",pause_my_video:"Mein Video pausieren",fullscreen:"Vollbild",Info:"Info",Local_IP:"Lokale IP",Remote_IP:"Remote IP",Local_Fingerprint:"Lokaler Fingerprint",Remote_Fingerprint:"Remote Fingerprint",Video_call_not_possible:"Videoanruf nicht verfügbar. Dein Gesprächspartner unterstützt keine Videotelefonie.",Start_video_call:"Starte Videoanruf",Join_chat:"Gruppe beitreten",Join:"Betreten",Room:"Gruppe",Nickname:"Nickname",left_the_building:"__nickname__ hat die Gruppe verlassen",entered_the_room:"__nickname__ ist der Gruppe beigetreten",is_now_known_as:"__oldNickname__ ist nun unter __newNickname__ bekannt",This_room_is:"Diese Gruppe ist",muc_hidden:{keyword:"versteckt",description:"kann durch die Suche nicht gefunden werden"},muc_membersonly:{keyword:"nur für Mitglieder",
-description:"du musst auf der Mitgliederliste stehen"},muc_moderated:{keyword:"moderiert",description:'Nur Personen die "Mitspracherecht" haben dürfen Nachrichten senden'},muc_nonanonymous:{keyword:"nicht anonym",description:"deine Jabber ID wird für alle Mitglieder sichtbar sein"},muc_open:{keyword:"offen",description:"jeder darf dieser Gruppe beitreten"},muc_passwordprotected:{keyword:"passwortgeschützt",description:"du benötigst das korrekte Passwort"},muc_persistent:{keyword:"permanent",description:"wird nicht geschlossen, wenn das letzte Mitglied die Gruppe verlässt"},muc_public:{keyword:"öffentlich",description:"kann durch die Suche gefunden werden"},muc_semianonymous:{keyword:"teilweise anonym",description:"deine Jabber ID wird nur für die Gruppen Administratoren sichtbar sein"},muc_temporary:{keyword:"temporär",description:"wird geschlossen, wenn das letzte Mitglied die Gruppe verlässt"},muc_unmoderated:{keyword:"nicht moderiert",description:"jeder darf Nachrichten senden"},muc_unsecured:{keyword:"ungesichert",description:"es wird kein Passwort benötigt"},Continue:"Weiter",Server:"Server",Rooms_are_loaded:"Gruppen werden geladen",Could_load_only:"Es konnten nur __count__ Gruppen für die Autovervollständigung geladen werden",muc_explanation:"Bitte trage den Gruppennamen und optional ein Nickname und Passwort ein um einer Gruppe beizutreten",You_already_joined_this_room:"Du bist dieser Gruppe bereits beigetreten",This_room_will_be_closed:"Diese Gruppe wird geschlossen",Room_not_found_:"Es wird eine neue Gruppe erstellt",Loading_room_information:"Informationen über Gruppe werden geladen",Destroy:"Auflösen",Leave:"Verlassen",changed_subject_to:"__nickname__ hat das Thema auf __subject__ geändert",muc_removed_kicked:"Du wurdest aus der Gruppe entfernt",muc_removed_info_kicked:"__nickname__ wurde aus der Gruppe entfernt",muc_removed_banned:"Du wurdest aus der Gruppe ausgeschlossen",muc_removed_info_banned:"__nickname__ wurde aus der Gruppe ausgeschlossen",muc_removed_affiliation:"Du wurdest aus der Gruppe entfernt wegen einer Änderung deines Mitgliedstatus",muc_removed_info_affiliation:"__nickname__ wurde aus der Gruppe entfernt wegen einer Änderung seines Mitgliedstatus",muc_removed_membersonly:"Diese Gruppe erlaubt jetzt nur noch eingetragene Mitglieder und da du nicht dazugehörst, wurdest du aus der Gruppen entfernt",muc_removed_info_membersonly:"Diese Gruppe erlaubt jetzt nur noch eingetragene Mitglieder und __nickname__ gehört nicht dazu, daher wurde er aus der Gruppe entfernt",muc_removed_shutdown:"Du wurdest aus der Gruppe entfernt, da der MUC Server heruntergefahren wird",Reason:"Grund",message_not_send:"Deine Nachricht wurde aufgrund eines Fehlers nicht versandt","message_not_send_item-not-found":"Deine Nachricht wurde nicht versandt, da der Raum nicht mehr existiert",message_not_send_forbidden:'Deine Nachricht wurde nicht versandt, da du kein "Mitspracherecht" hast',"message_not_send_not-acceptable":"Deine Nachricht wurde nicht versandt, da du kein Mitglied dieser Gruppe bist",This_room_has_been_closed:"Diese Gruppe wurde geschlossen",Room_logging_is_enabled:"Gesprächsverlauf kann öffentlich einsehbar sein",A_password_is_required:"Es wird ein Passwort benötigt",You_are_not_on_the_member_list:"Du bist kein eingetragenes Mitglied",You_are_banned_from_this_room:"Du wurdest von dieser Gruppe ausgeschlossen",Your_desired_nickname_:"Dein gewünschter Nickname wird bereits verwendet. Bitte wähle einen anderen.",The_maximum_number_:"Die maximale Anzahl der Mitglieder wurde erreicht.",This_room_is_locked_:"Diese Gruppe ist gesperrt",You_are_not_allowed_to_create_:"Du darfst keine neue Gruppe erstellen",Alert:"Alarm",Call_started:"Anruf gestarted",Call_terminated:"Anruf beendet",Carbon_copy:"Kopie",Enable:"Aktivieren",jingle_reason_busy:"beschäftigt",jingle_reason_decline:"abgelehnt",jingle_reason_success:"aufgelegt",Media_failure:"Gerätefehler",No_local_audio_device:"Kein eigenes Audio Gerät",No_local_video_device:"Keine eigene Webcam",Ok:"Ok",PermissionDeniedError:"Du oder dein Browser haben die Audio/Video Berechtigung verweigert",Use_local_audio_device:"Nutze eigenes Audio Gerät",Use_local_video_device:"Benutze eigene Webcam",is_:"ist __status__",You_received_a_message_from_an_unknown_sender_:"Du hast eine Nachricht von einem unbekannten Sender erhalten (__sender__) Möchtest du sie sehen?",Your_roster_is_empty_add_:"Deine Kontaktliste ist leer, füge einen neuen Kontakt <a>hinzu</a>",onsmp_explanation_question:"Dein Kontakt versucht herauszufinden ob er wirklich mit dir redet. Um dich gegenüber deinem Kontakt zu verifizieren gib die Antwort ein und klick auf Antworten.",onsmp_explanation_secret:"Dein Kontakt versucht herauszufinden ob er wirklich mit dir redet. Um dich gegenüber deinem Kontakt zu verifizieren gib das Geheimnis ein.",from_sender:"von __sender__",Verified_private_conversation_started:"Verifizierte private Konversation gestartet.",Unverified_private_conversation_started:"Unverifizierte private Konversation gestartet.",Bookmark:"Lesezeichen","Auto-join":"Automatisch beitreten",Edit_bookmark:"Lesezeichen bearbeiten",Room_logging_is_disabled:"Gruppen Log ist deaktiviert","Room_is_now_non-anoymous":"Gruppe ist jetzt nicht anonym","Room_is_now_semi-anonymous":"Gruppe ist jetzt semi-anonym",Do_you_want_to_change_the_default_room_configuration:"Möchtest du die Gruppenkonfiguration ändern?",Default:"Standard",Change:"Ändern",Send_file:"Datei senden","setting-explanation-carbon":"Wenn Kopien aktiviert sind, werden alle eingehenden Nachrichten zu allen angemeldeten Clients gesendet.","setting-explanation-login":"Wenn diese Option aktiviert ist, wird der Chat beim anmelden automatisch gestartet.","setting-explanation-priority":"Wenn du mit deinem XMPP Konto mehrfach angemeldet bist, werden Nachrichten zu dem Client mit der höchsten Priorität zugestellt.","setting-explanation-xmpp":"Diese Optionen werden für die Verbindung zum XMPP server genutzt.",_is_composing:" tippt gerade...",_are_composing:" tippen gerade...",Chat_state_notifications:"Statusbenachrichtigungen","setting-explanation-chat-state":"Möchtest Benachrichtigungen senden und erhalten wenn du oder dein Kontakt Nachrichten tippt?",Share_screen:"Teile Bildschirm",Incoming_stream:"Eingehender Stream",Stream_started:"Stream gestarted",HTTPS_REQUIRED:"Diese Aktion erfordert eine verschlüsselte Verbindung.",EXTENSION_UNAVAILABLE:"Sie benötigen eine Browser Erweiterung.",UNKNOWN_ERROR:"Ein unbekannter Fehler ist aufgetreten.",Install_extension:"Bitte installieren Sie die Erweiterung um ihren Bildschirm zu teilen: ",Connection_accepted:"Verbindung angenommen",Stream_terminated:"Stream beendet",Close_all:"Schließe alle",Notification:null,Unreadable_OTR_message:null}},el:{translation:{Logging_in:null,your_connection_is_unencrypted:null,your_connection_is_encrypted:null,your_buddy_closed_the_private_connection:null,start_private:null,close_private:null,your_buddy_is_verificated:null,you_have_only_a_subscription_in_one_way:null,authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:null,unencrypted_message_received:null,not_available:null,no_connection:null,relogin:null,trying_to_start_private_conversation:null,Verified:null,Unverified:null,private_conversation_aborted:null,your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:null,Creating_your_private_key_:null,Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:null,Secret:null,To_verify_the_fingerprint_:null,Your_fingerprint:null,Buddy_fingerprint:null,Close:null,Compared:null,To_authenticate_using_a_question_:null,Ask:null,To_authenticate_pick_a_secret_:null,Compare:null,Fingerprints:null,Authentication:null,Message:null,Add_buddy:null,rename_buddy:null,delete_buddy:null,Login:null,Username:null,Password:null,Cancel:null,Connect:null,Type_in_the_full_username_:null,Alias:null,Add:null,Subscription_request:null,You_have_a_request_from:null,Deny:null,Approve:null,Remove_buddy:null,You_are_about_to_remove_:null,Continue_without_chat:null,Please_wait:null,Login_failed:null,Sorry_we_cant_authentikate_:null,Retry:null,clear_history:null,New_message_from:null,Should_we_notify_you_:null,Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null}},en:{translation:{Logging_in:"Logging in…",your_connection_is_unencrypted:"Your connection is unencrypted.",your_connection_is_encrypted:"Your connection is encrypted.",your_buddy_closed_the_private_connection:"Your contact closed the private connection.",start_private:"Start private",close_private:"Close private",your_buddy_is_verificated:"Your contact is verified.",you_have_only_a_subscription_in_one_way:"You only have a one-way subscription.",authentication_query_sent:"Authentication query sent.",your_message_wasnt_send_please_end_your_private_conversation:"Your message was not sent. Please end your private conversation.",unencrypted_message_received:"Unencrypted message received",not_available:"Not available",no_connection:"No connection!",relogin:"relogin",trying_to_start_private_conversation:"Trying to start private conversation!",Verified:"Verified",Unverified:"Unverified",private_conversation_aborted:"Private conversation aborted!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Your contact closed the private conversation! You should do the same.",conversation_is_now_verified:"Conversation is now verified.",authentication_failed:"Authentication failed.",Creating_your_private_key_:"Creating your private key; this may take a while.",Authenticating_a_buddy_helps_:"Authenticating a contact helps ensure that the person you are talking to is really the one they claim to be.",How_do_you_want_to_authenticate_your_buddy:"How do you want to authenticate __bid_name__ (<b>__bid_jid__</b>)?",Select_method:"Select method...",Manual:"Manual",Question:"Question",Secret:"Secret",To_verify_the_fingerprint_:"To verify the fingerprint, contact your contact via some other trustworthy channel, such as the telephone.",Your_fingerprint:"Your fingerprint",Buddy_fingerprint:"Contact fingerprint",Close:"Close",Compared:"Compared",To_authenticate_using_a_question_:"To authenticate using a question, pick a question whose answer is known only you and your contact.",Ask:"Ask",To_authenticate_pick_a_secret_:"To authenticate, pick a secret known only to you and your contact.",Compare:"Compare",Fingerprints:"Fingerprints",Authentication:"Authentication",Message:"Message",Add_buddy:"Add contact",rename_buddy:"rename contact",delete_buddy:"delete contact",Login:"Login",Username:"Username",Password:"Password",Cancel:"Cancel",Connect:"Connect",Type_in_the_full_username_:"Type in the full username and an optional alias.",Alias:"Alias",Add:"Add",Subscription_request:"Subscription request",You_have_a_request_from:"You have a request from",Deny:"Deny",Approve:"Approve",Remove_buddy:"Remove contact",You_are_about_to_remove_:"You are about to remove __bid_name__ (<b>__bid_jid__</b>) from your contact list. All related chats will be closed.",Continue_without_chat:"Continue without chat",Please_wait:"Please wait",Login_failed:"Chat login failed",Sorry_we_cant_authentikate_:"Authentication failed with the chat server. Maybe the password is wrong?",Retry:"Back",clear_history:"Clear history",New_message_from:"New message from __name__",Should_we_notify_you_:"Should we notify you about new messages in the future?",Please_accept_:'Please click the "Allow" button at the top.',Hide_offline:"Hide offline contacts",Show_offline:"Show offline contacts",About:"About",dnd:"Do Not Disturb",Mute:"Mute",Unmute:"Unmute",Subscription:"Subscription",both:"both",Status:"Status",online:"online",chat:"chat",away:"away",xa:"extended away",offline:"offline",none:"none",Unknown_instance_tag:"Unknown instance tag.",Not_one_of_our_latest_keys:"Not one of our latest keys.",Received_an_unreadable_encrypted_message:"Received an unreadable encrypted message.",Online:"Online",Chatty:"Chatty",Away:"Away",Extended_away:"Extended away",Offline:"Offline",Friendship_request:"Contact request",Confirm:"Confirm",Dismiss:"Dismiss",Remove:"Remove",Online_help:"Online help",FN:"Full name",N:" ",FAMILY:"Family name",GIVEN:"Given name",NICKNAME:"Nickname",URL:"URL",ADR:"Address",STREET:"Street Address",EXTADD:"Extended Address",LOCALITY:"Locality",REGION:"Region",PCODE:"Postal Code",CTRY:"Country",TEL:"Telephone",NUMBER:"Number",EMAIL:"Email",USERID:" ",ORG:"Organization",ORGNAME:"Name",ORGUNIT:"Unit",TITLE:"Job title",ROLE:"Role",BDAY:"Birthday",DESC:"Description",PHOTO:" ",send_message:"Send message",get_info:"Show information",Settings:"Settings",Priority:"Priority",Save:"Save",User_settings:"User settings",A_fingerprint_:"A fingerprint is used to make sure that the person you are talking to is who he or she is saying.",is:"is",Login_options:"Login options",BOSH_url:"BOSH URL",Domain:"Domain",Resource:"Resource",On_login:"On login",Received_an_unencrypted_message:"Received an unencrypted message",Sorry_your_buddy_doesnt_provide_any_information:"Sorry, your contact does not provide any information.",Info_about:"Info about",Authentication_aborted:"Authentication aborted.",Authentication_request_received:"Authentication request received.",Log_in_without_chat:"Log in without chat",has_come_online:"has come online",Unknown_sender:"Unknown sender",Please_allow_access_to_microphone_and_camera:'Please click the "Allow" button at the top, to allow access to microphone and camera.',Incoming_call:"Incoming call",from:"from",Do_you_want_to_accept_the_call_from:"Do you want to accept the call from",Reject:"Reject",Accept:"Accept",hang_up:"hang up",snapshot:"snapshot",mute_my_audio:"mute my audio",pause_my_video:"pause my video",fullscreen:"fullscreen",Info:"Info",Local_IP:"Local IP",Remote_IP:"Remote IP",Local_Fingerprint:"Local fingerprint",Remote_Fingerprint:"Remote fingerprint",Video_call_not_possible:"Video call not possible. Your contact does not support video calls.",Start_video_call:"Start video call",Join_chat:"Join chat",Join:"Join",Room:"Room",Nickname:"Nickname",left_the_building:"__nickname__ left the building",entered_the_room:"__nickname__ entered the room",is_now_known_as:"__oldNickname__ is now known as __newNickname__",This_room_is:"This room is",muc_hidden:{keyword:"hidden",description:"can not be found through search"},muc_membersonly:{keyword:"members-only",description:"you need to be on the member list"},muc_moderated:{keyword:"moderated",description:'only persons with "voice" are allowed to send messages'},muc_nonanonymous:{keyword:"non-anonymous",description:"your jabber id is exposed to all other occupants"},muc_open:{keyword:"open",description:"everyone is allowed to join"},muc_passwordprotected:{keyword:"password-protected",description:"you need to provide the correct password"},muc_persistent:{keyword:"persistent",description:"will not be destroyed if the last occupant left"},muc_public:{keyword:"public",description:"can be found through search"},muc_semianonymous:{keyword:"semi-anonymous",description:"your jabber id is only exposed to room admins"},muc_temporary:{keyword:"temporary",description:"will be destroyed if the last occupant left"},muc_unmoderated:{keyword:"unmoderated",description:"everyone is allowed to send messages"},muc_unsecured:{keyword:"unsecured",description:"you need no password to enter"},Continue:"Continue",Server:"Server",Rooms_are_loaded:"Rooms are loaded",Could_load_only:"Could load only __count__ rooms for autocomplete",muc_explanation:"Please enter room name and optional a nickname and password to join a chat",You_already_joined_this_room:"You already joined this room",This_room_will_be_closed:"This room will be closed",Room_not_found_:"A new room will be created",Loading_room_information:"Loading room information",Destroy:"Destroy",Leave:"Leave",changed_subject_to:'__nickname__ changed the room subject to "__subject__"',muc_removed_kicked:"You have been kicked from the room",muc_removed_info_kicked:"__nickname__ has been kicked from the room",muc_removed_banned:"You have been banned from the room",muc_removed_info_banned:"__nickname__ has been banned from the room",muc_removed_affiliation:"You have been removed from the room, because of an affiliation change",muc_removed_info_affiliation:"__nickname__ has been removed from the room, because of an affiliation change",muc_removed_membersonly:"You have been removed from the room, because the room has been changed to members-only and you are no member",muc_removed_info_membersonly:"__nickname__ has been removed from the room, because the room has been changed to members-only and you are no member",muc_removed_shutdown:"You have been removed from the room, because the MUC service is being shut down",Reason:"Reason",message_not_send:"Your message was not send because of an error","message_not_send_item-not-found":"Your message was not send because this room does not exist",message_not_send_forbidden:"Your message was not send because you have no voice in this room","message_not_send_not-acceptable":"Your message was not send because you are no occupant of this room",This_room_has_been_closed:"This room has been closed",Room_logging_is_enabled:"Room logging is enabled",A_password_is_required:"A password is required",You_are_not_on_the_member_list:"You are not on the member list",You_are_banned_from_this_room:"You are banned from this room",Your_desired_nickname_:"Your desired nickname is already in use. Please choose another",The_maximum_number_:"The maximum number of user is reached in this room",This_room_is_locked_:"This room is locked",You_are_not_allowed_to_create_:"You are not allowed to create a room",Alert:"Alert",Call_started:"Call started",Call_terminated:"Call terminated",Carbon_copy:"Carbon copy",Enable:"Enable",jingle_reason_busy:"busy",jingle_reason_decline:"decline",jingle_reason_success:"hung up",Media_failure:"Media failure",No_local_audio_device:"No local audio device.",No_local_video_device:"No local video device.",Ok:"Ok",PermissionDeniedError:"You or your browser denied media permission",Use_local_audio_device:"Use local audio device.",Use_local_video_device:"Use local video device.",is_:"is __status__",You_received_a_message_from_an_unknown_sender_:"You received a message from an unknown sender (__sender__) Do you want to display them?",Your_roster_is_empty_add_:"Your roster is empty, add a <a>new contact</a>",onsmp_explanation_question:"You contact is attempting to determine if they are really talking to you. To authenticate to your contact, enter the answer and click Answer.",onsmp_explanation_secret:"You contact is attempting to determine if they are really talking to you. To authenticate to your contact, enter the secret.",from_sender:"from __sender__",Verified_private_conversation_started:"Verified Private conversation started.",Unverified_private_conversation_started:"Unverified Private conversation started.",Bookmark:"Bookmark","Auto-join":"Auto-join",Edit_bookmark:"Edit bookmark",Room_logging_is_disabled:"Room logging is disabled","Room_is_now_non-anoymous":"Room is now non-anonymous","Room_is_now_semi-anonymous":"Room is now semi-anonymous",Do_you_want_to_change_the_default_room_configuration:"Do you want to change the default room configuration?",Default:"Default",Change:"Change",Send_file:"Send file","setting-explanation-carbon":"With enabled carbon copy your XMPP server will send a copy of every incoming message for you to this client even if it was not addressed to it.","setting-explanation-login":"If this option is enabled, the chat will start on login.","setting-explanation-priority":"If you are logged in multiple times with the same account, your XMPP server will deliver messages to the client with the highest priority.","setting-explanation-xmpp":"These options are used to connect to the XMPP server.",_is_composing:" is composing...",_are_composing:" are composing...",Chat_state_notifications:"Chat state notifications","setting-explanation-chat-state":"Do you want to send and receive chat state notifications, like someone starts or stops composing a message?",Share_screen:"Share screen",Incoming_stream:"Incoming stream",Stream_started:"Stream started",HTTPS_REQUIRED:"This action requires an encrypted connection.",EXTENSION_UNAVAILABLE:"You need a browser extension/addon.",UNKNOWN_ERROR:"An unknown error occured.",Install_extension:"Please install the extension in order to use screen sharing: ",Connection_accepted:"Connection accepted",Stream_terminated:"Stream terminated",Close_all:"Close all",Notification:"Notification",Unreadable_OTR_message:"Unreadable OTR message omitted"}},es:{translation:{Logging_in:"Por favor, espere...",your_connection_is_unencrypted:"Su conexión no está cifrada.",your_connection_is_encrypted:"Su conexión está cifrada.",your_buddy_closed_the_private_connection:"Su amigo ha cerrado la conexión privada.",start_private:"Iniciar privado",close_private:"Cerrar privado",your_buddy_is_verificated:"Tu amigo está verificado.",you_have_only_a_subscription_in_one_way:"Solo tienes una suscripción de un modo.",authentication_query_sent:"Consulta de verificación enviada.",your_message_wasnt_send_please_end_your_private_conversation:"Su mensaje no fue enviado. Por favor, termine su conversación privada.",unencrypted_message_received:"Mensaje no cifrado recibido:",not_available:"No disponible",no_connection:"¡Sin conexión!",relogin:"iniciar sesión nuevamente",trying_to_start_private_conversation:"¡Intentando iniciar una conversación privada!",Verified:"Verificado",Unverified:"No verificado",private_conversation_aborted:"¡Conversación privada abortada!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"¡Su amigo cerró la conversación privada! Usted debería hacer lo mismo.",conversation_is_now_verified:"La conversación es ahora verificada.",authentication_failed:"Falló la verificación.",Creating_your_private_key_:"Ahora vamos a crear su clave privada. Esto puede tomar algún tiempo.",Authenticating_a_buddy_helps_:"Autenticación de un amigo ayuda a garantizar que la persona que está hablando es quien él o ella está diciendo.",How_do_you_want_to_authenticate_your_buddy:"¿Cómo desea autenticar __bid_name__ (<b>__bid_jid__</b>)?",Select_method:"Escoja un método...",Manual:"Manual",Question:"Pregunta",Secret:"Secreto",To_verify_the_fingerprint_:"Para verificar la firma digital, póngase en contacto con su amigo a través de algún otro canal autenticado, como el teléfono.",Your_fingerprint:"Tu firma digital",Buddy_fingerprint:"firma digital de tu amigo",Close:"Cerrar",Compared:"Comparado",To_authenticate_using_a_question_:"Para autenticar mediante una pregunta, elegid una pregunta cuya respuesta se conoce solo usted y su amigo.",Ask:"Preguntar",To_authenticate_pick_a_secret_:"Para autenticar, elija un secreto conocido solo por usted y su amigo.",Compare:"Comparar",Fingerprints:"Firmas digitales",Authentication:"Autenticación",Message:"Mensaje",Add_buddy:"Añadir amigo",rename_buddy:"renombrar amigo",delete_buddy:"eliminar amigo",Login:"Iniciar Sesión",Username:"Usuario",Password:"Contraseña",Cancel:"Cancelar",Connect:"Conectar",Type_in_the_full_username_:"Escriba el usuario completo y un alias opcional.",Alias:"Alias",Add:"Añadir",Subscription_request:"Solicitud de suscripción",You_have_a_request_from:"Tienes una petición de",Deny:"Rechazar",Approve:"Aprobar",Remove_buddy:"Eliminar amigo",You_are_about_to_remove_:"Vas a eliminar a __bid_name__ (<b>__bid_jid__</b>) de tu lista de amigos. Todas las conversaciones relacionadas serán cerradas.",Continue_without_chat:"Continuar",Please_wait:"Espere por favor",Login_failed:"Fallo el inicio de sesión",Sorry_we_cant_authentikate_:"Lo sentimos, no podemos autentificarlo en nuestro servidor de chat. ¿Tal vez la contraseña es incorrecta?",Retry:"Reintentar",clear_history:"Borrar el historial",New_message_from:"Nuevo mensaje de __name__",Should_we_notify_you_:"¿Debemos notificarle sobre nuevos mensajes en el futuro?",Please_accept_:'Por favor, haga clic en el botón "Permitir" en la parte superior.',Hide_offline:"Ocultar contactos desconectados",Show_offline:"Mostrar contactos desconectados",About:"Acerca de",dnd:"No Molestar",Mute:"Desactivar sonido",Unmute:"Activar sonido",Subscription:"Suscripción",both:"ambos",Status:"Estado",online:"en línea",chat:"chat",away:"ausente",xa:"más ausente",offline:"desconectado",none:"nadie",Unknown_instance_tag:"Etiqueta de instancia desconocida.",Not_one_of_our_latest_keys:"No una de nuestras última claves.",Received_an_unreadable_encrypted_message:"Se recibió un mensaje cifrado ilegible.",Online:"En linea",Chatty:"Hablador",Away:"Ausente",Extended_away:"Más ausente",Offline:"Desconectado",Friendship_request:"Solicitud de amistad",Confirm:"Confirmar",Dismiss:"Rechazar",Remove:"Eliminar",Online_help:"Ayuda en línea",FN:"Nombre completo ",N:" ",FAMILY:"Apellido",GIVEN:"Nombre",NICKNAME:"Apodo",URL:"URL",ADR:"Dirección",STREET:"Calle",EXTADD:"Dirección extendida",LOCALITY:"Población",REGION:"Región",PCODE:"Código postal",CTRY:"País",TEL:"Teléfono",NUMBER:"Número",EMAIL:"Correo electrónico",USERID:" ",ORG:"Organización",ORGNAME:"Nombre",ORGUNIT:"Departamento",TITLE:"Título",ROLE:"Rol",BDAY:"Cumpleaños",DESC:"Descripción",PHOTO:" ",send_message:"mandar un texto",get_info:"obtener información",Settings:"Ajustes",Priority:"Prioridad",Save:"Guardar",User_settings:"Configuración de usuario",A_fingerprint_:"La huella digital se utiliza para que puedas estar seguro que la persona con la que estas hablando es quien realmente dice ser",is:"es",Login_options:"Opciones de login",BOSH_url:"BOSH url",Domain:"Dominio",Resource:"Recurso",On_login:"Iniciar sesión",Received_an_unencrypted_message:"Recibe un mensaje no cifrado",Sorry_your_buddy_doesnt_provide_any_information:"Lo sentimos, su amigo no provee ninguna información.",Info_about:"Info acerca de",Authentication_aborted:"Autenticación abortada",Authentication_request_received:"Pedido de autenticación recibido.",Log_in_without_chat:"Ingresar sin chat",has_come_online:"se ha conectado",Unknown_sender:"Remitente desconocido",Please_allow_access_to_microphone_and_camera:"Por favor, permitir el acceso al micrófono y la cámara.",Incoming_call:"Llamada entrante",from:"de",Do_you_want_to_accept_the_call_from:"Desea aceptar la llamada de",Reject:"Rechazar",Accept:"Aceptar",hang_up:"colgar",snapshot:"instantánea",mute_my_audio:"silenciar mi audio",pause_my_video:"pausar mi vídeo",fullscreen:"pantalla completa",Info:"Info",Local_IP:"IP local",Remote_IP:"IP remota",Local_Fingerprint:"Firma digital local",Remote_Fingerprint:"Firma digital remota",Video_call_not_possible:"Llamada de vídeo no es posible",Start_video_call:"Iniciar llamada de vídeo",Join_chat:"Unirse al chat",Join:"Unirse",Room:"Sala",Nickname:"Alias",left_the_building:"__nickname__ dejó el edificio",entered_the_room:"__nickname__ entró en la sala",is_now_known_as:"__oldNickname__ ahora es conocido como __newNickname__",This_room_is:"Esta sala es",muc_hidden:{keyword:"oculta",description:"no se encontró mediante la búsqueda"},muc_membersonly:{keyword:"miembros solo",description:"necesitas estar en la lista de miembros"},muc_moderated:{keyword:"moderada",description:'solo personas con "voice" están permitidas para mandar mensajes'},muc_nonanonymous:{keyword:"no anónima",description:"tu id de jabber es expuesta al resto de ocupantes"},muc_open:{keyword:"abierta",description:"todo el mundo puede unirse"
-},muc_passwordprotected:{keyword:"protegida por contraseña",description:"necesitas dar la contraseña correcta"},muc_persistent:{keyword:"persistente",description:"no será destruida si el último ocupante sale"},muc_public:{keyword:"pública",description:"puede ser encontrada mediante la búsqueda"},muc_semianonymous:{keyword:"semi-anónima",description:"tu id de jabber es expuesta a los administradores de la sala"},muc_temporary:{keyword:"temporal",description:"será destruida si el último ocupante sale"},muc_unmoderated:{keyword:"no moderada",description:"todo el mundo puede enviar mensajes"},muc_unsecured:{keyword:"sin asegurar",description:"no necesitas contraseña para entrar"},Continue:"Continuar",Server:"Servidor",Rooms_are_loaded:"Las salas han sido cargadas",Could_load_only:"Se cargaron solo __count__ salas para el autocompletado",muc_explanation:"Por favor introduce el nombre de la sala, un alias opcional y una contraseña para unirse al chat",You_already_joined_this_room:"Ya te has unido a esta sala",This_room_will_be_closed:"Esta sale será cerrada",Room_not_found_:"Sala no encontrada",Loading_room_information:"Cargando información de la sala",Destroy:"Destruir",Leave:"Abandonar",changed_subject_to:'__nickname__ cambió el asunto de la sala a "__subject__"',muc_removed_kicked:"Has sido echado de la sala",muc_removed_info_kicked:"__nickname__ ha sido echado de la sala",muc_removed_banned:"Has sido expulsado de la sala",muc_removed_info_banned:"__nickname__ ha sido expulsado",muc_removed_affiliation:"Has sido eliminado de la sala debido a un cambio en la afiliación",muc_removed_info_affiliation:"__nickname__ ha sido eliminado de la sala debido a un cambio en la afiliación",muc_removed_membersonly:"Has sido eliminado de la sala debido a que la sala ha sido cambiada a miembros solo y tú no eres un miembro",muc_removed_info_membersonly:"__nickname__ ha sido eliminado de la sala debido a que la sala ha sido cambiada a miembros solo y tú no eres un miembro",muc_removed_shutdown:"Has sido eliminado de la sala debido a que el servicio MUC está siendo apagado",Reason:"Razón",message_not_send:"Tu mensaje no fue enviado debido a un error","message_not_send_item-not-found":"Tu mensaje no fue enviado debido a que esta sala no existe",message_not_send_forbidden:"Tu mensaje no fue enviado debido a que no tienes voz en esta sala","message_not_send_not-acceptable":"Tu mensaje no fue enviado debido a que no eres un ocupante de esta sala ",This_room_has_been_closed:"Esta sala ha sido cerrada",Room_logging_is_enabled:"Log de sala está habilitado",A_password_is_required:"Se requiere una contraseña",You_are_not_on_the_member_list:"No estás en la lista de miembros",You_are_banned_from_this_room:"Estás expulsado de esta sala",Your_desired_nickname_:"Tu alias ya está en uso. Por favor elige otro",The_maximum_number_:"El máximo número de usuarios ha sido alcanzado en esta sala",This_room_is_locked_:"Esta sala está bloqueada",You_are_not_allowed_to_create_:"No tienes permiso para crear una sala",Alert:"Alerta",Call_started:"Llamada empezada",Call_terminated:"Llamada terminada",Carbon_copy:"Calco",Enable:"Activar",jingle_reason_busy:"ocupado",jingle_reason_decline:"rechazar",jingle_reason_success:"colgar",Media_failure:"Fallo multimedia",No_local_audio_device:"No hay dispositivo de audio local",No_local_video_device:"No hay dispositivo de vídeo local",Ok:"Ok",PermissionDeniedError:"Tú o tu navegador denegaron el permiso de audio/vídeo",Use_local_audio_device:"Usar dispositivo de audio local",Use_local_video_device:"Usar dispositivo de vídeo",is_:"es __status__",You_received_a_message_from_an_unknown_sender_:"Ha recibido un mensaje de un remitente desconocido (__sender__) ¿Quiere mostrarlos?",Your_roster_is_empty_add_:"Tu lista de amigos esta vacía, añadir un <a>nuevo amigo</a>",onsmp_explanation_question:"Tu amigo está tratando de determinar si él o ella está realmente hablando con usted. Para autenticar a su amigo, introduce la respuesta y haga clic en Contestar.",onsmp_explanation_secret:"Tu amigo está tratando de determinar si él o ella está realmente hablando con usted. Para autenticar a su amigo, especifique el secreto.",from_sender:"de __sender__",Verified_private_conversation_started:"Verificado se inició una conversación privada.",Unverified_private_conversation_started:"No verificado se inició una conversación privada.",Bookmark:"Favorito","Auto-join":"Auto-unir",Edit_bookmark:"Editar favorito",Room_logging_is_disabled:"Log de sala está deshabilitado","Room_is_now_non-anoymous":"La sala es ahora no anónima","Room_is_now_semi-anonymous":"La sale es ahora semi-anónima",Do_you_want_to_change_the_default_room_configuration:"¿Quieres cambiar la configuración por defecto de la sala?",Default:"Por defecto",Change:"Cambiar",Send_file:"Enviar archivo","setting-explanation-carbon":"Con el Calco habilitado tu servidor XMPP enviará una copia de cada mensaje entrante dirigido a ti a este cliente incluso si no estaba siendo enviado a él","setting-explanation-login":"Si esta opción está habilitada, el chat empezará al inicio de sesión","setting-explanation-priority":"Si tú has iniciado sesión varias veces con la misma cuenta, tu servidor XMPP enviará los mensajes al cliente con la mayor prioridad","setting-explanation-xmpp":"Estas opciones son usadas para conectar con el servidor XMPP",_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null}},fi:{translation:{Logging_in:null,your_connection_is_unencrypted:null,your_connection_is_encrypted:null,your_buddy_closed_the_private_connection:null,start_private:null,close_private:null,your_buddy_is_verificated:null,you_have_only_a_subscription_in_one_way:null,authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:null,unencrypted_message_received:null,not_available:null,no_connection:null,relogin:null,trying_to_start_private_conversation:null,Verified:null,Unverified:null,private_conversation_aborted:null,your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:null,Creating_your_private_key_:null,Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:null,Secret:null,To_verify_the_fingerprint_:null,Your_fingerprint:null,Buddy_fingerprint:null,Close:null,Compared:null,To_authenticate_using_a_question_:null,Ask:null,To_authenticate_pick_a_secret_:null,Compare:null,Fingerprints:null,Authentication:null,Message:null,Add_buddy:null,rename_buddy:null,delete_buddy:null,Login:null,Username:null,Password:null,Cancel:null,Connect:null,Type_in_the_full_username_:null,Alias:null,Add:null,Subscription_request:null,You_have_a_request_from:null,Deny:null,Approve:null,Remove_buddy:null,You_are_about_to_remove_:null,Continue_without_chat:null,Please_wait:null,Login_failed:null,Sorry_we_cant_authentikate_:null,Retry:null,clear_history:null,New_message_from:null,Should_we_notify_you_:null,Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null}},fr:{translation:{Logging_in:"Connexion...",your_connection_is_unencrypted:"Connexion non chiffrée.",your_connection_is_encrypted:"Connexion chiffrée.",your_buddy_closed_the_private_connection:"Votre contact a fermé la connexion privée.",start_private:"Démarrer une conversation privée",close_private:"Clôturer une conversation privée",your_buddy_is_verificated:"Votre contact est vérifié.",you_have_only_a_subscription_in_one_way:"Vous ne pouvez souscrire qu'une fois.",authentication_query_sent:"Requête d’authentification envoyée.",your_message_wasnt_send_please_end_your_private_conversation:"Votre message n'a pas été envoyé. Veuillez terminer votre conversation privée.",unencrypted_message_received:"Message non chiffré reçu",not_available:"Non disponible",no_connection:"Pas de connexion !",relogin:"Re-connexion",trying_to_start_private_conversation:"Essai de démarrage d'une conversation privée !",Verified:"Vérifié",Unverified:"Non vérifié",private_conversation_aborted:"Conversation privée interrompue !",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Votre contact a fermé la conversation privée ! Vous devriez faire de même.",conversation_is_now_verified:"La conversation est maintenant vérifiée.",authentication_failed:"L'authentification a échoué.",Creating_your_private_key_:"Création de votre clé privée; cela peut prendre un moment.",Authenticating_a_buddy_helps_:"L'authentification d'un contact permet de s'assurer que la personne à qui vous parlez est vraiment celui qu'il ou elle prétend être.",How_do_you_want_to_authenticate_your_buddy:"Comment voulez-vous vous authentifier __bid_name__ (<b>__bid_jid__</b>)?",Select_method:"Sélection de la méthode...",Manual:"Manuel",Question:"Question",Secret:"Sécurité",To_verify_the_fingerprint_:"Pour vérifier l'empreinte, joignez votre contact via un autre canal digne de confiance, tel que le téléphone.",Your_fingerprint:"Votre empreinte",Buddy_fingerprint:"Empreinte du contact",Close:"Fermer",Compared:"Comparé",To_authenticate_using_a_question_:"Pour s'authentifier à l'aide d'une question, choisissez une question dont la réponse n'est connue que vous et de votre contact.",Ask:"Demander",To_authenticate_pick_a_secret_:"Pour vous authentifier, choisissez un secret connu seulement de vous et de votre contact.",Compare:"Comparer",Fingerprints:"Empreintes",Authentication:"Authentification",Message:"Message",Add_buddy:"Ajouter un contact",rename_buddy:"Renommer le contact",delete_buddy:"Supprimer le contact",Login:"Connexion",Username:"Nom d'utilisateur",Password:"Mot de passe",Cancel:"Annuler",Connect:"Connecter",Type_in_the_full_username_:"Tapez un nom d'utilisateur complet et un alias(optionnel).",Alias:"Alias",Add:"Ajouter",Subscription_request:"Demande d'abonnement",You_have_a_request_from:"Vous avez une requête de ",Deny:"Refuser",Approve:"Approuver",Remove_buddy:"Supprimer le contact",You_are_about_to_remove_:"Vous allez retirer __bid_name__ (<b>__bid_jid__</b>) de votre liste de contacts. Toutes les fenêtres de discussion en lien avec celui-ci seront fermées.",Continue_without_chat:"Continuer sans tchat",Please_wait:"Merci de patienter",Login_failed:"Authentification échouée",Sorry_we_cant_authentikate_:"La connexion avec le serveur de tchat a échoué. Vérifiez le mot de passe.",Retry:"Retour",clear_history:"Effacer l’historique",New_message_from:"Nouveau message de __name__",Should_we_notify_you_:"Dans le futur, devrons-nous vous notifier les nouveaux messages ?",Please_accept_:'Merci de cliquer sur le bouton "autoriser" en haut de page',Hide_offline:"Masquer les contacts non connectés",Show_offline:"Afficher les contacts non connectés",About:"À propos",dnd:"Ne pas déranger",Mute:"Muet",Unmute:"Son actif",Subscription:"Abonnement",both:"Les deux",Status:"Statut",online:"En ligne",chat:"tchat",away:"Absent",xa:"Longue absence",offline:"Hors ligne",none:"Aucun",Unknown_instance_tag:"Tag inconnu",Not_one_of_our_latest_keys:"Ce n'est pas l'une des dernières touches",Received_an_unreadable_encrypted_message:"Message chiffré non lisible",Online:"En ligne",Chatty:"Libre pour discuter",Away:"Absent",Extended_away:"Longue absence",Offline:"Hors ligne",Friendship_request:"Demande de contact",Confirm:"Valider",Dismiss:"Rejeter",Remove:"Supprimer",Online_help:"Aide en ligne",FN:"Nom",N:" N ",FAMILY:"Nom de famille",GIVEN:"prénom",NICKNAME:"Pseudo",URL:"URL",ADR:"Adresse",STREET:"Rue",EXTADD:"Adresse (suite)",LOCALITY:"Localité",REGION:"Région",PCODE:"Code Postal",CTRY:"Pays",TEL:"Téléphone",NUMBER:"Numéro",EMAIL:"Courriel",USERID:" USERID ",ORG:"Organisation",ORGNAME:"Nom",ORGUNIT:"Unité",TITLE:"Qualité:",ROLE:"Rôle",BDAY:"Date de naissance",DESC:"Description",PHOTO:"Photo",send_message:"Envoyer un message",get_info:"Montrer les informations",Settings:"Réglages",Priority:"Priorité",Save:"Enregistrer",User_settings:"Paramètres utilisateur",A_fingerprint_:"Une empreinte est utilisée pour s'assurer de l'identité de la personne à qui vous parlez",is:"est",Login_options:"Options d'identification",BOSH_url:"URL BOSH",Domain:"Domaine",Resource:"Ressource",On_login:"Après authentification",Received_an_unencrypted_message:"Reçu un message non chiffré",Sorry_your_buddy_doesnt_provide_any_information:"Désolé, votre contact n'a pas fourni d'informations",Info_about:"À propos de",Authentication_aborted:"Authentification interrompue.",Authentication_request_received:"Requête d'authentification reçue.",Log_in_without_chat:"S'identifier sans tchat",has_come_online:"vient d'arriver",Unknown_sender:"Expéditeur inconnu",Please_allow_access_to_microphone_and_camera:'Veuillez cliquez sur le bouton "Autoriser" en haut, pour permettre l\'accès au micro et à la caméra.',Incoming_call:"Appel entrant",from:"de",Do_you_want_to_accept_the_call_from:"Voulez-vous accepter l'appel de",Reject:"Rejeté",Accept:"Accepté",hang_up:"raccrocher",snapshot:"Capture d’écran",mute_my_audio:"Couper l'audio",pause_my_video:"Mettre ma vidéo en pause",fullscreen:"Plein écran",Info:"Info",Local_IP:"IP locale",Remote_IP:"IP distante",Local_Fingerprint:"Empreinte locale",Remote_Fingerprint:"Empreinte distante",Video_call_not_possible:"L'appel vidéo n'est possible. Votre contact ne supporte pas les appels vidéo.",Start_video_call:"Démarrer l'appel vidéo",Join_chat:"Joindre la discussion",Join:"Joindre",Room:"Salon",Nickname:"Pseudo",left_the_building:"__nickname__ a quitté l'immeuble",entered_the_room:"__nickname__ entre dans le salon",is_now_known_as:"__oldNickname__ est maintenant connu comme __newNickname__",This_room_is:"Ce salon est",muc_hidden:{keyword:"caché",description:"ne peut être trouvé avec une recherche"},muc_membersonly:{keyword:"pour les membres seulement",description:"Vous devez être sur la liste des membres"},muc_moderated:{keyword:"modéré",description:'Seulement les personnes avec la "voix" sont autorisés à envoyer des messages'},muc_nonanonymous:{keyword:"non anonyme",description:"Votre identifiant Jabber est visible de tous les autres occupants"},muc_open:{keyword:"ouvert",description:"Tout le monde est autorisé à se connecter"},muc_passwordprotected:{keyword:"protégé par un mot de passe",description:"Vous devez fournir un mot de passe correct"},muc_persistent:{keyword:"persistent",description:"ne sera pas détruit si le dernier occupant part"},muc_public:{keyword:"public",description:"peut être touvé avec une recherche"},muc_semianonymous:{keyword:"semi-anonyme",description:"Votre identifiant Jabber est seulement visible aux administrateurs de ce salon"},muc_temporary:{keyword:"temporaire",description:"sera détruit au départ de son dernier occupant"},muc_unmoderated:{keyword:"non modéré",description:"Tout le monde est autorisé à envoyer des messages"},muc_unsecured:{keyword:"non sécurisé",description:"un mot de passe n'est pas nécessaire pour entrer"},Continue:"Continuer",Server:"Serveur",Rooms_are_loaded:"Les salons sont chargés",Could_load_only:"Ne peut charger que __count__ salons pour l'autocomplétion",muc_explanation:"Veuillez saisir le nom du salon, un surnom (optionnel) et un mot de passe pour joindre la conversation",You_already_joined_this_room:"Vous avez déjà rejoint ce salon",This_room_will_be_closed:"Ce salon va être fermé",Room_not_found_:"Un nouveau salon va être créé",Loading_room_information:"Chargement des informations du salon",Destroy:"Détruire",Leave:"Quitter",changed_subject_to:'__nickname__ a changé le sujet du salon à "__subject__"',muc_removed_kicked:"Vous avez été éjecté de ce salon",muc_removed_info_kicked:"__nickname__ a été éjecté de ce salon",muc_removed_banned:"Vous avez été banni de ce salon",muc_removed_info_banned:"__nickname__ a été banni de ce salon",muc_removed_affiliation:"Vous avez été retiré du salon en raison d'un changement d'affiliation",muc_removed_info_affiliation:"__nickname__ a été retiré du salon en raison d'un changement d'affiliation",muc_removed_membersonly:"Vous avez été retiré du salon parce que celui-ci est maintenant réservé aux membres et vous n'en faites pas partie",muc_removed_info_membersonly:"__nickname__ a été retiré du salon parce que celui-ci est maintenant réservé aux membres",muc_removed_shutdown:"Vous avez été retiré du salon parce que le service de salon de discussion est en train de s'éteindre",Reason:"Raison",message_not_send:"Votre message n'a pu être envoyé a cause d'une erreur","message_not_send_item-not-found":"Votre message n'a pu être envoyé parce que ce salon n'existe pas",message_not_send_forbidden:"Votre message n'a pas été envoyé parce que vous n'avez pas le droit de parler dans ce salon","message_not_send_not-acceptable":"Votre message n'a pas été envoyé car il n'y a personne dans ce salon",This_room_has_been_closed:"Ce salon a été fermé",Room_logging_is_enabled:"L'historique du salon est conservé",A_password_is_required:"Un mot de passe est requis",You_are_not_on_the_member_list:"Vous n'êtes pas sur la liste des membres",You_are_banned_from_this_room:"Vous avez été banni de ce salon",Your_desired_nickname_:"Votre pseudo souhaité est déjà utilisé. Veuillez en choisir un autre",The_maximum_number_:"Le nombre maximum d'utilisateurs est atteint dans ce salon",This_room_is_locked_:"Ce salon est verrouillé",You_are_not_allowed_to_create_:"Vous n'êtes pas autorisé à créer un salon",Alert:"Alerte",Call_started:"Appel démarré",Call_terminated:"Appel terminé",Carbon_copy:"Copie carbone",Enable:"Activé",jingle_reason_busy:"occupé",jingle_reason_decline:"refusé",jingle_reason_success:"raccroché",Media_failure:"échec du média",No_local_audio_device:"Pas de périphérique audio local",No_local_video_device:"Pas de périphérique vidéo local",Ok:"Ok",PermissionDeniedError:"Vous ou votre navigateur avez refusé de donner des permissions audio/vidéo",Use_local_audio_device:"Utiliser un périphérique audio local.",Use_local_video_device:"Utiliser un périphérique vidéo local.",is_:"est __status__",You_received_a_message_from_an_unknown_sender_:"Vous avez reçu un message d'un expéditeur inconnu (__sender__) Voulez-vous les afficher ?",Your_roster_is_empty_add_:"Votre liste est vide, ajouter <a>Nouveau contact</a>",onsmp_explanation_question:"Votre contact tente de déterminer si il ou elle parle vraiment à vous. Pour vous authentifier auprès de votre contact, saisissez une réponse et cliquez sur Répondre.",onsmp_explanation_secret:"Votre contact tente de déterminer si il ou elle parle vraiment à vous. Pour vous authentifier auprès de votre contact, entrez le mot secret",from_sender:"de __sender__",Verified_private_conversation_started:"La conversation privée vérifiée a démarré.",Unverified_private_conversation_started:"La conversation privée non vérifiée a démarré.",Bookmark:"Marque-page","Auto-join":"Joindre automatiquement",Edit_bookmark:"Éditer le marque-page",Room_logging_is_disabled:"La connexion au salon est désactivée","Room_is_now_non-anoymous":"Ce salon n'est désormais plus anonyme","Room_is_now_semi-anonymous":"Ce salon est désormais semi-anonyme",Do_you_want_to_change_the_default_room_configuration:"Voulez-vous changer la configuration par défaut du salon ?",Default:"Par défaut",Change:"Changer",Send_file:"Envoyer un fichier","setting-explanation-carbon":"Avec la copie carbone activé, votre serveur XMPP envera une copie de tous les messages entrant qui vous sont destiné à ce client, même s'il ne lui sont pas directement addressés.","setting-explanation-login":"Si cette option est activé, le chat commencera lorsque vous vos connectez.","setting-explanation-priority":"Si vous êtes connecté plusieurs fois avec le même compte, votre serveur XMPP enverra les messages au client ayant le plus haute priorité.","setting-explanation-xmpp":"Ces options sont utilisées pour se connecter au serveur XMPP.",_is_composing:" est en train d'écrire...",_are_composing:" sont en train d'écrire...",Chat_state_notifications:"Notifications de composition","setting-explanation-chat-state":"Voulez-vous envoyer et recevoir les notifications de composition, comme lorsque quelqu'un commence ou arrête d'écrire un message ?",Share_screen:"Ecran partagé",Incoming_stream:"Flux entrant",Stream_started:"flux démarré",HTTPS_REQUIRED:"Cette action nécessite une connexion cryptée.",EXTENSION_UNAVAILABLE:"Vous avez besoin d'une extension / d'un addon pour votre navigateur.",UNKNOWN_ERROR:"Une erreur inconnue s'est produite.",Install_extension:"Veuillez installer l'extension afin d'utiliser le partage d'écran: ",Connection_accepted:"Connexion acceptée",Stream_terminated:"Flux terminé",Close_all:"Tout fermer",Notification:null,Unreadable_OTR_message:null}},"hu-HU":{translation:{Logging_in:null,your_connection_is_unencrypted:"Az Ön kapcsolata titkosítatlan.",your_connection_is_encrypted:"Az Ön kapcsolata titkosított.",your_buddy_closed_the_private_connection:"Partnere megszakította a privát kapcsolatot.",start_private:"Privát beszélgetés indítása",close_private:"Privát beszélgetés bezárása",your_buddy_is_verificated:"Az Ön partnere megerősítve.",you_have_only_a_subscription_in_one_way:null,authentication_query_sent:"Azonosítási kérelem elküldve.",your_message_wasnt_send_please_end_your_private_conversation:"Az üzenetet nem sikerült elküldeni. Kérem fejezze be a privát beszélgetést.",unencrypted_message_received:"Titkosítatlan üzenet fogadva",not_available:"Nem elérhető",no_connection:"Nincs kapcsolat!",relogin:"relogin",trying_to_start_private_conversation:"Privát beszélgetés indítása!",Verified:"Megerősítve",Unverified:"Nem megerősített",private_conversation_aborted:"Privát beszélgetés megszakítva!",your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:"Azonosítás sikertelen.",Creating_your_private_key_:"Privát kulcs generálása. Egy kis időbe telhet...",Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:"Kérdés",Secret:"Kulcs",To_verify_the_fingerprint_:null,Your_fingerprint:"Az Ön lenyomata",Buddy_fingerprint:"Partnere lenyomata",Close:"Bezárás",Compared:"Összehasonlítva",To_authenticate_using_a_question_:"Az azonosításhoz adjon meg egy kérdést, amelyre a választ csak Ön és Partnere ismerhetik.",Ask:"Kérdez",To_authenticate_pick_a_secret_:"Az azonosításhoz adjon meg egy titkot, amelyet csak Ön és Partnere ismerhetnek.",Compare:"Összehasonlítás",Fingerprints:"Lenyomatok",Authentication:"Azonosítás",Message:"Üzenet",Add_buddy:"Partner hozzáadása",rename_buddy:"Partner átnevezése",delete_buddy:"Partner törlése",Login:"Belépés",Username:"Felhasználónév",Password:"Jelszó",Cancel:"Mégsem",Connect:"Csatlakozás",Type_in_the_full_username_:"Adjon meg egy teljes felhasználónevet, és egy opcionális becenevet.",Alias:"Becenév",Add:"Hozzáadás",Subscription_request:"Feliratkozási kérelem",You_have_a_request_from:"Ön felkérést kapott a következőtől",Deny:"Elutasít",Approve:"Jóváhagy",Remove_buddy:"Partner eltávolítása",You_are_about_to_remove_:null,Continue_without_chat:"Folytatás chat nélkül",Please_wait:"Kérem várjon",Login_failed:"Chat bejelentkezés sikertelen",Sorry_we_cant_authentikate_:null,Retry:"Vissza",clear_history:"Előzmények törlése",New_message_from:"Új üzenet __name__ partnerétől",Should_we_notify_you_:"Kívánja hogy értesítsük a jövőben új üzeneteiről?",Please_accept_:'Kérem kattintson a fent megjelenő "Engedélyez" gombra.',Hide_offline:"Offline partnerek elrejtése",Show_offline:"Offline partnerek mutatása",About:null,dnd:"Ne zavarj",Mute:"Némítás",Unmute:"Hangok engedélyezése",Subscription:null,both:"mindkettő",Status:"Állapot",online:"elérhető",chat:null,away:"távol",xa:"huzamosabban távol",offline:"offline",none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:"Teljes név",N:null,FAMILY:"Családi név",GIVEN:"Keresztnév",NICKNAME:"Becenév",URL:"URL",ADR:"Cím",STREET:"Utcanév",EXTADD:"Cím",LOCALITY:"Helység",REGION:"Régió",PCODE:"Irányítószám",CTRY:"Ország",TEL:"Telefonszám",NUMBER:"Házszám",EMAIL:"E-mail cím",USERID:null,ORG:"Vállalat",ORGNAME:"Név",ORGUNIT:"Osztály",TITLE:"Beosztás",ROLE:"Részleg",BDAY:"Születésnap",DESC:"Leírás",PHOTO:null,send_message:"Üzenet küldése",get_info:"Info mutatása",Settings:"Beállítások",Priority:"Prioritás",Save:"Mentés",User_settings:"Felhasználó beállítások",A_fingerprint_:null,is:null,Login_options:"Bejelentkezési lehetőségek",BOSH_url:"BOSH URL",Domain:"Domain",Resource:"Erőforrás",On_login:"Bejelentkezéskor",Received_an_unencrypted_message:"Titkosítatlan üzenetet fogadott",Sorry_your_buddy_doesnt_provide_any_information:"Sajnos az Ön partnere nem adott meg semmilyen információt.",Info_about:null,Authentication_aborted:"Azonosítás megszakítva.",Authentication_request_received:"Azonosítási kérelem fogadva.",Log_in_without_chat:"Bejelentkezés chat nélkül",has_come_online:"bejelentkezett",Unknown_sender:"Ismeretlen küldő",Please_allow_access_to_microphone_and_camera:'Kérem kattintson a fent megjelenő "Engedélyez/Allow" gombra hogy hozzáférést biztosítson mikrofonjához és kamerájához.',Incoming_call:"Bejövő hívás",from:"tőle",Do_you_want_to_accept_the_call_from:"Szeretné fogadni következő partnere hívását:",Reject:"Elutasít",Accept:"Fogadás",hang_up:"tartás",snapshot:"képernyőfotó",mute_my_audio:"hangom némítása",pause_my_video:"videóképem megállítása",fullscreen:"teljes képernyő",Info:"Info",Local_IP:"Helyi IP",Remote_IP:"Távoli IP",Local_Fingerprint:"Helyi lenyomat",Remote_Fingerprint:"Távoli lenyomat",Video_call_not_possible:"Videóhívás nem lehetséges. Az Ön partnerének készüléke nem támogatja a videóhívásokat.",Start_video_call:"Videóhívás indítása",Join_chat:"Belépés a chatbe",Join:"Belépés",Room:"Szoba",Nickname:"Becenév",left_the_building:"__nickname__ elhagyta az épületet.",entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,
-You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null}},it:{translation:{Logging_in:"login…",your_connection_is_unencrypted:"La sua connessione è non cifrata.",your_connection_is_encrypted:"La sua connessione è cifrata.",your_buddy_closed_the_private_connection:"La sua connessione privata è stato chiuso dal suo compagno.",start_private:"Inizia privata",close_private:"Chiude privata",your_buddy_is_verificated:"Il tuo compagno è stato verificato",you_have_only_a_subscription_in_one_way:"Hai solo una one-way inscrizione.",authentication_query_sent:"Domanda d'autenticità inviata.",your_message_wasnt_send_please_end_your_private_conversation:"Il tuo messaggio non è stato inviato. Si prega di finire la sua conversazione privata.",unencrypted_message_received:"Messaggio non cifrato ricevuto",not_available:"non disponibile",no_connection:"nessun collegamento!",relogin:"nuovo login",trying_to_start_private_conversation:"Cercando di avviare una conversazione privata!",Verified:"verificato",Unverified:"non verificato",private_conversation_aborted:"Conversazione privata abortito!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Il tuo compagno ha chiuso la conversazione privata! Si dovrebbe fare lo stesso.",conversation_is_now_verified:"Conversazione è ora verificato.",authentication_failed:"autenticazione fallita.",Creating_your_private_key_:"Creare la propria chiave privata; questo potrebbe richiedere un po'.",Authenticating_a_buddy_helps_:"Autenticazione un compagno aiuta a garantire che la persona si sta parlando è davvero quello che lui o lei sostiene di essere.",How_do_you_want_to_authenticate_your_buddy:"Come si desidera autenticare __bid_name__ (<b>__bid_jid__</b>)?",Select_method:"Seleziona metodo ..",Manual:"manuale",Question:"domanda",Secret:"segreto",To_verify_the_fingerprint_:"Per verificare l'impronta digitale, contattare il proprio compagno attraverso qualche altro canale affidabile, come il telefono.",Your_fingerprint:"il tuo impronta digitale",Buddy_fingerprint:"impronta digitale da compagno",Close:"chiude",Compared:"comparato",To_authenticate_using_a_question_:"Per autenticare tramite una questione, scegli una questione la cui risposta è nota solo voi e il tuo compagno",Ask:"chiedi",To_authenticate_pick_a_secret_:"Per autenticare, scegli un segreto noto solo a te e il tuo compagno.",Compare:"Comparare",Fingerprints:"Impronta digitale",Authentication:"Autenticazione",Message:"Messagio",Add_buddy:"Aggiungi un compagno",rename_buddy:"rinomina compagno",delete_buddy:"elimina compagno",Login:"Login",Username:"Identificazione dell'utente",Password:"Password",Cancel:"Cancella",Connect:"Collega",Type_in_the_full_username_:"Digita l'identificazione utente completo e un alias opzionale.",Alias:"Alias",Add:"Aggiungi",Subscription_request:"Rrichiesta di sottoscrizione",You_have_a_request_from:"Hai una richiesta da",Deny:"Refiuta",Approve:"Approva",Remove_buddy:"Rimuova il compagno",You_are_about_to_remove_:"Stai rimovendo __bid_name__ (<b>__bid_jid__</b>) del suo lista di compagni. Tutte le chat appartenente saranno chiuse.",Continue_without_chat:"Continua senza chat",Please_wait:"Si prega d'attendere",Login_failed:"Chat login è fallito",Sorry_we_cant_authentikate_:"Autenticazione non riuscita con il server di chat. Forse la password è sbagliata?",Retry:"Indietro",clear_history:"Cancella la cronologia",New_message_from:"Nuovo messaggio da __name__",Should_we_notify_you_:"Vuoi ricevere una notifica di nuovi messaggi in futuro?",Please_accept_:'Si prega di fare clic sul bottone "Autorizzazione" sopra.',Hide_offline:"Nascondere i contatti non in linea",Show_offline:"Mostra i contatti non in linea",About:"Informazione legale",dnd:"Non disturbare",Mute:"Muto attivo",Unmute:"Muto inattivo",Subscription:"Sottoscrizione",both:"etrambi",Status:"Status",online:"In linea",chat:"chat",away:"via",xa:"via estensivo",offline:"non in linea",none:"nessuno",Unknown_instance_tag:"Instance tag sconosciuta.",Not_one_of_our_latest_keys:"Non è una delle nostre ultime chiavi.",Received_an_unreadable_encrypted_message:"Ricevuto un messaggio crittografato illeggibile.",Online:"In linea",Chatty:"Chiacchierino",Away:"Via",Extended_away:"Via estensivo",Offline:"Non in linea",Friendship_request:"Amicizia richiesto",Confirm:"Conferma",Dismiss:"Rifiuta",Remove:"Rimuovi",Online_help:"Guida in linea",FN:"Nome e cognome",N:null,FAMILY:"Cognome",GIVEN:"Nome",NICKNAME:"Soprannome",URL:"URL",ADR:"Indirizzo",STREET:"Via",EXTADD:"Esteso Indirizzo",LOCALITY:"Località",REGION:"Regione",PCODE:"Codice Postale",CTRY:"Paese",TEL:"Telefono",NUMBER:"Numero",EMAIL:"E-mail",USERID:null,ORG:"Organizzazione",ORGNAME:"Nome",ORGUNIT:"Unità",TITLE:"Titolo di lavoro",ROLE:"Funzione",BDAY:"Compleanno",DESC:"Descrizione",PHOTO:null,send_message:"Messagio inviato",get_info:"Mostra informazioni",Settings:"Impostazione",Priority:"Priorità",Save:"Salva",User_settings:"Impostazione dell'utente",A_fingerprint_:"Una impronta digitale è usato per assicurarsi che la persona con cui stai parlando è lui o lei che sta dicendo.",is:"è",Login_options:"Opzioni di login",BOSH_url:"BOSH URL",Domain:"Domain",Resource:"Risorsa",On_login:"Login on",Received_an_unencrypted_message:"Ricevuto un messaggio non crittografato",Sorry_your_buddy_doesnt_provide_any_information:"Spiace, il tuo compagno non fornisce alcuna informazione.",Info_about:"Informazioni",Authentication_aborted:"Autenticazione interrotta",Authentication_request_received:"Richiesta di autenticazione ricevuto.",Log_in_without_chat:"Log in senza chat",has_come_online:"È venuto in linea",Unknown_sender:"Mittente sconosciuto",Please_allow_access_to_microphone_and_camera:'Si prega di fare clic sul bottone "Autorizzazione" sopra per autorizzazione del l\'accesso al microfono e fotocamera.',Incoming_call:"Chiamata in arrivo",from:"di",Do_you_want_to_accept_the_call_from:"Vuoi accettare la chiamata di",Reject:"Rifiuta",Accept:"Accetta",hang_up:"Riattacca",snapshot:"istantanea",mute_my_audio:"disattiva il mio audio",pause_my_video:"pausa il mio audio",fullscreen:"schermo intero",Info:"Informazione",Local_IP:"IP locale",Remote_IP:"IP remoto",Local_Fingerprint:"Impronta digitale locale",Remote_Fingerprint:"Impronta digitale remoto",Video_call_not_possible:"Videochiamata non è possibile. Il tuo compagno non può effettuare videochiamate.",Start_video_call:"Inizia videochiamata",Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:"è __status__",You_received_a_message_from_an_unknown_sender_:"Hai ricevuto un messaggio da un mittente sconosciuto (__sender__) Vuoi che venga visualizzato?",Your_roster_is_empty_add_:"Il suo elenco è vuoto, aggiungi un <a>compagno nuovo</a>",onsmp_explanation_question:"Il tuo compagno sta cercando di determinare se lui o lei sta davvero parlando con te. Per autenticare a il tuo compagno. inserisci la risposta e fare click su risposta.",onsmp_explanation_secret:"Il tuo compagno sta cercando di determinare se lui o lei sta davvero parlando con te. Per autenticare a il tuo compagno. inserire il segreto.",from_sender:"di __sender__",Verified_private_conversation_started:"verificato Conversazione privata iniziato.",Unverified_private_conversation_started:"non verificato Conversazione privata iniziato.",Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null}},nds:{translation:{Logging_in:null,your_connection_is_unencrypted:null,your_connection_is_encrypted:null,your_buddy_closed_the_private_connection:null,start_private:null,close_private:null,your_buddy_is_verificated:null,you_have_only_a_subscription_in_one_way:null,authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:null,unencrypted_message_received:null,not_available:null,no_connection:null,relogin:null,trying_to_start_private_conversation:null,Verified:null,Unverified:null,private_conversation_aborted:null,your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:null,Creating_your_private_key_:null,Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:null,Secret:null,To_verify_the_fingerprint_:null,Your_fingerprint:null,Buddy_fingerprint:null,Close:null,Compared:null,To_authenticate_using_a_question_:null,Ask:null,To_authenticate_pick_a_secret_:null,Compare:null,Fingerprints:null,Authentication:null,Message:null,Add_buddy:null,rename_buddy:null,delete_buddy:null,Login:null,Username:null,Password:null,Cancel:null,Connect:null,Type_in_the_full_username_:null,Alias:null,Add:null,Subscription_request:null,You_have_a_request_from:null,Deny:null,Approve:null,Remove_buddy:null,You_are_about_to_remove_:null,Continue_without_chat:null,Please_wait:null,Login_failed:null,Sorry_we_cant_authentikate_:null,Retry:null,clear_history:null,New_message_from:null,Should_we_notify_you_:null,Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null}},pl:{translation:{Logging_in:"Logowanie...",your_connection_is_unencrypted:"Twoje połączenie nie jest szyfrowane.",your_connection_is_encrypted:"Twoje połączenie jest szyfrowane.",your_buddy_closed_the_private_connection:"Twój rozmówca zamknął połączenie.",start_private:"Rozpocznij rozmowę.",close_private:"Zakończ rozmowę.",your_buddy_is_verificated:"Twój rozmówca został zweryfikowany.",you_have_only_a_subscription_in_one_way:"Posiadasz tylko jednostronną subskrypcję.",authentication_query_sent:"Wysłano proźbę o autentykację.",your_message_wasnt_send_please_end_your_private_conversation:"Twoja wiadomość nie została wysłana. Proszę, zamknij rozmowę.",unencrypted_message_received:"Otrzymano niezaszyfrowaną wiadomość.",not_available:"Niedostępny.",no_connection:"Brak połączenia!",relogin:"Połącz ponownie",trying_to_start_private_conversation:"Rozpocznij rozmowę!",Verified:"Zweryfikowano",Unverified:"Niezweryfikowano",private_conversation_aborted:"Anulowano rozmowę!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Rozmówca przerwał połączenie! Powinieneś zrobić to samo.",conversation_is_now_verified:"Zweryfikowano połączenie.",authentication_failed:"Weryfikacja się nie powiodła.",Creating_your_private_key_:"Tworzenie klucza prywatnego; może to chwilę potrwać",Authenticating_a_buddy_helps_:"Autoryzacja pomoże w ustaleniu faktycznej tożsamości rozmówcy ;).",How_do_you_want_to_authenticate_your_buddy:"Jakiej autoryzacji chcesz użyć __bid_name__ (<b>__bid_jid__</b>)?",Select_method:"Wybierz sposób...",Manual:"Ręcznie",Question:"Pytanie",Secret:"Hasło",To_verify_the_fingerprint_:"Aby zweryfikować kod, najpierw skontaktuj się z rozmówcą za pomocą zaufanego sposobu, np telefonu.",Your_fingerprint:"Twój kod:",Buddy_fingerprint:"Kod kontaktu",Close:"Zamknij",Compared:"Porównano",To_authenticate_using_a_question_:"Aby autoryzować za pomocą pytania, wybierz pytanie na które tylko ty i twój rozmówca zna odpowiedź.",Ask:"Zadaj pytanie",To_authenticate_pick_a_secret_:"Aby autoryzować za pomocą hasła, wybierz hasło na które znasz tylko Ty i twój rozmówca.",Compare:"Dopasuj",Fingerprints:"Kody autoryzacyjne",Authentication:"Autoryzacja",Message:"Wiadomość",Add_buddy:"Dodaj kontakt",rename_buddy:"Zmień nazwę kontaktu",delete_buddy:"Usuń kontakt",Login:"Login",Username:"Nazwa Użytkownika",Password:"Hasło",Cancel:"Anuluj",Connect:"Połączenie",Type_in_the_full_username_:"Wpisz pełną nazwę użytkownika (np. <B>imię.nazwisko@zajezdnia.local</B>) oraz jego nazwę wyświetlaną (Alias).",Alias:"Alias",Add:"Dodaj",Subscription_request:"Potwierdzenie subskrypcji",You_have_a_request_from:"Masz potwierdzenie od",Deny:"Odmów",Approve:"Zatwierdź",Remove_buddy:"Usuń kontakt",You_are_about_to_remove_:"Chcesz usunąć __bid_name__ (<b>__bid_jid__</b>) z twojej listy kontaktów. Wszystkie powiązane rozmowy zostaną zamknięte.",Continue_without_chat:"Kontynuuj bez komunikatora",Please_wait:"Proszę czekać",Login_failed:"Błędne logowanie",Sorry_we_cant_authentikate_:"Błędna autoryzacja z serwerem. Może hasło jest nieprawidłowe?",Retry:"Powrót",clear_history:"Wyczyść historię",New_message_from:"Nowa wiadomość od __name__",Should_we_notify_you_:"Czy chcesz otrzymywać powiadomienia o nowych wiadomościach w przyszłości?",Please_accept_:'Kliknij "Zezwól" na górze.',Hide_offline:"Schowaj niedostępne kontakty",Show_offline:"Pokaż niedostępne kontakty",About:"Info",dnd:"Nie przeszkadzać",Mute:"Wycisz",Unmute:"Włącz dźwięk",Subscription:"Subskrybcja",both:"obustronna",Status:"Status",online:"Dostępny",chat:"czat",away:"z dala od kompa",xa:"hen hen...",offline:"niedostępny",none:"brak",Unknown_instance_tag:"Nieznany przypadek.",Not_one_of_our_latest_keys:"Not one of our latest keys.",Received_an_unreadable_encrypted_message:"Otrzymano nieczytelną, zaszyfrowaną wiadomość.",Online:"Połączony",Chatty:"Pogawędzimy?",Away:"Daleko",Extended_away:"Hen Hen...",Offline:"Niedostępny",Friendship_request:"Prośba o kontakt",Confirm:"Potwierdzenie",Dismiss:"Odwołaj",Remove:"Usuń",Online_help:"Pomoc Online",FN:"Pełna nazwa",N:" ",FAMILY:"Nazwisko",GIVEN:"Imię",NICKNAME:"Pseudonim",URL:"Strona WWW",ADR:"Adres",STREET:"Ulica",EXTADD:"Pełny adres",LOCALITY:"Lokalizacja",REGION:"Region",PCODE:"Kod pocztowy",CTRY:"Kraj",TEL:"Telefon",NUMBER:"Numer",EMAIL:"Email",USERID:" ",ORG:"Organizacja",ORGNAME:"Nazwa",ORGUNIT:"Jednostka",TITLE:"Stanowisko",ROLE:"Rola",BDAY:"Data urodzin",DESC:"Opis",PHOTO:" ",send_message:"Wyślij wiadomość",get_info:"Pokaż informację",Settings:"Ustawienia",Priority:"Priorytet",Save:"Zapisz",User_settings:"Ustawienia Użytkownika",A_fingerprint_:"Kod służy do autoryzacji Twojego rozmówcy aby potwierdzić jego tożsamość.",is:"jest",Login_options:"opcje logowania",BOSH_url:"Adres BOSH",Domain:"Domena",Resource:"Źródło",On_login:"Na login",Received_an_unencrypted_message:"Zatwierdzono nieszyfrowaną wiadomość.",Sorry_your_buddy_doesnt_provide_any_information:"Wybacz, twój rozmówca nie posiada żadnych informacji.",Info_about:"Informacja o...",Authentication_aborted:"Autoryzacja anulowana.",Authentication_request_received:"Prośba o autoryzację została przyjęta.",Log_in_without_chat:"Zaloguj bez komunikatora",has_come_online:"jest teraz dostępny",Unknown_sender:"Nieznany nadawca",Please_allow_access_to_microphone_and_camera:'Kliknij "Potwierdź" na górze, aby móc korzystać z mikrofonu oraz kamery.',Incoming_call:"Przychodzące połączenie",from:"z",Do_you_want_to_accept_the_call_from:"Akceptujesz połączenie od",Reject:"Odrzuć",Accept:"Zaakceptuj",hang_up:"odbierz",snapshot:"zrób zdjęcie",mute_my_audio:"wycisz dźwięk",pause_my_video:"zatrzymaj moje wideo",fullscreen:"Pełny ekran",Info:"Informacja",Local_IP:"Adres IP",Remote_IP:"Zdalny adres IP",Local_Fingerprint:"Kod lokalny",Remote_Fingerprint:"Zdalny kod",Video_call_not_possible:"Rozmowa wideo jest niemożliwa. Twój rozmówca nie ma możliwości prowadzenia takich rozmów.",Start_video_call:"Rozpocznij rozmowę wideo",Join_chat:"Dołącz do czata",Join:"Dołącz",Room:"Pokój",Nickname:"Nazwa użytkownika",left_the_building:"__nickname__ wyszedł",entered_the_room:"__nickname__ wszedł do pokoju",is_now_known_as:"__oldNickname__ zmienił nazwę na __newNickname__",This_room_is:"Ten pokój jest",muc_hidden:{keyword:"ukryty",description:"nie można odnaleźć elementów wyszukiwania"},muc_membersonly:{keyword:"tylko zalogowani",description:"musisz być członkiem listy"},muc_moderated:{keyword:"moderowano",description:'tylko osoby z opcją "głos" mogą wysyłać wiadomość'},muc_nonanonymous:{keyword:"nie-anonimowy",description:"Twój identyfikator jabber jest widoczny dla wszystkich innych osób"},muc_open:{keyword:"otwarty",description:"wszyscy mają pozwolenie aby dołączyć"},muc_passwordprotected:{keyword:"ograniczone hasłem",description:"musisz wpisać prawidłowe hasło"},muc_persistent:{keyword:"trwale",description:"nie zostaną zniszczone, jeśli ostatnia osoba wyszła"},muc_public:{keyword:"publiczny",description:"wyszukawno"},muc_semianonymous:{keyword:"pół-anonimowy",description:"Twój identyfikator jabber jest widoczny w pokoju adminów"},muc_temporary:{keyword:"tymczasowy",description:"zostanie usunięty jeżeli ostatnia osoba wyjdzie"},muc_unmoderated:{keyword:"niemoderowany",description:"wszyscy są uprawnieni do pisania wiadomości"},muc_unsecured:{keyword:"niezabezpieczone",description:"nie musisz wpisywać hasła"},Continue:"Kontynuuj",Server:"Serwer",Rooms_are_loaded:"Pokoje zostały załadowane",Could_load_only:"Nie załadowano __count__ pokoi",muc_explanation:"Aby się zalogować, wpisz nazwę pokoju oraz opcjonalnie nazwę użytkownika i hasło",You_already_joined_this_room:"Już dołączyłeś do tego pokoju",This_room_will_be_closed:"Ten pokój będzie zamknięty",Room_not_found_:"Nowy pokój będzie stworzony",Loading_room_information:"Ładowani informacji o pokoju",Destroy:"Zniszczony",Leave:"Opuść",changed_subject_to:'__nickname__ zmienił temat pokoju na "__subject__"',muc_removed_kicked:"Zostałeś wyrzucony z pokoju",muc_removed_info_kicked:"__nickname__ został wyrzucony z pokoju",muc_removed_banned:"Zostałeś zbanowany",muc_removed_info_banned:"__nickname__ został zbanowany",muc_removed_affiliation:"Zostałeś usunięty z pokoju ze względu na zmianę przynależnosci",muc_removed_info_affiliation:"__nickname__ został usunięty z pokoju ze względu na zmianę przynależnosci",muc_removed_membersonly:"Zostałeś usunięty z pokoju ze względu na zmianę pokoju tylko dla członków, a Ty nie jesteś członkiem...",muc_removed_info_membersonly:"__nickname__ został usunięty z pokoju ze względu na zmianę pokoju na tylko dla członków",muc_removed_shutdown:"Zostałeś usunięty z pokoju ze względu na zamknięcie usługi",Reason:"Powód",message_not_send:"Wystąpił błąd i twoja wiadomość nie została wysłana.","message_not_send_item-not-found":"Twoja wiadomość nie została wysłana ponieważ ten pokój nie istnieje",message_not_send_forbidden:"Twoja wiadomość nie została wysłana ponieważ nie masz głosu w tym pokoju","message_not_send_not-acceptable":"Twoja wiadomość nie została wysłana ponieważ nie jesteś właścicielem tego pokoju",This_room_has_been_closed:"Ten pokój został zamknięty",Room_logging_is_enabled:"Logowanie do pokoju jest włączone",A_password_is_required:"Hasło jest wymagane",You_are_not_on_the_member_list:"Nie jesteś na liście członków",You_are_banned_from_this_room:"Zostałeś zbanowany w tym pokoju",Your_desired_nickname_:"Twoja nazwa użytkownika jest już użyta. Spróbuj wybrać inną",The_maximum_number_:"Została osiągnięta maksymalna liczba użytkowników w tym pokoju",This_room_is_locked_:"Ten pokój jest zablokowany",You_are_not_allowed_to_create_:"Nie masz uprawnień do tworzenia pokoju",Alert:"Alarm",Call_started:"Rozmowa rozpoczęta",Call_terminated:"Rozmowa zakończona",Carbon_copy:"Do wiadomości",Enable:"Włączone",jingle_reason_busy:"zajęte",jingle_reason_decline:"odmów",jingle_reason_success:"zakończono",Media_failure:"Błąd mediów",No_local_audio_device:"Brak lokalnego urządzenia audio.",No_local_video_device:"Brak lokalnego urządzenia wideo.",Ok:"Ok",PermissionDeniedError:"Ty lub twoja przeglądarka odmówiła dostępu do audio/video",Use_local_audio_device:"Użyj lokalnego urządzenia audio.",Use_local_video_device:"Użyj lokalnego urządzenia wideo.",is_:"jest __status__",You_received_a_message_from_an_unknown_sender_:"Masz wiadomość od nieznanego nadawcy. (__sender__) Chcesz to wyświetlić?",Your_roster_is_empty_add_:"Twoja lista jest pusta, dodaj kontakty <a>Nowy kontakt</a>",onsmp_explanation_question:"Twój rozmówca próbuje się z Tobą połączyć. Autoryzacja z rozmówcą, napisz odpowiedź.",onsmp_explanation_secret:"Twój rozmówca próbuje się z Tobą połączyć. Autoryzacja z rozmówcą, wpisz hasło.",from_sender:"z __sender__",Verified_private_conversation_started:"Zweryfikowano Rozmowa prywatna rozpoczęta.",Unverified_private_conversation_started:"Niezweryfikowano Rozmowa prywatna rozpoczęta.",Bookmark:"Zakładka","Auto-join":"Auto-połączenie",Edit_bookmark:"Edytuj zakładkę",Room_logging_is_disabled:"Logowanie pokoju jest wyłączone","Room_is_now_non-anoymous":"Pokój jest teraz nie-anonimowy","Room_is_now_semi-anonymous":"Pokój jest teraz pół-anonimowy",Do_you_want_to_change_the_default_room_configuration:"Chcesz zmienić domyślną konfigurację pokoju?",Default:"Domyślny",Change:"Zmień",Send_file:"Wyślij plik","setting-explanation-carbon":null,"setting-explanation-login":"Jeżeli ta opcja jest włączona, czat uruchomi się przy zalogowaniu.","setting-explanation-priority":"Jeżeli jesteś zalogowany wiele razy na to samo konto twój serwer XMPP dostarczy wiadomości do klienta z najwyższym priorytetem.","setting-explanation-xmpp":"Te ustawienia używane są do połączenia z serwerem XMPP.",_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null}},"pt-BR":{translation:{Logging_in:"Entrando...",your_connection_is_unencrypted:"Sua conexão não é encriptada",your_connection_is_encrypted:"Sua conexão é encriptada",your_buddy_closed_the_private_connection:"Seu contato fechou a conexão privada",start_private:"Iniciar conversa privada",close_private:"Fechar conversa privada",your_buddy_is_verificated:"Seu contato está verificado",you_have_only_a_subscription_in_one_way:"Você só tem a inscrição one-way",authentication_query_sent:"Pergunta de autenticação enviada",your_message_wasnt_send_please_end_your_private_conversation:"Sua mensagem não foi enviada. Por favor finalize sua conversa privada",unencrypted_message_received:"Mensagem não encriptada recebida",not_available:"Indisponível",no_connection:"Sem conexão!",relogin:"reentrar",trying_to_start_private_conversation:"Tentando iniciar conversa privada",Verified:"Verificado",Unverified:"Não verificado",private_conversation_aborted:"Conversa privada abortada!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Seu contato encerrou a conversa privada! Você deveria fazer o mesmo.",conversation_is_now_verified:"Conversa verificada.",authentication_failed:"Autenticação falhou.",Creating_your_private_key_:"Criando sua chave privada: isso pode demorar um pouco.",Authenticating_a_buddy_helps_:"Autenticar seu contato ajuda a garantir que a pessoa com a qual você está falando é realmente a pessoa que ela alega ser.",How_do_you_want_to_authenticate_your_buddy:"Como você gostaria de se autenticar __bid_name__ (<b>__bid_jid__</b>)?",Select_method:"Selecione o método...",Manual:"Manual",Question:"Pergunta",Secret:"Senha",To_verify_the_fingerprint_:"Para verificar o fingerprint, entre em contato com seu contato usando outro meio, de preferência seguro, como o telefone.",Your_fingerprint:"Sua impressão digital",Buddy_fingerprint:"Impressão digital do contato",Close:"Fechar",Compared:"Comparado",To_authenticate_using_a_question_:"Para autenticar seu contato faça uma pergunta, mas escolha que só ele saiba a resposta.",Ask:"Pergunta",To_authenticate_pick_a_secret_:"Para autenticar, escolha um segredo que somente você e seu contato saibam.",Compare:"Compare",Fingerprints:"Impressões digitais",Authentication:"Autenticação",Message:"Mensagem",Add_buddy:"Adicionar contato",rename_buddy:"renomear contato",delete_buddy:"remover contato",Login:"Entrar",Username:"Usuário",Password:"Senha",Cancel:"Cancelar",Connect:"Conectar",Type_in_the_full_username_:"Digite seu nome completo e um apelido opcional.",Alias:"Apelido",Add:"Adicionar",Subscription_request:"Pedido de inscrição",You_have_a_request_from:"Você tem um pedido de",Deny:"Negar",
-Approve:"Aprovar",Remove_buddy:"Remover contato",You_are_about_to_remove_:"Você está prestes a remover __bid_name__ (<b>__bid_jid__</b>) de sua lista de contatos. Todas as conversas serão fechadas.",Continue_without_chat:"Continue sem converar",Please_wait:"Por favor aguarde",Login_failed:"Autenticação da conversa falhou",Sorry_we_cant_authentikate_:"A autenticação com o servidor falhou. Talvez seja a senha errada?",Retry:"Voltar",clear_history:"Limpar histórico",New_message_from:"Nova mensagem de __name__",Should_we_notify_you_:"Devemos continuar notificando sobre novas mensagens no futuro?",Please_accept_:'Por favor clique no botão "Permitir" na parte superior.',Hide_offline:"Esconder contatos desconectados",Show_offline:"Mostrar contatos desconectados",About:"Sobre",dnd:"Não perturbe",Mute:"Mudo",Unmute:"Ligar",Subscription:"Inscrição",both:"ambos",Status:"Status",online:"online",chat:"conversa",away:"ausente",xa:"ausente por mais tempo",offline:"desativado",none:"nenhum",Unknown_instance_tag:"Marcação desconhecida da instância",Not_one_of_our_latest_keys:"Nenhuma de nossas ultimas chaves.",Received_an_unreadable_encrypted_message:"Mensagem encriptada ilegível foi recebida.",Online:"Online",Chatty:"Tagarela",Away:"Ausente",Extended_away:"Ausente por mais tempo",Offline:"Desativado",Friendship_request:"Pedido de amizade",Confirm:"Confirmar",Dismiss:"Ignorar",Remove:"Remover",Online_help:"Ajuda online",FN:"Nome completo",N:" ",FAMILY:"Sobrenome",GIVEN:"Nome",NICKNAME:"Apelido",URL:"URL",ADR:"Endereço",STREET:"Rua, Av, etc",EXTADD:"Complemento",LOCALITY:"Localidade",REGION:"Região",PCODE:"CEP",CTRY:"País",TEL:"Telefone",NUMBER:"Número",EMAIL:"Email",USERID:" IDUsuário",ORG:"Empresa",ORGNAME:"Nome",ORGUNIT:"Unidade",TITLE:"Cargo",ROLE:"Função",BDAY:"Data de nascimento",DESC:"Descrição",PHOTO:"Foto",send_message:"Enviar mensagem",get_info:"Exibir informações",Settings:"Configurações",Priority:"Prioridade",Save:"Salvar",User_settings:"Configurações do usuário",A_fingerprint_:"O fingerprint é usado para certificar que a pessoa com a qual se está falando é que ela diz ser.",is:"é",Login_options:"Opções de login",BOSH_url:"BOSH URL",Domain:"Domínio",Resource:"Recurso",On_login:"Ao autenticar",Received_an_unencrypted_message:"Mensagem não encriptada recebida",Sorry_your_buddy_doesnt_provide_any_information:"Desculpe, seu contato não forneceu nenhuma informação",Info_about:"Informações sobre",Authentication_aborted:"Autenticação encerrada.",Authentication_request_received:"Pedido de autenticação recebido",Log_in_without_chat:"Entrar sem conversar",has_come_online:"ficou online",Unknown_sender:"Emissor desconhecido",Please_allow_access_to_microphone_and_camera:'Por favor clique no botão "Permitir" no topo, para conceder acesso ao seu microfone e câmera.',Incoming_call:"Recebendo chamada",from:"de",Do_you_want_to_accept_the_call_from:"Você aceita a chamada de",Reject:"Negar",Accept:"Aceitar",hang_up:"desligar",snapshot:"registrar imagem",mute_my_audio:"mudo",pause_my_video:"pausar vídeo",fullscreen:"tela cheia",Info:"Informações",Local_IP:"IP local",Remote_IP:"IP remoto",Local_Fingerprint:"Fingerprint local",Remote_Fingerprint:"Fingerprint remoto",Video_call_not_possible:"Chamada de vídeo impossível. Seu contato não suporta chamadas desse tipo.",Start_video_call:"Iniciar chamada de vídeo",Join_chat:"Entrar no chat",Join:"Entrar",Room:"Sala",Nickname:"Apelido",left_the_building:"__nickname__ deixou o prédio",entered_the_room:"__nickname__ entrou na sala",is_now_known_as:"__oldNickname__ agora é conhecido como __newNickname__",This_room_is:"Esta sala é",muc_hidden:{keyword:"oculto",description:"Não pode ser encontrado através de pesquisa"},muc_membersonly:{keyword:"apenas para membros",description:"você precisa estar na lista de membros"},muc_moderated:{keyword:"moderado",description:'Somente pessoas com "voice" podem enviar mensagens'},muc_nonanonymous:{keyword:"não-anônimo",description:"Seu id jabber esta esposto para todos os outros ocupantes"},muc_open:{keyword:"abrir",description:"Todos podem entrar"},muc_passwordprotected:{keyword:"protegido por senha",description:"você precisa fornecer a senha correta"},muc_persistent:{keyword:"persistente",description:"Não será destruída se o último ocupante tiver saído"},muc_public:{keyword:"público",description:"pode ser localizado pela busca"},muc_semianonymous:{keyword:"semi-anônimos",description:"Sua identificação jabber só é exposta para administradores da sala"},muc_temporary:{keyword:"temporário",description:"Será destruída se o último ocupante tiver saído"},muc_unmoderated:{keyword:"sem moderação",description:"Todos tem permissão de enviar mensagens"},muc_unsecured:{keyword:"inseguro",description:"Você não precisa de senha para entrar"},Continue:"Avançar",Server:"Servidor",Rooms_are_loaded:"Sala carregada",Could_load_only:"Pode carregar somente __count__ salas para autocompletar",muc_explanation:"Por favor entre um nome de sala e um nickname opcional e uma senha para entrar no chat",You_already_joined_this_room:"Você já entrou nesta sala",This_room_will_be_closed:"Esta sala será fechada",Room_not_found_:"Uma nova sala será criada",Loading_room_information:"Carregar informação da sala",Destroy:"Destruir",Leave:"Sair",changed_subject_to:'__nickname__ alterar o assunto da sala para "__subject__"',muc_removed_kicked:"Você foi removido da sala",muc_removed_info_kicked:"__nickname__ foi removido da sala",muc_removed_banned:"Você foi banido da sala",muc_removed_info_banned:"__nickname__ foi banido da sala",muc_removed_affiliation:"Você foi removido da sala pois a sala, por que a afiliação mudou",muc_removed_info_affiliation:"__nickname__ foi removido da sala, por que a afiliação mudou",muc_removed_membersonly:"Você foi removido da sala pois a sala foi alterada somente para membros e você não é um membro",muc_removed_info_membersonly:"__nickname__ foi removido da sala porque a sala foi alterada para somente membros e você não é um membro",muc_removed_shutdown:"Você foi removido da sala, por que o serviço MUC esta sendo desligado",Reason:"Motivo",message_not_send:"Sua mensagem não foi enviada devido a um erro","message_not_send_item-not-found":"Sua mensagem não foi enviada por que essa sala nao existe mais",message_not_send_forbidden:"Sua mensagem não foi enviada por que não tem 'voz' para essa sala","message_not_send_not-acceptable":"Sua mensagem não foi enviada por que você nao é ocupante desta sala",This_room_has_been_closed:"Essa sala foi fechada",Room_logging_is_enabled:"O Logging esta habilitado",A_password_is_required:"Senha é obrigatória",You_are_not_on_the_member_list:"Você não esta na lista de usuarios",You_are_banned_from_this_room:"Você foi banido desta sala",Your_desired_nickname_:"O nickname escolhido já esta em uso. Por favor escolha outro",The_maximum_number_:"O número máximo de usuarios já foi antigido para essa sala",This_room_is_locked_:"A sala esta trancada",You_are_not_allowed_to_create_:"Você não esta autorizado para criar uma sala",Alert:"Alerta",Call_started:"Chamada iniciada",Call_terminated:"Chamada finalizada",Carbon_copy:"Copia carbono",Enable:"Habilitado",jingle_reason_busy:"ocupado",jingle_reason_decline:"recusado",jingle_reason_success:"sucesso",Media_failure:"Media falhou",No_local_audio_device:"sem dispositivo local de audio",No_local_video_device:"sem dispositivo local de video",Ok:"Ok",PermissionDeniedError:"Você ou seu navegador negou permissão para acessar audio/video",Use_local_audio_device:"Usar dispositivo local de audio",Use_local_video_device:"Usar dispositivo local de video",is_:"é __status__",You_received_a_message_from_an_unknown_sender_:"Você recebeu uma mensagem de um emissor desconhecido (__sender__) Você quer mostrá-los?",Your_roster_is_empty_add_:"Sua lista está vazia, adicione um <a>novo contato</a>",onsmp_explanation_question:"Seu contato está tentando determinar se ele realmente está falando contigo. Para autenticar seu contato, entre com a resposta e clique em Responder.",onsmp_explanation_secret:"Seu contato está tentando determinar se ele realmente está falando contigo. Para autenticar seu contato, escreva a senha.",from_sender:"de __sender__",Verified_private_conversation_started:"Verificado Conversa privada iniciada.",Unverified_private_conversation_started:"Não verificado Conversa privada iniciada.",Bookmark:"Favoritos","Auto-join":"Entrar Automaticamente",Edit_bookmark:"Editar favoritos",Room_logging_is_disabled:"Registro de log na sala está desativado","Room_is_now_non-anoymous":"A sala é não anônima agora","Room_is_now_semi-anonymous":"A sala é semi anônima agora",Do_you_want_to_change_the_default_room_configuration:"Você quer alterar as configurações da sala?",Default:"Padrão",Change:"Alterar",Send_file:"Enviar arquivo","setting-explanation-carbon":"Com carbon copy ativado seu servidor XMPP vai enviar uma copia de cada mensagem para você neste cliente mesmo que não tenha endereço","setting-explanation-login":"Se essa opção esta habilitada, o chat vai começar ao logar.","setting-explanation-priority":"Você esta logado varias vezes com a mesma conta, seu servidor XMPP vai entregar as mensagens para o cliente com a prioridade mais alta.","setting-explanation-xmpp":"Essas opções são usadas para conectar no Servidor XMPP",_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null}},ro:{translation:{Logging_in:"Autentificare...",your_connection_is_unencrypted:"Conexiunea nu este criptată.",your_connection_is_encrypted:"Conexiunea este criptată.",your_buddy_closed_the_private_connection:"Interlocutorul a închis conexiunea privată.",start_private:"Pornește în privat",close_private:"Închide privat",your_buddy_is_verificated:"Interlocutorul este verificat.",you_have_only_a_subscription_in_one_way:"Subscrierea este într-o singură direcție.",authentication_query_sent:"Cererea de autentificare a fost trimisă.",your_message_wasnt_send_please_end_your_private_conversation:"Mesajul nu a fost trimis. Te rog închide conversația în privat.",unencrypted_message_received:"A fost primit un mesaj necriptat",not_available:"Indisponibil",no_connection:"Fără conexiune!",relogin:"Re-autentificare",trying_to_start_private_conversation:"Se încearcă deschiderea conversației în privat!",Verified:"Verificat",Unverified:"Neverificat",private_conversation_aborted:"Conversație în privat eșuată!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Interlocutorul a închis conversația în privat! Ar trebui să faci la fel și tu.",conversation_is_now_verified:"Conversația este acum verificată.",authentication_failed:"Autentificarea a eşuat.",Creating_your_private_key_:"Se crează cheia privată; ar putea să dureze ceva timp.",Authenticating_a_buddy_helps_:"Autentificând un contact ne asigură că persoana cu care vorbești este într-adevăr cine pretinde că este.",How_do_you_want_to_authenticate_your_buddy:"Cum vrei să te autentifici __bid_name__ (<b>__bid_jid__</b>)",Select_method:"Alege metoda...",Manual:"Manual",Question:"Întrebare",Secret:"Secret",To_verify_the_fingerprint_:"Pentru a verifica amprenta, contactează interlocutorul printr-un canal de încredere, cum ar fi telefonul.",Your_fingerprint:"Amprenta ta",Buddy_fingerprint:"Amprenta interlocutorului",Close:"Închide",Compared:"Prin comparație",To_authenticate_using_a_question_:"Pentru autentificarea folosind o întrebare, alege o întrebare cu un răspuns cunoscut doar de tine și de interlocutor.",Ask:"Întreabă",To_authenticate_pick_a_secret_:"Pentru autentificare, alege un secret cunoscut doar de tine și de interlocutor.",Compare:"Compară",Fingerprints:"Amprente",Authentication:"Autentificare",Message:"Mesaj",Add_buddy:"Adaugă contact",rename_buddy:"redenumește contact",delete_buddy:"șterge contact",Login:"Logare",Username:"Utilizator",Password:"Parolă",Cancel:"Renunță",Connect:"Conectare",Type_in_the_full_username_:"Scrie numele complet al utilizatorului și un alias opțional.",Alias:"Alias",Add:"Adaugă",Subscription_request:"Cerere de subscriere",You_have_a_request_from:"Ai o cerere de la",Deny:"Refuză",Approve:"Aprobă",Remove_buddy:"Șterge contact",You_are_about_to_remove_:"Urmează să ștergi __bid_name__ (<b>__bid_jid__</b>) din lista de contacte. Toate chat-urile asociate vor fi închise.",Continue_without_chat:"Continuă fără chat",Please_wait:"Te rog așteaptă",Login_failed:"Logarea pe chat a eșuat",Sorry_we_cant_authentikate_:"Autentificarea cu serverul de chat a eșuat. Poate parola este greșită ?",Retry:"Înapoi",clear_history:"Curăță istoria",New_message_from:"Un nou mesaj de la __name__",Should_we_notify_you_:"Vrei să fi notificat despre mesajele noi în viitor ?",Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null}},ru:{translation:{Logging_in:"Вход в систему...",your_connection_is_unencrypted:"Ваше соединение не зашифровано.",your_connection_is_encrypted:"Ваше соединение зашифровано.",your_buddy_closed_the_private_connection:"Ваш собеседник закончил зашифрованное соединение.",start_private:"Начать зашифрованный чат",close_private:"Закончить зашифрованный чат",your_buddy_is_verificated:"Собеседник подтвержден.",you_have_only_a_subscription_in_one_way:"У вас только односторонняя подписка.",authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:"Сообщение не отправлено. Завершите зашифрованный чат, пожалуйста.",unencrypted_message_received:"Получено незашифрованное сообщение",not_available:"Не доступен",no_connection:"Нет соединения!",relogin:"переподключиться",trying_to_start_private_conversation:"Попытка начать зашифрованный чат!",Verified:"Подтверждено",Unverified:"Не подтверждено",private_conversation_aborted:"Зашифрованный чат отклонен!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Ваш собеседник завершил зашифрованный чат! Вы должны сделать тоже самое.",conversation_is_now_verified:"Чат теперь утвержден.",authentication_failed:"Ошибка авторизации.",Creating_your_private_key_:"Создается приватный ключ. Это может занять некоторое время",Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:"Выберите метод...",Manual:"Вручную",Question:"Вопрос",Secret:"Пароль",To_verify_the_fingerprint_:null,Your_fingerprint:"Ваш отпечаток",Buddy_fingerprint:"Отпечаток собеседника",Close:"Закрыть",Compared:"Сравнение завершено",To_authenticate_using_a_question_:"Для авторизации с помощью вопроса выберите вопрос, ответ на который знаете только Вы и собеседник.",Ask:null,To_authenticate_pick_a_secret_:"Для авторизации выберите пароль, который знаете только Вы и собеседник.",Compare:"Сравнить",Fingerprints:"Отпечатки",Authentication:"Авторизация",Message:"Сообщение",Add_buddy:"Добавить контакт",rename_buddy:"переименовать контакт",delete_buddy:"удалить контакт",Login:"Вход",Username:"Логин",Password:"Пароль",Cancel:"Отмена",Connect:"Подключить",Type_in_the_full_username_:"Введите полное имя пользователя и дополнительный псевдоним",Alias:"Псевдоним",Add:"Добавить",Subscription_request:"Запрос подписки",You_have_a_request_from:"Получен запрос от",Deny:"Отказ",Approve:"Подтвердить",Remove_buddy:"Удалить контакт",You_are_about_to_remove_:"Вы собираетесь удалить __bid_name__ (<b>__bid_jid__</b>) из списка контактов. Все связанные с чаты будут закрыты.",Continue_without_chat:"Продолжить без чата",Please_wait:"Подождите…",Login_failed:"Неудачный вход в чат",Sorry_we_cant_authentikate_:"Неудачная попытка входа",Retry:"Назад",clear_history:"Очистить историю",New_message_from:"Новое сообщение от __name__",Should_we_notify_you_:"Уведомлять о новых сообщениях в будущем?",Please_accept_:'Нажмите кнопку "Разрешить" вверху страницы, пожалуйста',Hide_offline:"Спрятать отключенных",Show_offline:"Показать отключенных",About:"О проекте",dnd:"Не беспокоить",Mute:"Выкл. уведомления",Unmute:"Вкл. уведомления",Subscription:"Подписка",both:"оба",Status:"Статус",online:"в сети",chat:"готов общаться",away:"отошел",xa:"отсутствую",offline:"не в сети",none:"нет",Unknown_instance_tag:"Неизвестный тег.",Not_one_of_our_latest_keys:"Ни один из наших последних ключей",Received_an_unreadable_encrypted_message:"Получено нечитаемое зашифрованное сообщение",Online:"В сети",Chatty:"Готов общаться",Away:"Отошел",Extended_away:"Отсутствую",Offline:"Не в сети",Friendship_request:"Запрос на добавление в контакты",Confirm:"Подтвердить",Dismiss:"Отклонить",Remove:"Удалить",Online_help:"Онлайн помощь",FN:"Полное имя",N:null,FAMILY:"Фамилия",GIVEN:"Имя",NICKNAME:"Ник",URL:"URL",ADR:"Адрес",STREET:"Улица",EXTADD:"Дополнительный адрес",LOCALITY:"Город",REGION:"Область",PCODE:"Индекс",CTRY:"Страна",TEL:"Телефон",NUMBER:"Номер",EMAIL:"Почта",USERID:null,ORG:"Организация",ORGNAME:"Название",ORGUNIT:"Отдел",TITLE:"Должность",ROLE:"Обязанности",BDAY:"День рождения",DESC:"Описание",PHOTO:" Фото ",send_message:"Отправить сообщение",get_info:"Показать информацию",Settings:"Настройки",Priority:"Приоритет",Save:"Сохранить",User_settings:"Пользовательские настройки",A_fingerprint_:null,is:" ",Login_options:"Параметры входа",BOSH_url:"BOSH URL",Domain:"Домен",Resource:"Ресурс",On_login:"Автоматически подключаться",Received_an_unencrypted_message:"Получено незашифрованное сообщение",Sorry_your_buddy_doesnt_provide_any_information:"К сожалению, контакт не предоставил какой-либо информации.",Info_about:"Информация о",Authentication_aborted:"Аутентификация прервана.",Authentication_request_received:"Получен запрос проверки подлинности.",Log_in_without_chat:"Вход без чата",has_come_online:"появился в сети",Unknown_sender:"Неизвестный отправитель",Please_allow_access_to_microphone_and_camera:'Нажмите кнопку "Разрешить" вверху страницы, чтобы предоставить доступ к микрофону и камере.',Incoming_call:"Входящий вызов",from:"от",Do_you_want_to_accept_the_call_from:"Вы хотите принять вызов от",Reject:"Отклонить",Accept:"Принять",hang_up:"Завершить",snapshot:"Снимок",mute_my_audio:"Без звука",pause_my_video:"Остановить моё видео",fullscreen:"На весь экран",Info:"Инфо",Local_IP:"Мой IP",Remote_IP:"Удаленный IP",Local_Fingerprint:"Мой отпечаток",Remote_Fingerprint:"Удаленный отпечаток",Video_call_not_possible:"Видео-вызов невозможен. Ваш собеседник не поддерживает видео-вызовы.",Start_video_call:"Видео-вызов",Join_chat:"Присоединиться к комнате",Join:"Присоедениться",Room:"Комната",Nickname:"Ник",left_the_building:"__nickname__ выходит из комнаты",entered_the_room:"__nickname__ заходит в комнату",is_now_known_as:"__oldNickname__ теперь известен как __newNickname__",This_room_is:"Эта комната",muc_hidden:{keyword:"скрыта",description:"не может быть найдена через поиск"},muc_membersonly:{keyword:"только для участников",description:"Вы должны быть в списке участников"},muc_moderated:{keyword:"модерируется",description:"Только пользователи с правом голоса могут отправлять сообщения"},muc_nonanonymous:{keyword:"неанонимная",description:"Ваш JID будет показан всем посетителям"},muc_open:{keyword:"открытая",description:"Любой пользователь может присоедениться"},muc_passwordprotected:{keyword:"защищена паролем",description:"Необходимо ввести правильный пароль"},muc_persistent:{keyword:"постоянная",description:"Не будет уничтожена, когда ее покинут все участники"},muc_public:{keyword:"публичная",description:"Может быть найдена через поиск"},muc_semianonymous:{keyword:"полу-анонимная",description:"Ваш JID могут увидеть только администраторы"},muc_temporary:{keyword:"временная",description:"Будет уничтожена как только не останется ни одного участника"},muc_unmoderated:{keyword:"не модерируется",description:"Любой посетитель может отправлять сообщения"},muc_unsecured:{keyword:"без пароля",description:"Не нужно вводить пароль для входа"},Continue:"Далее",Server:"Сервер",Rooms_are_loaded:"Комнаты загружены",Could_load_only:"Подгрузка только __count__ комнат в автодополнении",muc_explanation:"Введите название комнаты, свой ник и пароль для входа в комнату",You_already_joined_this_room:"Вы уже в этой комнате",This_room_will_be_closed:"Эта комната была закрыта",Room_not_found_:"Новая комната будет создана",Loading_room_information:"Загрузка информации о комнате",Destroy:"Уничтожить",Leave:"Покинуть",changed_subject_to:'__nickname__ изменил тему комнаты на "__subject__"',muc_removed_kicked:"Вас выкинули из комнаты",muc_removed_info_kicked:"__nickname__ был удален из комнаты",muc_removed_banned:"Вас забанили в комнате",muc_removed_info_banned:"__nickname__ был забанен в комнате",muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:"Вы были исключены из комнаты, т.к. комната стала доступна только для членов комнаты, а Вы им не являетесь",muc_removed_info_membersonly:"__nickname__ исключен(а) из комнаты, т.к. комната стала доступна только для членов комнаты, а он(она) им не является",muc_removed_shutdown:"Вы были удалены из комнаты, т.к. сервис чат-комнат недоступен",Reason:"Причина",message_not_send:"Ваше сообщение не было отправлено из-за ошибки","message_not_send_item-not-found":"Ваше сообщение не было отправлено, т.к. этой комнаты не существует",message_not_send_forbidden:"Ваше сообщение не было отправлено, т.к. у Вас нет права голоса в этой комнате","message_not_send_not-acceptable":"Ваше сообщение не было отправлено, т.к. Вы не являетесь участником этой комнаты",This_room_has_been_closed:"Эта комната была закрыта",Room_logging_is_enabled:"Журналирование комнаты включено",A_password_is_required:"Необходим пароль",You_are_not_on_the_member_list:"Вы не в списке участников",You_are_banned_from_this_room:"Вас забанили в этой комнате",Your_desired_nickname_:"Данное имя пользователя уже занято, пожалуйста, выберите другое имя пользователя",The_maximum_number_:"Достигнут лимит максимального количества посетителей этой комнаты",This_room_is_locked_:"Эта комната заблокирована",You_are_not_allowed_to_create_:"Вы не можете создавать комнаты",Alert:"Внимание",Call_started:"Вызов начался",Call_terminated:"Вызов завершен",Carbon_copy:"Копировать сообщения",Enable:"Включить",jingle_reason_busy:"занято",jingle_reason_decline:"запрещено",jingle_reason_success:"сбросили",Media_failure:"Ошибка передачи медиа",No_local_audio_device:"Нет локального аудио-устройства.",No_local_video_device:"Нет локального видео-устройства.",Ok:"Ок",PermissionDeniedError:"Вы или Ваш браузер запретили использовать микрофон/камеру",Use_local_audio_device:"Использовать локальное аудио-устройство.",Use_local_video_device:"Использовать локальное видео-устройство.",is_:"__status__",You_received_a_message_from_an_unknown_sender_:"Вы получили сообщение от неизвестного отправителя (__sender__)",Your_roster_is_empty_add_:"Ваш список контактов пуст, добавить <a>новый контакт</a>",onsmp_explanation_question:"Собеседник пытается определить, что общается действительно с Вами.",onsmp_explanation_secret:"Собеседник пытается определить, что общается действительно с Вами. введите пароль.",from_sender:"от __sender__",Verified_private_conversation_started:"Подтверждено Зашифрованный чат начат.",Unverified_private_conversation_started:"Не подтверждено Зашифрованный чат начат.",Bookmark:"Закладка","Auto-join":"Автоматически входить",Edit_bookmark:"Редактировать закладку",Room_logging_is_disabled:"Журналирование комнаты отключено","Room_is_now_non-anoymous":"Комната теперь не анонимная","Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:"Вы хотите изменить стандартную конфигурацию комнаты?",Default:"Станд.",Change:"Изменить",Send_file:"Отправить файл","setting-explanation-carbon":"С включенным Carbon Copy Ваш XMPP сервер будет отправлять копию каждого входящего сообщения на все подключенные устройства.","setting-explanation-login":"Если эта опция включена, то чат будет начинаться сразу после аутентификации.","setting-explanation-priority":"Если вы подключены к одному аккаунту с нескольких устройств, то XMPP сервер будет доставлять сообщения на клиент с наивысшим приоритетом.","setting-explanation-xmpp":"Эти настройки используются для подключения к XMPP серверу.",_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null}},"sv-SE":{translation:{Logging_in:null,your_connection_is_unencrypted:null,your_connection_is_encrypted:null,your_buddy_closed_the_private_connection:null,start_private:null,close_private:null,your_buddy_is_verificated:null,you_have_only_a_subscription_in_one_way:null,authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:null,unencrypted_message_received:null,not_available:null,no_connection:null,relogin:null,trying_to_start_private_conversation:null,Verified:null,Unverified:null,private_conversation_aborted:null,your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:null,Creating_your_private_key_:null,Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:null,Secret:null,To_verify_the_fingerprint_:null,Your_fingerprint:null,Buddy_fingerprint:null,Close:null,Compared:null,To_authenticate_using_a_question_:null,Ask:null,To_authenticate_pick_a_secret_:null,Compare:null,Fingerprints:null,Authentication:null,Message:null,Add_buddy:null,rename_buddy:null,delete_buddy:null,Login:null,Username:null,Password:null,Cancel:null,Connect:null,Type_in_the_full_username_:null,Alias:null,Add:null,Subscription_request:null,You_have_a_request_from:null,Deny:null,Approve:null,Remove_buddy:null,You_are_about_to_remove_:null,Continue_without_chat:null,Please_wait:null,Login_failed:null,Sorry_we_cant_authentikate_:null,Retry:null,clear_history:null,New_message_from:null,Should_we_notify_you_:null,Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,
-Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null}},"tr-TR":{translation:{Logging_in:"Giriş yapılıyor…",your_connection_is_unencrypted:"Bağlantınız şifrelenmemiş.",your_connection_is_encrypted:"Bağlantınız şifrelenmiş.",your_buddy_closed_the_private_connection:"Sohbet ettiğiniz kişi özel bağlantı kapatıldı.",start_private:"Özel bağlantı başlat.",close_private:"Özel bağlantıyı kapat.",your_buddy_is_verificated:"Kişi doğrulandı.",you_have_only_a_subscription_in_one_way:"Sadece tek yönlü bir aboneliğiniz var.",authentication_query_sent:"Kimlik doğrulama sorgusu gönderildi.",your_message_wasnt_send_please_end_your_private_conversation:"Mesajınız gönderilmedi. Lütfen özel görüşmelerinizi bitirin.",unencrypted_message_received:"Şifrelenmemiş mesaj alındı",not_available:"Müsait değil",no_connection:"Bağlantı yok!",relogin:"Yeniden gir",trying_to_start_private_conversation:"Özel sohbet başlatılmaya çalışılıyor!",Verified:"Doğrulandı",Unverified:"Doğrulanamadı",private_conversation_aborted:"Özel sohbet iptal edildi!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Sohbet ettiğiniz kişi özel görüşmeyi kapattı! Siz de aynı şeyi yapmalısınız.",conversation_is_now_verified:"Sohbet doğrulandı.",authentication_failed:"Kimlik doğrulama başarısız.",Creating_your_private_key_:"Özel anahtarınız oluşturuluyor; bu işlem biraz sürebilir.",Authenticating_a_buddy_helps_:"Kimlik doğrulaması, konuşmakta olduğunuz kişinin gerçekten o kişi olduğundan emin olmanıza yardımcı olur.",How_do_you_want_to_authenticate_your_buddy:"Kimlik doğrulasını nasıl yapmak istersiniz __bid_name__ (<b>__bid_jid__</b>)?",Select_method:"Yöntemi seçin...",Manual:"Elle",Question:"Soru",Secret:"Gizli anahtar",To_verify_the_fingerprint_:"Parmakizini doğrulamak için, telefon gibi başka bir güvenilir kanalı kullanın.",Your_fingerprint:"Parmakiziniz",Buddy_fingerprint:"Kişinin parmakizi",Close:"Kapat",Compared:"Kıyaslandı",To_authenticate_using_a_question_:"Bir soru ile kimlik doğrulaması için, yanıtını yalnızca siz ve karşınızdaki kişinin bildiği bir soru seçin.",Ask:"Sor",To_authenticate_pick_a_secret_:"Kimlik doğrulaması için, yalnızca siz ve karşınızdaki kişinin bildiği bir parola seçin.",Compare:"Karşılaştır",Fingerprints:"Parmakizleri",Authentication:"Kimlik doğrulama",Message:"İleti",Add_buddy:"Kişi ekle",rename_buddy:"Kişiyi yeniden adlandır",delete_buddy:"Kişiyi sil",Login:"Giriş",Username:"Kullanıcı adı",Password:"Şifre",Cancel:"iptal",Connect:"Bağlan",Type_in_the_full_username_:"Tam kullanıcı adını ve isteğe bağlı bir takma ad yazın.",Alias:"Takma ad",Add:"Ekle",Subscription_request:"Abonelik isteği",You_have_a_request_from:"Size gelen bir istek var",Deny:"Reddet",Approve:"Onayla",Remove_buddy:"Kişiyi çıkar",You_are_about_to_remove_:"__bid_name__ (<b>__bid_jid__</b>) adlı kişiyi listenizden çıkarmak üzeresiniz. Tüm ilişkili sohbetler kapanacak.",Continue_without_chat:"Sohbet etmeden devam et",Please_wait:"Lütfen bekleyin",Login_failed:"Sohbet girişi başarısız oldu",Sorry_we_cant_authentikate_:"Kimlik doğrulaması başarısız oldu. Şifreniz yanlış olabilir.",Retry:"Geri",clear_history:"Geçmişi sil",New_message_from:"__name__ adlı kişiden yeni bir mesaj aldınız",Should_we_notify_you_:"İleride aldığınız yeni mesajları size bildirelim mi?",Please_accept_:'Lütfen üstteki "İzin ver" düğmesini tıklayın.',Hide_offline:"Çevrimdışı kişileri gizle",Show_offline:"Çevrimdışı kişileri göster",About:"hakkında",dnd:"Rahatsız etmeyin",Mute:"Sessiz",Unmute:"Sesli",Subscription:"Üyelik",both:"her ikisi de",Status:"Durum",online:"çevrimiçi",chat:"sohbet",away:"uzakta",xa:"çok uzakta",offline:"çevrimdışı",none:"hiç biri",Unknown_instance_tag:"Bilinmeyen örnek etiketi.",Not_one_of_our_latest_keys:"En son anahtarlarımızdan biri değil.",Received_an_unreadable_encrypted_message:"Okunamayan şifrelenmiş bir mesaj alındı.",Online:"Çevrimiçi",Chatty:"Konuşkan",Away:"Uzakta",Extended_away:"Çok uzakta",Offline:"Çevrimdışı",Friendship_request:"İrtibat isteği",Confirm:"Onayla",Dismiss:"Reddet",Remove:"Çıkar",Online_help:"Çevrimiçi yardım",FN:"Tam adı",N:" ",FAMILY:"Soyadı",GIVEN:"Adı",NICKNAME:"Takma ad",URL:"URL",ADR:"Adres",STREET:"Sokak",EXTADD:"Genişletilmiş Adres",LOCALITY:"Yer",REGION:"Bölge",PCODE:"Posta Kodu",CTRY:"Ülke",TEL:"Telefon",NUMBER:"Numara",EMAIL:"Eposta",USERID:" ",ORG:"Organizasyon",ORGNAME:"İsim",ORGUNIT:"Birim",TITLE:"İş tenımı",ROLE:"Görevi",BDAY:"Doğum günü",DESC:"Tanım",PHOTO:" ",send_message:"İletiyi gönder",get_info:"Bilgileri göster",Settings:"Ayarlar",Priority:"Öncelik",Save:"Kaydet",User_settings:"Kullanıcı tercihleri",A_fingerprint_:"Parmak izi konuştuğunuz kişinin söylediği kişi olduğundan emin olmak için kullanılır.",is:"Eşit",Login_options:"Giriş seçenekleri",BOSH_url:"BOSH URL",Domain:"Alan adı",Resource:"Kaynak",On_login:"Girişte",Received_an_unencrypted_message:"Şifrelenmemiş bir mesaj alındı",Sorry_your_buddy_doesnt_provide_any_information:"Maalesef kişi her hangi bir bilgi sunmamış.",Info_about:"Bilinen özellikleri",Authentication_aborted:"Kimlik doğrulama iptal edildi.",Authentication_request_received:"Kimlik doğrulama isteği alındı.",Log_in_without_chat:"Sohbetsiz giriş yap",has_come_online:"Çevrimiçi oldu",Unknown_sender:"Bilinmeyen gönderen",Please_allow_access_to_microphone_and_camera:'Mikrofona ve kameraya erişime izin vermek için lütfen üstteki "İzin Ver" düğmesini tıklayın.',Incoming_call:"Gelen çağrı",from:"gönderen",Do_you_want_to_accept_the_call_from:"Gelen aramayı kabul etmek istiyor musunuz",Reject:"Reddet",Accept:"Kabul et",hang_up:"aramayı sonlandır",snapshot:"anlık fotoğraf",mute_my_audio:"Sesi kapat",pause_my_video:"videoyu duraklat",fullscreen:"tam ekran",Info:"bilgi",Local_IP:"Yerel IP",Remote_IP:"Uzak IP",Local_Fingerprint:"Yerel parmakizi",Remote_Fingerprint:"Uzak parmakizi",Video_call_not_possible:"Video çağrısı yapılamıyor. Aranan kişi video görüşmelerini desteklemiyor.",Start_video_call:"Video görüşmesini başlat",Join_chat:"Sohbete katıl",Join:"Katıl",Room:"Oda",Nickname:"Takma ad",left_the_building:"__nickname__ binadan ayrıldı",entered_the_room:"__nickname__ odaya girdi",is_now_known_as:"__oldNickname__ şimdi __newNickname__ olarak biliniyor",This_room_is:"Bu oda",muc_hidden:{keyword:"gizli",description:"Arama yoluyla bulunamıyor"},muc_membersonly:{keyword:"sadece-üye-olanlar",description:"üye listenizde olmanız gerekiyor"},muc_moderated:{keyword:"yöneticili",description:'Yalnızca "sesli" kişilerin mesaj göndermesine izin verilir'},muc_nonanonymous:{keyword:"Anonim-değil",description:"Sohbet kimliğiniz diğer tüm oturanlara görünüyor"},muc_open:{keyword:"açık",description:"herkes katılabilir"},muc_passwordprotected:{keyword:"şifre-korumalı",description:"Doğru şifreyi girmeniz gerekiyor"},muc_persistent:{keyword:"kalıcı",description:"Son oturan ayrıldığında kapanmaz"},muc_public:{keyword:"herkese açık",description:"Arama yoluyla bulunabilir"},muc_semianonymous:{keyword:"yarı-anonim",description:"Sohbet kimliğiniz sadece oda yöneticilerine görünüyor"},muc_temporary:{keyword:"geçici",description:"Son oturan ayrıldığında kapanır"},muc_unmoderated:{keyword:"yöneticisiz",description:"herkes ileti gönderebilir"},muc_unsecured:{keyword:"güvensiz",description:"şifre girmenize gerek yok"},Continue:"Devam",Server:"Sunucu",Rooms_are_loaded:"Oda yüklendi",Could_load_only:"Sadece __count__ oda otomatik tamamlamayla yüklenebilir",muc_explanation:"Bir sohbete katılmak için, lütfen oda adını ve isteniyorsa takma adınız ve parolanızı girin",You_already_joined_this_room:"Zaten bu odaya katılmış durumdasınız",This_room_will_be_closed:"Bu oda kapanacak",Room_not_found_:"Yeni oda oluşturulacak",Loading_room_information:"Oda bilgileri yükleniyor",Destroy:"Sil",Leave:"Ayrıl",changed_subject_to:'__nickname__ bu odanın konusunu "__subject__" olarak değiştirdi',muc_removed_kicked:"Bu odadan atıldınız",muc_removed_info_kicked:"__nickname__ bu odadan atıldı",muc_removed_banned:"Odadan yasaklandınız",muc_removed_info_banned:"__nickname__ odadan yasaklandınız",muc_removed_affiliation:"Üyelik değişikliği nedeniyle odadan çıkarıldınız",muc_removed_info_affiliation:"__nickname__ üyelik değişikliği nedeniyle odadan çıkarıldı",muc_removed_membersonly:"Odanın durumu sadece-üyeler olarak değiştirildiği ve siz üye olmadığınız için odadan çıkarıldınız",muc_removed_info_membersonly:"Odanın durumu sadece-üyeler olarak değiştirildiği ve __nickname__ üye olmadığı için odadan çıkarıldı",muc_removed_shutdown:"Odadan çıkarıldınız çünkü, MUC sunucusu kapandı",Reason:"Sebep",message_not_send:"Mesajınız bir hata nedeniyle gönderilmedi","message_not_send_item-not-found":"Mesajınız gönderilmedi, çünkü bu oda mevcut değil",message_not_send_forbidden:"Mesajınız gönderilmedi çünkü bu odada sesiniz yok","message_not_send_not-acceptable":"Mesajınız gönderilmedi çünkü bu odaya bulunmuyorsunuz",This_room_has_been_closed:"Bu oda kapatıldı",Room_logging_is_enabled:"Oda günlüğü etkinleştirildi",A_password_is_required:"Şifre gerekli",You_are_not_on_the_member_list:"Üye listesinde değilsiniz",You_are_banned_from_this_room:"Bu odadan yasaklandınız",Your_desired_nickname_:"İstediğiniz takma ad başkası tarafından kullanılıyor. Lütfen başka bir takma ad",The_maximum_number_:"Bu odada maksimum kullanıcı sayısına ulaşıldı",This_room_is_locked_:"Bu oda kilitli",You_are_not_allowed_to_create_:"Oda açma izniniz yok",Alert:"Uyarı",Call_started:"Arama başlatıldı",Call_terminated:"Arama bitirildi",Carbon_copy:"Karbon kopya",Enable:"Etkinleştir",jingle_reason_busy:"meşgul",jingle_reason_decline:"kabul etme",jingle_reason_success:"kapatıldı",Media_failure:"Medya istek hatası",No_local_audio_device:"Yerel ses cihazı bulunamadı.",No_local_video_device:"Yerel video cihazı bulunamadı.",Ok:"Tamam",PermissionDeniedError:"Siz veya tarayıcınız sesli/görüntülü izni reddetti",Use_local_audio_device:"Yerel video cihazını kullan.",Use_local_video_device:"Yerel video cihazını kullanın.",is_:"__status__",You_received_a_message_from_an_unknown_sender_:"Bilinmeyen bir gönderenden bir ileti aldınız (__sender__) İletiyi görüntülemek istiyor musunuz?",Your_roster_is_empty_add_:"Listeniz boş, yeni bir <a>kişi ekleyin</a>",onsmp_explanation_question:"Karşınızdaki kişi, konuştuğu kişinin gerçekten siz olduğunuzu belirlemeye çalışıyor. Karşınızdaki kişiye kimliğinizi kanıtlamak için, yanıtı girin ve Yanıtla'yı tıklayın.",onsmp_explanation_secret:"Karşınızdaki kişi, konuştuğu kişinin gerçekten siz olduğunuzu belirlemeye çalışıyor. Karşınızdaki kişiye kimliğinizi kanıtlamak için, parolayı girin.",from_sender:"__sender__'den",Verified_private_conversation_started:"Doğrulanmış Özel görüşme başladı.",Unverified_private_conversation_started:"Doğrulanmamış Özel görüşme başladı.",Bookmark:"Yer imi","Auto-join":"Otomatik katıl",Edit_bookmark:"yer imini düzenle",Room_logging_is_disabled:"Oda günlüğü devre dışı","Room_is_now_non-anoymous":"Oda artık anonim değil","Room_is_now_semi-anonymous":"Oda yarı-anonim",Do_you_want_to_change_the_default_room_configuration:"Öntanımlı oda yapılandırmasını değiştirmek istiyor musunuz?",Default:"Öntanımlı",Change:"Değiştir",Send_file:"Dosya gönder","setting-explanation-carbon":"Etkinleştirilmiş karbon kopya ile, XMPP sunucusu kendisine gönderilen her iletinin bir kopyasını, bu adrese gönderilmemiş olsa bile sizin için bu istemciye gönderir.","setting-explanation-login":"Bu seçenek etkinleştirilirse, sohbet girişle beraber başlayacaktır.","setting-explanation-priority":"Aynı hesapla bir çok kez oturum açtıysanız, XMPP sunucusu, istemciye iletileri en yüksek öncelikle gönderecektir.","setting-explanation-xmpp":"Bu seçenekler XMPP sunucusuna bağlanmak için kullanılır.",_is_composing:" yazıyor...",_are_composing:" yazıyorlar...",Chat_state_notifications:"Sohbet durumu bildirimleri","setting-explanation-chat-state":"Birisi mesaj başlattığında veya mesaj yazmayı bıraktığında, sohbet durumu bildirimleri göndermek ve almak istiyor musunuz?",Share_screen:"Ekran paylaşımı",Incoming_stream:"Gelen akış",Stream_started:"Akış başladı",HTTPS_REQUIRED:"Bu eylem, şifreli bir bağlantı gerektirir.",EXTENSION_UNAVAILABLE:"Tarayıcı eklentisine ihtiyacınız var.",UNKNOWN_ERROR:"Bilinmeyen bir hata oluştu.",Install_extension:"Ekran paylaşımını kullanabilmek için lütfen eklentiyi yükleyin: ",Connection_accepted:"Bağlantı kabul edildi",Stream_terminated:"Akış sonlandırıldı",Close_all:"Hepsini kapat",Notification:null,Unreadable_OTR_message:null}},"vi-VN":{translation:{Logging_in:null,your_connection_is_unencrypted:null,your_connection_is_encrypted:null,your_buddy_closed_the_private_connection:null,start_private:null,close_private:null,your_buddy_is_verificated:null,you_have_only_a_subscription_in_one_way:null,authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:null,unencrypted_message_received:null,not_available:null,no_connection:null,relogin:null,trying_to_start_private_conversation:null,Verified:null,Unverified:null,private_conversation_aborted:null,your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:null,Creating_your_private_key_:null,Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:null,Secret:null,To_verify_the_fingerprint_:null,Your_fingerprint:null,Buddy_fingerprint:null,Close:null,Compared:null,To_authenticate_using_a_question_:null,Ask:null,To_authenticate_pick_a_secret_:null,Compare:null,Fingerprints:null,Authentication:null,Message:null,Add_buddy:null,rename_buddy:null,delete_buddy:null,Login:null,Username:null,Password:null,Cancel:null,Connect:null,Type_in_the_full_username_:null,Alias:null,Add:null,Subscription_request:null,You_have_a_request_from:null,Deny:null,Approve:null,Remove_buddy:null,You_are_about_to_remove_:null,Continue_without_chat:null,Please_wait:null,Login_failed:null,Sorry_we_cant_authentikate_:null,Retry:null,clear_history:null,New_message_from:null,Should_we_notify_you_:null,Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null}},"zh-TW":{translation:{Logging_in:"正在登入…",your_connection_is_unencrypted:"連線沒加密。",your_connection_is_encrypted:"連線有加密。",your_buddy_closed_the_private_connection:"聯絡人關閉了加密連線。",start_private:"開始加密",close_private:"結束加密",your_buddy_is_verificated:"聯絡人已校驗。",you_have_only_a_subscription_in_one_way:"只有單向訂閱。",authentication_query_sent:"驗證要求送出了。",your_message_wasnt_send_please_end_your_private_conversation:"訊息沒送出去。請結束加密的對話。",unencrypted_message_received:"收到沒加密的訊息",not_available:"不存在",no_connection:"沒有連線!",relogin:"重新登入",trying_to_start_private_conversation:"正在試著開始加密的對話!",Verified:"已校驗",Unverified:"未校驗",private_conversation_aborted:"加密的對話中斷了!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"聯絡人把這場加密的對話關掉了!你也應該同樣關掉。",conversation_is_now_verified:"對話現在校驗過了。",authentication_failed:"驗證失敗。",Creating_your_private_key_:"正在產生你的私人金鑰,會花一段時間。",Authenticating_a_buddy_helps_:"聯絡人驗證可以確保跟你說話的是真的那個人。",How_do_you_want_to_authenticate_your_buddy:"想要怎樣驗證__bid_name__ (<b>__bid_jid__</b>)?",Select_method:"選個方式...",Manual:"手動",Question:"問答",Secret:"祕密",To_verify_the_fingerprint_:"要校驗聯絡人的電子指紋,請透過其他可靠的管道跟她/他聯絡,比如說電話。",Your_fingerprint:"你的電子指紋",Buddy_fingerprint:"聯絡人的電子指紋",Close:"關閉",Compared:"比對正確",To_authenticate_using_a_question_:"要用問答來驗證的話,請找一個只有你和聯絡人才知道答案的問題。",Ask:"問題",To_authenticate_pick_a_secret_:"要驗證的話,請找一個只有你和聯絡人知道的祕密。",Compare:"比對",Fingerprints:"電子指紋",Authentication:"驗證",Message:"訊息",Add_buddy:"加聯絡人",rename_buddy:"重新命名聯絡人",delete_buddy:"刪掉聯絡人",Login:"登入",Username:"使用者名稱",Password:"密碼",Cancel:"取消",Connect:"連線",Type_in_the_full_username_:"請打全名,別名可有可無",Alias:"別名",Add:"加入",Subscription_request:"訂閱請求",You_have_a_request_from:"收到聯絡人的請求:",Deny:"拒絕",Approve:"同意",Remove_buddy:"刪除聯絡人",You_are_about_to_remove_:"要把__bid_name__ (<b>__bid_jid__</b>)從聯絡簿裡刪掉了。所有相關的對話也都會關掉。",Continue_without_chat:"繼續不聊天",Please_wait:"請等一下",Login_failed:"登入聊天失敗",Sorry_we_cant_authentikate_:"跟聊天伺服器驗證失敗,會不會是密碼打錯了?",Retry:"上一步",clear_history:"清除歷史紀錄",New_message_from:"有新訊息:__name__",Should_we_notify_you_:"以後若有新訊息要通知你嗎?",Please_accept_:"請點上方的「允許」按鈕。",Hide_offline:"隱藏離線聯絡人",Show_offline:"顯示離線聯絡人",About:"關於我",dnd:"別打擾",Mute:"開靜音",Unmute:"關靜音",Subscription:"訂閱狀態",both:"雙向",Status:"狀態",online:"上線",chat:"聊天",away:"離開",xa:"離開很久",offline:"離線",none:"沒有",Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:"收到了一則加密但無法辨認的訊息。",Online:"上線",Chatty:"想聊天",Away:"離開",Extended_away:"離開很久",Offline:"離線",Friendship_request:"聯絡請求",Confirm:"確定",Dismiss:"取消",Remove:"刪掉",Online_help:"線上說明",FN:"全名",N:" ",FAMILY:"姓氏",GIVEN:"名字",NICKNAME:"綽號",URL:"網址",ADR:"位址",STREET:"地址",EXTADD:"更多位址",LOCALITY:"所在地",REGION:"區域",PCODE:"郵遞區號",CTRY:"國家",TEL:"電話",NUMBER:"編號",EMAIL:"電子郵件",USERID:" ",ORG:"團體",ORGNAME:"名稱",ORGUNIT:"單位",TITLE:"職稱",ROLE:"職位",BDAY:"生日",DESC:"簡介",PHOTO:" ",send_message:"發送訊息",get_info:"顯示帳號資訊",Settings:"設定",Priority:"優先度",Save:"儲存",User_settings:"使用者設定",A_fingerprint_:"電子指紋是用來確認跟你說話的是真的那個人。",is:"狀態:",Login_options:"登入選項",BOSH_url:"BOSH 網址",Domain:"網域",Resource:"資源",On_login:"登入啟動",Received_an_unencrypted_message:"收到了一則沒加密的訊息",Sorry_your_buddy_doesnt_provide_any_information:"抱歉,聯絡人沒有提供任何資訊。",Info_about:"帳號資訊:",Authentication_aborted:"驗證中斷。",Authentication_request_received:"驗證請求收到了。",Log_in_without_chat:"登入但不啟用聊天",has_come_online:"上線了",Unknown_sender:"不明傳訊人",Please_allow_access_to_microphone_and_camera:"請點上方的「接受」按鈕來允許我們使用麥克風和相機。",Incoming_call:"來電",from:"只出",Do_you_want_to_accept_the_call_from:"是否要接聽來電:",Reject:"拒絕",Accept:"接受",hang_up:"掛斷",snapshot:"截圖",mute_my_audio:"關掉我的聲音",pause_my_video:"暫停我的影像",fullscreen:"全螢幕",Info:"資料",Local_IP:"本機網路位址",Remote_IP:"遠端網路位址",Local_Fingerprint:"本機電子指紋",Remote_Fingerprint:"遠端電子指紋",Video_call_not_possible:"無法視訊通話。聯絡人不支援視訊。",Start_video_call:"開始視訊通話",Join_chat:"參加聊天",Join:"參加",Room:"聊天室",Nickname:"綽號",left_the_building:"__nickname__離開了大樓",entered_the_room:"__nickname__進入了聊天室",is_now_known_as:"__oldNickname__改名叫做__newNickname__",This_room_is:"聊天室屬性:",muc_hidden:{keyword:"隱藏",description:"搜尋也找不到"},muc_membersonly:{keyword:"限會員",description:"會員才會加入"},muc_moderated:{keyword:"有管制",description:"沒被消音的人才能送訊息"},muc_nonanonymous:{keyword:"禁匿名",description:"每個參與人都能看到你的 jabber 代碼"},muc_open:{keyword:"開放",description:"任何人都能參加"},muc_passwordprotected:{keyword:"密碼鎖",description:"要輸入正確的密碼才能加入"},muc_persistent:{keyword:"永久性",description:"最後一個參與人都離開了也不會結束"},muc_public:{keyword:"公開",description:"搜尋得到"},muc_semianonymous:{keyword:"半匿名",description:"只有聊天室管理員才看得到你的 jabber 代碼"},muc_temporary:{keyword:"暫時性",description:"最後一個參與人離開了就會結束"},muc_unmoderated:{keyword:"沒管制",description:"每個人都可以送訊息"},muc_unsecured:{keyword:"沒保護",description:"不需要密碼就能加入"},Continue:"繼續",Server:"伺服器",Rooms_are_loaded:"聊天室載入完成",Could_load_only:"只能載入__count__間聊天室供輸入自動完成使用",muc_explanation:"請輸入要參加的聊天室名稱,綽號和密碼非必要",You_already_joined_this_room:"你已經參加這間聊天室了",This_room_will_be_closed:"聊天室即將關閉",Room_not_found_:"新聊天室即將開啟",Loading_room_information:"正在載入聊天室資訊",Destroy:"關閉",Leave:"離開",changed_subject_to:'__nickname__把聊天室的標題改成了"__subject__"',muc_removed_kicked:"你被踢出聊天室了",muc_removed_info_kicked:"__nickname__被踢出聊天室了",muc_removed_banned:"你被禁止進入聊天室了",muc_removed_info_banned:"__nickname__被禁止進入聊天室了",muc_removed_affiliation:"你因為身份改變而離開聊天室了",muc_removed_info_affiliation:"__nickname__因為身份改變而離開聊天室了",muc_removed_membersonly:"你離開聊天室了,因為聊天室改為只限會員,但你不是會員",muc_removed_info_membersonly:"__nickname__離開聊天室了,因為聊天室改為只限會員,但她/他不是會員",muc_removed_shutdown:"你離開聊天室了,因為多人聊天服務正在關閉中。",Reason:"原因",message_not_send:"訊息因為發生錯誤沒送出去","message_not_send_item-not-found":"訊息沒送出去,因為聊天室不存在了",message_not_send_forbidden:"訊息沒送出去,因為你被消音了","message_not_send_not-acceptable":"訊息沒送出去,因為你不是聊天室的參與人了",This_room_has_been_closed:"聊天室已經關閉了",Room_logging_is_enabled:"聊天室紀錄打開了",A_password_is_required:"需要密碼",You_are_not_on_the_member_list:"你不是會員",You_are_banned_from_this_room:"你被禁止進入聊天室了",Your_desired_nickname_:"這個綽號被用掉了,請換一個",The_maximum_number_:"這間聊天室已經到達使用者數目的上限",This_room_is_locked_:"聊天室上鎖了",You_are_not_allowed_to_create_:"不允許你開新的聊天室",Alert:"警告",Call_started:"通話開始",Call_terminated:"通話結束",Carbon_copy:"副本",Enable:"打開",jingle_reason_busy:"忙線中",jingle_reason_decline:"被拒絕",jingle_reason_success:"被掛斷",Media_failure:"媒體錯誤",No_local_audio_device:"本機沒有音訊設備。",No_local_video_device:"本機沒有視訊設備。",Ok:"好",PermissionDeniedError:"你或你的瀏覽器拒絕了媒體使用權限",Use_local_audio_device:"使用本機音訊設備。",Use_local_video_device:"使用本機視訊設備。",is_:"狀態: __status__",You_received_a_message_from_an_unknown_sender_:"收到了不明人士(__sender__)傳來的訊息。你要打開來看嗎?",Your_roster_is_empty_add_:"好友清單是空的,請加<a>新的聯絡人</a>",onsmp_explanation_question:'聯絡人想要確定她/他是在跟真的你說話。要完成你的驗證,請輸入問題的答案,然後按"回答"。',onsmp_explanation_secret:"聯絡人想要確定她/他是在跟真的你說話。要完成你的驗證,請輸入你們之間的祕密。",from_sender:"來自:__sender__",Verified_private_conversation_started:"加密且已校驗的對話開始了。",Unverified_private_conversation_started:"加密但未校驗的對話開始了。",Bookmark:"書籤","Auto-join":"自動參加",Edit_bookmark:"編輯書籤",Room_logging_is_disabled:"聊天室紀錄關掉了","Room_is_now_non-anoymous":"現在聊天室禁止匿名了","Room_is_now_semi-anonymous":"現在聊天室變半匿名了",Do_you_want_to_change_the_default_room_configuration:"你想要改變聊天室的預設配置嗎?",Default:"預設值",Change:"修改",Send_file:"傳送檔案","setting-explanation-carbon":"如果打開副本選項的話,XMPP 伺服器會把每一個收到的訊息,都送一份到這個用戶端程式,即使它不是訊息發送的對象。","setting-explanation-login":"打開這個選項會在登入時同時開啟聊天。","setting-explanation-priority":"如果你用同一個帳號同時登入好幾次的話,XMPP 伺服器會把訊息送給優先度最高的那個用戶端程式。","setting-explanation-xmpp":"這些是用在 XMPP 伺服器連線的選項。",_is_composing:"正在打字中...",_are_composing:"正在打字中...",Chat_state_notifications:"聊天狀態通知","setting-explanation-chat-state":"想要傳送以及接收聊天狀態的通知嗎?也就是有人開始或停止寫訊息之類?",Share_screen:"分享螢幕",Incoming_stream:"有串流來",Stream_started:"串流開始了",HTTPS_REQUIRED:"這個動作需要連線有加密。",EXTENSION_UNAVAILABLE:"瀏覽器必須要安裝擴充套件或是附加元件。",UNKNOWN_ERROR:"發生了不明錯誤。",Install_extension:"要使用螢幕分享功能請安裝這個擴充套件: ",Connection_accepted:"連線接受了",Stream_terminated:"串流結束了",Close_all:"全部關掉",Notification:null,Unreadable_OTR_message:null}},zh:{translation:{Logging_in:null,your_connection_is_unencrypted:null,your_connection_is_encrypted:null,your_buddy_closed_the_private_connection:null,start_private:null,close_private:null,your_buddy_is_verificated:null,you_have_only_a_subscription_in_one_way:null,authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:null,unencrypted_message_received:null,not_available:null,no_connection:null,relogin:null,trying_to_start_private_conversation:null,Verified:null,Unverified:null,private_conversation_aborted:null,your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:null,Creating_your_private_key_:null,Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:null,Secret:null,To_verify_the_fingerprint_:null,Your_fingerprint:null,Buddy_fingerprint:null,Close:null,Compared:null,To_authenticate_using_a_question_:null,Ask:null,To_authenticate_pick_a_secret_:null,Compare:null,Fingerprints:null,Authentication:null,Message:null,Add_buddy:null,rename_buddy:null,delete_buddy:null,Login:null,Username:null,Password:null,Cancel:null,Connect:null,Type_in_the_full_username_:null,Alias:null,Add:null,Subscription_request:null,You_have_a_request_from:null,Deny:null,Approve:null,Remove_buddy:null,You_are_about_to_remove_:null,Continue_without_chat:null,Please_wait:null,Login_failed:null,Sorry_we_cant_authentikate_:null,Retry:null,clear_history:null,New_message_from:null,Should_we_notify_you_:null,Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,
-from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null}}};
+"🚆":"1f686","🚈":"1f688","🚊":"1f68a","🚍":"1f68d","🚎":"1f68e","🚐":"1f690","🚔":"1f694","🚖":"1f696","🚘":"1f698","🚛":"1f69b","🚜":"1f69c","🚝":"1f69d","🚞":"1f69e","🚟":"1f69f","🚠":"1f6a0","🚡":"1f6a1","🚣":"1f6a3","🚦":"1f6a6","🚮":"1f6ae","🚯":"1f6af","🚰":"1f6b0","🚱":"1f6b1","🚳":"1f6b3","🚴":"1f6b4","🚵":"1f6b5","🚷":"1f6b7","🚸":"1f6b8","🚿":"1f6bf","🛁":"1f6c1","🛂":"1f6c2","🛃":"1f6c3","🛄":"1f6c4","🛅":"1f6c5","🌍":"1f30d","🌎":"1f30e","🌐":"1f310","🌒":"1f312","🌖":"1f316","🌗":"1f317","🌘":"1f318","🌚":"1f31a","🌜":"1f31c","🌝":"1f31d","🌞":"1f31e","🌲":"1f332","🌳":"1f333","🍋":"1f34b","🍐":"1f350","🍼":"1f37c","🏇":"1f3c7","🏉":"1f3c9","🏤":"1f3e4","🐀":"1f400","🐁":"1f401","🐂":"1f402","🐃":"1f403","🐄":"1f404","🐅":"1f405","🐆":"1f406","🐇":"1f407","🐈":"1f408","🐉":"1f409","🐊":"1f40a","🐋":"1f40b","🐏":"1f40f","🐐":"1f410","🐓":"1f413","🐕":"1f415","🐖":"1f416","🐪":"1f42a","👥":"1f465","👬":"1f46c","👭":"1f46d","💭":"1f4ad","💶":"1f4b6","💷":"1f4b7","📬":"1f4ec","📭":"1f4ed","📯":"1f4ef","📵":"1f4f5","🔀":"1f500","🔁":"1f501","🔂":"1f502","🔄":"1f504","🔅":"1f505","🔆":"1f506","🔇":"1f507","🔉":"1f509","🔕":"1f515","🔬":"1f52c","🔭":"1f52d","🕜":"1f55c","🕝":"1f55d","🕞":"1f55e","🕟":"1f55f","🕠":"1f560","🕡":"1f561","🕢":"1f562","🕣":"1f563","🕤":"1f564","🕥":"1f565","🕦":"1f566","🕧":"1f567","🔈":"1f508","🚋":"1f68b","🏅":"1f3c5","🏴":"1f3f4","📸":"1f4f8","🛌":"1f6cc","🖕":"1f595","🖖":"1f596","🙁":"1f641","🙂":"1f642","🛫":"1f6eb","🛬":"1f6ec","🏻":"1f3fb","🏼":"1f3fc","🏽":"1f3fd","🏾":"1f3fe","🏿":"1f3ff","🙃":"1f643","🤑":"1f911","🤓":"1f913","🤗":"1f917","🙄":"1f644","🤔":"1f914","🤐":"1f910","🤒":"1f912","🤕":"1f915","🤖":"1f916","🦁":"1f981","🦄":"1f984","🦂":"1f982","🦀":"1f980","🦃":"1f983","🧀":"1f9c0","🌭":"1f32d","🌮":"1f32e","🌯":"1f32f","🍿":"1f37f","🍾":"1f37e","🏹":"1f3f9","🏺":"1f3fa","🛐":"1f6d0","🕋":"1f54b","🕌":"1f54c","🕍":"1f54d","🕎":"1f54e","📿":"1f4ff","🏏":"1f3cf","🏐":"1f3d0","🏑":"1f3d1","🏒":"1f3d2","🏓":"1f3d3","🏸":"1f3f8","🥁":"1f941","🦐":"1f990","🦑":"1f991","🥚":"1f95a","🥛":"1f95b","🥜":"1f95c","🥝":"1f95d","🥞":"1f95e","🇼":"1f1fc","🇻":"1f1fb","🇺":"1f1fa","🇹":"1f1f9","🇸":"1f1f8","🇷":"1f1f7","🇶":"1f1f6","🇵":"1f1f5","🇴":"1f1f4","🇳":"1f1f3","🇲":"1f1f2","🇱":"1f1f1","🇰":"1f1f0","🇯":"1f1ef","🇮":"1f1ee","🇭":"1f1ed","🇬":"1f1ec","🇫":"1f1eb","🇪":"1f1ea","🇩":"1f1e9","🇨":"1f1e8","🇧":"1f1e7","🇦":"1f1e6","⏩":"23e9","⏪":"23ea","⏫":"23eb","⏬":"23ec","⏰":"23f0","⏳":"23f3","⛎":"26ce","✅":"2705","✊":"270a","✋":"270b","✨":"2728","❌":"274c","❎":"274e","❓":"2753","❔":"2754","❕":"2755","➕":"2795","➖":"2796","➗":"2797","➰":"27b0","➿":"27bf","©":"00a9","®":"00ae","‼":"203c","⁉":"2049","™":"2122","ℹ":"2139","↔":"2194","↕":"2195","↖":"2196","↗":"2197","↘":"2198","↙":"2199","↩":"21a9","↪":"21aa","⌚":"231a","⌛":"231b","Ⓜ":"24c2","▪":"25aa","▫":"25ab","▶":"25b6","◀":"25c0","◻":"25fb","◼":"25fc","◽":"25fd","◾":"25fe","☀":"2600","☁":"2601","☎":"260e","☑":"2611","☔":"2614","☕":"2615","☝":"261d","☺":"263a","♈":"2648","♉":"2649","♊":"264a","♋":"264b","♌":"264c","♍":"264d","♎":"264e","♏":"264f","♐":"2650","♑":"2651","♒":"2652","♓":"2653","♠":"2660","♣":"2663","♥":"2665","♦":"2666","♨":"2668","♻":"267b","♿":"267f","⚓":"2693","⚠":"26a0","⚡":"26a1","⚪":"26aa","⚫":"26ab","⚽":"26bd","⚾":"26be","⛄":"26c4","⛅":"26c5","⛔":"26d4","⛪":"26ea","⛲":"26f2","⛳":"26f3","⛵":"26f5","⛺":"26fa","⛽":"26fd","✂":"2702","✈":"2708","✉":"2709","✌":"270c","✏":"270f","✒":"2712","✔":"2714","✖":"2716","✳":"2733","✴":"2734","❄":"2744","❇":"2747","❗":"2757","❤":"2764","➡":"27a1","⤴":"2934","⤵":"2935","⬅":"2b05","⬆":"2b06","⬇":"2b07","⬛":"2b1b","⬜":"2b1c","⭐":"2b50","⭕":"2b55","〰":"3030","〽":"303d","㊗":"3297","㊙":"3299","🀄":"1f004","🅿":"1f17f","🈂":"1f202","🈚":"1f21a","🈯":"1f22f","🈷":"1f237","🎞":"1f39e","🎟":"1f39f","🏋":"1f3cb","🏌":"1f3cc","🏍":"1f3cd","🏎":"1f3ce","🎖":"1f396","🎗":"1f397","🌶":"1f336","🌧":"1f327","🌨":"1f328","🌩":"1f329","🌪":"1f32a","🌫":"1f32b","🌬":"1f32c","🐿":"1f43f","🕷":"1f577","🕸":"1f578","🌡":"1f321","🎙":"1f399","🎚":"1f39a","🎛":"1f39b","🏳":"1f3f3","🏵":"1f3f5","🏷":"1f3f7","📽":"1f4fd","✝":"271d","🕉":"1f549","🕊":"1f54a","🕯":"1f56f","🕰":"1f570","🕳":"1f573","🕶":"1f576","🕹":"1f579","🖇":"1f587","🖊":"1f58a","🖋":"1f58b","🖌":"1f58c","🖍":"1f58d","🖥":"1f5a5","🖨":"1f5a8","⌨":"2328","🖲":"1f5b2","🖼":"1f5bc","🗂":"1f5c2","🗃":"1f5c3","🗄":"1f5c4","🗑":"1f5d1","🗒":"1f5d2","🗓":"1f5d3","🗜":"1f5dc","🗝":"1f5dd","🗞":"1f5de","🗡":"1f5e1","🗣":"1f5e3","🗨":"1f5e8","🗯":"1f5ef","🗳":"1f5f3","🗺":"1f5fa","🛠":"1f6e0","🛡":"1f6e1","🛢":"1f6e2","🛰":"1f6f0","🍽":"1f37d","👁":"1f441","🕴":"1f574","🕵":"1f575","✍":"270d","🖐":"1f590","🏔":"1f3d4","🏕":"1f3d5","🏖":"1f3d6","🏗":"1f3d7","🏘":"1f3d8","🏙":"1f3d9","🏚":"1f3da","🏛":"1f3db","🏜":"1f3dc","🏝":"1f3dd","🏞":"1f3de","🏟":"1f3df","🛋":"1f6cb","🛍":"1f6cd","🛎":"1f6ce","🛏":"1f6cf","🛣":"1f6e3","🛤":"1f6e4","🛥":"1f6e5","🛩":"1f6e9","🛳":"1f6f3","⏏":"23cf","⏭":"23ed","⏮":"23ee","⏯":"23ef","⏱":"23f1","⏲":"23f2","⏸":"23f8","⏹":"23f9","⏺":"23fa","☂":"2602","☃":"2603","☄":"2604","☘":"2618","☠":"2620","☢":"2622","☣":"2623","☦":"2626","☪":"262a","☮":"262e","☯":"262f","☸":"2638","☹":"2639","⚒":"2692","⚔":"2694","⚖":"2696","⚗":"2697","⚙":"2699","⚛":"269b","⚜":"269c","⚰":"26b0","⚱":"26b1","⛈":"26c8","⛏":"26cf","⛑":"26d1","⛓":"26d3","⛩":"26e9","⛰":"26f0","⛱":"26f1","⛴":"26f4","⛷":"26f7","⛸":"26f8","⛹":"26f9","✡":"2721","❣":"2763","🌤":"1f324","🌥":"1f325","🌦":"1f326","🖱":"1f5b1"},ns.imagePathPNG="https://cdn.jsdelivr.net/emojione/assets/png/",ns.imagePathSVG="https://cdn.jsdelivr.net/emojione/assets/svg/",ns.imagePathSVGSprites="./../assets/sprites/emojione.sprites.svg",ns.imageType="png",ns.imageTitleTag=!0,ns.sprites=!1,ns.unicodeAlt=!0,ns.ascii=!1,ns.cacheBustParam="?v=2.2.7",ns.regShortNames=new RegExp("<object[^>]*>.*?</object>|<span[^>]*>.*?</span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|("+ns.shortnames+")","gi"),ns.regAscii=new RegExp("<object[^>]*>.*?</object>|<span[^>]*>.*?</span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|((\\s|^)"+ns.asciiRegexp+"(?=\\s|$|[!,.?]))","g"),ns.regUnicode=new RegExp("<object[^>]*>.*?</object>|<span[^>]*>.*?</span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|("+ns.unicodeRegexp+")","gi"),ns.toImage=function(str){return str=ns.unicodeToImage(str),str=ns.shortnameToImage(str)},ns.unifyUnicode=function(str){return str=ns.toShort(str),str=ns.shortnameToUnicode(str)},ns.shortnameToAscii=function(str){var unicode,unicodeToAscii=ns.objectFlip(ns.asciiList);return str=str.replace(ns.regShortNames,function(shortname){return"undefined"!=typeof shortname&&""!==shortname&&shortname in ns.emojioneList?(unicode=ns.emojioneList[shortname].unicode[ns.emojioneList[shortname].unicode.length-1],"undefined"!=typeof unicodeToAscii[unicode]?unicodeToAscii[unicode]:shortname):shortname})},ns.shortnameToUnicode=function(str){var unicode,fname,uc;return str=str.replace(ns.regShortNames,function(shortname){return"undefined"!=typeof shortname&&""!==shortname&&shortname in ns.emojioneList?(unicode=ns.emojioneList[shortname].unicode[0].toUpperCase(),fname=ns.emojioneList[shortname].fname,uc=ns.emojioneList[shortname].uc,ns.convert(uc)):shortname}),ns.ascii&&(str=str.replace(ns.regAscii,function(entire,m1,m2,m3){return"undefined"!=typeof m3&&""!==m3&&ns.unescapeHTML(m3)in ns.asciiList?(m3=ns.unescapeHTML(m3),unicode=ns.asciiList[m3].toUpperCase(),m2+ns.convert(unicode)):entire})),str},ns.shortnameToImage=function(str){var replaceWith,unicode,alt,title;return str=str.replace(ns.regShortNames,function(shortname){return"undefined"!=typeof shortname&&""!==shortname&&shortname in ns.emojioneList?(unicode=ns.emojioneList[shortname].unicode[ns.emojioneList[shortname].unicode.length-1],title=ns.imageTitleTag?'title="'+shortname+'"':"",alt=ns.unicodeAlt?ns.convert(unicode.toUpperCase()):shortname,replaceWith="png"===ns.imageType?ns.sprites?'<span class="emojione emojione-'+unicode+'" '+title+">"+alt+"</span>":'<img class="emojione" alt="'+alt+'" '+title+' src="'+ns.imagePathPNG+unicode+".png"+ns.cacheBustParam+'"/>':ns.sprites?'<svg class="emojione"><description>'+alt+'</description><use xlink:href="'+ns.imagePathSVGSprites+"#emoji-"+unicode+'"></use></svg>':'<object class="emojione" data="'+ns.imagePathSVG+unicode+".svg"+ns.cacheBustParam+'" type="image/svg+xml" standby="'+alt+'">'+alt+"</object>"):shortname}),ns.ascii&&(str=str.replace(ns.regAscii,function(entire,m1,m2,m3){return"undefined"!=typeof m3&&""!==m3&&ns.unescapeHTML(m3)in ns.asciiList?(m3=ns.unescapeHTML(m3),unicode=ns.asciiList[m3],title=ns.imageTitleTag?'title="'+ns.escapeHTML(m3)+'"':"",alt=ns.unicodeAlt?ns.convert(unicode.toUpperCase()):ns.escapeHTML(m3),replaceWith="png"===ns.imageType?ns.sprites?m2+'<span class="emojione emojione-'+unicode+'" '+title+">"+alt+"</span>":m2+'<img class="emojione" alt="'+alt+'" '+title+' src="'+ns.imagePathPNG+unicode+".png"+ns.cacheBustParam+'"/>':ns.sprites?'<svg class="emojione"><description>'+alt+'</description><use xlink:href="'+ns.imagePathSVGSprites+"#emoji-"+unicode+'"></use></svg>':m2+'<object class="emojione" data="'+ns.imagePathSVG+unicode+".svg"+ns.cacheBustParam+'" type="image/svg+xml" standby="'+alt+'">'+alt+"</object>"):entire})),str},ns.unicodeToImage=function(str){var replaceWith,unicode,short,fname,alt,title,mappedUnicode=ns.mapUnicodeToShort();return str=str.replace(ns.regUnicode,function(unicodeChar){return"undefined"!=typeof unicodeChar&&""!==unicodeChar&&unicodeChar in ns.jsEscapeMap?(unicode=ns.jsEscapeMap[unicodeChar],short=mappedUnicode[unicode],fname=ns.emojioneList[short].fname,alt=ns.unicodeAlt?ns.convert(unicode.toUpperCase()):short,title=ns.imageTitleTag?'title="'+short+'"':"",replaceWith="png"===ns.imageType?ns.sprites?'<span class="emojione emojione-'+unicode+'" '+title+">"+alt+"</span>":'<img class="emojione" alt="'+alt+'" '+title+' src="'+ns.imagePathPNG+fname+".png"+ns.cacheBustParam+'"/>':ns.sprites?'<svg class="emojione"><description>'+alt+'</description><use xlink:href="'+ns.imagePathSVGSprites+"#emoji-"+unicode+'"></use></svg>':'<img class="emojione" alt="'+alt+'" '+title+' src="'+ns.imagePathSVG+fname+".svg"+ns.cacheBustParam+'"/>'):unicodeChar})},ns.toShort=function(str){var find=ns.getUnicodeReplacementRegEx(),replacementList=ns.mapUnicodeCharactersToShort();return ns.replaceAll(str,find,replacementList)},ns.convert=function(unicode){if(unicode.indexOf("-")>-1){for(var parts=[],s=unicode.split("-"),i=0;i<s.length;i++){var part=parseInt(s[i],16);if(part>=65536&&part<=1114111){var hi=Math.floor((part-65536)/1024)+55296,lo=(part-65536)%1024+56320;part=String.fromCharCode(hi)+String.fromCharCode(lo)}else part=String.fromCharCode(part);parts.push(part)}return parts.join("")}var s=parseInt(unicode,16);if(s>=65536&&s<=1114111){var hi=Math.floor((s-65536)/1024)+55296,lo=(s-65536)%1024+56320;return String.fromCharCode(hi)+String.fromCharCode(lo)}return String.fromCharCode(s)},ns.escapeHTML=function(string){var escaped={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};return string.replace(/[&<>"']/g,function(match){return escaped[match]})},ns.unescapeHTML=function(string){var unescaped={"&amp;":"&","&#38;":"&","&#x26;":"&","&lt;":"<","&#60;":"<","&#x3C;":"<","&gt;":">","&#62;":">","&#x3E;":">","&quot;":'"',"&#34;":'"',"&#x22;":'"',"&apos;":"'","&#39;":"'","&#x27;":"'"};return string.replace(/&(?:amp|#38|#x26|lt|#60|#x3C|gt|#62|#x3E|apos|#39|#x27|quot|#34|#x22);/gi,function(match){return unescaped[match]})},ns.mapEmojioneList=function(addToMapStorage){for(var shortname in ns.emojioneList)if(ns.emojioneList.hasOwnProperty(shortname))for(var i=0,len=ns.emojioneList[shortname].unicode.length;i<len;i++){var unicode=ns.emojioneList[shortname].unicode[i];addToMapStorage(unicode,shortname)}},ns.mapUnicodeToShort=function(){return ns.memMapShortToUnicode||(ns.memMapShortToUnicode={},ns.mapEmojioneList(function(unicode,shortname){ns.memMapShortToUnicode[unicode]=shortname})),ns.memMapShortToUnicode},ns.memoizeReplacement=function(){if(!ns.unicodeReplacementRegEx||!ns.memMapShortToUnicodeCharacters){var unicodeList=[];ns.memMapShortToUnicodeCharacters={},ns.mapEmojioneList(function(unicode,shortname){var emojiCharacter=ns.convert(unicode);ns.emojioneList[shortname].isCanonical&&(ns.memMapShortToUnicodeCharacters[emojiCharacter]=shortname),unicodeList.push(emojiCharacter)}),ns.unicodeReplacementRegEx=unicodeList.join("|")}},ns.mapUnicodeCharactersToShort=function(){return ns.memoizeReplacement(),ns.memMapShortToUnicodeCharacters},ns.getUnicodeReplacementRegEx=function(){return ns.memoizeReplacement(),ns.unicodeReplacementRegEx},ns.objectFlip=function(obj){var key,tmp_obj={};for(key in obj)obj.hasOwnProperty(key)&&(tmp_obj[obj[key]]=key);return tmp_obj},ns.escapeRegExp=function(string){return string.replace(/[-[\]{}()*+?.,;:&\\^$#\s]/g,"\\$&")},ns.replaceAll=function(string,find,replacementList){var escapedFind=ns.escapeRegExp(find),search=new RegExp("<object[^>]*>.*?</object>|<span[^>]*>.*?</span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|("+escapedFind+")","gi"),replace=function(entire,m1){return"undefined"==typeof m1||""===m1?entire:replacementList[m1]};return string.replace(search,replace)}}(this.emojione=this.emojione||{}),"object"==typeof module&&(module.exports=this.emojione);var I18next={bg:{translation:{Logging_in:null,your_connection_is_unencrypted:null,your_connection_is_encrypted:null,your_buddy_closed_the_private_connection:null,start_private:null,close_private:null,your_buddy_is_verificated:null,you_have_only_a_subscription_in_one_way:null,authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:null,unencrypted_message_received:null,not_available:null,no_connection:null,relogin:null,trying_to_start_private_conversation:null,Verified:null,Unverified:null,private_conversation_aborted:null,your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:null,Creating_your_private_key_:null,Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:null,Secret:null,To_verify_the_fingerprint_:null,Your_fingerprint:null,Buddy_fingerprint:null,Close:null,Compared:null,To_authenticate_using_a_question_:null,Ask:null,To_authenticate_pick_a_secret_:null,Compare:null,Fingerprints:null,Authentication:null,Message:null,Add_buddy:null,rename_buddy:null,delete_buddy:null,Login:null,Username:null,Password:null,Cancel:null,Connect:null,Type_in_the_full_username_:null,Alias:null,Add:null,Subscription_request:null,You_have_a_request_from:null,Deny:null,Approve:null,Remove_buddy:null,You_are_about_to_remove_:null,Continue_without_chat:null,Please_wait:null,Login_failed:null,Sorry_we_cant_authentikate_:null,Retry:null,clear_history:null,New_message_from:null,Should_we_notify_you_:null,Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null,Load_older_messages:null}},"bn-BD":{translation:{Logging_in:null,your_connection_is_unencrypted:null,your_connection_is_encrypted:null,your_buddy_closed_the_private_connection:null,start_private:null,close_private:null,your_buddy_is_verificated:null,you_have_only_a_subscription_in_one_way:null,authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:null,unencrypted_message_received:null,not_available:null,no_connection:null,relogin:null,trying_to_start_private_conversation:null,Verified:null,Unverified:null,private_conversation_aborted:null,your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:null,Creating_your_private_key_:null,Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:null,Secret:null,To_verify_the_fingerprint_:null,Your_fingerprint:null,Buddy_fingerprint:null,Close:null,Compared:null,To_authenticate_using_a_question_:null,Ask:null,To_authenticate_pick_a_secret_:null,Compare:null,Fingerprints:null,Authentication:null,Message:null,Add_buddy:null,rename_buddy:null,delete_buddy:null,Login:null,Username:null,Password:null,Cancel:null,Connect:null,Type_in_the_full_username_:null,Alias:null,Add:null,Subscription_request:null,You_have_a_request_from:null,Deny:null,Approve:null,Remove_buddy:null,You_are_about_to_remove_:null,Continue_without_chat:null,Please_wait:null,Login_failed:null,Sorry_we_cant_authentikate_:null,Retry:null,clear_history:null,New_message_from:null,Should_we_notify_you_:null,Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null,Load_older_messages:null}},de:{translation:{Logging_in:"Login läuft…",your_connection_is_unencrypted:"Deine Verbindung ist unverschlüsselt.",your_connection_is_encrypted:"Deine Verbindung ist verschlüsselt.",your_buddy_closed_the_private_connection:"Dein Kontakt hat die private Verbindung getrennt.",start_private:"Privat starten",close_private:"Privat abbrechen",your_buddy_is_verificated:"Dein Kontakt ist verifiziert.",you_have_only_a_subscription_in_one_way:"Der Kontaktstatus ist einseitig.",authentication_query_sent:"Authentifizierungsanfrage gesendet.",your_message_wasnt_send_please_end_your_private_conversation:"Deine Nachricht wurde nicht gesendet. Bitte beende die private Konversation.",unencrypted_message_received:"Unverschlüsselte Nachricht erhalten.",not_available:"Nicht verfügbar.",no_connection:"Keine Verbindung.",relogin:"Neu anmelden.",trying_to_start_private_conversation:"Versuche private Konversation zu starten.",Verified:"Verifiziert",Unverified:"Unverifiziert",private_conversation_aborted:"Private Konversation abgebrochen.",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Dein Kontakt hat die private Konversation beendet. Das solltest du auch tun!",conversation_is_now_verified:"Konversation ist jetzt verifiziert",authentication_failed:"Authentifizierung fehlgeschlagen.",Creating_your_private_key_:"Wir werden jetzt deinen privaten Schlüssel generieren. Das kann einige Zeit in Anspruch nehmen.",Authenticating_a_buddy_helps_:"Einen Kontakt zu authentifizieren hilft sicherzustellen, dass die Person mit der du sprichst auch die ist die sie sagt.",How_do_you_want_to_authenticate_your_buddy:"Wie willst du __bid_name__ (<b>__bid_jid__</b>) authentifizieren?",Select_method:"Wähle...",Manual:"Manual",Question:"Frage",Secret:"Geheimnis",To_verify_the_fingerprint_:"Um den Fingerprint zu verifizieren kontaktiere dein Kontakt über einen anderen Kommunikationsweg. Zum Beispiel per Telefonanruf.",Your_fingerprint:"Dein Fingerprint",Buddy_fingerprint:"Sein/Ihr Fingerprint",Close:"Schließen",Compared:"Verglichen",To_authenticate_using_a_question_:"Um die Authentifizierung per Frage durchzuführen, wähle eine Frage bei welcher nur dein Kontakt die Antwort kennt.",Ask:"Frage",To_authenticate_pick_a_secret_:"Um deinen Kontakt zu authentifizieren, wähle ein Geheimnis welches nur deinem Kontakt und dir bekannt ist.",Compare:"Vergleiche",Fingerprints:"Fingerprints",Authentication:"Authentifizierung",Message:"Nachricht",Add_buddy:"Kontakt hinzufügen",rename_buddy:"Kontakt umbenennen",delete_buddy:"Kontakt löschen",Login:"Anmeldung",Username:"Benutzername",Password:"Passwort",Cancel:"Abbrechen",Connect:"Verbinden",Type_in_the_full_username_:"Gib bitte den vollen Benutzernamen und optional ein Alias an.",Alias:"Alias",Add:"Hinzufügen",Subscription_request:"Kontaktanfrage",You_have_a_request_from:"Du hast eine Anfrage von",Deny:"Ablehnen",Approve:"Bestätigen",Remove_buddy:"Kontakt entfernen",You_are_about_to_remove_:"Du bist gerade dabei __bid_name__ (<b>__bid_jid__</b>) von deiner Kontaktliste zu entfernen. Alle Chats werden geschlossen.",Continue_without_chat:"Weiter ohne Chat",Please_wait:"Bitte warten",Login_failed:"Chat-Anmeldung fehlgeschlagen",Sorry_we_cant_authentikate_:"Der Chatserver hat die Anmeldung abgelehnt. Falsches Passwort?",Retry:"Zurück",clear_history:"Lösche Verlauf",New_message_from:"Neue Nachricht von __name__",Should_we_notify_you_:"Sollen wir dich in Zukunft über eingehende Nachrichten informieren, auch wenn dieser Tab nicht im Vordergrund ist?",Please_accept_:'Bitte klick auf den "Zulassen" Button oben.',Hide_offline:"Offline ausblenden",Show_offline:"Offline einblenden",About:"Über",dnd:"Beschäftigt",Mute:"Ton aus",Unmute:"Ton an",Subscription:"Bezug",both:"beidseitig",Status:"Status",online:"online",chat:"chat",away:"abwesend",xa:"länger abwesend",offline:"offline",none:"keine",Unknown_instance_tag:"Unbekannter instance tag.",Not_one_of_our_latest_keys:"Nicht einer unserer letzten Schlüssel.",Received_an_unreadable_encrypted_message:"Eine unlesbare verschlüsselte Nachricht erhalten.",Online:"Online",Chatty:"Gesprächig",Away:"Abwesend",Extended_away:"Länger abwesend",Offline:"Offline",Friendship_request:"Kontaktanfrage",Confirm:"Bestätigen",Dismiss:"Ablehnen",Remove:"Löschen",Online_help:"Online Hilfe",FN:"Name",N:" ",FAMILY:"Familienname",GIVEN:"Vorname",NICKNAME:"Spitzname",URL:"URL",ADR:"Adresse",STREET:"Straße",EXTADD:"Zusätzliche Adresse",LOCALITY:"Ortschaft",REGION:"Region",PCODE:"Postleitzahl",CTRY:"Land",TEL:"Telefon",NUMBER:"Nummer",EMAIL:"E-Mail",USERID:" ",ORG:"Organisation",ORGNAME:"Name",ORGUNIT:"Abteilung",TITLE:"Titel",ROLE:"Rolle",BDAY:"Geburtstag",DESC:"Beschreibung",PHOTO:" ",send_message:"Sende Nachricht",get_info:"Benutzerinformationen",Settings:"Einstellungen",Priority:"Priorität",Save:"Speichern",User_settings:"Benutzereinstellungen",A_fingerprint_:"Ein Fingerabdruck wird dazu benutzt deinen Gesprächspartner zu identifizieren.",is:"ist",Login_options:"Anmeldeoptionen",BOSH_url:"BOSH url",Domain:"Domain",Resource:"Ressource",On_login:"Beim Anmelden",Received_an_unencrypted_message:"Unverschlüsselte Nachricht empfangen",Sorry_your_buddy_doesnt_provide_any_information:"Dein Kontakt stellt leider keine Informationen bereit.",Info_about:"Info über",Authentication_aborted:"Authentifizierung abgebrochen.",Authentication_request_received:"Authentifizierungsanfrage empfangen.",Log_in_without_chat:"Anmelden ohne Chat",has_come_online:"ist online gekommen",Unknown_sender:"Unbekannter Sender",Please_allow_access_to_microphone_and_camera:'Bitte klick auf den "Zulassen" Button oben, um den Zugriff auf Kamera und Mikrofon zu erlauben.',Incoming_call:"Eingehender Anruf",from:"von",Do_you_want_to_accept_the_call_from:"Möchtest Du den Anruf annehmen von",Reject:"Ablehnen",Accept:"Annehmen",hang_up:"Auflegen",snapshot:"Schnappschuss",mute_my_audio:"Mein Ton aus",pause_my_video:"Mein Video pausieren",fullscreen:"Vollbild",Info:"Info",Local_IP:"Lokale IP",Remote_IP:"Remote IP",Local_Fingerprint:"Lokaler Fingerprint",Remote_Fingerprint:"Remote Fingerprint",Video_call_not_possible:"Videoanruf nicht verfügbar. Dein Gesprächspartner unterstützt keine Videotelefonie.",Start_video_call:"Starte Videoanruf",Join_chat:"Gruppe beitreten",Join:"Betreten",Room:"Gruppe",Nickname:"Nickname",left_the_building:"__nickname__ hat die Gruppe verlassen",entered_the_room:"__nickname__ ist der Gruppe beigetreten",is_now_known_as:"__oldNickname__ ist nun unter __newNickname__ bekannt",This_room_is:"Diese Gruppe ist",muc_hidden:{keyword:"versteckt",description:"kann durch die Suche nicht gefunden werden"
+},muc_membersonly:{keyword:"nur für Mitglieder",description:"du musst auf der Mitgliederliste stehen"},muc_moderated:{keyword:"moderiert",description:'Nur Personen die "Mitspracherecht" haben dürfen Nachrichten senden'},muc_nonanonymous:{keyword:"nicht anonym",description:"deine Jabber ID wird für alle Mitglieder sichtbar sein"},muc_open:{keyword:"offen",description:"jeder darf dieser Gruppe beitreten"},muc_passwordprotected:{keyword:"passwortgeschützt",description:"du benötigst das korrekte Passwort"},muc_persistent:{keyword:"permanent",description:"wird nicht geschlossen, wenn das letzte Mitglied die Gruppe verlässt"},muc_public:{keyword:"öffentlich",description:"kann durch die Suche gefunden werden"},muc_semianonymous:{keyword:"teilweise anonym",description:"deine Jabber ID wird nur für die Gruppen Administratoren sichtbar sein"},muc_temporary:{keyword:"temporär",description:"wird geschlossen, wenn das letzte Mitglied die Gruppe verlässt"},muc_unmoderated:{keyword:"nicht moderiert",description:"jeder darf Nachrichten senden"},muc_unsecured:{keyword:"ungesichert",description:"es wird kein Passwort benötigt"},Continue:"Weiter",Server:"Server",Rooms_are_loaded:"Gruppen werden geladen",Could_load_only:"Es konnten nur __count__ Gruppen für die Autovervollständigung geladen werden",muc_explanation:"Bitte trage den Gruppennamen und optional ein Nickname und Passwort ein um einer Gruppe beizutreten",You_already_joined_this_room:"Du bist dieser Gruppe bereits beigetreten",This_room_will_be_closed:"Diese Gruppe wird geschlossen",Room_not_found_:"Es wird eine neue Gruppe erstellt",Loading_room_information:"Informationen über Gruppe werden geladen",Destroy:"Auflösen",Leave:"Verlassen",changed_subject_to:"__nickname__ hat das Thema auf __subject__ geändert",muc_removed_kicked:"Du wurdest aus der Gruppe entfernt",muc_removed_info_kicked:"__nickname__ wurde aus der Gruppe entfernt",muc_removed_banned:"Du wurdest aus der Gruppe ausgeschlossen",muc_removed_info_banned:"__nickname__ wurde aus der Gruppe ausgeschlossen",muc_removed_affiliation:"Du wurdest aus der Gruppe entfernt wegen einer Änderung deines Mitgliedstatus",muc_removed_info_affiliation:"__nickname__ wurde aus der Gruppe entfernt wegen einer Änderung seines Mitgliedstatus",muc_removed_membersonly:"Diese Gruppe erlaubt jetzt nur noch eingetragene Mitglieder und da du nicht dazugehörst, wurdest du aus der Gruppen entfernt",muc_removed_info_membersonly:"Diese Gruppe erlaubt jetzt nur noch eingetragene Mitglieder und __nickname__ gehört nicht dazu, daher wurde er aus der Gruppe entfernt",muc_removed_shutdown:"Du wurdest aus der Gruppe entfernt, da der MUC Server heruntergefahren wird",Reason:"Grund",message_not_send:"Deine Nachricht wurde aufgrund eines Fehlers nicht versandt","message_not_send_item-not-found":"Deine Nachricht wurde nicht versandt, da der Raum nicht mehr existiert",message_not_send_forbidden:'Deine Nachricht wurde nicht versandt, da du kein "Mitspracherecht" hast',"message_not_send_not-acceptable":"Deine Nachricht wurde nicht versandt, da du kein Mitglied dieser Gruppe bist",This_room_has_been_closed:"Diese Gruppe wurde geschlossen",Room_logging_is_enabled:"Gesprächsverlauf kann öffentlich einsehbar sein",A_password_is_required:"Es wird ein Passwort benötigt",You_are_not_on_the_member_list:"Du bist kein eingetragenes Mitglied",You_are_banned_from_this_room:"Du wurdest von dieser Gruppe ausgeschlossen",Your_desired_nickname_:"Dein gewünschter Nickname wird bereits verwendet. Bitte wähle einen anderen.",The_maximum_number_:"Die maximale Anzahl der Mitglieder wurde erreicht.",This_room_is_locked_:"Diese Gruppe ist gesperrt",You_are_not_allowed_to_create_:"Du darfst keine neue Gruppe erstellen",Alert:"Alarm",Call_started:"Anruf gestarted",Call_terminated:"Anruf beendet",Carbon_copy:"Kopie",Enable:"Aktivieren",jingle_reason_busy:"beschäftigt",jingle_reason_decline:"abgelehnt",jingle_reason_success:"aufgelegt",Media_failure:"Gerätefehler",No_local_audio_device:"Kein eigenes Audio Gerät",No_local_video_device:"Keine eigene Webcam",Ok:"Ok",PermissionDeniedError:"Du oder dein Browser haben die Audio/Video Berechtigung verweigert",Use_local_audio_device:"Nutze eigenes Audio Gerät",Use_local_video_device:"Benutze eigene Webcam",is_:"ist __status__",You_received_a_message_from_an_unknown_sender_:"Du hast eine Nachricht von einem unbekannten Absender erhalten (__sender__). Möchtest du sie sehen?",Your_roster_is_empty_add_:"Deine Kontaktliste ist leer, füge einen neuen Kontakt <a>hinzu</a>",onsmp_explanation_question:"Dein Kontakt versucht herauszufinden ob er wirklich mit dir redet. Um dich gegenüber deinem Kontakt zu verifizieren gib die Antwort ein und klick auf Antworten.",onsmp_explanation_secret:"Dein Kontakt versucht herauszufinden ob er wirklich mit dir redet. Um dich gegenüber deinem Kontakt zu verifizieren gib das Geheimnis ein.",from_sender:"von __sender__",Verified_private_conversation_started:"Verifizierte private Konversation gestartet.",Unverified_private_conversation_started:"Unverifizierte private Konversation gestartet.",Bookmark:"Lesezeichen","Auto-join":"Automatisch beitreten",Edit_bookmark:"Lesezeichen bearbeiten",Room_logging_is_disabled:"Gruppen Log ist deaktiviert","Room_is_now_non-anoymous":"Gruppe ist jetzt nicht anonym","Room_is_now_semi-anonymous":"Gruppe ist jetzt semi-anonym",Do_you_want_to_change_the_default_room_configuration:"Möchtest du die Gruppenkonfiguration ändern?",Default:"Standard",Change:"Ändern",Send_file:"Datei senden","setting-explanation-carbon":"Wenn Kopien aktiviert sind, werden alle eingehenden Nachrichten zu allen angemeldeten Clients gesendet.","setting-explanation-login":"Wenn diese Option aktiviert ist, wird der Chat beim Anmelden automatisch gestartet.","setting-explanation-priority":"Wenn du mit deinem XMPP Konto mehrfach angemeldet bist, werden Nachrichten zu dem Client mit der höchsten Priorität zugestellt.","setting-explanation-xmpp":"Diese Optionen werden für die Verbindung zum XMPP Server genutzt.",_is_composing:" tippt gerade...",_are_composing:" tippen gerade...",Chat_state_notifications:"Statusbenachrichtigungen","setting-explanation-chat-state":"Möchtest Benachrichtigungen senden und erhalten wenn du oder dein Kontakt Nachrichten tippt?",Share_screen:"Teile Bildschirm",Incoming_stream:"Eingehender Stream",Stream_started:"Stream gestarted",HTTPS_REQUIRED:"Diese Aktion erfordert eine verschlüsselte Verbindung.",EXTENSION_UNAVAILABLE:"Sie benötigen eine Browser Erweiterung.",UNKNOWN_ERROR:"Ein unbekannter Fehler ist aufgetreten.",Install_extension:"Bitte installieren Sie die Erweiterung um ihren Bildschirm zu teilen: ",Connection_accepted:"Verbindung angenommen",Stream_terminated:"Stream beendet",Close_all:"Schließe alle",Notification:"Benachrichtigung",Unreadable_OTR_message:"Unlesbare OTR Nachricht verworfen",Load_older_messages:"Lade ältere Nachrichten"}},el:{translation:{Logging_in:null,your_connection_is_unencrypted:null,your_connection_is_encrypted:null,your_buddy_closed_the_private_connection:null,start_private:null,close_private:null,your_buddy_is_verificated:null,you_have_only_a_subscription_in_one_way:null,authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:null,unencrypted_message_received:null,not_available:null,no_connection:null,relogin:null,trying_to_start_private_conversation:null,Verified:null,Unverified:null,private_conversation_aborted:null,your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:null,Creating_your_private_key_:null,Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:null,Secret:null,To_verify_the_fingerprint_:null,Your_fingerprint:null,Buddy_fingerprint:null,Close:null,Compared:null,To_authenticate_using_a_question_:null,Ask:null,To_authenticate_pick_a_secret_:null,Compare:null,Fingerprints:null,Authentication:null,Message:null,Add_buddy:null,rename_buddy:null,delete_buddy:null,Login:null,Username:null,Password:null,Cancel:null,Connect:null,Type_in_the_full_username_:null,Alias:null,Add:null,Subscription_request:null,You_have_a_request_from:null,Deny:null,Approve:null,Remove_buddy:null,You_are_about_to_remove_:null,Continue_without_chat:null,Please_wait:null,Login_failed:null,Sorry_we_cant_authentikate_:null,Retry:null,clear_history:null,New_message_from:null,Should_we_notify_you_:null,Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null,Load_older_messages:null}},en:{translation:{Logging_in:"Logging in…",your_connection_is_unencrypted:"Your connection is unencrypted.",your_connection_is_encrypted:"Your connection is encrypted.",your_buddy_closed_the_private_connection:"Your contact closed the private connection.",start_private:"Start private",close_private:"Close private",your_buddy_is_verificated:"Your contact is verified.",you_have_only_a_subscription_in_one_way:"You only have a one-way subscription.",authentication_query_sent:"Authentication query sent.",your_message_wasnt_send_please_end_your_private_conversation:"Your message was not sent. Please end your private conversation.",unencrypted_message_received:"Unencrypted message received",not_available:"Not available",no_connection:"No connection!",relogin:"relogin",trying_to_start_private_conversation:"Trying to start private conversation!",Verified:"Verified",Unverified:"Unverified",private_conversation_aborted:"Private conversation aborted!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Your contact closed the private conversation! You should do the same.",conversation_is_now_verified:"Conversation is now verified.",authentication_failed:"Authentication failed.",Creating_your_private_key_:"Creating your private key; this may take a while.",Authenticating_a_buddy_helps_:"Authenticating a contact helps ensure that the person you are talking to is really the one they claim to be.",How_do_you_want_to_authenticate_your_buddy:"How do you want to authenticate __bid_name__ (<b>__bid_jid__</b>)?",Select_method:"Select method...",Manual:"Manual",Question:"Question",Secret:"Secret",To_verify_the_fingerprint_:"To verify the fingerprint, contact your contact via some other trustworthy channel, such as the telephone.",Your_fingerprint:"Your fingerprint",Buddy_fingerprint:"Contact fingerprint",Close:"Close",Compared:"Compared",To_authenticate_using_a_question_:"To authenticate using a question, pick a question whose answer is known only you and your contact.",Ask:"Ask",To_authenticate_pick_a_secret_:"To authenticate, pick a secret known only to you and your contact.",Compare:"Compare",Fingerprints:"Fingerprints",Authentication:"Authentication",Message:"Message",Add_buddy:"Add contact",rename_buddy:"rename contact",delete_buddy:"delete contact",Login:"Login",Username:"Username",Password:"Password",Cancel:"Cancel",Connect:"Connect",Type_in_the_full_username_:"Type in the full username and an optional alias.",Alias:"Alias",Add:"Add",Subscription_request:"Subscription request",You_have_a_request_from:"You have a request from",Deny:"Deny",Approve:"Approve",Remove_buddy:"Remove contact",You_are_about_to_remove_:"You are about to remove __bid_name__ (<b>__bid_jid__</b>) from your contact list. All related chats will be closed.",Continue_without_chat:"Continue without chat",Please_wait:"Please wait",Login_failed:"Chat login failed",Sorry_we_cant_authentikate_:"Authentication failed with the chat server. Maybe the password is wrong?",Retry:"Back",clear_history:"Clear history",New_message_from:"New message from __name__",Should_we_notify_you_:"Should we notify you about new messages in the future?",Please_accept_:'Please click the "Allow" button at the top.',Hide_offline:"Hide offline contacts",Show_offline:"Show offline contacts",About:"About",dnd:"Do Not Disturb",Mute:"Mute",Unmute:"Unmute",Subscription:"Subscription",both:"both",Status:"Status",online:"online",chat:"chat",away:"away",xa:"extended away",offline:"offline",none:"none",Unknown_instance_tag:"Unknown instance tag.",Not_one_of_our_latest_keys:"Not one of our latest keys.",Received_an_unreadable_encrypted_message:"Received an unreadable encrypted message.",Online:"Online",Chatty:"Chatty",Away:"Away",Extended_away:"Extended away",Offline:"Offline",Friendship_request:"Contact request",Confirm:"Confirm",Dismiss:"Dismiss",Remove:"Remove",Online_help:"Online help",FN:"Full name",N:" ",FAMILY:"Family name",GIVEN:"Given name",NICKNAME:"Nickname",URL:"URL",ADR:"Address",STREET:"Street Address",EXTADD:"Extended Address",LOCALITY:"Locality",REGION:"Region",PCODE:"Postal Code",CTRY:"Country",TEL:"Telephone",NUMBER:"Number",EMAIL:"Email",USERID:" ",ORG:"Organization",ORGNAME:"Name",ORGUNIT:"Unit",TITLE:"Job title",ROLE:"Role",BDAY:"Birthday",DESC:"Description",PHOTO:" ",send_message:"Send message",get_info:"Show information",Settings:"Settings",Priority:"Priority",Save:"Save",User_settings:"User settings",A_fingerprint_:"A fingerprint is used to make sure that the person you are talking to is who he or she is saying.",is:"is",Login_options:"Login options",BOSH_url:"BOSH URL",Domain:"Domain",Resource:"Resource",On_login:"On login",Received_an_unencrypted_message:"Received an unencrypted message",Sorry_your_buddy_doesnt_provide_any_information:"Sorry, your contact does not provide any information.",Info_about:"Info about",Authentication_aborted:"Authentication aborted.",Authentication_request_received:"Authentication request received.",Log_in_without_chat:"Log in without chat",has_come_online:"has come online",Unknown_sender:"Unknown sender",Please_allow_access_to_microphone_and_camera:'Please click the "Allow" button at the top, to allow access to microphone and camera.',Incoming_call:"Incoming call",from:"from",Do_you_want_to_accept_the_call_from:"Do you want to accept the call from",Reject:"Reject",Accept:"Accept",hang_up:"hang up",snapshot:"snapshot",mute_my_audio:"mute my audio",pause_my_video:"pause my video",fullscreen:"fullscreen",Info:"Info",Local_IP:"Local IP",Remote_IP:"Remote IP",Local_Fingerprint:"Local fingerprint",Remote_Fingerprint:"Remote fingerprint",Video_call_not_possible:"Video call not possible. Your contact does not support video calls.",Start_video_call:"Start video call",Join_chat:"Join chat",Join:"Join",Room:"Room",Nickname:"Nickname",left_the_building:"__nickname__ left the building",entered_the_room:"__nickname__ entered the room",is_now_known_as:"__oldNickname__ is now known as __newNickname__",This_room_is:"This room is",muc_hidden:{keyword:"hidden",description:"can not be found through search"},muc_membersonly:{keyword:"members-only",description:"you need to be on the member list"},muc_moderated:{keyword:"moderated",description:'only persons with "voice" are allowed to send messages'},muc_nonanonymous:{keyword:"non-anonymous",description:"your jabber id is exposed to all other occupants"},muc_open:{keyword:"open",description:"everyone is allowed to join"},muc_passwordprotected:{keyword:"password-protected",description:"you need to provide the correct password"},muc_persistent:{keyword:"persistent",description:"will not be destroyed if the last occupant left"},muc_public:{keyword:"public",description:"can be found through search"},muc_semianonymous:{keyword:"semi-anonymous",description:"your jabber id is only exposed to room admins"},muc_temporary:{keyword:"temporary",description:"will be destroyed if the last occupant left"},muc_unmoderated:{keyword:"unmoderated",description:"everyone is allowed to send messages"},muc_unsecured:{keyword:"unsecured",description:"you need no password to enter"},Continue:"Continue",Server:"Server",Rooms_are_loaded:"Rooms are loaded",Could_load_only:"Could load only __count__ rooms for autocomplete",muc_explanation:"Please enter room name and optional a nickname and password to join a chat",You_already_joined_this_room:"You already joined this room",This_room_will_be_closed:"This room will be closed",Room_not_found_:"A new room will be created",Loading_room_information:"Loading room information",Destroy:"Destroy",Leave:"Leave",changed_subject_to:'__nickname__ changed the room subject to "__subject__"',muc_removed_kicked:"You have been kicked from the room",muc_removed_info_kicked:"__nickname__ has been kicked from the room",muc_removed_banned:"You have been banned from the room",muc_removed_info_banned:"__nickname__ has been banned from the room",muc_removed_affiliation:"You have been removed from the room, because of an affiliation change",muc_removed_info_affiliation:"__nickname__ has been removed from the room, because of an affiliation change",muc_removed_membersonly:"You have been removed from the room, because the room has been changed to members-only and you are no member",muc_removed_info_membersonly:"__nickname__ has been removed from the room, because the room has been changed to members-only and you are no member",muc_removed_shutdown:"You have been removed from the room, because the MUC service is being shut down",Reason:"Reason",message_not_send:"Your message was not send because of an error","message_not_send_item-not-found":"Your message was not send because this room does not exist",message_not_send_forbidden:"Your message was not send because you have no voice in this room","message_not_send_not-acceptable":"Your message was not send because you are no occupant of this room",This_room_has_been_closed:"This room has been closed",Room_logging_is_enabled:"Room logging is enabled",A_password_is_required:"A password is required",You_are_not_on_the_member_list:"You are not on the member list",You_are_banned_from_this_room:"You are banned from this room",Your_desired_nickname_:"Your desired nickname is already in use. Please choose another",The_maximum_number_:"The maximum number of user is reached in this room",This_room_is_locked_:"This room is locked",You_are_not_allowed_to_create_:"You are not allowed to create a room",Alert:"Alert",Call_started:"Call started",Call_terminated:"Call terminated",Carbon_copy:"Carbon copy",Enable:"Enable",jingle_reason_busy:"busy",jingle_reason_decline:"decline",jingle_reason_success:"hung up",Media_failure:"Media failure",No_local_audio_device:"No local audio device.",No_local_video_device:"No local video device.",Ok:"Ok",PermissionDeniedError:"You or your browser denied media permission",Use_local_audio_device:"Use local audio device.",Use_local_video_device:"Use local video device.",is_:"is __status__",You_received_a_message_from_an_unknown_sender_:"You received a message from an unknown sender (__sender__). Do you want to display them?",Your_roster_is_empty_add_:"Your roster is empty, add a <a>new contact</a>",onsmp_explanation_question:"Your contact is attempting to determine if they are really talking to you. To authenticate to your contact, enter the answer and click Answer.",onsmp_explanation_secret:"Your contact is attempting to determine if they are really talking to you. To authenticate to your contact, enter the secret.",from_sender:"from __sender__",Verified_private_conversation_started:"Verified private conversation started.",Unverified_private_conversation_started:"Unverified private conversation started.",Bookmark:"Bookmark","Auto-join":"Auto-join",Edit_bookmark:"Edit bookmark",Room_logging_is_disabled:"Room logging is disabled","Room_is_now_non-anoymous":"Room is now non-anonymous","Room_is_now_semi-anonymous":"Room is now semi-anonymous",Do_you_want_to_change_the_default_room_configuration:"Do you want to change the default room configuration?",Default:"Default",Change:"Change",Send_file:"Send file","setting-explanation-carbon":"With enabled carbon copy your XMPP server will send a copy of every incoming message for you to this client even if it was not addressed to it.","setting-explanation-login":"If this option is enabled, the chat will start on login.","setting-explanation-priority":"If you are logged in multiple times with the same account, your XMPP server will deliver messages to the client with the highest priority.","setting-explanation-xmpp":"These options are used to connect to the XMPP server.",_is_composing:" is composing...",_are_composing:" are composing...",Chat_state_notifications:"Chat state notifications","setting-explanation-chat-state":"Do you want to send and receive chat state notifications, like someone starts or stops composing a message?",Share_screen:"Share screen",Incoming_stream:"Incoming stream",Stream_started:"Stream started",HTTPS_REQUIRED:"This action requires an encrypted connection.",EXTENSION_UNAVAILABLE:"You need a browser extension/addon.",UNKNOWN_ERROR:"An unknown error occured.",Install_extension:"Please install the extension in order to use screen sharing: ",Connection_accepted:"Connection accepted",Stream_terminated:"Stream terminated",Close_all:"Close all",Notification:"Notification",Unreadable_OTR_message:"Unreadable OTR message omitted",Load_older_messages:"Load older messages"}},es:{translation:{Logging_in:"Por favor, espere...",your_connection_is_unencrypted:"Su conexión no está cifrada.",your_connection_is_encrypted:"Su conexión está cifrada.",your_buddy_closed_the_private_connection:"Su amigo ha cerrado la conexión privada.",start_private:"Iniciar privado",close_private:"Cerrar privado",your_buddy_is_verificated:"Tu amigo está verificado.",you_have_only_a_subscription_in_one_way:"Solo tienes una suscripción de un modo.",authentication_query_sent:"Consulta de verificación enviada.",your_message_wasnt_send_please_end_your_private_conversation:"Su mensaje no fue enviado. Por favor, termine su conversación privada.",unencrypted_message_received:"Mensaje no cifrado recibido:",not_available:"No disponible",no_connection:"¡Sin conexión!",relogin:"iniciar sesión nuevamente",trying_to_start_private_conversation:"¡Intentando iniciar una conversación privada!",Verified:"Verificado",Unverified:"No verificado",private_conversation_aborted:"¡Conversación privada abortada!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"¡Su amigo cerró la conversación privada! Usted debería hacer lo mismo.",conversation_is_now_verified:"La conversación es ahora verificada.",authentication_failed:"Falló la verificación.",Creating_your_private_key_:"Ahora vamos a crear su clave privada. Esto puede tomar algún tiempo.",Authenticating_a_buddy_helps_:"Autenticación de un amigo ayuda a garantizar que la persona que está hablando es quien él o ella está diciendo.",How_do_you_want_to_authenticate_your_buddy:"¿Cómo desea autenticar __bid_name__ (<b>__bid_jid__</b>)?",Select_method:"Escoja un método...",Manual:"Manual",Question:"Pregunta",Secret:"Secreto",To_verify_the_fingerprint_:"Para verificar la firma digital, póngase en contacto con su amigo a través de algún otro canal autenticado, como el teléfono.",Your_fingerprint:"Tu firma digital",Buddy_fingerprint:"firma digital de tu amigo",Close:"Cerrar",Compared:"Comparado",To_authenticate_using_a_question_:"Para autenticar mediante una pregunta, elegid una pregunta cuya respuesta se conoce solo usted y su amigo.",Ask:"Preguntar",To_authenticate_pick_a_secret_:"Para autenticar, elija un secreto conocido solo por usted y su amigo.",Compare:"Comparar",Fingerprints:"Firmas digitales",Authentication:"Autenticación",Message:"Mensaje",Add_buddy:"Añadir amigo",rename_buddy:"renombrar amigo",delete_buddy:"eliminar amigo",Login:"Iniciar Sesión",Username:"Usuario",Password:"Contraseña",Cancel:"Cancelar",Connect:"Conectar",Type_in_the_full_username_:"Escriba el usuario completo y un alias opcional.",Alias:"Alias",Add:"Añadir",Subscription_request:"Solicitud de suscripción",You_have_a_request_from:"Tienes una petición de",Deny:"Rechazar",Approve:"Aprobar",Remove_buddy:"Eliminar amigo",You_are_about_to_remove_:"Vas a eliminar a __bid_name__ (<b>__bid_jid__</b>) de tu lista de amigos. Todas las conversaciones relacionadas serán cerradas.",Continue_without_chat:"Continuar",Please_wait:"Espere por favor",Login_failed:"Fallo el inicio de sesión",Sorry_we_cant_authentikate_:"Lo sentimos, no podemos autentificarlo en nuestro servidor de chat. ¿Tal vez la contraseña es incorrecta?",Retry:"Reintentar",clear_history:"Borrar el historial",New_message_from:"Nuevo mensaje de __name__",Should_we_notify_you_:"¿Debemos notificarle sobre nuevos mensajes en el futuro?",Please_accept_:'Por favor, haga clic en el botón "Permitir" en la parte superior.',Hide_offline:"Ocultar contactos desconectados",Show_offline:"Mostrar contactos desconectados",About:"Acerca de",dnd:"No Molestar",Mute:"Desactivar sonido",Unmute:"Activar sonido",Subscription:"Suscripción",both:"ambos",Status:"Estado",online:"en línea",chat:"chat",away:"ausente",xa:"más ausente",offline:"desconectado",none:"nadie",Unknown_instance_tag:"Etiqueta de instancia desconocida.",Not_one_of_our_latest_keys:"No una de nuestras última claves.",Received_an_unreadable_encrypted_message:"Se recibió un mensaje cifrado ilegible.",Online:"En linea",Chatty:"Hablador",Away:"Ausente",Extended_away:"Más ausente",Offline:"Desconectado",Friendship_request:"Solicitud de amistad",Confirm:"Confirmar",Dismiss:"Rechazar",Remove:"Eliminar",Online_help:"Ayuda en línea",FN:"Nombre completo ",N:" ",FAMILY:"Apellido",GIVEN:"Nombre",NICKNAME:"Apodo",URL:"URL",ADR:"Dirección",STREET:"Calle",EXTADD:"Dirección extendida",LOCALITY:"Población",REGION:"Región",PCODE:"Código postal",CTRY:"País",TEL:"Teléfono",NUMBER:"Número",EMAIL:"Correo electrónico",USERID:" ",ORG:"Organización",ORGNAME:"Nombre",ORGUNIT:"Departamento",TITLE:"Título",ROLE:"Rol",BDAY:"Cumpleaños",DESC:"Descripción",PHOTO:" ",send_message:"mandar un texto",get_info:"obtener información",Settings:"Ajustes",Priority:"Prioridad",Save:"Guardar",User_settings:"Configuración de usuario",A_fingerprint_:"La huella digital se utiliza para que puedas estar seguro que la persona con la que estas hablando es quien realmente dice ser",is:"es",Login_options:"Opciones de login",BOSH_url:"BOSH url",Domain:"Dominio",Resource:"Recurso",On_login:"Iniciar sesión",Received_an_unencrypted_message:"Recibe un mensaje no cifrado",Sorry_your_buddy_doesnt_provide_any_information:"Lo sentimos, su amigo no provee ninguna información.",Info_about:"Info acerca de",Authentication_aborted:"Autenticación abortada",Authentication_request_received:"Pedido de autenticación recibido.",Log_in_without_chat:"Ingresar sin chat",has_come_online:"se ha conectado",Unknown_sender:"Remitente desconocido",Please_allow_access_to_microphone_and_camera:"Por favor, permitir el acceso al micrófono y la cámara.",Incoming_call:"Llamada entrante",from:"de",Do_you_want_to_accept_the_call_from:"Desea aceptar la llamada de",Reject:"Rechazar",Accept:"Aceptar",hang_up:"colgar",snapshot:"instantánea",mute_my_audio:"silenciar mi audio",pause_my_video:"pausar mi vídeo",fullscreen:"pantalla completa",Info:"Info",Local_IP:"IP local",Remote_IP:"IP remota",Local_Fingerprint:"Firma digital local",Remote_Fingerprint:"Firma digital remota",Video_call_not_possible:"Llamada de vídeo no es posible",Start_video_call:"Iniciar llamada de vídeo",Join_chat:"Unirse al chat",Join:"Unirse",Room:"Sala",Nickname:"Alias",left_the_building:"__nickname__ dejó el edificio",entered_the_room:"__nickname__ entró en la sala",is_now_known_as:"__oldNickname__ ahora es conocido como __newNickname__",This_room_is:"Esta sala es",muc_hidden:{keyword:"oculta",description:"no se encontró mediante la búsqueda"},muc_membersonly:{keyword:"miembros solo",description:"necesitas estar en la lista de miembros"},muc_moderated:{keyword:"moderada",description:'solo personas con "voice" están permitidas para mandar mensajes'
+},muc_nonanonymous:{keyword:"no anónima",description:"tu id de jabber es expuesta al resto de ocupantes"},muc_open:{keyword:"abierta",description:"todo el mundo puede unirse"},muc_passwordprotected:{keyword:"protegida por contraseña",description:"necesitas dar la contraseña correcta"},muc_persistent:{keyword:"persistente",description:"no será destruida si el último ocupante sale"},muc_public:{keyword:"pública",description:"puede ser encontrada mediante la búsqueda"},muc_semianonymous:{keyword:"semi-anónima",description:"tu id de jabber es expuesta a los administradores de la sala"},muc_temporary:{keyword:"temporal",description:"será destruida si el último ocupante sale"},muc_unmoderated:{keyword:"no moderada",description:"todo el mundo puede enviar mensajes"},muc_unsecured:{keyword:"sin asegurar",description:"no necesitas contraseña para entrar"},Continue:"Continuar",Server:"Servidor",Rooms_are_loaded:"Las salas han sido cargadas",Could_load_only:"Se cargaron solo __count__ salas para el autocompletado",muc_explanation:"Por favor introduce el nombre de la sala, un alias opcional y una contraseña para unirse al chat",You_already_joined_this_room:"Ya te has unido a esta sala",This_room_will_be_closed:"Esta sale será cerrada",Room_not_found_:"Sala no encontrada",Loading_room_information:"Cargando información de la sala",Destroy:"Destruir",Leave:"Abandonar",changed_subject_to:'__nickname__ cambió el asunto de la sala a "__subject__"',muc_removed_kicked:"Has sido echado de la sala",muc_removed_info_kicked:"__nickname__ ha sido echado de la sala",muc_removed_banned:"Has sido expulsado de la sala",muc_removed_info_banned:"__nickname__ ha sido expulsado",muc_removed_affiliation:"Has sido eliminado de la sala debido a un cambio en la afiliación",muc_removed_info_affiliation:"__nickname__ ha sido eliminado de la sala debido a un cambio en la afiliación",muc_removed_membersonly:"Has sido eliminado de la sala debido a que la sala ha sido cambiada a miembros solo y tú no eres un miembro",muc_removed_info_membersonly:"__nickname__ ha sido eliminado de la sala debido a que la sala ha sido cambiada a miembros solo y tú no eres un miembro",muc_removed_shutdown:"Has sido eliminado de la sala debido a que el servicio MUC está siendo apagado",Reason:"Razón",message_not_send:"Tu mensaje no fue enviado debido a un error","message_not_send_item-not-found":"Tu mensaje no fue enviado debido a que esta sala no existe",message_not_send_forbidden:"Tu mensaje no fue enviado debido a que no tienes voz en esta sala","message_not_send_not-acceptable":"Tu mensaje no fue enviado debido a que no eres un ocupante de esta sala ",This_room_has_been_closed:"Esta sala ha sido cerrada",Room_logging_is_enabled:"Log de sala está habilitado",A_password_is_required:"Se requiere una contraseña",You_are_not_on_the_member_list:"No estás en la lista de miembros",You_are_banned_from_this_room:"Estás expulsado de esta sala",Your_desired_nickname_:"Tu alias ya está en uso. Por favor elige otro",The_maximum_number_:"El máximo número de usuarios ha sido alcanzado en esta sala",This_room_is_locked_:"Esta sala está bloqueada",You_are_not_allowed_to_create_:"No tienes permiso para crear una sala",Alert:"Alerta",Call_started:"Llamada empezada",Call_terminated:"Llamada terminada",Carbon_copy:"Calco",Enable:"Activar",jingle_reason_busy:"ocupado",jingle_reason_decline:"rechazar",jingle_reason_success:"colgar",Media_failure:"Fallo multimedia",No_local_audio_device:"No hay dispositivo de audio local",No_local_video_device:"No hay dispositivo de vídeo local",Ok:"Ok",PermissionDeniedError:"Tú o tu navegador denegaron el permiso de audio/vídeo",Use_local_audio_device:"Usar dispositivo de audio local",Use_local_video_device:"Usar dispositivo de vídeo",is_:"es __status__",You_received_a_message_from_an_unknown_sender_:"Ha recibido un mensaje de un remitente desconocido (__sender__) ¿Quiere mostrarlos?",Your_roster_is_empty_add_:"Tu lista de amigos esta vacía, añadir un <a>nuevo amigo</a>",onsmp_explanation_question:"Tu amigo está tratando de determinar si él o ella está realmente hablando con usted. Para autenticar a su amigo, introduce la respuesta y haga clic en Contestar.",onsmp_explanation_secret:"Tu amigo está tratando de determinar si él o ella está realmente hablando con usted. Para autenticar a su amigo, especifique el secreto.",from_sender:"de __sender__",Verified_private_conversation_started:"Verificado se inició una conversación privada.",Unverified_private_conversation_started:"No verificado se inició una conversación privada.",Bookmark:"Favorito","Auto-join":"Auto-unir",Edit_bookmark:"Editar favorito",Room_logging_is_disabled:"Log de sala está deshabilitado","Room_is_now_non-anoymous":"La sala es ahora no anónima","Room_is_now_semi-anonymous":"La sale es ahora semi-anónima",Do_you_want_to_change_the_default_room_configuration:"¿Quieres cambiar la configuración por defecto de la sala?",Default:"Por defecto",Change:"Cambiar",Send_file:"Enviar archivo","setting-explanation-carbon":"Con el Calco habilitado tu servidor XMPP enviará una copia de cada mensaje entrante dirigido a ti a este cliente incluso si no estaba siendo enviado a él","setting-explanation-login":"Si esta opción está habilitada, el chat empezará al inicio de sesión","setting-explanation-priority":"Si tú has iniciado sesión varias veces con la misma cuenta, tu servidor XMPP enviará los mensajes al cliente con la mayor prioridad","setting-explanation-xmpp":"Estas opciones son usadas para conectar con el servidor XMPP",_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null,Load_older_messages:null}},fi:{translation:{Logging_in:null,your_connection_is_unencrypted:null,your_connection_is_encrypted:null,your_buddy_closed_the_private_connection:null,start_private:null,close_private:null,your_buddy_is_verificated:null,you_have_only_a_subscription_in_one_way:null,authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:null,unencrypted_message_received:null,not_available:null,no_connection:null,relogin:null,trying_to_start_private_conversation:null,Verified:null,Unverified:null,private_conversation_aborted:null,your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:null,Creating_your_private_key_:null,Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:null,Secret:null,To_verify_the_fingerprint_:null,Your_fingerprint:null,Buddy_fingerprint:null,Close:null,Compared:null,To_authenticate_using_a_question_:null,Ask:null,To_authenticate_pick_a_secret_:null,Compare:null,Fingerprints:null,Authentication:null,Message:null,Add_buddy:null,rename_buddy:null,delete_buddy:null,Login:null,Username:null,Password:null,Cancel:null,Connect:null,Type_in_the_full_username_:null,Alias:null,Add:null,Subscription_request:null,You_have_a_request_from:null,Deny:null,Approve:null,Remove_buddy:null,You_are_about_to_remove_:null,Continue_without_chat:null,Please_wait:null,Login_failed:null,Sorry_we_cant_authentikate_:null,Retry:null,clear_history:null,New_message_from:null,Should_we_notify_you_:null,Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null,Load_older_messages:null}},fr:{translation:{Logging_in:"Connexion...",your_connection_is_unencrypted:"Connexion non chiffrée.",your_connection_is_encrypted:"Connexion chiffrée.",your_buddy_closed_the_private_connection:"Votre contact a fermé la connexion privée.",start_private:"Démarrer une conversation privée",close_private:"Clôturer une conversation privée",your_buddy_is_verificated:"Votre contact est vérifié.",you_have_only_a_subscription_in_one_way:"Vous ne pouvez souscrire qu'une fois.",authentication_query_sent:"Requête d’authentification envoyée.",your_message_wasnt_send_please_end_your_private_conversation:"Votre message n'a pas été envoyé. Veuillez terminer votre conversation privée.",unencrypted_message_received:"Message non chiffré reçu",not_available:"Non disponible",no_connection:"Pas de connexion !",relogin:"Re-connexion",trying_to_start_private_conversation:"Essai de démarrage d'une conversation privée !",Verified:"Vérifié",Unverified:"Non vérifié",private_conversation_aborted:"Conversation privée interrompue !",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Votre contact a fermé la conversation privée ! Vous devriez faire de même.",conversation_is_now_verified:"La conversation est maintenant vérifiée.",authentication_failed:"L'authentification a échoué.",Creating_your_private_key_:"Création de votre clé privée; cela peut prendre un moment.",Authenticating_a_buddy_helps_:"L'authentification d'un contact permet de s'assurer que la personne à qui vous parlez est vraiment celui qu'il ou elle prétend être.",How_do_you_want_to_authenticate_your_buddy:"Comment voulez-vous vous authentifier __bid_name__ (<b>__bid_jid__</b>)?",Select_method:"Sélection de la méthode...",Manual:"Manuel",Question:"Question",Secret:"Sécurité",To_verify_the_fingerprint_:"Pour vérifier l'empreinte, joignez votre contact via un autre canal digne de confiance, tel que le téléphone.",Your_fingerprint:"Votre empreinte",Buddy_fingerprint:"Empreinte du contact",Close:"Fermer",Compared:"Comparé",To_authenticate_using_a_question_:"Pour s'authentifier à l'aide d'une question, choisissez une question dont la réponse n'est connue que vous et de votre contact.",Ask:"Demander",To_authenticate_pick_a_secret_:"Pour vous authentifier, choisissez un secret connu seulement de vous et de votre contact.",Compare:"Comparer",Fingerprints:"Empreintes",Authentication:"Authentification",Message:"Message",Add_buddy:"Ajouter un contact",rename_buddy:"Renommer le contact",delete_buddy:"Supprimer le contact",Login:"Connexion",Username:"Nom d'utilisateur",Password:"Mot de passe",Cancel:"Annuler",Connect:"Connecter",Type_in_the_full_username_:"Tapez un nom d'utilisateur complet et un alias(optionnel).",Alias:"Alias",Add:"Ajouter",Subscription_request:"Demande d'abonnement",You_have_a_request_from:"Vous avez une requête de ",Deny:"Refuser",Approve:"Approuver",Remove_buddy:"Supprimer le contact",You_are_about_to_remove_:"Vous allez retirer __bid_name__ (<b>__bid_jid__</b>) de votre liste de contacts. Toutes les fenêtres de discussion en lien avec celui-ci seront fermées.",Continue_without_chat:"Continuer sans tchat",Please_wait:"Merci de patienter",Login_failed:"Authentification échouée",Sorry_we_cant_authentikate_:"La connexion avec le serveur de tchat a échoué. Vérifiez le mot de passe.",Retry:"Retour",clear_history:"Effacer l’historique",New_message_from:"Nouveau message de __name__",Should_we_notify_you_:"Dans le futur, devrons-nous vous notifier les nouveaux messages ?",Please_accept_:'Merci de cliquer sur le bouton "autoriser" en haut de page',Hide_offline:"Masquer les contacts non connectés",Show_offline:"Afficher les contacts non connectés",About:"À propos",dnd:"Ne pas déranger",Mute:"Muet",Unmute:"Son actif",Subscription:"Abonnement",both:"Les deux",Status:"Statut",online:"En ligne",chat:"tchat",away:"Absent",xa:"Longue absence",offline:"Hors ligne",none:"Aucun",Unknown_instance_tag:"Tag inconnu",Not_one_of_our_latest_keys:"Ce n'est pas l'une des dernières touches",Received_an_unreadable_encrypted_message:"Message chiffré non lisible",Online:"En ligne",Chatty:"Libre pour discuter",Away:"Absent",Extended_away:"Longue absence",Offline:"Hors ligne",Friendship_request:"Demande de contact",Confirm:"Valider",Dismiss:"Rejeter",Remove:"Supprimer",Online_help:"Aide en ligne",FN:"Nom",N:" N ",FAMILY:"Nom de famille",GIVEN:"prénom",NICKNAME:"Pseudo",URL:"URL",ADR:"Adresse",STREET:"Rue",EXTADD:"Adresse (suite)",LOCALITY:"Localité",REGION:"Région",PCODE:"Code Postal",CTRY:"Pays",TEL:"Téléphone",NUMBER:"Numéro",EMAIL:"Courriel",USERID:" USERID ",ORG:"Organisation",ORGNAME:"Nom",ORGUNIT:"Unité",TITLE:"Qualité:",ROLE:"Rôle",BDAY:"Date de naissance",DESC:"Description",PHOTO:"Photo",send_message:"Envoyer un message",get_info:"Montrer les informations",Settings:"Réglages",Priority:"Priorité",Save:"Enregistrer",User_settings:"Paramètres utilisateur",A_fingerprint_:"Une empreinte est utilisée pour s'assurer de l'identité de la personne à qui vous parlez",is:"est",Login_options:"Options d'identification",BOSH_url:"URL BOSH",Domain:"Domaine",Resource:"Ressource",On_login:"Après authentification",Received_an_unencrypted_message:"Reçu un message non chiffré",Sorry_your_buddy_doesnt_provide_any_information:"Désolé, votre contact n'a pas fourni d'informations",Info_about:"À propos de",Authentication_aborted:"Authentification interrompue.",Authentication_request_received:"Requête d'authentification reçue.",Log_in_without_chat:"S'identifier sans tchat",has_come_online:"vient d'arriver",Unknown_sender:"Expéditeur inconnu",Please_allow_access_to_microphone_and_camera:'Veuillez cliquez sur le bouton "Autoriser" en haut, pour permettre l\'accès au micro et à la caméra.',Incoming_call:"Appel entrant",from:"de",Do_you_want_to_accept_the_call_from:"Voulez-vous accepter l'appel de",Reject:"Rejeté",Accept:"Accepté",hang_up:"raccrocher",snapshot:"Capture d’écran",mute_my_audio:"Couper l'audio",pause_my_video:"Mettre ma vidéo en pause",fullscreen:"Plein écran",Info:"Info",Local_IP:"IP locale",Remote_IP:"IP distante",Local_Fingerprint:"Empreinte locale",Remote_Fingerprint:"Empreinte distante",Video_call_not_possible:"L'appel vidéo n'est possible. Votre contact ne supporte pas les appels vidéo.",Start_video_call:"Démarrer l'appel vidéo",Join_chat:"Joindre la discussion",Join:"Joindre",Room:"Salon",Nickname:"Pseudo",left_the_building:"__nickname__ a quitté l'immeuble",entered_the_room:"__nickname__ entre dans le salon",is_now_known_as:"__oldNickname__ est maintenant connu comme __newNickname__",This_room_is:"Ce salon est",muc_hidden:{keyword:"caché",description:"ne peut être trouvé avec une recherche"},muc_membersonly:{keyword:"pour les membres seulement",description:"Vous devez être sur la liste des membres"},muc_moderated:{keyword:"modéré",description:'Seulement les personnes avec la "voix" sont autorisés à envoyer des messages'},muc_nonanonymous:{keyword:"non anonyme",description:"Votre identifiant Jabber est visible de tous les autres occupants"},muc_open:{keyword:"ouvert",description:"Tout le monde est autorisé à se connecter"},muc_passwordprotected:{keyword:"protégé par un mot de passe",description:"Vous devez fournir un mot de passe correct"},muc_persistent:{keyword:"persistent",description:"ne sera pas détruit si le dernier occupant part"},muc_public:{keyword:"public",description:"peut être touvé avec une recherche"},muc_semianonymous:{keyword:"semi-anonyme",description:"Votre identifiant Jabber est seulement visible aux administrateurs de ce salon"},muc_temporary:{keyword:"temporaire",description:"sera détruit au départ de son dernier occupant"},muc_unmoderated:{keyword:"non modéré",description:"Tout le monde est autorisé à envoyer des messages"},muc_unsecured:{keyword:"non sécurisé",description:"un mot de passe n'est pas nécessaire pour entrer"},Continue:"Continuer",Server:"Serveur",Rooms_are_loaded:"Les salons sont chargés",Could_load_only:"Ne peut charger que __count__ salons pour l'autocomplétion",muc_explanation:"Veuillez saisir le nom du salon, un surnom (optionnel) et un mot de passe pour joindre la conversation",You_already_joined_this_room:"Vous avez déjà rejoint ce salon",This_room_will_be_closed:"Ce salon va être fermé",Room_not_found_:"Un nouveau salon va être créé",Loading_room_information:"Chargement des informations du salon",Destroy:"Détruire",Leave:"Quitter",changed_subject_to:'__nickname__ a changé le sujet du salon à "__subject__"',muc_removed_kicked:"Vous avez été éjecté de ce salon",muc_removed_info_kicked:"__nickname__ a été éjecté de ce salon",muc_removed_banned:"Vous avez été banni de ce salon",muc_removed_info_banned:"__nickname__ a été banni de ce salon",muc_removed_affiliation:"Vous avez été retiré du salon en raison d'un changement d'affiliation",muc_removed_info_affiliation:"__nickname__ a été retiré du salon en raison d'un changement d'affiliation",muc_removed_membersonly:"Vous avez été retiré du salon parce que celui-ci est maintenant réservé aux membres et vous n'en faites pas partie",muc_removed_info_membersonly:"__nickname__ a été retiré du salon parce que celui-ci est maintenant réservé aux membres",muc_removed_shutdown:"Vous avez été retiré du salon parce que le service de salon de discussion est en train de s'éteindre",Reason:"Raison",message_not_send:"Votre message n'a pu être envoyé a cause d'une erreur","message_not_send_item-not-found":"Votre message n'a pu être envoyé parce que ce salon n'existe pas",message_not_send_forbidden:"Votre message n'a pas été envoyé parce que vous n'avez pas le droit de parler dans ce salon","message_not_send_not-acceptable":"Votre message n'a pas été envoyé car il n'y a personne dans ce salon",This_room_has_been_closed:"Ce salon a été fermé",Room_logging_is_enabled:"L'historique du salon est conservé",A_password_is_required:"Un mot de passe est requis",You_are_not_on_the_member_list:"Vous n'êtes pas sur la liste des membres",You_are_banned_from_this_room:"Vous avez été banni de ce salon",Your_desired_nickname_:"Votre pseudo souhaité est déjà utilisé. Veuillez en choisir un autre",The_maximum_number_:"Le nombre maximum d'utilisateurs est atteint dans ce salon",This_room_is_locked_:"Ce salon est verrouillé",You_are_not_allowed_to_create_:"Vous n'êtes pas autorisé à créer un salon",Alert:"Alerte",Call_started:"Appel démarré",Call_terminated:"Appel terminé",Carbon_copy:"Copie carbone",Enable:"Activé",jingle_reason_busy:"occupé",jingle_reason_decline:"refusé",jingle_reason_success:"raccroché",Media_failure:"échec du média",No_local_audio_device:"Pas de périphérique audio local",No_local_video_device:"Pas de périphérique vidéo local",Ok:"Ok",PermissionDeniedError:"Vous ou votre navigateur avez refusé de donner des permissions audio/vidéo",Use_local_audio_device:"Utiliser un périphérique audio local.",Use_local_video_device:"Utiliser un périphérique vidéo local.",is_:"est __status__",You_received_a_message_from_an_unknown_sender_:"Vous avez reçu un message d'un expéditeur inconnu (__sender__) Voulez-vous les afficher ?",Your_roster_is_empty_add_:"Votre liste est vide, ajouter <a>Nouveau contact</a>",onsmp_explanation_question:"Votre contact tente de déterminer si il ou elle vous parle vraiment. Pour vous authentifier auprès de votre contact, saisissez une réponse et cliquez sur Répondre.",onsmp_explanation_secret:"Votre contact tente de déterminer si il ou elle parle vraiment à vous. Pour vous authentifier auprès de votre contact, entrez le mot secret",from_sender:"de __sender__",Verified_private_conversation_started:"La conversation privée vérifiée a démarré.",Unverified_private_conversation_started:"La conversation privée non vérifiée a démarré.",Bookmark:"Marque-page","Auto-join":"Joindre automatiquement",Edit_bookmark:"Éditer le marque-page",Room_logging_is_disabled:"La connexion au salon est désactivée","Room_is_now_non-anoymous":"Ce salon n'est désormais plus anonyme","Room_is_now_semi-anonymous":"Ce salon est désormais semi-anonyme",Do_you_want_to_change_the_default_room_configuration:"Voulez-vous changer la configuration par défaut du salon ?",Default:"Par défaut",Change:"Changer",Send_file:"Envoyer un fichier","setting-explanation-carbon":"Avec la copie carbone activé, votre serveur XMPP envera une copie de tous les messages entrant qui vous sont destiné à ce client, même s'il ne lui sont pas directement addressés.","setting-explanation-login":"Si cette option est activé, le chat commencera lorsque vous vos connectez.","setting-explanation-priority":"Si vous êtes connecté plusieurs fois avec le même compte, votre serveur XMPP enverra les messages au client ayant le plus haute priorité.","setting-explanation-xmpp":"Ces options sont utilisées pour se connecter au serveur XMPP.",_is_composing:" est en train d'écrire...",_are_composing:" sont en train d'écrire...",Chat_state_notifications:"Notifications de composition","setting-explanation-chat-state":"Voulez-vous envoyer et recevoir les notifications de composition, comme lorsque quelqu'un commence ou arrête d'écrire un message ?",Share_screen:"Ecran partagé",Incoming_stream:"Flux entrant",Stream_started:"flux démarré",HTTPS_REQUIRED:"Cette action nécessite une connexion cryptée.",EXTENSION_UNAVAILABLE:"Vous avez besoin d'une extension / d'un addon pour votre navigateur.",UNKNOWN_ERROR:"Une erreur inconnue s'est produite.",Install_extension:"Veuillez installer l'extension afin d'utiliser le partage d'écran: ",Connection_accepted:"Connexion acceptée",Stream_terminated:"Flux terminé",Close_all:"Tout fermer",Notification:"Notification",Unreadable_OTR_message:"Message OTR illisible omis",Load_older_messages:"Charger des messages plus anciens"}},"hu-HU":{translation:{Logging_in:null,your_connection_is_unencrypted:"Az Ön kapcsolata titkosítatlan.",your_connection_is_encrypted:"Az Ön kapcsolata titkosított.",your_buddy_closed_the_private_connection:"Partnere megszakította a privát kapcsolatot.",start_private:"Privát beszélgetés indítása",close_private:"Privát beszélgetés bezárása",your_buddy_is_verificated:"Az Ön partnere megerősítve.",you_have_only_a_subscription_in_one_way:null,authentication_query_sent:"Azonosítási kérelem elküldve.",your_message_wasnt_send_please_end_your_private_conversation:"Az üzenetet nem sikerült elküldeni. Kérem fejezze be a privát beszélgetést.",unencrypted_message_received:"Titkosítatlan üzenet fogadva",not_available:"Nem elérhető",no_connection:"Nincs kapcsolat!",relogin:"relogin",trying_to_start_private_conversation:"Privát beszélgetés indítása!",Verified:"Megerősítve",Unverified:"Nem megerősített",private_conversation_aborted:"Privát beszélgetés megszakítva!",your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:"Azonosítás sikertelen.",Creating_your_private_key_:"Privát kulcs generálása. Egy kis időbe telhet...",Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:"Kérdés",Secret:"Kulcs",To_verify_the_fingerprint_:null,Your_fingerprint:"Az Ön lenyomata",Buddy_fingerprint:"Partnere lenyomata",Close:"Bezárás",Compared:"Összehasonlítva",To_authenticate_using_a_question_:"Az azonosításhoz adjon meg egy kérdést, amelyre a választ csak Ön és Partnere ismerhetik.",Ask:"Kérdez",To_authenticate_pick_a_secret_:"Az azonosításhoz adjon meg egy titkot, amelyet csak Ön és Partnere ismerhetnek.",Compare:"Összehasonlítás",Fingerprints:"Lenyomatok",Authentication:"Azonosítás",Message:"Üzenet",Add_buddy:"Partner hozzáadása",rename_buddy:"Partner átnevezése",delete_buddy:"Partner törlése",Login:"Belépés",Username:"Felhasználónév",Password:"Jelszó",Cancel:"Mégsem",Connect:"Csatlakozás",Type_in_the_full_username_:"Adjon meg egy teljes felhasználónevet, és egy opcionális becenevet.",Alias:"Becenév",Add:"Hozzáadás",Subscription_request:"Feliratkozási kérelem",You_have_a_request_from:"Ön felkérést kapott a következőtől",Deny:"Elutasít",Approve:"Jóváhagy",Remove_buddy:"Partner eltávolítása",You_are_about_to_remove_:null,Continue_without_chat:"Folytatás chat nélkül",Please_wait:"Kérem várjon",Login_failed:"Chat bejelentkezés sikertelen",Sorry_we_cant_authentikate_:null,Retry:"Vissza",clear_history:"Előzmények törlése",New_message_from:"Új üzenet __name__ partnerétől",Should_we_notify_you_:"Kívánja hogy értesítsük a jövőben új üzeneteiről?",Please_accept_:'Kérem kattintson a fent megjelenő "Engedélyez" gombra.',Hide_offline:"Offline partnerek elrejtése",Show_offline:"Offline partnerek mutatása",About:null,dnd:"Ne zavarj",Mute:"Némítás",Unmute:"Hangok engedélyezése",Subscription:null,both:"mindkettő",Status:"Állapot",online:"elérhető",chat:null,away:"távol",xa:"huzamosabban távol",offline:"offline",none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:"Teljes név",N:null,FAMILY:"Családi név",GIVEN:"Keresztnév",NICKNAME:"Becenév",URL:"URL",ADR:"Cím",STREET:"Utcanév",EXTADD:"Cím",LOCALITY:"Helység",REGION:"Régió",PCODE:"Irányítószám",CTRY:"Ország",TEL:"Telefonszám",NUMBER:"Házszám",EMAIL:"E-mail cím",USERID:null,ORG:"Vállalat",ORGNAME:"Név",ORGUNIT:"Osztály",TITLE:"Beosztás",ROLE:"Részleg",BDAY:"Születésnap",DESC:"Leírás",PHOTO:null,send_message:"Üzenet küldése",get_info:"Info mutatása",Settings:"Beállítások",Priority:"Prioritás",Save:"Mentés",User_settings:"Felhasználó beállítások",A_fingerprint_:null,is:null,Login_options:"Bejelentkezési lehetőségek",BOSH_url:"BOSH URL",Domain:"Domain",Resource:"Erőforrás",On_login:"Bejelentkezéskor",Received_an_unencrypted_message:"Titkosítatlan üzenetet fogadott",Sorry_your_buddy_doesnt_provide_any_information:"Sajnos az Ön partnere nem adott meg semmilyen információt.",Info_about:null,Authentication_aborted:"Azonosítás megszakítva.",Authentication_request_received:"Azonosítási kérelem fogadva.",Log_in_without_chat:"Bejelentkezés chat nélkül",has_come_online:"bejelentkezett",Unknown_sender:"Ismeretlen küldő",Please_allow_access_to_microphone_and_camera:'Kérem kattintson a fent megjelenő "Engedélyez/Allow" gombra hogy hozzáférést biztosítson mikrofonjához és kamerájához.',Incoming_call:"Bejövő hívás",from:"tőle",Do_you_want_to_accept_the_call_from:"Szeretné fogadni következő partnere hívását:",Reject:"Elutasít",Accept:"Fogadás",hang_up:"tartás",snapshot:"képernyőfotó",mute_my_audio:"hangom némítása",pause_my_video:"videóképem megállítása",fullscreen:"teljes képernyő",Info:"Info",Local_IP:"Helyi IP",Remote_IP:"Távoli IP",Local_Fingerprint:"Helyi lenyomat",Remote_Fingerprint:"Távoli lenyomat",Video_call_not_possible:"Videóhívás nem lehetséges. Az Ön partnerének készüléke nem támogatja a videóhívásokat.",Start_video_call:"Videóhívás indítása",Join_chat:"Belépés a chatbe",Join:"Belépés",Room:"Szoba",Nickname:"Becenév",left_the_building:"__nickname__ elhagyta az épületet.",entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,
+muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null,Load_older_messages:null}},it:{translation:{Logging_in:"login…",your_connection_is_unencrypted:"La sua connessione è non cifrata.",your_connection_is_encrypted:"La sua connessione è cifrata.",your_buddy_closed_the_private_connection:"La sua connessione privata è stato chiuso dal suo compagno.",start_private:"Inizia privata",close_private:"Chiude privata",your_buddy_is_verificated:"Il tuo compagno è stato verificato",you_have_only_a_subscription_in_one_way:"Hai solo una one-way inscrizione.",authentication_query_sent:"Domanda d'autenticità inviata.",your_message_wasnt_send_please_end_your_private_conversation:"Il tuo messaggio non è stato inviato. Si prega di finire la sua conversazione privata.",unencrypted_message_received:"Messaggio non cifrato ricevuto",not_available:"non disponibile",no_connection:"nessun collegamento!",relogin:"nuovo login",trying_to_start_private_conversation:"Cercando di avviare una conversazione privata!",Verified:"verificato",Unverified:"non verificato",private_conversation_aborted:"Conversazione privata abortito!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Il tuo compagno ha chiuso la conversazione privata! Si dovrebbe fare lo stesso.",conversation_is_now_verified:"Conversazione è ora verificato.",authentication_failed:"autenticazione fallita.",Creating_your_private_key_:"Creare la propria chiave privata; questo potrebbe richiedere un po'.",Authenticating_a_buddy_helps_:"Autenticazione un compagno aiuta a garantire che la persona si sta parlando è davvero quello che lui o lei sostiene di essere.",How_do_you_want_to_authenticate_your_buddy:"Come si desidera autenticare __bid_name__ (<b>__bid_jid__</b>)?",Select_method:"Seleziona metodo ..",Manual:"manuale",Question:"domanda",Secret:"segreto",To_verify_the_fingerprint_:"Per verificare l'impronta digitale, contattare il proprio compagno attraverso qualche altro canale affidabile, come il telefono.",Your_fingerprint:"il tuo impronta digitale",Buddy_fingerprint:"impronta digitale da compagno",Close:"chiude",Compared:"comparato",To_authenticate_using_a_question_:"Per autenticare tramite una questione, scegli una questione la cui risposta è nota solo voi e il tuo compagno",Ask:"chiedi",To_authenticate_pick_a_secret_:"Per autenticare, scegli un segreto noto solo a te e il tuo compagno.",Compare:"Comparare",Fingerprints:"Impronta digitale",Authentication:"Autenticazione",Message:"Messagio",Add_buddy:"Aggiungi un compagno",rename_buddy:"rinomina compagno",delete_buddy:"elimina compagno",Login:"Login",Username:"Identificazione dell'utente",Password:"Password",Cancel:"Cancella",Connect:"Collega",Type_in_the_full_username_:"Digita l'identificazione utente completo e un alias opzionale.",Alias:"Alias",Add:"Aggiungi",Subscription_request:"Rrichiesta di sottoscrizione",You_have_a_request_from:"Hai una richiesta da",Deny:"Refiuta",Approve:"Approva",Remove_buddy:"Rimuova il compagno",You_are_about_to_remove_:"Stai rimovendo __bid_name__ (<b>__bid_jid__</b>) del suo lista di compagni. Tutte le chat appartenente saranno chiuse.",Continue_without_chat:"Continua senza chat",Please_wait:"Si prega d'attendere",Login_failed:"Chat login è fallito",Sorry_we_cant_authentikate_:"Autenticazione non riuscita con il server di chat. Forse la password è sbagliata?",Retry:"Indietro",clear_history:"Cancella la cronologia",New_message_from:"Nuovo messaggio da __name__",Should_we_notify_you_:"Vuoi ricevere una notifica di nuovi messaggi in futuro?",Please_accept_:'Si prega di fare clic sul bottone "Autorizzazione" sopra.',Hide_offline:"Nascondere i contatti non in linea",Show_offline:"Mostra i contatti non in linea",About:"Informazione legale",dnd:"Non disturbare",Mute:"Muto attivo",Unmute:"Muto inattivo",Subscription:"Sottoscrizione",both:"etrambi",Status:"Status",online:"In linea",chat:"chat",away:"via",xa:"via estensivo",offline:"non in linea",none:"nessuno",Unknown_instance_tag:"Instance tag sconosciuta.",Not_one_of_our_latest_keys:"Non è una delle nostre ultime chiavi.",Received_an_unreadable_encrypted_message:"Ricevuto un messaggio crittografato illeggibile.",Online:"In linea",Chatty:"Chiacchierino",Away:"Via",Extended_away:"Via estensivo",Offline:"Non in linea",Friendship_request:"Amicizia richiesto",Confirm:"Conferma",Dismiss:"Rifiuta",Remove:"Rimuovi",Online_help:"Guida in linea",FN:"Nome e cognome",N:null,FAMILY:"Cognome",GIVEN:"Nome",NICKNAME:"Soprannome",URL:"URL",ADR:"Indirizzo",STREET:"Via",EXTADD:"Esteso Indirizzo",LOCALITY:"Località",REGION:"Regione",PCODE:"Codice Postale",CTRY:"Paese",TEL:"Telefono",NUMBER:"Numero",EMAIL:"E-mail",USERID:null,ORG:"Organizzazione",ORGNAME:"Nome",ORGUNIT:"Unità",TITLE:"Titolo di lavoro",ROLE:"Funzione",BDAY:"Compleanno",DESC:"Descrizione",PHOTO:null,send_message:"Messagio inviato",get_info:"Mostra informazioni",Settings:"Impostazione",Priority:"Priorità",Save:"Salva",User_settings:"Impostazione dell'utente",A_fingerprint_:"Una impronta digitale è usato per assicurarsi che la persona con cui stai parlando è lui o lei che sta dicendo.",is:"è",Login_options:"Opzioni di login",BOSH_url:"BOSH URL",Domain:"Domain",Resource:"Risorsa",On_login:"Login on",Received_an_unencrypted_message:"Ricevuto un messaggio non crittografato",Sorry_your_buddy_doesnt_provide_any_information:"Spiace, il tuo compagno non fornisce alcuna informazione.",Info_about:"Informazioni",Authentication_aborted:"Autenticazione interrotta",Authentication_request_received:"Richiesta di autenticazione ricevuto.",Log_in_without_chat:"Log in senza chat",has_come_online:"È venuto in linea",Unknown_sender:"Mittente sconosciuto",Please_allow_access_to_microphone_and_camera:'Si prega di fare clic sul bottone "Autorizzazione" sopra per autorizzazione del l\'accesso al microfono e fotocamera.',Incoming_call:"Chiamata in arrivo",from:"di",Do_you_want_to_accept_the_call_from:"Vuoi accettare la chiamata di",Reject:"Rifiuta",Accept:"Accetta",hang_up:"Riattacca",snapshot:"istantanea",mute_my_audio:"disattiva il mio audio",pause_my_video:"pausa il mio audio",fullscreen:"schermo intero",Info:"Informazione",Local_IP:"IP locale",Remote_IP:"IP remoto",Local_Fingerprint:"Impronta digitale locale",Remote_Fingerprint:"Impronta digitale remoto",Video_call_not_possible:"Videochiamata non è possibile. Il tuo compagno non può effettuare videochiamate.",Start_video_call:"Inizia videochiamata",Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:"è __status__",You_received_a_message_from_an_unknown_sender_:"Hai ricevuto un messaggio da un mittente sconosciuto (__sender__) Vuoi che venga visualizzato?",Your_roster_is_empty_add_:"Il suo elenco è vuoto, aggiungi un <a>compagno nuovo</a>",onsmp_explanation_question:"Il tuo compagno sta cercando di determinare se lui o lei sta davvero parlando con te. Per autenticare a il tuo compagno. inserisci la risposta e fare click su risposta.",onsmp_explanation_secret:"Il tuo compagno sta cercando di determinare se lui o lei sta davvero parlando con te. Per autenticare a il tuo compagno. inserire il segreto.",from_sender:"di __sender__",Verified_private_conversation_started:"verificato Conversazione privata iniziato.",Unverified_private_conversation_started:"non verificato Conversazione privata iniziato.",Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null,Load_older_messages:null}},nds:{translation:{Logging_in:null,your_connection_is_unencrypted:null,your_connection_is_encrypted:null,your_buddy_closed_the_private_connection:null,start_private:null,close_private:null,your_buddy_is_verificated:null,you_have_only_a_subscription_in_one_way:null,authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:null,unencrypted_message_received:null,not_available:null,no_connection:null,relogin:null,trying_to_start_private_conversation:null,Verified:null,Unverified:null,private_conversation_aborted:null,your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:null,Creating_your_private_key_:null,Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:null,Secret:null,To_verify_the_fingerprint_:null,Your_fingerprint:null,Buddy_fingerprint:null,Close:null,Compared:null,To_authenticate_using_a_question_:null,Ask:null,To_authenticate_pick_a_secret_:null,Compare:null,Fingerprints:null,Authentication:null,Message:null,Add_buddy:null,rename_buddy:null,delete_buddy:null,Login:null,Username:null,Password:null,Cancel:null,Connect:null,Type_in_the_full_username_:null,Alias:null,Add:null,Subscription_request:null,You_have_a_request_from:null,Deny:null,Approve:null,Remove_buddy:null,You_are_about_to_remove_:null,Continue_without_chat:null,Please_wait:null,Login_failed:null,Sorry_we_cant_authentikate_:null,Retry:null,clear_history:null,New_message_from:null,Should_we_notify_you_:null,Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null}},"nl-NL":{translation:{Logging_in:"Inloggen…",your_connection_is_unencrypted:"Je verbinding is niet versleuteld.",your_connection_is_encrypted:"Je verbinding is versleuteld.",your_buddy_closed_the_private_connection:"Je contactpersoon sloot de prive-verbinding.",start_private:"start privé",close_private:"Sluit privé",your_buddy_is_verificated:"Je contactpersoon is geverifieerd.",you_have_only_a_subscription_in_one_way:"Je hebt een eenrichtingsabonnement.",authentication_query_sent:"Verificatie vraag gestuurd.",your_message_wasnt_send_please_end_your_private_conversation:"Je bericht is niet verzonden. Beëindig prive gesprek.",unencrypted_message_received:"Ongecodeerde bericht ontvangen",not_available:"Niet beschikbaar",no_connection:"Geen Niet verbinding!",relogin:"opnieuw inloggen",trying_to_start_private_conversation:"Proberen om privé-gesprek te beginnen!",Verified:"Geverifieerd",Unverified:"Ongeverifieerd",private_conversation_aborted:"Privé-gesprek afgebroken!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Je contact sloot het Privé-gesprek! Doe hetzelfde.",conversation_is_now_verified:"Gesprek is geverifieerd.",authentication_failed:"Verificatie mislukt.",Creating_your_private_key_:"Een persoonlijke sleutel maken. Dit kan een tijdje duren.",Authenticating_a_buddy_helps_:"Authenticatie met een contact helpt ervoor te zorgen dat de persoon met wie u praat echt de persoon is die ze beweert te zijn.",How_do_you_want_to_authenticate_your_buddy:"Hoe wilt u verificeren __bid_name__ (<b>__bid_jid__</b>)?",Select_method:"Selectie methode...",Manual:"Handleiding",Question:"Vraag",Secret:"Geheim",To_verify_the_fingerprint_:"Neem via een ander betrouwbaar kanaal, contact op met uw gesprekspartner om de vingerafdruk te controleren. Bijvoorbeeld per telefoon.",Your_fingerprint:"Jou vingerafdruk",Buddy_fingerprint:"Contact vingerafdruk",Close:"Sluiten",Compared:"Vergeleken",To_authenticate_using_a_question_:"Gebruik een vraag om te verificeren, neem een antwoord alleen bekend bij u en uw contact.",Ask:"Vraag",To_authenticate_pick_a_secret_:"Voor verificatie, kies een geheim alleen bekend is bij u en uw contact.",Compare:"Vergelijk",Fingerprints:"Vingerafdrukken",Authentication:"Verificatie",Message:"Bericht",Add_buddy:"Contact toevoegen",rename_buddy:"contact hernoemen",delete_buddy:"contact verwijderen",Login:"Login",Username:"Gebruikersnaam",Password:"Paswoord",Cancel:"Annuleer",Connect:"Verbind",Type_in_the_full_username_:"Vul de volledige gebruikersnaam en een optionele alias in.",Alias:"Alias",Add:"Voeg toe",Subscription_request:"Abonnementsverzoek",You_have_a_request_from:"Je hebt een uitnodiging van",Deny:"Ontken",Approve:"Toestaan",Remove_buddy:"contact verwijderen",You_are_about_to_remove_:null,Continue_without_chat:"Doorgaan zonder chat",Please_wait:"Even geduld",Login_failed:"Chat login mislukt",Sorry_we_cant_authentikate_:"Verificatie is mislukt met de chatserver. Is het paswoord fout?",Retry:"Terug",clear_history:"Wis geschiedenis",New_message_from:"Nieuw bericht van__name__",Should_we_notify_you_:"Zullen wij u notificeren over nieuwe berichten in de toekomst?",Please_accept_:null,Hide_offline:"Offline contacten verbergen",Show_offline:"Offline contacten weergeven",About:"Over",dnd:"Niet storen",Mute:"Dempen aan",Unmute:"Dempen uit",Subscription:"Abonnement",both:"Beide",Status:"Status",online:"online",chat:"chat",away:"Afwezig",xa:"langer afwezig",offline:"offline",none:"geen",Unknown_instance_tag:"Voorbeeld tag onbekend.",Not_one_of_our_latest_keys:"Niet één van onze laatste sleutels.",Received_an_unreadable_encrypted_message:"Een niet leesbare versleuteld bericht ontvangen.",Online:"Online",Chatty:"Spraakzaam",Away:"Afwezig",Extended_away:"Langer afwezig",Offline:"Offline",Friendship_request:"Contact verzoek",Confirm:"Bevestig",Dismiss:"Afwijzen",Remove:"Verwijder",Online_help:"Online hulp",FN:"Volledige naam",N:null,FAMILY:"Familienaam",GIVEN:"Voornaam",NICKNAME:"Bijnaam",URL:"URL",ADR:"Adres",STREET:"Adres",EXTADD:"Uitgebreid adres",LOCALITY:null,REGION:"Regio",PCODE:"Postcode",CTRY:"Land",TEL:"Telefoon",NUMBER:"Nummer",EMAIL:"E-mail",USERID:null,ORG:"Organisatie",ORGNAME:"Naam",ORGUNIT:"Afdeling",TITLE:"functietitel",ROLE:"Functie",BDAY:"Verjaardag",DESC:"Beschrijving",PHOTO:null,send_message:"Zend bericht",get_info:"Gegevens weergeven",Settings:"Instellingen",Priority:"Prioriteit",Save:"Opslaan",User_settings:"Gebruikersinstellingen",A_fingerprint_:"Een vingerafdruk wordt gebruikt om er zeker van te zijn dat uw gesprekspartner ook is wie hij of zij zegt te zijn.",is:"is",Login_options:"Login options",BOSH_url:"BOSH URL",Domain:"Domein",Resource:"Bron",On_login:"Tijdens login",Received_an_unencrypted_message:"Een niet-versleuteld bericht ontvangen",Sorry_your_buddy_doesnt_provide_any_information:"Sorry, je contact verschaft geen informatie.",Info_about:"Gegevens van",Authentication_aborted:"Verificatie afgebroken.",Authentication_request_received:"Authenticatie verzoek ontvangen.",Log_in_without_chat:"Zonder chat inloggen",has_come_online:"is online gekomen",Unknown_sender:"Afzender onbekend",Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:"van",Do_you_want_to_accept_the_call_from:null,Reject:"Weiger",Accept:"Aanvaard",hang_up:"ophangen",snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:"volledige scherm",Info:"Info",Local_IP:"Lokaal IP",Remote_IP:"Extern IP",Local_Fingerprint:"Lokale vingerafdruk",Remote_Fingerprint:"Afstand vingerafdruk",Video_call_not_possible:null,Start_video_call:null,Join_chat:"Neem deel aan chat",Join:"Meedoen",Room:"Kamer",Nickname:"Bijnaam",left_the_building:null,entered_the_room:"__nickname__kwam de kamer binnen",is_now_known_as:null,This_room_is:"Deze kamer is",muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:"Je Jabber id is alleen vrijgegeven voor kamer beheerders"},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:"Kamers zijn geladen",Could_load_only:"Alleen aanvullen voor__count__kamers",muc_explanation:"Vul de kamernaam, optioneel een bijnaam en wachtwoord in om deel te nemen een chat",You_already_joined_this_room:"Je bent al verbonden met deze kamer",This_room_will_be_closed:"De kamer wordt gesloten",Room_not_found_:"Een nieuwe kamer wordt aangemaakt",Loading_room_information:"Kamer informatie laden",Destroy:null,Leave:null,changed_subject_to:'__nickname__veranderde het onderwerp van de kamer naar "__subject__"',muc_removed_kicked:"Je bent afgemeld van de kamer",muc_removed_info_kicked:"__nickname__is uit de kamer gegooid",muc_removed_banned:"Je bent uit de kamer gezet",muc_removed_info_banned:"__nickname__is uit de kamer gezet",muc_removed_affiliation:"Je bent verwijderd van de kamer door een verwantschap wijziging",muc_removed_info_affiliation:"__nickname__is verwijderd van de kamer door een verwantschap wijziging",muc_removed_membersonly:null,muc_removed_info_membersonly:"__nickname__is verwijderd van de kamer, door de wijziging naar alleen voor leden. Je hebt geen lidmaatschap.",muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:"Deze kamer is gesloten",Room_logging_is_enabled:"Kamerlog is ingeschakeld",A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:"Je bent uit deze kamer gezet",Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:"Deze kamer is afgesloten",You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:"U ontvangt een bericht van een onbekende afzender (__sender__). Wilt u om het weergeven?",Your_roster_is_empty_add_:null,onsmp_explanation_question:"Je contact probeert te bepalen of ze echt met jou praten. Voer om te verifiëren naar uw contact het antwoord in.",onsmp_explanation_secret:"U contact probeert te bepalen of ze echt met jou praten. Voer om te verifiëren naar uw contact het geheim in.",from_sender:"van__sender__",Verified_private_conversation_started:"Privé-gesprek geverifieerd gestart.",Unverified_private_conversation_started:"Privé-gesprek ongeverifieerd gestart.",Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:"Kamerlog is uitgeschakeld","Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":"Met ingeschakeld carbon kopie zal de XMPP server een kopie van elk inkomend bericht doorsturen naar deze cliënt, zelfs als het niet aan haar is gericht.","setting-explanation-login":"Wanneer ingeschakeld zal de chat starten bij het inloggen.","setting-explanation-priority":"Je XMPP dienst zal een prioriteitsbericht verzenden wanneer je meerdere keren ingelogd bent met hetzelfde account.","setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:"Scherm delen",Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:"Installeer extensie om scherm delen te gebruiken: ",Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null,Load_older_messages:null}},pl:{translation:{Logging_in:"Logowanie...",your_connection_is_unencrypted:"Twoje połączenie nie jest szyfrowane.",your_connection_is_encrypted:"Twoje połączenie jest szyfrowane.",your_buddy_closed_the_private_connection:"Twój rozmówca zamknął połączenie.",start_private:"Rozpocznij rozmowę.",close_private:"Zakończ rozmowę.",your_buddy_is_verificated:"Twój rozmówca został zweryfikowany.",you_have_only_a_subscription_in_one_way:"Posiadasz tylko jednostronną subskrypcję.",authentication_query_sent:"Wysłano proźbę o autentykację.",your_message_wasnt_send_please_end_your_private_conversation:"Twoja wiadomość nie została wysłana. Proszę, zamknij rozmowę.",unencrypted_message_received:"Otrzymano niezaszyfrowaną wiadomość.",not_available:"Niedostępny.",no_connection:"Brak połączenia!",relogin:"Połącz ponownie",trying_to_start_private_conversation:"Rozpocznij rozmowę!",Verified:"Zweryfikowano",Unverified:"Niezweryfikowano",private_conversation_aborted:"Anulowano rozmowę!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Rozmówca przerwał połączenie! Powinieneś zrobić to samo.",conversation_is_now_verified:"Zweryfikowano połączenie.",authentication_failed:"Weryfikacja się nie powiodła.",Creating_your_private_key_:"Tworzenie klucza prywatnego; może to chwilę potrwać",Authenticating_a_buddy_helps_:"Autoryzacja pomoże w ustaleniu faktycznej tożsamości rozmówcy ;).",How_do_you_want_to_authenticate_your_buddy:"Jakiej autoryzacji chcesz użyć __bid_name__ (<b>__bid_jid__</b>)?",Select_method:"Wybierz sposób...",Manual:"Ręcznie",Question:"Pytanie",Secret:"Hasło",To_verify_the_fingerprint_:"Aby zweryfikować kod, najpierw skontaktuj się z rozmówcą za pomocą zaufanego sposobu, np telefonu.",Your_fingerprint:"Twój kod:",Buddy_fingerprint:"Kod kontaktu",Close:"Zamknij",Compared:"Porównano",To_authenticate_using_a_question_:"Aby autoryzować za pomocą pytania, wybierz pytanie na które tylko ty i twój rozmówca zna odpowiedź.",Ask:"Zadaj pytanie",To_authenticate_pick_a_secret_:"Aby autoryzować za pomocą hasła, wybierz hasło na które znasz tylko Ty i twój rozmówca.",Compare:"Dopasuj",Fingerprints:"Kody autoryzacyjne",Authentication:"Autoryzacja",Message:"Wiadomość",Add_buddy:"Dodaj kontakt",rename_buddy:"Zmień nazwę kontaktu",delete_buddy:"Usuń kontakt",Login:"Login",Username:"Nazwa Użytkownika",Password:"Hasło",Cancel:"Anuluj",Connect:"Połączenie",Type_in_the_full_username_:"Wpisz pełną nazwę użytkownika (np. <B>imię.nazwisko@zajezdnia.local</B>) oraz jego nazwę wyświetlaną (Alias).",Alias:"Alias",Add:"Dodaj",Subscription_request:"Potwierdzenie subskrypcji",You_have_a_request_from:"Masz potwierdzenie od",Deny:"Odmów",Approve:"Zatwierdź",Remove_buddy:"Usuń kontakt",You_are_about_to_remove_:"Chcesz usunąć __bid_name__ (<b>__bid_jid__</b>) z twojej listy kontaktów. Wszystkie powiązane rozmowy zostaną zamknięte.",Continue_without_chat:"Kontynuuj bez komunikatora",Please_wait:"Proszę czekać",Login_failed:"Błędne logowanie",Sorry_we_cant_authentikate_:"Błędna autoryzacja z serwerem. Może hasło jest nieprawidłowe?",Retry:"Powrót",clear_history:"Wyczyść historię",New_message_from:"Nowa wiadomość od __name__",Should_we_notify_you_:"Czy chcesz otrzymywać powiadomienia o nowych wiadomościach w przyszłości?",Please_accept_:'Kliknij "Zezwól" na górze.',Hide_offline:"Schowaj niedostępne kontakty",Show_offline:"Pokaż niedostępne kontakty",About:"Info",dnd:"Nie przeszkadzać",Mute:"Wycisz",Unmute:"Włącz dźwięk",Subscription:"Subskrybcja",both:"obustronna",Status:"Status",online:"Dostępny",chat:"czat",away:"z dala od kompa",xa:"hen hen...",offline:"niedostępny",none:"brak",Unknown_instance_tag:"Nieznany przypadek.",Not_one_of_our_latest_keys:"Not one of our latest keys.",Received_an_unreadable_encrypted_message:"Otrzymano nieczytelną, zaszyfrowaną wiadomość.",Online:"Połączony",Chatty:"Pogawędzimy?",Away:"Daleko",Extended_away:"Hen Hen...",Offline:"Niedostępny",Friendship_request:"Prośba o kontakt",Confirm:"Potwierdzenie",Dismiss:"Odwołaj",Remove:"Usuń",Online_help:"Pomoc Online",FN:"Pełna nazwa",N:" ",FAMILY:"Nazwisko",GIVEN:"Imię",NICKNAME:"Pseudonim",
+URL:"Strona WWW",ADR:"Adres",STREET:"Ulica",EXTADD:"Pełny adres",LOCALITY:"Lokalizacja",REGION:"Region",PCODE:"Kod pocztowy",CTRY:"Kraj",TEL:"Telefon",NUMBER:"Numer",EMAIL:"Email",USERID:" ",ORG:"Organizacja",ORGNAME:"Nazwa",ORGUNIT:"Jednostka",TITLE:"Stanowisko",ROLE:"Rola",BDAY:"Data urodzin",DESC:"Opis",PHOTO:" ",send_message:"Wyślij wiadomość",get_info:"Pokaż informację",Settings:"Ustawienia",Priority:"Priorytet",Save:"Zapisz",User_settings:"Ustawienia Użytkownika",A_fingerprint_:"Kod służy do autoryzacji Twojego rozmówcy aby potwierdzić jego tożsamość.",is:"jest",Login_options:"opcje logowania",BOSH_url:"Adres BOSH",Domain:"Domena",Resource:"Źródło",On_login:"Na login",Received_an_unencrypted_message:"Zatwierdzono nieszyfrowaną wiadomość.",Sorry_your_buddy_doesnt_provide_any_information:"Wybacz, twój rozmówca nie posiada żadnych informacji.",Info_about:"Informacja o...",Authentication_aborted:"Autoryzacja anulowana.",Authentication_request_received:"Prośba o autoryzację została przyjęta.",Log_in_without_chat:"Zaloguj bez komunikatora",has_come_online:"jest teraz dostępny",Unknown_sender:"Nieznany nadawca",Please_allow_access_to_microphone_and_camera:'Kliknij "Potwierdź" na górze, aby móc korzystać z mikrofonu oraz kamery.',Incoming_call:"Przychodzące połączenie",from:"z",Do_you_want_to_accept_the_call_from:"Akceptujesz połączenie od",Reject:"Odrzuć",Accept:"Zaakceptuj",hang_up:"odbierz",snapshot:"zrób zdjęcie",mute_my_audio:"wycisz dźwięk",pause_my_video:"zatrzymaj moje wideo",fullscreen:"Pełny ekran",Info:"Informacja",Local_IP:"Adres IP",Remote_IP:"Zdalny adres IP",Local_Fingerprint:"Kod lokalny",Remote_Fingerprint:"Zdalny kod",Video_call_not_possible:"Rozmowa wideo jest niemożliwa. Twój rozmówca nie ma możliwości prowadzenia takich rozmów.",Start_video_call:"Rozpocznij rozmowę wideo",Join_chat:"Dołącz do czata",Join:"Dołącz",Room:"Pokój",Nickname:"Nazwa użytkownika",left_the_building:"__nickname__ wyszedł",entered_the_room:"__nickname__ wszedł do pokoju",is_now_known_as:"__oldNickname__ zmienił nazwę na __newNickname__",This_room_is:"Ten pokój jest",muc_hidden:{keyword:"ukryty",description:"nie można odnaleźć elementów wyszukiwania"},muc_membersonly:{keyword:"tylko zalogowani",description:"musisz być członkiem listy"},muc_moderated:{keyword:"moderowano",description:'tylko osoby z opcją "głos" mogą wysyłać wiadomość'},muc_nonanonymous:{keyword:"nie-anonimowy",description:"Twój identyfikator jabber jest widoczny dla wszystkich innych osób"},muc_open:{keyword:"otwarty",description:"wszyscy mają pozwolenie aby dołączyć"},muc_passwordprotected:{keyword:"ograniczone hasłem",description:"musisz wpisać prawidłowe hasło"},muc_persistent:{keyword:"trwale",description:"nie zostaną zniszczone, jeśli ostatnia osoba wyszła"},muc_public:{keyword:"publiczny",description:"wyszukawno"},muc_semianonymous:{keyword:"pół-anonimowy",description:"Twój identyfikator jabber jest widoczny w pokoju adminów"},muc_temporary:{keyword:"tymczasowy",description:"zostanie usunięty jeżeli ostatnia osoba wyjdzie"},muc_unmoderated:{keyword:"niemoderowany",description:"wszyscy są uprawnieni do pisania wiadomości"},muc_unsecured:{keyword:"niezabezpieczone",description:"nie musisz wpisywać hasła"},Continue:"Kontynuuj",Server:"Serwer",Rooms_are_loaded:"Pokoje zostały załadowane",Could_load_only:"Nie załadowano __count__ pokoi",muc_explanation:"Aby się zalogować, wpisz nazwę pokoju oraz opcjonalnie nazwę użytkownika i hasło",You_already_joined_this_room:"Już dołączyłeś do tego pokoju",This_room_will_be_closed:"Ten pokój będzie zamknięty",Room_not_found_:"Nowy pokój będzie stworzony",Loading_room_information:"Ładowani informacji o pokoju",Destroy:"Zniszczony",Leave:"Opuść",changed_subject_to:'__nickname__ zmienił temat pokoju na "__subject__"',muc_removed_kicked:"Zostałeś wyrzucony z pokoju",muc_removed_info_kicked:"__nickname__ został wyrzucony z pokoju",muc_removed_banned:"Zostałeś zbanowany",muc_removed_info_banned:"__nickname__ został zbanowany",muc_removed_affiliation:"Zostałeś usunięty z pokoju ze względu na zmianę przynależnosci",muc_removed_info_affiliation:"__nickname__ został usunięty z pokoju ze względu na zmianę przynależnosci",muc_removed_membersonly:"Zostałeś usunięty z pokoju ze względu na zmianę pokoju tylko dla członków, a Ty nie jesteś członkiem...",muc_removed_info_membersonly:"__nickname__ został usunięty z pokoju ze względu na zmianę pokoju na tylko dla członków",muc_removed_shutdown:"Zostałeś usunięty z pokoju ze względu na zamknięcie usługi",Reason:"Powód",message_not_send:"Wystąpił błąd i twoja wiadomość nie została wysłana.","message_not_send_item-not-found":"Twoja wiadomość nie została wysłana ponieważ ten pokój nie istnieje",message_not_send_forbidden:"Twoja wiadomość nie została wysłana ponieważ nie masz głosu w tym pokoju","message_not_send_not-acceptable":"Twoja wiadomość nie została wysłana ponieważ nie jesteś właścicielem tego pokoju",This_room_has_been_closed:"Ten pokój został zamknięty",Room_logging_is_enabled:"Logowanie do pokoju jest włączone",A_password_is_required:"Hasło jest wymagane",You_are_not_on_the_member_list:"Nie jesteś na liście członków",You_are_banned_from_this_room:"Zostałeś zbanowany w tym pokoju",Your_desired_nickname_:"Twoja nazwa użytkownika jest już użyta. Spróbuj wybrać inną",The_maximum_number_:"Została osiągnięta maksymalna liczba użytkowników w tym pokoju",This_room_is_locked_:"Ten pokój jest zablokowany",You_are_not_allowed_to_create_:"Nie masz uprawnień do tworzenia pokoju",Alert:"Alarm",Call_started:"Rozmowa rozpoczęta",Call_terminated:"Rozmowa zakończona",Carbon_copy:"Do wiadomości",Enable:"Włączone",jingle_reason_busy:"zajęte",jingle_reason_decline:"odmów",jingle_reason_success:"zakończono",Media_failure:"Błąd mediów",No_local_audio_device:"Brak lokalnego urządzenia audio.",No_local_video_device:"Brak lokalnego urządzenia wideo.",Ok:"Ok",PermissionDeniedError:"Ty lub twoja przeglądarka odmówiła dostępu do audio/video",Use_local_audio_device:"Użyj lokalnego urządzenia audio.",Use_local_video_device:"Użyj lokalnego urządzenia wideo.",is_:"jest __status__",You_received_a_message_from_an_unknown_sender_:"Masz wiadomość od nieznanego nadawcy. (__sender__) Chcesz to wyświetlić?",Your_roster_is_empty_add_:"Twoja lista jest pusta, dodaj kontakty <a>Nowy kontakt</a>",onsmp_explanation_question:"Twój rozmówca próbuje się z Tobą połączyć. Autoryzacja z rozmówcą, napisz odpowiedź.",onsmp_explanation_secret:"Twój rozmówca próbuje się z Tobą połączyć. Autoryzacja z rozmówcą, wpisz hasło.",from_sender:"z __sender__",Verified_private_conversation_started:"Zweryfikowano Rozmowa prywatna rozpoczęta.",Unverified_private_conversation_started:"Niezweryfikowano Rozmowa prywatna rozpoczęta.",Bookmark:"Zakładka","Auto-join":"Auto-połączenie",Edit_bookmark:"Edytuj zakładkę",Room_logging_is_disabled:"Logowanie pokoju jest wyłączone","Room_is_now_non-anoymous":"Pokój jest teraz nie-anonimowy","Room_is_now_semi-anonymous":"Pokój jest teraz pół-anonimowy",Do_you_want_to_change_the_default_room_configuration:"Chcesz zmienić domyślną konfigurację pokoju?",Default:"Domyślny",Change:"Zmień",Send_file:"Wyślij plik","setting-explanation-carbon":null,"setting-explanation-login":"Jeżeli ta opcja jest włączona, czat uruchomi się przy zalogowaniu.","setting-explanation-priority":"Jeżeli jesteś zalogowany wiele razy na to samo konto twój serwer XMPP dostarczy wiadomości do klienta z najwyższym priorytetem.","setting-explanation-xmpp":"Te ustawienia używane są do połączenia z serwerem XMPP.",_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null,Load_older_messages:null}},"pt-BR":{translation:{Logging_in:"Entrando...",your_connection_is_unencrypted:"Sua conexão não é encriptada",your_connection_is_encrypted:"Sua conexão é encriptada",your_buddy_closed_the_private_connection:"Seu contato fechou a conexão privada",start_private:"Iniciar conversa privada",close_private:"Fechar conversa privada",your_buddy_is_verificated:"Seu contato está verificado",you_have_only_a_subscription_in_one_way:"Você só tem a inscrição one-way",authentication_query_sent:"Pergunta de autenticação enviada",your_message_wasnt_send_please_end_your_private_conversation:"Sua mensagem não foi enviada. Por favor finalize sua conversa privada",unencrypted_message_received:"Mensagem não encriptada recebida",not_available:"Indisponível",no_connection:"Sem conexão!",relogin:"reentrar",trying_to_start_private_conversation:"Tentando iniciar conversa privada",Verified:"Verificado",Unverified:"Não verificado",private_conversation_aborted:"Conversa privada abortada!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Seu contato encerrou a conversa privada! Você deveria fazer o mesmo.",conversation_is_now_verified:"Conversa verificada.",authentication_failed:"Autenticação falhou.",Creating_your_private_key_:"Criando sua chave privada: isso pode demorar um pouco.",Authenticating_a_buddy_helps_:"Autenticar seu contato ajuda a garantir que a pessoa com a qual você está falando é realmente a pessoa que ela alega ser.",How_do_you_want_to_authenticate_your_buddy:"Como você gostaria de se autenticar __bid_name__ (<b>__bid_jid__</b>)?",Select_method:"Selecione o método...",Manual:"Manual",Question:"Pergunta",Secret:"Senha",To_verify_the_fingerprint_:"Para verificar o fingerprint, entre em contato com seu contato usando outro meio, de preferência seguro, como o telefone.",Your_fingerprint:"Sua impressão digital",Buddy_fingerprint:"Impressão digital do contato",Close:"Fechar",Compared:"Comparado",To_authenticate_using_a_question_:"Para autenticar seu contato faça uma pergunta, mas escolha que só ele saiba a resposta.",Ask:"Pergunta",To_authenticate_pick_a_secret_:"Para autenticar, escolha um segredo que somente você e seu contato saibam.",Compare:"Compare",Fingerprints:"Impressões digitais",Authentication:"Autenticação",Message:"Mensagem",Add_buddy:"Adicionar contato",rename_buddy:"renomear contato",delete_buddy:"remover contato",Login:"Entrar",Username:"Usuário",Password:"Senha",Cancel:"Cancelar",Connect:"Conectar",Type_in_the_full_username_:"Digite seu nome completo e um apelido opcional.",Alias:"Apelido",Add:"Adicionar",Subscription_request:"Pedido de inscrição",You_have_a_request_from:"Você tem um pedido de",Deny:"Negar",Approve:"Aprovar",Remove_buddy:"Remover contato",You_are_about_to_remove_:"Você está prestes a remover __bid_name__ (<b>__bid_jid__</b>) de sua lista de contatos. Todas as conversas serão fechadas.",Continue_without_chat:"Continue sem converar",Please_wait:"Por favor aguarde",Login_failed:"Autenticação da conversa falhou",Sorry_we_cant_authentikate_:"A autenticação com o servidor falhou. Talvez seja a senha errada?",Retry:"Voltar",clear_history:"Limpar histórico",New_message_from:"Nova mensagem de __name__",Should_we_notify_you_:"Devemos continuar notificando sobre novas mensagens no futuro?",Please_accept_:'Por favor clique no botão "Permitir" na parte superior.',Hide_offline:"Esconder contatos desconectados",Show_offline:"Mostrar contatos desconectados",About:"Sobre",dnd:"Não perturbe",Mute:"Mudo",Unmute:"Ligar",Subscription:"Inscrição",both:"ambos",Status:"Status",online:"online",chat:"conversa",away:"ausente",xa:"ausente por mais tempo",offline:"desativado",none:"nenhum",Unknown_instance_tag:"Marcação desconhecida da instância",Not_one_of_our_latest_keys:"Nenhuma de nossas ultimas chaves.",Received_an_unreadable_encrypted_message:"Mensagem encriptada ilegível foi recebida.",Online:"Online",Chatty:"Tagarela",Away:"Ausente",Extended_away:"Ausente por mais tempo",Offline:"Desativado",Friendship_request:"Pedido de amizade",Confirm:"Confirmar",Dismiss:"Ignorar",Remove:"Remover",Online_help:"Ajuda online",FN:"Nome completo",N:" ",FAMILY:"Sobrenome",GIVEN:"Nome",NICKNAME:"Apelido",URL:"URL",ADR:"Endereço",STREET:"Rua, Av, etc",EXTADD:"Complemento",LOCALITY:"Localidade",REGION:"Região",PCODE:"CEP",CTRY:"País",TEL:"Telefone",NUMBER:"Número",EMAIL:"Email",USERID:" IDUsuário",ORG:"Empresa",ORGNAME:"Nome",ORGUNIT:"Unidade",TITLE:"Cargo",ROLE:"Função",BDAY:"Data de nascimento",DESC:"Descrição",PHOTO:"Foto",send_message:"Enviar mensagem",get_info:"Exibir informações",Settings:"Configurações",Priority:"Prioridade",Save:"Salvar",User_settings:"Configurações do usuário",A_fingerprint_:"O fingerprint é usado para certificar que a pessoa com a qual se está falando é que ela diz ser.",is:"é",Login_options:"Opções de login",BOSH_url:"BOSH URL",Domain:"Domínio",Resource:"Recurso",On_login:"Ao autenticar",Received_an_unencrypted_message:"Mensagem não encriptada recebida",Sorry_your_buddy_doesnt_provide_any_information:"Desculpe, seu contato não forneceu nenhuma informação",Info_about:"Informações sobre",Authentication_aborted:"Autenticação encerrada.",Authentication_request_received:"Pedido de autenticação recebido",Log_in_without_chat:"Entrar sem conversar",has_come_online:"ficou online",Unknown_sender:"Emissor desconhecido",Please_allow_access_to_microphone_and_camera:'Por favor clique no botão "Permitir" no topo, para conceder acesso ao seu microfone e câmera.',Incoming_call:"Recebendo chamada",from:"de",Do_you_want_to_accept_the_call_from:"Você aceita a chamada de",Reject:"Negar",Accept:"Aceitar",hang_up:"desligar",snapshot:"registrar imagem",mute_my_audio:"mudo",pause_my_video:"pausar vídeo",fullscreen:"tela cheia",Info:"Informações",Local_IP:"IP local",Remote_IP:"IP remoto",Local_Fingerprint:"Fingerprint local",Remote_Fingerprint:"Fingerprint remoto",Video_call_not_possible:"Chamada de vídeo impossível. Seu contato não suporta chamadas desse tipo.",Start_video_call:"Iniciar chamada de vídeo",Join_chat:"Entrar no chat",Join:"Entrar",Room:"Sala",Nickname:"Apelido",left_the_building:"__nickname__ deixou o prédio",entered_the_room:"__nickname__ entrou na sala",is_now_known_as:"__oldNickname__ agora é conhecido como __newNickname__",This_room_is:"Esta sala é",muc_hidden:{keyword:"oculto",description:"Não pode ser encontrado através de pesquisa"},muc_membersonly:{keyword:"apenas para membros",description:"você precisa estar na lista de membros"},muc_moderated:{keyword:"moderado",description:'Somente pessoas com "voice" podem enviar mensagens'},muc_nonanonymous:{keyword:"não-anônimo",description:"Seu id jabber esta esposto para todos os outros ocupantes"},muc_open:{keyword:"abrir",description:"Todos podem entrar"},muc_passwordprotected:{keyword:"protegido por senha",description:"você precisa fornecer a senha correta"},muc_persistent:{keyword:"persistente",description:"Não será destruída se o último ocupante tiver saído"},muc_public:{keyword:"público",description:"pode ser localizado pela busca"},muc_semianonymous:{keyword:"semi-anônimos",description:"Sua identificação jabber só é exposta para administradores da sala"},muc_temporary:{keyword:"temporário",description:"Será destruída se o último ocupante tiver saído"},muc_unmoderated:{keyword:"sem moderação",description:"Todos tem permissão de enviar mensagens"},muc_unsecured:{keyword:"inseguro",description:"Você não precisa de senha para entrar"},Continue:"Avançar",Server:"Servidor",Rooms_are_loaded:"Sala carregada",Could_load_only:"Pode carregar somente __count__ salas para autocompletar",muc_explanation:"Por favor entre um nome de sala e um nickname opcional e uma senha para entrar no chat",You_already_joined_this_room:"Você já entrou nesta sala",This_room_will_be_closed:"Esta sala será fechada",Room_not_found_:"Uma nova sala será criada",Loading_room_information:"Carregar informação da sala",Destroy:"Destruir",Leave:"Sair",changed_subject_to:'__nickname__ alterar o assunto da sala para "__subject__"',muc_removed_kicked:"Você foi removido da sala",muc_removed_info_kicked:"__nickname__ foi removido da sala",muc_removed_banned:"Você foi banido da sala",muc_removed_info_banned:"__nickname__ foi banido da sala",muc_removed_affiliation:"Você foi removido da sala pois a sala, por que a afiliação mudou",muc_removed_info_affiliation:"__nickname__ foi removido da sala, por que a afiliação mudou",muc_removed_membersonly:"Você foi removido da sala pois a sala foi alterada somente para membros e você não é um membro",muc_removed_info_membersonly:"__nickname__ foi removido da sala porque a sala foi alterada para somente membros e você não é um membro",muc_removed_shutdown:"Você foi removido da sala, por que o serviço MUC esta sendo desligado",Reason:"Motivo",message_not_send:"Sua mensagem não foi enviada devido a um erro","message_not_send_item-not-found":"Sua mensagem não foi enviada por que essa sala nao existe mais",message_not_send_forbidden:"Sua mensagem não foi enviada por que não tem 'voz' para essa sala","message_not_send_not-acceptable":"Sua mensagem não foi enviada por que você nao é ocupante desta sala",This_room_has_been_closed:"Essa sala foi fechada",Room_logging_is_enabled:"O Logging esta habilitado",A_password_is_required:"Senha é obrigatória",You_are_not_on_the_member_list:"Você não esta na lista de usuarios",You_are_banned_from_this_room:"Você foi banido desta sala",Your_desired_nickname_:"O nickname escolhido já esta em uso. Por favor escolha outro",The_maximum_number_:"O número máximo de usuarios já foi antigido para essa sala",This_room_is_locked_:"A sala esta trancada",You_are_not_allowed_to_create_:"Você não esta autorizado para criar uma sala",Alert:"Alerta",Call_started:"Chamada iniciada",Call_terminated:"Chamada finalizada",Carbon_copy:"Copia carbono",Enable:"Habilitado",jingle_reason_busy:"ocupado",jingle_reason_decline:"recusado",jingle_reason_success:"sucesso",Media_failure:"Media falhou",No_local_audio_device:"sem dispositivo local de audio",No_local_video_device:"sem dispositivo local de video",Ok:"Ok",PermissionDeniedError:"Você ou seu navegador negou permissão para acessar audio/video",Use_local_audio_device:"Usar dispositivo local de audio",Use_local_video_device:"Usar dispositivo local de video",is_:"é __status__",You_received_a_message_from_an_unknown_sender_:"Você recebeu uma mensagem de um emissor desconhecido (__sender__) Você quer mostrá-los?",Your_roster_is_empty_add_:"Sua lista está vazia, adicione um <a>novo contato</a>",onsmp_explanation_question:"Seu contato está tentando determinar se ele realmente está falando contigo. Para autenticar seu contato, entre com a resposta e clique em Responder.",onsmp_explanation_secret:"Seu contato está tentando determinar se ele realmente está falando contigo. Para autenticar seu contato, escreva a senha.",from_sender:"de __sender__",Verified_private_conversation_started:"Verificado Conversa privada iniciada.",Unverified_private_conversation_started:"Não verificado Conversa privada iniciada.",Bookmark:"Favoritos","Auto-join":"Entrar Automaticamente",Edit_bookmark:"Editar favoritos",Room_logging_is_disabled:"Registro de log na sala está desativado","Room_is_now_non-anoymous":"A sala é não anônima agora","Room_is_now_semi-anonymous":"A sala é semi anônima agora",Do_you_want_to_change_the_default_room_configuration:"Você quer alterar as configurações da sala?",Default:"Padrão",Change:"Alterar",Send_file:"Enviar arquivo","setting-explanation-carbon":"Com carbon copy ativado seu servidor XMPP vai enviar uma copia de cada mensagem para você neste cliente mesmo que não tenha endereço","setting-explanation-login":"Se essa opção esta habilitada, o chat vai começar ao logar.","setting-explanation-priority":"Você esta logado varias vezes com a mesma conta, seu servidor XMPP vai entregar as mensagens para o cliente com a prioridade mais alta.","setting-explanation-xmpp":"Essas opções são usadas para conectar no Servidor XMPP",_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null,Load_older_messages:null}},ro:{translation:{Logging_in:"Autentificare...",your_connection_is_unencrypted:"Conexiunea nu este criptată.",your_connection_is_encrypted:"Conexiunea este criptată.",your_buddy_closed_the_private_connection:"Interlocutorul a închis conexiunea privată.",start_private:"Pornește în privat",close_private:"Închide privat",your_buddy_is_verificated:"Interlocutorul este verificat.",you_have_only_a_subscription_in_one_way:"Subscrierea este într-o singură direcție.",authentication_query_sent:"Cererea de autentificare a fost trimisă.",your_message_wasnt_send_please_end_your_private_conversation:"Mesajul nu a fost trimis. Te rog închide conversația în privat.",unencrypted_message_received:"A fost primit un mesaj necriptat",not_available:"Indisponibil",no_connection:"Fără conexiune!",relogin:"Re-autentificare",trying_to_start_private_conversation:"Se încearcă deschiderea conversației în privat!",Verified:"Verificat",Unverified:"Neverificat",private_conversation_aborted:"Conversație în privat eșuată!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Interlocutorul a închis conversația în privat! Ar trebui să faci la fel și tu.",conversation_is_now_verified:"Conversația este acum verificată.",authentication_failed:"Autentificarea a eşuat.",Creating_your_private_key_:"Se crează cheia privată; ar putea să dureze ceva timp.",Authenticating_a_buddy_helps_:"Autentificând un contact ne asigură că persoana cu care vorbești este într-adevăr cine pretinde că este.",How_do_you_want_to_authenticate_your_buddy:"Cum vrei să te autentifici __bid_name__ (<b>__bid_jid__</b>)",Select_method:"Alege metoda...",Manual:"Manual",Question:"Întrebare",Secret:"Secret",To_verify_the_fingerprint_:"Pentru a verifica amprenta, contactează interlocutorul printr-un canal de încredere, cum ar fi telefonul.",Your_fingerprint:"Amprenta ta",Buddy_fingerprint:"Amprenta interlocutorului",Close:"Închide",Compared:"Prin comparație",To_authenticate_using_a_question_:"Pentru autentificarea folosind o întrebare, alege o întrebare cu un răspuns cunoscut doar de tine și de interlocutor.",Ask:"Întreabă",To_authenticate_pick_a_secret_:"Pentru autentificare, alege un secret cunoscut doar de tine și de interlocutor.",Compare:"Compară",Fingerprints:"Amprente",Authentication:"Autentificare",Message:"Mesaj",Add_buddy:"Adaugă contact",rename_buddy:"redenumește contact",delete_buddy:"șterge contact",Login:"Logare",Username:"Utilizator",Password:"Parolă",Cancel:"Renunță",Connect:"Conectare",Type_in_the_full_username_:"Scrie numele complet al utilizatorului și un alias opțional.",Alias:"Alias",Add:"Adaugă",Subscription_request:"Cerere de subscriere",You_have_a_request_from:"Ai o cerere de la",Deny:"Refuză",Approve:"Aprobă",Remove_buddy:"Șterge contact",You_are_about_to_remove_:"Urmează să ștergi __bid_name__ (<b>__bid_jid__</b>) din lista de contacte. Toate chat-urile asociate vor fi închise.",Continue_without_chat:"Continuă fără chat",Please_wait:"Te rog așteaptă",Login_failed:"Logarea pe chat a eșuat",Sorry_we_cant_authentikate_:"Autentificarea cu serverul de chat a eșuat. Poate parola este greșită ?",Retry:"Înapoi",clear_history:"Curăță istoria",New_message_from:"Un nou mesaj de la __name__",Should_we_notify_you_:"Vrei să fi notificat despre mesajele noi în viitor ?",Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null,Load_older_messages:null}},ru:{translation:{Logging_in:"Вход в систему...",your_connection_is_unencrypted:"Ваше соединение не зашифровано.",your_connection_is_encrypted:"Ваше соединение зашифровано.",your_buddy_closed_the_private_connection:"Ваш собеседник закончил зашифрованное соединение.",start_private:"Начать зашифрованный чат",close_private:"Закончить зашифрованный чат",your_buddy_is_verificated:"Собеседник подтвержден.",you_have_only_a_subscription_in_one_way:"У вас только односторонняя подписка.",authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:"Сообщение не отправлено. Завершите зашифрованный чат, пожалуйста.",unencrypted_message_received:"Получено незашифрованное сообщение",not_available:"Не доступен",no_connection:"Нет соединения!",relogin:"переподключиться",trying_to_start_private_conversation:"Попытка начать зашифрованный чат!",Verified:"Подтверждено",Unverified:"Не подтверждено",private_conversation_aborted:"Зашифрованный чат отклонен!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Ваш собеседник завершил зашифрованный чат! Вы должны сделать тоже самое.",conversation_is_now_verified:"Чат теперь утвержден.",authentication_failed:"Ошибка авторизации.",Creating_your_private_key_:"Создается приватный ключ. Это может занять некоторое время",Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:"Выберите метод...",Manual:"Вручную",Question:"Вопрос",Secret:"Пароль",To_verify_the_fingerprint_:null,Your_fingerprint:"Ваш отпечаток",Buddy_fingerprint:"Отпечаток собеседника",Close:"Закрыть",Compared:"Сравнение завершено",To_authenticate_using_a_question_:"Для авторизации с помощью вопроса выберите вопрос, ответ на который знаете только Вы и собеседник.",Ask:null,To_authenticate_pick_a_secret_:"Для авторизации выберите пароль, который знаете только Вы и собеседник.",Compare:"Сравнить",Fingerprints:"Отпечатки",Authentication:"Авторизация",Message:"Сообщение",Add_buddy:"Добавить контакт",rename_buddy:"переименовать контакт",delete_buddy:"удалить контакт",Login:"Вход",Username:"Логин",Password:"Пароль",Cancel:"Отмена",Connect:"Подключить",Type_in_the_full_username_:"Введите полное имя пользователя и дополнительный псевдоним",Alias:"Псевдоним",Add:"Добавить",Subscription_request:"Запрос подписки",You_have_a_request_from:"Получен запрос от",Deny:"Отказ",Approve:"Подтвердить",Remove_buddy:"Удалить контакт",You_are_about_to_remove_:"Вы собираетесь удалить __bid_name__ (<b>__bid_jid__</b>) из списка контактов. Все связанные с чаты будут закрыты.",Continue_without_chat:"Продолжить без чата",Please_wait:"Подождите…",Login_failed:"Неудачный вход в чат",Sorry_we_cant_authentikate_:"Неудачная попытка входа",Retry:"Назад",clear_history:"Очистить историю",New_message_from:"Новое сообщение от __name__",Should_we_notify_you_:"Уведомлять о новых сообщениях в будущем?",Please_accept_:'Нажмите кнопку "Разрешить" вверху страницы, пожалуйста',Hide_offline:"Спрятать отключенных",Show_offline:"Показать отключенных",About:"О проекте",dnd:"Не беспокоить",Mute:"Выкл. уведомления",Unmute:"Вкл. уведомления",Subscription:"Подписка",both:"оба",Status:"Статус",online:"в сети",chat:"готов общаться",away:"отошел",xa:"отсутствую",offline:"не в сети",none:"нет",Unknown_instance_tag:"Неизвестный тег.",Not_one_of_our_latest_keys:"Ни один из наших последних ключей",Received_an_unreadable_encrypted_message:"Получено нечитаемое зашифрованное сообщение",Online:"В сети",Chatty:"Готов общаться",Away:"Отошел",Extended_away:"Отсутствую",Offline:"Не в сети",Friendship_request:"Запрос на добавление в контакты",Confirm:"Подтвердить",Dismiss:"Отклонить",Remove:"Удалить",Online_help:"Онлайн помощь",FN:"Полное имя",N:null,FAMILY:"Фамилия",GIVEN:"Имя",NICKNAME:"Ник",URL:"URL",ADR:"Адрес",STREET:"Улица",EXTADD:"Дополнительный адрес",LOCALITY:"Город",REGION:"Область",PCODE:"Индекс",CTRY:"Страна",TEL:"Телефон",NUMBER:"Номер",EMAIL:"Почта",USERID:null,ORG:"Организация",ORGNAME:"Название",
+ORGUNIT:"Отдел",TITLE:"Должность",ROLE:"Обязанности",BDAY:"День рождения",DESC:"Описание",PHOTO:" Фото ",send_message:"Отправить сообщение",get_info:"Показать информацию",Settings:"Настройки",Priority:"Приоритет",Save:"Сохранить",User_settings:"Пользовательские настройки",A_fingerprint_:null,is:" ",Login_options:"Параметры входа",BOSH_url:"BOSH URL",Domain:"Домен",Resource:"Ресурс",On_login:"Автоматически подключаться",Received_an_unencrypted_message:"Получено незашифрованное сообщение",Sorry_your_buddy_doesnt_provide_any_information:"К сожалению, контакт не предоставил какой-либо информации.",Info_about:"Информация о",Authentication_aborted:"Аутентификация прервана.",Authentication_request_received:"Получен запрос проверки подлинности.",Log_in_without_chat:"Вход без чата",has_come_online:"появился в сети",Unknown_sender:"Неизвестный отправитель",Please_allow_access_to_microphone_and_camera:'Нажмите кнопку "Разрешить" вверху страницы, чтобы предоставить доступ к микрофону и камере.',Incoming_call:"Входящий вызов",from:"от",Do_you_want_to_accept_the_call_from:"Вы хотите принять вызов от",Reject:"Отклонить",Accept:"Принять",hang_up:"Завершить",snapshot:"Снимок",mute_my_audio:"Без звука",pause_my_video:"Остановить моё видео",fullscreen:"На весь экран",Info:"Инфо",Local_IP:"Мой IP",Remote_IP:"Удаленный IP",Local_Fingerprint:"Мой отпечаток",Remote_Fingerprint:"Удаленный отпечаток",Video_call_not_possible:"Видео-вызов невозможен. Ваш собеседник не поддерживает видео-вызовы.",Start_video_call:"Видео-вызов",Join_chat:"Присоединиться к комнате",Join:"Присоедениться",Room:"Комната",Nickname:"Ник",left_the_building:"__nickname__ выходит из комнаты",entered_the_room:"__nickname__ заходит в комнату",is_now_known_as:"__oldNickname__ теперь известен как __newNickname__",This_room_is:"Эта комната",muc_hidden:{keyword:"скрыта",description:"не может быть найдена через поиск"},muc_membersonly:{keyword:"только для участников",description:"Вы должны быть в списке участников"},muc_moderated:{keyword:"модерируется",description:"Только пользователи с правом голоса могут отправлять сообщения"},muc_nonanonymous:{keyword:"неанонимная",description:"Ваш JID будет показан всем посетителям"},muc_open:{keyword:"открытая",description:"Любой пользователь может присоедениться"},muc_passwordprotected:{keyword:"защищена паролем",description:"Необходимо ввести правильный пароль"},muc_persistent:{keyword:"постоянная",description:"Не будет уничтожена, когда ее покинут все участники"},muc_public:{keyword:"публичная",description:"Может быть найдена через поиск"},muc_semianonymous:{keyword:"полу-анонимная",description:"Ваш JID могут увидеть только администраторы"},muc_temporary:{keyword:"временная",description:"Будет уничтожена как только не останется ни одного участника"},muc_unmoderated:{keyword:"не модерируется",description:"Любой посетитель может отправлять сообщения"},muc_unsecured:{keyword:"без пароля",description:"Не нужно вводить пароль для входа"},Continue:"Далее",Server:"Сервер",Rooms_are_loaded:"Комнаты загружены",Could_load_only:"Подгрузка только __count__ комнат в автодополнении",muc_explanation:"Введите название комнаты, свой ник и пароль для входа в комнату",You_already_joined_this_room:"Вы уже в этой комнате",This_room_will_be_closed:"Эта комната была закрыта",Room_not_found_:"Новая комната будет создана",Loading_room_information:"Загрузка информации о комнате",Destroy:"Уничтожить",Leave:"Покинуть",changed_subject_to:'__nickname__ изменил тему комнаты на "__subject__"',muc_removed_kicked:"Вас выкинули из комнаты",muc_removed_info_kicked:"__nickname__ был удален из комнаты",muc_removed_banned:"Вас забанили в комнате",muc_removed_info_banned:"__nickname__ был забанен в комнате",muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:"Вы были исключены из комнаты, т.к. комната стала доступна только для членов комнаты, а Вы им не являетесь",muc_removed_info_membersonly:"__nickname__ исключен(а) из комнаты, т.к. комната стала доступна только для членов комнаты, а он(она) им не является",muc_removed_shutdown:"Вы были удалены из комнаты, т.к. сервис чат-комнат недоступен",Reason:"Причина",message_not_send:"Ваше сообщение не было отправлено из-за ошибки","message_not_send_item-not-found":"Ваше сообщение не было отправлено, т.к. этой комнаты не существует",message_not_send_forbidden:"Ваше сообщение не было отправлено, т.к. у Вас нет права голоса в этой комнате","message_not_send_not-acceptable":"Ваше сообщение не было отправлено, т.к. Вы не являетесь участником этой комнаты",This_room_has_been_closed:"Эта комната была закрыта",Room_logging_is_enabled:"Журналирование комнаты включено",A_password_is_required:"Необходим пароль",You_are_not_on_the_member_list:"Вы не в списке участников",You_are_banned_from_this_room:"Вас забанили в этой комнате",Your_desired_nickname_:"Данное имя пользователя уже занято, пожалуйста, выберите другое имя пользователя",The_maximum_number_:"Достигнут лимит максимального количества посетителей этой комнаты",This_room_is_locked_:"Эта комната заблокирована",You_are_not_allowed_to_create_:"Вы не можете создавать комнаты",Alert:"Внимание",Call_started:"Вызов начался",Call_terminated:"Вызов завершен",Carbon_copy:"Копировать сообщения",Enable:"Включить",jingle_reason_busy:"занято",jingle_reason_decline:"запрещено",jingle_reason_success:"сбросили",Media_failure:"Ошибка передачи медиа",No_local_audio_device:"Нет локального аудио-устройства.",No_local_video_device:"Нет локального видео-устройства.",Ok:"Ок",PermissionDeniedError:"Вы или Ваш браузер запретили использовать микрофон/камеру",Use_local_audio_device:"Использовать локальное аудио-устройство.",Use_local_video_device:"Использовать локальное видео-устройство.",is_:"__status__",You_received_a_message_from_an_unknown_sender_:"Вы получили сообщение от неизвестного отправителя (__sender__)",Your_roster_is_empty_add_:"Ваш список контактов пуст, добавить <a>новый контакт</a>",onsmp_explanation_question:"Собеседник пытается определить, что общается действительно с Вами.",onsmp_explanation_secret:"Собеседник пытается определить, что общается действительно с Вами. введите пароль.",from_sender:"от __sender__",Verified_private_conversation_started:"Подтверждено Зашифрованный чат начат.",Unverified_private_conversation_started:"Не подтверждено Зашифрованный чат начат.",Bookmark:"Закладка","Auto-join":"Автоматически входить",Edit_bookmark:"Редактировать закладку",Room_logging_is_disabled:"Журналирование комнаты отключено","Room_is_now_non-anoymous":"Комната теперь не анонимная","Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:"Вы хотите изменить стандартную конфигурацию комнаты?",Default:"Станд.",Change:"Изменить",Send_file:"Отправить файл","setting-explanation-carbon":"С включенным Carbon Copy Ваш XMPP сервер будет отправлять копию каждого входящего сообщения на все подключенные устройства.","setting-explanation-login":"Если эта опция включена, то чат будет начинаться сразу после аутентификации.","setting-explanation-priority":"Если вы подключены к одному аккаунту с нескольких устройств, то XMPP сервер будет доставлять сообщения на клиент с наивысшим приоритетом.","setting-explanation-xmpp":"Эти настройки используются для подключения к XMPP серверу.",_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null,Load_older_messages:null}},"sv-SE":{translation:{Logging_in:null,your_connection_is_unencrypted:null,your_connection_is_encrypted:null,your_buddy_closed_the_private_connection:null,start_private:null,close_private:null,your_buddy_is_verificated:null,you_have_only_a_subscription_in_one_way:null,authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:null,unencrypted_message_received:null,not_available:null,no_connection:null,relogin:null,trying_to_start_private_conversation:null,Verified:null,Unverified:null,private_conversation_aborted:null,your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:null,Creating_your_private_key_:null,Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:null,Secret:null,To_verify_the_fingerprint_:null,Your_fingerprint:null,Buddy_fingerprint:null,Close:null,Compared:null,To_authenticate_using_a_question_:null,Ask:null,To_authenticate_pick_a_secret_:null,Compare:null,Fingerprints:null,Authentication:null,Message:null,Add_buddy:null,rename_buddy:null,delete_buddy:null,Login:null,Username:null,Password:null,Cancel:null,Connect:null,Type_in_the_full_username_:null,Alias:null,Add:null,Subscription_request:null,You_have_a_request_from:null,Deny:null,Approve:null,Remove_buddy:null,You_are_about_to_remove_:null,Continue_without_chat:null,Please_wait:null,Login_failed:null,Sorry_we_cant_authentikate_:null,Retry:null,clear_history:null,New_message_from:null,Should_we_notify_you_:null,Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null,Load_older_messages:null}},"tr-TR":{translation:{Logging_in:"Giriş yapılıyor…",your_connection_is_unencrypted:"Bağlantınız şifrelenmemiş.",your_connection_is_encrypted:"Bağlantınız şifrelenmiş.",your_buddy_closed_the_private_connection:"Sohbet ettiğiniz kişi özel bağlantı kapatıldı.",start_private:"Özel bağlantı başlat.",close_private:"Özel bağlantıyı kapat.",your_buddy_is_verificated:"Kişi doğrulandı.",you_have_only_a_subscription_in_one_way:"Sadece tek yönlü bir aboneliğiniz var.",authentication_query_sent:"Kimlik doğrulama sorgusu gönderildi.",your_message_wasnt_send_please_end_your_private_conversation:"Mesajınız gönderilmedi. Lütfen özel görüşmelerinizi bitirin.",unencrypted_message_received:"Şifrelenmemiş mesaj alındı",not_available:"Müsait değil",no_connection:"Bağlantı yok!",relogin:"Yeniden gir",trying_to_start_private_conversation:"Özel sohbet başlatılmaya çalışılıyor!",Verified:"Doğrulandı",Unverified:"Doğrulanamadı",private_conversation_aborted:"Özel sohbet iptal edildi!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"Sohbet ettiğiniz kişi özel görüşmeyi kapattı! Siz de aynı şeyi yapmalısınız.",conversation_is_now_verified:"Sohbet doğrulandı.",authentication_failed:"Kimlik doğrulama başarısız.",Creating_your_private_key_:"Özel anahtarınız oluşturuluyor; bu işlem biraz sürebilir.",Authenticating_a_buddy_helps_:"Kimlik doğrulaması, konuşmakta olduğunuz kişinin gerçekten o kişi olduğundan emin olmanıza yardımcı olur.",How_do_you_want_to_authenticate_your_buddy:"Kimlik doğrulamasını nasıl yapmak istersiniz __bid_name__ (<b>__bid_jid__</b>)?",Select_method:"Yöntemi seçin...",Manual:"Elle",Question:"Soru",Secret:"Gizli anahtar",To_verify_the_fingerprint_:"Parmakizini doğrulamak için, telefon gibi başka bir güvenilir kanalı kullanın.",Your_fingerprint:"Parmakiziniz",Buddy_fingerprint:"Kişinin parmakizi",Close:"Kapat",Compared:"Kıyaslandı",To_authenticate_using_a_question_:"Bir soru ile kimlik doğrulaması için, yanıtını yalnızca siz ve karşınızdaki kişinin bildiği bir soru seçin.",Ask:"Sor",To_authenticate_pick_a_secret_:"Kimlik doğrulaması için, yalnızca siz ve karşınızdaki kişinin bildiği bir parola seçin.",Compare:"Karşılaştır",Fingerprints:"Parmakizleri",Authentication:"Kimlik doğrulama",Message:"İleti",Add_buddy:"Kişi ekle",rename_buddy:"Kişiyi yeniden adlandır",delete_buddy:"Kişiyi sil",Login:"Giriş",Username:"Kullanıcı adı",Password:"Şifre",Cancel:"iptal",Connect:"Bağlan",Type_in_the_full_username_:"Tam kullanıcı adını ve isteğe bağlı bir takma ad yazın.",Alias:"Takma ad",Add:"Ekle",Subscription_request:"Abonelik isteği",You_have_a_request_from:"Size gelen bir istek var",Deny:"Reddet",Approve:"Onayla",Remove_buddy:"Kişiyi çıkar",You_are_about_to_remove_:"__bid_name__ (<b>__bid_jid__</b>) adlı kişiyi listenizden çıkarmak üzeresiniz. Tüm ilişkili sohbetler kapanacak.",Continue_without_chat:"Sohbet etmeden devam et",Please_wait:"Lütfen bekleyin",Login_failed:"Sohbet girişi başarısız oldu",Sorry_we_cant_authentikate_:"Kimlik doğrulaması başarısız oldu. Şifreniz yanlış olabilir.",Retry:"Geri",clear_history:"Geçmişi sil",New_message_from:"__name__ adlı kişiden yeni bir mesaj aldınız",Should_we_notify_you_:"İleride aldığınız yeni mesajları size bildirelim mi?",Please_accept_:'Lütfen üstteki "İzin ver" düğmesini tıklayın.',Hide_offline:"Çevrimdışı kişileri gizle",Show_offline:"Çevrimdışı kişileri göster",About:"hakkında",dnd:"Rahatsız etmeyin",Mute:"Sessiz",Unmute:"Sesli",Subscription:"Üyelik",both:"her ikisi de",Status:"Durum",online:"çevrimiçi",chat:"sohbet",away:"uzakta",xa:"çok uzakta",offline:"çevrimdışı",none:"hiç biri",Unknown_instance_tag:"Bilinmeyen örnek etiketi.",Not_one_of_our_latest_keys:"En son anahtarlarımızdan biri değil.",Received_an_unreadable_encrypted_message:"Okunamayan şifrelenmiş bir mesaj alındı.",Online:"Çevrimiçi",Chatty:"Konuşkan",Away:"Uzakta",Extended_away:"Çok uzakta",Offline:"Çevrimdışı",Friendship_request:"İrtibat isteği",Confirm:"Onayla",Dismiss:"Reddet",Remove:"Çıkar",Online_help:"Çevrimiçi yardım",FN:"Tam adı",N:" ",FAMILY:"Soyadı",GIVEN:"Adı",NICKNAME:"Takma ad",URL:"URL",ADR:"Adres",STREET:"Sokak",EXTADD:"Genişletilmiş Adres",LOCALITY:"Yer",REGION:"Bölge",PCODE:"Posta Kodu",CTRY:"Ülke",TEL:"Telefon",NUMBER:"Numara",EMAIL:"Eposta",USERID:" ",ORG:"Organizasyon",ORGNAME:"İsim",ORGUNIT:"Birim",TITLE:"İş tenımı",ROLE:"Görevi",BDAY:"Doğum günü",DESC:"Tanım",PHOTO:" ",send_message:"İletiyi gönder",get_info:"Bilgileri göster",Settings:"Ayarlar",Priority:"Öncelik",Save:"Kaydet",User_settings:"Kullanıcı tercihleri",A_fingerprint_:"Parmak izi konuştuğunuz kişinin söylediği kişi olduğundan emin olmak için kullanılır.",is:"Eşit",Login_options:"Giriş seçenekleri",BOSH_url:"BOSH URL",Domain:"Alan adı",Resource:"Kaynak",On_login:"Girişte",Received_an_unencrypted_message:"Şifrelenmemiş bir mesaj alındı",Sorry_your_buddy_doesnt_provide_any_information:"Maalesef kişi her hangi bir bilgi sunmamış.",Info_about:"Bilinen özellikleri",Authentication_aborted:"Kimlik doğrulama iptal edildi.",Authentication_request_received:"Kimlik doğrulama isteği alındı.",Log_in_without_chat:"Sohbetsiz giriş yap",has_come_online:"Çevrimiçi oldu",Unknown_sender:"Bilinmeyen gönderen",Please_allow_access_to_microphone_and_camera:'Mikrofona ve kameraya erişime izin vermek için lütfen üstteki "İzin Ver" düğmesini tıklayın.',Incoming_call:"Gelen çağrı",from:"gönderen",Do_you_want_to_accept_the_call_from:"Gelen aramayı kabul etmek istiyor musunuz",Reject:"Reddet",Accept:"Kabul et",hang_up:"aramayı sonlandır",snapshot:"anlık fotoğraf",mute_my_audio:"Sesi kapat",pause_my_video:"videoyu duraklat",fullscreen:"tam ekran",Info:"bilgi",Local_IP:"Yerel IP",Remote_IP:"Uzak IP",Local_Fingerprint:"Yerel parmakizi",Remote_Fingerprint:"Uzak parmakizi",Video_call_not_possible:"Video çağrısı yapılamıyor. Aranan kişi video görüşmelerini desteklemiyor.",Start_video_call:"Video görüşmesini başlat",Join_chat:"Sohbete katıl",Join:"Katıl",Room:"Oda",Nickname:"Takma ad",left_the_building:"__nickname__ binadan ayrıldı",entered_the_room:"__nickname__ odaya girdi",is_now_known_as:"__oldNickname__ şimdi __newNickname__ olarak biliniyor",This_room_is:"Bu oda",muc_hidden:{keyword:"gizli",description:"Arama yoluyla bulunamıyor"},muc_membersonly:{keyword:"sadece-üye-olanlar",description:"üye listenizde olmanız gerekiyor"},muc_moderated:{keyword:"yöneticili",description:'Yalnızca "sesli" kişilerin mesaj göndermesine izin verilir'},muc_nonanonymous:{keyword:"Anonim-değil",description:"Sohbet kimliğiniz diğer tüm oturanlara görünüyor"},muc_open:{keyword:"açık",description:"herkes katılabilir"},muc_passwordprotected:{keyword:"şifre-korumalı",description:"Doğru şifreyi girmeniz gerekiyor"},muc_persistent:{keyword:"kalıcı",description:"Son oturan ayrıldığında kapanmaz"},muc_public:{keyword:"herkese açık",description:"Arama yoluyla bulunabilir"},muc_semianonymous:{keyword:"yarı-anonim",description:"Sohbet kimliğiniz sadece oda yöneticilerine görünüyor"},muc_temporary:{keyword:"geçici",description:"Son oturan ayrıldığında kapanır"},muc_unmoderated:{keyword:"yöneticisiz",description:"herkes ileti gönderebilir"},muc_unsecured:{keyword:"güvensiz",description:"şifre girmenize gerek yok"},Continue:"Devam",Server:"Sunucu",Rooms_are_loaded:"Oda yüklendi",Could_load_only:"Sadece __count__ oda otomatik tamamlamayla yüklenebilir",muc_explanation:"Bir sohbete katılmak için, lütfen oda adını ve isteniyorsa takma adınız ve parolanızı girin",You_already_joined_this_room:"Zaten bu odaya katılmış durumdasınız",This_room_will_be_closed:"Bu oda kapanacak",Room_not_found_:"Yeni oda oluşturulacak",Loading_room_information:"Oda bilgileri yükleniyor",Destroy:"Sil",Leave:"Ayrıl",changed_subject_to:'__nickname__ bu odanın konusunu "__subject__" olarak değiştirdi',muc_removed_kicked:"Bu odadan atıldınız",muc_removed_info_kicked:"__nickname__ bu odadan atıldı",muc_removed_banned:"Odadan yasaklandınız",muc_removed_info_banned:"__nickname__ odadan yasaklandınız",muc_removed_affiliation:"Üyelik değişikliği nedeniyle odadan çıkarıldınız",muc_removed_info_affiliation:"__nickname__ üyelik değişikliği nedeniyle odadan çıkarıldı",muc_removed_membersonly:"Odanın durumu sadece-üyeler olarak değiştirildiği ve siz üye olmadığınız için odadan çıkarıldınız",muc_removed_info_membersonly:"Odanın durumu sadece-üyeler olarak değiştirildiği ve __nickname__ üye olmadığı için odadan çıkarıldı",muc_removed_shutdown:"Odadan çıkarıldınız çünkü, MUC sunucusu kapandı",Reason:"Sebep",message_not_send:"Mesajınız bir hata nedeniyle gönderilmedi","message_not_send_item-not-found":"Mesajınız gönderilmedi, çünkü bu oda mevcut değil",message_not_send_forbidden:"Mesajınız gönderilmedi çünkü bu odada sesiniz yok","message_not_send_not-acceptable":"Mesajınız gönderilmedi çünkü bu odaya bulunmuyorsunuz",This_room_has_been_closed:"Bu oda kapatıldı",Room_logging_is_enabled:"Oda günlüğü etkinleştirildi",A_password_is_required:"Şifre gerekli",You_are_not_on_the_member_list:"Üye listesinde değilsiniz",You_are_banned_from_this_room:"Bu odadan yasaklandınız",Your_desired_nickname_:"İstediğiniz takma ad başkası tarafından kullanılıyor. Lütfen başka bir takma ad",The_maximum_number_:"Bu odada maksimum kullanıcı sayısına ulaşıldı",This_room_is_locked_:"Bu oda kilitli",You_are_not_allowed_to_create_:"Oda açma izniniz yok",Alert:"Uyarı",Call_started:"Arama başlatıldı",Call_terminated:"Arama bitirildi",Carbon_copy:"Karbon kopya",Enable:"Etkinleştir",jingle_reason_busy:"meşgul",jingle_reason_decline:"kabul etme",jingle_reason_success:"kapatıldı",Media_failure:"Medya istek hatası",No_local_audio_device:"Yerel ses cihazı bulunamadı.",No_local_video_device:"Yerel video cihazı bulunamadı.",Ok:"Tamam",PermissionDeniedError:"Siz veya tarayıcınız medya iznini reddetti",Use_local_audio_device:"Yerel video cihazını kullan.",Use_local_video_device:"Yerel video cihazını kullanın.",is_:"__status__",You_received_a_message_from_an_unknown_sender_:"Bilinmeyen bir gönderenden bir ileti aldınız (__sender__) İletiyi görüntülemek istiyor musunuz?",Your_roster_is_empty_add_:"Listeniz boş, yeni bir <a>kişi ekleyin</a>",onsmp_explanation_question:"Karşınızdaki kişi, konuştuğu kişinin gerçekten siz olduğunuzu belirlemeye çalışıyor. Karşınızdaki kişiye kimliğinizi kanıtlamak için, yanıtı girin ve Yanıtla'yı tıklayın.",onsmp_explanation_secret:"Karşınızdaki kişi, konuştuğu kişinin gerçekten siz olduğunuzu belirlemeye çalışıyor. Karşınızdaki kişiye kimliğinizi kanıtlamak için, parolayı girin.",from_sender:"__sender__'den",Verified_private_conversation_started:"Doğrulanmış Özel görüşme başladı.",Unverified_private_conversation_started:"Doğrulanmamış Özel görüşme başladı.",Bookmark:"Yer imi","Auto-join":"Otomatik katıl",Edit_bookmark:"yer imini düzenle",Room_logging_is_disabled:"Oda günlüğü devre dışı","Room_is_now_non-anoymous":"Oda artık anonim değil","Room_is_now_semi-anonymous":"Oda yarı-anonim",Do_you_want_to_change_the_default_room_configuration:"Öntanımlı oda yapılandırmasını değiştirmek istiyor musunuz?",Default:"Öntanımlı",Change:"Değiştir",Send_file:"Dosya gönder","setting-explanation-carbon":"Etkinleştirilmiş karbon kopya ile, XMPP sunucusu kendisine gönderilen her iletinin bir kopyasını, bu adrese gönderilmemiş olsa bile sizin için bu istemciye gönderir.","setting-explanation-login":"Bu seçenek etkinleştirilirse, sohbet girişle beraber başlayacaktır.","setting-explanation-priority":"Aynı hesapla bir çok kez oturum açtıysanız, XMPP sunucusu, istemciye iletileri en yüksek öncelikle gönderecektir.","setting-explanation-xmpp":"Bu seçenekler XMPP sunucusuna bağlanmak için kullanılır.",_is_composing:" yazıyor...",_are_composing:" yazıyorlar...",Chat_state_notifications:"Sohbet durumu bildirimleri","setting-explanation-chat-state":"Birisi mesaj başlattığında veya mesaj yazmayı bıraktığında, sohbet durumu bildirimleri göndermek ve almak istiyor musunuz?",Share_screen:"Ekran paylaşımı",Incoming_stream:"Gelen akış",Stream_started:"Akış başladı",HTTPS_REQUIRED:"Bu eylem, şifreli bir bağlantı gerektirir.",EXTENSION_UNAVAILABLE:"Tarayıcı eklentisine ihtiyacınız var.",UNKNOWN_ERROR:"Bilinmeyen bir hata oluştu.",Install_extension:"Ekran paylaşımını kullanabilmek için lütfen eklentiyi yükleyin: ",Connection_accepted:"Bağlantı kabul edildi",Stream_terminated:"Akış sonlandırıldı",Close_all:"Hepsini kapat",Notification:"Bildirim",Unreadable_OTR_message:"Okunamayan OTR iletisi atlandı",Load_older_messages:null}},"vi-VN":{translation:{Logging_in:null,your_connection_is_unencrypted:null,your_connection_is_encrypted:null,your_buddy_closed_the_private_connection:null,start_private:null,close_private:null,your_buddy_is_verificated:null,you_have_only_a_subscription_in_one_way:null,authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:null,unencrypted_message_received:null,not_available:null,no_connection:null,relogin:null,trying_to_start_private_conversation:null,Verified:null,Unverified:null,private_conversation_aborted:null,your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:null,Creating_your_private_key_:null,Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:null,Secret:null,To_verify_the_fingerprint_:null,Your_fingerprint:null,Buddy_fingerprint:null,Close:null,Compared:null,To_authenticate_using_a_question_:null,Ask:null,To_authenticate_pick_a_secret_:null,Compare:null,Fingerprints:null,Authentication:null,Message:null,Add_buddy:null,rename_buddy:null,delete_buddy:null,Login:null,Username:null,Password:null,Cancel:null,Connect:null,Type_in_the_full_username_:null,Alias:null,Add:null,Subscription_request:null,You_have_a_request_from:null,Deny:null,Approve:null,Remove_buddy:null,You_are_about_to_remove_:null,Continue_without_chat:null,Please_wait:null,Login_failed:null,Sorry_we_cant_authentikate_:null,Retry:null,clear_history:null,New_message_from:null,Should_we_notify_you_:null,Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,
+UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null,Load_older_messages:null}},"zh-TW":{translation:{Logging_in:"正在登入…",your_connection_is_unencrypted:"連線沒加密。",your_connection_is_encrypted:"連線有加密。",your_buddy_closed_the_private_connection:"聯絡人關閉了加密連線。",start_private:"開始加密",close_private:"結束加密",your_buddy_is_verificated:"聯絡人已校驗。",you_have_only_a_subscription_in_one_way:"只有單向訂閱。",authentication_query_sent:"驗證要求送出了。",your_message_wasnt_send_please_end_your_private_conversation:"訊息沒送出去。請結束加密的對話。",unencrypted_message_received:"收到沒加密的訊息",not_available:"不存在",no_connection:"沒有連線!",relogin:"重新登入",trying_to_start_private_conversation:"正在試著開始加密的對話!",Verified:"已校驗",Unverified:"未校驗",private_conversation_aborted:"加密的對話中斷了!",your_buddy_closed_the_private_conversation_you_should_do_the_same:"聯絡人把這場加密的對話關掉了!你也應該同樣關掉。",conversation_is_now_verified:"對話現在校驗過了。",authentication_failed:"驗證失敗。",Creating_your_private_key_:"正在產生你的私人金鑰,會花一段時間。",Authenticating_a_buddy_helps_:"聯絡人驗證可以確保跟你說話的是真的那個人。",How_do_you_want_to_authenticate_your_buddy:"想要怎樣驗證__bid_name__ (<b>__bid_jid__</b>)?",Select_method:"選個方式...",Manual:"手動",Question:"問答",Secret:"祕密",To_verify_the_fingerprint_:"要校驗聯絡人的電子指紋,請透過其他可靠的管道跟她/他聯絡,比如說電話。",Your_fingerprint:"你的電子指紋",Buddy_fingerprint:"聯絡人的電子指紋",Close:"關閉",Compared:"比對正確",To_authenticate_using_a_question_:"要用問答來驗證的話,請找一個只有你和聯絡人才知道答案的問題。",Ask:"問題",To_authenticate_pick_a_secret_:"要驗證的話,請找一個只有你和聯絡人知道的祕密。",Compare:"比對",Fingerprints:"電子指紋",Authentication:"驗證",Message:"訊息",Add_buddy:"加聯絡人",rename_buddy:"重新命名聯絡人",delete_buddy:"刪掉聯絡人",Login:"登入",Username:"使用者名稱",Password:"密碼",Cancel:"取消",Connect:"連線",Type_in_the_full_username_:"請打全名,別名可有可無",Alias:"別名",Add:"加入",Subscription_request:"訂閱請求",You_have_a_request_from:"收到聯絡人的請求:",Deny:"拒絕",Approve:"同意",Remove_buddy:"刪除聯絡人",You_are_about_to_remove_:"要把__bid_name__ (<b>__bid_jid__</b>)從聯絡簿裡刪掉了。所有相關的對話也都會關掉。",Continue_without_chat:"繼續不聊天",Please_wait:"請等一下",Login_failed:"登入聊天失敗",Sorry_we_cant_authentikate_:"跟聊天伺服器驗證失敗,會不會是密碼打錯了?",Retry:"上一步",clear_history:"清除歷史紀錄",New_message_from:"有新訊息:__name__",Should_we_notify_you_:"以後若有新訊息要通知你嗎?",Please_accept_:"請點上方的「允許」按鈕。",Hide_offline:"隱藏離線聯絡人",Show_offline:"顯示離線聯絡人",About:"關於我",dnd:"別打擾",Mute:"開靜音",Unmute:"關靜音",Subscription:"訂閱狀態",both:"雙向",Status:"狀態",online:"上線",chat:"聊天",away:"離開",xa:"離開很久",offline:"離線",none:"沒有",Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:"收到了一則加密但無法辨認的訊息。",Online:"上線",Chatty:"想聊天",Away:"離開",Extended_away:"離開很久",Offline:"離線",Friendship_request:"聯絡請求",Confirm:"確定",Dismiss:"取消",Remove:"刪掉",Online_help:"線上說明",FN:"全名",N:" ",FAMILY:"姓氏",GIVEN:"名字",NICKNAME:"綽號",URL:"網址",ADR:"位址",STREET:"地址",EXTADD:"更多位址",LOCALITY:"所在地",REGION:"區域",PCODE:"郵遞區號",CTRY:"國家",TEL:"電話",NUMBER:"編號",EMAIL:"電子郵件",USERID:" ",ORG:"團體",ORGNAME:"名稱",ORGUNIT:"單位",TITLE:"職稱",ROLE:"職位",BDAY:"生日",DESC:"簡介",PHOTO:" ",send_message:"發送訊息",get_info:"顯示帳號資訊",Settings:"設定",Priority:"優先度",Save:"儲存",User_settings:"使用者設定",A_fingerprint_:"電子指紋是用來確認跟你說話的是真的那個人。",is:"狀態:",Login_options:"登入選項",BOSH_url:"BOSH 網址",Domain:"網域",Resource:"資源",On_login:"登入啟動",Received_an_unencrypted_message:"收到了一則沒加密的訊息",Sorry_your_buddy_doesnt_provide_any_information:"抱歉,聯絡人沒有提供任何資訊。",Info_about:"帳號資訊:",Authentication_aborted:"驗證中斷。",Authentication_request_received:"驗證請求收到了。",Log_in_without_chat:"登入但不啟用聊天",has_come_online:"上線了",Unknown_sender:"不明傳訊人",Please_allow_access_to_microphone_and_camera:"請點上方的「接受」按鈕來允許我們使用麥克風和相機。",Incoming_call:"來電",from:"只出",Do_you_want_to_accept_the_call_from:"是否要接聽來電:",Reject:"拒絕",Accept:"接受",hang_up:"掛斷",snapshot:"截圖",mute_my_audio:"關掉我的聲音",pause_my_video:"暫停我的影像",fullscreen:"全螢幕",Info:"資料",Local_IP:"本機網路位址",Remote_IP:"遠端網路位址",Local_Fingerprint:"本機電子指紋",Remote_Fingerprint:"遠端電子指紋",Video_call_not_possible:"無法視訊通話。聯絡人不支援視訊。",Start_video_call:"開始視訊通話",Join_chat:"參加聊天",Join:"參加",Room:"聊天室",Nickname:"綽號",left_the_building:"__nickname__離開了大樓",entered_the_room:"__nickname__進入了聊天室",is_now_known_as:"__oldNickname__改名叫做__newNickname__",This_room_is:"聊天室屬性:",muc_hidden:{keyword:"隱藏",description:"搜尋也找不到"},muc_membersonly:{keyword:"限會員",description:"會員才會加入"},muc_moderated:{keyword:"有管制",description:"沒被消音的人才能送訊息"},muc_nonanonymous:{keyword:"禁匿名",description:"每個參與人都能看到你的 jabber 代碼"},muc_open:{keyword:"開放",description:"任何人都能參加"},muc_passwordprotected:{keyword:"密碼鎖",description:"要輸入正確的密碼才能加入"},muc_persistent:{keyword:"永久性",description:"最後一個參與人都離開了也不會結束"},muc_public:{keyword:"公開",description:"搜尋得到"},muc_semianonymous:{keyword:"半匿名",description:"只有聊天室管理員才看得到你的 jabber 代碼"},muc_temporary:{keyword:"暫時性",description:"最後一個參與人離開了就會結束"},muc_unmoderated:{keyword:"沒管制",description:"每個人都可以送訊息"},muc_unsecured:{keyword:"沒保護",description:"不需要密碼就能加入"},Continue:"繼續",Server:"伺服器",Rooms_are_loaded:"聊天室載入完成",Could_load_only:"只能載入__count__間聊天室供輸入自動完成使用",muc_explanation:"請輸入要參加的聊天室名稱,綽號和密碼非必要",You_already_joined_this_room:"你已經參加這間聊天室了",This_room_will_be_closed:"聊天室即將關閉",Room_not_found_:"新聊天室即將開啟",Loading_room_information:"正在載入聊天室資訊",Destroy:"關閉",Leave:"離開",changed_subject_to:'__nickname__把聊天室的標題改成了"__subject__"',muc_removed_kicked:"你被踢出聊天室了",muc_removed_info_kicked:"__nickname__被踢出聊天室了",muc_removed_banned:"你被禁止進入聊天室了",muc_removed_info_banned:"__nickname__被禁止進入聊天室了",muc_removed_affiliation:"你因為身份改變而離開聊天室了",muc_removed_info_affiliation:"__nickname__因為身份改變而離開聊天室了",muc_removed_membersonly:"你離開聊天室了,因為聊天室改為只限會員,但你不是會員",muc_removed_info_membersonly:"__nickname__離開聊天室了,因為聊天室改為只限會員,但她/他不是會員",muc_removed_shutdown:"你離開聊天室了,因為多人聊天服務正在關閉中。",Reason:"原因",message_not_send:"訊息因為發生錯誤沒送出去","message_not_send_item-not-found":"訊息沒送出去,因為聊天室不存在了",message_not_send_forbidden:"訊息沒送出去,因為你被消音了","message_not_send_not-acceptable":"訊息沒送出去,因為你不是聊天室的參與人了",This_room_has_been_closed:"聊天室已經關閉了",Room_logging_is_enabled:"聊天室紀錄打開了",A_password_is_required:"需要密碼",You_are_not_on_the_member_list:"你不是會員",You_are_banned_from_this_room:"你被禁止進入聊天室了",Your_desired_nickname_:"這個綽號被用掉了,請換一個",The_maximum_number_:"這間聊天室已經到達使用者數目的上限",This_room_is_locked_:"聊天室上鎖了",You_are_not_allowed_to_create_:"不允許你開新的聊天室",Alert:"警告",Call_started:"通話開始",Call_terminated:"通話結束",Carbon_copy:"副本",Enable:"打開",jingle_reason_busy:"忙線中",jingle_reason_decline:"被拒絕",jingle_reason_success:"被掛斷",Media_failure:"媒體錯誤",No_local_audio_device:"本機沒有音訊設備。",No_local_video_device:"本機沒有視訊設備。",Ok:"好",PermissionDeniedError:"你或你的瀏覽器拒絕了媒體使用權限",Use_local_audio_device:"使用本機音訊設備。",Use_local_video_device:"使用本機視訊設備。",is_:"狀態: __status__",You_received_a_message_from_an_unknown_sender_:"收到了不明人士(__sender__)傳來的訊息。你要打開來看嗎?",Your_roster_is_empty_add_:"好友清單是空的,請加<a>新的聯絡人</a>",onsmp_explanation_question:'聯絡人想要確定她/他是在跟真的你說話。要完成你的驗證,請輸入問題的答案,然後按"回答"。',onsmp_explanation_secret:"聯絡人想要確定她/他是在跟真的你說話。要完成你的驗證,請輸入你們之間的祕密。",from_sender:"來自:__sender__",Verified_private_conversation_started:"加密且已校驗的對話開始了。",Unverified_private_conversation_started:"加密但未校驗的對話開始了。",Bookmark:"書籤","Auto-join":"自動參加",Edit_bookmark:"編輯書籤",Room_logging_is_disabled:"聊天室紀錄關掉了","Room_is_now_non-anoymous":"現在聊天室禁止匿名了","Room_is_now_semi-anonymous":"現在聊天室變半匿名了",Do_you_want_to_change_the_default_room_configuration:"你想要改變聊天室的預設配置嗎?",Default:"預設值",Change:"修改",Send_file:"傳送檔案","setting-explanation-carbon":"如果打開副本選項的話,XMPP 伺服器會把每一個收到的訊息,都送一份到這個用戶端程式,即使它不是訊息發送的對象。","setting-explanation-login":"打開這個選項會在登入時同時開啟聊天。","setting-explanation-priority":"如果你用同一個帳號同時登入好幾次的話,XMPP 伺服器會把訊息送給優先度最高的那個用戶端程式。","setting-explanation-xmpp":"這些是用在 XMPP 伺服器連線的選項。",_is_composing:"正在打字中...",_are_composing:"正在打字中...",Chat_state_notifications:"聊天狀態通知","setting-explanation-chat-state":"想要傳送以及接收聊天狀態的通知嗎?也就是有人開始或停止寫訊息之類?",Share_screen:"分享螢幕",Incoming_stream:"有串流來",Stream_started:"串流開始了",HTTPS_REQUIRED:"這個動作需要連線有加密。",EXTENSION_UNAVAILABLE:"瀏覽器必須要安裝擴充套件或是附加元件。",UNKNOWN_ERROR:"發生了不明錯誤。",Install_extension:"要使用螢幕分享功能請安裝這個擴充套件: ",Connection_accepted:"連線接受了",Stream_terminated:"串流結束了",Close_all:"全部關掉",Notification:"通知",Unreadable_OTR_message:"忽略無法解讀的 OTR 訊息",Load_older_messages:null}},zh:{translation:{Logging_in:null,your_connection_is_unencrypted:null,your_connection_is_encrypted:null,your_buddy_closed_the_private_connection:null,start_private:null,close_private:null,your_buddy_is_verificated:null,you_have_only_a_subscription_in_one_way:null,authentication_query_sent:null,your_message_wasnt_send_please_end_your_private_conversation:null,unencrypted_message_received:null,not_available:null,no_connection:null,relogin:null,trying_to_start_private_conversation:null,Verified:null,Unverified:null,private_conversation_aborted:null,your_buddy_closed_the_private_conversation_you_should_do_the_same:null,conversation_is_now_verified:null,authentication_failed:null,Creating_your_private_key_:null,Authenticating_a_buddy_helps_:null,How_do_you_want_to_authenticate_your_buddy:null,Select_method:null,Manual:null,Question:null,Secret:null,To_verify_the_fingerprint_:null,Your_fingerprint:null,Buddy_fingerprint:null,Close:null,Compared:null,To_authenticate_using_a_question_:null,Ask:null,To_authenticate_pick_a_secret_:null,Compare:null,Fingerprints:null,Authentication:null,Message:null,Add_buddy:null,rename_buddy:null,delete_buddy:null,Login:null,Username:null,Password:null,Cancel:null,Connect:null,Type_in_the_full_username_:null,Alias:null,Add:null,Subscription_request:null,You_have_a_request_from:null,Deny:null,Approve:null,Remove_buddy:null,You_are_about_to_remove_:null,Continue_without_chat:null,Please_wait:null,Login_failed:null,Sorry_we_cant_authentikate_:null,Retry:null,clear_history:null,New_message_from:null,Should_we_notify_you_:null,Please_accept_:null,Hide_offline:null,Show_offline:null,About:null,dnd:null,Mute:null,Unmute:null,Subscription:null,both:null,Status:null,online:null,chat:null,away:null,xa:null,offline:null,none:null,Unknown_instance_tag:null,Not_one_of_our_latest_keys:null,Received_an_unreadable_encrypted_message:null,Online:null,Chatty:null,Away:null,Extended_away:null,Offline:null,Friendship_request:null,Confirm:null,Dismiss:null,Remove:null,Online_help:null,FN:null,N:null,FAMILY:null,GIVEN:null,NICKNAME:null,URL:null,ADR:null,STREET:null,EXTADD:null,LOCALITY:null,REGION:null,PCODE:null,CTRY:null,TEL:null,NUMBER:null,EMAIL:null,USERID:null,ORG:null,ORGNAME:null,ORGUNIT:null,TITLE:null,ROLE:null,BDAY:null,DESC:null,PHOTO:null,send_message:null,get_info:null,Settings:null,Priority:null,Save:null,User_settings:null,A_fingerprint_:null,is:null,Login_options:null,BOSH_url:null,Domain:null,Resource:null,On_login:null,Received_an_unencrypted_message:null,Sorry_your_buddy_doesnt_provide_any_information:null,Info_about:null,Authentication_aborted:null,Authentication_request_received:null,Log_in_without_chat:null,has_come_online:null,Unknown_sender:null,Please_allow_access_to_microphone_and_camera:null,Incoming_call:null,from:null,Do_you_want_to_accept_the_call_from:null,Reject:null,Accept:null,hang_up:null,snapshot:null,mute_my_audio:null,pause_my_video:null,fullscreen:null,Info:null,Local_IP:null,Remote_IP:null,Local_Fingerprint:null,Remote_Fingerprint:null,Video_call_not_possible:null,Start_video_call:null,Join_chat:null,Join:null,Room:null,Nickname:null,left_the_building:null,entered_the_room:null,is_now_known_as:null,This_room_is:null,muc_hidden:{keyword:null,description:null},muc_membersonly:{keyword:null,description:null},muc_moderated:{keyword:null,description:null},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:null},muc_passwordprotected:{keyword:null,description:null},muc_persistent:{keyword:null,description:null},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:null},muc_temporary:{keyword:null,description:null},muc_unmoderated:{keyword:null,description:null},muc_unsecured:{keyword:null,description:null},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:null,This_room_will_be_closed:null,Room_not_found_:null,Loading_room_information:null,Destroy:null,Leave:null,changed_subject_to:null,muc_removed_kicked:null,muc_removed_info_kicked:null,muc_removed_banned:null,muc_removed_info_banned:null,muc_removed_affiliation:null,muc_removed_info_affiliation:null,muc_removed_membersonly:null,muc_removed_info_membersonly:null,muc_removed_shutdown:null,Reason:null,message_not_send:null,"message_not_send_item-not-found":null,message_not_send_forbidden:null,"message_not_send_not-acceptable":null,This_room_has_been_closed:null,Room_logging_is_enabled:null,A_password_is_required:null,You_are_not_on_the_member_list:null,You_are_banned_from_this_room:null,Your_desired_nickname_:null,The_maximum_number_:null,This_room_is_locked_:null,You_are_not_allowed_to_create_:null,Alert:null,Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:null,jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:null,PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,is_:null,You_received_a_message_from_an_unknown_sender_:null,Your_roster_is_empty_add_:null,onsmp_explanation_question:null,onsmp_explanation_secret:null,from_sender:null,Verified_private_conversation_started:null,Unverified_private_conversation_started:null,Bookmark:null,"Auto-join":null,Edit_bookmark:null,Room_logging_is_disabled:null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,Do_you_want_to_change_the_default_room_configuration:null,Default:null,Change:null,Send_file:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,_is_composing:null,_are_composing:null,Chat_state_notifications:null,"setting-explanation-chat-state":null,Share_screen:null,Incoming_stream:null,Stream_started:null,HTTPS_REQUIRED:null,EXTENSION_UNAVAILABLE:null,UNKNOWN_ERROR:null,Install_extension:null,Connection_accepted:null,Stream_terminated:null,Close_all:null,Notification:null,Unreadable_OTR_message:null,Load_older_messages:null}}};
//# sourceMappingURL=jsxc.dep.min.js.map \ No newline at end of file
diff --git a/build/lib/jsxc.dep.min.js.map b/build/lib/jsxc.dep.min.js.map
index 53c7bd0f..424ca613 100644
--- a/build/lib/jsxc.dep.min.js.map
+++ b/build/lib/jsxc.dep.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["jsxc.dep.js"],"names":["callback","root","factory","define","amd","Base64","this","keyStr","obj","encode","input","chr1","chr2","chr3","enc1","enc2","enc3","enc4","output","i","charCodeAt","isNaN","charAt","length","decode","replace","indexOf","String","fromCharCode","SHA1","core_sha1","x","len","j","t","olda","oldb","oldc","oldd","olde","w","Array","a","b","c","d","e","rol","safe_add","sha1_ft","sha1_kt","core_hmac_sha1","key","data","bkey","str2binb","ipad","opad","hash","concat","y","lsw","msw","num","cnt","str","bin","mask","binb2str","binb2b64","binarray","triplet","tab","b64_hmac_sha1","b64_sha1","s","str_hmac_sha1","str_sha1","MD5","bit_rol","str2binl","binl2str","binl2hex","hex_tab","md5_cmn","q","md5_ff","md5_gg","md5_hh","md5_ii","core_md5","hexdigest","Function","prototype","bind","func","_slice","slice","_concat","_args","call","arguments","apply","isArray","arg","Object","toString","elt","from","Number","Math","ceil","floor","o","window","Strophe","$build","$iq","$msg","$pres","name","attrs","Builder","VERSION","NS","HTTPBIND","BOSH","CLIENT","AUTH","ROSTER","PROFILE","DISCO_INFO","DISCO_ITEMS","MUC","SASL","STREAM","FRAMING","BIND","SESSION","STANZAS","XHTML_IM","XHTML","tags","attributes","blockquote","br","cite","em","img","li","ol","p","span","strong","ul","body","css","validTag","tag","validAttribute","attribute","validCSS","style","Status","ERROR","CONNECTING","CONNFAIL","AUTHENTICATING","AUTHFAIL","CONNECTED","DISCONNECTED","DISCONNECTING","ATTACHED","REDIRECT","LogLevel","DEBUG","INFO","WARN","FATAL","ElementType","NORMAL","TEXT","CDATA","FRAGMENT","TIMEOUT","SECONDARY_TIMEOUT","addNamespace","value","forEachChild","elem","elemName","childNode","childNodes","nodeType","isTagEqual","el","tagName","_xmlGenerator","_makeGenerator","doc","undefined","document","implementation","createDocument","documentMode","_getIEXmlDom","appendChild","createElement","xmlGenerator","docStrings","ActiveXObject","xmlElement","k","node","xmlTextNode","attr","setAttribute","hasOwnProperty","xmlescape","text","xmlunescape","createTextNode","xmlHtmlNode","html","DOMParser","parser","parseFromString","async","loadXML","getText","nodeValue","copyElement","nodeName","createHtml","cssAttrs","cssName","cssValue","toLowerCase","getAttribute","cssText","split","push","join","createDocumentFragment","escapeNode","unescapeNode","getNodeFromJid","jid","getDomainFromJid","bare","getBareJidFromJid","parts","splice","getResourceFromJid","log","level","msg","debug","info","warn","error","fatal","serialize","result","tree","child","_requestId","_connectionPlugins","addConnectionPlugin","ptype","xmlns","nodeTree","up","parentNode","moreattrs","removeAttribute","cnode","impNode","xmlGen","importNode","newElem","h","fragment","innerHTML","xhtml","Handler","handler","ns","type","id","options","matchBare","user","isMatch","nsMatch","that","elem_type","run","sourceURL","line","message","fileName","console","trace","lineNumber","stack","TimedHandler","period","lastCalled","Date","getTime","reset","Connection","service","proto","protocol","_proto","Websocket","Bosh","domain","features","_sasl_data","do_session","do_bind","timedHandlers","handlers","removeTimeds","removeHandlers","addTimeds","addHandlers","_authentication","_idleTimeout","_disconnectTimeout","authenticated","connected","disconnecting","do_authentication","paused","restored","_data","_uniqueId","_sasl_success_handler","_sasl_failure_handler","_sasl_challenge_handler","maxRetries","setTimeout","_onIdle","F","init","_reset","_requests","pause","resume","getUniqueId","suffix","uuid","r","random","v","connect","pass","wait","hold","route","authcid","authzid","servtype","connect_callback","_changeConnectStatus","_connect","attach","sid","rid","wind","_attach","restore","_sessionCachingSupported","_restore","JSON","sessionStorage","setItem","removeItem","xmlInput","xmlOutput","rawInput","rawOutput","nextValidRid","send","_queueData","_send","flush","clearTimeout","sendIQ","errback","timeout","timeoutHandler","expectedFrom","fulljid","addHandler","stanza","deleteTimedHandler","acceptable","iqtype","addTimedHandler","deleteHandler","element","_sendRestart","thand","handRef","hand","disconnect","reason","pres","_addSysTimedHandler","_onDisconnectTimeout","_disconnect","_abortAllRequests","status","condition","plugin","statusChanged","err","_doDisconnect","_dataRecv","req","raw","_reqToData","strip","pop","_emptyQueue","cond","conflict","getElementsByTagName","newList","mechanisms","_connect_cb","_callback","bodyWrap","conncheck","sasl_scram_sha1","sasl_plain","sasl_digest_md5","sasl_anonymous","legacy_auth","hasFeatures","getElementsByTagNameNS","mech","matched","found_authentication","_no_auth_received","authenticate","higher","priority","swap","mechanism_found","test","_addSysHandler","_sasl_success_cb","_sasl_failure_cb","_sasl_challenge_cb","_sasl_mechanism","onStart","request_auth_exchange","mechanism","isClientFirst","response","onChallenge","_auth1_cb","to","challenge","iq","_auth2_cb","serverSignature","success","attribMatch","matches","match","onSuccess","streamfeature_handlers","wrapper","_sasl_auth1_cb","_sasl_bind_cb","resource","jidNode","_sasl_session_cb","onFailure","since","now","SASLMechanism","connection","_connection","Error","SASLAnonymous","SASLPlain","auth_str","SASLSHA1","test_cnonce","cnonce","nonce","salt","iter","Hi","U","U_old","clientKey","serverKey","clientSignature","responseText","authMessage","substr","SASLMD5","_quote","realm","host","qop","digest_uri","A1","A2","core","Request","sends","xmlData","origFunc","date","NaN","abort","dead","age","timeDead","xhr","_newXHR","getResponse","responseXML","documentElement","XMLHttpRequest","overrideMimeType","onreadystatechange","_conn","errors","_buildBody","keepalive","_cacheSession","xml:lang","content","ver","xmpp:version","xmlns:xmpp","_onRequestStateChange","_throttledRequestHandler","session","parse","getItem","stringify","typ","parseInt","_sendTerminate","_hitError","reqStatus","xmpp:restart","time_elapsed","readyState","reqIs0","reqIs1","_removeRequest","_restartRequest","_processRequest","self","primaryTimeout","secondaryTimeout","requestCompletedWithServerError","open","sync","setRequestHeader","e2","sendFunc","customHeaders","headers","header","backoff","min","pow","abs","new_service","location","pathname","_buildStream","version","_check_streamerror","connectstatus","textContent","errorString","_closeSocket","socket","WebSocket","onopen","_onOpen","onerror","_onError","onclose","_onClose","onmessage","_connect_cb_wrapper","_handleStreamStart","streamStart","see_uri","string","_streamWrap","_onMessage","CLOSED","close","closeString","rawStanza","search","firstChild","start","startString","build","Occupant","RoomConfig","XmppRoom","__bind","fn","me","rooms","roomNames","conn","_muc_handler","room","nick","msg_handler_cb","pres_handler_cb","roster_cb","password","history_attrs","extended_presence","room_nick","_ref","_this","test_append_nick","roomname","xquery","_i","_len","_message_handlers","_presence_handlers","leave","handler_cb","exit_msg","presence","presenceid","html_message","msgid","parent","removeChild","groupchat","invite","receiver","invitation","MUC_USER","directInvite","queryOccupants","success_cb","error_cb","configure","config","MUC_OWNER","cancelConfigure","saveConfiguration","conf","Form","toXML","createInstantRoom","roomiq","setTopic","topic","_modifyPrivilege","item","MUC_ADMIN","modifyRole","role","kick","voice","mute","op","deop","modifyAffiliation","affiliation","ban","member","revoke","owner","admin","changeNick","setStatus","show","listRooms","server","handle_cb","client","_roomRosterHandler","_addOccupant","roster","_roster_handlers","_handler_ids","muc","handler_type","removeHandler","occ","newnick","_parsePresence","update","c2","_j","_len1","_ref1","_ref2","_ref3","_ref4","_ref5","_ref6","_ref7","states","code","field","identity","query","_k","_len2","identities","var","label","_identities","_features","_items","_onDiscoInfo","_onDiscoItems","addIdentity","category","lang","addFeature","var_name","removeFeature","addItem","call_back","items","_buildIQResult","query_attrs","iqresult","$","HASH","_ver","_knownCapabilities","localStorage","_jidVerIndex","disco","CAPS","_delegateCapabilities","generateCapsAttrs","generateVer","sort","_sortIdentities","identitiesLen","featuresLen","curIdent","getCapabilitiesByJid","hasFeatureByJid","feature","makeArray","knownCapabilities","querySelector","trigger","_requestCapabilities","_handleDiscoInfoReply","childNodesLen","_attributesToJsObject","jQuery","buildIq","vCardEl","VCARD","get","set","createBookmarksNode","PUBSUB","add","roomJid","alias","autojoin","conferenceAttr","BOOKMARKS","delete","notify","$field","$form","$item","$opt","Field","Item","Option","helper","__slice","__indexOf","l","fill","src","target","klass","f","_results","createHtmlFieldCouple","div","append","toHTML","children","getHtmlFields","find","opt","toJSON","fields","reported","_types","title","instructions","xml","json","form","appendTo","fromXML","instr","fromHTML","addOptions","addOption","addValues","addValue","values","desc","required","_multiTypes","val","vals","multi","opts","txt","_htmlElementToFieldType","trim","fieldset","DATA","addNode","parseFromResult","_notificationReceived","CHATSTATES","addActive","composing","active","sendActive","_sendNotification","sendComposing","sendPaused","notification","n","u","require","exports","1","module","default","__esModule","core-js/library/fn/object/assign","2","3","placeHoldersCount","b64","byteLength","toByteArray","tmp","placeHolders","arr","Arr","L","revLookup","tripletToBase64","lookup","encodeChunk","uint8","end","fromByteArray","extraBytes","maxChunkLength","len2","Uint8Array","4","5","global","buffer","Buffer","SlowBuffer","MAX_LEN","kMaxLength","alloc","size","encoding","TypeError","RangeError","enc","_fill","buf","fillBuf","flen","allocUnsafe","encodingOrOffset","ArrayBuffer","offset","isBuffer","out","copy","allocUnsafeSlow","6","typedArraySupport","__proto__","foo","subarray","TYPED_ARRAY_SUPPORT","createBuffer","fromArrayBuffer","fromString","fromObject","assertSize","checked","isEncoding","actual","write","fromArrayLike","array","byteOffset","isnan","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","m","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","read","indexSize","readUInt16BE","arrLength","valLength","foundIndex","found","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","base64","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","codePoints","MAX_ARGUMENTS_LENGTH","ret","toHex","bytes","checkOffset","ext","checkInt","max","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","ieee754","writeDouble","base64clean","stringtrim","INVALID_BASE64_RE","units","Infinity","leadSurrogate","byteArray","hi","lo","dst","INSPECT_MAX_BYTES","poolSize","_augment","Symbol","species","defineProperty","configurable","_isBuffer","compare","list","pos","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","_arr","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","base64-js","isarray","7","CipherBase","hashMode","Transform","_finalOrDigest","final","_decoder","_encoding","inherits","StringDecoder","inputEnc","outputEnc","outData","_update","_toString","setAutoPadding","getAuthTag","setAuthTag","setAAD","_transform","_","next","_flush","done","_final","fin","stream","string_decoder","8","assign","../../modules/$.core","../../modules/es6.object.assign","9","it","10","11","__e","12","aFunction","./$.a-function","13","14","ctx","PROTOTYPE","$export","source","own","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","IS_WRAP","W","C","param","./$.core","./$.ctx","./$.global","15","exec","16","__g","17","cof","propertyIsEnumerable","./$.cof","18","$Object","create","getProto","getPrototypeOf","isEnum","getDesc","getOwnPropertyDescriptor","setDesc","setDescs","defineProperties","getKeys","keys","getNames","getOwnPropertyNames","getSymbols","getOwnPropertySymbols","each","forEach","19","toObject","IObject","A","K","T","$$","$$len","index","./$","./$.fails","./$.iobject","./$.to-object","20","defined","./$.defined","21","./$.export","./$.object-assign","22","objectToString","isBoolean","isNull","isNullOrUndefined","isNumber","isString","isSymbol","isUndefined","isRegExp","re","isObject","isDate","isError","isFunction","isPrimitive","../../is-buffer/index.js","23","HashNoConstructor","Base","_hash","buffers","Hash","md5","rmd160","sha","digest","alg","./md5","cipher-base","ripemd160","sha.js","24","toArray","bigEndian","intSize","zeroBuffer","toBuffer","hashSize","chrsz","25","helpers","./helpers","26","Hmac","blocksize","_alg","_key","createHash","ZEROS","_ipad","_opad","create-hash/browser","27","EventEmitter","_events","_maxListeners","defaultMaxListeners","setMaxListeners","emit","er","args","listeners","context","addListener","listener","newListener","warned","on","once","g","removeListener","fired","position","removeAllListeners","listenerCount","evlistener","emitter","28","prop","29","Sender","WildEmitter","chunksize","pacing","file","channel","Receiver","receiveBuffer","received","metadata","util","sliceFile","reader","FileReader","onload","readAsArrayBuffer","receive","binaryType","event","Blob","support","File","wildemitter","30","base","hashes","algo","actualhash","./filetransfer","iana-hashes","31","getUserMedia","cache","constraints","cb","hasConstraints","navigator","userAgent","chromever","maxver","isCef","chrome","webstore","getScreenMediaJSExtensionId","runtime","sendMessage","sourceId","audio","video","mandatory","chromeMediaSource","maxWidth","screen","width","maxHeight","height","maxFrameRate","chromeMediaSourceId","cefGetScreenMedia","optional","googLeakyBucket","googTemporalLayeredScreencast","pending","postMessage","ffver","mozMediaSource","mediaSource","lastTime","currentTime","polly","setInterval","clearInterval","onended","addEventListener","origin","getusermedia","32","haveOpts","defaultOpts","denied","altDenied","notSatisfied","mediaDevices","then","catch","webrtc-adapter","33","logging","browserDetails","extractVersion","disableLog","chromeShim","edgeShim","firefoxShim","safariShim","browser","shimPeerConnection","browserShim","shimGetUserMedia","shimMediaStream","shimSourceObject","shimOnTrack","./chrome/chrome_shim","./edge/edge_shim","./firefox/firefox_shim","./safari/safari_shim","./utils","34","MediaStream","webkitMediaStream","RTCPeerConnection","_ontrack","removeEventListener","_ontrackpoly","te","Event","track","streams","dispatchEvent","getTracks","HTMLMediaElement","_srcObject","URL","revokeObjectURL","createObjectURL","pcConfig","pcConstraints","iceTransportPolicy","iceTransports","pc","webkitRTCPeerConnection","origGetStats","getStats","selector","successCallback","errorCallback","fixChromeStats_","standardReport","reports","report","standardStats","timestamp","names","stat","makeMapStats","stats","legacyStats","map","Map","successCallbackWrapper_","Promise","resolve","reject","generateCertificate","method","nativeMethod","promise","nativeAddIceCandidate","addIceCandidate","RTCIceCandidate","RTCSessionDescription","attachMediaStream","srcObject","reattachMediaStream","../utils.js","./getusermedia","35","constraintsToChrome_","cc","ideal","exact","oldname_","prefix","toUpperCase","oc","mix","advanced","shimConstraints_","face","facingMode","getSupportedConstraints","enumerateDevices","devices","filter","kind","back","deviceId","shimError_","PermissionDeniedError","ConstraintNotSatisfiedError","constraint","constraintName","getUserMedia_","onError","webkitGetUserMedia","getUserMediaPromise_","kinds","MediaStreamTrack","getSources","device","groupId","origGetUserMedia","cs","36","SDPUtils","RTCIceGatherer","_eventTarget","onicecandidate","onaddstream","ontrack","onremovestream","onsignalingstatechange","oniceconnectionstatechange","onnegotiationneeded","ondatachannel","localStreams","remoteStreams","getLocalStreams","getRemoteStreams","localDescription","sdp","remoteDescription","signalingState","iceConnectionState","iceGatheringState","iceOptions","gatherPolicy","iceServers","usingBundle","bundlePolicy","urls","url","transceivers","_localIceCandidatesBuffer","_emitBufferedCandidates","sections","splitSections","candidate","sdpMLineIndex","complete","every","transceiver","iceGatherer","state","addStream","clone","_maybeFireNegotiationNeeded","removeStream","idx","getSenders","rtpSender","getReceivers","rtpReceiver","_getCommonCapabilities","localCapabilities","remoteCapabilities","commonCapabilities","codecs","headerExtensions","fecMechanisms","lCodec","rCodec","clockRate","numChannels","lHeaderExtension","rHeaderExtension","uri","_createIceAndDtlsTransports","mid","iceTransport","RTCIceTransport","onlocalcandidate","evt","sdpMid","cand","component","writeCandidate","onicestatechange","_updateConnectionState","dtlsTransport","RTCDtlsTransport","ondtlsstatechange","_transceive","recv","params","encodings","sendEncodingParameters","rtcp","cname","localCName","recvEncodingParameters","ssrc","setLocalDescription","description","sessionpart","_pendingOffer","shift","mediaSection","caps","parseRtpParameters","isIceLite","matchPrefix","rejected","remoteIceParameters","getIceParameters","cands","parseCandidate","setRemoteCandidates","remoteDtlsParameters","getDtlsParameters","_updateSignalingState","hasCallback","setRemoteDescription","receiverList","lines","splitLines","mline","direction","getDirection","parseRtpEncodingParameters","generateIdentifier","remoteSsrc","parseSsrcMedia","isComplete","addTrack","transports","RTCRtpReceiver","getCapabilities","localtrack","RTCRtpSender","trackEvent","stop","newState","new","closed","connecting","checking","completed","failed","disconnected","createOffer","offerOptions","tracks","numAudioTracks","numVideoTracks","getAudioTracks","getVideoTracks","offerToReceiveAudio","offerToReceiveVideo","wantReceive","writeSessionBoilerplate","writeMediaSection","createAnswer","addRemoteCandidate","mLineIndex","port","promises","results","all","../utils","37","38","mozSrcObject","mozRTCPeerConnection","newIceServers","newServer","username","credential","mozRTCSessionDescription","mozRTCIceCandidate","nativeGetStats","onSucc","onErr","39","SecurityError","The operation is insecure.","constraintsToFF37_","mozGetUserMedia","infos","orgEnumerateDevices","40","41","logDisabled_","utils","bool","uastring","expr","detectBrowser","minVersion","42","createHmac","getHashes","mapping","md2","sha-1","sha-224","sha-256","sha-384","sha-512","available","algorithm","./lib/get-hashes","create-hash","create-hmac","43","44","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","LN2","45","ctor","superCtor","super_","constructor","enumerable","writable","TempCtor","46","intersect","big","temp","47","isSlowBuffer","48","49","FileTransferSession","BaseSession","useJingle","onIceCandidate","onIceStateChange","onChannelAdded","sender","extend","FileTransfer","isInitiator","sent","_log","meta","contents","transport","application","applicationType","offer","sendChannel","createDataChannel","OfferToReceiveAudio","OfferToReceiveVideo","jingle","lastModifiedDate","accept","answer","silent","maybeReceivedFile","receivedFile","connectionState","onSessionInitiate","changes","handleOffer","onSessionAccept","handleAnswer","onSessionTerminate","onDescriptionInfo","onTransportInfo","processIce","extend-object","filetransfer/hashed","jingle-session","rtcpeerconnection","50","filterContentSources","payloads","mux","sources","parameters","sourceGroups","group","filterUnusedLabels","parameter","MediaSession","onIceEndOfCandidates","onAddStream","onRemoveStream","onAddChannel","_ringing","ringing","mediaType","media","senders","ring","creator","unmute","renegotiate","groups","addStream2","removeStream2","switchStream","oldStream","newStream","signalEndOfCandidates","lastCandidate","endOfCandidates","transportType","gatheringComplete","onSessionInfo","onSourceAdd","newDesc","ssrcs","newContent","newContentDesc","newSSRCs","newGroups","onSourceRemove","semantics","same","51","JingleSession","v4","peer","peerID","full","initiator","pendingApplicationTypes","applicationTypes","pendingAction","processingQueue","queue","task","ended","action","ACTIONS","content-accept","content-add","content-modify","content-reject","content-remove","description-info","security-info","session-accept","session-info","session-initiate","session-terminate","transport-accept","transport-info","transport-reject","transport-replace","source-add","source-remove","_sessionState","prev","_connectionState","starting","interrupted","requirePending","session-inititate","process","cancel","decline","kill","okKeys","responder","unknownPayload","jingleCondition","onContentAdd","onTransportReplace","52","noop","toBool","notId","only_once","_once","_isArrayLike","_isArray","_arrayEach","iterator","_map","_range","count","_reduce","memo","_forEachOf","object","_keys","_indexOf","_keyIterator","coll","_restParam","startIndex","rest","_withoutIndex","_eachOfLimit","nextKey","running","errored","replenish","doParallel","eachOf","doParallelLimit","doSeries","eachOfSeries","_asyncMap","eachfn","_filter","_reject","_createTester","check","getResult","iteratee","_findGetResult","_parallel","tasks","_queue","worker","concurrency","payload","_insert","started","idle","setImmediate","drain","unshift","saturated","_next","workers","removed","workersList","empty","resumeCount","_console_fn","_times","mapper","_applyEach","fns","go","ensureAsync","innerArgs","previous_async","noConflict","_isObject","_setImmediate","_delay","nextTick","forEachSeries","eachSeries","forEachLimit","eachLimit","forEachOf","forEachOfSeries","iterate","forEachOfLimit","eachOfLimit","mapSeries","mapLimit","inject","foldl","reduce","foldr","reduceRight","reversed","reverse","transform","select","selectLimit","filterLimit","selectSeries","filterSeries","rejectLimit","rejectSeries","any","some","someLimit","everyLimit","detect","detectSeries","detectLimit","sortBy","comparator","left","right","criteria","auto","taskComplete","remainingTasks","runningTasks","hasError","ready","requires","taskCallback","dep","safeResults","rkey","retry","times","parseTimes","acc","DEFAULT_TIMES","interval","DEFAULT_INTERVAL","wrappedTask","wrappedCallback","wrappedResults","retryAttempt","finalAttempt","seriesCallback","retryInterval","attempts","series","waterfall","wrapIterator","parallel","parallelLimit","makeCallback","callArgs","concatSeries","whilst","doWhilst","calls","until","doUntil","during","truth","doDuring","priorityQueue","_compareTasks","_binarySearch","sequence","beg","cargo","memoize","hasher","queues","has","memoized","unmemoized","unmemoize","timesSeries","timesLimit","seq","newargs","nextargs","compose","applyEach","applyEachSeries","forever","constant","wrapSync","asyncify","_process","53","SessionManager","selfID","sessions","peers","prepareSession","FileSession","performTieBreak","sess","matching","screenSharingSupport","webrtc","screenSharing","capabilities","peerConnectionConfig","peerConnectionConstraints","DtlsSrtpKeyAgreement","RtpDataChannels","addICEServer","addSession","extraData","extraData2","createMediaSession","createFileTransferSession","endPeerSessions","endAllSessions","_createIncomingSession","_sendError","isTieBreak","transportTypes","jingle-filetransfer-session","jingle-media-session","webrtcsupport","54","_interopRequireDefault","_shortcuts","_shortcuts2","_types2","JXT","use","./shortcuts","./types","55","_xmppConstants","Namespace","SERVER","COMPONENT","extendMessage","JXTClass","multiName","withMessage","Message","extendPresence","_this2","withPresence","Presence","extendIQ","_this3","withIQ","IQ","extendStreamFeatures","_this4","withStreamFeatures","StreamFeatures","extendPubsubItem","_this5","withPubsubItem","PubsubItem","withDefinition","withStanzaError","withDataForm","DATAFORM","PUBSUB_EVENT","getMessage","getDefinition","getPresence","getIQ","getStreamError","getIq","withIq","xmpp-constants","56","_xmppJid","Utils","jidAttribute","prepped","JID","jidSub","getSubText","setSubText","tzoSub","defaultVal","hrs","sign","formatted","xmpp-jid","57","Address","namespace","ADDRESS","delivered","boolAttribute","Addresses","subMultiExtension","58","_lodashForeach","_lodashForeach2","Avatar","AVATAR_METADATA","avatars","_avatars","findOrCreate","avatar","textSub","AVATAR_DATA","babel-runtime/helpers/interop-require-default","lodash.foreach","59","Bind","60","jidList","BLOCKING","Block","jids","Unblock","BlockList","61","BOB","cid","maxAge","numberAttribute","62","Conference","autoJoin","Bookmarks","PRIVATE","PrivateStorage","63","prefixes","xmpp","BOSH_XMPP","ack","authid","charsets","inactivity","maxpause","newKey","polling","resport","requests","time","langAttribute","restart","restartLogic","types","64","Sent","eventName","CARBONS_2","Received","Private","Enable","Disable","FORWARD_0","Forwarded","65","CONDITIONS","Command","ADHOC_COMMANDS","sessionid","execute","subAttribute","actions","actionSet","existing","Note","StanzaError","enumSub","DataForm","66","CSIFeature","CSI","topLevel","67","SINGLE_FIELDS","_type","boolSub","getMultiSubText","truthy","setMultiSubText","Media","DATAFORM_MEDIA","MediaURI","Validation","DATAFORM_VALIDATION","dataType","basic","regex","Range","ListRange","layoutContents","namespaceURI","DATAFORM_LAYOUT","localName","section","Section","sectionXML","Page","reportedFields","fieldTypes","multiTextSub","68","DelayedDelivery","DELAY","stamp","dateAttribute","69","DiscoCaps","DiscoInfo","multiSubAttribute","DiscoIdentity","DiscoItems","DiscoItem","RSM","70","STANZA_ERROR","gone","redirect","by","$text","getSubLangText","setSubLangText","71","Services","DISCO_EXTERNAL_1","Credentials","Service","72","FT_NS","FILE_TRANSFER_4","numberSub","dateSub","infoType","Checksum","HASHES_1","JINGLE_1","Content","Jingle","73","FILE_TRANSFER_3","Thumbnail","THUMBS_0","mimeType","subExtension","request","74","Delayed","75","seeOtherURI","76","GeoLoc","GEOLOC","accuracy","altitude","area","heading","bearing","building","country","countrycode","datum","latitude","locality","longitude","postalcode","region","speed","street","tzo","77","78","Hat","HATS_0","displayName","79","NS_IBB","NS_JIBB","IBB","blockSize","setText","_open","_close","JingleIBB","80","ICE","JINGLE_ICE_UDP_1","pwd","ufrag","RemoteCandidate","ip","Candidate","foundation","generation","network","relAddr","relPort","tcpType","Fingerprint","JINGLE_DTLS_0","setup","SctpMap","DTLS_SCTP_1","number","81","_addresses","_addresses2","_avatar","_avatar2","_bind","_bind2","_blocking","_blocking2","_bob","_bob2","_bookmarks","_bookmarks2","_bosh","_bosh2","_carbons","_carbons2","_command","_command2","_csi","_csi2","_dataforms","_dataforms2","_delayed","_delayed2","_disco","_disco2","_error","_error2","_extdisco","_extdisco2","_file","_file2","_file3","_file32","_forwarded","_forwarded2","_framing","_framing2","_geoloc","_geoloc2","_hash2","_hats","_hats2","_iceUdp","_iceUdp2","_ibb","_ibb2","_iq","_iq2","_jidprep","_jidprep2","_jingle","_jingle2","_json","_json2","_logging","_logging2","_mam","_mam2","_message","_message2","_mood","_mood2","_muc","_muc2","_nick","_nick2","_oob","_oob2","_ping","_ping2","_presence","_presence2","_private","_private2","_psa","_psa2","_pubsub","_pubsub2","_pubsubError","_pubsubError2","_pubsubEvents","_pubsubEvents2","_pubsubOwner","_pubsubOwner2","_push","_push2","_reach","_reach2","_register","_register2","_roster","_roster2","_rsm","_rsm2","_rtp","_rtp2","_rtt","_rtt2","_sasl","_sasl2","_session","_session2","_shim","_shim2","_sm","_sm2","_stream","_stream2","_streamError","_streamError2","_streamFeatures","_streamFeatures2","_time","_time2","_tune","_tune2","_vcard","_vcard2","_version","_version2","_visibility","_visibility2","./addresses","./avatar","./bind","./blocking","./bob","./bookmarks","./bosh","./carbons","./command","./csi","./dataforms","./delayed","./disco","./error","./extdisco","./file","./file3","./forwarded","./framing","./geoloc","./hash","./hats","./ibb","./iceUdp","./iq","./jidprep","./jingle","./json","./logging","./mam","./message","./mood","./muc","./nick","./oob","./ping","./presence","./private","./psa","./pubsub","./pubsubError","./pubsubEvents","./pubsubOwner","./push","./reach","./register","./roster","./rsm","./rtp","./rtt","./sasl","./session","./shim","./sm","./stream","./streamError","./streamFeatures","./time","./tune","./vcard","./version","./visibility","82","_Object$assign","internals","defineIQ","_toJSON","resultReply","errorReply","babel-runtime/core-js/object/assign","83","JID_PREP_0","84","REASONS","tagged","Info","_name","_extensions","disposition","Description","Transport","security","Security","securityType","Reason","alternativeSession","JINGLE_ERRORS_1","85","JSONExtension","JSON_0","86","Log","EVENTLOG","subject","facility","stackTrace","Tag","87","MAMQuery","MAM_0","queryid","Result","Fin","stable","Prefs","defaultCondition","always","container","never","88","defineMessage","thread","parentThread","$body","bodies","attention","ATTENTION_0","chatState","CHAT_STATES","CORRECTION_0","requestReceipt","RECEIPTS","receipt","89","MOODS","Mood","MOOD","90","proxy","UserItem","UserActor","Destroyed","Invite","continue","Decline","AdminItem","AdminActor","Destroy","actor","codes","MUCAdmin","MUCOwner","MUCJoin","history","hist","maxchars","maxstanzas","seconds","toISOString","DirectInvite","MUC_DIRECT_INVITE","MUC_UNIQUE","91","NICK","92","OOB","93","Ping","PING","94","definePresence","$status","statuses","idleSince","dateSubAttribute","IDLE_1","decloak","DECLOAK_0","avatarId","VCARD_TEMP_UPDATE","setBoolSub","95","96","PSA","97","Pubsub","getSubAttribute","getBoolSub","setSubAttribute","publishOptions","Configure","Subscribe","Subscription","subid","configurationRequired","Subscriptions","Affiliation","Affiliations","SubscriptionOptions","Unsubscribe","Publish","Retract","Retrieve","98","PUBSUB_ERRORS","pubsubCondition","99","EventPurge","EventDelete","EventSubscription","expiry","EventConfiguration","EventItems","retracted","EventItem","publisher","100","PubsubOwner","PUBSUB_OWNER","purge","del","101","PUSH_0","Notification","102","ReachURI","REACH_0","$desc","descs","reachability","reach","addrs","addr","103","Register","REGISTER","registered","remove","first","last","email","address","city","zip","phone","misc","104","Roster","force","RosterItem","subscription","subscriptionRequested","ask","preApproved","105","after","before","firstIndex","106","Feedback","JINGLE_RTP_RTCP_FB_0","subtype","fb","JINGLE_RTP_1","Bandwidth","bandwidth","RTP","encryption","Crypto","setBoolSubAttribute","feedback","JINGLE_RTP_HDREXT_0","hdr","PayloadType","channels","clockrate","maxptime","ptime","cipherSuite","keyParams","sessionParams","ContentGroup","JINGLE_GROUPING_0","SourceGroup","JINGLE_RTP_SSMA_0","Source","Mute","JINGLE_RTP_INFO_1","Unmute","107","TYPE_MAP","insert","erase","ACTION_MAP","RTT","RTT_0","108","Mechanisms","_lang","109","Session","110","SHIM","headerSet","111","SMFeature","SMACKS_3","previd","112","113","STREAM_ERROR","seeOtherHost","114","RosterVerFeature","ROSTER_VERSIONING","SubscriptionPreApprovalFeature","SUBSCRIPTION_PREAPPROVAL","115","EntityTime","TIME","utc","116","Tune","TUNE","artist","rating","117","VCardTemp","VCARD_TEMP","website","fullName","birthday","nicknames","Email","home","work","preferred","PhoneNumber","mobile","street2","postalCode","pobox","Organization","unit","Name","family","given","middle","Photo","118","Version","os","119","INVISIBLE_0","120","_LOOKUP","_LOOKUP_EXT","_TAGS","_CB_DEFINITION","_CB_TAG","_ID","stanzaConstructor","getExtensions","withTag","ParentJXT","ChildJXT","hideSingle","parentName","_NS","_EL","qName","extension","multiExtension","fieldName","Stanza","fieldNames","createRegistry","globalJXT","getGlobalJXT","./lib/helpers","./lib/stanza","./lib/types","lodash.assign","121","ltx","DOMElement","XML_NS","Element","parentNS","created","getAttributeNS","setAttributeNS","removeAttributeNS","getBoolAttribute","setBoolAttribute","subs","getBoolSubAttribute","getTextSub","setTextSub","extractor","builder","getMultiSubAttribute","setMultiSubAttribute","defaultLang","langs","ltx/lib/DOMElement","122","EXCLUDE","_PREFIXES","_isJXT","_eventname","allowedName","isExtensionName","nval","123","getter","setter","boolSubAttribute","getSubBoolAttribute","setSubBoolAttribute","subText","multiSubText","langTextSub","subLangText","b64Text","isFloat","parseFloat","attributeNS","enumValues","enumVal","exists","alreadyExists","elements","124","arrayEach","125","baseAssign","baseCopy","lodash._basecopy","lodash.keys","126","props","127","baseForOwn","baseFor","baseProperty","createBaseEach","eachFunc","fromRight","collection","getLength","isLength","iterable","createBaseFor","keysFunc","MAX_SAFE_INTEGER","baseEach","128","bindCallback","thisArg","argCount","accumulator","other","129","createAssigner","assigner","restParam","customizer","guard","isIterateeCall","lodash._bindcallback","lodash._isiterateecall","lodash.restparam","130","isObjectLike","getNative","isNative","objToString","funcTag","reIsNative","fnToString","reIsHostCtor","objectProto","RegExp","131","isArrayLike","isIndex","reIsUint","132","assignWith","lodash._baseassign","lodash._createassigner","133","addMapEntry","pair","addSetEntry","arrayPush","arrayReduce","initAccum","baseTimes","getValue","isHostObject","mapToArray","overArg","setToArray","entries","clear","entry","hashClear","__data__","nativeCreate","hashDelete","hashGet","HASH_UNDEFINED","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","lastIndex","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","LARGE_ARRAY_SIZE","arrayLikeKeys","inherited","isArguments","skipIndexes","assignValue","objValue","eq","copyObject","baseClone","isDeep","isFull","isArr","initCloneArray","copyArray","getTag","isFunc","genTag","cloneBuffer","objectTag","argsTag","initCloneObject","copySymbols","cloneableTags","initCloneByTag","stacked","getAllKeys","subValue","baseCreate","objectCreate","baseGetAllKeys","symbolsFunc","baseGetTag","baseIsNative","isMasked","pattern","toSource","baseKeys","isPrototype","nativeKeys","cloneArrayBuffer","arrayBuffer","cloneDataView","dataView","cloneMap","cloneFunc","cloneRegExp","regexp","reFlags","cloneSet","cloneSymbol","symbol","symbolValueOf","cloneTypedArray","typedArray","newValue","isKeyable","getPrototype","Ctor","arrayBufferTag","boolTag","dateTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","mapTag","numberTag","stringTag","regexpTag","setTag","symbolTag","maskSrcKey","funcToString","cloneDeep","isArrayLikeObject","stubArray","stubFalse","arrayTag","errorTag","promiseTag","weakMapTag","reRegExpChar","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","arrayProto","funcProto","coreJsData","uid","IE_PROTO","nativeGetSymbols","nativeIsBuffer","DataView","Set","WeakMap","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","valueOf","ctorString","134","createForEach","arrayFunc","lodash._arrayeach","lodash._baseeach","lodash.isarray","135","136","nativeIsArray","137","shimKeys","keysIn","propsLength","allowIndexes","isProto","lodash._getnative","lodash.isarguments","138","FUNC_ERROR_TEXT","nativeMax","otherArgs","139","Parser","escape","equal","tagString","is","nameEqual","attrsEqual","childrenEqual","isNode","isElement","isText","escapeXML","unescapeXML","escapeXMLText","unescapeXMLText","./lib/Element","./lib/Parser","./lib/createElement","./lib/equal","./lib/escape","./lib/is","./lib/parse","./lib/tag","./lib/tagString","140","_getElement","getName","getNS","getChildren","getAttr","nss","getXmlns","./Element","141","setAttrs","equality","findNS","namespaces","getChild","getChildByAttr","recursive","getChildrenByAttr","getChildrenByFilter","getChildText","getChildElements","_addChildren","writer","nameEquals","attrsEquals","childrenEquals","./clone","./equal","./escape","142","LtxParser","ParserInterface","DefaultParser","ElementInterface","DefaultElement","./parsers/ltx","events","143","144","145","146","escapeXMLReplace","escapeXMLTable","unescapeXMLReplace","unescapeXMLTable","&","<",">","\"","'","&amp;","&#38;","&lt;","&#60;","&gt;","&#62;","&quot;","&#34;","&apos;","&#39;","147","148","./Parser","149","STATE_TEXT","STATE_IGNORE_TAG","STATE_TAG_NAME","STATE_TAG","STATE_ATTR_NAME","STATE_ATTR_EQ","STATE_ATTR_QUOT","STATE_ATTR_VALUE","SaxLtx","remainder","endTag","selfClosing","attrQuote","attrName","recordStart","_handleTagOpening","endRecording","recorded","../escape","150","./parse","./tagString","151","literals","152","arg1","arg2","arg3","153","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queueIndex","drainQueue","env","argv","versions","off","binding","cwd","chdir","umask","154","mapDomain","regexSeparators","labels","encoded","ucs2decode","extra","counter","ucs2encode","stringFromCharCode","basicToDigit","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","damp","baseMinusTMin","tMax","skew","oldi","baseMinusT","inputLength","initialN","bias","initialBias","delimiter","maxInt","tMin","handledCPCount","basicLength","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","regexPunycode","toASCII","regexNonASCII","punycode","overflow","not-basic","invalid-input","ucs2","155","./lib/_stream_duplex.js","156","Duplex","Readable","Writable","readable","allowHalfOpen","onend","_writableState","processNextTick","onEndNT","objectKeys","./_stream_readable","./_stream_writable","core-util-is","process-nextick-args","157","PassThrough","chunk","./_stream_transform","158","prependListener","ReadableState","objectMode","readableObjectMode","hwm","highWaterMark","defaultHwm","BufferList","pipes","pipesCount","flowing","endEmitted","reading","needReadable","emittedReadable","readableListening","resumeScheduled","defaultEncoding","ranOut","awaitDrain","readingMore","decoder","_readableState","_read","Stream","readableAddChunk","addToFront","chunkInvalid","onEofChunk","_e","skipAdd","emitReadable","maybeReadMore","needMoreData","computeNewHighWaterMark","MAX_HWM","howMuchToRead","head","emitReadable_","flow","maybeReadMore_","pipeOnDrain","EElistenerCount","nReadingNextTick","resume_","fromList","fromListPartial","hasStrings","copyFromBufferString","copyFromBuffer","nb","tail","bufferShim","endReadable","endReadableNT","xs","debugUtil","debuglog","isPaused","setEncoding","nOrig","doRead","pipe","dest","pipeOpts","onunpipe","cleanup","onfinish","ondrain","ondata","cleanedUp","needDrain","increasedAwaitDrain","unpipe","doEnd","stdout","stderr","endFn","dests","ev","wrap","_fromList","./_stream_duplex","./internal/streams/BufferList","buffer-shims","string_decoder/","159","TransformState","afterTransform","needTransform","transforming","writecb","writechunk","writeencoding","ts","_transformState","rs","ws","_write","160","nop","WriteReq","WritableState","writableObjectMode","ending","finished","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writelen","bufferedRequest","lastBufferedRequest","pendingcb","prefinished","errorEmitted","bufferedRequestCount","corkedRequestsFree","CorkedRequest","writev","_writev","writeAfterEnd","validChunk","valid","decodeChunk","writeOrBuffer","doWrite","onwriteError","onwriteStateUpdate","needFinish","clearBuffer","asyncWrite","afterWrite","onwriteDrain","finishMaybe","holder","finish","prefinish","need","endWritable","internalUtil","deprecate","getBuffer","current","cork","uncork","setDefaultEncoding","util-deprecate","161","162","./lib/_stream_passthrough.js","163","READABLE_STREAM","./lib/_stream_readable.js","./lib/_stream_transform.js","./lib/_stream_writable.js","164","165","166","bytesToWords","words","wordsToBytes","processBlock","H","M","offset_i","M_offset_i","al","bl","cl","dl","ar","cr","dr","zl","f1","hl","f2","f3","f4","f5","rotl","sl","zr","hr","sr","z","nBitsLeft","nBitsTotal","H_i","digestbytes","167","PeerConnection","detectedBrowser","adapter","enableChromeNativeSimulcast","appVersion","enableMultiStreamHacks","restrictBandwidth","andyetRestrictBandwidth","batchIceCandidates","andyetBatchIce","batchedIceCandidates","andyetFasterICE","eliminateDuplicateCandidates","andyetDontSignalCandidates","dontSignalCandidates","assumeSetLocalSuccess","andyetAssumeSetLocalSuccess","wtFirefox","andyetFirefoxMakesMeSad","firefoxcandidatebuffer","Peerconn","_onIce","_onDataChannel","sdpSessionID","iceCredentials","local","remote","logger","hadLocalStunCandidate","hadRemoteStunCandidate","hadLocalRelayCandidate","hadRemoteRelayCandidate","hadLocalIPv6Candidate","hadRemoteIPv6Candidate","_remoteDataChannels","_localDataChannels","_candidateBuffer","SJJ","_role","localStream","_checkLocalCandidate","toCandidateJSON","_checkRemoteCandidate","contentNames","candidates","remoteContent","processCandidates","iceCandidate","toCandidateSDP","toSessionSDP","mediaConstraints","expandedOffer","toSessionJSON","googConferenceFlag","hasBw","answerAudioOnly","_answer","answerBroadcastOnly","sim","hasSim","newssrc","rtxssrc","expandedAnswer","ice","expandedCandidate","already","rtcpMuxPolicy","newCand","lodash.clonedeep","sdp-jingle-json","traceablepeerconnection","168","toSDP","toIncomingSDPOffer","toOutgoingSDPOffer","toIncomingSDPAnswer","toOutgoingSDPAnswer","toIncomingMediaSDPOffer","toMediaSDP","toOutgoingMediaSDPOffer","toIncomingMediaSDPAnswer","toOutgoingMediaSDPAnswer","toIncomingJSONOffer","creators","toOutgoingJSONOffer","toIncomingJSONAnswer","toOutgoingJSONAnswer","toIncomingMediaJSONOffer","toMediaJSON","toOutgoingMediaJSONOffer","toIncomingMediaJSONAnswer","toOutgoingMediaJSONAnswer","./lib/tojson","./lib/tosdp","169","findLine","mediaLines","sessionLines","prefixLength","findLines","formats","rtpmap","sctpmap","fmtp","kv","crypto","fingerprint","extmap","idpart","sp","rtcpfb","substring","msid","mslabel","170","incoming","both","none","recvonly","sendonly","sendrecv","inactive","outgoing","171","SENDERS","parsers","idCounter","_setIdCounter","groupLines","fingerprints","sctp","trans","rtpmapLines","fmtpLines","fbLines","cryptoLines","extLines","ssrcGroupLines","ssrcLines","msidLine","fingerprintLines","fp","ufragLine","pwdLine","candidateLines","sctpmapLines","./parsers","./senders","172","hasSources","pushedSetup","hdrExts","ssrcGroups","ssrcGroup","173","blob","part","relatedAddress","relatedPort","parseRtpMap","payloadType","writeRtpMap","codec","pt","preferredPayloadType","parseExtmap","writeExtmap","headerExtension","preferredId","parseFmtp","writeFmtp","parseRtcpFb","writeRtcpFb","rtcpFeedback","colon","fpLine","dtlsParameters","writeDtlsParameters","setupType","iceParameters","usernameFragment","writeIceParameters","rtpmapline","fmtps","writeRtpDescription","secondarySsrc","encodingParameters","hasRed","hasUlpfec","primarySsrc","flows","apt","encParam","codecPayloadType","rtx","fec","maxBitrate","getLocalParameters","174","finalSize","_block","_finalSize","_blockSize","_s","ch","175","Algorithm","sha1","sha224","sha256","sha384","sha512","./sha","./sha1","./sha224","./sha256","./sha384","./sha512","176","Sha","_w","rotl5","rotl30","ft","_a","_b","_c","_d","177","Sha1","rotl1","178","Sha224","Sha256","_f","_g","_h","179","maj","sigma0","sigma1","gamma0","gamma1","T1","T2","180","Sha384","SHA512","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","writeInt64BE","181","Sha512","Ch","xl","Gamma0","Gamma0l","Gamma1","Gamma1l","getCarry","ah","bh","dh","eh","fh","gh","hh","fl","gl","xh","gamma0l","gamma1l","Wi7h","Wi7l","Wi16h","Wi16l","Wil","Wih","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Kih","Kil","chh","chl","t1l","t1h","t2l","t2h","182","EE","didOnEnd","destroy","_isStdio","readable-stream/duplex.js","readable-stream/passthrough.js","readable-stream/readable.js","readable-stream/transform.js","readable-stream/writable.js","183","assertEncoding","isBufferEncoding","passThroughWrite","utf16DetectIncompleteChar","charReceived","charLength","base64DetectIncompleteChar","surrogateSize","detectIncompleteChar","charBuffer","charStr","charCode","184","dumpSDP","dumpStream","TraceablePeerConnection","peerconnection","what","failureCallback","185","dup","186","187","188","189","190","191","192","193","194","deprecated","195","196","197","seen","stylize","stylizeNoColor","depth","colors","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","styles","arrayToHash","recurseTimes","primitive","formatPrimitive","visibleKeys","formatError","braces","toUTCString","formatArray","formatProperty","reduceToSingleString","simple","numLinesEst","cur","pad","getHours","getMinutes","getSeconds","getDate","months","getMonth","formatRegExp","format","objects","throwDeprecation","traceDeprecation","noDeprecation","debugEnviron","debugs","NODE_DEBUG","pid","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","special","boolean","null","./support/isBuffer","198","rng","msCrypto","getRandomValues","_rnds8","_rnds","199","ii","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","_nodeId","rnds","_rng","_seedBytes","./rng","200","requestUserMedia","webrtcDetectedBrowser","webrtcDetectedVersion","webrtcMinimumVersion","webrtcUtils","constraintsToFF37","fixChromeStats","successCallbackWrapper","constraintsToChrome","oldname","writeFtmp","sendSsrc","recvSsrc","answerOptions","webrtcTesting","201","202","203","DOMException","204","_config","getConfiguration","isDatachannel","localTrack","205","206","207","208","209","210","PC","IceCandidate","SessionDescription","AudioContext","webkitAudioContext","videoEl","supportVp8","canPlayType","msGetUserMedia","browserVersion","supportRTCPeerConnection","supportGetUserMedia","supportDataChannel","supportWebAudio","createMediaStreamSource","supportMediaStream","removeTrack","supportScreenSharing","dataChannel","webAudio","mediaStream","211","mixin","isWildEmitter","groupName","callbacks","hasGroup","_groupName","releaseGroup","specialCallbacks","getWildcardCallbacks","212","PubSub","./lib/jingle","./lib/muc","./lib/namespaces","./lib/presence","./lib/pubsub","213","Action","CONTENT_ACCEPT","CONTENT_ADD","CONTENT_MODIFY","CONTENT_REJECT","CONTENT_REMOVE","DESCRIPTION_INFO","SECURITY_INFO","SESSION_ACCEPT","SESSION_INFO","SESSION_INITIATE","SESSION_TERMINATE","TRANSPORT_ACCEPT","TRANSPORT_INFO","TRANSPORT_REJECT","TRANSPORT_REPLACE","ALTERNATIVE_SESSION","BUSY","CANCEL","CONNECTIVITY_ERROR","DECLINE","EXPIRED","FAILED_APPLICATION","FAILED_TRANSPORT","GENERAL_ERROR","GONE","INCOMPATIBLE_PARAMETERS","MEDIA_ERROR","SECURITY_ERROR","SUCCESS","UNSUPPORTED_APPLICATIONS","UNSUPPORTED_TRANSPORTS","Condition","OUT_OF_ORDER","TIE_BREAK","UNKNOWN_SESSION","UNSUPPORTED_INFO","214","REALJID_PUBLIC","AFFILIATION_CHANGED","UNAVAILABLE_SHOWN","UNAVAILABLE_NOT_SHOWN","CONFIGURATION_CHANGED","SELF_PRESENCE","LOGGING_ENABLED","LOGGING_DISABLED","NON_ANONYMOUS","SEMI_ANONYMOUS","FULLY_ANONYMOUS","ROOM_CREATED","NICK_ASSIGNED","BANNED","NEW_NICK","KICKED","REMOVED_AFFILIATION","REMOVED_MEMBERSHIP","REMOVED_SHUTDOWN","ADMIN","MEMBER","NONE","OUTCAST","OWNER","Role","MODERATOR","PARTICIPANT","VISITOR","215","RPC","LAST_ACTIVITY","PRIVACY","SEARCH","SOCKS5","HTTP_AUTH","AMP","ROSTER_DELIMITER","ACTIVITY","COMPRESSION","ROSTER_EXCHANGE","ROSTER_NOTES","CAPTCHA","JINGLE_RTP_ERRORS_1","LANG_TRANS","LANG_TRANS_ITEMS","JINGLE_RAW_UDP_1","SEC_LABEL_0","SEC_LABEL_CATALOG_2","SEC_LABEL_ESS_0","JINGLE_SOCKS5_1","JINGLE_IBB_1","JINGLE_RTP_ZRTP_1","THUMBS_1","DECLOAKING_0","MAM_TMP","HINTS","COLIBRI","JINGLE_MSG_INITIATE_0","JINGLE_PUB_1","216","Type","SUBSCRIBE","SUBSCRIBED","UNSUBSCRIBE","UNSUBSCRIBED","PROBE","UNAVAILABLE","Show","CHAT","AWAY","DO_NOT_DISTURB","EXTENDED_AWAY","217","PUBLISHER","PUBLISH_ONLY","PENDING","UNCONFIGURED","AccessModel","OPEN","PRESENCE","AUTHORIZE","WHITELIST","CONFLICT","218","bareJID","fullJID","StringPrep","ASCII","prep","unescapedLocal","nodeprep","unescape","resourceprep","nameprep","unescapedBare","unescapedFull","trusted","resourceStart","localEnd","preppedJID","jid1","jid2","requirePrep","equalBare","isBare","hasResource","localOrJID","_isJID","./lib/stringprep","219","220","JSM","RTC","GUM","GSM","jxt","IqStanza","peer_constraints","AUTOACCEPT","manager","getScreenMedia","MozDontOfferDataChannel","mozDontOfferDataChannel","terminated","peerStreamAdded","peerStreamRemoved","log:error","onJingle","parseXML","outerHTML","initiate","peerjid","terminate","terminateByJid","setICEServers","servers","setPeerConstraints","getscreenmedia","jxt-xmpp","jxt-xmpp-types","webrtc-adapter-test","Salsa20","rounds","sigmaWords","keyWords","nonceWords","counterWords","block","blockUsed","setKey","setNonce","getBytes","numberOfBytes","_generateBlock","_incrementCounter","getHexString","hex","j0","j1","j2","j3","j4","j5","j6","j7","j8","j9","j10","j11","j12","j13","j14","j15","x0","x1","x2","x3","x4","x5","x6","x7","x8","x9","x10","x11","x12","x13","x14","x15","BigInt","findPrimes","ans","millerRabin","mr_x1","mr_r","mr_a","copy_","addInt_","isZero","bpe","rightShift_","powMod_","equalsInt","squareMod_","bitSize","expand","int2bigInt","mod","mod_","mult","mult_","powMod","sub_","add_","inverseMod","inverseMod_","multMod","multMod_","randBigInt","randBigInt_","randomBitInt","copyInt_","eg_u","eg_v","eg_A","eg_B","eg_C","eg_D","halve_","greater","negative","inverseModInt","greaterShift","kx","ky","divide_","y1","y2","leftShift_","subShift_","radix","linCombShift_","addShift_","modInt","bits","minSize","buff","str2bigInt","kk","bb","digitsStr","multInt_","bigInt2str","s6","divInt_","ys","ss","s4","s5","s0","k1","k2","kn","np","s7","s3","mont_","one","ui","t2","ks","sa","divMod","den","subMod","two","twoToThe","bigInt2bits","bi","ba","_num2bin","ba2bigInt","mpi","getSeed","randomBytes","randomByte","primes","CryptoJS","C_lib","lib","overrides","mixIn","$super","instance","properties","propertyName","WordArray","sigBytes","encoder","Hex","wordArray","thisWords","thatWords","thisSigBytes","thatSigBytes","clamp","thatByte","C_enc","hexChars","bite","hexStr","hexStrLength","Latin1","latin1Chars","latin1Str","latin1StrLength","Utf8","decodeURIComponent","utf8Str","encodeURIComponent","BufferedBlockAlgorithm","_nDataBytes","_append","doFlush","dataWords","dataSigBytes","blockSizeBytes","nBlocksReady","_minBufferSize","nWordsReady","nBytesReady","_doProcessBlock","processedWords","C_algo","Hasher","cfg","_doReset","messageUpdate","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","base64Chars","byte1","byte2","byte3","paddingChar","base64Str","base64StrLength","paddingIndex","bits1","bits2","Cipher","EvpKDF","createEncryptor","_ENC_XFORM_MODE","createDecryptor","_DEC_XFORM_MODE","xformMode","_xformMode","dataUpdate","finalProcessedData","keySize","ivSize","selectCipherStrategy","PasswordBasedCipher","SerializableCipher","cipher","encrypt","decrypt","ciphertext","C_mode","StreamCipher","finalProcessedBlocks","mode","BlockCipherMode","iv","Encryptor","Decryptor","_cipher","_iv","CBC","xorBlock","_prevBlock","encryptBlock","thisBlock","decryptBlock","C_pad","Pkcs7","nPaddingBytes","paddingWord","paddingWords","padding","unpad","CipherParams","BlockCipher","modeCreator","_mode","cipherParams","formatter","C_format","OpenSSLFormatter","OpenSSL","openSSLStr","ciphertextWords","encryptor","cipherCfg","_parse","plaintext","C_kdf","kdf","OpenSSLKdf","compute","derivedParams","SBOX","INV_SBOX","SUB_MIX_0","SUB_MIX_1","SUB_MIX_2","SUB_MIX_3","INV_SUB_MIX_0","INV_SUB_MIX_1","INV_SUB_MIX_2","INV_SUB_MIX_3","xi","sx","RCON","AES","nRounds","_nRounds","ksRows","keySchedule","_keySchedule","ksRow","invKeySchedule","_invKeySchedule","invKsRow","_doCryptBlock","s1","s2","round","t0","t1","t3","HmacSHA1","isPrime","sqrtN","sqrt","factor","getFractionalBits","nPrime","SHA256","gamma0x","gamma1x","HmacSHA256","_hasher","hasherBlockSize","hasherBlockSizeBytes","oKey","_oKey","iKey","_iKey","oKeyWords","iKeyWords","innerHash","hmac","NoPadding","CTR","_counter","keystream","indexOfListener","getListeners","_getEvents","flattenListeners","flatListeners","getListenersAsObject","listenerIsWrapped","addOnceListener","defineEvent","defineEvents","evts","addListeners","manipulateListeners","removeListeners","single","multiple","removeEvent","emitEvent","_getOnceReturnValue","setOnceReturnValue","_onceReturnValue","OTR","DSA","CONST","N","MSGSTATE_PLAINTEXT","MSGSTATE_ENCRYPTED","MSGSTATE_FINISHED","AUTHSTATE_NONE","AUTHSTATE_AWAITING_DHKEY","AUTHSTATE_AWAITING_REVEALSIG","AUTHSTATE_AWAITING_SIG","WHITESPACE_TAG","WHITESPACE_TAG_V2","WHITESPACE_TAG_V3","OTR_TAG","OTR_VERSION_1","OTR_VERSION_2","OTR_VERSION_3","SMPSTATE_EXPECT0","SMPSTATE_EXPECT1","SMPSTATE_EXPECT2","SMPSTATE_EXPECT3","SMPSTATE_EXPECT4","STATUS_SEND_QUERY","STATUS_AKE_INIT","STATUS_AKE_SUCCESS","STATUS_END_OTR","intCompare","HLP","DTS","BYTE","SHORT","INT","MAC","SIG","WRAPPER_BEGIN","WRAPPER_END","TWO","__super__","str1","str2","randomExponent","smpHash","fmpi","smpi","packBytes","packMPI","bits2bigInt","makeMac","aesctr","mac","make1Mac","encryptAes","aesctr_decoded","decryptAes","multPowMod","ZKP","GTOE","between","checkGroup","N_MINUS_2","h1","secbytes","h2","nex","packINT","packCtr","padCtr","ctr","unpackCtr","unpack","packData","packSHORT","short","unpackSHORT","packTLV","readLen","readData","readMPI","packMPIs","prv","unpackMPIs","mpis","splitype","wrapMsg","fs","v3","our_it","their_it","its","ei","frag","mf","mfs","_bin2num","rv","ary","iz","remain","timer","makeRandom","isProbPrime","rpprb","generatePrimes","bit_length","rem","repeat","bit_lengths","LM1","bl4","brk","ONE","pm1","KEY_TYPE","ZERO","nocache","tokenizeStr","splt","es","parseLibotr","Worker","WWPath","__dirname","1024","2048","packPublic","packPrivate","generateNonce","priv","rand","pk","parsePublic","parsePrivate","libotr","dsa","verify","hm","u1","u2","createInWebWorker","path","seed","imports","Parse","parseMsg","otr","initFragment","ind","com","msgFragment","vers","qs","qi","cls","instance_tags","ERROR_START_AKE","sendQueryMsg","checkInstanceTags","hMac","gx","gy","kid","AKE","our_dh","our_old_dh","our_keyid","their_y","their_keyid","their_priv_pk","ssid","transmittedRS","meth","createKeys","privateKey","c_prime","m1","m2","m1_prime","m2_prime","verifySignMac","our_dh_pk","vmac","pub","makeM","publicKey","akeSuccess","their_old_y","sessKeys","DHSession","otr_version","authstate","msgstate","myhashed","dhcommit","encrypted","hashed","sendStored","handleAKE","vsm","ourHash","theirHash","gxmpi","sendMsg","our_instance_tag","their_instance_tag","fragment_size","io","initiateAKE","SM","reqs","our_fp","their_fp","Q","smpstate","secret","makeSecret","our","makeG2s","a2","a3","g2a","g3a","computeGs","g2","g3","computePQ","computeR","QoQ","computeRab","computeC","computeD","handleSM","r2","r3","r7","t4","rab","tmp2","cR","d7","ms","trust","expectStates","question","g3ao","c3","d2","d3","r4","r5","r6","cP","d5","d6","PoP","rcvSecret","OTRCB","send_interval","instance_tag","makeInstanceTag","smw","SMWPath","MAX_INT","MAX_UINT","ALLOW_V2","ALLOW_V3","REQUIRE_ENCRYPTION","SEND_WHITESPACE_TAG","WHITESPACE_START_AKE","storedMgs","oldMacKeys","sm","_akeInit","receivedPlaintext","ake","_SMW","_smInit","prepareMsg","sq","sendbyte","rcvbyte","sendenc","sendmac","rcvenc","rcvmac","rcvmacused","extra_symkey","send_counter","rcv_counter","rotateOurKeys","sk","rotateTheirKeys","esk","aes","handleDataMsg","vt","ign","handleTLVs","tlvs","smpSecret","vs","receiveMsg","doAKE","severity","sendFile","filename","l1name","endOtr","i18next","R","interpolation","unescapeSuffix","interpolationPrefix","interpolationSuffix","escapeValue","escapeInterpolation","nestingPrefix","reusePrefix","nestingSuffix","reuseSuffix","resStore","resources","defaultNs","defaultNS","fallbackToDefaultNS","fallbackNS","saveMissing","sendMissing","saveMissingTo","sendMissingTo","returnNull","fallbackOnNull","returnEmptyString","fallbackOnEmpty","returnObjects","returnObjectTrees","joinArrays","returnedObjectHandler","objectTreeKeyHandler","parseMissingKeyHandler","parseMissingKey","appendNamespaceToMissingKey","nsSeparator","nsseparator","keySeparator","keyseparator","shortcutFunction","overloadTranslationOptionHandler","postProcess","sprintf","whitelist","lngWhitelist","preload","load","backend","loadPath","resGetPath","addPath","resPostPath","allowMultiLoading","dynamicLoad","expirationTime","enabled","useLocalStorage","defaultVariables","lng","services","languageUtils","toResolveHierarchy","language","loadLanguages","setLng","fixLng","getFixedT","changeLanguage","addPostProcessor","lngs","numbers","nr","plurals","fc","initImmediate","fallbackLng","nonExplicitWhitelist","pluralSeparator","contextSeparator","missingKeyHandler","defaultValue","formatSeparator","unescapePrefix","_invoke","return","asyncIterator","throw","await","setPrototypeOf","O","ReferenceError","_output","setDebug","forward","observers","/","E","addNamespaces","removeNamespaces","getResource","addResource","addResources","addResourceBundle","removeResourceBundle","hasResourceBundle","getResourceBundle","compatibilityAPI","processors","handle","extractFromKey","translate","extendTranslation","isValidLookup","getFallbackCodes","backendConnector","interpolator","interpolate","nest","applyPostProcessor","pluralResolver","getSuffix","resourceStore","getLanguagePartFromCode","formatLanguageCode","getScriptPartFromCode","lowerCaseLng","cleanCode","isWhitelisted","rules","addRule","getRule","needsPlural","noAbs","prepend","compatibilityJSON","V","prefixEscaped","suffixEscaped","nestingPrefixEscaped","nestingSuffixEscaped","resetRegExp","regexpUnescape","nestingRegexp","store","queueLoad","loaded","toLoad","toLoadLanguages","toLoadNamespaces","readMulti","reload","I","save","modules","isInitialized","isClone","cacheConnector","languageDetector","detection","translator","loadResources","reloadResources","languages","cacheUserLanguage","setDefaultNamespace","loadNamespaces","createInstance","cloneInstance","D","jqueryI18next","parseDefaultValueFromContent","selectorAttr","targetAttr","useOptionsAttr","optionsAttr","tName","i18nName","handleName","Zepto","className","triggerHandler","st","currTemplate","closeBtn","closeMarkup","tClose","magnificPopup","transition","isLowIE","isIE8","isAndroid","isIOS","supportsTransition","probablyMobile","popupsCache","isObj","isOpen","updateItemHTML","mainEl","defaults","fixedContentPos","modal","closeOnContentClick","closeOnBgClick","showCloseBtn","enableEscapeKey","bgOverlay","_checkIfClose","contentContainer","preloader","tLoading","closeBtnInside","close_replaceWith","alignTop","overflowY","overflowX","top","scrollTop","fixedBgPos","keyCode","updateSize","addClass","wH","_hasScrollBar","_getScrollbarSize","marginRight","isIE7","mainClass","_addClassToMFP","prependTo","_lastFocusedEl","activeElement","_setFocus","_onFocusIn","removalDelay","detach","_removeClassFromMFP","removeAttr","currItem","autoFocusLast","focus","prevHeight","clientWidth","innerWidth","innerHeight","parseEl","markup","removeClass","appendContent","preloaded","hasClass","addGroup","mfpEl","_openClick","delegate","midClick","which","ctrlKey","metaKey","altKey","shiftKey","disableOn","preventDefault","stopPropagation","updateStatus","stopImmediatePropagation","contains","scrollHeight","_parseMarkup","replaceWith","scrollbarSize","offsetWidth","registerModule","hiddenClass","tNotFound","initInline","getInline","inline","inlineElement","J","settings","cursor","tError","initAjax","ajax","getAjax","loadError","image","titleSrc","verticalFit","initImage","resizeImage","_onImageHasSize","hasSize","isCheckingImgSize","imgHidden","findImageSize","naturalWidth","getImage","alt","img_replaceWith","loading","MozTransform","easing","duration","opener","initZoom","zoom","zIndex","-webkit-backface-visibility","_allowZoom","_getItemToZoom","_getOffset","offsetHeight","srcAction","patterns","youtube","vimeo","gmaps","initIframe","getIframe","iframe","arrowMarkup","navigateByImgClick","arrows","tPrev","tNext","tCounter","initGallery","gallery","arrowLeft","arrowRight","click","_preloadTimeout","preloadNearbyImages","goTo","_preloadItem","replaceSrc","ratio","initRetina","devicePixelRatio","retina","max-width","Favico","drawVideo","_stop","_context","clearRect","drawImage","_drawTimeout","animation","link","setIcon","_canvas","hexToRgb","shorthandRegex","merge","def","attrname","mergedOpt","isPageHidden","_doc","hidden","msHidden","webkitHidden","mozHidden","_opt","_orig","_img","_ready","_lastBadge","_running","_readyCb","_browser","_animTimeout","_def","bgColor","textColor","fontFamily","fontStyle","elementId","dataUrl","win","ff","InstallTrigger","opera","ie","safari","HTMLElement","supported","isUp","isLeft","step","getIcon","hasAttribute","getContext","icon","circle","more","beginPath","font","textAlign","moveTo","lineTo","quadraticCurveTo","arc","PI","fillStyle","closePath","stroke","fillText","rectangle","fillRect","badge","imageElement","newImg","videoElement","webcam","newVideo","oGetUserMedia","play","elm","getLink","getElementById","canvas","toDataURL","old","fade","popFade","slide","revert","animationType","emojioneList",":kiss_ww:","unicode","fname","uc","isCanonical",":couplekiss_ww:",":kiss_mm:",":couplekiss_mm:",":family_mmbb:",":family_mmgb:",":family_mmgg:",":family_mwbb:",":family_mwgb:",":family_mwgg:",":family_wwbb:",":family_wwgb:",":family_wwgg:",":couple_ww:",":couple_with_heart_ww:",":couple_mm:",":couple_with_heart_mm:",":family_mmb:",":family_mmg:",":family_mwg:",":family_wwb:",":family_wwg:",":rainbow_flag:",":gay_pride_flag:",":eye_in_speech_bubble:",":hash:",":zero:",":one:",":two:",":three:",":four:",":five:",":six:",":seven:",":eight:",":nine:",":asterisk:",":keycap_asterisk:",":handball_tone5:",":handball_tone4:",":handball_tone3:",":handball_tone2:",":handball_tone1:",":water_polo_tone5:",":water_polo_tone4:",":water_polo_tone3:",":water_polo_tone2:",":water_polo_tone1:",":wrestlers_tone5:",":wrestling_tone5:",":wrestlers_tone4:",":wrestling_tone4:",":wrestlers_tone3:",":wrestling_tone3:",":wrestlers_tone2:",":wrestling_tone2:",":wrestlers_tone1:",":wrestling_tone1:",":juggling_tone5:",":juggler_tone5:",":juggling_tone4:",":juggler_tone4:",":juggling_tone3:",":juggler_tone3:",":juggling_tone2:",":juggler_tone2:",":juggling_tone1:",":juggler_tone1:",":cartwheel_tone5:",":person_doing_cartwheel_tone5:",":cartwheel_tone4:",":person_doing_cartwheel_tone4:",":cartwheel_tone3:",":person_doing_cartwheel_tone3:",":cartwheel_tone2:",":person_doing_cartwheel_tone2:",":cartwheel_tone1:",":person_doing_cartwheel_tone1:",":shrug_tone5:",":shrug_tone4:",":shrug_tone3:",":shrug_tone2:",":shrug_tone1:",":mrs_claus_tone5:",":mother_christmas_tone5:",":mrs_claus_tone4:",":mother_christmas_tone4:",":mrs_claus_tone3:",":mother_christmas_tone3:",":mrs_claus_tone2:",":mother_christmas_tone2:",":mrs_claus_tone1:",":mother_christmas_tone1:",":man_in_tuxedo_tone5:",":tuxedo_tone5:",":man_in_tuxedo_tone4:",":tuxedo_tone4:",":man_in_tuxedo_tone3:",":tuxedo_tone3:",":man_in_tuxedo_tone2:",":tuxedo_tone2:",":man_in_tuxedo_tone1:",":tuxedo_tone1:",":prince_tone5:",":prince_tone4:",":prince_tone3:",":prince_tone2:",":prince_tone1:",":selfie_tone5:",":selfie_tone4:",":selfie_tone3:",":selfie_tone2:",":selfie_tone1:",":pregnant_woman_tone5:",":expecting_woman_tone5:",":pregnant_woman_tone4:",":expecting_woman_tone4:",":pregnant_woman_tone3:",":expecting_woman_tone3:",":pregnant_woman_tone2:",":expecting_woman_tone2:",":pregnant_woman_tone1:",":expecting_woman_tone1:",":face_palm_tone5:",":facepalm_tone5:",":face_palm_tone4:",":facepalm_tone4:",":face_palm_tone3:",":facepalm_tone3:",":face_palm_tone2:",":facepalm_tone2:",":face_palm_tone1:",":facepalm_tone1:",":fingers_crossed_tone5:",":hand_with_index_and_middle_fingers_crossed_tone5:",":fingers_crossed_tone4:",":hand_with_index_and_middle_fingers_crossed_tone4:",":fingers_crossed_tone3:",":hand_with_index_and_middle_fingers_crossed_tone3:",":fingers_crossed_tone2:",":hand_with_index_and_middle_fingers_crossed_tone2:",":fingers_crossed_tone1:",":hand_with_index_and_middle_fingers_crossed_tone1:",":handshake_tone5:",":shaking_hands_tone5:",":handshake_tone4:",":shaking_hands_tone4:",":handshake_tone3:",":shaking_hands_tone3:",":handshake_tone2:",":shaking_hands_tone2:",":handshake_tone1:",":shaking_hands_tone1:",":right_facing_fist_tone5:",":right_fist_tone5:",":right_facing_fist_tone4:",":right_fist_tone4:",":right_facing_fist_tone3:",":right_fist_tone3:",":right_facing_fist_tone2:",":right_fist_tone2:",":right_facing_fist_tone1:",":right_fist_tone1:",":left_facing_fist_tone5:",":left_fist_tone5:",":left_facing_fist_tone4:",":left_fist_tone4:",":left_facing_fist_tone3:",":left_fist_tone3:",":left_facing_fist_tone2:",":left_fist_tone2:",":left_facing_fist_tone1:",":left_fist_tone1:",":raised_back_of_hand_tone5:",":back_of_hand_tone5:",":raised_back_of_hand_tone4:",":back_of_hand_tone4:",":raised_back_of_hand_tone3:",":back_of_hand_tone3:",":raised_back_of_hand_tone2:",":back_of_hand_tone2:",":raised_back_of_hand_tone1:",":back_of_hand_tone1:",":call_me_tone5:",":call_me_hand_tone5:",":call_me_tone4:",":call_me_hand_tone4:",":call_me_tone3:",":call_me_hand_tone3:",":call_me_tone2:",":call_me_hand_tone2:",":call_me_tone1:",":call_me_hand_tone1:",":metal_tone5:",":sign_of_the_horns_tone5:",":metal_tone4:",":sign_of_the_horns_tone4:",":metal_tone3:",":sign_of_the_horns_tone3:",":metal_tone2:",":sign_of_the_horns_tone2:",":metal_tone1:",":sign_of_the_horns_tone1:",":bath_tone5:",":bath_tone4:",":bath_tone3:",":bath_tone2:",":bath_tone1:",":walking_tone5:",":walking_tone4:",":walking_tone3:",":walking_tone2:",":walking_tone1:",":mountain_bicyclist_tone5:",":mountain_bicyclist_tone4:",":mountain_bicyclist_tone3:",":mountain_bicyclist_tone2:",":mountain_bicyclist_tone1:",":bicyclist_tone5:",":bicyclist_tone4:",":bicyclist_tone3:",":bicyclist_tone2:",":bicyclist_tone1:",":rowboat_tone5:",":rowboat_tone4:",":rowboat_tone3:",":rowboat_tone2:",":rowboat_tone1:",":pray_tone5:",":pray_tone4:",":pray_tone3:",":pray_tone2:",":pray_tone1:",":person_with_pouting_face_tone5:",":person_with_pouting_face_tone4:",":person_with_pouting_face_tone3:",":person_with_pouting_face_tone2:",":person_with_pouting_face_tone1:",":person_frowning_tone5:",":person_frowning_tone4:",":person_frowning_tone3:",":person_frowning_tone2:",":person_frowning_tone1:",":raised_hands_tone5:",":raised_hands_tone4:",":raised_hands_tone3:",":raised_hands_tone2:",":raised_hands_tone1:",":raising_hand_tone5:",":raising_hand_tone4:",":raising_hand_tone3:",":raising_hand_tone2:",":raising_hand_tone1:",":bow_tone5:",":bow_tone4:",":bow_tone3:",":bow_tone2:",":bow_tone1:",":ok_woman_tone5:",":ok_woman_tone4:",":ok_woman_tone3:",":ok_woman_tone2:",":ok_woman_tone1:",":no_good_tone5:",":no_good_tone4:",":no_good_tone3:",":no_good_tone2:",":no_good_tone1:",":vulcan_tone5:",":raised_hand_with_part_between_middle_and_ring_fingers_tone5:",":vulcan_tone4:",":raised_hand_with_part_between_middle_and_ring_fingers_tone4:",":vulcan_tone3:",":raised_hand_with_part_between_middle_and_ring_fingers_tone3:",":vulcan_tone2:",":raised_hand_with_part_between_middle_and_ring_fingers_tone2:",":vulcan_tone1:",":raised_hand_with_part_between_middle_and_ring_fingers_tone1:",":middle_finger_tone5:",":reversed_hand_with_middle_finger_extended_tone5:",":middle_finger_tone4:",":reversed_hand_with_middle_finger_extended_tone4:",":middle_finger_tone3:",":reversed_hand_with_middle_finger_extended_tone3:",":middle_finger_tone2:",":reversed_hand_with_middle_finger_extended_tone2:",":middle_finger_tone1:",":reversed_hand_with_middle_finger_extended_tone1:",":hand_splayed_tone5:",":raised_hand_with_fingers_splayed_tone5:",":hand_splayed_tone4:",":raised_hand_with_fingers_splayed_tone4:",":hand_splayed_tone3:",":raised_hand_with_fingers_splayed_tone3:",":hand_splayed_tone2:",":raised_hand_with_fingers_splayed_tone2:",":hand_splayed_tone1:",":raised_hand_with_fingers_splayed_tone1:",":man_dancing_tone5:",":male_dancer_tone5:",":man_dancing_tone4:",":male_dancer_tone4:",":man_dancing_tone3:",":male_dancer_tone3:",":man_dancing_tone2:",":male_dancer_tone2:",":man_dancing_tone1:",":male_dancer_tone1:",":spy_tone5:",":sleuth_or_spy_tone5:",":spy_tone4:",":sleuth_or_spy_tone4:",":spy_tone3:",":sleuth_or_spy_tone3:",":spy_tone2:",":sleuth_or_spy_tone2:",":spy_tone1:",":sleuth_or_spy_tone1:",":muscle_tone5:",":muscle_tone4:",":muscle_tone3:",":muscle_tone2:",":muscle_tone1:",":haircut_tone5:",":haircut_tone4:",":haircut_tone3:",":haircut_tone2:",":haircut_tone1:",":massage_tone5:",":massage_tone4:",":massage_tone3:",":massage_tone2:",":massage_tone1:",":nail_care_tone5:",":nail_care_tone4:",":nail_care_tone3:",":nail_care_tone2:",":nail_care_tone1:",":dancer_tone5:",":dancer_tone4:",":dancer_tone3:",":dancer_tone2:",":dancer_tone1:",":guardsman_tone5:",":guardsman_tone4:",":guardsman_tone3:",":guardsman_tone2:",":guardsman_tone1:",":information_desk_person_tone5:",":information_desk_person_tone4:",":information_desk_person_tone3:",":information_desk_person_tone2:",":information_desk_person_tone1:",":angel_tone5:",":angel_tone4:",":angel_tone3:",":angel_tone2:",":angel_tone1:",":princess_tone5:",":princess_tone4:",":princess_tone3:",":princess_tone2:",":princess_tone1:",":construction_worker_tone5:",":construction_worker_tone4:",":construction_worker_tone3:",":construction_worker_tone2:",":construction_worker_tone1:",":baby_tone5:",":baby_tone4:",":baby_tone3:",":baby_tone2:",":baby_tone1:",":older_woman_tone5:",":grandma_tone5:",":older_woman_tone4:",":grandma_tone4:",":older_woman_tone3:",":grandma_tone3:",":older_woman_tone2:",":grandma_tone2:",":older_woman_tone1:",":grandma_tone1:",":older_man_tone5:",":older_man_tone4:",":older_man_tone3:",":older_man_tone2:",":older_man_tone1:",":man_with_turban_tone5:",":man_with_turban_tone4:",":man_with_turban_tone3:",":man_with_turban_tone2:",":man_with_turban_tone1:",":man_with_gua_pi_mao_tone5:",":man_with_gua_pi_mao_tone4:",":man_with_gua_pi_mao_tone3:",":man_with_gua_pi_mao_tone2:",":man_with_gua_pi_mao_tone1:",":person_with_blond_hair_tone5:",":person_with_blond_hair_tone4:",":person_with_blond_hair_tone3:",":person_with_blond_hair_tone2:",":person_with_blond_hair_tone1:",":bride_with_veil_tone5:",":bride_with_veil_tone4:",":bride_with_veil_tone3:",":bride_with_veil_tone2:",":bride_with_veil_tone1:",":cop_tone5:",":cop_tone4:",":cop_tone3:",":cop_tone2:",":cop_tone1:",":woman_tone5:",":woman_tone4:",":woman_tone3:",":woman_tone2:",":woman_tone1:",":man_tone5:",":man_tone4:",":man_tone3:",":man_tone2:",":man_tone1:",":girl_tone5:",":girl_tone4:",":girl_tone3:",":girl_tone2:",":girl_tone1:",":boy_tone5:",":boy_tone4:",":boy_tone3:",":boy_tone2:",":boy_tone1:",":open_hands_tone5:",":open_hands_tone4:",":open_hands_tone3:",":open_hands_tone2:",":open_hands_tone1:",":clap_tone5:",":clap_tone4:",":clap_tone3:",":clap_tone2:",":clap_tone1:",":thumbsdown_tone5:",":-1_tone5:",":thumbdown_tone5:",":thumbsdown_tone4:",":-1_tone4:",":thumbdown_tone4:",":thumbsdown_tone3:",":-1_tone3:",":thumbdown_tone3:",":thumbsdown_tone2:",":-1_tone2:",":thumbdown_tone2:",":thumbsdown_tone1:",":-1_tone1:",":thumbdown_tone1:",":thumbsup_tone5:",":+1_tone5:",":thumbup_tone5:",":thumbsup_tone4:",":+1_tone4:",":thumbup_tone4:",":thumbsup_tone3:",":+1_tone3:",":thumbup_tone3:",":thumbsup_tone2:",":+1_tone2:",":thumbup_tone2:",":thumbsup_tone1:",":+1_tone1:",":thumbup_tone1:",":ok_hand_tone5:",":ok_hand_tone4:",":ok_hand_tone3:",":ok_hand_tone2:",":ok_hand_tone1:",":wave_tone5:",":wave_tone4:",":wave_tone3:",":wave_tone2:",":wave_tone1:",":punch_tone5:",":punch_tone4:",":punch_tone3:",":punch_tone2:",":punch_tone1:",":point_right_tone5:",":point_right_tone4:",":point_right_tone3:",":point_right_tone2:",":point_right_tone1:",":point_left_tone5:",":point_left_tone4:",":point_left_tone3:",":point_left_tone2:",":point_left_tone1:",":point_down_tone5:",":point_down_tone4:",":point_down_tone3:",":point_down_tone2:",":point_down_tone1:",":point_up_2_tone5:",":point_up_2_tone4:",":point_up_2_tone3:",":point_up_2_tone2:",":point_up_2_tone1:",":nose_tone5:",":nose_tone4:",":nose_tone3:",":nose_tone2:",":nose_tone1:",":ear_tone5:",":ear_tone4:",":ear_tone3:",":ear_tone2:",":ear_tone1:",":lifter_tone5:",":weight_lifter_tone5:",":lifter_tone4:",":weight_lifter_tone4:",":lifter_tone3:",":weight_lifter_tone3:",":lifter_tone2:",":weight_lifter_tone2:",":lifter_tone1:",":weight_lifter_tone1:",":swimmer_tone5:",":swimmer_tone4:",":swimmer_tone3:",":swimmer_tone2:",":swimmer_tone1:",":horse_racing_tone5:",":horse_racing_tone4:",":horse_racing_tone3:",":horse_racing_tone2:",":horse_racing_tone1:",":surfer_tone5:",":surfer_tone4:",":surfer_tone3:",":surfer_tone2:",":surfer_tone1:",":runner_tone5:",":runner_tone4:",":runner_tone3:",":runner_tone2:",":runner_tone1:",":santa_tone5:",":santa_tone4:",":santa_tone3:",":santa_tone2:",":santa_tone1:",":flag_zw:",":zw:",":flag_zm:",":zm:",":flag_za:",":za:",":flag_yt:",":yt:",":flag_ye:",":ye:",":flag_xk:",":xk:",":flag_ws:",":ws:",":flag_wf:",":wf:",":flag_vu:",":vu:",":flag_vn:",":vn:",":flag_vi:",":vi:",":flag_vg:",":vg:",":flag_ve:",":ve:",":flag_vc:",":vc:",":flag_va:",":va:",":flag_uz:",":uz:",":flag_uy:",":uy:",":flag_us:",":us:",":flag_um:",":um:",":flag_ug:",":ug:",":flag_ua:",":ua:",":flag_tz:",":tz:",":flag_tw:",":tw:",":flag_tv:",":tuvalu:",":flag_tt:",":tt:",":flag_tr:",":tr:",":flag_to:",":to:",":flag_tn:",":tn:",":flag_tm:",":turkmenistan:",":flag_tl:",":tl:",":flag_tk:",":tk:",":flag_tj:",":tj:",":flag_th:",":th:",":flag_tg:",":tg:",":flag_tf:",":tf:",":flag_td:",":td:",":flag_tc:",":tc:",":flag_ta:",":ta:",":flag_sz:",":sz:",":flag_sy:",":sy:",":flag_sx:",":sx:",":flag_sv:",":sv:",":flag_st:",":st:",":flag_ss:",":ss:",":flag_sr:",":sr:",":flag_so:",":so:",":flag_sn:",":sn:",":flag_sm:",":sm:",":flag_sl:",":sl:",":flag_sk:",":sk:",":flag_sj:",":sj:",":flag_si:",":si:",":flag_sh:",":sh:",":flag_sg:",":sg:",":flag_se:",":se:",":flag_sd:",":sd:",":flag_sc:",":sc:",":flag_sb:",":sb:",":flag_sa:",":saudiarabia:",":saudi:",":flag_rw:",":rw:",":flag_ru:",":ru:",":flag_rs:",":rs:",":flag_ro:",":ro:",":flag_re:",":re:",":flag_qa:",":qa:",":flag_py:",":py:",":flag_pw:",":pw:",":flag_pt:",":pt:",":flag_ps:",":ps:",":flag_pr:",":pr:",":flag_pn:",":pn:",":flag_pm:",":pm:",":flag_pl:",":pl:",":flag_pk:",":pk:",":flag_ph:",":ph:",":flag_pg:",":pg:",":flag_pf:",":pf:",":flag_pe:",":pe:",":flag_pa:",":pa:",":flag_om:",":om:",":flag_nz:",":nz:",":flag_nu:",":nu:",":flag_nr:",":nr:",":flag_np:",":np:",":flag_no:",":no:",":flag_nl:",":nl:",":flag_ni:",":ni:",":flag_ng:",":nigeria:",":flag_nf:",":nf:",":flag_ne:",":ne:",":flag_nc:",":nc:",":flag_na:",":na:",":flag_mz:",":mz:",":flag_my:",":my:",":flag_mx:",":mx:",":flag_mw:",":mw:",":flag_mv:",":mv:",":flag_mu:",":mu:",":flag_mt:",":mt:",":flag_ms:",":ms:",":flag_mr:",":mr:",":flag_mq:",":mq:",":flag_mp:",":mp:",":flag_mo:",":mo:",":flag_mn:",":mn:",":flag_mm:",":mm:",":flag_ml:",":ml:",":flag_mk:",":mk:",":flag_mh:",":mh:",":flag_mg:",":mg:",":flag_mf:",":mf:",":flag_me:",":me:",":flag_md:",":md:",":flag_mc:",":mc:",":flag_ma:",":ma:",":flag_ly:",":ly:",":flag_lv:",":lv:",":flag_lu:",":lu:",":flag_lt:",":lt:",":flag_ls:",":ls:",":flag_lr:",":lr:",":flag_lk:",":lk:",":flag_li:",":li:",":flag_lc:",":lc:",":flag_lb:",":lb:",":flag_la:",":la:",":flag_kz:",":kz:",":flag_ky:",":ky:",":flag_kw:",":kw:",":flag_kr:",":kr:",":flag_kp:",":kp:",":flag_kn:",":kn:",":flag_km:",":km:",":flag_ki:",":ki:",":flag_kh:",":kh:",":flag_kg:",":kg:",":flag_ke:",":ke:",":flag_jp:",":jp:",":flag_jo:",":jo:",":flag_jm:",":jm:",":flag_je:",":je:",":flag_it:",":it:",":flag_is:",":is:",":flag_ir:",":ir:",":flag_iq:",":iq:",":flag_io:",":io:",":flag_in:",":in:",":flag_im:",":im:",":flag_il:",":il:",":flag_ie:",":ie:",":flag_id:",":indonesia:",":flag_ic:",":ic:",":flag_hu:",":hu:",":flag_ht:",":ht:",":flag_hr:",":hr:",":flag_hn:",":hn:",":flag_hm:",":hm:",":flag_hk:",":hk:",":flag_gy:",":gy:",":flag_gw:",":gw:",":flag_gu:",":gu:",":flag_gt:",":gt:",":flag_gs:",":gs:",":flag_gr:",":gr:",":flag_gq:",":gq:",":flag_gp:",":gp:",":flag_gn:",":gn:",":flag_gm:",":gm:",":flag_gl:",":gl:",":flag_gi:",":gi:",":flag_gh:",":gh:",":flag_gg:",":gg:",":flag_gf:",":gf:",":flag_ge:",":ge:",":flag_gd:",":gd:",":flag_gb:",":gb:",":flag_ga:",":ga:",":flag_fr:",":fr:",":flag_fo:",":fo:",":flag_fm:",":fm:",":flag_fk:",":fk:",":flag_fj:",":fj:",":flag_fi:",":fi:",":flag_eu:",":eu:",":flag_et:",":et:",":flag_es:",":es:",":flag_er:",":er:",":flag_eh:",":eh:",":flag_eg:",":eg:",":flag_ee:",":ee:",":flag_ec:",":ec:",":flag_ea:",":ea:",":flag_dz:",":dz:",":flag_do:",":do:",":flag_dm:",":dm:",":flag_dk:",":dk:",":flag_dj:",":dj:",":flag_dg:",":dg:",":flag_de:",":de:",":flag_cz:",":cz:",":flag_cy:",":cy:",":flag_cx:",":cx:",":flag_cw:",":cw:",":flag_cv:",":cv:",":flag_cu:",":cu:",":flag_cr:",":cr:",":flag_cp:",":cp:",":flag_co:",":co:",":flag_cn:",":cn:",":flag_cm:",":cm:",":flag_cl:",":chile:",":flag_ck:",":ck:",":flag_ci:",":ci:",":flag_ch:",":ch:",":flag_cg:",":cg:",":flag_cf:",":cf:",":flag_cd:",":congo:",":flag_cc:",":cc:",":flag_ca:",":ca:",":flag_bz:",":bz:",":flag_by:",":by:",":flag_bw:",":bw:",":flag_bv:",":bv:",":flag_bt:",":bt:",":flag_bs:",":bs:",":flag_br:",":br:",":flag_bq:",":bq:",":flag_bo:",":bo:",":flag_bn:",":bn:",":flag_bm:",":bm:",":flag_bl:",":bl:",":flag_bj:",":bj:",":flag_bi:",":bi:",":flag_bh:",":bh:",":flag_bg:",":bg:",":flag_bf:",":bf:",":flag_be:",":be:",":flag_bd:",":bd:",":flag_bb:",":bb:",":flag_ba:",":ba:",":flag_az:",":az:",":flag_ax:",":ax:",":flag_aw:",":aw:",":flag_au:",":au:",":flag_at:",":at:",":flag_as:",":as:",":flag_ar:",":ar:",":flag_aq:",":aq:",":flag_ao:",":ao:",":flag_am:",":am:",":flag_al:",":al:",":flag_ai:",":ai:",":flag_ag:",":ag:",":flag_af:",":af:",":flag_ae:",":ae:",":flag_ad:",":ad:",":flag_ac:",":ac:",":mahjong:",":parking:",":sa:",":u7121:",":u6307:",":u6708:",":film_frames:",":tickets:",":admission_tickets:",":lifter:",":weight_lifter:",":golfer:",":motorcycle:",":racing_motorcycle:",":race_car:",":racing_car:",":military_medal:",":reminder_ribbon:",":hot_pepper:",":cloud_rain:",":cloud_with_rain:",":cloud_snow:",":cloud_with_snow:",":cloud_lightning:",":cloud_with_lightning:",":cloud_tornado:",":cloud_with_tornado:",":fog:",":wind_blowing_face:",":chipmunk:",":spider:",":spider_web:",":thermometer:",":microphone2:",":studio_microphone:",":level_slider:",":control_knobs:",":flag_white:",":waving_white_flag:",":rosette:",":label:",":projector:",":film_projector:",":om_symbol:",":dove:",":dove_of_peace:",":candle:",":clock:",":mantlepiece_clock:",":hole:",":dark_sunglasses:",":joystick:",":paperclips:",":linked_paperclips:",":pen_ballpoint:",":lower_left_ballpoint_pen:",":pen_fountain:",":lower_left_fountain_pen:",":paintbrush:",":lower_left_paintbrush:",":crayon:",":lower_left_crayon:",":desktop:",":desktop_computer:",":printer:",":trackball:",":frame_photo:",":frame_with_picture:",":dividers:",":card_index_dividers:",":card_box:",":card_file_box:",":file_cabinet:",":wastebasket:",":notepad_spiral:",":spiral_note_pad:",":calendar_spiral:",":spiral_calendar_pad:",":compression:",":key2:",":old_key:",":newspaper2:",":rolled_up_newspaper:",":dagger:",":dagger_knife:",":speaking_head:",":speaking_head_in_silhouette:",":speech_left:",":left_speech_bubble:",":anger_right:",":right_anger_bubble:",":ballot_box:",":ballot_box_with_ballot:",":map:",":world_map:",":tools:",":hammer_and_wrench:",":shield:",":oil:",":oil_drum:",":satellite_orbital:",":fork_knife_plate:",":fork_and_knife_with_plate:",":eye:",":levitate:",":man_in_business_suit_levitating:",":spy:",":sleuth_or_spy:",":hand_splayed:",":raised_hand_with_fingers_splayed:",":mountain_snow:",":snow_capped_mountain:",":camping:",":beach:",":beach_with_umbrella:",":construction_site:",":building_construction:",":homes:",":house_buildings:",":cityscape:",":house_abandoned:",":derelict_house_building:",":classical_building:",":desert:",":island:",":desert_island:",":park:",":national_park:",":stadium:",":couch:",":couch_and_lamp:",":shopping_bags:",":bellhop:",":bellhop_bell:",":bed:",":motorway:",":railway_track:",":railroad_track:",":motorboat:",":airplane_small:",":small_airplane:",":cruise_ship:",":passenger_ship:",":white_sun_small_cloud:",":white_sun_with_small_cloud:",":white_sun_cloud:",":white_sun_behind_cloud:",":white_sun_rain_cloud:",":white_sun_behind_cloud_with_rain:",":mouse_three_button:",":three_button_mouse:",":point_up_tone1:",":point_up_tone2:",":point_up_tone3:",":point_up_tone4:",":point_up_tone5:",":v_tone1:",":v_tone2:",":v_tone3:",":v_tone4:",":v_tone5:",":fist_tone1:",":fist_tone2:",":fist_tone3:",":fist_tone4:",":fist_tone5:",":raised_hand_tone1:",":raised_hand_tone2:",":raised_hand_tone3:",":raised_hand_tone4:",":raised_hand_tone5:",":writing_hand_tone1:",":writing_hand_tone2:",":writing_hand_tone3:",":writing_hand_tone4:",":writing_hand_tone5:",":basketball_player_tone1:",":person_with_ball_tone1:",":basketball_player_tone2:",":person_with_ball_tone2:",":basketball_player_tone3:",":person_with_ball_tone3:",":basketball_player_tone4:",":person_with_ball_tone4:",":basketball_player_tone5:",":person_with_ball_tone5:",":copyright:",":registered:",":bangbang:",":interrobang:",":tm:",":information_source:",":left_right_arrow:",":arrow_up_down:",":arrow_upper_left:",":arrow_upper_right:",":arrow_lower_right:",":arrow_lower_left:",":leftwards_arrow_with_hook:",":arrow_right_hook:",":watch:",":hourglass:",":m:",":black_small_square:",":white_small_square:",":arrow_forward:",":arrow_backward:",":white_medium_square:",":black_medium_square:",":white_medium_small_square:",":black_medium_small_square:",":sunny:",":cloud:",":telephone:",":ballot_box_with_check:",":umbrella:",":coffee:",":point_up:",":relaxed:",":aries:",":taurus:",":gemini:",":cancer:",":leo:",":virgo:",":libra:",":scorpius:",":sagittarius:",":capricorn:",":aquarius:",":pisces:",":spades:",":clubs:",":hearts:",":diamonds:",":hotsprings:",":recycle:",":wheelchair:",":anchor:",":warning:",":zap:",":white_circle:",":black_circle:",":soccer:",":baseball:",":snowman:",":partly_sunny:",":no_entry:",":church:",":fountain:",":golf:",":sailboat:",":tent:",":fuelpump:",":scissors:",":airplane:",":envelope:",":v:",":pencil2:",":black_nib:",":heavy_check_mark:",":heavy_multiplication_x:",":eight_spoked_asterisk:",":eight_pointed_black_star:",":snowflake:",":sparkle:",":exclamation:",":heart:",":arrow_right:",":arrow_heading_up:",":arrow_heading_down:",":arrow_left:",":arrow_up:",":arrow_down:",":black_large_square:",":white_large_square:",":star:",":o:",":wavy_dash:",":part_alternation_mark:",":congratulations:",":secret:",":cross:",":latin_cross:",":keyboard:",":writing_hand:",":eject:",":eject_symbol:",":track_next:",":next_track:",":track_previous:",":previous_track:",":play_pause:",":stopwatch:",":timer:",":timer_clock:",":pause_button:",":double_vertical_bar:",":stop_button:",":record_button:",":umbrella2:",":snowman2:",":comet:",":shamrock:",":skull_crossbones:",":skull_and_crossbones:",":radioactive:",":radioactive_sign:",":biohazard:",":biohazard_sign:",":orthodox_cross:",":star_and_crescent:",":peace:",":peace_symbol:",":yin_yang:",":wheel_of_dharma:",":frowning2:",":white_frowning_face:",":hammer_pick:",":hammer_and_pick:",":crossed_swords:",":scales:",":alembic:",":gear:",":atom:",":atom_symbol:",":fleur-de-lis:",":coffin:",":urn:",":funeral_urn:",":thunder_cloud_rain:",":thunder_cloud_and_rain:",":pick:",":helmet_with_cross:",":helmet_with_white_cross:",":chains:",":shinto_shrine:",":mountain:",":beach_umbrella:",":umbrella_on_ground:",":ferry:",":skier:",":ice_skate:",":basketball_player:",":person_with_ball:",":star_of_david:",":heart_exclamation:",":heavy_heart_exclamation_mark_ornament:",":third_place:",":third_place_medal:",":second_place:",":second_place_medal:",":first_place:",":first_place_medal:",":fencer:",":fencing:",":goal:",":goal_net:",":handball:",":regional_indicator_z:",":water_polo:",":martial_arts_uniform:",":karate_uniform:",":boxing_glove:",":boxing_gloves:",":wrestlers:",":wrestling:",":juggling:",":juggler:",":cartwheel:",":person_doing_cartwheel:",":canoe:",":kayak:",":motor_scooter:",":motorbike:",":scooter:",":shopping_cart:",":shopping_trolley:",":black_joker:",":a:",":b:",":o2:",":octagonal_sign:",":stop_sign:",":ab:",":cl:",":regional_indicator_y:",":cool:",":free:",":id:",":new:",":ng:",":ok:",":sos:",":spoon:",":up:",":vs:",":champagne_glass:",":clinking_glass:",":tumbler_glass:",":whisky:",":koko:",":stuffed_flatbread:",":stuffed_pita:",":u7981:",":u7a7a:",":u5408:",":u6e80:",":u6709:",":shallow_pan_of_food:",":paella:",":u7533:",":u5272:",":salad:",":green_salad:",":u55b6:",":ideograph_advantage:",":accept:",":cyclone:",":french_bread:",":baguette_bread:",":foggy:",":closed_umbrella:",":night_with_stars:",":sunrise_over_mountains:",":sunrise:",":city_dusk:",":carrot:",":city_sunset:",":city_sunrise:",":rainbow:",":potato:",":bridge_at_night:",":ocean:",":volcano:",":milky_way:",":earth_asia:",":new_moon:",":bacon:",":first_quarter_moon:",":waxing_gibbous_moon:",":full_moon:",":crescent_moon:",":first_quarter_moon_with_face:",":star2:",":cucumber:",":stars:",":chestnut:",":avocado:",":seedling:",":palm_tree:",":cactus:",":tulip:",":cherry_blossom:",":rose:",":hibiscus:",":sunflower:",":blossom:",":corn:",":croissant:",":ear_of_rice:",":herb:",":four_leaf_clover:",":maple_leaf:",":fallen_leaf:",":leaves:",":mushroom:",":tomato:",":eggplant:",":grapes:",":melon:",":watermelon:",":tangerine:",":wilted_rose:",":wilted_flower:",":banana:",":pineapple:",":apple:",":green_apple:",":peach:",":cherries:",":strawberry:",":rhino:",":rhinoceros:",":hamburger:",":pizza:",":meat_on_bone:",":lizard:",":poultry_leg:",":rice_cracker:",":rice_ball:",":gorilla:",":rice:",":curry:",":deer:",":ramen:",":spaghetti:",":bread:",":fries:",":butterfly:",":sweet_potato:",":dango:",":fox:",":fox_face:",":oden:",":sushi:",":owl:",":fried_shrimp:",":fish_cake:",":shark:",":icecream:",":bat:",":shaved_ice:",":regional_indicator_x:",":ice_cream:",":duck:",":doughnut:",":eagle:",":cookie:",":black_heart:",":chocolate_bar:",":candy:",":lollipop:",":custard:",":pudding:",":flan:",":honey_pot:",":fingers_crossed:",":hand_with_index_and_middle_finger_crossed:",":cake:",":bento:",":stew:",":handshake:",":shaking_hands:",":cooking:",":fork_and_knife:",":tea:",":sake:",":wine_glass:",":cocktail:",":tropical_drink:",":beer:",":beers:",":ribbon:",":gift:",":birthday:",":jack_o_lantern:",":left_facing_fist:",":left_fist:",":right_facing_fist:",":right_fist:",":christmas_tree:",":santa:",":fireworks:",":raised_back_of_hand:",":back_of_hand:",":sparkler:",":balloon:",":tada:",":confetti_ball:",":tanabata_tree:",":crossed_flags:",":call_me:",":call_me_hand:",":bamboo:",":man_dancing:",":male_dancer:",":dolls:",":selfie:",":flags:",":pregnant_woman:",":expecting_woman:",":wind_chime:",":face_palm:",":facepalm:",":shrug:",":rice_scene:",":school_satchel:",":mortar_board:",":carousel_horse:",":ferris_wheel:",":roller_coaster:",":fishing_pole_and_fish:",":microphone:",":movie_camera:",":cinema:",":headphones:",":mrs_claus:",":mother_christmas:",":art:",":man_in_tuxedo:",":tophat:",":circus_tent:",":prince:",":ticket:",":clapper:",":performing_arts:",":sneezing_face:",":sneeze:",":video_game:",":dart:",":slot_machine:",":8ball:",":game_die:",":bowling:",":flower_playing_cards:",":lying_face:",":liar:",":musical_note:",":notes:",":saxophone:",":drooling_face:",":drool:",":guitar:",":musical_keyboard:",":trumpet:",":rofl:",":rolling_on_the_floor_laughing:",":violin:",":musical_score:",":running_shirt_with_sash:",":nauseated_face:",":sick:",":tennis:",":ski:",":basketball:",":checkered_flag:",":clown:",":clown_face:",":snowboarder:",":runner:",":surfer:",":trophy:",":football:",":swimmer:",":house:",":house_with_garden:",":office:",":post_office:",":hospital:",":bank:",":atm:",":hotel:",":love_hotel:",":convenience_store:",":school:",":department_store:",":cowboy:",":face_with_cowboy_hat:",":factory:",":izakaya_lantern:",":japanese_castle:",":european_castle:",":snail:",":snake:",":racehorse:",":sheep:",":monkey:",":chicken:",":boar:",":elephant:",":octopus:",":shell:",":bug:",":ant:",":bee:",":beetle:",":fish:",":tropical_fish:",":blowfish:",":turtle:",":hatching_chick:",":baby_chick:",":hatched_chick:",":bird:",":penguin:",":koala:",":poodle:",":camel:",":dolphin:",":mouse:",":cow:",":tiger:",":rabbit:",":cat:",":dragon_face:",":whale:",":horse:",":monkey_face:",":dog:",":pig:",":frog:",":hamster:",":wolf:",":bear:",":panda_face:",":pig_nose:",":feet:",":paw_prints:",":eyes:",":ear:",":nose:",":lips:",":tongue:",":point_up_2:",":point_down:",":point_left:",":point_right:",":punch:",":wave:",":ok_hand:",":thumbsup:",":+1:",":thumbup:",":thumbsdown:",":-1:",":thumbdown:",":clap:",":open_hands:",":crown:",":womans_hat:",":eyeglasses:",":necktie:",":shirt:",":jeans:",":dress:",":kimono:",":bikini:",":womans_clothes:",":purse:",":handbag:",":pouch:",":mans_shoe:",":athletic_shoe:",":high_heel:",":sandal:",":boot:",":footprints:",":bust_in_silhouette:",":boy:",":girl:",":man:",":woman:",":family:",":couple:",":cop:",":dancers:",":bride_with_veil:",":person_with_blond_hair:",":man_with_gua_pi_mao:",":man_with_turban:",":older_man:",":older_woman:",":grandma:",":baby:",":construction_worker:",":princess:",":japanese_ogre:",":japanese_goblin:",":ghost:",":angel:",":alien:",":space_invader:",":imp:",":skull:",":skeleton:",":card_index:",":information_desk_person:",":guardsman:",":dancer:",":lipstick:",":nail_care:",":ledger:",":massage:",":notebook:",":haircut:",":notebook_with_decorative_cover:",":barber:",":closed_book:",":syringe:",":book:",":pill:",":green_book:",":kiss:",":blue_book:",":love_letter:",":orange_book:",":ring:",":books:",":gem:",":name_badge:",":couplekiss:",":scroll:",":bouquet:",":pencil:",":couple_with_heart:",":telephone_receiver:",":wedding:",":pager:",":fax:",":heartbeat:",":satellite:",":loudspeaker:",":broken_heart:",":mega:",":outbox_tray:",":two_hearts:",":inbox_tray:",":package:",":sparkling_heart:",":e-mail:",":email:",":incoming_envelope:",":heartpulse:",":envelope_with_arrow:",":mailbox_closed:",":cupid:",":mailbox:",":postbox:",":blue_heart:",":newspaper:",":iphone:",":green_heart:",":calling:",":vibration_mode:",":yellow_heart:",":mobile_phone_off:",":signal_strength:",":purple_heart:",":camera:",":video_camera:",":gift_heart:",":tv:",":radio:",":revolving_hearts:",":vhs:",":arrows_clockwise:",":heart_decoration:",":loud_sound:",":battery:",":diamond_shape_with_a_dot_inside:",":electric_plug:",":mag:",":bulb:",":mag_right:",":lock_with_ink_pen:",":anger:",":closed_lock_with_key:",":key:",":bomb:",":lock:",":unlock:",":zzz:",":bell:",":bookmark:",":boom:",":link:",":radio_button:",":sweat_drops:",":back:",":end:",":droplet:",":on:",":soon:",":dash:",":top:",":underage:",":poop:",":shit:",":hankey:",":poo:",":keycap_ten:",":muscle:",":capital_abcd:",":abcd:",":dizzy:",":1234:",":symbols:",":speech_balloon:",":abc:",":fire:",":flame:",":white_flower:",":flashlight:",":wrench:",":100:",":hammer:",":nut_and_bolt:",":moneybag:",":knife:",":gun:",":currency_exchange:",":crystal_ball:",":heavy_dollar_sign:",":six_pointed_star:",":credit_card:",":beginner:",":trident:",":yen:",":black_square_button:",":white_square_button:",":dollar:",":red_circle:",":blue_circle:",":money_with_wings:",":large_orange_diamond:",":large_blue_diamond:",":chart:",":small_orange_diamond:",":small_blue_diamond:",":seat:",":small_red_triangle:",":small_red_triangle_down:",":computer:",":arrow_up_small:",":briefcase:",":arrow_down_small:",":clock1:",":minidisc:",":clock2:",":floppy_disk:",":clock3:",":cd:",":clock4:",":dvd:",":clock5:",":clock6:",":file_folder:",":clock7:",":clock8:",":open_file_folder:",":clock9:",":clock10:",":page_with_curl:",":clock11:",":clock12:",":page_facing_up:",":mount_fuji:",":tokyo_tower:",":date:",":statue_of_liberty:",":japan:",":calendar:",":moyai:",":grin:",":joy:",":smiley:",":chart_with_upwards_trend:",":smile:",":sweat_smile:",":chart_with_downwards_trend:",":laughing:",":satisfied:",":wink:",":bar_chart:",":blush:",":yum:",":clipboard:",":relieved:",":heart_eyes:",":pushpin:",":smirk:",":unamused:",":round_pushpin:",":sweat:",":pensive:",":paperclip:",":confounded:",":kissing_heart:",":straight_ruler:",":kissing_closed_eyes:",":stuck_out_tongue_winking_eye:",":triangular_ruler:",":stuck_out_tongue_closed_eyes:",":disappointed:",":bookmark_tabs:",":angry:",":rage:",":cry:",":persevere:",":triumph:",":disappointed_relieved:",":fearful:",":weary:",":sleepy:",":tired_face:",":sob:",":cold_sweat:",":scream:",":astonished:",":flushed:",":dizzy_face:",":mask:",":smile_cat:",":joy_cat:",":smiley_cat:",":heart_eyes_cat:",":smirk_cat:",":kissing_cat:",":pouting_cat:",":crying_cat_face:",":scream_cat:",":no_good:",":ok_woman:",":bow:",":see_no_evil:",":hear_no_evil:",":speak_no_evil:",":raising_hand:",":raised_hands:",":person_frowning:",":person_with_pouting_face:",":pray:",":rocket:",":railway_car:",":bullettrain_side:",":bullettrain_front:",":metro:",":station:",":bus:",":busstop:",":ambulance:",":fire_engine:",":police_car:",":taxi:",":red_car:",":blue_car:",":truck:",":ship:",":speedboat:",":traffic_light:",":construction:",":rotating_light:",":triangular_flag_on_post:",":door:",":no_entry_sign:",":smoking:",":no_smoking:",":bike:",":walking:",":mens:",":womens:",":restroom:",":baby_symbol:",":toilet:",":wc:",":bath:",":metal:",":sign_of_the_horns:",":grinning:",":innocent:",":smiling_imp:",":sunglasses:",":neutral_face:",":expressionless:",":confused:",":kissing:",":kissing_smiling_eyes:",":stuck_out_tongue:",":worried:",":frowning:",":anguished:",":grimacing:",":open_mouth:",":hushed:",":sleeping:",":no_mouth:",":helicopter:",":steam_locomotive:",":train2:",":light_rail:",":tram:",":oncoming_bus:",":trolleybus:",":minibus:",":oncoming_police_car:",":oncoming_taxi:",":oncoming_automobile:",":articulated_lorry:",":tractor:",":monorail:",":mountain_railway:",":suspension_railway:",":mountain_cableway:",":aerial_tramway:",":rowboat:",":vertical_traffic_light:",":put_litter_in_its_place:",":do_not_litter:",":potable_water:",":non-potable_water:",":no_bicycles:",":bicyclist:",":mountain_bicyclist:",":no_pedestrians:",":children_crossing:",":shower:",":bathtub:",":passport_control:",":customs:",":baggage_claim:",":left_luggage:",":earth_africa:",":earth_americas:",":globe_with_meridians:",":waxing_crescent_moon:",":waning_gibbous_moon:",":last_quarter_moon:",":waning_crescent_moon:",":new_moon_with_face:",":last_quarter_moon_with_face:",":full_moon_with_face:",":sun_with_face:",":evergreen_tree:",":deciduous_tree:",":lemon:",":pear:",":baby_bottle:",":horse_racing:",":rugby_football:",":european_post_office:",":rat:",":mouse2:",":ox:",":water_buffalo:",":cow2:",":tiger2:",":leopard:",":rabbit2:",":cat2:",":dragon:",":crocodile:",":whale2:",":ram:",":goat:",":rooster:",":dog2:",":pig2:",":dromedary_camel:",":busts_in_silhouette:",":two_men_holding_hands:",":two_women_holding_hands:",":thought_balloon:",":euro:",":pound:",":mailbox_with_mail:",":mailbox_with_no_mail:",":postal_horn:",":no_mobile_phones:",":twisted_rightwards_arrows:",":repeat:",":repeat_one:",":arrows_counterclockwise:",":low_brightness:",":high_brightness:",":mute:",":sound:",":no_bell:",":microscope:",":telescope:",":clock130:",":clock230:",":clock330:",":clock430:",":clock530:",":clock630:",":clock730:",":clock830:",":clock930:",":clock1030:",":clock1130:",":clock1230:",":speaker:",":train:",":medal:",":sports_medal:",":flag_black:",":waving_black_flag:",":camera_with_flash:",":sleeping_accommodation:",":middle_finger:",":reversed_hand_with_middle_finger_extended:",":vulcan:",":raised_hand_with_part_between_middle_and_ring_fingers:",":slight_frown:",":slightly_frowning_face:",":slight_smile:",":slightly_smiling_face:",":airplane_departure:",":airplane_arriving:",":tone1:",":tone2:",":tone3:",":tone4:",":tone5:",":upside_down:",":upside_down_face:",":money_mouth:",":money_mouth_face:",":nerd:",":nerd_face:",":hugging:",":hugging_face:",":rolling_eyes:",":face_with_rolling_eyes:",":thinking:",":thinking_face:",":zipper_mouth:",":zipper_mouth_face:",":thermometer_face:",":face_with_thermometer:",":head_bandage:",":face_with_head_bandage:",":robot:",":robot_face:",":lion_face:",":lion:",":unicorn:",":unicorn_face:",":scorpion:",":crab:",":turkey:",":cheese:",":cheese_wedge:",":hotdog:",":hot_dog:",":taco:",":burrito:",":popcorn:",":champagne:",":bottle_with_popping_cork:",":bow_and_arrow:",":archery:",":amphora:",":place_of_worship:",":worship_symbol:",":kaaba:",":mosque:",":synagogue:",":menorah:",":prayer_beads:",":cricket:",":cricket_bat_ball:",":volleyball:",":field_hockey:",":hockey:",":ping_pong:",":table_tennis:",":badminton:",":drum:",":drum_with_drumsticks:",":shrimp:",":squid:",":egg:",":milk:",":glass_of_milk:",":peanuts:",":shelled_peanut:",":kiwi:",":kiwifruit:",":pancakes:",":regional_indicator_w:",":regional_indicator_v:",":regional_indicator_u:",":regional_indicator_t:",":regional_indicator_s:",":regional_indicator_r:",":regional_indicator_q:",":regional_indicator_p:",":regional_indicator_o:",":regional_indicator_n:",":regional_indicator_m:",":regional_indicator_l:",":regional_indicator_k:",":regional_indicator_j:",":regional_indicator_i:",":regional_indicator_h:",":regional_indicator_g:",":regional_indicator_f:",":regional_indicator_e:",":regional_indicator_d:",":regional_indicator_c:",":regional_indicator_b:",":regional_indicator_a:",":fast_forward:",":rewind:",":arrow_double_up:",":arrow_double_down:",":alarm_clock:",":hourglass_flowing_sand:",":ophiuchus:",":white_check_mark:",":fist:",":raised_hand:",":sparkles:",":x:",":negative_squared_cross_mark:",":question:",":grey_question:",":grey_exclamation:",":heavy_plus_sign:",":heavy_minus_sign:",":heavy_division_sign:",":curly_loop:",":loop:","emoji","tmpShortNames","shortnames","asciiList","<3","</3",":')",":'-)",":D",":-D","=D",":)",":-)","=]","=)",":]","':)","':-)","'=)","':D","':-D","'=D",">:)",">;)",">:-)",">=)",";)",";-)","*-)","*)",";-]",";]",";D",";^)","':(","':-(","'=(",":*",":-*","=*",":^*",">:P","X-P","x-p",">:[",":-(",":(",":-[",":[","=(",">:(",">:-(",":@",":'(",":'-(",";(",";-(",">.<","D:",":$","=$","#-)","#)","%-)","%)","X)","X-)","*\\0/*","\\0/","*\\O/*","\\O/","O:-)","0:-3","0:3","0:-)","0:)","0;^)","O:)","O;-)","O=)","0;-)","O:-3","O:3","B-)","B)","8)","8-)","B-D","8-D","-_-","-__-","-___-",">:\\",">:/",":-/",":-.",":/",":\\","=/","=\\",":L","=L",":P",":-P","=P",":-p",":p","=p",":-Þ",":Þ",":þ",":-þ",":-b",":b","d:",":-O",":O",":-o",":o","O_O",">:O",":-X",":X",":-#",":#","=X","=x",":x",":-x","=#","asciiRegexp","unicodeRegexp","jsEscapeMap","👩‍❤️‍💋‍👩","👩❤💋👩","👨‍❤️‍💋‍👨","👨❤💋👨","👨‍👨‍👦‍👦","👨👨👦👦","👨‍👨‍👧‍👦","👨👨👧👦","👨‍👨‍👧‍👧","👨👨👧👧","👨‍👩‍👦‍👦","👨👩👦👦","👨‍👩‍👧‍👦","👨👩👧👦","👨‍👩‍👧‍👧","👨👩👧👧","👩‍👩‍👦‍👦","👩👩👦👦","👩‍👩‍👧‍👦","👩👩👧👦","👩‍👩‍👧‍👧","👩👩👧👧","👩‍❤️‍👩","👩❤👩","👨‍❤️‍👨","👨❤👨","👨‍👨‍👦","👨👨👦","👨‍👨‍👧","👨👨👧","👨‍👩‍👧","👨👩👧","👩‍👩‍👦","👩👩👦","👩‍👩‍👧","👩👩👧","🏳️‍🌈","🏳🌈","👁‍🗨","👁🗨","#️⃣","#⃣","0️⃣","0⃣","1️⃣","1⃣","2️⃣","2⃣","3️⃣","3⃣","4️⃣","4⃣","5️⃣","5⃣","6️⃣","6⃣","7️⃣","7⃣","8️⃣","8⃣","9️⃣","9⃣","*️⃣","*⃣","🤾🏿","🤾🏾","🤾🏽","🤾🏼","🤾🏻","🤽🏿","🤽🏾","🤽🏽","🤽🏼","🤽🏻","🤼🏿","🤼🏾","🤼🏽","🤼🏼","🤼🏻","🤹🏿","🤹🏾","🤹🏽","🤹🏼","🤹🏻","🤸🏿","🤸🏾","🤸🏽","🤸🏼","🤸🏻","🤷🏿","🤷🏾","🤷🏽","🤷🏼","🤷🏻","🤶🏿","🤶🏾","🤶🏽","🤶🏼","🤶🏻","🤵🏿","🤵🏾","🤵🏽","🤵🏼","🤵🏻","🤴🏿","🤴🏾","🤴🏽","🤴🏼","🤴🏻","🤳🏿","🤳🏾","🤳🏽","🤳🏼","🤳🏻","🤰🏿","🤰🏾","🤰🏽","🤰🏼","🤰🏻","🤦🏿","🤦🏾","🤦🏽","🤦🏼","🤦🏻","🤞🏿","🤞🏾","🤞🏽","🤞🏼","🤞🏻","🤝🏿","🤝🏾","🤝🏽","🤝🏼","🤝🏻","🤜🏿","🤜🏾","🤜🏽","🤜🏼","🤜🏻","🤛🏿","🤛🏾","🤛🏽","🤛🏼","🤛🏻","🤚🏿","🤚🏾","🤚🏽","🤚🏼","🤚🏻","🤙🏿","🤙🏾","🤙🏽","🤙🏼","🤙🏻","🤘🏿","🤘🏾","🤘🏽","🤘🏼","🤘🏻","🛀🏿","🛀🏾","🛀🏽","🛀🏼","🛀🏻","🚶🏿","🚶🏾","🚶🏽","🚶🏼","🚶🏻","🚵🏿","🚵🏾","🚵🏽","🚵🏼","🚵🏻","🚴🏿","🚴🏾","🚴🏽","🚴🏼","🚴🏻","🚣🏿","🚣🏾","🚣🏽","🚣🏼","🚣🏻","🙏🏿","🙏🏾","🙏🏽","🙏🏼","🙏🏻","🙎🏿","🙎🏾","🙎🏽","🙎🏼","🙎🏻","🙍🏿","🙍🏾","🙍🏽","🙍🏼","🙍🏻","🙌🏿","🙌🏾","🙌🏽","🙌🏼","🙌🏻","🙋🏿","🙋🏾","🙋🏽","🙋🏼","🙋🏻","🙇🏿","🙇🏾","🙇🏽","🙇🏼","🙇🏻","🙆🏿","🙆🏾","🙆🏽","🙆🏼","🙆🏻","🙅🏿","🙅🏾","🙅🏽","🙅🏼","🙅🏻","🖖🏿","🖖🏾","🖖🏽","🖖🏼","🖖🏻","🖕🏿","🖕🏾","🖕🏽","🖕🏼","🖕🏻","🖐🏿","🖐🏾","🖐🏽","🖐🏼","🖐🏻","🕺🏿","🕺🏾","🕺🏽","🕺🏼","🕺🏻","🕵🏿","🕵🏾","🕵🏽","🕵🏼","🕵🏻","💪🏿","💪🏾","💪🏽","💪🏼","💪🏻","💇🏿","💇🏾","💇🏽","💇🏼","💇🏻","💆🏿","💆🏾","💆🏽","💆🏼","💆🏻","💅🏿","💅🏾","💅🏽","💅🏼","💅🏻","💃🏿","💃🏾","💃🏽","💃🏼","💃🏻","💂🏿","💂🏾","💂🏽","💂🏼","💂🏻","💁🏿","💁🏾","💁🏽","💁🏼","💁🏻","👼🏿","👼🏾","👼🏽","👼🏼","👼🏻","👸🏿","👸🏾","👸🏽","👸🏼","👸🏻","👷🏿","👷🏾","👷🏽","👷🏼","👷🏻","👶🏿","👶🏾","👶🏽","👶🏼","👶🏻","👵🏿","👵🏾","👵🏽","👵🏼","👵🏻","👴🏿","👴🏾","👴🏽","👴🏼","👴🏻","👳🏿","👳🏾","👳🏽","👳🏼","👳🏻","👲🏿","👲🏾","👲🏽","👲🏼","👲🏻","👱🏿","👱🏾","👱🏽","👱🏼","👱🏻","👰🏿","👰🏾","👰🏽","👰🏼","👰🏻","👮🏿","👮🏾","👮🏽","👮🏼","👮🏻","👩🏿","👩🏾","👩🏽","👩🏼","👩🏻","👨🏿","👨🏾","👨🏽","👨🏼","👨🏻","👧🏿","👧🏾","👧🏽","👧🏼","👧🏻","👦🏿","👦🏾","👦🏽","👦🏼","👦🏻","👐🏿","👐🏾","👐🏽","👐🏼","👐🏻","👏🏿","👏🏾","👏🏽","👏🏼","👏🏻","👎🏿","👎🏾","👎🏽","👎🏼","👎🏻","👍🏿","👍🏾","👍🏽","👍🏼","👍🏻","👌🏿","👌🏾","👌🏽","👌🏼","👌🏻","👋🏿","👋🏾","👋🏽","👋🏼","👋🏻","👊🏿","👊🏾","👊🏽","👊🏼","👊🏻","👉🏿","👉🏾","👉🏽","👉🏼","👉🏻","👈🏿","👈🏾","👈🏽","👈🏼","👈🏻","👇🏿","👇🏾","👇🏽","👇🏼","👇🏻","👆🏿","👆🏾","👆🏽","👆🏼","👆🏻","👃🏿","👃🏾","👃🏽","👃🏼","👃🏻","👂🏿","👂🏾","👂🏽","👂🏼","👂🏻","🏋🏿","🏋🏾","🏋🏽","🏋🏼","🏋🏻","🏊🏿","🏊🏾","🏊🏽","🏊🏼","🏊🏻","🏇🏿","🏇🏾","🏇🏽","🏇🏼","🏇🏻","🏄🏿","🏄🏾","🏄🏽","🏄🏼","🏄🏻","🏃🏿","🏃🏾","🏃🏽","🏃🏼","🏃🏻","🎅🏿","🎅🏾","🎅🏽","🎅🏼","🎅🏻","🇿🇼","🇿🇲","🇿🇦","🇾🇹","🇾🇪","🇽🇰","🇼🇸","🇼🇫","🇻🇺","🇻🇳","🇻🇮","🇻🇬","🇻🇪","🇻🇨","🇻🇦","🇺🇿","🇺🇾","🇺🇸","🇺🇲","🇺🇬","🇺🇦","🇹🇿","🇹🇼","🇹🇻","🇹🇹","🇹🇷","🇹🇴","🇹🇳","🇹🇲","🇹🇱","🇹🇰","🇹🇯","🇹🇭","🇹🇬","🇹🇫","🇹🇩","🇹🇨","🇹🇦","🇸🇿","🇸🇾","🇸🇽","🇸🇻","🇸🇹","🇸🇸","🇸🇷","🇸🇴","🇸🇳","🇸🇲","🇸🇱","🇸🇰","🇸🇯","🇸🇮","🇸🇭","🇸🇬","🇸🇪","🇸🇩","🇸🇨","🇸🇧","🇸🇦","🇷🇼","🇷🇺","🇷🇸","🇷🇴","🇷🇪","🇶🇦","🇵🇾","🇵🇼","🇵🇹","🇵🇸","🇵🇷","🇵🇳","🇵🇲","🇵🇱","🇵🇰","🇵🇭","🇵🇬","🇵🇫","🇵🇪","🇵🇦","🇴🇲","🇳🇿","🇳🇺","🇳🇷","🇳🇵","🇳🇴","🇳🇱","🇳🇮","🇳🇬","🇳🇫","🇳🇪","🇳🇨","🇳🇦","🇲🇿","🇲🇾","🇲🇽","🇲🇼","🇲🇻","🇲🇺","🇲🇹","🇲🇸","🇲🇷","🇲🇶","🇲🇵","🇲🇴","🇲🇳","🇲🇲","🇲🇱","🇲🇰","🇲🇭","🇲🇬","🇲🇫","🇲🇪","🇲🇩","🇲🇨","🇲🇦","🇱🇾","🇱🇻","🇱🇺","🇱🇹","🇱🇸","🇱🇷","🇱🇰","🇱🇮","🇱🇨","🇱🇧","🇱🇦","🇰🇿","🇰🇾","🇰🇼","🇰🇷","🇰🇵","🇰🇳","🇰🇲","🇰🇮","🇰🇭","🇰🇬","🇰🇪","🇯🇵","🇯🇴","🇯🇲","🇯🇪","🇮🇹","🇮🇸","🇮🇷","🇮🇶","🇮🇴","🇮🇳","🇮🇲","🇮🇱","🇮🇪","🇮🇩","🇮🇨","🇭🇺","🇭🇹","🇭🇷","🇭🇳","🇭🇲","🇭🇰","🇬🇾","🇬🇼","🇬🇺","🇬🇹","🇬🇸","🇬🇷","🇬🇶","🇬🇵","🇬🇳","🇬🇲","🇬🇱","🇬🇮","🇬🇭","🇬🇬","🇬🇫","🇬🇪","🇬🇩","🇬🇧","🇬🇦","🇫🇷","🇫🇴","🇫🇲","🇫🇰","🇫🇯","🇫🇮","🇪🇺","🇪🇹","🇪🇸","🇪🇷","🇪🇭","🇪🇬","🇪🇪","🇪🇨","🇪🇦","🇩🇿","🇩🇴","🇩🇲","🇩🇰","🇩🇯","🇩🇬","🇩🇪","🇨🇿","🇨🇾","🇨🇽","🇨🇼","🇨🇻","🇨🇺","🇨🇷","🇨🇵","🇨🇴","🇨🇳","🇨🇲","🇨🇱","🇨🇰","🇨🇮","🇨🇭","🇨🇬","🇨🇫","🇨🇩","🇨🇨","🇨🇦","🇧🇿","🇧🇾","🇧🇼","🇧🇻","🇧🇹","🇧🇸","🇧🇷","🇧🇶","🇧🇴","🇧🇳","🇧🇲","🇧🇱","🇧🇯","🇧🇮","🇧🇭","🇧🇬","🇧🇫","🇧🇪","🇧🇩","🇧🇧","🇧🇦","🇦🇿","🇦🇽","🇦🇼","🇦🇺","🇦🇹","🇦🇸","🇦🇷","🇦🇶","🇦🇴","🇦🇲","🇦🇱","🇦🇮","🇦🇬","🇦🇫","🇦🇪","🇦🇩","🇦🇨","🀄️","🀄","🅿️","🅿","🈂️","🈂","🈚️","🈚","🈯️","🈯","🈷️","🈷","🎞️","🎞","🎟️","🎟","🏋️","🏋","🏌️","🏌","🏍️","🏍","🏎️","🏎","🎖️","🎖","🎗️","🎗","🌶️","🌶","🌧️","🌧","🌨️","🌨","🌩️","🌩","🌪️","🌪","🌫️","🌫","🌬️","🌬","🐿️","🐿","🕷️","🕷","🕸️","🕸","🌡️","🌡","🎙️","🎙","🎚️","🎚","🎛️","🎛","🏳️","🏳","🏵️","🏵","🏷️","🏷","📽️","📽","🕉️","🕉","🕊️","🕊","🕯️","🕯","🕰️","🕰","🕳️","🕳","🕶️","🕶","🕹️","🕹","🖇️","🖇","🖊️","🖊","🖋️","🖋","🖌️","🖌","🖍️","🖍","🖥️","🖥","🖨️","🖨","🖲️","🖲","🖼️","🖼","🗂️","🗂","🗃️","🗃","🗄️","🗄","🗑️","🗑","🗒️","🗒","🗓️","🗓","🗜️","🗜","🗝️","🗝","🗞️","🗞","🗡️","🗡","🗣️","🗣","🗨️","🗨","🗯️","🗯","🗳️","🗳","🗺️","🗺","🛠️","🛠","🛡️","🛡","🛢️","🛢","🛰️","🛰","🍽️","🍽","👁️","👁","🕴️","🕴","🕵️","🕵","🖐️","🖐","🏔️","🏔","🏕️","🏕","🏖️","🏖","🏗️","🏗","🏘️","🏘","🏙️","🏙","🏚️","🏚","🏛️","🏛","🏜️","🏜","🏝️","🏝","🏞️","🏞","🏟️","🏟","🛋️","🛋","🛍️","🛍","🛎️","🛎","🛏️","🛏","🛣️","🛣","🛤️","🛤","🛥️","🛥","🛩️","🛩","🛳️","🛳","🌤️","🌤","🌥️","🌥","🌦️","🌦","🖱️","🖱","☝🏻","☝🏼","☝🏽","☝🏾","☝🏿","✌🏻","✌🏼","✌🏽","✌🏾","✌🏿","✊🏻","✊🏼","✊🏽","✊🏾","✊🏿","✋🏻","✋🏼","✋🏽","✋🏾","✋🏿","✍🏻","✍🏼","✍🏽","✍🏾","✍🏿","⛹🏻","⛹🏼","⛹🏽","⛹🏾","⛹🏿","©️","©","®️","®","‼️","‼","⁉️","⁉","™️","™","ℹ️","ℹ","↔️","↔","↕️","↕","↖️","↖","↗️","↗","↘️","↘","↙️","↙","↩️","↩","↪️","↪","⌚️","⌚","⌛️","⌛","Ⓜ️","Ⓜ","▪️","▪","▫️","▫","▶️","▶","◀️","◀","◻️","◻","◼️","◼","◽️","◽","◾️","◾","☀️","☀","☁️","☁","☎️","☎","☑️","☑","☔️","☔","☕️","☕","☝️","☝","☺️","☺","♈️","♈","♉️","♉","♊️","♊","♋️","♋","♌️","♌","♍️","♍","♎️","♎","♏️","♏","♐️","♐","♑️","♑","♒️","♒","♓️","♓","♠️","♠","♣️","♣","♥️","♥","♦️","♦","♨️","♨","♻️","♻","♿️","♿","⚓️","⚓","⚠️","⚠","⚡️","⚡","⚪️","⚪","⚫️","⚫","⚽️","⚽","⚾️","⚾","⛄️","⛄","⛅️","⛅","⛔️","⛔","⛪️","⛪","⛲️","⛲","⛳️","⛳","⛵️","⛵","⛺️","⛺","⛽️","⛽","✂️","✂","✈️","✈","✉️","✉","✌️","✌","✏️","✏","✒️","✒","✔️","✔","✖️","✖","✳️","✳","✴️","✴","❄️","❄","❇️","❇","❗️","❗","❤️","❤","➡️","➡","⤴️","⤴","⤵️","⤵","⬅️","⬅","⬆️","⬆","⬇️","⬇","⬛️","⬛","⬜️","⬜","⭐️","⭐","⭕️","⭕","〰️","〰","〽️","〽","㊗️","㊗","㊙️","㊙","✝️","✝","⌨️","⌨","✍️","✍","⏏️","⏏","⏭️","⏭","⏮️","⏮","⏯️","⏯","⏱️","⏱","⏲️","⏲","⏸️","⏸","⏹️","⏹","⏺️","⏺","☂️","☂","☃️","☃","☄️","☄","☘️","☘","☠️","☠","☢️","☢","☣️","☣","☦️","☦","☪️","☪","☮️","☮","☯️","☯","☸️","☸","☹️","☹","⚒️","⚒","⚔️","⚔","⚖️","⚖","⚗️","⚗","⚙️","⚙","⚛️","⚛","⚜️","⚜","⚰️","⚰","⚱️","⚱","⛈️","⛈","⛏️","⛏","⛑️","⛑","⛓️","⛓","⛩️","⛩","⛰️","⛰","⛱️","⛱","⛴️","⛴","⛷️","⛷","⛸️","⛸","⛹️","⛹","✡️","✡","❣️","❣","🥉","🥈","🥇","🤺","🥅","🤾","🇿","🤽","🥋","🥊","🤼","🤹","🤸","🛶","🛵","🛴","🛒","🃏","🅰","🅱","🅾","🛑","🆎","🆑","🇾","🆒","🆓","🆔","🆕","🆖","🆗","🆘","🥄","🆙","🆚","🥂","🥃","🈁","🥙","🈲","🈳","🈴","🈵","🈶","🥘","🈸","🈹","🥗","🈺","🉐","🉑","🌀","🥖","🌁","🌂","🌃","🌄","🌅","🌆","🥕","🌇","🌈","🥔","🌉","🌊","🌋","🌌","🌏","🌑","🥓","🌓","🌔","🌕","🌙","🌛","🌟","🥒","🌠","🌰","🥑","🌱","🌴","🌵","🌷","🌸","🌹","🌺","🌻","🌼","🌽","🥐","🌾","🌿","🍀","🍁","🍂","🍃","🍄","🍅","🍆","🍇","🍈","🍉","🍊","🥀","🍌","🍍","🍎","🍏","🍑","🍒","🍓","🦏","🍔","🍕","🍖","🦎","🍗","🍘","🍙","🦍","🍚","🍛","🦌","🍜","🍝","🍞","🍟","🦋","🍠","🍡","🦊","🍢","🍣","🦉","🍤","🍥","🦈","🍦","🦇","🍧","🇽","🍨","🦆","🍩","🦅","🍪","🖤","🍫","🍬","🍭","🍮","🍯","🤞","🍰","🍱","🍲","🤝","🍳","🍴","🍵","🍶","🍷","🍸","🍹","🍺","🍻","🎀","🎁","🎂","🎃","🤛","🤜","🎄","🎅","🎆","🤚","🎇","🎈","🎉","🎊","🎋","🎌","🤙","🎍","🕺","🎎","🤳","🎏","🤰","🎐","🤦","🤷","🎑","🎒","🎓","🎠","🎡","🎢","🎣","🎤","🎥","🎦","🎧","🤶","🎨","🤵","🎩","🎪","🤴","🎫","🎬","🎭","🤧","🎮","🎯","🎰","🎱","🎲","🎳","🎴","🤥","🎵","🎶","🎷","🤤","🎸","🎹","🎺","🤣","🎻","🎼","🎽","🤢","🎾","🎿","🏀","🏁","🤡","🏂","🏃","🏄","🏆","🏈","🏊","🏠","🏡","🏢","🏣","🏥","🏦","🏧","🏨","🏩","🏪","🏫","🏬","🤠","🏭","🏮","🏯","🏰","🐌","🐍","🐎","🐑","🐒","🐔","🐗","🐘","🐙","🐚","🐛","🐜","🐝","🐞","🐟","🐠","🐡","🐢","🐣","🐤","🐥","🐦","🐧","🐨","🐩","🐫","🐬","🐭","🐮","🐯","🐰","🐱","🐲","🐳","🐴","🐵","🐶","🐷","🐸","🐹","🐺","🐻","🐼","🐽","🐾","👀","👂","👃","👄","👅","👆","👇","👈","👉","👊","👋","👌","👍","👎","👏","👐","👑","👒","👓","👔","👕","👖","👗","👘","👙","👚","👛","👜","👝","👞","👟","👠","👡","👢","👣","👤","👦","👧","👨","👩","👪","👫","👮","👯","👰","👱","👲","👳","👴","👵","👶","👷","👸","👹","👺","👻","👼","👽","👾","👿","💀","📇","💁","💂","💃","💄","💅","📒","💆","📓","💇","📔","💈","📕","💉","📖","💊","📗","💋","📘","💌","📙","💍","📚","💎","📛","💏","📜","💐","📝","💑","📞","💒","📟","📠","💓","📡","📢","💔","📣","📤","💕","📥","📦","💖","📧","📨","💗","📩","📪","💘","📫","📮","💙","📰","📱","💚","📲","📳","💛","📴","📶","💜","📷","📹","💝","📺","📻","💞","📼","🔃","💟","🔊","🔋","💠","🔌","🔍","💡","🔎","🔏","💢","🔐","🔑","💣","🔒","🔓","💤","🔔","🔖","💥","🔗","🔘","💦","🔙","🔚","💧","🔛","🔜","💨","🔝","🔞","💩","🔟","💪","🔠","🔡","💫","🔢","🔣","💬","🔤","🔥","💮","🔦","🔧","💯","🔨","🔩","💰","🔪","🔫","💱","🔮","💲","🔯","💳","🔰","🔱","💴","🔲","🔳","💵","🔴","🔵","💸","🔶","🔷","💹","🔸","🔹","💺","🔺","🔻","💻","🔼","💼","🔽","🕐","💽","🕑","💾","🕒","💿","🕓","📀","🕔","🕕","📁","🕖","🕗","📂","🕘","🕙","📃","🕚","🕛","📄","🗻","🗼","📅","🗽","🗾","📆","🗿","😁","😂","😃","📈","😄","😅","📉","😆","😉","📊","😊","😋","📋","😌","😍","📌","😏","😒","📍","😓","😔","📎","😖","😘","📏","😚","😜","📐","😝","😞","📑","😠","😡","😢","😣","😤","😥","😨","😩","😪","😫","😭","😰","😱","😲","😳","😵","😷","😸","😹","😺","😻","😼","😽","😾","😿","🙀","🙅","🙆","🙇","🙈","🙉","🙊","🙋","🙌","🙍","🙎","🙏","🚀","🚃","🚄","🚅","🚇","🚉","🚌","🚏","🚑","🚒","🚓","🚕","🚗","🚙","🚚","🚢","🚤","🚥","🚧","🚨","🚩","🚪","🚫","🚬","🚭","🚲","🚶","🚹","🚺","🚻","🚼","🚽","🚾","🛀","🤘","😀","😇","😈","😎","😐","😑","😕","😗","😙","😛","😟","😦","😧","😬","😮","😯","😴","😶","🚁","🚂","🚆","🚈","🚊","🚍","🚎","🚐","🚔","🚖","🚘","🚛","🚜","🚝","🚞","🚟","🚠","🚡","🚣","🚦","🚮","🚯","🚰","🚱","🚳","🚴","🚵","🚷","🚸","🚿","🛁","🛂","🛃","🛄","🛅","🌍","🌎","🌐","🌒","🌖","🌗","🌘","🌚","🌜","🌝","🌞","🌲","🌳","🍋","🍐","🍼","🏇","🏉","🏤","🐀","🐁","🐂","🐃","🐄","🐅","🐆","🐇","🐈","🐉","🐊","🐋","🐏","🐐","🐓","🐕","🐖","🐪","👥","👬","👭","💭","💶","💷","📬","📭","📯","📵","🔀","🔁","🔂","🔄","🔅","🔆","🔇","🔉","🔕","🔬","🔭","🕜","🕝","🕞","🕟","🕠","🕡","🕢","🕣","🕤","🕥","🕦","🕧","🔈","🚋","🏅","🏴","📸","🛌","🖕","🖖","🙁","🙂","🛫","🛬","🏻","🏼","🏽","🏾","🏿","🙃","🤑","🤓","🤗","🙄","🤔","🤐","🤒","🤕","🤖","🦁","🦄","🦂","🦀","🦃","🧀","🌭","🌮","🌯","🍿","🍾","🏹","🏺","🛐","🕋","🕌","🕍","🕎","📿","🏏","🏐","🏑","🏒","🏓","🏸","🥁","🦐","🦑","🥚","🥛","🥜","🥝","🥞","🇼","🇻","🇺","🇹","🇸","🇷","🇶","🇵","🇴","🇳","🇲","🇱","🇰","🇯","🇮","🇭","🇬","🇫","🇪","🇩","🇨","🇧","🇦","⏩","⏪","⏫","⏬","⏰","⏳","⛎","✅","✊","✋","✨","❌","❎","❓","❔","❕","➕","➖","➗","➰","➿","imagePathPNG","imagePathSVG","imagePathSVGSprites","imageType","imageTitleTag","sprites","unicodeAlt","ascii","cacheBustParam","regShortNames","regAscii","regUnicode","toImage","unicodeToImage","shortnameToImage","unifyUnicode","toShort","shortnameToUnicode","shortnameToAscii","unicodeToAscii","objectFlip","shortname","convert","entire","m3","unescapeHTML","escapeHTML","mappedUnicode","mapUnicodeToShort","unicodeChar","getUnicodeReplacementRegEx","replacementList","mapUnicodeCharactersToShort","replaceAll","escaped","unescaped","&#x26;","&#x3C;","&#x3E;","&#x22;","&#x27;","mapEmojioneList","addToMapStorage","memMapShortToUnicode","memoizeReplacement","unicodeReplacementRegEx","memMapShortToUnicodeCharacters","unicodeList","emojiCharacter","tmp_obj","escapeRegExp","escapedFind","emojione","I18next","bg","translation","Logging_in","your_connection_is_unencrypted","your_connection_is_encrypted","your_buddy_closed_the_private_connection","start_private","close_private","your_buddy_is_verificated","you_have_only_a_subscription_in_one_way","authentication_query_sent","your_message_wasnt_send_please_end_your_private_conversation","unencrypted_message_received","not_available","no_connection","relogin","trying_to_start_private_conversation","Verified","Unverified","private_conversation_aborted","your_buddy_closed_the_private_conversation_you_should_do_the_same","conversation_is_now_verified","authentication_failed","Creating_your_private_key_","Authenticating_a_buddy_helps_","How_do_you_want_to_authenticate_your_buddy","Select_method","Manual","Question","Secret","To_verify_the_fingerprint_","Your_fingerprint","Buddy_fingerprint","Close","Compared","To_authenticate_using_a_question_","Ask","To_authenticate_pick_a_secret_","Compare","Fingerprints","Authentication","Add_buddy","rename_buddy","delete_buddy","Login","Username","Password","Cancel","Connect","Type_in_the_full_username_","Alias","Add","Subscription_request","You_have_a_request_from","Deny","Approve","Remove_buddy","You_are_about_to_remove_","Continue_without_chat","Please_wait","Login_failed","Sorry_we_cant_authentikate_","Retry","clear_history","New_message_from","Should_we_notify_you_","Please_accept_","Hide_offline","Show_offline","About","dnd","online","chat","away","xa","offline","Unknown_instance_tag","Not_one_of_our_latest_keys","Received_an_unreadable_encrypted_message","Online","Chatty","Away","Extended_away","Offline","Friendship_request","Confirm","Dismiss","Remove","Online_help","FN","FAMILY","GIVEN","NICKNAME","ADR","STREET","EXTADD","LOCALITY","REGION","PCODE","CTRY","TEL","NUMBER","EMAIL","USERID","ORG","ORGNAME","ORGUNIT","TITLE","ROLE","BDAY","DESC","PHOTO","send_message","get_info","Settings","Priority","Save","User_settings","A_fingerprint_","Login_options","BOSH_url","Domain","Resource","On_login","Received_an_unencrypted_message","Sorry_your_buddy_doesnt_provide_any_information","Info_about","Authentication_aborted","Authentication_request_received","Log_in_without_chat","has_come_online","Unknown_sender","Please_allow_access_to_microphone_and_camera","Incoming_call","Do_you_want_to_accept_the_call_from","Reject","Accept","hang_up","snapshot","mute_my_audio","pause_my_video","fullscreen","Local_IP","Remote_IP","Local_Fingerprint","Remote_Fingerprint","Video_call_not_possible","Start_video_call","Join_chat","Join","Room","Nickname","left_the_building","entered_the_room","is_now_known_as","This_room_is","muc_hidden","keyword","muc_membersonly","muc_moderated","muc_nonanonymous","muc_open","muc_passwordprotected","muc_persistent","muc_public","muc_semianonymous","muc_temporary","muc_unmoderated","muc_unsecured","Continue","Server","Rooms_are_loaded","Could_load_only","muc_explanation","You_already_joined_this_room","This_room_will_be_closed","Room_not_found_","Loading_room_information","Leave","changed_subject_to","muc_removed_kicked","muc_removed_info_kicked","muc_removed_banned","muc_removed_info_banned","muc_removed_affiliation","muc_removed_info_affiliation","muc_removed_membersonly","muc_removed_info_membersonly","muc_removed_shutdown","message_not_send","message_not_send_item-not-found","message_not_send_forbidden","message_not_send_not-acceptable","This_room_has_been_closed","Room_logging_is_enabled","A_password_is_required","You_are_not_on_the_member_list","You_are_banned_from_this_room","Your_desired_nickname_","The_maximum_number_","This_room_is_locked_","You_are_not_allowed_to_create_","Alert","Call_started","Call_terminated","Carbon_copy","jingle_reason_busy","jingle_reason_decline","jingle_reason_success","Media_failure","No_local_audio_device","No_local_video_device","Ok","Use_local_audio_device","Use_local_video_device","is_","You_received_a_message_from_an_unknown_sender_","Your_roster_is_empty_add_","onsmp_explanation_question","onsmp_explanation_secret","from_sender","Verified_private_conversation_started","Unverified_private_conversation_started","Bookmark","Auto-join","Edit_bookmark","Room_logging_is_disabled","Room_is_now_non-anoymous","Room_is_now_semi-anonymous","Do_you_want_to_change_the_default_room_configuration","Default","Change","Send_file","setting-explanation-carbon","setting-explanation-login","setting-explanation-priority","setting-explanation-xmpp","_is_composing","_are_composing","Chat_state_notifications","setting-explanation-chat-state","Share_screen","Incoming_stream","Stream_started","HTTPS_REQUIRED","EXTENSION_UNAVAILABLE","UNKNOWN_ERROR","Install_extension","Connection_accepted","Stream_terminated","Close_all","Unreadable_OTR_message","bn-BD","de","en","fi","fr","hu-HU","nds","pl","pt-BR","ro","ru","sv-SE","tr-TR","vi-VN","zh-TW","zh"],"mappings":"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cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe;AAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOnoC,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAO9Z,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KA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","file":"jsxc.dep.min.js"} \ No newline at end of file
+{"version":3,"sources":["jsxc.dep.js"],"names":["callback","root","factory","define","amd","Base64","this","keyStr","obj","encode","input","chr1","chr2","chr3","enc1","enc2","enc3","enc4","output","i","charCodeAt","isNaN","charAt","length","decode","replace","indexOf","String","fromCharCode","SHA1","core_sha1","x","len","j","t","olda","oldb","oldc","oldd","olde","w","Array","a","b","c","d","e","rol","safe_add","sha1_ft","sha1_kt","core_hmac_sha1","key","data","bkey","str2binb","ipad","opad","hash","concat","y","lsw","msw","num","cnt","str","bin","mask","binb2str","binb2b64","binarray","triplet","tab","b64_hmac_sha1","b64_sha1","s","str_hmac_sha1","str_sha1","MD5","bit_rol","str2binl","binl2str","binl2hex","hex_tab","md5_cmn","q","md5_ff","md5_gg","md5_hh","md5_ii","core_md5","hexdigest","Function","prototype","bind","func","_slice","slice","_concat","_args","call","arguments","apply","isArray","arg","Object","toString","elt","from","Number","Math","ceil","floor","o","window","Strophe","$build","$iq","$msg","$pres","name","attrs","Builder","VERSION","NS","HTTPBIND","BOSH","CLIENT","AUTH","ROSTER","PROFILE","DISCO_INFO","DISCO_ITEMS","MUC","SASL","STREAM","FRAMING","BIND","SESSION","STANZAS","XHTML_IM","XHTML","tags","attributes","blockquote","br","cite","em","img","li","ol","p","span","strong","ul","body","css","validTag","tag","validAttribute","attribute","validCSS","style","Status","ERROR","CONNECTING","CONNFAIL","AUTHENTICATING","AUTHFAIL","CONNECTED","DISCONNECTED","DISCONNECTING","ATTACHED","REDIRECT","LogLevel","DEBUG","INFO","WARN","FATAL","ElementType","NORMAL","TEXT","CDATA","FRAGMENT","TIMEOUT","SECONDARY_TIMEOUT","addNamespace","value","forEachChild","elem","elemName","childNode","childNodes","nodeType","isTagEqual","el","tagName","_xmlGenerator","_makeGenerator","doc","undefined","document","implementation","createDocument","documentMode","_getIEXmlDom","appendChild","createElement","xmlGenerator","docStrings","ActiveXObject","xmlElement","k","node","xmlTextNode","attr","setAttribute","hasOwnProperty","xmlescape","text","xmlunescape","createTextNode","xmlHtmlNode","html","DOMParser","parser","parseFromString","async","loadXML","getText","nodeValue","copyElement","nodeName","createHtml","cssAttrs","cssName","cssValue","toLowerCase","getAttribute","cssText","split","push","join","createDocumentFragment","escapeNode","unescapeNode","getNodeFromJid","jid","getDomainFromJid","bare","getBareJidFromJid","parts","splice","getResourceFromJid","log","level","msg","debug","info","warn","error","fatal","serialize","result","tree","child","_requestId","_connectionPlugins","addConnectionPlugin","ptype","xmlns","nodeTree","up","parentNode","moreattrs","removeAttribute","cnode","impNode","xmlGen","importNode","newElem","h","fragment","innerHTML","xhtml","Handler","handler","ns","type","id","options","matchBare","user","isMatch","nsMatch","that","elem_type","run","sourceURL","line","message","fileName","console","trace","lineNumber","stack","TimedHandler","period","lastCalled","Date","getTime","reset","Connection","service","proto","protocol","_proto","Websocket","Bosh","domain","features","_sasl_data","do_session","do_bind","timedHandlers","handlers","removeTimeds","removeHandlers","addTimeds","addHandlers","_authentication","_idleTimeout","_disconnectTimeout","authenticated","connected","disconnecting","do_authentication","paused","restored","_data","_uniqueId","_sasl_success_handler","_sasl_failure_handler","_sasl_challenge_handler","maxRetries","setTimeout","_onIdle","F","init","_reset","_requests","pause","resume","getUniqueId","suffix","uuid","r","random","v","connect","pass","wait","hold","route","authcid","authzid","servtype","connect_callback","_changeConnectStatus","_connect","attach","sid","rid","wind","_attach","restore","_sessionCachingSupported","_restore","JSON","sessionStorage","setItem","removeItem","xmlInput","xmlOutput","rawInput","rawOutput","nextValidRid","send","_queueData","_send","flush","clearTimeout","sendIQ","errback","timeout","timeoutHandler","expectedFrom","fulljid","addHandler","stanza","deleteTimedHandler","acceptable","iqtype","addTimedHandler","deleteHandler","element","_sendRestart","thand","handRef","hand","disconnect","reason","pres","_addSysTimedHandler","_onDisconnectTimeout","_disconnect","_abortAllRequests","status","condition","plugin","statusChanged","err","_doDisconnect","_dataRecv","req","raw","_reqToData","strip","pop","_emptyQueue","cond","conflict","getElementsByTagName","newList","mechanisms","_connect_cb","_callback","bodyWrap","conncheck","sasl_scram_sha1","sasl_plain","sasl_digest_md5","sasl_anonymous","legacy_auth","hasFeatures","getElementsByTagNameNS","mech","matched","found_authentication","_no_auth_received","authenticate","higher","priority","swap","mechanism_found","test","_addSysHandler","_sasl_success_cb","_sasl_failure_cb","_sasl_challenge_cb","_sasl_mechanism","onStart","request_auth_exchange","mechanism","isClientFirst","response","onChallenge","_auth1_cb","to","challenge","iq","_auth2_cb","serverSignature","success","attribMatch","matches","match","onSuccess","streamfeature_handlers","wrapper","_sasl_auth1_cb","_sasl_bind_cb","resource","jidNode","_sasl_session_cb","onFailure","since","now","SASLMechanism","connection","_connection","Error","SASLAnonymous","SASLPlain","auth_str","SASLSHA1","test_cnonce","cnonce","nonce","salt","iter","Hi","U","U_old","clientKey","serverKey","clientSignature","responseText","authMessage","substr","SASLMD5","_quote","realm","host","qop","digest_uri","A1","A2","core","Request","sends","xmlData","origFunc","date","NaN","abort","dead","age","timeDead","xhr","_newXHR","getResponse","responseXML","documentElement","XMLHttpRequest","overrideMimeType","onreadystatechange","_conn","errors","_buildBody","keepalive","_cacheSession","xml:lang","content","ver","xmpp:version","xmlns:xmpp","_onRequestStateChange","_throttledRequestHandler","session","parse","getItem","stringify","typ","parseInt","_sendTerminate","_hitError","reqStatus","xmpp:restart","time_elapsed","readyState","reqIs0","reqIs1","_removeRequest","_restartRequest","_processRequest","self","primaryTimeout","secondaryTimeout","requestCompletedWithServerError","open","sync","setRequestHeader","e2","sendFunc","customHeaders","headers","header","backoff","min","pow","abs","new_service","location","pathname","_buildStream","version","_check_streamerror","connectstatus","textContent","errorString","_closeSocket","socket","WebSocket","onopen","_onOpen","onerror","_onError","onclose","_onClose","onmessage","_connect_cb_wrapper","_handleStreamStart","streamStart","see_uri","string","_streamWrap","_onMessage","CLOSED","close","closeString","rawStanza","search","firstChild","start","startString","build","Occupant","RoomConfig","XmppRoom","__bind","fn","me","rooms","roomNames","conn","_muc_handler","room","nick","msg_handler_cb","pres_handler_cb","roster_cb","password","history_attrs","extended_presence","room_nick","_ref","_this","test_append_nick","roomname","xquery","_i","_len","_message_handlers","_presence_handlers","leave","handler_cb","exit_msg","presence","presenceid","html_message","msgid","parent","removeChild","groupchat","invite","receiver","invitation","MUC_USER","directInvite","queryOccupants","success_cb","error_cb","configure","config","MUC_OWNER","cancelConfigure","saveConfiguration","conf","Form","toXML","createInstantRoom","roomiq","setTopic","topic","_modifyPrivilege","item","MUC_ADMIN","modifyRole","role","kick","voice","mute","op","deop","modifyAffiliation","affiliation","ban","member","revoke","owner","admin","changeNick","setStatus","show","listRooms","server","handle_cb","client","_roomRosterHandler","_addOccupant","roster","_roster_handlers","_handler_ids","muc","handler_type","removeHandler","occ","newnick","_parsePresence","update","c2","_j","_len1","_ref1","_ref2","_ref3","_ref4","_ref5","_ref6","_ref7","states","code","field","identity","query","_k","_len2","identities","var","label","_identities","_features","_items","_onDiscoInfo","_onDiscoItems","addIdentity","category","lang","addFeature","var_name","removeFeature","addItem","call_back","items","_buildIQResult","query_attrs","iqresult","$","HASH","_ver","_knownCapabilities","localStorage","_jidVerIndex","disco","CAPS","_delegateCapabilities","generateCapsAttrs","generateVer","sort","_sortIdentities","identitiesLen","featuresLen","curIdent","getCapabilitiesByJid","hasFeatureByJid","feature","makeArray","knownCapabilities","querySelector","trigger","_requestCapabilities","_handleDiscoInfoReply","childNodesLen","_attributesToJsObject","jQuery","buildIq","vCardEl","VCARD","get","set","createBookmarksNode","PUBSUB","add","roomJid","alias","autojoin","bookmarkGroupChat","bookmarkit","conferenceAttr","BOOKMARKS","confs","bookmarked","roomName","nickname","delete","$field","$form","$item","$opt","Field","Item","Option","helper","__slice","__indexOf","l","fill","src","target","klass","f","_results","createHtmlFieldCouple","div","append","toHTML","children","getHtmlFields","find","opt","toJSON","fields","reported","_types","title","instructions","xml","json","form","appendTo","fromXML","instr","fromHTML","addOptions","addOption","addValues","addValue","values","desc","required","_multiTypes","val","vals","multi","opts","txt","_htmlElementToFieldType","trim","fieldset","DATA","addNode","parseFromResult","_notificationReceived","CHATSTATES","addActive","composing","active","sendActive","_sendNotification","sendComposing","sendPaused","notification","_c","_p","mamAttr","MAM","queryid","pn","onMessage","onComplete","RSM","attribs","fromXMLElement","ii","attrib","next","max","newSet","after","last","previous","before","first","index","n","u","require","exports","1","module","default","__esModule","core-js/library/fn/object/assign","2","3","placeHoldersCount","b64","byteLength","toByteArray","tmp","placeHolders","arr","Arr","L","revLookup","tripletToBase64","lookup","encodeChunk","uint8","end","fromByteArray","extraBytes","maxChunkLength","len2","Uint8Array","4","5","global","buffer","Buffer","SlowBuffer","MAX_LEN","kMaxLength","alloc","size","encoding","TypeError","RangeError","enc","_fill","buf","fillBuf","flen","allocUnsafe","encodingOrOffset","ArrayBuffer","offset","isBuffer","out","copy","allocUnsafeSlow","6","typedArraySupport","__proto__","foo","subarray","TYPED_ARRAY_SUPPORT","createBuffer","fromArrayBuffer","fromString","fromObject","assertSize","checked","isEncoding","actual","write","fromArrayLike","array","byteOffset","isnan","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","m","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","read","indexSize","readUInt16BE","arrLength","valLength","foundIndex","found","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","base64","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","codePoints","MAX_ARGUMENTS_LENGTH","ret","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","ieee754","writeDouble","base64clean","stringtrim","INVALID_BASE64_RE","units","Infinity","leadSurrogate","byteArray","hi","lo","dst","INSPECT_MAX_BYTES","poolSize","_augment","Symbol","species","defineProperty","configurable","_isBuffer","compare","list","pos","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","_arr","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","base64-js","isarray","7","CipherBase","hashMode","Transform","_finalOrDigest","final","_decoder","_encoding","inherits","StringDecoder","inputEnc","outputEnc","outData","_update","_toString","setAutoPadding","getAuthTag","setAuthTag","setAAD","_transform","_","_flush","done","_final","fin","stream","string_decoder","8","assign","../../modules/$.core","../../modules/es6.object.assign","9","it","10","11","__e","12","aFunction","./$.a-function","13","14","ctx","PROTOTYPE","$export","source","own","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","IS_WRAP","W","C","param","./$.core","./$.ctx","./$.global","15","exec","16","__g","17","cof","propertyIsEnumerable","./$.cof","18","$Object","create","getProto","getPrototypeOf","isEnum","getDesc","getOwnPropertyDescriptor","setDesc","setDescs","defineProperties","getKeys","keys","getNames","getOwnPropertyNames","getSymbols","getOwnPropertySymbols","each","forEach","19","toObject","IObject","A","K","T","$$","$$len","./$","./$.fails","./$.iobject","./$.to-object","20","defined","./$.defined","21","./$.export","./$.object-assign","22","objectToString","isBoolean","isNull","isNullOrUndefined","isNumber","isString","isSymbol","isUndefined","isRegExp","re","isObject","isDate","isError","isFunction","isPrimitive","../../is-buffer/index.js","23","HashNoConstructor","Base","_hash","buffers","Hash","md5","rmd160","sha","digest","alg","./md5","cipher-base","ripemd160","sha.js","24","toArray","bigEndian","intSize","zeroBuffer","toBuffer","hashSize","chrsz","25","helpers","./helpers","26","Hmac","blocksize","_alg","_key","createHash","ZEROS","_ipad","_opad","create-hash/browser","27","EventEmitter","_events","_maxListeners","defaultMaxListeners","setMaxListeners","emit","er","args","listeners","context","addListener","listener","newListener","warned","on","once","g","removeListener","fired","position","removeAllListeners","listenerCount","evlistener","emitter","28","prop","29","Sender","WildEmitter","chunksize","pacing","file","channel","Receiver","receiveBuffer","received","metadata","util","usePoll","bufferedAmountLowThreshold","sliceFile","reader","FileReader","onload","bufferedAmount","readAsArrayBuffer","addEventListener","receive","binaryType","event","Blob","support","File","wildemitter","30","base","hashes","algo","actualhash","./filetransfer","iana-hashes","31","getUserMedia","cache","constraints","cb","hasConstraints","navigator","userAgent","chromever","maxver","isCef","chrome","webstore","getScreenMediaJSExtensionId","runtime","sendMessage","sourceId","audio","video","mandatory","chromeMediaSource","maxWidth","screen","width","maxHeight","height","maxFrameRate","chromeMediaSourceId","cefGetScreenMedia","optional","googLeakyBucket","googTemporalLayeredScreencast","pending","postMessage","ffver","mozMediaSource","mediaSource","lastTime","currentTime","polly","setInterval","clearInterval","onended","origin","getusermedia","32","haveOpts","defaultOpts","denied","altDenied","notSatisfied","mediaDevices","then","catch","webrtc-adapter","33","logging","browserDetails","extractVersion","disableLog","chromeShim","edgeShim","firefoxShim","safariShim","browser","shimPeerConnection","browserShim","shimGetUserMedia","shimMediaStream","shimSourceObject","shimOnTrack","./chrome/chrome_shim","./edge/edge_shim","./firefox/firefox_shim","./safari/safari_shim","./utils","34","MediaStream","webkitMediaStream","RTCPeerConnection","_ontrack","removeEventListener","_ontrackpoly","te","Event","track","streams","dispatchEvent","getTracks","HTMLMediaElement","_srcObject","URL","revokeObjectURL","createObjectURL","pcConfig","pcConstraints","iceTransportPolicy","iceTransports","pc","webkitRTCPeerConnection","origGetStats","getStats","selector","successCallback","errorCallback","fixChromeStats_","standardReport","reports","report","standardStats","timestamp","names","stat","makeMapStats","stats","legacyStats","map","Map","successCallbackWrapper_","Promise","resolve","reject","generateCertificate","method","nativeMethod","promise","RTCIceCandidate","RTCSessionDescription","nativeAddIceCandidate","addIceCandidate","../utils.js","./getusermedia","35","constraintsToChrome_","cc","ideal","exact","oldname_","prefix","toUpperCase","oc","mix","advanced","shimConstraints_","face","facingMode","getSupportedConstraints","enumerateDevices","devices","filter","kind","back","deviceId","shimError_","PermissionDeniedError","ConstraintNotSatisfiedError","constraint","constraintName","getUserMedia_","onError","webkitGetUserMedia","getUserMediaPromise_","kinds","MediaStreamTrack","getSources","device","groupId","origGetUserMedia","cs","getAudioTracks","getVideoTracks","stop","DOMException","36","SDPUtils","RTCIceGatherer","origMSTEnabled","ev","enabled","_eventTarget","onicecandidate","onaddstream","ontrack","onremovestream","onsignalingstatechange","oniceconnectionstatechange","onnegotiationneeded","ondatachannel","localStreams","remoteStreams","getLocalStreams","getRemoteStreams","localDescription","sdp","remoteDescription","signalingState","iceConnectionState","iceGatheringState","iceOptions","gatherPolicy","iceServers","usingBundle","bundlePolicy","urls","url","_config","transceivers","_localIceCandidatesBuffer","_emitBufferedCandidates","sections","splitSections","candidate","sdpMLineIndex","complete","every","transceiver","iceGatherer","state","getConfiguration","addStream","clonedStream","clone","idx","clonedTrack","_maybeFireNegotiationNeeded","removeStream","getSenders","rtpSender","getReceivers","rtpReceiver","_getCommonCapabilities","localCapabilities","remoteCapabilities","commonCapabilities","codecs","headerExtensions","fecMechanisms","lCodec","rCodec","clockRate","numChannels","rtcpFeedback","fb","parameter","lHeaderExtension","rHeaderExtension","uri","_createIceAndDtlsTransports","mid","iceTransport","RTCIceTransport","onlocalcandidate","evt","sdpMid","cand","component","writeCandidate","onicestatechange","_updateConnectionState","dtlsTransport","RTCDtlsTransport","ondtlsstatechange","_transceive","recv","params","encodings","sendEncodingParameters","rtcp","cname","localCName","recvEncodingParameters","ssrc","rtx","setLocalDescription","description","sessionpart","_pendingOffer","shift","mediaSection","caps","parseRtpParameters","isIceLite","matchPrefix","rejected","isDatachannel","remoteIceParameters","getIceParameters","cands","parseCandidate","setRemoteCandidates","remoteDtlsParameters","getDtlsParameters","_updateSignalingState","hasCallback","setRemoteDescription","receiverList","lines","splitLines","mline","direction","getDirection","generateIdentifier","parseRtpEncodingParameters","remoteSsrc","parseSsrcMedia","isComplete","addTrack","transports","RTCRtpReceiver","getCapabilities","codec","localTrack","RTCRtpSender","trackEvent","newState","new","closed","connecting","checking","completed","failed","disconnected","createOffer","offerOptions","tracks","numAudioTracks","numVideoTracks","offerToReceiveAudio","offerToReceiveVideo","wantReceive","writeSessionBoilerplate","parameters","writeMediaSection","createAnswer","mLineIndex","port","addRemoteCandidate","promises","results","all","../utils","37","38","mozSrcObject","mozRTCPeerConnection","newIceServers","newServer","username","credential","mozRTCSessionDescription","mozRTCIceCandidate","nativeGetStats","onSucc","onErr","39","SecurityError","The operation is insecure.","constraintsToFF37_","mozGetUserMedia","infos","orgEnumerateDevices","40","41","logDisabled_","utils","bool","uastring","expr","detectBrowser","42","createHmac","getHashes","mapping","md2","sha-1","sha-224","sha-256","sha-384","sha-512","available","algorithm","./lib/get-hashes","create-hash","create-hmac","43","44","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","LN2","45","ctor","superCtor","super_","constructor","enumerable","writable","TempCtor","46","intersect","big","temp","47","isSlowBuffer","48","49","FileTransferSession","BaseSession","useJingle","onIceCandidate","onIceStateChange","onChannelAdded","sender","extend","FileTransfer","isInitiator","sent","_log","meta","contents","transport","application","applicationType","offer","sendChannel","createDataChannel","OfferToReceiveAudio","OfferToReceiveVideo","jingle","lastModifiedDate","accept","answer","silent","maybeReceivedFile","receivedFile","connectionState","onSessionInitiate","changes","handleOffer","onSessionAccept","handleAnswer","onSessionTerminate","onDescriptionInfo","onTransportInfo","processIce","extend-object","filetransfer/hashed","jingle-session","rtcpeerconnection","50","filterContentSources","payloads","mux","sources","sourceGroups","group","filterUnusedLabels","MediaSession","onIceEndOfCandidates","onAddStream","onRemoveStream","onAddChannel","_ringing","ringing","mediaType","media","senders","ring","creator","unmute","renegotiate","groups","addStream2","removeStream2","switchStream","oldStream","newStream","signalEndOfCandidates","lastCandidate","endOfCandidates","transportType","gatheringComplete","onSessionInfo","onSourceAdd","newDesc","ssrcs","newContent","newContentDesc","newSSRCs","newGroups","onSourceRemove","semantics","same","51","JingleSession","v4","peer","peerID","full","initiator","pendingApplicationTypes","applicationTypes","pendingAction","processingQueue","queue","task","ended","action","ACTIONS","content-accept","content-add","content-modify","content-reject","content-remove","description-info","security-info","session-accept","session-info","session-initiate","session-terminate","transport-accept","transport-info","transport-reject","transport-replace","source-add","source-remove","_sessionState","prev","_connectionState","starting","interrupted","requirePending","session-inititate","process","cancel","decline","kill","okKeys","responder","unknownPayload","jingleCondition","onContentAdd","onTransportReplace","52","noop","toBool","notId","only_once","_once","_isArrayLike","_isArray","_arrayEach","iterator","_map","_range","count","_reduce","memo","_forEachOf","object","_keys","_indexOf","_keyIterator","coll","_restParam","startIndex","rest","_withoutIndex","_eachOfLimit","nextKey","running","errored","replenish","doParallel","eachOf","doParallelLimit","doSeries","eachOfSeries","_asyncMap","eachfn","_filter","_reject","_createTester","check","getResult","iteratee","_findGetResult","_parallel","tasks","_queue","worker","concurrency","payload","_insert","started","idle","setImmediate","drain","unshift","saturated","_next","workers","removed","workersList","empty","resumeCount","_console_fn","_times","mapper","_applyEach","fns","go","ensureAsync","innerArgs","previous_async","noConflict","_isObject","_setImmediate","_delay","nextTick","forEachSeries","eachSeries","forEachLimit","eachLimit","forEachOf","forEachOfSeries","iterate","forEachOfLimit","eachOfLimit","mapSeries","mapLimit","inject","foldl","reduce","foldr","reduceRight","reversed","reverse","transform","select","selectLimit","filterLimit","selectSeries","filterSeries","rejectLimit","rejectSeries","any","some","someLimit","everyLimit","detect","detectSeries","detectLimit","sortBy","comparator","left","right","criteria","auto","taskComplete","remainingTasks","runningTasks","hasError","ready","requires","taskCallback","dep","safeResults","rkey","retry","times","parseTimes","acc","DEFAULT_TIMES","interval","DEFAULT_INTERVAL","wrappedTask","wrappedCallback","wrappedResults","retryAttempt","finalAttempt","seriesCallback","retryInterval","attempts","series","waterfall","wrapIterator","parallel","parallelLimit","makeCallback","callArgs","concatSeries","whilst","doWhilst","calls","until","doUntil","during","truth","doDuring","priorityQueue","_compareTasks","_binarySearch","sequence","beg","cargo","memoize","hasher","queues","has","memoized","unmemoized","unmemoize","timesSeries","timesLimit","seq","newargs","nextargs","compose","applyEach","applyEachSeries","forever","constant","wrapSync","asyncify","_process","53","SessionManager","selfID","sessions","peers","prepareSession","FileSession","performTieBreak","sess","matching","screenSharingSupport","webrtc","screenSharing","capabilities","peerConnectionConfig","peerConnectionConstraints","DtlsSrtpKeyAgreement","RtpDataChannels","addICEServer","addSession","extraData","extraData2","createMediaSession","createFileTransferSession","endPeerSessions","endAllSessions","_createIncomingSession","_sendError","isTieBreak","transportTypes","jingle-filetransfer-session","jingle-media-session","webrtcsupport","54","_interopRequireDefault","_shortcuts","_shortcuts2","_types2","JXT","use","./shortcuts","./types","55","_xmppConstants","Namespace","SERVER","COMPONENT","extendMessage","JXTClass","multiName","withMessage","Message","extendPresence","_this2","withPresence","Presence","extendIQ","_this3","withIQ","IQ","extendStreamFeatures","_this4","withStreamFeatures","StreamFeatures","extendPubsubItem","_this5","withPubsubItem","PubsubItem","withDefinition","withStanzaError","withDataForm","DATAFORM","PUBSUB_EVENT","getMessage","getDefinition","getPresence","getIQ","getStreamError","getIq","withIq","xmpp-constants","56","_xmppJid","Utils","jidAttribute","prepped","JID","jidSub","getSubText","setSubText","tzoSub","defaultVal","hrs","sign","formatted","xmpp-jid","57","Address","namespace","ADDRESS","delivered","boolAttribute","Addresses","subMultiExtension","58","_lodashForeach","_lodashForeach2","Avatar","AVATAR_METADATA","avatars","_avatars","findOrCreate","avatar","textSub","AVATAR_DATA","babel-runtime/helpers/interop-require-default","lodash.foreach","59","Bind","60","jidList","BLOCKING","Block","jids","Unblock","BlockList","61","BOB","cid","maxAge","numberAttribute","62","Conference","autoJoin","Bookmarks","PRIVATE","PrivateStorage","63","prefixes","xmpp","BOSH_XMPP","ack","authid","charsets","inactivity","maxpause","newKey","polling","resport","requests","time","langAttribute","restart","restartLogic","types","64","Sent","eventName","CARBONS_2","Received","Private","Enable","Disable","FORWARD_0","Forwarded","65","CONDITIONS","Command","ADHOC_COMMANDS","sessionid","execute","subAttribute","actions","actionSet","existing","Note","StanzaError","enumSub","DataForm","66","CSIFeature","CSI","topLevel","67","SINGLE_FIELDS","_type","boolSub","getMultiSubText","truthy","setMultiSubText","Media","DATAFORM_MEDIA","MediaURI","Validation","DATAFORM_VALIDATION","dataType","basic","regex","Range","ListRange","layoutContents","namespaceURI","DATAFORM_LAYOUT","localName","section","Section","sectionXML","Page","reportedFields","fieldTypes","multiTextSub","68","DelayedDelivery","DELAY","stamp","dateAttribute","69","DiscoCaps","DiscoInfo","multiSubAttribute","DiscoIdentity","DiscoItems","DiscoItem","70","STANZA_ERROR","gone","redirect","by","$text","getSubLangText","setSubLangText","71","Services","DISCO_EXTERNAL_1","Credentials","Service","72","FT_NS","FILE_TRANSFER_4","numberSub","dateSub","infoType","Checksum","HASHES_1","JINGLE_1","Content","Jingle","73","FILE_TRANSFER_3","Thumbnail","THUMBS_0","mimeType","subExtension","request","74","Delayed","75","seeOtherURI","76","GeoLoc","GEOLOC","accuracy","altitude","area","heading","bearing","building","country","countrycode","datum","latitude","locality","longitude","postalcode","region","speed","street","tzo","77","78","Hat","HATS_0","displayName","79","NS_IBB","NS_JIBB","IBB","blockSize","setText","_open","_close","JingleIBB","80","ICE","JINGLE_ICE_UDP_1","pwd","ufrag","RemoteCandidate","ip","Candidate","foundation","generation","network","relAddr","relPort","tcpType","Fingerprint","JINGLE_DTLS_0","setup","SctpMap","DTLS_SCTP_1","number","81","_addresses","_addresses2","_avatar","_avatar2","_bind","_bind2","_blocking","_blocking2","_bob","_bob2","_bookmarks","_bookmarks2","_bosh","_bosh2","_carbons","_carbons2","_command","_command2","_csi","_csi2","_dataforms","_dataforms2","_delayed","_delayed2","_disco","_disco2","_error","_error2","_extdisco","_extdisco2","_file","_file2","_file3","_file32","_forwarded","_forwarded2","_framing","_framing2","_geoloc","_geoloc2","_hash2","_hats","_hats2","_iceUdp","_iceUdp2","_ibb","_ibb2","_iq","_iq2","_jidprep","_jidprep2","_jingle","_jingle2","_json","_json2","_logging","_logging2","_mam","_mam2","_message","_message2","_mood","_mood2","_muc","_muc2","_nick","_nick2","_oob","_oob2","_ping","_ping2","_presence","_presence2","_private","_private2","_psa","_psa2","_pubsub","_pubsub2","_pubsubError","_pubsubError2","_pubsubEvents","_pubsubEvents2","_pubsubOwner","_pubsubOwner2","_push","_push2","_reach","_reach2","_register","_register2","_roster","_roster2","_rsm","_rsm2","_rtp","_rtp2","_rtt","_rtt2","_sasl","_sasl2","_session","_session2","_shim","_shim2","_sm","_sm2","_stream","_stream2","_streamError","_streamError2","_streamFeatures","_streamFeatures2","_time","_time2","_tune","_tune2","_vcard","_vcard2","_version","_version2","_visibility","_visibility2","./addresses","./avatar","./bind","./blocking","./bob","./bookmarks","./bosh","./carbons","./command","./csi","./dataforms","./delayed","./disco","./error","./extdisco","./file","./file3","./forwarded","./framing","./geoloc","./hash","./hats","./ibb","./iceUdp","./iq","./jidprep","./jingle","./json","./logging","./mam","./message","./mood","./muc","./nick","./oob","./ping","./presence","./private","./psa","./pubsub","./pubsubError","./pubsubEvents","./pubsubOwner","./push","./reach","./register","./roster","./rsm","./rtp","./rtt","./sasl","./session","./shim","./sm","./stream","./streamError","./streamFeatures","./time","./tune","./vcard","./version","./visibility","82","_Object$assign","internals","defineIQ","_toJSON","resultReply","errorReply","babel-runtime/core-js/object/assign","83","JID_PREP_0","84","REASONS","tagged","Info","_name","_extensions","disposition","Description","Transport","security","Security","securityType","Reason","alternativeSession","JINGLE_ERRORS_1","85","JSONExtension","JSON_0","86","Log","EVENTLOG","subject","facility","stackTrace","Tag","87","MAMQuery","MAM_0","Result","Fin","stable","Prefs","defaultCondition","always","container","never","88","defineMessage","thread","parentThread","$body","bodies","attention","ATTENTION_0","chatState","CHAT_STATES","CORRECTION_0","requestReceipt","RECEIPTS","receipt","89","MOODS","Mood","MOOD","90","proxy","UserItem","UserActor","Destroyed","Invite","continue","Decline","AdminItem","AdminActor","Destroy","actor","codes","MUCAdmin","MUCOwner","MUCJoin","history","hist","maxchars","maxstanzas","seconds","toISOString","DirectInvite","MUC_DIRECT_INVITE","MUC_UNIQUE","91","NICK","92","OOB","93","Ping","PING","94","definePresence","$status","statuses","idleSince","dateSubAttribute","IDLE_1","decloak","DECLOAK_0","avatarId","VCARD_TEMP_UPDATE","setBoolSub","95","96","PSA","97","Pubsub","getSubAttribute","getBoolSub","setSubAttribute","publishOptions","Configure","Subscribe","Subscription","subid","configurationRequired","Subscriptions","Affiliation","Affiliations","SubscriptionOptions","Unsubscribe","Publish","Retract","notify","Retrieve","publisher","98","PUBSUB_ERRORS","pubsubCondition","99","EventPurge","EventDelete","EventSubscription","expiry","EventConfiguration","EventItems","retracted","EventItem","100","PubsubOwner","PUBSUB_OWNER","purge","del","101","PUSH_0","Notification","102","ReachURI","REACH_0","$desc","descs","reachability","reach","addrs","addr","103","Register","REGISTER","registered","remove","email","address","city","zip","phone","misc","104","Roster","force","RosterItem","subscription","subscriptionRequested","ask","preApproved","105","firstIndex","106","Feedback","JINGLE_RTP_RTCP_FB_0","subtype","JINGLE_RTP_1","Bandwidth","bandwidth","RTP","encryption","Crypto","setBoolSubAttribute","feedback","JINGLE_RTP_HDREXT_0","hdr","PayloadType","channels","clockrate","maxptime","ptime","cipherSuite","keyParams","sessionParams","ContentGroup","JINGLE_GROUPING_0","SourceGroup","JINGLE_RTP_SSMA_0","Source","Mute","JINGLE_RTP_INFO_1","Unmute","107","TYPE_MAP","insert","erase","ACTION_MAP","RTT","RTT_0","108","Mechanisms","_lang","109","Session","110","SHIM","headerSet","111","SMFeature","SMACKS_3","previd","112","113","STREAM_ERROR","seeOtherHost","114","RosterVerFeature","ROSTER_VERSIONING","SubscriptionPreApprovalFeature","SUBSCRIPTION_PREAPPROVAL","115","EntityTime","TIME","utc","116","Tune","TUNE","artist","rating","117","VCardTemp","VCARD_TEMP","website","fullName","birthday","nicknames","Email","home","work","preferred","PhoneNumber","mobile","street2","postalCode","pobox","Organization","unit","Name","family","given","middle","Photo","118","Version","os","119","INVISIBLE_0","120","_LOOKUP","_LOOKUP_EXT","_TAGS","_CB_DEFINITION","_CB_TAG","_ID","stanzaConstructor","getExtensions","withTag","ParentJXT","ChildJXT","hideSingle","parentName","_NS","_EL","qName","extension","multiExtension","fieldName","Stanza","fieldNames","createRegistry","globalJXT","getGlobalJXT","./lib/helpers","./lib/stanza","./lib/types","lodash.assign","121","ltx","DOMElement","XML_NS","Element","parentNS","created","getAttributeNS","setAttributeNS","removeAttributeNS","getBoolAttribute","setBoolAttribute","subs","getBoolSubAttribute","getTextSub","setTextSub","extractor","builder","getMultiSubAttribute","setMultiSubAttribute","defaultLang","langs","ltx/lib/DOMElement","122","EXCLUDE","_PREFIXES","_isJXT","_eventname","allowedName","isExtensionName","nval","123","getter","setter","boolSubAttribute","getSubBoolAttribute","setSubBoolAttribute","subText","multiSubText","langTextSub","subLangText","b64Text","isFloat","parseFloat","attributeNS","enumValues","enumVal","exists","alreadyExists","elements","124","arrayEach","125","baseAssign","baseCopy","lodash._basecopy","lodash.keys","126","props","127","baseForOwn","baseFor","baseProperty","createBaseEach","eachFunc","fromRight","collection","getLength","isLength","iterable","createBaseFor","keysFunc","MAX_SAFE_INTEGER","baseEach","128","bindCallback","thisArg","argCount","accumulator","other","129","createAssigner","assigner","restParam","customizer","guard","isIterateeCall","lodash._bindcallback","lodash._isiterateecall","lodash.restparam","130","isObjectLike","getNative","isNative","objToString","funcTag","reIsNative","fnToString","reIsHostCtor","objectProto","RegExp","131","isArrayLike","isIndex","reIsUint","132","assignWith","lodash._baseassign","lodash._createassigner","133","addMapEntry","pair","addSetEntry","arrayPush","arrayReduce","initAccum","baseTimes","getValue","isHostObject","mapToArray","overArg","setToArray","entries","clear","entry","hashClear","__data__","nativeCreate","hashDelete","hashGet","HASH_UNDEFINED","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","lastIndex","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","LARGE_ARRAY_SIZE","arrayLikeKeys","inherited","isArguments","skipIndexes","assignValue","objValue","eq","copyObject","baseClone","isDeep","isFull","isArr","initCloneArray","copyArray","getTag","isFunc","genTag","cloneBuffer","objectTag","argsTag","initCloneObject","copySymbols","cloneableTags","initCloneByTag","stacked","getAllKeys","subValue","baseCreate","objectCreate","baseGetAllKeys","symbolsFunc","baseGetTag","baseIsNative","isMasked","pattern","toSource","baseKeys","isPrototype","nativeKeys","cloneArrayBuffer","arrayBuffer","cloneDataView","dataView","cloneMap","cloneFunc","cloneRegExp","regexp","reFlags","cloneSet","cloneSymbol","symbol","symbolValueOf","cloneTypedArray","typedArray","newValue","isKeyable","getPrototype","Ctor","arrayBufferTag","boolTag","dateTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","mapTag","numberTag","stringTag","regexpTag","setTag","symbolTag","maskSrcKey","funcToString","cloneDeep","isArrayLikeObject","stubArray","stubFalse","arrayTag","errorTag","promiseTag","weakMapTag","reRegExpChar","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","arrayProto","funcProto","coreJsData","uid","IE_PROTO","nativeGetSymbols","nativeIsBuffer","DataView","Set","WeakMap","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","valueOf","ctorString","134","createForEach","arrayFunc","lodash._arrayeach","lodash._baseeach","lodash.isarray","135","136","nativeIsArray","137","shimKeys","keysIn","propsLength","allowIndexes","isProto","lodash._getnative","lodash.isarguments","138","FUNC_ERROR_TEXT","nativeMax","otherArgs","139","Parser","escape","equal","tagString","is","nameEqual","attrsEqual","childrenEqual","isNode","isElement","isText","escapeXML","unescapeXML","escapeXMLText","unescapeXMLText","./lib/Element","./lib/Parser","./lib/clone","./lib/createElement","./lib/equal","./lib/escape","./lib/is","./lib/parse","./lib/stringify","./lib/tag","./lib/tagString","140","_getElement","getName","getNS","getChildren","getAttr","nss","getXmlns","./Element","141","setAttrs","equality","findNS","namespaces","getChild","getChildByAttr","recursive","getChildrenByAttr","getChildrenByFilter","getChildText","getChildElements","_addChildren","writer","nameEquals","attrsEquals","childrenEquals","./clone","./equal","./escape","142","LtxParser","ParserInterface","DefaultParser","ElementInterface","DefaultElement","./parsers/ltx","events","143","144","145","146","escapeXMLReplace","escapeXMLTable","unescapeXMLReplace","unescapeXMLTable","&","<",">","\"","'","&amp;","&#38;","&lt;","&#60;","&gt;","&#62;","&quot;","&#34;","&apos;","&#39;","147","148","./Parser","149","STATE_TEXT","STATE_IGNORE_COMMENT","STATE_IGNORE_INSTRUCTION","STATE_TAG_NAME","STATE_TAG","STATE_ATTR_NAME","STATE_ATTR_EQ","STATE_ATTR_QUOT","STATE_ATTR_VALUE","SaxLtx","remainder","endTag","selfClosing","attrQuote","attrName","recordStart","_handleTagOpening","endRecording","recorded","prevFirst","prevSecond","../escape","150","indent","repeat","151","./parse","./tagString","152","literals","153","arg1","arg2","arg3","154","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queueIndex","drainQueue","env","argv","versions","off","binding","cwd","chdir","umask","155","mapDomain","regexSeparators","labels","encoded","ucs2decode","extra","counter","ucs2encode","stringFromCharCode","basicToDigit","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","damp","baseMinusTMin","tMax","skew","oldi","baseMinusT","inputLength","initialN","bias","initialBias","delimiter","maxInt","tMin","handledCPCount","basicLength","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","regexPunycode","toASCII","regexNonASCII","punycode","overflow","not-basic","invalid-input","ucs2","156","./lib/_stream_duplex.js","157","Duplex","Readable","Writable","readable","allowHalfOpen","onend","_writableState","processNextTick","onEndNT","objectKeys","./_stream_readable","./_stream_writable","core-util-is","process-nextick-args","158","PassThrough","chunk","./_stream_transform","159","prependListener","ReadableState","objectMode","readableObjectMode","hwm","highWaterMark","defaultHwm","BufferList","pipes","pipesCount","flowing","endEmitted","reading","needReadable","emittedReadable","readableListening","resumeScheduled","defaultEncoding","ranOut","awaitDrain","readingMore","decoder","_readableState","_read","Stream","readableAddChunk","addToFront","chunkInvalid","onEofChunk","_e","skipAdd","emitReadable","maybeReadMore","needMoreData","computeNewHighWaterMark","MAX_HWM","howMuchToRead","head","emitReadable_","flow","maybeReadMore_","pipeOnDrain","EElistenerCount","nReadingNextTick","resume_","fromList","fromListPartial","hasStrings","copyFromBufferString","copyFromBuffer","nb","tail","bufferShim","endReadable","endReadableNT","xs","debugUtil","debuglog","isPaused","setEncoding","nOrig","doRead","pipe","dest","pipeOpts","onunpipe","cleanup","onfinish","ondrain","ondata","cleanedUp","needDrain","increasedAwaitDrain","unpipe","doEnd","stdout","stderr","endFn","dests","wrap","_fromList","./_stream_duplex","./internal/streams/BufferList","buffer-shims","string_decoder/","160","TransformState","afterTransform","needTransform","transforming","writecb","writechunk","writeencoding","ts","_transformState","rs","ws","_write","161","nop","WriteReq","WritableState","writableObjectMode","ending","finished","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writelen","bufferedRequest","lastBufferedRequest","pendingcb","prefinished","errorEmitted","bufferedRequestCount","corkedRequestsFree","CorkedRequest","realHasInstance","writev","_writev","writeAfterEnd","validChunk","valid","decodeChunk","writeOrBuffer","doWrite","onwriteError","onwriteStateUpdate","needFinish","clearBuffer","asyncWrite","afterWrite","onwriteDrain","finishMaybe","holder","finish","prefinish","need","endWritable","internalUtil","deprecate","getBuffer","current","hasInstance","cork","uncork","setDefaultEncoding","util-deprecate","162","163","./lib/_stream_passthrough.js","164","READABLE_STREAM","./lib/_stream_readable.js","./lib/_stream_transform.js","./lib/_stream_writable.js","165","166","167","bytesToWords","words","wordsToBytes","processBlock","H","M","offset_i","M_offset_i","al","bl","cl","dl","ar","cr","dr","zl","f1","hl","f2","f3","f4","f5","rotl","sl","zr","hr","sr","z","nBitsLeft","nBitsTotal","H_i","digestbytes","168","dup","169","170","171","172","173","174","175","176","177","PeerConnection","detectedBrowser","adapter","enableChromeNativeSimulcast","appVersion","enableMultiStreamHacks","restrictBandwidth","andyetRestrictBandwidth","batchIceCandidates","andyetBatchIce","batchedIceCandidates","andyetFasterICE","eliminateDuplicateCandidates","andyetDontSignalCandidates","dontSignalCandidates","assumeSetLocalSuccess","andyetAssumeSetLocalSuccess","wtFirefox","andyetFirefoxMakesMeSad","firefoxcandidatebuffer","Peerconn","_onIce","_onDataChannel","sdpSessionID","iceCredentials","local","remote","logger","hadLocalStunCandidate","hadRemoteStunCandidate","hadLocalRelayCandidate","hadRemoteRelayCandidate","hadLocalIPv6Candidate","hadRemoteIPv6Candidate","_remoteDataChannels","_localDataChannels","_candidateBuffer","SJJ","_role","localStream","_checkLocalCandidate","toCandidateJSON","_checkRemoteCandidate","contentNames","candidates","remoteContent","processCandidates","iceCandidate","toCandidateSDP","toSessionSDP","mediaConstraints","expandedOffer","toSessionJSON","googConferenceFlag","hasBw","answerAudioOnly","_answer","answerBroadcastOnly","sim","hasSim","newssrc","rtxssrc","expandedAnswer","ice","expandedCandidate","already","rtcpMuxPolicy","newCand","lodash.clonedeep","sdp-jingle-json","traceablepeerconnection","178","toSDP","toIncomingSDPOffer","toOutgoingSDPOffer","toIncomingSDPAnswer","toOutgoingSDPAnswer","toIncomingMediaSDPOffer","toMediaSDP","toOutgoingMediaSDPOffer","toIncomingMediaSDPAnswer","toOutgoingMediaSDPAnswer","toIncomingJSONOffer","creators","toOutgoingJSONOffer","toIncomingJSONAnswer","toOutgoingJSONAnswer","toIncomingMediaJSONOffer","toMediaJSON","toOutgoingMediaJSONOffer","toIncomingMediaJSONAnswer","toOutgoingMediaJSONAnswer","./lib/tojson","./lib/tosdp","179","findLine","mediaLines","sessionLines","prefixLength","findLines","formats","rtpmap","sctpmap","fmtp","kv","crypto","fingerprint","extmap","idpart","sp","rtcpfb","substring","msid","mslabel","180","incoming","both","none","recvonly","sendonly","sendrecv","inactive","outgoing","181","SENDERS","parsers","idCounter","_setIdCounter","groupLines","fingerprints","sctp","trans","rtpmapLines","fmtpLines","fbLines","cryptoLines","extLines","ssrcGroupLines","ssrcLines","msidLine","fingerprintLines","fp","ufragLine","pwdLine","candidateLines","sctpmapLines","./parsers","./senders","182","hasSources","pushedSetup","hdrExts","ssrcGroups","ssrcGroup","183","blob","part","relatedAddress","relatedPort","parseRtpMap","payloadType","writeRtpMap","pt","preferredPayloadType","parseExtmap","writeExtmap","headerExtension","preferredId","parseFmtp","writeFmtp","parseRtcpFb","writeRtcpFb","colon","fpLine","dtlsParameters","writeDtlsParameters","setupType","iceParameters","usernameFragment","writeIceParameters","rtpmapline","fmtps","writeRtpDescription","secondarySsrc","encodingParameters","hasRed","hasUlpfec","primarySsrc","flows","apt","encParam","codecPayloadType","fec","maxBitrate","parseMsid","spec","planB","getLocalParameters","getKind","isRejected","184","finalSize","_block","_finalSize","_blockSize","_s","ch","185","Algorithm","sha1","sha224","sha256","sha384","sha512","./sha","./sha1","./sha224","./sha256","./sha384","./sha512","186","Sha","_w","rotl5","rotl30","ft","_a","_b","_d","187","Sha1","rotl1","188","Sha224","Sha256","_f","_g","_h","189","maj","sigma0","sigma1","gamma0","gamma1","T1","T2","190","Sha384","SHA512","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","writeInt64BE","191","Sha512","Ch","xl","Gamma0","Gamma0l","Gamma1","Gamma1l","getCarry","ah","bh","dh","eh","fh","gh","hh","fl","gl","xh","gamma0l","gamma1l","Wi7h","Wi7l","Wi16h","Wi16l","Wil","Wih","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Kih","Kil","chh","chl","t1l","t1h","t2l","t2h","192","EE","didOnEnd","destroy","_isStdio","readable-stream/duplex.js","readable-stream/passthrough.js","readable-stream/readable.js","readable-stream/transform.js","readable-stream/writable.js","193","assertEncoding","isBufferEncoding","passThroughWrite","utf16DetectIncompleteChar","charReceived","charLength","base64DetectIncompleteChar","surrogateSize","detectIncompleteChar","charBuffer","charStr","charCode","194","dumpSDP","dumpStream","TraceablePeerConnection","peerconnection","what","failureCallback","195","196","attachMediaStream","srcObject","reattachMediaStream","197","198","localtrack","199","200","201","202","203","minVersion","204","deprecated","205","206","207","seen","stylize","stylizeNoColor","depth","colors","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","styles","arrayToHash","recurseTimes","primitive","formatPrimitive","visibleKeys","formatError","braces","toUTCString","formatArray","formatProperty","reduceToSingleString","simple","numLinesEst","cur","pad","getHours","getMinutes","getSeconds","getDate","months","getMonth","formatRegExp","format","objects","throwDeprecation","traceDeprecation","noDeprecation","debugEnviron","debugs","NODE_DEBUG","pid","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","special","boolean","null","./support/isBuffer","208","rng","msCrypto","getRandomValues","_rnds8","_rnds","209","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","_nodeId","rnds","_rng","_seedBytes","./rng","210","shimCreateObjectURL","shimGetSendersWithDtmf","211","_senders","origAddStream","origRemoveStream","dtmf","_dtmf","createDTMFSender","localcandidate","remotecandidate","212","getSupportedFacingModeLies","echoCancellation","frameRate","213","onicegatheringstatechange","_emitGatheringStateChange","iceGatheringStateChange","fixStatsType","inboundrtp","outboundrtp","candidatepair","214","215","modernStatsTypes","216","217","errcb","218","nativeCreateObjectURL","nativeRevokeObjectURL","newId","dsc","nativeSetAttribute","219","PC","IceCandidate","SessionDescription","AudioContext","webkitAudioContext","videoEl","supportVp8","canPlayType","msGetUserMedia","browserVersion","supportRTCPeerConnection","supportGetUserMedia","supportDataChannel","supportWebAudio","createMediaStreamSource","supportMediaStream","removeTrack","supportScreenSharing","dataChannel","webAudio","mediaStream","220","mixin","isWildEmitter","groupName","callbacks","hasGroup","_groupName","releaseGroup","specialCallbacks","getWildcardCallbacks","221","PubSub","./lib/jingle","./lib/muc","./lib/namespaces","./lib/presence","./lib/pubsub","222","Action","CONTENT_ACCEPT","CONTENT_ADD","CONTENT_MODIFY","CONTENT_REJECT","CONTENT_REMOVE","DESCRIPTION_INFO","SECURITY_INFO","SESSION_ACCEPT","SESSION_INFO","SESSION_INITIATE","SESSION_TERMINATE","TRANSPORT_ACCEPT","TRANSPORT_INFO","TRANSPORT_REJECT","TRANSPORT_REPLACE","ALTERNATIVE_SESSION","BUSY","CANCEL","CONNECTIVITY_ERROR","DECLINE","EXPIRED","FAILED_APPLICATION","FAILED_TRANSPORT","GENERAL_ERROR","GONE","INCOMPATIBLE_PARAMETERS","MEDIA_ERROR","SECURITY_ERROR","SUCCESS","UNSUPPORTED_APPLICATIONS","UNSUPPORTED_TRANSPORTS","Condition","OUT_OF_ORDER","TIE_BREAK","UNKNOWN_SESSION","UNSUPPORTED_INFO","223","REALJID_PUBLIC","AFFILIATION_CHANGED","UNAVAILABLE_SHOWN","UNAVAILABLE_NOT_SHOWN","CONFIGURATION_CHANGED","SELF_PRESENCE","LOGGING_ENABLED","LOGGING_DISABLED","NON_ANONYMOUS","SEMI_ANONYMOUS","FULLY_ANONYMOUS","ROOM_CREATED","NICK_ASSIGNED","BANNED","NEW_NICK","KICKED","REMOVED_AFFILIATION","REMOVED_MEMBERSHIP","REMOVED_SHUTDOWN","ADMIN","MEMBER","NONE","OUTCAST","OWNER","Role","MODERATOR","PARTICIPANT","VISITOR","224","RPC","LAST_ACTIVITY","PRIVACY","SEARCH","SOCKS5","HTTP_AUTH","AMP","ROSTER_DELIMITER","ACTIVITY","COMPRESSION","ROSTER_EXCHANGE","ROSTER_NOTES","CAPTCHA","JINGLE_RTP_ERRORS_1","LANG_TRANS","LANG_TRANS_ITEMS","JINGLE_RAW_UDP_1","SEC_LABEL_0","SEC_LABEL_CATALOG_2","SEC_LABEL_ESS_0","JINGLE_SOCKS5_1","JINGLE_IBB_1","JINGLE_RTP_ZRTP_1","THUMBS_1","DECLOAKING_0","MAM_TMP","HINTS","COLIBRI","JINGLE_MSG_INITIATE_0","JINGLE_PUB_1","225","Type","SUBSCRIBE","SUBSCRIBED","UNSUBSCRIBE","UNSUBSCRIBED","PROBE","UNAVAILABLE","Show","CHAT","AWAY","DO_NOT_DISTURB","EXTENDED_AWAY","226","PUBLISHER","PUBLISH_ONLY","PENDING","UNCONFIGURED","AccessModel","OPEN","PRESENCE","AUTHORIZE","WHITELIST","CONFLICT","227","bareJID","fullJID","StringPrep","ASCII","prep","unescapedLocal","nodeprep","unescape","resourceprep","nameprep","unescapedBare","unescapedFull","trusted","resourceStart","localEnd","preppedJID","jid1","jid2","requirePrep","equalBare","isBare","hasResource","localOrJID","_isJID","./lib/stringprep","228","229","JSM","RTC","GUM","GSM","jxt","IqStanza","peer_constraints","AUTOACCEPT","manager","getScreenMedia","MozDontOfferDataChannel","mozDontOfferDataChannel","terminated","peerStreamAdded","peerStreamRemoved","log:error","onJingle","parseXML","outerHTML","initiate","peerjid","terminate","terminateByJid","setICEServers","servers","setPeerConstraints","getscreenmedia","jxt-xmpp","jxt-xmpp-types","Salsa20","rounds","sigmaWords","keyWords","nonceWords","counterWords","block","blockUsed","setKey","setNonce","getBytes","numberOfBytes","_generateBlock","_incrementCounter","getHexString","hex","j0","j1","j2","j3","j4","j5","j6","j7","j8","j9","j10","j11","j12","j13","j14","j15","x0","x1","x2","x3","x4","x5","x6","x7","x8","x9","x10","x11","x12","x13","x14","x15","BigInt","findPrimes","ans","millerRabin","mr_x1","mr_r","mr_a","copy_","addInt_","isZero","bpe","rightShift_","powMod_","equalsInt","squareMod_","bitSize","expand","int2bigInt","mod","mod_","mult","mult_","powMod","sub_","add_","inverseMod","inverseMod_","multMod","multMod_","randBigInt","randBigInt_","randomBitInt","copyInt_","eg_u","eg_v","eg_A","eg_B","eg_C","eg_D","halve_","greater","negative","inverseModInt","greaterShift","kx","ky","divide_","y1","y2","leftShift_","subShift_","radix","linCombShift_","addShift_","modInt","bits","minSize","buff","str2bigInt","kk","bb","digitsStr","multInt_","bigInt2str","s6","divInt_","ys","ss","s4","s5","s0","k1","k2","kn","np","s7","s3","mont_","one","ui","t2","ks","sa","divMod","den","subMod","two","twoToThe","bigInt2bits","bi","ba","_num2bin","ba2bigInt","mpi","getSeed","randomBytes","randomByte","primes","CryptoJS","C_lib","lib","overrides","mixIn","$super","instance","properties","propertyName","WordArray","sigBytes","encoder","Hex","wordArray","thisWords","thatWords","thisSigBytes","thatSigBytes","clamp","thatByte","C_enc","hexChars","bite","hexStr","hexStrLength","Latin1","latin1Chars","latin1Str","latin1StrLength","Utf8","decodeURIComponent","utf8Str","encodeURIComponent","BufferedBlockAlgorithm","_nDataBytes","_append","doFlush","dataWords","dataSigBytes","blockSizeBytes","nBlocksReady","_minBufferSize","nWordsReady","nBytesReady","_doProcessBlock","processedWords","C_algo","Hasher","cfg","_doReset","messageUpdate","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","base64Chars","byte1","byte2","byte3","paddingChar","base64Str","base64StrLength","paddingIndex","bits1","bits2","Cipher","EvpKDF","createEncryptor","_ENC_XFORM_MODE","createDecryptor","_DEC_XFORM_MODE","xformMode","_xformMode","dataUpdate","finalProcessedData","keySize","ivSize","selectCipherStrategy","PasswordBasedCipher","SerializableCipher","cipher","encrypt","decrypt","ciphertext","C_mode","StreamCipher","finalProcessedBlocks","mode","BlockCipherMode","iv","Encryptor","Decryptor","_cipher","_iv","CBC","xorBlock","_prevBlock","encryptBlock","thisBlock","decryptBlock","C_pad","Pkcs7","nPaddingBytes","paddingWord","paddingWords","padding","unpad","CipherParams","BlockCipher","modeCreator","_mode","cipherParams","formatter","C_format","OpenSSLFormatter","OpenSSL","openSSLStr","ciphertextWords","encryptor","cipherCfg","_parse","plaintext","C_kdf","kdf","OpenSSLKdf","compute","derivedParams","SBOX","INV_SBOX","SUB_MIX_0","SUB_MIX_1","SUB_MIX_2","SUB_MIX_3","INV_SUB_MIX_0","INV_SUB_MIX_1","INV_SUB_MIX_2","INV_SUB_MIX_3","xi","sx","RCON","AES","nRounds","_nRounds","ksRows","keySchedule","_keySchedule","ksRow","invKeySchedule","_invKeySchedule","invKsRow","_doCryptBlock","s1","s2","round","t0","t1","t3","HmacSHA1","isPrime","sqrtN","sqrt","factor","getFractionalBits","nPrime","SHA256","gamma0x","gamma1x","HmacSHA256","_hasher","hasherBlockSize","hasherBlockSizeBytes","oKey","_oKey","iKey","_iKey","oKeyWords","iKeyWords","innerHash","hmac","NoPadding","CTR","_counter","keystream","indexOfListener","getListeners","_getEvents","flattenListeners","flatListeners","getListenersAsObject","listenerIsWrapped","addOnceListener","defineEvent","defineEvents","evts","addListeners","manipulateListeners","removeListeners","single","multiple","removeEvent","emitEvent","_getOnceReturnValue","setOnceReturnValue","_onceReturnValue","OTR","DSA","CONST","N","MSGSTATE_PLAINTEXT","MSGSTATE_ENCRYPTED","MSGSTATE_FINISHED","AUTHSTATE_NONE","AUTHSTATE_AWAITING_DHKEY","AUTHSTATE_AWAITING_REVEALSIG","AUTHSTATE_AWAITING_SIG","WHITESPACE_TAG","WHITESPACE_TAG_V2","WHITESPACE_TAG_V3","OTR_TAG","OTR_VERSION_1","OTR_VERSION_2","OTR_VERSION_3","SMPSTATE_EXPECT0","SMPSTATE_EXPECT1","SMPSTATE_EXPECT2","SMPSTATE_EXPECT3","SMPSTATE_EXPECT4","STATUS_SEND_QUERY","STATUS_AKE_INIT","STATUS_AKE_SUCCESS","STATUS_END_OTR","intCompare","HLP","DTS","BYTE","SHORT","INT","MAC","SIG","WRAPPER_BEGIN","WRAPPER_END","TWO","__super__","str1","str2","randomExponent","smpHash","fmpi","smpi","packBytes","packMPI","bits2bigInt","makeMac","aesctr","mac","make1Mac","encryptAes","aesctr_decoded","decryptAes","multPowMod","ZKP","GTOE","between","checkGroup","N_MINUS_2","h1","secbytes","h2","nex","packINT","packCtr","padCtr","ctr","unpackCtr","unpack","packData","packSHORT","short","unpackSHORT","packTLV","readLen","readData","readMPI","packMPIs","prv","unpackMPIs","mpis","splitype","wrapMsg","fs","v3","our_it","their_it","its","ei","frag","mf","mfs","_bin2num","rv","ary","iz","remain","timer","makeRandom","isProbPrime","rpprb","generatePrimes","bit_length","rem","bit_lengths","LM1","bl4","brk","ONE","pm1","KEY_TYPE","ZERO","nocache","tokenizeStr","splt","es","parseLibotr","Worker","WWPath","__dirname","1024","2048","packPublic","packPrivate","generateNonce","priv","rand","pk","parsePublic","parsePrivate","libotr","dsa","verify","hm","u1","u2","createInWebWorker","path","seed","imports","Parse","parseMsg","otr","initFragment","ind","com","msgFragment","vers","qs","qi","cls","instance_tags","ERROR_START_AKE","sendQueryMsg","checkInstanceTags","hMac","gx","gy","kid","AKE","our_dh","our_old_dh","our_keyid","their_y","their_keyid","their_priv_pk","ssid","transmittedRS","meth","createKeys","privateKey","c_prime","m1","m2","m1_prime","m2_prime","verifySignMac","our_dh_pk","vmac","pub","makeM","publicKey","akeSuccess","their_old_y","sessKeys","DHSession","otr_version","authstate","msgstate","myhashed","dhcommit","encrypted","hashed","sendStored","handleAKE","vsm","ourHash","theirHash","gxmpi","sendMsg","our_instance_tag","their_instance_tag","fragment_size","io","initiateAKE","SM","reqs","our_fp","their_fp","Q","smpstate","secret","makeSecret","our","makeG2s","a2","a3","g2a","g3a","computeGs","g2","g3","computePQ","computeR","QoQ","computeRab","computeC","computeD","handleSM","r2","r3","r7","t4","rab","tmp2","cR","d7","ms","trust","expectStates","question","g3ao","c3","d2","d3","r4","r5","r6","cP","d5","d6","PoP","rcvSecret","OTRCB","send_interval","instance_tag","makeInstanceTag","smw","SMWPath","MAX_INT","MAX_UINT","ALLOW_V2","ALLOW_V3","REQUIRE_ENCRYPTION","SEND_WHITESPACE_TAG","WHITESPACE_START_AKE","storedMgs","oldMacKeys","sm","_akeInit","receivedPlaintext","ake","_SMW","_smInit","prepareMsg","sq","sendbyte","rcvbyte","sendenc","sendmac","rcvenc","rcvmac","rcvmacused","extra_symkey","send_counter","rcv_counter","rotateOurKeys","sk","rotateTheirKeys","esk","aes","handleDataMsg","vt","ign","handleTLVs","tlvs","smpSecret","vs","receiveMsg","doAKE","severity","sendFile","filename","l1name","endOtr","i18next","R","interpolation","unescapeSuffix","interpolationPrefix","interpolationSuffix","escapeValue","escapeInterpolation","nestingPrefix","reusePrefix","nestingSuffix","reuseSuffix","resStore","resources","defaultNs","defaultNS","fallbackToDefaultNS","fallbackNS","saveMissing","sendMissing","saveMissingTo","sendMissingTo","returnNull","fallbackOnNull","returnEmptyString","fallbackOnEmpty","returnObjects","returnObjectTrees","joinArrays","returnedObjectHandler","objectTreeKeyHandler","parseMissingKeyHandler","parseMissingKey","appendNamespaceToMissingKey","nsSeparator","nsseparator","keySeparator","keyseparator","shortcutFunction","overloadTranslationOptionHandler","postProcess","sprintf","whitelist","lngWhitelist","preload","load","backend","loadPath","resGetPath","addPath","resPostPath","allowMultiLoading","dynamicLoad","expirationTime","useLocalStorage","defaultVariables","lng","services","languageUtils","toResolveHierarchy","language","loadLanguages","setLng","fixLng","getFixedT","changeLanguage","addPostProcessor","lngs","numbers","nr","plurals","fc","initImmediate","fallbackLng","nonExplicitWhitelist","pluralSeparator","contextSeparator","missingKeyHandler","defaultValue","formatSeparator","unescapePrefix","_invoke","return","asyncIterator","throw","await","setPrototypeOf","O","ReferenceError","_output","setDebug","forward","observers","/","E","addNamespaces","removeNamespaces","getResource","addResource","addResources","addResourceBundle","removeResourceBundle","hasResourceBundle","getResourceBundle","compatibilityAPI","processors","handle","extractFromKey","translate","extendTranslation","isValidLookup","getFallbackCodes","backendConnector","interpolator","interpolate","nest","applyPostProcessor","pluralResolver","getSuffix","resourceStore","getLanguagePartFromCode","formatLanguageCode","getScriptPartFromCode","lowerCaseLng","cleanCode","isWhitelisted","rules","addRule","getRule","needsPlural","noAbs","prepend","compatibilityJSON","V","prefixEscaped","suffixEscaped","nestingPrefixEscaped","nestingSuffixEscaped","resetRegExp","regexpUnescape","nestingRegexp","store","queueLoad","loaded","toLoad","toLoadLanguages","toLoadNamespaces","readMulti","reload","I","save","modules","isInitialized","isClone","cacheConnector","languageDetector","detection","translator","loadResources","reloadResources","languages","cacheUserLanguage","setDefaultNamespace","loadNamespaces","createInstance","cloneInstance","D","jqueryI18next","parseDefaultValueFromContent","selectorAttr","targetAttr","useOptionsAttr","optionsAttr","tName","i18nName","handleName","Zepto","className","triggerHandler","st","currTemplate","closeBtn","closeMarkup","tClose","magnificPopup","transition","isLowIE","isIE8","isAndroid","isIOS","supportsTransition","probablyMobile","popupsCache","isObj","isOpen","updateItemHTML","mainEl","defaults","fixedContentPos","modal","closeOnContentClick","closeOnBgClick","showCloseBtn","enableEscapeKey","bgOverlay","_checkIfClose","contentContainer","preloader","tLoading","closeBtnInside","close_replaceWith","alignTop","overflowY","overflowX","top","scrollTop","fixedBgPos","keyCode","updateSize","addClass","wH","_hasScrollBar","_getScrollbarSize","marginRight","isIE7","mainClass","_addClassToMFP","prependTo","_lastFocusedEl","activeElement","_setFocus","_onFocusIn","removalDelay","detach","_removeClassFromMFP","removeAttr","currItem","autoFocusLast","focus","prevHeight","clientWidth","innerWidth","innerHeight","parseEl","markup","removeClass","appendContent","preloaded","hasClass","addGroup","mfpEl","_openClick","delegate","midClick","which","ctrlKey","metaKey","altKey","shiftKey","disableOn","preventDefault","stopPropagation","updateStatus","stopImmediatePropagation","contains","scrollHeight","_parseMarkup","replaceWith","scrollbarSize","offsetWidth","registerModule","hiddenClass","tNotFound","initInline","getInline","inline","inlineElement","J","settings","cursor","tError","initAjax","ajax","getAjax","loadError","image","titleSrc","verticalFit","initImage","resizeImage","_onImageHasSize","hasSize","isCheckingImgSize","imgHidden","findImageSize","naturalWidth","getImage","alt","img_replaceWith","loading","MozTransform","easing","duration","opener","initZoom","zoom","zIndex","-webkit-backface-visibility","_allowZoom","_getItemToZoom","_getOffset","offsetHeight","srcAction","patterns","youtube","vimeo","gmaps","initIframe","getIframe","iframe","arrowMarkup","navigateByImgClick","arrows","tPrev","tNext","tCounter","initGallery","gallery","arrowLeft","arrowRight","click","_preloadTimeout","preloadNearbyImages","goTo","_preloadItem","replaceSrc","ratio","initRetina","devicePixelRatio","retina","max-width","Favico","drawVideo","_stop","_context","clearRect","drawImage","_drawTimeout","animation","link","setIcon","_canvas","hexToRgb","shorthandRegex","merge","def","attrname","mergedOpt","isPageHidden","_doc","hidden","msHidden","webkitHidden","mozHidden","_opt","_orig","_img","_ready","_lastBadge","_running","_readyCb","_browser","_animTimeout","_def","bgColor","textColor","fontFamily","fontStyle","elementId","dataUrl","win","ff","InstallTrigger","opera","ie","safari","HTMLElement","supported","isUp","isLeft","step","getIcon","hasAttribute","getContext","icon","circle","more","beginPath","font","textAlign","moveTo","lineTo","quadraticCurveTo","arc","PI","fillStyle","closePath","stroke","fillText","rectangle","fillRect","badge","imageElement","newImg","videoElement","webcam","newVideo","oGetUserMedia","play","elm","getLink","getElementById","canvas","toDataURL","old","fade","popFade","slide","revert","animationType","emojioneList",":kiss_ww:","unicode","fname","uc","isCanonical",":couplekiss_ww:",":kiss_mm:",":couplekiss_mm:",":family_mmbb:",":family_mmgb:",":family_mmgg:",":family_mwbb:",":family_mwgb:",":family_mwgg:",":family_wwbb:",":family_wwgb:",":family_wwgg:",":couple_ww:",":couple_with_heart_ww:",":couple_mm:",":couple_with_heart_mm:",":family_mmb:",":family_mmg:",":family_mwg:",":family_wwb:",":family_wwg:",":rainbow_flag:",":gay_pride_flag:",":eye_in_speech_bubble:",":hash:",":zero:",":one:",":two:",":three:",":four:",":five:",":six:",":seven:",":eight:",":nine:",":asterisk:",":keycap_asterisk:",":handball_tone5:",":handball_tone4:",":handball_tone3:",":handball_tone2:",":handball_tone1:",":water_polo_tone5:",":water_polo_tone4:",":water_polo_tone3:",":water_polo_tone2:",":water_polo_tone1:",":wrestlers_tone5:",":wrestling_tone5:",":wrestlers_tone4:",":wrestling_tone4:",":wrestlers_tone3:",":wrestling_tone3:",":wrestlers_tone2:",":wrestling_tone2:",":wrestlers_tone1:",":wrestling_tone1:",":juggling_tone5:",":juggler_tone5:",":juggling_tone4:",":juggler_tone4:",":juggling_tone3:",":juggler_tone3:",":juggling_tone2:",":juggler_tone2:",":juggling_tone1:",":juggler_tone1:",":cartwheel_tone5:",":person_doing_cartwheel_tone5:",":cartwheel_tone4:",":person_doing_cartwheel_tone4:",":cartwheel_tone3:",":person_doing_cartwheel_tone3:",":cartwheel_tone2:",":person_doing_cartwheel_tone2:",":cartwheel_tone1:",":person_doing_cartwheel_tone1:",":shrug_tone5:",":shrug_tone4:",":shrug_tone3:",":shrug_tone2:",":shrug_tone1:",":mrs_claus_tone5:",":mother_christmas_tone5:",":mrs_claus_tone4:",":mother_christmas_tone4:",":mrs_claus_tone3:",":mother_christmas_tone3:",":mrs_claus_tone2:",":mother_christmas_tone2:",":mrs_claus_tone1:",":mother_christmas_tone1:",":man_in_tuxedo_tone5:",":tuxedo_tone5:",":man_in_tuxedo_tone4:",":tuxedo_tone4:",":man_in_tuxedo_tone3:",":tuxedo_tone3:",":man_in_tuxedo_tone2:",":tuxedo_tone2:",":man_in_tuxedo_tone1:",":tuxedo_tone1:",":prince_tone5:",":prince_tone4:",":prince_tone3:",":prince_tone2:",":prince_tone1:",":selfie_tone5:",":selfie_tone4:",":selfie_tone3:",":selfie_tone2:",":selfie_tone1:",":pregnant_woman_tone5:",":expecting_woman_tone5:",":pregnant_woman_tone4:",":expecting_woman_tone4:",":pregnant_woman_tone3:",":expecting_woman_tone3:",":pregnant_woman_tone2:",":expecting_woman_tone2:",":pregnant_woman_tone1:",":expecting_woman_tone1:",":face_palm_tone5:",":facepalm_tone5:",":face_palm_tone4:",":facepalm_tone4:",":face_palm_tone3:",":facepalm_tone3:",":face_palm_tone2:",":facepalm_tone2:",":face_palm_tone1:",":facepalm_tone1:",":fingers_crossed_tone5:",":hand_with_index_and_middle_fingers_crossed_tone5:",":fingers_crossed_tone4:",":hand_with_index_and_middle_fingers_crossed_tone4:",":fingers_crossed_tone3:",":hand_with_index_and_middle_fingers_crossed_tone3:",":fingers_crossed_tone2:",":hand_with_index_and_middle_fingers_crossed_tone2:",":fingers_crossed_tone1:",":hand_with_index_and_middle_fingers_crossed_tone1:",":handshake_tone5:",":shaking_hands_tone5:",":handshake_tone4:",":shaking_hands_tone4:",":handshake_tone3:",":shaking_hands_tone3:",":handshake_tone2:",":shaking_hands_tone2:",":handshake_tone1:",":shaking_hands_tone1:",":right_facing_fist_tone5:",":right_fist_tone5:",":right_facing_fist_tone4:",":right_fist_tone4:",":right_facing_fist_tone3:",":right_fist_tone3:",":right_facing_fist_tone2:",":right_fist_tone2:",":right_facing_fist_tone1:",":right_fist_tone1:",":left_facing_fist_tone5:",":left_fist_tone5:",":left_facing_fist_tone4:",":left_fist_tone4:",":left_facing_fist_tone3:",":left_fist_tone3:",":left_facing_fist_tone2:",":left_fist_tone2:",":left_facing_fist_tone1:",":left_fist_tone1:",":raised_back_of_hand_tone5:",":back_of_hand_tone5:",":raised_back_of_hand_tone4:",":back_of_hand_tone4:",":raised_back_of_hand_tone3:",":back_of_hand_tone3:",":raised_back_of_hand_tone2:",":back_of_hand_tone2:",":raised_back_of_hand_tone1:",":back_of_hand_tone1:",":call_me_tone5:",":call_me_hand_tone5:",":call_me_tone4:",":call_me_hand_tone4:",":call_me_tone3:",":call_me_hand_tone3:",":call_me_tone2:",":call_me_hand_tone2:",":call_me_tone1:",":call_me_hand_tone1:",":metal_tone5:",":sign_of_the_horns_tone5:",":metal_tone4:",":sign_of_the_horns_tone4:",":metal_tone3:",":sign_of_the_horns_tone3:",":metal_tone2:",":sign_of_the_horns_tone2:",":metal_tone1:",":sign_of_the_horns_tone1:",":bath_tone5:",":bath_tone4:",":bath_tone3:",":bath_tone2:",":bath_tone1:",":walking_tone5:",":walking_tone4:",":walking_tone3:",":walking_tone2:",":walking_tone1:",":mountain_bicyclist_tone5:",":mountain_bicyclist_tone4:",":mountain_bicyclist_tone3:",":mountain_bicyclist_tone2:",":mountain_bicyclist_tone1:",":bicyclist_tone5:",":bicyclist_tone4:",":bicyclist_tone3:",":bicyclist_tone2:",":bicyclist_tone1:",":rowboat_tone5:",":rowboat_tone4:",":rowboat_tone3:",":rowboat_tone2:",":rowboat_tone1:",":pray_tone5:",":pray_tone4:",":pray_tone3:",":pray_tone2:",":pray_tone1:",":person_with_pouting_face_tone5:",":person_with_pouting_face_tone4:",":person_with_pouting_face_tone3:",":person_with_pouting_face_tone2:",":person_with_pouting_face_tone1:",":person_frowning_tone5:",":person_frowning_tone4:",":person_frowning_tone3:",":person_frowning_tone2:",":person_frowning_tone1:",":raised_hands_tone5:",":raised_hands_tone4:",":raised_hands_tone3:",":raised_hands_tone2:",":raised_hands_tone1:",":raising_hand_tone5:",":raising_hand_tone4:",":raising_hand_tone3:",":raising_hand_tone2:",":raising_hand_tone1:",":bow_tone5:",":bow_tone4:",":bow_tone3:",":bow_tone2:",":bow_tone1:",":ok_woman_tone5:",":ok_woman_tone4:",":ok_woman_tone3:",":ok_woman_tone2:",":ok_woman_tone1:",":no_good_tone5:",":no_good_tone4:",":no_good_tone3:",":no_good_tone2:",":no_good_tone1:",":vulcan_tone5:",":raised_hand_with_part_between_middle_and_ring_fingers_tone5:",":vulcan_tone4:",":raised_hand_with_part_between_middle_and_ring_fingers_tone4:",":vulcan_tone3:",":raised_hand_with_part_between_middle_and_ring_fingers_tone3:",":vulcan_tone2:",":raised_hand_with_part_between_middle_and_ring_fingers_tone2:",":vulcan_tone1:",":raised_hand_with_part_between_middle_and_ring_fingers_tone1:",":middle_finger_tone5:",":reversed_hand_with_middle_finger_extended_tone5:",":middle_finger_tone4:",":reversed_hand_with_middle_finger_extended_tone4:",":middle_finger_tone3:",":reversed_hand_with_middle_finger_extended_tone3:",":middle_finger_tone2:",":reversed_hand_with_middle_finger_extended_tone2:",":middle_finger_tone1:",":reversed_hand_with_middle_finger_extended_tone1:",":hand_splayed_tone5:",":raised_hand_with_fingers_splayed_tone5:",":hand_splayed_tone4:",":raised_hand_with_fingers_splayed_tone4:",":hand_splayed_tone3:",":raised_hand_with_fingers_splayed_tone3:",":hand_splayed_tone2:",":raised_hand_with_fingers_splayed_tone2:",":hand_splayed_tone1:",":raised_hand_with_fingers_splayed_tone1:",":man_dancing_tone5:",":male_dancer_tone5:",":man_dancing_tone4:",":male_dancer_tone4:",":man_dancing_tone3:",":male_dancer_tone3:",":man_dancing_tone2:",":male_dancer_tone2:",":man_dancing_tone1:",":male_dancer_tone1:",":spy_tone5:",":sleuth_or_spy_tone5:",":spy_tone4:",":sleuth_or_spy_tone4:",":spy_tone3:",":sleuth_or_spy_tone3:",":spy_tone2:",":sleuth_or_spy_tone2:",":spy_tone1:",":sleuth_or_spy_tone1:",":muscle_tone5:",":muscle_tone4:",":muscle_tone3:",":muscle_tone2:",":muscle_tone1:",":haircut_tone5:",":haircut_tone4:",":haircut_tone3:",":haircut_tone2:",":haircut_tone1:",":massage_tone5:",":massage_tone4:",":massage_tone3:",":massage_tone2:",":massage_tone1:",":nail_care_tone5:",":nail_care_tone4:",":nail_care_tone3:",":nail_care_tone2:",":nail_care_tone1:",":dancer_tone5:",":dancer_tone4:",":dancer_tone3:",":dancer_tone2:",":dancer_tone1:",":guardsman_tone5:",":guardsman_tone4:",":guardsman_tone3:",":guardsman_tone2:",":guardsman_tone1:",":information_desk_person_tone5:",":information_desk_person_tone4:",":information_desk_person_tone3:",":information_desk_person_tone2:",":information_desk_person_tone1:",":angel_tone5:",":angel_tone4:",":angel_tone3:",":angel_tone2:",":angel_tone1:",":princess_tone5:",":princess_tone4:",":princess_tone3:",":princess_tone2:",":princess_tone1:",":construction_worker_tone5:",":construction_worker_tone4:",":construction_worker_tone3:",":construction_worker_tone2:",":construction_worker_tone1:",":baby_tone5:",":baby_tone4:",":baby_tone3:",":baby_tone2:",":baby_tone1:",":older_woman_tone5:",":grandma_tone5:",":older_woman_tone4:",":grandma_tone4:",":older_woman_tone3:",":grandma_tone3:",":older_woman_tone2:",":grandma_tone2:",":older_woman_tone1:",":grandma_tone1:",":older_man_tone5:",":older_man_tone4:",":older_man_tone3:",":older_man_tone2:",":older_man_tone1:",":man_with_turban_tone5:",":man_with_turban_tone4:",":man_with_turban_tone3:",":man_with_turban_tone2:",":man_with_turban_tone1:",":man_with_gua_pi_mao_tone5:",":man_with_gua_pi_mao_tone4:",":man_with_gua_pi_mao_tone3:",":man_with_gua_pi_mao_tone2:",":man_with_gua_pi_mao_tone1:",":person_with_blond_hair_tone5:",":person_with_blond_hair_tone4:",":person_with_blond_hair_tone3:",":person_with_blond_hair_tone2:",":person_with_blond_hair_tone1:",":bride_with_veil_tone5:",":bride_with_veil_tone4:",":bride_with_veil_tone3:",":bride_with_veil_tone2:",":bride_with_veil_tone1:",":cop_tone5:",":cop_tone4:",":cop_tone3:",":cop_tone2:",":cop_tone1:",":woman_tone5:",":woman_tone4:",":woman_tone3:",":woman_tone2:",":woman_tone1:",":man_tone5:",":man_tone4:",":man_tone3:",":man_tone2:",":man_tone1:",":girl_tone5:",":girl_tone4:",":girl_tone3:",":girl_tone2:",":girl_tone1:",":boy_tone5:",":boy_tone4:",":boy_tone3:",":boy_tone2:",":boy_tone1:",":open_hands_tone5:",":open_hands_tone4:",":open_hands_tone3:",":open_hands_tone2:",":open_hands_tone1:",":clap_tone5:",":clap_tone4:",":clap_tone3:",":clap_tone2:",":clap_tone1:",":thumbsdown_tone5:",":-1_tone5:",":thumbdown_tone5:",":thumbsdown_tone4:",":-1_tone4:",":thumbdown_tone4:",":thumbsdown_tone3:",":-1_tone3:",":thumbdown_tone3:",":thumbsdown_tone2:",":-1_tone2:",":thumbdown_tone2:",":thumbsdown_tone1:",":-1_tone1:",":thumbdown_tone1:",":thumbsup_tone5:",":+1_tone5:",":thumbup_tone5:",":thumbsup_tone4:",":+1_tone4:",":thumbup_tone4:",":thumbsup_tone3:",":+1_tone3:",":thumbup_tone3:",":thumbsup_tone2:",":+1_tone2:",":thumbup_tone2:",":thumbsup_tone1:",":+1_tone1:",":thumbup_tone1:",":ok_hand_tone5:",":ok_hand_tone4:",":ok_hand_tone3:",":ok_hand_tone2:",":ok_hand_tone1:",":wave_tone5:",":wave_tone4:",":wave_tone3:",":wave_tone2:",":wave_tone1:",":punch_tone5:",":punch_tone4:",":punch_tone3:",":punch_tone2:",":punch_tone1:",":point_right_tone5:",":point_right_tone4:",":point_right_tone3:",":point_right_tone2:",":point_right_tone1:",":point_left_tone5:",":point_left_tone4:",":point_left_tone3:",":point_left_tone2:",":point_left_tone1:",":point_down_tone5:",":point_down_tone4:",":point_down_tone3:",":point_down_tone2:",":point_down_tone1:",":point_up_2_tone5:",":point_up_2_tone4:",":point_up_2_tone3:",":point_up_2_tone2:",":point_up_2_tone1:",":nose_tone5:",":nose_tone4:",":nose_tone3:",":nose_tone2:",":nose_tone1:",":ear_tone5:",":ear_tone4:",":ear_tone3:",":ear_tone2:",":ear_tone1:",":lifter_tone5:",":weight_lifter_tone5:",":lifter_tone4:",":weight_lifter_tone4:",":lifter_tone3:",":weight_lifter_tone3:",":lifter_tone2:",":weight_lifter_tone2:",":lifter_tone1:",":weight_lifter_tone1:",":swimmer_tone5:",":swimmer_tone4:",":swimmer_tone3:",":swimmer_tone2:",":swimmer_tone1:",":horse_racing_tone5:",":horse_racing_tone4:",":horse_racing_tone3:",":horse_racing_tone2:",":horse_racing_tone1:",":surfer_tone5:",":surfer_tone4:",":surfer_tone3:",":surfer_tone2:",":surfer_tone1:",":runner_tone5:",":runner_tone4:",":runner_tone3:",":runner_tone2:",":runner_tone1:",":santa_tone5:",":santa_tone4:",":santa_tone3:",":santa_tone2:",":santa_tone1:",":flag_zw:",":zw:",":flag_zm:",":zm:",":flag_za:",":za:",":flag_yt:",":yt:",":flag_ye:",":ye:",":flag_xk:",":xk:",":flag_ws:",":ws:",":flag_wf:",":wf:",":flag_vu:",":vu:",":flag_vn:",":vn:",":flag_vi:",":vi:",":flag_vg:",":vg:",":flag_ve:",":ve:",":flag_vc:",":vc:",":flag_va:",":va:",":flag_uz:",":uz:",":flag_uy:",":uy:",":flag_us:",":us:",":flag_um:",":um:",":flag_ug:",":ug:",":flag_ua:",":ua:",":flag_tz:",":tz:",":flag_tw:",":tw:",":flag_tv:",":tuvalu:",":flag_tt:",":tt:",":flag_tr:",":tr:",":flag_to:",":to:",":flag_tn:",":tn:",":flag_tm:",":turkmenistan:",":flag_tl:",":tl:",":flag_tk:",":tk:",":flag_tj:",":tj:",":flag_th:",":th:",":flag_tg:",":tg:",":flag_tf:",":tf:",":flag_td:",":td:",":flag_tc:",":tc:",":flag_ta:",":ta:",":flag_sz:",":sz:",":flag_sy:",":sy:",":flag_sx:",":sx:",":flag_sv:",":sv:",":flag_st:",":st:",":flag_ss:",":ss:",":flag_sr:",":sr:",":flag_so:",":so:",":flag_sn:",":sn:",":flag_sm:",":sm:",":flag_sl:",":sl:",":flag_sk:",":sk:",":flag_sj:",":sj:",":flag_si:",":si:",":flag_sh:",":sh:",":flag_sg:",":sg:",":flag_se:",":se:",":flag_sd:",":sd:",":flag_sc:",":sc:",":flag_sb:",":sb:",":flag_sa:",":saudiarabia:",":saudi:",":flag_rw:",":rw:",":flag_ru:",":ru:",":flag_rs:",":rs:",":flag_ro:",":ro:",":flag_re:",":re:",":flag_qa:",":qa:",":flag_py:",":py:",":flag_pw:",":pw:",":flag_pt:",":pt:",":flag_ps:",":ps:",":flag_pr:",":pr:",":flag_pn:",":pn:",":flag_pm:",":pm:",":flag_pl:",":pl:",":flag_pk:",":pk:",":flag_ph:",":ph:",":flag_pg:",":pg:",":flag_pf:",":pf:",":flag_pe:",":pe:",":flag_pa:",":pa:",":flag_om:",":om:",":flag_nz:",":nz:",":flag_nu:",":nu:",":flag_nr:",":nr:",":flag_np:",":np:",":flag_no:",":no:",":flag_nl:",":nl:",":flag_ni:",":ni:",":flag_ng:",":nigeria:",":flag_nf:",":nf:",":flag_ne:",":ne:",":flag_nc:",":nc:",":flag_na:",":na:",":flag_mz:",":mz:",":flag_my:",":my:",":flag_mx:",":mx:",":flag_mw:",":mw:",":flag_mv:",":mv:",":flag_mu:",":mu:",":flag_mt:",":mt:",":flag_ms:",":ms:",":flag_mr:",":mr:",":flag_mq:",":mq:",":flag_mp:",":mp:",":flag_mo:",":mo:",":flag_mn:",":mn:",":flag_mm:",":mm:",":flag_ml:",":ml:",":flag_mk:",":mk:",":flag_mh:",":mh:",":flag_mg:",":mg:",":flag_mf:",":mf:",":flag_me:",":me:",":flag_md:",":md:",":flag_mc:",":mc:",":flag_ma:",":ma:",":flag_ly:",":ly:",":flag_lv:",":lv:",":flag_lu:",":lu:",":flag_lt:",":lt:",":flag_ls:",":ls:",":flag_lr:",":lr:",":flag_lk:",":lk:",":flag_li:",":li:",":flag_lc:",":lc:",":flag_lb:",":lb:",":flag_la:",":la:",":flag_kz:",":kz:",":flag_ky:",":ky:",":flag_kw:",":kw:",":flag_kr:",":kr:",":flag_kp:",":kp:",":flag_kn:",":kn:",":flag_km:",":km:",":flag_ki:",":ki:",":flag_kh:",":kh:",":flag_kg:",":kg:",":flag_ke:",":ke:",":flag_jp:",":jp:",":flag_jo:",":jo:",":flag_jm:",":jm:",":flag_je:",":je:",":flag_it:",":it:",":flag_is:",":is:",":flag_ir:",":ir:",":flag_iq:",":iq:",":flag_io:",":io:",":flag_in:",":in:",":flag_im:",":im:",":flag_il:",":il:",":flag_ie:",":ie:",":flag_id:",":indonesia:",":flag_ic:",":ic:",":flag_hu:",":hu:",":flag_ht:",":ht:",":flag_hr:",":hr:",":flag_hn:",":hn:",":flag_hm:",":hm:",":flag_hk:",":hk:",":flag_gy:",":gy:",":flag_gw:",":gw:",":flag_gu:",":gu:",":flag_gt:",":gt:",":flag_gs:",":gs:",":flag_gr:",":gr:",":flag_gq:",":gq:",":flag_gp:",":gp:",":flag_gn:",":gn:",":flag_gm:",":gm:",":flag_gl:",":gl:",":flag_gi:",":gi:",":flag_gh:",":gh:",":flag_gg:",":gg:",":flag_gf:",":gf:",":flag_ge:",":ge:",":flag_gd:",":gd:",":flag_gb:",":gb:",":flag_ga:",":ga:",":flag_fr:",":fr:",":flag_fo:",":fo:",":flag_fm:",":fm:",":flag_fk:",":fk:",":flag_fj:",":fj:",":flag_fi:",":fi:",":flag_eu:",":eu:",":flag_et:",":et:",":flag_es:",":es:",":flag_er:",":er:",":flag_eh:",":eh:",":flag_eg:",":eg:",":flag_ee:",":ee:",":flag_ec:",":ec:",":flag_ea:",":ea:",":flag_dz:",":dz:",":flag_do:",":do:",":flag_dm:",":dm:",":flag_dk:",":dk:",":flag_dj:",":dj:",":flag_dg:",":dg:",":flag_de:",":de:",":flag_cz:",":cz:",":flag_cy:",":cy:",":flag_cx:",":cx:",":flag_cw:",":cw:",":flag_cv:",":cv:",":flag_cu:",":cu:",":flag_cr:",":cr:",":flag_cp:",":cp:",":flag_co:",":co:",":flag_cn:",":cn:",":flag_cm:",":cm:",":flag_cl:",":chile:",":flag_ck:",":ck:",":flag_ci:",":ci:",":flag_ch:",":ch:",":flag_cg:",":cg:",":flag_cf:",":cf:",":flag_cd:",":congo:",":flag_cc:",":cc:",":flag_ca:",":ca:",":flag_bz:",":bz:",":flag_by:",":by:",":flag_bw:",":bw:",":flag_bv:",":bv:",":flag_bt:",":bt:",":flag_bs:",":bs:",":flag_br:",":br:",":flag_bq:",":bq:",":flag_bo:",":bo:",":flag_bn:",":bn:",":flag_bm:",":bm:",":flag_bl:",":bl:",":flag_bj:",":bj:",":flag_bi:",":bi:",":flag_bh:",":bh:",":flag_bg:",":bg:",":flag_bf:",":bf:",":flag_be:",":be:",":flag_bd:",":bd:",":flag_bb:",":bb:",":flag_ba:",":ba:",":flag_az:",":az:",":flag_ax:",":ax:",":flag_aw:",":aw:",":flag_au:",":au:",":flag_at:",":at:",":flag_as:",":as:",":flag_ar:",":ar:",":flag_aq:",":aq:",":flag_ao:",":ao:",":flag_am:",":am:",":flag_al:",":al:",":flag_ai:",":ai:",":flag_ag:",":ag:",":flag_af:",":af:",":flag_ae:",":ae:",":flag_ad:",":ad:",":flag_ac:",":ac:",":mahjong:",":parking:",":sa:",":u7121:",":u6307:",":u6708:",":film_frames:",":tickets:",":admission_tickets:",":lifter:",":weight_lifter:",":golfer:",":motorcycle:",":racing_motorcycle:",":race_car:",":racing_car:",":military_medal:",":reminder_ribbon:",":hot_pepper:",":cloud_rain:",":cloud_with_rain:",":cloud_snow:",":cloud_with_snow:",":cloud_lightning:",":cloud_with_lightning:",":cloud_tornado:",":cloud_with_tornado:",":fog:",":wind_blowing_face:",":chipmunk:",":spider:",":spider_web:",":thermometer:",":microphone2:",":studio_microphone:",":level_slider:",":control_knobs:",":flag_white:",":waving_white_flag:",":rosette:",":label:",":projector:",":film_projector:",":om_symbol:",":dove:",":dove_of_peace:",":candle:",":clock:",":mantlepiece_clock:",":hole:",":dark_sunglasses:",":joystick:",":paperclips:",":linked_paperclips:",":pen_ballpoint:",":lower_left_ballpoint_pen:",":pen_fountain:",":lower_left_fountain_pen:",":paintbrush:",":lower_left_paintbrush:",":crayon:",":lower_left_crayon:",":desktop:",":desktop_computer:",":printer:",":trackball:",":frame_photo:",":frame_with_picture:",":dividers:",":card_index_dividers:",":card_box:",":card_file_box:",":file_cabinet:",":wastebasket:",":notepad_spiral:",":spiral_note_pad:",":calendar_spiral:",":spiral_calendar_pad:",":compression:",":key2:",":old_key:",":newspaper2:",":rolled_up_newspaper:",":dagger:",":dagger_knife:",":speaking_head:",":speaking_head_in_silhouette:",":speech_left:",":left_speech_bubble:",":anger_right:",":right_anger_bubble:",":ballot_box:",":ballot_box_with_ballot:",":map:",":world_map:",":tools:",":hammer_and_wrench:",":shield:",":oil:",":oil_drum:",":satellite_orbital:",":fork_knife_plate:",":fork_and_knife_with_plate:",":eye:",":levitate:",":man_in_business_suit_levitating:",":spy:",":sleuth_or_spy:",":hand_splayed:",":raised_hand_with_fingers_splayed:",":mountain_snow:",":snow_capped_mountain:",":camping:",":beach:",":beach_with_umbrella:",":construction_site:",":building_construction:",":homes:",":house_buildings:",":cityscape:",":house_abandoned:",":derelict_house_building:",":classical_building:",":desert:",":island:",":desert_island:",":park:",":national_park:",":stadium:",":couch:",":couch_and_lamp:",":shopping_bags:",":bellhop:",":bellhop_bell:",":bed:",":motorway:",":railway_track:",":railroad_track:",":motorboat:",":airplane_small:",":small_airplane:",":cruise_ship:",":passenger_ship:",":white_sun_small_cloud:",":white_sun_with_small_cloud:",":white_sun_cloud:",":white_sun_behind_cloud:",":white_sun_rain_cloud:",":white_sun_behind_cloud_with_rain:",":mouse_three_button:",":three_button_mouse:",":point_up_tone1:",":point_up_tone2:",":point_up_tone3:",":point_up_tone4:",":point_up_tone5:",":v_tone1:",":v_tone2:",":v_tone3:",":v_tone4:",":v_tone5:",":fist_tone1:",":fist_tone2:",":fist_tone3:",":fist_tone4:",":fist_tone5:",":raised_hand_tone1:",":raised_hand_tone2:",":raised_hand_tone3:",":raised_hand_tone4:",":raised_hand_tone5:",":writing_hand_tone1:",":writing_hand_tone2:",":writing_hand_tone3:",":writing_hand_tone4:",":writing_hand_tone5:",":basketball_player_tone1:",":person_with_ball_tone1:",":basketball_player_tone2:",":person_with_ball_tone2:",":basketball_player_tone3:",":person_with_ball_tone3:",":basketball_player_tone4:",":person_with_ball_tone4:",":basketball_player_tone5:",":person_with_ball_tone5:",":copyright:",":registered:",":bangbang:",":interrobang:",":tm:",":information_source:",":left_right_arrow:",":arrow_up_down:",":arrow_upper_left:",":arrow_upper_right:",":arrow_lower_right:",":arrow_lower_left:",":leftwards_arrow_with_hook:",":arrow_right_hook:",":watch:",":hourglass:",":m:",":black_small_square:",":white_small_square:",":arrow_forward:",":arrow_backward:",":white_medium_square:",":black_medium_square:",":white_medium_small_square:",":black_medium_small_square:",":sunny:",":cloud:",":telephone:",":ballot_box_with_check:",":umbrella:",":coffee:",":point_up:",":relaxed:",":aries:",":taurus:",":gemini:",":cancer:",":leo:",":virgo:",":libra:",":scorpius:",":sagittarius:",":capricorn:",":aquarius:",":pisces:",":spades:",":clubs:",":hearts:",":diamonds:",":hotsprings:",":recycle:",":wheelchair:",":anchor:",":warning:",":zap:",":white_circle:",":black_circle:",":soccer:",":baseball:",":snowman:",":partly_sunny:",":no_entry:",":church:",":fountain:",":golf:",":sailboat:",":tent:",":fuelpump:",":scissors:",":airplane:",":envelope:",":v:",":pencil2:",":black_nib:",":heavy_check_mark:",":heavy_multiplication_x:",":eight_spoked_asterisk:",":eight_pointed_black_star:",":snowflake:",":sparkle:",":exclamation:",":heart:",":arrow_right:",":arrow_heading_up:",":arrow_heading_down:",":arrow_left:",":arrow_up:",":arrow_down:",":black_large_square:",":white_large_square:",":star:",":o:",":wavy_dash:",":part_alternation_mark:",":congratulations:",":secret:",":cross:",":latin_cross:",":keyboard:",":writing_hand:",":eject:",":eject_symbol:",":track_next:",":next_track:",":track_previous:",":previous_track:",":play_pause:",":stopwatch:",":timer:",":timer_clock:",":pause_button:",":double_vertical_bar:",":stop_button:",":record_button:",":umbrella2:",":snowman2:",":comet:",":shamrock:",":skull_crossbones:",":skull_and_crossbones:",":radioactive:",":radioactive_sign:",":biohazard:",":biohazard_sign:",":orthodox_cross:",":star_and_crescent:",":peace:",":peace_symbol:",":yin_yang:",":wheel_of_dharma:",":frowning2:",":white_frowning_face:",":hammer_pick:",":hammer_and_pick:",":crossed_swords:",":scales:",":alembic:",":gear:",":atom:",":atom_symbol:",":fleur-de-lis:",":coffin:",":urn:",":funeral_urn:",":thunder_cloud_rain:",":thunder_cloud_and_rain:",":pick:",":helmet_with_cross:",":helmet_with_white_cross:",":chains:",":shinto_shrine:",":mountain:",":beach_umbrella:",":umbrella_on_ground:",":ferry:",":skier:",":ice_skate:",":basketball_player:",":person_with_ball:",":star_of_david:",":heart_exclamation:",":heavy_heart_exclamation_mark_ornament:",":third_place:",":third_place_medal:",":second_place:",":second_place_medal:",":first_place:",":first_place_medal:",":fencer:",":fencing:",":goal:",":goal_net:",":handball:",":regional_indicator_z:",":water_polo:",":martial_arts_uniform:",":karate_uniform:",":boxing_glove:",":boxing_gloves:",":wrestlers:",":wrestling:",":juggling:",":juggler:",":cartwheel:",":person_doing_cartwheel:",":canoe:",":kayak:",":motor_scooter:",":motorbike:",":scooter:",":shopping_cart:",":shopping_trolley:",":black_joker:",":a:",":b:",":o2:",":octagonal_sign:",":stop_sign:",":ab:",":cl:",":regional_indicator_y:",":cool:",":free:",":id:",":new:",":ng:",":ok:",":sos:",":spoon:",":up:",":vs:",":champagne_glass:",":clinking_glass:",":tumbler_glass:",":whisky:",":koko:",":stuffed_flatbread:",":stuffed_pita:",":u7981:",":u7a7a:",":u5408:",":u6e80:",":u6709:",":shallow_pan_of_food:",":paella:",":u7533:",":u5272:",":salad:",":green_salad:",":u55b6:",":ideograph_advantage:",":accept:",":cyclone:",":french_bread:",":baguette_bread:",":foggy:",":closed_umbrella:",":night_with_stars:",":sunrise_over_mountains:",":sunrise:",":city_dusk:",":carrot:",":city_sunset:",":city_sunrise:",":rainbow:",":potato:",":bridge_at_night:",":ocean:",":volcano:",":milky_way:",":earth_asia:",":new_moon:",":bacon:",":first_quarter_moon:",":waxing_gibbous_moon:",":full_moon:",":crescent_moon:",":first_quarter_moon_with_face:",":star2:",":cucumber:",":stars:",":chestnut:",":avocado:",":seedling:",":palm_tree:",":cactus:",":tulip:",":cherry_blossom:",":rose:",":hibiscus:",":sunflower:",":blossom:",":corn:",":croissant:",":ear_of_rice:",":herb:",":four_leaf_clover:",":maple_leaf:",":fallen_leaf:",":leaves:",":mushroom:",":tomato:",":eggplant:",":grapes:",":melon:",":watermelon:",":tangerine:",":wilted_rose:",":wilted_flower:",":banana:",":pineapple:",":apple:",":green_apple:",":peach:",":cherries:",":strawberry:",":rhino:",":rhinoceros:",":hamburger:",":pizza:",":meat_on_bone:",":lizard:",":poultry_leg:",":rice_cracker:",":rice_ball:",":gorilla:",":rice:",":curry:",":deer:",":ramen:",":spaghetti:",":bread:",":fries:",":butterfly:",":sweet_potato:",":dango:",":fox:",":fox_face:",":oden:",":sushi:",":owl:",":fried_shrimp:",":fish_cake:",":shark:",":icecream:",":bat:",":shaved_ice:",":regional_indicator_x:",":ice_cream:",":duck:",":doughnut:",":eagle:",":cookie:",":black_heart:",":chocolate_bar:",":candy:",":lollipop:",":custard:",":pudding:",":flan:",":honey_pot:",":fingers_crossed:",":hand_with_index_and_middle_finger_crossed:",":cake:",":bento:",":stew:",":handshake:",":shaking_hands:",":cooking:",":fork_and_knife:",":tea:",":sake:",":wine_glass:",":cocktail:",":tropical_drink:",":beer:",":beers:",":ribbon:",":gift:",":birthday:",":jack_o_lantern:",":left_facing_fist:",":left_fist:",":right_facing_fist:",":right_fist:",":christmas_tree:",":santa:",":fireworks:",":raised_back_of_hand:",":back_of_hand:",":sparkler:",":balloon:",":tada:",":confetti_ball:",":tanabata_tree:",":crossed_flags:",":call_me:",":call_me_hand:",":bamboo:",":man_dancing:",":male_dancer:",":dolls:",":selfie:",":flags:",":pregnant_woman:",":expecting_woman:",":wind_chime:",":face_palm:",":facepalm:",":shrug:",":rice_scene:",":school_satchel:",":mortar_board:",":carousel_horse:",":ferris_wheel:",":roller_coaster:",":fishing_pole_and_fish:",":microphone:",":movie_camera:",":cinema:",":headphones:",":mrs_claus:",":mother_christmas:",":art:",":man_in_tuxedo:",":tophat:",":circus_tent:",":prince:",":ticket:",":clapper:",":performing_arts:",":sneezing_face:",":sneeze:",":video_game:",":dart:",":slot_machine:",":8ball:",":game_die:",":bowling:",":flower_playing_cards:",":lying_face:",":liar:",":musical_note:",":notes:",":saxophone:",":drooling_face:",":drool:",":guitar:",":musical_keyboard:",":trumpet:",":rofl:",":rolling_on_the_floor_laughing:",":violin:",":musical_score:",":running_shirt_with_sash:",":nauseated_face:",":sick:",":tennis:",":ski:",":basketball:",":checkered_flag:",":clown:",":clown_face:",":snowboarder:",":runner:",":surfer:",":trophy:",":football:",":swimmer:",":house:",":house_with_garden:",":office:",":post_office:",":hospital:",":bank:",":atm:",":hotel:",":love_hotel:",":convenience_store:",":school:",":department_store:",":cowboy:",":face_with_cowboy_hat:",":factory:",":izakaya_lantern:",":japanese_castle:",":european_castle:",":snail:",":snake:",":racehorse:",":sheep:",":monkey:",":chicken:",":boar:",":elephant:",":octopus:",":shell:",":bug:",":ant:",":bee:",":beetle:",":fish:",":tropical_fish:",":blowfish:",":turtle:",":hatching_chick:",":baby_chick:",":hatched_chick:",":bird:",":penguin:",":koala:",":poodle:",":camel:",":dolphin:",":mouse:",":cow:",":tiger:",":rabbit:",":cat:",":dragon_face:",":whale:",":horse:",":monkey_face:",":dog:",":pig:",":frog:",":hamster:",":wolf:",":bear:",":panda_face:",":pig_nose:",":feet:",":paw_prints:",":eyes:",":ear:",":nose:",":lips:",":tongue:",":point_up_2:",":point_down:",":point_left:",":point_right:",":punch:",":wave:",":ok_hand:",":thumbsup:",":+1:",":thumbup:",":thumbsdown:",":-1:",":thumbdown:",":clap:",":open_hands:",":crown:",":womans_hat:",":eyeglasses:",":necktie:",":shirt:",":jeans:",":dress:",":kimono:",":bikini:",":womans_clothes:",":purse:",":handbag:",":pouch:",":mans_shoe:",":athletic_shoe:",":high_heel:",":sandal:",":boot:",":footprints:",":bust_in_silhouette:",":boy:",":girl:",":man:",":woman:",":family:",":couple:",":cop:",":dancers:",":bride_with_veil:",":person_with_blond_hair:",":man_with_gua_pi_mao:",":man_with_turban:",":older_man:",":older_woman:",":grandma:",":baby:",":construction_worker:",":princess:",":japanese_ogre:",":japanese_goblin:",":ghost:",":angel:",":alien:",":space_invader:",":imp:",":skull:",":skeleton:",":card_index:",":information_desk_person:",":guardsman:",":dancer:",":lipstick:",":nail_care:",":ledger:",":massage:",":notebook:",":haircut:",":notebook_with_decorative_cover:",":barber:",":closed_book:",":syringe:",":book:",":pill:",":green_book:",":kiss:",":blue_book:",":love_letter:",":orange_book:",":ring:",":books:",":gem:",":name_badge:",":couplekiss:",":scroll:",":bouquet:",":pencil:",":couple_with_heart:",":telephone_receiver:",":wedding:",":pager:",":fax:",":heartbeat:",":satellite:",":loudspeaker:",":broken_heart:",":mega:",":outbox_tray:",":two_hearts:",":inbox_tray:",":package:",":sparkling_heart:",":e-mail:",":email:",":incoming_envelope:",":heartpulse:",":envelope_with_arrow:",":mailbox_closed:",":cupid:",":mailbox:",":postbox:",":blue_heart:",":newspaper:",":iphone:",":green_heart:",":calling:",":vibration_mode:",":yellow_heart:",":mobile_phone_off:",":signal_strength:",":purple_heart:",":camera:",":video_camera:",":gift_heart:",":tv:",":radio:",":revolving_hearts:",":vhs:",":arrows_clockwise:",":heart_decoration:",":loud_sound:",":battery:",":diamond_shape_with_a_dot_inside:",":electric_plug:",":mag:",":bulb:",":mag_right:",":lock_with_ink_pen:",":anger:",":closed_lock_with_key:",":key:",":bomb:",":lock:",":unlock:",":zzz:",":bell:",":bookmark:",":boom:",":link:",":radio_button:",":sweat_drops:",":back:",":end:",":droplet:",":on:",":soon:",":dash:",":top:",":underage:",":poop:",":shit:",":hankey:",":poo:",":keycap_ten:",":muscle:",":capital_abcd:",":abcd:",":dizzy:",":1234:",":symbols:",":speech_balloon:",":abc:",":fire:",":flame:",":white_flower:",":flashlight:",":wrench:",":100:",":hammer:",":nut_and_bolt:",":moneybag:",":knife:",":gun:",":currency_exchange:",":crystal_ball:",":heavy_dollar_sign:",":six_pointed_star:",":credit_card:",":beginner:",":trident:",":yen:",":black_square_button:",":white_square_button:",":dollar:",":red_circle:",":blue_circle:",":money_with_wings:",":large_orange_diamond:",":large_blue_diamond:",":chart:",":small_orange_diamond:",":small_blue_diamond:",":seat:",":small_red_triangle:",":small_red_triangle_down:",":computer:",":arrow_up_small:",":briefcase:",":arrow_down_small:",":clock1:",":minidisc:",":clock2:",":floppy_disk:",":clock3:",":cd:",":clock4:",":dvd:",":clock5:",":clock6:",":file_folder:",":clock7:",":clock8:",":open_file_folder:",":clock9:",":clock10:",":page_with_curl:",":clock11:",":clock12:",":page_facing_up:",":mount_fuji:",":tokyo_tower:",":date:",":statue_of_liberty:",":japan:",":calendar:",":moyai:",":grin:",":joy:",":smiley:",":chart_with_upwards_trend:",":smile:",":sweat_smile:",":chart_with_downwards_trend:",":laughing:",":satisfied:",":wink:",":bar_chart:",":blush:",":yum:",":clipboard:",":relieved:",":heart_eyes:",":pushpin:",":smirk:",":unamused:",":round_pushpin:",":sweat:",":pensive:",":paperclip:",":confounded:",":kissing_heart:",":straight_ruler:",":kissing_closed_eyes:",":stuck_out_tongue_winking_eye:",":triangular_ruler:",":stuck_out_tongue_closed_eyes:",":disappointed:",":bookmark_tabs:",":angry:",":rage:",":cry:",":persevere:",":triumph:",":disappointed_relieved:",":fearful:",":weary:",":sleepy:",":tired_face:",":sob:",":cold_sweat:",":scream:",":astonished:",":flushed:",":dizzy_face:",":mask:",":smile_cat:",":joy_cat:",":smiley_cat:",":heart_eyes_cat:",":smirk_cat:",":kissing_cat:",":pouting_cat:",":crying_cat_face:",":scream_cat:",":no_good:",":ok_woman:",":bow:",":see_no_evil:",":hear_no_evil:",":speak_no_evil:",":raising_hand:",":raised_hands:",":person_frowning:",":person_with_pouting_face:",":pray:",":rocket:",":railway_car:",":bullettrain_side:",":bullettrain_front:",":metro:",":station:",":bus:",":busstop:",":ambulance:",":fire_engine:",":police_car:",":taxi:",":red_car:",":blue_car:",":truck:",":ship:",":speedboat:",":traffic_light:",":construction:",":rotating_light:",":triangular_flag_on_post:",":door:",":no_entry_sign:",":smoking:",":no_smoking:",":bike:",":walking:",":mens:",":womens:",":restroom:",":baby_symbol:",":toilet:",":wc:",":bath:",":metal:",":sign_of_the_horns:",":grinning:",":innocent:",":smiling_imp:",":sunglasses:",":neutral_face:",":expressionless:",":confused:",":kissing:",":kissing_smiling_eyes:",":stuck_out_tongue:",":worried:",":frowning:",":anguished:",":grimacing:",":open_mouth:",":hushed:",":sleeping:",":no_mouth:",":helicopter:",":steam_locomotive:",":train2:",":light_rail:",":tram:",":oncoming_bus:",":trolleybus:",":minibus:",":oncoming_police_car:",":oncoming_taxi:",":oncoming_automobile:",":articulated_lorry:",":tractor:",":monorail:",":mountain_railway:",":suspension_railway:",":mountain_cableway:",":aerial_tramway:",":rowboat:",":vertical_traffic_light:",":put_litter_in_its_place:",":do_not_litter:",":potable_water:",":non-potable_water:",":no_bicycles:",":bicyclist:",":mountain_bicyclist:",":no_pedestrians:",":children_crossing:",":shower:",":bathtub:",":passport_control:",":customs:",":baggage_claim:",":left_luggage:",":earth_africa:",":earth_americas:",":globe_with_meridians:",":waxing_crescent_moon:",":waning_gibbous_moon:",":last_quarter_moon:",":waning_crescent_moon:",":new_moon_with_face:",":last_quarter_moon_with_face:",":full_moon_with_face:",":sun_with_face:",":evergreen_tree:",":deciduous_tree:",":lemon:",":pear:",":baby_bottle:",":horse_racing:",":rugby_football:",":european_post_office:",":rat:",":mouse2:",":ox:",":water_buffalo:",":cow2:",":tiger2:",":leopard:",":rabbit2:",":cat2:",":dragon:",":crocodile:",":whale2:",":ram:",":goat:",":rooster:",":dog2:",":pig2:",":dromedary_camel:",":busts_in_silhouette:",":two_men_holding_hands:",":two_women_holding_hands:",":thought_balloon:",":euro:",":pound:",":mailbox_with_mail:",":mailbox_with_no_mail:",":postal_horn:",":no_mobile_phones:",":twisted_rightwards_arrows:",":repeat:",":repeat_one:",":arrows_counterclockwise:",":low_brightness:",":high_brightness:",":mute:",":sound:",":no_bell:",":microscope:",":telescope:",":clock130:",":clock230:",":clock330:",":clock430:",":clock530:",":clock630:",":clock730:",":clock830:",":clock930:",":clock1030:",":clock1130:",":clock1230:",":speaker:",":train:",":medal:",":sports_medal:",":flag_black:",":waving_black_flag:",":camera_with_flash:",":sleeping_accommodation:",":middle_finger:",":reversed_hand_with_middle_finger_extended:",":vulcan:",":raised_hand_with_part_between_middle_and_ring_fingers:",":slight_frown:",":slightly_frowning_face:",":slight_smile:",":slightly_smiling_face:",":airplane_departure:",":airplane_arriving:",":tone1:",":tone2:",":tone3:",":tone4:",":tone5:",":upside_down:",":upside_down_face:",":money_mouth:",":money_mouth_face:",":nerd:",":nerd_face:",":hugging:",":hugging_face:",":rolling_eyes:",":face_with_rolling_eyes:",":thinking:",":thinking_face:",":zipper_mouth:",":zipper_mouth_face:",":thermometer_face:",":face_with_thermometer:",":head_bandage:",":face_with_head_bandage:",":robot:",":robot_face:",":lion_face:",":lion:",":unicorn:",":unicorn_face:",":scorpion:",":crab:",":turkey:",":cheese:",":cheese_wedge:",":hotdog:",":hot_dog:",":taco:",":burrito:",":popcorn:",":champagne:",":bottle_with_popping_cork:",":bow_and_arrow:",":archery:",":amphora:",":place_of_worship:",":worship_symbol:",":kaaba:",":mosque:",":synagogue:",":menorah:",":prayer_beads:",":cricket:",":cricket_bat_ball:",":volleyball:",":field_hockey:",":hockey:",":ping_pong:",":table_tennis:",":badminton:",":drum:",":drum_with_drumsticks:",":shrimp:",":squid:",":egg:",":milk:",":glass_of_milk:",":peanuts:",":shelled_peanut:",":kiwi:",":kiwifruit:",":pancakes:",":regional_indicator_w:",":regional_indicator_v:",":regional_indicator_u:",":regional_indicator_t:",":regional_indicator_s:",":regional_indicator_r:",":regional_indicator_q:",":regional_indicator_p:",":regional_indicator_o:",":regional_indicator_n:",":regional_indicator_m:",":regional_indicator_l:",":regional_indicator_k:",":regional_indicator_j:",":regional_indicator_i:",":regional_indicator_h:",":regional_indicator_g:",":regional_indicator_f:",":regional_indicator_e:",":regional_indicator_d:",":regional_indicator_c:",":regional_indicator_b:",":regional_indicator_a:",":fast_forward:",":rewind:",":arrow_double_up:",":arrow_double_down:",":alarm_clock:",":hourglass_flowing_sand:",":ophiuchus:",":white_check_mark:",":fist:",":raised_hand:",":sparkles:",":x:",":negative_squared_cross_mark:",":question:",":grey_question:",":grey_exclamation:",":heavy_plus_sign:",":heavy_minus_sign:",":heavy_division_sign:",":curly_loop:",":loop:","emoji","tmpShortNames","shortnames","asciiList","<3","</3",":')",":'-)",":D",":-D","=D",":)",":-)","=]","=)",":]","':)","':-)","'=)","':D","':-D","'=D",">:)",">;)",">:-)",">=)",";)",";-)","*-)","*)",";-]",";]",";D",";^)","':(","':-(","'=(",":*",":-*","=*",":^*",">:P","X-P","x-p",">:[",":-(",":(",":-[",":[","=(",">:(",">:-(",":@",":'(",":'-(",";(",";-(",">.<","D:",":$","=$","#-)","#)","%-)","%)","X)","X-)","*\\0/*","\\0/","*\\O/*","\\O/","O:-)","0:-3","0:3","0:-)","0:)","0;^)","O:)","O;-)","O=)","0;-)","O:-3","O:3","B-)","B)","8)","8-)","B-D","8-D","-_-","-__-","-___-",">:\\",">:/",":-/",":-.",":/",":\\","=/","=\\",":L","=L",":P",":-P","=P",":-p",":p","=p",":-Þ",":Þ",":þ",":-þ",":-b",":b","d:",":-O",":O",":-o",":o","O_O",">:O",":-X",":X",":-#",":#","=X","=x",":x",":-x","=#","asciiRegexp","unicodeRegexp","jsEscapeMap","👩‍❤️‍💋‍👩","👩❤💋👩","👨‍❤️‍💋‍👨","👨❤💋👨","👨‍👨‍👦‍👦","👨👨👦👦","👨‍👨‍👧‍👦","👨👨👧👦","👨‍👨‍👧‍👧","👨👨👧👧","👨‍👩‍👦‍👦","👨👩👦👦","👨‍👩‍👧‍👦","👨👩👧👦","👨‍👩‍👧‍👧","👨👩👧👧","👩‍👩‍👦‍👦","👩👩👦👦","👩‍👩‍👧‍👦","👩👩👧👦","👩‍👩‍👧‍👧","👩👩👧👧","👩‍❤️‍👩","👩❤👩","👨‍❤️‍👨","👨❤👨","👨‍👨‍👦","👨👨👦","👨‍👨‍👧","👨👨👧","👨‍👩‍👧","👨👩👧","👩‍👩‍👦","👩👩👦","👩‍👩‍👧","👩👩👧","🏳️‍🌈","🏳🌈","👁‍🗨","👁🗨","#️⃣","#⃣","0️⃣","0⃣","1️⃣","1⃣","2️⃣","2⃣","3️⃣","3⃣","4️⃣","4⃣","5️⃣","5⃣","6️⃣","6⃣","7️⃣","7⃣","8️⃣","8⃣","9️⃣","9⃣","*️⃣","*⃣","🤾🏿","🤾🏾","🤾🏽","🤾🏼","🤾🏻","🤽🏿","🤽🏾","🤽🏽","🤽🏼","🤽🏻","🤼🏿","🤼🏾","🤼🏽","🤼🏼","🤼🏻","🤹🏿","🤹🏾","🤹🏽","🤹🏼","🤹🏻","🤸🏿","🤸🏾","🤸🏽","🤸🏼","🤸🏻","🤷🏿","🤷🏾","🤷🏽","🤷🏼","🤷🏻","🤶🏿","🤶🏾","🤶🏽","🤶🏼","🤶🏻","🤵🏿","🤵🏾","🤵🏽","🤵🏼","🤵🏻","🤴🏿","🤴🏾","🤴🏽","🤴🏼","🤴🏻","🤳🏿","🤳🏾","🤳🏽","🤳🏼","🤳🏻","🤰🏿","🤰🏾","🤰🏽","🤰🏼","🤰🏻","🤦🏿","🤦🏾","🤦🏽","🤦🏼","🤦🏻","🤞🏿","🤞🏾","🤞🏽","🤞🏼","🤞🏻","🤝🏿","🤝🏾","🤝🏽","🤝🏼","🤝🏻","🤜🏿","🤜🏾","🤜🏽","🤜🏼","🤜🏻","🤛🏿","🤛🏾","🤛🏽","🤛🏼","🤛🏻","🤚🏿","🤚🏾","🤚🏽","🤚🏼","🤚🏻","🤙🏿","🤙🏾","🤙🏽","🤙🏼","🤙🏻","🤘🏿","🤘🏾","🤘🏽","🤘🏼","🤘🏻","🛀🏿","🛀🏾","🛀🏽","🛀🏼","🛀🏻","🚶🏿","🚶🏾","🚶🏽","🚶🏼","🚶🏻","🚵🏿","🚵🏾","🚵🏽","🚵🏼","🚵🏻","🚴🏿","🚴🏾","🚴🏽","🚴🏼","🚴🏻","🚣🏿","🚣🏾","🚣🏽","🚣🏼","🚣🏻","🙏🏿","🙏🏾","🙏🏽","🙏🏼","🙏🏻","🙎🏿","🙎🏾","🙎🏽","🙎🏼","🙎🏻","🙍🏿","🙍🏾","🙍🏽","🙍🏼","🙍🏻","🙌🏿","🙌🏾","🙌🏽","🙌🏼","🙌🏻","🙋🏿","🙋🏾","🙋🏽","🙋🏼","🙋🏻","🙇🏿","🙇🏾","🙇🏽","🙇🏼","🙇🏻","🙆🏿","🙆🏾","🙆🏽","🙆🏼","🙆🏻","🙅🏿","🙅🏾","🙅🏽","🙅🏼","🙅🏻","🖖🏿","🖖🏾","🖖🏽","🖖🏼","🖖🏻","🖕🏿","🖕🏾","🖕🏽","🖕🏼","🖕🏻","🖐🏿","🖐🏾","🖐🏽","🖐🏼","🖐🏻","🕺🏿","🕺🏾","🕺🏽","🕺🏼","🕺🏻","🕵🏿","🕵🏾","🕵🏽","🕵🏼","🕵🏻","💪🏿","💪🏾","💪🏽","💪🏼","💪🏻","💇🏿","💇🏾","💇🏽","💇🏼","💇🏻","💆🏿","💆🏾","💆🏽","💆🏼","💆🏻","💅🏿","💅🏾","💅🏽","💅🏼","💅🏻","💃🏿","💃🏾","💃🏽","💃🏼","💃🏻","💂🏿","💂🏾","💂🏽","💂🏼","💂🏻","💁🏿","💁🏾","💁🏽","💁🏼","💁🏻","👼🏿","👼🏾","👼🏽","👼🏼","👼🏻","👸🏿","👸🏾","👸🏽","👸🏼","👸🏻","👷🏿","👷🏾","👷🏽","👷🏼","👷🏻","👶🏿","👶🏾","👶🏽","👶🏼","👶🏻","👵🏿","👵🏾","👵🏽","👵🏼","👵🏻","👴🏿","👴🏾","👴🏽","👴🏼","👴🏻","👳🏿","👳🏾","👳🏽","👳🏼","👳🏻","👲🏿","👲🏾","👲🏽","👲🏼","👲🏻","👱🏿","👱🏾","👱🏽","👱🏼","👱🏻","👰🏿","👰🏾","👰🏽","👰🏼","👰🏻","👮🏿","👮🏾","👮🏽","👮🏼","👮🏻","👩🏿","👩🏾","👩🏽","👩🏼","👩🏻","👨🏿","👨🏾","👨🏽","👨🏼","👨🏻","👧🏿","👧🏾","👧🏽","👧🏼","👧🏻","👦🏿","👦🏾","👦🏽","👦🏼","👦🏻","👐🏿","👐🏾","👐🏽","👐🏼","👐🏻","👏🏿","👏🏾","👏🏽","👏🏼","👏🏻","👎🏿","👎🏾","👎🏽","👎🏼","👎🏻","👍🏿","👍🏾","👍🏽","👍🏼","👍🏻","👌🏿","👌🏾","👌🏽","👌🏼","👌🏻","👋🏿","👋🏾","👋🏽","👋🏼","👋🏻","👊🏿","👊🏾","👊🏽","👊🏼","👊🏻","👉🏿","👉🏾","👉🏽","👉🏼","👉🏻","👈🏿","👈🏾","👈🏽","👈🏼","👈🏻","👇🏿","👇🏾","👇🏽","👇🏼","👇🏻","👆🏿","👆🏾","👆🏽","👆🏼","👆🏻","👃🏿","👃🏾","👃🏽","👃🏼","👃🏻","👂🏿","👂🏾","👂🏽","👂🏼","👂🏻","🏋🏿","🏋🏾","🏋🏽","🏋🏼","🏋🏻","🏊🏿","🏊🏾","🏊🏽","🏊🏼","🏊🏻","🏇🏿","🏇🏾","🏇🏽","🏇🏼","🏇🏻","🏄🏿","🏄🏾","🏄🏽","🏄🏼","🏄🏻","🏃🏿","🏃🏾","🏃🏽","🏃🏼","🏃🏻","🎅🏿","🎅🏾","🎅🏽","🎅🏼","🎅🏻","🇿🇼","🇿🇲","🇿🇦","🇾🇹","🇾🇪","🇽🇰","🇼🇸","🇼🇫","🇻🇺","🇻🇳","🇻🇮","🇻🇬","🇻🇪","🇻🇨","🇻🇦","🇺🇿","🇺🇾","🇺🇸","🇺🇲","🇺🇬","🇺🇦","🇹🇿","🇹🇼","🇹🇻","🇹🇹","🇹🇷","🇹🇴","🇹🇳","🇹🇲","🇹🇱","🇹🇰","🇹🇯","🇹🇭","🇹🇬","🇹🇫","🇹🇩","🇹🇨","🇹🇦","🇸🇿","🇸🇾","🇸🇽","🇸🇻","🇸🇹","🇸🇸","🇸🇷","🇸🇴","🇸🇳","🇸🇲","🇸🇱","🇸🇰","🇸🇯","🇸🇮","🇸🇭","🇸🇬","🇸🇪","🇸🇩","🇸🇨","🇸🇧","🇸🇦","🇷🇼","🇷🇺","🇷🇸","🇷🇴","🇷🇪","🇶🇦","🇵🇾","🇵🇼","🇵🇹","🇵🇸","🇵🇷","🇵🇳","🇵🇲","🇵🇱","🇵🇰","🇵🇭","🇵🇬","🇵🇫","🇵🇪","🇵🇦","🇴🇲","🇳🇿","🇳🇺","🇳🇷","🇳🇵","🇳🇴","🇳🇱","🇳🇮","🇳🇬","🇳🇫","🇳🇪","🇳🇨","🇳🇦","🇲🇿","🇲🇾","🇲🇽","🇲🇼","🇲🇻","🇲🇺","🇲🇹","🇲🇸","🇲🇷","🇲🇶","🇲🇵","🇲🇴","🇲🇳","🇲🇲","🇲🇱","🇲🇰","🇲🇭","🇲🇬","🇲🇫","🇲🇪","🇲🇩","🇲🇨","🇲🇦","🇱🇾","🇱🇻","🇱🇺","🇱🇹","🇱🇸","🇱🇷","🇱🇰","🇱🇮","🇱🇨","🇱🇧","🇱🇦","🇰🇿","🇰🇾","🇰🇼","🇰🇷","🇰🇵","🇰🇳","🇰🇲","🇰🇮","🇰🇭","🇰🇬","🇰🇪","🇯🇵","🇯🇴","🇯🇲","🇯🇪","🇮🇹","🇮🇸","🇮🇷","🇮🇶","🇮🇴","🇮🇳","🇮🇲","🇮🇱","🇮🇪","🇮🇩","🇮🇨","🇭🇺","🇭🇹","🇭🇷","🇭🇳","🇭🇲","🇭🇰","🇬🇾","🇬🇼","🇬🇺","🇬🇹","🇬🇸","🇬🇷","🇬🇶","🇬🇵","🇬🇳","🇬🇲","🇬🇱","🇬🇮","🇬🇭","🇬🇬","🇬🇫","🇬🇪","🇬🇩","🇬🇧","🇬🇦","🇫🇷","🇫🇴","🇫🇲","🇫🇰","🇫🇯","🇫🇮","🇪🇺","🇪🇹","🇪🇸","🇪🇷","🇪🇭","🇪🇬","🇪🇪","🇪🇨","🇪🇦","🇩🇿","🇩🇴","🇩🇲","🇩🇰","🇩🇯","🇩🇬","🇩🇪","🇨🇿","🇨🇾","🇨🇽","🇨🇼","🇨🇻","🇨🇺","🇨🇷","🇨🇵","🇨🇴","🇨🇳","🇨🇲","🇨🇱","🇨🇰","🇨🇮","🇨🇭","🇨🇬","🇨🇫","🇨🇩","🇨🇨","🇨🇦","🇧🇿","🇧🇾","🇧🇼","🇧🇻","🇧🇹","🇧🇸","🇧🇷","🇧🇶","🇧🇴","🇧🇳","🇧🇲","🇧🇱","🇧🇯","🇧🇮","🇧🇭","🇧🇬","🇧🇫","🇧🇪","🇧🇩","🇧🇧","🇧🇦","🇦🇿","🇦🇽","🇦🇼","🇦🇺","🇦🇹","🇦🇸","🇦🇷","🇦🇶","🇦🇴","🇦🇲","🇦🇱","🇦🇮","🇦🇬","🇦🇫","🇦🇪","🇦🇩","🇦🇨","🀄️","🀄","🅿️","🅿","🈂️","🈂","🈚️","🈚","🈯️","🈯","🈷️","🈷","🎞️","🎞","🎟️","🎟","🏋️","🏋","🏌️","🏌","🏍️","🏍","🏎️","🏎","🎖️","🎖","🎗️","🎗","🌶️","🌶","🌧️","🌧","🌨️","🌨","🌩️","🌩","🌪️","🌪","🌫️","🌫","🌬️","🌬","🐿️","🐿","🕷️","🕷","🕸️","🕸","🌡️","🌡","🎙️","🎙","🎚️","🎚","🎛️","🎛","🏳️","🏳","🏵️","🏵","🏷️","🏷","📽️","📽","🕉️","🕉","🕊️","🕊","🕯️","🕯","🕰️","🕰","🕳️","🕳","🕶️","🕶","🕹️","🕹","🖇️","🖇","🖊️","🖊","🖋️","🖋","🖌️","🖌","🖍️","🖍","🖥️","🖥","🖨️","🖨","🖲️","🖲","🖼️","🖼","🗂️","🗂","🗃️","🗃","🗄️","🗄","🗑️","🗑","🗒️","🗒","🗓️","🗓","🗜️","🗜","🗝️","🗝","🗞️","🗞","🗡️","🗡","🗣️","🗣","🗨️","🗨","🗯️","🗯","🗳️","🗳","🗺️","🗺","🛠️","🛠","🛡️","🛡","🛢️","🛢","🛰️","🛰","🍽️","🍽","👁️","👁","🕴️","🕴","🕵️","🕵","🖐️","🖐","🏔️","🏔","🏕️","🏕","🏖️","🏖","🏗️","🏗","🏘️","🏘","🏙️","🏙","🏚️","🏚","🏛️","🏛","🏜️","🏜","🏝️","🏝","🏞️","🏞","🏟️","🏟","🛋️","🛋","🛍️","🛍","🛎️","🛎","🛏️","🛏","🛣️","🛣","🛤️","🛤","🛥️","🛥","🛩️","🛩","🛳️","🛳","🌤️","🌤","🌥️","🌥","🌦️","🌦","🖱️","🖱","☝🏻","☝🏼","☝🏽","☝🏾","☝🏿","✌🏻","✌🏼","✌🏽","✌🏾","✌🏿","✊🏻","✊🏼","✊🏽","✊🏾","✊🏿","✋🏻","✋🏼","✋🏽","✋🏾","✋🏿","✍🏻","✍🏼","✍🏽","✍🏾","✍🏿","⛹🏻","⛹🏼","⛹🏽","⛹🏾","⛹🏿","©️","©","®️","®","‼️","‼","⁉️","⁉","™️","™","ℹ️","ℹ","↔️","↔","↕️","↕","↖️","↖","↗️","↗","↘️","↘","↙️","↙","↩️","↩","↪️","↪","⌚️","⌚","⌛️","⌛","Ⓜ️","Ⓜ","▪️","▪","▫️","▫","▶️","▶","◀️","◀","◻️","◻","◼️","◼","◽️","◽","◾️","◾","☀️","☀","☁️","☁","☎️","☎","☑️","☑","☔️","☔","☕️","☕","☝️","☝","☺️","☺","♈️","♈","♉️","♉","♊️","♊","♋️","♋","♌️","♌","♍️","♍","♎️","♎","♏️","♏","♐️","♐","♑️","♑","♒️","♒","♓️","♓","♠️","♠","♣️","♣","♥️","♥","♦️","♦","♨️","♨","♻️","♻","♿️","♿","⚓️","⚓","⚠️","⚠","⚡️","⚡","⚪️","⚪","⚫️","⚫","⚽️","⚽","⚾️","⚾","⛄️","⛄","⛅️","⛅","⛔️","⛔","⛪️","⛪","⛲️","⛲","⛳️","⛳","⛵️","⛵","⛺️","⛺","⛽️","⛽","✂️","✂","✈️","✈","✉️","✉","✌️","✌","✏️","✏","✒️","✒","✔️","✔","✖️","✖","✳️","✳","✴️","✴","❄️","❄","❇️","❇","❗️","❗","❤️","❤","➡️","➡","⤴️","⤴","⤵️","⤵","⬅️","⬅","⬆️","⬆","⬇️","⬇","⬛️","⬛","⬜️","⬜","⭐️","⭐","⭕️","⭕","〰️","〰","〽️","〽","㊗️","㊗","㊙️","㊙","✝️","✝","⌨️","⌨","✍️","✍","⏏️","⏏","⏭️","⏭","⏮️","⏮","⏯️","⏯","⏱️","⏱","⏲️","⏲","⏸️","⏸","⏹️","⏹","⏺️","⏺","☂️","☂","☃️","☃","☄️","☄","☘️","☘","☠️","☠","☢️","☢","☣️","☣","☦️","☦","☪️","☪","☮️","☮","☯️","☯","☸️","☸","☹️","☹","⚒️","⚒","⚔️","⚔","⚖️","⚖","⚗️","⚗","⚙️","⚙","⚛️","⚛","⚜️","⚜","⚰️","⚰","⚱️","⚱","⛈️","⛈","⛏️","⛏","⛑️","⛑","⛓️","⛓","⛩️","⛩","⛰️","⛰","⛱️","⛱","⛴️","⛴","⛷️","⛷","⛸️","⛸","⛹️","⛹","✡️","✡","❣️","❣","🥉","🥈","🥇","🤺","🥅","🤾","🇿","🤽","🥋","🥊","🤼","🤹","🤸","🛶","🛵","🛴","🛒","🃏","🅰","🅱","🅾","🛑","🆎","🆑","🇾","🆒","🆓","🆔","🆕","🆖","🆗","🆘","🥄","🆙","🆚","🥂","🥃","🈁","🥙","🈲","🈳","🈴","🈵","🈶","🥘","🈸","🈹","🥗","🈺","🉐","🉑","🌀","🥖","🌁","🌂","🌃","🌄","🌅","🌆","🥕","🌇","🌈","🥔","🌉","🌊","🌋","🌌","🌏","🌑","🥓","🌓","🌔","🌕","🌙","🌛","🌟","🥒","🌠","🌰","🥑","🌱","🌴","🌵","🌷","🌸","🌹","🌺","🌻","🌼","🌽","🥐","🌾","🌿","🍀","🍁","🍂","🍃","🍄","🍅","🍆","🍇","🍈","🍉","🍊","🥀","🍌","🍍","🍎","🍏","🍑","🍒","🍓","🦏","🍔","🍕","🍖","🦎","🍗","🍘","🍙","🦍","🍚","🍛","🦌","🍜","🍝","🍞","🍟","🦋","🍠","🍡","🦊","🍢","🍣","🦉","🍤","🍥","🦈","🍦","🦇","🍧","🇽","🍨","🦆","🍩","🦅","🍪","🖤","🍫","🍬","🍭","🍮","🍯","🤞","🍰","🍱","🍲","🤝","🍳","🍴","🍵","🍶","🍷","🍸","🍹","🍺","🍻","🎀","🎁","🎂","🎃","🤛","🤜","🎄","🎅","🎆","🤚","🎇","🎈","🎉","🎊","🎋","🎌","🤙","🎍","🕺","🎎","🤳","🎏","🤰","🎐","🤦","🤷","🎑","🎒","🎓","🎠","🎡","🎢","🎣","🎤","🎥","🎦","🎧","🤶","🎨","🤵","🎩","🎪","🤴","🎫","🎬","🎭","🤧","🎮","🎯","🎰","🎱","🎲","🎳","🎴","🤥","🎵","🎶","🎷","🤤","🎸","🎹","🎺","🤣","🎻","🎼","🎽","🤢","🎾","🎿","🏀","🏁","🤡","🏂","🏃","🏄","🏆","🏈","🏊","🏠","🏡","🏢","🏣","🏥","🏦","🏧","🏨","🏩","🏪","🏫","🏬","🤠","🏭","🏮","🏯","🏰","🐌","🐍","🐎","🐑","🐒","🐔","🐗","🐘","🐙","🐚","🐛","🐜","🐝","🐞","🐟","🐠","🐡","🐢","🐣","🐤","🐥","🐦","🐧","🐨","🐩","🐫","🐬","🐭","🐮","🐯","🐰","🐱","🐲","🐳","🐴","🐵","🐶","🐷","🐸","🐹","🐺","🐻","🐼","🐽","🐾","👀","👂","👃","👄","👅","👆","👇","👈","👉","👊","👋","👌","👍","👎","👏","👐","👑","👒","👓","👔","👕","👖","👗","👘","👙","👚","👛","👜","👝","👞","👟","👠","👡","👢","👣","👤","👦","👧","👨","👩","👪","👫","👮","👯","👰","👱","👲","👳","👴","👵","👶","👷","👸","👹","👺","👻","👼","👽","👾","👿","💀","📇","💁","💂","💃","💄","💅","📒","💆","📓","💇","📔","💈","📕","💉","📖","💊","📗","💋","📘","💌","📙","💍","📚","💎","📛","💏","📜","💐","📝","💑","📞","💒","📟","📠","💓","📡","📢","💔","📣","📤","💕","📥","📦","💖","📧","📨","💗","📩","📪","💘","📫","📮","💙","📰","📱","💚","📲","📳","💛","📴","📶","💜","📷","📹","💝","📺","📻","💞","📼","🔃","💟","🔊","🔋","💠","🔌","🔍","💡","🔎","🔏","💢","🔐","🔑","💣","🔒","🔓","💤","🔔","🔖","💥","🔗","🔘","💦","🔙","🔚","💧","🔛","🔜","💨","🔝","🔞","💩","🔟","💪","🔠","🔡","💫","🔢","🔣","💬","🔤","🔥","💮","🔦","🔧","💯","🔨","🔩","💰","🔪","🔫","💱","🔮","💲","🔯","💳","🔰","🔱","💴","🔲","🔳","💵","🔴","🔵","💸","🔶","🔷","💹","🔸","🔹","💺","🔺","🔻","💻","🔼","💼","🔽","🕐","💽","🕑","💾","🕒","💿","🕓","📀","🕔","🕕","📁","🕖","🕗","📂","🕘","🕙","📃","🕚","🕛","📄","🗻","🗼","📅","🗽","🗾","📆","🗿","😁","😂","😃","📈","😄","😅","📉","😆","😉","📊","😊","😋","📋","😌","😍","📌","😏","😒","📍","😓","😔","📎","😖","😘","📏","😚","😜","📐","😝","😞","📑","😠","😡","😢","😣","😤","😥","😨","😩","😪","😫","😭","😰","😱","😲","😳","😵","😷","😸","😹","😺","😻","😼","😽","😾","😿","🙀","🙅","🙆","🙇","🙈","🙉","🙊","🙋","🙌","🙍","🙎","🙏","🚀","🚃","🚄","🚅","🚇","🚉","🚌","🚏","🚑","🚒","🚓","🚕","🚗","🚙","🚚","🚢","🚤","🚥","🚧","🚨","🚩","🚪","🚫","🚬","🚭","🚲","🚶","🚹","🚺","🚻","🚼","🚽","🚾","🛀","🤘","😀","😇","😈","😎","😐","😑","😕","😗","😙","😛","😟","😦","😧","😬","😮","😯","😴","😶","🚁","🚂","🚆","🚈","🚊","🚍","🚎","🚐","🚔","🚖","🚘","🚛","🚜","🚝","🚞","🚟","🚠","🚡","🚣","🚦","🚮","🚯","🚰","🚱","🚳","🚴","🚵","🚷","🚸","🚿","🛁","🛂","🛃","🛄","🛅","🌍","🌎","🌐","🌒","🌖","🌗","🌘","🌚","🌜","🌝","🌞","🌲","🌳","🍋","🍐","🍼","🏇","🏉","🏤","🐀","🐁","🐂","🐃","🐄","🐅","🐆","🐇","🐈","🐉","🐊","🐋","🐏","🐐","🐓","🐕","🐖","🐪","👥","👬","👭","💭","💶","💷","📬","📭","📯","📵","🔀","🔁","🔂","🔄","🔅","🔆","🔇","🔉","🔕","🔬","🔭","🕜","🕝","🕞","🕟","🕠","🕡","🕢","🕣","🕤","🕥","🕦","🕧","🔈","🚋","🏅","🏴","📸","🛌","🖕","🖖","🙁","🙂","🛫","🛬","🏻","🏼","🏽","🏾","🏿","🙃","🤑","🤓","🤗","🙄","🤔","🤐","🤒","🤕","🤖","🦁","🦄","🦂","🦀","🦃","🧀","🌭","🌮","🌯","🍿","🍾","🏹","🏺","🛐","🕋","🕌","🕍","🕎","📿","🏏","🏐","🏑","🏒","🏓","🏸","🥁","🦐","🦑","🥚","🥛","🥜","🥝","🥞","🇼","🇻","🇺","🇹","🇸","🇷","🇶","🇵","🇴","🇳","🇲","🇱","🇰","🇯","🇮","🇭","🇬","🇫","🇪","🇩","🇨","🇧","🇦","⏩","⏪","⏫","⏬","⏰","⏳","⛎","✅","✊","✋","✨","❌","❎","❓","❔","❕","➕","➖","➗","➰","➿","imagePathPNG","imagePathSVG","imagePathSVGSprites","imageType","imageTitleTag","sprites","unicodeAlt","ascii","cacheBustParam","regShortNames","regAscii","regUnicode","toImage","unicodeToImage","shortnameToImage","unifyUnicode","toShort","shortnameToUnicode","shortnameToAscii","unicodeToAscii","objectFlip","shortname","convert","entire","m3","unescapeHTML","escapeHTML","mappedUnicode","mapUnicodeToShort","unicodeChar","getUnicodeReplacementRegEx","replacementList","mapUnicodeCharactersToShort","replaceAll","escaped","unescaped","&#x26;","&#x3C;","&#x3E;","&#x22;","&#x27;","mapEmojioneList","addToMapStorage","memMapShortToUnicode","memoizeReplacement","unicodeReplacementRegEx","memMapShortToUnicodeCharacters","unicodeList","emojiCharacter","tmp_obj","escapeRegExp","escapedFind","emojione","I18next","bg","translation","Logging_in","your_connection_is_unencrypted","your_connection_is_encrypted","your_buddy_closed_the_private_connection","start_private","close_private","your_buddy_is_verificated","you_have_only_a_subscription_in_one_way","authentication_query_sent","your_message_wasnt_send_please_end_your_private_conversation","unencrypted_message_received","not_available","no_connection","relogin","trying_to_start_private_conversation","Verified","Unverified","private_conversation_aborted","your_buddy_closed_the_private_conversation_you_should_do_the_same","conversation_is_now_verified","authentication_failed","Creating_your_private_key_","Authenticating_a_buddy_helps_","How_do_you_want_to_authenticate_your_buddy","Select_method","Manual","Question","Secret","To_verify_the_fingerprint_","Your_fingerprint","Buddy_fingerprint","Close","Compared","To_authenticate_using_a_question_","Ask","To_authenticate_pick_a_secret_","Compare","Fingerprints","Authentication","Add_buddy","rename_buddy","delete_buddy","Login","Username","Password","Cancel","Connect","Type_in_the_full_username_","Alias","Add","Subscription_request","You_have_a_request_from","Deny","Approve","Remove_buddy","You_are_about_to_remove_","Continue_without_chat","Please_wait","Login_failed","Sorry_we_cant_authentikate_","Retry","clear_history","New_message_from","Should_we_notify_you_","Please_accept_","Hide_offline","Show_offline","About","dnd","online","chat","away","xa","offline","Unknown_instance_tag","Not_one_of_our_latest_keys","Received_an_unreadable_encrypted_message","Online","Chatty","Away","Extended_away","Offline","Friendship_request","Confirm","Dismiss","Remove","Online_help","FN","FAMILY","GIVEN","NICKNAME","ADR","STREET","EXTADD","LOCALITY","REGION","PCODE","CTRY","TEL","NUMBER","EMAIL","USERID","ORG","ORGNAME","ORGUNIT","TITLE","ROLE","BDAY","DESC","PHOTO","send_message","get_info","Settings","Priority","Save","User_settings","A_fingerprint_","Login_options","BOSH_url","Domain","Resource","On_login","Received_an_unencrypted_message","Sorry_your_buddy_doesnt_provide_any_information","Info_about","Authentication_aborted","Authentication_request_received","Log_in_without_chat","has_come_online","Unknown_sender","Please_allow_access_to_microphone_and_camera","Incoming_call","Do_you_want_to_accept_the_call_from","Reject","Accept","hang_up","snapshot","mute_my_audio","pause_my_video","fullscreen","Local_IP","Remote_IP","Local_Fingerprint","Remote_Fingerprint","Video_call_not_possible","Start_video_call","Join_chat","Join","Room","Nickname","left_the_building","entered_the_room","is_now_known_as","This_room_is","muc_hidden","keyword","muc_membersonly","muc_moderated","muc_nonanonymous","muc_open","muc_passwordprotected","muc_persistent","muc_public","muc_semianonymous","muc_temporary","muc_unmoderated","muc_unsecured","Continue","Server","Rooms_are_loaded","Could_load_only","muc_explanation","You_already_joined_this_room","This_room_will_be_closed","Room_not_found_","Loading_room_information","Leave","changed_subject_to","muc_removed_kicked","muc_removed_info_kicked","muc_removed_banned","muc_removed_info_banned","muc_removed_affiliation","muc_removed_info_affiliation","muc_removed_membersonly","muc_removed_info_membersonly","muc_removed_shutdown","message_not_send","message_not_send_item-not-found","message_not_send_forbidden","message_not_send_not-acceptable","This_room_has_been_closed","Room_logging_is_enabled","A_password_is_required","You_are_not_on_the_member_list","You_are_banned_from_this_room","Your_desired_nickname_","The_maximum_number_","This_room_is_locked_","You_are_not_allowed_to_create_","Alert","Call_started","Call_terminated","Carbon_copy","jingle_reason_busy","jingle_reason_decline","jingle_reason_success","Media_failure","No_local_audio_device","No_local_video_device","Ok","Use_local_audio_device","Use_local_video_device","is_","You_received_a_message_from_an_unknown_sender_","Your_roster_is_empty_add_","onsmp_explanation_question","onsmp_explanation_secret","from_sender","Verified_private_conversation_started","Unverified_private_conversation_started","Bookmark","Auto-join","Edit_bookmark","Room_logging_is_disabled","Room_is_now_non-anoymous","Room_is_now_semi-anonymous","Do_you_want_to_change_the_default_room_configuration","Default","Change","Send_file","setting-explanation-carbon","setting-explanation-login","setting-explanation-priority","setting-explanation-xmpp","_is_composing","_are_composing","Chat_state_notifications","setting-explanation-chat-state","Share_screen","Incoming_stream","Stream_started","HTTPS_REQUIRED","EXTENSION_UNAVAILABLE","UNKNOWN_ERROR","Install_extension","Connection_accepted","Stream_terminated","Close_all","Unreadable_OTR_message","Load_older_messages","bn-BD","de","en","fi","fr","hu-HU","nds","nl-NL","pl","pt-BR","ro","ru","sv-SE","tr-TR","vi-VN","zh-TW","zh"],"mappings":"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OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,OAA2B,cAAcC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,KAAe,QAAQC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,MAAqB,aAAaC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,YAAYC,IAAS,OAAOC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe;AAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOC,IAAS,OAAOnoC,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAOE,IAAS,OAAO9Z,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQkW,IAAS,OAAOhW,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQE,KAAe,QAAQwU,IAAS,OAAOtU,KAAe,QAAQE,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","file":"jsxc.dep.min.js"} \ No newline at end of file
diff --git a/build/lib/translation.js b/build/lib/translation.js
index dc81d296..655dac22 100644
--- a/build/lib/translation.js
+++ b/build/lib/translation.js
@@ -1 +1 @@
-var I18next = {"bg":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"bn-BD":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"de":{"translation":{"Logging_in":"Login läuft…","your_connection_is_unencrypted":"Deine Verbindung ist unverschlüsselt.","your_connection_is_encrypted":"Deine Verbindung ist verschlüsselt.","your_buddy_closed_the_private_connection":"Dein Kontakt hat die private Verbindung getrennt.","start_private":"Privat starten","close_private":"Privat abbrechen","your_buddy_is_verificated":"Dein Kontakt ist verifiziert.","you_have_only_a_subscription_in_one_way":"Der Kontaktstatus ist einseitig.","authentication_query_sent":"Authentifizierungsanfrage gesendet.","your_message_wasnt_send_please_end_your_private_conversation":"Deine Nachricht wurde nicht gesendet. Bitte beende die private Konversation.","unencrypted_message_received":"Unverschlüsselte Nachricht erhalten.","not_available":"Nicht verfügbar.","no_connection":"Keine Verbindung.","relogin":"Neu anmelden.","trying_to_start_private_conversation":"Versuche private Konversation zu starten.","Verified":"Verifiziert","Unverified":"Unverifiziert","private_conversation_aborted":"Private Konversation abgebrochen.","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Dein Kontakt hat die private Konversation beendet. Das solltest du auch tun!","conversation_is_now_verified":"Konversation ist jetzt verifiziert","authentication_failed":"Authentifizierung fehlgeschlagen.","Creating_your_private_key_":"Wir werden jetzt deinen privaten Schlüssel generieren. Das kann einige Zeit in Anspruch nehmen.","Authenticating_a_buddy_helps_":"Einen Kontakt zu authentifizieren hilft sicherzustellen, dass die Person mit der du sprichst auch die ist die sie sagt.","How_do_you_want_to_authenticate_your_buddy":"Wie willst du __bid_name__ (<b>__bid_jid__</b>) authentifizieren?","Select_method":"Wähle...","Manual":"Manual","Question":"Frage","Secret":"Geheimnis","To_verify_the_fingerprint_":"Um den Fingerprint zu verifizieren kontaktiere dein Kontakt über einen anderen Kommunikationsweg. Zum Beispiel per Telefonanruf.","Your_fingerprint":"Dein Fingerprint","Buddy_fingerprint":"Sein/Ihr Fingerprint","Close":"Schließen","Compared":"Verglichen","To_authenticate_using_a_question_":"Um die Authentifizierung per Frage durchzuführen, wähle eine Frage bei welcher nur dein Kontakt die Antwort kennt.","Ask":"Frage","To_authenticate_pick_a_secret_":"Um deinen Kontakt zu authentifizieren, wähle ein Geheimnis welches nur deinem Kontakt und dir bekannt ist.","Compare":"Vergleiche","Fingerprints":"Fingerprints","Authentication":"Authentifizierung","Message":"Nachricht","Add_buddy":"Kontakt hinzufügen","rename_buddy":"Kontakt umbenennen","delete_buddy":"Kontakt löschen","Login":"Anmeldung","Username":"Benutzername","Password":"Passwort","Cancel":"Abbrechen","Connect":"Verbinden","Type_in_the_full_username_":"Gib bitte den vollen Benutzernamen und optional ein Alias an.","Alias":"Alias","Add":"Hinzufügen","Subscription_request":"Kontaktanfrage","You_have_a_request_from":"Du hast eine Anfrage von","Deny":"Ablehnen","Approve":"Bestätigen","Remove_buddy":"Kontakt entfernen","You_are_about_to_remove_":"Du bist gerade dabei __bid_name__ (<b>__bid_jid__</b>) von deiner Kontaktliste zu entfernen. Alle Chats werden geschlossen.","Continue_without_chat":"Weiter ohne Chat","Please_wait":"Bitte warten","Login_failed":"Chat-Anmeldung fehlgeschlagen","Sorry_we_cant_authentikate_":"Der Chatserver hat die Anmeldung abgelehnt. Falsches Passwort?","Retry":"Zurück","clear_history":"Lösche Verlauf","New_message_from":"Neue Nachricht von __name__","Should_we_notify_you_":"Sollen wir dich in Zukunft über eingehende Nachrichten informieren, auch wenn dieser Tab nicht im Vordergrund ist?","Please_accept_":"Bitte klick auf den \"Zulassen\" Button oben.","Hide_offline":"Offline ausblenden","Show_offline":"Offline einblenden","About":"Über","dnd":"Beschäftigt","Mute":"Ton aus","Unmute":"Ton an","Subscription":"Bezug","both":"beidseitig","Status":"Status","online":"online","chat":"chat","away":"abwesend","xa":"länger abwesend","offline":"offline","none":"keine","Unknown_instance_tag":"Unbekannter instance tag.","Not_one_of_our_latest_keys":"Nicht einer unserer letzten Schlüssel.","Received_an_unreadable_encrypted_message":"Eine unlesbare verschlüsselte Nachricht erhalten.","Online":"Online","Chatty":"Gesprächig","Away":"Abwesend","Extended_away":"Länger abwesend","Offline":"Offline","Friendship_request":"Kontaktanfrage","Confirm":"Bestätigen","Dismiss":"Ablehnen","Remove":"Löschen","Online_help":"Online Hilfe","FN":"Name","N":" ","FAMILY":"Familienname","GIVEN":"Vorname","NICKNAME":"Spitzname","URL":"URL","ADR":"Adresse","STREET":"Straße","EXTADD":"Zusätzliche Adresse","LOCALITY":"Ortschaft","REGION":"Region","PCODE":"Postleitzahl","CTRY":"Land","TEL":"Telefon","NUMBER":"Nummer","EMAIL":"E-Mail","USERID":" ","ORG":"Organisation","ORGNAME":"Name","ORGUNIT":"Abteilung","TITLE":"Titel","ROLE":"Rolle","BDAY":"Geburtstag","DESC":"Beschreibung","PHOTO":" ","send_message":"Sende Nachricht","get_info":"Benutzerinformationen","Settings":"Einstellungen","Priority":"Priorität","Save":"Speichern","User_settings":"Benutzereinstellungen","A_fingerprint_":"Ein Fingerabdruck wird dazu benutzt deinen Gesprächspartner zu identifizieren.","is":"ist","Login_options":"Anmeldeoptionen","BOSH_url":"BOSH url","Domain":"Domain","Resource":"Ressource","On_login":"Beim Anmelden","Received_an_unencrypted_message":"Unverschlüsselte Nachricht empfangen","Sorry_your_buddy_doesnt_provide_any_information":"Dein Kontakt stellt leider keine Informationen bereit.","Info_about":"Info über","Authentication_aborted":"Authentifizierung abgebrochen.","Authentication_request_received":"Authentifizierungsanfrage empfangen.","Log_in_without_chat":"Anmelden ohne Chat","has_come_online":"ist online gekommen","Unknown_sender":"Unbekannter Sender","Please_allow_access_to_microphone_and_camera":"Bitte klick auf den \"Zulassen\" Button oben, um den Zugriff auf Kamera und Mikrofon zu erlauben.","Incoming_call":"Eingehender Anruf","from":"von","Do_you_want_to_accept_the_call_from":"Möchtest Du den Anruf annehmen von","Reject":"Ablehnen","Accept":"Annehmen","hang_up":"Auflegen","snapshot":"Schnappschuss","mute_my_audio":"Mein Ton aus","pause_my_video":"Mein Video pausieren","fullscreen":"Vollbild","Info":"Info","Local_IP":"Lokale IP","Remote_IP":"Remote IP","Local_Fingerprint":"Lokaler Fingerprint","Remote_Fingerprint":"Remote Fingerprint","Video_call_not_possible":"Videoanruf nicht verfügbar. Dein Gesprächspartner unterstützt keine Videotelefonie.","Start_video_call":"Starte Videoanruf","Join_chat":"Gruppe beitreten","Join":"Betreten","Room":"Gruppe","Nickname":"Nickname","left_the_building":"__nickname__ hat die Gruppe verlassen","entered_the_room":"__nickname__ ist der Gruppe beigetreten","is_now_known_as":"__oldNickname__ ist nun unter __newNickname__ bekannt","This_room_is":"Diese Gruppe ist","muc_hidden":{"keyword":"versteckt","description":"kann durch die Suche nicht gefunden werden"},"muc_membersonly":{"keyword":"nur für Mitglieder","description":"du musst auf der Mitgliederliste stehen"},"muc_moderated":{"keyword":"moderiert","description":"Nur Personen die \"Mitspracherecht\" haben dürfen Nachrichten senden"},"muc_nonanonymous":{"keyword":"nicht anonym","description":"deine Jabber ID wird für alle Mitglieder sichtbar sein"},"muc_open":{"keyword":"offen","description":"jeder darf dieser Gruppe beitreten"},"muc_passwordprotected":{"keyword":"passwortgeschützt","description":"du benötigst das korrekte Passwort"},"muc_persistent":{"keyword":"permanent","description":"wird nicht geschlossen, wenn das letzte Mitglied die Gruppe verlässt"},"muc_public":{"keyword":"öffentlich","description":"kann durch die Suche gefunden werden"},"muc_semianonymous":{"keyword":"teilweise anonym","description":"deine Jabber ID wird nur für die Gruppen Administratoren sichtbar sein"},"muc_temporary":{"keyword":"temporär","description":"wird geschlossen, wenn das letzte Mitglied die Gruppe verlässt"},"muc_unmoderated":{"keyword":"nicht moderiert","description":"jeder darf Nachrichten senden"},"muc_unsecured":{"keyword":"ungesichert","description":"es wird kein Passwort benötigt"},"Continue":"Weiter","Server":"Server","Rooms_are_loaded":"Gruppen werden geladen","Could_load_only":"Es konnten nur __count__ Gruppen für die Autovervollständigung geladen werden","muc_explanation":"Bitte trage den Gruppennamen und optional ein Nickname und Passwort ein um einer Gruppe beizutreten","You_already_joined_this_room":"Du bist dieser Gruppe bereits beigetreten","This_room_will_be_closed":"Diese Gruppe wird geschlossen","Room_not_found_":"Es wird eine neue Gruppe erstellt","Loading_room_information":"Informationen über Gruppe werden geladen","Destroy":"Auflösen","Leave":"Verlassen","changed_subject_to":"__nickname__ hat das Thema auf __subject__ geändert","muc_removed_kicked":"Du wurdest aus der Gruppe entfernt","muc_removed_info_kicked":"__nickname__ wurde aus der Gruppe entfernt","muc_removed_banned":"Du wurdest aus der Gruppe ausgeschlossen","muc_removed_info_banned":"__nickname__ wurde aus der Gruppe ausgeschlossen","muc_removed_affiliation":"Du wurdest aus der Gruppe entfernt wegen einer Änderung deines Mitgliedstatus","muc_removed_info_affiliation":"__nickname__ wurde aus der Gruppe entfernt wegen einer Änderung seines Mitgliedstatus","muc_removed_membersonly":"Diese Gruppe erlaubt jetzt nur noch eingetragene Mitglieder und da du nicht dazugehörst, wurdest du aus der Gruppen entfernt","muc_removed_info_membersonly":"Diese Gruppe erlaubt jetzt nur noch eingetragene Mitglieder und __nickname__ gehört nicht dazu, daher wurde er aus der Gruppe entfernt","muc_removed_shutdown":"Du wurdest aus der Gruppe entfernt, da der MUC Server heruntergefahren wird","Reason":"Grund","message_not_send":"Deine Nachricht wurde aufgrund eines Fehlers nicht versandt","message_not_send_item-not-found":"Deine Nachricht wurde nicht versandt, da der Raum nicht mehr existiert","message_not_send_forbidden":"Deine Nachricht wurde nicht versandt, da du kein \"Mitspracherecht\" hast","message_not_send_not-acceptable":"Deine Nachricht wurde nicht versandt, da du kein Mitglied dieser Gruppe bist","This_room_has_been_closed":"Diese Gruppe wurde geschlossen","Room_logging_is_enabled":"Gesprächsverlauf kann öffentlich einsehbar sein","A_password_is_required":"Es wird ein Passwort benötigt","You_are_not_on_the_member_list":"Du bist kein eingetragenes Mitglied","You_are_banned_from_this_room":"Du wurdest von dieser Gruppe ausgeschlossen","Your_desired_nickname_":"Dein gewünschter Nickname wird bereits verwendet. Bitte wähle einen anderen.","The_maximum_number_":"Die maximale Anzahl der Mitglieder wurde erreicht.","This_room_is_locked_":"Diese Gruppe ist gesperrt","You_are_not_allowed_to_create_":"Du darfst keine neue Gruppe erstellen","Alert":"Alarm","Call_started":"Anruf gestarted","Call_terminated":"Anruf beendet","Carbon_copy":"Kopie","Enable":"Aktivieren","jingle_reason_busy":"beschäftigt","jingle_reason_decline":"abgelehnt","jingle_reason_success":"aufgelegt","Media_failure":"Gerätefehler","No_local_audio_device":"Kein eigenes Audio Gerät","No_local_video_device":"Keine eigene Webcam","Ok":"Ok","PermissionDeniedError":"Du oder dein Browser haben die Audio/Video Berechtigung verweigert","Use_local_audio_device":"Nutze eigenes Audio Gerät","Use_local_video_device":"Benutze eigene Webcam","is_":"ist __status__","You_received_a_message_from_an_unknown_sender_":"Du hast eine Nachricht von einem unbekannten Sender erhalten (__sender__) Möchtest du sie sehen?","Your_roster_is_empty_add_":"Deine Kontaktliste ist leer, füge einen neuen Kontakt <a>hinzu</a>","onsmp_explanation_question":"Dein Kontakt versucht herauszufinden ob er wirklich mit dir redet. Um dich gegenüber deinem Kontakt zu verifizieren gib die Antwort ein und klick auf Antworten.","onsmp_explanation_secret":"Dein Kontakt versucht herauszufinden ob er wirklich mit dir redet. Um dich gegenüber deinem Kontakt zu verifizieren gib das Geheimnis ein.","from_sender":"von __sender__","Verified_private_conversation_started":"Verifizierte private Konversation gestartet.","Unverified_private_conversation_started":"Unverifizierte private Konversation gestartet.","Bookmark":"Lesezeichen","Auto-join":"Automatisch beitreten","Edit_bookmark":"Lesezeichen bearbeiten","Room_logging_is_disabled":"Gruppen Log ist deaktiviert","Room_is_now_non-anoymous":"Gruppe ist jetzt nicht anonym","Room_is_now_semi-anonymous":"Gruppe ist jetzt semi-anonym","Do_you_want_to_change_the_default_room_configuration":"Möchtest du die Gruppenkonfiguration ändern?","Default":"Standard","Change":"Ändern","Send_file":"Datei senden","setting-explanation-carbon":"Wenn Kopien aktiviert sind, werden alle eingehenden Nachrichten zu allen angemeldeten Clients gesendet.","setting-explanation-login":"Wenn diese Option aktiviert ist, wird der Chat beim anmelden automatisch gestartet.","setting-explanation-priority":"Wenn du mit deinem XMPP Konto mehrfach angemeldet bist, werden Nachrichten zu dem Client mit der höchsten Priorität zugestellt.","setting-explanation-xmpp":"Diese Optionen werden für die Verbindung zum XMPP server genutzt.","_is_composing":" tippt gerade...","_are_composing":" tippen gerade...","Chat_state_notifications":"Statusbenachrichtigungen","setting-explanation-chat-state":"Möchtest Benachrichtigungen senden und erhalten wenn du oder dein Kontakt Nachrichten tippt?","Share_screen":"Teile Bildschirm","Incoming_stream":"Eingehender Stream","Stream_started":"Stream gestarted","HTTPS_REQUIRED":"Diese Aktion erfordert eine verschlüsselte Verbindung.","EXTENSION_UNAVAILABLE":"Sie benötigen eine Browser Erweiterung.","UNKNOWN_ERROR":"Ein unbekannter Fehler ist aufgetreten.","Install_extension":"Bitte installieren Sie die Erweiterung um ihren Bildschirm zu teilen: ","Connection_accepted":"Verbindung angenommen","Stream_terminated":"Stream beendet","Close_all":"Schließe alle","Notification":null,"Unreadable_OTR_message":null}},"el":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"en":{"translation":{"Logging_in":"Logging in…","your_connection_is_unencrypted":"Your connection is unencrypted.","your_connection_is_encrypted":"Your connection is encrypted.","your_buddy_closed_the_private_connection":"Your contact closed the private connection.","start_private":"Start private","close_private":"Close private","your_buddy_is_verificated":"Your contact is verified.","you_have_only_a_subscription_in_one_way":"You only have a one-way subscription.","authentication_query_sent":"Authentication query sent.","your_message_wasnt_send_please_end_your_private_conversation":"Your message was not sent. Please end your private conversation.","unencrypted_message_received":"Unencrypted message received","not_available":"Not available","no_connection":"No connection!","relogin":"relogin","trying_to_start_private_conversation":"Trying to start private conversation!","Verified":"Verified","Unverified":"Unverified","private_conversation_aborted":"Private conversation aborted!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Your contact closed the private conversation! You should do the same.","conversation_is_now_verified":"Conversation is now verified.","authentication_failed":"Authentication failed.","Creating_your_private_key_":"Creating your private key; this may take a while.","Authenticating_a_buddy_helps_":"Authenticating a contact helps ensure that the person you are talking to is really the one they claim to be.","How_do_you_want_to_authenticate_your_buddy":"How do you want to authenticate __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Select method...","Manual":"Manual","Question":"Question","Secret":"Secret","To_verify_the_fingerprint_":"To verify the fingerprint, contact your contact via some other trustworthy channel, such as the telephone.","Your_fingerprint":"Your fingerprint","Buddy_fingerprint":"Contact fingerprint","Close":"Close","Compared":"Compared","To_authenticate_using_a_question_":"To authenticate using a question, pick a question whose answer is known only you and your contact.","Ask":"Ask","To_authenticate_pick_a_secret_":"To authenticate, pick a secret known only to you and your contact.","Compare":"Compare","Fingerprints":"Fingerprints","Authentication":"Authentication","Message":"Message","Add_buddy":"Add contact","rename_buddy":"rename contact","delete_buddy":"delete contact","Login":"Login","Username":"Username","Password":"Password","Cancel":"Cancel","Connect":"Connect","Type_in_the_full_username_":"Type in the full username and an optional alias.","Alias":"Alias","Add":"Add","Subscription_request":"Subscription request","You_have_a_request_from":"You have a request from","Deny":"Deny","Approve":"Approve","Remove_buddy":"Remove contact","You_are_about_to_remove_":"You are about to remove __bid_name__ (<b>__bid_jid__</b>) from your contact list. All related chats will be closed.","Continue_without_chat":"Continue without chat","Please_wait":"Please wait","Login_failed":"Chat login failed","Sorry_we_cant_authentikate_":"Authentication failed with the chat server. Maybe the password is wrong?","Retry":"Back","clear_history":"Clear history","New_message_from":"New message from __name__","Should_we_notify_you_":"Should we notify you about new messages in the future?","Please_accept_":"Please click the \"Allow\" button at the top.","Hide_offline":"Hide offline contacts","Show_offline":"Show offline contacts","About":"About","dnd":"Do Not Disturb","Mute":"Mute","Unmute":"Unmute","Subscription":"Subscription","both":"both","Status":"Status","online":"online","chat":"chat","away":"away","xa":"extended away","offline":"offline","none":"none","Unknown_instance_tag":"Unknown instance tag.","Not_one_of_our_latest_keys":"Not one of our latest keys.","Received_an_unreadable_encrypted_message":"Received an unreadable encrypted message.","Online":"Online","Chatty":"Chatty","Away":"Away","Extended_away":"Extended away","Offline":"Offline","Friendship_request":"Contact request","Confirm":"Confirm","Dismiss":"Dismiss","Remove":"Remove","Online_help":"Online help","FN":"Full name","N":" ","FAMILY":"Family name","GIVEN":"Given name","NICKNAME":"Nickname","URL":"URL","ADR":"Address","STREET":"Street Address","EXTADD":"Extended Address","LOCALITY":"Locality","REGION":"Region","PCODE":"Postal Code","CTRY":"Country","TEL":"Telephone","NUMBER":"Number","EMAIL":"Email","USERID":" ","ORG":"Organization","ORGNAME":"Name","ORGUNIT":"Unit","TITLE":"Job title","ROLE":"Role","BDAY":"Birthday","DESC":"Description","PHOTO":" ","send_message":"Send message","get_info":"Show information","Settings":"Settings","Priority":"Priority","Save":"Save","User_settings":"User settings","A_fingerprint_":"A fingerprint is used to make sure that the person you are talking to is who he or she is saying.","is":"is","Login_options":"Login options","BOSH_url":"BOSH URL","Domain":"Domain","Resource":"Resource","On_login":"On login","Received_an_unencrypted_message":"Received an unencrypted message","Sorry_your_buddy_doesnt_provide_any_information":"Sorry, your contact does not provide any information.","Info_about":"Info about","Authentication_aborted":"Authentication aborted.","Authentication_request_received":"Authentication request received.","Log_in_without_chat":"Log in without chat","has_come_online":"has come online","Unknown_sender":"Unknown sender","Please_allow_access_to_microphone_and_camera":"Please click the \"Allow\" button at the top, to allow access to microphone and camera.","Incoming_call":"Incoming call","from":"from","Do_you_want_to_accept_the_call_from":"Do you want to accept the call from","Reject":"Reject","Accept":"Accept","hang_up":"hang up","snapshot":"snapshot","mute_my_audio":"mute my audio","pause_my_video":"pause my video","fullscreen":"fullscreen","Info":"Info","Local_IP":"Local IP","Remote_IP":"Remote IP","Local_Fingerprint":"Local fingerprint","Remote_Fingerprint":"Remote fingerprint","Video_call_not_possible":"Video call not possible. Your contact does not support video calls.","Start_video_call":"Start video call","Join_chat":"Join chat","Join":"Join","Room":"Room","Nickname":"Nickname","left_the_building":"__nickname__ left the building","entered_the_room":"__nickname__ entered the room","is_now_known_as":"__oldNickname__ is now known as __newNickname__","This_room_is":"This room is","muc_hidden":{"keyword":"hidden","description":"can not be found through search"},"muc_membersonly":{"keyword":"members-only","description":"you need to be on the member list"},"muc_moderated":{"keyword":"moderated","description":"only persons with \"voice\" are allowed to send messages"},"muc_nonanonymous":{"keyword":"non-anonymous","description":"your jabber id is exposed to all other occupants"},"muc_open":{"keyword":"open","description":"everyone is allowed to join"},"muc_passwordprotected":{"keyword":"password-protected","description":"you need to provide the correct password"},"muc_persistent":{"keyword":"persistent","description":"will not be destroyed if the last occupant left"},"muc_public":{"keyword":"public","description":"can be found through search"},"muc_semianonymous":{"keyword":"semi-anonymous","description":"your jabber id is only exposed to room admins"},"muc_temporary":{"keyword":"temporary","description":"will be destroyed if the last occupant left"},"muc_unmoderated":{"keyword":"unmoderated","description":"everyone is allowed to send messages"},"muc_unsecured":{"keyword":"unsecured","description":"you need no password to enter"},"Continue":"Continue","Server":"Server","Rooms_are_loaded":"Rooms are loaded","Could_load_only":"Could load only __count__ rooms for autocomplete","muc_explanation":"Please enter room name and optional a nickname and password to join a chat","You_already_joined_this_room":"You already joined this room","This_room_will_be_closed":"This room will be closed","Room_not_found_":"A new room will be created","Loading_room_information":"Loading room information","Destroy":"Destroy","Leave":"Leave","changed_subject_to":"__nickname__ changed the room subject to \"__subject__\"","muc_removed_kicked":"You have been kicked from the room","muc_removed_info_kicked":"__nickname__ has been kicked from the room","muc_removed_banned":"You have been banned from the room","muc_removed_info_banned":"__nickname__ has been banned from the room","muc_removed_affiliation":"You have been removed from the room, because of an affiliation change","muc_removed_info_affiliation":"__nickname__ has been removed from the room, because of an affiliation change","muc_removed_membersonly":"You have been removed from the room, because the room has been changed to members-only and you are no member","muc_removed_info_membersonly":"__nickname__ has been removed from the room, because the room has been changed to members-only and you are no member","muc_removed_shutdown":"You have been removed from the room, because the MUC service is being shut down","Reason":"Reason","message_not_send":"Your message was not send because of an error","message_not_send_item-not-found":"Your message was not send because this room does not exist","message_not_send_forbidden":"Your message was not send because you have no voice in this room","message_not_send_not-acceptable":"Your message was not send because you are no occupant of this room","This_room_has_been_closed":"This room has been closed","Room_logging_is_enabled":"Room logging is enabled","A_password_is_required":"A password is required","You_are_not_on_the_member_list":"You are not on the member list","You_are_banned_from_this_room":"You are banned from this room","Your_desired_nickname_":"Your desired nickname is already in use. Please choose another","The_maximum_number_":"The maximum number of user is reached in this room","This_room_is_locked_":"This room is locked","You_are_not_allowed_to_create_":"You are not allowed to create a room","Alert":"Alert","Call_started":"Call started","Call_terminated":"Call terminated","Carbon_copy":"Carbon copy","Enable":"Enable","jingle_reason_busy":"busy","jingle_reason_decline":"decline","jingle_reason_success":"hung up","Media_failure":"Media failure","No_local_audio_device":"No local audio device.","No_local_video_device":"No local video device.","Ok":"Ok","PermissionDeniedError":"You or your browser denied media permission","Use_local_audio_device":"Use local audio device.","Use_local_video_device":"Use local video device.","is_":"is __status__","You_received_a_message_from_an_unknown_sender_":"You received a message from an unknown sender (__sender__) Do you want to display them?","Your_roster_is_empty_add_":"Your roster is empty, add a <a>new contact</a>","onsmp_explanation_question":"You contact is attempting to determine if they are really talking to you. To authenticate to your contact, enter the answer and click Answer.","onsmp_explanation_secret":"You contact is attempting to determine if they are really talking to you. To authenticate to your contact, enter the secret.","from_sender":"from __sender__","Verified_private_conversation_started":"Verified Private conversation started.","Unverified_private_conversation_started":"Unverified Private conversation started.","Bookmark":"Bookmark","Auto-join":"Auto-join","Edit_bookmark":"Edit bookmark","Room_logging_is_disabled":"Room logging is disabled","Room_is_now_non-anoymous":"Room is now non-anonymous","Room_is_now_semi-anonymous":"Room is now semi-anonymous","Do_you_want_to_change_the_default_room_configuration":"Do you want to change the default room configuration?","Default":"Default","Change":"Change","Send_file":"Send file","setting-explanation-carbon":"With enabled carbon copy your XMPP server will send a copy of every incoming message for you to this client even if it was not addressed to it.","setting-explanation-login":"If this option is enabled, the chat will start on login.","setting-explanation-priority":"If you are logged in multiple times with the same account, your XMPP server will deliver messages to the client with the highest priority.","setting-explanation-xmpp":"These options are used to connect to the XMPP server.","_is_composing":" is composing...","_are_composing":" are composing...","Chat_state_notifications":"Chat state notifications","setting-explanation-chat-state":"Do you want to send and receive chat state notifications, like someone starts or stops composing a message?","Share_screen":"Share screen","Incoming_stream":"Incoming stream","Stream_started":"Stream started","HTTPS_REQUIRED":"This action requires an encrypted connection.","EXTENSION_UNAVAILABLE":"You need a browser extension/addon.","UNKNOWN_ERROR":"An unknown error occured.","Install_extension":"Please install the extension in order to use screen sharing: ","Connection_accepted":"Connection accepted","Stream_terminated":"Stream terminated","Close_all":"Close all","Notification":"Notification","Unreadable_OTR_message":"Unreadable OTR message omitted"}},"es":{"translation":{"Logging_in":"Por favor, espere...","your_connection_is_unencrypted":"Su conexión no está cifrada.","your_connection_is_encrypted":"Su conexión está cifrada.","your_buddy_closed_the_private_connection":"Su amigo ha cerrado la conexión privada.","start_private":"Iniciar privado","close_private":"Cerrar privado","your_buddy_is_verificated":"Tu amigo está verificado.","you_have_only_a_subscription_in_one_way":"Solo tienes una suscripción de un modo.","authentication_query_sent":"Consulta de verificación enviada.","your_message_wasnt_send_please_end_your_private_conversation":"Su mensaje no fue enviado. Por favor, termine su conversación privada.","unencrypted_message_received":"Mensaje no cifrado recibido:","not_available":"No disponible","no_connection":"¡Sin conexión!","relogin":"iniciar sesión nuevamente","trying_to_start_private_conversation":"¡Intentando iniciar una conversación privada!","Verified":"Verificado","Unverified":"No verificado","private_conversation_aborted":"¡Conversación privada abortada!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"¡Su amigo cerró la conversación privada! Usted debería hacer lo mismo.","conversation_is_now_verified":"La conversación es ahora verificada.","authentication_failed":"Falló la verificación.","Creating_your_private_key_":"Ahora vamos a crear su clave privada. Esto puede tomar algún tiempo.","Authenticating_a_buddy_helps_":"Autenticación de un amigo ayuda a garantizar que la persona que está hablando es quien él o ella está diciendo.","How_do_you_want_to_authenticate_your_buddy":"¿Cómo desea autenticar __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Escoja un método...","Manual":"Manual","Question":"Pregunta","Secret":"Secreto","To_verify_the_fingerprint_":"Para verificar la firma digital, póngase en contacto con su amigo a través de algún otro canal autenticado, como el teléfono.","Your_fingerprint":"Tu firma digital","Buddy_fingerprint":"firma digital de tu amigo","Close":"Cerrar","Compared":"Comparado","To_authenticate_using_a_question_":"Para autenticar mediante una pregunta, elegid una pregunta cuya respuesta se conoce solo usted y su amigo.","Ask":"Preguntar","To_authenticate_pick_a_secret_":"Para autenticar, elija un secreto conocido solo por usted y su amigo.","Compare":"Comparar","Fingerprints":"Firmas digitales","Authentication":"Autenticación","Message":"Mensaje","Add_buddy":"Añadir amigo","rename_buddy":"renombrar amigo","delete_buddy":"eliminar amigo","Login":"Iniciar Sesión","Username":"Usuario","Password":"Contraseña","Cancel":"Cancelar","Connect":"Conectar","Type_in_the_full_username_":"Escriba el usuario completo y un alias opcional.","Alias":"Alias","Add":"Añadir","Subscription_request":"Solicitud de suscripción","You_have_a_request_from":"Tienes una petición de","Deny":"Rechazar","Approve":"Aprobar","Remove_buddy":"Eliminar amigo","You_are_about_to_remove_":"Vas a eliminar a __bid_name__ (<b>__bid_jid__</b>) de tu lista de amigos. Todas las conversaciones relacionadas serán cerradas.","Continue_without_chat":"Continuar","Please_wait":"Espere por favor","Login_failed":"Fallo el inicio de sesión","Sorry_we_cant_authentikate_":"Lo sentimos, no podemos autentificarlo en nuestro servidor de chat. ¿Tal vez la contraseña es incorrecta?","Retry":"Reintentar","clear_history":"Borrar el historial","New_message_from":"Nuevo mensaje de __name__","Should_we_notify_you_":"¿Debemos notificarle sobre nuevos mensajes en el futuro?","Please_accept_":"Por favor, haga clic en el botón \"Permitir\" en la parte superior.","Hide_offline":"Ocultar contactos desconectados","Show_offline":"Mostrar contactos desconectados","About":"Acerca de","dnd":"No Molestar","Mute":"Desactivar sonido","Unmute":"Activar sonido","Subscription":"Suscripción","both":"ambos","Status":"Estado","online":"en línea","chat":"chat","away":"ausente","xa":"más ausente","offline":"desconectado","none":"nadie","Unknown_instance_tag":"Etiqueta de instancia desconocida.","Not_one_of_our_latest_keys":"No una de nuestras última claves.","Received_an_unreadable_encrypted_message":"Se recibió un mensaje cifrado ilegible.","Online":"En linea","Chatty":"Hablador","Away":"Ausente","Extended_away":"Más ausente","Offline":"Desconectado","Friendship_request":"Solicitud de amistad","Confirm":"Confirmar","Dismiss":"Rechazar","Remove":"Eliminar","Online_help":"Ayuda en línea","FN":"Nombre completo ","N":" ","FAMILY":"Apellido","GIVEN":"Nombre","NICKNAME":"Apodo","URL":"URL","ADR":"Dirección","STREET":"Calle","EXTADD":"Dirección extendida","LOCALITY":"Población","REGION":"Región","PCODE":"Código postal","CTRY":"País","TEL":"Teléfono","NUMBER":"Número","EMAIL":"Correo electrónico","USERID":" ","ORG":"Organización","ORGNAME":"Nombre","ORGUNIT":"Departamento","TITLE":"Título","ROLE":"Rol","BDAY":"Cumpleaños","DESC":"Descripción","PHOTO":" ","send_message":"mandar un texto","get_info":"obtener información","Settings":"Ajustes","Priority":"Prioridad","Save":"Guardar","User_settings":"Configuración de usuario","A_fingerprint_":"La huella digital se utiliza para que puedas estar seguro que la persona con la que estas hablando es quien realmente dice ser","is":"es","Login_options":"Opciones de login","BOSH_url":"BOSH url","Domain":"Dominio","Resource":"Recurso","On_login":"Iniciar sesión","Received_an_unencrypted_message":"Recibe un mensaje no cifrado","Sorry_your_buddy_doesnt_provide_any_information":"Lo sentimos, su amigo no provee ninguna información.","Info_about":"Info acerca de","Authentication_aborted":"Autenticación abortada","Authentication_request_received":"Pedido de autenticación recibido.","Log_in_without_chat":"Ingresar sin chat","has_come_online":"se ha conectado","Unknown_sender":"Remitente desconocido","Please_allow_access_to_microphone_and_camera":"Por favor, permitir el acceso al micrófono y la cámara.","Incoming_call":"Llamada entrante","from":"de","Do_you_want_to_accept_the_call_from":"Desea aceptar la llamada de","Reject":"Rechazar","Accept":"Aceptar","hang_up":"colgar","snapshot":"instantánea","mute_my_audio":"silenciar mi audio","pause_my_video":"pausar mi vídeo","fullscreen":"pantalla completa","Info":"Info","Local_IP":"IP local","Remote_IP":"IP remota","Local_Fingerprint":"Firma digital local","Remote_Fingerprint":"Firma digital remota","Video_call_not_possible":"Llamada de vídeo no es posible","Start_video_call":"Iniciar llamada de vídeo","Join_chat":"Unirse al chat","Join":"Unirse","Room":"Sala","Nickname":"Alias","left_the_building":"__nickname__ dejó el edificio","entered_the_room":"__nickname__ entró en la sala","is_now_known_as":"__oldNickname__ ahora es conocido como __newNickname__","This_room_is":"Esta sala es","muc_hidden":{"keyword":"oculta","description":"no se encontró mediante la búsqueda"},"muc_membersonly":{"keyword":"miembros solo","description":"necesitas estar en la lista de miembros"},"muc_moderated":{"keyword":"moderada","description":"solo personas con \"voice\" están permitidas para mandar mensajes"},"muc_nonanonymous":{"keyword":"no anónima","description":"tu id de jabber es expuesta al resto de ocupantes"},"muc_open":{"keyword":"abierta","description":"todo el mundo puede unirse"},"muc_passwordprotected":{"keyword":"protegida por contraseña","description":"necesitas dar la contraseña correcta"},"muc_persistent":{"keyword":"persistente","description":"no será destruida si el último ocupante sale"},"muc_public":{"keyword":"pública","description":"puede ser encontrada mediante la búsqueda"},"muc_semianonymous":{"keyword":"semi-anónima","description":"tu id de jabber es expuesta a los administradores de la sala"},"muc_temporary":{"keyword":"temporal","description":"será destruida si el último ocupante sale"},"muc_unmoderated":{"keyword":"no moderada","description":"todo el mundo puede enviar mensajes"},"muc_unsecured":{"keyword":"sin asegurar","description":"no necesitas contraseña para entrar"},"Continue":"Continuar","Server":"Servidor","Rooms_are_loaded":"Las salas han sido cargadas","Could_load_only":"Se cargaron solo __count__ salas para el autocompletado","muc_explanation":"Por favor introduce el nombre de la sala, un alias opcional y una contraseña para unirse al chat","You_already_joined_this_room":"Ya te has unido a esta sala","This_room_will_be_closed":"Esta sale será cerrada","Room_not_found_":"Sala no encontrada","Loading_room_information":"Cargando información de la sala","Destroy":"Destruir","Leave":"Abandonar","changed_subject_to":"__nickname__ cambió el asunto de la sala a \"__subject__\"","muc_removed_kicked":"Has sido echado de la sala","muc_removed_info_kicked":"__nickname__ ha sido echado de la sala","muc_removed_banned":"Has sido expulsado de la sala","muc_removed_info_banned":"__nickname__ ha sido expulsado","muc_removed_affiliation":"Has sido eliminado de la sala debido a un cambio en la afiliación","muc_removed_info_affiliation":"__nickname__ ha sido eliminado de la sala debido a un cambio en la afiliación","muc_removed_membersonly":"Has sido eliminado de la sala debido a que la sala ha sido cambiada a miembros solo y tú no eres un miembro","muc_removed_info_membersonly":"__nickname__ ha sido eliminado de la sala debido a que la sala ha sido cambiada a miembros solo y tú no eres un miembro","muc_removed_shutdown":"Has sido eliminado de la sala debido a que el servicio MUC está siendo apagado","Reason":"Razón","message_not_send":"Tu mensaje no fue enviado debido a un error","message_not_send_item-not-found":"Tu mensaje no fue enviado debido a que esta sala no existe","message_not_send_forbidden":"Tu mensaje no fue enviado debido a que no tienes voz en esta sala","message_not_send_not-acceptable":"Tu mensaje no fue enviado debido a que no eres un ocupante de esta sala ","This_room_has_been_closed":"Esta sala ha sido cerrada","Room_logging_is_enabled":"Log de sala está habilitado","A_password_is_required":"Se requiere una contraseña","You_are_not_on_the_member_list":"No estás en la lista de miembros","You_are_banned_from_this_room":"Estás expulsado de esta sala","Your_desired_nickname_":"Tu alias ya está en uso. Por favor elige otro","The_maximum_number_":"El máximo número de usuarios ha sido alcanzado en esta sala","This_room_is_locked_":"Esta sala está bloqueada","You_are_not_allowed_to_create_":"No tienes permiso para crear una sala","Alert":"Alerta","Call_started":"Llamada empezada","Call_terminated":"Llamada terminada","Carbon_copy":"Calco","Enable":"Activar","jingle_reason_busy":"ocupado","jingle_reason_decline":"rechazar","jingle_reason_success":"colgar","Media_failure":"Fallo multimedia","No_local_audio_device":"No hay dispositivo de audio local","No_local_video_device":"No hay dispositivo de vídeo local","Ok":"Ok","PermissionDeniedError":"Tú o tu navegador denegaron el permiso de audio/vídeo","Use_local_audio_device":"Usar dispositivo de audio local","Use_local_video_device":"Usar dispositivo de vídeo","is_":"es __status__","You_received_a_message_from_an_unknown_sender_":"Ha recibido un mensaje de un remitente desconocido (__sender__) ¿Quiere mostrarlos?","Your_roster_is_empty_add_":"Tu lista de amigos esta vacía, añadir un <a>nuevo amigo</a>","onsmp_explanation_question":"Tu amigo está tratando de determinar si él o ella está realmente hablando con usted. Para autenticar a su amigo, introduce la respuesta y haga clic en Contestar.","onsmp_explanation_secret":"Tu amigo está tratando de determinar si él o ella está realmente hablando con usted. Para autenticar a su amigo, especifique el secreto.","from_sender":"de __sender__","Verified_private_conversation_started":"Verificado se inició una conversación privada.","Unverified_private_conversation_started":"No verificado se inició una conversación privada.","Bookmark":"Favorito","Auto-join":"Auto-unir","Edit_bookmark":"Editar favorito","Room_logging_is_disabled":"Log de sala está deshabilitado","Room_is_now_non-anoymous":"La sala es ahora no anónima","Room_is_now_semi-anonymous":"La sale es ahora semi-anónima","Do_you_want_to_change_the_default_room_configuration":"¿Quieres cambiar la configuración por defecto de la sala?","Default":"Por defecto","Change":"Cambiar","Send_file":"Enviar archivo","setting-explanation-carbon":"Con el Calco habilitado tu servidor XMPP enviará una copia de cada mensaje entrante dirigido a ti a este cliente incluso si no estaba siendo enviado a él","setting-explanation-login":"Si esta opción está habilitada, el chat empezará al inicio de sesión","setting-explanation-priority":"Si tú has iniciado sesión varias veces con la misma cuenta, tu servidor XMPP enviará los mensajes al cliente con la mayor prioridad","setting-explanation-xmpp":"Estas opciones son usadas para conectar con el servidor XMPP","_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"fi":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"fr":{"translation":{"Logging_in":"Connexion...","your_connection_is_unencrypted":"Connexion non chiffrée.","your_connection_is_encrypted":"Connexion chiffrée.","your_buddy_closed_the_private_connection":"Votre contact a fermé la connexion privée.","start_private":"Démarrer une conversation privée","close_private":"Clôturer une conversation privée","your_buddy_is_verificated":"Votre contact est vérifié.","you_have_only_a_subscription_in_one_way":"Vous ne pouvez souscrire qu'une fois.","authentication_query_sent":"Requête d’authentification envoyée.","your_message_wasnt_send_please_end_your_private_conversation":"Votre message n'a pas été envoyé. Veuillez terminer votre conversation privée.","unencrypted_message_received":"Message non chiffré reçu","not_available":"Non disponible","no_connection":"Pas de connexion !","relogin":"Re-connexion","trying_to_start_private_conversation":"Essai de démarrage d'une conversation privée !","Verified":"Vérifié","Unverified":"Non vérifié","private_conversation_aborted":"Conversation privée interrompue !","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Votre contact a fermé la conversation privée ! Vous devriez faire de même.","conversation_is_now_verified":"La conversation est maintenant vérifiée.","authentication_failed":"L'authentification a échoué.","Creating_your_private_key_":"Création de votre clé privée; cela peut prendre un moment.","Authenticating_a_buddy_helps_":"L'authentification d'un contact permet de s'assurer que la personne à qui vous parlez est vraiment celui qu'il ou elle prétend être.","How_do_you_want_to_authenticate_your_buddy":"Comment voulez-vous vous authentifier __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Sélection de la méthode...","Manual":"Manuel","Question":"Question","Secret":"Sécurité","To_verify_the_fingerprint_":"Pour vérifier l'empreinte, joignez votre contact via un autre canal digne de confiance, tel que le téléphone.","Your_fingerprint":"Votre empreinte","Buddy_fingerprint":"Empreinte du contact","Close":"Fermer","Compared":"Comparé","To_authenticate_using_a_question_":"Pour s'authentifier à l'aide d'une question, choisissez une question dont la réponse n'est connue que vous et de votre contact.","Ask":"Demander","To_authenticate_pick_a_secret_":"Pour vous authentifier, choisissez un secret connu seulement de vous et de votre contact.","Compare":"Comparer","Fingerprints":"Empreintes","Authentication":"Authentification","Message":"Message","Add_buddy":"Ajouter un contact","rename_buddy":"Renommer le contact","delete_buddy":"Supprimer le contact","Login":"Connexion","Username":"Nom d'utilisateur","Password":"Mot de passe","Cancel":"Annuler","Connect":"Connecter","Type_in_the_full_username_":"Tapez un nom d'utilisateur complet et un alias(optionnel).","Alias":"Alias","Add":"Ajouter","Subscription_request":"Demande d'abonnement","You_have_a_request_from":"Vous avez une requête de ","Deny":"Refuser","Approve":"Approuver","Remove_buddy":"Supprimer le contact","You_are_about_to_remove_":"Vous allez retirer __bid_name__ (<b>__bid_jid__</b>) de votre liste de contacts. Toutes les fenêtres de discussion en lien avec celui-ci seront fermées.","Continue_without_chat":"Continuer sans tchat","Please_wait":"Merci de patienter","Login_failed":"Authentification échouée","Sorry_we_cant_authentikate_":"La connexion avec le serveur de tchat a échoué. Vérifiez le mot de passe.","Retry":"Retour","clear_history":"Effacer l’historique","New_message_from":"Nouveau message de __name__","Should_we_notify_you_":"Dans le futur, devrons-nous vous notifier les nouveaux messages ?","Please_accept_":"Merci de cliquer sur le bouton \"autoriser\" en haut de page","Hide_offline":"Masquer les contacts non connectés","Show_offline":"Afficher les contacts non connectés","About":"À propos","dnd":"Ne pas déranger","Mute":"Muet","Unmute":"Son actif","Subscription":"Abonnement","both":"Les deux","Status":"Statut","online":"En ligne","chat":"tchat","away":"Absent","xa":"Longue absence","offline":"Hors ligne","none":"Aucun","Unknown_instance_tag":"Tag inconnu","Not_one_of_our_latest_keys":"Ce n'est pas l'une des dernières touches","Received_an_unreadable_encrypted_message":"Message chiffré non lisible","Online":"En ligne","Chatty":"Libre pour discuter","Away":"Absent","Extended_away":"Longue absence","Offline":"Hors ligne","Friendship_request":"Demande de contact","Confirm":"Valider","Dismiss":"Rejeter","Remove":"Supprimer","Online_help":"Aide en ligne","FN":"Nom","N":" N ","FAMILY":"Nom de famille","GIVEN":"prénom","NICKNAME":"Pseudo","URL":"URL","ADR":"Adresse","STREET":"Rue","EXTADD":"Adresse (suite)","LOCALITY":"Localité","REGION":"Région","PCODE":"Code Postal","CTRY":"Pays","TEL":"Téléphone","NUMBER":"Numéro","EMAIL":"Courriel","USERID":" USERID ","ORG":"Organisation","ORGNAME":"Nom","ORGUNIT":"Unité","TITLE":"Qualité:","ROLE":"Rôle","BDAY":"Date de naissance","DESC":"Description","PHOTO":"Photo","send_message":"Envoyer un message","get_info":"Montrer les informations","Settings":"Réglages","Priority":"Priorité","Save":"Enregistrer","User_settings":"Paramètres utilisateur","A_fingerprint_":"Une empreinte est utilisée pour s'assurer de l'identité de la personne à qui vous parlez","is":"est","Login_options":"Options d'identification","BOSH_url":"URL BOSH","Domain":"Domaine","Resource":"Ressource","On_login":"Après authentification","Received_an_unencrypted_message":"Reçu un message non chiffré","Sorry_your_buddy_doesnt_provide_any_information":"Désolé, votre contact n'a pas fourni d'informations","Info_about":"À propos de","Authentication_aborted":"Authentification interrompue.","Authentication_request_received":"Requête d'authentification reçue.","Log_in_without_chat":"S'identifier sans tchat","has_come_online":"vient d'arriver","Unknown_sender":"Expéditeur inconnu","Please_allow_access_to_microphone_and_camera":"Veuillez cliquez sur le bouton \"Autoriser\" en haut, pour permettre l'accès au micro et à la caméra.","Incoming_call":"Appel entrant","from":"de","Do_you_want_to_accept_the_call_from":"Voulez-vous accepter l'appel de","Reject":"Rejeté","Accept":"Accepté","hang_up":"raccrocher","snapshot":"Capture d’écran","mute_my_audio":"Couper l'audio","pause_my_video":"Mettre ma vidéo en pause","fullscreen":"Plein écran","Info":"Info","Local_IP":"IP locale","Remote_IP":"IP distante","Local_Fingerprint":"Empreinte locale","Remote_Fingerprint":"Empreinte distante","Video_call_not_possible":"L'appel vidéo n'est possible. Votre contact ne supporte pas les appels vidéo.","Start_video_call":"Démarrer l'appel vidéo","Join_chat":"Joindre la discussion","Join":"Joindre","Room":"Salon","Nickname":"Pseudo","left_the_building":"__nickname__ a quitté l'immeuble","entered_the_room":"__nickname__ entre dans le salon","is_now_known_as":"__oldNickname__ est maintenant connu comme __newNickname__","This_room_is":"Ce salon est","muc_hidden":{"keyword":"caché","description":"ne peut être trouvé avec une recherche"},"muc_membersonly":{"keyword":"pour les membres seulement","description":"Vous devez être sur la liste des membres"},"muc_moderated":{"keyword":"modéré","description":"Seulement les personnes avec la \"voix\" sont autorisés à envoyer des messages"},"muc_nonanonymous":{"keyword":"non anonyme","description":"Votre identifiant Jabber est visible de tous les autres occupants"},"muc_open":{"keyword":"ouvert","description":"Tout le monde est autorisé à se connecter"},"muc_passwordprotected":{"keyword":"protégé par un mot de passe","description":"Vous devez fournir un mot de passe correct"},"muc_persistent":{"keyword":"persistent","description":"ne sera pas détruit si le dernier occupant part"},"muc_public":{"keyword":"public","description":"peut être touvé avec une recherche"},"muc_semianonymous":{"keyword":"semi-anonyme","description":"Votre identifiant Jabber est seulement visible aux administrateurs de ce salon"},"muc_temporary":{"keyword":"temporaire","description":"sera détruit au départ de son dernier occupant"},"muc_unmoderated":{"keyword":"non modéré","description":"Tout le monde est autorisé à envoyer des messages"},"muc_unsecured":{"keyword":"non sécurisé","description":"un mot de passe n'est pas nécessaire pour entrer"},"Continue":"Continuer","Server":"Serveur","Rooms_are_loaded":"Les salons sont chargés","Could_load_only":"Ne peut charger que __count__ salons pour l'autocomplétion","muc_explanation":"Veuillez saisir le nom du salon, un surnom (optionnel) et un mot de passe pour joindre la conversation","You_already_joined_this_room":"Vous avez déjà rejoint ce salon","This_room_will_be_closed":"Ce salon va être fermé","Room_not_found_":"Un nouveau salon va être créé","Loading_room_information":"Chargement des informations du salon","Destroy":"Détruire","Leave":"Quitter","changed_subject_to":"__nickname__ a changé le sujet du salon à \"__subject__\"","muc_removed_kicked":"Vous avez été éjecté de ce salon","muc_removed_info_kicked":"__nickname__ a été éjecté de ce salon","muc_removed_banned":"Vous avez été banni de ce salon","muc_removed_info_banned":"__nickname__ a été banni de ce salon","muc_removed_affiliation":"Vous avez été retiré du salon en raison d'un changement d'affiliation","muc_removed_info_affiliation":"__nickname__ a été retiré du salon en raison d'un changement d'affiliation","muc_removed_membersonly":"Vous avez été retiré du salon parce que celui-ci est maintenant réservé aux membres et vous n'en faites pas partie","muc_removed_info_membersonly":"__nickname__ a été retiré du salon parce que celui-ci est maintenant réservé aux membres","muc_removed_shutdown":"Vous avez été retiré du salon parce que le service de salon de discussion est en train de s'éteindre","Reason":"Raison","message_not_send":"Votre message n'a pu être envoyé a cause d'une erreur","message_not_send_item-not-found":"Votre message n'a pu être envoyé parce que ce salon n'existe pas","message_not_send_forbidden":"Votre message n'a pas été envoyé parce que vous n'avez pas le droit de parler dans ce salon","message_not_send_not-acceptable":"Votre message n'a pas été envoyé car il n'y a personne dans ce salon","This_room_has_been_closed":"Ce salon a été fermé","Room_logging_is_enabled":"L'historique du salon est conservé","A_password_is_required":"Un mot de passe est requis","You_are_not_on_the_member_list":"Vous n'êtes pas sur la liste des membres","You_are_banned_from_this_room":"Vous avez été banni de ce salon","Your_desired_nickname_":"Votre pseudo souhaité est déjà utilisé. Veuillez en choisir un autre","The_maximum_number_":"Le nombre maximum d'utilisateurs est atteint dans ce salon","This_room_is_locked_":"Ce salon est verrouillé","You_are_not_allowed_to_create_":"Vous n'êtes pas autorisé à créer un salon","Alert":"Alerte","Call_started":"Appel démarré","Call_terminated":"Appel terminé","Carbon_copy":"Copie carbone","Enable":"Activé","jingle_reason_busy":"occupé","jingle_reason_decline":"refusé","jingle_reason_success":"raccroché","Media_failure":"échec du média","No_local_audio_device":"Pas de périphérique audio local","No_local_video_device":"Pas de périphérique vidéo local","Ok":"Ok","PermissionDeniedError":"Vous ou votre navigateur avez refusé de donner des permissions audio/vidéo","Use_local_audio_device":"Utiliser un périphérique audio local.","Use_local_video_device":"Utiliser un périphérique vidéo local.","is_":"est __status__","You_received_a_message_from_an_unknown_sender_":"Vous avez reçu un message d'un expéditeur inconnu (__sender__) Voulez-vous les afficher ?","Your_roster_is_empty_add_":"Votre liste est vide, ajouter <a>Nouveau contact</a>","onsmp_explanation_question":"Votre contact tente de déterminer si il ou elle parle vraiment à vous. Pour vous authentifier auprès de votre contact, saisissez une réponse et cliquez sur Répondre.","onsmp_explanation_secret":"Votre contact tente de déterminer si il ou elle parle vraiment à vous. Pour vous authentifier auprès de votre contact, entrez le mot secret","from_sender":"de __sender__","Verified_private_conversation_started":"La conversation privée vérifiée a démarré.","Unverified_private_conversation_started":"La conversation privée non vérifiée a démarré.","Bookmark":"Marque-page","Auto-join":"Joindre automatiquement","Edit_bookmark":"Éditer le marque-page","Room_logging_is_disabled":"La connexion au salon est désactivée","Room_is_now_non-anoymous":"Ce salon n'est désormais plus anonyme","Room_is_now_semi-anonymous":"Ce salon est désormais semi-anonyme","Do_you_want_to_change_the_default_room_configuration":"Voulez-vous changer la configuration par défaut du salon ?","Default":"Par défaut","Change":"Changer","Send_file":"Envoyer un fichier","setting-explanation-carbon":"Avec la copie carbone activé, votre serveur XMPP envera une copie de tous les messages entrant qui vous sont destiné à ce client, même s'il ne lui sont pas directement addressés.","setting-explanation-login":"Si cette option est activé, le chat commencera lorsque vous vos connectez.","setting-explanation-priority":"Si vous êtes connecté plusieurs fois avec le même compte, votre serveur XMPP enverra les messages au client ayant le plus haute priorité.","setting-explanation-xmpp":"Ces options sont utilisées pour se connecter au serveur XMPP.","_is_composing":" est en train d'écrire...","_are_composing":" sont en train d'écrire...","Chat_state_notifications":"Notifications de composition","setting-explanation-chat-state":"Voulez-vous envoyer et recevoir les notifications de composition, comme lorsque quelqu'un commence ou arrête d'écrire un message ?","Share_screen":"Ecran partagé","Incoming_stream":"Flux entrant","Stream_started":"flux démarré","HTTPS_REQUIRED":"Cette action nécessite une connexion cryptée.","EXTENSION_UNAVAILABLE":"Vous avez besoin d'une extension / d'un addon pour votre navigateur.","UNKNOWN_ERROR":"Une erreur inconnue s'est produite.","Install_extension":"Veuillez installer l'extension afin d'utiliser le partage d'écran: ","Connection_accepted":"Connexion acceptée","Stream_terminated":"Flux terminé","Close_all":"Tout fermer","Notification":null,"Unreadable_OTR_message":null}},"hu-HU":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":"Az Ön kapcsolata titkosítatlan.","your_connection_is_encrypted":"Az Ön kapcsolata titkosított.","your_buddy_closed_the_private_connection":"Partnere megszakította a privát kapcsolatot.","start_private":"Privát beszélgetés indítása","close_private":"Privát beszélgetés bezárása","your_buddy_is_verificated":"Az Ön partnere megerősítve.","you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":"Azonosítási kérelem elküldve.","your_message_wasnt_send_please_end_your_private_conversation":"Az üzenetet nem sikerült elküldeni. Kérem fejezze be a privát beszélgetést.","unencrypted_message_received":"Titkosítatlan üzenet fogadva","not_available":"Nem elérhető","no_connection":"Nincs kapcsolat!","relogin":"relogin","trying_to_start_private_conversation":"Privát beszélgetés indítása!","Verified":"Megerősítve","Unverified":"Nem megerősített","private_conversation_aborted":"Privát beszélgetés megszakítva!","your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":"Azonosítás sikertelen.","Creating_your_private_key_":"Privát kulcs generálása. Egy kis időbe telhet...","Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":"Kérdés","Secret":"Kulcs","To_verify_the_fingerprint_":null,"Your_fingerprint":"Az Ön lenyomata","Buddy_fingerprint":"Partnere lenyomata","Close":"Bezárás","Compared":"Összehasonlítva","To_authenticate_using_a_question_":"Az azonosításhoz adjon meg egy kérdést, amelyre a választ csak Ön és Partnere ismerhetik.","Ask":"Kérdez","To_authenticate_pick_a_secret_":"Az azonosításhoz adjon meg egy titkot, amelyet csak Ön és Partnere ismerhetnek.","Compare":"Összehasonlítás","Fingerprints":"Lenyomatok","Authentication":"Azonosítás","Message":"Üzenet","Add_buddy":"Partner hozzáadása","rename_buddy":"Partner átnevezése","delete_buddy":"Partner törlése","Login":"Belépés","Username":"Felhasználónév","Password":"Jelszó","Cancel":"Mégsem","Connect":"Csatlakozás","Type_in_the_full_username_":"Adjon meg egy teljes felhasználónevet, és egy opcionális becenevet.","Alias":"Becenév","Add":"Hozzáadás","Subscription_request":"Feliratkozási kérelem","You_have_a_request_from":"Ön felkérést kapott a következőtől","Deny":"Elutasít","Approve":"Jóváhagy","Remove_buddy":"Partner eltávolítása","You_are_about_to_remove_":null,"Continue_without_chat":"Folytatás chat nélkül","Please_wait":"Kérem várjon","Login_failed":"Chat bejelentkezés sikertelen","Sorry_we_cant_authentikate_":null,"Retry":"Vissza","clear_history":"Előzmények törlése","New_message_from":"Új üzenet __name__ partnerétől","Should_we_notify_you_":"Kívánja hogy értesítsük a jövőben új üzeneteiről?","Please_accept_":"Kérem kattintson a fent megjelenő \"Engedélyez\" gombra.","Hide_offline":"Offline partnerek elrejtése","Show_offline":"Offline partnerek mutatása","About":null,"dnd":"Ne zavarj","Mute":"Némítás","Unmute":"Hangok engedélyezése","Subscription":null,"both":"mindkettő","Status":"Állapot","online":"elérhető","chat":null,"away":"távol","xa":"huzamosabban távol","offline":"offline","none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":"Teljes név","N":null,"FAMILY":"Családi név","GIVEN":"Keresztnév","NICKNAME":"Becenév","URL":"URL","ADR":"Cím","STREET":"Utcanév","EXTADD":"Cím","LOCALITY":"Helység","REGION":"Régió","PCODE":"Irányítószám","CTRY":"Ország","TEL":"Telefonszám","NUMBER":"Házszám","EMAIL":"E-mail cím","USERID":null,"ORG":"Vállalat","ORGNAME":"Név","ORGUNIT":"Osztály","TITLE":"Beosztás","ROLE":"Részleg","BDAY":"Születésnap","DESC":"Leírás","PHOTO":null,"send_message":"Üzenet küldése","get_info":"Info mutatása","Settings":"Beállítások","Priority":"Prioritás","Save":"Mentés","User_settings":"Felhasználó beállítások","A_fingerprint_":null,"is":null,"Login_options":"Bejelentkezési lehetőségek","BOSH_url":"BOSH URL","Domain":"Domain","Resource":"Erőforrás","On_login":"Bejelentkezéskor","Received_an_unencrypted_message":"Titkosítatlan üzenetet fogadott","Sorry_your_buddy_doesnt_provide_any_information":"Sajnos az Ön partnere nem adott meg semmilyen információt.","Info_about":null,"Authentication_aborted":"Azonosítás megszakítva.","Authentication_request_received":"Azonosítási kérelem fogadva.","Log_in_without_chat":"Bejelentkezés chat nélkül","has_come_online":"bejelentkezett","Unknown_sender":"Ismeretlen küldő","Please_allow_access_to_microphone_and_camera":"Kérem kattintson a fent megjelenő \"Engedélyez/Allow\" gombra hogy hozzáférést biztosítson mikrofonjához és kamerájához.","Incoming_call":"Bejövő hívás","from":"tőle","Do_you_want_to_accept_the_call_from":"Szeretné fogadni következő partnere hívását:","Reject":"Elutasít","Accept":"Fogadás","hang_up":"tartás","snapshot":"képernyőfotó","mute_my_audio":"hangom némítása","pause_my_video":"videóképem megállítása","fullscreen":"teljes képernyő","Info":"Info","Local_IP":"Helyi IP","Remote_IP":"Távoli IP","Local_Fingerprint":"Helyi lenyomat","Remote_Fingerprint":"Távoli lenyomat","Video_call_not_possible":"Videóhívás nem lehetséges. Az Ön partnerének készüléke nem támogatja a videóhívásokat.","Start_video_call":"Videóhívás indítása","Join_chat":"Belépés a chatbe","Join":"Belépés","Room":"Szoba","Nickname":"Becenév","left_the_building":"__nickname__ elhagyta az épületet.","entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"it":{"translation":{"Logging_in":"login…","your_connection_is_unencrypted":"La sua connessione è non cifrata.","your_connection_is_encrypted":"La sua connessione è cifrata.","your_buddy_closed_the_private_connection":"La sua connessione privata è stato chiuso dal suo compagno.","start_private":"Inizia privata","close_private":"Chiude privata","your_buddy_is_verificated":"Il tuo compagno è stato verificato","you_have_only_a_subscription_in_one_way":"Hai solo una one-way inscrizione.","authentication_query_sent":"Domanda d'autenticità inviata.","your_message_wasnt_send_please_end_your_private_conversation":"Il tuo messaggio non è stato inviato. Si prega di finire la sua conversazione privata.","unencrypted_message_received":"Messaggio non cifrato ricevuto","not_available":"non disponibile","no_connection":"nessun collegamento!","relogin":"nuovo login","trying_to_start_private_conversation":"Cercando di avviare una conversazione privata!","Verified":"verificato","Unverified":"non verificato","private_conversation_aborted":"Conversazione privata abortito!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Il tuo compagno ha chiuso la conversazione privata! Si dovrebbe fare lo stesso.","conversation_is_now_verified":"Conversazione è ora verificato.","authentication_failed":"autenticazione fallita.","Creating_your_private_key_":"Creare la propria chiave privata; questo potrebbe richiedere un po'.","Authenticating_a_buddy_helps_":"Autenticazione un compagno aiuta a garantire che la persona si sta parlando è davvero quello che lui o lei sostiene di essere.","How_do_you_want_to_authenticate_your_buddy":"Come si desidera autenticare __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Seleziona metodo ..","Manual":"manuale","Question":"domanda","Secret":"segreto","To_verify_the_fingerprint_":"Per verificare l'impronta digitale, contattare il proprio compagno attraverso qualche altro canale affidabile, come il telefono.","Your_fingerprint":"il tuo impronta digitale","Buddy_fingerprint":"impronta digitale da compagno","Close":"chiude","Compared":"comparato","To_authenticate_using_a_question_":"Per autenticare tramite una questione, scegli una questione la cui risposta è nota solo voi e il tuo compagno","Ask":"chiedi","To_authenticate_pick_a_secret_":"Per autenticare, scegli un segreto noto solo a te e il tuo compagno.","Compare":"Comparare","Fingerprints":"Impronta digitale","Authentication":"Autenticazione","Message":"Messagio","Add_buddy":"Aggiungi un compagno","rename_buddy":"rinomina compagno","delete_buddy":"elimina compagno","Login":"Login","Username":"Identificazione dell'utente","Password":"Password","Cancel":"Cancella","Connect":"Collega","Type_in_the_full_username_":"Digita l'identificazione utente completo e un alias opzionale.","Alias":"Alias","Add":"Aggiungi","Subscription_request":"Rrichiesta di sottoscrizione","You_have_a_request_from":"Hai una richiesta da","Deny":"Refiuta","Approve":"Approva","Remove_buddy":"Rimuova il compagno","You_are_about_to_remove_":"Stai rimovendo __bid_name__ (<b>__bid_jid__</b>) del suo lista di compagni. Tutte le chat appartenente saranno chiuse.","Continue_without_chat":"Continua senza chat","Please_wait":"Si prega d'attendere","Login_failed":"Chat login è fallito","Sorry_we_cant_authentikate_":"Autenticazione non riuscita con il server di chat. Forse la password è sbagliata?","Retry":"Indietro","clear_history":"Cancella la cronologia","New_message_from":"Nuovo messaggio da __name__","Should_we_notify_you_":"Vuoi ricevere una notifica di nuovi messaggi in futuro?","Please_accept_":"Si prega di fare clic sul bottone \"Autorizzazione\" sopra.","Hide_offline":"Nascondere i contatti non in linea","Show_offline":"Mostra i contatti non in linea","About":"Informazione legale","dnd":"Non disturbare","Mute":"Muto attivo","Unmute":"Muto inattivo","Subscription":"Sottoscrizione","both":"etrambi","Status":"Status","online":"In linea","chat":"chat","away":"via","xa":"via estensivo","offline":"non in linea","none":"nessuno","Unknown_instance_tag":"Instance tag sconosciuta.","Not_one_of_our_latest_keys":"Non è una delle nostre ultime chiavi.","Received_an_unreadable_encrypted_message":"Ricevuto un messaggio crittografato illeggibile.","Online":"In linea","Chatty":"Chiacchierino","Away":"Via","Extended_away":"Via estensivo","Offline":"Non in linea","Friendship_request":"Amicizia richiesto","Confirm":"Conferma","Dismiss":"Rifiuta","Remove":"Rimuovi","Online_help":"Guida in linea","FN":"Nome e cognome","N":null,"FAMILY":"Cognome","GIVEN":"Nome","NICKNAME":"Soprannome","URL":"URL","ADR":"Indirizzo","STREET":"Via","EXTADD":"Esteso Indirizzo","LOCALITY":"Località","REGION":"Regione","PCODE":"Codice Postale","CTRY":"Paese","TEL":"Telefono","NUMBER":"Numero","EMAIL":"E-mail","USERID":null,"ORG":"Organizzazione","ORGNAME":"Nome","ORGUNIT":"Unità","TITLE":"Titolo di lavoro","ROLE":"Funzione","BDAY":"Compleanno","DESC":"Descrizione","PHOTO":null,"send_message":"Messagio inviato","get_info":"Mostra informazioni","Settings":"Impostazione","Priority":"Priorità","Save":"Salva","User_settings":"Impostazione dell'utente","A_fingerprint_":"Una impronta digitale è usato per assicurarsi che la persona con cui stai parlando è lui o lei che sta dicendo.","is":"è","Login_options":"Opzioni di login","BOSH_url":"BOSH URL","Domain":"Domain","Resource":"Risorsa","On_login":"Login on","Received_an_unencrypted_message":"Ricevuto un messaggio non crittografato","Sorry_your_buddy_doesnt_provide_any_information":"Spiace, il tuo compagno non fornisce alcuna informazione.","Info_about":"Informazioni","Authentication_aborted":"Autenticazione interrotta","Authentication_request_received":"Richiesta di autenticazione ricevuto.","Log_in_without_chat":"Log in senza chat","has_come_online":"È venuto in linea","Unknown_sender":"Mittente sconosciuto","Please_allow_access_to_microphone_and_camera":"Si prega di fare clic sul bottone \"Autorizzazione\" sopra per autorizzazione del l'accesso al microfono e fotocamera.","Incoming_call":"Chiamata in arrivo","from":"di","Do_you_want_to_accept_the_call_from":"Vuoi accettare la chiamata di","Reject":"Rifiuta","Accept":"Accetta","hang_up":"Riattacca","snapshot":"istantanea","mute_my_audio":"disattiva il mio audio","pause_my_video":"pausa il mio audio","fullscreen":"schermo intero","Info":"Informazione","Local_IP":"IP locale","Remote_IP":"IP remoto","Local_Fingerprint":"Impronta digitale locale","Remote_Fingerprint":"Impronta digitale remoto","Video_call_not_possible":"Videochiamata non è possibile. Il tuo compagno non può effettuare videochiamate.","Start_video_call":"Inizia videochiamata","Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":"è __status__","You_received_a_message_from_an_unknown_sender_":"Hai ricevuto un messaggio da un mittente sconosciuto (__sender__) Vuoi che venga visualizzato?","Your_roster_is_empty_add_":"Il suo elenco è vuoto, aggiungi un <a>compagno nuovo</a>","onsmp_explanation_question":"Il tuo compagno sta cercando di determinare se lui o lei sta davvero parlando con te. Per autenticare a il tuo compagno. inserisci la risposta e fare click su risposta.","onsmp_explanation_secret":"Il tuo compagno sta cercando di determinare se lui o lei sta davvero parlando con te. Per autenticare a il tuo compagno. inserire il segreto.","from_sender":"di __sender__","Verified_private_conversation_started":"verificato Conversazione privata iniziato.","Unverified_private_conversation_started":"non verificato Conversazione privata iniziato.","Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"nds":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"pl":{"translation":{"Logging_in":"Logowanie...","your_connection_is_unencrypted":"Twoje połączenie nie jest szyfrowane.","your_connection_is_encrypted":"Twoje połączenie jest szyfrowane.","your_buddy_closed_the_private_connection":"Twój rozmówca zamknął połączenie.","start_private":"Rozpocznij rozmowę.","close_private":"Zakończ rozmowę.","your_buddy_is_verificated":"Twój rozmówca został zweryfikowany.","you_have_only_a_subscription_in_one_way":"Posiadasz tylko jednostronną subskrypcję.","authentication_query_sent":"Wysłano proźbę o autentykację.","your_message_wasnt_send_please_end_your_private_conversation":"Twoja wiadomość nie została wysłana. Proszę, zamknij rozmowę.","unencrypted_message_received":"Otrzymano niezaszyfrowaną wiadomość.","not_available":"Niedostępny.","no_connection":"Brak połączenia!","relogin":"Połącz ponownie","trying_to_start_private_conversation":"Rozpocznij rozmowę!","Verified":"Zweryfikowano","Unverified":"Niezweryfikowano","private_conversation_aborted":"Anulowano rozmowę!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Rozmówca przerwał połączenie! Powinieneś zrobić to samo.","conversation_is_now_verified":"Zweryfikowano połączenie.","authentication_failed":"Weryfikacja się nie powiodła.","Creating_your_private_key_":"Tworzenie klucza prywatnego; może to chwilę potrwać","Authenticating_a_buddy_helps_":"Autoryzacja pomoże w ustaleniu faktycznej tożsamości rozmówcy ;).","How_do_you_want_to_authenticate_your_buddy":"Jakiej autoryzacji chcesz użyć __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Wybierz sposób...","Manual":"Ręcznie","Question":"Pytanie","Secret":"Hasło","To_verify_the_fingerprint_":"Aby zweryfikować kod, najpierw skontaktuj się z rozmówcą za pomocą zaufanego sposobu, np telefonu.","Your_fingerprint":"Twój kod:","Buddy_fingerprint":"Kod kontaktu","Close":"Zamknij","Compared":"Porównano","To_authenticate_using_a_question_":"Aby autoryzować za pomocą pytania, wybierz pytanie na które tylko ty i twój rozmówca zna odpowiedź.","Ask":"Zadaj pytanie","To_authenticate_pick_a_secret_":"Aby autoryzować za pomocą hasła, wybierz hasło na które znasz tylko Ty i twój rozmówca.","Compare":"Dopasuj","Fingerprints":"Kody autoryzacyjne","Authentication":"Autoryzacja","Message":"Wiadomość","Add_buddy":"Dodaj kontakt","rename_buddy":"Zmień nazwę kontaktu","delete_buddy":"Usuń kontakt","Login":"Login","Username":"Nazwa Użytkownika","Password":"Hasło","Cancel":"Anuluj","Connect":"Połączenie","Type_in_the_full_username_":"Wpisz pełną nazwę użytkownika (np. <B>imię.nazwisko@zajezdnia.local</B>) oraz jego nazwę wyświetlaną (Alias).","Alias":"Alias","Add":"Dodaj","Subscription_request":"Potwierdzenie subskrypcji","You_have_a_request_from":"Masz potwierdzenie od","Deny":"Odmów","Approve":"Zatwierdź","Remove_buddy":"Usuń kontakt","You_are_about_to_remove_":"Chcesz usunąć __bid_name__ (<b>__bid_jid__</b>) z twojej listy kontaktów. Wszystkie powiązane rozmowy zostaną zamknięte.","Continue_without_chat":"Kontynuuj bez komunikatora","Please_wait":"Proszę czekać","Login_failed":"Błędne logowanie","Sorry_we_cant_authentikate_":"Błędna autoryzacja z serwerem. Może hasło jest nieprawidłowe?","Retry":"Powrót","clear_history":"Wyczyść historię","New_message_from":"Nowa wiadomość od __name__","Should_we_notify_you_":"Czy chcesz otrzymywać powiadomienia o nowych wiadomościach w przyszłości?","Please_accept_":"Kliknij \"Zezwól\" na górze.","Hide_offline":"Schowaj niedostępne kontakty","Show_offline":"Pokaż niedostępne kontakty","About":"Info","dnd":"Nie przeszkadzać","Mute":"Wycisz","Unmute":"Włącz dźwięk","Subscription":"Subskrybcja","both":"obustronna","Status":"Status","online":"Dostępny","chat":"czat","away":"z dala od kompa","xa":"hen hen...","offline":"niedostępny","none":"brak","Unknown_instance_tag":"Nieznany przypadek.","Not_one_of_our_latest_keys":"Not one of our latest keys.","Received_an_unreadable_encrypted_message":"Otrzymano nieczytelną, zaszyfrowaną wiadomość.","Online":"Połączony","Chatty":"Pogawędzimy?","Away":"Daleko","Extended_away":"Hen Hen...","Offline":"Niedostępny","Friendship_request":"Prośba o kontakt","Confirm":"Potwierdzenie","Dismiss":"Odwołaj","Remove":"Usuń","Online_help":"Pomoc Online","FN":"Pełna nazwa","N":" ","FAMILY":"Nazwisko","GIVEN":"Imię","NICKNAME":"Pseudonim","URL":"Strona WWW","ADR":"Adres","STREET":"Ulica","EXTADD":"Pełny adres","LOCALITY":"Lokalizacja","REGION":"Region","PCODE":"Kod pocztowy","CTRY":"Kraj","TEL":"Telefon","NUMBER":"Numer","EMAIL":"Email","USERID":" ","ORG":"Organizacja","ORGNAME":"Nazwa","ORGUNIT":"Jednostka","TITLE":"Stanowisko","ROLE":"Rola","BDAY":"Data urodzin","DESC":"Opis","PHOTO":" ","send_message":"Wyślij wiadomość","get_info":"Pokaż informację","Settings":"Ustawienia","Priority":"Priorytet","Save":"Zapisz","User_settings":"Ustawienia Użytkownika","A_fingerprint_":"Kod służy do autoryzacji Twojego rozmówcy aby potwierdzić jego tożsamość.","is":"jest","Login_options":"opcje logowania","BOSH_url":"Adres BOSH","Domain":"Domena","Resource":"Źródło","On_login":"Na login","Received_an_unencrypted_message":"Zatwierdzono nieszyfrowaną wiadomość.","Sorry_your_buddy_doesnt_provide_any_information":"Wybacz, twój rozmówca nie posiada żadnych informacji.","Info_about":"Informacja o...","Authentication_aborted":"Autoryzacja anulowana.","Authentication_request_received":"Prośba o autoryzację została przyjęta.","Log_in_without_chat":"Zaloguj bez komunikatora","has_come_online":"jest teraz dostępny","Unknown_sender":"Nieznany nadawca","Please_allow_access_to_microphone_and_camera":"Kliknij \"Potwierdź\" na górze, aby móc korzystać z mikrofonu oraz kamery.","Incoming_call":"Przychodzące połączenie","from":"z","Do_you_want_to_accept_the_call_from":"Akceptujesz połączenie od","Reject":"Odrzuć","Accept":"Zaakceptuj","hang_up":"odbierz","snapshot":"zrób zdjęcie","mute_my_audio":"wycisz dźwięk","pause_my_video":"zatrzymaj moje wideo","fullscreen":"Pełny ekran","Info":"Informacja","Local_IP":"Adres IP","Remote_IP":"Zdalny adres IP","Local_Fingerprint":"Kod lokalny","Remote_Fingerprint":"Zdalny kod","Video_call_not_possible":"Rozmowa wideo jest niemożliwa. Twój rozmówca nie ma możliwości prowadzenia takich rozmów.","Start_video_call":"Rozpocznij rozmowę wideo","Join_chat":"Dołącz do czata","Join":"Dołącz","Room":"Pokój","Nickname":"Nazwa użytkownika","left_the_building":"__nickname__ wyszedł","entered_the_room":"__nickname__ wszedł do pokoju","is_now_known_as":"__oldNickname__ zmienił nazwę na __newNickname__","This_room_is":"Ten pokój jest","muc_hidden":{"keyword":"ukryty","description":"nie można odnaleźć elementów wyszukiwania"},"muc_membersonly":{"keyword":"tylko zalogowani","description":"musisz być członkiem listy"},"muc_moderated":{"keyword":"moderowano","description":"tylko osoby z opcją \"głos\" mogą wysyłać wiadomość"},"muc_nonanonymous":{"keyword":"nie-anonimowy","description":"Twój identyfikator jabber jest widoczny dla wszystkich innych osób"},"muc_open":{"keyword":"otwarty","description":"wszyscy mają pozwolenie aby dołączyć"},"muc_passwordprotected":{"keyword":"ograniczone hasłem","description":"musisz wpisać prawidłowe hasło"},"muc_persistent":{"keyword":"trwale","description":"nie zostaną zniszczone, jeśli ostatnia osoba wyszła"},"muc_public":{"keyword":"publiczny","description":"wyszukawno"},"muc_semianonymous":{"keyword":"pół-anonimowy","description":"Twój identyfikator jabber jest widoczny w pokoju adminów"},"muc_temporary":{"keyword":"tymczasowy","description":"zostanie usunięty jeżeli ostatnia osoba wyjdzie"},"muc_unmoderated":{"keyword":"niemoderowany","description":"wszyscy są uprawnieni do pisania wiadomości"},"muc_unsecured":{"keyword":"niezabezpieczone","description":"nie musisz wpisywać hasła"},"Continue":"Kontynuuj","Server":"Serwer","Rooms_are_loaded":"Pokoje zostały załadowane","Could_load_only":"Nie załadowano __count__ pokoi","muc_explanation":"Aby się zalogować, wpisz nazwę pokoju oraz opcjonalnie nazwę użytkownika i hasło","You_already_joined_this_room":"Już dołączyłeś do tego pokoju","This_room_will_be_closed":"Ten pokój będzie zamknięty","Room_not_found_":"Nowy pokój będzie stworzony","Loading_room_information":"Ładowani informacji o pokoju","Destroy":"Zniszczony","Leave":"Opuść","changed_subject_to":"__nickname__ zmienił temat pokoju na \"__subject__\"","muc_removed_kicked":"Zostałeś wyrzucony z pokoju","muc_removed_info_kicked":"__nickname__ został wyrzucony z pokoju","muc_removed_banned":"Zostałeś zbanowany","muc_removed_info_banned":"__nickname__ został zbanowany","muc_removed_affiliation":"Zostałeś usunięty z pokoju ze względu na zmianę przynależnosci","muc_removed_info_affiliation":"__nickname__ został usunięty z pokoju ze względu na zmianę przynależnosci","muc_removed_membersonly":"Zostałeś usunięty z pokoju ze względu na zmianę pokoju tylko dla członków, a Ty nie jesteś członkiem...","muc_removed_info_membersonly":"__nickname__ został usunięty z pokoju ze względu na zmianę pokoju na tylko dla członków","muc_removed_shutdown":"Zostałeś usunięty z pokoju ze względu na zamknięcie usługi","Reason":"Powód","message_not_send":"Wystąpił błąd i twoja wiadomość nie została wysłana.","message_not_send_item-not-found":"Twoja wiadomość nie została wysłana ponieważ ten pokój nie istnieje","message_not_send_forbidden":"Twoja wiadomość nie została wysłana ponieważ nie masz głosu w tym pokoju","message_not_send_not-acceptable":"Twoja wiadomość nie została wysłana ponieważ nie jesteś właścicielem tego pokoju","This_room_has_been_closed":"Ten pokój został zamknięty","Room_logging_is_enabled":"Logowanie do pokoju jest włączone","A_password_is_required":"Hasło jest wymagane","You_are_not_on_the_member_list":"Nie jesteś na liście członków","You_are_banned_from_this_room":"Zostałeś zbanowany w tym pokoju","Your_desired_nickname_":"Twoja nazwa użytkownika jest już użyta. Spróbuj wybrać inną","The_maximum_number_":"Została osiągnięta maksymalna liczba użytkowników w tym pokoju","This_room_is_locked_":"Ten pokój jest zablokowany","You_are_not_allowed_to_create_":"Nie masz uprawnień do tworzenia pokoju","Alert":"Alarm","Call_started":"Rozmowa rozpoczęta","Call_terminated":"Rozmowa zakończona","Carbon_copy":"Do wiadomości","Enable":"Włączone","jingle_reason_busy":"zajęte","jingle_reason_decline":"odmów","jingle_reason_success":"zakończono","Media_failure":"Błąd mediów","No_local_audio_device":"Brak lokalnego urządzenia audio.","No_local_video_device":"Brak lokalnego urządzenia wideo.","Ok":"Ok","PermissionDeniedError":"Ty lub twoja przeglądarka odmówiła dostępu do audio/video","Use_local_audio_device":"Użyj lokalnego urządzenia audio.","Use_local_video_device":"Użyj lokalnego urządzenia wideo.","is_":"jest __status__","You_received_a_message_from_an_unknown_sender_":"Masz wiadomość od nieznanego nadawcy. (__sender__) Chcesz to wyświetlić?","Your_roster_is_empty_add_":"Twoja lista jest pusta, dodaj kontakty <a>Nowy kontakt</a>","onsmp_explanation_question":"Twój rozmówca próbuje się z Tobą połączyć. Autoryzacja z rozmówcą, napisz odpowiedź.","onsmp_explanation_secret":"Twój rozmówca próbuje się z Tobą połączyć. Autoryzacja z rozmówcą, wpisz hasło.","from_sender":"z __sender__","Verified_private_conversation_started":"Zweryfikowano Rozmowa prywatna rozpoczęta.","Unverified_private_conversation_started":"Niezweryfikowano Rozmowa prywatna rozpoczęta.","Bookmark":"Zakładka","Auto-join":"Auto-połączenie","Edit_bookmark":"Edytuj zakładkę","Room_logging_is_disabled":"Logowanie pokoju jest wyłączone","Room_is_now_non-anoymous":"Pokój jest teraz nie-anonimowy","Room_is_now_semi-anonymous":"Pokój jest teraz pół-anonimowy","Do_you_want_to_change_the_default_room_configuration":"Chcesz zmienić domyślną konfigurację pokoju?","Default":"Domyślny","Change":"Zmień","Send_file":"Wyślij plik","setting-explanation-carbon":null,"setting-explanation-login":"Jeżeli ta opcja jest włączona, czat uruchomi się przy zalogowaniu.","setting-explanation-priority":"Jeżeli jesteś zalogowany wiele razy na to samo konto twój serwer XMPP dostarczy wiadomości do klienta z najwyższym priorytetem.","setting-explanation-xmpp":"Te ustawienia używane są do połączenia z serwerem XMPP.","_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"pt-BR":{"translation":{"Logging_in":"Entrando...","your_connection_is_unencrypted":"Sua conexão não é encriptada","your_connection_is_encrypted":"Sua conexão é encriptada","your_buddy_closed_the_private_connection":"Seu contato fechou a conexão privada","start_private":"Iniciar conversa privada","close_private":"Fechar conversa privada","your_buddy_is_verificated":"Seu contato está verificado","you_have_only_a_subscription_in_one_way":"Você só tem a inscrição one-way","authentication_query_sent":"Pergunta de autenticação enviada","your_message_wasnt_send_please_end_your_private_conversation":"Sua mensagem não foi enviada. Por favor finalize sua conversa privada","unencrypted_message_received":"Mensagem não encriptada recebida","not_available":"Indisponível","no_connection":"Sem conexão!","relogin":"reentrar","trying_to_start_private_conversation":"Tentando iniciar conversa privada","Verified":"Verificado","Unverified":"Não verificado","private_conversation_aborted":"Conversa privada abortada!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Seu contato encerrou a conversa privada! Você deveria fazer o mesmo.","conversation_is_now_verified":"Conversa verificada.","authentication_failed":"Autenticação falhou.","Creating_your_private_key_":"Criando sua chave privada: isso pode demorar um pouco.","Authenticating_a_buddy_helps_":"Autenticar seu contato ajuda a garantir que a pessoa com a qual você está falando é realmente a pessoa que ela alega ser.","How_do_you_want_to_authenticate_your_buddy":"Como você gostaria de se autenticar __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Selecione o método...","Manual":"Manual","Question":"Pergunta","Secret":"Senha","To_verify_the_fingerprint_":"Para verificar o fingerprint, entre em contato com seu contato usando outro meio, de preferência seguro, como o telefone.","Your_fingerprint":"Sua impressão digital","Buddy_fingerprint":"Impressão digital do contato","Close":"Fechar","Compared":"Comparado","To_authenticate_using_a_question_":"Para autenticar seu contato faça uma pergunta, mas escolha que só ele saiba a resposta.","Ask":"Pergunta","To_authenticate_pick_a_secret_":"Para autenticar, escolha um segredo que somente você e seu contato saibam.","Compare":"Compare","Fingerprints":"Impressões digitais","Authentication":"Autenticação","Message":"Mensagem","Add_buddy":"Adicionar contato","rename_buddy":"renomear contato","delete_buddy":"remover contato","Login":"Entrar","Username":"Usuário","Password":"Senha","Cancel":"Cancelar","Connect":"Conectar","Type_in_the_full_username_":"Digite seu nome completo e um apelido opcional.","Alias":"Apelido","Add":"Adicionar","Subscription_request":"Pedido de inscrição","You_have_a_request_from":"Você tem um pedido de","Deny":"Negar","Approve":"Aprovar","Remove_buddy":"Remover contato","You_are_about_to_remove_":"Você está prestes a remover __bid_name__ (<b>__bid_jid__</b>) de sua lista de contatos. Todas as conversas serão fechadas.","Continue_without_chat":"Continue sem converar","Please_wait":"Por favor aguarde","Login_failed":"Autenticação da conversa falhou","Sorry_we_cant_authentikate_":"A autenticação com o servidor falhou. Talvez seja a senha errada?","Retry":"Voltar","clear_history":"Limpar histórico","New_message_from":"Nova mensagem de __name__","Should_we_notify_you_":"Devemos continuar notificando sobre novas mensagens no futuro?","Please_accept_":"Por favor clique no botão \"Permitir\" na parte superior.","Hide_offline":"Esconder contatos desconectados","Show_offline":"Mostrar contatos desconectados","About":"Sobre","dnd":"Não perturbe","Mute":"Mudo","Unmute":"Ligar","Subscription":"Inscrição","both":"ambos","Status":"Status","online":"online","chat":"conversa","away":"ausente","xa":"ausente por mais tempo","offline":"desativado","none":"nenhum","Unknown_instance_tag":"Marcação desconhecida da instância","Not_one_of_our_latest_keys":"Nenhuma de nossas ultimas chaves.","Received_an_unreadable_encrypted_message":"Mensagem encriptada ilegível foi recebida.","Online":"Online","Chatty":"Tagarela","Away":"Ausente","Extended_away":"Ausente por mais tempo","Offline":"Desativado","Friendship_request":"Pedido de amizade","Confirm":"Confirmar","Dismiss":"Ignorar","Remove":"Remover","Online_help":"Ajuda online","FN":"Nome completo","N":" ","FAMILY":"Sobrenome","GIVEN":"Nome","NICKNAME":"Apelido","URL":"URL","ADR":"Endereço","STREET":"Rua, Av, etc","EXTADD":"Complemento","LOCALITY":"Localidade","REGION":"Região","PCODE":"CEP","CTRY":"País","TEL":"Telefone","NUMBER":"Número","EMAIL":"Email","USERID":" IDUsuário","ORG":"Empresa","ORGNAME":"Nome","ORGUNIT":"Unidade","TITLE":"Cargo","ROLE":"Função","BDAY":"Data de nascimento","DESC":"Descrição","PHOTO":"Foto","send_message":"Enviar mensagem","get_info":"Exibir informações","Settings":"Configurações","Priority":"Prioridade","Save":"Salvar","User_settings":"Configurações do usuário","A_fingerprint_":"O fingerprint é usado para certificar que a pessoa com a qual se está falando é que ela diz ser.","is":"é","Login_options":"Opções de login","BOSH_url":"BOSH URL","Domain":"Domínio","Resource":"Recurso","On_login":"Ao autenticar","Received_an_unencrypted_message":"Mensagem não encriptada recebida","Sorry_your_buddy_doesnt_provide_any_information":"Desculpe, seu contato não forneceu nenhuma informação","Info_about":"Informações sobre","Authentication_aborted":"Autenticação encerrada.","Authentication_request_received":"Pedido de autenticação recebido","Log_in_without_chat":"Entrar sem conversar","has_come_online":"ficou online","Unknown_sender":"Emissor desconhecido","Please_allow_access_to_microphone_and_camera":"Por favor clique no botão \"Permitir\" no topo, para conceder acesso ao seu microfone e câmera.","Incoming_call":"Recebendo chamada","from":"de","Do_you_want_to_accept_the_call_from":"Você aceita a chamada de","Reject":"Negar","Accept":"Aceitar","hang_up":"desligar","snapshot":"registrar imagem","mute_my_audio":"mudo","pause_my_video":"pausar vídeo","fullscreen":"tela cheia","Info":"Informações","Local_IP":"IP local","Remote_IP":"IP remoto","Local_Fingerprint":"Fingerprint local","Remote_Fingerprint":"Fingerprint remoto","Video_call_not_possible":"Chamada de vídeo impossível. Seu contato não suporta chamadas desse tipo.","Start_video_call":"Iniciar chamada de vídeo","Join_chat":"Entrar no chat","Join":"Entrar","Room":"Sala","Nickname":"Apelido","left_the_building":"__nickname__ deixou o prédio","entered_the_room":"__nickname__ entrou na sala","is_now_known_as":"__oldNickname__ agora é conhecido como __newNickname__","This_room_is":"Esta sala é","muc_hidden":{"keyword":"oculto","description":"Não pode ser encontrado através de pesquisa"},"muc_membersonly":{"keyword":"apenas para membros","description":"você precisa estar na lista de membros"},"muc_moderated":{"keyword":"moderado","description":"Somente pessoas com \"voice\" podem enviar mensagens"},"muc_nonanonymous":{"keyword":"não-anônimo","description":"Seu id jabber esta esposto para todos os outros ocupantes"},"muc_open":{"keyword":"abrir","description":"Todos podem entrar"},"muc_passwordprotected":{"keyword":"protegido por senha","description":"você precisa fornecer a senha correta"},"muc_persistent":{"keyword":"persistente","description":"Não será destruída se o último ocupante tiver saído"},"muc_public":{"keyword":"público","description":"pode ser localizado pela busca"},"muc_semianonymous":{"keyword":"semi-anônimos","description":"Sua identificação jabber só é exposta para administradores da sala"},"muc_temporary":{"keyword":"temporário","description":"Será destruída se o último ocupante tiver saído"},"muc_unmoderated":{"keyword":"sem moderação","description":"Todos tem permissão de enviar mensagens"},"muc_unsecured":{"keyword":"inseguro","description":"Você não precisa de senha para entrar"},"Continue":"Avançar","Server":"Servidor","Rooms_are_loaded":"Sala carregada","Could_load_only":"Pode carregar somente __count__ salas para autocompletar","muc_explanation":"Por favor entre um nome de sala e um nickname opcional e uma senha para entrar no chat","You_already_joined_this_room":"Você já entrou nesta sala","This_room_will_be_closed":"Esta sala será fechada","Room_not_found_":"Uma nova sala será criada","Loading_room_information":"Carregar informação da sala","Destroy":"Destruir","Leave":"Sair","changed_subject_to":"__nickname__ alterar o assunto da sala para \"__subject__\"","muc_removed_kicked":"Você foi removido da sala","muc_removed_info_kicked":"__nickname__ foi removido da sala","muc_removed_banned":"Você foi banido da sala","muc_removed_info_banned":"__nickname__ foi banido da sala","muc_removed_affiliation":"Você foi removido da sala pois a sala, por que a afiliação mudou","muc_removed_info_affiliation":"__nickname__ foi removido da sala, por que a afiliação mudou","muc_removed_membersonly":"Você foi removido da sala pois a sala foi alterada somente para membros e você não é um membro","muc_removed_info_membersonly":"__nickname__ foi removido da sala porque a sala foi alterada para somente membros e você não é um membro","muc_removed_shutdown":"Você foi removido da sala, por que o serviço MUC esta sendo desligado","Reason":"Motivo","message_not_send":"Sua mensagem não foi enviada devido a um erro","message_not_send_item-not-found":"Sua mensagem não foi enviada por que essa sala nao existe mais","message_not_send_forbidden":"Sua mensagem não foi enviada por que não tem 'voz' para essa sala","message_not_send_not-acceptable":"Sua mensagem não foi enviada por que você nao é ocupante desta sala","This_room_has_been_closed":"Essa sala foi fechada","Room_logging_is_enabled":"O Logging esta habilitado","A_password_is_required":"Senha é obrigatória","You_are_not_on_the_member_list":"Você não esta na lista de usuarios","You_are_banned_from_this_room":"Você foi banido desta sala","Your_desired_nickname_":"O nickname escolhido já esta em uso. Por favor escolha outro","The_maximum_number_":"O número máximo de usuarios já foi antigido para essa sala","This_room_is_locked_":"A sala esta trancada","You_are_not_allowed_to_create_":"Você não esta autorizado para criar uma sala","Alert":"Alerta","Call_started":"Chamada iniciada","Call_terminated":"Chamada finalizada","Carbon_copy":"Copia carbono","Enable":"Habilitado","jingle_reason_busy":"ocupado","jingle_reason_decline":"recusado","jingle_reason_success":"sucesso","Media_failure":"Media falhou","No_local_audio_device":"sem dispositivo local de audio","No_local_video_device":"sem dispositivo local de video","Ok":"Ok","PermissionDeniedError":"Você ou seu navegador negou permissão para acessar audio/video","Use_local_audio_device":"Usar dispositivo local de audio","Use_local_video_device":"Usar dispositivo local de video","is_":"é __status__","You_received_a_message_from_an_unknown_sender_":"Você recebeu uma mensagem de um emissor desconhecido (__sender__) Você quer mostrá-los?","Your_roster_is_empty_add_":"Sua lista está vazia, adicione um <a>novo contato</a>","onsmp_explanation_question":"Seu contato está tentando determinar se ele realmente está falando contigo. Para autenticar seu contato, entre com a resposta e clique em Responder.","onsmp_explanation_secret":"Seu contato está tentando determinar se ele realmente está falando contigo. Para autenticar seu contato, escreva a senha.","from_sender":"de __sender__","Verified_private_conversation_started":"Verificado Conversa privada iniciada.","Unverified_private_conversation_started":"Não verificado Conversa privada iniciada.","Bookmark":"Favoritos","Auto-join":"Entrar Automaticamente","Edit_bookmark":"Editar favoritos","Room_logging_is_disabled":"Registro de log na sala está desativado","Room_is_now_non-anoymous":"A sala é não anônima agora","Room_is_now_semi-anonymous":"A sala é semi anônima agora","Do_you_want_to_change_the_default_room_configuration":"Você quer alterar as configurações da sala?","Default":"Padrão","Change":"Alterar","Send_file":"Enviar arquivo","setting-explanation-carbon":"Com carbon copy ativado seu servidor XMPP vai enviar uma copia de cada mensagem para você neste cliente mesmo que não tenha endereço","setting-explanation-login":"Se essa opção esta habilitada, o chat vai começar ao logar.","setting-explanation-priority":"Você esta logado varias vezes com a mesma conta, seu servidor XMPP vai entregar as mensagens para o cliente com a prioridade mais alta.","setting-explanation-xmpp":"Essas opções são usadas para conectar no Servidor XMPP","_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"ro":{"translation":{"Logging_in":"Autentificare...","your_connection_is_unencrypted":"Conexiunea nu este criptată.","your_connection_is_encrypted":"Conexiunea este criptată.","your_buddy_closed_the_private_connection":"Interlocutorul a închis conexiunea privată.","start_private":"Pornește în privat","close_private":"Închide privat","your_buddy_is_verificated":"Interlocutorul este verificat.","you_have_only_a_subscription_in_one_way":"Subscrierea este într-o singură direcție.","authentication_query_sent":"Cererea de autentificare a fost trimisă.","your_message_wasnt_send_please_end_your_private_conversation":"Mesajul nu a fost trimis. Te rog închide conversația în privat.","unencrypted_message_received":"A fost primit un mesaj necriptat","not_available":"Indisponibil","no_connection":"Fără conexiune!","relogin":"Re-autentificare","trying_to_start_private_conversation":"Se încearcă deschiderea conversației în privat!","Verified":"Verificat","Unverified":"Neverificat","private_conversation_aborted":"Conversație în privat eșuată!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Interlocutorul a închis conversația în privat! Ar trebui să faci la fel și tu.","conversation_is_now_verified":"Conversația este acum verificată.","authentication_failed":"Autentificarea a eşuat.","Creating_your_private_key_":"Se crează cheia privată; ar putea să dureze ceva timp.","Authenticating_a_buddy_helps_":"Autentificând un contact ne asigură că persoana cu care vorbești este într-adevăr cine pretinde că este.","How_do_you_want_to_authenticate_your_buddy":"Cum vrei să te autentifici __bid_name__ (<b>__bid_jid__</b>)","Select_method":"Alege metoda...","Manual":"Manual","Question":"Întrebare","Secret":"Secret","To_verify_the_fingerprint_":"Pentru a verifica amprenta, contactează interlocutorul printr-un canal de încredere, cum ar fi telefonul.","Your_fingerprint":"Amprenta ta","Buddy_fingerprint":"Amprenta interlocutorului","Close":"Închide","Compared":"Prin comparație","To_authenticate_using_a_question_":"Pentru autentificarea folosind o întrebare, alege o întrebare cu un răspuns cunoscut doar de tine și de interlocutor.","Ask":"Întreabă","To_authenticate_pick_a_secret_":"Pentru autentificare, alege un secret cunoscut doar de tine și de interlocutor.","Compare":"Compară","Fingerprints":"Amprente","Authentication":"Autentificare","Message":"Mesaj","Add_buddy":"Adaugă contact","rename_buddy":"redenumește contact","delete_buddy":"șterge contact","Login":"Logare","Username":"Utilizator","Password":"Parolă","Cancel":"Renunță","Connect":"Conectare","Type_in_the_full_username_":"Scrie numele complet al utilizatorului și un alias opțional.","Alias":"Alias","Add":"Adaugă","Subscription_request":"Cerere de subscriere","You_have_a_request_from":"Ai o cerere de la","Deny":"Refuză","Approve":"Aprobă","Remove_buddy":"Șterge contact","You_are_about_to_remove_":"Urmează să ștergi __bid_name__ (<b>__bid_jid__</b>) din lista de contacte. Toate chat-urile asociate vor fi închise.","Continue_without_chat":"Continuă fără chat","Please_wait":"Te rog așteaptă","Login_failed":"Logarea pe chat a eșuat","Sorry_we_cant_authentikate_":"Autentificarea cu serverul de chat a eșuat. Poate parola este greșită ?","Retry":"Înapoi","clear_history":"Curăță istoria","New_message_from":"Un nou mesaj de la __name__","Should_we_notify_you_":"Vrei să fi notificat despre mesajele noi în viitor ?","Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"ru":{"translation":{"Logging_in":"Вход в систему...","your_connection_is_unencrypted":"Ваше соединение не зашифровано.","your_connection_is_encrypted":"Ваше соединение зашифровано.","your_buddy_closed_the_private_connection":"Ваш собеседник закончил зашифрованное соединение.","start_private":"Начать зашифрованный чат","close_private":"Закончить зашифрованный чат","your_buddy_is_verificated":"Собеседник подтвержден.","you_have_only_a_subscription_in_one_way":"У вас только односторонняя подписка.","authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":"Сообщение не отправлено. Завершите зашифрованный чат, пожалуйста.","unencrypted_message_received":"Получено незашифрованное сообщение","not_available":"Не доступен","no_connection":"Нет соединения!","relogin":"переподключиться","trying_to_start_private_conversation":"Попытка начать зашифрованный чат!","Verified":"Подтверждено","Unverified":"Не подтверждено","private_conversation_aborted":"Зашифрованный чат отклонен!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Ваш собеседник завершил зашифрованный чат! Вы должны сделать тоже самое.","conversation_is_now_verified":"Чат теперь утвержден.","authentication_failed":"Ошибка авторизации.","Creating_your_private_key_":"Создается приватный ключ. Это может занять некоторое время","Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":"Выберите метод...","Manual":"Вручную","Question":"Вопрос","Secret":"Пароль","To_verify_the_fingerprint_":null,"Your_fingerprint":"Ваш отпечаток","Buddy_fingerprint":"Отпечаток собеседника","Close":"Закрыть","Compared":"Сравнение завершено","To_authenticate_using_a_question_":"Для авторизации с помощью вопроса выберите вопрос, ответ на который знаете только Вы и собеседник.","Ask":null,"To_authenticate_pick_a_secret_":"Для авторизации выберите пароль, который знаете только Вы и собеседник.","Compare":"Сравнить","Fingerprints":"Отпечатки","Authentication":"Авторизация","Message":"Сообщение","Add_buddy":"Добавить контакт","rename_buddy":"переименовать контакт","delete_buddy":"удалить контакт","Login":"Вход","Username":"Логин","Password":"Пароль","Cancel":"Отмена","Connect":"Подключить","Type_in_the_full_username_":"Введите полное имя пользователя и дополнительный псевдоним","Alias":"Псевдоним","Add":"Добавить","Subscription_request":"Запрос подписки","You_have_a_request_from":"Получен запрос от","Deny":"Отказ","Approve":"Подтвердить","Remove_buddy":"Удалить контакт","You_are_about_to_remove_":"Вы собираетесь удалить __bid_name__ (<b>__bid_jid__</b>) из списка контактов. Все связанные с чаты будут закрыты.","Continue_without_chat":"Продолжить без чата","Please_wait":"Подождите…","Login_failed":"Неудачный вход в чат","Sorry_we_cant_authentikate_":"Неудачная попытка входа","Retry":"Назад","clear_history":"Очистить историю","New_message_from":"Новое сообщение от __name__","Should_we_notify_you_":"Уведомлять о новых сообщениях в будущем?","Please_accept_":"Нажмите кнопку \"Разрешить\" вверху страницы, пожалуйста","Hide_offline":"Спрятать отключенных","Show_offline":"Показать отключенных","About":"О проекте","dnd":"Не беспокоить","Mute":"Выкл. уведомления","Unmute":"Вкл. уведомления","Subscription":"Подписка","both":"оба","Status":"Статус","online":"в сети","chat":"готов общаться","away":"отошел","xa":"отсутствую","offline":"не в сети","none":"нет","Unknown_instance_tag":"Неизвестный тег.","Not_one_of_our_latest_keys":"Ни один из наших последних ключей","Received_an_unreadable_encrypted_message":"Получено нечитаемое зашифрованное сообщение","Online":"В сети","Chatty":"Готов общаться","Away":"Отошел","Extended_away":"Отсутствую","Offline":"Не в сети","Friendship_request":"Запрос на добавление в контакты","Confirm":"Подтвердить","Dismiss":"Отклонить","Remove":"Удалить","Online_help":"Онлайн помощь","FN":"Полное имя","N":null,"FAMILY":"Фамилия","GIVEN":"Имя","NICKNAME":"Ник","URL":"URL","ADR":"Адрес","STREET":"Улица","EXTADD":"Дополнительный адрес","LOCALITY":"Город","REGION":"Область","PCODE":"Индекс","CTRY":"Страна","TEL":"Телефон","NUMBER":"Номер","EMAIL":"Почта","USERID":null,"ORG":"Организация","ORGNAME":"Название","ORGUNIT":"Отдел","TITLE":"Должность","ROLE":"Обязанности","BDAY":"День рождения","DESC":"Описание","PHOTO":" Фото ","send_message":"Отправить сообщение","get_info":"Показать информацию","Settings":"Настройки","Priority":"Приоритет","Save":"Сохранить","User_settings":"Пользовательские настройки","A_fingerprint_":null,"is":" ","Login_options":"Параметры входа","BOSH_url":"BOSH URL","Domain":"Домен","Resource":"Ресурс","On_login":"Автоматически подключаться","Received_an_unencrypted_message":"Получено незашифрованное сообщение","Sorry_your_buddy_doesnt_provide_any_information":"К сожалению, контакт не предоставил какой-либо информации.","Info_about":"Информация о","Authentication_aborted":"Аутентификация прервана.","Authentication_request_received":"Получен запрос проверки подлинности.","Log_in_without_chat":"Вход без чата","has_come_online":"появился в сети","Unknown_sender":"Неизвестный отправитель","Please_allow_access_to_microphone_and_camera":"Нажмите кнопку \"Разрешить\" вверху страницы, чтобы предоставить доступ к микрофону и камере.","Incoming_call":"Входящий вызов","from":"от","Do_you_want_to_accept_the_call_from":"Вы хотите принять вызов от","Reject":"Отклонить","Accept":"Принять","hang_up":"Завершить","snapshot":"Снимок","mute_my_audio":"Без звука","pause_my_video":"Остановить моё видео","fullscreen":"На весь экран","Info":"Инфо","Local_IP":"Мой IP","Remote_IP":"Удаленный IP","Local_Fingerprint":"Мой отпечаток","Remote_Fingerprint":"Удаленный отпечаток","Video_call_not_possible":"Видео-вызов невозможен. Ваш собеседник не поддерживает видео-вызовы.","Start_video_call":"Видео-вызов","Join_chat":"Присоединиться к комнате","Join":"Присоедениться","Room":"Комната","Nickname":"Ник","left_the_building":"__nickname__ выходит из комнаты","entered_the_room":"__nickname__ заходит в комнату","is_now_known_as":"__oldNickname__ теперь известен как __newNickname__","This_room_is":"Эта комната","muc_hidden":{"keyword":"скрыта","description":"не может быть найдена через поиск"},"muc_membersonly":{"keyword":"только для участников","description":"Вы должны быть в списке участников"},"muc_moderated":{"keyword":"модерируется","description":"Только пользователи с правом голоса могут отправлять сообщения"},"muc_nonanonymous":{"keyword":"неанонимная","description":"Ваш JID будет показан всем посетителям"},"muc_open":{"keyword":"открытая","description":"Любой пользователь может присоедениться"},"muc_passwordprotected":{"keyword":"защищена паролем","description":"Необходимо ввести правильный пароль"},"muc_persistent":{"keyword":"постоянная","description":"Не будет уничтожена, когда ее покинут все участники"},"muc_public":{"keyword":"публичная","description":"Может быть найдена через поиск"},"muc_semianonymous":{"keyword":"полу-анонимная","description":"Ваш JID могут увидеть только администраторы"},"muc_temporary":{"keyword":"временная","description":"Будет уничтожена как только не останется ни одного участника"},"muc_unmoderated":{"keyword":"не модерируется","description":"Любой посетитель может отправлять сообщения"},"muc_unsecured":{"keyword":"без пароля","description":"Не нужно вводить пароль для входа"},"Continue":"Далее","Server":"Сервер","Rooms_are_loaded":"Комнаты загружены","Could_load_only":"Подгрузка только __count__ комнат в автодополнении","muc_explanation":"Введите название комнаты, свой ник и пароль для входа в комнату","You_already_joined_this_room":"Вы уже в этой комнате","This_room_will_be_closed":"Эта комната была закрыта","Room_not_found_":"Новая комната будет создана","Loading_room_information":"Загрузка информации о комнате","Destroy":"Уничтожить","Leave":"Покинуть","changed_subject_to":"__nickname__ изменил тему комнаты на \"__subject__\"","muc_removed_kicked":"Вас выкинули из комнаты","muc_removed_info_kicked":"__nickname__ был удален из комнаты","muc_removed_banned":"Вас забанили в комнате","muc_removed_info_banned":"__nickname__ был забанен в комнате","muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":"Вы были исключены из комнаты, т.к. комната стала доступна только для членов комнаты, а Вы им не являетесь","muc_removed_info_membersonly":"__nickname__ исключен(а) из комнаты, т.к. комната стала доступна только для членов комнаты, а он(она) им не является","muc_removed_shutdown":"Вы были удалены из комнаты, т.к. сервис чат-комнат недоступен","Reason":"Причина","message_not_send":"Ваше сообщение не было отправлено из-за ошибки","message_not_send_item-not-found":"Ваше сообщение не было отправлено, т.к. этой комнаты не существует","message_not_send_forbidden":"Ваше сообщение не было отправлено, т.к. у Вас нет права голоса в этой комнате","message_not_send_not-acceptable":"Ваше сообщение не было отправлено, т.к. Вы не являетесь участником этой комнаты","This_room_has_been_closed":"Эта комната была закрыта","Room_logging_is_enabled":"Журналирование комнаты включено","A_password_is_required":"Необходим пароль","You_are_not_on_the_member_list":"Вы не в списке участников","You_are_banned_from_this_room":"Вас забанили в этой комнате","Your_desired_nickname_":"Данное имя пользователя уже занято, пожалуйста, выберите другое имя пользователя","The_maximum_number_":"Достигнут лимит максимального количества посетителей этой комнаты","This_room_is_locked_":"Эта комната заблокирована","You_are_not_allowed_to_create_":"Вы не можете создавать комнаты","Alert":"Внимание","Call_started":"Вызов начался","Call_terminated":"Вызов завершен","Carbon_copy":"Копировать сообщения","Enable":"Включить","jingle_reason_busy":"занято","jingle_reason_decline":"запрещено","jingle_reason_success":"сбросили","Media_failure":"Ошибка передачи медиа","No_local_audio_device":"Нет локального аудио-устройства.","No_local_video_device":"Нет локального видео-устройства.","Ok":"Ок","PermissionDeniedError":"Вы или Ваш браузер запретили использовать микрофон/камеру","Use_local_audio_device":"Использовать локальное аудио-устройство.","Use_local_video_device":"Использовать локальное видео-устройство.","is_":"__status__","You_received_a_message_from_an_unknown_sender_":"Вы получили сообщение от неизвестного отправителя (__sender__)","Your_roster_is_empty_add_":"Ваш список контактов пуст, добавить <a>новый контакт</a>","onsmp_explanation_question":"Собеседник пытается определить, что общается действительно с Вами.","onsmp_explanation_secret":"Собеседник пытается определить, что общается действительно с Вами. введите пароль.","from_sender":"от __sender__","Verified_private_conversation_started":"Подтверждено Зашифрованный чат начат.","Unverified_private_conversation_started":"Не подтверждено Зашифрованный чат начат.","Bookmark":"Закладка","Auto-join":"Автоматически входить","Edit_bookmark":"Редактировать закладку","Room_logging_is_disabled":"Журналирование комнаты отключено","Room_is_now_non-anoymous":"Комната теперь не анонимная","Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":"Вы хотите изменить стандартную конфигурацию комнаты?","Default":"Станд.","Change":"Изменить","Send_file":"Отправить файл","setting-explanation-carbon":"С включенным Carbon Copy Ваш XMPP сервер будет отправлять копию каждого входящего сообщения на все подключенные устройства.","setting-explanation-login":"Если эта опция включена, то чат будет начинаться сразу после аутентификации.","setting-explanation-priority":"Если вы подключены к одному аккаунту с нескольких устройств, то XMPP сервер будет доставлять сообщения на клиент с наивысшим приоритетом.","setting-explanation-xmpp":"Эти настройки используются для подключения к XMPP серверу.","_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"sv-SE":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"tr-TR":{"translation":{"Logging_in":"Giriş yapılıyor…","your_connection_is_unencrypted":"Bağlantınız şifrelenmemiş.","your_connection_is_encrypted":"Bağlantınız şifrelenmiş.","your_buddy_closed_the_private_connection":"Sohbet ettiğiniz kişi özel bağlantı kapatıldı.","start_private":"Özel bağlantı başlat.","close_private":"Özel bağlantıyı kapat.","your_buddy_is_verificated":"Kişi doğrulandı.","you_have_only_a_subscription_in_one_way":"Sadece tek yönlü bir aboneliğiniz var.","authentication_query_sent":"Kimlik doğrulama sorgusu gönderildi.","your_message_wasnt_send_please_end_your_private_conversation":"Mesajınız gönderilmedi. Lütfen özel görüşmelerinizi bitirin.","unencrypted_message_received":"Şifrelenmemiş mesaj alındı","not_available":"Müsait değil","no_connection":"Bağlantı yok!","relogin":"Yeniden gir","trying_to_start_private_conversation":"Özel sohbet başlatılmaya çalışılıyor!","Verified":"Doğrulandı","Unverified":"Doğrulanamadı","private_conversation_aborted":"Özel sohbet iptal edildi!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Sohbet ettiğiniz kişi özel görüşmeyi kapattı! Siz de aynı şeyi yapmalısınız.","conversation_is_now_verified":"Sohbet doğrulandı.","authentication_failed":"Kimlik doğrulama başarısız.","Creating_your_private_key_":"Özel anahtarınız oluşturuluyor; bu işlem biraz sürebilir.","Authenticating_a_buddy_helps_":"Kimlik doğrulaması, konuşmakta olduğunuz kişinin gerçekten o kişi olduğundan emin olmanıza yardımcı olur.","How_do_you_want_to_authenticate_your_buddy":"Kimlik doğrulasını nasıl yapmak istersiniz __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Yöntemi seçin...","Manual":"Elle","Question":"Soru","Secret":"Gizli anahtar","To_verify_the_fingerprint_":"Parmakizini doğrulamak için, telefon gibi başka bir güvenilir kanalı kullanın.","Your_fingerprint":"Parmakiziniz","Buddy_fingerprint":"Kişinin parmakizi","Close":"Kapat","Compared":"Kıyaslandı","To_authenticate_using_a_question_":"Bir soru ile kimlik doğrulaması için, yanıtını yalnızca siz ve karşınızdaki kişinin bildiği bir soru seçin.","Ask":"Sor","To_authenticate_pick_a_secret_":"Kimlik doğrulaması için, yalnızca siz ve karşınızdaki kişinin bildiği bir parola seçin.","Compare":"Karşılaştır","Fingerprints":"Parmakizleri","Authentication":"Kimlik doğrulama","Message":"İleti","Add_buddy":"Kişi ekle","rename_buddy":"Kişiyi yeniden adlandır","delete_buddy":"Kişiyi sil","Login":"Giriş","Username":"Kullanıcı adı","Password":"Şifre","Cancel":"iptal","Connect":"Bağlan","Type_in_the_full_username_":"Tam kullanıcı adını ve isteğe bağlı bir takma ad yazın.","Alias":"Takma ad","Add":"Ekle","Subscription_request":"Abonelik isteği","You_have_a_request_from":"Size gelen bir istek var","Deny":"Reddet","Approve":"Onayla","Remove_buddy":"Kişiyi çıkar","You_are_about_to_remove_":"__bid_name__ (<b>__bid_jid__</b>) adlı kişiyi listenizden çıkarmak üzeresiniz. Tüm ilişkili sohbetler kapanacak.","Continue_without_chat":"Sohbet etmeden devam et","Please_wait":"Lütfen bekleyin","Login_failed":"Sohbet girişi başarısız oldu","Sorry_we_cant_authentikate_":"Kimlik doğrulaması başarısız oldu. Şifreniz yanlış olabilir.","Retry":"Geri","clear_history":"Geçmişi sil","New_message_from":"__name__ adlı kişiden yeni bir mesaj aldınız","Should_we_notify_you_":"İleride aldığınız yeni mesajları size bildirelim mi?","Please_accept_":"Lütfen üstteki \"İzin ver\" düğmesini tıklayın.","Hide_offline":"Çevrimdışı kişileri gizle","Show_offline":"Çevrimdışı kişileri göster","About":"hakkında","dnd":"Rahatsız etmeyin","Mute":"Sessiz","Unmute":"Sesli","Subscription":"Üyelik","both":"her ikisi de","Status":"Durum","online":"çevrimiçi","chat":"sohbet","away":"uzakta","xa":"çok uzakta","offline":"çevrimdışı","none":"hiç biri","Unknown_instance_tag":"Bilinmeyen örnek etiketi.","Not_one_of_our_latest_keys":"En son anahtarlarımızdan biri değil.","Received_an_unreadable_encrypted_message":"Okunamayan şifrelenmiş bir mesaj alındı.","Online":"Çevrimiçi","Chatty":"Konuşkan","Away":"Uzakta","Extended_away":"Çok uzakta","Offline":"Çevrimdışı","Friendship_request":"İrtibat isteği","Confirm":"Onayla","Dismiss":"Reddet","Remove":"Çıkar","Online_help":"Çevrimiçi yardım","FN":"Tam adı","N":" ","FAMILY":"Soyadı","GIVEN":"Adı","NICKNAME":"Takma ad","URL":"URL","ADR":"Adres","STREET":"Sokak","EXTADD":"Genişletilmiş Adres","LOCALITY":"Yer","REGION":"Bölge","PCODE":"Posta Kodu","CTRY":"Ülke","TEL":"Telefon","NUMBER":"Numara","EMAIL":"Eposta","USERID":" ","ORG":"Organizasyon","ORGNAME":"İsim","ORGUNIT":"Birim","TITLE":"İş tenımı","ROLE":"Görevi","BDAY":"Doğum günü","DESC":"Tanım","PHOTO":" ","send_message":"İletiyi gönder","get_info":"Bilgileri göster","Settings":"Ayarlar","Priority":"Öncelik","Save":"Kaydet","User_settings":"Kullanıcı tercihleri","A_fingerprint_":"Parmak izi konuştuğunuz kişinin söylediği kişi olduğundan emin olmak için kullanılır.","is":"Eşit","Login_options":"Giriş seçenekleri","BOSH_url":"BOSH URL","Domain":"Alan adı","Resource":"Kaynak","On_login":"Girişte","Received_an_unencrypted_message":"Şifrelenmemiş bir mesaj alındı","Sorry_your_buddy_doesnt_provide_any_information":"Maalesef kişi her hangi bir bilgi sunmamış.","Info_about":"Bilinen özellikleri","Authentication_aborted":"Kimlik doğrulama iptal edildi.","Authentication_request_received":"Kimlik doğrulama isteği alındı.","Log_in_without_chat":"Sohbetsiz giriş yap","has_come_online":"Çevrimiçi oldu","Unknown_sender":"Bilinmeyen gönderen","Please_allow_access_to_microphone_and_camera":"Mikrofona ve kameraya erişime izin vermek için lütfen üstteki \"İzin Ver\" düğmesini tıklayın.","Incoming_call":"Gelen çağrı","from":"gönderen","Do_you_want_to_accept_the_call_from":"Gelen aramayı kabul etmek istiyor musunuz","Reject":"Reddet","Accept":"Kabul et","hang_up":"aramayı sonlandır","snapshot":"anlık fotoğraf","mute_my_audio":"Sesi kapat","pause_my_video":"videoyu duraklat","fullscreen":"tam ekran","Info":"bilgi","Local_IP":"Yerel IP","Remote_IP":"Uzak IP","Local_Fingerprint":"Yerel parmakizi","Remote_Fingerprint":"Uzak parmakizi","Video_call_not_possible":"Video çağrısı yapılamıyor. Aranan kişi video görüşmelerini desteklemiyor.","Start_video_call":"Video görüşmesini başlat","Join_chat":"Sohbete katıl","Join":"Katıl","Room":"Oda","Nickname":"Takma ad","left_the_building":"__nickname__ binadan ayrıldı","entered_the_room":"__nickname__ odaya girdi","is_now_known_as":"__oldNickname__ şimdi __newNickname__ olarak biliniyor","This_room_is":"Bu oda","muc_hidden":{"keyword":"gizli","description":"Arama yoluyla bulunamıyor"},"muc_membersonly":{"keyword":"sadece-üye-olanlar","description":"üye listenizde olmanız gerekiyor"},"muc_moderated":{"keyword":"yöneticili","description":"Yalnızca \"sesli\" kişilerin mesaj göndermesine izin verilir"},"muc_nonanonymous":{"keyword":"Anonim-değil","description":"Sohbet kimliğiniz diğer tüm oturanlara görünüyor"},"muc_open":{"keyword":"açık","description":"herkes katılabilir"},"muc_passwordprotected":{"keyword":"şifre-korumalı","description":"Doğru şifreyi girmeniz gerekiyor"},"muc_persistent":{"keyword":"kalıcı","description":"Son oturan ayrıldığında kapanmaz"},"muc_public":{"keyword":"herkese açık","description":"Arama yoluyla bulunabilir"},"muc_semianonymous":{"keyword":"yarı-anonim","description":"Sohbet kimliğiniz sadece oda yöneticilerine görünüyor"},"muc_temporary":{"keyword":"geçici","description":"Son oturan ayrıldığında kapanır"},"muc_unmoderated":{"keyword":"yöneticisiz","description":"herkes ileti gönderebilir"},"muc_unsecured":{"keyword":"güvensiz","description":"şifre girmenize gerek yok"},"Continue":"Devam","Server":"Sunucu","Rooms_are_loaded":"Oda yüklendi","Could_load_only":"Sadece __count__ oda otomatik tamamlamayla yüklenebilir","muc_explanation":"Bir sohbete katılmak için, lütfen oda adını ve isteniyorsa takma adınız ve parolanızı girin","You_already_joined_this_room":"Zaten bu odaya katılmış durumdasınız","This_room_will_be_closed":"Bu oda kapanacak","Room_not_found_":"Yeni oda oluşturulacak","Loading_room_information":"Oda bilgileri yükleniyor","Destroy":"Sil","Leave":"Ayrıl","changed_subject_to":"__nickname__ bu odanın konusunu \"__subject__\" olarak değiştirdi","muc_removed_kicked":"Bu odadan atıldınız","muc_removed_info_kicked":"__nickname__ bu odadan atıldı","muc_removed_banned":"Odadan yasaklandınız","muc_removed_info_banned":"__nickname__ odadan yasaklandınız","muc_removed_affiliation":"Üyelik değişikliği nedeniyle odadan çıkarıldınız","muc_removed_info_affiliation":"__nickname__ üyelik değişikliği nedeniyle odadan çıkarıldı","muc_removed_membersonly":"Odanın durumu sadece-üyeler olarak değiştirildiği ve siz üye olmadığınız için odadan çıkarıldınız","muc_removed_info_membersonly":"Odanın durumu sadece-üyeler olarak değiştirildiği ve __nickname__ üye olmadığı için odadan çıkarıldı","muc_removed_shutdown":"Odadan çıkarıldınız çünkü, MUC sunucusu kapandı","Reason":"Sebep","message_not_send":"Mesajınız bir hata nedeniyle gönderilmedi","message_not_send_item-not-found":"Mesajınız gönderilmedi, çünkü bu oda mevcut değil","message_not_send_forbidden":"Mesajınız gönderilmedi çünkü bu odada sesiniz yok","message_not_send_not-acceptable":"Mesajınız gönderilmedi çünkü bu odaya bulunmuyorsunuz","This_room_has_been_closed":"Bu oda kapatıldı","Room_logging_is_enabled":"Oda günlüğü etkinleştirildi","A_password_is_required":"Şifre gerekli","You_are_not_on_the_member_list":"Üye listesinde değilsiniz","You_are_banned_from_this_room":"Bu odadan yasaklandınız","Your_desired_nickname_":"İstediğiniz takma ad başkası tarafından kullanılıyor. Lütfen başka bir takma ad","The_maximum_number_":"Bu odada maksimum kullanıcı sayısına ulaşıldı","This_room_is_locked_":"Bu oda kilitli","You_are_not_allowed_to_create_":"Oda açma izniniz yok","Alert":"Uyarı","Call_started":"Arama başlatıldı","Call_terminated":"Arama bitirildi","Carbon_copy":"Karbon kopya","Enable":"Etkinleştir","jingle_reason_busy":"meşgul","jingle_reason_decline":"kabul etme","jingle_reason_success":"kapatıldı","Media_failure":"Medya istek hatası","No_local_audio_device":"Yerel ses cihazı bulunamadı.","No_local_video_device":"Yerel video cihazı bulunamadı.","Ok":"Tamam","PermissionDeniedError":"Siz veya tarayıcınız sesli/görüntülü izni reddetti","Use_local_audio_device":"Yerel video cihazını kullan.","Use_local_video_device":"Yerel video cihazını kullanın.","is_":"__status__","You_received_a_message_from_an_unknown_sender_":"Bilinmeyen bir gönderenden bir ileti aldınız (__sender__) İletiyi görüntülemek istiyor musunuz?","Your_roster_is_empty_add_":"Listeniz boş, yeni bir <a>kişi ekleyin</a>","onsmp_explanation_question":"Karşınızdaki kişi, konuştuğu kişinin gerçekten siz olduğunuzu belirlemeye çalışıyor. Karşınızdaki kişiye kimliğinizi kanıtlamak için, yanıtı girin ve Yanıtla'yı tıklayın.","onsmp_explanation_secret":"Karşınızdaki kişi, konuştuğu kişinin gerçekten siz olduğunuzu belirlemeye çalışıyor. Karşınızdaki kişiye kimliğinizi kanıtlamak için, parolayı girin.","from_sender":"__sender__'den","Verified_private_conversation_started":"Doğrulanmış Özel görüşme başladı.","Unverified_private_conversation_started":"Doğrulanmamış Özel görüşme başladı.","Bookmark":"Yer imi","Auto-join":"Otomatik katıl","Edit_bookmark":"yer imini düzenle","Room_logging_is_disabled":"Oda günlüğü devre dışı","Room_is_now_non-anoymous":"Oda artık anonim değil","Room_is_now_semi-anonymous":"Oda yarı-anonim","Do_you_want_to_change_the_default_room_configuration":"Öntanımlı oda yapılandırmasını değiştirmek istiyor musunuz?","Default":"Öntanımlı","Change":"Değiştir","Send_file":"Dosya gönder","setting-explanation-carbon":"Etkinleştirilmiş karbon kopya ile, XMPP sunucusu kendisine gönderilen her iletinin bir kopyasını, bu adrese gönderilmemiş olsa bile sizin için bu istemciye gönderir.","setting-explanation-login":"Bu seçenek etkinleştirilirse, sohbet girişle beraber başlayacaktır.","setting-explanation-priority":"Aynı hesapla bir çok kez oturum açtıysanız, XMPP sunucusu, istemciye iletileri en yüksek öncelikle gönderecektir.","setting-explanation-xmpp":"Bu seçenekler XMPP sunucusuna bağlanmak için kullanılır.","_is_composing":" yazıyor...","_are_composing":" yazıyorlar...","Chat_state_notifications":"Sohbet durumu bildirimleri","setting-explanation-chat-state":"Birisi mesaj başlattığında veya mesaj yazmayı bıraktığında, sohbet durumu bildirimleri göndermek ve almak istiyor musunuz?","Share_screen":"Ekran paylaşımı","Incoming_stream":"Gelen akış","Stream_started":"Akış başladı","HTTPS_REQUIRED":"Bu eylem, şifreli bir bağlantı gerektirir.","EXTENSION_UNAVAILABLE":"Tarayıcı eklentisine ihtiyacınız var.","UNKNOWN_ERROR":"Bilinmeyen bir hata oluştu.","Install_extension":"Ekran paylaşımını kullanabilmek için lütfen eklentiyi yükleyin: ","Connection_accepted":"Bağlantı kabul edildi","Stream_terminated":"Akış sonlandırıldı","Close_all":"Hepsini kapat","Notification":null,"Unreadable_OTR_message":null}},"vi-VN":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"zh-TW":{"translation":{"Logging_in":"正在登入…","your_connection_is_unencrypted":"連線沒加密。","your_connection_is_encrypted":"連線有加密。","your_buddy_closed_the_private_connection":"聯絡人關閉了加密連線。","start_private":"開始加密","close_private":"結束加密","your_buddy_is_verificated":"聯絡人已校驗。","you_have_only_a_subscription_in_one_way":"只有單向訂閱。","authentication_query_sent":"驗證要求送出了。","your_message_wasnt_send_please_end_your_private_conversation":"訊息沒送出去。請結束加密的對話。","unencrypted_message_received":"收到沒加密的訊息","not_available":"不存在","no_connection":"沒有連線!","relogin":"重新登入","trying_to_start_private_conversation":"正在試著開始加密的對話!","Verified":"已校驗","Unverified":"未校驗","private_conversation_aborted":"加密的對話中斷了!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"聯絡人把這場加密的對話關掉了!你也應該同樣關掉。","conversation_is_now_verified":"對話現在校驗過了。","authentication_failed":"驗證失敗。","Creating_your_private_key_":"正在產生你的私人金鑰,會花一段時間。","Authenticating_a_buddy_helps_":"聯絡人驗證可以確保跟你說話的是真的那個人。","How_do_you_want_to_authenticate_your_buddy":"想要怎樣驗證__bid_name__ (<b>__bid_jid__</b>)?","Select_method":"選個方式...","Manual":"手動","Question":"問答","Secret":"祕密","To_verify_the_fingerprint_":"要校驗聯絡人的電子指紋,請透過其他可靠的管道跟她/他聯絡,比如說電話。","Your_fingerprint":"你的電子指紋","Buddy_fingerprint":"聯絡人的電子指紋","Close":"關閉","Compared":"比對正確","To_authenticate_using_a_question_":"要用問答來驗證的話,請找一個只有你和聯絡人才知道答案的問題。","Ask":"問題","To_authenticate_pick_a_secret_":"要驗證的話,請找一個只有你和聯絡人知道的祕密。","Compare":"比對","Fingerprints":"電子指紋","Authentication":"驗證","Message":"訊息","Add_buddy":"加聯絡人","rename_buddy":"重新命名聯絡人","delete_buddy":"刪掉聯絡人","Login":"登入","Username":"使用者名稱","Password":"密碼","Cancel":"取消","Connect":"連線","Type_in_the_full_username_":"請打全名,別名可有可無","Alias":"別名","Add":"加入","Subscription_request":"訂閱請求","You_have_a_request_from":"收到聯絡人的請求:","Deny":"拒絕","Approve":"同意","Remove_buddy":"刪除聯絡人","You_are_about_to_remove_":"要把__bid_name__ (<b>__bid_jid__</b>)從聯絡簿裡刪掉了。所有相關的對話也都會關掉。","Continue_without_chat":"繼續不聊天","Please_wait":"請等一下","Login_failed":"登入聊天失敗","Sorry_we_cant_authentikate_":"跟聊天伺服器驗證失敗,會不會是密碼打錯了?","Retry":"上一步","clear_history":"清除歷史紀錄","New_message_from":"有新訊息:__name__","Should_we_notify_you_":"以後若有新訊息要通知你嗎?","Please_accept_":"請點上方的「允許」按鈕。","Hide_offline":"隱藏離線聯絡人","Show_offline":"顯示離線聯絡人","About":"關於我","dnd":"別打擾","Mute":"開靜音","Unmute":"關靜音","Subscription":"訂閱狀態","both":"雙向","Status":"狀態","online":"上線","chat":"聊天","away":"離開","xa":"離開很久","offline":"離線","none":"沒有","Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":"收到了一則加密但無法辨認的訊息。","Online":"上線","Chatty":"想聊天","Away":"離開","Extended_away":"離開很久","Offline":"離線","Friendship_request":"聯絡請求","Confirm":"確定","Dismiss":"取消","Remove":"刪掉","Online_help":"線上說明","FN":"全名","N":" ","FAMILY":"姓氏","GIVEN":"名字","NICKNAME":"綽號","URL":"網址","ADR":"位址","STREET":"地址","EXTADD":"更多位址","LOCALITY":"所在地","REGION":"區域","PCODE":"郵遞區號","CTRY":"國家","TEL":"電話","NUMBER":"編號","EMAIL":"電子郵件","USERID":" ","ORG":"團體","ORGNAME":"名稱","ORGUNIT":"單位","TITLE":"職稱","ROLE":"職位","BDAY":"生日","DESC":"簡介","PHOTO":" ","send_message":"發送訊息","get_info":"顯示帳號資訊","Settings":"設定","Priority":"優先度","Save":"儲存","User_settings":"使用者設定","A_fingerprint_":"電子指紋是用來確認跟你說話的是真的那個人。","is":"狀態:","Login_options":"登入選項","BOSH_url":"BOSH 網址","Domain":"網域","Resource":"資源","On_login":"登入啟動","Received_an_unencrypted_message":"收到了一則沒加密的訊息","Sorry_your_buddy_doesnt_provide_any_information":"抱歉,聯絡人沒有提供任何資訊。","Info_about":"帳號資訊:","Authentication_aborted":"驗證中斷。","Authentication_request_received":"驗證請求收到了。","Log_in_without_chat":"登入但不啟用聊天","has_come_online":"上線了","Unknown_sender":"不明傳訊人","Please_allow_access_to_microphone_and_camera":"請點上方的「接受」按鈕來允許我們使用麥克風和相機。","Incoming_call":"來電","from":"只出","Do_you_want_to_accept_the_call_from":"是否要接聽來電:","Reject":"拒絕","Accept":"接受","hang_up":"掛斷","snapshot":"截圖","mute_my_audio":"關掉我的聲音","pause_my_video":"暫停我的影像","fullscreen":"全螢幕","Info":"資料","Local_IP":"本機網路位址","Remote_IP":"遠端網路位址","Local_Fingerprint":"本機電子指紋","Remote_Fingerprint":"遠端電子指紋","Video_call_not_possible":"無法視訊通話。聯絡人不支援視訊。","Start_video_call":"開始視訊通話","Join_chat":"參加聊天","Join":"參加","Room":"聊天室","Nickname":"綽號","left_the_building":"__nickname__離開了大樓","entered_the_room":"__nickname__進入了聊天室","is_now_known_as":"__oldNickname__改名叫做__newNickname__","This_room_is":"聊天室屬性:","muc_hidden":{"keyword":"隱藏","description":"搜尋也找不到"},"muc_membersonly":{"keyword":"限會員","description":"會員才會加入"},"muc_moderated":{"keyword":"有管制","description":"沒被消音的人才能送訊息"},"muc_nonanonymous":{"keyword":"禁匿名","description":"每個參與人都能看到你的 jabber 代碼"},"muc_open":{"keyword":"開放","description":"任何人都能參加"},"muc_passwordprotected":{"keyword":"密碼鎖","description":"要輸入正確的密碼才能加入"},"muc_persistent":{"keyword":"永久性","description":"最後一個參與人都離開了也不會結束"},"muc_public":{"keyword":"公開","description":"搜尋得到"},"muc_semianonymous":{"keyword":"半匿名","description":"只有聊天室管理員才看得到你的 jabber 代碼"},"muc_temporary":{"keyword":"暫時性","description":"最後一個參與人離開了就會結束"},"muc_unmoderated":{"keyword":"沒管制","description":"每個人都可以送訊息"},"muc_unsecured":{"keyword":"沒保護","description":"不需要密碼就能加入"},"Continue":"繼續","Server":"伺服器","Rooms_are_loaded":"聊天室載入完成","Could_load_only":"只能載入__count__間聊天室供輸入自動完成使用","muc_explanation":"請輸入要參加的聊天室名稱,綽號和密碼非必要","You_already_joined_this_room":"你已經參加這間聊天室了","This_room_will_be_closed":"聊天室即將關閉","Room_not_found_":"新聊天室即將開啟","Loading_room_information":"正在載入聊天室資訊","Destroy":"關閉","Leave":"離開","changed_subject_to":"__nickname__把聊天室的標題改成了\"__subject__\"","muc_removed_kicked":"你被踢出聊天室了","muc_removed_info_kicked":"__nickname__被踢出聊天室了","muc_removed_banned":"你被禁止進入聊天室了","muc_removed_info_banned":"__nickname__被禁止進入聊天室了","muc_removed_affiliation":"你因為身份改變而離開聊天室了","muc_removed_info_affiliation":"__nickname__因為身份改變而離開聊天室了","muc_removed_membersonly":"你離開聊天室了,因為聊天室改為只限會員,但你不是會員","muc_removed_info_membersonly":"__nickname__離開聊天室了,因為聊天室改為只限會員,但她/他不是會員","muc_removed_shutdown":"你離開聊天室了,因為多人聊天服務正在關閉中。","Reason":"原因","message_not_send":"訊息因為發生錯誤沒送出去","message_not_send_item-not-found":"訊息沒送出去,因為聊天室不存在了","message_not_send_forbidden":"訊息沒送出去,因為你被消音了","message_not_send_not-acceptable":"訊息沒送出去,因為你不是聊天室的參與人了","This_room_has_been_closed":"聊天室已經關閉了","Room_logging_is_enabled":"聊天室紀錄打開了","A_password_is_required":"需要密碼","You_are_not_on_the_member_list":"你不是會員","You_are_banned_from_this_room":"你被禁止進入聊天室了","Your_desired_nickname_":"這個綽號被用掉了,請換一個","The_maximum_number_":"這間聊天室已經到達使用者數目的上限","This_room_is_locked_":"聊天室上鎖了","You_are_not_allowed_to_create_":"不允許你開新的聊天室","Alert":"警告","Call_started":"通話開始","Call_terminated":"通話結束","Carbon_copy":"副本","Enable":"打開","jingle_reason_busy":"忙線中","jingle_reason_decline":"被拒絕","jingle_reason_success":"被掛斷","Media_failure":"媒體錯誤","No_local_audio_device":"本機沒有音訊設備。","No_local_video_device":"本機沒有視訊設備。","Ok":"好","PermissionDeniedError":"你或你的瀏覽器拒絕了媒體使用權限","Use_local_audio_device":"使用本機音訊設備。","Use_local_video_device":"使用本機視訊設備。","is_":"狀態: __status__","You_received_a_message_from_an_unknown_sender_":"收到了不明人士(__sender__)傳來的訊息。你要打開來看嗎?","Your_roster_is_empty_add_":"好友清單是空的,請加<a>新的聯絡人</a>","onsmp_explanation_question":"聯絡人想要確定她/他是在跟真的你說話。要完成你的驗證,請輸入問題的答案,然後按\"回答\"。","onsmp_explanation_secret":"聯絡人想要確定她/他是在跟真的你說話。要完成你的驗證,請輸入你們之間的祕密。","from_sender":"來自:__sender__","Verified_private_conversation_started":"加密且已校驗的對話開始了。","Unverified_private_conversation_started":"加密但未校驗的對話開始了。","Bookmark":"書籤","Auto-join":"自動參加","Edit_bookmark":"編輯書籤","Room_logging_is_disabled":"聊天室紀錄關掉了","Room_is_now_non-anoymous":"現在聊天室禁止匿名了","Room_is_now_semi-anonymous":"現在聊天室變半匿名了","Do_you_want_to_change_the_default_room_configuration":"你想要改變聊天室的預設配置嗎?","Default":"預設值","Change":"修改","Send_file":"傳送檔案","setting-explanation-carbon":"如果打開副本選項的話,XMPP 伺服器會把每一個收到的訊息,都送一份到這個用戶端程式,即使它不是訊息發送的對象。","setting-explanation-login":"打開這個選項會在登入時同時開啟聊天。","setting-explanation-priority":"如果你用同一個帳號同時登入好幾次的話,XMPP 伺服器會把訊息送給優先度最高的那個用戶端程式。","setting-explanation-xmpp":"這些是用在 XMPP 伺服器連線的選項。","_is_composing":"正在打字中...","_are_composing":"正在打字中...","Chat_state_notifications":"聊天狀態通知","setting-explanation-chat-state":"想要傳送以及接收聊天狀態的通知嗎?也就是有人開始或停止寫訊息之類?","Share_screen":"分享螢幕","Incoming_stream":"有串流來","Stream_started":"串流開始了","HTTPS_REQUIRED":"這個動作需要連線有加密。","EXTENSION_UNAVAILABLE":"瀏覽器必須要安裝擴充套件或是附加元件。","UNKNOWN_ERROR":"發生了不明錯誤。","Install_extension":"要使用螢幕分享功能請安裝這個擴充套件: ","Connection_accepted":"連線接受了","Stream_terminated":"串流結束了","Close_all":"全部關掉","Notification":null,"Unreadable_OTR_message":null}},"zh":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}}}; \ No newline at end of file
+var I18next = {"bg":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"bn-BD":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"de":{"translation":{"Logging_in":"Login läuft…","your_connection_is_unencrypted":"Deine Verbindung ist unverschlüsselt.","your_connection_is_encrypted":"Deine Verbindung ist verschlüsselt.","your_buddy_closed_the_private_connection":"Dein Kontakt hat die private Verbindung getrennt.","start_private":"Privat starten","close_private":"Privat abbrechen","your_buddy_is_verificated":"Dein Kontakt ist verifiziert.","you_have_only_a_subscription_in_one_way":"Der Kontaktstatus ist einseitig.","authentication_query_sent":"Authentifizierungsanfrage gesendet.","your_message_wasnt_send_please_end_your_private_conversation":"Deine Nachricht wurde nicht gesendet. Bitte beende die private Konversation.","unencrypted_message_received":"Unverschlüsselte Nachricht erhalten.","not_available":"Nicht verfügbar.","no_connection":"Keine Verbindung.","relogin":"Neu anmelden.","trying_to_start_private_conversation":"Versuche private Konversation zu starten.","Verified":"Verifiziert","Unverified":"Unverifiziert","private_conversation_aborted":"Private Konversation abgebrochen.","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Dein Kontakt hat die private Konversation beendet. Das solltest du auch tun!","conversation_is_now_verified":"Konversation ist jetzt verifiziert","authentication_failed":"Authentifizierung fehlgeschlagen.","Creating_your_private_key_":"Wir werden jetzt deinen privaten Schlüssel generieren. Das kann einige Zeit in Anspruch nehmen.","Authenticating_a_buddy_helps_":"Einen Kontakt zu authentifizieren hilft sicherzustellen, dass die Person mit der du sprichst auch die ist die sie sagt.","How_do_you_want_to_authenticate_your_buddy":"Wie willst du __bid_name__ (<b>__bid_jid__</b>) authentifizieren?","Select_method":"Wähle...","Manual":"Manual","Question":"Frage","Secret":"Geheimnis","To_verify_the_fingerprint_":"Um den Fingerprint zu verifizieren kontaktiere dein Kontakt über einen anderen Kommunikationsweg. Zum Beispiel per Telefonanruf.","Your_fingerprint":"Dein Fingerprint","Buddy_fingerprint":"Sein/Ihr Fingerprint","Close":"Schließen","Compared":"Verglichen","To_authenticate_using_a_question_":"Um die Authentifizierung per Frage durchzuführen, wähle eine Frage bei welcher nur dein Kontakt die Antwort kennt.","Ask":"Frage","To_authenticate_pick_a_secret_":"Um deinen Kontakt zu authentifizieren, wähle ein Geheimnis welches nur deinem Kontakt und dir bekannt ist.","Compare":"Vergleiche","Fingerprints":"Fingerprints","Authentication":"Authentifizierung","Message":"Nachricht","Add_buddy":"Kontakt hinzufügen","rename_buddy":"Kontakt umbenennen","delete_buddy":"Kontakt löschen","Login":"Anmeldung","Username":"Benutzername","Password":"Passwort","Cancel":"Abbrechen","Connect":"Verbinden","Type_in_the_full_username_":"Gib bitte den vollen Benutzernamen und optional ein Alias an.","Alias":"Alias","Add":"Hinzufügen","Subscription_request":"Kontaktanfrage","You_have_a_request_from":"Du hast eine Anfrage von","Deny":"Ablehnen","Approve":"Bestätigen","Remove_buddy":"Kontakt entfernen","You_are_about_to_remove_":"Du bist gerade dabei __bid_name__ (<b>__bid_jid__</b>) von deiner Kontaktliste zu entfernen. Alle Chats werden geschlossen.","Continue_without_chat":"Weiter ohne Chat","Please_wait":"Bitte warten","Login_failed":"Chat-Anmeldung fehlgeschlagen","Sorry_we_cant_authentikate_":"Der Chatserver hat die Anmeldung abgelehnt. Falsches Passwort?","Retry":"Zurück","clear_history":"Lösche Verlauf","New_message_from":"Neue Nachricht von __name__","Should_we_notify_you_":"Sollen wir dich in Zukunft über eingehende Nachrichten informieren, auch wenn dieser Tab nicht im Vordergrund ist?","Please_accept_":"Bitte klick auf den \"Zulassen\" Button oben.","Hide_offline":"Offline ausblenden","Show_offline":"Offline einblenden","About":"Über","dnd":"Beschäftigt","Mute":"Ton aus","Unmute":"Ton an","Subscription":"Bezug","both":"beidseitig","Status":"Status","online":"online","chat":"chat","away":"abwesend","xa":"länger abwesend","offline":"offline","none":"keine","Unknown_instance_tag":"Unbekannter instance tag.","Not_one_of_our_latest_keys":"Nicht einer unserer letzten Schlüssel.","Received_an_unreadable_encrypted_message":"Eine unlesbare verschlüsselte Nachricht erhalten.","Online":"Online","Chatty":"Gesprächig","Away":"Abwesend","Extended_away":"Länger abwesend","Offline":"Offline","Friendship_request":"Kontaktanfrage","Confirm":"Bestätigen","Dismiss":"Ablehnen","Remove":"Löschen","Online_help":"Online Hilfe","FN":"Name","N":" ","FAMILY":"Familienname","GIVEN":"Vorname","NICKNAME":"Spitzname","URL":"URL","ADR":"Adresse","STREET":"Straße","EXTADD":"Zusätzliche Adresse","LOCALITY":"Ortschaft","REGION":"Region","PCODE":"Postleitzahl","CTRY":"Land","TEL":"Telefon","NUMBER":"Nummer","EMAIL":"E-Mail","USERID":" ","ORG":"Organisation","ORGNAME":"Name","ORGUNIT":"Abteilung","TITLE":"Titel","ROLE":"Rolle","BDAY":"Geburtstag","DESC":"Beschreibung","PHOTO":" ","send_message":"Sende Nachricht","get_info":"Benutzerinformationen","Settings":"Einstellungen","Priority":"Priorität","Save":"Speichern","User_settings":"Benutzereinstellungen","A_fingerprint_":"Ein Fingerabdruck wird dazu benutzt deinen Gesprächspartner zu identifizieren.","is":"ist","Login_options":"Anmeldeoptionen","BOSH_url":"BOSH url","Domain":"Domain","Resource":"Ressource","On_login":"Beim Anmelden","Received_an_unencrypted_message":"Unverschlüsselte Nachricht empfangen","Sorry_your_buddy_doesnt_provide_any_information":"Dein Kontakt stellt leider keine Informationen bereit.","Info_about":"Info über","Authentication_aborted":"Authentifizierung abgebrochen.","Authentication_request_received":"Authentifizierungsanfrage empfangen.","Log_in_without_chat":"Anmelden ohne Chat","has_come_online":"ist online gekommen","Unknown_sender":"Unbekannter Sender","Please_allow_access_to_microphone_and_camera":"Bitte klick auf den \"Zulassen\" Button oben, um den Zugriff auf Kamera und Mikrofon zu erlauben.","Incoming_call":"Eingehender Anruf","from":"von","Do_you_want_to_accept_the_call_from":"Möchtest Du den Anruf annehmen von","Reject":"Ablehnen","Accept":"Annehmen","hang_up":"Auflegen","snapshot":"Schnappschuss","mute_my_audio":"Mein Ton aus","pause_my_video":"Mein Video pausieren","fullscreen":"Vollbild","Info":"Info","Local_IP":"Lokale IP","Remote_IP":"Remote IP","Local_Fingerprint":"Lokaler Fingerprint","Remote_Fingerprint":"Remote Fingerprint","Video_call_not_possible":"Videoanruf nicht verfügbar. Dein Gesprächspartner unterstützt keine Videotelefonie.","Start_video_call":"Starte Videoanruf","Join_chat":"Gruppe beitreten","Join":"Betreten","Room":"Gruppe","Nickname":"Nickname","left_the_building":"__nickname__ hat die Gruppe verlassen","entered_the_room":"__nickname__ ist der Gruppe beigetreten","is_now_known_as":"__oldNickname__ ist nun unter __newNickname__ bekannt","This_room_is":"Diese Gruppe ist","muc_hidden":{"keyword":"versteckt","description":"kann durch die Suche nicht gefunden werden"},"muc_membersonly":{"keyword":"nur für Mitglieder","description":"du musst auf der Mitgliederliste stehen"},"muc_moderated":{"keyword":"moderiert","description":"Nur Personen die \"Mitspracherecht\" haben dürfen Nachrichten senden"},"muc_nonanonymous":{"keyword":"nicht anonym","description":"deine Jabber ID wird für alle Mitglieder sichtbar sein"},"muc_open":{"keyword":"offen","description":"jeder darf dieser Gruppe beitreten"},"muc_passwordprotected":{"keyword":"passwortgeschützt","description":"du benötigst das korrekte Passwort"},"muc_persistent":{"keyword":"permanent","description":"wird nicht geschlossen, wenn das letzte Mitglied die Gruppe verlässt"},"muc_public":{"keyword":"öffentlich","description":"kann durch die Suche gefunden werden"},"muc_semianonymous":{"keyword":"teilweise anonym","description":"deine Jabber ID wird nur für die Gruppen Administratoren sichtbar sein"},"muc_temporary":{"keyword":"temporär","description":"wird geschlossen, wenn das letzte Mitglied die Gruppe verlässt"},"muc_unmoderated":{"keyword":"nicht moderiert","description":"jeder darf Nachrichten senden"},"muc_unsecured":{"keyword":"ungesichert","description":"es wird kein Passwort benötigt"},"Continue":"Weiter","Server":"Server","Rooms_are_loaded":"Gruppen werden geladen","Could_load_only":"Es konnten nur __count__ Gruppen für die Autovervollständigung geladen werden","muc_explanation":"Bitte trage den Gruppennamen und optional ein Nickname und Passwort ein um einer Gruppe beizutreten","You_already_joined_this_room":"Du bist dieser Gruppe bereits beigetreten","This_room_will_be_closed":"Diese Gruppe wird geschlossen","Room_not_found_":"Es wird eine neue Gruppe erstellt","Loading_room_information":"Informationen über Gruppe werden geladen","Destroy":"Auflösen","Leave":"Verlassen","changed_subject_to":"__nickname__ hat das Thema auf __subject__ geändert","muc_removed_kicked":"Du wurdest aus der Gruppe entfernt","muc_removed_info_kicked":"__nickname__ wurde aus der Gruppe entfernt","muc_removed_banned":"Du wurdest aus der Gruppe ausgeschlossen","muc_removed_info_banned":"__nickname__ wurde aus der Gruppe ausgeschlossen","muc_removed_affiliation":"Du wurdest aus der Gruppe entfernt wegen einer Änderung deines Mitgliedstatus","muc_removed_info_affiliation":"__nickname__ wurde aus der Gruppe entfernt wegen einer Änderung seines Mitgliedstatus","muc_removed_membersonly":"Diese Gruppe erlaubt jetzt nur noch eingetragene Mitglieder und da du nicht dazugehörst, wurdest du aus der Gruppen entfernt","muc_removed_info_membersonly":"Diese Gruppe erlaubt jetzt nur noch eingetragene Mitglieder und __nickname__ gehört nicht dazu, daher wurde er aus der Gruppe entfernt","muc_removed_shutdown":"Du wurdest aus der Gruppe entfernt, da der MUC Server heruntergefahren wird","Reason":"Grund","message_not_send":"Deine Nachricht wurde aufgrund eines Fehlers nicht versandt","message_not_send_item-not-found":"Deine Nachricht wurde nicht versandt, da der Raum nicht mehr existiert","message_not_send_forbidden":"Deine Nachricht wurde nicht versandt, da du kein \"Mitspracherecht\" hast","message_not_send_not-acceptable":"Deine Nachricht wurde nicht versandt, da du kein Mitglied dieser Gruppe bist","This_room_has_been_closed":"Diese Gruppe wurde geschlossen","Room_logging_is_enabled":"Gesprächsverlauf kann öffentlich einsehbar sein","A_password_is_required":"Es wird ein Passwort benötigt","You_are_not_on_the_member_list":"Du bist kein eingetragenes Mitglied","You_are_banned_from_this_room":"Du wurdest von dieser Gruppe ausgeschlossen","Your_desired_nickname_":"Dein gewünschter Nickname wird bereits verwendet. Bitte wähle einen anderen.","The_maximum_number_":"Die maximale Anzahl der Mitglieder wurde erreicht.","This_room_is_locked_":"Diese Gruppe ist gesperrt","You_are_not_allowed_to_create_":"Du darfst keine neue Gruppe erstellen","Alert":"Alarm","Call_started":"Anruf gestarted","Call_terminated":"Anruf beendet","Carbon_copy":"Kopie","Enable":"Aktivieren","jingle_reason_busy":"beschäftigt","jingle_reason_decline":"abgelehnt","jingle_reason_success":"aufgelegt","Media_failure":"Gerätefehler","No_local_audio_device":"Kein eigenes Audio Gerät","No_local_video_device":"Keine eigene Webcam","Ok":"Ok","PermissionDeniedError":"Du oder dein Browser haben die Audio/Video Berechtigung verweigert","Use_local_audio_device":"Nutze eigenes Audio Gerät","Use_local_video_device":"Benutze eigene Webcam","is_":"ist __status__","You_received_a_message_from_an_unknown_sender_":"Du hast eine Nachricht von einem unbekannten Absender erhalten (__sender__). Möchtest du sie sehen?","Your_roster_is_empty_add_":"Deine Kontaktliste ist leer, füge einen neuen Kontakt <a>hinzu</a>","onsmp_explanation_question":"Dein Kontakt versucht herauszufinden ob er wirklich mit dir redet. Um dich gegenüber deinem Kontakt zu verifizieren gib die Antwort ein und klick auf Antworten.","onsmp_explanation_secret":"Dein Kontakt versucht herauszufinden ob er wirklich mit dir redet. Um dich gegenüber deinem Kontakt zu verifizieren gib das Geheimnis ein.","from_sender":"von __sender__","Verified_private_conversation_started":"Verifizierte private Konversation gestartet.","Unverified_private_conversation_started":"Unverifizierte private Konversation gestartet.","Bookmark":"Lesezeichen","Auto-join":"Automatisch beitreten","Edit_bookmark":"Lesezeichen bearbeiten","Room_logging_is_disabled":"Gruppen Log ist deaktiviert","Room_is_now_non-anoymous":"Gruppe ist jetzt nicht anonym","Room_is_now_semi-anonymous":"Gruppe ist jetzt semi-anonym","Do_you_want_to_change_the_default_room_configuration":"Möchtest du die Gruppenkonfiguration ändern?","Default":"Standard","Change":"Ändern","Send_file":"Datei senden","setting-explanation-carbon":"Wenn Kopien aktiviert sind, werden alle eingehenden Nachrichten zu allen angemeldeten Clients gesendet.","setting-explanation-login":"Wenn diese Option aktiviert ist, wird der Chat beim Anmelden automatisch gestartet.","setting-explanation-priority":"Wenn du mit deinem XMPP Konto mehrfach angemeldet bist, werden Nachrichten zu dem Client mit der höchsten Priorität zugestellt.","setting-explanation-xmpp":"Diese Optionen werden für die Verbindung zum XMPP Server genutzt.","_is_composing":" tippt gerade...","_are_composing":" tippen gerade...","Chat_state_notifications":"Statusbenachrichtigungen","setting-explanation-chat-state":"Möchtest Benachrichtigungen senden und erhalten wenn du oder dein Kontakt Nachrichten tippt?","Share_screen":"Teile Bildschirm","Incoming_stream":"Eingehender Stream","Stream_started":"Stream gestarted","HTTPS_REQUIRED":"Diese Aktion erfordert eine verschlüsselte Verbindung.","EXTENSION_UNAVAILABLE":"Sie benötigen eine Browser Erweiterung.","UNKNOWN_ERROR":"Ein unbekannter Fehler ist aufgetreten.","Install_extension":"Bitte installieren Sie die Erweiterung um ihren Bildschirm zu teilen: ","Connection_accepted":"Verbindung angenommen","Stream_terminated":"Stream beendet","Close_all":"Schließe alle","Notification":"Benachrichtigung","Unreadable_OTR_message":"Unlesbare OTR Nachricht verworfen","Load_older_messages":"Lade ältere Nachrichten"}},"el":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"en":{"translation":{"Logging_in":"Logging in…","your_connection_is_unencrypted":"Your connection is unencrypted.","your_connection_is_encrypted":"Your connection is encrypted.","your_buddy_closed_the_private_connection":"Your contact closed the private connection.","start_private":"Start private","close_private":"Close private","your_buddy_is_verificated":"Your contact is verified.","you_have_only_a_subscription_in_one_way":"You only have a one-way subscription.","authentication_query_sent":"Authentication query sent.","your_message_wasnt_send_please_end_your_private_conversation":"Your message was not sent. Please end your private conversation.","unencrypted_message_received":"Unencrypted message received","not_available":"Not available","no_connection":"No connection!","relogin":"relogin","trying_to_start_private_conversation":"Trying to start private conversation!","Verified":"Verified","Unverified":"Unverified","private_conversation_aborted":"Private conversation aborted!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Your contact closed the private conversation! You should do the same.","conversation_is_now_verified":"Conversation is now verified.","authentication_failed":"Authentication failed.","Creating_your_private_key_":"Creating your private key; this may take a while.","Authenticating_a_buddy_helps_":"Authenticating a contact helps ensure that the person you are talking to is really the one they claim to be.","How_do_you_want_to_authenticate_your_buddy":"How do you want to authenticate __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Select method...","Manual":"Manual","Question":"Question","Secret":"Secret","To_verify_the_fingerprint_":"To verify the fingerprint, contact your contact via some other trustworthy channel, such as the telephone.","Your_fingerprint":"Your fingerprint","Buddy_fingerprint":"Contact fingerprint","Close":"Close","Compared":"Compared","To_authenticate_using_a_question_":"To authenticate using a question, pick a question whose answer is known only you and your contact.","Ask":"Ask","To_authenticate_pick_a_secret_":"To authenticate, pick a secret known only to you and your contact.","Compare":"Compare","Fingerprints":"Fingerprints","Authentication":"Authentication","Message":"Message","Add_buddy":"Add contact","rename_buddy":"rename contact","delete_buddy":"delete contact","Login":"Login","Username":"Username","Password":"Password","Cancel":"Cancel","Connect":"Connect","Type_in_the_full_username_":"Type in the full username and an optional alias.","Alias":"Alias","Add":"Add","Subscription_request":"Subscription request","You_have_a_request_from":"You have a request from","Deny":"Deny","Approve":"Approve","Remove_buddy":"Remove contact","You_are_about_to_remove_":"You are about to remove __bid_name__ (<b>__bid_jid__</b>) from your contact list. All related chats will be closed.","Continue_without_chat":"Continue without chat","Please_wait":"Please wait","Login_failed":"Chat login failed","Sorry_we_cant_authentikate_":"Authentication failed with the chat server. Maybe the password is wrong?","Retry":"Back","clear_history":"Clear history","New_message_from":"New message from __name__","Should_we_notify_you_":"Should we notify you about new messages in the future?","Please_accept_":"Please click the \"Allow\" button at the top.","Hide_offline":"Hide offline contacts","Show_offline":"Show offline contacts","About":"About","dnd":"Do Not Disturb","Mute":"Mute","Unmute":"Unmute","Subscription":"Subscription","both":"both","Status":"Status","online":"online","chat":"chat","away":"away","xa":"extended away","offline":"offline","none":"none","Unknown_instance_tag":"Unknown instance tag.","Not_one_of_our_latest_keys":"Not one of our latest keys.","Received_an_unreadable_encrypted_message":"Received an unreadable encrypted message.","Online":"Online","Chatty":"Chatty","Away":"Away","Extended_away":"Extended away","Offline":"Offline","Friendship_request":"Contact request","Confirm":"Confirm","Dismiss":"Dismiss","Remove":"Remove","Online_help":"Online help","FN":"Full name","N":" ","FAMILY":"Family name","GIVEN":"Given name","NICKNAME":"Nickname","URL":"URL","ADR":"Address","STREET":"Street Address","EXTADD":"Extended Address","LOCALITY":"Locality","REGION":"Region","PCODE":"Postal Code","CTRY":"Country","TEL":"Telephone","NUMBER":"Number","EMAIL":"Email","USERID":" ","ORG":"Organization","ORGNAME":"Name","ORGUNIT":"Unit","TITLE":"Job title","ROLE":"Role","BDAY":"Birthday","DESC":"Description","PHOTO":" ","send_message":"Send message","get_info":"Show information","Settings":"Settings","Priority":"Priority","Save":"Save","User_settings":"User settings","A_fingerprint_":"A fingerprint is used to make sure that the person you are talking to is who he or she is saying.","is":"is","Login_options":"Login options","BOSH_url":"BOSH URL","Domain":"Domain","Resource":"Resource","On_login":"On login","Received_an_unencrypted_message":"Received an unencrypted message","Sorry_your_buddy_doesnt_provide_any_information":"Sorry, your contact does not provide any information.","Info_about":"Info about","Authentication_aborted":"Authentication aborted.","Authentication_request_received":"Authentication request received.","Log_in_without_chat":"Log in without chat","has_come_online":"has come online","Unknown_sender":"Unknown sender","Please_allow_access_to_microphone_and_camera":"Please click the \"Allow\" button at the top, to allow access to microphone and camera.","Incoming_call":"Incoming call","from":"from","Do_you_want_to_accept_the_call_from":"Do you want to accept the call from","Reject":"Reject","Accept":"Accept","hang_up":"hang up","snapshot":"snapshot","mute_my_audio":"mute my audio","pause_my_video":"pause my video","fullscreen":"fullscreen","Info":"Info","Local_IP":"Local IP","Remote_IP":"Remote IP","Local_Fingerprint":"Local fingerprint","Remote_Fingerprint":"Remote fingerprint","Video_call_not_possible":"Video call not possible. Your contact does not support video calls.","Start_video_call":"Start video call","Join_chat":"Join chat","Join":"Join","Room":"Room","Nickname":"Nickname","left_the_building":"__nickname__ left the building","entered_the_room":"__nickname__ entered the room","is_now_known_as":"__oldNickname__ is now known as __newNickname__","This_room_is":"This room is","muc_hidden":{"keyword":"hidden","description":"can not be found through search"},"muc_membersonly":{"keyword":"members-only","description":"you need to be on the member list"},"muc_moderated":{"keyword":"moderated","description":"only persons with \"voice\" are allowed to send messages"},"muc_nonanonymous":{"keyword":"non-anonymous","description":"your jabber id is exposed to all other occupants"},"muc_open":{"keyword":"open","description":"everyone is allowed to join"},"muc_passwordprotected":{"keyword":"password-protected","description":"you need to provide the correct password"},"muc_persistent":{"keyword":"persistent","description":"will not be destroyed if the last occupant left"},"muc_public":{"keyword":"public","description":"can be found through search"},"muc_semianonymous":{"keyword":"semi-anonymous","description":"your jabber id is only exposed to room admins"},"muc_temporary":{"keyword":"temporary","description":"will be destroyed if the last occupant left"},"muc_unmoderated":{"keyword":"unmoderated","description":"everyone is allowed to send messages"},"muc_unsecured":{"keyword":"unsecured","description":"you need no password to enter"},"Continue":"Continue","Server":"Server","Rooms_are_loaded":"Rooms are loaded","Could_load_only":"Could load only __count__ rooms for autocomplete","muc_explanation":"Please enter room name and optional a nickname and password to join a chat","You_already_joined_this_room":"You already joined this room","This_room_will_be_closed":"This room will be closed","Room_not_found_":"A new room will be created","Loading_room_information":"Loading room information","Destroy":"Destroy","Leave":"Leave","changed_subject_to":"__nickname__ changed the room subject to \"__subject__\"","muc_removed_kicked":"You have been kicked from the room","muc_removed_info_kicked":"__nickname__ has been kicked from the room","muc_removed_banned":"You have been banned from the room","muc_removed_info_banned":"__nickname__ has been banned from the room","muc_removed_affiliation":"You have been removed from the room, because of an affiliation change","muc_removed_info_affiliation":"__nickname__ has been removed from the room, because of an affiliation change","muc_removed_membersonly":"You have been removed from the room, because the room has been changed to members-only and you are no member","muc_removed_info_membersonly":"__nickname__ has been removed from the room, because the room has been changed to members-only and you are no member","muc_removed_shutdown":"You have been removed from the room, because the MUC service is being shut down","Reason":"Reason","message_not_send":"Your message was not send because of an error","message_not_send_item-not-found":"Your message was not send because this room does not exist","message_not_send_forbidden":"Your message was not send because you have no voice in this room","message_not_send_not-acceptable":"Your message was not send because you are no occupant of this room","This_room_has_been_closed":"This room has been closed","Room_logging_is_enabled":"Room logging is enabled","A_password_is_required":"A password is required","You_are_not_on_the_member_list":"You are not on the member list","You_are_banned_from_this_room":"You are banned from this room","Your_desired_nickname_":"Your desired nickname is already in use. Please choose another","The_maximum_number_":"The maximum number of user is reached in this room","This_room_is_locked_":"This room is locked","You_are_not_allowed_to_create_":"You are not allowed to create a room","Alert":"Alert","Call_started":"Call started","Call_terminated":"Call terminated","Carbon_copy":"Carbon copy","Enable":"Enable","jingle_reason_busy":"busy","jingle_reason_decline":"decline","jingle_reason_success":"hung up","Media_failure":"Media failure","No_local_audio_device":"No local audio device.","No_local_video_device":"No local video device.","Ok":"Ok","PermissionDeniedError":"You or your browser denied media permission","Use_local_audio_device":"Use local audio device.","Use_local_video_device":"Use local video device.","is_":"is __status__","You_received_a_message_from_an_unknown_sender_":"You received a message from an unknown sender (__sender__). Do you want to display them?","Your_roster_is_empty_add_":"Your roster is empty, add a <a>new contact</a>","onsmp_explanation_question":"Your contact is attempting to determine if they are really talking to you. To authenticate to your contact, enter the answer and click Answer.","onsmp_explanation_secret":"Your contact is attempting to determine if they are really talking to you. To authenticate to your contact, enter the secret.","from_sender":"from __sender__","Verified_private_conversation_started":"Verified private conversation started.","Unverified_private_conversation_started":"Unverified private conversation started.","Bookmark":"Bookmark","Auto-join":"Auto-join","Edit_bookmark":"Edit bookmark","Room_logging_is_disabled":"Room logging is disabled","Room_is_now_non-anoymous":"Room is now non-anonymous","Room_is_now_semi-anonymous":"Room is now semi-anonymous","Do_you_want_to_change_the_default_room_configuration":"Do you want to change the default room configuration?","Default":"Default","Change":"Change","Send_file":"Send file","setting-explanation-carbon":"With enabled carbon copy your XMPP server will send a copy of every incoming message for you to this client even if it was not addressed to it.","setting-explanation-login":"If this option is enabled, the chat will start on login.","setting-explanation-priority":"If you are logged in multiple times with the same account, your XMPP server will deliver messages to the client with the highest priority.","setting-explanation-xmpp":"These options are used to connect to the XMPP server.","_is_composing":" is composing...","_are_composing":" are composing...","Chat_state_notifications":"Chat state notifications","setting-explanation-chat-state":"Do you want to send and receive chat state notifications, like someone starts or stops composing a message?","Share_screen":"Share screen","Incoming_stream":"Incoming stream","Stream_started":"Stream started","HTTPS_REQUIRED":"This action requires an encrypted connection.","EXTENSION_UNAVAILABLE":"You need a browser extension/addon.","UNKNOWN_ERROR":"An unknown error occured.","Install_extension":"Please install the extension in order to use screen sharing: ","Connection_accepted":"Connection accepted","Stream_terminated":"Stream terminated","Close_all":"Close all","Notification":"Notification","Unreadable_OTR_message":"Unreadable OTR message omitted","Load_older_messages":"Load older messages"}},"es":{"translation":{"Logging_in":"Por favor, espere...","your_connection_is_unencrypted":"Su conexión no está cifrada.","your_connection_is_encrypted":"Su conexión está cifrada.","your_buddy_closed_the_private_connection":"Su amigo ha cerrado la conexión privada.","start_private":"Iniciar privado","close_private":"Cerrar privado","your_buddy_is_verificated":"Tu amigo está verificado.","you_have_only_a_subscription_in_one_way":"Solo tienes una suscripción de un modo.","authentication_query_sent":"Consulta de verificación enviada.","your_message_wasnt_send_please_end_your_private_conversation":"Su mensaje no fue enviado. Por favor, termine su conversación privada.","unencrypted_message_received":"Mensaje no cifrado recibido:","not_available":"No disponible","no_connection":"¡Sin conexión!","relogin":"iniciar sesión nuevamente","trying_to_start_private_conversation":"¡Intentando iniciar una conversación privada!","Verified":"Verificado","Unverified":"No verificado","private_conversation_aborted":"¡Conversación privada abortada!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"¡Su amigo cerró la conversación privada! Usted debería hacer lo mismo.","conversation_is_now_verified":"La conversación es ahora verificada.","authentication_failed":"Falló la verificación.","Creating_your_private_key_":"Ahora vamos a crear su clave privada. Esto puede tomar algún tiempo.","Authenticating_a_buddy_helps_":"Autenticación de un amigo ayuda a garantizar que la persona que está hablando es quien él o ella está diciendo.","How_do_you_want_to_authenticate_your_buddy":"¿Cómo desea autenticar __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Escoja un método...","Manual":"Manual","Question":"Pregunta","Secret":"Secreto","To_verify_the_fingerprint_":"Para verificar la firma digital, póngase en contacto con su amigo a través de algún otro canal autenticado, como el teléfono.","Your_fingerprint":"Tu firma digital","Buddy_fingerprint":"firma digital de tu amigo","Close":"Cerrar","Compared":"Comparado","To_authenticate_using_a_question_":"Para autenticar mediante una pregunta, elegid una pregunta cuya respuesta se conoce solo usted y su amigo.","Ask":"Preguntar","To_authenticate_pick_a_secret_":"Para autenticar, elija un secreto conocido solo por usted y su amigo.","Compare":"Comparar","Fingerprints":"Firmas digitales","Authentication":"Autenticación","Message":"Mensaje","Add_buddy":"Añadir amigo","rename_buddy":"renombrar amigo","delete_buddy":"eliminar amigo","Login":"Iniciar Sesión","Username":"Usuario","Password":"Contraseña","Cancel":"Cancelar","Connect":"Conectar","Type_in_the_full_username_":"Escriba el usuario completo y un alias opcional.","Alias":"Alias","Add":"Añadir","Subscription_request":"Solicitud de suscripción","You_have_a_request_from":"Tienes una petición de","Deny":"Rechazar","Approve":"Aprobar","Remove_buddy":"Eliminar amigo","You_are_about_to_remove_":"Vas a eliminar a __bid_name__ (<b>__bid_jid__</b>) de tu lista de amigos. Todas las conversaciones relacionadas serán cerradas.","Continue_without_chat":"Continuar","Please_wait":"Espere por favor","Login_failed":"Fallo el inicio de sesión","Sorry_we_cant_authentikate_":"Lo sentimos, no podemos autentificarlo en nuestro servidor de chat. ¿Tal vez la contraseña es incorrecta?","Retry":"Reintentar","clear_history":"Borrar el historial","New_message_from":"Nuevo mensaje de __name__","Should_we_notify_you_":"¿Debemos notificarle sobre nuevos mensajes en el futuro?","Please_accept_":"Por favor, haga clic en el botón \"Permitir\" en la parte superior.","Hide_offline":"Ocultar contactos desconectados","Show_offline":"Mostrar contactos desconectados","About":"Acerca de","dnd":"No Molestar","Mute":"Desactivar sonido","Unmute":"Activar sonido","Subscription":"Suscripción","both":"ambos","Status":"Estado","online":"en línea","chat":"chat","away":"ausente","xa":"más ausente","offline":"desconectado","none":"nadie","Unknown_instance_tag":"Etiqueta de instancia desconocida.","Not_one_of_our_latest_keys":"No una de nuestras última claves.","Received_an_unreadable_encrypted_message":"Se recibió un mensaje cifrado ilegible.","Online":"En linea","Chatty":"Hablador","Away":"Ausente","Extended_away":"Más ausente","Offline":"Desconectado","Friendship_request":"Solicitud de amistad","Confirm":"Confirmar","Dismiss":"Rechazar","Remove":"Eliminar","Online_help":"Ayuda en línea","FN":"Nombre completo ","N":" ","FAMILY":"Apellido","GIVEN":"Nombre","NICKNAME":"Apodo","URL":"URL","ADR":"Dirección","STREET":"Calle","EXTADD":"Dirección extendida","LOCALITY":"Población","REGION":"Región","PCODE":"Código postal","CTRY":"País","TEL":"Teléfono","NUMBER":"Número","EMAIL":"Correo electrónico","USERID":" ","ORG":"Organización","ORGNAME":"Nombre","ORGUNIT":"Departamento","TITLE":"Título","ROLE":"Rol","BDAY":"Cumpleaños","DESC":"Descripción","PHOTO":" ","send_message":"mandar un texto","get_info":"obtener información","Settings":"Ajustes","Priority":"Prioridad","Save":"Guardar","User_settings":"Configuración de usuario","A_fingerprint_":"La huella digital se utiliza para que puedas estar seguro que la persona con la que estas hablando es quien realmente dice ser","is":"es","Login_options":"Opciones de login","BOSH_url":"BOSH url","Domain":"Dominio","Resource":"Recurso","On_login":"Iniciar sesión","Received_an_unencrypted_message":"Recibe un mensaje no cifrado","Sorry_your_buddy_doesnt_provide_any_information":"Lo sentimos, su amigo no provee ninguna información.","Info_about":"Info acerca de","Authentication_aborted":"Autenticación abortada","Authentication_request_received":"Pedido de autenticación recibido.","Log_in_without_chat":"Ingresar sin chat","has_come_online":"se ha conectado","Unknown_sender":"Remitente desconocido","Please_allow_access_to_microphone_and_camera":"Por favor, permitir el acceso al micrófono y la cámara.","Incoming_call":"Llamada entrante","from":"de","Do_you_want_to_accept_the_call_from":"Desea aceptar la llamada de","Reject":"Rechazar","Accept":"Aceptar","hang_up":"colgar","snapshot":"instantánea","mute_my_audio":"silenciar mi audio","pause_my_video":"pausar mi vídeo","fullscreen":"pantalla completa","Info":"Info","Local_IP":"IP local","Remote_IP":"IP remota","Local_Fingerprint":"Firma digital local","Remote_Fingerprint":"Firma digital remota","Video_call_not_possible":"Llamada de vídeo no es posible","Start_video_call":"Iniciar llamada de vídeo","Join_chat":"Unirse al chat","Join":"Unirse","Room":"Sala","Nickname":"Alias","left_the_building":"__nickname__ dejó el edificio","entered_the_room":"__nickname__ entró en la sala","is_now_known_as":"__oldNickname__ ahora es conocido como __newNickname__","This_room_is":"Esta sala es","muc_hidden":{"keyword":"oculta","description":"no se encontró mediante la búsqueda"},"muc_membersonly":{"keyword":"miembros solo","description":"necesitas estar en la lista de miembros"},"muc_moderated":{"keyword":"moderada","description":"solo personas con \"voice\" están permitidas para mandar mensajes"},"muc_nonanonymous":{"keyword":"no anónima","description":"tu id de jabber es expuesta al resto de ocupantes"},"muc_open":{"keyword":"abierta","description":"todo el mundo puede unirse"},"muc_passwordprotected":{"keyword":"protegida por contraseña","description":"necesitas dar la contraseña correcta"},"muc_persistent":{"keyword":"persistente","description":"no será destruida si el último ocupante sale"},"muc_public":{"keyword":"pública","description":"puede ser encontrada mediante la búsqueda"},"muc_semianonymous":{"keyword":"semi-anónima","description":"tu id de jabber es expuesta a los administradores de la sala"},"muc_temporary":{"keyword":"temporal","description":"será destruida si el último ocupante sale"},"muc_unmoderated":{"keyword":"no moderada","description":"todo el mundo puede enviar mensajes"},"muc_unsecured":{"keyword":"sin asegurar","description":"no necesitas contraseña para entrar"},"Continue":"Continuar","Server":"Servidor","Rooms_are_loaded":"Las salas han sido cargadas","Could_load_only":"Se cargaron solo __count__ salas para el autocompletado","muc_explanation":"Por favor introduce el nombre de la sala, un alias opcional y una contraseña para unirse al chat","You_already_joined_this_room":"Ya te has unido a esta sala","This_room_will_be_closed":"Esta sale será cerrada","Room_not_found_":"Sala no encontrada","Loading_room_information":"Cargando información de la sala","Destroy":"Destruir","Leave":"Abandonar","changed_subject_to":"__nickname__ cambió el asunto de la sala a \"__subject__\"","muc_removed_kicked":"Has sido echado de la sala","muc_removed_info_kicked":"__nickname__ ha sido echado de la sala","muc_removed_banned":"Has sido expulsado de la sala","muc_removed_info_banned":"__nickname__ ha sido expulsado","muc_removed_affiliation":"Has sido eliminado de la sala debido a un cambio en la afiliación","muc_removed_info_affiliation":"__nickname__ ha sido eliminado de la sala debido a un cambio en la afiliación","muc_removed_membersonly":"Has sido eliminado de la sala debido a que la sala ha sido cambiada a miembros solo y tú no eres un miembro","muc_removed_info_membersonly":"__nickname__ ha sido eliminado de la sala debido a que la sala ha sido cambiada a miembros solo y tú no eres un miembro","muc_removed_shutdown":"Has sido eliminado de la sala debido a que el servicio MUC está siendo apagado","Reason":"Razón","message_not_send":"Tu mensaje no fue enviado debido a un error","message_not_send_item-not-found":"Tu mensaje no fue enviado debido a que esta sala no existe","message_not_send_forbidden":"Tu mensaje no fue enviado debido a que no tienes voz en esta sala","message_not_send_not-acceptable":"Tu mensaje no fue enviado debido a que no eres un ocupante de esta sala ","This_room_has_been_closed":"Esta sala ha sido cerrada","Room_logging_is_enabled":"Log de sala está habilitado","A_password_is_required":"Se requiere una contraseña","You_are_not_on_the_member_list":"No estás en la lista de miembros","You_are_banned_from_this_room":"Estás expulsado de esta sala","Your_desired_nickname_":"Tu alias ya está en uso. Por favor elige otro","The_maximum_number_":"El máximo número de usuarios ha sido alcanzado en esta sala","This_room_is_locked_":"Esta sala está bloqueada","You_are_not_allowed_to_create_":"No tienes permiso para crear una sala","Alert":"Alerta","Call_started":"Llamada empezada","Call_terminated":"Llamada terminada","Carbon_copy":"Calco","Enable":"Activar","jingle_reason_busy":"ocupado","jingle_reason_decline":"rechazar","jingle_reason_success":"colgar","Media_failure":"Fallo multimedia","No_local_audio_device":"No hay dispositivo de audio local","No_local_video_device":"No hay dispositivo de vídeo local","Ok":"Ok","PermissionDeniedError":"Tú o tu navegador denegaron el permiso de audio/vídeo","Use_local_audio_device":"Usar dispositivo de audio local","Use_local_video_device":"Usar dispositivo de vídeo","is_":"es __status__","You_received_a_message_from_an_unknown_sender_":"Ha recibido un mensaje de un remitente desconocido (__sender__) ¿Quiere mostrarlos?","Your_roster_is_empty_add_":"Tu lista de amigos esta vacía, añadir un <a>nuevo amigo</a>","onsmp_explanation_question":"Tu amigo está tratando de determinar si él o ella está realmente hablando con usted. Para autenticar a su amigo, introduce la respuesta y haga clic en Contestar.","onsmp_explanation_secret":"Tu amigo está tratando de determinar si él o ella está realmente hablando con usted. Para autenticar a su amigo, especifique el secreto.","from_sender":"de __sender__","Verified_private_conversation_started":"Verificado se inició una conversación privada.","Unverified_private_conversation_started":"No verificado se inició una conversación privada.","Bookmark":"Favorito","Auto-join":"Auto-unir","Edit_bookmark":"Editar favorito","Room_logging_is_disabled":"Log de sala está deshabilitado","Room_is_now_non-anoymous":"La sala es ahora no anónima","Room_is_now_semi-anonymous":"La sale es ahora semi-anónima","Do_you_want_to_change_the_default_room_configuration":"¿Quieres cambiar la configuración por defecto de la sala?","Default":"Por defecto","Change":"Cambiar","Send_file":"Enviar archivo","setting-explanation-carbon":"Con el Calco habilitado tu servidor XMPP enviará una copia de cada mensaje entrante dirigido a ti a este cliente incluso si no estaba siendo enviado a él","setting-explanation-login":"Si esta opción está habilitada, el chat empezará al inicio de sesión","setting-explanation-priority":"Si tú has iniciado sesión varias veces con la misma cuenta, tu servidor XMPP enviará los mensajes al cliente con la mayor prioridad","setting-explanation-xmpp":"Estas opciones son usadas para conectar con el servidor XMPP","_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"fi":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"fr":{"translation":{"Logging_in":"Connexion...","your_connection_is_unencrypted":"Connexion non chiffrée.","your_connection_is_encrypted":"Connexion chiffrée.","your_buddy_closed_the_private_connection":"Votre contact a fermé la connexion privée.","start_private":"Démarrer une conversation privée","close_private":"Clôturer une conversation privée","your_buddy_is_verificated":"Votre contact est vérifié.","you_have_only_a_subscription_in_one_way":"Vous ne pouvez souscrire qu'une fois.","authentication_query_sent":"Requête d’authentification envoyée.","your_message_wasnt_send_please_end_your_private_conversation":"Votre message n'a pas été envoyé. Veuillez terminer votre conversation privée.","unencrypted_message_received":"Message non chiffré reçu","not_available":"Non disponible","no_connection":"Pas de connexion !","relogin":"Re-connexion","trying_to_start_private_conversation":"Essai de démarrage d'une conversation privée !","Verified":"Vérifié","Unverified":"Non vérifié","private_conversation_aborted":"Conversation privée interrompue !","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Votre contact a fermé la conversation privée ! Vous devriez faire de même.","conversation_is_now_verified":"La conversation est maintenant vérifiée.","authentication_failed":"L'authentification a échoué.","Creating_your_private_key_":"Création de votre clé privée; cela peut prendre un moment.","Authenticating_a_buddy_helps_":"L'authentification d'un contact permet de s'assurer que la personne à qui vous parlez est vraiment celui qu'il ou elle prétend être.","How_do_you_want_to_authenticate_your_buddy":"Comment voulez-vous vous authentifier __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Sélection de la méthode...","Manual":"Manuel","Question":"Question","Secret":"Sécurité","To_verify_the_fingerprint_":"Pour vérifier l'empreinte, joignez votre contact via un autre canal digne de confiance, tel que le téléphone.","Your_fingerprint":"Votre empreinte","Buddy_fingerprint":"Empreinte du contact","Close":"Fermer","Compared":"Comparé","To_authenticate_using_a_question_":"Pour s'authentifier à l'aide d'une question, choisissez une question dont la réponse n'est connue que vous et de votre contact.","Ask":"Demander","To_authenticate_pick_a_secret_":"Pour vous authentifier, choisissez un secret connu seulement de vous et de votre contact.","Compare":"Comparer","Fingerprints":"Empreintes","Authentication":"Authentification","Message":"Message","Add_buddy":"Ajouter un contact","rename_buddy":"Renommer le contact","delete_buddy":"Supprimer le contact","Login":"Connexion","Username":"Nom d'utilisateur","Password":"Mot de passe","Cancel":"Annuler","Connect":"Connecter","Type_in_the_full_username_":"Tapez un nom d'utilisateur complet et un alias(optionnel).","Alias":"Alias","Add":"Ajouter","Subscription_request":"Demande d'abonnement","You_have_a_request_from":"Vous avez une requête de ","Deny":"Refuser","Approve":"Approuver","Remove_buddy":"Supprimer le contact","You_are_about_to_remove_":"Vous allez retirer __bid_name__ (<b>__bid_jid__</b>) de votre liste de contacts. Toutes les fenêtres de discussion en lien avec celui-ci seront fermées.","Continue_without_chat":"Continuer sans tchat","Please_wait":"Merci de patienter","Login_failed":"Authentification échouée","Sorry_we_cant_authentikate_":"La connexion avec le serveur de tchat a échoué. Vérifiez le mot de passe.","Retry":"Retour","clear_history":"Effacer l’historique","New_message_from":"Nouveau message de __name__","Should_we_notify_you_":"Dans le futur, devrons-nous vous notifier les nouveaux messages ?","Please_accept_":"Merci de cliquer sur le bouton \"autoriser\" en haut de page","Hide_offline":"Masquer les contacts non connectés","Show_offline":"Afficher les contacts non connectés","About":"À propos","dnd":"Ne pas déranger","Mute":"Muet","Unmute":"Son actif","Subscription":"Abonnement","both":"Les deux","Status":"Statut","online":"En ligne","chat":"tchat","away":"Absent","xa":"Longue absence","offline":"Hors ligne","none":"Aucun","Unknown_instance_tag":"Tag inconnu","Not_one_of_our_latest_keys":"Ce n'est pas l'une des dernières touches","Received_an_unreadable_encrypted_message":"Message chiffré non lisible","Online":"En ligne","Chatty":"Libre pour discuter","Away":"Absent","Extended_away":"Longue absence","Offline":"Hors ligne","Friendship_request":"Demande de contact","Confirm":"Valider","Dismiss":"Rejeter","Remove":"Supprimer","Online_help":"Aide en ligne","FN":"Nom","N":" N ","FAMILY":"Nom de famille","GIVEN":"prénom","NICKNAME":"Pseudo","URL":"URL","ADR":"Adresse","STREET":"Rue","EXTADD":"Adresse (suite)","LOCALITY":"Localité","REGION":"Région","PCODE":"Code Postal","CTRY":"Pays","TEL":"Téléphone","NUMBER":"Numéro","EMAIL":"Courriel","USERID":" USERID ","ORG":"Organisation","ORGNAME":"Nom","ORGUNIT":"Unité","TITLE":"Qualité:","ROLE":"Rôle","BDAY":"Date de naissance","DESC":"Description","PHOTO":"Photo","send_message":"Envoyer un message","get_info":"Montrer les informations","Settings":"Réglages","Priority":"Priorité","Save":"Enregistrer","User_settings":"Paramètres utilisateur","A_fingerprint_":"Une empreinte est utilisée pour s'assurer de l'identité de la personne à qui vous parlez","is":"est","Login_options":"Options d'identification","BOSH_url":"URL BOSH","Domain":"Domaine","Resource":"Ressource","On_login":"Après authentification","Received_an_unencrypted_message":"Reçu un message non chiffré","Sorry_your_buddy_doesnt_provide_any_information":"Désolé, votre contact n'a pas fourni d'informations","Info_about":"À propos de","Authentication_aborted":"Authentification interrompue.","Authentication_request_received":"Requête d'authentification reçue.","Log_in_without_chat":"S'identifier sans tchat","has_come_online":"vient d'arriver","Unknown_sender":"Expéditeur inconnu","Please_allow_access_to_microphone_and_camera":"Veuillez cliquez sur le bouton \"Autoriser\" en haut, pour permettre l'accès au micro et à la caméra.","Incoming_call":"Appel entrant","from":"de","Do_you_want_to_accept_the_call_from":"Voulez-vous accepter l'appel de","Reject":"Rejeté","Accept":"Accepté","hang_up":"raccrocher","snapshot":"Capture d’écran","mute_my_audio":"Couper l'audio","pause_my_video":"Mettre ma vidéo en pause","fullscreen":"Plein écran","Info":"Info","Local_IP":"IP locale","Remote_IP":"IP distante","Local_Fingerprint":"Empreinte locale","Remote_Fingerprint":"Empreinte distante","Video_call_not_possible":"L'appel vidéo n'est possible. Votre contact ne supporte pas les appels vidéo.","Start_video_call":"Démarrer l'appel vidéo","Join_chat":"Joindre la discussion","Join":"Joindre","Room":"Salon","Nickname":"Pseudo","left_the_building":"__nickname__ a quitté l'immeuble","entered_the_room":"__nickname__ entre dans le salon","is_now_known_as":"__oldNickname__ est maintenant connu comme __newNickname__","This_room_is":"Ce salon est","muc_hidden":{"keyword":"caché","description":"ne peut être trouvé avec une recherche"},"muc_membersonly":{"keyword":"pour les membres seulement","description":"Vous devez être sur la liste des membres"},"muc_moderated":{"keyword":"modéré","description":"Seulement les personnes avec la \"voix\" sont autorisés à envoyer des messages"},"muc_nonanonymous":{"keyword":"non anonyme","description":"Votre identifiant Jabber est visible de tous les autres occupants"},"muc_open":{"keyword":"ouvert","description":"Tout le monde est autorisé à se connecter"},"muc_passwordprotected":{"keyword":"protégé par un mot de passe","description":"Vous devez fournir un mot de passe correct"},"muc_persistent":{"keyword":"persistent","description":"ne sera pas détruit si le dernier occupant part"},"muc_public":{"keyword":"public","description":"peut être touvé avec une recherche"},"muc_semianonymous":{"keyword":"semi-anonyme","description":"Votre identifiant Jabber est seulement visible aux administrateurs de ce salon"},"muc_temporary":{"keyword":"temporaire","description":"sera détruit au départ de son dernier occupant"},"muc_unmoderated":{"keyword":"non modéré","description":"Tout le monde est autorisé à envoyer des messages"},"muc_unsecured":{"keyword":"non sécurisé","description":"un mot de passe n'est pas nécessaire pour entrer"},"Continue":"Continuer","Server":"Serveur","Rooms_are_loaded":"Les salons sont chargés","Could_load_only":"Ne peut charger que __count__ salons pour l'autocomplétion","muc_explanation":"Veuillez saisir le nom du salon, un surnom (optionnel) et un mot de passe pour joindre la conversation","You_already_joined_this_room":"Vous avez déjà rejoint ce salon","This_room_will_be_closed":"Ce salon va être fermé","Room_not_found_":"Un nouveau salon va être créé","Loading_room_information":"Chargement des informations du salon","Destroy":"Détruire","Leave":"Quitter","changed_subject_to":"__nickname__ a changé le sujet du salon à \"__subject__\"","muc_removed_kicked":"Vous avez été éjecté de ce salon","muc_removed_info_kicked":"__nickname__ a été éjecté de ce salon","muc_removed_banned":"Vous avez été banni de ce salon","muc_removed_info_banned":"__nickname__ a été banni de ce salon","muc_removed_affiliation":"Vous avez été retiré du salon en raison d'un changement d'affiliation","muc_removed_info_affiliation":"__nickname__ a été retiré du salon en raison d'un changement d'affiliation","muc_removed_membersonly":"Vous avez été retiré du salon parce que celui-ci est maintenant réservé aux membres et vous n'en faites pas partie","muc_removed_info_membersonly":"__nickname__ a été retiré du salon parce que celui-ci est maintenant réservé aux membres","muc_removed_shutdown":"Vous avez été retiré du salon parce que le service de salon de discussion est en train de s'éteindre","Reason":"Raison","message_not_send":"Votre message n'a pu être envoyé a cause d'une erreur","message_not_send_item-not-found":"Votre message n'a pu être envoyé parce que ce salon n'existe pas","message_not_send_forbidden":"Votre message n'a pas été envoyé parce que vous n'avez pas le droit de parler dans ce salon","message_not_send_not-acceptable":"Votre message n'a pas été envoyé car il n'y a personne dans ce salon","This_room_has_been_closed":"Ce salon a été fermé","Room_logging_is_enabled":"L'historique du salon est conservé","A_password_is_required":"Un mot de passe est requis","You_are_not_on_the_member_list":"Vous n'êtes pas sur la liste des membres","You_are_banned_from_this_room":"Vous avez été banni de ce salon","Your_desired_nickname_":"Votre pseudo souhaité est déjà utilisé. Veuillez en choisir un autre","The_maximum_number_":"Le nombre maximum d'utilisateurs est atteint dans ce salon","This_room_is_locked_":"Ce salon est verrouillé","You_are_not_allowed_to_create_":"Vous n'êtes pas autorisé à créer un salon","Alert":"Alerte","Call_started":"Appel démarré","Call_terminated":"Appel terminé","Carbon_copy":"Copie carbone","Enable":"Activé","jingle_reason_busy":"occupé","jingle_reason_decline":"refusé","jingle_reason_success":"raccroché","Media_failure":"échec du média","No_local_audio_device":"Pas de périphérique audio local","No_local_video_device":"Pas de périphérique vidéo local","Ok":"Ok","PermissionDeniedError":"Vous ou votre navigateur avez refusé de donner des permissions audio/vidéo","Use_local_audio_device":"Utiliser un périphérique audio local.","Use_local_video_device":"Utiliser un périphérique vidéo local.","is_":"est __status__","You_received_a_message_from_an_unknown_sender_":"Vous avez reçu un message d'un expéditeur inconnu (__sender__) Voulez-vous les afficher ?","Your_roster_is_empty_add_":"Votre liste est vide, ajouter <a>Nouveau contact</a>","onsmp_explanation_question":"Votre contact tente de déterminer si il ou elle vous parle vraiment. Pour vous authentifier auprès de votre contact, saisissez une réponse et cliquez sur Répondre.","onsmp_explanation_secret":"Votre contact tente de déterminer si il ou elle parle vraiment à vous. Pour vous authentifier auprès de votre contact, entrez le mot secret","from_sender":"de __sender__","Verified_private_conversation_started":"La conversation privée vérifiée a démarré.","Unverified_private_conversation_started":"La conversation privée non vérifiée a démarré.","Bookmark":"Marque-page","Auto-join":"Joindre automatiquement","Edit_bookmark":"Éditer le marque-page","Room_logging_is_disabled":"La connexion au salon est désactivée","Room_is_now_non-anoymous":"Ce salon n'est désormais plus anonyme","Room_is_now_semi-anonymous":"Ce salon est désormais semi-anonyme","Do_you_want_to_change_the_default_room_configuration":"Voulez-vous changer la configuration par défaut du salon ?","Default":"Par défaut","Change":"Changer","Send_file":"Envoyer un fichier","setting-explanation-carbon":"Avec la copie carbone activé, votre serveur XMPP envera une copie de tous les messages entrant qui vous sont destiné à ce client, même s'il ne lui sont pas directement addressés.","setting-explanation-login":"Si cette option est activé, le chat commencera lorsque vous vos connectez.","setting-explanation-priority":"Si vous êtes connecté plusieurs fois avec le même compte, votre serveur XMPP enverra les messages au client ayant le plus haute priorité.","setting-explanation-xmpp":"Ces options sont utilisées pour se connecter au serveur XMPP.","_is_composing":" est en train d'écrire...","_are_composing":" sont en train d'écrire...","Chat_state_notifications":"Notifications de composition","setting-explanation-chat-state":"Voulez-vous envoyer et recevoir les notifications de composition, comme lorsque quelqu'un commence ou arrête d'écrire un message ?","Share_screen":"Ecran partagé","Incoming_stream":"Flux entrant","Stream_started":"flux démarré","HTTPS_REQUIRED":"Cette action nécessite une connexion cryptée.","EXTENSION_UNAVAILABLE":"Vous avez besoin d'une extension / d'un addon pour votre navigateur.","UNKNOWN_ERROR":"Une erreur inconnue s'est produite.","Install_extension":"Veuillez installer l'extension afin d'utiliser le partage d'écran: ","Connection_accepted":"Connexion acceptée","Stream_terminated":"Flux terminé","Close_all":"Tout fermer","Notification":"Notification","Unreadable_OTR_message":"Message OTR illisible omis","Load_older_messages":"Charger des messages plus anciens"}},"hu-HU":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":"Az Ön kapcsolata titkosítatlan.","your_connection_is_encrypted":"Az Ön kapcsolata titkosított.","your_buddy_closed_the_private_connection":"Partnere megszakította a privát kapcsolatot.","start_private":"Privát beszélgetés indítása","close_private":"Privát beszélgetés bezárása","your_buddy_is_verificated":"Az Ön partnere megerősítve.","you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":"Azonosítási kérelem elküldve.","your_message_wasnt_send_please_end_your_private_conversation":"Az üzenetet nem sikerült elküldeni. Kérem fejezze be a privát beszélgetést.","unencrypted_message_received":"Titkosítatlan üzenet fogadva","not_available":"Nem elérhető","no_connection":"Nincs kapcsolat!","relogin":"relogin","trying_to_start_private_conversation":"Privát beszélgetés indítása!","Verified":"Megerősítve","Unverified":"Nem megerősített","private_conversation_aborted":"Privát beszélgetés megszakítva!","your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":"Azonosítás sikertelen.","Creating_your_private_key_":"Privát kulcs generálása. Egy kis időbe telhet...","Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":"Kérdés","Secret":"Kulcs","To_verify_the_fingerprint_":null,"Your_fingerprint":"Az Ön lenyomata","Buddy_fingerprint":"Partnere lenyomata","Close":"Bezárás","Compared":"Összehasonlítva","To_authenticate_using_a_question_":"Az azonosításhoz adjon meg egy kérdést, amelyre a választ csak Ön és Partnere ismerhetik.","Ask":"Kérdez","To_authenticate_pick_a_secret_":"Az azonosításhoz adjon meg egy titkot, amelyet csak Ön és Partnere ismerhetnek.","Compare":"Összehasonlítás","Fingerprints":"Lenyomatok","Authentication":"Azonosítás","Message":"Üzenet","Add_buddy":"Partner hozzáadása","rename_buddy":"Partner átnevezése","delete_buddy":"Partner törlése","Login":"Belépés","Username":"Felhasználónév","Password":"Jelszó","Cancel":"Mégsem","Connect":"Csatlakozás","Type_in_the_full_username_":"Adjon meg egy teljes felhasználónevet, és egy opcionális becenevet.","Alias":"Becenév","Add":"Hozzáadás","Subscription_request":"Feliratkozási kérelem","You_have_a_request_from":"Ön felkérést kapott a következőtől","Deny":"Elutasít","Approve":"Jóváhagy","Remove_buddy":"Partner eltávolítása","You_are_about_to_remove_":null,"Continue_without_chat":"Folytatás chat nélkül","Please_wait":"Kérem várjon","Login_failed":"Chat bejelentkezés sikertelen","Sorry_we_cant_authentikate_":null,"Retry":"Vissza","clear_history":"Előzmények törlése","New_message_from":"Új üzenet __name__ partnerétől","Should_we_notify_you_":"Kívánja hogy értesítsük a jövőben új üzeneteiről?","Please_accept_":"Kérem kattintson a fent megjelenő \"Engedélyez\" gombra.","Hide_offline":"Offline partnerek elrejtése","Show_offline":"Offline partnerek mutatása","About":null,"dnd":"Ne zavarj","Mute":"Némítás","Unmute":"Hangok engedélyezése","Subscription":null,"both":"mindkettő","Status":"Állapot","online":"elérhető","chat":null,"away":"távol","xa":"huzamosabban távol","offline":"offline","none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":"Teljes név","N":null,"FAMILY":"Családi név","GIVEN":"Keresztnév","NICKNAME":"Becenév","URL":"URL","ADR":"Cím","STREET":"Utcanév","EXTADD":"Cím","LOCALITY":"Helység","REGION":"Régió","PCODE":"Irányítószám","CTRY":"Ország","TEL":"Telefonszám","NUMBER":"Házszám","EMAIL":"E-mail cím","USERID":null,"ORG":"Vállalat","ORGNAME":"Név","ORGUNIT":"Osztály","TITLE":"Beosztás","ROLE":"Részleg","BDAY":"Születésnap","DESC":"Leírás","PHOTO":null,"send_message":"Üzenet küldése","get_info":"Info mutatása","Settings":"Beállítások","Priority":"Prioritás","Save":"Mentés","User_settings":"Felhasználó beállítások","A_fingerprint_":null,"is":null,"Login_options":"Bejelentkezési lehetőségek","BOSH_url":"BOSH URL","Domain":"Domain","Resource":"Erőforrás","On_login":"Bejelentkezéskor","Received_an_unencrypted_message":"Titkosítatlan üzenetet fogadott","Sorry_your_buddy_doesnt_provide_any_information":"Sajnos az Ön partnere nem adott meg semmilyen információt.","Info_about":null,"Authentication_aborted":"Azonosítás megszakítva.","Authentication_request_received":"Azonosítási kérelem fogadva.","Log_in_without_chat":"Bejelentkezés chat nélkül","has_come_online":"bejelentkezett","Unknown_sender":"Ismeretlen küldő","Please_allow_access_to_microphone_and_camera":"Kérem kattintson a fent megjelenő \"Engedélyez/Allow\" gombra hogy hozzáférést biztosítson mikrofonjához és kamerájához.","Incoming_call":"Bejövő hívás","from":"tőle","Do_you_want_to_accept_the_call_from":"Szeretné fogadni következő partnere hívását:","Reject":"Elutasít","Accept":"Fogadás","hang_up":"tartás","snapshot":"képernyőfotó","mute_my_audio":"hangom némítása","pause_my_video":"videóképem megállítása","fullscreen":"teljes képernyő","Info":"Info","Local_IP":"Helyi IP","Remote_IP":"Távoli IP","Local_Fingerprint":"Helyi lenyomat","Remote_Fingerprint":"Távoli lenyomat","Video_call_not_possible":"Videóhívás nem lehetséges. Az Ön partnerének készüléke nem támogatja a videóhívásokat.","Start_video_call":"Videóhívás indítása","Join_chat":"Belépés a chatbe","Join":"Belépés","Room":"Szoba","Nickname":"Becenév","left_the_building":"__nickname__ elhagyta az épületet.","entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"it":{"translation":{"Logging_in":"login…","your_connection_is_unencrypted":"La sua connessione è non cifrata.","your_connection_is_encrypted":"La sua connessione è cifrata.","your_buddy_closed_the_private_connection":"La sua connessione privata è stato chiuso dal suo compagno.","start_private":"Inizia privata","close_private":"Chiude privata","your_buddy_is_verificated":"Il tuo compagno è stato verificato","you_have_only_a_subscription_in_one_way":"Hai solo una one-way inscrizione.","authentication_query_sent":"Domanda d'autenticità inviata.","your_message_wasnt_send_please_end_your_private_conversation":"Il tuo messaggio non è stato inviato. Si prega di finire la sua conversazione privata.","unencrypted_message_received":"Messaggio non cifrato ricevuto","not_available":"non disponibile","no_connection":"nessun collegamento!","relogin":"nuovo login","trying_to_start_private_conversation":"Cercando di avviare una conversazione privata!","Verified":"verificato","Unverified":"non verificato","private_conversation_aborted":"Conversazione privata abortito!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Il tuo compagno ha chiuso la conversazione privata! Si dovrebbe fare lo stesso.","conversation_is_now_verified":"Conversazione è ora verificato.","authentication_failed":"autenticazione fallita.","Creating_your_private_key_":"Creare la propria chiave privata; questo potrebbe richiedere un po'.","Authenticating_a_buddy_helps_":"Autenticazione un compagno aiuta a garantire che la persona si sta parlando è davvero quello che lui o lei sostiene di essere.","How_do_you_want_to_authenticate_your_buddy":"Come si desidera autenticare __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Seleziona metodo ..","Manual":"manuale","Question":"domanda","Secret":"segreto","To_verify_the_fingerprint_":"Per verificare l'impronta digitale, contattare il proprio compagno attraverso qualche altro canale affidabile, come il telefono.","Your_fingerprint":"il tuo impronta digitale","Buddy_fingerprint":"impronta digitale da compagno","Close":"chiude","Compared":"comparato","To_authenticate_using_a_question_":"Per autenticare tramite una questione, scegli una questione la cui risposta è nota solo voi e il tuo compagno","Ask":"chiedi","To_authenticate_pick_a_secret_":"Per autenticare, scegli un segreto noto solo a te e il tuo compagno.","Compare":"Comparare","Fingerprints":"Impronta digitale","Authentication":"Autenticazione","Message":"Messagio","Add_buddy":"Aggiungi un compagno","rename_buddy":"rinomina compagno","delete_buddy":"elimina compagno","Login":"Login","Username":"Identificazione dell'utente","Password":"Password","Cancel":"Cancella","Connect":"Collega","Type_in_the_full_username_":"Digita l'identificazione utente completo e un alias opzionale.","Alias":"Alias","Add":"Aggiungi","Subscription_request":"Rrichiesta di sottoscrizione","You_have_a_request_from":"Hai una richiesta da","Deny":"Refiuta","Approve":"Approva","Remove_buddy":"Rimuova il compagno","You_are_about_to_remove_":"Stai rimovendo __bid_name__ (<b>__bid_jid__</b>) del suo lista di compagni. Tutte le chat appartenente saranno chiuse.","Continue_without_chat":"Continua senza chat","Please_wait":"Si prega d'attendere","Login_failed":"Chat login è fallito","Sorry_we_cant_authentikate_":"Autenticazione non riuscita con il server di chat. Forse la password è sbagliata?","Retry":"Indietro","clear_history":"Cancella la cronologia","New_message_from":"Nuovo messaggio da __name__","Should_we_notify_you_":"Vuoi ricevere una notifica di nuovi messaggi in futuro?","Please_accept_":"Si prega di fare clic sul bottone \"Autorizzazione\" sopra.","Hide_offline":"Nascondere i contatti non in linea","Show_offline":"Mostra i contatti non in linea","About":"Informazione legale","dnd":"Non disturbare","Mute":"Muto attivo","Unmute":"Muto inattivo","Subscription":"Sottoscrizione","both":"etrambi","Status":"Status","online":"In linea","chat":"chat","away":"via","xa":"via estensivo","offline":"non in linea","none":"nessuno","Unknown_instance_tag":"Instance tag sconosciuta.","Not_one_of_our_latest_keys":"Non è una delle nostre ultime chiavi.","Received_an_unreadable_encrypted_message":"Ricevuto un messaggio crittografato illeggibile.","Online":"In linea","Chatty":"Chiacchierino","Away":"Via","Extended_away":"Via estensivo","Offline":"Non in linea","Friendship_request":"Amicizia richiesto","Confirm":"Conferma","Dismiss":"Rifiuta","Remove":"Rimuovi","Online_help":"Guida in linea","FN":"Nome e cognome","N":null,"FAMILY":"Cognome","GIVEN":"Nome","NICKNAME":"Soprannome","URL":"URL","ADR":"Indirizzo","STREET":"Via","EXTADD":"Esteso Indirizzo","LOCALITY":"Località","REGION":"Regione","PCODE":"Codice Postale","CTRY":"Paese","TEL":"Telefono","NUMBER":"Numero","EMAIL":"E-mail","USERID":null,"ORG":"Organizzazione","ORGNAME":"Nome","ORGUNIT":"Unità","TITLE":"Titolo di lavoro","ROLE":"Funzione","BDAY":"Compleanno","DESC":"Descrizione","PHOTO":null,"send_message":"Messagio inviato","get_info":"Mostra informazioni","Settings":"Impostazione","Priority":"Priorità","Save":"Salva","User_settings":"Impostazione dell'utente","A_fingerprint_":"Una impronta digitale è usato per assicurarsi che la persona con cui stai parlando è lui o lei che sta dicendo.","is":"è","Login_options":"Opzioni di login","BOSH_url":"BOSH URL","Domain":"Domain","Resource":"Risorsa","On_login":"Login on","Received_an_unencrypted_message":"Ricevuto un messaggio non crittografato","Sorry_your_buddy_doesnt_provide_any_information":"Spiace, il tuo compagno non fornisce alcuna informazione.","Info_about":"Informazioni","Authentication_aborted":"Autenticazione interrotta","Authentication_request_received":"Richiesta di autenticazione ricevuto.","Log_in_without_chat":"Log in senza chat","has_come_online":"È venuto in linea","Unknown_sender":"Mittente sconosciuto","Please_allow_access_to_microphone_and_camera":"Si prega di fare clic sul bottone \"Autorizzazione\" sopra per autorizzazione del l'accesso al microfono e fotocamera.","Incoming_call":"Chiamata in arrivo","from":"di","Do_you_want_to_accept_the_call_from":"Vuoi accettare la chiamata di","Reject":"Rifiuta","Accept":"Accetta","hang_up":"Riattacca","snapshot":"istantanea","mute_my_audio":"disattiva il mio audio","pause_my_video":"pausa il mio audio","fullscreen":"schermo intero","Info":"Informazione","Local_IP":"IP locale","Remote_IP":"IP remoto","Local_Fingerprint":"Impronta digitale locale","Remote_Fingerprint":"Impronta digitale remoto","Video_call_not_possible":"Videochiamata non è possibile. Il tuo compagno non può effettuare videochiamate.","Start_video_call":"Inizia videochiamata","Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":"è __status__","You_received_a_message_from_an_unknown_sender_":"Hai ricevuto un messaggio da un mittente sconosciuto (__sender__) Vuoi che venga visualizzato?","Your_roster_is_empty_add_":"Il suo elenco è vuoto, aggiungi un <a>compagno nuovo</a>","onsmp_explanation_question":"Il tuo compagno sta cercando di determinare se lui o lei sta davvero parlando con te. Per autenticare a il tuo compagno. inserisci la risposta e fare click su risposta.","onsmp_explanation_secret":"Il tuo compagno sta cercando di determinare se lui o lei sta davvero parlando con te. Per autenticare a il tuo compagno. inserire il segreto.","from_sender":"di __sender__","Verified_private_conversation_started":"verificato Conversazione privata iniziato.","Unverified_private_conversation_started":"non verificato Conversazione privata iniziato.","Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"nds":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null}},"nl-NL":{"translation":{"Logging_in":"Inloggen…","your_connection_is_unencrypted":"Je verbinding is niet versleuteld.","your_connection_is_encrypted":"Je verbinding is versleuteld.","your_buddy_closed_the_private_connection":"Je contactpersoon sloot de prive-verbinding.","start_private":"start privé","close_private":"Sluit privé","your_buddy_is_verificated":"Je contactpersoon is geverifieerd.","you_have_only_a_subscription_in_one_way":"Je hebt een eenrichtingsabonnement.","authentication_query_sent":"Verificatie vraag gestuurd.","your_message_wasnt_send_please_end_your_private_conversation":"Je bericht is niet verzonden. Beëindig prive gesprek.","unencrypted_message_received":"Ongecodeerde bericht ontvangen","not_available":"Niet beschikbaar","no_connection":"Geen Niet verbinding!","relogin":"opnieuw inloggen","trying_to_start_private_conversation":"Proberen om privé-gesprek te beginnen!","Verified":"Geverifieerd","Unverified":"Ongeverifieerd","private_conversation_aborted":"Privé-gesprek afgebroken!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Je contact sloot het Privé-gesprek! Doe hetzelfde.","conversation_is_now_verified":"Gesprek is geverifieerd.","authentication_failed":"Verificatie mislukt.","Creating_your_private_key_":"Een persoonlijke sleutel maken. Dit kan een tijdje duren.","Authenticating_a_buddy_helps_":"Authenticatie met een contact helpt ervoor te zorgen dat de persoon met wie u praat echt de persoon is die ze beweert te zijn.","How_do_you_want_to_authenticate_your_buddy":"Hoe wilt u verificeren __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Selectie methode...","Manual":"Handleiding","Question":"Vraag","Secret":"Geheim","To_verify_the_fingerprint_":"Neem via een ander betrouwbaar kanaal, contact op met uw gesprekspartner om de vingerafdruk te controleren. Bijvoorbeeld per telefoon.","Your_fingerprint":"Jou vingerafdruk","Buddy_fingerprint":"Contact vingerafdruk","Close":"Sluiten","Compared":"Vergeleken","To_authenticate_using_a_question_":"Gebruik een vraag om te verificeren, neem een antwoord alleen bekend bij u en uw contact.","Ask":"Vraag","To_authenticate_pick_a_secret_":"Voor verificatie, kies een geheim alleen bekend is bij u en uw contact.","Compare":"Vergelijk","Fingerprints":"Vingerafdrukken","Authentication":"Verificatie","Message":"Bericht","Add_buddy":"Contact toevoegen","rename_buddy":"contact hernoemen","delete_buddy":"contact verwijderen","Login":"Login","Username":"Gebruikersnaam","Password":"Paswoord","Cancel":"Annuleer","Connect":"Verbind","Type_in_the_full_username_":"Vul de volledige gebruikersnaam en een optionele alias in.","Alias":"Alias","Add":"Voeg toe","Subscription_request":"Abonnementsverzoek","You_have_a_request_from":"Je hebt een uitnodiging van","Deny":"Ontken","Approve":"Toestaan","Remove_buddy":"contact verwijderen","You_are_about_to_remove_":null,"Continue_without_chat":"Doorgaan zonder chat","Please_wait":"Even geduld","Login_failed":"Chat login mislukt","Sorry_we_cant_authentikate_":"Verificatie is mislukt met de chatserver. Is het paswoord fout?","Retry":"Terug","clear_history":"Wis geschiedenis","New_message_from":"Nieuw bericht van__name__","Should_we_notify_you_":"Zullen wij u notificeren over nieuwe berichten in de toekomst?","Please_accept_":null,"Hide_offline":"Offline contacten verbergen","Show_offline":"Offline contacten weergeven","About":"Over","dnd":"Niet storen","Mute":"Dempen aan","Unmute":"Dempen uit","Subscription":"Abonnement","both":"Beide","Status":"Status","online":"online","chat":"chat","away":"Afwezig","xa":"langer afwezig","offline":"offline","none":"geen","Unknown_instance_tag":"Voorbeeld tag onbekend.","Not_one_of_our_latest_keys":"Niet één van onze laatste sleutels.","Received_an_unreadable_encrypted_message":"Een niet leesbare versleuteld bericht ontvangen.","Online":"Online","Chatty":"Spraakzaam","Away":"Afwezig","Extended_away":"Langer afwezig","Offline":"Offline","Friendship_request":"Contact verzoek","Confirm":"Bevestig","Dismiss":"Afwijzen","Remove":"Verwijder","Online_help":"Online hulp","FN":"Volledige naam","N":null,"FAMILY":"Familienaam","GIVEN":"Voornaam","NICKNAME":"Bijnaam","URL":"URL","ADR":"Adres","STREET":"Adres","EXTADD":"Uitgebreid adres","LOCALITY":null,"REGION":"Regio","PCODE":"Postcode","CTRY":"Land","TEL":"Telefoon","NUMBER":"Nummer","EMAIL":"E-mail","USERID":null,"ORG":"Organisatie","ORGNAME":"Naam","ORGUNIT":"Afdeling","TITLE":"functietitel","ROLE":"Functie","BDAY":"Verjaardag","DESC":"Beschrijving","PHOTO":null,"send_message":"Zend bericht","get_info":"Gegevens weergeven","Settings":"Instellingen","Priority":"Prioriteit","Save":"Opslaan","User_settings":"Gebruikersinstellingen","A_fingerprint_":"Een vingerafdruk wordt gebruikt om er zeker van te zijn dat uw gesprekspartner ook is wie hij of zij zegt te zijn.","is":"is","Login_options":"Login options","BOSH_url":"BOSH URL","Domain":"Domein","Resource":"Bron","On_login":"Tijdens login","Received_an_unencrypted_message":"Een niet-versleuteld bericht ontvangen","Sorry_your_buddy_doesnt_provide_any_information":"Sorry, je contact verschaft geen informatie.","Info_about":"Gegevens van","Authentication_aborted":"Verificatie afgebroken.","Authentication_request_received":"Authenticatie verzoek ontvangen.","Log_in_without_chat":"Zonder chat inloggen","has_come_online":"is online gekomen","Unknown_sender":"Afzender onbekend","Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":"van","Do_you_want_to_accept_the_call_from":null,"Reject":"Weiger","Accept":"Aanvaard","hang_up":"ophangen","snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":"volledige scherm","Info":"Info","Local_IP":"Lokaal IP","Remote_IP":"Extern IP","Local_Fingerprint":"Lokale vingerafdruk","Remote_Fingerprint":"Afstand vingerafdruk","Video_call_not_possible":null,"Start_video_call":null,"Join_chat":"Neem deel aan chat","Join":"Meedoen","Room":"Kamer","Nickname":"Bijnaam","left_the_building":null,"entered_the_room":"__nickname__kwam de kamer binnen","is_now_known_as":null,"This_room_is":"Deze kamer is","muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":"Je Jabber id is alleen vrijgegeven voor kamer beheerders"},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":"Kamers zijn geladen","Could_load_only":"Alleen aanvullen voor__count__kamers","muc_explanation":"Vul de kamernaam, optioneel een bijnaam en wachtwoord in om deel te nemen een chat","You_already_joined_this_room":"Je bent al verbonden met deze kamer","This_room_will_be_closed":"De kamer wordt gesloten","Room_not_found_":"Een nieuwe kamer wordt aangemaakt","Loading_room_information":"Kamer informatie laden","Destroy":null,"Leave":null,"changed_subject_to":"__nickname__veranderde het onderwerp van de kamer naar \"__subject__\"","muc_removed_kicked":"Je bent afgemeld van de kamer","muc_removed_info_kicked":"__nickname__is uit de kamer gegooid","muc_removed_banned":"Je bent uit de kamer gezet","muc_removed_info_banned":"__nickname__is uit de kamer gezet","muc_removed_affiliation":"Je bent verwijderd van de kamer door een verwantschap wijziging","muc_removed_info_affiliation":"__nickname__is verwijderd van de kamer door een verwantschap wijziging","muc_removed_membersonly":null,"muc_removed_info_membersonly":"__nickname__is verwijderd van de kamer, door de wijziging naar alleen voor leden. Je hebt geen lidmaatschap.","muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":"Deze kamer is gesloten","Room_logging_is_enabled":"Kamerlog is ingeschakeld","A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":"Je bent uit deze kamer gezet","Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":"Deze kamer is afgesloten","You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":"U ontvangt een bericht van een onbekende afzender (__sender__). Wilt u om het weergeven?","Your_roster_is_empty_add_":null,"onsmp_explanation_question":"Je contact probeert te bepalen of ze echt met jou praten. Voer om te verifiëren naar uw contact het antwoord in.","onsmp_explanation_secret":"U contact probeert te bepalen of ze echt met jou praten. Voer om te verifiëren naar uw contact het geheim in.","from_sender":"van__sender__","Verified_private_conversation_started":"Privé-gesprek geverifieerd gestart.","Unverified_private_conversation_started":"Privé-gesprek ongeverifieerd gestart.","Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":"Kamerlog is uitgeschakeld","Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":"Met ingeschakeld carbon kopie zal de XMPP server een kopie van elk inkomend bericht doorsturen naar deze cliënt, zelfs als het niet aan haar is gericht.","setting-explanation-login":"Wanneer ingeschakeld zal de chat starten bij het inloggen.","setting-explanation-priority":"Je XMPP dienst zal een prioriteitsbericht verzenden wanneer je meerdere keren ingelogd bent met hetzelfde account.","setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":"Scherm delen","Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":"Installeer extensie om scherm delen te gebruiken: ","Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"pl":{"translation":{"Logging_in":"Logowanie...","your_connection_is_unencrypted":"Twoje połączenie nie jest szyfrowane.","your_connection_is_encrypted":"Twoje połączenie jest szyfrowane.","your_buddy_closed_the_private_connection":"Twój rozmówca zamknął połączenie.","start_private":"Rozpocznij rozmowę.","close_private":"Zakończ rozmowę.","your_buddy_is_verificated":"Twój rozmówca został zweryfikowany.","you_have_only_a_subscription_in_one_way":"Posiadasz tylko jednostronną subskrypcję.","authentication_query_sent":"Wysłano proźbę o autentykację.","your_message_wasnt_send_please_end_your_private_conversation":"Twoja wiadomość nie została wysłana. Proszę, zamknij rozmowę.","unencrypted_message_received":"Otrzymano niezaszyfrowaną wiadomość.","not_available":"Niedostępny.","no_connection":"Brak połączenia!","relogin":"Połącz ponownie","trying_to_start_private_conversation":"Rozpocznij rozmowę!","Verified":"Zweryfikowano","Unverified":"Niezweryfikowano","private_conversation_aborted":"Anulowano rozmowę!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Rozmówca przerwał połączenie! Powinieneś zrobić to samo.","conversation_is_now_verified":"Zweryfikowano połączenie.","authentication_failed":"Weryfikacja się nie powiodła.","Creating_your_private_key_":"Tworzenie klucza prywatnego; może to chwilę potrwać","Authenticating_a_buddy_helps_":"Autoryzacja pomoże w ustaleniu faktycznej tożsamości rozmówcy ;).","How_do_you_want_to_authenticate_your_buddy":"Jakiej autoryzacji chcesz użyć __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Wybierz sposób...","Manual":"Ręcznie","Question":"Pytanie","Secret":"Hasło","To_verify_the_fingerprint_":"Aby zweryfikować kod, najpierw skontaktuj się z rozmówcą za pomocą zaufanego sposobu, np telefonu.","Your_fingerprint":"Twój kod:","Buddy_fingerprint":"Kod kontaktu","Close":"Zamknij","Compared":"Porównano","To_authenticate_using_a_question_":"Aby autoryzować za pomocą pytania, wybierz pytanie na które tylko ty i twój rozmówca zna odpowiedź.","Ask":"Zadaj pytanie","To_authenticate_pick_a_secret_":"Aby autoryzować za pomocą hasła, wybierz hasło na które znasz tylko Ty i twój rozmówca.","Compare":"Dopasuj","Fingerprints":"Kody autoryzacyjne","Authentication":"Autoryzacja","Message":"Wiadomość","Add_buddy":"Dodaj kontakt","rename_buddy":"Zmień nazwę kontaktu","delete_buddy":"Usuń kontakt","Login":"Login","Username":"Nazwa Użytkownika","Password":"Hasło","Cancel":"Anuluj","Connect":"Połączenie","Type_in_the_full_username_":"Wpisz pełną nazwę użytkownika (np. <B>imię.nazwisko@zajezdnia.local</B>) oraz jego nazwę wyświetlaną (Alias).","Alias":"Alias","Add":"Dodaj","Subscription_request":"Potwierdzenie subskrypcji","You_have_a_request_from":"Masz potwierdzenie od","Deny":"Odmów","Approve":"Zatwierdź","Remove_buddy":"Usuń kontakt","You_are_about_to_remove_":"Chcesz usunąć __bid_name__ (<b>__bid_jid__</b>) z twojej listy kontaktów. Wszystkie powiązane rozmowy zostaną zamknięte.","Continue_without_chat":"Kontynuuj bez komunikatora","Please_wait":"Proszę czekać","Login_failed":"Błędne logowanie","Sorry_we_cant_authentikate_":"Błędna autoryzacja z serwerem. Może hasło jest nieprawidłowe?","Retry":"Powrót","clear_history":"Wyczyść historię","New_message_from":"Nowa wiadomość od __name__","Should_we_notify_you_":"Czy chcesz otrzymywać powiadomienia o nowych wiadomościach w przyszłości?","Please_accept_":"Kliknij \"Zezwól\" na górze.","Hide_offline":"Schowaj niedostępne kontakty","Show_offline":"Pokaż niedostępne kontakty","About":"Info","dnd":"Nie przeszkadzać","Mute":"Wycisz","Unmute":"Włącz dźwięk","Subscription":"Subskrybcja","both":"obustronna","Status":"Status","online":"Dostępny","chat":"czat","away":"z dala od kompa","xa":"hen hen...","offline":"niedostępny","none":"brak","Unknown_instance_tag":"Nieznany przypadek.","Not_one_of_our_latest_keys":"Not one of our latest keys.","Received_an_unreadable_encrypted_message":"Otrzymano nieczytelną, zaszyfrowaną wiadomość.","Online":"Połączony","Chatty":"Pogawędzimy?","Away":"Daleko","Extended_away":"Hen Hen...","Offline":"Niedostępny","Friendship_request":"Prośba o kontakt","Confirm":"Potwierdzenie","Dismiss":"Odwołaj","Remove":"Usuń","Online_help":"Pomoc Online","FN":"Pełna nazwa","N":" ","FAMILY":"Nazwisko","GIVEN":"Imię","NICKNAME":"Pseudonim","URL":"Strona WWW","ADR":"Adres","STREET":"Ulica","EXTADD":"Pełny adres","LOCALITY":"Lokalizacja","REGION":"Region","PCODE":"Kod pocztowy","CTRY":"Kraj","TEL":"Telefon","NUMBER":"Numer","EMAIL":"Email","USERID":" ","ORG":"Organizacja","ORGNAME":"Nazwa","ORGUNIT":"Jednostka","TITLE":"Stanowisko","ROLE":"Rola","BDAY":"Data urodzin","DESC":"Opis","PHOTO":" ","send_message":"Wyślij wiadomość","get_info":"Pokaż informację","Settings":"Ustawienia","Priority":"Priorytet","Save":"Zapisz","User_settings":"Ustawienia Użytkownika","A_fingerprint_":"Kod służy do autoryzacji Twojego rozmówcy aby potwierdzić jego tożsamość.","is":"jest","Login_options":"opcje logowania","BOSH_url":"Adres BOSH","Domain":"Domena","Resource":"Źródło","On_login":"Na login","Received_an_unencrypted_message":"Zatwierdzono nieszyfrowaną wiadomość.","Sorry_your_buddy_doesnt_provide_any_information":"Wybacz, twój rozmówca nie posiada żadnych informacji.","Info_about":"Informacja o...","Authentication_aborted":"Autoryzacja anulowana.","Authentication_request_received":"Prośba o autoryzację została przyjęta.","Log_in_without_chat":"Zaloguj bez komunikatora","has_come_online":"jest teraz dostępny","Unknown_sender":"Nieznany nadawca","Please_allow_access_to_microphone_and_camera":"Kliknij \"Potwierdź\" na górze, aby móc korzystać z mikrofonu oraz kamery.","Incoming_call":"Przychodzące połączenie","from":"z","Do_you_want_to_accept_the_call_from":"Akceptujesz połączenie od","Reject":"Odrzuć","Accept":"Zaakceptuj","hang_up":"odbierz","snapshot":"zrób zdjęcie","mute_my_audio":"wycisz dźwięk","pause_my_video":"zatrzymaj moje wideo","fullscreen":"Pełny ekran","Info":"Informacja","Local_IP":"Adres IP","Remote_IP":"Zdalny adres IP","Local_Fingerprint":"Kod lokalny","Remote_Fingerprint":"Zdalny kod","Video_call_not_possible":"Rozmowa wideo jest niemożliwa. Twój rozmówca nie ma możliwości prowadzenia takich rozmów.","Start_video_call":"Rozpocznij rozmowę wideo","Join_chat":"Dołącz do czata","Join":"Dołącz","Room":"Pokój","Nickname":"Nazwa użytkownika","left_the_building":"__nickname__ wyszedł","entered_the_room":"__nickname__ wszedł do pokoju","is_now_known_as":"__oldNickname__ zmienił nazwę na __newNickname__","This_room_is":"Ten pokój jest","muc_hidden":{"keyword":"ukryty","description":"nie można odnaleźć elementów wyszukiwania"},"muc_membersonly":{"keyword":"tylko zalogowani","description":"musisz być członkiem listy"},"muc_moderated":{"keyword":"moderowano","description":"tylko osoby z opcją \"głos\" mogą wysyłać wiadomość"},"muc_nonanonymous":{"keyword":"nie-anonimowy","description":"Twój identyfikator jabber jest widoczny dla wszystkich innych osób"},"muc_open":{"keyword":"otwarty","description":"wszyscy mają pozwolenie aby dołączyć"},"muc_passwordprotected":{"keyword":"ograniczone hasłem","description":"musisz wpisać prawidłowe hasło"},"muc_persistent":{"keyword":"trwale","description":"nie zostaną zniszczone, jeśli ostatnia osoba wyszła"},"muc_public":{"keyword":"publiczny","description":"wyszukawno"},"muc_semianonymous":{"keyword":"pół-anonimowy","description":"Twój identyfikator jabber jest widoczny w pokoju adminów"},"muc_temporary":{"keyword":"tymczasowy","description":"zostanie usunięty jeżeli ostatnia osoba wyjdzie"},"muc_unmoderated":{"keyword":"niemoderowany","description":"wszyscy są uprawnieni do pisania wiadomości"},"muc_unsecured":{"keyword":"niezabezpieczone","description":"nie musisz wpisywać hasła"},"Continue":"Kontynuuj","Server":"Serwer","Rooms_are_loaded":"Pokoje zostały załadowane","Could_load_only":"Nie załadowano __count__ pokoi","muc_explanation":"Aby się zalogować, wpisz nazwę pokoju oraz opcjonalnie nazwę użytkownika i hasło","You_already_joined_this_room":"Już dołączyłeś do tego pokoju","This_room_will_be_closed":"Ten pokój będzie zamknięty","Room_not_found_":"Nowy pokój będzie stworzony","Loading_room_information":"Ładowani informacji o pokoju","Destroy":"Zniszczony","Leave":"Opuść","changed_subject_to":"__nickname__ zmienił temat pokoju na \"__subject__\"","muc_removed_kicked":"Zostałeś wyrzucony z pokoju","muc_removed_info_kicked":"__nickname__ został wyrzucony z pokoju","muc_removed_banned":"Zostałeś zbanowany","muc_removed_info_banned":"__nickname__ został zbanowany","muc_removed_affiliation":"Zostałeś usunięty z pokoju ze względu na zmianę przynależnosci","muc_removed_info_affiliation":"__nickname__ został usunięty z pokoju ze względu na zmianę przynależnosci","muc_removed_membersonly":"Zostałeś usunięty z pokoju ze względu na zmianę pokoju tylko dla członków, a Ty nie jesteś członkiem...","muc_removed_info_membersonly":"__nickname__ został usunięty z pokoju ze względu na zmianę pokoju na tylko dla członków","muc_removed_shutdown":"Zostałeś usunięty z pokoju ze względu na zamknięcie usługi","Reason":"Powód","message_not_send":"Wystąpił błąd i twoja wiadomość nie została wysłana.","message_not_send_item-not-found":"Twoja wiadomość nie została wysłana ponieważ ten pokój nie istnieje","message_not_send_forbidden":"Twoja wiadomość nie została wysłana ponieważ nie masz głosu w tym pokoju","message_not_send_not-acceptable":"Twoja wiadomość nie została wysłana ponieważ nie jesteś właścicielem tego pokoju","This_room_has_been_closed":"Ten pokój został zamknięty","Room_logging_is_enabled":"Logowanie do pokoju jest włączone","A_password_is_required":"Hasło jest wymagane","You_are_not_on_the_member_list":"Nie jesteś na liście członków","You_are_banned_from_this_room":"Zostałeś zbanowany w tym pokoju","Your_desired_nickname_":"Twoja nazwa użytkownika jest już użyta. Spróbuj wybrać inną","The_maximum_number_":"Została osiągnięta maksymalna liczba użytkowników w tym pokoju","This_room_is_locked_":"Ten pokój jest zablokowany","You_are_not_allowed_to_create_":"Nie masz uprawnień do tworzenia pokoju","Alert":"Alarm","Call_started":"Rozmowa rozpoczęta","Call_terminated":"Rozmowa zakończona","Carbon_copy":"Do wiadomości","Enable":"Włączone","jingle_reason_busy":"zajęte","jingle_reason_decline":"odmów","jingle_reason_success":"zakończono","Media_failure":"Błąd mediów","No_local_audio_device":"Brak lokalnego urządzenia audio.","No_local_video_device":"Brak lokalnego urządzenia wideo.","Ok":"Ok","PermissionDeniedError":"Ty lub twoja przeglądarka odmówiła dostępu do audio/video","Use_local_audio_device":"Użyj lokalnego urządzenia audio.","Use_local_video_device":"Użyj lokalnego urządzenia wideo.","is_":"jest __status__","You_received_a_message_from_an_unknown_sender_":"Masz wiadomość od nieznanego nadawcy. (__sender__) Chcesz to wyświetlić?","Your_roster_is_empty_add_":"Twoja lista jest pusta, dodaj kontakty <a>Nowy kontakt</a>","onsmp_explanation_question":"Twój rozmówca próbuje się z Tobą połączyć. Autoryzacja z rozmówcą, napisz odpowiedź.","onsmp_explanation_secret":"Twój rozmówca próbuje się z Tobą połączyć. Autoryzacja z rozmówcą, wpisz hasło.","from_sender":"z __sender__","Verified_private_conversation_started":"Zweryfikowano Rozmowa prywatna rozpoczęta.","Unverified_private_conversation_started":"Niezweryfikowano Rozmowa prywatna rozpoczęta.","Bookmark":"Zakładka","Auto-join":"Auto-połączenie","Edit_bookmark":"Edytuj zakładkę","Room_logging_is_disabled":"Logowanie pokoju jest wyłączone","Room_is_now_non-anoymous":"Pokój jest teraz nie-anonimowy","Room_is_now_semi-anonymous":"Pokój jest teraz pół-anonimowy","Do_you_want_to_change_the_default_room_configuration":"Chcesz zmienić domyślną konfigurację pokoju?","Default":"Domyślny","Change":"Zmień","Send_file":"Wyślij plik","setting-explanation-carbon":null,"setting-explanation-login":"Jeżeli ta opcja jest włączona, czat uruchomi się przy zalogowaniu.","setting-explanation-priority":"Jeżeli jesteś zalogowany wiele razy na to samo konto twój serwer XMPP dostarczy wiadomości do klienta z najwyższym priorytetem.","setting-explanation-xmpp":"Te ustawienia używane są do połączenia z serwerem XMPP.","_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"pt-BR":{"translation":{"Logging_in":"Entrando...","your_connection_is_unencrypted":"Sua conexão não é encriptada","your_connection_is_encrypted":"Sua conexão é encriptada","your_buddy_closed_the_private_connection":"Seu contato fechou a conexão privada","start_private":"Iniciar conversa privada","close_private":"Fechar conversa privada","your_buddy_is_verificated":"Seu contato está verificado","you_have_only_a_subscription_in_one_way":"Você só tem a inscrição one-way","authentication_query_sent":"Pergunta de autenticação enviada","your_message_wasnt_send_please_end_your_private_conversation":"Sua mensagem não foi enviada. Por favor finalize sua conversa privada","unencrypted_message_received":"Mensagem não encriptada recebida","not_available":"Indisponível","no_connection":"Sem conexão!","relogin":"reentrar","trying_to_start_private_conversation":"Tentando iniciar conversa privada","Verified":"Verificado","Unverified":"Não verificado","private_conversation_aborted":"Conversa privada abortada!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Seu contato encerrou a conversa privada! Você deveria fazer o mesmo.","conversation_is_now_verified":"Conversa verificada.","authentication_failed":"Autenticação falhou.","Creating_your_private_key_":"Criando sua chave privada: isso pode demorar um pouco.","Authenticating_a_buddy_helps_":"Autenticar seu contato ajuda a garantir que a pessoa com a qual você está falando é realmente a pessoa que ela alega ser.","How_do_you_want_to_authenticate_your_buddy":"Como você gostaria de se autenticar __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Selecione o método...","Manual":"Manual","Question":"Pergunta","Secret":"Senha","To_verify_the_fingerprint_":"Para verificar o fingerprint, entre em contato com seu contato usando outro meio, de preferência seguro, como o telefone.","Your_fingerprint":"Sua impressão digital","Buddy_fingerprint":"Impressão digital do contato","Close":"Fechar","Compared":"Comparado","To_authenticate_using_a_question_":"Para autenticar seu contato faça uma pergunta, mas escolha que só ele saiba a resposta.","Ask":"Pergunta","To_authenticate_pick_a_secret_":"Para autenticar, escolha um segredo que somente você e seu contato saibam.","Compare":"Compare","Fingerprints":"Impressões digitais","Authentication":"Autenticação","Message":"Mensagem","Add_buddy":"Adicionar contato","rename_buddy":"renomear contato","delete_buddy":"remover contato","Login":"Entrar","Username":"Usuário","Password":"Senha","Cancel":"Cancelar","Connect":"Conectar","Type_in_the_full_username_":"Digite seu nome completo e um apelido opcional.","Alias":"Apelido","Add":"Adicionar","Subscription_request":"Pedido de inscrição","You_have_a_request_from":"Você tem um pedido de","Deny":"Negar","Approve":"Aprovar","Remove_buddy":"Remover contato","You_are_about_to_remove_":"Você está prestes a remover __bid_name__ (<b>__bid_jid__</b>) de sua lista de contatos. Todas as conversas serão fechadas.","Continue_without_chat":"Continue sem converar","Please_wait":"Por favor aguarde","Login_failed":"Autenticação da conversa falhou","Sorry_we_cant_authentikate_":"A autenticação com o servidor falhou. Talvez seja a senha errada?","Retry":"Voltar","clear_history":"Limpar histórico","New_message_from":"Nova mensagem de __name__","Should_we_notify_you_":"Devemos continuar notificando sobre novas mensagens no futuro?","Please_accept_":"Por favor clique no botão \"Permitir\" na parte superior.","Hide_offline":"Esconder contatos desconectados","Show_offline":"Mostrar contatos desconectados","About":"Sobre","dnd":"Não perturbe","Mute":"Mudo","Unmute":"Ligar","Subscription":"Inscrição","both":"ambos","Status":"Status","online":"online","chat":"conversa","away":"ausente","xa":"ausente por mais tempo","offline":"desativado","none":"nenhum","Unknown_instance_tag":"Marcação desconhecida da instância","Not_one_of_our_latest_keys":"Nenhuma de nossas ultimas chaves.","Received_an_unreadable_encrypted_message":"Mensagem encriptada ilegível foi recebida.","Online":"Online","Chatty":"Tagarela","Away":"Ausente","Extended_away":"Ausente por mais tempo","Offline":"Desativado","Friendship_request":"Pedido de amizade","Confirm":"Confirmar","Dismiss":"Ignorar","Remove":"Remover","Online_help":"Ajuda online","FN":"Nome completo","N":" ","FAMILY":"Sobrenome","GIVEN":"Nome","NICKNAME":"Apelido","URL":"URL","ADR":"Endereço","STREET":"Rua, Av, etc","EXTADD":"Complemento","LOCALITY":"Localidade","REGION":"Região","PCODE":"CEP","CTRY":"País","TEL":"Telefone","NUMBER":"Número","EMAIL":"Email","USERID":" IDUsuário","ORG":"Empresa","ORGNAME":"Nome","ORGUNIT":"Unidade","TITLE":"Cargo","ROLE":"Função","BDAY":"Data de nascimento","DESC":"Descrição","PHOTO":"Foto","send_message":"Enviar mensagem","get_info":"Exibir informações","Settings":"Configurações","Priority":"Prioridade","Save":"Salvar","User_settings":"Configurações do usuário","A_fingerprint_":"O fingerprint é usado para certificar que a pessoa com a qual se está falando é que ela diz ser.","is":"é","Login_options":"Opções de login","BOSH_url":"BOSH URL","Domain":"Domínio","Resource":"Recurso","On_login":"Ao autenticar","Received_an_unencrypted_message":"Mensagem não encriptada recebida","Sorry_your_buddy_doesnt_provide_any_information":"Desculpe, seu contato não forneceu nenhuma informação","Info_about":"Informações sobre","Authentication_aborted":"Autenticação encerrada.","Authentication_request_received":"Pedido de autenticação recebido","Log_in_without_chat":"Entrar sem conversar","has_come_online":"ficou online","Unknown_sender":"Emissor desconhecido","Please_allow_access_to_microphone_and_camera":"Por favor clique no botão \"Permitir\" no topo, para conceder acesso ao seu microfone e câmera.","Incoming_call":"Recebendo chamada","from":"de","Do_you_want_to_accept_the_call_from":"Você aceita a chamada de","Reject":"Negar","Accept":"Aceitar","hang_up":"desligar","snapshot":"registrar imagem","mute_my_audio":"mudo","pause_my_video":"pausar vídeo","fullscreen":"tela cheia","Info":"Informações","Local_IP":"IP local","Remote_IP":"IP remoto","Local_Fingerprint":"Fingerprint local","Remote_Fingerprint":"Fingerprint remoto","Video_call_not_possible":"Chamada de vídeo impossível. Seu contato não suporta chamadas desse tipo.","Start_video_call":"Iniciar chamada de vídeo","Join_chat":"Entrar no chat","Join":"Entrar","Room":"Sala","Nickname":"Apelido","left_the_building":"__nickname__ deixou o prédio","entered_the_room":"__nickname__ entrou na sala","is_now_known_as":"__oldNickname__ agora é conhecido como __newNickname__","This_room_is":"Esta sala é","muc_hidden":{"keyword":"oculto","description":"Não pode ser encontrado através de pesquisa"},"muc_membersonly":{"keyword":"apenas para membros","description":"você precisa estar na lista de membros"},"muc_moderated":{"keyword":"moderado","description":"Somente pessoas com \"voice\" podem enviar mensagens"},"muc_nonanonymous":{"keyword":"não-anônimo","description":"Seu id jabber esta esposto para todos os outros ocupantes"},"muc_open":{"keyword":"abrir","description":"Todos podem entrar"},"muc_passwordprotected":{"keyword":"protegido por senha","description":"você precisa fornecer a senha correta"},"muc_persistent":{"keyword":"persistente","description":"Não será destruída se o último ocupante tiver saído"},"muc_public":{"keyword":"público","description":"pode ser localizado pela busca"},"muc_semianonymous":{"keyword":"semi-anônimos","description":"Sua identificação jabber só é exposta para administradores da sala"},"muc_temporary":{"keyword":"temporário","description":"Será destruída se o último ocupante tiver saído"},"muc_unmoderated":{"keyword":"sem moderação","description":"Todos tem permissão de enviar mensagens"},"muc_unsecured":{"keyword":"inseguro","description":"Você não precisa de senha para entrar"},"Continue":"Avançar","Server":"Servidor","Rooms_are_loaded":"Sala carregada","Could_load_only":"Pode carregar somente __count__ salas para autocompletar","muc_explanation":"Por favor entre um nome de sala e um nickname opcional e uma senha para entrar no chat","You_already_joined_this_room":"Você já entrou nesta sala","This_room_will_be_closed":"Esta sala será fechada","Room_not_found_":"Uma nova sala será criada","Loading_room_information":"Carregar informação da sala","Destroy":"Destruir","Leave":"Sair","changed_subject_to":"__nickname__ alterar o assunto da sala para \"__subject__\"","muc_removed_kicked":"Você foi removido da sala","muc_removed_info_kicked":"__nickname__ foi removido da sala","muc_removed_banned":"Você foi banido da sala","muc_removed_info_banned":"__nickname__ foi banido da sala","muc_removed_affiliation":"Você foi removido da sala pois a sala, por que a afiliação mudou","muc_removed_info_affiliation":"__nickname__ foi removido da sala, por que a afiliação mudou","muc_removed_membersonly":"Você foi removido da sala pois a sala foi alterada somente para membros e você não é um membro","muc_removed_info_membersonly":"__nickname__ foi removido da sala porque a sala foi alterada para somente membros e você não é um membro","muc_removed_shutdown":"Você foi removido da sala, por que o serviço MUC esta sendo desligado","Reason":"Motivo","message_not_send":"Sua mensagem não foi enviada devido a um erro","message_not_send_item-not-found":"Sua mensagem não foi enviada por que essa sala nao existe mais","message_not_send_forbidden":"Sua mensagem não foi enviada por que não tem 'voz' para essa sala","message_not_send_not-acceptable":"Sua mensagem não foi enviada por que você nao é ocupante desta sala","This_room_has_been_closed":"Essa sala foi fechada","Room_logging_is_enabled":"O Logging esta habilitado","A_password_is_required":"Senha é obrigatória","You_are_not_on_the_member_list":"Você não esta na lista de usuarios","You_are_banned_from_this_room":"Você foi banido desta sala","Your_desired_nickname_":"O nickname escolhido já esta em uso. Por favor escolha outro","The_maximum_number_":"O número máximo de usuarios já foi antigido para essa sala","This_room_is_locked_":"A sala esta trancada","You_are_not_allowed_to_create_":"Você não esta autorizado para criar uma sala","Alert":"Alerta","Call_started":"Chamada iniciada","Call_terminated":"Chamada finalizada","Carbon_copy":"Copia carbono","Enable":"Habilitado","jingle_reason_busy":"ocupado","jingle_reason_decline":"recusado","jingle_reason_success":"sucesso","Media_failure":"Media falhou","No_local_audio_device":"sem dispositivo local de audio","No_local_video_device":"sem dispositivo local de video","Ok":"Ok","PermissionDeniedError":"Você ou seu navegador negou permissão para acessar audio/video","Use_local_audio_device":"Usar dispositivo local de audio","Use_local_video_device":"Usar dispositivo local de video","is_":"é __status__","You_received_a_message_from_an_unknown_sender_":"Você recebeu uma mensagem de um emissor desconhecido (__sender__) Você quer mostrá-los?","Your_roster_is_empty_add_":"Sua lista está vazia, adicione um <a>novo contato</a>","onsmp_explanation_question":"Seu contato está tentando determinar se ele realmente está falando contigo. Para autenticar seu contato, entre com a resposta e clique em Responder.","onsmp_explanation_secret":"Seu contato está tentando determinar se ele realmente está falando contigo. Para autenticar seu contato, escreva a senha.","from_sender":"de __sender__","Verified_private_conversation_started":"Verificado Conversa privada iniciada.","Unverified_private_conversation_started":"Não verificado Conversa privada iniciada.","Bookmark":"Favoritos","Auto-join":"Entrar Automaticamente","Edit_bookmark":"Editar favoritos","Room_logging_is_disabled":"Registro de log na sala está desativado","Room_is_now_non-anoymous":"A sala é não anônima agora","Room_is_now_semi-anonymous":"A sala é semi anônima agora","Do_you_want_to_change_the_default_room_configuration":"Você quer alterar as configurações da sala?","Default":"Padrão","Change":"Alterar","Send_file":"Enviar arquivo","setting-explanation-carbon":"Com carbon copy ativado seu servidor XMPP vai enviar uma copia de cada mensagem para você neste cliente mesmo que não tenha endereço","setting-explanation-login":"Se essa opção esta habilitada, o chat vai começar ao logar.","setting-explanation-priority":"Você esta logado varias vezes com a mesma conta, seu servidor XMPP vai entregar as mensagens para o cliente com a prioridade mais alta.","setting-explanation-xmpp":"Essas opções são usadas para conectar no Servidor XMPP","_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"ro":{"translation":{"Logging_in":"Autentificare...","your_connection_is_unencrypted":"Conexiunea nu este criptată.","your_connection_is_encrypted":"Conexiunea este criptată.","your_buddy_closed_the_private_connection":"Interlocutorul a închis conexiunea privată.","start_private":"Pornește în privat","close_private":"Închide privat","your_buddy_is_verificated":"Interlocutorul este verificat.","you_have_only_a_subscription_in_one_way":"Subscrierea este într-o singură direcție.","authentication_query_sent":"Cererea de autentificare a fost trimisă.","your_message_wasnt_send_please_end_your_private_conversation":"Mesajul nu a fost trimis. Te rog închide conversația în privat.","unencrypted_message_received":"A fost primit un mesaj necriptat","not_available":"Indisponibil","no_connection":"Fără conexiune!","relogin":"Re-autentificare","trying_to_start_private_conversation":"Se încearcă deschiderea conversației în privat!","Verified":"Verificat","Unverified":"Neverificat","private_conversation_aborted":"Conversație în privat eșuată!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Interlocutorul a închis conversația în privat! Ar trebui să faci la fel și tu.","conversation_is_now_verified":"Conversația este acum verificată.","authentication_failed":"Autentificarea a eşuat.","Creating_your_private_key_":"Se crează cheia privată; ar putea să dureze ceva timp.","Authenticating_a_buddy_helps_":"Autentificând un contact ne asigură că persoana cu care vorbești este într-adevăr cine pretinde că este.","How_do_you_want_to_authenticate_your_buddy":"Cum vrei să te autentifici __bid_name__ (<b>__bid_jid__</b>)","Select_method":"Alege metoda...","Manual":"Manual","Question":"Întrebare","Secret":"Secret","To_verify_the_fingerprint_":"Pentru a verifica amprenta, contactează interlocutorul printr-un canal de încredere, cum ar fi telefonul.","Your_fingerprint":"Amprenta ta","Buddy_fingerprint":"Amprenta interlocutorului","Close":"Închide","Compared":"Prin comparație","To_authenticate_using_a_question_":"Pentru autentificarea folosind o întrebare, alege o întrebare cu un răspuns cunoscut doar de tine și de interlocutor.","Ask":"Întreabă","To_authenticate_pick_a_secret_":"Pentru autentificare, alege un secret cunoscut doar de tine și de interlocutor.","Compare":"Compară","Fingerprints":"Amprente","Authentication":"Autentificare","Message":"Mesaj","Add_buddy":"Adaugă contact","rename_buddy":"redenumește contact","delete_buddy":"șterge contact","Login":"Logare","Username":"Utilizator","Password":"Parolă","Cancel":"Renunță","Connect":"Conectare","Type_in_the_full_username_":"Scrie numele complet al utilizatorului și un alias opțional.","Alias":"Alias","Add":"Adaugă","Subscription_request":"Cerere de subscriere","You_have_a_request_from":"Ai o cerere de la","Deny":"Refuză","Approve":"Aprobă","Remove_buddy":"Șterge contact","You_are_about_to_remove_":"Urmează să ștergi __bid_name__ (<b>__bid_jid__</b>) din lista de contacte. Toate chat-urile asociate vor fi închise.","Continue_without_chat":"Continuă fără chat","Please_wait":"Te rog așteaptă","Login_failed":"Logarea pe chat a eșuat","Sorry_we_cant_authentikate_":"Autentificarea cu serverul de chat a eșuat. Poate parola este greșită ?","Retry":"Înapoi","clear_history":"Curăță istoria","New_message_from":"Un nou mesaj de la __name__","Should_we_notify_you_":"Vrei să fi notificat despre mesajele noi în viitor ?","Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"ru":{"translation":{"Logging_in":"Вход в систему...","your_connection_is_unencrypted":"Ваше соединение не зашифровано.","your_connection_is_encrypted":"Ваше соединение зашифровано.","your_buddy_closed_the_private_connection":"Ваш собеседник закончил зашифрованное соединение.","start_private":"Начать зашифрованный чат","close_private":"Закончить зашифрованный чат","your_buddy_is_verificated":"Собеседник подтвержден.","you_have_only_a_subscription_in_one_way":"У вас только односторонняя подписка.","authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":"Сообщение не отправлено. Завершите зашифрованный чат, пожалуйста.","unencrypted_message_received":"Получено незашифрованное сообщение","not_available":"Не доступен","no_connection":"Нет соединения!","relogin":"переподключиться","trying_to_start_private_conversation":"Попытка начать зашифрованный чат!","Verified":"Подтверждено","Unverified":"Не подтверждено","private_conversation_aborted":"Зашифрованный чат отклонен!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Ваш собеседник завершил зашифрованный чат! Вы должны сделать тоже самое.","conversation_is_now_verified":"Чат теперь утвержден.","authentication_failed":"Ошибка авторизации.","Creating_your_private_key_":"Создается приватный ключ. Это может занять некоторое время","Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":"Выберите метод...","Manual":"Вручную","Question":"Вопрос","Secret":"Пароль","To_verify_the_fingerprint_":null,"Your_fingerprint":"Ваш отпечаток","Buddy_fingerprint":"Отпечаток собеседника","Close":"Закрыть","Compared":"Сравнение завершено","To_authenticate_using_a_question_":"Для авторизации с помощью вопроса выберите вопрос, ответ на который знаете только Вы и собеседник.","Ask":null,"To_authenticate_pick_a_secret_":"Для авторизации выберите пароль, который знаете только Вы и собеседник.","Compare":"Сравнить","Fingerprints":"Отпечатки","Authentication":"Авторизация","Message":"Сообщение","Add_buddy":"Добавить контакт","rename_buddy":"переименовать контакт","delete_buddy":"удалить контакт","Login":"Вход","Username":"Логин","Password":"Пароль","Cancel":"Отмена","Connect":"Подключить","Type_in_the_full_username_":"Введите полное имя пользователя и дополнительный псевдоним","Alias":"Псевдоним","Add":"Добавить","Subscription_request":"Запрос подписки","You_have_a_request_from":"Получен запрос от","Deny":"Отказ","Approve":"Подтвердить","Remove_buddy":"Удалить контакт","You_are_about_to_remove_":"Вы собираетесь удалить __bid_name__ (<b>__bid_jid__</b>) из списка контактов. Все связанные с чаты будут закрыты.","Continue_without_chat":"Продолжить без чата","Please_wait":"Подождите…","Login_failed":"Неудачный вход в чат","Sorry_we_cant_authentikate_":"Неудачная попытка входа","Retry":"Назад","clear_history":"Очистить историю","New_message_from":"Новое сообщение от __name__","Should_we_notify_you_":"Уведомлять о новых сообщениях в будущем?","Please_accept_":"Нажмите кнопку \"Разрешить\" вверху страницы, пожалуйста","Hide_offline":"Спрятать отключенных","Show_offline":"Показать отключенных","About":"О проекте","dnd":"Не беспокоить","Mute":"Выкл. уведомления","Unmute":"Вкл. уведомления","Subscription":"Подписка","both":"оба","Status":"Статус","online":"в сети","chat":"готов общаться","away":"отошел","xa":"отсутствую","offline":"не в сети","none":"нет","Unknown_instance_tag":"Неизвестный тег.","Not_one_of_our_latest_keys":"Ни один из наших последних ключей","Received_an_unreadable_encrypted_message":"Получено нечитаемое зашифрованное сообщение","Online":"В сети","Chatty":"Готов общаться","Away":"Отошел","Extended_away":"Отсутствую","Offline":"Не в сети","Friendship_request":"Запрос на добавление в контакты","Confirm":"Подтвердить","Dismiss":"Отклонить","Remove":"Удалить","Online_help":"Онлайн помощь","FN":"Полное имя","N":null,"FAMILY":"Фамилия","GIVEN":"Имя","NICKNAME":"Ник","URL":"URL","ADR":"Адрес","STREET":"Улица","EXTADD":"Дополнительный адрес","LOCALITY":"Город","REGION":"Область","PCODE":"Индекс","CTRY":"Страна","TEL":"Телефон","NUMBER":"Номер","EMAIL":"Почта","USERID":null,"ORG":"Организация","ORGNAME":"Название","ORGUNIT":"Отдел","TITLE":"Должность","ROLE":"Обязанности","BDAY":"День рождения","DESC":"Описание","PHOTO":" Фото ","send_message":"Отправить сообщение","get_info":"Показать информацию","Settings":"Настройки","Priority":"Приоритет","Save":"Сохранить","User_settings":"Пользовательские настройки","A_fingerprint_":null,"is":" ","Login_options":"Параметры входа","BOSH_url":"BOSH URL","Domain":"Домен","Resource":"Ресурс","On_login":"Автоматически подключаться","Received_an_unencrypted_message":"Получено незашифрованное сообщение","Sorry_your_buddy_doesnt_provide_any_information":"К сожалению, контакт не предоставил какой-либо информации.","Info_about":"Информация о","Authentication_aborted":"Аутентификация прервана.","Authentication_request_received":"Получен запрос проверки подлинности.","Log_in_without_chat":"Вход без чата","has_come_online":"появился в сети","Unknown_sender":"Неизвестный отправитель","Please_allow_access_to_microphone_and_camera":"Нажмите кнопку \"Разрешить\" вверху страницы, чтобы предоставить доступ к микрофону и камере.","Incoming_call":"Входящий вызов","from":"от","Do_you_want_to_accept_the_call_from":"Вы хотите принять вызов от","Reject":"Отклонить","Accept":"Принять","hang_up":"Завершить","snapshot":"Снимок","mute_my_audio":"Без звука","pause_my_video":"Остановить моё видео","fullscreen":"На весь экран","Info":"Инфо","Local_IP":"Мой IP","Remote_IP":"Удаленный IP","Local_Fingerprint":"Мой отпечаток","Remote_Fingerprint":"Удаленный отпечаток","Video_call_not_possible":"Видео-вызов невозможен. Ваш собеседник не поддерживает видео-вызовы.","Start_video_call":"Видео-вызов","Join_chat":"Присоединиться к комнате","Join":"Присоедениться","Room":"Комната","Nickname":"Ник","left_the_building":"__nickname__ выходит из комнаты","entered_the_room":"__nickname__ заходит в комнату","is_now_known_as":"__oldNickname__ теперь известен как __newNickname__","This_room_is":"Эта комната","muc_hidden":{"keyword":"скрыта","description":"не может быть найдена через поиск"},"muc_membersonly":{"keyword":"только для участников","description":"Вы должны быть в списке участников"},"muc_moderated":{"keyword":"модерируется","description":"Только пользователи с правом голоса могут отправлять сообщения"},"muc_nonanonymous":{"keyword":"неанонимная","description":"Ваш JID будет показан всем посетителям"},"muc_open":{"keyword":"открытая","description":"Любой пользователь может присоедениться"},"muc_passwordprotected":{"keyword":"защищена паролем","description":"Необходимо ввести правильный пароль"},"muc_persistent":{"keyword":"постоянная","description":"Не будет уничтожена, когда ее покинут все участники"},"muc_public":{"keyword":"публичная","description":"Может быть найдена через поиск"},"muc_semianonymous":{"keyword":"полу-анонимная","description":"Ваш JID могут увидеть только администраторы"},"muc_temporary":{"keyword":"временная","description":"Будет уничтожена как только не останется ни одного участника"},"muc_unmoderated":{"keyword":"не модерируется","description":"Любой посетитель может отправлять сообщения"},"muc_unsecured":{"keyword":"без пароля","description":"Не нужно вводить пароль для входа"},"Continue":"Далее","Server":"Сервер","Rooms_are_loaded":"Комнаты загружены","Could_load_only":"Подгрузка только __count__ комнат в автодополнении","muc_explanation":"Введите название комнаты, свой ник и пароль для входа в комнату","You_already_joined_this_room":"Вы уже в этой комнате","This_room_will_be_closed":"Эта комната была закрыта","Room_not_found_":"Новая комната будет создана","Loading_room_information":"Загрузка информации о комнате","Destroy":"Уничтожить","Leave":"Покинуть","changed_subject_to":"__nickname__ изменил тему комнаты на \"__subject__\"","muc_removed_kicked":"Вас выкинули из комнаты","muc_removed_info_kicked":"__nickname__ был удален из комнаты","muc_removed_banned":"Вас забанили в комнате","muc_removed_info_banned":"__nickname__ был забанен в комнате","muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":"Вы были исключены из комнаты, т.к. комната стала доступна только для членов комнаты, а Вы им не являетесь","muc_removed_info_membersonly":"__nickname__ исключен(а) из комнаты, т.к. комната стала доступна только для членов комнаты, а он(она) им не является","muc_removed_shutdown":"Вы были удалены из комнаты, т.к. сервис чат-комнат недоступен","Reason":"Причина","message_not_send":"Ваше сообщение не было отправлено из-за ошибки","message_not_send_item-not-found":"Ваше сообщение не было отправлено, т.к. этой комнаты не существует","message_not_send_forbidden":"Ваше сообщение не было отправлено, т.к. у Вас нет права голоса в этой комнате","message_not_send_not-acceptable":"Ваше сообщение не было отправлено, т.к. Вы не являетесь участником этой комнаты","This_room_has_been_closed":"Эта комната была закрыта","Room_logging_is_enabled":"Журналирование комнаты включено","A_password_is_required":"Необходим пароль","You_are_not_on_the_member_list":"Вы не в списке участников","You_are_banned_from_this_room":"Вас забанили в этой комнате","Your_desired_nickname_":"Данное имя пользователя уже занято, пожалуйста, выберите другое имя пользователя","The_maximum_number_":"Достигнут лимит максимального количества посетителей этой комнаты","This_room_is_locked_":"Эта комната заблокирована","You_are_not_allowed_to_create_":"Вы не можете создавать комнаты","Alert":"Внимание","Call_started":"Вызов начался","Call_terminated":"Вызов завершен","Carbon_copy":"Копировать сообщения","Enable":"Включить","jingle_reason_busy":"занято","jingle_reason_decline":"запрещено","jingle_reason_success":"сбросили","Media_failure":"Ошибка передачи медиа","No_local_audio_device":"Нет локального аудио-устройства.","No_local_video_device":"Нет локального видео-устройства.","Ok":"Ок","PermissionDeniedError":"Вы или Ваш браузер запретили использовать микрофон/камеру","Use_local_audio_device":"Использовать локальное аудио-устройство.","Use_local_video_device":"Использовать локальное видео-устройство.","is_":"__status__","You_received_a_message_from_an_unknown_sender_":"Вы получили сообщение от неизвестного отправителя (__sender__)","Your_roster_is_empty_add_":"Ваш список контактов пуст, добавить <a>новый контакт</a>","onsmp_explanation_question":"Собеседник пытается определить, что общается действительно с Вами.","onsmp_explanation_secret":"Собеседник пытается определить, что общается действительно с Вами. введите пароль.","from_sender":"от __sender__","Verified_private_conversation_started":"Подтверждено Зашифрованный чат начат.","Unverified_private_conversation_started":"Не подтверждено Зашифрованный чат начат.","Bookmark":"Закладка","Auto-join":"Автоматически входить","Edit_bookmark":"Редактировать закладку","Room_logging_is_disabled":"Журналирование комнаты отключено","Room_is_now_non-anoymous":"Комната теперь не анонимная","Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":"Вы хотите изменить стандартную конфигурацию комнаты?","Default":"Станд.","Change":"Изменить","Send_file":"Отправить файл","setting-explanation-carbon":"С включенным Carbon Copy Ваш XMPP сервер будет отправлять копию каждого входящего сообщения на все подключенные устройства.","setting-explanation-login":"Если эта опция включена, то чат будет начинаться сразу после аутентификации.","setting-explanation-priority":"Если вы подключены к одному аккаунту с нескольких устройств, то XMPP сервер будет доставлять сообщения на клиент с наивысшим приоритетом.","setting-explanation-xmpp":"Эти настройки используются для подключения к XMPP серверу.","_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"sv-SE":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"tr-TR":{"translation":{"Logging_in":"Giriş yapılıyor…","your_connection_is_unencrypted":"Bağlantınız şifrelenmemiş.","your_connection_is_encrypted":"Bağlantınız şifrelenmiş.","your_buddy_closed_the_private_connection":"Sohbet ettiğiniz kişi özel bağlantı kapatıldı.","start_private":"Özel bağlantı başlat.","close_private":"Özel bağlantıyı kapat.","your_buddy_is_verificated":"Kişi doğrulandı.","you_have_only_a_subscription_in_one_way":"Sadece tek yönlü bir aboneliğiniz var.","authentication_query_sent":"Kimlik doğrulama sorgusu gönderildi.","your_message_wasnt_send_please_end_your_private_conversation":"Mesajınız gönderilmedi. Lütfen özel görüşmelerinizi bitirin.","unencrypted_message_received":"Şifrelenmemiş mesaj alındı","not_available":"Müsait değil","no_connection":"Bağlantı yok!","relogin":"Yeniden gir","trying_to_start_private_conversation":"Özel sohbet başlatılmaya çalışılıyor!","Verified":"Doğrulandı","Unverified":"Doğrulanamadı","private_conversation_aborted":"Özel sohbet iptal edildi!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"Sohbet ettiğiniz kişi özel görüşmeyi kapattı! Siz de aynı şeyi yapmalısınız.","conversation_is_now_verified":"Sohbet doğrulandı.","authentication_failed":"Kimlik doğrulama başarısız.","Creating_your_private_key_":"Özel anahtarınız oluşturuluyor; bu işlem biraz sürebilir.","Authenticating_a_buddy_helps_":"Kimlik doğrulaması, konuşmakta olduğunuz kişinin gerçekten o kişi olduğundan emin olmanıza yardımcı olur.","How_do_you_want_to_authenticate_your_buddy":"Kimlik doğrulamasını nasıl yapmak istersiniz __bid_name__ (<b>__bid_jid__</b>)?","Select_method":"Yöntemi seçin...","Manual":"Elle","Question":"Soru","Secret":"Gizli anahtar","To_verify_the_fingerprint_":"Parmakizini doğrulamak için, telefon gibi başka bir güvenilir kanalı kullanın.","Your_fingerprint":"Parmakiziniz","Buddy_fingerprint":"Kişinin parmakizi","Close":"Kapat","Compared":"Kıyaslandı","To_authenticate_using_a_question_":"Bir soru ile kimlik doğrulaması için, yanıtını yalnızca siz ve karşınızdaki kişinin bildiği bir soru seçin.","Ask":"Sor","To_authenticate_pick_a_secret_":"Kimlik doğrulaması için, yalnızca siz ve karşınızdaki kişinin bildiği bir parola seçin.","Compare":"Karşılaştır","Fingerprints":"Parmakizleri","Authentication":"Kimlik doğrulama","Message":"İleti","Add_buddy":"Kişi ekle","rename_buddy":"Kişiyi yeniden adlandır","delete_buddy":"Kişiyi sil","Login":"Giriş","Username":"Kullanıcı adı","Password":"Şifre","Cancel":"iptal","Connect":"Bağlan","Type_in_the_full_username_":"Tam kullanıcı adını ve isteğe bağlı bir takma ad yazın.","Alias":"Takma ad","Add":"Ekle","Subscription_request":"Abonelik isteği","You_have_a_request_from":"Size gelen bir istek var","Deny":"Reddet","Approve":"Onayla","Remove_buddy":"Kişiyi çıkar","You_are_about_to_remove_":"__bid_name__ (<b>__bid_jid__</b>) adlı kişiyi listenizden çıkarmak üzeresiniz. Tüm ilişkili sohbetler kapanacak.","Continue_without_chat":"Sohbet etmeden devam et","Please_wait":"Lütfen bekleyin","Login_failed":"Sohbet girişi başarısız oldu","Sorry_we_cant_authentikate_":"Kimlik doğrulaması başarısız oldu. Şifreniz yanlış olabilir.","Retry":"Geri","clear_history":"Geçmişi sil","New_message_from":"__name__ adlı kişiden yeni bir mesaj aldınız","Should_we_notify_you_":"İleride aldığınız yeni mesajları size bildirelim mi?","Please_accept_":"Lütfen üstteki \"İzin ver\" düğmesini tıklayın.","Hide_offline":"Çevrimdışı kişileri gizle","Show_offline":"Çevrimdışı kişileri göster","About":"hakkında","dnd":"Rahatsız etmeyin","Mute":"Sessiz","Unmute":"Sesli","Subscription":"Üyelik","both":"her ikisi de","Status":"Durum","online":"çevrimiçi","chat":"sohbet","away":"uzakta","xa":"çok uzakta","offline":"çevrimdışı","none":"hiç biri","Unknown_instance_tag":"Bilinmeyen örnek etiketi.","Not_one_of_our_latest_keys":"En son anahtarlarımızdan biri değil.","Received_an_unreadable_encrypted_message":"Okunamayan şifrelenmiş bir mesaj alındı.","Online":"Çevrimiçi","Chatty":"Konuşkan","Away":"Uzakta","Extended_away":"Çok uzakta","Offline":"Çevrimdışı","Friendship_request":"İrtibat isteği","Confirm":"Onayla","Dismiss":"Reddet","Remove":"Çıkar","Online_help":"Çevrimiçi yardım","FN":"Tam adı","N":" ","FAMILY":"Soyadı","GIVEN":"Adı","NICKNAME":"Takma ad","URL":"URL","ADR":"Adres","STREET":"Sokak","EXTADD":"Genişletilmiş Adres","LOCALITY":"Yer","REGION":"Bölge","PCODE":"Posta Kodu","CTRY":"Ülke","TEL":"Telefon","NUMBER":"Numara","EMAIL":"Eposta","USERID":" ","ORG":"Organizasyon","ORGNAME":"İsim","ORGUNIT":"Birim","TITLE":"İş tenımı","ROLE":"Görevi","BDAY":"Doğum günü","DESC":"Tanım","PHOTO":" ","send_message":"İletiyi gönder","get_info":"Bilgileri göster","Settings":"Ayarlar","Priority":"Öncelik","Save":"Kaydet","User_settings":"Kullanıcı tercihleri","A_fingerprint_":"Parmak izi konuştuğunuz kişinin söylediği kişi olduğundan emin olmak için kullanılır.","is":"Eşit","Login_options":"Giriş seçenekleri","BOSH_url":"BOSH URL","Domain":"Alan adı","Resource":"Kaynak","On_login":"Girişte","Received_an_unencrypted_message":"Şifrelenmemiş bir mesaj alındı","Sorry_your_buddy_doesnt_provide_any_information":"Maalesef kişi her hangi bir bilgi sunmamış.","Info_about":"Bilinen özellikleri","Authentication_aborted":"Kimlik doğrulama iptal edildi.","Authentication_request_received":"Kimlik doğrulama isteği alındı.","Log_in_without_chat":"Sohbetsiz giriş yap","has_come_online":"Çevrimiçi oldu","Unknown_sender":"Bilinmeyen gönderen","Please_allow_access_to_microphone_and_camera":"Mikrofona ve kameraya erişime izin vermek için lütfen üstteki \"İzin Ver\" düğmesini tıklayın.","Incoming_call":"Gelen çağrı","from":"gönderen","Do_you_want_to_accept_the_call_from":"Gelen aramayı kabul etmek istiyor musunuz","Reject":"Reddet","Accept":"Kabul et","hang_up":"aramayı sonlandır","snapshot":"anlık fotoğraf","mute_my_audio":"Sesi kapat","pause_my_video":"videoyu duraklat","fullscreen":"tam ekran","Info":"bilgi","Local_IP":"Yerel IP","Remote_IP":"Uzak IP","Local_Fingerprint":"Yerel parmakizi","Remote_Fingerprint":"Uzak parmakizi","Video_call_not_possible":"Video çağrısı yapılamıyor. Aranan kişi video görüşmelerini desteklemiyor.","Start_video_call":"Video görüşmesini başlat","Join_chat":"Sohbete katıl","Join":"Katıl","Room":"Oda","Nickname":"Takma ad","left_the_building":"__nickname__ binadan ayrıldı","entered_the_room":"__nickname__ odaya girdi","is_now_known_as":"__oldNickname__ şimdi __newNickname__ olarak biliniyor","This_room_is":"Bu oda","muc_hidden":{"keyword":"gizli","description":"Arama yoluyla bulunamıyor"},"muc_membersonly":{"keyword":"sadece-üye-olanlar","description":"üye listenizde olmanız gerekiyor"},"muc_moderated":{"keyword":"yöneticili","description":"Yalnızca \"sesli\" kişilerin mesaj göndermesine izin verilir"},"muc_nonanonymous":{"keyword":"Anonim-değil","description":"Sohbet kimliğiniz diğer tüm oturanlara görünüyor"},"muc_open":{"keyword":"açık","description":"herkes katılabilir"},"muc_passwordprotected":{"keyword":"şifre-korumalı","description":"Doğru şifreyi girmeniz gerekiyor"},"muc_persistent":{"keyword":"kalıcı","description":"Son oturan ayrıldığında kapanmaz"},"muc_public":{"keyword":"herkese açık","description":"Arama yoluyla bulunabilir"},"muc_semianonymous":{"keyword":"yarı-anonim","description":"Sohbet kimliğiniz sadece oda yöneticilerine görünüyor"},"muc_temporary":{"keyword":"geçici","description":"Son oturan ayrıldığında kapanır"},"muc_unmoderated":{"keyword":"yöneticisiz","description":"herkes ileti gönderebilir"},"muc_unsecured":{"keyword":"güvensiz","description":"şifre girmenize gerek yok"},"Continue":"Devam","Server":"Sunucu","Rooms_are_loaded":"Oda yüklendi","Could_load_only":"Sadece __count__ oda otomatik tamamlamayla yüklenebilir","muc_explanation":"Bir sohbete katılmak için, lütfen oda adını ve isteniyorsa takma adınız ve parolanızı girin","You_already_joined_this_room":"Zaten bu odaya katılmış durumdasınız","This_room_will_be_closed":"Bu oda kapanacak","Room_not_found_":"Yeni oda oluşturulacak","Loading_room_information":"Oda bilgileri yükleniyor","Destroy":"Sil","Leave":"Ayrıl","changed_subject_to":"__nickname__ bu odanın konusunu \"__subject__\" olarak değiştirdi","muc_removed_kicked":"Bu odadan atıldınız","muc_removed_info_kicked":"__nickname__ bu odadan atıldı","muc_removed_banned":"Odadan yasaklandınız","muc_removed_info_banned":"__nickname__ odadan yasaklandınız","muc_removed_affiliation":"Üyelik değişikliği nedeniyle odadan çıkarıldınız","muc_removed_info_affiliation":"__nickname__ üyelik değişikliği nedeniyle odadan çıkarıldı","muc_removed_membersonly":"Odanın durumu sadece-üyeler olarak değiştirildiği ve siz üye olmadığınız için odadan çıkarıldınız","muc_removed_info_membersonly":"Odanın durumu sadece-üyeler olarak değiştirildiği ve __nickname__ üye olmadığı için odadan çıkarıldı","muc_removed_shutdown":"Odadan çıkarıldınız çünkü, MUC sunucusu kapandı","Reason":"Sebep","message_not_send":"Mesajınız bir hata nedeniyle gönderilmedi","message_not_send_item-not-found":"Mesajınız gönderilmedi, çünkü bu oda mevcut değil","message_not_send_forbidden":"Mesajınız gönderilmedi çünkü bu odada sesiniz yok","message_not_send_not-acceptable":"Mesajınız gönderilmedi çünkü bu odaya bulunmuyorsunuz","This_room_has_been_closed":"Bu oda kapatıldı","Room_logging_is_enabled":"Oda günlüğü etkinleştirildi","A_password_is_required":"Şifre gerekli","You_are_not_on_the_member_list":"Üye listesinde değilsiniz","You_are_banned_from_this_room":"Bu odadan yasaklandınız","Your_desired_nickname_":"İstediğiniz takma ad başkası tarafından kullanılıyor. Lütfen başka bir takma ad","The_maximum_number_":"Bu odada maksimum kullanıcı sayısına ulaşıldı","This_room_is_locked_":"Bu oda kilitli","You_are_not_allowed_to_create_":"Oda açma izniniz yok","Alert":"Uyarı","Call_started":"Arama başlatıldı","Call_terminated":"Arama bitirildi","Carbon_copy":"Karbon kopya","Enable":"Etkinleştir","jingle_reason_busy":"meşgul","jingle_reason_decline":"kabul etme","jingle_reason_success":"kapatıldı","Media_failure":"Medya istek hatası","No_local_audio_device":"Yerel ses cihazı bulunamadı.","No_local_video_device":"Yerel video cihazı bulunamadı.","Ok":"Tamam","PermissionDeniedError":"Siz veya tarayıcınız medya iznini reddetti","Use_local_audio_device":"Yerel video cihazını kullan.","Use_local_video_device":"Yerel video cihazını kullanın.","is_":"__status__","You_received_a_message_from_an_unknown_sender_":"Bilinmeyen bir gönderenden bir ileti aldınız (__sender__) İletiyi görüntülemek istiyor musunuz?","Your_roster_is_empty_add_":"Listeniz boş, yeni bir <a>kişi ekleyin</a>","onsmp_explanation_question":"Karşınızdaki kişi, konuştuğu kişinin gerçekten siz olduğunuzu belirlemeye çalışıyor. Karşınızdaki kişiye kimliğinizi kanıtlamak için, yanıtı girin ve Yanıtla'yı tıklayın.","onsmp_explanation_secret":"Karşınızdaki kişi, konuştuğu kişinin gerçekten siz olduğunuzu belirlemeye çalışıyor. Karşınızdaki kişiye kimliğinizi kanıtlamak için, parolayı girin.","from_sender":"__sender__'den","Verified_private_conversation_started":"Doğrulanmış Özel görüşme başladı.","Unverified_private_conversation_started":"Doğrulanmamış Özel görüşme başladı.","Bookmark":"Yer imi","Auto-join":"Otomatik katıl","Edit_bookmark":"yer imini düzenle","Room_logging_is_disabled":"Oda günlüğü devre dışı","Room_is_now_non-anoymous":"Oda artık anonim değil","Room_is_now_semi-anonymous":"Oda yarı-anonim","Do_you_want_to_change_the_default_room_configuration":"Öntanımlı oda yapılandırmasını değiştirmek istiyor musunuz?","Default":"Öntanımlı","Change":"Değiştir","Send_file":"Dosya gönder","setting-explanation-carbon":"Etkinleştirilmiş karbon kopya ile, XMPP sunucusu kendisine gönderilen her iletinin bir kopyasını, bu adrese gönderilmemiş olsa bile sizin için bu istemciye gönderir.","setting-explanation-login":"Bu seçenek etkinleştirilirse, sohbet girişle beraber başlayacaktır.","setting-explanation-priority":"Aynı hesapla bir çok kez oturum açtıysanız, XMPP sunucusu, istemciye iletileri en yüksek öncelikle gönderecektir.","setting-explanation-xmpp":"Bu seçenekler XMPP sunucusuna bağlanmak için kullanılır.","_is_composing":" yazıyor...","_are_composing":" yazıyorlar...","Chat_state_notifications":"Sohbet durumu bildirimleri","setting-explanation-chat-state":"Birisi mesaj başlattığında veya mesaj yazmayı bıraktığında, sohbet durumu bildirimleri göndermek ve almak istiyor musunuz?","Share_screen":"Ekran paylaşımı","Incoming_stream":"Gelen akış","Stream_started":"Akış başladı","HTTPS_REQUIRED":"Bu eylem, şifreli bir bağlantı gerektirir.","EXTENSION_UNAVAILABLE":"Tarayıcı eklentisine ihtiyacınız var.","UNKNOWN_ERROR":"Bilinmeyen bir hata oluştu.","Install_extension":"Ekran paylaşımını kullanabilmek için lütfen eklentiyi yükleyin: ","Connection_accepted":"Bağlantı kabul edildi","Stream_terminated":"Akış sonlandırıldı","Close_all":"Hepsini kapat","Notification":"Bildirim","Unreadable_OTR_message":"Okunamayan OTR iletisi atlandı","Load_older_messages":null}},"vi-VN":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}},"zh-TW":{"translation":{"Logging_in":"正在登入…","your_connection_is_unencrypted":"連線沒加密。","your_connection_is_encrypted":"連線有加密。","your_buddy_closed_the_private_connection":"聯絡人關閉了加密連線。","start_private":"開始加密","close_private":"結束加密","your_buddy_is_verificated":"聯絡人已校驗。","you_have_only_a_subscription_in_one_way":"只有單向訂閱。","authentication_query_sent":"驗證要求送出了。","your_message_wasnt_send_please_end_your_private_conversation":"訊息沒送出去。請結束加密的對話。","unencrypted_message_received":"收到沒加密的訊息","not_available":"不存在","no_connection":"沒有連線!","relogin":"重新登入","trying_to_start_private_conversation":"正在試著開始加密的對話!","Verified":"已校驗","Unverified":"未校驗","private_conversation_aborted":"加密的對話中斷了!","your_buddy_closed_the_private_conversation_you_should_do_the_same":"聯絡人把這場加密的對話關掉了!你也應該同樣關掉。","conversation_is_now_verified":"對話現在校驗過了。","authentication_failed":"驗證失敗。","Creating_your_private_key_":"正在產生你的私人金鑰,會花一段時間。","Authenticating_a_buddy_helps_":"聯絡人驗證可以確保跟你說話的是真的那個人。","How_do_you_want_to_authenticate_your_buddy":"想要怎樣驗證__bid_name__ (<b>__bid_jid__</b>)?","Select_method":"選個方式...","Manual":"手動","Question":"問答","Secret":"祕密","To_verify_the_fingerprint_":"要校驗聯絡人的電子指紋,請透過其他可靠的管道跟她/他聯絡,比如說電話。","Your_fingerprint":"你的電子指紋","Buddy_fingerprint":"聯絡人的電子指紋","Close":"關閉","Compared":"比對正確","To_authenticate_using_a_question_":"要用問答來驗證的話,請找一個只有你和聯絡人才知道答案的問題。","Ask":"問題","To_authenticate_pick_a_secret_":"要驗證的話,請找一個只有你和聯絡人知道的祕密。","Compare":"比對","Fingerprints":"電子指紋","Authentication":"驗證","Message":"訊息","Add_buddy":"加聯絡人","rename_buddy":"重新命名聯絡人","delete_buddy":"刪掉聯絡人","Login":"登入","Username":"使用者名稱","Password":"密碼","Cancel":"取消","Connect":"連線","Type_in_the_full_username_":"請打全名,別名可有可無","Alias":"別名","Add":"加入","Subscription_request":"訂閱請求","You_have_a_request_from":"收到聯絡人的請求:","Deny":"拒絕","Approve":"同意","Remove_buddy":"刪除聯絡人","You_are_about_to_remove_":"要把__bid_name__ (<b>__bid_jid__</b>)從聯絡簿裡刪掉了。所有相關的對話也都會關掉。","Continue_without_chat":"繼續不聊天","Please_wait":"請等一下","Login_failed":"登入聊天失敗","Sorry_we_cant_authentikate_":"跟聊天伺服器驗證失敗,會不會是密碼打錯了?","Retry":"上一步","clear_history":"清除歷史紀錄","New_message_from":"有新訊息:__name__","Should_we_notify_you_":"以後若有新訊息要通知你嗎?","Please_accept_":"請點上方的「允許」按鈕。","Hide_offline":"隱藏離線聯絡人","Show_offline":"顯示離線聯絡人","About":"關於我","dnd":"別打擾","Mute":"開靜音","Unmute":"關靜音","Subscription":"訂閱狀態","both":"雙向","Status":"狀態","online":"上線","chat":"聊天","away":"離開","xa":"離開很久","offline":"離線","none":"沒有","Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":"收到了一則加密但無法辨認的訊息。","Online":"上線","Chatty":"想聊天","Away":"離開","Extended_away":"離開很久","Offline":"離線","Friendship_request":"聯絡請求","Confirm":"確定","Dismiss":"取消","Remove":"刪掉","Online_help":"線上說明","FN":"全名","N":" ","FAMILY":"姓氏","GIVEN":"名字","NICKNAME":"綽號","URL":"網址","ADR":"位址","STREET":"地址","EXTADD":"更多位址","LOCALITY":"所在地","REGION":"區域","PCODE":"郵遞區號","CTRY":"國家","TEL":"電話","NUMBER":"編號","EMAIL":"電子郵件","USERID":" ","ORG":"團體","ORGNAME":"名稱","ORGUNIT":"單位","TITLE":"職稱","ROLE":"職位","BDAY":"生日","DESC":"簡介","PHOTO":" ","send_message":"發送訊息","get_info":"顯示帳號資訊","Settings":"設定","Priority":"優先度","Save":"儲存","User_settings":"使用者設定","A_fingerprint_":"電子指紋是用來確認跟你說話的是真的那個人。","is":"狀態:","Login_options":"登入選項","BOSH_url":"BOSH 網址","Domain":"網域","Resource":"資源","On_login":"登入啟動","Received_an_unencrypted_message":"收到了一則沒加密的訊息","Sorry_your_buddy_doesnt_provide_any_information":"抱歉,聯絡人沒有提供任何資訊。","Info_about":"帳號資訊:","Authentication_aborted":"驗證中斷。","Authentication_request_received":"驗證請求收到了。","Log_in_without_chat":"登入但不啟用聊天","has_come_online":"上線了","Unknown_sender":"不明傳訊人","Please_allow_access_to_microphone_and_camera":"請點上方的「接受」按鈕來允許我們使用麥克風和相機。","Incoming_call":"來電","from":"只出","Do_you_want_to_accept_the_call_from":"是否要接聽來電:","Reject":"拒絕","Accept":"接受","hang_up":"掛斷","snapshot":"截圖","mute_my_audio":"關掉我的聲音","pause_my_video":"暫停我的影像","fullscreen":"全螢幕","Info":"資料","Local_IP":"本機網路位址","Remote_IP":"遠端網路位址","Local_Fingerprint":"本機電子指紋","Remote_Fingerprint":"遠端電子指紋","Video_call_not_possible":"無法視訊通話。聯絡人不支援視訊。","Start_video_call":"開始視訊通話","Join_chat":"參加聊天","Join":"參加","Room":"聊天室","Nickname":"綽號","left_the_building":"__nickname__離開了大樓","entered_the_room":"__nickname__進入了聊天室","is_now_known_as":"__oldNickname__改名叫做__newNickname__","This_room_is":"聊天室屬性:","muc_hidden":{"keyword":"隱藏","description":"搜尋也找不到"},"muc_membersonly":{"keyword":"限會員","description":"會員才會加入"},"muc_moderated":{"keyword":"有管制","description":"沒被消音的人才能送訊息"},"muc_nonanonymous":{"keyword":"禁匿名","description":"每個參與人都能看到你的 jabber 代碼"},"muc_open":{"keyword":"開放","description":"任何人都能參加"},"muc_passwordprotected":{"keyword":"密碼鎖","description":"要輸入正確的密碼才能加入"},"muc_persistent":{"keyword":"永久性","description":"最後一個參與人都離開了也不會結束"},"muc_public":{"keyword":"公開","description":"搜尋得到"},"muc_semianonymous":{"keyword":"半匿名","description":"只有聊天室管理員才看得到你的 jabber 代碼"},"muc_temporary":{"keyword":"暫時性","description":"最後一個參與人離開了就會結束"},"muc_unmoderated":{"keyword":"沒管制","description":"每個人都可以送訊息"},"muc_unsecured":{"keyword":"沒保護","description":"不需要密碼就能加入"},"Continue":"繼續","Server":"伺服器","Rooms_are_loaded":"聊天室載入完成","Could_load_only":"只能載入__count__間聊天室供輸入自動完成使用","muc_explanation":"請輸入要參加的聊天室名稱,綽號和密碼非必要","You_already_joined_this_room":"你已經參加這間聊天室了","This_room_will_be_closed":"聊天室即將關閉","Room_not_found_":"新聊天室即將開啟","Loading_room_information":"正在載入聊天室資訊","Destroy":"關閉","Leave":"離開","changed_subject_to":"__nickname__把聊天室的標題改成了\"__subject__\"","muc_removed_kicked":"你被踢出聊天室了","muc_removed_info_kicked":"__nickname__被踢出聊天室了","muc_removed_banned":"你被禁止進入聊天室了","muc_removed_info_banned":"__nickname__被禁止進入聊天室了","muc_removed_affiliation":"你因為身份改變而離開聊天室了","muc_removed_info_affiliation":"__nickname__因為身份改變而離開聊天室了","muc_removed_membersonly":"你離開聊天室了,因為聊天室改為只限會員,但你不是會員","muc_removed_info_membersonly":"__nickname__離開聊天室了,因為聊天室改為只限會員,但她/他不是會員","muc_removed_shutdown":"你離開聊天室了,因為多人聊天服務正在關閉中。","Reason":"原因","message_not_send":"訊息因為發生錯誤沒送出去","message_not_send_item-not-found":"訊息沒送出去,因為聊天室不存在了","message_not_send_forbidden":"訊息沒送出去,因為你被消音了","message_not_send_not-acceptable":"訊息沒送出去,因為你不是聊天室的參與人了","This_room_has_been_closed":"聊天室已經關閉了","Room_logging_is_enabled":"聊天室紀錄打開了","A_password_is_required":"需要密碼","You_are_not_on_the_member_list":"你不是會員","You_are_banned_from_this_room":"你被禁止進入聊天室了","Your_desired_nickname_":"這個綽號被用掉了,請換一個","The_maximum_number_":"這間聊天室已經到達使用者數目的上限","This_room_is_locked_":"聊天室上鎖了","You_are_not_allowed_to_create_":"不允許你開新的聊天室","Alert":"警告","Call_started":"通話開始","Call_terminated":"通話結束","Carbon_copy":"副本","Enable":"打開","jingle_reason_busy":"忙線中","jingle_reason_decline":"被拒絕","jingle_reason_success":"被掛斷","Media_failure":"媒體錯誤","No_local_audio_device":"本機沒有音訊設備。","No_local_video_device":"本機沒有視訊設備。","Ok":"好","PermissionDeniedError":"你或你的瀏覽器拒絕了媒體使用權限","Use_local_audio_device":"使用本機音訊設備。","Use_local_video_device":"使用本機視訊設備。","is_":"狀態: __status__","You_received_a_message_from_an_unknown_sender_":"收到了不明人士(__sender__)傳來的訊息。你要打開來看嗎?","Your_roster_is_empty_add_":"好友清單是空的,請加<a>新的聯絡人</a>","onsmp_explanation_question":"聯絡人想要確定她/他是在跟真的你說話。要完成你的驗證,請輸入問題的答案,然後按\"回答\"。","onsmp_explanation_secret":"聯絡人想要確定她/他是在跟真的你說話。要完成你的驗證,請輸入你們之間的祕密。","from_sender":"來自:__sender__","Verified_private_conversation_started":"加密且已校驗的對話開始了。","Unverified_private_conversation_started":"加密但未校驗的對話開始了。","Bookmark":"書籤","Auto-join":"自動參加","Edit_bookmark":"編輯書籤","Room_logging_is_disabled":"聊天室紀錄關掉了","Room_is_now_non-anoymous":"現在聊天室禁止匿名了","Room_is_now_semi-anonymous":"現在聊天室變半匿名了","Do_you_want_to_change_the_default_room_configuration":"你想要改變聊天室的預設配置嗎?","Default":"預設值","Change":"修改","Send_file":"傳送檔案","setting-explanation-carbon":"如果打開副本選項的話,XMPP 伺服器會把每一個收到的訊息,都送一份到這個用戶端程式,即使它不是訊息發送的對象。","setting-explanation-login":"打開這個選項會在登入時同時開啟聊天。","setting-explanation-priority":"如果你用同一個帳號同時登入好幾次的話,XMPP 伺服器會把訊息送給優先度最高的那個用戶端程式。","setting-explanation-xmpp":"這些是用在 XMPP 伺服器連線的選項。","_is_composing":"正在打字中...","_are_composing":"正在打字中...","Chat_state_notifications":"聊天狀態通知","setting-explanation-chat-state":"想要傳送以及接收聊天狀態的通知嗎?也就是有人開始或停止寫訊息之類?","Share_screen":"分享螢幕","Incoming_stream":"有串流來","Stream_started":"串流開始了","HTTPS_REQUIRED":"這個動作需要連線有加密。","EXTENSION_UNAVAILABLE":"瀏覽器必須要安裝擴充套件或是附加元件。","UNKNOWN_ERROR":"發生了不明錯誤。","Install_extension":"要使用螢幕分享功能請安裝這個擴充套件: ","Connection_accepted":"連線接受了","Stream_terminated":"串流結束了","Close_all":"全部關掉","Notification":"通知","Unreadable_OTR_message":"忽略無法解讀的 OTR 訊息","Load_older_messages":null}},"zh":{"translation":{"Logging_in":null,"your_connection_is_unencrypted":null,"your_connection_is_encrypted":null,"your_buddy_closed_the_private_connection":null,"start_private":null,"close_private":null,"your_buddy_is_verificated":null,"you_have_only_a_subscription_in_one_way":null,"authentication_query_sent":null,"your_message_wasnt_send_please_end_your_private_conversation":null,"unencrypted_message_received":null,"not_available":null,"no_connection":null,"relogin":null,"trying_to_start_private_conversation":null,"Verified":null,"Unverified":null,"private_conversation_aborted":null,"your_buddy_closed_the_private_conversation_you_should_do_the_same":null,"conversation_is_now_verified":null,"authentication_failed":null,"Creating_your_private_key_":null,"Authenticating_a_buddy_helps_":null,"How_do_you_want_to_authenticate_your_buddy":null,"Select_method":null,"Manual":null,"Question":null,"Secret":null,"To_verify_the_fingerprint_":null,"Your_fingerprint":null,"Buddy_fingerprint":null,"Close":null,"Compared":null,"To_authenticate_using_a_question_":null,"Ask":null,"To_authenticate_pick_a_secret_":null,"Compare":null,"Fingerprints":null,"Authentication":null,"Message":null,"Add_buddy":null,"rename_buddy":null,"delete_buddy":null,"Login":null,"Username":null,"Password":null,"Cancel":null,"Connect":null,"Type_in_the_full_username_":null,"Alias":null,"Add":null,"Subscription_request":null,"You_have_a_request_from":null,"Deny":null,"Approve":null,"Remove_buddy":null,"You_are_about_to_remove_":null,"Continue_without_chat":null,"Please_wait":null,"Login_failed":null,"Sorry_we_cant_authentikate_":null,"Retry":null,"clear_history":null,"New_message_from":null,"Should_we_notify_you_":null,"Please_accept_":null,"Hide_offline":null,"Show_offline":null,"About":null,"dnd":null,"Mute":null,"Unmute":null,"Subscription":null,"both":null,"Status":null,"online":null,"chat":null,"away":null,"xa":null,"offline":null,"none":null,"Unknown_instance_tag":null,"Not_one_of_our_latest_keys":null,"Received_an_unreadable_encrypted_message":null,"Online":null,"Chatty":null,"Away":null,"Extended_away":null,"Offline":null,"Friendship_request":null,"Confirm":null,"Dismiss":null,"Remove":null,"Online_help":null,"FN":null,"N":null,"FAMILY":null,"GIVEN":null,"NICKNAME":null,"URL":null,"ADR":null,"STREET":null,"EXTADD":null,"LOCALITY":null,"REGION":null,"PCODE":null,"CTRY":null,"TEL":null,"NUMBER":null,"EMAIL":null,"USERID":null,"ORG":null,"ORGNAME":null,"ORGUNIT":null,"TITLE":null,"ROLE":null,"BDAY":null,"DESC":null,"PHOTO":null,"send_message":null,"get_info":null,"Settings":null,"Priority":null,"Save":null,"User_settings":null,"A_fingerprint_":null,"is":null,"Login_options":null,"BOSH_url":null,"Domain":null,"Resource":null,"On_login":null,"Received_an_unencrypted_message":null,"Sorry_your_buddy_doesnt_provide_any_information":null,"Info_about":null,"Authentication_aborted":null,"Authentication_request_received":null,"Log_in_without_chat":null,"has_come_online":null,"Unknown_sender":null,"Please_allow_access_to_microphone_and_camera":null,"Incoming_call":null,"from":null,"Do_you_want_to_accept_the_call_from":null,"Reject":null,"Accept":null,"hang_up":null,"snapshot":null,"mute_my_audio":null,"pause_my_video":null,"fullscreen":null,"Info":null,"Local_IP":null,"Remote_IP":null,"Local_Fingerprint":null,"Remote_Fingerprint":null,"Video_call_not_possible":null,"Start_video_call":null,"Join_chat":null,"Join":null,"Room":null,"Nickname":null,"left_the_building":null,"entered_the_room":null,"is_now_known_as":null,"This_room_is":null,"muc_hidden":{"keyword":null,"description":null},"muc_membersonly":{"keyword":null,"description":null},"muc_moderated":{"keyword":null,"description":null},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":null},"muc_passwordprotected":{"keyword":null,"description":null},"muc_persistent":{"keyword":null,"description":null},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":null},"muc_temporary":{"keyword":null,"description":null},"muc_unmoderated":{"keyword":null,"description":null},"muc_unsecured":{"keyword":null,"description":null},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":null,"This_room_will_be_closed":null,"Room_not_found_":null,"Loading_room_information":null,"Destroy":null,"Leave":null,"changed_subject_to":null,"muc_removed_kicked":null,"muc_removed_info_kicked":null,"muc_removed_banned":null,"muc_removed_info_banned":null,"muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"muc_removed_membersonly":null,"muc_removed_info_membersonly":null,"muc_removed_shutdown":null,"Reason":null,"message_not_send":null,"message_not_send_item-not-found":null,"message_not_send_forbidden":null,"message_not_send_not-acceptable":null,"This_room_has_been_closed":null,"Room_logging_is_enabled":null,"A_password_is_required":null,"You_are_not_on_the_member_list":null,"You_are_banned_from_this_room":null,"Your_desired_nickname_":null,"The_maximum_number_":null,"This_room_is_locked_":null,"You_are_not_allowed_to_create_":null,"Alert":null,"Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":null,"jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":null,"PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"is_":null,"You_received_a_message_from_an_unknown_sender_":null,"Your_roster_is_empty_add_":null,"onsmp_explanation_question":null,"onsmp_explanation_secret":null,"from_sender":null,"Verified_private_conversation_started":null,"Unverified_private_conversation_started":null,"Bookmark":null,"Auto-join":null,"Edit_bookmark":null,"Room_logging_is_disabled":null,"Room_is_now_non-anoymous":null,"Room_is_now_semi-anonymous":null,"Do_you_want_to_change_the_default_room_configuration":null,"Default":null,"Change":null,"Send_file":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":null,"_is_composing":null,"_are_composing":null,"Chat_state_notifications":null,"setting-explanation-chat-state":null,"Share_screen":null,"Incoming_stream":null,"Stream_started":null,"HTTPS_REQUIRED":null,"EXTENSION_UNAVAILABLE":null,"UNKNOWN_ERROR":null,"Install_extension":null,"Connection_accepted":null,"Stream_terminated":null,"Close_all":null,"Notification":null,"Unreadable_OTR_message":null,"Load_older_messages":null}}}; \ No newline at end of file
diff --git a/package.json b/package.json
index ddb70eb4..27a061c4 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "jsxc",
- "version": "3.1.1",
+ "version": "3.2.0-nightly.1",
"description": "Real-time xmpp chat application with video calls, file transfer and encrypted communication",
"homepage": "http://www.jsxc.org/",
"bugs": "https://github.com/jsxc/jsxc/issues",