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.

50 lines
1.2 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,i,a,o){for(;--o>=0;){var s=t*this[e++]+n[i]+a;a=Math.floor(s/67108864),n[i++]=67108863&s}return a}function am2(e,t,n,i,a,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[i]+(1073741823&a),a=(l>>>30)+(d>>>15)+r*c+(a>>>30),n[i++]=1073741823&l}return a}function am3(e,t,n,i,a,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[i]+a,a=(l>>28)+(d>>14)+r*c,n[i++]=268435455&l}return a}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=0>e?-1:0,e>0?this[0]=e:-1>e?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 i;if(16==t)i=4;else if(8==t)i=3;else if(256==t)i=8;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return void this.fromRadix(e,t);i=2}this.t=0,this.s=0;for(var a=e.length,o=!1,s=0;--a>=0;){var r=8==i?255&e[a]:intAt(e,a);0>r?"-"==e.charAt(a)&&(o=!0):(o=!1,0==s?this[this.t++]=r:s+i>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+=i,s>=this.DB&&(s-=this.DB))}8==i&&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,i=(1<<t)-1,a=!1,o="",s=this.t,r=this.DB-s*this.DB%t;if(s-->0)for(r<this.DB&&(n=this[s]>>r)>0&&(a=!0,o=int2char(n));s>=0;)t>r?(n=(this[s]&(1<<r)-1)<<t-r,n|=this[--s]>>(r+=this.DB-t)):(n=this[s]>>(r-=t)&i,0>=r&&(r+=this.DB,--s)),n>0&&(a=!0),a&&(o+=int2char(n));return a?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,i=e%this.DB,a=this.DB-i,o=(1<<a)-1,s=Math.floor(e/this.DB),r=this.s<<i&this.DM;for(n=this.t-1;n>=0;--n)t[n+s+1]=this[n]>>a|r,r=(this[n]&o)<<i;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 i=e%this.DB,a=this.DB-i,o=(1<<i)-1;t[0]=this[n]>>i;for(var s=n+1;s<this.t;++s)t[s-n-1]|=(this[s]&o)<<a,t[s-n]=this[s]>>i;i>0&&(t[this.t-n-1]|=(this.s&o)<<a),t.t=this.t-n,t.clamp()}function bnpSubTo(e,t){for(var n=0,i=0,a=Math.min(e.t,this.t);a>n;)i+=this[n]-e[n],t[n++]=i&this.DM,i>>=this.DB;if(e.t<this.t){for(i-=e.s;n<this.t;)i+=this[n],t[n++]=i&this.DM,i>>=this.DB;i+=this.s}else{for(i+=this.s;n<e.t;)i-=e[n],t[n++]=i&this.DM,i>>=this.DB;i-=e.s}t.s=0>i?-1:0,-1>i?t[n++]=this.DV+i:i>0&&(t[n++]=i),t.t=n,t.clamp()}function bnpMultiplyTo(e,t){var n=this.abs(),i=e.abs(),a=n.t;for(t.t=a+i.t;--a>=0;)t[a]=0;for(a=0;a<i.t;++a)t[a+n.t]=n.am(0,i[a],t,a,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 i=t.a
return!1}function cancelEvent(e){return e=e||window.event,e&&(e=e.originalEvent||e,e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()),!1}function hasOnlick(e){if(e.onclick||e.getAttribute("ng-click"))return!0;var t=$._data(e,"events");return t&&(t.click||t.mousedown)?!0:!1}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){return 13==e.keyCode&&(e.ctrlKey||e.metaKey)?(t(),cancelEvent(e)):void 0})}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 i=e.createTextRange();i.collapse(!0),i.moveEnd("character",n),i.moveStart("character",t),i.select()}else e.setSelectionRange&&e.setSelectionRange(t,n)}catch(a){}}function getFieldSelection(e){if(e.selectionStart)return e.selectionStart;if(!document.selection)return 0;var t="",n=document.selection.createRange(),i=n.text,a=n.duplicate(),o=0;try{a.moveToElementText(e)}catch(s){return 0}return n.text=i+t,o=a.text.indexOf(t),n.moveStart("character",-1),n.text="",o}function getRichValue(e){if(!e)return"";var t=[],n=[];return getRichElementValue(e,t,n),n.length&&t.push(n.join("")),t.join("\n")}function getRichValueWithCaret(e){if(!e)return[];var t,n,i=[],a=[],o=window.getSelection?window.getSelection():!1;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,i,a,t,n),a.length&&i.push(a.join(""));var r=i.join("\n"),l=r.indexOf("");return-1!=l&&(r=r.substr(0,l)+r.substr(l+1)),[r,l]}function getRichElementValue(e,t,n,i,a){if(3!=e.nodeType){if(1==e.nodeType){var o,s=i===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&&!a&&n.push("");for(var o=e.firstChild;o;)getRichElementValue(o,t,n,i,a),o=o.nextSibling;s&&a&&n.push(""),r&&n.length&&(t.push(n.join("")),n.splice(0,n.length))}}else if(i===e){var l=e.nodeValue;n.push(l.substr(0,a)+""+l.substr(a))}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 i=document.createRange();t?i.selectNode(t):i.selectNodeContents(e),n||i.collapse(!1);var a=window.getSelection();a.removeAllRanges(),a.addRange(i)}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 i=t.offsetTop-15,a=t.offsetHeight+30,o=e.scrollTop,s=e.clientHeight;o>i?(e.scrollTop=i,$(n).nanoScroller({flash:!0})):i+a-s>o&&(e.scrollTop=i+a-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),i=e.length?e[e.length-1]:4294967295,a=0;a<t.length;a++)t[a]<i&&n.push(t[a]);return n}function listUniqSorted(e){e=e||[];for(var t=[],n=!1,i=0;i<e.length;i++)e[i]!==n&&t.push(e[i]),n=e[i];return t}function templateUrl(e){var t={confirm_modal:"desktop",error_modal:"desktop",media_modal_layout:"desktop",slider:"desktop",reply_message:"desktop",forwarded_messages:"desktop",chat_invite_link_modal:"desktop",reply_markup:"desktop",dialog_service:"desktop",channel_edit_modal:"desktop",megagroup_edit_modal:"desktop"},n=t[e]||(Config.Mo
},guid:1,proxy:function(e,t){var n,i,a;return"string"==typeof t&&(a=e[t],t=e,e=a),ae.isFunction(e)?(n=Y.call(arguments,2),i=function(){return e.apply(t||this,n.concat(Y.call(arguments)))},i.guid=e.guid=e.guid||ae.guid++,i):void 0},now:function(){return+new Date},support:ne}),ae.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,i){var a,o,s,r,l,c,u,m,g,h;if((t?t.ownerDocument||t:B)!==D&&T(t),t=t||D,n=n||[],!e||"string"!=typeof e)return n;if(1!==(r=t.nodeType)&&9!==r)return[];if(F&&!i){if(a=ve.exec(e))if(s=a[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))&&O(t,o)&&o.id===s)return n.push(o),n}else{if(a[2])return Q.apply(n,t.getElementsByTagName(e)),n;if((s=a[3])&&w.getElementsByClassName&&t.getElementsByClassName)return Q.apply(n,t.getElementsByClassName(s)),n}if(w.qsa&&(!R||!R.test(e))){if(m=u=L,g=t,h=9===r&&e,1===r&&"object"!==t.nodeName.toLowerCase()){for(c=C(e),(u=t.getAttribute("id"))?m=u.replace(be,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",l=c.length;l--;)c[l]=m+p(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{u||t.removeAttribute("id")}}}return x(e.replace(le,"$1"),t,n,i)}function n(){function e(n,i){return t.push(n+" ")>k.cacheLength&&delete e[t.shift()],e[n+" "]=i}var t=[];return e}function i(e){return e[L]=!0,e}function a(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("|"),i=e.length;i--;)k.attrHandle[n[i]]=t}function s(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||K)-(~e.sourceIndex||K);if(i)return i;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 i(function(t){return t=+t,i(function(n,i){for(var a,o=e([],n.length,t),s=o.length;s--;)n[a=o[s]]&&(n[a]=!(i[a]=n[a]))})})}function d(e){return e&&typeof e.getElementsByTagName!==G&&e}function u(){}function p(e){for(var t=0,n=e.length,i="";n>t;t++)i+=e[t].value;return i}function m(e,t,n){var i=t.dir,a=n&&"parentNode"===i,o=q++;return t.first?function(t,n,o){for(;t=t[i];)if(1===t.nodeType||a)return e(t,n,o)}:function(t,n,s){var r,l,c=[j,o];if(s){for(;t=t[i];)if((1===t.nodeType||a)&&e(t,n,s))return!0}else for(;t=t[i];)if(1===t.nodeType||a){if(l=t[L]||(t[L]={}),(r=l[i])&&r[0]===j&&r[1]===o)return c[2]=r[2];if(l[i]=c,c[2]=e(t,n,s))return!0}}}function g(e){return e.length>1?function(t,n,i){for(var a=e.length;a--;)if(!e[a](t,n,i))return!1;return!0}:e[0]}function h(e,n,i){for(var a=0,o=n.length;o>a;a++)t(e,n[a],i);return i}function f(e,t,n,i,a){for(var o,s=[],r=0,l=e.length,c=null!=t;l>r;r++)(o=e[r])&&(!n||n(o,i,a))&&(s.push(o),c&&t.push(r));return s}function _(e,t,n,a,o,s){return a&&!a[L]&&(a=_(a)),o&&!o[L]&&(o=_(o,s)),i(function(i,s,r,l){var c,d,u,p=[],m=[],g=s.length,_=i||h(t||"*",r.nodeType?[r]:r,[]),v=!e||!i&&t?_:f(_,p,e,r,l),y=n?o||(i?e:g||a)?[]:s:v;if(n&&n(v,y,r,l),a)for(c=f(y,m),a(c,[],r,l),d=c.length;d--;)(u=c[d])&&(y[m[d]]=!(v[m[d]]=u));if(i){if(o||e){if(o){for(c=[],d=y.length;d--;)(u=y[d])&&c.push(v[d]=u);o(null,y=[],c,l)}for(d=y.length;d--;)(u=y[d])&&(c=o?te.call(i,u):p[d])>-1&&(i[c]=!(s[c]=u))}}else y=f(y===s?y.splice(g,y.length):y),o?o(null,s,y,l):Q.apply(s,y)})}function v(e){for(var t,n,i,a=e.length,o=k.relative[e[0].type],s=o||k.relative[" "],r=o?1:0,l=m(function(e){return e===t},s,!0),c=m(function(e){return te.call(t,e)>-1},s,!0),d=[function(e,n,i){return!o&&(i||n!==A)||((t=n).nodeType?l(e,n,i):c(e,n,i))}];a>r;r++)if(n=k.relative[e[r].type])d=[m(g(d),n)];else{if(n=k.filter[e[r].type].apply(null,e[r].matches),n[L]){for(i=++r;a>i&&!k.relative[e[i].type];i++);return _(r>1&&g(d),r>1&&p(e.sli
ae.event.global[m]=!0);e=null}},remove:function(e,t,n,i,a){var o,s,r,l,c,d,u,p,m,g,h,f=ae.hasData(e)&&ae._data(e);if(f&&(d=f.events)){for(t=(t||"").match(ye)||[""],c=t.length;c--;)if(r=Re.exec(t[c])||[],m=h=r[1],g=(r[2]||"").split(".").sort(),m){for(u=ae.event.special[m]||{},m=(i?u.delegateType:u.bindType)||m,p=d[m]||[],r=r[2]&&new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=p.length;o--;)s=p[o],!a&&h!==s.origType||n&&n.guid!==s.guid||r&&!r.test(s.namespace)||i&&i!==s.selector&&("**"!==i||!s.selector)||(p.splice(o,1),s.selector&&p.delegateCount--,u.remove&&u.remove.call(e,s));l&&!p.length&&(u.teardown&&u.teardown.call(e,g,f.handle)!==!1||ae.removeEvent(e,m,f.handle),delete d[m])}else for(m in d)ae.event.remove(e,m+t[c],n,i,!0);ae.isEmptyObject(d)&&(delete f.handle,ae._removeData(e,"events"))}},trigger:function(t,n,i,a){var o,s,r,l,c,d,u,p=[i||ge],m=te.call(t,"type")?t.type:t,g=te.call(t,"namespace")?t.namespace.split("."):[];if(r=d=i=i||ge,3!==i.nodeType&&8!==i.nodeType&&!Fe.test(m+ae.event.triggered)&&(m.indexOf(".")>=0&&(g=m.split("."),m=g.shift(),g.sort()),s=m.indexOf(":")<0&&"on"+m,t=t[ae.expando]?t:new ae.Event(m,"object"==typeof t&&t),t.isTrigger=a?2:3,t.namespace=g.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:ae.makeArray(n,[t]),c=ae.event.special[m]||{},a||!c.trigger||c.trigger.apply(i,n)!==!1)){if(!a&&!c.noBubble&&!ae.isWindow(i)){for(l=c.delegateType||m,Fe.test(l+m)||(r=r.parentNode);r;r=r.parentNode)p.push(r),d=r;d===(i.ownerDocument||ge)&&p.push(d.defaultView||d.parentWindow||e)}for(u=0;(r=p[u++])&&!t.isPropagationStopped();)t.type=u>1?l:c.bindType||m,o=(ae._data(r,"events")||{})[t.type]&&ae._data(r,"handle"),o&&o.apply(r,n),o=s&&r[s],o&&o.apply&&ae.acceptData(r)&&(t.result=o.apply(r,n),t.result===!1&&t.preventDefault());if(t.type=m,!a&&!t.isDefaultPrevented()&&(!c._default||c._default.apply(p.pop(),n)===!1)&&ae.acceptData(i)&&s&&i[m]&&!ae.isWindow(i)){d=i[s],d&&(i[s]=null),ae.event.triggered=m;try{i[m]()}catch(h){}ae.event.triggered=void 0,d&&(i[s]=d)}return t.result}},dispatch:function(e){e=ae.event.fix(e);var t,n,i,a,o,s=[],r=Y.call(arguments),l=(ae._data(this,"events")||{})[e.type]||[],c=ae.event.special[e.type]||{};if(r[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(s=ae.event.handlers.call(this,e,l),t=0;(a=s[t++])&&!e.isPropagationStopped();)for(e.currentTarget=a.elem,o=0;(i=a.handlers[o++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,n=((ae.event.special[i.origType]||{}).handle||i.handler).apply(a.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,i,a,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(a=[],o=0;r>o;o++)i=t[o],n=i.selector+" ",void 0===a[n]&&(a[n]=i.needsContext?ae(n,this).index(l)>=0:ae.find(n,this,null,[l]).length),a[n]&&a.push(i);a.length&&s.push({elem:l,handlers:a})}return r<t.length&&s.push({elem:this,handlers:t.slice(r)}),s},fix:function(e){if(e[ae.expando])return e;var t,n,i,a=e.type,o=e,s=this.fixHooks[a];for(s||(this.fixHooks[a]=s=Pe.test(a)?this.mouseHooks:De.test(a)?this.keyHooks:{}),i=s.props?this.props.concat(s.props):this.props,e=new ae.Event(o),t=i.length;t--;)n=i[t],e[n]=o[n];return e.target||(e.target=o.srcElement||ge),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY scre
return e=ae.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),ae.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var i,a,o,s=e.nodeType;return e&&3!==s&&8!==s&&2!==s?(o=1!==s||!ae.isXMLDoc(e),o&&(t=ae.propFix[t]||t,a=ae.propHooks[t]),void 0!==n?a&&"set"in a&&void 0!==(i=a.set(e,n,t))?i:e[t]=n:a&&"get"in a&&null!==(i=a.get(e,t))?i:e[t]):void 0},propHooks:{tabIndex:{get:function(e){var t=ae.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||At.test(e.nodeName)&&e.href?0:-1}}}}),ne.hrefNormalized||ae.each(["href","src"],function(e,t){ae.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),ne.optSelected||(ae.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),ae.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ae.propFix[this.toLowerCase()]=this}),ne.enctype||(ae.propFix.enctype="encoding");var It=/[\t\r\n\f]/g;ae.fn.extend({addClass:function(e){var t,n,i,a,o,s,r=0,l=this.length,c="string"==typeof e&&e;if(ae.isFunction(e))return this.each(function(t){ae(this).addClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>r;r++)if(n=this[r],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(It," "):" ")){for(o=0;a=t[o++];)i.indexOf(" "+a+" ")<0&&(i+=a+" ");s=ae.trim(i),n.className!==s&&(n.className=s)}return this},removeClass:function(e){var t,n,i,a,o,s,r=0,l=this.length,c=0===arguments.length||"string"==typeof e&&e;if(ae.isFunction(e))return this.each(function(t){ae(this).removeClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>r;r++)if(n=this[r],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(It," "):"")){for(o=0;a=t[o++];)for(;i.indexOf(" "+a+" ")>=0;)i=i.replace(" "+a+" "," ");s=e?ae.trim(i):"",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(ae.isFunction(e)?function(n){ae(this).toggleClass(e.call(this,n,this.className,t),t)}:function(){if("string"===n)for(var t,i=0,a=ae(this),o=e.match(ye)||[];t=o[i++];)a.hasClass(t)?a.removeClass(t):a.addClass(t);else(n===$e||"boolean"===n)&&(this.className&&ae._data(this,"__className__",this.className),this.className=this.className||e===!1?"":ae._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,i=this.length;i>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(It," ").indexOf(t)>=0)return!0;return!1}}),ae.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){ae.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ae.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,i){return this.on(t,e,n,i)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var Et=ae.now(),Tt=/\?/,Dt=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;ae.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,i=null,a=ae.trim(t+"");return a&&!ae.trim(a.replace(Dt,function(e,t,a,o){return n&&t&&(i=0),0===i?e:(n=a||t,i+=!o-!a,"")}))?Function("return "+a)():ae.error("Invalid JSON: "+t)},ae.parseXML=function(t){var n,i;if(!t||"string"!=typeof t)return null;try{e.DOMParser?(i=new DOMParser,n=i.parseFromString(t,"text/xml")):(n=new ActiveXObject("Microsoft.XMLDOM"),n.async="false",n.loadXML(t))}catch(a){n=void 0}return n&&n.documentElement&&!n.getElementsByTagName("parsererror").length||ae.error("Invalid XML: "+t),n};var Pt,Ft,Rt=/#.*$/,Nt=/(
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:"-139464256",predicate:"inputMediaUploadedPhoto",params:[{name:"file",type:"InputFile"},{name:"caption",type:"string"}],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:"-2106507297",predicate:"inputMediaUploadedVideo",params:[{name:"file",type:"InputFile"},{name:"duration",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"mime_type",type:"string"},{name:"caption",type:"string"}],type:"InputMedia"},{id:"2004934137",predicate:"inputMediaUploadedThumbVideo",params:[{name:"file",type:"InputFile"},{name:"thumb",type:"InputFile"},{name:"duration",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"mime_type",type:"string"},{name:"caption",type:"string"}],type:"InputMedia"},{id:"-1821749571",predicate:"inputMediaVideo",params:[{name:"id",type:"InputVideo"},{name:"caption",type:"string"}],type:"InputMedia"},{id:"480546647",predicate:"inputChatPhotoEmpty",params:[],type:"InputChatPhoto"},{id:"-1809496270",predicate:"inputChatUploadedPhoto",params:[{name:"file",type:"InputFile"},{name:"crop",type:"InputPhotoCrop"}],type:"InputChatPhoto"},{id:"-1293828344",predicate:"inputChatPhoto",params:[{name:"id",type:"InputPhoto"},{name:"crop",type:"InputPhotoCrop"}],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:"1426648181",predicate:"inputVideoEmpty",params:[],type:"InputVideo"},{id:"-296249774",predicate:"inputVideo",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputVideo"},{id:"342061462",predicate:"inputFileLocation",params:[{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",type:"long"}],type:"InputFileLocation"},{id:"1023632620",predicate:"inputVideoFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputFileLocation"},{id:"-1377390588",predicate:"inputPhotoCropAuto",params:[],type:"InputPhotoCrop"},{id:"-644787419",predicate:"inputPhotoCrop",params:[{name:"crop_left",type:"double"},{name:"crop_top",type:"double"},{name:"crop_width",type:"double"}],type:"InputPhotoCrop"},{id:"1996904104",predicate:"inputAppEvent",params:[{name:"time",type:"double"},{name:"type",type:"string"},{name:"peer",type:"l
predicate:"inputAudio",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputAudio"},{id:"1928391342",predicate:"inputDocumentEmpty",params:[],type:"InputDocument"},{id:"410618194",predicate:"inputDocument",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputDocument"},{id:"1960591437",predicate:"inputAudioFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputFileLocation"},{id:"1313188841",predicate:"inputDocumentFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputFileLocation"},{id:"1483311320",predicate:"audioEmpty",params:[{name:"id",type:"long"}],type:"Audio"},{id:"-102543275",predicate:"audio",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"duration",type:"int"},{name:"mime_type",type:"string"},{name:"size",type:"int"},{name:"dc_id",type:"int"}],type:"Audio"},{id:"922273905",predicate:"documentEmpty",params:[{name:"id",type:"long"}],type:"Document"},{id:"-106717361",predicate:"document",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"mime_type",type:"string"},{name:"size",type:"int"},{name:"thumb",type:"PhotoSize"},{name:"dc_id",type:"int"},{name:"attributes",type:"Vector<DocumentAttribute>"}],type:"Document"},{id:"398898678",predicate:"help.support",params:[{name:"phone_number",type:"string"},{name:"user",type:"User"}],type:"help.Support"},{id:"-1613493288",predicate:"notifyPeer",params:[{name:"peer",type:"Peer"}],type:"NotifyPeer"},{id:"-1261946036",predicate:"notifyUsers",params:[],type:"NotifyPeer"},{id:"-1073230141",predicate:"notifyChats",params:[],type:"NotifyPeer"},{id:"1959820384",predicate:"notifyAll",params:[],type:"NotifyPeer"},{id:"-2131957734",predicate:"updateUserBlocked",params:[{name:"user_id",type:"int"},{name:"blocked",type:"Bool"}],type:"Update"},{id:"-1094555409",predicate:"updateNotifySettings",params:[{name:"peer",type:"NotifyPeer"},{name:"notify_settings",type:"PeerNotifySettings"}],type:"Update"},{id:"-484053553",predicate:"auth.sentAppCode",params:[{name:"phone_registered",type:"Bool"},{name:"phone_code_hash",type:"string"},{name:"send_call_timeout",type:"int"},{name:"is_password",type:"Bool"}],type:"auth.SentCode"},{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:"942527460",predicate:"updateServiceNotification",params:[{name:"type",type:"string"},{name:"message",type:"string"},{name:"media",type:"MessageMedia"},{name:"popup",type:"Bool"}],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:"
},{name:"phone_code_hash",type:"string"},{name:"phone_code",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"auth.Authorization"},{id:"-1126886015",method:"auth.signIn",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"},{name:"phone_code",type:"string"}],type:"auth.Authorization"},{id:"1461180992",method:"auth.logOut",params:[],type:"Bool"},{id:"-1616179942",method:"auth.resetAuthorizations",params:[],type:"Bool"},{id:"1998331287",method:"auth.sendInvites",params:[{name:"phone_numbers",type:"Vector<string>"},{name:"message",type:"string"}],type:"Bool"},{id:"-440401971",method:"auth.exportAuthorization",params:[{name:"dc_id",type:"int"}],type:"auth.ExportedAuthorization"},{id:"-470837741",method:"auth.importAuthorization",params:[{name:"id",type:"int"},{name:"bytes",type:"bytes"}],type:"auth.Authorization"},{id:"-841733627",method:"auth.bindTempAuthKey",params:[{name:"perm_auth_key_id",type:"long"},{name:"nonce",type:"long"},{name:"expires_at",type:"int"},{name:"encrypted_message",type:"bytes"}],type:"Bool"},{id:"1147957548",method:"account.registerDevice",params:[{name:"token_type",type:"int"},{name:"token",type:"string"},{name:"device_model",type:"string"},{name:"system_version",type:"string"},{name:"app_version",type:"string"},{name:"app_sandbox",type:"Bool"},{name:"lang_code",type:"string"}],type:"Bool"},{id:"1707432768",method:"account.unregisterDevice",params:[{name:"token_type",type:"int"},{name:"token",type:"string"}],type:"Bool"},{id:"-2067899501",method:"account.updateNotifySettings",params:[{name:"peer",type:"InputNotifyPeer"},{name:"settings",type:"InputPeerNotifySettings"}],type:"Bool"},{id:"313765169",method:"account.getNotifySettings",params:[{name:"peer",type:"InputNotifyPeer"}],type:"PeerNotifySettings"},{id:"-612493497",method:"account.resetNotifySettings",params:[],type:"Bool"},{id:"-259486360",method:"account.updateProfile",params:[{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"User"},{id:"1713919532",method:"account.updateStatus",params:[{name:"offline",type:"Bool"}],type:"Bool"},{id:"-1068696894",method:"account.getWallPapers",params:[],type:"Vector<WallPaper>"},{id:"-1374118561",method:"account.reportPeer",params:[{name:"peer",type:"InputPeer"},{name:"reason",type:"ReportReason"}],type:"Bool"},{id:"227648840",method:"users.getUsers",params:[{name:"id",type:"Vector<InputUser>"}],type:"Vector<User>"},{id:"-902781519",method:"users.getFullUser",params:[{name:"id",type:"InputUser"}],type:"UserFull"},{id:"-995929106",method:"contacts.getStatuses",params:[],type:"Vector<ContactStatus>"},{id:"583445000",method:"contacts.getContacts",params:[{name:"hash",type:"string"}],type:"contacts.Contacts"},{id:"-634342611",method:"contacts.importContacts",params:[{name:"contacts",type:"Vector<InputContact>"},{name:"replace",type:"Bool"}],type:"contacts.ImportedContacts"},{id:"-847825880",method:"contacts.getSuggested",params:[{name:"limit",type:"int"}],type:"contacts.Suggested"},{id:"-1902823612",method:"contacts.deleteContact",params:[{name:"id",type:"InputUser"}],type:"contacts.Link"},{id:"1504393374",method:"contacts.deleteContacts",params:[{name:"id",type:"Vector<InputUser>"}],type:"Bool"},{id:"858475004",method:"contacts.block",params:[{name:"id",type:"InputUser"}],type:"Bool"},{id:"-448724803",method:"contacts.unblock",params:[{name:"id",type:"InputUser"}],type:"Bool"},{id:"-176409329",method:"contacts.getBlocked",params:[{name:"offset",type:"int"},{name:"limit",type:"int"}],type:"contacts.Blocked"},{id:"-2065352905",method:"contacts.exportCard",params:[],type:"Vector<int>"},{id:"1340184318",method:"contacts.importCard",params:[{name:"export_card",type:"Vector<int>"}],type:"User"},{id:"1109588596",method:"messages.getMessages",params:[{name:"id",type:"Vector<int>"}],type:"messages.Messages"},{id:"1799878989",method:"messages.getDialogs",params:[{name:"offset_date",type:"int"},{name:"offset_id",type:"int"},{name:"offset_peer",type:"InputPeer"},{name:"limit",type:"int"}],type:"messages.Dialogs"},{id:"-1970355494",me
"1f3e0":["🏠",["house"]],"1f3e1":["🏡",["house_with_garden"]],"1f3e2":["🏢",["office"]],"1f3e3":["🏣",["post_office"]],"1f3e4":["🏤",["european_post_office"]],"1f3e5":["🏥",["hospital"]],"1f3e6":["🏦",["bank"]],"1f3e7":["🏧",["atm"]],"1f3e8":["🏨",["hotel"]],"1f3e9":["🏩",["love_hotel"]],"1f3ea":["🏪",["convenience_store"]],"1f3eb":["🏫",["school"]],"1f3ec":["🏬",["department_store"]],"1f3ed":["🏭",["factory"]],"1f3ee":["🏮",["izakaya_lantern","lantern"]],"1f3ef":["🏯",["japanese_castle"]],"1f3f0":["🏰",["european_castle"]],"1f400":["🐀",["rat"]],"1f401":["🐁",["mouse2"]],"1f402":["🐂",["ox"]],"1f403":["🐃",["water_buffalo"]],"1f404":["🐄",["cow2"]],"1f405":["🐅",["tiger2"]],"1f406":["🐆",["leopard"]],"1f407":["🐇",["rabbit2"]],"1f408":["🐈",["cat2"]],"1f409":["🐉",["dragon"]],"1f40a":["🐊",["crocodile"]],"1f40b":["🐋",["whale2"]],"1f40c":["🐌",["snail"]],"1f40d":["🐍",["snake"]],"1f40e":["🐎",["racehorse"]],"1f40f":["🐏",["ram"]],"1f410":["🐐",["goat"]],"1f411":["🐑",["sheep"]],"1f412":["🐒",["monkey"]],"1f413":["🐓",["rooster"]],"1f414":["🐔",["chicken"]],"1f415":["🐕",["dog2"]],"1f416":["🐖",["pig2"]],"1f417":["🐗",["boar"]],"1f418":["🐘",["elephant"]],"1f419":["🐙",["octopus"]],"1f41a":["🐚",["shell"]],"1f41b":["🐛",["bug"]],"1f41c":["🐜",["ant"]],"1f41d":["🐝",["bee","honeybee"]],"1f41e":["🐞",["beetle"]],"1f41f":["🐟",["fish"]],"1f420":["🐠",["tropical_fish"]],"1f421":["🐡",["blowfish"]],"1f422":["🐢",["turtle"]],"1f423":["🐣",["hatching_chick"]],"1f424":["🐤",["baby_chick"]],"1f425":["🐥",["hatched_chick"]],"1f426":["🐦",["bird"]],"1f427":["🐧",["penguin"]],"1f428":["🐨",["koala"]],"1f429":["🐩",["poodle"]],"1f42a":["🐪",["dromedary_camel"]],"1f42b":["🐫",["camel"]],"1f42c":["🐬",["dolphin","flipper"]],"1f42d":["🐭",["mouse"]],"1f42e":["🐮",["cow"]],"1f42f":["🐯",["tiger"]],"1f430":["🐰",["rabbit"]],"1f431":["🐱",["cat"]],"1f432":["🐲",["dragon_face"]],"1f433":["🐳",["whale"]],"1f434":["🐴",["horse"]],"1f435":["🐵",["monkey_face"]],"1f436":["🐶",["dog"]],"1f437":["🐷",["pig"]],"1f438":["🐸",["frog"]],"1f439":["🐹",["hamster"]],"1f43a":["🐺",["wolf"]],"1f43b":["🐻",["bear"]],"1f43c":["🐼",["panda_face"]],"1f43d":["🐽",["pig_nose"]],"1f43e":["🐾",["feet","paw_prints"]],"1f440":["👀",["eyes"]],"1f442":["👂",["ear"]],"1f443":["👃",["nose"]],"1f444":["👄",["lips"]],"1f445":["👅",["tongue"]],"1f446":["👆",["point_up_2"]],"1f447":["👇",["point_down"]],"1f448":["👈",["point_left"]],"1f449":["👉",["point_right"]],"1f44a":["👊",["facepunch","punch"]],"1f44b":["👋",["wave"]],"1f44c":["👌",["ok_hand"]],"1f44d":["👍",["+1","thumbsup"]],"1f44e":["👎",["-1","thumbsdown"]],"1f44f":["👏",["clap"]],"1f450":["👐",["open_hands"]],"1f451":["👑",["crown"]],"1f452":["👒",["womans_hat"]],"1f453":["👓",["eyeglasses"]],"1f454":["👔",["necktie"]],"1f455":["👕",["shirt","tshirt"]],"1f456":["👖",["jeans"]],"1f457":["👗",["dress"]],"1f458":["👘",["kimono"]],"1f459":["👙",["bikini"]],"1f45a":["👚",["womans_clothes"]],"1f45b":["👛",["purse"]],"1f45c":["👜",["handbag"]],"1f45d":["👝",["pouch"]],"1f45e":["👞",["mans_shoe","shoe"]],"1f45f":["👟",["athletic_shoe"]],"1f460":["👠",["high_heel"]],"1f461":["👡",["sandal"]],"1f462":["👢",["boot"]],"1f463":["👣",["footprints"]],"1f464":["👤",["bust_in_silhouette"]],"1f465":["👥",["busts_in_silhouette"]],"1f466":["👦",["boy"]],"1f467":["👧",["girl"]],"1f468":["👨",["man"]],"1f469":["👩",["woman"]],"1f46a":["👪",["family"]],"1f46b":["👫",["couple"]],"1f46c":["👬",["two_men_holding_hands"]],"1f46d":["👭",["two_women_holding_hands"]],"1f46e":["👮",["cop"]],"1f46f":["👯",["dancers"]],"1f470":["👰",["bride_with_veil"]],"1f471":["👱",["person_with_blond_hair"]],"1f472":["👲",["man_with_gua_pi_mao"]],"1f473":["👳",["man_with_turban"]],"1f474":["👴",["older_man"]],"1f475":["👵",["older_woman"]],"1f476":["👶",["baby"]],"1f477":["👷",["construction_w
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){r=e}function n(){l=!0}function i(){return l?(l=!1,""):r}function a(){var e,t,n,a=Array.prototype.slice.call(arguments),o=a.pop(),s=[],r=1==a.length,l=!0,p=i();for(t=0;t<a.length;t++)if(n=a[t]=p+a[t],"xt_"!=n.substr(0,3)&&void 0!==c[n])s.push(c[n]);else if(u){try{e=localStorage.getItem(n)}catch(m){u=!1}try{e=void 0===e||null===e?!1:JSON.parse(e)}catch(m){e=!1}s.push(c[n]=e)}else d?l=!1:s.push(c[n]=!1);return l?o(r?s[0]:s):void chrome.storage.local.get(a,function(e){var i;for(s=[],t=0;t<a.length;t++)n=a[t],i=e[n],i=void 0===i||null===i?!1:JSON.parse(i),s.push(c[n]=i);o(r?s[0]:s)})}function o(e,t){var n,a,o={},s=i();for(n in e)if(e.hasOwnProperty(n))if(a=e[n],n=s+n,c[n]=a,a=JSON.stringify(a),u)try{localStorage.setItem(n,a)}catch(r){u=!1}else o[n]=a;return u||!d?void(t&&t()):void chrome.storage.local.set(o,t)}function s(){var e,t,n,a=Array.prototype.slice.call(arguments),o=i();for("function"==typeof a[a.length-1]&&(n=a.pop()),e=0;e<a.length;e++)if(t=a[e]=o+a[e],delete c[t],u)try{localStorage.removeItem(t)}catch(s){u=!1}d?chrome.storage.local.remove(a,n):n&&n()}var r="",l=!1,c={},d=!!(e.chrome&&chrome.storage&&chrome.storage.local),u=!d&&!!e.localStorage;e.ConfigStorage={prefix:t,noPrefix:n,get:a,set:o,remove:s}}(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)}if(window.safeConfirm=function(e,t){"string"==typeof e&&(e={message:e});var n=!1;try{n=confirm(e.message)}catch(i){n=!0}setTimeout(function(){t(n)},10)},window.applicationCache&&!Config.Modes.packed&&window.addEventListener){var t=window.applicationCache,n=!1,i=!1,a=function(e){clearTimeout(i),i=setTimeout(function(){try{t.update()}catch(e){console.log("appCache.update: "+e)}},e||3e5)},o=function(){t.addEventListener("updateready",function(e){t.status==t.UPDATEREADY&&(n||(safeConfirm({type:"WEBOGRAM_UPDATED_RELOAD",message:"A new version of Webogram is downloaded. Launch it?"},function(e){e?window.location.reload():n=!0}),a()))},!1),t.addEventListener("noupdate",function(){a()},!1),t.addEventListener("error",function(){a()},!1)};a(3e3),window.addEventListener("load",o)}}(),function(){var e=[Config.Navigator.osX?"osx":"non_osx",Config.Navigator.retina?"is_2x":"is_1x"];Config.Modes.ios_standalone&&e.push("ios_standalone"),$(document.body).addClass(e.join(" ")),ConfigStorage.get("layout_selected","i18n_locale",function(e){var t=e[0],n=e[1],i="en-us",a={dom:!1,i18n_ng:!1,i18n_messages:!1,i18n_fallback:!1},o=function(){var e,t=!0;for(e in a)if(a.hasOwnProperty(e)&&a[e]===!1){t=!1;break}t&&(a.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&&480>s}$("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}a.i18n_ng=Config.I18n.locale==i,$.getJSON("js/locales/"+Config.I18n.locale+".json").success(function(e){Config.I18n.messages=e,a.i18n_messages=!0,Config.I18n.locale==i&&(a.i18n_fallback=!0),o()}),Config.I18n.locale!=i&&$.getJSON("js/locales/"+i+".json").success(function(e){Config.I18n.fallback_messages=e,a.i18n_fallback=!0,o()}),$(document).ready(function(){a.dom=!0,a.i18n_ng?o():$("<script>").appendTo("body").on("load",function(){a.i18n_ng=!0,o()}).attr("src","vendor/angular/i18n/angular-locale_"+Config.I18n.locale+".js")})})}(),function(e,t,n){"use strict";var i,a,o,s,r,l,c,d,u,p,m,g,h,f,_,v,y,b,w,k,$,S,C,M,x,A,I,E,T,D,P;C={paneClass:"nano-pane",sliderClass:"nano-slider",contentClass:"nano-content",iOSNa
n.$get=function(){var e=x.invoke(i,n);return x.invoke(t,null,{$delegate:e})}}function m(e){ue(y(e)||Oi(e),"modulesToLoad","not an array");var t,n=[];return o(e,function(e){function i(e){var t,n;for(t=0,n=e.length;n>t;t++){var i=e[t],a=S.get(i[0]);a[i[1]].apply(a,i[2])}}if(!b.get(e)){b.put(e,!0);try{$(e)?(t=Ai(e),n=n.concat(m(t.requires)).concat(t._runBlocks),i(t._invokeQueue),i(t._configBlocks)):M(e)?n.push(S.invoke(e)):Oi(e)?n.push(S.invoke(e)):pe(e,"module")}catch(a){throw Oi(e)&&(e=e[e.length-1]),a.message&&a.stack&&-1==a.stack.indexOf(a.message)&&(a=a.message+"\n"+a.stack),ka("modulerr","Failed to instantiate module {0} due to:\n{1}",e,a.stack||a.message||a)}}}),n}function g(e,n){function i(t,i){if(e.hasOwnProperty(t)){if(e[t]===h)throw ka("cdep","Circular dependency found: {0}",t+" <- "+v.join(" <- "));return e[t]}try{return v.unshift(t),e[t]=h,e[t]=n(t,i)}catch(a){throw e[t]===h&&delete e[t],a}finally{v.shift()}}function a(e,n,a,o){"string"==typeof a&&(o=a,a=null);var s,r,l,c=[],d=Je.$$annotate(e,t,o);for(r=0,s=d.length;s>r;r++){if(l=d[r],"string"!=typeof l)throw ka("itkn","Incorrect injection token! Expected service name as string, got {0}",l);c.push(a&&a.hasOwnProperty(l)?a[l]:i(l,o))}return Oi(e)&&(e=e[s]),e.apply(n,c)}function o(e,t,n){var i=Object.create((Oi(e)?e[e.length-1]:e).prototype||null),o=a(e,i,t,n);return w(o)||M(o)?o:i}return{invoke:a,instantiate:o,get:i,annotate:Je.$$annotate,has:function(t){return k.hasOwnProperty(t+f)||e.hasOwnProperty(t)}}}t=t===!0;var h={},f="Provider",v=[],b=new Ye([],!0),k={$provide:{provider:i(a),factory:i(l),service:i(c),value:i(d),constant:i(u),decorator:p}},S=k.$injector=g(k,function(e,t){throw Ri.isString(t)&&v.push(t),ka("unpr","Unknown provider: {0}",v.join(" <- "))}),C={},x=C.$injector=g(C,function(e,t){var i=S.get(e+f,t);return x.invoke(i.$get,i,n,e)});return o(m(e),function(e){e&&x.invoke(e)}),x}function Qe(){var e=!0;this.disableAutoScrolling=function(){e=!1},this.$get=["$window","$location","$rootScope",function(t,n,i){function a(e){var t=null;return Array.prototype.some.call(e,function(e){return"a"===O(e)?(t=e,!0):void 0}),t}function o(){var e=r.yOffset;if(M(e))e=e();else if(N(e)){var n=e[0],i=t.getComputedStyle(n);e="fixed"!==i.position?0:n.getBoundingClientRect().bottom}else S(e)||(e=0);return e}function s(e){if(e){e.scrollIntoView();var n=o();if(n){var i=e.getBoundingClientRect().top;t.scrollBy(0,i-n)}}else t.scrollTo(0,0)}function r(e){e=$(e)?e:n.hash();var t;e?(t=l.getElementById(e))?s(t):(t=a(l.getElementsByName(e)))?s(t):"top"===e&&s(null):s(null)}var l=t.document;return e&&i.$watch(function(){return n.hash()},function(e,t){(e!==t||""!==e)&&He(function(){i.$evalAsync(r)})}),r}]}function et(e,t){return e||t?e?t?(Oi(e)&&(e=e.join(" ")),Oi(t)&&(t=t.join(" ")),e+" "+t):e:t:""}function tt(e){for(var t=0;t<e.length;t++){var n=e[t];if(n.nodeType===Sa)return n}}function nt(e){$(e)&&(e=e.split(" "));var t=fe();return o(e,function(e){e.length&&(t[e]=!0)}),t}function it(e){return w(e)?e:{}}function at(e,t,n,i){function a(e){try{e.apply(null,V(arguments,1))}finally{if(v--,0===v)for(;b.length;)try{b.pop()()}catch(t){n.error(t)}}}function s(e){var t=e.indexOf("#");return-1===t?"":e.substr(t)}function r(){C=null,c(),d()}function l(){try{return m.state}catch(e){}}function c(){w=l(),w=y(w)?null:w,q(w,A)&&(w=A),A=w}function d(){($!==u.url()||k!==w)&&($=u.url(),k=w,o(M,function(e){e(u.url(),w)}))}var u=this,p=(t[0],e.location),m=e.history,g=e.setTimeout,f=e.clearTimeout,_={};u.isMock=!1;var v=0,b=[];u.$$completeOutstandingRequest=a,u.$$incOutstandingRequestCount=function(){v++},u.notifyWhenNoOutstandingRequests=function(e){0===v?e():b.push(e)};var w,k,$=p.href,S=t.find("base"),C=null;c(),k=w,u.url=function(t,n,a){if(y(a)&&(a=null),p!==e.location&&(p=e.location),m!==e.history&&(m=e.history),t){var o=k===a;if($===t&&(!i.history||o))return u;var r=$&&Rt($)===Rt(t);return $=t,k=a,!i.history||r&&o?((!r||C)&&(C=t),n?p.replace(t):r?p.hash=s(t):p.href=t,p.href!==t&&(C=t)):(m[n?"replaceState":"pushState"](a,"",t),c(),k=w),u}return C||p.href.replace(/%27/g,"'")},u.state=function(){ret
!0):!1},a}]}function Tt(e){for(var t=e.split("/"),n=t.length;n--;)t[n]=ne(t[n]);return t.join("/")}function Dt(e,t){var n=Mn(e);t.$$protocol=n.protocol,t.$$host=n.hostname,t.$$port=m(n.port)||Va[n.protocol]||null}function Pt(e,t){var n="/"!==e.charAt(0);n&&(e="/"+e);var i=Mn(e);t.$$path=decodeURIComponent(n&&"/"===i.pathname.charAt(0)?i.pathname.substring(1):i.pathname),t.$$search=ee(i.search),t.$$hash=decodeURIComponent(i.hash),t.$$path&&"/"!=t.$$path.charAt(0)&&(t.$$path="/"+t.$$path)}function Ft(e,t){return 0===t.indexOf(e)?t.substr(e.length):void 0}function Rt(e){var t=e.indexOf("#");return-1==t?e:e.substr(0,t)}function Nt(e){return e.replace(/(#.+)|#$/,"$1")}function Ut(e){return e.substr(0,Rt(e).lastIndexOf("/")+1)}function Ot(e){return e.substring(0,e.indexOf("/",e.indexOf("//")+2))}function Lt(e,t,n){this.$$html5=!0,n=n||"",Dt(e,this),this.$$parse=function(e){var n=Ft(t,e);if(!$(n))throw za("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',e,t);Pt(n,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var e=te(this.$$search),n=this.$$hash?"#"+ne(this.$$hash):"";this.$$url=Tt(this.$$path)+(e?"?"+e:"")+n,this.$$absUrl=t+this.$$url.substr(1)},this.$$parseLinkUrl=function(i,a){if(a&&"#"===a[0])return this.hash(a.slice(1)),!0;var o,s,r;return b(o=Ft(e,i))?(s=o,r=b(o=Ft(n,o))?t+(Ft("/",o)||o):e+s):b(o=Ft(t,i))?r=t+o:t==i+"/"&&(r=t),r&&this.$$parse(r),!!r}}function Bt(e,t,n){Dt(e,this),this.$$parse=function(i){function a(e,t,n){var i,a=/^\/[A-Z]:(\/.*)/;return 0===t.indexOf(n)&&(t=t.replace(n,"")),a.exec(t)?e:(i=a.exec(e),i?i[1]:e)}var o,s=Ft(e,i)||Ft(t,i);y(s)||"#"!==s.charAt(0)?this.$$html5?o=s:(o="",y(s)&&(e=i,this.replace())):(o=Ft(n,s),y(o)&&(o=s)),Pt(o,this),this.$$path=a(this.$$path,o,e),this.$$compose()},this.$$compose=function(){var t=te(this.$$search),i=this.$$hash?"#"+ne(this.$$hash):"";this.$$url=Tt(this.$$path)+(t?"?"+t:"")+i,this.$$absUrl=e+(this.$$url?n+this.$$url:"")},this.$$parseLinkUrl=function(t,n){return Rt(e)==Rt(t)?(this.$$parse(t),!0):!1}}function jt(e,t,n){this.$$html5=!0,Bt.apply(this,arguments),this.$$parseLinkUrl=function(i,a){if(a&&"#"===a[0])return this.hash(a.slice(1)),!0;var o,s;return e==Rt(i)?o=i:(s=Ft(t,i))?o=e+n+s:t===i+"/"&&(o=t),o&&this.$$parse(o),!!o},this.$$compose=function(){var t=te(this.$$search),i=this.$$hash?"#"+ne(this.$$hash):"";this.$$url=Tt(this.$$path)+(t?"?"+t:"")+i,this.$$absUrl=e+n+this.$$url}}function qt(e){return function(){return this[e]}}function Ht(e,t){return function(n){return y(n)?this[e]:(this[e]=t(n),this.$$compose(),this)}}function Vt(){var e="",t={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(t){return b(t)?(e=t,this):e},this.html5Mode=function(e){return P(e)?(t.enabled=e,this):w(e)?(P(e.enabled)&&(t.enabled=e.enabled),P(e.requireBase)&&(t.requireBase=e.requireBase),P(e.rewriteLinks)&&(t.rewriteLinks=e.rewriteLinks),this):t},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(n,i,a,o,s){function r(e,t,n){var a=c.url(),o=c.$$state;try{i.url(e,t,n),c.$$state=i.state()}catch(s){throw c.url(a),c.$$state=o,s}}function l(e,t){n.$broadcast("$locationChangeSuccess",c.absUrl(),e,c.$$state,t)}var c,d,u,p=i.baseHref(),m=i.url();if(t.enabled){if(!p&&t.requireBase)throw za("nobase","$location in HTML5 mode requires a <base> tag to be present!");u=Ot(m)+(p||"/"),d=a.history?Lt:jt}else u=Rt(m),d=Bt;var g=Ut(u);c=new d(u,g,"#"+e),c.$$parseLinkUrl(m,m),c.$$state=i.state();var h=/^\s*(javascript|mailto):/i;o.on("click",function(e){if(t.rewriteLinks&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&2!=e.which&&2!=e.button){for(var a=Mi(e.target);"a"!==O(a[0]);)if(a[0]===o[0]||!(a=a.parent())[0])return;var r=a.prop("href"),l=a.attr("href")||a.attr("xlink:href");w(r)&&"[object SVGAnimatedString]"===r.toString()&&(r=Mn(r.animVal).href),h.test(r)||!r||a.attr("target")||e.isDefaultPrevented()||c.$$parseLinkUrl(r,l)&&(e.preventDefault(),c.absUrl()!=i.url()&&(n.$apply(),s.angular["ff-684208-preventDefault"]=!0))}}),Nt(c.absUrl())!=Nt(m)&&i.url(c.absUrl(),!0);var f=!0;return i.onUrlChange(function(e,t){return
return r.call(i,l,c,d,u),i}return e}var n=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(n,i,a){var s,r,l="",c=[];if(i=i||"mediumDate",i=e.DATETIME_FORMATS[i]||i,$(n)&&(n=uo.test(n)?m(n):t(n)),S(n)&&(n=new Date(n)),!C(n)||!isFinite(n.getTime()))return n;for(;i;)r=co.exec(i),r?(c=H(c,r,1),i=c.pop()):(c.push(i),i=null);var d=n.getTimezoneOffset();return a&&(d=Y(a,n.getTimezoneOffset()),n=X(n,a,!0)),o(c,function(t){s=lo[t],l+=s?s(n,e.DATETIME_FORMATS,d):t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),l}}function Zn(){return function(e,t){return y(t)&&(t=2),G(e,t)}}function Xn(){return function(e,t,n){return t=Math.abs(Number(t))===1/0?Number(t):m(t),isNaN(t)?e:(S(e)&&(e=e.toString()),Oi(e)||$(e)?(n=!n||isNaN(n)?0:m(n),n=0>n&&n>=-e.length?e.length+n:n,t>=0?e.slice(n,n+t):0===n?e.slice(t,e.length):e.slice(Math.max(0,n+t),n)):e)}}function Jn(e){function t(t,n){return n=n?-1:1,t.map(function(t){var i=1,a=f;if(M(t))a=t;else if($(t)&&(("+"==t.charAt(0)||"-"==t.charAt(0))&&(i="-"==t.charAt(0)?-1:1,t=t.substring(1)),""!==t&&(a=e(t),a.constant))){var o=a();a=function(e){return e[o]}}return{get:a,descending:i*n}})}function n(e){switch(typeof e){case"number":case"boolean":case"string":return!0;default:return!1}}function i(e,t){return"function"==typeof e.valueOf&&(e=e.valueOf(),n(e))?e:v(e)&&(e=e.toString(),n(e))?e:t}function o(e,t){var n=typeof e;return null===e?(n="string",e="null"):"string"===n?e=e.toLowerCase():"object"===n&&(e=i(e,t)),{value:e,type:n}}function s(e,t){var n=0;return e.type===t.type?e.value!==t.value&&(n=e.value<t.value?-1:1):n=e.type<t.type?-1:1,n}return function(e,n,i){function r(e,t){return{value:e,predicateValues:c.map(function(n){return o(n.get(e),t)})}}function l(e,t){for(var n=0,i=0,a=c.length;a>i&&!(n=s(e.predicateValues[i],t.predicateValues[i])*c[i].descending);++i);return n}if(!a(e))return e;Oi(n)||(n=[n]),0===n.length&&(n=["+"]);var c=t(n,i);c.push({get:function(){return{}},descending:i?-1:1});var d=Array.prototype.map.call(e,r);return d.sort(l),e=d.map(function(e){return e.value})}}function Qn(e){return M(e)&&(e={link:e}),e.restrict=e.restrict||"AC",_(e)}function ei(e,t){e.$name=t}function ti(e,t,i,a,s){var r=this,l=[];r.$error={},r.$$success={},r.$pending=n,r.$name=s(t.name||t.ngForm||"")(i),r.$dirty=!1,r.$pristine=!0,r.$valid=!0,r.$invalid=!1,r.$submitted=!1,r.$$parentForm=fo,r.$rollbackViewValue=function(){o(l,function(e){e.$rollbackViewValue()})},r.$commitViewValue=function(){o(l,function(e){e.$commitViewValue()})},r.$addControl=function(e){me(e.$name,"input"),l.push(e),e.$name&&(r[e.$name]=e),e.$$parentForm=r},r.$$renameControl=function(e,t){var n=e.$name;r[n]===e&&delete r[n],r[t]=e,e.$name=t},r.$removeControl=function(e){e.$name&&r[e.$name]===e&&delete r[e.$name],o(r.$pending,function(t,n){r.$setValidity(n,null,e)}),o(r.$error,function(t,n){r.$setValidity(n,null,e)}),o(r.$$success,function(t,n){r.$setValidity(n,null,e)}),L(l,e),e.$$parentForm=fo},fi({ctrl:this,$element:e,set:function(e,t,n){var i=e[t];if(i){var a=i.indexOf(n);-1===a&&i.push(n)}else e[t]=[n]},unset:function(e,t,n){var i=e[t];i&&(L(i,n),0===i.length&&delete e[t])},$animate:a}),r.$setDirty=function(){a.removeClass(e,Jo),a.addClass(e,Qo),r.$dirty=!0,r.$pristine=!1,r.$$parentForm.$setDirty()},r.$setPristine=function(){a.setClass(e,Jo,Qo+" "+_o),r.$dirty=!1,r.$pristine=!0,r.$submitted=!1,o(l,function(e){e.$setPristine()})},r.$setUntouched=function(){o(l,function(e){e.$setUntouched()})},r.$setSubmitted=function(){a.addClass(e,_o),r.$submitted=!0,r.$$parentForm.$setSubmitted()}}function ni(e){e.$formatters.push(function(t){return e.$isEmpty(t)?t:t.toString()})}function ii(e,t,n,i,a,o){ai(e,t,n,i,a,o),ni(i)}function ai(e,t,n,i,a,o){var s=bi(t[0].type);if(!a.android){var r=!1;t.on("compositionstart",function(e){r=!0}),t.on("compositionend",function(){r=!1,l()})}var l=function(e){if(c&&(o.defer.cancel(c),c=null),!r){var a=t.val(),l=e&&e.type;"password"===s||n.ngTrim&&"false"===n.ngTrim||(a=Bi(a)),(i.$viewValue!==a||""===a&&i.$$hasNativeValidators)&&i.$setViewValue(a,l)}};
own:{}},inputs:[]},en(a,i.$filter);var s,r="";if(this.stage="assign",s=an(a)){this.state.computing="assign";var l=this.nextId();this.recurse(s,l),this.return_(l),r="fn.assign="+this.generateFunction("assign","s,v,l")}var c=tn(a.body);i.stage="inputs",o(c,function(e,t){var n="fn"+t;i.state[n]={vars:[],body:[],own:{}},i.state.computing=n;var a=i.nextId();i.recurse(e,a),i.return_(a),i.state.inputs.push(n),e.watchId=t}),this.state.computing="fn",this.stage="main",this.recurse(a);var d='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+r+this.watchFns()+"return fn;",u=new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue","ensureSafeAssignContext","ifDefined","plus","text",d)(this.$filter,Wt,Kt,Yt,Gt,Zt,Xt,Jt,e);return this.state=this.stage=n,u.literal=on(a),u.constant=sn(a),u},USE:"use",STRICT:"strict",watchFns:function(){var e=[],t=this.state.inputs,n=this;return o(t,function(t){e.push("var "+t+"="+n.generateFunction(t,"s"))}),t.length&&e.push("fn.inputs=["+t.join(",")+"];"),e.join("")},generateFunction:function(e,t){return"function("+t+"){"+this.varsPrefix(e)+this.body(e)+"};"},filterPrefix:function(){var e=[],t=this;return o(this.state.filters,function(n,i){e.push(n+"=$filter("+t.escape(i)+")")}),e.length?"var "+e.join(",")+";":""},varsPrefix:function(e){return this.state[e].vars.length?"var "+this.state[e].vars.join(",")+";":""},body:function(e){return this.state[e].body.join("")},recurse:function(e,t,i,a,s,r){var l,c,d,u,p=this;if(a=a||h,!r&&b(e.watchId))return t=t||this.nextId(),void this.if_("i",this.lazyAssign(t,this.computedMember("i",e.watchId)),this.lazyRecurse(e,t,i,a,s,!0));switch(e.type){case eo.Program:o(e.body,function(t,i){p.recurse(t.expression,n,n,function(e){c=e}),i!==e.body.length-1?p.current().body.push(c,";"):p.return_(c)});break;case eo.Literal:u=this.escape(e.value),this.assign(t,u),a(u);break;case eo.UnaryExpression:this.recurse(e.argument,n,n,function(e){c=e}),u=e.operator+"("+this.ifDefined(c,0)+")",this.assign(t,u),a(u);break;case eo.BinaryExpression:this.recurse(e.left,n,n,function(e){l=e}),this.recurse(e.right,n,n,function(e){c=e}),u="+"===e.operator?this.plus(l,c):"-"===e.operator?this.ifDefined(l,0)+e.operator+this.ifDefined(c,0):"("+l+")"+e.operator+"("+c+")",this.assign(t,u),a(u);break;case eo.LogicalExpression:t=t||this.nextId(),p.recurse(e.left,t),p.if_("&&"===e.operator?t:p.not(t),p.lazyRecurse(e.right,t)),a(t);break;case eo.ConditionalExpression:t=t||this.nextId(),p.recurse(e.test,t),p.if_(t,p.lazyRecurse(e.alternate,t),p.lazyRecurse(e.consequent,t)),a(t);break;case eo.Identifier:t=t||this.nextId(),i&&(i.context="inputs"===p.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",e.name)+"?l:s"),i.computed=!1,i.name=e.name),Wt(e.name),p.if_("inputs"===p.stage||p.not(p.getHasOwnProperty("l",e.name)),function(){p.if_("inputs"===p.stage||"s",function(){s&&1!==s&&p.if_(p.not(p.nonComputedMember("s",e.name)),p.lazyAssign(p.nonComputedMember("s",e.name),"{}")),p.assign(t,p.nonComputedMember("s",e.name))})},t&&p.lazyAssign(t,p.nonComputedMember("l",e.name))),(p.state.expensiveChecks||cn(e.name))&&p.addEnsureSafeObject(t),a(t);break;case eo.MemberExpression:l=i&&(i.context=this.nextId())||this.nextId(),t=t||this.nextId(),p.recurse(e.object,l,n,function(){p.if_(p.notNull(l),function(){e.computed?(c=p.nextId(),p.recurse(e.property,c),p.getStringValue(c),p.addEnsureSafeMemberName(c),s&&1!==s&&p.if_(p.not(p.computedMember(l,c)),p.lazyAssign(p.computedMember(l,c),"{}")),u=p.ensureSafeObject(p.computedMember(l,c)),p.assign(t,u),i&&(i.computed=!0,i.name=c)):(Wt(e.property.name),s&&1!==s&&p.if_(p.not(p.nonComputedMember(l,e.property.name)),p.lazyAssign(p.nonComputedMember(l,e.property.name),"{}")),u=p.nonComputedMember(l,e.property.name),(p.state.expensiveChecks||cn(e.property.name))&&(u=p.ensureSafeObject(u)),p.assign(t,u),i&&(i.computed=!1,i.name=e.property.name))},function(){p.assign(t,"undefined")}),a(t)},!!s);break;case eo.CallExpression:t=t||this.nextId(),e.filter?(c=p.filter(e.callee.name
}}),o(g,function(e,n){f[n]=t(e.replace(i,b))}),s.$watch(u,function(t){var i=parseFloat(t),a=isNaN(i);if(a||i in g||(i=e.pluralCat(i-m)),i!==d&&!(a&&S(d)&&isNaN(d))){w();var o=f[i];y(o)?(null!=t&&n.debug("ngPluralize: no rule defined for '"+i+"' in "+p),w=h,c()):w=s.$watch(o,c),d=i}})}}}],ms=["$parse","$animate",function(e,s){var r="$$NG_REMOVED",l=i("ngRepeat"),c=function(e,t,n,i,a,o,s){e[n]=i,a&&(e[a]=o),e.$index=t,e.$first=0===t,e.$last=t===s-1,e.$middle=!(e.$first||e.$last),e.$odd=!(e.$even=0===(1&t))},d=function(e){return e.clone[0]},u=function(e){return e.clone[e.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(i,p){var m=p.ngRepeat,g=t.createComment(" end ngRepeat: "+m+" "),h=m.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!h)throw l("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",m);var f=h[1],_=h[2],v=h[3],y=h[4];if(h=f.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/),!h)throw l("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",f);var b=h[3]||h[1],w=h[2];if(v&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(v)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(v)))throw l("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",v);var k,$,S,C,M={$id:Ke};return y?k=e(y):(S=function(e,t){return Ke(t)},C=function(e){return e}),function(e,t,i,p,h){k&&($=function(t,n,i){return w&&(M[w]=t),M[b]=n,M.$index=i,k(e,M)});var f=fe();e.$watchCollection(_,function(i){var p,_,y,k,M,x,A,I,E,T,D,P,F=t[0],R=fe();if(v&&(e[v]=i),a(i))E=i,I=$||S;else{I=$||C,E=[];for(var N in i)wi.call(i,N)&&"$"!==N.charAt(0)&&E.push(N)}for(k=E.length,D=new Array(k),p=0;k>p;p++)if(M=i===E?p:E[p],x=i[M],A=I(M,x,p),f[A])T=f[A],delete f[A],R[A]=T,D[p]=T;else{if(R[A])throw o(D,function(e){e&&e.scope&&(f[e.id]=e)}),l("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",m,A,x);D[p]={id:A,scope:n,clone:n},R[A]=!0}for(var U in f){if(T=f[U],P=he(T.clone),s.leave(P),P[0].parentNode)for(p=0,_=P.length;_>p;p++)P[p][r]=!0;T.scope.$destroy()}for(p=0;k>p;p++)if(M=i===E?p:E[p],x=i[M],T=D[p],T.scope){y=F;do y=y.nextSibling;while(y&&y[r]);d(T)!=y&&s.move(he(T.clone),null,Mi(F)),F=u(T),c(T.scope,p,b,x,w,M,k)}else h(function(e,t){T.scope=t;var n=g.cloneNode(!1);e[e.length++]=n,s.enter(e,null,Mi(F)),F=n,T.clone=e,R[T.id]=T,c(T.scope,p,b,x,w,M,k)});f=R})}}}}],gs="ng-hide",hs="ng-hide-animate",fs=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,i){t.$watch(i.ngShow,function(t){e[t?"removeClass":"addClass"](n,gs,{tempClasses:hs})})}}}],_s=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,i){t.$watch(i.ngHide,function(t){e[t?"addClass":"removeClass"](n,gs,{tempClasses:hs})})}}}],vs=Qn(function(e,t,n){e.$watch(n.ngStyle,function(e,n){n&&e!==n&&o(n,function(e,n){t.css(n,"")}),e&&t.css(e)},!0)}),ys=["$animate",function(e){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(n,i,a,s){var r=a.ngSwitch||a.on,l=[],c=[],d=[],u=[],p=function(e,t){return function(){e.splice(t,1)}};n.$watch(r,function(n){var i,a;for(i=0,a=d.length;a>i;++i)e.cancel(d[i]);for(d.length=0,i=0,a=u.length;a>i;++i){var r=he(c[i].clone);u[i].$destroy();var m=d[i]=e.leave(r);m.then(p(d,i))}c.length=0,u.length=0,(l=s.cases["!"+n]||s.cases["?"])&&o(l,function(n){n.transclude(function(i,a){u.push(a);var o=n.element;i[i.length++]=t.createComment(" end ngSwitchWhen: ");var s={clone:i};c.push(s),e.enter(i,o.parent(),o)})})})}}}],bs=Qn({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,i,a){i.cases["!"+n.ngSwitchWhen]=i.cases["!"+n.ngSwitchWhen]||[],i.cases["!"+n.ngSwitchWhen].push({transclude:a,element:t})}}),ws=Qn({transclude:"element",priority
if(T||O&&U.state==a||(T=!D(e,h,i)),T)return u(),k;A&&I(e);var L={structural:A,element:e,event:i,close:u,options:c,runner:k};if(O){var B=t("skip",e,L,U);if(B)return U.state===o?(u(),k):(_(e,U.options,c),U.runner);var z=t("cancel",e,L,U);if(z)if(U.state===o)U.runner.end();else{if(!U.structural)return _(e,U.options,L.options),U.runner;U.close()}else{var W=t("join",e,L,U);if(W){if(U.state!==o)return b(e,A?i:null,c),i=L.event=U.event,c=_(e,U.options,L.options),U.runner;M(e,c)}}}else M(e,c);var G=L.structural;if(G||(G="animate"===L.event&&Object.keys(L.options.to||{}).length>0||n(L.options)),!G)return u(),E(e),k;var K=(U.counter||0)+1;return L.counter=K,P(e,a,L),r.$$postDigest(function(){var t=F.get(p),a=!t;t=t||{};var s=e.parent()||[],r=s.length>0&&("animate"===t.event||t.structural||n(t.options));if(a||t.counter!==K||!r)return a&&(X(e,c),g(e,c)),(a||A&&t.event!==i)&&(c.domOperation(),k.end()),void(r||E(e));i=!t.structural&&n(t.options,!0)?"setClass":t.event,P(e,o);var l=f(e,i,t.options);l.done(function(t){u(!t);var n=F.get(p);n&&n.counter===K&&E(y(e)),d(k,i,"close",{})}),k.setHost(l),d(k,i,"start",{})}),k}function I(e){var t=y(e),n=t.querySelectorAll("["+Me+"]");j(n,function(e){var t=parseInt(e.getAttribute(Me)),n=F.get(e);switch(t){case o:n.runner.end();case a:n&&F.remove(e)}})}function E(e){var t=y(e);t.removeAttribute(Me),F.remove(t)}function T(e,t){return y(e)===y(t)}function D(e,t,n){var i,a=B(u[0].body),o=T(e,a)||"HTML"===e[0].nodeName,s=T(e,d),r=!1,l=e.data(xe);for(l&&(t=l);t&&t.length;){s||(s=T(t,d));var c=t[0];if(c.nodeType!==Y)break;var p=F.get(c)||{};if(r||(r=p.structural||R.get(c)),z(i)||i===!0){var m=t.data(te);W(m)&&(i=m)}if(r&&i===!1)break;s||(s=T(t,d),s||(l=t.data(xe),l&&(t=l))),o||(o=T(t,a)),t=t.parent()}var g=!r||i;return g&&s&&o}function P(e,t,n){n=n||{},n.state=t;var i=y(e);i.setAttribute(Me,t);var a=F.get(i),o=a?L(a,n):n;F.put(i,o)}var F=new h,R=new h,N=null,U=r.$watch(function(){return 0===k.totalPendingRequests},function(e){e&&(U(),r.$$postDigest(function(){r.$$postDigest(function(){null===N&&(N=!0)})}))}),O={},G=e.classNameFilter(),Z=G?function(e){return G.test(e)}:function(){return!0},X=p($);return{on:function(e,t,n){var i=c(t);O[e]=O[e]||[],O[e].push({node:i,callback:n})},off:function(e,t,n){function i(e,t,n){var i=c(t);return e.filter(function(e){var t=e.node===i&&(!n||e.callback===n);return!t})}var a=O[e];a&&(O[e]=1===arguments.length?null:i(a,t,n))},pin:function(e,t){i(K(e),"element","not an element"),i(K(t),"parentElement","not an element"),e.data(xe,t)},push:function(e,t,n,i){return n=n||{},n.domOperation=i,A(e,t,n)},enabled:function(e,t){var n=arguments.length;if(0===n)t=!!N;else{var i=K(e);if(i){var a=y(e),o=R.get(a);1===n?t=!o:(t=!!t,t?o&&R.remove(a):R.put(a,!0))}else t=N=!!e}return t}}}]}],Ie=["$$rAF",function(e){function t(t){n.push(t),n.length>1||e(function(){for(var e=0;e<n.length;e++)n[e]();n=[]})}var n=[];return function(){var e=!1;return t(function(){e=!0}),function(n){e?n():t(n)}}}],Ee=["$q","$sniffer","$$animateAsyncRun",function(e,t,n){function i(e){this.setHost(e),this._doneCallbacks=[],this._runInAnimationFrame=n(),this._state=0}var a=0,o=1,s=2;return i.chain=function(e,t){function n(){return i===e.length?void t(!0):void e[i](function(e){return e===!1?void t(!1):(i++,void n())})}var i=0;n()},i.all=function(e,t){function n(n){a=a&&n,++i===e.length&&t(a)}var i=0,a=!0;j(e,function(e){e.done(n)})},i.prototype={setHost:function(e){this.host=e||{}},done:function(e){this._state===s?e():this._doneCallbacks.push(e)},progress:O,getPromise:function(){if(!this.promise){var t=this;this.promise=e(function(e,n){t.done(function(t){t===!1?n():e()})})}return this.promise},then:function(e,t){return this.getPromise().then(e,t)},"catch":function(e){return this.getPromise()["catch"](e)},"finally":function(e){return this.getPromise()["finally"](e)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:
}]),angular.module("mediaPlayer",["mediaPlayer.helpers"]).constant("mp.playerDefaults",{currentTrack:0,ended:void 0,network:void 0,playing:!1,seeking:!1,tracks:0,volume:1,formatDuration:"00:00",formatTime:"00:00",loadPercent:0}).directive("mediaPlayer",["$rootScope","$interpolate","$timeout","mp.throttle","mp.playerDefaults",function(e,t,n,i,a){function o(e){return function(t,i,a){var o,s=null;if(e.$attachPlaylist(t),void 0===t&&void 0!==i)return e.pause();if(e.currentTrack){o=i?i[e.currentTrack-1]:-1;for(var r=0;r<t.length;r++)if(angular.equals(t[r],o)){s=r;break}null!==s?(e.currentTrack=s+1,e.tracks=t.length):(e.pause(),t.length?n(function(){e.$clearSourceList(),e.$addSourceList(t[0]),e.load(),e.tracks=t.length}):e.reset())}else t.length?(e.$clearSourceList(),e.$addSourceList(t[0]),e.load(),e.tracks=t.length):e.reset()}}var s={load:function(e,t){"boolean"==typeof e?(t=e,e=null):"object"==typeof e&&(this.$clearSourceList(),this.$addSourceList(e)),this.$domEl.load(),this.ended=void 0,t&&this.$element.one("canplay",this.play.bind(this))},reset:function(e){angular.extend(this,a),this.$clearSourceList(),this.load(this.$playlist,e)},play:function(e,t){return"boolean"==typeof e&&(t=e,e=void 0),t&&(this.$selective=!0),this.$playlist.length>e?(this.currentTrack=e+1,this.load(this.$playlist[e],!0)):(!this.currentTrack&&this.$domEl.readyState&&this.currentTrack++,void(this.ended?this.load(!0):this.$domEl.play()))},playPause:function(e,t){"boolean"==typeof e&&(t=e,e=void 0),t&&(this.$selective=!0),"number"==typeof e&&e+1!==this.currentTrack?this.play(e):this.playing?this.pause():this.play()},pause:function(){this.$domEl.pause()},stop:function(){this.reset()},toggleMute:function(){this.muted=this.$domEl.muted=!this.$domEl.muted},next:function(e){var t=this;if(t.currentTrack&&t.currentTrack<t.tracks){var i=e||t.playing;t.pause(),n(function(){t.$clearSourceList(),t.$addSourceList(t.$playlist[t.currentTrack]),t.load(i),t.currentTrack++})}},prev:function(e){var t=this;if(t.currentTrack&&t.currentTrack-1){var i=e||t.playing;t.pause(),n(function(){t.$clearSourceList(),t.$addSourceList(t.$playlist[t.currentTrack-2]),t.load(i),t.currentTrack--})}},setPlaybackRate:function(e){this.$domEl.playbackRate=e},setVolume:function(e){this.$domEl.volume=e},seek:function(e){var t,n=0;return"string"!=typeof e?this.$domEl.currentTime=e:(t=e.split(":"),n+=parseInt(t.pop(),10),t.length&&(n+=60*parseInt(t.pop(),10)),t.length&&(n+=3600*parseInt(t.pop(),10)),isNaN(n)?void 0:this.$domEl.currentTime=n)},on:function(e,t){return this.$element.on(e,t)},off:function(e,t){return this.$element.off(e,t)},one:function(e,t){return this.$element.one(e,t)},$addSourceList:function(e){var t=this;if(angular.isArray(e))angular.forEach(e,function(e,n){var i=document.createElement("SOURCE");["src","type","media"].forEach(function(t){void 0!==e[t]&&i.setAttribute(t,e[t])}),t.$element.append(i)});else if(angular.isObject(e)){var n=document.createElement("SOURCE");["src","type","media"].forEach(function(t){void 0!==e[t]&&n.setAttribute(t,e[t])}),t.$element.append(n)}},$clearSourceList:function(){this.$element.contents().remove()},$formatTime:function(e){if(e===1/0)return"∞";var t,n=parseInt(e/3600,10)%24,i=parseInt(e/60,10)%60,a=parseInt(e%60,10),o=(10>i?"0"+i:i)+":"+(10>a?"0"+a:a);return t=n>0?(10>n?"0"+n:n)+":"+o:o},$attachPlaylist:function(e){void 0===e||null===e?this.playlist=[]:this.$playlist=e}},r=function(e,t,n){var a={playing:function(){e.$apply(function(e){e.playing=!0,e.ended=!1})},pause:function(){e.$apply(function(e){e.playing=!1})},ended:function(){!e.$selective&&e.currentTrack<e.tracks?e.next(!0):e.$apply(function(e){e.ended=!0,e.playing=!1})},timeupdate:i(1e3,!1,function(){e.$apply(function(e){e.currentTime=t.currentTime,e.formatTime=e.$formatTime(e.currentTime)})}),loadedmetadata:function(){e.$apply(function(e){e.currentTrack||e.currentTrack++,e.duration=t.duration,e.formatDuration=e.$formatTime(e.duration),t.buffered.length&&(e.loadPercent=Math.round(t.buffered.end(t.buffered.length-1)/e.duration*100))})},progress:function(){e.$domEl.buffered.length&&e.$apply(
i.prototype.getName=function(){return this.name},i.prototype.getData=function(){return this.data},i.prototype.G=function(){return this.H},t("Zlib.GunzipMember",i),t("Zlib.GunzipMember.prototype.getName",i.prototype.getName),t("Zlib.GunzipMember.prototype.getData",i.prototype.getData),t("Zlib.GunzipMember.prototype.getMtime",i.prototype.G);var v,y=[];for(v=0;288>v;v++)switch(!0){case 143>=v:y.push([v+48,8]);break;case 255>=v:y.push([v-144+400,9]);break;case 279>=v:y.push([v-256+0,7]);break;case 287>=v:y.push([v-280+192,8]);break;default:e("invalid literal: "+v)}var b=function(){function t(t){switch(!0){case 3===t:return[257,t-3,0];case 4===t:return[258,t-4,0];case 5===t:return[259,t-5,0];case 6===t:return[260,t-6,0];case 7===t:return[261,t-7,0];case 8===t:return[262,t-8,0];case 9===t:return[263,t-9,0];case 10===t:return[264,t-10,0];case 12>=t:return[265,t-11,1];case 14>=t:return[266,t-13,1];case 16>=t:return[267,t-15,1];case 18>=t:return[268,t-17,1];case 22>=t:return[269,t-19,2];case 26>=t:return[270,t-23,2];case 30>=t:return[271,t-27,2];case 34>=t:return[272,t-31,2];case 42>=t:return[273,t-35,3];case 50>=t:return[274,t-43,3];case 58>=t:return[275,t-51,3];case 66>=t:return[276,t-59,3];case 82>=t:return[277,t-67,4];case 98>=t:return[278,t-83,4];case 114>=t:return[279,t-99,4];case 130>=t:return[280,t-115,4];case 162>=t:return[281,t-131,5];case 194>=t:return[282,t-163,5];case 226>=t:return[283,t-195,5];case 257>=t:return[284,t-227,5];case 258===t:return[285,t-258,0];default:e("invalid length: "+t)}}var n,i,a=[];for(n=3;258>=n;n++)i=t(n),a[n]=i[2]<<24|i[1]<<16|i[0];return a}();p&&new Uint32Array(b);var w=0,k=1;o.prototype.g=function(){for(;!this.o;){var t=s(this,3);switch(1&t&&(this.o=!0),t>>>=1){case 0:var n=this.input,i=this.c,a=this.b,o=this.a,r=d,c=d,u=d,m=a.length,g=d;switch(this.d=this.f=0,r=n[i++],r===d&&e(Error("invalid uncompressed block header: LEN (first byte)")),c=r,r=n[i++],r===d&&e(Error("invalid uncompressed block header: LEN (second byte)")),c|=r<<8,r=n[i++],r===d&&e(Error("invalid uncompressed block header: NLEN (first byte)")),u=r,r=n[i++],r===d&&e(Error("invalid uncompressed block header: NLEN (second byte)")),u|=r<<8,c===~u&&e(Error("invalid uncompressed block header: length verify")),i+c>n.length&&e(Error("input buffer is broken")),this.k){case w:for(;o+c>a.length;){if(g=m-o,c-=g,p)a.set(n.subarray(i,i+g),o),o+=g,i+=g;else for(;g--;)a[o++]=n[i++];this.a=o,a=this.e(),o=this.a}break;case k:for(;o+c>a.length;)a=this.e({t:2});break;default:e(Error("invalid inflate mode"))}if(p)a.set(n.subarray(i,i+c),o),o+=c,i+=c;else for(;c--;)a[o++]=n[i++];this.c=i,this.a=o,this.b=a;break;case 1:this.l(O,B);break;case 2:l(this);break;default:e(Error("unknown BTYPE: "+t))}}return this.q()};var $,S,C=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],M=p?new Uint16Array(C):C,x=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],A=p?new Uint16Array(x):x,I=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],E=p?new Uint8Array(I):I,T=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],D=p?new Uint16Array(T):T,P=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],F=p?new Uint8Array(P):P,R=new(p?Uint8Array:Array)(288);for($=0,S=R.length;S>$;++$)R[$]=143>=$?8:255>=$?9:279>=$?7:8;var N,U,O=a(R),L=new(p?Uint8Array:Array)(30);for(N=0,U=L.length;U>N;++N)L[N]=5;var B=a(L);o.prototype.l=function(e,t){var n=this.b,i=this.a;this.r=e;for(var a,o,l,c,d=n.length-258;256!==(a=r(this,e));)if(256>a)i>=d&&(this.a=i,n=this.e(),i=this.a),n[i++]=a;else for(o=a-257,c=A[o],0<E[o]&&(c+=s(this,E[o])),a=r(this,t),l=D[a],0<F[a]&&(l+=s(this,F[a])),i>=d&&(this.a=i,n=this.e(),i=this.a);c--;)n[i]=n[i++-l];for(;8<=this.d;)this.d-=8,this.c--;this.a=i},o.prototype.C=function(e,t){var n=this.b,i=this.a;this.r=e;for(var a,o,l,c,d=n.length;256!==(a=r(this,e));)if(256>a)i>=d&&(n=this.e(),d=n.length),n[i++]=a;else for(o=a-257,c=A[o],0<E[o]&&(c+=s(this,E[o])),a=r(this,t),l=D[a],0<F[a]&&(l+=s(this,F[a])),i+c>d&&(n=this.e(),d=n.length);c
Te[2*Oe+Ue]=(Qe>1)+0,Ie[Ie.length-1]+=16;Fe[Le+Oe]=Je}Ne|=ke(De,8-2*Le),Re|=ke(Te,8-2*Le)}$e|=ke(Pe,20),Ce|=ke(Fe,20),Y.X=$e,Ee.X=Ce,j.z=Ie,j.Oa=Re+0,j.ja=Re|Ne,Y.Nb=!j.ja+0}B=!q.Ab}if(!B){l=ye(e,"VP8_STATUS_NOT_ENOUGH_DATA","Premature end-of-file encountered."+e.i+" "+e.d);break e}var et=e,tt=et.Ea,nt=gi,it=et.Ea,at=hi,ot=et.Ea,st=fi;if(0<et.i){for(var rt=m,rt=-1;16>rt;++rt)he(tt,nt+rt*pi-4,tt,nt+rt*pi+12);for(rt=-1;8>rt;++rt)he(it,at+rt*pi-4,it,at+rt*pi+4),he(ot,st+rt*pi-4,ot,st+rt*pi+4)}else{for(rt=0;16>rt;++rt)tt[nt+rt*pi-1]=129;for(rt=0;8>rt;++rt)it[at+rt*pi-1]=129,ot[st+rt*pi-1]=129;0<et.d&&(tt[nt-1-pi]=it[at-1-pi]=ot[st-1-pi]=129)}var lt=et.Xc,ct=16*+et.i,dt=et.Sc,ut=8*+et.i,pt=et.Vc,mt=8*+et.i,gt=et.z,ht=m;if(0<et.d)t(tt,nt-pi,lt,ct,16),t(it,at-pi,dt,ut,8),t(ot,st-pi,pt,mt,8);else if(0==et.i){for(i=0;21>i;++i)tt[nt-pi-1+i]=127;for(i=0;9>i;++i)it[at-pi-1+i]=127;for(i=0;9>i;++i)ot[st-pi-1+i]=127}if(et.wa){var ft=nt-pi+16;0<et.d&&(et.i>=et.Ma-1?tt[ft+0]=tt[ft+1]=tt[ft+2]=tt[ft+3]=lt[ct+15]:t(tt,ft+0,lt,ct+16,4));for(var _t=0;4>_t;++_t)tt[_t+ft+4*pi]=tt[_t+ft+4*pi]=tt[_t+ft+8*pi]=tt[_t+ft+12*pi]=tt[_t+ft+0];for(ht=0;16>ht;ht++){var vt=tt,yt=nt+ha[ht];la[et.Eb[ht]](vt,yt),et.Oa&1<<ht?Oi(gt,16*+ht,vt,yt,0):et.ja&1<<ht&&Bi(gt,16*+ht,vt,yt)}}else{var bt=ge(et,et.Eb[0]);if(ca[bt](tt,nt),et.ja)for(ht=0;16>ht;ht++)vt=tt,yt=nt+ha[ht],et.Oa&1<<ht?Oi(gt,16*+ht,vt,yt,0):et.ja&1<<ht&&Bi(gt,16*+ht,vt,yt)}if(bt=ge(et,et.Tc),da[bt](it,at),da[bt](ot,st),983040&et.ja){var wt=et.z,kt=256;983040&et.Oa?Li(wt,kt,it,at):ji(wt,kt,it,at)}if(15728640&et.ja){var $t=et.z,kt=320;15728640&et.Oa?Li($t,kt,ot,st):ji($t,kt,ot,st)}et.d<et.hb-1&&(t(lt,ct,tt,nt+15*pi,16),t(dt,ut,it,at+7*pi,8),t(pt,mt,ot,st+7*pi,8));var St=e;if(0<St.A){var Ct=St.M[1+St.i],Mt=St.La[1+St.i].Nb,xt=St.Zb[St.Lb];St.ga.oc&&(xt+=St.ga.Lc[0],St.wa&&(xt+=St.ga.Gc[0])),xt=0>xt?0:xt>63?63:xt,Ct.zc=xt,0<St.ga.kb&&(xt=4<St.ga.kb?xt>>2:xt>>1,xt>9-St.ga.kb&&(xt=9-St.ga.kb)),Ct.yc=1>xt?1:xt,Ct.ab=(!Mt||St.wa)+0}for(var At=m,It=8*St.Ja*St.r,Et=St.ca,Tt=St.da+16*St.i+16*St.Ja*St.H,Dt=St.aa,Pt=St.ba+8*St.i+It,Ft=St.ra,Rt=St.sa+8*St.i+It,At=0;16>At;++At)t(Et,Tt+At*St.H,St.Ea,+gi+At*pi,16);for(At=0;8>At;++At)t(Dt,Pt+At*St.r,St.Ea,+hi+At*pi,8),t(Ft,Rt+At*St.r,St.Ea,+fi+At*pi,8)}var Nt=e,Ut=s,Ot=1,Lt=Nt.oa;if(Nt.qb){var Bt=Nt.rc,Ot=Ot&WebPWorkerSync(Bt);if(p(Bt.a==OK),Ot){if(Lt.N=Ut,Lt.ha=Nt.Ja,Lt.d=Nt.d,Lt.W=Nt.W,Lt.W){var jt=Lt.M;Lt.M=Nt.M,Nt.M=jt}WebPWorkerLaunch(Bt),++Nt.Ja==Nt.jb&&(Nt.Ja=0)}}else{Lt.d=Nt.d,Lt.W=Nt.W;t:{var qt=1,Ht=Nt.oa,Vt=pa[Nt.A],zt=Vt*Nt.H,Wt=parseInt(Vt/2)*Nt.r,Gt=16*Ht.ha*Nt.H,Kt=8*Ht.ha*Nt.r,Yt=Nt.ca,Zt=Nt.da-zt+Gt,Xt=Nt.aa,Jt=Nt.ba-Wt+Kt,tn=Nt.ra,an=Nt.sa-Wt+Kt,on=0==Ht.d,rn=(Ht.d>=Nt.hb-1)+0,ln=16*Ht.d,cn=16*(Ht.d+1);if(Ht.W){var dn=Nt,un=h,pn=dn.oa.d;for(p(dn.oa.W),un=dn.lb;un<dn.wb;++un){var mn=dn,gn=un,hn=pn,fn=mn.oa,_n=mn.H,vn=fn.M[1+gn],yn=mn.ca,bn=mn.da+16*fn.ha*_n+16*gn,wn=vn.zc,kn=vn.yc,$n=2*wn+kn;if(0!=wn)if(1==mn.A)gn>0&&Xi(yn,bn,_n,$n+4),vn.ab&&Qi(yn,bn,_n,$n),hn>0&&Zi(yn,bn,_n,$n+4),vn.ab&&Ji(yn,bn,_n,$n);else{var Sn=mn.r,Cn=mn.aa,Mn=mn.ba+8*fn.ha*Sn+8*gn,xn=mn.ra,An=mn.sa+8*fn.ha*Sn+8*gn,In=mn.Ac.fb?wn>=40?2:wn>=15?1:0:wn>=40?3:wn>=20?2:wn>=15?1:0;gn>0&&(Hi(yn,bn,_n,$n+4,kn,In),zi(Cn,Mn,xn,An,Sn,$n+4,kn,In)),vn.ab&&(Gi(yn,bn,_n,$n,kn,In),Yi(Cn,Mn,xn,An,Sn,$n,kn,In)),hn>0&&(qi(yn,bn,_n,$n+4,kn,In),Vi(Cn,Mn,xn,An,Sn,$n+4,kn,In)),vn.ab&&(Wi(yn,bn,_n,$n,kn,In),Ki(Cn,Mn,xn,An,Sn,$n,kn,In))}}}if(Ut.put){if(on?(Ut.y=Nt.ca,Ut.D=Nt.da+Gt,Ut.c=Nt.aa,Ut.B=Nt.ba+Kt,Ut.S=Nt.ra,Ut.C=Nt.sa+Kt):(ln-=Vt,Ut.y=Yt,Ut.D=Zt,Ut.c=Xt,Ut.B=Jt,Ut.S=tn,Ut.C=an),rn||(cn-=Vt),cn>Ut.K&&(cn=Ut.K),Nt.Ga!=g&&cn>ln&&(0==ln?(Ut.p=U(Nt,ln,cn-ln),Ut.q=0):Ut.q=U(Nt,ln,cn-ln),Ut.p==g)){Ot=ye(Nt,nn,"Could not decode alpha data.");break t}if(ln<Ut.k){var En=Ut.k-ln,ln=Ut.k;p(!(1&En)),Ut.D+=Nt.H*En,Ut.B+=Nt.r*(En>>1),Ut.C+=Nt.r*(En>>1),Ut.p!=g&&(Ut.q+=Ut.width*En)}cn>ln&&(Ut.D+=Ut.t,Ut.B+=Ut.t>>1,Ut.C+=Ut.t>>1,Ut.p!=g&&(Ut.q+=Ut.t),Ut.w=ln-Ut.k,Ut.m=Ut.Ka-Ut.t,Ut.h=cn-ln,qt=Ut.put(Ut))}Ht.ha+1==Nt.jb&&!rn&&(t(Nt.ca,Nt.da-zt,Yt,Zt+16*Nt.H,zt),t(Nt.aa,Nt.ba-Wt,Xt,Jt+8*Nt.r,Wt),t(Nt.ra,Nt.sa-W
this.WebPGetDecoderVersion=this.Ld=function(){return 512};var ka=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],$a=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],Sa=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],Ca=u([di,ui],"");c(4,f);var Ma=[[0,0,0,0],[1,0,0,0],[0,1,0,0],[1,1,0,0],[0,0,1,0],[1,0,1,0],[0,1,1,0],[1,1,1,0],[0,0,0,1],[1,0,0,1],[0,1,0,1],[1,1,0,1],[0,0,1,1],[1,0,1,1],[0,1,1,1],[1,1,1,1]],xa=134480385,Aa=16,Ia=-227,Ea=482,Ta=[Ue,function(e){return e},function(e,t,n){return t[n+0]},function(e,t,n){return t[n+1]},function(e,t,n){return t[n-1]},function(e,t,n){return Fe(Fe(e,t[n+1]),t[n+0])},function(e,t,n){return Fe(e,t[n-1])},function(e,t,n){return Fe(e,t[n+0])},function(e,t,n){return Fe(t[n-1],t[n+0])},function(e,t,n){return Fe(t[n+0],t[n+1])},function(e,t,n){return Fe(Fe(e,t[n-1]),Fe(t[n+0],t[n+1]))},function(e,t,n){return 0>=Math.abs((e>>24&255)-(t[n-1]>>24&255))-Math.abs((t[n+0]>>24&255)-(t[n-1]>>24&255))+(Math.abs((e>>16&255)-(t[n-1]>>16&255))-Math.abs((t[n+0]>>16&255)-(t[n-1]>>16&255)))+(Math.abs((e>>8&255)-(t[n-1]>>8&255))-Math.abs((t[n+0]>>8&255)-(t[n-1]>>8&255)))+(Math.abs((255&e)-(255&t[n-1]))-Math.abs((255&t[n+0])-(255&t[n-1])))?t[n+0]:e},function(e,t,n){return(Re((e>>24&255)+(t[n+0]>>24&255)-(t[n-1]>>24&255))<<24|Re((e>>16&255)+(t[n+0]>>16&255)-(t[n-1]>>16&255))<<16|Re((e>>8&255)+(t[n+0]>>8&255)-(t[n-1]>>8&255))<<8|Re((255&e)+(255&t[n+0])-(255&t[n-1])))>>>0},function(e,t,n){var i=t[n-1];return e=Fe(e,t[n+0]),(Ne(e>>24&255,i>>24&255)<<24|Ne(e>>16&255,i>>16&255)<<16|Ne(e>>8&255,i>>8&255)<<8|Ne(e>>0&255,i>>0&255))>>>0},Ue,Ue],Da={Cc:f,Bc:f,Kc:f},Pa=16,Fa=16,Ra=16,Na=[2,3,7],Ua=[3,3,11],Oa=0,La=1,Ba=2,ja=3,qa=4,Ha=[xn+An,xn,xn,xn,40],Va=19,za=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],Wa=120,Ga=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],Ka=1<<Aa-1,Ya=c(256,0),Za=c(256,0),Xa=c(256,_),Ja=c(256,_),Qa=c(Ea-Ia,f),eo=c(Ea-Ia,f),to=0,no=Array(Xt),io=[function(e,t,n,i,a,o,s,r,l,c,d,u,p){mt(e,t,n,i,a,o,s,r,l,c,d,u,p,Me,3)},gt,function(e,t,n,i,a,o,s,r,l,c,d,u,p){mt(e,t,n,i,a,o,s,r,l,c,d,u,p,Ee,3)},ht,ft,_t,function(e,t,n,i,a,o,s,r,l,c,d,u,p){mt(e,t,n,i,a,o,s,r,l,c,d,u,p,xe,2)},gt,ht,ft,_t];this.Hd=function(e,t,n,i){return Ft(Ot,e,t,n,i)},this.Id=function(e,t,n,i){return Ft(Lt,e,t,n,i)},this.Jd=function(e,t,n,i){return Ft(Ht,e,t,n,i)},this.Ed=function(e,t,n,i){return Ft(qt,e,t,n,i)},this.Fd=function(e,t,n,i){return Ft(Bt,e,t,n,i)},this.Gd=function(e,t,n,i){return Ft(jt,e,t,n,i)},this.WebPDecode=this.Dd=function(t,n,i){var a=e(un),o="VP8StatusCode";return i==g?tn:(o=Rt(t,[0],[n],i.input),o!=Qt?o==rn?nn:o:(a.j=i.j,a.Qa=i.Qa,o=Pt(t,0,[n],a)))}}}();var _logTimer=(new Date).getTime();window.onAnimationFrameCallback=Config.Modes.animations&&"function"==typeof window.requestAnimationFrame?function(e){return function(){window.requestAnimationFrame(e)}}:function(e){return e},function(e){function t(){return{shortIndexes:{},fullTexts:{}}}function n(e){var t="%"==e.charAt(0);return e=e.replace(s," ").replace(r,""),e=e.replace(/[^A-Za-z0-9]/g,function(e){return Config.LatinizeMap[e]||e}),e=e.toLowerCase(),t&&(e="%"+e),e}function i(e){return e&&e.toLowerCase()||""}function a(e,t,i){if(void 0!==i.fullTexts[e])return!1;if(t=n(t),!t.length)return!1;var a=i.shortIndexes;i.fullTexts[e]=t,angular.forEach(t.split(" "),function(t){var n,i,o=Math.min(t.length,3);for(i=1;o>=i;i++)n=t.substr(0,i),void 0===a[n]?a[n]=[e]:a[n].push(e)})}function o(e,t){var i=t.shortIndexes,a=t.fullTexts;e=n(e);var o,s,r,l,c,d=e.split(" "),u=!1;for(s=0;s<d.length;s++){if(o=i[d[s].substr(0,3)],!o){u=[];break}(u===!1||u.length>o.length)&&(u=o)}for(o={},r=0;r<u.length;r++){for(c=!0,l=a[u[r]],s=0;s<d.length;s++)if(-1==l.indexOf(d[s])){c=!1;break}c&&(o[u[r]]=!0)}return o}var s=/
void 0===o&&(o=i(n,a));var d,u,p,g,h=0,f=o.length,_=[],v=0,y=a.emojiIconSize||m;for(h=0;f>h;h++){if(d=o[h],d.offset>v)_.push(encodeEntities(n.substr(v,d.offset-v)));else if(d.offset<v)continue;switch(p=!1,u=n.substr(d.offset,d.length),d._){case"messageEntityMention":var b=!a.noLinks&&M[r];if(!b){p=!0;break}var w=u.substr(1),k="";a.highlightUsername&&a.highlightUsername.toLowerCase()==w.toLowerCase()&&(k='class="im_message_mymention"'),_.push("<a ",k,l?' target="_blank" ':"",' href="',b.replace("{1}",encodeURIComponent(w)),'">',encodeEntities(u),"</a>");break;case"messageEntityHashtag":var b=!a.noLinks&&C[r];if(!b){p=!0;break}var $=u.substr(1);_.push("<a ",l?' target="_blank" ':"",'href="',b.replace("{1}",encodeURIComponent($)),'">',encodeEntities(u),"</a>");break;case"messageEntityEmail":if(a.noLinks){p=!0;break}_.push('<a href="',encodeEntities("mailto:"+u),'" target="_blank">',encodeEntities(u),"</a>");break;case"messageEntityUrl":case"messageEntityTextUrl":if(a.noLinks){p=!0;break}var g=d.url||u;g.match(/^https?:\/\//i)||(g="http://"+g);var S;if("messageEntityTextUrl"==d._)g="tg://unsafe_url?url="+encodeURIComponent(g);else if(S=g.match(/^https?:\/\/telegram\.me\/(.+)/)){var x=S[1].split("/");switch(x[0]){case"joinchat":g="tg://join?invite="+x[1];break;case"addstickers":g="tg://addstickers?set="+x[1];break;default:if(!x[1]){var A=x[0].split("?");g="tg://resolve?domain="+A[0]+(A[1]?"&"+A[1]:"")}}}_.push('<a href="',encodeEntities(g),'" target="_blank">',s(u,d.nested,a),"</a>");break;case"messageEntityLinebreak":_.push(a.noLinebreaks?" ":"<br/>");break;case"messageEntityEmoji":_.push('<span class="emoji emoji-',d.coords.category,"-",y*d.coords.column,"-",y*d.coords.row,'" ','title="',d.title,'">',":",d.title,":</span>"),c=!0;break;case"messageEntityBotCommand":if(a.noLinks||a.noCommands||l){p=!0;break}var I,E,T=u.substr(1);-1!=(E=T.indexOf("@"))?(I=T.substr(E+1),T=T.substr(0,E)):I=a.fromBot,_.push('<a href="',encodeEntities("tg://bot_command?command="+encodeURIComponent(T)+(I?"&bot="+encodeURIComponent(I):"")),'">',encodeEntities(u),"</a>");break;case"messageEntityBold":_.push("<strong>",s(u,d.nested,a),"</strong>");break;case"messageEntityItalic":_.push("<em>",s(u,d.nested,a),"</em>");break;case"messageEntityCode":_.push("<code>",encodeEntities(u),"</code>");break;case"messageEntityPre":_.push("<pre><code",d.language?' class="language-'+encodeEntities(d.language)+'"':"",">",encodeEntities(u),"</code></pre>");break;default:p=!0}v=d.offset+(p?0:d.length)}if(_.push(encodeEntities(n.substr(v))),n=t(_.join("")),!a.nested&&(c||a.hasNested)){n=n.replace(/\ufe0f|&#65039;|&#65533;|&#8205;/g,"",n);var D=18==y?"":" emoji-w"+y;n=n.replace(/<span class="emoji emoji-(\d)-(\d+)-(\d+)"(.+?)<\/span>/g,'<span class="emoji '+D+' emoji-spritesheet-$1" style="background-position: -$2px -$3px;" $4</span>')}return e.trustAs("html",n)}function l(e){for(var t=e.length,n=e.split("(").length-1,i=e.split(")").length-1;i>n&&")"===e.charAt(t-1);)e=e.substr(0,t-1),i--,t--;return n>i&&(e=e.replace(/\)+$/,"")),e}function c(e,t){if(g)return e;if(!e||!e.length)return"";t=t||{},e=e.replace(/\ufe0f/g,"",e);for(var n,i,a=e,e=[];n=a.match(k);)e.push(a.substr(0,n.index)),e.push(n[8]?(d=u[n[8]])&&(i=p[d][1][0])?":"+i+":":n[0]:n[0]),a=a.substr(n.index+n[0].length);return e.push(a),e.join("")}var d,u={},p=Config.Emoji,m=18,g=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS|Android/i),h="\\u0023\\u20E3|\\u00a9|\\u00ae|\\u203c|\\u2049|\\u2139|[\\u2194-\\u2199]|\\u21a9|\\u21aa|\\u231a|\\u231b|\\u23e9|[\\u23ea-\\u23ec]|\\u23f0|\\u24c2|\\u25aa|\\u25ab|\\u25b6|\\u2611|\\u2614|\\u26fd|\\u2705|\\u2709|[\\u2795-\\u2797]|\\u27a1|\\u27b0|\\u27bf|\\u2934|\\u2935|[\\u2b05-\\u2b07]|\\u2b1b|\\u2b1c|\\u2b50|\\u2b55|\\u3030|\\u303d|\\u3297|\\u3299|[\\uE000-\\uF8FF\\u270A-\\u2764\\u2122\\u25C0\\u25FB-\\u25FE\\u2615\\u263a\\u2648-\\u2653\\u2660-\\u2668\\u267B\\u267F\\u2693\\u261d\\u26A0-\\u26FA\\u2708\\u2702\\u2601\\u260E]|[\\u2600\\u26C4\\u26BE\\u23F3\\u2764]|\\uD83D[\\uDC00-\\uDFFF]|\\uD83C[\\uDDE8-\\uDDFA<EFBFBD>]\\uD83C[\\uDDEA-\\uDDFA<EFBFBD>]|[0-9]\\u20e3|\\uD83C[\\uDC00-\\uDFFF
originalError:e}},u.prototype.processMessage=function(e,n,a){switch(e._){case"msg_container":for(var o=e.messages.length,s=0;o>s;s++)this.processMessage(e.messages[s],n,a);break;case"bad_server_salt":console.log(dT(),"Bad server salt",e);var r=this.sentMessages[e.bad_msg_id];if(!r||r.seq_no!=e.bad_msg_seqno)throw console.log(e.bad_msg_id,e.bad_msg_seqno),new Error("Bad server salt for invalid message");this.applyServerSalt(e.new_server_salt),this.pushResend(e.bad_msg_id),this.ackMessage(n);break;case"bad_msg_notification":console.log(dT(),"Bad msg notification",e);var r=this.sentMessages[e.bad_msg_id];if(!r||r.seq_no!=e.bad_msg_seqno)throw console.log(e.bad_msg_id,e.bad_msg_seqno),new Error("Bad msg notification for invalid message");if(16==e.error_code||17==e.error_code){t.applyServerTime(bigStringInt(n).shiftRight(32).toString(10))&&(console.log(dT(),"Update session"),this.updateSession());var l=this.updateSentMessage(e.bad_msg_id);this.pushResend(l.msg_id),this.ackMessage(n)}break;case"message":this.serverMessages.push(e.msg_id),this.processMessage(e.body,e.msg_id,a);break;case"new_session_created":this.ackMessage(n),this.processMessageAck(e.first_msg_id),this.applyServerSalt(e.server_salt);var c=this;i.get("dc").then(function(t){t==c.dcID&&!c.upload&&g&&g(e)});break;case"msgs_ack":for(var s=0;s<e.msg_ids.length;s++)this.processMessageAck(e.msg_ids[s]);break;case"msg_detailed_info":if(!this.sentMessages[e.msg_id]){this.ackMessage(e.answer_msg_id);break}case"msg_new_detailed_info":this.reqResendMessage(e.answer_msg_id);break;case"msgs_state_info":if(this.ackMessage(e.answer_msg_id),this.lastResendReq&&this.lastResendReq.req_msg_id==e.req_msg_id&&this.pendingResends.length){var s,d,u;for(s=0;s<this.lastResendReq.resend_msg_ids.length;s++)d=this.lastResendReq.resend_msg_ids[s],u=this.pendingResends.indexOf(d),-1!=u&&this.pendingResends.splice(u,1)}break;case"rpc_result":this.ackMessage(n);var p=e.req_msg_id,r=this.sentMessages[p];if(this.processMessageAck(p),r){var m=r.deferred;if("rpc_error"==e.result._){var h=this.processError(e.result);console.log(dT(),"Rpc error",h),m&&m.reject(h)}else{if(m){if(Config.Modes.debug)console.log(dT(),"Rpc response",e.result);else{var f=e.result._;f||(f=e.result.length>5?"[.."+e.result.length+"..]":e.result),console.log(dT(),"Rpc response",f)}r.deferred.resolve(e.result)}r.isAPI&&(this.connectionInited=!0)}delete this.sentMessages[p]}break;default:this.ackMessage(n),g&&g(e)}},{getNetworker:function(e,t,n,i){return new u(e,t,n,i)},setUpdatesProcessor:function(e){g=e},stopAll:m,startAll:p}}]),angular.module("izhukov.mtproto.wrapper",["izhukov.utils","izhukov.mtproto"]).factory("MtpApiManager",["Storage","MtpAuthorizer","MtpNetworkerFactory","MtpSingleInstanceService","AppRuntimeManager","ErrorService","qSync","$rootScope","$q","TelegramMeWebService",function(e,t,n,i,a,o,s,r,l,c){function d(e){_!==e&&(_=e,c.setAuthorized(_))}function u(t,n){var i=angular.extend({dcID:t},n);e.set({dc:t,user_auth:i}),d(!0),r.$broadcast("user_auth",i),w=t}function p(){for(var t=[],n=1;5>=n;n++)t.push("dc"+n+"_auth_key");return e.get.apply(e,t).then(function(n){for(var i=[],a=0;a<n.length;a++)n[a]&&i.push(g("auth.logOut",{},{dcID:a+1}));return l.all(i).then(function(){e.remove("dc","user_auth"),w=!1,d(!1)},function(n){e.remove.apply(t),e.remove("dc","user_auth"),w=!1,n.handled=!0,d(!1)})})}function m(i,a){a=a||{};var o=a.fileUpload||a.fileDownload?y:v;if(!i)throw new Exception("get Networker without dcID");if(void 0!==o[i])return s.when(o[i]);var r="dc"+i+"_auth_key",c="dc"+i+"_server_salt";return e.get(r,c).then(function(s){if(void 0!==o[i])return o[i];var d=s[0],u=s[1];if(d&&512==d.length){var p=bytesFromHex(d),m=bytesFromHex(u);return o[i]=n.getNetworker(i,p,m,a)}return a.createNetworker?t.auth(i).then(function(t){var s={};return s[r]=bytesToHex(t.authKey),s[c]=bytesToHex(t.serverSalt),e.set(s),o[i]=n.getNetworker(i,t.authKey,t.serverSalt,a)},function(e){return console.log("Get networker error",e,e.stack),l.reject(e)}):l.reject({type:"AUTH_KEY_EMPTY",code:401})})}function g(t,n,i){i=i||{};var s,r,c=l.defer()
})}function l(e,t,n){Config.Navigator.retina&&(t*=2,n*=2);var i={_:"photoSizeEmpty"},a=16777215;return angular.forEach(e.sizes,function(e){var o=Math.abs(e.w*e.h-t*n);a>o&&(i=e,a=o)}),i}function c(e,t,n){var a=o.getUserInput(e);return i.invokeApi("photos.getUserPhotos",{user_id:a,offset:0,limit:n||20,max_id:t||0}).then(function(t){o.saveApiUsers(t.users);for(var n=[],i={user_id:e},a=0;a<t.photos.length;a++)r(t.photos[a],i),n.push(t.photos[a].id);return{count:t.count||t.photos.length,photos:n}})}function d(e){if(f[e]){var n=f[e],i=$(window).width()-(Config.Mobile?20:32),o=$(t).height()-(Config.Mobile?150:116);i>800&&(i-=208);var s=l(n,i,o);s&&!s.preloaded&&(s.preloaded=!0,s.size?a.downloadFile(s.location.dc_id,{_:"inputFileLocation",volume_id:s.location.volume_id,local_id:s.location.local_id,secret:s.location.secret},s.size):a.downloadSmallFile(s.location))}}function u(e){return f[e]||{_:"photoEmpty"}}function p(e,t){t=t||{};var n=angular.copy(f[e])||{_:"photoEmpty"},i=t.website?100:Math.min(_-80,Config.Mobile?210:260),a=t.website?100:Math.min(v-100,Config.Mobile?210:260),o=l(n,i,a),s={placeholder:"img/placeholders/PhotoThumbConversation.gif",width:i,height:a};if(t.website&&Config.Mobile&&(i=50,a=50),o&&"photoSizeEmpty"!=o._){var r=calcImageInBox(o.w,o.h,i,a);s.width=r.w,s.height=r.h,s.location=o.location,s.size=o.size}else s.width=100,s.height=100;return n.thumb=s,n}function m(e){var n=p(e),i=$(window).width()-(Config.Mobile?0:32),a=$(t).height()-(Config.Mobile?0:116);!Config.Mobile&&i>800&&(i-=208);var o=l(n,i,a),s={placeholder:"img/placeholders/PhotoThumbModal.gif"};if(s.width=i,s.height=a,o&&"photoSizeEmpty"!=o._){var r=calcImageInBox(o.w,o.h,i,a,!0);s.width=r.w,s.height=r.h,s.modalWidth=Math.max(s.width,Math.min(400,i)),s.location=o.location,s.size=o.size}return n.full=s,n}function g(t,i){if(!t||"0"===t)return!1;var a=n.$new(!0);a.photoID=t;var o="PhotoModalController";i&&i.p>0?(o="UserpicModalController",a.userID=i.p):i&&i.p<0?(o="ChatpicModalController",a.chatID=-i.p):i&&i.m>0&&(a.messageID=i.m,i.w&&(a.webpageID=i.w));e.open({templateUrl:templateUrl("photo_modal"),windowTemplateUrl:templateUrl("media_modal_layout"),controller:o,scope:a,windowClass:"photo_modal_window"})}function h(e){var n=f[e],i="jpg",o="image/jpeg",r="photo"+e+"."+i,c=Math.max(screen.width||0,$(window).width()-36,800),d=Math.max(screen.height||0,$(t).height()-150,800),u=l(n,c,d),p={_:"inputFileLocation",volume_id:u.location.volume_id,local_id:u.location.local_id,secret:u.location.secret};s.chooseSave(r,i,o).then(function(e){e&&a.downloadFile(u.location.dc_id,p,u.size,{mime:o,toFileEntry:e}).then(function(){},function(e){console.log("photo download failed",e)})},function(){var e=a.getCachedFile(p);return e?s.download(e,o,r):void a.downloadFile(u.location.dc_id,p,u.size,{mime:o}).then(function(e){s.download(e,o,r)},function(e){console.log("photo download failed",e)})})}var f={},_=$(window).width(),v=$(window).height();return n.preloadPhoto=d,n.openPhoto=g,{savePhoto:r,preloadPhoto:d,getUserPhotos:c,getPhoto:u,choosePhotoSize:l,wrapForHistory:p,wrapForFull:m,openPhoto:g,downloadPhoto:h}}]).service("AppWebPagesManager",["$modal","$sce","$window","$rootScope","MtpApiManager","AppPhotosManager","AppDocsManager","RichTextProcessor",function(e,t,n,i,a,o,s,r){function l(e,t,n){e.photo&&"photo"===e.photo._?o.savePhoto(e.photo,n):delete e.photo,e.document&&"document"===e.document._?s.saveDoc(e.document,n):delete e.document,e.rTitle=r.wrapRichText(e.title||e.author,{noLinks:!0,noLinebreaks:!0});var a="";if("GitHub"==e.site_name){var l=e.url.match(/(https?:\/\/github\.com\/[^\/]+\/[^\/]+)/);l&&(a=l[0]+"/issues/{1}")}if(e.rDescription=r.wrapRichText(e.description,{contextSite:e.site_name||"external",contextHashtag:a}),t&&(void 0===m[e.id]&&(m[e.id]={}),m[e.id][t]=!0,p[e.id]=e),void 0===p[e.id]?p[e.id]=e:safeReplaceObject(p[e.id],e),!t&&void 0!==m[e.id]){var c=[];angular.forEach(m[e.id],function(e,t){c.push(t)}),i.$broadcast("webpage_updated",{id:e.id,msgs:c})}}function c(t,n){var a=i.$new(!0);a.webpageID=t,a.messageID=n,e.open({templateUrl:templateUrl("embed_
testSound:k};var Z,X}]).service("PasswordManager",["$timeout","$q","$rootScope","MtpApiManager","CryptoWorker","MtpSecureRandom",function(e,t,n,i,a,o){function s(e){return i.invokeApi("account.getPassword",{},e).then(function(e){return e})}function r(e,n){var a,s,r={new_settings:{_:"account.passwordInputSettings",flags:0,hint:n.hint||""}};if(a="string"==typeof n.cur_password&&n.cur_password.length>0?u(e.current_salt,n.cur_password):t.when([]),"string"==typeof n.new_password&&n.new_password.length>0){var l=new Array(8),c=bufferConcat(e.new_salt,l);o.nextBytes(l),s=u(c,n.new_password),r.new_settings.new_salt=c,r.new_settings.flags|=1}else"string"==typeof n.new_password&&(r.new_settings.flags|=1,r.new_settings.new_salt=[]),s=t.when([]);return"string"==typeof n.email&&(r.new_settings.flags|=2,r.new_settings.email=n.email||""),t.all([a,s]).then(function(e){return r.current_password_hash=e[0],r.new_settings.new_password_hash=e[1],i.invokeApi("account.updatePasswordSettings",r)})}function l(e,t,n){return u(e.current_salt,t).then(function(e){return i.invokeApi("auth.checkPassword",{password_hash:e},n)})}function c(e,t){return i.invokeApi("auth.requestPasswordRecovery",{},t)}function d(e,t){return i.invokeApi("auth.recoverPassword",{code:e},t)}function u(e,t){for(var n=unescape(encodeURIComponent(t)),i=new ArrayBuffer(n.length),o=new Uint8Array(i),s=0,r=n.length;r>s;s++)o[s]=n.charCodeAt(s);return i=bufferConcat(bufferConcat(e,o),e),a.sha256Hash(i)}return{check:l,getState:s,requestRecovery:c,recover:d,updateSettings:r}}]).service("ErrorService",["$rootScope","$modal","$window",function(e,t,n){function i(n,i){if(s>=1)return console.log("Skip error box, too many open",s,n,i),!1;i=i||{};var a=e.$new();angular.extend(a,n),s++;var o=t.open({templateUrl:templateUrl("error_modal"),scope:a,windowClass:i.windowClass||"error_modal_window"});return o.result["finally"](function(){s--}),o}function a(e,t){return i({title:e,description:t})}function o(n,i){i=i||{};var a=e.$new();angular.extend(a,n);var o=t.open({templateUrl:templateUrl("confirm_modal"),scope:a,windowClass:i.windowClass||"confirm_modal_window"});return o.result}var s=0;return n.safeConfirm=function(e,t){"string"==typeof e&&(e={message:e}),o(e).then(function(e){t(e||!0)},function(){t(!1)})},{show:i,alert:a,confirm:o}}]).service("PeersSelectService",["$rootScope","$modal",function(e,t){function n(n){var i=e.$new();return i.multiSelect=!1,i.noMessages=!0,n&&angular.extend(i,n),t.open({templateUrl:templateUrl("peer_select"),controller:"PeerSelectController",scope:i,windowClass:"peer_select_window mobile_modal",backdrop:"single"}).result}function i(i){if(Config.Mobile)return n(i).then(function(e){return[e]});var a=e.$new();return a.multiSelect=!0,a.noMessages=!0,i&&angular.extend(a,i),t.open({templateUrl:templateUrl("peer_select"),controller:"PeerSelectController",scope:a,windowClass:"peer_select_window mobile_modal",backdrop:"single"}).result}return{selectPeer:n,selectPeers:i}}]).service("ContactsSelectService",["$rootScope","$modal",function(e,t){function n(n,i){i=i||{};var a=e.$new();return a.multiSelect=n,angular.extend(a,i),!a.action&&n&&(a.action="select"),t.open({templateUrl:templateUrl("contacts_modal"),controller:"ContactsModalController",scope:a,windowClass:"contacts_modal_window mobile_modal",backdrop:"single"}).result}return{selectContacts:function(e){return n(!0,e)},selectContact:function(e){return n(!1,e)}}}]).service("ChangelogNotifyService",["Storage","$rootScope","$modal",function(e,t,n){function i(){e.get("last_version").then(function(t){t!=Config.App.version&&(t&&a(t),e.set({last_version:Config.App.version}))})}function a(e){var i=t.$new();i.lastVersion=e,n.open({controller:"ChangelogModalController",templateUrl:templateUrl("changelog_modal"),scope:i,windowClass:"changelog_modal_window mobile_modal"})}return{checkUpdate:i,showChangelog:a}}]).service("HttpsMigrateService",["ErrorService","Storage",function(e,t){function n(){t.get("https_dismiss").then(function(n){(!n||tsNow()>n+432e5)&&e.confirm({type:"MIGRATE_TO_HTTPS"}).then(function(){var e;try{e=window.open("htt
else{if(r){if(Z!=t){var c,d,u,p=Z>t;for(c=0;c<V.messages.length;c++)if(V.messages[c].mid==Z){d=c;break}for(c=d;V.messages[c]&&(u=V.messages[c].mid)!=t;)e.selectedMsgs[u]||(e.selectedMsgs[u]=!0,e.selectedCount++),c+=p?-1:1}}else Z=t;e.selectedMsgs[t]=!0,e.selectedCount++,e.historyState.selectActions||(e.historyState.selectActions="selected",e.$broadcast("ui_panel_update"))}e.$broadcast("messages_select")}function P(t,n){return e.$broadcast("inline_bot_select",t),cancelEvent(n)}function F(t){e.selectedMsgs={},e.selectedCount=0,e.historyState.selectActions=!1,Z=!1,t||e.$broadcast("ui_panel_update"),e.$broadcast("messages_select")}function R(){h.confirm({type:"HISTORY_FLUSH"}).then(function(){l.flushHistory(e.curDialog.peerID).then(function(){F()})})}function N(t){var n=[];t?n.push(t):e.selectedCount>0&&angular.forEach(e.selectedMsgs,function(e,t){n.push(t)}),n.length&&h.confirm({type:"MESSAGES_DELETE",count:n.length}).then(function(){l.deleteMessages(n).then(function(){F()})})}function U(t){var n=[];t?n.push(t):e.selectedCount>0&&angular.forEach(e.selectedMsgs,function(e,t){n.push(t)}),n.length&&u.selectPeer({canSend:!0}).then(function(e){F(),a.$broadcast("history_focus",{peerString:e,attachment:{_:"fwd_messages",id:n}})})}function O(t){t||1!=e.selectedCount||angular.forEach(e.selectedMsgs,function(e,n){t=n}),t&&(F(),e.$broadcast("reply_selected",t))}function L(){e.historyState.selectActions?F():(e.historyState.selectActions="selected",e.$broadcast("ui_panel_update"))}function B(t){e.historyFilter.mediaType=t||!1,e.curDialog.messageID=!1,V.messages=[],V.ids=[],e.state.empty=!0,M()}function j(){e.historyFilter.mediaType?B():e.curDialog.messageID?a.$broadcast("history_focus",{peerString:e.curDialog.peer}):M(!0)}e.$watchCollection("curDialog",f),d.attach(),p.start(),m.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=D,e.selectedDelete=N,e.selectedForward=U,e.selectedReply=O,e.selectedCancel=F,e.selectedFlush=R,e.selectInlineBot=P,e.startBot=A,e.cancelBot=I,e.joinChannel=E,e.togglePeerMuted=T,e.toggleEdit=L,e.toggleMedia=B,e.returnToRecent=j,e.$on("history_edit_toggle",L),e.$on("history_edit_flush",R),e.$on("history_media_toggle",function(e,t){B(t)}),e.$on("history_return_recent",j);var q,H,V=!1,z=!1,W=!1,G=!1,K=0,Y=0,Z=!1,X={photos:"inputMessagesFilterPhotos",video:"inputMessagesFilterVideo",documents:"inputMessagesFilterDocument",audio:"inputMessagesFilterAudio"},J=0,Q=0,ee=!1,te=!1,ne=0,ie=!1,ae=!1;e.$on("history_update",angular.noop);var oe=!1;e.$on("stateSynchronized",function(){oe&&(oe==e.curDialog.peerID&&M(),oe=!1)}),e.$on("reply_button_press",function(t,n){var i=e.historyState.replyKeyboard;i&&l.sendText(q,n.text,{replyToMsgID:0>q&&i.mid})}),e.$on("history_reload",function(t,n){n==e.curDialog.peerID&&M()}),e.$on("history_forbidden",function(n,i){i==e.curDialog.peerID&&t.url("/im"),y(i)}),e.$on("dialog_migrate",function(t,n){if(n.migrateFrom==e.curDialog.peerID){var i=c.getPeerString(n.migrateTo);a.$broadcast("history_focus",{peerString:i})}y(n.migrateFrom)}),e.$on("notify_settings",function(t,n){n.peerID==e.curDialog.peerID&&k()}),e.$on("channel_settings",function(t,n){n.channelID==-e.curDialog.peerID&&k()});var se={};e.$on("history_append",function(t,i){var o=v(i.peerID);if(o){var s=i.peerID==e.curDialog.peerID;if(s){if(e.historyFilter.mediaType||e.historyState.skipped)return void(i.my?j():e.historyState.missedCount++);e.curDialog.messageID&&i.my&&j(),delete e.state.empty}var r=l.wrapForHistory(i.messageID);o.messages.push(r),o.ids.push(i.messageID),l.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:i.my,idleScroll:z&&!r.pFlags.out&&a.idle.isIDLE}),i.my&&e.historyUnreadAfter&&(delete e.historyUnreadAfter,e.$broadcast("messages_unread_after")),a.idle.i
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","AppRuntimeManager","ErrorService","_",function(e,t,n,i,a,o,s,r,l,c,d,u,p,m,g,h,f,_){function v(){n.cancel(b),b=!1,u.getState().then(function(e){t.password=e,"account.noPassword"==e._&&e.email_unconfirmed_pattern&&!w&&(b=n(v,5e3))})}function y(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"},crop:{_:"inputPhotoCropAuto"}}).then(function(e){a.saveApiUsers(e.users),r.getUserID().then(function(n){s.savePhoto(e.photo,{user_id:n}),p.processUpdateMessage({_:"updateShort",update:{_:"updateUserPhoto",user_id:n,date:tsNow(!0),photo:a.getUser(n).photo,previous:!0}}),t.photo={}})})})["finally"](function(){delete t.photo.updating}))}t.profile={},t.photo={},t.version=Config.App.version,r.getUserID().then(function(e){t.profile=a.getUser(e)}),r.invokeApi("users.getFullUser",{id:{_:"inputUserSelf"}}).then(function(e){a.saveApiUser(e.user),s.savePhoto(e.profile_photo,{user_id:e.user.id})}),t.notify={volume:.5},t.send={},t.$watch("photo.file",y),t.password={_:"account.noPassword"},v();var b=!1,w=!1;t.changePassword=function(n){if(n=n||{},"cancel_email"==n.action)return f.confirm({type:"PASSWORD_ABORT_SETUP"}).then(function(){u.updateSettings(t.password,{email:""}).then(v)});var a=e.$new();a.password=t.password,angular.extend(a,n);var o=i.open({scope:a,templateUrl:templateUrl("password_update_modal"),controller:"PasswordUpdateModalController",windowClass:"md_simple_modal_window mobile_modal"});o.result["finally"](v)},t.showSessions=function(){i.open({templateUrl:templateUrl("sessions_list_modal"),controller:"SessionsListModalController",windowClass:"md_simple_modal_window mobile_modal"})},t.$on("$destroy",function(){n.cancel(b),w=!0}),t.deletePhoto=function(){t.photo.updating=!0,r.invokeApi("photos.updateProfilePhoto",{id:{_:"inputPhotoEmpty"},crop:{_:"inputPhotoCropAuto"}}).then(function(e){r.getUserID().then(function(n){p.processUpdateMessage({_:"updateShort",update:{_:"updateUserPhoto",user_id:n,date:tsNow(!0),photo:e,previous:!0}}),t.photo={}})})["finally"](function(){delete t.photo.updating})},t.editProfile=function(){i.open({templateUrl:templateUrl("profile_edit_modal"),controller:"ProfileEditModalController",windowClass:"md_simple_modal_window mobile_modal"})},t.changeUsername=function(){i.open({templateUrl:templateUrl("username_edit_modal"),controller:"UsernameEditModalController",windowClass:"md_simple_modal_window mobile_modal"})},t.terminateSessions=function(){f.confirm({type:"TERMINATE_SESSIONS"}).then(function(){r.invokeApi("auth.resetAuthorizations",{})})},l.get("notify_nodesktop","send_ctrlenter","notify_volume","notify_novibrate","notify_nopreview").then(function(i){t.notify.desktop=!i[0],t.send.enter=i[1]?"":"1",t.notify.volume=i[2]!==!1?i[2]>0&&i[2]<=1?i[2]:0:.5,t.notify.canVibrate=c.getVibrateSupport(),t.notify.vibrate=!i[3],t.notify.preview=!i[4],t.notify.volumeOf4=function(){return 1+Math.ceil((t.notify.volume-.1)/.33)},t.toggleSound=function(){t.notify.volume=t.notify.volume?0:.5};var a;t.$watch("notify.volume",function(t,i){t!==i&&(l.set({notify_volume:t}),e.$broadcast("settings_changed"),c.clear(),a&&n.cancel(a),a=n(function(){c.testSound(t)},500))}),t.toggleDesktop=function(){t.notify.desktop=!t.notify.desktop,t.notify.desktop?l.remove("notify_nodesktop"):l.set({notify_nodesktop:!0}),e.$broadcast("settings_changed")},t.togglePreview=function(){t.notify.preview=!t.notify.preview,t.notify.preview?l.remove("notify_nopreview"):l.set({notify_nopreview:!0}),e.$broadcast("settings_changed")}
mid:t.mid},n),"replyKeyboardHide"!=n._&&(n.fromID=t.from_id),e.reply_markup=n,!0):!1;if(t.pFlags.out)if(i){if(i.pFlags.single_use&&!i.pFlags.hidden&&(t.mid>i.mid||t.mid<0)&&t.message)return i.pFlags.hidden=!0,!0}else(!e.maxOutID||t.mid>e.maxOutID)&&(e.maxOutID=t.mid);return t.action&&"messageActionChatDeleteUser"==t.action._&&(i?t.action.user_id==i.fromID:r.isBot(t.action.user_id))?(e.reply_markup={_:"replyKeyboardHide",mid:t.mid,flags:0,pFlags:{}},!0):!1}function V(t,n,i,a,o){var s=[],d=!n,u={peer:t,filter:i},p=d&&angular.equals(Fe,u);if(d&&!p&&(Fe=u,Re=[]),t&&!a&&!n){var m=Ce[t];if(void 0!==m&&m.history.length){var g,h,_={},v=o||20;switch(i._){case"inputMessagesFilterPhotos":_.messageMediaPhoto=!0;break;case"inputMessagesFilterVideo":_.messageMediaVideo=!0;break;case"inputMessagesFilterPhotoVideo":_.messageMediaPhoto=!0,_.messageMediaVideo=!0;break;case"inputMessagesFilterDocument":_.messageMediaDocument=!0;break;case"inputMessagesFilterAudio":_.messageMediaAudio=!0}for(g=0;g<m.history.length&&(h=ke[m.history[g]],!(h.media&&_[h.media._]&&(s.push(h.mid),s.length>=v)));g++);}if(s.length<v&&Re.length&&p)for(var y=s.length?s[s.length-1]:4294967295,g=0;g<Re.length&&!(Re[g]<y&&(s.push(Re[g]),s.length>=v));g++);}if(s.length||1e3==o)return d&&(Re=listMergeSorted(Re,s)),e.when({count:null,history:s});var b;if(t||!n){var w=0;c.isChannel(t)&&!c.isMegagroup(t)&&(w|=1),b=f.invokeApi("messages.search",{flags:w,peer:c.getInputPeerByID(t),q:n||"",filter:i||{_:"inputMessagesFilterEmpty"},min_date:0,max_date:0,limit:o||20,max_id:a||0},{timeout:300,noErrorBox:!0})}else{var k=0,$=0,S=0,C=a&&z(a);C&&C.date&&(k=C.date+je,S=C.id,$=se(C)),b=f.invokeApi("messages.searchGlobal",{q:n,offset_date:k,offset_peer:c.getInputPeerByID($),offset_id:R(S),limit:o||20},{timeout:300,noErrorBox:!0})}return b.then(function(e){r.saveApiUsers(e.users),l.saveApiChats(e.chats),X(e.messages);var t=e.count||e.messages.length;return s=[],angular.forEach(e.messages,function(e){var t=se(e);if(0>t){var n=l.getChat(-t);n.migrated_to&&L(t,-n.migrated_to.channel_id)}s.push(e.mid)}),d&&(Re=listMergeSorted(Re,s)),{count:t,history:s}},function(t){return 400==t.code&&(t.handled=!0),e.reject(t)})}function z(e){return ke[e]||{deleted:!0}}function W(t){var n=N(t),i=[];return angular.forEach(n.msgIDs,function(e,t){var a;if(t>0){var o=l.getChat(t);if(!(o.pFlags.creator||o.pFlags.editor&&o.pFlags.megagroup)){var r=[];if((o.pFlags.editor||o.pFlags.megagroup)&&angular.forEach(e,function(e,i){var a=z(n.mids[t][i]);a.pFlags.out&&r.push(e)}),!r.length)return;e=r}a=f.invokeApi("channels.deleteMessages",{channel:l.getChannelInput(t),id:e}).then(function(n){s.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteChannelMessages",channel_id:t,messages:e,pts:n.pts,pts_count:n.pts_count}})})}else a=f.invokeApi("messages.deleteMessages",{id:e}).then(function(t){s.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteMessages",messages:e,pts:t.pts,pts_count:t.pts_count}})});i.push(a)}),e.all(i)}function G(e){var n=c.isChannel(e),i=Ce[e],a=x(e)[0];if(!a||!a.unread_count){if(!i||!i.history.length)return!1;var o,r,d=!1;for(p=i.history.length;p>=0;p--)if(o=i.history[p],r=ke[o],r&&!r.pFlags.out&&r.pFlags.unread){d=!0;break}if(!d)return!1}if(i.readPromise)return i.readPromise;var u;if(u=n?f.invokeApi("channels.readHistory",{channel:l.getChannelInput(-e),max_id:0}):f.invokeApi("messages.readHistory",{peer:c.getInputPeerByID(e),max_id:0}).then(function(e){s.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:e.pts,pts_count:e.pts_count}})}),i.readPromise=u.then(function(){a&&(a.unread_count=0,t.$broadcast("dialog_unread",{peerID:e,count:0}),t.$broadcast("messages_read"),i&&i.history.length&&(a.read_inbox_max_id=i.history[0]))})["finally"](function(){delete i.readPromise}),i&&i.history.length){var o,r,p,e,a;for(p=0;p<i.history.length;p++)o=i.history[p],r=ke[o],r&&!r.pFlags.out&&(r.pFlags.unread=!1,$e[o]&&($e[o].pFlags.unread=!1),Se[o]&&(Se[o].pFlags.unread=!1),y.cancel("msg"+o))}return y.soundReset(c.getPeerString(e)),i.readPromise}function K(e){f.invokeApi("messages.readMessa
e.put("partials/desktop/changelog_modal.html",'<div class="changelog_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 </div>\n <div class="md_modal_title" my-i18n="head_about"></div>\n </div>\n\n <div class="peer_modal_profile_wrap clearfix">\n <div class="peer_modal_photo_wrap pull-left">\n <div class="peer_modal_photo telegram_modal_logo"></div>\n </div>\n <div class="peer_modal_profile">\n <div class="peer_modal_profile_name">Telegram Web</div>\n <div class="peer_modal_profile_description">Version {{currentVersion}}</div>\n </div>\n </div>\n </div>\n\n <div class="md_modal_split_actions_wrap">\n <div class="md_modal_split_actions">\n <a href="https://twitter.com/telegram_web" target="_blank" class="md_modal_split_action">\n <i class="md_modal_split_action_twitter"></i>\n </a>\n </div>\n </div>\n\n <div class="md_modal_body">\n\n <div class="md_modal_sections">\n\n <div class="md_modal_versioned_section_wrap" ng-if="canShowVersion(\'0.5.2\')">\n <div class="md_modal_section_version">0.5.2</div>\n <div class="md_modal_section_description changelog_version_changes">\n <ul class="list-unstyled changelog_version_changes_list">\n <li>Unread counters for muted chats now colored in gray.</li>\n <li>Improved previews for sticker sets: Click on a sticker to view the whole set, click on stickers in a set to send right away, added a \'Share\' button.</li>\n <li>Improved performance.</li>\n </ul>\n </div>\n </div>\n\n <div class="md_modal_versioned_section_wrap" ng-if="canShowVersion(\'0.5.1\')">\n <div class="md_modal_section_version">0.5.1</div>\n <div class="md_modal_section_description changelog_version_changes">\n <ul class="list-unstyled changelog_version_changes_list">\n <li>Groups that have reached their capacity of 200 users can be upgraded to supergroups of up to 1,000 members.</li>\n <li>Check out the <a href="https://telegram.org/blog/supergroups" target="_blank">Telegram Blog</a> for more info</li>\n </ul>\n </div>\n </div>\n\n <div class="md_modal_versioned_section_wrap" ng-if="canShowVersion(\'0.5.0\')">\n <div class="md_modal_section_version">0.5.0</div>\n <div class="md_modal_section_description changelog_version_changes">\n <ul class="list-unstyled changelog_version_changes_list">\n <li>Removed annoying "multiple tabs open" error.</li>\n <li>Improved message forwarding.</li>\n <li>Added view counter to messages from channels.</li>\n <li>Improved image loading in Safari and Firefox.</li>\n </ul>\n </div>\n </div>\n\n <div class="md_modal_versioned_section_wrap" ng-if="canShowVersion(\'0.4.9\')">\n <div class="md_modal_section_version">0.4.9</div>\n <div class="md_modal_section_description changelog_version_changes">\n <ul class="list-unstyled changelog_version_changes_list">\n <li>New emoji and sticker menu, tabs for sticker packs.</li>\n </ul>\n </div>\n </div>\n\n <div class="md_modal_versioned_section_wrap" ng-if="canShowVersion(\'0.4.8\')">\n <div class="md_modal_section_version">0.4.8</div>\n <div class="md_modal_section_description changelog_version_changes">\n <ul class="list-unstyled changelog_version_changes_list">\n <li>Introducing Channels – a great new way to broadcast your messages to unlimited audiences.</li>\n <li>Check out the <a href="https://telegram.org/blog/channels" target="_blank">Telegram Blog</a> for more info</li>\n <li>Improved performance in Safari on OS X El Capitan.</li>\n <li>Added formatting for fix
e.put("partials/desktop/composer_dropdown.html",'<div ng-switch="type">\n\n <ul ng-switch-when="mentions" class="composer_dropdown">\n <li ng-repeat="user in mentionUsers">\n <a class="composer_mention_option" data-mention="{{user.username}}">\n <span class="composer_user_photo" my-peer-photolink="user.id" img-class="composer_user_photo"></span>\n <span class="composer_user_name" ng-bind-html="user.rFullName"></span>\n <span class="composer_user_mention" ng-bind="\'@\' + user.username"></span>\n </a>\n </li>\n </ul>\n\n <ul ng-switch-when="commands" class="composer_dropdown">\n <li ng-repeat="command in commands track by (command.botID + command.value)">\n <a class="composer_command_option" data-command="{{command.value}}">\n <span class="composer_user_photo" my-peer-photolink="command.botID" img-class="composer_user_photo"></span>\n <span class="composer_command_value" ng-bind="command.value"></span>\n <span class="composer_command_desc" ng-bind-html="command.rDescription"></span>\n </a>\n </li>\n </ul>\n\n <ul ng-switch-when="emoji" my-emoji-suggestions="emojiCodes" class="composer_dropdown"></ul>\n\n <div ng-switch-when="inline" my-inline-results="botResults"></div>\n\n</div>'),e.put("partials/desktop/confirm_modal.html",'<div class="confirm_modal_wrap md_simple_modal_wrap" my-modal-position>\n\n <div class="md_simple_modal_body">\n\n <div class="confirm_modal_description" ng-switch="type">\n <span ng-switch-when="LOGOUT" my-i18n="confirm_modal_logout"></span>\n <span ng-switch-when="WEBOGRAM_UPDATED_RELOAD" my-i18n="confirm_modal_update_reload"></span>\n <span ng-switch-when="HISTORY_FLUSH" my-i18n="confirm_modal_history_flush"></span>\n <span ng-switch-when="TERMINATE_SESSIONS" my-i18n="confirm_modal_terminate_sessions"></span>\n <span ng-switch-when="TERMINATE_SESSION" my-i18n="confirm_modal_terminate_session"></span>\n\n <span ng-switch-when="FILES_CLIPBOARD_PASTE">\n <ng-pluralize count="files.length"\n when="confirm_modal_clipboard_X_files_send">\n </ng-pluralize>\n </span>\n <span ng-switch-when="FILE_CLIPBOARD_PASTE" my-i18n="confirm_modal_clipboard_file_send"></span>\n <span ng-switch-when="MESSAGE_DELETE" my-i18n="confirm_modal_message_delete"></span>\n <span ng-switch-when="MESSAGES_DELETE">\n <ng-pluralize count="count"\n when="confirm_modal_X_messages_delete">\n </ng-pluralize>\n </span>\n <span ng-switch-when="PHOTO_DELETE" my-i18n="confirm_modal_photo_delete"></span>\n <span ng-switch-when="CONTACTS_IMPORT_PERFORM" my-i18n="confirm_modal_contacts_import"></span>\n <div ng-switch-when="LOGIN_PHONE_CORRECT">\n <my-i18n msgid="confirm_modal_login_phone_correct"></my-i18n>\n <div class="confirm_phone_number">\n <span ng-bind="country_code"></span> <span ng-bind="phone_number"></span>\n </div>\n </div>\n <my-i18n>\n <span ng-switch-when="FORWARD_PEER" my-i18n-format="confirm_modal_forward_to_peer"></span>\n <span ng-switch-when="SHARE_CONTACT_PEER" my-i18n-format="confirm_modal_send_to_peer"></span>\n <span ng-switch-when="SHARE_URL" my-i18n-format="confirm_modal_send_to_peer"></span>\n <span ng-switch-when="EXT_SHARE_PEER" my-i18n-format="confirm_modal_share_file_peer"></span>\n <span ng-switch-when="INVITE_TO_GROUP" my-i18n-format="confirm_modal_invite_peer"></span>\n <my-i18n-param name="peer">\n <strong my-peer-link="peer_id"></strong>\n </my-i18n-param>\n </my-i18n>\n <div ng-switch-when="APPLY_LANG_WITH_RELOAD" my-i18n="confirm_modal_apply_lang_with_reload_md"></div>\n <div ng-switch-when="MIGRATE_TO_HTTPS" my-i18n="confirm_modal_migrate_to_https_md"></div>\n <div ng-switch-when="SWITCH_DESKTOP_VERSION" my-i18n="confirm_modal_resize_desktop_md"></div>\n <div ng-switch-when="SWITCH_MOBILE_VERSION" my-i18n="confirm_modal_resize_mobile_md"></div>\n <div ng-swit
e.put("partials/desktop/forwarded_messages.html",'<div class="im_message_reply clearfix" ng-class="{im_message_reply_thumbed: thumb !== false}">\n <div class="im_message_reply_border"></div>\n <div class="im_message_reply_thumb_wrap pull-left" ng-if="thumb !== false">\n <img\n class="im_message_reply_thumb"\n my-load-thumb\n thumb="thumb"\n watch="true"\n />\n </div>\n <div class="im_message_reply_author">\n <span my-peer-link="fromID" peer-watch="true"></span>\n </div>\n <div class="im_message_reply_body" ng-switch="singleMessage !== false">\n <div ng-switch-when="true">\n <span class="im_reply_message_media" ng-if="singleMessage.media" ng-switch="singleMessage.media._">\n <span ng-switch-when="messageMediaPhoto" my-i18n="conversation_media_photo"></span>\n <span ng-switch-when="messageMediaVideo" my-i18n="conversation_media_video"></span>\n <span ng-switch-when="messageMediaDocument" ng-switch="::singleMessage.media.document.sticker || false">\n <span ng-switch-when="1" my-i18n="conversation_media_sticker"></span>\n <span ng-switch-when="2">\n <span ng-bind-html="singleMessage.media.document.stickerEmoji"></span>\n (<my-i18n msgid="conversation_media_sticker"></my-i18n>)\n </span>\n <span ng-switch-default ng-bind="singleMessage.media.document.file_name"></span>\n </span>\n <span ng-switch-when="messageMediaAudio" my-i18n="conversation_media_audio"></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>\n\n <span class="im_reply_message_service" ng-if="singleMessage._ == \'messageService\'" my-service-short-message="singleMessage"></span>\n\n <span class="im_reply_message_text" ng-if="singleMessage.message.length" ng-bind-html="singleMessage.richMessage"></span>\n </div>\n <div ng-switch-default>\n <span class="im_reply_message_service">\n <ng-pluralize count="count"\n when="im_X_forwarded_messages">\n </ng-pluralize>\n </span>\n </div>\n </div>\n</div>'),e.put("partials/desktop/full_document.html",'<div class="document_modal_image_wrap">\n <div class="img_fullsize_with_progress_wrap document_fullsize_with_progress_wrap" ng-style="{width: frameWidth + \'px\', height: frameHeight + \'px\'}">\n <div class="img_fullsize_progress_overlay">\n <div class="img_fullsize_progress_wrap" ng-style="{width: frameWidth + \'px\', height: frameHeight + \'px\'}">\n <div class="img_fullsize_progress progress tg_progress">\n <div class="progress-bar progress-bar-success" style="width: {{document.progress.percent}}%"></div>\n </div>\n </div>\n </div>\n <div class="img_fullsize_wrap" ng-if="thumbSrc.length > 0">\n <img\n class="img_fullsize"\n ng-src="{{thumbSrc}}"\n ng-style="{width: imageWidth + \'px\', height: imageHeight + \'px\'}"\n />\n </div>\n </div>\n <div class="document_fullsize_wrap" ng-click="toggleZoom(!zoomed)">\n <img class="document_fullsize_img" />\n </div>\n</div>'),e.put("partials/desktop/full_gif.html",'<a class="img_gif_with_progress_wrap" ng-click="toggle($event)">\n\n <div class="img_gif_image_wrap">\n\n <div class="img_gif_meta" ng-show="!isActive" ng-switch="document.progress.enabled">\n <div ng-switch-when="true" class="img_gif_meta_contents">\n <i class="icon icon-cancel">\n <i class="icon icon-bar"></i>\n <i class="icon icon-bar"></i>\n </i>\n <div my-arc-progress="document.progress.percent"></div>\n </div>\n <div ng-switch-default class="img_gif_label noselect img_gif_meta_contents">GIF</div>\n </div>\n\n <div ng-if="document.url" ng-show="document.downloaded &amp;&amp; isActive" ng-switch="document.mime_type == \'vide
e.put("partials/desktop/lang_footer.html",'<div class="footer_wrap" ng-controller="AppLangSelectController">\n <span ng-repeat="locale in ::supportedLocales">\n <a class="footer_lang_link" ng-class="{active: curLocale == locale, disabled: curLocale == locale}" ng-disabled="curLocale == locale" ng-click="localeSelect(locale)" ng-bind="langNames[locale]"></a>\n <span ng-if="!$last" class="footer_link_divider"></span>\n </span>\n</div>'),e.put("partials/desktop/login.html",'<div class="login_page_wrap" my-custom-background="#e7ebf0">\n <div class="login_head_bg"></div>\n <div class="login_page">\n <div class="login_head_wrap clearfix" ng-switch="progress.enabled">\n <div ng-switch-when="true" class="login_head_submit_progress">\n <my-i18n ng-if="!credentials.phone_code_hash" msgid="login_generating_key"></my-i18n><my-i18n ng-if="credentials.phone_code_hash &amp;&amp; !credentials.phone_code_valid" msgid="login_checking_code"></my-i18n><my-i18n ng-if="credentials.phone_code_valid &amp;&amp; credentials.phone_unoccupied" msgid="login_signing_up"></my-i18n><my-i18n ng-if="credentials.phone_code_valid &amp;&amp; credentials.password_needed" msgid="login_checking_password"></my-i18n><span my-loading-dots></span>\n </div>\n <div ng-switch-default class="login_head_submit_wrap">\n <a class="login_head_submit_btn" ng-if="!credentials.phone_code_hash" ng-click="sendCode()">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n <a class="login_head_submit_btn" ng-if="credentials.phone_code_hash &amp;&amp; !credentials.phone_code_valid" ng-click="logIn()">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n <a class="login_head_submit_btn" ng-if="credentials.phone_code_valid &amp;&amp; credentials.phone_unoccupied" ng-click="logIn(true)">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n <a class="login_head_submit_btn" ng-if="credentials.phone_code_valid &amp;&amp; credentials.password_needed" ng-click="checkPassword()">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n </div>\n <a class="login_head_logo_link" href="https://telegram.org" target="_blank">\n <i class="icon icon-tg-logo"></i><i class="icon icon-tg-title"></i>\n </a>\n </div>\n\n <div class="login_form_wrap">\n <div class="error" ng-if="error.message" ng-bind="error.message"></div>\n\n <form name="mySendCodeForm" ng-if="!credentials.phone_code_hash" ng-submit="sendCode()">\n <h3 class="login_form_head" my-i18n="login_sign_in"></h3>\n <p class="login_form_lead" my-i18n="login_enter_number_description"></p>\n\n <div class="md-input-group md-input-has-value login_phone_country_input_group" ng-click="chooseCountry()">\n <label class="md-input-label" my-i18n="login_country_select_placeholder"></label>\n <div autocomplete="off" class="md-input"ng-bind="credentials.phone_country_name"></div>\n </div>\n\n <div class="login_phone_groups_wrap clearfix">\n\n <div class="md-input-group login_phone_code_input_group" ng-class="{\'md-input-error\': error.field == \'phone\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="login_code_input_placeholder"></label>\n <input autocomplete="off" class="md-input" my-focused name="phone_country" type="tel" ng-model="credentials.phone_country" />\n </div>\n\n <div class="md-input-group login_phone_num_input_group" ng-class="{\'md-input-error\': error.field == \'phone\'}" my-labeled-input ng-switch="error.field == \'phone\'">\n <label ng-switch-when="true" class="md-input-label" my-i18n="login_incorrect_number"></label>\n <label ng-switch-default class="md-input-label" my-i18n="login_tel_input_placeholder"></label>\n <input required autocomplete="off" my-submit-on-enter class="md-input" my-focus-on="countr
e.put("partials/desktop/password_update_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="updatePassword()">\n\n <h4 ng-switch="action">\n <my-i18n ng-switch-when="disable" msgid="password_delete_title"></my-i18n>\n <my-i18n ng-switch-default msgid="password_change_title"></my-i18n>\n </h4>\n\n <div ng-if="password._ != \'account.noPassword\'" class="md-input-group" ng-class="{\'md-input-error\': passwordSettings.error_field == \'cur_password\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="password_current_placeholder"></label>\n <input class="md-input" my-focused type="password" ng-model="passwordSettings.cur_password" name="cur_password" my-focus-on="cur_password_focus" />\n </div>\n\n <div ng-if="action != \'disable\'" class="md-input-group md-input-grouped" ng-class="{\'md-input-error\': passwordSettings.error_field == \'new_password\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="password_new_placeholder"></label>\n <input class="md-input" type="password" ng-model="passwordSettings.new_password" name="new_password" my-focus-on="new_password_focus" />\n </div>\n\n <div ng-if="action != \'disable\'" class="md-input-group" ng-class="{\'md-input-error\': passwordSettings.confirm_password && passwordSettings.new_password && passwordSettings.confirm_password != passwordSettings.new_password}" my-labeled-input>\n <label class="md-input-label" my-i18n="password_confirm_placeholder"></label>\n <input class="md-input" type="password" ng-model="passwordSettings.confirm_password" name="confirm_password" my-focus-on="confirm_password_focus" />\n </div>\n\n <div ng-if="action != \'disable\'" class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="password_hint_placeholder"></label>\n <input class="md-input" type="text" ng-model="passwordSettings.hint" name="hint" />\n </div>\n\n <div ng-if="action != \'disable\'" class="md_simple_form_description" my-i18n="password_create_description"></div>\n\n <div ng-if="action != \'disable\'" class="md-input-group" ng-class="{\'md-input-error\': passwordSettings.error_field == \'email\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="password_email_placeholder"></label>\n <input class="md-input" type="text" ng-model="passwordSettings.email" name="email" />\n </div>\n\n\n </form>\n\n </div>\n\n <div class="md_simple_modal_footer">\n\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: passwordSettings.updating}" ng-click="updatePassword()" ng-disabled="passwordSettings.updating" ng-switch="action">\n <span ng-switch-when="disable" ng-bind="passwordSettings.updating ? \'password_delete_active\' : \'password_delete_submit\' | i18n"></span>\n <span ng-switch-default ng-bind="passwordSettings.updating ? \'password_create_active\' : \'password_create_submit\' | i18n"></span>\n </button>\n\n </div>\n\n</div>'),e.put("partials/desktop/peer_select.html",'<div class="peer_select_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="conversations_modal_forward_title"></div>\n </div>\n\n <div class="md_modal_body">\n\n <div class="im_dialogs_modal_col_wrap" ng-controller="AppImDialogsController" my-dialogs ng-class="search.query.length > 0 ? \'im_dialogs_col_search\' : \'\'">\n <div class="im_dialogs_panel">\n <div class="im_dialogs_search">\n <input my-focused class="form-control im_dialogs_search_field no_outline" type="search" placeh
e.put("partials/desktop/username_edit_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="updateUsername()">\n\n <h4 my-i18n="username_edit_modal_title"></h4>\n\n <div class="md-input-group" ng-class="{\'md-input-error\': checked.error}" my-labeled-input>\n <label class="md-input-label" my-i18n="username_edit_placeholder"></label>\n <input class="md-input" my-focused type="text" ng-model="profile.username" name="username" ng-model-options="{updateOn: \'default blur\', debounce: {default: 600, blur: 0}}" />\n </div>\n\n <div class="md_simple_form_description" my-i18n="username_edit_description_md"></div>\n\n </form>\n\n </div>\n\n <div class="md_simple_modal_footer">\n\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: profile.updating}" ng-click="updateUsername()" ng-bind="profile.updating ? \'username_edit_submit_active\' : \'username_edit_submit\' | i18n" ng-disabled="profile.updating"></button>\n\n </div>\n\n</div>'),e.put("partials/desktop/video_modal.html",'<div class="modal_close_wrap" ng-class="{modal_close_wrap_wnext: nav.hasNext}" ng-click="$close()">\n <div class="modal_close"></div>\n</div>\n\n<div class="media_modal_bottom_panel_wrap">\n <div class="media_modal_bottom_panel">\n <div class="media_modal_bottom_actions pull-right">\n <a class="media_modal_action_btn" ng-click="download()" title="{{\'media_modal_download\' | i18n}}">\n <i class="media_modal_action_btn_download"></i>\n </a>\n <a class="media_modal_action_btn" ng-if="messageID" ng-click="forward()" title="{{\'media_modal_forward\' | i18n}}">\n <i class="media_modal_action_btn_forward"></i>\n </a>\n <a class="media_modal_action_btn" ng-if="messageID" ng-click="delete()" title="{{\'media_modal_delete\' | i18n}}">\n <i class="media_modal_action_btn_delete"></i>\n </a>\n </div>\n\n <div class="media_modal_info_wrap pull-left" ng-if="video.user_id > 0" ng-switch="messageID > 0">\n <a class="media_modal_author_photo pull-left" my-peer-photolink="video.user_id" img-class="media_modal_author_photo" watch="true"></a>\n <div class="media_modal_author_name">\n <a class="media_modal_author" my-peer-link="video.user_id" peer-watch="true"></a>\n </div>\n <div class="media_modal_date" ng-if="video.date > 0">\n <a ng-switch-when="true" class="media_modal_date" ng-click="goToMessage()" ng-bind="video.date | dateOrTime :true"></a>\n <span ng-switch-default ng-bind="video.date | dateOrTime :true"></span>\n </div>\n </div>\n\n <div class="media_modal_title_wrap" my-i18n="media_modal_video"></div>\n </div>\n</div>\n\n<div class="modal-dialog">\n <div class="modal-content">\n <div my-modal-width="{{video.full.width - 32}}" class="media_modal_wrap video_modal_wrap" my-modal-position animation="no">\n\n <div class="modal-body">\n <div class="video_modal_image_wrap" my-load-video video="video"></div>\n\n </div>\n\n </div>\n </div>\n</div>'),e.put("partials/desktop/welcome.html",""),e.put("partials/mobile/audio_player.html",'<div class="audio_player_wrap clearfix">\n <a class="im_message_file_button" ng-click="togglePlay()" ng-class="{im_message_file_button_dl_audio: audio.downloaded}">\n <i class="im_message_file_button_icon" ng-class="{audio_player_btn_icon_pause: mediaPlayer.player.playing}"></i>\n </a>\n <div class="audio_player_title_wrap">\n <div class="audio_player_meta pull-right" ng-if="audio.downloaded &amp;&amp; (mediaPlayer.player.duration || audio.duration)" ng-switch="mediaPlayer.player.playing || mediaPlayer.player.currentTime > 0">\n <span ng-switch-when="true" class="audio_player_duration" ng-bind="mediaPlayer.player.currentTime | durationRemains : (mediaPlayer.player.duration || audio.duration)"></span>\n <span ng-switch-default class="audio_player_duration" ng-bind=
e.put("partials/mobile/chat_create_modal.html",'<div class="contacts_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">\n <a ng-class="{disabled: group.creating}" ng-click="createGroup()" ng-bind="group.creating ? \'group_create_submit_active\' : \'group_create_submit\' | i18n" ng-disabled="group.creating"></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 my-i18n="group_create_modal_title"></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 <form class="modal_simple_form" ng-submit="createGroup()" my-vertical-position="0.25">\n\n <div class="form-group">\n <input class="form-control input-lg" my-focused type="text" placeholder="{{\'group_create_name\' | i18n}}" ng-model="group.name"/>\n </div>\n\n </form>\n\n </div>\n\n</div>'),e.put("partials/mobile/chat_edit_modal.html",'<div class="contacts_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">\n <a ng-class="{disabled: group.updating}" ng-click="updateGroup()" ng-bind="group.updating ? \'group_edit_submit_active\' : \'group_edit_submit\' | i18n" ng-disabled="group.updating"></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 my-i18n="group_edit_modal_title"></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 <form class="modal_simple_form" ng-submit="updateGroup()" my-vertical-position="0.25">\n\n <div class="form-group">\n <input class="form-control input-lg" my-focused type="text" placeholder="{{\'group_edit_name\' | i18n}}" ng-model="group.name"/>\n </div>\n\n </form>\n\n </div>\n\n</div>'),e.put("partials/mobile/chat_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>\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="chatFull.thumb.location" ng-if="hasRights(\'edit_title\')">\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="editTitle()" my-i18n="group_modal_menu_edit_group"></a>\n </li>\n <li>\n <a ng-click="flushHistory()" my-i18n="group_modal_menu_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="group_modal_info"></h4>\n </div>\n </a>\n </li>\n
e.put("partials/mobile/import_contact_modal.html",'<div class="import_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">\n <a 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"></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 my-i18n="contact_import_modal_title"></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 <form class="modal_simple_form" ng-submit="doImport()" my-vertical-position="0.2">\n\n <div class="form-group">\n <input class="form-control input-lg" my-focused type="text" placeholder="{{\'contact_import_modal_phone\' | i18n}}" ng-model="importContact.phone" my-submit-on-enter/>\n </div>\n <div class="form-group">\n <input class="form-control input-lg" type="text" placeholder="{{\'contact_edit_modal_first_name\' | i18n}}" ng-model="importContact.first_name" my-submit-on-enter/>\n </div>\n <div class="form-group">\n <input class="form-control input-lg" type="text" placeholder="{{\'contact_edit_modal_last_name\' | i18n}}" ng-model="importContact.last_name" my-submit-on-enter/>\n </div>\n\n <div class="import_modal_phonebook_wrap" ng-if="phonebookAvailable">\n <a class="btn btn-link" ng-click="importPhonebook()" my-i18n="contact_import_modal_phonebook"></a>\n </div>\n\n </form>\n\n </div>\n</div>'),e.put("partials/mobile/login.html",'<div class="tg_page_head">\n <div class="navbar navbar-static-top navbar-inverse navbar_peer_not_selected">\n <div class="container">\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li class="navbar-quick-right login_head_submit_wrap">\n <a class="disabled" disabled="disabled" ng-if="progress.enabled" class="login_head_submit_progress">\n <my-i18n ng-if="!credentials.phone_code_hash" msgid="login_generating_key"></my-i18n><my-i18n ng-if="credentials.phone_code_hash &amp;&amp; !credentials.phone_code_valid" msgid="login_checking_code"></my-i18n><my-i18n ng-if="credentials.phone_code_valid &amp;&amp; credentials.phone_unoccupied" msgid="login_signing_up"></my-i18n><my-i18n ng-if="credentials.phone_code_valid &amp;&amp; credentials.password_needed" msgid="login_checking_password"></my-i18n><span my-loading-dots></span>\n </a>\n <a ng-if="!progress.enabled &amp;&amp; !credentials.phone_code_hash" ng-click="sendCode()">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n <a ng-if="!progress.enabled &amp;&amp; credentials.phone_code_hash &amp;&amp; !credentials.phone_code_valid" ng-click="logIn()">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n <a ng-if="!progress.enabled &amp;&amp; credentials.phone_code_valid &amp;&amp; credentials.phone_unoccupied" ng-click="logIn(true)">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n <a ng-if="!progress.enabled &amp;&amp; credentials.phone_code_valid &amp;&amp; credentials.password_needed" ng-click="checkPassword()">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n </li>\n <li>\n <a class="navbar-brand tg_logo_wrap" href="https://telegram.org" target="_blank"><i c
e.put("partials/mobile/password_update_modal.html",'<div class="username_edit_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">\n <a ng-class="{disabled: passwordSettings.updating}" ng-click="updatePassword()" ng-disabled="passwordSettings.updating" ng-switch="action">\n <span ng-switch-when="disable" ng-bind="passwordSettings.updating ? \'password_delete_active\' : \'password_delete_submit\' | i18n"></span>\n <span ng-switch-default ng-bind="passwordSettings.updating ? \'password_create_active\' : \'password_create_submit\' | i18n"></span>\n </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="action">\n <my-i18n ng-switch-when="disable" msgid="password_delete_title"></my-i18n>\n <my-i18n ng-switch-default msgid="password_change_title"></my-i18n>\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 <form class="modal_simple_form" ng-submit="updatePassword()" my-vertical-position="0.3">\n\n <div ng-if="password._ != \'account.noPassword\'" class="md-input-group" ng-class="{\'md-input-error\': passwordSettings.error_field == \'cur_password\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="password_current_placeholder"></label>\n <input class="md-input" my-focused type="password" ng-model="passwordSettings.cur_password" name="cur_password" my-focus-on="cur_password_focus" />\n </div>\n\n <div ng-if="action != \'disable\'" class="md-input-group md-input-grouped" ng-class="{\'md-input-error\': passwordSettings.error_field == \'new_password\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="password_new_placeholder"></label>\n <input class="md-input" type="password" ng-model="passwordSettings.new_password" name="new_password" my-focus-on="new_password_focus" />\n </div>\n\n <div ng-if="action != \'disable\'" class="md-input-group" ng-class="{\'md-input-error\': passwordSettings.confirm_password && passwordSettings.new_password && passwordSettings.confirm_password != passwordSettings.new_password}" my-labeled-input>\n <label class="md-input-label" my-i18n="password_confirm_placeholder"></label>\n <input class="md-input" type="password" ng-model="passwordSettings.confirm_password" name="confirm_password" my-focus-on="confirm_password_focus" />\n </div>\n\n <div ng-if="action != \'disable\'" class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="password_hint_placeholder"></label>\n <input class="md-input" type="text" ng-model="passwordSettings.hint" name="hint" />\n </div>\n\n <div ng-if="action != \'disable\'" class="md_simple_form_description" my-i18n="password_create_description"></div>\n\n <div ng-if="action != \'disable\'" class="md-input-group" ng-class="{\'md-input-error\': passwordSettings.error_field == \'email\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="password_email_placeholder"></label>\n <input class="md-input" type="text" ng-model="passwordSettings.email" name="email" />\n </div>\n\n </form>\n\n </div>\n\n</div>'),e.put("partials/mobile/peer_select.html",'<div class="peer_select_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 <a class="navbar-search-wrap" ng-click="toggleSearch()">\n <i class="icon-search"></i>\n </a>\n\n
e.put("partials/mobile/username_edit_modal.html",'<div class="username_edit_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">\n <a ng-class="{disabled: profile.updating}" ng-click="updateUsername()" ng-bind="profile.updating ? \'username_edit_submit_active\' : \'username_edit_submit\' | i18n" ng-disabled="profile.updating"></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 my-i18n="username_edit_modal_title"></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 <form class="modal_simple_form" ng-submit="updateUsername()" my-vertical-position="0.3">\n\n <div class="form-group import_modal_field_wrap" ng-class="{\'has-error\': checked.error, \'has-feedback\': checked.feedback.length > 0}">\n <input class="form-control input-md" my-focused type="text" placeholder="{{\'username_edit_placeholder\' | i18n}}" ng-model="profile.username" name="username" ng-model-options="{updateOn: \'default blur\', debounce: {default: 600, blur: 0}}"/>\n <span ng-if="checked.error" class="glyphicon form-control-feedback" ng-class="{\'glyphicon-remove\': checked.error}"></span>\n </div>\n\n <div class="modal_simple_form_description" my-i18n="username_edit_description_md"></div>\n\n </form>\n\n </div>\n\n</div>'),e.put("partials/mobile/video_modal.html",'<div class="media_modal_bottom_panel_wrap">\n <div class="media_modal_bottom_panel">\n <div class="media_modal_bottom_actions pull-right">\n <a class="media_modal_action_btn" ng-if="messageID" ng-click="delete()" title="{{\'media_modal_delete\' | i18n}}">\n <i class="media_modal_action_btn_delete"></i>\n </a>\n </div>\n\n <div class="media_modal_bottom_actions pull-left">\n <a class="media_modal_action_btn" ng-if="messageID" ng-click="forward()" title="{{\'media_modal_forward\' | i18n}}">\n <i class="media_modal_action_btn_forward"></i>\n </a>\n </div>\n\n <div class="media_modal_info_wrap" ng-if="video.user_id > 0">\n <a class="media_modal_author" my-peer-link="video.user_id" peer-watch="true"></a>\n <br/>\n <span class="media_modal_date" ng-bind="video.date | dateOrTime :true"></span>\n </div>\n\n </div>\n</div>\n\n<div class="media_modal_top_panel_wrap">\n <div class="media_modal_top_panel">\n <div class="media_modal_top_actions pull-right">\n <a class="media_modal_action_btn" ng-click="download()" title="{{\'media_modal_download\' | i18n}}">\n <i class="media_modal_action_btn_download"></i>\n </a>\n </div>\n <div class="media_modal_top_actions pull-left">\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 class="media_modal_title_wrap" my-i18n="media_modal_video"></h4>\n </div>\n </a>\n </div>\n </div>\n</div>\n\n<div class="modal-dialog">\n <div class="modal-content">\n <div my-modal-width="{{video.full.width}}" class="media_modal_wrap video_modal_wrap" my-vertical-position="0.5">\n\n <div class="modal-body">\n\n <div class="video_modal_image_wrap" my-load-video video="video"></div>\n\n </div>\n\n </div>\n </div>\n</div>\n\n'),e.put("partials/mobile/welcome.html","")}]),function(e,t,n,i){function a(e){ConfigStorage.get("emojis_popular",function(t){var n=[];if(t&&t.length){for(var i=0,a=t.length;a>i;i++)n.push({code:t[i][0],rate:t[i][1]});return void e(n)}ConfigStorage.get("emojis_recent",function(t){t=t||y||[];for(var i,a,o=0,s=t.length;s>o;o++)i=t[o],
this.scrollable.animate({scrollTop:e},t,function(){delete i.isAnimatedScroll,i.useNano&&$(i.scroller).nanoScroller({flash:!0}),i.scrollable.trigger("scroll"),n&&n()})}else this.scrollable[0].scrollTop=e,this.useNano&&$(this.scroller).nanoScroller({flash:!0}),n&&n()},Scroller.prototype.scrollToNode=function(e){e=e[0]||e;var t=e.offsetTop-15,n=e.offsetHeight+30,i=this.scrollable[0].scrollTop,a=this.scrollable[0].clientHeight;i>t?this.scrollTo(t):t+n-a>i&&this.scrollTo(t+n-a)},angular.module("myApp.directives",["myApp.filters"]).constant("shouldFocusOnInteraction",!Config.Navigator.mobile).directive("myHead",function(){return{restrict:"AE",templateUrl:templateUrl("head")}}).directive("myLangFooter",function(){return{restrict:"AE",templateUrl:templateUrl("lang_footer")}}).directive("myFooter",function(){return{restrict:"AE",templateUrl:templateUrl("footer")}}).directive("myDialog",function(){return{restrict:"AE",templateUrl:templateUrl("dialog")}}).directive("myMessage",["$filter","_",function(e,t){function n(e,t,n){var u,p,m=!1,g=!1,h=!1,f=!1,_=!1,v=!1,y=!1,b=function(){m!=(e.selectedMsgs[e.historyMessage.mid]||!1)&&(m=!m,t.toggleClass(s,m))},w=function(){g!=e.historyMessage.grouped&&(g&&t.removeClass(g),g=e.historyMessage.grouped,g&&t.addClass(g)),v!=(e.historyMessage.needDate||!1)&&(v=!v,v?u?u.show():(u=$(a),$(u[0].firstChild).text(i(e.historyMessage.date)),p?u.insertBefore(p):u.prependTo(t)):u.hide())};b(),w(),e.$on("messages_select",b),e.$on("messages_regroup",w),e.$on("messages_focus",function(n,i){i==e.historyMessage.mid!=h&&(h=!h,t.toggleClass(r,h))});var k;if(!e.historyMessage.pFlags.out&&(e.historyMessage.pFlags.unread||e.historyMessage.unreadAfter)){var S=function(){e.peerHistory.peerID==e.historyPeer.id&&y!=(e.historyUnreadAfter==e.historyMessage.mid)&&(y=!y,y?p?p.show():p=$(o).prependTo(t):(p.hide(),k&&k()))};S(),k=e.$on("messages_unread_after",S)}if(e.historyMessage.pFlags.unread&&e.historyMessage.pFlags.out){t.addClass(l);var C=e.$on("messages_read",function(){e.historyMessage.pFlags.unread||(t.removeClass(l),C(),k&&!y&&k())})}if(e.historyMessage.error||e.historyMessage.pending){var M=function(){_!=(e.historyMessage.pending||!1)&&(_=!_,t.toggleClass(d,_)),f!=(e.historyMessage.error||!1)&&(f=!f,t.toggleClass(c,f)),f||_||x()},x=e.$on("messages_pending",M);M()}}var i=e("myDate"),a='<div class="im_message_date_split im_service_message_wrap"><div class="im_service_message"></div></div>',o='<div class="im_message_unread_split">'+t("unread_messages_split")+"</div>",s="im_message_selected",r="im_message_focus",l="im_message_unread",c="im_message_error",d="im_message_pending";return{templateUrl:templateUrl("message"),link:n}}]).directive("myExternalEmbed",function(){function e(e,r,l){var c=e.$eval(l.myExternalEmbed);if(c){var d="",u=!1;switch(c[0]){case"youtube":var p=c[1];d='<div class="im_message_media_embed im_message_video_embed"><'+s+' type="text/html" frameborder="0" src="https://www.youtube.com/embed/'+p+'?autoplay=0&amp;controls=2" webkitallowfullscreen mozallowfullscreen allowfullscreen></'+s+"></div>";break;case"vimeo":var p=c[1];d='<div class="im_message_media_embed im_message_video_embed"><'+s+' type="text/html" frameborder="0" src="https://player.vimeo.com/video/'+p+'?title=0&amp;byline=0&amp;portrait=0" webkitallowfullscreen mozallowfullscreen allowfullscreen></'+s+"></div>";break;case"instagram":var m=c[1];d='<div class="im_message_media_embed im_message_insta_embed"><'+s+' type="text/html" frameborder="0" src="https://instagram.com/p/'+m+'/embed/"></'+s+"></div>";break;case"vine":var g=c[1];d='<div class="im_message_media_embed im_message_vine_embed"><'+s+' type="text/html" frameborder="0" src="https://vine.co/v/'+g+'/embed/simple"></'+s+"></div>";break;case"soundcloud":var h=c[1];d='<div class="im_message_media_embed im_message_soundcloud_embed"><'+s+' type="text/html" frameborder="0" src="https://w.soundcloud.com/player/?url='+encodeEntities(encodeURIComponent(h))+'&amp;auto_play=false&amp;hide_related=true&amp;show_comments=false&amp;show_user=true&amp;show_reposts=false&amp;visual=true"></'+s+"></d
c(e)},function(e){console.log("Download sticker failed",e,u)})}var a="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";return{link:i,scope:{document:"="}}}]).directive("myLoadDocument",["MtpApiFileManager","AppDocsManager","FileManager",function(e,t,n){function i(e,t){for(;e&&!$(e).hasClass("modal-dialog");)e=e.parentNode;e&&$(e).width(t+(Config.Mobile?0:32))}function a(a,o,s){var r=$(".document_fullsize_with_progress_wrap",o),l=$(".document_fullsize_wrap",o),c=$(".document_fullsize_img",o),d=$(window).width()-(Config.Mobile?20:32),u=$(window).height()-150;d>800&&(d-=208),a.imageWidth=d,a.imageHeight=u;var p=a.document.thumb;if(p&&"photoSizeEmpty"!=p._){var m=calcImageInBox(p.width,p.height,d,u);a.imageWidth=m.w,a.imageHeight=m.h;var g=e.getCachedFile(p.location);g&&(a.thumbSrc=n.getUrl(g,"image/jpeg"))}a.frameWidth=Math.max(a.imageWidth,Math.min(600,d)),a.frameHeight=a.imageHeight,onContentLoaded(function(){a.$emit("ui_height")}),i(o[0],a.frameWidth);var h,f,_;t.downloadDoc(a.document.id).then(function(e){var t=n.getUrl(e,a.document.mime_type),i=new Image,o=100,s=function(e){if(i.height&&i.width||!--o){f=i.width,_=i.height,clearInterval(h);var n=calcImageInBox(i.width,i.height,d,u,!0),s={w:f,h:_};n.w>=s.w&&n.h>=s.h&&(s.w*=4,s.h*=4);var p=!0;a.toggleZoom=function(){p=!p;var e=(p?s:n).w,t=(p?s:n).h;c.css({width:e,height:t,marginTop:a.frameHeight>t?Math.floor((a.frameHeight-t)/2):0}),l.toggleClass("document_fullsize_zoomed",p)},a.toggleZoom(!1),c.attr("src",t),r.hide(),l.css({width:a.frameWidth,height:a.frameHeight}).show()}};h=setInterval(s,20),i.onload=s,i.src=t,setZeroTimeout(s)})}return{link:a,templateUrl:templateUrl("full_document"),scope:{document:"=myLoadDocument"}}}]).directive("myGeoPointMap",["ExternalResourcesManager",function(e){function t(t,n,i){var a=n.attr("width")||200,o=n.attr("height")||200;n.attr("src","img/blank.gif");var s=Config.ExtCredentials.gmaps.api_key,r="https://maps.googleapis.com/maps/api/staticmap?sensor=false&center="+t.point.lat+","+t.point["long"]+"&zoom=15&size="+a+"x"+o+"&scale=2&key="+s;e.downloadByURL(r).then(function(e){n.attr("src",e.valueOf())})}return{link:t,scope:{point:"=myGeoPointMap"}}}]).directive("myLoadingDots",["$interval",function(e){function t(e,t,i){t.html(n(t[0])?'<div class="loading_dots"><i></i><i></i><i></i></div>':"...")}function n(e){if(void 0===i&&(i=void 0!==e.style.animationName,i===!1)){var t,n="Webkit Moz O ms Khtml".split(" ");for(t=0;t<n.length;t++)if(void 0!==e.style[n[t]+"AnimationName"]){i=!0;break}}return i}return{link:t};var i}]).directive("myFocused",["shouldFocusOnInteraction",function(e){return{link:function(t,n,i){return e?void setTimeout(function(){setFieldSelection(n[0])},100):!1}}}]).directive("myFocusOn",["shouldFocusOnInteraction",function(e){return{link:function(t,n,i){t.$on(i.myFocusOn,function(){return e?void onContentLoaded(function(){setFieldSelection(n[0])}):!1})}}}]).directive("myFileUpload",function(){function e(e,t,n){t.on("change",function(){var t=this;e.$apply(function(){e.photo.file=t.files[0],setTimeout(function(){try{t.value=""}catch(e){}},1e3)})})}return{link:e}}).directive("myModalWidth",function(){function e(e,t,n){n.$observe("myModalWidth",function(e){$(t[0].parentNode.parentNode).css({width:parseInt(e)+(Config.Mobile?0:32)})})}return{link:e}}).directive("myModalNav",function(){function e(e,t,n){var i=function(t){var i=t.target;if(!i||"INPUT"!=i.tagName&&"TEXTAREA"!=i.tagName)switch(t.keyCode){case 39:case 32:case 34:case 40:e.$eval(n.next);break;case 37:case 33:case 38:e.$eval(n.prev)}};$(document).on("keydown",i),e.$on("$destroy",function(){$(document).off("keydown",i)})}return{link:e}}).directive("myCustomBackground",function(){function e(e,t,n){$("html").css({background:n.myCustomBackground}),e.$on("$destroy",function(){$("html").css({background:""})})}return{link:e}}).directive("myInfiniteScroller",function(){function e(e,t,n){var i=$(".nano-content",t)[0],a=!1;$(i).on("scroll",function(n){t.is(":visible")&&!a&&i.scrollTop>=i.scrollHeight-i.clientHeight-300&&(a=!0,e.$apply(function(){e.slic