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

github.com/nextcloud/jsxc.nextcloud.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorKlaus <klaus@jsxc.org>2016-02-12 01:35:12 +0300
committerKlaus <klaus@jsxc.org>2016-02-12 01:35:12 +0300
commit74bff960b1e430e6545d54e79c039e75133261e8 (patch)
treec052ea4228880e1a0a73884f92d7515800963cf4 /build
parentced8cab8e73fb75e7d854571b8139d2572642f56 (diff)
build v3.0.0-beta2
Diffstat (limited to 'build')
-rw-r--r--build/ajax/getSettings.php67
-rw-r--r--build/ajax/getTurnCredentials.php33
-rw-r--r--build/ajax/getUsers.php12
-rw-r--r--build/ajax/getsettings.php61
-rw-r--r--build/ajax/getturncredentials.php26
-rw-r--r--build/ajax/setAdminSettings.php21
-rw-r--r--build/ajax/setUserSettings.php10
-rw-r--r--build/ajax/setsettings.php24
-rw-r--r--build/appinfo/app.php32
-rw-r--r--build/appinfo/application.php95
-rw-r--r--build/appinfo/database.xml38
-rw-r--r--build/appinfo/info.xml48
-rw-r--r--build/appinfo/routes.php22
-rw-r--r--build/appinfo/version2
-rw-r--r--build/css/jsxc.oc.css100
-rw-r--r--build/js/admin.js13
-rw-r--r--build/js/eof.js4
-rw-r--r--build/js/jsxc/css/jquery.colorbox.css189
-rw-r--r--build/js/jsxc/css/jsxc.css129
-rw-r--r--build/js/jsxc/img/bookmark_black.svg57
-rw-r--r--build/js/jsxc/img/bookmark_white.svg58
-rw-r--r--build/js/jsxc/img/padlock_open_disabled_black.svg67
-rw-r--r--build/js/jsxc/jsxc.js399
-rw-r--r--build/js/jsxc/jsxc.min.js16
-rw-r--r--build/js/jsxc/jsxc.min.js.map2
-rw-r--r--build/js/jsxc/lib/jquery.colorbox-min.js7
-rw-r--r--build/js/jsxc/lib/jsxc.dep.js4
-rw-r--r--build/js/jsxc/lib/jsxc.dep.min.js126
-rw-r--r--build/js/jsxc/lib/jsxc.dep.min.js.map2
-rw-r--r--build/js/jsxc/lib/translation.js2
-rw-r--r--build/js/ojsxc.js57
-rw-r--r--build/lib/controller/httpbindcontroller.php131
-rw-r--r--build/lib/db/README.md17
-rw-r--r--build/lib/db/iqroster.php4
-rw-r--r--build/lib/db/message.php3
-rw-r--r--build/lib/db/presence.php139
-rw-r--r--build/lib/db/presencemapper.php193
-rw-r--r--build/lib/db/stanza.php8
-rw-r--r--build/lib/db/stanzamapper.php6
-rw-r--r--build/lib/newcontentcontainer.php35
-rw-r--r--build/lib/stanzahandlers/README.md5
-rw-r--r--build/lib/stanzahandlers/presence.php75
-rw-r--r--build/settings.php33
43 files changed, 1578 insertions, 794 deletions
diff --git a/build/ajax/getSettings.php b/build/ajax/getSettings.php
new file mode 100644
index 0000000..8411587
--- /dev/null
+++ b/build/ajax/getSettings.php
@@ -0,0 +1,67 @@
+<?php
+
+header('Content-Type: application/json; charset=utf-8');
+
+function validateBoolean($val)
+{
+ return $val === true || $val === 'true';
+}
+
+OCP\JSON::callCheck();
+
+$username = $_POST ['username'];
+$password = $_POST ['password'];
+
+$ocUser = new OCP\User();
+
+$auth = ($password !== null) ? $ocUser->checkPassword($username, $password) : OCP\User::isLoggedIn();
+
+if (!$auth) {
+ echo json_encode(array(
+ 'result' => 'noauth',
+ ));
+ exit();
+}
+
+$config = \OC::$server->getConfig();
+
+$data = array();
+$data ['xmpp'] = array();
+$data ['serverType'] = $config->getAppValue('ojsxc', 'serverType', 'external');
+$data ['loginForm'] ['startMinimized'] = validateBoolean($config->getAppValue('ojsxc', 'xmppStartMinimized'));
+
+if ($data ['serverType'] === 'internal') {
+ echo json_encode(array(
+ 'result' => 'success',
+ 'data' => $data,
+ ));
+
+ exit;
+}
+
+$data ['xmpp'] ['url'] = $config->getAppValue('ojsxc', 'boshUrl');
+$data ['xmpp'] ['domain'] = $config->getAppValue('ojsxc', 'xmppDomain');
+$data ['xmpp'] ['resource'] = $config->getAppValue('ojsxc', 'xmppResource');
+$data ['xmpp'] ['overwrite'] = validateBoolean($config->getAppValue('ojsxc', 'xmppOverwrite'));
+$data ['xmpp'] ['onlogin'] = true;
+
+$options = $config->getUserValue($username, 'ojsxc', 'options');
+
+if ($options !== null) {
+ $options = json_decode($options, true);
+
+ foreach ($options as $prop => $value) {
+ if ($prop !== 'xmpp' || $data ['xmpp'] ['overwrite']) {
+ foreach ($value as $key => $v) {
+ if ($v !== '') {
+ $data [$prop] [$key] = ($v === 'false' || $v === 'true') ? validateBoolean($v) : $v;
+ }
+ }
+ }
+ }
+}
+
+echo json_encode(array(
+ 'result' => 'success',
+ 'data' => $data,
+));
diff --git a/build/ajax/getTurnCredentials.php b/build/ajax/getTurnCredentials.php
new file mode 100644
index 0000000..b2d648a
--- /dev/null
+++ b/build/ajax/getTurnCredentials.php
@@ -0,0 +1,33 @@
+<?php
+
+OCP\User::checkLoggedIn();
+OCP\JSON::callCheck();
+
+header('Content-Type: application/json; charset=utf-8');
+
+$config = \OC::$server->getConfig();
+$secret = $config->getAppValue('ojsxc', 'iceSecret');
+$user = \OC::$server->getUserSession()->getUser()->getUID();
+
+$ttl = $config->getAppValue('ojsxc', 'iceTtl', 3600 * 24); // one day (according to TURN-REST-API)
+$url = $config->getAppValue('ojsxc', 'iceUrl');
+$url = $url ? "turn:$url" : $url;
+
+$username = $secret ? (time() + $ttl).':'.$user : $user;
+$username = $config->getAppValue('ojsxc', 'iceUsername', $username);
+
+$credential = ($secret) ? base64_encode(hash_hmac('sha1', $username, $secret, true)) : '';
+$credential = $config->getAppValue('ojsxc', 'iceCredential', $credential);
+
+$data = array(
+ 'ttl' => $ttl,
+ 'iceServers' => array(
+ array(
+ 'urls' => array($url),
+ 'credential' => $credential,
+ 'username' => $username,
+ ),
+ ),
+);
+
+echo json_encode($data);
diff --git a/build/ajax/getUsers.php b/build/ajax/getUsers.php
index 8d44d43..1c4b258 100644
--- a/build/ajax/getUsers.php
+++ b/build/ajax/getUsers.php
@@ -1,11 +1,13 @@
<?php
-OCP\User::checkLoggedIn ();
-OCP\JSON::callCheck ();
+
+OCP\User::checkLoggedIn();
+OCP\JSON::callCheck();
+
+header('Content-Type: application/json; charset=utf-8');
$limit = 10;
$offset = 0;
-$users = OCP\User::getDisplayNames((string)$_GET['search'], $limit, $offset);
+$users = OCP\User::getDisplayNames((string) $_GET['search'], $limit, $offset);
-OCP\JSON::encodedPrint ( $users );
-?>
+echo json_encode($users);
diff --git a/build/ajax/getsettings.php b/build/ajax/getsettings.php
deleted file mode 100644
index 5ea0253..0000000
--- a/build/ajax/getsettings.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-function validateBoolean($val) {
- return $val === true || $val === 'true';
-}
-
-OCP\JSON::callCheck ();
-
-$username = $_POST ['username'];
-$password = $_POST ['password'];
-
-$ocUser = new OCP\User ();
-
-$auth = ($password !== null) ? $ocUser->checkPassword ( $username, $password ) : OCP\User::isLoggedIn ();
-
-if (!$auth) {
- OCP\JSON::encodedPrint ( array (
- 'result' => 'noauth'
- ) );
- exit ();
-}
-
-$data = array ();
-$data ['xmpp'] = array ();
-$data ['serverType'] = OCP\Config::getAppValue ( 'ojsxc', 'serverType' );
-$data ['loginForm'] ['startMinimized'] = validateBoolean(OCP\Config::getAppValue ( 'ojsxc', 'xmppStartMinimized' ));
-
-if ($data ['serverType'] === 'internal') {
- OCP\JSON::encodedPrint ( array (
- 'result' => 'success',
- 'data' => $data
- ) );
-
- exit;
-}
-
-$data ['xmpp'] ['url'] = OCP\Config::getAppValue ( 'ojsxc', 'boshUrl' );
-$data ['xmpp'] ['domain'] = OCP\Config::getAppValue ( 'ojsxc', 'xmppDomain' );
-$data ['xmpp'] ['resource'] = OCP\Config::getAppValue ( 'ojsxc', 'xmppResource' );
-$data ['xmpp'] ['overwrite'] = validateBoolean(OCP\Config::getAppValue ( 'ojsxc', 'xmppOverwrite' ));
-$data ['xmpp'] ['onlogin'] = true;
-
-$options = OCP\Config::getUserValue ( $username, 'ojsxc', 'options' );
-
-if ($options !== null) {
- $options = json_decode ( $options, true );
-
- foreach ( $options as $prop => $value ) {
- if ($prop !== 'xmpp' || $data ['xmpp'] ['overwrite']) {
- foreach ( $value as $key => $v ) {
- if ($v !== "")
- $data [$prop] [$key] = ($v === 'false' || $v === 'true') ? validateBoolean($v) : $v;
- }
- }
- }
-}
-
-OCP\JSON::encodedPrint ( array (
- 'result' => 'success',
- 'data' => $data
-) );
-?>
diff --git a/build/ajax/getturncredentials.php b/build/ajax/getturncredentials.php
deleted file mode 100644
index f3c8c6e..0000000
--- a/build/ajax/getturncredentials.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-OCP\User::checkLoggedIn ();
-OCP\JSON::callCheck ();
-
-$secret = OCP\Config::getAppValue ( 'ojsxc', 'iceSecret' );
-$user = OCP\User::getUser ();
-
-$ttl = OCP\Config::getAppValue ( 'ojsxc', 'iceTtl' ) ? : 3600 * 24; // one day (according to TURN-REST-API)
-$url = OCP\Config::getAppValue ( 'ojsxc', 'iceUrl' );
-$url = $url ? "turn:$url" : $url;
-$username = OCP\Config::getAppValue ( 'ojsxc', 'iceUsername' ) ? : ($secret ? (time () + $ttl) . ':' . $user : $user);
-$credential = OCP\Config::getAppValue ( 'ojsxc', 'iceCredential' ) ? : ($secret ? base64_encode ( hash_hmac ( 'sha1', $username, $secret, true ) ) : '');
-
-$data = array (
- 'ttl' => $ttl,
- 'iceServers' => array(
- array(
- 'urls' => array($url),
- 'credential' => $credential,
- 'username' => $username
- )
- )
-);
-
-OCP\JSON::encodedPrint ( $data );
-?>
diff --git a/build/ajax/setAdminSettings.php b/build/ajax/setAdminSettings.php
new file mode 100644
index 0000000..b087df6
--- /dev/null
+++ b/build/ajax/setAdminSettings.php
@@ -0,0 +1,21 @@
+<?php
+
+OCP\User::checkAdminUser();
+OCP\JSON::callCheck();
+
+$config = \OC::$server->getConfig();
+
+$config->setAppValue('ojsxc', 'serverType', $_POST ['serverType']);
+$config->setAppValue('ojsxc', 'boshUrl', $_POST ['boshUrl']);
+$config->setAppValue('ojsxc', 'xmppDomain', $_POST ['xmppDomain']);
+$config->setAppValue('ojsxc', 'xmppResource', $_POST ['xmppResource']);
+$config->setAppValue('ojsxc', 'xmppOverwrite', (isset($_POST ['xmppOverwrite'])) ? $_POST ['xmppOverwrite'] : 'false');
+$config->setAppValue('ojsxc', 'xmppStartMinimized', (isset($_POST ['xmppStartMinimized'])) ? $_POST ['xmppStartMinimized'] : 'false');
+
+$config->setAppValue('ojsxc', 'iceUrl', $_POST ['iceUrl']);
+$config->setAppValue('ojsxc', 'iceUsername', $_POST ['iceUsername']);
+$config->setAppValue('ojsxc', 'iceCredential', $_POST ['iceCredential']);
+$config->setAppValue('ojsxc', 'iceSecret', $_POST ['iceSecret']);
+$config->setAppValue('ojsxc', 'iceTtl', $_POST ['iceTtl']);
+
+echo 'true';
diff --git a/build/ajax/setUserSettings.php b/build/ajax/setUserSettings.php
index bacad7f..b81ba8f 100644
--- a/build/ajax/setUserSettings.php
+++ b/build/ajax/setUserSettings.php
@@ -2,12 +2,16 @@
OCP\User::checkLoggedIn ();
OCP\JSON::callCheck ();
-$user = OCP\User::getUser ();
-$options = OCP\Config::getUserValue($user, 'ojsxc', 'options');
+$config = \OC::$server->getConfig();
+$uid = \OC::$server->getUserSession()->getUser()->getUID();
+
+$options = $config->getUserValue($uid, 'ojsxc', 'options');
$options = json_decode($options, true);
foreach($_POST as $key => $val) {
$options[$key] = $val;
}
-echo OCP\Config::setUserValue($user, 'ojsxc', 'options', json_encode($options)); \ No newline at end of file
+$config->setUserValue($uid, 'ojsxc', 'options', json_encode($options));
+
+echo 'true';
diff --git a/build/ajax/setsettings.php b/build/ajax/setsettings.php
deleted file mode 100644
index c2d6661..0000000
--- a/build/ajax/setsettings.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011, Frank Karlitschek <karlitschek@kde.org>
- * Copyright (c) 2012, Florian Hülsmann <fh@cbix.de>
- * This file is licensed under the Affero General Public License version 3 or later.
- * See the COPYING-README file.
- */
-OCP\User::checkAdminUser ();
-OCP\JSON::callCheck ();
-
-OCP\Config::setAppValue ( 'ojsxc', 'serverType', $_POST ['serverType'] );
-OCP\Config::setAppValue ( 'ojsxc', 'boshUrl', $_POST ['boshUrl'] );
-OCP\Config::setAppValue ( 'ojsxc', 'xmppDomain', $_POST ['xmppDomain'] );
-OCP\Config::setAppValue ( 'ojsxc', 'xmppResource', $_POST ['xmppResource'] );
-OCP\Config::setAppValue ( 'ojsxc', 'xmppOverwrite', (isset($_POST ['xmppOverwrite']))? $_POST ['xmppOverwrite'] : 'false' );
-OCP\Config::setAppValue ( 'ojsxc', 'xmppStartMinimized', (isset($_POST ['xmppStartMinimized']))? $_POST ['xmppStartMinimized'] : 'false' );
-
-OCP\Config::setAppValue ( 'ojsxc', 'iceUrl', $_POST ['iceUrl'] );
-OCP\Config::setAppValue ( 'ojsxc', 'iceUsername', $_POST ['iceUsername'] );
-OCP\Config::setAppValue ( 'ojsxc', 'iceCredential', $_POST ['iceCredential'] );
-OCP\Config::setAppValue ( 'ojsxc', 'iceSecret', $_POST ['iceSecret'] );
-OCP\Config::setAppValue ( 'ojsxc', 'iceTtl', $_POST ['iceTtl'] );
-
-echo 'true';
diff --git a/build/appinfo/app.php b/build/appinfo/app.php
index ee83b9d..2313e6e 100644
--- a/build/appinfo/app.php
+++ b/build/appinfo/app.php
@@ -20,10 +20,36 @@ OCP\Util::addScript('ojsxc', 'ojsxc');
// ############# CSS #############
OCP\Util::addStyle ( 'ojsxc', 'jsxc.oc' );
-$version = OCP\Util::getVersion();
+if(class_exists('\\OCP\\AppFramework\\Http\\EmptyContentSecurityPolicy')) {
+ $manager = \OC::$server->getContentSecurityPolicyManager();
+ $policy = new \OCP\AppFramework\Http\EmptyContentSecurityPolicy();
-if($version[0] <= 6)
- OCP\Util::addStyle ( 'ojsxc', 'jsxc.oc.lte6' );
+ $policy->addAllowedStyleDomain('\'self\'');
+ $policy->addAllowedStyleDomain('\'unsafe-inline\'');
+
+ $policy->addAllowedScriptDomain('\'self\'');
+
+ $policy->addAllowedImageDomain('\'self\'');
+ $policy->addAllowedImageDomain('data:');
+ $policy->addAllowedImageDomain('blob:');
+
+ $policy->addAllowedMediaDomain('\'self\'');
+ $policy->addAllowedMediaDomain('blob:');
+
+ $policy->addAllowedChildSrcDomain('\'self\'');
+
+ $policy->addAllowedConnectDomain('\'self\'');
+
+ $boshUrl = \OC::$server->getConfig()->getAppValue('ojsxc', 'boshUrl');
+
+ if(preg_match('#^(https?:)?//([a-z0-9][a-z0-9\-.]*[a-z0-9])/#i', $boshUrl, $matches)) {
+ $boshDomain = $matches[2];
+
+ $policy->addAllowedConnectDomain($boshDomain);
+ }
+
+ $manager->addDefaultPolicy($policy);
+}
require_once __DIR__ ."/../vendor/autoload.php";
diff --git a/build/appinfo/application.php b/build/appinfo/application.php
index 8e7e1ee..2a9b9e8 100644
--- a/build/appinfo/application.php
+++ b/build/appinfo/application.php
@@ -4,9 +4,12 @@ namespace OCA\OJSXC\AppInfo;
use OCA\OJSXC\Controller\HttpBindController;
use OCA\OJSXC\Db\MessageMapper;
+use OCA\OJSXC\Db\PresenceMapper;
use OCA\OJSXC\Db\StanzaMapper;
+use OCA\OJSXC\NewContentContainer;
use OCA\OJSXC\StanzaHandlers\IQ;
use OCA\OJSXC\StanzaHandlers\Message;
+use OCA\OJSXC\StanzaHandlers\Presence;
use OCP\AppFramework\App;
use OCA\OJSXC\ILock;
use OCA\OJSXC\DbLock;
@@ -23,25 +26,33 @@ class Application extends App {
/** @var $config \OCP\IConfig */
$configManager = $container->query('OCP\IConfig');
+
self::$config['polling'] = $configManager->getSystemValue('ojsxc.polling',
['sleep_time' => 1, 'max_cycles' => 10]);
+
+ self::$config['polling']['timeout'] = self::$config['polling']['sleep_time'] * self::$config['polling']['max_cycles'] + 5;
+
self::$config['use_memcache'] = $configManager->getSystemValue('ojsxc.use_memcache',
['locking' => false]);
+
$container->registerService('HttpBindController', function($c){
return new HttpBindController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
- $c->query('OCP\ISession'),
$c->query('StanzaMapper'),
$c->query('IQHandler'),
$c->query('MessageHandler'),
$c->query('Host'),
$this->getLock(),
+ $c->query('OCP\ILogger'),
+ $c->query('PresenceHandler'),
+ $c->query('PresenceMapper'),
file_get_contents("php://input"),
self::$config['polling']['sleep_time'],
- self::$config['polling']['max_cycles']
+ self::$config['polling']['max_cycles'],
+ $c->query('NewContentContainer')
);
});
@@ -62,6 +73,18 @@ class Application extends App {
);
});
+ $container->registerService('PresenceMapper', function($c) {
+ return new PresenceMapper(
+ $c->query('ServerContainer')->getDb(),
+ $c->query('Host'),
+ $c->query('UserId'),
+ $c->query('MessageMapper'),
+ $c->query('NewContentContainer'),
+ self::$config['polling']['timeout']
+ );
+ });
+
+
/**
* XMPP Stanza Handlers
*/
@@ -73,6 +96,15 @@ class Application extends App {
);
});
+ $container->registerService('PresenceHandler', function($c) {
+ return new Presence(
+ $c->query('UserId'),
+ $c->query('Host'),
+ $c->query('PresenceMapper'),
+ $c->query('MessageMapper')
+ );
+ });
+
$container->registerService('MessageHandler', function($c) {
return new Message(
$c->query('UserId'),
@@ -85,7 +117,16 @@ class Application extends App {
* Config values
*/
$container->registerService('Host', function($c){
- return $c->query('Request')->getServerHost();
+ $request = $c->query('Request');
+ if (method_exists($request, 'getServerHost')) {
+ return $c->query('Request')->getServerHost();
+ } else {
+ return $this->getServerHost();
+ }
+ });
+
+ $container->registerService('NewContentContainer', function($c){
+ return new NewContentContainer();
});
}
@@ -97,8 +138,10 @@ class Application extends App {
$c = $this->getContainer();
if (self::$config['use_memcache']['locking'] === true) {
$cache = $c->getServer()->getMemCacheFactory();
-
- if ($cache->isAvailable()) {
+ $version = \OC::$server->getSession()->get('OC_Version');
+ if ($version[0] === 8 && $version[1] == 0){
+ $c->getServer()->getLogger()->warning('OJSXC is configured to use memcache as backend for locking, but ownCloud version 8 doesn\'t suppor this.');
+ } else if ($cache->isAvailable()) {
$memcache = $cache->create('ojsxc');
return new MemLock(
$c->query('UserId'),
@@ -117,5 +160,47 @@ class Application extends App {
);
}
+
+ /**
+ * Helper function
+ * https://github.com/owncloud/core/blob/a977465af5834a76b1e98854a2c9bfbe413c218c/lib/private/appframework/http/request.php#L518
+ * @return string
+ */
+ private function getServerHost() {
+ $host = 'localhost';
+ if (isset($this->server['HTTP_X_FORWARDED_HOST'])) {
+ if (strpos($this->server['HTTP_X_FORWARDED_HOST'], ',') !== false) {
+ $parts = explode(',', $this->server['HTTP_X_FORWARDED_HOST']);
+ $host = trim(current($parts));
+ } else {
+ $host = $this->server['HTTP_X_FORWARDED_HOST'];
+ }
+ } else {
+ if (isset($this->server['HTTP_HOST'])) {
+ $host = $this->server['HTTP_HOST'];
+ } else if (isset($this->server['SERVER_NAME'])) {
+ $host = $this->server['SERVER_NAME'];
+ }
+ }
+ if ($host !== null) {
+ return $host;
+ }
+ // get the host from the headers
+ $host = $this->getInsecureServerHost();
+ // Verify that the host is a trusted domain if the trusted domains
+ // are defined
+ // If no trusted domain is provided the first trusted domain is returned
+ $trustedDomainHelper = new TrustedDomainHelper($this->config);
+ if ($trustedDomainHelper->isTrustedDomain($host)) {
+ return $host;
+ } else {
+ $trustedList = $this->config->getSystemValue('trusted_domains', []);
+ if(!empty($trustedList)) {
+ return $trustedList[0];
+ } else {
+ return '';
+ }
+ }
+ }
} \ No newline at end of file
diff --git a/build/appinfo/database.xml b/build/appinfo/database.xml
index bef534f..57b7cbc 100644
--- a/build/appinfo/database.xml
+++ b/build/appinfo/database.xml
@@ -34,4 +34,42 @@
</field>
</declaration>
</table>
+ <table>
+ <name>*dbprefix*ojsxc_presence</name>
+ <declaration>
+ <field>
+ <name>id</name>
+ <type>integer</type>
+ <notnull>true</notnull>
+ <autoincrement>1</autoincrement>
+ <length>4</length>
+ </field>
+ <field>
+ <name>userid</name>
+ <type>text</type>
+ <notnull>true</notnull>
+ <length>64</length>
+ </field>
+ <field>
+ <name>presence</name>
+ <type>text</type>
+ <notnull>true</notnull>
+ <length>200</length>
+ </field>
+ <field>
+ <name>last_active</name>
+ <type>integer</type>
+ <notnull>true</notnull>
+ <length>8</length>
+ </field>
+ <index>
+ <name>userid_index</name>
+ <field>
+ <name>userid</name>
+ <sorting>ascending</sorting>
+ </field>
+ <unique>true</unique>
+ </index>
+ </declaration>
+ </table>
</database>
diff --git a/build/appinfo/info.xml b/build/appinfo/info.xml
index ae9d1b4..c5f05fa 100644
--- a/build/appinfo/info.xml
+++ b/build/appinfo/info.xml
@@ -1,14 +1,40 @@
<?xml version="1.0"?>
<info>
- <id>ojsxc</id>
- <name>JavaScript XMPP Chat</name>
- <description>XMPP Chat with OTR</description>
- <version>3.0.0-beta1b</version>
- <licence>MIT</licence>
- <author>Klaus Herberth</author>
- <require>5</require>
- <website>https://www.jsxc.org</website>
- <bugs>http://github.com/jsxc/jsxc/issues</bugs>
- <repository type="git">http://github.com/jsxc/jsxc.owncloud.git</repository>
- <ocsid>162257</ocsid>
+ <id>ojsxc</id>
+ <name>JavaScript XMPP Chat</name>
+ <description>Facebook-like chat with end-to-end encrypted conversation, video calls, multi-user rooms, XMPP and internal server backend.</description>
+ <version>3.0.0-beta2</version>
+ <licence>MIT</licence>
+ <author>Klaus Herberth, Tobia De Koninck</author>
+ <requiremin>8.0</requiremin>
+ <namespace>OJSXC</namespace>
+
+ <types>
+ <prelogin/>
+ </types>
+
+ <documentation>
+ <user>https://www.jsxc.org/manual.html</user>
+ <admin>https://github.com/jsxc/jsxc/wiki/Install-ojsxc-(owncloud)</admin>
+ </documentation>
+
+ <category>tools</category>
+
+ <website>https://www.jsxc.org</website>
+ <bugs>http://github.com/jsxc/jsxc/issues</bugs>
+ <repository type="git">https://github.com/owncloud/jsxc.chat.git</repository>
+
+ <ocsid>162257</ocsid>
+
+ <dependencies>
+ <php min-version="5.4" max-version="7"/>
+ <database>sqlite</database>
+ <database>mysql</database>
+ <database>pgsql</database>
+ <lib min-version="2.6.20">libxml</lib>
+ <lib>xmlreader</lib>
+ <lib>xmlwriter</lib>
+ <lib>dom</lib>
+ <owncloud min-version="8.0" max-version="9"/>
+ </dependencies>
</info>
diff --git a/build/appinfo/routes.php b/build/appinfo/routes.php
index 49ccf51..aa4c8a2 100644
--- a/build/appinfo/routes.php
+++ b/build/appinfo/routes.php
@@ -10,25 +10,25 @@
use \OCA\OJSXC\AppInfo\Application;
-$this->create('ojsxc_ajax_getsettings', 'ajax/getsettings.php')
- ->actionInclude('ojsxc/ajax/getsettings.php');
-
-$this->create('ojsxc_ajax_getturncredentials', 'ajax/getturncredentials.php')
- ->actionInclude('ojsxc/ajax/getturncredentials.php');
-
-$this->create('ojsxc_ajax_setsettings', 'ajax/setsettings.php')
- ->actionInclude('ojsxc/ajax/setsettings.php');
-
+$this->create('ojsxc_ajax_getsettings', 'ajax/getSettings.php')
+ ->actionInclude('ojsxc/ajax/getSettings.php');
+
+$this->create('ojsxc_ajax_getturncredentials', 'ajax/getTurnCredentials.php')
+ ->actionInclude('ojsxc/ajax/getTurnCredentials.php');
+
+$this->create('ojsxc_ajax_setadminsettings', 'ajax/setAdminSettings.php')
+ ->actionInclude('ojsxc/ajax/setAdminSettings.php');
+
$this->create('ojsxc_ajax_setUserSettings', 'ajax/setUserSettings.php')
->actionInclude('ojsxc/ajax/setUserSettings.php');
$this->create('ojsxc_ajax_getUsers', 'ajax/getUsers.php')
->actionInclude('ojsxc/ajax/getUsers.php');
-
+
$application = new Application();
$application->registerRoutes($this, array(
'routes' => array(
- array('name' => 'http_bind#index', 'url' => '/http-bind', 'verb' => array('GET', 'POST')),
+ array('name' => 'http_bind#index', 'url' => '/http-bind', 'verb' => 'POST'),
)
));
?>
diff --git a/build/appinfo/version b/build/appinfo/version
index 66a8431..f71bb4c 100644
--- a/build/appinfo/version
+++ b/build/appinfo/version
@@ -1 +1 @@
-3.0.0-beta1b
+3.0.0-beta2 \ No newline at end of file
diff --git a/build/css/jsxc.oc.css b/build/css/jsxc.oc.css
index 94bfc52..ef418b3 100644
--- a/build/css/jsxc.oc.css
+++ b/build/css/jsxc.oc.css
@@ -1,5 +1,5 @@
/*!
- * ojsxc v3.0.0-beta1b - 2016-01-29
+ * ojsxc v3.0.0-beta2 - 2016-02-11
*
* Copyright (c) 2016 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.0.0-beta1b
+ * @version 3.0.0-beta2
* @license MIT
*/
@@ -3019,10 +3019,6 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
background-size: contain;
background-repeat: no-repeat;
background-image: url('../js/jsxc/img/bookmark_red.svg'); }
- .jsxc_rosteritem.jsxc_bookmarked .jsxc_bookmarkOptions {
- text-indent: 9999px;
- background-image: url('../js/jsxc/img/gear_white.svg');
- background-size: 15px 15px; }
.jsxc_caption {
padding-right: 30px;
@@ -3034,13 +3030,13 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
cursor: pointer; }
.jsxc_caption .jsxc_name {
height: 100%;
- line-height: 35px; }
+ line-height: 40px; }
.jsxc_min .jsxc_caption .jsxc_name {
height: 50%;
- line-height: 17.5px; }
+ line-height: 20px; }
.jsxc_rosteritem .jsxc_caption .jsxc_name {
height: 50%;
- line-height: 17.5px; }
+ line-height: 20px; }
.jsxc_caption .jsxc_lastmsg {
font-size: 12px;
display: none;
@@ -3376,7 +3372,32 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
margin: 30px 10px;
padding: 5px;
border-radius: 3px;
- text-align: center; }
+ text-align: center;
+ position: relative; }
+ .jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_close {
+ position: absolute;
+ top: 0;
+ right: 0;
+ height: 44px;
+ width: 44px; }
+ .jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_close:after {
+ content: '×';
+ position: absolute;
+ top: 4px;
+ right: 4px;
+ font-size: 20px;
+ font-family: Arial, sans-serif;
+ cursor: pointer;
+ color: #000;
+ opacity: 0.4; }
+ .jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_close:hover:after {
+ opacity: 1; }
+ @media (min-width: 768px) {
+ .jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_close {
+ width: 30px;
+ height: 30px; } }
+ .jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_body {
+ margin-top: 20px; }
.jsxc_window .jsxc_fade .jsxc_overlay > div p {
margin-bottom: 10px; }
.jsxc_window .jsxc_fade .jsxc_overlay > div li {
@@ -3464,7 +3485,6 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
.jsxc_chatmessage {
margin: 3px;
padding: 4px;
- padding-right: 10px;
word-wrap: break-word;
background-color: #fff;
position: relative;
@@ -3516,6 +3536,19 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
text-overflow: ellipsis;
clear: both; }
+.jsxc_encrypted.jsxc_received.jsxc_out .jsxc_timestamp {
+ margin-right: 1px; }
+
+.jsxc_encrypted .jsxc_timestamp:after {
+ content: " ";
+ display: inline-block;
+ width: 10px;
+ height: 8px;
+ margin-left: 2px;
+ background-image: url('../js/jsxc/img/padlock_close_grey.svg');
+ background-size: contain;
+ background-repeat: no-repeat; }
+
.jsxc_in {
float: left;
position: relative;
@@ -3542,6 +3575,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
position: relative;
max-width: 76%;
margin-right: 10px;
+ padding-right: 10px;
border-radius: 3px;
background-color: #e6ffd1; }
.jsxc_out:after {
@@ -3597,6 +3631,11 @@ div.jsxc_transfer {
cursor: pointer; }
div.jsxc_transfer:hover {
opacity: 1.0; }
+ div.jsxc_transfer.jsxc_disabled {
+ background-image: url('../js/jsxc/img/padlock_open_disabled_black.svg');
+ cursor: default; }
+ div.jsxc_transfer.jsxc_disabled:hover {
+ opacity: 0.3; }
div.jsxc_transfer.jsxc_fin {
opacity: 1.0;
background-image: url('../js/jsxc/img/padlock_close_grey.svg'); }
@@ -3606,43 +3645,35 @@ div.jsxc_transfer {
div.jsxc_transfer.jsxc_enc.jsxc_trust {
background-image: url('../js/jsxc/img/padlock_close_green.svg'); }
-.jsxc_windowItem.jsxc_groupchat .jsxc_bar .jsxc_avatar, li[data-type="groupchat"] .jsxc_avatar {
+.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_bar .jsxc_avatar, li[data-type="groupchat"] .jsxc_avatar {
text-indent: 999px;
background-image: url('../js/jsxc/img/group_white.svg');
background-size: 70% 70% !important;
background-repeat: no-repeat; }
-.jsxc_windowItem.jsxc_groupchat .jsxc_fade {
+.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_fade {
padding-top: 44px; }
- .jsxc_min .jsxc_windowItem.jsxc_groupchat .jsxc_fade {
- padding-top: 0px; }
-.jsxc_windowItem.jsxc_groupchat .jsxc_video {
+.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_fingerprints, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_verification, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_transfer, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_video, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_sendFile {
display: none; }
-.jsxc_windowItem.jsxc_groupchat .jsxc_transfer {
- display: none; }
-
-.jsxc_windowItem.jsxc_groupchat .jsxc_fingerprints, .jsxc_windowItem.jsxc_groupchat .jsxc_verification, .jsxc_windowItem.jsxc_groupchat .jsxc_transfer {
- display: none; }
-
-.jsxc_windowItem.jsxc_groupchat .jsxc_members {
- background-image: url('../js/jsxc/img/group_grey.svg');
+.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_members {
+ background-image: url('../js/jsxc/img/group_white.svg');
background-size: 15px 15px;
background-repeat: no-repeat;
background-position: center; }
- .jsxc_windowItem.jsxc_groupchat .jsxc_members:hover {
- background-image: url('../js/jsxc/img/group_white.svg'); }
+ .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_members:hover {
+ opacity: 1.0; }
-.jsxc_windowItem.jsxc_groupchat .jsxc_chatmessage.jsxc_in {
+.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_chatmessage.jsxc_in {
margin-left: 50px; }
- .jsxc_windowItem.jsxc_groupchat .jsxc_chatmessage.jsxc_in .jsxc_avatar {
+ .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_chatmessage.jsxc_in .jsxc_avatar {
display: block;
position: absolute;
bottom: 0px;
left: -50px;
background-color: #777; }
- .jsxc_windowItem.jsxc_groupchat .jsxc_chatmessage.jsxc_in .jsxc_avatar:before {
+ .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_chatmessage.jsxc_in .jsxc_avatar:before {
display: none; }
.jsxc_windowItem .jsxc_memberlist {
@@ -3682,8 +3713,8 @@ div.jsxc_transfer {
.jsxc_windowItem .jsxc_memberlist.jsxc_expand ul > li {
display: block;
width: 100%;
- height: 27px;
- line-height: 27px; }
+ height: 40px;
+ line-height: 40px; }
.jsxc_windowItem .jsxc_memberlist.jsxc_expand ul > li .jsxc_name {
display: block;
cursor: default; }
@@ -3788,7 +3819,7 @@ li[data-type="groupchat"] .jsxc_video {
background-size: 100%;
margin: 0 3px 0 0;
background-image: url('../js/jsxc/img/loading.gif'); }
- #jsxc_dialog .jsxc_libraries {
+ #jsxc_dialog .jsxc_libraries, #jsxc_dialog .jsxc_credits {
max-width: 300px; }
.jsxc_avatar {
@@ -4041,6 +4072,9 @@ img.jsxc_vCard {
.jsxc_groupcontacticon {
background-image: url('../js/jsxc/img/groupcontact_black.svg'); }
+.jsxc_bookmarkicon {
+ background-image: url('../js/jsxc/img/bookmark_black.svg'); }
+
.jsxc_more {
float: right;
width: 44px;
@@ -4394,6 +4428,8 @@ div.jsxc_video {
width: 100%; }
#ojsxc input[type='checkbox'] {
width: auto; }
+ #ojsxc input[type='radio'] {
+ width: auto; }
@media (min-width: 768px) {
#ojsxc input {
width: auto; } }
diff --git a/build/js/admin.js b/build/js/admin.js
index 3d80891..3b90659 100644
--- a/build/js/admin.js
+++ b/build/js/admin.js
@@ -1,5 +1,5 @@
/*!
- * ojsxc v3.0.0-beta1b - 2016-01-29
+ * ojsxc v3.0.0-beta2 - 2016-02-11
*
* Copyright (c) 2016 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.0.0-beta1b
+ * @version 3.0.0-beta2
* @license MIT
*/
@@ -90,8 +90,11 @@ $(document).ready(function() {
if(xhr.status === 0) {
// cross-side
- fail('Cross domain requests are not possible with the current same-origin-policy (SOP). ' +
- 'You have to use Apache ProxyRequest or Nginx proxy_pass.');
+ fail('Cross domain request was not possible. Either your BOSH server does not send any ' +
+ 'Access-Control-Allow-Origin header or the content-security-policy (CSP) blocks your request. ' +
+ 'Starting from Owncloud 9.0 your CSP will be updated in any app which uses the appframework (e.g. files) ' +
+ 'after you save these settings and reload.' +
+ 'The savest way is still to use Apache ProxyRequest or Nginx proxy_pass.');
} else if (xhr.status === 404) {
// not found
fail('Your server responded with "404 Not Found". Please check if your BOSH server is running and reachable via ' + fullurl + '.');
@@ -151,7 +154,7 @@ $(document).ready(function() {
var status = $('#ojsxc .msg div');
status.html('<img src="' + jsxc.options.root + '/img/loading.gif" alt="wait" width="16px" height="16px" /> Saving...');
- $.post(OC.filePath('ojsxc', 'ajax', 'setsettings.php'), post, function(data) {
+ $.post(OC.filePath('ojsxc', 'ajax', 'setAdminSettings.php'), post, function(data) {
if (data) {
status.addClass('jsxc_success').text('Settings saved. Please log out and in again.');
} else {
diff --git a/build/js/eof.js b/build/js/eof.js
index 4a62514..668c9b3 100644
--- a/build/js/eof.js
+++ b/build/js/eof.js
@@ -1,5 +1,5 @@
/*!
- * ojsxc v3.0.0-beta1b - 2016-01-29
+ * ojsxc v3.0.0-beta2 - 2016-02-11
*
* Copyright (c) 2016 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.0.0-beta1b
+ * @version 3.0.0-beta2
* @license MIT
*/
diff --git a/build/js/jsxc/css/jquery.colorbox.css b/build/js/jsxc/css/jquery.colorbox.css
deleted file mode 100644
index 77c1504..0000000
--- a/build/js/jsxc/css/jquery.colorbox.css
+++ /dev/null
@@ -1,189 +0,0 @@
-/* Remove close button from firstrunwizard */
-#closeWizard {
- display: none !important;
-}
-
-/*
- Colorbox Core Style:
- The following CSS is consistent between example themes and should not be altered.
-*/
-#colorbox,#cboxOverlay,#cboxWrapper {
- position: absolute;
- top: 0;
- left: 0;
- z-index: 9999;
- overflow: hidden;
-}
-
-#cboxWrapper {
- max-width: none;
-}
-
-#cboxOverlay {
- position: fixed;
- width: 100%;
- height: 100%;
-}
-
-#cboxMiddleLeft,#cboxBottomLeft {
- clear: left;
-}
-
-#cboxContent {
- position: relative;
-}
-
-#cboxLoadedContent {
- overflow: auto;
- -webkit-overflow-scrolling: touch;
-}
-
-#cboxTitle {
- margin: 0;
-}
-
-#cboxLoadingOverlay,#cboxLoadingGraphic {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
-}
-
-#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow {
- cursor: pointer;
-}
-
-.cboxPhoto {
- float: left;
- margin: auto;
- border: 0;
- display: block;
- max-width: none;
- -ms-interpolation-mode: bicubic;
-}
-
-.cboxIframe {
- width: 100%;
- height: 100%;
- display: block;
- border: 0;
-}
-
-#colorbox,#cboxContent,#cboxLoadedContent {
- box-sizing: content-box;
- -moz-box-sizing: content-box;
- -webkit-box-sizing: content-box;
-}
-
-/*
- User Style:
- Change the following styles to modify the appearance of Colorbox. They are
- ordered & tabbed in a way that represents the nesting of the generated HTML.
-*/
-#cboxOverlay {
- background: #000;
-}
-
-#colorbox {
-
-}
-
-#cboxContent {
- margin-top: 20px;
-}
-
-.cboxIframe {
- background: #fff;
-}
-
-#cboxError {
- padding: 50px;
- border: 0px solid #ccc;
-}
-
-#cboxLoadedContent {
- border: 0px solid #555;
- background: #fff;
- border-radius: 5px;
-}
-
-#cboxTitle {
- position: absolute;
- top: -20px;
- left: 0;
- color: #ccc;
-}
-
-#cboxCurrent {
- position: absolute;
- top: -20px;
- right: 0px;
- color: #ccc;
-}
-
-#cboxSlideshow {
- position: absolute;
- top: -20px;
- right: 90px;
- color: #fff;
-}
-
-#cboxPrevious:hover {
- background-position: bottom left;
-}
-
-#cboxNext:hover {
- background-position: bottom right;
-}
-
-#cboxLoadingOverlay {
- background: #fff;
-}
-
-#cboxClose {
- position: absolute;
- top: 5px;
- right: 5px;
- display: block;
- opacity: 0.5;
- width: 19px !important;
- height: 19px;
- border: 0px;
- text-indent: -9999px;
- background-color: #fff;
-}
-#cboxClose:before {
- content: '×';
- position: absolute;
- top: 0px;
- left: 0px;
- display: block;
- width: 19px;
- height: 19px;
- opacity: 0.5;
- text-indent: 0;
- text-align: center;
- line-height: 19px;
- font-size: 19px;
-}
-
-#cboxClose:before:hover {
- opacity: 1;
-}
-
-#cboxClose:hover {
- background-position: right center !important;
- opacity: 1.0;
-}
-
-/*
- The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
- when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9.
- See: http://jacklmoore.com/notes/ie-transparency-problems/
-*/
-.cboxIE #cboxTopLeft,.cboxIE #cboxTopCenter,.cboxIE #cboxTopRight,.cboxIE #cboxBottomLeft,.cboxIE #cboxBottomCenter,.cboxIE #cboxBottomRight,.cboxIE #cboxMiddleLeft,.cboxIE #cboxMiddleRight
- {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,
- endColorstr=#00FFFFFF);
-} \ No newline at end of file
diff --git a/build/js/jsxc/css/jsxc.css b/build/js/jsxc/css/jsxc.css
index 498abf3..39464c7 100644
--- a/build/js/jsxc/css/jsxc.css
+++ b/build/js/jsxc/css/jsxc.css
@@ -548,16 +548,13 @@ img.mfp-img {
@media all and (max-width: 900px) {
.mfp-arrow {
-webkit-transform: scale(0.75);
- -ms-transform: scale(0.75);
- transform: scale(0.75); }
+ transform: scale(0.75); }
.mfp-arrow-left {
-webkit-transform-origin: 0;
- -ms-transform-origin: 0;
- transform-origin: 0; }
+ transform-origin: 0; }
.mfp-arrow-right {
-webkit-transform-origin: 100%;
- -ms-transform-origin: 100%;
- transform-origin: 100%; }
+ transform-origin: 100%; }
.mfp-container {
padding-left: 6px;
padding-right: 6px; } }
@@ -2785,7 +2782,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
background-color: green; }
.jsxc_away:before {
- background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaWQ9InN2ZzgiCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDMuMTc0OTk5OSAzLjE3NTAwMDEiCiAgIGhlaWdodD0iMTIiCiAgIHdpZHRoPSIxMiIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC45MStkZXZlbCByIgogICBzb2RpcG9kaTpkb2NuYW1lPSJwcmVzZW5jZV9hd2F5LnN2ZyI+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxODY5IgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwNTYiCiAgICAgaWQ9Im5hbWVkdmlldzQ3NTQiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209Ijc4LjY2NjY2NyIKICAgICBpbmtzY2FwZTpjeD0iNS45MTI0Mjc1IgogICAgIGlua3NjYXBlOmN5PSI1LjY3NTQ4MzMiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjUxIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzgiIC8+CiAgPGRlZnMKICAgICBpZD0iZGVmczIiIC8+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhNSI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGUgLz4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGNpcmNsZQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuNDI5NDY4NTc7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICBpZD0icGF0aDUyOTkiCiAgICAgY3g9IjEuNTg3NSIKICAgICBjeT0iMS41ODc1IgogICAgIHI9IjAuNjU5MjE2MTEiIC8+Cjwvc3ZnPgo=');
+ background-image: url('../img/presence_away.svg');
background-color: #ffa500; }
.jsxc_xa:before {
@@ -2793,7 +2790,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
background-color: #ffa500; }
.jsxc_dnd:before {
- background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaWQ9InN2ZzgiCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDMuMTc0OTk5OSAzLjE3NTAwMDEiCiAgIGhlaWdodD0iMTIiCiAgIHdpZHRoPSIxMiIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC45MStkZXZlbCByIgogICBzb2RpcG9kaTpkb2NuYW1lPSJwcmVzZW5jZV9kbmQuc3ZnIj4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE4NjkiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTA1NiIKICAgICBpZD0ibmFtZWR2aWV3NDE2OSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6em9vbT0iNzYuNTgzMzMzIgogICAgIGlua3NjYXBlOmN4PSI2IgogICAgIGlua3NjYXBlOmN5PSI2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1MSIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMjQiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmc4IiAvPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMyIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTUiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC40NTI3MDIwODtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMC44NDk4OTExOCwxLjU4NzUgSCAyLjMyNTEwODgiCiAgICAgaWQ9InBhdGg0MTcxIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+Cjwvc3ZnPgo=');
+ background-image: url('../img/presence_dnd.svg');
background-color: #f00; }
.jsxc_hidden {
@@ -2951,7 +2948,6 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
transition: right 0.5s; }
#jsxc_roster.jsxc_state_hidden #jsxc_toggleRoster:before {
-webkit-transform: rotate(0deg);
- -ms-transform: rotate(0deg);
transform: rotate(0deg); }
#jsxc_roster.jsxc_state_shown {
display: block;
@@ -2981,7 +2977,6 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
border-width: 6px 4px 6px 0;
border-color: transparent whitesmoke;
-webkit-transform: rotate(180deg);
- -ms-transform: rotate(180deg);
transform: rotate(180deg); }
.jsxc_rosteritem {
@@ -3011,10 +3006,6 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
background-size: contain;
background-repeat: no-repeat;
background-image: url('../img/bookmark_red.svg'); }
- .jsxc_rosteritem.jsxc_bookmarked .jsxc_bookmarkOptions {
- text-indent: 9999px;
- background-image: url('../img/gear_white.svg');
- background-size: 15px 15px; }
.jsxc_caption {
padding-right: 30px;
@@ -3026,13 +3017,13 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
cursor: pointer; }
.jsxc_caption .jsxc_name {
height: 100%;
- line-height: 35px; }
+ line-height: 40px; }
.jsxc_min .jsxc_caption .jsxc_name {
height: 50%;
- line-height: 17.5px; }
+ line-height: 20px; }
.jsxc_rosteritem .jsxc_caption .jsxc_name {
height: 50%;
- line-height: 17.5px; }
+ line-height: 20px; }
.jsxc_caption .jsxc_lastmsg {
font-size: 12px;
display: none;
@@ -3150,7 +3141,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
display: block;
width: 100%;
height: 100%;
- background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiA8bWV0YWRhdGE+CiAgPHJkZjpSREY+CiAgIDxjYzpXb3JrIHJkZjphYm91dD0iIj4KICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgPGRjOnR5cGUgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIvPgogICAgPGRjOnRpdGxlLz4KICAgPC9jYzpXb3JrPgogIDwvcmRmOlJERj4KIDwvbWV0YWRhdGE+CiA8cGF0aCBkPSJtMiwyLDAsMiwxMiwwLDAtMnptMCw1LDAsMiwxMiwwLDAtMnptMCw1LDAsMiwxMiwwLDAtMnoiLz4KPC9zdmc+Cg==');
+ background-image: url('../img/menu_black.svg');
background-repeat: no-repeat;
background-position: center 10px;
background-size: 17px; }
@@ -3368,7 +3359,32 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
margin: 30px 10px;
padding: 5px;
border-radius: 3px;
- text-align: center; }
+ text-align: center;
+ position: relative; }
+ .jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_close {
+ position: absolute;
+ top: 0;
+ right: 0;
+ height: 44px;
+ width: 44px; }
+ .jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_close:after {
+ content: '×';
+ position: absolute;
+ top: 4px;
+ right: 4px;
+ font-size: 20px;
+ font-family: Arial, sans-serif;
+ cursor: pointer;
+ color: #000;
+ opacity: 0.4; }
+ .jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_close:hover:after {
+ opacity: 1; }
+ @media (min-width: 768px) {
+ .jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_close {
+ width: 30px;
+ height: 30px; } }
+ .jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_body {
+ margin-top: 20px; }
.jsxc_window .jsxc_fade .jsxc_overlay > div p {
margin-bottom: 10px; }
.jsxc_window .jsxc_fade .jsxc_overlay > div li {
@@ -3456,7 +3472,6 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
.jsxc_chatmessage {
margin: 3px;
padding: 4px;
- padding-right: 10px;
word-wrap: break-word;
background-color: #fff;
position: relative;
@@ -3480,7 +3495,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
background-position: 3px center;
background-size: 25px 25px;
background-repeat: no-repeat;
- background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgdmVyc2lvbj0iMS4wIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogPHBhdGggc3R5bGU9ImNvbG9yOiMwMDAwMDA7YmxvY2stcHJvZ3Jlc3Npb246dGI7dGV4dC10cmFuc2Zvcm06bm9uZTt0ZXh0LWluZGVudDowIiBkPSJtMi4zNTAxIDEuMDAxNGMtMC4xOTc1MSAwLjAzODItMC4zNTM1MSAwLjIzMzMxLTAuMzUwMDEgMC40Mzc0MnYxMy4xMjNjMC4wMDAwMDUgMC4yMjkwNSAwLjIwNTIzIDAuNDM3NDUgMC40MzA3OSAwLjQzNzQ2bDExLjEzOSAwLjAwMWMwLjIyNTU2LTAuMDAwMDA2IDAuNDMwNzgtMC4yMDg0MSAwLjQzMDc5LTAuNDM3NDZ2LTEwLjE0M2MtMC4wMDQtMC4wNjY4NC0wLjAyMi0wLjEzMjg0LTAuMDU0LTAuMTkxMzVsLTMuMzEyMS0zLjE5ODljLTAuMDQzLTAuMDE2NC0wLjA4OC0wLjAyNTYtMC4xMzQtMC4wMjc0bC04LjA2OTktMC4wMDFjLTAuMDI2ODQtMC4wMDI2LTAuMDUzOTMtMC4wMDI2LTAuMDgwNzcgMHoiIGZpbGw9IiM5Njk2OTYiLz4KPC9zdmc+Cg=='); }
+ background-image: url('../img/filetypes/file.svg'); }
.jsxc_chatmessage .jsxc_attachment img {
border-radius: 3px; }
.jsxc_chatmessage .jsxc_attachment.jsxc_image {
@@ -3488,15 +3503,15 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
padding: 0;
background-image: url(); }
.jsxc_chatmessage .jsxc_attachment.jsxc_application {
- background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgdmVyc2lvbj0iMS4wIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogPGcgdHJhbnNmb3JtPSJtYXRyaXgoLjc5OTk4IDAgMCAuOCAxLjYgMS45NTU0KSIgZmlsbD0iIzk2OTY5NiI+CiAgPHBhdGggZD0ibTYuOTM3NSAwLjA1NmMtMC4yNDg0IDAtMC40Mzc1IDAuMTg5MDgtMC40Mzc1IDAuNDM3NXYxLjI1Yy0wLjU1MzkgMC4xNDIyLTEuMDUxMiAwLjM3MTktMS41MzEyIDAuNjU2M2wtMC45MDYzLTAuOTA2M2MtMC4xNzU2Ni0wLjE3NTY2LTAuNDQ5MzQtMC4xNzU2Ni0wLjYyNSAwbC0xLjUgMS41Yy0wLjE3NTY2IDAuMTc1NjYtMC4xNzU2NiAwLjQ0OTM0IDAgMC42MjVsMC45MDYzIDAuOTA2M2MtMC4yODQ0IDAuNDgtMC41MTQxIDAuOTc3My0wLjY1NjMgMS41MzEyaC0xLjI1Yy0wLjI0ODQyIDAtMC40Mzc1IDAuMTg5MS0wLjQzNzUgMC40Mzc1djIuMTI1YzFlLTggMC4yNDg0MiAwLjE4OTA4IDAuNDM3NSAwLjQzNzUgMC40Mzc1aDEuMjVjMC4xNDIyIDAuNTUzOSAwLjM3MTg4IDEuMDUxMiAwLjY1NjI1IDEuNTMxMmwtMC45MDYzIDAuOTA3Yy0wLjE3NTY2IDAuMTc1NjYtMC4xNzU2NiAwLjQ0OTM0IDAgMC42MjVsMS41IDEuNWMwLjE3NTY2IDAuMTc1NjYgMC40NDkzNCAwLjE3NTY2IDAuNjI1IDBsMC45MDYzLTAuOTA3YzAuNDggMC4yODUgMC45NzczIDAuNTE0IDEuNTMxMiAwLjY1NnYxLjI1YzFlLTcgMC4yNDg0MiAwLjE4OTA4IDAuNDM3NSAwLjQzNzUgMC40Mzc1aDIuMTI1YzAuMjQ4NCAwIDAuNDM3NS0wLjE4OSAwLjQzNzUtMC40Mzh2LTEuMjVjMC41NTM5LTAuMTQyMiAxLjA1MTItMC4zNzE4OCAxLjUzMTItMC42NTYyNWwwLjkwNjI1IDAuOTA2MjVjMC4xNzU2NiAwLjE3NTY2IDAuNDQ5MzQgMC4xNzU2NiAwLjYyNSAwbDEuNS0xLjVjMC4xNzU2Ni0wLjE3NTY2IDAuMTc1NjYtMC40NDkzNCAwLTAuNjI1bC0wLjkwNi0wLjkwNmMwLjI4NS0wLjQ4IDAuNTE0LTAuOTc3MSAwLjY1Ni0xLjUzMWgxLjI1YzAuMjQ5IDAgMC40MzgtMC4xODkxIDAuNDM4LTAuNDM3NXYtMi4xMjVjMC0wLjI0ODQtMC4xODktMC40Mzc1LTAuNDM4LTAuNDM3NWgtMS4yNWMtMC4xNDItMC41NTM5LTAuMzcxLTEuMDUxMi0wLjY1Ni0xLjUzMTJsMC45MDYtMC45MDYzYzAuMTc1NjYtMC4xNzU2NiAwLjE3NTY2LTAuNDQ5MzQgMC0wLjYyNWwtMS41LTEuNWMtMC4xNzU2Ni0wLjE3NTY2LTAuNDQ5MzQtMC4xNzU2Ni0wLjYyNSAwbC0wLjkwNiAwLjkwNjNjLTAuNDgtMC4yODQ0LTAuOTc3LTAuNTE0MS0xLjUzMS0wLjY1NjN2LTEuMjVjMC4wMDA0LTAuMjQ4NzItMC4xODg3LTAuNDM3OC0wLjQzNzEtMC40Mzc4em0xLjA2MjUgNC4xNTczYzEuODQ1MSAwIDMuMzQyNyAxLjQ5NzUgMy4zNDI3IDMuMzQyNyAwIDEuODQ1MS0xLjQ5NzUgMy4zNDI3LTMuMzQyNyAzLjM0MjctMS44NDUxIDAtMy4zNDI3LTEuNDk3OS0zLjM0MjctMy4zNDNzMS40OTc2LTMuMzQyNyAzLjM0MjctMy4zNDI3eiIgZGlzcGxheT0iYmxvY2siIGZpbGw9IiM5Njk2OTYiLz4KIDwvZz4KPC9zdmc+Cg=='); }
+ background-image: url('../img/filetypes/application.svg'); }
.jsxc_chatmessage .jsxc_attachment.jsxc_application-pdf {
background-image: url('../img/filetypes/application-pdf.svg'); }
.jsxc_chatmessage .jsxc_attachment.jsxc_audio {
- background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgdmVyc2lvbj0iMS4wIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogPHBhdGggZD0ibTEyLjgwNSAxLjAwMTFjLTIuMiAwLjM1NDUtNS4xNDQ1IDAuNzE5NC03LjMzODMgMS4wOTM3LTAuNTgxIDAuMjgzNS0wLjQ1MDMgMS4wMTMzLTAuNDc2MSAxLjU0Mjl2Ny4wODk1Yy0xLjIyNDMtMC4yMzAxNy0yLjcxNzMgMC43ODE0Mi0yLjc4MiAyLjM4MzEtMC4xMDU3IDAuOTk3MjEgMC43Nzg1OSAxLjg2NTIgMS43NDAyIDEuODg4NSAxLjcyMTcgMC4wNDE3OSAyLjg5OTItMS4xMDA1IDIuOTE3OS0yLjU0NS0wLjAxODc2LTIuNDI2MSAwLjAwNTYtNC44NTMzIDAtNy4yNzk1IDAuMjY2NTQtMC4wMTk3NCA0LjMwMzYtMC43OTAwNiA0LjY2NjctMC44NDEzNHY1LjQ1MmMtMS4wNy0wLjI1NjEtMi40Mzc0IDAuNDQ3Mi0yLjc3NjYgMS44ODMyLTAuMTQzMTQgMC44MDQ4OSAwLjEyNzQgMS44MTUyIDAuOTQ0MTEgMi4xNTYgMS41OTQzIDAuNzMyNjEgMy43ODMtMC43NTEzNyAzLjY5NC0yLjQ5My0wLjAyNDczLTMuMjM1IDAuMDIwMjUtNi40NzE3IDAtOS43MDctMC4wNDItMC4zMDQyMi0wLjI0ODI3LTAuNjQ0NzQtMC41OTAzMy0wLjYyMjgxeiIgZmlsbD0iIzk2OTY5NiIvPgo8L3N2Zz4K'); }
+ background-image: url('../img/filetypes/audio.svg'); }
.jsxc_chatmessage .jsxc_attachment.jsxc_video {
- background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgdmVyc2lvbj0iMS4wIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogPHBhdGggc3R5bGU9ImNvbG9yOiMwMDAwMDA7YmxvY2stcHJvZ3Jlc3Npb246dGI7dGV4dC10cmFuc2Zvcm06bm9uZTt0ZXh0LWluZGVudDowIiBkPSJtMS4zNDM4IDJjLTAuMTk3NSAwLjAzODItMC4zNDczNiAwLjIzMzQtMC4zNDM4IDAuNDM3NXYxMS4xMjVjMCAwLjIyOSAwLjIxMiAwLjQzOCAwLjQzNzUgMC40MzhoMTMuMTI1YzAuMjI1NTUtMC4wMDAwMDYgMC40Mzc1LTAuMjA4NDYgMC40Mzc1LTAuNDM3NXYtMTAuOTUzYzAtMC4zMzYyLTAuMjY1LTAuNjExLTAuNTE2LTAuNjA5em0wLjY1NjIgMWgxMnYxMGgtMTJ6bTMgMnY2bDYtM3oiIGZpbGw9IiM5Njk2OTYiLz4KPC9zdmc+Cg=='); }
+ background-image: url('../img/filetypes/video.svg'); }
.jsxc_chatmessage .jsxc_attachment.jsxc_text {
- background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgdmVyc2lvbj0iMS4wIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogPHBhdGggc3R5bGU9ImNvbG9yOiMwMDAwMDA7YmxvY2stcHJvZ3Jlc3Npb246dGI7dGV4dC10cmFuc2Zvcm06bm9uZTt0ZXh0LWluZGVudDowIiBkPSJtMi4zNDk2IDEuMDAyYy0wLjE5NzUgMC4wMzgyLTAuMzUzMSAwLjIzMzMtMC4zNDk2IDAuNDM3NXYxMy4xMjJjMCAwLjIzIDAuMjA2MSAwLjQzOCAwLjQzMTYgMC40MzhoMTEuMTM4YzAuMjI2IDAgMC40MzItMC4yMDggMC40MzItMC40Mzh2LTEwLjE0MmMtMC4wMDQtMC4wNjY5LTAuMDIzLTAuMTMzLTAuMDU1LTAuMTkxNWwtMy4zMTItMy4xOTkyYy0wLjA0My0wLjAxNjQtMC4wODktMC4wMjU1LTAuMTM1LTAuMDI3M2gtOC4wNjg0Yy0wLjAyNjgtMC4wMDI2NS0wLjA1NTItMC4wMDI2NS0wLjA4MiAwem0xLjY1MDQgMS45OThoNnYxaC02di0xem0wIDNoNXYxaC01di0xem0wIDNoOHYxaC04di0xem0wIDNoNHYxaC00di0xeiIgZmlsbD0iIzk2OTY5NiIvPgo8L3N2Zz4K'); }
+ background-image: url('../img/filetypes/text.svg'); }
.jsxc_timestamp {
font-size: 8px;
@@ -3508,6 +3523,19 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
text-overflow: ellipsis;
clear: both; }
+.jsxc_encrypted.jsxc_received.jsxc_out .jsxc_timestamp {
+ margin-right: 1px; }
+
+.jsxc_encrypted .jsxc_timestamp:after {
+ content: " ";
+ display: inline-block;
+ width: 10px;
+ height: 8px;
+ margin-left: 2px;
+ background-image: url('../img/padlock_close_grey.svg');
+ background-size: contain;
+ background-repeat: no-repeat; }
+
.jsxc_in {
float: left;
position: relative;
@@ -3534,6 +3562,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label {
position: relative;
max-width: 76%;
margin-right: 10px;
+ padding-right: 10px;
border-radius: 3px;
background-color: #e6ffd1; }
.jsxc_out:after {
@@ -3576,7 +3605,7 @@ div.jsxc_settings {
right: -6px; }
div.jsxc_transfer {
- background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmlld0JveD0iMCAwIDE1IDE1IgogICBpZD0ic3ZnMzA0MSIKICAgaGVpZ2h0PSIxNSIKICAgd2lkdGg9IjE1IgogICB2ZXJzaW9uPSIxLjEiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTMwNDciPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPjwvZGM6dGl0bGU+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMzMDQ1IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDMwNTEiCiAgICAgeT0iOC4wMDg0NzQzIgogICAgIHg9IjIuMTYxMDE3MiIKICAgICBoZWlnaHQ9IjYuOTkxNTI1NyIKICAgICB3aWR0aD0iMTEuMDU5MzIyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MS44OTk5OTk5ODtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGlkPSJwYXRoMzg0OCIKICAgICBkPSJtIDMuMDgyNjI4LDUuMDIxMTg2NCBjIDAsMCAtMC4xMjcxMTksLTQuMDY3Nzk2NTIgNC40NDkxNTIsLTQuMDY3Nzk2NTIgNC41NzYyNjgsMCA0LjcwMzM4NiwzLjk0MDY3NzgyIDQuNzAzMzg2LDMuOTQwNjc3ODIgbCAwLjA2MzU2LDUuNTkzMjE5MyB2IDAiIC8+Cjwvc3ZnPgo=');
+ background-image: url('../img/padlock_open_black.svg');
background-repeat: no-repeat;
background-position: center center;
background-size: 14px 14px;
@@ -3589,6 +3618,11 @@ div.jsxc_transfer {
cursor: pointer; }
div.jsxc_transfer:hover {
opacity: 1.0; }
+ div.jsxc_transfer.jsxc_disabled {
+ background-image: url('../img/padlock_open_disabled_black.svg');
+ cursor: default; }
+ div.jsxc_transfer.jsxc_disabled:hover {
+ opacity: 0.3; }
div.jsxc_transfer.jsxc_fin {
opacity: 1.0;
background-image: url('../img/padlock_close_grey.svg'); }
@@ -3598,43 +3632,35 @@ div.jsxc_transfer {
div.jsxc_transfer.jsxc_enc.jsxc_trust {
background-image: url('../img/padlock_close_green.svg'); }
-.jsxc_windowItem.jsxc_groupchat .jsxc_bar .jsxc_avatar, li[data-type="groupchat"] .jsxc_avatar {
+.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');
background-size: 70% 70% !important;
background-repeat: no-repeat; }
-.jsxc_windowItem.jsxc_groupchat .jsxc_fade {
+.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_fade {
padding-top: 44px; }
- .jsxc_min .jsxc_windowItem.jsxc_groupchat .jsxc_fade {
- padding-top: 0px; }
-
-.jsxc_windowItem.jsxc_groupchat .jsxc_video {
- display: none; }
-
-.jsxc_windowItem.jsxc_groupchat .jsxc_transfer {
- display: none; }
-.jsxc_windowItem.jsxc_groupchat .jsxc_fingerprints, .jsxc_windowItem.jsxc_groupchat .jsxc_verification, .jsxc_windowItem.jsxc_groupchat .jsxc_transfer {
+.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_fingerprints, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_verification, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_transfer, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_video, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_sendFile {
display: none; }
-.jsxc_windowItem.jsxc_groupchat .jsxc_members {
- background-image: url('../img/group_grey.svg');
+.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_members {
+ background-image: url('../img/group_white.svg');
background-size: 15px 15px;
background-repeat: no-repeat;
background-position: center; }
- .jsxc_windowItem.jsxc_groupchat .jsxc_members:hover {
- background-image: url('../img/group_white.svg'); }
+ .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_members:hover {
+ opacity: 1.0; }
-.jsxc_windowItem.jsxc_groupchat .jsxc_chatmessage.jsxc_in {
+.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_chatmessage.jsxc_in {
margin-left: 50px; }
- .jsxc_windowItem.jsxc_groupchat .jsxc_chatmessage.jsxc_in .jsxc_avatar {
+ .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_chatmessage.jsxc_in .jsxc_avatar {
display: block;
position: absolute;
bottom: 0px;
left: -50px;
background-color: #777; }
- .jsxc_windowItem.jsxc_groupchat .jsxc_chatmessage.jsxc_in .jsxc_avatar:before {
+ .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_chatmessage.jsxc_in .jsxc_avatar:before {
display: none; }
.jsxc_windowItem .jsxc_memberlist {
@@ -3674,8 +3700,8 @@ div.jsxc_transfer {
.jsxc_windowItem .jsxc_memberlist.jsxc_expand ul > li {
display: block;
width: 100%;
- height: 27px;
- line-height: 27px; }
+ height: 40px;
+ line-height: 40px; }
.jsxc_windowItem .jsxc_memberlist.jsxc_expand ul > li .jsxc_name {
display: block;
cursor: default; }
@@ -3780,7 +3806,7 @@ li[data-type="groupchat"] .jsxc_video {
background-size: 100%;
margin: 0 3px 0 0;
background-image: url('../img/loading.gif'); }
- #jsxc_dialog .jsxc_libraries {
+ #jsxc_dialog .jsxc_libraries, #jsxc_dialog .jsxc_credits {
max-width: 300px; }
.jsxc_avatar {
@@ -4007,16 +4033,16 @@ img.jsxc_vCard {
vertical-align: sub; }
.jsxc_editicon {
- background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgdmVyc2lvbj0iMS4xIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtMTAzNi40KSI+CiAgPHBhdGggZD0ibTEyLjU5NCAxLjM0MzhjLTAuNTMyLTAuMDMxMy0xLjA5NCAwLjE1NjItMS41OTQgMC42NTYybDMgM2MxLjUtMS41IDAuMTg4LTMuNTYyNS0xLjQwNi0zLjY1NjJ6bS0yLjU5NCAxLjY1NjJsLTcgNy0yIDUgNS0yIDctNy0zLTN6bS02LjUgNy41bDIgMi0yLjUgMS41LTEtMSAxLjUtMi41eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxMDM2LjQpIi8+CiA8L2c+Cjwvc3ZnPgo='); }
+ background-image: url('../img/edit_black.svg'); }
.jsxc_deleteicon {
- background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgdmVyc2lvbj0iMS4xIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogPHBhdGggZD0ibTYuNSAxLTAuNSAxaC0zYy0wLjU1NCAwLTEgMC40NDYtMSAxdjFoMTJ2LTFjMC0wLjU1NC0wLjQ0Ni0xLTEtMWgtM2wtMC41LTF6bS0zLjUgNCAwLjg3NSA5YzAuMDYxIDAuNTQ5IDAuNTcyOSAxIDEuMTI1IDFoNmMwLjU1MjMyIDAgMS4wNjQtMC40NTEwMiAxLjEyNS0xbDAuODc1LTl6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+Cg=='); }
+ background-image: url('../img/delete_black.svg'); }
.jsxc_chaticon {
background-image: url('../img/speech_balloon_black.svg'); }
.jsxc_videoicon {
- background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmlld0JveD0iMCAwIDIwIDIwIgogICBoZWlnaHQ9IjIwIgogICB3aWR0aD0iMjAiCiAgIGlkPSJzdmcyIgogICB2ZXJzaW9uPSIxLjEiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEwIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8ZwogICAgIHN0eWxlPSJmaWxsOiMwMDAwMDAiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC4wMzc4ODU5NCwwLDAsMC4wMzc4ODU5NCwtMC40MTM0MDc5MywtMi42MzEwNzE2KSIKICAgICBpZD0ibGF5ZXIxIj4KICAgIDxwYXRoCiAgICAgICBkPSJNIDM2MS42NTE0OCwzMTMuNTE3NjggNTM4LjgxMjIyLDE4MS43MzI1MiBWIDQ4My45NjI1MSBMIDM1OC45NzMzOCwzNTAuMTg1MTcgWiBNIDEwLjkxMTkyMiwxODIuNDA2MzQgSCAzODkuMjg0NiBWIDQ4NS4wNjIxNiBIIDEwLjkxMTkyMiBaIgogICAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtzdHJva2U6bm9uZSIKICAgICAgIGlkPSJwYXRoMzkwNiIgLz4KICA8L2c+Cjwvc3ZnPgo='); }
+ background-image: url('../img/camera_icon_black.svg'); }
.jsxc_infoicon {
background-image: url('../img/info_black.svg'); }
@@ -4033,6 +4059,9 @@ img.jsxc_vCard {
.jsxc_groupcontacticon {
background-image: url('../img/groupcontact_black.svg'); }
+.jsxc_bookmarkicon {
+ background-image: url('../img/bookmark_black.svg'); }
+
.jsxc_more {
float: right;
width: 44px;
diff --git a/build/js/jsxc/img/bookmark_black.svg b/build/js/jsxc/img/bookmark_black.svg
new file mode 100644
index 0000000..0e973e6
--- /dev/null
+++ b/build/js/jsxc/img/bookmark_black.svg
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="16"
+ width="16"
+ version="1.1"
+ id="svg6"
+ inkscape:version="0.91+devel r"
+ sodipodi:docname="bookmark_black.svg"
+ viewBox="0 0 16 16">
+ <metadata
+ id="metadata12">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs10" />
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1394"
+ inkscape:window-height="922"
+ inkscape:document-units="px"
+ id="namedview8"
+ showgrid="false"
+ inkscape:zoom="41.7193"
+ inkscape:cx="9.0040062"
+ inkscape:cy="8.196313"
+ inkscape:window-x="61"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg6" />
+ <path
+ style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.69061381;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 4.1233005,0.89389693 V 14.588472 l 3.8089033,-4.450726 3.8089022,4.450726 V 0.93667093 Z"
+ id="path4141"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccc" />
+</svg>
diff --git a/build/js/jsxc/img/bookmark_white.svg b/build/js/jsxc/img/bookmark_white.svg
new file mode 100644
index 0000000..27daf80
--- /dev/null
+++ b/build/js/jsxc/img/bookmark_white.svg
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="16"
+ width="16"
+ version="1.1"
+ id="svg6"
+ inkscape:version="0.91+devel r"
+ sodipodi:docname="bookmark_white.svg"
+ viewBox="0 0 16 16">
+ <metadata
+ id="metadata12">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs10" />
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1394"
+ inkscape:window-height="922"
+ inkscape:document-units="px"
+ id="namedview8"
+ showgrid="false"
+ inkscape:zoom="41.7193"
+ inkscape:cx="9.0040062"
+ inkscape:cy="8.196313"
+ inkscape:window-x="61"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg6" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.69061381;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 4.1233005,0.89389693 V 14.588472 l 3.8089033,-4.450726 3.8089022,4.450726 V 0.93667093 Z"
+ id="path4141"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccc" />
+</svg>
diff --git a/build/js/jsxc/img/padlock_open_disabled_black.svg b/build/js/jsxc/img/padlock_open_disabled_black.svg
new file mode 100644
index 0000000..53c2478
--- /dev/null
+++ b/build/js/jsxc/img/padlock_open_disabled_black.svg
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ viewBox="0 0 15 15"
+ id="svg3041"
+ height="15"
+ width="15"
+ version="1.1"
+ inkscape:version="0.91+devel r"
+ sodipodi:docname="padlock_open_disabled_black.svg">
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1678"
+ inkscape:window-height="958"
+ id="namedview7"
+ showgrid="false"
+ inkscape:zoom="22.627417"
+ inkscape:cx="7.9563473"
+ inkscape:cy="5.2327464"
+ inkscape:window-x="51"
+ inkscape:window-y="34"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg3041" />
+ <metadata
+ id="metadata3047">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3045" />
+ <path
+ style="fill:#000000;stroke:none"
+ d="M 7.53125 0.00390625 C 4.961633 0.00390625 3.4225559 1.2787042 2.7519531 2.5410156 C 2.0813503 3.803327 2.1328125 5.0507812 2.1328125 5.0507812 L 4.03125 4.9921875 C 4.03125 4.9921875 4.019782 4.2051806 4.4296875 3.4335938 C 4.8395929 2.6620069 5.524596 1.9042969 7.53125 1.9042969 C 9.5466986 1.9042969 10.324942 2.6626717 10.789062 3.4199219 C 11.253184 4.177172 11.285156 4.9238281 11.285156 4.9238281 L 11.320312 8.0078125 L 2.1601562 8.0078125 L 2.1601562 15 L 13.220703 15 L 13.220703 9.5371094 L 13.238281 9.5371094 L 13.220703 8.0078125 L 13.185547 4.8730469 L 13.185547 4.8632812 C 13.185547 4.8632812 13.153667 3.6408231 12.410156 2.4277344 C 11.666646 1.2146499 10.092069 0.00390625 7.53125 0.00390625 z "
+ id="rect3051" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 0.18997448,16.385763 15.366374,-2.2072779"
+ id="path4160-1-3-1"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M -0.40599717,17.241436 14.770403,-1.3516053"
+ id="path4160-1-3"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+</svg>
diff --git a/build/js/jsxc/jsxc.js b/build/js/jsxc/jsxc.js
index 6279e29..abdbccc 100644
--- a/build/js/jsxc/jsxc.js
+++ b/build/js/jsxc/jsxc.js
@@ -1,5 +1,5 @@
/*!
- * jsxc v3.0.0-beta1 - 2016-01-28
+ * jsxc v3.0.0-beta2 - 2016-02-11
*
* Copyright (c) 2016 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.0.0-beta1
+ * @version 3.0.0-beta2
* @license MIT
*/
@@ -25,7 +25,7 @@ var jsxc = null, RTC = null, RTCPeerconnection = null;
*/
jsxc = {
/** Version of jsxc */
- version: '3.0.0-beta1',
+ version: '3.0.0-beta2',
/** True if i'm the master */
master: false,
@@ -201,6 +201,11 @@ jsxc = {
*/
init: function(options) {
+ if (options && options.loginForm && typeof options.loginForm.attachIfFound === 'boolean' && !options.loginForm.ifFound) {
+ // translate deprated option attachIfFound found to new ifFound
+ options.loginForm.ifFound = (options.loginForm.attachIfFound) ? 'attach' : 'pause';
+ }
+
if (options) {
// override default options
$.extend(true, jsxc.options, options);
@@ -293,7 +298,7 @@ jsxc = {
});
// Check if we have to establish a new connection
- if (!jsxc.storage.getItem('rid') || !jsxc.storage.getItem('sid') || !jsxc.storage.getItem('jid')) {
+ if (!(jsxc.storage.getItem('rid') && jsxc.storage.getItem('sid') && jsxc.storage.getItem('jid')) || (jsxc.options.loginForm && jsxc.options.loginForm.ifFound === 'force' && jsxc.isLoginForm())) {
// clean up rid and sid
jsxc.storage.removeItem('rid');
@@ -354,7 +359,7 @@ jsxc = {
return false;
});
- } else if (!jsxc.isLoginForm() || (jsxc.options.loginForm && jsxc.options.loginForm.attachIfFound)) {
+ } else if (!jsxc.isLoginForm() || (jsxc.options.loginForm && jsxc.options.loginForm.ifFound === 'attach')) {
// Restore old connection
@@ -1077,6 +1082,7 @@ jsxc.xmpp = {
// clean up
jsxc.storage.removeUserItem('buddylist');
jsxc.storage.removeUserItem('windowlist');
+ jsxc.storage.removeUserItem('unreadMsg');
if (!jsxc.master) {
$('#jsxc_roster').remove();
@@ -2139,6 +2145,7 @@ jsxc.xmpp.carbons = {
* @param {boolean} args.encrypted
* @param {boolean} args.forwarded
* @param {boolean} args.sender
+ * @param {integer} args.stamp
* @param {object} args.attachment Attached data
* @param {string} args.attachment.name File name
* @param {string} args.attachment.size File size
@@ -3619,7 +3626,7 @@ jsxc.gui = {
* @param bid
*/
unreadMsg: function(bid) {
- var winData = jsxc.storage.getUserItem('window', bid);
+ var winData = jsxc.storage.getUserItem('window', bid) || {};
var count = (winData && winData.unread) || 0;
count = (count === true) ? 1 : count + 1; //unread was boolean (<2.1.0)
@@ -4020,11 +4027,12 @@ jsxc.gui.roster = {
scrollTo: '0px'
});
- var chat = jsxc.storage.getUserItem('chat', bid) || [];
+ var history = jsxc.storage.getUserItem('history', bid) || [];
var i = 0;
- while (chat.length > i) {
- if (chat[i].direction !== 'sys') {
- $('[data-bid="' + bid + '"]').find('.jsxc_lastmsg .jsxc_text').html(chat[i].msg);
+ while (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++;
@@ -4864,6 +4872,7 @@ jsxc.gui.window = {
* @param {boolean} args.encrypted
* @param {boolean} args.forwarded
* @param {boolean} args.sender
+ * @param {integer} args.stamp
* @param {object} args.attachment Attached data
* @param {string} args.attachment.name File name
* @param {string} args.attachment.size File size
@@ -4980,6 +4989,9 @@ jsxc.gui.window = {
// translate shortnames to images
msg = jsxc.gui.shortnameToImage(msg);
+ // replace line breaks
+ msg = msg.replace(/(\r\n|\r|\n)/g, '<br />');
+
var msgDiv = $("<div>"),
msgTsDiv = $("<div>");
msgDiv.addClass('jsxc_chatmessage jsxc_' + direction);
@@ -5076,6 +5088,10 @@ jsxc.gui.window = {
}
avatarDiv.attr('title', jsxc.escapeHTML(title));
+
+ if (msgDiv.prev().length > 0 && msgDiv.prev().find('.jsxc_avatar').attr('title') === avatarDiv.attr('title')) {
+ avatarDiv.css('visibility', 'hidden');
+ }
}
jsxc.gui.detectUriScheme(win);
@@ -5149,7 +5165,11 @@ jsxc.gui.window = {
jsxc.storage.setUserItem('history', bid, []);
- jsxc.gui.window.get(bid).find('.jsxc_textarea').empty();
+ var win = jsxc.gui.window.get(bid);
+
+ if (win.length > 0) {
+ win.find('.jsxc_textarea').empty();
+ }
},
/**
@@ -5185,10 +5205,19 @@ jsxc.gui.window = {
}
},
- showOverlay: function(bid, content) {
+ showOverlay: function(bid, content, allowClose) {
var win = jsxc.gui.window.get(bid);
- win.find('.jsxc_overlay > div').empty().append(content);
+ win.find('.jsxc_overlay .jsxc_body').empty().append(content);
+ win.find('.jsxc_overlay .jsxc_close').off('click').click(function() {
+ jsxc.gui.window.hideOverlay(bid);
+ });
+
+ if (allowClose !== true) {
+ win.find('.jsxc_overlay .jsxc_close').hide();
+ } else {
+ win.find('.jsxc_overlay .jsxc_close').show();
+ }
win.addClass('jsxc_showOverlay');
},
@@ -5303,7 +5332,7 @@ jsxc.gui.window = {
var msg = $('<div><div><label><input type="file" name="files" /><label></div></div>');
msg.addClass('jsxc_chatmessage');
- jsxc.gui.window.showOverlay(bid, msg);
+ jsxc.gui.window.showOverlay(bid, msg, true);
msg.find('label').click();
@@ -5713,6 +5742,10 @@ jsxc.muc = {
var bookmark = $("#jsxc_bookmark").prop("checked");
var autojoin = $('#jsxc_autojoin').prop('checked');
+ // clean up
+ jsxc.gui.window.clear(room);
+ jsxc.storage.setUserItem('member', room, {});
+
self.join(room, nickname, password, roomName, subject, bookmark, autojoin);
return false;
@@ -5957,7 +5990,11 @@ jsxc.muc = {
var roomdata = jsxc.storage.getUserItem('buddy', room);
jsxc.storage.updateUserItem('buddy', room, 'state', self.CONST.ROOMSTATE.AWAIT_DESTRUCTION);
- jsxc.gui.window.postMessage(room, 'sys', $.t('This_room_will_be_closed'));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('This_room_will_be_closed')
+ });
var iq = $iq({
to: room,
@@ -6035,7 +6072,7 @@ jsxc.muc = {
var ownNickname = own[bid];
var mlIcon = $('<div class="jsxc_members"></div>');
- win.find('.jsxc_tools > .jsxc_transfer').after(mlIcon);
+ win.find('.jsxc_tools > .jsxc_settings').after(mlIcon);
var ml = $('<div class="jsxc_memberlist"><ul></ul></div>');
win.find('.jsxc_fade').prepend(ml);
@@ -6104,7 +6141,7 @@ jsxc.muc = {
jsxc.muc.scrollMemberListBy(bid, 0);
});
- var destroy = $('<li>');
+ var destroy = $('<a>');
destroy.text($.t('Destroy'));
destroy.addClass('jsxc_destroy');
destroy.hide();
@@ -6112,7 +6149,7 @@ jsxc.muc = {
self.destroy(bid);
});
- win.find('.jsxc_settings ul').append(destroy);
+ win.find('.jsxc_settings ul').append($('<li>').append(destroy));
if (roomdata.state > self.CONST.ROOMSTATE.INIT) {
var member = jsxc.storage.getUserItem('member', bid) || {};
@@ -6126,14 +6163,14 @@ jsxc.muc = {
});
}
- var leave = $('<li>');
+ var leave = $('<a>');
leave.text($.t('Leave'));
leave.addClass('jsxc_leave');
leave.click(function() {
self.leave(bid);
});
- win.find('.jsxc_settings ul').append(leave);
+ win.find('.jsxc_settings ul').append($('<li>').append(leave));
},
/**
@@ -6175,10 +6212,6 @@ jsxc.muc = {
jsxc.storage.setUserItem('roomNames', jsxc.xmpp.conn.muc.roomNames);
- // clean up
- jsxc.storage.removeUserItem('chat', room);
- member = {};
-
if (jsxc.gui.roster.getItem(room).length === 0) {
var bl = jsxc.storage.getUserItem('buddylist');
bl.push(room);
@@ -6201,7 +6234,11 @@ jsxc.muc = {
// room has been destroyed
member = {};
- jsxc.gui.window.postMessage(room, 'sys', $.t('This_room_has_been_closed'));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('This_room_has_been_closed')
+ });
self.close(room);
} else {
@@ -6219,27 +6256,39 @@ jsxc.muc = {
// prevent to display enter message
member[newNickname] = {};
- jsxc.gui.window.postMessage(room, 'sys', $.t('is_now_known_as', {
- oldNickname: nickname,
- newNickname: newNickname,
- escapeInterpolation: true
- }));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('is_now_known_as', {
+ oldNickname: nickname,
+ newNickname: newNickname,
+ escapeInterpolation: true
+ })
+ });
} else if (codes.length === 0 || (codes.length === 1 && codes.indexOf('110') > -1)) {
// normal user exit
- jsxc.gui.window.postMessage(room, 'sys', $.t('left_the_building', {
- nickname: nickname,
- escapeInterpolation: true
- }));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('left_the_building', {
+ nickname: nickname,
+ escapeInterpolation: true
+ })
+ });
}
}
} else {
// new member joined
if (!member[nickname] && own[room]) {
- jsxc.gui.window.postMessage(room, 'sys', $.t('entered_the_room', {
- nickname: nickname,
- escapeInterpolation: true
- }));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('entered_the_room', {
+ nickname: nickname,
+ escapeInterpolation: true
+ })
+ });
}
member[nickname] = {
@@ -6324,19 +6373,35 @@ jsxc.muc = {
},
/** Inform occupants that room logging is now enabled */
170: function(room) {
- jsxc.gui.window.postMessage(room, 'sys', $.t('Room_logging_is_enabled'));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('Room_logging_is_enabled')
+ });
},
/** Inform occupants that room logging is now disabled */
171: function(room) {
- jsxc.gui.window.postMessage(room, 'sys', $.t('Room_logging_is_disabled'));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('Room_logging_is_disabled')
+ });
},
/** Inform occupants that the room is now non-anonymous */
172: function(room) {
- jsxc.gui.window.postMessage(room, 'sys', $.t('Room_is_now_non-anoymous'));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('Room_is_now_non-anoymous')
+ });
},
/** Inform occupants that the room is now semi-anonymous */
173: function(room) {
- jsxc.gui.window.postMessage(room, 'sys', $.t('Room_is_now_semi-anonymous'));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('Room_is_now_semi-anonymous')
+ });
},
/** Inform user that a new room has been created */
201: function(room) {
@@ -6382,14 +6447,22 @@ jsxc.muc = {
if (own[room] === nickname) {
jsxc.muc.close(room);
- jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_banned'));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('muc_removed_banned')
+ });
jsxc.muc.postReason(room, xdata);
} else {
- jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_info_banned', {
- nickname: nickname,
- escapeInterpolation: true
- }));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('muc_removed_info_banned', {
+ nickname: nickname,
+ escapeInterpolation: true
+ })
+ });
}
},
/** Inform user that he or she has been kicked */
@@ -6398,14 +6471,22 @@ jsxc.muc = {
if (own[room] === nickname) {
jsxc.muc.close(room);
- jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_kicked'));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('muc_removed_kicked')
+ });
jsxc.muc.postReason(room, xdata);
} else {
- jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_info_kicked', {
- nickname: nickname,
- escapeInterpolation: true
- }));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('muc_removed_info_kicked', {
+ nickname: nickname,
+ escapeInterpolation: true
+ })
+ });
}
},
/** Inform user that he or she is beeing removed from the room because of an affiliation change */
@@ -6414,12 +6495,21 @@ jsxc.muc = {
if (own[room] === nickname) {
jsxc.muc.close(room);
- jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_affiliation'));
+
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('muc_removed_affiliation')
+ });
} else {
- jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_info_affiliation', {
- nickname: nickname,
- escapeInterpolation: true
- }));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('muc_removed_info_affiliation', {
+ nickname: nickname,
+ escapeInterpolation: true
+ })
+ });
}
},
/**
@@ -6431,12 +6521,20 @@ jsxc.muc = {
if (own[room] === nickname) {
jsxc.muc.close(room);
- jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_membersonly'));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('muc_removed_membersonly')
+ });
} else {
- jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_info_membersonly', {
- nickname: nickname,
- escapeInterpolation: true
- }));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('muc_removed_info_membersonly', {
+ nickname: nickname,
+ escapeInterpolation: true
+ })
+ });
}
},
/**
@@ -6445,7 +6543,11 @@ jsxc.muc = {
*/
332: function(room) {
jsxc.muc.close(room);
- jsxc.gui.window.postMessage(room, 'sys', $.t('muc_removed_shutdown'));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('muc_removed_shutdown')
+ });
}
},
@@ -6467,9 +6569,18 @@ jsxc.muc = {
reason = $.t('Reason') + ': ' + reason;
if (typeof actor.name === 'string' || typeof actor.jid === 'string') {
- jsxc.gui.window.postMessage(room, 'in', reason, false, false, null, actor);
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.IN,
+ msg: reason,
+ sender: actor
+ });
} else {
- jsxc.gui.window.postMessage(room, 'sys', reason);
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: reason
+ });
}
}
},
@@ -6589,7 +6700,7 @@ jsxc.muc = {
onGroupchatMessage: function(message) {
var id = $(message).attr('id');
- if (jsxc.el_exists($('#' + id))) {
+ if (jsxc.el_exists(jsxc.Message.getDOM(id))) {
// ignore own incoming messages
return true;
}
@@ -6613,7 +6724,15 @@ jsxc.muc = {
sender.jid = member[nickname].jid;
}
- jsxc.gui.window.postMessage(room, 'in', body, false, false, stamp, sender);
+ 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');
@@ -6625,10 +6744,14 @@ jsxc.muc = {
jsxc.storage.setUserItem('buddy', room, roomdata);
- jsxc.gui.window.postMessage(room, 'sys', $.t('changed_subject_to', {
- nickname: nickname,
- subject: subject.text()
- }));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('changed_subject_to', {
+ nickname: nickname,
+ subject: subject.text()
+ })
+ });
}
return true;
@@ -6649,13 +6772,29 @@ jsxc.muc = {
}
if ($(message).find('item-not-found').length > 0) {
- jsxc.gui.window.postMessage(room, 'sys', $.t('message_not_send_item-not-found'));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('message_not_send_item-not-found')
+ });
} else if ($(message).find('forbidden').length > 0) {
- jsxc.gui.window.postMessage(room, 'sys', $.t('message_not_send_forbidden'));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('message_not_send_forbidden')
+ });
} else if ($(message).find('not-acceptable').length > 0) {
- jsxc.gui.window.postMessage(room, 'sys', $.t('message_not_send_not-acceptable'));
+ jsxc.gui.window.postMessage({
+ bid: room,
+ direction: jsxc.Message.SYS,
+ msg: $.t('message_not_send_not-acceptable')
+ });
} else {
- jsxc.gui.window.postMessage(room, 'sys', $.t('message_not_send'));
+ 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]);
@@ -6680,8 +6819,9 @@ jsxc.muc = {
return;
}
- var bo = $('<div>');
- bo.text('+');
+ 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) {
ev.preventDefault();
@@ -6691,7 +6831,7 @@ jsxc.muc = {
return false;
});
- bud.find('.jsxc_rename').before(bo);
+ bud.find('.jsxc_menu ul').append($('<li>').append(bo));
if (data.bookmarked) {
bud.addClass('jsxc_bookmarked');
@@ -7386,10 +7526,25 @@ jsxc.options = {
*/
onAuthFail: 'submit',
- /** True: Attach connection even is login form was found */
+ /**
+ * True: Attach connection even is login form was found.
+ *
+ * @type {Boolean}
+ * @deprecated since 3.0.0. Use now loginForm.ifFound (true => attach, false => pause)
+ */
attachIfFound: true,
/**
+ * Describes what we should do if login form was found:
+ * - Attach connection
+ * - Force new connection with loginForm.jid and loginForm.passed
+ * - Pause connection and do nothing
+ *
+ * @type {('attach', 'force', 'pause')}
+ */
+ ifFound: 'attach',
+
+ /**
* True: Display roster minimized after first login. Afterwards the last
* roster state will be used.
*/
@@ -9312,17 +9467,10 @@ jsxc.webrtc = {
this.localStream = null;
this.remoteStream = null;
- var win = $('#jsxc_webrtc .jsxc_chatarea > ul > li');
- $('#jsxc_windowList > ul').prepend(win.detach());
- win.find('.slimScrollDiv').resizable('enable');
- jsxc.gui.window.resize(win);
+ jsxc.gui.closeVideoWindow();
- $(document).off('cleanup.dialog.jsxc');
$(document).off('error.jingle');
- jsxc.gui.dialog.close();
- $('#jsxc_webrtc').remove();
-
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
@@ -9421,8 +9569,6 @@ jsxc.webrtc = {
msg: $.t('ICE_connection_failure')
});
- $(document).off('cleanup.dialog.jsxc');
-
session.end('failed-transport');
$(document).trigger('callterminated.jingle');
@@ -9463,7 +9609,6 @@ jsxc.webrtc = {
return;
}
- $(document).off('cleanup.dialog.jsxc');
setTimeout(function() {
jsxc.gui.showAlert("Sorry, we couldn't establish a connection. Maybe your buddy is offline.");
}, 500);
@@ -9487,9 +9632,13 @@ jsxc.webrtc = {
* @memberOf jsxc.webrtc
*/
hangUp: function(reason, text) {
- $(document).off('cleanup.dialog.jsxc');
+ if (jsxc.webrtc.conn.jingle.manager && !$.isEmptyObject(jsxc.webrtc.conn.jingle.manager.peers)) {
+ jsxc.webrtc.conn.jingle.terminate(null, reason, text);
+ } else {
+ jsxc.gui.closeVideoWindow();
+ }
- jsxc.webrtc.conn.jingle.terminate(null, reason, text);
+ // @TODO check event
$(document).trigger('callterminated.jingle');
},
@@ -9752,20 +9901,6 @@ jsxc.gui.showVideoWindow = function(jid) {
$('#jsxc_webrtc .jsxc_' + (self.remoteStream.getVideoTracks().length > 0 ? 'remotevideo' : 'noRemoteVideo')).addClass('jsxc_deviceAvailable');
}
- var toggleMulti = function(elem, open) {
- $('#jsxc_webrtc .jsxc_multi > div').not(elem).slideUp();
-
- var opt = {
- complete: jsxc.gui.dialog.resize
- };
-
- if (open) {
- elem.slideDown(opt);
- } else {
- elem.slideToggle(opt);
- }
- };
-
var win = jsxc.gui.window.open(jsxc.jidToBid(jid));
win.find('.slimScrollDiv').resizable('disable');
@@ -9782,33 +9917,6 @@ jsxc.gui.showVideoWindow = function(jid) {
jsxc.webrtc.hangUp('success');
});
- $('#jsxc_webrtc .jsxc_snapshot').click(function() {
- jsxc.webrtc.snapshot(rv);
- toggleMulti($('#jsxc_webrtc .jsxc_snapshotbar'), true);
- });
-
- $('#jsxc_webrtc .jsxc_snapshots').click(function() {
- toggleMulti($('#jsxc_webrtc .jsxc_snapshotbar'));
- });
-
- $('#jsxc_webrtc .jsxc_showchat').click(function() {
- var chatarea = $('#jsxc_webrtc .jsxc_chatarea');
-
- if (chatarea.is(':hidden')) {
- chatarea.show();
- $('#jsxc_webrtc .jsxc_webrtc').width('900');
- jsxc.gui.dialog.resize({
- width: '920px'
- });
- } else {
- chatarea.hide();
- $('#jsxc_webrtc .jsxc_webrtc').width('650');
- jsxc.gui.dialog.resize({
- width: '660px'
- });
- }
- });
-
$('#jsxc_webrtc .jsxc_fullscreen').click(function() {
if ($.support.fullscreen) {
@@ -9821,24 +9929,24 @@ jsxc.gui.showVideoWindow = function(jid) {
}
});
- $('#jsxc_webrtc .jsxc_volume').change(function() {
- rv[0].volume = $(this).val();
- });
-
- $('#jsxc_webrtc .jsxc_volume').dblclick(function() {
- $(this).val(0.5);
- });
-
$('#jsxc_webrtc .jsxc_videoContainer').toggle(function() {
$('#jsxc_webrtc .jsxc_controlbar').css('opacity', '1.0');
}, function() {
$('#jsxc_webrtc .jsxc_controlbar').css('opacity', '');
});
-
return $('#jsxc_webrtc');
};
+jsxc.gui.closeVideoWindow = function() {
+ var win = $('#jsxc_webrtc .jsxc_chatarea > ul > li');
+ $('#jsxc_windowList > ul').prepend(win.detach());
+ win.find('.slimScrollDiv').resizable('enable');
+ jsxc.gui.window.resize(win);
+
+ $('#jsxc_webrtc').remove();
+};
+
$.extend(jsxc.CONST, {
KEYCODE_ENTER: 13,
KEYCODE_ESC: 27
@@ -10207,7 +10315,7 @@ jsxc.gui.template['aboutDialog'] = '<h3>JavaScript XMPP Chat</h3>\n' +
' Real-time chat app for {{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>\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' +
@@ -10390,7 +10498,10 @@ jsxc.gui.template['chatWindow'] = '<li class="jsxc_windowItem">\n' +
' </div>\n' +
' <div class="jsxc_fade">\n' +
' <div class="jsxc_overlay">\n' +
-' <div />\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' +
diff --git a/build/js/jsxc/jsxc.min.js b/build/js/jsxc/jsxc.min.js
index f8868dd..b71a534 100644
--- a/build/js/jsxc/jsxc.min.js
+++ b/build/js/jsxc/jsxc.min.js
@@ -1,5 +1,5 @@
/*!
- * jsxc v3.0.0-beta1 - 2016-01-28
+ * jsxc v3.0.0-beta2 - 2016-02-11
*
* Copyright (c) 2016 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.0.0-beta1
+ * @version 3.0.0-beta2
* @license MIT
*/
/*! This file is concatenated for the browser. */
-var jsxc=null,RTC=null,RTCPeerconnection=null;!function($){"use strict";jsxc={version:"3.0.0-beta1",master:!1,role_allocation:!1,to:null,toBusy:null,toNotification:null,toNotificationDelay:500,keepalive:null,reconnect:!1,restoreCompleted:!1,triggeredFromBox:!1,triggeredFromElement:!1,triggeredFromLogout:!1,ls:[],storageNotConform:null,toSNC:null,bid: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"},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(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 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;if(lang=null!==jsxc.storage.getItem("lang")?jsxc.storage.getItem("lang"):jsxc.options.autoLang&&navigator.language?navigator.language.substr(0,2):jsxc.options.defaultLang,$.i18n.init({lng:lang,fallbackLng:"en",resStore:I18next,useLocalStorage:!0,localStorageExpirationTime:864e5,debug:jsxc.storage.getItem("debug")===!0}),jsxc.storage.getItem("debug")===!0&&(jsxc.options.otr.debug=!0),window.addEventListener("storage",jsxc.storage.onStorage,!1),$(document).on("attached.jsxc",function(){if(null!==jsxc.options.logoutElement&&jsxc.options.logoutElement.length>0){var logout=function(ev){jsxc.xmpp.conn&&jsxc.xmpp.conn.authenticated&&(ev.stopPropagation(),ev.preventDefault(),jsxc.options.logoutElement=$(this),jsxc.triggeredFromLogout=!0,jsxc.xmpp.logout())};jsxc.options.logoutElement.off("click",null,logout).one("click",logout)}}),jsxc.storage.getItem("rid")&&jsxc.storage.getItem("sid")&&jsxc.storage.getItem("jid"))(!jsxc.isLoginForm()||jsxc.options.loginForm&&jsxc.options.loginForm.attachIfFound)&&("undefined"==typeof jsxc.storage.getItem("alive")?jsxc.onMaster():jsxc.checkMaster());else{if(jsxc.storage.removeItem("rid"),jsxc.storage.removeItem("sid"),!jsxc.isLoginForm())return void(jsxc.options.displayRosterMinimized()&&(jsxc.storage.setUserItem("roster","hidden"),jsxc.gui.roster.init(),jsxc.gui.roster.noConnection()));"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(){return jsxc.prepareLogin(function(settings){if(settings!==!1){var enabled=settings.loginForm&&settings.loginForm.enable||settings.xmpp&&settings.xmpp.onlogin;enabled="true"===enabled||enabled===!0,enabled&&(jsxc.options.loginForm.triggered=!0,jsxc.xmpp.login(jsxc.options.xmpp.jid,jsxc.options.xmpp.password))}else jsxc.submitLoginForm()}),!1})}},start:function(){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===arguments.length&&$(document).one("attached.jsxc",function(){jsxc.xmpp.onRidChange(jsxc.xmpp.conn._proto.rid),jsxc.onMaster()}),void jsxc.xmpp.login.apply(this,arguments))},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.restoreRoster(),jsxc.restoreWindows(),jsxc.restoreCompleted=!0,$(document).trigger("restoreCompleted.jsxc")},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(){jsxc.debug("check master"),jsxc.to=window.setTimeout(jsxc.onMaster,1e3),jsxc.storage.ink("alive")},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.keepalive=window.setInterval(jsxc.keepAlive,jsxc.options.timeout-1e3)},keepAlive:function(){jsxc.storage.ink("alive")},keepBusyAlive:function(){jsxc.toBusy&&window.clearTimeout(jsxc.toBusy),jsxc.keepalive&&window.clearInterval(jsxc.keepalive),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.submit()},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]];return"function"==typeof fn?fn.apply(null,fnParams):void 0},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}},jsxc.xmpp={conn:null,login:function(){if(!jsxc.xmpp.conn||!jsxc.xmpp.conn.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=null,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/"),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.storage.removeItem("sid"),jsxc.storage.removeUserItem("buddylist"),jsxc.storage.removeUserItem("windowlist"),!jsxc.master)return $("#jsxc_roster").remove(),$("#jsxc_windowlist").remove(),!0;if(null===jsxc.xmpp.conn)return!0;$("body").click(),jsxc.triggeredFromElement="boolean"==typeof complete?complete:!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(),$(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.onMessage,null,"message","chat"),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.restoreRoster(),jsxc.restoreWindows(),jsxc.restoreCompleted=!0,$(document).trigger("restoreCompleted.jsxc"));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()},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_roster").remove(),jsxc.triggeredFromLogout&&(window.location=jsxc.options.logoutElement.attr("href"))):jsxc.gui.roster.noConnection(),window.clearInterval(jsxc.keepalive)},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:[]}),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")},onRosterChanged:function(iq){return 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($.t("Friendship_request"),$.t("from")+" "+jid,"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]: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+"): "+status),jsxc.gui.update(bid),jsxc.gui.roster.reorder(bid),$(document).trigger("presence.jsxc",[from,status,presence]),!0},onMessage:function(stanza){var message,carbon,forwarded=$(stanza).find('forwarded[xmlns="'+jsxc.CONST.NS.FORWARD+'"]');forwarded.length>0?(message=forwarded.find("> message"),forwarded=!0,carbon=$(stanza).find('> [xmlns="'+jsxc.CONST.NS.CARBONS+'"]'),0===carbon.length&&(carbon=!1),jsxc.debug("Incoming forwarded message",message)):(message=stanza,forwarded=!1,carbon=!1,jsxc.debug("Incoming message",message));var body=$(message).find("body:first").text();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($.t("Unknown_sender"),$.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);return"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})),jsxc.otr.objects.hasOwnProperty(bid)?jsxc.otr.objects[bid].receiveMsg(body,{stamp:stamp,forwarded:forwarded}):jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.IN,msg:body,encrypted:!1,forwarded:forwarded,stamp:stamp}),!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(bid,msg,uid){jsxc.otr.objects.hasOwnProperty(bid)?jsxc.otr.objects[bid].sendMsg(msg,uid):jsxc.xmpp._sendMessage(jsxc.gui.window.get(bid).data("jid"),msg,uid)},_sendMessage:function(jid,msg,uid){var data=jsxc.storage.getUserItem("buddy",jsxc.jidToBid(jid))||{},isBar=Strophe.getBareJidFromJid(jid)===jid,type=data.type||"chat",xmlMsg=$msg({to:jid,type:type,id:uid}).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.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){return err!==!1?jsxc.options.get("carbons").enable?jsxc.xmpp.carbons.enable():jsxc.xmpp.carbons.disable():void 0}},jsxc.Message=function(){this._uid=null,this._received=!1,this.encrypted=!1,this.forwarded=!1,this.stamp=(new Date).getTime(),"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){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)}},jsxc.Message.getDOM=function(uid){return $("#"+uid.replace(/:/g,"-"))},jsxc.Message.IN="in",jsxc.Message.OUT="out",jsxc.Message.SYS="sys",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"]},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&&$("#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.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)},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(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();width>scrollWidth||(right>0&&(right=0),width-scrollWidth-padding>right&&(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).on("complete.dialog.jsxc",function(){$("#jsxc_password").focus()}),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){$.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)navigator.hasOwnProperty(key)&&"string"==typeof navigator[key]&&(userInfo+="<b>"+key+":</b> "+navigator[key]+"<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="";return 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?content:void 0},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 success=jsxc.options.saveSettinsPermanent.call(this,data);return"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),!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)},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){return 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][jsxc.gui.emoticonList.emojione[shortname].length-1],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")})}},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.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 chat=jsxc.storage.getUserItem("chat",bid)||[],i=0;chat.length>i;){if("sys"!==chat[i].direction){$('[data-bid="'+bid+'"]').find(".jsxc_lastmsg .jsxc_text").html(chat[i].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,status="both"===data.sub?data.status:-1;listElements.each(function(){var thisStatus="both"===$(this).data("sub")?$(this).data("status"):-1;return $(this).data("name").toLowerCase()>data.name.toLowerCase()&&thisStatus===status||status>thisStatus?($(this).before(li),insert=!0,!1):void 0}),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);return $.magnificPopup.open({items:{src:'<div data-name="'+opt.name+'" id="jsxc_dialog">'+data+"</div>"},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){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};if(win.find(".jsxc_more").click(expandClick),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}),win.find(".jsxc_textinput").keyup(function(ev){var body=$(this).val();13===ev.which&&(body=""),jsxc.storage.updateUserItem("window",bid,"text",body),27===ev.which&&jsxc.gui.window.close(bid)}).keypress(function(ev){13===ev.which&&$(this).val()&&(jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.OUT,msg:$(this).val()}),$(this).val(""))}).focus(function(){jsxc.gui.readMsg(bid)}).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("input").val(win.find("input").val()+ins),win.find("input").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;0>left&&jsxc.gui.scrollWindowListBy(-1*left),0>right&&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),html_msg=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=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,html_msg])),message.direction===jsxc.Message.OUT&&jsxc.master&&message.forwarded!==!0&&html_msg&&jsxc.xmpp.sendMessage(message.bid,html_msg,message._uid),jsxc.gui.window._postMessage(message),"out"===message.direction&&"?"===message.msg&&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);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"),message.forwarded&&msgDiv.addClass("jsxc_forwarded"),message.encrypted&&msgDiv.addClass("jsxc_encrypted"),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)),msgDiv.find("div").first().append(attachment)}if("sys"===direction?jsxc.gui.window.get(bid).find(".jsxc_textarea").append('<div style="clear:both"/>'):"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))}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,[]),jsxc.gui.window.get(bid).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(),message.received())},showOverlay:function(bid,content){var win=jsxc.gui.window.get(bid);win.find(".jsxc_overlay > div").empty().append(content),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){var bid=jsxc.jidToBid(jid),win=jsxc.gui.window.get(bid),res=Strophe.getResourceFromJid(jid);if(!res){jid=win.data("jid"),res=Strophe.getResourceFromJid(jid);var fileCapableRes=jsxc.webrtc.getCapableRes(jid,jsxc.webrtc.reqFileFeatures),resources=Object.keys(jsxc.storage.getUserItem("res",bid))||[];if(null===res&&1===resources.length&&1===fileCapableRes.length)res=fileCapableRes[0],jid=bid+"/"+res;else if(fileCapableRes.indexOf(res)<0)return void jsxc.gui.window.selectResource(bid,$.t("Your_contact_uses_multiple_clients_"),function(data){"unavailable"===data.status?jsxc.gui.window.hideOverlay(bid):"selected"===data.status&&jsxc.gui.window.sendFile(bid+"/"+data.result)},fileCapableRes)}var msg=$('<div><div><label><input type="file" name="files" /><label></div></div>');msg.addClass("jsxc_chatmessage"),jsxc.gui.window.showOverlay(bid,msg),msg.find("label").click(),msg.find('[type="file"]').change(function(ev){var file=ev.target.files[0];if(file){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(){var sess=jsxc.webrtc.sendFile(jid,file);jsxc.gui.window.hideOverlay(bid);var message=jsxc.gui.window.postMessage({_uid:sess.sid+":msg",bid:bid,direction:"out",attachment:{name:file.name,size:file.size,type:file.type,data:file.type.match(/^image\//)?img.attr("src"):null}});sess.sender.on("progress",function(sent,size){jsxc.gui.window.updateProgress(message,sent,size)}),msg.remove()}).appendTo(msg),$("<button>").text($.t("Abort")).click(function(){jsxc.gui.window.hideOverlay(bid)}).appendTo(msg)}})}},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?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>").append($(ret).i18n()).html(),ret=ret.replace(/\{\{([a-zA-Z0-9_\-]+)\}\}/g,function(s,key){return"string"==typeof ph[key]?ph[key]:s})):(jsxc.debug("Template not available: "+name),name)},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).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),$("#jsxc_menu ul .jsxc_about").before(li)},showJoinChat:function(r,p){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),dialog.find("#jsxc_server").val(jsxc.options.get("muc").server);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]),dialog.find(".jsxc_warning").text(msg)};$(document).on("error.muc.jsxc",error_handler),$(document).on("close.dialog.jsxc",function(){$(document).off("error.muc.jsxc",error_handler)}),self.conn.muc.listRooms(jsxc.options.get("muc").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").removeClass("jsxc_waiting").text($.t("Could_load_only",{count:count}))}else dialog.find(".jsxc_inputinfo").hide()},function(){jsxc.warn("Could not load rooms"),dialog.find(".jsxc_inputinfo").hide()}),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),password=$("#jsxc_password").val()||null;if(!room||!room.match(/^[^"&\'\/:<>@\s]+$/i))return $("#jsxc_room").addClass("jsxc_invalid").keyup(function(){$(this).val()&&$(this).removeClass("jsxc_invalid")}),!1;if(room.match(/@(.*)$/)||(room+="@"+jsxc.options.get("muc").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");return 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&&i18n.exists(feature)){var tr=$("<tr>");$("<td>").text($.t(feature+".keyword")).appendTo(tr),$("<td>").text($.t(feature+".description")).appendTo(tr),tr.appendTo(table)}}),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 dialog.find(".jsxc_warning").text($.t("You_already_joined_this_room"));return!1}),dialog.find("input").keydown(function(ev){return 13!==ev.which?(dialog.find(".jsxc_warning").empty(),void(dialog.find(".jsxc_continue").is(":hidden")&&(dialog.find(".jsxc_continue").show(),dialog.find(".jsxc_join").hide().off("click"),dialog.find(".jsxc_msg").empty(),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"),submit=$("<button>");submit.addClass("btn btn-primary"),submit.attr("type","submit"),submit.text($.t("Join"));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){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){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(room,"sys",$.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),roomdata.state=self.CONST.ROOMSTATE.DESTROYED,jsxc.storage.setUserItem("buddy",room,roomdata)},initWindow:function(event,win){var self=jsxc.muc;if(!jsxc.xmpp.conn)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_transfer").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=$("<li>");if(destroy.text($.t("Destroy")),destroy.addClass("jsxc_destroy"),destroy.hide(),destroy.click(function(){self.destroy(bid)}),win.find(".jsxc_settings ul").append(destroy),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()})}var leave=$("<li>");leave.text($.t("Leave")),leave.addClass("jsxc_leave"),leave.click(function(){self.leave(bid)}),win.find(".jsxc_settings ul").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(jsxc.storage.setUserItem("roomNames",jsxc.xmpp.conn.muc.roomNames),jsxc.storage.removeUserItem("chat",room),member={},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.window.open(room),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(room,"sys",$.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(room,"sys",$.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(room,"sys",$.t("left_the_building",{nickname:nickname,escapeInterpolation:!0}))}else!member[nickname]&&own[room]&&jsxc.gui.window.postMessage(room,"sys",$.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(room,"sys",$.t("Room_logging_is_enabled"))},171:function(room){jsxc.gui.window.postMessage(room,"sys",$.t("Room_logging_is_disabled"))},172:function(room){jsxc.gui.window.postMessage(room,"sys",$.t("Room_is_now_non-anoymous"))},173:function(room){jsxc.gui.window.postMessage(room,"sys",$.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(room,"sys",$.t("muc_removed_banned")),jsxc.muc.postReason(room,xdata)):jsxc.gui.window.postMessage(room,"sys",$.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(room,"sys",$.t("muc_removed_kicked")),jsxc.muc.postReason(room,xdata)):jsxc.gui.window.postMessage(room,"sys",$.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(room,"sys",$.t("muc_removed_affiliation"))):jsxc.gui.window.postMessage(room,"sys",$.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(room,"sys",$.t("muc_removed_membersonly"))):jsxc.gui.window.postMessage(room,"sys",$.t("muc_removed_info_membersonly",{nickname:nickname,escapeInterpolation:!0}))},332:function(room){jsxc.muc.close(room),jsxc.gui.window.postMessage(room,"sys",$.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(room,"in",reason,!1,!1,null,actor):jsxc.gui.window.postMessage(room,"sys",reason))},insertMember:function(room,nickname,memberdata){var self=jsxc.muc,win=jsxc.gui.window.get(room),jid=memberdata.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)===jsxc.jidToBid(self.conn.jid)&&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,width>scrollWidth||left>0?left=0:width-scrollWidth>left&&(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(jsxc.el_exists($("#"+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.postMessage(room,"in",body,!1,!1,stamp,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(room,"sys",$.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?!0:($(message).find("item-not-found").length>0?jsxc.gui.window.postMessage(room,"sys",$.t("message_not_send_item-not-found")):$(message).find("forbidden").length>0?jsxc.gui.window.postMessage(room,"sys",$.t("message_not_send_forbidden")):$(message).find("not-acceptable").length>0?jsxc.gui.window.postMessage(room,"sys",$.t("message_not_send_not-acceptable")):jsxc.gui.window.postMessage(room,"sys",$.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=$("<div>");bo.text("+"),bo.addClass("jsxc_bookmarkOptions"),bo.click(function(ev){return ev.preventDefault(),jsxc.xmpp.bookmarks.showDialog(room),!1}),bud.find(".jsxc_rename").before(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).one("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.msg,val.description,val.fnName,val.fnParams,key)}},add:function(msg,description,fnName,fnParams,id){var nid=id||Date.now(),list=$("#jsxc_notice ul"),notice=$("<li/>");if(notice.click(function(){return jsxc.notice.remove(nid),jsxc.exec(fnName,fnParams),!1}),notice.text(msg),notice.attr("title",description||""),notice.attr("data-nid",nid),list.append(notice),$("#jsxc_notice > span").text(++jsxc.notice._num),!id){var saved=jsxc.storage.getUserItem("notices")||{};saved[nid]={msg:msg,description:description,fnName:fnName,fnParams:fnParams},jsxc.storage.setUserItem("notices",saved),jsxc.notification.notify(msg,description||"",null,!0,jsxc.CONST.SOUNDS.NOTICE)}},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)},has:function(fnName){var saved=jsxc.storage.getUserItem("notices")||[],has=!1;return $.each(saved,function(index,val){return val.fnName===fnName?(has=!0,!1):void 0}),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?!0:!1},prepareRequest:function(){jsxc.notice.has("gui.showRequestNotification")||$(document).one("postmessagein.jsxc",function(){setTimeout(function(){jsxc.notice.add($.t("Notifications")+"?",$.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:!0,WHITESPACE_START_AKE:!0},xmpp:{url:null,jid:null,domain:null,password:null,overwrite:!1,onlogin:null},priority:{online:0,chat:0,away:0,xa:0,dnd:0},loginForm:{enable:!0,form:null,jid:null,pass:null,preJid:function(jid){return jid},onConnecting:"dialog",onConnected:"submit",onAuthFail:"submit",attachIfFound:!0,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(){},carbons:{enable:!1},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},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}):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,uid){0!==jsxc.otr.objects[jsxc.jidToBid(jid)].msgstate&&jsxc.otr.backup(jsxc.jidToBid(jid)),jsxc.xmpp._sendMessage(jid,msg,uid)},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})}),jsxc.otr.objects[bid].on("io",function(msg,uid){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,uid)}),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&&console.trace("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){return val instanceof jQuery?void 0: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"){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."),void jsxc.storage.ink("alive");if(!(jsxc.master||"alive"!==key&&"alive_busy"!==key||jsxc.triggeredFromElement))return window.clearTimeout(jsxc.to),jsxc.to=window.setTimeout(jsxc.checkMaster,("alive"===key?jsxc.options.timeout:jsxc.options.busyTimeout)+jsxc.random(60)),void(jsxc.role_allocation||jsxc.onSlave());if(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(!e.oldValue)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)}if(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)),"sid"===key)return void(e.newValue||jsxc.xmpp.logout());"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))}}}},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.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("mediaready.jingle",self.onMediaReady),$(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("mediaready.jingle",self.onMediaReady),$(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),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){return capableRes.indexOf(val)>-1?(targetRes=val,!1):void 0}),jid=jid+"/"+targetRes),el.off("click"),capableRes.indexOf(targetRes)>-1?(el.click(function(){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")));var fileCapableRes=self.getCapableRes(jid,self.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")}},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))})},onMediaReady:function(event,stream){jsxc.debug("media ready");var self=jsxc.webrtc;self.localStream=stream,self.conn.jingle.localStream=stream;var i,dialog=jsxc.gui.showVideoWindow(self.last_caller),audioTracks=stream.getAudioTracks(),videoTracks=stream.getVideoTracks();for(i=0;i<audioTracks.length;i++)self.setStatus(audioTracks.length>0?$.t("Use_local_audio_device"):$.t("No_local_audio_device")),jsxc.debug('using audio device "'+audioTracks[i].label+'"');for(i=0;i<videoTracks.length;i++)self.setStatus(videoTracks.length>0?$.t("Use_local_video_device"):$.t("No_local_video_device")),jsxc.debug('using video device "'+videoTracks[i].label+'"'),dialog.find(".jsxc_localvideo").show();$(document).one("cleanup.dialog.jsxc",$.proxy(self.hangUp,self)),$(document).trigger("finish.mediaready.jsxc")},onMediaFailure:function(ev,err){var self=jsxc.webrtc;err=err||{name:"Undefined"},self.setStatus("media failure"),jsxc.gui.window.postMessage({bid:jsxc.jidToBid(jsxc.webrtc.last_caller),direction:jsxc.Message.SYS,msg:$.t("Media_failure")+": "+$.t(err.name)+" ("+err.name+")."}),jsxc.debug("media failure: "+err.name)},onIncoming:function(session){var self=jsxc.webrtc,type=session.constructor?session.constructor.name:null;"FileTransferSession"===type?self.onIncomingFileTransfer(session):"MediaSession"===type&&self.onIncomingCall(session)},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)),jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("Incoming_call")}),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.reqUserMedia();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"),jsxc.switchEvents({"mediaready.jingle":function(event,stream){self.setStatus("Accept call"),session.addStream(stream),session.accept()},"mediafailure.jingle":function(){session.decline()}}),self.reqUserMedia()}),dialog.find(".jsxc_reject").click(function(){jsxc.gui.dialog.close(),$(document).trigger("reject.call.jsxc"),session.decline()})},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){this.setStatus("call terminated "+session.peerID+(reason?reason.condition:""));var bid=jsxc.jidToBid(session.peerID);this.localStream&&this.localStream.stop(),$(".jsxc_videoContainer").length&&($(".jsxc_remotevideo")[0].src="",$(".jsxc_localvideo")[0].src=""),this.conn.jingle.localStream=null,this.localStream=null,this.remoteStream=null;var win=$("#jsxc_webrtc .jsxc_chatarea > ul > li");$("#jsxc_windowList > ul").prepend(win.detach()),win.find(".slimScrollDiv").resizable("enable"),jsxc.gui.window.resize(win),$(document).off("cleanup.dialog.jsxc"),$(document).off("error.jingle"),jsxc.gui.dialog.close(),$("#jsxc_webrtc").remove(),jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("Call_terminated")+(reason?": "+$.t("jingle_reason_"+reason.condition):"")+"."})},onCallRinging:function(){this.setStatus("ringing...",0)},onRemoteStreamAdded:function(session,stream){this.setStatus("Remote stream for session "+session.sid+" added."),this.remoteStream=stream;var isVideoDevice=stream.getVideoTracks().length>0,isAudioDevice=stream.getAudioTracks().length>0;this.setStatus(isVideoDevice?"Use remote video device.":"No remote video device"),this.setStatus(isAudioDevice?"Use remote audio device.":"No remote audio device"),$(".jsxc_remotevideo").length&&(this.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)},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(),$("#jsxc_webrtc .bubblingG").hide()):"failed"===state?(jsxc.gui.window.postMessage({bid:jsxc.jidToBid(session.peerID),direction:jsxc.Message.SYS,msg:$.t("ICE_connection_failure")}),$(document).off("cleanup.dialog.jsxc"),session.end("failed-transport"),$(document).trigger("callterminated.jingle")):"interrupted"===state&&self.setStatus($.t("Connection_interrupted"))},startCall:function(jid,um){var self=this;return null===Strophe.getResourceFromJid(jid)?void jsxc.debug("We need a full jid"):(self.last_caller=jid,jsxc.switchEvents({"finish.mediaready.jsxc":function(){self.setStatus("Initiate call"),jsxc.gui.window.postMessage({bid:jsxc.jidToBid(jid),direction:jsxc.Message.SYS,msg:$.t("Call_started")}),$(document).one("error.jingle",function(e,sid,error){"offer"===error.source&&($(document).off("cleanup.dialog.jsxc"),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.on("change:connectionState",$.proxy(self.onIceConnectionStateChanged,self))},"mediafailure.jingle":function(){jsxc.gui.dialog.close()}}),void self.reqUserMedia(um))},hangUp:function(reason,text){$(document).off("cleanup.dialog.jsxc"),jsxc.webrtc.conn.jingle.terminate(null,reason,text),$(document).trigger("callterminated.jingle")},reqUserMedia:function(um){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}),this.setStatus("please allow access to microphone and camera"),void("undefined"!=typeof MediaStreamTrack&&"undefined"!=typeof MediaStreamTrack.getSources?MediaStreamTrack.getSources(function(sourceInfo){var availableDevices=sourceInfo.map(function(el){return el.kind});um=um.filter(function(el){return-1!==availableDevices.indexOf(el)}),jsxc.webrtc.getUserMedia(um)}):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")}},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){var self=jsxc.webrtc,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.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 toggleMulti=function(elem,open){$("#jsxc_webrtc .jsxc_multi > div").not(elem).slideUp();var opt={complete:jsxc.gui.dialog.resize};open?elem.slideDown(opt):elem.slideToggle(opt)},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_snapshot").click(function(){jsxc.webrtc.snapshot(rv),toggleMulti($("#jsxc_webrtc .jsxc_snapshotbar"),!0)}),$("#jsxc_webrtc .jsxc_snapshots").click(function(){toggleMulti($("#jsxc_webrtc .jsxc_snapshotbar"))}),$("#jsxc_webrtc .jsxc_showchat").click(function(){var chatarea=$("#jsxc_webrtc .jsxc_chatarea");chatarea.is(":hidden")?(chatarea.show(),$("#jsxc_webrtc .jsxc_webrtc").width("900"),jsxc.gui.dialog.resize({width:"920px"})):(chatarea.hide(),$("#jsxc_webrtc .jsxc_webrtc").width("650"),jsxc.gui.dialog.resize({width:"660px"}))}),$("#jsxc_webrtc .jsxc_fullscreen").click(function(){$.support.fullscreen&&($(document).one("disabled.fullscreen",function(){lv.removeAttr("style")}),$("#jsxc_webrtc .jsxc_videoContainer").fullscreen())}),$("#jsxc_webrtc .jsxc_volume").change(function(){rv[0].volume=$(this).val()}),$("#jsxc_webrtc .jsxc_volume").dblclick(function(){$(this).val(.5)}),$("#jsxc_webrtc .jsxc_videoContainer").toggle(function(){$("#jsxc_webrtc .jsxc_controlbar").css("opacity","1.0")},function(){$("#jsxc_webrtc .jsxc_controlbar").css("opacity","")}),$("#jsxc_webrtc")},$.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()):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.gui.template.aboutDialog='<h3>JavaScript XMPP Chat</h3>\n<p>\n <b>Version: </b>{{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 {{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>\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/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://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> {{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.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.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 style="display: none">\n <p data-i18n="To_verify_the_fingerprint_" class="jsxc_explanation"></p>\n <p>\n <strong data-i18n="Your_fingerprint"></strong>\n <br /> <span style="text-transform: uppercase">{{my_priv_fingerprint}}</span>\n </p>\n <p>\n <strong data-i18n="Buddy_fingerprint"></strong>\n <br /> <span style="text-transform: uppercase">{{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 style="display: none" class="form-horizontal">\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 style="display: none" class="form-horizontal">\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.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>\n <div class="jsxc_textarea" />\n <div class="jsxc_emoticons">\n <div class="jsxc_inner">\n <ul>\n <li style="clear:both"></li>\n </ul>\n </div>\n </div>\n <div class="jsxc_transfer jsxc_otr jsxc_disabled" />\n <input type="text" class="jsxc_textinput" data-i18n="[placeholder]Message" />\n </div>\n </div>\n</li>\n',jsxc.gui.template.confirmDialog='<p>{{msg}}</p>\n\n<button class="btn btn-primary jsxc_confirm pull-right" data-i18n="Confirm"></button>\n<button class="btn 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 style="text-transform: uppercase">{{my_priv_fingerprint}}</span>\n </p>\n <p>\n <strong data-i18n="Buddy_fingerprint"></strong>\n <br /> <span style="text-transform: uppercase">{{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> {{bid_name}}?\n</p>\n\n<button class="btn btn-primary jsxc_accept pull-right" data-i18n="Accept"></button>\n<button class="btn 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" readonly="readonly" />\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 </div>\n </div>\n <p class="jsxc_inputinfo jsxc_waiting jsxc_room" data-i18n="Rooms_are_loaded"></p>\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">\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 <span class="jsxc_warning"></span>\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" value="{{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.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',jsxc.gui.template.vCard='<h3>\n <span data-i18n="Info_about"></span> <span>{{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="bubblingG">\n <span id="bubblingG_1"> </span> <span id="bubblingG_2"> </span> <span id="bubblingG_3"> </span>\n </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">\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>{{msg}}</h3>\n\n<div class="progress">\n <div class="progress-bar progress-bar-striped active" style="width: 100%" 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.0.0-beta2",master:!1,role_allocation:!1,to:null,toBusy:null,toNotification:null,toNotificationDelay:500,keepalive:null,reconnect:!1,restoreCompleted:!1,triggeredFromBox:!1,triggeredFromElement:!1,triggeredFromLogout:!1,ls:[],storageNotConform:null,toSNC:null,bid: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"},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(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 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;if(lang=null!==jsxc.storage.getItem("lang")?jsxc.storage.getItem("lang"):jsxc.options.autoLang&&navigator.language?navigator.language.substr(0,2):jsxc.options.defaultLang,$.i18n.init({lng:lang,fallbackLng:"en",resStore:I18next,useLocalStorage:!0,localStorageExpirationTime:864e5,debug:jsxc.storage.getItem("debug")===!0}),jsxc.storage.getItem("debug")===!0&&(jsxc.options.otr.debug=!0),window.addEventListener("storage",jsxc.storage.onStorage,!1),$(document).on("attached.jsxc",function(){if(null!==jsxc.options.logoutElement&&jsxc.options.logoutElement.length>0){var logout=function(ev){jsxc.xmpp.conn&&jsxc.xmpp.conn.authenticated&&(ev.stopPropagation(),ev.preventDefault(),jsxc.options.logoutElement=$(this),jsxc.triggeredFromLogout=!0,jsxc.xmpp.logout())};jsxc.options.logoutElement.off("click",null,logout).one("click",logout)}}),!(jsxc.storage.getItem("rid")&&jsxc.storage.getItem("sid")&&jsxc.storage.getItem("jid"))||jsxc.options.loginForm&&"force"===jsxc.options.loginForm.ifFound&&jsxc.isLoginForm()){if(jsxc.storage.removeItem("rid"),jsxc.storage.removeItem("sid"),!jsxc.isLoginForm())return void(jsxc.options.displayRosterMinimized()&&(jsxc.storage.setUserItem("roster","hidden"),jsxc.gui.roster.init(),jsxc.gui.roster.noConnection()));"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(){return jsxc.prepareLogin(function(settings){if(settings!==!1){var enabled=settings.loginForm&&settings.loginForm.enable||settings.xmpp&&settings.xmpp.onlogin;enabled="true"===enabled||enabled===!0,enabled&&(jsxc.options.loginForm.triggered=!0,jsxc.xmpp.login(jsxc.options.xmpp.jid,jsxc.options.xmpp.password))}else jsxc.submitLoginForm()}),!1})}else(!jsxc.isLoginForm()||jsxc.options.loginForm&&"attach"===jsxc.options.loginForm.ifFound)&&("undefined"==typeof jsxc.storage.getItem("alive")?jsxc.onMaster():jsxc.checkMaster())},start:function(){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===arguments.length&&$(document).one("attached.jsxc",function(){jsxc.xmpp.onRidChange(jsxc.xmpp.conn._proto.rid),jsxc.onMaster()}),void jsxc.xmpp.login.apply(this,arguments))},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.restoreRoster(),jsxc.restoreWindows(),jsxc.restoreCompleted=!0,$(document).trigger("restoreCompleted.jsxc")},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(){jsxc.debug("check master"),jsxc.to=window.setTimeout(jsxc.onMaster,1e3),jsxc.storage.ink("alive")},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.keepalive=window.setInterval(jsxc.keepAlive,jsxc.options.timeout-1e3)},keepAlive:function(){jsxc.storage.ink("alive")},keepBusyAlive:function(){jsxc.toBusy&&window.clearTimeout(jsxc.toBusy),jsxc.keepalive&&window.clearInterval(jsxc.keepalive),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.submit()},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]];return"function"==typeof fn?fn.apply(null,fnParams):void 0},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}},jsxc.xmpp={conn:null,login:function(){if(!jsxc.xmpp.conn||!jsxc.xmpp.conn.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=null,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/"),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.storage.removeItem("sid"),jsxc.storage.removeUserItem("buddylist"),jsxc.storage.removeUserItem("windowlist"),jsxc.storage.removeUserItem("unreadMsg"),!jsxc.master)return $("#jsxc_roster").remove(),$("#jsxc_windowlist").remove(),!0;if(null===jsxc.xmpp.conn)return!0;$("body").click(),jsxc.triggeredFromElement="boolean"==typeof complete?complete:!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(),$(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.onMessage,null,"message","chat"),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.restoreRoster(),jsxc.restoreWindows(),jsxc.restoreCompleted=!0,$(document).trigger("restoreCompleted.jsxc"));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()},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_roster").remove(),jsxc.triggeredFromLogout&&(window.location=jsxc.options.logoutElement.attr("href"))):jsxc.gui.roster.noConnection(),window.clearInterval(jsxc.keepalive)},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:[]}),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")},onRosterChanged:function(iq){return 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($.t("Friendship_request"),$.t("from")+" "+jid,"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]: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+"): "+status),jsxc.gui.update(bid),jsxc.gui.roster.reorder(bid),$(document).trigger("presence.jsxc",[from,status,presence]),!0},onMessage:function(stanza){var message,carbon,forwarded=$(stanza).find('forwarded[xmlns="'+jsxc.CONST.NS.FORWARD+'"]');forwarded.length>0?(message=forwarded.find("> message"),forwarded=!0,carbon=$(stanza).find('> [xmlns="'+jsxc.CONST.NS.CARBONS+'"]'),0===carbon.length&&(carbon=!1),jsxc.debug("Incoming forwarded message",message)):(message=stanza,forwarded=!1,carbon=!1,jsxc.debug("Incoming message",message));var body=$(message).find("body:first").text();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($.t("Unknown_sender"),$.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);return"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})),jsxc.otr.objects.hasOwnProperty(bid)?jsxc.otr.objects[bid].receiveMsg(body,{stamp:stamp,forwarded:forwarded}):jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.IN,msg:body,encrypted:!1,forwarded:forwarded,stamp:stamp}),!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(bid,msg,uid){jsxc.otr.objects.hasOwnProperty(bid)?jsxc.otr.objects[bid].sendMsg(msg,uid):jsxc.xmpp._sendMessage(jsxc.gui.window.get(bid).data("jid"),msg,uid)},_sendMessage:function(jid,msg,uid){var data=jsxc.storage.getUserItem("buddy",jsxc.jidToBid(jid))||{},isBar=Strophe.getBareJidFromJid(jid)===jid,type=data.type||"chat",xmlMsg=$msg({to:jid,type:type,id:uid}).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.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){return err!==!1?jsxc.options.get("carbons").enable?jsxc.xmpp.carbons.enable():jsxc.xmpp.carbons.disable():void 0}},jsxc.Message=function(){this._uid=null,this._received=!1,this.encrypted=!1,this.forwarded=!1,this.stamp=(new Date).getTime(),"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){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)}},jsxc.Message.getDOM=function(uid){return $("#"+uid.replace(/:/g,"-"))},jsxc.Message.IN="in",jsxc.Message.OUT="out",jsxc.Message.SYS="sys",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"]},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&&$("#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.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)},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(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();width>scrollWidth||(right>0&&(right=0),width-scrollWidth-padding>right&&(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).on("complete.dialog.jsxc",function(){$("#jsxc_password").focus()}),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){$.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)navigator.hasOwnProperty(key)&&"string"==typeof navigator[key]&&(userInfo+="<b>"+key+":</b> "+navigator[key]+"<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="";return 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?content:void 0},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 success=jsxc.options.saveSettinsPermanent.call(this,data);return"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),!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)},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){return 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][jsxc.gui.emoticonList.emojione[shortname].length-1],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")})}},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.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,status="both"===data.sub?data.status:-1;listElements.each(function(){var thisStatus="both"===$(this).data("sub")?$(this).data("status"):-1;return $(this).data("name").toLowerCase()>data.name.toLowerCase()&&thisStatus===status||status>thisStatus?($(this).before(li),insert=!0,!1):void 0}),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);return $.magnificPopup.open({items:{src:'<div data-name="'+opt.name+'" id="jsxc_dialog">'+data+"</div>"},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){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};if(win.find(".jsxc_more").click(expandClick),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}),win.find(".jsxc_textinput").keyup(function(ev){var body=$(this).val();13===ev.which&&(body=""),jsxc.storage.updateUserItem("window",bid,"text",body),27===ev.which&&jsxc.gui.window.close(bid)}).keypress(function(ev){13===ev.which&&$(this).val()&&(jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.OUT,msg:$(this).val()}),$(this).val(""))}).focus(function(){jsxc.gui.readMsg(bid)}).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("input").val(win.find("input").val()+ins),win.find("input").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;0>left&&jsxc.gui.scrollWindowListBy(-1*left),0>right&&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),html_msg=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=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,html_msg])),message.direction===jsxc.Message.OUT&&jsxc.master&&message.forwarded!==!0&&html_msg&&jsxc.xmpp.sendMessage(message.bid,html_msg,message._uid),jsxc.gui.window._postMessage(message),"out"===message.direction&&"?"===message.msg&&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 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"),message.forwarded&&msgDiv.addClass("jsxc_forwarded"),message.encrypted&&msgDiv.addClass("jsxc_encrypted"),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)),msgDiv.find("div").first().append(attachment)}if("sys"===direction?jsxc.gui.window.get(bid).find(".jsxc_textarea").append('<div style="clear:both"/>'):"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(),message.received())},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){var bid=jsxc.jidToBid(jid),win=jsxc.gui.window.get(bid),res=Strophe.getResourceFromJid(jid);if(!res){jid=win.data("jid"),res=Strophe.getResourceFromJid(jid);var fileCapableRes=jsxc.webrtc.getCapableRes(jid,jsxc.webrtc.reqFileFeatures),resources=Object.keys(jsxc.storage.getUserItem("res",bid))||[];if(null===res&&1===resources.length&&1===fileCapableRes.length)res=fileCapableRes[0],jid=bid+"/"+res;else if(fileCapableRes.indexOf(res)<0)return void jsxc.gui.window.selectResource(bid,$.t("Your_contact_uses_multiple_clients_"),function(data){"unavailable"===data.status?jsxc.gui.window.hideOverlay(bid):"selected"===data.status&&jsxc.gui.window.sendFile(bid+"/"+data.result)},fileCapableRes)}var 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];if(file){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(){var sess=jsxc.webrtc.sendFile(jid,file);jsxc.gui.window.hideOverlay(bid);var message=jsxc.gui.window.postMessage({_uid:sess.sid+":msg",bid:bid,direction:"out",attachment:{name:file.name,size:file.size,type:file.type,data:file.type.match(/^image\//)?img.attr("src"):null}});sess.sender.on("progress",function(sent,size){jsxc.gui.window.updateProgress(message,sent,size)}),msg.remove()}).appendTo(msg),$("<button>").text($.t("Abort")).click(function(){jsxc.gui.window.hideOverlay(bid)}).appendTo(msg)}})}},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?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>").append($(ret).i18n()).html(),ret=ret.replace(/\{\{([a-zA-Z0-9_\-]+)\}\}/g,function(s,key){return"string"==typeof ph[key]?ph[key]:s})):(jsxc.debug("Template not available: "+name),name)},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).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),$("#jsxc_menu ul .jsxc_about").before(li)},showJoinChat:function(r,p){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),dialog.find("#jsxc_server").val(jsxc.options.get("muc").server);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]),dialog.find(".jsxc_warning").text(msg)};$(document).on("error.muc.jsxc",error_handler),$(document).on("close.dialog.jsxc",function(){$(document).off("error.muc.jsxc",error_handler)}),self.conn.muc.listRooms(jsxc.options.get("muc").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").removeClass("jsxc_waiting").text($.t("Could_load_only",{count:count}))}else dialog.find(".jsxc_inputinfo").hide()},function(){jsxc.warn("Could not load rooms"),dialog.find(".jsxc_inputinfo").hide()}),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),password=$("#jsxc_password").val()||null;if(!room||!room.match(/^[^"&\'\/:<>@\s]+$/i))return $("#jsxc_room").addClass("jsxc_invalid").keyup(function(){$(this).val()&&$(this).removeClass("jsxc_invalid")}),!1;if(room.match(/@(.*)$/)||(room+="@"+jsxc.options.get("muc").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");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&&i18n.exists(feature)){var tr=$("<tr>");$("<td>").text($.t(feature+".keyword")).appendTo(tr),$("<td>").text($.t(feature+".description")).appendTo(tr),tr.appendTo(table)}}),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 dialog.find(".jsxc_warning").text($.t("You_already_joined_this_room"));return!1}),dialog.find("input").keydown(function(ev){return 13!==ev.which?(dialog.find(".jsxc_warning").empty(),void(dialog.find(".jsxc_continue").is(":hidden")&&(dialog.find(".jsxc_continue").show(),dialog.find(".jsxc_join").hide().off("click"),dialog.find(".jsxc_msg").empty(),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"),submit=$("<button>");submit.addClass("btn btn-primary"),submit.attr("type","submit"),submit.text($.t("Join"));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){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){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),roomdata.state=self.CONST.ROOMSTATE.DESTROYED,jsxc.storage.setUserItem("buddy",room,roomdata)},initWindow:function(event,win){var self=jsxc.muc;if(!jsxc.xmpp.conn)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>");if(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)),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()})}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(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.window.open(room),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])}),!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 self=jsxc.muc,win=jsxc.gui.window.get(room),jid=memberdata.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)===jsxc.jidToBid(self.conn.jid)&&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,width>scrollWidth||left>0?left=0:width-scrollWidth>left&&(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(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?!0:($(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).one("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.msg,val.description,val.fnName,val.fnParams,key)}},add:function(msg,description,fnName,fnParams,id){var nid=id||Date.now(),list=$("#jsxc_notice ul"),notice=$("<li/>");if(notice.click(function(){return jsxc.notice.remove(nid),jsxc.exec(fnName,fnParams),!1}),notice.text(msg),notice.attr("title",description||""),notice.attr("data-nid",nid),list.append(notice),$("#jsxc_notice > span").text(++jsxc.notice._num),!id){var saved=jsxc.storage.getUserItem("notices")||{};saved[nid]={msg:msg,description:description,fnName:fnName,fnParams:fnParams},jsxc.storage.setUserItem("notices",saved),jsxc.notification.notify(msg,description||"",null,!0,jsxc.CONST.SOUNDS.NOTICE)}},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)},has:function(fnName){var saved=jsxc.storage.getUserItem("notices")||[],has=!1;return $.each(saved,function(index,val){return val.fnName===fnName?(has=!0,!1):void 0}),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?!0:!1},prepareRequest:function(){jsxc.notice.has("gui.showRequestNotification")||$(document).one("postmessagein.jsxc",function(){setTimeout(function(){jsxc.notice.add($.t("Notifications")+"?",$.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:!0,WHITESPACE_START_AKE:!0},xmpp:{url:null,jid:null,domain:null,password:null,overwrite:!1,onlogin:null},priority:{online:0,chat:0,away:0,xa:0,dnd:0},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(){},carbons:{enable:!1},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},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}):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,uid){0!==jsxc.otr.objects[jsxc.jidToBid(jid)].msgstate&&jsxc.otr.backup(jsxc.jidToBid(jid)),jsxc.xmpp._sendMessage(jid,msg,uid)},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})}),jsxc.otr.objects[bid].on("io",function(msg,uid){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,uid)}),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&&console.trace("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){return val instanceof jQuery?void 0: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"){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."),void jsxc.storage.ink("alive");if(!(jsxc.master||"alive"!==key&&"alive_busy"!==key||jsxc.triggeredFromElement))return window.clearTimeout(jsxc.to),jsxc.to=window.setTimeout(jsxc.checkMaster,("alive"===key?jsxc.options.timeout:jsxc.options.busyTimeout)+jsxc.random(60)),void(jsxc.role_allocation||jsxc.onSlave());if(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(!e.oldValue)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)}if(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)),"sid"===key)return void(e.newValue||jsxc.xmpp.logout());"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))}}}},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.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("mediaready.jingle",self.onMediaReady),$(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("mediaready.jingle",self.onMediaReady),$(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),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){return capableRes.indexOf(val)>-1?(targetRes=val,!1):void 0}),jid=jid+"/"+targetRes),el.off("click"),capableRes.indexOf(targetRes)>-1?(el.click(function(){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")));var fileCapableRes=self.getCapableRes(jid,self.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")}},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))})},onMediaReady:function(event,stream){jsxc.debug("media ready");var self=jsxc.webrtc;self.localStream=stream,self.conn.jingle.localStream=stream;var i,dialog=jsxc.gui.showVideoWindow(self.last_caller),audioTracks=stream.getAudioTracks(),videoTracks=stream.getVideoTracks();for(i=0;i<audioTracks.length;i++)self.setStatus(audioTracks.length>0?$.t("Use_local_audio_device"):$.t("No_local_audio_device")),jsxc.debug('using audio device "'+audioTracks[i].label+'"');for(i=0;i<videoTracks.length;i++)self.setStatus(videoTracks.length>0?$.t("Use_local_video_device"):$.t("No_local_video_device")),jsxc.debug('using video device "'+videoTracks[i].label+'"'),dialog.find(".jsxc_localvideo").show();$(document).one("cleanup.dialog.jsxc",$.proxy(self.hangUp,self)),$(document).trigger("finish.mediaready.jsxc")},onMediaFailure:function(ev,err){var self=jsxc.webrtc;err=err||{name:"Undefined"},self.setStatus("media failure"),jsxc.gui.window.postMessage({bid:jsxc.jidToBid(jsxc.webrtc.last_caller),direction:jsxc.Message.SYS,msg:$.t("Media_failure")+": "+$.t(err.name)+" ("+err.name+")."}),jsxc.debug("media failure: "+err.name)},onIncoming:function(session){var self=jsxc.webrtc,type=session.constructor?session.constructor.name:null;"FileTransferSession"===type?self.onIncomingFileTransfer(session):"MediaSession"===type&&self.onIncomingCall(session)},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)),jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("Incoming_call")}),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.reqUserMedia();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"),jsxc.switchEvents({"mediaready.jingle":function(event,stream){self.setStatus("Accept call"),session.addStream(stream),session.accept()},"mediafailure.jingle":function(){session.decline()}}),self.reqUserMedia()}),dialog.find(".jsxc_reject").click(function(){jsxc.gui.dialog.close(),$(document).trigger("reject.call.jsxc"),session.decline()})},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){this.setStatus("call terminated "+session.peerID+(reason?reason.condition:""));var bid=jsxc.jidToBid(session.peerID);this.localStream&&this.localStream.stop(),$(".jsxc_videoContainer").length&&($(".jsxc_remotevideo")[0].src="",$(".jsxc_localvideo")[0].src=""),this.conn.jingle.localStream=null,this.localStream=null,this.remoteStream=null,jsxc.gui.closeVideoWindow(),$(document).off("error.jingle"),jsxc.gui.window.postMessage({bid:bid,direction:jsxc.Message.SYS,msg:$.t("Call_terminated")+(reason?": "+$.t("jingle_reason_"+reason.condition):"")+"."})},onCallRinging:function(){this.setStatus("ringing...",0)},onRemoteStreamAdded:function(session,stream){this.setStatus("Remote stream for session "+session.sid+" added."),this.remoteStream=stream;var isVideoDevice=stream.getVideoTracks().length>0,isAudioDevice=stream.getAudioTracks().length>0;this.setStatus(isVideoDevice?"Use remote video device.":"No remote video device"),this.setStatus(isAudioDevice?"Use remote audio device.":"No remote audio device"),$(".jsxc_remotevideo").length&&(this.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)},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(),$("#jsxc_webrtc .bubblingG").hide()):"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=this;return null===Strophe.getResourceFromJid(jid)?void jsxc.debug("We need a full jid"):(self.last_caller=jid,jsxc.switchEvents({"finish.mediaready.jsxc":function(){self.setStatus("Initiate call"),jsxc.gui.window.postMessage({bid:jsxc.jidToBid(jid),direction:jsxc.Message.SYS,msg:$.t("Call_started")}),$(document).one("error.jingle",function(e,sid,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.on("change:connectionState",$.proxy(self.onIceConnectionStateChanged,self))},"mediafailure.jingle":function(){jsxc.gui.dialog.close()}}),void self.reqUserMedia(um))},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")},reqUserMedia:function(um){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}),this.setStatus("please allow access to microphone and camera"),void("undefined"!=typeof MediaStreamTrack&&"undefined"!=typeof MediaStreamTrack.getSources?MediaStreamTrack.getSources(function(sourceInfo){var availableDevices=sourceInfo.map(function(el){return el.kind});um=um.filter(function(el){return-1!==availableDevices.indexOf(el)}),jsxc.webrtc.getUserMedia(um)}):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")}},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){var self=jsxc.webrtc,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.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").toggle(function(){$("#jsxc_webrtc .jsxc_controlbar").css("opacity","1.0")},function(){$("#jsxc_webrtc .jsxc_controlbar").css("opacity","")}),$("#jsxc_webrtc")},jsxc.gui.closeVideoWindow=function(){var win=$("#jsxc_webrtc .jsxc_chatarea > ul > li");$("#jsxc_windowList > ul").prepend(win.detach()),win.find(".slimScrollDiv").resizable("enable"),jsxc.gui.window.resize(win),$("#jsxc_webrtc").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()):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.gui.template.aboutDialog='<h3>JavaScript XMPP Chat</h3>\n<p>\n <b>Version: </b>{{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 {{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/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://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> {{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.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.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 style="display: none">\n <p data-i18n="To_verify_the_fingerprint_" class="jsxc_explanation"></p>\n <p>\n <strong data-i18n="Your_fingerprint"></strong>\n <br /> <span style="text-transform: uppercase">{{my_priv_fingerprint}}</span>\n </p>\n <p>\n <strong data-i18n="Buddy_fingerprint"></strong>\n <br /> <span style="text-transform: uppercase">{{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 style="display: none" class="form-horizontal">\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 style="display: none" class="form-horizontal">\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.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 style="clear:both"></li>\n </ul>\n </div>\n </div>\n <div class="jsxc_transfer jsxc_otr jsxc_disabled" />\n <input type="text" class="jsxc_textinput" data-i18n="[placeholder]Message" />\n </div>\n </div>\n</li>\n',jsxc.gui.template.confirmDialog='<p>{{msg}}</p>\n\n<button class="btn btn-primary jsxc_confirm pull-right" data-i18n="Confirm"></button>\n<button class="btn 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 style="text-transform: uppercase">{{my_priv_fingerprint}}</span>\n </p>\n <p>\n <strong data-i18n="Buddy_fingerprint"></strong>\n <br /> <span style="text-transform: uppercase">{{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> {{bid_name}}?\n</p>\n\n<button class="btn btn-primary jsxc_accept pull-right" data-i18n="Accept"></button>\n<button class="btn 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" readonly="readonly" />\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 </div>\n </div>\n <p class="jsxc_inputinfo jsxc_waiting jsxc_room" data-i18n="Rooms_are_loaded"></p>\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">\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 <span class="jsxc_warning"></span>\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" value="{{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.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',jsxc.gui.template.vCard='<h3>\n <span data-i18n="Info_about"></span> <span>{{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="bubblingG">\n <span id="bubblingG_1"> </span> <span id="bubblingG_2"> </span> <span id="bubblingG_3"> </span>\n </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">\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>{{msg}}</h3>\n\n<div class="progress">\n <div class="progress-bar progress-bar-striped active" style="width: 100%" 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/js/jsxc/jsxc.min.js.map b/build/js/jsxc/jsxc.min.js.map
index 767cada..1679b4b 100644
--- a/build/js/jsxc/jsxc.min.js.map
+++ b/build/js/jsxc/jsxc.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"jsxc.min.js","sources":["jsxc.js"],"names":["jsxc","RTC","RTCPeerconnection","$","version","master","role_allocation","to","toBusy","toNotification","toNotificationDelay","keepalive","reconnect","restoreCompleted","triggeredFromBox","triggeredFromElement","triggeredFromLogout","ls","storageNotConform","toSNC","bid","CONST","NOTIFICATION_DEFAULT","NOTIFICATION_GRANTED","NOTIFICATION_DENIED","STATUS","SOUNDS","MSG","CALL","NOTICE","REGEX","JID","RegExp","URL","NS","CARBONS","FORWARD","HIDDEN","SHOWN","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","extend","get","key","local","getUserItem","set","value","updateItem","lang","autoLang","navigator","language","substr","defaultLang","i18n","lng","fallbackLng","resStore","I18next","useLocalStorage","localStorageExpirationTime","otr","window","addEventListener","onStorage","document","on","logoutElement","length","logout","ev","xmpp","conn","authenticated","stopPropagation","preventDefault","this","off","one","isLoginForm","loginForm","attachIfFound","onMaster","checkMaster","removeItem","displayRosterMinimized","setUserItem","gui","roster","noConnection","formFound","call","form","events","submit","submits","each","index","val","push","handler","prepareLogin","settings","enabled","enable","onlogin","triggered","login","jid","password","submitLoginForm","start","connected","arguments","onRidChange","_proto","rid","apply","el_exists","pass","username","cb","onConnecting","showWaitAlert","t","loadSettings","s","_prepareLogin","loadedSettings","resource","domain","match","preJid","jidToBid","split","old","onSlave","restoreRoster","restoreWindows","trigger","setItem","startKeepAlive","setTimeout","ink","masterActions","noti","notification","hasSupport","hasPermission","prepareRequest","createDSA","updateAvatar","setInterval","keepAlive","timeout","keepBusyAlive","clearTimeout","clearInterval","busyTimeout","random","max","Math","floor","selector","jidToCid","cid","Strophe","getBareJidFromJid","replace","toLowerCase","unescapeNode","buddies","add","loaded","empty","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","sid","url","attached","disconnected","onConnfail","onAuthFail","addNamespace","Connection","xmlInput","xmlOutput","nextValidRid","callback","status","condition","Object","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","remove","create","numOtr","keys","objects","disReady","flush","disconnect","msgstate","OTR","MSGSTATE_ENCRYPTED","endOtr","backup","pause","initNewConnection","saveSessionParameter","onConnected","dialog","close","resume","removeClass","addHandler","onRosterChanged","onMessage","onReceived","onPresence","conditionalEnable","hasFeatureByJid","carbons","onCaps","_knownCapabilities","_requestCapabilities","sendPres","iq","$iq","type","xmlns","sendIQ","onRoster","nomJid","getResourceFromJid","removeUserElement","disco","addIdentity","addFeature","DISCO_INFO","RECEIPTS","pres","$pres","generateCapsAttrs","up","presState","priority","send","location","attr","showAuthFail","name","sub","saveBuddy","res","bookmarks","load","purge","bl","indexOf","temp","update","reorder","notice","notices","noticeKey","presence","ptype","r","xVCard","prop","resFriendReq","addBuddy","approve","maxVal","hasOwnProperty","notify","title","source","photo","avatar","message","carbon","forwarded","body","mid","delay","stamp","direction","Message","OUT","IN","postMessage","encrypted","request","chat","saveMessage","updateUserItem","$msg","id","receiveMsg","alias","removeBuddy","subscription","received","receivedId","sendMessage","uid","sendMsg","_sendMessage","isBar","xmlMsg","loadVcard","error_cb","vcard","result","state","getCapabilitiesByJid","jidVerIndex","knownCapabilities","feature","isArray","makeArray","check","hasFeature","j","capabilities","disable","refresh","_uid","_received","prototype","save","history","pop","Image","attachment","sHeight","sWidth","sx","sy","dHeight","dWidth","canvas","height","ctx","getContext","img","src","drawImage","thumbnail","toDataURL","size","maxStorableSize","persistent","unshift","getDOM","addClass","isReceived","grep","el","SYS","emotions","favicon","regShortNames","emoticonList","core",":klaus:",":jabber:",":xmpp:",":jsxc:",":owncloud:","emojione","emojioneList","queryActions","params","open","showRemoveDialog","subscribe","showContactDialog","showVcard","join","muc","showJoinChat","append","template","resize","updateWindowListSB","scrollWindowListBy","originalEvent","wheelDelta","tooltip","fo","Favico","animation","bgColor","textColor","badge","reg","windowTemplate","buddyTemplate","content","ri","we","ue","spot","updatePresence","trust","info","aid","setAvatar","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","displayname","option","appendTo","getDomainFromJid","showAlert","showConfirmDialog","confirm","dismiss","showAboutDialog","showDebugLog","userInfo","screen","identities","cap","client","identity","category","printProp","depth","item","children","tagName","before","failedToLoad","img_el","showSettings","overwrite","parent","checked","success","saveSettinsPermanent","switchClass","showRequestNotification","notificationready.jsxc","notificationfailure.jsxc","requestPermission","showUnknownSender","confirmationText","sender","showSelectionDialog","header","primary","primaryLabel","optionLabel","opt","label","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","ready","rosterAppend","hideOffline","mute","onlineHelp","toggle","slimScroll","distance","opacity","rosterState","startMinimized","bud","insert","rename","expandClick","scrollTo","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","toggleTransfer","clear","sendFile","getSelection","resizable","handles","minHeight","minWidth","event","ui","stop","inArray","ins","restoreChat","outer","outer_height_diff","outerHeight","fullsize","viewport","getSize","highlight","parents","_show","innerWidth","outerWidth","position","left","scrollDown","_hide","is","effect","scrollHeight","html_msg","MSGSTATE_FINISHED","_postMessage","restore","protocol","msgDiv","msgTsDiv","first","avatarDiv","prependTo","map","receivedMessage","updateProgress","sent","span","round","showOverlay","hideOverlay","selectResource","smpRequest","question","p","abort","sm","verify","onSmpQuestion","fileCapableRes","webrtc","getCapableRes","reqFileFeatures","resources","change","file","target","files","FileReader","reader","onload","readAsDataURL","sess","ph","my_priv_fingerprint","my_jid","my_node","getNodeFromJid","app_name","bid_priv_fingerprint","fingerprint","bid_jid","bid_name","ret","AFFILIATION","ADMIN","MEMBER","OUTCAST","OWNER","NONE","ROLE","MODERATOR","PARTICIPANT","VISITOR","ROOMSTATE","INIT","ENTERED","EXITED","AWAIT_DESTRUCTION","DESTROYED","ROOMCONFIG","INSTANT","server","initMenu","onPresenceError","onGroupchatMessage","onErrorMessage","roomNames","discovered","mucFeature","MUC","mucIdentity","error_handler","room","roomIndex","splice","rooms","listRooms","rjid","rnode","rname","discoReceived","roomName","subject","bookmark","table","exists","tr","keydown","showRoomConfiguration","configure","x","Form","fromXML","f","_showRoomConfiguration","config","helper","formToHTML","cancel","formGroup","fromHTML","saveConfiguration","cancelConfigure","bookmarked","leave","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","role","onStatus",110,170,171,172,173,201,"createInstantRoom",301,"postReason",307,321,322,332,"actor","reason","memberdata","m","isNaN","onAddRoster","bo","showDialog","instructions","fields","fieldToHtml","field","k","txt","line","_ref2","toHTML","values","_results","desc","required","inner","_num","saved","description","nid","now","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","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","trace","jQuery","prefix","variable","Number","removeElement","re","newValue","oldValue","n","transferReq","localStream","remoteStream","last_caller","AUTO_ACCEPT","reqVideoFeatures","chatJids","jingle","manager","onMediaReady","onMediaFailure","proxy","onIncoming","onTerminated","onCallRinging","onReceivedFile","metadata","onRemoteStreamAdded","onRemoteStreamRemoved","peerConfig","getTurnCrendentials","setICEServers","onDisconnected","ajax","async","xhrFields","credential","dataType","features","available","updateIcon","capableRes","targetRes","startCall","setStatus","margin-left","display","animate","stream","showVideoWindow","audioTracks","getAudioTracks","videoTracks","getVideoTracks","hangUp","session","constructor","onIncomingFileTransfer","onIncomingCall","peerID","buddylist","accept","receiver","onIceConnectionStateChanged","ring","reqUserMedia","mediaready.jingle","addStream","mediafailure.jingle","decline","onCallTerminated","isVideoDevice","isAudioDevice","attachMediaStream","end","um","finish.mediaready.jsxc","initiate","terminate","MediaStreamTrack","getSources","sourceInfo","availableDevices","kind","filter","getUserMedia","constraints","video","snapshot","createFileTransferSession","connectionState","ext","File","muted","volume","rv","lv","draggable","containment","w_dialog","w_remote","scale","new_h","new_w","vc","toggleMulti","elem","not","slideDown","slideToggle","chatarea","support","fullscreen","dblclick","KEYCODE_ENTER","KEYCODE_ESC","remote","PUBSUB","loadFromRemote","loadFromLocal","conference","parseErr","reasons","createBookmarksNode","soft","deleteFromRemote","deleteFromLocal","nick","addToRemote","addToLocal"],"mappings":"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"} \ No newline at end of file
+{"version":3,"sources":["jsxc.js"],"names":["jsxc","RTC","RTCPeerconnection","$","version","master","role_allocation","to","toBusy","toNotification","toNotificationDelay","keepalive","reconnect","restoreCompleted","triggeredFromBox","triggeredFromElement","triggeredFromLogout","ls","storageNotConform","toSNC","bid","CONST","NOTIFICATION_DEFAULT","NOTIFICATION_GRANTED","NOTIFICATION_DENIED","STATUS","SOUNDS","MSG","CALL","NOTICE","REGEX","JID","RegExp","URL","NS","CARBONS","FORWARD","HIDDEN","SHOWN","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","loginForm","attachIfFound","ifFound","extend","get","key","local","getUserItem","set","value","updateItem","lang","autoLang","navigator","language","substr","defaultLang","i18n","lng","fallbackLng","resStore","I18next","useLocalStorage","localStorageExpirationTime","otr","window","addEventListener","onStorage","document","on","logoutElement","length","logout","ev","xmpp","conn","authenticated","stopPropagation","preventDefault","this","off","one","isLoginForm","removeItem","displayRosterMinimized","setUserItem","gui","roster","noConnection","formFound","call","form","events","submit","submits","each","index","val","push","handler","prepareLogin","settings","enabled","enable","onlogin","triggered","login","jid","password","submitLoginForm","onMaster","checkMaster","start","connected","arguments","onRidChange","_proto","rid","apply","el_exists","pass","username","cb","onConnecting","showWaitAlert","t","loadSettings","s","_prepareLogin","loadedSettings","resource","domain","match","preJid","jidToBid","split","old","onSlave","restoreRoster","restoreWindows","trigger","setItem","startKeepAlive","setTimeout","ink","masterActions","noti","notification","hasSupport","hasPermission","prepareRequest","createDSA","updateAvatar","setInterval","keepAlive","timeout","keepBusyAlive","clearTimeout","clearInterval","busyTimeout","random","max","Math","floor","selector","jidToCid","cid","Strophe","getBareJidFromJid","replace","toLowerCase","unescapeNode","buddies","add","loaded","empty","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","sid","url","attached","disconnected","onConnfail","onAuthFail","addNamespace","Connection","xmlInput","xmlOutput","nextValidRid","callback","status","condition","Object","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","remove","create","numOtr","keys","objects","disReady","flush","disconnect","msgstate","OTR","MSGSTATE_ENCRYPTED","endOtr","backup","pause","initNewConnection","saveSessionParameter","onConnected","dialog","close","resume","removeClass","addHandler","onRosterChanged","onMessage","onReceived","onPresence","conditionalEnable","hasFeatureByJid","carbons","onCaps","_knownCapabilities","_requestCapabilities","sendPres","iq","$iq","type","xmlns","sendIQ","onRoster","nomJid","getResourceFromJid","removeUserElement","disco","addIdentity","addFeature","DISCO_INFO","RECEIPTS","pres","$pres","generateCapsAttrs","up","presState","priority","send","location","attr","showAuthFail","name","sub","saveBuddy","res","bookmarks","load","purge","bl","indexOf","temp","update","reorder","notice","notices","noticeKey","presence","ptype","r","xVCard","prop","resFriendReq","addBuddy","approve","maxVal","hasOwnProperty","notify","title","source","photo","avatar","message","carbon","forwarded","body","mid","delay","stamp","direction","Message","OUT","IN","postMessage","encrypted","request","chat","saveMessage","updateUserItem","$msg","id","receiveMsg","alias","removeBuddy","subscription","received","receivedId","sendMessage","uid","sendMsg","_sendMessage","isBar","xmlMsg","loadVcard","error_cb","vcard","result","state","getCapabilitiesByJid","jidVerIndex","knownCapabilities","feature","isArray","makeArray","check","hasFeature","j","capabilities","disable","refresh","_uid","_received","prototype","save","history","pop","Image","attachment","sHeight","sWidth","sx","sy","dHeight","dWidth","canvas","height","ctx","getContext","img","src","drawImage","thumbnail","toDataURL","size","maxStorableSize","persistent","unshift","getDOM","addClass","isReceived","grep","el","SYS","emotions","favicon","regShortNames","emoticonList","core",":klaus:",":jabber:",":xmpp:",":jsxc:",":owncloud:","emojione","emojioneList","queryActions","params","open","showRemoveDialog","subscribe","showContactDialog","showVcard","join","muc","showJoinChat","append","template","resize","updateWindowListSB","scrollWindowListBy","originalEvent","wheelDelta","tooltip","fo","Favico","animation","bgColor","textColor","badge","reg","windowTemplate","buddyTemplate","content","ri","we","ue","spot","updatePresence","trust","info","aid","setAvatar","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","displayname","option","appendTo","getDomainFromJid","showAlert","showConfirmDialog","confirm","dismiss","showAboutDialog","showDebugLog","userInfo","screen","identities","cap","client","identity","category","printProp","depth","item","children","tagName","before","failedToLoad","img_el","showSettings","overwrite","parent","checked","success","saveSettinsPermanent","switchClass","showRequestNotification","notificationready.jsxc","notificationfailure.jsxc","requestPermission","showUnknownSender","confirmationText","sender","showSelectionDialog","header","primary","primaryLabel","optionLabel","opt","label","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","ready","rosterAppend","hideOffline","mute","onlineHelp","toggle","slimScroll","distance","opacity","rosterState","startMinimized","bud","insert","rename","expandClick","scrollTo","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","toggleTransfer","clear","sendFile","getSelection","resizable","handles","minHeight","minWidth","event","ui","stop","inArray","ins","restoreChat","outer","outer_height_diff","outerHeight","fullsize","viewport","getSize","highlight","parents","_show","innerWidth","outerWidth","position","left","scrollDown","_hide","is","effect","scrollHeight","html_msg","MSGSTATE_FINISHED","_postMessage","restore","protocol","msgDiv","msgTsDiv","first","avatarDiv","prependTo","map","receivedMessage","updateProgress","sent","span","round","showOverlay","allowClose","hideOverlay","selectResource","smpRequest","question","p","abort","sm","verify","onSmpQuestion","fileCapableRes","webrtc","getCapableRes","reqFileFeatures","resources","change","file","target","files","FileReader","reader","onload","readAsDataURL","sess","ph","my_priv_fingerprint","my_jid","my_node","getNodeFromJid","app_name","bid_priv_fingerprint","fingerprint","bid_jid","bid_name","ret","AFFILIATION","ADMIN","MEMBER","OUTCAST","OWNER","NONE","ROLE","MODERATOR","PARTICIPANT","VISITOR","ROOMSTATE","INIT","ENTERED","EXITED","AWAIT_DESTRUCTION","DESTROYED","ROOMCONFIG","INSTANT","server","initMenu","onPresenceError","onGroupchatMessage","onErrorMessage","roomNames","discovered","mucFeature","MUC","mucIdentity","error_handler","room","roomIndex","splice","rooms","listRooms","rjid","rnode","rname","discoReceived","roomName","subject","bookmark","table","exists","tr","keydown","showRoomConfiguration","configure","x","Form","fromXML","f","_showRoomConfiguration","config","helper","formToHTML","cancel","formGroup","fromHTML","saveConfiguration","cancelConfigure","bookmarked","leave","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","role","onStatus",110,170,171,172,173,201,"createInstantRoom",301,"postReason",307,321,322,332,"actor","reason","memberdata","m","isNaN","onAddRoster","bo","showDialog","instructions","fields","fieldToHtml","field","k","txt","line","_ref2","toHTML","values","_results","desc","required","inner","_num","saved","description","nid","now","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","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","trace","jQuery","prefix","variable","Number","removeElement","re","newValue","oldValue","n","transferReq","localStream","remoteStream","last_caller","AUTO_ACCEPT","reqVideoFeatures","chatJids","jingle","manager","onMediaReady","onMediaFailure","proxy","onIncoming","onTerminated","onCallRinging","onReceivedFile","metadata","onRemoteStreamAdded","onRemoteStreamRemoved","peerConfig","getTurnCrendentials","setICEServers","onDisconnected","ajax","async","xhrFields","credential","dataType","features","available","updateIcon","capableRes","targetRes","startCall","setStatus","margin-left","display","animate","stream","showVideoWindow","audioTracks","getAudioTracks","videoTracks","getVideoTracks","hangUp","session","constructor","onIncomingFileTransfer","onIncomingCall","peerID","buddylist","accept","receiver","onIceConnectionStateChanged","ring","reqUserMedia","mediaready.jingle","addStream","mediafailure.jingle","decline","onCallTerminated","closeVideoWindow","isVideoDevice","isAudioDevice","attachMediaStream","end","um","finish.mediaready.jsxc","initiate","isEmptyObject","peers","terminate","MediaStreamTrack","getSources","sourceInfo","availableDevices","kind","filter","getUserMedia","constraints","video","snapshot","createFileTransferSession","connectionState","ext","File","muted","volume","rv","lv","draggable","containment","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"],"mappings":"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","file":"jsxc.min.js"} \ No newline at end of file
diff --git a/build/js/jsxc/lib/jquery.colorbox-min.js b/build/js/jsxc/lib/jquery.colorbox-min.js
deleted file mode 100644
index 48f1eba..0000000
--- a/build/js/jsxc/lib/jquery.colorbox-min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- Colorbox v1.4.33 - 2013-10-31
- jQuery lightbox and modal window plugin
- (c) 2013 Jack Moore - http://www.jacklmoore.com/colorbox
- license: http://www.opensource.org/licenses/mit-license.php
-*/
-(function(e,t,i){function o(i,o,n){var r=t.createElement(i);return o&&(r.id=Z+o),n&&(r.style.cssText=n),e(r)}function n(){return i.innerHeight?i.innerHeight:e(i).height()}function r(e){var t=k.length,i=(z+e)%t;return 0>i?t+i:i}function h(e,t){return Math.round((/%/.test(e)?("x"===t?E.width():n())/100:1)*parseInt(e,10))}function l(e,t){return e.photo||e.photoRegex.test(t)}function s(e,t){return e.retinaUrl&&i.devicePixelRatio>1?t.replace(e.photoRegex,e.retinaSuffix):t}function a(e){"contains"in g[0]&&!g[0].contains(e.target)&&(e.stopPropagation(),g.focus())}function d(){var t,i=e.data(N,Y);null==i?(B=e.extend({},X),console&&console.log&&console.log("Error: cboxElement missing settings object")):B=e.extend({},i);for(t in B)e.isFunction(B[t])&&"on"!==t.slice(0,2)&&(B[t]=B[t].call(N));B.rel=B.rel||N.rel||e(N).data("rel")||"nofollow",B.href=B.href||e(N).attr("href"),B.title=B.title||N.title,"string"==typeof B.href&&(B.href=e.trim(B.href))}function c(i,o){e(t).trigger(i),lt.triggerHandler(i),e.isFunction(o)&&o.call(N)}function u(i){q||(N=i,d(),k=e(N),z=0,"nofollow"!==B.rel&&(k=e("."+et).filter(function(){var t,i=e.data(this,Y);return i&&(t=e(this).data("rel")||i.rel||this.rel),t===B.rel}),z=k.index(N),-1===z&&(k=k.add(N),z=k.length-1)),w.css({opacity:parseFloat(B.opacity),cursor:B.overlayClose?"pointer":"auto",visibility:"visible"}).show(),J&&g.add(w).removeClass(J),B.className&&g.add(w).addClass(B.className),J=B.className,B.closeButton?K.html(B.close).appendTo(y):K.appendTo("<div/>"),U||(U=$=!0,g.css({visibility:"hidden",display:"block"}),H=o(st,"LoadedContent","width:0; height:0; overflow:hidden"),y.css({width:"",height:""}).append(H),O=x.height()+C.height()+y.outerHeight(!0)-y.height(),_=b.width()+T.width()+y.outerWidth(!0)-y.width(),D=H.outerHeight(!0),A=H.outerWidth(!0),B.w=h(B.initialWidth,"x"),B.h=h(B.initialHeight,"y"),H.css({width:"",height:B.h}),Q.position(),c(tt,B.onOpen),P.add(L).hide(),g.focus(),B.trapFocus&&t.addEventListener&&(t.addEventListener("focus",a,!0),lt.one(rt,function(){t.removeEventListener("focus",a,!0)})),B.returnFocus&&lt.one(rt,function(){e(N).focus()})),m())}function f(){!g&&t.body&&(V=!1,E=e(i),g=o(st).attr({id:Y,"class":e.support.opacity===!1?Z+"IE":"",role:"dialog",tabindex:"-1"}).hide(),w=o(st,"Overlay").hide(),F=e([o(st,"LoadingOverlay")[0],o(st,"LoadingGraphic")[0]]),v=o(st,"Wrapper"),y=o(st,"Content").append(L=o(st,"Title"),S=o(st,"Current"),I=e('<button type="button"/>').attr({id:Z+"Previous"}),R=e('<button type="button"/>').attr({id:Z+"Next"}),M=o("button","Slideshow"),F),K=e('<button type="button"/>').attr({id:Z+"Close"}),v.append(o(st).append(o(st,"TopLeft"),x=o(st,"TopCenter"),o(st,"TopRight")),o(st,!1,"clear:left").append(b=o(st,"MiddleLeft"),y,T=o(st,"MiddleRight")),o(st,!1,"clear:left").append(o(st,"BottomLeft"),C=o(st,"BottomCenter"),o(st,"BottomRight"))).find("div div").css({"float":"left"}),W=o(st,!1,"position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;"),P=R.add(I).add(S).add(M),e(t.body).append(w,g.append(v,W)))}function p(){function i(e){e.which>1||e.shiftKey||e.altKey||e.metaKey||e.ctrlKey||(e.preventDefault(),u(this))}return g?(V||(V=!0,R.click(function(){Q.next()}),I.click(function(){Q.prev()}),K.click(function(){Q.close()}),w.click(function(){B.overlayClose&&Q.close()}),e(t).bind("keydown."+Z,function(e){var t=e.keyCode;U&&B.escKey&&27===t&&(e.preventDefault(),Q.close()),U&&B.arrowKey&&k[1]&&!e.altKey&&(37===t?(e.preventDefault(),I.click()):39===t&&(e.preventDefault(),R.click()))}),e.isFunction(e.fn.on)?e(t).on("click."+Z,"."+et,i):e("."+et).live("click."+Z,i)),!0):!1}function m(){var n,r,a,u=Q.prep,f=++at;$=!0,j=!1,N=k[z],d(),c(ht),c(it,B.onLoad),B.h=B.height?h(B.height,"y")-D-O:B.innerHeight&&h(B.innerHeight,"y"),B.w=B.width?h(B.width,"x")-A-_:B.innerWidth&&h(B.innerWidth,"x"),B.mw=B.w,B.mh=B.h,B.maxWidth&&(B.mw=h(B.maxWidth,"x")-A-_,B.mw=B.w&&B.w<B.mw?B.w:B.mw),B.maxHeight&&(B.mh=h(B.maxHeight,"y")-D-O,B.mh=B.h&&B.h<B.mh?B.h:B.mh),n=B.href,G=setTimeout(function(){F.show()},100),B.inline?(a=o(st).hide().insertBefore(e(n)[0]),lt.one(ht,function(){a.replaceWith(H.children())}),u(e(n))):B.iframe?u(" "):B.html?u(B.html):l(B,n)?(n=s(B,n),j=t.createElement("img"),e(j).addClass(Z+"Photo").bind("error",function(){B.title=!1,u(o(st,"Error").html(B.imgError))}).one("load",function(){var t;f===at&&(e.each(["alt","longdesc","aria-describedby"],function(t,i){var o=e(N).attr(i)||e(N).attr("data-"+i);o&&j.setAttribute(i,o)}),B.retinaImage&&i.devicePixelRatio>1&&(j.height=j.height/i.devicePixelRatio,j.width=j.width/i.devicePixelRatio),B.scalePhotos&&(r=function(){j.height-=j.height*t,j.width-=j.width*t},B.mw&&j.width>B.mw&&(t=(j.width-B.mw)/j.width,r()),B.mh&&j.height>B.mh&&(t=(j.height-B.mh)/j.height,r())),B.h&&(j.style.marginTop=Math.max(B.mh-j.height,0)/2+"px"),k[1]&&(B.loop||k[z+1])&&(j.style.cursor="pointer",j.onclick=function(){Q.next()}),j.style.width=j.width+"px",j.style.height=j.height+"px",setTimeout(function(){u(j)},1))}),setTimeout(function(){j.src=n},1)):n&&W.load(n,B.data,function(t,i){f===at&&u("error"===i?o(st,"Error").html(B.xhrError):e(this).contents())})}var w,g,v,y,x,b,T,C,k,E,H,W,F,L,S,M,R,I,K,P,B,O,_,D,A,N,z,j,U,$,q,G,Q,J,V,X={html:!1,photo:!1,iframe:!1,inline:!1,transition:"elastic",speed:300,fadeOut:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,href:!1,title:!1,rel:!1,opacity:.9,preloading:!0,className:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0,closeButton:!0,fastIframe:!0,open:!1,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp)((#|\?).*)?$/i,retinaImage:!1,retinaUrl:!1,retinaSuffix:"@2x.$1",current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",returnFocus:!0,trapFocus:!0,onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1},Y="colorbox",Z="cbox",et=Z+"Element",tt=Z+"_open",it=Z+"_load",ot=Z+"_complete",nt=Z+"_cleanup",rt=Z+"_closed",ht=Z+"_purge",lt=e("<a/>"),st="div",at=0,dt={},ct=function(){function e(){clearTimeout(h)}function t(){(B.loop||k[z+1])&&(e(),h=setTimeout(Q.next,B.slideshowSpeed))}function i(){M.html(B.slideshowStop).unbind(s).one(s,o),lt.bind(ot,t).bind(it,e),g.removeClass(l+"off").addClass(l+"on")}function o(){e(),lt.unbind(ot,t).unbind(it,e),M.html(B.slideshowStart).unbind(s).one(s,function(){Q.next(),i()}),g.removeClass(l+"on").addClass(l+"off")}function n(){r=!1,M.hide(),e(),lt.unbind(ot,t).unbind(it,e),g.removeClass(l+"off "+l+"on")}var r,h,l=Z+"Slideshow_",s="click."+Z;return function(){r?B.slideshow||(lt.unbind(nt,n),n()):B.slideshow&&k[1]&&(r=!0,lt.one(nt,n),B.slideshowAuto?i():o(),M.show())}}();e.colorbox||(e(f),Q=e.fn[Y]=e[Y]=function(t,i){var o=this;if(t=t||{},f(),p()){if(e.isFunction(o))o=e("<a/>"),t.open=!0;else if(!o[0])return o;i&&(t.onComplete=i),o.each(function(){e.data(this,Y,e.extend({},e.data(this,Y)||X,t))}).addClass(et),(e.isFunction(t.open)&&t.open.call(o)||t.open)&&u(o[0])}return o},Q.position=function(t,i){function o(){x[0].style.width=C[0].style.width=y[0].style.width=parseInt(g[0].style.width,10)-_+"px",y[0].style.height=b[0].style.height=T[0].style.height=parseInt(g[0].style.height,10)-O+"px"}var r,l,s,a=0,d=0,c=g.offset();if(E.unbind("resize."+Z),g.css({top:-9e4,left:-9e4}),l=E.scrollTop(),s=E.scrollLeft(),B.fixed?(c.top-=l,c.left-=s,g.css({position:"fixed"})):(a=l,d=s,g.css({position:"absolute"})),d+=B.right!==!1?Math.max(E.width()-B.w-A-_-h(B.right,"x"),0):B.left!==!1?h(B.left,"x"):Math.round(Math.max(E.width()-B.w-A-_,0)/2),a+=B.bottom!==!1?Math.max(n()-B.h-D-O-h(B.bottom,"y"),0):B.top!==!1?h(B.top,"y"):Math.round(Math.max(n()-B.h-D-O,0)/2),g.css({top:c.top,left:c.left,visibility:"visible"}),v[0].style.width=v[0].style.height="9999px",r={width:B.w+A+_,height:B.h+D+O,top:a,left:d},t){var u=0;e.each(r,function(e){return r[e]!==dt[e]?(u=t,void 0):void 0}),t=u}dt=r,t||g.css(r),g.dequeue().animate(r,{duration:t||0,complete:function(){o(),$=!1,v[0].style.width=B.w+A+_+"px",v[0].style.height=B.h+D+O+"px",B.reposition&&setTimeout(function(){E.bind("resize."+Z,Q.position)},1),i&&i()},step:o})},Q.resize=function(e){var t;U&&(e=e||{},e.width&&(B.w=h(e.width,"x")-A-_),e.innerWidth&&(B.w=h(e.innerWidth,"x")),H.css({width:B.w}),e.height&&(B.h=h(e.height,"y")-D-O),e.innerHeight&&(B.h=h(e.innerHeight,"y")),e.innerHeight||e.height||(t=H.scrollTop(),H.css({height:"auto"}),B.h=H.height()),H.css({height:B.h}),t&&H.scrollTop(t),Q.position("none"===B.transition?0:B.speed))},Q.prep=function(i){function n(){return B.w=B.w||H.width(),B.w=B.mw&&B.mw<B.w?B.mw:B.w,B.w}function h(){return B.h=B.h||H.height(),B.h=B.mh&&B.mh<B.h?B.mh:B.h,B.h}if(U){var a,d="none"===B.transition?0:B.speed;H.empty().remove(),H=o(st,"LoadedContent").append(i),H.hide().appendTo(W.show()).css({width:n(),overflow:B.scrolling?"auto":"hidden"}).css({height:h()}).prependTo(y),W.hide(),e(j).css({"float":"none"}),a=function(){function i(){e.support.opacity===!1&&g[0].style.removeAttribute("filter")}var n,h,a=k.length,u="frameBorder",f="allowTransparency";U&&(h=function(){clearTimeout(G),F.hide(),c(ot,B.onComplete)},L.html(B.title).add(H).show(),a>1?("string"==typeof B.current&&S.html(B.current.replace("{current}",z+1).replace("{total}",a)).show(),R[B.loop||a-1>z?"show":"hide"]().html(B.next),I[B.loop||z?"show":"hide"]().html(B.previous),ct(),B.preloading&&e.each([r(-1),r(1)],function(){var i,o,n=k[this],r=e.data(n,Y);r&&r.href?(i=r.href,e.isFunction(i)&&(i=i.call(n))):i=e(n).attr("href"),i&&l(r,i)&&(i=s(r,i),o=t.createElement("img"),o.src=i)})):P.hide(),B.iframe?(n=o("iframe")[0],u in n&&(n[u]=0),f in n&&(n[f]="true"),B.scrolling||(n.scrolling="no"),e(n).attr({src:B.href,name:(new Date).getTime(),"class":Z+"Iframe",allowFullScreen:!0,webkitAllowFullScreen:!0,mozallowfullscreen:!0}).one("load",h).appendTo(H),lt.one(ht,function(){n.src="//about:blank"}),B.fastIframe&&e(n).trigger("load")):h(),"fade"===B.transition?g.fadeTo(d,1,i):i())},"fade"===B.transition?g.fadeTo(d,0,function(){Q.position(0,a)}):Q.position(d,a)}},Q.next=function(){!$&&k[1]&&(B.loop||k[z+1])&&(z=r(1),u(k[z]))},Q.prev=function(){!$&&k[1]&&(B.loop||z)&&(z=r(-1),u(k[z]))},Q.close=function(){U&&!q&&(q=!0,U=!1,c(nt,B.onCleanup),E.unbind("."+Z),w.fadeTo(B.fadeOut||0,0),g.stop().fadeTo(B.fadeOut||0,0,function(){g.add(w).css({opacity:1,cursor:"auto"}).hide(),c(ht),H.empty().remove(),setTimeout(function(){q=!1,c(rt,B.onClosed)},1)}))},Q.remove=function(){g&&(g.stop(),e.colorbox.close(),g.stop().remove(),w.remove(),q=!1,g=null,e("."+et).removeData(Y).removeClass(et),e(t).unbind("click."+Z))},Q.element=function(){return e(N)},Q.settings=X)})(jQuery,document,window); \ No newline at end of file
diff --git a/build/js/jsxc/lib/jsxc.dep.js b/build/js/jsxc/lib/jsxc.dep.js
index dae001d..c43d964 100644
--- a/build/js/jsxc/lib/jsxc.dep.js
+++ b/build/js/jsxc/lib/jsxc.dep.js
@@ -1,5 +1,5 @@
/*!
- * jsxc v3.0.0-beta1 - 2016-01-28
+ * jsxc v3.0.0-beta2 - 2016-02-11
*
* This file concatenates all dependencies of jsxc.
*
@@ -39604,7 +39604,7 @@ CryptoJS.mode.CTR = (function () {
/*!
* Source: lib/translation.js, license: MIT, url: https://webtranslateit.com/en/projects/10365-JSXC
*/
-var I18next = {"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."}},"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}},"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 audio/video 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."}},"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":"Sólo 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":"Fallo 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, elegir una pregunta cuya respuesta se conoce sólo usted y su amigo.","Ask":"Preguntar","To_authenticate_pick_a_secret_":"Para autenticar, elija un secreto conocido sólo 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":"mas ausente","offline":"desconectado","none":"nadie","Unknown_instance_tag":"Etiqueta de instancia desconocida.","Not_one_of_our_latest_keys":"No de nuestra ultima tecla.","Received_an_unreadable_encrypted_message":"Se recibió un mensaje cifrado ilegible.","Online":"En linea","Chatty":"Hablador","Away":"Ausente","Extended_away":"Mas 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":"Apodar","URL":"URL","ADR":"Dirección","STREET":"Calle","EXTADD":"Extendido dirección","LOCALITY":"Población","REGION":"Región","PCODE":"Código postal","CTRY":"País","TEL":"Teléfono","NUMBER":"Número","EMAIL":"Emilio","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":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":"Activar","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_":"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 vacia <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":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}},"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}},"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 archivé","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 à refusé de donner les 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."}},"hu-HU":{"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}},"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}},"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}},"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":"Masz 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":"Zwrotna niezaszyfrowana 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!","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ą np. za pomocą telefonu.","Your_fingerprint":"Twój kod:","Buddy_fingerprint":"Kod rozmówcy","Close":"Zamknij","Compared":"Porównano","To_authenticate_using_a_question_":"Aby autoryzować za pomocą pytania, wybierz pytanie na które tylko 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 zna tylko Twój rozmówca.","Compare":"Dopasuj","Fingerprints":"Kody autoryzacyjne","Authentication":"Autoryzacja","Message":"Wiadomość","Add_buddy":"Dodaj kontakt","rename_buddy":"Zmień nazwę","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ń rozmówcę","You_are_about_to_remove_":"Twój rozmówca {{bid_name}} (<b>{{bid_jid}}</b>) usunął Cię ze swojej listy kontaktów.","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":"Zapytanie od znajomego?","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":"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":null,"Call_terminated":null,"Carbon_copy":"Do wiadomości","Enable":"Włączone","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":"Ok","PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"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":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}},"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":"Seu fingerprint","Buddy_fingerprint":"Fingerprint 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":"Fingerprints","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":" ","ORG":"Empresa","ORGNAME":"Nome","ORGUNIT":"Unidade","TITLE":"Cargo","ROLE":"Rol","BDAY":"Data de nascimento","DESC":"Descrição","PHOTO":" ","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":null,"Join":null,"Room":null,"Nickname":"Apelido","left_the_building":null,"entered_the_room":null,"is_now_known_as":"__oldNickname__ agora é conhecido como __newNickname__","This_room_is":null,"muc_hidden":{"keyword":null,"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":null,"description":"Somente pessoas com \"voice\" podem enviar mensagens"},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":"Todos podem entrar"},"muc_passwordprotected":{"keyword":null,"description":"você precisa fornecer a senha correta"},"muc_persistent":{"keyword":null,"description":"Não será destruída se o último ocupante tiver saído"},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":"Sua identificação jabber só é exposta para administradores da sala"},"muc_temporary":{"keyword":null,"description":"Será destruída se o último ocupante tiver saído"},"muc_unmoderated":{"keyword":null,"description":"Todos tem permissão de enviar mensagens"},"muc_unsecured":{"keyword":null,"description":"Você não precisa de senha para entrar"},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":"Você já entrou nesta sala","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":"__nickname__ foi banido da sala","muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"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":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":"Você ou seu navegador negou permissão para acessar audio/video","Use_local_audio_device":null,"Use_local_video_device":null,"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":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":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}},"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 серверу."}}};
+var I18next = {"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."}},"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}},"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 audio/video 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."}},"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":"Sólo 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":"Fallo 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, elegir una pregunta cuya respuesta se conoce sólo usted y su amigo.","Ask":"Preguntar","To_authenticate_pick_a_secret_":"Para autenticar, elija un secreto conocido sólo 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":"mas ausente","offline":"desconectado","none":"nadie","Unknown_instance_tag":"Etiqueta de instancia desconocida.","Not_one_of_our_latest_keys":"No de nuestra ultima tecla.","Received_an_unreadable_encrypted_message":"Se recibió un mensaje cifrado ilegible.","Online":"En linea","Chatty":"Hablador","Away":"Ausente","Extended_away":"Mas 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":"Apodar","URL":"URL","ADR":"Dirección","STREET":"Calle","EXTADD":"Extendido dirección","LOCALITY":"Población","REGION":"Región","PCODE":"Código postal","CTRY":"País","TEL":"Teléfono","NUMBER":"Número","EMAIL":"Emilio","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":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":"Activar","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_":"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 vacia <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":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}},"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}},"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 à refusé de donner les 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."}},"hu-HU":{"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}},"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}},"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}},"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":"Masz 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":"Zwrotna niezaszyfrowana 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!","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ą np. za pomocą telefonu.","Your_fingerprint":"Twój kod:","Buddy_fingerprint":"Kod rozmówcy","Close":"Zamknij","Compared":"Porównano","To_authenticate_using_a_question_":"Aby autoryzować za pomocą pytania, wybierz pytanie na które tylko 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 zna tylko Twój rozmówca.","Compare":"Dopasuj","Fingerprints":"Kody autoryzacyjne","Authentication":"Autoryzacja","Message":"Wiadomość","Add_buddy":"Dodaj kontakt","rename_buddy":"Zmień nazwę","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ń rozmówcę","You_are_about_to_remove_":"Twój rozmówca {{bid_name}} (<b>{{bid_jid}}</b>) usunął Cię ze swojej listy kontaktów.","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":"Zapytanie od znajomego?","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":"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":null,"Call_terminated":null,"Carbon_copy":"Do wiadomości","Enable":"Włączone","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":"Ok","PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"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":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}},"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":"Seu fingerprint","Buddy_fingerprint":"Fingerprint 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":"Fingerprints","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":" ","ORG":"Empresa","ORGNAME":"Nome","ORGUNIT":"Unidade","TITLE":"Cargo","ROLE":"Rol","BDAY":"Data de nascimento","DESC":"Descrição","PHOTO":" ","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":null,"Join":null,"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":null,"description":null},"muc_open":{"keyword":"abrir","description":"Todos podem entrar"},"muc_passwordprotected":{"keyword":null,"description":"você precisa fornecer a senha correta"},"muc_persistent":{"keyword":null,"description":"Não será destruída se o último ocupante tiver saído"},"muc_public":{"keyword":"público","description":null},"muc_semianonymous":{"keyword":null,"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":null,"description":"Você não precisa de senha para entrar"},"Continue":"Avançar","Server":null,"Rooms_are_loaded":"Sala carregada","Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":"Você já entrou nesta sala","This_room_will_be_closed":"Esta sala será fechada","Room_not_found_":null,"Loading_room_information":"Carregar informação da sala","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":"__nickname__ foi banido da sala","muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"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":null,"muc_removed_shutdown":null,"Reason":"Motivo","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":"Alerta","Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":"ocupado","jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":"Ok","PermissionDeniedError":"Você ou seu navegador negou permissão para acessar audio/video","Use_local_audio_device":null,"Use_local_video_device":null,"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":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":"Essas opções são usadas para conectar no Servidor XMPP"}},"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}},"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 серверу."}}};
/*!
* Source: lib/favico.js/favico.js, license: MIT, url: https://github.com/ejci/favico.js
diff --git a/build/js/jsxc/lib/jsxc.dep.min.js b/build/js/jsxc/lib/jsxc.dep.min.js
index 0bfdf75..1cd1954 100644
--- a/build/js/jsxc/lib/jsxc.dep.min.js
+++ b/build/js/jsxc/lib/jsxc.dep.min.js
@@ -1,5 +1,5 @@
/*!
- * jsxc v3.0.0-beta1 - 2016-01-28
+ * jsxc v3.0.0-beta2 - 2016-02-11
*
* This file concatenates all dependencies of jsxc.
*
@@ -11,109 +11,31 @@
this._sasl_mechanism.onStart(this);var request_auth_exchange=$build("auth",{xmlns:Strophe.NS.SASL,mechanism:this._sasl_mechanism.name});if(this._sasl_mechanism.isClientFirst){var response=this._sasl_mechanism.onChallenge(this,null);request_auth_exchange.t(Base64.encode(response))}this.send(request_auth_exchange.tree()),mechanism_found=!0;break}mechanism_found||(null===Strophe.getNodeFromJid(this.jid)?(this._changeConnectStatus(Strophe.Status.CONNFAIL,"x-strophe-bad-non-anon-jid"),this.disconnect("x-strophe-bad-non-anon-jid")):(this._changeConnectStatus(Strophe.Status.AUTHENTICATING,null),this._addSysHandler(this._auth1_cb.bind(this),null,null,null,"_auth_1"),this.send($iq({type:"get",to:this.domain,id:"_auth_1"}).c("query",{xmlns:Strophe.NS.AUTH}).c("username",{}).t(Strophe.getNodeFromJid(this.jid)).tree())))},_sasl_challenge_cb:function(elem){var challenge=Base64.decode(Strophe.getText(elem)),response=this._sasl_mechanism.onChallenge(this,challenge),stanza=$build("response",{xmlns:Strophe.NS.SASL});return""!==response&&stanza.t(Base64.encode(response)),this.send(stanza.tree()),!0},_auth1_cb:function(elem){var iq=$iq({type:"set",id:"_auth_2"}).c("query",{xmlns:Strophe.NS.AUTH}).c("username",{}).t(Strophe.getNodeFromJid(this.jid)).up().c("password").t(this.pass);return Strophe.getResourceFromJid(this.jid)||(this.jid=Strophe.getBareJidFromJid(this.jid)+"/strophe"),iq.up().c("resource",{}).t(Strophe.getResourceFromJid(this.jid)),this._addSysHandler(this._auth2_cb.bind(this),null,null,null,"_auth_2"),this.send(iq.tree()),!1},_sasl_success_cb:function(elem){if(this._sasl_data["server-signature"]){var serverSignature,success=Base64.decode(Strophe.getText(elem)),attribMatch=/([a-z]+)=([^,]+)(,|$)/,matches=success.match(attribMatch);if("v"==matches[1]&&(serverSignature=matches[2]),serverSignature!=this._sasl_data["server-signature"])return this.deleteHandler(this._sasl_failure_handler),this._sasl_failure_handler=null,this._sasl_challenge_handler&&(this.deleteHandler(this._sasl_challenge_handler),this._sasl_challenge_handler=null),this._sasl_data={},this._sasl_failure_cb(null)}Strophe.info("SASL authentication succeeded."),this._sasl_mechanism&&this._sasl_mechanism.onSuccess(),this.deleteHandler(this._sasl_failure_handler),this._sasl_failure_handler=null,this._sasl_challenge_handler&&(this.deleteHandler(this._sasl_challenge_handler),this._sasl_challenge_handler=null);var streamfeature_handlers=[],wrapper=function(handlers,elem){for(;handlers.length;)this.deleteHandler(handlers.pop());return this._sasl_auth1_cb.bind(this)(elem),!1};return streamfeature_handlers.push(this._addSysHandler(function(elem){wrapper.bind(this)(streamfeature_handlers,elem)}.bind(this),null,"stream:features",null,null)),streamfeature_handlers.push(this._addSysHandler(function(elem){wrapper.bind(this)(streamfeature_handlers,elem)}.bind(this),Strophe.NS.STREAM,"features",null,null)),this._sendRestart(),!1},_sasl_auth1_cb:function(elem){this.features=elem;var i,child;for(i=0;i<elem.childNodes.length;i++)child=elem.childNodes[i],"bind"==child.nodeName&&(this.do_bind=!0),"session"==child.nodeName&&(this.do_session=!0);if(!this.do_bind)return this._changeConnectStatus(Strophe.Status.AUTHFAIL,null),!1;this._addSysHandler(this._sasl_bind_cb.bind(this),null,null,null,"_bind_auth_2");var resource=Strophe.getResourceFromJid(this.jid);return resource?this.send($iq({type:"set",id:"_bind_auth_2"}).c("bind",{xmlns:Strophe.NS.BIND}).c("resource",{}).t(resource).tree()):this.send($iq({type:"set",id:"_bind_auth_2"}).c("bind",{xmlns:Strophe.NS.BIND}).tree()),!1},_sasl_bind_cb:function(elem){if("error"==elem.getAttribute("type")){Strophe.info("SASL binding failed.");var condition,conflict=elem.getElementsByTagName("conflict");return conflict.length>0&&(condition="conflict"),this._changeConnectStatus(Strophe.Status.AUTHFAIL,condition),!1}var jidNode,bind=elem.getElementsByTagName("bind");return bind.length>0?(jidNode=bind[0].getElementsByTagName("jid"),void(jidNode.length>0&&(this.jid=Strophe.getText(jidNode[0]),this.do_session?(this._addSysHandler(this._sasl_session_cb.bind(this),null,null,null,"_session_auth_2"),this.send($iq({type:"set",id:"_session_auth_2"}).c("session",{xmlns:Strophe.NS.SESSION}).tree())):(this.authenticated=!0,this._changeConnectStatus(Strophe.Status.CONNECTED,null))))):(Strophe.info("SASL binding failed."),this._changeConnectStatus(Strophe.Status.AUTHFAIL,null),!1)},_sasl_session_cb:function(elem){if("result"==elem.getAttribute("type"))this.authenticated=!0,this._changeConnectStatus(Strophe.Status.CONNECTED,null);else if("error"==elem.getAttribute("type"))return Strophe.info("Session creation failed."),this._changeConnectStatus(Strophe.Status.AUTHFAIL,null),!1;return!1},_sasl_failure_cb:function(elem){return this._sasl_success_handler&&(this.deleteHandler(this._sasl_success_handler),this._sasl_success_handler=null),this._sasl_challenge_handler&&(this.deleteHandler(this._sasl_challenge_handler),this._sasl_challenge_handler=null),this._sasl_mechanism&&this._sasl_mechanism.onFailure(),this._changeConnectStatus(Strophe.Status.AUTHFAIL,null),!1},_auth2_cb:function(elem){return"result"==elem.getAttribute("type")?(this.authenticated=!0,this._changeConnectStatus(Strophe.Status.CONNECTED,null)):"error"==elem.getAttribute("type")&&(this._changeConnectStatus(Strophe.Status.AUTHFAIL,null),this.disconnect("authentication failed")),!1},_addSysTimedHandler:function(period,handler){var thand=new Strophe.TimedHandler(period,handler);return thand.user=!1,this.addTimeds.push(thand),thand},_addSysHandler:function(handler,ns,name,type,id){var hand=new Strophe.Handler(handler,ns,name,type,id);return hand.user=!1,this.addHandlers.push(hand),hand},_onDisconnectTimeout:function(){return Strophe.info("_onDisconnectTimeout was called"),this._proto._onDisconnectTimeout(),this._doDisconnect(),!1},_onIdle:function(){for(var i,thand,since,newList;this.addTimeds.length>0;)this.timedHandlers.push(this.addTimeds.pop());for(;this.removeTimeds.length>0;)thand=this.removeTimeds.pop(),i=this.timedHandlers.indexOf(thand),i>=0&&this.timedHandlers.splice(i,1);var now=(new Date).getTime();for(newList=[],i=0;i<this.timedHandlers.length;i++)thand=this.timedHandlers[i],(this.authenticated||!thand.user)&&(since=thand.lastCalled+thand.period,0>=since-now?thand.run()&&newList.push(thand):newList.push(thand));this.timedHandlers=newList,clearTimeout(this._idleTimeout),this._proto._onIdle(),this.connected&&(this._idleTimeout=setTimeout(this._onIdle.bind(this),100))}},Strophe.SASLMechanism=function(name,isClientFirst,priority){this.name=name,this.isClientFirst=isClientFirst,this.priority=priority},Strophe.SASLMechanism.prototype={test:function(connection){return!0},onStart:function(connection){this._connection=connection},onChallenge:function(connection,challenge){throw new Error("You should implement challenge handling!")},onFailure:function(){this._connection=null},onSuccess:function(){this._connection=null}},Strophe.SASLAnonymous=function(){},Strophe.SASLAnonymous.prototype=new Strophe.SASLMechanism("ANONYMOUS",!1,10),Strophe.SASLAnonymous.test=function(connection){return null===connection.authcid},Strophe.Connection.prototype.mechanisms[Strophe.SASLAnonymous.prototype.name]=Strophe.SASLAnonymous,Strophe.SASLPlain=function(){},Strophe.SASLPlain.prototype=new Strophe.SASLMechanism("PLAIN",!0,20),Strophe.SASLPlain.test=function(connection){return null!==connection.authcid},Strophe.SASLPlain.prototype.onChallenge=function(connection){var auth_str=connection.authzid;return auth_str+="\x00",auth_str+=connection.authcid,auth_str+="\x00",auth_str+=connection.pass},Strophe.Connection.prototype.mechanisms[Strophe.SASLPlain.prototype.name]=Strophe.SASLPlain,Strophe.SASLSHA1=function(){},Strophe.SASLSHA1.prototype=new Strophe.SASLMechanism("SCRAM-SHA-1",!0,40),Strophe.SASLSHA1.test=function(connection){return null!==connection.authcid},Strophe.SASLSHA1.prototype.onChallenge=function(connection,challenge,test_cnonce){var cnonce=test_cnonce||MD5.hexdigest(1234567890*Math.random()),auth_str="n="+connection.authcid;return auth_str+=",r=",auth_str+=cnonce,connection._sasl_data.cnonce=cnonce,connection._sasl_data["client-first-message-bare"]=auth_str,auth_str="n,,"+auth_str,this.onChallenge=function(connection,challenge){for(var nonce,salt,iter,Hi,U,U_old,i,k,clientKey,serverKey,clientSignature,responseText="c=biws,",authMessage=connection._sasl_data["client-first-message-bare"]+","+challenge+",",cnonce=connection._sasl_data.cnonce,attribMatch=/([a-z]+)=([^,]+)(,|$)/;challenge.match(attribMatch);){var matches=challenge.match(attribMatch);switch(challenge=challenge.replace(matches[0],""),matches[1]){case"r":nonce=matches[2];break;case"s":salt=matches[2];break;case"i":iter=matches[2]}}if(nonce.substr(0,cnonce.length)!==cnonce)return connection._sasl_data={},connection._sasl_failure_cb();for(responseText+="r="+nonce,authMessage+=responseText,salt=Base64.decode(salt),salt+="\x00\x00\x00",Hi=U_old=SHA1.core_hmac_sha1(connection.pass,salt),i=1;iter>i;i++){for(U=SHA1.core_hmac_sha1(connection.pass,SHA1.binb2str(U_old)),k=0;5>k;k++)Hi[k]^=U[k];U_old=U}for(Hi=SHA1.binb2str(Hi),clientKey=SHA1.core_hmac_sha1(Hi,"Client Key"),serverKey=SHA1.str_hmac_sha1(Hi,"Server Key"),clientSignature=SHA1.core_hmac_sha1(SHA1.str_sha1(SHA1.binb2str(clientKey)),authMessage),connection._sasl_data["server-signature"]=SHA1.b64_hmac_sha1(serverKey,authMessage),k=0;5>k;k++)clientKey[k]^=clientSignature[k];return responseText+=",p="+Base64.encode(SHA1.binb2str(clientKey))}.bind(this),auth_str},Strophe.Connection.prototype.mechanisms[Strophe.SASLSHA1.prototype.name]=Strophe.SASLSHA1,Strophe.SASLMD5=function(){},Strophe.SASLMD5.prototype=new Strophe.SASLMechanism("DIGEST-MD5",!1,30),Strophe.SASLMD5.test=function(connection){return null!==connection.authcid},Strophe.SASLMD5.prototype._quote=function(str){return'"'+str.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'},Strophe.SASLMD5.prototype.onChallenge=function(connection,challenge,test_cnonce){for(var matches,attribMatch=/([a-z]+)=("[^"]+"|[^,"]+)(?:,|$)/,cnonce=test_cnonce||MD5.hexdigest(""+1234567890*Math.random()),realm="",host=null,nonce="",qop="";challenge.match(attribMatch);)switch(matches=challenge.match(attribMatch),challenge=challenge.replace(matches[0],""),matches[2]=matches[2].replace(/^"(.+)"$/,"$1"),matches[1]){case"realm":realm=matches[2];break;case"nonce":nonce=matches[2];break;case"qop":qop=matches[2];break;case"host":host=matches[2]}var digest_uri=connection.servtype+"/"+connection.domain;null!==host&&(digest_uri=digest_uri+"/"+host);var A1=MD5.hash(connection.authcid+":"+realm+":"+this._connection.pass)+":"+nonce+":"+cnonce,A2="AUTHENTICATE:"+digest_uri,responseText="";return responseText+="charset=utf-8,",responseText+="username="+this._quote(connection.authcid)+",",responseText+="realm="+this._quote(realm)+",",responseText+="nonce="+this._quote(nonce)+",",responseText+="nc=00000001,",responseText+="cnonce="+this._quote(cnonce)+",",responseText+="digest-uri="+this._quote(digest_uri)+",",responseText+="response="+MD5.hexdigest(MD5.hexdigest(A1)+":"+nonce+":00000001:"+cnonce+":auth:"+MD5.hexdigest(A2))+",",responseText+="qop=auth",this.onChallenge=function(){return""}.bind(this),responseText},Strophe.Connection.prototype.mechanisms[Strophe.SASLMD5.prototype.name]=Strophe.SASLMD5,{Strophe:Strophe,$build:$build,$msg:$msg,$iq:$iq,$pres:$pres,SHA1:SHA1,Base64:Base64,MD5:MD5}}),function(root,factory){return"function"==typeof define&&define.amd?void define("strophe-bosh",["strophe-core"],function(core){return factory(core.Strophe,core.$build)}):factory(Strophe,$build)}(this,function(Strophe,$build){return Strophe.Request=function(elem,func,rid,sends){this.id=++Strophe._requestId,this.xmlData=elem,this.data=Strophe.serialize(elem),this.origFunc=func,this.func=func,this.rid=rid,this.date=NaN,this.sends=sends||0,this.abort=!1,this.dead=null,this.age=function(){if(!this.date)return 0;var now=new Date;return(now-this.date)/1e3},this.timeDead=function(){if(!this.dead)return 0;var now=new Date;return(now-this.dead)/1e3},this.xhr=this._newXHR()},Strophe.Request.prototype={getResponse:function(){var node=null;if(this.xhr.responseXML&&this.xhr.responseXML.documentElement){if(node=this.xhr.responseXML.documentElement,"parsererror"==node.tagName)throw Strophe.error("invalid response received"),Strophe.error("responseText: "+this.xhr.responseText),Strophe.error("responseXML: "+Strophe.serialize(this.xhr.responseXML)),"parsererror"}else this.xhr.responseText&&(Strophe.error("invalid response received"),Strophe.error("responseText: "+this.xhr.responseText),Strophe.error("responseXML: "+Strophe.serialize(this.xhr.responseXML)));return node},_newXHR:function(){var xhr=null;return window.XMLHttpRequest?(xhr=new XMLHttpRequest,xhr.overrideMimeType&&xhr.overrideMimeType("text/xml; charset=utf-8")):window.ActiveXObject&&(xhr=new ActiveXObject("Microsoft.XMLHTTP")),xhr.onreadystatechange=this.func.bind(null,this),xhr}},Strophe.Bosh=function(connection){this._conn=connection,this.rid=Math.floor(4294967295*Math.random()),this.sid=null,this.hold=1,this.wait=60,this.window=5,this.errors=0,this._requests=[]},Strophe.Bosh.prototype={strip:null,_buildBody:function(){var bodyWrap=$build("body",{rid:this.rid++,xmlns:Strophe.NS.HTTPBIND});return null!==this.sid&&bodyWrap.attrs({sid:this.sid}),this._conn.options.keepalive&&this._cacheSession(),bodyWrap},_reset:function(){this.rid=Math.floor(4294967295*Math.random()),this.sid=null,this.errors=0,window.sessionStorage.removeItem("strophe-bosh-session"),this._conn.nextValidRid(this.rid)},_connect:function(wait,hold,route){this.wait=wait||this.wait,this.hold=hold||this.hold,this.errors=0;var body=this._buildBody().attrs({to:this._conn.domain,"xml:lang":"en",wait:this.wait,hold:this.hold,content:"text/xml; charset=utf-8",ver:"1.6","xmpp:version":"1.0","xmlns:xmpp":Strophe.NS.BOSH});route&&body.attrs({route:route});var _connect_cb=this._conn._connect_cb;this._requests.push(new Strophe.Request(body.tree(),this._onRequestStateChange.bind(this,_connect_cb.bind(this._conn)),body.tree().getAttribute("rid"))),this._throttledRequestHandler()},_attach:function(jid,sid,rid,callback,wait,hold,wind){this._conn.jid=jid,this.sid=sid,this.rid=rid,this._conn.connect_callback=callback,this._conn.domain=Strophe.getDomainFromJid(this._conn.jid),this._conn.authenticated=!0,this._conn.connected=!0,this.wait=wait||this.wait,this.hold=hold||this.hold,this.window=wind||this.window,this._conn._changeConnectStatus(Strophe.Status.ATTACHED,null)},_restore:function(jid,callback,wait,hold,wind){var session=JSON.parse(window.sessionStorage.getItem("strophe-bosh-session"));if(!("undefined"!=typeof session&&null!==session&&session.rid&&session.sid&&session.jid)||"undefined"!=typeof jid&&"null"!==jid&&Strophe.getBareJidFromJid(session.jid)!=Strophe.getBareJidFromJid(jid))throw{name:"StropheSessionError",message:"_restore: no restoreable session."};this._conn.restored=!0,this._attach(session.jid,session.sid,session.rid,callback,wait,hold,wind)},_cacheSession:function(){this._conn.authenticated?this._conn.jid&&this.rid&&this.sid&&window.sessionStorage.setItem("strophe-bosh-session",JSON.stringify({jid:this._conn.jid,rid:this.rid,sid:this.sid})):window.sessionStorage.removeItem("strophe-bosh-session")},_connect_cb:function(bodyWrap){var cond,conflict,typ=bodyWrap.getAttribute("type");if(null!==typ&&"terminate"==typ)return cond=bodyWrap.getAttribute("condition"),Strophe.error("BOSH-Connection failed: "+cond),conflict=bodyWrap.getElementsByTagName("conflict"),null!==cond?("remote-stream-error"==cond&&conflict.length>0&&(cond="conflict"),this._conn._changeConnectStatus(Strophe.Status.CONNFAIL,cond)):this._conn._changeConnectStatus(Strophe.Status.CONNFAIL,"unknown"),this._conn._doDisconnect(cond),Strophe.Status.CONNFAIL;this.sid||(this.sid=bodyWrap.getAttribute("sid"));var wind=bodyWrap.getAttribute("requests");wind&&(this.window=parseInt(wind,10));var hold=bodyWrap.getAttribute("hold");hold&&(this.hold=parseInt(hold,10));var wait=bodyWrap.getAttribute("wait");wait&&(this.wait=parseInt(wait,10))},_disconnect:function(pres){this._sendTerminate(pres)},_doDisconnect:function(){this.sid=null,this.rid=Math.floor(4294967295*Math.random()),window.sessionStorage.removeItem("strophe-bosh-session"),this._conn.nextValidRid(this.rid)},_emptyQueue:function(){return 0===this._requests.length},_hitError:function(reqStatus){this.errors++,Strophe.warn("request errored, status: "+reqStatus+", number of errors: "+this.errors),this.errors>4&&this._conn._onDisconnectTimeout()},_no_auth_received:function(_callback){_callback=_callback?_callback.bind(this._conn):this._conn._connect_cb.bind(this._conn);var body=this._buildBody();this._requests.push(new Strophe.Request(body.tree(),this._onRequestStateChange.bind(this,_callback.bind(this._conn)),body.tree().getAttribute("rid"))),this._throttledRequestHandler()},_onDisconnectTimeout:function(){this._abortAllRequests()},_abortAllRequests:function(){for(var req;this._requests.length>0;)req=this._requests.pop(),req.abort=!0,req.xhr.abort(),req.xhr.onreadystatechange=function(){}},_onIdle:function(){var data=this._conn._data;if(this._conn.authenticated&&0===this._requests.length&&0===data.length&&!this._conn.disconnecting&&(Strophe.info("no requests during idle cycle, sending blank request"),data.push(null)),!this._conn.paused){if(this._requests.length<2&&data.length>0){for(var body=this._buildBody(),i=0;i<data.length;i++)null!==data[i]&&("restart"===data[i]?body.attrs({to:this._conn.domain,"xml:lang":"en","xmpp:restart":"true","xmlns:xmpp":Strophe.NS.BOSH}):body.cnode(data[i]).up());delete this._conn._data,this._conn._data=[],this._requests.push(new Strophe.Request(body.tree(),this._onRequestStateChange.bind(this,this._conn._dataRecv.bind(this._conn)),body.tree().getAttribute("rid"))),this._throttledRequestHandler()}if(this._requests.length>0){var time_elapsed=this._requests[0].age();null!==this._requests[0].dead&&this._requests[0].timeDead()>Math.floor(Strophe.SECONDARY_TIMEOUT*this.wait)&&this._throttledRequestHandler(),time_elapsed>Math.floor(Strophe.TIMEOUT*this.wait)&&(Strophe.warn("Request "+this._requests[0].id+" timed out, over "+Math.floor(Strophe.TIMEOUT*this.wait)+" seconds since last activity"),this._throttledRequestHandler())}}},_onRequestStateChange:function(func,req){if(Strophe.debug("request id "+req.id+"."+req.sends+" state changed to "+req.xhr.readyState),req.abort)return void(req.abort=!1);var reqStatus;if(4==req.xhr.readyState){reqStatus=0;try{reqStatus=req.xhr.status}catch(e){}if("undefined"==typeof reqStatus&&(reqStatus=0),this.disconnecting&&reqStatus>=400)return void this._hitError(reqStatus);var reqIs0=this._requests[0]==req,reqIs1=this._requests[1]==req;(reqStatus>0&&500>reqStatus||req.sends>5)&&(this._removeRequest(req),Strophe.debug("request id "+req.id+" should now be removed")),200==reqStatus?((reqIs1||reqIs0&&this._requests.length>0&&this._requests[0].age()>Math.floor(Strophe.SECONDARY_TIMEOUT*this.wait))&&this._restartRequest(0),this._conn.nextValidRid(Number(req.rid)+1),Strophe.debug("request id "+req.id+"."+req.sends+" got 200"),func(req),this.errors=0):(Strophe.error("request id "+req.id+"."+req.sends+" error "+reqStatus+" happened"),(0===reqStatus||reqStatus>=400&&600>reqStatus||reqStatus>=12e3)&&(this._hitError(reqStatus),reqStatus>=400&&500>reqStatus&&(this._conn._changeConnectStatus(Strophe.Status.DISCONNECTING,null),this._conn._doDisconnect()))),reqStatus>0&&500>reqStatus||req.sends>5||this._throttledRequestHandler()}},_processRequest:function(i){var self=this,req=this._requests[i],reqStatus=-1;try{4==req.xhr.readyState&&(reqStatus=req.xhr.status)}catch(e){Strophe.error("caught an error in _requests["+i+"], reqStatus: "+reqStatus)}if("undefined"==typeof reqStatus&&(reqStatus=-1),req.sends>this._conn.maxRetries)return void this._conn._onDisconnectTimeout();var time_elapsed=req.age(),primaryTimeout=!isNaN(time_elapsed)&&time_elapsed>Math.floor(Strophe.TIMEOUT*this.wait),secondaryTimeout=null!==req.dead&&req.timeDead()>Math.floor(Strophe.SECONDARY_TIMEOUT*this.wait),requestCompletedWithServerError=4==req.xhr.readyState&&(1>reqStatus||reqStatus>=500);if((primaryTimeout||secondaryTimeout||requestCompletedWithServerError)&&(secondaryTimeout&&Strophe.error("Request "+this._requests[i].id+" timed out (secondary), restarting"),req.abort=!0,req.xhr.abort(),req.xhr.onreadystatechange=function(){},this._requests[i]=new Strophe.Request(req.xmlData,req.origFunc,req.rid,req.sends),req=this._requests[i]),0===req.xhr.readyState){Strophe.debug("request id "+req.id+"."+req.sends+" posting");try{req.xhr.open("POST",this._conn.service,this._conn.options.sync?!1:!0),req.xhr.setRequestHeader("Content-Type","text/xml; charset=utf-8")}catch(e2){return Strophe.error("XHR open failed."),this._conn.connected||this._conn._changeConnectStatus(Strophe.Status.CONNFAIL,"bad-service"),void this._conn.disconnect()}var sendFunc=function(){if(req.date=new Date,self._conn.options.customHeaders){var headers=self._conn.options.customHeaders;for(var header in headers)headers.hasOwnProperty(header)&&req.xhr.setRequestHeader(header,headers[header])}req.xhr.send(req.data)};if(req.sends>1){var backoff=1e3*Math.min(Math.floor(Strophe.TIMEOUT*this.wait),Math.pow(req.sends,3));setTimeout(sendFunc,backoff)}else sendFunc();req.sends++,this._conn.xmlOutput!==Strophe.Connection.prototype.xmlOutput&&(req.xmlData.nodeName===this.strip&&req.xmlData.childNodes.length?this._conn.xmlOutput(req.xmlData.childNodes[0]):this._conn.xmlOutput(req.xmlData)),this._conn.rawOutput!==Strophe.Connection.prototype.rawOutput&&this._conn.rawOutput(req.data)}else Strophe.debug("_processRequest: "+(0===i?"first":"second")+" request has readyState of "+req.xhr.readyState)},_removeRequest:function(req){Strophe.debug("removing request");var i;for(i=this._requests.length-1;i>=0;i--)req==this._requests[i]&&this._requests.splice(i,1);req.xhr.onreadystatechange=function(){},this._throttledRequestHandler()},_restartRequest:function(i){var req=this._requests[i];null===req.dead&&(req.dead=new Date),this._processRequest(i)},_reqToData:function(req){try{return req.getResponse()}catch(e){if("parsererror"!=e)throw e;this._conn.disconnect("strophe-parsererror")}},_sendTerminate:function(pres){Strophe.info("_sendTerminate was called");var body=this._buildBody().attrs({type:"terminate"});pres&&body.cnode(pres.tree());var req=new Strophe.Request(body.tree(),this._onRequestStateChange.bind(this,this._conn._dataRecv.bind(this._conn)),body.tree().getAttribute("rid"));this._requests.push(req),this._throttledRequestHandler()},_send:function(){clearTimeout(this._conn._idleTimeout),this._throttledRequestHandler(),this._conn._idleTimeout=setTimeout(this._conn._onIdle.bind(this._conn),100)},_sendRestart:function(){this._throttledRequestHandler(),clearTimeout(this._conn._idleTimeout)},_throttledRequestHandler:function(){this._requests?Strophe.debug("_throttledRequestHandler called with "+this._requests.length+" requests"):Strophe.debug("_throttledRequestHandler called with undefined requests"),this._requests&&0!==this._requests.length&&(this._requests.length>0&&this._processRequest(0),this._requests.length>1&&Math.abs(this._requests[0].rid-this._requests[1].rid)<this.window&&this._processRequest(1))}},Strophe}),function(root,factory){return"function"==typeof define&&define.amd?void define("strophe-websocket",["strophe-core"],function(core){return factory(core.Strophe,core.$build)}):factory(Strophe,$build)}(this,function(Strophe,$build){return Strophe.Websocket=function(connection){this._conn=connection,this.strip="wrapper";var service=connection.service;if(0!==service.indexOf("ws:")&&0!==service.indexOf("wss:")){var new_service="";new_service+="ws"===connection.options.protocol&&"https:"!==window.location.protocol?"ws":"wss",new_service+="://"+window.location.host,new_service+=0!==service.indexOf("/")?window.location.pathname+service:service,connection.service=new_service}},Strophe.Websocket.prototype={_buildStream:function(){return $build("open",{xmlns:Strophe.NS.FRAMING,to:this._conn.domain,version:"1.0"})},_check_streamerror:function(bodyWrap,connectstatus){var errors;if(errors=bodyWrap.getElementsByTagNameNS?bodyWrap.getElementsByTagNameNS(Strophe.NS.STREAM,"error"):bodyWrap.getElementsByTagName("stream:error"),0===errors.length)return!1;for(var error=errors[0],condition="",text="",ns="urn:ietf:params:xml:ns:xmpp-streams",i=0;i<error.childNodes.length;i++){var e=error.childNodes[i];if(e.getAttribute("xmlns")!==ns)break;"text"===e.nodeName?text=e.textContent:condition=e.nodeName}var errorString="WebSocket stream error: ";return errorString+=condition?condition:"unknown",text&&(errorString+=" - "+condition),Strophe.error(errorString),this._conn._changeConnectStatus(connectstatus,condition),this._conn._doDisconnect(),!0},_reset:function(){},_connect:function(){this._closeSocket(),this.socket=new WebSocket(this._conn.service,"xmpp"),this.socket.onopen=this._onOpen.bind(this),this.socket.onerror=this._onError.bind(this),this.socket.onclose=this._onClose.bind(this),this.socket.onmessage=this._connect_cb_wrapper.bind(this)},_connect_cb:function(bodyWrap){var error=this._check_streamerror(bodyWrap,Strophe.Status.CONNFAIL);return error?Strophe.Status.CONNFAIL:void 0},_handleStreamStart:function(message){var error=!1,ns=message.getAttribute("xmlns");"string"!=typeof ns?error="Missing xmlns in <open />":ns!==Strophe.NS.FRAMING&&(error="Wrong xmlns in <open />: "+ns);var ver=message.getAttribute("version");return"string"!=typeof ver?error="Missing version in <open />":"1.0"!==ver&&(error="Wrong version in <open />: "+ver),error?(this._conn._changeConnectStatus(Strophe.Status.CONNFAIL,error),this._conn._doDisconnect(),!1):!0},_connect_cb_wrapper:function(message){if(0===message.data.indexOf("<open ")||0===message.data.indexOf("<?xml")){var data=message.data.replace(/^(<\?.*?\?>\s*)*/,"");if(""===data)return;var streamStart=(new DOMParser).parseFromString(data,"text/xml").documentElement;this._conn.xmlInput(streamStart),this._conn.rawInput(message.data),this._handleStreamStart(streamStart)&&this._connect_cb(streamStart)}else if(0===message.data.indexOf("<close ")){this._conn.rawInput(message.data),this._conn.xmlInput(message);var see_uri=message.getAttribute("see-other-uri");see_uri?(this._conn._changeConnectStatus(Strophe.Status.REDIRECT,"Received see-other-uri, resetting connection"),this._conn.reset(),this._conn.service=see_uri,this._connect()):(this._conn._changeConnectStatus(Strophe.Status.CONNFAIL,"Received closing stream"),this._conn._doDisconnect())}else{var string=this._streamWrap(message.data),elem=(new DOMParser).parseFromString(string,"text/xml").documentElement;this.socket.onmessage=this._onMessage.bind(this),this._conn._connect_cb(elem,null,message.data)}},_disconnect:function(pres){if(this.socket&&this.socket.readyState!==WebSocket.CLOSED){pres&&this._conn.send(pres);var close=$build("close",{xmlns:Strophe.NS.FRAMING});this._conn.xmlOutput(close);var closeString=Strophe.serialize(close);this._conn.rawOutput(closeString);try{this.socket.send(closeString)}catch(e){Strophe.info("Couldn't send <close /> tag.")}}this._conn._doDisconnect()},_doDisconnect:function(){Strophe.info("WebSockets _doDisconnect was called"),this._closeSocket()},_streamWrap:function(stanza){return"<wrapper>"+stanza+"</wrapper>"},_closeSocket:function(){if(this.socket)try{this.socket.close()}catch(e){}this.socket=null},_emptyQueue:function(){return!0},_onClose:function(){this._conn.connected&&!this._conn.disconnecting?(Strophe.error("Websocket closed unexcectedly"),this._conn._doDisconnect()):Strophe.info("Websocket closed")},_no_auth_received:function(_callback){Strophe.error("Server did not send any auth methods"),this._conn._changeConnectStatus(Strophe.Status.CONNFAIL,"Server did not send any auth methods"),_callback&&(_callback=_callback.bind(this._conn))(),this._conn._doDisconnect()},_onDisconnectTimeout:function(){},_abortAllRequests:function(){},_onError:function(error){Strophe.error("Websocket error "+error),this._conn._changeConnectStatus(Strophe.Status.CONNFAIL,"The WebSocket connection could not be established was disconnected."),this._disconnect()},_onIdle:function(){var data=this._conn._data;if(data.length>0&&!this._conn.paused){for(var i=0;i<data.length;i++)if(null!==data[i]){var stanza,rawStanza;stanza="restart"===data[i]?this._buildStream().tree():data[i],rawStanza=Strophe.serialize(stanza),this._conn.xmlOutput(stanza),this._conn.rawOutput(rawStanza),this.socket.send(rawStanza)}this._conn._data=[]}},_onMessage:function(message){var elem,data,close='<close xmlns="urn:ietf:params:xml:ns:xmpp-framing" />';if(message.data===close)return this._conn.rawInput(close),this._conn.xmlInput(message),void(this._conn.disconnecting||this._conn._doDisconnect());if(0===message.data.search("<open ")){if(elem=(new DOMParser).parseFromString(message.data,"text/xml").documentElement,!this._handleStreamStart(elem))return}else data=this._streamWrap(message.data),elem=(new DOMParser).parseFromString(data,"text/xml").documentElement;return this._check_streamerror(elem,Strophe.Status.ERROR)?void 0:this._conn.disconnecting&&"presence"===elem.firstChild.nodeName&&"unavailable"===elem.firstChild.getAttribute("type")?(this._conn.xmlInput(elem),void this._conn.rawInput(Strophe.serialize(elem))):void this._conn._dataRecv(elem,message.data)},_onOpen:function(){Strophe.info("Websocket open");var start=this._buildStream();this._conn.xmlOutput(start.tree());var startString=Strophe.serialize(start);this._conn.rawOutput(startString),this.socket.send(startString)},_reqToData:function(stanza){return stanza},_send:function(){this._conn.flush()},_sendRestart:function(){clearTimeout(this._conn._idleTimeout),this._conn._onIdle.bind(this._conn)()}},Strophe}),callback?callback(Strophe,$build,$msg,$iq,$pres):void 0}(function(Strophe,build,msg,iq,pres){window.Strophe=Strophe,window.$build=build,window.$msg=msg,window.$iq=iq,window.$pres=pres});/*!
* Source: lib/strophe.muc.js, license: MIT, url: https://github.com/strophe/strophejs-plugins
*/
-var Occupant,RoomConfig,XmppRoom,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};Strophe.addConnectionPlugin("muc",{_connection:null,rooms:{},roomNames:[],init:function(conn){return this._connection=conn,this._muc_handler=null,Strophe.addNamespace("MUC_OWNER",Strophe.NS.MUC+"#owner"),Strophe.addNamespace("MUC_ADMIN",Strophe.NS.MUC+"#admin"),Strophe.addNamespace("MUC_USER",Strophe.NS.MUC+"#user"),Strophe.addNamespace("MUC_ROOMCONF",Strophe.NS.MUC+"#roomconfig")},join:function(room,nick,msg_handler_cb,pres_handler_cb,roster_cb,password,history_attrs,extended_presence){var msg,room_nick,_ref,_this=this;return room_nick=this.test_append_nick(room,nick),msg=$pres({from:this._connection.jid,to:room_nick}).c("x",{xmlns:Strophe.NS.MUC}),null!=history_attrs&&(msg=msg.c("history",history_attrs).up()),null!=password&&msg.cnode(Strophe.xmlElement("password",[],password)),null!=extended_presence&&msg.up().cnode(extended_presence),null==(_ref=this._muc_handler)&&(this._muc_handler=this._connection.addHandler(function(stanza){var from,handler,handlers,id,roomname,x,xmlns,xquery,_i,_len;if(from=stanza.getAttribute("from"),!from)return!0;if(roomname=from.split("/")[0],!_this.rooms[roomname])return!0;if(room=_this.rooms[roomname],handlers={},"message"===stanza.nodeName)handlers=room._message_handlers;else if("presence"===stanza.nodeName&&(xquery=stanza.getElementsByTagName("x"),xquery.length>0))for(_i=0,_len=xquery.length;_len>_i;_i++)if(x=xquery[_i],xmlns=x.getAttribute("xmlns"),xmlns&&xmlns.match(Strophe.NS.MUC)){handlers=room._presence_handlers;break}for(id in handlers)handler=handlers[id],handler(stanza,room)||delete handlers[id];return!0})),this.rooms.hasOwnProperty(room)||(this.rooms[room]=new XmppRoom(this,room,nick,password),this.roomNames.push(room)),pres_handler_cb&&this.rooms[room].addHandler("presence",pres_handler_cb),msg_handler_cb&&this.rooms[room].addHandler("message",msg_handler_cb),roster_cb&&this.rooms[room].addHandler("roster",roster_cb),this._connection.send(msg)},leave:function(room,nick,handler_cb,exit_msg){var id,presence,presenceid,room_nick;return id=this.roomNames.indexOf(room),delete this.rooms[room],id>=0&&(this.roomNames.splice(id,1),0===this.roomNames.length&&(this._connection.deleteHandler(this._muc_handler),this._muc_handler=null)),room_nick=this.test_append_nick(room,nick),presenceid=this._connection.getUniqueId(),presence=$pres({type:"unavailable",id:presenceid,from:this._connection.jid,to:room_nick}),null!=exit_msg&&presence.c("status",exit_msg),null!=handler_cb&&this._connection.addHandler(handler_cb,null,"presence",null,presenceid),this._connection.send(presence),presenceid},message:function(room,nick,message,html_message,type){var msg,msgid,parent,room_nick;return room_nick=this.test_append_nick(room,nick),type=type||(null!=nick?"chat":"groupchat"),msgid=this._connection.getUniqueId(),msg=$msg({to:room_nick,from:this._connection.jid,type:type,id:msgid}).c("body",{xmlns:Strophe.NS.CLIENT}).t(message),msg.up(),null!=html_message&&(msg.c("html",{xmlns:Strophe.NS.XHTML_IM}).c("body",{xmlns:Strophe.NS.XHTML}).t(html_message),0===msg.node.childNodes.length?(parent=msg.node.parentNode,msg.up().up(),msg.node.removeChild(parent)):msg.up().up()),msg.c("x",{xmlns:"jabber:x:event"}).c("composing"),this._connection.send(msg),msgid},groupchat:function(room,message,html_message){return this.message(room,null,message,html_message)},invite:function(room,receiver,reason){var invitation,msgid;return msgid=this._connection.getUniqueId(),invitation=$msg({from:this._connection.jid,to:room,id:msgid}).c("x",{xmlns:Strophe.NS.MUC_USER}).c("invite",{to:receiver}),null!=reason&&invitation.c("reason",reason),this._connection.send(invitation),msgid},directInvite:function(room,receiver,reason,password){var attrs,invitation,msgid;return msgid=this._connection.getUniqueId(),attrs={xmlns:"jabber:x:conference",jid:room},null!=reason&&(attrs.reason=reason),null!=password&&(attrs.password=password),invitation=$msg({from:this._connection.jid,to:receiver,id:msgid}).c("x",attrs),this._connection.send(invitation),msgid},queryOccupants:function(room,success_cb,error_cb){var attrs,info;return attrs={xmlns:Strophe.NS.DISCO_ITEMS},info=$iq({from:this._connection.jid,to:room,type:"get"}).c("query",attrs),this._connection.sendIQ(info,success_cb,error_cb)},configure:function(room,handler_cb,error_cb){var config,stanza;return config=$iq({to:room,type:"get"}).c("query",{xmlns:Strophe.NS.MUC_OWNER}),stanza=config.tree(),this._connection.sendIQ(stanza,handler_cb,error_cb)},cancelConfigure:function(room){var config,stanza;return config=$iq({to:room,type:"set"}).c("query",{xmlns:Strophe.NS.MUC_OWNER}).c("x",{xmlns:"jabber:x:data",type:"cancel"}),stanza=config.tree(),this._connection.sendIQ(stanza)},saveConfiguration:function(room,config,success_cb,error_cb){var conf,iq,stanza,_i,_len;if(iq=$iq({to:room,type:"set"}).c("query",{xmlns:Strophe.NS.MUC_OWNER}),Strophe.x&&config instanceof Strophe.x.Form)config.type="submit",iq.cnode(config.toXML());else for(iq.c("x",{xmlns:"jabber:x:data",type:"submit"}),_i=0,_len=config.length;_len>_i;_i++)conf=config[_i],iq.cnode(conf).up();return stanza=iq.tree(),this._connection.sendIQ(stanza,success_cb,error_cb)},createInstantRoom:function(room,success_cb,error_cb){var roomiq;return roomiq=$iq({to:room,type:"set"}).c("query",{xmlns:Strophe.NS.MUC_OWNER}).c("x",{xmlns:"jabber:x:data",type:"submit"}),this._connection.sendIQ(roomiq.tree(),success_cb,error_cb)},setTopic:function(room,topic){var msg;return msg=$msg({to:room,from:this._connection.jid,type:"groupchat"}).c("subject",{xmlns:"jabber:client"}).t(topic),this._connection.send(msg.tree())},_modifyPrivilege:function(room,item,reason,handler_cb,error_cb){var iq;return iq=$iq({to:room,type:"set"}).c("query",{xmlns:Strophe.NS.MUC_ADMIN}).cnode(item.node),null!=reason&&iq.c("reason",reason),this._connection.sendIQ(iq.tree(),handler_cb,error_cb)},modifyRole:function(room,nick,role,reason,handler_cb,error_cb){var item;return item=$build("item",{nick:nick,role:role}),this._modifyPrivilege(room,item,reason,handler_cb,error_cb)},kick:function(room,nick,reason,handler_cb,error_cb){return this.modifyRole(room,nick,"none",reason,handler_cb,error_cb)},voice:function(room,nick,reason,handler_cb,error_cb){return this.modifyRole(room,nick,"participant",reason,handler_cb,error_cb)},mute:function(room,nick,reason,handler_cb,error_cb){return this.modifyRole(room,nick,"visitor",reason,handler_cb,error_cb)},op:function(room,nick,reason,handler_cb,error_cb){return this.modifyRole(room,nick,"moderator",reason,handler_cb,error_cb)},deop:function(room,nick,reason,handler_cb,error_cb){return this.modifyRole(room,nick,"participant",reason,handler_cb,error_cb)},modifyAffiliation:function(room,jid,affiliation,reason,handler_cb,error_cb){var item;return item=$build("item",{jid:jid,affiliation:affiliation}),this._modifyPrivilege(room,item,reason,handler_cb,error_cb)},ban:function(room,jid,reason,handler_cb,error_cb){return this.modifyAffiliation(room,jid,"outcast",reason,handler_cb,error_cb)},member:function(room,jid,reason,handler_cb,error_cb){return this.modifyAffiliation(room,jid,"member",reason,handler_cb,error_cb)},revoke:function(room,jid,reason,handler_cb,error_cb){return this.modifyAffiliation(room,jid,"none",reason,handler_cb,error_cb)},owner:function(room,jid,reason,handler_cb,error_cb){return this.modifyAffiliation(room,jid,"owner",reason,handler_cb,error_cb)},admin:function(room,jid,reason,handler_cb,error_cb){return this.modifyAffiliation(room,jid,"admin",reason,handler_cb,error_cb)},changeNick:function(room,user){var presence,room_nick;return room_nick=this.test_append_nick(room,user),presence=$pres({from:this._connection.jid,to:room_nick,id:this._connection.getUniqueId()}),this._connection.send(presence.tree())},setStatus:function(room,user,show,status){var presence,room_nick;return room_nick=this.test_append_nick(room,user),presence=$pres({from:this._connection.jid,to:room_nick}),null!=show&&presence.c("show",show).up(),null!=status&&presence.c("status",status),this._connection.send(presence.tree())},listRooms:function(server,handle_cb,error_cb){var iq;return iq=$iq({to:server,from:this._connection.jid,type:"get"}).c("query",{xmlns:Strophe.NS.DISCO_ITEMS}),this._connection.sendIQ(iq,handle_cb,error_cb)},test_append_nick:function(room,nick){return room+(null!=nick?"/"+Strophe.escapeNode(nick):"")}}),XmppRoom=function(){function XmppRoom(client,name,nick,password){this.client=client,this.name=name,this.nick=nick,this.password=password,this._roomRosterHandler=__bind(this._roomRosterHandler,this),this._addOccupant=__bind(this._addOccupant,this),this.roster={},this._message_handlers={},this._presence_handlers={},this._roster_handlers={},this._handler_ids=0,client.muc&&(this.client=client.muc),this.name=Strophe.getBareJidFromJid(name),this.addHandler("presence",this._roomRosterHandler)}return XmppRoom.prototype.join=function(msg_handler_cb,pres_handler_cb,roster_cb){return this.client.join(this.name,this.nick,msg_handler_cb,pres_handler_cb,roster_cb,this.password)},XmppRoom.prototype.leave=function(handler_cb,message){return this.client.leave(this.name,this.nick,handler_cb,message),delete this.client.rooms[this.name]},XmppRoom.prototype.message=function(nick,message,html_message,type){return this.client.message(this.name,nick,message,html_message,type)},XmppRoom.prototype.groupchat=function(message,html_message){return this.client.groupchat(this.name,message,html_message)},XmppRoom.prototype.invite=function(receiver,reason){return this.client.invite(this.name,receiver,reason)},XmppRoom.prototype.directInvite=function(receiver,reason){return this.client.directInvite(this.name,receiver,reason,this.password)},XmppRoom.prototype.configure=function(handler_cb){return this.client.configure(this.name,handler_cb)},XmppRoom.prototype.cancelConfigure=function(){return this.client.cancelConfigure(this.name)},XmppRoom.prototype.saveConfiguration=function(config){return this.client.saveConfiguration(this.name,config)},XmppRoom.prototype.queryOccupants=function(success_cb,error_cb){return this.client.queryOccupants(this.name,success_cb,error_cb)},XmppRoom.prototype.setTopic=function(topic){return this.client.setTopic(this.name,topic)},XmppRoom.prototype.modifyRole=function(nick,role,reason,success_cb,error_cb){return this.client.modifyRole(this.name,nick,role,reason,success_cb,error_cb)},XmppRoom.prototype.kick=function(nick,reason,handler_cb,error_cb){return this.client.kick(this.name,nick,reason,handler_cb,error_cb)},XmppRoom.prototype.voice=function(nick,reason,handler_cb,error_cb){return this.client.voice(this.name,nick,reason,handler_cb,error_cb)},XmppRoom.prototype.mute=function(nick,reason,handler_cb,error_cb){return this.client.mute(this.name,nick,reason,handler_cb,error_cb)},XmppRoom.prototype.op=function(nick,reason,handler_cb,error_cb){return this.client.op(this.name,nick,reason,handler_cb,error_cb)},XmppRoom.prototype.deop=function(nick,reason,handler_cb,error_cb){return this.client.deop(this.name,nick,reason,handler_cb,error_cb)},XmppRoom.prototype.modifyAffiliation=function(jid,affiliation,reason,success_cb,error_cb){return this.client.modifyAffiliation(this.name,jid,affiliation,reason,success_cb,error_cb)},XmppRoom.prototype.ban=function(jid,reason,handler_cb,error_cb){return this.client.ban(this.name,jid,reason,handler_cb,error_cb)},XmppRoom.prototype.member=function(jid,reason,handler_cb,error_cb){return this.client.member(this.name,jid,reason,handler_cb,error_cb)},XmppRoom.prototype.revoke=function(jid,reason,handler_cb,error_cb){return this.client.revoke(this.name,jid,reason,handler_cb,error_cb)},XmppRoom.prototype.owner=function(jid,reason,handler_cb,error_cb){return this.client.owner(this.name,jid,reason,handler_cb,error_cb)},XmppRoom.prototype.admin=function(jid,reason,handler_cb,error_cb){return this.client.admin(this.name,jid,reason,handler_cb,error_cb)},XmppRoom.prototype.changeNick=function(nick){return this.nick=nick,this.client.changeNick(this.name,nick)},XmppRoom.prototype.setStatus=function(show,status){return this.client.setStatus(this.name,this.nick,show,status)},XmppRoom.prototype.addHandler=function(handler_type,handler){var id;switch(id=this._handler_ids++,handler_type){case"presence":this._presence_handlers[id]=handler;break;case"message":this._message_handlers[id]=handler;break;case"roster":this._roster_handlers[id]=handler;break;default:return this._handler_ids--,null}return id},XmppRoom.prototype.removeHandler=function(id){return delete this._presence_handlers[id],delete this._message_handlers[id],delete this._roster_handlers[id]},XmppRoom.prototype._addOccupant=function(data){var occ;return occ=new Occupant(data,this),this.roster[occ.nick]=occ,occ},XmppRoom.prototype._roomRosterHandler=function(pres){var data,handler,id,newnick,nick,_ref;switch(data=XmppRoom._parsePresence(pres),nick=data.nick,newnick=data.newnick||null,data.type){case"error":return;case"unavailable":newnick&&(data.nick=newnick,this.roster[nick]&&this.roster[newnick]&&(this.roster[nick].update(this.roster[newnick]),this.roster[newnick]=this.roster[nick]),this.roster[nick]&&!this.roster[newnick]&&(this.roster[newnick]=this.roster[nick].update(data))),delete this.roster[nick];break;default:this.roster[nick]?this.roster[nick].update(data):this._addOccupant(data)}_ref=this._roster_handlers;for(id in _ref)handler=_ref[id],handler(this.roster,this)||delete this._roster_handlers[id];return!0},XmppRoom._parsePresence=function(pres){var a,c,c2,data,_i,_j,_len,_len1,_ref,_ref1,_ref2,_ref3,_ref4,_ref5,_ref6,_ref7;for(data={},a=pres.attributes,data.nick=Strophe.getResourceFromJid(a.from.textContent),data.type=(null!=(_ref=a.type)?_ref.textContent:void 0)||null,data.states=[],_ref1=pres.childNodes,_i=0,_len=_ref1.length;_len>_i;_i++)switch(c=_ref1[_i],c.nodeName){case"status":data.status=c.textContent||null;break;case"show":data.show=c.textContent||null;break;case"x":if(a=c.attributes,(null!=(_ref2=a.xmlns)?_ref2.textContent:void 0)===Strophe.NS.MUC_USER)for(_ref3=c.childNodes,_j=0,_len1=_ref3.length;_len1>_j;_j++)switch(c2=_ref3[_j],c2.nodeName){case"item":a=c2.attributes,data.affiliation=(null!=(_ref4=a.affiliation)?_ref4.textContent:void 0)||null,data.role=(null!=(_ref5=a.role)?_ref5.textContent:void 0)||null,data.jid=(null!=(_ref6=a.jid)?_ref6.textContent:void 0)||null,data.newnick=(null!=(_ref7=a.nick)?_ref7.textContent:void 0)||null;break;case"status":c2.attributes.code&&data.states.push(c2.attributes.code.textContent)}}return data},XmppRoom}(),RoomConfig=function(){function RoomConfig(info){this.parse=__bind(this.parse,this),null!=info&&this.parse(info)}return RoomConfig.prototype.parse=function(result){var attr,attrs,child,field,identity,query,_i,_j,_k,_len,_len1,_len2,_ref;for(query=result.getElementsByTagName("query")[0].childNodes,this.identities=[],this.features=[],this.x=[],_i=0,_len=query.length;_len>_i;_i++)switch(child=query[_i],attrs=child.attributes,child.nodeName){case"identity":for(identity={},_j=0,_len1=attrs.length;_len1>_j;_j++)attr=attrs[_j],identity[attr.name]=attr.textContent;this.identities.push(identity);break;case"feature":this.features.push(attrs["var"].textContent);break;case"x":if(attrs=child.childNodes[0].attributes,"FORM_TYPE"===!attrs["var"].textContent||"hidden"===!attrs.type.textContent)break;for(_ref=child.childNodes,_k=0,_len2=_ref.length;_len2>_k;_k++)field=_ref[_k],field.attributes.type||(attrs=field.attributes,this.x.push({"var":attrs["var"].textContent,label:attrs.label.textContent||"",value:field.firstChild.textContent||""}))}return{identities:this.identities,features:this.features,x:this.x}},RoomConfig}(),Occupant=function(){function Occupant(data,room){this.room=room,this.update=__bind(this.update,this),this.admin=__bind(this.admin,this),this.owner=__bind(this.owner,this),this.revoke=__bind(this.revoke,this),this.member=__bind(this.member,this),this.ban=__bind(this.ban,this),this.modifyAffiliation=__bind(this.modifyAffiliation,this),this.deop=__bind(this.deop,this),this.op=__bind(this.op,this),this.mute=__bind(this.mute,this),this.voice=__bind(this.voice,this),this.kick=__bind(this.kick,this),this.modifyRole=__bind(this.modifyRole,this),this.update(data)}return Occupant.prototype.modifyRole=function(role,reason,success_cb,error_cb){return this.room.modifyRole(this.nick,role,reason,success_cb,error_cb)},Occupant.prototype.kick=function(reason,handler_cb,error_cb){return this.room.kick(this.nick,reason,handler_cb,error_cb)},Occupant.prototype.voice=function(reason,handler_cb,error_cb){return this.room.voice(this.nick,reason,handler_cb,error_cb)},Occupant.prototype.mute=function(reason,handler_cb,error_cb){return this.room.mute(this.nick,reason,handler_cb,error_cb)},Occupant.prototype.op=function(reason,handler_cb,error_cb){return this.room.op(this.nick,reason,handler_cb,error_cb)},Occupant.prototype.deop=function(reason,handler_cb,error_cb){return this.room.deop(this.nick,reason,handler_cb,error_cb)},Occupant.prototype.modifyAffiliation=function(affiliation,reason,success_cb,error_cb){return this.room.modifyAffiliation(this.jid,affiliation,reason,success_cb,error_cb)},Occupant.prototype.ban=function(reason,handler_cb,error_cb){return this.room.ban(this.jid,reason,handler_cb,error_cb)},Occupant.prototype.member=function(reason,handler_cb,error_cb){return this.room.member(this.jid,reason,handler_cb,error_cb)},Occupant.prototype.revoke=function(reason,handler_cb,error_cb){return this.room.revoke(this.jid,reason,handler_cb,error_cb)},Occupant.prototype.owner=function(reason,handler_cb,error_cb){return this.room.owner(this.jid,reason,handler_cb,error_cb)},Occupant.prototype.admin=function(reason,handler_cb,error_cb){return this.room.admin(this.jid,reason,handler_cb,error_cb)},Occupant.prototype.update=function(data){return this.nick=data.nick||null,this.affiliation=data.affiliation||null,this.role=data.role||null,this.jid=data.jid||null,this.status=data.status||null,this.show=data.show||null,this},Occupant}(),/*!
- * Source: lib/strophe.disco.js, license: MIT, url: https://github.com/strophe/strophejs-plugins
- */
-Strophe.addConnectionPlugin("disco",{_connection:null,_identities:[],_features:[],_items:[],init:function(conn){this._connection=conn,this._identities=[],this._features=[],this._items=[],conn.addHandler(this._onDiscoInfo.bind(this),Strophe.NS.DISCO_INFO,"iq","get",null,null),conn.addHandler(this._onDiscoItems.bind(this),Strophe.NS.DISCO_ITEMS,"iq","get",null,null)},addIdentity:function(category,type,name,lang){for(var i=0;i<this._identities.length;i++)if(this._identities[i].category==category&&this._identities[i].type==type&&this._identities[i].name==name&&this._identities[i].lang==lang)return!1;return this._identities.push({category:category,type:type,name:name,lang:lang}),!0},addFeature:function(var_name){for(var i=0;i<this._features.length;i++)if(this._features[i]==var_name)return!1;return this._features.push(var_name),!0},removeFeature:function(var_name){for(var i=0;i<this._features.length;i++)if(this._features[i]===var_name)return this._features.splice(i,1),!0;return!1},addItem:function(jid,name,node,call_back){return node&&!call_back?!1:(this._items.push({jid:jid,name:name,node:node,call_back:call_back}),!0)},info:function(jid,node,success,error,timeout){var attrs={xmlns:Strophe.NS.DISCO_INFO};node&&(attrs.node=node);var info=$iq({from:this._connection.jid,to:jid,type:"get"}).c("query",attrs);this._connection.sendIQ(info,success,error,timeout)},items:function(jid,node,success,error,timeout){var attrs={xmlns:Strophe.NS.DISCO_ITEMS};node&&(attrs.node=node);var items=$iq({from:this._connection.jid,to:jid,type:"get"}).c("query",attrs);this._connection.sendIQ(items,success,error,timeout)},_buildIQResult:function(stanza,query_attrs){var id=stanza.getAttribute("id"),from=stanza.getAttribute("from"),iqresult=$iq({type:"result",id:id});return null!==from&&iqresult.attrs({to:from}),iqresult.c("query",query_attrs)},_onDiscoInfo:function(stanza){var node=stanza.getElementsByTagName("query")[0].getAttribute("node"),attrs={xmlns:Strophe.NS.DISCO_INFO};node&&(attrs.node=node);for(var iqresult=this._buildIQResult(stanza,attrs),i=0;i<this._identities.length;i++){var attrs={category:this._identities[i].category,type:this._identities[i].type};this._identities[i].name&&(attrs.name=this._identities[i].name),this._identities[i].lang&&(attrs["xml:lang"]=this._identities[i].lang),iqresult.c("identity",attrs).up()}for(var i=0;i<this._features.length;i++)iqresult.c("feature",{"var":this._features[i]}).up();return this._connection.send(iqresult.tree()),!0},_onDiscoItems:function(stanza){var query_attrs={xmlns:Strophe.NS.DISCO_ITEMS},node=stanza.getElementsByTagName("query")[0].getAttribute("node");if(node){query_attrs.node=node;for(var items=[],i=0;i<this._items.length;i++)if(this._items[i].node==node){items=this._items[i].call_back(stanza);break}}else var items=this._items;for(var iqresult=this._buildIQResult(stanza,query_attrs),i=0;i<items.length;i++){var attrs={jid:items[i].jid};items[i].name&&(attrs.name=items[i].name),items[i].node&&(attrs.node=items[i].node),iqresult.c("item",attrs).up()}return this._connection.send(iqresult.tree()),!0}}),/*!
- * Source: lib/strophe.caps.js, license: MIT, url: https://github.com/strophe/strophejs-plugins
- */
-/**
- * Entity Capabilities (XEP-0115)
- *
- * Depends on disco plugin.
- *
- * See: http://xmpp.org/extensions/xep-0115.html
- *
- * Authors: - Michael Weibel <michael.weibel@gmail.com> - Klaus Herberth <klaus@jsxc.org>
- * Copyright: - Michael Weibel <michael.weibel@gmail.com>
- *
- * @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;identitiesLen>i;i++){var curIdent=identities[i];ver+=curIdent.category+"/"+curIdent.type+"/"+curIdent.lang+"/"+curIdent.name+"<"}for(var i=0;featuresLen>i;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;childNodesLen>i;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),/*!
- * Source: lib/strophe.vcard/index.js, license: MIT, url: https://github.com/strophe/strophejs-plugins
- */
-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),/*!
- * Source: lib/strophe.bookmarks/index.js, license: MIT, url: https://github.com/strophe/strophejs-plugins/tree/master/bookmarks
- */
-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)}}),/*!
- * Source: lib/strophe.x/index.js, license: MIT, url: https://github.com/strophe/strophejs-plugins/tree/master/dataforms
- */
-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;l>i;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;_len>_i;_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;_len>_i;_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;_len>_i;_i++)for(i=_ref1[_i],_ref2=i.fields,_j=0,_len1=_ref2.length;_len1>_j;_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;_len>_i;_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;_len1>_j;_j++)r=_ref1[_j],xml.c("field",{"var":r}).up();for(xml.up(),_ref2=this.items,_k=0,_len2=_ref2.length;_len2>_k;_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;_len>_i;_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;_len1>_j;_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;_len>_i;_i++)f=_ref[_i],helper.createHtmlFieldCouple(f).appendTo(form);else if(this.items.length>0)for(_ref1=this.items,_j=0,_len1=_ref1.length;_len1>_j;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;_len>_i;_i++)i=items[_i],_results.push(Item.fromHTML(i));return _results}(),_ref=f.items,_i=0,_len=_ref.length;_len>_i;_i++)for(item=_ref[_i],_ref1=item.fields,_j=0,_len1=_ref1.length;_len1>_j;_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;_len2>_k;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;_len>_i;_i++)v=_ref[_i],xml.c("value").t(v.toString()).up();if(this.options)for(_ref1=this.options,_j=0,_len1=_ref1.length;_len1>_j;_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;_len>_i;_i++)if(opt=_ref[_i]){for(o=$(opt.toHTML()),_ref1=this.values,_j=0,_len1=_ref1.length;_len1>_j;_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;_len2>_k;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;return 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)?conn.disco.addNode(Strophe.NS.DATA,{items:[]}):void 0},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),/*!
- * Source: lib/strophe.jinglejs/strophe.jinglejs-bundle.js, license: MIT, url: https://github.com/sualko/strophe.jinglejs
- */
-/*!
- * strophe.jinglejs v0.1.1 - 2015-11-27
- *
- * Copyright (c) 2015 Klaus Herberth <klaus@jsxc.org> <br>
- * Released under the MIT license
- *
- * Please see https://github.com/sualko/strophe.jinglejs/
- *
- * @author Klaus Herberth <klaus@jsxc.org>
- * @version 0.1.1
- * @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){},{}],2:[function(require,module,exports){(function(global){function typedArraySupport(){function Bar(){}try{var arr=new Uint8Array(1);return arr.foo=function(){return 42},arr.constructor=Bar,42===arr.foo()&&arr.constructor===Bar&&"function"==typeof arr.subarray&&0===arr.subarray(1,1).byteLength}catch(e){return!1}}function kMaxLength(){return Buffer.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Buffer(arg){return this instanceof Buffer?(this.length=0,this.parent=void 0,"number"==typeof arg?fromNumber(this,arg):"string"==typeof arg?fromString(this,arg,arguments.length>1?arguments[1]:"utf8"):fromObject(this,arg)):arguments.length>1?new Buffer(arg,arguments[1]):new Buffer(arg)}function fromNumber(that,length){if(that=allocate(that,0>length?0:0|checked(length)),!Buffer.TYPED_ARRAY_SUPPORT)for(var i=0;length>i;i++)that[i]=0;return that}function fromString(that,string,encoding){("string"!=typeof encoding||""===encoding)&&(encoding="utf8");var length=0|byteLength(string,encoding);return that=allocate(that,length),that.write(string,encoding),that}function fromObject(that,object){if(Buffer.isBuffer(object))return fromBuffer(that,object);if(isArray(object))return fromArray(that,object);if(null==object)throw new TypeError("must start with number, buffer, array or string");if("undefined"!=typeof ArrayBuffer){if(object.buffer instanceof ArrayBuffer)return fromTypedArray(that,object);if(object instanceof ArrayBuffer)return fromArrayBuffer(that,object)}return object.length?fromArrayLike(that,object):fromJsonObject(that,object)}function fromBuffer(that,buffer){var length=0|checked(buffer.length);return that=allocate(that,length),buffer.copy(that,0,0,length),that}function fromArray(that,array){var length=0|checked(array.length);that=allocate(that,length);for(var i=0;length>i;i+=1)that[i]=255&array[i];return that}function fromTypedArray(that,array){var length=0|checked(array.length);that=allocate(that,length);for(var i=0;length>i;i+=1)that[i]=255&array[i];return that}function fromArrayBuffer(that,array){return Buffer.TYPED_ARRAY_SUPPORT?(array.byteLength,that=Buffer._augment(new Uint8Array(array))):that=fromTypedArray(that,new Uint8Array(array)),that}function fromArrayLike(that,array){var length=0|checked(array.length);that=allocate(that,length);for(var i=0;length>i;i+=1)that[i]=255&array[i];return that}function fromJsonObject(that,object){var array,length=0;"Buffer"===object.type&&isArray(object.data)&&(array=object.data,length=0|checked(array.length)),that=allocate(that,length);for(var i=0;length>i;i+=1)that[i]=255&array[i];return that}function allocate(that,length){Buffer.TYPED_ARRAY_SUPPORT?(that=Buffer._augment(new Uint8Array(length)),that.__proto__=Buffer.prototype):(that.length=length,that._isBuffer=!0);var fromPool=0!==length&&length<=Buffer.poolSize>>>1;return fromPool&&(that.parent=rootParent),that}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(subject,encoding){if(!(this instanceof SlowBuffer))return new SlowBuffer(subject,encoding);var buf=new Buffer(subject,encoding);return delete buf.parent,buf}function byteLength(string,encoding){"string"!=typeof string&&(string=""+string);var len=string.length;if(0===len)return 0;for(var loweredCase=!1;;)switch(encoding){case"ascii":case"binary":case"raw":case"raws":return len;case"utf8":case"utf-8":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(start=0|start,end=void 0===end||end===1/0?this.length:0|end,encoding||(encoding="utf8"),0>start&&(start=0),end>this.length&&(end=this.length),start>=end)return"";for(;;)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"binary":return binarySlice(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 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 Error("Invalid hex string");length>strLen/2&&(length=strLen/2);for(var i=0;length>i;i++){var parsed=parseInt(string.substr(2*i,2),16);if(isNaN(parsed))throw new Error("Invalid hex string");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 binaryWrite(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;end>i;){var firstByte=buf[i],codePoint=null,bytesPerSequence=firstByte>239?4:firstByte>223?3:firstByte>191?2:1;if(end>=i+bytesPerSequence){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:128>firstByte&&(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&&(55296>tempCodePoint||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&&1114112>tempCodePoint&&(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(MAX_ARGUMENTS_LENGTH>=len)return String.fromCharCode.apply(String,codePoints);for(var res="",i=0;len>i;)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;end>i;i++)ret+=String.fromCharCode(127&buf[i]);return ret}function binarySlice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;end>i;i++)ret+=String.fromCharCode(buf[i]);return ret}function hexSlice(buf,start,end){var len=buf.length;(!start||0>start)&&(start=0),(!end||0>end||end>len)&&(end=len);for(var out="",i=start;end>i;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||0>offset)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 must be a Buffer instance");if(value>max||min>value)throw new RangeError("value is out of bounds");if(offset+ext>buf.length)throw new RangeError("index out of range")}function objectWriteUInt16(buf,value,offset,littleEndian){0>value&&(value=65535+value+1);for(var i=0,j=Math.min(buf.length-offset,2);j>i;i++)buf[offset+i]=(value&255<<8*(littleEndian?i:1-i))>>>8*(littleEndian?i:1-i)}function objectWriteUInt32(buf,value,offset,littleEndian){0>value&&(value=4294967295+value+1);for(var i=0,j=Math.min(buf.length-offset,4);j>i;i++)buf[offset+i]=value>>>8*(littleEndian?i:3-i)&255}function checkIEEE754(buf,value,offset,ext,max,min){if(value>max||min>value)throw new RangeError("value is out of bounds");if(offset+ext>buf.length)throw new RangeError("index out of range");if(0>offset)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 16>n?"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;length>i;i++){if(codePoint=string.charCodeAt(i),codePoint>55295&&57344>codePoint){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(56320>codePoint){(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,128>codePoint){if((units-=1)<0)break;bytes.push(codePoint)}else if(2048>codePoint){if((units-=2)<0)break;bytes.push(codePoint>>6|192,63&codePoint|128)}else if(65536>codePoint){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,63&codePoint|128)}else{if(!(1114112>codePoint))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;length>i&&!(i+offset>=dst.length||i>=src.length);i++)dst[i+offset]=src[i];return i}/*!
- * The buffer module from node.js, for the browser.
- *
- * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
- * @license MIT
- */
-var base64=require("base64-js"),ieee754=require("ieee754"),isArray=require("is-array");exports.Buffer=Buffer,exports.SlowBuffer=SlowBuffer,exports.INSPECT_MAX_BYTES=50,Buffer.poolSize=8192;var rootParent={};Buffer.TYPED_ARRAY_SUPPORT=void 0!==global.TYPED_ARRAY_SUPPORT?global.TYPED_ARRAY_SUPPORT:typedArraySupport(),Buffer.TYPED_ARRAY_SUPPORT&&(Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array),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);len>i&&a[i]===b[i];)++i;return i!==len&&(x=a[i],y=b[i]),y>x?-1:x>y?1:0},Buffer.isEncoding=function(encoding){switch(String(encoding).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":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 new Buffer(0);var i;if(void 0===length)for(length=0,i=0;i<list.length;i++)length+=list[i].length;var buf=new Buffer(length),pos=0;for(i=0;i<list.length;i++){var item=list[i];item.copy(buf,pos),pos+=item.length}return buf},Buffer.byteLength=byteLength,Buffer.prototype.length=void 0,Buffer.prototype.parent=void 0,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: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(b){if(!Buffer.isBuffer(b))throw new TypeError("Argument must be a Buffer");return this===b?0:Buffer.compare(this,b)},Buffer.prototype.indexOf=function(val,byteOffset){function arrayIndexOf(arr,val,byteOffset){for(var foundIndex=-1,i=0;byteOffset+i<arr.length;i++)if(arr[byteOffset+i]===val[-1===foundIndex?0:i-foundIndex]){if(-1===foundIndex&&(foundIndex=i),i-foundIndex+1===val.length)return byteOffset+foundIndex}else foundIndex=-1;return-1}if(byteOffset>2147483647?byteOffset=2147483647:-2147483648>byteOffset&&(byteOffset=-2147483648),byteOffset>>=0,0===this.length)return-1;if(byteOffset>=this.length)return-1;if(0>byteOffset&&(byteOffset=Math.max(this.length+byteOffset,0)),"string"==typeof val)return 0===val.length?-1:String.prototype.indexOf.call(this,val,byteOffset);if(Buffer.isBuffer(val))return arrayIndexOf(this,val,byteOffset);if("number"==typeof val)return Buffer.TYPED_ARRAY_SUPPORT&&"function"===Uint8Array.prototype.indexOf?Uint8Array.prototype.indexOf.call(this,val,byteOffset):arrayIndexOf(this,[val],byteOffset);throw new TypeError("val must be string, number or Buffer")},Buffer.prototype.get=function(offset){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(offset)},Buffer.prototype.set=function(v,offset){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(v,offset)},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))offset=0|offset,isFinite(length)?(length=0|length,void 0===encoding&&(encoding="utf8")):(encoding=length,length=void 0);else{var swap=encoding;encoding=offset,offset=0|length,length=swap}var remaining=this.length-offset;if((void 0===length||length>remaining)&&(length=remaining),string.length>0&&(0>length||0>offset)||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"binary":return binaryWrite(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,0>start?(start+=len,0>start&&(start=0)):start>len&&(start=len),0>end?(end+=len,0>end&&(end=0)):end>len&&(end=len),start>end&&(end=start);var newBuf;if(Buffer.TYPED_ARRAY_SUPPORT)newBuf=Buffer._augment(this.subarray(start,end));else{var sliceLen=end-start;newBuf=new Buffer(sliceLen,void 0);for(var i=0;sliceLen>i;i++)newBuf[i]=this[i+start]}return newBuf.length&&(newBuf.parent=this.parent||this),newBuf},Buffer.prototype.readUIntLE=function(offset,byteLength,noAssert){offset=0|offset,byteLength=0|byteLength,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|offset,byteLength=0|byteLength,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|offset,byteLength=0|byteLength,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|offset,byteLength=0|byteLength,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]?-1*(255-this[offset]+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){value=+value,offset=0|offset,byteLength=0|byteLength,noAssert||checkInt(this,value,offset,byteLength,Math.pow(2,8*byteLength),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){value=+value,offset=0|offset,byteLength=0|byteLength,noAssert||checkInt(this,value,offset,byteLength,Math.pow(2,8*byteLength),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|offset,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|offset,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|offset,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|offset,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|offset,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|offset,!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0,mul=1,sub=0>value?1:0;for(this[offset]=255&value;++i<byteLength&&(mul*=256);)this[offset+i]=(value/mul>>0)-sub&255;return offset+byteLength},Buffer.prototype.writeIntBE=function(value,offset,byteLength,noAssert){if(value=+value,offset=0|offset,!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>value?1:0;for(this[offset+i]=255&value;--i>=0&&(mul*=256);)this[offset+i]=(value/mul>>0)-sub&255;return offset+byteLength},Buffer.prototype.writeInt8=function(value,offset,noAssert){return value=+value,offset=0|offset,noAssert||checkInt(this,value,offset,1,127,-128),Buffer.TYPED_ARRAY_SUPPORT||(value=Math.floor(value)),0>value&&(value=255+value+1),this[offset]=255&value,offset+1},Buffer.prototype.writeInt16LE=function(value,offset,noAssert){return value=+value,offset=0|offset,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|offset,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|offset,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|offset,noAssert||checkInt(this,value,offset,4,2147483647,-2147483648),0>value&&(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&&start>end&&(end=start),end===start)return 0;if(0===target.length||0===this.length)return 0;if(0>targetStart)throw new RangeError("targetStart out of bounds");if(0>start||start>=this.length)throw new RangeError("sourceStart out of bounds");if(0>end)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&&targetStart>start&&end>targetStart)for(i=len-1;i>=0;i--)target[i+targetStart]=this[i+start];else if(1e3>len||!Buffer.TYPED_ARRAY_SUPPORT)for(i=0;len>i;i++)target[i+targetStart]=this[i+start];else target._set(this.subarray(start,start+len),targetStart);return len},Buffer.prototype.fill=function(value,start,end){if(value||(value=0),start||(start=0),end||(end=this.length),start>end)throw new RangeError("end < start");if(end!==start&&0!==this.length){if(0>start||start>=this.length)throw new RangeError("start out of bounds");if(0>end||end>this.length)throw new RangeError("end out of bounds");var i;if("number"==typeof value)for(i=start;end>i;i++)this[i]=value;else{var bytes=utf8ToBytes(value.toString()),len=bytes.length;for(i=start;end>i;i++)this[i]=bytes[i%len]}return this}},Buffer.prototype.toArrayBuffer=function(){if("undefined"!=typeof Uint8Array){if(Buffer.TYPED_ARRAY_SUPPORT)return new Buffer(this).buffer;for(var buf=new Uint8Array(this.length),i=0,len=buf.length;len>i;i+=1)buf[i]=this[i];return buf.buffer}throw new TypeError("Buffer.toArrayBuffer not supported in this browser")};var BP=Buffer.prototype;Buffer._augment=function(arr){return arr.constructor=Buffer,arr._isBuffer=!0,arr._set=arr.set,arr.get=BP.get,arr.set=BP.set,arr.write=BP.write,arr.toString=BP.toString,arr.toLocaleString=BP.toString,arr.toJSON=BP.toJSON,arr.equals=BP.equals,arr.compare=BP.compare,arr.indexOf=BP.indexOf,arr.copy=BP.copy,arr.slice=BP.slice,arr.readUIntLE=BP.readUIntLE,arr.readUIntBE=BP.readUIntBE,arr.readUInt8=BP.readUInt8,arr.readUInt16LE=BP.readUInt16LE,arr.readUInt16BE=BP.readUInt16BE,arr.readUInt32LE=BP.readUInt32LE,arr.readUInt32BE=BP.readUInt32BE,arr.readIntLE=BP.readIntLE,arr.readIntBE=BP.readIntBE,arr.readInt8=BP.readInt8,arr.readInt16LE=BP.readInt16LE,arr.readInt16BE=BP.readInt16BE,arr.readInt32LE=BP.readInt32LE,arr.readInt32BE=BP.readInt32BE,arr.readFloatLE=BP.readFloatLE,arr.readFloatBE=BP.readFloatBE,arr.readDoubleLE=BP.readDoubleLE,arr.readDoubleBE=BP.readDoubleBE,arr.writeUInt8=BP.writeUInt8,arr.writeUIntLE=BP.writeUIntLE,arr.writeUIntBE=BP.writeUIntBE,arr.writeUInt16LE=BP.writeUInt16LE,arr.writeUInt16BE=BP.writeUInt16BE,arr.writeUInt32LE=BP.writeUInt32LE,arr.writeUInt32BE=BP.writeUInt32BE,arr.writeIntLE=BP.writeIntLE,arr.writeIntBE=BP.writeIntBE,arr.writeInt8=BP.writeInt8,arr.writeInt16LE=BP.writeInt16LE,arr.writeInt16BE=BP.writeInt16BE,arr.writeInt32LE=BP.writeInt32LE,arr.writeInt32BE=BP.writeInt32BE,arr.writeFloatLE=BP.writeFloatLE,arr.writeFloatBE=BP.writeFloatBE,arr.writeDoubleLE=BP.writeDoubleLE,arr.writeDoubleBE=BP.writeDoubleBE,arr.fill=BP.fill,arr.inspect=BP.inspect,arr.toArrayBuffer=BP.toArrayBuffer,arr};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:4,"is-array":5}],3:[function(require,module,exports){var lookup="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";!function(exports){"use strict";function decode(elt){var code=elt.charCodeAt(0);return code===PLUS||code===PLUS_URL_SAFE?62:code===SLASH||code===SLASH_URL_SAFE?63:NUMBER>code?-1:NUMBER+10>code?code-NUMBER+26+26:UPPER+26>code?code-UPPER:LOWER+26>code?code-LOWER+26:void 0}function b64ToByteArray(b64){function push(v){arr[L++]=v}var i,j,l,tmp,placeHolders,arr;if(b64.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var len=b64.length;placeHolders="="===b64.charAt(len-2)?2:"="===b64.charAt(len-1)?1:0,arr=new Arr(3*b64.length/4-placeHolders),l=placeHolders>0?b64.length-4:b64.length;var L=0;for(i=0,j=0;l>i;i+=4,j+=3)tmp=decode(b64.charAt(i))<<18|decode(b64.charAt(i+1))<<12|decode(b64.charAt(i+2))<<6|decode(b64.charAt(i+3)),push((16711680&tmp)>>16),push((65280&tmp)>>8),push(255&tmp);return 2===placeHolders?(tmp=decode(b64.charAt(i))<<2|decode(b64.charAt(i+1))>>4,push(255&tmp)):1===placeHolders&&(tmp=decode(b64.charAt(i))<<10|decode(b64.charAt(i+1))<<4|decode(b64.charAt(i+2))>>2,push(tmp>>8&255),push(255&tmp)),arr}function uint8ToBase64(uint8){function encode(num){return lookup.charAt(num)}function tripletToBase64(num){return encode(num>>18&63)+encode(num>>12&63)+encode(num>>6&63)+encode(63&num)}var i,temp,length,extraBytes=uint8.length%3,output="";for(i=0,length=uint8.length-extraBytes;length>i;i+=3)temp=(uint8[i]<<16)+(uint8[i+1]<<8)+uint8[i+2],output+=tripletToBase64(temp);switch(extraBytes){case 1:temp=uint8[uint8.length-1],output+=encode(temp>>2),output+=encode(temp<<4&63),output+="==";break;case 2:temp=(uint8[uint8.length-2]<<8)+uint8[uint8.length-1],output+=encode(temp>>10),output+=encode(temp>>4&63),output+=encode(temp<<2&63),output+="="}return output}var Arr="undefined"!=typeof Uint8Array?Uint8Array:Array,PLUS="+".charCodeAt(0),SLASH="/".charCodeAt(0),NUMBER="0".charCodeAt(0),LOWER="a".charCodeAt(0),UPPER="A".charCodeAt(0),PLUS_URL_SAFE="-".charCodeAt(0),SLASH_URL_SAFE="_".charCodeAt(0);exports.toByteArray=b64ToByteArray,exports.fromByteArray=uint8ToBase64}("undefined"==typeof exports?this.base64js={}:exports)},{}],4:[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=0>value||0===value&&0>1/value?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}},{}],5:[function(require,module,exports){var isArray=Array.isArray,str=Object.prototype.toString;module.exports=isArray||function(val){return!!val&&"[object Array]"==str.call(val)}},{}],6:[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)||0>n||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;throw TypeError('Uncaught, unspecified "error" event.')}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:for(len=arguments.length,args=new Array(len-1),i=1;len>i;i++)args[i-1]=arguments[i];handler.apply(this,args)}else if(isObject(handler)){for(len=arguments.length,args=new Array(len-1),i=1;len>i;i++)args[i-1]=arguments[i];for(listeners=handler.slice(),len=listeners.length,i=0;len>i;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");if(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){var m;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())}return 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(0>position)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 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.listenerCount=function(emitter,type){var ret;return ret=emitter._events&&emitter._events[type]?isFunction(emitter._events[type])?1:emitter._events[type].length:0}},{}],7:[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}},{}],8:[function(require,module,exports){module.exports=function(obj){return!(null==obj||!(obj._isBuffer||obj.constructor&&"function"==typeof obj.constructor.isBuffer&&obj.constructor.isBuffer(obj)))}},{}],9:[function(require,module,exports){module.exports=Array.isArray||function(arr){return"[object Array]"==Object.prototype.toString.call(arr)}},{}],10:[function(require,module,exports){function cleanUpNextTick(){draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue()}function drainQueue(){if(!draining){var timeout=setTimeout(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,clearTimeout(timeout)}}function Item(fun,array){this.fun=fun,this.array=array}function noop(){}var currentQueue,process=module.exports={},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||setTimeout(drainQueue,0)},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}},{}],11:[function(require,module,exports){(function(global){!function(root){function error(type){throw 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;length>counter;)value=string.charCodeAt(counter++),value>=55296&&56319>=value&&length>counter?(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 10>codePoint-48?codePoint-22:26>codePoint-65?codePoint-65:26>codePoint-97?codePoint-97:base}function digitToBasic(digit,flag){return digit+22+75*(26>digit)-((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),0>basic&&(basic=0),j=0;basic>j;++j)input.charCodeAt(j)>=128&&error("not-basic"),output.push(input.charCodeAt(j));for(index=basic>0?basic+1:0;inputLength>index;){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=bias>=k?tMin:k>=bias+tMax?tMax:k-bias,!(t>digit);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;inputLength>j;++j)currentValue=input[j],128>currentValue&&output.push(stringFromCharCode(currentValue));for(handledCPCount=basicLength=output.length,basicLength&&output.push(delimiter);inputLength>handledCPCount;){for(m=maxInt,j=0;inputLength>j;++j)currentValue=input[j],currentValue>=n&&m>currentValue&&(m=currentValue);for(handledCPCountPlusOne=handledCPCount+1,m-n>floor((maxInt-delta)/handledCPCountPlusOne)&&error("overflow"),delta+=(m-n)*handledCPCountPlusOne,n=m,j=0;inputLength>j;++j)if(currentValue=input[j],n>currentValue&&++delta>maxInt&&error("overflow"),currentValue==n){for(q=delta,k=base;t=bias>=k?tMin:k>=bias+tMax?tMax:k-bias,!(t>q);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.3.2",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:{})},{}],12:[function(require,module,exports){module.exports=require("./lib/_stream_duplex.js")},{"./lib/_stream_duplex.js":13}],13:[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":15,"./_stream_writable":17,"core-util-is":18,inherits:7,"process-nextick-args":19}],14:[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":16,"core-util-is":18,inherits:7}],15:[function(require,module,exports){(function(process){"use strict";function ReadableState(options,stream){var 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=[],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.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){require("./_stream_duplex");return 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!state.decoder||addToFront||encoding||(chunk=state.decoder.write(chunk)),addToFront||(state.reading=!1),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 0===state.length&&state.ended?0:state.objectMode?0===n?0:1:null===n||isNaN(n)?state.flowing&&state.buffer.length?state.buffer[0].length:state.length:0>=n?0:(n>state.highWaterMark&&(state.highWaterMark=computeNewHighWaterMark(n)),n>state.length?state.ended?state.length:(state.needReadable=!0,0):n)}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,stream.emit("resume"),flow(stream),state.flowing&&!state.reading&&stream.read(0)}function flow(stream){var state=stream._readableState;if(debug("flow",state.flowing),state.flowing)do var chunk=stream.read();while(null!==chunk&&state.flowing)}function fromList(n,state){var ret,list=state.buffer,length=state.length,stringMode=!!state.decoder,objectMode=!!state.objectMode;if(0===list.length)return null;if(0===length)ret=null;else if(objectMode)ret=list.shift();else if(!n||n>=length)ret=stringMode?list.join(""):1===list.length?list[0]:Buffer.concat(list,length),list.length=0;else if(n<list[0].length){var buf=list[0];ret=buf.slice(0,n),list[0]=buf.slice(n)}else if(n===list[0].length)ret=list.shift();else{ret=stringMode?"":new Buffer(n);for(var c=0,i=0,l=list.length;l>i&&n>c;i++){var buf=list[0],cpy=Math.min(n-c,buf.length);stringMode?ret+=buf.slice(0,cpy):buf.copy(ret,c,0,cpy),cpy<buf.length?list[0]=buf.slice(cpy):list.shift(),c+=cpy}}return 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;l>i;i++)f(xs[i],i)}function indexOf(xs,x){for(var i=0,l=xs.length;l>i;i++)if(xs[i]===x)return i;return-1}module.exports=Readable;var processNextTick=require("process-nextick-args"),isArray=require("isarray"),Buffer=require("buffer").Buffer;Readable.ReadableState=ReadableState;var Stream,EElistenerCount=(require("events"),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,util=require("core-util-is");util.inherits=require("inherits");var debug,debugUtil=require("util");debug=debugUtil&&debugUtil.debuglog?debugUtil.debuglog("stream"):function(){};var StringDecoder;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=new Buffer(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);var state=this._readableState,nOrig=n;if(("number"!=typeof n||n>0)&&(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),doRead&&!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&&0===state.length&&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");var ret=dest.write(chunk);!1===ret&&(1!==state.pipesCount||state.pipes[0]!==dest||1!==src.listenerCount("data")||cleanedUp||(debug("false write response, pause",src._readableState.awaitDrain),src._readableState.awaitDrain++),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;return src.on("data",ondata),dest._events&&dest._events.error?isArray(dest._events.error)?dest._events.error.unshift(onerror):dest._events.error=[onerror,dest._events.error]:dest.on("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;len>i;i++)dests[i].emit("unpipe",this);return this}var i=indexOf(state.pipes,dest);return-1===i?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&&!1!==this._readableState.flowing&&this.resume(),"readable"===ev&&this.readable){var state=this._readableState;state.readableListening||(state.readableListening=!0,state.emittedReadable=!1,state.needReadable=!0,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":13,_process:10,buffer:2,"core-util-is":18,events:6,inherits:7,isarray:9,"process-nextick-args":19,"string_decoder/":26,util:1}],16:[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}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&&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":13,"core-util-is":18,inherits:7}],17:[function(require,module,exports){"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){var 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}function Writable(options){var Duplex=require("./_stream_duplex");return 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;if(!Buffer.isBuffer(chunk)&&"string"!=typeof chunk&&null!==chunk&&void 0!==chunk&&!state.objectMode){var er=new TypeError("Invalid non-string/buffer chunk");stream.emit("error",er),processNextTick(cb,er),valid=!1}return valid}function decodeChunk(state,chunk,encoding){return state.objectMode||state.decodeStrings===!1||"string"!=typeof chunk||(chunk=new Buffer(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}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?processNextTick(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){for(var buffer=[],cbs=[];entry;)cbs.push(entry.callback),buffer.push(entry),entry=entry.next;state.pendingcb++,state.lastBufferedRequest=null,doWrite(stream,state,!0,state.length,buffer,"",function(err){for(var i=0;i<cbs.length;i++)state.pendingcb--,cbs[i](err)})}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.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}module.exports=Writable;var processNextTick=require("process-nextick-args"),Buffer=require("buffer").Buffer;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;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(_){}}(),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);this._writableState.defaultEncoding=encoding},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)}},{"./_stream_duplex":13,buffer:2,"core-util-is":18,events:6,inherits:7,"process-nextick-args":19,"util-deprecate":20}],18:[function(require,module,exports){(function(Buffer){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 isBuffer(arg){return Buffer.isBuffer(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=isBuffer}).call(this,{isBuffer:require("../../../../insert-module-globals/node_modules/is-buffer/index.js")})},{"../../../../insert-module-globals/node_modules/is-buffer/index.js":8}],19:[function(require,module,exports){(function(process){"use strict";function nextTick(fn){for(var args=new Array(arguments.length-1),i=0;i<args.length;)args[i++]=arguments[i];process.nextTick(function(){fn.apply(null,args)})}module.exports=nextTick}).call(this,require("_process"))},{_process:10}],20:[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?!1:"true"===String(val).toLowerCase()}module.exports=deprecate}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],21:[function(require,module,exports){module.exports=require("./lib/_stream_passthrough.js")},{"./lib/_stream_passthrough.js":14}],22:[function(require,module,exports){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")},{"./lib/_stream_duplex.js":13,"./lib/_stream_passthrough.js":14,"./lib/_stream_readable.js":15,"./lib/_stream_transform.js":16,"./lib/_stream_writable.js":17}],23:[function(require,module,exports){module.exports=require("./lib/_stream_transform.js")},{"./lib/_stream_transform.js":16}],24:[function(require,module,exports){module.exports=require("./lib/_stream_writable.js")},{"./lib/_stream_writable.js":17}],25:[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:6,inherits:7,"readable-stream/duplex.js":12,"readable-stream/passthrough.js":21,"readable-stream/readable.js":22,"readable-stream/transform.js":23,"readable-stream/writable.js":24}],26:[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&&56319>=charCode)){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&&56319>=charCode){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(2>=i&&c>>4==14){this.charLength=3;break}if(3>=i&&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:2}],27:[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}},{}],28:[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(0>recurseTimes)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;l>i;++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 10>n?"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];len>i;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":27,_process:10,inherits:7}],29:[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.descriptionTypes.indexOf("rtp")>=0?new MediaSession(opts):opts.descriptionTypes.indexOf("filetransfer")>=0?new FileSession(opts):void 0},this.performTieBreak=conf.performTieBreak||function(sess,req){var descriptionTypes=req.jingle.contents.map(function(content){return content.description?content.description.descType:void 0}),matching=intersect(sess.pendingDescriptionTypes,descriptionTypes);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||[],descriptionTypes=contents.map(function(content){return content.description?content.description.descType:void 0}),transportTypes=contents.map(function(content){return content.transport?content.transport.transType:void 0});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;len>i;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,descriptionTypes:descriptionTypes,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:31,"jingle-filetransfer-session":32,"jingle-media-session":86,"jingle-session":118,util:28,webrtcsupport:123,wildemitter:124}],30:[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}},{}],31:[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}},{}],32:[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.description={descType:"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].description={descType:"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].description;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].description={descType:"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].description={descType:"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].description.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":30,"filetransfer/hashed":34,"jingle-session":118,rtcpeerconnection:85,util:28}],33:[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:28,wildemitter:53}],34:[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":33,"iana-hashes":35,util:28,wildemitter:53}],35:[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;len>i;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":36,"create-hash":37,"create-hmac":51}],36:[function(require,module,exports){module.exports=function(){return["sha1","sha224","sha256","sha384","sha512","md5","rmd160"]}},{}],37:[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":39,buffer:2,"cipher-base":40,inherits:41,ripemd160:42,"sha.js":44}],38:[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:2}],39:[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":38}],40:[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,final){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 final&&(out+=this._decoder.end()),out}}).call(this,require("buffer").Buffer)},{buffer:2,inherits:41,stream:25,string_decoder:26}],41:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],42:[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;16>i;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;80>i;i+=1)t=al+M[offset+zl[i]]|0,t+=16>i?f1(bl,cl,dl)+hl[0]:32>i?f2(bl,cl,dl)+hl[1]:48>i?f3(bl,cl,dl)+hl[2]:64>i?f4(bl,cl,dl)+hl[3]:f5(bl,cl,dl)+hl[4],t=0|t,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+=16>i?f5(br,cr,dr)+hr[0]:32>i?f4(br,cr,dr)+hr[1]:48>i?f3(br,cr,dr)+hr[2]:64>i?f2(br,cr,dr)+hr[3]:f1(br,cr,dr)+hr[4],t=0|t,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;5>i;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:
-
- - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-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:2}],43:[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;l>s;){for(var t=Math.min(data.length,f+this._blockSize-s%this._blockSize),ch=t-f,i=0;ch>i;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:2}],44:[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":45,"./sha1":46,"./sha224":47,"./sha256":48,"./sha384":49,"./sha512":50}],45:[function(require,module,exports){(function(Buffer){function Sha(){this.init(),this._w=W,Hash.call(this,64,56)}function rol(num,cnt){return num<<cnt|num>>>32-cnt}var inherits=require("inherits"),Hash=require("./hash"),W=new Array(80);inherits(Sha,Hash),Sha.prototype.init=function(){return this._a=1732584193,this._b=-271733879,this._c=-1732584194,this._d=271733878,this._e=-1009589776,this},Sha.prototype._update=function(M){function calcW(){return W[j-3]^W[j-8]^W[j-14]^W[j-16]}function loop(w,f){W[j]=w;var t=rol(a,5)+f+e+w+k;e=d,d=c,c=rol(b,30),b=a,a=t,j++}var k,W=this._w,a=this._a,b=this._b,c=this._c,d=this._d,e=this._e,j=0;for(k=1518500249;16>j;)loop(M.readInt32BE(4*j),b&c|~b&d);for(;20>j;)loop(calcW(),b&c|~b&d);for(k=1859775393;40>j;)loop(calcW(),b^c^d);for(k=-1894007588;60>j;)loop(calcW(),b&c|b&d|c&d);for(k=-899497514;80>j;)loop(calcW(),b^c^d);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":43,buffer:2,inherits:41}],46:[function(require,module,exports){(function(Buffer){function Sha1(){this.init(),this._w=W,Hash.call(this,64,56)}function rol(num,cnt){return num<<cnt|num>>>32-cnt}var inherits=require("inherits"),Hash=require("./hash"),W=new Array(80);inherits(Sha1,Hash),Sha1.prototype.init=function(){return this._a=1732584193,this._b=-271733879,this._c=-1732584194,this._d=271733878,this._e=-1009589776,this},Sha1.prototype._update=function(M){function calcW(){return rol(W[j-3]^W[j-8]^W[j-14]^W[j-16],1)}function loop(w,f){W[j]=w;var t=rol(a,5)+f+e+w+k;e=d,d=c,c=rol(b,30),b=a,a=t,j++}var k,W=this._w,a=this._a,b=this._b,c=this._c,d=this._d,e=this._e,j=0;for(k=1518500249;16>j;)loop(M.readInt32BE(4*j),b&c|~b&d);for(;20>j;)loop(calcW(),b&c|~b&d);for(k=1859775393;40>j;)loop(calcW(),b^c^d);for(k=-1894007588;60>j;)loop(calcW(),b&c|b&d|c&d);for(k=-899497514;80>j;)loop(calcW(),b^c^d);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":43,buffer:2,inherits:41}],47:[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=-1056596264,this._b=914150663,this._c=812702999,this._d=-150054599,this._e=-4191439,this._f=1750603025,this._g=1694076839,this._h=-1090891868,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":43,"./sha256":48,buffer:2,inherits:41}],48:[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=-1150833019,this._c=1013904242,this._d=-1521486534,this._e=1359893119,this._f=-1694144372,this._g=528734635,this._h=1541459225,this},Sha256.prototype._update=function(M){function calcW(){return Gamma1(W[j-2])+W[j-7]+Gamma0(W[j-15])+W[j-16]}function loop(w){W[j]=w;var T1=h+Sigma1(e)+Ch(e,f,g)+K[j]+w,T2=Sigma0(a)+Maj(a,b,c);h=g,g=f,f=e,e=d+T1,d=c,c=b,b=a,a=T1+T2,j++}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,j=0;16>j;)loop(M.readInt32BE(4*j));for(;64>j;)loop(calcW());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":43,buffer:2,inherits:41}],49:[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._a=-876896931,this._b=1654270250,this._c=-1856437926,this._d=355462360,this._e=1731405415,this._f=-1900787065,this._g=-619958771,this._h=1203062813,this._al=-1056596264,this._bl=914150663,this._cl=812702999,this._dl=-150054599,this._el=-4191439,this._fl=1750603025,this._gl=1694076839,this._hl=-1090891868,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._a,this._al,0),writeInt64BE(this._b,this._bl,8),writeInt64BE(this._c,this._cl,16),writeInt64BE(this._d,this._dl,24),writeInt64BE(this._e,this._el,32),writeInt64BE(this._f,this._fl,40),H},module.exports=Sha384}).call(this,require("buffer").Buffer)},{"./hash":43,"./sha512":50,buffer:2,inherits:41}],50:[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)}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._a=1779033703,this._b=-1150833019,this._c=1013904242,this._d=-1521486534,this._e=1359893119,this._f=-1694144372,this._g=528734635,this._h=1541459225,this._al=-205731576,this._bl=-2067093701,this._cl=-23791573,this._dl=1595750129,this._el=-1377402159,this._fl=725511199,this._gl=-79577749,this._hl=327033209,this},Sha512.prototype._update=function(M){function calcW(){var x=W[j-30],xl=W[j-30+1],gamma0=Gamma0(x,xl),gamma0l=Gamma0l(xl,x);x=W[j-4],xl=W[j-4+1];var gamma1=Gamma1(x,xl),gamma1l=Gamma1l(xl,x),Wi7=W[j-14],Wi7l=W[j-14+1],Wi16=W[j-32],Wi16l=W[j-32+1];Wil=gamma0l+Wi7l,Wi=gamma0+Wi7+(gamma0l>>>0>Wil>>>0?1:0),Wil+=gamma1l,Wi=Wi+gamma1+(gamma1l>>>0>Wil>>>0?1:0),Wil+=Wi16l,Wi=Wi+Wi16+(Wi16l>>>0>Wil>>>0?1:0)}function loop(){W[j]=Wi,W[j+1]=Wil;var maj=Maj(a,b,c),majl=Maj(al,bl,cl),sigma0h=Sigma0(a,al),sigma0l=Sigma0(al,a),sigma1h=Sigma1(e,el),sigma1l=Sigma1(el,e),Ki=K[j],Kil=K[j+1],ch=Ch(e,f,g),chl=Ch(el,fl,gl),t1l=hl+sigma1l,t1=h+sigma1h+(hl>>>0>t1l>>>0?1:0);t1l+=chl,t1=t1+ch+(chl>>>0>t1l>>>0?1:0),t1l+=Kil,t1=t1+Ki+(Kil>>>0>t1l>>>0?1:0),t1l+=Wil,t1=t1+Wi+(Wil>>>0>t1l>>>0?1:0);var t2l=sigma0l+majl,t2=sigma0h+maj+(sigma0l>>>0>t2l>>>0?1:0);h=g,hl=gl,g=f,gl=fl,f=e,fl=el,el=dl+t1l|0,e=d+t1+(dl>>>0>el>>>0?1:0)|0,d=c,dl=cl,c=b,cl=bl,b=a,bl=al,al=t1l+t2l|0,a=t1+t2+(t1l>>>0>al>>>0?1:0)|0,i++,j+=2}for(var Wi,Wil,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,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,j=0;16>i;)Wi=M.readInt32BE(4*j),Wil=M.readInt32BE(4*j+4),loop();for(;80>i;)calcW(),loop();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._a=this._a+a+(this._al>>>0<al>>>0?1:0)|0,this._b=this._b+b+(this._bl>>>0<bl>>>0?1:0)|0,this._c=this._c+c+(this._cl>>>0<cl>>>0?1:0)|0,this._d=this._d+d+(this._dl>>>0<dl>>>0?1:0)|0,this._e=this._e+e+(this._el>>>0<el>>>0?1:0)|0,this._f=this._f+f+(this._fl>>>0<fl>>>0?1:0)|0,this._g=this._g+g+(this._gl>>>0<gl>>>0?1:0)|0,this._h=this._h+h+(this._hl>>>0<hl>>>0?1:0)|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._a,this._al,0),writeInt64BE(this._b,this._bl,8),writeInt64BE(this._c,this._cl,16),writeInt64BE(this._d,this._dl,24),writeInt64BE(this._e,this._el,32),writeInt64BE(this._f,this._fl,40),writeInt64BE(this._g,this._gl,48),writeInt64BE(this._h,this._hl,56),H},module.exports=Sha512}).call(this,require("buffer").Buffer)},{"./hash":43,buffer:2,inherits:41}],51:[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;blocksize>i;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:2,"create-hash/browser":37,inherits:52,stream:25}],52:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],53:[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;len>i;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;len>i&&listeners[i];++i)listeners[i].apply(this,args);if(specialCallbacks)for(len=specialCallbacks.length,listeners=specialCallbacks.slice(),i=0,len=listeners.length;len>i&&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)},{}],54:[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":55,"lodash._baseeach":56,"lodash._bindcallback":60,"lodash.isarray":61}],55:[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},{}],56:[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&&MAX_SAFE_INTEGER>=value}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":57}],57:[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&&length>value}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&MAX_SAFE_INTEGER>=value}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":58,"lodash.isarguments":59,"lodash.isarray":61}],58:[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?!1: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},{}],59:[function(require,module,exports){function isObjectLike(value){return!!value&&"object"==typeof value}function baseProperty(key){return function(object){return null==object?void 0:object[key]}}function isArrayLike(value){return null!=value&&isLength(getLength(value))}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&MAX_SAFE_INTEGER>=value}function isArguments(value){return isObjectLike(value)&&isArrayLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")}var objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,propertyIsEnumerable=objectProto.propertyIsEnumerable,MAX_SAFE_INTEGER=9007199254740991,getLength=baseProperty("length");module.exports=isArguments},{}],60:[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},{}],61:[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&&MAX_SAFE_INTEGER>=value}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?!1: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},{}],62:[function(require,module,exports){function baseProperty(key){return function(object){return null==object?void 0:object[key]}}function basePropertyDeep(path){var pathKey=path+"";return path=toPath(path),function(object){return baseGet(object,path,pathKey)}}function isKey(value,object){var type=typeof value;if("string"==type&&reIsPlainProp.test(value)||"number"==type)return!0;if(isArray(value))return!1;var result=!reIsDeepProp.test(value);return result||null!=object&&value in toObject(object)}function toObject(value){return isObject(value)?value:Object(value)}function pluck(collection,path){return map(collection,property(path))}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}function property(path){return isKey(path)?baseProperty(path):basePropertyDeep(path)}var baseGet=require("lodash._baseget"),toPath=require("lodash._topath"),isArray=require("lodash.isarray"),map=require("lodash.map"),reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;module.exports=pluck},{"lodash._baseget":63,"lodash._topath":64,"lodash.isarray":65,"lodash.map":66}],63:[function(require,module,exports){function baseGet(object,path,pathKey){if(null!=object){void 0!==pathKey&&pathKey in toObject(object)&&(path=[pathKey]);for(var index=0,length=path.length;null!=object&&length>index;)object=object[path[index++]];return index&&index==length?object:void 0}}function toObject(value){return isObject(value)?value:Object(value)}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}module.exports=baseGet},{}],64:[function(require,module,exports){function baseToString(value){return null==value?"":value+""}function toPath(value){if(isArray(value))return value;var result=[];return baseToString(value).replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,"$1"):number||match)}),result}var isArray=require("lodash.isarray"),rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,reEscapeChar=/\\(\\)?/g;module.exports=toPath},{"lodash.isarray":65}],65:[function(require,module,exports){arguments[4][61][0].apply(exports,arguments)},{dup:61}],66:[function(require,module,exports){function baseMap(collection,iteratee){var index=-1,result=isArrayLike(collection)?Array(collection.length):[];return baseEach(collection,function(value,key,collection){result[++index]=iteratee(value,key,collection)}),result}function baseProperty(key){return function(object){return null==object?void 0:object[key]}}function isArrayLike(value){return null!=value&&isLength(getLength(value))}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&MAX_SAFE_INTEGER>=value}function map(collection,iteratee,thisArg){var func=isArray(collection)?arrayMap:baseMap;return iteratee=baseCallback(iteratee,thisArg,3),func(collection,iteratee)}var arrayMap=require("lodash._arraymap"),baseCallback=require("lodash._basecallback"),baseEach=require("lodash._baseeach"),isArray=require("lodash.isarray"),MAX_SAFE_INTEGER=9007199254740991,getLength=baseProperty("length");module.exports=map},{"lodash._arraymap":67,"lodash._basecallback":68,"lodash._baseeach":73,"lodash.isarray":65}],67:[function(require,module,exports){function arrayMap(array,iteratee){for(var index=-1,length=array.length,result=Array(length);++index<length;)result[index]=iteratee(array[index],index,array);return result}module.exports=arrayMap},{}],68:[function(require,module,exports){function baseToString(value){return null==value?"":value+""}function baseCallback(func,thisArg,argCount){var type=typeof func;return"function"==type?void 0===thisArg?func:bindCallback(func,thisArg,argCount):null==func?identity:"object"==type?baseMatches(func):void 0===thisArg?property(func):baseMatchesProperty(func,thisArg)}function baseGet(object,path,pathKey){if(null!=object){void 0!==pathKey&&pathKey in toObject(object)&&(path=[pathKey]);for(var index=0,length=path.length;null!=object&&length>index;)object=object[path[index++]];return index&&index==length?object:void 0}}function baseIsMatch(object,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(null==object)return!length;for(object=toObject(object);index--;){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object))return!1}for(;++index<length;){data=matchData[index];var key=data[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(void 0===objValue&&!(key in object))return!1}else{var result=customizer?customizer(objValue,srcValue,key):void 0;if(!(void 0===result?baseIsEqual(srcValue,objValue,customizer,!0):result))return!1}}return!0}function baseMatches(source){var matchData=getMatchData(source);if(1==matchData.length&&matchData[0][2]){var key=matchData[0][0],value=matchData[0][1];return function(object){return null==object?!1:object[key]===value&&(void 0!==value||key in toObject(object))}}return function(object){return baseIsMatch(object,matchData)}}function baseMatchesProperty(path,srcValue){var isArr=isArray(path),isCommon=isKey(path)&&isStrictComparable(srcValue),pathKey=path+"";return path=toPath(path),function(object){if(null==object)return!1;var key=pathKey;if(object=toObject(object),(isArr||!isCommon)&&!(key in object)){if(object=1==path.length?object:baseGet(object,baseSlice(path,0,-1)),null==object)return!1;key=last(path),object=toObject(object)}return object[key]===srcValue?void 0!==srcValue||key in object:baseIsEqual(srcValue,object[key],void 0,!0)}}function baseProperty(key){return function(object){return null==object?void 0:object[key]}}function basePropertyDeep(path){var pathKey=path+"";return path=toPath(path),function(object){return baseGet(object,path,pathKey)}}function baseSlice(array,start,end){var index=-1,length=array.length;start=null==start?0:+start||0,0>start&&(start=-start>length?0:length+start),
-end=void 0===end||end>length?length:+end||0,0>end&&(end+=length),length=start>end?0:end-start>>>0,start>>>=0;for(var result=Array(length);++index<length;)result[index]=array[index+start];return result}function getMatchData(object){for(var result=pairs(object),length=result.length;length--;)result[length][2]=isStrictComparable(result[length][1]);return result}function isKey(value,object){var type=typeof value;if("string"==type&&reIsPlainProp.test(value)||"number"==type)return!0;if(isArray(value))return!1;var result=!reIsDeepProp.test(value);return result||null!=object&&value in toObject(object)}function isStrictComparable(value){return value===value&&!isObject(value)}function toObject(value){return isObject(value)?value:Object(value)}function toPath(value){if(isArray(value))return value;var result=[];return baseToString(value).replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,"$1"):number||match)}),result}function last(array){var length=array?array.length:0;return length?array[length-1]:void 0}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}function identity(value){return value}function property(path){return isKey(path)?baseProperty(path):basePropertyDeep(path)}var baseIsEqual=require("lodash._baseisequal"),bindCallback=require("lodash._bindcallback"),isArray=require("lodash.isarray"),pairs=require("lodash.pairs"),reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,reEscapeChar=/\\(\\)?/g;module.exports=baseCallback},{"lodash._baseisequal":69,"lodash._bindcallback":71,"lodash.isarray":65,"lodash.pairs":72}],69:[function(require,module,exports){function isObjectLike(value){return!!value&&"object"==typeof value}function arraySome(array,predicate){for(var index=-1,length=array.length;++index<length;)if(predicate(array[index],index,array))return!0;return!1}function baseIsEqual(value,other,customizer,isLoose,stackA,stackB){return value===other?!0:null==value||null==other||!isObject(value)&&!isObjectLike(other)?value!==value&&other!==other:baseIsEqualDeep(value,other,baseIsEqual,customizer,isLoose,stackA,stackB)}function baseIsEqualDeep(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=arrayTag,othTag=arrayTag;objIsArr||(objTag=objToString.call(object),objTag==argsTag?objTag=objectTag:objTag!=objectTag&&(objIsArr=isTypedArray(object))),othIsArr||(othTag=objToString.call(other),othTag==argsTag?othTag=objectTag:othTag!=objectTag&&(othIsArr=isTypedArray(other)));var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&!objIsArr&&!objIsObj)return equalByTag(object,other,objTag);if(!isLoose){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped)return equalFunc(objIsWrapped?object.value():object,othIsWrapped?other.value():other,customizer,isLoose,stackA,stackB)}if(!isSameTag)return!1;stackA||(stackA=[]),stackB||(stackB=[]);for(var length=stackA.length;length--;)if(stackA[length]==object)return stackB[length]==other;stackA.push(object),stackB.push(other);var result=(objIsArr?equalArrays:equalObjects)(object,other,equalFunc,customizer,isLoose,stackA,stackB);return stackA.pop(),stackB.pop(),result}function equalArrays(array,other,equalFunc,customizer,isLoose,stackA,stackB){var index=-1,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isLoose&&othLength>arrLength))return!1;for(;++index<arrLength;){var arrValue=array[index],othValue=other[index],result=customizer?customizer(isLoose?othValue:arrValue,isLoose?arrValue:othValue,index):void 0;if(void 0!==result){if(result)continue;return!1}if(isLoose){if(!arraySome(other,function(othValue){return arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB)}))return!1}else if(arrValue!==othValue&&!equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB))return!1}return!0}function equalByTag(object,other,tag){switch(tag){case boolTag:case dateTag:return+object==+other;case errorTag:return object.name==other.name&&object.message==other.message;case numberTag:return object!=+object?other!=+other:object==+other;case regexpTag:case stringTag:return object==other+""}return!1}function equalObjects(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objProps=keys(object),objLength=objProps.length,othProps=keys(other),othLength=othProps.length;if(objLength!=othLength&&!isLoose)return!1;for(var index=objLength;index--;){var key=objProps[index];if(!(isLoose?key in other:hasOwnProperty.call(other,key)))return!1}for(var skipCtor=isLoose;++index<objLength;){key=objProps[index];var objValue=object[key],othValue=other[key],result=customizer?customizer(isLoose?othValue:objValue,isLoose?objValue:othValue,key):void 0;if(!(void 0===result?equalFunc(objValue,othValue,customizer,isLoose,stackA,stackB):result))return!1;skipCtor||(skipCtor="constructor"==key)}if(!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&"constructor"in object&&"constructor"in other&&!("function"==typeof objCtor&&objCtor instanceof objCtor&&"function"==typeof othCtor&&othCtor instanceof othCtor))return!1}return!0}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}var isArray=require("lodash.isarray"),isTypedArray=require("lodash.istypedarray"),keys=require("lodash.keys"),argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",stringTag="[object String]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString;module.exports=baseIsEqual},{"lodash.isarray":65,"lodash.istypedarray":70,"lodash.keys":74}],70:[function(require,module,exports){function isObjectLike(value){return!!value&&"object"==typeof value}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&MAX_SAFE_INTEGER>=value}function isTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[objToString.call(value)]}var argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",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]",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var objectProto=Object.prototype,objToString=objectProto.toString,MAX_SAFE_INTEGER=9007199254740991;module.exports=isTypedArray},{}],71:[function(require,module,exports){arguments[4][60][0].apply(exports,arguments)},{dup:60}],72:[function(require,module,exports){function toObject(value){return isObject(value)?value:Object(value)}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}function pairs(object){object=toObject(object);for(var index=-1,props=keys(object),length=props.length,result=Array(length);++index<length;){var key=props[index];result[index]=[key,object[key]]}return result}var keys=require("lodash.keys");module.exports=pairs},{"lodash.keys":74}],73:[function(require,module,exports){arguments[4][56][0].apply(exports,arguments)},{dup:56,"lodash.keys":74}],74:[function(require,module,exports){arguments[4][57][0].apply(exports,arguments)},{dup:57,"lodash._getnative":75,"lodash.isarguments":76,"lodash.isarray":65}],75:[function(require,module,exports){arguments[4][58][0].apply(exports,arguments)},{dup:58}],76:[function(require,module,exports){arguments[4][59][0].apply(exports,arguments)},{dup:59}],77:[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":80,"./lib/tosdp":81}],78:[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]}}},{}],79:[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"}}}},{}],80:[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,description:{descType:"rtp",media:mline.media,payloads:[],encryption:[],feedback:[],headerExtensions:[]},transport:{transType:"iceUdp",candidates:[],fingerprints:[]}};"application"==mline.media&&(content.description={descType:"datachannel"},content.transport.sctp=[]);var desc=content.description,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.descType){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.descType){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":78,"./senders":79}],81:[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","a=msid-semantic: WMS *"],groups=session.groups||[];groups.forEach(function(group){sdp.push("a=group:"+group.semantics+" "+group.contents.join(" "))});var contents=session.contents||[];return 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.description,transport=content.transport,payloads=desc.payloads||[],fingerprints=transport&&transport.fingerprints||[],mline=[];if("datachannel"==desc.descType?(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"),desc.encryption&&desc.encryption.length>0||fingerprints.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.descType&&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.descType&&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":79}],82:[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-test"),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;this.trace("setLocalDescription",dumpSDP(description)),this.peerconnection.setLocalDescription(description,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;this.trace("setRemoteDescription",dumpSDP(description)),this.peerconnection.setRemoteDescription(description,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;this.trace("createOffer",constraints),this.peerconnection.createOffer(function(offer){self.trace("createOfferOnSuccess",dumpSDP(offer)),successCallback&&successCallback(offer)},function(err){self.trace("createOfferOnFailure",err),failureCallback&&failureCallback(err)},constraints)},TraceablePeerConnection.prototype.createAnswer=function(successCallback,failureCallback,constraints){var self=this;this.trace("createAnswer",constraints),this.peerconnection.createAnswer(function(answer){self.trace("createAnswerOnSuccess",dumpSDP(answer)),successCallback&&successCallback(answer)},function(err){self.trace("createAnswerOnFailure",err),failureCallback&&failureCallback(err)},constraints)},TraceablePeerConnection.prototype.addIceCandidate=function(candidate,successCallback,failureCallback){var self=this;this.trace("addIceCandidate",candidate),this.peerconnection.addIceCandidate(candidate,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:28,"webrtc-adapter-test":83,wildemitter:84}],83:[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])}};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&&window.mozRTCPeerConnection){if(webrtcUtils.log("This appears to be Firefox"),webrtcDetectedBrowser="firefox",webrtcDetectedVersion=webrtcUtils.extractVersion(navigator.userAgent,/Firefox\/([0-9]+)\./,1),webrtcMinimumVersion=31,window.RTCPeerConnection=function(pcConfig,pcConstraints){if(38>webrtcDetectedVersion&&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.RTCSessionDescription||(window.RTCSessionDescription=mozRTCSessionDescription),window.RTCIceCandidate||(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 38>webrtcDetectedVersion&&(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)})},41>webrtcDetectedVersion){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},["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 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),webrtcMinimumVersion=12):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";var webrtcTesting={};try{Object.defineProperty(webrtcTesting,"version",{set:function(version){webrtcDetectedVersion=version}})}catch(e){}if("undefined"!=typeof module){var RTCPeerConnection;"undefined"!=typeof window&&(RTCPeerConnection=window.RTCPeerConnection),module.exports={RTCPeerConnection:RTCPeerConnection,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,getUserMedia:getUserMedia,attachMediaStream:attachMediaStream,reattachMediaStream:reattachMediaStream,webrtcDetectedBrowser:webrtcDetectedBrowser,webrtcDetectedVersion:webrtcDetectedVersion,webrtcMinimumVersion:webrtcMinimumVersion,webrtcTesting:webrtcTesting,webrtcUtils:webrtcUtils}})},{}],84:[function(require,module,exports){arguments[4][53][0].apply(exports,arguments)},{dup:53}],85:[function(require,module,exports){function PeerConnection(config,constraints){var item,self=this;WildEmitter.call(this),config=config||{},config.iceServers=config.iceServers||[],this.enableChromeNativeSimulcast=!1,constraints&&constraints.optional&&"chrome"===adapter.webrtcDetectedBrowser&&null===navigator.appVersion.match(/Chromium\//)&&constraints.optional.forEach(function(constraint){constraint.enableChromeNativeSimulcast&&(self.enableChromeNativeSimulcast=!0)}),this.enableMultiStreamHacks=!1,constraints&&constraints.optional&&"chrome"===adapter.webrtcDetectedBrowser&&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"===adapter.webrtcDetectedBrowser&&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"===adapter.webrtcDetectedBrowser&&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,ice:{},sid:"",isInitiator:!0,sdpSessionID:Date.now(),useJingle:!1};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"),each=require("lodash.foreach"),pluck=require("lodash.pluck"),SJJ=require("sdp-jingle-json"),WildEmitter=require("wildemitter"),peerconn=require("traceablepeerconnection"),adapter=require("webrtc-adapter-test");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),-1!=cand.ip.indexOf(":")&&(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),-1!=cand.ip.indexOf(":")&&(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=pluck(this.remoteDescription.contents,"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;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)})})}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:{mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:!0}};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,each(jingle.contents,function(content){var transport=content.transport||{};transport.ufrag&&(self.config.ice[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.description.googConferenceFlag=!0)}),this.enableMultiStreamHacks&&offer.jingle.contents.forEach(function(content){if("video"===content.name){var sources=content.description.sources||[];(0===sources.length||"3735928559"!==sources[0].ssrc)&&(sources.unshift({ssrc:"3735928559",parameters:[{key:"cname",value:"deadbeef"},{key:"msid",value:"mixyourfecintothis please"}]}),content.description.sources=sources)}}),self.restrictBandwidth>0&&offer.jingle.contents.length>=2&&"video"===offer.jingle.contents[1].name){var content=offer.jingle.contents[1],hasBw=content.description&&content.description.bandwidth;hasBw||(offer.jingle.contents[1].description.bandwidth={type:"AS",bandwidth:self.restrictBandwidth.toString()},offer.sdp=SJJ.toSessionSDP(offer.jingle,{sid:self.config.sdpSessionID,role:self._role(),direction:"outgoing"}))}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.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].description.sourceGroups||[],hasSim=!1;if(groups.forEach(function(group){"SIM"==group.semantics&&(hasSim=!0)}),!hasSim&&answer.jingle.contents[1].description.sources.length){var newssrc=JSON.parse(JSON.stringify(answer.jingle.contents[1].description.sources[0]));newssrc.ssrc=""+Math.floor(4294967295*Math.random()),answer.jingle.contents[1].description.sources.push(newssrc),sim.push(answer.jingle.contents[1].description.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].description.sources.push(rtxssrc),groups.push({semantics:"FID",sources:[newssrc.ssrc,rtxssrc.ssrc]}),answer.jingle.contents[1].description.sourceGroups=groups,answer.sdp=SJJ.toSessionSDP(answer.jingle,{sid:self.config.sdpSessionID,role:self._role(),direction:"outgoing"})}}var expandedAnswer={type:"answer",sdp:answer.sdp};self.assumeSetLocalSuccess&&(self.emit("answer",expandedAnswer),cb(null,expandedAnswer)),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}self.enableChromeNativeSimulcast&&(expandedAnswer.jingle||(expandedAnswer.jingle=SJJ.toSessionJSON(answer.sdp,{role:self._role(),direction:"outgoing"})),expandedAnswer.jingle.contents[1].description.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||(self.emit("answer",expandedAnswer),cb(null,expandedAnswer))},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.config.ice[ice.sdpMid]){var jingle=SJJ.toSessionJSON(self.pc.localDescription.sdp,{role:self._role(),direction:"outgoing"});each(jingle.contents,function(content){var transport=content.transport||{};transport.ufrag&&(self.config.ice[content.name]={ufrag:transport.ufrag,pwd:transport.pwd})})}if(expandedCandidate.jingle={contents:[{name:ice.sdpMid,creator:self._role(),transport:{transType:"iceUdp",ufrag:self.config.ice[ice.sdpMid].ufrag,pwd:self.config.ice[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){"firefox"===adapter.webrtcDetectedBrowser?this.pc.getStats(function(res){var items=[];for(var result in res)"object"==typeof res[result]&&items.push(res[result]);cb(null,items)},cb):this.pc.getStats(function(res){var items=[];res.result().forEach(function(result){var item={};result.names().forEach(function(name){item[name]=result.stat(name)}),item.id=result.id,item.type=result.type,item.timestamp=result.timestamp,items.push(item)}),cb(null,items)})},module.exports=PeerConnection},{"lodash.foreach":54,"lodash.pluck":62,"sdp-jingle-json":77,traceablepeerconnection:82,util:28,"webrtc-adapter-test":83,wildemitter:84}],86:[function(require,module,exports){function filterContentSources(content,stream){"rtp"===content.description.descType&&(delete content.transport,delete content.description.payloads,delete content.description.headerExtensions,content.description.mux=!1,content.description.sources&&(content.description.sources=content.description.sources.filter(function(source){return stream.id===source.parameters[1].value.split(" ")[0]})),content.description.sourceGroups&&(content.description.sourceGroups=content.description.sourceGroups.filter(function(group){for(var found=!1,i=0;i<content.description.sources.length;i++)if(content.description.sources[i].ssrc===group.sources[0]){found=!0;break}return found})))}function filterUnusedLabels(content){var sources=content.description.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)),this.pc.on("endOfCandidates",this.onIceEndOfCandidates.bind(this)),this.pc.on("iceConnectionStateChange",this.onIceStateChange.bind(this)),this.pc.on("addStream",this.onAddStream.bind(this)),this.pc.on("removeStream",this.onRemoveStream.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.description.media;content.description&&"rtp"===content.description.descType&&(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(next){var self=this;next=next||function(){},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")):(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.description.descType&&content.description.sources&&content.description.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.description.descType&&content.description.sources&&content.description.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.description.payloads}),this.pc.removeStream(oldStream),this.send("source-remove",desc);
-var audioTracks=oldStream.getAudioTracks();audioTracks.length&&newStream.addTrack(audioTracks[0]),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.description.payloads}),self.send("source-add",answer.jingle),void cb())})})},onIceCandidate:function(candidate){this._log("info","Discovered new ICE candidate",candidate.jingle),this.send("transport-info",candidate.jingle)},onIceEndOfCandidates:function(){this._log("info","ICE end of candidates")},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.description,ssrcs=desc.sources||[],groups=desc.sourceGroups||[];changes.contents.forEach(function(newContent){if(content.name===newContent.name){var newContentDesc=newContent.description,newSSRCs=newContentDesc.sources||[];ssrcs=ssrcs.concat(newSSRCs),newDesc.contents[idx].description.sources=JSON.parse(JSON.stringify(ssrcs));var newGroups=newContentDesc.sourceGroups||[];groups=groups.concat(newGroups),newDesc.contents[idx].description.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.description,ssrcs=desc.sources||[],groups=desc.sourceGroups||[];changes.contents.forEach(function(newContent){if(content.name===newContent.name){var found,i,j,k,newContentDesc=newContent.description,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].description.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].description.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()})})}}),module.exports=MediaSession},{"extend-object":30,"jingle-session":118,rtcpeerconnection:117,util:28}],87:[function(require,module,exports){arguments[4][54][0].apply(exports,arguments)},{dup:54,"lodash._arrayeach":88,"lodash._baseeach":89,"lodash._bindcallback":93,"lodash.isarray":94}],88:[function(require,module,exports){arguments[4][55][0].apply(exports,arguments)},{dup:55}],89:[function(require,module,exports){arguments[4][56][0].apply(exports,arguments)},{dup:56,"lodash.keys":90}],90:[function(require,module,exports){arguments[4][57][0].apply(exports,arguments)},{dup:57,"lodash._getnative":91,"lodash.isarguments":92,"lodash.isarray":94}],91:[function(require,module,exports){arguments[4][58][0].apply(exports,arguments)},{dup:58}],92:[function(require,module,exports){arguments[4][59][0].apply(exports,arguments)},{dup:59}],93:[function(require,module,exports){arguments[4][60][0].apply(exports,arguments)},{dup:60}],94:[function(require,module,exports){arguments[4][61][0].apply(exports,arguments)},{dup:61}],95:[function(require,module,exports){arguments[4][62][0].apply(exports,arguments)},{dup:62,"lodash._baseget":96,"lodash._topath":97,"lodash.isarray":98,"lodash.map":99}],96:[function(require,module,exports){arguments[4][63][0].apply(exports,arguments)},{dup:63}],97:[function(require,module,exports){arguments[4][64][0].apply(exports,arguments)},{dup:64,"lodash.isarray":98}],98:[function(require,module,exports){arguments[4][61][0].apply(exports,arguments)},{dup:61}],99:[function(require,module,exports){arguments[4][66][0].apply(exports,arguments)},{dup:66,"lodash._arraymap":100,"lodash._basecallback":101,"lodash._baseeach":106,"lodash.isarray":98}],100:[function(require,module,exports){arguments[4][67][0].apply(exports,arguments)},{dup:67}],101:[function(require,module,exports){arguments[4][68][0].apply(exports,arguments)},{dup:68,"lodash._baseisequal":102,"lodash._bindcallback":104,"lodash.isarray":98,"lodash.pairs":105}],102:[function(require,module,exports){arguments[4][69][0].apply(exports,arguments)},{dup:69,"lodash.isarray":98,"lodash.istypedarray":103,"lodash.keys":107}],103:[function(require,module,exports){arguments[4][70][0].apply(exports,arguments)},{dup:70}],104:[function(require,module,exports){arguments[4][60][0].apply(exports,arguments)},{dup:60}],105:[function(require,module,exports){arguments[4][72][0].apply(exports,arguments)},{dup:72,"lodash.keys":107}],106:[function(require,module,exports){arguments[4][56][0].apply(exports,arguments)},{dup:56,"lodash.keys":107}],107:[function(require,module,exports){arguments[4][57][0].apply(exports,arguments)},{dup:57,"lodash._getnative":108,"lodash.isarguments":109,"lodash.isarray":98}],108:[function(require,module,exports){arguments[4][58][0].apply(exports,arguments)},{dup:58}],109:[function(require,module,exports){arguments[4][59][0].apply(exports,arguments)},{dup:59}],110:[function(require,module,exports){arguments[4][77][0].apply(exports,arguments)},{"./lib/tojson":113,"./lib/tosdp":114,dup:77}],111:[function(require,module,exports){arguments[4][78][0].apply(exports,arguments)},{dup:78}],112:[function(require,module,exports){arguments[4][79][0].apply(exports,arguments)},{dup:79}],113:[function(require,module,exports){arguments[4][80][0].apply(exports,arguments)},{"./parsers":111,"./senders":112,dup:80}],114:[function(require,module,exports){arguments[4][81][0].apply(exports,arguments)},{"./senders":112,dup:81}],115:[function(require,module,exports){arguments[4][82][0].apply(exports,arguments)},{dup:82,util:28,"webrtc-adapter-test":116,wildemitter:124}],116:[function(require,module,exports){arguments[4][83][0].apply(exports,arguments)},{dup:83}],117:[function(require,module,exports){arguments[4][85][0].apply(exports,arguments)},{dup:85,"lodash.foreach":87,"lodash.pluck":95,"sdp-jingle-json":110,traceablepeerconnection:115,util:28,"webrtc-adapter-test":116,wildemitter:124}],118:[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.pendingDescriptionTypes=opts.descriptionTypes||[],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:119,"extend-object":30,util:28,uuid:121,wildemitter:122}],119:[function(require,module,exports){(function(process){/*!
- * async
- * https://github.com/caolan/async
- *
- * Copyright 2010-2014 Caolan McMahon
- * Released under the MIT license
- */
-!function(){function only_once(fn){var called=!1;return function(){if(called)throw new Error("Callback was already called.");called=!0,fn.apply(root,arguments)}}var root,previous_async,async={};root=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)},_each=function(arr,iterator){for(var i=0;i<arr.length;i+=1)iterator(arr[i],i,arr)},_map=function(arr,iterator){if(arr.map)return arr.map(iterator);var results=[];return _each(arr,function(x,i,a){results.push(iterator(x,i,a))}),results},_reduce=function(arr,iterator,memo){return arr.reduce?arr.reduce(iterator,memo):(_each(arr,function(x,i,a){memo=iterator(memo,x,i,a)}),memo)},_keys=function(obj){if(Object.keys)return Object.keys(obj);var keys=[];for(var k in obj)obj.hasOwnProperty(k)&&keys.push(k);return keys};"undefined"!=typeof process&&process.nextTick?(async.nextTick=process.nextTick,"undefined"!=typeof setImmediate?async.setImmediate=function(fn){setImmediate(fn)}:async.setImmediate=async.nextTick):"function"==typeof setImmediate?(async.nextTick=function(fn){setImmediate(fn)},async.setImmediate=async.nextTick):(async.nextTick=function(fn){setTimeout(fn,0)},async.setImmediate=async.nextTick),async.each=function(arr,iterator,callback){function done(err){err?(callback(err),callback=function(){}):(completed+=1,completed>=arr.length&&callback())}if(callback=callback||function(){},!arr.length)return callback();var completed=0;_each(arr,function(x){iterator(x,only_once(done))})},async.forEach=async.each,async.eachSeries=function(arr,iterator,callback){if(callback=callback||function(){},!arr.length)return callback();var completed=0,iterate=function(){iterator(arr[completed],function(err){err?(callback(err),callback=function(){}):(completed+=1,completed>=arr.length?callback():iterate())})};iterate()},async.forEachSeries=async.eachSeries,async.eachLimit=function(arr,limit,iterator,callback){var fn=_eachLimit(limit);fn.apply(null,[arr,iterator,callback])},async.forEachLimit=async.eachLimit;var _eachLimit=function(limit){return function(arr,iterator,callback){if(callback=callback||function(){},!arr.length||0>=limit)return callback();var completed=0,started=0,running=0;!function replenish(){if(completed>=arr.length)return callback();for(;limit>running&&started<arr.length;)started+=1,running+=1,iterator(arr[started-1],function(err){err?(callback(err),callback=function(){}):(completed+=1,running-=1,completed>=arr.length?callback():replenish())})}()}},doParallel=function(fn){return function(){var args=Array.prototype.slice.call(arguments);return fn.apply(null,[async.each].concat(args))}},doParallelLimit=function(limit,fn){return function(){var args=Array.prototype.slice.call(arguments);return fn.apply(null,[_eachLimit(limit)].concat(args))}},doSeries=function(fn){return function(){var args=Array.prototype.slice.call(arguments);return fn.apply(null,[async.eachSeries].concat(args))}},_asyncMap=function(eachfn,arr,iterator,callback){if(arr=_map(arr,function(x,i){return{index:i,value:x}}),callback){var results=[];eachfn(arr,function(x,callback){iterator(x.value,function(err,v){results[x.index]=v,callback(err)})},function(err){callback(err,results)})}else eachfn(arr,function(x,callback){iterator(x.value,function(err){callback(err)})})};async.map=doParallel(_asyncMap),async.mapSeries=doSeries(_asyncMap),async.mapLimit=function(arr,limit,iterator,callback){return _mapLimit(limit)(arr,iterator,callback)};var _mapLimit=function(limit){return doParallelLimit(limit,_asyncMap)};async.reduce=function(arr,memo,iterator,callback){async.eachSeries(arr,function(x,callback){iterator(memo,x,function(err,v){memo=v,callback(err)})},function(err){callback(err,memo)})},async.inject=async.reduce,async.foldl=async.reduce,async.reduceRight=function(arr,memo,iterator,callback){var reversed=_map(arr,function(x){return x}).reverse();async.reduce(reversed,memo,iterator,callback)},async.foldr=async.reduceRight;var _filter=function(eachfn,arr,iterator,callback){var results=[];arr=_map(arr,function(x,i){return{index:i,value:x}}),eachfn(arr,function(x,callback){iterator(x.value,function(v){v&&results.push(x),callback()})},function(err){callback(_map(results.sort(function(a,b){return a.index-b.index}),function(x){return x.value}))})};async.filter=doParallel(_filter),async.filterSeries=doSeries(_filter),async.select=async.filter,async.selectSeries=async.filterSeries;var _reject=function(eachfn,arr,iterator,callback){var results=[];arr=_map(arr,function(x,i){return{index:i,value:x}}),eachfn(arr,function(x,callback){iterator(x.value,function(v){v||results.push(x),callback()})},function(err){callback(_map(results.sort(function(a,b){return a.index-b.index}),function(x){return x.value}))})};async.reject=doParallel(_reject),async.rejectSeries=doSeries(_reject);var _detect=function(eachfn,arr,iterator,main_callback){eachfn(arr,function(x,callback){iterator(x,function(result){result?(main_callback(x),main_callback=function(){}):callback()})},function(err){main_callback()})};async.detect=doParallel(_detect),async.detectSeries=doSeries(_detect),async.some=function(arr,iterator,main_callback){async.each(arr,function(x,callback){iterator(x,function(v){v&&(main_callback(!0),main_callback=function(){}),callback()})},function(err){main_callback(!1)})},async.any=async.some,async.every=function(arr,iterator,main_callback){async.each(arr,function(x,callback){iterator(x,function(v){v||(main_callback(!1),main_callback=function(){}),callback()})},function(err){main_callback(!0)})},async.all=async.every,async.sortBy=function(arr,iterator,callback){async.map(arr,function(x,callback){iterator(x,function(err,criteria){err?callback(err):callback(null,{value:x,criteria:criteria})})},function(err,results){if(err)return callback(err);var fn=function(left,right){var a=left.criteria,b=right.criteria;return b>a?-1:a>b?1:0};callback(null,_map(results.sort(fn),function(x){return x.value}))})},async.auto=function(tasks,callback){callback=callback||function(){};var keys=_keys(tasks),remainingTasks=keys.length;if(!remainingTasks)return callback();var results={},listeners=[],addListener=function(fn){listeners.unshift(fn)},removeListener=function(fn){for(var i=0;i<listeners.length;i+=1)if(listeners[i]===fn)return void listeners.splice(i,1)},taskComplete=function(){remainingTasks--,_each(listeners.slice(0),function(fn){fn()})};addListener(function(){if(!remainingTasks){var theCallback=callback;callback=function(){},theCallback(null,results)}}),_each(keys,function(k){var task=_isArray(tasks[k])?tasks[k]:[tasks[k]],taskCallback=function(err){var args=Array.prototype.slice.call(arguments,1);if(args.length<=1&&(args=args[0]),err){var safeResults={};_each(_keys(results),function(rkey){safeResults[rkey]=results[rkey]}),safeResults[k]=args,callback(err,safeResults),callback=function(){}}else results[k]=args,async.setImmediate(taskComplete)},requires=task.slice(0,Math.abs(task.length-1))||[],ready=function(){return _reduce(requires,function(a,x){return a&&results.hasOwnProperty(x)},!0)&&!results.hasOwnProperty(k)};if(ready())task[task.length-1](taskCallback,results);else{var listener=function(){ready()&&(removeListener(listener),task[task.length-1](taskCallback,results))};addListener(listener)}})},async.retry=function(times,task,callback){var DEFAULT_TIMES=5,attempts=[];"function"==typeof times&&(callback=task,task=times,times=DEFAULT_TIMES),times=parseInt(times,10)||DEFAULT_TIMES;var wrappedTask=function(wrappedCallback,wrappedResults){for(var retryAttempt=function(task,finalAttempt){return function(seriesCallback){task(function(err,result){seriesCallback(!err||finalAttempt,{err:err,result:result})},wrappedResults)}};times;)attempts.push(retryAttempt(task,!(times-=1)));async.series(attempts,function(done,data){data=data[data.length-1],(wrappedCallback||callback)(data.err,data.result)})};return callback?wrappedTask():wrappedTask},async.waterfall=function(tasks,callback){if(callback=callback||function(){},!_isArray(tasks)){var err=new Error("First argument to waterfall must be an array of functions");return callback(err)}if(!tasks.length)return callback();var wrapIterator=function(iterator){return function(err){if(err)callback.apply(null,arguments),callback=function(){};else{var args=Array.prototype.slice.call(arguments,1),next=iterator.next();next?args.push(wrapIterator(next)):args.push(callback),async.setImmediate(function(){iterator.apply(null,args)})}}};wrapIterator(async.iterator(tasks))()};var _parallel=function(eachfn,tasks,callback){if(callback=callback||function(){},_isArray(tasks))eachfn.map(tasks,function(fn,callback){fn&&fn(function(err){var args=Array.prototype.slice.call(arguments,1);args.length<=1&&(args=args[0]),callback.call(null,err,args)})},callback);else{var results={};eachfn.each(_keys(tasks),function(k,callback){tasks[k](function(err){var args=Array.prototype.slice.call(arguments,1);args.length<=1&&(args=args[0]),results[k]=args,callback(err)})},function(err){callback(err,results)})}};async.parallel=function(tasks,callback){_parallel({map:async.map,each:async.each},tasks,callback)},async.parallelLimit=function(tasks,limit,callback){_parallel({map:_mapLimit(limit),each:_eachLimit(limit)},tasks,callback)},async.series=function(tasks,callback){if(callback=callback||function(){},_isArray(tasks))async.mapSeries(tasks,function(fn,callback){fn&&fn(function(err){var args=Array.prototype.slice.call(arguments,1);args.length<=1&&(args=args[0]),callback.call(null,err,args)})},callback);else{var results={};async.eachSeries(_keys(tasks),function(k,callback){tasks[k](function(err){var args=Array.prototype.slice.call(arguments,1);args.length<=1&&(args=args[0]),results[k]=args,callback(err)})},function(err){callback(err,results)})}},async.iterator=function(tasks){var makeCallback=function(index){var fn=function(){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=function(fn){var args=Array.prototype.slice.call(arguments,1);return function(){return fn.apply(null,args.concat(Array.prototype.slice.call(arguments)))}};var _concat=function(eachfn,arr,fn,callback){var r=[];eachfn(arr,function(x,cb){fn(x,function(err,y){r=r.concat(y||[]),cb(err)})},function(err){callback(err,r)})};async.concat=doParallel(_concat),async.concatSeries=doSeries(_concat),async.whilst=function(test,iterator,callback){test()?iterator(function(err){return err?callback(err):void async.whilst(test,iterator,callback)}):callback()},async.doWhilst=function(iterator,test,callback){iterator(function(err){if(err)return callback(err);var args=Array.prototype.slice.call(arguments,1);test.apply(null,args)?async.doWhilst(iterator,test,callback):callback()})},async.until=function(test,iterator,callback){test()?callback():iterator(function(err){return err?callback(err):void async.until(test,iterator,callback)})},async.doUntil=function(iterator,test,callback){iterator(function(err){if(err)return callback(err);var args=Array.prototype.slice.call(arguments,1);test.apply(null,args)?callback():async.doUntil(iterator,test,callback)})},async.queue=function(worker,concurrency){function _insert(q,data,pos,callback){return q.started||(q.started=!0),_isArray(data)||(data=[data]),0==data.length?async.setImmediate(function(){q.drain&&q.drain()}):void _each(data,function(task){var item={data:task,callback:"function"==typeof callback?callback:null};pos?q.tasks.unshift(item):q.tasks.push(item),q.saturated&&q.tasks.length===q.concurrency&&q.saturated(),async.setImmediate(q.process)})}void 0===concurrency&&(concurrency=1);var workers=0,q={tasks:[],concurrency:concurrency,saturated:null,empty:null,drain:null,started:!1,paused:!1,push:function(data,callback){_insert(q,data,!1,callback)},kill:function(){q.drain=null,q.tasks=[]},unshift:function(data,callback){_insert(q,data,!0,callback)},process:function(){if(!q.paused&&workers<q.concurrency&&q.tasks.length){var task=q.tasks.shift();q.empty&&0===q.tasks.length&&q.empty(),workers+=1;var next=function(){workers-=1,task.callback&&task.callback.apply(task,arguments),q.drain&&q.tasks.length+workers===0&&q.drain(),q.process()},cb=only_once(next);worker(task.data,cb)}},length:function(){return q.tasks.length},running:function(){return workers},idle:function(){return q.tasks.length+workers===0},pause:function(){q.paused!==!0&&(q.paused=!0)},resume:function(){if(q.paused!==!1){q.paused=!1;for(var w=1;w<=q.concurrency;w++)async.setImmediate(q.process)}}};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;end>beg;){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){return q.started||(q.started=!0),_isArray(data)||(data=[data]),0==data.length?async.setImmediate(function(){q.drain&&q.drain()}):void _each(data,function(task){var item={data:task,priority:priority,callback:"function"==typeof callback?callback:null};q.tasks.splice(_binarySearch(q.tasks,item,_compareTasks)+1,0,item),q.saturated&&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){var working=!1,tasks=[],cargo={tasks:tasks,payload:payload,saturated:null,empty:null,drain:null,drained:!0,push:function(data,callback){_isArray(data)||(data=[data]),_each(data,function(task){tasks.push({data:task,callback:"function"==typeof callback?callback:null}),cargo.drained=!1,cargo.saturated&&tasks.length===payload&&cargo.saturated()}),async.setImmediate(cargo.process)},process:function process(){if(!working){if(0===tasks.length)return cargo.drain&&!cargo.drained&&cargo.drain(),void(cargo.drained=!0);var ts="number"==typeof payload?tasks.splice(0,payload):tasks.splice(0,tasks.length),ds=_map(ts,function(task){return task.data});cargo.empty&&cargo.empty(),working=!0,worker(ds,function(){working=!1;var args=arguments;_each(ts,function(data){data.callback&&data.callback.apply(null,args)}),process()})}},length:function(){return tasks.length},running:function(){return working}};return cargo};var _console_fn=function(name){return function(fn){var args=Array.prototype.slice.call(arguments,1);fn.apply(null,args.concat([function(err){var args=Array.prototype.slice.call(arguments,1);"undefined"!=typeof console&&(err?console.error&&console.error(err):console[name]&&_each(args,function(x){console[name](x)}))}]))}};async.log=_console_fn("log"),async.dir=_console_fn("dir"),async.memoize=function(fn,hasher){var memo={},queues={};hasher=hasher||function(x){return x};var memoized=function(){var args=Array.prototype.slice.call(arguments),callback=args.pop(),key=hasher.apply(null,args);key in memo?async.nextTick(function(){callback.apply(null,memo[key])}):key in queues?queues[key].push(callback):(queues[key]=[callback],fn.apply(null,args.concat([function(){memo[key]=arguments;var q=queues[key];delete queues[key];for(var i=0,l=q.length;l>i;i++)q[i].apply(null,arguments)}])))};return memoized.memo=memo,memoized.unmemoized=fn,memoized},async.unmemoize=function(fn){return function(){return(fn.unmemoized||fn).apply(null,arguments)}},async.times=function(count,iterator,callback){for(var counter=[],i=0;count>i;i++)counter.push(i);return async.map(counter,iterator,callback)},async.timesSeries=function(count,iterator,callback){for(var counter=[],i=0;count>i;i++)counter.push(i);return async.mapSeries(counter,iterator,callback)},async.seq=function(){var fns=arguments;return function(){var that=this,args=Array.prototype.slice.call(arguments),callback=args.pop();async.reduce(fns,args,function(newargs,fn,cb){fn.apply(that,newargs.concat([function(){var err=arguments[0],nextargs=Array.prototype.slice.call(arguments,1);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))};var _applyEach=function(eachfn,fns){var go=function(){var that=this,args=Array.prototype.slice.call(arguments),callback=args.pop();return eachfn(fns,function(fn,cb){fn.apply(that,args.concat([cb]))},callback)};if(arguments.length>2){var args=Array.prototype.slice.call(arguments,2);return go.apply(this,args)}return go};async.applyEach=doParallel(_applyEach),async.applyEachSeries=doSeries(_applyEach),async.forever=function(fn,callback){function next(err){if(err){if(callback)return callback(err);throw err}fn(next)}next()},"undefined"!=typeof module&&module.exports?module.exports=async:"undefined"!=typeof define&&define.amd?define([],function(){return async}):root.async=async}()}).call(this,require("_process"))},{_process:10}],120:[function(require,module,exports){(function(global){var rng;if(global.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;16>i;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:{})},{}],121:[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){16>ii&&(buf[i+ii++]=_hexToByte[oct])});16>ii;)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(0>dt&&void 0===options.clockseq&&(clockseq=clockseq+1&16383),(0>dt||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;6>n;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;16>ii;ii++)buf[i+ii]=rnds[ii];return buf||unparse(rnds)}for(var _rng=require("./rng"),_byteToHex=[],_hexToByte={},i=0;256>i;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":120}],122:[function(require,module,exports){arguments[4][53][0].apply(exports,arguments)},{dup:53}],123:[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}},{}],124:[function(require,module,exports){arguments[4][53][0].apply(exports,arguments)},{dup:53}],125:[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":126,"./types":127}],126:[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":128}],127:[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?(0>value&&(value=-value,formatted="+"),hrs=value/60,min=value%60,formatted+=(10>hrs?"0":"")+hrs+":"+(10>min?"0":"")+min):formatted=value,Utils.setSubText(xml,NS,sub,formatted)})},module.exports=exports["default"]},{"xmpp-jid":134}],128:[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":129,"./lib/muc":130,"./lib/namespaces":131,"./lib/presence":132,"./lib/pubsub":133}],129:[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"}}},{}],130:[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"}}},{}],131:[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"}},{}],132:[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"}}},{}],133:[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"}}},{}],134:[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:!0)},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:!0)},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":135}],135:[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:11}],136:[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");_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),_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":197,"lodash.foreach":212,"xmpp-constants":220}],137:[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":220}],138:[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 jidList=(JXT.utils,{get:function(){var result=[],items=types.find(this.xml,_xmppConstants.Namespace.BLOCKING,"item");return items.length?(items.forEach(function(item){result.push(new _xmppJid.JID(types.getAttribute(item,"jid","")))}),result):result},set:function(values){var self=this;values.forEach(function(value){var item=types.createElement(_xmppConstants.Namespace.BLOCKING,"item",_xmppConstants.Namespace.BLOCKING);types.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":220,"xmpp-jid":226}],139:[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":220}],140:[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":220}],141:[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;len>i;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":220}],142:[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":220}],143:[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;len>i;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":220}],144:[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":220}],145:[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;len>i;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;len>i;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":220,"xmpp-jid":226}],146:[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":220}],147:[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":220}],148:[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":220}],149:[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":220}],150:[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-description"],fields:{descType:{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":220}],151:[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.extendIQ(Forwarded),JXT.extendPresence(Forwarded),JXT.withMessage(function(Message){JXT.extend(Message,Forwarded),JXT.extend(Forwarded,Message)}),JXT.withDefinition("delay",_xmppConstants.Namespace.DELAY,function(Delayed){JXT.extend(Forwarded,Delayed)})},module.exports=exports["default"]},{"xmpp-constants":220}],152:[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":220}],153:[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":220}],154:[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":220}],155:[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":220}],156:[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:{transType:{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":220}],157:[function(require,module,exports){"use strict";var _interopRequireDefault=require("babel-runtime/helpers/interop-require-default")["default"];Object.defineProperty(exports,"__esModule",{value:!0});var _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),_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),_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(_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(_forwarded2["default"]),JXT.use(_framing2["default"]),JXT.use(_geoloc2["default"]),JXT.use(_hash2["default"]),JXT.use(_hats2["default"]),JXT.use(_iceUdp2["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"]},{"./avatar":136,"./bind":137,"./blocking":138,"./bob":139,"./bookmarks":140,"./bosh":141,"./carbons":142,"./command":143,"./csi":144,"./dataforms":145,"./delayed":146,"./disco":147,"./error":148,"./extdisco":149,"./file":150,"./forwarded":151,"./framing":152,"./geoloc":153,"./hash":154,"./hats":155,"./iceUdp":156,"./iq":158,"./jidprep":159,"./jingle":160,"./json":161,"./logging":162,"./mam":163,"./message":164,"./mood":165,"./muc":166,"./nick":167,"./oob":168,"./ping":169,"./presence":170,"./private":171,"./psa":172,"./pubsub":173,"./pubsubError":174,"./pubsubEvents":175,"./pubsubOwner":176,"./push":177,"./reach":178,"./register":179,"./roster":180,"./rsm":181,"./rtp":182,"./rtt":183,"./sasl":184,"./session":185,"./shim":186,"./sm":187,"./stream":188,"./streamError":189,"./streamFeatures":190,"./time":191,"./tune":192,"./vcard":193,"./version":194,"./visibility":195,"babel-runtime/helpers/interop-require-default":197}],158:[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":196,"xmpp-constants":220}],159:[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":220,"xmpp-jid":226}],160:[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")}}),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"),description:{get:function(){for(var opts=JXT.tagged("jingle-description").map(function(Description){return Description.prototype._name}),i=0,len=opts.length;len>i;i++)if(this._extensions[opts[i]])return this._extensions[opts[i]]},set:function(value){var ext="_"+value.descType;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;len>i;i++)if(this._extensions[opts[i]])return this._extensions[opts[i]]},set:function(value){var ext="_"+value.transType;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":220}],161:[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");return data?JSON.parse(data):void 0},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":220}],162:[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":220}],163:[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":220,"xmpp-jid":226}],164:[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":220}],165:[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":220}],166:[function(require,module,exports){"use strict";function proxy(child,field){return{get:function(){return this._extensions[child]?this[child][field]:void 0},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":220}],167:[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":220}],168:[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":220}],169:[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":220}],170:[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":220}],171:[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":220}],172:[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":220
-}],173:[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");return conf.length&&conf[0].childNodes.length?new DataForm({},conf[0].childNodes[0]):void 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"):!1}}}}),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"),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":220}],174:[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":220}],175:[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":220}],176:[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"):!1}}}}),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":220}],177:[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":220}],178:[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");_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),_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":197,"lodash.foreach":212,"xmpp-constants":220}],179:[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":220}],180:[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":220}],181:[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":220}],182:[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-description"],fields:{descType:{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":220}],183:[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;len>i;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;len>i;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":220}],184:[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":220}],185:[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":220}],186:[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");return name?{name:name,value:Utils.getText(header)}:void 0}):[]},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":220}],187:[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":220}],188:[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":220}],189:[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":220}],190:[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":220}],191:[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":220}],192:[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":220}],193:[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":220}],194:[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":220}],195:[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":220}],196:[function(require,module,exports){module.exports={"default":require("core-js/library/fn/object/assign"),__esModule:!0}},{"core-js/library/fn/object/assign":198}],197:[function(require,module,exports){"use strict";exports["default"]=function(obj){return obj&&obj.__esModule?obj:{"default":obj}},exports.__esModule=!0},{}],198:[function(require,module,exports){require("../../modules/es6.object.assign"),module.exports=require("../../modules/$.core").Object.assign},{"../../modules/$.core":201,"../../modules/es6.object.assign":211}],199:[function(require,module,exports){module.exports=function(it){if("function"!=typeof it)throw TypeError(it+" is not a function!");return it}},{}],200:[function(require,module,exports){var toString={}.toString;module.exports=function(it){return toString.call(it).slice(8,-1)}},{}],201:[function(require,module,exports){var core=module.exports={version:"1.2.6"};"number"==typeof __e&&(__e=core)},{}],202:[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":199}],203:[function(require,module,exports){module.exports=function(it){if(void 0==it)throw TypeError("Can't call method on "+it);return it}},{}],204:[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":201,"./$.ctx":202,"./$.global":206}],205:[function(require,module,exports){module.exports=function(exec){try{return!!exec()}catch(e){return!0}}},{}],206:[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)},{}],207:[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":200}],208:[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}},{}],209:[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},{"./$":208,"./$.fails":205,"./$.iobject":207,"./$.to-object":210}],210:[function(require,module,exports){var defined=require("./$.defined");module.exports=function(it){return Object(defined(it))}},{"./$.defined":203}],211:[function(require,module,exports){var $export=require("./$.export");$export($export.S+$export.F,"Object",{assign:require("./$.object-assign")})},{"./$.export":204,"./$.object-assign":209}],212:[function(require,module,exports){arguments[4][54][0].apply(exports,arguments)},{dup:54,"lodash._arrayeach":213,"lodash._baseeach":214,"lodash._bindcallback":218,"lodash.isarray":219}],213:[function(require,module,exports){arguments[4][55][0].apply(exports,arguments)},{dup:55}],214:[function(require,module,exports){arguments[4][56][0].apply(exports,arguments)},{dup:56,"lodash.keys":215}],215:[function(require,module,exports){arguments[4][57][0].apply(exports,arguments)},{dup:57,"lodash._getnative":216,"lodash.isarguments":217,"lodash.isarray":219}],216:[function(require,module,exports){arguments[4][58][0].apply(exports,arguments)},{dup:58}],217:[function(require,module,exports){arguments[4][59][0].apply(exports,arguments)},{dup:59}],218:[function(require,module,exports){arguments[4][60][0].apply(exports,arguments)},{dup:60}],219:[function(require,module,exports){arguments[4][61][0].apply(exports,arguments)},{dup:61}],220:[function(require,module,exports){arguments[4][128][0].apply(exports,arguments)},{"./lib/jingle":221,"./lib/muc":222,"./lib/namespaces":223,"./lib/presence":224,"./lib/pubsub":225,dup:128}],221:[function(require,module,exports){arguments[4][129][0].apply(exports,arguments)},{dup:129}],222:[function(require,module,exports){arguments[4][130][0].apply(exports,arguments)},{dup:130}],223:[function(require,module,exports){arguments[4][131][0].apply(exports,arguments)},{dup:131}],224:[function(require,module,exports){arguments[4][132][0].apply(exports,arguments)},{dup:132}],225:[function(require,module,exports){arguments[4][133][0].apply(exports,arguments)},{dup:133}],226:[function(require,module,exports){arguments[4][134][0].apply(exports,arguments)},{"./lib/stringprep":227,dup:134}],227:[function(require,module,exports){arguments[4][135][0].apply(exports,arguments)},{dup:135,punycode:11}],228:[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"),ltx=require("ltx"),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);return JXTClass?new JXTClass(null,xml):void 0},JXT.prototype.parse=function(str){var xml=ltx.parse(str);if(1===xml.nodeType)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":229,"./lib/stanza":230,"./lib/types":231,"lodash.assign":232,ltx:245,uuid:250}],229:[function(require,module,exports){"use strict";var ltx=require("ltx"),XML_NS=exports.XML_NS="http://www.w3.org/XML/1998/namespace";exports.createElement=function(NS,name,parentNS){var el=new ltx.Element(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;len>i;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;len>i;i++)xml.removeChild(subs[i]);for(i=0,len=values.length;len>i;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:245}],230:[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;len>i;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._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&&(result[prop]=val);else if(type.indexOf("Array")>=0){if(val.length>0){for(var vals=[],len=val.length,n=0;len>n;n++){var nval=val[n];"undefined"!=typeof nval&&(void 0!==nval.toJSON?vals.push(nval.toJSON()):vals.push(nval))}result[prop]=vals}}else void 0!==val&&val!==!1&&""!==val&&(result[prop]=val)}}return result},Stanza}},{"./helpers":229,"lodash.assign":232}],231:[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;len>i;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;len>i;i++)self.xml.removeChild(existing[i]);for(i=0,len=value.length;len>i;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,self);existing.appendChild(content.xml)}),self.xml.appendChild(existing))}}}}).call(this,require("buffer").Buffer)},{"./helpers":229,buffer:2,"lodash.assign":232}],232:[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":233,"lodash._createassigner":235,"lodash.keys":239}],233:[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":234,"lodash.keys":239}],234:[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},{}],235:[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=3>length?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":236,"lodash._isiterateecall":237,"lodash.restparam":238}],236:[function(require,module,exports){arguments[4][60][0].apply(exports,arguments)},{dup:60}],237:[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&&length>value}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&&MAX_SAFE_INTEGER>=value}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},{}],238:[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},{}],239:[function(require,module,exports){arguments[4][57][0].apply(exports,arguments)},{dup:57,"lodash._getnative":240,"lodash.isarguments":241,"lodash.isarray":242}],240:[function(require,module,exports){arguments[4][58][0].apply(exports,arguments)},{dup:58}],241:[function(require,module,exports){arguments[4][59][0].apply(exports,arguments)},{dup:59}],242:[function(require,module,exports){arguments[4][61][0].apply(exports,arguments)},{dup:61}],243:[function(require,module,exports){"use strict";function DOMElement(name,attrs){Element.call(this,name,attrs),this.nodeType=1,this.nodeName=this.localName}var util=require("util"),Element=require("./element").Element;util.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)},module.exports=DOMElement},{"./element":244,util:28}],244:[function(require,module,exports){"use strict";function Element(name,attrs){this.name=name,this.parent=null,this.children=[],this.setAttrs(attrs)}function escapeXml(s){return s.replace(/\&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/"/g,"&apos;")}function escapeXmlText(s){return s.replace(/\&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}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){this.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._getElement=function(name,attrs){var element=new Element(name,attrs);return element},Element.prototype.c=function(name,attrs){return this.cnode(this._getElement(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(){for(var clone=this._getElement(this.name,this.attrs),i=0;i<this.children.length;i++){var child=this.children[i];clone.cnode(child.clone?child.clone():child)}return clone},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];(v||""===v||0===v)&&(writer(" "),writer(k),writer('="'),"string"!=typeof v&&(v=v.toString(10)),writer(escapeXml(v)),writer('"'))}0===this.children.length?writer("/>"):this._addChildren(writer)},exports.Element=Element,exports.escapeXml=escapeXml},{}],245:[function(require,module,exports){"use strict";var parse=require("./parse");parse.availableSaxParsers.push(parse.bestSaxParser=require("./sax/sax_ltx")),module.exports=require("./index")},{"./index":246,"./parse":247,"./sax/sax_ltx":248}],246:[function(require,module,exports){"use strict";var parse=require("./parse");exports.Element=require("./dom-element"),exports.escapeXml=require("./element").escapeXml,exports.parse=parse.parse,exports.Parser=parse.Parser,exports.availableSaxParsers=parse.availableSaxParsers,exports.bestSaxParser=parse.bestSaxParser},{"./dom-element":243,"./element":244,"./parse":247}],247:[function(require,module,exports){"use strict";var events=require("events"),util=require("util"),DOMElement=require("./dom-element");exports.availableSaxParsers=[],exports.bestSaxParser=null;var saxParsers=["./sax/sax_expat.js","./sax/sax_ltx.js","./sax/sax_saxjs.js"];saxParsers.forEach(function(modName){var mod;try{mod=require(modName)}catch(e){}mod&&(exports.availableSaxParsers.push(mod),exports.bestSaxParser||(exports.bestSaxParser=mod))}),exports.Parser=function(saxParser){events.EventEmitter.call(this);var self=this,ParserMod=saxParser||exports.bestSaxParser;if(!ParserMod)throw new Error("No SAX parser available");this.parser=new ParserMod;var el;this.parser.addListener("startElement",function(name,attrs){var child=new DOMElement(name,attrs);el=el?el.cnode(child):child}),this.parser.addListener("endElement",function(name){el&&name===el.name&&(el.parent?el=el.parent:self.tree||(self.tree=el,el=void 0))}),this.parser.addListener("text",function(str){el&&el.t(str)}),this.parser.addListener("error",function(e){self.error=e,self.emit("error",e)})},util.inherits(exports.Parser,events.EventEmitter),exports.Parser.prototype.write=function(data){this.parser.write(data)},exports.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")))},exports.parse=function(data,saxParser){var p=new exports.Parser(saxParser),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}},{"./dom-element":243,events:6,util:28}],248:[function(require,module,exports){"use strict";function unescapeXml(s){return s.replace(/\&(amp|#38);/g,"&").replace(/\&(lt|#60);/g,"<").replace(/\&(gt|#62);/g,">").replace(/\&(quot|#34);/g,'"').replace(/\&(apos|#39);/g,"'").replace(/\&(nbsp|#160);/g,"\n")}var util=require("util"),events=require("events"),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(){events.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):(32>=c||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:(32>=c||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)}};util.inherits(SaxLtx,events.EventEmitter),SaxLtx.prototype.end=function(data){data&&this.write(data),this.write=function(){}}},{events:6,util:28}],249:[function(require,module,exports){arguments[4][120][0].apply(exports,arguments)},{dup:120}],250:[function(require,module,exports){arguments[4][121][0].apply(exports,arguments)},{"./rng":249,dup:121}],251:[function(require,module,exports){arguments[4][83][0].apply(exports,arguments)},{dup:83}],252:[function(require,module,exports){"use strict";var JSM=require("jingle"),RTC=require("webrtc-adapter-test"),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,init:function(conn){var self=this;self.RTC=RTC,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){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(),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)},{jingle:29,jxt:228,"jxt-xmpp":157,"jxt-xmpp-types":125,"webrtc-adapter-test":251}]},{},[252]),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;8>i;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;numberOfBytes>i;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;n>i;i++)s[i]=0;for(s[0]=2,p=0;s[p]<n;){for(i=s[p]*s[p];n>i;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;p>i;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;s-1>=j&&!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;a>i;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=ky>kx+shift?kx+shift:ky;for(i=ky-1-shift;kx>i&&i>=0;i++)if(x[i]>0)return 1;for(i=kx-1+shift;ky>i;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(-1==base){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),1>d)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;k>i&&(d=digitsStr.indexOf(s.substring(i,i+1),0),36>=base&&d>=36&&(d-=26),!(d>=base||0>d));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;kk>i;i++)y[i]=x[i];for(;k>i;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;k>i;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),-1==base){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;k>i;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;k>i;i++)if(c+=x[i],b=0,0>c&&(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;k>i;i++)c+=x[i]*n,b=0,0>c&&(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;k>i;i++)c+=x[i]+b*y[i-ys],x[i]=c&mask,c=(c-x[i])/radix;for(i=k;c&&kk>i;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;k>i;i++)c+=x[i]+y[i-ys],x[i]=c&mask,c=(c-x[i])/radix;for(i=k;c&&kk>i;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;k>i;i++)c+=x[i]-y[i-ys],x[i]=c&mask,c=(c-x[i])/radix;for(i=k;c&&kk>i;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;k>i;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;k>i;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;kx>i;i++){for(c=s0[2*i]+x[i]*x[i],s0[2*i]=c&mask,c=(c-s0[2*i])/radix,j=i+1;kx>j;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--,0>k1)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;kn>i;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;ky-4>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++,c+=sa[j]+ui*n[j]+t*y[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;for(;ky>j;)c+=sa[j]+ui*n[j]+t*y[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;for(;kn-4>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++,c+=sa[j]+ui*n[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;for(;kn>j;)c+=sa[j]+ui*n[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;for(;ks>j;)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;b>i;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="\x00"+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);b>i;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={};256>i;++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;thatSigBytes>i;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;thatSigBytes>i;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;nBytes>i;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;sigBytes>i;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;hexStrLength>i;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;sigBytes>i;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;latin1StrLength>i;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;nWordsReady>offset;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;sigBytes>i;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;4>j&&sigBytes>i+.75*j;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);-1!=paddingIndex&&(base64StrLength=paddingIndex)}for(var words=[],nBytes=0,i=0;base64StrLength>i;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;blockSize>i;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;nPaddingBytes>i;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;256>i;i++)128>i?d[i]=i<<1:d[i]=i<<1^283;for(var x=0,xi=0,i=0;256>i;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;ksRows>ksRow;ksRow++)if(keySize>ksRow)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;ksRows>invKsRow;invKsRow++){var ksRow=ksRows-invKsRow;if(invKsRow%4)var t=keySchedule[ksRow];else var t=keySchedule[ksRow-4];4>invKsRow||4>=ksRow?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;nRounds>round;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;80>i;i++){if(16>i)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+=20>i?(b&c|~b&d)+1518500249:40>i?(b^c^d)+1859775393:60>i?(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;sqrtN>=factor;factor++)if(!(n%factor))return!1;return!0}function getFractionalBits(n){return 4294967296*(n-(0|n))|0}for(var n=2,nPrime=0;64>nPrime;)isPrime(n)&&(8>nPrime&&(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;64>i;i++){if(16>i)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;hasherBlockSize>i;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;blockSize>i;i++)words[offset+i]^=keystream[i]}});return CTR.Decryptor=Encryptor,CTR}(),CryptoJS}),/*!
- * Source: lib/otr/build/dep/eventemitter.js, license: MIT, url: http://git.io/ee
- */
-/*!
- * EventEmitter v4.2.3 - git.io/ee
- * Oliver Caldwell
- * MIT license
- * @preserve
- */
-function(){"use strict";function EventEmitter(){}function indexOfListener(listeners,listener){for(var i=listeners.length;i--;)if(listeners[i].listener===listener)return i;return-1}function alias(name){return function(){return this[name].apply(this,arguments)}}var proto=EventEmitter.prototype;proto.getListeners=function(evt){var response,key,events=this._getEvents();if("object"==typeof evt){response={};for(key in events)events.hasOwnProperty(key)&&evt.test(key)&&(response[key]=events[key])}else response=events[evt]||(events[evt]=[]);return response},proto.flattenListeners=function(listeners){var i,flatListeners=[];for(i=0;i<listeners.length;i+=1)flatListeners.push(listeners[i].listener);return flatListeners},proto.getListenersAsObject=function(evt){var response,listeners=this.getListeners(evt);return listeners instanceof Array&&(response={},response[evt]=listeners),response||listeners},proto.addListener=function(evt,listener){var key,listeners=this.getListenersAsObject(evt),listenerIsWrapped="object"==typeof listener;for(key in listeners)listeners.hasOwnProperty(key)&&-1===indexOfListener(listeners[key],listener)&&listeners[key].push(listenerIsWrapped?listener:{listener:listener,once:!1});return this},proto.on=alias("addListener"),proto.addOnceListener=function(evt,listener){return this.addListener(evt,{listener:listener,once:!0})},proto.once=alias("addOnceListener"),proto.defineEvent=function(evt){return this.getListeners(evt),this},proto.defineEvents=function(evts){for(var i=0;i<evts.length;i+=1)this.defineEvent(evts[i]);return this},proto.removeListener=function(evt,listener){var index,key,listeners=this.getListenersAsObject(evt);for(key in listeners)listeners.hasOwnProperty(key)&&(index=indexOfListener(listeners[key],listener),-1!==index&&listeners[key].splice(index,1));return this},proto.off=alias("removeListener"),proto.addListeners=function(evt,listeners){return this.manipulateListeners(!1,evt,listeners)},proto.removeListeners=function(evt,listeners){return this.manipulateListeners(!0,evt,listeners)},proto.manipulateListeners=function(remove,evt,listeners){var i,value,single=remove?this.removeListener:this.addListener,multiple=remove?this.removeListeners:this.addListeners;if("object"!=typeof evt||evt instanceof RegExp)for(i=listeners.length;i--;)single.call(this,evt,listeners[i]);else for(i in evt)evt.hasOwnProperty(i)&&(value=evt[i])&&("function"==typeof value?single.call(this,i,value):multiple.call(this,i,value));return this},proto.removeEvent=function(evt){var key,type=typeof evt,events=this._getEvents();if("string"===type)delete events[evt];else if("object"===type)for(key in events)events.hasOwnProperty(key)&&evt.test(key)&&delete events[key];else delete this._events;return this},proto.emitEvent=function(evt,args){var listener,i,key,response,listeners=this.getListenersAsObject(evt);for(key in listeners)if(listeners.hasOwnProperty(key))for(i=listeners[key].length;i--;)listener=listeners[key][i],listener.once===!0&&this.removeListener(evt,listener.listener),response=listener.listener.apply(this,args||[]),response===this._getOnceReturnValue()&&this.removeListener(evt,listener.listener);return this},proto.trigger=alias("emitEvent"),proto.emit=function(evt){var args=Array.prototype.slice.call(arguments,1);return this.emitEvent(evt,args)},proto.setOnceReturnValue=function(value){return this._onceReturnValue=value,this},proto._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},proto._getEvents=function(){return this._events||(this._events={})},"function"==typeof define&&define.amd?define(function(){return EventEmitter}):"object"==typeof module&&module.exports?module.exports=EventEmitter:this.EventEmitter=EventEmitter}.call(this),function(root,factory){"function"==typeof define&&define.amd?define(["bigint","crypto","eventemitter"],function(BigInt,CryptoJS,EventEmitter){var root={BigInt:BigInt,CryptoJS:CryptoJS,EventEmitter:EventEmitter,OTR:{},DSA:{}};return factory.call(root)}):(root.OTR={},root.DSA={},"undefined"!=typeof root.BigInt&&factory.call(root))}(this,function(){return function(){"use strict";var root=this,CONST={N:"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA237327FFFFFFFFFFFFFFFF",G:"2",MSGSTATE_PLAINTEXT:0,MSGSTATE_ENCRYPTED:1,MSGSTATE_FINISHED:2,AUTHSTATE_NONE:0,AUTHSTATE_AWAITING_DHKEY:1,AUTHSTATE_AWAITING_REVEALSIG:2,AUTHSTATE_AWAITING_SIG:3,WHITESPACE_TAG:" ",WHITESPACE_TAG_V2:" ",WHITESPACE_TAG_V3:" ",OTR_TAG:"?OTR",OTR_VERSION_1:"\x00",OTR_VERSION_2:"\x00",OTR_VERSION_3:"\x00",SMPSTATE_EXPECT0:0,SMPSTATE_EXPECT1:1,SMPSTATE_EXPECT2:2,SMPSTATE_EXPECT3:3,SMPSTATE_EXPECT4:4,STATUS_SEND_QUERY:0,STATUS_AKE_INIT:1,STATUS_AKE_SUCCESS:2,STATUS_END_OTR:3};"undefined"!=typeof module&&module.exports?module.exports=CONST:root.OTR.CONST=CONST}.call(this),function(){"use strict";function intCompare(x,y){var z=~(x^y);return z&=z>>16,z&=z>>8,z&=z>>4,z&=z>>2,z&=z>>1,1&z}var CryptoJS,BigInt,root=this,HLP={};"undefined"!=typeof module&&module.exports?(module.exports=HLP={},CryptoJS=require("../vendor/crypto.js"),BigInt=require("../vendor/bigint.js")):(root.OTR&&(root.OTR.HLP=HLP),root.DSA&&(root.DSA.HLP=HLP),CryptoJS=root.CryptoJS,BigInt=root.BigInt);var DTS={BYTE:1,SHORT:2,INT:4,CTR:8,MAC:20,SIG:40},WRAPPER_BEGIN="?OTR",WRAPPER_END=".",TWO=BigInt.str2bigInt("2",10);HLP.debug=function(msg){this.debug&&"function"!=typeof this.debug&&"undefined"!=typeof console&&console.log(msg)},HLP.extend=function(child,parent){function Ctor(){this.constructor=child}for(var key in parent)Object.hasOwnProperty.call(parent,key)&&(child[key]=parent[key]);Ctor.prototype=parent.prototype,child.prototype=new Ctor,child.__super__=parent.prototype},HLP.compare=function(str1,str2){if(str1.length!==str2.length)return!1;for(var i=0,result=0;i<str1.length;i++)result|=str1[i].charCodeAt(0)^str2[i].charCodeAt(0);return intCompare(result,0)},HLP.randomExponent=function(){return BigInt.randBigInt(1536)},HLP.smpHash=function(version,fmpi,smpi){var sha256=CryptoJS.algo.SHA256.create();sha256.update(CryptoJS.enc.Latin1.parse(HLP.packBytes(version,DTS.BYTE))),sha256.update(CryptoJS.enc.Latin1.parse(HLP.packMPI(fmpi))),smpi&&sha256.update(CryptoJS.enc.Latin1.parse(HLP.packMPI(smpi)));var hash=sha256.finalize();return HLP.bits2bigInt(hash.toString(CryptoJS.enc.Latin1))},HLP.makeMac=function(aesctr,m){var pass=CryptoJS.enc.Latin1.parse(m),mac=CryptoJS.HmacSHA256(CryptoJS.enc.Latin1.parse(aesctr),pass);return HLP.mask(mac.toString(CryptoJS.enc.Latin1),0,160)},HLP.make1Mac=function(aesctr,m){var pass=CryptoJS.enc.Latin1.parse(m),mac=CryptoJS.HmacSHA1(CryptoJS.enc.Latin1.parse(aesctr),pass);return mac.toString(CryptoJS.enc.Latin1)},HLP.encryptAes=function(msg,c,iv){var opts={mode:CryptoJS.mode.CTR,iv:CryptoJS.enc.Latin1.parse(iv),padding:CryptoJS.pad.NoPadding},aesctr=CryptoJS.AES.encrypt(msg,CryptoJS.enc.Latin1.parse(c),opts),aesctr_decoded=CryptoJS.enc.Base64.parse(aesctr.toString());return CryptoJS.enc.Latin1.stringify(aesctr_decoded)},HLP.decryptAes=function(msg,c,iv){msg=CryptoJS.enc.Latin1.parse(msg);var opts={mode:CryptoJS.mode.CTR,iv:CryptoJS.enc.Latin1.parse(iv),padding:CryptoJS.pad.NoPadding};return CryptoJS.AES.decrypt(CryptoJS.enc.Base64.stringify(msg),CryptoJS.enc.Latin1.parse(c),opts)},HLP.multPowMod=function(a,b,c,d,e){return BigInt.multMod(BigInt.powMod(a,b,e),BigInt.powMod(c,d,e),e)},HLP.ZKP=function(v,c,d,e){return BigInt.equals(c,HLP.smpHash(v,d,e))},HLP.GTOE=function(a,b){return BigInt.equals(a,b)||BigInt.greater(a,b)},HLP.between=function(x,a,b){return BigInt.greater(x,a)&&BigInt.greater(b,x)},HLP.checkGroup=function(g,N_MINUS_2){return HLP.GTOE(g,TWO)&&HLP.GTOE(N_MINUS_2,g)},HLP.h1=function(b,secbytes){var sha1=CryptoJS.algo.SHA1.create();return sha1.update(CryptoJS.enc.Latin1.parse(b)),sha1.update(CryptoJS.enc.Latin1.parse(secbytes)),sha1.finalize().toString(CryptoJS.enc.Latin1)},HLP.h2=function(b,secbytes){var sha256=CryptoJS.algo.SHA256.create();return sha256.update(CryptoJS.enc.Latin1.parse(b)),sha256.update(CryptoJS.enc.Latin1.parse(secbytes)),sha256.finalize().toString(CryptoJS.enc.Latin1)},HLP.mask=function(bytes,start,n){return bytes.substr(start/8,n/8)};var _toString=String.fromCharCode;HLP.packBytes=function(val,bytes){val=val.toString(16);for(var nex,res="";bytes>0;bytes--)nex=val.length?val.substr(-2,2):"0",val=val.substr(0,val.length-2),res=_toString(parseInt(nex,16))+res;return res},HLP.packINT=function(d){return HLP.packBytes(d,DTS.INT)},HLP.packCtr=function(d){return HLP.padCtr(HLP.packBytes(d,DTS.CTR))},HLP.padCtr=function(ctr){return ctr+"\x00\x00\x00\x00\x00\x00\x00\x00"},HLP.unpackCtr=function(d){return d=HLP.toByteArray(d.substring(0,8)),HLP.unpack(d)},HLP.unpack=function(arr){for(var val=0,i=0,len=arr.length;len>i;i++)val=256*val+arr[i];return val},HLP.packData=function(d){return HLP.packINT(d.length)+d},HLP.bits2bigInt=function(bits){return bits=HLP.toByteArray(bits),BigInt.ba2bigInt(bits)},HLP.packMPI=function(mpi){return HLP.packData(BigInt.bigInt2bits(BigInt.trim(mpi,0)))},HLP.packSHORT=function(short){return HLP.packBytes(short,DTS.SHORT)},HLP.unpackSHORT=function(short){return short=HLP.toByteArray(short),HLP.unpack(short)},HLP.packTLV=function(type,value){return HLP.packSHORT(type)+HLP.packSHORT(value.length)+value},HLP.readLen=function(msg){return msg=HLP.toByteArray(msg.substring(0,4)),HLP.unpack(msg)},HLP.readData=function(data){var n=HLP.unpack(data.splice(0,4));return[n,data]},HLP.readMPI=function(data){return data=HLP.toByteArray(data),data=HLP.readData(data),BigInt.ba2bigInt(data[1])},HLP.packMPIs=function(arr){return arr.reduce(function(prv,cur){return prv+HLP.packMPI(cur)},"")},HLP.unpackMPIs=function(num,mpis){for(var i=0,arr=[];num>i;i++)arr.push("MPI");return HLP.splitype(arr,mpis).map(function(m){return HLP.readMPI(m)})},HLP.wrapMsg=function(msg,fs,v3,our_it,their_it){msg=CryptoJS.enc.Base64.stringify(CryptoJS.enc.Latin1.parse(msg)),msg=WRAPPER_BEGIN+":"+msg+WRAPPER_END;var its;if(v3&&(its="|",its+=HLP.readLen(our_it).toString(16),its+="|",its+=HLP.readLen(their_it).toString(16)),!fs)return[null,msg];var n=Math.ceil(msg.length/fs);if(n>65535)return["Too many fragments"];if(1==n)return[null,msg];var k,bi,ei,frag,mf,mfs=[];for(k=1;n>=k;k++)bi=(k-1)*fs,ei=k*fs,frag=msg.slice(bi,ei),mf=WRAPPER_BEGIN,v3&&(mf+=its),mf+=","+k+",",mf+=n+",",mf+=frag+",",mfs.push(mf);return[null,mfs]},HLP.splitype=function splitype(arr,msg){var data=[];return arr.forEach(function(a){var str;switch(a){case"PUBKEY":str=splitype(["SHORT","MPI","MPI","MPI","MPI"],msg).join("");break;case"DATA":case"MPI":str=msg.substring(0,HLP.readLen(msg)+4);break;default:str=msg.substring(0,DTS[a])}data.push(str),msg=msg.substring(str.length)}),data};var _bin2num=function(){for(var i=0,_bin2num={};256>i;++i)_bin2num[String.fromCharCode(i)]=i;for(i=128;256>i;++i)_bin2num[String.fromCharCode(63232+i)]=i;return _bin2num}();HLP.toByteArray=function(data){for(var rv=[],ary=data.split(""),i=-1,iz=ary.length,remain=iz%8;remain--;)++i,rv[i]=_bin2num[ary[i]];for(remain=iz>>3;remain--;)rv.push(_bin2num[ary[++i]],_bin2num[ary[++i]],_bin2num[ary[++i]],_bin2num[ary[++i]],_bin2num[ary[++i]],_bin2num[ary[++i]],_bin2num[ary[++i]],_bin2num[ary[++i]]);return rv}}.call(this),function(){"use strict";function timer(){var start=(new Date).getTime();return function(s){if(DEBUG&&"undefined"!=typeof console){var t=(new Date).getTime();console.log(s+": "+(t-start)),start=t}}}function makeRandom(min,max){var c=BigInt.randBigInt(BigInt.bitSize(max));return HLP.between(c,min,max)?c:makeRandom(min,max)}function isProbPrime(k,n){var i,B=3e4,l=BigInt.bitSize(k),primes=BigInt.primes;for(0===primes.length&&(primes=BigInt.findPrimes(B)),rpprb.length!=k.length&&(rpprb=BigInt.dup(k)),i=0;i<primes.length&&primes[i]<=B;i++)if(0===BigInt.modInt(k,primes[i])&&!BigInt.equalsInt(k,primes[i]))return 0;for(i=0;n>i;i++){for(BigInt.randBigInt_(rpprb,l,0);!BigInt.greater(k,rpprb);)BigInt.randBigInt_(rpprb,l,0);if(!BigInt.millerRabin(k,rpprb))return 0}return 1}function generatePrimes(bit_length){for(var q,p,rem,counter,t=timer(),repeat=bit_lengths[bit_length].repeat,N=bit_lengths[bit_length].N,LM1=BigInt.twoToThe(bit_length-1),bl4=4*bit_length,brk=!1;;)if(q=BigInt.randBigInt(N,1),q[0]|=1,isProbPrime(q,repeat)){for(t("q"),counter=0;bl4>counter;counter++)if(p=BigInt.randBigInt(bit_length,1),p[0]|=1,rem=BigInt.mod(p,q),rem=BigInt.sub(rem,ONE),p=BigInt.sub(p,rem),!BigInt.greater(LM1,p)&&isProbPrime(p,repeat)){t("p"),primes[bit_length]={p:p,q:q},brk=!0;break}if(brk)break}for(var g,h=BigInt.dup(TWO),pm1=BigInt.sub(p,ONE),e=BigInt.multMod(pm1,BigInt.inverseMod(q,p),p);;){g=BigInt.powMod(h,e,p);{if(!BigInt.equals(g,ONE))return primes[bit_length].g=g,void t("g");h=BigInt.add(h,ONE)}}throw new Error("Unreachable!")}function DSA(obj,opts){if(!(this instanceof DSA))return new DSA(obj,opts);if(opts=opts||{},obj){var self=this;return["p","q","g","y","x"].forEach(function(prop){self[prop]=obj[prop]}),void(this.type=obj.type||KEY_TYPE)}var bit_length=parseInt(opts.bit_length?opts.bit_length:1024,10);if(!bit_lengths[bit_length])throw new Error("Unsupported bit length.");primes[bit_length]||generatePrimes(bit_length),this.p=primes[bit_length].p,this.q=primes[bit_length].q,this.g=primes[bit_length].g,this.type=KEY_TYPE,this.x=makeRandom(ZERO,this.q),this.y=BigInt.powMod(this.g,this.x,this.p),opts.nocache&&(primes[bit_length]=null)}function tokenizeStr(str){var start,end;if(start=str.indexOf("("),end=str.lastIndexOf(")"),0>start||0>end)throw new Error("Malformed S-Expression");str=str.substring(start+1,end);var splt=str.search(/\s/),obj={type:str.substring(0,splt),val:[]};if(str=str.substring(splt+1,end),start=str.indexOf("("),0>start)obj.val.push(str);else for(var i,len,ss,es;start>-1;){for(i=start+1,len=str.length,ss=1,es=0;len>i&&ss>es;i++)"("===str[i]&&ss++,")"===str[i]&&es++;obj.val.push(tokenizeStr(str.substring(start,++i))),str=str.substring(++i),start=str.indexOf("(")}return obj}function parseLibotr(obj){if(!obj.type)throw new Error("Parse error.");var o,val;return"privkeys"===obj.type?(o=[],obj.val.forEach(function(i){o.push(parseLibotr(i))}),o):(o={},obj.val.forEach(function(i){val=i.val[0],"string"==typeof val?0===val.indexOf("#")&&(val=val.substring(1,val.lastIndexOf("#")),val=BigInt.str2bigInt(val,16)):val=parseLibotr(i),o[i.type]=val}),o)}var CryptoJS,BigInt,Worker,WWPath,HLP,root=this;"undefined"!=typeof module&&module.exports?(module.exports=DSA,CryptoJS=require("../vendor/crypto.js"),BigInt=require("../vendor/bigint.js"),WWPath=require("path").join(__dirname,"/dsa-webworker.js"),HLP=require("./helpers.js")):(Object.keys(root.DSA).forEach(function(k){DSA[k]=root.DSA[k]}),root.DSA=DSA,CryptoJS=root.CryptoJS,BigInt=root.BigInt,Worker=root.Worker,WWPath="dsa-webworker.js",HLP=DSA.HLP);var ZERO=BigInt.str2bigInt("0",10),ONE=BigInt.str2bigInt("1",10),TWO=BigInt.str2bigInt("2",10),KEY_TYPE="\x00\x00",DEBUG=!1,rpprb=[],bit_lengths={1024:{N:160,repeat:40},2048:{N:224,repeat:56}},primes={};DSA.prototype={constructor:DSA,packPublic:function(){var str=this.type;return str+=HLP.packMPI(this.p),str+=HLP.packMPI(this.q),str+=HLP.packMPI(this.g),str+=HLP.packMPI(this.y)},packPrivate:function(){var str=this.packPublic()+HLP.packMPI(this.x);return str=CryptoJS.enc.Latin1.parse(str),str.toString(CryptoJS.enc.Base64)},generateNonce:function(m){var priv=BigInt.bigInt2bits(BigInt.trim(this.x,0)),rand=BigInt.bigInt2bits(BigInt.randBigInt(256)),sha256=CryptoJS.algo.SHA256.create();sha256.update(CryptoJS.enc.Latin1.parse(priv)),sha256.update(m),sha256.update(CryptoJS.enc.Latin1.parse(rand));var hash=sha256.finalize();return hash=HLP.bits2bigInt(hash.toString(CryptoJS.enc.Latin1)),BigInt.rightShift_(hash,256-BigInt.bitSize(this.q)),HLP.between(hash,ZERO,this.q)?hash:this.generateNonce(m)},sign:function(m){m=CryptoJS.enc.Latin1.parse(m);for(var k,b=BigInt.str2bigInt(m.toString(CryptoJS.enc.Hex),16),r=ZERO,s=ZERO;BigInt.isZero(s)||BigInt.isZero(r);)k=this.generateNonce(m),r=BigInt.mod(BigInt.powMod(this.g,k,this.p),this.q),BigInt.isZero(r)||(s=BigInt.inverseMod(k,this.q),s=BigInt.mult(s,BigInt.add(b,BigInt.mult(this.x,r))),s=BigInt.mod(s,this.q));return[r,s]},fingerprint:function(){var pk=this.packPublic();return this.type===KEY_TYPE&&(pk=pk.substring(2)),pk=CryptoJS.enc.Latin1.parse(pk),CryptoJS.SHA1(pk).toString(CryptoJS.enc.Hex)}},DSA.parsePublic=function(str,priv){var fields=["SHORT","MPI","MPI","MPI","MPI"];priv&&fields.push("MPI"),str=HLP.splitype(fields,str);var obj={type:str[0],p:HLP.readMPI(str[1]),q:HLP.readMPI(str[2]),g:HLP.readMPI(str[3]),y:HLP.readMPI(str[4])};return priv&&(obj.x=HLP.readMPI(str[5])),new DSA(obj)},DSA.parsePrivate=function(str,libotr){return libotr?parseLibotr(tokenizeStr(str))[0]["private-key"].dsa:(str=CryptoJS.enc.Base64.parse(str),str=str.toString(CryptoJS.enc.Latin1),DSA.parsePublic(str,!0))},DSA.verify=function(key,m,r,s){if(!HLP.between(r,ZERO,key.q)||!HLP.between(s,ZERO,key.q))return!1;var hm=CryptoJS.enc.Latin1.parse(m);hm=BigInt.str2bigInt(hm.toString(CryptoJS.enc.Hex),16);var w=BigInt.inverseMod(s,key.q),u1=BigInt.multMod(hm,w,key.q),u2=BigInt.multMod(r,w,key.q);u1=BigInt.powMod(key.g,u1,key.p),u2=BigInt.powMod(key.y,u2,key.p);var v=BigInt.mod(BigInt.multMod(u1,u2,key.p),key.q);return BigInt.equals(v,r)},DSA.createInWebWorker=function(options,cb){var opts={path:WWPath,seed:BigInt.getSeed};options&&"object"==typeof options&&Object.keys(options).forEach(function(k){opts[k]=options[k]}),"undefined"!=typeof module&&module.exports&&(Worker=require("webworker-threads").Worker);var worker=new Worker(opts.path);worker.onmessage=function(e){var data=e.data;switch(data.type){case"debug":if(!DEBUG||"undefined"==typeof console)return;console.log(data.val);break;case"data":worker.terminate(),cb(DSA.parsePrivate(data.val));break;default:throw new Error("Unrecognized type.")}},worker.postMessage({seed:opts.seed(),imports:opts.imports,debug:DEBUG})}}.call(this),function(){"use strict";var CryptoJS,CONST,HLP,root=this,Parse={};"undefined"!=typeof module&&module.exports?(module.exports=Parse,CryptoJS=require("../vendor/crypto.js"),CONST=require("./const.js"),HLP=require("./helpers.js")):(root.OTR.Parse=Parse,CryptoJS=root.CryptoJS,CONST=root.OTR.CONST,HLP=root.OTR.HLP);var tags={};tags[CONST.WHITESPACE_TAG_V2]=CONST.OTR_VERSION_2,tags[CONST.WHITESPACE_TAG_V3]=CONST.OTR_VERSION_3,Parse.parseMsg=function(otr,msg){var ver=[],start=msg.indexOf(CONST.OTR_TAG);if(!~start){if(this.initFragment(otr),ind=msg.indexOf(CONST.WHITESPACE_TAG),~ind){msg=msg.split(""),msg.splice(ind,16);for(var tag,len=msg.length;len>ind;)tag=msg.slice(ind,ind+8).join(""),Object.hasOwnProperty.call(tags,tag)?(msg.splice(ind,8),ver.push(tags[tag])):ind+=8;msg=msg.join("")}return{msg:msg,ver:ver}}var ind=start+CONST.OTR_TAG.length,com=msg[ind];if(","===com||"|"===com)return this.msgFragment(otr,msg.substring(ind+1),"|"===com);if(this.initFragment(otr),~["?","v"].indexOf(com)){"?"===msg[ind]&&(ver.push(CONST.OTR_VERSION_1),ind+=1);var vers={2:CONST.OTR_VERSION_2,3:CONST.OTR_VERSION_3},qs=msg.substring(ind+1),qi=qs.indexOf("?");return qi>=1&&(qs=qs.substring(0,qi).split(""),"v"===msg[ind]&&qs.forEach(function(q){Object.hasOwnProperty.call(vers,q)&&ver.push(vers[q])})),{cls:"query",ver:ver}}if(":"===com){ind+=1;var info=msg.substring(ind,ind+4);if(info.length<4)return{msg:msg};info=CryptoJS.enc.Base64.parse(info).toString(CryptoJS.enc.Latin1);var version=info.substring(0,2),type=info.substring(2);if(!otr["ALLOW_V"+HLP.unpackSHORT(version)])return{msg:msg};ind+=4;var end=msg.substring(ind).indexOf(".");if(!~end)return{msg:msg};msg=CryptoJS.enc.Base64.parse(msg.substring(ind,ind+end)),msg=CryptoJS.enc.Latin1.stringify(msg);var instance_tags;version===CONST.OTR_VERSION_3&&(instance_tags=msg.substring(0,8),msg=msg.substring(8));var cls;return~["","\n","",""].indexOf(type)?cls="ake":""===type&&(cls="data"),{version:version,type:type,msg:msg,cls:cls,instance_tags:instance_tags}}return" Error:"===msg.substring(ind,ind+7)?(otr.ERROR_START_AKE&&otr.sendQueryMsg(),{msg:msg.substring(ind+7),cls:"error"}):{msg:msg}},Parse.initFragment=function(otr){otr.fragment={s:"",j:0,k:0}},Parse.msgFragment=function(otr,msg,v3){if(msg=msg.split(","),v3){var its=msg.shift().split("|"),their_it=HLP.packINT(parseInt(its[0],16)),our_it=HLP.packINT(parseInt(its[1],16));if(otr.checkInstanceTags(their_it+our_it))return}if(!(msg.length<4||isNaN(parseInt(msg[0],10))||isNaN(parseInt(msg[1],10)))){var k=parseInt(msg[0],10),n=parseInt(msg[1],10);return msg=msg[2],k>n||0===n||0===k?void this.initFragment(otr):(1===k?(this.initFragment(otr),otr.fragment={k:1,n:n,s:msg}):n===otr.fragment.n&&k===otr.fragment.k+1?(otr.fragment.s+=msg,otr.fragment.k+=1):this.initFragment(otr),n===k?(msg=otr.fragment.s,this.initFragment(otr),this.parseMsg(otr,msg)):void 0)}}}.call(this),function(){"use strict";function hMac(gx,gy,pk,kid,m){var pass=CryptoJS.enc.Latin1.parse(m),hmac=CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256,pass);return hmac.update(CryptoJS.enc.Latin1.parse(HLP.packMPI(gx))),hmac.update(CryptoJS.enc.Latin1.parse(HLP.packMPI(gy))),hmac.update(CryptoJS.enc.Latin1.parse(pk)),hmac.update(CryptoJS.enc.Latin1.parse(kid)),hmac.finalize().toString(CryptoJS.enc.Latin1)}function AKE(otr){if(!(this instanceof AKE))return new AKE(otr);this.otr=otr,this.our_dh=otr.our_old_dh,this.our_keyid=otr.our_keyid-1,this.their_y=null,this.their_keyid=null,this.their_priv_pk=null,this.ssid=null,this.transmittedRS=!1,this.r=null;var self=this;["sendMsg"].forEach(function(meth){self[meth]=self[meth].bind(self)})}var CryptoJS,BigInt,CONST,HLP,DSA,root=this;"undefined"!=typeof module&&module.exports?(module.exports=AKE,CryptoJS=require("../vendor/crypto.js"),BigInt=require("../vendor/bigint.js"),CONST=require("./const.js"),HLP=require("./helpers.js"),DSA=require("./dsa.js")):(root.OTR.AKE=AKE,CryptoJS=root.CryptoJS,BigInt=root.BigInt,CONST=root.OTR.CONST,HLP=root.OTR.HLP,DSA=root.DSA);var N=BigInt.str2bigInt(CONST.N,16),N_MINUS_2=BigInt.sub(N,BigInt.str2bigInt("2",10));AKE.prototype={constructor:AKE,createKeys:function(g){var s=BigInt.powMod(g,this.our_dh.privateKey,N),secbytes=HLP.packMPI(s);this.ssid=HLP.mask(HLP.h2("\x00",secbytes),0,64);var tmp=HLP.h2("",secbytes);this.c=HLP.mask(tmp,0,128),this.c_prime=HLP.mask(tmp,128,128),this.m1=HLP.h2("",secbytes),this.m2=HLP.h2("",secbytes),this.m1_prime=HLP.h2("",secbytes),this.m2_prime=HLP.h2("",secbytes)},verifySignMac:function(mac,aesctr,m2,c,their_y,our_dh_pk,m1,ctr){var vmac=HLP.makeMac(aesctr,m2);if(!HLP.compare(mac,vmac))return["MACs do not match."];var x=HLP.decryptAes(aesctr.substring(4),c,ctr);x=HLP.splitype(["PUBKEY","INT","SIG"],x.toString(CryptoJS.enc.Latin1));var m=hMac(their_y,our_dh_pk,x[0],x[1],m1),pub=DSA.parsePublic(x[0]),r=HLP.bits2bigInt(x[2].substring(0,20)),s=HLP.bits2bigInt(x[2].substring(20));return DSA.verify(pub,m,r,s)?[null,HLP.readLen(x[1]),pub]:["Cannot verify signature of m."]},makeM:function(their_y,m1,c,m2){var pk=this.otr.priv.packPublic(),kid=HLP.packINT(this.our_keyid),m=hMac(this.our_dh.publicKey,their_y,pk,kid,m1);m=this.otr.priv.sign(m);var msg=pk+kid;msg+=BigInt.bigInt2bits(m[0],20),msg+=BigInt.bigInt2bits(m[1],20),msg=CryptoJS.enc.Latin1.parse(msg);var aesctr=HLP.packData(HLP.encryptAes(msg,c,HLP.packCtr(0))),mac=HLP.makeMac(aesctr,m2);return aesctr+mac},akeSuccess:function(version){return HLP.debug.call(this.otr,"success"),BigInt.equals(this.their_y,this.our_dh.publicKey)?this.otr.error("equal keys - we have a problem."):(this.otr.our_old_dh=this.our_dh,this.otr.their_priv_pk=this.their_priv_pk,this.their_keyid===this.otr.their_keyid&&BigInt.equals(this.their_y,this.otr.their_y)||this.their_keyid===this.otr.their_keyid-1&&BigInt.equals(this.their_y,this.otr.their_old_y)||(this.otr.their_y=this.their_y,this.otr.their_old_y=null,this.otr.their_keyid=this.their_keyid,this.otr.sessKeys[0]=[new this.otr.DHSession(this.otr.our_dh,this.otr.their_y),null],this.otr.sessKeys[1]=[new this.otr.DHSession(this.otr.our_old_dh,this.otr.their_y),null]),this.otr.ssid=this.ssid,this.otr.transmittedRS=this.transmittedRS,this.otr_version=version,this.otr.authstate=CONST.AUTHSTATE_NONE,this.otr.msgstate=CONST.MSGSTATE_ENCRYPTED,this.r=null,this.myhashed=null,this.dhcommit=null,this.encrypted=null,this.hashed=null,this.otr.trigger("status",[CONST.STATUS_AKE_SUCCESS]),void this.otr.sendStored())},handleAKE:function(msg){var send,vsm,type,version=msg.version;switch(msg.type){case"":if(HLP.debug.call(this.otr,"d-h key message"),msg=HLP.splitype(["DATA","DATA"],msg.msg),this.otr.authstate===CONST.AUTHSTATE_AWAITING_DHKEY){var ourHash=HLP.readMPI(this.myhashed),theirHash=HLP.readMPI(msg[1]);if(BigInt.greater(ourHash,theirHash)){type="",send=this.dhcommit;break}this.our_dh=this.otr.dh(),this.otr.authstate=CONST.AUTHSTATE_NONE,this.r=null,this.myhashed=null}else this.otr.authstate===CONST.AUTHSTATE_AWAITING_SIG&&(this.our_dh=this.otr.dh());this.otr.authstate=CONST.AUTHSTATE_AWAITING_REVEALSIG,this.encrypted=msg[0].substring(4),this.hashed=msg[1].substring(4),type="\n",send=HLP.packMPI(this.our_dh.publicKey);break;case"\n":if(HLP.debug.call(this.otr,"reveal signature message"),msg=HLP.splitype(["MPI"],msg.msg),this.otr.authstate!==CONST.AUTHSTATE_AWAITING_DHKEY){if(this.otr.authstate!==CONST.AUTHSTATE_AWAITING_SIG)return;if(!BigInt.equals(this.their_y,HLP.readMPI(msg[0])))return}if(this.otr.authstate=CONST.AUTHSTATE_AWAITING_SIG,this.their_y=HLP.readMPI(msg[0]),!HLP.checkGroup(this.their_y,N_MINUS_2))return this.otr.error("Illegal g^y.");this.createKeys(this.their_y),type="",send=HLP.packMPI(this.r),send+=this.makeM(this.their_y,this.m1,this.c,this.m2),this.m1=null,this.m2=null,this.c=null;break;case"":if(HLP.debug.call(this.otr,"signature message"),this.otr.authstate!==CONST.AUTHSTATE_AWAITING_REVEALSIG)return;msg=HLP.splitype(["DATA","DATA","MAC"],msg.msg),this.r=HLP.readMPI(msg[0]);var key=CryptoJS.enc.Hex.parse(BigInt.bigInt2str(this.r,16));key=CryptoJS.enc.Latin1.stringify(key);var gxmpi=HLP.decryptAes(this.encrypted,key,HLP.packCtr(0));gxmpi=gxmpi.toString(CryptoJS.enc.Latin1),this.their_y=HLP.readMPI(gxmpi);var hash=CryptoJS.SHA256(CryptoJS.enc.Latin1.parse(gxmpi));return HLP.compare(this.hashed,hash.toString(CryptoJS.enc.Latin1))?HLP.checkGroup(this.their_y,N_MINUS_2)?(this.createKeys(this.their_y),vsm=this.verifySignMac(msg[2],msg[1],this.m2,this.c,this.their_y,this.our_dh.publicKey,this.m1,HLP.packCtr(0)),vsm[0]?this.otr.error(vsm[0]):(this.their_keyid=vsm[1],this.their_priv_pk=vsm[2],send=this.makeM(this.their_y,this.m1_prime,this.c_prime,this.m2_prime),this.m1=null,this.m2=null,this.m1_prime=null,this.m2_prime=null,this.c=null,this.c_prime=null,this.sendMsg(version,"",send),void this.akeSuccess(version))):this.otr.error("Illegal g^x."):this.otr.error("Hashed g^x does not match.");case"":if(HLP.debug.call(this.otr,"data message"),this.otr.authstate!==CONST.AUTHSTATE_AWAITING_SIG)return;return msg=HLP.splitype(["DATA","MAC"],msg.msg),vsm=this.verifySignMac(msg[1],msg[0],this.m2_prime,this.c_prime,this.their_y,this.our_dh.publicKey,this.m1_prime,HLP.packCtr(0)),vsm[0]?this.otr.error(vsm[0]):(this.their_keyid=vsm[1],this.their_priv_pk=vsm[2],this.m1_prime=null,this.m2_prime=null,this.c_prime=null,this.transmittedRS=!0,void this.akeSuccess(version));default:return}this.sendMsg(version,type,send)},sendMsg:function(version,type,msg){var send=version+type,v3=version===CONST.OTR_VERSION_3;return v3&&(HLP.debug.call(this.otr,"instance tags"),send+=this.otr.our_instance_tag,send+=this.otr.their_instance_tag),send+=msg,send=HLP.wrapMsg(send,this.otr.fragment_size,v3,this.otr.our_instance_tag,this.otr.their_instance_tag),send[0]?this.otr.error(send[0]):void this.otr.io(send[1])},initiateAKE:function(version){HLP.debug.call(this.otr,"d-h commit message"),this.otr.trigger("status",[CONST.STATUS_AKE_INIT]),this.otr.authstate=CONST.AUTHSTATE_AWAITING_DHKEY;var gxmpi=HLP.packMPI(this.our_dh.publicKey);gxmpi=CryptoJS.enc.Latin1.parse(gxmpi),this.r=BigInt.randBigInt(128);var key=CryptoJS.enc.Hex.parse(BigInt.bigInt2str(this.r,16));key=CryptoJS.enc.Latin1.stringify(key),this.myhashed=CryptoJS.SHA256(gxmpi),this.myhashed=HLP.packData(this.myhashed.toString(CryptoJS.enc.Latin1)),this.dhcommit=HLP.packData(HLP.encryptAes(gxmpi,key,HLP.packCtr(0))),this.dhcommit+=this.myhashed,this.sendMsg(version,"",this.dhcommit)}}}.call(this),function(){"use strict";function SM(reqs){return this instanceof SM?(this.version=1,this.our_fp=reqs.our_fp,this.their_fp=reqs.their_fp,this.ssid=reqs.ssid,this.debug=!!reqs.debug,void this.init()):new SM(reqs)}var CryptoJS,BigInt,EventEmitter,CONST,HLP,root=this;"undefined"!=typeof module&&module.exports?(module.exports=SM,CryptoJS=require("../vendor/crypto.js"),BigInt=require("../vendor/bigint.js"),EventEmitter=require("../vendor/eventemitter.js"),CONST=require("./const.js"),HLP=require("./helpers.js")):(root.OTR.SM=SM,CryptoJS=root.CryptoJS,BigInt=root.BigInt,EventEmitter=root.EventEmitter,CONST=root.OTR.CONST,HLP=root.OTR.HLP);var G=BigInt.str2bigInt(CONST.G,10),N=BigInt.str2bigInt(CONST.N,16),N_MINUS_2=BigInt.sub(N,BigInt.str2bigInt("2",10)),Q=BigInt.sub(N,BigInt.str2bigInt("1",10));BigInt.divInt_(Q,2),HLP.extend(SM,EventEmitter),SM.prototype.init=function(){this.smpstate=CONST.SMPSTATE_EXPECT1,this.secret=null},SM.prototype.makeSecret=function(our,secret){var sha256=CryptoJS.algo.SHA256.create();sha256.update(CryptoJS.enc.Latin1.parse(HLP.packBytes(this.version,1))),sha256.update(CryptoJS.enc.Hex.parse(our?this.our_fp:this.their_fp)),sha256.update(CryptoJS.enc.Hex.parse(our?this.their_fp:this.our_fp)),sha256.update(CryptoJS.enc.Latin1.parse(this.ssid)),sha256.update(CryptoJS.enc.Latin1.parse(secret));var hash=sha256.finalize();this.secret=HLP.bits2bigInt(hash.toString(CryptoJS.enc.Latin1))},SM.prototype.makeG2s=function(){this.a2=HLP.randomExponent(),this.a3=HLP.randomExponent(),this.g2a=BigInt.powMod(G,this.a2,N),this.g3a=BigInt.powMod(G,this.a3,N),HLP.checkGroup(this.g2a,N_MINUS_2)&&HLP.checkGroup(this.g3a,N_MINUS_2)||this.makeG2s()},SM.prototype.computeGs=function(g2a,g3a){this.g2=BigInt.powMod(g2a,this.a2,N),this.g3=BigInt.powMod(g3a,this.a3,N)},SM.prototype.computePQ=function(r){this.p=BigInt.powMod(this.g3,r,N),this.q=HLP.multPowMod(G,r,this.g2,this.secret,N)},SM.prototype.computeR=function(){this.r=BigInt.powMod(this.QoQ,this.a3,N)},SM.prototype.computeRab=function(r){return BigInt.powMod(r,this.a3,N)},SM.prototype.computeC=function(v,r){return HLP.smpHash(v,BigInt.powMod(G,r,N))},SM.prototype.computeD=function(r,a,c){return BigInt.subMod(r,BigInt.multMod(a,c,Q),Q)},SM.prototype.handleSM=function(msg){var send,r2,r3,r7,t1,t2,t3,t4,rab,tmp2,cR,d7,ms,trust,expectStates={2:CONST.SMPSTATE_EXPECT1,3:CONST.SMPSTATE_EXPECT2,4:CONST.SMPSTATE_EXPECT3,5:CONST.SMPSTATE_EXPECT4,7:CONST.SMPSTATE_EXPECT1};if(6===msg.type)return this.init(),void this.trigger("abort");if(this.smpstate!==expectStates[msg.type])return this.abort();switch(this.smpstate){case CONST.SMPSTATE_EXPECT1:HLP.debug.call(this,"smp tlv 2");var ind,question;return 7===msg.type&&(ind=msg.msg.indexOf("\x00"),question=msg.msg.substring(0,ind),msg.msg=msg.msg.substring(ind+1)),ms=HLP.readLen(msg.msg.substr(0,4)),6!==ms?this.abort():(msg=HLP.unpackMPIs(6,msg.msg.substring(4)),HLP.checkGroup(msg[0],N_MINUS_2)&&HLP.checkGroup(msg[3],N_MINUS_2)&&HLP.ZKP(1,msg[1],HLP.multPowMod(G,msg[2],msg[0],msg[1],N))&&HLP.ZKP(2,msg[4],HLP.multPowMod(G,msg[5],msg[3],msg[4],N))?(this.g3ao=msg[3],this.makeG2s(),r2=HLP.randomExponent(),r3=HLP.randomExponent(),this.c2=this.computeC(3,r2),this.c3=this.computeC(4,r3),this.d2=this.computeD(r2,this.a2,this.c2),this.d3=this.computeD(r3,this.a3,this.c3),this.computeGs(msg[0],msg[3]),this.smpstate=CONST.SMPSTATE_EXPECT0,
-question&&(question=CryptoJS.enc.Latin1.parse(question).toString(CryptoJS.enc.Utf8)),void this.trigger("question",[question])):this.abort());case CONST.SMPSTATE_EXPECT2:if(HLP.debug.call(this,"smp tlv 3"),ms=HLP.readLen(msg.msg.substr(0,4)),11!==ms)return this.abort();if(msg=HLP.unpackMPIs(11,msg.msg.substring(4)),!(HLP.checkGroup(msg[0],N_MINUS_2)&&HLP.checkGroup(msg[3],N_MINUS_2)&&HLP.checkGroup(msg[6],N_MINUS_2)&&HLP.checkGroup(msg[7],N_MINUS_2)))return this.abort();if(!HLP.ZKP(3,msg[1],HLP.multPowMod(G,msg[2],msg[0],msg[1],N)))return this.abort();if(!HLP.ZKP(4,msg[4],HLP.multPowMod(G,msg[5],msg[3],msg[4],N)))return this.abort();if(this.g3ao=msg[3],this.computeGs(msg[0],msg[3]),t1=HLP.multPowMod(this.g3,msg[9],msg[6],msg[8],N),t2=HLP.multPowMod(G,msg[9],this.g2,msg[10],N),t2=BigInt.multMod(t2,BigInt.powMod(msg[7],msg[8],N),N),!HLP.ZKP(5,msg[8],t1,t2))return this.abort();var r4=HLP.randomExponent();this.computePQ(r4);var r5=HLP.randomExponent(),r6=HLP.randomExponent(),tmp=HLP.multPowMod(G,r5,this.g2,r6,N),cP=HLP.smpHash(6,BigInt.powMod(this.g3,r5,N),tmp),d5=this.computeD(r5,r4,cP),d6=this.computeD(r6,this.secret,cP);this.QoQ=BigInt.divMod(this.q,msg[7],N),this.PoP=BigInt.divMod(this.p,msg[6],N),this.computeR(),r7=HLP.randomExponent(),tmp2=BigInt.powMod(this.QoQ,r7,N),cR=HLP.smpHash(7,BigInt.powMod(G,r7,N),tmp2),d7=this.computeD(r7,this.a3,cR),this.smpstate=CONST.SMPSTATE_EXPECT4,send=HLP.packINT(8)+HLP.packMPIs([this.p,this.q,cP,d5,d6,this.r,cR,d7]),send=HLP.packTLV(4,send);break;case CONST.SMPSTATE_EXPECT3:if(HLP.debug.call(this,"smp tlv 4"),ms=HLP.readLen(msg.msg.substr(0,4)),8!==ms)return this.abort();if(msg=HLP.unpackMPIs(8,msg.msg.substring(4)),!HLP.checkGroup(msg[0],N_MINUS_2)||!HLP.checkGroup(msg[1],N_MINUS_2)||!HLP.checkGroup(msg[5],N_MINUS_2))return this.abort();if(t1=HLP.multPowMod(this.g3,msg[3],msg[0],msg[2],N),t2=HLP.multPowMod(G,msg[3],this.g2,msg[4],N),t2=BigInt.multMod(t2,BigInt.powMod(msg[1],msg[2],N),N),!HLP.ZKP(6,msg[2],t1,t2))return this.abort();if(t3=HLP.multPowMod(G,msg[7],this.g3ao,msg[6],N),this.QoQ=BigInt.divMod(msg[1],this.q,N),t4=HLP.multPowMod(this.QoQ,msg[7],msg[5],msg[6],N),!HLP.ZKP(7,msg[6],t3,t4))return this.abort();this.computeR(),r7=HLP.randomExponent(),tmp2=BigInt.powMod(this.QoQ,r7,N),cR=HLP.smpHash(8,BigInt.powMod(G,r7,N),tmp2),d7=this.computeD(r7,this.a3,cR),send=HLP.packINT(3)+HLP.packMPIs([this.r,cR,d7]),send=HLP.packTLV(5,send),rab=this.computeRab(msg[5]),trust=!!BigInt.equals(rab,BigInt.divMod(msg[0],this.p,N)),this.trigger("trust",[trust,"answered"]),this.init();break;case CONST.SMPSTATE_EXPECT4:return HLP.debug.call(this,"smp tlv 5"),ms=HLP.readLen(msg.msg.substr(0,4)),3!==ms?this.abort():(msg=HLP.unpackMPIs(3,msg.msg.substring(4)),HLP.checkGroup(msg[0],N_MINUS_2)?(t3=HLP.multPowMod(G,msg[2],this.g3ao,msg[1],N),t4=HLP.multPowMod(this.QoQ,msg[2],msg[0],msg[1],N),HLP.ZKP(8,msg[1],t3,t4)?(rab=this.computeRab(msg[0]),trust=!!BigInt.equals(rab,this.PoP),this.trigger("trust",[trust,"asked"]),void this.init()):this.abort()):this.abort())}this.sendMsg(send)},SM.prototype.sendMsg=function(send){this.trigger("send",[this.ssid,"\x00"+send])},SM.prototype.rcvSecret=function(secret,question){HLP.debug.call(this,"receive secret");var fn,our=!1;this.smpstate===CONST.SMPSTATE_EXPECT0?fn=this.answer:(fn=this.initiate,our=!0),this.makeSecret(our,secret),fn.call(this,question)},SM.prototype.answer=function(){HLP.debug.call(this,"smp answer");var r4=HLP.randomExponent();this.computePQ(r4);var r5=HLP.randomExponent(),r6=HLP.randomExponent(),tmp=HLP.multPowMod(G,r5,this.g2,r6,N),cP=HLP.smpHash(5,BigInt.powMod(this.g3,r5,N),tmp),d5=this.computeD(r5,r4,cP),d6=this.computeD(r6,this.secret,cP);this.smpstate=CONST.SMPSTATE_EXPECT3;var send=HLP.packINT(11)+HLP.packMPIs([this.g2a,this.c2,this.d2,this.g3a,this.c3,this.d3,this.p,this.q,cP,d5,d6]);this.sendMsg(HLP.packTLV(3,send))},SM.prototype.initiate=function(question){HLP.debug.call(this,"smp initiate"),this.smpstate!==CONST.SMPSTATE_EXPECT1&&this.abort(),this.makeG2s();var r2=HLP.randomExponent(),r3=HLP.randomExponent();this.c2=this.computeC(1,r2),this.c3=this.computeC(2,r3),this.d2=this.computeD(r2,this.a2,this.c2),this.d3=this.computeD(r3,this.a3,this.c3),this.smpstate=CONST.SMPSTATE_EXPECT2;var send="",type=2;question&&(send+=question,send+="\x00",type=7),send+=HLP.packINT(6)+HLP.packMPIs([this.g2a,this.c2,this.d2,this.g3a,this.c3,this.d3]),this.sendMsg(HLP.packTLV(type,send))},SM.prototype.abort=function(){this.init(),this.sendMsg(HLP.packTLV(6,"")),this.trigger("abort")}}.call(this),function(){"use strict";function OTRCB(cb){this.cb=cb}function OTR(options){if(!(this instanceof OTR))return new OTR(options);if(options=options||{},options.priv&&!(options.priv instanceof DSA))throw new Error("Requires long-lived DSA key.");if(this.priv=options.priv?options.priv:new DSA,this.fragment_size=options.fragment_size||0,this.fragment_size<0)throw new Error("Fragment size must be a positive integer.");if(this.send_interval=options.send_interval||0,this.send_interval<0)throw new Error("Send interval must be a positive integer.");this.outgoing=[],this.our_instance_tag=options.instance_tag||OTR.makeInstanceTag(),this.debug=!!options.debug,this.smw=options.smw,this.init();var self=this;["sendMsg","receiveMsg"].forEach(function(meth){self[meth]=self[meth].bind(self)}),EventEmitter.call(this)}var CryptoJS,BigInt,EventEmitter,Worker,SMWPath,CONST,HLP,Parse,AKE,SM,DSA,root=this;"undefined"!=typeof module&&module.exports?(module.exports=OTR,CryptoJS=require("../vendor/crypto.js"),BigInt=require("../vendor/bigint.js"),EventEmitter=require("../vendor/eventemitter.js"),SMWPath=require("path").join(__dirname,"/sm-webworker.js"),CONST=require("./const.js"),HLP=require("./helpers.js"),Parse=require("./parse.js"),AKE=require("./ake.js"),SM=require("./sm.js"),DSA=require("./dsa.js"),OTR.CONST=CONST):(Object.keys(root.OTR).forEach(function(k){OTR[k]=root.OTR[k]}),root.OTR=OTR,CryptoJS=root.CryptoJS,BigInt=root.BigInt,EventEmitter=root.EventEmitter,Worker=root.Worker,SMWPath="sm-webworker.js",CONST=OTR.CONST,HLP=OTR.HLP,Parse=OTR.Parse,AKE=OTR.AKE,SM=OTR.SM,DSA=root.DSA);var G=BigInt.str2bigInt(CONST.G,10),N=BigInt.str2bigInt(CONST.N,16),MAX_INT=Math.pow(2,53)-1,MAX_UINT=Math.pow(2,31)-1;HLP.extend(OTR,EventEmitter),OTR.prototype.init=function(){this.msgstate=CONST.MSGSTATE_PLAINTEXT,this.authstate=CONST.AUTHSTATE_NONE,this.ALLOW_V2=!0,this.ALLOW_V3=!0,this.REQUIRE_ENCRYPTION=!1,this.SEND_WHITESPACE_TAG=!1,this.WHITESPACE_START_AKE=!1,this.ERROR_START_AKE=!1,Parse.initFragment(this),this.their_y=null,this.their_old_y=null,this.their_keyid=0,this.their_priv_pk=null,this.their_instance_tag="\x00\x00\x00\x00",this.our_dh=this.dh(),this.our_old_dh=this.dh(),this.our_keyid=2,this.sessKeys=[new Array(2),new Array(2)],this.storedMgs=[],this.oldMacKeys=[],this.sm=null,this._akeInit(),this.receivedPlaintext=!1},OTR.prototype._akeInit=function(){this.ake=new AKE(this),this.transmittedRS=!1,this.ssid=null},OTR.prototype._SMW=function(otr,reqs){this.otr=otr;var opts={path:SMWPath,seed:BigInt.getSeed};"object"==typeof otr.smw&&Object.keys(otr.smw).forEach(function(k){opts[k]=otr.smw[k]}),"undefined"!=typeof module&&module.exports&&(Worker=require("webworker-threads").Worker),this.worker=new Worker(opts.path);var self=this;this.worker.onmessage=function(e){var d=e.data;d&&self.trigger(d.method,d.args)},this.worker.postMessage({type:"seed",seed:opts.seed(),imports:opts.imports}),this.worker.postMessage({type:"init",reqs:reqs})},HLP.extend(OTR.prototype._SMW,EventEmitter),["handleSM","rcvSecret","abort"].forEach(function(m){OTR.prototype._SMW.prototype[m]=function(){this.worker.postMessage({type:"method",method:m,args:Array.prototype.slice.call(arguments,0)})}}),OTR.prototype._smInit=function(){var reqs={ssid:this.ssid,our_fp:this.priv.fingerprint(),their_fp:this.their_priv_pk.fingerprint(),debug:this.debug};this.smw?(this.sm&&this.sm.worker.terminate(),this.sm=new this._SMW(this,reqs)):this.sm=new SM(reqs);var self=this;["trust","abort","question"].forEach(function(e){self.sm.on(e,function(){self.trigger("smp",[e].concat(Array.prototype.slice.call(arguments)))})}),this.sm.on("send",function(ssid,send){self.ssid===ssid&&(send=self.prepareMsg(send),self.io(send))})},OTR.prototype.io=function(msg,meta){msg=[].concat(msg).map(function(m,i,arr){var obj={msg:m};return meta instanceof OTRCB&&i!==arr.length-1||(obj.meta=meta),obj}),this.outgoing=this.outgoing.concat(msg);var self=this;!function send(first){if(!first){if(!self.outgoing.length)return;var elem=self.outgoing.shift(),cb=null;elem.meta instanceof OTRCB&&(cb=elem.meta.cb,elem.meta=null),self.trigger("io",[elem.msg,elem.meta]),cb&&cb()}setTimeout(send,first?0:self.send_interval)}(!0)},OTR.prototype.dh=function(){var keys={privateKey:BigInt.randBigInt(320)};return keys.publicKey=BigInt.powMod(G,keys.privateKey,N),keys},OTR.prototype.DHSession=function DHSession(our_dh,their_y){if(!(this instanceof DHSession))return new DHSession(our_dh,their_y);var s=BigInt.powMod(their_y,our_dh.privateKey,N),secbytes=HLP.packMPI(s);this.id=HLP.mask(HLP.h2("\x00",secbytes),0,64);var sq=BigInt.greater(our_dh.publicKey,their_y),sendbyte=sq?"":"",rcvbyte=sq?"":"";this.sendenc=HLP.mask(HLP.h1(sendbyte,secbytes),0,128),this.sendmac=CryptoJS.SHA1(CryptoJS.enc.Latin1.parse(this.sendenc)),this.sendmac=this.sendmac.toString(CryptoJS.enc.Latin1),this.rcvenc=HLP.mask(HLP.h1(rcvbyte,secbytes),0,128),this.rcvmac=CryptoJS.SHA1(CryptoJS.enc.Latin1.parse(this.rcvenc)),this.rcvmac=this.rcvmac.toString(CryptoJS.enc.Latin1),this.rcvmacused=!1,this.extra_symkey=HLP.h2("ÿ",secbytes),this.send_counter=0,this.rcv_counter=0},OTR.prototype.rotateOurKeys=function(){var self=this;this.sessKeys[1].forEach(function(sk){sk&&sk.rcvmacused&&self.oldMacKeys.push(sk.rcvmac)}),this.our_old_dh=this.our_dh,this.our_dh=this.dh(),this.our_keyid+=1,this.sessKeys[1][0]=this.sessKeys[0][0],this.sessKeys[1][1]=this.sessKeys[0][1],this.sessKeys[0]=[this.their_y?new this.DHSession(this.our_dh,this.their_y):null,this.their_old_y?new this.DHSession(this.our_dh,this.their_old_y):null]},OTR.prototype.rotateTheirKeys=function(their_y){this.their_keyid+=1;var self=this;this.sessKeys.forEach(function(sk){sk[1]&&sk[1].rcvmacused&&self.oldMacKeys.push(sk[1].rcvmac)}),this.their_old_y=this.their_y,this.sessKeys[0][1]=this.sessKeys[0][0],this.sessKeys[1][1]=this.sessKeys[1][0],this.their_y=their_y,this.sessKeys[0][0]=new this.DHSession(this.our_dh,this.their_y),this.sessKeys[1][0]=new this.DHSession(this.our_old_dh,this.their_y)},OTR.prototype.prepareMsg=function(msg,esk){if(this.msgstate!==CONST.MSGSTATE_ENCRYPTED||0===this.their_keyid)return this.notify("Not ready to encrypt.");var sessKeys=this.sessKeys[1][0];if(sessKeys.send_counter>=MAX_INT)return this.notify("Should have rekeyed by now.");sessKeys.send_counter+=1;var ctr=HLP.packCtr(sessKeys.send_counter),send=this.ake.otr_version+"",v3=this.ake.otr_version===CONST.OTR_VERSION_3;if(v3&&(send+=this.our_instance_tag,send+=this.their_instance_tag),send+="\x00",send+=HLP.packINT(this.our_keyid-1),send+=HLP.packINT(this.their_keyid),send+=HLP.packMPI(this.our_dh.publicKey),send+=ctr.substring(0,8),Math.ceil(msg.length/8)>=MAX_UINT)return this.notify("Message is too long.");var aes=HLP.encryptAes(CryptoJS.enc.Latin1.parse(msg),sessKeys.sendenc,ctr);return send+=HLP.packData(aes),send+=HLP.make1Mac(send,sessKeys.sendmac),send+=HLP.packData(this.oldMacKeys.splice(0).join("")),send=HLP.wrapMsg(send,this.fragment_size,v3,this.our_instance_tag,this.their_instance_tag),send[0]?this.notify(send[0]):(esk&&this.trigger("file",["send",sessKeys.extra_symkey,esk]),send[1])},OTR.prototype.handleDataMsg=function(msg){var vt=msg.version+msg.type;this.ake.otr_version===CONST.OTR_VERSION_3&&(vt+=msg.instance_tags);var types=["BYTE","INT","INT","MPI","CTR","DATA","MAC","DATA"];msg=HLP.splitype(types,msg.msg);var ign=""===msg[0];if(this.msgstate!==CONST.MSGSTATE_ENCRYPTED||8!==msg.length)return void(ign||this.error("Received an unreadable encrypted message."));var our_keyid=this.our_keyid-HLP.readLen(msg[2]),their_keyid=this.their_keyid-HLP.readLen(msg[1]);if(0>our_keyid||our_keyid>1)return void(ign||this.error("Not of our latest keys."));if(0>their_keyid||their_keyid>1)return void(ign||this.error("Not of your latest keys."));var their_y=their_keyid?this.their_old_y:this.their_y;if(1===their_keyid&&!their_y)return void(ign||this.error("Do not have that key."));var sessKeys=this.sessKeys[our_keyid][their_keyid],ctr=HLP.unpackCtr(msg[4]);if(ctr<=sessKeys.rcv_counter)return void(ign||this.error("Counter in message is not larger."));sessKeys.rcv_counter=ctr,vt+=msg.slice(0,6).join("");var vmac=HLP.make1Mac(vt,sessKeys.rcvmac);if(!HLP.compare(msg[6],vmac))return void(ign||this.error("MACs do not match."));sessKeys.rcvmacused=!0;var out=HLP.decryptAes(msg[5].substring(4),sessKeys.rcvenc,HLP.padCtr(msg[4]));out=out.toString(CryptoJS.enc.Latin1),our_keyid||this.rotateOurKeys(),their_keyid||this.rotateTheirKeys(HLP.readMPI(msg[3]));var ind=out.indexOf("\x00");return~ind&&(this.handleTLVs(out.substring(ind+1),sessKeys),out=out.substring(0,ind)),out=CryptoJS.enc.Latin1.parse(out),out.toString(CryptoJS.enc.Utf8)},OTR.prototype.handleTLVs=function(tlvs,sessKeys){for(var type,len,msg;tlvs.length&&(type=HLP.unpackSHORT(tlvs.substr(0,2)),len=HLP.unpackSHORT(tlvs.substr(2,2)),msg=tlvs.substr(4,len),!(msg.length<len));){switch(type){case 1:this.msgstate=CONST.MSGSTATE_FINISHED,this.trigger("status",[CONST.STATUS_END_OTR]);break;case 2:case 3:case 4:case 5:case 6:case 7:if(this.msgstate!==CONST.MSGSTATE_ENCRYPTED)return void(this.sm&&this.sm.abort());this.sm||this._smInit(),this.sm.handleSM({msg:msg,type:type});break;case 8:msg=msg.substring(4),msg=CryptoJS.enc.Latin1.parse(msg),msg=msg.toString(CryptoJS.enc.Utf8),this.trigger("file",["receive",sessKeys.extra_symkey,msg])}tlvs=tlvs.substring(4+len)}},OTR.prototype.smpSecret=function(secret,question){return this.msgstate!==CONST.MSGSTATE_ENCRYPTED?this.notify("Must be encrypted for SMP."):"string"!=typeof secret||secret.length<1?this.notify("Secret is required."):(this.sm||this._smInit(),secret=CryptoJS.enc.Utf8.parse(secret).toString(CryptoJS.enc.Latin1),question&&(question=CryptoJS.enc.Utf8.parse(question).toString(CryptoJS.enc.Latin1)),void this.sm.rcvSecret(secret,question))},OTR.prototype.sendQueryMsg=function(){var versions={},msg=CONST.OTR_TAG;this.ALLOW_V2&&(versions[2]=!0),this.ALLOW_V3&&(versions[3]=!0);var vs=Object.keys(versions);vs.length&&(msg+="v",vs.forEach(function(v){"1"!==v&&(msg+=v)}),msg+="?"),this.io(msg),this.trigger("status",[CONST.STATUS_SEND_QUERY])},OTR.prototype.sendMsg=function(msg,meta){switch((this.REQUIRE_ENCRYPTION||this.msgstate!==CONST.MSGSTATE_PLAINTEXT)&&(msg=CryptoJS.enc.Utf8.parse(msg),msg=msg.toString(CryptoJS.enc.Latin1)),this.msgstate){case CONST.MSGSTATE_PLAINTEXT:if(this.REQUIRE_ENCRYPTION)return this.storedMgs.push({msg:msg,meta:meta}),void this.sendQueryMsg();this.SEND_WHITESPACE_TAG&&!this.receivedPlaintext&&(msg+=CONST.WHITESPACE_TAG,this.ALLOW_V3&&(msg+=CONST.WHITESPACE_TAG_V3),this.ALLOW_V2&&(msg+=CONST.WHITESPACE_TAG_V2));break;case CONST.MSGSTATE_FINISHED:return this.storedMgs.push({msg:msg,meta:meta}),void this.notify("Message cannot be sent at this time.","warn");case CONST.MSGSTATE_ENCRYPTED:msg=this.prepareMsg(msg);break;default:throw new Error("Unknown message state.")}msg&&this.io(msg,meta)},OTR.prototype.receiveMsg=function(msg,meta){if(msg=Parse.parseMsg(this,msg)){switch(msg.cls){case"error":return void this.notify(msg.msg);case"ake":return msg.version===CONST.OTR_VERSION_3&&this.checkInstanceTags(msg.instance_tags)?void this.notify("Received a message intended for a different session.","warn"):void this.ake.handleAKE(msg);case"data":if(msg.version===CONST.OTR_VERSION_3&&this.checkInstanceTags(msg.instance_tags))return void this.notify("Received a message intended for a different session.","warn");msg.msg=this.handleDataMsg(msg),msg.encrypted=!0;break;case"query":this.msgstate===CONST.MSGSTATE_ENCRYPTED&&this._akeInit(),this.doAKE(msg);break;default:(this.REQUIRE_ENCRYPTION||this.msgstate!==CONST.MSGSTATE_PLAINTEXT)&&this.notify("Received an unencrypted message.","warn"),this.receivedPlaintext=!0,this.WHITESPACE_START_AKE&&msg.ver.length>0&&this.doAKE(msg)}msg.msg&&this.trigger("ui",[msg.msg,!!msg.encrypted,meta])}},OTR.prototype.checkInstanceTags=function(it){var their_it=HLP.readLen(it.substr(0,4)),our_it=HLP.readLen(it.substr(4,4));if(our_it&&our_it!==HLP.readLen(this.our_instance_tag))return!0;if(HLP.readLen(this.their_instance_tag)){if(HLP.readLen(this.their_instance_tag)!==their_it)return!0}else{if(100>their_it)return!0;this.their_instance_tag=HLP.packINT(their_it)}},OTR.prototype.doAKE=function(msg){this.ALLOW_V3&&~msg.ver.indexOf(CONST.OTR_VERSION_3)?this.ake.initiateAKE(CONST.OTR_VERSION_3):this.ALLOW_V2&&~msg.ver.indexOf(CONST.OTR_VERSION_2)?this.ake.initiateAKE(CONST.OTR_VERSION_2):this.notify("OTR conversation requested, but no compatible protocol version found.","warn")},OTR.prototype.error=function(err){this.debug||(err="An OTR error has occurred."),this.io("?OTR Error:"+err),this.notify(err)},OTR.prototype.notify=function(err,severity){this.trigger("error",[err,severity||"error"])},OTR.prototype.sendStored=function(){var self=this;this.storedMgs.splice(0).forEach(function(elem){var msg=self.prepareMsg(elem.msg);self.io(msg,elem.meta)})},OTR.prototype.sendFile=function(filename){if(this.msgstate!==CONST.MSGSTATE_ENCRYPTED)return this.notify("Not ready to encrypt.");if(this.ake.otr_version!==CONST.OTR_VERSION_3)return this.notify("Protocol v3 required.");if(!filename)return this.notify("Please specify a filename.");var l1name=CryptoJS.enc.Utf8.parse(filename);if(l1name=l1name.toString(CryptoJS.enc.Latin1),l1name.length>=65532)return this.notify("Filename is too long.");var msg="\x00";msg+="\x00\b",msg+=HLP.packSHORT(4+l1name.length),msg+="\x00\x00\x00",msg+=l1name,msg=this.prepareMsg(msg,filename),this.io(msg)},OTR.prototype.endOtr=function(cb){this.msgstate===CONST.MSGSTATE_ENCRYPTED?("function"==typeof cb&&(cb=new OTRCB(cb)),this.sendMsg("\x00\x00\x00\x00",cb),this.sm&&(this.smw&&this.sm.worker.terminate(),this.sm=null)):"function"==typeof cb&&setTimeout(cb,0),this.msgstate=CONST.MSGSTATE_PLAINTEXT,this.receivedPlaintext=!1,this.trigger("status",[CONST.STATUS_END_OTR])},OTR.makeInstanceTag=function(){var num=BigInt.randBigInt(32);return BigInt.greater(BigInt.str2bigInt("100",16),num)?OTR.makeInstanceTag():HLP.packINT(parseInt(BigInt.bigInt2str(num,10),10))}}.call(this),{OTR:this.OTR,DSA:this.DSA}}),/*!
- * Source: lib/i18next/release/i18next-latest.min.js, license: MIT, url: http://i18next.com/
- */
-!function(){function a(a,b){if(!b||"function"==typeof b)return a;for(var c in b)a[c]=b[c];return a}function b(a,c){for(var d in c)d in a?b(a[d],c[d]):a[d]=c[d];return a}function c(a,b,c){var d,e=0,f=a.length,g=void 0===f||"[object Array]"!==Object.prototype.toString.apply(a)||"function"==typeof a;if(c)if(g){for(d in a)if(b.apply(a[d],c)===!1)break}else for(;f>e&&b.apply(a[e++],c)!==!1;);else if(g){for(d in a)if(b.call(a[d],d,a[d])===!1)break}else for(;f>e&&b.call(a[e],e,a[e++])!==!1;);return a}function d(a){return"string"==typeof a?a.replace(/[&<>"'\/]/g,function(a){return Q[a]}):a}function e(a){var b=function(a){if(window.XMLHttpRequest)return a(null,new XMLHttpRequest);if(window.ActiveXObject)try{return a(null,new ActiveXObject("Msxml2.XMLHTTP"))}catch(b){return a(null,new ActiveXObject("Microsoft.XMLHTTP"))}return a(new Error)},c=function(a){if("string"==typeof a)return a;var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(encodeURIComponent(c)+"="+encodeURIComponent(a[c]));return b.join("&")},d=function(a){a=a.replace(/\r\n/g,"\n");for(var b="",c=0;c<a.length;c++){var d=a.charCodeAt(c);128>d?b+=String.fromCharCode(d):d>127&&2048>d?(b+=String.fromCharCode(192|d>>6),b+=String.fromCharCode(128|63&d)):(b+=String.fromCharCode(224|d>>12),b+=String.fromCharCode(128|63&d>>6),b+=String.fromCharCode(128|63&d))}return b},e=function(a){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";a=d(a);var c,e,f,g,h,i,j,k="",l=0;do c=a.charCodeAt(l++),e=a.charCodeAt(l++),f=a.charCodeAt(l++),g=c>>2,h=(3&c)<<4|e>>4,i=(15&e)<<2|f>>6,j=63&f,isNaN(e)?i=j=64:isNaN(f)&&(j=64),k+=b.charAt(g)+b.charAt(h)+b.charAt(i)+b.charAt(j),c=e=f="",g=h=i=j="";while(l<a.length);return k},f=function(){for(var a=arguments[0],b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}return a},g=function(a,d,e,h){"function"==typeof e&&(h=e,e={}),e.cache=e.cache||!1,e.data=e.data||{},e.headers=e.headers||{},e.jsonp=e.jsonp||!1,e.async=void 0===e.async?!0:e.async;var i,j=f({accept:"*/*","content-type":"application/x-www-form-urlencoded;charset=UTF-8"},g.headers,e.headers);if(i="application/json"===j["content-type"]?JSON.stringify(e.data):c(e.data),"GET"===a){var k=[];if(i&&(k.push(i),i=null),e.cache||k.push("_="+(new Date).getTime()),e.jsonp&&(k.push("callback="+e.jsonp),k.push("jsonp="+e.jsonp)),k=k.join("&"),k.length>1&&(d+=d.indexOf("?")>-1?"&"+k:"?"+k),e.jsonp){var l=document.getElementsByTagName("head")[0],m=document.createElement("script");return m.type="text/javascript",m.src=d,void l.appendChild(m)}}b(function(b,c){if(b)return h(b);c.open(a,d,e.async);for(var f in j)j.hasOwnProperty(f)&&c.setRequestHeader(f,j[f]);c.onreadystatechange=function(){if(4===c.readyState){var a=c.responseText||"";if(!h)return;h(c.status,{text:function(){return a},json:function(){try{return JSON.parse(a)}catch(b){return T.error("Can not parse JSON. URL: "+d),{}}}})}},c.send(i)})},h={authBasic:function(a,b){g.headers.Authorization="Basic "+e(a+":"+b)},connect:function(a,b,c){return g("CONNECT",a,b,c)},del:function(a,b,c){return g("DELETE",a,b,c)},get:function(a,b,c){return g("GET",a,b,c)},head:function(a,b,c){return g("HEAD",a,b,c)},headers:function(a){g.headers=a||{}},isAllowed:function(a,b,c){this.options(a,function(a,d){c(-1!==d.text().indexOf(b))})},options:function(a,b,c){return g("OPTIONS",a,b,c)},patch:function(a,b,c){return g("PATCH",a,b,c)},post:function(a,b,c){return g("POST",a,b,c)},put:function(a,b,c){return g("PUT",a,b,c)},trace:function(a,b,c){return g("TRACE",a,b,c)}},i=a.type?a.type.toLowerCase():"get";h[i](a.url,a,function(b,c){200===b||0===b&&c.text()?a.success(c.json(),b,null):a.error(c.text(),b,null)})}function f(a,b){"function"==typeof a&&(b=a,a={}),a=a||{},T.extend(P,a),delete P.fixLng,P.functions&&(delete P.functions,T.extend(T,a.functions)),"string"==typeof P.ns&&(P.ns={namespaces:[P.ns],defaultNs:P.ns}),"string"==typeof P.fallbackNS&&(P.fallbackNS=[P.fallbackNS]),("string"==typeof P.fallbackLng||"boolean"==typeof P.fallbackLng)&&(P.fallbackLng=[P.fallbackLng]),P.interpolationPrefixEscaped=T.regexEscape(P.interpolationPrefix),P.interpolationSuffixEscaped=T.regexEscape(P.interpolationSuffix),P.lng||(P.lng=T.detectLanguage()),L=T.toLanguages(P.lng),F=L[0],T.log("currentLng set to: "+F),P.useCookie&&T.cookie.read(P.cookieName)!==F&&T.cookie.create(P.cookieName,F,P.cookieExpirationTime,P.cookieDomain),P.detectLngFromLocalStorage&&"undefined"!=typeof document&&window.localStorage&&T.localStorage.setItem("i18next_lng",F);var c=z;a.fixLng&&(c=function(a,b){return b=b||{},b.lng=b.lng||c.lng,z(a,b)},c.lng=F),W.setCurrentLng(F),H&&P.setJqueryExt&&s();var d;if(H&&H.Deferred&&(d=H.Deferred()),!P.resStore){var e=T.toLanguages(P.lng);"string"==typeof P.preload&&(P.preload=[P.preload]);for(var f=0,g=P.preload.length;g>f;f++)for(var h=T.toLanguages(P.preload[f]),i=0,j=h.length;j>i;i++)e.indexOf(h[i])<0&&e.push(h[i]);return I.sync.load(e,P,function(a,e){J=e,M=!0,b&&b(c),d&&d.resolve(c)}),d?d.promise():void 0}return J=P.resStore,M=!0,b&&b(c),d&&d.resolve(c),d?d.promise():void 0}function g(a,b){"string"==typeof a&&(a=[a]);for(var c=0,d=a.length;d>c;c++)P.preload.indexOf(a[c])<0&&P.preload.push(a[c]);return f(b)}function h(a,b,c,d){"string"!=typeof b?(c=b,b=P.ns.defaultNs):P.ns.namespaces.indexOf(b)<0&&P.ns.namespaces.push(b),J[a]=J[a]||{},J[a][b]=J[a][b]||{},d?T.deepExtend(J[a][b],c):T.extend(J[a][b],c)}function i(a,b){"string"!=typeof b&&(b=P.ns.defaultNs),J[a]=J[a]||{};var c=J[a][b]||{},d=!1;for(var e in c)c.hasOwnProperty(e)&&(d=!0);return d}function j(a,b){"string"!=typeof b&&(b=P.ns.defaultNs),J[a]=J[a]||{},J[a][b]={}}function k(a,b,c,d){"string"!=typeof b?(resource=b,b=P.ns.defaultNs):P.ns.namespaces.indexOf(b)<0&&P.ns.namespaces.push(b),J[a]=J[a]||{},J[a][b]=J[a][b]||{};for(var e=c.split(P.keyseparator),f=0,g=J[a][b];e[f];)f==e.length-1?g[e[f]]=d:(null==g[e[f]]&&(g[e[f]]={}),g=g[e[f]]),f++}function l(a,b,c){"string"!=typeof b?(resource=b,b=P.ns.defaultNs):P.ns.namespaces.indexOf(b)<0&&P.ns.namespaces.push(b);for(var d in c)"string"==typeof c[d]&&k(a,b,d,c[d])}function m(a){P.ns.defaultNs=a}function n(a,b){o([a],b)}function o(a,b){var c={dynamicLoad:P.dynamicLoad,resGetPath:P.resGetPath,getAsync:P.getAsync,customLoad:P.customLoad,ns:{namespaces:a,defaultNs:""}},d=T.toLanguages(P.lng);"string"==typeof P.preload&&(P.preload=[P.preload]);for(var e=0,f=P.preload.length;f>e;e++)for(var g=T.toLanguages(P.preload[e]),h=0,i=g.length;i>h;h++)d.indexOf(g[h])<0&&d.push(g[h]);for(var j=[],k=0,l=d.length;l>k;k++){var m=!1,n=J[d[k]];if(n)for(var o=0,p=a.length;p>o;o++)n[a[o]]||(m=!0);else m=!0;m&&j.push(d[k])}j.length?I.sync._fetch(j,c,function(c,d){var e=a.length*j.length;T.each(a,function(a,c){P.ns.namespaces.indexOf(c)<0&&P.ns.namespaces.push(c),T.each(j,function(a,f){J[f]=J[f]||{},J[f][c]=d[f][c],e--,0===e&&b&&(P.useLocalStorage&&I.sync._storeLocal(J),b())})})}):b&&b()}function p(a,b,c){return"function"==typeof b?(c=b,b={}):b||(b={}),b.lng=a,f(b,c)}function q(){return F}function r(a){J={},p(F,a)}function s(){function a(a,b,c){if(0!==b.length){var d="text";if(0===b.indexOf("[")){var e=b.split("]");b=e[1],d=e[0].substr(1,e[0].length-1)}b.indexOf(";")===b.length-1&&(b=b.substr(0,b.length-2));var f;if("html"===d)f=P.defaultValueFromContent?H.extend({defaultValue:a.html()},c):c,a.html(H.t(b,f));else if("text"===d)f=P.defaultValueFromContent?H.extend({defaultValue:a.text()},c):c,a.text(H.t(b,f));else if("prepend"===d)f=P.defaultValueFromContent?H.extend({defaultValue:a.html()},c):c,a.prepend(H.t(b,f));else if("append"===d)f=P.defaultValueFromContent?H.extend({defaultValue:a.html()},c):c,a.append(H.t(b,f));else if(0===d.indexOf("data-")){var g=d.substr("data-".length);f=P.defaultValueFromContent?H.extend({defaultValue:a.data(g)},c):c;var h=H.t(b,f);a.data(g,h),a.attr(d,h)}else f=P.defaultValueFromContent?H.extend({defaultValue:a.attr(d)},c):c,a.attr(d,H.t(b,f))}}function b(b,c){var d=b.attr(P.selectorAttr);if(d||"undefined"==typeof d||d===!1||(d=b.text()||b.val()),d){var e=b,f=b.data("i18n-target");if(f&&(e=b.find(f)||b),c||P.useDataAttrOptions!==!0||(c=b.data("i18n-options")),c=c||{},d.indexOf(";")>=0){var g=d.split(";");H.each(g,function(b,d){""!==d&&a(e,d,c)})}else a(e,d,c);P.useDataAttrOptions===!0&&b.data("i18n-options",c)}}H.t=H.t||z,H.fn.i18n=function(a){return this.each(function(){b(H(this),a);var c=H(this).find("["+P.selectorAttr+"]");c.each(function(){b(H(this),a)})})}}function t(a,b,c,d){if(!a)return a;if(d=d||b,a.indexOf(d.interpolationPrefix||P.interpolationPrefix)<0)return a;var e=d.interpolationPrefix?T.regexEscape(d.interpolationPrefix):P.interpolationPrefixEscaped,f=d.interpolationSuffix?T.regexEscape(d.interpolationSuffix):P.interpolationSuffixEscaped,g="HTML"+f,h=b.replace&&"object"==typeof b.replace?b.replace:b;return T.each(h,function(b,h){var i=c?c+P.keyseparator+b:b;"object"==typeof h&&null!==h?a=t(a,h,i,d):d.escapeInterpolation||P.escapeInterpolation?(a=a.replace(new RegExp([e,i,g].join(""),"g"),T.regexReplacementEscape(h)),a=a.replace(new RegExp([e,i,f].join(""),"g"),T.regexReplacementEscape(T.escape(h)))):a=a.replace(new RegExp([e,i,f].join(""),"g"),T.regexReplacementEscape(h))}),a}function u(a,b){var c=",",d="{",e="}",f=T.extend({},b);for(delete f.postProcess;-1!=a.indexOf(P.reusePrefix)&&(K++,!(K>P.maxRecursion));){var g=a.lastIndexOf(P.reusePrefix),h=a.indexOf(P.reuseSuffix,g)+P.reuseSuffix.length,i=a.substring(g,h),j=i.replace(P.reusePrefix,"").replace(P.reuseSuffix,"");if(g>=h)return T.error("there is an missing closing in following translation value",a),"";if(-1!=j.indexOf(c)){var k=j.indexOf(c);if(-1!=j.indexOf(d,k)&&-1!=j.indexOf(e,k)){var l=j.indexOf(d,k),m=j.indexOf(e,l)+e.length;try{f=T.extend(f,JSON.parse(j.substring(l,m))),j=j.substring(0,k)}catch(n){}}}var o=C(j,f);a=a.replace(i,T.regexReplacementEscape(o))}return a}function v(a){return a.context&&("string"==typeof a.context||"number"==typeof a.context)}function w(a){return void 0!==a.count&&"string"!=typeof a.count}function x(a){return void 0!==a.indefinite_article&&"string"!=typeof a.indefinite_article&&a.indefinite_article}function y(a,b){b=b||{};var c=A(a,b),d=D(a,b);return void 0!==d||d===c}function z(a,b){return b=b||{},M?(K=0,C.apply(null,arguments)):(T.log("i18next not finished initialization. you might have called t function before loading resources finished."),b.defaultValue||"")}function A(a,b){return void 0!==b.defaultValue?b.defaultValue:a}function B(){for(var a=[],b=1;b<arguments.length;b++)a.push(arguments[b]);return{postProcess:"sprintf",sprintf:a}}function C(a,b){if(b&&"object"!=typeof b?"sprintf"===P.shortcutFunction?b=B.apply(null,arguments):"defaultValue"===P.shortcutFunction&&(b={defaultValue:b}):b=b||{},"object"==typeof P.defaultVariables&&(b=T.extend({},P.defaultVariables,b)),void 0===a||null===a||""===a)return"";"string"==typeof a&&(a=[a]);var c=a[0];if(a.length>1)for(var d=0;d<a.length&&(c=a[d],!y(c,b));d++);var e,f=A(c,b),g=D(c,b),h=b.lng?T.toLanguages(b.lng,b.fallbackLng):L,i=b.ns||P.ns.defaultNs;c.indexOf(P.nsseparator)>-1&&(e=c.split(P.nsseparator),i=e[0],c=e[1]),void 0===g&&P.sendMissing&&"function"==typeof P.missingKeyHandler&&(b.lng?P.missingKeyHandler(h[0],i,c,f,h):P.missingKeyHandler(P.lng,i,c,f,h));var j=b.postProcess||P.postProcess;void 0!==g&&j&&X[j]&&(g=X[j](g,c,b));var k=f;if(f.indexOf(P.nsseparator)>-1&&(e=f.split(P.nsseparator),k=e[1]),k===c&&P.parseMissingKey&&(f=P.parseMissingKey(f)),void 0===g&&(f=t(f,b),f=u(f,b),j&&X[j])){var l=A(c,b);g=X[j](l,c,b)}return void 0!==g?g:f}function D(a,b){b=b||{};var c,d,e=A(a,b),f=L;if(!J)return e;if("cimode"===f[0].toLowerCase())return e;if(b.lngs&&(f=b.lngs),b.lng&&(f=T.toLanguages(b.lng,b.fallbackLng),!J[f[0]])){var g=P.getAsync;P.getAsync=!1,I.sync.load(f,P,function(a,b){T.extend(J,b),P.getAsync=g})}var h=b.ns||P.ns.defaultNs;if(a.indexOf(P.nsseparator)>-1){var i=a.split(P.nsseparator);h=i[0],a=i[1]}if(v(b)){c=T.extend({},b),delete c.context,c.defaultValue=P.contextNotFound;var j=h+P.nsseparator+a+"_"+b.context;if(d=z(j,c),d!=P.contextNotFound)return t(d,{context:b.context})}if(w(b,f[0])){c=T.extend({lngs:[f[0]]},b),delete c.count,delete c.lng,c.defaultValue=P.pluralNotFound;var k;if(W.needsPlural(f[0],b.count)){k=h+P.nsseparator+a+P.pluralSuffix;var l=W.get(f[0],b.count);l>=0?k=k+"_"+l:1===l&&(k=h+P.nsseparator+a)}else k=h+P.nsseparator+a;if(d=z(k,c),d!=P.pluralNotFound)return t(d,{count:b.count,interpolationPrefix:b.interpolationPrefix,interpolationSuffix:b.interpolationSuffix});if(!(f.length>1))return d;var m=f.slice();if(m.shift(),b=T.extend(b,{lngs:m}),delete b.lng,d=z(h+P.nsseparator+a,b),d!=P.pluralNotFound)return d}if(x(b)){var n=T.extend({},b);delete n.indefinite_article,n.defaultValue=P.indefiniteNotFound;var o=h+P.nsseparator+a+(b.count&&!w(b,f[0])||!b.count?P.indefiniteSuffix:"");if(d=z(o,n),d!=P.indefiniteNotFound)return d}for(var p,q=a.split(P.keyseparator),r=0,s=f.length;s>r&&void 0===p;r++){for(var y=f[r],B=0,E=J[y]&&J[y][h];q[B];)E=E&&E[q[B]],B++;if(void 0!==E){var F=Object.prototype.toString.apply(E);if("string"==typeof E)E=t(E,b),E=u(E,b);else if("[object Array]"!==F||P.returnObjectTrees||b.returnObjectTrees){if(null===E&&P.fallbackOnNull===!0)E=void 0;else if(null!==E)if(P.returnObjectTrees||b.returnObjectTrees){if("[object Number]"!==F&&"[object Function]"!==F&&"[object RegExp]"!==F){var G="[object Array]"===F?[]:{};T.each(E,function(c){G[c]=C(h+P.nsseparator+a+P.keyseparator+c,b)}),E=G}}else P.objectTreeKeyHandler&&"function"==typeof P.objectTreeKeyHandler?E=P.objectTreeKeyHandler(a,E,y,h,b):(E="key '"+h+":"+a+" ("+y+")' returned an object instead of string.",T.log(E))}else E=E.join("\n"),E=t(E,b),E=u(E,b);"string"==typeof E&&""===E.trim()&&P.fallbackOnEmpty===!0&&(E=void 0),p=E}}if(void 0===p&&!b.isFallbackLookup&&(P.fallbackToDefaultNS===!0||P.fallbackNS&&P.fallbackNS.length>0)){if(b.isFallbackLookup=!0,P.fallbackNS.length){for(var H=0,K=P.fallbackNS.length;K>H;H++)if(p=D(P.fallbackNS[H]+P.nsseparator+a,b),p||""===p&&P.fallbackOnEmpty===!1){var M=p.indexOf(P.nsseparator)>-1?p.split(P.nsseparator)[1]:p,N=e.indexOf(P.nsseparator)>-1?e.split(P.nsseparator)[1]:e;if(M!==N)break}}else p=D(a,b);b.isFallbackLookup=!1}return p}function E(){var a,b=P.lngWhitelist||[],c=[];if("undefined"!=typeof window&&!function(){for(var a=window.location.search.substring(1),b=a.split("&"),d=0;d<b.length;d++){var e=b[d].indexOf("=");if(e>0){var f=b[d].substring(0,e);f==P.detectLngQS&&c.push(b[d].substring(e+1))}}}(),P.useCookie&&"undefined"!=typeof document){var d=T.cookie.read(P.cookieName);d&&c.push(d)}if(P.detectLngFromLocalStorage&&"undefined"!=typeof window&&window.localStorage&&c.push(window.localStorage.getItem("i18next_lng")),"undefined"!=typeof navigator){if(navigator.languages)for(var e=0;e<navigator.languages.length;e++)c.push(navigator.languages[e]);navigator.userLanguage&&c.push(navigator.userLanguage),navigator.language&&c.push(navigator.language)}return function(){for(var d=0;d<c.length;d++){var e=c[d];if(e.indexOf("-")>-1){var f=e.split("-");e=P.lowerCaseLng?f[0].toLowerCase()+"-"+f[1].toLowerCase():f[0].toLowerCase()+"-"+f[1].toUpperCase()}if(0===b.length||b.indexOf(e)>-1){a=e;break}}}(),a||(a=P.fallbackLng[0]),a}Array.prototype.indexOf||(Array.prototype.indexOf=function(a){"use strict";if(null==this)throw new TypeError;var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>0&&(d=Number(arguments[1]),d!=d?d=0:0!=d&&1/0!=d&&d!=-1/0&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);c>e;e++)if(e in b&&b[e]===a)return e;return-1}),Array.prototype.lastIndexOf||(Array.prototype.lastIndexOf=function(a){"use strict";if(null==this)throw new TypeError;var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=c;arguments.length>1&&(d=Number(arguments[1]),d!=d?d=0:0!=d&&d!=1/0&&d!=-(1/0)&&(d=(d>0||-1)*Math.floor(Math.abs(d))));for(var e=d>=0?Math.min(d,c-1):c-Math.abs(d);e>=0;e--)if(e in b&&b[e]===a)return e;return-1}),"function"!=typeof String.prototype.trim&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")});var F,G=this,H=G.jQuery||G.Zepto,I={},J={},K=0,L=[],M=!1,N={};if("undefined"!=typeof module&&module.exports){if(!H)try{H=require("jquery")}catch(O){}H&&(H.i18n=H.i18n||I),module.exports=I}else H&&(H.i18n=H.i18n||I),G.i18n=G.i18n||I;N={load:function(a,b,c){b.useLocalStorage?N._loadLocal(a,b,function(d,e){for(var f=[],g=0,h=a.length;h>g;g++)e[a[g]]||f.push(a[g]);f.length>0?N._fetch(f,b,function(a,b){T.extend(e,b),N._storeLocal(b),c(null,e)}):c(null,e)}):N._fetch(a,b,function(a,b){c(null,b)})},_loadLocal:function(a,b,c){var d={},e=(new Date).getTime();if(window.localStorage){var f=a.length;T.each(a,function(a,g){var h=window.localStorage.getItem("res_"+g);h&&(h=JSON.parse(h),h.i18nStamp&&h.i18nStamp+b.localStorageExpirationTime>e&&(d[g]=h)),f--,0===f&&c(null,d)})}},_storeLocal:function(a){if(window.localStorage)for(var b in a)a[b].i18nStamp=(new Date).getTime(),T.localStorage.setItem("res_"+b,JSON.stringify(a[b]))},_fetch:function(a,b,c){var d=b.ns,e={};if(b.dynamicLoad){var f=function(a,b){c(null,b)};if("function"==typeof b.customLoad)b.customLoad(a,d.namespaces,b,f);else{var g=t(b.resGetPath,{lng:a.join("+"),ns:d.namespaces.join("+")});T.ajax({url:g,success:function(a){T.log("loaded: "+g),f(null,a)},error:function(a,b,c){T.log("failed loading: "+g),f("failed loading resource.json error: "+c)},dataType:"json",async:b.getAsync})}}else{var h,i=d.namespaces.length*a.length;T.each(d.namespaces,function(d,f){T.each(a,function(a,d){var g=function(a,b){a&&(h=h||[],h.push(a)),e[d]=e[d]||{},e[d][f]=b,i--,0===i&&c(h,e)};"function"==typeof b.customLoad?b.customLoad(d,f,b,g):N._fetchOne(d,f,b,g)})})}},_fetchOne:function(a,b,c,d){var e=t(c.resGetPath,{lng:a,ns:b});T.ajax({url:e,success:function(a){T.log("loaded: "+e),d(null,a)},error:function(a,b,c){if(b&&200==b||a&&a.status&&200==a.status)T.error("There is a typo in: "+e);else if(b&&404==b||a&&a.status&&404==a.status)T.log("Does not exist: "+e);else{var f=b?b:a&&a.status?a.status:null;T.log(f+" when loading "+e)}d(c,{})},dataType:"json",async:c.getAsync})},postMissing:function(a,b,c,d,e){var f={};f[c]=d;var g=[];if("fallback"===P.sendMissingTo&&P.fallbackLng[0]!==!1)for(var h=0;h<P.fallbackLng.length;h++)g.push({lng:P.fallbackLng[h],url:t(P.resPostPath,{lng:P.fallbackLng[h],ns:b})});else if("current"===P.sendMissingTo||"fallback"===P.sendMissingTo&&P.fallbackLng[0]===!1)g.push({lng:a,url:t(P.resPostPath,{lng:a,ns:b})});else if("all"===P.sendMissingTo)for(var h=0,i=e.length;i>h;h++)g.push({lng:e[h],url:t(P.resPostPath,{lng:e[h],ns:b})});for(var j=0,k=g.length;k>j;j++){var l=g[j];T.ajax({url:l.url,type:P.sendType,data:f,success:function(){T.log("posted missing key '"+c+"' to: "+l.url);for(var a=c.split("."),e=0,f=J[l.lng][b];a[e];)f=f[a[e]]=e===a.length-1?d:f[a[e]]||{},e++},error:function(){T.log("failed posting missing key '"+c+"' to: "+l.url)},dataType:"json",async:P.postAsync})}},reload:r};var P={lng:void 0,load:"all",preload:[],lowerCaseLng:!1,returnObjectTrees:!1,fallbackLng:["dev"],fallbackNS:[],detectLngQS:"setLng",detectLngFromLocalStorage:!1,ns:"translation",fallbackOnNull:!0,fallbackOnEmpty:!1,fallbackToDefaultNS:!1,nsseparator:":",keyseparator:".",selectorAttr:"data-i18n",debug:!1,resGetPath:"locales/__lng__/__ns__.json",resPostPath:"locales/add/__lng__/__ns__",getAsync:!0,postAsync:!0,resStore:void 0,useLocalStorage:!1,localStorageExpirationTime:6048e5,dynamicLoad:!1,sendMissing:!1,sendMissingTo:"fallback",sendType:"POST",interpolationPrefix:"__",interpolationSuffix:"__",defaultVariables:!1,reusePrefix:"$t(",reuseSuffix:")",pluralSuffix:"_plural",pluralNotFound:["plural_not_found",Math.random()].join(""),contextNotFound:["context_not_found",Math.random()].join(""),escapeInterpolation:!1,indefiniteSuffix:"_indefinite",indefiniteNotFound:["indefinite_not_found",Math.random()].join(""),setJqueryExt:!0,defaultValueFromContent:!0,useDataAttrOptions:!1,cookieExpirationTime:void 0,useCookie:!0,cookieName:"i18next",cookieDomain:void 0,objectTreeKeyHandler:void 0,postProcess:void 0,parseMissingKey:void 0,missingKeyHandler:N.postMissing,shortcutFunction:"sprintf"},Q={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"},R={create:function(a,b,c,d){var e;if(c){var f=new Date;f.setTime(f.getTime()+6e4*c),e="; expires="+f.toGMTString()}else e="";d=d?"domain="+d+";":"",document.cookie=a+"="+b+e+";"+d+"path=/"},read:function(a){for(var b=a+"=",c=document.cookie.split(";"),d=0;d<c.length;d++){for(var e=c[d];" "==e.charAt(0);)e=e.substring(1,e.length);if(0===e.indexOf(b))return e.substring(b.length,e.length)}return null},remove:function(a){this.create(a,"",-1)}},S={create:function(){},read:function(){return null},remove:function(){}},T={extend:H?H.extend:a,deepExtend:b,each:H?H.each:c,ajax:H?H.ajax:"undefined"!=typeof document?e:function(){},cookie:"undefined"!=typeof document?R:S,detectLanguage:E,escape:d,log:function(a){P.debug&&"undefined"!=typeof console&&console.log(a)},error:function(a){"undefined"!=typeof console&&console.error(a)},getCountyIndexOfLng:function(a){var b=0;return("nb-NO"===a||"nn-NO"===a||"nb-no"===a||"nn-no"===a)&&(b=1),b},toLanguages:function(a){function b(a){var b=a;if("string"==typeof a&&a.indexOf("-")>-1){var c=a.split("-");b=P.lowerCaseLng?c[0].toLowerCase()+"-"+c[1].toLowerCase():c[0].toLowerCase()+"-"+c[1].toUpperCase()}else b=P.lowerCaseLng?a.toLowerCase():a;return b}var c=this.log,d=[],e=P.lngWhitelist||!1,f=function(a){!e||e.indexOf(a)>-1?d.push(a):c("rejecting non-whitelisted language: "+a)};if("string"==typeof a&&a.indexOf("-")>-1){var g=a.split("-");"unspecific"!==P.load&&f(b(a)),"current"!==P.load&&f(b(g[this.getCountyIndexOfLng(a)]))}else f(b(a));for(var h=0;h<P.fallbackLng.length;h++)-1===d.indexOf(P.fallbackLng[h])&&P.fallbackLng[h]&&d.push(b(P.fallbackLng[h]));return d},regexEscape:function(a){return a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},regexReplacementEscape:function(a){return"string"==typeof a?a.replace(/\$/g,"$$$$"):a},localStorage:{setItem:function(a,b){if(window.localStorage)try{window.localStorage.setItem(a,b)}catch(c){T.log('failed to set value for key "'+a+'" to localStorage.')}}}};T.applyReplacement=t;var U=[["ach","Acholi",[1,2],1],["af","Afrikaans",[1,2],2],["ak","Akan",[1,2],1],["am","Amharic",[1,2],1],["an","Aragonese",[1,2],2],["ar","Arabic",[0,1,2,3,11,100],5],["arn","Mapudungun",[1,2],1],["ast","Asturian",[1,2],2],["ay","Aymará",[1],3],["az","Azerbaijani",[1,2],2],["be","Belarusian",[1,2,5],4],["bg","Bulgarian",[1,2],2],["bn","Bengali",[1,2],2],["bo","Tibetan",[1],3],["br","Breton",[1,2],1],["bs","Bosnian",[1,2,5],4],["ca","Catalan",[1,2],2],["cgg","Chiga",[1],3],["cs","Czech",[1,2,5],6],["csb","Kashubian",[1,2,5],7],["cy","Welsh",[1,2,3,8],8],["da","Danish",[1,2],2],["de","German",[1,2],2],["dev","Development Fallback",[1,2],2],["dz","Dzongkha",[1],3],["el","Greek",[1,2],2],["en","English",[1,2],2],["eo","Esperanto",[1,2],2],["es","Spanish",[1,2],2],["es_ar","Argentinean Spanish",[1,2],2],["et","Estonian",[1,2],2],["eu","Basque",[1,2],2],["fa","Persian",[1],3],["fi","Finnish",[1,2],2],["fil","Filipino",[1,2],1],["fo","Faroese",[1,2],2],["fr","French",[1,2],9],["fur","Friulian",[1,2],2],["fy","Frisian",[1,2],2],["ga","Irish",[1,2,3,7,11],10],["gd","Scottish Gaelic",[1,2,3,20],11],["gl","Galician",[1,2],2],["gu","Gujarati",[1,2],2],["gun","Gun",[1,2],1],["ha","Hausa",[1,2],2],["he","Hebrew",[1,2],2],["hi","Hindi",[1,2],2],["hr","Croatian",[1,2,5],4],["hu","Hungarian",[1,2],2],["hy","Armenian",[1,2],2],["ia","Interlingua",[1,2],2],["id","Indonesian",[1],3],["is","Icelandic",[1,2],12],["it","Italian",[1,2],2],["ja","Japanese",[1],3],["jbo","Lojban",[1],3],["jv","Javanese",[0,1],13],["ka","Georgian",[1],3],["kk","Kazakh",[1],3],["km","Khmer",[1],3],["kn","Kannada",[1,2],2],["ko","Korean",[1],3],["ku","Kurdish",[1,2],2],["kw","Cornish",[1,2,3,4],14],["ky","Kyrgyz",[1],3],["lb","Letzeburgesch",[1,2],2],["ln","Lingala",[1,2],1],["lo","Lao",[1],3],["lt","Lithuanian",[1,2,10],15],["lv","Latvian",[1,2,0],16],["mai","Maithili",[1,2],2],["mfe","Mauritian Creole",[1,2],1],["mg","Malagasy",[1,2],1],["mi","Maori",[1,2],1],["mk","Macedonian",[1,2],17],["ml","Malayalam",[1,2],2],["mn","Mongolian",[1,2],2],["mnk","Mandinka",[0,1,2],18],["mr","Marathi",[1,2],2],["ms","Malay",[1],3],["mt","Maltese",[1,2,11,20],19],["nah","Nahuatl",[1,2],2],["nap","Neapolitan",[1,2],2],["nb","Norwegian Bokmal",[1,2],2],["ne","Nepali",[1,2],2],["nl","Dutch",[1,2],2],["nn","Norwegian Nynorsk",[1,2],2],["no","Norwegian",[1,2],2],["nso","Northern Sotho",[1,2],2],["oc","Occitan",[1,2],1],["or","Oriya",[2,1],2],["pa","Punjabi",[1,2],2],["pap","Papiamento",[1,2],2],["pl","Polish",[1,2,5],7],["pms","Piemontese",[1,2],2],["ps","Pashto",[1,2],2],["pt","Portuguese",[1,2],2],["pt_br","Brazilian Portuguese",[1,2],2],["rm","Romansh",[1,2],2],["ro","Romanian",[1,2,20],20],["ru","Russian",[1,2,5],4],["sah","Yakut",[1],3],["sco","Scots",[1,2],2],["se","Northern Sami",[1,2],2],["si","Sinhala",[1,2],2],["sk","Slovak",[1,2,5],6],["sl","Slovenian",[5,1,2,3],21],["so","Somali",[1,2],2],["son","Songhay",[1,2],2],["sq","Albanian",[1,2],2],["sr","Serbian",[1,2,5],4],["su","Sundanese",[1],3],["sv","Swedish",[1,2],2],["sw","Swahili",[1,2],2],["ta","Tamil",[1,2],2],["te","Telugu",[1,2],2],["tg","Tajik",[1,2],1],["th","Thai",[1],3],["ti","Tigrinya",[1,2],1],["tk","Turkmen",[1,2],2],["tr","Turkish",[1,2],1],["tt","Tatar",[1],3],["ug","Uyghur",[1],3],["uk","Ukrainian",[1,2,5],4],["ur","Urdu",[1,2],2],["uz","Uzbek",[1,2],1],["vi","Vietnamese",[1],3],["wa","Walloon",[1,2],1],["wo","Wolof",[1],3],["yo","Yoruba",[1,2],2],["zh","Chinese",[1],3]],V={1:function(a){return Number(a>1)},2:function(a){return Number(1!=a)},3:function(){return 0},4:function(a){return Number(1==a%10&&11!=a%100?0:a%10>=2&&4>=a%10&&(10>a%100||a%100>=20)?1:2)},5:function(a){return Number(0===a?0:1==a?1:2==a?2:a%100>=3&&10>=a%100?3:a%100>=11?4:5)},6:function(a){return Number(1==a?0:a>=2&&4>=a?1:2)},7:function(a){return Number(1==a?0:a%10>=2&&4>=a%10&&(10>a%100||a%100>=20)?1:2)},8:function(a){return Number(1==a?0:2==a?1:8!=a&&11!=a?2:3)},9:function(a){return Number(a>=2)},10:function(a){return Number(1==a?0:2==a?1:7>a?2:11>a?3:4)},11:function(a){return Number(1==a||11==a?0:2==a||12==a?1:a>2&&20>a?2:3)},12:function(a){return Number(1!=a%10||11==a%100)},13:function(a){return Number(0!==a)},14:function(a){return Number(1==a?0:2==a?1:3==a?2:3)},15:function(a){return Number(1==a%10&&11!=a%100?0:a%10>=2&&(10>a%100||a%100>=20)?1:2)},16:function(a){return Number(1==a%10&&11!=a%100?0:0!==a?1:2)},17:function(a){return Number(1==a||1==a%10?0:1)},18:function(a){return Number(1==a?1:2)},19:function(a){return Number(1==a?0:0===a||a%100>1&&11>a%100?1:a%100>10&&20>a%100?2:3)},20:function(a){return Number(1==a?0:0===a||a%100>0&&20>a%100?1:2)},21:function(a){return Number(1==a%100?1:2==a%100?2:3==a%100||4==a%100?3:0)}},W={rules:function(){var a,b={};for(a=U.length;a--;)b[U[a][0]]={name:U[a][1],numbers:U[a][2],plurals:V[U[a][3]]};return b}(),addRule:function(a,b){W.rules[a]=b},setCurrentLng:function(a){if(!W.currentRule||W.currentRule.lng!==a){var b=a.split("-");W.currentRule={lng:a,rule:W.rules[b[0]]}}},needsPlural:function(a,b){var c,d=a.split("-");return c=W.currentRule&&W.currentRule.lng===a?W.currentRule.rule:W.rules[d[T.getCountyIndexOfLng(a)]],c&&c.numbers.length<=1?!1:1!==this.get(a,b)},get:function(a,b){function c(b,c){var d;if(d=W.currentRule&&W.currentRule.lng===a?W.currentRule.rule:W.rules[b]){var e;e=d.noAbs?d.plurals(c):d.plurals(Math.abs(c));var f=d.numbers[e];return 2===d.numbers.length&&1===d.numbers[0]&&(2===f?f=-1:1===f&&(f=1)),f}return 1===c?"1":"-1"}var d=a.split("-");return c(d[T.getCountyIndexOfLng(a)],b)}},X={},Y=function(a,b){X[a]=b},Z=function(){function a(a){return Object.prototype.toString.call(a).slice(8,-1).toLowerCase()}function b(a,b){for(var c=[];b>0;c[--b]=a);return c.join("")}var c=function(){return c.cache.hasOwnProperty(arguments[0])||(c.cache[arguments[0]]=c.parse(arguments[0])),c.format.call(null,c.cache[arguments[0]],arguments)};return c.format=function(c,d){var e,f,g,h,i,j,k,l=1,m=c.length,n="",o=[];for(f=0;m>f;f++)if(n=a(c[f]),"string"===n)o.push(c[f]);else if("array"===n){if(h=c[f],h[2])for(e=d[l],g=0;g<h[2].length;g++){if(!e.hasOwnProperty(h[2][g]))throw Z('[sprintf] property "%s" does not exist',h[2][g]);e=e[h[2][g]]}else e=h[1]?d[h[1]]:d[l++];if(/[^s]/.test(h[8])&&"number"!=a(e))throw Z("[sprintf] expecting number but found %s",a(e));switch(h[8]){case"b":e=e.toString(2);break;case"c":e=String.fromCharCode(e);break;case"d":e=parseInt(e,10);break;case"e":e=h[7]?e.toExponential(h[7]):e.toExponential();break;case"f":e=h[7]?parseFloat(e).toFixed(h[7]):parseFloat(e);break;case"o":e=e.toString(8);break;case"s":e=(e=String(e))&&h[7]?e.substring(0,h[7]):e;break;case"u":e=Math.abs(e);break;case"x":e=e.toString(16);break;case"X":e=e.toString(16).toUpperCase()}e=/[def]/.test(h[8])&&h[3]&&e>=0?"+"+e:e,j=h[4]?"0"==h[4]?"0":h[4].charAt(1):" ",k=h[6]-String(e).length,i=h[6]?b(j,k):"",o.push(h[5]?e+i:i+e)}return o.join("")},c.cache={},c.parse=function(a){for(var b=a,c=[],d=[],e=0;b;){if(null!==(c=/^[^\x25]+/.exec(b)))d.push(c[0]);else if(null!==(c=/^\x25{2}/.exec(b)))d.push("%");else{if(null===(c=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(b)))throw"[sprintf] huh?";if(c[2]){e|=1;var f=[],g=c[2],h=[];if(null===(h=/^([a-z_][a-z_\d]*)/i.exec(g)))throw"[sprintf] huh?";for(f.push(h[1]);""!==(g=g.substring(h[0].length));)if(null!==(h=/^\.([a-z_][a-z_\d]*)/i.exec(g)))f.push(h[1]);else{if(null===(h=/^\[(\d+)\]/.exec(g)))throw"[sprintf] huh?";f.push(h[1])}c[2]=f}else e|=2;if(3===e)throw"[sprintf] mixing positional and named placeholders is not (yet) supported";d.push(c)}b=b.substring(c[0].length)}return d},c}(),$=function(a,b){return b.unshift(a),Z.apply(null,b)};Y("sprintf",function(a,b,c){return c.sprintf?"[object Array]"===Object.prototype.toString.apply(c.sprintf)?$(a,c.sprintf):"object"==typeof c.sprintf?Z(a,c.sprintf):a:a}),I.init=f,I.setLng=p,I.preload=g,I.addResourceBundle=h,I.hasResourceBundle=i,I.addResource=k,I.addResources=l,I.removeResourceBundle=j,I.loadNamespace=n,I.loadNamespaces=o,I.setDefaultNamespace=m,I.t=z,I.translate=z,I.exists=y,I.detectLanguage=T.detectLanguage,I.pluralExtensions=W,I.sync=N,I.functions=T,I.lng=q,I.addPostProcessor=Y,I.options=P}(),/*!
- * Source: lib/magnific-popup/dist/jquery.magnific-popup.min.js, license: MIT, url: http://dimsemenov.com/plugins/magnific-popup/
- */
-/*! Magnific Popup - v1.0.0 - 2015-01-03
-* http://dimsemenov.com/plugins/magnific-popup/
-* Copyright (c) 2015 Dmitry Semenov; */
-!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):window.jQuery||window.Zepto)}(function(a){var b,c,d,e,f,g,h="Close",i="BeforeClose",j="AfterClose",k="BeforeAppend",l="MarkupParse",m="Open",n="Change",o="mfp",p="."+o,q="mfp-ready",r="mfp-removing",s="mfp-prevent-close",t=function(){},u=!!window.jQuery,v=a(window),w=function(a,c){b.ev.on(o+a+p,c)},x=function(b,c,d,e){var f=document.createElement("div");return f.className="mfp-"+b,d&&(f.innerHTML=d),e?c&&c.appendChild(f):(f=a(f),c&&f.appendTo(c)),f},y=function(c,d){b.ev.triggerHandler(o+c,d),b.st.callbacks&&(c=c.charAt(0).toLowerCase()+c.slice(1),b.st.callbacks[c]&&b.st.callbacks[c].apply(b,a.isArray(d)?d:[d]))},z=function(c){return c===g&&b.currTemplate.closeBtn||(b.currTemplate.closeBtn=a(b.st.closeMarkup.replace("%title%",b.st.tClose)),g=c),b.currTemplate.closeBtn},A=function(){a.magnificPopup.instance||(b=new t,b.init(),a.magnificPopup.instance=b)},B=function(){var a=document.createElement("p").style,b=["ms","O","Moz","Webkit"];if(void 0!==a.transition)return!0;for(;b.length;)if(b.pop()+"Transition"in a)return!0;return!1};t.prototype={constructor:t,init:function(){var c=navigator.appVersion;b.isIE7=-1!==c.indexOf("MSIE 7."),b.isIE8=-1!==c.indexOf("MSIE 8."),b.isLowIE=b.isIE7||b.isIE8,b.isAndroid=/android/gi.test(c),b.isIOS=/iphone|ipad|ipod/gi.test(c),b.supportsTransition=B(),b.probablyMobile=b.isAndroid||b.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),d=a(document),b.popupsCache={}},open:function(c){var e;if(c.isObj===!1){b.items=c.items.toArray(),b.index=0;var g,h=c.items;for(e=0;e<h.length;e++)if(g=h[e],g.parsed&&(g=g.el[0]),g===c.el[0]){b.index=e;break}}else b.items=a.isArray(c.items)?c.items:[c.items],b.index=c.index||0;if(b.isOpen)return void b.updateItemHTML();b.types=[],f="",b.ev=c.mainEl&&c.mainEl.length?c.mainEl.eq(0):d,c.key?(b.popupsCache[c.key]||(b.popupsCache[c.key]={}),b.currTemplate=b.popupsCache[c.key]):b.currTemplate={},b.st=a.extend(!0,{},a.magnificPopup.defaults,c),b.fixedContentPos="auto"===b.st.fixedContentPos?!b.probablyMobile:b.st.fixedContentPos,b.st.modal&&(b.st.closeOnContentClick=!1,b.st.closeOnBgClick=!1,b.st.showCloseBtn=!1,b.st.enableEscapeKey=!1),b.bgOverlay||(b.bgOverlay=x("bg").on("click"+p,function(){b.close()}),b.wrap=x("wrap").attr("tabindex",-1).on("click"+p,function(a){b._checkIfClose(a.target)&&b.close()}),b.container=x("container",b.wrap)),b.contentContainer=x("content"),b.st.preloader&&(b.preloader=x("preloader",b.container,b.st.tLoading));var i=a.magnificPopup.modules;for(e=0;e<i.length;e++){var j=i[e];j=j.charAt(0).toUpperCase()+j.slice(1),b["init"+j].call(b)}y("BeforeOpen"),b.st.showCloseBtn&&(b.st.closeBtnInside?(w(l,function(a,b,c,d){c.close_replaceWith=z(d.type)}),f+=" mfp-close-btn-in"):b.wrap.append(z())),b.st.alignTop&&(f+=" mfp-align-top"),b.wrap.css(b.fixedContentPos?{overflow:b.st.overflowY,overflowX:"hidden",overflowY:b.st.overflowY}:{top:v.scrollTop(),position:"absolute"}),(b.st.fixedBgPos===!1||"auto"===b.st.fixedBgPos&&!b.fixedContentPos)&&b.bgOverlay.css({height:d.height(),position:"absolute"}),b.st.enableEscapeKey&&d.on("keyup"+p,function(a){27===a.keyCode&&b.close()}),v.on("resize"+p,function(){b.updateSize()}),b.st.closeOnContentClick||(f+=" mfp-auto-cursor"),f&&b.wrap.addClass(f);var k=b.wH=v.height(),n={};if(b.fixedContentPos&&b._hasScrollBar(k)){var o=b._getScrollbarSize();o&&(n.marginRight=o)}b.fixedContentPos&&(b.isIE7?a("body, html").css("overflow","hidden"):n.overflow="hidden");var r=b.st.mainClass;return b.isIE7&&(r+=" mfp-ie7"),r&&b._addClassToMFP(r),b.updateItemHTML(),y("BuildControls"),a("html").css(n),b.bgOverlay.add(b.wrap).prependTo(b.st.prependTo||a(document.body)),b._lastFocusedEl=document.activeElement,setTimeout(function(){b.content?(b._addClassToMFP(q),b._setFocus()):b.bgOverlay.addClass(q),d.on("focusin"+p,b._onFocusIn)},16),b.isOpen=!0,b.updateSize(k),y(m),c},close:function(){b.isOpen&&(y(i),b.isOpen=!1,b.st.removalDelay&&!b.isLowIE&&b.supportsTransition?(b._addClassToMFP(r),setTimeout(function(){b._close()},b.st.removalDelay)):b._close())},_close:function(){y(h);var c=r+" "+q+" ";if(b.bgOverlay.detach(),b.wrap.detach(),b.container.empty(),b.st.mainClass&&(c+=b.st.mainClass+" "),b._removeClassFromMFP(c),b.fixedContentPos){var e={marginRight:""};b.isIE7?a("body, html").css("overflow",""):e.overflow="",a("html").css(e)}d.off("keyup"+p+" focusin"+p),b.ev.off(p),b.wrap.attr("class","mfp-wrap").removeAttr("style"),b.bgOverlay.attr("class","mfp-bg"),b.container.attr("class","mfp-container"),!b.st.showCloseBtn||b.st.closeBtnInside&&b.currTemplate[b.currItem.type]!==!0||b.currTemplate.closeBtn&&b.currTemplate.closeBtn.detach(),b._lastFocusedEl&&a(b._lastFocusedEl).focus(),b.currItem=null,b.content=null,b.currTemplate=null,b.prevHeight=0,y(j)},updateSize:function(a){if(b.isIOS){var c=document.documentElement.clientWidth/window.innerWidth,d=window.innerHeight*c;b.wrap.css("height",d),b.wH=d}else b.wH=a||v.height();b.fixedContentPos||b.wrap.css("height",b.wH),y("Resize")},updateItemHTML:function(){var c=b.items[b.index];b.contentContainer.detach(),b.content&&b.content.detach(),c.parsed||(c=b.parseEl(b.index));var d=c.type;if(y("BeforeChange",[b.currItem?b.currItem.type:"",d]),b.currItem=c,!b.currTemplate[d]){var f=b.st[d]?b.st[d].markup:!1;y("FirstMarkupParse",f),b.currTemplate[d]=f?a(f):!0}e&&e!==c.type&&b.container.removeClass("mfp-"+e+"-holder");var g=b["get"+d.charAt(0).toUpperCase()+d.slice(1)](c,b.currTemplate[d]);b.appendContent(g,d),c.preloaded=!0,y(n,c),e=c.type,b.container.prepend(b.contentContainer),y("AfterChange")},appendContent:function(a,c){b.content=a,a?b.st.showCloseBtn&&b.st.closeBtnInside&&b.currTemplate[c]===!0?b.content.find(".mfp-close").length||b.content.append(z()):b.content=a:b.content="",y(k),b.container.addClass("mfp-"+c+"-holder"),b.contentContainer.append(b.content)},parseEl:function(c){var d,e=b.items[c];if(e.tagName?e={el:a(e)}:(d=e.type,e={data:e,src:e.src}),e.el){for(var f=b.types,g=0;g<f.length;g++)if(e.el.hasClass("mfp-"+f[g])){d=f[g];break}e.src=e.el.attr("data-mfp-src"),e.src||(e.src=e.el.attr("href"))}return e.type=d||b.st.type||"inline",e.index=c,e.parsed=!0,b.items[c]=e,y("ElementParse",e),b.items[c]},addGroup:function(a,c){var d=function(d){d.mfpEl=this,b._openClick(d,a,c)};c||(c={});var e="click.magnificPopup";c.mainEl=a,c.items?(c.isObj=!0,a.off(e).on(e,d)):(c.isObj=!1,c.delegate?a.off(e).on(e,c.delegate,d):(c.items=a,a.off(e).on(e,d)))},_openClick:function(c,d,e){var f=void 0!==e.midClick?e.midClick:a.magnificPopup.defaults.midClick;if(f||2!==c.which&&!c.ctrlKey&&!c.metaKey){var g=void 0!==e.disableOn?e.disableOn:a.magnificPopup.defaults.disableOn;if(g)if(a.isFunction(g)){if(!g.call(b))return!0}else if(v.width()<g)return!0;c.type&&(c.preventDefault(),b.isOpen&&c.stopPropagation()),e.el=a(c.mfpEl),e.delegate&&(e.items=d.find(e.delegate)),b.open(e)}},updateStatus:function(a,d){if(b.preloader){c!==a&&b.container.removeClass("mfp-s-"+c),d||"loading"!==a||(d=b.st.tLoading);var e={status:a,text:d};y("UpdateStatus",e),a=e.status,d=e.text,b.preloader.html(d),b.preloader.find("a").on("click",function(a){a.stopImmediatePropagation()}),b.container.addClass("mfp-s-"+a),c=a}},_checkIfClose:function(c){if(!a(c).hasClass(s)){var d=b.st.closeOnContentClick,e=b.st.closeOnBgClick;if(d&&e)return!0;if(!b.content||a(c).hasClass("mfp-close")||b.preloader&&c===b.preloader[0])return!0;if(c===b.content[0]||a.contains(b.content[0],c)){if(d)return!0}else if(e&&a.contains(document,c))return!0;return!1}},_addClassToMFP:function(a){b.bgOverlay.addClass(a),b.wrap.addClass(a)},_removeClassFromMFP:function(a){this.bgOverlay.removeClass(a),b.wrap.removeClass(a)},_hasScrollBar:function(a){return(b.isIE7?d.height():document.body.scrollHeight)>(a||v.height())},_setFocus:function(){(b.st.focus?b.content.find(b.st.focus).eq(0):b.wrap).focus()},_onFocusIn:function(c){return c.target===b.wrap[0]||a.contains(b.wrap[0],c.target)?void 0:(b._setFocus(),!1)},_parseMarkup:function(b,c,d){var e;d.data&&(c=a.extend(d.data,c)),y(l,[b,c,d]),a.each(c,function(a,c){if(void 0===c||c===!1)return!0;if(e=a.split("_"),e.length>1){var d=b.find(p+"-"+e[0]);if(d.length>0){var f=e[1];"replaceWith"===f?d[0]!==c[0]&&d.replaceWith(c):"img"===f?d.is("img")?d.attr("src",c):d.replaceWith('<img src="'+c+'" class="'+d.attr("class")+'" />'):d.attr(e[1],c)}}else b.find(p+"-"+a).html(c)})},_getScrollbarSize:function(){if(void 0===b.scrollbarSize){var a=document.createElement("div");a.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(a),b.scrollbarSize=a.offsetWidth-a.clientWidth,document.body.removeChild(a)}return b.scrollbarSize}},a.magnificPopup={instance:null,proto:t.prototype,modules:[],open:function(b,c){return A(),b=b?a.extend(!0,{},b):{},b.isObj=!0,b.index=c||0,this.instance.open(b)},close:function(){return a.magnificPopup.instance&&a.magnificPopup.instance.close()},registerModule:function(b,c){c.options&&(a.magnificPopup.defaults[b]=c.options),a.extend(this.proto,c.proto),this.modules.push(b)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'<button title="%title%" type="button" class="mfp-close">&times;</button>',tClose:"Close (Esc)",tLoading:"Loading..."}},a.fn.magnificPopup=function(c){A();var d=a(this);if("string"==typeof c)if("open"===c){var e,f=u?d.data("magnificPopup"):d[0].magnificPopup,g=parseInt(arguments[1],10)||0;f.items?e=f.items[g]:(e=d,f.delegate&&(e=e.find(f.delegate)),e=e.eq(g)),b._openClick({mfpEl:e},d,f)}else b.isOpen&&b[c].apply(b,Array.prototype.slice.call(arguments,1));else c=a.extend(!0,{},c),u?d.data("magnificPopup",c):d[0].magnificPopup=c,b.addGroup(d,c);return d};var C,D,E,F="inline",G=function(){E&&(D.after(E.addClass(C)).detach(),E=null)};a.magnificPopup.registerModule(F,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){b.types.push(F),w(h+"."+F,function(){G()})},getInline:function(c,d){if(G(),c.src){var e=b.st.inline,f=a(c.src);if(f.length){var g=f[0].parentNode;g&&g.tagName&&(D||(C=e.hiddenClass,D=x(C),C="mfp-"+C),E=f.after(D).detach().removeClass(C)),b.updateStatus("ready")}else b.updateStatus("error",e.tNotFound),f=a("<div>");return c.inlineElement=f,f}return b.updateStatus("ready"),b._parseMarkup(d,{},c),d}}});var H,I="ajax",J=function(){H&&a(document.body).removeClass(H)},K=function(){J(),b.req&&b.req.abort()};a.magnificPopup.registerModule(I,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'<a href="%url%">The content</a> could not be loaded.'},proto:{initAjax:function(){b.types.push(I),H=b.st.ajax.cursor,w(h+"."+I,K),w("BeforeChange."+I,K)},getAjax:function(c){H&&a(document.body).addClass(H),b.updateStatus("loading");var d=a.extend({url:c.src,success:function(d,e,f){var g={data:d,xhr:f};y("ParseAjax",g),b.appendContent(a(g.data),I),c.finished=!0,J(),b._setFocus(),setTimeout(function(){b.wrap.addClass(q)},16),b.updateStatus("ready"),y("AjaxContentAdded")},error:function(){J(),c.finished=c.loadError=!0,b.updateStatus("error",b.st.ajax.tError.replace("%url%",c.src))}},b.st.ajax.settings);return b.req=a.ajax(d),""}}});var L,M=function(c){if(c.data&&void 0!==c.data.title)return c.data.title;var d=b.st.image.titleSrc;if(d){if(a.isFunction(d))return d.call(b,c);if(c.el)return c.el.attr(d)||""}return""};a.magnificPopup.registerModule("image",{options:{markup:'<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'<a href="%url%">The image</a> could not be loaded.'},proto:{initImage:function(){var c=b.st.image,d=".image";b.types.push("image"),w(m+d,function(){"image"===b.currItem.type&&c.cursor&&a(document.body).addClass(c.cursor)}),w(h+d,function(){c.cursor&&a(document.body).removeClass(c.cursor),v.off("resize"+p)}),w("Resize"+d,b.resizeImage),b.isLowIE&&w("AfterChange",b.resizeImage)},resizeImage:function(){var a=b.currItem;if(a&&a.img&&b.st.image.verticalFit){var c=0;b.isLowIE&&(c=parseInt(a.img.css("padding-top"),10)+parseInt(a.img.css("padding-bottom"),10)),a.img.css("max-height",b.wH-c)}},_onImageHasSize:function(a){a.img&&(a.hasSize=!0,L&&clearInterval(L),a.isCheckingImgSize=!1,y("ImageHasSize",a),a.imgHidden&&(b.content&&b.content.removeClass("mfp-loading"),a.imgHidden=!1))},findImageSize:function(a){var c=0,d=a.img[0],e=function(f){L&&clearInterval(L),L=setInterval(function(){return d.naturalWidth>0?void b._onImageHasSize(a):(c>200&&clearInterval(L),c++,void(3===c?e(10):40===c?e(50):100===c&&e(500)))},f)};e(1)},getImage:function(c,d){var e=0,f=function(){c&&(c.img[0].complete?(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("ready")),c.hasSize=!0,c.loaded=!0,y("ImageLoadComplete")):(e++,200>e?setTimeout(f,100):g()))},g=function(){c&&(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("error",h.tError.replace("%url%",c.src))),c.hasSize=!0,c.loaded=!0,c.loadError=!0)},h=b.st.image,i=d.find(".mfp-img");if(i.length){var j=document.createElement("img");j.className="mfp-img",c.el&&c.el.find("img").length&&(j.alt=c.el.find("img").attr("alt")),c.img=a(j).on("load.mfploader",f).on("error.mfploader",g),j.src=c.src,i.is("img")&&(c.img=c.img.clone()),j=c.img[0],j.naturalWidth>0?c.hasSize=!0:j.width||(c.hasSize=!1)}return b._parseMarkup(d,{title:M(c),img_replaceWith:c.img},c),b.resizeImage(),c.hasSize?(L&&clearInterval(L),c.loadError?(d.addClass("mfp-loading"),b.updateStatus("error",h.tError.replace("%url%",c.src))):(d.removeClass("mfp-loading"),b.updateStatus("ready")),d):(b.updateStatus("loading"),c.loading=!0,c.hasSize||(c.imgHidden=!0,d.addClass("mfp-loading"),b.findImageSize(c)),d)}}});var N,O=function(){return void 0===N&&(N=void 0!==document.createElement("p").style.MozTransform),N};a.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(a){return a.is("img")?a:a.find("img")}},proto:{initZoom:function(){var a,c=b.st.zoom,d=".zoom";if(c.enabled&&b.supportsTransition){var e,f,g=c.duration,j=function(a){var b=a.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),d="all "+c.duration/1e3+"s "+c.easing,e={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},f="transition";return e["-webkit-"+f]=e["-moz-"+f]=e["-o-"+f]=e[f]=d,b.css(e),b},k=function(){b.content.css("visibility","visible")};w("BuildControls"+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.content.css("visibility","hidden"),a=b._getItemToZoom(),!a)return void k();f=j(a),f.css(b._getOffset()),b.wrap.append(f),e=setTimeout(function(){f.css(b._getOffset(!0)),e=setTimeout(function(){k(),setTimeout(function(){f.remove(),a=f=null,y("ZoomAnimationEnded")},16)},g)},16)}}),w(i+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.st.removalDelay=g,!a){if(a=b._getItemToZoom(),!a)return;f=j(a)}f.css(b._getOffset(!0)),b.wrap.append(f),b.content.css("visibility","hidden"),setTimeout(function(){f.css(b._getOffset())},16)}}),w(h+d,function(){b._allowZoom()&&(k(),f&&f.remove(),a=null)})}},_allowZoom:function(){return"image"===b.currItem.type},_getItemToZoom:function(){return b.currItem.hasSize?b.currItem.img:!1},_getOffset:function(c){var d;d=c?b.currItem.img:b.st.zoom.opener(b.currItem.el||b.currItem);var e=d.offset(),f=parseInt(d.css("padding-top"),10),g=parseInt(d.css("padding-bottom"),10);e.top-=a(window).scrollTop()-f;var h={width:d.width(),height:(u?d.innerHeight():d[0].offsetHeight)-g-f};return O()?h["-moz-transform"]=h.transform="translate("+e.left+"px,"+e.top+"px)":(h.left=e.left,h.top=e.top),h}}});var P="iframe",Q="//about:blank",R=function(a){if(b.currTemplate[P]){var c=b.currTemplate[P].find("iframe");c.length&&(a||(c[0].src=Q),b.isIE8&&c.css("display",a?"block":"none"))}};a.magnificPopup.registerModule(P,{options:{markup:'<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){b.types.push(P),w("BeforeChange",function(a,b,c){b!==c&&(b===P?R():c===P&&R(!0))}),w(h+"."+P,function(){R()})},getIframe:function(c,d){var e=c.src,f=b.st.iframe;a.each(f.patterns,function(){return e.indexOf(this.index)>-1?(this.id&&(e="string"==typeof this.id?e.substr(e.lastIndexOf(this.id)+this.id.length,e.length):this.id.call(this,e)),e=this.src.replace("%id%",e),!1):void 0});var g={};return f.srcAction&&(g[f.srcAction]=e),b._parseMarkup(d,g,c),b.updateStatus("ready"),d}}});var S=function(a){var c=b.items.length;return a>c-1?a-c:0>a?c+a:a},T=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var c=b.st.gallery,e=".mfp-gallery",g=Boolean(a.fn.mfpFastClick);return b.direction=!0,c&&c.enabled?(f+=" mfp-gallery",w(m+e,function(){c.navigateByImgClick&&b.wrap.on("click"+e,".mfp-img",function(){return b.items.length>1?(b.next(),!1):void 0}),d.on("keydown"+e,function(a){37===a.keyCode?b.prev():39===a.keyCode&&b.next()})}),w("UpdateStatus"+e,function(a,c){c.text&&(c.text=T(c.text,b.currItem.index,b.items.length))}),w(l+e,function(a,d,e,f){var g=b.items.length;e.counter=g>1?T(c.tCounter,f.index,g):""}),w("BuildControls"+e,function(){if(b.items.length>1&&c.arrows&&!b.arrowLeft){var d=c.arrowMarkup,e=b.arrowLeft=a(d.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,"left")).addClass(s),f=b.arrowRight=a(d.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,"right")).addClass(s),h=g?"mfpFastClick":"click";e[h](function(){b.prev()}),f[h](function(){b.next()}),b.isIE7&&(x("b",e[0],!1,!0),x("a",e[0],!1,!0),x("b",f[0],!1,!0),x("a",f[0],!1,!0)),b.container.append(e.add(f))}}),w(n+e,function(){b._preloadTimeout&&clearTimeout(b._preloadTimeout),b._preloadTimeout=setTimeout(function(){b.preloadNearbyImages(),b._preloadTimeout=null},16)}),void w(h+e,function(){d.off(e),b.wrap.off("click"+e),b.arrowLeft&&g&&b.arrowLeft.add(b.arrowRight).destroyMfpFastClick(),b.arrowRight=b.arrowLeft=null})):!1},next:function(){b.direction=!0,b.index=S(b.index+1),b.updateItemHTML()},prev:function(){b.direction=!1,b.index=S(b.index-1),b.updateItemHTML()},goTo:function(a){b.direction=a>=b.index,b.index=a,b.updateItemHTML()},preloadNearbyImages:function(){var a,c=b.st.gallery.preload,d=Math.min(c[0],b.items.length),e=Math.min(c[1],b.items.length);for(a=1;a<=(b.direction?e:d);a++)b._preloadItem(b.index+a);for(a=1;a<=(b.direction?d:e);a++)b._preloadItem(b.index-a)},_preloadItem:function(c){if(c=S(c),!b.items[c].preloaded){var d=b.items[c];d.parsed||(d=b.parseEl(c)),y("LazyLoad",d),"image"===d.type&&(d.img=a('<img class="mfp-img" />').on("load.mfploader",function(){d.hasSize=!0}).on("error.mfploader",function(){d.hasSize=!0,d.loadError=!0,y("LazyLoadError",d)}).attr("src",d.src)),d.preloaded=!0}}}});var U="retina";a.magnificPopup.registerModule(U,{options:{replaceSrc:function(a){return a.src.replace(/\.\w+$/,function(a){return"@2x"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=b.st.retina,c=a.ratio;c=isNaN(c)?c():c,c>1&&(w("ImageHasSize."+U,function(a,b){b.img.css({"max-width":b.img[0].naturalWidth/c,width:"100%"})}),w("ElementParse."+U,function(b,d){d.src=a.replaceSrc(d,c)}))}}}}),function(){var b=1e3,c="ontouchstart"in window,d=function(){v.off("touchmove"+f+" touchend"+f)},e="mfpFastClick",f="."+e;a.fn.mfpFastClick=function(e){return a(this).each(function(){var g,h=a(this);if(c){var i,j,k,l,m,n;h.on("touchstart"+f,function(a){l=!1,n=1,m=a.originalEvent?a.originalEvent.touches[0]:a.touches[0],j=m.clientX,k=m.clientY,v.on("touchmove"+f,function(a){m=a.originalEvent?a.originalEvent.touches:a.touches,n=m.length,m=m[0],(Math.abs(m.clientX-j)>10||Math.abs(m.clientY-k)>10)&&(l=!0,d())}).on("touchend"+f,function(a){d(),l||n>1||(g=!0,a.preventDefault(),clearTimeout(i),i=setTimeout(function(){g=!1},b),e())})})}h.on("click"+f,function(){g||e()})})},a.fn.destroyMfpFastClick=function(){a(this).off("touchstart"+f+" click"+f),c&&v.off("touchmove"+f+" touchend"+f)}}(),A()});/*!
+var Occupant,RoomConfig,XmppRoom,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};Strophe.addConnectionPlugin("muc",{_connection:null,rooms:{},roomNames:[],init:function(conn){return this._connection=conn,this._muc_handler=null,Strophe.addNamespace("MUC_OWNER",Strophe.NS.MUC+"#owner"),Strophe.addNamespace("MUC_ADMIN",Strophe.NS.MUC+"#admin"),Strophe.addNamespace("MUC_USER",Strophe.NS.MUC+"#user"),Strophe.addNamespace("MUC_ROOMCONF",Strophe.NS.MUC+"#roomconfig")},join:function(room,nick,msg_handler_cb,pres_handler_cb,roster_cb,password,history_attrs,extended_presence){var msg,room_nick,_ref,_this=this;return room_nick=this.test_append_nick(room,nick),msg=$pres({from:this._connection.jid,to:room_nick}).c("x",{xmlns:Strophe.NS.MUC}),null!=history_attrs&&(msg=msg.c("history",history_attrs).up()),null!=password&&msg.cnode(Strophe.xmlElement("password",[],password)),null!=extended_presence&&msg.up().cnode(extended_presence),null==(_ref=this._muc_handler)&&(this._muc_handler=this._connection.addHandler(function(stanza){var from,handler,handlers,id,roomname,x,xmlns,xquery,_i,_len;if(from=stanza.getAttribute("from"),!from)return!0;if(roomname=from.split("/")[0],!_this.rooms[roomname])return!0;if(room=_this.rooms[roomname],handlers={},"message"===stanza.nodeName)handlers=room._message_handlers;else if("presence"===stanza.nodeName&&(xquery=stanza.getElementsByTagName("x"),xquery.length>0))for(_i=0,_len=xquery.length;_len>_i;_i++)if(x=xquery[_i],xmlns=x.getAttribute("xmlns"),xmlns&&xmlns.match(Strophe.NS.MUC)){handlers=room._presence_handlers;break}for(id in handlers)handler=handlers[id],handler(stanza,room)||delete handlers[id];return!0})),this.rooms.hasOwnProperty(room)||(this.rooms[room]=new XmppRoom(this,room,nick,password),this.roomNames.push(room)),pres_handler_cb&&this.rooms[room].addHandler("presence",pres_handler_cb),msg_handler_cb&&this.rooms[room].addHandler("message",msg_handler_cb),roster_cb&&this.rooms[room].addHandler("roster",roster_cb),this._connection.send(msg)},leave:function(room,nick,handler_cb,exit_msg){var id,presence,presenceid,room_nick;return id=this.roomNames.indexOf(room),delete this.rooms[room],id>=0&&(this.roomNames.splice(id,1),0===this.roomNames.length&&(this._connection.deleteHandler(this._muc_handler),this._muc_handler=null)),room_nick=this.test_append_nick(room,nick),presenceid=this._connection.getUniqueId(),presence=$pres({type:"unavailable",id:presenceid,from:this._connection.jid,to:room_nick}),null!=exit_msg&&presence.c("status",exit_msg),null!=handler_cb&&this._connection.addHandler(handler_cb,null,"presence",null,presenceid),this._connection.send(presence),presenceid},message:function(room,nick,message,html_message,type){var msg,msgid,parent,room_nick;return room_nick=this.test_append_nick(room,nick),type=type||(null!=nick?"chat":"groupchat"),msgid=this._connection.getUniqueId(),msg=$msg({to:room_nick,from:this._connection.jid,type:type,id:msgid}).c("body",{xmlns:Strophe.NS.CLIENT}).t(message),msg.up(),null!=html_message&&(msg.c("html",{xmlns:Strophe.NS.XHTML_IM}).c("body",{xmlns:Strophe.NS.XHTML}).t(html_message),0===msg.node.childNodes.length?(parent=msg.node.parentNode,msg.up().up(),msg.node.removeChild(parent)):msg.up().up()),msg.c("x",{xmlns:"jabber:x:event"}).c("composing"),this._connection.send(msg),msgid},groupchat:function(room,message,html_message){return this.message(room,null,message,html_message)},invite:function(room,receiver,reason){var invitation,msgid;return msgid=this._connection.getUniqueId(),invitation=$msg({from:this._connection.jid,to:room,id:msgid}).c("x",{xmlns:Strophe.NS.MUC_USER}).c("invite",{to:receiver}),null!=reason&&invitation.c("reason",reason),this._connection.send(invitation),msgid},directInvite:function(room,receiver,reason,password){var attrs,invitation,msgid;return msgid=this._connection.getUniqueId(),attrs={xmlns:"jabber:x:conference",jid:room},null!=reason&&(attrs.reason=reason),null!=password&&(attrs.password=password),invitation=$msg({from:this._connection.jid,to:receiver,id:msgid}).c("x",attrs),this._connection.send(invitation),msgid},queryOccupants:function(room,success_cb,error_cb){var attrs,info;return attrs={xmlns:Strophe.NS.DISCO_ITEMS},info=$iq({from:this._connection.jid,to:room,type:"get"}).c("query",attrs),this._connection.sendIQ(info,success_cb,error_cb)},configure:function(room,handler_cb,error_cb){var config,stanza;return config=$iq({to:room,type:"get"}).c("query",{xmlns:Strophe.NS.MUC_OWNER}),stanza=config.tree(),this._connection.sendIQ(stanza,handler_cb,error_cb)},cancelConfigure:function(room){var config,stanza;return config=$iq({to:room,type:"set"}).c("query",{xmlns:Strophe.NS.MUC_OWNER}).c("x",{xmlns:"jabber:x:data",type:"cancel"}),stanza=config.tree(),this._connection.sendIQ(stanza)},saveConfiguration:function(room,config,success_cb,error_cb){var conf,iq,stanza,_i,_len;if(iq=$iq({to:room,type:"set"}).c("query",{xmlns:Strophe.NS.MUC_OWNER}),Strophe.x&&config instanceof Strophe.x.Form)config.type="submit",iq.cnode(config.toXML());else for(iq.c("x",{xmlns:"jabber:x:data",type:"submit"}),_i=0,_len=config.length;_len>_i;_i++)conf=config[_i],iq.cnode(conf).up();return stanza=iq.tree(),this._connection.sendIQ(stanza,success_cb,error_cb)},createInstantRoom:function(room,success_cb,error_cb){var roomiq;return roomiq=$iq({to:room,type:"set"}).c("query",{xmlns:Strophe.NS.MUC_OWNER}).c("x",{xmlns:"jabber:x:data",type:"submit"}),this._connection.sendIQ(roomiq.tree(),success_cb,error_cb)},setTopic:function(room,topic){var msg;return msg=$msg({to:room,from:this._connection.jid,type:"groupchat"}).c("subject",{xmlns:"jabber:client"}).t(topic),this._connection.send(msg.tree())},_modifyPrivilege:function(room,item,reason,handler_cb,error_cb){var iq;return iq=$iq({to:room,type:"set"}).c("query",{xmlns:Strophe.NS.MUC_ADMIN}).cnode(item.node),null!=reason&&iq.c("reason",reason),this._connection.sendIQ(iq.tree(),handler_cb,error_cb)},modifyRole:function(room,nick,role,reason,handler_cb,error_cb){var item;return item=$build("item",{nick:nick,role:role}),this._modifyPrivilege(room,item,reason,handler_cb,error_cb)},kick:function(room,nick,reason,handler_cb,error_cb){return this.modifyRole(room,nick,"none",reason,handler_cb,error_cb)},voice:function(room,nick,reason,handler_cb,error_cb){return this.modifyRole(room,nick,"participant",reason,handler_cb,error_cb)},mute:function(room,nick,reason,handler_cb,error_cb){return this.modifyRole(room,nick,"visitor",reason,handler_cb,error_cb)},op:function(room,nick,reason,handler_cb,error_cb){return this.modifyRole(room,nick,"moderator",reason,handler_cb,error_cb)},deop:function(room,nick,reason,handler_cb,error_cb){return this.modifyRole(room,nick,"participant",reason,handler_cb,error_cb)},modifyAffiliation:function(room,jid,affiliation,reason,handler_cb,error_cb){var item;return item=$build("item",{jid:jid,affiliation:affiliation}),this._modifyPrivilege(room,item,reason,handler_cb,error_cb)},ban:function(room,jid,reason,handler_cb,error_cb){return this.modifyAffiliation(room,jid,"outcast",reason,handler_cb,error_cb)},member:function(room,jid,reason,handler_cb,error_cb){return this.modifyAffiliation(room,jid,"member",reason,handler_cb,error_cb)},revoke:function(room,jid,reason,handler_cb,error_cb){return this.modifyAffiliation(room,jid,"none",reason,handler_cb,error_cb)},owner:function(room,jid,reason,handler_cb,error_cb){return this.modifyAffiliation(room,jid,"owner",reason,handler_cb,error_cb)},admin:function(room,jid,reason,handler_cb,error_cb){return this.modifyAffiliation(room,jid,"admin",reason,handler_cb,error_cb)},changeNick:function(room,user){var presence,room_nick;return room_nick=this.test_append_nick(room,user),presence=$pres({from:this._connection.jid,to:room_nick,id:this._connection.getUniqueId()}),this._connection.send(presence.tree())},setStatus:function(room,user,show,status){var presence,room_nick;return room_nick=this.test_append_nick(room,user),presence=$pres({from:this._connection.jid,to:room_nick}),null!=show&&presence.c("show",show).up(),null!=status&&presence.c("status",status),this._connection.send(presence.tree())},listRooms:function(server,handle_cb,error_cb){var iq;return iq=$iq({to:server,from:this._connection.jid,type:"get"}).c("query",{xmlns:Strophe.NS.DISCO_ITEMS}),this._connection.sendIQ(iq,handle_cb,error_cb)},test_append_nick:function(room,nick){return room+(null!=nick?"/"+Strophe.escapeNode(nick):"")}}),XmppRoom=function(){function XmppRoom(client,name,nick,password){this.client=client,this.name=name,this.nick=nick,this.password=password,this._roomRosterHandler=__bind(this._roomRosterHandler,this),this._addOccupant=__bind(this._addOccupant,this),this.roster={},this._message_handlers={},this._presence_handlers={},this._roster_handlers={},this._handler_ids=0,client.muc&&(this.client=client.muc),this.name=Strophe.getBareJidFromJid(name),this.addHandler("presence",this._roomRosterHandler)}return XmppRoom.prototype.join=function(msg_handler_cb,pres_handler_cb,roster_cb){return this.client.join(this.name,this.nick,msg_handler_cb,pres_handler_cb,roster_cb,this.password)},XmppRoom.prototype.leave=function(handler_cb,message){return this.client.leave(this.name,this.nick,handler_cb,message),delete this.client.rooms[this.name]},XmppRoom.prototype.message=function(nick,message,html_message,type){return this.client.message(this.name,nick,message,html_message,type)},XmppRoom.prototype.groupchat=function(message,html_message){return this.client.groupchat(this.name,message,html_message)},XmppRoom.prototype.invite=function(receiver,reason){return this.client.invite(this.name,receiver,reason)},XmppRoom.prototype.directInvite=function(receiver,reason){return this.client.directInvite(this.name,receiver,reason,this.password)},XmppRoom.prototype.configure=function(handler_cb){return this.client.configure(this.name,handler_cb)},XmppRoom.prototype.cancelConfigure=function(){return this.client.cancelConfigure(this.name)},XmppRoom.prototype.saveConfiguration=function(config){return this.client.saveConfiguration(this.name,config)},XmppRoom.prototype.queryOccupants=function(success_cb,error_cb){return this.client.queryOccupants(this.name,success_cb,error_cb)},XmppRoom.prototype.setTopic=function(topic){return this.client.setTopic(this.name,topic)},XmppRoom.prototype.modifyRole=function(nick,role,reason,success_cb,error_cb){return this.client.modifyRole(this.name,nick,role,reason,success_cb,error_cb)},XmppRoom.prototype.kick=function(nick,reason,handler_cb,error_cb){return this.client.kick(this.name,nick,reason,handler_cb,error_cb)},XmppRoom.prototype.voice=function(nick,reason,handler_cb,error_cb){return this.client.voice(this.name,nick,reason,handler_cb,error_cb)},XmppRoom.prototype.mute=function(nick,reason,handler_cb,error_cb){return this.client.mute(this.name,nick,reason,handler_cb,error_cb)},XmppRoom.prototype.op=function(nick,reason,handler_cb,error_cb){return this.client.op(this.name,nick,reason,handler_cb,error_cb)},XmppRoom.prototype.deop=function(nick,reason,handler_cb,error_cb){return this.client.deop(this.name,nick,reason,handler_cb,error_cb)},XmppRoom.prototype.modifyAffiliation=function(jid,affiliation,reason,success_cb,error_cb){return this.client.modifyAffiliation(this.name,jid,affiliation,reason,success_cb,error_cb)},XmppRoom.prototype.ban=function(jid,reason,handler_cb,error_cb){return this.client.ban(this.name,jid,reason,handler_cb,error_cb)},XmppRoom.prototype.member=function(jid,reason,handler_cb,error_cb){return this.client.member(this.name,jid,reason,handler_cb,error_cb)},XmppRoom.prototype.revoke=function(jid,reason,handler_cb,error_cb){return this.client.revoke(this.name,jid,reason,handler_cb,error_cb)},XmppRoom.prototype.owner=function(jid,reason,handler_cb,error_cb){return this.client.owner(this.name,jid,reason,handler_cb,error_cb)},XmppRoom.prototype.admin=function(jid,reason,handler_cb,error_cb){return this.client.admin(this.name,jid,reason,handler_cb,error_cb)},XmppRoom.prototype.changeNick=function(nick){return this.nick=nick,this.client.changeNick(this.name,nick)},XmppRoom.prototype.setStatus=function(show,status){return this.client.setStatus(this.name,this.nick,show,status)},XmppRoom.prototype.addHandler=function(handler_type,handler){var id;switch(id=this._handler_ids++,handler_type){case"presence":this._presence_handlers[id]=handler;break;case"message":this._message_handlers[id]=handler;break;case"roster":this._roster_handlers[id]=handler;break;default:return this._handler_ids--,null}return id},XmppRoom.prototype.removeHandler=function(id){return delete this._presence_handlers[id],delete this._message_handlers[id],delete this._roster_handlers[id]},XmppRoom.prototype._addOccupant=function(data){var occ;return occ=new Occupant(data,this),this.roster[occ.nick]=occ,occ},XmppRoom.prototype._roomRosterHandler=function(pres){var data,handler,id,newnick,nick,_ref;switch(data=XmppRoom._parsePresence(pres),nick=data.nick,newnick=data.newnick||null,data.type){case"error":return;case"unavailable":newnick&&(data.nick=newnick,this.roster[nick]&&this.roster[newnick]&&(this.roster[nick].update(this.roster[newnick]),this.roster[newnick]=this.roster[nick]),this.roster[nick]&&!this.roster[newnick]&&(this.roster[newnick]=this.roster[nick].update(data))),delete this.roster[nick];break;default:this.roster[nick]?this.roster[nick].update(data):this._addOccupant(data)}_ref=this._roster_handlers;for(id in _ref)handler=_ref[id],handler(this.roster,this)||delete this._roster_handlers[id];return!0},XmppRoom._parsePresence=function(pres){var a,c,c2,data,_i,_j,_len,_len1,_ref,_ref1,_ref2,_ref3,_ref4,_ref5,_ref6,_ref7;for(data={},a=pres.attributes,data.nick=Strophe.getResourceFromJid(a.from.textContent),data.type=(null!=(_ref=a.type)?_ref.textContent:void 0)||null,data.states=[],_ref1=pres.childNodes,_i=0,_len=_ref1.length;_len>_i;_i++)switch(c=_ref1[_i],c.nodeName){case"status":data.status=c.textContent||null;break;case"show":data.show=c.textContent||null;break;case"x":if(a=c.attributes,(null!=(_ref2=a.xmlns)?_ref2.textContent:void 0)===Strophe.NS.MUC_USER)for(_ref3=c.childNodes,_j=0,_len1=_ref3.length;_len1>_j;_j++)switch(c2=_ref3[_j],c2.nodeName){case"item":a=c2.attributes,data.affiliation=(null!=(_ref4=a.affiliation)?_ref4.textContent:void 0)||null,data.role=(null!=(_ref5=a.role)?_ref5.textContent:void 0)||null,data.jid=(null!=(_ref6=a.jid)?_ref6.textContent:void 0)||null,data.newnick=(null!=(_ref7=a.nick)?_ref7.textContent:void 0)||null;break;case"status":c2.attributes.code&&data.states.push(c2.attributes.code.textContent)}}return data},XmppRoom}(),RoomConfig=function(){function RoomConfig(info){this.parse=__bind(this.parse,this),null!=info&&this.parse(info)}return RoomConfig.prototype.parse=function(result){var attr,attrs,child,field,identity,query,_i,_j,_k,_len,_len1,_len2,_ref;for(query=result.getElementsByTagName("query")[0].childNodes,this.identities=[],this.features=[],this.x=[],_i=0,_len=query.length;_len>_i;_i++)switch(child=query[_i],attrs=child.attributes,child.nodeName){case"identity":for(identity={},_j=0,_len1=attrs.length;_len1>_j;_j++)attr=attrs[_j],identity[attr.name]=attr.textContent;this.identities.push(identity);break;case"feature":this.features.push(attrs["var"].textContent);break;case"x":if(attrs=child.childNodes[0].attributes,"FORM_TYPE"===!attrs["var"].textContent||"hidden"===!attrs.type.textContent)break;for(_ref=child.childNodes,_k=0,_len2=_ref.length;_len2>_k;_k++)field=_ref[_k],field.attributes.type||(attrs=field.attributes,this.x.push({"var":attrs["var"].textContent,label:attrs.label.textContent||"",value:field.firstChild.textContent||""}))}return{identities:this.identities,features:this.features,x:this.x}},RoomConfig}(),Occupant=function(){function Occupant(data,room){this.room=room,this.update=__bind(this.update,this),this.admin=__bind(this.admin,this),this.owner=__bind(this.owner,this),this.revoke=__bind(this.revoke,this),this.member=__bind(this.member,this),this.ban=__bind(this.ban,this),this.modifyAffiliation=__bind(this.modifyAffiliation,this),this.deop=__bind(this.deop,this),this.op=__bind(this.op,this),this.mute=__bind(this.mute,this),this.voice=__bind(this.voice,this),this.kick=__bind(this.kick,this),this.modifyRole=__bind(this.modifyRole,this),this.update(data)}return Occupant.prototype.modifyRole=function(role,reason,success_cb,error_cb){return this.room.modifyRole(this.nick,role,reason,success_cb,error_cb)},Occupant.prototype.kick=function(reason,handler_cb,error_cb){return this.room.kick(this.nick,reason,handler_cb,error_cb)},Occupant.prototype.voice=function(reason,handler_cb,error_cb){return this.room.voice(this.nick,reason,handler_cb,error_cb)},Occupant.prototype.mute=function(reason,handler_cb,error_cb){return this.room.mute(this.nick,reason,handler_cb,error_cb)},Occupant.prototype.op=function(reason,handler_cb,error_cb){return this.room.op(this.nick,reason,handler_cb,error_cb)},Occupant.prototype.deop=function(reason,handler_cb,error_cb){return this.room.deop(this.nick,reason,handler_cb,error_cb)},Occupant.prototype.modifyAffiliation=function(affiliation,reason,success_cb,error_cb){return this.room.modifyAffiliation(this.jid,affiliation,reason,success_cb,error_cb)},Occupant.prototype.ban=function(reason,handler_cb,error_cb){return this.room.ban(this.jid,reason,handler_cb,error_cb)},Occupant.prototype.member=function(reason,handler_cb,error_cb){return this.room.member(this.jid,reason,handler_cb,error_cb)},Occupant.prototype.revoke=function(reason,handler_cb,error_cb){return this.room.revoke(this.jid,reason,handler_cb,error_cb)},Occupant.prototype.owner=function(reason,handler_cb,error_cb){return this.room.owner(this.jid,reason,handler_cb,error_cb)},Occupant.prototype.admin=function(reason,handler_cb,error_cb){return this.room.admin(this.jid,reason,handler_cb,error_cb)},Occupant.prototype.update=function(data){return this.nick=data.nick||null,this.affiliation=data.affiliation||null,this.role=data.role||null,this.jid=data.jid||null,this.status=data.status||null,this.show=data.show||null,this},Occupant}(),Strophe.addConnectionPlugin("disco",{_connection:null,_identities:[],_features:[],_items:[],init:function(conn){this._connection=conn,this._identities=[],this._features=[],this._items=[],conn.addHandler(this._onDiscoInfo.bind(this),Strophe.NS.DISCO_INFO,"iq","get",null,null),conn.addHandler(this._onDiscoItems.bind(this),Strophe.NS.DISCO_ITEMS,"iq","get",null,null)},addIdentity:function(category,type,name,lang){for(var i=0;i<this._identities.length;i++)if(this._identities[i].category==category&&this._identities[i].type==type&&this._identities[i].name==name&&this._identities[i].lang==lang)return!1;return this._identities.push({category:category,type:type,name:name,lang:lang}),!0},addFeature:function(var_name){for(var i=0;i<this._features.length;i++)if(this._features[i]==var_name)return!1;return this._features.push(var_name),!0},removeFeature:function(var_name){for(var i=0;i<this._features.length;i++)if(this._features[i]===var_name)return this._features.splice(i,1),!0;return!1},addItem:function(jid,name,node,call_back){return node&&!call_back?!1:(this._items.push({jid:jid,name:name,node:node,call_back:call_back}),!0)},info:function(jid,node,success,error,timeout){var attrs={xmlns:Strophe.NS.DISCO_INFO};node&&(attrs.node=node);var info=$iq({from:this._connection.jid,to:jid,type:"get"}).c("query",attrs);this._connection.sendIQ(info,success,error,timeout)},items:function(jid,node,success,error,timeout){var attrs={xmlns:Strophe.NS.DISCO_ITEMS};node&&(attrs.node=node);var items=$iq({from:this._connection.jid,to:jid,type:"get"}).c("query",attrs);this._connection.sendIQ(items,success,error,timeout)},_buildIQResult:function(stanza,query_attrs){var id=stanza.getAttribute("id"),from=stanza.getAttribute("from"),iqresult=$iq({type:"result",id:id});return null!==from&&iqresult.attrs({to:from}),iqresult.c("query",query_attrs)},_onDiscoInfo:function(stanza){var node=stanza.getElementsByTagName("query")[0].getAttribute("node"),attrs={xmlns:Strophe.NS.DISCO_INFO};node&&(attrs.node=node);for(var iqresult=this._buildIQResult(stanza,attrs),i=0;i<this._identities.length;i++){var attrs={category:this._identities[i].category,type:this._identities[i].type};this._identities[i].name&&(attrs.name=this._identities[i].name),this._identities[i].lang&&(attrs["xml:lang"]=this._identities[i].lang),iqresult.c("identity",attrs).up()}for(var i=0;i<this._features.length;i++)iqresult.c("feature",{"var":this._features[i]}).up();return this._connection.send(iqresult.tree()),!0},_onDiscoItems:function(stanza){var query_attrs={xmlns:Strophe.NS.DISCO_ITEMS},node=stanza.getElementsByTagName("query")[0].getAttribute("node");if(node){query_attrs.node=node;for(var items=[],i=0;i<this._items.length;i++)if(this._items[i].node==node){items=this._items[i].call_back(stanza);break}}else var items=this._items;for(var iqresult=this._buildIQResult(stanza,query_attrs),i=0;i<items.length;i++){var attrs={jid:items[i].jid};items[i].name&&(attrs.name=items[i].name),items[i].node&&(attrs.node=items[i].node),iqresult.c("item",attrs).up()}return this._connection.send(iqresult.tree()),!0}}),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;identitiesLen>i;i++){var curIdent=identities[i];ver+=curIdent.category+"/"+curIdent.type+"/"+curIdent.lang+"/"+curIdent.name+"<"}for(var i=0;featuresLen>i;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;childNodesLen>i;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;l>i;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;_len>_i;_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;_len>_i;_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;_len>_i;_i++)for(i=_ref1[_i],_ref2=i.fields,_j=0,_len1=_ref2.length;_len1>_j;_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;_len>_i;_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;_len1>_j;_j++)r=_ref1[_j],xml.c("field",{"var":r}).up();for(xml.up(),_ref2=this.items,_k=0,_len2=_ref2.length;_len2>_k;_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;_len>_i;_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;_len1>_j;_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;_len>_i;_i++)f=_ref[_i],helper.createHtmlFieldCouple(f).appendTo(form);else if(this.items.length>0)for(_ref1=this.items,_j=0,_len1=_ref1.length;_len1>_j;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;_len>_i;_i++)i=items[_i],_results.push(Item.fromHTML(i));return _results}(),_ref=f.items,_i=0,_len=_ref.length;_len>_i;_i++)for(item=_ref[_i],_ref1=item.fields,_j=0,_len1=_ref1.length;_len1>_j;_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;_len2>_k;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;_len>_i;_i++)v=_ref[_i],xml.c("value").t(v.toString()).up();if(this.options)for(_ref1=this.options,_j=0,_len1=_ref1.length;_len1>_j;_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;_len>_i;_i++)if(opt=_ref[_i]){for(o=$(opt.toHTML()),_ref1=this.values,_j=0,_len1=_ref1.length;_len1>_j;_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;_len2>_k;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;_len>_i;_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;return 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)?conn.disco.addNode(Strophe.NS.DATA,{items:[]}):void 0},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),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){},{}],2:[function(require,module,exports){(function(global){function typedArraySupport(){function Bar(){}try{var arr=new Uint8Array(1);return arr.foo=function(){return 42},arr.constructor=Bar,42===arr.foo()&&arr.constructor===Bar&&"function"==typeof arr.subarray&&0===arr.subarray(1,1).byteLength}catch(e){return!1}}function kMaxLength(){return Buffer.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Buffer(arg){return this instanceof Buffer?(this.length=0,this.parent=void 0,"number"==typeof arg?fromNumber(this,arg):"string"==typeof arg?fromString(this,arg,arguments.length>1?arguments[1]:"utf8"):fromObject(this,arg)):arguments.length>1?new Buffer(arg,arguments[1]):new Buffer(arg)}function fromNumber(that,length){if(that=allocate(that,0>length?0:0|checked(length)),!Buffer.TYPED_ARRAY_SUPPORT)for(var i=0;length>i;i++)that[i]=0;return that}function fromString(that,string,encoding){("string"!=typeof encoding||""===encoding)&&(encoding="utf8");var length=0|byteLength(string,encoding);return that=allocate(that,length),that.write(string,encoding),that}function fromObject(that,object){if(Buffer.isBuffer(object))return fromBuffer(that,object);if(isArray(object))return fromArray(that,object);if(null==object)throw new TypeError("must start with number, buffer, array or string");if("undefined"!=typeof ArrayBuffer){if(object.buffer instanceof ArrayBuffer)return fromTypedArray(that,object);if(object instanceof ArrayBuffer)return fromArrayBuffer(that,object)}return object.length?fromArrayLike(that,object):fromJsonObject(that,object)}function fromBuffer(that,buffer){var length=0|checked(buffer.length);return that=allocate(that,length),buffer.copy(that,0,0,length),that}function fromArray(that,array){var length=0|checked(array.length);that=allocate(that,length);for(var i=0;length>i;i+=1)that[i]=255&array[i];return that}function fromTypedArray(that,array){var length=0|checked(array.length);that=allocate(that,length);for(var i=0;length>i;i+=1)that[i]=255&array[i];return that}function fromArrayBuffer(that,array){return Buffer.TYPED_ARRAY_SUPPORT?(array.byteLength,that=Buffer._augment(new Uint8Array(array))):that=fromTypedArray(that,new Uint8Array(array)),that}function fromArrayLike(that,array){var length=0|checked(array.length);that=allocate(that,length);for(var i=0;length>i;i+=1)that[i]=255&array[i];return that}function fromJsonObject(that,object){var array,length=0;"Buffer"===object.type&&isArray(object.data)&&(array=object.data,length=0|checked(array.length)),that=allocate(that,length);for(var i=0;length>i;i+=1)that[i]=255&array[i];return that}function allocate(that,length){Buffer.TYPED_ARRAY_SUPPORT?(that=Buffer._augment(new Uint8Array(length)),that.__proto__=Buffer.prototype):(that.length=length,that._isBuffer=!0);var fromPool=0!==length&&length<=Buffer.poolSize>>>1;return fromPool&&(that.parent=rootParent),that}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(subject,encoding){if(!(this instanceof SlowBuffer))return new SlowBuffer(subject,encoding);var buf=new Buffer(subject,encoding);return delete buf.parent,buf}function byteLength(string,encoding){"string"!=typeof string&&(string=""+string);var len=string.length;if(0===len)return 0;for(var loweredCase=!1;;)switch(encoding){case"ascii":case"binary":case"raw":case"raws":return len;case"utf8":case"utf-8":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(start=0|start,end=void 0===end||end===1/0?this.length:0|end,encoding||(encoding="utf8"),0>start&&(start=0),end>this.length&&(end=this.length),start>=end)return"";for(;;)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"binary":return binarySlice(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 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 Error("Invalid hex string");length>strLen/2&&(length=strLen/2);for(var i=0;length>i;i++){var parsed=parseInt(string.substr(2*i,2),16);if(isNaN(parsed))throw new Error("Invalid hex string");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 binaryWrite(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;end>i;){var firstByte=buf[i],codePoint=null,bytesPerSequence=firstByte>239?4:firstByte>223?3:firstByte>191?2:1;if(end>=i+bytesPerSequence){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:128>firstByte&&(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&&(55296>tempCodePoint||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&&1114112>tempCodePoint&&(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(MAX_ARGUMENTS_LENGTH>=len)return String.fromCharCode.apply(String,codePoints);for(var res="",i=0;len>i;)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;end>i;i++)ret+=String.fromCharCode(127&buf[i]);return ret}function binarySlice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;end>i;i++)ret+=String.fromCharCode(buf[i]);return ret}function hexSlice(buf,start,end){var len=buf.length;(!start||0>start)&&(start=0),(!end||0>end||end>len)&&(end=len);for(var out="",i=start;end>i;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||0>offset)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 must be a Buffer instance");if(value>max||min>value)throw new RangeError("value is out of bounds");if(offset+ext>buf.length)throw new RangeError("index out of range")}function objectWriteUInt16(buf,value,offset,littleEndian){0>value&&(value=65535+value+1);for(var i=0,j=Math.min(buf.length-offset,2);j>i;i++)buf[offset+i]=(value&255<<8*(littleEndian?i:1-i))>>>8*(littleEndian?i:1-i)}function objectWriteUInt32(buf,value,offset,littleEndian){0>value&&(value=4294967295+value+1);for(var i=0,j=Math.min(buf.length-offset,4);j>i;i++)buf[offset+i]=value>>>8*(littleEndian?i:3-i)&255}function checkIEEE754(buf,value,offset,ext,max,min){if(value>max||min>value)throw new RangeError("value is out of bounds");if(offset+ext>buf.length)throw new RangeError("index out of range");if(0>offset)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 16>n?"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;length>i;i++){if(codePoint=string.charCodeAt(i),codePoint>55295&&57344>codePoint){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(56320>codePoint){(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,128>codePoint){if((units-=1)<0)break;bytes.push(codePoint)}else if(2048>codePoint){if((units-=2)<0)break;bytes.push(codePoint>>6|192,63&codePoint|128)}else if(65536>codePoint){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,63&codePoint|128)}else{if(!(1114112>codePoint))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;length>i&&!(i+offset>=dst.length||i>=src.length);i++)dst[i+offset]=src[i];return i}var base64=require("base64-js"),ieee754=require("ieee754"),isArray=require("is-array");exports.Buffer=Buffer,exports.SlowBuffer=SlowBuffer,exports.INSPECT_MAX_BYTES=50,Buffer.poolSize=8192;var rootParent={};Buffer.TYPED_ARRAY_SUPPORT=void 0!==global.TYPED_ARRAY_SUPPORT?global.TYPED_ARRAY_SUPPORT:typedArraySupport(),Buffer.TYPED_ARRAY_SUPPORT&&(Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array),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);len>i&&a[i]===b[i];)++i;return i!==len&&(x=a[i],y=b[i]),y>x?-1:x>y?1:0},Buffer.isEncoding=function(encoding){switch(String(encoding).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":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 new Buffer(0);var i;if(void 0===length)for(length=0,i=0;i<list.length;i++)length+=list[i].length;var buf=new Buffer(length),pos=0;for(i=0;i<list.length;i++){var item=list[i];item.copy(buf,pos),pos+=item.length}return buf},Buffer.byteLength=byteLength,Buffer.prototype.length=void 0,Buffer.prototype.parent=void 0,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: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(b){if(!Buffer.isBuffer(b))throw new TypeError("Argument must be a Buffer");return this===b?0:Buffer.compare(this,b)},Buffer.prototype.indexOf=function(val,byteOffset){function arrayIndexOf(arr,val,byteOffset){for(var foundIndex=-1,i=0;byteOffset+i<arr.length;i++)if(arr[byteOffset+i]===val[-1===foundIndex?0:i-foundIndex]){if(-1===foundIndex&&(foundIndex=i),i-foundIndex+1===val.length)return byteOffset+foundIndex}else foundIndex=-1;return-1}if(byteOffset>2147483647?byteOffset=2147483647:-2147483648>byteOffset&&(byteOffset=-2147483648),byteOffset>>=0,0===this.length)return-1;if(byteOffset>=this.length)return-1;if(0>byteOffset&&(byteOffset=Math.max(this.length+byteOffset,0)),"string"==typeof val)return 0===val.length?-1:String.prototype.indexOf.call(this,val,byteOffset);if(Buffer.isBuffer(val))return arrayIndexOf(this,val,byteOffset);if("number"==typeof val)return Buffer.TYPED_ARRAY_SUPPORT&&"function"===Uint8Array.prototype.indexOf?Uint8Array.prototype.indexOf.call(this,val,byteOffset):arrayIndexOf(this,[val],byteOffset);throw new TypeError("val must be string, number or Buffer")},Buffer.prototype.get=function(offset){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(offset)},Buffer.prototype.set=function(v,offset){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(v,offset)},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))offset=0|offset,isFinite(length)?(length=0|length,void 0===encoding&&(encoding="utf8")):(encoding=length,length=void 0);else{var swap=encoding;encoding=offset,offset=0|length,length=swap}var remaining=this.length-offset;if((void 0===length||length>remaining)&&(length=remaining),string.length>0&&(0>length||0>offset)||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"binary":return binaryWrite(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,0>start?(start+=len,0>start&&(start=0)):start>len&&(start=len),0>end?(end+=len,0>end&&(end=0)):end>len&&(end=len),start>end&&(end=start);var newBuf;if(Buffer.TYPED_ARRAY_SUPPORT)newBuf=Buffer._augment(this.subarray(start,end));else{var sliceLen=end-start;newBuf=new Buffer(sliceLen,void 0);for(var i=0;sliceLen>i;i++)newBuf[i]=this[i+start]}return newBuf.length&&(newBuf.parent=this.parent||this),newBuf},Buffer.prototype.readUIntLE=function(offset,byteLength,noAssert){offset=0|offset,byteLength=0|byteLength,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|offset,byteLength=0|byteLength,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|offset,byteLength=0|byteLength,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|offset,byteLength=0|byteLength,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]?-1*(255-this[offset]+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){value=+value,offset=0|offset,byteLength=0|byteLength,noAssert||checkInt(this,value,offset,byteLength,Math.pow(2,8*byteLength),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){value=+value,offset=0|offset,byteLength=0|byteLength,noAssert||checkInt(this,value,offset,byteLength,Math.pow(2,8*byteLength),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|offset,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|offset,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|offset,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|offset,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|offset,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|offset,!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0,mul=1,sub=0>value?1:0;for(this[offset]=255&value;++i<byteLength&&(mul*=256);)this[offset+i]=(value/mul>>0)-sub&255;return offset+byteLength},Buffer.prototype.writeIntBE=function(value,offset,byteLength,noAssert){if(value=+value,offset=0|offset,!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>value?1:0;for(this[offset+i]=255&value;--i>=0&&(mul*=256);)this[offset+i]=(value/mul>>0)-sub&255;return offset+byteLength},Buffer.prototype.writeInt8=function(value,offset,noAssert){return value=+value,offset=0|offset,noAssert||checkInt(this,value,offset,1,127,-128),Buffer.TYPED_ARRAY_SUPPORT||(value=Math.floor(value)),0>value&&(value=255+value+1),this[offset]=255&value,offset+1},Buffer.prototype.writeInt16LE=function(value,offset,noAssert){return value=+value,offset=0|offset,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|offset,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|offset,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|offset,noAssert||checkInt(this,value,offset,4,2147483647,-2147483648),0>value&&(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&&start>end&&(end=start),end===start)return 0;if(0===target.length||0===this.length)return 0;if(0>targetStart)throw new RangeError("targetStart out of bounds");if(0>start||start>=this.length)throw new RangeError("sourceStart out of bounds");if(0>end)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&&targetStart>start&&end>targetStart)for(i=len-1;i>=0;i--)target[i+targetStart]=this[i+start];else if(1e3>len||!Buffer.TYPED_ARRAY_SUPPORT)for(i=0;len>i;i++)target[i+targetStart]=this[i+start];else target._set(this.subarray(start,start+len),targetStart);return len},Buffer.prototype.fill=function(value,start,end){if(value||(value=0),start||(start=0),end||(end=this.length),start>end)throw new RangeError("end < start");if(end!==start&&0!==this.length){if(0>start||start>=this.length)throw new RangeError("start out of bounds");if(0>end||end>this.length)throw new RangeError("end out of bounds");var i;if("number"==typeof value)for(i=start;end>i;i++)this[i]=value;else{var bytes=utf8ToBytes(value.toString()),len=bytes.length;for(i=start;end>i;i++)this[i]=bytes[i%len]}return this}},Buffer.prototype.toArrayBuffer=function(){if("undefined"!=typeof Uint8Array){if(Buffer.TYPED_ARRAY_SUPPORT)return new Buffer(this).buffer;for(var buf=new Uint8Array(this.length),i=0,len=buf.length;len>i;i+=1)buf[i]=this[i];return buf.buffer}throw new TypeError("Buffer.toArrayBuffer not supported in this browser")};var BP=Buffer.prototype;Buffer._augment=function(arr){return arr.constructor=Buffer,arr._isBuffer=!0,arr._set=arr.set,arr.get=BP.get,arr.set=BP.set,arr.write=BP.write,arr.toString=BP.toString,arr.toLocaleString=BP.toString,arr.toJSON=BP.toJSON,arr.equals=BP.equals,arr.compare=BP.compare,arr.indexOf=BP.indexOf,arr.copy=BP.copy,arr.slice=BP.slice,arr.readUIntLE=BP.readUIntLE,arr.readUIntBE=BP.readUIntBE,arr.readUInt8=BP.readUInt8,arr.readUInt16LE=BP.readUInt16LE,arr.readUInt16BE=BP.readUInt16BE,arr.readUInt32LE=BP.readUInt32LE,arr.readUInt32BE=BP.readUInt32BE,arr.readIntLE=BP.readIntLE,arr.readIntBE=BP.readIntBE,arr.readInt8=BP.readInt8,arr.readInt16LE=BP.readInt16LE,arr.readInt16BE=BP.readInt16BE,arr.readInt32LE=BP.readInt32LE,arr.readInt32BE=BP.readInt32BE,arr.readFloatLE=BP.readFloatLE,arr.readFloatBE=BP.readFloatBE,arr.readDoubleLE=BP.readDoubleLE,arr.readDoubleBE=BP.readDoubleBE,arr.writeUInt8=BP.writeUInt8,arr.writeUIntLE=BP.writeUIntLE,arr.writeUIntBE=BP.writeUIntBE,arr.writeUInt16LE=BP.writeUInt16LE,arr.writeUInt16BE=BP.writeUInt16BE,arr.writeUInt32LE=BP.writeUInt32LE,arr.writeUInt32BE=BP.writeUInt32BE,arr.writeIntLE=BP.writeIntLE,arr.writeIntBE=BP.writeIntBE,arr.writeInt8=BP.writeInt8,arr.writeInt16LE=BP.writeInt16LE,arr.writeInt16BE=BP.writeInt16BE,arr.writeInt32LE=BP.writeInt32LE,arr.writeInt32BE=BP.writeInt32BE,arr.writeFloatLE=BP.writeFloatLE,arr.writeFloatBE=BP.writeFloatBE,arr.writeDoubleLE=BP.writeDoubleLE,arr.writeDoubleBE=BP.writeDoubleBE,arr.fill=BP.fill,arr.inspect=BP.inspect,arr.toArrayBuffer=BP.toArrayBuffer,arr};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:4,"is-array":5}],3:[function(require,module,exports){var lookup="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";!function(exports){"use strict";function decode(elt){var code=elt.charCodeAt(0);return code===PLUS||code===PLUS_URL_SAFE?62:code===SLASH||code===SLASH_URL_SAFE?63:NUMBER>code?-1:NUMBER+10>code?code-NUMBER+26+26:UPPER+26>code?code-UPPER:LOWER+26>code?code-LOWER+26:void 0}function b64ToByteArray(b64){function push(v){arr[L++]=v}var i,j,l,tmp,placeHolders,arr;if(b64.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var len=b64.length;placeHolders="="===b64.charAt(len-2)?2:"="===b64.charAt(len-1)?1:0,arr=new Arr(3*b64.length/4-placeHolders),l=placeHolders>0?b64.length-4:b64.length;var L=0;for(i=0,j=0;l>i;i+=4,j+=3)tmp=decode(b64.charAt(i))<<18|decode(b64.charAt(i+1))<<12|decode(b64.charAt(i+2))<<6|decode(b64.charAt(i+3)),push((16711680&tmp)>>16),push((65280&tmp)>>8),push(255&tmp);return 2===placeHolders?(tmp=decode(b64.charAt(i))<<2|decode(b64.charAt(i+1))>>4,push(255&tmp)):1===placeHolders&&(tmp=decode(b64.charAt(i))<<10|decode(b64.charAt(i+1))<<4|decode(b64.charAt(i+2))>>2,push(tmp>>8&255),push(255&tmp)),arr}function uint8ToBase64(uint8){function encode(num){return lookup.charAt(num)}function tripletToBase64(num){return encode(num>>18&63)+encode(num>>12&63)+encode(num>>6&63)+encode(63&num)}var i,temp,length,extraBytes=uint8.length%3,output="";for(i=0,length=uint8.length-extraBytes;length>i;i+=3)temp=(uint8[i]<<16)+(uint8[i+1]<<8)+uint8[i+2],output+=tripletToBase64(temp);switch(extraBytes){case 1:temp=uint8[uint8.length-1],output+=encode(temp>>2),output+=encode(temp<<4&63),output+="==";break;case 2:temp=(uint8[uint8.length-2]<<8)+uint8[uint8.length-1],output+=encode(temp>>10),output+=encode(temp>>4&63),output+=encode(temp<<2&63),output+="="}return output}var Arr="undefined"!=typeof Uint8Array?Uint8Array:Array,PLUS="+".charCodeAt(0),SLASH="/".charCodeAt(0),NUMBER="0".charCodeAt(0),LOWER="a".charCodeAt(0),UPPER="A".charCodeAt(0),PLUS_URL_SAFE="-".charCodeAt(0),SLASH_URL_SAFE="_".charCodeAt(0);exports.toByteArray=b64ToByteArray,exports.fromByteArray=uint8ToBase64}("undefined"==typeof exports?this.base64js={}:exports)},{}],4:[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=0>value||0===value&&0>1/value?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}},{}],5:[function(require,module,exports){var isArray=Array.isArray,str=Object.prototype.toString;module.exports=isArray||function(val){return!!val&&"[object Array]"==str.call(val)}},{}],6:[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)||0>n||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;throw TypeError('Uncaught, unspecified "error" event.')}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:for(len=arguments.length,args=new Array(len-1),i=1;len>i;i++)args[i-1]=arguments[i];handler.apply(this,args)}else if(isObject(handler)){for(len=arguments.length,args=new Array(len-1),i=1;len>i;i++)args[i-1]=arguments[i];for(listeners=handler.slice(),len=listeners.length,i=0;len>i;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");if(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){var m;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())}return 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(0>position)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 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.listenerCount=function(emitter,type){var ret;return ret=emitter._events&&emitter._events[type]?isFunction(emitter._events[type])?1:emitter._events[type].length:0}},{}],7:[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}},{}],8:[function(require,module,exports){module.exports=function(obj){return!(null==obj||!(obj._isBuffer||obj.constructor&&"function"==typeof obj.constructor.isBuffer&&obj.constructor.isBuffer(obj)))}},{}],9:[function(require,module,exports){module.exports=Array.isArray||function(arr){return"[object Array]"==Object.prototype.toString.call(arr)}},{}],10:[function(require,module,exports){function cleanUpNextTick(){draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue()}function drainQueue(){if(!draining){var timeout=setTimeout(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,clearTimeout(timeout)}}function Item(fun,array){this.fun=fun,this.array=array}function noop(){}var currentQueue,process=module.exports={},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||setTimeout(drainQueue,0)},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}},{}],11:[function(require,module,exports){(function(global){!function(root){function error(type){throw 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;length>counter;)value=string.charCodeAt(counter++),value>=55296&&56319>=value&&length>counter?(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 10>codePoint-48?codePoint-22:26>codePoint-65?codePoint-65:26>codePoint-97?codePoint-97:base}function digitToBasic(digit,flag){return digit+22+75*(26>digit)-((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),0>basic&&(basic=0),j=0;basic>j;++j)input.charCodeAt(j)>=128&&error("not-basic"),output.push(input.charCodeAt(j));for(index=basic>0?basic+1:0;inputLength>index;){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=bias>=k?tMin:k>=bias+tMax?tMax:k-bias,!(t>digit);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;inputLength>j;++j)currentValue=input[j],128>currentValue&&output.push(stringFromCharCode(currentValue));for(handledCPCount=basicLength=output.length,basicLength&&output.push(delimiter);inputLength>handledCPCount;){for(m=maxInt,j=0;inputLength>j;++j)currentValue=input[j],currentValue>=n&&m>currentValue&&(m=currentValue);for(handledCPCountPlusOne=handledCPCount+1,m-n>floor((maxInt-delta)/handledCPCountPlusOne)&&error("overflow"),delta+=(m-n)*handledCPCountPlusOne,n=m,j=0;inputLength>j;++j)if(currentValue=input[j],n>currentValue&&++delta>maxInt&&error("overflow"),currentValue==n){for(q=delta,k=base;t=bias>=k?tMin:k>=bias+tMax?tMax:k-bias,!(t>q);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.3.2",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:{})},{}],12:[function(require,module,exports){module.exports=require("./lib/_stream_duplex.js")},{"./lib/_stream_duplex.js":13}],13:[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":15,"./_stream_writable":17,"core-util-is":18,inherits:7,"process-nextick-args":19}],14:[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":16,"core-util-is":18,inherits:7}],15:[function(require,module,exports){(function(process){"use strict";function ReadableState(options,stream){var 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=[],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.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){require("./_stream_duplex");return 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!state.decoder||addToFront||encoding||(chunk=state.decoder.write(chunk)),addToFront||(state.reading=!1),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 0===state.length&&state.ended?0:state.objectMode?0===n?0:1:null===n||isNaN(n)?state.flowing&&state.buffer.length?state.buffer[0].length:state.length:0>=n?0:(n>state.highWaterMark&&(state.highWaterMark=computeNewHighWaterMark(n)),n>state.length?state.ended?state.length:(state.needReadable=!0,0):n)}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,stream.emit("resume"),flow(stream),state.flowing&&!state.reading&&stream.read(0)}function flow(stream){var state=stream._readableState;if(debug("flow",state.flowing),state.flowing)do var chunk=stream.read();while(null!==chunk&&state.flowing)}function fromList(n,state){var ret,list=state.buffer,length=state.length,stringMode=!!state.decoder,objectMode=!!state.objectMode;if(0===list.length)return null;if(0===length)ret=null;else if(objectMode)ret=list.shift();else if(!n||n>=length)ret=stringMode?list.join(""):1===list.length?list[0]:Buffer.concat(list,length),list.length=0;else if(n<list[0].length){var buf=list[0];ret=buf.slice(0,n),list[0]=buf.slice(n)}else if(n===list[0].length)ret=list.shift();else{ret=stringMode?"":new Buffer(n);for(var c=0,i=0,l=list.length;l>i&&n>c;i++){var buf=list[0],cpy=Math.min(n-c,buf.length);stringMode?ret+=buf.slice(0,cpy):buf.copy(ret,c,0,cpy),cpy<buf.length?list[0]=buf.slice(cpy):list.shift(),c+=cpy}}return 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;l>i;i++)f(xs[i],i)}function indexOf(xs,x){for(var i=0,l=xs.length;l>i;i++)if(xs[i]===x)return i;return-1}module.exports=Readable;var processNextTick=require("process-nextick-args"),isArray=require("isarray"),Buffer=require("buffer").Buffer;Readable.ReadableState=ReadableState;var Stream,EElistenerCount=(require("events"),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,util=require("core-util-is");util.inherits=require("inherits");var debug,debugUtil=require("util");debug=debugUtil&&debugUtil.debuglog?debugUtil.debuglog("stream"):function(){};var StringDecoder;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=new Buffer(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);var state=this._readableState,nOrig=n;if(("number"!=typeof n||n>0)&&(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),doRead&&!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&&0===state.length&&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");var ret=dest.write(chunk);!1===ret&&(1!==state.pipesCount||state.pipes[0]!==dest||1!==src.listenerCount("data")||cleanedUp||(debug("false write response, pause",src._readableState.awaitDrain),src._readableState.awaitDrain++),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;return src.on("data",ondata),dest._events&&dest._events.error?isArray(dest._events.error)?dest._events.error.unshift(onerror):dest._events.error=[onerror,dest._events.error]:dest.on("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;len>i;i++)dests[i].emit("unpipe",this);return this}var i=indexOf(state.pipes,dest);return-1===i?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&&!1!==this._readableState.flowing&&this.resume(),"readable"===ev&&this.readable){var state=this._readableState;state.readableListening||(state.readableListening=!0,state.emittedReadable=!1,state.needReadable=!0,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":13,_process:10,buffer:2,"core-util-is":18,events:6,inherits:7,isarray:9,"process-nextick-args":19,"string_decoder/":26,util:1}],16:[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}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&&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":13,"core-util-is":18,inherits:7}],17:[function(require,module,exports){"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){var 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}function Writable(options){var Duplex=require("./_stream_duplex");return 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;if(!Buffer.isBuffer(chunk)&&"string"!=typeof chunk&&null!==chunk&&void 0!==chunk&&!state.objectMode){var er=new TypeError("Invalid non-string/buffer chunk");stream.emit("error",er),processNextTick(cb,er),valid=!1}return valid}function decodeChunk(state,chunk,encoding){return state.objectMode||state.decodeStrings===!1||"string"!=typeof chunk||(chunk=new Buffer(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}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?processNextTick(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){for(var buffer=[],cbs=[];entry;)cbs.push(entry.callback),buffer.push(entry),entry=entry.next;state.pendingcb++,state.lastBufferedRequest=null,doWrite(stream,state,!0,state.length,buffer,"",function(err){for(var i=0;i<cbs.length;i++)state.pendingcb--,cbs[i](err)})}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.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}module.exports=Writable;var processNextTick=require("process-nextick-args"),Buffer=require("buffer").Buffer;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;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(_){}}(),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);this._writableState.defaultEncoding=encoding},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)}},{"./_stream_duplex":13,buffer:2,"core-util-is":18,events:6,inherits:7,"process-nextick-args":19,"util-deprecate":20}],18:[function(require,module,exports){(function(Buffer){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 isBuffer(arg){return Buffer.isBuffer(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=isBuffer}).call(this,{isBuffer:require("../../../../insert-module-globals/node_modules/is-buffer/index.js")})},{"../../../../insert-module-globals/node_modules/is-buffer/index.js":8}],19:[function(require,module,exports){(function(process){"use strict";function nextTick(fn){for(var args=new Array(arguments.length-1),i=0;i<args.length;)args[i++]=arguments[i];process.nextTick(function(){fn.apply(null,args)})}module.exports=nextTick}).call(this,require("_process"))},{_process:10}],20:[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?!1:"true"===String(val).toLowerCase()}module.exports=deprecate}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],21:[function(require,module,exports){module.exports=require("./lib/_stream_passthrough.js")},{"./lib/_stream_passthrough.js":14}],22:[function(require,module,exports){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")},{"./lib/_stream_duplex.js":13,"./lib/_stream_passthrough.js":14,"./lib/_stream_readable.js":15,"./lib/_stream_transform.js":16,"./lib/_stream_writable.js":17}],23:[function(require,module,exports){module.exports=require("./lib/_stream_transform.js")},{"./lib/_stream_transform.js":16}],24:[function(require,module,exports){module.exports=require("./lib/_stream_writable.js")},{"./lib/_stream_writable.js":17}],25:[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:6,inherits:7,"readable-stream/duplex.js":12,"readable-stream/passthrough.js":21,"readable-stream/readable.js":22,"readable-stream/transform.js":23,"readable-stream/writable.js":24}],26:[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&&56319>=charCode)){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&&56319>=charCode){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(2>=i&&c>>4==14){this.charLength=3;break}if(3>=i&&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:2}],27:[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}},{}],28:[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(0>recurseTimes)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;l>i;++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 10>n?"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];len>i;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":27,_process:10,inherits:7}],29:[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.descriptionTypes.indexOf("rtp")>=0?new MediaSession(opts):opts.descriptionTypes.indexOf("filetransfer")>=0?new FileSession(opts):void 0},this.performTieBreak=conf.performTieBreak||function(sess,req){var descriptionTypes=req.jingle.contents.map(function(content){return content.description?content.description.descType:void 0}),matching=intersect(sess.pendingDescriptionTypes,descriptionTypes);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||[],descriptionTypes=contents.map(function(content){return content.description?content.description.descType:void 0}),transportTypes=contents.map(function(content){return content.transport?content.transport.transType:void 0});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;len>i;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,descriptionTypes:descriptionTypes,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:31,"jingle-filetransfer-session":32,"jingle-media-session":86,"jingle-session":118,util:28,webrtcsupport:123,wildemitter:124}],30:[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}},{}],31:[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}},{}],32:[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.description={descType:"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].description={descType:"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].description;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].description={descType:"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].description={descType:"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].description.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":30,"filetransfer/hashed":34,"jingle-session":118,rtcpeerconnection:85,util:28}],33:[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:28,wildemitter:53}],34:[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":33,"iana-hashes":35,util:28,wildemitter:53}],35:[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;len>i;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":36,"create-hash":37,"create-hmac":51}],36:[function(require,module,exports){module.exports=function(){return["sha1","sha224","sha256","sha384","sha512","md5","rmd160"]}},{}],37:[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":39,buffer:2,"cipher-base":40,inherits:41,ripemd160:42,"sha.js":44}],38:[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:2}],39:[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":38}],40:[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,final){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 final&&(out+=this._decoder.end()),out}}).call(this,require("buffer").Buffer)},{buffer:2,inherits:41,stream:25,string_decoder:26}],41:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],42:[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;16>i;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;80>i;i+=1)t=al+M[offset+zl[i]]|0,t+=16>i?f1(bl,cl,dl)+hl[0]:32>i?f2(bl,cl,dl)+hl[1]:48>i?f3(bl,cl,dl)+hl[2]:64>i?f4(bl,cl,dl)+hl[3]:f5(bl,cl,dl)+hl[4],t=0|t,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+=16>i?f5(br,cr,dr)+hr[0]:32>i?f4(br,cr,dr)+hr[1]:48>i?f3(br,cr,dr)+hr[2]:64>i?f2(br,cr,dr)+hr[3]:f1(br,cr,dr)+hr[4],t=0|t,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;5>i;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)}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:2}],43:[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;l>s;){for(var t=Math.min(data.length,f+this._blockSize-s%this._blockSize),ch=t-f,i=0;ch>i;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:2}],44:[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":45,"./sha1":46,"./sha224":47,"./sha256":48,"./sha384":49,"./sha512":50}],45:[function(require,module,exports){(function(Buffer){function Sha(){this.init(),this._w=W,Hash.call(this,64,56)}function rol(num,cnt){return num<<cnt|num>>>32-cnt}var inherits=require("inherits"),Hash=require("./hash"),W=new Array(80);inherits(Sha,Hash),Sha.prototype.init=function(){return this._a=1732584193,this._b=-271733879,this._c=-1732584194,this._d=271733878,this._e=-1009589776,this},Sha.prototype._update=function(M){function calcW(){return W[j-3]^W[j-8]^W[j-14]^W[j-16]}function loop(w,f){W[j]=w;var t=rol(a,5)+f+e+w+k;e=d,d=c,c=rol(b,30),b=a,a=t,j++}var k,W=this._w,a=this._a,b=this._b,c=this._c,d=this._d,e=this._e,j=0;for(k=1518500249;16>j;)loop(M.readInt32BE(4*j),b&c|~b&d);for(;20>j;)loop(calcW(),b&c|~b&d);for(k=1859775393;40>j;)loop(calcW(),b^c^d);for(k=-1894007588;60>j;)loop(calcW(),b&c|b&d|c&d);for(k=-899497514;80>j;)loop(calcW(),b^c^d);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":43,buffer:2,inherits:41}],46:[function(require,module,exports){(function(Buffer){function Sha1(){this.init(),this._w=W,Hash.call(this,64,56)}function rol(num,cnt){return num<<cnt|num>>>32-cnt}var inherits=require("inherits"),Hash=require("./hash"),W=new Array(80);inherits(Sha1,Hash),Sha1.prototype.init=function(){return this._a=1732584193,this._b=-271733879,this._c=-1732584194,this._d=271733878,this._e=-1009589776,this},Sha1.prototype._update=function(M){function calcW(){return rol(W[j-3]^W[j-8]^W[j-14]^W[j-16],1)}function loop(w,f){W[j]=w;var t=rol(a,5)+f+e+w+k;e=d,d=c,c=rol(b,30),b=a,a=t,j++}var k,W=this._w,a=this._a,b=this._b,c=this._c,d=this._d,e=this._e,j=0;for(k=1518500249;16>j;)loop(M.readInt32BE(4*j),b&c|~b&d);for(;20>j;)loop(calcW(),b&c|~b&d);for(k=1859775393;40>j;)loop(calcW(),b^c^d);for(k=-1894007588;60>j;)loop(calcW(),b&c|b&d|c&d);
+for(k=-899497514;80>j;)loop(calcW(),b^c^d);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":43,buffer:2,inherits:41}],47:[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=-1056596264,this._b=914150663,this._c=812702999,this._d=-150054599,this._e=-4191439,this._f=1750603025,this._g=1694076839,this._h=-1090891868,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":43,"./sha256":48,buffer:2,inherits:41}],48:[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=-1150833019,this._c=1013904242,this._d=-1521486534,this._e=1359893119,this._f=-1694144372,this._g=528734635,this._h=1541459225,this},Sha256.prototype._update=function(M){function calcW(){return Gamma1(W[j-2])+W[j-7]+Gamma0(W[j-15])+W[j-16]}function loop(w){W[j]=w;var T1=h+Sigma1(e)+Ch(e,f,g)+K[j]+w,T2=Sigma0(a)+Maj(a,b,c);h=g,g=f,f=e,e=d+T1,d=c,c=b,b=a,a=T1+T2,j++}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,j=0;16>j;)loop(M.readInt32BE(4*j));for(;64>j;)loop(calcW());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":43,buffer:2,inherits:41}],49:[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._a=-876896931,this._b=1654270250,this._c=-1856437926,this._d=355462360,this._e=1731405415,this._f=-1900787065,this._g=-619958771,this._h=1203062813,this._al=-1056596264,this._bl=914150663,this._cl=812702999,this._dl=-150054599,this._el=-4191439,this._fl=1750603025,this._gl=1694076839,this._hl=-1090891868,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._a,this._al,0),writeInt64BE(this._b,this._bl,8),writeInt64BE(this._c,this._cl,16),writeInt64BE(this._d,this._dl,24),writeInt64BE(this._e,this._el,32),writeInt64BE(this._f,this._fl,40),H},module.exports=Sha384}).call(this,require("buffer").Buffer)},{"./hash":43,"./sha512":50,buffer:2,inherits:41}],50:[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)}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._a=1779033703,this._b=-1150833019,this._c=1013904242,this._d=-1521486534,this._e=1359893119,this._f=-1694144372,this._g=528734635,this._h=1541459225,this._al=-205731576,this._bl=-2067093701,this._cl=-23791573,this._dl=1595750129,this._el=-1377402159,this._fl=725511199,this._gl=-79577749,this._hl=327033209,this},Sha512.prototype._update=function(M){function calcW(){var x=W[j-30],xl=W[j-30+1],gamma0=Gamma0(x,xl),gamma0l=Gamma0l(xl,x);x=W[j-4],xl=W[j-4+1];var gamma1=Gamma1(x,xl),gamma1l=Gamma1l(xl,x),Wi7=W[j-14],Wi7l=W[j-14+1],Wi16=W[j-32],Wi16l=W[j-32+1];Wil=gamma0l+Wi7l,Wi=gamma0+Wi7+(gamma0l>>>0>Wil>>>0?1:0),Wil+=gamma1l,Wi=Wi+gamma1+(gamma1l>>>0>Wil>>>0?1:0),Wil+=Wi16l,Wi=Wi+Wi16+(Wi16l>>>0>Wil>>>0?1:0)}function loop(){W[j]=Wi,W[j+1]=Wil;var maj=Maj(a,b,c),majl=Maj(al,bl,cl),sigma0h=Sigma0(a,al),sigma0l=Sigma0(al,a),sigma1h=Sigma1(e,el),sigma1l=Sigma1(el,e),Ki=K[j],Kil=K[j+1],ch=Ch(e,f,g),chl=Ch(el,fl,gl),t1l=hl+sigma1l,t1=h+sigma1h+(hl>>>0>t1l>>>0?1:0);t1l+=chl,t1=t1+ch+(chl>>>0>t1l>>>0?1:0),t1l+=Kil,t1=t1+Ki+(Kil>>>0>t1l>>>0?1:0),t1l+=Wil,t1=t1+Wi+(Wil>>>0>t1l>>>0?1:0);var t2l=sigma0l+majl,t2=sigma0h+maj+(sigma0l>>>0>t2l>>>0?1:0);h=g,hl=gl,g=f,gl=fl,f=e,fl=el,el=dl+t1l|0,e=d+t1+(dl>>>0>el>>>0?1:0)|0,d=c,dl=cl,c=b,cl=bl,b=a,bl=al,al=t1l+t2l|0,a=t1+t2+(t1l>>>0>al>>>0?1:0)|0,i++,j+=2}for(var Wi,Wil,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,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,j=0;16>i;)Wi=M.readInt32BE(4*j),Wil=M.readInt32BE(4*j+4),loop();for(;80>i;)calcW(),loop();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._a=this._a+a+(this._al>>>0<al>>>0?1:0)|0,this._b=this._b+b+(this._bl>>>0<bl>>>0?1:0)|0,this._c=this._c+c+(this._cl>>>0<cl>>>0?1:0)|0,this._d=this._d+d+(this._dl>>>0<dl>>>0?1:0)|0,this._e=this._e+e+(this._el>>>0<el>>>0?1:0)|0,this._f=this._f+f+(this._fl>>>0<fl>>>0?1:0)|0,this._g=this._g+g+(this._gl>>>0<gl>>>0?1:0)|0,this._h=this._h+h+(this._hl>>>0<hl>>>0?1:0)|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._a,this._al,0),writeInt64BE(this._b,this._bl,8),writeInt64BE(this._c,this._cl,16),writeInt64BE(this._d,this._dl,24),writeInt64BE(this._e,this._el,32),writeInt64BE(this._f,this._fl,40),writeInt64BE(this._g,this._gl,48),writeInt64BE(this._h,this._hl,56),H},module.exports=Sha512}).call(this,require("buffer").Buffer)},{"./hash":43,buffer:2,inherits:41}],51:[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;blocksize>i;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:2,"create-hash/browser":37,inherits:52,stream:25}],52:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],53:[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;len>i;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;len>i&&listeners[i];++i)listeners[i].apply(this,args);if(specialCallbacks)for(len=specialCallbacks.length,listeners=specialCallbacks.slice(),i=0,len=listeners.length;len>i&&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)},{}],54:[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":55,"lodash._baseeach":56,"lodash._bindcallback":60,"lodash.isarray":61}],55:[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},{}],56:[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&&MAX_SAFE_INTEGER>=value}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":57}],57:[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&&length>value}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&MAX_SAFE_INTEGER>=value}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":58,"lodash.isarguments":59,"lodash.isarray":61}],58:[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?!1: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},{}],59:[function(require,module,exports){function isObjectLike(value){return!!value&&"object"==typeof value}function baseProperty(key){return function(object){return null==object?void 0:object[key]}}function isArrayLike(value){return null!=value&&isLength(getLength(value))}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&MAX_SAFE_INTEGER>=value}function isArguments(value){return isObjectLike(value)&&isArrayLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")}var objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,propertyIsEnumerable=objectProto.propertyIsEnumerable,MAX_SAFE_INTEGER=9007199254740991,getLength=baseProperty("length");module.exports=isArguments},{}],60:[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},{}],61:[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&&MAX_SAFE_INTEGER>=value}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?!1: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},{}],62:[function(require,module,exports){function baseProperty(key){return function(object){return null==object?void 0:object[key]}}function basePropertyDeep(path){var pathKey=path+"";return path=toPath(path),function(object){return baseGet(object,path,pathKey)}}function isKey(value,object){var type=typeof value;if("string"==type&&reIsPlainProp.test(value)||"number"==type)return!0;if(isArray(value))return!1;var result=!reIsDeepProp.test(value);return result||null!=object&&value in toObject(object)}function toObject(value){return isObject(value)?value:Object(value)}function pluck(collection,path){return map(collection,property(path))}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}function property(path){return isKey(path)?baseProperty(path):basePropertyDeep(path)}var baseGet=require("lodash._baseget"),toPath=require("lodash._topath"),isArray=require("lodash.isarray"),map=require("lodash.map"),reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;module.exports=pluck},{"lodash._baseget":63,"lodash._topath":64,"lodash.isarray":65,"lodash.map":66}],63:[function(require,module,exports){function baseGet(object,path,pathKey){if(null!=object){void 0!==pathKey&&pathKey in toObject(object)&&(path=[pathKey]);for(var index=0,length=path.length;null!=object&&length>index;)object=object[path[index++]];return index&&index==length?object:void 0}}function toObject(value){return isObject(value)?value:Object(value)}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}module.exports=baseGet},{}],64:[function(require,module,exports){function baseToString(value){return null==value?"":value+""}function toPath(value){if(isArray(value))return value;var result=[];return baseToString(value).replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,"$1"):number||match)}),result}var isArray=require("lodash.isarray"),rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,reEscapeChar=/\\(\\)?/g;module.exports=toPath},{"lodash.isarray":65}],65:[function(require,module,exports){arguments[4][61][0].apply(exports,arguments)},{dup:61}],66:[function(require,module,exports){function baseMap(collection,iteratee){var index=-1,result=isArrayLike(collection)?Array(collection.length):[];return baseEach(collection,function(value,key,collection){result[++index]=iteratee(value,key,collection)}),result}function baseProperty(key){return function(object){return null==object?void 0:object[key]}}function isArrayLike(value){return null!=value&&isLength(getLength(value))}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&MAX_SAFE_INTEGER>=value}function map(collection,iteratee,thisArg){var func=isArray(collection)?arrayMap:baseMap;return iteratee=baseCallback(iteratee,thisArg,3),func(collection,iteratee)}var arrayMap=require("lodash._arraymap"),baseCallback=require("lodash._basecallback"),baseEach=require("lodash._baseeach"),isArray=require("lodash.isarray"),MAX_SAFE_INTEGER=9007199254740991,getLength=baseProperty("length");module.exports=map},{"lodash._arraymap":67,"lodash._basecallback":68,"lodash._baseeach":73,"lodash.isarray":65}],67:[function(require,module,exports){function arrayMap(array,iteratee){for(var index=-1,length=array.length,result=Array(length);++index<length;)result[index]=iteratee(array[index],index,array);return result}module.exports=arrayMap},{}],68:[function(require,module,exports){function baseToString(value){return null==value?"":value+""}function baseCallback(func,thisArg,argCount){var type=typeof func;return"function"==type?void 0===thisArg?func:bindCallback(func,thisArg,argCount):null==func?identity:"object"==type?baseMatches(func):void 0===thisArg?property(func):baseMatchesProperty(func,thisArg)}function baseGet(object,path,pathKey){if(null!=object){void 0!==pathKey&&pathKey in toObject(object)&&(path=[pathKey]);for(var index=0,length=path.length;null!=object&&length>index;)object=object[path[index++]];return index&&index==length?object:void 0}}function baseIsMatch(object,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(null==object)return!length;for(object=toObject(object);index--;){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object))return!1}for(;++index<length;){data=matchData[index];var key=data[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(void 0===objValue&&!(key in object))return!1}else{var result=customizer?customizer(objValue,srcValue,key):void 0;if(!(void 0===result?baseIsEqual(srcValue,objValue,customizer,!0):result))return!1}}return!0}function baseMatches(source){var matchData=getMatchData(source);if(1==matchData.length&&matchData[0][2]){var key=matchData[0][0],value=matchData[0][1];return function(object){return null==object?!1:object[key]===value&&(void 0!==value||key in toObject(object))}}return function(object){return baseIsMatch(object,matchData)}}function baseMatchesProperty(path,srcValue){var isArr=isArray(path),isCommon=isKey(path)&&isStrictComparable(srcValue),pathKey=path+"";return path=toPath(path),function(object){if(null==object)return!1;var key=pathKey;if(object=toObject(object),(isArr||!isCommon)&&!(key in object)){if(object=1==path.length?object:baseGet(object,baseSlice(path,0,-1)),null==object)return!1;key=last(path),object=toObject(object)}return object[key]===srcValue?void 0!==srcValue||key in object:baseIsEqual(srcValue,object[key],void 0,!0)}}function baseProperty(key){return function(object){return null==object?void 0:object[key]}}function basePropertyDeep(path){var pathKey=path+"";return path=toPath(path),function(object){return baseGet(object,path,pathKey)}}function baseSlice(array,start,end){var index=-1,length=array.length;start=null==start?0:+start||0,0>start&&(start=-start>length?0:length+start),end=void 0===end||end>length?length:+end||0,0>end&&(end+=length),length=start>end?0:end-start>>>0,start>>>=0;for(var result=Array(length);++index<length;)result[index]=array[index+start];return result}function getMatchData(object){for(var result=pairs(object),length=result.length;length--;)result[length][2]=isStrictComparable(result[length][1]);return result}function isKey(value,object){var type=typeof value;if("string"==type&&reIsPlainProp.test(value)||"number"==type)return!0;if(isArray(value))return!1;var result=!reIsDeepProp.test(value);return result||null!=object&&value in toObject(object)}function isStrictComparable(value){return value===value&&!isObject(value)}function toObject(value){return isObject(value)?value:Object(value)}function toPath(value){if(isArray(value))return value;var result=[];return baseToString(value).replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,"$1"):number||match)}),result}function last(array){var length=array?array.length:0;return length?array[length-1]:void 0}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}function identity(value){return value}function property(path){return isKey(path)?baseProperty(path):basePropertyDeep(path)}var baseIsEqual=require("lodash._baseisequal"),bindCallback=require("lodash._bindcallback"),isArray=require("lodash.isarray"),pairs=require("lodash.pairs"),reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,reEscapeChar=/\\(\\)?/g;module.exports=baseCallback},{"lodash._baseisequal":69,"lodash._bindcallback":71,"lodash.isarray":65,"lodash.pairs":72}],69:[function(require,module,exports){function isObjectLike(value){return!!value&&"object"==typeof value}function arraySome(array,predicate){for(var index=-1,length=array.length;++index<length;)if(predicate(array[index],index,array))return!0;return!1}function baseIsEqual(value,other,customizer,isLoose,stackA,stackB){return value===other?!0:null==value||null==other||!isObject(value)&&!isObjectLike(other)?value!==value&&other!==other:baseIsEqualDeep(value,other,baseIsEqual,customizer,isLoose,stackA,stackB)}function baseIsEqualDeep(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=arrayTag,othTag=arrayTag;objIsArr||(objTag=objToString.call(object),objTag==argsTag?objTag=objectTag:objTag!=objectTag&&(objIsArr=isTypedArray(object))),othIsArr||(othTag=objToString.call(other),othTag==argsTag?othTag=objectTag:othTag!=objectTag&&(othIsArr=isTypedArray(other)));var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&!objIsArr&&!objIsObj)return equalByTag(object,other,objTag);if(!isLoose){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped)return equalFunc(objIsWrapped?object.value():object,othIsWrapped?other.value():other,customizer,isLoose,stackA,stackB)}if(!isSameTag)return!1;stackA||(stackA=[]),stackB||(stackB=[]);for(var length=stackA.length;length--;)if(stackA[length]==object)return stackB[length]==other;stackA.push(object),stackB.push(other);var result=(objIsArr?equalArrays:equalObjects)(object,other,equalFunc,customizer,isLoose,stackA,stackB);return stackA.pop(),stackB.pop(),result}function equalArrays(array,other,equalFunc,customizer,isLoose,stackA,stackB){var index=-1,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isLoose&&othLength>arrLength))return!1;for(;++index<arrLength;){var arrValue=array[index],othValue=other[index],result=customizer?customizer(isLoose?othValue:arrValue,isLoose?arrValue:othValue,index):void 0;if(void 0!==result){if(result)continue;return!1}if(isLoose){if(!arraySome(other,function(othValue){return arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB)}))return!1}else if(arrValue!==othValue&&!equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB))return!1}return!0}function equalByTag(object,other,tag){switch(tag){case boolTag:case dateTag:return+object==+other;case errorTag:return object.name==other.name&&object.message==other.message;case numberTag:return object!=+object?other!=+other:object==+other;case regexpTag:case stringTag:return object==other+""}return!1}function equalObjects(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objProps=keys(object),objLength=objProps.length,othProps=keys(other),othLength=othProps.length;if(objLength!=othLength&&!isLoose)return!1;for(var index=objLength;index--;){
+var key=objProps[index];if(!(isLoose?key in other:hasOwnProperty.call(other,key)))return!1}for(var skipCtor=isLoose;++index<objLength;){key=objProps[index];var objValue=object[key],othValue=other[key],result=customizer?customizer(isLoose?othValue:objValue,isLoose?objValue:othValue,key):void 0;if(!(void 0===result?equalFunc(objValue,othValue,customizer,isLoose,stackA,stackB):result))return!1;skipCtor||(skipCtor="constructor"==key)}if(!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&"constructor"in object&&"constructor"in other&&!("function"==typeof objCtor&&objCtor instanceof objCtor&&"function"==typeof othCtor&&othCtor instanceof othCtor))return!1}return!0}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}var isArray=require("lodash.isarray"),isTypedArray=require("lodash.istypedarray"),keys=require("lodash.keys"),argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",stringTag="[object String]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString;module.exports=baseIsEqual},{"lodash.isarray":65,"lodash.istypedarray":70,"lodash.keys":74}],70:[function(require,module,exports){function isObjectLike(value){return!!value&&"object"==typeof value}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&MAX_SAFE_INTEGER>=value}function isTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[objToString.call(value)]}var argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",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]",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var objectProto=Object.prototype,objToString=objectProto.toString,MAX_SAFE_INTEGER=9007199254740991;module.exports=isTypedArray},{}],71:[function(require,module,exports){arguments[4][60][0].apply(exports,arguments)},{dup:60}],72:[function(require,module,exports){function toObject(value){return isObject(value)?value:Object(value)}function isObject(value){var type=typeof value;return!!value&&("object"==type||"function"==type)}function pairs(object){object=toObject(object);for(var index=-1,props=keys(object),length=props.length,result=Array(length);++index<length;){var key=props[index];result[index]=[key,object[key]]}return result}var keys=require("lodash.keys");module.exports=pairs},{"lodash.keys":74}],73:[function(require,module,exports){arguments[4][56][0].apply(exports,arguments)},{dup:56,"lodash.keys":74}],74:[function(require,module,exports){arguments[4][57][0].apply(exports,arguments)},{dup:57,"lodash._getnative":75,"lodash.isarguments":76,"lodash.isarray":65}],75:[function(require,module,exports){arguments[4][58][0].apply(exports,arguments)},{dup:58}],76:[function(require,module,exports){arguments[4][59][0].apply(exports,arguments)},{dup:59}],77:[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":80,"./lib/tosdp":81}],78:[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]}}},{}],79:[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"}}}},{}],80:[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,description:{descType:"rtp",media:mline.media,payloads:[],encryption:[],feedback:[],headerExtensions:[]},transport:{transType:"iceUdp",candidates:[],fingerprints:[]}};"application"==mline.media&&(content.description={descType:"datachannel"},content.transport.sctp=[]);var desc=content.description,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.descType){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.descType){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":78,"./senders":79}],81:[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","a=msid-semantic: WMS *"],groups=session.groups||[];groups.forEach(function(group){sdp.push("a=group:"+group.semantics+" "+group.contents.join(" "))});var contents=session.contents||[];return 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.description,transport=content.transport,payloads=desc.payloads||[],fingerprints=transport&&transport.fingerprints||[],mline=[];if("datachannel"==desc.descType?(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"),desc.encryption&&desc.encryption.length>0||fingerprints.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.descType&&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.descType&&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":79}],82:[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-test"),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;this.trace("setLocalDescription",dumpSDP(description)),this.peerconnection.setLocalDescription(description,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;this.trace("setRemoteDescription",dumpSDP(description)),this.peerconnection.setRemoteDescription(description,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;this.trace("createOffer",constraints),this.peerconnection.createOffer(function(offer){self.trace("createOfferOnSuccess",dumpSDP(offer)),successCallback&&successCallback(offer)},function(err){self.trace("createOfferOnFailure",err),failureCallback&&failureCallback(err)},constraints)},TraceablePeerConnection.prototype.createAnswer=function(successCallback,failureCallback,constraints){var self=this;this.trace("createAnswer",constraints),this.peerconnection.createAnswer(function(answer){self.trace("createAnswerOnSuccess",dumpSDP(answer)),successCallback&&successCallback(answer)},function(err){self.trace("createAnswerOnFailure",err),failureCallback&&failureCallback(err)},constraints)},TraceablePeerConnection.prototype.addIceCandidate=function(candidate,successCallback,failureCallback){var self=this;this.trace("addIceCandidate",candidate),this.peerconnection.addIceCandidate(candidate,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:28,"webrtc-adapter-test":83,wildemitter:84}],83:[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])}};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&&window.mozRTCPeerConnection){if(webrtcUtils.log("This appears to be Firefox"),webrtcDetectedBrowser="firefox",webrtcDetectedVersion=webrtcUtils.extractVersion(navigator.userAgent,/Firefox\/([0-9]+)\./,1),webrtcMinimumVersion=31,window.RTCPeerConnection=function(pcConfig,pcConstraints){if(38>webrtcDetectedVersion&&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.RTCSessionDescription||(window.RTCSessionDescription=mozRTCSessionDescription),window.RTCIceCandidate||(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 38>webrtcDetectedVersion&&(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)})},41>webrtcDetectedVersion){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},["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 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),webrtcMinimumVersion=12):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";var webrtcTesting={};try{Object.defineProperty(webrtcTesting,"version",{set:function(version){webrtcDetectedVersion=version}})}catch(e){}if("undefined"!=typeof module){var RTCPeerConnection;"undefined"!=typeof window&&(RTCPeerConnection=window.RTCPeerConnection),module.exports={RTCPeerConnection:RTCPeerConnection,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,getUserMedia:getUserMedia,attachMediaStream:attachMediaStream,reattachMediaStream:reattachMediaStream,webrtcDetectedBrowser:webrtcDetectedBrowser,webrtcDetectedVersion:webrtcDetectedVersion,webrtcMinimumVersion:webrtcMinimumVersion,webrtcTesting:webrtcTesting,webrtcUtils:webrtcUtils}})},{}],84:[function(require,module,exports){arguments[4][53][0].apply(exports,arguments)},{dup:53}],85:[function(require,module,exports){function PeerConnection(config,constraints){var item,self=this;WildEmitter.call(this),config=config||{},config.iceServers=config.iceServers||[],this.enableChromeNativeSimulcast=!1,constraints&&constraints.optional&&"chrome"===adapter.webrtcDetectedBrowser&&null===navigator.appVersion.match(/Chromium\//)&&constraints.optional.forEach(function(constraint){constraint.enableChromeNativeSimulcast&&(self.enableChromeNativeSimulcast=!0)}),this.enableMultiStreamHacks=!1,constraints&&constraints.optional&&"chrome"===adapter.webrtcDetectedBrowser&&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"===adapter.webrtcDetectedBrowser&&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"===adapter.webrtcDetectedBrowser&&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,ice:{},sid:"",isInitiator:!0,sdpSessionID:Date.now(),useJingle:!1};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"),each=require("lodash.foreach"),pluck=require("lodash.pluck"),SJJ=require("sdp-jingle-json"),WildEmitter=require("wildemitter"),peerconn=require("traceablepeerconnection"),adapter=require("webrtc-adapter-test");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),-1!=cand.ip.indexOf(":")&&(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),-1!=cand.ip.indexOf(":")&&(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=pluck(this.remoteDescription.contents,"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;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)})})}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:{mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:!0}};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,each(jingle.contents,function(content){var transport=content.transport||{};transport.ufrag&&(self.config.ice[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.description.googConferenceFlag=!0)}),this.enableMultiStreamHacks&&offer.jingle.contents.forEach(function(content){if("video"===content.name){var sources=content.description.sources||[];(0===sources.length||"3735928559"!==sources[0].ssrc)&&(sources.unshift({ssrc:"3735928559",parameters:[{key:"cname",value:"deadbeef"},{key:"msid",value:"mixyourfecintothis please"}]}),content.description.sources=sources)}}),self.restrictBandwidth>0&&offer.jingle.contents.length>=2&&"video"===offer.jingle.contents[1].name){var content=offer.jingle.contents[1],hasBw=content.description&&content.description.bandwidth;hasBw||(offer.jingle.contents[1].description.bandwidth={type:"AS",bandwidth:self.restrictBandwidth.toString()},offer.sdp=SJJ.toSessionSDP(offer.jingle,{sid:self.config.sdpSessionID,role:self._role(),direction:"outgoing"}))}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.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].description.sourceGroups||[],hasSim=!1;if(groups.forEach(function(group){"SIM"==group.semantics&&(hasSim=!0)}),!hasSim&&answer.jingle.contents[1].description.sources.length){var newssrc=JSON.parse(JSON.stringify(answer.jingle.contents[1].description.sources[0]));newssrc.ssrc=""+Math.floor(4294967295*Math.random()),answer.jingle.contents[1].description.sources.push(newssrc),sim.push(answer.jingle.contents[1].description.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].description.sources.push(rtxssrc),groups.push({semantics:"FID",sources:[newssrc.ssrc,rtxssrc.ssrc]}),answer.jingle.contents[1].description.sourceGroups=groups,answer.sdp=SJJ.toSessionSDP(answer.jingle,{sid:self.config.sdpSessionID,role:self._role(),direction:"outgoing"})}}var expandedAnswer={type:"answer",sdp:answer.sdp};self.assumeSetLocalSuccess&&(self.emit("answer",expandedAnswer),cb(null,expandedAnswer)),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}self.enableChromeNativeSimulcast&&(expandedAnswer.jingle||(expandedAnswer.jingle=SJJ.toSessionJSON(answer.sdp,{role:self._role(),direction:"outgoing"})),expandedAnswer.jingle.contents[1].description.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||(self.emit("answer",expandedAnswer),cb(null,expandedAnswer))},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.config.ice[ice.sdpMid]){var jingle=SJJ.toSessionJSON(self.pc.localDescription.sdp,{role:self._role(),direction:"outgoing"});each(jingle.contents,function(content){var transport=content.transport||{};transport.ufrag&&(self.config.ice[content.name]={ufrag:transport.ufrag,pwd:transport.pwd})})}if(expandedCandidate.jingle={contents:[{name:ice.sdpMid,creator:self._role(),transport:{transType:"iceUdp",ufrag:self.config.ice[ice.sdpMid].ufrag,pwd:self.config.ice[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){"firefox"===adapter.webrtcDetectedBrowser?this.pc.getStats(function(res){var items=[];for(var result in res)"object"==typeof res[result]&&items.push(res[result]);cb(null,items)},cb):this.pc.getStats(function(res){var items=[];res.result().forEach(function(result){var item={};result.names().forEach(function(name){item[name]=result.stat(name)}),item.id=result.id,item.type=result.type,item.timestamp=result.timestamp,items.push(item)}),cb(null,items)})},module.exports=PeerConnection},{"lodash.foreach":54,"lodash.pluck":62,"sdp-jingle-json":77,traceablepeerconnection:82,util:28,"webrtc-adapter-test":83,wildemitter:84}],86:[function(require,module,exports){function filterContentSources(content,stream){"rtp"===content.description.descType&&(delete content.transport,delete content.description.payloads,delete content.description.headerExtensions,content.description.mux=!1,content.description.sources&&(content.description.sources=content.description.sources.filter(function(source){return stream.id===source.parameters[1].value.split(" ")[0]})),content.description.sourceGroups&&(content.description.sourceGroups=content.description.sourceGroups.filter(function(group){for(var found=!1,i=0;i<content.description.sources.length;i++)if(content.description.sources[i].ssrc===group.sources[0]){found=!0;break}return found})))}function filterUnusedLabels(content){var sources=content.description.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)),this.pc.on("endOfCandidates",this.onIceEndOfCandidates.bind(this)),this.pc.on("iceConnectionStateChange",this.onIceStateChange.bind(this)),this.pc.on("addStream",this.onAddStream.bind(this)),this.pc.on("removeStream",this.onRemoveStream.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.description.media;content.description&&"rtp"===content.description.descType&&(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(next){var self=this;next=next||function(){},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")):(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.description.descType&&content.description.sources&&content.description.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.description.descType&&content.description.sources&&content.description.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.description.payloads}),this.pc.removeStream(oldStream),this.send("source-remove",desc);var audioTracks=oldStream.getAudioTracks();audioTracks.length&&newStream.addTrack(audioTracks[0]),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.description.payloads}),self.send("source-add",answer.jingle),void cb())})})},onIceCandidate:function(candidate){this._log("info","Discovered new ICE candidate",candidate.jingle),this.send("transport-info",candidate.jingle)},onIceEndOfCandidates:function(){this._log("info","ICE end of candidates")},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.description,ssrcs=desc.sources||[],groups=desc.sourceGroups||[];changes.contents.forEach(function(newContent){if(content.name===newContent.name){var newContentDesc=newContent.description,newSSRCs=newContentDesc.sources||[];ssrcs=ssrcs.concat(newSSRCs),newDesc.contents[idx].description.sources=JSON.parse(JSON.stringify(ssrcs));var newGroups=newContentDesc.sourceGroups||[];groups=groups.concat(newGroups),newDesc.contents[idx].description.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.description,ssrcs=desc.sources||[],groups=desc.sourceGroups||[];changes.contents.forEach(function(newContent){if(content.name===newContent.name){var found,i,j,k,newContentDesc=newContent.description,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].description.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].description.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()})})}}),module.exports=MediaSession},{"extend-object":30,"jingle-session":118,rtcpeerconnection:117,util:28}],87:[function(require,module,exports){arguments[4][54][0].apply(exports,arguments)},{dup:54,"lodash._arrayeach":88,"lodash._baseeach":89,"lodash._bindcallback":93,"lodash.isarray":94}],88:[function(require,module,exports){arguments[4][55][0].apply(exports,arguments)},{dup:55}],89:[function(require,module,exports){arguments[4][56][0].apply(exports,arguments)},{dup:56,"lodash.keys":90}],90:[function(require,module,exports){arguments[4][57][0].apply(exports,arguments)},{dup:57,"lodash._getnative":91,"lodash.isarguments":92,"lodash.isarray":94}],91:[function(require,module,exports){arguments[4][58][0].apply(exports,arguments)},{dup:58}],92:[function(require,module,exports){arguments[4][59][0].apply(exports,arguments)},{dup:59}],93:[function(require,module,exports){arguments[4][60][0].apply(exports,arguments)},{dup:60}],94:[function(require,module,exports){arguments[4][61][0].apply(exports,arguments)},{dup:61}],95:[function(require,module,exports){arguments[4][62][0].apply(exports,arguments)},{dup:62,"lodash._baseget":96,"lodash._topath":97,"lodash.isarray":98,"lodash.map":99}],96:[function(require,module,exports){arguments[4][63][0].apply(exports,arguments)},{dup:63}],97:[function(require,module,exports){arguments[4][64][0].apply(exports,arguments)},{dup:64,"lodash.isarray":98}],98:[function(require,module,exports){arguments[4][61][0].apply(exports,arguments)},{dup:61}],99:[function(require,module,exports){arguments[4][66][0].apply(exports,arguments)},{dup:66,"lodash._arraymap":100,"lodash._basecallback":101,"lodash._baseeach":106,"lodash.isarray":98}],100:[function(require,module,exports){arguments[4][67][0].apply(exports,arguments)},{dup:67}],101:[function(require,module,exports){arguments[4][68][0].apply(exports,arguments)},{dup:68,"lodash._baseisequal":102,"lodash._bindcallback":104,"lodash.isarray":98,"lodash.pairs":105}],102:[function(require,module,exports){arguments[4][69][0].apply(exports,arguments)},{dup:69,"lodash.isarray":98,"lodash.istypedarray":103,"lodash.keys":107}],103:[function(require,module,exports){arguments[4][70][0].apply(exports,arguments)},{dup:70}],104:[function(require,module,exports){arguments[4][60][0].apply(exports,arguments)},{dup:60}],105:[function(require,module,exports){arguments[4][72][0].apply(exports,arguments)},{dup:72,"lodash.keys":107}],106:[function(require,module,exports){arguments[4][56][0].apply(exports,arguments)},{dup:56,"lodash.keys":107}],107:[function(require,module,exports){arguments[4][57][0].apply(exports,arguments)},{dup:57,"lodash._getnative":108,"lodash.isarguments":109,"lodash.isarray":98}],108:[function(require,module,exports){arguments[4][58][0].apply(exports,arguments)},{dup:58}],109:[function(require,module,exports){arguments[4][59][0].apply(exports,arguments)},{dup:59}],110:[function(require,module,exports){arguments[4][77][0].apply(exports,arguments)},{"./lib/tojson":113,"./lib/tosdp":114,dup:77}],111:[function(require,module,exports){arguments[4][78][0].apply(exports,arguments)},{dup:78}],112:[function(require,module,exports){arguments[4][79][0].apply(exports,arguments)},{dup:79}],113:[function(require,module,exports){arguments[4][80][0].apply(exports,arguments)},{"./parsers":111,"./senders":112,dup:80}],114:[function(require,module,exports){arguments[4][81][0].apply(exports,arguments)},{"./senders":112,dup:81}],115:[function(require,module,exports){arguments[4][82][0].apply(exports,arguments)},{dup:82,util:28,"webrtc-adapter-test":116,wildemitter:124}],116:[function(require,module,exports){arguments[4][83][0].apply(exports,arguments)},{dup:83}],117:[function(require,module,exports){arguments[4][85][0].apply(exports,arguments)},{dup:85,"lodash.foreach":87,"lodash.pluck":95,"sdp-jingle-json":110,traceablepeerconnection:115,util:28,"webrtc-adapter-test":116,wildemitter:124}],118:[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.pendingDescriptionTypes=opts.descriptionTypes||[],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:119,"extend-object":30,util:28,uuid:121,wildemitter:122}],119:[function(require,module,exports){(function(process){!function(){function only_once(fn){var called=!1;return function(){if(called)throw new Error("Callback was already called.");called=!0,fn.apply(root,arguments)}}var root,previous_async,async={};root=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)},_each=function(arr,iterator){for(var i=0;i<arr.length;i+=1)iterator(arr[i],i,arr)},_map=function(arr,iterator){if(arr.map)return arr.map(iterator);var results=[];return _each(arr,function(x,i,a){results.push(iterator(x,i,a))}),results},_reduce=function(arr,iterator,memo){return arr.reduce?arr.reduce(iterator,memo):(_each(arr,function(x,i,a){memo=iterator(memo,x,i,a)}),memo)},_keys=function(obj){if(Object.keys)return Object.keys(obj);var keys=[];for(var k in obj)obj.hasOwnProperty(k)&&keys.push(k);return keys};"undefined"!=typeof process&&process.nextTick?(async.nextTick=process.nextTick,"undefined"!=typeof setImmediate?async.setImmediate=function(fn){setImmediate(fn)}:async.setImmediate=async.nextTick):"function"==typeof setImmediate?(async.nextTick=function(fn){setImmediate(fn)},async.setImmediate=async.nextTick):(async.nextTick=function(fn){setTimeout(fn,0)},async.setImmediate=async.nextTick),async.each=function(arr,iterator,callback){function done(err){err?(callback(err),callback=function(){}):(completed+=1,completed>=arr.length&&callback())}if(callback=callback||function(){},!arr.length)return callback();var completed=0;_each(arr,function(x){iterator(x,only_once(done))})},async.forEach=async.each,async.eachSeries=function(arr,iterator,callback){if(callback=callback||function(){},!arr.length)return callback();var completed=0,iterate=function(){iterator(arr[completed],function(err){err?(callback(err),callback=function(){}):(completed+=1,completed>=arr.length?callback():iterate())})};iterate()},async.forEachSeries=async.eachSeries,async.eachLimit=function(arr,limit,iterator,callback){var fn=_eachLimit(limit);fn.apply(null,[arr,iterator,callback])},async.forEachLimit=async.eachLimit;var _eachLimit=function(limit){return function(arr,iterator,callback){if(callback=callback||function(){},!arr.length||0>=limit)return callback();var completed=0,started=0,running=0;!function replenish(){if(completed>=arr.length)return callback();for(;limit>running&&started<arr.length;)started+=1,running+=1,iterator(arr[started-1],function(err){err?(callback(err),callback=function(){}):(completed+=1,running-=1,completed>=arr.length?callback():replenish())})}()}},doParallel=function(fn){return function(){var args=Array.prototype.slice.call(arguments);return fn.apply(null,[async.each].concat(args))}},doParallelLimit=function(limit,fn){return function(){var args=Array.prototype.slice.call(arguments);return fn.apply(null,[_eachLimit(limit)].concat(args))}},doSeries=function(fn){return function(){var args=Array.prototype.slice.call(arguments);return fn.apply(null,[async.eachSeries].concat(args))}},_asyncMap=function(eachfn,arr,iterator,callback){if(arr=_map(arr,function(x,i){return{index:i,value:x}}),callback){var results=[];eachfn(arr,function(x,callback){iterator(x.value,function(err,v){results[x.index]=v,callback(err)})},function(err){callback(err,results)})}else eachfn(arr,function(x,callback){iterator(x.value,function(err){callback(err)})})};async.map=doParallel(_asyncMap),async.mapSeries=doSeries(_asyncMap),async.mapLimit=function(arr,limit,iterator,callback){return _mapLimit(limit)(arr,iterator,callback)};var _mapLimit=function(limit){return doParallelLimit(limit,_asyncMap)};async.reduce=function(arr,memo,iterator,callback){async.eachSeries(arr,function(x,callback){iterator(memo,x,function(err,v){memo=v,callback(err)})},function(err){callback(err,memo)})},async.inject=async.reduce,async.foldl=async.reduce,async.reduceRight=function(arr,memo,iterator,callback){var reversed=_map(arr,function(x){return x}).reverse();async.reduce(reversed,memo,iterator,callback)},async.foldr=async.reduceRight;var _filter=function(eachfn,arr,iterator,callback){var results=[];arr=_map(arr,function(x,i){return{index:i,value:x}}),eachfn(arr,function(x,callback){iterator(x.value,function(v){v&&results.push(x),callback()})},function(err){callback(_map(results.sort(function(a,b){return a.index-b.index}),function(x){return x.value}))})};async.filter=doParallel(_filter),async.filterSeries=doSeries(_filter),async.select=async.filter,async.selectSeries=async.filterSeries;var _reject=function(eachfn,arr,iterator,callback){var results=[];arr=_map(arr,function(x,i){return{index:i,value:x}}),eachfn(arr,function(x,callback){iterator(x.value,function(v){v||results.push(x),callback()})},function(err){callback(_map(results.sort(function(a,b){return a.index-b.index}),function(x){return x.value}))})};async.reject=doParallel(_reject),async.rejectSeries=doSeries(_reject);var _detect=function(eachfn,arr,iterator,main_callback){eachfn(arr,function(x,callback){iterator(x,function(result){result?(main_callback(x),main_callback=function(){}):callback()})},function(err){main_callback()})};async.detect=doParallel(_detect),async.detectSeries=doSeries(_detect),async.some=function(arr,iterator,main_callback){async.each(arr,function(x,callback){iterator(x,function(v){v&&(main_callback(!0),main_callback=function(){}),callback()})},function(err){main_callback(!1)})},async.any=async.some,async.every=function(arr,iterator,main_callback){async.each(arr,function(x,callback){iterator(x,function(v){v||(main_callback(!1),main_callback=function(){}),callback()})},function(err){main_callback(!0)})},async.all=async.every,async.sortBy=function(arr,iterator,callback){async.map(arr,function(x,callback){iterator(x,function(err,criteria){err?callback(err):callback(null,{value:x,criteria:criteria})})},function(err,results){if(err)return callback(err);var fn=function(left,right){var a=left.criteria,b=right.criteria;return b>a?-1:a>b?1:0};callback(null,_map(results.sort(fn),function(x){return x.value}))})},async.auto=function(tasks,callback){callback=callback||function(){};var keys=_keys(tasks),remainingTasks=keys.length;if(!remainingTasks)return callback();var results={},listeners=[],addListener=function(fn){listeners.unshift(fn)},removeListener=function(fn){for(var i=0;i<listeners.length;i+=1)if(listeners[i]===fn)return void listeners.splice(i,1)},taskComplete=function(){remainingTasks--,_each(listeners.slice(0),function(fn){fn()})};addListener(function(){if(!remainingTasks){var theCallback=callback;callback=function(){},theCallback(null,results)}}),_each(keys,function(k){var task=_isArray(tasks[k])?tasks[k]:[tasks[k]],taskCallback=function(err){var args=Array.prototype.slice.call(arguments,1);if(args.length<=1&&(args=args[0]),err){var safeResults={};_each(_keys(results),function(rkey){safeResults[rkey]=results[rkey]}),safeResults[k]=args,callback(err,safeResults),callback=function(){}}else results[k]=args,async.setImmediate(taskComplete)},requires=task.slice(0,Math.abs(task.length-1))||[],ready=function(){return _reduce(requires,function(a,x){return a&&results.hasOwnProperty(x)},!0)&&!results.hasOwnProperty(k)};if(ready())task[task.length-1](taskCallback,results);else{var listener=function(){ready()&&(removeListener(listener),task[task.length-1](taskCallback,results))};addListener(listener)}})},async.retry=function(times,task,callback){var DEFAULT_TIMES=5,attempts=[];"function"==typeof times&&(callback=task,task=times,times=DEFAULT_TIMES),times=parseInt(times,10)||DEFAULT_TIMES;var wrappedTask=function(wrappedCallback,wrappedResults){for(var retryAttempt=function(task,finalAttempt){return function(seriesCallback){task(function(err,result){seriesCallback(!err||finalAttempt,{err:err,result:result})},wrappedResults)}};times;)attempts.push(retryAttempt(task,!(times-=1)));async.series(attempts,function(done,data){data=data[data.length-1],(wrappedCallback||callback)(data.err,data.result)})};return callback?wrappedTask():wrappedTask},async.waterfall=function(tasks,callback){if(callback=callback||function(){},!_isArray(tasks)){var err=new Error("First argument to waterfall must be an array of functions");return callback(err)}if(!tasks.length)return callback();var wrapIterator=function(iterator){return function(err){if(err)callback.apply(null,arguments),callback=function(){};else{var args=Array.prototype.slice.call(arguments,1),next=iterator.next();next?args.push(wrapIterator(next)):args.push(callback),async.setImmediate(function(){iterator.apply(null,args)})}}};wrapIterator(async.iterator(tasks))()};var _parallel=function(eachfn,tasks,callback){if(callback=callback||function(){},_isArray(tasks))eachfn.map(tasks,function(fn,callback){fn&&fn(function(err){var args=Array.prototype.slice.call(arguments,1);args.length<=1&&(args=args[0]),callback.call(null,err,args)})},callback);else{var results={};eachfn.each(_keys(tasks),function(k,callback){tasks[k](function(err){var args=Array.prototype.slice.call(arguments,1);args.length<=1&&(args=args[0]),results[k]=args,callback(err)})},function(err){callback(err,results)})}};async.parallel=function(tasks,callback){_parallel({map:async.map,each:async.each},tasks,callback)},async.parallelLimit=function(tasks,limit,callback){_parallel({map:_mapLimit(limit),each:_eachLimit(limit)},tasks,callback)},async.series=function(tasks,callback){if(callback=callback||function(){},_isArray(tasks))async.mapSeries(tasks,function(fn,callback){fn&&fn(function(err){var args=Array.prototype.slice.call(arguments,1);args.length<=1&&(args=args[0]),callback.call(null,err,args)})},callback);else{var results={};async.eachSeries(_keys(tasks),function(k,callback){tasks[k](function(err){var args=Array.prototype.slice.call(arguments,1);args.length<=1&&(args=args[0]),results[k]=args,callback(err)})},function(err){callback(err,results)})}},async.iterator=function(tasks){var makeCallback=function(index){var fn=function(){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=function(fn){var args=Array.prototype.slice.call(arguments,1);return function(){return fn.apply(null,args.concat(Array.prototype.slice.call(arguments)))}};var _concat=function(eachfn,arr,fn,callback){var r=[];eachfn(arr,function(x,cb){fn(x,function(err,y){r=r.concat(y||[]),cb(err)})},function(err){callback(err,r)})};async.concat=doParallel(_concat),async.concatSeries=doSeries(_concat),async.whilst=function(test,iterator,callback){test()?iterator(function(err){return err?callback(err):void async.whilst(test,iterator,callback)}):callback()},async.doWhilst=function(iterator,test,callback){iterator(function(err){if(err)return callback(err);var args=Array.prototype.slice.call(arguments,1);test.apply(null,args)?async.doWhilst(iterator,test,callback):callback()})},async.until=function(test,iterator,callback){test()?callback():iterator(function(err){return err?callback(err):void async.until(test,iterator,callback)})},async.doUntil=function(iterator,test,callback){iterator(function(err){if(err)return callback(err);var args=Array.prototype.slice.call(arguments,1);test.apply(null,args)?callback():async.doUntil(iterator,test,callback)})},async.queue=function(worker,concurrency){function _insert(q,data,pos,callback){return q.started||(q.started=!0),_isArray(data)||(data=[data]),0==data.length?async.setImmediate(function(){q.drain&&q.drain()}):void _each(data,function(task){var item={data:task,callback:"function"==typeof callback?callback:null};pos?q.tasks.unshift(item):q.tasks.push(item),q.saturated&&q.tasks.length===q.concurrency&&q.saturated(),async.setImmediate(q.process)})}void 0===concurrency&&(concurrency=1);var workers=0,q={tasks:[],concurrency:concurrency,saturated:null,empty:null,drain:null,started:!1,paused:!1,push:function(data,callback){_insert(q,data,!1,callback)},kill:function(){q.drain=null,q.tasks=[]},unshift:function(data,callback){_insert(q,data,!0,callback)},process:function(){if(!q.paused&&workers<q.concurrency&&q.tasks.length){var task=q.tasks.shift();q.empty&&0===q.tasks.length&&q.empty(),workers+=1;var next=function(){workers-=1,task.callback&&task.callback.apply(task,arguments),q.drain&&q.tasks.length+workers===0&&q.drain(),q.process()},cb=only_once(next);worker(task.data,cb)}},length:function(){return q.tasks.length},running:function(){return workers},idle:function(){return q.tasks.length+workers===0},pause:function(){q.paused!==!0&&(q.paused=!0)},resume:function(){if(q.paused!==!1){q.paused=!1;for(var w=1;w<=q.concurrency;w++)async.setImmediate(q.process)}}};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;end>beg;){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){return q.started||(q.started=!0),_isArray(data)||(data=[data]),0==data.length?async.setImmediate(function(){q.drain&&q.drain()}):void _each(data,function(task){var item={data:task,priority:priority,callback:"function"==typeof callback?callback:null};q.tasks.splice(_binarySearch(q.tasks,item,_compareTasks)+1,0,item),q.saturated&&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){var working=!1,tasks=[],cargo={tasks:tasks,payload:payload,saturated:null,empty:null,drain:null,drained:!0,push:function(data,callback){_isArray(data)||(data=[data]),_each(data,function(task){tasks.push({data:task,callback:"function"==typeof callback?callback:null}),cargo.drained=!1,cargo.saturated&&tasks.length===payload&&cargo.saturated()}),async.setImmediate(cargo.process)},process:function process(){if(!working){if(0===tasks.length)return cargo.drain&&!cargo.drained&&cargo.drain(),void(cargo.drained=!0);var ts="number"==typeof payload?tasks.splice(0,payload):tasks.splice(0,tasks.length),ds=_map(ts,function(task){return task.data});cargo.empty&&cargo.empty(),working=!0,worker(ds,function(){working=!1;var args=arguments;_each(ts,function(data){data.callback&&data.callback.apply(null,args)}),process()})}},length:function(){return tasks.length},running:function(){return working}};return cargo};var _console_fn=function(name){return function(fn){var args=Array.prototype.slice.call(arguments,1);fn.apply(null,args.concat([function(err){var args=Array.prototype.slice.call(arguments,1);"undefined"!=typeof console&&(err?console.error&&console.error(err):console[name]&&_each(args,function(x){console[name](x)}))}]))}};async.log=_console_fn("log"),async.dir=_console_fn("dir"),async.memoize=function(fn,hasher){var memo={},queues={};hasher=hasher||function(x){return x};var memoized=function(){var args=Array.prototype.slice.call(arguments),callback=args.pop(),key=hasher.apply(null,args);key in memo?async.nextTick(function(){callback.apply(null,memo[key])}):key in queues?queues[key].push(callback):(queues[key]=[callback],fn.apply(null,args.concat([function(){memo[key]=arguments;var q=queues[key];delete queues[key];for(var i=0,l=q.length;l>i;i++)q[i].apply(null,arguments)}])))};return memoized.memo=memo,memoized.unmemoized=fn,memoized},async.unmemoize=function(fn){return function(){return(fn.unmemoized||fn).apply(null,arguments)}},async.times=function(count,iterator,callback){for(var counter=[],i=0;count>i;i++)counter.push(i);return async.map(counter,iterator,callback)},async.timesSeries=function(count,iterator,callback){for(var counter=[],i=0;count>i;i++)counter.push(i);return async.mapSeries(counter,iterator,callback)},async.seq=function(){var fns=arguments;return function(){var that=this,args=Array.prototype.slice.call(arguments),callback=args.pop();async.reduce(fns,args,function(newargs,fn,cb){fn.apply(that,newargs.concat([function(){var err=arguments[0],nextargs=Array.prototype.slice.call(arguments,1);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))};var _applyEach=function(eachfn,fns){var go=function(){var that=this,args=Array.prototype.slice.call(arguments),callback=args.pop();return eachfn(fns,function(fn,cb){fn.apply(that,args.concat([cb]))},callback)};if(arguments.length>2){var args=Array.prototype.slice.call(arguments,2);return go.apply(this,args)}return go};async.applyEach=doParallel(_applyEach),async.applyEachSeries=doSeries(_applyEach),async.forever=function(fn,callback){function next(err){if(err){if(callback)return callback(err);throw err}fn(next)}next()},"undefined"!=typeof module&&module.exports?module.exports=async:"undefined"!=typeof define&&define.amd?define([],function(){return async}):root.async=async}()}).call(this,require("_process"))},{_process:10}],120:[function(require,module,exports){(function(global){var rng;if(global.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;16>i;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:{})},{}],121:[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){16>ii&&(buf[i+ii++]=_hexToByte[oct])});16>ii;)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(0>dt&&void 0===options.clockseq&&(clockseq=clockseq+1&16383),(0>dt||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;6>n;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;16>ii;ii++)buf[i+ii]=rnds[ii];return buf||unparse(rnds)}for(var _rng=require("./rng"),_byteToHex=[],_hexToByte={},i=0;256>i;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":120}],122:[function(require,module,exports){arguments[4][53][0].apply(exports,arguments)},{dup:53}],123:[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}},{}],124:[function(require,module,exports){arguments[4][53][0].apply(exports,arguments)},{dup:53}],125:[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":126,"./types":127}],126:[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":128}],127:[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?(0>value&&(value=-value,formatted="+"),hrs=value/60,min=value%60,formatted+=(10>hrs?"0":"")+hrs+":"+(10>min?"0":"")+min):formatted=value,Utils.setSubText(xml,NS,sub,formatted)})},module.exports=exports["default"]},{"xmpp-jid":134}],128:[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":129,"./lib/muc":130,"./lib/namespaces":131,"./lib/presence":132,"./lib/pubsub":133}],129:[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"}}},{}],130:[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"}}},{}],131:[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"}},{}],132:[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"}}},{}],133:[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"}}},{}],134:[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:!0)},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:!0)},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":135}],135:[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:11}],136:[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":197,"lodash.foreach":212,"xmpp-constants":220}],137:[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":220}],138:[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 jidList=(JXT.utils,{get:function(){var result=[],items=types.find(this.xml,_xmppConstants.Namespace.BLOCKING,"item");return items.length?(items.forEach(function(item){result.push(new _xmppJid.JID(types.getAttribute(item,"jid","")))}),result):result},set:function(values){var self=this;values.forEach(function(value){var item=types.createElement(_xmppConstants.Namespace.BLOCKING,"item",_xmppConstants.Namespace.BLOCKING);types.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":220,"xmpp-jid":226}],139:[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":220}],140:[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":220}],141:[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;len>i;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":220}],142:[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":220}],143:[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;len>i;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":220}],144:[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":220}],145:[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;len>i;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;len>i;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":220,"xmpp-jid":226}],146:[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":220}],147:[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":220}],148:[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":220}],149:[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":220}],150:[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-description"],fields:{descType:{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":220}],151:[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.extendIQ(Forwarded),JXT.extendPresence(Forwarded),JXT.withMessage(function(Message){JXT.extend(Message,Forwarded),JXT.extend(Forwarded,Message)}),JXT.withDefinition("delay",_xmppConstants.Namespace.DELAY,function(Delayed){JXT.extend(Forwarded,Delayed)})},module.exports=exports["default"]},{"xmpp-constants":220}],152:[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":220}],153:[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":220}],154:[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":220}],155:[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":220}],156:[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:{transType:{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":220}],157:[function(require,module,exports){"use strict";var _interopRequireDefault=require("babel-runtime/helpers/interop-require-default")["default"];Object.defineProperty(exports,"__esModule",{value:!0});var _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),_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),_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(_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(_forwarded2["default"]),JXT.use(_framing2["default"]),JXT.use(_geoloc2["default"]),JXT.use(_hash2["default"]),JXT.use(_hats2["default"]),JXT.use(_iceUdp2["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"]},{"./avatar":136,"./bind":137,"./blocking":138,"./bob":139,"./bookmarks":140,"./bosh":141,"./carbons":142,"./command":143,"./csi":144,"./dataforms":145,"./delayed":146,"./disco":147,"./error":148,"./extdisco":149,"./file":150,"./forwarded":151,"./framing":152,"./geoloc":153,"./hash":154,"./hats":155,"./iceUdp":156,"./iq":158,"./jidprep":159,"./jingle":160,"./json":161,"./logging":162,"./mam":163,"./message":164,"./mood":165,"./muc":166,"./nick":167,"./oob":168,"./ping":169,"./presence":170,"./private":171,"./psa":172,"./pubsub":173,"./pubsubError":174,"./pubsubEvents":175,"./pubsubOwner":176,"./push":177,"./reach":178,"./register":179,"./roster":180,"./rsm":181,"./rtp":182,"./rtt":183,"./sasl":184,"./session":185,"./shim":186,"./sm":187,"./stream":188,"./streamError":189,"./streamFeatures":190,"./time":191,"./tune":192,"./vcard":193,"./version":194,"./visibility":195,"babel-runtime/helpers/interop-require-default":197}],158:[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":196,"xmpp-constants":220}],159:[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":220,"xmpp-jid":226}],160:[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")}}),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"),description:{get:function(){for(var opts=JXT.tagged("jingle-description").map(function(Description){return Description.prototype._name}),i=0,len=opts.length;len>i;i++)if(this._extensions[opts[i]])return this._extensions[opts[i]]},set:function(value){var ext="_"+value.descType;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;len>i;i++)if(this._extensions[opts[i]])return this._extensions[opts[i]]},set:function(value){var ext="_"+value.transType;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":220}],161:[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");return data?JSON.parse(data):void 0},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":220}],162:[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":220}],163:[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":220,"xmpp-jid":226}],164:[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":220}],165:[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":220}],166:[function(require,module,exports){"use strict";function proxy(child,field){return{get:function(){return this._extensions[child]?this[child][field]:void 0},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":220}],167:[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":220}],168:[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":220}],169:[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":220}],170:[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":220}],171:[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":220}],172:[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":220}],173:[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");return conf.length&&conf[0].childNodes.length?new DataForm({},conf[0].childNodes[0]):void 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"):!1}}}}),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"),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":220}],174:[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":220}],175:[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":220}],176:[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"):!1}}}}),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":220}],177:[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":220}],178:[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":197,"lodash.foreach":212,"xmpp-constants":220}],179:[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":220}],180:[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":220}],181:[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":220}],182:[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-description"],fields:{descType:{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":220}],183:[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;len>i;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;len>i;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":220}],184:[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":220}],185:[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":220}],186:[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");return name?{name:name,value:Utils.getText(header)}:void 0}):[]},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":220}],187:[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":220}],188:[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":220}],189:[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":220}],190:[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":220}],191:[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":220}],192:[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":220}],193:[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":220}],194:[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":220}],195:[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":220}],196:[function(require,module,exports){module.exports={"default":require("core-js/library/fn/object/assign"),__esModule:!0}},{"core-js/library/fn/object/assign":198}],197:[function(require,module,exports){"use strict";exports["default"]=function(obj){return obj&&obj.__esModule?obj:{"default":obj}},exports.__esModule=!0},{}],198:[function(require,module,exports){require("../../modules/es6.object.assign"),module.exports=require("../../modules/$.core").Object.assign},{"../../modules/$.core":201,"../../modules/es6.object.assign":211}],199:[function(require,module,exports){module.exports=function(it){if("function"!=typeof it)throw TypeError(it+" is not a function!");return it}},{}],200:[function(require,module,exports){var toString={}.toString;module.exports=function(it){return toString.call(it).slice(8,-1)}},{}],201:[function(require,module,exports){var core=module.exports={version:"1.2.6"};"number"==typeof __e&&(__e=core)},{}],202:[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":199}],203:[function(require,module,exports){module.exports=function(it){if(void 0==it)throw TypeError("Can't call method on "+it);return it}},{}],204:[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":201,"./$.ctx":202,"./$.global":206}],205:[function(require,module,exports){module.exports=function(exec){try{return!!exec()}catch(e){return!0}}},{}],206:[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)},{}],207:[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":200}],208:[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}},{}],209:[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},{"./$":208,"./$.fails":205,"./$.iobject":207,"./$.to-object":210}],210:[function(require,module,exports){var defined=require("./$.defined");module.exports=function(it){return Object(defined(it))}},{"./$.defined":203}],211:[function(require,module,exports){var $export=require("./$.export");$export($export.S+$export.F,"Object",{assign:require("./$.object-assign")})},{"./$.export":204,"./$.object-assign":209}],212:[function(require,module,exports){arguments[4][54][0].apply(exports,arguments)},{dup:54,"lodash._arrayeach":213,"lodash._baseeach":214,"lodash._bindcallback":218,"lodash.isarray":219}],213:[function(require,module,exports){arguments[4][55][0].apply(exports,arguments)},{dup:55}],214:[function(require,module,exports){arguments[4][56][0].apply(exports,arguments)},{dup:56,"lodash.keys":215}],215:[function(require,module,exports){arguments[4][57][0].apply(exports,arguments)},{dup:57,"lodash._getnative":216,"lodash.isarguments":217,"lodash.isarray":219}],216:[function(require,module,exports){arguments[4][58][0].apply(exports,arguments)},{dup:58}],217:[function(require,module,exports){arguments[4][59][0].apply(exports,arguments)},{dup:59}],218:[function(require,module,exports){arguments[4][60][0].apply(exports,arguments)},{dup:60}],219:[function(require,module,exports){arguments[4][61][0].apply(exports,arguments)},{dup:61}],220:[function(require,module,exports){arguments[4][128][0].apply(exports,arguments)},{"./lib/jingle":221,"./lib/muc":222,"./lib/namespaces":223,"./lib/presence":224,"./lib/pubsub":225,dup:128}],221:[function(require,module,exports){arguments[4][129][0].apply(exports,arguments)},{dup:129}],222:[function(require,module,exports){arguments[4][130][0].apply(exports,arguments)},{dup:130}],223:[function(require,module,exports){arguments[4][131][0].apply(exports,arguments)},{dup:131}],224:[function(require,module,exports){arguments[4][132][0].apply(exports,arguments)},{dup:132}],225:[function(require,module,exports){arguments[4][133][0].apply(exports,arguments)},{dup:133}],226:[function(require,module,exports){arguments[4][134][0].apply(exports,arguments)},{"./lib/stringprep":227,dup:134}],227:[function(require,module,exports){arguments[4][135][0].apply(exports,arguments)},{dup:135,punycode:11}],228:[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"),ltx=require("ltx"),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);return JXTClass?new JXTClass(null,xml):void 0},JXT.prototype.parse=function(str){var xml=ltx.parse(str);if(1===xml.nodeType)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":229,"./lib/stanza":230,"./lib/types":231,"lodash.assign":232,ltx:245,uuid:250}],229:[function(require,module,exports){"use strict";var ltx=require("ltx"),XML_NS=exports.XML_NS="http://www.w3.org/XML/1998/namespace";exports.createElement=function(NS,name,parentNS){var el=new ltx.Element(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;len>i;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;len>i;i++)xml.removeChild(subs[i]);for(i=0,len=values.length;len>i;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:245}],230:[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;len>i;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._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&&(result[prop]=val);else if(type.indexOf("Array")>=0){if(val.length>0){for(var vals=[],len=val.length,n=0;len>n;n++){var nval=val[n];"undefined"!=typeof nval&&(void 0!==nval.toJSON?vals.push(nval.toJSON()):vals.push(nval))}result[prop]=vals}}else void 0!==val&&val!==!1&&""!==val&&(result[prop]=val)}}return result},Stanza}},{"./helpers":229,"lodash.assign":232}],231:[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;len>i;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;len>i;i++)self.xml.removeChild(existing[i]);for(i=0,len=value.length;len>i;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,self);existing.appendChild(content.xml)}),self.xml.appendChild(existing))}}}}).call(this,require("buffer").Buffer)},{"./helpers":229,buffer:2,"lodash.assign":232}],232:[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":233,"lodash._createassigner":235,"lodash.keys":239}],233:[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":234,"lodash.keys":239}],234:[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},{}],235:[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=3>length?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":236,"lodash._isiterateecall":237,"lodash.restparam":238}],236:[function(require,module,exports){arguments[4][60][0].apply(exports,arguments)},{dup:60}],237:[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&&length>value}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&&MAX_SAFE_INTEGER>=value}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},{}],238:[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},{}],239:[function(require,module,exports){arguments[4][57][0].apply(exports,arguments)},{dup:57,"lodash._getnative":240,"lodash.isarguments":241,"lodash.isarray":242}],240:[function(require,module,exports){arguments[4][58][0].apply(exports,arguments)},{dup:58}],241:[function(require,module,exports){arguments[4][59][0].apply(exports,arguments)},{dup:59}],242:[function(require,module,exports){arguments[4][61][0].apply(exports,arguments)},{dup:61}],243:[function(require,module,exports){"use strict";function DOMElement(name,attrs){Element.call(this,name,attrs),this.nodeType=1,this.nodeName=this.localName}var util=require("util"),Element=require("./element").Element;util.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)},module.exports=DOMElement},{"./element":244,util:28}],244:[function(require,module,exports){"use strict";function Element(name,attrs){this.name=name,this.parent=null,this.children=[],this.setAttrs(attrs)}function escapeXml(s){return s.replace(/\&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/"/g,"&apos;")}function escapeXmlText(s){return s.replace(/\&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}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){this.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._getElement=function(name,attrs){var element=new Element(name,attrs);return element},Element.prototype.c=function(name,attrs){return this.cnode(this._getElement(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(){for(var clone=this._getElement(this.name,this.attrs),i=0;i<this.children.length;i++){var child=this.children[i];clone.cnode(child.clone?child.clone():child)}return clone},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];(v||""===v||0===v)&&(writer(" "),writer(k),writer('="'),"string"!=typeof v&&(v=v.toString(10)),writer(escapeXml(v)),writer('"'))}0===this.children.length?writer("/>"):this._addChildren(writer)},exports.Element=Element,exports.escapeXml=escapeXml},{}],245:[function(require,module,exports){"use strict";var parse=require("./parse");parse.availableSaxParsers.push(parse.bestSaxParser=require("./sax/sax_ltx")),module.exports=require("./index")},{"./index":246,"./parse":247,"./sax/sax_ltx":248}],246:[function(require,module,exports){"use strict";var parse=require("./parse");exports.Element=require("./dom-element"),exports.escapeXml=require("./element").escapeXml,exports.parse=parse.parse,exports.Parser=parse.Parser,exports.availableSaxParsers=parse.availableSaxParsers,exports.bestSaxParser=parse.bestSaxParser},{"./dom-element":243,"./element":244,"./parse":247}],247:[function(require,module,exports){"use strict";var events=require("events"),util=require("util"),DOMElement=require("./dom-element");exports.availableSaxParsers=[],exports.bestSaxParser=null;var saxParsers=["./sax/sax_expat.js","./sax/sax_ltx.js","./sax/sax_saxjs.js"];saxParsers.forEach(function(modName){var mod;try{mod=require(modName)}catch(e){}mod&&(exports.availableSaxParsers.push(mod),exports.bestSaxParser||(exports.bestSaxParser=mod))}),exports.Parser=function(saxParser){events.EventEmitter.call(this);var self=this,ParserMod=saxParser||exports.bestSaxParser;if(!ParserMod)throw new Error("No SAX parser available");this.parser=new ParserMod;var el;this.parser.addListener("startElement",function(name,attrs){var child=new DOMElement(name,attrs);el=el?el.cnode(child):child}),this.parser.addListener("endElement",function(name){el&&name===el.name&&(el.parent?el=el.parent:self.tree||(self.tree=el,el=void 0))}),this.parser.addListener("text",function(str){el&&el.t(str)}),this.parser.addListener("error",function(e){self.error=e,self.emit("error",e)})},util.inherits(exports.Parser,events.EventEmitter),exports.Parser.prototype.write=function(data){this.parser.write(data)},exports.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")))},exports.parse=function(data,saxParser){var p=new exports.Parser(saxParser),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}},{"./dom-element":243,events:6,util:28}],248:[function(require,module,exports){"use strict";function unescapeXml(s){return s.replace(/\&(amp|#38);/g,"&").replace(/\&(lt|#60);/g,"<").replace(/\&(gt|#62);/g,">").replace(/\&(quot|#34);/g,'"').replace(/\&(apos|#39);/g,"'").replace(/\&(nbsp|#160);/g,"\n")}var util=require("util"),events=require("events"),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(){events.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):(32>=c||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:(32>=c||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)}};util.inherits(SaxLtx,events.EventEmitter),SaxLtx.prototype.end=function(data){data&&this.write(data),this.write=function(){}}},{events:6,util:28}],249:[function(require,module,exports){arguments[4][120][0].apply(exports,arguments)},{dup:120}],250:[function(require,module,exports){arguments[4][121][0].apply(exports,arguments)},{"./rng":249,dup:121}],251:[function(require,module,exports){arguments[4][83][0].apply(exports,arguments)},{dup:83}],252:[function(require,module,exports){"use strict";var JSM=require("jingle"),RTC=require("webrtc-adapter-test"),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,init:function(conn){var self=this;self.RTC=RTC,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){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(),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)},{jingle:29,jxt:228,"jxt-xmpp":157,"jxt-xmpp-types":125,"webrtc-adapter-test":251}]},{},[252]),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;8>i;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;numberOfBytes>i;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;n>i;i++)s[i]=0;for(s[0]=2,p=0;s[p]<n;){for(i=s[p]*s[p];n>i;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;p>i;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;s-1>=j&&!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;a>i;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=ky>kx+shift?kx+shift:ky;for(i=ky-1-shift;kx>i&&i>=0;i++)if(x[i]>0)return 1;for(i=kx-1+shift;ky>i;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(-1==base){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),1>d)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;k>i&&(d=digitsStr.indexOf(s.substring(i,i+1),0),36>=base&&d>=36&&(d-=26),!(d>=base||0>d));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;kk>i;i++)y[i]=x[i];for(;k>i;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;k>i;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),-1==base){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;k>i;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;k>i;i++)if(c+=x[i],b=0,0>c&&(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;k>i;i++)c+=x[i]*n,b=0,0>c&&(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;k>i;i++)c+=x[i]+b*y[i-ys],x[i]=c&mask,c=(c-x[i])/radix;for(i=k;c&&kk>i;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;k>i;i++)c+=x[i]+y[i-ys],x[i]=c&mask,c=(c-x[i])/radix;for(i=k;c&&kk>i;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;k>i;i++)c+=x[i]-y[i-ys],x[i]=c&mask,c=(c-x[i])/radix;for(i=k;c&&kk>i;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;k>i;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;k>i;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;kx>i;i++){for(c=s0[2*i]+x[i]*x[i],s0[2*i]=c&mask,c=(c-s0[2*i])/radix,j=i+1;kx>j;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--,0>k1)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;kn>i;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;ky-4>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++,c+=sa[j]+ui*n[j]+t*y[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;for(;ky>j;)c+=sa[j]+ui*n[j]+t*y[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;for(;kn-4>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++,c+=sa[j]+ui*n[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;for(;kn>j;)c+=sa[j]+ui*n[j],t2=sa[j-1]=c&mask,c=(c-t2)/radix,j++;for(;ks>j;)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;b>i;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="\x00"+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);b>i;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={};256>i;++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;thatSigBytes>i;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;thatSigBytes>i;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;nBytes>i;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;sigBytes>i;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;hexStrLength>i;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;sigBytes>i;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;latin1StrLength>i;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;nWordsReady>offset;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;sigBytes>i;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;4>j&&sigBytes>i+.75*j;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);-1!=paddingIndex&&(base64StrLength=paddingIndex)}for(var words=[],nBytes=0,i=0;base64StrLength>i;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;blockSize>i;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;nPaddingBytes>i;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;256>i;i++)128>i?d[i]=i<<1:d[i]=i<<1^283;for(var x=0,xi=0,i=0;256>i;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;ksRows>ksRow;ksRow++)if(keySize>ksRow)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;ksRows>invKsRow;invKsRow++){var ksRow=ksRows-invKsRow;if(invKsRow%4)var t=keySchedule[ksRow];else var t=keySchedule[ksRow-4];4>invKsRow||4>=ksRow?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;nRounds>round;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;80>i;i++){if(16>i)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+=20>i?(b&c|~b&d)+1518500249:40>i?(b^c^d)+1859775393:60>i?(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;sqrtN>=factor;factor++)if(!(n%factor))return!1;return!0}function getFractionalBits(n){return 4294967296*(n-(0|n))|0}for(var n=2,nPrime=0;64>nPrime;)isPrime(n)&&(8>nPrime&&(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;64>i;i++){if(16>i)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;hasherBlockSize>i;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;blockSize>i;i++)words[offset+i]^=keystream[i]}});return CTR.Decryptor=Encryptor,CTR}(),CryptoJS}),function(){"use strict";function EventEmitter(){}function indexOfListener(listeners,listener){for(var i=listeners.length;i--;)if(listeners[i].listener===listener)return i;return-1}function alias(name){return function(){return this[name].apply(this,arguments)}}var proto=EventEmitter.prototype;proto.getListeners=function(evt){var response,key,events=this._getEvents();if("object"==typeof evt){response={};for(key in events)events.hasOwnProperty(key)&&evt.test(key)&&(response[key]=events[key])}else response=events[evt]||(events[evt]=[]);return response},proto.flattenListeners=function(listeners){var i,flatListeners=[];for(i=0;i<listeners.length;i+=1)flatListeners.push(listeners[i].listener);return flatListeners},proto.getListenersAsObject=function(evt){var response,listeners=this.getListeners(evt);return listeners instanceof Array&&(response={},response[evt]=listeners),response||listeners},proto.addListener=function(evt,listener){var key,listeners=this.getListenersAsObject(evt),listenerIsWrapped="object"==typeof listener;for(key in listeners)listeners.hasOwnProperty(key)&&-1===indexOfListener(listeners[key],listener)&&listeners[key].push(listenerIsWrapped?listener:{listener:listener,once:!1});return this},proto.on=alias("addListener"),proto.addOnceListener=function(evt,listener){return this.addListener(evt,{listener:listener,once:!0})},proto.once=alias("addOnceListener"),proto.defineEvent=function(evt){return this.getListeners(evt),this},proto.defineEvents=function(evts){for(var i=0;i<evts.length;i+=1)this.defineEvent(evts[i]);return this},proto.removeListener=function(evt,listener){var index,key,listeners=this.getListenersAsObject(evt);for(key in listeners)listeners.hasOwnProperty(key)&&(index=indexOfListener(listeners[key],listener),-1!==index&&listeners[key].splice(index,1));return this},proto.off=alias("removeListener"),proto.addListeners=function(evt,listeners){return this.manipulateListeners(!1,evt,listeners)},proto.removeListeners=function(evt,listeners){return this.manipulateListeners(!0,evt,listeners)},proto.manipulateListeners=function(remove,evt,listeners){var i,value,single=remove?this.removeListener:this.addListener,multiple=remove?this.removeListeners:this.addListeners;if("object"!=typeof evt||evt instanceof RegExp)for(i=listeners.length;i--;)single.call(this,evt,listeners[i]);else for(i in evt)evt.hasOwnProperty(i)&&(value=evt[i])&&("function"==typeof value?single.call(this,i,value):multiple.call(this,i,value));return this},proto.removeEvent=function(evt){var key,type=typeof evt,events=this._getEvents();if("string"===type)delete events[evt];else if("object"===type)for(key in events)events.hasOwnProperty(key)&&evt.test(key)&&delete events[key];else delete this._events;return this},proto.emitEvent=function(evt,args){var listener,i,key,response,listeners=this.getListenersAsObject(evt);for(key in listeners)if(listeners.hasOwnProperty(key))for(i=listeners[key].length;i--;)listener=listeners[key][i],listener.once===!0&&this.removeListener(evt,listener.listener),response=listener.listener.apply(this,args||[]),response===this._getOnceReturnValue()&&this.removeListener(evt,listener.listener);return this},proto.trigger=alias("emitEvent"),proto.emit=function(evt){var args=Array.prototype.slice.call(arguments,1);return this.emitEvent(evt,args)},proto.setOnceReturnValue=function(value){return this._onceReturnValue=value,this},proto._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},proto._getEvents=function(){return this._events||(this._events={})},"function"==typeof define&&define.amd?define(function(){return EventEmitter}):"object"==typeof module&&module.exports?module.exports=EventEmitter:this.EventEmitter=EventEmitter}.call(this),function(root,factory){"function"==typeof define&&define.amd?define(["bigint","crypto","eventemitter"],function(BigInt,CryptoJS,EventEmitter){var root={BigInt:BigInt,CryptoJS:CryptoJS,EventEmitter:EventEmitter,OTR:{},DSA:{}};return factory.call(root)}):(root.OTR={},root.DSA={},"undefined"!=typeof root.BigInt&&factory.call(root))}(this,function(){return function(){"use strict";var root=this,CONST={N:"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA237327FFFFFFFFFFFFFFFF",G:"2",MSGSTATE_PLAINTEXT:0,MSGSTATE_ENCRYPTED:1,MSGSTATE_FINISHED:2,AUTHSTATE_NONE:0,AUTHSTATE_AWAITING_DHKEY:1,AUTHSTATE_AWAITING_REVEALSIG:2,AUTHSTATE_AWAITING_SIG:3,WHITESPACE_TAG:" ",WHITESPACE_TAG_V2:" ",WHITESPACE_TAG_V3:" ",OTR_TAG:"?OTR",OTR_VERSION_1:"\x00",OTR_VERSION_2:"\x00",OTR_VERSION_3:"\x00",SMPSTATE_EXPECT0:0,SMPSTATE_EXPECT1:1,SMPSTATE_EXPECT2:2,SMPSTATE_EXPECT3:3,SMPSTATE_EXPECT4:4,STATUS_SEND_QUERY:0,STATUS_AKE_INIT:1,STATUS_AKE_SUCCESS:2,STATUS_END_OTR:3};"undefined"!=typeof module&&module.exports?module.exports=CONST:root.OTR.CONST=CONST}.call(this),function(){"use strict";function intCompare(x,y){var z=~(x^y);return z&=z>>16,z&=z>>8,z&=z>>4,z&=z>>2,z&=z>>1,1&z}var CryptoJS,BigInt,root=this,HLP={};"undefined"!=typeof module&&module.exports?(module.exports=HLP={},CryptoJS=require("../vendor/crypto.js"),BigInt=require("../vendor/bigint.js")):(root.OTR&&(root.OTR.HLP=HLP),root.DSA&&(root.DSA.HLP=HLP),CryptoJS=root.CryptoJS,BigInt=root.BigInt);var DTS={BYTE:1,SHORT:2,INT:4,CTR:8,MAC:20,SIG:40},WRAPPER_BEGIN="?OTR",WRAPPER_END=".",TWO=BigInt.str2bigInt("2",10);HLP.debug=function(msg){this.debug&&"function"!=typeof this.debug&&"undefined"!=typeof console&&console.log(msg)},HLP.extend=function(child,parent){function Ctor(){this.constructor=child}for(var key in parent)Object.hasOwnProperty.call(parent,key)&&(child[key]=parent[key]);Ctor.prototype=parent.prototype,child.prototype=new Ctor,child.__super__=parent.prototype},HLP.compare=function(str1,str2){if(str1.length!==str2.length)return!1;for(var i=0,result=0;i<str1.length;i++)result|=str1[i].charCodeAt(0)^str2[i].charCodeAt(0);return intCompare(result,0)},HLP.randomExponent=function(){return BigInt.randBigInt(1536)},HLP.smpHash=function(version,fmpi,smpi){var sha256=CryptoJS.algo.SHA256.create();sha256.update(CryptoJS.enc.Latin1.parse(HLP.packBytes(version,DTS.BYTE))),sha256.update(CryptoJS.enc.Latin1.parse(HLP.packMPI(fmpi))),smpi&&sha256.update(CryptoJS.enc.Latin1.parse(HLP.packMPI(smpi)));var hash=sha256.finalize();return HLP.bits2bigInt(hash.toString(CryptoJS.enc.Latin1))},HLP.makeMac=function(aesctr,m){var pass=CryptoJS.enc.Latin1.parse(m),mac=CryptoJS.HmacSHA256(CryptoJS.enc.Latin1.parse(aesctr),pass);return HLP.mask(mac.toString(CryptoJS.enc.Latin1),0,160)},HLP.make1Mac=function(aesctr,m){var pass=CryptoJS.enc.Latin1.parse(m),mac=CryptoJS.HmacSHA1(CryptoJS.enc.Latin1.parse(aesctr),pass);return mac.toString(CryptoJS.enc.Latin1)},HLP.encryptAes=function(msg,c,iv){var opts={mode:CryptoJS.mode.CTR,iv:CryptoJS.enc.Latin1.parse(iv),padding:CryptoJS.pad.NoPadding},aesctr=CryptoJS.AES.encrypt(msg,CryptoJS.enc.Latin1.parse(c),opts),aesctr_decoded=CryptoJS.enc.Base64.parse(aesctr.toString());return CryptoJS.enc.Latin1.stringify(aesctr_decoded)},HLP.decryptAes=function(msg,c,iv){msg=CryptoJS.enc.Latin1.parse(msg);var opts={mode:CryptoJS.mode.CTR,iv:CryptoJS.enc.Latin1.parse(iv),padding:CryptoJS.pad.NoPadding};return CryptoJS.AES.decrypt(CryptoJS.enc.Base64.stringify(msg),CryptoJS.enc.Latin1.parse(c),opts)},HLP.multPowMod=function(a,b,c,d,e){return BigInt.multMod(BigInt.powMod(a,b,e),BigInt.powMod(c,d,e),e)},HLP.ZKP=function(v,c,d,e){return BigInt.equals(c,HLP.smpHash(v,d,e))},HLP.GTOE=function(a,b){return BigInt.equals(a,b)||BigInt.greater(a,b)},HLP.between=function(x,a,b){return BigInt.greater(x,a)&&BigInt.greater(b,x)},HLP.checkGroup=function(g,N_MINUS_2){return HLP.GTOE(g,TWO)&&HLP.GTOE(N_MINUS_2,g)},HLP.h1=function(b,secbytes){var sha1=CryptoJS.algo.SHA1.create();return sha1.update(CryptoJS.enc.Latin1.parse(b)),sha1.update(CryptoJS.enc.Latin1.parse(secbytes)),sha1.finalize().toString(CryptoJS.enc.Latin1)},HLP.h2=function(b,secbytes){var sha256=CryptoJS.algo.SHA256.create();return sha256.update(CryptoJS.enc.Latin1.parse(b)),sha256.update(CryptoJS.enc.Latin1.parse(secbytes)),sha256.finalize().toString(CryptoJS.enc.Latin1)},HLP.mask=function(bytes,start,n){return bytes.substr(start/8,n/8)};var _toString=String.fromCharCode;HLP.packBytes=function(val,bytes){val=val.toString(16);for(var nex,res="";bytes>0;bytes--)nex=val.length?val.substr(-2,2):"0",val=val.substr(0,val.length-2),res=_toString(parseInt(nex,16))+res;return res},HLP.packINT=function(d){return HLP.packBytes(d,DTS.INT)},HLP.packCtr=function(d){return HLP.padCtr(HLP.packBytes(d,DTS.CTR))},HLP.padCtr=function(ctr){return ctr+"\x00\x00\x00\x00\x00\x00\x00\x00"},HLP.unpackCtr=function(d){return d=HLP.toByteArray(d.substring(0,8)),HLP.unpack(d)},HLP.unpack=function(arr){for(var val=0,i=0,len=arr.length;len>i;i++)val=256*val+arr[i];return val},HLP.packData=function(d){return HLP.packINT(d.length)+d},HLP.bits2bigInt=function(bits){return bits=HLP.toByteArray(bits),BigInt.ba2bigInt(bits)},HLP.packMPI=function(mpi){return HLP.packData(BigInt.bigInt2bits(BigInt.trim(mpi,0)))},HLP.packSHORT=function(short){return HLP.packBytes(short,DTS.SHORT)},HLP.unpackSHORT=function(short){return short=HLP.toByteArray(short),HLP.unpack(short)},HLP.packTLV=function(type,value){return HLP.packSHORT(type)+HLP.packSHORT(value.length)+value},HLP.readLen=function(msg){return msg=HLP.toByteArray(msg.substring(0,4)),HLP.unpack(msg)},HLP.readData=function(data){var n=HLP.unpack(data.splice(0,4));return[n,data]},HLP.readMPI=function(data){return data=HLP.toByteArray(data),data=HLP.readData(data),BigInt.ba2bigInt(data[1])},HLP.packMPIs=function(arr){return arr.reduce(function(prv,cur){return prv+HLP.packMPI(cur)},"")},HLP.unpackMPIs=function(num,mpis){for(var i=0,arr=[];num>i;i++)arr.push("MPI");return HLP.splitype(arr,mpis).map(function(m){return HLP.readMPI(m)})},HLP.wrapMsg=function(msg,fs,v3,our_it,their_it){msg=CryptoJS.enc.Base64.stringify(CryptoJS.enc.Latin1.parse(msg)),msg=WRAPPER_BEGIN+":"+msg+WRAPPER_END;var its;if(v3&&(its="|",its+=HLP.readLen(our_it).toString(16),its+="|",its+=HLP.readLen(their_it).toString(16)),!fs)return[null,msg];var n=Math.ceil(msg.length/fs);if(n>65535)return["Too many fragments"];if(1==n)return[null,msg];var k,bi,ei,frag,mf,mfs=[];for(k=1;n>=k;k++)bi=(k-1)*fs,ei=k*fs,frag=msg.slice(bi,ei),mf=WRAPPER_BEGIN,v3&&(mf+=its),mf+=","+k+",",mf+=n+",",mf+=frag+",",mfs.push(mf);return[null,mfs]},HLP.splitype=function splitype(arr,msg){var data=[];return arr.forEach(function(a){var str;switch(a){case"PUBKEY":str=splitype(["SHORT","MPI","MPI","MPI","MPI"],msg).join("");break;case"DATA":case"MPI":str=msg.substring(0,HLP.readLen(msg)+4);break;default:str=msg.substring(0,DTS[a])}data.push(str),msg=msg.substring(str.length)}),data};var _bin2num=function(){for(var i=0,_bin2num={};256>i;++i)_bin2num[String.fromCharCode(i)]=i;for(i=128;256>i;++i)_bin2num[String.fromCharCode(63232+i)]=i;return _bin2num}();HLP.toByteArray=function(data){for(var rv=[],ary=data.split(""),i=-1,iz=ary.length,remain=iz%8;remain--;)++i,rv[i]=_bin2num[ary[i]];for(remain=iz>>3;remain--;)rv.push(_bin2num[ary[++i]],_bin2num[ary[++i]],_bin2num[ary[++i]],_bin2num[ary[++i]],_bin2num[ary[++i]],_bin2num[ary[++i]],_bin2num[ary[++i]],_bin2num[ary[++i]]);return rv}}.call(this),function(){"use strict";function timer(){var start=(new Date).getTime();return function(s){if(DEBUG&&"undefined"!=typeof console){var t=(new Date).getTime();console.log(s+": "+(t-start)),start=t}}}function makeRandom(min,max){var c=BigInt.randBigInt(BigInt.bitSize(max));return HLP.between(c,min,max)?c:makeRandom(min,max)}function isProbPrime(k,n){var i,B=3e4,l=BigInt.bitSize(k),primes=BigInt.primes;for(0===primes.length&&(primes=BigInt.findPrimes(B)),rpprb.length!=k.length&&(rpprb=BigInt.dup(k)),i=0;i<primes.length&&primes[i]<=B;i++)if(0===BigInt.modInt(k,primes[i])&&!BigInt.equalsInt(k,primes[i]))return 0;for(i=0;n>i;i++){for(BigInt.randBigInt_(rpprb,l,0);!BigInt.greater(k,rpprb);)BigInt.randBigInt_(rpprb,l,0);if(!BigInt.millerRabin(k,rpprb))return 0}return 1}function generatePrimes(bit_length){for(var q,p,rem,counter,t=timer(),repeat=bit_lengths[bit_length].repeat,N=bit_lengths[bit_length].N,LM1=BigInt.twoToThe(bit_length-1),bl4=4*bit_length,brk=!1;;)if(q=BigInt.randBigInt(N,1),q[0]|=1,isProbPrime(q,repeat)){for(t("q"),counter=0;bl4>counter;counter++)if(p=BigInt.randBigInt(bit_length,1),p[0]|=1,rem=BigInt.mod(p,q),rem=BigInt.sub(rem,ONE),p=BigInt.sub(p,rem),!BigInt.greater(LM1,p)&&isProbPrime(p,repeat)){t("p"),primes[bit_length]={p:p,q:q},brk=!0;break}if(brk)break}for(var g,h=BigInt.dup(TWO),pm1=BigInt.sub(p,ONE),e=BigInt.multMod(pm1,BigInt.inverseMod(q,p),p);;){g=BigInt.powMod(h,e,p);{if(!BigInt.equals(g,ONE))return primes[bit_length].g=g,void t("g");h=BigInt.add(h,ONE)}}throw new Error("Unreachable!")}function DSA(obj,opts){if(!(this instanceof DSA))return new DSA(obj,opts);if(opts=opts||{},obj){var self=this;return["p","q","g","y","x"].forEach(function(prop){self[prop]=obj[prop]}),void(this.type=obj.type||KEY_TYPE)}var bit_length=parseInt(opts.bit_length?opts.bit_length:1024,10);if(!bit_lengths[bit_length])throw new Error("Unsupported bit length.");primes[bit_length]||generatePrimes(bit_length),this.p=primes[bit_length].p,this.q=primes[bit_length].q,this.g=primes[bit_length].g,this.type=KEY_TYPE,this.x=makeRandom(ZERO,this.q),this.y=BigInt.powMod(this.g,this.x,this.p),opts.nocache&&(primes[bit_length]=null)}function tokenizeStr(str){var start,end;if(start=str.indexOf("("),end=str.lastIndexOf(")"),0>start||0>end)throw new Error("Malformed S-Expression");str=str.substring(start+1,end);var splt=str.search(/\s/),obj={type:str.substring(0,splt),val:[]};if(str=str.substring(splt+1,end),start=str.indexOf("("),0>start)obj.val.push(str);else for(var i,len,ss,es;start>-1;){for(i=start+1,len=str.length,ss=1,es=0;len>i&&ss>es;i++)"("===str[i]&&ss++,")"===str[i]&&es++;obj.val.push(tokenizeStr(str.substring(start,++i))),str=str.substring(++i),start=str.indexOf("(")}return obj}function parseLibotr(obj){if(!obj.type)throw new Error("Parse error.");var o,val;return"privkeys"===obj.type?(o=[],obj.val.forEach(function(i){o.push(parseLibotr(i))}),o):(o={},obj.val.forEach(function(i){val=i.val[0],"string"==typeof val?0===val.indexOf("#")&&(val=val.substring(1,val.lastIndexOf("#")),val=BigInt.str2bigInt(val,16)):val=parseLibotr(i),o[i.type]=val}),o)}var CryptoJS,BigInt,Worker,WWPath,HLP,root=this;"undefined"!=typeof module&&module.exports?(module.exports=DSA,CryptoJS=require("../vendor/crypto.js"),BigInt=require("../vendor/bigint.js"),WWPath=require("path").join(__dirname,"/dsa-webworker.js"),HLP=require("./helpers.js")):(Object.keys(root.DSA).forEach(function(k){DSA[k]=root.DSA[k]}),root.DSA=DSA,CryptoJS=root.CryptoJS,BigInt=root.BigInt,Worker=root.Worker,WWPath="dsa-webworker.js",HLP=DSA.HLP);var ZERO=BigInt.str2bigInt("0",10),ONE=BigInt.str2bigInt("1",10),TWO=BigInt.str2bigInt("2",10),KEY_TYPE="\x00\x00",DEBUG=!1,rpprb=[],bit_lengths={1024:{N:160,repeat:40},2048:{N:224,repeat:56}},primes={};DSA.prototype={constructor:DSA,packPublic:function(){var str=this.type;return str+=HLP.packMPI(this.p),str+=HLP.packMPI(this.q),str+=HLP.packMPI(this.g),str+=HLP.packMPI(this.y)},packPrivate:function(){var str=this.packPublic()+HLP.packMPI(this.x);return str=CryptoJS.enc.Latin1.parse(str),str.toString(CryptoJS.enc.Base64)},generateNonce:function(m){var priv=BigInt.bigInt2bits(BigInt.trim(this.x,0)),rand=BigInt.bigInt2bits(BigInt.randBigInt(256)),sha256=CryptoJS.algo.SHA256.create();sha256.update(CryptoJS.enc.Latin1.parse(priv)),sha256.update(m),sha256.update(CryptoJS.enc.Latin1.parse(rand));var hash=sha256.finalize();return hash=HLP.bits2bigInt(hash.toString(CryptoJS.enc.Latin1)),BigInt.rightShift_(hash,256-BigInt.bitSize(this.q)),HLP.between(hash,ZERO,this.q)?hash:this.generateNonce(m)},sign:function(m){m=CryptoJS.enc.Latin1.parse(m);for(var k,b=BigInt.str2bigInt(m.toString(CryptoJS.enc.Hex),16),r=ZERO,s=ZERO;BigInt.isZero(s)||BigInt.isZero(r);)k=this.generateNonce(m),r=BigInt.mod(BigInt.powMod(this.g,k,this.p),this.q),BigInt.isZero(r)||(s=BigInt.inverseMod(k,this.q),s=BigInt.mult(s,BigInt.add(b,BigInt.mult(this.x,r))),s=BigInt.mod(s,this.q));return[r,s]},fingerprint:function(){var pk=this.packPublic();return this.type===KEY_TYPE&&(pk=pk.substring(2)),pk=CryptoJS.enc.Latin1.parse(pk),CryptoJS.SHA1(pk).toString(CryptoJS.enc.Hex)}},DSA.parsePublic=function(str,priv){var fields=["SHORT","MPI","MPI","MPI","MPI"];priv&&fields.push("MPI"),str=HLP.splitype(fields,str);var obj={type:str[0],p:HLP.readMPI(str[1]),q:HLP.readMPI(str[2]),g:HLP.readMPI(str[3]),y:HLP.readMPI(str[4])};return priv&&(obj.x=HLP.readMPI(str[5])),new DSA(obj)},DSA.parsePrivate=function(str,libotr){return libotr?parseLibotr(tokenizeStr(str))[0]["private-key"].dsa:(str=CryptoJS.enc.Base64.parse(str),str=str.toString(CryptoJS.enc.Latin1),DSA.parsePublic(str,!0))},DSA.verify=function(key,m,r,s){if(!HLP.between(r,ZERO,key.q)||!HLP.between(s,ZERO,key.q))return!1;var hm=CryptoJS.enc.Latin1.parse(m);hm=BigInt.str2bigInt(hm.toString(CryptoJS.enc.Hex),16);var w=BigInt.inverseMod(s,key.q),u1=BigInt.multMod(hm,w,key.q),u2=BigInt.multMod(r,w,key.q);u1=BigInt.powMod(key.g,u1,key.p),u2=BigInt.powMod(key.y,u2,key.p);var v=BigInt.mod(BigInt.multMod(u1,u2,key.p),key.q);return BigInt.equals(v,r)},DSA.createInWebWorker=function(options,cb){var opts={path:WWPath,seed:BigInt.getSeed};options&&"object"==typeof options&&Object.keys(options).forEach(function(k){opts[k]=options[k]}),"undefined"!=typeof module&&module.exports&&(Worker=require("webworker-threads").Worker);var worker=new Worker(opts.path);worker.onmessage=function(e){var data=e.data;switch(data.type){case"debug":if(!DEBUG||"undefined"==typeof console)return;console.log(data.val);break;case"data":worker.terminate(),cb(DSA.parsePrivate(data.val));break;default:throw new Error("Unrecognized type.")}},worker.postMessage({seed:opts.seed(),imports:opts.imports,debug:DEBUG})}}.call(this),function(){"use strict";var CryptoJS,CONST,HLP,root=this,Parse={};"undefined"!=typeof module&&module.exports?(module.exports=Parse,CryptoJS=require("../vendor/crypto.js"),CONST=require("./const.js"),HLP=require("./helpers.js")):(root.OTR.Parse=Parse,CryptoJS=root.CryptoJS,CONST=root.OTR.CONST,HLP=root.OTR.HLP);var tags={};tags[CONST.WHITESPACE_TAG_V2]=CONST.OTR_VERSION_2,tags[CONST.WHITESPACE_TAG_V3]=CONST.OTR_VERSION_3,Parse.parseMsg=function(otr,msg){var ver=[],start=msg.indexOf(CONST.OTR_TAG);if(!~start){if(this.initFragment(otr),ind=msg.indexOf(CONST.WHITESPACE_TAG),~ind){msg=msg.split(""),msg.splice(ind,16);for(var tag,len=msg.length;len>ind;)tag=msg.slice(ind,ind+8).join(""),Object.hasOwnProperty.call(tags,tag)?(msg.splice(ind,8),ver.push(tags[tag])):ind+=8;msg=msg.join("")}return{msg:msg,ver:ver}}var ind=start+CONST.OTR_TAG.length,com=msg[ind];if(","===com||"|"===com)return this.msgFragment(otr,msg.substring(ind+1),"|"===com);if(this.initFragment(otr),~["?","v"].indexOf(com)){"?"===msg[ind]&&(ver.push(CONST.OTR_VERSION_1),ind+=1);var vers={2:CONST.OTR_VERSION_2,3:CONST.OTR_VERSION_3},qs=msg.substring(ind+1),qi=qs.indexOf("?");return qi>=1&&(qs=qs.substring(0,qi).split(""),"v"===msg[ind]&&qs.forEach(function(q){Object.hasOwnProperty.call(vers,q)&&ver.push(vers[q])})),{cls:"query",ver:ver}}if(":"===com){ind+=1;var info=msg.substring(ind,ind+4);if(info.length<4)return{msg:msg};info=CryptoJS.enc.Base64.parse(info).toString(CryptoJS.enc.Latin1);var version=info.substring(0,2),type=info.substring(2);if(!otr["ALLOW_V"+HLP.unpackSHORT(version)])return{msg:msg};ind+=4;var end=msg.substring(ind).indexOf(".");if(!~end)return{msg:msg};msg=CryptoJS.enc.Base64.parse(msg.substring(ind,ind+end)),msg=CryptoJS.enc.Latin1.stringify(msg);var instance_tags;version===CONST.OTR_VERSION_3&&(instance_tags=msg.substring(0,8),msg=msg.substring(8));var cls;return~["","\n","",""].indexOf(type)?cls="ake":""===type&&(cls="data"),{version:version,type:type,msg:msg,cls:cls,instance_tags:instance_tags}}return" Error:"===msg.substring(ind,ind+7)?(otr.ERROR_START_AKE&&otr.sendQueryMsg(),{msg:msg.substring(ind+7),cls:"error"}):{msg:msg}},Parse.initFragment=function(otr){otr.fragment={s:"",j:0,k:0}},Parse.msgFragment=function(otr,msg,v3){if(msg=msg.split(","),v3){var its=msg.shift().split("|"),their_it=HLP.packINT(parseInt(its[0],16)),our_it=HLP.packINT(parseInt(its[1],16));if(otr.checkInstanceTags(their_it+our_it))return}if(!(msg.length<4||isNaN(parseInt(msg[0],10))||isNaN(parseInt(msg[1],10)))){var k=parseInt(msg[0],10),n=parseInt(msg[1],10);return msg=msg[2],k>n||0===n||0===k?void this.initFragment(otr):(1===k?(this.initFragment(otr),otr.fragment={k:1,n:n,s:msg}):n===otr.fragment.n&&k===otr.fragment.k+1?(otr.fragment.s+=msg,otr.fragment.k+=1):this.initFragment(otr),n===k?(msg=otr.fragment.s,this.initFragment(otr),this.parseMsg(otr,msg)):void 0)}}}.call(this),function(){"use strict";function hMac(gx,gy,pk,kid,m){var pass=CryptoJS.enc.Latin1.parse(m),hmac=CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256,pass);return hmac.update(CryptoJS.enc.Latin1.parse(HLP.packMPI(gx))),hmac.update(CryptoJS.enc.Latin1.parse(HLP.packMPI(gy))),hmac.update(CryptoJS.enc.Latin1.parse(pk)),hmac.update(CryptoJS.enc.Latin1.parse(kid)),hmac.finalize().toString(CryptoJS.enc.Latin1)}function AKE(otr){if(!(this instanceof AKE))return new AKE(otr);this.otr=otr,this.our_dh=otr.our_old_dh,this.our_keyid=otr.our_keyid-1,this.their_y=null,this.their_keyid=null,this.their_priv_pk=null,this.ssid=null,this.transmittedRS=!1,this.r=null;var self=this;["sendMsg"].forEach(function(meth){self[meth]=self[meth].bind(self)})}var CryptoJS,BigInt,CONST,HLP,DSA,root=this;"undefined"!=typeof module&&module.exports?(module.exports=AKE,CryptoJS=require("../vendor/crypto.js"),BigInt=require("../vendor/bigint.js"),CONST=require("./const.js"),HLP=require("./helpers.js"),DSA=require("./dsa.js")):(root.OTR.AKE=AKE,CryptoJS=root.CryptoJS,BigInt=root.BigInt,CONST=root.OTR.CONST,HLP=root.OTR.HLP,DSA=root.DSA);var N=BigInt.str2bigInt(CONST.N,16),N_MINUS_2=BigInt.sub(N,BigInt.str2bigInt("2",10));AKE.prototype={constructor:AKE,createKeys:function(g){var s=BigInt.powMod(g,this.our_dh.privateKey,N),secbytes=HLP.packMPI(s);this.ssid=HLP.mask(HLP.h2("\x00",secbytes),0,64);var tmp=HLP.h2("",secbytes);this.c=HLP.mask(tmp,0,128),this.c_prime=HLP.mask(tmp,128,128),this.m1=HLP.h2("",secbytes),this.m2=HLP.h2("",secbytes),this.m1_prime=HLP.h2("",secbytes),this.m2_prime=HLP.h2("",secbytes)},verifySignMac:function(mac,aesctr,m2,c,their_y,our_dh_pk,m1,ctr){var vmac=HLP.makeMac(aesctr,m2);if(!HLP.compare(mac,vmac))return["MACs do not match."];var x=HLP.decryptAes(aesctr.substring(4),c,ctr);x=HLP.splitype(["PUBKEY","INT","SIG"],x.toString(CryptoJS.enc.Latin1));var m=hMac(their_y,our_dh_pk,x[0],x[1],m1),pub=DSA.parsePublic(x[0]),r=HLP.bits2bigInt(x[2].substring(0,20)),s=HLP.bits2bigInt(x[2].substring(20));return DSA.verify(pub,m,r,s)?[null,HLP.readLen(x[1]),pub]:["Cannot verify signature of m."]},makeM:function(their_y,m1,c,m2){var pk=this.otr.priv.packPublic(),kid=HLP.packINT(this.our_keyid),m=hMac(this.our_dh.publicKey,their_y,pk,kid,m1);m=this.otr.priv.sign(m);var msg=pk+kid;msg+=BigInt.bigInt2bits(m[0],20),msg+=BigInt.bigInt2bits(m[1],20),msg=CryptoJS.enc.Latin1.parse(msg);var aesctr=HLP.packData(HLP.encryptAes(msg,c,HLP.packCtr(0))),mac=HLP.makeMac(aesctr,m2);return aesctr+mac},akeSuccess:function(version){return HLP.debug.call(this.otr,"success"),BigInt.equals(this.their_y,this.our_dh.publicKey)?this.otr.error("equal keys - we have a problem."):(this.otr.our_old_dh=this.our_dh,this.otr.their_priv_pk=this.their_priv_pk,this.their_keyid===this.otr.their_keyid&&BigInt.equals(this.their_y,this.otr.their_y)||this.their_keyid===this.otr.their_keyid-1&&BigInt.equals(this.their_y,this.otr.their_old_y)||(this.otr.their_y=this.their_y,this.otr.their_old_y=null,this.otr.their_keyid=this.their_keyid,this.otr.sessKeys[0]=[new this.otr.DHSession(this.otr.our_dh,this.otr.their_y),null],this.otr.sessKeys[1]=[new this.otr.DHSession(this.otr.our_old_dh,this.otr.their_y),null]),this.otr.ssid=this.ssid,this.otr.transmittedRS=this.transmittedRS,this.otr_version=version,this.otr.authstate=CONST.AUTHSTATE_NONE,this.otr.msgstate=CONST.MSGSTATE_ENCRYPTED,this.r=null,this.myhashed=null,this.dhcommit=null,this.encrypted=null,this.hashed=null,this.otr.trigger("status",[CONST.STATUS_AKE_SUCCESS]),void this.otr.sendStored())},handleAKE:function(msg){var send,vsm,type,version=msg.version;switch(msg.type){case"":if(HLP.debug.call(this.otr,"d-h key message"),msg=HLP.splitype(["DATA","DATA"],msg.msg),this.otr.authstate===CONST.AUTHSTATE_AWAITING_DHKEY){var ourHash=HLP.readMPI(this.myhashed),theirHash=HLP.readMPI(msg[1]);if(BigInt.greater(ourHash,theirHash)){type="",send=this.dhcommit;break}this.our_dh=this.otr.dh(),this.otr.authstate=CONST.AUTHSTATE_NONE,this.r=null,this.myhashed=null}else this.otr.authstate===CONST.AUTHSTATE_AWAITING_SIG&&(this.our_dh=this.otr.dh());this.otr.authstate=CONST.AUTHSTATE_AWAITING_REVEALSIG,this.encrypted=msg[0].substring(4),this.hashed=msg[1].substring(4),type="\n",send=HLP.packMPI(this.our_dh.publicKey);break;case"\n":if(HLP.debug.call(this.otr,"reveal signature message"),msg=HLP.splitype(["MPI"],msg.msg),this.otr.authstate!==CONST.AUTHSTATE_AWAITING_DHKEY){if(this.otr.authstate!==CONST.AUTHSTATE_AWAITING_SIG)return;if(!BigInt.equals(this.their_y,HLP.readMPI(msg[0])))return}if(this.otr.authstate=CONST.AUTHSTATE_AWAITING_SIG,this.their_y=HLP.readMPI(msg[0]),!HLP.checkGroup(this.their_y,N_MINUS_2))return this.otr.error("Illegal g^y.");this.createKeys(this.their_y),type="",send=HLP.packMPI(this.r),send+=this.makeM(this.their_y,this.m1,this.c,this.m2),this.m1=null,this.m2=null,this.c=null;break;case"":if(HLP.debug.call(this.otr,"signature message"),this.otr.authstate!==CONST.AUTHSTATE_AWAITING_REVEALSIG)return;msg=HLP.splitype(["DATA","DATA","MAC"],msg.msg),this.r=HLP.readMPI(msg[0]);var key=CryptoJS.enc.Hex.parse(BigInt.bigInt2str(this.r,16));key=CryptoJS.enc.Latin1.stringify(key);var gxmpi=HLP.decryptAes(this.encrypted,key,HLP.packCtr(0));gxmpi=gxmpi.toString(CryptoJS.enc.Latin1),this.their_y=HLP.readMPI(gxmpi);var hash=CryptoJS.SHA256(CryptoJS.enc.Latin1.parse(gxmpi));return HLP.compare(this.hashed,hash.toString(CryptoJS.enc.Latin1))?HLP.checkGroup(this.their_y,N_MINUS_2)?(this.createKeys(this.their_y),vsm=this.verifySignMac(msg[2],msg[1],this.m2,this.c,this.their_y,this.our_dh.publicKey,this.m1,HLP.packCtr(0)),vsm[0]?this.otr.error(vsm[0]):(this.their_keyid=vsm[1],this.their_priv_pk=vsm[2],send=this.makeM(this.their_y,this.m1_prime,this.c_prime,this.m2_prime),this.m1=null,this.m2=null,this.m1_prime=null,this.m2_prime=null,this.c=null,this.c_prime=null,this.sendMsg(version,"",send),void this.akeSuccess(version))):this.otr.error("Illegal g^x."):this.otr.error("Hashed g^x does not match.");case"":if(HLP.debug.call(this.otr,"data message"),this.otr.authstate!==CONST.AUTHSTATE_AWAITING_SIG)return;return msg=HLP.splitype(["DATA","MAC"],msg.msg),vsm=this.verifySignMac(msg[1],msg[0],this.m2_prime,this.c_prime,this.their_y,this.our_dh.publicKey,this.m1_prime,HLP.packCtr(0)),vsm[0]?this.otr.error(vsm[0]):(this.their_keyid=vsm[1],this.their_priv_pk=vsm[2],this.m1_prime=null,this.m2_prime=null,this.c_prime=null,this.transmittedRS=!0,void this.akeSuccess(version));default:return}this.sendMsg(version,type,send)},sendMsg:function(version,type,msg){var send=version+type,v3=version===CONST.OTR_VERSION_3;return v3&&(HLP.debug.call(this.otr,"instance tags"),
+send+=this.otr.our_instance_tag,send+=this.otr.their_instance_tag),send+=msg,send=HLP.wrapMsg(send,this.otr.fragment_size,v3,this.otr.our_instance_tag,this.otr.their_instance_tag),send[0]?this.otr.error(send[0]):void this.otr.io(send[1])},initiateAKE:function(version){HLP.debug.call(this.otr,"d-h commit message"),this.otr.trigger("status",[CONST.STATUS_AKE_INIT]),this.otr.authstate=CONST.AUTHSTATE_AWAITING_DHKEY;var gxmpi=HLP.packMPI(this.our_dh.publicKey);gxmpi=CryptoJS.enc.Latin1.parse(gxmpi),this.r=BigInt.randBigInt(128);var key=CryptoJS.enc.Hex.parse(BigInt.bigInt2str(this.r,16));key=CryptoJS.enc.Latin1.stringify(key),this.myhashed=CryptoJS.SHA256(gxmpi),this.myhashed=HLP.packData(this.myhashed.toString(CryptoJS.enc.Latin1)),this.dhcommit=HLP.packData(HLP.encryptAes(gxmpi,key,HLP.packCtr(0))),this.dhcommit+=this.myhashed,this.sendMsg(version,"",this.dhcommit)}}}.call(this),function(){"use strict";function SM(reqs){return this instanceof SM?(this.version=1,this.our_fp=reqs.our_fp,this.their_fp=reqs.their_fp,this.ssid=reqs.ssid,this.debug=!!reqs.debug,void this.init()):new SM(reqs)}var CryptoJS,BigInt,EventEmitter,CONST,HLP,root=this;"undefined"!=typeof module&&module.exports?(module.exports=SM,CryptoJS=require("../vendor/crypto.js"),BigInt=require("../vendor/bigint.js"),EventEmitter=require("../vendor/eventemitter.js"),CONST=require("./const.js"),HLP=require("./helpers.js")):(root.OTR.SM=SM,CryptoJS=root.CryptoJS,BigInt=root.BigInt,EventEmitter=root.EventEmitter,CONST=root.OTR.CONST,HLP=root.OTR.HLP);var G=BigInt.str2bigInt(CONST.G,10),N=BigInt.str2bigInt(CONST.N,16),N_MINUS_2=BigInt.sub(N,BigInt.str2bigInt("2",10)),Q=BigInt.sub(N,BigInt.str2bigInt("1",10));BigInt.divInt_(Q,2),HLP.extend(SM,EventEmitter),SM.prototype.init=function(){this.smpstate=CONST.SMPSTATE_EXPECT1,this.secret=null},SM.prototype.makeSecret=function(our,secret){var sha256=CryptoJS.algo.SHA256.create();sha256.update(CryptoJS.enc.Latin1.parse(HLP.packBytes(this.version,1))),sha256.update(CryptoJS.enc.Hex.parse(our?this.our_fp:this.their_fp)),sha256.update(CryptoJS.enc.Hex.parse(our?this.their_fp:this.our_fp)),sha256.update(CryptoJS.enc.Latin1.parse(this.ssid)),sha256.update(CryptoJS.enc.Latin1.parse(secret));var hash=sha256.finalize();this.secret=HLP.bits2bigInt(hash.toString(CryptoJS.enc.Latin1))},SM.prototype.makeG2s=function(){this.a2=HLP.randomExponent(),this.a3=HLP.randomExponent(),this.g2a=BigInt.powMod(G,this.a2,N),this.g3a=BigInt.powMod(G,this.a3,N),HLP.checkGroup(this.g2a,N_MINUS_2)&&HLP.checkGroup(this.g3a,N_MINUS_2)||this.makeG2s()},SM.prototype.computeGs=function(g2a,g3a){this.g2=BigInt.powMod(g2a,this.a2,N),this.g3=BigInt.powMod(g3a,this.a3,N)},SM.prototype.computePQ=function(r){this.p=BigInt.powMod(this.g3,r,N),this.q=HLP.multPowMod(G,r,this.g2,this.secret,N)},SM.prototype.computeR=function(){this.r=BigInt.powMod(this.QoQ,this.a3,N)},SM.prototype.computeRab=function(r){return BigInt.powMod(r,this.a3,N)},SM.prototype.computeC=function(v,r){return HLP.smpHash(v,BigInt.powMod(G,r,N))},SM.prototype.computeD=function(r,a,c){return BigInt.subMod(r,BigInt.multMod(a,c,Q),Q)},SM.prototype.handleSM=function(msg){var send,r2,r3,r7,t1,t2,t3,t4,rab,tmp2,cR,d7,ms,trust,expectStates={2:CONST.SMPSTATE_EXPECT1,3:CONST.SMPSTATE_EXPECT2,4:CONST.SMPSTATE_EXPECT3,5:CONST.SMPSTATE_EXPECT4,7:CONST.SMPSTATE_EXPECT1};if(6===msg.type)return this.init(),void this.trigger("abort");if(this.smpstate!==expectStates[msg.type])return this.abort();switch(this.smpstate){case CONST.SMPSTATE_EXPECT1:HLP.debug.call(this,"smp tlv 2");var ind,question;return 7===msg.type&&(ind=msg.msg.indexOf("\x00"),question=msg.msg.substring(0,ind),msg.msg=msg.msg.substring(ind+1)),ms=HLP.readLen(msg.msg.substr(0,4)),6!==ms?this.abort():(msg=HLP.unpackMPIs(6,msg.msg.substring(4)),HLP.checkGroup(msg[0],N_MINUS_2)&&HLP.checkGroup(msg[3],N_MINUS_2)&&HLP.ZKP(1,msg[1],HLP.multPowMod(G,msg[2],msg[0],msg[1],N))&&HLP.ZKP(2,msg[4],HLP.multPowMod(G,msg[5],msg[3],msg[4],N))?(this.g3ao=msg[3],this.makeG2s(),r2=HLP.randomExponent(),r3=HLP.randomExponent(),this.c2=this.computeC(3,r2),this.c3=this.computeC(4,r3),this.d2=this.computeD(r2,this.a2,this.c2),this.d3=this.computeD(r3,this.a3,this.c3),this.computeGs(msg[0],msg[3]),this.smpstate=CONST.SMPSTATE_EXPECT0,question&&(question=CryptoJS.enc.Latin1.parse(question).toString(CryptoJS.enc.Utf8)),void this.trigger("question",[question])):this.abort());case CONST.SMPSTATE_EXPECT2:if(HLP.debug.call(this,"smp tlv 3"),ms=HLP.readLen(msg.msg.substr(0,4)),11!==ms)return this.abort();if(msg=HLP.unpackMPIs(11,msg.msg.substring(4)),!(HLP.checkGroup(msg[0],N_MINUS_2)&&HLP.checkGroup(msg[3],N_MINUS_2)&&HLP.checkGroup(msg[6],N_MINUS_2)&&HLP.checkGroup(msg[7],N_MINUS_2)))return this.abort();if(!HLP.ZKP(3,msg[1],HLP.multPowMod(G,msg[2],msg[0],msg[1],N)))return this.abort();if(!HLP.ZKP(4,msg[4],HLP.multPowMod(G,msg[5],msg[3],msg[4],N)))return this.abort();if(this.g3ao=msg[3],this.computeGs(msg[0],msg[3]),t1=HLP.multPowMod(this.g3,msg[9],msg[6],msg[8],N),t2=HLP.multPowMod(G,msg[9],this.g2,msg[10],N),t2=BigInt.multMod(t2,BigInt.powMod(msg[7],msg[8],N),N),!HLP.ZKP(5,msg[8],t1,t2))return this.abort();var r4=HLP.randomExponent();this.computePQ(r4);var r5=HLP.randomExponent(),r6=HLP.randomExponent(),tmp=HLP.multPowMod(G,r5,this.g2,r6,N),cP=HLP.smpHash(6,BigInt.powMod(this.g3,r5,N),tmp),d5=this.computeD(r5,r4,cP),d6=this.computeD(r6,this.secret,cP);this.QoQ=BigInt.divMod(this.q,msg[7],N),this.PoP=BigInt.divMod(this.p,msg[6],N),this.computeR(),r7=HLP.randomExponent(),tmp2=BigInt.powMod(this.QoQ,r7,N),cR=HLP.smpHash(7,BigInt.powMod(G,r7,N),tmp2),d7=this.computeD(r7,this.a3,cR),this.smpstate=CONST.SMPSTATE_EXPECT4,send=HLP.packINT(8)+HLP.packMPIs([this.p,this.q,cP,d5,d6,this.r,cR,d7]),send=HLP.packTLV(4,send);break;case CONST.SMPSTATE_EXPECT3:if(HLP.debug.call(this,"smp tlv 4"),ms=HLP.readLen(msg.msg.substr(0,4)),8!==ms)return this.abort();if(msg=HLP.unpackMPIs(8,msg.msg.substring(4)),!HLP.checkGroup(msg[0],N_MINUS_2)||!HLP.checkGroup(msg[1],N_MINUS_2)||!HLP.checkGroup(msg[5],N_MINUS_2))return this.abort();if(t1=HLP.multPowMod(this.g3,msg[3],msg[0],msg[2],N),t2=HLP.multPowMod(G,msg[3],this.g2,msg[4],N),t2=BigInt.multMod(t2,BigInt.powMod(msg[1],msg[2],N),N),!HLP.ZKP(6,msg[2],t1,t2))return this.abort();if(t3=HLP.multPowMod(G,msg[7],this.g3ao,msg[6],N),this.QoQ=BigInt.divMod(msg[1],this.q,N),t4=HLP.multPowMod(this.QoQ,msg[7],msg[5],msg[6],N),!HLP.ZKP(7,msg[6],t3,t4))return this.abort();this.computeR(),r7=HLP.randomExponent(),tmp2=BigInt.powMod(this.QoQ,r7,N),cR=HLP.smpHash(8,BigInt.powMod(G,r7,N),tmp2),d7=this.computeD(r7,this.a3,cR),send=HLP.packINT(3)+HLP.packMPIs([this.r,cR,d7]),send=HLP.packTLV(5,send),rab=this.computeRab(msg[5]),trust=!!BigInt.equals(rab,BigInt.divMod(msg[0],this.p,N)),this.trigger("trust",[trust,"answered"]),this.init();break;case CONST.SMPSTATE_EXPECT4:return HLP.debug.call(this,"smp tlv 5"),ms=HLP.readLen(msg.msg.substr(0,4)),3!==ms?this.abort():(msg=HLP.unpackMPIs(3,msg.msg.substring(4)),HLP.checkGroup(msg[0],N_MINUS_2)?(t3=HLP.multPowMod(G,msg[2],this.g3ao,msg[1],N),t4=HLP.multPowMod(this.QoQ,msg[2],msg[0],msg[1],N),HLP.ZKP(8,msg[1],t3,t4)?(rab=this.computeRab(msg[0]),trust=!!BigInt.equals(rab,this.PoP),this.trigger("trust",[trust,"asked"]),void this.init()):this.abort()):this.abort())}this.sendMsg(send)},SM.prototype.sendMsg=function(send){this.trigger("send",[this.ssid,"\x00"+send])},SM.prototype.rcvSecret=function(secret,question){HLP.debug.call(this,"receive secret");var fn,our=!1;this.smpstate===CONST.SMPSTATE_EXPECT0?fn=this.answer:(fn=this.initiate,our=!0),this.makeSecret(our,secret),fn.call(this,question)},SM.prototype.answer=function(){HLP.debug.call(this,"smp answer");var r4=HLP.randomExponent();this.computePQ(r4);var r5=HLP.randomExponent(),r6=HLP.randomExponent(),tmp=HLP.multPowMod(G,r5,this.g2,r6,N),cP=HLP.smpHash(5,BigInt.powMod(this.g3,r5,N),tmp),d5=this.computeD(r5,r4,cP),d6=this.computeD(r6,this.secret,cP);this.smpstate=CONST.SMPSTATE_EXPECT3;var send=HLP.packINT(11)+HLP.packMPIs([this.g2a,this.c2,this.d2,this.g3a,this.c3,this.d3,this.p,this.q,cP,d5,d6]);this.sendMsg(HLP.packTLV(3,send))},SM.prototype.initiate=function(question){HLP.debug.call(this,"smp initiate"),this.smpstate!==CONST.SMPSTATE_EXPECT1&&this.abort(),this.makeG2s();var r2=HLP.randomExponent(),r3=HLP.randomExponent();this.c2=this.computeC(1,r2),this.c3=this.computeC(2,r3),this.d2=this.computeD(r2,this.a2,this.c2),this.d3=this.computeD(r3,this.a3,this.c3),this.smpstate=CONST.SMPSTATE_EXPECT2;var send="",type=2;question&&(send+=question,send+="\x00",type=7),send+=HLP.packINT(6)+HLP.packMPIs([this.g2a,this.c2,this.d2,this.g3a,this.c3,this.d3]),this.sendMsg(HLP.packTLV(type,send))},SM.prototype.abort=function(){this.init(),this.sendMsg(HLP.packTLV(6,"")),this.trigger("abort")}}.call(this),function(){"use strict";function OTRCB(cb){this.cb=cb}function OTR(options){if(!(this instanceof OTR))return new OTR(options);if(options=options||{},options.priv&&!(options.priv instanceof DSA))throw new Error("Requires long-lived DSA key.");if(this.priv=options.priv?options.priv:new DSA,this.fragment_size=options.fragment_size||0,this.fragment_size<0)throw new Error("Fragment size must be a positive integer.");if(this.send_interval=options.send_interval||0,this.send_interval<0)throw new Error("Send interval must be a positive integer.");this.outgoing=[],this.our_instance_tag=options.instance_tag||OTR.makeInstanceTag(),this.debug=!!options.debug,this.smw=options.smw,this.init();var self=this;["sendMsg","receiveMsg"].forEach(function(meth){self[meth]=self[meth].bind(self)}),EventEmitter.call(this)}var CryptoJS,BigInt,EventEmitter,Worker,SMWPath,CONST,HLP,Parse,AKE,SM,DSA,root=this;"undefined"!=typeof module&&module.exports?(module.exports=OTR,CryptoJS=require("../vendor/crypto.js"),BigInt=require("../vendor/bigint.js"),EventEmitter=require("../vendor/eventemitter.js"),SMWPath=require("path").join(__dirname,"/sm-webworker.js"),CONST=require("./const.js"),HLP=require("./helpers.js"),Parse=require("./parse.js"),AKE=require("./ake.js"),SM=require("./sm.js"),DSA=require("./dsa.js"),OTR.CONST=CONST):(Object.keys(root.OTR).forEach(function(k){OTR[k]=root.OTR[k]}),root.OTR=OTR,CryptoJS=root.CryptoJS,BigInt=root.BigInt,EventEmitter=root.EventEmitter,Worker=root.Worker,SMWPath="sm-webworker.js",CONST=OTR.CONST,HLP=OTR.HLP,Parse=OTR.Parse,AKE=OTR.AKE,SM=OTR.SM,DSA=root.DSA);var G=BigInt.str2bigInt(CONST.G,10),N=BigInt.str2bigInt(CONST.N,16),MAX_INT=Math.pow(2,53)-1,MAX_UINT=Math.pow(2,31)-1;HLP.extend(OTR,EventEmitter),OTR.prototype.init=function(){this.msgstate=CONST.MSGSTATE_PLAINTEXT,this.authstate=CONST.AUTHSTATE_NONE,this.ALLOW_V2=!0,this.ALLOW_V3=!0,this.REQUIRE_ENCRYPTION=!1,this.SEND_WHITESPACE_TAG=!1,this.WHITESPACE_START_AKE=!1,this.ERROR_START_AKE=!1,Parse.initFragment(this),this.their_y=null,this.their_old_y=null,this.their_keyid=0,this.their_priv_pk=null,this.their_instance_tag="\x00\x00\x00\x00",this.our_dh=this.dh(),this.our_old_dh=this.dh(),this.our_keyid=2,this.sessKeys=[new Array(2),new Array(2)],this.storedMgs=[],this.oldMacKeys=[],this.sm=null,this._akeInit(),this.receivedPlaintext=!1},OTR.prototype._akeInit=function(){this.ake=new AKE(this),this.transmittedRS=!1,this.ssid=null},OTR.prototype._SMW=function(otr,reqs){this.otr=otr;var opts={path:SMWPath,seed:BigInt.getSeed};"object"==typeof otr.smw&&Object.keys(otr.smw).forEach(function(k){opts[k]=otr.smw[k]}),"undefined"!=typeof module&&module.exports&&(Worker=require("webworker-threads").Worker),this.worker=new Worker(opts.path);var self=this;this.worker.onmessage=function(e){var d=e.data;d&&self.trigger(d.method,d.args)},this.worker.postMessage({type:"seed",seed:opts.seed(),imports:opts.imports}),this.worker.postMessage({type:"init",reqs:reqs})},HLP.extend(OTR.prototype._SMW,EventEmitter),["handleSM","rcvSecret","abort"].forEach(function(m){OTR.prototype._SMW.prototype[m]=function(){this.worker.postMessage({type:"method",method:m,args:Array.prototype.slice.call(arguments,0)})}}),OTR.prototype._smInit=function(){var reqs={ssid:this.ssid,our_fp:this.priv.fingerprint(),their_fp:this.their_priv_pk.fingerprint(),debug:this.debug};this.smw?(this.sm&&this.sm.worker.terminate(),this.sm=new this._SMW(this,reqs)):this.sm=new SM(reqs);var self=this;["trust","abort","question"].forEach(function(e){self.sm.on(e,function(){self.trigger("smp",[e].concat(Array.prototype.slice.call(arguments)))})}),this.sm.on("send",function(ssid,send){self.ssid===ssid&&(send=self.prepareMsg(send),self.io(send))})},OTR.prototype.io=function(msg,meta){msg=[].concat(msg).map(function(m,i,arr){var obj={msg:m};return meta instanceof OTRCB&&i!==arr.length-1||(obj.meta=meta),obj}),this.outgoing=this.outgoing.concat(msg);var self=this;!function send(first){if(!first){if(!self.outgoing.length)return;var elem=self.outgoing.shift(),cb=null;elem.meta instanceof OTRCB&&(cb=elem.meta.cb,elem.meta=null),self.trigger("io",[elem.msg,elem.meta]),cb&&cb()}setTimeout(send,first?0:self.send_interval)}(!0)},OTR.prototype.dh=function(){var keys={privateKey:BigInt.randBigInt(320)};return keys.publicKey=BigInt.powMod(G,keys.privateKey,N),keys},OTR.prototype.DHSession=function DHSession(our_dh,their_y){if(!(this instanceof DHSession))return new DHSession(our_dh,their_y);var s=BigInt.powMod(their_y,our_dh.privateKey,N),secbytes=HLP.packMPI(s);this.id=HLP.mask(HLP.h2("\x00",secbytes),0,64);var sq=BigInt.greater(our_dh.publicKey,their_y),sendbyte=sq?"":"",rcvbyte=sq?"":"";this.sendenc=HLP.mask(HLP.h1(sendbyte,secbytes),0,128),this.sendmac=CryptoJS.SHA1(CryptoJS.enc.Latin1.parse(this.sendenc)),this.sendmac=this.sendmac.toString(CryptoJS.enc.Latin1),this.rcvenc=HLP.mask(HLP.h1(rcvbyte,secbytes),0,128),this.rcvmac=CryptoJS.SHA1(CryptoJS.enc.Latin1.parse(this.rcvenc)),this.rcvmac=this.rcvmac.toString(CryptoJS.enc.Latin1),this.rcvmacused=!1,this.extra_symkey=HLP.h2("ÿ",secbytes),this.send_counter=0,this.rcv_counter=0},OTR.prototype.rotateOurKeys=function(){var self=this;this.sessKeys[1].forEach(function(sk){sk&&sk.rcvmacused&&self.oldMacKeys.push(sk.rcvmac)}),this.our_old_dh=this.our_dh,this.our_dh=this.dh(),this.our_keyid+=1,this.sessKeys[1][0]=this.sessKeys[0][0],this.sessKeys[1][1]=this.sessKeys[0][1],this.sessKeys[0]=[this.their_y?new this.DHSession(this.our_dh,this.their_y):null,this.their_old_y?new this.DHSession(this.our_dh,this.their_old_y):null]},OTR.prototype.rotateTheirKeys=function(their_y){this.their_keyid+=1;var self=this;this.sessKeys.forEach(function(sk){sk[1]&&sk[1].rcvmacused&&self.oldMacKeys.push(sk[1].rcvmac)}),this.their_old_y=this.their_y,this.sessKeys[0][1]=this.sessKeys[0][0],this.sessKeys[1][1]=this.sessKeys[1][0],this.their_y=their_y,this.sessKeys[0][0]=new this.DHSession(this.our_dh,this.their_y),this.sessKeys[1][0]=new this.DHSession(this.our_old_dh,this.their_y)},OTR.prototype.prepareMsg=function(msg,esk){if(this.msgstate!==CONST.MSGSTATE_ENCRYPTED||0===this.their_keyid)return this.notify("Not ready to encrypt.");var sessKeys=this.sessKeys[1][0];if(sessKeys.send_counter>=MAX_INT)return this.notify("Should have rekeyed by now.");sessKeys.send_counter+=1;var ctr=HLP.packCtr(sessKeys.send_counter),send=this.ake.otr_version+"",v3=this.ake.otr_version===CONST.OTR_VERSION_3;if(v3&&(send+=this.our_instance_tag,send+=this.their_instance_tag),send+="\x00",send+=HLP.packINT(this.our_keyid-1),send+=HLP.packINT(this.their_keyid),send+=HLP.packMPI(this.our_dh.publicKey),send+=ctr.substring(0,8),Math.ceil(msg.length/8)>=MAX_UINT)return this.notify("Message is too long.");var aes=HLP.encryptAes(CryptoJS.enc.Latin1.parse(msg),sessKeys.sendenc,ctr);return send+=HLP.packData(aes),send+=HLP.make1Mac(send,sessKeys.sendmac),send+=HLP.packData(this.oldMacKeys.splice(0).join("")),send=HLP.wrapMsg(send,this.fragment_size,v3,this.our_instance_tag,this.their_instance_tag),send[0]?this.notify(send[0]):(esk&&this.trigger("file",["send",sessKeys.extra_symkey,esk]),send[1])},OTR.prototype.handleDataMsg=function(msg){var vt=msg.version+msg.type;this.ake.otr_version===CONST.OTR_VERSION_3&&(vt+=msg.instance_tags);var types=["BYTE","INT","INT","MPI","CTR","DATA","MAC","DATA"];msg=HLP.splitype(types,msg.msg);var ign=""===msg[0];if(this.msgstate!==CONST.MSGSTATE_ENCRYPTED||8!==msg.length)return void(ign||this.error("Received an unreadable encrypted message."));var our_keyid=this.our_keyid-HLP.readLen(msg[2]),their_keyid=this.their_keyid-HLP.readLen(msg[1]);if(0>our_keyid||our_keyid>1)return void(ign||this.error("Not of our latest keys."));if(0>their_keyid||their_keyid>1)return void(ign||this.error("Not of your latest keys."));var their_y=their_keyid?this.their_old_y:this.their_y;if(1===their_keyid&&!their_y)return void(ign||this.error("Do not have that key."));var sessKeys=this.sessKeys[our_keyid][their_keyid],ctr=HLP.unpackCtr(msg[4]);if(ctr<=sessKeys.rcv_counter)return void(ign||this.error("Counter in message is not larger."));sessKeys.rcv_counter=ctr,vt+=msg.slice(0,6).join("");var vmac=HLP.make1Mac(vt,sessKeys.rcvmac);if(!HLP.compare(msg[6],vmac))return void(ign||this.error("MACs do not match."));sessKeys.rcvmacused=!0;var out=HLP.decryptAes(msg[5].substring(4),sessKeys.rcvenc,HLP.padCtr(msg[4]));out=out.toString(CryptoJS.enc.Latin1),our_keyid||this.rotateOurKeys(),their_keyid||this.rotateTheirKeys(HLP.readMPI(msg[3]));var ind=out.indexOf("\x00");return~ind&&(this.handleTLVs(out.substring(ind+1),sessKeys),out=out.substring(0,ind)),out=CryptoJS.enc.Latin1.parse(out),out.toString(CryptoJS.enc.Utf8)},OTR.prototype.handleTLVs=function(tlvs,sessKeys){for(var type,len,msg;tlvs.length&&(type=HLP.unpackSHORT(tlvs.substr(0,2)),len=HLP.unpackSHORT(tlvs.substr(2,2)),msg=tlvs.substr(4,len),!(msg.length<len));){switch(type){case 1:this.msgstate=CONST.MSGSTATE_FINISHED,this.trigger("status",[CONST.STATUS_END_OTR]);break;case 2:case 3:case 4:case 5:case 6:case 7:if(this.msgstate!==CONST.MSGSTATE_ENCRYPTED)return void(this.sm&&this.sm.abort());this.sm||this._smInit(),this.sm.handleSM({msg:msg,type:type});break;case 8:msg=msg.substring(4),msg=CryptoJS.enc.Latin1.parse(msg),msg=msg.toString(CryptoJS.enc.Utf8),this.trigger("file",["receive",sessKeys.extra_symkey,msg])}tlvs=tlvs.substring(4+len)}},OTR.prototype.smpSecret=function(secret,question){return this.msgstate!==CONST.MSGSTATE_ENCRYPTED?this.notify("Must be encrypted for SMP."):"string"!=typeof secret||secret.length<1?this.notify("Secret is required."):(this.sm||this._smInit(),secret=CryptoJS.enc.Utf8.parse(secret).toString(CryptoJS.enc.Latin1),question&&(question=CryptoJS.enc.Utf8.parse(question).toString(CryptoJS.enc.Latin1)),void this.sm.rcvSecret(secret,question))},OTR.prototype.sendQueryMsg=function(){var versions={},msg=CONST.OTR_TAG;this.ALLOW_V2&&(versions[2]=!0),this.ALLOW_V3&&(versions[3]=!0);var vs=Object.keys(versions);vs.length&&(msg+="v",vs.forEach(function(v){"1"!==v&&(msg+=v)}),msg+="?"),this.io(msg),this.trigger("status",[CONST.STATUS_SEND_QUERY])},OTR.prototype.sendMsg=function(msg,meta){switch((this.REQUIRE_ENCRYPTION||this.msgstate!==CONST.MSGSTATE_PLAINTEXT)&&(msg=CryptoJS.enc.Utf8.parse(msg),msg=msg.toString(CryptoJS.enc.Latin1)),this.msgstate){case CONST.MSGSTATE_PLAINTEXT:if(this.REQUIRE_ENCRYPTION)return this.storedMgs.push({msg:msg,meta:meta}),void this.sendQueryMsg();this.SEND_WHITESPACE_TAG&&!this.receivedPlaintext&&(msg+=CONST.WHITESPACE_TAG,this.ALLOW_V3&&(msg+=CONST.WHITESPACE_TAG_V3),this.ALLOW_V2&&(msg+=CONST.WHITESPACE_TAG_V2));break;case CONST.MSGSTATE_FINISHED:return this.storedMgs.push({msg:msg,meta:meta}),void this.notify("Message cannot be sent at this time.","warn");case CONST.MSGSTATE_ENCRYPTED:msg=this.prepareMsg(msg);break;default:throw new Error("Unknown message state.")}msg&&this.io(msg,meta)},OTR.prototype.receiveMsg=function(msg,meta){if(msg=Parse.parseMsg(this,msg)){switch(msg.cls){case"error":return void this.notify(msg.msg);case"ake":return msg.version===CONST.OTR_VERSION_3&&this.checkInstanceTags(msg.instance_tags)?void this.notify("Received a message intended for a different session.","warn"):void this.ake.handleAKE(msg);case"data":if(msg.version===CONST.OTR_VERSION_3&&this.checkInstanceTags(msg.instance_tags))return void this.notify("Received a message intended for a different session.","warn");msg.msg=this.handleDataMsg(msg),msg.encrypted=!0;break;case"query":this.msgstate===CONST.MSGSTATE_ENCRYPTED&&this._akeInit(),this.doAKE(msg);break;default:(this.REQUIRE_ENCRYPTION||this.msgstate!==CONST.MSGSTATE_PLAINTEXT)&&this.notify("Received an unencrypted message.","warn"),this.receivedPlaintext=!0,this.WHITESPACE_START_AKE&&msg.ver.length>0&&this.doAKE(msg)}msg.msg&&this.trigger("ui",[msg.msg,!!msg.encrypted,meta])}},OTR.prototype.checkInstanceTags=function(it){var their_it=HLP.readLen(it.substr(0,4)),our_it=HLP.readLen(it.substr(4,4));if(our_it&&our_it!==HLP.readLen(this.our_instance_tag))return!0;if(HLP.readLen(this.their_instance_tag)){if(HLP.readLen(this.their_instance_tag)!==their_it)return!0}else{if(100>their_it)return!0;this.their_instance_tag=HLP.packINT(their_it)}},OTR.prototype.doAKE=function(msg){this.ALLOW_V3&&~msg.ver.indexOf(CONST.OTR_VERSION_3)?this.ake.initiateAKE(CONST.OTR_VERSION_3):this.ALLOW_V2&&~msg.ver.indexOf(CONST.OTR_VERSION_2)?this.ake.initiateAKE(CONST.OTR_VERSION_2):this.notify("OTR conversation requested, but no compatible protocol version found.","warn")},OTR.prototype.error=function(err){this.debug||(err="An OTR error has occurred."),this.io("?OTR Error:"+err),this.notify(err)},OTR.prototype.notify=function(err,severity){this.trigger("error",[err,severity||"error"])},OTR.prototype.sendStored=function(){var self=this;this.storedMgs.splice(0).forEach(function(elem){var msg=self.prepareMsg(elem.msg);self.io(msg,elem.meta)})},OTR.prototype.sendFile=function(filename){if(this.msgstate!==CONST.MSGSTATE_ENCRYPTED)return this.notify("Not ready to encrypt.");if(this.ake.otr_version!==CONST.OTR_VERSION_3)return this.notify("Protocol v3 required.");if(!filename)return this.notify("Please specify a filename.");var l1name=CryptoJS.enc.Utf8.parse(filename);if(l1name=l1name.toString(CryptoJS.enc.Latin1),l1name.length>=65532)return this.notify("Filename is too long.");var msg="\x00";msg+="\x00\b",msg+=HLP.packSHORT(4+l1name.length),msg+="\x00\x00\x00",msg+=l1name,msg=this.prepareMsg(msg,filename),this.io(msg)},OTR.prototype.endOtr=function(cb){this.msgstate===CONST.MSGSTATE_ENCRYPTED?("function"==typeof cb&&(cb=new OTRCB(cb)),this.sendMsg("\x00\x00\x00\x00",cb),this.sm&&(this.smw&&this.sm.worker.terminate(),this.sm=null)):"function"==typeof cb&&setTimeout(cb,0),this.msgstate=CONST.MSGSTATE_PLAINTEXT,this.receivedPlaintext=!1,this.trigger("status",[CONST.STATUS_END_OTR])},OTR.makeInstanceTag=function(){var num=BigInt.randBigInt(32);return BigInt.greater(BigInt.str2bigInt("100",16),num)?OTR.makeInstanceTag():HLP.packINT(parseInt(BigInt.bigInt2str(num,10),10))}}.call(this),{OTR:this.OTR,DSA:this.DSA}}),!function(){function a(a,b){if(!b||"function"==typeof b)return a;for(var c in b)a[c]=b[c];return a}function b(a,c){for(var d in c)d in a?b(a[d],c[d]):a[d]=c[d];return a}function c(a,b,c){var d,e=0,f=a.length,g=void 0===f||"[object Array]"!==Object.prototype.toString.apply(a)||"function"==typeof a;if(c)if(g){for(d in a)if(b.apply(a[d],c)===!1)break}else for(;f>e&&b.apply(a[e++],c)!==!1;);else if(g){for(d in a)if(b.call(a[d],d,a[d])===!1)break}else for(;f>e&&b.call(a[e],e,a[e++])!==!1;);return a}function d(a){return"string"==typeof a?a.replace(/[&<>"'\/]/g,function(a){return Q[a]}):a}function e(a){var b=function(a){if(window.XMLHttpRequest)return a(null,new XMLHttpRequest);if(window.ActiveXObject)try{return a(null,new ActiveXObject("Msxml2.XMLHTTP"))}catch(b){return a(null,new ActiveXObject("Microsoft.XMLHTTP"))}return a(new Error)},c=function(a){if("string"==typeof a)return a;var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(encodeURIComponent(c)+"="+encodeURIComponent(a[c]));return b.join("&")},d=function(a){a=a.replace(/\r\n/g,"\n");for(var b="",c=0;c<a.length;c++){var d=a.charCodeAt(c);128>d?b+=String.fromCharCode(d):d>127&&2048>d?(b+=String.fromCharCode(192|d>>6),b+=String.fromCharCode(128|63&d)):(b+=String.fromCharCode(224|d>>12),b+=String.fromCharCode(128|63&d>>6),b+=String.fromCharCode(128|63&d))}return b},e=function(a){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";a=d(a);var c,e,f,g,h,i,j,k="",l=0;do c=a.charCodeAt(l++),e=a.charCodeAt(l++),f=a.charCodeAt(l++),g=c>>2,h=(3&c)<<4|e>>4,i=(15&e)<<2|f>>6,j=63&f,isNaN(e)?i=j=64:isNaN(f)&&(j=64),k+=b.charAt(g)+b.charAt(h)+b.charAt(i)+b.charAt(j),c=e=f="",g=h=i=j="";while(l<a.length);return k},f=function(){for(var a=arguments[0],b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}return a},g=function(a,d,e,h){"function"==typeof e&&(h=e,e={}),e.cache=e.cache||!1,e.data=e.data||{},e.headers=e.headers||{},e.jsonp=e.jsonp||!1,e.async=void 0===e.async?!0:e.async;var i,j=f({accept:"*/*","content-type":"application/x-www-form-urlencoded;charset=UTF-8"},g.headers,e.headers);if(i="application/json"===j["content-type"]?JSON.stringify(e.data):c(e.data),"GET"===a){var k=[];if(i&&(k.push(i),i=null),e.cache||k.push("_="+(new Date).getTime()),e.jsonp&&(k.push("callback="+e.jsonp),k.push("jsonp="+e.jsonp)),k=k.join("&"),k.length>1&&(d+=d.indexOf("?")>-1?"&"+k:"?"+k),e.jsonp){var l=document.getElementsByTagName("head")[0],m=document.createElement("script");return m.type="text/javascript",m.src=d,void l.appendChild(m)}}b(function(b,c){if(b)return h(b);c.open(a,d,e.async);for(var f in j)j.hasOwnProperty(f)&&c.setRequestHeader(f,j[f]);c.onreadystatechange=function(){if(4===c.readyState){var a=c.responseText||"";if(!h)return;h(c.status,{text:function(){return a},json:function(){try{return JSON.parse(a)}catch(b){return T.error("Can not parse JSON. URL: "+d),{}}}})}},c.send(i)})},h={authBasic:function(a,b){g.headers.Authorization="Basic "+e(a+":"+b)},connect:function(a,b,c){return g("CONNECT",a,b,c)},del:function(a,b,c){return g("DELETE",a,b,c)},get:function(a,b,c){return g("GET",a,b,c)},head:function(a,b,c){return g("HEAD",a,b,c)},headers:function(a){g.headers=a||{}},isAllowed:function(a,b,c){this.options(a,function(a,d){c(-1!==d.text().indexOf(b))})},options:function(a,b,c){return g("OPTIONS",a,b,c)},patch:function(a,b,c){return g("PATCH",a,b,c)},post:function(a,b,c){return g("POST",a,b,c)},put:function(a,b,c){return g("PUT",a,b,c)},trace:function(a,b,c){return g("TRACE",a,b,c)}},i=a.type?a.type.toLowerCase():"get";h[i](a.url,a,function(b,c){200===b||0===b&&c.text()?a.success(c.json(),b,null):a.error(c.text(),b,null)})}function f(a,b){"function"==typeof a&&(b=a,a={}),a=a||{},T.extend(P,a),delete P.fixLng,P.functions&&(delete P.functions,T.extend(T,a.functions)),"string"==typeof P.ns&&(P.ns={namespaces:[P.ns],defaultNs:P.ns}),"string"==typeof P.fallbackNS&&(P.fallbackNS=[P.fallbackNS]),("string"==typeof P.fallbackLng||"boolean"==typeof P.fallbackLng)&&(P.fallbackLng=[P.fallbackLng]),P.interpolationPrefixEscaped=T.regexEscape(P.interpolationPrefix),P.interpolationSuffixEscaped=T.regexEscape(P.interpolationSuffix),P.lng||(P.lng=T.detectLanguage()),L=T.toLanguages(P.lng),F=L[0],T.log("currentLng set to: "+F),P.useCookie&&T.cookie.read(P.cookieName)!==F&&T.cookie.create(P.cookieName,F,P.cookieExpirationTime,P.cookieDomain),P.detectLngFromLocalStorage&&"undefined"!=typeof document&&window.localStorage&&T.localStorage.setItem("i18next_lng",F);var c=z;a.fixLng&&(c=function(a,b){return b=b||{},b.lng=b.lng||c.lng,z(a,b)},c.lng=F),W.setCurrentLng(F),H&&P.setJqueryExt&&s();var d;if(H&&H.Deferred&&(d=H.Deferred()),!P.resStore){var e=T.toLanguages(P.lng);"string"==typeof P.preload&&(P.preload=[P.preload]);for(var f=0,g=P.preload.length;g>f;f++)for(var h=T.toLanguages(P.preload[f]),i=0,j=h.length;j>i;i++)e.indexOf(h[i])<0&&e.push(h[i]);return I.sync.load(e,P,function(a,e){J=e,M=!0,b&&b(c),d&&d.resolve(c)}),d?d.promise():void 0}return J=P.resStore,M=!0,b&&b(c),d&&d.resolve(c),d?d.promise():void 0}function g(a,b){"string"==typeof a&&(a=[a]);for(var c=0,d=a.length;d>c;c++)P.preload.indexOf(a[c])<0&&P.preload.push(a[c]);return f(b)}function h(a,b,c,d){"string"!=typeof b?(c=b,b=P.ns.defaultNs):P.ns.namespaces.indexOf(b)<0&&P.ns.namespaces.push(b),J[a]=J[a]||{},J[a][b]=J[a][b]||{},d?T.deepExtend(J[a][b],c):T.extend(J[a][b],c)}function i(a,b){"string"!=typeof b&&(b=P.ns.defaultNs),J[a]=J[a]||{};var c=J[a][b]||{},d=!1;for(var e in c)c.hasOwnProperty(e)&&(d=!0);return d}function j(a,b){"string"!=typeof b&&(b=P.ns.defaultNs),J[a]=J[a]||{},J[a][b]={}}function k(a,b,c,d){"string"!=typeof b?(resource=b,b=P.ns.defaultNs):P.ns.namespaces.indexOf(b)<0&&P.ns.namespaces.push(b),J[a]=J[a]||{},J[a][b]=J[a][b]||{};for(var e=c.split(P.keyseparator),f=0,g=J[a][b];e[f];)f==e.length-1?g[e[f]]=d:(null==g[e[f]]&&(g[e[f]]={}),g=g[e[f]]),f++}function l(a,b,c){"string"!=typeof b?(resource=b,b=P.ns.defaultNs):P.ns.namespaces.indexOf(b)<0&&P.ns.namespaces.push(b);for(var d in c)"string"==typeof c[d]&&k(a,b,d,c[d])}function m(a){P.ns.defaultNs=a}function n(a,b){o([a],b)}function o(a,b){var c={dynamicLoad:P.dynamicLoad,resGetPath:P.resGetPath,getAsync:P.getAsync,customLoad:P.customLoad,ns:{namespaces:a,defaultNs:""}},d=T.toLanguages(P.lng);"string"==typeof P.preload&&(P.preload=[P.preload]);for(var e=0,f=P.preload.length;f>e;e++)for(var g=T.toLanguages(P.preload[e]),h=0,i=g.length;i>h;h++)d.indexOf(g[h])<0&&d.push(g[h]);for(var j=[],k=0,l=d.length;l>k;k++){var m=!1,n=J[d[k]];if(n)for(var o=0,p=a.length;p>o;o++)n[a[o]]||(m=!0);else m=!0;m&&j.push(d[k])}j.length?I.sync._fetch(j,c,function(c,d){var e=a.length*j.length;T.each(a,function(a,c){P.ns.namespaces.indexOf(c)<0&&P.ns.namespaces.push(c),T.each(j,function(a,f){J[f]=J[f]||{},J[f][c]=d[f][c],e--,0===e&&b&&(P.useLocalStorage&&I.sync._storeLocal(J),b())})})}):b&&b()}function p(a,b,c){return"function"==typeof b?(c=b,b={}):b||(b={}),b.lng=a,f(b,c)}function q(){return F}function r(a){J={},p(F,a)}function s(){function a(a,b,c){if(0!==b.length){var d="text";if(0===b.indexOf("[")){var e=b.split("]");b=e[1],d=e[0].substr(1,e[0].length-1)}b.indexOf(";")===b.length-1&&(b=b.substr(0,b.length-2));var f;if("html"===d)f=P.defaultValueFromContent?H.extend({defaultValue:a.html()},c):c,a.html(H.t(b,f));else if("text"===d)f=P.defaultValueFromContent?H.extend({defaultValue:a.text()},c):c,a.text(H.t(b,f));else if("prepend"===d)f=P.defaultValueFromContent?H.extend({defaultValue:a.html()},c):c,a.prepend(H.t(b,f));else if("append"===d)f=P.defaultValueFromContent?H.extend({defaultValue:a.html()},c):c,a.append(H.t(b,f));else if(0===d.indexOf("data-")){var g=d.substr("data-".length);f=P.defaultValueFromContent?H.extend({defaultValue:a.data(g)},c):c;var h=H.t(b,f);a.data(g,h),a.attr(d,h)}else f=P.defaultValueFromContent?H.extend({defaultValue:a.attr(d)},c):c,a.attr(d,H.t(b,f))}}function b(b,c){var d=b.attr(P.selectorAttr);if(d||"undefined"==typeof d||d===!1||(d=b.text()||b.val()),d){var e=b,f=b.data("i18n-target");if(f&&(e=b.find(f)||b),c||P.useDataAttrOptions!==!0||(c=b.data("i18n-options")),c=c||{},d.indexOf(";")>=0){var g=d.split(";");H.each(g,function(b,d){""!==d&&a(e,d,c)})}else a(e,d,c);P.useDataAttrOptions===!0&&b.data("i18n-options",c)}}H.t=H.t||z,H.fn.i18n=function(a){return this.each(function(){b(H(this),a);var c=H(this).find("["+P.selectorAttr+"]");c.each(function(){b(H(this),a)})})}}function t(a,b,c,d){if(!a)return a;if(d=d||b,a.indexOf(d.interpolationPrefix||P.interpolationPrefix)<0)return a;var e=d.interpolationPrefix?T.regexEscape(d.interpolationPrefix):P.interpolationPrefixEscaped,f=d.interpolationSuffix?T.regexEscape(d.interpolationSuffix):P.interpolationSuffixEscaped,g="HTML"+f,h=b.replace&&"object"==typeof b.replace?b.replace:b;return T.each(h,function(b,h){var i=c?c+P.keyseparator+b:b;"object"==typeof h&&null!==h?a=t(a,h,i,d):d.escapeInterpolation||P.escapeInterpolation?(a=a.replace(new RegExp([e,i,g].join(""),"g"),T.regexReplacementEscape(h)),a=a.replace(new RegExp([e,i,f].join(""),"g"),T.regexReplacementEscape(T.escape(h)))):a=a.replace(new RegExp([e,i,f].join(""),"g"),T.regexReplacementEscape(h));
+}),a}function u(a,b){var c=",",d="{",e="}",f=T.extend({},b);for(delete f.postProcess;-1!=a.indexOf(P.reusePrefix)&&(K++,!(K>P.maxRecursion));){var g=a.lastIndexOf(P.reusePrefix),h=a.indexOf(P.reuseSuffix,g)+P.reuseSuffix.length,i=a.substring(g,h),j=i.replace(P.reusePrefix,"").replace(P.reuseSuffix,"");if(g>=h)return T.error("there is an missing closing in following translation value",a),"";if(-1!=j.indexOf(c)){var k=j.indexOf(c);if(-1!=j.indexOf(d,k)&&-1!=j.indexOf(e,k)){var l=j.indexOf(d,k),m=j.indexOf(e,l)+e.length;try{f=T.extend(f,JSON.parse(j.substring(l,m))),j=j.substring(0,k)}catch(n){}}}var o=C(j,f);a=a.replace(i,T.regexReplacementEscape(o))}return a}function v(a){return a.context&&("string"==typeof a.context||"number"==typeof a.context)}function w(a){return void 0!==a.count&&"string"!=typeof a.count}function x(a){return void 0!==a.indefinite_article&&"string"!=typeof a.indefinite_article&&a.indefinite_article}function y(a,b){b=b||{};var c=A(a,b),d=D(a,b);return void 0!==d||d===c}function z(a,b){return b=b||{},M?(K=0,C.apply(null,arguments)):(T.log("i18next not finished initialization. you might have called t function before loading resources finished."),b.defaultValue||"")}function A(a,b){return void 0!==b.defaultValue?b.defaultValue:a}function B(){for(var a=[],b=1;b<arguments.length;b++)a.push(arguments[b]);return{postProcess:"sprintf",sprintf:a}}function C(a,b){if(b&&"object"!=typeof b?"sprintf"===P.shortcutFunction?b=B.apply(null,arguments):"defaultValue"===P.shortcutFunction&&(b={defaultValue:b}):b=b||{},"object"==typeof P.defaultVariables&&(b=T.extend({},P.defaultVariables,b)),void 0===a||null===a||""===a)return"";"string"==typeof a&&(a=[a]);var c=a[0];if(a.length>1)for(var d=0;d<a.length&&(c=a[d],!y(c,b));d++);var e,f=A(c,b),g=D(c,b),h=b.lng?T.toLanguages(b.lng,b.fallbackLng):L,i=b.ns||P.ns.defaultNs;c.indexOf(P.nsseparator)>-1&&(e=c.split(P.nsseparator),i=e[0],c=e[1]),void 0===g&&P.sendMissing&&"function"==typeof P.missingKeyHandler&&(b.lng?P.missingKeyHandler(h[0],i,c,f,h):P.missingKeyHandler(P.lng,i,c,f,h));var j=b.postProcess||P.postProcess;void 0!==g&&j&&X[j]&&(g=X[j](g,c,b));var k=f;if(f.indexOf(P.nsseparator)>-1&&(e=f.split(P.nsseparator),k=e[1]),k===c&&P.parseMissingKey&&(f=P.parseMissingKey(f)),void 0===g&&(f=t(f,b),f=u(f,b),j&&X[j])){var l=A(c,b);g=X[j](l,c,b)}return void 0!==g?g:f}function D(a,b){b=b||{};var c,d,e=A(a,b),f=L;if(!J)return e;if("cimode"===f[0].toLowerCase())return e;if(b.lngs&&(f=b.lngs),b.lng&&(f=T.toLanguages(b.lng,b.fallbackLng),!J[f[0]])){var g=P.getAsync;P.getAsync=!1,I.sync.load(f,P,function(a,b){T.extend(J,b),P.getAsync=g})}var h=b.ns||P.ns.defaultNs;if(a.indexOf(P.nsseparator)>-1){var i=a.split(P.nsseparator);h=i[0],a=i[1]}if(v(b)){c=T.extend({},b),delete c.context,c.defaultValue=P.contextNotFound;var j=h+P.nsseparator+a+"_"+b.context;if(d=z(j,c),d!=P.contextNotFound)return t(d,{context:b.context})}if(w(b,f[0])){c=T.extend({lngs:[f[0]]},b),delete c.count,delete c.lng,c.defaultValue=P.pluralNotFound;var k;if(W.needsPlural(f[0],b.count)){k=h+P.nsseparator+a+P.pluralSuffix;var l=W.get(f[0],b.count);l>=0?k=k+"_"+l:1===l&&(k=h+P.nsseparator+a)}else k=h+P.nsseparator+a;if(d=z(k,c),d!=P.pluralNotFound)return t(d,{count:b.count,interpolationPrefix:b.interpolationPrefix,interpolationSuffix:b.interpolationSuffix});if(!(f.length>1))return d;var m=f.slice();if(m.shift(),b=T.extend(b,{lngs:m}),delete b.lng,d=z(h+P.nsseparator+a,b),d!=P.pluralNotFound)return d}if(x(b)){var n=T.extend({},b);delete n.indefinite_article,n.defaultValue=P.indefiniteNotFound;var o=h+P.nsseparator+a+(b.count&&!w(b,f[0])||!b.count?P.indefiniteSuffix:"");if(d=z(o,n),d!=P.indefiniteNotFound)return d}for(var p,q=a.split(P.keyseparator),r=0,s=f.length;s>r&&void 0===p;r++){for(var y=f[r],B=0,E=J[y]&&J[y][h];q[B];)E=E&&E[q[B]],B++;if(void 0!==E){var F=Object.prototype.toString.apply(E);if("string"==typeof E)E=t(E,b),E=u(E,b);else if("[object Array]"!==F||P.returnObjectTrees||b.returnObjectTrees){if(null===E&&P.fallbackOnNull===!0)E=void 0;else if(null!==E)if(P.returnObjectTrees||b.returnObjectTrees){if("[object Number]"!==F&&"[object Function]"!==F&&"[object RegExp]"!==F){var G="[object Array]"===F?[]:{};T.each(E,function(c){G[c]=C(h+P.nsseparator+a+P.keyseparator+c,b)}),E=G}}else P.objectTreeKeyHandler&&"function"==typeof P.objectTreeKeyHandler?E=P.objectTreeKeyHandler(a,E,y,h,b):(E="key '"+h+":"+a+" ("+y+")' returned an object instead of string.",T.log(E))}else E=E.join("\n"),E=t(E,b),E=u(E,b);"string"==typeof E&&""===E.trim()&&P.fallbackOnEmpty===!0&&(E=void 0),p=E}}if(void 0===p&&!b.isFallbackLookup&&(P.fallbackToDefaultNS===!0||P.fallbackNS&&P.fallbackNS.length>0)){if(b.isFallbackLookup=!0,P.fallbackNS.length){for(var H=0,K=P.fallbackNS.length;K>H;H++)if(p=D(P.fallbackNS[H]+P.nsseparator+a,b),p||""===p&&P.fallbackOnEmpty===!1){var M=p.indexOf(P.nsseparator)>-1?p.split(P.nsseparator)[1]:p,N=e.indexOf(P.nsseparator)>-1?e.split(P.nsseparator)[1]:e;if(M!==N)break}}else p=D(a,b);b.isFallbackLookup=!1}return p}function E(){var a,b=P.lngWhitelist||[],c=[];if("undefined"!=typeof window&&!function(){for(var a=window.location.search.substring(1),b=a.split("&"),d=0;d<b.length;d++){var e=b[d].indexOf("=");if(e>0){var f=b[d].substring(0,e);f==P.detectLngQS&&c.push(b[d].substring(e+1))}}}(),P.useCookie&&"undefined"!=typeof document){var d=T.cookie.read(P.cookieName);d&&c.push(d)}if(P.detectLngFromLocalStorage&&"undefined"!=typeof window&&window.localStorage&&c.push(window.localStorage.getItem("i18next_lng")),"undefined"!=typeof navigator){if(navigator.languages)for(var e=0;e<navigator.languages.length;e++)c.push(navigator.languages[e]);navigator.userLanguage&&c.push(navigator.userLanguage),navigator.language&&c.push(navigator.language)}return function(){for(var d=0;d<c.length;d++){var e=c[d];if(e.indexOf("-")>-1){var f=e.split("-");e=P.lowerCaseLng?f[0].toLowerCase()+"-"+f[1].toLowerCase():f[0].toLowerCase()+"-"+f[1].toUpperCase()}if(0===b.length||b.indexOf(e)>-1){a=e;break}}}(),a||(a=P.fallbackLng[0]),a}Array.prototype.indexOf||(Array.prototype.indexOf=function(a){"use strict";if(null==this)throw new TypeError;var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>0&&(d=Number(arguments[1]),d!=d?d=0:0!=d&&1/0!=d&&d!=-1/0&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);c>e;e++)if(e in b&&b[e]===a)return e;return-1}),Array.prototype.lastIndexOf||(Array.prototype.lastIndexOf=function(a){"use strict";if(null==this)throw new TypeError;var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=c;arguments.length>1&&(d=Number(arguments[1]),d!=d?d=0:0!=d&&d!=1/0&&d!=-(1/0)&&(d=(d>0||-1)*Math.floor(Math.abs(d))));for(var e=d>=0?Math.min(d,c-1):c-Math.abs(d);e>=0;e--)if(e in b&&b[e]===a)return e;return-1}),"function"!=typeof String.prototype.trim&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")});var F,G=this,H=G.jQuery||G.Zepto,I={},J={},K=0,L=[],M=!1,N={};if("undefined"!=typeof module&&module.exports){if(!H)try{H=require("jquery")}catch(O){}H&&(H.i18n=H.i18n||I),module.exports=I}else H&&(H.i18n=H.i18n||I),G.i18n=G.i18n||I;N={load:function(a,b,c){b.useLocalStorage?N._loadLocal(a,b,function(d,e){for(var f=[],g=0,h=a.length;h>g;g++)e[a[g]]||f.push(a[g]);f.length>0?N._fetch(f,b,function(a,b){T.extend(e,b),N._storeLocal(b),c(null,e)}):c(null,e)}):N._fetch(a,b,function(a,b){c(null,b)})},_loadLocal:function(a,b,c){var d={},e=(new Date).getTime();if(window.localStorage){var f=a.length;T.each(a,function(a,g){var h=window.localStorage.getItem("res_"+g);h&&(h=JSON.parse(h),h.i18nStamp&&h.i18nStamp+b.localStorageExpirationTime>e&&(d[g]=h)),f--,0===f&&c(null,d)})}},_storeLocal:function(a){if(window.localStorage)for(var b in a)a[b].i18nStamp=(new Date).getTime(),T.localStorage.setItem("res_"+b,JSON.stringify(a[b]))},_fetch:function(a,b,c){var d=b.ns,e={};if(b.dynamicLoad){var f=function(a,b){c(null,b)};if("function"==typeof b.customLoad)b.customLoad(a,d.namespaces,b,f);else{var g=t(b.resGetPath,{lng:a.join("+"),ns:d.namespaces.join("+")});T.ajax({url:g,success:function(a){T.log("loaded: "+g),f(null,a)},error:function(a,b,c){T.log("failed loading: "+g),f("failed loading resource.json error: "+c)},dataType:"json",async:b.getAsync})}}else{var h,i=d.namespaces.length*a.length;T.each(d.namespaces,function(d,f){T.each(a,function(a,d){var g=function(a,b){a&&(h=h||[],h.push(a)),e[d]=e[d]||{},e[d][f]=b,i--,0===i&&c(h,e)};"function"==typeof b.customLoad?b.customLoad(d,f,b,g):N._fetchOne(d,f,b,g)})})}},_fetchOne:function(a,b,c,d){var e=t(c.resGetPath,{lng:a,ns:b});T.ajax({url:e,success:function(a){T.log("loaded: "+e),d(null,a)},error:function(a,b,c){if(b&&200==b||a&&a.status&&200==a.status)T.error("There is a typo in: "+e);else if(b&&404==b||a&&a.status&&404==a.status)T.log("Does not exist: "+e);else{var f=b?b:a&&a.status?a.status:null;T.log(f+" when loading "+e)}d(c,{})},dataType:"json",async:c.getAsync})},postMissing:function(a,b,c,d,e){var f={};f[c]=d;var g=[];if("fallback"===P.sendMissingTo&&P.fallbackLng[0]!==!1)for(var h=0;h<P.fallbackLng.length;h++)g.push({lng:P.fallbackLng[h],url:t(P.resPostPath,{lng:P.fallbackLng[h],ns:b})});else if("current"===P.sendMissingTo||"fallback"===P.sendMissingTo&&P.fallbackLng[0]===!1)g.push({lng:a,url:t(P.resPostPath,{lng:a,ns:b})});else if("all"===P.sendMissingTo)for(var h=0,i=e.length;i>h;h++)g.push({lng:e[h],url:t(P.resPostPath,{lng:e[h],ns:b})});for(var j=0,k=g.length;k>j;j++){var l=g[j];T.ajax({url:l.url,type:P.sendType,data:f,success:function(){T.log("posted missing key '"+c+"' to: "+l.url);for(var a=c.split("."),e=0,f=J[l.lng][b];a[e];)f=f[a[e]]=e===a.length-1?d:f[a[e]]||{},e++},error:function(){T.log("failed posting missing key '"+c+"' to: "+l.url)},dataType:"json",async:P.postAsync})}},reload:r};var P={lng:void 0,load:"all",preload:[],lowerCaseLng:!1,returnObjectTrees:!1,fallbackLng:["dev"],fallbackNS:[],detectLngQS:"setLng",detectLngFromLocalStorage:!1,ns:"translation",fallbackOnNull:!0,fallbackOnEmpty:!1,fallbackToDefaultNS:!1,nsseparator:":",keyseparator:".",selectorAttr:"data-i18n",debug:!1,resGetPath:"locales/__lng__/__ns__.json",resPostPath:"locales/add/__lng__/__ns__",getAsync:!0,postAsync:!0,resStore:void 0,useLocalStorage:!1,localStorageExpirationTime:6048e5,dynamicLoad:!1,sendMissing:!1,sendMissingTo:"fallback",sendType:"POST",interpolationPrefix:"__",interpolationSuffix:"__",defaultVariables:!1,reusePrefix:"$t(",reuseSuffix:")",pluralSuffix:"_plural",pluralNotFound:["plural_not_found",Math.random()].join(""),contextNotFound:["context_not_found",Math.random()].join(""),escapeInterpolation:!1,indefiniteSuffix:"_indefinite",indefiniteNotFound:["indefinite_not_found",Math.random()].join(""),setJqueryExt:!0,defaultValueFromContent:!0,useDataAttrOptions:!1,cookieExpirationTime:void 0,useCookie:!0,cookieName:"i18next",cookieDomain:void 0,objectTreeKeyHandler:void 0,postProcess:void 0,parseMissingKey:void 0,missingKeyHandler:N.postMissing,shortcutFunction:"sprintf"},Q={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"},R={create:function(a,b,c,d){var e;if(c){var f=new Date;f.setTime(f.getTime()+6e4*c),e="; expires="+f.toGMTString()}else e="";d=d?"domain="+d+";":"",document.cookie=a+"="+b+e+";"+d+"path=/"},read:function(a){for(var b=a+"=",c=document.cookie.split(";"),d=0;d<c.length;d++){for(var e=c[d];" "==e.charAt(0);)e=e.substring(1,e.length);if(0===e.indexOf(b))return e.substring(b.length,e.length)}return null},remove:function(a){this.create(a,"",-1)}},S={create:function(){},read:function(){return null},remove:function(){}},T={extend:H?H.extend:a,deepExtend:b,each:H?H.each:c,ajax:H?H.ajax:"undefined"!=typeof document?e:function(){},cookie:"undefined"!=typeof document?R:S,detectLanguage:E,escape:d,log:function(a){P.debug&&"undefined"!=typeof console&&console.log(a)},error:function(a){"undefined"!=typeof console&&console.error(a)},getCountyIndexOfLng:function(a){var b=0;return("nb-NO"===a||"nn-NO"===a||"nb-no"===a||"nn-no"===a)&&(b=1),b},toLanguages:function(a){function b(a){var b=a;if("string"==typeof a&&a.indexOf("-")>-1){var c=a.split("-");b=P.lowerCaseLng?c[0].toLowerCase()+"-"+c[1].toLowerCase():c[0].toLowerCase()+"-"+c[1].toUpperCase()}else b=P.lowerCaseLng?a.toLowerCase():a;return b}var c=this.log,d=[],e=P.lngWhitelist||!1,f=function(a){!e||e.indexOf(a)>-1?d.push(a):c("rejecting non-whitelisted language: "+a)};if("string"==typeof a&&a.indexOf("-")>-1){var g=a.split("-");"unspecific"!==P.load&&f(b(a)),"current"!==P.load&&f(b(g[this.getCountyIndexOfLng(a)]))}else f(b(a));for(var h=0;h<P.fallbackLng.length;h++)-1===d.indexOf(P.fallbackLng[h])&&P.fallbackLng[h]&&d.push(b(P.fallbackLng[h]));return d},regexEscape:function(a){return a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},regexReplacementEscape:function(a){return"string"==typeof a?a.replace(/\$/g,"$$$$"):a},localStorage:{setItem:function(a,b){if(window.localStorage)try{window.localStorage.setItem(a,b)}catch(c){T.log('failed to set value for key "'+a+'" to localStorage.')}}}};T.applyReplacement=t;var U=[["ach","Acholi",[1,2],1],["af","Afrikaans",[1,2],2],["ak","Akan",[1,2],1],["am","Amharic",[1,2],1],["an","Aragonese",[1,2],2],["ar","Arabic",[0,1,2,3,11,100],5],["arn","Mapudungun",[1,2],1],["ast","Asturian",[1,2],2],["ay","Aymará",[1],3],["az","Azerbaijani",[1,2],2],["be","Belarusian",[1,2,5],4],["bg","Bulgarian",[1,2],2],["bn","Bengali",[1,2],2],["bo","Tibetan",[1],3],["br","Breton",[1,2],1],["bs","Bosnian",[1,2,5],4],["ca","Catalan",[1,2],2],["cgg","Chiga",[1],3],["cs","Czech",[1,2,5],6],["csb","Kashubian",[1,2,5],7],["cy","Welsh",[1,2,3,8],8],["da","Danish",[1,2],2],["de","German",[1,2],2],["dev","Development Fallback",[1,2],2],["dz","Dzongkha",[1],3],["el","Greek",[1,2],2],["en","English",[1,2],2],["eo","Esperanto",[1,2],2],["es","Spanish",[1,2],2],["es_ar","Argentinean Spanish",[1,2],2],["et","Estonian",[1,2],2],["eu","Basque",[1,2],2],["fa","Persian",[1],3],["fi","Finnish",[1,2],2],["fil","Filipino",[1,2],1],["fo","Faroese",[1,2],2],["fr","French",[1,2],9],["fur","Friulian",[1,2],2],["fy","Frisian",[1,2],2],["ga","Irish",[1,2,3,7,11],10],["gd","Scottish Gaelic",[1,2,3,20],11],["gl","Galician",[1,2],2],["gu","Gujarati",[1,2],2],["gun","Gun",[1,2],1],["ha","Hausa",[1,2],2],["he","Hebrew",[1,2],2],["hi","Hindi",[1,2],2],["hr","Croatian",[1,2,5],4],["hu","Hungarian",[1,2],2],["hy","Armenian",[1,2],2],["ia","Interlingua",[1,2],2],["id","Indonesian",[1],3],["is","Icelandic",[1,2],12],["it","Italian",[1,2],2],["ja","Japanese",[1],3],["jbo","Lojban",[1],3],["jv","Javanese",[0,1],13],["ka","Georgian",[1],3],["kk","Kazakh",[1],3],["km","Khmer",[1],3],["kn","Kannada",[1,2],2],["ko","Korean",[1],3],["ku","Kurdish",[1,2],2],["kw","Cornish",[1,2,3,4],14],["ky","Kyrgyz",[1],3],["lb","Letzeburgesch",[1,2],2],["ln","Lingala",[1,2],1],["lo","Lao",[1],3],["lt","Lithuanian",[1,2,10],15],["lv","Latvian",[1,2,0],16],["mai","Maithili",[1,2],2],["mfe","Mauritian Creole",[1,2],1],["mg","Malagasy",[1,2],1],["mi","Maori",[1,2],1],["mk","Macedonian",[1,2],17],["ml","Malayalam",[1,2],2],["mn","Mongolian",[1,2],2],["mnk","Mandinka",[0,1,2],18],["mr","Marathi",[1,2],2],["ms","Malay",[1],3],["mt","Maltese",[1,2,11,20],19],["nah","Nahuatl",[1,2],2],["nap","Neapolitan",[1,2],2],["nb","Norwegian Bokmal",[1,2],2],["ne","Nepali",[1,2],2],["nl","Dutch",[1,2],2],["nn","Norwegian Nynorsk",[1,2],2],["no","Norwegian",[1,2],2],["nso","Northern Sotho",[1,2],2],["oc","Occitan",[1,2],1],["or","Oriya",[2,1],2],["pa","Punjabi",[1,2],2],["pap","Papiamento",[1,2],2],["pl","Polish",[1,2,5],7],["pms","Piemontese",[1,2],2],["ps","Pashto",[1,2],2],["pt","Portuguese",[1,2],2],["pt_br","Brazilian Portuguese",[1,2],2],["rm","Romansh",[1,2],2],["ro","Romanian",[1,2,20],20],["ru","Russian",[1,2,5],4],["sah","Yakut",[1],3],["sco","Scots",[1,2],2],["se","Northern Sami",[1,2],2],["si","Sinhala",[1,2],2],["sk","Slovak",[1,2,5],6],["sl","Slovenian",[5,1,2,3],21],["so","Somali",[1,2],2],["son","Songhay",[1,2],2],["sq","Albanian",[1,2],2],["sr","Serbian",[1,2,5],4],["su","Sundanese",[1],3],["sv","Swedish",[1,2],2],["sw","Swahili",[1,2],2],["ta","Tamil",[1,2],2],["te","Telugu",[1,2],2],["tg","Tajik",[1,2],1],["th","Thai",[1],3],["ti","Tigrinya",[1,2],1],["tk","Turkmen",[1,2],2],["tr","Turkish",[1,2],1],["tt","Tatar",[1],3],["ug","Uyghur",[1],3],["uk","Ukrainian",[1,2,5],4],["ur","Urdu",[1,2],2],["uz","Uzbek",[1,2],1],["vi","Vietnamese",[1],3],["wa","Walloon",[1,2],1],["wo","Wolof",[1],3],["yo","Yoruba",[1,2],2],["zh","Chinese",[1],3]],V={1:function(a){return Number(a>1)},2:function(a){return Number(1!=a)},3:function(){return 0},4:function(a){return Number(1==a%10&&11!=a%100?0:a%10>=2&&4>=a%10&&(10>a%100||a%100>=20)?1:2)},5:function(a){return Number(0===a?0:1==a?1:2==a?2:a%100>=3&&10>=a%100?3:a%100>=11?4:5)},6:function(a){return Number(1==a?0:a>=2&&4>=a?1:2)},7:function(a){return Number(1==a?0:a%10>=2&&4>=a%10&&(10>a%100||a%100>=20)?1:2)},8:function(a){return Number(1==a?0:2==a?1:8!=a&&11!=a?2:3)},9:function(a){return Number(a>=2)},10:function(a){return Number(1==a?0:2==a?1:7>a?2:11>a?3:4)},11:function(a){return Number(1==a||11==a?0:2==a||12==a?1:a>2&&20>a?2:3)},12:function(a){return Number(1!=a%10||11==a%100)},13:function(a){return Number(0!==a)},14:function(a){return Number(1==a?0:2==a?1:3==a?2:3)},15:function(a){return Number(1==a%10&&11!=a%100?0:a%10>=2&&(10>a%100||a%100>=20)?1:2)},16:function(a){return Number(1==a%10&&11!=a%100?0:0!==a?1:2)},17:function(a){return Number(1==a||1==a%10?0:1)},18:function(a){return Number(1==a?1:2)},19:function(a){return Number(1==a?0:0===a||a%100>1&&11>a%100?1:a%100>10&&20>a%100?2:3)},20:function(a){return Number(1==a?0:0===a||a%100>0&&20>a%100?1:2)},21:function(a){return Number(1==a%100?1:2==a%100?2:3==a%100||4==a%100?3:0)}},W={rules:function(){var a,b={};for(a=U.length;a--;)b[U[a][0]]={name:U[a][1],numbers:U[a][2],plurals:V[U[a][3]]};return b}(),addRule:function(a,b){W.rules[a]=b},setCurrentLng:function(a){if(!W.currentRule||W.currentRule.lng!==a){var b=a.split("-");W.currentRule={lng:a,rule:W.rules[b[0]]}}},needsPlural:function(a,b){var c,d=a.split("-");return c=W.currentRule&&W.currentRule.lng===a?W.currentRule.rule:W.rules[d[T.getCountyIndexOfLng(a)]],c&&c.numbers.length<=1?!1:1!==this.get(a,b)},get:function(a,b){function c(b,c){var d;if(d=W.currentRule&&W.currentRule.lng===a?W.currentRule.rule:W.rules[b]){var e;e=d.noAbs?d.plurals(c):d.plurals(Math.abs(c));var f=d.numbers[e];return 2===d.numbers.length&&1===d.numbers[0]&&(2===f?f=-1:1===f&&(f=1)),f}return 1===c?"1":"-1"}var d=a.split("-");return c(d[T.getCountyIndexOfLng(a)],b)}},X={},Y=function(a,b){X[a]=b},Z=function(){function a(a){return Object.prototype.toString.call(a).slice(8,-1).toLowerCase()}function b(a,b){for(var c=[];b>0;c[--b]=a);return c.join("")}var c=function(){return c.cache.hasOwnProperty(arguments[0])||(c.cache[arguments[0]]=c.parse(arguments[0])),c.format.call(null,c.cache[arguments[0]],arguments)};return c.format=function(c,d){var e,f,g,h,i,j,k,l=1,m=c.length,n="",o=[];for(f=0;m>f;f++)if(n=a(c[f]),"string"===n)o.push(c[f]);else if("array"===n){if(h=c[f],h[2])for(e=d[l],g=0;g<h[2].length;g++){if(!e.hasOwnProperty(h[2][g]))throw Z('[sprintf] property "%s" does not exist',h[2][g]);e=e[h[2][g]]}else e=h[1]?d[h[1]]:d[l++];if(/[^s]/.test(h[8])&&"number"!=a(e))throw Z("[sprintf] expecting number but found %s",a(e));switch(h[8]){case"b":e=e.toString(2);break;case"c":e=String.fromCharCode(e);break;case"d":e=parseInt(e,10);break;case"e":e=h[7]?e.toExponential(h[7]):e.toExponential();break;case"f":e=h[7]?parseFloat(e).toFixed(h[7]):parseFloat(e);break;case"o":e=e.toString(8);break;case"s":e=(e=String(e))&&h[7]?e.substring(0,h[7]):e;break;case"u":e=Math.abs(e);break;case"x":e=e.toString(16);break;case"X":e=e.toString(16).toUpperCase()}e=/[def]/.test(h[8])&&h[3]&&e>=0?"+"+e:e,j=h[4]?"0"==h[4]?"0":h[4].charAt(1):" ",k=h[6]-String(e).length,i=h[6]?b(j,k):"",o.push(h[5]?e+i:i+e)}return o.join("")},c.cache={},c.parse=function(a){for(var b=a,c=[],d=[],e=0;b;){if(null!==(c=/^[^\x25]+/.exec(b)))d.push(c[0]);else if(null!==(c=/^\x25{2}/.exec(b)))d.push("%");else{if(null===(c=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(b)))throw"[sprintf] huh?";if(c[2]){e|=1;var f=[],g=c[2],h=[];if(null===(h=/^([a-z_][a-z_\d]*)/i.exec(g)))throw"[sprintf] huh?";for(f.push(h[1]);""!==(g=g.substring(h[0].length));)if(null!==(h=/^\.([a-z_][a-z_\d]*)/i.exec(g)))f.push(h[1]);else{if(null===(h=/^\[(\d+)\]/.exec(g)))throw"[sprintf] huh?";f.push(h[1])}c[2]=f}else e|=2;if(3===e)throw"[sprintf] mixing positional and named placeholders is not (yet) supported";d.push(c)}b=b.substring(c[0].length)}return d},c}(),$=function(a,b){return b.unshift(a),Z.apply(null,b)};Y("sprintf",function(a,b,c){return c.sprintf?"[object Array]"===Object.prototype.toString.apply(c.sprintf)?$(a,c.sprintf):"object"==typeof c.sprintf?Z(a,c.sprintf):a:a}),I.init=f,I.setLng=p,I.preload=g,I.addResourceBundle=h,I.hasResourceBundle=i,I.addResource=k,I.addResources=l,I.removeResourceBundle=j,I.loadNamespace=n,I.loadNamespaces=o,I.setDefaultNamespace=m,I.t=z,I.translate=z,I.exists=y,I.detectLanguage=T.detectLanguage,I.pluralExtensions=W,I.sync=N,I.functions=T,I.lng=q,I.addPostProcessor=Y,I.options=P}(),!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):window.jQuery||window.Zepto)}(function(a){var b,c,d,e,f,g,h="Close",i="BeforeClose",j="AfterClose",k="BeforeAppend",l="MarkupParse",m="Open",n="Change",o="mfp",p="."+o,q="mfp-ready",r="mfp-removing",s="mfp-prevent-close",t=function(){},u=!!window.jQuery,v=a(window),w=function(a,c){b.ev.on(o+a+p,c)},x=function(b,c,d,e){var f=document.createElement("div");return f.className="mfp-"+b,d&&(f.innerHTML=d),e?c&&c.appendChild(f):(f=a(f),c&&f.appendTo(c)),f},y=function(c,d){b.ev.triggerHandler(o+c,d),b.st.callbacks&&(c=c.charAt(0).toLowerCase()+c.slice(1),b.st.callbacks[c]&&b.st.callbacks[c].apply(b,a.isArray(d)?d:[d]))},z=function(c){return c===g&&b.currTemplate.closeBtn||(b.currTemplate.closeBtn=a(b.st.closeMarkup.replace("%title%",b.st.tClose)),g=c),b.currTemplate.closeBtn},A=function(){a.magnificPopup.instance||(b=new t,b.init(),a.magnificPopup.instance=b)},B=function(){var a=document.createElement("p").style,b=["ms","O","Moz","Webkit"];if(void 0!==a.transition)return!0;for(;b.length;)if(b.pop()+"Transition"in a)return!0;return!1};t.prototype={constructor:t,init:function(){var c=navigator.appVersion;b.isIE7=-1!==c.indexOf("MSIE 7."),b.isIE8=-1!==c.indexOf("MSIE 8."),b.isLowIE=b.isIE7||b.isIE8,b.isAndroid=/android/gi.test(c),b.isIOS=/iphone|ipad|ipod/gi.test(c),b.supportsTransition=B(),b.probablyMobile=b.isAndroid||b.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),d=a(document),b.popupsCache={}},open:function(c){var e;if(c.isObj===!1){b.items=c.items.toArray(),b.index=0;var g,h=c.items;for(e=0;e<h.length;e++)if(g=h[e],g.parsed&&(g=g.el[0]),g===c.el[0]){b.index=e;break}}else b.items=a.isArray(c.items)?c.items:[c.items],b.index=c.index||0;if(b.isOpen)return void b.updateItemHTML();b.types=[],f="",b.ev=c.mainEl&&c.mainEl.length?c.mainEl.eq(0):d,c.key?(b.popupsCache[c.key]||(b.popupsCache[c.key]={}),b.currTemplate=b.popupsCache[c.key]):b.currTemplate={},b.st=a.extend(!0,{},a.magnificPopup.defaults,c),b.fixedContentPos="auto"===b.st.fixedContentPos?!b.probablyMobile:b.st.fixedContentPos,b.st.modal&&(b.st.closeOnContentClick=!1,b.st.closeOnBgClick=!1,b.st.showCloseBtn=!1,b.st.enableEscapeKey=!1),b.bgOverlay||(b.bgOverlay=x("bg").on("click"+p,function(){b.close()}),b.wrap=x("wrap").attr("tabindex",-1).on("click"+p,function(a){b._checkIfClose(a.target)&&b.close()}),b.container=x("container",b.wrap)),b.contentContainer=x("content"),b.st.preloader&&(b.preloader=x("preloader",b.container,b.st.tLoading));var i=a.magnificPopup.modules;for(e=0;e<i.length;e++){var j=i[e];j=j.charAt(0).toUpperCase()+j.slice(1),b["init"+j].call(b)}y("BeforeOpen"),b.st.showCloseBtn&&(b.st.closeBtnInside?(w(l,function(a,b,c,d){c.close_replaceWith=z(d.type)}),f+=" mfp-close-btn-in"):b.wrap.append(z())),b.st.alignTop&&(f+=" mfp-align-top"),b.wrap.css(b.fixedContentPos?{overflow:b.st.overflowY,overflowX:"hidden",overflowY:b.st.overflowY}:{top:v.scrollTop(),position:"absolute"}),(b.st.fixedBgPos===!1||"auto"===b.st.fixedBgPos&&!b.fixedContentPos)&&b.bgOverlay.css({height:d.height(),position:"absolute"}),b.st.enableEscapeKey&&d.on("keyup"+p,function(a){27===a.keyCode&&b.close()}),v.on("resize"+p,function(){b.updateSize()}),b.st.closeOnContentClick||(f+=" mfp-auto-cursor"),f&&b.wrap.addClass(f);var k=b.wH=v.height(),n={};if(b.fixedContentPos&&b._hasScrollBar(k)){var o=b._getScrollbarSize();o&&(n.marginRight=o)}b.fixedContentPos&&(b.isIE7?a("body, html").css("overflow","hidden"):n.overflow="hidden");var r=b.st.mainClass;return b.isIE7&&(r+=" mfp-ie7"),r&&b._addClassToMFP(r),b.updateItemHTML(),y("BuildControls"),a("html").css(n),b.bgOverlay.add(b.wrap).prependTo(b.st.prependTo||a(document.body)),b._lastFocusedEl=document.activeElement,setTimeout(function(){b.content?(b._addClassToMFP(q),b._setFocus()):b.bgOverlay.addClass(q),d.on("focusin"+p,b._onFocusIn)},16),b.isOpen=!0,b.updateSize(k),y(m),c},close:function(){b.isOpen&&(y(i),b.isOpen=!1,b.st.removalDelay&&!b.isLowIE&&b.supportsTransition?(b._addClassToMFP(r),setTimeout(function(){b._close()},b.st.removalDelay)):b._close())},_close:function(){y(h);var c=r+" "+q+" ";if(b.bgOverlay.detach(),b.wrap.detach(),b.container.empty(),b.st.mainClass&&(c+=b.st.mainClass+" "),b._removeClassFromMFP(c),b.fixedContentPos){var e={marginRight:""};b.isIE7?a("body, html").css("overflow",""):e.overflow="",a("html").css(e)}d.off("keyup"+p+" focusin"+p),b.ev.off(p),b.wrap.attr("class","mfp-wrap").removeAttr("style"),b.bgOverlay.attr("class","mfp-bg"),b.container.attr("class","mfp-container"),!b.st.showCloseBtn||b.st.closeBtnInside&&b.currTemplate[b.currItem.type]!==!0||b.currTemplate.closeBtn&&b.currTemplate.closeBtn.detach(),b._lastFocusedEl&&a(b._lastFocusedEl).focus(),b.currItem=null,b.content=null,b.currTemplate=null,b.prevHeight=0,y(j)},updateSize:function(a){if(b.isIOS){var c=document.documentElement.clientWidth/window.innerWidth,d=window.innerHeight*c;b.wrap.css("height",d),b.wH=d}else b.wH=a||v.height();b.fixedContentPos||b.wrap.css("height",b.wH),y("Resize")},updateItemHTML:function(){var c=b.items[b.index];b.contentContainer.detach(),b.content&&b.content.detach(),c.parsed||(c=b.parseEl(b.index));var d=c.type;if(y("BeforeChange",[b.currItem?b.currItem.type:"",d]),b.currItem=c,!b.currTemplate[d]){var f=b.st[d]?b.st[d].markup:!1;y("FirstMarkupParse",f),b.currTemplate[d]=f?a(f):!0}e&&e!==c.type&&b.container.removeClass("mfp-"+e+"-holder");var g=b["get"+d.charAt(0).toUpperCase()+d.slice(1)](c,b.currTemplate[d]);b.appendContent(g,d),c.preloaded=!0,y(n,c),e=c.type,b.container.prepend(b.contentContainer),y("AfterChange")},appendContent:function(a,c){b.content=a,a?b.st.showCloseBtn&&b.st.closeBtnInside&&b.currTemplate[c]===!0?b.content.find(".mfp-close").length||b.content.append(z()):b.content=a:b.content="",y(k),b.container.addClass("mfp-"+c+"-holder"),b.contentContainer.append(b.content)},parseEl:function(c){var d,e=b.items[c];if(e.tagName?e={el:a(e)}:(d=e.type,e={data:e,src:e.src}),e.el){for(var f=b.types,g=0;g<f.length;g++)if(e.el.hasClass("mfp-"+f[g])){d=f[g];break}e.src=e.el.attr("data-mfp-src"),e.src||(e.src=e.el.attr("href"))}return e.type=d||b.st.type||"inline",e.index=c,e.parsed=!0,b.items[c]=e,y("ElementParse",e),b.items[c]},addGroup:function(a,c){var d=function(d){d.mfpEl=this,b._openClick(d,a,c)};c||(c={});var e="click.magnificPopup";c.mainEl=a,c.items?(c.isObj=!0,a.off(e).on(e,d)):(c.isObj=!1,c.delegate?a.off(e).on(e,c.delegate,d):(c.items=a,a.off(e).on(e,d)))},_openClick:function(c,d,e){var f=void 0!==e.midClick?e.midClick:a.magnificPopup.defaults.midClick;if(f||2!==c.which&&!c.ctrlKey&&!c.metaKey){var g=void 0!==e.disableOn?e.disableOn:a.magnificPopup.defaults.disableOn;if(g)if(a.isFunction(g)){if(!g.call(b))return!0}else if(v.width()<g)return!0;c.type&&(c.preventDefault(),b.isOpen&&c.stopPropagation()),e.el=a(c.mfpEl),e.delegate&&(e.items=d.find(e.delegate)),b.open(e)}},updateStatus:function(a,d){if(b.preloader){c!==a&&b.container.removeClass("mfp-s-"+c),d||"loading"!==a||(d=b.st.tLoading);var e={status:a,text:d};y("UpdateStatus",e),a=e.status,d=e.text,b.preloader.html(d),b.preloader.find("a").on("click",function(a){a.stopImmediatePropagation()}),b.container.addClass("mfp-s-"+a),c=a}},_checkIfClose:function(c){if(!a(c).hasClass(s)){var d=b.st.closeOnContentClick,e=b.st.closeOnBgClick;if(d&&e)return!0;if(!b.content||a(c).hasClass("mfp-close")||b.preloader&&c===b.preloader[0])return!0;if(c===b.content[0]||a.contains(b.content[0],c)){if(d)return!0}else if(e&&a.contains(document,c))return!0;return!1}},_addClassToMFP:function(a){b.bgOverlay.addClass(a),b.wrap.addClass(a)},_removeClassFromMFP:function(a){this.bgOverlay.removeClass(a),b.wrap.removeClass(a)},_hasScrollBar:function(a){return(b.isIE7?d.height():document.body.scrollHeight)>(a||v.height())},_setFocus:function(){(b.st.focus?b.content.find(b.st.focus).eq(0):b.wrap).focus()},_onFocusIn:function(c){return c.target===b.wrap[0]||a.contains(b.wrap[0],c.target)?void 0:(b._setFocus(),!1)},_parseMarkup:function(b,c,d){var e;d.data&&(c=a.extend(d.data,c)),y(l,[b,c,d]),a.each(c,function(a,c){if(void 0===c||c===!1)return!0;if(e=a.split("_"),e.length>1){var d=b.find(p+"-"+e[0]);if(d.length>0){var f=e[1];"replaceWith"===f?d[0]!==c[0]&&d.replaceWith(c):"img"===f?d.is("img")?d.attr("src",c):d.replaceWith('<img src="'+c+'" class="'+d.attr("class")+'" />'):d.attr(e[1],c)}}else b.find(p+"-"+a).html(c)})},_getScrollbarSize:function(){if(void 0===b.scrollbarSize){var a=document.createElement("div");a.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(a),b.scrollbarSize=a.offsetWidth-a.clientWidth,document.body.removeChild(a)}return b.scrollbarSize}},a.magnificPopup={instance:null,proto:t.prototype,modules:[],open:function(b,c){return A(),b=b?a.extend(!0,{},b):{},b.isObj=!0,b.index=c||0,this.instance.open(b)},close:function(){return a.magnificPopup.instance&&a.magnificPopup.instance.close()},registerModule:function(b,c){c.options&&(a.magnificPopup.defaults[b]=c.options),a.extend(this.proto,c.proto),this.modules.push(b)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'<button title="%title%" type="button" class="mfp-close">&times;</button>',tClose:"Close (Esc)",tLoading:"Loading..."}},a.fn.magnificPopup=function(c){A();var d=a(this);if("string"==typeof c)if("open"===c){var e,f=u?d.data("magnificPopup"):d[0].magnificPopup,g=parseInt(arguments[1],10)||0;f.items?e=f.items[g]:(e=d,f.delegate&&(e=e.find(f.delegate)),e=e.eq(g)),b._openClick({mfpEl:e},d,f)}else b.isOpen&&b[c].apply(b,Array.prototype.slice.call(arguments,1));else c=a.extend(!0,{},c),u?d.data("magnificPopup",c):d[0].magnificPopup=c,b.addGroup(d,c);return d};var C,D,E,F="inline",G=function(){E&&(D.after(E.addClass(C)).detach(),E=null)};a.magnificPopup.registerModule(F,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){b.types.push(F),w(h+"."+F,function(){G()})},getInline:function(c,d){if(G(),c.src){var e=b.st.inline,f=a(c.src);if(f.length){var g=f[0].parentNode;g&&g.tagName&&(D||(C=e.hiddenClass,D=x(C),C="mfp-"+C),E=f.after(D).detach().removeClass(C)),b.updateStatus("ready")}else b.updateStatus("error",e.tNotFound),f=a("<div>");return c.inlineElement=f,f}return b.updateStatus("ready"),b._parseMarkup(d,{},c),d}}});var H,I="ajax",J=function(){H&&a(document.body).removeClass(H)},K=function(){J(),b.req&&b.req.abort()};a.magnificPopup.registerModule(I,{options:{
+settings:null,cursor:"mfp-ajax-cur",tError:'<a href="%url%">The content</a> could not be loaded.'},proto:{initAjax:function(){b.types.push(I),H=b.st.ajax.cursor,w(h+"."+I,K),w("BeforeChange."+I,K)},getAjax:function(c){H&&a(document.body).addClass(H),b.updateStatus("loading");var d=a.extend({url:c.src,success:function(d,e,f){var g={data:d,xhr:f};y("ParseAjax",g),b.appendContent(a(g.data),I),c.finished=!0,J(),b._setFocus(),setTimeout(function(){b.wrap.addClass(q)},16),b.updateStatus("ready"),y("AjaxContentAdded")},error:function(){J(),c.finished=c.loadError=!0,b.updateStatus("error",b.st.ajax.tError.replace("%url%",c.src))}},b.st.ajax.settings);return b.req=a.ajax(d),""}}});var L,M=function(c){if(c.data&&void 0!==c.data.title)return c.data.title;var d=b.st.image.titleSrc;if(d){if(a.isFunction(d))return d.call(b,c);if(c.el)return c.el.attr(d)||""}return""};a.magnificPopup.registerModule("image",{options:{markup:'<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'<a href="%url%">The image</a> could not be loaded.'},proto:{initImage:function(){var c=b.st.image,d=".image";b.types.push("image"),w(m+d,function(){"image"===b.currItem.type&&c.cursor&&a(document.body).addClass(c.cursor)}),w(h+d,function(){c.cursor&&a(document.body).removeClass(c.cursor),v.off("resize"+p)}),w("Resize"+d,b.resizeImage),b.isLowIE&&w("AfterChange",b.resizeImage)},resizeImage:function(){var a=b.currItem;if(a&&a.img&&b.st.image.verticalFit){var c=0;b.isLowIE&&(c=parseInt(a.img.css("padding-top"),10)+parseInt(a.img.css("padding-bottom"),10)),a.img.css("max-height",b.wH-c)}},_onImageHasSize:function(a){a.img&&(a.hasSize=!0,L&&clearInterval(L),a.isCheckingImgSize=!1,y("ImageHasSize",a),a.imgHidden&&(b.content&&b.content.removeClass("mfp-loading"),a.imgHidden=!1))},findImageSize:function(a){var c=0,d=a.img[0],e=function(f){L&&clearInterval(L),L=setInterval(function(){return d.naturalWidth>0?void b._onImageHasSize(a):(c>200&&clearInterval(L),c++,void(3===c?e(10):40===c?e(50):100===c&&e(500)))},f)};e(1)},getImage:function(c,d){var e=0,f=function(){c&&(c.img[0].complete?(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("ready")),c.hasSize=!0,c.loaded=!0,y("ImageLoadComplete")):(e++,200>e?setTimeout(f,100):g()))},g=function(){c&&(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("error",h.tError.replace("%url%",c.src))),c.hasSize=!0,c.loaded=!0,c.loadError=!0)},h=b.st.image,i=d.find(".mfp-img");if(i.length){var j=document.createElement("img");j.className="mfp-img",c.el&&c.el.find("img").length&&(j.alt=c.el.find("img").attr("alt")),c.img=a(j).on("load.mfploader",f).on("error.mfploader",g),j.src=c.src,i.is("img")&&(c.img=c.img.clone()),j=c.img[0],j.naturalWidth>0?c.hasSize=!0:j.width||(c.hasSize=!1)}return b._parseMarkup(d,{title:M(c),img_replaceWith:c.img},c),b.resizeImage(),c.hasSize?(L&&clearInterval(L),c.loadError?(d.addClass("mfp-loading"),b.updateStatus("error",h.tError.replace("%url%",c.src))):(d.removeClass("mfp-loading"),b.updateStatus("ready")),d):(b.updateStatus("loading"),c.loading=!0,c.hasSize||(c.imgHidden=!0,d.addClass("mfp-loading"),b.findImageSize(c)),d)}}});var N,O=function(){return void 0===N&&(N=void 0!==document.createElement("p").style.MozTransform),N};a.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(a){return a.is("img")?a:a.find("img")}},proto:{initZoom:function(){var a,c=b.st.zoom,d=".zoom";if(c.enabled&&b.supportsTransition){var e,f,g=c.duration,j=function(a){var b=a.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),d="all "+c.duration/1e3+"s "+c.easing,e={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},f="transition";return e["-webkit-"+f]=e["-moz-"+f]=e["-o-"+f]=e[f]=d,b.css(e),b},k=function(){b.content.css("visibility","visible")};w("BuildControls"+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.content.css("visibility","hidden"),a=b._getItemToZoom(),!a)return void k();f=j(a),f.css(b._getOffset()),b.wrap.append(f),e=setTimeout(function(){f.css(b._getOffset(!0)),e=setTimeout(function(){k(),setTimeout(function(){f.remove(),a=f=null,y("ZoomAnimationEnded")},16)},g)},16)}}),w(i+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.st.removalDelay=g,!a){if(a=b._getItemToZoom(),!a)return;f=j(a)}f.css(b._getOffset(!0)),b.wrap.append(f),b.content.css("visibility","hidden"),setTimeout(function(){f.css(b._getOffset())},16)}}),w(h+d,function(){b._allowZoom()&&(k(),f&&f.remove(),a=null)})}},_allowZoom:function(){return"image"===b.currItem.type},_getItemToZoom:function(){return b.currItem.hasSize?b.currItem.img:!1},_getOffset:function(c){var d;d=c?b.currItem.img:b.st.zoom.opener(b.currItem.el||b.currItem);var e=d.offset(),f=parseInt(d.css("padding-top"),10),g=parseInt(d.css("padding-bottom"),10);e.top-=a(window).scrollTop()-f;var h={width:d.width(),height:(u?d.innerHeight():d[0].offsetHeight)-g-f};return O()?h["-moz-transform"]=h.transform="translate("+e.left+"px,"+e.top+"px)":(h.left=e.left,h.top=e.top),h}}});var P="iframe",Q="//about:blank",R=function(a){if(b.currTemplate[P]){var c=b.currTemplate[P].find("iframe");c.length&&(a||(c[0].src=Q),b.isIE8&&c.css("display",a?"block":"none"))}};a.magnificPopup.registerModule(P,{options:{markup:'<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){b.types.push(P),w("BeforeChange",function(a,b,c){b!==c&&(b===P?R():c===P&&R(!0))}),w(h+"."+P,function(){R()})},getIframe:function(c,d){var e=c.src,f=b.st.iframe;a.each(f.patterns,function(){return e.indexOf(this.index)>-1?(this.id&&(e="string"==typeof this.id?e.substr(e.lastIndexOf(this.id)+this.id.length,e.length):this.id.call(this,e)),e=this.src.replace("%id%",e),!1):void 0});var g={};return f.srcAction&&(g[f.srcAction]=e),b._parseMarkup(d,g,c),b.updateStatus("ready"),d}}});var S=function(a){var c=b.items.length;return a>c-1?a-c:0>a?c+a:a},T=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var c=b.st.gallery,e=".mfp-gallery",g=Boolean(a.fn.mfpFastClick);return b.direction=!0,c&&c.enabled?(f+=" mfp-gallery",w(m+e,function(){c.navigateByImgClick&&b.wrap.on("click"+e,".mfp-img",function(){return b.items.length>1?(b.next(),!1):void 0}),d.on("keydown"+e,function(a){37===a.keyCode?b.prev():39===a.keyCode&&b.next()})}),w("UpdateStatus"+e,function(a,c){c.text&&(c.text=T(c.text,b.currItem.index,b.items.length))}),w(l+e,function(a,d,e,f){var g=b.items.length;e.counter=g>1?T(c.tCounter,f.index,g):""}),w("BuildControls"+e,function(){if(b.items.length>1&&c.arrows&&!b.arrowLeft){var d=c.arrowMarkup,e=b.arrowLeft=a(d.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,"left")).addClass(s),f=b.arrowRight=a(d.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,"right")).addClass(s),h=g?"mfpFastClick":"click";e[h](function(){b.prev()}),f[h](function(){b.next()}),b.isIE7&&(x("b",e[0],!1,!0),x("a",e[0],!1,!0),x("b",f[0],!1,!0),x("a",f[0],!1,!0)),b.container.append(e.add(f))}}),w(n+e,function(){b._preloadTimeout&&clearTimeout(b._preloadTimeout),b._preloadTimeout=setTimeout(function(){b.preloadNearbyImages(),b._preloadTimeout=null},16)}),void w(h+e,function(){d.off(e),b.wrap.off("click"+e),b.arrowLeft&&g&&b.arrowLeft.add(b.arrowRight).destroyMfpFastClick(),b.arrowRight=b.arrowLeft=null})):!1},next:function(){b.direction=!0,b.index=S(b.index+1),b.updateItemHTML()},prev:function(){b.direction=!1,b.index=S(b.index-1),b.updateItemHTML()},goTo:function(a){b.direction=a>=b.index,b.index=a,b.updateItemHTML()},preloadNearbyImages:function(){var a,c=b.st.gallery.preload,d=Math.min(c[0],b.items.length),e=Math.min(c[1],b.items.length);for(a=1;a<=(b.direction?e:d);a++)b._preloadItem(b.index+a);for(a=1;a<=(b.direction?d:e);a++)b._preloadItem(b.index-a)},_preloadItem:function(c){if(c=S(c),!b.items[c].preloaded){var d=b.items[c];d.parsed||(d=b.parseEl(c)),y("LazyLoad",d),"image"===d.type&&(d.img=a('<img class="mfp-img" />').on("load.mfploader",function(){d.hasSize=!0}).on("error.mfploader",function(){d.hasSize=!0,d.loadError=!0,y("LazyLoadError",d)}).attr("src",d.src)),d.preloaded=!0}}}});var U="retina";a.magnificPopup.registerModule(U,{options:{replaceSrc:function(a){return a.src.replace(/\.\w+$/,function(a){return"@2x"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=b.st.retina,c=a.ratio;c=isNaN(c)?c():c,c>1&&(w("ImageHasSize."+U,function(a,b){b.img.css({"max-width":b.img[0].naturalWidth/c,width:"100%"})}),w("ElementParse."+U,function(b,d){d.src=a.replaceSrc(d,c)}))}}}}),function(){var b=1e3,c="ontouchstart"in window,d=function(){v.off("touchmove"+f+" touchend"+f)},e="mfpFastClick",f="."+e;a.fn.mfpFastClick=function(e){return a(this).each(function(){var g,h=a(this);if(c){var i,j,k,l,m,n;h.on("touchstart"+f,function(a){l=!1,n=1,m=a.originalEvent?a.originalEvent.touches[0]:a.touches[0],j=m.clientX,k=m.clientY,v.on("touchmove"+f,function(a){m=a.originalEvent?a.originalEvent.touches:a.touches,n=m.length,m=m[0],(Math.abs(m.clientX-j)>10||Math.abs(m.clientY-k)>10)&&(l=!0,d())}).on("touchend"+f,function(a){d(),l||n>1||(g=!0,a.preventDefault(),clearTimeout(i),i=setTimeout(function(){g=!1},b),e())})})}h.on("click"+f,function(){g||e()})})},a.fn.destroyMfpFastClick=function(){a(this).off("touchstart"+f+" click"+f),c&&v.off("touchmove"+f+" touchend"+f)}}(),A()});/*!
* Source: lib/translation.js, license: MIT, url: https://webtranslateit.com/en/projects/10365-JSXC
*/
var I18next={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."}},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}},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 audio/video 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."}},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:"Sólo 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:"Fallo 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, elegir una pregunta cuya respuesta se conoce sólo usted y su amigo.",
-Ask:"Preguntar",To_authenticate_pick_a_secret_:"Para autenticar, elija un secreto conocido sólo 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:"mas ausente",offline:"desconectado",none:"nadie",Unknown_instance_tag:"Etiqueta de instancia desconocida.",Not_one_of_our_latest_keys:"No de nuestra ultima tecla.",Received_an_unreadable_encrypted_message:"Se recibió un mensaje cifrado ilegible.",Online:"En linea",Chatty:"Hablador",Away:"Ausente",Extended_away:"Mas 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:"Apodar",URL:"URL",ADR:"Dirección",STREET:"Calle",EXTADD:"Extendido dirección",LOCALITY:"Población",REGION:"Región",PCODE:"Código postal",CTRY:"País",TEL:"Teléfono",NUMBER:"Número",EMAIL:"Emilio",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: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:"Activar",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_:"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 vacia <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: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}},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}},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 archivé",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 à refusé de donner les 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."}},"hu-HU":{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}},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}},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}},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:"Masz 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:"Zwrotna niezaszyfrowana 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!",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ą np. za pomocą telefonu.",Your_fingerprint:"Twój kod:",Buddy_fingerprint:"Kod rozmówcy",Close:"Zamknij",Compared:"Porównano",To_authenticate_using_a_question_:"Aby autoryzować za pomocą pytania, wybierz pytanie na które tylko 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 zna tylko Twój rozmówca.",Compare:"Dopasuj",Fingerprints:"Kody autoryzacyjne",Authentication:"Autoryzacja",Message:"Wiadomość",Add_buddy:"Dodaj kontakt",rename_buddy:"Zmień nazwę",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ń rozmówcę",You_are_about_to_remove_:"Twój rozmówca {{bid_name}} (<b>{{bid_jid}}</b>) usunął Cię ze swojej listy kontaktów.",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:"Zapytanie od znajomego?",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:"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:null,Call_terminated:null,Carbon_copy:"Do wiadomości",Enable:"Włączone",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:"Ok",PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,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: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}},"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:"Seu fingerprint",Buddy_fingerprint:"Fingerprint 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:"Fingerprints",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:" ",ORG:"Empresa",ORGNAME:"Nome",ORGUNIT:"Unidade",TITLE:"Cargo",ROLE:"Rol",BDAY:"Data de nascimento",DESC:"Descrição",PHOTO:" ",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:null,Join:null,Room:null,Nickname:"Apelido",left_the_building:null,entered_the_room:null,is_now_known_as:"__oldNickname__ agora é conhecido como __newNickname__",This_room_is:null,muc_hidden:{keyword:null,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:null,description:'Somente pessoas com "voice" podem enviar mensagens'},muc_nonanonymous:{keyword:null,description:null},muc_open:{keyword:null,description:"Todos podem entrar"},muc_passwordprotected:{keyword:null,description:"você precisa fornecer a senha correta"},muc_persistent:{keyword:null,description:"Não será destruída se o último ocupante tiver saído"},muc_public:{keyword:null,description:null},muc_semianonymous:{keyword:null,description:"Sua identificação jabber só é exposta para administradores da sala"},muc_temporary:{keyword:null,
-description:"Será destruída se o último ocupante tiver saído"},muc_unmoderated:{keyword:null,description:"Todos tem permissão de enviar mensagens"},muc_unsecured:{keyword:null,description:"Você não precisa de senha para entrar"},Continue:null,Server:null,Rooms_are_loaded:null,Could_load_only:null,muc_explanation:null,You_already_joined_this_room:"Você já entrou nesta sala",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:"__nickname__ foi banido da sala",muc_removed_affiliation:null,muc_removed_info_affiliation:null,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: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:"Você ou seu navegador negou permissão para acessar audio/video",Use_local_audio_device:null,Use_local_video_device:null,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:null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":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}},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 серверу."}}};/*!
+Ask:"Preguntar",To_authenticate_pick_a_secret_:"Para autenticar, elija un secreto conocido sólo 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:"mas ausente",offline:"desconectado",none:"nadie",Unknown_instance_tag:"Etiqueta de instancia desconocida.",Not_one_of_our_latest_keys:"No de nuestra ultima tecla.",Received_an_unreadable_encrypted_message:"Se recibió un mensaje cifrado ilegible.",Online:"En linea",Chatty:"Hablador",Away:"Ausente",Extended_away:"Mas 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:"Apodar",URL:"URL",ADR:"Dirección",STREET:"Calle",EXTADD:"Extendido dirección",LOCALITY:"Población",REGION:"Región",PCODE:"Código postal",CTRY:"País",TEL:"Teléfono",NUMBER:"Número",EMAIL:"Emilio",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: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:"Activar",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_:"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 vacia <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: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}},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}},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 à refusé de donner les 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."}},"hu-HU":{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}},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}},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}},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:"Masz 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:"Zwrotna niezaszyfrowana 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!",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ą np. za pomocą telefonu.",Your_fingerprint:"Twój kod:",Buddy_fingerprint:"Kod rozmówcy",Close:"Zamknij",Compared:"Porównano",To_authenticate_using_a_question_:"Aby autoryzować za pomocą pytania, wybierz pytanie na które tylko 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 zna tylko Twój rozmówca.",Compare:"Dopasuj",Fingerprints:"Kody autoryzacyjne",Authentication:"Autoryzacja",Message:"Wiadomość",Add_buddy:"Dodaj kontakt",rename_buddy:"Zmień nazwę",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ń rozmówcę",You_are_about_to_remove_:"Twój rozmówca {{bid_name}} (<b>{{bid_jid}}</b>) usunął Cię ze swojej listy kontaktów.",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:"Zapytanie od znajomego?",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:"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:null,Call_terminated:null,Carbon_copy:"Do wiadomości",Enable:"Włączone",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:"Ok",PermissionDeniedError:null,Use_local_audio_device:null,Use_local_video_device:null,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: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}},"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:"Seu fingerprint",Buddy_fingerprint:"Fingerprint 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:"Fingerprints",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:" ",ORG:"Empresa",ORGNAME:"Nome",ORGUNIT:"Unidade",TITLE:"Cargo",ROLE:"Rol",BDAY:"Data de nascimento",DESC:"Descrição",PHOTO:" ",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:null,Join:null,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:null,description:null},muc_open:{keyword:"abrir",description:"Todos podem entrar"},muc_passwordprotected:{keyword:null,description:"você precisa fornecer a senha correta"},muc_persistent:{keyword:null,description:"Não será destruída se o último ocupante tiver saído"},muc_public:{keyword:"público",description:null},muc_semianonymous:{keyword:null,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:null,description:"Você não precisa de senha para entrar"},Continue:"Avançar",Server:null,Rooms_are_loaded:"Sala carregada",Could_load_only:null,muc_explanation:null,You_already_joined_this_room:"Você já entrou nesta sala",This_room_will_be_closed:"Esta sala será fechada",Room_not_found_:null,Loading_room_information:"Carregar informação da sala",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:"__nickname__ foi banido da sala",muc_removed_affiliation:null,muc_removed_info_affiliation:null,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:null,muc_removed_shutdown:null,Reason:"Motivo",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:"Alerta",Call_started:null,Call_terminated:null,Carbon_copy:null,Enable:null,jingle_reason_busy:"ocupado",jingle_reason_decline:null,jingle_reason_success:null,Media_failure:null,No_local_audio_device:null,No_local_video_device:null,Ok:"Ok",PermissionDeniedError:"Você ou seu navegador negou permissão para acessar audio/video",Use_local_audio_device:null,Use_local_video_device:null,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":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":"Essas opções são usadas para conectar no Servidor XMPP"}},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}},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 серверу."}}};/*!
* Source: lib/favico.js/favico.js, license: MIT, url: https://github.com/ejci/favico.js
*/
/**
@@ -122,7 +44,7 @@ description:"Será destruída se o último ocupante tiver saído"},muc_unmoderat
* @author Miroslav Magda, http://blog.ejci.net
* @version 0.3.10
*/
-!function(){var Favico=function(opt){"use strict";function drawVideo(video){if(video.paused||video.ended||_stop)return!1;try{_context.clearRect(0,0,_w,_h),_context.drawImage(video,0,0,_w,_h)}catch(e){}_drawTimeout=setTimeout(function(){drawVideo(video)},animation.duration),link.setIcon(_canvas)}function hexToRgb(hex){var shorthandRegex=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;hex=hex.replace(shorthandRegex,function(m,r,g,b){return r+r+g+g+b+b});var result=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);return result?{r:parseInt(result[1],16),g:parseInt(result[2],16),b:parseInt(result[3],16)}:!1}function merge(def,opt){var attrname,mergedOpt={};for(attrname in def)mergedOpt[attrname]=def[attrname];for(attrname in opt)mergedOpt[attrname]=opt[attrname];return mergedOpt}function isPageHidden(){return _doc.hidden||_doc.msHidden||_doc.webkitHidden||_doc.mozHidden}opt=opt?opt:{};var _opt,_orig,_h,_w,_canvas,_context,_img,_ready,_lastBadge,_running,_readyCb,_stop,_browser,_animTimeout,_drawTimeout,_doc,_def={bgColor:"#d00",textColor:"#fff",fontFamily:"sans-serif",fontStyle:"bold",type:"circle",position:"down",animation:"slide",elementId:!1,dataUrl:!1,win:window};_browser={},_browser.ff="undefined"!=typeof InstallTrigger,_browser.chrome=!!window.chrome,_browser.opera=!!window.opera||navigator.userAgent.indexOf("Opera")>=0,_browser.ie=/*@cc_on!@*/!1,_browser.safari=Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")>0,_browser.supported=_browser.chrome||_browser.ff||_browser.opera;var _queue=[];_readyCb=function(){},_ready=_stop=!1;var init=function(){_opt=merge(_def,opt),_opt.bgColor=hexToRgb(_opt.bgColor),_opt.textColor=hexToRgb(_opt.textColor),_opt.position=_opt.position.toLowerCase(),_opt.animation=animation.types[""+_opt.animation]?_opt.animation:_def.animation,_doc=_opt.win.document;var isUp=_opt.position.indexOf("up")>-1,isLeft=_opt.position.indexOf("left")>-1;if(isUp||isLeft)for(var i=0;i<animation.types[""+_opt.animation].length;i++){var step=animation.types[""+_opt.animation][i];isUp&&(step.y<.6?step.y=step.y-.4:step.y=step.y-2*step.y+(1-step.w)),isLeft&&(step.x<.6?step.x=step.x-.4:step.x=step.x-2*step.x+(1-step.h)),animation.types[""+_opt.animation][i]=step}_opt.type=type[""+_opt.type]?_opt.type:_def.type,_orig=link.getIcon(),_canvas=document.createElement("canvas"),_img=document.createElement("img"),_orig.hasAttribute("href")?(_img.setAttribute("crossOrigin","anonymous"),_img.onload=function(){_h=_img.height>0?_img.height:32,_w=_img.width>0?_img.width:32,_canvas.height=_h,_canvas.width=_w,_context=_canvas.getContext("2d"),icon.ready()},_img.setAttribute("src",_orig.getAttribute("href"))):(_img.onload=function(){_h=32,_w=32,_img.height=_h,_img.width=_w,_canvas.height=_h,_canvas.width=_w,_context=_canvas.getContext("2d"),icon.ready()},_img.setAttribute("src",""))},icon={};icon.ready=function(){_ready=!0,icon.reset(),_readyCb()},icon.reset=function(){_ready&&(_queue=[],_lastBadge=!1,_running=!1,_context.clearRect(0,0,_w,_h),_context.drawImage(_img,0,0,_w,_h),link.setIcon(_canvas),window.clearTimeout(_animTimeout),window.clearTimeout(_drawTimeout))},icon.start=function(){if(_ready&&!_running){var finished=function(){_lastBadge=_queue[0],_running=!1,_queue.length>0&&(_queue.shift(),icon.start())};if(_queue.length>0){_running=!0;var run=function(){["type","animation","bgColor","textColor","fontFamily","fontStyle"].forEach(function(a){a in _queue[0].options&&(_opt[a]=_queue[0].options[a])}),animation.run(_queue[0].options,function(){finished()},!1)};_lastBadge?animation.run(_lastBadge.options,function(){run()},!0):run()}}};var type={},options=function(opt){return opt.n="number"==typeof opt.n?Math.abs(0|opt.n):opt.n,opt.x=_w*opt.x,opt.y=_h*opt.y,opt.w=_w*opt.w,opt.h=_h*opt.h,opt.len=(""+opt.n).length,opt};type.circle=function(opt){opt=options(opt);var more=!1;2===opt.len?(opt.x=opt.x-.4*opt.w,opt.w=1.4*opt.w,more=!0):opt.len>=3&&(opt.x=opt.x-.65*opt.w,opt.w=1.65*opt.w,more=!0),_context.clearRect(0,0,_w,_h),_context.drawImage(_img,0,0,_w,_h),_context.beginPath(),_context.font=_opt.fontStyle+" "+Math.floor(opt.h*(opt.n>99?.85:1))+"px "+_opt.fontFamily,_context.textAlign="center",more?(_context.moveTo(opt.x+opt.w/2,opt.y),_context.lineTo(opt.x+opt.w-opt.h/2,opt.y),_context.quadraticCurveTo(opt.x+opt.w,opt.y,opt.x+opt.w,opt.y+opt.h/2),_context.lineTo(opt.x+opt.w,opt.y+opt.h-opt.h/2),_context.quadraticCurveTo(opt.x+opt.w,opt.y+opt.h,opt.x+opt.w-opt.h/2,opt.y+opt.h),_context.lineTo(opt.x+opt.h/2,opt.y+opt.h),_context.quadraticCurveTo(opt.x,opt.y+opt.h,opt.x,opt.y+opt.h-opt.h/2),_context.lineTo(opt.x,opt.y+opt.h/2),_context.quadraticCurveTo(opt.x,opt.y,opt.x+opt.h/2,opt.y)):_context.arc(opt.x+opt.w/2,opt.y+opt.h/2,opt.h/2,0,2*Math.PI),_context.fillStyle="rgba("+_opt.bgColor.r+","+_opt.bgColor.g+","+_opt.bgColor.b+","+opt.o+")",_context.fill(),_context.closePath(),_context.beginPath(),_context.stroke(),_context.fillStyle="rgba("+_opt.textColor.r+","+_opt.textColor.g+","+_opt.textColor.b+","+opt.o+")","number"==typeof opt.n&&opt.n>999?_context.fillText((opt.n>9999?9:Math.floor(opt.n/1e3))+"k+",Math.floor(opt.x+opt.w/2),Math.floor(opt.y+opt.h-.2*opt.h)):_context.fillText(opt.n,Math.floor(opt.x+opt.w/2),Math.floor(opt.y+opt.h-.15*opt.h)),_context.closePath()},type.rectangle=function(opt){opt=options(opt);var more=!1;2===opt.len?(opt.x=opt.x-.4*opt.w,opt.w=1.4*opt.w,more=!0):opt.len>=3&&(opt.x=opt.x-.65*opt.w,opt.w=1.65*opt.w,more=!0),_context.clearRect(0,0,_w,_h),_context.drawImage(_img,0,0,_w,_h),_context.beginPath(),_context.font=_opt.fontStyle+" "+Math.floor(opt.h*(opt.n>99?.9:1))+"px "+_opt.fontFamily,_context.textAlign="center",_context.fillStyle="rgba("+_opt.bgColor.r+","+_opt.bgColor.g+","+_opt.bgColor.b+","+opt.o+")",_context.fillRect(opt.x,opt.y,opt.w,opt.h),_context.fillStyle="rgba("+_opt.textColor.r+","+_opt.textColor.g+","+_opt.textColor.b+","+opt.o+")","number"==typeof opt.n&&opt.n>999?_context.fillText((opt.n>9999?9:Math.floor(opt.n/1e3))+"k+",Math.floor(opt.x+opt.w/2),Math.floor(opt.y+opt.h-.2*opt.h)):_context.fillText(opt.n,Math.floor(opt.x+opt.w/2),Math.floor(opt.y+opt.h-.15*opt.h)),_context.closePath()};var badge=function(number,opts){opts=("string"==typeof opts?{animation:opts}:opts)||{},_readyCb=function(){try{if("number"==typeof number?number>0:""!==number){var q={type:"badge",options:{n:number}};if("animation"in opts&&animation.types[""+opts.animation]&&(q.options.animation=""+opts.animation),"type"in opts&&type[""+opts.type]&&(q.options.type=""+opts.type),["bgColor","textColor"].forEach(function(o){o in opts&&(q.options[o]=hexToRgb(opts[o]))}),["fontStyle","fontFamily"].forEach(function(o){o in opts&&(q.options[o]=opts[o])}),_queue.push(q),_queue.length>100)throw new Error("Too many badges requests in queue.");icon.start()}else icon.reset()}catch(e){throw new Error("Error setting badge. Message: "+e.message)}},_ready&&_readyCb()},image=function(imageElement){_readyCb=function(){try{var w=imageElement.width,h=imageElement.height,newImg=document.createElement("img"),ratio=h/_h>w/_w?w/_w:h/_h;newImg.setAttribute("crossOrigin","anonymous"),newImg.onload=function(){_context.clearRect(0,0,_w,_h),_context.drawImage(newImg,0,0,_w,_h),link.setIcon(_canvas)},newImg.setAttribute("src",imageElement.getAttribute("src")),newImg.height=h/ratio,newImg.width=w/ratio}catch(e){throw new Error("Error setting image. Message: "+e.message)}},_ready&&_readyCb()},video=function(videoElement){_readyCb=function(){try{if("stop"===videoElement)return _stop=!0,icon.reset(),void(_stop=!1);videoElement.addEventListener("play",function(){drawVideo(this)},!1)}catch(e){throw new Error("Error setting video. Message: "+e.message)}},_ready&&_readyCb()},webcam=function(action){if(window.URL&&window.URL.createObjectURL||(window.URL=window.URL||{},window.URL.createObjectURL=function(obj){return obj}),_browser.supported){var newVideo=!1;navigator.getUserMedia=navigator.getUserMedia||navigator.oGetUserMedia||navigator.msGetUserMedia||navigator.mozGetUserMedia||navigator.webkitGetUserMedia,_readyCb=function(){try{if("stop"===action)return _stop=!0,icon.reset(),void(_stop=!1);newVideo=document.createElement("video"),newVideo.width=_w,newVideo.height=_h,navigator.getUserMedia({video:!0,audio:!1},function(stream){newVideo.src=URL.createObjectURL(stream),newVideo.play(),drawVideo(newVideo)},function(){})}catch(e){throw new Error("Error setting webcam. Message: "+e.message)}},_ready&&_readyCb()}},link={};link.getIcon=function(){var elm=!1,getLink=function(){for(var link=_doc.getElementsByTagName("head")[0].getElementsByTagName("link"),l=link.length,i=l-1;i>=0;i--)if(/(^|\s)icon(\s|$)/i.test(link[i].getAttribute("rel")))return link[i];return!1};return _opt.element?elm=_opt.element:_opt.elementId?(elm=_doc.getElementById(_opt.elementId),elm.setAttribute("href",elm.getAttribute("src"))):(elm=getLink(),elm===!1&&(elm=_doc.createElement("link"),elm.setAttribute("rel","icon"),_doc.getElementsByTagName("head")[0].appendChild(elm))),elm.setAttribute("type","image/png"),elm},link.setIcon=function(canvas){var url=canvas.toDataURL("image/png");if(_opt.dataUrl&&_opt.dataUrl(url),_opt.element)_opt.element.setAttribute("href",url),_opt.element.setAttribute("src",url);else if(_opt.elementId){var elm=_doc.getElementById(_opt.elementId);elm.setAttribute("href",url),elm.setAttribute("src",url)}else if(_browser.ff||_browser.opera){var old=_orig;_orig=_doc.createElement("link"),_browser.opera&&_orig.setAttribute("rel","icon"),_orig.setAttribute("rel","icon"),_orig.setAttribute("type","image/png"),_doc.getElementsByTagName("head")[0].appendChild(_orig),_orig.setAttribute("href",url),old.parentNode&&old.parentNode.removeChild(old)}else _orig.setAttribute("href",url)};var animation={};return animation.duration=40,animation.types={},animation.types.fade=[{x:.4,y:.4,w:.6,h:.6,o:0},{x:.4,y:.4,w:.6,h:.6,o:.1},{x:.4,y:.4,w:.6,h:.6,o:.2},{x:.4,y:.4,w:.6,h:.6,o:.3},{x:.4,y:.4,w:.6,h:.6,o:.4},{x:.4,y:.4,w:.6,h:.6,o:.5},{x:.4,y:.4,w:.6,h:.6,o:.6},{x:.4,y:.4,w:.6,h:.6,o:.7},{x:.4,y:.4,w:.6,h:.6,o:.8},{x:.4,y:.4,w:.6,h:.6,o:.9},{x:.4,y:.4,w:.6,h:.6,o:1}],animation.types.none=[{x:.4,y:.4,w:.6,h:.6,o:1}],animation.types.pop=[{x:1,y:1,w:0,h:0,o:1},{x:.9,y:.9,w:.1,h:.1,o:1},{x:.8,y:.8,w:.2,h:.2,o:1},{x:.7,y:.7,w:.3,h:.3,o:1},{x:.6,y:.6,w:.4,h:.4,o:1},{x:.5,y:.5,w:.5,h:.5,o:1},{x:.4,y:.4,w:.6,h:.6,o:1}],animation.types.popFade=[{x:.75,y:.75,w:0,h:0,o:0},{x:.65,y:.65,w:.1,h:.1,o:.2},{x:.6,y:.6,w:.2,h:.2,o:.4},{x:.55,y:.55,w:.3,h:.3,o:.6},{x:.5,y:.5,w:.4,h:.4,o:.8},{x:.45,y:.45,w:.5,h:.5,o:.9},{x:.4,y:.4,w:.6,h:.6,o:1}],animation.types.slide=[{x:.4,y:1,w:.6,h:.6,o:1},{x:.4,y:.9,w:.6,h:.6,o:1},{x:.4,y:.9,w:.6,h:.6,o:1},{x:.4,y:.8,w:.6,h:.6,o:1},{x:.4,y:.7,w:.6,h:.6,o:1},{x:.4,y:.6,w:.6,h:.6,o:1},{x:.4,y:.5,w:.6,h:.6,o:1},{x:.4,y:.4,w:.6,h:.6,o:1}],animation.run=function(opt,cb,revert,step){var animationType=animation.types[isPageHidden()?"none":_opt.animation];return step=revert===!0?"undefined"!=typeof step?step:animationType.length-1:"undefined"!=typeof step?step:0,cb=cb?cb:function(){},step<animationType.length&&step>=0?(type[_opt.type](merge(opt,animationType[step])),_animTimeout=setTimeout(function(){revert?step-=1:step+=1,animation.run(opt,cb,revert,step)},animation.duration),link.setIcon(_canvas),void 0):void cb()},init(),{badge:badge,video:video,image:image,webcam:webcam,reset:icon.reset,browser:{supported:_browser.supported}}};"undefined"!=typeof define&&define.amd?define([],function(){return Favico}):"undefined"!=typeof module&&module.exports?module.exports=Favico:this.Favico=Favico}(),/*!
+!function(){var Favico=function(opt){"use strict";function drawVideo(video){if(video.paused||video.ended||_stop)return!1;try{_context.clearRect(0,0,_w,_h),_context.drawImage(video,0,0,_w,_h)}catch(e){}_drawTimeout=setTimeout(function(){drawVideo(video)},animation.duration),link.setIcon(_canvas)}function hexToRgb(hex){var shorthandRegex=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;hex=hex.replace(shorthandRegex,function(m,r,g,b){return r+r+g+g+b+b});var result=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);return result?{r:parseInt(result[1],16),g:parseInt(result[2],16),b:parseInt(result[3],16)}:!1}function merge(def,opt){var attrname,mergedOpt={};for(attrname in def)mergedOpt[attrname]=def[attrname];for(attrname in opt)mergedOpt[attrname]=opt[attrname];return mergedOpt}function isPageHidden(){return _doc.hidden||_doc.msHidden||_doc.webkitHidden||_doc.mozHidden}opt=opt?opt:{};var _opt,_orig,_h,_w,_canvas,_context,_img,_ready,_lastBadge,_running,_readyCb,_stop,_browser,_animTimeout,_drawTimeout,_doc,_def={bgColor:"#d00",textColor:"#fff",fontFamily:"sans-serif",fontStyle:"bold",type:"circle",position:"down",animation:"slide",elementId:!1,dataUrl:!1,win:window};_browser={},_browser.ff="undefined"!=typeof InstallTrigger,_browser.chrome=!!window.chrome,_browser.opera=!!window.opera||navigator.userAgent.indexOf("Opera")>=0,_browser.ie=!1,_browser.safari=Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")>0,_browser.supported=_browser.chrome||_browser.ff||_browser.opera;var _queue=[];_readyCb=function(){},_ready=_stop=!1;var init=function(){_opt=merge(_def,opt),_opt.bgColor=hexToRgb(_opt.bgColor),_opt.textColor=hexToRgb(_opt.textColor),_opt.position=_opt.position.toLowerCase(),_opt.animation=animation.types[""+_opt.animation]?_opt.animation:_def.animation,_doc=_opt.win.document;var isUp=_opt.position.indexOf("up")>-1,isLeft=_opt.position.indexOf("left")>-1;if(isUp||isLeft)for(var i=0;i<animation.types[""+_opt.animation].length;i++){var step=animation.types[""+_opt.animation][i];isUp&&(step.y<.6?step.y=step.y-.4:step.y=step.y-2*step.y+(1-step.w)),isLeft&&(step.x<.6?step.x=step.x-.4:step.x=step.x-2*step.x+(1-step.h)),animation.types[""+_opt.animation][i]=step}_opt.type=type[""+_opt.type]?_opt.type:_def.type,_orig=link.getIcon(),_canvas=document.createElement("canvas"),_img=document.createElement("img"),_orig.hasAttribute("href")?(_img.setAttribute("crossOrigin","anonymous"),_img.onload=function(){_h=_img.height>0?_img.height:32,_w=_img.width>0?_img.width:32,_canvas.height=_h,_canvas.width=_w,_context=_canvas.getContext("2d"),icon.ready()},_img.setAttribute("src",_orig.getAttribute("href"))):(_img.onload=function(){_h=32,_w=32,_img.height=_h,_img.width=_w,_canvas.height=_h,_canvas.width=_w,_context=_canvas.getContext("2d"),icon.ready()},_img.setAttribute("src",""))},icon={};icon.ready=function(){_ready=!0,icon.reset(),_readyCb()},icon.reset=function(){_ready&&(_queue=[],_lastBadge=!1,_running=!1,_context.clearRect(0,0,_w,_h),_context.drawImage(_img,0,0,_w,_h),link.setIcon(_canvas),window.clearTimeout(_animTimeout),window.clearTimeout(_drawTimeout))},icon.start=function(){if(_ready&&!_running){var finished=function(){_lastBadge=_queue[0],_running=!1,_queue.length>0&&(_queue.shift(),icon.start())};if(_queue.length>0){_running=!0;var run=function(){["type","animation","bgColor","textColor","fontFamily","fontStyle"].forEach(function(a){a in _queue[0].options&&(_opt[a]=_queue[0].options[a])}),animation.run(_queue[0].options,function(){finished()},!1)};_lastBadge?animation.run(_lastBadge.options,function(){run()},!0):run()}}};var type={},options=function(opt){return opt.n="number"==typeof opt.n?Math.abs(0|opt.n):opt.n,opt.x=_w*opt.x,opt.y=_h*opt.y,opt.w=_w*opt.w,opt.h=_h*opt.h,opt.len=(""+opt.n).length,opt};type.circle=function(opt){opt=options(opt);var more=!1;2===opt.len?(opt.x=opt.x-.4*opt.w,opt.w=1.4*opt.w,more=!0):opt.len>=3&&(opt.x=opt.x-.65*opt.w,opt.w=1.65*opt.w,more=!0),_context.clearRect(0,0,_w,_h),_context.drawImage(_img,0,0,_w,_h),_context.beginPath(),_context.font=_opt.fontStyle+" "+Math.floor(opt.h*(opt.n>99?.85:1))+"px "+_opt.fontFamily,_context.textAlign="center",more?(_context.moveTo(opt.x+opt.w/2,opt.y),_context.lineTo(opt.x+opt.w-opt.h/2,opt.y),_context.quadraticCurveTo(opt.x+opt.w,opt.y,opt.x+opt.w,opt.y+opt.h/2),_context.lineTo(opt.x+opt.w,opt.y+opt.h-opt.h/2),_context.quadraticCurveTo(opt.x+opt.w,opt.y+opt.h,opt.x+opt.w-opt.h/2,opt.y+opt.h),_context.lineTo(opt.x+opt.h/2,opt.y+opt.h),_context.quadraticCurveTo(opt.x,opt.y+opt.h,opt.x,opt.y+opt.h-opt.h/2),_context.lineTo(opt.x,opt.y+opt.h/2),_context.quadraticCurveTo(opt.x,opt.y,opt.x+opt.h/2,opt.y)):_context.arc(opt.x+opt.w/2,opt.y+opt.h/2,opt.h/2,0,2*Math.PI),_context.fillStyle="rgba("+_opt.bgColor.r+","+_opt.bgColor.g+","+_opt.bgColor.b+","+opt.o+")",_context.fill(),_context.closePath(),_context.beginPath(),_context.stroke(),_context.fillStyle="rgba("+_opt.textColor.r+","+_opt.textColor.g+","+_opt.textColor.b+","+opt.o+")","number"==typeof opt.n&&opt.n>999?_context.fillText((opt.n>9999?9:Math.floor(opt.n/1e3))+"k+",Math.floor(opt.x+opt.w/2),Math.floor(opt.y+opt.h-.2*opt.h)):_context.fillText(opt.n,Math.floor(opt.x+opt.w/2),Math.floor(opt.y+opt.h-.15*opt.h)),_context.closePath()},type.rectangle=function(opt){opt=options(opt);var more=!1;2===opt.len?(opt.x=opt.x-.4*opt.w,opt.w=1.4*opt.w,more=!0):opt.len>=3&&(opt.x=opt.x-.65*opt.w,opt.w=1.65*opt.w,more=!0),_context.clearRect(0,0,_w,_h),_context.drawImage(_img,0,0,_w,_h),_context.beginPath(),_context.font=_opt.fontStyle+" "+Math.floor(opt.h*(opt.n>99?.9:1))+"px "+_opt.fontFamily,_context.textAlign="center",_context.fillStyle="rgba("+_opt.bgColor.r+","+_opt.bgColor.g+","+_opt.bgColor.b+","+opt.o+")",_context.fillRect(opt.x,opt.y,opt.w,opt.h),_context.fillStyle="rgba("+_opt.textColor.r+","+_opt.textColor.g+","+_opt.textColor.b+","+opt.o+")","number"==typeof opt.n&&opt.n>999?_context.fillText((opt.n>9999?9:Math.floor(opt.n/1e3))+"k+",Math.floor(opt.x+opt.w/2),Math.floor(opt.y+opt.h-.2*opt.h)):_context.fillText(opt.n,Math.floor(opt.x+opt.w/2),Math.floor(opt.y+opt.h-.15*opt.h)),_context.closePath()};var badge=function(number,opts){opts=("string"==typeof opts?{animation:opts}:opts)||{},_readyCb=function(){try{if("number"==typeof number?number>0:""!==number){var q={type:"badge",options:{n:number}};if("animation"in opts&&animation.types[""+opts.animation]&&(q.options.animation=""+opts.animation),"type"in opts&&type[""+opts.type]&&(q.options.type=""+opts.type),["bgColor","textColor"].forEach(function(o){o in opts&&(q.options[o]=hexToRgb(opts[o]))}),["fontStyle","fontFamily"].forEach(function(o){o in opts&&(q.options[o]=opts[o])}),_queue.push(q),_queue.length>100)throw new Error("Too many badges requests in queue.");icon.start()}else icon.reset()}catch(e){throw new Error("Error setting badge. Message: "+e.message)}},_ready&&_readyCb()},image=function(imageElement){_readyCb=function(){try{var w=imageElement.width,h=imageElement.height,newImg=document.createElement("img"),ratio=h/_h>w/_w?w/_w:h/_h;newImg.setAttribute("crossOrigin","anonymous"),newImg.onload=function(){_context.clearRect(0,0,_w,_h),_context.drawImage(newImg,0,0,_w,_h),link.setIcon(_canvas)},newImg.setAttribute("src",imageElement.getAttribute("src")),newImg.height=h/ratio,newImg.width=w/ratio}catch(e){throw new Error("Error setting image. Message: "+e.message)}},_ready&&_readyCb()},video=function(videoElement){_readyCb=function(){try{if("stop"===videoElement)return _stop=!0,icon.reset(),void(_stop=!1);videoElement.addEventListener("play",function(){drawVideo(this)},!1)}catch(e){throw new Error("Error setting video. Message: "+e.message)}},_ready&&_readyCb()},webcam=function(action){if(window.URL&&window.URL.createObjectURL||(window.URL=window.URL||{},window.URL.createObjectURL=function(obj){return obj}),_browser.supported){var newVideo=!1;navigator.getUserMedia=navigator.getUserMedia||navigator.oGetUserMedia||navigator.msGetUserMedia||navigator.mozGetUserMedia||navigator.webkitGetUserMedia,_readyCb=function(){try{if("stop"===action)return _stop=!0,icon.reset(),void(_stop=!1);newVideo=document.createElement("video"),newVideo.width=_w,newVideo.height=_h,navigator.getUserMedia({video:!0,audio:!1},function(stream){newVideo.src=URL.createObjectURL(stream),newVideo.play(),drawVideo(newVideo)},function(){})}catch(e){throw new Error("Error setting webcam. Message: "+e.message)}},_ready&&_readyCb()}},link={};link.getIcon=function(){var elm=!1,getLink=function(){for(var link=_doc.getElementsByTagName("head")[0].getElementsByTagName("link"),l=link.length,i=l-1;i>=0;i--)if(/(^|\s)icon(\s|$)/i.test(link[i].getAttribute("rel")))return link[i];return!1};return _opt.element?elm=_opt.element:_opt.elementId?(elm=_doc.getElementById(_opt.elementId),elm.setAttribute("href",elm.getAttribute("src"))):(elm=getLink(),elm===!1&&(elm=_doc.createElement("link"),elm.setAttribute("rel","icon"),_doc.getElementsByTagName("head")[0].appendChild(elm))),elm.setAttribute("type","image/png"),elm},link.setIcon=function(canvas){var url=canvas.toDataURL("image/png");if(_opt.dataUrl&&_opt.dataUrl(url),_opt.element)_opt.element.setAttribute("href",url),_opt.element.setAttribute("src",url);else if(_opt.elementId){var elm=_doc.getElementById(_opt.elementId);elm.setAttribute("href",url),elm.setAttribute("src",url)}else if(_browser.ff||_browser.opera){var old=_orig;_orig=_doc.createElement("link"),_browser.opera&&_orig.setAttribute("rel","icon"),_orig.setAttribute("rel","icon"),_orig.setAttribute("type","image/png"),_doc.getElementsByTagName("head")[0].appendChild(_orig),_orig.setAttribute("href",url),old.parentNode&&old.parentNode.removeChild(old)}else _orig.setAttribute("href",url)};var animation={};return animation.duration=40,animation.types={},animation.types.fade=[{x:.4,y:.4,w:.6,h:.6,o:0},{x:.4,y:.4,w:.6,h:.6,o:.1},{x:.4,y:.4,w:.6,h:.6,o:.2},{x:.4,y:.4,w:.6,h:.6,o:.3},{x:.4,y:.4,w:.6,h:.6,o:.4},{x:.4,y:.4,w:.6,h:.6,o:.5},{x:.4,y:.4,w:.6,h:.6,o:.6},{x:.4,y:.4,w:.6,h:.6,o:.7},{x:.4,y:.4,w:.6,h:.6,o:.8},{x:.4,y:.4,w:.6,h:.6,o:.9},{x:.4,y:.4,w:.6,h:.6,o:1}],animation.types.none=[{x:.4,y:.4,w:.6,h:.6,o:1}],animation.types.pop=[{x:1,y:1,w:0,h:0,o:1},{x:.9,y:.9,w:.1,h:.1,o:1},{x:.8,y:.8,w:.2,h:.2,o:1},{x:.7,y:.7,w:.3,h:.3,o:1},{x:.6,y:.6,w:.4,h:.4,o:1},{x:.5,y:.5,w:.5,h:.5,o:1},{x:.4,y:.4,w:.6,h:.6,o:1}],animation.types.popFade=[{x:.75,y:.75,w:0,h:0,o:0},{x:.65,y:.65,w:.1,h:.1,o:.2},{x:.6,y:.6,w:.2,h:.2,o:.4},{x:.55,y:.55,w:.3,h:.3,o:.6},{x:.5,y:.5,w:.4,h:.4,o:.8},{x:.45,y:.45,w:.5,h:.5,o:.9},{x:.4,y:.4,w:.6,h:.6,o:1}],animation.types.slide=[{x:.4,y:1,w:.6,h:.6,o:1},{x:.4,y:.9,w:.6,h:.6,o:1},{x:.4,y:.9,w:.6,h:.6,o:1},{x:.4,y:.8,w:.6,h:.6,o:1},{x:.4,y:.7,w:.6,h:.6,o:1},{x:.4,y:.6,w:.6,h:.6,o:1},{x:.4,y:.5,w:.6,h:.6,o:1},{x:.4,y:.4,w:.6,h:.6,o:1}],animation.run=function(opt,cb,revert,step){var animationType=animation.types[isPageHidden()?"none":_opt.animation];return step=revert===!0?"undefined"!=typeof step?step:animationType.length-1:"undefined"!=typeof step?step:0,cb=cb?cb:function(){},step<animationType.length&&step>=0?(type[_opt.type](merge(opt,animationType[step])),_animTimeout=setTimeout(function(){revert?step-=1:step+=1,animation.run(opt,cb,revert,step)},animation.duration),link.setIcon(_canvas),void 0):void cb()},init(),{badge:badge,video:video,image:image,webcam:webcam,reset:icon.reset,browser:{supported:_browser.supported}}};"undefined"!=typeof define&&define.amd?define([],function(){return Favico}):"undefined"!=typeof module&&module.exports?module.exports=Favico:this.Favico=Favico}(),/*!
* Source: lib/emojione/lib/js/emojione.js, license: CC-BY 4.0, url: http://emojione.com
*/
function(ns){ns.emojioneList={":kiss_ww:":["1f469-200d-2764-fe0f-200d-1f48b-200d-1f469","1f469-2764-1f48b-1f469"],":couplekiss_ww:":["1f469-200d-2764-fe0f-200d-1f48b-200d-1f469","1f469-2764-1f48b-1f469"],":kiss_mm:":["1f468-200d-2764-fe0f-200d-1f48b-200d-1f468","1f468-2764-1f48b-1f468"],":couplekiss_mm:":["1f468-200d-2764-fe0f-200d-1f48b-200d-1f468","1f468-2764-1f48b-1f468"],":family_mmbb:":["1f468-200d-1f468-200d-1f466-200d-1f466","1f468-1f468-1f466-1f466"],":family_mmgb:":["1f468-200d-1f468-200d-1f467-200d-1f466","1f468-1f468-1f467-1f466"],":family_mmgg:":["1f468-200d-1f468-200d-1f467-200d-1f467","1f468-1f468-1f467-1f467"],":family_mwbb:":["1f468-200d-1f469-200d-1f466-200d-1f466","1f468-1f469-1f466-1f466"],":family_mwgb:":["1f468-200d-1f469-200d-1f467-200d-1f466","1f468-1f469-1f467-1f466"],":family_mwgg:":["1f468-200d-1f469-200d-1f467-200d-1f467","1f468-1f469-1f467-1f467"],":family_wwbb:":["1f469-200d-1f469-200d-1f466-200d-1f466","1f469-1f469-1f466-1f466"],":family_wwgb:":["1f469-200d-1f469-200d-1f467-200d-1f466","1f469-1f469-1f467-1f466"],":family_wwgg:":["1f469-200d-1f469-200d-1f467-200d-1f467","1f469-1f469-1f467-1f467"],":couple_ww:":["1f469-200d-2764-fe0f-200d-1f469","1f469-2764-1f469"],":couple_with_heart_ww:":["1f469-200d-2764-fe0f-200d-1f469","1f469-2764-1f469"],":couple_mm:":["1f468-200d-2764-fe0f-200d-1f468","1f468-2764-1f468"],":couple_with_heart_mm:":["1f468-200d-2764-fe0f-200d-1f468","1f468-2764-1f468"],":family_mmb:":["1f468-200d-1f468-200d-1f466","1f468-1f468-1f466"],":family_mmg:":["1f468-200d-1f468-200d-1f467","1f468-1f468-1f467"],":family_mwg:":["1f468-200d-1f469-200d-1f467","1f468-1f469-1f467"],":family_wwb:":["1f469-200d-1f469-200d-1f466","1f469-1f469-1f466"],":family_wwg:":["1f469-200d-1f469-200d-1f467","1f469-1f469-1f467"],":eye_in_speech_bubble:":["1f441-200d-1f5e8","1f441-1f5e8"],":hash:":["0023-fe0f-20e3","0023-20e3"],":zero:":["0030-fe0f-20e3","0030-20e3"],":one:":["0031-fe0f-20e3","0031-20e3"],":two:":["0032-fe0f-20e3","0032-20e3"],":three:":["0033-fe0f-20e3","0033-20e3"],":four:":["0034-fe0f-20e3","0034-20e3"],":five:":["0035-fe0f-20e3","0035-20e3"],":six:":["0036-fe0f-20e3","0036-20e3"],":seven:":["0037-fe0f-20e3","0037-20e3"],":eight:":["0038-fe0f-20e3","0038-20e3"],":nine:":["0039-fe0f-20e3","0039-20e3"],":asterisk:":["002a-fe0f-20e3","002a-20e3"],":keycap_asterisk:":["002a-fe0f-20e3","002a-20e3"],":metal_tone5:":["1f918-1f3ff"],":sign_of_the_horns_tone5:":["1f918-1f3ff"],":metal_tone4:":["1f918-1f3fe"],":sign_of_the_horns_tone4:":["1f918-1f3fe"],":metal_tone3:":["1f918-1f3fd"],":sign_of_the_horns_tone3:":["1f918-1f3fd"],":metal_tone2:":["1f918-1f3fc"],":sign_of_the_horns_tone2:":["1f918-1f3fc"],":metal_tone1:":["1f918-1f3fb"],":sign_of_the_horns_tone1:":["1f918-1f3fb"],":bath_tone5:":["1f6c0-1f3ff"],":bath_tone4:":["1f6c0-1f3fe"],":bath_tone3:":["1f6c0-1f3fd"],":bath_tone2:":["1f6c0-1f3fc"],":bath_tone1:":["1f6c0-1f3fb"],":walking_tone5:":["1f6b6-1f3ff"],":walking_tone4:":["1f6b6-1f3fe"],":walking_tone3:":["1f6b6-1f3fd"],":walking_tone2:":["1f6b6-1f3fc"],":walking_tone1:":["1f6b6-1f3fb"],":mountain_bicyclist_tone5:":["1f6b5-1f3ff"],":mountain_bicyclist_tone4:":["1f6b5-1f3fe"],":mountain_bicyclist_tone3:":["1f6b5-1f3fd"],":mountain_bicyclist_tone2:":["1f6b5-1f3fc"],":mountain_bicyclist_tone1:":["1f6b5-1f3fb"],":bicyclist_tone5:":["1f6b4-1f3ff"],":bicyclist_tone4:":["1f6b4-1f3fe"],":bicyclist_tone3:":["1f6b4-1f3fd"],":bicyclist_tone2:":["1f6b4-1f3fc"],":bicyclist_tone1:":["1f6b4-1f3fb"],":rowboat_tone5:":["1f6a3-1f3ff"],":rowboat_tone4:":["1f6a3-1f3fe"],":rowboat_tone3:":["1f6a3-1f3fd"],":rowboat_tone2:":["1f6a3-1f3fc"],":rowboat_tone1:":["1f6a3-1f3fb"],":pray_tone5:":["1f64f-1f3ff"],":pray_tone4:":["1f64f-1f3fe"],":pray_tone3:":["1f64f-1f3fd"],":pray_tone2:":["1f64f-1f3fc"],":pray_tone1:":["1f64f-1f3fb"],":person_with_pouting_face_tone5:":["1f64e-1f3ff"],":person_with_pouting_face_tone4:":["1f64e-1f3fe"],":person_with_pouting_face_tone3:":["1f64e-1f3fd"],":person_with_pouting_face_tone2:":["1f64e-1f3fc"],":person_with_pouting_face_tone1:":["1f64e-1f3fb"],":person_frowning_tone5:":["1f64d-1f3ff"],":person_frowning_tone4:":["1f64d-1f3fe"],":person_frowning_tone3:":["1f64d-1f3fd"],":person_frowning_tone2:":["1f64d-1f3fc"],":person_frowning_tone1:":["1f64d-1f3fb"],":raised_hands_tone5:":["1f64c-1f3ff"],":raised_hands_tone4:":["1f64c-1f3fe"],":raised_hands_tone3:":["1f64c-1f3fd"],":raised_hands_tone2:":["1f64c-1f3fc"],":raised_hands_tone1:":["1f64c-1f3fb"],":raising_hand_tone5:":["1f64b-1f3ff"],":raising_hand_tone4:":["1f64b-1f3fe"],":raising_hand_tone3:":["1f64b-1f3fd"],":raising_hand_tone2:":["1f64b-1f3fc"],":raising_hand_tone1:":["1f64b-1f3fb"],":bow_tone5:":["1f647-1f3ff"],":bow_tone4:":["1f647-1f3fe"],":bow_tone3:":["1f647-1f3fd"],":bow_tone2:":["1f647-1f3fc"],":bow_tone1:":["1f647-1f3fb"],":ok_woman_tone5:":["1f646-1f3ff"],":ok_woman_tone4:":["1f646-1f3fe"],":ok_woman_tone3:":["1f646-1f3fd"],":ok_woman_tone2:":["1f646-1f3fc"],":ok_woman_tone1:":["1f646-1f3fb"],":no_good_tone5:":["1f645-1f3ff"],":no_good_tone4:":["1f645-1f3fe"],":no_good_tone3:":["1f645-1f3fd"],":no_good_tone2:":["1f645-1f3fc"],":no_good_tone1:":["1f645-1f3fb"],":vulcan_tone5:":["1f596-1f3ff"],":raised_hand_with_part_between_middle_and_ring_fingers_tone5:":["1f596-1f3ff"],":vulcan_tone4:":["1f596-1f3fe"],":raised_hand_with_part_between_middle_and_ring_fingers_tone4:":["1f596-1f3fe"],":vulcan_tone3:":["1f596-1f3fd"],":raised_hand_with_part_between_middle_and_ring_fingers_tone3:":["1f596-1f3fd"],":vulcan_tone2:":["1f596-1f3fc"],":raised_hand_with_part_between_middle_and_ring_fingers_tone2:":["1f596-1f3fc"],":vulcan_tone1:":["1f596-1f3fb"],":raised_hand_with_part_between_middle_and_ring_fingers_tone1:":["1f596-1f3fb"],":middle_finger_tone5:":["1f595-1f3ff"],":reversed_hand_with_middle_finger_extended_tone5:":["1f595-1f3ff"],":middle_finger_tone4:":["1f595-1f3fe"],":reversed_hand_with_middle_finger_extended_tone4:":["1f595-1f3fe"],":middle_finger_tone3:":["1f595-1f3fd"],":reversed_hand_with_middle_finger_extended_tone3:":["1f595-1f3fd"],":middle_finger_tone2:":["1f595-1f3fc"],":reversed_hand_with_middle_finger_extended_tone2:":["1f595-1f3fc"],":middle_finger_tone1:":["1f595-1f3fb"],":reversed_hand_with_middle_finger_extended_tone1:":["1f595-1f3fb"],":hand_splayed_tone5:":["1f590-1f3ff"],":raised_hand_with_fingers_splayed_tone5:":["1f590-1f3ff"],":hand_splayed_tone4:":["1f590-1f3fe"],":raised_hand_with_fingers_splayed_tone4:":["1f590-1f3fe"],":hand_splayed_tone3:":["1f590-1f3fd"],":raised_hand_with_fingers_splayed_tone3:":["1f590-1f3fd"],":hand_splayed_tone2:":["1f590-1f3fc"],":raised_hand_with_fingers_splayed_tone2:":["1f590-1f3fc"],":hand_splayed_tone1:":["1f590-1f3fb"],":raised_hand_with_fingers_splayed_tone1:":["1f590-1f3fb"],":spy_tone5:":["1f575-1f3ff"],":sleuth_or_spy_tone5:":["1f575-1f3ff"],":spy_tone4:":["1f575-1f3fe"],":sleuth_or_spy_tone4:":["1f575-1f3fe"],":spy_tone3:":["1f575-1f3fd"],":sleuth_or_spy_tone3:":["1f575-1f3fd"],":spy_tone2:":["1f575-1f3fc"],":sleuth_or_spy_tone2:":["1f575-1f3fc"],":spy_tone1:":["1f575-1f3fb"],":sleuth_or_spy_tone1:":["1f575-1f3fb"],":muscle_tone5:":["1f4aa-1f3ff"],":muscle_tone4:":["1f4aa-1f3fe"],":muscle_tone3:":["1f4aa-1f3fd"],":muscle_tone2:":["1f4aa-1f3fc"],":muscle_tone1:":["1f4aa-1f3fb"],":haircut_tone5:":["1f487-1f3ff"],":haircut_tone4:":["1f487-1f3fe"],":haircut_tone3:":["1f487-1f3fd"],":haircut_tone2:":["1f487-1f3fc"],":haircut_tone1:":["1f487-1f3fb"],":massage_tone5:":["1f486-1f3ff"],":massage_tone4:":["1f486-1f3fe"],":massage_tone3:":["1f486-1f3fd"],":massage_tone2:":["1f486-1f3fc"],":massage_tone1:":["1f486-1f3fb"],":nail_care_tone5:":["1f485-1f3ff"],":nail_care_tone4:":["1f485-1f3fe"],":nail_care_tone3:":["1f485-1f3fd"],":nail_care_tone2:":["1f485-1f3fc"],":nail_care_tone1:":["1f485-1f3fb"],":dancer_tone5:":["1f483-1f3ff"],":dancer_tone4:":["1f483-1f3fe"],":dancer_tone3:":["1f483-1f3fd"],":dancer_tone2:":["1f483-1f3fc"],":dancer_tone1:":["1f483-1f3fb"],":guardsman_tone5:":["1f482-1f3ff"],":guardsman_tone4:":["1f482-1f3fe"],":guardsman_tone3:":["1f482-1f3fd"],":guardsman_tone2:":["1f482-1f3fc"],":guardsman_tone1:":["1f482-1f3fb"],":information_desk_person_tone5:":["1f481-1f3ff"],":information_desk_person_tone4:":["1f481-1f3fe"],":information_desk_person_tone3:":["1f481-1f3fd"],":information_desk_person_tone2:":["1f481-1f3fc"],":information_desk_person_tone1:":["1f481-1f3fb"],":angel_tone5:":["1f47c-1f3ff"],":angel_tone4:":["1f47c-1f3fe"],":angel_tone3:":["1f47c-1f3fd"],":angel_tone2:":["1f47c-1f3fc"],":angel_tone1:":["1f47c-1f3fb"],":princess_tone5:":["1f478-1f3ff"],":princess_tone4:":["1f478-1f3fe"],":princess_tone3:":["1f478-1f3fd"],":princess_tone2:":["1f478-1f3fc"],":princess_tone1:":["1f478-1f3fb"],":construction_worker_tone5:":["1f477-1f3ff"],":construction_worker_tone4:":["1f477-1f3fe"],":construction_worker_tone3:":["1f477-1f3fd"],":construction_worker_tone2:":["1f477-1f3fc"],":construction_worker_tone1:":["1f477-1f3fb"],":baby_tone5:":["1f476-1f3ff"],":baby_tone4:":["1f476-1f3fe"],":baby_tone3:":["1f476-1f3fd"],":baby_tone2:":["1f476-1f3fc"],":baby_tone1:":["1f476-1f3fb"],":older_woman_tone5:":["1f475-1f3ff"],":grandma_tone5:":["1f475-1f3ff"],":older_woman_tone4:":["1f475-1f3fe"],":grandma_tone4:":["1f475-1f3fe"],":older_woman_tone3:":["1f475-1f3fd"],":grandma_tone3:":["1f475-1f3fd"],":older_woman_tone2:":["1f475-1f3fc"],":grandma_tone2:":["1f475-1f3fc"],":older_woman_tone1:":["1f475-1f3fb"],":grandma_tone1:":["1f475-1f3fb"],":older_man_tone5:":["1f474-1f3ff"],":older_man_tone4:":["1f474-1f3fe"],":older_man_tone3:":["1f474-1f3fd"],":older_man_tone2:":["1f474-1f3fc"],":older_man_tone1:":["1f474-1f3fb"],":man_with_turban_tone5:":["1f473-1f3ff"],":man_with_turban_tone4:":["1f473-1f3fe"],":man_with_turban_tone3:":["1f473-1f3fd"],":man_with_turban_tone2:":["1f473-1f3fc"],":man_with_turban_tone1:":["1f473-1f3fb"],":man_with_gua_pi_mao_tone5:":["1f472-1f3ff"],":man_with_gua_pi_mao_tone4:":["1f472-1f3fe"],":man_with_gua_pi_mao_tone3:":["1f472-1f3fd"],":man_with_gua_pi_mao_tone2:":["1f472-1f3fc"],":man_with_gua_pi_mao_tone1:":["1f472-1f3fb"],":person_with_blond_hair_tone5:":["1f471-1f3ff"],":person_with_blond_hair_tone4:":["1f471-1f3fe"],":person_with_blond_hair_tone3:":["1f471-1f3fd"],":person_with_blond_hair_tone2:":["1f471-1f3fc"],":person_with_blond_hair_tone1:":["1f471-1f3fb"],":bride_with_veil_tone5:":["1f470-1f3ff"],":bride_with_veil_tone4:":["1f470-1f3fe"],":bride_with_veil_tone3:":["1f470-1f3fd"],":bride_with_veil_tone2:":["1f470-1f3fc"],":bride_with_veil_tone1:":["1f470-1f3fb"],":cop_tone5:":["1f46e-1f3ff"],":cop_tone4:":["1f46e-1f3fe"],":cop_tone3:":["1f46e-1f3fd"],":cop_tone2:":["1f46e-1f3fc"],":cop_tone1:":["1f46e-1f3fb"],":woman_tone5:":["1f469-1f3ff"],":woman_tone4:":["1f469-1f3fe"],":woman_tone3:":["1f469-1f3fd"],":woman_tone2:":["1f469-1f3fc"],":woman_tone1:":["1f469-1f3fb"],":man_tone5:":["1f468-1f3ff"],":man_tone4:":["1f468-1f3fe"],":man_tone3:":["1f468-1f3fd"],":man_tone2:":["1f468-1f3fc"],":man_tone1:":["1f468-1f3fb"],":girl_tone5:":["1f467-1f3ff"],":girl_tone4:":["1f467-1f3fe"],":girl_tone3:":["1f467-1f3fd"],":girl_tone2:":["1f467-1f3fc"],":girl_tone1:":["1f467-1f3fb"],":boy_tone5:":["1f466-1f3ff"],":boy_tone4:":["1f466-1f3fe"],":boy_tone3:":["1f466-1f3fd"],":boy_tone2:":["1f466-1f3fc"],":boy_tone1:":["1f466-1f3fb"],":open_hands_tone5:":["1f450-1f3ff"],":open_hands_tone4:":["1f450-1f3fe"],":open_hands_tone3:":["1f450-1f3fd"],":open_hands_tone2:":["1f450-1f3fc"],":open_hands_tone1:":["1f450-1f3fb"],":clap_tone5:":["1f44f-1f3ff"],":clap_tone4:":["1f44f-1f3fe"],":clap_tone3:":["1f44f-1f3fd"],":clap_tone2:":["1f44f-1f3fc"],":clap_tone1:":["1f44f-1f3fb"],":thumbsdown_tone5:":["1f44e-1f3ff"],":-1_tone5:":["1f44e-1f3ff"],":thumbsdown_tone4:":["1f44e-1f3fe"],":-1_tone4:":["1f44e-1f3fe"],":thumbsdown_tone3:":["1f44e-1f3fd"],":-1_tone3:":["1f44e-1f3fd"],":thumbsdown_tone2:":["1f44e-1f3fc"],":-1_tone2:":["1f44e-1f3fc"],":thumbsdown_tone1:":["1f44e-1f3fb"],":-1_tone1:":["1f44e-1f3fb"],":thumbsup_tone5:":["1f44d-1f3ff"],":+1_tone5:":["1f44d-1f3ff"],":thumbsup_tone4:":["1f44d-1f3fe"],":+1_tone4:":["1f44d-1f3fe"],":thumbsup_tone3:":["1f44d-1f3fd"],":+1_tone3:":["1f44d-1f3fd"],":thumbsup_tone2:":["1f44d-1f3fc"],":+1_tone2:":["1f44d-1f3fc"],":thumbsup_tone1:":["1f44d-1f3fb"],":+1_tone1:":["1f44d-1f3fb"],":ok_hand_tone5:":["1f44c-1f3ff"],":ok_hand_tone4:":["1f44c-1f3fe"],":ok_hand_tone3:":["1f44c-1f3fd"],":ok_hand_tone2:":["1f44c-1f3fc"],":ok_hand_tone1:":["1f44c-1f3fb"],":wave_tone5:":["1f44b-1f3ff"],":wave_tone4:":["1f44b-1f3fe"],":wave_tone3:":["1f44b-1f3fd"],":wave_tone2:":["1f44b-1f3fc"],":wave_tone1:":["1f44b-1f3fb"],":punch_tone5:":["1f44a-1f3ff"],":punch_tone4:":["1f44a-1f3fe"],":punch_tone3:":["1f44a-1f3fd"],":punch_tone2:":["1f44a-1f3fc"],":punch_tone1:":["1f44a-1f3fb"],":point_right_tone5:":["1f449-1f3ff"],":point_right_tone4:":["1f449-1f3fe"],":point_right_tone3:":["1f449-1f3fd"],":point_right_tone2:":["1f449-1f3fc"],":point_right_tone1:":["1f449-1f3fb"],":point_left_tone5:":["1f448-1f3ff"],":point_left_tone4:":["1f448-1f3fe"],":point_left_tone3:":["1f448-1f3fd"],":point_left_tone2:":["1f448-1f3fc"],":point_left_tone1:":["1f448-1f3fb"],":point_down_tone5:":["1f447-1f3ff"],":point_down_tone4:":["1f447-1f3fe"],":point_down_tone3:":["1f447-1f3fd"],":point_down_tone2:":["1f447-1f3fc"],":point_down_tone1:":["1f447-1f3fb"],":point_up_2_tone5:":["1f446-1f3ff"],":point_up_2_tone4:":["1f446-1f3fe"],":point_up_2_tone3:":["1f446-1f3fd"],":point_up_2_tone2:":["1f446-1f3fc"],":point_up_2_tone1:":["1f446-1f3fb"],":nose_tone5:":["1f443-1f3ff"],":nose_tone4:":["1f443-1f3fe"],":nose_tone3:":["1f443-1f3fd"],":nose_tone2:":["1f443-1f3fc"],":nose_tone1:":["1f443-1f3fb"],":ear_tone5:":["1f442-1f3ff"],":ear_tone4:":["1f442-1f3fe"],":ear_tone3:":["1f442-1f3fd"],":ear_tone2:":["1f442-1f3fc"],":ear_tone1:":["1f442-1f3fb"],":lifter_tone5:":["1f3cb-1f3ff"],":weight_lifter_tone5:":["1f3cb-1f3ff"],":lifter_tone4:":["1f3cb-1f3fe"],":weight_lifter_tone4:":["1f3cb-1f3fe"],":lifter_tone3:":["1f3cb-1f3fd"],":weight_lifter_tone3:":["1f3cb-1f3fd"],":lifter_tone2:":["1f3cb-1f3fc"],":weight_lifter_tone2:":["1f3cb-1f3fc"],":lifter_tone1:":["1f3cb-1f3fb"],":weight_lifter_tone1:":["1f3cb-1f3fb"],":swimmer_tone5:":["1f3ca-1f3ff"],":swimmer_tone4:":["1f3ca-1f3fe"],":swimmer_tone3:":["1f3ca-1f3fd"],":swimmer_tone2:":["1f3ca-1f3fc"],":swimmer_tone1:":["1f3ca-1f3fb"],":horse_racing_tone5:":["1f3c7-1f3ff"],":horse_racing_tone4:":["1f3c7-1f3fe"],":horse_racing_tone3:":["1f3c7-1f3fd"],":horse_racing_tone2:":["1f3c7-1f3fc"],":horse_racing_tone1:":["1f3c7-1f3fb"],":surfer_tone5:":["1f3c4-1f3ff"],":surfer_tone4:":["1f3c4-1f3fe"],":surfer_tone3:":["1f3c4-1f3fd"],":surfer_tone2:":["1f3c4-1f3fc"],":surfer_tone1:":["1f3c4-1f3fb"],":runner_tone5:":["1f3c3-1f3ff"],":runner_tone4:":["1f3c3-1f3fe"],":runner_tone3:":["1f3c3-1f3fd"],":runner_tone2:":["1f3c3-1f3fc"],":runner_tone1:":["1f3c3-1f3fb"],":santa_tone5:":["1f385-1f3ff"],":santa_tone4:":["1f385-1f3fe"],":santa_tone3:":["1f385-1f3fd"],":santa_tone2:":["1f385-1f3fc"],":santa_tone1:":["1f385-1f3fb"],":flag_zw:":["1f1ff-1f1fc"],":zw:":["1f1ff-1f1fc"],":flag_zm:":["1f1ff-1f1f2"],":zm:":["1f1ff-1f1f2"],":flag_za:":["1f1ff-1f1e6"],":za:":["1f1ff-1f1e6"],":flag_yt:":["1f1fe-1f1f9"],":yt:":["1f1fe-1f1f9"],":flag_ye:":["1f1fe-1f1ea"],":ye:":["1f1fe-1f1ea"],":flag_xk:":["1f1fd-1f1f0"],":xk:":["1f1fd-1f1f0"],":flag_ws:":["1f1fc-1f1f8"],":ws:":["1f1fc-1f1f8"],":flag_wf:":["1f1fc-1f1eb"],":wf:":["1f1fc-1f1eb"],":flag_vu:":["1f1fb-1f1fa"],":vu:":["1f1fb-1f1fa"],":flag_vn:":["1f1fb-1f1f3"],":vn:":["1f1fb-1f1f3"],":flag_vi:":["1f1fb-1f1ee"],":vi:":["1f1fb-1f1ee"],":flag_vg:":["1f1fb-1f1ec"],":vg:":["1f1fb-1f1ec"],":flag_ve:":["1f1fb-1f1ea"],":ve:":["1f1fb-1f1ea"],":flag_vc:":["1f1fb-1f1e8"],":vc:":["1f1fb-1f1e8"],":flag_va:":["1f1fb-1f1e6"],":va:":["1f1fb-1f1e6"],":flag_uz:":["1f1fa-1f1ff"],":uz:":["1f1fa-1f1ff"],":flag_uy:":["1f1fa-1f1fe"],":uy:":["1f1fa-1f1fe"],":flag_us:":["1f1fa-1f1f8"],":us:":["1f1fa-1f1f8"],":flag_um:":["1f1fa-1f1f2"],":um:":["1f1fa-1f1f2"],":flag_ug:":["1f1fa-1f1ec"],":ug:":["1f1fa-1f1ec"],":flag_ua:":["1f1fa-1f1e6"],":ua:":["1f1fa-1f1e6"],":flag_tz:":["1f1f9-1f1ff"],":tz:":["1f1f9-1f1ff"],":flag_tw:":["1f1f9-1f1fc"],":tw:":["1f1f9-1f1fc"],":flag_tv:":["1f1f9-1f1fb"],":tuvalu:":["1f1f9-1f1fb"],":flag_tt:":["1f1f9-1f1f9"],":tt:":["1f1f9-1f1f9"],":flag_tr:":["1f1f9-1f1f7"],":tr:":["1f1f9-1f1f7"],":flag_to:":["1f1f9-1f1f4"],":to:":["1f1f9-1f1f4"],":flag_tn:":["1f1f9-1f1f3"],":tn:":["1f1f9-1f1f3"],":flag_tm:":["1f1f9-1f1f2"],":turkmenistan:":["1f1f9-1f1f2"],":flag_tl:":["1f1f9-1f1f1"],":tl:":["1f1f9-1f1f1"],":flag_tk:":["1f1f9-1f1f0"],":tk:":["1f1f9-1f1f0"],":flag_tj:":["1f1f9-1f1ef"],":tj:":["1f1f9-1f1ef"],":flag_th:":["1f1f9-1f1ed"],":th:":["1f1f9-1f1ed"],":flag_tg:":["1f1f9-1f1ec"],":tg:":["1f1f9-1f1ec"],":flag_tf:":["1f1f9-1f1eb"],":tf:":["1f1f9-1f1eb"],":flag_td:":["1f1f9-1f1e9"],":td:":["1f1f9-1f1e9"],":flag_tc:":["1f1f9-1f1e8"],":tc:":["1f1f9-1f1e8"],":flag_ta:":["1f1f9-1f1e6"],":ta:":["1f1f9-1f1e6"],":flag_sz:":["1f1f8-1f1ff"],":sz:":["1f1f8-1f1ff"],":flag_sy:":["1f1f8-1f1fe"],":sy:":["1f1f8-1f1fe"],":flag_sx:":["1f1f8-1f1fd"],":sx:":["1f1f8-1f1fd"],":flag_sv:":["1f1f8-1f1fb"],":sv:":["1f1f8-1f1fb"],":flag_st:":["1f1f8-1f1f9"],":st:":["1f1f8-1f1f9"],":flag_ss:":["1f1f8-1f1f8"],":ss:":["1f1f8-1f1f8"],":flag_sr:":["1f1f8-1f1f7"],":sr:":["1f1f8-1f1f7"],":flag_so:":["1f1f8-1f1f4"],":so:":["1f1f8-1f1f4"],":flag_sn:":["1f1f8-1f1f3"],":sn:":["1f1f8-1f1f3"],":flag_sm:":["1f1f8-1f1f2"],":sm:":["1f1f8-1f1f2"],":flag_sl:":["1f1f8-1f1f1"],":sl:":["1f1f8-1f1f1"],":flag_sk:":["1f1f8-1f1f0"],":sk:":["1f1f8-1f1f0"],":flag_sj:":["1f1f8-1f1ef"],":sj:":["1f1f8-1f1ef"],":flag_si:":["1f1f8-1f1ee"],":si:":["1f1f8-1f1ee"],":flag_sh:":["1f1f8-1f1ed"],":sh:":["1f1f8-1f1ed"],":flag_sg:":["1f1f8-1f1ec"],":sg:":["1f1f8-1f1ec"],":flag_se:":["1f1f8-1f1ea"],":se:":["1f1f8-1f1ea"],":flag_sd:":["1f1f8-1f1e9"],":sd:":["1f1f8-1f1e9"],":flag_sc:":["1f1f8-1f1e8"],":sc:":["1f1f8-1f1e8"],":flag_sb:":["1f1f8-1f1e7"],":sb:":["1f1f8-1f1e7"],":flag_sa:":["1f1f8-1f1e6"],":saudiarabia:":["1f1f8-1f1e6"],":saudi:":["1f1f8-1f1e6"],":flag_rw:":["1f1f7-1f1fc"],":rw:":["1f1f7-1f1fc"],":flag_ru:":["1f1f7-1f1fa"],":ru:":["1f1f7-1f1fa"],":flag_rs:":["1f1f7-1f1f8"],":rs:":["1f1f7-1f1f8"],":flag_ro:":["1f1f7-1f1f4"],":ro:":["1f1f7-1f1f4"],":flag_re:":["1f1f7-1f1ea"],":re:":["1f1f7-1f1ea"],":flag_qa:":["1f1f6-1f1e6"],":qa:":["1f1f6-1f1e6"],":flag_py:":["1f1f5-1f1fe"],":py:":["1f1f5-1f1fe"],":flag_pw:":["1f1f5-1f1fc"],":pw:":["1f1f5-1f1fc"],":flag_pt:":["1f1f5-1f1f9"],":pt:":["1f1f5-1f1f9"],":flag_ps:":["1f1f5-1f1f8"],":ps:":["1f1f5-1f1f8"],":flag_pr:":["1f1f5-1f1f7"],":pr:":["1f1f5-1f1f7"],":flag_pn:":["1f1f5-1f1f3"],":pn:":["1f1f5-1f1f3"],":flag_pm:":["1f1f5-1f1f2"],":pm:":["1f1f5-1f1f2"],":flag_pl:":["1f1f5-1f1f1"],":pl:":["1f1f5-1f1f1"],":flag_pk:":["1f1f5-1f1f0"],":pk:":["1f1f5-1f1f0"],":flag_ph:":["1f1f5-1f1ed"],":ph:":["1f1f5-1f1ed"],":flag_pg:":["1f1f5-1f1ec"],":pg:":["1f1f5-1f1ec"],":flag_pf:":["1f1f5-1f1eb"],":pf:":["1f1f5-1f1eb"],":flag_pe:":["1f1f5-1f1ea"],":pe:":["1f1f5-1f1ea"],":flag_pa:":["1f1f5-1f1e6"],":pa:":["1f1f5-1f1e6"],":flag_om:":["1f1f4-1f1f2"],":om:":["1f1f4-1f1f2"],":flag_nz:":["1f1f3-1f1ff"],":nz:":["1f1f3-1f1ff"],":flag_nu:":["1f1f3-1f1fa"],":nu:":["1f1f3-1f1fa"],":flag_nr:":["1f1f3-1f1f7"],":nr:":["1f1f3-1f1f7"],":flag_np:":["1f1f3-1f1f5"],":np:":["1f1f3-1f1f5"],":flag_no:":["1f1f3-1f1f4"],":no:":["1f1f3-1f1f4"],":flag_nl:":["1f1f3-1f1f1"],":nl:":["1f1f3-1f1f1"],":flag_ni:":["1f1f3-1f1ee"],":ni:":["1f1f3-1f1ee"],":flag_ng:":["1f1f3-1f1ec"],":nigeria:":["1f1f3-1f1ec"],":flag_nf:":["1f1f3-1f1eb"],":nf:":["1f1f3-1f1eb"],":flag_ne:":["1f1f3-1f1ea"],":ne:":["1f1f3-1f1ea"],":flag_nc:":["1f1f3-1f1e8"],":nc:":["1f1f3-1f1e8"],":flag_na:":["1f1f3-1f1e6"],":na:":["1f1f3-1f1e6"],":flag_mz:":["1f1f2-1f1ff"],":mz:":["1f1f2-1f1ff"],":flag_my:":["1f1f2-1f1fe"],":my:":["1f1f2-1f1fe"],":flag_mx:":["1f1f2-1f1fd"],":mx:":["1f1f2-1f1fd"],":flag_mw:":["1f1f2-1f1fc"],":mw:":["1f1f2-1f1fc"],":flag_mv:":["1f1f2-1f1fb"],":mv:":["1f1f2-1f1fb"],":flag_mu:":["1f1f2-1f1fa"],":mu:":["1f1f2-1f1fa"],":flag_mt:":["1f1f2-1f1f9"],":mt:":["1f1f2-1f1f9"],":flag_ms:":["1f1f2-1f1f8"],":ms:":["1f1f2-1f1f8"],":flag_mr:":["1f1f2-1f1f7"],":mr:":["1f1f2-1f1f7"],":flag_mq:":["1f1f2-1f1f6"],":mq:":["1f1f2-1f1f6"],":flag_mp:":["1f1f2-1f1f5"],":mp:":["1f1f2-1f1f5"],":flag_mo:":["1f1f2-1f1f4"],":mo:":["1f1f2-1f1f4"],":flag_mn:":["1f1f2-1f1f3"],":mn:":["1f1f2-1f1f3"],":flag_mm:":["1f1f2-1f1f2"],":mm:":["1f1f2-1f1f2"],":flag_ml:":["1f1f2-1f1f1"],":ml:":["1f1f2-1f1f1"],":flag_mk:":["1f1f2-1f1f0"],":mk:":["1f1f2-1f1f0"],":flag_mh:":["1f1f2-1f1ed"],":mh:":["1f1f2-1f1ed"],":flag_mg:":["1f1f2-1f1ec"],":mg:":["1f1f2-1f1ec"],":flag_mf:":["1f1f2-1f1eb"],":mf:":["1f1f2-1f1eb"],":flag_me:":["1f1f2-1f1ea"],":me:":["1f1f2-1f1ea"],":flag_md:":["1f1f2-1f1e9"],":md:":["1f1f2-1f1e9"],":flag_mc:":["1f1f2-1f1e8"],":mc:":["1f1f2-1f1e8"],":flag_ma:":["1f1f2-1f1e6"],":ma:":["1f1f2-1f1e6"],":flag_ly:":["1f1f1-1f1fe"],":ly:":["1f1f1-1f1fe"],":flag_lv:":["1f1f1-1f1fb"],":lv:":["1f1f1-1f1fb"],":flag_lu:":["1f1f1-1f1fa"],":lu:":["1f1f1-1f1fa"],":flag_lt:":["1f1f1-1f1f9"],":lt:":["1f1f1-1f1f9"],":flag_ls:":["1f1f1-1f1f8"],":ls:":["1f1f1-1f1f8"],":flag_lr:":["1f1f1-1f1f7"],":lr:":["1f1f1-1f1f7"],":flag_lk:":["1f1f1-1f1f0"],":lk:":["1f1f1-1f1f0"],":flag_li:":["1f1f1-1f1ee"],":li:":["1f1f1-1f1ee"],":flag_lc:":["1f1f1-1f1e8"],":lc:":["1f1f1-1f1e8"],":flag_lb:":["1f1f1-1f1e7"],":lb:":["1f1f1-1f1e7"],":flag_la:":["1f1f1-1f1e6"],":la:":["1f1f1-1f1e6"],":flag_kz:":["1f1f0-1f1ff"],":kz:":["1f1f0-1f1ff"],":flag_ky:":["1f1f0-1f1fe"],":ky:":["1f1f0-1f1fe"],":flag_kw:":["1f1f0-1f1fc"],":kw:":["1f1f0-1f1fc"],":flag_kr:":["1f1f0-1f1f7"],":kr:":["1f1f0-1f1f7"],":flag_kp:":["1f1f0-1f1f5"],":kp:":["1f1f0-1f1f5"],":flag_kn:":["1f1f0-1f1f3"],":kn:":["1f1f0-1f1f3"],":flag_km:":["1f1f0-1f1f2"],":km:":["1f1f0-1f1f2"],":flag_ki:":["1f1f0-1f1ee"],":ki:":["1f1f0-1f1ee"],":flag_kh:":["1f1f0-1f1ed"],":kh:":["1f1f0-1f1ed"],":flag_kg:":["1f1f0-1f1ec"],":kg:":["1f1f0-1f1ec"],":flag_ke:":["1f1f0-1f1ea"],":ke:":["1f1f0-1f1ea"],":flag_jp:":["1f1ef-1f1f5"],":jp:":["1f1ef-1f1f5"],":flag_jo:":["1f1ef-1f1f4"],":jo:":["1f1ef-1f1f4"],":flag_jm:":["1f1ef-1f1f2"],":jm:":["1f1ef-1f1f2"],":flag_je:":["1f1ef-1f1ea"],":je:":["1f1ef-1f1ea"],":flag_it:":["1f1ee-1f1f9"],":it:":["1f1ee-1f1f9"],":flag_is:":["1f1ee-1f1f8"],":is:":["1f1ee-1f1f8"],":flag_ir:":["1f1ee-1f1f7"],":ir:":["1f1ee-1f1f7"],":flag_iq:":["1f1ee-1f1f6"],":iq:":["1f1ee-1f1f6"],":flag_io:":["1f1ee-1f1f4"],":io:":["1f1ee-1f1f4"],":flag_in:":["1f1ee-1f1f3"],":in:":["1f1ee-1f1f3"],":flag_im:":["1f1ee-1f1f2"],":im:":["1f1ee-1f1f2"],":flag_il:":["1f1ee-1f1f1"],":il:":["1f1ee-1f1f1"],":flag_ie:":["1f1ee-1f1ea"],":ie:":["1f1ee-1f1ea"],":flag_id:":["1f1ee-1f1e9"],":indonesia:":["1f1ee-1f1e9"],":flag_ic:":["1f1ee-1f1e8"],":ic:":["1f1ee-1f1e8"],":flag_hu:":["1f1ed-1f1fa"],":hu:":["1f1ed-1f1fa"],":flag_ht:":["1f1ed-1f1f9"],":ht:":["1f1ed-1f1f9"],":flag_hr:":["1f1ed-1f1f7"],":hr:":["1f1ed-1f1f7"],":flag_hn:":["1f1ed-1f1f3"],":hn:":["1f1ed-1f1f3"],":flag_hm:":["1f1ed-1f1f2"],":hm:":["1f1ed-1f1f2"],":flag_hk:":["1f1ed-1f1f0"],":hk:":["1f1ed-1f1f0"],":flag_gy:":["1f1ec-1f1fe"],":gy:":["1f1ec-1f1fe"],":flag_gw:":["1f1ec-1f1fc"],":gw:":["1f1ec-1f1fc"],":flag_gu:":["1f1ec-1f1fa"],":gu:":["1f1ec-1f1fa"],":flag_gt:":["1f1ec-1f1f9"],":gt:":["1f1ec-1f1f9"],":flag_gs:":["1f1ec-1f1f8"],":gs:":["1f1ec-1f1f8"],":flag_gr:":["1f1ec-1f1f7"],":gr:":["1f1ec-1f1f7"],":flag_gq:":["1f1ec-1f1f6"],":gq:":["1f1ec-1f1f6"],":flag_gp:":["1f1ec-1f1f5"],":gp:":["1f1ec-1f1f5"],":flag_gn:":["1f1ec-1f1f3"],":gn:":["1f1ec-1f1f3"],":flag_gm:":["1f1ec-1f1f2"],":gm:":["1f1ec-1f1f2"],":flag_gl:":["1f1ec-1f1f1"],":gl:":["1f1ec-1f1f1"],":flag_gi:":["1f1ec-1f1ee"],":gi:":["1f1ec-1f1ee"],":flag_gh:":["1f1ec-1f1ed"],":gh:":["1f1ec-1f1ed"],":flag_gg:":["1f1ec-1f1ec"],":gg:":["1f1ec-1f1ec"],":flag_gf:":["1f1ec-1f1eb"],":gf:":["1f1ec-1f1eb"],":flag_ge:":["1f1ec-1f1ea"],":ge:":["1f1ec-1f1ea"],":flag_gd:":["1f1ec-1f1e9"],":gd:":["1f1ec-1f1e9"],":flag_gb:":["1f1ec-1f1e7"],":gb:":["1f1ec-1f1e7"],":flag_ga:":["1f1ec-1f1e6"],":ga:":["1f1ec-1f1e6"],":flag_fr:":["1f1eb-1f1f7"],":fr:":["1f1eb-1f1f7"],":flag_fo:":["1f1eb-1f1f4"],":fo:":["1f1eb-1f1f4"],":flag_fm:":["1f1eb-1f1f2"],":fm:":["1f1eb-1f1f2"],":flag_fk:":["1f1eb-1f1f0"],":fk:":["1f1eb-1f1f0"],":flag_fj:":["1f1eb-1f1ef"],":fj:":["1f1eb-1f1ef"],":flag_fi:":["1f1eb-1f1ee"],":fi:":["1f1eb-1f1ee"],":flag_eu:":["1f1ea-1f1fa"],":eu:":["1f1ea-1f1fa"],":flag_et:":["1f1ea-1f1f9"],":et:":["1f1ea-1f1f9"],":flag_es:":["1f1ea-1f1f8"],":es:":["1f1ea-1f1f8"],":flag_er:":["1f1ea-1f1f7"],":er:":["1f1ea-1f1f7"],":flag_eh:":["1f1ea-1f1ed"],":eh:":["1f1ea-1f1ed"],":flag_eg:":["1f1ea-1f1ec"],":eg:":["1f1ea-1f1ec"],":flag_ee:":["1f1ea-1f1ea"],":ee:":["1f1ea-1f1ea"],":flag_ec:":["1f1ea-1f1e8"],":ec:":["1f1ea-1f1e8"],":flag_ea:":["1f1ea-1f1e6"],":ea:":["1f1ea-1f1e6"],":flag_dz:":["1f1e9-1f1ff"],":dz:":["1f1e9-1f1ff"],":flag_do:":["1f1e9-1f1f4"],":do:":["1f1e9-1f1f4"],":flag_dm:":["1f1e9-1f1f2"],":dm:":["1f1e9-1f1f2"],":flag_dk:":["1f1e9-1f1f0"],":dk:":["1f1e9-1f1f0"],":flag_dj:":["1f1e9-1f1ef"],":dj:":["1f1e9-1f1ef"],":flag_dg:":["1f1e9-1f1ec"],":dg:":["1f1e9-1f1ec"],":flag_de:":["1f1e9-1f1ea"],":de:":["1f1e9-1f1ea"],":flag_cz:":["1f1e8-1f1ff"],":cz:":["1f1e8-1f1ff"],":flag_cy:":["1f1e8-1f1fe"],":cy:":["1f1e8-1f1fe"],":flag_cx:":["1f1e8-1f1fd"],":cx:":["1f1e8-1f1fd"],":flag_cw:":["1f1e8-1f1fc"],":cw:":["1f1e8-1f1fc"],":flag_cv:":["1f1e8-1f1fb"],":cv:":["1f1e8-1f1fb"],":flag_cu:":["1f1e8-1f1fa"],":cu:":["1f1e8-1f1fa"],":flag_cr:":["1f1e8-1f1f7"],":cr:":["1f1e8-1f1f7"],":flag_cp:":["1f1e8-1f1f5"],":cp:":["1f1e8-1f1f5"],":flag_co:":["1f1e8-1f1f4"],":co:":["1f1e8-1f1f4"],":flag_cn:":["1f1e8-1f1f3"],":cn:":["1f1e8-1f1f3"],":flag_cm:":["1f1e8-1f1f2"],":cm:":["1f1e8-1f1f2"],":flag_cl:":["1f1e8-1f1f1"],":chile:":["1f1e8-1f1f1"],":flag_ck:":["1f1e8-1f1f0"],":ck:":["1f1e8-1f1f0"],":flag_ci:":["1f1e8-1f1ee"],":ci:":["1f1e8-1f1ee"],":flag_ch:":["1f1e8-1f1ed"],":ch:":["1f1e8-1f1ed"],":flag_cg:":["1f1e8-1f1ec"],":cg:":["1f1e8-1f1ec"],":flag_cf:":["1f1e8-1f1eb"],":cf:":["1f1e8-1f1eb"],":flag_cd:":["1f1e8-1f1e9"],":congo:":["1f1e8-1f1e9"],":flag_cc:":["1f1e8-1f1e8"],":cc:":["1f1e8-1f1e8"],":flag_ca:":["1f1e8-1f1e6"],":ca:":["1f1e8-1f1e6"],":flag_bz:":["1f1e7-1f1ff"],":bz:":["1f1e7-1f1ff"],":flag_by:":["1f1e7-1f1fe"],":by:":["1f1e7-1f1fe"],":flag_bw:":["1f1e7-1f1fc"],":bw:":["1f1e7-1f1fc"],":flag_bv:":["1f1e7-1f1fb"],":bv:":["1f1e7-1f1fb"],":flag_bt:":["1f1e7-1f1f9"],":bt:":["1f1e7-1f1f9"],":flag_bs:":["1f1e7-1f1f8"],":bs:":["1f1e7-1f1f8"],":flag_br:":["1f1e7-1f1f7"],":br:":["1f1e7-1f1f7"],":flag_bq:":["1f1e7-1f1f6"],":bq:":["1f1e7-1f1f6"],":flag_bo:":["1f1e7-1f1f4"],":bo:":["1f1e7-1f1f4"],":flag_bn:":["1f1e7-1f1f3"],":bn:":["1f1e7-1f1f3"],":flag_bm:":["1f1e7-1f1f2"],":bm:":["1f1e7-1f1f2"],":flag_bl:":["1f1e7-1f1f1"],":bl:":["1f1e7-1f1f1"],":flag_bj:":["1f1e7-1f1ef"],":bj:":["1f1e7-1f1ef"],":flag_bi:":["1f1e7-1f1ee"],":bi:":["1f1e7-1f1ee"],":flag_bh:":["1f1e7-1f1ed"],":bh:":["1f1e7-1f1ed"],":flag_bg:":["1f1e7-1f1ec"],":bg:":["1f1e7-1f1ec"],":flag_bf:":["1f1e7-1f1eb"],":bf:":["1f1e7-1f1eb"],":flag_be:":["1f1e7-1f1ea"],":be:":["1f1e7-1f1ea"],":flag_bd:":["1f1e7-1f1e9"],":bd:":["1f1e7-1f1e9"],":flag_bb:":["1f1e7-1f1e7"],":bb:":["1f1e7-1f1e7"],":flag_ba:":["1f1e7-1f1e6"],":ba:":["1f1e7-1f1e6"],":flag_az:":["1f1e6-1f1ff"],":az:":["1f1e6-1f1ff"],":flag_ax:":["1f1e6-1f1fd"],":ax:":["1f1e6-1f1fd"],":flag_aw:":["1f1e6-1f1fc"],":aw:":["1f1e6-1f1fc"],":flag_au:":["1f1e6-1f1fa"],":au:":["1f1e6-1f1fa"],":flag_at:":["1f1e6-1f1f9"],":at:":["1f1e6-1f1f9"],":flag_as:":["1f1e6-1f1f8"],":as:":["1f1e6-1f1f8"],":flag_ar:":["1f1e6-1f1f7"],":ar:":["1f1e6-1f1f7"],":flag_aq:":["1f1e6-1f1f6"],":aq:":["1f1e6-1f1f6"],":flag_ao:":["1f1e6-1f1f4"],":ao:":["1f1e6-1f1f4"],":flag_am:":["1f1e6-1f1f2"],":am:":["1f1e6-1f1f2"],":flag_al:":["1f1e6-1f1f1"],":al:":["1f1e6-1f1f1"],":flag_ai:":["1f1e6-1f1ee"],":ai:":["1f1e6-1f1ee"],":flag_ag:":["1f1e6-1f1ec"],":ag:":["1f1e6-1f1ec"],":flag_af:":["1f1e6-1f1eb"],":af:":["1f1e6-1f1eb"],":flag_ae:":["1f1e6-1f1ea"],":ae:":["1f1e6-1f1ea"],":flag_ad:":["1f1e6-1f1e9"],":ad:":["1f1e6-1f1e9"],":flag_ac:":["1f1e6-1f1e8"],":ac:":["1f1e6-1f1e8"],":mahjong:":["1f004-fe0f","1f004"],":parking:":["1f17f-fe0f","1f17f"],":u7121:":["1f21a-fe0f","1f21a"],":u6307:":["1f22f-fe0f","1f22f"],":u6708:":["1f237-fe0f","1f237"],":point_up_tone1:":["261d-1f3fb"],":point_up_tone2:":["261d-1f3fc"],":point_up_tone3:":["261d-1f3fd"],":point_up_tone4:":["261d-1f3fe"],":point_up_tone5:":["261d-1f3ff"],":v_tone1:":["270c-1f3fb"],":v_tone2:":["270c-1f3fc"],":v_tone3:":["270c-1f3fd"],":v_tone4:":["270c-1f3fe"],":v_tone5:":["270c-1f3ff"],":fist_tone1:":["270a-1f3fb"],":fist_tone2:":["270a-1f3fc"],":fist_tone3:":["270a-1f3fd"],":fist_tone4:":["270a-1f3fe"],":fist_tone5:":["270a-1f3ff"],":raised_hand_tone1:":["270b-1f3fb"],":raised_hand_tone2:":["270b-1f3fc"],":raised_hand_tone3:":["270b-1f3fd"],":raised_hand_tone4:":["270b-1f3fe"],":raised_hand_tone5:":["270b-1f3ff"],":writing_hand_tone1:":["270d-1f3fb"],":writing_hand_tone2:":["270d-1f3fc"],":writing_hand_tone3:":["270d-1f3fd"],":writing_hand_tone4:":["270d-1f3fe"],":writing_hand_tone5:":["270d-1f3ff"],":basketball_player_tone1:":["26f9-1f3fb"],":person_with_ball_tone1:":["26f9-1f3fb"],":basketball_player_tone2:":["26f9-1f3fc"],":person_with_ball_tone2:":["26f9-1f3fc"],":basketball_player_tone3:":["26f9-1f3fd"],":person_with_ball_tone3:":["26f9-1f3fd"],":basketball_player_tone4:":["26f9-1f3fe"],":person_with_ball_tone4:":["26f9-1f3fe"],":basketball_player_tone5:":["26f9-1f3ff"],":person_with_ball_tone5:":["26f9-1f3ff"],":copyright:":["00a9-fe0f","00a9"],":registered:":["00ae-fe0f","00ae"],":bangbang:":["203c-fe0f","203c"],":interrobang:":["2049-fe0f","2049"],":tm:":["2122-fe0f","2122"],":information_source:":["2139-fe0f","2139"],":left_right_arrow:":["2194-fe0f","2194"],":arrow_up_down:":["2195-fe0f","2195"],":arrow_upper_left:":["2196-fe0f","2196"],":arrow_upper_right:":["2197-fe0f","2197"],":arrow_lower_right:":["2198-fe0f","2198"],":arrow_lower_left:":["2199-fe0f","2199"],":leftwards_arrow_with_hook:":["21a9-fe0f","21a9"],":arrow_right_hook:":["21aa-fe0f","21aa"],":watch:":["231a-fe0f","231a"],":hourglass:":["231b-fe0f","231b"],":m:":["24c2-fe0f","24c2"],":black_small_square:":["25aa-fe0f","25aa"],":white_small_square:":["25ab-fe0f","25ab"],":arrow_forward:":["25b6-fe0f","25b6"],":arrow_backward:":["25c0-fe0f","25c0"],":white_medium_square:":["25fb-fe0f","25fb"],":black_medium_square:":["25fc-fe0f","25fc"],":white_medium_small_square:":["25fd-fe0f","25fd"],":black_medium_small_square:":["25fe-fe0f","25fe"],":sunny:":["2600-fe0f","2600"],":cloud:":["2601-fe0f","2601"],":telephone:":["260e-fe0f","260e"],":ballot_box_with_check:":["2611-fe0f","2611"],":umbrella:":["2614-fe0f","2614"],":coffee:":["2615-fe0f","2615"],":point_up:":["261d-fe0f","261d"],":relaxed:":["263a-fe0f","263a"],":aries:":["2648-fe0f","2648"],":taurus:":["2649-fe0f","2649"],":gemini:":["264a-fe0f","264a"],":cancer:":["264b-fe0f","264b"],":leo:":["264c-fe0f","264c"],":virgo:":["264d-fe0f","264d"],":libra:":["264e-fe0f","264e"],":scorpius:":["264f-fe0f","264f"],":sagittarius:":["2650-fe0f","2650"],":capricorn:":["2651-fe0f","2651"],":aquarius:":["2652-fe0f","2652"],":pisces:":["2653-fe0f","2653"],":spades:":["2660-fe0f","2660"],":clubs:":["2663-fe0f","2663"],":hearts:":["2665-fe0f","2665"],":diamonds:":["2666-fe0f","2666"],":hotsprings:":["2668-fe0f","2668"],":recycle:":["267b-fe0f","267b"],":wheelchair:":["267f-fe0f","267f"],":anchor:":["2693-fe0f","2693"],":warning:":["26a0-fe0f","26a0"],":zap:":["26a1-fe0f","26a1"],":white_circle:":["26aa-fe0f","26aa"],":black_circle:":["26ab-fe0f","26ab"],":soccer:":["26bd-fe0f","26bd"],":baseball:":["26be-fe0f","26be"],":snowman:":["26c4-fe0f","26c4"],":partly_sunny:":["26c5-fe0f","26c5"],":no_entry:":["26d4-fe0f","26d4"],":church:":["26ea-fe0f","26ea"],":fountain:":["26f2-fe0f","26f2"],":golf:":["26f3-fe0f","26f3"],":sailboat:":["26f5-fe0f","26f5"],
diff --git a/build/js/jsxc/lib/jsxc.dep.min.js.map b/build/js/jsxc/lib/jsxc.dep.min.js.map
index 312b6cc..8c6516b 100644
--- a/build/js/jsxc/lib/jsxc.dep.min.js.map
+++ b/build/js/jsxc/lib/jsxc.dep.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"jsxc.dep.min.js","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","n","u","require","exports",1,"module",2,"global","typedArraySupport","Bar","arr","Uint8Array","foo","constructor","subarray","byteLength","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","fromNumber","fromString","fromObject","allocate","checked","encoding","write","object","isBuffer","fromBuffer","fromArray","TypeError","ArrayBuffer","buffer","fromTypedArray","fromArrayBuffer","fromArrayLike","fromJsonObject","copy","array","_augment","__proto__","_isBuffer","fromPool","poolSize","rootParent","RangeError","SlowBuffer","subject","buf","loweredCase","utf8ToBytes","base64ToBytes","slowToString","end","Infinity","hexSlice","utf8Slice","asciiSlice","binarySlice","base64Slice","utf16leSlice","hexWrite","offset","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","binaryWrite","base64Write","ucs2Write","utf16leToBytes","base64","fromByteArray","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","codePoints","MAX_ARGUMENTS_LENGTH","ret","out","toHex","bytes","checkOffset","ext","checkInt","max","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","ieee754","writeDouble","base64clean","stringtrim","INVALID_BASE64_RE","units","leadSurrogate","byteArray","hi","lo","toByteArray","dst","INSPECT_MAX_BYTES","compare","isEncoding","list","pos","equals","inspect","byteOffset","arrayIndexOf","foundIndex","readUInt8","writeUInt8","isFinite","_arr","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt16LE","readUInt16BE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","read","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","_set","toArrayBuffer","BP","toLocaleString","base64-js","is-array",3,"lookup","PLUS","PLUS_URL_SAFE","SLASH","SLASH_URL_SAFE","NUMBER","UPPER","LOWER","b64ToByteArray","b64","L","tmp","placeHolders","Arr","uint8ToBase64","uint8","tripletToBase64","temp","extraBytes","base64js",4,"isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","rt","LN2",5,6,"EventEmitter","_events","_maxListeners","isFunction","isNumber","isObject","isUndefined","defaultMaxListeners","setMaxListeners","emit","er","args","listeners","addListener","listener","newListener","warned","on","once","g","removeListener","fired","position","removeAllListeners","listenerCount","emitter",7,"create","ctor","superCtor","super_","enumerable","writable","configurable","TempCtor",8,9,10,"cleanUpNextTick","draining","currentQueue","queue","queueIndex","drainQueue","fun","noop","process","nextTick","browser","env","argv","versions","off","binding","cwd","chdir","dir","umask",11,"map","mapDomain","regexSeparators","labels","encoded","ucs2decode","extra","counter","ucs2encode","stringFromCharCode","basicToDigit","base","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","damp","baseMinusTMin","tMax","skew","basic","index","oldi","baseMinusT","inputLength","initialN","bias","initialBias","lastIndexOf","delimiter","maxInt","tMin","handledCPCount","basicLength","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","regexPunycode","toASCII","regexNonASCII","freeExports","freeModule","freeGlobal","punycode","overflow","not-basic","invalid-input","ucs2",12,"./lib/_stream_duplex.js",13,"Duplex","Readable","Writable","readable","allowHalfOpen","onend","_writableState","ended","processNextTick","onEndNT","objectKeys","keys","util","inherits","method","./_stream_readable","./_stream_writable","core-util-is","process-nextick-args",14,"PassThrough","Transform","_transform","chunk","cb","./_stream_transform",15,"ReadableState","stream","objectMode","readableObjectMode","hwm","highWaterMark","defaultHwm","pipes","pipesCount","flowing","endEmitted","reading","needReadable","emittedReadable","readableListening","defaultEncoding","ranOut","awaitDrain","readingMore","decoder","StringDecoder","_readableState","_read","Stream","readableAddChunk","state","addToFront","chunkInvalid","onEofChunk","unshift","emitReadable","maybeReadMore","needMoreData","computeNewHighWaterMark","MAX_HWM","howMuchToRead","emitReadable_","flow","maybeReadMore_","pipeOnDrain","EElistenerCount","nReadingNextTick","resumeScheduled","resume_","fromList","stringMode","shift","cpy","endReadable","endReadableNT","forEach","xs","_","debugUtil","debuglog","isPaused","setEncoding","enc","nOrig","doRead","pipe","dest","pipeOpts","onunpipe","cleanup","onfinish","ondrain","ondata","cleanedUp","needDrain","unpipe","doEnd","stdout","stderr","endFn","dests","ev","wrap","events","_fromList","./_stream_duplex","_process","isarray","string_decoder/",16,"TransformState","afterTransform","needTransform","transforming","writecb","writechunk","ts","_transformState","rs","transform","_flush","done","ws","_write","writeencoding",17,"nop","WriteReq","next","WritableState","writableObjectMode","ending","finished","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writelen","bufferedRequest","lastBufferedRequest","pendingcb","prefinished","errorEmitted","writev","_writev","writeAfterEnd","validChunk","valid","decodeChunk","writeOrBuffer","last","doWrite","onwriteError","onwriteStateUpdate","needFinish","clearBuffer","afterWrite","onwriteDrain","finishMaybe","entry","cbs","prefinish","need","endWritable","internalUtil","deprecate","getBuffer","current","defineProperty","cork","uncork","setDefaultEncoding","util-deprecate",18,"ar","isBoolean","isNull","isNullOrUndefined","isString","isSymbol","isRegExp","re","objectToString","isDate","isError","isPrimitive","../../../../insert-module-globals/node_modules/is-buffer/index.js",19,20,"deprecated",21,"./lib/_stream_passthrough.js",22,"./lib/_stream_readable.js","./lib/_stream_transform.js","./lib/_stream_writable.js",23,24,25,"EE","source","didOnEnd","destroy","_isStdio","readable-stream/duplex.js","readable-stream/passthrough.js","readable-stream/readable.js","readable-stream/transform.js","readable-stream/writable.js",26,"assertEncoding","isBufferEncoding","passThroughWrite","utf16DetectIncompleteChar","charReceived","charLength","base64DetectIncompleteChar","surrogateSize","detectIncompleteChar","charBuffer","charStr","available","charCode","size","substring","cr",27,28,"ctx","seen","stylize","stylizeNoColor","depth","colors","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","styles","arrayToHash","idx","recurseTimes","primitive","formatPrimitive","visibleKeys","getOwnPropertyNames","formatError","RegExp","braces","toUTCString","formatArray","formatProperty","reduceToSingleString","simple","getOwnPropertyDescriptor","numLinesEst","reduce","prev","cur","pad","timestamp","time","getHours","getMinutes","getSeconds","getDate","months","getMonth","prop","formatRegExp","format","objects","throwDeprecation","traceDeprecation","noDeprecation","debugEnviron","debugs","NODE_DEBUG","toUpperCase","pid","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","special","number","boolean","null","regexp","origin","./support/isBuffer",29,"SessionManager","WildEmitter","selfID","full","sessions","peers","prepareSession","descriptionTypes","MediaSession","FileSession","performTieBreak","sess","jingle","contents","description","descType","matching","intersect","pendingDescriptionTypes","screenSharingSupport","webrtc","screenSharing","capabilities","support","peerConnectionConfig","iceServers","url","peerConnectionConstraints","optional","DtlsSrtpKeyAgreement","RtpDataChannels","media","audio","video","BaseSession","addICEServer","addSession","peer","peerID","extraData","extraData2","action","isInitiator","createMediaSession","initiator","constraints","createFileTransferSession","endPeerSessions","silent","endAllSessions","_createIncomingSession","meta","_sendError","_log","sender","isTieBreak","jingleCondition","pending","pendingAction","transportTypes","transport","transType","jingle-filetransfer-session","jingle-media-session","jingle-session","webrtcsupport","wildemitter",30,"each",31,"big",32,"FileTransferSession","pc","RTCPeerConnection","useJingle","onIceCandidate","onIceStateChange","onChannelAdded","extend","FileTransfer","file","Sender","sent","localDescription","offer","algo","sendChannel","createDataChannel","mandatory","OfferToReceiveAudio","OfferToReceiveVideo","lastModifiedDate","accept","answer","maybeReceivedFile","metadata","actualhash","receivedFile","candidate","iceConnectionState","connectionState","signalingState","channel","receive","onSessionInitiate","changes","Receiver","received","handleOffer","onSessionAccept","handleAnswer","onSessionTerminate","onDescriptionInfo","onTransportInfo","processIce","extend-object","filetransfer/hashed","rtcpeerconnection",33,"chunksize","pacing","receiveBuffer","sliceFile","reader","FileReader","onload","readAsArrayBuffer","binaryType","event","Blob","File",34,"hashes","createHash","digest","./filetransfer","iana-hashes",35,"createHmac","getHashes","mapping","md2","md5","sha-1","sha-224","sha-256","sha-384","sha-512","names","algorithm","./lib/get-hashes","create-hash","create-hmac",36,37,"HashNoConstructor","Base","_hash","buffers","Hash","rmd160","sha","_update","_final","alg","./md5","cipher-base","ripemd160","sha.js",38,"toArray","bigEndian","intSize","zeroBuffer","toBuffer","hashSize","chrsz",39,"helpers","./helpers",40,"CipherBase","hashMode","_finalOrDigest","_decoder","_encoding","inputEnc","outputEnc","outData","_toString","setAutoPadding","getAuthTag","setAuthTag","setAAD","final","string_decoder",41,"dup",42,"bytesToWords","words","wordsToBytes","processBlock","H","M","offset_i","M_offset_i","al","bl","cl","dl","dr","zl","f1","hl","f2","f3","f4","f5","rotl","sl","zr","hr","sr","z","nBitsLeft","nBitsTotal","H_i","digestbytes",43,"blockSize","finalSize","_block","_finalSize","_blockSize","_s","ch",44,"Algorithm","sha1","sha224","sha256","sha384","sha512","./sha","./sha1","./sha224","./sha256","./sha384","./sha512",45,"Sha","_w","W","_a","_b","_c","_d","_e","calcW","loop","./hash",46,"Sha1",47,"Sha224","Sha256","_f","_g","_h",48,"Ch","Maj","Sigma0","Sigma1","Gamma0","Gamma1","K","T1","T2",49,"Sha384","SHA512","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","writeInt64BE",50,"Sha512","xl","Gamma0l","Gamma1l","gamma0","gamma0l","gamma1","gamma1l","Wi7","Wi7l","Wi16","Wi16l","Wil","Wi","maj","majl","sigma0h","sigma0l","sigma1h","sigma1l","Ki","Kil","chl","fl","gl","t1l","t1","t2l","t2",51,"Hmac","blocksize","_alg","_key","ZEROS","_ipad","_opad","create-hash/browser",52,53,"mixin","isWildEmitter","groupName","callbacks","hasGroup","group","_groupName","releaseGroup","specialCallbacks","getWildcardCallbacks","eventName",54,"createForEach","arrayFunc","eachFunc","collection","iteratee","thisArg","bindCallback","arrayEach","baseEach","lodash._arrayeach","lodash._baseeach","lodash._bindcallback","lodash.isarray",55,56,"baseForOwn","baseFor","baseProperty","createBaseEach","fromRight","getLength","isLength","iterable","toObject","createBaseFor","keysFunc","props","MAX_SAFE_INTEGER","lodash.keys",57,"isArrayLike","isIndex","reIsUint","shimKeys","keysIn","propsLength","allowIndexes","isArguments","Ctor","isProto","skipIndexes","getNative","objectProto","nativeKeys","lodash._getnative","lodash.isarguments",58,"isObjectLike","isNative","objToString","funcTag","reIsNative","fnToString","reIsHostCtor",59,"propertyIsEnumerable",60,"argCount","accumulator","other",61,"arrayTag","nativeIsArray",62,"basePropertyDeep","path","pathKey","toPath","baseGet","isKey","reIsPlainProp","reIsDeepProp","pluck","property","lodash._baseget","lodash._topath","lodash.map",63,64,"baseToString","rePropName","quote","reEscapeChar",65,66,"baseMap","arrayMap","baseCallback","lodash._arraymap","lodash._basecallback",67,68,"baseMatches","baseMatchesProperty","baseIsMatch","matchData","customizer","noCustomizer","objValue","srcValue","baseIsEqual","getMatchData","isArr","isCommon","isStrictComparable","baseSlice","pairs","lodash._baseisequal","lodash.pairs",69,"arraySome","predicate","isLoose","stackA","stackB","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","argsTag","objectTag","isTypedArray","objIsObj","othIsObj","isSameTag","equalByTag","objIsWrapped","othIsWrapped","equalArrays","equalObjects","arrLength","othLength","arrValue","othValue","boolTag","dateTag","errorTag","numberTag","regexpTag","stringTag","objProps","objLength","othProps","skipCtor","objCtor","othCtor","lodash.istypedarray",70,"typedArrayTags","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag",71,72,73,74,75,76,77,"toSDP","toIncomingSDPOffer","toSessionSDP","direction","toOutgoingSDPOffer","toIncomingSDPAnswer","toOutgoingSDPAnswer","toIncomingMediaSDPOffer","toMediaSDP","toOutgoingMediaSDPOffer","toIncomingMediaSDPAnswer","toOutgoingMediaSDPAnswer","toCandidateSDP","toIncomingJSONOffer","sdp","creators","toSessionJSON","toOutgoingJSONOffer","toIncomingJSONAnswer","toOutgoingJSONAnswer","toIncomingMediaJSONOffer","creator","toMediaJSON","toOutgoingMediaJSONOffer","toIncomingMediaJSONAnswer","toOutgoingMediaJSONAnswer","toCandidateJSON","./lib/tojson","./lib/tosdp",78,"lines","filter","findLine","prefix","mediaLines","sessionLines","prefixLength","findLines","results","mline","port","formats","rtpmap","clockrate","channels","sctpmap","streams","fmtp","kv","crypto","cipherSuite","keyParams","sessionParams","fingerprint","extmap","idpart","sp","senders","uri","rtcpfb","subtype","parameters","foundation","component","ip","generation","relAddr","relPort","tcpType","network","sourceGroups","semantics","sources","ssrc","groups","bandwidth","msid","mslabel",79,"incoming","responder","both","none","recvonly","sendonly","sendrecv","inactive","outgoing",80,"SENDERS","parsers","idCounter","_setIdCounter","groupLines","payloads","encryption","feedback","headerExtensions","candidates","fingerprints","sctp","trans","mid","rtpmapLines","payload","fmtpLines","fbLines","cryptoLines","mux","extLines","ssrcGroupLines","ssrcLines","msidLine","found","googConferenceFlag","fingerprintLines","setup","fp","ufragLine","pwdLine","ufrag","pwd","candidateLines","sctpmapLines","./parsers","./senders",81,"pushedSetup","param","fb","hdrExts","hdr","ssrcGroups","ssrcGroup","ssrcs",82,"dumpSDP","dumpStream","getAudioTracks","track","getVideoTracks","TraceablePeerConnection","peerconnection","what","onicecandidate","onaddstream","onremovestream","onsignalingstatechange","oniceconnectionstatechange","onnegotiationneeded","ondatachannel","getLocalStreams","getRemoteStreams","addStream","removeStream","setLocalDescription","successCallback","failureCallback","setRemoteDescription","createOffer","createAnswer","addIceCandidate","getStats","webrtc-adapter-test",83,"requestUserMedia","Promise","resolve","reject","getUserMedia","attachMediaStream","reattachMediaStream","webrtcDetectedBrowser","webrtcDetectedVersion","webrtcMinimumVersion","webrtcUtils","extractVersion","uastring","expr","HTMLMediaElement","mozSrcObject","_srcObject","URL","createObjectURL","navigator","srcObject","mozGetUserMedia","mozRTCPeerConnection","userAgent","pcConfig","pcConstraints","newIceServers","urls","newServer","username","credential","RTCSessionDescription","mozRTCSessionDescription","RTCIceCandidate","mozRTCIceCandidate","onError","constraintsToFF37","ideal","exact","advanced","oc","mediaDevices","addEventListener","removeEventListener","enumerateDevices","infos","kind","deviceId","groupId","orgEnumerateDevices","then","webkitGetUserMedia","webkitRTCPeerConnection","iceTransportPolicy","iceTransports","origGetStats","selector","errorCallback","fixChromeStats","standardReport","reports","report","standardStats","stat","successCallbackWrapper","nativeMethod","constraintsToChrome","cc","oldname","mix","kinds","MediaStreamTrack","getSources","devices","device","origGetUserMedia","webrtcTesting",84,85,"PeerConnection","enableChromeNativeSimulcast","adapter","appVersion","constraint","enableMultiStreamHacks","restrictBandwidth","andyetRestrictBandwidth","batchIceCandidates","andyetBatchIce","batchedIceCandidates","andyetFasterICE","eliminateDuplicateCandidates","andyetDontSignalCandidates","dontSignalCandidates","assumeSetLocalSuccess","andyetAssumeSetLocalSuccess","wtFirefox","andyetFirefoxMakesMeSad","firefoxcandidatebuffer","peerconn","_onIce","_onDataChannel","remoteDescription","ice","sdpSessionID","logger","hadLocalStunCandidate","hadRemoteStunCandidate","hadLocalRelayCandidate","hadRemoteRelayCandidate","hadLocalIPv6Candidate","hadRemoteIPv6Candidate","_remoteDataChannels","_localDataChannels","_candidateBuffer","SJJ","_role","localStream","_checkLocalCandidate","cand","_checkRemoteCandidate","contentNames","iceCandidate","sdpMLineIndex","sdpMid","hasConstraints","mediaConstraints","expandedOffer","hasBw","answerAudioOnly","_answer","answerBroadcastOnly","sim","hasSim","newssrc","rtxssrc","expandedAnswer","parameter","expandedCandidate","already","bundlePolicy","address","rtcpMuxPolicy","newCand","lodash.foreach","lodash.pluck","sdp-jingle-json","traceablepeerconnection",86,"filterContentSources","filterUnusedLabels","onIceEndOfCandidates","onAddStream","onRemoveStream","_ringing","defineProperties","ringing","offerOptions","mediaType","ring","unmute","active","renegotiate","addStream2","removeStream2","switchStream","oldStream","newStream","audioTracks","addTrack","onSessionInfo","onSourceAdd","newDesc","newContent","newContentDesc","newSSRCs","newGroups","onSourceRemove","same",87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,"JingleSession","v4","processingQueue","task","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","_connectionState","starting","connecting","disconnected","interrupted","requirePending","session-inititate","cancel","decline","kill","okKeys","unknownPayload","onContentAdd","onTransportReplace",119,"only_once","called","previous_async","noConflict","_isArray","_each","iterator","_map","_reduce","memo","_keys","setImmediate","completed","eachSeries","iterate","forEachSeries","eachLimit","_eachLimit","forEachLimit","started","running","replenish","doParallel","doParallelLimit","doSeries","_asyncMap","eachfn","mapSeries","mapLimit","_mapLimit","inject","foldl","reduceRight","reversed","reverse","foldr","_filter","filterSeries","select","selectSeries","_reject","rejectSeries","_detect","main_callback","detect","detectSeries","some","any","every","all","sortBy","criteria","left","right","auto","tasks","remainingTasks","taskComplete","theCallback","taskCallback","safeResults","rkey","requires","ready","retry","times","DEFAULT_TIMES","attempts","wrappedTask","wrappedCallback","wrappedResults","retryAttempt","finalAttempt","seriesCallback","series","waterfall","wrapIterator","_parallel","parallel","parallelLimit","makeCallback","concatSeries","whilst","doWhilst","until","doUntil","worker","concurrency","_insert","drain","saturated","workers","empty","idle","priorityQueue","_compareTasks","_binarySearch","sequence","beg","cargo","working","drained","ds","_console_fn","memoize","hasher","queues","memoized","unmemoized","unmemoize","count","timesSeries","seq","fns","newargs","nextargs","compose","_applyEach","go","applyEach","applyEachSeries","forever",120,"rng","getRandomValues","_rnds8","_rnds",121,"ii","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","_nodeId","rnds","_rng","_seedBytes","./rng",122,123,"PC","IceCandidate","SessionDescription","MediaStream","webkitMediaStream","AudioContext","webkitAudioContext","videoEl","supportVp8","canPlayType","msGetUserMedia","browserVersion","supportRTCPeerConnection","supportGetUserMedia","supportDataChannel","supportWebAudio","createMediaStreamSource","supportMediaStream","removeTrack","supportScreenSharing","dataChannel","webAudio","mediaStream",124,125,"_interopRequireDefault","__esModule","default","_shortcuts","_shortcuts2","_types2","JXT","use","./shortcuts","./types",126,"_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",127,"_xmppJid","Utils","utils","jidAttribute","prepped","JID","jidSub","getSubText","setSubText","tzoSub","defaultVal","hrs","sign","formatted","xmpp-jid",128,"PubSub","Jingle","./lib/jingle","./lib/muc","./lib/namespaces","./lib/presence","./lib/pubsub",129,"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","Reason","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",130,"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","Affiliation","ADMIN","MEMBER","NONE","OUTCAST","OWNER","Role","MODERATOR","PARTICIPANT","VISITOR",131,"STANZA_ERROR","STREAM_ERROR","ROSTER_VERSIONING","SUBSCRIPTION_PREAPPROVAL","RPC","LAST_ACTIVITY","PRIVACY","ADDRESS","IBB","PRIVATE","ADHOC_COMMANDS","VCARD_TEMP","SEARCH","RSM","PUBSUB_ERRORS","PUBSUB_OWNER","SOCKS5","OOB","HTTP_AUTH","REGISTER","AMP","GEOLOC","ROSTER_DELIMITER","AVATAR_DATA","AVATAR_METADATA","CHAT_STATES","MOOD","ACTIVITY","TUNE","DATAFORM_VALIDATION","SHIM","COMPRESSION","DATAFORM_LAYOUT","ROSTER_EXCHANGE","ROSTER_NOTES","REACH_0","VCARD_TEMP_UPDATE","CAPTCHA","JINGLE_1","JINGLE_ERRORS_1","JINGLE_RTP_1","JINGLE_RTP_ERRORS_1","JINGLE_RTP_INFO_1","LANG_TRANS","LANG_TRANS_ITEMS","NICK","JINGLE_ICE_UDP_1","JINGLE_RAW_UDP_1","RECEIPTS","INVISIBLE_0","BLOCKING","SMACKS_3","PING","TIME","DELAY","BOSH_XMPP","DISCO_EXTERNAL_1","DATAFORM_MEDIA","ATTENTION_0","BOB","FILE_TRANSFER_3","FILE_TRANSFER_4","MUC_DIRECT_INVITE","SEC_LABEL_0","SEC_LABEL_CATALOG_2","SEC_LABEL_ESS_0","JINGLE_SOCKS5_1","JINGLE_IBB_1","JINGLE_RTP_ZRTP_1","THUMBS_0","THUMBS_1","DECLOAKING_0","CARBONS_2","JINGLE_RTP_RTCP_FB_0","JINGLE_RTP_HDREXT_0","FORWARD_0","HASHES_1","RTT_0","MUC_UNIQUE","CORRECTION_0","PSA","MAM_TMP","MAM_0","HATS_0","IDLE_1","JINGLE_DTLS_0","JID_PREP_0","HINTS","JSON_0","EVENTLOG","JINGLE_GROUPING_0","JINGLE_RTP_SSMA_0","COLIBRI","DTLS_SCTP_1","CSI","JINGLE_MSG_INITIATE_0","PUSH_0","JINGLE_PUB_1",132,"Type","SUBSCRIBE","SUBSCRIBED","UNSUBSCRIBE","UNSUBSCRIBED","PROBE","UNAVAILABLE","Show","CHAT","AWAY","DO_NOT_DISTURB","EXTENDED_AWAY",133,"PUBLISHER","PUBLISH_ONLY","Subscription","PENDING","UNCONFIGURED","AccessModel","OPEN","PRESENCE","AUTHORIZE","WHITELIST","CONFLICT",134,"bareJID","local","fullJID","StringPrep","ASCII","prep","unescapedLocal","nodeprep","unescape","resourceprep","nameprep","unescapedBare","unescapedFull","trusted","resourceStart","localEnd","preppedJID","equal","jid1","jid2","requirePrep","equalBare","isBare","hasResource","isFull","escape","localOrJID","_isJID","./lib/stringprep",135,136,"_lodashForeach","_lodashForeach2","Avatar","namespace","height","width","avatars","_avatars","findOrCreate","avatar","textSub","babel-runtime/helpers/interop-require-default",137,"Bind",138,"jidList","types","Block","jids","Unblock","BlockList",139,"cid","maxAge","numberAttribute",140,"Conference","autoJoin","boolAttribute","Bookmarks","PrivateStorage",141,"prefixes","xmpp","ack","authid","charsets","inactivity","maxpause","newKey","polling","resport","requests","langAttribute","restart","restartLogic",142,"Sent","Received","Private","Enable","Disable","Forwarded",143,"CONDITIONS","Command","sessionid","execute","subAttribute","actions","actionSet","existing","Note","StanzaError","enumSub","DataForm",144,"CSIFeature","topLevel",145,"SINGLE_FIELDS","_type","boolSub","getMultiSubText","truthy","setMultiSubText","Media","MediaURI","Validation","dataType","regex","Range","ListRange","layoutContents","namespaceURI","localName","section","Section","sectionXML","Page","reportedFields","fieldTypes","multiTextSub","subMultiExtension",146,"DelayedDelivery","stamp","dateAttribute",147,"DiscoCaps","DiscoInfo","multiSubAttribute","DiscoIdentity","DiscoItems","DiscoItem",148,"gone","redirect","by","$text","getSubLangText","setSubLangText",149,"Services","Credentials","Service",150,"FT_NS","numberSub","dateSub","Thumbnail","mimeType","subExtension","request","Content",151,"Delayed",152,"seeOtherURI",153,"GeoLoc","accuracy","altitude","area","heading","bearing","building","country","countrycode","datum","latitude","locality","longitude","postalcode","region","speed","street","tzo",154,155,"Hat","displayName",156,"ICE","RemoteCandidate","Candidate","Fingerprint","SctpMap",157,"_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","_forwarded","_forwarded2","_framing","_framing2","_geoloc","_geoloc2","_hash2","_hats","_hats2","_iceUdp","_iceUdp2","_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","./avatar","./bind","./blocking","./bob","./bookmarks","./bosh","./carbons","./command","./csi","./dataforms","./delayed","./disco","./error","./extdisco","./file","./forwarded","./framing","./geoloc","./hats","./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",158,"_Object$assign","internals","defineIQ","_toJSON","resultReply","errorReply","babel-runtime/core-js/object/assign",159,160,"REASONS","disposition","tagged","Description","_name","_extensions","Transport","alternativeSession",161,"JSONExtension",162,"Log","facility","stackTrace","Tag",163,"MAMQuery","queryid","Result","Fin","complete","stable","Prefs","defaultCondition","always","container","never",164,"defineMessage","thread","parentThread","$body","bodies","attention","chatState","requestReceipt","receipt",165,"MOODS","Mood",166,"proxy","UserItem","UserActor","Destroyed","Invite","continue","Decline","AdminItem","AdminActor","Destroy","actor","codes","MUCAdmin","MUCOwner","MUCJoin","history","hist","maxchars","maxstanzas","seconds","toISOString","DirectInvite",167,168,169,"Ping",170,"definePresence","$status","statuses","idleSince","dateSubAttribute","decloak","DECLOAK_0","avatarId","setBoolSub",171,172,173,"Pubsub","getSubAttribute","getBoolSub","setSubAttribute","publishOptions","Configure","Subscribe","subid","configurationRequired","Subscriptions","Affiliations","SubscriptionOptions","Unsubscribe","Publish","Retract","Retrieve",174,"pubsubCondition",175,"Event","EventPurge","EventDelete","EventSubscription","expiry","EventConfiguration","EventItems","retracted","EventItem","publisher",176,"PubsubOwner","purge","del",177,"Notification",178,"ReachURI","$desc","descs","reachability","reach","addrs","addr",179,"Register","registered","remove","first","email","city","zip","phone","misc",180,"Roster","force","RosterItem","subscription","subscriptionRequested","ask","preApproved",181,"after","before","firstIndex",182,"Feedback","Bandwidth","RTP","Crypto","setBoolSubAttribute","PayloadType","maxptime","ptime","params","ContentGroup","SourceGroup","Source","Mute","Unmute",183,"TYPE_MAP","insert","erase","ACTION_MAP","RTT","setText",184,"Mechanisms","_lang",185,"Session",186,"headerSet",187,"SMFeature","previd",188,189,"seeOtherHost",190,"RosterVerFeature","SubscriptionPreApprovalFeature",191,"EntityTime","utc",192,"Tune","artist","rating",193,"VCardTemp","website","fullName","birthday","nicknames","Email","home","work","preferred","PhoneNumber","mobile","Address","street2","postalCode","pobox","Organization","unit","Name","family","given","middle","Photo",194,"Version","os",195,196,"core-js/library/fn/object/assign",197,198,"assign","../../modules/$.core","../../modules/es6.object.assign",199,"it",200,201,"__e",202,"aFunction","./$.a-function",203,204,"PROTOTYPE","$export","own","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","IS_WRAP","C","./$.core","./$.ctx","./$.global",205,"exec",206,"__g",207,"cof","./$.cof",208,"$Object","getProto","getPrototypeOf","isEnum","getDesc","setDesc","setDescs","getKeys","getNames","getSymbols","getOwnPropertySymbols",209,"IObject","A","Symbol","T","$$","$$len","./$","./$.fails","./$.iobject","./$.to-object",210,"defined","./$.defined",211,"./$.export","./$.object-assign",212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,"_LOOKUP","_LOOKUP_EXT","_TAGS","_CB_DEFINITION","_CB_TAG","_ID","ltx","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",229,"XML_NS","parentNS","Element","created","getAttributeNS","setAttributeNS","removeAttributeNS","getBoolAttribute","setBoolAttribute","subs","getBoolSubAttribute","getTextSub","setTextSub","extractor","builder","getMultiSubAttribute","setMultiSubAttribute","defaultLang","langs",230,"EXCLUDE","_PREFIXES","_eventname","allowedName","isExtensionName","nval",231,"getter","setter","boolSubAttribute","getSubBoolAttribute","setSubBoolAttribute","subText","multiSubText","langTextSub","subLangText","b64Text","isFloat","parseFloat","attributeNS","enumValues","enumVal","exists","alreadyExists","elements",232,"assignWith","baseAssign","createAssigner","lodash._baseassign","lodash._createassigner",233,"baseCopy","lodash._basecopy",234,235,"assigner","restParam","guard","isIterateeCall","lodash._isiterateecall","lodash.restparam",236,237,238,"FUNC_ERROR_TEXT","nativeMax","rest","otherArgs",239,240,241,242,243,"DOMElement","_getElement","getName","getNS","getChildren","getAttr","nss","getXmlns","./element",244,"setAttrs","escapeXml","escapeXmlText","is","findNS","namespaces","getChild","getChildByAttr","recursive","getChildrenByAttr","getChildrenByFilter","getChildText","getChildElements","clone","_addChildren","writer",245,"availableSaxParsers","bestSaxParser","./index","./parse","./sax/sax_ltx",246,"Parser","./dom-element",247,"saxParsers","modName","mod","saxParser","ParserMod",248,"unescapeXml","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",249,250,251,252,"JSM","RTC","jxt","IqStanza","peer_constraints","AUTOACCEPT","manager","MozDontOfferDataChannel","offerToReceiveAudio","offerToReceiveVideo","mozDontOfferDataChannel","terminated","peerStreamAdded","peerStreamRemoved","log:error","onJingle","parseXML","outerHTML","initiate","peerjid","terminate","terminateByJid","setICEServers","servers","setPeerConstraints","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","msCrypto","BigInt","findPrimes","ans","millerRabin","mr_x1","mr_r","mr_a","copy_","addInt_","isZero","bpe","rightShift_","powMod_","equalsInt","squareMod_","bitSize","expand","int2bigInt","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","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","t3","HmacSHA1","isPrime","sqrtN","sqrt","factor","getFractionalBits","nPrime","SHA256","gamma0x","gamma1x","sigma0","sigma1","HmacSHA256","_hasher","hasherBlockSize","hasherBlockSizeBytes","oKey","_oKey","iKey","_iKey","oKeyWords","iKeyWords","innerHash","hmac","NoPadding","CTR","_counter","keystream","indexOfListener","getListeners","evt","_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","seed","postMessage","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","dh","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","cache","jsonp","content-type","authBasic","Authorization","head","isAllowed","patch","post","put","fixLng","functions","defaultNs","fallbackNS","fallbackLng","interpolationPrefixEscaped","regexEscape","interpolationPrefix","interpolationSuffixEscaped","interpolationSuffix","lng","detectLanguage","toLanguages","useCookie","cookie","cookieName","cookieExpirationTime","cookieDomain","detectLngFromLocalStorage","setCurrentLng","setJqueryExt","Deferred","resStore","preload","I","load","J","promise","deepExtend","keyseparator","dynamicLoad","resGetPath","getAsync","customLoad","_fetch","useLocalStorage","_storeLocal","defaultValueFromContent","defaultValue","prepend","selectorAttr","useDataAttrOptions","i18n","escapeInterpolation","regexReplacementEscape","postProcess","reusePrefix","maxRecursion","reuseSuffix","context","indefinite_article","D","sprintf","shortcutFunction","defaultVariables","nsseparator","sendMissing","missingKeyHandler","X","parseMissingKey","lngs","contextNotFound","pluralNotFound","needsPlural","pluralSuffix","indefiniteNotFound","indefiniteSuffix","E","returnObjectTrees","fallbackOnNull","objectTreeKeyHandler","fallbackOnEmpty","isFallbackLookup","fallbackToDefaultNS","lngWhitelist","detectLngQS","languages","userLanguage","language","lowerCaseLng","Zepto","O","_loadLocal","i18nStamp","localStorageExpirationTime","ajax","_fetchOne","postMissing","sendMissingTo","resPostPath","sendType","postAsync","reload","&","<",">","\"","'","/","R","setTime","toGMTString","getCountyIndexOfLng","applyReplacement","V","rules","numbers","plurals","addRule","currentRule","rule","noAbs","Y","Z","toExponential","toFixed","setLng","addResourceBundle","hasResourceBundle","addResource","addResources","removeResourceBundle","loadNamespace","loadNamespaces","setDefaultNamespace","translate","pluralExtensions","addPostProcessor","className","triggerHandler","st","currTemplate","closeBtn","closeMarkup","tClose","magnificPopup","transition","isIE7","isIE8","isLowIE","isAndroid","isIOS","supportsTransition","probablyMobile","popupsCache","isObj","isOpen","updateItemHTML","mainEl","eq","defaults","fixedContentPos","modal","closeOnContentClick","closeOnBgClick","showCloseBtn","enableEscapeKey","bgOverlay","_checkIfClose","contentContainer","preloader","tLoading","modules","closeBtnInside","close_replaceWith","alignTop","overflowY","overflowX","top","scrollTop","fixedBgPos","keyCode","updateSize","addClass","wH","_hasScrollBar","_getScrollbarSize","marginRight","mainClass","_addClassToMFP","prependTo","_lastFocusedEl","activeElement","_setFocus","_onFocusIn","removalDelay","_close","detach","_removeClassFromMFP","removeAttr","currItem","focus","prevHeight","clientWidth","innerWidth","innerHeight","parseEl","markup","removeClass","appendContent","preloaded","hasClass","addGroup","mfpEl","_openClick","delegate","midClick","which","ctrlKey","metaKey","disableOn","preventDefault","stopPropagation","updateStatus","stopImmediatePropagation","contains","scrollHeight","_parseMarkup","replaceWith","scrollbarSize","offsetWidth","registerModule","hiddenClass","tNotFound","initInline","getInline","inline","inlineElement","settings","cursor","tError","initAjax","getAjax","loadError","image","titleSrc","verticalFit","initImage","resizeImage","_onImageHasSize","hasSize","clearInterval","isCheckingImgSize","imgHidden","findImageSize","setInterval","naturalWidth","getImage","loaded","alt","img_replaceWith","loading","MozTransform","enabled","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","Boolean","mfpFastClick","arrowLeft","arrowRight","_preloadTimeout","preloadNearbyImages","destroyMfpFastClick","goTo","_preloadItem","replaceSrc","ratio","initRetina","devicePixelRatio","retina","max-width","originalEvent","touches","clientX","clientY","I18next","de","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","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","Info","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","PermissionDeniedError","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","en","fi","fr","hu-HU","nds","pl","pt-BR","ro","ru","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","chrome","opera","ie","safari","HTMLElement","supported","_queue","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:",":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:",":eye_in_speech_bubble:",":hash:",":zero:",":one:",":two:",":three:",":four:",":five:",":six:",":seven:",":eight:",":nine:",":asterisk:",":keycap_asterisk:",":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:",":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:",":thumbsdown_tone4:",":-1_tone4:",":thumbsdown_tone3:",":-1_tone3:",":thumbsdown_tone2:",":-1_tone2:",":thumbsdown_tone1:",":-1_tone1:",":thumbsup_tone5:",":+1_tone5:",":thumbsup_tone4:",":+1_tone4:",":thumbsup_tone3:",":+1_tone3:",":thumbsup_tone2:",":+1_tone2:",":thumbsup_tone1:",":+1_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:",":u7121:",":u6307:",":u6708:",":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:",":part_alternation_mark:",":congratulations:",":secret:",":black_joker:",":a:",":b:",":o2:",":ab:",":cl:",":cool:",":free:",":id:",":new:",":ng:",":ok:",":sos:",":up:",":vs:",":koko:",":sa:",":u7981:",":u7a7a:",":u5408:",":u6e80:",":u6709:",":u7533:",":u5272:",":u55b6:",":ideograph_advantage:",":accept:",":cyclone:",":foggy:",":closed_umbrella:",":night_with_stars:",":sunrise_over_mountains:",":sunrise:",":city_dusk:",":city_sunset:",":city_sunrise:",":rainbow:",":bridge_at_night:",":ocean:",":volcano:",":milky_way:",":earth_asia:",":new_moon:",":first_quarter_moon:",":waxing_gibbous_moon:",":full_moon:",":crescent_moon:",":first_quarter_moon_with_face:",":star2:",":stars:",":chestnut:",":seedling:",":palm_tree:",":cactus:",":tulip:",":cherry_blossom:",":rose:",":hibiscus:",":sunflower:",":blossom:",":corn:",":ear_of_rice:",":herb:",":four_leaf_clover:",":maple_leaf:",":fallen_leaf:",":leaves:",":mushroom:",":tomato:",":eggplant:",":grapes:",":melon:",":watermelon:",":tangerine:",":banana:",":pineapple:",":apple:",":green_apple:",":peach:",":cherries:",":strawberry:",":hamburger:",":pizza:",":meat_on_bone:",":poultry_leg:",":rice_cracker:",":rice_ball:",":rice:",":curry:",":ramen:",":spaghetti:",":bread:",":fries:",":sweet_potato:",":dango:",":oden:",":sushi:",":fried_shrimp:",":fish_cake:",":icecream:",":shaved_ice:",":ice_cream:",":doughnut:",":cookie:",":chocolate_bar:",":candy:",":lollipop:",":custard:",":honey_pot:",":cake:",":bento:",":stew:",":egg:",":fork_and_knife:",":tea:",":sake:",":wine_glass:",":cocktail:",":tropical_drink:",":beer:",":beers:",":ribbon:",":gift:",":birthday:",":jack_o_lantern:",":christmas_tree:",":santa:",":fireworks:",":sparkler:",":balloon:",":tada:",":confetti_ball:",":tanabata_tree:",":crossed_flags:",":bamboo:",":dolls:",":flags:",":wind_chime:",":rice_scene:",":school_satchel:",":mortar_board:",":carousel_horse:",":ferris_wheel:",":roller_coaster:",":fishing_pole_and_fish:",":microphone:",":movie_camera:",":cinema:",":headphones:",":art:",":tophat:",":circus_tent:",":ticket:",":clapper:",":performing_arts:",":video_game:",":dart:",":slot_machine:",":8ball:",":game_die:",":bowling:",":flower_playing_cards:",":musical_note:",":notes:",":saxophone:",":guitar:",":musical_keyboard:",":trumpet:",":violin:",":musical_score:",":running_shirt_with_sash:",":tennis:",":ski:",":basketball:",":checkered_flag:",":snowboarder:",":runner:",":surfer:",":trophy:",":football:",":swimmer:",":house:",":house_with_garden:",":office:",":post_office:",":hospital:",":bank:",":atm:",":hotel:",":love_hotel:",":convenience_store:",":school:",":department_store:",":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:",":thumbsdown:",":-1:",":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:",":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:",":large_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:",":film_frames:",":tickets:",":admission_tickets:",":medal:",":sports_medal:",":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:",":flag_black:",":waving_black_flag:",":rosette:",":label:",":camera_with_flash:",":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:",":anger_right:",":right_anger_bubble:",":ballot_box:",":ballot_box_with_ballot:",":map:",":world_map:",":sleeping_accommodation:",":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:",":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:",":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:",":airplane_departure:",":airplane_arriving:",":cruise_ship:",":passenger_ship:",":tone1:",":tone2:",":tone3:",":tone4:",":tone5:",":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:",":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:",":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:",":wavy_dash:",":loop:",":cross:",":latin_cross:",":keyboard:",":writing_hand:",":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:","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️⃣","1️⃣","2️⃣","3️⃣","4️⃣","5️⃣","6️⃣","7️⃣","8️⃣","9️⃣","*️⃣","🤘🏿","🤘🏾","🤘🏽","🤘🏼","🤘🏻","🛀🏿","🛀🏾","🛀🏽","🛀🏼","🛀🏻","🚶🏿","🚶🏾","🚶🏽","🚶🏼","🚶🏻","🚵🏿","🚵🏾","🚵🏽","🚵🏼","🚵🏻","🚴🏿","🚴🏾","🚴🏽","🚴🏼","🚴🏻","🚣🏿","🚣🏾","🚣🏽","🚣🏼","🚣🏻","🙏🏿","🙏🏾","🙏🏽","🙏🏼","🙏🏻","🙎🏿","🙎🏾","🙎🏽","🙎🏼","🙎🏻","🙍🏿","🙍🏾","🙍🏽","🙍🏼","🙍🏻","🙌🏿","🙌🏾","🙌🏽","🙌🏼","🙌🏻","🙋🏿","🙋🏾","🙋🏽","🙋🏼","🙋🏻","🙇🏿","🙇🏾","🙇🏽","🙇🏼","🙇🏻","🙆🏿","🙆🏾","🙆🏽","🙆🏼","🙆🏻","🙅🏿","🙅🏾","🙅🏽","🙅🏼","🙅🏻","🖖🏿","🖖🏾","🖖🏽","🖖🏼","🖖🏻","🖕🏿","🖕🏾","🖕🏽","🖕🏼","🖕🏻","🖐🏿","🖐🏾","🖐🏽","🖐🏼","🖐🏻","🕵🏿","🕵🏾","🕵🏽","🕵🏼","🕵🏻","💪🏿","💪🏾","💪🏽","💪🏼","💪🏻","💇🏿","💇🏾","💇🏽","💇🏼","💇🏻","💆🏿","💆🏾","💆🏽","💆🏼","💆🏻","💅🏿","💅🏾","💅🏽","💅🏼","💅🏻","💃🏿","💃🏾","💃🏽","💃🏼","💃🏻","💂🏿","💂🏾","💂🏽","💂🏼","💂🏻","💁🏿","💁🏾","💁🏽","💁🏼","💁🏻","👼🏿","👼🏾","👼🏽","👼🏼","👼🏻","👸🏿","👸🏾","👸🏽","👸🏼","👸🏻","👷🏿","👷🏾","👷🏽","👷🏼","👷🏻","👶🏿","👶🏾","👶🏽","👶🏼","👶🏻","👵🏿","👵🏾","👵🏽","👵🏼","👵🏻","👴🏿","👴🏾","👴🏽","👴🏼","👴🏻","👳🏿","👳🏾","👳🏽","👳🏼","👳🏻","👲🏿","👲🏾","👲🏽","👲🏼","👲🏻","👱🏿","👱🏾","👱🏽","👱🏼","👱🏻","👰🏿","👰🏾","👰🏽","👰🏼","👰🏻","👮🏿","👮🏾","👮🏽","👮🏼","👮🏻","👩🏿","👩🏾","👩🏽","👩🏼","👩🏻","👨🏿","👨🏾","👨🏽","👨🏼","👨🏻","👧🏿","👧🏾","👧🏽","👧🏼","👧🏻","👦🏿","👦🏾","👦🏽","👦🏼","👦🏻","👐🏿","👐🏾","👐🏽","👐🏼","👐🏻","👏🏿","👏🏾","👏🏽","👏🏼","👏🏻","👎🏿","👎🏾","👎🏽","👎🏼","👎🏻","👍🏿","👍🏾","👍🏽","👍🏼","👍🏻","👌🏿","👌🏾","👌🏽","👌🏼","👌🏻","👋🏿","👋🏾","👋🏽","👋🏼","👋🏻","👊🏿","👊🏾","👊🏽","👊🏼","👊🏻","👉🏿","👉🏾","👉🏽","👉🏼","👉🏻","👈🏿","👈🏾","👈🏽","👈🏼","👈🏻","👇🏿","👇🏾","👇🏽","👇🏼","👇🏻","👆🏿","👆🏾","👆🏽","👆🏼","👆🏻","👃🏿","👃🏾","👃🏽","👃🏼","👃🏻","👂🏿","👂🏾","👂🏽","👂🏼","👂🏻","🏋🏿","🏋🏾","🏋🏽","🏋🏼","🏋🏻","🏊🏿","🏊🏾","🏊🏽","🏊🏼","🏊🏻","🏇🏿","🏇🏾","🏇🏽","🏇🏼","🏇🏻","🏄🏿","🏄🏾","🏄🏽","🏄🏼","🏄🏻","🏃🏿","🏃🏾","🏃🏽","🏃🏼","🏃🏻","🎅🏿","🎅🏾","🎅🏽","🎅🏼","🎅🏻","🇿🇼","🇿🇲","🇿🇦","🇾🇹","🇾🇪","🇽🇰","🇼🇸","🇼🇫","🇻🇺","🇻🇳","🇻🇮","🇻🇬","🇻🇪","🇻🇨","🇻🇦","🇺🇿","🇺🇾","🇺🇸","🇺🇲","🇺🇬","🇺🇦","🇹🇿","🇹🇼","🇹🇻","🇹🇹","🇹🇷","🇹🇴","🇹🇳","🇹🇲","🇹🇱","🇹🇰","🇹🇯","🇹🇭","🇹🇬","🇹🇫","🇹🇩","🇹🇨","🇹🇦","🇸🇿","🇸🇾","🇸🇽","🇸🇻","🇸🇹","🇸🇸","🇸🇷","🇸🇴","🇸🇳","🇸🇲","🇸🇱","🇸🇰","🇸🇯","🇸🇮","🇸🇭","🇸🇬","🇸🇪","🇸🇩","🇸🇨","🇸🇧","🇸🇦","🇷🇼","🇷🇺","🇷🇸","🇷🇴","🇷🇪","🇶🇦","🇵🇾","🇵🇼","🇵🇹","🇵🇸","🇵🇷","🇵🇳","🇵🇲","🇵🇱","🇵🇰","🇵🇭","🇵🇬","🇵🇫","🇵🇪","🇵🇦","🇴🇲","🇳🇿","🇳🇺","🇳🇷","🇳🇵","🇳🇴","🇳🇱","🇳🇮","🇳🇬","🇳🇫","🇳🇪","🇳🇨","🇳🇦","🇲🇿","🇲🇾","🇲🇽","🇲🇼","🇲🇻","🇲🇺","🇲🇹","🇲🇸","🇲🇷","🇲🇶","🇲🇵","🇲🇴","🇲🇳","🇲🇲","🇲🇱","🇲🇰","🇲🇭","🇲🇬","🇲🇫","🇲🇪","🇲🇩","🇲🇨","🇲🇦","🇱🇾","🇱🇻","🇱🇺","🇱🇹","🇱🇸","🇱🇷","🇱🇰","🇱🇮","🇱🇨","🇱🇧","🇱🇦","🇰🇿","🇰🇾","🇰🇼","🇰🇷","🇰🇵","🇰🇳","🇰🇲","🇰🇮","🇰🇭","🇰🇬","🇰🇪","🇯🇵","🇯🇴","🇯🇲","🇯🇪","🇮🇹","🇮🇸","🇮🇷","🇮🇶","🇮🇴","🇮🇳","🇮🇲","🇮🇱","🇮🇪","🇮🇩","🇮🇨","🇭🇺","🇭🇹","🇭🇷","🇭🇳","🇭🇲","🇭🇰","🇬🇾","🇬🇼","🇬🇺","🇬🇹","🇬🇸","🇬🇷","🇬🇶","🇬🇵","🇬🇳","🇬🇲","🇬🇱","🇬🇮","🇬🇭","🇬🇬","🇬🇫","🇬🇪","🇬🇩","🇬🇧","🇬🇦","🇫🇷","🇫🇴","🇫🇲","🇫🇰","🇫🇯","🇫🇮","🇪🇺","🇪🇹","🇪🇸","🇪🇷","🇪🇭","🇪🇬","🇪🇪","🇪🇨","🇪🇦","🇩🇿","🇩🇴","🇩🇲","🇩🇰","🇩🇯","🇩🇬","🇩🇪","🇨🇿","🇨🇾","🇨🇽","🇨🇼","🇨🇻","🇨🇺","🇨🇷","🇨🇵","🇨🇴","🇨🇳","🇨🇲","🇨🇱","🇨🇰","🇨🇮","🇨🇭","🇨🇬","🇨🇫","🇨🇩","🇨🇨","🇨🇦","🇧🇿","🇧🇾","🇧🇼","🇧🇻","🇧🇹","🇧🇸","🇧🇷","🇧🇶","🇧🇴","🇧🇳","🇧🇲","🇧🇱","🇧🇯","🇧🇮","🇧🇭","🇧🇬","🇧🇫","🇧🇪","🇧🇩","🇧🇧","🇧🇦","🇦🇿","🇦🇽","🇦🇼","🇦🇺","🇦🇹","🇦🇸","🇦🇷","🇦🇶","🇦🇴","🇦🇲","🇦🇱","🇦🇮","🇦🇬","🇦🇫","🇦🇪","🇦🇩","🇦🇨","🀄️","🅿️","🈚️","🈯️","🈷️","☝🏻","☝🏼","☝🏽","☝🏾","☝🏿","✌🏻","✌🏼","✌🏽","✌🏾","✌🏿","✊🏻","✊🏼","✊🏽","✊🏾","✊🏿","✋🏻","✋🏼","✋🏽","✋🏾","✋🏿","✍🏻","✍🏼","✍🏽","✍🏾","✍🏿","⛹🏻","⛹🏼","⛹🏽","⛹🏾","⛹🏿","©️","®️","‼️","↩️","↪️","⌚️","⌛️","Ⓜ️","▪️","▫️","▶️","◀️","◻️","◼️","◽️","◾️","☎️","☝️","☺️","♊️","♋️","♌️","♍️","♎️","♏️","♻️","♿️","⚠️","⚡️","⚪️","⚫️","⚽️","⚾️","⛄️","⛅️","⛔️","⛪️","⛲️","⛳️","⛵️","⛺️","⛽️","✌️","✏️","➡️","⬅️","⬆️","⬇️","⬛️","⬜️","⭐️","⭕️","〽️","🃏","🅰","🅱","🅾","🆎","🆑","🆒","🆓","🆔","🆕","🆖","🆗","🆘","🆙","🆚","🈁","🈂","🈲","🈳","🈴","🈵","🈶","🈸","🈹","🈺","🉐","🉑","🌀","🌁","🌂","🌃","🌄","🌅","🌆","🌇","🌈","🌉","🌊","🌋","🌌","🌏","🌑","🌓","🌔","🌕","🌙","🌛","🌟","🌠","🌰","🌱","🌴","🌵","🌷","🌸","🌹","🌺","🌻","🌼","🌽","🌾","🌿","🍀","🍁","🍂","🍃","🍄","🍅","🍆","🍇","🍈","🍉","🍊","🍌","🍍","🍎","🍏","🍑","🍒","🍓","🍔","🍕","🍖","🍗","🍘","🍙","🍚","🍛","🍜","🍝","🍞","🍟","🍠","🍡","🍢","🍣","🍤","🍥","🍦","🍧","🍨","🍩","🍪","🍫","🍬","🍭","🍮","🍯","🍰","🍱","🍲","🍳","🍴","🍵","🍶","🍷","🍸","🍹","🍺","🍻","🎀","🎁","🎂","🎃","🎄","🎅","🎆","🎇","🎈","🎉","🎊","🎋","🎌","🎍","🎎","🎏","🎐","🎑","🎒","🎓","🎠","🎡","🎢","🎣","🎤","🎥","🎦","🎧","🎨","🎩","🎪","🎫","🎬","🎭","🎮","🎯","🎰","🎱","🎲","🎳","🎴","🎵","🎶","🎷","🎸","🎹","🎺","🎻","🎼","🎽","🎾","🎿","🏀","🏁","🏂","🏃","🏄","🏆","🏈","🏊","🏠","🏡","🏢","🏣","🏥","🏦","🏧","🏨","🏩","🏪","🏫","🏬","🏭","🏮","🏯","🏰","🐌","🐍","🐎","🐑","🐒","🐔","🐗","🐘","🐙","🐚","🐛","🐜","🐝","🐞","🐟","🐠","🐡","🐢","🐣","🐤","🐥","🐦","🐧","🐨","🐩","🐫","🐬","🐭","🐮","🐯","🐰","🐱","🐲","🐳","🐴","🐵","🐶","🐷","🐸","🐹","🐺","🐻","🐼","🐽","🐾","👀","👂","👃","👄","👅","👆","👇","👈","👉","👊","👋","👌","👍","👎","👏","👐","👑","👒","👓","👔","👕","👖","👗","👘","👙","👚","👛","👜","👝","👞","👟","👠","👡","👢","👣","👤","👦","👧","👨","👩","👪","👫","👮","👯","👰","👱","👲","👳","👴","👵","👶","👷","👸","👹","👺","👻","👼","👽","👾","👿","💀","📇","💁","💂","💃","💄","💅","📒","💆","📓","💇","📔","💈","📕","💉","📖","💊","📗","💋","📘","💌","📙","💍","📚","💎","📛","💏","📜","💐","📝","💑","📞","💒","📟","📠","💓","📡","📢","💔","📣","📤","💕","📥","📦","💖","📧","📨","💗","📩","📪","💘","📫","📮","💙","📰","📱","💚","📲","📳","💛","📴","📶","💜","📷","📹","💝","📺","📻","💞","📼","🔃","💟","🔊","🔋","💠","🔌","🔍","💡","🔎","🔏","💢","🔐","🔑","💣","🔒","🔓","💤","🔔","🔖","💥","🔗","🔘","💦","🔙","🔚","💧","🔛","🔜","💨","🔝","🔞","💩","🔟","💪","🔠","🔡","💫","🔢","🔣","💬","🔤","🔥","💮","🔦","🔧","💯","🔨","🔩","💰","🔪","🔫","💱","🔮","💲","🔯","💳","🔰","🔱","💴","🔲","🔳","💵","🔴","🔵","💸","🔶","🔷","💹","🔸","🔹","💺","🔺","🔻","💻","🔼","💼","🔽","🕐","💽","🕑","💾","🕒","💿","🕓","📀","🕔","🕕","📁","🕖","🕗","📂","🕘","🕙","📃","🕚","🕛","📄","🗻","🗼","📅","🗽","🗾","📆","🗿","😁","😂","😃","📈","😄","😅","📉","😆","😉","📊","😊","😋","📋","😌","😍","📌","😏","😒","📍","😓","😔","📎","😖","😘","📏","😚","😜","📐","😝","😞","📑","😠","😡","😢","😣","😤","😥","😨","😩","😪","😫","😭","😰","😱","😲","😳","😵","😷","😸","😹","😺","😻","😼","😽","😾","😿","🙀","🙅","🙆","🙇","🙈","🙉","🙊","🙋","🙌","🙍","🙎","🙏","🚀","🚃","🚄","🚅","🚇","🚉","🚌","🚏","🚑","🚒","🚓","🚕","🚗","🚙","🚚","🚢","🚤","🚥","🚧","🚨","🚩","🚪","🚫","🚬","🚭","🚲","🚶","🚹","🚺","🚻","🚼","🚽","🚾","🛀","🤘","😀","😇","😈","😎","😐","😑","😕","😗","😙","😛","😟","😦","😧","😬","😮","😯","😴","😶","🚁","🚂","🚆","🚈","🚊","🚍","🚎","🚐","🚔","🚖","🚘","🚛","🚜","🚝","🚞","🚟","🚠","🚡","🚣","🚦","🚮","🚯","🚰","🚱","🚳","🚴","🚵","🚷","🚸","🚿","🛁","🛂","🛃","🛄","🛅","🌍","🌎","🌐","🌒","🌖","🌗","🌘","🌚","🌜","🌝","🌞","🌲","🌳","🍋","🍐","🍼","🏇","🏉","🏤","🐀","🐁","🐂","🐃","🐄","🐅","🐆","🐇","🐈","🐉","🐊","🐋","🐏","🐐","🐓","🐕","🐖","🐪","👥","👬","👭","💭","💶","💷","📬","📭","📯","📵","🔀","🔁","🔂","🔄","🔅","🔆","🔇","🔉","🔕","🔬","🔭","🕜","🕝","🕞","🕟","🕠","🕡","🕢","🕣","🕤","🕥","🕦","🕧","🔈","🚋","🎞","🎟","🏅","🏋","🏌","🏍","🏎","🎖","🎗","🌶","🌧","🌨","🌩","🌪","🌫","🌬","🐿","🕷","🕸","🌡","🎙","🎚","🎛","🏳","🏴","🏵","🏷","📸","📽","🕉","🕊","🕯","🕰","🕳","🕶","🕹","🖇","🖊","🖋","🖌","🖍","🖥","🖨","🖲","🖼","🗂","🗃","🗄","🗑","🗒","🗓","🗜","🗝","🗞","🗡","🗣","🗯","🗳","🗺","🛌","🛠","🛡","🛢","🛰","🍽","👁","🕴","🕵","🖐","🖕","🖖","🙁","🙂","🏔","🏕","🏖","🏗","🏘","🏙","🏚","🏛","🏜","🏝","🏞","🏟","🛋","🛍","🛎","🛏","🛣","🛤","🛥","🛩","🛫","🛬","🛳","🏻","🏼","🏽","🏾","🏿","🌤","🌥","🌦","🖱","🙃","🤑","🤓","🤗","🙄","🤔","🤐","🤒","🤕","🤖","🦁","🦄","🦂","🦀","🦃","🧀","🌭","🌮","🌯","🍿","🍾","🏹","🏺","🛐","🕋","🕌","🕍","🕎","📿","🏏","🏐","🏑","🏒","🏓","🏸","⏩","⏪","⏫","⏬","⏰","⏳","⛎","✊","✋","❌","❎","➰","➿","✝","✍","⏭","⏮","⏯","⏱","⏲","⏸","⏹","⏺","☪","☮","☯","⚛","⚜","⚰","⚱","⛈","⛏","⛑","⛓","⛩","⛰","⛱","⛴","⛷","⛸","⛹","imagePathPNG","imagePathSVG","imagePathSVGSprites","imageType","sprites","unicodeAlt","ascii","cacheBustParam","regShortNames","regAscii","regUnicode","toImage","unicodeToImage","shortnameToImage","unifyUnicode","toShort","shortnameToUnicode","shortnameToAscii","unicode","unicodeToAscii","objectFlip","shortname","convert","entire","m3","unescapeHTML","escapeHTML","mappedUnicode","mapShortToUnicode","unicodeChar","shortcode","replaceAll","part","escaped","unescaped","&amp;","&#38;","&#x26;","&lt;","&#60;","&#x3C;","&gt;","&#62;","&#x3E;","&quot;","&#34;","&#x22;","&apos;","&#39;","&#x27;","new_obj","tmp_obj","escapeRegExp","escapedFind","emojione"],"mappings":"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Aa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,YAAY,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,kBAAkB,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,iBAAiB,eAAeC,WAAW,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,aAAa,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,eAAe,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,WAAW,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,WAAW,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QA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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,MAAqB,QAAQC,MAAqB,QAAQC,MAAqB,QAAQC,MAAqB,QAAQC,MAAqB,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,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,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,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,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,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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"} \ 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","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","n","u","require","exports",1,"module",2,"global","typedArraySupport","Bar","arr","Uint8Array","foo","constructor","subarray","byteLength","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","fromNumber","fromString","fromObject","allocate","checked","encoding","write","object","isBuffer","fromBuffer","fromArray","TypeError","ArrayBuffer","buffer","fromTypedArray","fromArrayBuffer","fromArrayLike","fromJsonObject","copy","array","_augment","__proto__","_isBuffer","fromPool","poolSize","rootParent","RangeError","SlowBuffer","subject","buf","loweredCase","utf8ToBytes","base64ToBytes","slowToString","end","Infinity","hexSlice","utf8Slice","asciiSlice","binarySlice","base64Slice","utf16leSlice","hexWrite","offset","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","binaryWrite","base64Write","ucs2Write","utf16leToBytes","base64","fromByteArray","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","codePoints","MAX_ARGUMENTS_LENGTH","ret","out","toHex","bytes","checkOffset","ext","checkInt","max","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","ieee754","writeDouble","base64clean","stringtrim","INVALID_BASE64_RE","units","leadSurrogate","byteArray","hi","lo","toByteArray","dst","INSPECT_MAX_BYTES","compare","isEncoding","list","pos","equals","inspect","byteOffset","arrayIndexOf","foundIndex","readUInt8","writeUInt8","isFinite","_arr","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt16LE","readUInt16BE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","read","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","_set","toArrayBuffer","BP","toLocaleString","base64-js","is-array",3,"lookup","PLUS","PLUS_URL_SAFE","SLASH","SLASH_URL_SAFE","NUMBER","UPPER","LOWER","b64ToByteArray","b64","L","tmp","placeHolders","Arr","uint8ToBase64","uint8","tripletToBase64","temp","extraBytes","base64js",4,"isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","rt","LN2",5,6,"EventEmitter","_events","_maxListeners","isFunction","isNumber","isObject","isUndefined","defaultMaxListeners","setMaxListeners","emit","er","args","listeners","addListener","listener","newListener","warned","on","once","g","removeListener","fired","position","removeAllListeners","listenerCount","emitter",7,"create","ctor","superCtor","super_","enumerable","writable","configurable","TempCtor",8,9,10,"cleanUpNextTick","draining","currentQueue","queue","queueIndex","drainQueue","fun","noop","process","nextTick","browser","env","argv","versions","off","binding","cwd","chdir","dir","umask",11,"map","mapDomain","regexSeparators","labels","encoded","ucs2decode","extra","counter","ucs2encode","stringFromCharCode","basicToDigit","base","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","damp","baseMinusTMin","tMax","skew","basic","index","oldi","baseMinusT","inputLength","initialN","bias","initialBias","lastIndexOf","delimiter","maxInt","tMin","handledCPCount","basicLength","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","regexPunycode","toASCII","regexNonASCII","freeExports","freeModule","freeGlobal","punycode","overflow","not-basic","invalid-input","ucs2",12,"./lib/_stream_duplex.js",13,"Duplex","Readable","Writable","readable","allowHalfOpen","onend","_writableState","ended","processNextTick","onEndNT","objectKeys","keys","util","inherits","method","./_stream_readable","./_stream_writable","core-util-is","process-nextick-args",14,"PassThrough","Transform","_transform","chunk","cb","./_stream_transform",15,"ReadableState","stream","objectMode","readableObjectMode","hwm","highWaterMark","defaultHwm","pipes","pipesCount","flowing","endEmitted","reading","needReadable","emittedReadable","readableListening","defaultEncoding","ranOut","awaitDrain","readingMore","decoder","StringDecoder","_readableState","_read","Stream","readableAddChunk","state","addToFront","chunkInvalid","onEofChunk","unshift","emitReadable","maybeReadMore","needMoreData","computeNewHighWaterMark","MAX_HWM","howMuchToRead","emitReadable_","flow","maybeReadMore_","pipeOnDrain","EElistenerCount","nReadingNextTick","resumeScheduled","resume_","fromList","stringMode","shift","cpy","endReadable","endReadableNT","forEach","xs","_","debugUtil","debuglog","isPaused","setEncoding","enc","nOrig","doRead","pipe","dest","pipeOpts","onunpipe","cleanup","onfinish","ondrain","ondata","cleanedUp","needDrain","unpipe","doEnd","stdout","stderr","endFn","dests","ev","wrap","events","_fromList","./_stream_duplex","_process","isarray","string_decoder/",16,"TransformState","afterTransform","needTransform","transforming","writecb","writechunk","ts","_transformState","rs","transform","_flush","done","ws","_write","writeencoding",17,"nop","WriteReq","next","WritableState","writableObjectMode","ending","finished","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writelen","bufferedRequest","lastBufferedRequest","pendingcb","prefinished","errorEmitted","writev","_writev","writeAfterEnd","validChunk","valid","decodeChunk","writeOrBuffer","last","doWrite","onwriteError","onwriteStateUpdate","needFinish","clearBuffer","afterWrite","onwriteDrain","finishMaybe","entry","cbs","prefinish","need","endWritable","internalUtil","deprecate","getBuffer","current","defineProperty","cork","uncork","setDefaultEncoding","util-deprecate",18,"ar","isBoolean","isNull","isNullOrUndefined","isString","isSymbol","isRegExp","re","objectToString","isDate","isError","isPrimitive","../../../../insert-module-globals/node_modules/is-buffer/index.js",19,20,"deprecated",21,"./lib/_stream_passthrough.js",22,"./lib/_stream_readable.js","./lib/_stream_transform.js","./lib/_stream_writable.js",23,24,25,"EE","source","didOnEnd","destroy","_isStdio","readable-stream/duplex.js","readable-stream/passthrough.js","readable-stream/readable.js","readable-stream/transform.js","readable-stream/writable.js",26,"assertEncoding","isBufferEncoding","passThroughWrite","utf16DetectIncompleteChar","charReceived","charLength","base64DetectIncompleteChar","surrogateSize","detectIncompleteChar","charBuffer","charStr","available","charCode","size","substring","cr",27,28,"ctx","seen","stylize","stylizeNoColor","depth","colors","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","styles","arrayToHash","idx","recurseTimes","primitive","formatPrimitive","visibleKeys","getOwnPropertyNames","formatError","RegExp","braces","toUTCString","formatArray","formatProperty","reduceToSingleString","simple","getOwnPropertyDescriptor","numLinesEst","reduce","prev","cur","pad","timestamp","time","getHours","getMinutes","getSeconds","getDate","months","getMonth","prop","formatRegExp","format","objects","throwDeprecation","traceDeprecation","noDeprecation","debugEnviron","debugs","NODE_DEBUG","toUpperCase","pid","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","special","number","boolean","null","regexp","origin","./support/isBuffer",29,"SessionManager","WildEmitter","selfID","full","sessions","peers","prepareSession","descriptionTypes","MediaSession","FileSession","performTieBreak","sess","jingle","contents","description","descType","matching","intersect","pendingDescriptionTypes","screenSharingSupport","webrtc","screenSharing","capabilities","support","peerConnectionConfig","iceServers","url","peerConnectionConstraints","optional","DtlsSrtpKeyAgreement","RtpDataChannels","media","audio","video","BaseSession","addICEServer","addSession","peer","peerID","extraData","extraData2","action","isInitiator","createMediaSession","initiator","constraints","createFileTransferSession","endPeerSessions","silent","endAllSessions","_createIncomingSession","meta","_sendError","_log","sender","isTieBreak","jingleCondition","pending","pendingAction","transportTypes","transport","transType","jingle-filetransfer-session","jingle-media-session","jingle-session","webrtcsupport","wildemitter",30,"each",31,"big",32,"FileTransferSession","pc","RTCPeerConnection","useJingle","onIceCandidate","onIceStateChange","onChannelAdded","extend","FileTransfer","file","Sender","sent","localDescription","offer","algo","sendChannel","createDataChannel","mandatory","OfferToReceiveAudio","OfferToReceiveVideo","lastModifiedDate","accept","answer","maybeReceivedFile","metadata","actualhash","receivedFile","candidate","iceConnectionState","connectionState","signalingState","channel","receive","onSessionInitiate","changes","Receiver","received","handleOffer","onSessionAccept","handleAnswer","onSessionTerminate","onDescriptionInfo","onTransportInfo","processIce","extend-object","filetransfer/hashed","rtcpeerconnection",33,"chunksize","pacing","receiveBuffer","sliceFile","reader","FileReader","onload","readAsArrayBuffer","binaryType","event","Blob","File",34,"hashes","createHash","digest","./filetransfer","iana-hashes",35,"createHmac","getHashes","mapping","md2","md5","sha-1","sha-224","sha-256","sha-384","sha-512","names","algorithm","./lib/get-hashes","create-hash","create-hmac",36,37,"HashNoConstructor","Base","_hash","buffers","Hash","rmd160","sha","_update","_final","alg","./md5","cipher-base","ripemd160","sha.js",38,"toArray","bigEndian","intSize","zeroBuffer","toBuffer","hashSize","chrsz",39,"helpers","./helpers",40,"CipherBase","hashMode","_finalOrDigest","_decoder","_encoding","inputEnc","outputEnc","outData","_toString","setAutoPadding","getAuthTag","setAuthTag","setAAD","final","string_decoder",41,"dup",42,"bytesToWords","words","wordsToBytes","processBlock","H","M","offset_i","M_offset_i","al","bl","cl","dl","dr","zl","f1","hl","f2","f3","f4","f5","rotl","sl","zr","hr","sr","z","nBitsLeft","nBitsTotal","H_i","digestbytes",43,"blockSize","finalSize","_block","_finalSize","_blockSize","_s","ch",44,"Algorithm","sha1","sha224","sha256","sha384","sha512","./sha","./sha1","./sha224","./sha256","./sha384","./sha512",45,"Sha","_w","W","_a","_b","_c","_d","_e","calcW","loop","./hash",46,"Sha1",47,"Sha224","Sha256","_f","_g","_h",48,"Ch","Maj","Sigma0","Sigma1","Gamma0","Gamma1","K","T1","T2",49,"Sha384","SHA512","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","writeInt64BE",50,"Sha512","xl","Gamma0l","Gamma1l","gamma0","gamma0l","gamma1","gamma1l","Wi7","Wi7l","Wi16","Wi16l","Wil","Wi","maj","majl","sigma0h","sigma0l","sigma1h","sigma1l","Ki","Kil","chl","fl","gl","t1l","t1","t2l","t2",51,"Hmac","blocksize","_alg","_key","ZEROS","_ipad","_opad","create-hash/browser",52,53,"mixin","isWildEmitter","groupName","callbacks","hasGroup","group","_groupName","releaseGroup","specialCallbacks","getWildcardCallbacks","eventName",54,"createForEach","arrayFunc","eachFunc","collection","iteratee","thisArg","bindCallback","arrayEach","baseEach","lodash._arrayeach","lodash._baseeach","lodash._bindcallback","lodash.isarray",55,56,"baseForOwn","baseFor","baseProperty","createBaseEach","fromRight","getLength","isLength","iterable","toObject","createBaseFor","keysFunc","props","MAX_SAFE_INTEGER","lodash.keys",57,"isArrayLike","isIndex","reIsUint","shimKeys","keysIn","propsLength","allowIndexes","isArguments","Ctor","isProto","skipIndexes","getNative","objectProto","nativeKeys","lodash._getnative","lodash.isarguments",58,"isObjectLike","isNative","objToString","funcTag","reIsNative","fnToString","reIsHostCtor",59,"propertyIsEnumerable",60,"argCount","accumulator","other",61,"arrayTag","nativeIsArray",62,"basePropertyDeep","path","pathKey","toPath","baseGet","isKey","reIsPlainProp","reIsDeepProp","pluck","property","lodash._baseget","lodash._topath","lodash.map",63,64,"baseToString","rePropName","quote","reEscapeChar",65,66,"baseMap","arrayMap","baseCallback","lodash._arraymap","lodash._basecallback",67,68,"baseMatches","baseMatchesProperty","baseIsMatch","matchData","customizer","noCustomizer","objValue","srcValue","baseIsEqual","getMatchData","isArr","isCommon","isStrictComparable","baseSlice","pairs","lodash._baseisequal","lodash.pairs",69,"arraySome","predicate","isLoose","stackA","stackB","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","argsTag","objectTag","isTypedArray","objIsObj","othIsObj","isSameTag","equalByTag","objIsWrapped","othIsWrapped","equalArrays","equalObjects","arrLength","othLength","arrValue","othValue","boolTag","dateTag","errorTag","numberTag","regexpTag","stringTag","objProps","objLength","othProps","skipCtor","objCtor","othCtor","lodash.istypedarray",70,"typedArrayTags","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag",71,72,73,74,75,76,77,"toSDP","toIncomingSDPOffer","toSessionSDP","direction","toOutgoingSDPOffer","toIncomingSDPAnswer","toOutgoingSDPAnswer","toIncomingMediaSDPOffer","toMediaSDP","toOutgoingMediaSDPOffer","toIncomingMediaSDPAnswer","toOutgoingMediaSDPAnswer","toCandidateSDP","toIncomingJSONOffer","sdp","creators","toSessionJSON","toOutgoingJSONOffer","toIncomingJSONAnswer","toOutgoingJSONAnswer","toIncomingMediaJSONOffer","creator","toMediaJSON","toOutgoingMediaJSONOffer","toIncomingMediaJSONAnswer","toOutgoingMediaJSONAnswer","toCandidateJSON","./lib/tojson","./lib/tosdp",78,"lines","filter","findLine","prefix","mediaLines","sessionLines","prefixLength","findLines","results","mline","port","formats","rtpmap","clockrate","channels","sctpmap","streams","fmtp","kv","crypto","cipherSuite","keyParams","sessionParams","fingerprint","extmap","idpart","sp","senders","uri","rtcpfb","subtype","parameters","foundation","component","ip","generation","relAddr","relPort","tcpType","network","sourceGroups","semantics","sources","ssrc","groups","bandwidth","msid","mslabel",79,"incoming","responder","both","none","recvonly","sendonly","sendrecv","inactive","outgoing",80,"SENDERS","parsers","idCounter","_setIdCounter","groupLines","payloads","encryption","feedback","headerExtensions","candidates","fingerprints","sctp","trans","mid","rtpmapLines","payload","fmtpLines","fbLines","cryptoLines","mux","extLines","ssrcGroupLines","ssrcLines","msidLine","found","googConferenceFlag","fingerprintLines","setup","fp","ufragLine","pwdLine","ufrag","pwd","candidateLines","sctpmapLines","./parsers","./senders",81,"pushedSetup","param","fb","hdrExts","hdr","ssrcGroups","ssrcGroup","ssrcs",82,"dumpSDP","dumpStream","getAudioTracks","track","getVideoTracks","TraceablePeerConnection","peerconnection","what","onicecandidate","onaddstream","onremovestream","onsignalingstatechange","oniceconnectionstatechange","onnegotiationneeded","ondatachannel","getLocalStreams","getRemoteStreams","addStream","removeStream","setLocalDescription","successCallback","failureCallback","setRemoteDescription","createOffer","createAnswer","addIceCandidate","getStats","webrtc-adapter-test",83,"requestUserMedia","Promise","resolve","reject","getUserMedia","attachMediaStream","reattachMediaStream","webrtcDetectedBrowser","webrtcDetectedVersion","webrtcMinimumVersion","webrtcUtils","extractVersion","uastring","expr","HTMLMediaElement","mozSrcObject","_srcObject","URL","createObjectURL","navigator","srcObject","mozGetUserMedia","mozRTCPeerConnection","userAgent","pcConfig","pcConstraints","newIceServers","urls","newServer","username","credential","RTCSessionDescription","mozRTCSessionDescription","RTCIceCandidate","mozRTCIceCandidate","onError","constraintsToFF37","ideal","exact","advanced","oc","mediaDevices","addEventListener","removeEventListener","enumerateDevices","infos","kind","deviceId","groupId","orgEnumerateDevices","then","webkitGetUserMedia","webkitRTCPeerConnection","iceTransportPolicy","iceTransports","origGetStats","selector","errorCallback","fixChromeStats","standardReport","reports","report","standardStats","stat","successCallbackWrapper","nativeMethod","constraintsToChrome","cc","oldname","mix","kinds","MediaStreamTrack","getSources","devices","device","origGetUserMedia","webrtcTesting",84,85,"PeerConnection","enableChromeNativeSimulcast","adapter","appVersion","constraint","enableMultiStreamHacks","restrictBandwidth","andyetRestrictBandwidth","batchIceCandidates","andyetBatchIce","batchedIceCandidates","andyetFasterICE","eliminateDuplicateCandidates","andyetDontSignalCandidates","dontSignalCandidates","assumeSetLocalSuccess","andyetAssumeSetLocalSuccess","wtFirefox","andyetFirefoxMakesMeSad","firefoxcandidatebuffer","peerconn","_onIce","_onDataChannel","remoteDescription","ice","sdpSessionID","logger","hadLocalStunCandidate","hadRemoteStunCandidate","hadLocalRelayCandidate","hadRemoteRelayCandidate","hadLocalIPv6Candidate","hadRemoteIPv6Candidate","_remoteDataChannels","_localDataChannels","_candidateBuffer","SJJ","_role","localStream","_checkLocalCandidate","cand","_checkRemoteCandidate","contentNames","iceCandidate","sdpMLineIndex","sdpMid","hasConstraints","mediaConstraints","expandedOffer","hasBw","answerAudioOnly","_answer","answerBroadcastOnly","sim","hasSim","newssrc","rtxssrc","expandedAnswer","parameter","expandedCandidate","already","bundlePolicy","address","rtcpMuxPolicy","newCand","lodash.foreach","lodash.pluck","sdp-jingle-json","traceablepeerconnection",86,"filterContentSources","filterUnusedLabels","onIceEndOfCandidates","onAddStream","onRemoveStream","_ringing","defineProperties","ringing","offerOptions","mediaType","ring","unmute","active","renegotiate","addStream2","removeStream2","switchStream","oldStream","newStream","audioTracks","addTrack","onSessionInfo","onSourceAdd","newDesc","newContent","newContentDesc","newSSRCs","newGroups","onSourceRemove","same",87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,"JingleSession","v4","processingQueue","task","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","_connectionState","starting","connecting","disconnected","interrupted","requirePending","session-inititate","cancel","decline","kill","okKeys","unknownPayload","onContentAdd","onTransportReplace",119,"only_once","called","previous_async","noConflict","_isArray","_each","iterator","_map","_reduce","memo","_keys","setImmediate","completed","eachSeries","iterate","forEachSeries","eachLimit","_eachLimit","forEachLimit","started","running","replenish","doParallel","doParallelLimit","doSeries","_asyncMap","eachfn","mapSeries","mapLimit","_mapLimit","inject","foldl","reduceRight","reversed","reverse","foldr","_filter","filterSeries","select","selectSeries","_reject","rejectSeries","_detect","main_callback","detect","detectSeries","some","any","every","all","sortBy","criteria","left","right","auto","tasks","remainingTasks","taskComplete","theCallback","taskCallback","safeResults","rkey","requires","ready","retry","times","DEFAULT_TIMES","attempts","wrappedTask","wrappedCallback","wrappedResults","retryAttempt","finalAttempt","seriesCallback","series","waterfall","wrapIterator","_parallel","parallel","parallelLimit","makeCallback","concatSeries","whilst","doWhilst","until","doUntil","worker","concurrency","_insert","drain","saturated","workers","empty","idle","priorityQueue","_compareTasks","_binarySearch","sequence","beg","cargo","working","drained","ds","_console_fn","memoize","hasher","queues","memoized","unmemoized","unmemoize","count","timesSeries","seq","fns","newargs","nextargs","compose","_applyEach","go","applyEach","applyEachSeries","forever",120,"rng","getRandomValues","_rnds8","_rnds",121,"ii","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","_nodeId","rnds","_rng","_seedBytes","./rng",122,123,"PC","IceCandidate","SessionDescription","MediaStream","webkitMediaStream","AudioContext","webkitAudioContext","videoEl","supportVp8","canPlayType","msGetUserMedia","browserVersion","supportRTCPeerConnection","supportGetUserMedia","supportDataChannel","supportWebAudio","createMediaStreamSource","supportMediaStream","removeTrack","supportScreenSharing","dataChannel","webAudio","mediaStream",124,125,"_interopRequireDefault","__esModule","default","_shortcuts","_shortcuts2","_types2","JXT","use","./shortcuts","./types",126,"_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",127,"_xmppJid","Utils","utils","jidAttribute","prepped","JID","jidSub","getSubText","setSubText","tzoSub","defaultVal","hrs","sign","formatted","xmpp-jid",128,"PubSub","Jingle","./lib/jingle","./lib/muc","./lib/namespaces","./lib/presence","./lib/pubsub",129,"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","Reason","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",130,"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","Affiliation","ADMIN","MEMBER","NONE","OUTCAST","OWNER","Role","MODERATOR","PARTICIPANT","VISITOR",131,"STANZA_ERROR","STREAM_ERROR","ROSTER_VERSIONING","SUBSCRIPTION_PREAPPROVAL","RPC","LAST_ACTIVITY","PRIVACY","ADDRESS","IBB","PRIVATE","ADHOC_COMMANDS","VCARD_TEMP","SEARCH","RSM","PUBSUB_ERRORS","PUBSUB_OWNER","SOCKS5","OOB","HTTP_AUTH","REGISTER","AMP","GEOLOC","ROSTER_DELIMITER","AVATAR_DATA","AVATAR_METADATA","CHAT_STATES","MOOD","ACTIVITY","TUNE","DATAFORM_VALIDATION","SHIM","COMPRESSION","DATAFORM_LAYOUT","ROSTER_EXCHANGE","ROSTER_NOTES","REACH_0","VCARD_TEMP_UPDATE","CAPTCHA","JINGLE_1","JINGLE_ERRORS_1","JINGLE_RTP_1","JINGLE_RTP_ERRORS_1","JINGLE_RTP_INFO_1","LANG_TRANS","LANG_TRANS_ITEMS","NICK","JINGLE_ICE_UDP_1","JINGLE_RAW_UDP_1","RECEIPTS","INVISIBLE_0","BLOCKING","SMACKS_3","PING","TIME","DELAY","BOSH_XMPP","DISCO_EXTERNAL_1","DATAFORM_MEDIA","ATTENTION_0","BOB","FILE_TRANSFER_3","FILE_TRANSFER_4","MUC_DIRECT_INVITE","SEC_LABEL_0","SEC_LABEL_CATALOG_2","SEC_LABEL_ESS_0","JINGLE_SOCKS5_1","JINGLE_IBB_1","JINGLE_RTP_ZRTP_1","THUMBS_0","THUMBS_1","DECLOAKING_0","CARBONS_2","JINGLE_RTP_RTCP_FB_0","JINGLE_RTP_HDREXT_0","FORWARD_0","HASHES_1","RTT_0","MUC_UNIQUE","CORRECTION_0","PSA","MAM_TMP","MAM_0","HATS_0","IDLE_1","JINGLE_DTLS_0","JID_PREP_0","HINTS","JSON_0","EVENTLOG","JINGLE_GROUPING_0","JINGLE_RTP_SSMA_0","COLIBRI","DTLS_SCTP_1","CSI","JINGLE_MSG_INITIATE_0","PUSH_0","JINGLE_PUB_1",132,"Type","SUBSCRIBE","SUBSCRIBED","UNSUBSCRIBE","UNSUBSCRIBED","PROBE","UNAVAILABLE","Show","CHAT","AWAY","DO_NOT_DISTURB","EXTENDED_AWAY",133,"PUBLISHER","PUBLISH_ONLY","Subscription","PENDING","UNCONFIGURED","AccessModel","OPEN","PRESENCE","AUTHORIZE","WHITELIST","CONFLICT",134,"bareJID","local","fullJID","StringPrep","ASCII","prep","unescapedLocal","nodeprep","unescape","resourceprep","nameprep","unescapedBare","unescapedFull","trusted","resourceStart","localEnd","preppedJID","equal","jid1","jid2","requirePrep","equalBare","isBare","hasResource","isFull","escape","localOrJID","_isJID","./lib/stringprep",135,136,"_lodashForeach","_lodashForeach2","Avatar","namespace","height","width","avatars","_avatars","findOrCreate","avatar","textSub","babel-runtime/helpers/interop-require-default",137,"Bind",138,"jidList","types","Block","jids","Unblock","BlockList",139,"cid","maxAge","numberAttribute",140,"Conference","autoJoin","boolAttribute","Bookmarks","PrivateStorage",141,"prefixes","xmpp","ack","authid","charsets","inactivity","maxpause","newKey","polling","resport","requests","langAttribute","restart","restartLogic",142,"Sent","Received","Private","Enable","Disable","Forwarded",143,"CONDITIONS","Command","sessionid","execute","subAttribute","actions","actionSet","existing","Note","StanzaError","enumSub","DataForm",144,"CSIFeature","topLevel",145,"SINGLE_FIELDS","_type","boolSub","getMultiSubText","truthy","setMultiSubText","Media","MediaURI","Validation","dataType","regex","Range","ListRange","layoutContents","namespaceURI","localName","section","Section","sectionXML","Page","reportedFields","fieldTypes","multiTextSub","subMultiExtension",146,"DelayedDelivery","stamp","dateAttribute",147,"DiscoCaps","DiscoInfo","multiSubAttribute","DiscoIdentity","DiscoItems","DiscoItem",148,"gone","redirect","by","$text","getSubLangText","setSubLangText",149,"Services","Credentials","Service",150,"FT_NS","numberSub","dateSub","Thumbnail","mimeType","subExtension","request","Content",151,"Delayed",152,"seeOtherURI",153,"GeoLoc","accuracy","altitude","area","heading","bearing","building","country","countrycode","datum","latitude","locality","longitude","postalcode","region","speed","street","tzo",154,155,"Hat","displayName",156,"ICE","RemoteCandidate","Candidate","Fingerprint","SctpMap",157,"_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","_forwarded","_forwarded2","_framing","_framing2","_geoloc","_geoloc2","_hash2","_hats","_hats2","_iceUdp","_iceUdp2","_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","./avatar","./bind","./blocking","./bob","./bookmarks","./bosh","./carbons","./command","./csi","./dataforms","./delayed","./disco","./error","./extdisco","./file","./forwarded","./framing","./geoloc","./hats","./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",158,"_Object$assign","internals","defineIQ","_toJSON","resultReply","errorReply","babel-runtime/core-js/object/assign",159,160,"REASONS","disposition","tagged","Description","_name","_extensions","Transport","alternativeSession",161,"JSONExtension",162,"Log","facility","stackTrace","Tag",163,"MAMQuery","queryid","Result","Fin","complete","stable","Prefs","defaultCondition","always","container","never",164,"defineMessage","thread","parentThread","$body","bodies","attention","chatState","requestReceipt","receipt",165,"MOODS","Mood",166,"proxy","UserItem","UserActor","Destroyed","Invite","continue","Decline","AdminItem","AdminActor","Destroy","actor","codes","MUCAdmin","MUCOwner","MUCJoin","history","hist","maxchars","maxstanzas","seconds","toISOString","DirectInvite",167,168,169,"Ping",170,"definePresence","$status","statuses","idleSince","dateSubAttribute","decloak","DECLOAK_0","avatarId","setBoolSub",171,172,173,"Pubsub","getSubAttribute","getBoolSub","setSubAttribute","publishOptions","Configure","Subscribe","subid","configurationRequired","Subscriptions","Affiliations","SubscriptionOptions","Unsubscribe","Publish","Retract","Retrieve",174,"pubsubCondition",175,"Event","EventPurge","EventDelete","EventSubscription","expiry","EventConfiguration","EventItems","retracted","EventItem","publisher",176,"PubsubOwner","purge","del",177,"Notification",178,"ReachURI","$desc","descs","reachability","reach","addrs","addr",179,"Register","registered","remove","first","email","city","zip","phone","misc",180,"Roster","force","RosterItem","subscription","subscriptionRequested","ask","preApproved",181,"after","before","firstIndex",182,"Feedback","Bandwidth","RTP","Crypto","setBoolSubAttribute","PayloadType","maxptime","ptime","params","ContentGroup","SourceGroup","Source","Mute","Unmute",183,"TYPE_MAP","insert","erase","ACTION_MAP","RTT","setText",184,"Mechanisms","_lang",185,"Session",186,"headerSet",187,"SMFeature","previd",188,189,"seeOtherHost",190,"RosterVerFeature","SubscriptionPreApprovalFeature",191,"EntityTime","utc",192,"Tune","artist","rating",193,"VCardTemp","website","fullName","birthday","nicknames","Email","home","work","preferred","PhoneNumber","mobile","Address","street2","postalCode","pobox","Organization","unit","Name","family","given","middle","Photo",194,"Version","os",195,196,"core-js/library/fn/object/assign",197,198,"assign","../../modules/$.core","../../modules/es6.object.assign",199,"it",200,201,"__e",202,"aFunction","./$.a-function",203,204,"PROTOTYPE","$export","own","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","IS_WRAP","C","./$.core","./$.ctx","./$.global",205,"exec",206,"__g",207,"cof","./$.cof",208,"$Object","getProto","getPrototypeOf","isEnum","getDesc","setDesc","setDescs","getKeys","getNames","getSymbols","getOwnPropertySymbols",209,"IObject","A","Symbol","T","$$","$$len","./$","./$.fails","./$.iobject","./$.to-object",210,"defined","./$.defined",211,"./$.export","./$.object-assign",212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,"_LOOKUP","_LOOKUP_EXT","_TAGS","_CB_DEFINITION","_CB_TAG","_ID","ltx","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",229,"XML_NS","parentNS","Element","created","getAttributeNS","setAttributeNS","removeAttributeNS","getBoolAttribute","setBoolAttribute","subs","getBoolSubAttribute","getTextSub","setTextSub","extractor","builder","getMultiSubAttribute","setMultiSubAttribute","defaultLang","langs",230,"EXCLUDE","_PREFIXES","_eventname","allowedName","isExtensionName","nval",231,"getter","setter","boolSubAttribute","getSubBoolAttribute","setSubBoolAttribute","subText","multiSubText","langTextSub","subLangText","b64Text","isFloat","parseFloat","attributeNS","enumValues","enumVal","exists","alreadyExists","elements",232,"assignWith","baseAssign","createAssigner","lodash._baseassign","lodash._createassigner",233,"baseCopy","lodash._basecopy",234,235,"assigner","restParam","guard","isIterateeCall","lodash._isiterateecall","lodash.restparam",236,237,238,"FUNC_ERROR_TEXT","nativeMax","rest","otherArgs",239,240,241,242,243,"DOMElement","_getElement","getName","getNS","getChildren","getAttr","nss","getXmlns","./element",244,"setAttrs","escapeXml","escapeXmlText","is","findNS","namespaces","getChild","getChildByAttr","recursive","getChildrenByAttr","getChildrenByFilter","getChildText","getChildElements","clone","_addChildren","writer",245,"availableSaxParsers","bestSaxParser","./index","./parse","./sax/sax_ltx",246,"Parser","./dom-element",247,"saxParsers","modName","mod","saxParser","ParserMod",248,"unescapeXml","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",249,250,251,252,"JSM","RTC","jxt","IqStanza","peer_constraints","AUTOACCEPT","manager","MozDontOfferDataChannel","offerToReceiveAudio","offerToReceiveVideo","mozDontOfferDataChannel","terminated","peerStreamAdded","peerStreamRemoved","log:error","onJingle","parseXML","outerHTML","initiate","peerjid","terminate","terminateByJid","setICEServers","servers","setPeerConstraints","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","msCrypto","BigInt","findPrimes","ans","millerRabin","mr_x1","mr_r","mr_a","copy_","addInt_","isZero","bpe","rightShift_","powMod_","equalsInt","squareMod_","bitSize","expand","int2bigInt","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","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","t3","HmacSHA1","isPrime","sqrtN","sqrt","factor","getFractionalBits","nPrime","SHA256","gamma0x","gamma1x","sigma0","sigma1","HmacSHA256","_hasher","hasherBlockSize","hasherBlockSizeBytes","oKey","_oKey","iKey","_iKey","oKeyWords","iKeyWords","innerHash","hmac","NoPadding","CTR","_counter","keystream","indexOfListener","getListeners","evt","_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","seed","postMessage","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","dh","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","cache","jsonp","content-type","authBasic","Authorization","head","isAllowed","patch","post","put","fixLng","functions","defaultNs","fallbackNS","fallbackLng","interpolationPrefixEscaped","regexEscape","interpolationPrefix","interpolationSuffixEscaped","interpolationSuffix","lng","detectLanguage","toLanguages","useCookie","cookie","cookieName","cookieExpirationTime","cookieDomain","detectLngFromLocalStorage","setCurrentLng","setJqueryExt","Deferred","resStore","preload","I","load","J","promise","deepExtend","keyseparator","dynamicLoad","resGetPath","getAsync","customLoad","_fetch","useLocalStorage","_storeLocal","defaultValueFromContent","defaultValue","prepend","selectorAttr","useDataAttrOptions","i18n","escapeInterpolation","regexReplacementEscape","postProcess","reusePrefix","maxRecursion","reuseSuffix","context","indefinite_article","D","sprintf","shortcutFunction","defaultVariables","nsseparator","sendMissing","missingKeyHandler","X","parseMissingKey","lngs","contextNotFound","pluralNotFound","needsPlural","pluralSuffix","indefiniteNotFound","indefiniteSuffix","E","returnObjectTrees","fallbackOnNull","objectTreeKeyHandler","fallbackOnEmpty","isFallbackLookup","fallbackToDefaultNS","lngWhitelist","detectLngQS","languages","userLanguage","language","lowerCaseLng","Zepto","O","_loadLocal","i18nStamp","localStorageExpirationTime","ajax","_fetchOne","postMissing","sendMissingTo","resPostPath","sendType","postAsync","reload","&","<",">","\"","'","/","R","setTime","toGMTString","getCountyIndexOfLng","applyReplacement","V","rules","numbers","plurals","addRule","currentRule","rule","noAbs","Y","Z","toExponential","toFixed","setLng","addResourceBundle","hasResourceBundle","addResource","addResources","removeResourceBundle","loadNamespace","loadNamespaces","setDefaultNamespace","translate","pluralExtensions","addPostProcessor","className","triggerHandler","st","currTemplate","closeBtn","closeMarkup","tClose","magnificPopup","transition","isIE7","isIE8","isLowIE","isAndroid","isIOS","supportsTransition","probablyMobile","popupsCache","isObj","isOpen","updateItemHTML","mainEl","eq","defaults","fixedContentPos","modal","closeOnContentClick","closeOnBgClick","showCloseBtn","enableEscapeKey","bgOverlay","_checkIfClose","contentContainer","preloader","tLoading","modules","closeBtnInside","close_replaceWith","alignTop","overflowY","overflowX","top","scrollTop","fixedBgPos","keyCode","updateSize","addClass","wH","_hasScrollBar","_getScrollbarSize","marginRight","mainClass","_addClassToMFP","prependTo","_lastFocusedEl","activeElement","_setFocus","_onFocusIn","removalDelay","_close","detach","_removeClassFromMFP","removeAttr","currItem","focus","prevHeight","clientWidth","innerWidth","innerHeight","parseEl","markup","removeClass","appendContent","preloaded","hasClass","addGroup","mfpEl","_openClick","delegate","midClick","which","ctrlKey","metaKey","disableOn","preventDefault","stopPropagation","updateStatus","stopImmediatePropagation","contains","scrollHeight","_parseMarkup","replaceWith","scrollbarSize","offsetWidth","registerModule","hiddenClass","tNotFound","initInline","getInline","inline","inlineElement","settings","cursor","tError","initAjax","getAjax","loadError","image","titleSrc","verticalFit","initImage","resizeImage","_onImageHasSize","hasSize","clearInterval","isCheckingImgSize","imgHidden","findImageSize","setInterval","naturalWidth","getImage","loaded","alt","img_replaceWith","loading","MozTransform","enabled","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","Boolean","mfpFastClick","arrowLeft","arrowRight","_preloadTimeout","preloadNearbyImages","destroyMfpFastClick","goTo","_preloadItem","replaceSrc","ratio","initRetina","devicePixelRatio","retina","max-width","originalEvent","touches","clientX","clientY","I18next","de","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","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","Info","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","PermissionDeniedError","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","en","fi","fr","hu-HU","nds","pl","pt-BR","ro","ru","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","chrome","opera","ie","safari","HTMLElement","supported","_queue","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:",":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:",":eye_in_speech_bubble:",":hash:",":zero:",":one:",":two:",":three:",":four:",":five:",":six:",":seven:",":eight:",":nine:",":asterisk:",":keycap_asterisk:",":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:",":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:",":thumbsdown_tone4:",":-1_tone4:",":thumbsdown_tone3:",":-1_tone3:",":thumbsdown_tone2:",":-1_tone2:",":thumbsdown_tone1:",":-1_tone1:",":thumbsup_tone5:",":+1_tone5:",":thumbsup_tone4:",":+1_tone4:",":thumbsup_tone3:",":+1_tone3:",":thumbsup_tone2:",":+1_tone2:",":thumbsup_tone1:",":+1_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:",":u7121:",":u6307:",":u6708:",":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:",":part_alternation_mark:",":congratulations:",":secret:",":black_joker:",":a:",":b:",":o2:",":ab:",":cl:",":cool:",":free:",":id:",":new:",":ng:",":ok:",":sos:",":up:",":vs:",":koko:",":sa:",":u7981:",":u7a7a:",":u5408:",":u6e80:",":u6709:",":u7533:",":u5272:",":u55b6:",":ideograph_advantage:",":accept:",":cyclone:",":foggy:",":closed_umbrella:",":night_with_stars:",":sunrise_over_mountains:",":sunrise:",":city_dusk:",":city_sunset:",":city_sunrise:",":rainbow:",":bridge_at_night:",":ocean:",":volcano:",":milky_way:",":earth_asia:",":new_moon:",":first_quarter_moon:",":waxing_gibbous_moon:",":full_moon:",":crescent_moon:",":first_quarter_moon_with_face:",":star2:",":stars:",":chestnut:",":seedling:",":palm_tree:",":cactus:",":tulip:",":cherry_blossom:",":rose:",":hibiscus:",":sunflower:",":blossom:",":corn:",":ear_of_rice:",":herb:",":four_leaf_clover:",":maple_leaf:",":fallen_leaf:",":leaves:",":mushroom:",":tomato:",":eggplant:",":grapes:",":melon:",":watermelon:",":tangerine:",":banana:",":pineapple:",":apple:",":green_apple:",":peach:",":cherries:",":strawberry:",":hamburger:",":pizza:",":meat_on_bone:",":poultry_leg:",":rice_cracker:",":rice_ball:",":rice:",":curry:",":ramen:",":spaghetti:",":bread:",":fries:",":sweet_potato:",":dango:",":oden:",":sushi:",":fried_shrimp:",":fish_cake:",":icecream:",":shaved_ice:",":ice_cream:",":doughnut:",":cookie:",":chocolate_bar:",":candy:",":lollipop:",":custard:",":honey_pot:",":cake:",":bento:",":stew:",":egg:",":fork_and_knife:",":tea:",":sake:",":wine_glass:",":cocktail:",":tropical_drink:",":beer:",":beers:",":ribbon:",":gift:",":birthday:",":jack_o_lantern:",":christmas_tree:",":santa:",":fireworks:",":sparkler:",":balloon:",":tada:",":confetti_ball:",":tanabata_tree:",":crossed_flags:",":bamboo:",":dolls:",":flags:",":wind_chime:",":rice_scene:",":school_satchel:",":mortar_board:",":carousel_horse:",":ferris_wheel:",":roller_coaster:",":fishing_pole_and_fish:",":microphone:",":movie_camera:",":cinema:",":headphones:",":art:",":tophat:",":circus_tent:",":ticket:",":clapper:",":performing_arts:",":video_game:",":dart:",":slot_machine:",":8ball:",":game_die:",":bowling:",":flower_playing_cards:",":musical_note:",":notes:",":saxophone:",":guitar:",":musical_keyboard:",":trumpet:",":violin:",":musical_score:",":running_shirt_with_sash:",":tennis:",":ski:",":basketball:",":checkered_flag:",":snowboarder:",":runner:",":surfer:",":trophy:",":football:",":swimmer:",":house:",":house_with_garden:",":office:",":post_office:",":hospital:",":bank:",":atm:",":hotel:",":love_hotel:",":convenience_store:",":school:",":department_store:",":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:",":thumbsdown:",":-1:",":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:",":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:",":large_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:",":film_frames:",":tickets:",":admission_tickets:",":medal:",":sports_medal:",":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:",":flag_black:",":waving_black_flag:",":rosette:",":label:",":camera_with_flash:",":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:",":anger_right:",":right_anger_bubble:",":ballot_box:",":ballot_box_with_ballot:",":map:",":world_map:",":sleeping_accommodation:",":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:",":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:",":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:",":airplane_departure:",":airplane_arriving:",":cruise_ship:",":passenger_ship:",":tone1:",":tone2:",":tone3:",":tone4:",":tone5:",":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:",":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:",":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:",":wavy_dash:",":loop:",":cross:",":latin_cross:",":keyboard:",":writing_hand:",":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:","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️⃣","1️⃣","2️⃣","3️⃣","4️⃣","5️⃣","6️⃣","7️⃣","8️⃣","9️⃣","*️⃣","🤘🏿","🤘🏾","🤘🏽","🤘🏼","🤘🏻","🛀🏿","🛀🏾","🛀🏽","🛀🏼","🛀🏻","🚶🏿","🚶🏾","🚶🏽","🚶🏼","🚶🏻","🚵🏿","🚵🏾","🚵🏽","🚵🏼","🚵🏻","🚴🏿","🚴🏾","🚴🏽","🚴🏼","🚴🏻","🚣🏿","🚣🏾","🚣🏽","🚣🏼","🚣🏻","🙏🏿","🙏🏾","🙏🏽","🙏🏼","🙏🏻","🙎🏿","🙎🏾","🙎🏽","🙎🏼","🙎🏻","🙍🏿","🙍🏾","🙍🏽","🙍🏼","🙍🏻","🙌🏿","🙌🏾","🙌🏽","🙌🏼","🙌🏻","🙋🏿","🙋🏾","🙋🏽","🙋🏼","🙋🏻","🙇🏿","🙇🏾","🙇🏽","🙇🏼","🙇🏻","🙆🏿","🙆🏾","🙆🏽","🙆🏼","🙆🏻","🙅🏿","🙅🏾","🙅🏽","🙅🏼","🙅🏻","🖖🏿","🖖🏾","🖖🏽","🖖🏼","🖖🏻","🖕🏿","🖕🏾","🖕🏽","🖕🏼","🖕🏻","🖐🏿","🖐🏾","🖐🏽","🖐🏼","🖐🏻","🕵🏿","🕵🏾","🕵🏽","🕵🏼","🕵🏻","💪🏿","💪🏾","💪🏽","💪🏼","💪🏻","💇🏿","💇🏾","💇🏽","💇🏼","💇🏻","💆🏿","💆🏾","💆🏽","💆🏼","💆🏻","💅🏿","💅🏾","💅🏽","💅🏼","💅🏻","💃🏿","💃🏾","💃🏽","💃🏼","💃🏻","💂🏿","💂🏾","💂🏽","💂🏼","💂🏻","💁🏿","💁🏾","💁🏽","💁🏼","💁🏻","👼🏿","👼🏾","👼🏽","👼🏼","👼🏻","👸🏿","👸🏾","👸🏽","👸🏼","👸🏻","👷🏿","👷🏾","👷🏽","👷🏼","👷🏻","👶🏿","👶🏾","👶🏽","👶🏼","👶🏻","👵🏿","👵🏾","👵🏽","👵🏼","👵🏻","👴🏿","👴🏾","👴🏽","👴🏼","👴🏻","👳🏿","👳🏾","👳🏽","👳🏼","👳🏻","👲🏿","👲🏾","👲🏽","👲🏼","👲🏻","👱🏿","👱🏾","👱🏽","👱🏼","👱🏻","👰🏿","👰🏾","👰🏽","👰🏼","👰🏻","👮🏿","👮🏾","👮🏽","👮🏼","👮🏻","👩🏿","👩🏾","👩🏽","👩🏼","👩🏻","👨🏿","👨🏾","👨🏽","👨🏼","👨🏻","👧🏿","👧🏾","👧🏽","👧🏼","👧🏻","👦🏿","👦🏾","👦🏽","👦🏼","👦🏻","👐🏿","👐🏾","👐🏽","👐🏼","👐🏻","👏🏿","👏🏾","👏🏽","👏🏼","👏🏻","👎🏿","👎🏾","👎🏽","👎🏼","👎🏻","👍🏿","👍🏾","👍🏽","👍🏼","👍🏻","👌🏿","👌🏾","👌🏽","👌🏼","👌🏻","👋🏿","👋🏾","👋🏽","👋🏼","👋🏻","👊🏿","👊🏾","👊🏽","👊🏼","👊🏻","👉🏿","👉🏾","👉🏽","👉🏼","👉🏻","👈🏿","👈🏾","👈🏽","👈🏼","👈🏻","👇🏿","👇🏾","👇🏽","👇🏼","👇🏻","👆🏿","👆🏾","👆🏽","👆🏼","👆🏻","👃🏿","👃🏾","👃🏽","👃🏼","👃🏻","👂🏿","👂🏾","👂🏽","👂🏼","👂🏻","🏋🏿","🏋🏾","🏋🏽","🏋🏼","🏋🏻","🏊🏿","🏊🏾","🏊🏽","🏊🏼","🏊🏻","🏇🏿","🏇🏾","🏇🏽","🏇🏼","🏇🏻","🏄🏿","🏄🏾","🏄🏽","🏄🏼","🏄🏻","🏃🏿","🏃🏾","🏃🏽","🏃🏼","🏃🏻","🎅🏿","🎅🏾","🎅🏽","🎅🏼","🎅🏻","🇿🇼","🇿🇲","🇿🇦","🇾🇹","🇾🇪","🇽🇰","🇼🇸","🇼🇫","🇻🇺","🇻🇳","🇻🇮","🇻🇬","🇻🇪","🇻🇨","🇻🇦","🇺🇿","🇺🇾","🇺🇸","🇺🇲","🇺🇬","🇺🇦","🇹🇿","🇹🇼","🇹🇻","🇹🇹","🇹🇷","🇹🇴","🇹🇳","🇹🇲","🇹🇱","🇹🇰","🇹🇯","🇹🇭","🇹🇬","🇹🇫","🇹🇩","🇹🇨","🇹🇦","🇸🇿","🇸🇾","🇸🇽","🇸🇻","🇸🇹","🇸🇸","🇸🇷","🇸🇴","🇸🇳","🇸🇲","🇸🇱","🇸🇰","🇸🇯","🇸🇮","🇸🇭","🇸🇬","🇸🇪","🇸🇩","🇸🇨","🇸🇧","🇸🇦","🇷🇼","🇷🇺","🇷🇸","🇷🇴","🇷🇪","🇶🇦","🇵🇾","🇵🇼","🇵🇹","🇵🇸","🇵🇷","🇵🇳","🇵🇲","🇵🇱","🇵🇰","🇵🇭","🇵🇬","🇵🇫","🇵🇪","🇵🇦","🇴🇲","🇳🇿","🇳🇺","🇳🇷","🇳🇵","🇳🇴","🇳🇱","🇳🇮","🇳🇬","🇳🇫","🇳🇪","🇳🇨","🇳🇦","🇲🇿","🇲🇾","🇲🇽","🇲🇼","🇲🇻","🇲🇺","🇲🇹","🇲🇸","🇲🇷","🇲🇶","🇲🇵","🇲🇴","🇲🇳","🇲🇲","🇲🇱","🇲🇰","🇲🇭","🇲🇬","🇲🇫","🇲🇪","🇲🇩","🇲🇨","🇲🇦","🇱🇾","🇱🇻","🇱🇺","🇱🇹","🇱🇸","🇱🇷","🇱🇰","🇱🇮","🇱🇨","🇱🇧","🇱🇦","🇰🇿","🇰🇾","🇰🇼","🇰🇷","🇰🇵","🇰🇳","🇰🇲","🇰🇮","🇰🇭","🇰🇬","🇰🇪","🇯🇵","🇯🇴","🇯🇲","🇯🇪","🇮🇹","🇮🇸","🇮🇷","🇮🇶","🇮🇴","🇮🇳","🇮🇲","🇮🇱","🇮🇪","🇮🇩","🇮🇨","🇭🇺","🇭🇹","🇭🇷","🇭🇳","🇭🇲","🇭🇰","🇬🇾","🇬🇼","🇬🇺","🇬🇹","🇬🇸","🇬🇷","🇬🇶","🇬🇵","🇬🇳","🇬🇲","🇬🇱","🇬🇮","🇬🇭","🇬🇬","🇬🇫","🇬🇪","🇬🇩","🇬🇧","🇬🇦","🇫🇷","🇫🇴","🇫🇲","🇫🇰","🇫🇯","🇫🇮","🇪🇺","🇪🇹","🇪🇸","🇪🇷","🇪🇭","🇪🇬","🇪🇪","🇪🇨","🇪🇦","🇩🇿","🇩🇴","🇩🇲","🇩🇰","🇩🇯","🇩🇬","🇩🇪","🇨🇿","🇨🇾","🇨🇽","🇨🇼","🇨🇻","🇨🇺","🇨🇷","🇨🇵","🇨🇴","🇨🇳","🇨🇲","🇨🇱","🇨🇰","🇨🇮","🇨🇭","🇨🇬","🇨🇫","🇨🇩","🇨🇨","🇨🇦","🇧🇿","🇧🇾","🇧🇼","🇧🇻","🇧🇹","🇧🇸","🇧🇷","🇧🇶","🇧🇴","🇧🇳","🇧🇲","🇧🇱","🇧🇯","🇧🇮","🇧🇭","🇧🇬","🇧🇫","🇧🇪","🇧🇩","🇧🇧","🇧🇦","🇦🇿","🇦🇽","🇦🇼","🇦🇺","🇦🇹","🇦🇸","🇦🇷","🇦🇶","🇦🇴","🇦🇲","🇦🇱","🇦🇮","🇦🇬","🇦🇫","🇦🇪","🇦🇩","🇦🇨","🀄️","🅿️","🈚️","🈯️","🈷️","☝🏻","☝🏼","☝🏽","☝🏾","☝🏿","✌🏻","✌🏼","✌🏽","✌🏾","✌🏿","✊🏻","✊🏼","✊🏽","✊🏾","✊🏿","✋🏻","✋🏼","✋🏽","✋🏾","✋🏿","✍🏻","✍🏼","✍🏽","✍🏾","✍🏿","⛹🏻","⛹🏼","⛹🏽","⛹🏾","⛹🏿","©️","®️","‼️","↩️","↪️","⌚️","⌛️","Ⓜ️","▪️","▫️","▶️","◀️","◻️","◼️","◽️","◾️","☎️","☝️","☺️","♊️","♋️","♌️","♍️","♎️","♏️","♻️","♿️","⚠️","⚡️","⚪️","⚫️","⚽️","⚾️","⛄️","⛅️","⛔️","⛪️","⛲️","⛳️","⛵️","⛺️","⛽️","✌️","✏️","➡️","⬅️","⬆️","⬇️","⬛️","⬜️","⭐️","⭕️","〽️","🃏","🅰","🅱","🅾","🆎","🆑","🆒","🆓","🆔","🆕","🆖","🆗","🆘","🆙","🆚","🈁","🈂","🈲","🈳","🈴","🈵","🈶","🈸","🈹","🈺","🉐","🉑","🌀","🌁","🌂","🌃","🌄","🌅","🌆","🌇","🌈","🌉","🌊","🌋","🌌","🌏","🌑","🌓","🌔","🌕","🌙","🌛","🌟","🌠","🌰","🌱","🌴","🌵","🌷","🌸","🌹","🌺","🌻","🌼","🌽","🌾","🌿","🍀","🍁","🍂","🍃","🍄","🍅","🍆","🍇","🍈","🍉","🍊","🍌","🍍","🍎","🍏","🍑","🍒","🍓","🍔","🍕","🍖","🍗","🍘","🍙","🍚","🍛","🍜","🍝","🍞","🍟","🍠","🍡","🍢","🍣","🍤","🍥","🍦","🍧","🍨","🍩","🍪","🍫","🍬","🍭","🍮","🍯","🍰","🍱","🍲","🍳","🍴","🍵","🍶","🍷","🍸","🍹","🍺","🍻","🎀","🎁","🎂","🎃","🎄","🎅","🎆","🎇","🎈","🎉","🎊","🎋","🎌","🎍","🎎","🎏","🎐","🎑","🎒","🎓","🎠","🎡","🎢","🎣","🎤","🎥","🎦","🎧","🎨","🎩","🎪","🎫","🎬","🎭","🎮","🎯","🎰","🎱","🎲","🎳","🎴","🎵","🎶","🎷","🎸","🎹","🎺","🎻","🎼","🎽","🎾","🎿","🏀","🏁","🏂","🏃","🏄","🏆","🏈","🏊","🏠","🏡","🏢","🏣","🏥","🏦","🏧","🏨","🏩","🏪","🏫","🏬","🏭","🏮","🏯","🏰","🐌","🐍","🐎","🐑","🐒","🐔","🐗","🐘","🐙","🐚","🐛","🐜","🐝","🐞","🐟","🐠","🐡","🐢","🐣","🐤","🐥","🐦","🐧","🐨","🐩","🐫","🐬","🐭","🐮","🐯","🐰","🐱","🐲","🐳","🐴","🐵","🐶","🐷","🐸","🐹","🐺","🐻","🐼","🐽","🐾","👀","👂","👃","👄","👅","👆","👇","👈","👉","👊","👋","👌","👍","👎","👏","👐","👑","👒","👓","👔","👕","👖","👗","👘","👙","👚","👛","👜","👝","👞","👟","👠","👡","👢","👣","👤","👦","👧","👨","👩","👪","👫","👮","👯","👰","👱","👲","👳","👴","👵","👶","👷","👸","👹","👺","👻","👼","👽","👾","👿","💀","📇","💁","💂","💃","💄","💅","📒","💆","📓","💇","📔","💈","📕","💉","📖","💊","📗","💋","📘","💌","📙","💍","📚","💎","📛","💏","📜","💐","📝","💑","📞","💒","📟","📠","💓","📡","📢","💔","📣","📤","💕","📥","📦","💖","📧","📨","💗","📩","📪","💘","📫","📮","💙","📰","📱","💚","📲","📳","💛","📴","📶","💜","📷","📹","💝","📺","📻","💞","📼","🔃","💟","🔊","🔋","💠","🔌","🔍","💡","🔎","🔏","💢","🔐","🔑","💣","🔒","🔓","💤","🔔","🔖","💥","🔗","🔘","💦","🔙","🔚","💧","🔛","🔜","💨","🔝","🔞","💩","🔟","💪","🔠","🔡","💫","🔢","🔣","💬","🔤","🔥","💮","🔦","🔧","💯","🔨","🔩","💰","🔪","🔫","💱","🔮","💲","🔯","💳","🔰","🔱","💴","🔲","🔳","💵","🔴","🔵","💸","🔶","🔷","💹","🔸","🔹","💺","🔺","🔻","💻","🔼","💼","🔽","🕐","💽","🕑","💾","🕒","💿","🕓","📀","🕔","🕕","📁","🕖","🕗","📂","🕘","🕙","📃","🕚","🕛","📄","🗻","🗼","📅","🗽","🗾","📆","🗿","😁","😂","😃","📈","😄","😅","📉","😆","😉","📊","😊","😋","📋","😌","😍","📌","😏","😒","📍","😓","😔","📎","😖","😘","📏","😚","😜","📐","😝","😞","📑","😠","😡","😢","😣","😤","😥","😨","😩","😪","😫","😭","😰","😱","😲","😳","😵","😷","😸","😹","😺","😻","😼","😽","😾","😿","🙀","🙅","🙆","🙇","🙈","🙉","🙊","🙋","🙌","🙍","🙎","🙏","🚀","🚃","🚄","🚅","🚇","🚉","🚌","🚏","🚑","🚒","🚓","🚕","🚗","🚙","🚚","🚢","🚤","🚥","🚧","🚨","🚩","🚪","🚫","🚬","🚭","🚲","🚶","🚹","🚺","🚻","🚼","🚽","🚾","🛀","🤘","😀","😇","😈","😎","😐","😑","😕","😗","😙","😛","😟","😦","😧","😬","😮","😯","😴","😶","🚁","🚂","🚆","🚈","🚊","🚍","🚎","🚐","🚔","🚖","🚘","🚛","🚜","🚝","🚞","🚟","🚠","🚡","🚣","🚦","🚮","🚯","🚰","🚱","🚳","🚴","🚵","🚷","🚸","🚿","🛁","🛂","🛃","🛄","🛅","🌍","🌎","🌐","🌒","🌖","🌗","🌘","🌚","🌜","🌝","🌞","🌲","🌳","🍋","🍐","🍼","🏇","🏉","🏤","🐀","🐁","🐂","🐃","🐄","🐅","🐆","🐇","🐈","🐉","🐊","🐋","🐏","🐐","🐓","🐕","🐖","🐪","👥","👬","👭","💭","💶","💷","📬","📭","📯","📵","🔀","🔁","🔂","🔄","🔅","🔆","🔇","🔉","🔕","🔬","🔭","🕜","🕝","🕞","🕟","🕠","🕡","🕢","🕣","🕤","🕥","🕦","🕧","🔈","🚋","🎞","🎟","🏅","🏋","🏌","🏍","🏎","🎖","🎗","🌶","🌧","🌨","🌩","🌪","🌫","🌬","🐿","🕷","🕸","🌡","🎙","🎚","🎛","🏳","🏴","🏵","🏷","📸","📽","🕉","🕊","🕯","🕰","🕳","🕶","🕹","🖇","🖊","🖋","🖌","🖍","🖥","🖨","🖲","🖼","🗂","🗃","🗄","🗑","🗒","🗓","🗜","🗝","🗞","🗡","🗣","🗯","🗳","🗺","🛌","🛠","🛡","🛢","🛰","🍽","👁","🕴","🕵","🖐","🖕","🖖","🙁","🙂","🏔","🏕","🏖","🏗","🏘","🏙","🏚","🏛","🏜","🏝","🏞","🏟","🛋","🛍","🛎","🛏","🛣","🛤","🛥","🛩","🛫","🛬","🛳","🏻","🏼","🏽","🏾","🏿","🌤","🌥","🌦","🖱","🙃","🤑","🤓","🤗","🙄","🤔","🤐","🤒","🤕","🤖","🦁","🦄","🦂","🦀","🦃","🧀","🌭","🌮","🌯","🍿","🍾","🏹","🏺","🛐","🕋","🕌","🕍","🕎","📿","🏏","🏐","🏑","🏒","🏓","🏸","⏩","⏪","⏫","⏬","⏰","⏳","⛎","✊","✋","❌","❎","➰","➿","✝","✍","⏭","⏮","⏯","⏱","⏲","⏸","⏹","⏺","☪","☮","☯","⚛","⚜","⚰","⚱","⛈","⛏","⛑","⛓","⛩","⛰","⛱","⛴","⛷","⛸","⛹","imagePathPNG","imagePathSVG","imagePathSVGSprites","imageType","sprites","unicodeAlt","ascii","cacheBustParam","regShortNames","regAscii","regUnicode","toImage","unicodeToImage","shortnameToImage","unifyUnicode","toShort","shortnameToUnicode","shortnameToAscii","unicode","unicodeToAscii","objectFlip","shortname","convert","entire","m3","unescapeHTML","escapeHTML","mappedUnicode","mapShortToUnicode","unicodeChar","shortcode","replaceAll","part","escaped","unescaped","&amp;","&#38;","&#x26;","&lt;","&#60;","&#x3C;","&gt;","&#62;","&#x3E;","&quot;","&#34;","&#x22;","&apos;","&#39;","&#x27;","new_obj","tmp_obj","escapeRegExp","escapedFind","emojione"],"mappings":"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eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,YAAY,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,kBAAkB,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,iBAAiB,eAAeC,WAAW,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,aAAa,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,eAAe,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,WAAW,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,WAAW,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,eAAeC,QAAQ,eAAeC,aAAa,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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,MAAqB,QAAQC,MAAqB,QAAQC,MAAqB,QAAQC,MAAqB,QAAQC,MAAqB,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,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,OAAOC,KAAe,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,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,KAAe,QAAQC,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,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,IA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","file":"jsxc.dep.min.js"} \ No newline at end of file
diff --git a/build/js/jsxc/lib/translation.js b/build/js/jsxc/lib/translation.js
index e1633d1..6bbcbba 100644
--- a/build/js/jsxc/lib/translation.js
+++ b/build/js/jsxc/lib/translation.js
@@ -1 +1 @@
-var I18next = {"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."}},"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}},"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 audio/video 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."}},"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":"Sólo 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":"Fallo 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, elegir una pregunta cuya respuesta se conoce sólo usted y su amigo.","Ask":"Preguntar","To_authenticate_pick_a_secret_":"Para autenticar, elija un secreto conocido sólo 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":"mas ausente","offline":"desconectado","none":"nadie","Unknown_instance_tag":"Etiqueta de instancia desconocida.","Not_one_of_our_latest_keys":"No de nuestra ultima tecla.","Received_an_unreadable_encrypted_message":"Se recibió un mensaje cifrado ilegible.","Online":"En linea","Chatty":"Hablador","Away":"Ausente","Extended_away":"Mas 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":"Apodar","URL":"URL","ADR":"Dirección","STREET":"Calle","EXTADD":"Extendido dirección","LOCALITY":"Población","REGION":"Región","PCODE":"Código postal","CTRY":"País","TEL":"Teléfono","NUMBER":"Número","EMAIL":"Emilio","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":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":"Activar","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_":"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 vacia <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":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}},"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}},"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 archivé","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 à refusé de donner les 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."}},"hu-HU":{"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}},"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}},"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}},"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":"Masz 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":"Zwrotna niezaszyfrowana 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!","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ą np. za pomocą telefonu.","Your_fingerprint":"Twój kod:","Buddy_fingerprint":"Kod rozmówcy","Close":"Zamknij","Compared":"Porównano","To_authenticate_using_a_question_":"Aby autoryzować za pomocą pytania, wybierz pytanie na które tylko 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 zna tylko Twój rozmówca.","Compare":"Dopasuj","Fingerprints":"Kody autoryzacyjne","Authentication":"Autoryzacja","Message":"Wiadomość","Add_buddy":"Dodaj kontakt","rename_buddy":"Zmień nazwę","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ń rozmówcę","You_are_about_to_remove_":"Twój rozmówca {{bid_name}} (<b>{{bid_jid}}</b>) usunął Cię ze swojej listy kontaktów.","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":"Zapytanie od znajomego?","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":"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":null,"Call_terminated":null,"Carbon_copy":"Do wiadomości","Enable":"Włączone","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":"Ok","PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"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":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}},"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":"Seu fingerprint","Buddy_fingerprint":"Fingerprint 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":"Fingerprints","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":" ","ORG":"Empresa","ORGNAME":"Nome","ORGUNIT":"Unidade","TITLE":"Cargo","ROLE":"Rol","BDAY":"Data de nascimento","DESC":"Descrição","PHOTO":" ","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":null,"Join":null,"Room":null,"Nickname":"Apelido","left_the_building":null,"entered_the_room":null,"is_now_known_as":"__oldNickname__ agora é conhecido como __newNickname__","This_room_is":null,"muc_hidden":{"keyword":null,"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":null,"description":"Somente pessoas com \"voice\" podem enviar mensagens"},"muc_nonanonymous":{"keyword":null,"description":null},"muc_open":{"keyword":null,"description":"Todos podem entrar"},"muc_passwordprotected":{"keyword":null,"description":"você precisa fornecer a senha correta"},"muc_persistent":{"keyword":null,"description":"Não será destruída se o último ocupante tiver saído"},"muc_public":{"keyword":null,"description":null},"muc_semianonymous":{"keyword":null,"description":"Sua identificação jabber só é exposta para administradores da sala"},"muc_temporary":{"keyword":null,"description":"Será destruída se o último ocupante tiver saído"},"muc_unmoderated":{"keyword":null,"description":"Todos tem permissão de enviar mensagens"},"muc_unsecured":{"keyword":null,"description":"Você não precisa de senha para entrar"},"Continue":null,"Server":null,"Rooms_are_loaded":null,"Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":"Você já entrou nesta sala","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":"__nickname__ foi banido da sala","muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"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":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":"Você ou seu navegador negou permissão para acessar audio/video","Use_local_audio_device":null,"Use_local_video_device":null,"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":null,"setting-explanation-carbon":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":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}},"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 серверу."}}}; \ No newline at end of file
+var I18next = {"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."}},"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}},"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 audio/video 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."}},"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":"Sólo 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":"Fallo 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, elegir una pregunta cuya respuesta se conoce sólo usted y su amigo.","Ask":"Preguntar","To_authenticate_pick_a_secret_":"Para autenticar, elija un secreto conocido sólo 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":"mas ausente","offline":"desconectado","none":"nadie","Unknown_instance_tag":"Etiqueta de instancia desconocida.","Not_one_of_our_latest_keys":"No de nuestra ultima tecla.","Received_an_unreadable_encrypted_message":"Se recibió un mensaje cifrado ilegible.","Online":"En linea","Chatty":"Hablador","Away":"Ausente","Extended_away":"Mas 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":"Apodar","URL":"URL","ADR":"Dirección","STREET":"Calle","EXTADD":"Extendido dirección","LOCALITY":"Población","REGION":"Región","PCODE":"Código postal","CTRY":"País","TEL":"Teléfono","NUMBER":"Número","EMAIL":"Emilio","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":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":"Activar","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_":"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 vacia <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":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}},"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}},"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 à refusé de donner les 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."}},"hu-HU":{"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}},"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}},"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}},"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":"Masz 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":"Zwrotna niezaszyfrowana 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!","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ą np. za pomocą telefonu.","Your_fingerprint":"Twój kod:","Buddy_fingerprint":"Kod rozmówcy","Close":"Zamknij","Compared":"Porównano","To_authenticate_using_a_question_":"Aby autoryzować za pomocą pytania, wybierz pytanie na które tylko 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 zna tylko Twój rozmówca.","Compare":"Dopasuj","Fingerprints":"Kody autoryzacyjne","Authentication":"Autoryzacja","Message":"Wiadomość","Add_buddy":"Dodaj kontakt","rename_buddy":"Zmień nazwę","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ń rozmówcę","You_are_about_to_remove_":"Twój rozmówca {{bid_name}} (<b>{{bid_jid}}</b>) usunął Cię ze swojej listy kontaktów.","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":"Zapytanie od znajomego?","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":"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":null,"Call_terminated":null,"Carbon_copy":"Do wiadomości","Enable":"Włączone","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":"Ok","PermissionDeniedError":null,"Use_local_audio_device":null,"Use_local_video_device":null,"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":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}},"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":"Seu fingerprint","Buddy_fingerprint":"Fingerprint 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":"Fingerprints","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":" ","ORG":"Empresa","ORGNAME":"Nome","ORGUNIT":"Unidade","TITLE":"Cargo","ROLE":"Rol","BDAY":"Data de nascimento","DESC":"Descrição","PHOTO":" ","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":null,"Join":null,"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":null,"description":null},"muc_open":{"keyword":"abrir","description":"Todos podem entrar"},"muc_passwordprotected":{"keyword":null,"description":"você precisa fornecer a senha correta"},"muc_persistent":{"keyword":null,"description":"Não será destruída se o último ocupante tiver saído"},"muc_public":{"keyword":"público","description":null},"muc_semianonymous":{"keyword":null,"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":null,"description":"Você não precisa de senha para entrar"},"Continue":"Avançar","Server":null,"Rooms_are_loaded":"Sala carregada","Could_load_only":null,"muc_explanation":null,"You_already_joined_this_room":"Você já entrou nesta sala","This_room_will_be_closed":"Esta sala será fechada","Room_not_found_":null,"Loading_room_information":"Carregar informação da sala","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":"__nickname__ foi banido da sala","muc_removed_affiliation":null,"muc_removed_info_affiliation":null,"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":null,"muc_removed_shutdown":null,"Reason":"Motivo","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":"Alerta","Call_started":null,"Call_terminated":null,"Carbon_copy":null,"Enable":null,"jingle_reason_busy":"ocupado","jingle_reason_decline":null,"jingle_reason_success":null,"Media_failure":null,"No_local_audio_device":null,"No_local_video_device":null,"Ok":"Ok","PermissionDeniedError":"Você ou seu navegador negou permissão para acessar audio/video","Use_local_audio_device":null,"Use_local_video_device":null,"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":null,"setting-explanation-login":null,"setting-explanation-priority":null,"setting-explanation-xmpp":"Essas opções são usadas para conectar no Servidor XMPP"}},"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}},"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 серверу."}}}; \ No newline at end of file
diff --git a/build/js/ojsxc.js b/build/js/ojsxc.js
index 258dd4f..98539d6 100644
--- a/build/js/ojsxc.js
+++ b/build/js/ojsxc.js
@@ -1,5 +1,5 @@
/*!
- * ojsxc v3.0.0-beta1b - 2016-01-29
+ * ojsxc v3.0.0-beta2 - 2016-02-11
*
* Copyright (c) 2016 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.0.0-beta1b
+ * @version 3.0.0-beta2
* @license MIT
*/
@@ -25,11 +25,9 @@
function onRosterToggle(event, state, duration) {
"use strict";
var wrapper = $('#content-wrapper');
- var control = $('#controls');
var roster_width = (state === 'shown') ? $('#jsxc_roster').outerWidth() : 0;
var toggle_width = $('#jsxc_toggleRoster').width();
- var navigation_width = $('#navigation').width();
if ($(window).width() < 768) {
// Do not resize elements on extra small devices (bootstrap definition)
@@ -40,13 +38,6 @@ function onRosterToggle(event, state, duration) {
paddingRight: (roster_width + toggle_width) + 'px'
}, duration);
- // only oc < 8
- if (!oc_config || !oc_config.version || !oc_config.version.match(/^([8-9]|[0-9]{2,})\./)) {
- control.animate({
- paddingRight: (roster_width + navigation_width + toggle_width) + 'px'
- }, duration);
- }
-
// update webodf
if (typeof dijit !== 'undefined') {
$('#mainContainer, #odf-toolbar').animate({
@@ -98,11 +89,6 @@ function onRosterReady() {
$('#content-wrapper').css('paddingRight', roster_width + roster_right + toggle_width);
- // only oc < 8
- if (!oc_config || !oc_config.version || !oc_config.version.match(/^([8-9]|[0-9]{2,})\./)) {
- $('#controls').css('paddingRight', roster_width + navigation_width + roster_right + toggle_width);
- }
-
// update webodf
var contentbg = $('#content-wrapper').css('background-color');
$(window).on('hashchange', function() {
@@ -184,7 +170,7 @@ $(function() {
rosterAppend: 'body',
root: oc_appswebroots.ojsxc + '/js/jsxc',
RTCPeerConfig: {
- url: OC.filePath('ojsxc', 'ajax', 'getturncredentials.php')
+ url: OC.filePath('ojsxc', 'ajax', 'getTurnCredentials.php')
},
displayRosterMinimized: function() {
return OC.currentUser != null;
@@ -214,20 +200,11 @@ $(function() {
if (typeof cache[key] === 'undefined' || cache[key] === null) {
var url;
- if (OC.generateUrl) {
- // oc >= 7
- url = OC.generateUrl('/avatar/' + encodeURIComponent(user) + '/' + size + '?requesttoken={requesttoken}', {
- user: user,
- size: size,
- requesttoken: oc_requesttoken
- });
- } else {
- // oc < 7
- url = OC.Router.generate('core_avatar_get', {
- user: user,
- size: size
- }) + '?requesttoken=' + oc_requesttoken;
- }
+ url = OC.generateUrl('/avatar/' + encodeURIComponent(user) + '/' + size + '?requesttoken={requesttoken}', {
+ user: user,
+ size: size,
+ requesttoken: oc_requesttoken
+ });
$.get(url, function(result) {
@@ -245,7 +222,7 @@ $(function() {
loadSettings: function(username, password, cb) {
$.ajax({
type: 'POST',
- url: OC.filePath('ojsxc', 'ajax', 'getsettings.php'),
+ url: OC.filePath('ojsxc', 'ajax', 'getSettings.php'),
data: {
username: username,
password: password
@@ -276,28 +253,24 @@ $(function() {
}
},
error: function() {
- jsxc.error('XHR error on getsettings.php');
+ jsxc.error('XHR error on getSettings.php');
cb(false);
}
});
},
- saveSettinsPermanent: function(data) {
- var ret = 1;
-
+ saveSettinsPermanent: function(data, cb) {
$.ajax({
- async: false,
type: 'POST',
url: OC.filePath('ojsxc', 'ajax', 'setUserSettings.php'),
data: data,
success: function(data) {
- if (data.trim() === 'true') {
- ret = 0;
- }
+ cb(data.trim() === 'true');
+ },
+ error: function() {
+ cb(false);
}
});
-
- return ret;
},
getUsers: function(search, cb) {
$.ajax({
diff --git a/build/lib/controller/httpbindcontroller.php b/build/lib/controller/httpbindcontroller.php
index 19f55cc..42af2e1 100644
--- a/build/lib/controller/httpbindcontroller.php
+++ b/build/lib/controller/httpbindcontroller.php
@@ -2,20 +2,27 @@
namespace OCA\OJSXC\Controller;
+use OCA\OJSXC\Db\Presence;
+use OCA\OJSXC\Db\PresenceMapper;
use OCA\OJSXC\Db\StanzaMapper;
use OCA\OJSXC\Db\MessageMapper;
+use OCA\OJSXC\Exceptions\NewContentException;
use OCA\OJSXC\Http\XMPPResponse;
use OCA\OJSXC\ILock;
+use OCA\OJSXC\NewContentContainer;
use OCA\OJSXC\StanzaHandlers\IQ;
use OCA\OJSXC\StanzaHandlers\Message;
+use OCA\OJSXC\StanzaHandlers\Presence as PresenceHandler;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Db\DoesNotExistException;
+use OCP\ILogger;
use OCP\IRequest;
use OCP\ISession;
use Sabre\Xml\Writer;
use Sabre\Xml\Reader;
use Sabre\Xml\LibXMLException;
+
/**
* Class HttpBindController
*
@@ -95,38 +102,68 @@ class HttpBindController extends Controller {
private $lock;
/**
+ * @var bool
+ */
+ private $debug;
+
+ /**
+ * @var ILogger $logger
+ */
+ private $logger;
+
+ /**
+ * @var PresenceHandler $presenceHandler
+ */
+ private $presenceHandler;
+
+ /**
+ * @var PresenceMapper $presenceMapper
+ */
+ private $presenceMapper;
+
+ /**
+ * @var NewContentContainer $newContentContainer
+ */
+ private $newContentContainer;
+
+ /**
* HttpBindController constructor.
*
* @param string $appName
* @param IRequest $request
* @param string $userId
- * @param ISession $session
* @param StanzaMapper $stanzaMapper
* @param IQ $iqHandler
* @param Message $messageHandler
* @param string $host
* @param ILock $lock
+ * @param ILogger $logger
+ * @param PresenceHandler $presenceHandler
+ * @param PresenceMapper $presenceMapper
* @param string $body
* @param int $sleepTime
* @param int $maxCicles
+ * @param NewContentContainer $newContentContainer
*/
public function __construct($appName,
- IRequest $request,
+ IRequest $request,
$userId,
- ISession $session,
StanzaMapper $stanzaMapper,
IQ $iqHandler,
Message $messageHandler,
$host,
ILock $lock,
+ ILogger $logger,
+ PresenceHandler $presenceHandler,
+ PresenceMapper $presenceMapper,
$body,
$sleepTime,
- $maxCicles
- ) {
+ $maxCicles,
+ NewContentContainer $newContentContainer
+ ) {
parent::__construct($appName, $request);
$this->userId = $userId;
$this->pollingId = time();
- $this->session = $session;
$this->stanzaMapper = $stanzaMapper;
$this->host = $host;
$this->iqHandler = $iqHandler;
@@ -136,6 +173,11 @@ class HttpBindController extends Controller {
$this->maxCicles = $maxCicles;
$this->response = new XMPPResponse();
$this->lock = $lock;
+ $this->debug = defined('JSXC_ENV') && JSXC_ENV === 'dev';
+ $this->logger = $logger;
+ $this->presenceHandler = $presenceHandler;
+ $this->presenceMapper = $presenceMapper;
+ $this->newContentContainer = $newContentContainer;
}
/**
@@ -147,30 +189,45 @@ class HttpBindController extends Controller {
$this->lock->setLock();
$input = $this->body;
$longpoll = true; // set to false when the response should directly be returned and no polling should be done
- if (!empty($input)){
+ $longpollStart = true; // start the first long poll cycle
+ if (!empty($input)) {
// replace invalid XML by valid XML one
$input = str_replace("<vCard xmlns='vcard-temp'/>", "<vCard xmlns='jabber:vcard-temp'/>", $input);
$reader = new Reader();
$reader->xml($input);
$reader->elementMap = [
'{jabber:client}message' => 'Sabre\Xml\Element\KeyValue',
+ '{jabber:client}presence' => function(Reader $reader) {
+ return Presence::createFromXml($reader,$this->userId);
+ }
];
-
+ $stanzas = null;
try {
$stanzas = $reader->parse();
- } catch (LibXMLException $e){
+ } catch (LibXMLException $e) {
}
- $stanzas = $stanzas['value'];
- if (is_array($stanzas)) {
- foreach ($stanzas as $stanza) {
- $stanzaType = $this->getStanzaType($stanza);
- if ($stanzaType === self::MESSAGE) {
- $this->messageHandler->handle($stanza);
- } else if ($stanzaType === self::IQ) {
- $result = $this->iqHandler->handle($stanza);
- if (!is_null($result)) {
- $longpoll = false;
- $this->response->write($result);
+ if (!is_null($stanzas)) {
+ $stanzas = $stanzas['value'];
+ if (is_array($stanzas)) {
+ foreach ($stanzas as $stanza) {
+ $stanzaType = $this->getStanzaType($stanza);
+ if ($stanzaType === self::MESSAGE) {
+ $this->messageHandler->handle($stanza);
+ } else if ($stanzaType === self::IQ) {
+ $result = $this->iqHandler->handle($stanza);
+ if (!is_null($result)) {
+ $longpoll = false;
+ $this->response->write($result);
+ }
+ } else if ($stanza['value'] instanceof Presence) {
+ $results = $this->presenceHandler->handle($stanza['value']);
+ if (!is_null($results) && is_array($results)) {
+ $longpoll = false;
+ $longpollStart = false;
+ foreach ($results as $r) {
+ $this->response->write($r);
+ }
+ }
}
}
}
@@ -178,21 +235,31 @@ class HttpBindController extends Controller {
}
// Start long polling
+ $this->presenceMapper->setActive($this->userId);
+ if ($this->newContentContainer->getCount() > 0 ){
+ foreach ($this->newContentContainer->getStanzas() as $stanz) {
+ $this->response->write($stanz);
+ }
+ $longpoll = false; // make sure we poll only one times for the fastes reponse
+ }
$recordFound = false;
$cicles = 0;
- do {
- try {
- $cicles++;
- $stanzas = $this->stanzaMapper->findByTo($this->userId);
- foreach ($stanzas as $stanz) {
- $this->response->write($stanz);
+ if ($longpollStart) {
+ do {
+ try {
+ $cicles++;
+ $stanzas = $this->stanzaMapper->findByTo($this->userId);
+ foreach ($stanzas as $stanz) {
+ $this->response->write($stanz);
+ }
+ $recordFound = true;
+ } Catch (DoesNotExistException $e) {
+ sleep($this->sleepTime);
+ $recordFound = false;
}
- $recordFound = true;
- } Catch (DoesNotExistException $e) {
- sleep($this->sleepTime);
- $recordFound = false;
- }
- } while ($recordFound === false && $cicles < $this->maxCicles && $longpoll && $this->lock->stillLocked());
+ } while ($recordFound === false && $cicles < $this->maxCicles && $longpoll && $this->lock->stillLocked());
+ }
+
return $this->response;
}
diff --git a/build/lib/db/README.md b/build/lib/db/README.md
new file mode 100644
index 0000000..fce2e82
--- /dev/null
+++ b/build/lib/db/README.md
@@ -0,0 +1,17 @@
+lib/db
+===
+
+This are the Entity and Mappers of the different stanza types.
+The entities are used to:
+ - store them in the DB. (e.g. the Message entity, the Presence entity)
+ - to easily return them to the client via the polling system
+ (e.g. Message entity, Presence entity (these are stored inside the ojsxc_stanza table.)
+ - directly return them to te client (e.g. IQRoster entity)
+ - parse an incoming stanza to an object (This is currently only done for the
+ incoming Presence stanza.)
+
+The following mappers are used:
+ - StanzaMapper -> parent of all the other mappers
+ - MessageMapper -> used to store Message entities inside the longpolling table.
+ - PresenceMapper -> used to save, update and fetch presences of the users
+ - IQRoster doesn't have a mapper since this won't be saved in the DB. \ No newline at end of file
diff --git a/build/lib/db/iqroster.php b/build/lib/db/iqroster.php
index 6068492..6eb3f66 100644
--- a/build/lib/db/iqroster.php
+++ b/build/lib/db/iqroster.php
@@ -13,8 +13,8 @@ use Sabre\Xml\XmlSerializable;
* Class IQRoster
*
* @package OCA\OJSXC\Db
- * @method void setType(sting $type)
- * @method void setQid(sting $qid)
+ * @method void setType($type)
+ * @method void setQid($qid)
* @method void setItems(array $items)
* @method string getType()
* @method string getQid()
diff --git a/build/lib/db/message.php b/build/lib/db/message.php
index babecd5..bf289dd 100644
--- a/build/lib/db/message.php
+++ b/build/lib/db/message.php
@@ -4,14 +4,13 @@ namespace OCA\OJSXC\Db;
use Sabre\Xml\Reader;
use Sabre\Xml\Writer;
-use Sabre\Xml\XmlDeserializable;
use Sabre\Xml\XmlSerializable;
/**
* Class Message
*
* @package OCA\OJSXC\Db
- * @method void setType(string $type)
+ * @method void setType($type)
* @method void setValue(array $value)
* @method string getType()
* @method array getValue()
diff --git a/build/lib/db/presence.php b/build/lib/db/presence.php
new file mode 100644
index 0000000..bf2cba7
--- /dev/null
+++ b/build/lib/db/presence.php
@@ -0,0 +1,139 @@
+<?php
+
+namespace OCA\OJSXC\Db;
+
+use Sabre\Xml\XmlSerializable;
+use Sabre\Xml\XmlDeserializable;
+use Sabre\Xml\Writer;
+use Sabre\Xml\Reader;
+use Sabre\Xml\Element\Base;
+use Sabre\Xml\Element\keyValue;
+
+/**
+ * Class Presence
+ *
+ * This class is used for input AND output! It can be inserted into the ojsxc_presence table
+ * and the ojsxc_stanza table. Use the presenceMapper and Stanzamapper respective.
+ *
+ * @package OCA\OJSXC\Db
+ * @method void setUserid($userid)
+ * @method void setPresence($presence)
+ * @method void setLastActive($lastActive)
+ * @method string getUserid()
+ * @method string getPresence()
+ * @method int getLastActive()
+ */
+class Presence extends Stanza implements XmlSerializable, XmlDeserializable{
+
+ /**
+ * @var string $userid
+ */
+ public $userid;
+
+ /**
+ * @var string $presence
+ */
+ public $presence;
+
+ /**
+ * @var int last_active
+ */
+ public $lastActive;
+
+ public function __construct() {
+ $this->addType('lastActive', 'integer');
+ }
+
+ /**
+ * @param Writer $writer
+ */
+ public function xmlSerialize(Writer $writer) {
+ if ($this->presence === 'online' || $this->presence === '') {
+ $writer->write([
+ [
+ 'name' => 'presence',
+ 'attributes' => [
+ 'xmlns' => 'jabber:client',
+ 'from' => $this->from,
+ 'to' => $this->to,
+ ],
+ 'value' => null
+ ]
+ ]);
+ } else if ($this->presence === 'unavailable') {
+ $writer->write([
+ [
+ 'name' => 'presence',
+ 'attributes' => [
+ 'type' => 'unavailable',
+ 'from' => $this->from,
+ 'to' => $this->to,
+ 'xmlns' => 'jabber:client',
+ ],
+ 'value' => null
+ ]
+ ]);
+ } else {
+ $writer->write([
+ [
+ 'name' => 'presence',
+ 'attributes' => [
+ 'from' => $this->from,
+ 'to' => $this->to,
+ 'xmlns' => 'jabber:client',
+ ],
+ 'value' => [ [
+ 'name' => 'show',
+ 'attributes' => [],
+ 'value' => $this->presence
+ ]]
+ ]
+ ]);
+ }
+ }
+
+ /**
+ * @brief Factory function to create an instance of this Entity from a xml string
+ * which was given to a Reader object.
+ * @param Reader $reader
+ * @param string $userId
+ * @return Presence
+ */
+ public static function createFromXml(Reader $reader, $userId){
+ $newElement = self::xmlDeserialize($reader);
+ $newElement->setUserid($userId);
+ return $newElement;
+ }
+
+ /**
+ * @param Reader $reader
+ * @return Presence
+ */
+ public static function xmlDeserialize(Reader $reader) {
+ $newElement = new self();
+ $attributes = $reader->parseAttributes();
+ $children = $reader->parseInnerTree();
+ if (key_exists('type', $attributes) && $attributes['type'] === 'unavailable') {
+ $newElement->presence = 'unavailable';
+ } else if (is_null($children)) {
+ // this match elements which don't have children -> online
+ $newElement->presence = 'online';
+ } else {
+ // this match elements who does have children but no "show" element -> online
+ $foundShow = false;
+ foreach ($children as $child) {
+ if ($child['name'] === '{jabber:client}show') {
+ $newElement->presence = $child['value'];
+ $foundShow = true;
+ }
+ }
+ if (!$foundShow) {
+ $newElement->presence = 'online';
+ }
+ }
+ $newElement->lastActive = time();
+ return $newElement;
+ }
+
+
+} \ No newline at end of file
diff --git a/build/lib/db/presencemapper.php b/build/lib/db/presencemapper.php
new file mode 100644
index 0000000..6beb0e1
--- /dev/null
+++ b/build/lib/db/presencemapper.php
@@ -0,0 +1,193 @@
+<?php
+
+namespace OCA\OJSXC\Db;
+
+use OCA\OJSXC\Db\Presence as PresenceEntity;
+use OCA\OJSXC\NewContentContainer;
+use OCP\AppFramework\Db\Mapper;
+use OCP\IDBConnection;
+use Sabre\Xml\Service;
+use OCP\IDb;
+
+/**
+ * Class PresenceMapper
+ *
+ * @package OCA\OJSXC\Db
+ */
+class PresenceMapper extends Mapper {
+
+ /**
+ * @var bool this value indicates if we already have updated the presence
+ * of other users so we don't do this more than 1 one times per request.
+ * TODO We could introduce a variable in the DB which indicates this already
+ * TODO happened x minutes ago so we shouldn't do this every request.
+ */
+ private static $updatedPresense = false;
+
+ /**
+ * @var array of userid's which are connected.
+ */
+ private static $connectedUsers = [];
+
+ /**
+ * @var bool indicates wherever we already fetched the connected users
+ */
+ private static $fetchedConnectedUsers = false;
+
+ /**
+ * @var MessageMapper $messageMapper
+ */
+ private $messageMapper;
+
+ /**
+ * @var NewContentContainer $newContentContainer
+ */
+ private $newContentContainer;
+
+ /**
+ * @var int $timeout
+ */
+ private $timeout;
+
+ /**
+ * PresenceMapper constructor.
+ *
+ * @param IDb|IDBConnection $db
+ * @param string $host
+ * @param null|string $userId
+ * @param MessageMapper $messageMapper
+ * @param NewContentContainer $newContentContainer
+ * @param int $timeout
+ */
+ public function __construct(IDb $db, $host, $userId, MessageMapper $messageMapper, NewContentContainer $newContentContainer, $timeout) {
+ parent::__construct($db, 'ojsxc_presence');
+ $this->host = $host;
+ $this->userId = $userId;
+ $this->messageMapper = $messageMapper;
+ $this->newContentContainer = $newContentContainer;
+ $this->timeout = $timeout;
+
+ $this->updatePresence();
+ }
+
+ /**
+ * @brief This function sets or update the presence of a user.
+ * @param PresenceEntity $stanza
+ */
+ public function setPresence(PresenceEntity $stanza) {
+ $sql = "UPDATE `*PREFIX*ojsxc_presence` SET `presence`=?, `last_active`=? WHERE `userid` = ?";
+ $q = $this->db->prepareQuery($sql);
+ $q->execute([$stanza->getPresence(), $stanza->getLastActive(), $stanza->getUserid()]);
+
+
+ if ($q->rowCount() === 0) {
+ $sql = "INSERT INTO `*PREFIX*ojsxc_presence` (`userid`, `presence`, `last_active`) VALUES(?,?,?)";
+ $q = $this->db->prepareQuery($sql);
+ $q->execute([$stanza->getUserid(), $stanza->getPresence(), $stanza->getLastActive()]);
+ }
+ }
+
+ /**
+ * @brief this function will fetch all the presences of users except
+ * the current user.
+ * @return array
+ */
+ public function getPresences() {
+ $stmt = $this->execute("SELECT * FROM `*PREFIX*ojsxc_presence` WHERE `userid` != ?", [$this->userId]);
+ $results = [];
+ while($row = $stmt->fetch()){
+ $row['from'] = $row['userid'] . '@' . $this->host;
+ $row['to'] = $this->userId . '@' . $this->host;
+ $results[] = $this->mapRowToEntity($row);
+ }
+ $stmt->closeCursor();
+
+ return $results;
+ }
+
+ /**
+ * @brief fetch the users who are connected with the server.
+ * - online
+ * - chatty
+ * - away
+ * - extended away
+ * - do not disturb
+ * and return it as an array of the userids.
+ * @return array
+ */
+ public function getConnectedUsers() {
+ if (!self::$fetchedConnectedUsers) {
+ self::$fetchedConnectedUsers = true;
+
+ $stmt = $this->execute("SELECT `userid` FROM `*PREFIX*ojsxc_presence` WHERE `presence` != 'unavailable' AND `userid` != ?", [$this->userId]);
+ $results = [];
+ while ($row = $stmt->fetch()) {
+ $results[] = $row['userid'];
+ }
+ $stmt->closeCursor();
+
+ self::$connectedUsers = $results;
+ return $results;
+ } else {
+ return self::$connectedUsers;
+ }
+ }
+
+ /**
+ * @brief updates the last_active label in the DB.
+ * @param the user to update the last_active field
+ */
+ public function setActive($user) {
+ // just do an update since we can assume the user is already online
+ // otherwise this wouldn't make sense
+ $sql = "UPDATE `*PREFIX*ojsxc_presence` SET `last_active`=? WHERE `userid` = ?";
+ $q = $this->db->prepareQuery($sql);
+ $q->execute([time(), $user]);
+ }
+
+
+ /**
+ * @brief this function will update the presence of users who doesn't
+ * contacted the server for $this->timeout seconds.
+ */
+ public function updatePresence() {
+ if (!self::$updatedPresense) {
+ self::$updatedPresense = true;
+
+ $time = time() - $this->timeout;
+
+ // first find all users who where offline for more than 30 seconds TOOD
+ $stmt = $this->execute("SELECT `userid` FROM `*PREFIX*ojsxc_presence` WHERE `presence` != 'unavailable' AND `userid` != ? AND `last_active` < ?",
+ [$this->userId, $time]);
+
+ $inactiveUsers = [];
+ while ($row = $stmt->fetch()) {
+ $inactiveUsers[] = $row['userid'];
+ }
+ $stmt->closeCursor();
+
+ $this->execute("UPDATE `*PREFIX*ojsxc_presence` SET `presence` = 'unavailable' WHERE `presence` != 'unavailable' AND `userid` != ? AND `last_active` < ?", [$this->userId, $time]);
+
+ // broadcast the new presence
+ $connectedUsers = $this->getConnectedUsers();
+
+
+ $onlineUsers = array_diff($connectedUsers, $inactiveUsers); // filter out the inactive users, since we use a cache mechanism
+
+ $presenceToSend = new PresenceEntity();
+ $presenceToSend->setPresence('unavailable');
+ foreach ($inactiveUsers as $inactiveUser) {
+ $presenceToSend->setFrom($inactiveUser);
+ foreach ($onlineUsers as $user) {
+ $presenceToSend->setTo($user);
+ $this->messageMapper->insert($presenceToSend);
+ }
+ $presenceToSend->setTo($this->userId . '@' . $this->host);
+ $presenceToSend->setFrom($inactiveUser . '@' . $this->host);
+ $this->newContentContainer->addStanza($presenceToSend);
+ }
+
+ }
+ }
+
+} \ No newline at end of file
diff --git a/build/lib/db/stanza.php b/build/lib/db/stanza.php
index aa333b6..1d89723 100644
--- a/build/lib/db/stanza.php
+++ b/build/lib/db/stanza.php
@@ -16,9 +16,9 @@ use Sabre\Xml\XmlSerializable;
* @method string getTo()
* @method string getFrom()
* @method string getStanza()
- * @method void setTo(string $to)
- * @method void setFrom(string $from)
- * @method void setStanza(string $stanza)
+ * @method void setTo($to)
+ * @method void setFrom($from)
+ * @method void setStanza($stanza)
*/
class Stanza extends Entity implements XmlSerializable{
@@ -37,7 +37,7 @@ class Stanza extends Entity implements XmlSerializable{
public $from;
/**
- * @var string $to
+ * @var string $stanza
*/
public $stanza;
diff --git a/build/lib/db/stanzamapper.php b/build/lib/db/stanzamapper.php
index c112458..e9f3f8d 100644
--- a/build/lib/db/stanzamapper.php
+++ b/build/lib/db/stanzamapper.php
@@ -6,6 +6,7 @@ use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\Entity;
use OCP\AppFramework\Db\Mapper;
use OCP\IDb;
+use OCP\IDBConnection;
use Sabre\Xml\Writer;
/**
@@ -38,7 +39,7 @@ class StanzaMapper extends Mapper {
$writer->write($entity);
$xml = $writer->outputMemory();
$sql = "INSERT INTO `*PREFIX*ojsxc_stanzas` (`to`, `from`, `stanza`) VALUES(?,?,?)";
- $q = $this->db->prepare($sql);
+ $q = $this->db->prepareQuery($sql);
$q->execute([$entity->getTo(), $entity->getFrom(), $xml]);
}
@@ -52,7 +53,7 @@ class StanzaMapper extends Mapper {
$stmt = $this->execute("SELECT stanza, id FROM *PREFIX*ojsxc_stanzas WHERE `to`=?", [$to]);
$results = [];
while($row = $stmt->fetch()){
- $row['stanza'] =preg_replace('/to="([a-zA-z]*)"/', "to=\"$1@" .$this->host ."\"", $row['stanza']);
+ $row['stanza'] = preg_replace('/to="([a-zA-z]*)"/', "to=\"$1@" .$this->host ."\"", $row['stanza']);
$row['stanza'] = preg_replace('/from="([a-zA-z]*)"/', "from=\"$1@" .$this->host ."\"", $row['stanza']);
$results[] = $this->mapRowToEntity($row);
}
@@ -65,6 +66,7 @@ class StanzaMapper extends Mapper {
foreach($results as $result){
$this->delete($result);
}
+
return $results;
}
diff --git a/build/lib/newcontentcontainer.php b/build/lib/newcontentcontainer.php
new file mode 100644
index 0000000..12b95ab
--- /dev/null
+++ b/build/lib/newcontentcontainer.php
@@ -0,0 +1,35 @@
+<?php
+
+namespace OCA\OJSXC;
+
+use OCA\OJSXC\Db\Stanza;
+
+/**
+ * Class NewContentContainer
+ * Helper class to store new stanzas which will be returned in the current request.
+ * This way a random class can generate stanza's which are send to the same user
+ * without adding extra features/code to the `HTTPBindController` class.
+ * @package OCA\OJSXC
+ */
+class NewContentContainer {
+
+ /**
+ * @var Stanza[]
+ */
+ private static $stanzas;
+
+ public function addStanza(Stanza $stanza) {
+ self::$stanzas[] = $stanza;
+ }
+
+ public function getStanzas() {
+ $tmp = self::$stanzas;
+ self::$stanzas = [];
+ return $tmp;
+ }
+
+ public function getCount() {
+ return count(self::$stanzas);
+ }
+
+} \ No newline at end of file
diff --git a/build/lib/stanzahandlers/README.md b/build/lib/stanzahandlers/README.md
new file mode 100644
index 0000000..acaccb6
--- /dev/null
+++ b/build/lib/stanzahandlers/README.md
@@ -0,0 +1,5 @@
+#lib/stanzahandlers
+
+This are the objects which handle incoming stanza's. The classess are called
+by the `HTTPBindController` controller.
+
diff --git a/build/lib/stanzahandlers/presence.php b/build/lib/stanzahandlers/presence.php
new file mode 100644
index 0000000..7da43c5
--- /dev/null
+++ b/build/lib/stanzahandlers/presence.php
@@ -0,0 +1,75 @@
+<?php
+
+namespace OCA\OJSXC\StanzaHandlers;
+
+use OCA\OJSXC\Db\MessageMapper;
+use OCA\OJSXC\Db\PresenceMapper;
+use Sabre\Xml\Reader;
+use Sabre\Xml\Writer;
+use OCA\OJSXC\Db\Presence as PresenceEntity;
+
+/**
+ * Class Presence
+ *
+ * @package OCA\OJSXC\StanzaHandlers
+ */
+class Presence extends StanzaHandler {
+
+ /**
+ * @var PresenceMapper $presenceMapper
+ */
+ private $presenceMapper;
+
+ /**
+ * @var MessageMapper $messageMapper
+ */
+ private $messageMapper;
+
+ /**
+ * Presence constructor.
+ *
+ * @param $userId
+ * @param string $host
+ * @param PresenceMapper $presenceMapper
+ * @param MessageMapper $messageMapper
+ */
+ public function __construct($userId, $host, PresenceMapper $presenceMapper, MessageMapper $messageMapper) {
+ parent::__construct($userId, $host);
+ $this->presenceMapper = $presenceMapper;
+ $this->messageMapper = $messageMapper;
+ }
+
+ /**
+ * This function is called when a client/user updates it's presence.
+ * This function should:
+ * - update the presence in the database
+ * - broadcast the presence
+ * - return the active presence if the type isn't equal to unavailable
+ * @param PresenceEntity $presence
+ * @return PresenceEntity[]
+ */
+ public function handle(PresenceEntity $presence) {
+ // update the presence
+ $this->presenceMapper->setPresence($presence);
+
+ // broadcast the presence
+ $connectedUsers = $this->presenceMapper->getConnectedUsers(); // fetch connected users
+
+ // build stanza to send to the users
+ $presenceToSend = new PresenceEntity();
+ $presenceToSend->setPresence($presence->getPresence());
+ $presenceToSend->setFrom($this->userId);
+ foreach ($connectedUsers as $user) {
+ $presenceToSend->setTo($user);
+ $this->messageMapper->insert($presenceToSend);
+ }
+
+ if ($presence->getPresence() !== 'unavailable') {
+ // return other users presence
+ return $this->presenceMapper->getPresences();
+ } else {
+ return [];
+ }
+ }
+
+} \ No newline at end of file
diff --git a/build/settings.php b/build/settings.php
index 41f72bc..02466e0 100644
--- a/build/settings.php
+++ b/build/settings.php
@@ -1,21 +1,22 @@
<?php
-OCP\User::checkAdminUser ();
-OCP\Util::addScript ( "ojsxc", "admin" );
+OCP\User::checkAdminUser();
-$tmpl = new OCP\Template ( 'ojsxc', 'settings' );
+OCP\Util::addScript('ojsxc', 'admin');
-$tmpl->assign ( 'serverType', OCP\Config::getAppValue ( 'ojsxc', 'serverType' ));
-$tmpl->assign ( 'boshUrl', OCP\Config::getAppValue ( 'ojsxc', 'boshUrl' ));
-$tmpl->assign ( 'xmppDomain', OCP\Config::getAppValue ( 'ojsxc', 'xmppDomain' ) );
-$tmpl->assign ( 'xmppResource', OCP\Config::getAppValue ( 'ojsxc', 'xmppResource' ) );
-$tmpl->assign ( 'xmppOverwrite', OCP\Config::getAppValue ( 'ojsxc', 'xmppOverwrite' ) );
-$tmpl->assign ( 'xmppStartMinimized', OCP\Config::getAppValue ( 'ojsxc', 'xmppStartMinimized' ) );
-$tmpl->assign ( 'iceUrl', OCP\Config::getAppValue ( 'ojsxc', 'iceUrl' ) );
-$tmpl->assign ( 'iceUsername', OCP\Config::getAppValue ( 'ojsxc', 'iceUsername' ) );
-$tmpl->assign ( 'iceCredential', OCP\Config::getAppValue ( 'ojsxc', 'iceCredential' ) );
-$tmpl->assign ( 'iceSecret', OCP\Config::getAppValue ( 'ojsxc', 'iceSecret' ) );
-$tmpl->assign ( 'iceTtl', OCP\Config::getAppValue ( 'ojsxc', 'iceTtl' ) );
+$config = \OC::$server->getConfig();
+$tmpl = new OCP\Template('ojsxc', 'settings');
-return $tmpl->fetchPage ();
-?>
+$tmpl->assign('serverType', $config->getAppValue('ojsxc', 'serverType'));
+$tmpl->assign('boshUrl', $config->getAppValue('ojsxc', 'boshUrl'));
+$tmpl->assign('xmppDomain', $config->getAppValue('ojsxc', 'xmppDomain'));
+$tmpl->assign('xmppResource', $config->getAppValue('ojsxc', 'xmppResource'));
+$tmpl->assign('xmppOverwrite', $config->getAppValue('ojsxc', 'xmppOverwrite'));
+$tmpl->assign('xmppStartMinimized', $config->getAppValue('ojsxc', 'xmppStartMinimized'));
+$tmpl->assign('iceUrl', $config->getAppValue('ojsxc', 'iceUrl'));
+$tmpl->assign('iceUsername', $config->getAppValue('ojsxc', 'iceUsername'));
+$tmpl->assign('iceCredential', $config->getAppValue('ojsxc', 'iceCredential'));
+$tmpl->assign('iceSecret', $config->getAppValue('ojsxc', 'iceSecret'));
+$tmpl->assign('iceTtl', $config->getAppValue('ojsxc', 'iceTtl'));
+
+return $tmpl->fetchPage();