You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.3 MiB

function BigInteger(e,t,n){null!=e&&("number"==typeof e?this.fromNumber(e,t,n):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function nbi(){return new BigInteger(null)}function am1(e,t,n,a,i,o){for(;--o>=0;){var s=t*this[e++]+n[a]+i;i=Math.floor(s/67108864),n[a++]=67108863&s}return i}function am2(e,t,n,a,i,o){for(var s=32767&t,r=t>>15;--o>=0;){var l=32767&this[e],c=this[e++]>>15,d=r*l+c*s;l=s*l+((32767&d)<<15)+n[a]+(1073741823&i),i=(l>>>30)+(d>>>15)+r*c+(i>>>30),n[a++]=1073741823&l}return i}function am3(e,t,n,a,i,o){for(var s=16383&t,r=t>>14;--o>=0;){var l=16383&this[e],c=this[e++]>>14,d=r*l+c*s;l=s*l+((16383&d)<<14)+n[a]+i,i=(l>>28)+(d>>14)+r*c,n[a++]=268435455&l}return i}function int2char(e){return BI_RM.charAt(e)}function intAt(e,t){var n=BI_RC[e.charCodeAt(t)];return null==n?-1:n}function bnpCopyTo(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s}function bnpFromInt(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0}function nbv(e){var t=nbi();return t.fromInt(e),t}function bnpFromString(e,t,n){var a;if(16==t)a=4;else if(8==t)a=3;else if(256==t)a=8;else if(2==t)a=1;else if(32==t)a=5;else{if(4!=t)return void this.fromRadix(e,t);a=2}this.t=0,this.s=0;for(var i=e.length,o=!1,s=0;--i>=0;){var r=8==a?255&e[i]:intAt(e,i);r<0?"-"==e.charAt(i)&&(o=!0):(o=!1,0==s?this[this.t++]=r:s+a>this.DB?(this[this.t-1]|=(r&(1<<this.DB-s)-1)<<s,this[this.t++]=r>>this.DB-s):this[this.t-1]|=r<<s,s+=a,s>=this.DB&&(s-=this.DB))}8==a&&0!=(128&e[0])&&n&&(this.s=-1,s>0&&(this[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),o&&BigInteger.ZERO.subTo(this,this)}function bnpClamp(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t}function bnToString(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var n,a=(1<<t)-1,i=!1,o="",s=this.t,r=this.DB-s*this.DB%t;if(s-- >0)for(r<this.DB&&(n=this[s]>>r)>0&&(i=!0,o=int2char(n));s>=0;)r<t?(n=(this[s]&(1<<r)-1)<<t-r,n|=this[--s]>>(r+=this.DB-t)):(n=this[s]>>(r-=t)&a,r<=0&&(r+=this.DB,--s)),n>0&&(i=!0),i&&(o+=int2char(n));return i?o:"0"}function bnNegate(){var e=nbi();return BigInteger.ZERO.subTo(this,e),e}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(t=n-e.t,0!=t)return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0}function nbits(e){var t,n=1;return 0!=(t=e>>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s}function bnpDRShiftTo(e,t){for(var n=e;n<this.t;++n)t[n-e]=this[n];t.t=Math.max(this.t-e,0),t.s=this.s}function bnpLShiftTo(e,t){var n,a=e%this.DB,i=this.DB-a,o=(1<<i)-1,s=Math.floor(e/this.DB),r=this.s<<a&this.DM;for(n=this.t-1;n>=0;--n)t[n+s+1]=this[n]>>i|r,r=(this[n]&o)<<a;for(n=s-1;n>=0;--n)t[n]=0;t[s]=r,t.t=this.t+s+1,t.s=this.s,t.clamp()}function bnpRShiftTo(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)return void(t.t=0);var a=e%this.DB,i=this.DB-a,o=(1<<a)-1;t[0]=this[n]>>a;for(var s=n+1;s<this.t;++s)t[s-n-1]|=(this[s]&o)<<i,t[s-n]=this[s]>>a;a>0&&(t[this.t-n-1]|=(this.s&o)<<i),t.t=this.t-n,t.clamp()}function bnpSubTo(e,t){for(var n=0,a=0,i=Math.min(e.t,this.t);n<i;)a+=this[n]-e[n],t[n++]=a&this.DM,a>>=this.DB;if(e.t<this.t){for(a-=e.s;n<this.t;)a+=this[n],t[n++]=a&this.DM,a>>=this.DB;a+=this.s}else{for(a+=this.s;n<e.t;)a-=e[n],t[n++]=a&this.DM,a>>=this.DB;a-=e.s}t.s=a<0?-1:0,a<-1?t[n++]=this.DV+a:a>0&&(t[n++]=a),t.t=n,t.clamp()}function bnpMultiplyTo(e,t){var n=this.abs(),a=e.abs(),i=n.t;for(t.t=i+a.t;--i>=0;)t[i]=0;for(i=0;i<a.t;++i)t[i+n.t]=n.am(0,a[i],t,i,0,n.t);t.s=0,t.clamp(),this.s!=e.s&&BigInteger.ZERO.subTo(t,t)}function bnpSquareTo(e){for(var t=this.abs(),n=e.t=2*t.t;--n>=0;)e[n]=0;for(n=0;n<t.t-1;++n){var a=t.
return!1}function cancelEvent(e){return e=e||window.event,e&&(e=e.originalEvent||e,e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),e.returnValue=!1,e.cancelBubble=!0),!1}function hasOnclick(e){if(e.onclick||e.getAttribute("ng-click"))return!0;var t=$._data(e,"events");return!(!t||!t.click&&!t.mousedown)}function getScrollWidth(){var e=$("<div>").css({position:"absolute",width:100,height:100,overflow:"scroll",top:-9999}).appendTo($(document.body)),t=e[0].offsetWidth-e[0].clientWidth;return e.remove(),t}function onCtrlEnter(e,t){$(e).on("keydown",function(e){if(13==e.keyCode&&(e.ctrlKey||e.metaKey))return t(),cancelEvent(e)})}function setFieldSelection(e,t,n){e=$(e)[0];try{if(e.focus(),void 0!==t&&t!==!1||(t=e.value.length),void 0!==n&&n!==!1||(n=t),e.createTextRange){var a=e.createTextRange();a.collapse(!0),a.moveEnd("character",n),a.moveStart("character",t),a.select()}else e.setSelectionRange&&e.setSelectionRange(t,n)}catch(i){}}function getFieldSelection(e){if(e.selectionStart)return e.selectionStart;if(!document.selection)return 0;var t="",n=document.selection.createRange(),a=n.text,i=n.duplicate(),o=0;try{i.moveToElementText(e)}catch(s){return 0}return n.text=a+t,o=i.text.indexOf(t),n.moveStart("character",-1),n.text="",o}function getRichValue(e){if(!e)return"";var t=[],n=[];getRichElementValue(e,t,n),n.length&&t.push(n.join(""));var a=t.join("\n");return a=a.replace(/\u00A0/g," ")}function getRichValueWithCaret(e){if(!e)return[];var t,n,a=[],i=[],o=!!window.getSelection&&window.getSelection();if(o&&o.rangeCount){var s=o.getRangeAt(0);s.startContainer&&s.startContainer==s.endContainer&&s.startOffset==s.endOffset&&(t=s.startContainer,n=s.startOffset)}getRichElementValue(e,a,i,t,n),i.length&&a.push(i.join(""));var r=a.join("\n"),l=r.indexOf("");return l!=-1&&(r=r.substr(0,l)+r.substr(l+1)),r=r.replace(/\u00A0/g," "),[r,l]}function getRichElementValue(e,t,n,a,i){if(3!=e.nodeType){if(1==e.nodeType){var o,s=a===e,r="DIV"==e.tagName||"P"==e.tagName;r&&n.length||"BR"==e.tagName?(t.push(n.join("")),n.splice(0,n.length)):"IMG"==e.tagName&&e.alt&&n.push(e.alt),s&&!i&&n.push("");for(var o=e.firstChild;o;)getRichElementValue(o,t,n,a,i),o=o.nextSibling;s&&i&&n.push(""),r&&n.length&&(t.push(n.join("")),n.splice(0,n.length))}}else if(a===e){var l=e.nodeValue;n.push(l.substr(0,i)+""+l.substr(i))}else n.push(e.nodeValue)}function setRichFocus(e,t,n){if(e.focus(),!t||t.parentNode!=e||t.nextSibling||n||(e.removeChild(t),t=null),window.getSelection&&document.createRange){var a=document.createRange();t?a.selectNode(t):a.selectNodeContents(e),n||a.collapse(!1);var i=window.getSelection();i.removeAllRanges(),i.addRange(a)}else if(void 0!==document.body.createTextRange){var o=document.body.createTextRange();o.moveToElementText(t||e),n||o.collapse(!1),o.select()}}function getSelectedText(){var e=(window.getSelection&&window.getSelection()||document.getSelection&&document.getSelection()||document.selection&&document.selection.createRange().text||"").toString().replace(/^\s+|\s+$/g,"");return e}function scrollToNode(e,t,n){var a=t.offsetTop-15,i=t.offsetHeight+30,o=e.scrollTop,s=e.clientHeight;o>a?(e.scrollTop=a,$(n).nanoScroller({flash:!0})):o<a+i-s&&(e.scrollTop=a+i-s,$(n).nanoScroller({flash:!0}))}function onContentLoaded(e){e=onAnimationFrameCallback(e),setZeroTimeout(e)}function tsNow(e){var t=+new Date+(window.tsOffset||0);return e?Math.floor(t/1e3):t}function safeReplaceObject(e,t){for(var n in e)t.hasOwnProperty(n)||"$"==n.charAt(0)||delete e[n];for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])}function listMergeSorted(e,t){e=e||[],t=t||[];for(var n=angular.copy(e),a=e.length?e[e.length-1]:4294967295,i=0;i<t.length;i++)t[i]<a&&n.push(t[i]);return n}function listUniqSorted(e){e=e||[];for(var t=[],n=!1,a=0;a<e.length;a++)e[a]!==n&&t.push(e[a]),n=e[a];return t}function templateUrl(e){var t={confirm_modal:"desktop",error_modal:"desktop",media_modal_layout:"desktop",slider:"desktop",reply_message:"desktop",message_body:"desktop",message_media:"desktop",message_attach_game:"desktop",forwarded_messages:"desktop"
var a;if(t){if(J)return J.call(t,e,n);for(a=t.length,n=n?0>n?Math.max(0,a+n):n:0;a>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,t){for(var n=+t.length,a=0,i=e.length;n>a;)e[i++]=t[a++];if(n!==n)for(;void 0!==t[a];)e[i++]=t[a++];return e.length=i,e},grep:function(e,t,n){for(var a,i=[],o=0,s=e.length,r=!n;s>o;o++)a=!t(e[o],o),a!==r&&i.push(e[o]);return i},map:function(e,t,a){var i,o=0,s=e.length,r=n(e),l=[];if(r)for(;s>o;o++)i=t(e[o],o,a),null!=i&&l.push(i);else for(o in e)i=t(e[o],o,a),null!=i&&l.push(i);return Z.apply([],l)},guid:1,proxy:function(e,t){var n,a,i;return"string"==typeof t&&(i=e[t],t=e,e=i),ie.isFunction(e)?(n=Y.call(arguments,2),a=function(){return e.apply(t||this,n.concat(Y.call(arguments)))},a.guid=e.guid=e.guid||ie.guid++,a):void 0},now:function(){return+new Date},support:ne}),ie.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){Q["[object "+t+"]"]=t.toLowerCase()});var ce=function(e){function t(e,t,n,a){var i,o,s,r,l,c,p,m,g,h;if((t?t.ownerDocument||t:L)!==D&&T(t),t=t||D,n=n||[],!e||"string"!=typeof e)return n;if(1!==(r=t.nodeType)&&9!==r)return[];if(R&&!a){if(i=ve.exec(e))if(s=i[1]){if(9===r){if(o=t.getElementById(s),!o||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(s))&&U(t,o)&&o.id===s)return n.push(o),n}else{if(i[2])return Q.apply(n,t.getElementsByTagName(e)),n;if((s=i[3])&&w.getElementsByClassName&&t.getElementsByClassName)return Q.apply(n,t.getElementsByClassName(s)),n}if(w.qsa&&(!F||!F.test(e))){if(m=p=O,g=t,h=9===r&&e,1===r&&"object"!==t.nodeName.toLowerCase()){for(c=S(e),(p=t.getAttribute("id"))?m=p.replace(be,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",l=c.length;l--;)c[l]=m+u(c[l]);g=ye.test(e)&&d(t.parentNode)||t,h=c.join(",")}if(h)try{return Q.apply(n,g.querySelectorAll(h)),n}catch(f){}finally{p||t.removeAttribute("id")}}}return x(e.replace(le,"$1"),t,n,a)}function n(){function e(n,a){return t.push(n+" ")>k.cacheLength&&delete e[t.shift()],e[n+" "]=a}var t=[];return e}function a(e){return e[O]=!0,e}function i(e){var t=D.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),a=e.length;a--;)k.attrHandle[n[a]]=t}function s(e,t){var n=t&&e,a=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||K)-(~e.sourceIndex||K);if(a)return a;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function r(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return a(function(t){return t=+t,a(function(n,a){for(var i,o=e([],n.length,t),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(a[i]=n[i]))})})}function d(e){return e&&typeof e.getElementsByTagName!==G&&e}function p(){}function u(e){for(var t=0,n=e.length,a="";n>t;t++)a+=e[t].value;return a}function m(e,t,n){var a=t.dir,i=n&&"parentNode"===a,o=H++;return t.first?function(t,n,o){for(;t=t[a];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,s){var r,l,c=[j,o];if(s){for(;t=t[a];)if((1===t.nodeType||i)&&e(t,n,s))return!0}else for(;t=t[a];)if(1===t.nodeType||i){if(l=t[O]||(t[O]={}),(r=l[a])&&r[0]===j&&r[1]===o)return c[2]=r[2];if(l[a]=c,c[2]=e(t,n,s))return!0}}}function g(e){return e.length>1?function(t,n,a){for(var i=e.length;i--;)if(!e[i](t,n,a))return!1;return!0}:e[0]}function h(e,n,a){for(var i=0,o=n.length;o>i;i++)t(e,n[i],a);return a}function f(e,t,n,a,i){for(var o,s=[],r=0,l=e.length,c=null!=t;l>r;r++)(o=e[r])&&(!n||n(o,a,i))&&(s.push(o),c&&t.push(r));return s}function _(e,t,n,i,o,s){return i&&!i[O]&&(i=_(i)),o&&!o[O]&&(o=_(o,s)),a(function(a,s,r,l){var c,d,p,u=[],m=[],g=s.length,_=a||h(t||"*",r.nodeType?[r]:r,[]),v=!e||!a&&t?_:f(_,u,e,r,l),y=n?o||(a?e:g||i)?[]:s:v;if(n&&n(v,y,r,l),i)for(c=f(y,m),i(c,[],r,l),d=c.length;d--;)(p=c[d])&&(y[m[d]]=!(v[m[d]]=p));if(a){if(o||e){if(o){for(c=[],d=y.length;d--;)(p=y[d])&&c.push(v[d]=p);o(null,y=[],c,l)}for(d=y.length;d--;)(p=y[d])&&(c=o?t
g=(o[2]||"").split(".").sort(),m&&(c=ie.event.special[m]||{},m=(i?c.delegateType:c.bindType)||m,c=ie.event.special[m]||{},p=ie.extend({type:m,origType:h,data:a,handler:n,guid:n.guid,selector:i,needsContext:i&&ie.expr.match.needsContext.test(i),namespace:g.join(".")},l),(u=s[m])||(u=s[m]=[],u.delegateCount=0,c.setup&&c.setup.call(e,a,g,d)!==!1||(e.addEventListener?e.addEventListener(m,d,!1):e.attachEvent&&e.attachEvent("on"+m,d))),c.add&&(c.add.call(e,p),p.handler.guid||(p.handler.guid=n.guid)),i?u.splice(u.delegateCount++,0,p):u.push(p),ie.event.global[m]=!0);e=null}},remove:function(e,t,n,a,i){var o,s,r,l,c,d,p,u,m,g,h,f=ie.hasData(e)&&ie._data(e);if(f&&(d=f.events)){for(t=(t||"").match(ye)||[""],c=t.length;c--;)if(r=Fe.exec(t[c])||[],m=h=r[1],g=(r[2]||"").split(".").sort(),m){for(p=ie.event.special[m]||{},m=(a?p.delegateType:p.bindType)||m,u=d[m]||[],r=r[2]&&new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=u.length;o--;)s=u[o],!i&&h!==s.origType||n&&n.guid!==s.guid||r&&!r.test(s.namespace)||a&&a!==s.selector&&("**"!==a||!s.selector)||(u.splice(o,1),s.selector&&u.delegateCount--,p.remove&&p.remove.call(e,s));l&&!u.length&&(p.teardown&&p.teardown.call(e,g,f.handle)!==!1||ie.removeEvent(e,m,f.handle),delete d[m])}else for(m in d)ie.event.remove(e,m+t[c],n,a,!0);ie.isEmptyObject(d)&&(delete f.handle,ie._removeData(e,"events"))}},trigger:function(t,n,a,i){var o,s,r,l,c,d,p,u=[a||ge],m=te.call(t,"type")?t.type:t,g=te.call(t,"namespace")?t.namespace.split("."):[];if(r=d=a=a||ge,3!==a.nodeType&&8!==a.nodeType&&!Re.test(m+ie.event.triggered)&&(m.indexOf(".")>=0&&(g=m.split("."),m=g.shift(),g.sort()),s=m.indexOf(":")<0&&"on"+m,t=t[ie.expando]?t:new ie.Event(m,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=a),n=null==n?[t]:ie.makeArray(n,[t]),c=ie.event.special[m]||{},i||!c.trigger||c.trigger.apply(a,n)!==!1)){if(!i&&!c.noBubble&&!ie.isWindow(a)){for(l=c.delegateType||m,Re.test(l+m)||(r=r.parentNode);r;r=r.parentNode)u.push(r),d=r;d===(a.ownerDocument||ge)&&u.push(d.defaultView||d.parentWindow||e)}for(p=0;(r=u[p++])&&!t.isPropagationStopped();)t.type=p>1?l:c.bindType||m,o=(ie._data(r,"events")||{})[t.type]&&ie._data(r,"handle"),o&&o.apply(r,n),o=s&&r[s],o&&o.apply&&ie.acceptData(r)&&(t.result=o.apply(r,n),t.result===!1&&t.preventDefault());if(t.type=m,!i&&!t.isDefaultPrevented()&&(!c._default||c._default.apply(u.pop(),n)===!1)&&ie.acceptData(a)&&s&&a[m]&&!ie.isWindow(a)){d=a[s],d&&(a[s]=null),ie.event.triggered=m;try{a[m]()}catch(h){}ie.event.triggered=void 0,d&&(a[s]=d)}return t.result}},dispatch:function(e){e=ie.event.fix(e);var t,n,a,i,o,s=[],r=Y.call(arguments),l=(ie._data(this,"events")||{})[e.type]||[],c=ie.event.special[e.type]||{};if(r[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(s=ie.event.handlers.call(this,e,l),t=0;(i=s[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,o=0;(a=i.handlers[o++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(a.namespace))&&(e.handleObj=a,e.data=a.data,n=((ie.event.special[a.origType]||{}).handle||a.handler).apply(i.elem,r),void 0!==n&&(e.result=n)===!1&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,a,i,o,s=[],r=t.delegateCount,l=e.target;if(r&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(i=[],o=0;r>o;o++)a=t[o],n=a.selector+" ",void 0===i[n]&&(i[n]=a.needsContext?ie(n,this).index(l)>=0:ie.find(n,this,null,[l]).length),i[n]&&i.push(a);i.length&&s.push({elem:l,handlers:i})}return r<t.length&&s.push({elem:this,handlers:t.slice(r)}),s},fix:function(e){if(e[ie.expando])return e;var t,n,a,i=e.type,o=e,s=this.fixHooks[i];for(s||(this.fixHooks[i]=s=Pe.test(i)?this.mouseHooks:De.test(i)?this.keyHooks:{}),a=s.props?this.props.concat(s.props):this.props,e=new ie.Event(o),t=a.length;t--;)n=a[t],e[n]=o[
},set:wt.set},ie.attrHooks.contenteditable={set:function(e,t,n){wt.set(e,""!==t&&t,n)}},ie.each(["width","height"],function(e,t){ie.attrHooks[t]={set:function(e,n){return""===n?(e.setAttribute(t,"auto"),n):void 0}}})),ne.style||(ie.attrHooks.style={get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+""}});var xt=/^(?:input|select|textarea|button|object)$/i,It=/^(?:a|area)$/i;ie.fn.extend({prop:function(e,t){return Ae(this,ie.prop,e,t,arguments.length>1)},removeProp:function(e){return e=ie.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),ie.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var a,i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!ie.isXMLDoc(e),o&&(t=ie.propFix[t]||t,i=ie.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(a=i.set(e,n,t))?a:e[t]=n:i&&"get"in i&&null!==(a=i.get(e,t))?a:e[t]},propHooks:{tabIndex:{get:function(e){var t=ie.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||It.test(e.nodeName)&&e.href?0:-1}}}}),ne.hrefNormalized||ie.each(["href","src"],function(e,t){ie.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),ne.optSelected||(ie.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),ie.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ie.propFix[this.toLowerCase()]=this}),ne.enctype||(ie.propFix.enctype="encoding");var At=/[\t\r\n\f]/g;ie.fn.extend({addClass:function(e){var t,n,a,i,o,s,r=0,l=this.length,c="string"==typeof e&&e;if(ie.isFunction(e))return this.each(function(t){ie(this).addClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>r;r++)if(n=this[r],a=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(At," "):" ")){for(o=0;i=t[o++];)a.indexOf(" "+i+" ")<0&&(a+=i+" ");s=ie.trim(a),n.className!==s&&(n.className=s)}return this},removeClass:function(e){var t,n,a,i,o,s,r=0,l=this.length,c=0===arguments.length||"string"==typeof e&&e;if(ie.isFunction(e))return this.each(function(t){ie(this).removeClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>r;r++)if(n=this[r],a=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(At," "):"")){for(o=0;i=t[o++];)for(;a.indexOf(" "+i+" ")>=0;)a=a.replace(" "+i+" "," ");s=e?ie.trim(a):"",n.className!==s&&(n.className=s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):this.each(ie.isFunction(e)?function(n){ie(this).toggleClass(e.call(this,n,this.className,t),t)}:function(){if("string"===n)for(var t,a=0,i=ie(this),o=e.match(ye)||[];t=o[a++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else(n===$e||"boolean"===n)&&(this.className&&ie._data(this,"__className__",this.className),this.className=this.className||e===!1?"":ie._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,a=this.length;a>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(At," ").indexOf(t)>=0)return!0;return!1}}),ie.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){ie.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ie.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,a){return this.on(t,e,n,a)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var Et=ie.now(),Tt=/\?/,Dt=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;ie.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,a=null,i=ie.trim(t+"")
Config.Schema.API={constructors:[{id:"-1132882121",predicate:"boolFalse",params:[],type:"Bool"},{id:"-1720552011",predicate:"boolTrue",params:[],type:"Bool"},{id:"1072550713",predicate:"true",params:[],type:"True"},{id:"481674261",predicate:"vector",params:[],type:"Vector t"},{id:"-994444869",predicate:"error",params:[{name:"code",type:"int"},{name:"text",type:"string"}],type:"Error"},{id:"1450380236",predicate:"null",params:[],type:"Null"},{id:"2134579434",predicate:"inputPeerEmpty",params:[],type:"InputPeer"},{id:"2107670217",predicate:"inputPeerSelf",params:[],type:"InputPeer"},{id:"396093539",predicate:"inputPeerChat",params:[{name:"chat_id",type:"int"}],type:"InputPeer"},{id:"-1182234929",predicate:"inputUserEmpty",params:[],type:"InputUser"},{id:"-138301121",predicate:"inputUserSelf",params:[],type:"InputUser"},{id:"-208488460",predicate:"inputPhoneContact",params:[{name:"client_id",type:"long"},{name:"phone",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"InputContact"},{id:"-181407105",predicate:"inputFile",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"name",type:"string"},{name:"md5_checksum",type:"string"}],type:"InputFile"},{id:"-1771768449",predicate:"inputMediaEmpty",params:[],type:"InputMedia"},{id:"1661770481",predicate:"inputMediaUploadedPhoto",params:[{name:"flags",type:"#"},{name:"file",type:"InputFile"},{name:"caption",type:"string"},{name:"stickers",type:"flags.0?Vector<InputDocument>"}],type:"InputMedia"},{id:"-373312269",predicate:"inputMediaPhoto",params:[{name:"id",type:"InputPhoto"},{name:"caption",type:"string"}],type:"InputMedia"},{id:"-104578748",predicate:"inputMediaGeoPoint",params:[{name:"geo_point",type:"InputGeoPoint"}],type:"InputMedia"},{id:"-1494984313",predicate:"inputMediaContact",params:[{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"InputMedia"},{id:"480546647",predicate:"inputChatPhotoEmpty",params:[],type:"InputChatPhoto"},{id:"-1837345356",predicate:"inputChatUploadedPhoto",params:[{name:"file",type:"InputFile"}],type:"InputChatPhoto"},{id:"-1991004873",predicate:"inputChatPhoto",params:[{name:"id",type:"InputPhoto"}],type:"InputChatPhoto"},{id:"-457104426",predicate:"inputGeoPointEmpty",params:[],type:"InputGeoPoint"},{id:"-206066487",predicate:"inputGeoPoint",params:[{name:"lat",type:"double"},{name:"long",type:"double"}],type:"InputGeoPoint"},{id:"483901197",predicate:"inputPhotoEmpty",params:[],type:"InputPhoto"},{id:"-74070332",predicate:"inputPhoto",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputPhoto"},{id:"342061462",predicate:"inputFileLocation",params:[{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",type:"long"}],type:"InputFileLocation"},{id:"1996904104",predicate:"inputAppEvent",params:[{name:"time",type:"double"},{name:"type",type:"string"},{name:"peer",type:"long"},{name:"data",type:"string"}],type:"InputAppEvent"},{id:"-1649296275",predicate:"peerUser",params:[{name:"user_id",type:"int"}],type:"Peer"},{id:"-1160714821",predicate:"peerChat",params:[{name:"chat_id",type:"int"}],type:"Peer"},{id:"-1432995067",predicate:"storage.fileUnknown",params:[],type:"storage.FileType"},{id:"8322574",predicate:"storage.fileJpeg",params:[],type:"storage.FileType"},{id:"-891180321",predicate:"storage.fileGif",params:[],type:"storage.FileType"},{id:"172975040",predicate:"storage.filePng",params:[],type:"storage.FileType"},{id:"-1373745011",predicate:"storage.filePdf",params:[],type:"storage.FileType"},{id:"1384777335",predicate:"storage.fileMp3",params:[],type:"storage.FileType"},{id:"1258941372",predicate:"storage.fileMov",params:[],type:"storage.FileType"},{id:"1086091090",predicate:"storage.filePartial",params:[],type:"storage.FileType"},{id:"-1278304028",predicate:"storage.fileMp4",params:[],type:"storage.FileType"},{id:"276907596",predicate:"storage.fileWebp",params:[],type:"storage.FileType"},{id:"2086234950",predicate:"fileLocationUnavailable",params:[{name:"volume_id",type:"long"},{name:"local_id
},{id:"-1094555409",predicate:"updateNotifySettings",params:[{name:"peer",type:"NotifyPeer"},{name:"notify_settings",type:"PeerNotifySettings"}],type:"Update"},{id:"381645902",predicate:"sendMessageTypingAction",params:[],type:"SendMessageAction"},{id:"-44119819",predicate:"sendMessageCancelAction",params:[],type:"SendMessageAction"},{id:"-1584933265",predicate:"sendMessageRecordVideoAction",params:[],type:"SendMessageAction"},{id:"-378127636",predicate:"sendMessageUploadVideoAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"-718310409",predicate:"sendMessageRecordAudioAction",params:[],type:"SendMessageAction"},{id:"-212740181",predicate:"sendMessageUploadAudioAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"-774682074",predicate:"sendMessageUploadPhotoAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"-1441998364",predicate:"sendMessageUploadDocumentAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"393186209",predicate:"sendMessageGeoLocationAction",params:[],type:"SendMessageAction"},{id:"1653390447",predicate:"sendMessageChooseContactAction",params:[],type:"SendMessageAction"},{id:"446822276",predicate:"contacts.found",params:[{name:"results",type:"Vector<Peer>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"contacts.Found"},{id:"-337352679",predicate:"updateServiceNotification",params:[{name:"flags",type:"#"},{name:"popup",type:"flags.0?true"},{name:"inbox_date",type:"flags.1?int"},{name:"type",type:"string"},{name:"message",type:"string"},{name:"media",type:"MessageMedia"},{name:"entities",type:"Vector<MessageEntity>"}],type:"Update"},{id:"-496024847",predicate:"userStatusRecently",params:[],type:"UserStatus"},{id:"129960444",predicate:"userStatusLastWeek",params:[],type:"UserStatus"},{id:"2011940674",predicate:"userStatusLastMonth",params:[],type:"UserStatus"},{id:"-298113238",predicate:"updatePrivacy",params:[{name:"key",type:"PrivacyKey"},{name:"rules",type:"Vector<PrivacyRule>"}],type:"Update"},{id:"1335282456",predicate:"inputPrivacyKeyStatusTimestamp",params:[],type:"InputPrivacyKey"},{id:"-1137792208",predicate:"privacyKeyStatusTimestamp",params:[],type:"PrivacyKey"},{id:"218751099",predicate:"inputPrivacyValueAllowContacts",params:[],type:"InputPrivacyRule"},{id:"407582158",predicate:"inputPrivacyValueAllowAll",params:[],type:"InputPrivacyRule"},{id:"320652927",predicate:"inputPrivacyValueAllowUsers",params:[{name:"users",type:"Vector<InputUser>"}],type:"InputPrivacyRule"},{id:"195371015",predicate:"inputPrivacyValueDisallowContacts",params:[],type:"InputPrivacyRule"},{id:"-697604407",predicate:"inputPrivacyValueDisallowAll",params:[],type:"InputPrivacyRule"},{id:"-1877932953",predicate:"inputPrivacyValueDisallowUsers",params:[{name:"users",type:"Vector<InputUser>"}],type:"InputPrivacyRule"},{id:"-123988",predicate:"privacyValueAllowContacts",params:[],type:"PrivacyRule"},{id:"1698855810",predicate:"privacyValueAllowAll",params:[],type:"PrivacyRule"},{id:"1297858060",predicate:"privacyValueAllowUsers",params:[{name:"users",type:"Vector<int>"}],type:"PrivacyRule"},{id:"-125240806",predicate:"privacyValueDisallowContacts",params:[],type:"PrivacyRule"},{id:"-1955338397",predicate:"privacyValueDisallowAll",params:[],type:"PrivacyRule"},{id:"209668535",predicate:"privacyValueDisallowUsers",params:[{name:"users",type:"Vector<int>"}],type:"PrivacyRule"},{id:"1430961007",predicate:"account.privacyRules",params:[{name:"rules",type:"Vector<PrivacyRule>"},{name:"users",type:"Vector<User>"}],type:"account.PrivacyRules"},{id:"-1194283041",predicate:"accountDaysTTL",params:[{name:"days",type:"int"}],type:"AccountDaysTTL"},{id:"314130811",predicate:"updateUserPhone",params:[{name:"user_id",type:"int"},{name:"phone",type:"string"}],type:"Update"},{id:"1815593308",predicate:"documentAttributeImageSize",params:[{name:"w",type:"int"},{name:"h",type:"int"}],type:"DocumentAttribute"},{id:"297109817",predicate:"documentAttributeAnimated",params:[],type:"DocumentAttribute"},{id:"1662637586",p
type:"#"},{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"peer",type:"Peer"},{name:"msg_id",type:"int"},{name:"chat_instance",type:"long"},{name:"data",type:"flags.0?bytes"},{name:"game_short_name",type:"flags.1?string"}],type:"Update"},{id:"649453030",predicate:"messages.messageEditData",params:[{name:"flags",type:"#"},{name:"caption",type:"flags.0?true"}],type:"messages.MessageEditData"},{id:"-469536605",predicate:"updateEditMessage",params:[{name:"message",type:"Message"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:"-190472735",predicate:"inputBotInlineMessageMediaGeo",params:[{name:"flags",type:"#"},{name:"geo_point",type:"InputGeoPoint"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:"-1431327288",predicate:"inputBotInlineMessageMediaVenue",params:[{name:"flags",type:"#"},{name:"geo_point",type:"InputGeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:"766443943",predicate:"inputBotInlineMessageMediaContact",params:[{name:"flags",type:"#"},{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:"982505656",predicate:"botInlineMessageMediaGeo",params:[{name:"flags",type:"#"},{name:"geo",type:"GeoPoint"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"1130767150",predicate:"botInlineMessageMediaVenue",params:[{name:"flags",type:"#"},{name:"geo",type:"GeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"904770772",predicate:"botInlineMessageMediaContact",params:[{name:"flags",type:"#"},{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"-1462213465",predicate:"inputBotInlineResultPhoto",params:[{name:"id",type:"string"},{name:"type",type:"string"},{name:"photo",type:"InputPhoto"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:"-459324",predicate:"inputBotInlineResultDocument",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"title",type:"flags.1?string"},{name:"description",type:"flags.2?string"},{name:"document",type:"InputDocument"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:"400266251",predicate:"botInlineMediaResult",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"photo",type:"flags.0?Photo"},{name:"document",type:"flags.1?Document"},{name:"title",type:"flags.2?string"},{name:"description",type:"flags.3?string"},{name:"send_message",type:"BotInlineMessage"}],type:"BotInlineResult"},{id:"-1995686519",predicate:"inputBotInlineMessageID",params:[{name:"dc_id",type:"int"},{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputBotInlineMessageID"},{id:"-103646630",predicate:"updateInlineBotCallbackQuery",params:[{name:"flags",type:"#"},{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"msg_id",type:"InputBotInlineMessageID"},{name:"chat_instance",type:"long"},{name:"data",type:"flags.0?bytes"},{name:"game_short_name",type:"flags.1?string"}],type:"Update"},{id:"1008755359",predicate:"inlineBotSwitchPM",params:[{name:"text",type:"string"},{name:"start_param",type:"string"}],type:"InlineBotSwitchPM"},{id:"863093588",predicate:"messages.peerDialogs",params:[{name:"dialogs",type:"Vector<Dialog>"},{name:"messages",type:"Vector<Message>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"state",type:"updates.State"}],type:"messages.PeerDialogs"},{id:"-305282981",predicate:"topPeer",params:[{name:"peer",type:"Peer"
params:[{name:"key",type:"InputPrivacyKey"},{name:"rules",type:"Vector<InputPrivacyRule>"}],type:"account.PrivacyRules"},{id:"1099779595",method:"account.deleteAccount",params:[{name:"reason",type:"string"}],type:"Bool"},{id:"150761757",method:"account.getAccountTTL",params:[],type:"AccountDaysTTL"},{id:"608323678",method:"account.setAccountTTL",params:[{name:"ttl",type:"AccountDaysTTL"}],type:"Bool"},{id:"-627372787",method:"invokeWithLayer",params:[{name:"layer",type:"int"},{name:"query",type:"!X"}],type:"X"},{id:"-113456221",method:"contacts.resolveUsername",params:[{name:"username",type:"string"}],type:"contacts.ResolvedPeer"},{id:"149257707",method:"account.sendChangePhoneCode",params:[{name:"flags",type:"#"},{name:"allow_flashcall",type:"flags.0?true"},{name:"phone_number",type:"string"},{name:"current_number",type:"flags.0?Bool"}],type:"auth.SentCode"},{id:"1891839707",method:"account.changePhone",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"},{name:"phone_code",type:"string"}],type:"User"},{id:"479598769",method:"messages.getAllStickers",params:[{name:"hash",type:"int"}],type:"messages.AllStickers"},{id:"954152242",method:"account.updateDeviceLocked",params:[{name:"period",type:"int"}],type:"Bool"},{id:"1738800940",method:"auth.importBotAuthorization",params:[{name:"flags",type:"int"},{name:"api_id",type:"int"},{name:"api_hash",type:"string"},{name:"bot_auth_token",type:"string"}],type:"auth.Authorization"},{id:"623001124",method:"messages.getWebPagePreview",params:[{name:"message",type:"string"}],type:"MessageMedia"},{id:"-484392616",method:"account.getAuthorizations",params:[],type:"account.Authorizations"},{id:"-545786948",method:"account.resetAuthorization",params:[{name:"hash",type:"long"}],type:"Bool"},{id:"1418342645",method:"account.getPassword",params:[],type:"account.Password"},{id:"-1131605573",method:"account.getPasswordSettings",params:[{name:"current_password_hash",type:"bytes"}],type:"account.PasswordSettings"},{id:"-92517498",method:"account.updatePasswordSettings",params:[{name:"current_password_hash",type:"bytes"},{name:"new_settings",type:"account.PasswordInputSettings"}],type:"Bool"},{id:"174260510",method:"auth.checkPassword",params:[{name:"password_hash",type:"bytes"}],type:"auth.Authorization"},{id:"-661144474",method:"auth.requestPasswordRecovery",params:[],type:"auth.PasswordRecovery"},{id:"1319464594",method:"auth.recoverPassword",params:[{name:"code",type:"string"}],type:"auth.Authorization"},{id:"-1080796745",method:"invokeWithoutUpdates",params:[{name:"query",type:"!X"}],type:"X"},{id:"2106086025",method:"messages.exportChatInvite",params:[{name:"chat_id",type:"int"}],type:"ExportedChatInvite"},{id:"1051570619",method:"messages.checkChatInvite",params:[{name:"hash",type:"string"}],type:"ChatInvite"},{id:"1817183516",method:"messages.importChatInvite",params:[{name:"hash",type:"string"}],type:"Updates"},{id:"639215886",method:"messages.getStickerSet",params:[{name:"stickerset",type:"InputStickerSet"}],type:"messages.StickerSet"},{id:"-946871200",method:"messages.installStickerSet",params:[{name:"stickerset",type:"InputStickerSet"},{name:"archived",type:"Bool"}],type:"messages.StickerSetInstallResult"},{id:"-110209570",method:"messages.uninstallStickerSet",params:[{name:"stickerset",type:"InputStickerSet"}],type:"Bool"},{id:"-421563528",method:"messages.startBot",params:[{name:"bot",type:"InputUser"},{name:"peer",type:"InputPeer"},{name:"random_id",type:"long"},{name:"start_param",type:"string"}],type:"Updates"},{id:"-1189013126",method:"help.getAppChangelog",params:[],type:"help.AppChangelog"},{id:"-993483427",method:"messages.getMessagesViews",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"Vector<int>"},{name:"increment",type:"Bool"}],type:"Vector<int>"},{id:"-871347913",method:"channels.readHistory",params:[{name:"channel",type:"InputChannel"},{name:"max_id",type:"int"}],type:"Bool"},{id:"-2067661490",method:"channels.deleteMessages",params:[{name:"channel",type:"InputChannel"},{name:"id",type:"Vector<int>"}],type:"messages.AffectedMessag
"1f4a6":["💦",["sweat_drops"]],"1f4a7":["💧",["droplet"]],"1f4a8":["💨",["dash"]],"1f4a9":["💩",["hankey","poop","shit"]],"1f4aa":["💪",["muscle"]],"1f4ab":["💫",["dizzy"]],"1f4ac":["💬",["speech_balloon"]],"1f4ad":["💭",["thought_balloon"]],"1f4ae":["💮",["white_flower"]],"1f4af":["💯",["100"]],"1f4b0":["💰",["moneybag"]],"1f4b1":["💱",["currency_exchange"]],"1f4b2":["💲",["heavy_dollar_sign"]],"1f4b3":["💳",["credit_card"]],"1f4b4":["💴",["yen"]],"1f4b5":["💵",["dollar"]],"1f4b6":["💶",["euro"]],"1f4b7":["💷",["pound"]],"1f4b8":["💸",["money_with_wings"]],"1f4b9":["💹",["chart"]],"1f4ba":["💺",["seat"]],"1f4bb":["💻",["computer"]],"1f4bc":["💼",["briefcase"]],"1f4bd":["💽",["minidisc"]],"1f4be":["💾",["floppy_disk"]],"1f4bf":["💿",["cd"]],"1f4c0":["📀",["dvd"]],"1f4c1":["📁",["file_folder"]],"1f4c2":["📂",["open_file_folder"]],"1f4c3":["📃",["page_with_curl"]],"1f4c4":["📄",["page_facing_up"]],"1f4c5":["📅",["date"]],"1f4c6":["📆",["calendar"]],"1f4c7":["📇",["card_index"]],"1f4c8":["📈",["chart_with_upwards_trend"]],"1f4c9":["📉",["chart_with_downwards_trend"]],"1f4ca":["📊",["bar_chart"]],"1f4cb":["📋",["clipboard"]],"1f4cc":["📌",["pushpin"]],"1f4cd":["📍",["round_pushpin"]],"1f4ce":["📎",["paperclip"]],"1f4cf":["📏",["straight_ruler"]],"1f4d0":["📐",["triangular_ruler"]],"1f4d1":["📑",["bookmark_tabs"]],"1f4d2":["📒",["ledger"]],"1f4d3":["📓",["notebook"]],"1f4d4":["📔",["notebook_with_decorative_cover"]],"1f4d5":["📕",["closed_book"]],"1f4d6":["📖",["book","open_book"]],"1f4d7":["📗",["green_book"]],"1f4d8":["📘",["blue_book"]],"1f4d9":["📙",["orange_book"]],"1f4da":["📚",["books"]],"1f4db":["📛",["name_badge"]],"1f4dc":["📜",["scroll"]],"1f4dd":["📝",["memo","pencil"]],"1f4de":["📞",["telephone_receiver"]],"1f4df":["📟",["pager"]],"1f4e0":["📠",["fax"]],"1f4e1":["📡",["satellite"]],"1f4e2":["📢",["loudspeaker"]],"1f4e3":["📣",["mega"]],"1f4e4":["📤",["outbox_tray"]],"1f4e5":["📥",["inbox_tray"]],"1f4e6":["📦",["package"]],"1f4e7":["📧",["e-mail"]],"1f4e8":["📨",["incoming_envelope"]],"1f4e9":["📩",["envelope_with_arrow"]],"1f4ea":["📪",["mailbox_closed"]],"1f4eb":["📫",["mailbox"]],"1f4ec":["📬",["mailbox_with_mail"]],"1f4ed":["📭",["mailbox_with_no_mail"]],"1f4ee":["📮",["postbox"]],"1f4ef":["📯",["postal_horn"]],"1f4f0":["📰",["newspaper"]],"1f4f1":["📱",["iphone"]],"1f4f2":["📲",["calling"]],"1f4f3":["📳",["vibration_mode"]],"1f4f4":["📴",["mobile_phone_off"]],"1f4f5":["📵",["no_mobile_phones"]],"1f4f6":["📶",["signal_strength"]],"1f4f7":["📷",["camera"]],"1f4f9":["📹",["video_camera"]],"1f4fa":["📺",["tv"]],"1f4fb":["📻",["radio"]],"1f4fc":["📼",["vhs"]],"1f500":["🔀",["twisted_rightwards_arrows"]],"1f501":["🔁",["repeat"]],"1f502":["🔂",["repeat_one"]],"1f503":["🔃",["arrows_clockwise"]],"1f504":["🔄",["arrows_counterclockwise"]],"1f505":["🔅",["low_brightness"]],"1f506":["🔆",["high_brightness"]],"1f507":["🔇",["mute"]],"1f508":["🔉",["speaker"]],"1f509":["🔉",["sound"]],"1f50a":["🔊",["loud_sound"]],"1f50b":["🔋",["battery"]],"1f50c":["🔌",["electric_plug"]],"1f50d":["🔍",["mag"]],"1f50e":["🔎",["mag_right"]],"1f50f":["🔏",["lock_with_ink_pen"]],"1f510":["🔐",["closed_lock_with_key"]],"1f511":["🔑",["key"]],"1f512":["🔒",["lock"]],"1f513":["🔓",["unlock"]],"1f514":["🔔",["bell"]],"1f515":["🔕",["no_bell"]],"1f516":["🔖",["bookmark"]],"1f517":["🔗",["link"]],"1f518":["🔘",["radio_button"]],"1f519":["🔙",["back"]],"1f51a":["🔚",["end"]],"1f51b":["🔛",["on"]],"1f51c":["🔜",["soon"]],"1f51d":["🔝",["top"]],"1f51e":["🔞",["underage"]],"1f51f":["🔟",["keycap_ten"]],"1f520":["🔠",["capital_abcd"]],"1f521":["🔡",["abcd"]],"1f522":["🔢",["1234"]],"1f523":["🔣",["symbols"]],"1f524":["🔤",["abc"]],"1f525":["🔥",["fire"]],"1f526":["🔦",["flashlight"]],"1f527":["🔧",["wrench"]],"1f528":["🔨",["hammer"]],"1f529":["🔩",["nut_and_bolt"]],"1f52a":["🔪",["hocho"]],"1f52
Config.LangCountries={es:"ES",ru:"RU",en:"US",de:"DE",it:"IT",nl:"NL",fr:"FR",ca:"ES","es-419":"MX",ar:"SA",he:"IL",tr:"TR",id:"ID",pl:"PL"},function(e){function t(e){l=e}function n(){c=!0}function a(){return c?(c=!1,""):l}function i(e,t){var n=!1;Array.isArray(e)||(e=Array.prototype.slice.call(arguments),t=e.pop(),n=1==e.length);var i,o,s,r=[],l=!0,c=a();for(o=0;o<e.length;o++)if(s=e[o]=c+e[o],"xt_"!=s.substr(0,3)&&void 0!==d[s])r.push(d[s]);else if(u){try{i=localStorage.getItem(s)}catch(m){u=!1}try{i=void 0!==i&&null!==i&&JSON.parse(i)}catch(m){i=!1}r.push(d[s]=i)}else p?l=!1:r.push(d[s]=!1);return l?t(n?r[0]:r):void chrome.storage.local.get(e,function(a){var i;for(r=[],o=0;o<e.length;o++)s=e[o],i=a[s],i=void 0!==i&&null!==i&&JSON.parse(i),r.push(d[s]=i);t(n?r[0]:r)})}function o(e,t){var n,i,o={},s=a();for(n in e)if(e.hasOwnProperty(n))if(i=e[n],n=s+n,d[n]=i,i=JSON.stringify(i),u)try{localStorage.setItem(n,i)}catch(r){u=!1}else o[n]=i;return u||!p?void(t&&t()):void chrome.storage.local.set(o,t)}function s(e,t){Array.isArray(e)||(e=Array.prototype.slice.call(arguments),"function"==typeof e[e.length-1]&&(t=e.pop()));var n,i,o=a();for(n=0;n<e.length;n++)if(i=e[n]=o+e[n],delete d[i],u)try{localStorage.removeItem(i)}catch(s){u=!1}p?chrome.storage.local.remove(e,t):t&&t()}function r(e){if(u)try{localStorage.clear()}catch(t){u=!1}p?chrome.storage.local.clear(function(){d={},e()}):(d={},e())}var l="",c=!1,d={},p=!!(e.chrome&&chrome.storage&&chrome.storage.local),u=!p&&!!e.localStorage;e.ConfigStorage={prefix:t,noPrefix:n,get:i,set:o,remove:s,clear:r}}(this),function(){try{window==window.top||window.chrome&&chrome.app&&chrome.app.window?document.documentElement.style.display="block":top.location=self.location}catch(e){console.error("CJ protection",e)}var t=[Config.Navigator.osX?"osx":"non_osx",Config.Navigator.msie?"msie":"non_msie",Config.Navigator.retina?"is_2x":"is_1x"];Config.Modes.ios_standalone&&t.push("ios_standalone"),$(document.body).addClass(t.join(" ")),ConfigStorage.get("layout_selected","i18n_locale",function(e){var t=e[0],n=e[1],a="en-us",i={dom:!1,i18n_ng:!1,i18n_messages:!1,i18n_fallback:!1},o=function(){var e,t=!0;for(e in i)if(i.hasOwnProperty(e)&&i[e]===!1){t=!1;break}t&&(i.boot=!1,angular.bootstrap(document,["myApp"]))};switch(Config.Modes.force_mobile?t="mobile":Config.Modes.force_desktop&&(t="desktop"),t){case"mobile":Config.Mobile=!0;break;case"desktop":Config.Mobile=!1;break;default:var s=$(window).width();Config.Mobile=Config.Navigator.mobile||s>10&&s<480}$("head").append('<link rel="stylesheet" href="css/'+(Config.Mobile?"mobile.css":"desktop.css")+'" />'),n||(n=(navigator.language||"").toLowerCase(),n=Config.I18n.aliases[n]||n);for(var r=0;r<Config.I18n.supported.length;r++)if(Config.I18n.supported[r]==n){Config.I18n.locale=n;break}i.i18n_ng=Config.I18n.locale==a,$.getJSON("js/locales/"+Config.I18n.locale+".json").success(function(e){Config.I18n.messages=e,i.i18n_messages=!0,Config.I18n.locale==a&&(i.i18n_fallback=!0),o()}),Config.I18n.locale!=a&&$.getJSON("js/locales/"+a+".json").success(function(e){Config.I18n.fallback_messages=e,i.i18n_fallback=!0,o()}),$(document).ready(function(){i.dom=!0,i.i18n_ng?o():$("<script>").appendTo("body").on("load",function(){i.i18n_ng=!0,o()}).attr("src","vendor/angular/i18n/angular-locale_"+Config.I18n.locale+".js")})})}(),function(){function e(){t||safeConfirm({type:"WEBOGRAM_UPDATED_RELOAD",message:"A new version of Webogram is downloaded. Launch it?"},function(e){e?window.location.reload():t=!0})}if(window.safeConfirm=function(e,t){"string"==typeof e&&(e={message:e});var n=!1;try{n=confirm(e.message)}catch(a){n=!0}setTimeout(function(){t(n)},10)},(navigator.serviceWorker||window.applicationCache)&&!Config.Modes.packed&&window.addEventListener){var t=!1;if(navigator.serviceWorker)navigator.serviceWorker.register("service_worker.js").then(function(t){console.log("Offline worker registered"),t.addEventListener("updatefound",function(){var t=this.installing;t.addEventListener("statechange",function(){switch(t.state){case"installed":navigator.serviceWorker.controller&
}};return n.elem=e,n}function Ke(e,t,n){n.call(e,t)}function Ye(e,t,n){var a=t.relatedTarget;a&&(a===e||Si.call(e,a))||n.call(e,t)}function Ze(){this.$get=function(){return c(Ae,{hasClass:function(e,t){return e.attr&&(e=e[0]),Ne(e,t)},addClass:function(e,t){return e.attr&&(e=e[0]),Ue(e,t)},removeClass:function(e,t){return e.attr&&(e=e[0]),Be(e,t)}})}}function Xe(e,t){var n=e&&e.$$hashKey;if(n)return"function"==typeof n&&(n=e.$$hashKey()),n;var a=typeof e;return n="function"==a||"object"==a&&null!==e?e.$$hashKey=a+":"+(t||s)():a+":"+e}function Je(e,t){if(t){var n=0;this.nextUid=function(){return++n}}a(e,this.put,this)}function Qe(e){return Function.prototype.toString.call(e)+" "}function et(e){var t=Qe(e).replace(Fi,""),n=t.match(Ti)||t.match(Di);return n}function tt(e){var t=et(e);return t?"function("+(t[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function nt(e,t,n){var i,o,s;if("function"==typeof e){if(!(i=e.$inject)){if(i=[],e.length){if(t)throw w(n)&&n||(n=e.name||tt(e)),Ni("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",n);o=et(e),a(o[1].split(Pi),function(e){e.replace(Ri,function(e,t,n){i.push(n)})})}e.$inject=i}}else Ya(e)?(s=e.length-1,de(e[s],"fn"),i=e.slice(0,s)):de(e,"fn",!0);return i}function at(e,t){function n(e){return function(t,n){return y(t)?void a(t,o(e)):e(t,n)}}function i(e,t){if(pe(e,"service"),(C(t)||Ya(t))&&(t=$.instantiate(t)),!t.$get)throw Ni("pget","Provider '{0}' must define $get factory method.",e);return k[e+f]=t}function s(e,t){return function(){var n=x.invoke(t,this);if(_(n))throw Ni("undef","Provider '{0}' must return a value from $get factory method.",e);return n}}function r(e,t,n){return i(e,{$get:n!==!1?s(e,t):t})}function l(e,t){return r(e,["$injector",function(e){return e.instantiate(t)}])}function c(e,t){return r(e,h(t),!1)}function d(e,t){pe(e,"constant"),k[e]=t,S[e]=t}function p(e,t){var n=$.get(e+f),a=n.$get;n.$get=function(){var e=x.invoke(a,n);return x.invoke(t,null,{$delegate:e})}}function u(e){ce(_(e)||Ya(e),"modulesToLoad","not an array");var t,n=[];return a(e,function(e){function a(e){var t,n;for(t=0,n=e.length;t<n;t++){var a=e[t],i=$.get(a[0]);i[a[1]].apply(i,a[2])}}if(!b.get(e)){b.put(e,!0);try{w(e)?(t=La(e),n=n.concat(u(t.requires)).concat(t._runBlocks),a(t._invokeQueue),a(t._configBlocks)):C(e)?n.push($.invoke(e)):Ya(e)?n.push($.invoke(e)):de(e,"module")}catch(i){throw Ya(e)&&(e=e[e.length-1]),i.message&&i.stack&&i.stack.indexOf(i.message)==-1&&(i=i.message+"\n"+i.stack),Ni("modulerr","Failed to instantiate module {0} due to:\n{1}",e,i.stack||i.message||i)}}}),n}function m(e,n){function a(t,a){if(e.hasOwnProperty(t)){if(e[t]===g)throw Ni("cdep","Circular dependency found: {0}",t+" <- "+v.join(" <- "));return e[t]}try{return v.unshift(t),e[t]=g,e[t]=n(t,a)}catch(i){throw e[t]===g&&delete e[t],i}finally{v.shift()}}function i(e,n,i){for(var o=[],s=at.$$annotate(e,t,i),r=0,l=s.length;r<l;r++){var c=s[r];if("string"!=typeof c)throw Ni("itkn","Incorrect injection token! Expected service name as string, got {0}",c);o.push(n&&n.hasOwnProperty(c)?n[c]:a(c,i))}return o}function o(e){return!(Ba<=11)&&("function"==typeof e&&/^(?:class\s|constructor\()/.test(Qe(e)))}function s(e,t,n,a){"string"==typeof n&&(a=n,n=null);var s=i(e,n,a);return Ya(e)&&(e=e[e.length-1]),o(e)?(s.unshift(null),new(Function.prototype.bind.apply(e,s))):e.apply(t,s)}function r(e,t,n){var a=Ya(e)?e[e.length-1]:e,o=i(e,t,n);return o.unshift(null),new(Function.prototype.bind.apply(a,o))}return{invoke:s,instantiate:r,get:a,annotate:at.$$annotate,has:function(t){return k.hasOwnProperty(t+f)||e.hasOwnProperty(t)}}}t=t===!0;var g={},f="Provider",v=[],b=new Je([],(!0)),k={$provide:{provider:n(i),factory:n(r),service:n(l),value:n(c),constant:n(d),decorator:p}},$=k.$injector=m(k,function(e,t){throw Ga.isString(t)&&v.push(t),Ni("unpr","Unknown provider: {0}",v.join(" <- "))}),S={},M=m(S,function(e,t){var n=$.get(e+f,t);return x.invoke(n.$get,n,void 0,e)}),x=M;k["$injector"+f]={$get:h(M)};var I=u(e);return x=M.get("$injector"),x.strictDi=t,a(I,function(e){e&&x.invoke(e)}),x}function it(
var l=c({method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse,paramSerializer:e.paramSerializer},n);l.headers=r(n),l.method=Ra(l.method),l.paramSerializer=w(l.paramSerializer)?u.get(l.paramSerializer):l.paramSerializer;var d=function(t){var n=t.headers,i=Et(t.data,At(n),void 0,t.transformRequest);return _(i)&&a(n,function(e,t){"content-type"===Pa(t)&&delete n[t]}),_(t.withCredentials)&&!_(e.withCredentials)&&(t.withCredentials=e.withCredentials),f(t,i).then(o,o)},m=[d,void 0],g=p.when(l);for(a($,function(e){(e.request||e.requestError)&&m.unshift(e.request,e.requestError),(e.response||e.responseError)&&m.push(e.response,e.responseError)});m.length;){var h=m.shift(),v=m.shift();g=g.then(h,v)}return i?(g.success=function(e){return de(e,"fn"),g.then(function(t){e(t.data,t.status,t.headers,l)}),g},g.error=function(e){return de(e,"fn"),g.then(null,function(t){e(t.data,t.status,t.headers,l)}),g}):(g.success=io("success"),g.error=io("error")),g}function g(e){a(arguments,function(e){m[e]=function(t,n){return m(c({},n||{},{method:e,url:t}))}})}function h(e){a(arguments,function(e){m[e]=function(t,n,a){return m(c({},a||{},{method:e,url:t,data:n}))}})}function f(t,i){function o(e){if(e){var t={};return a(e,function(e,a){t[a]=function(t){function a(){e(t)}n?d.$applyAsync(a):d.$$phase?a():d.$apply(a)}}),t}}function l(e,t,a,i){function o(){c(t,e,a,i)}h&&(Tt(e)?h.put(S,[e,t,It(a),i]):h.remove(S)),n?d.$applyAsync(o):(o(),d.$$phase||d.$apply())}function c(e,n,a,i){n=n>=-1?n:0,(Tt(n)?w.resolve:w.reject)({data:e,status:n,headers:At(a),config:t,statusText:i})}function u(e){c(e.data,e.status,fe(e.headers()),e.statusText)}function g(){var e=m.pendingRequests.indexOf(t);e!==-1&&m.pendingRequests.splice(e,1)}var h,f,w=p.defer(),$=w.promise,C=t.headers,S=b(t.url,t.paramSerializer(t.params));if(m.pendingRequests.push(t),$.then(g,g),!t.cache&&!e.cache||t.cache===!1||"GET"!==t.method&&"JSONP"!==t.method||(h=y(t.cache)?t.cache:y(e.cache)?e.cache:k),h&&(f=h.get(S),v(f)?D(f)?f.then(u,u):Ya(f)?c(f[1],f[0],fe(f[2]),f[3]):c(f,200,{},"OK"):h.put(S,$)),_(f)){var M=Fn(t.url)?r()[t.xsrfCookieName||e.xsrfCookieName]:void 0;M&&(C[t.xsrfHeaderName||e.xsrfHeaderName]=M),s(t.method,S,i,l,C,t.timeout,t.withCredentials,t.responseType,o(t.eventHandlers),o(t.uploadEventHandlers))}return $}function b(e,t){return t.length>0&&(e+=(e.indexOf("?")==-1?"?":"&")+t),e}var k=l("$http");e.paramSerializer=w(e.paramSerializer)?u.get(e.paramSerializer):e.paramSerializer;var $=[];return a(o,function(e){$.unshift(w(e)?u.get(e):u.invoke(e))}),m.pendingRequests=[],g("get","delete","head","jsonp"),h("post","put","patch"),m.defaults=e,m}]}function Pt(){this.$get=function(){return function(){return new e.XMLHttpRequest}}}function Rt(){this.$get=["$browser","$window","$document","$xhrFactory",function(e,t,n,a){return Ft(e,a,e.defer,t.angular.callbacks,n[0])}]}function Ft(e,t,n,i,o){function s(e,t,n){var a=o.createElement("script"),s=null;return a.type="text/javascript",a.src=e,a.async=!0,s=function(e){hi(a,"load",s),hi(a,"error",s),o.body.removeChild(a),a=null;var r=-1,l="unknown";e&&("load"!==e.type||i[t].called||(e={type:"error"}),l=e.type,r="error"===e.type?404:200),n&&n(r,l)},gi(a,"load",s),gi(a,"error",s),o.body.appendChild(a),s}return function(o,r,l,c,d,p,u,g,h,f){function y(){k&&k(),$&&$.abort()}function b(t,a,i,o,s){v(M)&&n.cancel(M),k=$=null,t(a,i,o,s),e.$$completeOutstandingRequest(m)}if(e.$$incOutstandingRequestCount(),r=r||e.url(),"jsonp"==Pa(o)){var w="_"+(i.counter++).toString(36);i[w]=function(e){i[w].data=e,i[w].called=!0};var k=s(r.replace("JSON_CALLBACK","angular.callbacks."+w),w,function(e,t){b(c,e,i[w].data,"",t),i[w]=m})}else{var $=t(o,r);$.open(o,r,!0),a(d,function(e,t){v(e)&&$.setRequestHeader(t,e)}),$.onload=function(){var e=$.statusText||"",t="response"in $?$.response:$.responseText,n=1223===$.status?204:$.status;0===n&&(n=t?200:"file"==Rn(r).protocol?404:0),b(c,n,t,$.getAllResponseHeaders(),e)};var C=function(){b(c,-1,null,null,"")};if($.onerror=C,$.onabort=C,a(h,function(e,t){$.addEventListener(t,e)}),a(f,function(e,t){$.upload
var n,a,i={},o=e.chrome&&e.chrome.app&&e.chrome.app.runtime,s=!o&&e.history&&e.history.pushState,r=p((/android (\d+)/.exec(Pa((e.navigator||{}).userAgent))||[])[1]),l=/Boxee/i.test((e.navigator||{}).userAgent),c=t[0]||{},d=/^(Moz|webkit|ms)(?=[A-Z])/,u=c.body&&c.body.style,m=!1,g=!1;if(u){for(var h in u)if(a=d.exec(h)){n=a[0],n=n[0].toUpperCase()+n.substr(1);break}n||(n="WebkitOpacity"in u&&"webkit"),m=!!("transition"in u||n+"Transition"in u),g=!!("animation"in u||n+"Animation"in u),!r||m&&g||(m=w(u.webkitTransition),g=w(u.webkitAnimation))}return{history:!(!s||r<4||l),hasEvent:function(e){if("input"===e&&Ba<=11)return!1;if(_(i[e])){var t=c.createElement("div");i[e]="on"+e in t}return i[e]},csp:Qa(),vendorPrefix:n,transitions:m,animations:g,android:r}}]}function Tn(){var e;this.httpOptions=function(t){return t?(e=t,this):e},this.$get=["$templateCache","$http","$q","$sce",function(t,n,a,i){function o(s,r){function l(e){if(!r)throw $o("tpload","Failed to load template: {0} (HTTP status: {1} {2})",s,e.status,e.statusText);return a.reject(e)}o.totalPendingRequests++,w(s)&&!_(t.get(s))||(s=i.getTrustedResourceUrl(s));var d=n.defaults&&n.defaults.transformResponse;return Ya(d)?d=d.filter(function(e){return e!==Mt}):d===Mt&&(d=null),n.get(s,c({cache:t,transformResponse:d},e))["finally"](function(){o.totalPendingRequests--}).then(function(e){return t.put(s,e.data),e.data},l)}return o.totalPendingRequests=0,o}]}function Dn(){this.$get=["$rootScope","$browser","$location",function(e,t,n){var i={};return i.findBindings=function(e,t,n){var i=e.getElementsByClassName("ng-binding"),o=[];return a(i,function(e){var i=Ga.element(e).data("$binding");i&&a(i,function(a){if(n){var i=new RegExp("(^|\\s)"+Ja(t)+"(\\s|\\||$)");i.test(a)&&o.push(e)}else a.indexOf(t)!=-1&&o.push(e)})}),o},i.findModels=function(e,t,n){for(var a=["ng-","data-ng-","ng\\:"],i=0;i<a.length;++i){var o=n?"=":"*=",s="["+a[i]+"model"+o+'"'+t+'"]',r=e.querySelectorAll(s);if(r.length)return r}},i.getLocation=function(){return n.url()},i.setLocation=function(t){t!==n.url()&&(n.url(t),e.$digest())},i.whenStable=function(e){t.notifyWhenNoOutstandingRequests(e)},i}]}function Pn(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(e,t,n,a,i){function o(o,r,l){C(o)||(l=r,r=o,o=m);var c,d=H(arguments,3),p=v(l)&&!l,u=(p?a:n).defer(),g=u.promise;return c=t.defer(function(){try{u.resolve(o.apply(null,d))}catch(t){u.reject(t),i(t)}finally{delete s[g.$$timeoutId]}p||e.$apply()},r),g.$$timeoutId=c,s[c]=u,g}var s={};return o.cancel=function(e){return!!(e&&e.$$timeoutId in s)&&(s[e.$$timeoutId].reject("canceled"),delete s[e.$$timeoutId],t.defer.cancel(e.$$timeoutId))},o}]}function Rn(e){var t=e;return Ba&&(Co.setAttribute("href",t),t=Co.href),Co.setAttribute("href",t),{href:Co.href,protocol:Co.protocol?Co.protocol.replace(/:$/,""):"",host:Co.host,search:Co.search?Co.search.replace(/^\?/,""):"",hash:Co.hash?Co.hash.replace(/^#/,""):"",hostname:Co.hostname,port:Co.port,pathname:"/"===Co.pathname.charAt(0)?Co.pathname:"/"+Co.pathname}}function Fn(e){var t=w(e)?Rn(e):e;return t.protocol===So.protocol&&t.host===So.host}function Nn(){this.$get=h(e)}function Bn(e){function t(e){try{return decodeURIComponent(e)}catch(t){return e}}var n=e[0]||{},a={},i="";return function(){var e,o,s,r,l,c=n.cookie||"";if(c!==i)for(i=c,e=i.split("; "),a={},s=0;s<e.length;s++)o=e[s],r=o.indexOf("="),r>0&&(l=t(o.substring(0,r)),_(a[l])&&(a[l]=t(o.substring(r+1))));return a}}function Un(){this.$get=Bn}function On(e){function t(i,o){if(y(i)){var s={};return a(i,function(e,n){s[n]=t(n,e)}),s}return e.factory(i+n,o)}var n="Filter";this.register=t,this.$get=["$injector",function(e){return function(t){return e.get(t+n)}}],t("currency",Vn),t("date",oa),t("filter",Ln),t("json",sa),t("limitTo",ra),t("lowercase",Do),t("number",zn),t("orderBy",ca),t("uppercase",Po)}function Ln(){return function(e,a,i){if(!n(e)){if(null==e)return e;throw t("filter")("notarray","Expected array but received: {0}",e)}var o,s,r=qn(a);switch(r){case"function":o=a;break;case"boolean":case"null":case"number":case"string":s=!0;c
var t=so.exec(e);return(t[1]||""===e)&&this.path(decodeURIComponent(t[1])),(t[2]||t[1]||""===e)&&this.search(t[3]||""),this.hash(t[5]||""),this},protocol:Zt("$$protocol"),host:Zt("$$host"),port:Zt("$$port"),path:Xt("$$path",function(e){return e=null!==e?e.toString():"","/"==e.charAt(0)?e:"/"+e}),search:function(e,t){switch(arguments.length){case 0:return this.$$search;case 1:if(w(e)||k(e))e=e.toString(),this.$$search=J(e);else{if(!y(e))throw lo("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");e=O(e,{}),a(e,function(t,n){null==t&&delete e[n]}),this.$$search=e}break;default:_(t)||null===t?delete this.$$search[e]:this.$$search[e]=t}return this.$$compose(),this},hash:Xt("$$hash",function(e){return null!==e?e.toString():""}),replace:function(){return this.$$replace=!0,this}};a([Yt,Kt,Gt],function(e){e.prototype=Object.create(co),e.prototype.state=function(t){if(!arguments.length)return this.$$state;if(e!==Gt||!this.$$html5)throw lo("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=_(t)?null:t,this}});var po=t("$parse"),uo=Function.prototype.call,mo=Function.prototype.apply,go=Function.prototype.bind,ho=ge();a("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(e){ho[e]=!0});var fo={n:"\n",f:"\f",r:"\r",t:"\t",v:"\x0B","'":"'",'"':'"'},_o=function(e){this.options=e};_o.prototype={constructor:_o,lex:function(e){for(this.text=e,this.index=0,this.tokens=[];this.index<this.text.length;){var t=this.text.charAt(this.index);if('"'===t||"'"===t)this.readString(t);else if(this.isNumber(t)||"."===t&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(t,"(){}[].,;:?"))this.tokens.push({index:this.index,text:t}),this.index++;else if(this.isWhitespace(t))this.index++;else{var n=t+this.peek(),a=n+this.peek(2),i=ho[t],o=ho[n],s=ho[a];if(i||o||s){var r=s?a:o?n:t;this.tokens.push({index:this.index,text:r,operator:!0}),this.index+=r.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(e,t){return t.indexOf(e)!==-1},peek:function(e){var t=e||1;return this.index+t<this.text.length&&this.text.charAt(this.index+t)},isNumber:function(e){return"0"<=e&&e<="9"&&"string"==typeof e},isWhitespace:function(e){return" "===e||"\r"===e||"\t"===e||"\n"===e||"\x0B"===e||" "===e},isIdentifierStart:function(e){return this.options.isIdentifierStart?this.options.isIdentifierStart(e,this.codePointAt(e)):this.isValidIdentifierStart(e)},isValidIdentifierStart:function(e){return"a"<=e&&e<="z"||"A"<=e&&e<="Z"||"_"===e||"$"===e},isIdentifierContinue:function(e){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(e,this.codePointAt(e)):this.isValidIdentifierContinue(e)},isValidIdentifierContinue:function(e,t){return this.isValidIdentifierStart(e,t)||this.isNumber(e)},codePointAt:function(e){return 1===e.length?e.charCodeAt(0):(e.charCodeAt(0)<<10)+e.charCodeAt(1)-56613888},peekMultichar:function(){var e=this.text.charAt(this.index),t=this.peek();if(!t)return e;var n=e.charCodeAt(0),a=t.charCodeAt(0);return n>=55296&&n<=56319&&a>=56320&&a<=57343?e+t:e},isExpOperator:function(e){return"-"===e||"+"===e||this.isNumber(e)},throwError:function(e,t,n){n=n||this.index;var a=v(t)?"s "+t+"-"+this.index+" ["+this.text.substring(t,n)+"]":" "+n;throw po("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",e,a,this.text)},readNumber:function(){for(var e="",t=this.index;this.index<this.text.length;){var n=Pa(this.text.charAt(this.index));if("."==n||this.isNumber(n))e+=n;else{var a=this.peek();if("e"==n&&this.isExpOperator(a))e+=n;else if(this.isExpOperator(n)&&a&&this.isNumber(a)&&"e"==e.charAt(e.length-1))e+=n;else{if(!this.isExpOperator(n)||a&&this.isNumber(a)||"e"!=e.charAt(e.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:t,text:e,constant:!0,value:Number(e)})},readIdent:function(){var e=this.index;for(this.index+=thi
return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(n,a,i,o,s){var r,l,c;n.$watch(i.ngIf,function(n){n?l||s(function(n,o){l=o,n[n.length++]=t.$$createComment("end ngIf",i.ngIf),r={clone:n},e.enter(n,a.parent(),a)}):(c&&(c.remove(),c=null),l&&(l.$destroy(),l=null),r&&(c=me(r.clone),e.leave(c).then(function(){c=null}),r=null))})}}}],gs=["$templateRequest","$anchorScroll","$animate",function(e,t,n){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Ga.noop,compile:function(a,i){var o=i.ngInclude||i.src,s=i.onload||"",r=i.autoscroll;return function(a,i,l,c,d){var p,u,m,g=0,h=function(){u&&(u.remove(),u=null),p&&(p.$destroy(),p=null),m&&(n.leave(m).then(function(){u=null}),u=m,m=null)};a.$watch(o,function(o){var l=function(){!v(r)||r&&!a.$eval(r)||t()},u=++g;o?(e(o,!0).then(function(e){if(!a.$$destroyed&&u===g){var t=a.$new();c.template=e;var r=d(t,function(e){h(),n.enter(e,null,i).then(l)});p=t,m=r,p.$emit("$includeContentLoaded",o),a.$eval(s)}},function(){a.$$destroyed||u===g&&(h(),a.$emit("$includeContentError",o))}),a.$emit("$includeContentRequested",o)):(h(),c.template=null)})}}}}],hs=["$compile",function(t){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(n,a,i,o){return Va.call(a[0]).match(/SVG/)?(a.empty(),void t(Me(o.template,e.document).childNodes)(n,function(e){a.append(e)},{futureParentElement:a})):(a.html(o.template),void t(a.contents())(n))}}}],fs=da({priority:450,compile:function(){return{pre:function(e,t,n){e.$eval(n.ngInit)}}}}),_s=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(e,t,n,i){var o=t.attr(n.$attr.ngList)||", ",s="false"!==n.ngTrim,r=s?Xa(o):o,l=function(e){if(!_(e)){var t=[];return e&&a(e.split(r),function(e){e&&t.push(s?Xa(e):e)}),t}};i.$parsers.push(l),i.$formatters.push(function(e){if(Ya(e))return e.join(o)}),i.$isEmpty=function(e){return!e||!e.length}}}},vs="ng-valid",ys="ng-invalid",bs="ng-pristine",ws="ng-dirty",ks="ng-untouched",$s="ng-touched",Cs="ng-pending",Ss="ng-empty",Ms="ng-not-empty",xs=t("ngModel"),Is=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(e,t,n,i,o,s,r,l,c,d){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=void 0,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=void 0,this.$name=d(n.name||"",!1)(e),this.$$parentForm=No;var p,u=o(n.ngModel),g=u.assign,h=u,f=g,y=null,b=this;this.$$setOptions=function(e){if(b.$options=e,e&&e.getterSetter){var t=o(n.ngModel+"()"),a=o(n.ngModel+"($$$p)");h=function(e){var n=u(e);return C(n)&&(n=t(e)),n},f=function(e,t){C(u(e))?a(e,{$$$p:t}):g(e,t)}}else if(!u.assign)throw xs("nonassign","Expression '{0}' is non-assignable. Element: {1}",n.ngModel,Z(i))},this.$render=m,this.$isEmpty=function(e){return _(e)||""===e||null===e||e!==e},this.$$updateEmptyClasses=function(e){b.$isEmpty(e)?(s.removeClass(i,Ms),s.addClass(i,Ss)):(s.removeClass(i,Ss),s.addClass(i,Ms))};var w=0;xa({ctrl:this,$element:i,set:function(e,t){e[t]=!0},unset:function(e,t){delete e[t]},$animate:s}),this.$setPristine=function(){b.$dirty=!1,b.$pristine=!0,s.removeClass(i,ws),s.addClass(i,bs)},this.$setDirty=function(){b.$dirty=!0,b.$pristine=!1,s.removeClass(i,bs),s.addClass(i,ws),b.$$parentForm.$setDirty()},this.$setUntouched=function(){b.$touched=!1,b.$untouched=!0,s.setClass(i,ks,$s)},this.$setTouched=function(){b.$touched=!0,b.$untouched=!1,s.setClass(i,$s,ks)},this.$rollbackViewValue=function(){r.cancel(y),b.$viewValue=b.$$lastCommittedViewValue,b.$render()},this.$validate=function(){if(!k(b.$modelValue)||!isNaN(b.$modelValue)){var e=b.$$lastCommittedViewValue,t=b.$$rawModelValue,n=b.$valid,a=b.$modelValue,i=b.$options&&b.$options.allowInvalid;b.$$runValidators(t,e,function(e){i||n===e||(b.$modelValue=e?t:void 0,b.$modelValue!==a&&b.$$write
transitionDuration:ge,transitionDelay:me,transitionProperty:P+oe,animationDuration:ue,animationDelay:pe,animationIterationCount:F+le},$e={transitionDuration:ge,transitionDelay:me,animationDuration:ue,animationDelay:pe},Ce=["$animateProvider",function(e){var t=T(),n=T();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$$animateQueue",function(e,a,r,l,c,d,f,_){function y(e,t){var n="$$ngAnimateParentKey",a=e.parentNode,i=a[n]||(a[n]=++L);return i+"-"+e.getAttribute("class")+"-"+t}function b(n,a,i,o){var s=t.get(i);return s||(s=x(e,n,o),"infinite"===s.animationIterationCount&&(s.animationIterationCount=1)),t.put(i,s),s}function C(i,s,r,l){var c;if(t.count(r)>0&&(c=n.get(r),!c)){var d=o(s,"-stagger");a.addClass(i,d),c=x(e,i,l),c.animationDuration=Math.max(c.animationDuration,0),c.transitionDuration=Math.max(c.transitionDuration,0),a.removeClass(i,d),n.put(r,c)}return c||{}}function I(e){q.push(e),f.waitUntilQuiet(function(){t.flush(),n.flush();for(var e=c(),a=0;a<q.length;a++)q[a](e);q.length=0})}function T(e,t,n){var a=b(e,t,n,ke),i=a.animationDelay,o=a.transitionDelay;return a.maxDelay=i&&o?Math.max(i,o):i||o,a.maxDuration=Math.max(a.animationDuration*a.animationIterationCount,a.transitionDuration),a}var O=p(a),L=0,q=[];return function(e,n){function c(){f()}function p(){f(!0)}function f(t){if(!(G||Y&&K)){G=!0,K=!1,V.$$skipPreparationClasses||a.removeClass(e,ke),a.removeClass(e,Se),k(W,!1),w(W,!1),j(ce,function(e){W.style[e[0]]=""}),O(e,V),m(e,V),Object.keys(z).length&&j(z,function(e,t){e?W.style.setProperty(t,e):W.style.removeProperty(t)}),V.onDone&&V.onDone(),me&&me.length&&e.off(me.join(" "),L);var n=e.data(ve);n&&(l.cancel(n[0].timer),e.removeData(ve)),ee&&ee.complete(!t)}}function b(e){Oe.blockTransition&&w(W,e),Oe.blockKeyframeAnimation&&k(W,!!e)}function x(){return ee=new r({end:c,cancel:p}),I(B),f(),{$$willAnimate:!1,start:function(){return ee},end:c}}function L(e){e.stopPropagation();var t=e.originalEvent||e,n=t.$manualTimeStamp||Date.now(),a=parseFloat(t.elapsedTime.toFixed(be));Math.max(n-le,0)>=ae&&a>=ie&&(Y=!0,f())}function q(){function t(){if(!G){if(b(!1),j(ce,function(e){var t=e[0],n=e[1];W.style[t]=n}),O(e,V),a.addClass(e,Se),Oe.recalculateTimingStyles){if(Ce=W.className+" "+ke,Ie=y(W,Ce),Be=T(W,Ce,Ie),Ue=Be.maxDelay,ne=Math.max(Ue,0),ie=Be.maxDuration,0===ie)return void f();Oe.hasTransitions=Be.transitionDuration>0,Oe.hasAnimations=Be.animationDuration>0}if(Oe.applyAnimationDelay&&(Ue="boolean"!=typeof V.delay&&A(V.delay)?parseFloat(V.delay):Ue,ne=Math.max(Ue,0),Be.animationDelay=Ue,Le=M(Ue,!0),ce.push(Le),W.style[Le[0]]=Le[1]),ae=ne*ye,se=ie*ye,V.easing){var t,i=V.easing;Oe.hasTransitions&&(t=P+re,ce.push([t,i]),W.style[t]=i),Oe.hasAnimations&&(t=F+re,ce.push([t,i]),W.style[t]=i)}Be.transitionDuration&&me.push(R),Be.animationDuration&&me.push(N),le=Date.now();var o=ae+we*se,s=le+o,r=e.data(ve)||[],c=!0;if(r.length){var d=r[0];c=s>d.expectedEndTime,c?l.cancel(d.timer):r.push(f)}if(c){var p=l(n,o,!1);r[0]={timer:p,expectedEndTime:s},r.push(f),e.data(ve,r)}me.length&&e.on(me.join(" "),L),V.to&&(V.cleanupStyles&&D(z,W,Object.keys(V.to)),h(e,V))}}function n(){var t=e.data(ve);if(t){for(var n=1;n<t.length;n++)t[n]();e.removeData(ve)}}if(!G){if(!W.parentNode)return void f();var i=function(e){if(Y)K&&e&&(K=!1,f());else if(K=!e,Be.animationDuration){var t=k(W,K);K?ce.push(t):s(ce,t)}},o=Fe>0&&(Be.transitionDuration&&0===Ae.transitionDuration||Be.animationDuration&&0===Ae.animationDuration)&&Math.max(Ae.animationDelay,Ae.transitionDelay);o?l(t,Math.floor(o*Fe*ye),!1):t(),te.resume=function(){i(!0)},te.pause=function(){i(!1)}}}var V=n||{};V.$$prepared||(V=u(U(V)));var z={},W=v(e);if(!W||!W.parentNode||!_.enabled())return x();var G,K,Y,ee,te,ne,ae,ie,se,le,ce=[],pe=e.attr("class"),ue=i(V),me=[];if(0===V.duration||!d.animations&&!d.transitions)return x();var ge=V.event&&H(V.event)?V.event.join(" "):V.event,he=ge&&V.structural,fe="",_e="";he?fe=o(ge,J,!0):ge&&(fe=ge),V.addClass&&(_e+=o(V.addClass,Z)),V.removeClass&&(_e.length&&(_e+=" "),_e+=o(V.removeClass,X)),V.
return l.isOpen},l.getToggleElement=function(){return r.toggleElement},l.focusToggleElement=function(){r.toggleElement&&r.toggleElement[0].focus()},l.$watch("isOpen",function(t,n){o[t?"addClass":"removeClass"](r.$element,c),t?(l.focusToggleElement(),i.open(l)):i.close(l),d(e,t),angular.isDefined(t)&&t!==n&&p(e,{open:!!t})}),e.$on("$locationChangeSuccess",function(){l.isOpen=!1}),e.$on("$destroy",function(){l.$destroy()})}]).directive("dropdown",function(){return{controller:"DropdownController",link:function(e,t,n,a){a.init(t)}}}).directive("dropdownToggle",function(){return{require:"?^dropdown",link:function(e,t,n,a){if(a){a.toggleElement=t;var i=function(i){i.preventDefault(),t.hasClass("disabled")||n.disabled||e.$apply(function(){a.toggle()})};t.bind("click",i),t.attr({"aria-haspopup":!0,"aria-expanded":!1}),e.$watch(a.isOpen,function(e){t.attr("aria-expanded",!!e)}),e.$on("$destroy",function(){t.unbind("click",i)})}}}}),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function e(e){var t=/[A-Z]/g,n="-";return e.replace(t,function(e,t){return(t?n:"")+e.toLowerCase()})}var t={placement:"top",animation:!0,popupDelay:0},n={mouseenter:"mouseleave",click:"click",focus:"blur"},a={};this.options=function(e){angular.extend(a,e)},this.setTriggers=function(e){angular.extend(n,e)},this.$get=["$window","$compile","$timeout","$document","$position","$interpolate",function(i,o,s,r,l,c){return function(i,d,p){function u(e){var t=e||m.trigger||p,a=n[t]||t;return{show:t,hide:a}}var m=angular.extend({},t,a),g=e(i),h=c.startSymbol(),f=c.endSymbol(),_="<div "+g+'-popup title="'+h+"title"+f+'" content="'+h+"content"+f+'" placement="'+h+"placement"+f+'" animation="animation" is-open="isOpen"></div>';return{restrict:"EA",compile:function(e,t){var n=o(_);return function(e,t,a){function o(){A.isOpen?p():c()}function c(){I&&!e.$eval(a[d+"Enable"])||(v(),A.popupDelay?S||(S=s(g,A.popupDelay,!1),S.then(function(e){e()})):g()())}function p(){e.$apply(function(){h()})}function g(){return S=null,C&&(s.cancel(C),C=null),A.content?(f(),k.css({top:0,left:0,display:"block"}),M?r.find("body").append(k):t.after(k),E(),A.isOpen=!0,A.$digest(),E):angular.noop}function h(){A.isOpen=!1,s.cancel(S),S=null,A.animation?C||(C=s(_,500)):_()}function f(){k&&_(),$=A.$new(),k=n($,angular.noop)}function _(){C=null,k&&(k.remove(),k=null),$&&($.$destroy(),$=null)}function v(){y(),b()}function y(){var e=a[d+"Placement"];A.placement=angular.isDefined(e)?e:m.placement}function b(){var e=a[d+"PopupDelay"],t=parseInt(e,10);A.popupDelay=isNaN(t)?m.popupDelay:t}function w(){var e=a[d+"Trigger"];T(),x=u(e),x.show===x.hide?t.bind(x.show,o):(t.bind(x.show,c),t.bind(x.hide,p))}var k,$,C,S,M=!!angular.isDefined(m.appendToBody)&&m.appendToBody,x=u(void 0),I=angular.isDefined(a[d+"Enable"]),A=e.$new(!0),E=function(){var e=l.positionElements(t,k,A.placement,M);e.top+="px",e.left+="px",k.css(e)};A.isOpen=!1,a.$observe(i,function(e){A.content=e,!e&&A.isOpen&&h()}),a.$observe(d+"Title",function(e){A.title=e});var T=function(){t.unbind(x.show,c),t.unbind(x.hide,p)};w();var D=e.$eval(a[d+"Animation"]);A.animation=angular.isDefined(D)?!!D:m.animation;var P=e.$eval(a[d+"AppendToBody"]);M=angular.isDefined(P)?P:M,M&&e.$on("$locationChangeSuccess",function(){A.isOpen&&h()}),e.$on("$destroy",function(){s.cancel(C),s.cancel(S),T(),_(),A=null})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function(e){return e("tooltip","tooltip","mouseenter")}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).directive("tooltipHtmlUnsafe",["$tooltip",function(e){return e("tooltipHtmlUnsafe","tooltip","mouseenter")}]),angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function(e,t){funct
blockSize:e.blockSize,formatter:a.format})},decrypt:function(e,t,n,a){a=this.cfg.extend(a),t=this._parse(t,a.format);var i=e.createDecryptor(n,a).finalize(t.ciphertext);return i},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),b=t.kdf={},w=b.OpenSSL={execute:function(e,t,n,a){a||(a=i.random(8));var o=c.create({keySize:t+n}).compute(e,a),s=i.create(o.words.slice(t),4*n);return o.sigBytes=4*t,f.create({key:o,iv:s,salt:a})}},k=n.PasswordBasedCipher=y.extend({cfg:y.cfg.extend({kdf:w}),encrypt:function(e,t,n,a){a=this.cfg.extend(a);var i=a.kdf.execute(n,e.keySize,e.ivSize);a.iv=i.iv;var o=y.encrypt.call(this,e,t,i.key,a);return o.mixIn(i),o},decrypt:function(e,t,n,a){a=this.cfg.extend(a),t=this._parse(t,a.format);var i=a.kdf.execute(n,e.keySize,e.ivSize,t.salt);a.iv=i.iv;var o=y.decrypt.call(this,e,t,i.key,a);return o}})}(),function(){var e=CryptoJS,t=e.lib,n=t.BlockCipher,a=e.algo,i=[],o=[],s=[],r=[],l=[],c=[],d=[],p=[],u=[],m=[];!function(){for(var e=[],t=0;t<256;t++)t<128?e[t]=t<<1:e[t]=t<<1^283;for(var n=0,a=0,t=0;t<256;t++){var g=a^a<<1^a<<2^a<<3^a<<4;g=g>>>8^255&g^99,i[n]=g,o[g]=n;var h=e[n],f=e[h],_=e[f],v=257*e[g]^16843008*g;s[n]=v<<24|v>>>8,r[n]=v<<16|v>>>16,l[n]=v<<8|v>>>24,c[n]=v;var v=16843009*_^65537*f^257*h^16843008*n;d[g]=v<<24|v>>>8,p[g]=v<<16|v>>>16,u[g]=v<<8|v>>>24,m[g]=v,n?(n=h^e[e[e[_^h]]],a^=e[e[a]]):n=a=1}}();var g=[0,1,2,4,8,16,32,64,128,27,54],h=a.AES=n.extend({_doReset:function(){for(var e=this._key,t=e.words,n=e.sigBytes/4,a=this._nRounds=n+6,o=4*(a+1),s=this._keySchedule=[],r=0;r<o;r++)if(r<n)s[r]=t[r];else{var l=s[r-1];r%n?n>6&&r%n==4&&(l=i[l>>>24]<<24|i[l>>>16&255]<<16|i[l>>>8&255]<<8|i[255&l]):(l=l<<8|l>>>24,l=i[l>>>24]<<24|i[l>>>16&255]<<16|i[l>>>8&255]<<8|i[255&l],l^=g[r/n|0]<<24),s[r]=s[r-n]^l}for(var c=this._invKeySchedule=[],h=0;h<o;h++){var r=o-h;if(h%4)var l=s[r];else var l=s[r-4];h<4||r<=4?c[h]=l:c[h]=d[i[l>>>24]]^p[i[l>>>16&255]]^u[i[l>>>8&255]]^m[i[255&l]]}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,s,r,l,c,i)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,d,p,u,m,o);var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,a,i,o,s,r){for(var l=this._nRounds,c=e[t]^n[0],d=e[t+1]^n[1],p=e[t+2]^n[2],u=e[t+3]^n[3],m=4,g=1;g<l;g++){var h=a[c>>>24]^i[d>>>16&255]^o[p>>>8&255]^s[255&u]^n[m++],f=a[d>>>24]^i[p>>>16&255]^o[u>>>8&255]^s[255&c]^n[m++],_=a[p>>>24]^i[u>>>16&255]^o[c>>>8&255]^s[255&d]^n[m++],v=a[u>>>24]^i[c>>>16&255]^o[d>>>8&255]^s[255&p]^n[m++];c=h,d=f,p=_,u=v}var h=(r[c>>>24]<<24|r[d>>>16&255]<<16|r[p>>>8&255]<<8|r[255&u])^n[m++],f=(r[d>>>24]<<24|r[p>>>16&255]<<16|r[u>>>8&255]<<8|r[255&c])^n[m++],_=(r[p>>>24]<<24|r[u>>>16&255]<<16|r[c>>>8&255]<<8|r[255&d])^n[m++],v=(r[u>>>24]<<24|r[c>>>16&255]<<16|r[d>>>8&255]<<8|r[255&p])^n[m++];e[t]=h,e[t+1]=f,e[t+2]=_,e[t+3]=v},keySize:8});e.AES=n._createHelper(h)}(),function(e){var t=CryptoJS,n=t.lib,a=n.WordArray,i=n.Hasher,o=t.algo,s=[],r=[];!function(){function t(t){for(var n=e.sqrt(t),a=2;a<=n;a++)if(!(t%a))return!1;return!0}function n(e){return 4294967296*(e-(0|e))|0}for(var a=2,i=0;i<64;)t(a)&&(i<8&&(s[i]=n(e.pow(a,.5))),r[i]=n(e.pow(a,1/3)),i++),a++}();var l=[],c=o.SHA256=i.extend({_doReset:function(){this._hash=new a.init(s.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,a=n[0],i=n[1],o=n[2],s=n[3],c=n[4],d=n[5],p=n[6],u=n[7],m=0;m<64;m++){if(m<16)l[m]=0|e[t+m];else{var g=l[m-15],h=(g<<25|g>>>7)^(g<<14|g>>>18)^g>>>3,f=l[m-2],_=(f<<15|f>>>17)^(f<<13|f>>>19)^f>>>10;l[m]=h+l[m-7]+_+l[m-16]}var v=c&d^~c&p,y=a&i^a&o^i&o,b=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22),w=(c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25),k=u+w+v+r[m]+l[m],$=b+y;u=p,p=d,d=c,c=s+k|0,s=o,o=i,i=a,a=k+$|0}n[0]=n[0]+a|0,n[1]=n[1]+i|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+c|0,n[5]=n[5]+d|0,n[6]=n[6]+p|0,n[7]=n[7]+u|0},_doFinalize:function(){var t=this._data,n=t.words,a=8*this._nDataBytes,i=8*t.sigBytes;return n[i>>>5]|=128<<24-i%32,n[(i+64>>>9<<4)+14]=e.floor(a/4294967296),n[(i+64>>>9<<4)+15]=a,t.sigBytes=4*n.length,this._process(),this._hash},c
e.g+=t,8<=e.g&&8<=e.g&&I(e)}else e.fa=1;return n}function T(e){return e.Pa==e.gb}function D(e,t){return u(e!=g),0==t?0:(e.gb=2*t-1,e.Y=d(e.gb,zn),e.Y==g?0:(e.Y[0].s=-1,e.Pa=1))}function P(e){e!=g&&(e.Y=g,e.Y=g,e.gb=0,e.Pa=0)}function R(e,t,n,a){for(var i=e.Y,o=0,s=+e.gb;0<a--;){if(o>=s)return 0;if(0>i[o].s){if(T(e))return 0;var r=e,l=r.Y,c=+r.Pa;i[o].s=c-o,r.Pa+=2,l[c+0].s=-1,l[c+1].s=-1}else if(0==i[o].s)return 0;o+=i[o].s+(n>>a&1)}if(0>i[o].s)i[o].s=0;else if(0!=i[o].s)return 0;return i[o].kc=t,1}function F(e,t,n){var a=h,i=0,o=0;for(u(e!=g),u(t!=g),a=0;a<n;++a)0<t[a]&&(++i,o=a);if(!D(e,i))return 0;if(1==i)return 0>o||o>=n?(P(e),0):R(e,o,0,0);if(i=0,o=c(n,h),o==g)return(i=i&&T(e))||P(e),i;var s=h,s=h,a=c(Mn+1,0),r=h,l=c(Mn+1,0),d=0;for(u(t!=g),u(0<n),u(o!=g),s=0;s<n;++s)t[s]>d&&(d=t[s]);if(d>Mn)a=0;else{for(s=0;s<n;++s)++a[t[s]];for(r=a[0]=0,l[0]=-1,s=1;s<=d;++s)r=r+a[s-1]<<1,l[s]=r;for(s=0;s<n;++s)o[s]=0<t[s]?l[t[s]]++:Gn;a=1}if(!a)return(i=i&&T(e))||P(e),i;for(a=0;a<n;++a)if(0<t[a]&&!R(e,a,o[a],t[a]))return(i=i&&T(e))||P(e),i;return(i=T(e))||P(e),i}function N(e,t,n,a,i,o,s){for(var r=h,r=0;r<s;++r)i[o+r]=e[t+r]+n[a+r]&255}function B(n,a,i){var o=n.P.l;if(!(i=0>a||0>i||a+i>n.P.v)&&(i=0==a)){e:{var s=n.Ga,r=n.G,l=n.ub;i=n.P.l;var d=n.P.v,p=n.Xb,m=[g],f=g,_=d*i,v=g,y=g,y="WEBP_FILTER_TYPE",b=h,m=h,w=0,k=h;if(u(0<i&&0<d&&o>=i),u(s!=g&&p!=g),l<=Rn)i=0;else if(k=s[r+0]>>0&3,y=s[r+0]>>2&3,b=s[r+0]>>4&3,m=s[r+0]>>6&3,k<Fn||k>Nn||y>=Fa||b>Bn||0!=m)i=0;else{if(k==Fn)w=l>=_,m=s,f=r+Rn;else{if(m=c(_,0),f=0,m==g){i=0;break e}var w=r+Rn,l=l-Rn,r=m,v=e(dn),$=0,C=Je();C==g?w=0:(C.l=i,C.v=d,C.N=v,ve(Bt),v.put=xt,v.Mb=Mt,v.Pb=It,v.ka=g,v.ka=r,v.fd=0,v.width=i,v.height=d,C.a=Qt,x(C.o,s,w,l),C.Wa=Aa,et(i,d,1,C,g)&&tt(C,i)&&(C.Wa=Ia,$=Ze(C,C.V,C.Ha,C.l,C.v,nt)),C!=g&&Qe(C),w=$)}if(w){for(s=Na[y],s!=g?(v=c(_,0),y=0,v==g&&(w=0,k!=Fn&&(f=m=g)),s(m,f,i,d,1,i,v,y),_=v,k=y):(_=m,k=f),s=0;0<d--;)t(p,s,_,k,i),k+=i,s+=o;b==Bn&&(w=m==g||0>=f||0>=i?0:1)}i=w}}i=!i}return i?g:0==a?n.Xb:+a*o}function U(e){var t=e.width,n=e.height,a=e.J;if(0>=t||0>=n||!(a>=Ut&&a<Xt))return tn;if(!e.Fc&&e.Jb==g){var i=g,o=0,s=0,r=0,l=0,i=y,d=t*Ba[a],p=d*n;if(a<Yt||(o=parseInt((t+1)/2,10),r=o*parseInt((n+1)/2,10),a==Zt&&(s=t,l=s*n)),i=p+2*r+l,i!=i)return tn;if(i=c(i,205),i==g)return en;e.Jb=i,e.jc=g,a<Yt?(t=e.c.RGBA,t.ma=i,t.Sa=g,t.f=d,t.size=p):(t=e.c.Va,t.y=i,t.D=g,t.F=d,t.Wc=p,t.c=i,t.B=g+p,t.nb=o,t.Rc=r,t.S=i,t.C=g+p+r,t.rb=o,t.Uc=r,a==Zt&&(t.p=i,t.q=g+p+2*r),t.Wb=l,t.Fa=s)}return a=1,o=e.J,s=e.width,r=e.height,o>=Ut&&o<Xt?o<Yt?(e=e.c.RGBA,a&=e.f*r<=e.size,a&=e.f>=s*Ba[o],a&=e.ma!=g):(e=e.c.Va,l=e.nb*parseInt((r+1)/2,10),d=e.rb*parseInt((r+1)/2,10),p=e.Fa*r,a&=e.F*r<=e.Wc,a&=l<=e.Rc,a&=d<=e.Uc,a&=p<=e.Wb,a&=e.F>=s,a&=e.nb>=parseInt((s+1)/2,10),a&=e.rb>=parseInt((s+1)/2,10),a&=e.y!=g,a&=e.c!=g,a&=e.S!=g,o==Zt&&(a&=e.Fa>=s,a&=p<=e.Wb,a&=e.p!=g)):a=0,a?Qt:tn}function O(e,t,n,a){if(a==g||0>=e||0>=t)return tn;if(n!=g){if(n.Ua){var i=n.wc,o=n.vc,s=n.t&-2,r=n.k&-2;if(0>s||0>r||0>=i||0>=o||s+i>e||r+o>t)return tn;e=i,t=o}if(n.I){if(0>=n.Ba||0>=n.Aa)return tn;e=n.Ba,t=n.Aa}}return a.width=e,a.height=t,U(a)}function L(e){return e&-256?0>e?0:255:e}function H(e,t,n,a){var i,o=c(16,0);i=0;var s;for(s=0;4>s;++s){var r=e[t+0]+e[t+8],l=e[t+0]-e[t+8],d=(e[t+4]*ri>>16)-(e[t+12]*si>>16),p=(e[t+4]*si>>16)+(e[t+12]*ri>>16);o[i+0]=r+p,o[i+1]=l+d,o[i+2]=l-d,o[i+3]=r-p,i+=4,t++}for(s=i=0;4>s;++s)e=o[i+0]+4,r=e+o[i+8],l=e-o[i+8],d=(o[i+4]*ri>>16)-(o[i+12]*si>>16),p=(o[i+4]*si>>16)+(o[i+12]*ri>>16),n[a+0+0*ua]=L(n[a+0+0*ua]+(r+p>>3)),n[a+1+0*ua]=L(n[a+1+0*ua]+(l+d>>3)),n[a+2+0*ua]=L(n[a+2+0*ua]+(l-d>>3)),n[a+3+0*ua]=L(n[a+3+0*ua]+(r-p>>3)),i++,a+=ua}function q(e,t,n,a,i){H(e,t,n,a),i&&H(e,t+16,n,a+4)}function V(e,t,n,a){Ua(e,t+0,n,a+0,1),Ua(e,t+32,n,a+4*ua,1)}function z(e,t,n,a){e=e[t+0]+4;var i;for(i=0;4>i;++i)for(t=0;4>t;++t)n[a+t+i*ua]=L(n[a+t+i*ua]+(e>>3))}function W(e,t,n,a){e[t+0]&&z(e,t+0,n,a+0),e[t+16]&&z(e,t+16,n,a+4),e[t+32]&&z(e,t+32,n,a+4*ua),e[t+48]&&z(e,t+48,n,a+4*ua+4)}function G(e,t,n){var a,i=t-ua,o=ii,s=255-e[i-1];for(a=0;a<n;++a){var r,l=o,c=s+e[t-1];for(r=0;r<n;++r)e[t+r]=
}return 0}function St(e,t){var n=e.p,a=[e.q];if(n!=g){var i=e.m,o=t.j.J,s=t.j.c.RGBA,r=[h],l=$t(e,a,r),a=a[0],c=s.ma,l=s.Sa+l*s.f,d=l+1,p=15,u=h;for(j=0;j<r[0];++j){for(u=0;u<i;++u){var m=n[a+u]>>4;c[d+2*u]=240&c[d+2*u]|m,p&=m}a+=e.width,d+=s.f}15!=p&&w(o)&&WebPApplyAlphaMultiply4444(c,l,i,r,s.f)}return 0}function Mt(e){var t=e.ka,n=t.j.J,a=n<Yt,i=n==Ot||n==jt||n==Ht||n==qt||n==Zt||w(n);if(t.memory=g,t.$a=g,t.zb=g,t.ad=g,!Nt(t.Qa,e,i?Yt:Zt))return 0;if(e.I){if(!(a?InitRGBRescaler(e,t):InitYUVRescaler(e,t)))return alert("memory error #1"),0}else{if(a){if(t.$a=bt,e.Bb){var o,s=e.m+1>>1,r=e.m+2*s,l=[];for(o=0;o<r;++o)l.push(205);if(l.push(0),t.memory=l,t.memory==g)return alert("memory error #2"),0;t.Sb=t.memory,t.Tb=0,t.Qb=t.Sb,t.Rb=t.Tb+e.m,t.lc=t.Qb,t.mc=t.Rb+s,t.$a=wt,no[Ut]=st,no[Ot]=lt,no[Lt]=rt,no[jt]=ct,no[Ht]=dt,no[qt]=pt,no[Vt]=ut}}else t.$a=yt;i&&(w(n)&&(WebPApplyAlphaMultiply=vt,no[zt]=lt,no[Wt]=ct,no[Gt]=dt,no[Kt]=pt),t.zb=n==qt||n==Kt?St:a?Ct:kt)}if(a&&!to){for(e=0;256>e;++e)Yi[e]=89858*(e-128)+Ki>>Ii,Ji[e]=-22014*(e-128)+Ki,Xi[e]=-45773*(e-128),Zi[e]=113618*(e-128)+Ki>>Ii;for(e=Ai;e<Ei;++e)t=76283*(e-16)+Ki>>Ii,Qi[e-Ai]=fe(t,255),eo[e-Ai]=fe(t+8>>4,15);to=1}return 1}function xt(e){var t=e.ka,n=e.m,a=e.h;return u(!(1&e.w)),0>=n||0>=a?0:(n=t.$a(e,t),t.ec+=n,t.zb&&t.zb(e,t),1)}function It(e){e=e.ka,e.memory="",e.memory=g}function At(e,t){return e[t+0]|e[t+1]<<8|e[t+2]<<16}function Et(e,t){return(At(e,t)|e[t+3]<<24)>>>0}function Tt(t,n,a,i,o,s,r){var c=0,d=[0],p="VP8StatusCode",_=e(un);if(t==g||a[0]<Ln)return rn;_.data=t,_.b=[n[0]],_.e=[a[0]],_.na=[_.na];e:{if(c=_.na,u(t!=g),u(a!=g),u(c!=g),c[0]=0,a[0]>=Ln&&!l(t,n[0],"RIFF",Un)){if(l(t,n[0]+8,"WEBP",Un)){p=nn;break e}var y=Et(t,n[0]+Un);if(y<Un+On){p=nn;break e}c[0]=y,n[0]+=Ln,a[0]-=Ln}else c[0]=0;p=Qt}if(_.na=_.na[0],p!=Qt)return p;c=0<_.na,y=[0];e:if(p=On+jn,u(t!=g),u(a!=g),u(d!=g),d[0]=0,a[0]<On)p=rn;else{if(!l(t,n[0],"VP8X",Un)){var w=h,k=h,$=v;if(Et(t,n[0]+Un)!=jn){p=nn;break e}if(a[0]<p){p=rn;break e}if($=Et(t,n[0]+8),w=1+At(t,n[0]+12),k=1+At(t,n[0]+15),w*k>=qn){p=nn;break e}y!=g&&(y[0]=$),i!=g&&(i[0]=w),o!=g&&(o[0]=k),n[0]+=p,a[0]-=p,d[0]=1}p=Qt}if(p!=Qt)return p;if(!c&&d[0])return nn;if(s!=g&&(s[0]=!!(y[0]&Hn)),d&&r==g)return Qt;if(a<Un)return rn;if(c&&d[0]||!c&&!d[0]&&!l(t,n[0],"ALPH",Un)){_.$=[_.$],_.G=[_.G],_.pa=[_.pa];e:{var d=_.na,c=_.$,y=_.G,p=_.pa,w=f,k=0,$=b,C=Un+On+jn;for(u(t!=g),u(a!=g),w=t,k=n[0],$=a[0],u(c!=g),u(p!=g),c[0]=g,y[0]=g,p[0]=0;;){var S=v,M=v;if(n[0]=k,a[0]=$,$<On){p=rn;break e}if(S=Et(w,k+Un),M=On+S+1&-2,C+=M,0<d&&C>d){p=nn;break e}if($<M){p=rn;break e}if(l(w,k,"ALPH",Un)){if(!l(w,k,"VP8 ",Un)||!l(w,"VP8L",Un)){p=Qt;break e}}else c[0]=w,y[0]=k+On,p[0]=S;k+=M,$-=M}p=m}if(_.$=_.$[0],_.G=_.G[0],_.pa=_.pa[0],p!=Qt)return p}_.ta=[_.ta],_.ia=[_.ia];e:if(d=_.na,c=_.ta,y=_.ia,k=!l(t,n[0],"VP8 ",Un),p=!l(t,n[0],"VP8L",Un),w=Un+On,u(t!=g),u(a!=g),u(c!=g),u(y!=g),a[0]<On)p=rn;else{if(k||p){if(k=Et(t,n[0]+Un),d>=w&&k>d-w){p=nn;break e}c[0]=k,n[0]+=On,a[0]-=On,y[0]=p}else y[0]=1<=a&&t[n+0]==vn,c[0]=a[0];p=Qt}if(_.ta=_.ta[0],_.ia=_.ia[0],p!=Qt)return p;if(_.ta>Vn)return nn;if(_.ia){if(a[0]<wn)return rn;d=n[0],c=a[0],i=i?i[0]:g,o=o?o[0]:g,y=s?s[0]:g,t==g||c<wn?t=0:(p=[h],w=[h],k=[h],$=e(gn),x($,t,d,c),qe($,p,w,k)?(i!=g&&(i[0]=p[0]),o!=g&&(o[0]=w[0]),y!=g&&(y[0]=k[0]),t=1):t=0)}else{if(a<_n)return rn;d=n[0],c=a[0],i=i?i[0]:g,o=o?o[0]:g,!(t==g||c<_n)&&3<=c-3&&157==t[d+3+0]&&1==t[d+3+1]&&42==t[d+3+2]?(c=t[d+0]|t[d+1]<<8|t[d+2]<<16,y=16383&(t[d+7]<<8|t[d+6]),t=16383&(t[d+9]<<8|t[d+8]),!(!(1&c)+0)||3<(c>>1&7)||!(c>>4&1)||c>>5>=_.ta?t=0:(i&&(i[0]=y),o&&(o[0]=t),t=1)):t=0}return t?(s!=g&&(s[0]|=_.$!=g),r!=g&&(r[0]=_,r[0].offset=n[0]-r[0].b,u(n[0]-r[0].b<Vn),u(r[0].offset==r[0].e-a[0])),Qt):nn}function Dt(e){return u(e!=g),Tt(e[0].data,e[0].b,e[0].e,g,g,g,e)}function Pt(t,n,a,i){var o="VP8StatusCode",s=e(dn),r=e(un);if(r.data=t,r.b=n,r.e=a,r.b=[r.b],r.e=[r.e],r=[r],o=Dt(r),o!=Qt)return o;if(r=r[0],r.b=r.b[0],r.e=r.e[0],u(i!=g),ve(Bt),s.data=r.data,s.b=n+r.offset,s.e=r.e-r.offset,s.put=xt,s.Mb=Mt,s.Pb=It,s.ka=i,r.ia){if(t=Je(),t==g)return en;at(t,s)?(o=O(
var s;try{s=t.get(i.$normalize(o)+"Directive")}catch(r){throw new Error(o+" could not be found. The name should appear as it exists in the markup, not camelCased as it would appear in the directive declaration, e.g. directive-name not directiveName.")}var l=s[0];if(l.scope!==!0&&l.scope)throw new Error("Cannot use a directive with an isolated scope. The scope must be either true or falsy (e.g. false/null/undefined). Occurred for directive "+o+".");if(l.restrict.indexOf("A")<0)throw new Error('Directives must be usable as attributes. Add "A" to the restrict option (or remove the option entirely). Occurred for directive '+o+".");n.directiveData&&(n.directiveData=angular.fromJson(n.directiveData));var c=e("<div "+o+"></div>")(n);a.append(c)})}}}]).directive("toasterContainer",["$parse","$rootScope","$interval","$sce","toasterConfig","toaster","toasterEventRegistry",function(e,t,n,a,i,o,s){return{replace:!0,restrict:"EA",scope:!0,link:function(t,r,l){function c(e,a){e.timeoutPromise=n(function(){t.removeToast(e.toastId)},a,1)}function d(n,i){if(n.type=g["icon-classes"][n.type],n.type||(n.type=g["icon-class"]),g["prevent-duplicates"]===!0&&t.toasters.length){if(t.toasters[t.toasters.length-1].body===n.body)return;var o,s,r=!1;for(o=0,s=t.toasters.length;o<s;o++)if(t.toasters[o].toastId===i){r=!0;break}if(r)return}var l=g["close-button"];if("boolean"==typeof n.showCloseButton);else if("boolean"==typeof l)n.showCloseButton=l;else if("object"==typeof l){var c=l[n.type];"undefined"!=typeof c&&null!==c&&(n.showCloseButton=c)}else n.showCloseButton=!1;switch(n.showCloseButton&&(n.closeHtml=a.trustAsHtml(n.closeHtml||t.config.closeHtml)),n.bodyOutputType=n.bodyOutputType||g["body-output-type"],n.bodyOutputType){case"trustedHtml":n.html=a.trustAsHtml(n.body);break;case"template":n.bodyTemplate=n.body||g["body-template"];break;case"templateWithData":var d=e(n.body||g["body-template"]),p=d(t);n.bodyTemplate=p.template,n.data=p.data;break;case"directive":n.html=n.body}t.configureTimer(n),g["newest-on-top"]===!0?(t.toasters.unshift(n),g.limit>0&&t.toasters.length>g.limit&&t.toasters.pop()):(t.toasters.push(n),g.limit>0&&t.toasters.length>g.limit&&t.toasters.shift()),angular.isFunction(n.onShowCallback)&&n.onShowCallback()}function p(e){var a=t.toasters[e];a.timeoutPromise&&n.cancel(a.timeoutPromise),t.toasters.splice(e,1),angular.isFunction(a.onHideCallback)&&a.onHideCallback()}function u(e){for(var n=t.toasters.length-1;n>=0;n--)m(e)?p(n):t.toasters[n].toastId==e&&p(n)}function m(e){return angular.isUndefined(e)||null===e}var g;g=angular.extend({},i,t.$eval(l.toasterOptions)),t.config={toasterId:g["toaster-id"],position:g["position-class"],title:g["title-class"],message:g["message-class"],tap:g["tap-to-dismiss"],closeButton:g["close-button"],closeHtml:g["close-html"],animation:g["animation-class"],mouseoverTimer:g["mouseover-timer-stop"]},t.$on("$destroy",function(){s.unsubscribeToNewToastEvent(t._onNewToast),s.unsubscribeToClearToastsEvent(t._onClearToasts)}),t.configureTimer=function(e){var t=angular.isNumber(e.timeout)?e.timeout:g["time-out"];"object"==typeof t&&(t=t[e.type]),t>0&&c(e,t)},t.removeToast=function(e){var n,a;for(n=0,a=t.toasters.length;n<a;n++)if(t.toasters[n].toastId===e){p(n);break}},t.toasters=[],t._onNewToast=function(e,n,a){(m(t.config.toasterId)&&m(n)||!m(t.config.toasterId)&&!m(n)&&t.config.toasterId==n)&&d(o.toast,a)},t._onClearToasts=function(e,n,a){("*"==n||m(t.config.toasterId)&&m(n)||!m(t.config.toasterId)&&!m(n)&&t.config.toasterId==n)&&u(a)},s.setup(),s.subscribeToNewToastEvent(t._onNewToast),s.subscribeToClearToastsEvent(t._onClearToasts)},controller:["$scope","$element","$attrs",function(e,t,a){e.stopTimer=function(t){e.config.mouseoverTimer===!0&&t.timeoutPromise&&(n.cancel(t.timeoutPromise),t.timeoutPromise=null)},e.restartTimer=function(t){e.config.mouseoverTimer===!0?t.timeoutPromise||e.configureTimer(t):null===t.timeoutPromise&&e.removeToast(t.toastId)},e.click=function(t,n){if(e.config.tap===!0||t.showCloseButton===!0&&n===!0){var a=!0;t.clickHandler&&(angular.isFunction(t.clickHandler)?a=t.clickH
type:"IDB_CREATE_TIMEOUT"})},3e3),t.onsuccess=function(e){o=!0;var a=t.result;a.onerror=function(e){h=!1,console.error("Error creating/accessing IndexedDB database",e),n.reject(e)},n.resolve(a)},t.onerror=function(e){o=!0,h=!1,console.error("Error creating/accessing IndexedDB database",e),n.reject(e)},t.onupgradeneeded=function(e){o=!0,console.warn("performing idb upgrade from",e.oldVersion,"to",e.newVersion);var t=e.target.result;1==e.oldVersion&&t.deleteObjectStore(m),a(t)},p=n.promise}function o(t,n){return i().then(function(a){if(!f)return s(a,t,n);n instanceof Blob||(n=blobConstruct([n]));try{var i=a.transaction([m],IDBTransaction.READ_WRITE||"readwrite").objectStore(m),o=i.put(n,t)}catch(r){return f?(f=!1,s(a,t,n)):(h=!1,e.reject(r))}var l=e.defer();return o.onsuccess=function(e){l.resolve(n)},o.onerror=function(e){l.reject(e)},l.promise})}function s(t,n,a){if(l(a)>10485760)return e.reject();if(!(a instanceof Blob)){var i=blobSafeMimeType(a.type||"image/jpeg"),o="data:"+i+";base64,"+bytesToBase64(a);return r(t,n,o).then(function(){return a})}try{var s=new FileReader}catch(c){return h=!1,e.reject()}var d=e.defer();s.onloadend=function(){r(t,n,s.result).then(function(){d.resolve(a)},function(e){d.reject(e)})},s.onerror=function(e){d.reject(e)};try{s.readAsDataURL(a)}catch(c){return h=!1,e.reject()}return d.promise}function r(t,n,a){try{var i=t.transaction([m],IDBTransaction.READ_WRITE||"readwrite").objectStore(m),o=i.put(a,n)}catch(s){return h=!1,e.reject(s)}var r=e.defer();return o.onsuccess=function(e){r.resolve()},o.onerror=function(e){r.reject(e)},r.promise}function l(e){return e.size||e.byteLength||e.length}function c(t){return i().then(function(n){var a=e.defer(),i=n.transaction([m],IDBTransaction.READ||"readonly").objectStore(m),o=i.get(t);return o.onsuccess=function(e){var t=e.target.result;void 0===t?a.reject():"string"==typeof t&&"data:"===t.substr(0,5)?a.resolve(dataUrlToBlob(t)):a.resolve(t)},o.onerror=function(e){a.reject(e)},a.promise})}function d(t,a){var i=n.getFakeFileWriter(a,function(e){o(t,e)});return e.when(i)}t.indexedDB=t.indexedDB||t.webkitIndexedDB||t.mozIndexedDB||t.OIndexedDB||t.msIndexedDB,t.IDBTransaction=t.IDBTransaction||t.webkitIDBTransaction||t.OIDBTransaction||t.msIDBTransaction;var p,u="cachedFiles",m="files",g=2,h=void 0!==t.indexedDB&&void 0!==t.IDBTransaction;h&&navigator.userAgent.indexOf("Safari")!=-1&&navigator.userAgent.indexOf("Chrome")==-1&&navigator.userAgent.match(/Version\/[678]/)&&(h=!1);var f=h||!1;return i(),{name:"IndexedDB",isAvailable:a,saveFile:o,getFile:c,getFileWriter:d}}]).service("TmpfsFileStorage",["$q","$window","FileManager",function(e,t,n){function a(){if(l)return l;if(!t.requestFileSystem)return l=e.reject({type:"FS_BROWSER_UNSUPPORTED",description:"requestFileSystem not present"});var n=e.defer();return t.requestFileSystem(t.TEMPORARY,524288e3,function(e){cachedFs=e,n.resolve()},function(e){c=!1,n.reject(e)}),l=n.promise}function i(){return Config.allow_tmpfs&&c}function o(t,n){return n=n||1,a().then(function(){var a=e.defer();return cachedFs.root.getFile(t,{create:!1},function(e){e.file(function(t){t.size>=n?a.resolve(e):a.reject(new Error("FILE_NOT_FOUND"))},function(e){console.log(dT(),"error",e),a.reject(e)})},function(){a.reject(new Error("FILE_NOT_FOUND"))}),a.promise})}function s(e,t){return r(e).then(function(e){return n.write(e,t).then(function(){return e.finalize()})})}function r(t){return a().then(function(){var a=e.defer();return cachedFs.root.getFile(t,{create:!0},function(e){n.getFileWriter(e).then(function(t){t.finalize=function(){return e},a.resolve(t)},function(e){c=!1,a.reject(e)})},function(e){c=!1,a.reject(e)}),a.promise})}t.requestFileSystem=t.requestFileSystem||t.webkitRequestFileSystem;var l,c=void 0!==t.requestFileSystem;return a(),{name:"TmpFS",isAvailable:i,saveFile:s,getFile:o,getFileWriter:r}}]).service("MemoryFileStorage",["$q","FileManager",function(e,t){function n(){return!0}function a(t,n){return s[t]?e.when(s[t]):e.reject(new Error("FILE_NOT_FOUND"))}function i(t,n){return e.when(s[t]=n)}function o(n,a){var o=t.getFakeFi
!1;if("server_DH_params_fail"==a._){var i=sha1BytesSync(e.newNonce).slice(-16);return bytesCmp(i,a.new_nonce_hash)?(t.reject(new Error("[MT] server_DH_params_fail")),!1):(t.reject(new Error("[MT] server_DH_params_fail new_nonce_hash mismatch")),!1)}try{p(e,a.encrypted_answer)}catch(o){return t.reject(o),!1}m(e)},function(e){t.reject(e)})}function p(e,t){e.localTime=tsNow(),e.tmpAesKey=sha1BytesSync(e.newNonce.concat(e.serverNonce)).concat(sha1BytesSync(e.serverNonce.concat(e.newNonce)).slice(0,12)),e.tmpAesIv=sha1BytesSync(e.serverNonce.concat(e.newNonce)).slice(12).concat(sha1BytesSync([].concat(e.newNonce,e.newNonce)),e.newNonce.slice(0,4));var n=aesDecryptSync(t,e.tmpAesKey,e.tmpAesIv),i=n.slice(0,20),o=n.slice(20),s=bytesToArrayBuffer(o),r=new TLDeserialization(s,{mtproto:!0}),l=r.fetchObject("Server_DH_inner_data");if("server_DH_inner_data"!=l._)throw new Error("[MT] server_DH_inner_data response invalid: "+constructor);if(!bytesCmp(e.nonce,l.nonce))throw new Error("[MT] server_DH_inner_data nonce mismatch");if(!bytesCmp(e.serverNonce,l.server_nonce))throw new Error("[MT] server_DH_inner_data serverNonce mismatch");console.log(dT(),"Done decrypting answer"),e.g=l.g,e.dhPrime=l.dh_prime,e.gA=l.g_a,e.serverTime=l.server_time,e.retry=0,u(e.g,e.dhPrime,e.gA);var c=r.getOffset();if(!bytesCmp(i,sha1BytesSync(o.slice(0,c))))throw new Error("[MT] server_DH_inner_data SHA1-hash mismatch");a.applyServerTime(e.serverTime,e.localTime)}function u(e,t,n){console.log(dT(),"Verifying DH params");var a=bytesToHex(t);if(3!=e||"c71caeb9c6b1c9048e6c522f70f13f73980d40238e3e21c14934d037563d930f48198a0aa7c14058229493d22530f4dbfa336f6e0ac925139543aed44cce7c3720fd51f69458705ac68cd4fe6b6b13abdc9746512969328454f18faf8c595f642477fe96bb2a941d5bcd1d4ac8cc49880708fa9b378e3c4f3a9060bee67cf9a4a4a695811051907e162753b56b0f6b410dba74d8a84b2a14b3144e0ef1284754fd17ed950d5965b4b9dd46582db1178d169c6bc465b0d6ff9ca3928fef5b9ae4e418fc15e83ebea0f87fa9ff5eed70050ded2849f47bf959d956850ce929851f0d8115f635b105ee2e4e15d04b2454bf6f4fadf034b10403119cd8e3b92fcc5b"!==a)throw new Error("[MT] DH params are not verified: unknown dhPrime");console.log(dT(),"dhPrime cmp OK");var i=new BigInteger(bytesToHex(n),16),o=new BigInteger(a,16);if(i.compareTo(BigInteger.ONE)<=0)throw new Error("[MT] DH params are not verified: gA <= 1");if(i.compareTo(o.subtract(BigInteger.ONE))>=0)throw new Error("[MT] DH params are not verified: gA >= dhPrime - 1");console.log(dT(),"1 < gA < dhPrime-1 OK");var s=new BigInteger(null);s.fromInt(2);var r=s.pow(1984);if(i.compareTo(r)<0)throw new Error("[MT] DH params are not verified: gA < 2^{2048-64}");if(i.compareTo(o.subtract(r))>=0)throw new Error("[MT] DH params are not verified: gA > dhPrime - 2^{2048-64}");return console.log(dT(),"2^{2048-64} < gA < dhPrime-2^{2048-64} OK"),!0}function m(e){var t=e.deferred,a=bytesFromHex(e.g.toString(16));e.b=new Array(256),n.nextBytes(e.b),i.modPow(a,e.b,e.dhPrime).then(function(n){var a=new TLSerialization({mtproto:!0});a.storeObject({_:"client_DH_inner_data",nonce:e.nonce,server_nonce:e.serverNonce,retry_id:[0,e.retry++],g_b:n},"Client_DH_Inner_Data");var o=sha1BytesSync(a.getBuffer()).concat(a.getBytes()),s=aesEncryptSync(o,e.tmpAesKey,e.tmpAesIv),r=new TLSerialization({mtproto:!0});r.storeMethod("set_client_DH_params",{nonce:e.nonce,server_nonce:e.serverNonce,encrypted_data:s}),console.log(dT(),"Send set_client_DH_params"),l(e.dcID,r.getBuffer()).then(function(n){var a=n.fetchObject("Set_client_DH_params_answer");return"dh_gen_ok"!=a._&&"dh_gen_retry"!=a._&&"dh_gen_fail"!=a._?(t.reject(new Error("[MT] Set_client_DH_params_answer response invalid: "+a._)),!1):bytesCmp(e.nonce,a.nonce)?bytesCmp(e.serverNonce,a.server_nonce)?void i.modPow(e.gA,e.b,e.dhPrime).then(function(n){var i=sha1BytesSync(n),o=i.slice(0,8),s=i.slice(-8);switch(console.log(dT(),"Got Set_client_DH_params_answer",a._),a._){case"dh_gen_ok":var r=sha1BytesSync(e.newNonce.concat([1],o)).slice(-16);if(!bytesCmp(r,a.new_nonce_hash1))return t.reject(new Error("[MT] Set_client_DH_params_answer new_nonce_hash1 mismatch")),!1;var l=bytesXor(e.n
}function u(){s.remove(_?"xt_instance":"xt_idle_instance")}function m(){if(_||y)return!1;console.log(dT(),"deactivate"),v=!1,y=!0,u(),o.dismissAll(),document.title=e("inactive_tab_title_raw");var a=n("<ng-include src=\"'partials/desktop/inactive.html'\"></ng-include>"),i=t.$new(!0);i.close=function(){r.close()},i.reload=function(){r.reload()},a(i,function(e){$(".page_wrap").hide(),$(e).appendTo($("body"))}),t.idle.deactivated=!0}function g(){if(y)return!1;var e=tsNow(),n=t.idle&&t.idle.isIDLE,i={id:h,idle:n,time:e};s.get("xt_instance","xt_idle_instance").then(function(t){var o=t[0],r=t[1];!n||!o||o.id==h||o.time<e-6e4?(r&&r.id==h&&s.remove("xt_idle_instance"),s.set({xt_instance:i}),_||(d.startAll(),b?console.warn(dT(),"now master instance",i):b=!0),_=!0,v&&(a.cancel(v),v=!1)):(s.set({xt_idle_instance:i}),_&&(d.stopAll(),console.warn(dT(),"now idle instance",i),v||(v=a(m,3e4))),_=!1)})}var h=nextRandomInt(4294967295),f=!1,_=!1,v=!1,y=!1,b=!1;return{start:p}}]);var extraModules=[];Config.Modes.animations&&extraModules.push("ngAnimate"),angular.module("myApp",["ngRoute","ngSanitize","ngTouch","ui.bootstrap","mediaPlayer","toaster","izhukov.utils","izhukov.mtproto","izhukov.mtproto.wrapper","myApp.filters","myApp.services","myApp.templates","myApp.directives","myApp.controllers"].concat(extraModules)).config(["$locationProvider","$routeProvider","$compileProvider","StorageProvider",function(e,t,n,a){n.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|file|blob|filesystem|chrome-extension|app):|data:image\//),n.aHrefSanitizationWhitelist(/^\s*(https?|ftp|file|tg|mailto|blob|filesystem|chrome-extension|app):|data:/),n.debugInfoEnabled(!1),Config.Modes.test&&a.setPrefix("t_"),t.when("/",{template:"",controller:"AppWelcomeController"}),t.when("/login",{templateUrl:templateUrl("login"),controller:"AppLoginController"}),t.when("/im",{templateUrl:templateUrl("im"),controller:"AppIMController",reloadOnSearch:!1}),t.otherwise({redirectTo:"/"})}]),angular.module("myApp.services",["myApp.i18n","izhukov.utils"]).service("AppUsersManager",["$rootScope","$modal","$modalStack","$filter","$q","qSync","MtpApiManager","RichTextProcessor","ServerTimeManager","Storage","_",function(e,t,n,a,i,o,s,r,l,c,d){function p(){return N?N:N=s.invokeApi("contacts.getContacts",{hash:""}).then(function(e){var t,n;B=[],h(e.users);for(var n=0;n<e.contacts.length;n++)t=e.contacts[n].user_id,B.push(t),SearchIndexManager.indexObject(t,u(t),q);return B})}function u(e){var t=O[e];return!!t&&(t.first_name||"")+" "+(t.last_name||"")+" "+(t.phone||"")+" "+(t.username||"")}function m(e){return p().then(function(t){if(angular.isString(e)&&e.length){for(var n=SearchIndexManager.search(e,q),a=[],i=0;i<t.length;i++)n[t[i]]&&a.push(t[i]);t=a}return t})}function g(e){return L[e]||0}function h(e){angular.forEach(e,f)}function f(t,n){if(angular.isObject(t)&&!(n&&angular.isObject(O[t.id])&&O[t.id].first_name)){var i=t.id,o=O[i];if(void 0===t.pFlags&&(t.pFlags={}),!t.pFlags.min||void 0===o){if(t.phone&&(t.rPhone=a("phoneNumber")(t.phone)),t.num=Math.abs(i)%8+1,t.first_name?(t.rFirstName=r.wrapRichText(t.first_name,{noLinks:!0,noLinebreaks:!0}),t.rFullName=t.last_name?r.wrapRichText(t.first_name+" "+(t.last_name||""),{noLinks:!0,noLinebreaks:!0}):t.rFirstName):(t.rFirstName=r.wrapRichText(t.last_name,{noLinks:!0,noLinebreaks:!0})||t.rPhone||d("user_first_name_deleted"),t.rFullName=r.wrapRichText(t.last_name,{noLinks:!0,noLinebreaks:!0})||t.rPhone||d("user_name_deleted")),t.username){var s=SearchIndexManager.cleanUsername(t.username);L[s]=i}t.sortName=t.pFlags.deleted?"":SearchIndexManager.cleanSearchText(t.first_name+" "+(t.last_name||""));var c=t.sortName.split(" "),p=c.shift(),u=c.pop();t.initials=p.charAt(0)+(u?u.charAt(0):p.charAt(1)),t.status&&(t.status.expires&&(t.status.expires-=l.serverTimeOffset),t.status.was_online&&(t.status.was_online-=l.serverTimeOffset)),t.pFlags.bot?t.sortStatus=-1:t.sortStatus=v(t.status);var o=O[i];void 0===o?o=O[i]=t:safeReplaceObject(o,t),e.$broadcast("user_update",i),void 0!==H[i]&&safeReplaceObject(H[i],t&&t.photo&&t.photo.photo_small||{empty:!0}
m(t)),a=(n.split(".",2)||[])[1]||"";l.chooseSave(m(t),a,t.mime_type).then(function(t){t&&f(e,t)},function(){f(e).then(function(e){l.download(e,t.mime_type,n)})})}function y(e){var t=g(e),n=Math.min($(window).width()-(Config.Mobile?0:60),542),a=$(window).height()-(Config.Mobile?92:150),i={placeholder:"img/placeholders/docThumbModal.gif",width:n,height:a};if(t.w&&t.h){var o=calcImageInBox(t.w,t.h,n,a);i.width=o.w,i.height=o.h}else i.height=i.width=Math.min(n,a);return t.full=i,t.fullThumb=angular.copy(t.thumb),t.fullThumb.width=i.width,t.fullThumb.height=i.height,t}function b(e,a){var i=t.$new(!0);return i.docID=e,i.messageID=a,n.open({templateUrl:templateUrl("video_modal"),windowTemplateUrl:templateUrl("media_modal_layout"),controller:"VideoModalController",scope:i,windowClass:"video_modal_window"})}var w={},k={},C=$(window).width(),S=$(window).height();return{saveDoc:d,getDoc:p,hasDoc:u,wrapForHistory:g,wrapVideoForFull:y,updateDocDownloaded:h,downloadDoc:f,openDoc:_,openVideo:b,saveDocFile:v}}]).service("AppStickersManager",["$q","$rootScope","$modal","_","FileManager","MtpApiManager","AppDocsManager","Storage","ApiUpdatesManager",function(e,t,n,a,i,o,s,r,l){function c(){b||(b=!0,setTimeout(d,1e3))}function d(e){return r.get("all_stickers").then(function(t){var n=Config.Schema.API.layer;return t.layer!=n&&(t=!1),t&&t.date>tsNow(!0)&&!e?p(t):o.invokeApi("messages.getAllStickers",{hash:t&&t.hash||""}).then(function(e){var a="messages.allStickersNotModified"==e._;return a&&(e=t),e.date=tsNow(!0)+3600,e.layer=n,delete e._,a?(r.set({all_stickers:e}),p(e)):u(e,t&&t.fullSets).then(function(){return r.set({all_stickers:e}),p(e)})})})}function p(e){if(w!==e.hash){w=e.hash;var t,n,i,o,r,l,c,d;for(k=[],i=e.sets.length,t=0;t<i;t++)if(l=e.sets[t],!l.pFlags.disabled){for(d=e.fullSets[l.id].documents,o=d.length,c=[],n=0;n<o;n++)r=d[n],s.saveDoc(r),c.push(r.id);l.docIDs=c,k.push(l)}}return m().then(function(e){var t=k;if(e.length){t=k.slice();var n,i,o=[];for(n=0,i=e.length;n<i;n++)o.push(e[n].id);t.unshift({id:0,title:a("im_stickers_tab_recent_raw"),short_name:"",docIDs:o})}return t})}function u(t,n){var a=[],i=n||t.fullSets||{};return t.fullSets={},angular.forEach(t.sets,function(e){var n=i[e.id];if(n&&n.set.hash==e.hash)t.fullSets[e.id]=n;else{var s=o.invokeApi("messages.getStickerSet",{stickerset:{_:"inputStickerSetID",id:e.id,access_hash:e.access_hash}}).then(function(n){t.fullSets[e.id]=n});a.push(s)}}),e.all(a)}function m(){return r.get("stickers_popular").then(function(e){var t,n,a,i=[];if(e&&e.length)for(t=0,n=e.length;t<n;t++)a=e[t][0],s.hasDoc(a)&&i.push({id:a,rate:e[t][1]});return i})}function g(e){m().then(function(t){for(var n=!1,a=t.length,i=[],o=0;o<a;o++)t[o].id==e&&(n=!0,t[o].rate++),i.push([t[o].id,t[o].rate]);n?i.sort(function(e,t){return t[1]-e[1]}):(i.length>15&&(i=i.slice(0,15)),i.push([e,1])),ConfigStorage.set({stickers_popular:i})})}function h(e){return o.invokeApi("messages.getStickerSet",{stickerset:e}).then(function(e){for(var t=0;t<e.documents.length;t++)s.saveDoc(e.documents[t]);return e})}function f(e,t){var n=t?"messages.uninstallStickerSet":"messages.installStickerSet",a={_:"inputStickerSetID",id:e.set.id,access_hash:e.set.access_hash};return o.invokeApi(n,{stickerset:a,disabled:!1}).then(function(n){var a;a=t?{_:"updateDelStickerSet",id:e.set.id}:{_:"updateNewStickerSet",stickerset:e},l.processUpdateMessage({_:"updateShort",update:a})})}function _(e){return v({_:"inputStickerSetShortName",short_name:e})}function v(e){var a=t.$new(!0);a.inputStickerset=e;n.open({templateUrl:templateUrl("stickerset_modal"),controller:"StickersetModalController",scope:a,windowClass:"stickerset_modal_window mobile_modal"})}function y(e){for(var t,n=0,a=0;a<e.length;a++)t=e[a],!t.pFlags.disabled&&t.pFlags.installed&&(n=(20261*n+2147483648+t.hash)%2147483648);return n}var b=!1,w=!1,k=[];return t.$on("apiUpdate",function(e,n){return("updateStickerSets"==n._||"updateNewStickerSet"==n._||"updateDelStickerSet"==n._||"updateStickerSetsOrder"==n._)&&r.get("all_stickers").then(function(e){switch(e&&e.layer==Config.Schema.API.layer
t.$broadcast("history_focus",l)}),!0;if(o=e.match(/^join\?invite=(.+)$/))return y(o[1]),!0;if(o=e.match(/^addstickers\?set=(.+)$/))return p.openStickersetLink(o[1]),!0;if(o=e.match(/^msg_url\?url=([^&]+)(?:&text=(.*))?$/)){var e=decodeURIComponent(o[1]),l=o[2]?decodeURIComponent(o[2]):"";return v(e,l),!0}if(n&&(o=e.match(/^unsafe_url\?url=([^&]+)/))){var e=decodeURIComponent(o[1]);return u.confirm({type:"JUMP_EXT_URL",url:e}).then(function(){var t="_blank";0!==e.search("https://telegram.me/")&&0!==e.search("https://t.me/")||(t="_self");var n=window.open(e,t);try{n.opener=null}catch(a){}}),!0}if(o=e.match(/^search_hashtag\?hashtag=(.+?)$/))return t.$broadcast("dialogs_search",{query:"#"+decodeURIComponent(o[1])}),Config.Mobile&&t.$broadcast("history_focus",{peerString:""}),!0;if(n&&(o=e.match(/^bot_command\?command=(.+?)(?:&bot=(.+))?$/))){var c=t.selectedPeerID,l="/"+o[1];return c<0&&o[2]&&(l+="@"+o[2]),s.sendText(c,l),t.$broadcast("history_focus",{peerString:a.getPeerString(c)}),!0}return!1}function h(e,n){if(console.log(dT(),"Received activity",e,n),"share"==e&&n.url)v(n.url,"");else if("view"==e&&n.url){var o=n.url.match(b);o&&g(o[3])}else if("webrtc-call"==e&&n.contact){var r=n.contact,l=[];if(void 0!=r.tel)for(var c=0;c<r.tel.length;c++)l.push(r.tel[c].value);var p=(r.givenName||[]).join(" "),m=(r.familyName||[]).join(" ");l.length&&i.importContact(l[0],p,m).then(function(e){if(e){var n=a.getPeerString(e);t.$broadcast("history_focus",{peerString:n})}else u.show({error:{code:404,type:"USER_NOT_USING_TELEGRAM"}})})}else"share"===e&&n.blobs&&n.blobs.length>0&&d.selectPeers({confirm_type:"EXT_SHARE_PEER",canSend:!0}).then(function(e){angular.forEach(e,function(e){var t=a.getPeerID(e);angular.forEach(n.blobs,function(e){s.sendFile(t,e,{isMedia:!0})})}),1==e.length&&t.$broadcast("history_focus",{peerString:e[0]})})}function f(){w||(w=!0,window.navigator.mozSetMessageHandler&&(console.log(dT(),"Set activity message handler"),window.navigator.mozSetMessageHandler("activity",function(e){h(e.source.name,e.source.data)})),$(document).on("click",function(e){var t=e.target;if(t&&"A"==t.tagName&&!t.onclick&&!t.onmousedown){var n=$(t).attr("href")||t.href||"",a=n.match(b);if(a&&g(a[3],!0))return cancelEvent(e)}}),t.$on("$routeUpdate",m),m())}function _(e){var t=e.match(b);if(t&&g(t[3],!0))return!0;var n=window.open(e,"_blank");try{n.opener=null}catch(a){}return!!n}function v(n,a,i){var o={};i&&(o.shareLinkPromise=e.when(n)),d.selectPeer(o).then(function(e){t.$broadcast("history_focus",{peerString:e,attachment:{_:"share_url",url:n,text:a}})})}function y(e){return l.invokeApi("messages.checkChatInvite",{hash:e}).then(function(n){var a;if("chatInviteAlready"==n._){o.saveApiChat(n.chat);var i=!n.chat.pFlags.left||o.isChannel(n.chat.id)&&n.chat.username;if(i)return t.$broadcast("history_focus",{peerString:o.getChatString(n.chat.id)});a=n.chat.title}else a=n.title;u.confirm({type:n.pFlags.channel&&!n.pFlags.megagroup?"JOIN_CHANNEL_BY_LINK":"JOIN_GROUP_BY_LINK",title:a}).then(function(){return l.invokeApi("messages.importChatInvite",{hash:e}).then(function(e){if(c.processUpdateMessage(e),e.chats&&1==e.chats.length)t.$broadcast("history_focus",{peerString:o.getChatString(e.chats[0].id)});else if(e.updates&&e.updates.length)for(var n,a=0,i=e.updates.length;a<i;a++)if(n=e.updates[a],"updateNewMessage"==n._){t.$broadcast("history_focus",{peerString:o.getChatString(n.message.to_id.chat_id)});break}})})})}var b=/^(web\+)?tg:(\/\/)?(.+)/,w=!1;return{start:f,shareUrl:v,openUrl:_}}]).service("DraftsManager",["$rootScope","qSync","MtpApiManager","ApiUpdatesManager","AppMessagesIDsManager","AppChatsManager","AppPeersManager","RichTextProcessor","Storage","ServerTimeManager",function(e,t,n,a,i,o,s,r,l,c){function d(e,t){return l.get("draft"+e).then(function(n){"string"==typeof n&&(n=n.length>0&&{text:n}),n||t||(n=p(e));var a=n&&n.replyToMsgID;if(a){var o=!!s.isChannel(e)&&-e;n.replyToMsgID=i.getFullMessageID(a,o)}return n})}function p(e){var t=y[e];return void 0!==t&&t}function u(t,n,a){a=a||{};var i=_(n);return y[t]=i,a.notify&&(m(t,i),e.$broadcas
bodyOutputType:"trustedHtml",clickHandler:function(){i.$broadcast("history_focus",{peerString:t[0]}),o.clear(n)},showCloseButton:!1})})}function j(t){var n=[];t?n.push(t):e.selectedCount>0&&angular.forEach(e.selectedMsgs,function(e,t){n.push(t)}),n.length&&m.selectPeer({canSend:!0}).then(function(e){B(),i.$broadcast("history_focus",{peerString:e,attachment:{_:"fwd_messages",id:n}})})}function H(t){t||1!=e.selectedCount||angular.forEach(e.selectedMsgs,function(e,n){t=n}),t&&(B(),e.$broadcast("reply_selected",t))}function q(t){t||1!=e.selectedCount||angular.forEach(e.selectedMsgs,function(e,n){t=n}),t&&(B(),e.$broadcast("edit_selected",t))}function V(){e.historyState.selectActions?B():(e.historyState.selectActions="selected",e.$broadcast("ui_panel_update"))}function z(t){return"search"==t?void i.$broadcast("history_search",e.curDialog.peerID):(e.historyFilter.mediaType=t||!1,e.curDialog.messageID=!1,K.messages=[],K.ids=[],e.state.empty=!0,void A())}function W(){e.historyFilter.mediaType?z():e.curDialog.messageID?i.$broadcast("history_focus",{peerString:e.curDialog.peer}):A(!0)}e.$watchCollection("curDialog",y),u.attach(),g.start(),h.start(),e.peerHistories=[],e.selectedMsgs={},e.selectedCount=0,e.historyState.selectActions=!1,e.historyState.botActions=!1,e.historyState.channelActions=!1,e.historyState.canDelete=!1,e.historyState.canReply=!1,e.historyState.missedCount=0,e.historyState.skipped=!1,e.state={},e.toggleMessage=F,e.selectedDelete=O,e.selectedForward=j,e.selectedReply=H,e.selectedEdit=q,e.selectedCancel=B,e.selectedFlush=U,e.selectInlineBot=N,e.startBot=T,e.cancelBot=D,e.joinChannel=P,e.togglePeerMuted=R,e.toggleEdit=V,e.toggleMedia=z,e.returnToRecent=W,e.$on("history_edit_toggle",V),e.$on("history_edit_flush",U),e.$on("history_media_toggle",function(e,t){z(t)}),e.$on("history_return_recent",W);var G,K=!1,Y=!1,Z=!1,X=!1,J=0,Q=0,ee=!1,te={photos:"inputMessagesFilterPhotos",video:"inputMessagesFilterVideo",documents:"inputMessagesFilterDocument",audio:"inputMessagesFilterVoice"},ne=0,ae=0,ie=!1,oe=!1,se=0,re=!1,le=!1;e.$on("history_update",angular.noop);var ce=!1;e.$on("stateSynchronized",function(){ce&&(ce==e.curDialog.peerID&&A(),ce=!1)}),e.$on("reply_button_press",function(t,n){var a=e.historyState.replyKeyboard;if(a){var i={replyToMsgID:G<0&&a.mid};switch(n._){case"keyboardButtonRequestPhone":_.confirm({type:"BOT_ACCESS_PHONE"}).then(function(){var e=l.getSelf();d.sendOther(G,{_:"inputMediaContact",phone_number:e.phone,first_name:e.first_name,last_name:e.last_name},i)});break;case"keyboardButtonRequestGeoLocation":_.confirm({type:"BOT_ACCESS_GEO"}).then(function(){return v.getPosition().then(function(e){d.sendOther(G,{_:"inputMediaGeoPoint",geo_point:{_:"inputGeoPoint",lat:e.lat,"long":e["long"]}},i)},function(e){_.alert(s("error_modal_bad_request_title_raw"),s("error_modal_gelocation_na_raw"))})});break;default:d.sendText(G,n.text,i)}}}),e.$on("history_reload",function(t,n){n==e.curDialog.peerID&&A()}),e.$on("history_forbidden",function(n,a){a==e.curDialog.peerID&&t.url("/im"),k(a)}),e.$on("dialog_migrate",function(t,n){if(n.migrateFrom==e.curDialog.peerID){var a=p.getPeerString(n.migrateTo);i.$broadcast("history_focus",{peerString:a})}k(n.migrateFrom)}),e.$on("notify_settings",function(t,n){n.peerID==e.curDialog.peerID&&S()}),e.$on("channel_settings",function(t,n){n.channelID==-e.curDialog.peerID&&S()});var de={};e.$on("history_append",function(t,a){var o=w(a.peerID);if(o){var s=a.peerID==e.curDialog.peerID;if(s){if(e.historyFilter.mediaType||e.historyState.skipped)return void(a.my?W():e.historyState.missedCount++);e.curDialog.messageID&&a.my&&W(),delete e.state.empty}var r=d.wrapForHistory(a.messageID);o.messages.push(r),o.ids.push(a.messageID),d.regroupWrappedHistory(o.messages,-3)&&e.$broadcast("messages_regroup"),s&&(e.historyState.typing.splice(0,e.historyState.typing.length),e.$broadcast("ui_history_append_new",{my:a.my,idleScroll:Y&&!r.pFlags.out&&i.idle.isIDLE}),a.my&&e.historyUnreadAfter&&(delete e.historyUnreadAfter,e.$broadcast("messages_unread_after")),i.idle.isIDLE?!r.pFlags.unread||r.pFlags.out|
function f(t){m.processUpdateMessage(t),n.$broadcast("history_focus",{peerString:e.chatFull.peerString})}function _(t){t&&t.type&&0===t.type.indexOf("image")&&(e.photo.updating=!0,c.uploadFile(t).then(function(t){return l.invokeApi("channels.editPhoto",{channel:o.getChannelInput(e.chatID),photo:{_:"inputChatUploadedPhoto",file:t}}).then(f)})["finally"](function(){e.photo.updating=!1}))}e.chatFull=o.wrapForFull(e.chatID,{}),e.settings={notifications:!0},e.isMegagroup=o.isMegagroup(e.chatID),s.getChannelFull(e.chatID,!0).then(function(t){e.chatFull=o.wrapForFull(e.chatID,t),e.$broadcast("ui_height"),d.savePeerSettings(-e.chatID,t.notify_settings),d.getPeerMuted(-e.chatID).then(function(t){e.settings.notifications=!t,e.$watch("settings.notifications",function(t,n){return t!==n&&void d.getPeerSettings(-e.chatID).then(function(n){t?n.mute_until=0:n.mute_until=2e9,d.updatePeerSettings(-e.chatID,n)})})}),e.chatFull.chat&&e.chatFull.chat.pFlags.creator&&e.chatFull.exported_invite&&"chatInviteEmpty"==e.chatFull.exported_invite._&&s.getChatInviteLink(e.chatID,!0).then(function(t){e.chatFull.exported_invite={_:"chatInviteExported",link:t}})}),e.leaveChannel=function(){return h.confirm({type:e.isMegagroup?"MEGAGROUP_LEAVE":"CHANNEL_LEAVE"}).then(function(){l.invokeApi("channels.leaveChannel",{channel:o.getChannelInput(e.chatID)}).then(f)})},e.deleteChannel=function(){return h.confirm({type:e.isMegagroup?"MEGAGROUP_DELETE":"CHANNEL_DELETE"}).then(function(){l.invokeApi("channels.deleteChannel",{channel:o.getChannelInput(e.chatID)}).then(f)})},e.joinChannel=function(){l.invokeApi("channels.joinChannel",{channel:o.getChannelInput(e.chatID)}).then(f)},e.inviteToChannel=function(){var t=[];angular.forEach((e.chatFull.participants||{}).participants||[],function(e){t.push(e.user_id)}),g.selectContacts({disabled:t}).then(function(t){var n=[];angular.forEach(t,function(e){n.push(i.getUserInput(e))}),l.invokeApi("channels.inviteToChannel",{channel:o.getChannelInput(e.chatID),users:n}).then(f)})},e.kickFromChannel=function(t){l.invokeApi("channels.kickFromChannel",{channel:o.getChannelInput(e.chatID),user_id:i.getUserInput(t),kicked:!0}).then(f)},e.shareLink=function(t){var i=n.$new();return i.chatID=e.chatID,a.open({templateUrl:templateUrl("chat_invite_link_modal"),controller:"ChatInviteLinkModalController",scope:i,windowClass:"md_simple_modal_window"}),cancelEvent(t)},e.photo={},e.$watch("photo.file",_),e.deletePhoto=function(){e.photo.updating=!0,l.invokeApi("channels.editPhoto",{channel:o.getChannelInput(e.chatID),photo:{_:"inputChatPhotoEmpty"}}).then(f)["finally"](function(){e.photo.updating=!1})},e.editChannel=function(){var t=n.$new();t.chatID=e.chatID,a.open({templateUrl:templateUrl(e.isMegagroup?"megagroup_edit_modal":"channel_edit_modal"),controller:"ChannelEditModalController",scope:t,windowClass:"md_simple_modal_window mobile_modal"})},e.goToHistory=function(){n.$broadcast("history_focus",{peerString:e.chatFull.peerString})},e.hasRights=function(t){return o.hasRights(e.chatID,t)}}]).controller("SettingsModalController",["$rootScope","$scope","$timeout","$modal","AppUsersManager","AppChatsManager","AppPhotosManager","MtpApiManager","Storage","NotificationsManager","MtpApiFileManager","PasswordManager","ApiUpdatesManager","ChangelogNotifyService","LayoutSwitchService","WebPushApiManager","AppRuntimeManager","ErrorService","_",function(e,t,n,a,i,o,s,r,l,c,d,p,u,m,g,h,f,_,v){function y(){n.cancel(w),w=!1,p.getState().then(function(e){t.password=e,"account.noPassword"==e._&&e.email_unconfirmed_pattern&&!k&&(w=n(y,5e3))})}function b(e){e&&e.type&&0===e.type.indexOf("image")&&(t.photo.updating=!0,d.uploadFile(e).then(function(e){r.invokeApi("photos.uploadProfilePhoto",{file:e,caption:"",geo_point:{_:"inputGeoPointEmpty"}}).then(function(e){i.saveApiUsers(e.users),r.getUserID().then(function(n){s.savePhoto(e.photo,{user_id:n}),u.processUpdateMessage({_:"updateShort",update:{_:"updateUserPhoto",user_id:n,date:tsNow(!0),photo:i.getUser(n).photo,previous:!0}}),t.photo={}})})})["finally"](function(){delete t.photo.updating}))}t.profile={},t.
n--,e.count--),t<0||!r.isBot(t)||n==a&&a<e.count?e:$.getProfile(t).then(function(n){var a=n.bot_info&&n.bot_info.description;if(a){var i=Be--,o={_:"messageService",id:i,from_id:t,to_id:c.getOutputPeer(t),flags:0,pFlags:{},date:tsNow(!0)+y.serverTimeOffset,action:{_:"messageActionBotIntro",description:a}};ee([o]),e.messages.push(o),e.count&&e.count++}return e})},function(n){switch(n.type){case"CHANNEL_PRIVATE":var a=l.getChat(-t);a={_:"channelForbidden",access_hash:a.access_hash,title:a.title},s.processUpdateMessage({_:"updates",updates:[{_:"updateChannel",channel_id:-t}],chats:[a],users:[]})}return e.reject(n)})}function F(e,n,a,i){var o=et[e]&&!n?1:0;return R(e,n,a,o).then(function(o){i.count=o.count||o.messages.length;var s=0;if(!n&&o.messages.length&&(n=o.messages[0].mid+1),n>0)for(s=0;s<i.history.length&&!(n>i.history[s]);s++);var r=i.history.length;i.history.splice(s,i.history.length-s),angular.forEach(o.messages,function(n){j(i,n)&&t.$broadcast("history_reply_markup",{peerID:e}),i.history.push(n.mid)});var l=i.history.length;a-=l-r;var c=et[e],d=tt[e],p=void 0!==c||void 0!==d;if(p&&(i.count=Math.max(i.count,l)+1),a>0){if(n=i.history[l-1],p){if(!o.messages.length){if(!d)return i.count=l,!0;n=0,e=d}return F(e,n,a,i)}if(l<i.count)return F(e,n,a,i)}return!0})}function N(t,n){var a=n.unreadOffset;if(a){var i,o;for(i=n.history.length-1;i>=0;i--)if(o=Ie[n.history[i]],o&&!o.pFlags.out&&o.pFlags.unread){n.unreadOffset=i+1;break}}return e.when(n)}function B(e,n){if(!et[e]&&!tt[n]&&l.hasChat(-n)){var a=l.getChat(-e);a&&a.migrated_to&&a.migrated_to.channel_id==-n&&(et[e]=n,tt[n]=e,i(function(){var a=A(e);a.length&&(De.dialogs.splice(a[1],1),t.$broadcast("dialog_drop",{peerID:e})),t.$broadcast("dialog_migrate",{migrateFrom:e,migrateTo:n})},100))}}function U(e){if(et[e])return et[e]}function O(e,t,n,a,i){et[e]&&(e=et[e]);var o=Te[e],s=0,r=!1,l=!1,c=!1;i=i?Math.min(50,i):0,void 0===o&&(o=Te[e]={count:null,history:[],pending:[]});var d=!1,p=e;if(tt[e]&&(d=!0,t&&t<m.fullMsgIDModulus&&(p=tt[e])),!n&&!t){var u=A(e)[0];if(u&&u.unread_count>1){var g=u.unread_count;(c=g>50)?u.read_inbox_max_id?(t=u.read_inbox_max_id,a=16,l=16,n=4):(n=20,l=16,s=g-l):(n=Math.max(10,i,g+2),l=g)}else Config.Mobile&&(n=20)}if(t>0)for(r=!0,s=0;s<o.history.length;s++)if(t>o.history[s]){r=!1;break}if(!r&&(null!==o.count&&o.history.length==o.count||o.history.length>=s+(n||1))){a?(a=Math.min(s,a),s=Math.max(0,s-a),n+=a):n=n||(s?20:i||5);var h=o.history.slice(s,s+n);return!t&&o.pending.length&&(h=o.pending.slice().concat(h)),N(e,{count:o.count,history:h,unreadOffset:l,unreadSkip:c})}return a||n||(n=i||20),r&&(s=0),a||c||t&&o.history.indexOf(t)==-1?(a&&(s=-a,n+=a),R(p,t,n,s).then(function(n){o.count=n.count||n.messages.length,d&&o.count++;var a=[];return angular.forEach(n.messages,function(e){a.push(e.mid)}),!t&&o.pending.length&&(a=o.pending.slice().concat(a)),N(e,{count:o.count,history:a,unreadOffset:l,unreadSkip:c})})):F(e,t,n,o).then(function(){if(s=0,t>0)for(s=0;s<o.history.length&&!(t>o.history[s]);s++);var a=o.history.slice(s,s+n);return!t&&o.pending.length&&(a=o.pending.slice().concat(a)),N(e,{count:o.count,history:a,unreadOffset:l,unreadSkip:c})})}function L(e){return(Te[e]||{}).reply_markup||!1}function j(e,t){if(!t.reply_markup&&!t.pFlags.out&&!t.action)return!1;if(t.reply_markup&&"replyInlineMarkup"==t.reply_markup._)return!1;var n=t.reply_markup,a=e.reply_markup;if(n)return!(a&&a.mid>=t.mid)&&(!(n.pFlags.selective&&!(16&t.flags))&&(e.maxOutID&&t.mid<e.maxOutID&&n.pFlags.single_use&&(n.pFlags.hidden=!0),n=angular.extend({mid:t.mid},n),"replyKeyboardHide"!=n._&&(n.fromID=t.from_id),e.reply_markup=n,!0));if(t.pFlags.out)if(a){if(a.pFlags.single_use&&!a.pFlags.hidden&&(t.mid>a.mid||t.mid<0)&&t.message)return a.pFlags.hidden=!0,!0}else(!e.maxOutID||t.mid>e.maxOutID)&&(e.maxOutID=t.mid);return!(!t.action||"messageActionChatDeleteUser"!=t.action._||(a?t.action.user_id!=a.fromID:!r.isBot(t.action.user_id)))&&(e.reply_markup={_:"replyKeyboardHide",mid:t.mid,flags:0,pFlags:{}},!0)}function H(t,n,a,i,o){t=t?parseInt(t):0;var s=[],d=!n,p={peer:t,filter:a},u=d&&an
angular.forEach(rt,function(t){t.isMutedPromise.then(function(n){var a=t.top_message;!n&&a.pFlags.unread&&setTimeout(function(){a.pFlags.unread&&$e(a,{fwd_count:t.fwd_count})},e)})}),rt={}}function xe(e){return _.invokeApi("messages.getPeerDialogs",{peers:[c.getInputPeerByID(e)]}).then(function(e){r.saveApiUsers(e.users),l.saveApiChats(e.chats),ee(e.messages);var n={},a=!1;angular.forEach(e.dialogs,function(e){if(e.top_message){var i=A(e.peerID).length>0;E(e),i?t.$broadcast("dialog_top",e):(n[e.peerID]=e,a=!0)}else{var o=c.getPeerID(e.peer),s=A(o);s.length&&(De.dialogs.splice(s[1],1),t.$broadcast("dialog_drop",{peerID:o}))}}),a&&t.$broadcast("dialogs_multiupdate",n)})}var Ie={},Ae={},Ee={},Te={},De={count:null,dialogs:[]},Pe={},Re={},Fe={},Ne=e.when(),Be=-1,Ue=SearchIndexManager.createIndex(),Oe={query:!1},Le={},je=[],He=[],qe=!1,Ve={},ze=[],We=!1,Ge=!1;k.get("max_seen_msg").then(function(e){e&&!m.getMessageIDInfo(e)[1]&&(Ge=e)});var Ke=a("dateOrTime"),Ye=x.pluralize("conversation_forwarded_X_messages"),Ze=x.pluralize("conversation_scored_X");w.start();var Xe=!1,Je=0,Qe=0,et={},tt={},nt=!1,at={},it=!1,ot={},st=!1,rt={};return t.$on("apiUpdate",function(e,n){switch(n._){case"updateMessageID":var a=n.random_id,o=Pe[a];if(o){var s=o[0],d=c.isChannel(s)?-s:0;Re[m.getFullMessageID(n.id,d)]=a}break;case"updateNewMessage":case"updateNewChannelMessage":var p=n.message,s=pe(p),u=Te[s],g=A(s);if(!g.length){ot[s]={reload:!0},it||(it=i(Se,0));break}if("updateNewChannelMessage"==n._){var h=l.getChat(-s);if(h.pFlags&&(h.pFlags.left||h.pFlags.kicked))break}if(ee([p],{isNew:!0}),void 0!==u){var f=u.history;if(f.indexOf(p.mid)!=-1)return!1;var _=f[0];f.unshift(p.mid),p.mid>0&&p.mid<_&&f.sort(function(e,t){return t-e}),null!==u.count&&u.count++}else u=Te[s]={count:null,history:[p.mid],pending:[]};j(u,p)&&t.$broadcast("history_reply_markup",{peerID:s}),!p.pFlags.out&&p.from_id&&r.forceUserOnline(p.from_id);var v,a=Re[p.mid];a&&((v=le(a,p))&&t.$broadcast("history_update",{peerID:s}),delete Re[p.mid]),v||(void 0===at[s]&&(at[s]=[]),at[s].push(p.mid),nt||(nt=i(Ce,0)));var y=!p.pFlags.out&&p.pFlags.unread,b=g[0];if(b.top_message=p.mid,y&&b.unread_count++,b.index=D(p.date),ot[s]=b,it||(it=i(Se,0)),y&&(t.selectedPeerID!=s||t.idle.isIDLE)){var k=16&p.flags?p.from_id:s,$=rt[k];void 0===$&&($=rt[k]={isMutedPromise:w.getPeerMuted(k),fwd_count:0,from_id:0}),$.from_id!=p.from_id&&($.from_id=p.from_id,$.fwd_count=0),p.fwdFromID&&$.fwd_count++,$.top_message=p,st||(st=i(Me,1e3))}break;case"updateEditMessage":case"updateEditChannelMessage":var p=n.message,s=pe(p),d="peerChannel"==p.to_id._?-s:0,C=m.getFullMessageID(p.id,d);if(void 0===Ie[C])break;ee([p],{isEdited:!0}),safeReplaceObject(Ie[C],p);var S=Ae[C];if(void 0!==S){delete Ae[C];var M=he(C);safeReplaceObject(S,M),Ae[C]=S}var g=A(s)[0],x=g&&g.top_message==C;if(p.clear_history)x?t.$broadcast("dialog_flush",{peerID:s}):t.$broadcast("history_delete",{peerID:s,msgs:[C]});else if(t.$broadcast("message_edit",{peerID:s,id:p.id,mid:C}),x){var I={};I[s]=g,t.$broadcast("dialogs_multiupdate",I)}break;case"updateReadHistoryInbox":case"updateReadHistoryOutbox":case"updateReadChannelInbox":case"updateReadChannelOutbox":var E,p,T,P="updateReadHistoryOutbox"==n._||"updateReadChannelOutbox"==n._,d=n.channel_id,R=m.getFullMessageID(n.max_id,d),s=d?-d:c.getPeerID(n.peer),g=A(s),f=(Te[s]||{}).history||[],F=!1,N=f.length,B=!1;for(s>0&&P&&r.forceUserOnline(s),T=0;T<N;T++)if(E=f[T],!(E>R)&&(p=Ie[E],p.pFlags.out==P)){if(!p.pFlags.unread)break;p&&p.pFlags.unread&&(p.pFlags.unread=!1,Ae[E]&&(Ae[E].pFlags.unread=!1,B||(B=!0)),Ee[E]&&(Ee[E].pFlags.unread=!1),p.pFlags.out||(g[0]&&(F=--g[0].unread_count),w.cancel("msg"+E)))}if(g[0]){!P&&F&&g[0].top_message<=R&&(F=g[0].unread_count=0);var U=P?"read_outbox_max_id":"read_inbox_max_id";g[0][U]=R}F!==!1&&t.$broadcast("dialog_unread",{peerID:s,count:F}),B&&t.$broadcast("messages_read");break;case"updateReadMessagesContents":var T,E,p,O,L=n.messages,H=L.length;for(T=0;T<H;T++)E=L[T],(p=Ie[E])&&delete p.pFlags.media_unread,(O=Ae[E])&&delete O.pFlags.media_unread;break;case"updateDeleteMe
e.put("partials/desktop/channel_modal.html",'<div class="chat_modal_wrap md_modal_wrap" my-modal-position>\n\n <div class="md_modal_head">\n <div class="md_modal_title_wrap">\n <div class="md_modal_actions_wrap clearfix">\n <a class="md_modal_action md_modal_action_close" ng-click="$close()" my-i18n="modal_close"></a>\n <a class="md_modal_action" ng-if="hasRights(\'edit_title\')" ng-click="editChannel()" my-i18n="modal_edit"></a>\n </div>\n <div class="md_modal_title" ng-switch="isMegagroup">\n <span ng-switch-when="true" my-i18n="group_modal_info"></span>\n <span ng-switch-default my-i18n="channel_modal_info"></span>\n </div>\n </div>\n\n <div class="peer_modal_profile_wrap clearfix">\n <div class="peer_modal_photo_wrap pull-left" ng-switch="photo.updating">\n <div ng-switch-when="true" class="peer_modal_photo md_photo_loading loading_dots">\n <i></i><i></i><i></i>\n </div>\n <a ng-switch-default ng-click="openPhoto(chatFull.chat_photo.id, {p: -chatFull.chat.id})" class="peer_modal_photo" my-peer-photolink="::-chatFull.chat.id" img-class="peer_modal_photo" no-open="true" watch="true" ng-class="{disabled: !chatFull.chat.photo.photo_small}" ng-disabled="!chatFull.chat.photo.photo_small"></a>\n </div>\n <div class="peer_modal_profile">\n <div class="peer_modal_profile_name" my-peer-link="-chatFull.chat.id" verified="true"></div>\n <div class="peer_modal_profile_description" ng-if="chatFull.participants_count > 0">\n <ng-pluralize count="chatFull.participants_count"\n when="group_modal_pluralize_participants">\n </ng-pluralize>\n </div>\n </div>\n </div>\n </div>\n\n <div class="md_modal_split_actions_wrap">\n <div class="md_modal_split_actions" ng-switch="hasRights(\'edit_photo\')">\n <div ng-switch-when="true" class="md_modal_split_action">\n <input my-file-upload type="file" multiple="false" class="im_attach_input" size="120" multiple="false" accept="image/x-png, image/png, image/gif, image/jpeg" title="{{\'group_modal_update_photo\' | i18n}}" />\n <i class="md_modal_split_action_camera"></i>\n </div>\n <a ng-switch-default class="md_modal_split_action" href="" ng-click="goToHistory()" title="{{\'user_modal_send_message\' | i18n}}">\n <i class="md_modal_split_action_msg"></i>\n </a>\n </div>\n </div>\n\n <div class="md_modal_body">\n\n <div class="md_modal_sections clearfix">\n\n <div class="md_modal_iconed_section_wrap md_modal_iconed_section_number" ng-if="chatFull.rAbout || chatFull.chat.username || chatFull.chat.pFlags.creator">\n <i class="md_modal_section_icon md_modal_section_icon_about"></i>\n\n <div class="md_modal_section_param_wrap" ng-if="chatFull.about.length > 0">\n <div class="md_modal_section_param_value">\n <span ng-bind-html="chatFull.rAbout"></span>\n </div>\n <div class="md_modal_section_param_name" my-i18n="channel_modal_description"></div>\n </div>\n\n <div class="md_modal_section_param_wrap" ng-if="chatFull.chat.username">\n <div class="md_modal_section_param_value">\n <a class="settings_modal_username_link" ng-click="shareLink($event)" ng-bind="\'https://t.me/\' + chatFull.chat.username" ng-href="https://t.me/{{chatFull.chat.username}}" target="_blank"></a>\n </div>\n <div class="md_modal_section_param_name" my-i18n="channel_modal_share_link"></div>\n </div>\n\n <div class="md_modal_section_param_wrap" ng-if="!chatFull.chat.username &amp;&amp; chatFull.chat.pFlags.creator">\n <div class="md_modal_section_param_value" ng-switch="chatFull.exported_invite._">\n <a ng-switch-when="chatInviteExported" class="settings_modal_username_link" ng-click="shareLink($event)" ng-bind="chatFull.exported_invite.link" ng-href="{{chatFull.exported_invite.link}}" target="_blank"></a>\n <span ng-switch-default my-i18n="channel_modal_share_loa
e.put("partials/desktop/country_select_modal.html",'<div class="countries_modal_wrap md_modal_wrap" my-modal-position>\n\n <div class="md_modal_head md_modal_head_simple">\n <div class="md_modal_title_wrap">\n <div class="md_modal_actions_wrap clearfix">\n <a class="md_modal_action md_modal_action_close" ng-click="$dismiss()" my-i18n="modal_close"></a>\n </div>\n </div>\n <div class="md_modal_title" my-i18n="country_select_modal_title"></div>\n </div>\n\n <div class="md_modal_body">\n\n <div class="countries_modal_search">\n <input class="form-control countries_modal_search_field no_outline" my-focused type="search" placeholder="{{\'modal_search\' | i18n}}" ng-model="search.query" autocomplete="off" />\n <a class="countries_modal_search_clear tg_search_clear" ng-click="search.query = \'\'" ng-show="search.query.length">\n <i class="icon icon-search-clear"></i>\n </a>\n\n </div>\n\n <div class="countries_modal_col" my-countries-list>\n\n <div class="countries_wrap nano" my-infinite-scroller>\n <div class="countries_scrollable_wrap nano-content">\n\n <ul class="countries_modal_members_list nav nav-pills nav-stacked">\n\n <li class="countries_modal_country_wrap clearfix" ng-repeat="country in countries | limitTo : slice.limit track by $index">\n <a class="countries_modal_country" ng-click="$close(country)">\n <span class="countries_modal_country_code pull-right" ng-bind="country.code"></span>\n <span class="countries_modal_country_name" ng-bind="country.name"></span>\n </a>\n </li>\n\n </ul>\n\n </div>\n </div>\n\n </div>\n\n </div>\n\n</div>\n'),e.put("partials/desktop/dialog.html",'<a class="im_dialog" ng-mousedown="dialogSelect(dialogMessage.peerString, dialogMessage.unreadCount == -1 && dialogMessage.mid)">\n\n <div class="im_dialog_meta pull-right text-right">\n <div class="im_dialog_date" ng-bind="dialogMessage.dateText"></div>\n <span\n class="im_dialog_badge badge ng-hide"\n ng-show="dialogMessage.unreadCount > 0 && !dialogMessage.pFlags.out"\n ng-bind="dialogMessage.unreadCount"\n my-peer-muted="dialogMessage.peerID" muted-class="im_dialog_badge_muted"\n ></span>\n <i\n class="im_dialog_unread ng-hide"\n ng-show="dialogMessage.pFlags.out && dialogMessage.pFlags.unread"\n ></i>\n </div>\n\n <div class="im_dialog_photo pull-left" my-peer-photolink="::dialogMessage.peerID" img-class="im_dialog_photo" watch="true"></div>\n\n <div class="im_dialog_message_wrap">\n\n <div class="im_dialog_peer">\n <span my-peer-link="dialogMessage.peerID" verified="true"></span>\n </div>\n\n <div ng-switch="dialogMessage.typing ? \'typing\' : (!dialogMessage.unreadCount && dialogMessage.draft ? \'draft\' : (dialogMessage.deleted ? \'deleted\' : \'message\'))">\n\n <div ng-switch-when="typing" class="im_dialog_message">\n <span class="im_short_message_service" my-i18n="im_conversation_group_typing">\n <my-i18n-param name="name"><span my-peer-link="dialogMessage.typing" short="true" class="im_dialog_chat_from_wrap"></span></my-i18n-param><my-i18n-param name="dots"><span my-loading-dots></span></my-i18n-param>\n </span>\n </div>\n\n <div ng-switch-when="draft" class="im_dialog_message">\n <span class="im_dialog_chat_from_wrap">\n <span class="im_dialog_draft_from" my-i18n="conversation_draft"></span>\n </span>\n <span class="im_short_message_text" ng-bind-html="dialogMessage.draft.richMessage"></span>\n </div>\n\n <div ng-switch-when="deleted" class="im_dialog_message">\n <span class="im_short_message_text">&nbsp;</span>\n </div>\n\n <div ng-switch-when="message" class="im_dialog_message">\n <span ng-switch="dialogMessage.peerID > 0 || dialogMessage.fromID < 0">\n <span ng-switch-when="true">\n <span class="im_dialog_chat_from_wrap" ng-if="dialogMessage.pFlags.out && dialogMess
e.put("partials/desktop/import_contact_modal.html",'<div class="md_simple_modal_wrap" my-modal-position>\n\n <div class="md_simple_modal_body">\n\n <form class="modal_simple_form" ng-submit="doImport()" name="importContactForm">\n\n <h4 my-i18n="contact_import_modal_title"></h4>\n\n <div class="md-input-group" my-labeled-input ng-class="{\'md-input-error\': importContactForm.phone.$invalid && importContactForm.phone.$touched}" my-labeled-input>\n <label class="md-input-label" ng-switch="importContactForm.phone.$invalid && importContactForm.phone.$touched">\n <span ng-switch-when="true" my-i18n="login_incorrect_number"></span>\n <span ng-switch-default my-i18n="contact_import_modal_phone"></span>\n </label>\n <input class="md-input" my-focused type="tel" ng-model="importContact.phone" ng-pattern="/^[-\\+\\(\\)\\d\\s]{7,32}$/" my-submit-on-enter name="phone" />\n </div>\n\n <div class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="contact_edit_modal_first_name"></label>\n <input class="md-input" type="text" ng-model="importContact.first_name" my-submit-on-enter />\n </div>\n\n <div class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="contact_edit_modal_last_name"></label>\n <input class="md-input" type="text" ng-model="importContact.last_name" my-submit-on-enter />\n </div>\n\n </form>\n\n </div>\n\n <div class="md_simple_modal_footer">\n <button class="btn btn-md" ng-click="$dismiss()" my-i18n="modal_cancel"></button>\n <button class="btn btn-md btn-md-primary" ng-class="{disabled: progress.enabled}" ng-click="doImport()" ng-bind="progress.enabled ? \'contact_import_modal_submit_active\' : \'contact_import_modal_submit\' | i18n" ng-disabled="progress.enabled"></button>\n </div>\n\n</div>'),e.put("partials/desktop/inactive.html",'<div class="inactive_page_wrap">\n <div class="tg_head_split inactive_head"></div>\n <div class="im_page_wrap">\n <div class="inactive_page_content" my-vertical-position="0.35">\n <a class="inactive_image" ng-click="reload()"></a>\n <h3 class="inactive_title" my-i18n="inactive_title"></h3>\n <div class="inactive_description" my-i18n="inactive_description_md"></div>\n <div class="inactive_actions">\n <button class="btn btn-lg btn-md btn-md-primary" ng-click="reload()" my-i18n="inactive_reload_btn" my-focused></button>\n </div>\n </div>\n </div>\n</div>'),e.put("partials/desktop/inline_results.html",'<a ng-if="botResults.switch_pm !== undefined" class="inline_switch_pm" ng-bind-html="botResults.switch_pm.rText" data-inlineid="_switch_pm_{{botResults.switch_pm.start_param}}"></a>\n\n<ul class="inline_results_wrap composer_dropdown">\n <li class="inline_result_wrap" ng-class="\'inline_result_\' + result.type" ng-repeat="result in botResults.results track by result.qID" ng-switch="result.type">\n\n <a ng-switch-when="gif" class="img_gif_with_progress_wrap" data-inlineid="{{result.qID}}" ng-style="::{width: result.thumbW, height: result.thumbH}" ng-switch="result._">\n <div class="inline_result_ind"></div>\n <div ng-switch-when="botInlineMediaResult" ng-switch="result.document.url !== undefined" class="inline_result_gif_mtproto">\n <div ng-switch-when="true" ng-switch="result.document.mime_type == \'video/mp4\'">\n <video ng-switch-when="true" width="{{result.thumbW}}" height="{{result.thumbH}}" loop autoplay class="img_gif_video">\n <source ng-src="{{result.document.url}}" type="video/mp4">\n </video>\n <img ng-switch-default class="img_gif_image" ng-src="{{result.document.url}}" width="{{result.thumbW}}" height="{{result.thumbH}}" />\n </div>\n <div ng-switch-default class="img_gif_image_wrap">\n <img class="img_gif_thumb" my-load-thumb thumb="result.document.thumb" width="{{result.thumbW}}" height="{{result.thumbH}}" />\n </div>\n </div>\n <div ng-switch-default ng-switch="result.content
e.put("partials/desktop/message_attach_photo.html",'<a class="im_message_photo_thumb" ng-click="openPhoto(media.photo.id, {m: messageId})" ng-style="::{width: media.photo.thumb.width + \'px\'}" ng-mouseover="preloadPhoto(media.photo.id)">\n <img\n class="im_message_photo_thumb"\n my-load-thumb\n thumb="media.photo.thumb"\n alt="[{{::\'conversation_media_photo\' | i18n}}]"\n />\n</a>\n<div ng-if="::media.rCaption" class="im_message_photo_caption" ng-bind-html="::media.rCaption"></div>'),e.put("partials/desktop/message_attach_venue.html",'<div class="im_message_venue clearfix">\n\n <a ng-href="{{::media.mapUrl}}" target="_blank" rel="noopener noreferrer" class="im_message_venue_geopoint_wrap">\n <img\n class="im_message_venue_geopoint_image"\n my-geo-point-map="media.geo"\n width="100"\n height="100"\n alt="[{{::\'conversation_media_location\' | i18n}} {{::media.mapUrl}}]"\n />\n </a>\n\n <div class="im_message_venue_info">\n <div class="im_message_venue_title_wrap">\n <a ng-href="{{::media.mapUrl}}" target="_blank" rel="noopener noreferrer" class="im_message_document_name" ng-bind="::media.title"></a>\n </div>\n <div class="im_message_venue_address" ng-bind="::media.address"></div>\n </div>\n\n</div>\n'),e.put("partials/desktop/message_attach_webpage.html",'<div ng-show="media.webpage._ == \'webPage\'" class="im_message_webpage_wrap clearfix" ng-switch="media.webpage.type">\n <div ng-switch-when="photo" class="im_message_webpage_photo">\n <div class="im_message_webpage_title">\n <a href="{{media.webpage.url}}" target="_blank" rel="noopener noreferrer" ng-bind-html="media.webpage.rTitle"></a>\n </div>\n <div ng-if="media.webpage.description.length" class="im_message_webpage_description" ng-bind-html="media.webpage.rDescription"></div>\n <a class="im_message_photo_thumb" ng-click="openPhoto(media.webpage.photo.id, {w: media.webpage.id, m: messageId})" ng-style="::{width: media.webpage.photo.thumb.width + \'px\'}" ng-mouseover="preloadPhoto(media.webpage.photo.id)">\n <img\n class="im_message_photo_thumb"\n my-load-thumb\n thumb="media.webpage.photo.thumb"\n alt="[{{::\'conversation_media_photo\' | i18n}}]"\n />\n </a>\n </div>\n <div ng-switch-when="video" class="im_message_webpage_video">\n <div class="im_message_webpage_site" ng-bind="media.webpage.site_name || media.webpage.display_url"></div>\n <div class="im_message_webpage_title">\n <a ng-click="openEmbed($event)" href="{{media.webpage.url}}" target="_blank" rel="noopener noreferrer" ng-bind-html="media.webpage.rTitle"></a>\n </div>\n <div ng-if="media.webpage.description.length" class="im_message_webpage_description" ng-bind-html="media.webpage.rDescription"></div>\n <a class="im_message_video_thumb" ng-click="openEmbed($event)" ng-href="{{media.webpage.url}}" target="_blank" rel="noopener noreferrer" ng-style="::{width: video.thumb.width + \'px\'}">\n <span ng-if="media.webpage.duration > 0" class="im_message_video_duration nocopy" data-content="{{::media.webpage.duration | duration}}"></span>\n <i class="icon icon-videoplay"></i>\n <img\n class="im_message_video_thumb"\n my-load-thumb\n thumb="media.webpage.photo.thumb"\n alt="[{{::\'conversation_media_video\' | i18n}}]"\n />\n </a>\n </div>\n\n <div ng-switch-when="document" class="im_message_webpage_document">\n <div my-message-document="media.webpage" message-id="messageId"></div>\n </div>\n\n <div ng-switch-when="gif" class="im_message_webpage_gif">\n <div class="im_message_webpage_title">\n <a href="{{media.webpage.url}}" target="_blank" rel="noopener noreferrer" ng-bind-html="media.webpage.rTitle"></a>\n </div>\n <div my-message-document="media.webpage" message-id="messageId"></div>\n </div>\n\n <div ng-switch-default class="im_message_webpage_article">\n <a ng-if="media.webpage.photo" href="{{media.webpage.url}}" target="_blank" rel="noopener noreferrer" class="im_message_webpage_article_ph
e.put("partials/desktop/short_message.html",'<span class="im_short_message_media" ng-if="message.media" ng-switch="message.media._">\n <span ng-switch-when="messageMediaPhoto" my-i18n="conversation_media_photo"></span>\n <span ng-switch-when="messageMediaDocument" ng-switch="message.media.document.type || false">\n <span ng-switch-when="sticker">\n <span ng-bind-html="message.media.document.stickerEmoji"></span>\n <my-i18n msgid="conversation_media_sticker"></my-i18n>\n </span>\n <span ng-switch-when="gif" my-i18n="conversation_media_gif"></span>\n <span ng-switch-when="audio" my-i18n="conversation_media_audio"></span>\n <span ng-switch-when="voice" my-i18n="conversation_media_audio"></span>\n <span ng-switch-when="video" my-i18n="conversation_media_video"></span>\n <span ng-switch-default ng-bind="message.media.document.file_name"></span>\n </span>\n <span ng-switch-when="messageMediaGeo" my-i18n="conversation_media_location"></span>\n <span ng-switch-when="messageMediaVenue" my-i18n="conversation_media_location"></span>\n <span ng-switch-when="messageMediaContact" my-i18n="conversation_media_contact"></span>\n <span ng-switch-when="messageMediaGame">\n <span my-emoji-image="🎮"></span>\n <span ng-bind-html="message.media.game.rTitle"></span>\n </span>\n</span><span class="im_short_message_service" ng-if="message._ == \'messageService\'" ng-switch="message.action._">\n <span ng-switch-when="messageActionChatCreate" my-i18n="conversation_group_created"></span>\n <span ng-switch-when="messageActionChatEditTitle" my-i18n="conversation_group_renamed"></span>\n <span ng-switch-when="messageActionChatEditPhoto" my-i18n="conversation_group_photo_updated"></span>\n <span ng-switch-when="messageActionChatDeletePhoto" my-i18n="conversation_group_photo_removed"></span>\n <span ng-switch-when="messageActionChatJoinedByLink" my-i18n="conversation_joined_by_link"></span>\n <span ng-switch-when="messageActionChatReturn" my-i18n="conversation_returned_to_group"></span>\n <span ng-switch-when="messageActionChatJoined" my-i18n="conversation_joined_group"></span>\n <span ng-switch-when="messageActionChatAddUser" my-i18n="conversation_invited_user">\n <my-i18n-param name="user"><span my-peer-link="message.action.user_id"></span></my-i18n-param>\n </span>\n <span ng-switch-when="messageActionChatAddUsers" my-i18n="">\n <ng-pluralize count="message.action.users.length"\n when="conversation_invited_users">\n </ng-pluralize>\n </span>\n <span ng-switch-when="messageActionChatLeave" my-i18n="conversation_left_group"></span>\n <span ng-switch-when="messageActionChatDeleteUser" my-i18n="conversation_kicked_user">\n <my-i18n-param name="user"><span my-peer-link="message.action.user_id"></span></my-i18n-param>\n </span>\n <span ng-switch-when="messageActionChatMigrateTo" my-i18n="conversation_converted_to_supergroup"></span>\n <span ng-switch-when="messageActionChannelMigrateFrom" my-i18n="conversation_converted_to_supergroup"></span>\n <span ng-switch-when="messageActionChannelCreate" my-i18n="conversation_created_channel"></span>\n <span ng-switch-when="messageActionChannelEditTitle" my-i18n="conversation_changed_channel_name"></span>\n <span ng-switch-when="messageActionChannelEditPhoto" my-i18n="conversation_changed_channel_photo"></span>\n <span ng-switch-when="messageActionPinMessage" my-i18n="conversation_pinned_message"></span>\n <span ng-switch-when="messageActionGameScore">\n <ng-pluralize count="message.action.score"\n when="conversation_scored_X"></ng-pluralize>\n </my-i18n-param>\n </span>\n\n</span><span class="im_short_message_text" ng-if="message.message.length && (!message.media || message.media._ == \'messageMediaWebPage\')" ng-bind-html="message.richMessage"></span>'),e.put("partials/desktop/slider.html",'<div class="tg_slider_wrap">\n\t<div class="tg_slider_thumb"></div>\n\t<div class="tg_slider_track">\n\t\t<div class="tg_slider_track_fill"></div>\n\t</div>\n</div>'),e.put("partials/desktop/stickerset
e.put("partials/mobile/channel_modal.html",'<div class="chat_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <div class="navbar-toggle-wrap dropdown" dropdown ng-if="chatFull.chat.pFlags.creator || !chatFull.chat.pFlags.left && !chatFull.chat.pFlags.kicked">\n <a class="dropdown-toggle navbar-toggle" dropdown-toggle>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </a>\n <ul class="dropdown-menu">\n <li ng-if="hasRights(\'edit_photo\')">\n <a ng-click="deletePhoto()" my-i18n="group_modal_menu_delete_photo"></a>\n </li>\n <li ng-if="hasRights(\'edit_title\')">\n <a ng-click="editChannel()" my-i18n="modal_edit"></a>\n </li>\n <li ng-if="chatFull.chat.pFlags.creator">\n <a ng-click="deleteChannel()" my-i18n="channel_modal_delete_channel"></a>\n </li>\n <li ng-if="!chatFull.chat.pFlags.creator && !chatFull.chat.pFlags.left && !chatFull.chat.pFlags.kicked">\n <a ng-click="leaveChannel()" my-i18n="group_modal_menu_leave"></a>\n </li>\n </ul>\n </div>\n\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li>\n <a ng-click="$close()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title">\n <h4 my-i18n="channel_modal_info"></h4>\n </div>\n </a>\n </li>\n </ul>\n\n </div>\n\n </div>\n </div>\n </div>\n\n <div class="modal-body mobile_modal_body">\n\n <div class="mobile_user_modal_photo_profile_wrap">\n\n <a ng-click="openPhoto(chatFull.chat_photo.id, {p: -chatFull.chat.id})" class="mobile_user_modal_image_wrap pull-left" my-peer-photolink="::-chatFull.chat.id" img-class="mobile_user_modal_image mobile_chat_modal_image" no-open="true" watch="true" ng-class="{disabled: !chatFull.chat.photo.photo_small}" ng-disabled="!chatFull.chat.photo.photo_small"></a>\n\n <div class="mobile_user_modal_info_wrap clearfix">\n <h4 class="mobile_user_modal_header" my-peer-link="-chatFull.chat.id" verified="true"></h4>\n <p class="mobile_user_modal_status" ng-if="chatFull.participants_count > 0">\n <ng-pluralize count="chatFull.participants_count"\n when="group_modal_pluralize_participants">\n </ng-pluralize>\n </p>\n </div>\n\n </div>\n\n <div class="mobile_modal_section" ng-if="chatFull.rAbout">\n <h4 class="mobile_modal_section_header" my-i18n="channel_modal_description"></h4>\n <div class="mobile_modal_section_value" ng-bind-html="chatFull.rAbout"></div>\n </div>\n\n <div class="mobile_modal_section" ng-if="chatFull.chat.username || chatFull.chat.pFlags.creator">\n <h4 class="mobile_modal_section_header" my-i18n="channel_modal_share_link"></h4>\n <div class="mobile_modal_section_value" ng-switch="chatFull.chat.username.length > 0">\n <a ng-switch-when="true" class="settings_modal_username_link" ng-click="shareLink($event)" ng-bind="\'https://t.me/\' + chatFull.chat.username" ng-href="https://t.me/{{chatFull.chat.username}}" target="_blank"></a>\n <a ng-switch-default ng-click="shareLink($event)" ng-bind="chatFull.exported_invite.link" ng-href="{{chatFull.exported_invite.link}}" target="_blank"></a>\n </div>\n </div>\n\n <div class="mobile_modal_action_wrap" ng-if="hasRights(\'invite\')">\n <a class="mobile_modal_action" ng-click="inviteToChannel()" my-i18n="channel_modal_add_member"></a>\n </div>\n\n <div class="mobile_modal_action_wrap" ng-if="chatFull.chat.pFlags.left">\n <a class="mobile_modal_action" ng-click="joinChannel()" my-i18n="channel_modal_join"></a>\n </div>\n <div clas
e.put("partials/mobile/im.html",'<div my-head></div>\n\n<div class="im_page_wrap" ng-class="{im_page_peer_not_selected: !curDialog.peer}">\n\n <div class="im_page_split clearfix">\n\n <div ng-controller="AppImDialogsController" my-dialogs class="im_dialogs_col_wrap" ng-class="search.query.length > 0 ? \'im_dialogs_col_search\' : \'\'">\n <div class="im_dialogs_panel">\n <div class="im_dialogs_search">\n <input class="form-control im_dialogs_search_field no_outline" type="search" placeholder="{{\'modal_search\' | i18n}}" ng-model="search.query" autocomplete="off" />\n <a class="im_dialogs_search_clear tg_search_clear" ng-click="searchClear()" ng-show="search.query.length">\n <i class="icon icon-search-clear"></i>\n </a>\n </div>\n </div>\n\n <div my-dialogs-list-mobile class="im_dialogs_col im_dialogs_scrollable_wrap mobile_scrollable_wrap">\n\n <div class="im_dialogs_empty_wrap" ng-if="isEmpty.contacts" my-vertical-position="0.4">\n <h3 class="im_dialogs_empty_header" my-i18n="im_no_contacts"></h3>\n <p class="im_dialogs_empty_lead" my-i18n="im_get_started_long"></p>\n <button type="button" class="btn btn-primary btn-block im_dialogs_add_contact" ng-click="importContact()" my-i18n="im_add_contact"></button>\n <button ng-if="phonebookAvailable" type="button" class="btn btn-primary btn-block im_dialogs_import_phonebook" ng-click="importPhonebook()" my-i18n="im_import_phonebook"></button>\n </div>\n\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" my-dialog dialog-message="dialogMessage" ng-repeat="dialogMessage in dialogs track by dialogMessage.peerID" ng-class="{active: curDialog.peerID == dialogMessage.peerID}"></li>\n </ul>\n\n <div class="im_dialogs_contacts_wrap" ng-show="contacts.length > 0">\n <h5 my-i18n="im_contacts_title"></h5>\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" ng-repeat="contact in contacts | orderBy:\'user.sortName\' track by contact.userID" ng-class="{active: curDialog.peerID == contact.userID}">\n <a class="im_dialog" ng-mousedown="dialogSelect(contact.peerString)">\n <div class="im_dialog_photo pull-left" my-peer-photolink="contact.userID" img-class="im_dialog_photo" watch="true"></div>\n <div class="im_dialog_message_wrap">\n <div class="im_dialog_peer">\n <span class="im_dialog_user" my-peer-link="contact.userID" verified="true"></span>\n </div>\n <div class="im_dialog_message">\n <span class="im_dialog_message_text" my-user-status="::contact.userID"></span>\n </div>\n </div>\n </a>\n </li>\n </ul>\n </div>\n\n <div class="im_dialogs_contacts_wrap" ng-show="foundPeers.length > 0">\n <h5 my-i18n="im_found_title"></h5>\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" ng-repeat="foundPeer in foundPeers track by foundPeer.id" ng-class="{active: curDialog.peerID == foundPeer.id}">\n <a class="im_dialog" ng-mousedown="dialogSelect(foundPeer.peerString)">\n <div class="im_dialog_photo pull-left" my-peer-photolink="foundPeer.id" img-class="im_dialog_photo" watch="true"></div>\n <div class="im_dialog_message_wrap">\n <div class="im_dialog_peer">\n <span class="im_dialog_user" my-peer-link="foundPeer.id" verified="true"></span>\n </div>\n <div class="im_dialog_message">\n <span class="im_dialog_message_text" ng-bind="::\'@\' + foundPeer.username"></span>\n </div>\n </div>\n </a>\n </li>\n </ul>\n </div>\n\n <div class="im_dialogs_messages_wrap" ng-show="foundMessages.length > 0">\n <h5 my-i18n="im_messages"><
e.put("partials/mobile/message_attach_geo.html",'<a ng-href="{{::media.mapUrl}}" target="_blank" class="im_message_geopoint">\n <img\n class="im_message_venue_geopoint_image"\n my-geo-point-map="media.geo"\n width="200"\n height="100"\n />\n</a>'),e.put("partials/mobile/message_attach_pending.html",'<div class="im_message_document im_message_upload_file" ng-class="::\'im_message_upload_\' + media.type">\n <div class="im_message_file_button im_message_file_button_upload">\n <i class="im_message_file_button_icon"></i>\n </div>\n <div class="im_message_document_info">\n <div class="im_message_document_name_wrap">\n <span class="im_message_document_name" ng-attr-data-name="{{media_file_name_without_ext}}" ng-attr-data-ext="{{media_file_ext}}"></span>\n <span class="im_message_document_size" ng-if="media.progress" ng-bind="media.progress | formatSizeProgress"></span>\n </div>\n <div class="clearfix im_message_cancelable_progress_wrap">\n <a class="im_message_media_progress_cancel pull-right" ng-click="media.progress.cancel()" my-i18n="modal_cancel"></a>\n <div class="im_message_download_progress_wrap">\n <div class="progress tg_down_progress">\n <div class="progress-bar progress-bar-success" role="progressbar" ng-style="{width: media.progress.percent + \'%\'}"></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n'),e.put("partials/mobile/message_attach_photo.html",'<a class="im_message_photo_thumb" ng-click="openPhoto(media.photo.id, {m: messageId})" ng-style="::{width: media.photo.thumb.width + \'px\'}" ng-mouseover="preloadPhoto(media.photo.id)">\n <img\n class="im_message_photo_thumb"\n my-load-thumb\n thumb="media.photo.thumb"\n />\n</a>\n<div ng-if="::media.rCaption" class="im_message_photo_caption" ng-bind-html="::media.rCaption"></div>'),e.put("partials/mobile/message_attach_venue.html",'<div class="im_message_venue clearfix">\n\n <a ng-href="{{::media.mapUrl}}" target="_blank" rel="noopener noreferrer" class="im_message_venue_geopoint_wrap">\n <img\n class="im_message_venue_geopoint_image"\n my-geo-point-map="media.geo"\n width="100"\n height="100"\n alt="[{{::\'conversation_media_location\' | i18n}} {{::media.mapUrl}}]"\n />\n </a>\n\n <div class="im_message_venue_info">\n <div class="im_message_venue_title_wrap">\n <a ng-href="{{::media.mapUrl}}" target="_blank" rel="noopener noreferrer" class="im_message_document_name" ng-bind="::media.title"></a>\n </div>\n <div class="im_message_venue_address" ng-bind="::media.address"></div>\n </div>\n\n</div>\n'),e.put("partials/mobile/message_attach_webpage.html",'<div ng-show="webpage._ == \'webPage\'" class="im_message_webpage_wrap clearfix" ng-switch="webpage.type">\n <div ng-switch-when="photo" class="im_message_webpage_photo">\n <div class="im_message_webpage_site" ng-bind="webpage.site_name || webpage.display_url"></div>\n <div class="im_message_webpage_title">\n <a href="{{webpage.url}}" target="_blank" rel="noopener noreferrer" ng-bind-html="webpage.rTitle"></a>\n </div>\n <div ng-if="webpage.description.length" class="im_message_webpage_description" ng-bind-html="webpage.rDescription"></div>\n <a class="im_message_photo_thumb" ng-click="openPhoto(webpage.photo.id, {w: webpage.id, m: messageId})" ng-style="::{width: webpage.photo.thumb.width + \'px\'}" ng-mouseover="preloadPhoto(webpage.photo.id)">\n <img\n class="im_message_photo_thumb"\n my-load-thumb\n thumb="webpage.photo.thumb"\n />\n </a>\n </div>\n <div ng-switch-when="video" class="im_message_webpage_video">\n <div class="im_message_webpage_site" ng-bind="webpage.site_name || webpage.display_url"></div>\n <div class="im_message_webpage_title">\n <a ng-click="openEmbed($event)" href="{{webpage.url}}" target="_blank" rel="noopener noreferrer" ng-bind-html="webpage.rTitle"></a>\n </div>\n <div ng-if="webpage.description.length" class="im_message_webpage_description" ng-bind-html="webpage.rDescription"><
e.put("partials/mobile/stickerset_modal.html",'<div class="stickerset_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li class="navbar-quick-right" ng-if="stickersetLoaded" ng-switch="stickersetInstalled">\n <a ng-switch-when="true" my-i18n="stickerset_modal_uninstall" ng-click="toggleInstalled(false)"></a>\n <a ng-switch-when="false" my-i18n="stickerset_modal_install" ng-click="toggleInstalled(true)"></a>\n </li>\n <li>\n <a ng-click="$dismiss()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title">\n <h4 ng-switch="!stickersetLoaded">\n <span ng-switch-when="true" my-i18n="stickerset_modal_title_loading"></span>\n <span ng-switch-default ng-bind="stickerset.title"></span>\n </h4>\n </div>\n </a>\n </li>\n </ul>\n\n </div>\n\n </div>\n </div>\n </div>\n\n <div class="modal-body">\n\n <div my-stickers-list class="stickerset_modal_col">\n\n <div class="stickerset_wrap nano" my-infinite-scroller>\n <div class="stickerset_scrollable_wrap nano-content" ng-switch="!stickersetLoaded">\n\n <div ng-switch-when="true" class="stickerset_modal_loading" my-vertical-position="0.2" padding="true" my-i18n="stickerset_modal_loading">\n <my-i18n-param name="dots">\n <span my-loading-dots></span>\n </my-i18n-param>\n </div>\n\n <div ng-switch-default class="stickerset_modal_stickers_list clearfix">\n <div class="stickerset_modal_sticker_wrap" ng-repeat="sticker in documents | limitTo: slice.limit">\n <div class="stickerset_modal_sticker" my-load-sticker document="sticker" thumb="true"></div>\n <div class="stickerset_modal_sticker_alt" ng-bind-html="sticker.stickerEmoji"></div>\n </div>\n </div>\n\n </div>\n </div>\n\n </div>\n\n </div>\n\n</div>'),e.put("partials/mobile/user_modal.html",'<div class="mobile_user_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <div class="navbar-toggle-wrap dropdown" dropdown>\n <a class="dropdown-toggle navbar-toggle" dropdown-toggle>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </a>\n <ul class="dropdown-menu">\n <li ng-if="user.pFlags.contact">\n <a ng-click="importContact(true)" my-i18n="user_modal_edit_contact"></a>\n </li>\n <li ng-if="user.pFlags.contact">\n <a ng-click="deleteContact()" my-i18n="user_modal_delete_contact"></a>\n </li>\n <li ng-if="user.phone.length > 0 &amp;&amp; !user.pFlags.contact &amp;&amp; !user.pFlags.self">\n <a ng-click="importContact()" my-i18n="user_modal_add_contact"></a>\n </li>\n <li>\n <a ng-click="flushHistory(true)" my-i18n="user_modal_clear_history"></a>\n </li>\n <li>\n <a ng-click="flushHistory()" my-i18n="user_modal_delete_chat"></a>\n </li>\n </ul>\n </div>\n\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li>\n <a ng-click="$close()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title">\n <h4 my-i18n="user_modal_contact_info"></h4>\n </div>\n </a>\n </li>\n </ul>\n\n </div>\n\n </div>\n <
setRichFocus(n))}else{var p=this.getEmojiHtml(e);if(window.getSelection){var u=window.getSelection();if(u.getRangeAt&&u.rangeCount){var m=document.createElement("div");m.innerHTML=p;var g=m.firstChild,h=u.getRangeAt(0);h.deleteContents(),h.insertNode(document.createTextNode(" ")),h.insertNode(g),h.setStart(g,0),setTimeout(function(){h=document.createRange(),h.setStartAfter(g),h.collapse(!0),u.removeAllRanges(),u.addRange(h)},0)}}else document.selection&&"Control"!=document.selection.type&&document.selection.createRange().pasteHTML(p)}}else{var n=this.textareaEl[0],o=n.value,s=this.isActive?getFieldSelection(n):o.length,r=o.substr(s),l=o.substr(0,s),c=t&&l.match(/:([\S]*)$/),d=EmojiHelper.emojis[e];if(c&&c[0])var f=l.substr(0,c.index)+":"+d[1]+": "+r,_=c.index+d[1].length+3;else var f=l+":"+d[1]+": "+r,_=l.length+d[1].length+3;n.value=f,setFieldSelection(n,_)}this.hideSuggestions(),this.onChange()},MessageComposer.prototype.onMentionsUpdated=function(e){delete this.previousQuery,this.isActive&&this.checkAutocomplete()},MessageComposer.prototype.onMentionSelected=function(e,t){var n=!0;if("#"==e.charAt(0)&&(n=!1,e=e.substr(1),t=t.replace(/\(\)@/,"")),this.richTextareaEl){var a=this.richTextareaEl[0];this.isActive||this.restoreSelection()||setRichFocus(a);var i,o=getRichValueWithCaret(a),s=o[0],r=o[1]>=0?o[1]:s.length,l=s.substr(r),c=s.substr(0,r),d=c.match(/@([\S]*)$/);i=d&&d[0]?c.substr(0,d.index)+"@"+e:c+"@"+e;var p;n?l.length?(this.selId=(this.selId||0)+1,p=this.getRichHtml(i)+'&nbsp;<span id="composer_sel'+this.selId+'"></span>'+this.getRichHtml(l),this.richTextareaEl.html(p),setRichFocus(a,$("#composer_sel"+this.selId)[0])):(p=this.getRichHtml(i)+"&nbsp;",this.richTextareaEl.html(p),setRichFocus(a)):(this.selId=(this.selId||0)+1,p=this.getRichHtml(i)+'&nbsp;(<span id="composer_sel'+this.selId+'">'+encodeEntities(t)+"</span>)&nbsp;"+this.getRichHtml(l),this.richTextareaEl.html(p),setRichFocus(a,$("#composer_sel"+this.selId)[0],!0))}else{var i,u,m,g,a=this.textareaEl[0],s=a.value,r=this.isActive?getFieldSelection(a):s.length,l=s.substr(r),c=s.substr(0,r),d=c.match(/@([\S]*)$/);i=d&&d[0]?c.substr(0,d.index)+"@"+e:c+"@"+e,n?(u=i+"@"+e+" "+l,m=d.index+e.length+2):(u=i+"@"+e+" ("+t+") "+l,m=d.index+e.length+2,g=m+t.length),a.value=u,setFieldSelection(a,m,g)}this.hideSuggestions(),this.onChange()},MessageComposer.prototype.onCommandSelected=function(e,t){if(t)if(this.richTextareaEl)this.richTextareaEl.html(encodeEntities(e)+"&nbsp;"),setRichFocus(this.richTextareaEl[0]);else{var n=this.textareaEl[0];n.value=e+" ",setFieldSelection(n)}else this.onCommandSend(e);this.hideSuggestions(),this.onChange()},MessageComposer.prototype.onChange=function(e){if(this.richTextareaEl){delete this.keyupStarted;var t=getRichValue(this.richTextareaEl[0]);this.textareaEl.val(t).trigger("change")}this.updateInlinePlaceholder()},MessageComposer.prototype.getEmojiHtml=function(e,t){t=t||EmojiHelper.emojis[e];var n=20,a=EmojiHelper.spritesheetPositions[e],i=a[0],o=(a[1],n*a[3]),s=n*a[2];return'<img src="img/blank.gif" alt=":'+encodeEntities(t[1])+':" data-code="'+encodeEntities(e)+'" class="emoji emoji-w20 emoji-spritesheet-'+i+'" style="background-position: -'+o+"px -"+s+'px;" onresizestart="return false" />'},MessageComposer.prototype.setValue=function(e){this.richTextareaEl?(this.richTextareaEl.html(this.getRichHtml(e)),this.lastLength=e.length,this.wasEmpty=!e.length,this.onKeyEvent({type:"keyup"})):this.textareaEl.val(e)},MessageComposer.prototype.setFocusedValue=function(e){var t=e[0],n=e[1],a=e[2];if(this.richTextareaEl){this.selId=(this.selId||0)+1;var i=this.getRichHtml(t)+'<span id="composer_sel'+this.selId+'">'+this.getRichHtml(n)+"</span>"+this.getRichHtml(a);this.richTextareaEl.html(i),setRichFocus(this.richTextareaEl[0],$("#composer_sel"+this.selId)[0],!0)}else this.textareaEl.val(t+n+a),setFieldSelection(this.textareaEl[0],t.length,t.length+n.length)},MessageComposer.prototype.getRichHtml=function(e){var t=$("<div>").text(e).html();return t=t.replace(/\n/g,"<br/>"),t=t.replace(/:([A-Za-z0-9\-\+\*_]+?):/gi,function(e,t){var n=EmojiHe
})}function v(e){return 38==e.keyCode?(o.$emit("last_message_edit"),cancelEvent(e)):(o.$emit("history_direction_key",e),!0)}function y(){j&&(L.onChange(),b())}function b(){var e=j.offsetHeight;q!=e&&(q=e,o.$emit("ui_editor_resize"))}function w(e){if(!(9!=e.keyCode||e.shiftKey||e.ctrlKey||e.metaKey||i.getTop()))return L.focus(),cancelEvent(e)}function k(){onContentLoaded(function(){L.focus()})}function C(e){var n=e.type||"",a=t.when(!1);["image/jpeg","image/gif","image/png","image/bmp"].indexOf(n)>=0&&(a=u.getFileCorrectUrl(e,n)),a.then(function(t){t=t||!1,d.confirm({type:"FILE_CLIPBOARD_PASTE",fileUrl:t}).then(function(){o.draftMessage.files=[e],o.draftMessage.isMedia=!0})})}function S(e){var t,n,a=(e.originalEvent||e).clipboardData,i=a&&a.items||[],s=[];for(t=0;t<i.length;t++)"file"==i[t].kind&&(n=i[t].getAsFile(),s.push(n));if(s.length>0){if(1==s.length)return C(s[0]);d.confirm({type:"FILES_CLIPBOARD_PASTE",files:s}).then(function(){o.draftMessage.files=s,o.draftMessage.isMedia=!0})}}function M(e){var t=!1;return x&&1!=x||(x=checkDragEvent(e)?2:1,t=!0),2==x&&(I&&setTimeout(function(){clearTimeout(I),I=!1},0),"dragenter"==e.type||"dragover"==e.type?t&&(Config.Mobile||$(E).hide(),$(P).css({height:R.offsetHeight+2,width:R.offsetWidth}).show()):("drop"==e.type&&o.$apply(function(){o.draftMessage.files=Array.prototype.slice.call(e.originalEvent.dataTransfer.files),o.draftMessage.isMedia=!0}),I=setTimeout(function(){$(P).hide(),Config.Mobile||$(E).show(),x=!1,I=!1},300))),cancelEvent(e)}var x,I,A=$("textarea",s)[0],E=$(".composer_emoji_insert_btn",s)[0],T=$(".composer_emoji_panel",s)[0],D=$("input",s),P=$(".im_send_dropbox_wrap",s)[0],R=$(".im_send_field_wrap",s)[0],F=$(".im_submit",s)[0],N=a('<a class="composer_sticker_btn" data-sticker="{{::document.id}}" my-load-sticker document="document" thumb="true" img-class="composer_sticker_image"></a>'),B={},U=new EmojiTooltip(E,{getStickers:function(e){l.getStickers().then(e)},getStickerImage:function(e,t){var n=e.attr("data-category"),a=B[t];if(a&&!isInDOM(a[0]))return a.attr("data-category",n),void e.replaceWith(a);var i=o.$new(!0);i.document=c.getDoc(t),N(i,function(a){B[t]=a,a.attr("data-category",n),e.replaceWith(a)})},onStickersetSelected:function(e){l.openStickersetLink(e)},onEmojiSelected:function(e){o.$apply(function(){L.onEmojiSelected(e)})},onStickerSelected:function(e){o.$apply(function(){o.draftMessage.sticker=e})},langpack:{im_emoji_tab:e("im_emoji_tab"),im_stickers_tab:e("im_stickers_tab")}});o.$on("stickers_changed",function(){U.onStickersChanged()});var O;T&&(O=new EmojiPanel(T,{onEmojiSelected:function(e){L.onEmojiSelected(e)}}));var L=new MessageComposer(A,{onTyping:function(){o.$emit("ui_typing")},getSendOnEnter:function(){return H},dropdownDirective:function(e,t){var n=o.$new(!0);a("<div><div my-composer-dropdown></div></div>")(n,function(n,a){e.replaceWith(n),t(a,n)})},mentions:o.mentions,commands:o.commands,onMessageSubmit:f,onDirectionKey:v,onInlineResultSend:_,onFilePaste:C,onCommandSend:function(e){o.$apply(function(){o.draftMessage.command=e})}}),j=L.richTextareaEl&&L.richTextareaEl[0];j&&$(j).on("keydown keyup",b),o.$on("inline_results",function(e,t){var n=Config.Mobile?$(window).width():(R.offsetWidth||382)-2,a=80;t&&p.regroupWrappedResults(t.results,n,a),setZeroTimeout(function(){L.setInlineSuggestions(t)})}),o.$on("inline_placeholder",function(e,t){L.setInlinePlaceholder(t.prefix,t.placeholder)}),D.on("change",function(){var e=this;o.$apply(function(){o.draftMessage.files=Array.prototype.slice.call(e.files),o.draftMessage.isMedia=$(e).hasClass("im_media_attach_input")||Config.Mobile,setTimeout(function(){try{e.value=""}catch(t){}},1e3)})});var H=!0;o.$on("settings_changed",h),h(),$(F).on("mousedown touchstart",f);var q=j&&j.offsetHeight;$(document).on("keydown",w),$("body").on("dragenter dragleave dragover drop",M),$(document).on("paste",S),m&&(o.$on("ui_peer_change",k),o.$on("ui_history_focus",k),o.$on("ui_history_change",k)),o.$on("ui_peer_change",L.resetTyping.bind(L)),o.$on("ui_peer_draft",function(t,n){n=n||{};var a=o.draftMessage.isBroadcast;L
link:e}}),angular.module("myApp.directives").directive("myDialogsListMobile",["$window","$timeout",function(e,t){function n(n,a,i){function o(){return d&&d.offsetHeight||(d=$(c)[0]),i.modal?void $(a).css({height:$(e).height()-(d?d.offsetHeight:58)-46}):(l&&l.offsetHeight||(l=$(".tg_page_head")[0]),s&&s.offsetHeight||(s=$(".im_dialogs_col_wrap")[0]),void $(a).css({height:$(e).height()-(l?l.offsetHeight:46)-(d?d.offsetHeight:58)-parseInt($(s).css("paddingBottom")||0)}))}var s=$(".im_dialogs_col_wrap")[0],r=a[0],l=$(".tg_page_head")[0],c=i.modal?".mobile_modal_body .im_dialogs_panel":".im_dialogs_panel",d=$(c)[0],p=!1;n.$on("ui_dialogs_search",o),n.$on("ui_dialogs_update",o),n.$on("ui_dialogs_append",function(){onContentLoaded(function(){p=!1,t(function(){$(r).trigger("scroll")})})}),n.$on("ui_dialogs_change",function(){onContentLoaded(function(){p=!1,t(function(){$(r).trigger("scroll")})})}),$(r).on("scroll",function(e){a.is(":visible")&&!p&&r.scrollTop>=r.scrollHeight-r.clientHeight-300&&(n.$emit("dialogs_need_more"),p=!0)}),$(e).on("resize",o),o(),setTimeout(o,1e3)}return{link:n}}]).directive("myHistoryMobile",["$window","$timeout","$rootScope","$transition",function(e,t,n,a){function i(n,a,i){function o(){var e,n;if(n=$(".im_message_focus:visible",c)[0]){var a=c.clientHeight,i=c.scrollTop,o=n.offsetTop,s=n.clientHeight;(!i||i+a<o||i>o+s)&&(c.scrollTop=Math.max(0,o-Math.floor(a/2)+26)),_=!1}else(e=$(".im_message_unread_split:visible",c)[0])?(c.scrollTop=Math.max(0,e.offsetTop-52),_=!1):(c.scrollTop=c.scrollHeight,_=!0);t(function(){$(c).trigger("scroll"),v=c.scrollTop})}function s(t){if(a.is(":visible")||$(a[0].parentNode.parentNode).is(":visible")){$(u).is(":visible")&&$(u).css({height:$(g).height()}),m&&m.offsetHeight||(m=$(".tg_page_head")[0]);var n=$(e).height()-p.offsetHeight-(m?m.offsetHeight:46);$(l).css({height:n}),r(),t!==!0&&_&&onContentLoaded(function(){c.scrollTop=c.scrollHeight})}}function r(){}var l=$(".im_history_wrap",a)[0],c=($(".im_history_messages",a)[0],$(".im_history_scrollable_wrap",a)[0]),d=$(".im_history_scrollable",a)[0],p=$(".im_bottom_panel_wrap",a)[0],u=$(".im_send_form_wrap",a)[0],m=$(".tg_page_head")[0],g=$(".im_send_form",a)[0],h=!1,f=!1;onContentLoaded(function(){c.scrollTop=c.scrollHeight}),n.$on("ui_history_append_new",function(e,t){if(_||t.my){var n=parseInt($(c).css("paddingRight"));$(c).addClass("im_history_to_bottom"),$(d).css({bottom:0,marginLeft:-Math.ceil(n/2)}),onContentLoaded(function(){$(c).removeClass("im_history_to_bottom"),$(d).css({bottom:"",marginLeft:""}),c.scrollTop=c.scrollHeight,r()})}}),n.$on("ui_history_change",function(){var e=parseInt($(c).css("paddingRight"));$(c).addClass("im_history_to_bottom"),$(d).css({bottom:0,marginLeft:-Math.ceil(e/2)}),onContentLoaded(function(){$(c).removeClass("im_history_to_bottom"),$(d).css({bottom:"",marginLeft:""}),s(!0),h=!1,f=!1,o()})}),n.$on("ui_history_change_scroll",function(){onContentLoaded(o)}),n.$on("ui_history_focus",function(){_||(c.scrollTop=c.scrollHeight,_=!0)}),n.$on("ui_history_prepend",function(){var e=c.scrollHeight,a=c.scrollTop,i=parseInt($(c).css("paddingRight")),s=c.clientHeight;$(c).addClass("im_history_to_bottom"),c.scrollHeight,$(d).css({bottom:-(e-a-s),marginLeft:-Math.ceil(i/2)});var l=function(){$(c).removeClass("im_history_to_bottom"),$(d).css({bottom:"",marginLeft:""}),v>=0?o():c.scrollTop=a+c.scrollHeight-e,r(),h=!1,t(function(){c.scrollHeight!=e&&$(c).trigger("scroll")}),clearTimeout(p),u()},p=setTimeout(l,0),u=n.$on("$viewContentLoaded",l)}),n.$on("ui_history_append",function(){var e=c.scrollHeight;onContentLoaded(function(){_=!1,r(),f=!1,v>=0&&o(),t(function(){c.scrollHeight!=e&&$(c).trigger("scroll")})})}),n.$on("ui_panel_update",function(e,a){onContentLoaded(function(){s(),a&&a.blur?n.$broadcast("ui_message_blur"):n.$broadcast("ui_message_send"),t(function(){$(c).trigger("scroll")})})}),n.$on("ui_selection_clear",function(){window.getSelection?window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().removeAllRanges():document.selection&