text: /*
   almond 0.2.9 Copyright (c) 2011-2014, The Dojo Foundation All Rights Reserved.
   Available via the MIT or new BSD license.
   see: http://github.com/jrburke/almond for details
   RequireJS text 2.0.12 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved.
   Available via the MIT or new BSD license.
   see: http://github.com/requirejs/text for details
   jQuery Browser Plugin v0.0.6
   https://github.com/gabceb/jquery-browser-plugin
  
   Original jquery-browser code Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors
   http://jquery.org/license
  
   Modifications Copyright 2013 Gabriel Cebrian
   https://github.com/gabceb
  
   Released under the MIT license
  
   Date: 2013-07-29T17:23:27-07:00
   EventEmitter v4.2.3 - git.io/ee
   Oliver Caldwell
   MIT license
   @preserve
   otr.js v0.2.12 - 2014-04-15
    (c) 2014 - Arlo Breault <arlolra@gmail.com>
    Freely distributed under the MPL v2.0 license.
  
    This file is concatenated for the browser.
    Please see: https://github.com/arlolra/otr
  
   Backbone.Overview 
  
   Copyright (c) 2014, JC Brand <jc@opkode.com>
   Licensed under the Mozilla Public License (MPL) 
   typeahead.js 0.10.5
   https://github.com/twitter/typeahead.js
   Copyright 2013-2014 Twitter, Inc. and other contributors; Licensed MIT
   Converse.js (Web-based XMPP instant messaging client)
   http://conversejs.org
  
   Copyright (c) 2012, Jan-Carel Brand <jc@opkode.com>
   Licensed under the Mozilla Public License (MPL)
  */
  var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.arrayIteratorImpl=function(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}};$jscomp.arrayIterator=function(a){return{next:$jscomp.arrayIteratorImpl(a)}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;$jscomp.ISOLATE_POLYFILLS=!1;$jscomp.FORCE_POLYFILL_PROMISE=!1;$jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1;
  $jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,h){if(a==Array.prototype||a==Object.prototype)return a;a[b]=h.value;return a};$jscomp.getGlobal=function(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var h=a[b];if(h&&h.Math==Math)return h}throw Error("Cannot find global object");};$jscomp.global=$jscomp.getGlobal(this);
  $jscomp.IS_SYMBOL_NATIVE="function"===typeof Symbol&&"symbol"===typeof Symbol("x");$jscomp.TRUST_ES6_POLYFILLS=!$jscomp.ISOLATE_POLYFILLS||$jscomp.IS_SYMBOL_NATIVE;$jscomp.polyfills={};$jscomp.propertyToPolyfillSymbol={};$jscomp.POLYFILL_PREFIX="$jscp$";var $jscomp$lookupPolyfilledValue=function(a,b){var h=$jscomp.propertyToPolyfillSymbol[b];if(null==h)return a[b];h=a[h];return void 0!==h?h:a[b]};
  $jscomp.polyfill=function(a,b,h,B){b&&($jscomp.ISOLATE_POLYFILLS?$jscomp.polyfillIsolated(a,b,h,B):$jscomp.polyfillUnisolated(a,b,h,B))};$jscomp.polyfillUnisolated=function(a,b,h,B){h=$jscomp.global;a=a.split(".");for(B=0;B<a.length-1;B++){var t=a[B];if(!(t in h))return;h=h[t]}a=a[a.length-1];B=h[a];b=b(B);b!=B&&null!=b&&$jscomp.defineProperty(h,a,{configurable:!0,writable:!0,value:b})};
  $jscomp.polyfillIsolated=function(a,b,h,B){var t=a.split(".");a=1===t.length;B=t[0];B=!a&&B in $jscomp.polyfills?$jscomp.polyfills:$jscomp.global;for(var g=0;g<t.length-1;g++){var e=t[g];if(!(e in B))return;B=B[e]}t=t[t.length-1];h=$jscomp.IS_SYMBOL_NATIVE&&"es6"===h?B[t]:null;b=b(h);null!=b&&(a?$jscomp.defineProperty($jscomp.polyfills,t,{configurable:!0,writable:!0,value:b}):b!==h&&(void 0===$jscomp.propertyToPolyfillSymbol[t]&&($jscomp.propertyToPolyfillSymbol[t]=$jscomp.IS_SYMBOL_NATIVE?$jscomp.global.Symbol(t):
  $jscomp.POLYFILL_PREFIX+t),$jscomp.defineProperty(B,$jscomp.propertyToPolyfillSymbol[t],{configurable:!0,writable:!0,value:b})))};$jscomp.initSymbol=function(){};
  $jscomp.polyfill("Symbol",function(a){if(a)return a;var b=function(t,g){this.$jscomp$symbol$id_=t;$jscomp.defineProperty(this,"description",{configurable:!0,writable:!0,value:g})};b.prototype.toString=function(){return this.$jscomp$symbol$id_};var h=0,B=function(t){if(this instanceof B)throw new TypeError("Symbol is not a constructor");return new b("jscomp_symbol_"+(t||"")+"_"+h++,t)};return B},"es6","es3");
  $jscomp.polyfill("Symbol.iterator",function(a){if(a)return a;a=Symbol("Symbol.iterator");for(var b="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),h=0;h<b.length;h++){var B=$jscomp.global[b[h]];"function"===typeof B&&"function"!=typeof B.prototype[a]&&$jscomp.defineProperty(B.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.iteratorPrototype($jscomp.arrayIteratorImpl(this))}})}return a},"es6",
  "es3");$jscomp.iteratorPrototype=function(a){a={next:a};a[Symbol.iterator]=function(){return this};return a};$jscomp.iteratorFromArray=function(a,b){a instanceof String&&(a+="");var h=0,B=!1,t={next:function(){if(!B&&h<a.length){var g=h++;return{value:b(g,a[g]),done:!1}}B=!0;return{done:!0,value:void 0}}};t[Symbol.iterator]=function(){return t};return t};$jscomp.polyfill("Array.prototype.keys",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(b){return b})}},"es6","es3");
  $jscomp.checkStringArgs=function(a,b,h){if(null==a)throw new TypeError("The 'this' value for String.prototype."+h+" must not be null or undefined");if(b instanceof RegExp)throw new TypeError("First argument to String.prototype."+h+" must not be a regular expression");return a+""};
  $jscomp.polyfill("String.prototype.repeat",function(a){return a?a:function(b){var h=$jscomp.checkStringArgs(this,null,"repeat");if(0>b||1342177279<b)throw new RangeError("Invalid count value");b|=0;for(var B="";b;)if(b&1&&(B+=h),b>>>=1)h+=h;return B}},"es6","es3");$jscomp.findInternal=function(a,b,h){a instanceof String&&(a=String(a));for(var B=a.length,t=0;t<B;t++){var g=a[t];if(b.call(h,g,t,a))return{i:t,v:g}}return{i:-1,v:void 0}};
  $jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(b,h){return $jscomp.findInternal(this,b,h).v}},"es6","es3");$jscomp.polyfill("Array.prototype.values",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(b,h){return h})}},"es8","es3");var requirejs,require,define;
  (function(a){function b(A,M){var v,O,V=M&&M.split("/"),aa=p.map,ba=aa&&aa["*"]||{};if(A&&"."===A.charAt(0))if(M){V=V.slice(0,V.length-1);A=A.split("/");M=A.length-1;p.nodeIdCompat&&m.test(A[M])&&(A[M]=A[M].replace(m,""));A=V.concat(A);for(M=0;M<A.length;M+=1){var ka=A[M];if("."===ka)A.splice(M,1),--M;else if(".."===ka)if(1!==M||".."!==A[2]&&".."!==A[0])0<M&&(A.splice(M-1,2),M-=2);else break}A=A.join("/")}else 0===A.indexOf("./")&&(A=A.substring(2));if((V||ba)&&aa){ka=A.split("/");for(M=ka.length;0<
  M;--M){var fa=ka.slice(0,M).join("/");if(V)for(O=V.length;0<O;--O)if(v=aa[V.slice(0,O).join("/")])if(v=v[fa]){var c=v;var q=M;break}if(c)break;if(!E&&ba&&ba[fa]){var E=ba[fa];var u=M}}!c&&E&&(c=E,q=u);c&&(ka.splice(0,q,c),A=ka.join("/"))}return A}function h(A,M){return function(){return l.apply(a,w.call(arguments,0).concat([A,M]))}}function B(A){return function(M){return b(M,A)}}function t(A){return function(M){n[A]=M}}function g(A){if(y.call(k,A)){var M=k[A];delete k[A];d[A]=!0;D.apply(a,M)}if(!y.call(n,
  A)&&!y.call(d,A))throw Error("No "+A);return n[A]}function e(A){var M=A?A.indexOf("!"):-1;if(-1<M){var v=A.substring(0,M);A=A.substring(M+1,A.length)}return[v,A]}function f(A){return function(){return p&&p.config&&p.config[A]||{}}}var l,n={},k={},p={},d={},y=Object.prototype.hasOwnProperty,w=[].slice,m=/\.js$/;var x=function(A,M){A=e(A);var v=A[0];A=A[1];if(v){v=b(v,M);var O=g(v)}v?A=O&&O.normalize?O.normalize(A,B(M)):b(A,M):(A=b(A,M),A=e(A),v=A[0],A=A[1],v&&(O=g(v)));return{f:v?v+"!"+A:A,n:A,pr:v,
  p:O}};var F={require:function(A){return h(A)},exports:function(A){var M=n[A];return"undefined"!==typeof M?M:n[A]={}},module:function(A){return{id:A,uri:"",exports:n[A],config:f(A)}}};var D=function(A,M,v,O){var V,aa=[];var ba=typeof v;O=O||A;if("undefined"===ba||"function"===ba){M=!M.length&&v.length?["require","exports","module"]:M;for(V=0;V<M.length;V+=1){var ka=x(M[V],O);ba=ka.f;if("require"===ba)aa[V]=F.require(A);else if("exports"===ba){aa[V]=F.exports(A);var fa=!0}else if("module"===ba)var c=
  aa[V]=F.module(A);else if(y.call(n,ba)||y.call(k,ba)||y.call(d,ba))aa[V]=g(ba);else if(ka.p)ka.p.load(ka.n,h(O,!0),t(ba),{}),aa[V]=n[ba];else throw Error(A+" missing "+ba);}M=v?v.apply(n[A],aa):void 0;A&&(c&&c.exports!==a&&c.exports!==n[A]?n[A]=c.exports:M===a&&fa||(n[A]=M))}else A&&(n[A]=v)};requirejs=require=l=function(A,M,v,O,V){if("string"===typeof A)return F[A]?F[A](M):g(x(A,M).f);if(!A.splice){p=A;p.deps&&l(p.deps,p.callback);if(!M)return;M.splice?(A=M,M=v,v=null):A=a}M=M||function(){};"function"===
  typeof v&&(v=O,O=V);O?D(a,A,M,v):setTimeout(function(){D(a,A,M,v)},4);return l};l.config=function(A){return l(A)};requirejs._defined=n;define=function(A,M,v){M.splice||(v=M,M=[]);y.call(n,A)||y.call(k,A)||(k[A]=[A,M,v])};define.amd={jQuery:!0}})();define("components/almond/almond.js",function(){});define("jquery",[],function(){return jQuery});define("jquery-private",["jquery"],function(a){return a});
  define("utils",["jquery"],function(a){a.fn.hasScrollBar=function(){return a.contains(document,this.get(0))?this.parent().height()<this.get(0).scrollHeight?!0:!1:!1};a.fn.addHyperlinks=function(){0<this.length&&this.each(function(b,h){var B=a(h).html(),t=B.match(/\b(https?:\/\/|www\.|https?:\/\/www\.)[^\s<]{2,200}\b/g);if(t)for(b=0;b<t.length;b++){var g=0===t[b].indexOf("http://")||0===t[b].indexOf("https://")?"":"http://",e=encodeURI(decodeURI(t[b])).replace(/[!'()]/g,escape).replace(/\*/g,"%2A");
  B=B.replace(t[b],"<a target='_blank' href='"+g+e+"'>"+t[b]+"</a>")}a(h).html(B)});return this};return{__:function(b){void 0===this.i18n&&(this.i18n=locales.en);var h=this.i18n.translate(b);return 1<arguments.length?h.fetch.apply(h,[].slice.call(arguments,1)):h.fetch()},___:function(b){return b}}});
  (function(a,b){"function"===typeof define&&define.amd?define("jquery.browser",["jquery"],function(h){b(h,a)}):b(jQuery,a)})(this,function(a,b){a.uaMatch=function(B){B=B.toLowerCase();var t=/(opr)[\/]([\w.]+)/.exec(B)||/(chrome)[ \/]([\w.]+)/.exec(B)||/(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(B)||/(webkit)[ \/]([\w.]+)/.exec(B)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(B)||/(msie) ([\w.]+)/.exec(B)||0<=B.indexOf("trident")&&/(rv)(?::| )([\w.]+)/.exec(B)||0>B.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(B)||
  [];B=/(ipad)/.exec(B)||/(iphone)/.exec(B)||/(android)/.exec(B)||/(windows phone)/.exec(B)||/(win)/.exec(B)||/(mac)/.exec(B)||/(linux)/.exec(B)||/(cros)/i.exec(B)||[];return{browser:t[3]||t[1]||"",version:t[2]||"0",platform:B[0]||""}};b=a.uaMatch(b.navigator.userAgent);var h={};b.browser&&(h[b.browser]=!0,h.version=b.version,h.versionNumber=parseInt(b.version));b.platform&&(h[b.platform]=!0);if(h.android||h.ipad||h.iphone||h["windows phone"])h.mobile=!0;if(h.cros||h.mac||h.linux||h.win)h.desktop=!0;
  if(h.chrome||h.opr||h.safari)h.webkit=!0;h.rv&&(b.browser="msie",h.msie=!0);h.opr&&(b.browser="opera",h.opera=!0);h.safari&&h.android&&(b.browser="android",h.android=!0);h.name=b.browser;h.platform=b.platform;return a.browser=h});
  var CryptoJS=CryptoJS||function(a,b){var h={},B=h.lib={},t=B.Base=function(){function d(){}return{extend:function(y){d.prototype=this;var w=new d;y&&w.mixIn(y);w.hasOwnProperty("init")||(w.init=function(){w.$super.init.apply(this,arguments)});w.init.prototype=w;w.$super=this;return w},create:function(){var y=this.extend();y.init.apply(y,arguments);return y},init:function(){},mixIn:function(y){for(var w in y)y.hasOwnProperty(w)&&(this[w]=y[w]);y.hasOwnProperty("toString")&&(this.toString=y.toString)},
  clone:function(){return this.init.prototype.extend(this)}}}(),g=B.WordArray=t.extend({init:function(d,y){d=this.words=d||[];this.sigBytes=y!=b?y:4*d.length},toString:function(d){return(d||f).stringify(this)},concat:function(d){var y=this.words,w=d.words,m=this.sigBytes;d=d.sigBytes;this.clamp();if(m%4)for(var x=0;x<d;x++)y[m+x>>>2]|=(w[x>>>2]>>>24-x%4*8&255)<<24-(m+x)%4*8;else if(65535<w.length)for(x=0;x<d;x+=4)y[m+x>>>2]=w[x>>>2];else y.push.apply(y,w);this.sigBytes+=d;return this},clamp:function(){var d=
  this.words,y=this.sigBytes;d[y>>>2]&=4294967295<<32-y%4*8;d.length=a.ceil(y/4)},clone:function(){var d=t.clone.call(this);d.words=this.words.slice(0);return d},random:function(d){for(var y=[],w=0;w<d;w+=4)y.push(4294967296*a.random()|0);return new g.init(y,d)}}),e=h.enc={},f=e.Hex={stringify:function(d){var y=d.words;d=d.sigBytes;for(var w=[],m=0;m<d;m++){var x=y[m>>>2]>>>24-m%4*8&255;w.push((x>>>4).toString(16));w.push((x&15).toString(16))}return w.join("")},parse:function(d){for(var y=d.length,
  w=[],m=0;m<y;m+=2)w[m>>>3]|=parseInt(d.substr(m,2),16)<<24-m%8*4;return new g.init(w,y/2)}},l=e.Latin1={stringify:function(d){var y=d.words;d=d.sigBytes;for(var w=[],m=0;m<d;m++)w.push(String.fromCharCode(y[m>>>2]>>>24-m%4*8&255));return w.join("")},parse:function(d){for(var y=d.length,w=[],m=0;m<y;m++)w[m>>>2]|=(d.charCodeAt(m)&255)<<24-m%4*8;return new g.init(w,y)}},n=e.Utf8={stringify:function(d){try{return decodeURIComponent(escape(l.stringify(d)))}catch(y){throw Error("Malformed UTF-8 data");
  }},parse:function(d){return l.parse(unescape(encodeURIComponent(d)))}},k=B.BufferedBlockAlgorithm=t.extend({reset:function(){this._data=new g.init;this._nDataBytes=0},_append:function(d){"string"==typeof d&&(d=n.parse(d));this._data.concat(d);this._nDataBytes+=d.sigBytes},_process:function(d){var y=this._data,w=y.words,m=y.sigBytes,x=this.blockSize,F=m/(4*x);F=d?a.ceil(F):a.max((F|0)-this._minBufferSize,0);d=F*x;m=a.min(4*d,m);if(d){for(var D=0;D<d;D+=x)this._doProcessBlock(w,D);D=w.splice(0,d);y.sigBytes-=
  m}return new g.init(D,m)},clone:function(){var d=t.clone.call(this);d._data=this._data.clone();return d},_minBufferSize:0});B.Hasher=k.extend({cfg:t.extend(),init:function(d){this.cfg=this.cfg.extend(d);this.reset()},reset:function(){k.reset.call(this);this._doReset()},update:function(d){this._append(d);this._process();return this},finalize:function(d){d&&this._append(d);return this._doFinalize()},blockSize:16,_createHelper:function(d){return function(y,w){return(new d.init(w)).finalize(y)}},_createHmacHelper:function(d){return function(y,
  w){return(new p.HMAC.init(d,w)).finalize(y)}}});var p=h.algo={};return h}(Math);define("crypto.core",function(){});
  (function(){var a=CryptoJS,b=a.lib.WordArray;a.enc.Base64={stringify:function(h){var B=h.words,t=h.sigBytes,g=this._map;h.clamp();h=[];for(var e=0;e<t;e+=3)for(var f=(B[e>>>2]>>>24-e%4*8&255)<<16|(B[e+1>>>2]>>>24-(e+1)%4*8&255)<<8|B[e+2>>>2]>>>24-(e+2)%4*8&255,l=0;4>l&&e+.75*l<t;l++)h.push(g.charAt(f>>>6*(3-l)&63));if(B=g.charAt(64))for(;h.length%4;)h.push(B);return h.join("")},parse:function(h){var B=h.length,t=this._map,g=t.charAt(64);g&&(g=h.indexOf(g),-1!=g&&(B=g));g=[];for(var e=0,f=0;f<B;f++)if(f%
  4){var l=t.indexOf(h.charAt(f-1))<<f%4*2,n=t.indexOf(h.charAt(f))>>>6-f%4*2;g[e>>>2]|=(l|n)<<24-e%4*8;e++}return b.create(g,e)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}})();define("crypto.enc-base64",["crypto.core"],function(){});
  (function(a){function b(k,p,d,y,w,m,x){k=k+(p&d|~p&y)+w+x;return(k<<m|k>>>32-m)+p}function h(k,p,d,y,w,m,x){k=k+(p&y|d&~y)+w+x;return(k<<m|k>>>32-m)+p}function B(k,p,d,y,w,m,x){k=k+(p^d^y)+w+x;return(k<<m|k>>>32-m)+p}function t(k,p,d,y,w,m,x){k=k+(d^(p|~y))+w+x;return(k<<m|k>>>32-m)+p}var g=CryptoJS,e=g.lib,f=e.WordArray,l=e.Hasher;e=g.algo;var n=[];(function(){for(var k=0;64>k;k++)n[k]=4294967296*a.abs(a.sin(k+1))|0})();e=e.MD5=l.extend({_doReset:function(){this._hash=new f.init([1732584193,4023233417,
  2562383102,271733878])},_doProcessBlock:function(k,p){for(var d=0;16>d;d++){var y=p+d,w=k[y];k[y]=(w<<8|w>>>24)&16711935|(w<<24|w>>>8)&4278255360}d=this._hash.words;y=k[p+0];w=k[p+1];var m=k[p+2],x=k[p+3],F=k[p+4],D=k[p+5],A=k[p+6],M=k[p+7],v=k[p+8],O=k[p+9],V=k[p+10],aa=k[p+11],ba=k[p+12],ka=k[p+13],fa=k[p+14];k=k[p+15];p=d[0];var c=d[1],q=d[2],E=d[3];p=b(p,c,q,E,y,7,n[0]);E=b(E,p,c,q,w,12,n[1]);q=b(q,E,p,c,m,17,n[2]);c=b(c,q,E,p,x,22,n[3]);p=b(p,c,q,E,F,7,n[4]);E=b(E,p,c,q,D,12,n[5]);q=b(q,E,p,
  c,A,17,n[6]);c=b(c,q,E,p,M,22,n[7]);p=b(p,c,q,E,v,7,n[8]);E=b(E,p,c,q,O,12,n[9]);q=b(q,E,p,c,V,17,n[10]);c=b(c,q,E,p,aa,22,n[11]);p=b(p,c,q,E,ba,7,n[12]);E=b(E,p,c,q,ka,12,n[13]);q=b(q,E,p,c,fa,17,n[14]);c=b(c,q,E,p,k,22,n[15]);p=h(p,c,q,E,w,5,n[16]);E=h(E,p,c,q,A,9,n[17]);q=h(q,E,p,c,aa,14,n[18]);c=h(c,q,E,p,y,20,n[19]);p=h(p,c,q,E,D,5,n[20]);E=h(E,p,c,q,V,9,n[21]);q=h(q,E,p,c,k,14,n[22]);c=h(c,q,E,p,F,20,n[23]);p=h(p,c,q,E,O,5,n[24]);E=h(E,p,c,q,fa,9,n[25]);q=h(q,E,p,c,x,14,n[26]);c=h(c,q,E,p,v,
  20,n[27]);p=h(p,c,q,E,ka,5,n[28]);E=h(E,p,c,q,m,9,n[29]);q=h(q,E,p,c,M,14,n[30]);c=h(c,q,E,p,ba,20,n[31]);p=B(p,c,q,E,D,4,n[32]);E=B(E,p,c,q,v,11,n[33]);q=B(q,E,p,c,aa,16,n[34]);c=B(c,q,E,p,fa,23,n[35]);p=B(p,c,q,E,w,4,n[36]);E=B(E,p,c,q,F,11,n[37]);q=B(q,E,p,c,M,16,n[38]);c=B(c,q,E,p,V,23,n[39]);p=B(p,c,q,E,ka,4,n[40]);E=B(E,p,c,q,y,11,n[41]);q=B(q,E,p,c,x,16,n[42]);c=B(c,q,E,p,A,23,n[43]);p=B(p,c,q,E,O,4,n[44]);E=B(E,p,c,q,ba,11,n[45]);q=B(q,E,p,c,k,16,n[46]);c=B(c,q,E,p,m,23,n[47]);p=t(p,c,q,E,
  y,6,n[48]);E=t(E,p,c,q,M,10,n[49]);q=t(q,E,p,c,fa,15,n[50]);c=t(c,q,E,p,D,21,n[51]);p=t(p,c,q,E,ba,6,n[52]);E=t(E,p,c,q,x,10,n[53]);q=t(q,E,p,c,V,15,n[54]);c=t(c,q,E,p,w,21,n[55]);p=t(p,c,q,E,v,6,n[56]);E=t(E,p,c,q,k,10,n[57]);q=t(q,E,p,c,A,15,n[58]);c=t(c,q,E,p,ka,21,n[59]);p=t(p,c,q,E,F,6,n[60]);E=t(E,p,c,q,aa,10,n[61]);q=t(q,E,p,c,m,15,n[62]);c=t(c,q,E,p,O,21,n[63]);d[0]=d[0]+p|0;d[1]=d[1]+c|0;d[2]=d[2]+q|0;d[3]=d[3]+E|0},_doFinalize:function(){var k=this._data,p=k.words,d=8*this._nDataBytes,y=
  8*k.sigBytes;p[y>>>5]|=128<<24-y%32;var w=a.floor(d/4294967296);p[(y+64>>>9<<4)+15]=(w<<8|w>>>24)&16711935|(w<<24|w>>>8)&4278255360;p[(y+64>>>9<<4)+14]=(d<<8|d>>>24)&16711935|(d<<24|d>>>8)&4278255360;k.sigBytes=4*(p.length+1);this._process();k=this._hash;p=k.words;for(d=0;4>d;d++)y=p[d],p[d]=(y<<8|y>>>24)&16711935|(y<<24|y>>>8)&4278255360;return k},clone:function(){var k=l.clone.call(this);k._hash=this._hash.clone();return k}});g.MD5=l._createHelper(e);g.HmacMD5=l._createHmacHelper(e)})(Math);
  define("crypto.md5",["crypto.core"],function(){});
  (function(){var a=CryptoJS,b=a.lib,h=b.Base,B=b.WordArray;b=a.algo;var t=b.EvpKDF=h.extend({cfg:h.extend({keySize:4,hasher:b.MD5,iterations:1}),init:function(g){this.cfg=this.cfg.extend(g)},compute:function(g,e){var f=this.cfg,l=f.hasher.create(),n=B.create(),k=n.words,p=f.keySize;for(f=f.iterations;k.length<p;){d&&l.update(d);var d=l.update(g).finalize(e);l.reset();for(var y=1;y<f;y++)d=l.finalize(d),l.reset();n.concat(d)}n.sigBytes=4*p;return n}});a.EvpKDF=function(g,e,f){return t.create(f).compute(g,
  e)}})();define("crypto.evpkdf",["crypto.md5"],function(){});
  CryptoJS.lib.Cipher||function(a){var b=CryptoJS,h=b.lib,B=h.Base,t=h.WordArray,g=h.BufferedBlockAlgorithm,e=b.enc.Base64,f=b.algo.EvpKDF,l=h.Cipher=g.extend({cfg:B.extend(),createEncryptor:function(m,x){return this.create(this._ENC_XFORM_MODE,m,x)},createDecryptor:function(m,x){return this.create(this._DEC_XFORM_MODE,m,x)},init:function(m,x,F){this.cfg=this.cfg.extend(F);this._xformMode=m;this._key=x;this.reset()},reset:function(){g.reset.call(this);this._doReset()},process:function(m){this._append(m);
  return this._process()},finalize:function(m){m&&this._append(m);return this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){return function(m){return{encrypt:function(x,F,D){return("string"==typeof F?w:y).encrypt(m,x,F,D)},decrypt:function(x,F,D){return("string"==typeof F?w:y).decrypt(m,x,F,D)}}}}()});h.StreamCipher=l.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var n=b.mode={},k=h.BlockCipherMode=B.extend({createEncryptor:function(m,
  x){return this.Encryptor.create(m,x)},createDecryptor:function(m,x){return this.Decryptor.create(m,x)},init:function(m,x){this._cipher=m;this._iv=x}});n=n.CBC=function(){function m(F,D,A){var M=this._iv;M?this._iv=a:M=this._prevBlock;for(var v=0;v<A;v++)F[D+v]^=M[v]}var x=k.extend();x.Encryptor=x.extend({processBlock:function(F,D){var A=this._cipher,M=A.blockSize;m.call(this,F,D,M);A.encryptBlock(F,D);this._prevBlock=F.slice(D,D+M)}});x.Decryptor=x.extend({processBlock:function(F,D){var A=this._cipher,
  M=A.blockSize,v=F.slice(D,D+M);A.decryptBlock(F,D);m.call(this,F,D,M);this._prevBlock=v}});return x}();var p=(b.pad={}).Pkcs7={pad:function(m,x){x*=4;x-=m.sigBytes%x;for(var F=x<<24|x<<16|x<<8|x,D=[],A=0;A<x;A+=4)D.push(F);x=t.create(D,x);m.concat(x)},unpad:function(m){m.sigBytes-=m.words[m.sigBytes-1>>>2]&255}};h.BlockCipher=l.extend({cfg:l.cfg.extend({mode:n,padding:p}),reset:function(){l.reset.call(this);var m=this.cfg,x=m.iv;m=m.mode;if(this._xformMode==this._ENC_XFORM_MODE)var F=m.createEncryptor;
  else F=m.createDecryptor,this._minBufferSize=1;this._mode=F.call(m,this,x&&x.words)},_doProcessBlock:function(m,x){this._mode.processBlock(m,x)},_doFinalize:function(){var m=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){m.pad(this._data,this.blockSize);var x=this._process(!0)}else x=this._process(!0),m.unpad(x);return x},blockSize:4});var d=h.CipherParams=B.extend({init:function(m){this.mixIn(m)},toString:function(m){return(m||this.formatter).stringify(this)}});n=(b.format={}).OpenSSL=
  {stringify:function(m){var x=m.ciphertext;m=m.salt;return(m?t.create([1398893684,1701076831]).concat(m).concat(x):x).toString(e)},parse:function(m){m=e.parse(m);var x=m.words;if(1398893684==x[0]&&1701076831==x[1]){var F=t.create(x.slice(2,4));x.splice(0,4);m.sigBytes-=16}return d.create({ciphertext:m,salt:F})}};var y=h.SerializableCipher=B.extend({cfg:B.extend({format:n}),encrypt:function(m,x,F,D){D=this.cfg.extend(D);var A=m.createEncryptor(F,D);x=A.finalize(x);A=A.cfg;return d.create({ciphertext:x,
  key:F,iv:A.iv,algorithm:m,mode:A.mode,padding:A.padding,blockSize:m.blockSize,formatter:D.format})},decrypt:function(m,x,F,D){D=this.cfg.extend(D);x=this._parse(x,D.format);return m.createDecryptor(F,D).finalize(x.ciphertext)},_parse:function(m,x){return"string"==typeof m?x.parse(m,this):m}});b=(b.kdf={}).OpenSSL={execute:function(m,x,F,D){D||(D=t.random(8));m=f.create({keySize:x+F}).compute(m,D);F=t.create(m.words.slice(x),4*F);m.sigBytes=4*x;return d.create({key:m,iv:F,salt:D})}};var w=h.PasswordBasedCipher=
  y.extend({cfg:y.cfg.extend({kdf:b}),encrypt:function(m,x,F,D){D=this.cfg.extend(D);F=D.kdf.execute(F,m.keySize,m.ivSize);D.iv=F.iv;m=y.encrypt.call(this,m,x,F.key,D);m.mixIn(F);return m},decrypt:function(m,x,F,D){D=this.cfg.extend(D);x=this._parse(x,D.format);F=D.kdf.execute(F,m.keySize,m.ivSize,x.salt);D.iv=F.iv;return y.decrypt.call(this,m,x,F.key,D)}})}();define("crypto.cipher-core",["crypto.enc-base64","crypto.evpkdf"],function(){});
  (function(){var a=CryptoJS,b=a.lib.BlockCipher,h=a.algo,B=[],t=[],g=[],e=[],f=[],l=[],n=[],k=[],p=[],d=[];(function(){for(var w=[],m=0;256>m;m++)w[m]=128>m?m<<1:m<<1^283;var x=0,F=0;for(m=0;256>m;m++){var D=F^F<<1^F<<2^F<<3^F<<4;D=D>>>8^D&255^99;B[x]=D;t[D]=x;var A=w[x],M=w[A],v=w[M],O=257*w[D]^16843008*D;g[x]=O<<24|O>>>8;e[x]=O<<16|O>>>16;f[x]=O<<8|O>>>24;l[x]=O;O=16843009*v^65537*M^257*A^16843008*x;n[D]=O<<24|O>>>8;k[D]=O<<16|O>>>16;p[D]=O<<8|O>>>24;d[D]=O;x?(x=A^w[w[w[v^A]]],F^=w[w[F]]):x=F=1}})();
  var y=[0,1,2,4,8,16,32,64,128,27,54];h=h.AES=b.extend({_doReset:function(){var w=this._key,m=w.words,x=w.sigBytes/4;w=4*((this._nRounds=x+6)+1);for(var F=this._keySchedule=[],D=0;D<w;D++)if(D<x)F[D]=m[D];else{var A=F[D-1];D%x?6<x&&4==D%x&&(A=B[A>>>24]<<24|B[A>>>16&255]<<16|B[A>>>8&255]<<8|B[A&255]):(A=A<<8|A>>>24,A=B[A>>>24]<<24|B[A>>>16&255]<<16|B[A>>>8&255]<<8|B[A&255],A^=y[D/x|0]<<24);F[D]=F[D-x]^A}m=this._invKeySchedule=[];for(x=0;x<w;x++)D=w-x,A=x%4?F[D]:F[D-4],m[x]=4>x||4>=D?A:n[B[A>>>24]]^
  k[B[A>>>16&255]]^p[B[A>>>8&255]]^d[B[A&255]]},encryptBlock:function(w,m){this._doCryptBlock(w,m,this._keySchedule,g,e,f,l,B)},decryptBlock:function(w,m){var x=w[m+1];w[m+1]=w[m+3];w[m+3]=x;this._doCryptBlock(w,m,this._invKeySchedule,n,k,p,d,t);x=w[m+1];w[m+1]=w[m+3];w[m+3]=x},_doCryptBlock:function(w,m,x,F,D,A,M,v){for(var O=this._nRounds,V=w[m]^x[0],aa=w[m+1]^x[1],ba=w[m+2]^x[2],ka=w[m+3]^x[3],fa=4,c=1;c<O;c++){var q=F[V>>>24]^D[aa>>>16&255]^A[ba>>>8&255]^M[ka&255]^x[fa++],E=F[aa>>>24]^D[ba>>>16&
  255]^A[ka>>>8&255]^M[V&255]^x[fa++],u=F[ba>>>24]^D[ka>>>16&255]^A[V>>>8&255]^M[aa&255]^x[fa++];ka=F[ka>>>24]^D[V>>>16&255]^A[aa>>>8&255]^M[ba&255]^x[fa++];V=q;aa=E;ba=u}q=(v[V>>>24]<<24|v[aa>>>16&255]<<16|v[ba>>>8&255]<<8|v[ka&255])^x[fa++];E=(v[aa>>>24]<<24|v[ba>>>16&255]<<16|v[ka>>>8&255]<<8|v[V&255])^x[fa++];u=(v[ba>>>24]<<24|v[ka>>>16&255]<<16|v[V>>>8&255]<<8|v[aa&255])^x[fa++];ka=(v[ka>>>24]<<24|v[V>>>16&255]<<16|v[aa>>>8&255]<<8|v[ba&255])^x[fa++];w[m]=q;w[m+1]=E;w[m+2]=u;w[m+3]=ka},keySize:8});
  a.AES=b._createHelper(h)})();define("crypto.aes",["crypto.cipher-core"],function(){});
  (function(){var a=CryptoJS,b=a.lib,h=b.WordArray,B=b.Hasher,t=[];b=a.algo.SHA1=B.extend({_doReset:function(){this._hash=new h.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(g,e){for(var f=this._hash.words,l=f[0],n=f[1],k=f[2],p=f[3],d=f[4],y=0;80>y;y++){if(16>y)t[y]=g[e+y]|0;else{var w=t[y-3]^t[y-8]^t[y-14]^t[y-16];t[y]=w<<1|w>>>31}w=(l<<5|l>>>27)+d+t[y];w=20>y?w+((n&k|~n&p)+1518500249):40>y?w+((n^k^p)+1859775393):60>y?w+((n&k|n&p|k&p)-1894007588):w+((n^k^
  p)-899497514);d=p;p=k;k=n<<30|n>>>2;n=l;l=w}f[0]=f[0]+l|0;f[1]=f[1]+n|0;f[2]=f[2]+k|0;f[3]=f[3]+p|0;f[4]=f[4]+d|0},_doFinalize:function(){var g=this._data,e=g.words,f=8*this._nDataBytes,l=8*g.sigBytes;e[l>>>5]|=128<<24-l%32;e[(l+64>>>9<<4)+14]=Math.floor(f/4294967296);e[(l+64>>>9<<4)+15]=f;g.sigBytes=4*e.length;this._process();return this._hash},clone:function(){var g=B.clone.call(this);g._hash=this._hash.clone();return g}});a.SHA1=B._createHelper(b);a.HmacSHA1=B._createHmacHelper(b)})();
  define("crypto.sha1",["crypto.core"],function(){});
  (function(a){var b=CryptoJS,h=b.lib,B=h.WordArray,t=h.Hasher;h=b.algo;var g=[],e=[];(function(){function l(d){for(var y=a.sqrt(d),w=2;w<=y;w++)if(!(d%w))return!1;return!0}function n(d){return 4294967296*(d-(d|0))|0}for(var k=2,p=0;64>p;)l(k)&&(8>p&&(g[p]=n(a.pow(k,.5))),e[p]=n(a.pow(k,1/3)),p++),k++})();var f=[];h=h.SHA256=t.extend({_doReset:function(){this._hash=new B.init(g.slice(0))},_doProcessBlock:function(l,n){for(var k=this._hash.words,p=k[0],d=k[1],y=k[2],w=k[3],m=k[4],x=k[5],F=k[6],D=k[7],
  A=0;64>A;A++){if(16>A)f[A]=l[n+A]|0;else{var M=f[A-15],v=f[A-2];f[A]=((M<<25|M>>>7)^(M<<14|M>>>18)^M>>>3)+f[A-7]+((v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10)+f[A-16]}M=D+((m<<26|m>>>6)^(m<<21|m>>>11)^(m<<7|m>>>25))+(m&x^~m&F)+e[A]+f[A];v=((p<<30|p>>>2)^(p<<19|p>>>13)^(p<<10|p>>>22))+(p&d^p&y^d&y);D=F;F=x;x=m;m=w+M|0;w=y;y=d;d=p;p=M+v|0}k[0]=k[0]+p|0;k[1]=k[1]+d|0;k[2]=k[2]+y|0;k[3]=k[3]+w|0;k[4]=k[4]+m|0;k[5]=k[5]+x|0;k[6]=k[6]+F|0;k[7]=k[7]+D|0},_doFinalize:function(){var l=this._data,n=l.words,k=8*this._nDataBytes,
  p=8*l.sigBytes;n[p>>>5]|=128<<24-p%32;n[(p+64>>>9<<4)+14]=a.floor(k/4294967296);n[(p+64>>>9<<4)+15]=k;l.sigBytes=4*n.length;this._process();return this._hash},clone:function(){var l=t.clone.call(this);l._hash=this._hash.clone();return l}});b.SHA256=t._createHelper(h);b.HmacSHA256=t._createHmacHelper(h)})(Math);define("crypto.sha256",["crypto.core"],function(){});
  (function(){var a=CryptoJS,b=a.enc.Utf8;a.algo.HMAC=a.lib.Base.extend({init:function(h,B){h=this._hasher=new h.init;"string"==typeof B&&(B=b.parse(B));var t=h.blockSize,g=4*t;B.sigBytes>g&&(B=h.finalize(B));B.clamp();h=this._oKey=B.clone();B=this._iKey=B.clone();for(var e=h.words,f=B.words,l=0;l<t;l++)e[l]^=1549556828,f[l]^=909522486;h.sigBytes=B.sigBytes=g;this.reset()},reset:function(){var h=this._hasher;h.reset();h.update(this._iKey)},update:function(h){this._hasher.update(h);return this},finalize:function(h){var B=
  this._hasher;h=B.finalize(h);B.reset();return B.finalize(this._oKey.clone().concat(h))}})})();define("crypto.hmac",["crypto.core"],function(){});CryptoJS.pad.NoPadding={pad:function(){},unpad:function(){}};define("crypto.pad-nopadding",["crypto.cipher-core"],function(){});
  CryptoJS.mode.CTR=function(){var a=CryptoJS.lib.BlockCipherMode.extend(),b=a.Encryptor=a.extend({processBlock:function(h,B){var t=this._cipher,g=t.blockSize,e=this._iv,f=this._counter;e&&(f=this._counter=e.slice(0),this._iv=void 0);e=f.slice(0);t.encryptBlock(e,0);f[g-1]=f[g-1]+1|0;for(t=0;t<g;t++)h[B+t]^=e[t]}});a.Decryptor=b;return a}();define("crypto.mode-ctr",["crypto.cipher-core"],function(){});
  (function(a,b){"function"===typeof define&&define.amd?define("crypto","crypto.core crypto.enc-base64 crypto.md5 crypto.evpkdf crypto.cipher-core crypto.aes crypto.sha1 crypto.sha256 crypto.hmac crypto.pad-nopadding crypto.mode-ctr".split(" "),function(){return CryptoJS}):a.CryptoJS=b()})(this);
  (function(a,b){"function"===typeof define&&define.amd?define("bigint",[],b.bind(a,a.crypto||a.msCrypto)):"undefined"!==typeof module&&module.exports?module.exports=b(require("crypto")):a.BigInt=b(a.crypto||a.msCrypto)})(this,function(a){function b(G,L){L=y(0,26*(G.length>L?G.length:L),0);A(L,G);return L}function h(G,L){G=D(G);q(G,L);return C(G,1)}function B(G,L){G=b(G,G.length>L.length?G.length+1:L.length+1);fa(G,L);return C(G,1)}function t(G,L){G=b(G,G.length>L.length?G.length+1:L.length+1);c(G,
  L);return C(G,1)}function g(G,L){G=b(G,L.length);a:{var J=1+2*Math.max(G.length,L.length);if(G[0]&1||L[0]&1)for(Y.length!=J&&(Y=Array(J),xa=Array(J),Da=Array(J),Ea=Array(J),Aa=Array(J),ya=Array(J)),A(Y,G),A(xa,L),M(Da,1),M(Ea,0),M(Aa,0),M(ya,1);;){for(;!(Y[0]&1);)V(Y),Da[0]&1||Ea[0]&1?(c(Da,L),V(Da),fa(Ea,G)):V(Da),V(Ea);for(;!(xa[0]&1);)V(xa),Aa[0]&1||ya[0]&1?(c(Aa,L),V(Aa),fa(ya,G)):V(Aa),V(ya);k(xa,Y)?(fa(xa,Y),fa(Aa,Da),fa(ya,Ea)):(fa(Y,xa),fa(Da,Aa),fa(Ea,ya));if(m(Y,0)){for(;Aa[Aa.length-1]>>
  25&1;)c(Aa,L);A(G,Aa);if(!m(xa,1)){M(G,0);L=0;break a}L=1;break a}}else M(G,0),L=0}return L?C(G,1):null}function e(G,L,J){G=b(G,J.length);E(G,L,J);return C(G,1)}function f(G,L,J){var S;for(S=0;S<G.length;S++)G[S]=0;var da=Math.floor((L-1)/26)+1;for(S=0;S<da;S++){var W=S,ma=0,oa;for(oa=Ha(1)[0]&3;3>ma;ma++)oa=256*oa+Ha(1)[0];G[W]=oa}G[da-1]&=(2<<(L-1)%26)-1;1==J&&(G[da-1]|=1<<(L-1)%26)}function l(G,L){for(var J=1,S=0;;){if(1==G)return J;if(0==G)return 0;S-=J*Math.floor(L/G);L%=G;if(1==L)return S;if(0==
  L)return 0;J-=S*Math.floor(G/L);G%=L}}function n(G,L,J){var S,da=G.length,W=L.length;for(S=W-1-J;S<da&&0<=S;S++)if(0<G[S])return 1;for(S=da-1+J;S<W;S++)if(0<L[S])return 0;for(S=(da+J<W?da+J:W)-1;S>=J;S--){if(G[S-J]>L[S])return 1;if(G[S-J]<L[S])break}return 0}function k(G,L){var J,S=G.length<L.length?G.length:L.length;for(J=G.length;J<L.length;J++)if(L[J])return 0;for(J=L.length;J<G.length;J++)if(G[J])return 1;for(J=S-1;0<=J;J--){if(G[J]>L[J])return 1;if(G[J]<L[J])break}return 0}function p(G,L,J,S){var da;
  A(S,G);for(G=L.length;0==L[G-1];G--);var W=L[G-1];for(da=0;W;da++)W>>=1;da=26-da;aa(L,da);aa(S,da);for(W=S.length;0==S[W-1]&&W>G;W--);for(M(J,0);!n(L,S,W-G);){var ma,oa=S,Ba=L,wa=W-G;var sa=oa.length<wa+Ba.length?oa.length:wa+Ba.length;var ha=oa.length;var ia=0;for(ma=wa;ma<sa;ma++)ia+=oa[ma]-Ba[ma-wa],oa[ma]=ia&R,ia=(ia-oa[ma])/67108864;for(ma=sa;ia&&ma<ha;ma++)ia+=oa[ma],oa[ma]=ia&R,ia=(ia-oa[ma])/67108864;J[W-G]++}for(--W;W>=G;W--){for(J[W-G]=S[W]==L[G-1]?R:Math.floor((67108864*S[W]+S[W-1])/L[G-
  1]);;)if(ia=sa=(1<G?L[G-2]:0)*J[W-G],sa&=R,ia=(ia-sa)/67108864,ia=ha=ia+J[W-G]*L[G-1],ha&=R,ia=(ia-ha)/67108864,ia==S[W]?ha==S[W-1]?sa>(1<W?S[W-2]:0):ha>S[W-1]:ia>S[W])J[W-G]--;else break;ka(S,L,-J[W-G],W-G);if(S[S.length-1]>>25&1){oa=S;Ba=L;wa=W-G;sa=oa.length<wa+Ba.length?oa.length:wa+Ba.length;ha=oa.length;ia=0;for(ma=wa;ma<sa;ma++)ia+=oa[ma]+Ba[ma-wa],oa[ma]=ia&R,ia=(ia-oa[ma])/67108864;for(ma=sa;ia&&ma<ha;ma++)ia+=oa[ma],oa[ma]=ia&R,ia=(ia-oa[ma])/67108864;J[W-G]--}}O(L,da);O(S,da)}function d(G,
  L){var J,S=0;for(J=G.length-1;0<=J;J--)S=(67108864*S+G[J])%L;return S}function y(G,L,J){L=Math.ceil(L/26)+1;J=Array(J>L?J:L);M(J,G);return J}function w(G,L,J){var S,da,W=G.length;if(-1==L){for(da=[];;){L=Array(da.length+1);for(S=0;S<da.length;S++)L[S+1]=da[S];L[0]=parseInt(G,10);da=L;var ma=G.indexOf(",",0);if(1>ma)break;G=G.substring(ma+1);if(0==G.length)break}return da.length<J?(L=Array(J),A(L,da),L):da}S=L;da=0;for(ma=1==L?W:0;1<S;)S&1&&(da=1),ma+=W,S>>=1;da=y(0,ma+da*W,0);for(S=0;S<W;S++){ma=
  "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_=!@#$%^&*()[]{}|;:,.<>/?`~ \\'\"+-".indexOf(G.substring(S,S+1),0);36>=L&&36<=ma&&(ma-=26);if(ma>=L||0>ma)break;var oa,Ba,wa=da,sa=L;if(sa){var ha=wa.length;for(Ba=oa=0;Ba<ha;Ba++){oa+=wa[Ba]*sa;var ia=0;0>oa&&(ia=oa&R,ia=-((oa-ia)/67108864),oa+=67108864*ia);wa[Ba]=oa&R;oa=(oa-wa[Ba])/67108864-ia}}v(da,ma)}for(W=da.length;0<W&&!da[W-1];W--);W=J>W+1?J:W+1;L=Array(W);G=W<da.length?W:da.length;for(S=0;S<G;S++)L[S]=da[S];for(;S<W;S++)L[S]=
  0;return L}function m(G,L){if(G[0]!=L)return 0;for(L=1;L<G.length;L++)if(G[L])return 0;return 1}function x(G,L){var J,S=G.length<L.length?G.length:L.length;for(J=0;J<S;J++)if(G[J]!=L[J])return 0;if(G.length>L.length)for(;J<G.length;J++){if(G[J])return 0}else for(;J<L.length;J++)if(L[J])return 0;return 1}function F(G){var L;for(L=0;L<G.length;L++)if(G[L])return 0;return 1}function D(G){var L=Array(G.length);A(L,G);return L}function A(G,L){var J,S=G.length<L.length?G.length:L.length;for(J=0;J<S;J++)G[J]=
  L[J];for(J=S;J<G.length;J++)G[J]=0}function M(G,L){var J=L;for(L=0;L<G.length;L++)G[L]=J&R,J>>=26}function v(G,L){var J;G[0]+=L;var S=G.length;for(L=J=0;L<S;L++){J+=G[L];var da=0;0>J&&(da=J&R,da=-((J-da)/67108864),J+=67108864*da);G[L]=J&R;J=(J-G[L])/67108864-da;if(!J)break}}function O(G,L){var J,S=Math.floor(L/26);if(S){for(J=0;J<G.length-S;J++)G[J]=G[J+S];for(;J<G.length;J++)G[J]=0;L%=26}for(J=0;J<G.length-1;J++)G[J]=R&(G[J+1]<<26-L|G[J]>>L);G[J]>>=L}function V(G){var L;for(L=0;L<G.length-1;L++)G[L]=
  R&(G[L+1]<<25|G[L]>>1);G[L]=G[L]>>1|G[L]&33554432}function aa(G,L){var J,S=Math.floor(L/26);if(S){for(J=G.length;J>=S;J--)G[J]=G[J-S];for(;0<=J;J--)G[J]=0;L%=26}if(L){for(J=G.length-1;0<J;J--)G[J]=R&(G[J]<<L|G[J-1]>>26-L);G[J]=R&G[J]<<L}}function ba(G,L){var J,S=0;for(J=G.length-1;0<=J;J--)S=67108864*S+G[J],G[J]=Math.floor(S/L),S%=L;return S}function ka(G,L,J,S){var da;var W=G.length<S+L.length?G.length:S+L.length;var ma=G.length;var oa=0;for(da=S;da<W;da++)oa+=G[da]+J*L[da-S],G[da]=oa&R,oa=(oa-G[da])/
  67108864;for(da=W;oa&&da<ma;da++)oa+=G[da],G[da]=oa&R,oa=(oa-G[da])/67108864}function fa(G,L){var J,S;var da=G.length<L.length?G.length:L.length;for(J=S=0;J<da;J++)S+=G[J]-L[J],G[J]=S&R,S=(S-G[J])/67108864;for(J=da;S&&J<G.length;J++)S+=G[J],G[J]=S&R,S=(S-G[J])/67108864}function c(G,L){var J,S;var da=G.length<L.length?G.length:L.length;for(J=S=0;J<da;J++)S+=G[J]+L[J],G[J]=S&R,S=(S-G[J])/67108864;for(J=da;S&&J<G.length;J++)S+=G[J],G[J]=S&R,S=(S-G[J])/67108864}function q(G,L){Z.length!=G.length?Z=D(G):
  A(Z,G);ea.length!=G.length&&(ea=D(G));p(Z,L,ea,G)}function E(G,L,J){var S;P.length!=2*G.length&&(P=Array(2*G.length));M(P,0);for(S=0;S<L.length;S++)L[S]&&ka(P,G,L[S],S);q(P,J);A(G,P)}function u(G,L){var J,S;for(S=G.length;0<S&&!G[S-1];S--);var da=S>L.length?2*S:2*L.length;P.length!=da&&(P=Array(da));M(P,0);for(da=0;da<S;da++){var W=P[2*da]+G[da]*G[da];P[2*da]=W&R;W=(W-P[2*da])/67108864;for(J=da+1;J<S;J++)W=P[da+J]+2*G[da]*G[J]+W,P[da+J]=W&R,W=(W-P[da+J])/67108864;P[da+S]=W}q(P,L);A(G,P)}function C(G,
  L){var J;for(J=G.length;0<J&&!G[J-1];J--);L=Array(J+L);A(L,G);return L}function K(G,L,J){var S,da;ta.length!=J.length&&(ta=D(J));if(0==(J[0]&1))for(A(ta,G),M(G,1);!m(L,0);)L[0]&1&&E(G,ta,J),ba(L,2),u(ta,J);else{M(ta,0);for(S=J.length;0<S&&!J[S-1];S--);var W=67108864-l(d(J,67108864),67108864);ta[S]=1;E(G,ta,J);X.length!=G.length?X=D(G):A(X,G);for(S=L.length-1;0<S&!L[S];S--);if(0==L[S])M(G,1);else{for(da=33554432;da&&!(L[S]&da);da>>=1);for(;;){if(!(da>>=1)){S--;if(0>S){T(G,z,J,W);break}da=33554432}T(G,
  G,J,W);da&L[S]&&T(G,X,J,W)}}}}function T(G,L,J,S){var da,W,ma=J.length,oa=L.length;na.length!=ma&&(na=Array(ma));for(M(na,0);0<ma&&0==J[ma-1];ma--);for(;0<oa&&0==L[oa-1];oa--);var Ba=na.length-1;for(da=0;da<ma;da++){var wa=na[0]+G[da]*L[0];var sa=(wa&R)*S&R;var ha=wa+sa*J[0];ha=(ha-(ha&R))/67108864;wa=G[da];for(W=1;W<oa-4;){ha+=na[W]+sa*J[W]+wa*L[W];var ia=na[W-1]=ha&R;ha=(ha-ia)/67108864;W++;ha+=na[W]+sa*J[W]+wa*L[W];ia=na[W-1]=ha&R;ha=(ha-ia)/67108864;W++;ha+=na[W]+sa*J[W]+wa*L[W];ia=na[W-1]=ha&
  R;ha=(ha-ia)/67108864;W++;ha+=na[W]+sa*J[W]+wa*L[W];ia=na[W-1]=ha&R;ha=(ha-ia)/67108864;W++;ha+=na[W]+sa*J[W]+wa*L[W];ia=na[W-1]=ha&R;ha=(ha-ia)/67108864;W++}for(;W<oa;)ha+=na[W]+sa*J[W]+wa*L[W],ia=na[W-1]=ha&R,ha=(ha-ia)/67108864,W++;for(;W<ma-4;)ha+=na[W]+sa*J[W],ia=na[W-1]=ha&R,ha=(ha-ia)/67108864,W++,ha+=na[W]+sa*J[W],ia=na[W-1]=ha&R,ha=(ha-ia)/67108864,W++,ha+=na[W]+sa*J[W],ia=na[W-1]=ha&R,ha=(ha-ia)/67108864,W++,ha+=na[W]+sa*J[W],ia=na[W-1]=ha&R,ha=(ha-ia)/67108864,W++,ha+=na[W]+sa*J[W],ia=
  na[W-1]=ha&R,ha=(ha-ia)/67108864,W++;for(;W<ma;)ha+=na[W]+sa*J[W],ia=na[W-1]=ha&R,ha=(ha-ia)/67108864,W++;for(;W<Ba;)ha+=na[W],ia=na[W-1]=ha&R,ha=(ha-ia)/67108864,W++;na[W-1]=ha&R}k(J,na)||fa(na,J);A(G,na)}var R=67108863,z=y(1,1,1),H=[],N=H,P=H,X=H,Z=H,ea=H,pa=H,ta=H,na=H,ua=H,za=H,qa=H,xa=H,Y=H,Da=H,Ea=H,Aa=H,ya=H,Fa=function(){for(var G=0,L={};256>G;++G)L[G]=String.fromCharCode(G);return L}(),Ha=function(){if("undefined"!==typeof a&&"function"===typeof a.randomBytes)return function(G){try{var L=
  a.randomBytes(G)}catch(J){throw J;}return Array.prototype.slice.call(L,0)};if("undefined"!==typeof a&&"function"===typeof a.getRandomValues)return function(G){G=new Uint8Array(G);a.getRandomValues(G);return Array.prototype.slice.call(G,0)};console.log("Keys should not be generated without CSPRNG.")}();return{str2bigInt:w,bigInt2str:function(G,L){var J="";pa.length!=G.length?pa=D(G):A(pa,G);if(-1==L){for(L=G.length-1;0<L;L--)J+=G[L]+",";J+=G[0]}else for(;!F(pa);)G=ba(pa,L),J="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_=!@#$%^&*()[]{}|;:,.<>/?`~ \\'\"+-".substring(G,
  G+1)+J;0==J.length&&(J="0");return J},int2bigInt:y,multMod:e,powMod:function(G,L,J){G=b(G,J.length);K(G,C(L,2),C(J,2),0);return C(G,1)},inverseMod:g,randBigInt:function(G,L){var J=y(0,0,Math.floor((G-1)/26)+2);f(J,G,L);return J},randBigInt_:f,equals:x,equalsInt:m,sub:B,mod:h,modInt:d,mult:function(G,L){G=b(G,G.length+L.length);var J;N.length!=2*G.length&&(N=Array(2*G.length));M(N,0);for(J=0;J<L.length;J++)L[J]&&ka(N,G,L[J],J);A(G,N);return C(G,1)},divInt_:ba,rightShift_:O,dup:D,greater:k,add:t,isZero:F,
  bitSize:function(G){var L;for(L=G.length-1;0==G[L]&&0<L;L--);var J=0;for(G=G[L];G;G>>=1,J++);return J+26*L},millerRabin:function(G,L){var J;ua.length!=G.length&&(ua=D(G),za=D(G),qa=D(G));A(qa,L);A(za,G);A(ua,G);v(za,-1);v(ua,-1);if(F(za))return 0;for(J=0;0==za[J];J++);var S=1;for(L=2;0==za[J]%L;L*=2,S++);(S=26*J+S-1)&&O(za,S);K(qa,za,G);if(!m(qa,1)&&!x(qa,ua)){for(L=1;L<=S-1&&!x(qa,ua);){u(qa,G);if(m(qa,1))return 0;L++}if(!x(qa,ua))return 0}return 1},divide_:p,trim:C,primes:H,findPrimes:function(G){var L,
  J;var S=Array(G);for(L=0;L<G;L++)S[L]=0;S[0]=2;for(J=0;S[J]<G;){for(L=S[J]*S[J];L<G;L+=S[J])S[L]=1;J++;for(S[J]=S[J-1]+1;S[J]<G&&S[S[J]];S[J]++);}G=Array(J);for(L=0;L<J;L++)G[L]=S[L];return G},getSeed:function(){return Ha(40)},divMod:function(G,L,J){return e(G,g(L,J),J)},subMod:function(G,L,J){G=h(G,J);L=h(L,J);k(L,G)&&(G=t(G,J));return B(G,L)},twoToThe:function(G){for(var L=Math.floor(G/26)+2,J=Array(L),S=0;S<L;S++)J[S]=0;J[L-2]=1<<G%26;return J},bigInt2bits:function(G,L){L||(L=0);G=D(G);for(var J=
  "";!F(G);)J=Fa[G[0]&255]+J,O(G,8);for(;J.length<L;)J="\x00"+J;return J},ba2bigInt:function(G){var L=w("0",10,G.length);G.forEach(function(J,S){S&&aa(L,8);L[0]|=J});return L}}});
  (function(){function a(){}function b(t,g){for(var e=t.length;e--;)if(t[e].listener===g)return e;return-1}function h(t){return function(){return this[t].apply(this,arguments)}}var B=a.prototype;B.getListeners=function(t){var g=this._getEvents(),e;if("object"===typeof t){var f={};for(e in g)g.hasOwnProperty(e)&&t.test(e)&&(f[e]=g[e])}else f=g[t]||(g[t]=[]);return f};B.flattenListeners=function(t){var g=[],e;for(e=0;e<t.length;e+=1)g.push(t[e].listener);return g};B.getListenersAsObject=function(t){var g=
  this.getListeners(t);if(g instanceof Array){var e={};e[t]=g}return e||g};B.addListener=function(t,g){t=this.getListenersAsObject(t);var e="object"===typeof g,f;for(f in t)t.hasOwnProperty(f)&&-1===b(t[f],g)&&t[f].push(e?g:{listener:g,once:!1});return this};B.on=h("addListener");B.addOnceListener=function(t,g){return this.addListener(t,{listener:g,once:!0})};B.once=h("addOnceListener");B.defineEvent=function(t){this.getListeners(t);return this};B.defineEvents=function(t){for(var g=0;g<t.length;g+=
  1)this.defineEvent(t[g]);return this};B.removeListener=function(t,g){t=this.getListenersAsObject(t);var e;for(e in t)if(t.hasOwnProperty(e)){var f=b(t[e],g);-1!==f&&t[e].splice(f,1)}return this};B.off=h("removeListener");B.addListeners=function(t,g){return this.manipulateListeners(!1,t,g)};B.removeListeners=function(t,g){return this.manipulateListeners(!0,t,g)};B.manipulateListeners=function(t,g,e){var f,l,n=t?this.removeListener:this.addListener;t=t?this.removeListeners:this.addListeners;if("object"!==
  typeof g||g instanceof RegExp)for(f=e.length;f--;)n.call(this,g,e[f]);else for(f in g)g.hasOwnProperty(f)&&(l=g[f])&&("function"===typeof l?n.call(this,f,l):t.call(this,f,l));return this};B.removeEvent=function(t){var g=typeof t,e=this._getEvents(),f;if("string"===g)delete e[t];else if("object"===g)for(f in e)e.hasOwnProperty(f)&&t.test(f)&&delete e[f];else delete this._events;return this};B.emitEvent=function(t,g){var e=this.getListenersAsObject(t),f,l;for(l in e)if(e.hasOwnProperty(l))for(f=e[l].length;f--;){var n=
  e[l][f];!0===n.once&&this.removeListener(t,n.listener);var k=n.listener.apply(this,g||[]);k===this._getOnceReturnValue()&&this.removeListener(t,n.listener)}return this};B.trigger=h("emitEvent");B.emit=function(t){var g=Array.prototype.slice.call(arguments,1);return this.emitEvent(t,g)};B.setOnceReturnValue=function(t){this._onceReturnValue=t;return this};B._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0};B._getEvents=function(){return this._events||
  (this._events={})};"function"===typeof define&&define.amd?define("eventemitter",[],function(){return a}):"object"===typeof module&&module.exports?module.exports=a:this.EventEmitter=a}).call(this);
  (function(a,b){"function"===typeof define&&define.amd?define("otr",["jquery","jquery.browser","bigint","crypto","eventemitter"],function(h,B,t,g,e){if(!h.browser.msie)return b.call({BigInt:t,CryptoJS:g,EventEmitter:e,OTR:{},DSA:{}})}):(a.OTR={},a.DSA={},b.call(a))})(this,function(){(function(){var a={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:" \t  \t\t\t\t \t \t \t  ",WHITESPACE_TAG_V2:"  \t\t  \t ",WHITESPACE_TAG_V3:"  \t\t  \t\t",OTR_TAG:"?OTR",OTR_VERSION_1:"\x00\u0001",OTR_VERSION_2:"\x00\u0002",OTR_VERSION_3:"\x00\u0003",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=a:this.OTR.CONST=a}).call(this);(function(){var a={};if("undefined"!==typeof module&&module.exports){module.exports=a={};var b=require("../vendor/crypto.js");var h=require("../vendor/bigint.js")}else this.OTR&&(this.OTR.HLP=a),this.DSA&&(this.DSA.HLP=a),b=this.CryptoJS,h=this.BigInt;var B={BYTE:1,SHORT:2,INT:4,CTR:8,MAC:20,SIG:40},t=h.str2bigInt("2",10);a.debug=function(f){this.debug&&"function"!==typeof this.debug&&"undefined"!==
  typeof console&&console.log(f)};a.extend=function(f,l){function n(){this.constructor=f}for(var k in l)Object.hasOwnProperty.call(l,k)&&(f[k]=l[k]);n.prototype=l.prototype;f.prototype=new n;f.__super__=l.prototype};a.compare=function(f,l){if(f.length!==l.length)return!1;for(var n=0,k=0;n<f.length;n++)k|=f[n].charCodeAt(0)^l[n].charCodeAt(0);return 0===k};a.randomExponent=function(){return h.randBigInt(1536)};a.smpHash=function(f,l,n){var k=b.algo.SHA256.create();k.update(b.enc.Latin1.parse(a.packBytes(f,
  B.BYTE)));k.update(b.enc.Latin1.parse(a.packMPI(l)));n&&k.update(b.enc.Latin1.parse(a.packMPI(n)));f=k.finalize();return a.bits2bigInt(f.toString(b.enc.Latin1))};a.makeMac=function(f,l){l=b.enc.Latin1.parse(l);f=b.HmacSHA256(b.enc.Latin1.parse(f),l);return a.mask(f.toString(b.enc.Latin1),0,160)};a.make1Mac=function(f,l){l=b.enc.Latin1.parse(l);return b.HmacSHA1(b.enc.Latin1.parse(f),l).toString(b.enc.Latin1)};a.encryptAes=function(f,l,n){n={mode:b.mode.CTR,iv:b.enc.Latin1.parse(n),padding:b.pad.NoPadding};
  f=b.AES.encrypt(f,b.enc.Latin1.parse(l),n);f=b.enc.Base64.parse(f.toString());return b.enc.Latin1.stringify(f)};a.decryptAes=function(f,l,n){f=b.enc.Latin1.parse(f);n={mode:b.mode.CTR,iv:b.enc.Latin1.parse(n),padding:b.pad.NoPadding};return b.AES.decrypt(b.enc.Base64.stringify(f),b.enc.Latin1.parse(l),n)};a.multPowMod=function(f,l,n,k,p){return h.multMod(h.powMod(f,l,p),h.powMod(n,k,p),p)};a.ZKP=function(f,l,n,k){return h.equals(l,a.smpHash(f,n,k))};a.GTOE=function(f,l){return h.equals(f,l)||h.greater(f,
  l)};a.between=function(f,l,n){return h.greater(f,l)&&h.greater(n,f)};a.checkGroup=function(f,l){return a.GTOE(f,t)&&a.GTOE(l,f)};a.h1=function(f,l){var n=b.algo.SHA1.create();n.update(b.enc.Latin1.parse(f));n.update(b.enc.Latin1.parse(l));return n.finalize().toString(b.enc.Latin1)};a.h2=function(f,l){var n=b.algo.SHA256.create();n.update(b.enc.Latin1.parse(f));n.update(b.enc.Latin1.parse(l));return n.finalize().toString(b.enc.Latin1)};a.mask=function(f,l,n){return f.substr(l/8,n/8)};var g=String.fromCharCode;
  a.packBytes=function(f,l){f=f.toString(16);for(var n,k="";0<l;l--)n=f.length?f.substr(-2,2):"0",f=f.substr(0,f.length-2),k=g(parseInt(n,16))+k;return k};a.packINT=function(f){return a.packBytes(f,B.INT)};a.packCtr=function(f){return a.padCtr(a.packBytes(f,B.CTR))};a.padCtr=function(f){return f+"\x00\x00\x00\x00\x00\x00\x00\x00"};a.unpackCtr=function(f){f=a.toByteArray(f.substring(0,8));return a.unpack(f)};a.unpack=function(f){for(var l=0,n=0,k=f.length;n<k;n++)l=256*l+f[n];return l};a.packData=function(f){return a.packINT(f.length)+
  f};a.bits2bigInt=function(f){f=a.toByteArray(f);return h.ba2bigInt(f)};a.packMPI=function(f){return a.packData(h.bigInt2bits(h.trim(f,0)))};a.packSHORT=function(f){return a.packBytes(f,B.SHORT)};a.unpackSHORT=function(f){f=a.toByteArray(f);return a.unpack(f)};a.packTLV=function(f,l){return a.packSHORT(f)+a.packSHORT(l.length)+l};a.readLen=function(f){f=a.toByteArray(f.substring(0,4));return a.unpack(f)};a.readData=function(f){return[a.unpack(f.splice(0,4)),f]};a.readMPI=function(f){f=a.toByteArray(f);
  f=a.readData(f);return h.ba2bigInt(f[1])};a.packMPIs=function(f){return f.reduce(function(l,n){return l+a.packMPI(n)},"")};a.unpackMPIs=function(f,l){for(var n=0,k=[];n<f;n++)k.push("MPI");return a.splitype(k,l).map(function(p){return a.readMPI(p)})};a.wrapMsg=function(f,l,n,k,p){f=b.enc.Base64.stringify(b.enc.Latin1.parse(f));f="?OTR:"+f+".";if(n){var d="|"+a.readLen(k).toString(16);d=d+"|"+a.readLen(p).toString(16)}if(!l)return[null,f];k=Math.ceil(f.length/l);if(65535<k)return["Too many fragments"];
  if(1==k)return[null,f];var y=[];for(p=1;p<=k;p++){var w=(p-1)*l;var m=p*l;w=f.slice(w,m);m="?OTR";n&&(m+=d);m+=","+p+",";m+=k+",";m+=w+",";y.push(m)}return[null,y]};a.splitype=function k(l,n){var p=[];l.forEach(function(d){switch(d){case "PUBKEY":d=k(["SHORT","MPI","MPI","MPI","MPI"],n).join("");break;case "DATA":case "MPI":d=n.substring(0,a.readLen(n)+4);break;default:d=n.substring(0,B[d])}p.push(d);n=n.substring(d.length)});return p};var e=function(){for(var l=0,n={};256>l;++l)n[String.fromCharCode(l)]=
  l;for(l=128;256>l;++l)n[String.fromCharCode(63232+l)]=l;return n}();a.toByteArray=function(l){var n=[];l=l.split("");for(var k=-1,p=l.length,d=p%8;d--;)++k,n[k]=e[l[k]];for(d=p>>3;d--;)n.push(e[l[++k]],e[l[++k]],e[l[++k]],e[l[++k]],e[l[++k]],e[l[++k]],e[l[++k]],e[l[++k]]);return n}}).call(this);(function(){function a(){var v=(new Date).getTime();return function(O){if(F&&"undefined"!==typeof console){var V=(new Date).getTime();console.log(O+": "+(V-v));v=V}}}function b(v,O){var V=n.randBigInt(n.bitSize(O));
  return p.between(V,v,O)?V:b(v,O)}function h(v,O){var V,aa=n.bitSize(v),ba=n.primes;0===ba.length&&(ba=n.findPrimes(3E4));D.length!=v.length&&(D=n.dup(v));for(V=0;V<ba.length&&3E4>=ba[V];V++)if(0===n.modInt(v,ba[V])&&!n.equalsInt(v,ba[V]))return 0;for(V=0;V<O;V++){for(n.randBigInt_(D,aa,0);!n.greater(v,D);)n.randBigInt_(D,aa,0);if(!n.millerRabin(v,D))return 0}return 1}function B(v){for(var O=a(),V=A[v].repeat,aa=A[v].N,ba=n.twoToThe(v-1),ka=4*v,fa=!1,c,q,E,u;;)if(c=n.randBigInt(aa,1),c[0]|=1,h(c,V)){O("q");
  for(u=0;u<ka;u++)if(q=n.randBigInt(v,1),q[0]|=1,E=n.mod(q,c),E=n.sub(E,w),q=n.sub(q,E),!n.greater(ba,q)&&h(q,V)){O("p");M[v]={p:q,q:c};fa=!0;break}if(fa)break}V=n.dup(m);aa=n.sub(q,w);for(c=n.multMod(aa,n.inverseMod(c,q),q);;)if(aa=n.powMod(V,c,q),n.equals(aa,w))V=n.add(V,w);else{M[v].g=aa;O("g");return}throw Error("Unreachable!");}function t(v,O){if(!(this instanceof t))return new t(v,O);O=O||{};if(v){var V=this;["p","q","g","y","x"].forEach(function(ba){V[ba]=v[ba]});this.type=v.type||x}else{var aa=
  parseInt(O.bit_length?O.bit_length:1024,10);if(!A[aa])throw Error("Unsupported bit length.");M[aa]||B(aa);this.p=M[aa].p;this.q=M[aa].q;this.g=M[aa].g;this.type=x;this.x=b(y,this.q);this.y=n.powMod(this.g,this.x,this.p);O.nocache&&(M[aa]=null)}}function g(v){var O=v.indexOf("(");var V=v.lastIndexOf(")");if(0>O||0>V)throw Error("Malformed S-Expression");v=v.substring(O+1,V);O=v.search(/\s/);var aa={type:v.substring(0,O),val:[]};v=v.substring(O+1,V);O=v.indexOf("(");if(0>O)aa.val.push(v);else for(var ba,
  ka,fa;-1<O;){V=O+1;ba=v.length;ka=1;for(fa=0;V<ba&&fa<ka;V++)"("===v[V]&&ka++,")"===v[V]&&fa++;aa.val.push(g(v.substring(O,++V)));v=v.substring(++V);O=v.indexOf("(")}return aa}function e(v){if(!v.type)throw Error("Parse error.");var O;if("privkeys"===v.type){var V=[];v.val.forEach(function(aa){V.push(e(aa))});return V}V={};v.val.forEach(function(aa){O=aa.val[0];"string"===typeof O?0===O.indexOf("#")&&(O=O.substring(1,O.lastIndexOf("#")),O=n.str2bigInt(O,16)):O=e(aa);V[aa.type]=O});return V}var f=
  this;if("undefined"!==typeof module&&module.exports){module.exports=t;var l=require("../vendor/crypto.js");var n=require("../vendor/bigint.js");var k=require("path").join(__dirname,"/dsa-webworker.js");var p=require("./helpers.js")}else{Object.keys(f.DSA).forEach(function(v){t[v]=f.DSA[v]});f.DSA=t;l=f.CryptoJS;n=f.BigInt;var d=f.Worker;k="dsa-webworker.js";p=t.HLP}var y=n.str2bigInt("0",10),w=n.str2bigInt("1",10),m=n.str2bigInt("2",10),x="\x00\x00",F=!1,D=[],A={1024:{N:160,repeat:40},2048:{N:224,
  repeat:56}},M={};t.prototype={constructor:t,packPublic:function(){var v=this.type;v+=p.packMPI(this.p);v+=p.packMPI(this.q);v+=p.packMPI(this.g);return v+=p.packMPI(this.y)},packPrivate:function(){var v=this.packPublic()+p.packMPI(this.x);v=l.enc.Latin1.parse(v);return v.toString(l.enc.Base64)},generateNonce:function(v){var O=n.bigInt2bits(n.trim(this.x,0)),V=n.bigInt2bits(n.randBigInt(256)),aa=l.algo.SHA256.create();aa.update(l.enc.Latin1.parse(O));aa.update(v);aa.update(l.enc.Latin1.parse(V));O=
  aa.finalize();O=p.bits2bigInt(O.toString(l.enc.Latin1));n.rightShift_(O,256-n.bitSize(this.q));return p.between(O,y,this.q)?O:this.generateNonce(v)},sign:function(v){v=l.enc.Latin1.parse(v);for(var O=n.str2bigInt(v.toString(l.enc.Hex),16),V,aa=y,ba=y;n.isZero(ba)||n.isZero(aa);)V=this.generateNonce(v),aa=n.mod(n.powMod(this.g,V,this.p),this.q),n.isZero(aa)||(ba=n.inverseMod(V,this.q),ba=n.mult(ba,n.add(O,n.mult(this.x,aa))),ba=n.mod(ba,this.q));return[aa,ba]},fingerprint:function(){var v=this.packPublic();
  this.type===x&&(v=v.substring(2));v=l.enc.Latin1.parse(v);return l.SHA1(v).toString(l.enc.Hex)}};t.parsePublic=function(v,O){var V=["SHORT","MPI","MPI","MPI","MPI"];O&&V.push("MPI");v=p.splitype(V,v);V={type:v[0],p:p.readMPI(v[1]),q:p.readMPI(v[2]),g:p.readMPI(v[3]),y:p.readMPI(v[4])};O&&(V.x=p.readMPI(v[5]));return new t(V)};t.parsePrivate=function(v,O){return O?e(g(v))[0]["private-key"].dsa:(v=l.enc.Base64.parse(v),v=v.toString(l.enc.Latin1),t.parsePublic(v,!0))};t.verify=function(v,O,V,aa){if(!p.between(V,
  y,v.q)||!p.between(aa,y,v.q))return!1;O=l.enc.Latin1.parse(O);O=n.str2bigInt(O.toString(l.enc.Hex),16);aa=n.inverseMod(aa,v.q);O=n.multMod(O,aa,v.q);aa=n.multMod(V,aa,v.q);O=n.powMod(v.g,O,v.p);aa=n.powMod(v.y,aa,v.p);v=n.mod(n.multMod(O,aa,v.p),v.q);return n.equals(v,V)};t.createInWebWorker=function(v,O){var V={path:k,seed:n.getSeed};v&&"object"===typeof v&&Object.keys(v).forEach(function(ba){V[ba]=v[ba]});"undefined"!==typeof module&&module.exports&&(d=require("webworker-threads").Worker);var aa=
  new d(V.path);aa.onmessage=function(ba){ba=ba.data;switch(ba.type){case "debug":if(!F||"undefined"===typeof console)break;console.log(ba.val);break;case "data":aa.terminate();O(t.parsePrivate(ba.val));break;default:throw Error("Unrecognized type.");}};aa.postMessage({seed:V.seed(),imports:V.imports,debug:F})}}).call(this);(function(){var a={};if("undefined"!==typeof module&&module.exports){module.exports=a;var b=require("../vendor/crypto.js");var h=require("./const.js");var B=require("./helpers.js")}else this.OTR.Parse=
  a,b=this.CryptoJS,h=this.OTR.CONST,B=this.OTR.HLP;var t={};t[h.WHITESPACE_TAG_V2]=h.OTR_VERSION_2;t[h.WHITESPACE_TAG_V3]=h.OTR_VERSION_3;a.parseMsg=function(g,e){var f=[],l=e.indexOf(h.OTR_TAG);if(!~l){this.initFragment(g);l=e.indexOf(h.WHITESPACE_TAG);if(~l){e=e.split("");e.splice(l,16);for(var n,k=e.length;l<k;)n=e.slice(l,l+8).join(""),Object.hasOwnProperty.call(t,n)?(e.splice(l,8),f.push(t[n])):l+=8;e=e.join("")}return{msg:e,ver:f}}l+=h.OTR_TAG.length;var p=e[l];if(","===p||"|"===p)return this.msgFragment(g,
  e.substring(l+1),"|"===p);this.initFragment(g);if(~["?","v"].indexOf(p)){"?"===e[l]&&(f.push(h.OTR_VERSION_1),l+=1);var d={2:h.OTR_VERSION_2,3:h.OTR_VERSION_3};n=e.substring(l+1);k=n.indexOf("?");1<=k&&(n=n.substring(0,k).split(""),"v"===e[l]&&n.forEach(function(w){Object.hasOwnProperty.call(d,w)&&f.push(d[w])}));return{cls:"query",ver:f}}if(":"===p){l+=1;var y=e.substring(l,l+4);if(4>y.length)return{msg:e};y=b.enc.Base64.parse(y).toString(b.enc.Latin1);p=y.substring(0,2);y=y.substring(2);if(!g["ALLOW_V"+
  B.unpackSHORT(p)])return{msg:e};l+=4;g=e.substring(l).indexOf(".");if(!~g)return{msg:e};e=b.enc.Base64.parse(e.substring(l,l+g));e=b.enc.Latin1.stringify(e);p===h.OTR_VERSION_3&&(n=e.substring(0,8),e=e.substring(8));~["\u0002","\n","\u0011","\u0012"].indexOf(y)?k="ake":"\u0003"===y&&(k="data");return{version:p,type:y,msg:e,cls:k,instance_tags:n}}return" Error:"===e.substring(l,l+7)?(g.ERROR_START_AKE&&g.sendQueryMsg(),{msg:e.substring(l+7),cls:"error"}):{msg:e}};a.initFragment=function(g){g.fragment=
  {s:"",j:0,k:0}};a.msgFragment=function(g,e,f){e=e.split(",");if(f){var l=e.shift().split("|");f=B.packINT(parseInt(l[0],16));l=B.packINT(parseInt(l[1],16));if(g.checkInstanceTags(f+l))return}if(!(4>e.length||isNaN(parseInt(e[0],10))||isNaN(parseInt(e[1],10))))if(f=parseInt(e[0],10),l=parseInt(e[1],10),e=e[2],l<f||0===l||0===f)this.initFragment(g);else if(1===f?(this.initFragment(g),g.fragment={k:1,n:l,s:e}):l===g.fragment.n&&f===g.fragment.k+1?(g.fragment.s+=e,g.fragment.k+=1):this.initFragment(g),
  l===f)return e=g.fragment.s,this.initFragment(g),this.parseMsg(g,e)}}).call(this);(function(){function a(n,k,p,d,y){y=h.enc.Latin1.parse(y);y=h.algo.HMAC.create(h.algo.SHA256,y);y.update(h.enc.Latin1.parse(g.packMPI(n)));y.update(h.enc.Latin1.parse(g.packMPI(k)));y.update(h.enc.Latin1.parse(p));y.update(h.enc.Latin1.parse(d));return y.finalize().toString(h.enc.Latin1)}function b(n){if(!(this instanceof b))return new b(n);this.otr=n;this.our_dh=n.our_old_dh;this.our_keyid=n.our_keyid-1;this.ssid=this.their_priv_pk=
  this.their_keyid=this.their_y=null;this.transmittedRS=!1;this.r=null;var k=this;["sendMsg"].forEach(function(p){k[p]=k[p].bind(k)})}if("undefined"!==typeof module&&module.exports){module.exports=b;var h=require("../vendor/crypto.js");var B=require("../vendor/bigint.js");var t=require("./const.js");var g=require("./helpers.js");var e=require("./dsa.js")}else this.OTR.AKE=b,h=this.CryptoJS,B=this.BigInt,t=this.OTR.CONST,g=this.OTR.HLP,e=this.DSA;var f=B.str2bigInt(t.N,16),l=B.sub(f,B.str2bigInt("2",
  10));b.prototype={constructor:b,createKeys:function(n){n=B.powMod(n,this.our_dh.privateKey,f);n=g.packMPI(n);this.ssid=g.mask(g.h2("\x00",n),0,64);var k=g.h2("\u0001",n);this.c=g.mask(k,0,128);this.c_prime=g.mask(k,128,128);this.m1=g.h2("\u0002",n);this.m2=g.h2("\u0003",n);this.m1_prime=g.h2("\u0004",n);this.m2_prime=g.h2("\u0005",n)},verifySignMac:function(n,k,p,d,y,w,m,x){p=g.makeMac(k,p);if(!g.compare(n,p))return["MACs do not match."];n=g.decryptAes(k.substring(4),d,x);n=g.splitype(["PUBKEY","INT",
  "SIG"],n.toString(h.enc.Latin1));y=a(y,w,n[0],n[1],m);w=e.parsePublic(n[0]);m=g.bits2bigInt(n[2].substring(0,20));k=g.bits2bigInt(n[2].substring(20));return e.verify(w,y,m,k)?[null,g.readLen(n[1]),w]:["Cannot verify signature of m."]},makeM:function(n,k,p,d){var y=this.otr.priv.packPublic(),w=g.packINT(this.our_keyid);n=a(this.our_dh.publicKey,n,y,w,k);n=this.otr.priv.sign(n);y=y+w+B.bigInt2bits(n[0],20);y+=B.bigInt2bits(n[1],20);y=h.enc.Latin1.parse(y);p=g.packData(g.encryptAes(y,p,g.packCtr(0)));
  d=g.makeMac(p,d);return p+d},akeSuccess:function(n){g.debug.call(this.otr,"success");if(B.equals(this.their_y,this.our_dh.publicKey))return this.otr.error("equal keys - we have a problem.",!0);this.otr.our_old_dh=this.our_dh;this.otr.their_priv_pk=this.their_priv_pk;this.their_keyid===this.otr.their_keyid&&B.equals(this.their_y,this.otr.their_y)||this.their_keyid===this.otr.their_keyid-1&&B.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=n;this.otr.authstate=t.AUTHSTATE_NONE;this.otr.msgstate=t.MSGSTATE_ENCRYPTED;this.hashed=this.encrypted=this.dhcommit=this.myhashed=this.r=null;this.otr.trigger("status",[t.STATUS_AKE_SUCCESS]);this.otr.sendStored()},handleAKE:function(n){var k=
  n.version;switch(n.type){case "\u0002":g.debug.call(this.otr,"d-h key message");n=g.splitype(["DATA","DATA"],n.msg);if(this.otr.authstate===t.AUTHSTATE_AWAITING_DHKEY){var p=g.readMPI(this.myhashed);var d=g.readMPI(n[1]);if(B.greater(p,d)){p="\u0002";n=this.dhcommit;break}else this.our_dh=this.otr.dh(),this.otr.authstate=t.AUTHSTATE_NONE,this.myhashed=this.r=null}else this.otr.authstate===t.AUTHSTATE_AWAITING_SIG&&(this.our_dh=this.otr.dh());this.otr.authstate=t.AUTHSTATE_AWAITING_REVEALSIG;this.encrypted=
  n[0].substring(4);this.hashed=n[1].substring(4);p="\n";n=g.packMPI(this.our_dh.publicKey);break;case "\n":g.debug.call(this.otr,"reveal signature message");n=g.splitype(["MPI"],n.msg);if(this.otr.authstate!==t.AUTHSTATE_AWAITING_DHKEY)if(this.otr.authstate===t.AUTHSTATE_AWAITING_SIG){if(!B.equals(this.their_y,g.readMPI(n[0])))return}else return;this.otr.authstate=t.AUTHSTATE_AWAITING_SIG;this.their_y=g.readMPI(n[0]);if(!g.checkGroup(this.their_y,l))return this.otr.error("Illegal g^y.",!0);this.createKeys(this.their_y);
  p="\u0011";n=g.packMPI(this.r);n+=this.makeM(this.their_y,this.m1,this.c,this.m2);this.c=this.m2=this.m1=null;break;case "\u0011":g.debug.call(this.otr,"signature message");if(this.otr.authstate!==t.AUTHSTATE_AWAITING_REVEALSIG)return;n=g.splitype(["DATA","DATA","MAC"],n.msg);this.r=g.readMPI(n[0]);p=h.enc.Hex.parse(B.bigInt2str(this.r,16));p=h.enc.Latin1.stringify(p);p=g.decryptAes(this.encrypted,p,g.packCtr(0));p=p.toString(h.enc.Latin1);this.their_y=g.readMPI(p);p=h.SHA256(h.enc.Latin1.parse(p));
  if(!g.compare(this.hashed,p.toString(h.enc.Latin1)))return this.otr.error("Hashed g^x does not match.",!0);if(!g.checkGroup(this.their_y,l))return this.otr.error("Illegal g^x.",!0);this.createKeys(this.their_y);n=this.verifySignMac(n[2],n[1],this.m2,this.c,this.their_y,this.our_dh.publicKey,this.m1,g.packCtr(0));if(n[0])return this.otr.error(n[0],!0);this.their_keyid=n[1];this.their_priv_pk=n[2];n=this.makeM(this.their_y,this.m1_prime,this.c_prime,this.m2_prime);this.c_prime=this.c=this.m2_prime=
  this.m1_prime=this.m2=this.m1=null;this.sendMsg(k,"\u0012",n);this.akeSuccess(k);return;case "\u0012":g.debug.call(this.otr,"data message");if(this.otr.authstate!==t.AUTHSTATE_AWAITING_SIG)return;n=g.splitype(["DATA","MAC"],n.msg);n=this.verifySignMac(n[1],n[0],this.m2_prime,this.c_prime,this.their_y,this.our_dh.publicKey,this.m1_prime,g.packCtr(0));if(n[0])return this.otr.error(n[0],!0);this.their_keyid=n[1];this.their_priv_pk=n[2];this.c_prime=this.m2_prime=this.m1_prime=null;this.transmittedRS=
  !0;this.akeSuccess(k);return;default:return}this.sendMsg(k,p,n)},sendMsg:function(n,k,p){k=n+k;if(n=n===t.OTR_VERSION_3)g.debug.call(this.otr,"instance tags"),k+=this.otr.our_instance_tag,k+=this.otr.their_instance_tag;k=g.wrapMsg(k+p,this.otr.fragment_size,n,this.otr.our_instance_tag,this.otr.their_instance_tag);if(k[0])return this.otr.error(k[0]);this.otr.io(k[1])},initiateAKE:function(n){g.debug.call(this.otr,"d-h commit message");this.otr.trigger("status",[t.STATUS_AKE_INIT]);this.otr.authstate=
  t.AUTHSTATE_AWAITING_DHKEY;var k=g.packMPI(this.our_dh.publicKey);k=h.enc.Latin1.parse(k);this.r=B.randBigInt(128);var p=h.enc.Hex.parse(B.bigInt2str(this.r,16));p=h.enc.Latin1.stringify(p);this.myhashed=h.SHA256(k);this.myhashed=g.packData(this.myhashed.toString(h.enc.Latin1));this.dhcommit=g.packData(g.encryptAes(k,p,g.packCtr(0)));this.dhcommit+=this.myhashed;this.sendMsg(n,"\u0002",this.dhcommit)}}}).call(this);(function(){function a(k){if(!(this instanceof a))return new a(k);this.version=1;this.our_fp=
  k.our_fp;this.their_fp=k.their_fp;this.ssid=k.ssid;this.debug=!!k.debug;this.init()}if("undefined"!==typeof module&&module.exports){module.exports=a;var b=require("../vendor/crypto.js");var h=require("../vendor/bigint.js");var B=require("../vendor/eventemitter.js");var t=require("./const.js");var g=require("./helpers.js")}else this.OTR.SM=a,b=this.CryptoJS,h=this.BigInt,B=this.EventEmitter,t=this.OTR.CONST,g=this.OTR.HLP;var e=h.str2bigInt(t.G,10),f=h.str2bigInt(t.N,16),l=h.sub(f,h.str2bigInt("2",
  10)),n=h.sub(f,h.str2bigInt("1",10));h.divInt_(n,2);g.extend(a,B);a.prototype.init=function(){this.smpstate=t.SMPSTATE_EXPECT1;this.secret=null};a.prototype.makeSecret=function(k,p){var d=b.algo.SHA256.create();d.update(b.enc.Latin1.parse(g.packBytes(this.version,1)));d.update(b.enc.Hex.parse(k?this.our_fp:this.their_fp));d.update(b.enc.Hex.parse(k?this.their_fp:this.our_fp));d.update(b.enc.Latin1.parse(this.ssid));d.update(b.enc.Latin1.parse(p));k=d.finalize();this.secret=g.bits2bigInt(k.toString(b.enc.Latin1))};
  a.prototype.makeG2s=function(){this.a2=g.randomExponent();this.a3=g.randomExponent();this.g2a=h.powMod(e,this.a2,f);this.g3a=h.powMod(e,this.a3,f);g.checkGroup(this.g2a,l)&&g.checkGroup(this.g3a,l)||this.makeG2s()};a.prototype.computeGs=function(k,p){this.g2=h.powMod(k,this.a2,f);this.g3=h.powMod(p,this.a3,f)};a.prototype.computePQ=function(k){this.p=h.powMod(this.g3,k,f);this.q=g.multPowMod(e,k,this.g2,this.secret,f)};a.prototype.computeR=function(){this.r=h.powMod(this.QoQ,this.a3,f)};a.prototype.computeRab=
  function(k){return h.powMod(k,this.a3,f)};a.prototype.computeC=function(k,p){return g.smpHash(k,h.powMod(e,p,f))};a.prototype.computeD=function(k,p,d){return h.subMod(k,h.multMod(p,d,n),n)};a.prototype.handleSM=function(k){var p={2:t.SMPSTATE_EXPECT1,3:t.SMPSTATE_EXPECT2,4:t.SMPSTATE_EXPECT3,5:t.SMPSTATE_EXPECT4,7:t.SMPSTATE_EXPECT1};if(6===k.type)this.init(),this.trigger("abort");else{if(this.smpstate!==p[k.type])return this.abort();switch(this.smpstate){case t.SMPSTATE_EXPECT1:g.debug.call(this,
  "smp tlv 2");if(7===k.type){var d=k.msg.indexOf("\x00");var y=k.msg.substring(0,d);k.msg=k.msg.substring(d+1)}d=g.readLen(k.msg.substr(0,4));if(6!==d)return this.abort();k=g.unpackMPIs(6,k.msg.substring(4));if(!(g.checkGroup(k[0],l)&&g.checkGroup(k[3],l)&&g.ZKP(1,k[1],g.multPowMod(e,k[2],k[0],k[1],f))&&g.ZKP(2,k[4],g.multPowMod(e,k[5],k[3],k[4],f))))return this.abort();this.g3ao=k[3];this.makeG2s();d=g.randomExponent();p=g.randomExponent();this.c2=this.computeC(3,d);this.c3=this.computeC(4,p);this.d2=
  this.computeD(d,this.a2,this.c2);this.d3=this.computeD(p,this.a3,this.c3);this.computeGs(k[0],k[3]);this.smpstate=t.SMPSTATE_EXPECT0;y=b.enc.Latin1.parse(y).toString(b.enc.Utf8);this.trigger("question",[y]);return;case t.SMPSTATE_EXPECT2:g.debug.call(this,"smp tlv 3");d=g.readLen(k.msg.substr(0,4));if(11!==d)return this.abort();k=g.unpackMPIs(11,k.msg.substring(4));if(!(g.checkGroup(k[0],l)&&g.checkGroup(k[3],l)&&g.checkGroup(k[6],l)&&g.checkGroup(k[7],l)&&g.ZKP(3,k[1],g.multPowMod(e,k[2],k[0],k[1],
  f))&&g.ZKP(4,k[4],g.multPowMod(e,k[5],k[3],k[4],f))))return this.abort();this.g3ao=k[3];this.computeGs(k[0],k[3]);y=g.multPowMod(this.g3,k[9],k[6],k[8],f);d=g.multPowMod(e,k[9],this.g2,k[10],f);d=h.multMod(d,h.powMod(k[7],k[8],f),f);if(!g.ZKP(5,k[8],y,d))return this.abort();d=g.randomExponent();this.computePQ(d);var w=g.randomExponent();p=g.randomExponent();y=g.multPowMod(e,w,this.g2,p,f);y=g.smpHash(6,h.powMod(this.g3,w,f),y);d=this.computeD(w,d,y);p=this.computeD(p,this.secret,y);this.QoQ=h.divMod(this.q,
  k[7],f);this.PoP=h.divMod(this.p,k[6],f);this.computeR();w=g.randomExponent();var m=h.powMod(this.QoQ,w,f);m=g.smpHash(7,h.powMod(e,w,f),m);w=this.computeD(w,this.a3,m);this.smpstate=t.SMPSTATE_EXPECT4;d=g.packINT(8)+g.packMPIs([this.p,this.q,y,d,p,this.r,m,w]);d=g.packTLV(4,d);break;case t.SMPSTATE_EXPECT3:g.debug.call(this,"smp tlv 4");d=g.readLen(k.msg.substr(0,4));if(8!==d)return this.abort();k=g.unpackMPIs(8,k.msg.substring(4));if(!g.checkGroup(k[0],l)||!g.checkGroup(k[1],l)||!g.checkGroup(k[5],
  l))return this.abort();y=g.multPowMod(this.g3,k[3],k[0],k[2],f);d=g.multPowMod(e,k[3],this.g2,k[4],f);d=h.multMod(d,h.powMod(k[1],k[2],f),f);if(!g.ZKP(6,k[2],y,d))return this.abort();y=g.multPowMod(e,k[7],this.g3ao,k[6],f);this.QoQ=h.divMod(k[1],this.q,f);d=g.multPowMod(this.QoQ,k[7],k[5],k[6],f);if(!g.ZKP(7,k[6],y,d))return this.abort();this.computeR();w=g.randomExponent();m=h.powMod(this.QoQ,w,f);m=g.smpHash(8,h.powMod(e,w,f),m);w=this.computeD(w,this.a3,m);d=g.packINT(3)+g.packMPIs([this.r,m,w]);
  d=g.packTLV(5,d);y=this.computeRab(k[5]);k=!!h.equals(y,h.divMod(k[0],this.p,f));this.trigger("trust",[k,"answered"]);this.init();break;case t.SMPSTATE_EXPECT4:g.debug.call(this,"smp tlv 5");d=g.readLen(k.msg.substr(0,4));if(3!==d)return this.abort();k=g.unpackMPIs(3,k.msg.substring(4));if(!g.checkGroup(k[0],l))return this.abort();y=g.multPowMod(e,k[2],this.g3ao,k[1],f);d=g.multPowMod(this.QoQ,k[2],k[0],k[1],f);if(!g.ZKP(8,k[1],y,d))return this.abort();y=this.computeRab(k[0]);k=!!h.equals(y,this.PoP);
  this.trigger("trust",[k,"asked"]);this.init();return}this.sendMsg(d)}};a.prototype.sendMsg=function(k){this.trigger("send",[this.ssid,"\x00"+k])};a.prototype.rcvSecret=function(k,p){g.debug.call(this,"receive secret");var d=!1;if(this.smpstate===t.SMPSTATE_EXPECT0)var y=this.answer;else y=this.initiate,d=!0;this.makeSecret(d,k);y.call(this,p)};a.prototype.answer=function(){g.debug.call(this,"smp answer");var k=g.randomExponent();this.computePQ(k);var p=g.randomExponent(),d=g.randomExponent(),y=g.multPowMod(e,
  p,this.g2,d,f);y=g.smpHash(5,h.powMod(this.g3,p,f),y);k=this.computeD(p,k,y);d=this.computeD(d,this.secret,y);this.smpstate=t.SMPSTATE_EXPECT3;d=g.packINT(11)+g.packMPIs([this.g2a,this.c2,this.d2,this.g3a,this.c3,this.d3,this.p,this.q,y,k,d]);this.sendMsg(g.packTLV(3,d))};a.prototype.initiate=function(k){g.debug.call(this,"smp initiate");this.smpstate!==t.SMPSTATE_EXPECT1&&this.abort();this.makeG2s();var p=g.randomExponent(),d=g.randomExponent();this.c2=this.computeC(1,p);this.c3=this.computeC(2,
  d);this.d2=this.computeD(p,this.a2,this.c2);this.d3=this.computeD(d,this.a3,this.c3);this.smpstate=t.SMPSTATE_EXPECT2;p="";d=2;k&&(p=p+k+"\x00",d=7);p+=g.packINT(6)+g.packMPIs([this.g2a,this.c2,this.d2,this.g3a,this.c3,this.d3]);this.sendMsg(g.packTLV(d,p))};a.prototype.abort=function(){this.init();this.sendMsg(g.packTLV(6,""));this.trigger("abort")}}).call(this);(function(){function a(F){if(!(this instanceof a))return new a(F);F=F||{};if(F.priv&&!(F.priv instanceof p))throw Error("Requires long-lived DSA key.");
  this.priv=F.priv?F.priv:new p;this.fragment_size=F.fragment_size||0;if(0>this.fragment_size)throw Error("Fragment size must be a positive integer.");this.send_interval=F.send_interval||0;if(0>this.send_interval)throw Error("Send interval must be a positive integer.");this.outgoing=[];this.our_instance_tag=F.instance_tag||a.makeInstanceTag();this.debug=!!F.debug;this.smw=F.smw;this.init();var D=this;["sendMsg","receiveMsg"].forEach(function(A){D[A]=D[A].bind(D)});t.call(this)}var b=this;if("undefined"!==
  typeof module&&module.exports){module.exports=a;var h=require("../vendor/crypto.js");var B=require("../vendor/bigint.js");var t=require("../vendor/eventemitter.js");var g=require("path").join(__dirname,"/sm-webworker.js");var e=require("./const.js");var f=require("./helpers.js");var l=require("./parse.js");var n=require("./ake.js");var k=require("./sm.js");var p=require("./dsa.js");a.CONST=e}else{Object.keys(b.OTR).forEach(function(F){a[F]=b.OTR[F]});b.OTR=a;h=b.CryptoJS;B=b.BigInt;t=b.EventEmitter;
  var d=b.Worker;g="sm-webworker.js";e=a.CONST;f=a.HLP;l=a.Parse;n=a.AKE;k=a.SM;p=b.DSA}var y=B.str2bigInt(e.G,10),w=B.str2bigInt(e.N,16),m=Math.pow(2,53)-1,x=Math.pow(2,31)-1;f.extend(a,t);a.prototype.init=function(){this.msgstate=e.MSGSTATE_PLAINTEXT;this.authstate=e.AUTHSTATE_NONE;this.ALLOW_V3=this.ALLOW_V2=!0;this.ERROR_START_AKE=this.WHITESPACE_START_AKE=this.SEND_WHITESPACE_TAG=this.REQUIRE_ENCRYPTION=!1;l.initFragment(this);this.their_old_y=this.their_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=[Array(2),Array(2)];this.storedMgs=[];this.oldMacKeys=[];this.sm=null;this._akeInit();this.receivedPlaintext=!1};a.prototype._akeInit=function(){this.ake=new n(this);this.transmittedRS=!1;this.ssid=null};a.prototype._SMW=function(F,D){this.otr=F;var A={path:g,seed:B.getSeed};"object"===typeof F.smw&&Object.keys(F.smw).forEach(function(v){A[v]=F.smw[v]});"undefined"!==typeof module&&
  module.exports&&(d=require("webworker-threads").Worker);this.worker=new d(A.path);var M=this;this.worker.onmessage=function(v){(v=v.data)&&M.trigger(v.method,v.args)};this.worker.postMessage({type:"seed",seed:A.seed(),imports:A.imports});this.worker.postMessage({type:"init",reqs:D})};f.extend(a.prototype._SMW,t);["handleSM","rcvSecret","abort"].forEach(function(F){a.prototype._SMW.prototype[F]=function(){this.worker.postMessage({type:"method",method:F,args:Array.prototype.slice.call(arguments,0)})}});
  a.prototype._smInit=function(){var F={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,F)):this.sm=new k(F);var D=this;["trust","abort","question"].forEach(function(A){D.sm.on(A,function(){D.trigger("smp",[A].concat(Array.prototype.slice.call(arguments)))})});this.sm.on("send",function(A,M){D.ssid===A&&(M=D.prepareMsg(M),D.io(M))})};a.prototype.io=function(F,D){F=[].concat(F).map(function(M){return{msg:M,
  meta:D}});this.outgoing=this.outgoing.concat(F);var A=this;(function O(v){if(!v){if(!A.outgoing.length)return;var V=A.outgoing.shift();A.trigger("io",[V.msg,V.meta])}setTimeout(O,v?0:A.send_interval)})(!0)};a.prototype.dh=function(){var F={privateKey:B.randBigInt(320)};F.publicKey=B.powMod(y,F.privateKey,w);return F};a.prototype.DHSession=function M(D,A){if(!(this instanceof M))return new M(D,A);var v=B.powMod(A,D.privateKey,w);v=f.packMPI(v);this.id=f.mask(f.h2("\x00",v),0,64);A=(D=B.greater(D.publicKey,
  A))?"\u0002":"\u0001";this.sendenc=f.mask(f.h1(D?"\u0001":"\u0002",v),0,128);this.sendmac=h.SHA1(h.enc.Latin1.parse(this.sendenc));this.sendmac=this.sendmac.toString(h.enc.Latin1);this.rcvenc=f.mask(f.h1(A,v),0,128);this.rcvmac=h.SHA1(h.enc.Latin1.parse(this.rcvenc));this.rcvmac=this.rcvmac.toString(h.enc.Latin1);this.rcvmacused=!1;this.extra_symkey=f.h2("\u00ff",v);this.rcv_counter=this.send_counter=0};a.prototype.rotateOurKeys=function(){var D=this;this.sessKeys[1].forEach(function(A){A&&A.rcvmacused&&
  D.oldMacKeys.push(A.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]};a.prototype.rotateTheirKeys=function(D){this.their_keyid+=1;var A=this;this.sessKeys.forEach(function(M){M[1]&&M[1].rcvmacused&&A.oldMacKeys.push(M[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=D;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)};a.prototype.prepareMsg=function(D,A){if(this.msgstate!==e.MSGSTATE_ENCRYPTED||0===this.their_keyid)return this.error("Not ready to encrypt.");var M=this.sessKeys[1][0];if(M.send_counter>=m)return this.error("Should have rekeyed by now.");M.send_counter+=1;var v=
  f.packCtr(M.send_counter),O=this.ake.otr_version+"\u0003",V=this.ake.otr_version===e.OTR_VERSION_3;V&&(O+=this.our_instance_tag,O+=this.their_instance_tag);O=O+"\x00"+f.packINT(this.our_keyid-1);O+=f.packINT(this.their_keyid);O+=f.packMPI(this.our_dh.publicKey);O+=v.substring(0,8);if(Math.ceil(D.length/8)>=x)return this.error("Message is too long.");D=f.encryptAes(h.enc.Latin1.parse(D),M.sendenc,v);O+=f.packData(D);O+=f.make1Mac(O,M.sendmac);O+=f.packData(this.oldMacKeys.splice(0).join(""));O=f.wrapMsg(O,
  this.fragment_size,V,this.our_instance_tag,this.their_instance_tag);if(O[0])return this.error(O[0]);A&&this.trigger("file",["send",M.extra_symkey,A]);return O[1]};a.prototype.handleDataMsg=function(D){var A=D.version+D.type;this.ake.otr_version===e.OTR_VERSION_3&&(A+=D.instance_tags);D=f.splitype("BYTE INT INT MPI CTR DATA MAC DATA".split(" "),D.msg);var M="\u0001"===D[0];if(this.msgstate!==e.MSGSTATE_ENCRYPTED||8!==D.length)M||this.error("Received an unreadable encrypted message.",!0);else{var v=
  this.our_keyid-f.readLen(D[2]),O=this.their_keyid-f.readLen(D[1]);if(0>v||1<v)M||this.error("Not of our latest keys.",!0);else if(0>O||1<O)M||this.error("Not of your latest keys.",!0);else{var V=O?this.their_old_y:this.their_y;if(1!==O||V){V=this.sessKeys[v][O];var aa=f.unpackCtr(D[4]);if(aa<=V.rcv_counter)M||this.error("Counter in message is not larger.");else{V.rcv_counter=aa;A+=D.slice(0,6).join("");A=f.make1Mac(A,V.rcvmac);if(f.compare(D[6],A))return V.rcvmacused=!0,M=f.decryptAes(D[5].substring(4),
  V.rcvenc,f.padCtr(D[4])),M=M.toString(h.enc.Latin1),v||this.rotateOurKeys(),O||this.rotateTheirKeys(f.readMPI(D[3])),D=M.indexOf("\x00"),~D&&(this.handleTLVs(M.substring(D+1),V),M=M.substring(0,D)),M=h.enc.Latin1.parse(M),M.toString(h.enc.Utf8);M||this.error("MACs do not match.")}}else M||this.error("Do not have that key.")}}};a.prototype.handleTLVs=function(D,A){for(var M,v,O;D.length;){M=f.unpackSHORT(D.substr(0,2));v=f.unpackSHORT(D.substr(2,2));O=D.substr(4,v);if(O.length<v)break;switch(M){case 1:this.msgstate=
  e.MSGSTATE_FINISHED;this.trigger("status",[e.STATUS_END_OTR]);break;case 2:case 3:case 4:case 5:case 6:case 7:if(this.msgstate!==e.MSGSTATE_ENCRYPTED){this.sm&&this.sm.abort();return}this.sm||this._smInit();this.sm.handleSM({msg:O,type:M});break;case 8:O=O.substring(4),O=h.enc.Latin1.parse(O),O=O.toString(h.enc.Utf8),this.trigger("file",["receive",A.extra_symkey,O])}D=D.substring(4+v)}};a.prototype.smpSecret=function(D,A){if(this.msgstate!==e.MSGSTATE_ENCRYPTED)return this.error("Must be encrypted for SMP.");
  if("string"!==typeof D||1>D.length)return this.error("Secret is required.");this.sm||this._smInit();D=h.enc.Utf8.parse(D).toString(h.enc.Latin1);A=h.enc.Utf8.parse(A).toString(h.enc.Latin1);this.sm.rcvSecret(D,A)};a.prototype.sendQueryMsg=function(){var D={},A=e.OTR_TAG;this.ALLOW_V2&&(D["2"]=!0);this.ALLOW_V3&&(D["3"]=!0);D=Object.keys(D);D.length&&(A+="v",D.forEach(function(M){"1"!==M&&(A+=M)}),A+="?");this.io(A);this.trigger("status",[e.STATUS_SEND_QUERY])};a.prototype.sendMsg=function(D,A){if(this.REQUIRE_ENCRYPTION||
  this.msgstate!==e.MSGSTATE_PLAINTEXT)D=h.enc.Utf8.parse(D),D=D.toString(h.enc.Latin1);switch(this.msgstate){case e.MSGSTATE_PLAINTEXT:if(this.REQUIRE_ENCRYPTION){this.storedMgs.push({msg:D,meta:A});this.sendQueryMsg();return}this.SEND_WHITESPACE_TAG&&!this.receivedPlaintext&&(D+=e.WHITESPACE_TAG,this.ALLOW_V3&&(D+=e.WHITESPACE_TAG_V3),this.ALLOW_V2&&(D+=e.WHITESPACE_TAG_V2));break;case e.MSGSTATE_FINISHED:this.storedMgs.push({msg:D,meta:A});this.error("Message cannot be sent at this time.");return;
  case e.MSGSTATE_ENCRYPTED:D=this.prepareMsg(D);break;default:throw Error("Unknown message state.");}D&&this.io(D,A)};a.prototype.receiveMsg=function(D){if(D=l.parseMsg(this,D)){switch(D.cls){case "error":this.error(D.msg);return;case "ake":if(D.version===e.OTR_VERSION_3&&this.checkInstanceTags(D.instance_tags))return;this.ake.handleAKE(D);return;case "data":if(D.version===e.OTR_VERSION_3&&this.checkInstanceTags(D.instance_tags))return;D.msg=this.handleDataMsg(D);D.encrypted=!0;break;case "query":this.msgstate===
  e.MSGSTATE_ENCRYPTED&&this._akeInit();this.doAKE(D);break;default:(this.REQUIRE_ENCRYPTION||this.msgstate!==e.MSGSTATE_PLAINTEXT)&&this.error("Received an unencrypted message."),this.receivedPlaintext=!0,this.WHITESPACE_START_AKE&&0<D.ver.length&&this.doAKE(D)}D.msg&&this.trigger("ui",[D.msg,!!D.encrypted])}};a.prototype.checkInstanceTags=function(D){var A=f.readLen(D.substr(0,4));if((D=f.readLen(D.substr(4,4)))&&D!==f.readLen(this.our_instance_tag))return!0;if(f.readLen(this.their_instance_tag)){if(f.readLen(this.their_instance_tag)!==
  A)return!0}else{if(100>A)return!0;this.their_instance_tag=f.packINT(A)}};a.prototype.doAKE=function(D){this.ALLOW_V3&&~D.ver.indexOf(e.OTR_VERSION_3)?this.ake.initiateAKE(e.OTR_VERSION_3):this.ALLOW_V2&&~D.ver.indexOf(e.OTR_VERSION_2)?this.ake.initiateAKE(e.OTR_VERSION_2):this.error("OTR conversation requested, but no compatible protocol version found.")};a.prototype.error=function(D,A){A?(this.debug||(D="An OTR error has occurred."),this.io("?OTR Error:"+D)):this.trigger("error",[D])};a.prototype.sendStored=
  function(){var D=this;this.storedMgs.splice(0).forEach(function(A){var M=D.prepareMsg(A.msg);D.io(M,A.meta)})};a.prototype.sendFile=function(D){if(this.msgstate!==e.MSGSTATE_ENCRYPTED)return this.error("Not ready to encrypt.");if(this.ake.otr_version!==e.OTR_VERSION_3)return this.error("Protocol v3 required.");if(!D)return this.error("Please specify a filename.");var A=h.enc.Utf8.parse(D);A=A.toString(h.enc.Latin1);if(65532<=A.length)return this.error("filename is too long.");var M="\x00\x00\b"+f.packSHORT(4+
  A.length);M=this.prepareMsg(M+"\x00\x00\x00\u0001"+A,D);this.io(M)};a.prototype.endOtr=function(){this.msgstate===e.MSGSTATE_ENCRYPTED&&(this.sendMsg("\x00\x00\u0001\x00\x00"),this.sm&&(this.smw&&this.sm.worker.terminate(),this.sm=null));this.msgstate=e.MSGSTATE_PLAINTEXT;this.receivedPlaintext=!1;this.trigger("status",[e.STATUS_END_OTR])};a.makeInstanceTag=function(){var D=B.randBigInt(32);return B.greater(B.str2bigInt("100",16),D)?a.makeInstanceTag():f.packINT(parseInt(B.bigInt2str(D,10),10))}}).call(this);
  return{OTR:this.OTR,DSA:this.DSA}});
  (function(a){function b(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function h(r,I){var U=!0;return l(function(){U&&(!1===Y.suppressDeprecationWarnings&&"undefined"!==typeof console&&console.warn&&console.warn("Deprecation warning: "+r),U=!1);return I.apply(this,arguments)},I)}function B(r,I){return function(U){return k(r.call(this,U),I)}}function t(r,I){return function(U){return this.lang().ordinal(r.call(this,U),
  I)}}function g(){}function e(r){v(r);l(this,r)}function f(r){r=m(r);var I=r.year||0,U=r.quarter||0,Q=r.month||0,ca=r.week||0,la=r.day||0;this._milliseconds=+(r.millisecond||0)+1E3*(r.second||0)+6E4*(r.minute||0)+36E5*(r.hour||0);this._days=+la+7*ca;this._months=+Q+3*U+12*I;this._data={};this._bubble()}function l(r,I){for(var U in I)I.hasOwnProperty(U)&&(r[U]=I[U]);I.hasOwnProperty("toString")&&(r.toString=I.toString);I.hasOwnProperty("valueOf")&&(r.valueOf=I.valueOf);return r}function n(r){return 0>
  r?Math.ceil(r):Math.floor(r)}function k(r,I,U){for(var Q=""+Math.abs(r);Q.length<I;)Q="0"+Q;return(0<=r?U?"+":"":"-")+Q}function p(r,I,U,Q){var ca=I._milliseconds,la=I._days;I=I._months;Q=null==Q?!0:Q;ca&&r._d.setTime(+r._d+ca*U);la&&na(r,"Date",ta(r,"Date")+la*U);I&&pa(r,ta(r,"Month")+I*U);Q&&Y.updateOffset(r,la||I)}function d(r){return"[object Array]"===Object.prototype.toString.call(r)}function y(r,I,U){var Q=Math.min(r.length,I.length),ca=Math.abs(r.length-I.length),la=0,ja;for(ja=0;ja<Q;ja++)(U&&
  r[ja]!==I[ja]||!U&&F(r[ja])!==F(I[ja]))&&la++;return la+ca}function w(r){if(r){var I=r.toLowerCase().replace(/(.)s$/,"$1");r=Sa[r]||Ta[I]||I}return r}function m(r){var I={},U,Q;for(Q in r)r.hasOwnProperty(Q)&&(U=w(Q))&&(I[U]=r[Q]);return I}function x(r){if(0===r.indexOf("week")){var I=7;var U="day"}else if(0===r.indexOf("month"))I=12,U="month";else return;Y[r]=function(Q,ca){var la=Y.fn._lang[r],ja=[];"number"===typeof Q&&(ca=Q,Q=a);var ra=function(va){va=Y().utc().set(U,va);return la.call(Y.fn._lang,
  va,Q||"")};if(null!=ca)return ra(ca);for(ca=0;ca<I;ca++)ja.push(ra(ca));return ja}}function F(r){r=+r;var I=0;0!==r&&isFinite(r)&&(I=0<=r?Math.floor(r):Math.ceil(r));return I}function D(r,I){return(new Date(Date.UTC(r,I+1,0))).getUTCDate()}function A(r,I,U){return X(Y([r,11,31+I-U]),I,U).week}function M(r){return 0===r%4&&0!==r%100||0===r%400}function v(r){if(r._a&&-2===r._pf.overflow){var I=0>r._a[1]||11<r._a[1]?1:1>r._a[2]||r._a[2]>D(r._a[0],r._a[1])?2:0>r._a[3]||23<r._a[3]?3:0>r._a[4]||59<r._a[4]?
  4:0>r._a[5]||59<r._a[5]?5:0>r._a[6]||999<r._a[6]?6:-1;r._pf._overflowDayOfYear&&(0>I||2<I)&&(I=2);r._pf.overflow=I}}function O(r){null==r._isValid&&(r._isValid=!isNaN(r._d.getTime())&&0>r._pf.overflow&&!r._pf.empty&&!r._pf.invalidMonth&&!r._pf.nullInput&&!r._pf.invalidFormat&&!r._pf.userInvalidated,r._strict&&(r._isValid=r._isValid&&0===r._pf.charsLeftOver&&0===r._pf.unusedTokens.length));return r._isValid}function V(r){return r?r.toLowerCase().replace("_","-"):r}function aa(r,I){return I._isUTC?
  Y(r).zone(I._offset||0):Y(r).local()}function ba(r){var I=0,U,Q,ca=function(ra){if(!Fa[ra]&&G)try{require("./lang/"+ra)}catch(va){}return Fa[ra]};if(!r)return Y.fn._lang;if(!d(r)){if(U=ca(r))return U;r=[r]}for(;I<r.length;){var la=V(r[I]).split("-");var ja=la.length;for(Q=(Q=V(r[I+1]))?Q.split("-"):null;0<ja;){if(U=ca(la.slice(0,ja).join("-")))return U;if(Q&&Q.length>=ja&&y(la,Q,!0)>=ja-1)break;ja--}I++}return Y.fn._lang}function ka(r){return r.match(/\[[\s\S]/)?r.replace(/^\[|\]$/g,""):r.replace(/\\/g,
  "")}function fa(r){var I=r.match(da),U;var Q=0;for(U=I.length;Q<U;Q++)I[Q]=Ga[I[Q]]?Ga[I[Q]]:ka(I[Q]);return function(ca){var la="";for(Q=0;Q<U;Q++)la+=I[Q]instanceof Function?I[Q].call(ca,r):I[Q];return la}}function c(r,I){if(!r.isValid())return r.lang().invalidDate();I=q(I,r.lang());Ia[I]||(Ia[I]=fa(I));return Ia[I](r)}function q(r,I){function U(ca){return I.longDateFormat(ca)||ca}var Q=5;for(W.lastIndex=0;0<=Q&&W.test(r);)r=r.replace(W,U),W.lastIndex=0,--Q;return r}function E(r,I){var U=I._strict;
  switch(r){case "Q":return Ma;case "DDDD":return Na;case "YYYY":case "GGGG":case "gggg":return U?Ua:Ba;case "Y":case "G":case "g":return Va;case "YYYYYY":case "YYYYY":case "GGGGG":case "ggggg":return U?Wa:wa;case "S":if(U)return Ma;case "SS":if(U)return Oa;case "SSS":if(U)return Na;case "DDD":return oa;case "MMM":case "MMMM":case "dd":case "ddd":case "dddd":return ha;case "a":case "A":return ba(I._l)._meridiemParse;case "X":return Xa;case "Z":case "ZZ":return ia;case "T":return Ya;case "SSSS":return sa;
  case "MM":case "DD":case "YY":case "GG":case "gg":case "HH":case "hh":case "mm":case "ss":case "ww":case "WW":return U?Oa:ma;case "M":case "D":case "d":case "H":case "h":case "m":case "s":case "w":case "W":case "e":case "E":return ma;case "Do":return Za;default:return I=RegExp,r=R(r.replace("\\","")).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),r=new I(r)}}function u(r){r=(r||"").match(ia)||[];r=((r[r.length-1]||[])+"").match($a)||["-",0,0];var I=+(60*r[1])+F(r[2]);return"+"===r[0]?-I:I}function C(r){var I=
  [];if(!r._d){var U=K(r);if(r._w&&null==r._a[2]&&null==r._a[1]){var Q=function(va){var Ca=parseInt(va,10);return va?3>va.length?68<Ca?1900+Ca:2E3+Ca:Ca:null==r._a[0]?Y().weekYear():r._a[0]};var ca=r._w;if(null!=ca.GG||null!=ca.W||null!=ca.E)Q=Z(Q(ca.GG),ca.W||1,ca.E,4,1);else{var la=ba(r._l);var ja=null!=ca.d?N(ca.d,la):null!=ca.e?parseInt(ca.e,10)+la._week.dow:0;var ra=parseInt(ca.w,10)||1;null!=ca.d&&ja<la._week.dow&&ra++;Q=Z(Q(ca.gg),ra,ja,la._week.doy,la._week.dow)}r._a[0]=Q.year;r._dayOfYear=
  Q.dayOfYear}r._dayOfYear&&(Q=null==r._a[0]?U[0]:r._a[0],r._dayOfYear>(M(Q)?366:365)&&(r._pf._overflowDayOfYear=!0),Q=H(Q,0,r._dayOfYear),r._a[1]=Q.getUTCMonth(),r._a[2]=Q.getUTCDate());for(Q=0;3>Q&&null==r._a[Q];++Q)r._a[Q]=I[Q]=U[Q];for(;7>Q;Q++)r._a[Q]=I[Q]=null==r._a[Q]?2===Q?1:0:r._a[Q];I[3]+=F((r._tzm||0)/60);I[4]+=F((r._tzm||0)%60);r._d=(r._useUTC?H:z).apply(null,I)}}function K(r){var I=new Date;return r._useUTC?[I.getUTCFullYear(),I.getUTCMonth(),I.getUTCDate()]:[I.getFullYear(),I.getMonth(),
  I.getDate()]}function T(r){r._a=[];r._pf.empty=!0;var I=ba(r._l),U=""+r._i,Q,ca=U.length,la=0;var ja=q(r._f,I).match(da)||[];for(I=0;I<ja.length;I++){var ra=ja[I];if(Q=(U.match(E(ra,r))||[])[0]){var va=U.substr(0,U.indexOf(Q));0<va.length&&r._pf.unusedInput.push(va);U=U.slice(U.indexOf(Q)+Q.length);la+=Q.length}if(Ga[ra]){Q?r._pf.empty=!1:r._pf.unusedTokens.push(ra);va=r;var Ca=va._a;switch(ra){case "Q":null!=Q&&(Ca[1]=3*(F(Q)-1));break;case "M":case "MM":null!=Q&&(Ca[1]=F(Q)-1);break;case "MMM":case "MMMM":ra=
  ba(va._l).monthsParse(Q);null!=ra?Ca[1]=ra:va._pf.invalidMonth=Q;break;case "D":case "DD":null!=Q&&(Ca[2]=F(Q));break;case "Do":null!=Q&&(Ca[2]=F(parseInt(Q,10)));break;case "DDD":case "DDDD":null!=Q&&(va._dayOfYear=F(Q));break;case "YY":Ca[0]=Y.parseTwoDigitYear(Q);break;case "YYYY":case "YYYYY":case "YYYYYY":Ca[0]=F(Q);break;case "a":case "A":va._isPm=ba(va._l).isPM(Q);break;case "H":case "HH":case "h":case "hh":Ca[3]=F(Q);break;case "m":case "mm":Ca[4]=F(Q);break;case "s":case "ss":Ca[5]=F(Q);
  break;case "S":case "SS":case "SSS":case "SSSS":Ca[6]=F(1E3*("0."+Q));break;case "X":va._d=new Date(1E3*parseFloat(Q));break;case "Z":case "ZZ":va._useUTC=!0;va._tzm=u(Q);break;case "w":case "ww":case "W":case "WW":case "d":case "dd":case "ddd":case "dddd":case "e":case "E":ra=ra.substr(0,1);case "gg":case "gggg":case "GG":case "GGGG":case "GGGGG":ra=ra.substr(0,2),Q&&(va._w=va._w||{},va._w[ra]=Q)}}else r._strict&&!Q&&r._pf.unusedTokens.push(ra)}r._pf.charsLeftOver=ca-la;0<U.length&&r._pf.unusedInput.push(U);
  r._isPm&&12>r._a[3]&&(r._a[3]+=12);!1===r._isPm&&12===r._a[3]&&(r._a[3]=0);C(r);v(r)}function R(r){return r.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(I,U,Q,ca,la){return U||Q||ca||la})}function z(r,I,U,Q,ca,la,ja){I=new Date(r,I,U,Q,ca,la,ja);1970>r&&I.setFullYear(r);return I}function H(r){var I=new Date(Date.UTC.apply(null,arguments));1970>r&&I.setUTCFullYear(r);return I}function N(r,I){if("string"===typeof r)if(isNaN(r)){if(r=I.weekdaysParse(r),"number"!==typeof r)return null}else r=
  parseInt(r,10);return r}function P(r,I,U,Q,ca){return ca.relativeTime(I||1,!!U,r,Q)}function X(r,I,U){I=U-I;U-=r.day();U>I&&(U-=7);U<I-7&&(U+=7);r=Y(r).add("d",U);return{week:Math.ceil(r.dayOfYear()/7),year:r.year()}}function Z(r,I,U,Q,ca){var la=H(r,0,1).getUTCDay();I=7*(I-1)+((null!=U?U:ca)-ca)+(ca-la+(la>Q?7:0)-(la<ca?7:0))+1;return{year:0<I?r:r-1,dayOfYear:0<I?I:(M(r-1)?366:365)+I}}function ea(r){var I=r._i,U=r._f;if(null===I||U===a&&""===I)return Y.invalid({nullInput:!0});"string"===typeof I&&
  (r._i=I=ba().preparse(I));if(Y.isMoment(I)){r=I;var Q={},ca;for(ca in r)r.hasOwnProperty(ca)&&Ha.hasOwnProperty(ca)&&(Q[ca]=r[ca]);r=Q;r._d=new Date(+I._d)}else if(U)if(d(U))if(I=r,0===I._f.length)I._pf.invalidFormat=!0,I._d=new Date(NaN);else{for(ca=0;ca<I._f.length;ca++)if(U=0,Q=l({},I),Q._pf=b(),Q._f=I._f[ca],T(Q),O(Q)&&(U+=Q._pf.charsLeftOver,U+=10*Q._pf.unusedTokens.length,Q._pf.score=U,null==la||U<la)){var la=U;var ja=Q}l(I,ja||Q)}else T(r);else if(Q=r,ja=Q._i,la=L.exec(ja),ja===a)Q._d=new Date;
  else if(la)Q._d=new Date(+la[1]);else if("string"===typeof ja)if(I=Q._i,ca=ab.exec(I)){Q._pf.iso=!0;ja=0;for(la=Ja.length;ja<la;ja++)if(Ja[ja][1].exec(I)){Q._f=Ja[ja][0]+(ca[6]||" ");break}ja=0;for(la=Ka.length;ja<la;ja++)if(Ka[ja][1].exec(I)){Q._f+=Ka[ja][0];break}I.match(ia)&&(Q._f+="Z");T(Q)}else Y.createFromInputFallback(Q);else d(ja)?(Q._a=ja.slice(0),C(Q)):"[object Date]"===Object.prototype.toString.call(ja)||ja instanceof Date?Q._d=new Date(+ja):"object"===typeof ja?Q._d||(ja=m(Q._i),Q._a=
  [ja.year,ja.month,ja.day,ja.hour,ja.minute,ja.second,ja.millisecond],C(Q)):"number"===typeof ja?Q._d=new Date(ja):Y.createFromInputFallback(Q);return new e(r)}function pa(r,I){if("string"===typeof I&&(I=r.lang().monthsParse(I),"number"!==typeof I))return r;var U=Math.min(r.date(),D(r.year(),I));r._d["set"+(r._isUTC?"UTC":"")+"Month"](I,U);return r}function ta(r,I){return r._d["get"+(r._isUTC?"UTC":"")+I]()}function na(r,I,U){return"Month"===I?pa(r,U):r._d["set"+(r._isUTC?"UTC":"")+I](U)}function ua(r,
  I){return function(U){return null!=U?(na(this,r,U),Y.updateOffset(this,I),this):ta(this,r)}}function za(r){Y.duration.fn[r]=function(){return this._data[r]}}function qa(r,I){Y.duration.fn["as"+r]=function(){return+this/I}}function xa(r){"undefined"===typeof ender&&(Ea=Da.moment,Da.moment=r?h("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.",Y):Y)}for(var Y,Da="undefined"!==typeof global?global:this,Ea,Aa=Math.round,ya,Fa={},Ha={_isAMomentObject:null,
  _i:null,_f:null,_l:null,_strict:null,_isUTC:null,_offset:null,_pf:null,_lang:null},G="undefined"!==typeof module&&module.exports,L=/^\/?Date\((\-?\d+)/i,J=/(\-)?(?:(\d*)\.)?(\d+):(\d+)(?::(\d+)\.?(\d{3})?)?/,S=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,da=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,
  W=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,ma=/\d\d?/,oa=/\d{1,3}/,Ba=/\d{1,4}/,wa=/[+\-]?\d{1,6}/,sa=/\d+/,ha=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,ia=/Z|[\+\-]\d\d:?\d\d/gi,Ya=/T/i,Xa=/[\+\-]?\d+(\.\d{1,3})?/,Za=/\d{1,2}/,Ma=/\d/,Oa=/\d\d/,Na=/\d{3}/,Ua=/\d{4}/,Wa=/[+-]?\d{6}/,Va=/[+-]?\d+/,ab=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
  Ja=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],Ka=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],$a=/([\+\-]|\d\d)/gi,La={Milliseconds:1,Seconds:1E3,Minutes:6E4,Hours:36E5,Days:864E5,Months:2592E6,Years:31536E6},Sa={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",
  M:"month",Q:"quarter",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},Ta={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},Ia={},Pa="DDD w W M D d".split(" "),Qa="MDHhmswW".split(""),Ga={M:function(){return this.month()+1},MMM:function(r){return this.lang().monthsShort(this,r)},MMMM:function(r){return this.lang().months(this,r)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},
  d:function(){return this.day()},dd:function(r){return this.lang().weekdaysMin(this,r)},ddd:function(r){return this.lang().weekdaysShort(this,r)},dddd:function(r){return this.lang().weekdays(this,r)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return k(this.year()%100,2)},YYYY:function(){return k(this.year(),4)},YYYYY:function(){return k(this.year(),5)},YYYYYY:function(){var r=this.year();return(0<=r?"+":"-")+k(Math.abs(r),6)},gg:function(){return k(this.weekYear()%
  100,2)},gggg:function(){return k(this.weekYear(),4)},ggggg:function(){return k(this.weekYear(),5)},GG:function(){return k(this.isoWeekYear()%100,2)},GGGG:function(){return k(this.isoWeekYear(),4)},GGGGG:function(){return k(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},
  h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return F(this.milliseconds()/100)},SS:function(){return k(F(this.milliseconds()/10),2)},SSS:function(){return k(this.milliseconds(),3)},SSSS:function(){return k(this.milliseconds(),3)},Z:function(){var r=-this.zone(),I="+";0>r&&(r=-r,I="-");return I+k(F(r/60),2)+":"+k(F(r)%60,2)},ZZ:function(){var r=-this.zone(),I="+";0>r&&(r=-r,I="-");return I+k(F(r/60),2)+k(F(r)%60,2)},z:function(){return this.zoneAbbr()},
  zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},Ra=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];Pa.length;)ya=Pa.pop(),Ga[ya+"o"]=t(Ga[ya],ya);for(;Qa.length;)ya=Qa.pop(),Ga[ya+ya]=B(Ga[ya],2);Ga.DDDD=B(Ga.DDD,3);l(g.prototype,{set:function(r){var I;for(I in r){var U=r[I];"function"===typeof U?this[I]=U:this["_"+I]=U}},_months:"January February March April May June July August September October November December".split(" "),
  months:function(r){return this._months[r.month()]},_monthsShort:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),monthsShort:function(r){return this._monthsShort[r.month()]},monthsParse:function(r){var I;this._monthsParse||(this._monthsParse=[]);for(I=0;12>I;I++){if(!this._monthsParse[I]){var U=Y.utc([2E3,I]);U="^"+this.months(U,"")+"|^"+this.monthsShort(U,"");this._monthsParse[I]=new RegExp(U.replace(".",""),"i")}if(this._monthsParse[I].test(r))return I}},_weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
  weekdays:function(r){return this._weekdays[r.day()]},_weekdaysShort:"Sun Mon Tue Wed Thu Fri Sat".split(" "),weekdaysShort:function(r){return this._weekdaysShort[r.day()]},_weekdaysMin:"Su Mo Tu We Th Fr Sa".split(" "),weekdaysMin:function(r){return this._weekdaysMin[r.day()]},weekdaysParse:function(r){var I;this._weekdaysParse||(this._weekdaysParse=[]);for(I=0;7>I;I++){if(!this._weekdaysParse[I]){var U=Y([2E3,1]).day(I);U="^"+this.weekdays(U,"")+"|^"+this.weekdaysShort(U,"")+"|^"+this.weekdaysMin(U,
  "");this._weekdaysParse[I]=new RegExp(U.replace(".",""),"i")}if(this._weekdaysParse[I].test(r))return I}},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(r){var I=this._longDateFormat[r];!I&&this._longDateFormat[r.toUpperCase()]&&(I=this._longDateFormat[r.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(U){return U.slice(1)}),this._longDateFormat[r]=I);return I},isPM:function(r){return"p"===(r+"").toLowerCase().charAt(0)},
  _meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(r,I,U){return 11<r?U?"pm":"PM":U?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(r,I){r=this._calendar[r];return"function"===typeof r?r.apply(I):r},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",
  y:"a year",yy:"%d years"},relativeTime:function(r,I,U,Q){var ca=this._relativeTime[U];return"function"===typeof ca?ca(r,I,U,Q):ca.replace(/%d/i,r)},pastFuture:function(r,I){r=this._relativeTime[0<r?"future":"past"];return"function"===typeof r?r(I):r.replace(/%s/i,I)},ordinal:function(r){return this._ordinal.replace("%d",r)},_ordinal:"%d",preparse:function(r){return r},postformat:function(r){return r},week:function(r){return X(r,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",
  invalidDate:function(){return this._invalidDate}});Y=function(r,I,U,Q){"boolean"===typeof U&&(Q=U,U=a);var ca={_isAMomentObject:!0};ca._i=r;ca._f=I;ca._l=U;ca._strict=Q;ca._isUTC=!1;ca._pf=b();return ea(ca)};Y.suppressDeprecationWarnings=!1;Y.createFromInputFallback=h("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(r){r._d=new Date(r._i)});Y.utc=function(r,
  I,U,Q){"boolean"===typeof U&&(Q=U,U=a);var ca={_isAMomentObject:!0,_useUTC:!0,_isUTC:!0};ca._l=U;ca._i=r;ca._f=I;ca._strict=Q;ca._pf=b();return ea(ca).utc()};Y.unix=function(r){return Y(1E3*r)};Y.duration=function(r,I){var U=r,Q=null;if(Y.isDuration(r))U={ms:r._milliseconds,d:r._days,M:r._months};else if("number"===typeof r)U={},I?U[I]=r:U.milliseconds=r;else if(Q=J.exec(r)){var ca="-"===Q[1]?-1:1;U={y:0,d:F(Q[2])*ca,h:F(Q[3])*ca,m:F(Q[4])*ca,s:F(Q[5])*ca,ms:F(Q[6])*ca}}else if(Q=S.exec(r))ca="-"===
  Q[1]?-1:1,I=function(la){la=la&&parseFloat(la.replace(",","."));return(isNaN(la)?0:la)*ca},U={y:I(Q[2]),M:I(Q[3]),d:I(Q[4]),h:I(Q[5]),m:I(Q[6]),s:I(Q[7]),w:I(Q[8])};Q=new f(U);Y.isDuration(r)&&r.hasOwnProperty("_lang")&&(Q._lang=r._lang);return Q};Y.version="2.6.0";Y.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";Y.momentProperties=Ha;Y.updateOffset=function(){};Y.lang=function(r,I){if(!r)return Y.fn._lang._abbr;if(I){var U=V(r);I.abbr=U;Fa[U]||(Fa[U]=new g);Fa[U].set(I)}else null===I?(delete Fa[r],r="en"):
  Fa[r]||ba(r);return(Y.duration.fn._lang=Y.fn._lang=ba(r))._abbr};Y.langData=function(r){r&&r._lang&&r._lang._abbr&&(r=r._lang._abbr);return ba(r)};Y.isMoment=function(r){return r instanceof e||null!=r&&r.hasOwnProperty("_isAMomentObject")};Y.isDuration=function(r){return r instanceof f};for(ya=Ra.length-1;0<=ya;--ya)x(Ra[ya]);Y.normalizeUnits=function(r){return w(r)};Y.invalid=function(r){var I=Y.utc(NaN);null!=r?l(I._pf,r):I._pf.userInvalidated=!0;return I};Y.parseZone=function(){return Y.apply(null,
  arguments).parseZone()};Y.parseTwoDigitYear=function(r){return F(r)+(68<F(r)?1900:2E3)};l(Y.fn=e.prototype,{clone:function(){return Y(this)},valueOf:function(){return+this._d+6E4*(this._offset||0)},unix:function(){return Math.floor(+this/1E3)},toString:function(){return this.clone().lang("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var r=Y(this).utc();return 0<r.year()&&9999>=r.year()?c(r,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):
  c(r,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){return[this.year(),this.month(),this.date(),this.hours(),this.minutes(),this.seconds(),this.milliseconds()]},isValid:function(){return O(this)},isDSTShifted:function(){return this._a?this.isValid()&&0<y(this._a,(this._isUTC?Y.utc(this._a):Y(this._a)).toArray()):!1},parsingFlags:function(){return l({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(){return this.zone(0)},local:function(){this.zone(0);this._isUTC=!1;return this},
  format:function(r){r=c(this,r||Y.defaultFormat);return this.lang().postformat(r)},add:function(r,I){r="string"===typeof r?Y.duration(+I,r):Y.duration(r,I);p(this,r,1);return this},subtract:function(r,I){r="string"===typeof r?Y.duration(+I,r):Y.duration(r,I);p(this,r,-1);return this},diff:function(r,I,U){r=aa(r,this);var Q=6E4*(this.zone()-r.zone());I=w(I);if("year"===I||"month"===I){var ca=432E5*(this.daysInMonth()+r.daysInMonth());Q=12*(this.year()-r.year())+(this.month()-r.month());Q+=(this-Y(this).startOf("month")-
  (r-Y(r).startOf("month")))/ca;Q-=6E4*(this.zone()-Y(this).startOf("month").zone()-(r.zone()-Y(r).startOf("month").zone()))/ca;"year"===I&&(Q/=12)}else ca=this-r,Q="second"===I?ca/1E3:"minute"===I?ca/6E4:"hour"===I?ca/36E5:"day"===I?(ca-Q)/864E5:"week"===I?(ca-Q)/6048E5:ca;return U?Q:n(Q)},from:function(r,I){return Y.duration(this.diff(r)).lang(this.lang()._abbr).humanize(!I)},fromNow:function(r){return this.from(Y(),r)},calendar:function(){var r=aa(Y(),this).startOf("day");r=this.diff(r,"days",!0);
  r=-6>r?"sameElse":-1>r?"lastWeek":0>r?"lastDay":1>r?"sameDay":2>r?"nextDay":7>r?"nextWeek":"sameElse";return this.format(this.lang().calendar(r,this))},isLeapYear:function(){return M(this.year())},isDST:function(){return this.zone()<this.clone().month(0).zone()||this.zone()<this.clone().month(5).zone()},day:function(r){var I=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=r?(r=N(r,this.lang()),this.add({d:r-I})):I},month:ua("Month",!0),startOf:function(r){r=w(r);switch(r){case "year":this.month(0);
  case "quarter":case "month":this.date(1);case "week":case "isoWeek":case "day":this.hours(0);case "hour":this.minutes(0);case "minute":this.seconds(0);case "second":this.milliseconds(0)}"week"===r?this.weekday(0):"isoWeek"===r&&this.isoWeekday(1);"quarter"===r&&this.month(3*Math.floor(this.month()/3));return this},endOf:function(r){r=w(r);return this.startOf(r).add("isoWeek"===r?"week":r,1).subtract("ms",1)},isAfter:function(r,I){I="undefined"!==typeof I?I:"millisecond";return+this.clone().startOf(I)>
  +Y(r).startOf(I)},isBefore:function(r,I){I="undefined"!==typeof I?I:"millisecond";return+this.clone().startOf(I)<+Y(r).startOf(I)},isSame:function(r,I){I=I||"ms";return+this.clone().startOf(I)===+aa(r,this).startOf(I)},min:function(r){r=Y.apply(null,arguments);return r<this?this:r},max:function(r){r=Y.apply(null,arguments);return r>this?this:r},zone:function(r,I){var U=this._offset||0;if(null!=r)"string"===typeof r&&(r=u(r)),16>Math.abs(r)&&(r*=60),this._offset=r,this._isUTC=!0,U!==r&&(!I||this._changeInProgress?
  p(this,Y.duration(U-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,Y.updateOffset(this,!0),this._changeInProgress=null));else return this._isUTC?U:this._d.getTimezoneOffset();return this},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){this._tzm?this.zone(this._tzm):"string"===typeof this._i&&this.zone(this._i);return this},hasAlignedHourOffset:function(r){r=r?Y(r).zone():0;return 0===(this.zone()-
  r)%60},daysInMonth:function(){return D(this.year(),this.month())},dayOfYear:function(r){var I=Aa((Y(this).startOf("day")-Y(this).startOf("year"))/864E5)+1;return null==r?I:this.add("d",r-I)},quarter:function(r){return null==r?Math.ceil((this.month()+1)/3):this.month(3*(r-1)+this.month()%3)},weekYear:function(r){var I=X(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==r?I:this.add("y",r-I)},isoWeekYear:function(r){var I=X(this,1,4).year;return null==r?I:this.add("y",r-I)},week:function(r){var I=
  this.lang().week(this);return null==r?I:this.add("d",7*(r-I))},isoWeek:function(r){var I=X(this,1,4).week;return null==r?I:this.add("d",7*(r-I))},weekday:function(r){var I=(this.day()+7-this.lang()._week.dow)%7;return null==r?I:this.add("d",r-I)},isoWeekday:function(r){return null==r?this.day()||7:this.day(this.day()%7?r:r-7)},isoWeeksInYear:function(){return A(this.year(),1,4)},weeksInYear:function(){var r=this._lang._week;return A(this.year(),r.dow,r.doy)},get:function(r){r=w(r);return this[r]()},
  set:function(r,I){r=w(r);if("function"===typeof this[r])this[r](I);return this},lang:function(r){if(r===a)return this._lang;this._lang=ba(r);return this}});Y.fn.millisecond=Y.fn.milliseconds=ua("Milliseconds",!1);Y.fn.second=Y.fn.seconds=ua("Seconds",!1);Y.fn.minute=Y.fn.minutes=ua("Minutes",!1);Y.fn.hour=Y.fn.hours=ua("Hours",!0);Y.fn.date=ua("Date",!0);Y.fn.dates=h("dates accessor is deprecated. Use date instead.",ua("Date",!0));Y.fn.year=ua("FullYear",!0);Y.fn.years=h("years accessor is deprecated. Use year instead.",
  ua("FullYear",!0));Y.fn.days=Y.fn.day;Y.fn.months=Y.fn.month;Y.fn.weeks=Y.fn.week;Y.fn.isoWeeks=Y.fn.isoWeek;Y.fn.quarters=Y.fn.quarter;Y.fn.toJSON=Y.fn.toISOString;l(Y.duration.fn=f.prototype,{_bubble:function(){var r=this._milliseconds,I=this._days,U=this._months,Q=this._data;Q.milliseconds=r%1E3;r=n(r/1E3);Q.seconds=r%60;r=n(r/60);Q.minutes=r%60;r=n(r/60);Q.hours=r%24;I+=n(r/24);Q.days=I%30;U+=n(I/30);Q.months=U%12;I=n(U/12);Q.years=I},weeks:function(){return n(this.days()/7)},valueOf:function(){return this._milliseconds+
  864E5*this._days+this._months%12*2592E6+31536E6*F(this._months/12)},humanize:function(r){var I=+this;var U=!r;var Q=this.lang(),ca=Aa(Math.abs(I)/1E3),la=Aa(ca/60),ja=Aa(la/60),ra=Aa(ja/24),va=Aa(ra/365);ca=45>ca&&["s",ca]||1===la&&["m"]||45>la&&["mm",la]||1===ja&&["h"]||22>ja&&["hh",ja]||1===ra&&["d"]||25>=ra&&["dd",ra]||45>=ra&&["M"]||345>ra&&["MM",Aa(ra/30)]||1===va&&["y"]||["yy",va];ca[2]=U;ca[3]=0<I;ca[4]=Q;U=P.apply({},ca);r&&(U=this.lang().pastFuture(I,U));return this.lang().postformat(U)},
  add:function(r,I){r=Y.duration(r,I);this._milliseconds+=r._milliseconds;this._days+=r._days;this._months+=r._months;this._bubble();return this},subtract:function(r,I){r=Y.duration(r,I);this._milliseconds-=r._milliseconds;this._days-=r._days;this._months-=r._months;this._bubble();return this},get:function(r){r=w(r);return this[r.toLowerCase()+"s"]()},as:function(r){r=w(r);return this["as"+r.charAt(0).toUpperCase()+r.slice(1)+"s"]()},lang:Y.fn.lang,toIsoString:function(){var r=Math.abs(this.years()),
  I=Math.abs(this.months()),U=Math.abs(this.days()),Q=Math.abs(this.hours()),ca=Math.abs(this.minutes()),la=Math.abs(this.seconds()+this.milliseconds()/1E3);return this.asSeconds()?(0>this.asSeconds()?"-":"")+"P"+(r?r+"Y":"")+(I?I+"M":"")+(U?U+"D":"")+(Q||ca||la?"T":"")+(Q?Q+"H":"")+(ca?ca+"M":"")+(la?la+"S":""):"P0D"}});for(ya in La)La.hasOwnProperty(ya)&&(qa(ya,La[ya]),za(ya.toLowerCase()));qa("Weeks",6048E5);Y.duration.fn.asMonths=function(){return(+this-31536E6*this.years())/2592E6+12*this.years()};
  Y.lang("en",{ordinal:function(r){var I=r%10;I=1===F(r%100/10)?"th":1===I?"st":2===I?"nd":3===I?"rd":"th";return r+I}});G?module.exports=Y:"function"===typeof define&&define.amd?(define("moment",["require","exports","module"],function(r,I,U){U.config&&U.config()&&!0===U.config().noGlobal&&(Da.moment=Ea);return Y}),xa(!0)):xa()}).call(this);
  (function(a,b){function h(d){return k.PF.compile(d||"nplurals=2; plural=(n != 1);")}function B(d,y){this._key=d;this._i18n=y}var t=Array.prototype,g=t.slice,e=Object.prototype.hasOwnProperty,f=t.forEach,l={},n={forEach:function(d,y,w){var m;if(null!==d)if(f&&d.forEach===f)d.forEach(y,w);else if(d.length===+d.length){var x=0;for(m=d.length;x<m&&!(x in d&&y.call(w,d[x],x,d)===l);x++);}else for(x in d)if(e.call(d,x)&&y.call(w,d[x],x,d)===l)break},extend:function(d){this.forEach(g.call(arguments,1),function(y){for(var w in y)d[w]=
  y[w]});return d}},k=function(d){this.defaults={locale_data:{messages:{"":{domain:"messages",lang:"en",plural_forms:"nplurals=2; plural=(n != 1);"}}},domain:"messages"};this.options=n.extend({},this.defaults,d);this.textdomain(this.options.domain);if(d.domain&&!this.options.locale_data[this.options.domain])throw Error("Text domain set to non-existent domain: `"+d.domain+"`");};k.context_delimiter=String.fromCharCode(4);n.extend(B.prototype,{onDomain:function(d){this._domain=d;return this},withContext:function(d){this._context=
  d;return this},ifPlural:function(d,y){this._val=d;this._pkey=y;return this},fetch:function(d){"[object Array]"!={}.toString.call(d)&&(d=[].slice.call(arguments));return(d&&d.length?k.sprintf:function(y){return y})(this._i18n.dcnpgettext(this._domain,this._context,this._key,this._pkey,this._val),d)}});n.extend(k.prototype,{translate:function(d){return new B(d,this)},textdomain:function(d){if(!d)return this._textdomain;this._textdomain=d},gettext:function(d){return this.dcnpgettext.call(this,b,b,d)},
  dgettext:function(d,y){return this.dcnpgettext.call(this,d,b,y)},dcgettext:function(d,y){return this.dcnpgettext.call(this,d,b,y)},ngettext:function(d,y,w){return this.dcnpgettext.call(this,b,b,d,y,w)},dngettext:function(d,y,w,m){return this.dcnpgettext.call(this,d,b,y,w,m)},dcngettext:function(d,y,w,m){return this.dcnpgettext.call(this,d,b,y,w,m)},pgettext:function(d,y){return this.dcnpgettext.call(this,b,d,y)},dpgettext:function(d,y,w){return this.dcnpgettext.call(this,d,y,w)},dcpgettext:function(d,
  y,w){return this.dcnpgettext.call(this,d,y,w)},npgettext:function(d,y,w,m){return this.dcnpgettext.call(this,b,d,y,w,m)},dnpgettext:function(d,y,w,m,x){return this.dcnpgettext.call(this,d,y,w,m,x)},dcnpgettext:function(d,y,w,m,x){m=m||w;d=d||this._textdomain;x="undefined"==typeof x?1:x;if(!this.options)return d=new k,d.dcnpgettext.call(d,void 0,void 0,w,m,x);if(!this.options.locale_data)throw Error("No locale data provided.");if(!this.options.locale_data[d])throw Error("Domain `"+d+"` was not found.");
  if(!this.options.locale_data[d][""])throw Error("No locale meta information provided.");if(!w)throw Error("No translation key found.");if("number"!=typeof x&&(x=parseInt(x,10),isNaN(x)))throw Error("The number that was passed in is not a number.");y=y?y+k.context_delimiter+w:w;var F=this.options.locale_data,D=F[d];F=D[""].plural_forms||(F.messages||this.defaults.locale_data.messages)[""].plural_forms;var A=h(F)(x)+1;if(!D)throw Error("No domain named `"+d+"` could be found.");d=D[y];if(!d||A>=d.length)return this.options.missing_key_callback&&
  this.options.missing_key_callback(y),d=[null,w,m],d[h(F)(x)+1];d=d[A];return d?d:(d=[null,w,m],d[h(F)(x)+1])}});var p=function(){function d(w){return Object.prototype.toString.call(w).slice(8,-1).toLowerCase()}var y=function(){y.cache.hasOwnProperty(arguments[0])||(y.cache[arguments[0]]=y.parse(arguments[0]));return y.format.call(null,y.cache[arguments[0]],arguments)};y.format=function(w,m){var x=1,F=w.length,D=[],A,M;for(A=0;A<F;A++){var v=d(w[A]);if("string"===v)D.push(w[A]);else if("array"===v){var O=
  w[A];if(O[2])for(v=m[x],M=0;M<O[2].length;M++){if(!v.hasOwnProperty(O[2][M]))throw p('[sprintf] property "%s" does not exist',O[2][M]);v=v[O[2][M]]}else v=O[1]?m[O[1]]:m[x++];if(/[^s]/.test(O[8])&&"number"!=d(v))throw p("[sprintf] expecting number but found %s",d(v));if("undefined"==typeof v||null===v)v="";switch(O[8]){case "b":v=v.toString(2);break;case "c":v=String.fromCharCode(v);break;case "d":v=parseInt(v,10);break;case "e":v=O[7]?v.toExponential(O[7]):v.toExponential();break;case "f":v=O[7]?
  parseFloat(v).toFixed(O[7]):parseFloat(v);break;case "o":v=v.toString(8);break;case "s":v=(v=String(v))&&O[7]?v.substring(0,O[7]):v;break;case "u":v=Math.abs(v);break;case "x":v=v.toString(16);break;case "X":v=v.toString(16).toUpperCase()}v=/[def]/.test(O[8])&&O[3]&&0<=v?"+"+v:v;M=O[4]?"0"==O[4]?"0":O[4].charAt(1):" ";var V=O[6]-String(v).length;if(O[6]){for(var aa=[];0<V;aa[--V]=M);M=aa.join("")}else M="";D.push(O[5]?v+M:M+v)}}return D.join("")};y.cache={};y.parse=function(w){for(var m,x=[],F=0;w;){if(null!==
  (m=/^[^\x25]+/.exec(w)))x.push(m[0]);else if(null!==(m=/^\x25{2}/.exec(w)))x.push("%");else if(null!==(m=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(w))){if(m[2]){F|=1;var D=[],A=m[2],M;if(null!==(M=/^([a-z_][a-z_\d]*)/i.exec(A)))for(D.push(M[1]);""!==(A=A.substring(M[0].length));)if(null!==(M=/^\.([a-z_][a-z_\d]*)/i.exec(A)))D.push(M[1]);else if(null!==(M=/^\[(\d+)\]/.exec(A)))D.push(M[1]);else throw"[sprintf] huh?";else throw"[sprintf] huh?";m[2]=
  D}else F|=2;if(3===F)throw"[sprintf] mixing positional and named placeholders is not (yet) supported";x.push(m)}else throw"[sprintf] huh?";w=w.substring(m[0].length)}return x};return y}();k.parse_plural=function(d,y){d=d.replace(/n/g,y);return k.parse_expression(d)};k.sprintf=function(d,y){if("[object Array]"=={}.toString.call(y)){var w=[].slice.call(y);w.unshift(d);return p.apply(null,w)}return p.apply(this,[].slice.call(arguments))};k.prototype.sprintf=function(){return k.sprintf.apply(this,arguments)};
  k.PF={};k.PF.parse=function(d){d=k.PF.extractPluralExpr(d);return k.PF.parser.parse.call(k.PF.parser,d)};k.PF.compile=function(d){var y=k.PF.parse(d);return function(w){w=k.PF.interpreter(y)(w);return!0===w?1:w?w:0}};k.PF.interpreter=function(d){return function(y){switch(d.type){case "GROUP":return k.PF.interpreter(d.expr)(y);case "TERNARY":return k.PF.interpreter(d.expr)(y)?k.PF.interpreter(d.truthy)(y):k.PF.interpreter(d.falsey)(y);case "OR":return k.PF.interpreter(d.left)(y)||k.PF.interpreter(d.right)(y);
  case "AND":return k.PF.interpreter(d.left)(y)&&k.PF.interpreter(d.right)(y);case "LT":return k.PF.interpreter(d.left)(y)<k.PF.interpreter(d.right)(y);case "GT":return k.PF.interpreter(d.left)(y)>k.PF.interpreter(d.right)(y);case "LTE":return k.PF.interpreter(d.left)(y)<=k.PF.interpreter(d.right)(y);case "GTE":return k.PF.interpreter(d.left)(y)>=k.PF.interpreter(d.right)(y);case "EQ":return k.PF.interpreter(d.left)(y)==k.PF.interpreter(d.right)(y);case "NEQ":return k.PF.interpreter(d.left)(y)!=k.PF.interpreter(d.right)(y);
  case "MOD":return k.PF.interpreter(d.left)(y)%k.PF.interpreter(d.right)(y);case "VAR":return y;case "NUM":return d.val;default:throw Error("Invalid Token found.");}}};k.PF.extractPluralExpr=function(d){d=d.replace(/^\s\s*/,"").replace(/\s\s*$/,"");/;\s*$/.test(d)||(d=d.concat(";"));var y=/nplurals=(\d+);/;if(!(1<d.match(y).length))throw Error("nplurals not found in plural_forms string: "+d);d=d.replace(y,"");y=d.match(/plural=(.*);/);if(!(y&&1<y.length))throw Error("`plural` expression not found: "+
  d);return y[1]};k.PF.parser=function(){var d={trace:function(){},yy:{},symbols_:{error:2,expressions:3,e:4,EOF:5,"?":6,":":7,"||":8,"&&":9,"<":10,"<=":11,">":12,">=":13,"!=":14,"==":15,"%":16,"(":17,")":18,n:19,NUMBER:20,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",6:"?",7:":",8:"||",9:"&&",10:"<",11:"<=",12:">",13:">=",14:"!=",15:"==",16:"%",17:"(",18:")",19:"n",20:"NUMBER"},productions_:[0,[3,2],[4,5],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,1],[4,1]],performAction:function(w,
  m,x,F,D,A,M){m=A.length-1;switch(D){case 1:return{type:"GROUP",expr:A[m-1]};case 2:this.$={type:"TERNARY",expr:A[m-4],truthy:A[m-2],falsey:A[m]};break;case 3:this.$={type:"OR",left:A[m-2],right:A[m]};break;case 4:this.$={type:"AND",left:A[m-2],right:A[m]};break;case 5:this.$={type:"LT",left:A[m-2],right:A[m]};break;case 6:this.$={type:"LTE",left:A[m-2],right:A[m]};break;case 7:this.$={type:"GT",left:A[m-2],right:A[m]};break;case 8:this.$={type:"GTE",left:A[m-2],right:A[m]};break;case 9:this.$={type:"NEQ",
  left:A[m-2],right:A[m]};break;case 10:this.$={type:"EQ",left:A[m-2],right:A[m]};break;case 11:this.$={type:"MOD",left:A[m-2],right:A[m]};break;case 12:this.$={type:"GROUP",expr:A[m-1]};break;case 13:this.$={type:"VAR"};break;case 14:this.$={type:"NUM",val:Number(w)}}},table:[{3:1,4:2,17:[1,3],19:[1,4],20:[1,5]},{1:[3]},{5:[1,6],6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{4:17,17:[1,3],19:[1,4],20:[1,5]},{5:[2,13],6:[2,13],7:[2,13],8:[2,13],9:[2,
  13],10:[2,13],11:[2,13],12:[2,13],13:[2,13],14:[2,13],15:[2,13],16:[2,13],18:[2,13]},{5:[2,14],6:[2,14],7:[2,14],8:[2,14],9:[2,14],10:[2,14],11:[2,14],12:[2,14],13:[2,14],14:[2,14],15:[2,14],16:[2,14],18:[2,14]},{1:[2,1]},{4:18,17:[1,3],19:[1,4],20:[1,5]},{4:19,17:[1,3],19:[1,4],20:[1,5]},{4:20,17:[1,3],19:[1,4],20:[1,5]},{4:21,17:[1,3],19:[1,4],20:[1,5]},{4:22,17:[1,3],19:[1,4],20:[1,5]},{4:23,17:[1,3],19:[1,4],20:[1,5]},{4:24,17:[1,3],19:[1,4],20:[1,5]},{4:25,17:[1,3],19:[1,4],20:[1,5]},{4:26,17:[1,
  3],19:[1,4],20:[1,5]},{4:27,17:[1,3],19:[1,4],20:[1,5]},{6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[1,28]},{6:[1,7],7:[1,29],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{5:[2,3],6:[2,3],7:[2,3],8:[2,3],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,3]},{5:[2,4],6:[2,4],7:[2,4],8:[2,4],9:[2,4],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,
  4]},{5:[2,5],6:[2,5],7:[2,5],8:[2,5],9:[2,5],10:[2,5],11:[2,5],12:[2,5],13:[2,5],14:[2,5],15:[2,5],16:[1,16],18:[2,5]},{5:[2,6],6:[2,6],7:[2,6],8:[2,6],9:[2,6],10:[2,6],11:[2,6],12:[2,6],13:[2,6],14:[2,6],15:[2,6],16:[1,16],18:[2,6]},{5:[2,7],6:[2,7],7:[2,7],8:[2,7],9:[2,7],10:[2,7],11:[2,7],12:[2,7],13:[2,7],14:[2,7],15:[2,7],16:[1,16],18:[2,7]},{5:[2,8],6:[2,8],7:[2,8],8:[2,8],9:[2,8],10:[2,8],11:[2,8],12:[2,8],13:[2,8],14:[2,8],15:[2,8],16:[1,16],18:[2,8]},{5:[2,9],6:[2,9],7:[2,9],8:[2,9],9:[2,
  9],10:[2,9],11:[2,9],12:[2,9],13:[2,9],14:[2,9],15:[2,9],16:[1,16],18:[2,9]},{5:[2,10],6:[2,10],7:[2,10],8:[2,10],9:[2,10],10:[2,10],11:[2,10],12:[2,10],13:[2,10],14:[2,10],15:[2,10],16:[1,16],18:[2,10]},{5:[2,11],6:[2,11],7:[2,11],8:[2,11],9:[2,11],10:[2,11],11:[2,11],12:[2,11],13:[2,11],14:[2,11],15:[2,11],16:[2,11],18:[2,11]},{5:[2,12],6:[2,12],7:[2,12],8:[2,12],9:[2,12],10:[2,12],11:[2,12],12:[2,12],13:[2,12],14:[2,12],15:[2,12],16:[2,12],18:[2,12]},{4:30,17:[1,3],19:[1,4],20:[1,5]},{5:[2,2],
  6:[1,7],7:[2,2],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,2]}],defaultActions:{6:[2,1]},parseError:function(w,m){throw Error(w);},parse:function(w){function m(){var K=x.lexer.lex()||1;"number"!==typeof K&&(K=x.symbols_[K]||K);return K}var x=this,F=[0],D=[null],A=[],M=this.table,v="",O=0,V=0,aa=0;this.lexer.setInput(w);this.lexer.yy=this.yy;this.yy.lexer=this.lexer;"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});w=this.lexer.yylloc;A.push(w);
  "function"===typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var ba,ka,fa,c,q={},E,u;;){fa=F[F.length-1];this.defaultActions[fa]?c=this.defaultActions[fa]:(null==ba&&(ba=m()),c=M[fa]&&M[fa][ba]);if("undefined"===typeof c||!c.length||!c[0]){if(!aa){ka=[];for(E in M[fa])this.terminals_[E]&&2<E&&ka.push("'"+this.terminals_[E]+"'");var C="";C=this.lexer.showPosition?"Parse error on line "+(O+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+ka.join(", ")+", got '"+this.terminals_[ba]+
  "'":"Parse error on line "+(O+1)+": Unexpected "+(1==ba?"end of input":"'"+(this.terminals_[ba]||ba)+"'");this.parseError(C,{text:this.lexer.match,token:this.terminals_[ba]||ba,line:this.lexer.yylineno,loc:w,expected:ka})}if(3==aa){if(1==ba)throw Error(C||"Parsing halted.");V=this.lexer.yyleng;v=this.lexer.yytext;O=this.lexer.yylineno;w=this.lexer.yylloc;ba=m()}for(;!((2).toString()in M[fa]);){if(0==fa)throw Error(C||"Parsing halted.");F.length-=2;--D.length;--A.length;fa=F[F.length-1]}ka=ba;ba=2;
  fa=F[F.length-1];c=M[fa]&&M[fa][2];aa=3}if(c[0]instanceof Array&&1<c.length)throw Error("Parse Error: multiple actions possible at state: "+fa+", token: "+ba);switch(c[0]){case 1:F.push(ba);D.push(this.lexer.yytext);A.push(this.lexer.yylloc);F.push(c[1]);ba=null;ka?(ba=ka,ka=null):(V=this.lexer.yyleng,v=this.lexer.yytext,O=this.lexer.yylineno,w=this.lexer.yylloc,0<aa&&aa--);break;case 2:u=this.productions_[c[1]][1];q.$=D[D.length-u];q._$={first_line:A[A.length-(u||1)].first_line,last_line:A[A.length-
  1].last_line,first_column:A[A.length-(u||1)].first_column,last_column:A[A.length-1].last_column};fa=this.performAction.call(q,v,V,O,this.yy,c[1],D,A);if("undefined"!==typeof fa)return fa;u&&(F=F.slice(0,-2*u),D=D.slice(0,-1*u),A=A.slice(0,-1*u));F.push(this.productions_[c[1]][0]);D.push(q.$);A.push(q._$);c=M[F[F.length-2]][F[F.length-1]];F.push(c);break;case 3:return!0}}}},y=function(){return{EOF:1,parseError:function(w,m){if(this.yy.parseError)this.yy.parseError(w,m);else throw Error(w);},setInput:function(w){this._input=
  w;this._more=this._less=this.done=!1;this.yylineno=this.yyleng=0;this.yytext=this.matched=this.match="";this.conditionStack=["INITIAL"];this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0};return this},input:function(){var w=this._input[0];this.yytext+=w;this.yyleng++;this.match+=w;this.matched+=w;w.match(/\n/)&&this.yylineno++;this._input=this._input.slice(1);return w},unput:function(w){this._input=w+this._input;return this},more:function(){this._more=!0;return this},pastInput:function(){var w=
  this.matched.substr(0,this.matched.length-this.match.length);return(20<w.length?"...":"")+w.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var w=this.match;20>w.length&&(w+=this._input.substr(0,20-w.length));return(w.substr(0,20)+(20<w.length?"...":"")).replace(/\n/g,"")},showPosition:function(){var w=this.pastInput(),m=Array(w.length+1).join("-");return w+this.upcomingInput()+"\n"+m+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var w,m;this._more||(this.match=
  this.yytext="");for(var x=this._currentRules(),F=0;F<x.length;F++)if(w=this._input.match(this.rules[x[F]])){if(m=w[0].match(/\n.*/g))this.yylineno+=m.length;this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:m?m[m.length-1].length-1:this.yylloc.last_column+w[0].length};this.yytext+=w[0];this.match+=w[0];this.matches=w;this.yyleng=this.yytext.length;this._more=!1;this._input=this._input.slice(w[0].length);this.matched+=w[0];if(w=
  this.performAction.call(this,this.yy,this,x[F],this.conditionStack[this.conditionStack.length-1]))return w;return}if(""===this._input)return this.EOF;this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var w=this.next();return"undefined"!==typeof w?w:this.lex()},begin:function(w){this.conditionStack.push(w)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-
  1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(w){this.begin(w)},performAction:function(w,m,x,F){switch(x){case 1:return 20;case 2:return 19;case 3:return 8;case 4:return 9;case 5:return 6;case 6:return 7;case 7:return 11;case 8:return 13;case 9:return 10;case 10:return 12;case 11:return 14;case 12:return 15;case 13:return 16;case 14:return 17;case 15:return 18;case 16:return 5;case 17:return"INVALID"}},rules:[/^\s+/,/^[0-9]+(\.[0-9]+)?\b/,
  /^n\b/,/^\|\|/,/^&&/,/^\?/,/^:/,/^<=/,/^>=/,/^</,/^>/,/^!=/,/^==/,/^%/,/^\(/,/^\)/,/^$/,/^./],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],inclusive:!0}}}}();d.lexer=y;return d}();"undefined"!==typeof exports?("undefined"!==typeof module&&module.exports&&(exports=module.exports=k),exports.Jed=k):("function"===typeof define&&define.amd&&define("jed",[],function(){return k}),a.Jed=k)})(this);
  (function(a,b){var h={domain:"converse",locale_data:{converse:{"":{"Project-Id-Version":"Converse.js 0.4","Report-Msgid-Bugs-To":"","POT-Creation-Date":"2013-09-15 21:55+0200","PO-Revision-Date":"2013-09-15 21:56+0200","Last-Translator":"JC Brand <jc@opkode.com>","Language-Team":"Afrikaans",Language:"af","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit",domain:"converse",lang:"af",plural_forms:"nplurals=2; plural=(n != 1);"},unencrypted:[null,"nie-privaat"],
  unverified:[null,"ongeverifieer"],verified:[null,"privaat"],finished:[null,"afgesluit"],Disconnected:[null,"Verbindung onderbreek"],Error:[null,"Fout"],Connecting:[null,"Verbind tans"],"Connection Failed":[null,"Verbinding het gefaal"],Authenticating:[null,"Besig om te bekragtig"],"Authentication Failed":[null,"Bekragtiging het gefaal"],Disconnecting:[null,"Onderbreek verbinding"],"Re-establishing encrypted session":[null,"Herstel versleutelde sessie"],"Your browser needs to generate a private key, which will be used in your encrypted chat session. This can take up to 30 seconds during which your browser might freeze and become unresponsive.":[null,
  "Die webblaaier moet 'n private sleutel vir die versleutelde klets-sessie genereer. Dit kan tot 30 sekondes duur, waartyden\u0455 die webblaaier mag vries en nie reageer nie."],"Private key generated.":[null,"Private sleutel"],"Authentication request from %1$s\n\nYour buddy is attempting to verify your identity, by asking you the question below.\n\n%2$s":[null,"Verifikasie versoek van  %1$s\n\nU gespreksmaat probeer om u identiteit te verifieer, deur die volgende vraag te vra \n\n%2$s"],"Could not verify this user's identify.":[null,
  "Kon nie hierdie gebruiker se identitied verifieer nie."],"Personal message":[null,"Persoonlike boodskap"],"Start encrypted conversation":[null,"Begin versleutelde gesprek"],"Refresh encrypted conversation":[null,"Verfris versleutelde gesprek"],"End encrypted conversation":[null,"Be\u00ebindig versleutelde gesprek"],"Verify with SMP":[null,"Verifieer met SMP"],"Verify with fingerprints":[null,"Verifieer met vingerafdrukke"],"What's this?":[null,"Wat is hierdie?"],me:[null,"ek"],"Show this menu":[null,
  "Vertoon hierdie keuselys"],"Write in the third person":[null,"Skryf in die derde persoon"],"Remove messages":[null,"Verwyder boodskappe"],"Your message could not be sent":[null,"U boodskap kon nie gestuur word nie"],"We received an unencrypted message":[null,"Ons het 'n onversleutelde boodskap ontvang"],"We received an unreadable encrypted message":[null,"Ons het 'n onleesbare versleutelde boodskap ontvang"],"This user has requested an encrypted session.":[null,"Hierdie gebruiker versoek 'n versleutelde sessie"],
  "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\n\nFingerprint for you, %2$s: %3$s\n\nFingerprint for %1$s: %4$s\n\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.":[null,"Hier is die vingerafdrukke, bevestig hulle met %1$s, buite hierdie kletskanaal \n\nU vingerafdruk, %2$s: %3$s\n\nVingerafdruk vir %1$s: %4$s\n\nIndien u die vingerafdrukke bevestig het, klik OK, andersinds klik Kanselleer"],"You will be prompted to provide a security question and then an answer to that question.\n\nYour buddy will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will have been verified.":[null,
  "Daar sal van u verwag word om 'n sekuriteitsvraag te stel, en dan ook die antwoord tot daardie vraag te verskaf.\n\nU gespreksmaat sal dan daardie vraag gestel word, en indien hulle presies dieselfde antwoord (hoofletters tel) verskaf, sal hul identiteit geverifieer wees."],"What is your security question?":[null,"Wat is u sekuriteitsvraag?"],"What is the answer to the security question?":[null,"Wat is die antwoord tot die sekuriteitsvraag?"],"Invalid authentication scheme provided":[null,"Ongeldige verifikasiemetode verskaf"],
  "Your messages are not encrypted anymore":[null,"U boodskappe is nie meer versleutel nie"],"Your messages are now encrypted but your buddy's identity has not been verified.":[null,"U boodskappe is now versleutel maar u gespreksmaat se identiteit is nog onseker."],"Your buddy's identify has been verified.":[null,"U gespreksmaat se identiteit is geverifieer."],"Your buddy has ended encryption on their end, you should do the same.":[null,"U gespreksmaat het versleuteling gestaak, u behoort nou dieselfde te doen."],
  "Your messages are not encrypted. Click here to enable OTR encryption.":[null,"U boodskappe is nie versleutel nie. Klik hier om OTR versleuteling te aktiveer."],"Your messages are encrypted, but your buddy has not been verified.":[null,"U boodskappe is versleutel, maar u gespreksmaat se identiteit is not onseker."],"Your messages are encrypted and your buddy verified.":[null,"U boodskappe is versleutel en u gespreksmaat se identiteit geverifieer."],"Your buddy has closed their end of the private session, you should do the same":[null,
  "U gespreksmaat het die private sessie gestaak. U behoort dieselfde te doen"],Contacts:[null,"Kontakte"],Online:[null,"Aangemeld"],Busy:[null,"Besig"],Away:[null,"Afwesig"],Offline:[null,"Afgemeld"],"Click to add new chat contacts":[null,"Kliek om nuwe kletskontakte by te voeg"],"Add a contact":[null,"Voeg 'n kontak by"],"Contact username":[null,"Konak gebruikersnaam"],Add:[null,"Voeg by"],"Contact name":[null,"Kontaknaam"],Search:[null,"Soek"],"No users found":[null,"Geen gebruikers gevind"],"Click to add as a chat contact":[null,
  "Kliek om as kletskontak by te voeg"],"Click to open this room":[null,"Kliek om hierdie kletskamer te open"],"Show more information on this room":[null,"Wys meer inligting aangaande hierdie kletskamer"],"Description:":[null,"Beskrywing:"],"Occupants:":[null,"Deelnemers:"],"Features:":[null,"Eienskappe:"],"Requires authentication":[null,"Benodig magtiging"],Hidden:[null,"Verskuil"],"Requires an invitation":[null,"Benodig 'n uitnodiging"],Moderated:[null,"Gemodereer"],"Non-anonymous":[null,"Nie-anoniem"],
  "Open room":[null,"Oop kletskamer"],"Permanent room":[null,"Permanente kamer"],Public:[null,"Publiek"],"Semi-anonymous":[null,"Deels anoniem"],"Temporary room":[null,"Tydelike kamer"],Unmoderated:[null,"Ongemodereer"],Rooms:[null,"Kamers"],"Room name":[null,"Kamer naam"],Nickname:[null,"Bynaam"],Server:[null,"Bediener"],Join:[null,"Sluit aan"],"Show rooms":[null,"Wys kamers"],"No rooms on %1$s":[null,"Geen kamers op %1$s"],"Rooms on %1$s":[null,"Kamers op %1$s"],"Set chatroom topic":[null,"Stel kletskamer onderwerp"],
  "Kick user from chatroom":[null,"Skop gebruiker uit die kletskamer"],"Ban user from chatroom":[null,"Verban gebruiker vanuit die kletskamer"],Message:[null,"Boodskap"],Save:[null,"Stoor"],Cancel:[null,"Kanseleer"],"An error occurred while trying to save the form.":[null,"A fout het voorgekom terwyl probeer is om die vorm te stoor."],"This chatroom requires a password":[null,"Hiedie kletskamer benodig 'n wagwoord"],"Password: ":[null,"Wagwoord:"],Submit:[null,"Dien in"],"This room is not anonymous":[null,
  "Hierdie vertrek is nie anoniem nie"],"This room now shows unavailable members":[null,"Hierdie vertrek wys nou onbeskikbare lede"],"This room does not show unavailable members":[null,"Hierdie vertrek wys nie onbeskikbare lede nie"],"Non-privacy-related room configuration has changed":[null,"Nie-privaatheidverwante kamer instellings het verander"],"Room logging is now enabled":[null,"Kamer log is nou aangeskakel"],"Room logging is now disabled":[null,"Kamer log is nou afgeskakel"],"This room is now non-anonymous":[null,
  "Hiedie kamer is nou nie anoniem nie"],"This room is now semi-anonymous":[null,"Hierdie kamer is nou gedeeltelik anoniem"],"This room is now fully-anonymous":[null,"Hierdie kamer is nou ten volle anoniem"],"A new room has been created":[null,"'n Nuwe kamer is geskep"],"Your nickname has been changed":[null,"Jou bynaam is verander"],"<strong>%1$s</strong> has been banned":[null,"<strong>%1$s</strong> is verban"],"<strong>%1$s</strong> has been kicked out":[null,"<strong>%1$s</strong> is uitgeskop"],
  "<strong>%1$s</strong> has been removed because of an affiliation change":[null,"<strong>%1$s</strong> is verwyder a.g.v 'n verandering van affiliasie"],"<strong>%1$s</strong> has been removed for not being a member":[null,"<strong>%1$s</strong> is nie 'n lid nie, en dus verwyder"],"You have been banned from this room":[null,"Jy is uit die kamer verban"],"You have been kicked from this room":[null,"Jy is uit die kamer geskop"],"You have been removed from this room because of an affiliation change":[null,
  "Jy is vanuit die kamer verwyder a.g.v 'n verandering van affiliasie"],"You have been removed from this room because the room has changed to members-only and you're not a member":[null,"Jy is vanuit die kamer verwyder omdat die kamer nou slegs tot lede beperk word en jy nie 'n lid is nie."],"You have been removed from this room because the MUC (Multi-user chat) service is being shut down.":[null,"Jy is van hierdie kamer verwyder aangesien die MUC (Multi-user chat) diens nou afgeskakel word."],"You are not on the member list of this room":[null,
  "Jy is nie op die ledelys van hierdie kamer nie"],"No nickname was specified":[null,"Geen bynaam verskaf nie"],"You are not allowed to create new rooms":[null,"Jy word nie toegelaat om nog kamers te skep nie"],"Your nickname doesn't conform to this room's policies":[null,"Jou bynaam voldoen nie aan die kamer se beleid nie"],"Your nickname is already taken":[null,"Jou bynaam is reeds geneem"],"This room does not (yet) exist":[null,"Hierdie kamer bestaan tans (nog) nie"],"This room has reached it's maximum number of occupants":[null,
  "Hierdie kamer het sy maksimum aantal deelnemers bereik"],"Topic set by %1$s to: %2$s":[null,"Onderwerp deur %1$s bygewerk na: %2$s"],"This user is a moderator":[null,"Hierdie gebruiker is 'n moderator"],"This user can send messages in this room":[null,"Hierdie gebruiker kan boodskappe na die kamer stuur"],"This user can NOT send messages in this room":[null,"Hierdie gebruiker kan NIE boodskappe na die kamer stuur nie"],"Click to chat with this contact":[null,"Kliek om met hierdie kontak te klets"],
  "Click to remove this contact":[null,"Kliek om hierdie kontak te verwyder"],"This contact is busy":[null,"Hierdie persoon is besig"],"This contact is online":[null,"Hierdie persoon is aanlyn"],"This contact is offline":[null,"Hierdie persoon is aflyn"],"This contact is unavailable":[null,"Hierdie persoon is onbeskikbaar"],"This contact is away for an extended period":[null,"Hierdie persoon is vir lank afwesig"],"This contact is away":[null,"Hierdie persoon is afwesig"],"Contact requests":[null,"Kontak versoeke"],
  "My contacts":[null,"My kontakte"],"Pending contacts":[null,"Hangende kontakte"],"Custom status":[null,"Doelgemaakte status"],"Click to change your chat status":[null,"Kliek om jou klets-status te verander"],"Click here to write a custom status message":[null,"Kliek hier om jou eie statusboodskap te skryf"],online:[null,"aangemeld"],busy:[null,"besig"],"away for long":[null,"vir lank afwesig"],away:[null,"afwesig"],"I am %1$s":[null,"Ek is %1$s"],"Sign in":[null,"Teken in"],"XMPP/Jabber Username:":[null,
  "XMPP/Jabber Gebruikersnaam:"],"Password:":[null,"Wagwoord"],"Log In":[null,"Meld aan"],"BOSH Service URL:":[null,"BOSH bediener URL"],"Online Contacts":[null,"Kontakte aangemeld"],Connected:[null,"Verbind"],Attached:[null,"Geheg"]}}};"function"===typeof define&&define.amd?define("af",["jed"],function(){return b(new Jed(h))}):(window.locales||(window.locales={}),window.locales.af=b(new Jed(h)))})(this,function(a){return a});
  (function(a,b){var h={domain:"converse",locale_data:{converse:{"":{"Project-Id-Version":"Converse.js 0.4","Report-Msgid-Bugs-To":"","POT-Creation-Date":"2013-09-15 21:55+0200","PO-Revision-Date":"2013-09-15 22:03+0200","Last-Translator":"JC Brand <jc@opkode.com>","Language-Team":"German",Language:"de","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Plural-Forms":"nplurals=2; plural=(n != 1);",domain:"converse",lang:"de",plural_forms:"nplurals=2; plural=(n != 1);"},
  unencrypted:[null,""],unverified:[null,""],verified:[null,""],finished:[null,""],Disconnected:[null,"Verbindung unterbrochen."],Error:[null,"Fehler"],Connecting:[null,"Verbindungsaufbau \u2026"],"Connection Failed":[null,"Entfernte Verbindung fehlgeschlagen"],Authenticating:[null,"Authentifizierung"],"Authentication Failed":[null,"Authentifizierung gescheitert"],Disconnecting:[null,"Trenne Verbindung"],"Re-establishing encrypted session":[null,""],"Your browser needs to generate a private key, which will be used in your encrypted chat session. This can take up to 30 seconds during which your browser might freeze and become unresponsive.":[null,
  ""],"Private key generated.":[null,""],"Authentication request from %1$s\n\nYour buddy is attempting to verify your identity, by asking you the question below.\n\n%2$s":[null,""],"Could not verify this user's identify.":[null,""],"Personal message":[null,"Pers\u00f6nliche Nachricht"],"Start encrypted conversation":[null,""],"Refresh encrypted conversation":[null,""],"End encrypted conversation":[null,""],"Verify with SMP":[null,""],"Verify with fingerprints":[null,""],"What's this?":[null,""],me:[null,
  "Ich"],"Show this menu":[null,"Dieses Men\u00fc anzeigen"],"Write in the third person":[null,"In der dritten Person schreiben"],"Remove messages":[null,"Nachrichten entfernen"],"Your message could not be sent":[null,""],"We received an unencrypted message":[null,""],"We received an unreadable encrypted message":[null,""],"This user has requested an encrypted session.":[null,""],"Here are the fingerprints, please confirm them with %1$s, outside of this chat.\n\nFingerprint for you, %2$s: %3$s\n\nFingerprint for %1$s: %4$s\n\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.":[null,
  ""],"You will be prompted to provide a security question and then an answer to that question.\n\nYour buddy will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will have been verified.":[null,""],"What is your security question?":[null,""],"What is the answer to the security question?":[null,""],"Invalid authentication scheme provided":[null,""],"Your messages are not encrypted anymore":[null,""],"Your messages are now encrypted but your buddy's identity has not been verified.":[null,
  ""],"Your buddy's identify has been verified.":[null,""],"Your buddy has ended encryption on their end, you should do the same.":[null,""],"Your messages are not encrypted. Click here to enable OTR encryption.":[null,""],"Your messages are encrypted, but your buddy has not been verified.":[null,""],"Your messages are encrypted and your buddy verified.":[null,""],"Your buddy has closed their end of the private session, you should do the same":[null,""],Contacts:[null,"Kontakte"],Online:[null,"Online"],
  Busy:[null,"Besch\u00e4fticht"],Away:[null,"Abwesend"],Offline:[null,"Abgemeldet"],"Click to add new chat contacts":[null,"Klicken Sie, um einen neuen Kontakt hinzuzuf\u00fcgen"],"Add a contact":[null,"Kontakte hinzuf\u00fcgen"],"Contact username":[null,"Benutzername"],Add:[null,"Hinzuf\u00fcgen"],"Contact name":[null,"Name des Kontakts"],Search:[null,"Suche"],"No users found":[null,"Keine Benutzer gefunden"],"Click to add as a chat contact":[null,"Hier klicken um als Kontakt hinzuzuf\u00fcgen"],
  "Click to open this room":[null,"Hier klicken um diesen Raum zu \u00f6ffnen"],"Show more information on this room":[null,"Mehr Information \u00fcber diesen Raum zeigen"],"Description:":[null,"Beschreibung"],"Occupants:":[null,"Teilnehmer"],"Features:":[null,"Funktionen:"],"Requires authentication":[null,"Authentifizierung erforderlich"],Hidden:[null,"Versteckt"],"Requires an invitation":[null,"Einladung erforderlich"],Moderated:[null,"Moderiert"],"Non-anonymous":[null,"Nicht anonym"],"Open room":[null,
  "Offener Raum"],"Permanent room":[null,"Dauerhafter Raum"],Public:[null,"\u00d6ffentlich"],"Semi-anonymous":[null,"Teils anonym"],"Temporary room":[null,"Vor\u00fcbergehender Raum"],Unmoderated:[null,"Unmoderiert"],Rooms:[null,"R\u00e4ume"],"Room name":[null,"Raumname"],Nickname:[null,"Spitzname"],Server:[null,"Server"],Join:[null,"Beitreten"],"Show rooms":[null,"R\u00e4ume anzeigen"],"No rooms on %1$s":[null,"Keine R\u00e4ume auf %1$s"],"Rooms on %1$s":[null,"R\u00e4ume auf %1$s"],"Set chatroom topic":[null,
  "Chatraum Thema festlegen"],"Kick user from chatroom":[null,"Werfe einen Benutzer aus dem Raum."],"Ban user from chatroom":[null,"Verbanne einen Benutzer aus dem Raum."],Message:[null,"Nachricht"],Save:[null,"Speichern"],Cancel:[null,"Abbrechen"],"An error occurred while trying to save the form.":[null,"Beim Speichern der Formular is ein Fehler aufgetreten."],"This chatroom requires a password":[null,"Passwort wird f\u00fcr die Anmeldung ben\u00f6tigt."],"Password: ":[null,"Passwort: "],Submit:[null,
  "Einreichen"],"This room is not anonymous":[null,"Dieser Raum ist nicht anonym"],"This room now shows unavailable members":[null,"Dieser Raum zeigt jetzt unferf\u00fcgbare Mitglieder"],"This room does not show unavailable members":[null,"Dieser Raum zeigt nicht unverf\u00fcgbare Mitglieder"],"Non-privacy-related room configuration has changed":[null,"Die Konfiguration, die nicht auf die Privatsph\u00e4re bezogen ist, hat sich ge\u00e4ndert"],"Room logging is now enabled":[null,"Zuk\u00fcnftige Nachrichten dieses Raums werden protokolliert."],
  "Room logging is now disabled":[null,"Zuk\u00fcnftige Nachrichten dieses Raums werden nicht protokolliert."],"This room is now non-anonymous":[null,"Dieser Raum ist jetzt nicht anonym"],"This room is now semi-anonymous":[null,"Dieser Raum ist jetzt teils anonym"],"This room is now fully-anonymous":[null,"Dieser Raum ist jetzt anonym"],"A new room has been created":[null,"Einen neuen Raum ist erstellen"],"Your nickname has been changed":[null,"Spitzname festgelegen"],"<strong>%1$s</strong> has been banned":[null,
  "<strong>%1$s</strong> ist verbannt"],"<strong>%1$s</strong> has been kicked out":[null,"<strong>%1$s</strong> ist hinausgeworfen"],"<strong>%1$s</strong> has been removed because of an affiliation change":[null,"<strong>%1$s</strong> wurde wegen einer Zugeh\u00f6rigkeits\u00e4nderung entfernt"],"<strong>%1$s</strong> has been removed for not being a member":[null,"<strong>%1$s</strong> ist kein Mitglied und wurde daher entfernt"],"You have been banned from this room":[null,"Sie sind aus diesem Raum verbannt worden"],
  "You have been kicked from this room":[null,"Sie wurden aus diesem Raum hinausgeworfen"],"You have been removed from this room because of an affiliation change":[null,"Sie wurden wegen einer Zugeh\u00f6rigkeits\u00e4nderung entfernt"],"You have been removed from this room because the room has changed to members-only and you're not a member":[null,"Sie wurden aus diesem Raum entfernt da Sie kein Mitglied sind."],"You have been removed from this room because the MUC (Multi-user chat) service is being shut down.":[null,
  "Sie werden aus diesem Raum entfernt da der MUC (Muli-user chat) Dienst gerade abgeschalten wird."],"You are not on the member list of this room":[null,"Sie sind nicht auf der Mitgliederliste dieses Raums"],"No nickname was specified":[null,"Kein Spitzname festgelegt"],"You are not allowed to create new rooms":[null,"Es ist Ihnen nicht erlaubt, neue R\u00e4ume anzulegen"],"Your nickname doesn't conform to this room's policies":[null,"Ung\u00fcltiger Spitzname"],"Your nickname is already taken":[null,
  "Ihre Spitzname existiert bereits."],"This room does not (yet) exist":[null,"Dieser Raum existiert (noch) nicht"],"This room has reached it's maximum number of occupants":[null,"Dieser Raum hat die maximale Mitgliederanzahl erreicht"],"Topic set by %1$s to: %2$s":[null,'%1$s hat das Thema zu "%2$s" abge\u00e4ndert'],"This user is a moderator":[null,"Dieser Benutzer ist ein Moderator"],"This user can send messages in this room":[null,"Dieser Benutzer kann Nachrichten in diesem Raum verschicken"],"This user can NOT send messages in this room":[null,
  "Dieser Benutzer kann keine Nachrichten in diesem Raum verschicken"],"Click to chat with this contact":[null,"Hier klicken um mit diesem Kontakt zu chatten"],"Click to remove this contact":[null,"Hier klicken um diesen Kontakt zu entfernen"],"This contact is busy":[null,"Dieser Kontakt ist besch\u00e4fticht"],"This contact is online":[null,"Dieser Kontakt ist online"],"This contact is offline":[null,"Dieser Kontakt ist offline"],"This contact is unavailable":[null,"Dieser Kontakt ist nicht verf\u00fcgbar"],
  "This contact is away for an extended period":[null,"Dieser Kontakt is f\u00fcr l\u00e4ngere Zeit abwesend"],"This contact is away":[null,"Dieser Kontakt ist abwesend"],"Contact requests":[null,"Kontaktanfragen"],"My contacts":[null,"Meine Kontakte"],"Pending contacts":[null,"Unbest\u00e4tigte Kontakte"],"Custom status":[null,"Status-Nachricht"],"Click to change your chat status":[null,"Klicken Sie, um ihrer Status to \u00e4ndern"],"Click here to write a custom status message":[null,"Klicken Sie hier, um ihrer Status-Nachricht to \u00e4ndern"],
  online:[null,"online"],busy:[null,"besch\u00e4fticht"],"away for long":[null,"l\u00e4nger abwesend"],away:[null,"abwesend"],"I am %1$s":[null,"Ich bin %1$s"],"Sign in":[null,"Anmelden"],"XMPP/Jabber Username:":[null,"XMPP/Jabber Benutzername"],"Password:":[null,"Passwort:"],"Log In":[null,"Anmelden"],"BOSH Service URL:":[null,"BOSH "],"Online Contacts":[null,"Online-Kontakte"],"%1$s is typing":[null,"%1$s tippt"],Connected:[null,"Verbunden"],Attached:[null,"Angeh\u00e4ngt"]}}};"function"===typeof define&&
  define.amd?define("de",["jed"],function(){return b(new Jed(h))}):(window.locales||(window.locales={}),window.locales.de=b(new Jed(h)))})(this,function(a){return a});(function(a,b){var h={domain:"converse",locale_data:{converse:{"":{domain:"converse",lang:"en",plural_forms:"nplurals=2; plural=(n != 1);"}}}};"function"===typeof define&&define.amd?define("en",["jed"],function(){return b(new Jed(h))}):(window.locales||(window.locales={}),window.locales.en=b(new Jed(h)))})(this,function(a){return a});
  (function(a,b){var h={domain:"converse",locale_data:{converse:{"":{"Project-Id-Version":"Converse.js 0.4","Report-Msgid-Bugs-To":"","POT-Creation-Date":"2013-09-15 21:55+0200","PO-Revision-Date":"2013-09-15 21:59+0200","Last-Translator":"Javier Lopez <m@javier.io>","Language-Team":"ES <LL@li.org>",Language:"es","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Plural-Forms":"nplurals=2; plural=(n != 1);",plural_forms:"nplurals=2; plural=(n != 1);",
  lang:"es","Language-Code":"es","Language-Name":"Espa\u00f1ol","Preferred-Encodings":"utf-8 latin1",Domain:"converse",domain:"converse","X-Is-Fallback-For":"es-ar es-bo es-cl es-co es-cr es-do es-ec es-es es-sv es-gt es-hn es-mx es-ni es-pa es-py es-pe es-pr es-us es-uy es-ve"},unencrypted:[null,"texto plano"],unverified:[null,"sin verificar"],verified:[null,"verificado"],finished:[null,"finalizado"],Disconnected:[null,"Desconectado"],Error:[null,"Error"],Connecting:[null,"Conectando"],"Connection Failed":[null,
  "La conexi\u00f3n fall\u00f3"],Authenticating:[null,"Autenticando"],"Authentication Failed":[null,"La autenticaci\u00f3n fall\u00f3"],Disconnecting:[null,"Desconectando"],"Re-establishing encrypted session":[null,"Re-estableciendo sesi\u00f3n cifrada"],"Your browser needs to generate a private key, which will be used in your encrypted chat session. This can take up to 30 seconds during which your browser might freeze and become unresponsive.":[null,"Su navegador generar\u00e1 una llave privada para usarse en la sesi\u00f3n cifrada. Esto puede tomar hasta 30 segundo, durante este tiempo su navegador puede dejar de responder."],
  "Private key generated.":[null,"Llave privada generada"],"Authentication request from %1$s\n\nYour buddy is attempting to verify your identity, by asking you the question below.\n\n%2$s":[null,"Petici\u00f3n de autenticaci\u00f3n de %1$s\n\nSu contacto intenta verificar su identidad haciendo la siguiente pregunta.\n\n%2$s"],"Could not verify this user's identify.":[null,"No se pudo verificar la identidad de este usuario"],"Personal message":[null,"Mensaje personal"],"Start encrypted conversation":[null,
  "Iniciar sesi\u00f3n cifrada"],"Refresh encrypted conversation":[null,"Actualizar sesi\u00f3n cifrada"],"End encrypted conversation":[null,"Finalizar sesi\u00f3n cifrada"],"Verify with SMP":[null,"Verificar con SMP"],"Verify with fingerprints":[null,"Verificar con identificadores"],"What's this?":[null,"\u00bfQu\u00e9 es esto?"],me:[null,"yo"],"Show this menu":[null,"Mostrar este men\u00fa"],"Write in the third person":[null,"Escribir en tercera persona"],"Remove messages":[null,"Eliminar mensajes"],
  "Your message could not be sent":[null,"Su mensaje no se pudo enviar"],"We received an unencrypted message":[null,"Se recib\u00edo un mensaje sin cifrar"],"We received an unreadable encrypted message":[null,"Se recib\u00edo un mensaje cifrado corrupto"],"This user has requested an encrypted session.":[null,"El usuario ha solicitado una sesi\u00f3n cifrada"],"Here are the fingerprints, please confirm them with %1$s, outside of this chat.\n\nFingerprint for you, %2$s: %3$s\n\nFingerprint for %1$s: %4$s\n\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.":[null,
  "Por favor confirme los identificadores de %1$s fuera de este chat\n\n. Su identificador es, %2$s: %3$s\n\n. El identificador de %1$s es: %4$s\n\n. Despu\u00e9s de confirmar los identificadores haga click en OK, cancele si no concuerdan."],"You will be prompted to provide a security question and then an answer to that question.\n\nYour buddy will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will have been verified.":[null,"Se le solicitar\u00e1 una pregunta de seguridad.\n\n. La pregunta que responda se le har\u00e1 a su contacto, si las respuestas concuerdan (cuidando may\u00fasculas/min\u00fasculas) su identidad quedar\u00e1 verificada."],
  "What is your security question?":[null,"Introduzca su pregunta de seguridad"],"What is the answer to the security question?":[null,"Introduzca la respuesta a su pregunta de seguridad"],"Invalid authentication scheme provided":[null,"Esquema de autenticaci\u00f3n inv\u00e1lido"],"Your messages are not encrypted anymore":[null,"Sus mensajes han dejado de cifrarse"],"Your messages are now encrypted but your buddy's identity has not been verified.":[null,"Sus mensajes est\u00e1n ahora cifrados pero la identidad de su contacto no ha sido verificada"],
  "Your buddy's identify has been verified.":[null,"La identidad de su contacto ha sido confirmada"],"Your buddy has ended encryption on their end, you should do the same.":[null,"Su contacto finaliz\u00f3 la sesi\u00f3n cifrada, deber\u00eda hacer lo mismo"],"Your messages are not encrypted. Click here to enable OTR encryption.":[null,"Sus mensajes no est\u00e1n cifrados. Haga click aqu\u00ed para habilitar el cifrado OTR"],"Your messages are encrypted, but your buddy has not been verified.":[null,
  "Sus mensajes est\u00e1n cifrados pero la identidad de su contacto no ha sido verificada"],"Your messages are encrypted and your buddy verified.":[null,"Sus mensajes est\u00e1n cifrados y su contacto ha sido verificado"],"Your buddy has closed their end of the private session, you should do the same":[null,"Su contacto finaliz\u00f3 la sesi\u00f3n cifrada, deber\u00eda hacer lo mismo"],Contacts:[null,"Contactos"],Online:[null,"En linea"],Busy:[null,"Ocupado"],Away:[null,"Ausente"],Offline:[null,"Desconectado"],
  "Click to add new chat contacts":[null,"Haga click para agregar nuevos contactos al chat"],"Add a contact":[null,"Agregar un contacto"],"Contact username":[null,"Nombre de usuario de contacto"],Add:[null,"Agregar"],"Contact name":[null,"Nombre de contacto"],Search:[null,"B\u00fasqueda"],"No users found":[null,"Sin usuarios encontrados"],"Click to add as a chat contact":[null,"Haga click para agregar como contacto de chat"],"Click to open this room":[null,"Haga click para abrir esta sala"],"Show more information on this room":[null,
  "Mostrar m\u00e1s informaci\u00f3n en esta sala"],"Description:":[null,"Descripci\u00f3n"],"Occupants:":[null,"Ocupantes:"],"Features:":[null,"Caracter\u00edsticas:"],"Requires authentication":[null,"Autenticaci\u00f3n requerida"],Hidden:[null,"Oculto"],"Requires an invitation":[null,"Requiere una invitaci\u00f3n"],Moderated:[null,"Moderado"],"Non-anonymous":[null,"No an\u00f3nimo"],"Open room":[null,"Abrir sala"],"Permanent room":[null,"Sala permanente"],Public:[null,"Publico"],"Semi-anonymous":[null,
  "Semi an\u00f3nimo"],"Temporary room":[null,"Sala temporal"],Unmoderated:[null,"Sin moderar"],Rooms:[null,"Salas"],"Room name":[null,"Nombre de sala"],Nickname:[null,"Apodo"],Server:[null,"Servidor"],Join:[null,"Unirse"],"Show rooms":[null,"Mostrar salas"],"No rooms on %1$s":[null,"Sin salas en %1$s"],"Rooms on %1$s":[null,"Salas en %1$s"],"Set chatroom topic":[null,"Definir tema de sala de chat"],"Kick user from chatroom":[null,"Expulsar usuario de sala de chat."],"Ban user from chatroom":[null,
  "Bloquear usuario de sala de chat."],Message:[null,"Mensaje"],Save:[null,"Guardar"],Cancel:[null,"Cancelar"],"An error occurred while trying to save the form.":[null,"Un error ocurr\u00edo mientras se guardaba el formulario."],"This chatroom requires a password":[null,"Esta sala de chat requiere una contrase\u00f1a."],"Password: ":[null,"Contrase\u00f1a: "],Submit:[null,"Enviar"],"This room is not anonymous":[null,"Esta sala no es para usuarios an\u00f3nimos"],"This room now shows unavailable members":[null,
  "Esta sala ahora muestra los miembros no disponibles"],"This room does not show unavailable members":[null,"Esta sala no muestra los miembros no disponibles"],"Non-privacy-related room configuration has changed":[null,"Una configuraci\u00f3n de la sala no relacionada con la privacidad ha sido cambiada"],"Room logging is now enabled":[null,"El registro de la sala ahora est\u00e1 habilitado"],"Room logging is now disabled":[null,"El registro de la sala ahora est\u00e1 deshabilitado"],"This room is now non-anonymous":[null,
  "Esta sala ahora es p\u00fablica"],"This room is now semi-anonymous":[null,"Esta sala ahora es semi-an\u00f3nima"],"This room is now fully-anonymous":[null,"Esta sala ahora es completamente an\u00f3nima"],"A new room has been created":[null,"Una nueva sala ha sido creada"],"Your nickname has been changed":[null,"Su apodo ha sido cambiado"],"<strong>%1$s</strong> has been banned":[null,"<strong>%1$s</strong> ha sido bloqueado"],"<strong>%1$s</strong> has been kicked out":[null,"<strong>%1$s</strong> ha sido expulsado"],
  "<strong>%1$s</strong> has been removed because of an affiliation change":[null,"<strong>%1$s</strong> ha sido eliminado debido a un cambio de afiliaci\u00f3n"],"<strong>%1$s</strong> has been removed for not being a member":[null,"<strong>%1$s</strong> ha sido eliminado debido a que no es miembro"],"You have been banned from this room":[null,"Usted ha sido bloqueado de esta sala"],"You have been kicked from this room":[null,"Usted ha sido expulsado de esta sala"],"You have been removed from this room because of an affiliation change":[null,
  "Usted ha sido eliminado de esta sala debido a un cambio de afiliaci\u00f3n"],"You have been removed from this room because the room has changed to members-only and you're not a member":[null,"Usted ha sido eliminado de esta sala debido a que la sala cambio su configuraci\u00f3n a solo-miembros y usted no es un miembro"],"You have been removed from this room because the MUC (Multi-user chat) service is being shut down.":[null,"Usted ha sido eliminado de esta sala debido a que el servicio MUC (Multi-user chat) est\u00e1 deshabilitado."],
  "You are not on the member list of this room":[null,"Usted no est\u00e1 en la lista de miembros de esta sala"],"No nickname was specified":[null,"Sin apodo especificado"],"You are not allowed to create new rooms":[null,"Usted no esta autorizado para crear nuevas salas"],"Your nickname doesn't conform to this room's policies":[null,"Su apodo no se ajusta a la pol\u00edtica de esta sala"],"Your nickname is already taken":[null,"Su apodo ya ha sido tomando por otro usuario"],"This room does not (yet) exist":[null,
  "Esta sala (a\u00fan) no existe"],"This room has reached it's maximum number of occupants":[null,"Esta sala ha alcanzado su n\u00famero m\u00e1ximo de ocupantes"],"Topic set by %1$s to: %2$s":[null,"Tema fijado por %1$s a: %2$s"],"This user is a moderator":[null,"Este usuario es un moderador"],"This user can send messages in this room":[null,"Este usuario puede enviar mensajes en esta sala"],"This user can NOT send messages in this room":[null,"Este usuario NO puede enviar mensajes en esta"],"Click to chat with this contact":[null,
  "Haga click para conversar con este contacto"],"Click to remove this contact":[null,"Haga click para eliminar este contacto"],"This contact is busy":[null,"Este contacto est\u00e1 ocupado"],"This contact is online":[null,"Este contacto est\u00e1 en l\u00ednea"],"This contact is offline":[null,"Este contacto est\u00e1 desconectado"],"This contact is unavailable":[null,"Este contacto no est\u00e1 disponible"],"This contact is away for an extended period":[null,"Este contacto est\u00e1 ausente por un largo periodo de tiempo"],
  "This contact is away":[null,"Este contacto est\u00e1 ausente"],"Contact requests":[null,"Solicitudes de contacto"],"My contacts":[null,"Mis contactos"],"Pending contacts":[null,"Contactos pendientes"],"Custom status":[null,"Personalizar estatus"],"Click to change your chat status":[null,"Haga click para cambiar su estatus de chat"],"Click here to write a custom status message":[null,"Haga click para escribir un mensaje de estatus personalizado"],online:[null,"en l\u00ednea"],busy:[null,"ocupado"],
  "away for long":[null,"ausente por mucho tiempo"],away:[null,"ausente"],"I am %1$s":[null,"Estoy %1$s"],"Sign in":[null,"Registrar"],"XMPP/Jabber Username:":[null,"Nombre de usuario XMPP/Jabber"],"Password:":[null,"Contrase\u00f1a:"],"Log In":[null,"Iniciar sesi\u00f3n"],"BOSH Service URL:":[null,"URL del servicio BOSH:"],"Online Contacts":[null,"En l\u00ednea"],Connected:[null,"Conectado"],Attached:[null,"Adjuntado"]}}};"function"===typeof define&&define.amd?define("es",["jed"],function(){return b(new Jed(h))}):
  (window.locales||(window.locales={}),window.locales.es=b(new Jed(h)))})(this,function(a){return a});
  (function(a,b){var h={domain:"converse",locale_data:{converse:{"":{"Project-Id-Version":"Converse.js 0.4","Report-Msgid-Bugs-To":"","POT-Creation-Date":"2013-09-15 21:55+0200","PO-Revision-Date":"2013-09-15 21:58+0200","Language-Team":"FR <LL@li.org>",Language:"fr","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Plural-Forms":"nplurals=2; plural=(n != 1);",plural_forms:"nplurals=2; plural=(n != 1);",lang:"fr","Language-Code":"fr","Preferred-Encodings":"utf-8 latin1",
  Domain:"converse",domain:"converse"},unencrypted:[null,""],unverified:[null,""],verified:[null,""],finished:[null,""],Disconnected:[null,"D\u00e9connect\u00e9"],Error:[null,"Erreur"],Connecting:[null,"Connection"],"Connection Failed":[null,"La connection a \u00e9chou\u00e9"],Authenticating:[null,"Authentification"],"Authentication Failed":[null,"L'authentification a \u00e9chou\u00e9"],Disconnecting:[null,"D\u00e9connection"],"Re-establishing encrypted session":[null,""],"Your browser needs to generate a private key, which will be used in your encrypted chat session. This can take up to 30 seconds during which your browser might freeze and become unresponsive.":[null,
  ""],"Private key generated.":[null,""],"Authentication request from %1$s\n\nYour buddy is attempting to verify your identity, by asking you the question below.\n\n%2$s":[null,""],"Could not verify this user's identify.":[null,""],"Personal message":[null,"Message personnel"],"Start encrypted conversation":[null,""],"Refresh encrypted conversation":[null,""],"End encrypted conversation":[null,""],"Verify with SMP":[null,""],"Verify with fingerprints":[null,""],"What's this?":[null,""],me:[null,""],
  "Show this menu":[null,"Afficher ce menu"],"Write in the third person":[null,"\u00c9crire \u00e0 la troisi\u00e8me personne"],"Remove messages":[null,"Effacer les messages"],"Your message could not be sent":[null,""],"We received an unencrypted message":[null,""],"We received an unreadable encrypted message":[null,""],"This user has requested an encrypted session.":[null,""],"Here are the fingerprints, please confirm them with %1$s, outside of this chat.\n\nFingerprint for you, %2$s: %3$s\n\nFingerprint for %1$s: %4$s\n\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.":[null,
  ""],"You will be prompted to provide a security question and then an answer to that question.\n\nYour buddy will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will have been verified.":[null,""],"What is your security question?":[null,""],"What is the answer to the security question?":[null,""],"Invalid authentication scheme provided":[null,""],"Your messages are not encrypted anymore":[null,""],"Your messages are now encrypted but your buddy's identity has not been verified.":[null,
  ""],"Your buddy's identify has been verified.":[null,""],"Your buddy has ended encryption on their end, you should do the same.":[null,""],"Your messages are not encrypted. Click here to enable OTR encryption.":[null,""],"Your messages are encrypted, but your buddy has not been verified.":[null,""],"Your messages are encrypted and your buddy verified.":[null,""],"Your buddy has closed their end of the private session, you should do the same":[null,""],Contacts:[null,"Contacts"],Online:[null,"En ligne"],
  Busy:[null,"Occup\u00e9"],Away:[null,"Absent"],Offline:[null,"D\u00e9connect\u00e9"],"Click to add new chat contacts":[null,"Cliquez pour ajouter de nouveaux contacts"],"Add a contact":[null,"Ajouter un contact"],"Contact username":[null,"Nom du contact"],Add:[null,"Ajouter"],"Contact name":[null,"Nom du contact"],Search:[null,"Rechercher"],"No users found":[null,"Aucun utilisateur trouv\u00e9"],"Click to add as a chat contact":[null,"Cliquer pour ajouter aux contacts de chat"],"Click to open this room":[null,
  "Cliquer pour ouvrir ce salon"],"Show more information on this room":[null,"Afficher davantage d'informations sur ce salon"],"Description:":[null,"Description :"],"Occupants:":[null,"Participants :"],"Features:":[null,"Caract\u00e9ristiques :"],"Requires authentication":[null,"N\u00e9cessite une authentification"],Hidden:[null,"Masqu\u00e9"],"Requires an invitation":[null,"N\u00e9cessite une invitation"],Moderated:[null,"Mod\u00e9r\u00e9"],"Non-anonymous":[null,"Non-anonyme"],"Open room":[null,"Ouvrir un salon"],
  "Permanent room":[null,"Salon permanent"],Public:[null,"Public"],"Semi-anonymous":[null,"Semi-anonyme"],"Temporary room":[null,"Salon temporaire"],Unmoderated:[null,"Non mod\u00e9r\u00e9"],Rooms:[null,"Salons"],"Room name":[null,"Num\u00e9ro de salon"],Nickname:[null,"Alias"],Server:[null,"Serveur"],Join:[null,"Rejoindre"],"Show rooms":[null,"Afficher les salons"],"No rooms on %1$s":[null,"Aucun salon dans %1$s"],"Rooms on %1$s":[null,"Salons dans %1$s"],"Set chatroom topic":[null,"Indiquer le sujet du salon"],
  "Kick user from chatroom":[null,"Expulser l'utilisateur du salon."],"Ban user from chatroom":[null,"Bannir l'utilisateur du salon."],Message:[null,"Message"],Save:[null,"Enregistrer"],Cancel:[null,"Annuler"],"An error occurred while trying to save the form.":[null,"Une erreur est survenue lors de l'enregistrement du formulaire."],"This chatroom requires a password":[null,"Ce salon n\u00e9cessite un mot de passe."],"Password: ":[null,"Mot de passe : "],Submit:[null,"Soumettre"],"This room is not anonymous":[null,
  "Ce salon n'est pas anonyme"],"This room now shows unavailable members":[null,"Ce salon affiche maintenant des membres indisponibles"],"This room does not show unavailable members":[null,"Ce salon n'affiche pas les membres indisponibles"],"Non-privacy-related room configuration has changed":[null,"Les param\u00e8tres du salon non li\u00e9s \u00e0 la confidentialit\u00e9 ont \u00e9t\u00e9 modifi\u00e9s"],"Room logging is now enabled":[null,"Le logging du salon est activ\u00e9"],"Room logging is now disabled":[null,
  "Le logging du salon est d\u00e9sactiv\u00e9"],"This room is now non-anonymous":[null,"Ce salon est maintenant non-anonyme"],"This room is now semi-anonymous":[null,"Ce salon est maintenant semi-anonyme"],"This room is now fully-anonymous":[null,"Ce salon est maintenant enti\u00e8rement anonyme"],"A new room has been created":[null,"Un nouveau salon a \u00e9t\u00e9 cr\u00e9\u00e9"],"Your nickname has been changed":[null,"Votre alias a \u00e9t\u00e9 modifi\u00e9"],"<strong>%1$s</strong> has been banned":[null,
  "<strong>%1$s</strong> a \u00e9t\u00e9 banni"],"<strong>%1$s</strong> has been kicked out":[null,"<strong>%1$s</strong> a \u00e9t\u00e9 expuls\u00e9"],"<strong>%1$s</strong> has been removed because of an affiliation change":[null,"<strong>%1$s</strong> a \u00e9t\u00e9 supprim\u00e9 \u00e0 cause d'un changement d'affiliation"],"<strong>%1$s</strong> has been removed for not being a member":[null,"<strong>%1$s</strong> a \u00e9t\u00e9 supprim\u00e9 car il n'est pas membre"],"You have been banned from this room":[null,
  "Vous avez \u00e9t\u00e9 banni de ce salon"],"You have been kicked from this room":[null,"Vous avez \u00e9t\u00e9 expuls\u00e9 de ce salon"],"You have been removed from this room because of an affiliation change":[null,"Vous avez \u00e9t\u00e9 retir\u00e9 de ce salon du fait d'un changement d'affiliation"],"You have been removed from this room because the room has changed to members-only and you're not a member":[null,"Vous avez \u00e9t\u00e9 retir\u00e9 de ce salon parce que ce salon est devenu r\u00e9serv\u00e9 aux membres et vous n'\u00eates pas membre"],
  "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.":[null,"Vous avez \u00e9t\u00e9 retir\u00e9 de ce salon parce que le service de chat multi-utilisateur a \u00e9t\u00e9 d\u00e9sactiv\u00e9."],"You are not on the member list of this room":[null,"Vous n'\u00eates pas dans la liste des membres de ce salon"],"No nickname was specified":[null,"Aucun alias n'a \u00e9t\u00e9 indiqu\u00e9"],"You are not allowed to create new rooms":[null,"Vous n'\u00eates pas autoris\u00e9 \u00e0 cr\u00e9er des salons"],
  "Your nickname doesn't conform to this room's policies":[null,"Votre alias n'est pas conforme \u00e0 la politique de ce salon"],"Your nickname is already taken":[null,"Votre alias est d\u00e9j\u00e0 utilis\u00e9"],"This room does not (yet) exist":[null,"Ce salon n'existe pas encore"],"This room has reached it's maximum number of occupants":[null,"Ce salon a atteint la limite maximale d'occupants"],"Topic set by %1$s to: %2$s":[null,"Le sujet '%1$s' a \u00e9t\u00e9 d\u00e9fini par %2$s"],"This user is a moderator":[null,
  "Cet utilisateur est mod\u00e9rateur"],"This user can send messages in this room":[null,"Cet utilisateur peut envoyer des messages dans ce salon"],"This user can NOT send messages in this room":[null,"Cet utilisateur ne peut PAS envoyer de messages dans ce salon"],"Click to chat with this contact":[null,"Cliquez pour discuter avec ce contact"],"Click to remove this contact":[null,"Cliquez pour supprimer ce contact"],"This contact is busy":[null,""],"This contact is online":[null,""],"This contact is offline":[null,
  ""],"This contact is unavailable":[null,"Ce salon affiche maintenant des membres indisponibles"],"This contact is away for an extended period":[null,""],"This contact is away":[null,""],"Contact requests":[null,"Demandes de contacts"],"My contacts":[null,"Mes contacts"],"Pending contacts":[null,"Contacts en attente"],"Custom status":[null,"Statut personnel"],"Click to change your chat status":[null,"Cliquez pour changer votre statut"],"Click here to write a custom status message":[null,"Cliquez ici pour indiquer votre statut personnel"],
  online:[null,"en ligne"],busy:[null,"occup\u00e9"],"away for long":[null,"absent pour une longue dur\u00e9e"],away:[null,"absent"],"I am %1$s":[null,"Je suis %1$s"],"Sign in":[null,"S'inscrire"],"XMPP/Jabber Username:":[null,"Nom d'utilisateur XMPP/Jabber"],"Password:":[null,"Mot de passe :"],"Log In":[null,"Se connecter"],"BOSH Service URL:":[null,"URL du service BOSH:"],"Online Contacts":[null,"Contacts en ligne"],Connected:[null,"Connect\u00e9"],Attached:[null,"Attach\u00e9"]}}};"function"===typeof define&&
  define.amd?define("fr",["jed"],function(){return b(new Jed(h))}):(window.locales||(window.locales={}),window.locales.fr=b(new Jed(h)))})(this,function(a){return a});
  (function(a,b){var h={domain:"converse",locale_data:{converse:{"":{"project-id-version":"Converse.js 0.8.1","report-msgid-bugs-to":"","pot-creation-date":"2014-08-25 14:37+0200","po-revision-date":"2014-02-21 06:07+0200","last-translator":"GreenLunar <GreenLunar@github.com>","language-team":"Rahut <http://sourceforge.net/projects/rahut/>",language:"he","mime-version":"1.0","content-type":"text/plain; charset=UTF-8","content-transfer-encoding":"8bit","x-generator":"Poedit 1.5.1","plural-forms":"nplurals=2; plural=(n != 1);"},
  unencrypted:[null,"\u05dc\u05d0 \u05de\u05d5\u05e6\u05e4\u05e0\u05ea"],unverified:[null,"\u05dc\u05d0 \u05de\u05d0\u05d5\u05de\u05ea\u05ea"],verified:[null,"\u05de\u05d0\u05d5\u05de\u05ea\u05ea"],finished:[null,"\u05de\u05d5\u05d2\u05de\u05e8\u05ea"],"This contact is busy":[null,"\u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8 \u05d6\u05d4 \u05e2\u05e1\u05d5\u05e7"],"This contact is online":[null,"\u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8 \u05d6\u05d4 \u05de\u05e7\u05d5\u05d5\u05df"],"This contact is offline":[null,
  "\u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8 \u05d6\u05d4 \u05dc\u05d0 \u05de\u05e7\u05d5\u05d5\u05df"],"This contact is unavailable":[null,"\u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8 \u05d6\u05d4 \u05dc\u05d0 \u05d6\u05de\u05d9\u05df"],"This contact is away for an extended period":[null,"\u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8 \u05d6\u05d4 \u05e0\u05e2\u05d3\u05e8 \u05dc\u05de\u05e9\u05da \u05d6\u05de\u05df \u05de\u05de\u05d5\u05e9\u05da"],"This contact is away":[null,"\u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8 \u05d6\u05d4 \u05d4\u05d9\u05e0\u05d5 \u05e0\u05e2\u05d3\u05e8"],
  "Click to hide these contacts":[null,"\u05dc\u05d7\u05e5 \u05db\u05d3\u05d9 \u05dc\u05d4\u05e1\u05ea\u05d9\u05e8 \u05d0\u05ea \u05d0\u05e0\u05e9\u05d9 \u05e7\u05e9\u05e8 \u05d0\u05dc\u05d4"],"My contacts":[null,"\u05d0\u05e0\u05e9\u05d9 \u05d4\u05e7\u05e9\u05e8 \u05e9\u05dc\u05d9"],"Pending contacts":[null,"\u05d0\u05e0\u05e9\u05d9 \u05e7\u05e9\u05e8 \u05de\u05de\u05ea\u05d9\u05e0\u05d9\u05dd"],"Contact requests":[null,"\u05d1\u05e7\u05e9\u05d5\u05ea \u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8"],Ungrouped:[null,
  "\u05dc\u05dc\u05d0 \u05e7\u05d1\u05d5\u05e6\u05d4"],Contacts:[null,"\u05d0\u05e0\u05e9\u05d9 \u05e7\u05e9\u05e8"],Groups:[null,"\u05e7\u05d1\u05d5\u05e6\u05d5\u05ea"],Reconnecting:[null,"\u05db\u05e2\u05ea \u05de\u05ea\u05d7\u05d1\u05e8"],Disconnected:[null,"\u05de\u05e0\u05d5\u05ea\u05e7"],Error:[null,"\u05e9\u05d2\u05d9\u05d0\u05d4"],Connecting:[null,"\u05db\u05e2\u05ea \u05de\u05ea\u05d7\u05d1\u05e8"],"Connection Failed":[null,"\u05d7\u05d9\u05d1\u05d5\u05e8 \u05e0\u05db\u05e9\u05dc"],Authenticating:[null,
  "\u05db\u05e2\u05ea \u05de\u05d0\u05de\u05ea"],"Authentication Failed":[null,"\u05d0\u05d9\u05de\u05d5\u05ea \u05e0\u05db\u05e9\u05dc"],Disconnecting:[null,"\u05db\u05e2\u05ea \u05de\u05ea\u05e0\u05ea\u05e7"],"Online Contacts":[null,"\u05d0\u05e0\u05e9\u05d9 \u05e7\u05e9\u05e8 \u05de\u05e7\u05d5\u05d5\u05e0\u05d9\u05dd"],"Re-establishing encrypted session":[null,"\u05d1\u05e1\u05e1 \u05de\u05d7\u05d3\u05e9 \u05d9\u05e9\u05d9\u05d1\u05d4 \u05de\u05d5\u05e6\u05e4\u05e0\u05ea"],"Generating private key.":[null,
  "\u05db\u05e2\u05ea \u05de\u05e4\u05d9\u05e7 \u05de\u05e4\u05ea\u05d7 \u05e4\u05e8\u05d8\u05d9."],"Your browser might become unresponsive.":[null,"\u05d4\u05d3\u05e4\u05d3\u05e4\u05df \u05e9\u05dc\u05da \u05e2\u05e9\u05d5\u05d9 \u05e9\u05dc\u05d0 \u05dc\u05d4\u05d2\u05d9\u05d1."],"Authentication request from %1$s\n\nYour buddy is attempting to verify your identity, by asking you the question below.\n\n%2$s":[null,"\u05d1\u05e7\u05e9\u05ea \u05d0\u05d9\u05de\u05d5\u05ea \u05de\u05d0\u05ea %1$s\n\n\u05d4\u05d0\u05d9\u05e9\u05d9\u05d5\u05ea \u05e9\u05db\u05e0\u05d2\u05d3 \u05de\u05e0\u05e1\u05d4 \u05dc\u05d0\u05de\u05ea \u05d0\u05ea \u05d4\u05d6\u05d4\u05d5\u05ea \u05e9\u05dc\u05da, \u05d1\u05e2\u05d6\u05e8\u05ea \u05e9\u05d0\u05d9\u05dc\u05ea \u05e9\u05d0\u05dc\u05d4 \u05dc\u05d4\u05dc\u05df.\n\n%2$s"],
  "Could not verify this user's identify.":[null,"\u05dc\u05d0 \u05d4\u05d9\u05ea\u05d4 \u05d0\u05e4\u05e9\u05e8\u05d5\u05ea \u05dc\u05d0\u05de\u05ea \u05d0\u05ea \u05d6\u05d4\u05d5\u05ea \u05de\u05e9\u05ea\u05de\u05e9 \u05d6\u05d4."],"Exchanging private key with buddy.":[null,"\u05de\u05de\u05d9\u05e8 \u05de\u05e4\u05ea\u05d7 \u05e4\u05e8\u05d8\u05d9 \u05e2\u05dd \u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8."],"Personal message":[null,"\u05d4\u05d5\u05d3\u05e2\u05d4 \u05d0\u05d9\u05e9\u05d9\u05ea"],"Are you sure you want to clear the messages from this room?":[null,
  "\u05d4\u05d0\u05dd \u05d0\u05ea\u05d4 \u05d1\u05d8\u05d5\u05d7 \u05db\u05d9 \u05d1\u05e8\u05e6\u05d5\u05e0\u05da \u05dc\u05d8\u05d4\u05e8 \u05d0\u05ea \u05d4\u05d4\u05d5\u05d3\u05e2\u05d5\u05ea \u05de\u05ea\u05d5\u05da \u05d7\u05d3\u05e8 \u05d6\u05d4?"],me:[null,"\u05d0\u05e0\u05d9"],"is typing":[null,"\u05de\u05e7\u05dc\u05d9\u05d3/\u05d4 \u05db\u05e2\u05ea"],"has stopped typing":[null,"\u05d7\u05d3\u05dc/\u05d4 \u05de\u05dc\u05d4\u05e7\u05dc\u05d9\u05d3"],"Show this menu":[null,"\u05d4\u05e6\u05d2 \u05d0\u05ea \u05ea\u05e4\u05e8\u05d9\u05d8 \u05d6\u05d4"],
  "Write in the third person":[null,"\u05db\u05ea\u05d5\u05d1 \u05d1\u05d2\u05d5\u05e3 \u05d4\u05e9\u05dc\u05d9\u05e9\u05d9"],"Remove messages":[null,"\u05d4\u05e1\u05e8 \u05d4\u05d5\u05d3\u05e2\u05d5\u05ea"],"Are you sure you want to clear the messages from this chat box?":[null,"\u05d4\u05d0\u05dd \u05d0\u05ea\u05d4 \u05d1\u05d8\u05d5\u05d7 \u05db\u05d9 \u05d1\u05e8\u05e6\u05d5\u05e0\u05da \u05dc\u05d8\u05d4\u05e8 \u05d0\u05ea \u05d4\u05d4\u05d5\u05d3\u05e2\u05d5\u05ea \u05de\u05ea\u05d5\u05da \u05ea\u05d9\u05d1\u05ea \u05e9\u05d9\u05d7\u05d4 \u05d6\u05d4?"],
  "Your message could not be sent":[null,"\u05d4\u05d4\u05d5\u05d3\u05e2\u05d4 \u05e9\u05dc\u05da \u05dc\u05d0 \u05d4\u05d9\u05ea\u05d4 \u05d9\u05db\u05d5\u05dc\u05d4 \u05dc\u05d4\u05d9\u05e9\u05dc\u05d7"],"We received an unencrypted message":[null,"\u05d0\u05e0\u05d7\u05e0\u05d5 \u05e7\u05d9\u05d1\u05dc\u05e0\u05d5 \u05d4\u05d5\u05d3\u05e2\u05d4 \u05dc\u05d0 \u05de\u05d5\u05e6\u05e4\u05e0\u05ea"],"We received an unreadable encrypted message":[null,"\u05d0\u05e0\u05d7\u05e0\u05d5 \u05e7\u05d9\u05d1\u05dc\u05e0\u05d5 \u05d4\u05d5\u05d3\u05e2\u05d4 \u05de\u05d5\u05e6\u05e4\u05e0\u05ea \u05dc\u05d0 \u05e7\u05e8\u05d9\u05d0\u05d4"],
  "This user has requested an encrypted session.":[null,"\u05de\u05e9\u05ea\u05de\u05e9 \u05d6\u05d4 \u05d1\u05d9\u05e7\u05e9 \u05d9\u05e9\u05d9\u05d1\u05d4 \u05de\u05d5\u05e6\u05e4\u05e0\u05ea."],"Here are the fingerprints, please confirm them with %1$s, outside of this chat.\n\nFingerprint for you, %2$s: %3$s\n\nFingerprint for %1$s: %4$s\n\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.":[null,"\u05d4\u05e8\u05d9 \u05d8\u05d1\u05d9\u05e2\u05d5\u05ea \u05d4\u05d0\u05e6\u05d1\u05e2, \u05d0\u05e0\u05d0 \u05d0\u05de\u05ea \u05d0\u05d5\u05ea\u05df \u05e2\u05dd %1$s, \u05de\u05d7\u05d5\u05e5 \u05dc\u05e9\u05d9\u05d7\u05d4 \u05d6\u05d5.\n\n\u05d8\u05d1\u05d9\u05e2\u05ea \u05d0\u05e6\u05d1\u05e2 \u05e2\u05d1\u05d5\u05e8\u05da, %2$s: %3$s\n\n\u05d8\u05d1\u05d9\u05e2\u05ea \u05d0\u05e6\u05d1\u05e2 \u05e2\u05d1\u05d5\u05e8 %1$s: %4$s\n\n\u05d4\u05d9\u05d4 \u05d5\u05d0\u05d9\u05de\u05ea\u05ea \u05db\u05d9 \u05d8\u05d1\u05d9\u05e2\u05d5\u05ea \u05d4\u05d0\u05e6\u05d1\u05e2 \u05ea\u05d5\u05d0\u05de\u05d5\u05ea, \u05dc\u05d7\u05e5 \u05d0\u05d9\u05e9\u05d5\u05e8 (OK), \u05d0\u05d7\u05e8\u05ea \u05dc\u05d7\u05e5 \u05d1\u05d9\u05d8\u05d5\u05dc (Cancel)."],
  "You will be prompted to provide a security question and then an answer to that question.\n\nYour buddy will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.":[null,"\u05d0\u05ea\u05d4 \u05ea\u05ea\u05d1\u05e7\u05e9 \u05dc\u05e1\u05e4\u05e7 \u05e9\u05d0\u05dc\u05ea \u05d0\u05d1\u05d8\u05d7\u05d4 \u05d5\u05dc\u05d0\u05d7\u05e8\u05d9\u05d4 \u05ea\u05e9\u05d5\u05d1\u05d4 \u05dc\u05e9\u05d0\u05dc\u05d4 \u05d4\u05d6\u05d5.\n\n\u05d4\u05d0\u05d9\u05e9\u05d9\u05d5\u05ea \u05e9\u05db\u05e0\u05d2\u05d3 \u05ea\u05ea\u05d1\u05e7\u05e9 \u05e2\u05d5\u05d1\u05e8 \u05d6\u05d0\u05ea \u05dc\u05d0\u05d5\u05ea\u05d4 \u05e9\u05d0\u05dc\u05ea \u05d0\u05d1\u05d8\u05d7\u05d4 \u05d5\u05d0\u05dd \u05d6\u05d5 \u05ea\u05e7\u05dc\u05d9\u05d3\u05d5 \u05d0\u05ea \u05d0\u05ea \u05d0\u05d5\u05ea\u05d4 \u05d4\u05ea\u05e9\u05d5\u05d1\u05d4 \u05d1\u05de\u05d3\u05d5\u05d9\u05e7 (case sensitive), \u05d6\u05d4\u05d5\u05ea\u05d4 \u05ea\u05d0\u05d5\u05de\u05ea."],
  "What is your security question?":[null,"\u05de\u05d4\u05d9 \u05e9\u05d0\u05dc\u05ea \u05d4\u05d0\u05d1\u05d8\u05d7\u05d4 \u05e9\u05dc\u05da?"],"What is the answer to the security question?":[null,"\u05de\u05d4\u05d9 \u05d4\u05ea\u05e9\u05d5\u05d1\u05d4 \u05dc\u05e9\u05d0\u05dc\u05ea \u05d4\u05d0\u05d1\u05d8\u05d7\u05d4?"],"Invalid authentication scheme provided":[null,"\u05e1\u05d5\u05e4\u05e7\u05d4 \u05e1\u05db\u05d9\u05de\u05ea \u05d0\u05d9\u05de\u05d5\u05ea \u05e9\u05d2\u05d5\u05d9\u05d4"],"Your messages are not encrypted anymore":[null,
  "\u05d4\u05d4\u05d5\u05d3\u05e2\u05d5\u05ea \u05e9\u05dc\u05da \u05d0\u05d9\u05e0\u05df \u05de\u05d5\u05e6\u05e4\u05e0\u05d5\u05ea \u05e2\u05d5\u05d3"],"Your messages are now encrypted but your buddy's identity has not been verified.":[null,"\u05d4\u05d4\u05d5\u05d3\u05e2\u05d5\u05ea \u05e9\u05dc\u05da \u05de\u05d5\u05e6\u05e4\u05e0\u05d5\u05ea \u05db\u05e2\u05ea \u05d0\u05da \u05d6\u05d4\u05d5\u05ea \u05d4\u05d0\u05d9\u05e9\u05d9\u05d5\u05ea \u05e9\u05db\u05e0\u05d2\u05d3 \u05d8\u05e8\u05dd \u05d0\u05d5\u05de\u05ea\u05d4."],
  "Your buddy's identify has been verified.":[null,"\u05d6\u05d4\u05d5\u05ea \u05d4\u05d0\u05d9\u05e9\u05d9\u05d5\u05ea \u05e9\u05db\u05e0\u05d2\u05d3 \u05d0\u05d5\u05de\u05ea\u05d4."],"Your buddy has ended encryption on their end, you should do the same.":[null,"\u05d4\u05d0\u05d9\u05e9\u05d9\u05d5\u05ea \u05e9\u05db\u05e0\u05d2\u05d3 \u05e1\u05d9\u05d9\u05de\u05d4 \u05d4\u05e6\u05e4\u05e0\u05d4 \u05d1\u05e7\u05e6\u05d4 \u05e9\u05dc\u05d4, \u05e2\u05dc\u05d9\u05da \u05dc\u05e2\u05e9\u05d5\u05ea \u05d0\u05ea \u05d0\u05d5\u05ea\u05d5 \u05d4\u05d3\u05d1\u05e8."],
  "Your messages are not encrypted. Click here to enable OTR encryption.":[null,"\u05d4\u05d4\u05d5\u05d3\u05e2\u05d5\u05ea \u05e9\u05dc\u05da \u05d0\u05d9\u05e0\u05df \u05de\u05d5\u05e6\u05e4\u05e0\u05d5\u05ea. \u05dc\u05d7\u05e5 \u05db\u05d0\u05df \u05db\u05d3\u05d9 \u05dc\u05d0\u05e4\u05e9\u05e8 OTR."],"Your messages are encrypted, but your buddy has not been verified.":[null,"\u05d4\u05d4\u05d5\u05d3\u05e2\u05d5\u05ea \u05e9\u05dc\u05da \u05de\u05d5\u05e6\u05e4\u05e0\u05d5\u05ea \u05db\u05e2\u05ea, \u05d0\u05da \u05d4\u05d0\u05d9\u05e9\u05d9\u05d5\u05ea \u05e9\u05db\u05e0\u05d2\u05d3 \u05d8\u05e8\u05dd \u05d0\u05d5\u05de\u05ea\u05d4."],
  "Your messages are encrypted and your buddy verified.":[null,"\u05d4\u05d4\u05d5\u05d3\u05e2\u05d5\u05ea \u05e9\u05dc\u05da \u05de\u05d5\u05e6\u05e4\u05e0\u05d5\u05ea \u05db\u05e2\u05ea \u05d5\u05d4\u05d0\u05d9\u05e9\u05d9\u05d5\u05ea \u05e9\u05db\u05e0\u05d2\u05d3 \u05d0\u05d5\u05de\u05ea\u05d4."],"Your buddy has closed their end of the private session, you should do the same":[null,"\u05d4\u05d0\u05d9\u05e9\u05d9\u05d5\u05ea \u05e9\u05db\u05e0\u05d2\u05d3 \u05e1\u05d2\u05e8\u05d4 \u05d0\u05ea \u05e7\u05e6\u05d4 \u05d4\u05d9\u05e9\u05d9\u05d1\u05d4 \u05d4\u05e4\u05e8\u05d8\u05d9\u05ea \u05e9\u05dc\u05d4, \u05e2\u05dc\u05d9\u05da \u05dc\u05e2\u05e9\u05d5\u05ea \u05d0\u05ea \u05d0\u05d5\u05ea\u05d5 \u05d4\u05d3\u05d1\u05e8"],
  "End encrypted conversation":[null,"\u05e1\u05d9\u05d9\u05dd \u05d9\u05e9\u05d9\u05d1\u05d4 \u05de\u05d5\u05e6\u05e4\u05e0\u05ea"],"Refresh encrypted conversation":[null,"\u05e8\u05e2\u05e0\u05df \u05d9\u05e9\u05d9\u05d1\u05d4 \u05de\u05d5\u05e6\u05e4\u05e0\u05ea"],"Start encrypted conversation":[null,"\u05d4\u05ea\u05d7\u05dc \u05d9\u05e9\u05d9\u05d1\u05d4 \u05de\u05d5\u05e6\u05e4\u05e0\u05ea"],"Verify with fingerprints":[null,"\u05d0\u05de\u05ea \u05d1\u05e2\u05d6\u05e8\u05ea \u05d8\u05d1\u05d9\u05e2\u05d5\u05ea \u05d0\u05e6\u05d1\u05e2"],
  "Verify with SMP":[null,"\u05d0\u05de\u05ea \u05d1\u05e2\u05d6\u05e8\u05ea SMP"],"What's this?":[null,"\u05de\u05d4 \u05d6\u05d4?"],Online:[null,"\u05de\u05e7\u05d5\u05d5\u05df"],Busy:[null,"\u05e2\u05e1\u05d5\u05e7"],Away:[null,"\u05e0\u05e2\u05d3\u05e8"],Offline:[null,"\u05d1\u05dc\u05ea\u05d9 \u05de\u05e7\u05d5\u05d5\u05df"],"Contact name":[null,"\u05e9\u05dd \u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8"],Search:[null,"\u05d7\u05d9\u05e4\u05d5\u05e9"],"Contact username":[null,"\u05e9\u05dd \u05de\u05e9\u05ea\u05de\u05e9 \u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8"],
  Add:[null,"\u05d4\u05d5\u05e1\u05e3"],"Click to add new chat contacts":[null,"\u05dc\u05d7\u05e5 \u05db\u05d3\u05d9 \u05dc\u05d4\u05d5\u05e1\u05d9\u05e3 \u05d0\u05e0\u05e9\u05d9 \u05e7\u05e9\u05e8 \u05e9\u05d9\u05d7\u05d4 \u05d7\u05d3\u05e9\u05d9\u05dd"],"Add a contact":[null,"\u05d4\u05d5\u05e1\u05e3 \u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8"],"No users found":[null,"\u05dc\u05d0 \u05e0\u05de\u05e6\u05d0\u05d5 \u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd"],"Click to add as a chat contact":[null,"\u05dc\u05d7\u05e5 \u05db\u05d3\u05d9 \u05dc\u05d4\u05d5\u05e1\u05d9\u05e3 \u05d1\u05ea\u05d5\u05e8 \u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8 \u05e9\u05d9\u05d7\u05d4"],
  "Room name":[null,"\u05e9\u05dd \u05d7\u05d3\u05e8"],Nickname:[null,"\u05e9\u05dd \u05db\u05d9\u05e0\u05d5\u05d9"],Server:[null,"\u05e9\u05e8\u05ea"],Join:[null,"\u05d4\u05e6\u05d8\u05e8\u05e3"],"Show rooms":[null,"\u05d4\u05e6\u05d2 \u05d7\u05d3\u05e8\u05d9\u05dd"],Rooms:[null,"\u05d7\u05d3\u05e8\u05d9\u05dd"],"No rooms on %1$s":[null,"\u05d0\u05d9\u05df \u05d7\u05d3\u05e8\u05d9\u05dd \u05e2\u05dc %1$s"],"Rooms on %1$s":[null,"\u05d7\u05d3\u05e8\u05d9\u05dd \u05e2\u05dc %1$s"],"Click to open this room":[null,
  "\u05dc\u05d7\u05e5 \u05db\u05d3\u05d9 \u05dc\u05e4\u05ea\u05d5\u05d7 \u05d0\u05ea \u05d7\u05d3\u05e8 \u05d6\u05d4"],"Show more information on this room":[null,"\u05d4\u05e6\u05d2 \u05e2\u05d5\u05d3 \u05de\u05d9\u05d3\u05e2 \u05d0\u05d5\u05d3\u05d5\u05ea \u05d7\u05d3\u05e8 \u05d6\u05d4"],"Description:":[null,"\u05ea\u05d9\u05d0\u05d5\u05e8:"],"Occupants:":[null,"\u05e0\u05d5\u05db\u05d7\u05d9\u05dd:"],"Features:":[null,"\u05ea\u05db\u05d5\u05e0\u05d5\u05ea:"],"Requires authentication":[null,"\u05de\u05e6\u05e8\u05d9\u05da \u05d0\u05d9\u05e9\u05d5\u05e8"],
  Hidden:[null,"\u05e0\u05e1\u05ea\u05e8"],"Requires an invitation":[null,"\u05de\u05e6\u05e8\u05d9\u05da \u05d4\u05d6\u05de\u05e0\u05d4"],Moderated:[null,"\u05de\u05d1\u05d5\u05e7\u05e8"],"Non-anonymous":[null,"\u05dc\u05d0 \u05d0\u05e0\u05d5\u05e0\u05d9\u05de\u05d9"],"Open room":[null,"\u05d7\u05d3\u05e8 \u05e4\u05ea\u05d5\u05d7"],"Permanent room":[null,"\u05d7\u05d3\u05e8 \u05e6\u05de\u05d9\u05ea\u05d4"],Public:[null,"\u05e4\u05d5\u05de\u05d1\u05d9"],"Semi-anonymous":[null,"\u05d0\u05e0\u05d5\u05e0\u05d9\u05de\u05d9 \u05dc\u05de\u05d7\u05e6\u05d4"],
  "Temporary room":[null,"\u05d7\u05d3\u05e8 \u05d6\u05de\u05e0\u05d9"],Unmoderated:[null,"\u05dc\u05d0 \u05de\u05d1\u05d5\u05e7\u05e8"],"Set chatroom topic":[null,"\u05e7\u05d1\u05e2 \u05e0\u05d5\u05e9\u05d0 \u05d7\u05d3\u05e8 \u05e9\u05d9\u05d7\u05d4"],"Kick user from chatroom":[null,"\u05d1\u05e2\u05d8 \u05de\u05e9\u05ea\u05de\u05e9 \u05de\u05ea\u05d5\u05da \u05d7\u05d3\u05e8 \u05e9\u05d9\u05d7\u05d4"],"Ban user from chatroom":[null,"\u05d0\u05e1\u05d5\u05e8 \u05de\u05e9\u05ea\u05de\u05e9 \u05de\u05ea\u05d5\u05da \u05d7\u05d3\u05e8 \u05e9\u05d9\u05d7\u05d4"],
  Message:[null,"\u05d4\u05d5\u05d3\u05e2\u05d4"],Save:[null,"\u05e9\u05de\u05d5\u05e8"],Cancel:[null,"\u05d1\u05d9\u05d8\u05d5\u05dc"],"An error occurred while trying to save the form.":[null,"\u05d0\u05d9\u05e8\u05e2\u05d4 \u05e9\u05d2\u05d9\u05d0\u05d4 \u05d1\u05de\u05d4\u05dc\u05da \u05e0\u05d9\u05e1\u05d9\u05d5\u05df \u05e9\u05de\u05d9\u05e8\u05ea \u05d4\u05d8\u05d5\u05e4\u05e1."],"This chatroom requires a password":[null,"\u05d7\u05d3\u05e8 \u05e9\u05d9\u05d7\u05d4 \u05d6\u05d4 \u05de\u05e6\u05e8\u05d9\u05da \u05e1\u05d9\u05e1\u05de\u05d4"],
  "Password: ":[null,"\u05e1\u05d9\u05e1\u05de\u05d4: "],Submit:[null,"\u05e9\u05dc\u05d7"],"This room is not anonymous":[null,"\u05d7\u05d3\u05e8 \u05d6\u05d4 \u05d0\u05d9\u05e0\u05d5 \u05d0\u05e0\u05d5\u05e0\u05d9\u05de\u05d9"],"This room now shows unavailable members":[null,"\u05d7\u05d3\u05e8 \u05d6\u05d4 \u05db\u05e2\u05ea \u05de\u05e6\u05d9\u05d2 \u05d7\u05d1\u05e8\u05d9\u05dd \u05dc\u05d0 \u05d6\u05de\u05d9\u05e0\u05d9\u05dd"],"This room does not show unavailable members":[null,"\u05d7\u05d3\u05e8 \u05d6\u05d4 \u05dc\u05d0 \u05de\u05e6\u05d9\u05d2 \u05d7\u05d1\u05e8\u05d9\u05dd \u05dc\u05d0 \u05d6\u05de\u05d9\u05e0\u05d9\u05dd"],
  "Non-privacy-related room configuration has changed":[null,"\u05ea\u05e6\u05d5\u05e8\u05ea \u05d7\u05d3\u05e8 \u05d0\u05e9\u05e8 \u05dc\u05d0-\u05e7\u05e9\u05d5\u05e8\u05d4-\u05d1\u05e4\u05e8\u05d8\u05d9\u05d5\u05ea \u05e9\u05d5\u05e0\u05ea\u05d4"],"Room logging is now enabled":[null,"\u05d9\u05d5\u05de\u05df \u05d7\u05d3\u05e8 \u05d4\u05d9\u05e0\u05d5 \u05de\u05d5\u05e4\u05e2\u05dc \u05db\u05e2\u05ea"],"Room logging is now disabled":[null,"\u05d9\u05d5\u05de\u05df \u05d7\u05d3\u05e8 \u05d4\u05d9\u05e0\u05d5 \u05de\u05e0\u05d5\u05d8\u05e8\u05dc \u05db\u05e2\u05ea"],
  "This room is now non-anonymous":[null,"\u05d7\u05d3\u05e8 \u05d6\u05d4 \u05d0\u05d9\u05e0\u05d5 \u05d0\u05e0\u05d5\u05e0\u05d9\u05de\u05d9 \u05db\u05e2\u05ea"],"This room is now semi-anonymous":[null,"\u05d7\u05d3\u05e8 \u05d6\u05d4 \u05d4\u05d9\u05e0\u05d5 \u05d0\u05e0\u05d5\u05e0\u05d9\u05de\u05d9 \u05dc\u05de\u05d7\u05e6\u05d4 \u05db\u05e2\u05ea"],"This room is now fully-anonymous":[null,"\u05d7\u05d3\u05e8 \u05d6\u05d4 \u05d4\u05d9\u05e0\u05d5 \u05d0\u05e0\u05d5\u05e0\u05d9\u05de\u05d9 \u05dc\u05d7\u05dc\u05d5\u05d8\u05d9\u05df \u05db\u05e2\u05ea"],
  "A new room has been created":[null,"\u05d7\u05d3\u05e8 \u05d7\u05d3\u05e9 \u05e0\u05d5\u05e6\u05e8"],"Your nickname has been changed":[null,"\u05e9\u05dd \u05d4\u05db\u05d9\u05e0\u05d5\u05d9 \u05e9\u05dc\u05da \u05e9\u05d5\u05e0\u05d4"],"<strong>%1$s</strong> has been banned":[null,"<strong>%1$s</strong> \u05e0\u05d0\u05e1\u05e8(\u05d4)"],"<strong>%1$s</strong> has been kicked out":[null,"<strong>%1$s</strong> \u05e0\u05d1\u05e2\u05d8(\u05d4)"],"<strong>%1$s</strong> has been removed because of an affiliation change":[null,
  "<strong>%1$s</strong> \u05d4\u05d5\u05e1\u05e8\u05d4(\u05d4) \u05de\u05e9\u05d5\u05dd \u05e9\u05d9\u05e0\u05d5\u05d9 \u05e9\u05d9\u05d5\u05da"],"<strong>%1$s</strong> has been removed for not being a member":[null,"<strong>%1$s</strong> \u05d4\u05d5\u05e1\u05e8(\u05d4) \u05de\u05e9\u05d5\u05dd \u05d0\u05d9 \u05d4\u05d9\u05de\u05e6\u05d0\u05d5\u05ea \u05d1\u05de\u05e1\u05d2\u05e8\u05ea \u05de\u05e2\u05de\u05d3 \u05e9\u05dc \u05d7\u05d1\u05e8"],"You have been banned from this room":[null,"\u05e0\u05d0\u05e1\u05e8\u05ea \u05de\u05ea\u05d5\u05da \u05d7\u05d3\u05e8 \u05d6\u05d4"],
  "You have been kicked from this room":[null,"\u05e0\u05d1\u05e2\u05d8\u05ea \u05de\u05ea\u05d5\u05da \u05d7\u05d3\u05e8 \u05d6\u05d4"],"You have been removed from this room because of an affiliation change":[null,"\u05d4\u05d5\u05e1\u05e8\u05ea \u05de\u05ea\u05d5\u05da \u05d7\u05d3\u05e8 \u05d6\u05d4 \u05de\u05e9\u05d5\u05dd \u05e9\u05d9\u05e0\u05d5\u05d9 \u05e9\u05d9\u05d5\u05da"],"You have been removed from this room because the room has changed to members-only and you're not a member":[null,"\u05d4\u05d5\u05e1\u05e8\u05ea \u05de\u05ea\u05d5\u05da \u05d7\u05d3\u05e8 \u05d6\u05d4 \u05de\u05e9\u05d5\u05dd \u05e9\u05d4\u05d7\u05d3\u05e8 \u05e9\u05d5\u05e0\u05d4 \u05dc\u05d7\u05d1\u05e8\u05d9\u05dd-\u05d1\u05dc\u05d1\u05d3 \u05d5\u05d0\u05d9\u05e0\u05da \u05d1\u05de\u05e2\u05de\u05d3 \u05e9\u05dc \u05d7\u05d1\u05e8"],
  "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.":[null,"\u05d4\u05d5\u05e1\u05e8\u05ea \u05de\u05ea\u05d5\u05da \u05d7\u05d3\u05e8 \u05d6\u05d4 \u05de\u05e9\u05d5\u05dd \u05e9\u05e9\u05d9\u05e8\u05d5\u05ea \u05e9\u05de\u05f4\u05de (\u05e9\u05d9\u05d7\u05d4 \u05de\u05e8\u05d5\u05d1\u05ea \u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd) \u05d6\u05d4 \u05db\u05e2\u05ea \u05de\u05e6\u05d5\u05d9 \u05d1\u05d4\u05dc\u05d9\u05db\u05d9 \u05e1\u05d2\u05d9\u05e8\u05d4."],
  "You are not on the member list of this room":[null,"\u05d0\u05d9\u05e0\u05da \u05d1\u05e8\u05e9\u05d9\u05de\u05ea \u05d4\u05d7\u05d1\u05e8\u05d9\u05dd \u05e9\u05dc \u05d7\u05d3\u05e8 \u05d6\u05d4"],"No nickname was specified":[null,"\u05dc\u05d0 \u05e6\u05d5\u05d9\u05df \u05e9\u05d5\u05dd \u05e9\u05dd \u05db\u05d9\u05e0\u05d5\u05d9"],"You are not allowed to create new rooms":[null,"\u05d0\u05d9\u05df \u05dc\u05da \u05e8\u05e9\u05d5\u05ea \u05dc\u05d9\u05e6\u05d5\u05e8 \u05d7\u05d3\u05e8\u05d9\u05dd \u05d7\u05d3\u05e9\u05d9\u05dd"],
  "Your nickname doesn't conform to this room's policies":[null,"\u05e9\u05dd \u05d4\u05db\u05d9\u05e0\u05d5\u05d9 \u05e9\u05dc\u05da \u05dc\u05d0 \u05ea\u05d5\u05d0\u05dd \u05d0\u05ea \u05d4\u05de\u05d3\u05d9\u05e0\u05d5\u05d9\u05d5\u05ea \u05e9\u05dc \u05d7\u05d3\u05e8 \u05d6\u05d4"],"Your nickname is already taken":[null,"\u05e9\u05dd \u05d4\u05db\u05d9\u05e0\u05d5\u05d9 \u05e9\u05dc\u05da \u05d4\u05d9\u05e0\u05d5 \u05ea\u05e4\u05d5\u05e1"],"This room does not (yet) exist":[null,"\u05d7\u05d3\u05e8 \u05d6\u05d4 (\u05e2\u05d3\u05d9\u05d9\u05df) \u05dc\u05d0 \u05e7\u05d9\u05d9\u05dd"],
  "This room has reached it's maximum number of occupants":[null,"\u05d7\u05d3\u05e8 \u05d6\u05d4 \u05d4\u05d2\u05d9\u05e2 \u05dc\u05e1\u05e3 \u05d4\u05e0\u05d5\u05db\u05d7\u05d9\u05dd \u05d4\u05de\u05e8\u05d1\u05d9 \u05e9\u05dc\u05d5"],"Topic set by %1$s to: %2$s":[null,"\u05e0\u05d5\u05e9\u05d0 \u05d7\u05d3\u05e8 \u05d6\u05d4 \u05e0\u05e7\u05d1\u05e2 \u05e2\u05dc \u05d9\u05d3\u05d9 %1$s \u05d0\u05dc: %2$s"],"This user is a moderator":[null,"\u05de\u05e9\u05ea\u05de\u05e9 \u05d6\u05d4 \u05d4\u05d9\u05e0\u05d5 \u05d0\u05d7\u05e8\u05d0\u05d9"],
  "This user can send messages in this room":[null,"\u05de\u05e9\u05ea\u05de\u05e9 \u05d6\u05d4 \u05de\u05e1\u05d5\u05d2\u05dc \u05dc\u05e9\u05dc\u05d5\u05d7 \u05d4\u05d5\u05d3\u05e2\u05d5\u05ea \u05d1\u05ea\u05d5\u05da \u05d7\u05d3\u05e8 \u05d6\u05d4"],"This user can NOT send messages in this room":[null,"\u05de\u05e9\u05ea\u05de\u05e9 \u05d6\u05d4 \ufb25\ufb21 \u05de\u05e1\u05d5\u05d2\u05dc \u05dc\u05e9\u05dc\u05d5\u05d7 \u05d4\u05d5\u05d3\u05e2\u05d5\u05ea \u05d1\u05ea\u05d5\u05da \u05d7\u05d3\u05e8 \u05d6\u05d4"],
  "Click to restore this chat":[null,"\u05dc\u05d7\u05e5 \u05db\u05d3\u05d9 \u05dc\u05e9\u05d7\u05d6\u05e8 \u05d0\u05ea \u05e9\u05d9\u05d7\u05d4 \u05d6\u05d5"],Minimized:[null,"\u05de\u05de\u05d5\u05d6\u05e2\u05e8"],"Are you sure you want to remove this contact?":[null,"\u05d4\u05d0\u05dd \u05d0\u05ea\u05d4 \u05d1\u05d8\u05d5\u05d7 \u05db\u05d9 \u05d1\u05e8\u05e6\u05d5\u05e0\u05da \u05dc\u05d4\u05e1\u05d9\u05e8 \u05d0\u05ea \u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8 \u05d6\u05d4?"],"Are you sure you want to decline this contact request?":[null,
  "\u05d4\u05d0\u05dd \u05d0\u05ea\u05d4 \u05d1\u05d8\u05d5\u05d7 \u05db\u05d9 \u05d1\u05e8\u05e6\u05d5\u05e0\u05da \u05dc\u05e1\u05e8\u05d1 \u05d0\u05ea \u05d1\u05e7\u05e9\u05ea \u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8 \u05d6\u05d4?"],"Click to remove this contact":[null,"\u05dc\u05d7\u05e5 \u05db\u05d3\u05d9 \u05dc\u05d4\u05e1\u05d9\u05e8 \u05d0\u05ea \u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8 \u05d6\u05d4"],"Click to accept this contact request":[null,"\u05dc\u05d7\u05e5 \u05db\u05d3\u05d9 \u05dc\u05e7\u05d1\u05dc \u05d0\u05ea \u05d1\u05e7\u05e9\u05ea \u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8 \u05d6\u05d4"],
  "Click to decline this contact request":[null,"\u05dc\u05d7\u05e5 \u05db\u05d3\u05d9 \u05dc\u05e1\u05e8\u05d1 \u05d0\u05ea \u05d1\u05e7\u05e9\u05ea \u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8 \u05d6\u05d4"],"Click to chat with this contact":[null,"\u05dc\u05d7\u05e5 \u05db\u05d3\u05d9 \u05dc\u05e9\u05d5\u05d7\u05d7 \u05e2\u05dd \u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8 \u05d6\u05d4"],"Type to filter":[null,"\u05d4\u05e7\u05dc\u05d3 \u05db\u05d3\u05d9 \u05dc\u05e1\u05e0\u05df"],"Custom status":[null,"\u05de\u05e6\u05d1 \u05de\u05d5\u05ea\u05d0\u05dd"],
  online:[null,"\u05de\u05e7\u05d5\u05d5\u05df"],busy:[null,"\u05e2\u05e1\u05d5\u05e7"],"away for long":[null,"\u05e0\u05e2\u05d3\u05e8 \u05dc\u05d6\u05de\u05df \u05de\u05d4"],away:[null,"\u05e0\u05e2\u05d3\u05e8"],"I am %1$s":[null,"\u05de\u05e6\u05d1\u05d9 \u05db\u05e2\u05ea \u05d4\u05d9\u05e0\u05d5 %1$s"],"Click here to write a custom status message":[null,"\u05dc\u05d7\u05e5 \u05db\u05d0\u05df \u05db\u05d3\u05d9 \u05dc\u05db\u05ea\u05d5\u05d1 \u05d4\u05d5\u05d3\u05e2\u05ea \u05de\u05e6\u05d1 \u05de\u05d5\u05ea\u05d0\u05de\u05ea"],
  "Click to change your chat status":[null,"\u05dc\u05d7\u05e5 \u05db\u05d3\u05d9 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05d4\u05d5\u05d3\u05e2\u05ea \u05d4\u05e9\u05d9\u05d7\u05d4 \u05e9\u05dc\u05da"],"XMPP/Jabber Username:":[null,"\u05e9\u05dd \u05de\u05e9\u05ea\u05de\u05e9 XMPP/Jabber:"],"Password:":[null,"\u05e1\u05d9\u05e1\u05de\u05d4:"],"Log In":[null,"\u05db\u05e0\u05d9\u05e1\u05d4"],"Sign in":[null,"\u05d4\u05ea\u05d7\u05d1\u05e8\u05d5\u05ea"],"Toggle chat":[null,"\u05d4\u05e4\u05e2\u05dc \u05e9\u05d9\u05d7"]}}};
  "function"===typeof define&&define.amd?define("he",["jed"],function(){return b(new Jed(h))}):(window.locales||(window.locales={}),window.locales.he=b(new Jed(h)))})(this,function(a){return a});
  (function(a,b){var h={domain:"converse",locale_data:{converse:{"":{"Project-Id-Version":"Converse.js 0.4","Report-Msgid-Bugs-To":"","POT-Creation-Date":"2013-09-24 23:22+0200","PO-Revision-Date":"2013-09-25 22:42+0200","Last-Translator":"Krisztian Kompar <w3host@w3host.hu>","Language-Team":"Hungarian",Language:"hu","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit",domain:"converse",lang:"hu",plural_forms:"nplurals=2; plural=(n != 1);"},Disconnected:[null,
  "Sz\u00e9tkapcsolva"],Error:[null,"Hiba"],Connecting:[null,"Kapcsol\u00f3d\u00e1s"],"Connection Failed":[null,"Kapcsol\u00f3d\u00e1si hiba"],Authenticating:[null,"Azonos\u00edt\u00e1s"],"Authentication Failed":[null,"Azonos\u00edt\u00e1si hiba"],Disconnecting:[null,"Sz\u00e9tkapcsol\u00e1s"],me:[null,"\u00e9n"],"%1$s is typing":[null,"%1$s g\u00e9pel"],"Show this menu":[null,"Mutasd ezt a men\u00fct"],"Write in the third person":[null,""],"Remove messages":[null,"\u00dczenet t\u00f6rl\u00e9se"],"Personal message":[null,
  "Saj\u00e1t \u00fczenet"],Contacts:[null,"Kapcsolatok"],Online:[null,"El\u00e9rhet\u0151"],Busy:[null,"Foglalt"],Away:[null,"T\u00e1vol"],Offline:[null,"Nem el\u00e9rhet\u0151"],"Click to add new chat contacts":[null,"\u00daj kapcsolatok hozz\u00e1ad\u00e1sa"],"Add a contact":[null,"\u00daj kapcsolat"],"Contact username":[null,"Felhaszn\u00e1l\u00f3n\u00e9v"],Add:[null,"Hozz\u00e1ad\u00e1s"],"Contact name":[null,"Kapcsolat neve"],Search:[null,"Keres\u00e9s"],"No users found":[null,"Nincs tal\u00e1lat"],
  "Click to add as a chat contact":[null,"Cseveg\u0151 kapcsolatk\u00e9nt hozz\u00e1ad"],"Click to open this room":[null,"Bel\u00e9p\u00e9s a cseveg\u0151 szob\u00e1ba"],"Show more information on this room":[null,"Tov\u00e1bbi inform\u00e1ci\u00f3k a cseveg\u0151 szob\u00e1r\u00f3l"],"Description:":[null,"Le\u00edr\u00e1s:"],"Occupants:":[null,"Jelenlev\u0151k:"],"Features:":[null,"Tulajdons\u00e1gok"],"Requires authentication":[null,"Azonos\u00edt\u00e1s sz\u00fcks\u00e9ges"],Hidden:[null,"Rejtett"],
  "Requires an invitation":[null,"Megh\u00edv\u00e1s sz\u00fcks\u00e9ges"],Moderated:[null,"Moder\u00e1lt"],"Non-anonymous":[null,"NEM n\u00e9vtelen"],"Open room":[null,"Nyitott szoba"],"Permanent room":[null,"\u00c1lland\u00f3 szoba"],Public:[null,"Ny\u00edlv\u00e1nos"],"Semi-anonymous":[null,"F\u00e9lig n\u00e9vtelen"],"Temporary room":[null,"Ideiglenes szoba"],Unmoderated:[null,"Moder\u00e1latlan"],Rooms:[null,"Szob\u00e1k"],"Room name":[null,"A szoba neve"],Nickname:[null,"Becen\u00e9v"],Server:[null,
  "Szerver"],Join:[null,"Csatlakoz\u00e1s"],"Show rooms":[null,"L\u00e9tez\u0151 szob\u00e1k"],"No rooms on %1$s":[null,"Nincs cseveg\u0151 szoba a(z) %1$s szerveren"],"Rooms on %1$s":[null,"Cseveg\u0151 szob\u00e1k a(z) %1$s szerveren"],"Set chatroom topic":[null,"Cseveg\u0151szoba t\u00e9ma be\u00e1ll\u00edt\u00e1s"],"Kick user from chatroom":[null,"Felhaszn\u00e1l\u00f3 kil\u00e9ptet\u00e9se a cseveg\u0151 szob\u00e1b\u00f3l"],"Ban user from chatroom":[null,"Felhaszn\u00e1l\u00f3 kit\u00edlt\u00e1sa a cseveg\u0151 szob\u00e1b\u00f3l"],
  Message:[null,"\u00dczenet"],Save:[null,"Ment\u00e9s"],Cancel:[null,"M\u00e9gsem"],"An error occurred while trying to save the form.":[null,"Hiba t\u00f6rt\u00e9nt az adatok ment\u00e9se k\u00f6zben."],"This chatroom requires a password":[null,"A cseveg\u0151 szoba bel\u00e9p\u00e9shez jelsz\u00f3 sz\u00fcks\u00e9ges"],"Password: ":[null,"Jelsz\u00f3:"],Submit:[null,"K\u00fcld\u00e9s"],"This room is not anonymous":[null,"Ez a szoba NEM n\u00e9vtelen"],"This room now shows unavailable members":[null,
  "Ez a szoba mutatja az el\u00e9rhetetlen tagokat"],"This room does not show unavailable members":[null,"Ez a szoba nem mutatja az el\u00e9rhetetlen tagokat"],"Non-privacy-related room configuration has changed":[null,"A szoba \u00e1ltal\u00e1nos konfigur\u00e1ci\u00f3ja m\u00f3dosult"],"Room logging is now enabled":[null,"A szob\u00e1ba a bel\u00e9p\u00e9s lehets\u00e9ges"],"Room logging is now disabled":[null,"A szob\u00e1ba a bel\u00e9p\u00e9s sz\u00fcnetel"],"This room is now non-anonymous":[null,
  "Ez a szoba most NEM n\u00e9vtelen"],"This room is now semi-anonymous":[null,"Ez a szoba most f\u00e9lig n\u00e9vtelen"],"This room is now fully-anonymous":[null,"Ez a szoba most teljesen n\u00e9vtelen"],"A new room has been created":[null,"L\u00e9trej\u00f6tt egy \u00faj cseveg\u0151 szoba"],"Your nickname has been changed":[null,"A beceneved m\u00f3dos\u00edt\u00e1sra ker\u00fclt"],"<strong>%1$s</strong> has been banned":[null,"A szob\u00e1b\u00f3l kit\u00edltva: <strong>%1$s</strong>"],"<strong>%1$s</strong> has been kicked out":[null,
  "A szob\u00e1b\u00f3l kidobva: <strong>%1$s</strong>"],"<strong>%1$s</strong> has been removed because of an affiliation change":[null,"Taglista m\u00f3dos\u00edt\u00e1s miatt a szob\u00e1b\u00f3l kil\u00e9ptetve: <strong>%1$s</strong>"],"<strong>%1$s</strong> has been removed for not being a member":[null,"A taglist\u00e1n nem szerepel \u00edgy a szob\u00e1b\u00f3l kil\u00e9ptetve: <strong>%1$s</strong>"],"You have been banned from this room":[null,"Ki lett\u00e9l t\u00edltva ebb\u0151l a szob\u00e1b\u00f3l"],
  "You have been kicked from this room":[null,"Ki lett\u00e9l dobva ebb\u0151l a szob\u00e1b\u00f3l"],"You have been removed from this room because of an affiliation change":[null,"Taglista m\u00f3dos\u00edt\u00e1s miatt kil\u00e9ptett\u00fcnk a cseveg\u0151 szob\u00e1b\u00f3l"],"You have been removed from this room because the room has changed to members-only and you're not a member":[null,"Kil\u00e9ptett\u00fcnk a cseveg\u0151 szob\u00e1b\u00f3l, mert mostant\u00f3l csak a taglist\u00e1n szerepl\u0151k lehetnek jelen."],
  "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.":[null,"Kil\u00e9ptett\u00fcnk a cseveg\u0151 szob\u00e1b\u00f3l, mert a MUC (Multi-User Chat) szolg\u00e1ltat\u00e1s le\u00e1ll\u00edt\u00e1sra ker\u00fclt."],"You are not on the member list of this room":[null,"Nem szerepelsz a cseveg\u0151 szoba taglist\u00e1j\u00e1n"],"No nickname was specified":[null,"Nem lett megadva becen\u00e9v"],"You are not allowed to create new rooms":[null,"Nem lehet \u00faj cseveg\u0151 szob\u00e1t l\u00e9trehozni"],
  "Your nickname doesn't conform to this room's policies":[null,"A beceneved \u00fctk\u00f6zik a cseveg\u0151 szoba szab\u00e1lyzataival"],"Your nickname is already taken":[null,"A becenevedet m\u00e1r valaki haszn\u00e1lja"],"This room does not (yet) exist":[null,"Ez a szoba (m\u00e9g) nem l\u00e9tezik"],"This room has reached it's maximum number of occupants":[null,"Ez a cseveg\u0151 szoba el\u00e9rte a maxim\u00e1lis jelenlev\u0151k sz\u00e1m\u00e1t"],"Topic set by %1$s to: %2$s":[null,"A k\u00f6vetkez\u0151 t\u00e9m\u00e1t \u00e1ll\u00edtotta be %1$s: %2$s"],
  "This user is a moderator":[null,"Ez a felhaszn\u00e1l\u00f3 egy moder\u00e1tor"],"This user can send messages in this room":[null,"Ez a felhaszn\u00e1l\u00f3 k\u00fcldhet \u00fczenetet ebbe a szob\u00e1ba"],"This user can NOT send messages in this room":[null,"Ez a felhaszn\u00e1l\u00f3 NEM k\u00fcldhet \u00fczenetet ebbe a szob\u00e1ba"],"Click to chat with this contact":[null,"Cseveg\u00e9s ind\u00edt\u00e1sa ezzel a kapcsolatunkkal"],"Click to remove this contact":[null,"A kapcsolat t\u00f6rl\u00e9se"],
  "This contact is busy":[null,"Elfoglalt"],"This contact is online":[null,"Online"],"This contact is offline":[null,"Nincs bejelentkezve"],"This contact is unavailable":[null,"El\u00e9rhetetlen"],"This contact is away for an extended period":[null,"Hosszabb ideje t\u00e1vol"],"This contact is away":[null,"T\u00e1vol"],"Contact requests":[null,"Kapcsolat felv\u00e9teli k\u00e9r\u00e9s"],"My contacts":[null,"Kapcsolatok:"],"Pending contacts":[null,"F\u00fcgg\u0151ben lev\u0151 kapcsolatok"],"Custom status":[null,
  "Egyedi st\u00e1tusz"],"Click to change your chat status":[null,"Saj\u00e1t st\u00e1tusz be\u00e1ll\u00edt\u00e1sa"],"Click here to write a custom status message":[null,"Egyedi st\u00e1tusz \u00fczenet \u00edr\u00e1sa"],online:[null,"online"],busy:[null,"elfoglalt"],"away for long":[null,"hossz\u00fa ideje t\u00e1vol"],away:[null,"t\u00e1vol"],"I am %1$s":[null,"%1$s vagyok"],"Sign in":[null,"Bel\u00e9p\u00e9s"],"XMPP/Jabber Username:":[null,"XMPP/Jabber azonos\u00edt\u00f3:"],"Password:":[null,"Jelsz\u00f3:"],
  "Log In":[null,"Bel\u00e9p\u00e9s"],"BOSH Service URL:":[null,"BOSH szerver URL"],"Online Contacts":[null,"Online kapcsolatok"]}}};"function"===typeof define&&define.amd?define("hu",["jed"],function(){return b(new Jed(h))}):(window.locales||(window.locales={}),window.locales.hu=b(new Jed(h)))})(this,function(a){return a});
  (function(a,b){var h={domain:"converse",locale_data:{converse:{"":{"project-id-version":"Converse.js 0.7.0","report-msgid-bugs-to":"","pot-creation-date":"2014-01-22 17:07+0200","po-revision-date":"2014-01-25 21:30+0700","last-translator":"Priyadi Iman Nurcahyo <priyadi@priyadi.net>","language-team":"Bahasa Indonesia","mime-version":"1.0","content-type":"text/plain; charset=UTF-8","content-transfer-encoding":"8bit",language:"id"},unencrypted:[null,"tak dienkripsi"],unverified:[null,"tak diverifikasi"],
  verified:[null,"diverifikasi"],finished:[null,"selesai"],"This contact is busy":[null,"Teman ini sedang sibuk"],"This contact is online":[null,"Teman ini terhubung"],"This contact is offline":[null,"Teman ini tidak terhubung"],"This contact is unavailable":[null,"Teman ini tidak tersedia"],"This contact is away for an extended period":[null,"Teman ini tidak di tempat untuk waktu yang lama"],"This contact is away":[null,"Teman ini tidak di tempat"],Disconnected:[null,"Terputus"],Error:[null,"Kesalahan"],
  Connecting:[null,"Menyambung"],"Connection Failed":[null,"Gagal Menyambung"],Authenticating:[null,"Melakukan otentikasi"],"Authentication Failed":[null,"Otentikasi gagal"],Disconnecting:[null,"Memutuskan hubungan"],"Online Contacts":[null,"Teman yang Terhubung"],"Re-establishing encrypted session":[null,"Menyambung kembali sesi terenkripsi"],"Your browser needs to generate a private key, which will be used in your encrypted chat session. This can take up to 30 seconds during which your browser might freeze and become unresponsive.":[null,
  "Perambah anda perlu membuat kunci privat, yang akan digunakan pada sesi perbincangan anda. Ini akan membutuhkan waktu sampai 30 detik, dan selama itu perambah mungkin akan tidak responsif."],"Private key generated.":[null,"Kunci privat berhasil dibuat."],"Authentication request from %1$s\n\nYour buddy is attempting to verify your identity, by asking you the question below.\n\n%2$s":[null,"Permintaan otentikasi dari %1$s\n\nTeman anda mencoba untuk melakukan verifikasi identitas anda dengan cara menanyakan pertanyaan di bawah ini.\n\n%2$s"],
  "Could not verify this user's identify.":[null,"Tak dapat melakukan verifikasi identitas pengguna ini."],"Personal message":[null,"Pesan pribadi"],"Start encrypted conversation":[null,"Mulai sesi terenkripsi"],"Refresh encrypted conversation":[null,"Setel ulang percakapan terenkripsi"],"End encrypted conversation":[null,"Sudahi percakapan terenkripsi"],"Verify with SMP":[null,"Verifikasi menggunakan SMP"],"Verify with fingerprints":[null,"Verifikasi menggunakan sidik jari"],"What's this?":[null,"Apakah ini?"],
  me:[null,"saya"],"Show this menu":[null,"Tampilkan menu ini"],"Write in the third person":[null,"Tulis ini menggunakan bahasa pihak ketiga"],"Remove messages":[null,"Hapus pesan"],"Your message could not be sent":[null,"Pesan anda tak dapat dikirim"],"We received an unencrypted message":[null,"Kami menerima pesan terenkripsi"],"We received an unreadable encrypted message":[null,"Kami menerima pesan terenkripsi yang gagal dibaca"],"This user has requested an encrypted session.":[null,"Pengguna ini meminta sesi terenkripsi"],
  "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\n\nFingerprint for you, %2$s: %3$s\n\nFingerprint for %1$s: %4$s\n\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.":[null,"Ini adalah sidik jari anda, konfirmasikan bersama mereka dengan %1$s, di luar percakapan ini.\n\nSidik jari untuk anda, %2$s: %3$s\n\nSidik jari untuk %1$s: %4$s\n\nJika anda bisa mengkonfirmasi sidik jadi cocok, klik Lanjutkan, jika tidak klik Batal."],"You will be prompted to provide a security question and then an answer to that question.\n\nYour buddy will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will have been verified.":[null,
  "Anda akan ditanyakan pertanyaan untuk keamanan beserta jawaban untuk pertanyaan tersebut.\n\nTeman anda akan ditanyakan pertanyaan yang sama dan jika dia memberikan jawaban yang sama (huruf kapital diperhatikan), identitas mereka diverifikasi."],"What is your security question?":[null,"Apakah pertanyaan keamanan anda?"],"What is the answer to the security question?":[null,"Apa jawaban dari pertanyaan keamanan tersebut?"],"Invalid authentication scheme provided":[null,"Skema otentikasi salah"],"Your messages are not encrypted anymore":[null,
  "Pesan anda tidak lagi terenkripsi"],"Your messages are now encrypted but your buddy's identity has not been verified.":[null,"Pesan anda sekarang terenkripsi, namun identitas teman anda belum dapat diverifikasi."],"Your buddy's identify has been verified.":[null,"Identitas teman anda telah diverifikasi."],"Your buddy has ended encryption on their end, you should do the same.":[null,"Teman anda menghentikan percakapan terenkripsi, anda sebaiknya melakukan hal yang sama."],"Your messages are not encrypted. Click here to enable OTR encryption.":[null,
  "Pesan anda tak terenkripsi. Klik di sini untuk menyalakan enkripsi OTR."],"Your messages are encrypted, but your buddy has not been verified.":[null,"Pesan anda terenkripsi, tetapi teman anda belum diverifikasi."],"Your messages are encrypted and your buddy verified.":[null,"Pesan anda terenkripsi dan teman anda telah diverifikasi."],"Your buddy has closed their end of the private session, you should do the same":[null,"Teman anda telah mematikan sesi terenkripsi, dan anda juga sebaiknya melakukan hal yang sama"],
  Contacts:[null,"Teman"],Online:[null,"Terhubung"],Busy:[null,"Sibuk"],Away:[null,"Pergi"],Offline:[null,"Tak Terhubung"],"Click to add new chat contacts":[null,"Klik untuk menambahkan teman baru"],"Add a contact":[null,"Tambah teman"],"Contact username":[null,"Username teman"],Add:[null,"Tambah"],"Contact name":[null,"Nama teman"],Search:[null,"Cari"],"No users found":[null,"Pengguna tak ditemukan"],"Click to add as a chat contact":[null,"Klik untuk menambahkan sebagai teman"],"Click to open this room":[null,
  "Klik untuk membuka ruangan ini"],"Show more information on this room":[null,"Tampilkan informasi ruangan ini"],"Description:":[null,"Keterangan:"],"Occupants:":[null,"Penghuni:"],"Features:":[null,"Fitur:"],"Requires authentication":[null,"Membutuhkan otentikasi"],Hidden:[null,"Tersembunyi"],"Requires an invitation":[null,"Membutuhkan undangan"],Moderated:[null,"Dimoderasi"],"Non-anonymous":[null,"Tidak anonim"],"Open room":[null,"Ruangan terbuka"],"Permanent room":[null,"Ruangan permanen"],Public:[null,
  "Umum"],"Semi-anonymous":[null,"Semi-anonim"],"Temporary room":[null,"Ruangan sementara"],Unmoderated:[null,"Tak dimoderasi"],Rooms:[null,"Ruangan"],"Room name":[null,"Nama ruangan"],Nickname:[null,"Nama panggilan"],Server:[null,"Server"],Join:[null,"Ikuti"],"Show rooms":[null,"Perlihatkan ruangan"],"No rooms on %1$s":[null,"Tak ada ruangan di %1$s"],"Rooms on %1$s":[null,"Ruangan di %1$s"],"Set chatroom topic":[null,"Setel topik ruangan"],"Kick user from chatroom":[null,"Tendang pengguna dari ruangan"],
  "Ban user from chatroom":[null,"Larang pengguna dari ruangan"],Message:[null,"Pesan"],Save:[null,"Simpan"],Cancel:[null,"Batal"],"An error occurred while trying to save the form.":[null,"Kesalahan terjadi saat menyimpan formulir ini."],"This chatroom requires a password":[null,"Ruangan ini membutuhkan kata sandi"],"Password: ":[null,"Kata sandi: "],Submit:[null,"Kirim"],"This room is not anonymous":[null,"Ruangan ini tidak anonim"],"This room now shows unavailable members":[null,"Ruangan ini menampilkan anggota yang tak tersedia"],
  "This room does not show unavailable members":[null,"Ruangan ini tidak menampilkan anggota yang tak tersedia"],"Non-privacy-related room configuration has changed":[null,"Konfigurasi ruangan yang tak berhubungan dengan privasi telah diubah"],"Room logging is now enabled":[null,"Pencatatan di ruangan ini sekarang dinyalakan"],"Room logging is now disabled":[null,"Pencatatan di ruangan ini sekarang dimatikan"],"This room is now non-anonymous":[null,"Ruangan ini sekarang tak-anonim"],"This room is now semi-anonymous":[null,
  "Ruangan ini sekarang semi-anonim"],"This room is now fully-anonymous":[null,"Ruangan ini sekarang anonim"],"A new room has been created":[null,"Ruangan baru telah dibuat"],"Your nickname has been changed":[null,"Nama panggilan anda telah diubah"],"<strong>%1$s</strong> has been banned":[null,"<strong>%1$s</strong> telah dicekal"],"<strong>%1$s</strong> has been kicked out":[null,"<strong>%1$s</strong> telah ditendang keluar"],"<strong>%1$s</strong> has been removed because of an affiliation change":[null,
  "<strong>%1$s</strong> telah dihapus karena perubahan afiliasi"],"<strong>%1$s</strong> has been removed for not being a member":[null,"<strong>%1$s</strong> telah dihapus karena bukan anggota"],"You have been banned from this room":[null,"Anda telah dicekal dari ruangan ini"],"You have been kicked from this room":[null,"Anda telah ditendang dari ruangan ini"],"You have been removed from this room because of an affiliation change":[null,"Anda telah dihapus dari ruangan ini karena perubahan afiliasi"],
  "You have been removed from this room because the room has changed to members-only and you're not a member":[null,"Anda telah dihapus dari ruangan ini karena ruangan ini hanya terbuka untuk anggota dan anda bukan anggota"],"You have been removed from this room because the MUC (Multi-user chat) service is being shut down.":[null,"Anda telah dihapus dari ruangan ini karena layanan MUC (Multi-user chat) telah dimatikan."],"You are not on the member list of this room":[null,"Anda bukan anggota dari ruangan ini"],
  "No nickname was specified":[null,"Nama panggilan belum ditentukan"],"You are not allowed to create new rooms":[null,"Anda tak diizinkan untuk membuat ruangan baru"],"Your nickname doesn't conform to this room's policies":[null,"Nama panggilan anda tidak sesuai aturan ruangan ini"],"Your nickname is already taken":[null,"Nama panggilan anda telah digunakan orang lain"],"This room does not (yet) exist":[null,"Ruangan ini belum dibuat"],"This room has reached it's maximum number of occupants":[null,
  "Ruangan ini telah mencapai jumlah penghuni maksimum"],"Topic set by %1$s to: %2$s":[null,"Topik diganti oleh %1$s menjadi: %2$s"],"This user is a moderator":[null,"Pengguna ini adalah moderator"],"This user can send messages in this room":[null,"Pengguna ini dapat mengirim pesan di ruangan ini"],"This user can NOT send messages in this room":[null,"Pengguna ini tak dapat mengirim pesan di ruangan ini"],"Click to chat with this contact":[null,"Klik untuk mulai perbinjangan dengan teman ini"],"Click to remove this contact":[null,
  "Klik untuk menghapus teman ini"],"Contact requests":[null,"Permintaan pertemanan"],"My contacts":[null,"Teman saya"],"Pending contacts":[null,"Teman yang menunggu"],"Custom status":[null,"Status kustom"],"Click to change your chat status":[null,"Klik untuk mengganti status"],"Click here to write a custom status message":[null,"Klik untuk menulis status kustom"],online:[null,"terhubung"],busy:[null,"sibuk"],"away for long":[null,"lama tak di tempat"],away:[null,"tak di tempat"],"I am %1$s":[null,
  "Saya %1$s"],"Sign in":[null,"Masuk"],"XMPP/Jabber Username:":[null,"Nama pengguna XMPP/Jabber:"],"Password:":[null,"Kata sandi:"],"Log In":[null,"Masuk"],"BOSH Service URL:":[null,"URL Layanan BOSH:"]}}};"function"===typeof define&&define.amd?define("id",["jed"],function(){return b(new Jed(h))}):(window.locales||(window.locales={}),window.locales.id=b(new Jed(h)))})(this,function(a){return a});
  (function(a,b){var h={domain:"converse",locale_data:{converse:{"":{"Project-Id-Version":"Converse.js 0.4","Report-Msgid-Bugs-To":"","POT-Creation-Date":"2013-09-15 21:55+0200","PO-Revision-Date":"2013-09-15 22:00+0200","Last-Translator":"Fabio Bas <ctrlaltca@gmail.com>","Language-Team":"Italian",Language:"it","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Plural-Forms":"nplurals=2; plural=(n != 1);",domain:"converse",lang:"it",plural_forms:"nplurals=2; plural=(n != 1);"},
  unencrypted:[null,""],unverified:[null,""],verified:[null,""],finished:[null,""],Disconnected:[null,"Disconnesso"],Error:[null,"Errore"],Connecting:[null,"Connessione in corso"],"Connection Failed":[null,"Connessione fallita"],Authenticating:[null,"Autenticazione in corso"],"Authentication Failed":[null,"Autenticazione fallita"],Disconnecting:[null,"Disconnessione in corso"],"Re-establishing encrypted session":[null,""],"Your browser needs to generate a private key, which will be used in your encrypted chat session. This can take up to 30 seconds during which your browser might freeze and become unresponsive.":[null,
  ""],"Private key generated.":[null,""],"Authentication request from %1$s\n\nYour buddy is attempting to verify your identity, by asking you the question below.\n\n%2$s":[null,""],"Could not verify this user's identify.":[null,""],"Personal message":[null,"Messaggio personale"],"Start encrypted conversation":[null,""],"Refresh encrypted conversation":[null,""],"End encrypted conversation":[null,""],"Verify with SMP":[null,""],"Verify with fingerprints":[null,""],"What's this?":[null,""],me:[null,""],
  "Show this menu":[null,"Mostra questo menu"],"Write in the third person":[null,"Scrivi in terza persona"],"Remove messages":[null,"Rimuovi messaggi"],"Your message could not be sent":[null,""],"We received an unencrypted message":[null,""],"We received an unreadable encrypted message":[null,""],"This user has requested an encrypted session.":[null,""],"Here are the fingerprints, please confirm them with %1$s, outside of this chat.\n\nFingerprint for you, %2$s: %3$s\n\nFingerprint for %1$s: %4$s\n\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.":[null,
  ""],"You will be prompted to provide a security question and then an answer to that question.\n\nYour buddy will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will have been verified.":[null,""],"What is your security question?":[null,""],"What is the answer to the security question?":[null,""],"Invalid authentication scheme provided":[null,""],"Your messages are not encrypted anymore":[null,""],"Your messages are now encrypted but your buddy's identity has not been verified.":[null,
  ""],"Your buddy's identify has been verified.":[null,""],"Your buddy has ended encryption on their end, you should do the same.":[null,""],"Your messages are not encrypted. Click here to enable OTR encryption.":[null,""],"Your messages are encrypted, but your buddy has not been verified.":[null,""],"Your messages are encrypted and your buddy verified.":[null,""],"Your buddy has closed their end of the private session, you should do the same":[null,""],Contacts:[null,"Contatti"],Online:[null,"In linea"],
  Busy:[null,"Occupato"],Away:[null,"Assente"],Offline:[null,"Non in linea"],"Click to add new chat contacts":[null,"Clicca per aggiungere nuovi contatti alla chat"],"Add a contact":[null,"Aggiungi contatti"],"Contact username":[null,"Nome utente del contatto"],Add:[null,"Aggiungi"],"Contact name":[null,"Nome del contatto"],Search:[null,"Cerca"],"No users found":[null,"Nessun utente trovato"],"Click to add as a chat contact":[null,"Clicca per aggiungere il contatto alla chat"],"Click to open this room":[null,
  "Clicca per aprire questa stanza"],"Show more information on this room":[null,"Mostra pi\u00f9 informazioni su questa stanza"],"Description:":[null,"Descrizione:"],"Occupants:":[null,"Utenti presenti:"],"Features:":[null,"Funzionalit\u00e0:"],"Requires authentication":[null,"Richiede autenticazione"],Hidden:[null,"Nascosta"],"Requires an invitation":[null,"Richiede un invito"],Moderated:[null,"Moderata"],"Non-anonymous":[null,"Non-anonima"],"Open room":[null,"Stanza aperta"],"Permanent room":[null,
  "Stanza permanente"],Public:[null,"Pubblica"],"Semi-anonymous":[null,"Semi-anonima"],"Temporary room":[null,"Stanza temporanea"],Unmoderated:[null,"Non moderata"],Rooms:[null,"Stanze"],"Room name":[null,"Nome stanza"],Nickname:[null,"Soprannome"],Server:[null,"Server"],Join:[null,"Entra"],"Show rooms":[null,"Mostra stanze"],"No rooms on %1$s":[null,"Nessuna stanza su %1$s"],"Rooms on %1$s":[null,"Stanze su %1$s"],"Set chatroom topic":[null,"Cambia oggetto della stanza"],"Kick user from chatroom":[null,
  "Espelli utente dalla stanza"],"Ban user from chatroom":[null,"Bandisci utente dalla stanza"],Message:[null,"Messaggio"],Save:[null,"Salva"],Cancel:[null,"Annulla"],"An error occurred while trying to save the form.":[null,"Errore durante il salvataggio del modulo"],"This chatroom requires a password":[null,"Questa stanza richiede una password"],"Password: ":[null,"Password: "],Submit:[null,"Invia"],"This room is not anonymous":[null,"Questa stanza non \u00e8 anonima"],"This room now shows unavailable members":[null,
  "Questa stanza mostra i membri non disponibili al momento"],"This room does not show unavailable members":[null,"Questa stanza non mostra i membri non disponibili"],"Non-privacy-related room configuration has changed":[null,"Una configurazione della stanza non legata alla privacy \u00e8 stata modificata"],"Room logging is now enabled":[null,"La registrazione \u00e8 abilitata nella stanza"],"Room logging is now disabled":[null,"La registrazione \u00e8 disabilitata nella stanza"],"This room is now non-anonymous":[null,
  "Questa stanza \u00e8 non-anonima"],"This room is now semi-anonymous":[null,"Questa stanza \u00e8 semi-anonima"],"This room is now fully-anonymous":[null,"Questa stanza \u00e8 completamente-anonima"],"A new room has been created":[null,"Una nuova stanza \u00e8 stata creata"],"Your nickname has been changed":[null,"Il tuo soprannome \u00e8 stato cambiato"],"<strong>%1$s</strong> has been banned":[null,"<strong>%1$s</strong> \u00e8 stato bandito"],"<strong>%1$s</strong> has been kicked out":[null,"<strong>%1$s</strong> \u00e8 stato espulso"],
  "<strong>%1$s</strong> has been removed because of an affiliation change":[null,"<strong>%1$s</strong> \u00e8 stato rimosso a causa di un cambio di affiliazione"],"<strong>%1$s</strong> has been removed for not being a member":[null,"<strong>%1$s</strong> \u00e8 stato rimosso in quanto non membro"],"You have been banned from this room":[null,"Sei stato bandito da questa stanza"],"You have been kicked from this room":[null,"Sei stato espulso da questa stanza"],"You have been removed from this room because of an affiliation change":[null,
  "Sei stato rimosso da questa stanza a causa di un cambio di affiliazione"],"You have been removed from this room because the room has changed to members-only and you're not a member":[null,"Sei stato rimosso da questa stanza poich\u00e9 ora la stanza accetta solo membri"],"You have been removed from this room because the MUC (Multi-user chat) service is being shut down.":[null,"Sei stato rimosso da questa stanza poich\u00e9 il servizio MUC (Chat multi utente) \u00e8 in fase di spegnimento"],"You are not on the member list of this room":[null,
  "Non sei nella lista dei membri di questa stanza"],"No nickname was specified":[null,"Nessun soprannome specificato"],"You are not allowed to create new rooms":[null,"Non ti \u00e8 permesso creare nuove stanze"],"Your nickname doesn't conform to this room's policies":[null,"Il tuo soprannome non \u00e8 conforme alle regole di questa stanza"],"Your nickname is already taken":[null,"Il tuo soprannome \u00e8 gi\u00e0 utilizzato"],"This room does not (yet) exist":[null,"Questa stanza non esiste (per ora)"],
  "This room has reached it's maximum number of occupants":[null,"Questa stanza ha raggiunto il limite massimo di utenti"],"Topic set by %1$s to: %2$s":[null,"Topic impostato da %1$s a: %2$s"],"This user is a moderator":[null,"Questo utente \u00e8 un moderatore"],"This user can send messages in this room":[null,"Questo utente pu\u00f2 inviare messaggi in questa stanza"],"This user can NOT send messages in this room":[null,"Questo utente NON pu\u00f2 inviare messaggi in questa stanza"],"Click to chat with this contact":[null,
  "Clicca per parlare con questo contatto"],"Click to remove this contact":[null,"Clicca per rimuovere questo contatto"],"This contact is busy":[null,""],"This contact is online":[null,""],"This contact is offline":[null,""],"This contact is unavailable":[null,"Questa stanza mostra i membri non disponibili al momento"],"This contact is away for an extended period":[null,""],"This contact is away":[null,""],"Contact requests":[null,"Richieste dei contatti"],"My contacts":[null,"I miei contatti"],"Pending contacts":[null,
  "Contatti in attesa"],"Custom status":[null,"Stato personalizzato"],"Click to change your chat status":[null,"Clicca per cambiare il tuo stato"],"Click here to write a custom status message":[null,"Clicca qui per scrivere un messaggio di stato personalizzato"],online:[null,"in linea"],busy:[null,"occupato"],"away for long":[null,"assente da molto"],away:[null,"assente"],"I am %1$s":[null,"Sono %1$s"],"Sign in":[null,"Accesso"],"XMPP/Jabber Username:":[null,"Nome utente:"],"Password:":[null,"Password:"],
  "Log In":[null,"Entra"],"BOSH Service URL:":[null,"Indirizzo servizio BOSH:"],"Online Contacts":[null,"Contatti in linea"],Connected:[null,"Connesso"],Attached:[null,"Allegato"]}}};"function"===typeof define&&define.amd?define("it",["jed"],function(){return b(new Jed(h))}):(window.locales||(window.locales={}),window.locales.it=b(new Jed(h)))})(this,function(a){return a});
  (function(a,b){var h={domain:"converse",locale_data:{converse:{"":{"Project-Id-Version":"Converse.js 0.4","Report-Msgid-Bugs-To":"","POT-Creation-Date":"2014-01-07 11:12+0900","PO-Revision-Date":"2014-01-07 11:32+0900","Last-Translator":"Mako N <mako@pasero.net>","Language-Team":"Language JA",Language:"JA","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Plural-Forms":"nplurals=1; plural=0;"},unencrypted:[null,"\u6697\u53f7\u5316\u3055\u308c\u3066\u3044\u307e\u305b\u3093"],
  unverified:[null,"\u691c\u8a3c\u3055\u308c\u3066\u3044\u307e\u305b\u3093"],verified:[null,"\u691c\u8a3c\u3055\u308c\u307e\u3057\u305f"],finished:[null,"\u5b8c\u4e86"],"This contact is busy":[null,"\u3053\u306e\u76f8\u624b\u5148\u306f\u53d6\u308a\u8fbc\u307f\u4e2d\u3067\u3059"],"This contact is online":[null,"\u3053\u306e\u76f8\u624b\u5148\u306f\u5728\u5e2d\u3057\u3066\u3044\u307e\u3059"],"This contact is offline":[null,"\u3053\u306e\u76f8\u624b\u5148\u306f\u30aa\u30d5\u30e9\u30a4\u30f3\u3067\u3059"],
  "This contact is unavailable":[null,"\u3053\u306e\u76f8\u624b\u5148\u306f\u4e0d\u901a\u3067\u3059"],"This contact is away for an extended period":[null,"\u3053\u306e\u76f8\u624b\u5148\u306f\u4e0d\u5728\u3067\u3059"],"This contact is away":[null,"\u3053\u306e\u76f8\u624b\u5148\u306f\u96e2\u5e2d\u4e2d\u3067\u3059"],Disconnected:[null,"\u5207\u65ad\u4e2d"],Error:[null,"\u30a8\u30e9\u30fc"],Connecting:[null,"\u63a5\u7d9a\u4e2d\u3067\u3059"],"Connection Failed":[null,"\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f"],
  Authenticating:[null,"\u8a8d\u8a3c\u4e2d"],"Authentication Failed":[null,"\u8a8d\u8a3c\u306b\u5931\u6557"],Disconnecting:[null,"\u5207\u65ad"],"Online Contacts":[null,"\u30aa\u30f3\u30e9\u30a4\u30f3\u306e\u76f8\u624b\u5148"],"Re-establishing encrypted session":[null,"\u6697\u53f7\u5316\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u518d\u63a5\u7d9a"],"Your browser needs to generate a private key, which will be used in your encrypted chat session. This can take up to 30 seconds during which your browser might freeze and become unresponsive.":[null,
  "\u6697\u53f7\u5316\u30c1\u30e3\u30c3\u30c8\u3067\u4f7f\u7528\u3059\u308b\u79d8\u5bc6\u9375\u3092\u751f\u6210\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u306b\u306f30\u79d2\u307b\u3069\u304b\u304b\u308a\u3001\u305d\u306e\u3042\u3044\u3060\u30d6\u30e9\u30a6\u30b6\u304c\u30d5\u30ea\u30fc\u30ba\u3057\u3066\u53cd\u5fdc\u3057\u306a\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002"],"Private key generated.":[null,"\u79d8\u5bc6\u9375\u3092\u751f\u6210\u3057\u307e\u3057\u305f\u3002"],
  "Authentication request from %1$s\n\nYour buddy is attempting to verify your identity, by asking you the question below.\n\n%2$s":[null,"%1$s \u304b\u3089\u306e\u8a8d\u8a3c\u306e\u30ea\u30af\u30a8\u30b9\u30c8\n\n\u76f8\u624b\u306f\u3042\u306a\u305f\u306e\u672c\u4eba\u6027\u3092\u691c\u8a3c\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059\u3002\u6b21\u306e\u8cea\u554f\u306b\u7b54\u3048\u3066\u304f\u3060\u3055\u3044\u3002\n\n%2$s"],"Could not verify this user's identify.":[null,"\u3053\u306e\u30e6\u30fc\u30b6\u30fc\u306e\u672c\u4eba\u6027\u3092\u691c\u8a3c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"],
  "Personal message":[null,"\u79c1\u4fe1"],"Start encrypted conversation":[null,"\u6697\u53f7\u5316\u3055\u308c\u305f\u4f1a\u8a71\u3092\u958b\u59cb"],"Refresh encrypted conversation":[null,"\u6697\u53f7\u5316\u3055\u308c\u305f\u4f1a\u8a71\u3092\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5"],"End encrypted conversation":[null,"\u6697\u53f7\u5316\u3055\u308c\u305f\u4f1a\u8a71\u3092\u7d42\u4e86"],"Verify with SMP":[null,"SMP \u3067\u691c\u8a3c"],"Verify with fingerprints":[null,"\u9375\u6307\u7d0b\u3067\u691c\u8a3c"],
  "What's this?":[null,"\u3053\u308c\u306f\u4f55\u3067\u3059\u304b?"],me:[null,"\u79c1"],"Show this menu":[null,"\u3053\u306e\u30e1\u30cb\u30e5\u30fc\u3092\u8868\u793a"],"Write in the third person":[null,"\u7b2c\u4e09\u8005\u306b\u66f8\u304f"],"Remove messages":[null,"\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u524a\u9664"],"Your message could not be sent":[null,"\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f"],"We received an unencrypted message":[null,"\u6697\u53f7\u5316\u3055\u308c\u3066\u3044\u306a\u3044\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u53d7\u4fe1\u3057\u307e\u3057\u305f"],
  "We received an unreadable encrypted message":[null,"\u8aad\u3081\u306a\u3044\u6697\u53f7\u5316\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u53d7\u4fe1\u3057\u307e\u3057\u305f"],"This user has requested an encrypted session.":[null,"\u3053\u306e\u30e6\u30fc\u30b6\u30fc\u306f\u6697\u53f7\u5316\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u6c42\u3081\u3066\u3044\u307e\u3059\u3002"],"Here are the fingerprints, please confirm them with %1$s, outside of this chat.\n\nFingerprint for you, %2$s: %3$s\n\nFingerprint for %1$s: %4$s\n\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.":[null,
  "\u3053\u308c\u306f\u9375\u6307\u7d0b\u3067\u3059\u3002\u30c1\u30e3\u30c3\u30c8\u4ee5\u5916\u306e\u65b9\u6cd5\u3067\u3053\u308c\u3089\u3092 %1$s \u3068\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\n\u3042\u306a\u305f %2$s \u306e\u9375\u6307\u7d0b: %3$s\n\n%1$s \u306e\u9375\u6307\u7d0b: %4$s\n\n\u78ba\u8a8d\u3057\u3066\u3001\u9375\u6307\u7d0b\u304c\u6b63\u3057\u3051\u308c\u3070\u300cOK\u300d\u3092\u3001\u6b63\u3057\u304f\u306a\u3051\u308c\u3070\u300c\u30ad\u30e3\u30f3\u30bb\u30eb\u300d\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002"],
  "You will be prompted to provide a security question and then an answer to that question.\n\nYour buddy will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will have been verified.":[null,"\u79d8\u5bc6\u306e\u8cea\u554f\u3092\u5165\u529b\u3057\u3001\u305d\u308c\u306b\u5bfe\u3057\u3066\u7b54\u3048\u308b\u3088\u3046\u306b\u4fc3\u3055\u308c\u307e\u3059\u3002\n\n\u76f8\u624b\u306b\u3082\u3001\u540c\u3058\u8cea\u554f\u304c\u8868\u793a\u3055\u308c\u3001\u6b63\u3057\u304f\u540c\u3058\u7b54(\u5927\u6587\u5b57\u30fb\u5c0f\u6587\u5b57\u306f\u533a\u5225\u3055\u308c\u307e\u3059)\u3092\u5165\u529b\u3059\u308b\u3053\u3068\u3067\u3001\u672c\u4eba\u6027\u3092\u691c\u8a3c\u3057\u307e\u3059\u3002"],
  "What is your security question?":[null,"\u79d8\u5bc6\u306e\u8cea\u554f\u306f\u306a\u3093\u3067\u3059\u304b?"],"What is the answer to the security question?":[null,"\u79d8\u5bc6\u306e\u8cea\u554f\u306e\u7b54\u306f\u306a\u3093\u3067\u3059\u304b?"],"Invalid authentication scheme provided":[null,"\u8a8d\u8a3c\u306e\u65b9\u5f0f\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093"],"Your messages are not encrypted anymore":[null,"\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u3082\u3046\u6697\u53f7\u5316\u3055\u308c\u307e\u305b\u3093"],
  "Your messages are now encrypted but your buddy's identity has not been verified.":[null,"\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u6697\u53f7\u5316\u3055\u308c\u307e\u3059\u304c\u3001\u76f8\u624b\u304c\u672c\u4eba\u3067\u3042\u308b\u3053\u3068\u306f\u691c\u8a3c\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"],"Your buddy's identify has been verified.":[null,"\u76f8\u624b\u306e\u672c\u4eba\u6027\u3092\u691c\u8a3c\u3057\u307e\u3057\u305f\u3002"],"Your buddy has ended encryption on their end, you should do the same.":[null,
  "\u76f8\u624b\u306f\u3001\u6697\u53f7\u5316\u3092\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002\u3042\u306a\u305f\u3082\u305d\u308c\u306b\u5408\u308f\u305b\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"],"Your messages are not encrypted. Click here to enable OTR encryption.":[null,"\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u6697\u53f7\u5316\u3055\u308c\u307e\u305b\u3093\u3002OTR \u6697\u53f7\u5316\u3092\u6709\u52b9\u306b\u3059\u308b\u306b\u306f\u3053\u3053\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002"],
  "Your messages are encrypted, but your buddy has not been verified.":[null,"\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u6697\u53f7\u5316\u3055\u308c\u307e\u3059\u304c\u3001\u76f8\u624b\u306f\u691c\u8a3c\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"],"Your messages are encrypted and your buddy verified.":[null,"\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u6697\u53f7\u5316\u3055\u308c\u3001\u76f8\u624b\u3082\u691c\u8a3c\u3055\u308c\u3066\u3044\u307e\u3059\u3002"],"Your buddy has closed their end of the private session, you should do the same":[null,
  "\u76f8\u624b\u306f\u79c1\u4fe1\u3092\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002\u3042\u306a\u305f\u3082\u540c\u3058\u3088\u3046\u306b\u3057\u3066\u304f\u3060\u3055\u3044"],Contacts:[null,"\u76f8\u624b\u5148"],Online:[null,"\u30aa\u30f3\u30e9\u30a4\u30f3"],Busy:[null,"\u53d6\u308a\u8fbc\u307f\u4e2d"],Away:[null,"\u96e2\u5e2d\u4e2d"],Offline:[null,"\u30aa\u30d5\u30e9\u30a4\u30f3"],"Click to add new chat contacts":[null,"\u30af\u30ea\u30c3\u30af\u3057\u3066\u65b0\u3057\u3044\u30c1\u30e3\u30c3\u30c8\u306e\u76f8\u624b\u5148\u3092\u8ffd\u52a0"],
  "Add a contact":[null,"\u76f8\u624b\u5148\u3092\u8ffd\u52a0"],"Contact username":[null,"\u76f8\u624b\u5148\u306e\u540d\u524d"],Add:[null,"\u8ffd\u52a0"],"Contact name":[null,"\u540d\u524d"],Search:[null,"\u691c\u7d22"],"No users found":[null,"\u30e6\u30fc\u30b6\u30fc\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093"],"Click to add as a chat contact":[null,"\u30af\u30ea\u30c3\u30af\u3057\u3066\u30c1\u30e3\u30c3\u30c8\u306e\u76f8\u624b\u5148\u3068\u3057\u3066\u8ffd\u52a0"],"Click to open this room":[null,
  "\u30af\u30ea\u30c3\u30af\u3057\u3066\u3053\u306e\u8ac7\u8a71\u5ba4\u3092\u958b\u304f"],"Show more information on this room":[null,"\u3053\u306e\u8ac7\u8a71\u5ba4\u306b\u3064\u3044\u3066\u306e\u8a73\u7d30\u3092\u898b\u308b"],"Description:":[null,"\u8aac\u660e: "],"Occupants:":[null,"\u5165\u5ba4\u8005:"],"Features:":[null,"\u7279\u5fb4:"],"Requires authentication":[null,"\u8a8d\u8a3c\u306e\u8981\u6c42"],Hidden:[null,"\u975e\u8868\u793a"],"Requires an invitation":[null,"\u62db\u5f85\u306e\u8981\u6c42"],
  Moderated:[null,"\u767a\u8a00\u5236\u9650"],"Non-anonymous":[null,"\u975e\u533f\u540d"],"Open room":[null,"\u958b\u653e\u8ac7\u8a71\u5ba4"],"Permanent room":[null,"\u5e38\u8a2d\u8ac7\u8a71\u5ba4"],Public:[null,"\u516c\u958b\u8ac7\u8a71\u5ba4"],"Semi-anonymous":[null,"\u534a\u533f\u540d"],"Temporary room":[null,"\u81e8\u6642\u8ac7\u8a71\u5ba4"],Unmoderated:[null,"\u767a\u8a00\u5236\u9650\u306a\u3057"],Rooms:[null,"\u8ac7\u8a71\u5ba4"],"Room name":[null,"\u8ac7\u8a71\u5ba4\u306e\u540d\u524d"],Nickname:[null,
  "\u30cb\u30c3\u30af\u30cd\u30fc\u30e0"],Server:[null,"\u30b5\u30fc\u30d0\u30fc"],Join:[null,"\u5165\u5ba4"],"Show rooms":[null,"\u8ac7\u8a71\u5ba4\u4e00\u89a7\u3092\u898b\u308b"],"No rooms on %1$s":[null,"%1$s \u306b\u8ac7\u8a71\u5ba4\u306f\u3042\u308a\u307e\u305b\u3093"],"Rooms on %1$s":[null,"%1$s \u306e\u8ac7\u8a71\u5ba4\u4e00\u89a7"],"Set chatroom topic":[null,"\u8ac7\u8a71\u5ba4\u306e\u8a71\u984c\u3092\u8a2d\u5b9a"],"Kick user from chatroom":[null,"\u30e6\u30fc\u30b6\u30fc\u3092\u8ac7\u8a71\u5ba4\u304b\u3089\u8e74\u308a\u51fa\u3059"],
  "Ban user from chatroom":[null,"\u30e6\u30fc\u30b6\u30fc\u3092\u8ac7\u8a71\u5ba4\u304b\u3089\u7de0\u3081\u51fa\u3059"],Message:[null,"\u30e1\u30c3\u30bb\u30fc\u30b8"],Save:[null,"\u4fdd\u5b58"],Cancel:[null,"\u30ad\u30e3\u30f3\u30bb\u30eb"],"An error occurred while trying to save the form.":[null,"\u30d5\u30a9\u30fc\u30e0\u3092\u4fdd\u5b58\u3059\u308b\u969b\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002"],"This chatroom requires a password":[null,"\u3053\u306e\u8ac7\u8a71\u5ba4\u306b\u306f\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u5fc5\u8981\u3067\u3059"],
  "Password: ":[null,"\u30d1\u30b9\u30ef\u30fc\u30c9:"],Submit:[null,"\u9001\u4fe1"],"This room is not anonymous":[null,"\u3053\u306e\u8ac7\u8a71\u5ba4\u306f\u975e\u533f\u540d\u3067\u3059"],"This room now shows unavailable members":[null,"\u3053\u306e\u8ac7\u8a71\u5ba4\u306f\u30e1\u30f3\u30d0\u30fc\u4ee5\u5916\u306b\u3082\u898b\u3048\u307e\u3059"],"This room does not show unavailable members":[null,"\u3053\u306e\u8ac7\u8a71\u5ba4\u306f\u30e1\u30f3\u30d0\u30fc\u4ee5\u5916\u306b\u306f\u898b\u3048\u307e\u305b\u3093"],
  "Non-privacy-related room configuration has changed":[null,"\u8ac7\u8a71\u5ba4\u306e\u8a2d\u5b9a(\u30d7\u30e9\u30a4\u30d0\u30b7\u30fc\u306b\u7121\u95a2\u4fc2)\u304c\u5909\u66f4\u3055\u308c\u307e\u3057\u305f"],"Room logging is now enabled":[null,"\u8ac7\u8a71\u5ba4\u306e\u8a18\u9332\u3092\u53d6\u308a\u306f\u3058\u3081\u307e\u3059"],"Room logging is now disabled":[null,"\u8ac7\u8a71\u5ba4\u306e\u8a18\u9332\u3092\u6b62\u3081\u307e\u3059"],"This room is now non-anonymous":[null,"\u3053\u306e\u8ac7\u8a71\u5ba4\u306f\u305f\u3060\u3044\u307e\u975e\u533f\u540d\u3067\u3059"],
  "This room is now semi-anonymous":[null,"\u3053\u306e\u8ac7\u8a71\u5ba4\u306f\u305f\u3060\u3044\u307e\u534a\u533f\u540d\u3067\u3059"],"This room is now fully-anonymous":[null,"\u3053\u306e\u8ac7\u8a71\u5ba4\u306f\u305f\u3060\u3044\u307e\u533f\u540d\u3067\u3059"],"A new room has been created":[null,"\u65b0\u3057\u3044\u8ac7\u8a71\u5ba4\u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f"],"Your nickname has been changed":[null,"\u30cb\u30c3\u30af\u30cd\u30fc\u30e0\u3092\u5909\u66f4\u3057\u307e\u3057\u305f"],
  "<strong>%1$s</strong> has been banned":[null,"<strong>%1$s</strong> \u3092\u7de0\u3081\u51fa\u3057\u307e\u3057\u305f"],"<strong>%1$s</strong> has been kicked out":[null,"<strong>%1$s</strong> \u3092\u8e74\u308a\u51fa\u3057\u307e\u3057\u305f"],"<strong>%1$s</strong> has been removed because of an affiliation change":[null,"\u5206\u638c\u306e\u5909\u66f4\u306e\u305f\u3081\u3001<strong>%1$s</strong> \u3092\u524a\u9664\u3057\u307e\u3057\u305f"],"<strong>%1$s</strong> has been removed for not being a member":[null,
  "\u30e1\u30f3\u30d0\u30fc\u3067\u306a\u304f\u306a\u3063\u305f\u305f\u3081\u3001<strong>%1$s</strong> \u3092\u524a\u9664\u3057\u307e\u3057\u305f"],"You have been banned from this room":[null,"\u3053\u306e\u8ac7\u8a71\u5ba4\u304b\u3089\u7de0\u3081\u51fa\u3055\u308c\u307e\u3057\u305f"],"You have been kicked from this room":[null,"\u3053\u306e\u8ac7\u8a71\u5ba4\u304b\u3089\u8e74\u308a\u51fa\u3055\u308c\u307e\u3057\u305f"],"You have been removed from this room because of an affiliation change":[null,"\u5206\u638c\u306e\u5909\u66f4\u306e\u305f\u3081\u3001\u3053\u306e\u8ac7\u8a71\u5ba4\u304b\u3089\u524a\u9664\u3055\u308c\u307e\u3057\u305f"],
  "You have been removed from this room because the room has changed to members-only and you're not a member":[null,"\u8ac7\u8a71\u5ba4\u304c\u30e1\u30f3\u30d0\u30fc\u5236\u306b\u5909\u66f4\u3055\u308c\u307e\u3057\u305f\u3002\u30e1\u30f3\u30d0\u30fc\u3067\u306f\u306a\u3044\u305f\u3081\u3001\u3053\u306e\u8ac7\u8a71\u5ba4\u304b\u3089\u524a\u9664\u3055\u308c\u307e\u3057\u305f"],"You have been removed from this room because the MUC (Multi-user chat) service is being shut down.":[null,"MUC(\u30b0\u30eb\u30fc\u30d7\u30c1\u30e3\u30c3\u30c8)\u306e\u30b5\u30fc\u30d3\u30b9\u304c\u505c\u6b62\u3057\u305f\u305f\u3081\u3001\u3053\u306e\u8ac7\u8a71\u5ba4\u304b\u3089\u524a\u9664\u3055\u308c\u307e\u3057\u305f\u3002"],
  "You are not on the member list of this room":[null,"\u3053\u306e\u8ac7\u8a71\u5ba4\u306e\u30e1\u30f3\u30d0\u30fc\u4e00\u89a7\u306b\u3044\u307e\u305b\u3093"],"No nickname was specified":[null,"\u30cb\u30c3\u30af\u30cd\u30fc\u30e0\u304c\u3042\u308a\u307e\u305b\u3093"],"You are not allowed to create new rooms":[null,"\u65b0\u3057\u3044\u8ac7\u8a71\u5ba4\u3092\u4f5c\u6210\u3059\u308b\u6a29\u9650\u304c\u3042\u308a\u307e\u305b\u3093"],"Your nickname doesn't conform to this room's policies":[null,"\u30cb\u30c3\u30af\u30cd\u30fc\u30e0\u304c\u3053\u306e\u8ac7\u8a71\u5ba4\u306e\u30dd\u30ea\u30b7\u30fc\u306b\u5f93\u3063\u3066\u3044\u307e\u305b\u3093"],
  "Your nickname is already taken":[null,"\u30cb\u30c3\u30af\u30cd\u30fc\u30e0\u306f\u65e2\u306b\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059"],"This room does not (yet) exist":[null,"\u3053\u306e\u8ac7\u8a71\u5ba4\u306f\u5b58\u5728\u3057\u307e\u305b\u3093"],"This room has reached it's maximum number of occupants":[null,"\u3053\u306e\u8ac7\u8a71\u5ba4\u306f\u5165\u5ba4\u8005\u6570\u306e\u4e0a\u9650\u306b\u9054\u3057\u3066\u3044\u307e\u3059"],"Topic set by %1$s to: %2$s":[null,"%1$s \u304c\u8a71\u984c\u3092\u8a2d\u5b9a\u3057\u307e\u3057\u305f: %2$s"],
  "This user is a moderator":[null,"\u3053\u306e\u30e6\u30fc\u30b6\u30fc\u306f\u53f8\u4f1a\u8005\u3067\u3059"],"This user can send messages in this room":[null,"\u3053\u306e\u30e6\u30fc\u30b6\u30fc\u306f\u3053\u306e\u8ac7\u8a71\u5ba4\u3067\u767a\u8a00\u3067\u304d\u307e\u3059"],"This user can NOT send messages in this room":[null,"\u3053\u306e\u30e6\u30fc\u30b6\u30fc\u306f\u3053\u306e\u8ac7\u8a71\u5ba4\u3067\u767a\u8a00\u3067\u304d\u307e\u305b\u3093"],"Click to chat with this contact":[null,"\u30af\u30ea\u30c3\u30af\u3057\u3066\u3053\u306e\u76f8\u624b\u5148\u3068\u30c1\u30e3\u30c3\u30c8"],
  "Click to remove this contact":[null,"\u30af\u30ea\u30c3\u30af\u3057\u3066\u3053\u306e\u76f8\u624b\u5148\u3092\u524a\u9664"],"Contact requests":[null,"\u4f1a\u8a71\u306b\u547c\u3073\u51fa\u3057"],"My contacts":[null,"\u76f8\u624b\u5148\u4e00\u89a7"],"Pending contacts":[null,"\u4fdd\u7559\u4e2d\u306e\u76f8\u624b\u5148"],"Custom status":[null,"\u72ec\u81ea\u306e\u5728\u5e2d\u72b6\u6cc1"],"Click to change your chat status":[null,"\u30af\u30ea\u30c3\u30af\u3057\u3066\u3001\u5728\u5e2d\u72b6\u6cc1\u3092\u5909\u66f4"],
  "Click here to write a custom status message":[null,"\u72b6\u6cc1\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u5165\u529b\u3059\u308b\u306b\u306f\u3001\u3053\u3053\u3092\u30af\u30ea\u30c3\u30af"],online:[null,"\u5728\u5e2d"],busy:[null,"\u53d6\u308a\u8fbc\u307f\u4e2d"],"away for long":[null,"\u4e0d\u5728"],away:[null,"\u96e2\u5e2d\u4e2d"],"I am %1$s":[null,"\u79c1\u306f\u3044\u307e %1$s"],"Sign in":[null,"\u30b5\u30a4\u30f3\u30a4\u30f3"],"XMPP/Jabber Username:":[null,"XMPP/Jabber \u30e6\u30fc\u30b6\u30fc\u540d:"],
  "Password:":[null,"\u30d1\u30b9\u30ef\u30fc\u30c9:"],"Log In":[null,"\u30ed\u30b0\u30a4\u30f3"],"BOSH Service URL:":[null,"BOSH \u30b5\u30fc\u30d3\u30b9 URL:"]}}};"function"===typeof define&&define.amd?define("ja",["jed"],function(){return b(new Jed(h))}):(window.locales||(window.locales={}),window.locales.ja=b(new Jed(h)))})(this,function(a){return a});
  (function(a,b){var h={domain:"converse",locale_data:{converse:{"":{"Project-Id-Version":"Converse.js 0.4","Report-Msgid-Bugs-To":"","POT-Creation-Date":"2013-09-15 21:55+0200","PO-Revision-Date":"2013-09-15 22:03+0200","Last-Translator":"Maarten Kling <maarten@fourdigits.nl>","Language-Team":"Dutch",Language:"nl","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Plural-Forms":"nplurals=2; plural=(n != 1);",domain:"converse",lang:"nl",plural_forms:"nplurals=2; plural=(n != 1);"},
  unencrypted:[null,"ongecodeerde"],unverified:[null,"niet geverifieerd"],verified:[null,"geverifieerd"],finished:[null,"klaar"],Disconnected:[null,"Verbinding verbroken."],Error:[null,"Error"],Connecting:[null,"Verbinden"],"Connection Failed":[null,"Verbinden mislukt"],Authenticating:[null,"Authenticeren"],"Authentication Failed":[null,"Authenticeren mislukt"],Disconnecting:[null,""],"Re-establishing encrypted session":[null,"Bezig versleutelde sessie te herstellen"],"Your browser needs to generate a private key, which will be used in your encrypted chat session. This can take up to 30 seconds during which your browser might freeze and become unresponsive.":[null,
  ""],"Private key generated.":[null,"Private key gegenereerd."],"Authentication request from %1$s\n\nYour buddy is attempting to verify your identity, by asking you the question below.\n\n%2$s":[null,""],"Could not verify this user's identify.":[null,"Niet kon de identiteit van deze gebruiker niet identificeren."],"Personal message":[null,"Persoonlijk bericht"],"Start encrypted conversation":[null,"Start encrypted gesprek"],"Refresh encrypted conversation":[null,"Ververs encrypted gesprek"],"End encrypted conversation":[null,
  "Beeindig encrypted gesprek"],"Verify with SMP":[null,""],"Verify with fingerprints":[null,""],"What's this?":[null,"Wat is dit?"],me:[null,"ikzelf"],"Show this menu":[null,"Toon dit menu"],"Write in the third person":[null,"Schrijf in de 3de persoon"],"Remove messages":[null,"Verwijder bericht"],"Your message could not be sent":[null,"Je bericht kon niet worden verzonden"],"We received an unencrypted message":[null,"We ontvingen een unencrypted bericht "],"We received an unreadable encrypted message":[null,
  "We ontvangen een onleesbaar unencrypted bericht"],"This user has requested an encrypted session.":[null,"Deze gebruiker heeft een encrypted sessie aangevraagd."],"Here are the fingerprints, please confirm them with %1$s, outside of this chat.\n\nFingerprint for you, %2$s: %3$s\n\nFingerprint for %1$s: %4$s\n\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.":[null,""],"You will be prompted to provide a security question and then an answer to that question.\n\nYour buddy will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will have been verified.":[null,
  ""],"What is your security question?":[null,"Wat is jou sericury vraag?"],"What is the answer to the security question?":[null,"Wat is het antwoord op de security vraag?"],"Invalid authentication scheme provided":[null,""],"Your messages are not encrypted anymore":[null,"Je berichten zijn niet meer encrypted"],"Your messages are now encrypted but your buddy's identity has not been verified.":[null,""],"Your buddy's identify has been verified.":[null,"Jou contact is geverifieerd"],"Your buddy has ended encryption on their end, you should do the same.":[null,
  "Jou contact heeft encryption aanstaan, je moet het zelfde doen."],"Your messages are not encrypted. Click here to enable OTR encryption.":[null,"Jou bericht is niet encrypted. KLik hier om ORC encrytion aan te zetten."],"Your messages are encrypted, but your buddy has not been verified.":[null,"Jou berichten zijn encrypted, maar je contact is niet geverifieerd."],"Your messages are encrypted and your buddy verified.":[null,"Jou bericht is encrypted en jou contact is geverifieerd."],"Your buddy has closed their end of the private session, you should do the same":[null,
  ""],Contacts:[null,"Contacten"],Online:[null,"Online"],Busy:[null,"Bezet"],Away:[null,"Afwezig"],Offline:[null,""],"Click to add new chat contacts":[null,"Klik om nieuwe contacten toe te voegen"],"Add a contact":[null,"Voeg contact toe"],"Contact username":[null,"Contact gebruikernaam"],Add:[null,"Toevoegen"],"Contact name":[null,"Contact naam"],Search:[null,"Zoeken"],"No users found":[null,"Geen gebruikers gevonden"],"Click to add as a chat contact":[null,"Klik om contact toe te voegen"],"Click to open this room":[null,
  "Klik om room te openen"],"Show more information on this room":[null,"Toon meer informatie over deze room"],"Description:":[null,"Beschrijving"],"Occupants:":[null,"Deelnemers:"],"Features:":[null,"Functies:"],"Requires authentication":[null,"Verificatie vereist"],Hidden:[null,"Verborgen"],"Requires an invitation":[null,"Veriest een uitnodiging"],Moderated:[null,"Gemodereerd"],"Non-anonymous":[null,"Niet annoniem"],"Open room":[null,"Open room"],"Permanent room":[null,"Blijvend room"],Public:[null,
  "Publiek"],"Semi-anonymous":[null,"Semi annoniem"],"Temporary room":[null,"Tijdelijke room"],Unmoderated:[null,"Niet gemodereerd"],Rooms:[null,"Rooms"],"Room name":[null,"Room naam"],Nickname:[null,"Nickname"],Server:[null,"Server"],Join:[null,"Deelnemen"],"Show rooms":[null,"Toon rooms"],"No rooms on %1$s":[null,"Geen room op %1$s"],"Rooms on %1$s":[null,"Room op %1$s"],"Set chatroom topic":[null,"Zet chatroom topic"],"Kick user from chatroom":[null,"Goei gebruiker uit chatroom"],"Ban user from chatroom":[null,
  "Ban gebruiker van chatroom"],Message:[null,"Bericht"],Save:[null,"Opslaan"],Cancel:[null,"Annuleren"],"An error occurred while trying to save the form.":[null,"Een error tijdens het opslaan van het formulier."],"This chatroom requires a password":[null,"Chatroom heeft een wachtwoord"],"Password: ":[null,"Wachtwoord: "],Submit:[null,"Indienen"],"This room is not anonymous":[null,"Deze room is niet annoniem"],"This room now shows unavailable members":[null,""],"This room does not show unavailable members":[null,
  ""],"Non-privacy-related room configuration has changed":[null,""],"Room logging is now enabled":[null,""],"Room logging is now disabled":[null,""],"This room is now non-anonymous":[null,"Deze room is nu niet annoniem"],"This room is now semi-anonymous":[null,"Deze room is nu semie annoniem"],"This room is now fully-anonymous":[null,"Deze room is nu volledig annoniem"],"A new room has been created":[null,"Een nieuwe room is gemaakt"],"Your nickname has been changed":[null,"Je nickname is veranderd"],
  "<strong>%1$s</strong> has been banned":[null,"<strong>%1$s</strong> is verbannen"],"<strong>%1$s</strong> has been kicked out":[null,"<strong>%1$s</strong> has been kicked out"],"<strong>%1$s</strong> has been removed because of an affiliation change":[null,""],"<strong>%1$s</strong> has been removed for not being a member":[null,""],"You have been banned from this room":[null,"Je bent verbannen uit deze room"],"You have been kicked from this room":[null,"Je bent uit de room gegooid"],"You have been removed from this room because of an affiliation change":[null,
  ""],"You have been removed from this room because the room has changed to members-only and you're not a member":[null,""],"You have been removed from this room because the MUC (Multi-user chat) service is being shut down.":[null,""],"You are not on the member list of this room":[null,"Je bent niet een gebruiker van deze room"],"No nickname was specified":[null,"Geen nickname ingegeven"],"You are not allowed to create new rooms":[null,"Je bent niet toegestaan nieuwe rooms te maken"],"Your nickname doesn't conform to this room's policies":[null,
  "Je nickname is niet conform policy"],"Your nickname is already taken":[null,"Je nickname bestaat al"],"This room does not (yet) exist":[null,"Deze room bestaat niet"],"This room has reached it's maximum number of occupants":[null,"Deze room heeft het maximale aantal gebruikers"],"Topic set by %1$s to: %2$s":[null,""],"This user is a moderator":[null,"Dit is een moderator"],"This user can send messages in this room":[null,"Deze gebruiker kan berichten sturen in deze room"],"This user can NOT send messages in this room":[null,
  "Deze gebruiker kan NIET een bericht sturen in deze room"],"Click to chat with this contact":[null,"Klik om te chatten met contact"],"Click to remove this contact":[null,"Klik om contact te verwijderen"],"This contact is busy":[null,"Contact is bezet"],"This contact is online":[null,"Contact is online"],"This contact is offline":[null,"Contact is offline"],"This contact is unavailable":[null,"Contact is niet beschikbaar"],"This contact is away for an extended period":[null,"Contact is afwezig voor lange periode"],
  "This contact is away":[null,"Conact is afwezig"],"Contact requests":[null,"Contact uitnodiging"],"My contacts":[null,"Mijn contacts"],"Pending contacts":[null,"Conacten in afwachting van"],"Custom status":[null,""],"Click to change your chat status":[null,"Klik hier om status te wijzigen"],"Click here to write a custom status message":[null,"Klik hier om custom status bericht te maken"],online:[null,"online"],busy:[null,"bezet"],"away for long":[null,"afwezig lange tijd"],away:[null,"afwezig"],"I am %1$s":[null,
  "Ik ben %1$s"],"Sign in":[null,"Aanmelden"],"XMPP/Jabber Username:":[null,"XMPP/Jabber Username:"],"Password:":[null,"Wachtwoord:"],"Log In":[null,"Aanmelden"],"BOSH Service URL:":[null,""],"Online Contacts":[null,"Online Contacten"],"%1$s is typing":[null,"%1$s is aan typen"],Connected:[null,"Verbonden"],Attached:[null,"Bijlage"]}}};"function"===typeof define&&define.amd?define("nl",["jed"],function(){return b(new Jed(h))}):(window.locales||(window.locales={}),window.locales.nl=b(new Jed(h)))})(this,
  function(a){return a});
  (function(a,b){var h={domain:"converse",locale_data:{converse:{"":{"Project-Id-Version":"Converse.js 0.6.3","Report-Msgid-Bugs-To":"","POT-Creation-Date":"2013-09-15 21:55+0200","PO-Revision-Date":"2014-07-07 11:02+0200","Last-Translator":"Alan Meira <alan@engarte.com>","Language-Team":"Brazilian Portuguese",Language:"pt_BR","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Plural-Forms":"nplurals=2; plural=(n > 1);",domain:"converse",lang:"pt_BR",
  plural_forms:"nplurals=2; plural=(n != 1);"},unencrypted:[null,"n\u00e3o-criptografado"],unverified:[null,"n\u00e3o-verificado"],verified:[null,"n\u00e3o-verificado"],finished:[null,"finalizado"],Disconnected:[null,"Desconectado"],Error:[null,"Erro"],Connecting:[null,"Conectando"],"Connection Failed":[null,"Falha de conex\u00e3o"],Authenticating:[null,"Autenticando"],"Authentication Failed":[null,"Falha de autentica\u00e7\u00e3o"],Disconnecting:[null,"Desconectando"],"Re-establishing encrypted session":[null,
  "Reestabelecendo sess\u00e3o criptografada"],"Your browser needs to generate a private key, which will be used in your encrypted chat session. This can take up to 30 seconds during which your browser might freeze and become unresponsive.":[null,"Seu navegador precisa gerar uma chave-privada, que ser\u00e1 usada em sua sess\u00e3o criptografada de bate-papo. Isso pode levar at\u00e9 30 segundos durante os quais seu navegador poder\u00e1 se travar ou n\u00e3o responder."],"Private key generated.":[null,
  "Chave-privada gerada:"],"Authentication request from %1$s\n\nYour buddy is attempting to verify your identity, by asking you the question below.\n\n%2$s":[null,"Pedido de autentica\u00e7\u00e3o de %$s\n\nSeu contato est\u00e1 tentando verificar sua identidade, perguntando a quest\u00e3o abaixo.\n\n%2$s"],"Could not verify this user's identify.":[null,"N\u00e3o foi poss\u00edvel verificar a identidade deste usu\u00e1rio."],"Personal message":[null,"Mensagem pessoal"],"Start encrypted conversation":[null,
  "Iniciar conversa criptografada"],"Refresh encrypted conversation":[null,"Atualizar conversa criptografada"],"End encrypted conversation":[null,"Finalizar conversa criptografada"],"Verify with SMP":[null,"Verificar com SMP"],"Verify with fingerprints":[null,"Verificar com assinatura digital"],"What's this?":[null,"O que \u00e9 isso?"],me:[null,"eu"],"Show this menu":[null,"Mostrar o menu"],"Write in the third person":[null,"Escrever em terceira pessoa"],"Remove messages":[null,"Remover mensagens"],
  "Your message could not be sent":[null,"Sua mensagem n\u00e3o p\u00f4de ser enviada"],"We received an unencrypted message":[null,"Recebemos uma mensagem n\u00e3o-criptografada"],"We received an unreadable encrypted message":[null,"Recebemos uma mensagem n\u00e3o-criptografada ileg\u00edvel"],"This user has requested an encrypted session.":[null,"Usu\u00e1rio pediu uma sess\u00e3o criptografada."],"Here are the fingerprints, please confirm them with %1$s, outside of this chat.\n\nFingerprint for you, %2$s: %3$s\n\nFingerprint for %1$s: %4$s\n\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.":[null,
  "Aqui est\u00e3o as assinaturas digitais, por favor confirme elas com %1$s, fora deste chat.\n\nAssinaturas para voc\u00ea, %2$s: %3$s\n\nAssinaturas para %1$s: %4$s\n\nSe voc\u00ea tiver confirmado que as assinaturas conferem, clique OK, caso contr\u00e1rio, clique Cancel."],"You will be prompted to provide a security question and then an answer to that question.\n\nYour buddy will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will have been verified.":[null,
  "Ser\u00e1 solicitado que voc\u00ea informe uma pergunta de seguran\u00e7a e tamb\u00e9m uma resposta.\n\nN\u00f3s iremos, ent\u00e3o, transfeir a pergunta para seu contato e caso ele envie corretamente a mesma resposta (caso sensitivo), a identidade dele ser\u00e1 verificada."],"What is your security question?":[null,"Qual \u00e9 a sua pergunta de seguran\u00e7a?"],"What is the answer to the security question?":[null,"Qual \u00e9 a resposta para a pergunta de seguran\u00e7a?"],"Invalid authentication scheme provided":[null,
  "Schema de autentica\u00e7\u00e3o fornecido \u00e9 inv\u00e1lido"],"Your messages are not encrypted anymore":[null,"Suas mensagens n\u00e3o est\u00e3o mais criptografadas"],"Your messages are now encrypted but your buddy's identity has not been verified.":[null,"Suas mensagens est\u00e3o agora criptografadas mas a identidade do contato n\u00e3o foi confirmada."],"Your buddy's identify has been verified.":[null,"A identidade do contato foi verificada."],"Your buddy has ended encryption on their end, you should do the same.":[null,
  "Seu contato parou de usar criptografia, voc\u00ea deveria fazer o mesmo."],"Your messages are not encrypted. Click here to enable OTR encryption.":[null,"Suas mensagens n\u00e3o est\u00e3o criptografadas. Clique aqui para habilitar criptografia OTR."],"Your messages are encrypted, but your buddy has not been verified.":[null,"Suas mensagens est\u00e3o criptografadas, mas seu contato n\u00e3o foi verificado."],"Your messages are encrypted and your buddy verified.":[null,"Suas mensagens est\u00e3o criptografadas e seu contato verificado."],
  "Your buddy has closed their end of the private session, you should do the same":[null,"Seu contato fechou a sess\u00e3o privada, voc\u00ea deveria fazer o mesmo"],Contacts:[null,"Contatos"],Online:[null,"Online"],Busy:[null,"Ocupado"],Away:[null,"Ausente"],Offline:[null,"Offline"],"Click to add new chat contacts":[null,"Clique para adicionar novos contatos ao chat"],"Add a contact":[null,"Adicionar contato"],"Contact username":[null,"Usu\u00e1rio do contatt"],Add:[null,"Adicionar"],"Contact name":[null,
  "Nome do contato"],Search:[null,"Procurar"],"No users found":[null,"N\u00e3o foram encontrados usu\u00e1rios"],"Click to add as a chat contact":[null,"Clique para adicionar como um contato do chat"],"Click to open this room":[null,"CLique para abrir a sala"],"Show more information on this room":[null,"Mostrar mais informa\u00e7\u00f5es nessa sala"],"Description:":[null,"Descri\u00e7\u00e3o:"],"Occupants:":[null,"Ocupantes:"],"Features:":[null,"Recursos:"],"Requires authentication":[null,"Requer autentica\u00e7\u00e3o"],
  Hidden:[null,"Escondido"],"Requires an invitation":[null,"Requer um convite"],Moderated:[null,"Moderado"],"Non-anonymous":[null,"N\u00e3o an\u00f4nimo"],"Open room":[null,"Sala aberta"],"Permanent room":[null,"Sala permanente"],Public:[null,"P\u00fablico"],"Semi-anonymous":[null,"Semi an\u00f4nimo"],"Temporary room":[null,"Sala tempor\u00e1ria"],Unmoderated:[null,"Sem modera\u00e7\u00e3o"],Rooms:[null,"Salas"],"Room name":[null,"Nome da sala"],Nickname:[null,"Apelido"],Server:[null,"Server"],Join:[null,
  "Entrar"],"Show rooms":[null,"Mostar salas"],"No rooms on %1$s":[null,"Sem salas em %1$s"],"Rooms on %1$s":[null,"Salas em %1$s"],"Set chatroom topic":[null,"Definir t\u00f3pico do chat"],"Kick user from chatroom":[null,"Expulsar usu\u00e1rio do chat"],"Ban user from chatroom":[null,"Banir usu\u00e1rio do chat"],Message:[null,"Mensagem"],Save:[null,"Salvar"],Cancel:[null,"Cancelar"],"An error occurred while trying to save the form.":[null,"Ocorreu um erro enquanto tentava salvar o formul\u00e1rio"],
  "This chatroom requires a password":[null,"Esse chat precisa de senha"],"Password: ":[null,"Senha: "],Submit:[null,"Enviar"],"This room is not anonymous":[null,"Essa sala n\u00e3o \u00e9 an\u00f4nima"],"This room now shows unavailable members":[null,"Agora esta sala mostra membros indispon\u00edveis"],"This room does not show unavailable members":[null,"Essa sala n\u00e3o mostra membros indispon\u00edveis"],"Non-privacy-related room configuration has changed":[null,"Configura\u00e7\u00f5s n\u00e3o relacionadas \u00e0 privacidade mudaram"],
  "Room logging is now enabled":[null,"O log da sala est\u00e1 ativado"],"Room logging is now disabled":[null,"O log da sala est\u00e1 desativado"],"This room is now non-anonymous":[null,"Esse sala \u00e9 n\u00e3o an\u00f4nima"],"This room is now semi-anonymous":[null,"Essa sala agora \u00e9 semi an\u00f4nima"],"This room is now fully-anonymous":[null,"Essa sala agora \u00e9 totalmente an\u00f4nima"],"A new room has been created":[null,"Uma nova sala foi criada"],"Your nickname has been changed":[null,
  "Seu apelido foi mudado"],"<strong>%1$s</strong> has been banned":[null,"<strong>%1$s</strong> foi banido"],"<strong>%1$s</strong> has been kicked out":[null,"<strong>%1$s</strong> foi expulso"],"<strong>%1$s</strong> has been removed because of an affiliation change":[null,"<srtong>%1$s</strong> foi removido por causa de troca de associa\u00e7\u00e3o"],"<strong>%1$s</strong> has been removed for not being a member":[null,"<strong>%1$s</strong> foi removido por n\u00e3o ser um membro"],"You have been banned from this room":[null,
  "Voc\u00ea foi banido dessa sala"],"You have been kicked from this room":[null,"Voc\u00ea foi expulso dessa sala"],"You have been removed from this room because of an affiliation change":[null,"Voc\u00ea foi removido da sala devido a uma mudan\u00e7a de associa\u00e7\u00e3o"],"You have been removed from this room because the room has changed to members-only and you're not a member":[null,"Voc\u00ea foi removido da sala porque ela foi mudada para somente membrose voc\u00ea n\u00e3o \u00e9 um membro"],
  "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.":[null,"Voc\u00ea foi removido da sala devido a MUC (Multi-user chat)o servi\u00e7o est\u00e1 sendo desligado"],"You are not on the member list of this room":[null,"Voc\u00ea n\u00e3o \u00e9 membro dessa sala"],"No nickname was specified":[null,"Voc\u00ea n\u00e3o escolheu um apelido "],"You are not allowed to create new rooms":[null,"Voc\u00ea n\u00e3o tem permiti\u00e7\u00e3o de criar novas salas"],
  "Your nickname doesn't conform to this room's policies":[null,"Seu apelido n\u00e3o est\u00e1 de acordo com as regras da sala"],"Your nickname is already taken":[null,"Seu apelido j\u00e1 foi escolhido"],"This room does not (yet) exist":[null,"A sala n\u00e3o existe (ainda)"],"This room has reached it's maximum number of occupants":[null,"A sala atingiu o n\u00famero m\u00e1ximo de ocupantes"],"Topic set by %1$s to: %2$s":[null,"Topico definido por %1$s para: %2$s"],"This user is a moderator":[null,
  "Esse usu\u00e1rio \u00e9 o moderador"],"This user can send messages in this room":[null,"Esse usu\u00e1rio pode enviar mensagens nessa sala"],"This user can NOT send messages in this room":[null,"Esse usu\u00e1rio N\u00c3O pode enviar mensagens nessa sala"],"Click to chat with this contact":[null,"Clique para conversar com o contato"],"Click to remove this contact":[null,"Clique para remover o contato"],"This contact is busy":[null,"Este contato est\u00e1 ocupado"],"This contact is online":[null,
  "Este contato est\u00e1 online"],"This contact is offline":[null,"Este contato est\u00e1 offline"],"This contact is unavailable":[null,"Este contato est\u00e1 indispon\u00edvel"],"This contact is away for an extended period":[null,"Este contato est\u00e1 ausente por um longo per\u00edodo"],"This contact is away":[null,"Este contato est\u00e1 ausente"],"Contact requests":[null,"Solicita\u00e7\u00e3o de contatos"],"My contacts":[null,"Meus contatos"],"Pending contacts":[null,"Contados pendentes"],"Custom status":[null,
  "Status customizado"],"Click to change your chat status":[null,"Clique para mudar seu status no chat"],"Click here to write a custom status message":[null,"Clique aqui para customizar a mensagem de status"],online:[null,"online"],busy:[null,"ocupado"],"away for long":[null,"ausente a bastante tempo"],away:[null,"ausente"],"I am %1$s":[null,"Estou %1$s"],"Sign in":[null,"Conectar-se"],"XMPP/Jabber Username:":[null,"Usu\u00e1rio XMPP/Jabber:"],"Password:":[null,"Senha:"],"Log In":[null,"Entrar"],"BOSH Service URL:":[null,
  "URL de servi\u00e7o BOSH:"],"Online Contacts":[null,"Contatos online"],"%1$s is typing":[null,"%1$s est\u00e1 digitando"],Connected:[null,"Conectado"],Attached:[null,"Anexado"]}}};"function"===typeof define&&define.amd?define("pt_BR",["jed"],function(){return b(new Jed(h))}):(window.locales||(window.locales={}),window.locales.pt_BR=b(new Jed(h)))})(this,function(a){return a});
  (function(a,b){var h={domain:"converse",locale_data:{converse:{"":{"Project-Id-Version":"Converse.js 0.4","Report-Msgid-Bugs-To":"","POT-Creation-Date":"2013-09-15 22:06+0200","PO-Revision-Date":"2013-09-29 17:24+0300","Last-Translator":"Boris Kocherov <bk@raskon.org>","Language-Team":"<bk@raskon.ru>",Language:"ru","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","X-Generator":"Poedit 1.5.5"},unencrypted:[null,"\u043d\u0435 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043e"],
  unverified:[null,"\u043d\u0435\u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e"],verified:[null,"\u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e"],finished:[null,"\u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u043e"],Disconnected:[null,"\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043e"],Error:[null,"\u041e\u0448\u0438\u0431\u043a\u0430"],Connecting:[null,"\u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435"],"Connection Failed":[null,"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u0441\u044f"],
  Authenticating:[null,"\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f"],"Authentication Failed":[null,"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f"],Disconnecting:[null,"\u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f"],"Private key generated.":[null,"\u041f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d."],
  "Personal message":[null,"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435"],"What's this?":[null,"\u0427\u0442\u043e \u044d\u0442\u043e?"],me:[null,"\u042f"],"Show this menu":[null,"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u044d\u0442\u043e \u043c\u0435\u043d\u044e"],"Remove messages":[null,"\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f"],"Your message could not be sent":[null,"\u0412\u0430\u0448\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043d\u0435 \u043f\u043e\u0441\u043b\u0430\u043d\u043e"],
  "Your messages are not encrypted anymore":[null,"\u0412\u0430\u0448\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0448\u0438\u0444\u0440\u0443\u044e\u0442\u0441\u044f"],"Your messages are now encrypted but your buddy's identity has not been verified.":[null,"\u0412\u0430\u0448\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0448\u0438\u0444\u0440\u0443\u044e\u0442\u0441\u044f, \u043d\u043e \u0432\u0430\u0448\u0430 \u0443\u0447\u0451\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u0430 \u0432\u0430\u0448\u0438\u043c \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043d\u0438\u043a\u043e\u043c."],
  "Your buddy's identify has been verified.":[null,"\u0412\u0430\u0448\u0430 \u0443\u0447\u0451\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u0430 \u0432\u0430\u0448\u0438\u043c \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043d\u0438\u043a\u043e\u043c."],"Your messages are not encrypted. Click here to enable OTR encryption.":[null,"\u0412\u0430\u0448\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043d\u0435 \u0448\u0438\u0444\u0440\u0443\u044e\u0442\u0441\u044f. \u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044c \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435."],
  "Your messages are encrypted, but your buddy has not been verified.":[null,"\u0412\u0430\u0448\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0448\u0438\u0444\u0440\u0443\u044e\u0442\u0441\u044f, \u043d\u043e \u0432\u0430\u0448 \u043a\u043e\u043d\u0442\u0430\u043a\u0442 \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d."],"Your messages are encrypted and your buddy verified.":[null,"\u0412\u0430\u0448\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0448\u0438\u0444\u0440\u0443\u044e\u0442\u0441\u044f \u0438 \u0432\u0430\u0448 \u043a\u043e\u043d\u0442\u0430\u043a\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d"],
  Contacts:[null,"\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u044b"],Online:[null,"\u0412 \u0441\u0435\u0442\u0438"],Busy:[null,"\u0417\u0430\u043d\u044f\u0442"],Away:[null,"\u041e\u0442\u043e\u0448\u0451\u043b"],Offline:[null,"\u041d\u0435 \u0432 \u0441\u0435\u0442\u0438"],"Click to add new chat contacts":[null,"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044e"],"Add a contact":[null,"\u0414\u043e\u0431\u0430\u0432\u0442\u044c \u043a\u043e\u043d\u0442\u0430\u043a\u0442"],
  "Contact username":[null,"\u0418\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f"],Add:[null,"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c"],"Contact name":[null,"\u0418\u043c\u044f \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430"],Search:[null,"\u041f\u043e\u0438\u0441\u043a"],"No users found":[null,"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b"],"Click to add as a chat contact":[null,
  "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0430\u043a\u0442"],"Click to open this room":[null,"\u0417\u0430\u0439\u0442\u0438 \u0432 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044e"],"Show more information on this room":[null,"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0431 \u044d\u0442\u043e\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438"],
  "Description:":[null,"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435:"],"Occupants:":[null,"\u0423\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438:"],"Features:":[null,"\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430:"],"Requires authentication":[null,"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f"],Hidden:[null,"\u0421\u043a\u0440\u044b\u0442\u043e"],"Requires an invitation":[null,"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435"],
  Moderated:[null,"\u041c\u043e\u0434\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u0430\u044f"],"Non-anonymous":[null,"\u041d\u0435 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u0430\u044f"],"Open room":[null,"\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044e"],"Permanent room":[null,"\u041f\u0435\u0440\u043c\u0430\u043d\u0435\u043d\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f"],Public:[null,"\u041f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439"],
  "Semi-anonymous":[null,"\u0427\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u0430\u044f"],"Temporary room":[null,"\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f"],Unmoderated:[null,"\u041d\u0435\u043c\u043e\u0434\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u0430\u044f"],Rooms:[null,"\u041a\u043e\u043d\u0444\u0435\u0440."],"Room name":[null,"\u0418\u043c\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438"],
  Nickname:[null,"\u041f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c"],Server:[null,"\u0421\u0435\u0440\u0432\u0435\u0440"],Join:[null,"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f"],"Show rooms":[null,"\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c"],"No rooms on %1$s":[null,"\u041d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0439 %1$s"],"Rooms on %1$s":[null,"\u041a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 %1$s:"],
  "Set chatroom topic":[null,"\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0442\u0435\u043c\u0443"],"Kick user from chatroom":[null,"\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043e\u0442 \u043a\u043d\u043e\u0444\u0435\u0440."],"Ban user from chatroom":[null,"\u0417\u0430\u0431\u0430\u043d\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 \u044d\u0442\u043e\u0439 \u043a\u043e\u043d\u0444."],
  Message:[null,"\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435"],Save:[null,"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c"],Cancel:[null,"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c"],"An error occurred while trying to save the form.":[null,"\u041f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0444\u043e\u0440\u043c\u044b \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430."],"This chatroom requires a password":[null,
  "\u0414\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0432 \u043a\u043e\u043d\u0444\u0435\u0440. \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u043f\u0430\u0440\u043e\u043b\u044c."],"Password: ":[null,"\u041f\u0430\u0440\u043e\u043b\u044c: "],Submit:[null,"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c"],"This room is not anonymous":[null,"\u042d\u0442\u0430 \u043a\u043e\u043c\u043d\u0430\u0442\u0430 \u043d\u0435 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u0430\u044f"],
  "This room now shows unavailable members":[null,"\u042d\u0442\u0430 \u043a\u043e\u043c\u043d\u0430\u0442\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043d\u0438\u043a\u043e\u0432"],"This room does not show unavailable members":[null,"\u042d\u0442\u0430 \u043a\u043e\u043c\u043d\u0430\u0442\u0430 \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043d\u0438\u043a\u043e\u0432"],
  "This room is now non-anonymous":[null,"\u042d\u0442\u0430 \u043a\u043e\u043c\u043d\u0430\u0442\u0430 \u043d\u0435 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u0430\u044f"],"This room is now semi-anonymous":[null,"\u042d\u0442\u0430 \u043a\u043e\u043c\u043d\u0430\u0442\u0430 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u0430\u044f"],"This room is now fully-anonymous":[null,"\u042d\u0442\u0430 \u043a\u043e\u043c\u043d\u0430\u0442\u0430 \u0441\u0442\u0430\u043b\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u043e\u0439"],
  "A new room has been created":[null,"\u041d\u043e\u0432\u0430\u044f \u043a\u043e\u043c\u043d\u0430\u0442\u0430 \u0431\u044b\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0430"],"Your nickname has been changed":[null,"\u0412\u0430\u0448 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c"],
  "<strong>%1$s</strong> has been banned":[null,"<strong>%1$s</strong> \u0437\u0430\u0431\u0430\u043d\u0435\u043d"],"<strong>%1$s</strong> has been kicked out":[null,"<strong>%1$s</strong> \u0432\u044b\u0434\u0432\u043e\u0440\u0435\u043d"],"<strong>%1$s</strong> has been removed because of an affiliation change":[null,"<strong>%1$s</strong> has been removed because of an affiliation change"],"<strong>%1$s</strong> has been removed for not being a member":[null,"<strong>%1$s</strong> \u0443\u0434\u0430\u043b\u0451\u043d \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0435 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a"],
  "You have been banned from this room":[null,"\u0412\u0430\u043c \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u0441\u044f \u043a \u044d\u0442\u043e\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438"],"You have been kicked from this room":[null,"\u0412\u0430\u043c \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u0441\u044f \u043a \u044d\u0442\u043e\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438"],
  "You have been removed from this room because of an affiliation change":[null,"<strong>%1$s</strong> \u0443\u0434\u0430\u043b\u0451\u043d \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c \u043f\u0440\u0430\u0432\u0430"],"You have been removed from this room because the room has changed to members-only and you're not a member":[null,"\u0412\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043e\u0442 \u044d\u0442\u043e\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0440\u0435\u0436\u0438\u043c \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0441\u044f: \u0442\u043e\u043b\u044c\u043a\u043e-\u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438"],
  "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.":[null,"\u0412\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043e\u0442 \u044d\u0442\u043e\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u044c \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0439 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d."],"You are not on the member list of this room":[null,
  "\u0412\u0430\u0441 \u043d\u0435\u0442 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u044d\u0442\u043e\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438"],"No nickname was specified":[null,"\u0412\u044b \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043b\u0438 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c"],"You are not allowed to create new rooms":[null,"\u0412\u044b \u043d\u0435 \u0438\u043c\u0435\u0435\u0442\u0435 \u043f\u0440\u0430\u0432\u0430 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0435\u0440."],
  "Your nickname doesn't conform to this room's policies":[null,"\u041f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c \u043d\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u0443\u0435\u0442\u0441\u044f \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438 \u043a\u043e\u043d\u0444\u0435\u0440."],"Your nickname is already taken":[null,"\u0412\u0430\u0448 \u043d\u0438\u043a \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c"],
  "This room does not (yet) exist":[null,"\u042d\u0442\u0430 \u043a\u043e\u043c\u043d\u0430\u0442\u0430 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442"],"This room has reached it's maximum number of occupants":[null,"\u041a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432"],
  "Topic set by %1$s to: %2$s":[null,"\u0422\u0435\u043c\u0430 %2$s \u0443\u0441\u0442\u0430\u0442\u043d\u043e\u0432\u043b\u0435\u043d\u0430 %1$s"],"This user is a moderator":[null,"\u041c\u043e\u0434\u0435\u0440\u0430\u0442\u043e\u0440"],"This user can send messages in this room":[null,"\u0421\u043e\u0431\u0435\u0441\u0435\u0434\u043d\u0438\u043a"],"This user can NOT send messages in this room":[null,"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0441\u044b\u043b\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432 \u044d\u0442\u0443 \u043a\u043e\u043c\u043d\u0430\u0442\u0443"],
  "Click to chat with this contact":[null,"\u041d\u0430\u0447\u0430\u0442\u044c \u043e\u0431\u0449\u0435\u043d\u0438\u0435"],"Click to remove this contact":[null,"\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0430\u043a\u0442"],"This contact is busy":[null,"\u0417\u0430\u043d\u044f\u0442"],"This contact is online":[null,"\u0412 \u0441\u0435\u0442\u0438"],"This contact is offline":[null,"\u041d\u0435 \u0432 \u0441\u0435\u0442\u0438"],"This contact is unavailable":[null,"\u041d\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d"],
  "This contact is away for an extended period":[null,"\u041d\u0430 \u0434\u043e\u043b\u0433\u043e \u043e\u0442\u043e\u0448\u0451\u043b"],"This contact is away":[null,"\u041e\u0442\u043e\u0448\u0451\u043b"],"Contact requests":[null,"\u0417\u0430\u043f\u0440\u043e\u0441\u044b \u043d\u0430 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e"],"My contacts":[null,"\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u044b"],"Pending contacts":[null,"\u0421\u043e\u0431\u0435\u0441\u0435\u0434\u043d\u0438\u043a\u0438 \u043e\u0436\u0438\u0434\u0430\u044e\u0449\u0438\u0435 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438"],
  "Custom status":[null,"\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441"],"Click to change your chat status":[null,"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u0430\u0448 \u0441\u0442\u0430\u0442\u0443\u0441"],"Click here to write a custom status message":[null,"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441"],
  online:[null,"\u043d\u0430 \u0441\u0432\u044f\u0437\u0438"],busy:[null,"\u0437\u0430\u043d\u044f\u0442"],"away for long":[null,"\u043e\u0442\u043e\u0448\u0451\u043b \u043d\u0430 \u0434\u043e\u043b\u0433\u043e"],away:[null,"\u043e\u0442\u043e\u0448\u0451\u043b"],"I am %1$s":[null,"%1$s"],"Sign in":[null,"\u041f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c"],"XMPP/Jabber Username:":[null,"JID:"],"Password:":[null,"\u041f\u0430\u0440\u043e\u043b\u044c:"],"Log In":[null,"\u0412\u043e\u0439\u0442\u0438"],
  "Online Contacts":[null,"C\u043f\u0438\u0441\u043e\u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043d\u0438\u043a\u043e\u0432"]}}};"function"===typeof define&&define.amd?define("ru",["jed"],function(){return b(new Jed(h))}):(window.locales||(window.locales={}),window.locales.ru=b(new Jed(h)))})(this,function(a){return a});
  (function(a,b){var h={domain:"converse",locale_data:{converse:{"":{"Project-Id-Version":"Converse.js 0.8","Report-Msgid-Bugs-To":"","POT-Creation-Date":"2014-01-07 11:12+0900","PO-Revision-Date":"2014-01-07 11:32+0900","Last-Translator":"Huxisuz Hu <huxisuz@gmail.com>","Language-Team":"Language zh",Language:"zh","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Plural-Forms":"nplurals=1; plural=0;"},unencrypted:[null,"\u672a\u52a0\u5bc6"],unverified:[null,
  "\u672a\u9a8c\u8bc1"],verified:[null,"\u5df2\u9a8c\u8bc1"],finished:[null,"\u7ed3\u675f\u4e86"],"This contact is busy":[null,"\u5bf9\u65b9\u5fd9\u788c\u4e2d"],"This contact is online":[null,"\u5bf9\u65b9\u5728\u7ebf\u4e2d"],"This contact is offline":[null,"\u5bf9\u65b9\u5df2\u4e0b\u7ebf"],"This contact is unavailable":[null,"\u5bf9\u65b9\u514d\u6253\u6270"],"This contact is away for an extended period":[null,"\u5bf9\u65b9\u6682\u65f6\u79bb\u5f00"],"This contact is away":[null,"\u5bf9\u65b9\u79bb\u5f00"],
  Disconnected:[null,"\u8fde\u63a5\u5df2\u65ad\u5f00"],Error:[null,"\u9519\u8bef"],Connecting:[null,"\u8fde\u63a5\u4e2d"],"Connection Failed":[null,"\u8fde\u63a5\u5931\u8d25"],Authenticating:[null,"\u9a8c\u8bc1\u4e2d"],"Authentication Failed":[null,"\u9a8c\u8bc1\u5931\u8d25"],Disconnecting:[null,"\u65ad\u5f00\u94fe\u63a5\u4e2d"],"Online Contacts":[null,"\u5728\u7ebf\u597d\u53cb"],"Re-establishing encrypted session":[null,"\u91cd\u65b0\u5efa\u7acb\u52a0\u5bc6\u4f1a\u8bdd"],"Generating private key.":[null,
  "\u6b63\u5728\u751f\u6210\u79c1\u94a5"],"Your browser might become unresponsive.":[null,"\u60a8\u7684\u6d4f\u89c8\u5668\u53ef\u80fd\u4f1a\u6682\u65f6\u65e0\u54cd\u5e94"],"Authentication request from %1$s\n\nYour buddy is attempting to verify your identity, by asking you the question below.\n\n%2$s":[null,"\u6765\u81ea%1$s\u7684\u9a8c\u8bc1\u8bf7\u6c42 \n\n\u5bf9\u65b9\u6b63\u5728\u8bd5\u56fe\u9a8c\u8bc1\u60a8\u7684\u4fe1\u606f\uff0c\u8bf7\u56de\u7b54\u5982\u4e0b\u95ee\u9898\uff1a\n\n%2$s"],"Could not verify this user's identify.":[null,
  "\u65e0\u6cd5\u9a8c\u8bc1\u5bf9\u65b9\u4fe1\u606f\u3002"],"Exchanging private key with buddy.":[null,"\u6b63\u5728\u4e0e\u5bf9\u65b9\u4ea4\u6362\u79c1\u94a5"],"Personal message":[null,"\u79c1\u4fe1"],me:[null,"\u6211"],"Show this menu":[null,"\u663e\u793a\u6b64\u9879\u83dc\u5355"],"Write in the third person":[null,"\u4ee5\u7b2c\u4e09\u8005\u8eab\u4efd\u5199"],"Remove messages":[null,"\u79fb\u9664\u6d88\u606f"],"Are you sure you want to clear the messages from this chat box?":[null,"\u4f60\u786e\u5b9a\u6e05\u9664\u6b64\u6b21\u7684\u804a\u5929\u8bb0\u5f55\u5417\uff1f"],
  "Your message could not be sent":[null,"\u60a8\u7684\u6d88\u606f\u65e0\u6cd5\u9001\u51fa"],"We received an unencrypted message":[null,"\u6211\u4eec\u6536\u5230\u4e86\u4e00\u6761\u672a\u52a0\u5bc6\u7684\u4fe1\u606f"],"We received an unreadable encrypted message":[null,"\u6211\u4eec\u6536\u5230\u4e00\u6761\u65e0\u6cd5\u8bfb\u53d6\u7684\u4fe1\u606f"],"This user has requested an encrypted session.":[null,"\u6b64\u7528\u6237\u8bf7\u6c42\u4e86\u4e00\u4e2a\u52a0\u5bc6\u4f1a\u8bdd\u3002"],"Here are the fingerprints, please confirm them with %1$s, outside of this chat.\n\nFingerprint for you, %2$s: %3$s\n\nFingerprint for %1$s: %4$s\n\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.":[null,
  "\u8fd9\u91cc\u662f\u6307\u7eb9\u3002\u8bf7\u4e0e %1$s \u786e\u8ba4\u3002\n\n\u60a8\u7684 %2$s \u6307\u7eb9: %3$s\n\n%1$s \u7684\u6307\u7eb9: %4$s\n\n\u5982\u679c\u786e\u8ba4\u7b26\u5408\uff0c\u8bf7\u70b9\u51fbOK\uff0c\u5426\u5219\u70b9\u51fb\u53d6\u6d88"],"What is your security question?":[null,"\u60a8\u7684\u5b89\u5168\u95ee\u9898\u662f?"],"What is the answer to the security question?":[null,"\u6b64\u5b89\u5168\u95ee\u9898\u7684\u7b54\u6848\u662f?"],"Invalid authentication scheme provided":[null,
  "\u975e\u6cd5\u7684\u8ba4\u8bc1\u65b9\u5f0f"],"Your messages are not encrypted anymore":[null,"\u60a8\u7684\u6d88\u606f\u5c06\u4e0d\u518d\u88ab\u52a0\u5bc6"],"Your messages are now encrypted but your buddy's identity has not been verified.":[null,"\u60a8\u7684\u6d88\u606f\u73b0\u5df2\u52a0\u5bc6\uff0c\u4f46\u662f\u5bf9\u65b9\u8eab\u4efd\u5c1a\u672a\u9a8c\u8bc1"],"Your buddy's identify has been verified.":[null,"\u5bf9\u65b9\u7684\u8eab\u4efd\u5df2\u901a\u8fc7\u9a8c\u8bc1\u3002"],"Your buddy has ended encryption on their end, you should do the same.":[null,
  "\u5bf9\u65b9\u5df2\u7ed3\u675f\u52a0\u5bc6\uff0c\u60a8\u4e5f\u9700\u8981\u505a\u540c\u6837\u7684\u64cd\u4f5c\u3002"],"Your messages are not encrypted. Click here to enable OTR encryption.":[null,"\u60a8\u7684\u6d88\u606f\u672a\u52a0\u5bc6\u3002\u70b9\u51fb\u8fd9\u91cc\u6765\u542f\u7528OTR\u52a0\u5bc6"],"Your messages are encrypted, but your buddy has not been verified.":[null,"\u60a8\u7684\u6d88\u606f\u5df2\u52a0\u5bc6\uff0c\u4f46\u5bf9\u65b9\u672a\u901a\u8fc7\u9a8c\u8bc1"],"Your messages are encrypted and your buddy verified.":[null,
  "\u60a8\u7684\u6d88\u606f\u5df2\u52a0\u5bc6\uff0c\u5bf9\u65b9\u5df2\u9a8c\u8bc1\u3002"],"Your buddy has closed their end of the private session, you should do the same":[null,"\u5bf9\u65b9\u5df2\u5173\u95ed\u79c1\u6709\u4f1a\u8bdd\uff0c\u60a8\u4e5f\u5e94\u8be5\u5173\u95ed"],"End encrypted conversation":[null,"\u7ed3\u675f\u52a0\u5bc6\u7684\u4f1a\u8bdd"],"Refresh encrypted conversation":[null,"\u5237\u65b0\u52a0\u5bc6\u7684\u4f1a\u8bdd"],"Start encrypted conversation":[null,"\u5f00\u59cb\u52a0\u5bc6\u7684\u4f1a\u8bdd"],
  "Verify with fingerprints":[null,"\u9a8c\u8bc1\u6307\u7eb9"],"Verify with SMP":[null,"\u9a8c\u8bc1SMP"],"What's this?":[null,"\u8fd9\u662f\u4ec0\u4e48?"],Online:[null,"\u5728\u7ebf"],Busy:[null,"\u5fd9\u788c\u4e2d"],Away:[null,"\u79bb\u5f00"],Offline:[null,"\u79bb\u7ebf"],Contacts:[null,"\u8054\u7cfb\u4eba"],"Contact name":[null,"\u8054\u7cfb\u4eba\u540d\u79f0"],Search:[null,"\u641c\u7d22"],"Contact username":[null,"\u8054\u7cfb\u4eba\u59d3\u540d"],Add:[null,"\u6dfb\u52a0"],"Click to add new chat contacts":[null,
  "\u70b9\u51fb\u6dfb\u52a0\u65b0\u8054\u7cfb\u4eba"],"Add a contact":[null,"\u6dfb\u52a0\u8054\u7cfb\u4eba"],"No users found":[null,"\u672a\u627e\u5230\u7528\u6237"],"Click to add as a chat contact":[null,"\u70b9\u51fb\u6dfb\u52a0\u4e3a\u597d\u53cb"],"Room name":[null,"\u804a\u5929\u5ba4\u540d\u79f0"],Nickname:[null,"\u6635\u79f0"],Server:[null,"\u670d\u52a1\u5668"],Join:[null,"\u52a0\u5165"],"Show rooms":[null,"\u663e\u793a\u6240\u6709\u804a\u5929\u5ba4"],Rooms:[null,"\u804a\u5929\u5ba4"],"No rooms on %1$s":[null,
  "%1$s \u4e0a\u6ca1\u6709\u804a\u5929\u5ba4"],"Rooms on %1$s":[null,"%1$s \u4e0a\u7684\u804a\u5929\u5ba4"],"Click to open this room":[null,"\u6253\u5f00\u804a\u5929\u5ba4"],"Show more information on this room":[null,"\u663e\u793a\u6b21\u804a\u5929\u5ba4\u7684\u66f4\u591a\u4fe1\u606f"],"Description:":[null,"\u63cf\u8ff0: "],"Occupants:":[null,"\u6210\u5458:"],"Features:":[null,"\u7279\u6027:"],"Requires authentication":[null,"\u9700\u8981\u9a8c\u8bc1"],Hidden:[null,"\u9690\u85cf\u7684"],"Requires an invitation":[null,
  "\u9700\u8981\u88ab\u9080\u8bf7"],Moderated:[null,"\u53d1\u8a00\u53d7\u9650"],"Non-anonymous":[null,"\u975e\u533f\u540d"],"Open room":[null,"\u6253\u5f00\u804a\u5929\u5ba4"],"Permanent room":[null,"\u6c38\u4e45\u804a\u5929\u5ba4"],Public:[null,"\u516c\u5f00\u7684"],"Semi-anonymous":[null,"\u534a\u533f\u540d"],"Temporary room":[null,"\u4e34\u65f6\u804a\u5929\u5ba4"],Unmoderated:[null,"\u65e0\u53d1\u8a00\u9650\u5236"],"Set chatroom topic":[null,"\u8bbe\u7f6e\u623f\u95f4\u4e3b\u9898"],"Kick user from chatroom":[null,
  "\u628a\u7528\u6237\u8e22\u51fa\u623f\u95f4"],"Ban user from chatroom":[null,"\u963b\u6b62\u6b64\u7528\u6237\u8fdb\u5165\u623f\u95f4"],Message:[null,"\u4fe1\u606f"],Save:[null,"\u4fdd\u5b58"],Cancel:[null,"\u53d6\u6d88"],"An error occurred while trying to save the form.":[null,"\u4fdd\u5b58\u8868\u5355\u662f\u51fa\u9519\u3002"],"This chatroom requires a password":[null,"\u6b64\u804a\u5929\u5ba4\u9700\u8981\u5bc6\u7801"],"Password: ":[null,"\u5bc6\u7801:"],Submit:[null,"\u53d1\u9001"],"This room is not anonymous":[null,
  "\u6b64\u4e3a\u975e\u533f\u540d\u804a\u5929\u5ba4"],"This room now shows unavailable members":[null,"\u6b64\u804a\u5929\u5ba4\u663e\u793a\u4e0d\u53ef\u7528\u7528\u6237"],"This room does not show unavailable members":[null,"\u6b64\u804a\u5929\u5ba4\u4e0d\u663e\u793a\u4e0d\u53ef\u7528\u7528\u6237"],"Non-privacy-related room configuration has changed":[null,"\u6b64\u804a\u5929\u5ba4\u8bbe\u7f6e(\u975e\u79c1\u5bc6\u6027)\u5df2\u6539\u53d8"],"Room logging is now enabled":[null,"\u804a\u5929\u5ba4\u804a\u5929\u8bb0\u5f55\u5df2\u542f\u7528"],
  "Room logging is now disabled":[null,"\u804a\u5929\u5ba4\u804a\u5929\u8bb0\u5f55\u5df2\u7981\u7528"],"This room is now non-anonymous":[null,"\u6b64\u804a\u5929\u5ba4\u975e\u533f\u540d"],"This room is now semi-anonymous":[null,"\u6b64\u804a\u5929\u5ba4\u534a\u533f\u540d"],"This room is now fully-anonymous":[null,"\u6b64\u804a\u5929\u5ba4\u5b8c\u5168\u533f\u540d"],"A new room has been created":[null,"\u65b0\u804a\u5929\u5ba4\u5df2\u521b\u5efa"],"Your nickname has been changed":[null,"\u60a8\u7684\u6635\u79f0\u88ab\u66f4\u6539\u4e86"],
  "<strong>%1$s</strong> has been banned":[null,"<strong>%1$s</strong> \u5df2\u88ab\u7981\u6b62"],"<strong>%1$s</strong> has been kicked out":[null,"<strong>%1$s</strong> \u5df2\u88ab\u8e22\u51fa"],"<strong>%1$s</strong> has been removed because of an affiliation change":[null,"\u7531\u4e8e\u5173\u7cfb\u89e3\u9664\u3001<strong>%1$s</strong> \u5df2\u88ab\u79fb\u9664"],"<strong>%1$s</strong> has been removed for not being a member":[null,"\u7531\u4e8e\u4e0d\u662f\u6210\u5458\u3001<strong>%1$s</strong> \u5df2\u88ab\u79fb\u9664"],
  "You have been banned from this room":[null,"\u60a8\u5df2\u88ab\u6b64\u804a\u5929\u5ba4\u7981\u6b62\u5165\u5185"],"You have been kicked from this room":[null,"\u60a8\u5df2\u88ab\u8e22\u51fa\u6b21\u623f\u95f4"],"You have been removed from this room because of an affiliation change":[null,"\u7531\u4e8e\u5173\u7cfb\u53d8\u5316\uff0c\u60a8\u5df2\u88ab\u79fb\u9664\u6b64\u623f\u95f4"],"You have been removed from this room because the room has changed to members-only and you're not a member":[null,"\u60a8\u5df2\u88ab\u79fb\u9664\u6b64\u623f\u95f4\u56e0\u4e3a\u6b64\u623f\u95f4\u66f4\u6539\u4e3a\u53ea\u5141\u8bb8\u6210\u5458\u52a0\u5165\uff0c\u800c\u60a8\u975e\u6210\u5458"],
  "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.":[null,"\u7531\u4e8e\u670d\u52a1\u4e0d\u53ef\u7528\uff0c\u60a8\u5df2\u88ab\u79fb\u9664\u6b64\u623f\u95f4\u3002"],"You are not on the member list of this room":[null,"\u60a8\u5e76\u975e\u6b64\u623f\u95f4\u6210\u5458"],"No nickname was specified":[null,"\u672a\u6307\u5b9a\u6635\u79f0"],"You are not allowed to create new rooms":[null,"\u60a8\u53ef\u6b64\u521b\u5efa\u65b0\u623f\u95f4\u4e86"],"Your nickname doesn't conform to this room's policies":[null,
  "\u60a8\u7684\u6635\u79f0\u4e0d\u7b26\u5408\u6b64\u623f\u95f4\u6807\u51c6"],"Your nickname is already taken":[null,"\u60a8\u7684\u6635\u79f0\u5df2\u88ab\u5360\u7528"],"This room does not (yet) exist":[null,"\u6b64\u623f\u95f4\u4e0d\u5b58\u5728"],"This room has reached it's maximum number of occupants":[null,"\u6b64\u623f\u95f4\u4eba\u6570\u5df2\u8fbe\u4e0a\u7ebf"],"Topic set by %1$s to: %2$s":[null,"%1$s \u8bbe\u7f6e\u8bdd\u9898\u4e3a: %2$s"],"This user is a moderator":[null,"\u6b64\u7528\u6237\u662f\u4e3b\u6301\u4eba"],
  "This user can send messages in this room":[null,"\u6b64\u7528\u6237\u5728\u8fd9\u623f\u95f4\u91cc\u53ef\u53d1\u6d88\u606f"],"This user can NOT send messages in this room":[null,"\u6b64\u7528\u6237\u4e0d\u53ef\u5728\u6b64\u623f\u95f4\u53d1\u6d88\u606f"],Minimized:[null,"\u6700\u5c0f\u5316\u7684"],"Click to remove this contact":[null,"\u70b9\u51fb\u79fb\u9664\u8054\u7cfb\u4eba"],Accept:[null,"\u63a5\u53d7"],"Click to chat with this contact":[null,"\u70b9\u51fb\u4e0e\u5bf9\u65b9\u4ea4\u8c08"],"My contacts":[null,
  "\u6211\u7684\u597d\u53cb\u5217\u8868"],"Contact requests":[null,"\u6765\u81ea\u597d\u53cb\u7684\u8bf7\u6c42"],"Pending contacts":[null,"\u4fdd\u7559\u4e2d\u7684\u8054\u7cfb\u4eba"],"Custom status":[null,"DIY\u72b6\u6001"],online:[null,"\u5728\u7ebf"],busy:[null,"\u5fd9\u788c"],"away for long":[null,"\u957f\u65f6\u95f4\u79bb\u5f00"],away:[null,"\u79bb\u5f00"],"I am %1$s":[null,"\u6211\u73b0\u5728%1$s"],"Click here to write a custom status message":[null,"\u70b9\u51fb\u8fd9\u91cc\uff0c\u586b\u5199\u72b6\u6001\u4fe1\u606f"],
  "Click to change your chat status":[null,"\u70b9\u51fb\u8fd9\u91cc\u6539\u53d8\u804a\u5929\u72b6\u6001"],"XMPP/Jabber Username:":[null,"XMPP/Jabber\u7528\u6237\u540d:"],"Password:":[null,"\u5bc6\u7801:"],"Log In":[null,"\u767b\u5f55"],"Sign in":[null,"\u767b\u5f55"],"Toggle chat":[null,"\u6298\u53e0\u804a\u5929\u7a97\u53e3"]}}};"function"===typeof define&&define.amd?define("zh",["jed"],function(){return b(new Jed(h))}):(window.locales||(window.locales={}),window.locales.zh=b(new Jed(h)))})(this,function(a){return a});
  (function(a,b){define("locales","jed af de en es fr he hu id it ja nl pt_BR ru zh".split(" "),function(h,B,t,g,e,f,l,n,k,p,d,y,w,m,x){a.locales={af:B,de:t,en:g,es:e,fr:f,he:l,hu:n,id:k,it:p,ja:d,nl:y,"pt-br":w,ru:m,zh:x}})})(this);
  (function(){var a=this,b=a._,h={},B=Array.prototype,t=Object.prototype,g=B.push,e=B.slice,f=B.concat,l=t.toString,n=t.hasOwnProperty,k=B.forEach,p=B.map,d=B.reduce,y=B.reduceRight,w=B.filter,m=B.every,x=B.some,F=B.indexOf,D=B.lastIndexOf;t=Array.isArray;var A=Object.keys,M=Function.prototype.bind,v=function(z){if(z instanceof v)return z;if(!(this instanceof v))return new v(z);this._wrapped=z};"undefined"!==typeof exports?("undefined"!==typeof module&&module.exports&&(exports=module.exports=v),exports._=
  v):a._=v;v.VERSION="1.6.0";var O=v.each=v.forEach=function(z,H,N){if(null==z)return z;if(k&&z.forEach===k)z.forEach(H,N);else if(z.length===+z.length)for(var P=0,X=z.length;P<X;P++){if(H.call(N,z[P],P,z)===h)return}else{var Z=v.keys(z);P=0;for(X=Z.length;P<X;P++)if(H.call(N,z[Z[P]],Z[P],z)===h)return}return z};v.map=v.collect=function(z,H,N){var P=[];if(null==z)return P;if(p&&z.map===p)return z.map(H,N);O(z,function(X,Z,ea){P.push(H.call(N,X,Z,ea))});return P};v.reduce=v.foldl=v.inject=function(z,
  H,N,P){var X=2<arguments.length;null==z&&(z=[]);if(d&&z.reduce===d)return P&&(H=v.bind(H,P)),X?z.reduce(H,N):z.reduce(H);O(z,function(Z,ea,pa){X?N=H.call(P,N,Z,ea,pa):(N=Z,X=!0)});if(!X)throw new TypeError("Reduce of empty array with no initial value");return N};v.reduceRight=v.foldr=function(z,H,N,P){var X=2<arguments.length;null==z&&(z=[]);if(y&&z.reduceRight===y)return P&&(H=v.bind(H,P)),X?z.reduceRight(H,N):z.reduceRight(H);var Z=z.length;if(Z!==+Z){var ea=v.keys(z);Z=ea.length}O(z,function(pa,
  ta,na){ta=ea?ea[--Z]:--Z;X?N=H.call(P,N,z[ta],ta,na):(N=z[ta],X=!0)});if(!X)throw new TypeError("Reduce of empty array with no initial value");return N};v.find=v.detect=function(z,H,N){var P;V(z,function(X,Z,ea){if(H.call(N,X,Z,ea))return P=X,!0});return P};v.filter=v.select=function(z,H,N){var P=[];if(null==z)return P;if(w&&z.filter===w)return z.filter(H,N);O(z,function(X,Z,ea){H.call(N,X,Z,ea)&&P.push(X)});return P};v.reject=function(z,H,N){return v.filter(z,function(P,X,Z){return!H.call(N,P,X,
  Z)},N)};v.every=v.all=function(z,H,N){H||(H=v.identity);var P=!0;if(null==z)return P;if(m&&z.every===m)return z.every(H,N);O(z,function(X,Z,ea){if(!(P=P&&H.call(N,X,Z,ea)))return h});return!!P};var V=v.some=v.any=function(z,H,N){H||(H=v.identity);var P=!1;if(null==z)return P;if(x&&z.some===x)return z.some(H,N);O(z,function(X,Z,ea){if(P||(P=H.call(N,X,Z,ea)))return h});return!!P};v.contains=v.include=function(z,H){return null==z?!1:F&&z.indexOf===F?-1!=z.indexOf(H):V(z,function(N){return N===H})};
  v.invoke=function(z,H){var N=e.call(arguments,2),P=v.isFunction(H);return v.map(z,function(X){return(P?H:X[H]).apply(X,N)})};v.pluck=function(z,H){return v.map(z,v.property(H))};v.where=function(z,H){return v.filter(z,v.matches(H))};v.findWhere=function(z,H){return v.find(z,v.matches(H))};v.max=function(z,H,N){if(!H&&v.isArray(z)&&z[0]===+z[0]&&65535>z.length)return Math.max.apply(Math,z);var P=-Infinity,X=-Infinity;O(z,function(Z,ea,pa){ea=H?H.call(N,Z,ea,pa):Z;ea>X&&(P=Z,X=ea)});return P};v.min=
  function(z,H,N){if(!H&&v.isArray(z)&&z[0]===+z[0]&&65535>z.length)return Math.min.apply(Math,z);var P=Infinity,X=Infinity;O(z,function(Z,ea,pa){ea=H?H.call(N,Z,ea,pa):Z;ea<X&&(P=Z,X=ea)});return P};v.shuffle=function(z){var H,N=0,P=[];O(z,function(X){H=v.random(N++);P[N-1]=P[H];P[H]=X});return P};v.sample=function(z,H,N){return null==H||N?(z.length!==+z.length&&(z=v.values(z)),z[v.random(z.length-1)]):v.shuffle(z).slice(0,Math.max(0,H))};var aa=function(z){return null==z?v.identity:v.isFunction(z)?
  z:v.property(z)};v.sortBy=function(z,H,N){H=aa(H);return v.pluck(v.map(z,function(P,X,Z){return{value:P,index:X,criteria:H.call(N,P,X,Z)}}).sort(function(P,X){var Z=P.criteria,ea=X.criteria;if(Z!==ea){if(Z>ea||void 0===Z)return 1;if(Z<ea||void 0===ea)return-1}return P.index-X.index}),"value")};var ba=function(z){return function(H,N,P){var X={};N=aa(N);O(H,function(Z,ea){ea=N.call(P,Z,ea,H);z(X,ea,Z)});return X}};v.groupBy=ba(function(z,H,N){v.has(z,H)?z[H].push(N):z[H]=[N]});v.indexBy=ba(function(z,
  H,N){z[H]=N});v.countBy=ba(function(z,H){v.has(z,H)?z[H]++:z[H]=1});v.sortedIndex=function(z,H,N,P){N=aa(N);H=N.call(P,H);for(var X=0,Z=z.length;X<Z;){var ea=X+Z>>>1;N.call(P,z[ea])<H?X=ea+1:Z=ea}return X};v.toArray=function(z){return z?v.isArray(z)?e.call(z):z.length===+z.length?v.map(z,v.identity):v.values(z):[]};v.size=function(z){return null==z?0:z.length===+z.length?z.length:v.keys(z).length};v.first=v.head=v.take=function(z,H,N){if(null!=z)return null==H||N?z[0]:0>H?[]:e.call(z,0,H)};v.initial=
  function(z,H,N){return e.call(z,0,z.length-(null==H||N?1:H))};v.last=function(z,H,N){if(null!=z)return null==H||N?z[z.length-1]:e.call(z,Math.max(z.length-H,0))};v.rest=v.tail=v.drop=function(z,H,N){return e.call(z,null==H||N?1:H)};v.compact=function(z){return v.filter(z,v.identity)};var ka=function(z,H,N){if(H&&v.every(z,v.isArray))return f.apply(N,z);O(z,function(P){v.isArray(P)||v.isArguments(P)?H?g.apply(N,P):ka(P,H,N):N.push(P)});return N};v.flatten=function(z,H){return ka(z,H,[])};v.without=
  function(z){return v.difference(z,e.call(arguments,1))};v.partition=function(z,H){var N=[],P=[];O(z,function(X){(H(X)?N:P).push(X)});return[N,P]};v.uniq=v.unique=function(z,H,N,P){v.isFunction(H)&&(P=N,N=H,H=!1);N=N?v.map(z,N,P):z;var X=[],Z=[];O(N,function(ea,pa){(H?pa&&Z[Z.length-1]===ea:v.contains(Z,ea))||(Z.push(ea),X.push(z[pa]))});return X};v.union=function(){return v.uniq(v.flatten(arguments,!0))};v.intersection=function(z){var H=e.call(arguments,1);return v.filter(v.uniq(z),function(N){return v.every(H,
  function(P){return v.contains(P,N)})})};v.difference=function(z){var H=f.apply(B,e.call(arguments,1));return v.filter(z,function(N){return!v.contains(H,N)})};v.zip=function(){for(var z=v.max(v.pluck(arguments,"length").concat(0)),H=Array(z),N=0;N<z;N++)H[N]=v.pluck(arguments,""+N);return H};v.object=function(z,H){if(null==z)return{};for(var N={},P=0,X=z.length;P<X;P++)H?N[z[P]]=H[P]:N[z[P][0]]=z[P][1];return N};v.indexOf=function(z,H,N){if(null==z)return-1;var P=0,X=z.length;if(N)if("number"==typeof N)P=
  0>N?Math.max(0,X+N):N;else return P=v.sortedIndex(z,H),z[P]===H?P:-1;if(F&&z.indexOf===F)return z.indexOf(H,N);for(;P<X;P++)if(z[P]===H)return P;return-1};v.lastIndexOf=function(z,H,N){if(null==z)return-1;var P=null!=N;if(D&&z.lastIndexOf===D)return P?z.lastIndexOf(H,N):z.lastIndexOf(H);for(N=P?N:z.length;N--;)if(z[N]===H)return N;return-1};v.range=function(z,H,N){1>=arguments.length&&(H=z||0,z=0);N=arguments[2]||1;for(var P=Math.max(Math.ceil((H-z)/N),0),X=0,Z=Array(P);X<P;)Z[X++]=z,z+=N;return Z};
  var fa=function(){};v.bind=function(z,H){var N;if(M&&z.bind===M)return M.apply(z,e.call(arguments,1));if(!v.isFunction(z))throw new TypeError;var P=e.call(arguments,2);return N=function(){if(!(this instanceof N))return z.apply(H,P.concat(e.call(arguments)));fa.prototype=z.prototype;var X=new fa;fa.prototype=null;var Z=z.apply(X,P.concat(e.call(arguments)));return Object(Z)===Z?Z:X}};v.partial=function(z){var H=e.call(arguments,1);return function(){for(var N=0,P=H.slice(),X=0,Z=P.length;X<Z;X++)P[X]===
  v&&(P[X]=arguments[N++]);for(;N<arguments.length;)P.push(arguments[N++]);return z.apply(this,P)}};v.bindAll=function(z){var H=e.call(arguments,1);if(0===H.length)throw Error("bindAll must be passed function names");O(H,function(N){z[N]=v.bind(z[N],z)});return z};v.memoize=function(z,H){var N={};H||(H=v.identity);return function(){var P=H.apply(this,arguments);return v.has(N,P)?N[P]:N[P]=z.apply(this,arguments)}};v.delay=function(z,H){var N=e.call(arguments,2);return setTimeout(function(){return z.apply(null,
  N)},H)};v.defer=function(z){return v.delay.apply(v,[z,1].concat(e.call(arguments,1)))};v.throttle=function(z,H,N){var P,X,Z,ea=null,pa=0;N||(N={});var ta=function(){pa=!1===N.leading?0:v.now();ea=null;Z=z.apply(P,X);P=X=null};return function(){var na=v.now();pa||!1!==N.leading||(pa=na);var ua=H-(na-pa);P=this;X=arguments;0>=ua?(clearTimeout(ea),ea=null,pa=na,Z=z.apply(P,X),P=X=null):ea||!1===N.trailing||(ea=setTimeout(ta,ua));return Z}};v.debounce=function(z,H,N){var P,X,Z,ea,pa,ta=function(){var na=
  v.now()-ea;na<H?P=setTimeout(ta,H-na):(P=null,N||(pa=z.apply(Z,X),Z=X=null))};return function(){Z=this;X=arguments;ea=v.now();var na=N&&!P;P||(P=setTimeout(ta,H));na&&(pa=z.apply(Z,X),Z=X=null);return pa}};v.once=function(z){var H=!1,N;return function(){if(H)return N;H=!0;N=z.apply(this,arguments);z=null;return N}};v.wrap=function(z,H){return v.partial(H,z)};v.compose=function(){var z=arguments;return function(){for(var H=arguments,N=z.length-1;0<=N;N--)H=[z[N].apply(this,H)];return H[0]}};v.after=
  function(z,H){return function(){if(1>--z)return H.apply(this,arguments)}};v.keys=function(z){if(!v.isObject(z))return[];if(A)return A(z);var H=[],N;for(N in z)v.has(z,N)&&H.push(N);return H};v.values=function(z){for(var H=v.keys(z),N=H.length,P=Array(N),X=0;X<N;X++)P[X]=z[H[X]];return P};v.pairs=function(z){for(var H=v.keys(z),N=H.length,P=Array(N),X=0;X<N;X++)P[X]=[H[X],z[H[X]]];return P};v.invert=function(z){for(var H={},N=v.keys(z),P=0,X=N.length;P<X;P++)H[z[N[P]]]=N[P];return H};v.functions=v.methods=
  function(z){var H=[],N;for(N in z)v.isFunction(z[N])&&H.push(N);return H.sort()};v.extend=function(z){O(e.call(arguments,1),function(H){if(H)for(var N in H)z[N]=H[N]});return z};v.pick=function(z){var H={},N=f.apply(B,e.call(arguments,1));O(N,function(P){P in z&&(H[P]=z[P])});return H};v.omit=function(z){var H={},N=f.apply(B,e.call(arguments,1)),P;for(P in z)v.contains(N,P)||(H[P]=z[P]);return H};v.defaults=function(z){O(e.call(arguments,1),function(H){if(H)for(var N in H)void 0===z[N]&&(z[N]=H[N])});
  return z};v.clone=function(z){return v.isObject(z)?v.isArray(z)?z.slice():v.extend({},z):z};v.tap=function(z,H){H(z);return z};var c=function(z,H,N,P){if(z===H)return 0!==z||1/z==1/H;if(null==z||null==H)return z===H;z instanceof v&&(z=z._wrapped);H instanceof v&&(H=H._wrapped);var X=l.call(z);if(X!=l.call(H))return!1;switch(X){case "[object String]":return z==String(H);case "[object Number]":return z!=+z?H!=+H:0==z?1/z==1/H:z==+H;case "[object Date]":case "[object Boolean]":return+z==+H;case "[object RegExp]":return z.source==
  H.source&&z.global==H.global&&z.multiline==H.multiline&&z.ignoreCase==H.ignoreCase}if("object"!=typeof z||"object"!=typeof H)return!1;for(var Z=N.length;Z--;)if(N[Z]==z)return P[Z]==H;Z=z.constructor;var ea=H.constructor;if(Z!==ea&&!(v.isFunction(Z)&&Z instanceof Z&&v.isFunction(ea)&&ea instanceof ea)&&"constructor"in z&&"constructor"in H)return!1;N.push(z);P.push(H);Z=0;ea=!0;if("[object Array]"==X){if(Z=z.length,ea=Z==H.length)for(;Z--&&(ea=c(z[Z],H[Z],N,P)););}else{for(var pa in z)if(v.has(z,pa)&&
  (Z++,!(ea=v.has(H,pa)&&c(z[pa],H[pa],N,P))))break;if(ea){for(pa in H)if(v.has(H,pa)&&!Z--)break;ea=!Z}}N.pop();P.pop();return ea};v.isEqual=function(z,H){return c(z,H,[],[])};v.isEmpty=function(z){if(null==z)return!0;if(v.isArray(z)||v.isString(z))return 0===z.length;for(var H in z)if(v.has(z,H))return!1;return!0};v.isElement=function(z){return!(!z||1!==z.nodeType)};v.isArray=t||function(z){return"[object Array]"==l.call(z)};v.isObject=function(z){return z===Object(z)};O("Arguments Function String Number Date RegExp".split(" "),
  function(z){v["is"+z]=function(H){return l.call(H)=="[object "+z+"]"}});v.isArguments(arguments)||(v.isArguments=function(z){return!(!z||!v.has(z,"callee"))});"function"!==typeof/./&&(v.isFunction=function(z){return"function"===typeof z});v.isFinite=function(z){return isFinite(z)&&!isNaN(parseFloat(z))};v.isNaN=function(z){return v.isNumber(z)&&z!=+z};v.isBoolean=function(z){return!0===z||!1===z||"[object Boolean]"==l.call(z)};v.isNull=function(z){return null===z};v.isUndefined=function(z){return void 0===
  z};v.has=function(z,H){return n.call(z,H)};v.noConflict=function(){a._=b;return this};v.identity=function(z){return z};v.constant=function(z){return function(){return z}};v.property=function(z){return function(H){return H[z]}};v.matches=function(z){return function(H){if(H===z)return!0;for(var N in z)if(z[N]!==H[N])return!1;return!0}};v.times=function(z,H,N){for(var P=Array(Math.max(0,z)),X=0;X<z;X++)P[X]=H.call(N,X);return P};v.random=function(z,H){null==H&&(H=z,z=0);return z+Math.floor(Math.random()*
  (H-z+1))};v.now=Date.now||function(){return(new Date).getTime()};var q={escape:{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"}};q.unescape=v.invert(q.escape);var E={escape:new RegExp("["+v.keys(q.escape).join("")+"]","g"),unescape:new RegExp("("+v.keys(q.unescape).join("|")+")","g")};v.each(["escape","unescape"],function(z){v[z]=function(H){return null==H?"":(""+H).replace(E[z],function(N){return q[z][N]})}});v.result=function(z,H){if(null!=z)return H=z[H],v.isFunction(H)?H.call(z):
  H};v.mixin=function(z){O(v.functions(z),function(H){var N=v[H]=z[H];v.prototype[H]=function(){var P=[this._wrapped];g.apply(P,arguments);return R.call(this,N.apply(v,P))}})};var u=0;v.uniqueId=function(z){var H=++u+"";return z?z+H:H};v.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var C=/(.)^/,K={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},T=/\\|'|\r|\n|\t|\u2028|\u2029/g;v.template=function(z,H,N){N=v.defaults({},
  N,v.templateSettings);var P=new RegExp([(N.escape||C).source,(N.interpolate||C).source,(N.evaluate||C).source].join("|")+"|$","g"),X=0,Z="__p+='";z.replace(P,function(pa,ta,na,ua,za){Z+=z.slice(X,za).replace(T,function(qa){return"\\"+K[qa]});ta&&(Z+="'+\n((__t=("+ta+"))==null?'':_.escape(__t))+\n'");na&&(Z+="'+\n((__t=("+na+"))==null?'':__t)+\n'");ua&&(Z+="';\n"+ua+"\n__p+='");X=za+pa.length;return pa});Z+="';\n";N.variable||(Z="with(obj||{}){\n"+Z+"}\n");Z="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+
  Z+"return __p;\n";try{var ea=new Function(N.variable||"obj","_",Z)}catch(pa){throw pa.source=Z,pa;}if(H)return ea(H,v);H=function(pa){return ea.call(this,pa,v)};H.source="function("+(N.variable||"obj")+"){\n"+Z+"}";return H};v.chain=function(z){return v(z).chain()};var R=function(z){return this._chain?v(z).chain():z};v.mixin(v);O("pop push reverse shift sort splice unshift".split(" "),function(z){var H=B[z];v.prototype[z]=function(){var N=this._wrapped;H.apply(N,arguments);"shift"!=z&&"splice"!=z||
  0!==N.length||delete N[0];return R.call(this,N)}});O(["concat","join","slice"],function(z){var H=B[z];v.prototype[z]=function(){return R.call(this,H.apply(this._wrapped,arguments))}});v.extend(v.prototype,{chain:function(){this._chain=!0;return this},value:function(){return this._wrapped}});"function"===typeof define&&define.amd&&define("underscore",[],function(){return v})}).call(this);
  (function(a,b){if("function"===typeof define&&define.amd)define("backbone",["underscore","jquery","exports"],function(B,t,g){a.Backbone=b(a,g,B,t)});else if("undefined"!==typeof exports){var h=require("underscore");b(a,exports,h)}else a.Backbone=b(a,{},a._,a.jQuery||a.Zepto||a.ender||a.$)})(this,function(a,b,h,B){var t=a.Backbone,g=[].slice;b.VERSION="1.1.2";b.$=B;b.noConflict=function(){a.Backbone=t;return this};b.emulateHTTP=!1;b.emulateJSON=!1;var e=b.Events={on:function(u,C,K){if(!l(this,"on",
  u,[C,K])||!C)return this;this._events||(this._events={});(this._events[u]||(this._events[u]=[])).push({callback:C,context:K,ctx:K||this});return this},once:function(u,C,K){if(!l(this,"once",u,[C,K])||!C)return this;var T=this,R=h.once(function(){T.off(u,R);C.apply(this,arguments)});R._callback=C;return this.on(u,R,K)},off:function(u,C,K){var T,R,z,H;if(!this._events||!l(this,"off",u,[C,K]))return this;if(!u&&!C&&!K)return this._events=void 0,this;var N=u?[u]:h.keys(this._events);var P=0;for(z=N.length;P<
  z;P++)if(u=N[P],R=this._events[u]){this._events[u]=T=[];if(C||K){var X=0;for(H=R.length;X<H;X++){var Z=R[X];(C&&C!==Z.callback&&C!==Z.callback._callback||K&&K!==Z.context)&&T.push(Z)}}T.length||delete this._events[u]}return this},trigger:function(u){if(!this._events)return this;var C=g.call(arguments,1);if(!l(this,"trigger",u,C))return this;var K=this._events[u],T=this._events.all;K&&n(K,C);T&&n(T,arguments);return this},stopListening:function(u,C,K){var T=this._listeningTo;if(!T)return this;var R=
  !C&&!K;K||"object"!==typeof C||(K=this);u&&((T={})[u._listenId]=u);for(var z in T)u=T[z],u.off(C,K,this),(R||h.isEmpty(u._events))&&delete this._listeningTo[z];return this}},f=/\s+/,l=function(u,C,K,T){if(!K)return!0;if("object"===typeof K){for(var R in K)u[C].apply(u,[R,K[R]].concat(T));return!1}if(f.test(K)){K=K.split(f);R=0;for(var z=K.length;R<z;R++)u[C].apply(u,[K[R]].concat(T));return!1}return!0},n=function(u,C){var K,T=-1,R=u.length,z=C[0],H=C[1],N=C[2];switch(C.length){case 0:for(;++T<R;)(K=
  u[T]).callback.call(K.ctx);break;case 1:for(;++T<R;)(K=u[T]).callback.call(K.ctx,z);break;case 2:for(;++T<R;)(K=u[T]).callback.call(K.ctx,z,H);break;case 3:for(;++T<R;)(K=u[T]).callback.call(K.ctx,z,H,N);break;default:for(;++T<R;)(K=u[T]).callback.apply(K.ctx,C)}};h.each({listenTo:"on",listenToOnce:"once"},function(u,C){e[C]=function(K,T,R){var z=this._listeningTo||(this._listeningTo={}),H=K._listenId||(K._listenId=h.uniqueId("l"));z[H]=K;R||"object"!==typeof T||(R=this);K[u](T,R,this);return this}});
  e.bind=e.on;e.unbind=e.off;h.extend(b,e);var k=b.Model=function(u,C){var K=u||{};C||(C={});this.cid=h.uniqueId("c");this.attributes={};C.collection&&(this.collection=C.collection);C.parse&&(K=this.parse(K,C)||{});K=h.defaults({},K,h.result(this,"defaults"));this.set(K,C);this.changed={};this.initialize.apply(this,arguments)};h.extend(k.prototype,e,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(u){return h.clone(this.attributes)},sync:function(){return b.sync.apply(this,
  arguments)},get:function(u){return this.attributes[u]},escape:function(u){return h.escape(this.get(u))},has:function(u){return null!=this.get(u)},set:function(u,C,K){var T;if(null==u)return this;if("object"===typeof u){var R=u;K=C}else(R={})[u]=C;K||(K={});if(!this._validate(R,K))return!1;var z=K.unset;var H=K.silent;u=[];var N=this._changing;this._changing=!0;N||(this._previousAttributes=h.clone(this.attributes),this.changed={});var P=this.attributes;var X=this._previousAttributes;this.idAttribute in
  R&&(this.id=R[this.idAttribute]);for(T in R)C=R[T],h.isEqual(P[T],C)||u.push(T),h.isEqual(X[T],C)?delete this.changed[T]:this.changed[T]=C,z?delete P[T]:P[T]=C;if(!H)for(u.length&&(this._pending=K),C=0,T=u.length;C<T;C++)this.trigger("change:"+u[C],this,P[u[C]],K);if(N)return this;if(!H)for(;this._pending;)K=this._pending,this._pending=!1,this.trigger("change",this,K);this._changing=this._pending=!1;return this},unset:function(u,C){return this.set(u,void 0,h.extend({},C,{unset:!0}))},clear:function(u){var C=
  {},K;for(K in this.attributes)C[K]=void 0;return this.set(C,h.extend({},u,{unset:!0}))},hasChanged:function(u){return null==u?!h.isEmpty(this.changed):h.has(this.changed,u)},changedAttributes:function(u){if(!u)return this.hasChanged()?h.clone(this.changed):!1;var C,K=!1,T=this._changing?this._previousAttributes:this.attributes,R;for(R in u)h.isEqual(T[R],C=u[R])||((K||(K={}))[R]=C);return K},previous:function(u){return null!=u&&this._previousAttributes?this._previousAttributes[u]:null},previousAttributes:function(){return h.clone(this._previousAttributes)},
  fetch:function(u){u=u?h.clone(u):{};void 0===u.parse&&(u.parse=!0);var C=this,K=u.success;u.success=function(T){if(!C.set(C.parse(T,u),u))return!1;K&&K(C,T,u);C.trigger("sync",C,T,u)};E(this,u);return this.sync("read",this,u)},save:function(u,C,K){var T=this.attributes;if(null==u||"object"===typeof u){var R=u;K=C}else(R={})[u]=C;K=h.extend({validate:!0},K);if(R&&!K.wait){if(!this.set(R,K))return!1}else if(!this._validate(R,K))return!1;R&&K.wait&&(this.attributes=h.extend({},T,R));void 0===K.parse&&
  (K.parse=!0);var z=this,H=K.success;K.success=function(N){z.attributes=T;var P=z.parse(N,K);K.wait&&(P=h.extend(R||{},P));if(h.isObject(P)&&!z.set(P,K))return!1;H&&H(z,N,K);z.trigger("sync",z,N,K)};E(this,K);u=this.isNew()?"create":K.patch?"patch":"update";"patch"===u&&(K.attrs=R);u=this.sync(u,this,K);R&&K.wait&&(this.attributes=T);return u},destroy:function(u){u=u?h.clone(u):{};var C=this,K=u.success,T=function(){C.trigger("destroy",C,C.collection,u)};u.success=function(z){(u.wait||C.isNew())&&
  T();K&&K(C,z,u);C.isNew()||C.trigger("sync",C,z,u)};if(this.isNew())return u.success(),!1;E(this,u);var R=this.sync("delete",this,u);u.wait||T();return R},url:function(){var u=h.result(this,"urlRoot")||h.result(this.collection,"url")||q();return this.isNew()?u:u.replace(/([^\/])$/,"$1/")+encodeURIComponent(this.id)},parse:function(u,C){return u},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(u){return this._validate({},
  h.extend(u||{},{validate:!0}))},_validate:function(u,C){if(!C.validate||!this.validate)return!0;u=h.extend({},this.attributes,u);u=this.validationError=this.validate(u,C)||null;if(!u)return!0;this.trigger("invalid",this,u,h.extend(C,{validationError:u}));return!1}});h.each("keys values pairs invert pick omit".split(" "),function(u){k.prototype[u]=function(){var C=g.call(arguments);C.unshift(this.attributes);return h[u].apply(h,C)}});var p=b.Collection=function(u,C){C||(C={});C.model&&(this.model=
  C.model);void 0!==C.comparator&&(this.comparator=C.comparator);this._reset();this.initialize.apply(this,arguments);u&&this.reset(u,h.extend({silent:!0},C))},d={add:!0,remove:!0,merge:!0},y={add:!0,remove:!1};h.extend(p.prototype,e,{model:k,initialize:function(){},toJSON:function(u){return this.map(function(C){return C.toJSON(u)})},sync:function(){return b.sync.apply(this,arguments)},add:function(u,C){return this.set(u,h.extend({merge:!1},C,y))},remove:function(u,C){var K=!h.isArray(u);u=K?[u]:h.clone(u);
  C||(C={});var T,R;var z=0;for(T=u.length;z<T;z++)if(R=u[z]=this.get(u[z])){delete this._byId[R.id];delete this._byId[R.cid];var H=this.indexOf(R);this.models.splice(H,1);this.length--;C.silent||(C.index=H,R.trigger("remove",R,this,C));this._removeReference(R,C)}return K?u[0]:u},set:function(u,C){C=h.defaults({},C,d);C.parse&&(u=this.parse(u,C));var K=!h.isArray(u);u=K?u?[u]:[]:h.clone(u);var T,R,z,H=C.at,N=this.model,P=this.comparator&&null==H&&!1!==C.sort,X=h.isString(this.comparator)?this.comparator:
  null,Z=[],ea=[],pa={},ta=C.add,na=C.merge,ua=C.remove,za=!P&&ta&&ua?[]:!1;var qa=0;for(T=u.length;qa<T;qa++){var xa=u[qa]||{};var Y=xa instanceof k?R=xa:xa[N.prototype.idAttribute||"id"];if(Y=this.get(Y))ua&&(pa[Y.cid]=!0),na&&(xa=xa===R?R.attributes:xa,C.parse&&(xa=Y.parse(xa,C)),Y.set(xa,C),P&&!z&&Y.hasChanged(X)&&(z=!0)),u[qa]=Y;else if(ta){R=u[qa]=this._prepareModel(xa,C);if(!R)continue;Z.push(R);this._addReference(R,C)}R=Y||R;!za||!R.isNew()&&pa[R.id]||za.push(R);pa[R.id]=!0}if(ua){qa=0;for(T=
  this.length;qa<T;++qa)pa[(R=this.models[qa]).cid]||ea.push(R);ea.length&&this.remove(ea,C)}if(Z.length||za&&za.length)if(P&&(z=!0),this.length+=Z.length,null!=H)for(qa=0,T=Z.length;qa<T;qa++)this.models.splice(H+qa,0,Z[qa]);else for(za&&(this.models.length=0),xa=za||Z,qa=0,T=xa.length;qa<T;qa++)this.models.push(xa[qa]);z&&this.sort({silent:!0});if(!C.silent){qa=0;for(T=Z.length;qa<T;qa++)(R=Z[qa]).trigger("add",R,this,C);(z||za&&za.length)&&this.trigger("sort",this,C)}return K?u[0]:u},reset:function(u,
  C){C||(C={});for(var K=0,T=this.models.length;K<T;K++)this._removeReference(this.models[K],C);C.previousModels=this.models;this._reset();u=this.add(u,h.extend({silent:!0},C));C.silent||this.trigger("reset",this,C);return u},push:function(u,C){return this.add(u,h.extend({at:this.length},C))},pop:function(u){var C=this.at(this.length-1);this.remove(C,u);return C},unshift:function(u,C){return this.add(u,h.extend({at:0},C))},shift:function(u){var C=this.at(0);this.remove(C,u);return C},slice:function(){return g.apply(this.models,
  arguments)},get:function(u){if(null!=u)return this._byId[u]||this._byId[u.id]||this._byId[u.cid]},at:function(u){return this.models[u]},where:function(u,C){return h.isEmpty(u)?C?void 0:[]:this[C?"find":"filter"](function(K){for(var T in u)if(u[T]!==K.get(T))return!1;return!0})},findWhere:function(u){return this.where(u,!0)},sort:function(u){if(!this.comparator)throw Error("Cannot sort a set without a comparator");u||(u={});h.isString(this.comparator)||1===this.comparator.length?this.models=this.sortBy(this.comparator,
  this):this.models.sort(h.bind(this.comparator,this));u.silent||this.trigger("sort",this,u);return this},pluck:function(u){return h.invoke(this.models,"get",u)},fetch:function(u){u=u?h.clone(u):{};void 0===u.parse&&(u.parse=!0);var C=u.success,K=this;u.success=function(T){K[u.reset?"reset":"set"](T,u);C&&C(K,T,u);K.trigger("sync",K,T,u)};E(this,u);return this.sync("read",this,u)},create:function(u,C){C=C?h.clone(C):{};if(!(u=this._prepareModel(u,C)))return!1;C.wait||this.add(u,C);var K=this,T=C.success;
  C.success=function(R,z){C.wait&&K.add(R,C);T&&T(R,z,C)};u.save(null,C);return u},parse:function(u,C){return u},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0;this.models=[];this._byId={}},_prepareModel:function(u,C){if(u instanceof k)return u;C=C?h.clone(C):{};C.collection=this;u=new this.model(u,C);if(!u.validationError)return u;this.trigger("invalid",this,u.validationError,C);return!1},_addReference:function(u,C){this._byId[u.cid]=u;null!=u.id&&(this._byId[u.id]=
  u);u.collection||(u.collection=this);u.on("all",this._onModelEvent,this)},_removeReference:function(u,C){this===u.collection&&delete u.collection;u.off("all",this._onModelEvent,this)},_onModelEvent:function(u,C,K,T){if("add"!==u&&"remove"!==u||K===this)"destroy"===u&&this.remove(C,T),C&&u==="change:"+C.idAttribute&&(delete this._byId[C.previous(C.idAttribute)],null!=C.id&&(this._byId[C.id]=C)),this.trigger.apply(this,arguments)}});h.each("forEach each map collect reduce foldl inject reduceRight foldr find detect filter select reject every all some any include contains invoke max min toArray size first head take initial rest tail drop last without difference indexOf shuffle lastIndexOf isEmpty chain sample".split(" "),
  function(u){p.prototype[u]=function(){var C=g.call(arguments);C.unshift(this.models);return h[u].apply(h,C)}});h.each(["groupBy","countBy","sortBy","indexBy"],function(u){p.prototype[u]=function(C,K){var T=h.isFunction(C)?C:function(R){return R.get(C)};return h[u](this.models,T,K)}});B=b.View=function(u){this.cid=h.uniqueId("view");u||(u={});h.extend(this,h.pick(u,m));this._ensureElement();this.initialize.apply(this,arguments);this.delegateEvents()};var w=/^(\S+)\s*(.*)$/,m="model collection el id attributes className tagName events".split(" ");
  h.extend(B.prototype,e,{tagName:"div",$:function(u){return this.$el.find(u)},initialize:function(){},render:function(){return this},remove:function(){this.$el.remove();this.stopListening();return this},setElement:function(u,C){this.$el&&this.undelegateEvents();this.$el=u instanceof b.$?u:b.$(u);this.el=this.$el[0];!1!==C&&this.delegateEvents();return this},delegateEvents:function(u){if(!u&&!(u=h.result(this,"events")))return this;this.undelegateEvents();for(var C in u){var K=u[C];h.isFunction(K)||
  (K=this[u[C]]);if(K){var T=C.match(w),R=T[1];T=T[2];K=h.bind(K,this);R+=".delegateEvents"+this.cid;if(""===T)this.$el.on(R,K);else this.$el.on(R,T,K)}}return this},undelegateEvents:function(){this.$el.off(".delegateEvents"+this.cid);return this},_ensureElement:function(){if(this.el)this.setElement(h.result(this,"el"),!1);else{var u=h.extend({},h.result(this,"attributes"));this.id&&(u.id=h.result(this,"id"));this.className&&(u["class"]=h.result(this,"className"));u=b.$("<"+h.result(this,"tagName")+
  ">").attr(u);this.setElement(u,!1)}}});b.sync=function(u,C,K){var T=F[u];h.defaults(K||(K={}),{emulateHTTP:b.emulateHTTP,emulateJSON:b.emulateJSON});var R={type:T,dataType:"json"};K.url||(R.url=h.result(C,"url")||q());null!=K.data||!C||"create"!==u&&"update"!==u&&"patch"!==u||(R.contentType="application/json",R.data=JSON.stringify(K.attrs||C.toJSON(K)));K.emulateJSON&&(R.contentType="application/x-www-form-urlencoded",R.data=R.data?{model:R.data}:{});if(K.emulateHTTP&&("PUT"===T||"DELETE"===T||"PATCH"===
  T)){R.type="POST";K.emulateJSON&&(R.data._method=T);var z=K.beforeSend;K.beforeSend=function(H){H.setRequestHeader("X-HTTP-Method-Override",T);if(z)return z.apply(this,arguments)}}"GET"===R.type||K.emulateJSON||(R.processData=!1);"PATCH"===R.type&&x&&(R.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")});u=K.xhr=b.ajax(h.extend(R,K));C.trigger("request",C,u,K);return u};var x="undefined"!==typeof window&&!!window.ActiveXObject&&!(window.XMLHttpRequest&&(new XMLHttpRequest).dispatchEvent),
  F={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};b.ajax=function(){return b.$.ajax.apply(b.$,arguments)};var D=b.Router=function(u){u||(u={});u.routes&&(this.routes=u.routes);this._bindRoutes();this.initialize.apply(this,arguments)},A=/\((.*?)\)/g,M=/(\(\?)?:\w+/g,v=/\*\w+/g,O=/[\-{}\[\]+?.,\\\^$|#\s]/g;h.extend(D.prototype,e,{initialize:function(){},route:function(u,C,K){h.isRegExp(u)||(u=this._routeToRegExp(u));h.isFunction(C)&&(K=C,C="");K||(K=this[C]);var T=this;b.history.route(u,
  function(R){R=T._extractParameters(u,R);T.execute(K,R);T.trigger.apply(T,["route:"+C].concat(R));T.trigger("route",C,R);b.history.trigger("route",T,C,R)});return this},execute:function(u,C){u&&u.apply(this,C)},navigate:function(u,C){b.history.navigate(u,C);return this},_bindRoutes:function(){if(this.routes){this.routes=h.result(this,"routes");for(var u,C=h.keys(this.routes);null!=(u=C.pop());)this.route(u,this.routes[u])}},_routeToRegExp:function(u){u=u.replace(O,"\\$&").replace(A,"(?:$1)?").replace(M,
  function(C,K){return K?C:"([^/?]+)"}).replace(v,"([^?]*?)");return new RegExp("^"+u+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(u,C){var K=u.exec(C).slice(1);return h.map(K,function(T,R){return R===K.length-1?T||null:T?decodeURIComponent(T):null})}});var V=b.History=function(){this.handlers=[];h.bindAll(this,"checkUrl");"undefined"!==typeof window&&(this.location=window.location,this.history=window.history)},aa=/^[#\/]|\s+$/g,ba=/^\/+|\/+$/g,ka=/msie [\w.]+/,fa=/\/$/,c=/#.*$/;V.started=!1;
  h.extend(V.prototype,e,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root},getHash:function(u){return(u=(u||this).location.href.match(/#(.*)$/))?u[1]:""},getFragment:function(u,C){null==u&&(this._hasPushState||!this._wantsHashChange||C?(u=decodeURI(this.location.pathname+this.location.search),C=this.root.replace(fa,""),u.indexOf(C)||(u=u.slice(C.length))):u=this.getHash());return u.replace(aa,"")},start:function(u){if(V.started)throw Error("Backbone.history has already been started");
  V.started=!0;this.options=h.extend({root:"/"},this.options,u);this.root=this.options.root;this._wantsHashChange=!1!==this.options.hashChange;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);u=this.getFragment();var C=document.documentMode;C=ka.exec(navigator.userAgent.toLowerCase())&&(!C||7>=C);this.root=("/"+this.root+"/").replace(ba,"/");C&&this._wantsHashChange&&(this.iframe=b.$('<iframe src="javascript:0" tabindex="-1">').hide().appendTo("body")[0].contentWindow,
  this.navigate(u));if(this._hasPushState)b.$(window).on("popstate",this.checkUrl);else if(this._wantsHashChange&&"onhashchange"in window&&!C)b.$(window).on("hashchange",this.checkUrl);else this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval));this.fragment=u;u=this.location;if(this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot())return this.fragment=this.getFragment(null,!0),this.location.replace(this.root+"#"+this.fragment),!0;this._hasPushState&&
  this.atRoot()&&u.hash&&(this.fragment=this.getHash().replace(aa,""),this.history.replaceState({},document.title,this.root+this.fragment))}if(!this.options.silent)return this.loadUrl()},stop:function(){b.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl);this._checkUrlInterval&&clearInterval(this._checkUrlInterval);V.started=!1},route:function(u,C){this.handlers.unshift({route:u,callback:C})},checkUrl:function(u){u=this.getFragment();u===this.fragment&&this.iframe&&(u=this.getFragment(this.getHash(this.iframe)));
  if(u===this.fragment)return!1;this.iframe&&this.navigate(u);this.loadUrl()},loadUrl:function(u){u=this.fragment=this.getFragment(u);return h.any(this.handlers,function(C){if(C.route.test(u))return C.callback(u),!0})},navigate:function(u,C){if(!V.started)return!1;C&&!0!==C||(C={trigger:!!C});var K=this.root+(u=this.getFragment(u||""));u=u.replace(c,"");if(this.fragment!==u){this.fragment=u;""===u&&"/"!==K&&(K=K.slice(0,-1));if(this._hasPushState)this.history[C.replace?"replaceState":"pushState"]({},
  document.title,K);else if(this._wantsHashChange)this._updateHash(this.location,u,C.replace),this.iframe&&u!==this.getFragment(this.getHash(this.iframe))&&(C.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,u,C.replace));else return this.location.assign(K);if(C.trigger)return this.loadUrl(u)}},_updateHash:function(u,C,K){K?(K=u.href.replace(/(javascript:|#).*$/,""),u.replace(K+"#"+C)):u.hash="#"+C}});b.history=new V;k.extend=p.extend=D.extend=B.extend=V.extend=function(u,
  C){var K=this;var T=u&&h.has(u,"constructor")?u.constructor:function(){return K.apply(this,arguments)};h.extend(T,K,C);C=function(){this.constructor=T};C.prototype=K.prototype;T.prototype=new C;u&&h.extend(T.prototype,u);T.__super__=K.prototype;return T};var q=function(){throw Error('A "url" property or function must be specified');},E=function(u,C){var K=C.error;C.error=function(T){K&&K(u,T,C);u.trigger("error",u,T,C)}};return b});
  (function(a,b){"object"===typeof exports&&"function"===typeof require?module.exports=b(require("backbone"),require("underscore")):"function"===typeof define&&define.amd?define("backbone.browserStorage",["backbone","underscore"],function(h,B){return b(h||a.Backbone,B||a._)}):b(Backbone,_)})(this,function(a,b){function h(){return(65536*(1+Math.random())|0).toString(16).substring(1)}function B(e,f){for(var l in f)e[l]=f[l];return e}function t(e,f,l){if("local"===l&&!window.localStorage)throw"Backbone.browserStorage: Environment does not support localStorage.";
  if("session"===l&&!window.sessionStorage)throw"Backbone.browserStorage: Environment does not support sessionStorage.";this.name=e;this.serializer=f||{serialize:function(n){return b.isObject(n)?JSON.stringify(n):n},deserialize:function(n){return n&&JSON.parse(n)}};if("session"===l)this.store=window.sessionStorage;else if("local"===l)this.store=window.localStorage;else throw"Backbone.browserStorage: No storage type was specified";this.records=(e=this.store.getItem(this.name))&&e.split(",")||[]}a.BrowserStorage=
  {local:function(e,f){return t.bind(this,e,f,"local")()},session:function(e,f){return t.bind(this,e,f,"session")()}};var g={save:function(){this.store.setItem(this.name,this.records.join(","))},create:function(e){e.id||(e.id=h()+h()+"-"+h()+"-"+h()+"-"+h()+"-"+h()+h()+h(),e.set(e.idAttribute,e.id));this.store.setItem(this._itemName(e.id),this.serializer.serialize(e));this.records.push(e.id.toString());this.save();return!1!==this.find(e)},update:function(e){this.store.setItem(this._itemName(e.id),this.serializer.serialize(e));
  var f=e.id.toString();a:{var l=this.records;for(var n=l.length;n--;)if(l[n]===f){l=!0;break a}l=!1}l||(this.records.push(f),this.save());return!1!==this.find(e)},find:function(e){return this.serializer.deserialize(this.store.getItem(this._itemName(e.id)))},findAll:function(){for(var e=[],f=0,l;f<this.records.length;f++)l=this.records[f],l=this.serializer.deserialize(this.store.getItem(this._itemName(l))),null!==l&&e.push(l);return e},destroy:function(e){this.store.removeItem(this._itemName(e.id));
  for(var f=e.id.toString(),l=0;l<this.records.length;l++)this.records[l]===f&&this.records.splice(l,1);this.save();return e},browserStorage:function(){return{session:sessionStorage,local:localStorage}},_clear:function(){var e=this.store,f=new RegExp("^"+this.name+"-");e.removeItem(this.name);for(var l in e)f.test(l)&&e.removeItem(l);this.records.length=0},_storageSize:function(){return this.store.length},_itemName:function(e){return this.name+"-"+e}};B(a.BrowserStorage.session.prototype,g);B(a.BrowserStorage.local.prototype,
  g);a.BrowserStorage.sync=a.localSync=function(e,f,l){var n=f.browserStorage||f.collection.browserStorage,k=a.$?a.$.Deferred&&a.$.Deferred():a.Deferred&&a.Deferred();try{switch(e){case "read":var p=void 0!==f.id?n.find(f):n.findAll();break;case "create":p=n.create(f);break;case "update":p=n.update(f);break;case "delete":p=n.destroy(f)}}catch(y){var d=22===y.code&&0===n._storageSize()?"Private browsing is unsupported":y.message}p?(l&&l.success&&("0.9.10"===a.VERSION?l.success(f,p,l):l.success(p)),k&&
  k.resolve(p)):(d=d?d:"Record Not Found",l&&l.error&&("0.9.10"===a.VERSION?l.error(f,d,l):l.error(d)),k&&k.reject(d));l&&l.complete&&l.complete(p);return k&&k.promise()};a.ajaxSync=a.sync;a.getSyncMethod=function(e){return e.browserStorage||e.collection&&e.collection.browserStorage?a.localSync:a.ajaxSync};a.sync=function(e,f,l){return a.getSyncMethod(f).apply(this,[e,f,l])};return a.BrowserStorage});
  (function(a,b){"function"===typeof define&&define.amd?define("backbone.overview",["underscore","backbone"],function(h,B){return b(h||a._,B||a.Backbone)}):b(_,Backbone)})(this,function(a,b){var h=b.Overview=function(B){var t={};this.keys=function(){return a.keys(t)};this.getAll=function(){return t};this.get=function(g){return t[g]};this.add=function(g,e){return t[g]=e};this.remove=function(g){var e=t[g];if(e)return delete t[g],e.remove(),e};this.removeAll=function(g){a.each(a.keys(t),this.remove)};
  b.View.apply(this,Array.prototype.slice.apply(arguments))};a.extend(h.prototype,b.View.prototype);h.extend=b.View.extend;return b.Overview});
  (function(a,b){"function"===typeof define&&define.amd?define("typeahead",["jquery"],function(h){b(h,a)}):b(jQuery,a)})(this,function(a,b){var h=function(){return{isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(p){return!p||/^\s*$/.test(p)},escapeRegExChars:function(p){return p.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(p){return"string"===typeof p},isNumber:function(p){return"number"===
  typeof p},isArray:a.isArray,isFunction:a.isFunction,isObject:a.isPlainObject,isUndefined:function(p){return"undefined"===typeof p},toStr:function(p){return h.isUndefined(p)||null===p?"":p+""},bind:a.proxy,each:function(p,d){a.each(p,function(y,w){return d(w,y)})},map:a.map,filter:a.grep,every:function(p,d){var y=!0;if(!p)return y;a.each(p,function(w,m){if(!(y=d.call(null,m,w,p)))return!1});return!!y},some:function(p,d){var y=!1;if(!p)return y;a.each(p,function(w,m){if(y=d.call(null,m,w,p))return!1});
  return!!y},mixin:a.extend,getUniqueId:function(){var p=0;return function(){return p++}}(),templatify:function(p){function d(){return String(p)}return a.isFunction(p)?p:d},defer:function(p){setTimeout(p,0)},debounce:function(p,d,y){var w,m;return function(){var x=this,F=arguments;var D=y&&!w;clearTimeout(w);w=setTimeout(function(){w=null;y||(m=p.apply(x,F))},d);D&&(m=p.apply(x,F));return m}},throttle:function(p,d){var y,w,m,x;var F=0;var D=function(){F=new Date;m=null;x=p.apply(y,w)};return function(){var A=
  new Date,M=d-(A-F);y=this;w=arguments;0>=M?(clearTimeout(m),m=null,F=A,x=p.apply(y,w)):m||(m=setTimeout(D,M));return x}},noop:function(){}}}(),B=function(){var p={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",
  zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:" 0"}};h.isMsie()&&h.mixin(p.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"});h.isMsie()&&7>=h.isMsie()&&h.mixin(p.input,{marginTop:"-1px"});return p}(),t=function(){function p(d){d&&d.el||a.error("EventBus initialized without el");this.$el=
  a(d.el)}h.mixin(p.prototype,{trigger:function(d){var y=[].slice.call(arguments,1);this.$el.trigger("typeahead:"+d,y)}});return p}(),g=function(){function p(x,F,D,A){if(!D)return this;F=F.split(w);D=A?y(D,A):D;for(this._callbacks=this._callbacks||{};A=F.shift();)this._callbacks[A]=this._callbacks[A]||{sync:[],async:[]},this._callbacks[A][x].push(D);return this}function d(x,F,D){return function(){for(var A,M=0,v=x.length;!A&&M<v;M+=1)A=!1===x[M].apply(F,D);return!A}}function y(x,F){return x.bind?x.bind(F):
  function(){x.apply(F,[].slice.call(arguments,0))}}var w=/\s+/,m=function(){return b.setImmediate?function(x){setImmediate(function(){x()})}:function(x){setTimeout(function(){x()},0)}}();return{onSync:function(x,F,D){return p.call(this,"sync",x,F,D)},onAsync:function(x,F,D){return p.call(this,"async",x,F,D)},off:function(x){var F;if(!this._callbacks)return this;for(x=x.split(w);F=x.shift();)delete this._callbacks[F];return this},trigger:function(x){var F,D,A;if(!this._callbacks)return this;x=x.split(w);
  for(A=[].slice.call(arguments,1);(F=x.shift())&&(D=this._callbacks[F]);){var M=d(D.sync,this,[F].concat(A));var v=d(D.async,this,[F].concat(A));M()&&m(v)}return this}}}(),e=function(p){function d(w,m,x){for(var F=[],D=0,A=w.length;D<A;D++)F.push(h.escapeRegExChars(w[D]));w=x?"\\b("+F.join("|")+")\\b":"("+F.join("|")+")";return m?new RegExp(w):new RegExp(w,"i")}var y={node:null,pattern:null,tagName:"strong",className:null,wordsOnly:!1,caseSensitive:!1};return function(w){function m(F,D){for(var A,
  M=0;M<F.childNodes.length;M++)A=F.childNodes[M],3===A.nodeType?M+=D(A)?1:0:m(A,D)}w=h.mixin({},y,w);if(w.node&&w.pattern){w.pattern=h.isArray(w.pattern)?w.pattern:[w.pattern];var x=d(w.pattern,w.caseSensitive,w.wordsOnly);m(w.node,function(F){var D;if(D=x.exec(F.data)){var A=p.createElement(w.tagName);w.className&&(A.className=w.className);var M=F.splitText(D.index);M.splitText(D[0].length);A.appendChild(M.cloneNode(!0));F.parentNode.replaceChild(A,M)}return!!D})}}}(b.document),f=function(){function p(m){var x=
  this;m=m||{};m.input||a.error("input is missing");var F=h.bind(this._onBlur,this);var D=h.bind(this._onFocus,this);var A=h.bind(this._onKeydown,this);var M=h.bind(this._onInput,this);this.$hint=a(m.hint);this.$input=a(m.input).on("blur.tt",F).on("focus.tt",D).on("keydown.tt",A);0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=h.noop);if(h.isMsie())this.$input.on("keydown.tt keypress.tt cut.tt paste.tt",function(v){w[v.which||v.keyCode]||h.defer(h.bind(x._onInput,
  x,v))});else this.$input.on("input.tt",M);this.query=this.$input.val();this.$overflowHelper=d(this.$input)}function d(m){return a('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:m.css("font-family"),fontSize:m.css("font-size"),fontStyle:m.css("font-style"),fontVariant:m.css("font-variant"),fontWeight:m.css("font-weight"),wordSpacing:m.css("word-spacing"),letterSpacing:m.css("letter-spacing"),textIndent:m.css("text-indent"),textRendering:m.css("text-rendering"),
  textTransform:m.css("text-transform")}).insertAfter(m)}function y(m){return m.altKey||m.ctrlKey||m.metaKey||m.shiftKey}var w={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};p.normalizeQuery=function(m){return(m||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")};h.mixin(p.prototype,g,{_onBlur:function(){this.resetInputValue();this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(m){var x=w[m.which||m.keyCode];this._managePreventDefault(x,m);x&&
  this._shouldTrigger(x,m)&&this.trigger(x+"Keyed",m)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(m,x){switch(m){case "tab":m=this.getHint();var F=this.getInputValue();m=m&&m!==F&&!y(x);break;case "up":case "down":m=!y(x);break;default:m=!1}m&&x.preventDefault()},_shouldTrigger:function(m,x){switch(m){case "tab":m=!y(x);break;default:m=!0}return m},_checkInputValue:function(){var m=this.getInputValue();var x=this.query;var F=(x=p.normalizeQuery(m)===p.normalizeQuery(x))?
  this.query.length!==m.length:!1;this.query=m;x?F&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(m){this.query=m},getInputValue:function(){return this.$input.val()},setInputValue:function(m,x){this.$input.val(m);x?this.clearHint():this._checkInputValue()},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},
  setHint:function(m){this.$hint.val(m)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var m=this.getInputValue();var x=this.getHint();x=m!==x&&0===x.indexOf(m);""!==m&&x&&!this.hasOverflow()||this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var m=this.$input.width()-2;this.$overflowHelper.text(this.getInputValue());return this.$overflowHelper.width()>=m},isCursorAtEnd:function(){var m=this.$input.val().length;
  var x=this.$input[0].selectionStart;return h.isNumber(x)?x===m:document.selection?(x=document.selection.createRange(),x.moveStart("character",-m),m===x.text.length):!0},destroy:function(){this.$hint.off(".tt");this.$input.off(".tt");this.$hint=this.$input=this.$overflowHelper=null}});return p}(),l=function(){function p(w){w=w||{};w.templates=w.templates||{};w.source||a.error("missing source");w.name&&!/^[_a-zA-Z0-9-]+$/.test(w.name)&&a.error("invalid dataset name: "+w.name);this.query=null;this.highlight=
  !!w.highlight;this.name=w.name||h.getUniqueId();this.source=w.source;this.displayFn=d(w.display||w.displayKey);this.templates=y(w.templates,this.displayFn);this.$el=a('<div class="tt-dataset-%CLASS%"></div>'.replace("%CLASS%",this.name))}function d(w){function m(x){return x[w]}w=w||"value";return h.isFunction(w)?w:m}function y(w,m){function x(F){return"<p>"+m(F)+"</p>"}return{empty:w.empty&&h.templatify(w.empty),header:w.header&&h.templatify(w.header),footer:w.footer&&h.templatify(w.footer),suggestion:w.suggestion||
  x}}p.extractDatasetName=function(w){return a(w).data("ttDataset")};p.extractValue=function(w){return a(w).data("ttValue")};p.extractDatum=function(w){return a(w).data("ttDatum")};h.mixin(p.prototype,g,{_render:function(w,m){function x(){var v=a('<span class="tt-suggestions"></span>').css(B.suggestions);var O=h.map(m,function(V){V=a('<div class="tt-suggestion"></div>').append(A.templates.suggestion(V)).data("ttDataset",A.name).data("ttValue",A.displayFn(V)).data("ttDatum",V);V.children().each(function(){a(this).css(B.suggestionChild)});
  return V});v.append.apply(v,O);A.highlight&&e({className:"tt-highlight",node:v[0],pattern:w});return v}function F(){return A.templates.header({query:w,isEmpty:!M})}function D(){return A.templates.footer({query:w,isEmpty:!M})}if(this.$el){var A=this;this.$el.empty();var M=m&&m.length;!M&&this.templates.empty?this.$el.html(A.templates.empty({query:w,isEmpty:!0})).prepend(A.templates.header?F():null).append(A.templates.footer?D():null):M&&this.$el.html(x()).prepend(A.templates.header?F():null).append(A.templates.footer?
  D():null);this.trigger("rendered")}},getRoot:function(){return this.$el},update:function(w){var m=this;this.query=w;this.canceled=!1;this.source(w,function(x){m.canceled||w!==m.query||m._render(w,x)})},cancel:function(){this.canceled=!0},clear:function(){this.cancel();this.$el.empty();this.trigger("rendered")},isEmpty:function(){return this.$el.is(":empty")},destroy:function(){this.$el=null}});return p}(),n=function(){function p(y){var w=this;y=y||{};y.menu||a.error("menu is required");this.isOpen=
  !1;this.isEmpty=!0;this.datasets=h.map(y.datasets,d);var m=h.bind(this._onSuggestionClick,this);var x=h.bind(this._onSuggestionMouseEnter,this);var F=h.bind(this._onSuggestionMouseLeave,this);this.$menu=a(y.menu).on("click.tt",".tt-suggestion",m).on("mouseenter.tt",".tt-suggestion",x).on("mouseleave.tt",".tt-suggestion",F);h.each(this.datasets,function(D){w.$menu.append(D.getRoot());D.onSync("rendered",w._onRendered,w)})}function d(y){return new l(y)}h.mixin(p.prototype,g,{_onSuggestionClick:function(y){this.trigger("suggestionClicked",
  a(y.currentTarget))},_onSuggestionMouseEnter:function(y){this._removeCursor();this._setCursor(a(y.currentTarget),!0)},_onSuggestionMouseLeave:function(){this._removeCursor()},_onRendered:function(){(this.isEmpty=h.every(this.datasets,function(y){return y.isEmpty()}))?this._hide():this.isOpen&&this._show();this.trigger("datasetRendered")},_hide:function(){this.$menu.hide()},_show:function(){this.$menu.css("display","block")},_getSuggestions:function(){return this.$menu.find(".tt-suggestion")},_getCursor:function(){return this.$menu.find(".tt-cursor").first()},
  _setCursor:function(y,w){y.first().addClass("tt-cursor");!w&&this.trigger("cursorMoved")},_removeCursor:function(){this._getCursor().removeClass("tt-cursor")},_moveCursor:function(y){if(this.isOpen){var w=this._getCursor();var m=this._getSuggestions();this._removeCursor();y=m.index(w)+y;y=(y+1)%(m.length+1)-1;-1===y?this.trigger("cursorRemoved"):(-1>y&&(y=m.length-1),this._setCursor(m=m.eq(y)),this._ensureVisible(m))}},_ensureVisible:function(y){var w=y.position().top;y=w+y.outerHeight(!0);var m=
  this.$menu.scrollTop();var x=this.$menu.height()+parseInt(this.$menu.css("paddingTop"),10)+parseInt(this.$menu.css("paddingBottom"),10);0>w?this.$menu.scrollTop(m+w):x<y&&this.$menu.scrollTop(m+(y-x))},close:function(){this.isOpen&&(this.isOpen=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,!this.isEmpty&&this._show(),this.trigger("opened"))},setLanguageDirection:function(y){this.$menu.css("ltr"===y?B.ltr:B.rtl)},moveCursorUp:function(){this._moveCursor(-1)},
  moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(y){var w=null;y.length&&(w={raw:l.extractDatum(y),value:l.extractValue(y),datasetName:l.extractDatasetName(y)});return w},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},update:function(y){h.each(this.datasets,function(w){w.update(y)})},empty:function(){h.each(this.datasets,function(y){y.clear()});
  this.isEmpty=!0},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){this.$menu.off(".tt");this.$menu=null;h.each(this.datasets,function(y){y.destroy()})}});return p}(),k=function(){function p(w){w=w||{};w.input||a.error("missing input");this.isActivated=!1;this.autoselect=!!w.autoselect;this.minLength=h.isNumber(w.minLength)?w.minLength:1;this.$node=d(w.input,w.withHint);var m=this.$node.find(".tt-dropdown-menu");var x=this.$node.find(".tt-input");var F=this.$node.find(".tt-hint");
  x.on("blur.tt",function(D){var A=document.activeElement;var M=m.is(A);A=0<m.has(A).length;h.isMsie()&&(M||A)&&(D.preventDefault(),D.stopImmediatePropagation(),h.defer(function(){x.focus()}))});m.on("mousedown.tt",function(D){D.preventDefault()});this.eventBus=w.eventBus||new t({el:x});this.dropdown=(new n({menu:m,datasets:w.datasets})).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",
  this._onOpened,this).onSync("closed",this._onClosed,this).onAsync("datasetRendered",this._onDatasetRendered,this);this.input=(new f({input:x,hint:F})).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",
  this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this);this._setLanguageDirection()}function d(w,m){w=a(w);var x=a('<span class="twitter-typeahead"></span>').css(B.wrapper);var F=a('<span class="tt-dropdown-menu"></span>').css(B.dropdown);var D=w.clone().css(B.hint);var A=D.css;var M={backgroundAttachment:w.css("background-attachment"),backgroundClip:w.css("background-clip"),backgroundColor:w.css("background-color"),backgroundImage:w.css("background-image"),
  backgroundOrigin:w.css("background-origin"),backgroundPosition:w.css("background-position"),backgroundRepeat:w.css("background-repeat"),backgroundSize:w.css("background-size")};D=A.call(D,M);D.val("").removeData().addClass("tt-hint").removeAttr("id name placeholder required").prop("readonly",!0).attr({autocomplete:"off",spellcheck:"false",tabindex:-1});w.data("ttAttrs",{dir:w.attr("dir"),autocomplete:w.attr("autocomplete"),spellcheck:w.attr("spellcheck"),style:w.attr("style")});w.addClass("tt-input").attr({autocomplete:"off",
  spellcheck:!1}).css(m?B.input:B.inputWithNoHint);try{!w.attr("dir")&&w.attr("dir","auto")}catch(v){}return w.wrap(x).parent().prepend(m?D:null).append(F)}function y(w){var m=w.find(".tt-input");h.each(m.data("ttAttrs"),function(x,F){h.isUndefined(x)?m.removeAttr(F):m.attr(F,x)});m.detach().removeData("ttAttrs").removeClass("tt-input").insertAfter(w);w.remove()}h.mixin(p.prototype,{_onSuggestionClicked:function(w,m){var x;(x=this.dropdown.getDatumForSuggestion(m))&&this._select(x)},_onCursorMoved:function(){var w=
  this.dropdown.getDatumForCursor();this.input.setInputValue(w.value,!0);this.eventBus.trigger("cursorchanged",w.raw,w.datasetName)},_onCursorRemoved:function(){this.input.resetInputValue();this._updateHint()},_onDatasetRendered:function(){this._updateHint()},_onOpened:function(){this._updateHint();this.eventBus.trigger("opened")},_onClosed:function(){this.input.clearHint();this.eventBus.trigger("closed")},_onFocused:function(){this.isActivated=!0;this.dropdown.open()},_onBlurred:function(){this.isActivated=
  !1;this.dropdown.empty();this.dropdown.close()},_onEnterKeyed:function(w,m){w=this.dropdown.getDatumForCursor();var x=this.dropdown.getDatumForTopSuggestion();w?(this._select(w),m.preventDefault()):this.autoselect&&x&&(this._select(x),m.preventDefault())},_onTabKeyed:function(w,m){(w=this.dropdown.getDatumForCursor())?(this._select(w),m.preventDefault()):this._autocomplete(!0)},_onEscKeyed:function(){this.dropdown.close();this.input.resetInputValue()},_onUpKeyed:function(){var w=this.input.getQuery();
  this.dropdown.isEmpty&&w.length>=this.minLength?this.dropdown.update(w):this.dropdown.moveCursorUp();this.dropdown.open()},_onDownKeyed:function(){var w=this.input.getQuery();this.dropdown.isEmpty&&w.length>=this.minLength?this.dropdown.update(w):this.dropdown.moveCursorDown();this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(w,m){this.input.clearHintIfInvalid();m.length>=
  this.minLength?this.dropdown.update(m):this.dropdown.empty();this.dropdown.open();this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint();this.dropdown.open()},_setLanguageDirection:function(){var w;this.dir!==(w=this.input.getLanguageDirection())&&(this.dir=w,this.$node.css("direction",w),this.dropdown.setLanguageDirection(w))},_updateHint:function(){var w;if((w=this.dropdown.getDatumForTopSuggestion())&&this.dropdown.isVisible()&&!this.input.hasOverflow()){var m=this.input.getInputValue();
  var x=f.normalizeQuery(m);x=h.escapeRegExChars(x);x=new RegExp("^(?:"+x+")(.+$)","i");(w=x.exec(w.value))?this.input.setHint(m+w[1]):this.input.clearHint()}else this.input.clearHint()},_autocomplete:function(w){var m=this.input.getHint();var x=this.input.getQuery();w=w||this.input.isCursorAtEnd();m&&x!==m&&w&&((m=this.dropdown.getDatumForTopSuggestion())&&this.input.setInputValue(m.value),this.eventBus.trigger("autocompleted",m.raw,m.datasetName))},_select:function(w){this.input.setQuery(w.value);
  this.input.setInputValue(w.value,!0);this._setLanguageDirection();this.eventBus.trigger("selected",w.raw,w.datasetName);this.dropdown.close();h.defer(h.bind(this.dropdown.empty,this.dropdown))},open:function(){this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(w){w=h.toStr(w);this.isActivated?this.input.setInputValue(w):(this.input.setQuery(w),this.input.setInputValue(w,!0));this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy();
  this.dropdown.destroy();y(this.$node);this.$node=null}});return p}();(function(){var p=a.fn.typeahead;var d={initialize:function(y,w){w=h.isArray(w)?w:[].slice.call(arguments,1);y=y||{};return this.each(function(){var m=a(this);h.each(w,function(F){F.highlight=!!y.highlight});var x=new k({input:m,eventBus:new t({el:m}),withHint:h.isUndefined(y.hint)?!0:!!y.hint,minLength:y.minLength,autoselect:y.autoselect,datasets:w});m.data("ttTypeahead",x)})},open:function(){return this.each(function(){var y;(y=
  a(this).data("ttTypeahead"))&&y.open()})},close:function(){return this.each(function(){var y;(y=a(this).data("ttTypeahead"))&&y.close()})},val:function(y){function w(){var x;(x=a(this).data("ttTypeahead"))&&x.setVal(y)}function m(x){if(x=x.data("ttTypeahead"))var F=x.getVal();return F}return arguments.length?this.each(w):m(this.first())},destroy:function(){return this.each(function(){var y=a(this),w;if(w=y.data("ttTypeahead"))w.destroy(),y.removeData("ttTypeahead")})}};a.fn.typeahead=function(y){if(d[y]&&
  "initialize"!==y){var w=this.filter(function(){return!!a(this).data("ttTypeahead")});return d[y].apply(w,[].slice.call(arguments,1))}return d.initialize.apply(this,arguments)};a.fn.typeahead.noConflict=function(){a.fn.typeahead=p;return this}})();return{}});
  var Base64=function(){return{encode:function(a){var b="",h=0;do{var B=a.charCodeAt(h++);var t=a.charCodeAt(h++);var g=a.charCodeAt(h++);var e=B>>2;B=(B&3)<<4|t>>4;var f=(t&15)<<2|g>>6;var l=g&63;isNaN(t)?f=l=64:isNaN(g)&&(l=64);b=b+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(e)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(B)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(f)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(l)}while(h<
  a.length);return b},decode:function(a){var b="",h=0;a=a.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var B="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(h++));var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(h++));var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(h++));var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(h++));B=B<<2|t>>4;t=(t&15)<<
  4|g>>2;var f=(g&3)<<6|e;b+=String.fromCharCode(B);64!=g&&(b+=String.fromCharCode(t));64!=e&&(b+=String.fromCharCode(f))}while(h<a.length);return b}}}();function b64_sha1(a){return binb2b64(core_sha1(str2binb(a),8*a.length))}function str_sha1(a){return binb2str(core_sha1(str2binb(a),8*a.length))}function b64_hmac_sha1(a,b){return binb2b64(core_hmac_sha1(a,b))}function str_hmac_sha1(a,b){return binb2str(core_hmac_sha1(a,b))}
  function core_sha1(a,b){a[b>>5]|=128<<24-b%32;a[(b+64>>9<<4)+15]=b;b=Array(80);var h=1732584193,B=-271733879,t=-1732584194,g=271733878,e=-1009589776,f,l;for(f=0;f<a.length;f+=16){var n=h;var k=B;var p=t;var d=g;var y=e;for(l=0;80>l;l++){b[l]=16>l?a[f+l]:rol(b[l-3]^b[l-8]^b[l-14]^b[l-16],1);var w=safe_add(safe_add(rol(h,5),sha1_ft(l,B,t,g)),safe_add(safe_add(e,b[l]),sha1_kt(l)));e=g;g=t;t=rol(B,30);B=h;h=w}h=safe_add(h,n);B=safe_add(B,k);t=safe_add(t,p);g=safe_add(g,d);e=safe_add(e,y)}return[h,B,t,
  g,e]}function sha1_ft(a,b,h,B){return 20>a?b&h|~b&B:40>a?b^h^B:60>a?b&h|b&B|h&B:b^h^B}function sha1_kt(a){return 20>a?1518500249:40>a?1859775393:60>a?-1894007588:-899497514}function core_hmac_sha1(a,b){var h=str2binb(a);16<h.length&&(h=core_sha1(h,8*a.length));var B=Array(16);a=Array(16);for(var t=0;16>t;t++)B[t]=h[t]^909522486,a[t]=h[t]^1549556828;b=core_sha1(B.concat(str2binb(b)),512+8*b.length);return core_sha1(a.concat(b),672)}
  function safe_add(a,b){var h=(a&65535)+(b&65535);return(a>>16)+(b>>16)+(h>>16)<<16|h&65535}function rol(a,b){return a<<b|a>>>32-b}function str2binb(a){for(var b=[],h=0;h<8*a.length;h+=8)b[h>>5]|=(a.charCodeAt(h/8)&255)<<24-h%32;return b}function binb2str(a){for(var b="",h=0;h<32*a.length;h+=8)b+=String.fromCharCode(a[h>>5]>>>24-h%32&255);return b}
  function binb2b64(a){for(var b="",h,B,t=0;t<4*a.length;t+=3)for(h=(a[t>>2]>>8*(3-t%4)&255)<<16|(a[t+1>>2]>>8*(3-(t+1)%4)&255)<<8|a[t+2>>2]>>8*(3-(t+2)%4)&255,B=0;4>B;B++)b=8*t+6*B>32*a.length?b+"=":b+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(h>>6*(3-B)&63);return b}
  var MD5=function(){var a=function(f,l){var n=(f&65535)+(l&65535);return(f>>16)+(l>>16)+(n>>16)<<16|n&65535},b=function(f){for(var l=[],n=0;n<8*f.length;n+=8)l[n>>5]|=(f.charCodeAt(n/8)&255)<<n%32;return l},h=function(f,l,n,k,p,d){f=a(a(l,f),a(k,d));return a(f<<p|f>>>32-p,n)},B=function(f,l,n,k,p,d,y){return h(l&n|~l&k,f,l,p,d,y)},t=function(f,l,n,k,p,d,y){return h(l&k|n&~k,f,l,p,d,y)},g=function(f,l,n,k,p,d,y){return h(n^(l|~k),f,l,p,d,y)},e=function(f,l){f[l>>5]|=128<<l%32;f[(l+64>>>9<<4)+14]=l;
  l=1732584193;for(var n=-271733879,k=-1732584194,p=271733878,d,y,w,m,x=0;x<f.length;x+=16)d=l,y=n,w=k,m=p,l=B(l,n,k,p,f[x+0],7,-680876936),p=B(p,l,n,k,f[x+1],12,-389564586),k=B(k,p,l,n,f[x+2],17,606105819),n=B(n,k,p,l,f[x+3],22,-1044525330),l=B(l,n,k,p,f[x+4],7,-176418897),p=B(p,l,n,k,f[x+5],12,1200080426),k=B(k,p,l,n,f[x+6],17,-1473231341),n=B(n,k,p,l,f[x+7],22,-45705983),l=B(l,n,k,p,f[x+8],7,1770035416),p=B(p,l,n,k,f[x+9],12,-1958414417),k=B(k,p,l,n,f[x+10],17,-42063),n=B(n,k,p,l,f[x+11],22,-1990404162),
  l=B(l,n,k,p,f[x+12],7,1804603682),p=B(p,l,n,k,f[x+13],12,-40341101),k=B(k,p,l,n,f[x+14],17,-1502002290),n=B(n,k,p,l,f[x+15],22,1236535329),l=t(l,n,k,p,f[x+1],5,-165796510),p=t(p,l,n,k,f[x+6],9,-1069501632),k=t(k,p,l,n,f[x+11],14,643717713),n=t(n,k,p,l,f[x+0],20,-373897302),l=t(l,n,k,p,f[x+5],5,-701558691),p=t(p,l,n,k,f[x+10],9,38016083),k=t(k,p,l,n,f[x+15],14,-660478335),n=t(n,k,p,l,f[x+4],20,-405537848),l=t(l,n,k,p,f[x+9],5,568446438),p=t(p,l,n,k,f[x+14],9,-1019803690),k=t(k,p,l,n,f[x+3],14,-187363961),
  n=t(n,k,p,l,f[x+8],20,1163531501),l=t(l,n,k,p,f[x+13],5,-1444681467),p=t(p,l,n,k,f[x+2],9,-51403784),k=t(k,p,l,n,f[x+7],14,1735328473),n=t(n,k,p,l,f[x+12],20,-1926607734),l=h(n^k^p,l,n,f[x+5],4,-378558),p=h(l^n^k,p,l,f[x+8],11,-2022574463),k=h(p^l^n,k,p,f[x+11],16,1839030562),n=h(k^p^l,n,k,f[x+14],23,-35309556),l=h(n^k^p,l,n,f[x+1],4,-1530992060),p=h(l^n^k,p,l,f[x+4],11,1272893353),k=h(p^l^n,k,p,f[x+7],16,-155497632),n=h(k^p^l,n,k,f[x+10],23,-1094730640),l=h(n^k^p,l,n,f[x+13],4,681279174),p=h(l^n^
  k,p,l,f[x+0],11,-358537222),k=h(p^l^n,k,p,f[x+3],16,-722521979),n=h(k^p^l,n,k,f[x+6],23,76029189),l=h(n^k^p,l,n,f[x+9],4,-640364487),p=h(l^n^k,p,l,f[x+12],11,-421815835),k=h(p^l^n,k,p,f[x+15],16,530742520),n=h(k^p^l,n,k,f[x+2],23,-995338651),l=g(l,n,k,p,f[x+0],6,-198630844),p=g(p,l,n,k,f[x+7],10,1126891415),k=g(k,p,l,n,f[x+14],15,-1416354905),n=g(n,k,p,l,f[x+5],21,-57434055),l=g(l,n,k,p,f[x+12],6,1700485571),p=g(p,l,n,k,f[x+3],10,-1894986606),k=g(k,p,l,n,f[x+10],15,-1051523),n=g(n,k,p,l,f[x+1],21,
  -2054922799),l=g(l,n,k,p,f[x+8],6,1873313359),p=g(p,l,n,k,f[x+15],10,-30611744),k=g(k,p,l,n,f[x+6],15,-1560198380),n=g(n,k,p,l,f[x+13],21,1309151649),l=g(l,n,k,p,f[x+4],6,-145523070),p=g(p,l,n,k,f[x+11],10,-1120210379),k=g(k,p,l,n,f[x+2],15,718787259),n=g(n,k,p,l,f[x+9],21,-343485551),l=a(l,d),n=a(n,y),k=a(k,w),p=a(p,m);return[l,n,k,p]};return{hexdigest:function(f){f=e(b(f),8*f.length);for(var l="",n=0;n<4*f.length;n++)l+="0123456789abcdef".charAt(f[n>>2]>>n%4*8+4&15)+"0123456789abcdef".charAt(f[n>>
  2]>>n%4*8&15);return l},hash:function(f){f=e(b(f),8*f.length);for(var l="",n=0;n<32*f.length;n+=8)l+=String.fromCharCode(f[n>>5]>>>n%32&255);return l}}}();Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,h=Array.prototype.slice,B=Array.prototype.concat,t=h.call(arguments,1);return function(){return b.apply(a?a:this,B.call(t,h.call(arguments,0)))}});
  Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){var h=this.length;b=Number(b)||0;b=0>b?Math.ceil(b):Math.floor(b);for(0>b&&(b+=h);b<h;b++)if(b in this&&this[b]===a)return b;return-1});
  (function(a){function b(e,f){return new g.Builder(e,f)}function h(e){return new g.Builder("message",e)}function B(e){return new g.Builder("iq",e)}function t(e){return new g.Builder("presence",e)}var g={VERSION:"1.1.3",NS:{HTTPBIND:"http://jabber.org/protocol/httpbind",BOSH:"urn:xmpp:xbosh",CLIENT:"jabber:client",AUTH:"jabber:iq:auth",ROSTER:"jabber:iq:roster",PROFILE:"jabber:iq:profile",DISCO_INFO:"http://jabber.org/protocol/disco#info",DISCO_ITEMS:"http://jabber.org/protocol/disco#items",MUC:"http://jabber.org/protocol/muc",
  SASL:"urn:ietf:params:xml:ns:xmpp-sasl",STREAM:"http://etherx.jabber.org/streams",BIND:"urn:ietf:params:xml:ns:xmpp-bind",SESSION:"urn:ietf:params:xml:ns:xmpp-session",VERSION:"jabber:iq:version",STANZAS:"urn:ietf:params:xml:ns:xmpp-stanzas",XHTML_IM:"http://jabber.org/protocol/xhtml-im",XHTML:"http://www.w3.org/1999/xhtml"},XHTML:{tags:"a blockquote br cite em img li ol p span strong ul body".split(" "),attributes:{a:["href"],blockquote:["style"],br:[],cite:["style"],em:[],img:["src","alt","style",
  "height","width"],li:["style"],ol:["style"],p:["style"],span:["style"],strong:[],ul:["style"],body:[]},css:"background-color color font-family font-size font-style font-weight margin-left margin-right text-align text-decoration".split(" "),validTag:function(e){for(var f=0;f<g.XHTML.tags.length;f++)if(e==g.XHTML.tags[f])return!0;return!1},validAttribute:function(e,f){if("undefined"!==typeof g.XHTML.attributes[e]&&0<g.XHTML.attributes[e].length)for(var l=0;l<g.XHTML.attributes[e].length;l++)if(f==g.XHTML.attributes[e][l])return!0;
  return!1},validCSS:function(e){for(var f=0;f<g.XHTML.css.length;f++)if(e==g.XHTML.css[f])return!0;return!1}},Status:{ERROR:0,CONNECTING:1,CONNFAIL:2,AUTHENTICATING:3,AUTHFAIL:4,CONNECTED:5,DISCONNECTED:6,DISCONNECTING:7,ATTACHED:8},LogLevel:{DEBUG:0,INFO:1,WARN:2,ERROR:3,FATAL:4},ElementType:{NORMAL:1,TEXT:3,CDATA:4,FRAGMENT:11},TIMEOUT:1.1,SECONDARY_TIMEOUT:.1,addNamespace:function(e,f){g.NS[e]=f},forEachChild:function(e,f,l){var n;for(n=0;n<e.childNodes.length;n++){var k=e.childNodes[n];k.nodeType!=
  g.ElementType.NORMAL||f&&!this.isTagEqual(k,f)||l(k)}},isTagEqual:function(e,f){return e.tagName.toLowerCase()==f.toLowerCase()},_xmlGenerator:null,_makeGenerator:function(){if(void 0===document.implementation.createDocument||document.implementation.createDocument&&document.documentMode&&10>document.documentMode){var e=this._getIEXmlDom();e.appendChild(e.createElement("strophe"))}else e=document.implementation.createDocument("jabber:client","strophe",null);return e},xmlGenerator:function(){g._xmlGenerator||
  (g._xmlGenerator=g._makeGenerator());return g._xmlGenerator},_getIEXmlDom:function(){for(var e=null,f="Msxml2.DOMDocument.6.0 Msxml2.DOMDocument.5.0 Msxml2.DOMDocument.4.0 MSXML2.DOMDocument.3.0 MSXML2.DOMDocument MSXML.DOMDocument Microsoft.XMLDOM".split(" "),l=0;l<f.length;l++)if(null===e)try{e=new ActiveXObject(f[l])}catch(n){e=null}else break;return e},xmlElement:function(e){if(!e)return null;var f=g.xmlGenerator().createElement(e),l,n,k;for(l=1;l<arguments.length;l++)if(arguments[l])if("string"==
  typeof arguments[l]||"number"==typeof arguments[l])f.appendChild(g.xmlTextNode(arguments[l]));else if("object"==typeof arguments[l]&&"function"==typeof arguments[l].sort)for(n=0;n<arguments[l].length;n++)"object"==typeof arguments[l][n]&&"function"==typeof arguments[l][n].sort&&f.setAttribute(arguments[l][n][0],arguments[l][n][1]);else if("object"==typeof arguments[l])for(k in arguments[l])arguments[l].hasOwnProperty(k)&&f.setAttribute(k,arguments[l][k]);return f},xmlescape:function(e){e=e.replace(/&/g,
  "&amp;");e=e.replace(/</g,"&lt;");e=e.replace(/>/g,"&gt;");e=e.replace(/'/g,"&apos;");return e=e.replace(/"/g,"&quot;")},xmlTextNode:function(e){return g.xmlGenerator().createTextNode(e)},xmlHtmlNode:function(e){if(window.DOMParser)var f=(new DOMParser).parseFromString(e,"text/xml");else f=new ActiveXObject("Microsoft.XMLDOM"),f.async="false",f.loadXML(e);return f},getText:function(e){if(!e)return null;var f="";0===e.childNodes.length&&e.nodeType==g.ElementType.TEXT&&(f+=e.nodeValue);for(var l=0;l<
  e.childNodes.length;l++)e.childNodes[l].nodeType==g.ElementType.TEXT&&(f+=e.childNodes[l].nodeValue);return g.xmlescape(f)},copyElement:function(e){var f;if(e.nodeType==g.ElementType.NORMAL){var l=g.xmlElement(e.tagName);for(f=0;f<e.attributes.length;f++)l.setAttribute(e.attributes[f].nodeName.toLowerCase(),e.attributes[f].value);for(f=0;f<e.childNodes.length;f++)l.appendChild(g.copyElement(e.childNodes[f]))}else e.nodeType==g.ElementType.TEXT&&(l=g.xmlGenerator().createTextNode(e.nodeValue));return l},
  createHtml:function(e){var f,l;if(e.nodeType==g.ElementType.NORMAL){var n=e.nodeName.toLowerCase();if(g.XHTML.validTag(n))try{var k=g.xmlElement(n);for(f=0;f<g.XHTML.attributes[n].length;f++){var p=g.XHTML.attributes[n][f];var d=e.getAttribute(p);if("undefined"!=typeof d&&null!==d&&""!==d&&!1!==d&&0!==d)if("style"==p&&"object"==typeof d&&"undefined"!=typeof d.cssText&&(d=d.cssText),"style"==p){var y=[];var w=d.split(";");for(l=0;l<w.length;l++){var m=w[l].split(":");var x=m[0].replace(/^\s*/,"").replace(/\s*$/,
  "").toLowerCase();if(g.XHTML.validCSS(x)){var F=m[1].replace(/^\s*/,"").replace(/\s*$/,"");y.push(x+": "+F)}}0<y.length&&(d=y.join("; "),k.setAttribute(p,d))}else k.setAttribute(p,d)}for(f=0;f<e.childNodes.length;f++)k.appendChild(g.createHtml(e.childNodes[f]))}catch(D){k=g.xmlTextNode("")}else for(k=g.xmlGenerator().createDocumentFragment(),f=0;f<e.childNodes.length;f++)k.appendChild(g.createHtml(e.childNodes[f]))}else if(e.nodeType==g.ElementType.FRAGMENT)for(k=g.xmlGenerator().createDocumentFragment(),
  f=0;f<e.childNodes.length;f++)k.appendChild(g.createHtml(e.childNodes[f]));else e.nodeType==g.ElementType.TEXT&&(k=g.xmlTextNode(e.nodeValue));return k},escapeNode:function(e){return e.replace(/^\s+|\s+$/g,"").replace(/\\/g,"\\5c").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")},unescapeNode:function(e){return e.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,"\\")},getNodeFromJid:function(e){return 0>e.indexOf("@")?null:e.split("@")[0]},getDomainFromJid:function(e){e=g.getBareJidFromJid(e);if(0>e.indexOf("@"))return e;e=e.split("@");e.splice(0,1);return e.join("@")},getResourceFromJid:function(e){e=e.split("/");if(2>e.length)return null;e.splice(0,1);return e.join("/")},getBareJidFromJid:function(e){return e?
  e.split("/")[0]:null},log:function(e,f){},debug:function(e){this.log(this.LogLevel.DEBUG,e)},info:function(e){this.log(this.LogLevel.INFO,e)},warn:function(e){this.log(this.LogLevel.WARN,e)},error:function(e){this.log(this.LogLevel.ERROR,e)},fatal:function(e){this.log(this.LogLevel.FATAL,e)},serialize:function(e){if(!e)return null;"function"===typeof e.tree&&(e=e.tree());var f=e.nodeName,l;e.getAttribute("_realname")&&(f=e.getAttribute("_realname"));var n="<"+f;for(l=0;l<e.attributes.length;l++)"_realname"!=
  e.attributes[l].nodeName&&(n+=" "+e.attributes[l].nodeName.toLowerCase()+"='"+e.attributes[l].value.replace(/&/g,"&amp;").replace(/'/g,"&apos;").replace(/>/g,"&gt;").replace(/</g,"&lt;")+"'");if(0<e.childNodes.length){n+=">";for(l=0;l<e.childNodes.length;l++){var k=e.childNodes[l];switch(k.nodeType){case g.ElementType.NORMAL:n+=g.serialize(k);break;case g.ElementType.TEXT:n+=g.xmlescape(k.nodeValue);break;case g.ElementType.CDATA:n+="<![CDATA["+k.nodeValue+"]]\x3e"}}n+="</"+f+">"}else n+="/>";return n},
  _requestId:0,_connectionPlugins:{},addConnectionPlugin:function(e,f){g._connectionPlugins[e]=f},Builder:function(e,f){if("presence"==e||"message"==e||"iq"==e)f&&!f.xmlns?f.xmlns=g.NS.CLIENT:f||(f={xmlns:g.NS.CLIENT});this.node=this.nodeTree=g.xmlElement(e,f)}};g.Builder.prototype={tree:function(){return this.nodeTree},toString:function(){return g.serialize(this.nodeTree)},up:function(){this.node=this.node.parentNode;return this},attrs:function(e){for(var f in e)e.hasOwnProperty(f)&&this.node.setAttribute(f,
  e[f]);return this},c:function(e,f,l){e=g.xmlElement(e,f,l);this.node.appendChild(e);l||(this.node=e);return this},cnode:function(e){var f=g.xmlGenerator();try{var l=void 0!==f.importNode}catch(n){l=!1}e=l?f.importNode(e,!0):g.copyElement(e);this.node.appendChild(e);this.node=e;return this},t:function(e){e=g.xmlTextNode(e);this.node.appendChild(e);return this},h:function(e){var f=document.createElement("body");f.innerHTML=e;for(e=g.createHtml(f);0<e.childNodes.length;)this.node.appendChild(e.childNodes[0]);
  return this}};g.Handler=function(e,f,l,n,k,p,d){this.handler=e;this.ns=f;this.name=l;this.type=n;this.id=k;this.options=d||{matchBare:!1};this.options.matchBare||(this.options.matchBare=!1);this.from=this.options.matchBare?p?g.getBareJidFromJid(p):null:p;this.user=!0};g.Handler.prototype={isMatch:function(e){var f=null;f=this.options.matchBare?g.getBareJidFromJid(e.getAttribute("from")):e.getAttribute("from");var l=!1;if(this.ns){var n=this;g.forEachChild(e,null,function(k){k.getAttribute("xmlns")==
  n.ns&&(l=!0)});l=l||e.getAttribute("xmlns")==this.ns}else l=!0;return!l||this.name&&!g.isTagEqual(e,this.name)||this.type&&e.getAttribute("type")!=this.type||this.id&&e.getAttribute("id")!=this.id||this.from&&f!=this.from?!1:!0},run:function(e){var f=null;try{f=this.handler(e)}catch(l){throw l.sourceURL?g.fatal("error: "+this.handler+" "+l.sourceURL+":"+l.line+" - "+l.name+": "+l.message):l.fileName?("undefined"!=typeof console&&(console.trace(),console.error(this.handler," - error - ",l,l.message)),
  g.fatal("error: "+this.handler+" "+l.fileName+":"+l.lineNumber+" - "+l.name+": "+l.message)):g.fatal("error: "+l.message+"\n"+l.stack),l;}return f},toString:function(){return"{Handler: "+this.handler+"("+this.name+","+this.id+","+this.ns+")}"}};g.TimedHandler=function(e,f){this.period=e;this.handler=f;this.lastCalled=(new Date).getTime();this.user=!0};g.TimedHandler.prototype={run:function(){this.lastCalled=(new Date).getTime();return this.handler()},reset:function(){this.lastCalled=(new Date).getTime()},
  toString:function(){return"{TimedHandler: "+this.handler+"("+this.period+")}"}};g.Connection=function(e,f){this.service=e;this.options=f||{};f=this.options.protocol||"";0===e.indexOf("ws:")||0===e.indexOf("wss:")||0===f.indexOf("ws")?this._proto=new g.Websocket(this):this._proto=new g.Bosh(this);this.jid="";this.features=this.domain=null;this._sasl_data={};this.do_bind=this.do_session=!1;this.timedHandlers=[];this.handlers=[];this.removeTimeds=[];this.removeHandlers=[];this.addTimeds=[];this.addHandlers=
  [];this._authentication={};this._disconnectTimeout=this._idleTimeout=null;this.do_authentication=!0;this.connected=this.disconnecting=this.authenticated=!1;this.errors=0;this.paused=!1;this._data=[];this._uniqueId=0;this._sasl_challenge_handler=this._sasl_failure_handler=this._sasl_success_handler=null;this.maxRetries=5;this._idleTimeout=setTimeout(this._onIdle.bind(this),100);for(var l in g._connectionPlugins)g._connectionPlugins.hasOwnProperty(l)&&(e=function(){},e.prototype=g._connectionPlugins[l],
  this[l]=new e,this[l].init(this))};g.Connection.prototype={reset:function(){this._proto._reset();this.do_bind=this.do_session=!1;this.timedHandlers=[];this.handlers=[];this.removeTimeds=[];this.removeHandlers=[];this.addTimeds=[];this.addHandlers=[];this._authentication={};this.connected=this.disconnecting=this.authenticated=!1;this.errors=0;this._requests=[];this._uniqueId=0},pause:function(){this.paused=!0},resume:function(){this.paused=!1},getUniqueId:function(e){return"string"==typeof e||"number"==
  typeof e?++this._uniqueId+":"+e:++this._uniqueId+""},connect:function(e,f,l,n,k,p){this.jid=e;this.authzid=g.getBareJidFromJid(this.jid);this.authcid=g.getNodeFromJid(this.jid);this.pass=f;this.servtype="xmpp";this.connect_callback=l;this.authenticated=this.connected=this.disconnecting=!1;this.errors=0;this.domain=g.getDomainFromJid(this.jid);this._changeConnectStatus(g.Status.CONNECTING,null);this._proto._connect(n,k,p)},attach:function(e,f,l,n,k,p,d){this._proto._attach(e,f,l,n,k,p,d)},xmlInput:function(e){},
  xmlOutput:function(e){},rawInput:function(e){},rawOutput:function(e){},send:function(e){if(null!==e){if("function"===typeof e.sort)for(var f=0;f<e.length;f++)this._queueData(e[f]);else"function"===typeof e.tree?this._queueData(e.tree()):this._queueData(e);this._proto._send()}},flush:function(){clearTimeout(this._idleTimeout);this._onIdle()},sendIQ:function(e,f,l,n){var k=null,p=this;"function"===typeof e.tree&&(e=e.tree());var d=e.getAttribute("id");d||(d=this.getUniqueId("sendIQ"),e.setAttribute("id",
  d));var y=this.addHandler(function(w){k&&p.deleteTimedHandler(k);var m=w.getAttribute("type");if("result"==m)f&&f(w);else if("error"==m)l&&l(w);else throw{name:"StropheError",message:"Got bad IQ type of "+m};},null,"iq",null,d);n&&(k=this.addTimedHandler(n,function(){p.deleteHandler(y);l&&l(null);return!1}));this.send(e);return d},_queueData:function(e){if(null===e||!e.tagName||!e.childNodes)throw{name:"StropheError",message:"Cannot queue non-DOMElement."};this._data.push(e)},_sendRestart:function(){this._data.push("restart");
  this._proto._sendRestart();this._idleTimeout=setTimeout(this._onIdle.bind(this),100)},addTimedHandler:function(e,f){e=new g.TimedHandler(e,f);this.addTimeds.push(e);return e},deleteTimedHandler:function(e){this.removeTimeds.push(e)},addHandler:function(e,f,l,n,k,p,d){e=new g.Handler(e,f,l,n,k,p,d);this.addHandlers.push(e);return e},deleteHandler:function(e){this.removeHandlers.push(e)},disconnect:function(e){this._changeConnectStatus(g.Status.DISCONNECTING,e);g.info("Disconnect was called because: "+
  e);this.connected&&(e=!1,this.disconnecting=!0,this.authenticated&&(e=t({xmlns:g.NS.CLIENT,type:"unavailable"})),this._disconnectTimeout=this._addSysTimedHandler(3E3,this._onDisconnectTimeout.bind(this)),this._proto._disconnect(e))},_changeConnectStatus:function(e,f){for(var l in g._connectionPlugins)if(g._connectionPlugins.hasOwnProperty(l)){var n=this[l];if(n.statusChanged)try{n.statusChanged(e,f)}catch(k){g.error(""+l+" plugin caused an exception changing status: "+k)}}if(this.connect_callback)try{this.connect_callback(e,
  f)}catch(k){g.error("User connection callback caused an exception: "+k)}},_doDisconnect:function(){null!==this._disconnectTimeout&&(this.deleteTimedHandler(this._disconnectTimeout),this._disconnectTimeout=null);g.info("_doDisconnect was called");this._proto._doDisconnect();this.disconnecting=this.authenticated=!1;this.handlers=[];this.timedHandlers=[];this.removeTimeds=[];this.removeHandlers=[];this.addTimeds=[];this.addHandlers=[];this._changeConnectStatus(g.Status.DISCONNECTED,null);this.connected=
  !1},_dataRecv:function(e,f){g.info("_dataRecv called");e=this._proto._reqToData(e);if(null!==e){this.xmlInput!==g.Connection.prototype.xmlInput&&(e.nodeName===this._proto.strip&&e.childNodes.length?this.xmlInput(e.childNodes[0]):this.xmlInput(e));for(this.rawInput!==g.Connection.prototype.rawInput&&(f?this.rawInput(f):this.rawInput(g.serialize(e)));0<this.removeHandlers.length;)f=this.removeHandlers.pop(),f=this.handlers.indexOf(f),0<=f&&this.handlers.splice(f,1);for(;0<this.addHandlers.length;)this.handlers.push(this.addHandlers.pop());
  if(this.disconnecting&&this._proto._emptyQueue())this._doDisconnect();else if(f=e.getAttribute("type"),null!==f&&"terminate"==f)this.disconnecting||(f=e.getAttribute("condition"),e=e.getElementsByTagName("conflict"),null!==f?("remote-stream-error"==f&&0<e.length&&(f="conflict"),this._changeConnectStatus(g.Status.CONNFAIL,f)):this._changeConnectStatus(g.Status.CONNFAIL,"unknown"),this.disconnect("unknown stream-error"));else{var l=this;g.forEachChild(e,null,function(n){var k;var p=l.handlers;l.handlers=
  [];for(k=0;k<p.length;k++){var d=p[k];try{!d.isMatch(n)||!l.authenticated&&d.user?l.handlers.push(d):d.run(n)&&l.handlers.push(d)}catch(y){g.warn("Removing Strophe handlers due to uncaught exception: "+y.message)}}})}}},mechanisms:{},_connect_cb:function(e,f,l){g.info("_connect_cb was called");this.connected=!0;if(e=this._proto._reqToData(e))if(this.xmlInput!==g.Connection.prototype.xmlInput&&(e.nodeName===this._proto.strip&&e.childNodes.length?this.xmlInput(e.childNodes[0]):this.xmlInput(e)),this.rawInput!==
  g.Connection.prototype.rawInput&&(l?this.rawInput(l):this.rawInput(g.serialize(e))),this._proto._connect_cb(e)!==g.Status.CONNFAIL){this._authentication.sasl_scram_sha1=!1;this._authentication.sasl_plain=!1;this._authentication.sasl_digest_md5=!1;this._authentication.sasl_anonymous=!1;this._authentication.legacy_auth=!1;var n=0<e.getElementsByTagName("stream:features").length;n||(n=0<e.getElementsByTagName("features").length);var k=e.getElementsByTagName("mechanism");l=[];if(n){if(0<k.length)for(n=
  0;n<k.length;n++){var p=g.getText(k[n]);this.mechanisms[p]&&l.push(this.mechanisms[p])}this._authentication.legacy_auth=0<e.getElementsByTagName("auth").length;(e=this._authentication.legacy_auth||0<l.length)?!1!==this.do_authentication&&this.authenticate(l):this._proto._no_auth_received(f)}else this._proto._no_auth_received(f)}},authenticate:function(e){var f;for(f=0;f<e.length-1;++f){for(var l=f,n=f+1;n<e.length;++n)e[n].prototype.priority>e[l].prototype.priority&&(l=n);l!=f&&(n=e[f],e[f]=e[l],
  e[l]=n)}l=!1;for(f=0;f<e.length;++f)if(e[f].test(this)){this._sasl_success_handler=this._addSysHandler(this._sasl_success_cb.bind(this),null,"success",null,null);this._sasl_failure_handler=this._addSysHandler(this._sasl_failure_cb.bind(this),null,"failure",null,null);this._sasl_challenge_handler=this._addSysHandler(this._sasl_challenge_cb.bind(this),null,"challenge",null,null);this._sasl_mechanism=new e[f];this._sasl_mechanism.onStart(this);e=b("auth",{xmlns:g.NS.SASL,mechanism:this._sasl_mechanism.name});
  this._sasl_mechanism.isClientFirst&&(f=this._sasl_mechanism.onChallenge(this,null),e.t(Base64.encode(f)));this.send(e.tree());l=!0;break}l||(null===g.getNodeFromJid(this.jid)?(this._changeConnectStatus(g.Status.CONNFAIL,"x-strophe-bad-non-anon-jid"),this.disconnect("x-strophe-bad-non-anon-jid")):(this._changeConnectStatus(g.Status.AUTHENTICATING,null),this._addSysHandler(this._auth1_cb.bind(this),null,null,null,"_auth_1"),this.send(B({type:"get",to:this.domain,id:"_auth_1"}).c("query",{xmlns:g.NS.AUTH}).c("username",
  {}).t(g.getNodeFromJid(this.jid)).tree())))},_sasl_challenge_cb:function(e){e=Base64.decode(g.getText(e));e=this._sasl_mechanism.onChallenge(this,e);var f=b("response",{xmlns:g.NS.SASL});""!==e&&f.t(Base64.encode(e));this.send(f.tree());return!0},_auth1_cb:function(e){e=B({type:"set",id:"_auth_2"}).c("query",{xmlns:g.NS.AUTH}).c("username",{}).t(g.getNodeFromJid(this.jid)).up().c("password").t(this.pass);g.getResourceFromJid(this.jid)||(this.jid=g.getBareJidFromJid(this.jid)+"/strophe");e.up().c("resource",
  {}).t(g.getResourceFromJid(this.jid));this._addSysHandler(this._auth2_cb.bind(this),null,null,null,"_auth_2");this.send(e.tree());return!1},_sasl_success_cb:function(e){if(this._sasl_data["server-signature"]){var f;e=Base64.decode(g.getText(e)).match(/([a-z]+)=([^,]+)(,|$)/);"v"==e[1]&&(f=e[2]);if(f!=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)}g.info("SASL authentication succeeded.");if(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);this._addSysHandler(this._sasl_auth1_cb.bind(this),null,"stream:features",null,null);this._sendRestart();return!1},_sasl_auth1_cb:function(e){this.features=
  e;var f;for(f=0;f<e.childNodes.length;f++){var l=e.childNodes[f];"bind"==l.nodeName&&(this.do_bind=!0);"session"==l.nodeName&&(this.do_session=!0)}this.do_bind?(this._addSysHandler(this._sasl_bind_cb.bind(this),null,null,null,"_bind_auth_2"),(e=g.getResourceFromJid(this.jid))?this.send(B({type:"set",id:"_bind_auth_2"}).c("bind",{xmlns:g.NS.BIND}).c("resource",{}).t(e).tree()):this.send(B({type:"set",id:"_bind_auth_2"}).c("bind",{xmlns:g.NS.BIND}).tree())):this._changeConnectStatus(g.Status.AUTHFAIL,
  null);return!1},_sasl_bind_cb:function(e){if("error"==e.getAttribute("type")){g.info("SASL binding failed.");var f;0<e.getElementsByTagName("conflict").length&&(f="conflict");this._changeConnectStatus(g.Status.AUTHFAIL,f);return!1}e=e.getElementsByTagName("bind");if(0<e.length)e=e[0].getElementsByTagName("jid"),0<e.length&&(this.jid=g.getText(e[0]),this.do_session?(this._addSysHandler(this._sasl_session_cb.bind(this),null,null,null,"_session_auth_2"),this.send(B({type:"set",id:"_session_auth_2"}).c("session",
  {xmlns:g.NS.SESSION}).tree())):(this.authenticated=!0,this._changeConnectStatus(g.Status.CONNECTED,null)));else return g.info("SASL binding failed."),this._changeConnectStatus(g.Status.AUTHFAIL,null),!1},_sasl_session_cb:function(e){"result"==e.getAttribute("type")?(this.authenticated=!0,this._changeConnectStatus(g.Status.CONNECTED,null)):"error"==e.getAttribute("type")&&(g.info("Session creation failed."),this._changeConnectStatus(g.Status.AUTHFAIL,null));return!1},_sasl_failure_cb:function(e){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);if(this._sasl_mechanism)this._sasl_mechanism.onFailure();this._changeConnectStatus(g.Status.AUTHFAIL,null);return!1},_auth2_cb:function(e){"result"==e.getAttribute("type")?(this.authenticated=!0,this._changeConnectStatus(g.Status.CONNECTED,null)):"error"==e.getAttribute("type")&&(this._changeConnectStatus(g.Status.AUTHFAIL,
  null),this.disconnect("authentication failed"));return!1},_addSysTimedHandler:function(e,f){e=new g.TimedHandler(e,f);e.user=!1;this.addTimeds.push(e);return e},_addSysHandler:function(e,f,l,n,k){e=new g.Handler(e,f,l,n,k);e.user=!1;this.addHandlers.push(e);return e},_onDisconnectTimeout:function(){g.info("_onDisconnectTimeout was called");this._proto._onDisconnectTimeout();this._doDisconnect();return!1},_onIdle:function(){for(var e,f,l,n;0<this.addTimeds.length;)this.timedHandlers.push(this.addTimeds.pop());
  for(;0<this.removeTimeds.length;)f=this.removeTimeds.pop(),e=this.timedHandlers.indexOf(f),0<=e&&this.timedHandlers.splice(e,1);var k=(new Date).getTime();n=[];for(e=0;e<this.timedHandlers.length;e++)if(f=this.timedHandlers[e],this.authenticated||!f.user)l=f.lastCalled+f.period,0>=l-k?f.run()&&n.push(f):n.push(f);this.timedHandlers=n;clearTimeout(this._idleTimeout);this._proto._onIdle();this.connected&&(this._idleTimeout=setTimeout(this._onIdle.bind(this),100))}};a&&a(g,b,h,B,t);g.SASLMechanism=function(e,
  f,l){this.name=e;this.isClientFirst=f;this.priority=l};g.SASLMechanism.prototype={test:function(e){return!0},onStart:function(e){this._connection=e},onChallenge:function(e,f){throw Error("You should implement challenge handling!");},onFailure:function(){this._connection=null},onSuccess:function(){this._connection=null}};g.SASLAnonymous=function(){};g.SASLAnonymous.prototype=new g.SASLMechanism("ANONYMOUS",!1,10);g.SASLAnonymous.test=function(e){return null===e.authcid};g.Connection.prototype.mechanisms[g.SASLAnonymous.prototype.name]=
  g.SASLAnonymous;g.SASLPlain=function(){};g.SASLPlain.prototype=new g.SASLMechanism("PLAIN",!0,20);g.SASLPlain.test=function(e){return null!==e.authcid};g.SASLPlain.prototype.onChallenge=function(e){var f=e.authzid;f=f+"\x00"+e.authcid;return f=f+"\x00"+e.pass};g.Connection.prototype.mechanisms[g.SASLPlain.prototype.name]=g.SASLPlain;g.SASLSHA1=function(){};g.SASLSHA1.prototype=new g.SASLMechanism("SCRAM-SHA-1",!0,40);g.SASLSHA1.test=function(e){return null!==e.authcid};g.SASLSHA1.prototype.onChallenge=
  function(e,f,l){f=l||MD5.hexdigest(1234567890*Math.random());l="n="+e.authcid;l=l+",r="+f;e._sasl_data.cnonce=f;e._sasl_data["client-first-message-bare"]=l;l="n,,"+l;this.onChallenge=function(n,k){var p="c=biws,",d=n._sasl_data["client-first-message-bare"]+","+k+",";var y=n._sasl_data.cnonce;for(var w=/([a-z]+)=([^,]+)(,|$)/;k.match(w);){var m=k.match(w);k=k.replace(m[0],"");switch(m[1]){case "r":var x=m[2];break;case "s":var F=m[2];break;case "i":var D=m[2]}}if(x.substr(0,y.length)!==y)return n._sasl_data=
  {},n._sasl_failure_cb();p+="r="+x;d+=p;F=Base64.decode(F);k=x=core_hmac_sha1(n.pass,F+"\x00\x00\x00\u0001");for(F=1;F<D;F++){y=core_hmac_sha1(n.pass,binb2str(x));for(x=0;5>x;x++)k[x]^=y[x];x=y}k=binb2str(k);D=core_hmac_sha1(k,"Client Key");x=str_hmac_sha1(k,"Server Key");k=core_hmac_sha1(str_sha1(binb2str(D)),d);n._sasl_data["server-signature"]=b64_hmac_sha1(x,d);for(x=0;5>x;x++)D[x]^=k[x];return p+=",p="+Base64.encode(binb2str(D))}.bind(this);return l};g.Connection.prototype.mechanisms[g.SASLSHA1.prototype.name]=
  g.SASLSHA1;g.SASLMD5=function(){};g.SASLMD5.prototype=new g.SASLMechanism("DIGEST-MD5",!1,30);g.SASLMD5.test=function(e){return null!==e.authcid};g.SASLMD5.prototype._quote=function(e){return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'};g.SASLMD5.prototype.onChallenge=function(e,f,l){var n=/([a-z]+)=("[^"]+"|[^,"]+)(?:,|$)/;l=l||MD5.hexdigest(""+1234567890*Math.random());for(var k="",p=null,d="",y;f.match(n);)switch(y=f.match(n),f=f.replace(y[0],""),y[2]=y[2].replace(/^"(.+)"$/,"$1"),y[1]){case "realm":k=
  y[2];break;case "nonce":d=y[2];break;case "host":p=y[2]}f=e.servtype+"/"+e.domain;null!==p&&(f=f+"/"+p);n=MD5.hash(e.authcid+":"+k+":"+this._connection.pass)+":"+d+":"+l;p="AUTHENTICATE:"+f;e="charset=utf-8,username="+(this._quote(e.authcid)+",");e+="realm="+this._quote(k)+",";e+="nonce="+this._quote(d)+",";e=e+"nc=00000001,cnonce="+(this._quote(l)+",");e+="digest-uri="+this._quote(f)+",";e+="response="+MD5.hexdigest(MD5.hexdigest(n)+":"+d+":00000001:"+l+":auth:"+MD5.hexdigest(p))+",";e+="qop=auth";
  this.onChallenge=function(){return""}.bind(this);return e};g.Connection.prototype.mechanisms[g.SASLMD5.prototype.name]=g.SASLMD5})(function(a,b,h,B,t){window.Strophe=a;window.$build=b;window.$msg=h;window.$iq=B;window.$pres=t});
  Strophe.Request=function(a,b,h,B){this.id=++Strophe._requestId;this.xmlData=a;this.data=Strophe.serialize(a);this.func=this.origFunc=b;this.rid=h;this.date=NaN;this.sends=B||0;this.abort=!1;this.dead=null;this.age=function(){return this.date?(new Date-this.date)/1E3:0};this.timeDead=function(){return this.dead?(new Date-this.dead)/1E3:0};this.xhr=this._newXHR()};
  Strophe.Request.prototype={getResponse:function(){var a=null;if(this.xhr.responseXML&&this.xhr.responseXML.documentElement){if(a=this.xhr.responseXML.documentElement,"parsererror"==a.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 a},_newXHR:function(){var a=null;window.XMLHttpRequest?(a=new XMLHttpRequest,a.overrideMimeType&&a.overrideMimeType("text/xml")):window.ActiveXObject&&(a=new ActiveXObject("Microsoft.XMLHTTP"));a.onreadystatechange=this.func.bind(null,this);return a}};Strophe.Bosh=function(a){this._conn=a;this.rid=Math.floor(4294967295*Math.random());this.sid=null;this.hold=1;this.wait=60;this.window=5;this._requests=[]};
  Strophe.Bosh.prototype={strip:null,_buildBody:function(){var a=$build("body",{rid:this.rid++,xmlns:Strophe.NS.HTTPBIND});null!==this.sid&&a.attrs({sid:this.sid});return a},_reset:function(){this.rid=Math.floor(4294967295*Math.random());this.sid=null},_connect:function(a,b,h){this.wait=a||this.wait;this.hold=b||this.hold;a=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});
  h&&a.attrs({route:h});h=this._conn._connect_cb;this._requests.push(new Strophe.Request(a.tree(),this._onRequestStateChange.bind(this,h.bind(this._conn)),a.tree().getAttribute("rid")));this._throttledRequestHandler()},_attach:function(a,b,h,B,t,g,e){this._conn.jid=a;this.sid=b;this.rid=h;this._conn.connect_callback=B;this._conn.domain=Strophe.getDomainFromJid(this._conn.jid);this._conn.authenticated=!0;this._conn.connected=!0;this.wait=t||this.wait;this.hold=g||this.hold;this.window=e||this.window;
  this._conn._changeConnectStatus(Strophe.Status.ATTACHED,null)},_connect_cb:function(a){var b=a.getAttribute("type");if(null!==b&&"terminate"==b){Strophe.error("BOSH-Connection failed: "+h);var h=a.getAttribute("condition");a=a.getElementsByTagName("conflict");null!==h?("remote-stream-error"==h&&0<a.length&&(h="conflict"),this._conn._changeConnectStatus(Strophe.Status.CONNFAIL,h)):this._conn._changeConnectStatus(Strophe.Status.CONNFAIL,"unknown");this._conn._doDisconnect();return Strophe.Status.CONNFAIL}this.sid||
  (this.sid=a.getAttribute("sid"));if(h=a.getAttribute("requests"))this.window=parseInt(h,10);if(h=a.getAttribute("hold"))this.hold=parseInt(h,10);if(a=a.getAttribute("wait"))this.wait=parseInt(a,10)},_disconnect:function(a){this._sendTerminate(a)},_doDisconnect:function(){this.sid=null;this.rid=Math.floor(4294967295*Math.random())},_emptyQueue:function(){return 0===this._requests.length},_hitError:function(a){this.errors++;Strophe.warn("request errored, status: "+a+", number of errors: "+this.errors);
  4<this.errors&&this._onDisconnectTimeout()},_no_auth_received:function(a){a=a?a.bind(this._conn):this._conn._connect_cb.bind(this._conn);var b=this._buildBody();this._requests.push(new Strophe.Request(b.tree(),this._onRequestStateChange.bind(this,a.bind(this._conn)),b.tree().getAttribute("rid")));this._throttledRequestHandler()},_onDisconnectTimeout:function(){for(var a;0<this._requests.length;)a=this._requests.pop(),a.abort=!0,a.xhr.abort(),a.xhr.onreadystatechange=function(){}},_onIdle:function(){var a=
  this._conn._data;this._conn.authenticated&&0===this._requests.length&&0===a.length&&!this._conn.disconnecting&&(Strophe.info("no requests during idle cycle, sending blank request"),a.push(null));if(2>this._requests.length&&0<a.length&&!this._conn.paused){for(var b=this._buildBody(),h=0;h<a.length;h++)null!==a[h]&&("restart"===a[h]?b.attrs({to:this._conn.domain,"xml:lang":"en","xmpp:restart":"true","xmlns:xmpp":Strophe.NS.BOSH}):b.cnode(a[h]).up());delete this._conn._data;this._conn._data=[];this._requests.push(new Strophe.Request(b.tree(),
  this._onRequestStateChange.bind(this,this._conn._dataRecv.bind(this._conn)),b.tree().getAttribute("rid")));this._processRequest(this._requests.length-1)}0<this._requests.length&&(a=this._requests[0].age(),null!==this._requests[0].dead&&this._requests[0].timeDead()>Math.floor(Strophe.SECONDARY_TIMEOUT*this.wait)&&this._throttledRequestHandler(),a>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(a,b){Strophe.debug("request id "+b.id+"."+b.sends+" state changed to "+b.xhr.readyState);if(b.abort)b.abort=!1;else if(4==b.xhr.readyState){var h=0;try{h=b.xhr.status}catch(g){}"undefined"==typeof h&&(h=0);if(this.disconnecting&&400<=h)this._hitError(h);else{var B=this._requests[0]==b,t=this._requests[1]==b;if(0<h&&500>h||5<b.sends)this._removeRequest(b),Strophe.debug("request id "+b.id+" should now be removed");if(200==h)(t||B&&0<
  this._requests.length&&this._requests[0].age()>Math.floor(Strophe.SECONDARY_TIMEOUT*this.wait))&&this._restartRequest(0),Strophe.debug("request id "+b.id+"."+b.sends+" got 200"),a(b),this.errors=0;else if(Strophe.error("request id "+b.id+"."+b.sends+" error "+h+" happened"),0===h||400<=h&&600>h||12E3<=h)this._hitError(h),400<=h&&500>h&&(this._conn._changeConnectStatus(Strophe.Status.DISCONNECTING,null),this._conn._doDisconnect());0<h&&500>h||5<b.sends||this._throttledRequestHandler()}}},_processRequest:function(a){var b=
  this,h=this._requests[a],B=-1;try{4==h.xhr.readyState&&(B=h.xhr.status)}catch(e){Strophe.error("caught an error in _requests["+a+"], reqStatus: "+B)}"undefined"==typeof B&&(B=-1);if(h.sends>this.maxRetries)this._onDisconnectTimeout();else{var t=h.age();t=!isNaN(t)&&t>Math.floor(Strophe.TIMEOUT*this.wait);var g=null!==h.dead&&h.timeDead()>Math.floor(Strophe.SECONDARY_TIMEOUT*this.wait);B=4==h.xhr.readyState&&(1>B||500<=B);if(t||g||B)g&&Strophe.error("Request "+this._requests[a].id+" timed out (secondary), restarting"),
  h.abort=!0,h.xhr.abort(),h.xhr.onreadystatechange=function(){},this._requests[a]=new Strophe.Request(h.xmlData,h.origFunc,h.rid,h.sends),h=this._requests[a];if(0===h.xhr.readyState){Strophe.debug("request id "+h.id+"."+h.sends+" posting");try{h.xhr.open("POST",this._conn.service,this._conn.options.sync?!1:!0)}catch(e){Strophe.error("XHR open failed.");this._conn.connected||this._conn._changeConnectStatus(Strophe.Status.CONNFAIL,"bad-service");this._conn.disconnect();return}a=function(){h.date=new Date;
  if(b._conn.options.customHeaders){var e=b._conn.options.customHeaders,f;for(f in e)e.hasOwnProperty(f)&&h.xhr.setRequestHeader(f,e[f])}h.xhr.send(h.data)};1<h.sends?setTimeout(a,1E3*Math.min(Math.floor(Strophe.TIMEOUT*this.wait),Math.pow(h.sends,3))):a();h.sends++;this._conn.xmlOutput!==Strophe.Connection.prototype.xmlOutput&&(h.xmlData.nodeName===this.strip&&h.xmlData.childNodes.length?this._conn.xmlOutput(h.xmlData.childNodes[0]):this._conn.xmlOutput(h.xmlData));this._conn.rawOutput!==Strophe.Connection.prototype.rawOutput&&
  this._conn.rawOutput(h.data)}else Strophe.debug("_processRequest: "+(0===a?"first":"second")+" request has readyState of "+h.xhr.readyState)}},_removeRequest:function(a){Strophe.debug("removing request");var b;for(b=this._requests.length-1;0<=b;b--)a==this._requests[b]&&this._requests.splice(b,1);a.xhr.onreadystatechange=function(){};this._throttledRequestHandler()},_restartRequest:function(a){var b=this._requests[a];null===b.dead&&(b.dead=new Date);this._processRequest(a)},_reqToData:function(a){try{return a.getResponse()}catch(b){if("parsererror"!=
  b)throw b;this._conn.disconnect("strophe-parsererror")}},_sendTerminate:function(a){Strophe.info("_sendTerminate was called");var b=this._buildBody().attrs({type:"terminate"});a&&b.cnode(a.tree());a=new Strophe.Request(b.tree(),this._onRequestStateChange.bind(this,this._conn._dataRecv.bind(this._conn)),b.tree().getAttribute("rid"));this._requests.push(a);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&&(0<this._requests.length&&this._processRequest(0),1<this._requests.length&&Math.abs(this._requests[0].rid-
  this._requests[1].rid)<this.window&&this._processRequest(1))}};Strophe.Websocket=function(a){this._conn=a;this.strip="stream:stream";var b=a.service;if(0!==b.indexOf("ws:")&&0!==b.indexOf("wss:")){var h="";h="ws"===a.options.protocol&&"https:"!==window.location.protocol?h+"ws":h+"wss";h+="://"+window.location.host;h=0!==b.indexOf("/")?h+(window.location.pathname+b):h+b;a.service=h}};
  Strophe.Websocket.prototype={_buildStream:function(){return $build("stream:stream",{to:this._conn.domain,xmlns:Strophe.NS.CLIENT,"xmlns:stream":Strophe.NS.STREAM,version:"1.0"})},_check_streamerror:function(a,b){a=a.getElementsByTagName("stream:error");if(0===a.length)return!1;for(var h=a[0],B=a="",t=0;t<h.childNodes.length;t++){var g=h.childNodes[t];if("urn:ietf:params:xml:ns:xmpp-streams"!==g.getAttribute("xmlns"))break;"text"===g.nodeName?B=g.textContent:a=g.nodeName}h="WebSocket stream error: ";
  h=a?h+a:h+"unknown";B&&(h+=" - "+a);Strophe.error(h);this._conn._changeConnectStatus(b,a);this._conn._doDisconnect();return!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(a){if(this._check_streamerror(a,Strophe.Status.CONNFAIL))return Strophe.Status.CONNFAIL},
  _handleStreamStart:function(a){var b=!1,h=a.getAttribute("xmlns");"string"!==typeof h?b="Missing xmlns in stream:stream":h!==Strophe.NS.CLIENT&&(b="Wrong xmlns in stream:stream: "+h);h=a.namespaceURI;"string"!==typeof h?b="Missing xmlns:stream in stream:stream":h!==Strophe.NS.STREAM&&(b="Wrong xmlns:stream in stream:stream: "+h);a=a.getAttribute("version");"string"!==typeof a?b="Missing version in stream:stream":"1.0"!==a&&(b="Wrong version in stream:stream: "+a);return b?(this._conn._changeConnectStatus(Strophe.Status.CONNFAIL,
  b),this._conn._doDisconnect(),!1):!0},_connect_cb_wrapper:function(a){if(0===a.data.indexOf("<stream:stream ")||0===a.data.indexOf("<?xml")){var b=a.data.replace(/^(<\?.*?\?>\s*)*/,"");""!==b&&(b=a.data.replace(/<stream:stream (.*[^\/])>/,"<stream:stream $1/>"),b=(new DOMParser).parseFromString(b,"text/xml").documentElement,this._conn.xmlInput(b),this._conn.rawInput(a.data),this._handleStreamStart(b)&&(this._connect_cb(b),this.streamStart=a.data.replace(/^<stream:(.*)\/>$/,"<stream:$1>")))}else"</stream:stream>"===
  a.data?(this._conn.rawInput(a.data),this._conn.xmlInput(document.createElement("stream:stream")),this._conn._changeConnectStatus(Strophe.Status.CONNFAIL,"Received closing stream"),this._conn._doDisconnect()):(b=this._streamWrap(a.data),b=(new DOMParser).parseFromString(b,"text/xml").documentElement,this.socket.onmessage=this._onMessage.bind(this),this._conn._connect_cb(b,null,a.data))},_disconnect:function(a){if(this.socket.readyState!==WebSocket.CLOSED){a&&this._conn.send(a);this._conn.xmlOutput(document.createElement("stream:stream"));
  this._conn.rawOutput("</stream:stream>");try{this.socket.send("</stream:stream>")}catch(b){Strophe.info("Couldn't send closing stream tag.")}}this._conn._doDisconnect()},_doDisconnect:function(){Strophe.info("WebSockets _doDisconnect was called");this._closeSocket()},_streamWrap:function(a){return this.streamStart+a+"</stream:stream>"},_closeSocket:function(){if(this.socket)try{this.socket.close()}catch(a){}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(a){Strophe.error("Server did not send any auth methods");this._conn._changeConnectStatus(Strophe.Status.CONNFAIL,"Server did not send any auth methods");a&&(a=a.bind(this._conn),a());this._conn._doDisconnect()},_onDisconnectTimeout:function(){},_onError:function(a){Strophe.error("Websocket error "+a);this._conn._changeConnectStatus(Strophe.Status.CONNFAIL,
  "The WebSocket connection could not be established was disconnected.");this._disconnect()},_onIdle:function(){var a=this._conn._data;if(0<a.length&&!this._conn.paused){for(var b=0;b<a.length;b++)if(null!==a[b]){if("restart"===a[b]){var h=this._buildStream();var B=this._removeClosingTag(h);h=h.tree()}else h=a[b],B=Strophe.serialize(h);this._conn.xmlOutput(h);this._conn.rawOutput(B);this.socket.send(B)}this._conn._data=[]}},_onMessage:function(a){if("</stream:stream>"===a.data)this._conn.rawInput("</stream:stream>"),
  this._conn.xmlInput(document.createElement("stream:stream")),this._conn.disconnecting||this._conn._doDisconnect();else{if(0===a.data.search("<stream:stream ")){var b=a.data.replace(/<stream:stream (.*[^\/])>/,"<stream:stream $1/>");b=(new DOMParser).parseFromString(b,"text/xml").documentElement;if(!this._handleStreamStart(b))return}else b=this._streamWrap(a.data),b=(new DOMParser).parseFromString(b,"text/xml").documentElement;this._check_streamerror(b,Strophe.Status.ERROR)||(this._conn.disconnecting&&
  "presence"===b.firstChild.nodeName&&"unavailable"===b.firstChild.getAttribute("type")?(this._conn.xmlInput(b),this._conn.rawInput(Strophe.serialize(b))):this._conn._dataRecv(b,a.data))}},_onOpen:function(){Strophe.info("Websocket open");var a=this._buildStream();this._conn.xmlOutput(a.tree());a=this._removeClosingTag(a);this._conn.rawOutput(a);this.socket.send(a)},_removeClosingTag:function(a){a=Strophe.serialize(a);return a=a.replace(/<(stream:stream .*[^\/])\/>$/,"<$1>")},_reqToData:function(a){return a},
  _send:function(){this._conn.flush()},_sendRestart:function(){clearTimeout(this._conn._idleTimeout);this._conn._onIdle.bind(this._conn)()}};define("strophe",function(a){return function(){return a.Strophe}}(this));
  (function(){var a={}.hasOwnProperty,b=function(t,g){return function(){return t.apply(g,arguments)}};Strophe.addConnectionPlugin("muc",{_connection:null,rooms:{},roomNames:[],init:function(t){this._connection=t;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");return Strophe.addNamespace("MUC_REGISTER",
  "jabber:iq:register")},join:function(t,g,e,f,l,n,k){var p=this.test_append_nick(t,g);p=$pres({from:this._connection.jid,to:p}).c("x",{xmlns:Strophe.NS.MUC});null!=k&&(p=p.c("history",k).up());null!=n&&p.cnode(Strophe.xmlElement("password",[],n));"undefined"!==typeof extended_presence&&null!==extended_presence&&p.up.cnode(extended_presence);null==this._muc_handler&&(this._muc_handler=this._connection.addHandler(function(d){return function(y){var w,m;var x=y.getAttribute("from");if(!x)return!0;x=x.split("/")[0];
  if(!d.rooms[x])return!0;t=d.rooms[x];x={};if("message"===y.nodeName)x=t._message_handlers;else if("presence"===y.nodeName){var F=y.getElementsByTagName("x");if(0<F.length){var D=0;for(m=F.length;D<m;D++){var A=F[D];if((A=A.getAttribute("xmlns"))&&A.match(Strophe.NS.MUC)){x=t._presence_handlers;break}}}}for(w in x)F=x[w],F(y,t)||delete x[w];return!0}}(this)));this.rooms.hasOwnProperty(t)||(this.rooms[t]=new h(this,t,g,n),this.roomNames.push(t));f&&this.rooms[t].addHandler("presence",f);e&&this.rooms[t].addHandler("message",
  e);l&&this.rooms[t].addHandler("roster",l);return this._connection.send(p)},leave:function(t,g,e,f){var l=this.roomNames.indexOf(t);delete this.rooms[t];0<=l&&(this.roomNames.splice(l,1),0===this.roomNames.length&&(this._connection.deleteHandler(this._muc_handler),this._muc_handler=null));g=this.test_append_nick(t,g);t=this._connection.getUniqueId();g=$pres({type:"unavailable",id:t,from:this._connection.jid,to:g});null!=f&&g.c("status",f);null!=e&&this._connection.addHandler(e,null,"presence",null,
  t);this._connection.send(g);return t},message:function(t,g,e,f,l,n){t=this.test_append_nick(t,g);l=l||(null!=g?"chat":"groupchat");n=n||this._connection.getUniqueId();g=$msg({to:t,from:this._connection.jid,type:l,id:n}).c("body",{xmlns:Strophe.NS.CLIENT}).t(e);g.up();null!=f&&(g.c("html",{xmlns:Strophe.NS.XHTML_IM}).c("body",{xmlns:Strophe.NS.XHTML}).h(f),0===g.node.childNodes.length?(f=g.node.parentNode,g.up().up(),g.node.removeChild(f)):g.up().up());g.c("x",{xmlns:"jabber:x:event"}).c("composing");
  this._connection.send(g);return n},groupchat:function(t,g,e,f){return this.message(t,null,g,e,void 0,f)},invite:function(t,g,e){var f=this._connection.getUniqueId();t=$msg({from:this._connection.jid,to:t,id:f}).c("x",{xmlns:Strophe.NS.MUC_USER}).c("invite",{to:g});null!=e&&t.c("reason",e);this._connection.send(t);return f},multipleInvites:function(t,g,e){var f;var l=this._connection.getUniqueId();t=$msg({from:this._connection.jid,to:t,id:l}).c("x",{xmlns:Strophe.NS.MUC_USER});var n=0;for(f=g.length;n<
  f;n++){var k=g[n];t.c("invite",{to:k});null!=e&&(t.c("reason",e),t.up());t.up()}this._connection.send(t);return l},directInvite:function(t,g,e,f){var l=this._connection.getUniqueId();t={xmlns:"jabber:x:conference",jid:t};null!=e&&(t.reason=e);null!=f&&(t.password=f);g=$msg({from:this._connection.jid,to:g,id:l}).c("x",t);this._connection.send(g);return l},queryOccupants:function(t,g,e){var f={xmlns:Strophe.NS.DISCO_ITEMS};t=$iq({from:this._connection.jid,to:t,type:"get"}).c("query",f);return this._connection.sendIQ(t,
  g,e)},configure:function(t,g,e){t=$iq({to:t,type:"get"}).c("query",{xmlns:Strophe.NS.MUC_OWNER}).tree();return this._connection.sendIQ(t,g,e)},cancelConfigure:function(t){t=$iq({to:t,type:"set"}).c("query",{xmlns:Strophe.NS.MUC_OWNER}).c("x",{xmlns:"jabber:x:data",type:"cancel"}).tree();return this._connection.sendIQ(t)},saveConfiguration:function(t,g,e,f){var l;var n=$iq({to:t,type:"set"}).c("query",{xmlns:Strophe.NS.MUC_OWNER});if("undefined"!==typeof Form&&g instanceof Form)g.type="submit",n.cnode(g.toXML());
  else{n.c("x",{xmlns:"jabber:x:data",type:"submit"});var k=0;for(l=g.length;k<l;k++)t=g[k],n.cnode(t).up()}g=n.tree();return this._connection.sendIQ(g,e,f)},createInstantRoom:function(t,g,e){t=$iq({to:t,type:"set"}).c("query",{xmlns:Strophe.NS.MUC_OWNER}).c("x",{xmlns:"jabber:x:data",type:"submit"});return this._connection.sendIQ(t.tree(),g,e)},createConfiguredRoom:function(t,g,e,f){var l;t=$iq({to:t,type:"set"}).c("query",{xmlns:Strophe.NS.MUC_OWNER}).c("x",{xmlns:"jabber:x:data",type:"submit"});
  t.c("field",{"var":"FORM_TYPE"}).c("value").t("http://jabber.org/protocol/muc#roomconfig").up().up();for(l in g)if(a.call(g,l)){var n=g[l];t.c("field",{"var":l}).c("value").t(n).up().up()}return this._connection.sendIQ(t.tree(),e,f)},setTopic:function(t,g){t=$msg({to:t,from:this._connection.jid,type:"groupchat"}).c("subject",{xmlns:"jabber:client"}).t(g);return this._connection.send(t.tree())},_modifyPrivilege:function(t,g,e,f,l){t=$iq({to:t,type:"set"}).c("query",{xmlns:Strophe.NS.MUC_ADMIN}).cnode(g.node);
  null!=e&&t.c("reason",e);return this._connection.sendIQ(t.tree(),f,l)},modifyRole:function(t,g,e,f,l,n){g=$build("item",{nick:g,role:e});return this._modifyPrivilege(t,g,f,l,n)},kick:function(t,g,e,f,l){return this.modifyRole(t,g,"none",e,f,l)},voice:function(t,g,e,f,l){return this.modifyRole(t,g,"participant",e,f,l)},mute:function(t,g,e,f,l){return this.modifyRole(t,g,"visitor",e,f,l)},op:function(t,g,e,f,l){return this.modifyRole(t,g,"moderator",e,f,l)},deop:function(t,g,e,f,l){return this.modifyRole(t,
  g,"participant",e,f,l)},modifyAffiliation:function(t,g,e,f,l,n){g=$build("item",{jid:g,affiliation:e});return this._modifyPrivilege(t,g,f,l,n)},ban:function(t,g,e,f,l){return this.modifyAffiliation(t,g,"outcast",e,f,l)},member:function(t,g,e,f,l){return this.modifyAffiliation(t,g,"member",e,f,l)},revoke:function(t,g,e,f,l){return this.modifyAffiliation(t,g,"none",e,f,l)},owner:function(t,g,e,f,l){return this.modifyAffiliation(t,g,"owner",e,f,l)},admin:function(t,g,e,f,l){return this.modifyAffiliation(t,
  g,"admin",e,f,l)},changeNick:function(t,g){t=this.test_append_nick(t,g);t=$pres({from:this._connection.jid,to:t,id:this._connection.getUniqueId()});return this._connection.send(t.tree())},setStatus:function(t,g,e,f){t=this.test_append_nick(t,g);t=$pres({from:this._connection.jid,to:t});null!=e&&t.c("show",e).up();null!=f&&t.c("status",f);return this._connection.send(t.tree())},registrationRequest:function(t,g,e){t=$iq({to:t,from:this._connection.jid,type:"get"}).c("query",{xmlns:Strophe.NS.MUC_REGISTER});
  return this._connection.sendIQ(t,function(f){var l;var n=f.getElementsByTagName("field");var k={required:[],optional:[]};var p=0;for(l=n.length;p<l;p++){f=n[p];var d={"var":f.getAttribute("var"),label:f.getAttribute("label"),type:f.getAttribute("type")};0<f.getElementsByTagName("required").length?k.required.push(d):k.optional.push(d)}return g(k)},e)},submitRegistrationForm:function(t,g,e,f){var l;t=$iq({to:t,type:"set"}).c("query",{xmlns:Strophe.NS.MUC_REGISTER});t.c("x",{xmlns:"jabber:x:data",type:"submit"});
  t.c("field",{"var":"FORM_TYPE"}).c("value").t("http://jabber.org/protocol/muc#register").up().up();for(l in g){var n=g[l];t.c("field",{"var":l}).c("value").t(n).up().up()}return this._connection.sendIQ(t,e,f)},listRooms:function(t,g,e){t=$iq({to:t,from:this._connection.jid,type:"get"}).c("query",{xmlns:Strophe.NS.DISCO_ITEMS});return this._connection.sendIQ(t,g,e)},test_append_nick:function(t,g){var e=Strophe.escapeNode(Strophe.getNodeFromJid(t));t=Strophe.getDomainFromJid(t);return e+"@"+t+(null!=
  g?"/"+g:"")}});var h=function(){function t(g,e,f,l){this.client=g;this.name=e;this.nick=f;this.password=l;this._roomRosterHandler=b(this._roomRosterHandler,this);this._addOccupant=b(this._addOccupant,this);this.roster={};this._message_handlers={};this._presence_handlers={};this._roster_handlers={};this._handler_ids=0;g.muc&&(this.client=g.muc);this.name=Strophe.getBareJidFromJid(e);this.addHandler("presence",this._roomRosterHandler)}t.prototype.join=function(g,e,f){return this.client.join(this.name,
  this.nick,g,e,f,this.password)};t.prototype.leave=function(g,e){this.client.leave(this.name,this.nick,g,e);return delete this.client.rooms[this.name]};t.prototype.message=function(g,e,f,l){return this.client.message(this.name,g,e,f,l)};t.prototype.groupchat=function(g,e){return this.client.groupchat(this.name,g,e)};t.prototype.invite=function(g,e){return this.client.invite(this.name,g,e)};t.prototype.multipleInvites=function(g,e){return this.client.invite(this.name,g,e)};t.prototype.directInvite=
  function(g,e){return this.client.directInvite(this.name,g,e,this.password)};t.prototype.configure=function(g){return this.client.configure(this.name,g)};t.prototype.cancelConfigure=function(){return this.client.cancelConfigure(this.name)};t.prototype.saveConfiguration=function(g){return this.client.saveConfiguration(this.name,g)};t.prototype.queryOccupants=function(g,e){return this.client.queryOccupants(this.name,g,e)};t.prototype.setTopic=function(g){return this.client.setTopic(this.name,g)};t.prototype.modifyRole=
  function(g,e,f,l,n){return this.client.modifyRole(this.name,g,e,f,l,n)};t.prototype.kick=function(g,e,f,l){return this.client.kick(this.name,g,e,f,l)};t.prototype.voice=function(g,e,f,l){return this.client.voice(this.name,g,e,f,l)};t.prototype.mute=function(g,e,f,l){return this.client.mute(this.name,g,e,f,l)};t.prototype.op=function(g,e,f,l){return this.client.op(this.name,g,e,f,l)};t.prototype.deop=function(g,e,f,l){return this.client.deop(this.name,g,e,f,l)};t.prototype.modifyAffiliation=function(g,
  e,f,l,n){return this.client.modifyAffiliation(this.name,g,e,f,l,n)};t.prototype.ban=function(g,e,f,l){return this.client.ban(this.name,g,e,f,l)};t.prototype.member=function(g,e,f,l){return this.client.member(this.name,g,e,f,l)};t.prototype.revoke=function(g,e,f,l){return this.client.revoke(this.name,g,e,f,l)};t.prototype.owner=function(g,e,f,l){return this.client.owner(this.name,g,e,f,l)};t.prototype.admin=function(g,e,f,l){return this.client.admin(this.name,g,e,f,l)};t.prototype.changeNick=function(g){this.nick=
  g;return this.client.changeNick(this.name,g)};t.prototype.setStatus=function(g,e){return this.client.setStatus(this.name,this.nick,g,e)};t.prototype.addHandler=function(g,e){var f=this._handler_ids++;switch(g){case "presence":this._presence_handlers[f]=e;break;case "message":this._message_handlers[f]=e;break;case "roster":this._roster_handlers[f]=e;break;default:return this._handler_ids--,null}return f};t.prototype.removeHandler=function(g){delete this._presence_handlers[g];delete this._message_handlers[g];
  return delete this._roster_handlers[g]};t.prototype._addOccupant=function(g){g=new B(g,this);return this.roster[g.nick]=g};t.prototype._roomRosterHandler=function(g){var e;g=t._parsePresence(g);var f=g.nick;var l=g.newnick||null;switch(g.type){case "error":return!0;case "unavailable":l&&(g.nick=l,this.roster[f]&&this.roster[l]&&(this.roster[f].update(this.roster[l]),this.roster[l]=this.roster[f]),this.roster[f]&&!this.roster[l]&&(this.roster[l]=this.roster[f].update(g)));delete this.roster[f];break;
  default:this.roster[f]?this.roster[f].update(g):this._addOccupant(g)}l=this._roster_handlers;for(e in l)g=l[e],g(this.roster,this)||delete this._roster_handlers[e];return!0};t._parsePresence=function(g){var e,f;var l={};l.nick=Strophe.getResourceFromJid(g.getAttribute("from"));l.type=g.getAttribute("type");l.states=[];var n=g.childNodes;g=0;for(e=n.length;g<e;g++){var k=n[g];switch(k.nodeName){case "status":l.status=k.textContent||null;break;case "show":l.show=k.textContent||null;break;case "x":if(k.getAttribute("xmlns")===
  Strophe.NS.MUC_USER){var p=k.childNodes;var d=0;for(f=p.length;d<f;d++)switch(k=p[d],k.nodeName){case "item":l.affiliation=k.getAttribute("affiliation");l.role=k.getAttribute("role");l.jid=k.getAttribute("jid");l.newnick=k.getAttribute("nick");break;case "status":k.getAttribute("code")&&l.states.push(k.getAttribute("code"))}}}}return l};return t}();(function(){function t(g){this.parse=b(this.parse,this);null!=g&&this.parse(g)}t.prototype.parse=function(g){var e,f;g=g.getElementsByTagName("query")[0].childNodes;
  this.identities=[];this.features=[];this.x=[];var l=0;for(e=g.length;l<e;l++){var n=g[l];var k=n.attributes;switch(n.nodeName){case "identity":var p={};var d=0;for(f=k.length;d<f;d++)n=k[d],p[n.name]=n.textContent;this.identities.push(p);break;case "feature":this.features.push(n.getAttribute("var"));break;case "x":if("FORM_TYPE"!==!n.childNodes[0].getAttribute("var")&&"hidden"!==!n.childNodes[0].getAttribute("type"))for(d=n.childNodes,n=0,p=d.length;n<p;n++)k=d[n],k.attributes.type||this.x.push({"var":k.getAttribute("var"),
  label:k.getAttribute("label")||"",value:k.firstChild.textContent||""})}}return{identities:this.identities,features:this.features,x:this.x}};return t})();var B=function(){function t(g,e){this.room=e;this.update=b(this.update,this);this.admin=b(this.admin,this);this.owner=b(this.owner,this);this.revoke=b(this.revoke,this);this.member=b(this.member,this);this.ban=b(this.ban,this);this.modifyAffiliation=b(this.modifyAffiliation,this);this.deop=b(this.deop,this);this.op=b(this.op,this);this.mute=b(this.mute,
  this);this.voice=b(this.voice,this);this.kick=b(this.kick,this);this.modifyRole=b(this.modifyRole,this);this.update(g)}t.prototype.modifyRole=function(g,e,f,l){return this.room.modifyRole(this.nick,g,e,f,l)};t.prototype.kick=function(g,e,f){return this.room.kick(this.nick,g,e,f)};t.prototype.voice=function(g,e,f){return this.room.voice(this.nick,g,e,f)};t.prototype.mute=function(g,e,f){return this.room.mute(this.nick,g,e,f)};t.prototype.op=function(g,e,f){return this.room.op(this.nick,g,e,f)};t.prototype.deop=
  function(g,e,f){return this.room.deop(this.nick,g,e,f)};t.prototype.modifyAffiliation=function(g,e,f,l){return this.room.modifyAffiliation(this.jid,g,e,f,l)};t.prototype.ban=function(g,e,f){return this.room.ban(this.jid,g,e,f)};t.prototype.member=function(g,e,f){return this.room.member(this.jid,g,e,f)};t.prototype.revoke=function(g,e,f){return this.room.revoke(this.jid,g,e,f)};t.prototype.owner=function(g,e,f){return this.room.owner(this.jid,g,e,f)};t.prototype.admin=function(g,e,f){return this.room.admin(this.jid,
  g,e,f)};t.prototype.update=function(g){this.nick=g.nick||null;this.affiliation=g.affiliation||null;this.role=g.role||null;this.jid=g.jid||null;this.status=g.status||null;this.show=g.show||null;return this};return t}()}).call(this);define("strophe.muc",["strophe"],function(){});
  Strophe.addConnectionPlugin("roster",{init:function(a){this._connection=a;this._callbacks=[];this.items=[];this.ver=null;var b,h=this,B=a.connect,t=a.attach,g=function(e){if(e==Strophe.Status.ATTACHED||e==Strophe.Status.CONNECTED)try{a.addHandler(h._onReceivePresence.bind(h),null,"presence",null,null,null),a.addHandler(h._onReceiveIQ.bind(h),Strophe.NS.ROSTER,"iq","set",null,null)}catch(f){Strophe.error(f)}"function"===typeof b&&b.apply(this,arguments)};a.connect=function(e,f,l,n,k,p){b=l;"undefined"==
  typeof e&&(e=null);"undefined"==typeof f&&(f=null);l=g;B.apply(a,[e,f,l,n,k,p])};a.attach=function(e,f,l,n,k,p,d){b=n;"undefined"==typeof e&&(e=null);"undefined"==typeof f&&(f=null);"undefined"==typeof l&&(l=null);n=g;t.apply(a,[e,f,l,n,k,p,d])};Strophe.addNamespace("ROSTER_VER","urn:xmpp:features:rosterver");Strophe.addNamespace("NICK","http://jabber.org/protocol/nick")},supportVersioning:function(){return this._connection.features&&0<this._connection.features.getElementsByTagName("ver").length},
  get:function(a,b,h){var B={xmlns:Strophe.NS.ROSTER};this.supportVersioning()&&(B.ver=b||"",this.items=h||[]);b=$iq({type:"get",id:this._connection.getUniqueId("roster")}).c("query",B);return this._connection.sendIQ(b,this._onReceiveRosterSuccess.bind(this,a),this._onReceiveRosterError.bind(this,a))},registerCallback:function(a){this._callbacks.push(a)},findItem:function(a){try{for(var b=0;b<this.items.length;b++)if(this.items[b]&&this.items[b].jid==a)return this.items[b]}catch(h){Strophe.error(h)}return!1},
  removeItem:function(a){for(var b=0;b<this.items.length;b++)if(this.items[b]&&this.items[b].jid==a)return this.items.splice(b,1),!0;return!1},subscribe:function(a,b,h){a=$pres({to:a,type:"subscribe"});b&&""!==b&&a.c("status").t(b).up();h&&""!==h&&a.c("nick",{xmlns:Strophe.NS.NICK}).t(h).up();this._connection.send(a)},unsubscribe:function(a,b){a=$pres({to:a,type:"unsubscribe"});b&&""!==b&&a.c("status").t(b);this._connection.send(a)},authorize:function(a,b){a=$pres({to:a,type:"subscribed"});b&&""!==
  b&&a.c("status").t(b);this._connection.send(a)},unauthorize:function(a,b){a=$pres({to:a,type:"unsubscribed"});b&&""!==b&&a.c("status").t(b);this._connection.send(a)},add:function(a,b,h,B){a=$iq({type:"set"}).c("query",{xmlns:Strophe.NS.ROSTER}).c("item",{jid:a,name:b});for(b=0;b<h.length;b++)a.c("group").t(h[b]).up();this._connection.sendIQ(a,B,B)},update:function(a,b,h,B){a=this.findItem(a);if(!a)throw"item not found";b=b||a.name;h=h||a.groups;a=$iq({type:"set"}).c("query",{xmlns:Strophe.NS.ROSTER}).c("item",
  {jid:a.jid,name:b});for(b=0;b<h.length;b++)a.c("group").t(h[b]).up();return this._connection.sendIQ(a,B,B)},remove:function(a,b){a=this.findItem(a);if(!a)throw"item not found";a=$iq({type:"set"}).c("query",{xmlns:Strophe.NS.ROSTER}).c("item",{jid:a.jid,subscription:"remove"});this._connection.sendIQ(a,b,b)},_onReceiveRosterSuccess:function(a,b){this._updateItems(b);"function"===typeof a&&a(this.items)},_onReceiveRosterError:function(a,b){a(this.items)},_onReceivePresence:function(a){var b=a.getAttribute("from"),
  h=Strophe.getBareJidFromJid(b);h=this.findItem(h);if(!h)return!0;var B=a.getAttribute("type");if("unavailable"==B)delete h.resources[Strophe.getResourceFromJid(b)];else{if(B)return!0;h.resources[Strophe.getResourceFromJid(b)]={show:0!==a.getElementsByTagName("show").length?Strophe.getText(a.getElementsByTagName("show")[0]):"",status:0!==a.getElementsByTagName("status").length?Strophe.getText(a.getElementsByTagName("status")[0]):"",priority:0!==a.getElementsByTagName("priority").length?Strophe.getText(a.getElementsByTagName("priority")[0]):
  ""}}this._call_backs(this.items,h);return!0},_call_backs:function(a,b){for(var h=0;h<this._callbacks.length;h++)this._callbacks[h](a,b)},_onReceiveIQ:function(a){var b=a.getAttribute("id"),h=a.getAttribute("from");if(h&&""!==h&&h!=this._connection.jid&&h!=Strophe.getBareJidFromJid(this._connection.jid))return!0;b=$iq({type:"result",id:b,from:this._connection.jid});this._connection.send(b);this._updateItems(a);return!0},_updateItems:function(a){a=a.getElementsByTagName("query");if(0!==a.length){this.ver=
  a.item(0).getAttribute("ver");var b=this;Strophe.forEachChild(a.item(0),"item",function(h){b._updateItem(h)})}this._call_backs(this.items)},_updateItem:function(a){var b=a.getAttribute("jid"),h=a.getAttribute("name"),B=a.getAttribute("subscription"),t=a.getAttribute("ask"),g=[];Strophe.forEachChild(a,"group",function(e){g.push(Strophe.getText(e))});"remove"==B?this.removeItem(b):(a=this.findItem(b))?(a.name=h,a.subscription=B,a.ask=t,a.groups=g):this.items.push({name:h,jid:b,subscription:B,ask:t,
  groups:g,resources:{}})}});define("strophe.roster",["strophe"],function(){});var buildIq;buildIq=function(a,b,h){a=$iq(b?{type:a,to:b}:{type:a});a.c("vCard",{xmlns:Strophe.NS.VCARD});h&&a.cnode(h);return a};
  Strophe.addConnectionPlugin("vcard",{_connection:null,init:function(a){this._connection=a;return Strophe.addNamespace("VCARD","vcard-temp")},get:function(a,b,h){b=buildIq("get",b);return this._connection.sendIQ(b,a,h)},set:function(a,b,h,B){b=buildIq("set",h,b);return this._connection.sendIQ(b,a,error_rb)}});define("strophe.vcard",["strophe"],function(){});
  Strophe.addConnectionPlugin("disco",{_connection:null,_identities:[],_features:[],_items:[],init:function(a){this._connection=a;this._identities=[];this._features=[];this._items=[];a.addHandler(this._onDiscoInfo.bind(this),Strophe.NS.DISCO_INFO,"iq","get",null,null);a.addHandler(this._onDiscoItems.bind(this),Strophe.NS.DISCO_ITEMS,"iq","get",null,null)},addIdentity:function(a,b,h,B){for(var t=0;t<this._identities.length;t++)if(this._identities[t].category==a&&this._identities[t].type==b&&this._identities[t].name==
  h&&this._identities[t].lang==B)return!1;this._identities.push({category:a,type:b,name:h,lang:B});return!0},addFeature:function(a){for(var b=0;b<this._features.length;b++)if(this._features[b]==a)return!1;this._features.push(a);return!0},removeFeature:function(a){for(var b=0;b<this._features.length;b++)if(this._features[b]===a)return this._features.splice(b,1),!0;return!1},addItem:function(a,b,h,B){if(h&&!B)return!1;this._items.push({jid:a,name:b,node:h,call_back:B});return!0},info:function(a,b,h,B,
  t){var g={xmlns:Strophe.NS.DISCO_INFO};b&&(g.node=b);a=$iq({from:this._connection.jid,to:a,type:"get"}).c("query",g);this._connection.sendIQ(a,h,B,t)},items:function(a,b,h,B,t){var g={xmlns:Strophe.NS.DISCO_ITEMS};b&&(g.node=b);a=$iq({from:this._connection.jid,to:a,type:"get"}).c("query",g);this._connection.sendIQ(a,h,B,t)},_buildIQResult:function(a,b){var h=a.getAttribute("id");a=a.getAttribute("from");h=$iq({type:"result",id:h});null!==a&&h.attrs({to:a});return h.c("query",b)},_onDiscoInfo:function(a){var b=
  a.getElementsByTagName("query")[0].getAttribute("node"),h={xmlns:Strophe.NS.DISCO_INFO};b&&(h.node=b);a=this._buildIQResult(a,h);for(b=0;b<this._identities.length;b++)h={category:this._identities[b].category,type:this._identities[b].type},this._identities[b].name&&(h.name=this._identities[b].name),this._identities[b].lang&&(h["xml:lang"]=this._identities[b].lang),a.c("identity",h).up();for(b=0;b<this._features.length;b++)a.c("feature",{"var":this._features[b]}).up();this._connection.send(a.tree());
  return!0},_onDiscoItems:function(a){var b={xmlns:Strophe.NS.DISCO_ITEMS},h=a.getElementsByTagName("query")[0].getAttribute("node");if(h){b.node=h;for(var B=[],t=0;t<this._items.length;t++)if(this._items[t].node==h){B=this._items[t].call_back(a);break}}else B=this._items;a=this._buildIQResult(a,b);for(t=0;t<B.length;t++)b={jid:B[t].jid},B[t].name&&(b.name=B[t].name),B[t].node&&(b.node=B[t].node),a.c("item",b).up();this._connection.send(a.tree());return!0}});define("strophe.disco",["strophe"],function(){});
  define("converse-dependencies","jquery utils otr moment locales backbone.browserStorage backbone.overview jquery.browser typeahead strophe strophe.muc strophe.roster strophe.vcard strophe.disco".split(" "),function(a,b,h,B){return{jQuery:a,moment:B,otr:h,utils:b}});
  define("text",["module"],function(a){var b=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],h=/^\s*<\?xml(\s)+version=['"](\d)*.(\d)*['"](\s)*\?>/im,B=/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im,t="undefined"!==typeof location&&location.href,g=t&&location.protocol&&location.protocol.replace(/:/,""),e=t&&location.hostname,f=t&&(location.port||void 0),l={},n=a.config&&a.config()||{};var k={version:"2.0.12",strip:function(m){if(m){m=m.replace(h,"");var x=m.match(B);x&&(m=x[1])}else m="";return m},
  jsEscape:function(m){return m.replace(/(['\\])/g,"\\$1").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r").replace(/[\u2028]/g,"\\u2028").replace(/[\u2029]/g,"\\u2029")},createXhr:n.createXhr||function(){var m;if("undefined"!==typeof XMLHttpRequest)return new XMLHttpRequest;if("undefined"!==typeof ActiveXObject)for(m=0;3>m;m+=1){var x=b[m];try{var F=new ActiveXObject(x)}catch(D){}if(F){b=[x];break}}return F},parseName:function(m){var x=
  !1,F=m.indexOf(".");var D=0===m.indexOf("./")||0===m.indexOf("../");if(-1!==F&&(!D||1<F)){D=m.substring(0,F);var A=m.substring(F+1,m.length)}else D=m;m=A||D;F=m.indexOf("!");-1!==F&&(x="strip"===m.substring(F+1),m=m.substring(0,F),A?A=m:D=m);return{moduleName:D,ext:A,strip:x}},xdRegExp:/^((\w+):)?\/\/([^\/\\]+)/,useXhr:function(m,x,F,D){var A=k.xdRegExp.exec(m);if(!A)return!0;m=A[2];A=A[3];A=A.split(":");var M=A[1];A=A[0];return(!m||m===x)&&(!A||A.toLowerCase()===F.toLowerCase())&&(!M&&!A||M===D)},
  finishLoad:function(m,x,F,D){F=x?k.strip(F):F;n.isBuild&&(l[m]=F);D(F)},load:function(m,x,F,D){if(D&&D.isBuild&&!D.inlineText)F();else{n.isBuild=D&&D.isBuild;var A=k.parseName(m);D=A.moduleName+(A.ext?"."+A.ext:"");var M=x.toUrl(D),v=n.useXhr||k.useXhr;0===M.indexOf("empty:")?F():!t||v(M,g,e,f)?k.get(M,function(O){k.finishLoad(m,A.strip,O,F)},function(O){F.error&&F.error(O)}):x([D],function(O){k.finishLoad(A.moduleName+"."+A.ext,A.strip,O,F)})}},write:function(m,x,F,D){l.hasOwnProperty(x)&&(D=k.jsEscape(l[x]),
  F.asModule(m+"!"+x,"define(function () { return '"+D+"';});\n"))},writeFile:function(m,x,F,D,A){x=k.parseName(x);var M=x.ext?"."+x.ext:"",v=x.moduleName+M,O=F.toUrl(x.moduleName+M)+".js";k.load(v,F,function(V){V=function(aa){return D(O,aa)};V.asModule=function(aa,ba){return D.asModule(aa,O,ba)};k.write(m,v,V,A)},A)}};if("node"===n.env||!n.env&&"undefined"!==typeof process&&process.versions&&process.versions.node&&!process.versions["node-webkit"]){var p=require.nodeRequire("fs");k.get=function(m,x,
  F){try{var D=p.readFileSync(m,"utf8");0===D.indexOf("\ufeff")&&(D=D.substring(1));x(D)}catch(A){F&&F(A)}}}else if("xhr"===n.env||!n.env&&k.createXhr())k.get=function(m,x,F,D){var A=k.createXhr(),M;A.open("GET",m,!0);if(D)for(M in D)D.hasOwnProperty(M)&&A.setRequestHeader(M.toLowerCase(),D[M]);if(n.onXhr)n.onXhr(A,m);A.onreadystatechange=function(v){if(4===A.readyState&&(v=A.status||0,399<v&&600>v?(v=Error(m+" HTTP status: "+v),v.xhr=A,F&&F(v)):x(A.responseText),n.onXhrComplete))n.onXhrComplete(A,
  m)};A.send(null)};else if("rhino"===n.env||!n.env&&"undefined"!==typeof Packages&&"undefined"!==typeof java)k.get=function(m,x){var F,D=new java.io.File(m);m=java.lang.System.getProperty("line.separator");D=new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(D),"utf-8"));var A="";try{var M=new java.lang.StringBuffer;(F=D.readLine())&&F.length()&&65279===F.charAt(0)&&(F=F.substring(1));for(null!==F&&M.append(F);null!==(F=D.readLine());)M.append(m),M.append(F);A=String(M.toString())}finally{D.close()}x(A)};
  else if("xpconnect"===n.env||!n.env&&"undefined"!==typeof Components&&Components.classes&&Components.interfaces){var d=Components.classes;var y=Components.interfaces;Components.utils["import"]("resource://gre/modules/FileUtils.jsm");var w="@mozilla.org/windows-registry-key;1"in d;k.get=function(m,x){var F={};w&&(m=m.replace(/\//g,"\\"));m=new FileUtils.File(m);try{var D=d["@mozilla.org/network/file-input-stream;1"].createInstance(y.nsIFileInputStream);D.init(m,1,0,!1);var A=d["@mozilla.org/intl/converter-input-stream;1"].createInstance(y.nsIConverterInputStream);
  A.init(D,"utf-8",D.available(),y.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER);A.readString(D.available(),F);A.close();D.close();x(F.value)}catch(M){throw Error((m&&m.path||"")+": "+M);}}}return k});
  define("tpl",["text","underscore"],function(a,b){var h={};return{version:"0.0.2",load:function(B,t,g,e){e.tpl&&e.tpl.templateSettings&&(b.templateSettings=e.tpl.templateSettings);h[B]?g(h[B]):a.load((e.tpl&&e.tpl.path||"")+B+(e.tpl&&e.tpl.extension||".html"),t,function(f){h[B]=b.template(f);g(h[B])},e)},write:function(B,t,g){var e=h[t];(e=e&&e.source)&&g.asModule(B+"!"+t,"define('{pluginName}!{moduleName}', function () { return {source}; });\n".replace("{pluginName}",B).replace("{moduleName}",t).replace("{source}",
  e))}}});define("tpl!action",[],function(){return function(a){var b;with(a||{})a='<div class="chat-message '+(null==(b=extra_classes)?"":b)+'">\n    <span class="chat-message-'+(null==(b=sender)?"":b)+'">'+(null==(b=time)?"":b)+" **"+(null==(b=username)?"":b)+' </span>\n    <span class="chat-message-content">'+(null==(b=message)?"":b)+"</span>\n</div>\n";return a}});
  define("tpl!add_contact_dropdown",[],function(){return function(a){var b;with(a||{})a='<dl class="add-converse-contact dropdown">\n    <dt id="xmpp-contact-search" class="fancy-dropdown">\n        <a class="toggle-xmpp-contact-form" href="#"\n            title="'+(null==(b=label_click_to_chat)?"":b)+'">\n        <span class="icon-plus"></span>'+(null==(b=label_add_contact)?"":b)+'</a>\n    </dt>\n    <dd class="search-xmpp" style="display:none"><ul></ul></dd>\n</dl>\n';return a}});
  define("tpl!add_contact_form",[],function(){return function(a){var b;with(a||{})a='<li>\n    <form class="add-xmpp-contact">\n        <input type="text"\n            name="identifier"\n            class="username"\n            placeholder="'+(null==(b=label_contact_username)?"":b)+'"/>\n        <button type="submit">'+(null==(b=label_add)?"":b)+"</button>\n    </form>\n</li>\n";return a}});
  define("tpl!change_status_message",[],function(){return function(a){var b;with(a||{})a='<form id="set-custom-xmpp-status">\n    <input type="text" class="custom-xmpp-status" '+(null==(b=status_message)?"":b)+'\n        placeholder="'+(null==(b=label_custom_status)?"":b)+'"/>\n    <button type="submit">'+(null==(b=label_save)?"":b)+"</button>\n</form>\n";return a}});
  define("tpl!chat_status",[],function(){return function(a){var b;with(a||{})a='<div class="xmpp-status">\n    <a class="choose-xmpp-status '+(null==(b=chat_status)?"":b)+'"\n       data-value="'+(null==(b=status_message)?"":b)+'"\n       href="#" title="'+(null==(b=desc_change_status)?"":b)+'">\n\n        <span class="icon-'+(null==(b=chat_status)?"":b)+'"></span>'+(null==(b=status_message)?"":b)+'\n    </a>\n    <a class="change-xmpp-status-message icon-pencil"\n        href="#"\n        title="'+
  (null==(b=desc_custom_status)?"":b)+'"></a>\n</div>\n';return a}});
  define("tpl!chatarea",[],function(){return function(a){var b;with(a||{})a='<div class="chat-area">\n    <div class="chat-content"></div>\n    <form class="sendXMPPMessage" action="" method="post">\n        ',show_toolbar&&(a+='\n            <ul class="chat-toolbar no-text-select"></ul>\n        '),a+='\n        <textarea type="text" class="chat-textarea" \n            placeholder="'+(null==(b=label_message)?"":b)+'"/>\n    </form>\n</div>\n';return a}});
  define("tpl!chatbox",[],function(){return function(a){var b;with(a||{})a='<div class="box-flyout" style="height: '+(null==(b=height)?"":b)+'px">\n    <div class="dragresize dragresize-tm"></div>\n    <div class="chat-head chat-head-chatbox">\n        <a class="close-chatbox-button icon-close"></a>\n        <a class="toggle-chatbox-button icon-minus"></a>\n        <div class="chat-title">\n            ',url&&(a+='\n                <a href="'+(null==(b=url)?"":b)+'" target="_blank" class="user">\n            '),
  a+="\n                    "+(null==(b=fullname)?"":b)+"\n            ",url&&(a+="\n                </a>\n            "),a+='\n        </div>\n        <p class="user-custom-message"><p/>\n    </div>\n    <div class="chat-body">\n        <div class="chat-content"></div>\n        <form class="sendXMPPMessage" action="" method="post">\n            ',show_toolbar&&(a+='\n                <ul class="chat-toolbar no-text-select"></ul>\n            '),a+='\n        <textarea\n            type="text"\n            class="chat-textarea"\n            placeholder="'+
  (null==(b=label_personal_message)?"":b)+'"/>\n        </form>\n    </div>\n</div>\n';return a}});
  define("tpl!chatroom",[],function(){return function(a){var b;with(a||{})a='<div class="box-flyout" style="height: '+(null==(b=height)?"":b)+'px"\n    ',minimized&&(a+=' style="display:none" '),a+='>\n    <div class="dragresize dragresize-tm"></div>\n    <div class="chat-head chat-head-chatroom">\n        <a class="close-chatbox-button icon-close"></a>\n        <a class="toggle-chatbox-button icon-minus"></a>\n        <a class="configure-chatroom-button icon-wrench" style="display:none"></a>\n        <div class="chat-title"> '+(null==
  (b=name)?"":b)+' </div>\n        <p class="chatroom-topic"><p/>\n    </div>\n    <div class="chat-body"><span class="spinner centered"/></div>\n</div>\n';return a}});
  define("tpl!chatroom_password_form",[],function(){return function(a){var b;with(a||{})a='<div class="chatroom-form-container">\n    <form class="chatroom-form">\n        <legend>'+(null==(b=heading)?"":b)+"</legend>\n        <label>"+(null==(b=label_password)?"":b)+'<input type="password" name="password"/></label>\n        <input type="submit" value="'+(null==(b=label_submit)?"":b)+'"/>\n    </form>\n</div>\n';return a}});
  define("tpl!chatroom_sidebar",[],function(){return function(a){var b;with(a||{})a='\x3c!-- <div class="participants"> --\x3e\n<form class="room-invite">\n    <input class="invited-contact" placeholder="'+(null==(b=label_invitation)?"":b)+'" type="text"/>\n</form>\n<label>'+(null==(b=label_occupants)?"":b)+':</label>\n<ul class="participant-list"></ul>\n\x3c!-- </div> --\x3e\n';return a}});
  define("tpl!chatrooms_tab",[],function(){return function(a){var b;with(a||{})a='<li><a class="s" href="#chatrooms">'+(null==(b=label_rooms)?"":b)+"</a></li>\n";return a}});define("tpl!chats_panel",[],function(){return function(a){with(a||{});return'<div id="minimized-chats">\n    <a id="toggle-minimized-chats" href="#"></a>\n    <div class="minimized-chats-flyout"></div>\n</div>\n'}});define("tpl!choose_status",[],function(){return function(a){with(a||{});return'<dl id="target" class="dropdown">\n    <dt id="fancy-xmpp-status-select" class="fancy-dropdown"></dt>\n    <dd><ul class="xmpp-status-menu"></ul></dd>\n</dl>\n'}});
  define("tpl!contacts_panel",[],function(){return function(a){var b;with(a||{})a='<form class="set-xmpp-status" action="" method="post">\n    <span id="xmpp-status-holder">\n        <select id="select-xmpp-status" style="display:none">\n            <option value="online">'+(null==(b=label_online)?"":b)+'</option>\n            <option value="dnd">'+(null==(b=label_busy)?"":b)+'</option>\n            <option value="away">'+(null==(b=label_away)?"":b)+'</option>\n            <option value="offline">'+
  (null==(b=label_offline)?"":b)+"</option>\n            ",allow_logout&&(a+='\n            <option value="logout">'+(null==(b=label_logout)?"":b)+"</option>\n            ");return a+"\n        </select>\n    </span>\n</form>\n"}});define("tpl!contacts_tab",[],function(){return function(a){var b;with(a||{})a='<li><a class="s current" href="#users">'+(null==(b=label_contacts)?"":b)+"</a></li>\n";return a}});
  define("tpl!controlbox",[],function(){return function(a){var b;with(a||{})a='<div class="box-flyout" style="height: '+(null==(b=height)?"":b)+'px">\n    <div class="dragresize dragresize-tm"></div>\n    <div class="chat-head controlbox-head">\n        <ul id="controlbox-tabs"></ul>\n        <a class="close-chatbox-button icon-close"></a>\n    </div>\n    <div class="controlbox-panes"></div>\n</div>\n';return a}});
  define("tpl!controlbox_toggle",[],function(){return function(a){var b;with(a||{})a='<span class="conn-feedback">'+(null==(b=label_toggle)?"":b)+'</span>\n<span style="display: none" id="online-count">(0)</span>\n';return a}});
  define("tpl!field",[],function(){return function(a){var b,h="";with(a||{})h+='<field var="'+(null==(b=name)?"":b)+'">',_.isArray(value)?(h+="\n    ",_.each(value,function(B){h+="<value>"+(null==(b=B)?"":b)+"</value>"}),h+="\n"):h+="\n    <value>"+(null==(b=value)?"":b)+"</value>\n",h+="</field>\n";return h}});
  define("tpl!form_checkbox",[],function(){return function(a){var b;with(a||{})a="<label>"+(null==(b=label)?"":b)+'<input name="'+(null==(b=name)?"":b)+'" type="'+(null==(b=type)?"":b)+'" '+(null==(b=checked)?"":b)+"></label>\n";return a}});define("tpl!form_input",[],function(){return function(a){var b;with(a||{})a="<label>"+(null==(b=label)?"":b)+'<input name="'+(null==(b=name)?"":b)+'" type="'+(null==(b=type)?"":b)+'" value="'+(null==(b=value)?"":b)+'"></label>\n';return a}});
  define("tpl!form_select",[],function(){return function(a){var b;with(a||{})a="<label>"+(null==(b=label)?"":b)+'<select name="'+(null==(b=name)?"":b)+'"  ',multiple&&(a+=' multiple="multiple" '),a+=">"+(null==(b=options)?"":b)+"</select></label>\n";return a}});define("tpl!group_header",[],function(){return function(a){var b;with(a||{})a='<a href="#" class="group-toggle icon-'+(null==(b=toggle_state)?"":b)+'" title="'+(null==(b=desc_group_toggle)?"":b)+'">'+(null==(b=label_group)?"":b)+"</a>\n";return a}});
  define("tpl!info",[],function(){return function(a){var b;with(a||{})a='<div class="chat-info">'+(null==(b=message)?"":b)+"</div>\n";return a}});
  define("tpl!login_panel",[],function(){return function(a){var b;with(a||{})a='<form id="converse-login" method="post">\n    <label>'+(null==(b=label_username)?"":b)+'</label>\n    <input type="username" name="jid" placeholder="Username">\n    <label>'+(null==(b=label_password)?"":b)+'</label>\n    <input type="password" name="password" placeholder="Password">\n    <input class="login-submit" type="submit" value="'+(null==(b=label_login)?"":b)+'">\n    <span class="conn-feedback"></span>\n</form>\n';
  return a}});define("tpl!login_tab",[],function(){return function(a){var b;with(a||{})a='<li><a class="current" href="#login">'+(null==(b=label_sign_in)?"":b)+"</a></li>\n";return a}});
  define("tpl!message",[],function(){return function(a){var b;with(a||{})a='<div class="chat-message '+(null==(b=extra_classes)?"":b)+'">\n    <span class="chat-message-'+(null==(b=sender)?"":b)+'">'+(null==(b=time)?"":b)+" "+(null==(b=username)?"":b)+':&nbsp;</span>\n    <span class="chat-message-content">'+(null==(b=message)?"":b)+"</span>\n</div>\n";return a}});
  define("tpl!new_day",[],function(){return function(a){var b;with(a||{})a='<time class="chat-date" datetime="'+(null==(b=isodate)?"":b)+'">'+(null==(b=datestring)?"":b)+"</time>\n";return a}});
  define("tpl!occupant",[],function(){return function(a){var b;with(a||{})a='<li class="'+(null==(b=role)?"":b)+'"\n    ',"moderator"===role&&(a+='\n       title="'+(null==(b=desc_moderator)?"":b)+'"\n    '),a+="\n    ","participant"===role&&(a+='\n       title="'+(null==(b=desc_participant)?"":b)+'"\n    '),a+="\n    ","visitor"===role&&(a+='\n       title="'+(null==(b=desc_visitor)?"":b)+'"\n    '),a+="\n>"+(null==(b=nick)?"":b)+"</li>\n";return a}});
  define("tpl!pending_contact",[],function(){return function(a){var b;with(a||{})a='<span class="pending-contact-name">'+(null==(b=fullname)?"":b)+'</span> <a class="remove-xmpp-contact icon-remove" title="'+(null==(b=desc_remove)?"":b)+'" href="#"></a>\n';return a}});
  define("tpl!pending_contacts",[],function(){return function(a){var b;with(a||{})a='<dt id="pending-xmpp-contacts"><a href="#" class="group-toggle icon-'+(null==(b=toggle_state)?"":b)+'" title="'+(null==(b=desc_group_toggle)?"":b)+'">'+(null==(b=label_pending_contacts)?"":b)+"</a></dt>\n";return a}});
  define("tpl!requesting_contact",[],function(){return function(a){var b;with(a||{})a='<span class="req-contact-name">'+(null==(b=fullname)?"":b)+'</span>\n<span class="request-actions">\n    <a class="accept-xmpp-request icon-checkmark" title="'+(null==(b=desc_accept)?"":b)+'" href="#"></a>\n    <a class="decline-xmpp-request icon-close" title="'+(null==(b=desc_decline)?"":b)+'" href="#"></a>\n</span>\n';return a}});
  define("tpl!requesting_contacts",[],function(){return function(a){var b;with(a||{})a='<dt id="xmpp-contact-requests"><a href="#" class="group-toggle icon-'+(null==(b=toggle_state)?"":b)+'" title="'+(null==(b=desc_group_toggle)?"":b)+'">'+(null==(b=label_contact_requests)?"":b)+"</a></dt>\n";return a}});
  define("tpl!room_description",[],function(){return function(a){var b;with(a||{})a='\x3c!-- FIXME: check markup in mockup --\x3e\n<div class="room-info">\n<p class="room-info"><strong>'+(null==(b=label_desc)?"":b)+"</strong> "+(null==(b=desc)?"":b)+'</p>\n<p class="room-info"><strong>'+(null==(b=label_occ)?"":b)+"</strong> "+(null==(b=occ)?"":b)+'</p>\n<p class="room-info"><strong>'+(null==(b=label_features)?"":b)+"</strong>\n    <ul>\n        ",passwordprotected&&(a+='\n        <li class="room-info locked">'+
  (null==(b=label_requires_auth)?"":b)+"</li>\n        "),a+="\n        ",hidden&&(a+='\n        <li class="room-info">'+(null==(b=label_hidden)?"":b)+"</li>\n        "),a+="\n        ",membersonly&&(a+='\n        <li class="room-info">'+(null==(b=label_requires_invite)?"":b)+"</li>\n        "),a+="\n        ",moderated&&(a+='\n        <li class="room-info">'+(null==(b=label_moderated)?"":b)+"</li>\n        "),a+="\n        ",nonanonymous&&(a+='\n        <li class="room-info">'+(null==(b=label_non_anon)?
  "":b)+"</li>\n        "),a+="\n        ",open&&(a+='\n        <li class="room-info">'+(null==(b=label_open_room)?"":b)+"</li>\n        "),a+="\n        ",persistent&&(a+='\n        <li class="room-info">'+(null==(b=label_permanent_room)?"":b)+"</li>\n        "),a+="\n        ",publicroom&&(a+='\n        <li class="room-info">'+(null==(b=label_public)?"":b)+"</li>\n        "),a+="\n        ",semianonymous&&(a+='\n        <li class="room-info">'+(null==(b=label_semi_anon)?"":b)+"</li>\n        "),a+=
  "\n        ",temporary&&(a+='\n        <li class="room-info">'+(null==(b=label_temp_room)?"":b)+"</li>\n        "),a+="\n        ",unmoderated&&(a+='\n        <li class="room-info">'+(null==(b=label_unmoderated)?"":b)+"</li>\n        ");return a+"\n    </ul>\n</p>\n</div>\n"}});
  define("tpl!room_item",[],function(){return function(a){var b;with(a||{})a='<dd class="available-chatroom">\n<a class="open-room" data-room-jid="'+(null==(b=jid)?"":b)+'"\n   title="'+(null==(b=open_title)?"":b)+'" href="#">'+(null==(b=name)?"":b)+'</a>\n<a class="room-info icon-room-info" data-room-jid="'+(null==(b=jid)?"":b)+'"\n   title="'+(null==(b=info_title)?"":b)+'" href="#">&nbsp;</a>\n</dd>\n';return a}});
  define("tpl!room_panel",[],function(){return function(a){var b;with(a||{})a='<form class="add-chatroom" action="" method="post">\n    <input type="text" name="chatroom" class="new-chatroom-name"\n        placeholder="'+(null==(b=label_room_name)?"":b)+'"/>\n    <input type="text" name="nick" class="new-chatroom-nick"\n        placeholder="'+(null==(b=label_nickname)?"":b)+'"/>\n    <input type="'+(null==(b=server_input_type)?"":b)+'" name="server" class="new-chatroom-server"\n        placeholder="'+
  (null==(b=label_server)?"":b)+'"/>\n    <input type="submit" name="join" value="'+(null==(b=label_join)?"":b)+'"/>\n    <input type="button" name="show" id="show-rooms" value="'+(null==(b=label_show_rooms)?"":b)+'"/>\n</form>\n<dl id="available-chatrooms"></dl>\n';return a}});
  define("tpl!roster",[],function(){return function(a){var b;with(a||{})a='<input style="display: none;" class="roster-filter" placeholder="'+(null==(b=placeholder)?"":b)+'">\n<select style="display: none;" class="filter-type">\n    <option value="contacts">'+(null==(b=label_contacts)?"":b)+'</option>\n    <option value="groups">'+(null==(b=label_groups)?"":b)+"</option>\n</select>\n";return a}});
  define("tpl!roster_item",[],function(){return function(a){var b;with(a||{})a='<a class="open-chat" title="'+(null==(b=desc_chat)?"":b)+'" href="#"><span class="icon-'+(null==(b=chat_status)?"":b)+'" title="'+(null==(b=desc_status)?"":b)+'"></span>'+(null==(b=fullname)?"":b)+'</a>\n<a class="remove-xmpp-contact icon-remove" title="'+(null==(b=desc_remove)?"":b)+'" href="#"></a>\n';return a}});
  define("tpl!select_option",[],function(){return function(a){var b;with(a||{})a='<option value="'+(null==(b=value)?"":b)+'" ',selected&&(a+=' selected="selected" '),a+=" >"+(null==(b=label)?"":b)+"</option>\n";return a}});
  define("tpl!search_contact",[],function(){return function(a){var b;with(a||{})a='<li>\n    <form class="search-xmpp-contact">\n        <input type="text"\n            name="identifier"\n            class="username"\n            placeholder="'+(null==(b=label_contact_name)?"":b)+'"/>\n        <button type="submit">'+(null==(b=label_search)?"":b)+"</button>\n    </form>\n</li>\n";return a}});
  define("tpl!status_option",[],function(){return function(a){var b;with(a||{})a='<li>\n    <a href="#" class="'+(null==(b=value)?"":b)+'" data-value="'+(null==(b=value)?"":b)+'">\n        <span class="icon-'+(null==(b=value)?"":b)+'"></span>\n        '+(null==(b=text)?"":b)+"\n    </a>\n</li>\n";return a}});
  define("tpl!toggle_chats",[],function(){return function(a){var b;with(a||{})a=""+(null==(b=Minimized)?"":b)+' <span id="minimized-count">('+(null==(b=num_minimized)?"":b)+')</span>\n<span class="unread-message-count"\n    ',num_unread||(a+=' style="display: none" '),a+='\n    href="#">'+(null==(b=num_unread)?"":b)+"</span>\n";return a}});
  define("tpl!toolbar",[],function(){return function(a){var b;with(a||{})a="",show_emoticons&&(a+='\n    <li class="toggle-smiley icon-happy" title="Insert a smilery">\n        <ul>\n            <li><a class="icon-smiley" href="#" data-emoticon=":)"></a></li>\n            <li><a class="icon-wink" href="#" data-emoticon=";)"></a></li>\n            <li><a class="icon-grin" href="#" data-emoticon=":D"></a></li>\n            <li><a class="icon-tongue" href="#" data-emoticon=":P"></a></li>\n            <li><a class="icon-cool" href="#" data-emoticon="8)"></a></li>\n            <li><a class="icon-evil" href="#" data-emoticon=">:)"></a></li>\n            <li><a class="icon-confused" href="#" data-emoticon=":S"></a></li>\n            <li><a class="icon-wondering" href="#" data-emoticon=":\\"></a></li>\n            <li><a class="icon-angry" href="#" data-emoticon=">:("></a></li>\n            <li><a class="icon-sad" href="#" data-emoticon=":("></a></li>\n            <li><a class="icon-shocked" href="#" data-emoticon=":O"></a></li>\n            <li><a class="icon-thumbs-up" href="#" data-emoticon="(^.^)b"></a></li>\n            <li><a class="icon-heart" href="#" data-emoticon="<3"></a></li>\n        </ul>\n    </li>\n'),a+=
  "\n",show_call_button&&(a+='\n<li class="toggle-call"><a class="icon-phone" title="'+(null==(b=label_start_call)?"":b)+'"></a></li>\n'),a+="\n",show_participants_toggle&&(a+='\n<li class="toggle-participants"><a class="icon-hide-users" title="'+(null==(b=label_hide_participants)?"":b)+'"></a></li>\n'),a+="\n",show_clear_button&&(a+='\n<li class="toggle-clear"><a class="icon-remove" title="'+(null==(b=label_clear)?"":b)+'"></a></li>\n'),a+="\n",allow_otr&&(a+='\n    <li class="toggle-otr '+(null==
  (b=otr_status_class)?"":b)+'" title="'+(null==(b=otr_tooltip)?"":b)+'">\n        <span class="chat-toolbar-text">'+(null==(b=otr_translated_status)?"":b)+"</span>\n        ",otr_status==UNENCRYPTED&&(a+='\n            <span class="icon-unlocked"></span>\n        '),a+="\n        ",otr_status==UNVERIFIED&&(a+='\n            <span class="icon-lock"></span>\n        '),a+="\n        ",otr_status==VERIFIED&&(a+='\n            <span class="icon-lock"></span>\n        '),a+="\n        ",otr_status==FINISHED&&
  (a+='\n            <span class="icon-unlocked"></span>\n        '),a+="\n        <ul>\n            ",otr_status==UNENCRYPTED&&(a+='\n               <li><a class="start-otr" href="#">'+(null==(b=label_start_encrypted_conversation)?"":b)+"</a></li>\n            "),a+="\n            ",otr_status!=UNENCRYPTED&&(a+='\n               <li><a class="start-otr" href="#">'+(null==(b=label_refresh_encrypted_conversation)?"":b)+'</a></li>\n               <li><a class="end-otr" href="#">'+(null==(b=label_end_encrypted_conversation)?
  "":b)+'</a></li>\n               <li><a class="auth-otr" data-scheme="smp" href="#">'+(null==(b=label_verify_with_smp)?"":b)+"</a></li>\n            "),a+="\n            ",otr_status==UNVERIFIED&&(a+='\n               <li><a class="auth-otr" data-scheme="fingerprint" href="#">'+(null==(b=label_verify_with_fingerprints)?"":b)+"</a></li>\n            "),a+='\n            <li><a href="http://www.cypherpunks.ca/otr/help/3.2.0/levels.php" target="_blank">'+(null==(b=label_whats_this)?"":b)+"</a></li>\n        </ul>\n    </li>\n");
  return a+"\n"}});define("tpl!trimmed_chat",[],function(){return function(a){var b;with(a||{})a='<a class="close-chatbox-button icon-close"></a>\n<a class="chat-head-message-count" \n    ',num_unread||(a+=' style="display: none" '),a+='\n    href="#">'+(null==(b=num_unread)?"":b)+'</a>\n<a href="#" class="restore-chat" title="'+(null==(b=tooltip)?"":b)+'">\n    '+(null==(b=title)?"":b)+"\n</a>\n";return a}});
  define("tpl!form_textarea",[],function(){return function(a){var b;with(a||{})a='<label class="label-ta">'+(null==(b=label)?"":b)+'<textarea name="'+(null==(b=name)?"":b)+'">'+(null==(b=value)?"":b)+"</textarea></label>\n";return a}});
  define("converse-templates","tpl!action tpl!add_contact_dropdown tpl!add_contact_form tpl!change_status_message tpl!chat_status tpl!chatarea tpl!chatbox tpl!chatroom tpl!chatroom_password_form tpl!chatroom_sidebar tpl!chatrooms_tab tpl!chats_panel tpl!choose_status tpl!contacts_panel tpl!contacts_tab tpl!controlbox tpl!controlbox_toggle tpl!field tpl!form_checkbox tpl!form_input tpl!form_select tpl!group_header tpl!info tpl!login_panel tpl!login_tab tpl!message tpl!new_day tpl!occupant tpl!pending_contact tpl!pending_contacts tpl!requesting_contact tpl!requesting_contacts tpl!room_description tpl!room_item tpl!room_panel tpl!roster tpl!roster_item tpl!select_option tpl!search_contact tpl!status_option tpl!toggle_chats tpl!toolbar tpl!trimmed_chat tpl!form_textarea".split(" "),function(a,
  b,h,B,t,g,e,f,l,n,k,p,d,y,w,m,x,F,D,A,M,v,O,V,aa,ba,ka,fa,c,q,E,u,C,K,T,R,z,H,N,P,X,Z,ea,pa){return{action:a,add_contact_dropdown:b,add_contact_form:h,change_status_message:B,chat_status:t,chatarea:g,chatbox:e,chatroom:f,chatroom_password_form:l,chatroom_sidebar:n,chatrooms_tab:k,chats_panel:p,choose_status:d,contacts_panel:y,contacts_tab:w,controlbox:m,controlbox_toggle:x,field:F,form_checkbox:D,form_input:A,form_select:M,group_header:v,info:O,login_panel:V,login_tab:aa,message:ba,new_day:ka,occupant:fa,
  pending_contact:c,pending_contacts:q,requesting_contact:E,requesting_contacts:u,room_description:C,room_item:K,room_panel:T,roster:R,roster_item:z,select_option:H,search_contact:N,status_option:P,toggle_chats:X,toolbar:Z,trimmed_chat:ea,form_textarea:pa}});
  (function(a,b){"function"===typeof define&&define.amd?define("converse",["converse-dependencies","converse-templates"],function(h,B){var t=h.otr;return"undefined"!==typeof t?b(h.jQuery,_,t.OTR,t.DSA,B,h.moment,h.utils):b(h.jQuery,_,void 0,void 0,B,h.moment,h.utils)}):a.converse=b(jQuery,_,OTR,DSA,JST,moment,utils)})(this,function(a,b,h,B,t,g,e){if("undefined"===typeof console||"undefined"===typeof console.log)console={log:function(){},error:function(){}};b.templateSettings={evaluate:/\{\[([\s\S]+?)\]\}/g,
  interpolate:/\{\{([\s\S]+?)\}\}/g};var f=function(k,p){return function(d){if("object"===typeof k){var y=!1;b.each(k,function(w){y=y||-1!==d.get(w).toLowerCase().indexOf(p.toLowerCase())});return y}if("string"===typeof k)return-1!==d.get(k).toLowerCase().indexOf(p.toLowerCase());throw Error("Wrong attribute type. Must be string or array.");}};f.not=function(k,p){return function(d){return!f(k,p)(d)}};String.prototype.splitOnce=function(k){var p=this.split(k);return[p.shift(),p.join(k)]};a.fn.addEmoticons=
  function(){n.visible_toolbar_buttons.emoticons&&0<this.length&&this.each(function(k,p){k=a(p).html();k=k.replace(/&gt;:\)/g,'<span class="emoticon icon-evil"></span>');k=k.replace(/:\)/g,'<span class="emoticon icon-smiley"></span>');k=k.replace(/:\-\)/g,'<span class="emoticon icon-smiley"></span>');k=k.replace(/;\)/g,'<span class="emoticon icon-wink"></span>');k=k.replace(/;\-\)/g,'<span class="emoticon icon-wink"></span>');k=k.replace(/:D/g,'<span class="emoticon icon-grin"></span>');k=k.replace(/:\-D/g,
  '<span class="emoticon icon-grin"></span>');k=k.replace(/:P/g,'<span class="emoticon icon-tongue"></span>');k=k.replace(/:\-P/g,'<span class="emoticon icon-tongue"></span>');k=k.replace(/:p/g,'<span class="emoticon icon-tongue"></span>');k=k.replace(/:\-p/g,'<span class="emoticon icon-tongue"></span>');k=k.replace(/8\)/g,'<span class="emoticon icon-cool"></span>');k=k.replace(/:S/g,'<span class="emoticon icon-confused"></span>');k=k.replace(/:\\/g,'<span class="emoticon icon-wondering"></span>');
  k=k.replace(/:\/ /g,'<span class="emoticon icon-wondering"></span>');k=k.replace(/&gt;:\(/g,'<span class="emoticon icon-angry"></span>');k=k.replace(/:\(/g,'<span class="emoticon icon-sad"></span>');k=k.replace(/:\-\(/g,'<span class="emoticon icon-sad"></span>');k=k.replace(/:O/g,'<span class="emoticon icon-shocked"></span>');k=k.replace(/:\-O/g,'<span class="emoticon icon-shocked"></span>');k=k.replace(/=\-O/g,'<span class="emoticon icon-shocked"></span>');k=k.replace(/\(\^.\^\)b/g,'<span class="emoticon icon-thumbs-up"></span>');
  k=k.replace(/&lt;3/g,'<span class="emoticon icon-heart"></span>');a(p).html(k)});return this};var l=function(){if(n.play_sounds&&"undefined"!==typeof Audio){var k=new Audio("sounds/msg_received.ogg");k.canPlayType("/audio/ogg")||(k=new Audio("/sounds/msg_received.mp3"));k.play()}},n={plugins:{},templates:t,emit:function(k,p){a(this).trigger(k,p)},once:function(k,p){a(this).one(k,p)},on:function(k,p){a(this).bind(k,p)},off:function(k,p){a(this).unbind(k,p)},refreshWebkit:function(){if(a.browser.webkit){var k=
  document.getElementById("conversejs");k.style.display="none";k.offsetHeight=k.offsetHeight;k.style.display="block"}},initialize:function(k,p){var d=this,y={offline:6,unavailable:5,xa:4,away:3,dnd:2,online:1},w="undefined"!==typeof crypto&&("function"===typeof crypto.randomBytes||"function"===typeof crypto.getRandomValues)&&"undefined"!==typeof CryptoJS&&"undefined"!==typeof h&&"undefined"!==typeof B;this.animate=this.allow_otr=this.allow_muc=this.allow_logout=this.allow_dragresize=this.allow_contact_requests=
  !0;this.auto_subscribe=this.auto_reconnect=this.auto_list_rooms=!1;this.bosh_service_url=void 0;this.debug=this.cache_otr_key=!1;this.default_box_height=324;this.hide_offline_users=this.hide_muc_server=this.forward_messages=this.expose_rid_and_sid=!1;this.i18n=locales.en;this.show_only_online_users=this.show_controlbox_by_default=this.roster_groups=this.prebind=this.play_sounds=this.no_trimming=this.message_carbons=this.keepalive=!1;this.show_toolbar=!0;this.storage="session";this.use_otr_by_default=
  !1;this.use_vcards=!0;this.visible_toolbar_buttons={emoticons:!0,call:!1,clear:!0,toggle_participants:!0};this.xhr_custom_status=!1;this.xhr_custom_status_url="";this.xhr_user_search=!1;this.xhr_user_search_url="";b.extend(this,b.pick(k,"allow_contact_requests allow_dragresize allow_logout allow_muc allow_otr animate auto_list_rooms auto_reconnect auto_subscribe bosh_service_url cache_otr_key connection debug default_box_height expose_rid_and_sid forward_messages fullname hide_muc_server hide_offline_users i18n jid keepalive message_carbons no_trimming play_sounds prebind rid roster_groups show_controlbox_by_default show_only_online_users show_toolbar sid storage use_otr_by_default use_vcards xhr_custom_status xhr_custom_status_url xhr_user_search xhr_user_search_url".split(" ")));
  k.visible_toolbar_buttons&&b.extend(this.visible_toolbar_buttons,b.pick(k.visible_toolbar_buttons,["emoticons","call","clear","toggle_participants"]));a.fx.off=!this.animate;this.allow_otr=this.allow_otr&&w;this.use_otr_by_default=this.use_otr_by_default&&this.allow_otr;var m=a.proxy(e.__,this),x=e.___,F={0:"unencrypted",1:"unverified",2:"verified",3:"finished"},D={};D[0]=m("unencrypted");D[1]=m("unverified");D[2]=m("verified");D[3]=m("finished");var A={dnd:m("This contact is busy"),online:m("This contact is online"),
  offline:m("This contact is offline"),unavailable:m("This contact is unavailable"),xa:m("This contact is away for an extended period"),away:m("This contact is away")},M=m("Click to hide these contacts"),v=m("My contacts"),O=m("Pending contacts"),V=m("Contact requests"),aa=m("Ungrouped"),ba=m("Contacts"),ka=m("Groups"),fa={};fa[v]=0;fa[aa]=1;fa[V]=2;fa[O]=3;this.callback=p||function(){};this.msg_counter=this.initial_presence_sent=0;this.giveFeedback=function(c,q){a(".conn-feedback").attr("class","conn-feedback").text(c);
  q&&a(".conn-feedback").addClass(q)};this.log=function(c,q){this.debug&&("error"==q?console.log("ERROR: "+c):console.log(c))};this.getVCard=function(c,q,E){this.use_vcards?d.connection.vcard.get(a.proxy(function(u){var C=a(u).find("vCard");u=C.find("FN").text();var K=C.find("BINVAL").text(),T=C.find("TYPE").text();C=C.find("URL").text();if(c){var R=d.roster.get(c);R&&(u=b.isEmpty(u)?R.get("fullname")||c:u,R.save({fullname:u,image_type:T,image:K,url:C,vcard_updated:g().format()}))}q&&q(c,u,K,T,C)},
  this),c,function(u){var C=d.roster.get(c);C&&C.save({vcard_updated:g().format()});E&&E(c,u)}):q&&q(c,c)};this.reconnect=function(){d.giveFeedback(m("Reconnecting"),"error");d.emit("reconnect");d.prebind||this.connection.connect(this.connection.jid,this.connection.pass,function(c,q){d.onConnect(c,q,!0)},this.connection.wait,this.connection.hold,this.connection.route)};this.renderLoginPanel=function(){d._tearDown();var c=d.chatboxviews.get("controlbox");c.model.set({connected:!1});c.renderLoginPanel()};
  this.onConnect=function(c,q,E){c===Strophe.Status.CONNECTED||c===Strophe.Status.ATTACHED?"undefined"!==typeof E&&E?(d.log(c===Strophe.Status.CONNECTED?"Reconnected":"Reattached"),d.onReconnected()):(d.log(c===Strophe.Status.CONNECTED?"Connected":"Attached"),d.onConnected()):c===Strophe.Status.DISCONNECTED?(d.giveFeedback(m("Disconnected"),"error"),d.auto_reconnect?d.reconnect():d.renderLoginPanel()):c===Strophe.Status.Error?(d.renderLoginPanel(),d.giveFeedback(m("Error"),"error")):c===Strophe.Status.CONNECTING?
  d.giveFeedback(m("Connecting")):c===Strophe.Status.CONNFAIL?(d.renderLoginPanel(),d.giveFeedback(m("Connection Failed"),"error")):c===Strophe.Status.AUTHENTICATING?d.giveFeedback(m("Authenticating")):c===Strophe.Status.AUTHFAIL?(d.renderLoginPanel(),d.giveFeedback(m("Authentication Failed"),"error")):c===Strophe.Status.DISCONNECTING&&(d.connection.connected?d.giveFeedback(m("Disconnecting"),"error"):d.renderLoginPanel())};this.applyHeightResistance=function(c){return"undefined"===typeof c||c!==d.default_box_height&&
  10>Math.abs(c-d.default_box_height)?d.default_box_height:c};this.updateMsgCounter=function(){0<this.msg_counter?(-1==document.title.search(/^Messages \(\d+\) /)?document.title="Messages ("+this.msg_counter+") "+document.title:document.title=document.title.replace(/^Messages \(\d+\) /,"Messages ("+this.msg_counter+") "),window.blur(),window.focus()):-1!=document.title.search(/^Messages \(\d+\) /)&&(document.title=document.title.replace(/^Messages \(\d+\) /,""))};this.incrementMsgCounter=function(){this.msg_counter+=
  1;this.updateMsgCounter()};this.clearMsgCounter=function(){this.msg_counter=0;this.updateMsgCounter()};this.initStatus=function(c){this.xmppstatus=new this.XMPPStatus;var q=b64_sha1("converse.xmppstatus-"+d.bare_jid);this.xmppstatus.id=q;this.xmppstatus.browserStorage=new Backbone.BrowserStorage[d.storage](q);this.xmppstatus.fetch({success:c,error:c})};this.initSession=function(){this.session=new this.BOSHSession;var c=b64_sha1("converse.bosh-session");this.session.id=c;this.session.browserStorage=
  new Backbone.BrowserStorage[d.storage](c);this.session.fetch();a(window).on("beforeunload",a.proxy(function(){d.connection.connected?this.setSession():this.clearSession()},this))};this.clearSession=function(){this.roster.browserStorage._clear();this.session.browserStorage._clear();d.chatboxes.get("controlbox").save({connected:!1})};this.setSession=function(){this.keepalive&&this.session.save({jid:this.connection.jid,rid:this.connection._proto.rid,sid:this.connection._proto.sid})};this.logOut=function(){d.chatboxviews.closeAllChatBoxes(!1);
  d.clearSession();d.connection.disconnect();d.connection.reset()};this.registerGlobalEventHandlers=function(){a(document).click(function(){a(".toggle-otr ul").is(":visible")&&a(".toggle-otr ul",this).slideUp();a(".toggle-smiley ul").is(":visible")&&a(".toggle-smiley ul",this).slideUp()});a(document).on("mousemove",a.proxy(function(c){if(!this.resized_chatbox||!this.allow_dragresize)return!0;c.preventDefault();this.resized_chatbox.resizeChatBox(c)},this));a(document).on("mouseup",a.proxy(function(c){if(!this.resized_chatbox||
  !this.allow_dragresize)return!0;c.preventDefault();c=this.applyHeightResistance(this.resized_chatbox.height);this.connection.connected?this.resized_chatbox.model.save({height:c}):this.resized_chatbox.model.set({height:c});this.resized_chatbox=null},this));a(window).on("blur focus",a.proxy(function(c){this.windowState!=c.type&&"focus"==c.type&&d.clearMsgCounter();this.windowState=c.type},this));a(window).on("resize",b.debounce(a.proxy(function(c){this.chatboxviews.trimChats()},this),200))};this.onReconnected=
  function(){this.initStatus(a.proxy(function(){this.registerRosterXHandler();this.registerPresenceHandler();this.chatboxes.registerMessageHandler();d.xmppstatus.sendPresence();this.giveFeedback(m("Online Contacts"))},this))};this.enableCarbons=function(){if(this.message_carbons){var c=(new Strophe.Builder("iq",{from:this.connection.jid,id:"enablecarbons",type:"set"})).c("enable",{xmlns:"urn:xmpp:carbons:2"});this.connection.send(c);this.connection.addHandler(function(q){0<a(q).find("error").length?
  d.log("ERROR: An error occured while trying to enable message carbons."):d.log("Message carbons appear to have been enabled.")},null,"iq",null,"enablecarbons")}};this.onConnected=function(){this.debug&&(this.connection.xmlInput=function(c){console.log(c)},this.connection.xmlOutput=function(c){console.log(c)},Strophe.log=function(c,q){console.log(c+" "+q)},Strophe.error=function(c){console.log("ERROR: "+c)});this.chatboxviews.closeAllChatBoxes();this.setSession();this.jid=this.connection.jid;this.bare_jid=
  Strophe.getBareJidFromJid(this.connection.jid);this.domain=Strophe.getDomainFromJid(this.connection.jid);this.minimized_chats=new d.MinimizedChats({model:this.chatboxes});this.features=new this.Features;this.enableCarbons();this.initStatus(a.proxy(function(){this.chatboxes.onConnected();this.giveFeedback(m("Online Contacts"));this.callback&&("jasmine tests"===this.connection.service?this.callback(this):this.callback())},this));d.emit("ready")};this.OTR=Backbone.Model.extend({getSessionPassphrase:function(){if(d.prebind){var c=
  b64_sha1(d.connection.jid),q=window.sessionStorage[c];"undefined"===typeof q&&(q=Math.floor(4294967295*Math.random()).toString(),window.sessionStorage[c]=q);return q}return d.connection.pass},generatePrivateKey:function(){var c=new B,q=d.connection.jid;if(d.cache_otr_key){var E=CryptoJS.lib.PasswordBasedCipher,u=this.getSessionPassphrase();"undefined"!==typeof u&&(window.sessionStorage[b64_sha1(q+"priv_key")]=E.encrypt(CryptoJS.algo.AES,c.packPrivate(),u).toString(),window.sessionStorage[b64_sha1(q+
  "instance_tag")]=instance_tag,window.sessionStorage[b64_sha1(q+"pass_check")]=E.encrypt(CryptoJS.algo.AES,"match",u).toString())}return c}});this.Message=Backbone.Model;this.Messages=Backbone.Collection.extend({model:d.Message});this.ChatBox=Backbone.Model.extend({initialize:function(){var c=d.applyHeightResistance(this.get("height"));"controlbox"!==this.get("box_id")?(this.messages=new d.Messages,this.messages.browserStorage=new Backbone.BrowserStorage[d.storage](b64_sha1("converse.messages"+this.get("jid")+
  d.bare_jid)),this.save({box_id:b64_sha1(this.get("jid")),height:c,minimized:this.get("minimized")||!1,otr_status:this.get("otr_status")||0,time_minimized:this.get("time_minimized")||g(),time_opened:this.get("time_opened")||g().valueOf(),user_id:Strophe.getNodeFromJid(this.get("jid")),num_unread:this.get("num_unread")||0,url:""})):this.set({height:c,time_opened:g(0).valueOf(),num_unread:this.get("num_unread")||0})},maximize:function(){this.save({minimized:!1,time_opened:g().valueOf()})},minimize:function(){this.save({minimized:!0,
  time_minimized:g().format()})},getSession:function(c){var q=CryptoJS.lib.PasswordBasedCipher;if(d.cache_otr_key){var E=d.otr.getSessionPassphrase();if("undefined"!==typeof E){var u=window.sessionStorage[b64_sha1(this.id+"instance_tag")];var C=window.sessionStorage[b64_sha1(this.id+"priv_key")];var K=window.sessionStorage[b64_sha1(this.connection.jid+"pass_check")];if(C&&u&&"undefined"!==typeof K&&(C=q.decrypt(CryptoJS.algo.AES,C,E),C=B.parsePrivate(C.toString(CryptoJS.enc.Latin1)),"match"===q.decrypt(CryptoJS.algo.AES,
  K,E).toString(CryptoJS.enc.Latin1))){this.trigger("showHelpMessages",[m("Re-establishing encrypted session")]);c({key:C,instance_tag:u});return}}}this.trigger("showHelpMessages",[m("Generating private key."),m("Your browser might become unresponsive.")],null,!0);setTimeout(function(){c({key:d.otr.generatePrivateKey.apply(this),instance_tag:h.makeInstanceTag()})},500)},updateOTRStatus:function(c){switch(c){case h.CONST.STATUS_AKE_SUCCESS:this.otr.msgstate===h.CONST.MSGSTATE_ENCRYPTED&&this.save({otr_status:1});
  break;case h.CONST.STATUS_END_OTR:this.otr.msgstate===h.CONST.MSGSTATE_FINISHED?this.save({otr_status:3}):this.otr.msgstate===h.CONST.MSGSTATE_PLAINTEXT&&this.save({otr_status:0})}},onSMP:function(c,q){switch(c){case "question":this.otr.smpSecret(prompt(m("Authentication request from %1$s\n\nYour chat contact is attempting to verify your identity, by asking you the question below.\n\n%2$s",[this.get("fullname"),q])));break;case "trust":!0===q?this.save({otr_status:2}):(this.trigger("showHelpMessages",
  [m("Could not verify this user's identify.")],"error"),this.save({otr_status:1}));break;default:throw Error("Unknown type.");}},initiateOTR:function(c){this.save({otr_status:0});this.getSession(a.proxy(function(q){this.otr=new h({fragment_size:140,send_interval:200,priv:q.key,instance_tag:q.instance_tag,debug:this.debug});this.otr.on("status",a.proxy(this.updateOTRStatus,this));this.otr.on("smp",a.proxy(this.onSMP,this));this.otr.on("ui",a.proxy(function(E){this.trigger("showReceivedOTRMessage",E)},
  this));this.otr.on("io",a.proxy(function(E){this.trigger("sendMessageStanza",E)},this));this.otr.on("error",a.proxy(function(E){this.trigger("showOTRError",E)},this));this.trigger("showHelpMessages",[m("Exchanging private key with contact.")]);c?this.otr.receiveMsg(c):this.otr.sendQueryMsg()},this))},endOTR:function(){this.otr&&this.otr.endOtr();this.save({otr_status:0})},createMessage:function(c){var q=c.children("body").text(),E=c.find("composing"),u=c.find("paused"),C=0<c.find("delay").length,
  K=this.get("fullname"),T="groupchat"===c.attr("type"),R=c.attr("id");var z=T?Strophe.unescapeNode(Strophe.getResourceFromJid(c.attr("from"))):Strophe.getBareJidFromJid(c.attr("from"));K=(b.isEmpty(K)?z:K).split(" ")[0];q?(c=C?c.find("delay").attr("stamp"):g().format(),T=T&&z===this.get("nick")||!T&&z==d.bare_jid?"me":"them",this.messages.create({fullname:K,sender:T,delayed:C,time:c,message:q,msgid:R})):(E.length||u.length)&&this.messages.add({fullname:K,sender:"them",delayed:C,time:g().format(),composing:E.length,
  paused:u.length})},receiveMessage:function(c){var q=c.children("body");q=0<q.length?q.text():void 0;if(!q||!d.allow_otr)return this.createMessage(c);q.match(/^\?OTRv23?/)?this.initiateOTR(q):b.contains([1,2],this.get("otr_status"))?this.otr.receiveMsg(q):q.match(/^\?OTR/)?this.otr?this.otr.receiveMsg(q):this.initiateOTR(q):this.createMessage(c)}});this.ChatBoxView=Backbone.View.extend({length:200,tagName:"div",className:"chatbox",is_chatroom:!1,events:{"click .close-chatbox-button":"close","click .toggle-chatbox-button":"minimize",
  "keypress textarea.chat-textarea":"keyPressed","click .toggle-smiley":"toggleEmoticonMenu","click .toggle-smiley ul li":"insertEmoticon","click .toggle-clear":"clearMessages","click .toggle-otr":"toggleOTRMenu","click .start-otr":"startOTRFromToolbar","click .end-otr":"endOTR","click .auth-otr":"authOTR","click .toggle-call":"toggleCall","mousedown .dragresize-tm":"onDragResizeStart"},initialize:function(){this.model.messages.on("add",this.onMessageAdded,this);this.model.on("show",this.show,this);
  this.model.on("destroy",this.hide,this);this.model.on("change",this.onChange,this);this.model.on("showOTRError",this.showOTRError,this);this.model.on("buddyStartsOTR",this.buddyStartsOTR,this);this.model.on("showHelpMessages",this.showHelpMessages,this);this.model.on("sendMessageStanza",this.sendMessageStanza,this);this.model.on("showSentOTRMessage",function(c){this.showMessage({message:c,sender:"me"})},this);this.model.on("showReceivedOTRMessage",function(c){this.showMessage({message:c,sender:"them"})},
  this);this.updateVCard();this.$el.insertAfter(d.chatboxviews.get("controlbox").$el);this.render().model.messages.fetch({add:!0});this.model.get("minimized")?this.hide():this.show();(b.contains([1,2],this.model.get("otr_status"))||d.use_otr_by_default)&&this.model.initiateOTR()},render:function(){this.$el.attr("id",this.model.get("box_id")).html(d.templates.chatbox(b.extend(this.model.toJSON(),{show_toolbar:d.show_toolbar,label_personal_message:m("Personal message")})));this.renderToolbar().renderAvatar();
  d.emit("chatBoxOpened",this);setTimeout(function(){d.refreshWebkit()},50);return this.showStatusMessage()},initDragResize:function(){this.prev_pageY=0;d.connection.connected&&(this.height=this.model.get("height"));return this},showStatusNotification:function(c,q){var E=this.$el.find(".chat-content");q||E.find("div.chat-event").remove();E.append(a('<div class="chat-event"></div>').text(c));this.scrollDown()},clearChatRoomMessages:function(c){"undefined"!==typeof c&&c.stopPropagation();!0===confirm(m("Are you sure you want to clear the messages from this room?"))&&
  this.$el.find(".chat-content").empty();return this},showMessage:function(c){var q=this.$el.find(".chat-content"),E=g(c.time)||g,u=c.message,C=u.match(/^\/(.*?)(?: (.*))?$/),K=this.model.get("fullname"),T=c.delayed&&"delayed"||"";C&&"me"===C[1]?(u=u.replace(/^\/me/,""),C=d.templates.action):(C=d.templates.message,K="me"===c.sender&&m("me")||K);q.find("div.chat-event").remove();this.is_chatroom&&"them"==c.sender&&(new RegExp("\\b"+this.model.get("nick")+"\\b")).test(u)&&(T+=" mentioned");c=C({sender:c.sender,
  time:E.format("hh:mm"),username:K,message:"",extra_classes:T});q.append(a(c).children(".chat-message-content").first().text(u).addHyperlinks().addEmoticons().parent());this.scrollDown()},showHelpMessages:function(c,q,E){var u=this.$el.find(".chat-content"),C,K=c.length;for(C=0;C<K;C++)u.append(a('<div class="chat-'+(q||"info")+'">'+c[C]+"</div>"));!0===E?u.append('<span class="spinner"/>'):!1===E&&u.find("span.spinner").remove();return this.scrollDown()},onMessageAdded:function(c){var q=c.get("time"),
  E=this.model.messages.pluck("time");E=b.indexOf(E,q)-1;0<=E&&(E=this.model.messages.at(E),E=g(E.get("time")),E.isBefore(q,"day")&&(q=g(q),this.$el.find(".chat-content").append(d.templates.new_day({isodate:q.format("YYYY-MM-DD"),datestring:q.format("dddd MMM Do YYYY")}))));if(c.get("composing"))this.showStatusNotification(c.get("fullname")+" "+m("is typing"));else if(c.get("paused"))this.showStatusNotification(c.get("fullname")+" "+m("has stopped typing"));else return this.showMessage(b.clone(c.attributes)),
  "me"!=c.get("sender")&&"blur"==d.windowState&&d.incrementMsgCounter(),this.scrollDown()},sendMessageStanza:function(c){var q=(new Date).getTime(),E=this.model.get("jid");c=$msg({from:d.connection.jid,to:E,type:"chat",id:q}).c("body").t(c).up().c("active",{xmlns:"http://jabber.org/protocol/chatstates"});d.connection.send(c);d.forward_messages&&(q=$msg({to:d.bare_jid,type:"chat",id:q}).c("forwarded",{xmlns:"urn:xmpp:forward:0"}).c("delay",{xmns:"urn:xmpp:delay",stamp:q}).up().cnode(c.tree()),d.connection.send(q))},
  sendMessage:function(c){var q=c.replace(/^\s*/,"").match(/^\/(.*)\s*$/);if(q){if("clear"===q[1])return this.clearMessages();if("help"===q[1]){c=["<strong>/help</strong>:"+m("Show this menu"),"<strong>/me</strong>:"+m("Write in the third person"),"<strong>/clear</strong>:"+m("Remove messages")];this.showHelpMessages(c);return}if(d.allow_otr&&"endotr"===q[1])return this.endOTR();if(d.allow_otr&&"otr"===q[1])return this.model.initiateOTR()}b.contains([1,2],this.model.get("otr_status"))?(this.model.otr.sendMsg(c),
  this.model.trigger("showSentOTRMessage",c)):(q=d.xmppstatus.get("fullname"),q=b.isEmpty(q)?d.bare_jid:q,this.model.messages.create({fullname:q,sender:"me",time:g().format(),message:c}),this.sendMessageStanza(c))},keyPressed:function(c){var q=a(c.target);13==c.keyCode?(c.preventDefault(),c=q.val(),q.val("").focus(),""!==c&&(this.model.get("chatroom")?this.sendChatRoomMessage(c):this.sendMessage(c),d.emit("messageSend",c)),this.$el.data("composing",!1)):this.model.get("chatroom")||(q=this.$el.data("composing"),
  q||(47!=c.keyCode&&(c=$msg({to:this.model.get("jid"),type:"chat"}).c("composing",{xmlns:"http://jabber.org/protocol/chatstates"}),d.connection.send(c)),this.$el.data("composing",!0)))},onDragResizeStart:function(c){if(!d.allow_dragresize)return!0;this.height=this.$el.children(".box-flyout").height();d.resized_chatbox=this;this.prev_pageY=c.pageY},setChatBoxHeight:function(c){this.model.get("minimized")||(this.$el.children(".box-flyout")[0].style.height=d.applyHeightResistance(c)+"px")},resizeChatBox:function(c){var q=
  c.pageY-this.prev_pageY;q&&(this.height-=q,this.prev_pageY=c.pageY,this.setChatBoxHeight(this.height))},clearMessages:function(c){c&&c.preventDefault&&c.preventDefault();!0===confirm(m("Are you sure you want to clear the messages from this chat box?"))&&(this.$el.find(".chat-content").empty(),this.model.messages.reset(),this.model.messages.browserStorage._clear());return this},insertEmoticon:function(c){c.stopPropagation();this.$el.find(".toggle-smiley ul").slideToggle(200);var q=this.$el.find("textarea.chat-textarea"),
  E=q.val();c=a(c.target);c=c.is("a")?c:c.children("a");E&&" "!==E[E.length-1]&&(E+=" ");q.focus().val(E+c.data("emoticon")+" ")},toggleEmoticonMenu:function(c){c.stopPropagation();this.$el.find(".toggle-smiley ul").slideToggle(200)},toggleOTRMenu:function(c){c.stopPropagation();this.$el.find(".toggle-otr ul").slideToggle(200)},showOTRError:function(c){"Message cannot be sent at this time."==c?this.showHelpMessages([m("Your message could not be sent")],"error"):"Received an unencrypted message."==c?
  this.showHelpMessages([m("We received an unencrypted message")],"error"):"Received an unreadable encrypted message."==c?this.showHelpMessages([m("We received an unreadable encrypted message")],"error"):this.showHelpMessages(["Encryption error occured: "+c],"error");console.log("OTR ERROR:"+c)},buddyStartsOTR:function(c){this.showHelpMessages([m("This user has requested an encrypted session.")]);this.model.initiateOTR()},startOTRFromToolbar:function(c){a(c.target).parent().parent().slideUp();c.stopPropagation();
  this.model.initiateOTR()},endOTR:function(c){"undefined"!==typeof c&&(c.preventDefault(),c.stopPropagation());this.model.endOTR()},authOTR:function(c){c=a(c.target).data().scheme;if("fingerprint"===c)c=confirm(m("Here are the fingerprints, please confirm them with %1$s, outside of this chat.\n\nFingerprint for you, %2$s: %3$s\n\nFingerprint for %1$s: %4$s\n\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.",[this.model.get("fullname"),d.xmppstatus.get("fullname")||
  d.bare_jid,this.model.otr.priv.fingerprint(),this.model.otr.their_priv_pk.fingerprint()])),!0===c?this.model.save({otr_status:2}):this.model.save({otr_status:1});else if("smp"===c){if(alert(m("You will be prompted to provide a security question and then an answer to that question.\n\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.")),c=prompt(m("What is your security question?"))){var q=prompt(m("What is the answer to the security question?"));
  this.model.otr.smpSecret(q,c)}}else this.showHelpMessages([m("Invalid authentication scheme provided")],"error")},toggleCall:function(c){c.stopPropagation();d.emit("callButtonClicked",{connection:d.connection,model:this.model})},onChange:function(c,q){if(b.has(c.changed,"chat_status")){q=c.get("chat_status");var E=c.get("fullname");E=b.isEmpty(E)?c.get("jid"):E;this.$el.is(":visible")&&("offline"===q?this.showStatusNotification(E+" has gone offline"):"away"===q?this.showStatusNotification(E+" has gone away"):
  "dnd"===q?this.showStatusNotification(E+" is busy"):"online"===q&&this.$el.find("div.chat-event").remove());d.emit("contactStatusChanged",c.attributes,c.get("chat_status"));d.emit("buddyStatusChanged",c.attributes,c.get("chat_status"))}b.has(c.changed,"status")&&(this.showStatusMessage(),d.emit("contactStatusMessageChanged",c.attributes,c.get("status")),d.emit("buddyStatusMessageChanged",c.attributes,c.get("status")));b.has(c.changed,"image")&&this.renderAvatar();b.has(c.changed,"otr_status")&&this.renderToolbar().informOTRChange();
  b.has(c.changed,"minimized")&&(c.get("minimized")?this.hide():this.maximize())},showStatusMessage:function(c){c=c||this.model.get("status");"string"===typeof c&&this.$el.find("p.user-custom-message").text(c).attr("title",c);return this},close:function(c){c&&c.preventDefault&&c.preventDefault();d.connection.connected?this.model.destroy():this.model.trigger("hide");d.emit("chatBoxClosed",this);return this},maximize:function(){this.$el.insertAfter(d.chatboxviews.get("controlbox").$el).show("fast",a.proxy(function(){d.refreshWebkit();
  this.focus();d.emit("chatBoxMaximized",this)},this))},minimize:function(c){c&&c.preventDefault&&c.preventDefault();this.model.minimize();this.$el.hide("fast",d.refreshwebkit);d.emit("chatBoxMinimized",this)},updateVCard:function(){var c=this.model.get("jid"),q=d.roster.get(c);q&&!q.get("vcard_updated")&&d.getVCard(c,a.proxy(function(E,u,C,K,T){this.model.save({fullname:u||E,url:T,image_type:K,image:C})},this),a.proxy(function(E){d.log("ChatBoxView.initialize: An error occured while fetching vcard")},
  this))},informOTRChange:function(){var c=this.model.toJSON(),q=[];0==c.otr_status?q.push(m("Your messages are not encrypted anymore")):1==c.otr_status?q.push(m("Your messages are now encrypted but your contact's identity has not been verified.")):2==c.otr_status?q.push(m("Your contact's identify has been verified.")):3==c.otr_status&&q.push(m("Your contact has ended encryption on their end, you should do the same."));return this.showHelpMessages(q,"info",!1)},renderToolbar:function(){if(d.show_toolbar){var c=
  this.model.toJSON();0==c.otr_status?c.otr_tooltip=m("Your messages are not encrypted. Click here to enable OTR encryption."):1==c.otr_status?c.otr_tooltip=m("Your messages are encrypted, but your contact has not been verified."):2==c.otr_status?c.otr_tooltip=m("Your messages are encrypted and your contact verified."):3==c.otr_status&&(c.otr_tooltip=m("Your contact has closed their end of the private session, you should do the same"));this.$el.find(".chat-toolbar").html(d.templates.toolbar(b.extend(c,
  {FINISHED:3,UNENCRYPTED:0,UNVERIFIED:1,VERIFIED:2,allow_otr:d.allow_otr&&!this.is_chatroom,label_clear:m("Clear all messages"),label_end_encrypted_conversation:m("End encrypted conversation"),label_hide_participants:m("Hide the list of participants"),label_refresh_encrypted_conversation:m("Refresh encrypted conversation"),label_start_call:m("Start a call"),label_start_encrypted_conversation:m("Start encrypted conversation"),label_verify_with_fingerprints:m("Verify with fingerprints"),label_verify_with_smp:m("Verify with SMP"),
  label_whats_this:m("What's this?"),otr_status_class:F[c.otr_status],otr_translated_status:D[c.otr_status],show_call_button:d.visible_toolbar_buttons.call,show_clear_button:d.visible_toolbar_buttons.clear,show_emoticons:d.visible_toolbar_buttons.emoticons,show_participants_toggle:this.is_chatroom&&d.visible_toolbar_buttons.toggle_participants})))}return this},renderAvatar:function(){if(this.model.get("image")){var c="data:"+this.model.get("image_type")+";base64,"+this.model.get("image"),q=a('<canvas height="31px" width="31px" class="avatar"></canvas>').get(0);
  if(!q.getContext||!q.getContext("2d"))return this;var E=q.getContext("2d"),u=new Image;u.onload=function(){E.drawImage(u,0,0,u.width/u.height*35,35)};u.src=c;this.$el.find(".chat-title").before(q);return this}},focus:function(){this.$el.find(".chat-textarea").focus();d.emit("chatBoxFocused",this);return this},hide:function(){this.$el.is(":visible")&&"1"==this.$el.css("opacity")&&(this.$el.hide(),d.refreshWebkit());return this},show:function(c){if(this.$el.is(":visible")&&"1"==this.$el.css("opacity"))return this.focus();
  this.$el.fadeIn(c);d.connection.connected&&(this.model.save(),this.initDragResize());return this},scrollDown:function(){var c=this.$(".chat-content");c.is(":visible")&&c.scrollTop(c[0].scrollHeight);return this}});this.ContactsPanel=Backbone.View.extend({tagName:"div",className:"controlbox-pane",id:"users",events:{"click a.toggle-xmpp-contact-form":"toggleContactForm","submit form.add-xmpp-contact":"addContactFromForm","submit form.search-xmpp-contact":"searchContacts","click a.subscribe-to-user":"addContactFromList"},
  initialize:function(c){c.$parent.append(this.$el);this.$tabs=c.$parent.parent().find("#controlbox-tabs")},render:function(){var c=d.templates.contacts_panel({label_online:m("Online"),label_busy:m("Busy"),label_away:m("Away"),label_offline:m("Offline"),label_logout:m("Log out"),allow_logout:d.allow_logout});this.$tabs.append(d.templates.contacts_tab({label_contacts:ba}));var q=d.xhr_user_search?d.templates.search_contact({label_contact_name:m("Contact name"),label_search:m("Search")}):d.templates.add_contact_form({label_contact_username:m("Contact username"),
  label_add:m("Add")});d.allow_contact_requests&&(c+=d.templates.add_contact_dropdown({label_click_to_chat:m("Click to add new chat contacts"),label_add_contact:m("Add a contact")}));this.$el.html(c);this.$el.find(".search-xmpp ul").append(q);return this},toggleContactForm:function(c){c.preventDefault();this.$el.find(".search-xmpp").toggle("fast",function(){a(this).is(":visible")&&a(this).find("input.username").focus()})},searchContacts:function(c){c.preventDefault();a.getJSON(d.xhr_user_search_url+
  "?q="+a(c.target).find("input.username").val(),function(q){var E=a(".search-xmpp ul");E.find("li.found-user").remove();E.find("li.chat-info").remove();q.length||E.append('<li class="chat-info">'+m("No users found")+"</li>");a(q).each(function(u,C){E.append(a('<li class="found-user"></li>').append(a('<a class="subscribe-to-user" href="#" title="'+m("Click to add as a chat contact")+'"></a>').attr("data-recipient",Strophe.escapeNode(C.id)+"@"+d.domain).text(C.fullname)))})})},addContactFromForm:function(c){c.preventDefault();
  c=a(c.target).find("input");var q=c.val();q?(this.addContact(q),a(".search-xmpp").hide()):c.addClass("error")},addContactFromList:function(c){c.preventDefault();c=a(c.target);var q=c.attr("data-recipient"),E=c.text();this.addContact(q,E);c.parent().remove();a(".search-xmpp").hide()},addContact:function(c,q){q=b.isEmpty(q)?c:q;d.connection.roster.add(c,q,[],function(E){d.connection.roster.subscribe(c,null,d.xmppstatus.get("fullname"))})}});this.RoomsPanel=Backbone.View.extend({tagName:"div",id:"chatrooms",
  events:{"submit form.add-chatroom":"createChatRoom","click input#show-rooms":"showRooms","click a.open-room":"createChatRoom","click a.room-info":"showRoomInfo","change input[name=server]":"setDomain","change input[name=nick]":"setNick"},initialize:function(c){this.$parent=c.$parent;this.model.on("change:muc_domain",this.onDomainChange,this);this.model.on("change:nick",this.onNickChange,this)},render:function(){this.$parent.append(this.$el.html(d.templates.room_panel({server_input_type:d.hide_muc_server&&
  "hidden"||"text",label_room_name:m("Room name"),label_nickname:m("Nickname"),label_server:m("Server"),label_join:m("Join"),label_show_rooms:m("Show rooms")})).hide());this.$tabs=this.$parent.parent().find("#controlbox-tabs");this.$tabs.append(d.templates.chatrooms_tab({label_rooms:m("Rooms")}));return this},onDomainChange:function(c){this.$el.find("input.new-chatroom-server").val(c.get("muc_domain"));d.auto_list_rooms&&this.updateRoomsList()},onNickChange:function(c){this.$el.find("input.new-chatroom-nick").val(c.get("nick"))},
  informNoRoomsFound:function(){this.$el.find("#available-chatrooms").html("<dt>"+m("No rooms on %1$s",this.model.get("muc_domain"))+"</dt>");a("input#show-rooms").show().siblings("span.spinner").remove()},updateRoomsList:function(){d.connection.muc.listRooms(this.model.get("muc_domain"),a.proxy(function(c){var q,E=this.$el.find("#available-chatrooms");this.rooms=a(c).find("query").find("item");if(this.rooms.length){E.html("<dt>"+m("Rooms on %1$s",this.model.get("muc_domain"))+"</dt>");var u=document.createDocumentFragment();
  for(q=0;q<this.rooms.length;q++){c=Strophe.unescapeNode(a(this.rooms[q]).attr("name")||a(this.rooms[q]).attr("jid"));var C=a(this.rooms[q]).attr("jid");u.appendChild(a(d.templates.room_item({name:c,jid:C,open_title:m("Click to open this room"),info_title:m("Show more information on this room")}))[0])}E.append(u);a("input#show-rooms").show().siblings("span.spinner").remove()}else this.informNoRoomsFound();return!0},this),a.proxy(function(c){this.informNoRoomsFound()},this))},showRooms:function(c){c=
  this.$el.find("#available-chatrooms");var q=this.$el.find("input.new-chatroom-server"),E=q.val();E?(this.$el.find("input.new-chatroom-name").removeClass("error"),q.removeClass("error"),c.empty(),a("input#show-rooms").hide().after('<span class="spinner"/>'),this.model.save({muc_domain:E}),this.updateRoomsList()):q.addClass("error")},showRoomInfo:function(c){c=c.target;var q=a(c).parent("dd"),E=q.find("div.room-info");E.length?E.remove():(q.find("span.spinner").remove(),q.append('<span class="spinner hor_centered"/>'),
  d.connection.disco.info(a(c).attr("data-room-jid"),null,a.proxy(function(u){u=a(u);q.find("span.spinner").replaceWith(d.templates.room_description({desc:u.find('field[var="muc#roominfo_description"] value').text(),occ:u.find('field[var="muc#roominfo_occupants"] value').text(),hidden:u.find('feature[var="muc_hidden"]').length,membersonly:u.find('feature[var="muc_membersonly"]').length,moderated:u.find('feature[var="muc_moderated"]').length,nonanonymous:u.find('feature[var="muc_nonanonymous"]').length,
  open:u.find('feature[var="muc_open"]').length,passwordprotected:u.find('feature[var="muc_passwordprotected"]').length,persistent:u.find('feature[var="muc_persistent"]').length,publicroom:u.find('feature[var="muc_public"]').length,semianonymous:u.find('feature[var="muc_semianonymous"]').length,temporary:u.find('feature[var="muc_temporary"]').length,unmoderated:u.find('feature[var="muc_unmoderated"]').length,label_desc:m("Description:"),label_occ:m("Occupants:"),label_features:m("Features:"),label_requires_auth:m("Requires authentication"),
  label_hidden:m("Hidden"),label_requires_invite:m("Requires an invitation"),label_moderated:m("Moderated"),label_non_anon:m("Non-anonymous"),label_open_room:m("Open room"),label_permanent_room:m("Permanent room"),label_public:m("Public"),label_semi_anon:b("Semi-anonymous"),label_temp_room:b("Temporary room"),label_unmoderated:m("Unmoderated")}))},this)))},createChatRoom:function(c){c.preventDefault();var q=this.$el.find("input.new-chatroom-nick");var E=q.val();E?q.removeClass("error"):q.addClass("error");
  if("click"===c.type)var u=a(c.target).attr("data-room-jid");else{c=this.$el.find("input.new-chatroom-name");var C=this.$el.find("input.new-chatroom-server");q=C.val();u=c.val().trim().toLowerCase();c.val("");if(u&&q)u=Strophe.escapeNode(u)+"@"+q,c.removeClass("error"),C.removeClass("error"),this.model.save({muc_domain:q});else{u||c.addClass("error");q||C.addClass("error");return}}E&&d.chatboxviews.showChat({id:u,jid:u,name:Strophe.unescapeNode(Strophe.getNodeFromJid(u)),nick:E,chatroom:!0,box_id:b64_sha1(u)})},
  setDomain:function(c){this.model.save({muc_domain:c.target.value})},setNick:function(c){this.model.save({nick:c.target.value})}});this.ControlBoxView=d.ChatBoxView.extend({tagName:"div",className:"chatbox",id:"controlbox",events:{"click a.close-chatbox-button":"close","click ul#controlbox-tabs li a":"switchTab","mousedown .dragresize-tm":"onDragResizeStart"},initialize:function(){this.$el.insertAfter(d.controlboxtoggle.$el);this.model.on("change:connected",this.onConnected,this);this.model.on("destroy",
  this.hide,this);this.model.on("hide",this.hide,this);this.model.on("show",this.show,this);this.model.on("change:closed",this.ensureClosedState,this);this.render();this.model.get("connected")&&this.initRoster();this.model.get("closed")?this.hide():this.show()},onConnected:function(){if(this.model.get("connected")){this.render().initRoster();d.features.off("add",this.featureAdded,this);d.features.on("add",this.featureAdded,this);var c=d.features.findWhere({"var":"http://jabber.org/protocol/muc"});c&&
  this.featureAdded(c)}},initRoster:function(){d.roster=new d.RosterContacts;d.roster.browserStorage=new Backbone.BrowserStorage[d.storage](b64_sha1("converse.contacts-"+d.bare_jid));var c=new d.RosterGroups;c.browserStorage=new Backbone.BrowserStorage[d.storage](b64_sha1("converse.roster.groups"+d.bare_jid));d.rosterview=new d.RosterView({model:c});this.contactspanel.$el.append(d.rosterview.$el);d.rosterview.render().fetch().update();return this},render:function(){d.connection.connected&&d.connection.authenticated&&
  !d.connection.disconnecting?this.contactspanel&&this.contactspanel.$el.is(":visible")||this.renderContactsPanel():this.renderLoginPanel();return this},renderLoginPanel:function(){this.$el.html(d.templates.controlbox(this.model.toJSON()));var c={$parent:this.$el.find(".controlbox-panes"),model:this};this.loginpanel?this.loginpanel.delegateEvents().initialize(c):this.loginpanel=new d.LoginPanel(c);this.loginpanel.render();this.initDragResize()},renderContactsPanel:function(){this.$el.html(d.templates.controlbox(this.model.toJSON()));
  this.contactspanel=new d.ContactsPanel({$parent:this.$el.find(".controlbox-panes")});this.contactspanel.render();d.xmppstatusview=new d.XMPPStatusView({model:d.xmppstatus});d.xmppstatusview.render();d.allow_muc&&(this.roomspanel=new d.RoomsPanel({$parent:this.$el.find(".controlbox-panes"),model:new (Backbone.Model.extend({id:b64_sha1("converse.roomspanel"+d.bare_jid),browserStorage:new Backbone.BrowserStorage[d.storage](b64_sha1("converse.roomspanel"+d.bare_jid))}))}),this.roomspanel.render().model.fetch(),
  this.roomspanel.model.get("nick")||this.roomspanel.model.save({nick:Strophe.getNodeFromJid(d.bare_jid)}));this.initDragResize()},close:function(c){c&&c.preventDefault&&c.preventDefault();d.connection.connected?this.model.save({closed:!0}):this.model.trigger("hide");d.emit("controlBoxClosed",this);return this},ensureClosedState:function(){this.model.get("closed")?this.hide():this.show()},hide:function(c){this.$el.hide("fast",function(){d.refreshWebkit();d.emit("chatBoxClosed",this);d.controlboxtoggle.show(function(){"function"===
  typeof c&&c()})});return this},show:function(){d.controlboxtoggle.hide(a.proxy(function(){this.$el.show("fast",function(){d.rosterview&&d.rosterview.update();d.refreshWebkit()}.bind(this));d.emit("controlBoxOpened",this)},this));return this},featureAdded:function(c){"http://jabber.org/protocol/muc"==c.get("var")&&d.allow_muc&&(this.roomspanel.model.save({muc_domain:c.get("from")}),c=this.$el.find("input.new-chatroom-server"),c.is(":focus")||c.val(this.roomspanel.model.get("muc_domain")))},switchTab:function(c){c.preventDefault();
  c=a(c.target);var q=c.parent().siblings("li").children("a"),E=a(c.attr("href"));a(q.attr("href")).hide();q.removeClass("current");c.addClass("current");E.show()},showHelpMessages:function(c){}});this.ChatRoomOccupant=Backbone.Model;this.ChatRoomOccupantView=Backbone.View.extend({tagName:"li",initialize:function(){this.model.on("change",this.render,this);this.model.on("destroy",this.destroy,this)},render:function(){var c=d.templates.occupant(b.extend(this.model.toJSON(),{desc_moderator:m("This user is a moderator"),
  desc_participant:m("This user can send messages in this room"),desc_visitor:m("This user can NOT send messages in this room")}));this.$el.replaceWith(c);this.setElement(c,!0);return this},destroy:function(){this.$el.remove()}});this.ChatRoomOccupants=Backbone.Collection.extend({model:d.ChatRoomOccupant,initialize:function(c){this.browserStorage=new Backbone.BrowserStorage[d.storage](b64_sha1("converse.occupants"+d.bare_jid+c.nick))}});this.ChatRoomOccupantsView=Backbone.Overview.extend({tagName:"div",
  className:"participants",initialize:function(){this.model.on("add",this.onOccupantAdded,this)},render:function(){this.$el.html(d.templates.chatroom_sidebar({label_invitation:m("Invite..."),label_occupants:m("Occupants")}));return this.initInviteWidget()},onOccupantAdded:function(c){var q=this.get(c.get("id"));q?(delete q.model,q.model=c,q.initialize()):q=this.add(c.get("id"),new d.ChatRoomOccupantView({model:c}));this.$(".participant-list").append(q.render().$el)},onChatRoomRoster:function(c,q){q=
  b.size(c);this.$(".participant-list");var E=b.keys(c),u;for(u=0;u<q;u++){var C=Strophe.unescapeNode(E[u]);var K={id:C,role:c[E[u]].role,nick:C};(C=this.model.get(C))?C.save(K):this.model.create(K)}b.each(b.difference(this.model.pluck("id"),E),function(T){this.model.get(T).destroy()},this);return!0},initInviteWidget:function(){var c=this.$("input.invited-contact");c.typeahead({minLength:1,highlight:!0},{name:"contacts-dataset",source:function(q,E){var u=[];b.each(d.roster.filter(f(["fullname","jid"],
  q)),function(C){u.push({value:C.get("fullname"),jid:C.get("jid")})});E(u)},templates:{suggestion:b.template('<p data-jid="{{jid}}">{{value}}</p>')}});c.on("typeahead:selected",a.proxy(function(q,E,u){u=prompt(m(x('You are about to invite %1$s to the chat room "%2$s". '),E.value,this.model.get("id"))+m("You may optionally include a message, explaining the reason for the invitation."));null!==u&&(d.connection.muc.rooms[this.chatroomview.model.get("id")].directInvite(E.jid,u),d.emit("roomInviteSent",
  this,E.jid,u));a(q.target).typeahead("val","")},this));return this}});this.ChatRoomView=d.ChatBoxView.extend({length:300,tagName:"div",className:"chatroom",events:{"click .close-chatbox-button":"close","click .toggle-chatbox-button":"minimize","click .configure-chatroom-button":"configureChatRoom","click .toggle-smiley":"toggleEmoticonMenu","click .toggle-smiley ul li":"insertEmoticon","click .toggle-clear":"clearChatRoomMessages","click .toggle-participants a":"toggleOccupants","keypress textarea.chat-textarea":"keyPressed",
  "mousedown .dragresize-tm":"onDragResizeStart"},is_chatroom:!0,initialize:function(){this.model.messages.on("add",this.onMessageAdded,this);this.model.on("change:minimized",function(c){c.get("minimized")?this.hide():this.maximize()},this);this.model.on("destroy",function(c,q,E){this.hide();d.connection.muc.leave(this.model.get("jid"),this.model.get("nick"),a.proxy(this.onLeave,this),void 0)},this);this.occupantsview=new d.ChatRoomOccupantsView({model:new d.ChatRoomOccupants({nick:this.model.get("nick")})});
  this.occupantsview.chatroomview=this;this.render();this.occupantsview.model.fetch({add:!0});this.connect(null);d.emit("chatRoomOpened",this);this.$el.insertAfter(d.chatboxviews.get("controlbox").$el);this.model.messages.fetch({add:!0});this.model.get("minimized")?this.hide():this.show()},render:function(){this.$el.attr("id",this.model.get("box_id")).html(d.templates.chatroom(this.model.toJSON()));this.renderChatArea();setTimeout(function(){d.refreshWebkit()},50);return this},renderChatArea:function(){this.$(".chat-area").length||
  (this.$(".chat-body").empty().append(d.templates.chatarea({show_toolbar:d.show_toolbar,label_message:m("Message")})).append(this.occupantsview.render().$el),this.renderToolbar());this.model.set({hidden_occupants:!this.model.get("hidden_occupants")});this.toggleOccupants();return this},toggleOccupants:function(c){c&&(c.preventDefault(),c.stopPropagation());c=this.$(".icon-hide-users");this.model.get("hidden_occupants")?(this.model.save({hidden_occupants:!1}),c.removeClass("icon-show-users").addClass("icon-hide-users"),
  this.$(".chat-area, form.sendXMPPMessage").css({width:""}),this.$("div.participants").show().animate({width:"auto"},a.proxy(function(){this.scrollDown()},this))):(this.model.save({hidden_occupants:!0}),c.removeClass("icon-hide-users").addClass("icon-show-users"),this.$("form.sendXMPPMessage, .chat-area").animate({width:"100%"}),this.$("div.participants").animate({width:0},a.proxy(function(){this.scrollDown()},this)))},onCommandError:function(c){this.showStatusNotification(m("Error: could not execute the command"),
  !0)},createChatRoomMessage:function(c){var q=d.xmppstatus.get("fullname");this.model.messages.create({fullname:b.isEmpty(q)?d.bare_jid:q,sender:"me",time:g().format(),message:c,msgid:d.connection.muc.groupchat(this.model.get("jid"),c,void 0,String((new Date).getTime()))})},sendChatRoomMessage:function(c){var q=c.replace(/^\s*/,"").match(/^\/(.*?)(?: (.*))?$/)||[!1];switch(q[1]){case "ban":c=q[2].splitOnce(" ");d.connection.muc.ban(this.model.get("jid"),c[0],c[1],void 0,a.proxy(this.onCommandError,
  this));break;case "clear":this.clearChatRoomMessages();break;case "deop":c=q[2].splitOnce(" ");d.connection.muc.deop(this.model.get("jid"),c[0],c[1],void 0,a.proxy(this.onCommandError,this));break;case "help":this.showHelpMessages(["<strong>/ban</strong>: "+m("Ban user from room"),"<strong>/clear</strong>: "+m("Remove messages"),"<strong>/help</strong>: "+m("Show this menu"),"<strong>/kick</strong>: "+m("Kick user from room"),"<strong>/me</strong>: "+m("Write in 3rd person"),"<strong>/mute</strong>: "+
  m("Remove user's ability to post messages"),"<strong>/nick</strong>: "+m("Change your nickname"),"<strong>/topic</strong>: "+m("Set room topic"),"<strong>/voice</strong>: "+m("Allow muted user to post messages")]);break;case "kick":c=q[2].splitOnce(" ");d.connection.muc.kick(this.model.get("jid"),c[0],c[1],void 0,a.proxy(this.onCommandError,this));break;case "mute":c=q[2].splitOnce(" ");d.connection.muc.mute(this.model.get("jid"),c[0],c[1],void 0,a.proxy(this.onCommandError,this));break;case "nick":d.connection.muc.changeNick(this.model.get("jid"),
  q[2]);break;case "op":c=q[2].splitOnce(" ");d.connection.muc.op(this.model.get("jid"),c[0],c[1],void 0,a.proxy(this.onCommandError,this));break;case "topic":d.connection.muc.setTopic(this.model.get("jid"),q[2]);break;case "voice":c=q[2].splitOnce(" ");d.connection.muc.voice(this.model.get("jid"),c[0],c[1],void 0,a.proxy(this.onCommandError,this));break;default:this.createChatRoomMessage(c)}},connect:function(c){b.has(d.connection.muc.rooms,this.model.get("jid"))?d.connection.muc.join(this.model.get("jid"),
  this.model.get("nick"),null,null,null,c):d.connection.muc.join(this.model.get("jid"),this.model.get("nick"),a.proxy(this.onChatRoomMessage,this),a.proxy(this.onChatRoomPresence,this),a.proxy(this.onChatRoomRoster,this),c)},onLeave:function(){this.model.set("connected",!1)},renderConfigurationForm:function(c){var q=this.$el.find("form.chatroom-form"),E=a(c);c=E.find("field");var u=E.find("title").text(),C=E.find("instructions").text();E={"text-private":"password","text-single":"textline",fixed:"label",
  "boolean":"checkbox",hidden:"hidden","jid-multi":"textarea","list-single":"dropdown","list-multi":"dropdown"};q.find("span.spinner").remove();q.append(a("<legend>").text(u));C!=u&&q.append(a("<p>").text(C));for(u=0;u<c.length;u++){var K=a(c[u]);if("list-single"==K.attr("type")||"list-multi"==K.attr("type")){var T=[];var R=K.children("value");for(C=0;C<R.length;C++)T.push(a(R[C]).text());R=[];var z=K.children("option");for(C=0;C<z.length;C++){var H=a(z[C]).find("value").text();R.push(d.templates.select_option({value:H,
  label:a(z[C]).attr("label"),selected:0<=T.indexOf(H)}))}q.append(d.templates.form_select({name:K.attr("var"),label:K.attr("label"),options:R.join(""),multiple:"list-multi"==K.attr("type")}))}else"fixed"==K.attr("type")?q.append(a("<p>").text(K.find("value").text())):"jid-multi"==K.attr("type")?q.append(d.templates.form_textarea({name:K.attr("var"),label:K.attr("label")||"",value:K.find("value").text()})):"boolean"==K.attr("type")?q.append(d.templates.form_checkbox({name:K.attr("var"),type:E[K.attr("type")],
  label:K.attr("label")||"",checked:"1"===K.find("value").text()&&'checked="1"'||""})):q.append(d.templates.form_input({name:K.attr("var"),type:E[K.attr("type")],label:K.attr("label")||"",value:K.find("value").text()}))}q.append('<input type="submit" value="'+m("Save")+'"/>');q.append('<input type="button" value="'+m("Cancel")+'"/>');q.on("submit",a.proxy(this.saveConfiguration,this));q.find("input[type=button]").on("click",a.proxy(this.cancelConfiguration,this))},saveConfiguration:function(c){c.preventDefault();
  var q=this;c=a(c.target).find(":input:not([type=button]):not([type=submit])");var E=c.length,u=[];c.each(function(){var C=a(this);if(C.is("[type=checkbox]"))var K=C.is(":checked")&&1||0;else if(C.is("textarea")){K=[];for(var T=C.val().split("\n"),R=0;R<T.length;R++){var z=a.trim(T[R]);""!==z&&K.push(z)}}else K=C.val();C=a(d.templates.field({name:C.attr("name"),value:K}))[0];u.push(C);--E||d.connection.muc.saveConfiguration(q.model.get("jid"),u,a.proxy(q.onConfigSaved,q),a.proxy(q.onErrorConfigSaved,
  q))});this.$el.find("div.chatroom-form-container").hide(function(){a(this).remove();q.$el.find(".chat-area").show();q.$el.find(".participants").show()})},onConfigSaved:function(c){},onErrorConfigSaved:function(c){this.showStatusNotification(m("An error occurred while trying to save the form."))},cancelConfiguration:function(c){c.preventDefault();var q=this;this.$el.find("div.chatroom-form-container").hide(function(){a(this).remove();q.$el.find(".chat-area").show();q.$el.find(".participants").show()})},
  configureChatRoom:function(c){c.preventDefault();this.$el.find("div.chatroom-form-container").length||(this.$(".chat-body").children().hide(),this.$(".chat-body").append(a('<div class="chatroom-form-container"><form class="chatroom-form"><span class="spinner centered"/></form></div>')),d.connection.muc.configure(this.model.get("jid"),a.proxy(this.renderConfigurationForm,this)))},submitPassword:function(c){c.preventDefault();c=this.$el.find(".chatroom-form").find("input[type=password]").val();this.$el.find(".chatroom-form-container").replaceWith('<span class="spinner centered"/>');
  this.connect(c)},renderPasswordForm:function(){this.$(".chat-body").children().hide();this.$("span.centered.spinner").remove();this.$(".chat-body").append(d.templates.chatroom_password_form({heading:m("This chatroom requires a password"),label_password:m("Password: "),label_submit:m("Submit")}));this.$(".chatroom-form").on("submit",a.proxy(this.submitPassword,this))},showDisconnectMessage:function(c){this.$(".chat-area").hide();this.$(".participants").hide();this.$("span.centered.spinner").remove();
  this.$(".chat-body").append(a("<p>"+c+"</p>"))},infoMessages:{100:m("This room is not anonymous"),102:m("This room now shows unavailable members"),103:m("This room does not show unavailable members"),104:m("Non-privacy-related room configuration has changed"),170:m("Room logging is now enabled"),171:m("Room logging is now disabled"),172:m("This room is now non-anonymous"),173:m("This room is now semi-anonymous"),174:m("This room is now fully-anonymous"),201:m("A new room has been created")},disconnectMessages:{301:m("You have been banned from this room"),
  307:m("You have been kicked from this room"),321:m("You have been removed from this room because of an affiliation change"),322:m("You have been removed from this room because the room has changed to members-only and you're not a member"),332:m("You have been removed from this room because the MUC (Multi-user chat) service is being shut down.")},actionInfoMessages:{301:x("<strong>%1$s</strong> has been banned"),303:x("<strong>%1$s</strong>'s nickname has changed"),307:x("<strong>%1$s</strong> has been kicked out"),
  321:x("<strong>%1$s</strong> has been removed because of an affiliation change"),322:x("<strong>%1$s</strong> has been removed for not being a member")},newNicknameMessages:{210:x("Your nickname has been automatically changed to: <strong>%1$s</strong>"),303:x("Your nickname has been changed to: <strong>%1$s</strong>")},showStatusMessages:function(c,q){var E=[],u=[],C=[];c.find('x[xmlns="'+Strophe.NS.MUC_USER+'"]').each(a.proxy(function(T,R){var z=a(R).find("item");Strophe.getBareJidFromJid(z.attr("jid"))===
  d.bare_jid&&"owner"===z.attr("affiliation")&&this.$el.find("a.configure-chatroom-button").show();a(R).find("item reason").each(function(H,N){a(N).text()&&C.push(a(N).text())});a(R).find("status").each(a.proxy(function(H,N){H=N.getAttribute("code");q&&b.contains(b.keys(this.newNicknameMessages),H)?(this.model.save({nick:Strophe.getResourceFromJid(c.attr("from"))}),u.push(m(this.newNicknameMessages[H],z.attr("nick")))):q&&b.contains(b.keys(this.disconnectMessages),H)?E.push(this.disconnectMessages[H]):
  !q&&b.contains(b.keys(this.actionInfoMessages),H)?u.push(m(this.actionInfoMessages[H],Strophe.unescapeNode(Strophe.getResourceFromJid(c.attr("from"))))):b.contains(b.keys(this.infoMessages),H)?u.push(this.infoMessages[H]):"110"!==H&&a(N).text()&&u.push(a(N).text())},this))},this));if(0<E.length){for(i=0;i<E.length;i++)this.showDisconnectMessage(E[i]);for(i=0;i<C.length;i++)this.showDisconnectMessage(m('The reason given is: "'+C[i]+'"'),!0);this.model.set("connected",!1)}else{var K=this.$el.find(".chat-content");
  for(i=0;i<u.length;i++)K.append(d.templates.info({message:u[i]}));for(i=0;i<C.length;i++)this.showStatusNotification(m('The reason given is: "'+C[i]+'"'),!0);return this.scrollDown()}},showErrorMessage:function(c,q){delete d.connection.muc[q.name];"auth"==c.attr("type")?c.find("not-authorized").length?this.renderPasswordForm():c.find("registration-required").length?this.showDisconnectMessage(m("You are not on the member list of this room")):c.find("forbidden").length&&this.showDisconnectMessage(m("You have been banned from this room")):
  "modify"==c.attr("type")?c.find("jid-malformed").length&&this.showDisconnectMessage(m("No nickname was specified")):"cancel"==c.attr("type")&&(c.find("not-allowed").length?this.showDisconnectMessage(m("You are not allowed to create new rooms")):c.find("not-acceptable").length?this.showDisconnectMessage(m("Your nickname doesn't conform to this room's policies")):c.find("conflict").length?this.showDisconnectMessage(m("Your nickname is already taken")):c.find("item-not-found").length?this.showDisconnectMessage(m("This room does not (yet) exist")):
  c.find("service-unavailable").length&&this.showDisconnectMessage(m("This room has reached it's maximum number of occupants")))},onChatRoomPresence:function(c,q){c=a(c);"error"===c.attr("type")?(this.model.set("connected",!1),this.showErrorMessage(c.find("error"),q)):(q=c.find("status[code='110']").length||c.attr("from")==q.name+"/"+Strophe.escapeNode(q.nick),this.model.get("conneced")||(this.model.set("connected",!0),this.$("span.centered.spinner").remove(),this.$el.find(".chat-body").children().show()),
  this.showStatusMessages(c,q));return!0},onChatRoomMessage:function(c){var q=a(c),E=q.children("body").text(),u=q.attr("from"),C=q.attr("id");u=(u=Strophe.getResourceFromJid(u))&&Strophe.unescapeNode(u)||"";var K=0<q.find("delay").length,T=q.children("subject").text();if(C&&this.model.messages.findWhere({msgid:C}))return!0;this.showStatusMessages(q);T&&(this.$el.find(".chatroom-topic").text(T).attr("title",T),this.$el.find(".chat-content").append(d.templates.info({message:m("Topic set by %1$s to: %2$s",
  u,T)})));if(""===u)return!0;this.model.createMessage(q);!K&&u!==this.model.get("nick")&&(new RegExp("\\b"+this.model.get("nick")+"\\b")).test(E)&&l();u!==this.model.get("nick")&&d.emit("message",c);return!0},onChatRoomRoster:function(c,q){return this.occupantsview.onChatRoomRoster(c,q)}});this.ChatBoxes=Backbone.Collection.extend({model:d.ChatBox,comparator:"time_opened",registerMessageHandler:function(){d.connection.addHandler(a.proxy(function(c){this.onMessage(c);return!0},this),null,"message",
  "chat");d.connection.addHandler(a.proxy(function(c){this.onInvite(c);return!0},this),"jabber:x:conference","message")},onConnected:function(){this.browserStorage=new Backbone.BrowserStorage[d.storage](b64_sha1("converse.chatboxes-"+d.bare_jid));this.registerMessageHandler();this.fetch({add:!0,success:a.proxy(function(c,q){b.include(b.pluck(q,"id"),"controlbox")||this.add({id:"controlbox",box_id:"controlbox"});this.get("controlbox").save({connected:!0})},this)})},isOnlyChatStateNotification:function(c){return 0===
  c.find("body").length&&(0!==c.find("active").length||0!==c.find("composing").length||0!==c.find("inactive").length||0!==c.find("paused").length||0!==c.find("gone").length)},onInvite:function(c){var q=a(c);c=q.children('x[xmlns="jabber:x:conference"]');var E=Strophe.getBareJidFromJid(q.attr("from"));q=c.attr("jid");var u=c.attr("reason");E=d.roster.get(E);!0===(u?confirm(m(x('%1$s has invited you to join a chat room: %2$s, and left the following reason: "%3$s"'),E.get("fullname"),q,u)):confirm(m(x("%1$s has invited you to join a chat room: %2$s"),
  E.get("fullname"),q)))&&(d.chatboxviews.showChat({id:q,jid:q,name:Strophe.unescapeNode(Strophe.getNodeFromJid(q)),nick:Strophe.unescapeNode(Strophe.getNodeFromJid(d.connection.jid)),chatroom:!0,box_id:b64_sha1(q),password:c.attr("password")}).get("connected")||d.chatboxviews.get(q).connect(null))},onMessage:function(c){var q=a(c),E=q.attr("id");var u=q.attr("from");if(u===d.connection.jid)return!0;var C=q.children("forwarded");var K=q.children('received[xmlns="urn:xmpp:carbons:2"]');var T=q.children('sent[xmlns="urn:xmpp:carbons:2"]');
  C.length?q=C.children("message"):K.length?(q=K.children("forwarded").children("message"),u=q.attr("from")):T.length&&(q=T.children("forwarded").children("message"),u=q.attr("from"));C=Strophe.getBareJidFromJid(u);K=Strophe.getBareJidFromJid(q.attr("to"));C==d.bare_jid?u=Strophe.getResourceFromJid(q.attr("to")):(K=C,u=Strophe.getResourceFromJid(u));T=d.roster.get(K);if(void 0===T)return d.log("Could not get roster item for JID "+K,"error"),!0;var R=this.get(K);R||(R=T.get("fullname"),R=b.isEmpty(R)?
  K:R,R=this.create({id:K,jid:K,fullname:R,image_type:T.get("image_type"),image:T.get("image"),url:T.get("url")}));if(E&&R.messages.findWhere({msgid:E}))return!0;this.isOnlyChatStateNotification(q)||C===d.bare_jid||l();R.receiveMessage(q);d.roster.addResource(K,u);d.emit("message",c);return!0}});this.ChatBoxViews=Backbone.Overview.extend({initialize:function(){this.model.on("add",this.onChatBoxAdded,this);this.model.on("change:minimized",function(c){!1===c.get("minimized")?this.trimChats(this.get(c.get("id"))):
  this.trimChats()},this)},_ensureElement:function(){if(this.el)this.setElement(b.result(this,"el"),!1);else{var c=a("#conversejs");c.length||(c=a('<div id="conversejs">'),a("body").append(c));c.html(d.templates.chats_panel());this.setElement(c,!1)}},onChatBoxAdded:function(c){var q=this.get(c.get("id"));q?(delete q.model,q.model=c,q.initialize()):(q=c.get("chatroom")?new d.ChatRoomView({model:c}):"controlbox"===c.get("box_id")?new d.ControlBoxView({model:c}):new d.ChatBoxView({model:c}),this.add(c.get("id"),
  q));this.trimChats(q)},trimChats:function(c){if(!(d.no_trimming||1>=this.model.length)){var q=0,E=d.minimized_chats.$el;E=b.contains(this.model.pluck("minimized"),!0)?E.outerWidth(!0):0;var u=c?c.$el.outerWidth(!0):0,C=c?c.model.get("id"):null;q=(c=this.get("controlbox"))&&c.$el.is(":visible")?c.$el.outerWidth(!0):d.controlboxtoggle.$el.outerWidth(!0);b.each(this.getAll(),function(K){var T=K.model.get("id");"controlbox"!==T&&T!==C&&!K.model.get("minimized")&&K.$el.is(":visible")&&(u+=K.$el.outerWidth(!0))});
  E+u+q>this.$el.outerWidth(!0)&&(c=this.getOldestMaximizedChat())&&c.minimize()}},getOldestMaximizedChat:function(){for(var c=0,q=this.model.sort().at(c);"controlbox"===q.get("id")||!0===q.get("minimized");)if(c++,q=this.model.at(c),!q)return null;return q},closeAllChatBoxes:function(c){this.model.each(a.proxy(function(q){q=q.get("id");(c||"controlbox"!==q)&&this.get(q).close()},this));return this},showChat:function(c){var q=this.model.get(c.jid);q||(q=this.model.create(c,{error:function(E,u){d.log(u.responseText)}}));
  q.get("minimized")?q.maximize():q.trigger("show");return q}});this.MinimizedChatBoxView=Backbone.View.extend({tagName:"div",className:"chat-head",events:{"click .close-chatbox-button":"close","click .restore-chat":"restore"},initialize:function(){this.model.messages.on("add",function(c){c.get("composing")||c.get("paused")||this.updateUnreadMessagesCounter()},this);this.model.on("change:minimized",this.clearUnreadMessagesCounter,this);this.model.on("showReceivedOTRMessage",this.updateUnreadMessagesCounter,
  this);this.model.on("showSentOTRMessage",this.updateUnreadMessagesCounter,this)},render:function(){var c=b.extend(this.model.toJSON(),{tooltip:m("Click to restore this chat")});this.model.get("chatroom")?(c.title=this.model.get("name"),this.$el.addClass("chat-head-chatroom")):(c.title=this.model.get("fullname"),this.$el.addClass("chat-head-chatbox"));return this.$el.html(d.templates.trimmed_chat(c))},clearUnreadMessagesCounter:function(){this.model.set({num_unread:0});this.render()},updateUnreadMessagesCounter:function(){this.model.set({num_unread:this.model.get("num_unread")+
  1});this.render()},close:function(c){c&&c.preventDefault&&c.preventDefault();this.remove();this.model.destroy();d.emit("chatBoxClosed",this);return this},restore:b.debounce(function(c){c&&c.preventDefault&&c.preventDefault();this.model.messages.off("add",null,this);this.remove();this.model.maximize()},200)});this.MinimizedChats=Backbone.Overview.extend({el:"#minimized-chats",events:{"click #toggle-minimized-chats":"toggle"},initialize:function(){this.initToggle();this.model.on("add",this.onChanged,
  this);this.model.on("destroy",this.removeChat,this);this.model.on("change:minimized",this.onChanged,this);this.model.on("change:num_unread",this.updateUnreadMessagesCounter,this)},tearDown:function(){this.model.off("add",this.onChanged);this.model.off("destroy",this.removeChat);this.model.off("change:minimized",this.onChanged);this.model.off("change:num_unread",this.updateUnreadMessagesCounter);return this},initToggle:function(){this.toggleview=new d.MinimizedChatsToggleView({model:new d.MinimizedChatsToggle});
  var c=b64_sha1("converse.minchatstoggle"+d.bare_jid);this.toggleview.model.id=c;this.toggleview.model.browserStorage=new Backbone.BrowserStorage[d.storage](c);this.toggleview.model.fetch()},render:function(){0===this.keys().length?this.$el.hide("fast"):1===this.keys().length&&this.$el.show("fast");return this.$el},toggle:function(c){c&&c.preventDefault&&c.preventDefault();this.toggleview.model.save({collapsed:!this.toggleview.model.get("collapsed")});this.$(".minimized-chats-flyout").toggle()},onChanged:function(c){"controlbox"!==
  c.get("id")&&c.get("minimized")?this.addChat(c):this.get(c.get("id"))&&this.removeChat(c)},addChat:function(c){var q=this.get(c.get("id"));q&&0!==q.$el.parent().length||(q=new d.MinimizedChatBoxView({model:c}),this.$(".minimized-chats-flyout").append(q.render()),this.add(c.get("id"),q),this.toggleview.model.set({num_minimized:this.keys().length}),this.render())},removeChat:function(c){this.remove(c.get("id"));this.toggleview.model.set({num_minimized:this.keys().length});this.render()},updateUnreadMessagesCounter:function(){var c=
  this.model.pluck("num_unread"),q=0,E;for(E=0;E<c.length;E++)q+=c[E];this.toggleview.model.set({num_unread:q});this.render()}});this.MinimizedChatsToggle=Backbone.Model.extend({initialize:function(){this.set({collapsed:this.get("collapsed")||!1,num_minimized:this.get("num_minimized")||0,num_unread:this.get("num_unread")||0})}});this.MinimizedChatsToggleView=Backbone.View.extend({el:"#toggle-minimized-chats",initialize:function(){this.model.on("change:num_minimized",this.render,this);this.model.on("change:num_unread",
  this.render,this);this.$flyout=this.$el.siblings(".minimized-chats-flyout")},render:function(){this.$el.html(d.templates.toggle_chats(b.extend(this.model.toJSON(),{Minimized:m("Minimized")})));this.model.get("collapsed")?this.$flyout.hide():this.$flyout.show();return this.$el}});this.RosterContact=Backbone.Model.extend({initialize:function(c,q){q=c.jid;c=b.extend({id:q,fullname:q,chat_status:"offline",user_id:Strophe.getNodeFromJid(q),resources:[],groups:[],status:""},c);this.set(c)},showInRoster:function(){var c=
  this.get("chat_status");return d.show_only_online_users&&"online"!==c||d.hide_offline_users&&"offline"===c?!1:!0}});this.RosterContactView=Backbone.View.extend({tagName:"dd",events:{"click .accept-xmpp-request":"acceptRequest","click .decline-xmpp-request":"declineRequest","click .open-chat":"openChat","click .remove-xmpp-contact":"removeContact"},initialize:function(){this.model.on("change",this.render,this);this.model.on("remove",this.remove,this);this.model.on("destroy",this.remove,this);this.model.on("open",
  this.openChat,this)},render:function(){if(this.model.showInRoster())"none"===this.$el[0].style.display&&this.$el.show();else return this.$el.hide(),this;var c=this.model,q=c.get("ask"),E=c.get("chat_status"),u=c.get("requesting"),C=c.get("subscription"),K=["current-xmpp-contact","pending-xmpp-contact","requesting-xmpp-contact"].concat(b.keys(A));b.each(K,function(T){-1!==this.el.className.indexOf(T)&&this.$el.removeClass(T)},this);this.$el.addClass(E).data("status",E);if("subscribe"===q||"from"===
  C)this.$el.addClass("pending-xmpp-contact"),this.$el.html(d.templates.pending_contact(b.extend(c.toJSON(),{desc_remove:m("Click to remove this contact")})));else if(!0===u)this.$el.addClass("requesting-xmpp-contact"),this.$el.html(d.templates.requesting_contact(b.extend(c.toJSON(),{desc_accept:m("Click to accept this contact request"),desc_decline:m("Click to decline this contact request")}))),d.controlboxtoggle.showControlBox();else if("both"===C||"to"===C)this.$el.addClass("current-xmpp-contact"),
  this.$el.html(d.templates.roster_item(b.extend(c.toJSON(),{desc_status:A[E||"offline"],desc_chat:m("Click to chat with this contact"),desc_remove:m("Click to remove this contact")})));return this},openChat:function(c){c&&c.preventDefault&&c.preventDefault();return d.chatboxviews.showChat({id:this.model.get("jid"),jid:this.model.get("jid"),fullname:this.model.get("fullname"),image_type:this.model.get("image_type"),image:this.model.get("image"),url:this.model.get("url"),status:this.model.get("status")})},
  removeContact:function(c){c&&c.preventDefault&&c.preventDefault();if(!0===confirm(m("Are you sure you want to remove this contact?"))){var q=this.model.get("jid");d.connection.roster.remove(q,a.proxy(function(E){d.connection.roster.unauthorize(q);d.rosterview.model.remove(q);this.model.destroy();this.remove()},this))}},acceptRequest:function(c){c&&c.preventDefault&&c.preventDefault();var q=this.model.get("jid");d.connection.roster.authorize(q);d.connection.roster.add(q,this.model.get("fullname"),
  [],function(E){d.connection.roster.subscribe(q,null,d.xmppstatus.get("fullname"))})},declineRequest:function(c){c&&c.preventDefault&&c.preventDefault();!0===confirm(m("Are you sure you want to decline this contact request?"))&&(d.connection.roster.unauthorize(this.model.get("jid")),this.model.destroy());return this}});this.RosterContacts=Backbone.Collection.extend({model:d.RosterContact,comparator:function(c,q){var E=c.get("chat_status")||"offline",u=q.get("chat_status")||"offline";return y[E]===
  y[u]?(c=c.get("fullname").toLowerCase(),q=q.get("fullname").toLowerCase(),c<q?-1:c>q?1:0):y[E]<y[u]?-1:1},subscribeToSuggestedItems:function(c){a(c).find("item").each(function(q,E){q=a(this);E=q.attr("jid");var u=q.attr("action");q.attr("name");"add"===u&&d.connection.roster.subscribe(E,null,d.xmppstatus.get("fullname"))});return!0},isSelf:function(c){return Strophe.getBareJidFromJid(c)===Strophe.getBareJidFromJid(d.connection.jid)},addResource:function(c,q){c=this.get(c);var E;c&&((E=c.get("resources"))?
  -1==b.indexOf(E,q)&&(E.push(q),c.set({resources:E})):c.set({resources:[q]}))},removeResource:function(c,q){c=this.get(c);if(c){var E=c.get("resources");q=b.indexOf(E,q);if(-1!==q)return E.splice(q,1),c.save({resources:E}),E.length}return 0},subscribeBack:function(c){var q=Strophe.getBareJidFromJid(c);d.connection.roster.findItem(q)?(d.connection.roster.authorize(q),d.connection.roster.subscribe(c,null,d.xmppstatus.get("fullname"))):d.connection.roster.add(c,"",[],function(E){d.connection.roster.authorize(q);
  d.connection.roster.subscribe(c,null,d.xmppstatus.get("fullname"))})},unsubscribe:function(c){d.xmppstatus.sendPresence("unsubscribe");d.connection.roster.findItem(c)&&d.connection.roster.remove(c,function(q){d.rosterview.model.remove(c)})},getNumOnlineContacts:function(){var c=0,q=["offline","unavailable"],E=this.models,u=E.length,C;d.show_only_online_users&&(q=b.union(q,["dnd","xa","away"]));for(C=0;C<u;C++)-1===b.indexOf(q,E[C].get("chat_status"))&&c++;return c},clearCache:function(c){var q;for(q=
  0;q<this.models.length;++q){var E=this.models[q].get("id");-1===b.indexOf(b.pluck(c,"jid"),E)&&(E=this.get(E))&&!E.get("requesting")&&E.destroy()}},rosterHandler:function(c,q){d.emit("roster",c);this.clearCache(c);b.each(q?[q]:c,function(E,u,C){if(!this.isSelf(E.jid)){var K=this.get(E.jid);K?"none"===E.subscription&&null===E.ask?K.destroy():K.save({subscription:E.subscription,ask:E.ask,requesting:null,groups:E.groups}):(u=u===C.length-1?!0:!1,("none"!==E.subscription||null!==E.ask||u)&&this.create({ask:E.ask,
  fullname:E.name||E.jid,groups:E.groups,jid:E.jid,subscription:E.subscription},{sort:!1}))}},this);d.initial_presence_sent||(d.initial_presence_sent=1,d.xmppstatus.sendPresence())},handleIncomingSubscription:function(c){var q=Strophe.getBareJidFromJid(c),E=this.get(q);if(!d.allow_contact_requests)return d.connection.roster.unauthorize(q),!0;d.auto_subscribe?E&&"to"==E.get("subscription")?d.connection.roster.authorize(q):this.subscribeBack(c):E&&"none"!=E.get("subscription")?d.connection.roster.authorize(q):
  this.get(q)||d.getVCard(q,a.proxy(function(u,C,K,T,R){this.create({jid:q,subscription:"none",ask:null,requesting:!0,fullname:C||u,image:K,image_type:T,url:R,vcard_updated:g().format()})},this),a.proxy(function(u,C){d.log("Error while retrieving vcard");this.create({jid:q,subscription:"none",ask:null,requesting:!0,fullname:q,vcard_updated:g().format()})},this));return!0},presenceHandler:function(c){var q=a(c);c=q.attr("type");if("error"===c)return!0;var E=q.attr("from"),u=Strophe.getBareJidFromJid(E),
  C=Strophe.getResourceFromJid(E),K=q.find("show").text()||"online",T=q.find("status");if(this.isSelf(u))return d.connection.jid!==E&&"unavailable"!==c&&d.xmppstatus.save({status:K}),!0;if(0===(q.find("x").attr("xmlns")||"").indexOf(Strophe.NS.MUC))return!0;(q=this.get(u))&&T.text()!=q.get("status")&&q.save({status:T.text()});if("subscribed"!==c&&"unsubscribe"!==c){if("subscribe"===c)return this.handleIncomingSubscription(E);"unsubscribed"===c?this.unsubscribe(u):"unavailable"===c?(0===this.removeResource(u,
  C)&&(K="offline"),q&&K&&q.save({chat_status:K})):q&&(this.addResource(u,C),q.save({chat_status:K}))}return!0}});this.RosterGroup=Backbone.Model.extend({initialize:function(c,q){this.set(b.extend({description:M,state:"opened"},c));this.contacts=new d.RosterContacts}});this.RosterGroupView=Backbone.Overview.extend({tagName:"dt",className:"roster-group",events:{"click a.group-toggle":"toggle"},initialize:function(){this.model.contacts.on("add",this.addContact,this);this.model.contacts.on("change:subscription",
  this.onContactSubscriptionChange,this);this.model.contacts.on("change:requesting",this.onContactRequestChange,this);this.model.contacts.on("change:chat_status",function(c){this.model.contacts.sort();this.positionContact(c).render()},this);this.model.contacts.on("destroy",this.onRemove,this);this.model.contacts.on("remove",this.onRemove,this);d.roster.on("change:groups",this.onContactGroupChange,this)},render:function(){this.$el.attr("data-group",this.model.get("name"));this.$el.html(a(d.templates.group_header({label_group:this.model.get("name"),
  desc_group_toggle:this.model.get("description"),toggle_state:this.model.get("state")})));return this},addContact:function(c){var q=new d.RosterContactView({model:c});this.add(c.get("id"),q);q=this.positionContact(c).render();c.showInRoster()&&("closed"===this.model.get("state")?("none"!==q.$el[0].style.display&&q.$el.hide(),"none"===this.$el[0].style.display&&this.$el.show()):"block"!==this.$el[0].style.display&&this.show())},positionContact:function(c){var q=this.get(c.get("id"));c=this.model.contacts.indexOf(c);
  q.$el.detach();0===c?this.$el.after(q.$el):c==this.model.contacts.length-1?this.$el.nextUntil("dt").last().after(q.$el):this.$el.nextUntil("dt").eq(c).before(q.$el);return q},show:function(){this.$el.nextUntil("dt").addBack().show()},hide:function(){this.$el.nextUntil("dt").addBack().hide()},filter:function(c){if(0===c.length)"opened"===this.model.get("state")&&this.model.contacts.each(a.proxy(function(E){E.showInRoster()&&this.get(E.get("id")).$el.show()},this)),this.showIfNecessary();else{c=c.toLowerCase();
  var q=this.model.contacts.filter(f.not("fullname",c));q.length===this.model.contacts.length?this.hide():(b.each(q,a.proxy(function(E){this.get(E.get("id")).$el.hide()},this)),b.each(this.model.contacts.reject(f.not("fullname",c)),a.proxy(function(E){this.get(E.get("id")).$el.show()},this)),this.showIfNecessary())}},showIfNecessary:function(){!this.$el.is(":visible")&&0<this.model.contacts.length&&this.$el.show()},toggle:function(c){c&&c.preventDefault&&c.preventDefault();c=a(c.target);c.hasClass("icon-opened")?
  (this.$el.nextUntil("dt").slideUp(),this.model.save({state:"closed"}),c.removeClass("icon-opened").addClass("icon-closed")):(c.removeClass("icon-closed").addClass("icon-opened"),this.model.save({state:"opened"}),this.filter(d.rosterview.$(".roster-filter").val(),d.rosterview.$(".filter-type").val()))},onContactGroupChange:function(c){var q=b.contains(c.get("groups"),this.model.get("name")),E=c.get("id"),u=!this.get(E);q&&!u?this.model.contacts.remove(E):!q&&u&&this.addContact(c)},onContactSubscriptionChange:function(c){this.model.get("name")===
  O&&"from"!==c.get("subscription")&&this.model.contacts.remove(c.get("id"))},onContactRequestChange:function(c){this.model.get("name")!==V||c.get("requesting")||this.model.contacts.remove(c.get("id"))},onRemove:function(c){this.remove(c.get("id"));0===this.model.contacts.length&&this.$el.hide()}});this.RosterGroups=Backbone.Collection.extend({model:d.RosterGroup,comparator:function(c,q){c=c.get("name");q=q.get("name");var E=b.keys(fa),u=b.contains(E,c);E=b.contains(E,q);if(u||E){if(u&&E)return fa[c]<
  fa[q]?-1:fa[c]>fa[q]?1:0;if(!u&&E)return q===v?1:-1;if(u&&!E)return c===v?-1:1}else return c.toLowerCase()<q.toLowerCase()?-1:c.toLowerCase()>q.toLowerCase()?1:0}});this.RosterView=Backbone.Overview.extend({tagName:"div",id:"converse-roster",events:{"keydown .roster-filter":"liveFilter","click .onX":"clearFilter","mousemove .x":"togglePointer","change .filter-type":"changeFilterType"},initialize:function(){this.registerRosterHandler();this.registerRosterXHandler();this.registerPresenceHandler();d.roster.on("add",
  this.onContactAdd,this);d.roster.on("change",this.onContactChange,this);d.roster.on("destroy",this.update,this);d.roster.on("remove",this.update,this);this.model.on("add",this.onGroupAdd,this);this.model.on("reset",this.reset,this);this.$roster=a('<dl class="roster-contacts" style="display: none;"></dl>')},update:b.debounce(function(){var c=a("#online-count");c.text("("+d.roster.getNumOnlineContacts()+")");c.is(":visible")||c.show();0===this.$roster.parent().length&&this.$el.append(this.$roster.show());
  return this.showHideFilter()},d.animate?100:0),render:function(){this.$el.html(d.templates.roster({placeholder:m("Type to filter"),label_contacts:ba,label_groups:ka}));return this},fetch:function(){this.model.fetch({silent:!0,success:a.proxy(function(c,q,E){0!==c.length&&this.positionFetchedGroups(c,q,E);d.roster.fetch({add:!0,success:function(u){0<u.length?(u.each(function(C){d.connection.roster.items.push({name:C.get("fullname"),jid:C.get("jid"),subscription:C.get("subscription"),ask:C.get("ask"),
  groups:C.get("groups"),resources:C.get("resources")})}),d.initial_presence_sent=1,d.xmppstatus.sendPresence()):d.connection.roster.get()}})},this)});return this},changeFilterType:function(c){c&&c.preventDefault&&c.preventDefault();this.clearFilter();this.filter(this.$(".roster-filter").val(),c.target.value)},tog:function(c){return c?"addClass":"removeClass"},togglePointer:function(c){c&&c.preventDefault&&c.preventDefault();var q=c.target;a(q)[this.tog(q.offsetWidth-18<c.clientX-q.getBoundingClientRect().left)]("onX")},
  filter:function(c,q){c=c.toLowerCase();"groups"===q?b.each(this.getAll(),function(E,u){-1===E.model.get("name").toLowerCase().indexOf(c.toLowerCase())?E.hide():0<E.model.contacts.length&&E.show()}):b.each(this.getAll(),function(E){E.filter(c,q)})},liveFilter:b.debounce(function(c){c&&c.preventDefault&&c.preventDefault();c=this.$(".roster-filter");var q=c.val(),E=this.$(".filter-type").val();c[this.tog(q)]("x");this.filter(q,E)},300),clearFilter:function(c){c&&c.preventDefault&&(c.preventDefault(),
  a(c.target).removeClass("x onX").val(""));this.filter("")},showHideFilter:function(){if(this.$el.is(":visible")){var c=this.$(".roster-filter"),q=this.$(".filter-type"),E=c.is(":visible");if(!(E&&0<c.val().length))return this.$roster.hasScrollBar()?E||(c.show(),q.show()):(c.hide(),q.hide()),this}},reset:function(){d.roster.reset();this.removeAll();this.$roster=a('<dl class="roster-contacts" style="display: none;"></dl>');this.render().update();return this},registerRosterHandler:function(){d.connection.roster.registerCallback(a.proxy(d.roster.rosterHandler,
  d.roster))},registerRosterXHandler:function(){var c=0;d.connection.addHandler(function(q){window.setTimeout(function(){d.connection.flush();a.proxy(d.roster.subscribeToSuggestedItems,d.roster)(q)},c);c+=250*a(q).find("item").length;return!0},"http://jabber.org/protocol/rosterx","message",null)},registerPresenceHandler:function(){d.connection.addHandler(a.proxy(function(c){d.roster.presenceHandler(c);return!0},this),null,"presence",null)},onGroupAdd:function(c){var q=new d.RosterGroupView({model:c});
  this.add(c.get("name"),q.render());this.positionGroup(q)},onContactAdd:function(c){this.addRosterContact(c).update();c.get("vcard_updated")||d.getVCard(c.get("jid"))},onContactChange:function(c){this.updateChatBox(c).update();b.has(c.changed,"subscription")&&("from"==c.changed.subscription?this.addContactToGroup(c,O):"both"===c.get("subscription")&&this.addExistingContact(c));b.has(c.changed,"ask")&&"subscribe"==c.changed.ask&&this.addContactToGroup(c,O);b.has(c.changed,"subscription")&&"true"==c.changed.requesting&&
  this.addContactToGroup(c,V);this.liveFilter()},updateChatBox:function(c){var q=d.chatboxes.get(c.get("jid")),E={};if(!q)return this;b.has(c.changed,"chat_status")&&(E.chat_status=c.get("chat_status"));b.has(c.changed,"status")&&(E.status=c.get("status"));q.save(E);return this},positionFetchedGroups:function(c,q,E){c.sort();c.each(a.proxy(function(u,C){var K=this.get(u.get("name"));K||(K=new d.RosterGroupView({model:u}),this.add(u.get("name"),K.render()));0===C?this.$roster.append(K.$el):this.appendGroup(K)},
  this))},positionGroup:function(c){var q=this.$roster.find(".roster-group"),E=q.length?this.model.indexOf(c.model):0;0===E?this.$roster.prepend(c.$el):E==this.model.length-1?this.appendGroup(c):a(q.eq(E)).before(c.$el);return this},appendGroup:function(c){var q=this.$roster.find(".roster-group").last(),E=q.siblings("dd");0<E.length?E.last().after(c.$el):q.after(c.$el);return this},getGroup:function(c){var q=this.get(c);return q?q.model:this.model.create({name:c,id:b64_sha1(c)})},addContactToGroup:function(c,
  q){this.getGroup(q).contacts.add(c)},addExistingContact:function(c){if(d.roster_groups){var q=c.get("groups");0===q.length&&(q=[aa])}else q=[v];b.each(q,a.proxy(function(E){this.addContactToGroup(c,E)},this))},addRosterContact:function(c){"both"===c.get("subscription")||"to"===c.get("subscription")?this.addExistingContact(c):"subscribe"===c.get("ask")||"from"===c.get("subscription")?this.addContactToGroup(c,O):!0===c.get("requesting")&&this.addContactToGroup(c,V);return this}});this.XMPPStatus=Backbone.Model.extend({initialize:function(){this.set({status:this.get("status")||
  "online"});this.on("change",a.proxy(function(c){void 0===this.get("fullname")&&d.getVCard(null,a.proxy(function(q,E,u,C,K){this.save({fullname:E})},this));b.has(c.changed,"status")&&d.emit("statusChanged",this.get("status"));b.has(c.changed,"status_message")&&d.emit("statusMessageChanged",this.get("status_message"))},this))},sendPresence:function(c){void 0===c&&(c=this.get("status")||"online");var q=this.get("status_message");if("unavailable"===c||"probe"===c||"error"===c||"unsubscribe"===c||"unsubscribed"===
  c||"subscribe"===c||"subscribed"===c)var E=$pres({type:c});else"offline"===c?(E=$pres({type:"unavailable"}),q&&E.c("show").t(c)):(E="online"===c?$pres():$pres().c("show").t(c).up(),q&&E.c("status").t(q));d.connection.send(E)},setStatus:function(c){this.sendPresence(c);this.save({status:c})},setStatusMessage:function(c){d.connection.send($pres().c("show").t(this.get("status")).up().c("status").t(c));this.save({status_message:c});this.xhr_custom_status&&a.ajax({url:this.xhr_custom_status_url,type:"POST",
  data:{msg:c}})}});this.XMPPStatusView=Backbone.View.extend({el:"span#xmpp-status-holder",events:{"click a.choose-xmpp-status":"toggleOptions","click #fancy-xmpp-status-select a.change-xmpp-status-message":"renderStatusChangeForm","submit #set-custom-xmpp-status":"setStatusMessage","click .dropdown dd ul li a":"setStatus"},initialize:function(){this.model.on("change",this.updateStatusUI,this)},render:function(){var c=this.$el.find("select#select-xmpp-status"),q=this.model.get("status")||"offline",
  E=a("option",c),u=[];this.$el.html(d.templates.choose_status());this.$el.find("#fancy-xmpp-status-select").html(d.templates.chat_status({status_message:this.model.get("status_message")||m("I am %1$s",this.getPrettyStatus(q)),chat_status:q,desc_custom_status:m("Click here to write a custom status message"),desc_change_status:m("Click to change your chat status")}));E.each(function(){u.push(d.templates.status_option({value:a(this).val(),text:this.text}))});this.$el.find("#target dd ul").hide().append(u.join(""));
  c.remove();return this},toggleOptions:function(c){c.preventDefault();a(c.target).parent().parent().siblings("dd").find("ul").toggle("fast")},renderStatusChangeForm:function(c){c.preventDefault();c=this.model.get("status")||"offline";c=d.templates.change_status_message({status_message:c,label_custom_status:m("Custom status"),label_save:m("Save")});this.$el.find(".xmpp-status").replaceWith(c);this.$el.find(".custom-xmpp-status").focus().focus()},setStatusMessage:function(c){c.preventDefault();c=a(c.target).find("input").val();
  this.model.setStatusMessage(c)},setStatus:function(c){c.preventDefault();c=a(c.target).attr("data-value");"logout"===c?(this.$el.find(".dropdown dd ul").hide(),d.logOut()):(this.model.setStatus(c),this.$el.find(".dropdown dd ul").hide())},getPrettyStatus:function(c){return"chat"===c?m("online"):"dnd"===c?m("busy"):"xa"===c?m("away for long"):"away"===c?m("away"):m(c)||m("online")},updateStatusUI:function(c){if(b.has(c.changed,"status")||b.has(c.changed,"status_message")){var q=c.get("status");c=c.get("status_message")||
  m("I am %1$s",this.getPrettyStatus(q));this.$el.find("#fancy-xmpp-status-select").html(d.templates.chat_status({chat_status:q,status_message:c,desc_custom_status:m("Click here to write a custom status message"),desc_change_status:m("Click to change your chat status")}))}}});this.Feature=this.BOSHSession=Backbone.Model;this.Features=Backbone.Collection.extend({model:d.Feature,initialize:function(){this.addClientIdentities().addClientFeatures();this.browserStorage=new Backbone.BrowserStorage[d.storage](b64_sha1("converse.features"+
  d.bare_jid));0===this.browserStorage.records.length?(d.connection.disco.info(d.domain,null,a.proxy(this.onInfo,this)),d.connection.disco.items(d.domain,null,a.proxy(this.onItems,this))):this.fetch({add:!0})},addClientIdentities:function(){d.connection.disco.addIdentity("client","web","Converse.js");return this},addClientFeatures:function(){d.connection.disco.addFeature("http://jabber.org/protocol/chatstates");d.connection.disco.addFeature("http://jabber.org/protocol/rosterx");d.connection.disco.addFeature("jabber:x:conference");
  d.connection.disco.addFeature("urn:xmpp:carbons:2");d.connection.disco.addFeature(Strophe.NS.VCARD);d.connection.disco.addFeature(Strophe.NS.BOSH);d.connection.disco.addFeature(Strophe.NS.DISCO_INFO);d.connection.disco.addFeature(Strophe.NS.MUC);return this},onItems:function(c){a(c).find("query item").each(a.proxy(function(q,E){d.connection.disco.info(a(E).attr("jid"),null,a.proxy(this.onInfo,this))},this))},onInfo:function(c){var q=a(c);0===q.find("identity[category=server][type=im]").length&&0===
  q.find("identity[category=conference][type=text]").length||q.find("feature").each(a.proxy(function(E,u){this.create({"var":a(u).attr("var"),from:q.attr("from")})},this))}});this.LoginPanel=Backbone.View.extend({tagName:"div",id:"login-dialog",events:{"submit form#converse-login":"authenticate"},connect:function(c,q,E){c&&c.find("input[type=submit]").hide().after('<span class="spinner login-submit"/>');Strophe.getResourceFromJid(q)||(q+="/converse.js-"+Math.floor(139749825*Math.random()).toString());
  d.connection.connect(q,E,d.onConnect)},initialize:function(c){c.$parent.html(this.$el.html(d.templates.login_panel({label_username:m("XMPP/Jabber Username:"),label_password:m("Password:"),label_login:m("Log In")})));this.$tabs=c.$parent.parent().find("#controlbox-tabs")},render:function(){this.$tabs.append(d.templates.login_tab({label_sign_in:m("Sign in")}));this.$el.find("input#jid").focus();return this},authenticate:function(c){c&&c.preventDefault&&c.preventDefault();c=a(c.target);var q=c.find("input[name=jid]"),
  E=q.val(),u=c.find("input[name=password]"),C=u.val(),K=!1;if(!d.bosh_service_url){var T=c.find("input#bosh_service_url");d.bosh_service_url=T.val();d.bosh_service_url||(K=!0,T.addClass("error"))}E||(K=!0,q.addClass("error"));C||(K=!0,u.addClass("error"));if(!K)return this.connect(c,E,C),!1},remove:function(){this.$tabs.empty();this.$el.parent().empty()}});this.ControlBoxToggle=Backbone.View.extend({tagName:"a",className:"toggle-controlbox",id:"toggle-controlbox",events:{click:"onClick"},attributes:{href:"#"},
  initialize:function(){this.render()},render:function(){a("#conversejs").prepend(this.$el.html(d.templates.controlbox_toggle({label_toggle:m("Toggle chat")})));this.$el.hide();return this},hide:function(c){this.$el.fadeOut("fast",c)},show:function(c){this.$el.show("fast",c)},showControlBox:function(){var c=d.chatboxes.get("controlbox");c||(c=d.addControlBox());d.connection.connected?c.save({closed:!1}):c.trigger("show")},onClick:function(c){c.preventDefault();a("div#controlbox").is(":visible")?(c=
  d.chatboxes.get("controlbox"),d.connection.connected?c.save({closed:!0}):c.trigger("hide")):this.showControlBox()}});this.addControlBox=function(){return this.chatboxes.add({id:"controlbox",box_id:"controlbox",height:this.default_box_height,closed:!this.show_controlbox_by_default})};this.initConnection=function(){if(this.connection&&this.connection.connected)this.onConnected();else{if(!this.bosh_service_url)throw"Error: you must supply a value for the bosh_service_url";this.connection=new Strophe.Connection(this.bosh_service_url);
  if(this.prebind&&(this.jid&&this.sid&&this.rid&&this.connection.attach(this.jid,this.sid,this.rid,this.onConnect),!this.keepalive))throw"If you use prebind and don't use keepalive, then you MUST supply JID, RID and SID values";if(this.keepalive){var c=this.session.get("rid");var q=this.session.get("sid");var E=this.session.get("jid");c&&E&&q?(this.session.save({rid:c}),this.connection.attach(E,q,c,this.onConnect)):this.prebind&&(delete this.connection,this.emit("noResumeableSession"))}}};this._tearDown=
  function(){this.initial_presence_sent=!1;this.roster.off().reset();this.connection.roster._callbacks=[];this.rosterview.model.off().reset();this.rosterview.undelegateEvents().remove();this.chatboxes.remove();this.features&&this.features.reset();this.minimized_chats&&(this.minimized_chats.undelegateEvents().model.reset(),this.minimized_chats.removeAll(),this.minimized_chats.tearDown().remove(),delete this.minimized_chats);return this};this._initialize=function(){this.chatboxes=new this.ChatBoxes;this.chatboxviews=
  new this.ChatBoxViews({model:this.chatboxes});this.controlboxtoggle=new this.ControlBoxToggle;this.otr=new this.OTR;this.initSession();this.initConnection();this.connection&&this.addControlBox();return this};this._initializePlugins=function(){b.each(this.plugins,a.proxy(function(c){a.proxy(c,this)(this)},this))};this._initializePlugins();this._initialize();this.registerGlobalEventHandlers();d.emit("initialized")}};return{initialize:function(k,p){n.initialize(k,p)},contacts:{get:function(k){var p=
  function(d){return(d=n.roster.get(Strophe.getBareJidFromJid(d)))?d.attributes:null};return"string"===typeof k?p(k):b.map(k,p)}},chats:{get:function(k){var p=function(d){var y=n.chatboxes.get(d);if(!y){y=n.roster.get(d);if(void 0===y)return n.log("Could not get roster item for JID "+d,"error"),null;y=n.chatboxes.create({id:d,jid:d,fullname:b.isEmpty(y.get("fullname"))?d:y.get("fullname"),image_type:y.get("image_type"),image:y.get("image"),url:y.get("url")})}d=y;return{endOTR:a.proxy(d.endOTR,d),get:a.proxy(d.get,
  d),initiateOTR:a.proxy(d.initiateOTR,d),maximize:a.proxy(d.maximize,d),minimize:a.proxy(d.minimize,d),set:a.proxy(d.set,d),open:d.trigger.bind(d,"show")}};return"string"===typeof k?p(k):b.map(k,p)}},tokens:{get:function(k){if(!n.expose_rid_and_sid||"undefined"===typeof n.connection)return null;if("rid"===k.toLowerCase())return n.connection.rid||n.connection._proto.rid;if("sid"===k.toLowerCase())return n.connection.sid||n.connection._proto.sid}},listen:{once:function(k,p){n.once(k,p)},on:function(k,
  p){n.on(k,p)},not:function(k,p){n.off(k,p)}},plugins:{add:function(k,p){n.plugins[k]=p},remove:function(k){delete n.plugins[k]},extend:function(k,p){k.prototype._super||(k.prototype._super={});b.each(p,function(d,y){"events"===y?k.prototype[y]=b.extend(d,k.prototype[y]):("function"===typeof y&&(k.prototype._super[y]=k.prototype[y]),k.prototype[y]=d)})}},env:{jQuery:a,Strophe:Strophe,_:b},getBuddy:function(k){n.log('WARNING: the "getBuddy" API method has been deprecated. Please use "contacts.get" instead');
  return this.contacts.get(k)},getChatBox:function(k){n.log('WARNING: the "getChatBox" API method has been deprecated. Please use "chats.get" instead');return this.chats.get(k)},openChatBox:function(k){n.log('WARNING: the "openChatBox" API method has been deprecated. Please use "chats.get(jid).open()" instead');(k=this.chats.get(k))&&k.open();return k},getRID:function(){n.log('WARNING: the "getRID" API method has been deprecated. Please use "tokens.get(\'rid\')" instead');return this.tokens.get("rid")},
  getSID:function(){n.log('WARNING: the "getSID" API method has been deprecated. Please use "tokens.get(\'sid\')" instead');return this.tokens.get("sid")},once:function(k,p){n.log('WARNING: the "one" API method has been deprecated. Please use "listen.once" instead');return this.listen.once(k,p)},on:function(k,p){n.log('WARNING: the "on" API method has been deprecated. Please use "listen.on" instead');return this.listen.on(k,p)},off:function(k,p){n.log('WARNING: the "off" API method has been deprecated. Please use "listen.not" instead');
  return this.listen.not(k,p)}}});
  require.config({baseUrl:".",paths:{backbone:"components/backbone/backbone","backbone.browserStorage":"components/backbone.browserStorage/backbone.browserStorage","backbone.overview":"components/backbone.overview/backbone.overview",bootstrap:"components/bootstrap/dist/js/bootstrap",bootstrapJS:"components/bootstrapJS/index","converse-dependencies":"src/deps-website","converse-templates":"src/templates",eventemitter:"components/otr/build/dep/eventemitter",jquery:"components/jquery/dist/jquery","jquery-private":"src/jquery-private",
  "jquery.browser":"components/jquery.browser/index","jquery.easing":"components/jquery-easing-original/index",moment:"components/momentjs/moment",strophe:"components/strophe/strophe","strophe.disco":"components/strophejs-plugins/disco/strophe.disco","strophe.muc":"components/strophe.muc/index","strophe.roster":"src/strophe.roster","strophe.vcard":"components/strophejs-plugins/vcard/strophe.vcard",text:"components/requirejs-text/text",tpl:"components/requirejs-tpl-jcbrand/tpl",typeahead:"components/typeahead.js/index",
  underscore:"components/underscore/underscore",utils:"src/utils",bigint:"src/bigint",crypto:"src/crypto","crypto.aes":"components/otr/vendor/cryptojs/aes","crypto.cipher-core":"components/otr/vendor/cryptojs/cipher-core","crypto.core":"components/otr/vendor/cryptojs/core","crypto.enc-base64":"components/otr/vendor/cryptojs/enc-base64","crypto.evpkdf":"components/crypto-js-evanvosberg/src/evpkdf","crypto.hmac":"components/otr/vendor/cryptojs/hmac","crypto.md5":"components/crypto-js-evanvosberg/src/md5",
  "crypto.mode-ctr":"components/otr/vendor/cryptojs/mode-ctr","crypto.pad-nopadding":"components/otr/vendor/cryptojs/pad-nopadding","crypto.sha1":"components/otr/vendor/cryptojs/sha1","crypto.sha256":"components/otr/vendor/cryptojs/sha256",salsa20:"components/otr/build/dep/salsa20",otr:"src/otr",locales:"locale/locales",jed:"components/jed/jed",af:"locale/af/LC_MESSAGES/af",de:"locale/de/LC_MESSAGES/de",en:"locale/en/LC_MESSAGES/en",es:"locale/es/LC_MESSAGES/es",fr:"locale/fr/LC_MESSAGES/fr",he:"locale/he/LC_MESSAGES/he",
  hu:"locale/hu/LC_MESSAGES/hu",id:"locale/id/LC_MESSAGES/id",it:"locale/it/LC_MESSAGES/it",ja:"locale/ja/LC_MESSAGES/ja",nl:"locale/nl/LC_MESSAGES/nl",pt_BR:"locale/pt_BR/LC_MESSAGES/pt_BR",ru:"locale/ru/LC_MESSAGES/ru",zh:"locale/zh/LC_MESSAGES/zh",action:"src/templates/action",add_contact_dropdown:"src/templates/add_contact_dropdown",add_contact_form:"src/templates/add_contact_form",change_status_message:"src/templates/change_status_message",chat_status:"src/templates/chat_status",chatarea:"src/templates/chatarea",
  chatbox:"src/templates/chatbox",chatroom:"src/templates/chatroom",chatroom_password_form:"src/templates/chatroom_password_form",chatroom_sidebar:"src/templates/chatroom_sidebar",chatrooms_tab:"src/templates/chatrooms_tab",chats_panel:"src/templates/chats_panel",choose_status:"src/templates/choose_status",contacts_panel:"src/templates/contacts_panel",contacts_tab:"src/templates/contacts_tab",controlbox:"src/templates/controlbox",controlbox_toggle:"src/templates/controlbox_toggle",field:"src/templates/field",
  form_checkbox:"src/templates/form_checkbox",form_input:"src/templates/form_input",form_select:"src/templates/form_select",group_header:"src/templates/group_header",info:"src/templates/info",login_panel:"src/templates/login_panel",login_tab:"src/templates/login_tab",message:"src/templates/message",new_day:"src/templates/new_day",occupant:"src/templates/occupant",pending_contact:"src/templates/pending_contact",pending_contacts:"src/templates/pending_contacts",requesting_contact:"src/templates/requesting_contact",
  requesting_contacts:"src/templates/requesting_contacts",room_description:"src/templates/room_description",room_item:"src/templates/room_item",room_panel:"src/templates/room_panel",roster:"src/templates/roster",roster_item:"src/templates/roster_item",search_contact:"src/templates/search_contact",select_option:"src/templates/select_option",status_option:"src/templates/status_option",toggle_chats:"src/templates/toggle_chats",toolbar:"src/templates/toolbar",trimmed_chat:"src/templates/trimmed_chat",form_textarea:"src/templates/form_textarea"},
  map:{"*":{jquery:"jquery-private"},"jquery-private":{jquery:"jquery"}},tpl:{templateSettings:{evaluate:/\{\[([\s\S]+?)\]\}/g,interpolate:/\{\{([\s\S]+?)\}\}/g}},shim:{underscore:{exports:"_"},"crypto.aes":{deps:["crypto.cipher-core"]},"crypto.cipher-core":{deps:["crypto.enc-base64","crypto.evpkdf"]},"crypto.enc-base64":{deps:["crypto.core"]},"crypto.evpkdf":{deps:["crypto.md5"]},"crypto.hmac":{deps:["crypto.core"]},"crypto.md5":{deps:["crypto.core"]},"crypto.mode-ctr":{deps:["crypto.cipher-core"]},
  "crypto.pad-nopadding":{deps:["crypto.cipher-core"]},"crypto.sha1":{deps:["crypto.core"]},"crypto.sha256":{deps:["crypto.core"]},bigint:{deps:["crypto"]},strophe:{exports:"Strophe"},"strophe.disco":{deps:["strophe"]},"strophe.muc":{deps:["strophe"]},"strophe.roster":{deps:["strophe"]},"strophe.vcard":{deps:["strophe"]}}});require(["converse"],function(a){window.converse=a});define("main",function(){});
  require(["converse"],function(a){a.initialize({allow_otr:!0,auto_list_rooms:!0,auto_subscribe:!1,bosh_service_url:S3.chat_url,debug:!0,hide_muc_server:!1,i18n:b,prebind:!1,show_controlbox_by_default:!0,xhr_user_search:!1});var b=function(){var h=document.getElementsByTagName("html")[0].getAttribute("lang");return null!=h?h:"en"}});
  