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.

42 lines
1.3 MiB

function BigInteger(e,t,n){null!=e&&("number"==typeof e?this.fromNumber(e,t,n):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function nbi(){return new BigInteger(null)}function am1(e,t,n,a,i,o){for(;--o>=0;){var s=t*this[e++]+n[a]+i;i=Math.floor(s/67108864),n[a++]=67108863&s}return i}function am2(e,t,n,a,i,o){for(var s=32767&t,r=t>>15;--o>=0;){var l=32767&this[e],c=this[e++]>>15,d=r*l+c*s;l=s*l+((32767&d)<<15)+n[a]+(1073741823&i),i=(l>>>30)+(d>>>15)+r*c+(i>>>30),n[a++]=1073741823&l}return i}function am3(e,t,n,a,i,o){for(var s=16383&t,r=t>>14;--o>=0;){var l=16383&this[e],c=this[e++]>>14,d=r*l+c*s;l=s*l+((16383&d)<<14)+n[a]+i,i=(l>>28)+(d>>14)+r*c,n[a++]=268435455&l}return i}function int2char(e){return BI_RM.charAt(e)}function intAt(e,t){var n=BI_RC[e.charCodeAt(t)];return null==n?-1:n}function bnpCopyTo(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s}function bnpFromInt(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0}function nbv(e){var t=nbi();return t.fromInt(e),t}function bnpFromString(e,t,n){var a;if(16==t)a=4;else if(8==t)a=3;else if(256==t)a=8;else if(2==t)a=1;else if(32==t)a=5;else{if(4!=t)return void this.fromRadix(e,t);a=2}this.t=0,this.s=0;for(var i=e.length,o=!1,s=0;--i>=0;){var r=8==a?255&e[i]:intAt(e,i);r<0?"-"==e.charAt(i)&&(o=!0):(o=!1,0==s?this[this.t++]=r:s+a>this.DB?(this[this.t-1]|=(r&(1<<this.DB-s)-1)<<s,this[this.t++]=r>>this.DB-s):this[this.t-1]|=r<<s,s+=a,s>=this.DB&&(s-=this.DB))}8==a&&0!=(128&e[0])&&n&&(this.s=-1,s>0&&(this[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),o&&BigInteger.ZERO.subTo(this,this)}function bnpClamp(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t}function bnToString(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var n,a=(1<<t)-1,i=!1,o="",s=this.t,r=this.DB-s*this.DB%t;if(s-- >0)for(r<this.DB&&(n=this[s]>>r)>0&&(i=!0,o=int2char(n));s>=0;)r<t?(n=(this[s]&(1<<r)-1)<<t-r,n|=this[--s]>>(r+=this.DB-t)):(n=this[s]>>(r-=t)&a,r<=0&&(r+=this.DB,--s)),n>0&&(i=!0),i&&(o+=int2char(n));return i?o:"0"}function bnNegate(){var e=nbi();return BigInteger.ZERO.subTo(this,e),e}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(t=n-e.t,0!=t)return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0}function nbits(e){var t,n=1;return 0!=(t=e>>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s}function bnpDRShiftTo(e,t){for(var n=e;n<this.t;++n)t[n-e]=this[n];t.t=Math.max(this.t-e,0),t.s=this.s}function bnpLShiftTo(e,t){var n,a=e%this.DB,i=this.DB-a,o=(1<<i)-1,s=Math.floor(e/this.DB),r=this.s<<a&this.DM;for(n=this.t-1;n>=0;--n)t[n+s+1]=this[n]>>i|r,r=(this[n]&o)<<a;for(n=s-1;n>=0;--n)t[n]=0;t[s]=r,t.t=this.t+s+1,t.s=this.s,t.clamp()}function bnpRShiftTo(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)return void(t.t=0);var a=e%this.DB,i=this.DB-a,o=(1<<a)-1;t[0]=this[n]>>a;for(var s=n+1;s<this.t;++s)t[s-n-1]|=(this[s]&o)<<i,t[s-n]=this[s]>>a;a>0&&(t[this.t-n-1]|=(this.s&o)<<i),t.t=this.t-n,t.clamp()}function bnpSubTo(e,t){for(var n=0,a=0,i=Math.min(e.t,this.t);n<i;)a+=this[n]-e[n],t[n++]=a&this.DM,a>>=this.DB;if(e.t<this.t){for(a-=e.s;n<this.t;)a+=this[n],t[n++]=a&this.DM,a>>=this.DB;a+=this.s}else{for(a+=this.s;n<e.t;)a-=e[n],t[n++]=a&this.DM,a>>=this.DB;a-=e.s}t.s=a<0?-1:0,a<-1?t[n++]=this.DV+a:a>0&&(t[n++]=a),t.t=n,t.clamp()}function bnpMultiplyTo(e,t){var n=this.abs(),a=e.abs(),i=n.t;for(t.t=i+a.t;--i>=0;)t[i]=0;for(i=0;i<a.t;++i)t[i+n.t]=n.am(0,a[i],t,i,0,n.t);t.s=0,t.clamp(),this.s!=e.s&&BigInteger.ZERO.subTo(t,t)}function bnpSquareTo(e){for(var t=this.abs(),n=e.t=2*t.t;--n>=0;)e[n]=0;for(n=0;n<t.t-1;++n){var a=t.
return!1}function cancelEvent(e){return e=e||window.event,e&&(e=e.originalEvent||e,e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),e.returnValue=!1,e.cancelBubble=!0),!1}function hasOnlick(e){if(e.onclick||e.getAttribute("ng-click"))return!0;var t=$._data(e,"events");return!(!t||!t.click&&!t.mousedown)}function getScrollWidth(){var e=$("<div>").css({position:"absolute",width:100,height:100,overflow:"scroll",top:-9999}).appendTo($(document.body)),t=e[0].offsetWidth-e[0].clientWidth;return e.remove(),t}function onCtrlEnter(e,t){$(e).on("keydown",function(e){if(13==e.keyCode&&(e.ctrlKey||e.metaKey))return t(),cancelEvent(e)})}function setFieldSelection(e,t,n){e=$(e)[0];try{if(e.focus(),void 0!==t&&t!==!1||(t=e.value.length),void 0!==n&&n!==!1||(n=t),e.createTextRange){var a=e.createTextRange();a.collapse(!0),a.moveEnd("character",n),a.moveStart("character",t),a.select()}else e.setSelectionRange&&e.setSelectionRange(t,n)}catch(i){}}function getFieldSelection(e){if(e.selectionStart)return e.selectionStart;if(!document.selection)return 0;var t="",n=document.selection.createRange(),a=n.text,i=n.duplicate(),o=0;try{i.moveToElementText(e)}catch(s){return 0}return n.text=a+t,o=i.text.indexOf(t),n.moveStart("character",-1),n.text="",o}function getRichValue(e){if(!e)return"";var t=[],n=[];getRichElementValue(e,t,n),n.length&&t.push(n.join(""));var a=t.join("\n");return a=a.replace(/\u00A0/g," ")}function getRichValueWithCaret(e){if(!e)return[];var t,n,a=[],i=[],o=!!window.getSelection&&window.getSelection();if(o&&o.rangeCount){var s=o.getRangeAt(0);s.startContainer&&s.startContainer==s.endContainer&&s.startOffset==s.endOffset&&(t=s.startContainer,n=s.startOffset)}getRichElementValue(e,a,i,t,n),i.length&&a.push(i.join(""));var r=a.join("\n"),l=r.indexOf("");return l!=-1&&(r=r.substr(0,l)+r.substr(l+1)),r=r.replace(/\u00A0/g," "),[r,l]}function getRichElementValue(e,t,n,a,i){if(3!=e.nodeType){if(1==e.nodeType){var o,s=a===e,r="DIV"==e.tagName||"P"==e.tagName;r&&n.length||"BR"==e.tagName?(t.push(n.join("")),n.splice(0,n.length)):"IMG"==e.tagName&&e.alt&&n.push(e.alt),s&&!i&&n.push("");for(var o=e.firstChild;o;)getRichElementValue(o,t,n,a,i),o=o.nextSibling;s&&i&&n.push(""),r&&n.length&&(t.push(n.join("")),n.splice(0,n.length))}}else if(a===e){var l=e.nodeValue;n.push(l.substr(0,i)+""+l.substr(i))}else n.push(e.nodeValue)}function setRichFocus(e,t,n){if(e.focus(),!t||t.parentNode!=e||t.nextSibling||n||(e.removeChild(t),t=null),window.getSelection&&document.createRange){var a=document.createRange();t?a.selectNode(t):a.selectNodeContents(e),n||a.collapse(!1);var i=window.getSelection();i.removeAllRanges(),i.addRange(a)}else if(void 0!==document.body.createTextRange){var o=document.body.createTextRange();o.moveToElementText(t||e),n||o.collapse(!1),o.select()}}function getSelectedText(){var e=(window.getSelection&&window.getSelection()||document.getSelection&&document.getSelection()||document.selection&&document.selection.createRange().text||"").toString().replace(/^\s+|\s+$/g,"");return e}function scrollToNode(e,t,n){var a=t.offsetTop-15,i=t.offsetHeight+30,o=e.scrollTop,s=e.clientHeight;o>a?(e.scrollTop=a,$(n).nanoScroller({flash:!0})):o<a+i-s&&(e.scrollTop=a+i-s,$(n).nanoScroller({flash:!0}))}function onContentLoaded(e){e=onAnimationFrameCallback(e),setZeroTimeout(e)}function tsNow(e){var t=+new Date+(window.tsOffset||0);return e?Math.floor(t/1e3):t}function safeReplaceObject(e,t){for(var n in e)t.hasOwnProperty(n)||"$"==n.charAt(0)||delete e[n];for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])}function listMergeSorted(e,t){e=e||[],t=t||[];for(var n=angular.copy(e),a=e.length?e[e.length-1]:4294967295,i=0;i<t.length;i++)t[i]<a&&n.push(t[i]);return n}function listUniqSorted(e){e=e||[];for(var t=[],n=!1,a=0;a<e.length;a++)e[a]!==n&&t.push(e[a]),n=e[a];return t}function templateUrl(e){var t={confirm_modal:"desktop",error_modal:"desktop",media_modal_layout:"desktop",slider:"desktop",reply_message:"desktop",message_body:"desktop",message_media:"desktop",message_attach_game:"desktop",forwarded_messages:"desktop",
return e.length=i,e},grep:function(e,t,n){for(var a,i=[],o=0,s=e.length,r=!n;s>o;o++)a=!t(e[o],o),a!==r&&i.push(e[o]);return i},map:function(e,t,a){var i,o=0,s=e.length,r=n(e),l=[];if(r)for(;s>o;o++)i=t(e[o],o,a),null!=i&&l.push(i);else for(o in e)i=t(e[o],o,a),null!=i&&l.push(i);return Z.apply([],l)},guid:1,proxy:function(e,t){var n,a,i;return"string"==typeof t&&(i=e[t],t=e,e=i),ie.isFunction(e)?(n=Y.call(arguments,2),a=function(){return e.apply(t||this,n.concat(Y.call(arguments)))},a.guid=e.guid=e.guid||ie.guid++,a):void 0},now:function(){return+new Date},support:ne}),ie.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){Q["[object "+t+"]"]=t.toLowerCase()});var ce=function(e){function t(e,t,n,a){var i,o,s,r,l,c,u,m,g,h;if((t?t.ownerDocument||t:L)!==D&&T(t),t=t||D,n=n||[],!e||"string"!=typeof e)return n;if(1!==(r=t.nodeType)&&9!==r)return[];if(F&&!a){if(i=ve.exec(e))if(s=i[1]){if(9===r){if(o=t.getElementById(s),!o||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(s))&&U(t,o)&&o.id===s)return n.push(o),n}else{if(i[2])return Q.apply(n,t.getElementsByTagName(e)),n;if((s=i[3])&&w.getElementsByClassName&&t.getElementsByClassName)return Q.apply(n,t.getElementsByClassName(s)),n}if(w.qsa&&(!N||!N.test(e))){if(m=u=B,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,a)}function n(){function e(n,a){return t.push(n+" ")>k.cacheLength&&delete e[t.shift()],e[n+" "]=a}var t=[];return e}function a(e){return e[B]=!0,e}function i(e){var t=D.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),a=e.length;a--;)k.attrHandle[n[a]]=t}function s(e,t){var n=t&&e,a=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||K)-(~e.sourceIndex||K);if(a)return a;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function r(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return a(function(t){return t=+t,a(function(n,a){for(var i,o=e([],n.length,t),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(a[i]=n[i]))})})}function d(e){return e&&typeof e.getElementsByTagName!==G&&e}function u(){}function p(e){for(var t=0,n=e.length,a="";n>t;t++)a+=e[t].value;return a}function m(e,t,n){var a=t.dir,i=n&&"parentNode"===a,o=H++;return t.first?function(t,n,o){for(;t=t[a];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,s){var r,l,c=[j,o];if(s){for(;t=t[a];)if((1===t.nodeType||i)&&e(t,n,s))return!0}else for(;t=t[a];)if(1===t.nodeType||i){if(l=t[B]||(t[B]={}),(r=l[a])&&r[0]===j&&r[1]===o)return c[2]=r[2];if(l[a]=c,c[2]=e(t,n,s))return!0}}}function g(e){return e.length>1?function(t,n,a){for(var i=e.length;i--;)if(!e[i](t,n,a))return!1;return!0}:e[0]}function h(e,n,a){for(var i=0,o=n.length;o>i;i++)t(e,n[i],a);return a}function f(e,t,n,a,i){for(var o,s=[],r=0,l=e.length,c=null!=t;l>r;r++)(o=e[r])&&(!n||n(o,a,i))&&(s.push(o),c&&t.push(r));return s}function _(e,t,n,i,o,s){return i&&!i[B]&&(i=_(i)),o&&!o[B]&&(o=_(o,s)),a(function(a,s,r,l){var c,d,u,p=[],m=[],g=s.length,_=a||h(t||"*",r.nodeType?[r]:r,[]),v=!e||!a&&t?_:f(_,p,e,r,l),y=n?o||(a?e:g||i)?[]:s:v;if(n&&n(v,y,r,l),i)for(c=f(y,m),i(c,[],r,l),d=c.length;d--;)(u=c[d])&&(y[m[d]]=!(v[m[d]]=u));if(a){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(a,u):p[d])>-1&&(a[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,a,i=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(fun
namespace:g.join(".")},l),(p=s[m])||(p=s[m]=[],p.delegateCount=0,c.setup&&c.setup.call(e,a,g,d)!==!1||(e.addEventListener?e.addEventListener(m,d,!1):e.attachEvent&&e.attachEvent("on"+m,d))),c.add&&(c.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,u):p.push(u),ie.event.global[m]=!0);e=null}},remove:function(e,t,n,a,i){var o,s,r,l,c,d,u,p,m,g,h,f=ie.hasData(e)&&ie._data(e);if(f&&(d=f.events)){for(t=(t||"").match(ye)||[""],c=t.length;c--;)if(r=Ne.exec(t[c])||[],m=h=r[1],g=(r[2]||"").split(".").sort(),m){for(u=ie.event.special[m]||{},m=(a?u.delegateType:u.bindType)||m,p=d[m]||[],r=r[2]&&new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=p.length;o--;)s=p[o],!i&&h!==s.origType||n&&n.guid!==s.guid||r&&!r.test(s.namespace)||a&&a!==s.selector&&("**"!==a||!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||ie.removeEvent(e,m,f.handle),delete d[m])}else for(m in d)ie.event.remove(e,m+t[c],n,a,!0);ie.isEmptyObject(d)&&(delete f.handle,ie._removeData(e,"events"))}},trigger:function(t,n,a,i){var o,s,r,l,c,d,u,p=[a||ge],m=te.call(t,"type")?t.type:t,g=te.call(t,"namespace")?t.namespace.split("."):[];if(r=d=a=a||ge,3!==a.nodeType&&8!==a.nodeType&&!Fe.test(m+ie.event.triggered)&&(m.indexOf(".")>=0&&(g=m.split("."),m=g.shift(),g.sort()),s=m.indexOf(":")<0&&"on"+m,t=t[ie.expando]?t:new ie.Event(m,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=a),n=null==n?[t]:ie.makeArray(n,[t]),c=ie.event.special[m]||{},i||!c.trigger||c.trigger.apply(a,n)!==!1)){if(!i&&!c.noBubble&&!ie.isWindow(a)){for(l=c.delegateType||m,Fe.test(l+m)||(r=r.parentNode);r;r=r.parentNode)p.push(r),d=r;d===(a.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=(ie._data(r,"events")||{})[t.type]&&ie._data(r,"handle"),o&&o.apply(r,n),o=s&&r[s],o&&o.apply&&ie.acceptData(r)&&(t.result=o.apply(r,n),t.result===!1&&t.preventDefault());if(t.type=m,!i&&!t.isDefaultPrevented()&&(!c._default||c._default.apply(p.pop(),n)===!1)&&ie.acceptData(a)&&s&&a[m]&&!ie.isWindow(a)){d=a[s],d&&(a[s]=null),ie.event.triggered=m;try{a[m]()}catch(h){}ie.event.triggered=void 0,d&&(a[s]=d)}return t.result}},dispatch:function(e){e=ie.event.fix(e);var t,n,a,i,o,s=[],r=Y.call(arguments),l=(ie._data(this,"events")||{})[e.type]||[],c=ie.event.special[e.type]||{};if(r[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(s=ie.event.handlers.call(this,e,l),t=0;(i=s[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,o=0;(a=i.handlers[o++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(a.namespace))&&(e.handleObj=a,e.data=a.data,n=((ie.event.special[a.origType]||{}).handle||a.handler).apply(i.elem,r),void 0!==n&&(e.result=n)===!1&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,a,i,o,s=[],r=t.delegateCount,l=e.target;if(r&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(i=[],o=0;r>o;o++)a=t[o],n=a.selector+" ",void 0===i[n]&&(i[n]=a.needsContext?ie(n,this).index(l)>=0:ie.find(n,this,null,[l]).length),i[n]&&i.push(a);i.length&&s.push({elem:l,handlers:i})}return r<t.length&&s.push({elem:this,handlers:t.slice(r)}),s},fix:function(e){if(e[ie.expando])return e;var t,n,a,i=e.type,o=e,s=this.fixHooks[i];for(s||(this.fixHooks[i]=s=Pe.test(i)?this.mouseHooks:De.test(i)?this.keyHooks:{}),a=s.props?this.props.concat(s.props):this.props,e=new ie.Event(o),t=a.length;t--;)n=a[t],e[n]=o[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 shiftK
get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+""}});var xt=/^(?:input|select|textarea|button|object)$/i,It=/^(?:a|area)$/i;ie.fn.extend({prop:function(e,t){return Ae(this,ie.prop,e,t,arguments.length>1)},removeProp:function(e){return e=ie.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),ie.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var a,i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!ie.isXMLDoc(e),o&&(t=ie.propFix[t]||t,i=ie.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(a=i.set(e,n,t))?a:e[t]=n:i&&"get"in i&&null!==(a=i.get(e,t))?a:e[t]},propHooks:{tabIndex:{get:function(e){var t=ie.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||It.test(e.nodeName)&&e.href?0:-1}}}}),ne.hrefNormalized||ie.each(["href","src"],function(e,t){ie.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),ne.optSelected||(ie.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),ie.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ie.propFix[this.toLowerCase()]=this}),ne.enctype||(ie.propFix.enctype="encoding");var At=/[\t\r\n\f]/g;ie.fn.extend({addClass:function(e){var t,n,a,i,o,s,r=0,l=this.length,c="string"==typeof e&&e;if(ie.isFunction(e))return this.each(function(t){ie(this).addClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>r;r++)if(n=this[r],a=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(At," "):" ")){for(o=0;i=t[o++];)a.indexOf(" "+i+" ")<0&&(a+=i+" ");s=ie.trim(a),n.className!==s&&(n.className=s)}return this},removeClass:function(e){var t,n,a,i,o,s,r=0,l=this.length,c=0===arguments.length||"string"==typeof e&&e;if(ie.isFunction(e))return this.each(function(t){ie(this).removeClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>r;r++)if(n=this[r],a=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(At," "):"")){for(o=0;i=t[o++];)for(;a.indexOf(" "+i+" ")>=0;)a=a.replace(" "+i+" "," ");s=e?ie.trim(a):"",n.className!==s&&(n.className=s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):this.each(ie.isFunction(e)?function(n){ie(this).toggleClass(e.call(this,n,this.className,t),t)}:function(){if("string"===n)for(var t,a=0,i=ie(this),o=e.match(ye)||[];t=o[a++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else(n===$e||"boolean"===n)&&(this.className&&ie._data(this,"__className__",this.className),this.className=this.className||e===!1?"":ie._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,a=this.length;a>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(At," ").indexOf(t)>=0)return!0;return!1}}),ie.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){ie.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ie.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,a){return this.on(t,e,n,a)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var Et=ie.now(),Tt=/\?/,Dt=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;ie.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,a=null,i=ie.trim(t+"");return i&&!ie.trim(i.replace(Dt,function(e,t,i,o){return n&&t&&(a=0),0===a?e:(n=i||t,a+=!o-!i,"")}))?Function("return "+i)():ie.error("Invalid JSON: "+t)},ie.parseXML=function(t){var n,a;if(!t||"string"!=typeof t)return null;try{e.DOMParser?(a=new
Config.Schema.API={constructors:[{id:"-1132882121",predicate:"boolFalse",params:[],type:"Bool"},{id:"-1720552011",predicate:"boolTrue",params:[],type:"Bool"},{id:"1072550713",predicate:"true",params:[],type:"True"},{id:"481674261",predicate:"vector",params:[],type:"Vector t"},{id:"-994444869",predicate:"error",params:[{name:"code",type:"int"},{name:"text",type:"string"}],type:"Error"},{id:"1450380236",predicate:"null",params:[],type:"Null"},{id:"2134579434",predicate:"inputPeerEmpty",params:[],type:"InputPeer"},{id:"2107670217",predicate:"inputPeerSelf",params:[],type:"InputPeer"},{id:"396093539",predicate:"inputPeerChat",params:[{name:"chat_id",type:"int"}],type:"InputPeer"},{id:"-1182234929",predicate:"inputUserEmpty",params:[],type:"InputUser"},{id:"-138301121",predicate:"inputUserSelf",params:[],type:"InputUser"},{id:"-208488460",predicate:"inputPhoneContact",params:[{name:"client_id",type:"long"},{name:"phone",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"InputContact"},{id:"-181407105",predicate:"inputFile",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"name",type:"string"},{name:"md5_checksum",type:"string"}],type:"InputFile"},{id:"-1771768449",predicate:"inputMediaEmpty",params:[],type:"InputMedia"},{id:"1661770481",predicate:"inputMediaUploadedPhoto",params:[{name:"flags",type:"#"},{name:"file",type:"InputFile"},{name:"caption",type:"string"},{name:"stickers",type:"flags.0?Vector<InputDocument>"}],type:"InputMedia"},{id:"-373312269",predicate:"inputMediaPhoto",params:[{name:"id",type:"InputPhoto"},{name:"caption",type:"string"}],type:"InputMedia"},{id:"-104578748",predicate:"inputMediaGeoPoint",params:[{name:"geo_point",type:"InputGeoPoint"}],type:"InputMedia"},{id:"-1494984313",predicate:"inputMediaContact",params:[{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"InputMedia"},{id:"480546647",predicate:"inputChatPhotoEmpty",params:[],type:"InputChatPhoto"},{id:"-1837345356",predicate:"inputChatUploadedPhoto",params:[{name:"file",type:"InputFile"}],type:"InputChatPhoto"},{id:"-1991004873",predicate:"inputChatPhoto",params:[{name:"id",type:"InputPhoto"}],type:"InputChatPhoto"},{id:"-457104426",predicate:"inputGeoPointEmpty",params:[],type:"InputGeoPoint"},{id:"-206066487",predicate:"inputGeoPoint",params:[{name:"lat",type:"double"},{name:"long",type:"double"}],type:"InputGeoPoint"},{id:"483901197",predicate:"inputPhotoEmpty",params:[],type:"InputPhoto"},{id:"-74070332",predicate:"inputPhoto",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputPhoto"},{id:"342061462",predicate:"inputFileLocation",params:[{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",type:"long"}],type:"InputFileLocation"},{id:"1996904104",predicate:"inputAppEvent",params:[{name:"time",type:"double"},{name:"type",type:"string"},{name:"peer",type:"long"},{name:"data",type:"string"}],type:"InputAppEvent"},{id:"-1649296275",predicate:"peerUser",params:[{name:"user_id",type:"int"}],type:"Peer"},{id:"-1160714821",predicate:"peerChat",params:[{name:"chat_id",type:"int"}],type:"Peer"},{id:"-1432995067",predicate:"storage.fileUnknown",params:[],type:"storage.FileType"},{id:"8322574",predicate:"storage.fileJpeg",params:[],type:"storage.FileType"},{id:"-891180321",predicate:"storage.fileGif",params:[],type:"storage.FileType"},{id:"172975040",predicate:"storage.filePng",params:[],type:"storage.FileType"},{id:"-1373745011",predicate:"storage.filePdf",params:[],type:"storage.FileType"},{id:"1384777335",predicate:"storage.fileMp3",params:[],type:"storage.FileType"},{id:"1258941372",predicate:"storage.fileMov",params:[],type:"storage.FileType"},{id:"1086091090",predicate:"storage.filePartial",params:[],type:"storage.FileType"},{id:"-1278304028",predicate:"storage.fileMp4",params:[],type:"storage.FileType"},{id:"276907596",predicate:"storage.fileWebp",params:[],type:"storage.FileType"},{id:"2086234950",predicate:"fileLocationUnavailable",params:[{name:"volume_id",type:"long"},{name:"local_id
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:"Update"},{id:"1335282456",predicate:"inputPrivacyKeyStatusTimestamp",params:[],type:"InputPrivacyKey"},{id:"-1137792208",predicate:"privacyKeyStatusTimestamp",params:[],type:"PrivacyKey"},{id:"218751099",predicate:"inputPrivacyValueAllowContacts",params:[],type:"InputPrivacyRule"},{id:"407582158",predicate:"inputPrivacyValueAllowAll",params:[],type:"InputPrivacyRule"},{id:"320652927",predicate:"inputPrivacyValueAllowUsers",params:[{name:"users",type:"Vector<InputUser>"}],type:"InputPrivacyRule"},{id:"195371015",predicate:"inputPrivacyValueDisallowContacts",params:[],type:"InputPrivacyRule"},{id:"-697604407",predicate:"inputPrivacyValueDisallowAll",params:[],type:"InputPrivacyRule"},{id:"-1877932953",predicate:"inputPrivacyValueDisallowUsers",params:[{name:"users",type:"Vector<InputUser>"}],type:"InputPrivacyRule"},{id:"-123988",predicate:"privacyValueAllowContacts",params:[],type:"PrivacyRule"},{id:"1698855810",predicate:"privacyValueAllowAll",params:[],type:"PrivacyRule"},{id:"1297858060",predicate:"privacyValueAllowUsers",params:[{name:"users",type:"Vector<int>"}],type:"PrivacyRule"},{id:"-125240806",predicate:"privacyValueDisallowContacts",params:[],type:"PrivacyRule"},{id:"-1955338397",predicate:"privacyValueDisallowAll",params:[],type:"PrivacyRule"},{id:"209668535",predicate:"privacyValueDisallowUsers",params:[{name:"users",type:"Vector<int>"}],type:"PrivacyRule"},{id:"1430961007",predicate:"account.privacyRules",params:[{name:"rules",type:"Vector<PrivacyRule>"},{name:"users",type:"Vector<User>"}],type:"account.PrivacyRules"},{id:"-1194283041",predicate:"accountDaysTTL",params:[{name:"days",type:"int"}],type:"AccountDaysTTL"},{id:"314130811",predicate:"updateUserPhone",params:[{name:"user_id",type:"int"},{name:"phone",type:"string"}],type:"Update"},{id:"1815593308",predicate:"documentAttributeImageSize",params:[{name:"w",type:"int"},{name:"h",type:"int"}],type:"DocumentAttribute"},{id:"297109817",predicate:"documentAttributeAnimated",params:[],type:"DocumentAttribute"},{id:"1662637586",predicate:"documentAttributeSticker",params:[{name:"flags",type:"#"},{name:"mask",type:"flags.1?true"},{name:"alt",type:"string"},{name:"stickerset",type:"InputStickerSet"},{name:"mask_coords",type:"flags.0?MaskCoords"}],type:"DocumentAttribute"},{id:"1494273227",predicate:"documentAttributeVideo",params:[{name:"duration",type:"in
type:"int"}],type:"Update"},{id:"-190472735",predicate:"inputBotInlineMessageMediaGeo",params:[{name:"flags",type:"#"},{name:"geo_point",type:"InputGeoPoint"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:"-1431327288",predicate:"inputBotInlineMessageMediaVenue",params:[{name:"flags",type:"#"},{name:"geo_point",type:"InputGeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:"766443943",predicate:"inputBotInlineMessageMediaContact",params:[{name:"flags",type:"#"},{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:"982505656",predicate:"botInlineMessageMediaGeo",params:[{name:"flags",type:"#"},{name:"geo",type:"GeoPoint"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"1130767150",predicate:"botInlineMessageMediaVenue",params:[{name:"flags",type:"#"},{name:"geo",type:"GeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"904770772",predicate:"botInlineMessageMediaContact",params:[{name:"flags",type:"#"},{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"-1462213465",predicate:"inputBotInlineResultPhoto",params:[{name:"id",type:"string"},{name:"type",type:"string"},{name:"photo",type:"InputPhoto"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:"-459324",predicate:"inputBotInlineResultDocument",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"title",type:"flags.1?string"},{name:"description",type:"flags.2?string"},{name:"document",type:"InputDocument"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:"400266251",predicate:"botInlineMediaResult",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"photo",type:"flags.0?Photo"},{name:"document",type:"flags.1?Document"},{name:"title",type:"flags.2?string"},{name:"description",type:"flags.3?string"},{name:"send_message",type:"BotInlineMessage"}],type:"BotInlineResult"},{id:"-1995686519",predicate:"inputBotInlineMessageID",params:[{name:"dc_id",type:"int"},{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputBotInlineMessageID"},{id:"-103646630",predicate:"updateInlineBotCallbackQuery",params:[{name:"flags",type:"#"},{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"msg_id",type:"InputBotInlineMessageID"},{name:"chat_instance",type:"long"},{name:"data",type:"flags.0?bytes"},{name:"game_short_name",type:"flags.1?string"}],type:"Update"},{id:"1008755359",predicate:"inlineBotSwitchPM",params:[{name:"text",type:"string"},{name:"start_param",type:"string"}],type:"InlineBotSwitchPM"},{id:"863093588",predicate:"messages.peerDialogs",params:[{name:"dialogs",type:"Vector<Dialog>"},{name:"messages",type:"Vector<Message>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"state",type:"updates.State"}],type:"messages.PeerDialogs"},{id:"-305282981",predicate:"topPeer",params:[{name:"peer",type:"Peer"},{name:"rating",type:"double"}],type:"TopPeer"},{id:"-1419371685",predicate:"topPeerCategoryBotsPM",params:[],type:"TopPeerCategory"},{id:"344356834",predicate:"topPeerCategoryBotsInline",params:[],type:"TopPeerCategory"},{id:"104314861",predicate:"topPeerCategoryCorrespondents",params:[],type:"TopPeerCategory"},{id:"-1122524854",predicate:"topPeerCategoryGroups",params:[],type:"TopPeerCategory"},{id:"371037736",predicate:"topPeerCategoryChannels",params:[],type:"TopPeerCategory"},{id:"-75283823",predicate:"topPeerCategoryPeers",par
type:"long"},{name:"results",type:"Vector<InputBotInlineResult>"},{name:"cache_time",type:"int"},{name:"next_offset",type:"flags.2?string"},{name:"switch_pm",type:"flags.3?InlineBotSwitchPM"}],type:"Bool"},{id:"-1318189314",method:"messages.sendInlineBotResult",params:[{name:"flags",type:"#"},{name:"silent",type:"flags.5?true"},{name:"background",type:"flags.6?true"},{name:"clear_draft",type:"flags.7?true"},{name:"peer",type:"InputPeer"},{name:"reply_to_msg_id",type:"flags.0?int"},{name:"random_id",type:"long"},{name:"query_id",type:"long"},{name:"id",type:"string"}],type:"Updates"},{id:"1231065863",method:"channels.toggleInvites",params:[{name:"channel",type:"InputChannel"},{name:"enabled",type:"Bool"}],type:"Updates"},{id:"-934882771",method:"channels.exportMessageLink",params:[{name:"channel",type:"InputChannel"},{name:"id",type:"int"}],type:"ExportedMessageLink"},{id:"527021574",method:"channels.toggleSignatures",params:[{name:"channel",type:"InputChannel"},{name:"enabled",type:"Bool"}],type:"Updates"},{id:"-1490162350",method:"channels.updatePinnedMessage",params:[{name:"flags",type:"#"},{name:"silent",type:"flags.0?true"},{name:"channel",type:"InputChannel"},{name:"id",type:"int"}],type:"Updates"},{id:"1056025023",method:"auth.resendCode",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"}],type:"auth.SentCode"},{id:"520357240",method:"auth.cancelCode",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"}],type:"Bool"},{id:"-39416522",method:"messages.getMessageEditData",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"int"}],type:"messages.MessageEditData"},{id:"-829299510",method:"messages.editMessage",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.1?true"},{name:"peer",type:"InputPeer"},{name:"id",type:"int"},{name:"message",type:"flags.11?string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"},{name:"entities",type:"flags.3?Vector<MessageEntity>"}],type:"Updates"},{id:"319564933",method:"messages.editInlineBotMessage",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.1?true"},{name:"id",type:"InputBotInlineMessageID"},{name:"message",type:"flags.11?string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"},{name:"entities",type:"flags.3?Vector<MessageEntity>"}],type:"Bool"},{id:"-2130010132",method:"messages.getBotCallbackAnswer",params:[{name:"flags",type:"#"},{name:"game",type:"flags.1?true"},{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"data",type:"flags.0?bytes"}],type:"messages.BotCallbackAnswer"},{id:"-920136629",method:"messages.setBotCallbackAnswer",params:[{name:"flags",type:"#"},{name:"alert",type:"flags.1?true"},{name:"query_id",type:"long"},{name:"message",type:"flags.0?string"},{name:"url",type:"flags.2?string"}],type:"Bool"},{id:"-728224331",method:"contacts.getTopPeers",params:[{name:"flags",type:"#"},{name:"correspondents",type:"flags.0?true"},{name:"bots_pm",type:"flags.1?true"},{name:"bots_inline",type:"flags.2?true"},{name:"groups",type:"flags.10?true"},{name:"channels",type:"flags.15?true"},{name:"offset",type:"int"},{name:"limit",type:"int"},{name:"hash",type:"int"}],type:"contacts.TopPeers"},{id:"451113900",method:"contacts.resetTopPeerRating",params:[{name:"category",type:"TopPeerCategory"},{name:"peer",type:"InputPeer"}],type:"Bool"},{id:"764901049",method:"messages.getPeerDialogs",params:[{name:"peers",type:"Vector<InputPeer>"}],type:"messages.PeerDialogs"},{id:"-1137057461",method:"messages.saveDraft",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.1?true"},{name:"reply_to_msg_id",type:"flags.0?int"},{name:"peer",type:"InputPeer"},{name:"message",type:"string"},{name:"entities",type:"flags.3?Vector<MessageEntity>"}],type:"Bool"},{id:"1782549861",method:"messages.getAllDrafts",params:[],type:"Updates"},{id:"766298703",method:"messages.getFeaturedStickers",params:[{name:"hash",type:"int"}],type:"messages.FeaturedStickers"},{id:"1527873830",method:"messages.readFeaturedStickers",params:[{name:"id",type:"Vector<long>"}],type:"Bool"},{id:"1587647177",method:"me
Config.EmojiCategorySpritesheetDimens=[[7,27],[4,29],[7,33],[3,34],[7,34]],Config.LatinizeMap={"Á":"A","Ă":"A","Ắ":"A","Ặ":"A","Ằ":"A","Ẳ":"A","Ẵ":"A","Ǎ":"A","Â":"A","Ấ":"A","Ậ":"A","Ầ":"A","Ẩ":"A","Ẫ":"A","Ä":"A","Ǟ":"A","Ȧ":"A","Ǡ":"A","Ạ":"A","Ȁ":"A","À":"A","Ả":"A","Ȃ":"A","Ā":"A","Ą":"A","Å":"A","Ǻ":"A","Ḁ":"A","Ⱥ":"A","Ã":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ḃ":"B","Ḅ":"B","Ɓ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ć":"C","Č":"C","Ç":"C","Ḉ":"C","Ĉ":"C","Ċ":"C","Ƈ":"C","Ȼ":"C","Ď":"D","Ḑ":"D","Ḓ":"D","Ḋ":"D","Ḍ":"D","Ɗ":"D","Ḏ":"D","Dz":"D","Dž":"D","Đ":"D","Ƌ":"D","DZ":"DZ","DŽ":"DZ","É":"E","Ĕ":"E","Ě":"E","Ȩ":"E","Ḝ":"E","Ê":"E","Ế":"E","Ệ":"E","Ề":"E","Ể":"E","Ễ":"E","Ḙ":"E","Ë":"E","Ė":"E","Ẹ":"E","Ȅ":"E","È":"E","Ẻ":"E","Ȇ":"E","Ē":"E","Ḗ":"E","Ḕ":"E","Ę":"E","Ɇ":"E","Ẽ":"E","Ḛ":"E","Ꝫ":"ET","Ḟ":"F","Ƒ":"F","Ǵ":"G","Ğ":"G","Ǧ":"G","Ģ":"G","Ĝ":"G","Ġ":"G","Ɠ":"G","Ḡ":"G","Ǥ":"G","Ḫ":"H","Ȟ":"H","Ḩ":"H","Ĥ":"H","Ⱨ":"H","Ḧ":"H","Ḣ":"H","Ḥ":"H","Ħ":"H","Í":"I","Ĭ":"I","Ǐ":"I","Î":"I","Ï":"I","Ḯ":"I","İ":"I","Ị":"I","Ȉ":"I","Ì":"I","Ỉ":"I","Ȋ":"I","Ī":"I","Į":"I","Ɨ":"I","Ĩ":"I","Ḭ":"I","Ꝺ":"D","Ꝼ":"F","Ᵹ":"G","Ꞃ":"R","Ꞅ":"S","Ꞇ":"T","Ꝭ":"IS","Ĵ":"J","Ɉ":"J","Ḱ":"K","Ǩ":"K","Ķ":"K","Ⱪ":"K","Ꝃ":"K","Ḳ":"K","Ƙ":"K","Ḵ":"K","Ꝁ":"K","Ꝅ":"K","Ĺ":"L","Ƚ":"L","Ľ":"L","Ļ":"L","Ḽ":"L","Ḷ":"L","Ḹ":"L","Ⱡ":"L","Ꝉ":"L","Ḻ":"L","Ŀ":"L","Ɫ":"L","Lj":"L","Ł":"L","LJ":"LJ","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ń":"N","Ň":"N","Ņ":"N","Ṋ":"N","Ṅ":"N","Ṇ":"N","Ǹ":"N","Ɲ":"N","Ṉ":"N","Ƞ":"N","Nj":"N","Ñ":"N","NJ":"NJ","Ó":"O","Ŏ":"O","Ǒ":"O","Ô":"O","Ố":"O","Ộ":"O","Ồ":"O","Ổ":"O","Ỗ":"O","Ö":"O","Ȫ":"O","Ȯ":"O","Ȱ":"O","Ọ":"O","Ő":"O","Ȍ":"O","Ò":"O","Ỏ":"O","Ơ":"O","Ớ":"O","Ợ":"O","Ờ":"O","Ở":"O","Ỡ":"O","Ȏ":"O","Ꝋ":"O","Ꝍ":"O","Ō":"O","Ṓ":"O","Ṑ":"O","Ɵ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Õ":"O","Ṍ":"O","Ṏ":"O","Ȭ":"O","Ƣ":"OI","Ꝏ":"OO","Ɛ":"E","Ɔ":"O","Ȣ":"OU","Ṕ":"P","Ṗ":"P","Ꝓ":"P","Ƥ":"P","Ꝕ":"P","Ᵽ":"P","Ꝑ":"P","Ꝙ":"Q","Ꝗ":"Q","Ŕ":"R","Ř":"R","Ŗ":"R","Ṙ":"R","Ṛ":"R","Ṝ":"R","Ȑ":"R","Ȓ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꜿ":"C","Ǝ":"E","Ś":"S","Ṥ":"S","Š":"S","Ṧ":"S","Ş":"S","Ŝ":"S","Ș":"S","Ṡ":"S","Ṣ":"S","Ṩ":"S","ẞ":"SS","Ť":"T","Ţ":"T","Ṱ":"T","Ț":"T","Ⱦ":"T","Ṫ":"T","Ṭ":"T","Ƭ":"T","Ṯ":"T","Ʈ":"T","Ŧ":"T","Ɐ":"A","Ꞁ":"L","Ɯ":"M","Ʌ":"V","Ꜩ":"TZ","Ú":"U","Ŭ":"U","Ǔ":"U","Û":"U","Ṷ":"U","Ü":"U","Ǘ":"U","Ǚ":"U","Ǜ":"U","Ǖ":"U","Ṳ":"U","Ụ":"U","Ű":"U","Ȕ":"U","Ù":"U","Ủ":"U","Ư":"U","Ứ":"U","Ự":"U","Ừ":"U","Ử":"U","Ữ":"U","Ȗ":"U","Ū":"U","Ṻ":"U","Ų":"U","Ů":"U","Ũ":"U","Ṹ":"U","Ṵ":"U","Ꝟ":"V","Ṿ":"V","Ʋ":"V","Ṽ":"V","Ꝡ":"VY","Ẃ":"W","Ŵ":"W","Ẅ":"W","Ẇ":"W","Ẉ":"W","Ẁ":"W","Ⱳ":"W","Ẍ":"X","Ẋ":"X","Ý":"Y","Ŷ":"Y","Ÿ":"Y","Ẏ":"Y","Ỵ":"Y","Ỳ":"Y","Ƴ":"Y","Ỷ":"Y","Ỿ":"Y","Ȳ":"Y","Ɏ":"Y","Ỹ":"Y","Ź":"Z","Ž":"Z","Ẑ":"Z","Ⱬ":"Z","Ż":"Z","Ẓ":"Z","Ȥ":"Z","Ẕ":"Z","Ƶ":"Z","IJ":"IJ","Œ":"OE","ᴀ":"A","ᴁ":"AE","ʙ":"B","ᴃ":"B","ᴄ":"C","ᴅ":"D","ᴇ":"E","ꜰ":"F","ɢ":"G","ʛ":"G","ʜ":"H","ɪ":"I","ʁ":"R","ᴊ":"J","ᴋ":"K","ʟ":"L","ᴌ":"L","ᴍ":"M","ɴ":"N","ᴏ":"O","ɶ":"OE","ᴐ":"O","ᴕ":"OU","ᴘ":"P","ʀ":"R","ᴎ":"N","ᴙ":"R","ꜱ":"S","ᴛ":"T","ⱻ":"E","ᴚ":"R","ᴜ":"U","ᴠ":"V","ᴡ":"W","ʏ":"Y","ᴢ":"Z","á":"a","ă":"a","ắ":"a","ặ":"a","ằ":"a","ẳ":"a","ẵ":"a","ǎ":"a","â":"a","ấ":"a","ậ":"a","ầ":"a","ẩ":"a","ẫ":"a","ä":"a","ǟ":"a","ȧ":"a","ǡ":"a","ạ":"a","ȁ":"a","à":"a","ả":"a","ȃ":"a","ā":"a","ą":"a","ᶏ":"a","ẚ":"a","å":"a","ǻ":"a","ḁ":"a","ⱥ":"a","ã":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","
})),this)},c.prototype.scroll=function(){if(this.isActive)return this.sliderY=Math.max(0,this.sliderY),this.sliderY=Math.min(this.maxSliderTop,this.sliderY),this.$content.scrollTop(this.maxScrollTop*this.sliderY/this.maxSliderTop),this.iOSNativeScrolling||(this.updateScrollValues(),this.setOnScrollStyles()),this},c.prototype.scrollBottom=function(e){if(this.isActive)return this.$content.scrollTop(this.contentHeight-this.$content.height()-e).trigger(h),this.stop().restore(),this},c.prototype.scrollTop=function(e){if(this.isActive)return this.$content.scrollTop(+e).trigger(h),this.stop().restore(),this},c.prototype.scrollTo=function(e){if(this.isActive)return this.scrollTop(this.$el.find(e).get(0).offsetTop),this},c.prototype.stop=function(){return S&&this.scrollRAF&&(S(this.scrollRAF),this.scrollRAF=null),this.stopped=!0,this.removeEvents(),this.iOSNativeScrolling||this.pane.hide(),this},c.prototype.destroy=function(){return this.stopped||this.stop(),!this.iOSNativeScrolling&&this.pane.length&&this.pane.remove(),a&&this.$content.height(""),this.$content.removeAttr("tabindex"),this.$el.hasClass("has-scrollbar")&&(this.$el.removeClass("has-scrollbar"),this.$content.css({right:""})),this},c.prototype.flash=function(){if(!this.iOSNativeScrolling&&this.isActive)return this.reset(),this.pane.addClass("flashed"),setTimeout(function(e){return function(){e.pane.removeClass("flashed")}}(this),this.options.flashDelay),this},c}(),e.fn.nanoScroller=function(t){return this.each(function(){var n,a;if((a=this.nanoscroller)||(n=e.extend({},C,t),this.nanoscroller=a=new f(this,n)),t&&"object"==typeof t){if(e.extend(a.options,t),null!=t.scrollBottom)return a.scrollBottom(t.scrollBottom);if(null!=t.scrollTop)return a.scrollTop(t.scrollTop);if(t.scrollTo)return a.scrollTo(t.scrollTo);if("bottom"===t.scroll)return a.scrollBottom(0);if("top"===t.scroll)return a.scrollTop(0);if(t.scroll&&t.scroll instanceof e)return a.scrollTo(t.scroll);if(t.stop)return a.stop();if(t.destroy)return a.destroy();if(t.flash)return a.flash()}return a.reset()})},e.fn.nanoScroller.Constructor=f}(jQuery,window,document),function(e){"use strict";function t(e,t){return t=t||Error,function(){var n,a,i=2,o=arguments,s=o[0],r="["+(e?e+":":"")+s+"] ",l=o[1];for(r+=l.replace(/\{\d+\}/g,function(e){var t=+e.slice(1,-1),n=t+i;return n<o.length?ve(o[n]):e}),r+="\nhttp://errors.angularjs.org/1.5.7/"+(e?e+"/":"")+s,a=i,n="?";a<o.length;a++,n="&")r+=n+"p"+(a-i)+"="+encodeURIComponent(ve(o[a]));return new t(r)}}function n(e){if(null==e||M(e))return!1;if(Ya(e)||w(e)||Ua&&e instanceof Ua)return!0;var t="length"in Object(e)&&e.length;return k(t)&&(t>=0&&(t-1 in e||e instanceof Array)||"function"==typeof e.item)}function a(e,t,i){var o,s;if(e)if(S(e))for(o in e)"prototype"==o||"length"==o||"name"==o||e.hasOwnProperty&&!e.hasOwnProperty(o)||t.call(i,e[o],o,e);else if(Ya(e)||n(e)){var r="object"!=typeof e;for(o=0,s=e.length;o<s;o++)(r||o in e)&&t.call(i,e[o],o,e)}else if(e.forEach&&e.forEach!==a)e.forEach(t,i,e);else if(b(e))for(o in e)t.call(i,e[o],o,e);else if("function"==typeof e.hasOwnProperty)for(o in e)e.hasOwnProperty(o)&&t.call(i,e[o],o,e);else for(o in e)Da.call(e,o)&&t.call(i,e[o],o,e);return e}function i(e,t,n){for(var a=Object.keys(e).sort(),i=0;i<a.length;i++)t.call(n,e[a[i]],a[i]);return a}function o(e){return function(t,n){e(n,t)}}function s(){return++Ka}function r(e,t){t?e.$$hashKey=t:delete e.$$hashKey}function l(e,t,n){for(var a=e.$$hashKey,i=0,o=t.length;i<o;++i){var s=t[i];if(y(s)||S(s))for(var c=Object.keys(s),d=0,u=c.length;d<u;d++){var p=c[d],m=s[p];n&&y(m)?$(m)?e[p]=new Date(m.valueOf()):C(m)?e[p]=new RegExp(m):m.nodeName?e[p]=m.cloneNode(!0):N(m)?e[p]=m.clone():(y(e[p])||(e[p]=Ya(m)?[]:{}),l(e[p],[m],!0)):e[p]=m}}return r(e,a),e}function c(e){return l(e,ja.call(arguments,1),!1)}function d(e){return l(e,ja.call(arguments,1),!0)}function u(e){return parseInt(e,10)}function p(e,t){return c(Object.create(e),t)}function m(){}function g(e){return e}function h(e){return function(){return e}}function f(e){return S(e.toString)&&e.toString!==Va}function _(e){return"undefine
var t=e&&e[0];return t&&"foreignobject"!==O(t)&&Va.call(t).match(/SVG/)?"svg":"html"}function V(e,t,n,a,i,o){function s(e,n,a,i){var o,s,r,l,c,d,u,p,h;if(m){var f=n.length;for(h=new Array(f),c=0;c<g.length;c+=3)u=g[c],h[u]=n[u]}else h=n;for(c=0,d=g.length;c<d;)r=h[g[c++]],o=g[c++],s=g[c++],o?(o.scope?(l=e.$new(),B.$$addScopeInfo(Ua(r),l)):l=e,p=o.transcludeOnThisElement?z(e,o.transclude,i):!o.templateOnThisElement&&i?i:!i&&t?z(e,t):null,o(s,l,r,a,p)):s&&s(e,r.childNodes,void 0,i)}for(var r,l,c,d,u,p,m,g=[],h=0;h<e.length;h++)r=new F,l=W(e[h],[],r,0===h?a:void 0,i),c=l.length?X(l,e[h],r,t,n,null,[],[],o):null,c&&c.scope&&B.$$addScopeClass(r.$$element),u=c&&c.terminal||!(d=e[h].childNodes)||!d.length?null:V(d,c?(c.transcludeOnThisElement||!c.templateOnThisElement)&&c.transclude:t),(c||u)&&(g.push(h,c,u),p=!0,m=m||c),o=null;return p?s:null}function z(e,t,n){function a(a,i,o,s,r){return a||(a=e.$new(!1,r),a.$$transcluded=!0),t(a,i,{parentBoundTranscludeFn:n,transcludeControllers:o,futureParentElement:s})}var i=a.$$slots=ge();for(var o in t.$$slots)t.$$slots[o]?i[o]=z(e,t.$$slots[o],n):i[o]=null;return a}function W(e,t,n,a,i){var o,s,r=e.nodeType,l=n.$attr;switch(r){case oi:te(t,ft(O(e)),"E",a,i);for(var c,d,u,p,m,g,h=e.attributes,_=0,v=h&&h.length;_<v;_++){var k=!1,$=!1;c=h[_],d=c.name,m=Xa(c.value),p=ft(d),(g=Me.test(p))&&(d=d.replace(Ki,"").substr(8).replace(/_(.)/g,function(e,t){return t.toUpperCase()}));var S=p.match(xe);S&&ne(S[1])&&(k=d,$=d.substr(0,d.length-5)+"end",d=d.substr(0,d.length-6)),u=ft(d.toLowerCase()),l[u]=d,!g&&n.hasOwnProperty(u)||(n[u]=m,ze(e,u)&&(n[u]=!0)),pe(e,t,m,u,g),te(t,u,"A",a,i,k,$)}if(s=e.className,y(s)&&(s=s.animVal),w(s)&&""!==s)for(;o=b.exec(s);)u=ft(o[2]),te(t,u,"C",a,i)&&(n[u]=Xa(o[3])),s=s.substr(o.index+o[0].length);break;case ri:if(11===Oa)for(;e.parentNode&&e.nextSibling&&e.nextSibling.nodeType===ri;)e.nodeValue=e.nodeValue+e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);le(t,e.nodeValue);break;case li:try{o=f.exec(e.nodeValue),o&&(u=ft(o[1]),te(t,u,"M",a,i)&&(n[u]=Xa(o[2])))}catch(C){}}return t.sort(oe),t}function G(e,t,n){var a=[],i=0;if(t&&e.hasAttribute&&e.hasAttribute(t)){do{if(!e)throw Wi("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",t,n);e.nodeType==oi&&(e.hasAttribute(t)&&i++,e.hasAttribute(n)&&i--),a.push(e),e=e.nextSibling}while(i>0)}else a.push(e);return Ua(a)}function K(e,t,n){return function(a,i,o,s,r){return i=G(i[0],t,n),e(a,i,o,s,r)}}function Y(e,t,n,a,i,o){var s;return e?B(t,n,a,i,o):function(){return s||(s=B(t,n,a,i,o),t=n=o=null),s.apply(this,arguments)}}function X(e,t,n,o,s,r,l,d,u){function p(e,t,n,a){e&&(n&&(e=K(e,n,a)),e.require=g.require,e.directiveName=h,(C===g||g.$$isolateScope)&&(e=he(e,{isolateScope:!0})),l.push(e)),t&&(n&&(t=K(t,n,a)),t.require=g.require,t.directiveName=h,(C===g||g.$$isolateScope)&&(t=he(t,{isolateScope:!0})),d.push(t))}function m(e,o,s,r,u){function p(e,t,n,a){var i;if(x(e)||(a=n,n=t,t=e,e=void 0),T&&(i=b),n||(n=T?I.parent():I),!a)return u(e,t,i,n,U);var o=u.$$slots[a];if(o)return o(e,t,i,n,U);if(_(o))throw Wi("noslot",'No parent directive that requires a transclusion with slot name "{0}". Element: {1}',a,Z(I))}var m,g,h,f,v,b,w,I,A,E;t===s?(A=n,I=n.$$element):(I=Ua(s),A=new F(I,n)),v=o,C?f=o.$new(!0):k&&(v=o.$parent),u&&(w=p,w.$$boundTransclude=u,w.isSlotFilled=function(e){return!!u.$$slots[e]}),$&&(b=Q(I,A,w,$,f,o,C)),C&&(B.$$addScopeInfo(I,f,!0,!(M&&(M===C||M===C.$$originalDirective))),B.$$addScopeClass(I,!0),f.$$isolateBindings=C.$$isolateBindings,E=_e(o,A,f,f.$$isolateBindings,C),E.removeWatches&&f.$on("$destroy",E.removeWatches));for(var D in b){var P=$[D],N=b[D],R=P.$$bindings.bindToController;N.identifier&&R?N.bindingInfo=_e(v,A,N.instance,R,P):N.bindingInfo={};var O=N();O!==N.instance&&(N.instance=O,I.data("$"+P.name+"Controller",O),N.bindingInfo.removeWatches&&N.bindingInfo.removeWatches(),N.bindingInfo=_e(v,A,N.instance,R,P))}for(a($,function(e,t){var n=e.require;e.bindToController&&!Ya(n)&&y(n)&&c(b[t].instance,J(t,n,I,b))}),a(b,function(e){var t=e.instance;if(S(t.$onChanges))try{
if(e.children&&(e.nodeName||e.prop&&e.attr&&e.find))throw uo("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",t);if(e===Object)throw uo("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",t)}return e}function an(e,t){if(e){if(e.constructor===e)throw uo("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",t);if(e===po||e===mo||e===go)throw uo("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",t)}}function on(e,t){if(e&&(e===(0).constructor||e===(!1).constructor||e==="".constructor||e==={}.constructor||e===[].constructor||e===Function.constructor))throw uo("isecaf","Assigning to a constructor is disallowed! Expression: {0}",t)}function sn(e,t){return"undefined"!=typeof e?e:t}function rn(e,t){return"undefined"==typeof e?t:"undefined"==typeof t?e:e+t}function ln(e,t){var n=e(t);return!n.$stateful}function cn(e,t){var n,i;switch(e.type){case vo.Program:n=!0,a(e.body,function(e){cn(e.expression,t),n=n&&e.expression.constant}),e.constant=n;break;case vo.Literal:e.constant=!0,e.toWatch=[];break;case vo.UnaryExpression:cn(e.argument,t),e.constant=e.argument.constant,e.toWatch=e.argument.toWatch;break;case vo.BinaryExpression:cn(e.left,t),cn(e.right,t),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.left.toWatch.concat(e.right.toWatch);break;case vo.LogicalExpression:cn(e.left,t),cn(e.right,t),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.constant?[]:[e];break;case vo.ConditionalExpression:cn(e.test,t),cn(e.alternate,t),cn(e.consequent,t),e.constant=e.test.constant&&e.alternate.constant&&e.consequent.constant,e.toWatch=e.constant?[]:[e];break;case vo.Identifier:e.constant=!1,e.toWatch=[e];break;case vo.MemberExpression:cn(e.object,t),e.computed&&cn(e.property,t),e.constant=e.object.constant&&(!e.computed||e.property.constant),e.toWatch=[e];break;case vo.CallExpression:n=!!e.filter&&ln(t,e.callee.name),i=[],a(e.arguments,function(e){cn(e,t),n=n&&e.constant,e.constant||i.push.apply(i,e.toWatch)}),e.constant=n,e.toWatch=e.filter&&ln(t,e.callee.name)?i:[e];break;case vo.AssignmentExpression:cn(e.left,t),cn(e.right,t),e.constant=e.left.constant&&e.right.constant,e.toWatch=[e];break;case vo.ArrayExpression:n=!0,i=[],a(e.elements,function(e){cn(e,t),n=n&&e.constant,e.constant||i.push.apply(i,e.toWatch)}),e.constant=n,e.toWatch=i;break;case vo.ObjectExpression:n=!0,i=[],a(e.properties,function(e){cn(e.value,t),n=n&&e.value.constant&&!e.computed,e.value.constant||i.push.apply(i,e.value.toWatch)}),e.constant=n,e.toWatch=i;break;case vo.ThisExpression:e.constant=!1,e.toWatch=[];break;case vo.LocalsExpression:e.constant=!1,e.toWatch=[]}}function dn(e){if(1==e.length){var t=e[0].expression,n=t.toWatch;return 1!==n.length?n:n[0]!==t?n:void 0}}function un(e){return e.type===vo.Identifier||e.type===vo.MemberExpression}function pn(e){if(1===e.body.length&&un(e.body[0].expression))return{type:vo.AssignmentExpression,left:e.body[0].expression,right:{type:vo.NGValueParameter},operator:"="}}function mn(e){return 0===e.body.length||1===e.body.length&&(e.body[0].expression.type===vo.Literal||e.body[0].expression.type===vo.ArrayExpression||e.body[0].expression.type===vo.ObjectExpression)}function gn(e){return e.constant}function hn(e,t){this.astBuilder=e,this.$filter=t}function fn(e,t){this.astBuilder=e,this.$filter=t}function _n(e){return"constructor"==e}function vn(e){return S(e.valueOf)?e.valueOf():bo.call(e)}function yn(){var e,t,n=ge(),i=ge(),o={"true":!0,"false":!1,"null":null,undefined:void 0};this.addLiteral=function(e,t){o[e]=t},this.setIdentifierFns=function(n,a){return e=n,t=a,this},this.$get=["$filter",function(s){function r(e,t,a){var o,r,c;switch(a=a||b,typeof e){case"string":e=e.trim(),c=e;var f=a?i:n;if(o=f[c],!o){":"===e.charAt(0)&&":"===e.charAt(1)&&(r=!0,e=e.substring(2));var v=a?y:_,w=new _o(v),k=new yo(w,s,v);o=k.parse(e),o.constant?o.$$watchDelegate=g:r?o.$$watchDelegate=o.literal?p:u:o.inputs&&(o.$$watchDelegate=d),a&&(o=l(o)),f[c]=o}return h(o,t);case"function":
var t=e.keyCode;91===t||15<t&&t<19||37<=t&&t<=40||d(e,this,this.value)}),i.hasEvent("paste")&&t.on("paste cut",d)}t.on("change",c),Xo[s]&&a.$$hasNativeValidators&&s===n.type&&t.on(Zo,function(e){if(!l){var t=this[Ta],n=t.badInput,a=t.typeMismatch;l=o.defer(function(){l=null,t.badInput===n&&t.typeMismatch===a||c(e)})}}),a.$render=function(){var e=a.$isEmpty(a.$viewValue)?"":a.$viewValue;t.val()!==e&&t.val(e)}}function fa(e,t){if($(e))return e;if(w(e)){Go.lastIndex=0;var n=Go.exec(e);if(n){var a=+n[1],i=+n[2],o=0,s=0,r=0,l=0,c=Qn(a),d=7*(i-1);return t&&(o=t.getHours(),s=t.getMinutes(),r=t.getSeconds(),l=t.getMilliseconds()),new Date(a,0,c.getDate()+d,o,s,r,l)}}return NaN}function _a(e,t){return function(n,i){var o,s;if($(n))return n;if(w(n)){if('"'==n.charAt(0)&&'"'==n.charAt(n.length-1)&&(n=n.substring(1,n.length-1)),jo.test(n))return new Date(n);if(e.lastIndex=0,o=e.exec(n))return o.shift(),s=i?{yyyy:i.getFullYear(),MM:i.getMonth()+1,dd:i.getDate(),HH:i.getHours(),mm:i.getMinutes(),ss:i.getSeconds(),sss:i.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},a(o,function(e,n){n<t.length&&(s[t[n]]=+e)}),new Date(s.yyyy,s.MM-1,s.dd,s.HH,s.mm,s.ss||0,1e3*s.sss||0)}return NaN}}function va(e,t,n,a){return function(i,o,s,r,l,c,d){function u(e){return e&&!(e.getTime&&e.getTime()!==e.getTime())}function p(e){return v(e)&&!$(e)?n(e)||void 0:e}ya(i,o,s,r),ha(i,o,s,r,l,c);var m,g=r&&r.$options&&r.$options.timezone;if(r.$$parserName=e,r.$parsers.push(function(e){if(r.$isEmpty(e))return null;if(t.test(e)){var a=n(e,m);return g&&(a=Y(a,g)),a}}),r.$formatters.push(function(e){if(e&&!$(e))throw xs("datefmt","Expected `{0}` to be a date",e);return u(e)?(m=e,m&&g&&(m=Y(m,g,!0)),d("date")(e,a,g)):(m=null,"")}),v(s.min)||s.ngMin){var h;r.$validators.min=function(e){return!u(e)||_(h)||n(e)>=h},s.$observe("min",function(e){h=p(e),r.$validate()})}if(v(s.max)||s.ngMax){var f;r.$validators.max=function(e){return!u(e)||_(f)||n(e)<=f},s.$observe("max",function(e){f=p(e),r.$validate()})}}}function ya(e,t,n,a){var i=t[0],o=a.$$hasNativeValidators=y(i.validity);o&&a.$parsers.push(function(e){var n=t.prop(Ta)||{};return n.badInput||n.typeMismatch?void 0:e})}function ba(e,t,n,a,i,o){if(ya(e,t,n,a),ha(e,t,n,a,i,o),a.$$parserName="number",a.$parsers.push(function(e){return a.$isEmpty(e)?null:Vo.test(e)?parseFloat(e):void 0}),a.$formatters.push(function(e){if(!a.$isEmpty(e)){if(!k(e))throw xs("numfmt","Expected `{0}` to be a number",e);e=e.toString()}return e}),v(n.min)||n.ngMin){var s;a.$validators.min=function(e){return a.$isEmpty(e)||_(s)||e>=s},n.$observe("min",function(e){v(e)&&!k(e)&&(e=parseFloat(e,10)),s=k(e)&&!isNaN(e)?e:void 0,a.$validate()})}if(v(n.max)||n.ngMax){var r;a.$validators.max=function(e){return a.$isEmpty(e)||_(r)||e<=r},n.$observe("max",function(e){v(e)&&!k(e)&&(e=parseFloat(e,10)),r=k(e)&&!isNaN(e)?e:void 0,a.$validate()})}}function wa(e,t,n,a,i,o){ha(e,t,n,a,i,o),ma(a),a.$$parserName="url",a.$validators.url=function(e,t){var n=e||t;return a.$isEmpty(n)||Ho.test(n)}}function ka(e,t,n,a,i,o){ha(e,t,n,a,i,o),ma(a),a.$$parserName="email",a.$validators.email=function(e,t){var n=e||t;return a.$isEmpty(n)||qo.test(n)}}function $a(e,t,n,a){_(n.name)&&t.attr("name",s());var i=function(e){t[0].checked&&a.$setViewValue(n.value,e&&e.type)};t.on("click",i),a.$render=function(){var e=n.value;t[0].checked=e==a.$viewValue},n.$observe("value",a.$render)}function Sa(e,t,n,a,i){var o;if(v(a)){if(o=e(a),!o.constant)throw xs("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",n,a);return o(t)}return i}function Ca(e,t,n,a,i,o,s,r){var l=Sa(r,e,"ngTrueValue",n.ngTrueValue,!0),c=Sa(r,e,"ngFalseValue",n.ngFalseValue,!1),d=function(e){a.$setViewValue(t[0].checked,e&&e.type)};t.on("click",d),a.$render=function(){t[0].checked=a.$viewValue},a.$isEmpty=function(e){return e===!1},a.$formatters.push(function(e){return L(e,l)}),a.$parsers.push(function(e){return e?l:c})}function Ma(e,t){return e="ngClass"+e,["$animate",function(n){function i(e,t){var n=[];e:for(var a=0;a<e.length;a++){for(var i=e[a],o=0;o<t.length;o++)if(i==t[o])cont
},recurse:function(e,t,n,i,o,s){var r,l,c,d,u,p=this;if(i=i||m,!s&&v(e.watchId))return t=t||this.nextId(),void this.if_("i",this.lazyAssign(t,this.computedMember("i",e.watchId)),this.lazyRecurse(e,t,n,i,o,!0));switch(e.type){case vo.Program:a(e.body,function(t,n){p.recurse(t.expression,void 0,void 0,function(e){l=e}),n!==e.body.length-1?p.current().body.push(l,";"):p.return_(l)});break;case vo.Literal:d=this.escape(e.value),this.assign(t,d),i(d);break;case vo.UnaryExpression:this.recurse(e.argument,void 0,void 0,function(e){l=e}),d=e.operator+"("+this.ifDefined(l,0)+")",this.assign(t,d),i(d);break;case vo.BinaryExpression:this.recurse(e.left,void 0,void 0,function(e){r=e}),this.recurse(e.right,void 0,void 0,function(e){l=e}),d="+"===e.operator?this.plus(r,l):"-"===e.operator?this.ifDefined(r,0)+e.operator+this.ifDefined(l,0):"("+r+")"+e.operator+"("+l+")",this.assign(t,d),i(d);break;case vo.LogicalExpression:t=t||this.nextId(),p.recurse(e.left,t),p.if_("&&"===e.operator?t:p.not(t),p.lazyRecurse(e.right,t)),i(t);break;case vo.ConditionalExpression:t=t||this.nextId(),p.recurse(e.test,t),p.if_(t,p.lazyRecurse(e.alternate,t),p.lazyRecurse(e.consequent,t)),i(t);break;case vo.Identifier:t=t||this.nextId(),n&&(n.context="inputs"===p.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",e.name)+"?l:s"),n.computed=!1,n.name=e.name),en(e.name),p.if_("inputs"===p.stage||p.not(p.getHasOwnProperty("l",e.name)),function(){p.if_("inputs"===p.stage||"s",function(){o&&1!==o&&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||_n(e.name))&&p.addEnsureSafeObject(t),i(t);break;case vo.MemberExpression:r=n&&(n.context=this.nextId())||this.nextId(),t=t||this.nextId(),p.recurse(e.object,r,void 0,function(){p.if_(p.notNull(r),function(){o&&1!==o&&p.addEnsureSafeAssignContext(r),e.computed?(l=p.nextId(),p.recurse(e.property,l),p.getStringValue(l),p.addEnsureSafeMemberName(l),o&&1!==o&&p.if_(p.not(p.computedMember(r,l)),p.lazyAssign(p.computedMember(r,l),"{}")),d=p.ensureSafeObject(p.computedMember(r,l)),p.assign(t,d),n&&(n.computed=!0,n.name=l)):(en(e.property.name),o&&1!==o&&p.if_(p.not(p.nonComputedMember(r,e.property.name)),p.lazyAssign(p.nonComputedMember(r,e.property.name),"{}")),d=p.nonComputedMember(r,e.property.name),(p.state.expensiveChecks||_n(e.property.name))&&(d=p.ensureSafeObject(d)),p.assign(t,d),n&&(n.computed=!1,n.name=e.property.name))},function(){p.assign(t,"undefined")}),i(t)},!!o);break;case vo.CallExpression:t=t||this.nextId(),e.filter?(l=p.filter(e.callee.name),c=[],a(e.arguments,function(e){var t=p.nextId();p.recurse(e,t),c.push(t)}),d=l+"("+c.join(",")+")",p.assign(t,d),i(t)):(l=p.nextId(),r={},c=[],p.recurse(e.callee,l,r,function(){p.if_(p.notNull(l),function(){p.addEnsureSafeFunction(l),a(e.arguments,function(e){p.recurse(e,p.nextId(),void 0,function(e){c.push(p.ensureSafeObject(e))})}),r.name?(p.state.expensiveChecks||p.addEnsureSafeObject(r.context),d=p.member(r.context,r.name,r.computed)+"("+c.join(",")+")"):d=l+"("+c.join(",")+")",d=p.ensureSafeObject(d),p.assign(t,d)},function(){p.assign(t,"undefined")}),i(t)}));break;case vo.AssignmentExpression:if(l=this.nextId(),r={},!un(e.left))throw uo("lval","Trying to assign a value to a non l-value");this.recurse(e.left,void 0,r,function(){p.if_(p.notNull(r.context),function(){p.recurse(e.right,l),p.addEnsureSafeObject(p.member(r.context,r.name,r.computed)),p.addEnsureSafeAssignContext(r.context),d=p.member(r.context,r.name,r.computed)+e.operator+l,p.assign(t,d),i(t||d)})},1);break;case vo.ArrayExpression:c=[],a(e.elements,function(e){p.recurse(e,p.nextId(),void 0,function(e){c.push(e)})}),d="["+c.join(",")+"]",this.assign(t,d),i(d);break;case vo.ObjectExpression:c=[],u=!1,a(e.properties,function(e){e.computed&&(u=!0)}),u?(t=t||this.nextId(),this.assign(t,"{}"),a(e.properties,function(e){e.computed?(r=p.nextId(),p.recurse(e.key,r)):r=e.key.type===vo.Identifier?e.key.name:""+e.key.value,l=p.nextId
e[n]=a,i&&(e[i]=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))},c=function(e){return e.clone[0]},d=function(e){return e.clone[e.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(t,u){var p=u.ngRepeat,m=o.$$createComment("end ngRepeat",p),g=p.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!g)throw r("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",p);var h=g[1],f=g[2],_=g[3],v=g[4];if(g=h.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/),!g)throw r("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",h);var y=g[3]||g[1],b=g[2];if(_&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(_)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(_)))throw r("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",_);var w,k,$,S,C={$id:Xe};return v?w=e(v):($=function(e,t){return Xe(t)},S=function(e){return e}),function(e,t,o,u,g){w&&(k=function(t,n,a){return b&&(C[b]=t),C[y]=n,C.$index=a,w(e,C)});var h=ge();e.$watchCollection(f,function(o){var u,f,v,w,C,M,x,I,A,E,T,D,P=t[0],F=ge();if(_&&(e[_]=o),n(o))A=o,I=k||$;else{I=k||S,A=[];for(var N in o)Da.call(o,N)&&"$"!==N.charAt(0)&&A.push(N)}for(w=A.length,T=new Array(w),u=0;u<w;u++)if(C=o===A?u:A[u],M=o[C],x=I(C,M,u),h[x])E=h[x],delete h[x],F[x]=E,T[u]=E;else{if(F[x])throw a(T,function(e){e&&e.scope&&(h[e.id]=e)}),r("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",p,x,M);T[u]={id:x,scope:void 0,clone:void 0},F[x]=!0}for(var R in h){if(E=h[R],D=me(E.clone),i.leave(D),D[0].parentNode)for(u=0,f=D.length;u<f;u++)D[u][s]=!0;E.scope.$destroy()}for(u=0;u<w;u++)if(C=o===A?u:A[u],M=o[C],E=T[u],E.scope){v=P;do v=v.nextSibling;while(v&&v[s]);c(E)!=v&&i.move(me(E.clone),null,P),P=d(E),l(E.scope,u,y,M,b,C,w)}else g(function(e,t){E.scope=t;var n=m.cloneNode(!1);e[e.length++]=n,i.enter(e,null,P),P=n,E.clone=e,F[E.id]=E,l(E.scope,u,y,M,b,C,w)});h=F})}}}}],Us="ng-hide",Bs="ng-hide-animate",Ls=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,a){t.$watch(a.ngShow,function(t){e[t?"removeClass":"addClass"](n,Us,{tempClasses:Bs})})}}}],js=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,a){t.$watch(a.ngHide,function(t){e[t?"addClass":"removeClass"](n,Us,{tempClasses:Bs})})}}}],Hs=da(function(e,t,n){e.$watch(n.ngStyle,function(e,n){n&&e!==n&&a(n,function(e,n){t.css(n,"")}),e&&t.css(e)},!0)}),qs=["$animate","$compile",function(e,t){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(n,i,o,s){var r=o.ngSwitch||o.on,l=[],c=[],d=[],u=[],p=function(e,t){return function(){e.splice(t,1)}};n.$watch(r,function(n){var i,o;for(i=0,o=d.length;i<o;++i)e.cancel(d[i]);for(d.length=0,i=0,o=u.length;i<o;++i){var r=me(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["?"])&&a(l,function(n){n.transclude(function(a,i){u.push(i);var o=n.element;a[a.length++]=t.$$createComment("end ngSwitchWhen");var s={clone:a};c.push(s),e.enter(a,o.parent(),o)})})})}}}],Vs=da({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,a,i){a.cases["!"+n.ngSwitchWhen]=a.cases["!"+n.ngSwitchWhen]||[],a.cases["!"+n.ngSwitchWhen].push({transclude:i,element:t})}}),zs=da({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,a,i){a.cases["?"]=a.cases["?"]||[],a.cases["?"].push({transclude:i,element:t})}}),Ws=t("ngTransclude"),Gs=da({restrict:"EAC",link:function(e,t,n,a,i){function o(e){e.length&&(t.empty(),t.append(e))}if(n.ngTransclude===n.$attr.ngTransclude&&(n.ngTransclude=""),!i)throw Ws("orphan","Illegal use of ngTransclude directive
return!(z(a)&&z(i)||z(s)&&z(r))&&(o(a,r)||o(i,s))}),this.$get=["$$rAF","$rootScope","$rootElement","$document","$$HashMap","$$animation","$$AnimateRunner","$templateRequest","$$jqLite","$$forceReflow",function(i,o,h,_,w,k,$,S,C,M){function x(){var e=!1;return function(t){e?t():o.$$postDigest(function(){e=!0,t()})}}function I(e,t){return f(e,t,{})}function A(e,t,n){var a=v(t),i=v(e),o=[],s=Q[n];return s&&j(s,function(e){ie.call(e.node,a)?o.push(e.callback):"leave"===n&&ie.call(e.node,i)&&o.push(e.callback)}),o}function E(e,t,n){var a=l(t);return e.filter(function(e){var t=e.node===a&&(!n||e.callback===n);return!t})}function T(e,t){"close"!==e||t[0].parentNode||oe.off(t)}function D(e,t,n){function a(t,n,a,o){C(function(){var t=A(h,e,n);t.length?i(function(){j(t,function(t){t(e,a,o)}),T(a,e)}):T(a,e)}),t.progress(n,a,o)}function l(t){b(e,w),ae(e,w),m(e,w),w.domOperation(),S.complete(!t)}var u,h,w=U(n);e=r(e),e&&(u=v(e),h=e.parent()),w=p(w);var S=new $,C=x();if(H(w.addClass)&&(w.addClass=w.addClass.join(" ")),w.addClass&&!q(w.addClass)&&(w.addClass=null),H(w.removeClass)&&(w.removeClass=w.removeClass.join(" ")),w.removeClass&&!q(w.removeClass)&&(w.removeClass=null),w.from&&!V(w.from)&&(w.from=null),w.to&&!V(w.to)&&(w.to=null),!u)return l(),S;var M=[u.className,w.addClass,w.removeClass].join(" ");if(!te(M))return l(),S;var E=["enter","move","leave"].indexOf(t)>=0,D=_[0].hidden,N=!X||D||Z.get(u),B=!N&&G.get(u)||{},L=!!B.state;if(N||L&&B.state==d||(N=!R(e,h,t)),N)return D&&a(S,t,"start"),l(),D&&a(S,t,"close"),S;E&&P(e);var z={structural:E,element:e,event:t,addClass:w.addClass,removeClass:w.removeClass,close:l,options:w,runner:S};if(L){var W=s("skip",e,z,B);if(W)return B.state===g?(l(),S):(f(e,B,z),B.runner);var K=s("cancel",e,z,B);if(K)if(B.state===g)B.runner.end();else{if(!B.structural)return f(e,B,z),B.runner;B.close()}else{var Y=s("join",e,z,B);if(Y){if(B.state!==g)return y(e,E?t:null,w),t=z.event=B.event,w=f(e,B,z),B.runner;I(e,z)}}}else I(e,z);var J=z.structural;if(J||(J="animate"===z.event&&Object.keys(z.options.to||{}).length>0||c(z)),!J)return l(),F(e),S;var Q=(B.counter||0)+1;return z.counter=Q,O(e,d,z),o.$$postDigest(function(){var n=G.get(u),i=!n;n=n||{};var o=e.parent()||[],s=o.length>0&&("animate"===n.event||n.structural||c(n));if(i||n.counter!==Q||!s)return i&&(ae(e,w),m(e,w)),(i||E&&n.event!==t)&&(w.domOperation(),S.end()),void(s||F(e));t=!n.structural&&c(n,!0)?"setClass":n.event,O(e,g);var r=k(e,t,n.options);S.setHost(r),a(S,t,"start",{}),r.done(function(n){l(!n);var i=G.get(u);i&&i.counter===Q&&F(v(e)),a(S,t,"close",{})})}),S}function P(e){var t=v(e),n=t.querySelectorAll("["+Ie+"]");j(n,function(e){var t=parseInt(e.getAttribute(Ie)),n=G.get(e);if(n)switch(t){case g:n.runner.end();case d:G.remove(e)}})}function F(e){var t=v(e);t.removeAttribute(Ie),G.remove(t)}function N(e,t){return v(e)===v(t)}function R(e,t,n){var a,i=L(_[0].body),o=N(e,i)||"HTML"===e[0].nodeName,s=N(e,h),r=!1,l=Z.get(v(e)),c=L.data(e[0],Ae);for(c&&(t=c),t=v(t);t&&(s||(s=N(t,h)),t.nodeType===Y);){var d=G.get(t)||{};if(!r){var u=Z.get(t);if(u===!0&&l!==!1){l=!0;break}u===!1&&(l=!1),r=d.structural}if(z(a)||a===!0){var p=L.data(t,ne);W(p)&&(a=p)}if(r&&a===!1)break;if(o||(o=N(t,i)),o&&s)break;t=s||!(c=L.data(t,Ae))?t.parentNode:v(c)}var m=(!r||a)&&l!==!0;return m&&s&&o}function O(e,t,n){n=n||{},n.state=t;var a=v(e);a.setAttribute(Ie,t);var i=G.get(a),o=i?B(i,n):n;G.put(a,o)}var G=new w,Z=new w,X=null,J=o.$watch(function(){return 0===S.totalPendingRequests},function(e){e&&(J(),o.$$postDigest(function(){o.$$postDigest(function(){null===X&&(X=!0)})}))}),Q={},ee=a.classNameFilter(),te=ee?function(e){return ee.test(e)}:function(){return!0},ae=u(C),ie=e.Node.prototype.contains||function(e){return this===e||!!(16&this.compareDocumentPosition(e))},oe={on:function(e,t,n){var a=l(t);Q[e]=Q[e]||[],Q[e].push({node:a,callback:n}),L(t).on("$destroy",function(){var i=G.get(a);i||oe.off(e,t,n)})},off:function(e,n,a){if(1!==arguments.length||t.isString(arguments[0])){var i=Q[e];i&&(Q[e]=1===arguments.length?null:E(i,n,a))}else{n=arguments[0];for(var o in Q)Q[o]=E
}]),angular.module("template/modal/backdrop.html",[]).run(["$templateCache",function(e){e.put("template/modal/backdrop.html",'<div class="modal-backdrop fade {{ backdropClass }}"\n ng-class="{in: animate}"\n ng-style="{\'z-index\': 1040 + (index && 1 || 0) + index*10}"\n></div>\n')}]),angular.module("template/modal/window.html",[]).run(["$templateCache",function(e){e.put("template/modal/window.html",'<div tabindex="-1" role="dialog" class="modal fade" ng-class="{in: animate}" ng-style="{\'z-index\': 1050 + index*10, display: hiddenBySingle ? \'none\' : \'block\'}">\n <div class="modal_close_wrap" ng-click="close($event)">\n <div class="modal_close"></div>\n </div>\n <div class="modal-dialog" ng-class="{\'modal-sm\': size == \'sm\', \'modal-lg\': size == \'lg\'}"><div class="modal-content" modal-transclude></div></div>\n</div>')}]),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,a,i){function o(e){return function(t,a,i){var o,s=null;if(e.$attachPlaylist(t),void 0===t&&void 0!==a)return e.pause();if(e.currentTrack){o=a?a[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,i),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 a=e||t.playing;t.pause(),n(function(){t.$clearSourceList(),t.$addSourceList(t.$playlist[t.currentTrack]),t.load(a),t.currentTrack++})}},prev:function(e){var t=this;if(t.currentTrack&&t.currentTrack-1){var a=e||t.playing;t.pause(),n(function(){t.$clearSourceList(),t.$addSourceList(t.$playlist[t.currentTrack-2]),t.load(a),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 a=document.createElement("SOURCE");["src","type","media"].forEach(function(t){void 0!==e[t]&&a.setAttribute(t,e[t])}),t.$element.append(a)});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,a=parseInt(e/60,10)%60,i=parseInt(
a.prototype.getName=function(){return this.name},a.prototype.getData=function(){return this.data},a.prototype.G=function(){return this.H},t("Zlib.GunzipMember",a),t("Zlib.GunzipMember.prototype.getName",a.prototype.getName),t("Zlib.GunzipMember.prototype.getData",a.prototype.getData),t("Zlib.GunzipMember.prototype.getMtime",a.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,a,i=[];for(n=3;258>=n;n++)a=t(n),i[n]=a[2]<<24|a[1]<<16|a[0];return i}();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,a=this.c,i=this.b,o=this.a,r=d,c=d,u=d,m=i.length,g=d;switch(this.d=this.f=0,r=n[a++],r===d&&e(Error("invalid uncompressed block header: LEN (first byte)")),c=r,r=n[a++],r===d&&e(Error("invalid uncompressed block header: LEN (second byte)")),c|=r<<8,r=n[a++],r===d&&e(Error("invalid uncompressed block header: NLEN (first byte)")),u=r,r=n[a++],r===d&&e(Error("invalid uncompressed block header: NLEN (second byte)")),u|=r<<8,c===~u&&e(Error("invalid uncompressed block header: length verify")),a+c>n.length&&e(Error("input buffer is broken")),this.k){case w:for(;o+c>i.length;){if(g=m-o,c-=g,p)i.set(n.subarray(a,a+g),o),o+=g,a+=g;else for(;g--;)i[o++]=n[a++];this.a=o,i=this.e(),o=this.a}break;case k:for(;o+c>i.length;)i=this.e({t:2});break;default:e(Error("invalid inflate mode"))}if(p)i.set(n.subarray(a,a+c),o),o+=c,a+=c;else for(;c--;)i[o++]=n[a++];this.c=a,this.a=o,this.b=i;break;case 1:this.l(U,L);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],I=p?new Uint16Array(x):x,A=[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(A):A,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,N=new(p?Uint8Array:Array)(288);for($=0,S=N.length;$<S;++$)N[$]=143>=$?8:255>=$?9:279>=$?7:8;var R,O,U=i(N),B=new(p?Uint8Array:Array)(30);for(R=0,O=B.length;R<O;++R)B[R]=5;var L=i(B);o.prototype.l=function(e,t){var n=this.b,a=this.a;this.r=e;for(var i,o,l,c,d=n.length-258;256!==(i=r(this,e));)if(256>i)a>=d&&(this.a=a,n=this.e(),a=this.a),n[a++]=i;else for(o=i-257,c=I[o],0<E[o]&&(c+=s(this,E[o])),i=r(this,t),l=D[i],0<F[i]&&(l+=s(this,F[i])),a>=d&&(this.a=a,n=this.e(),a=this.a);c--;)n[a]=n[a++-l];for(;8<=this.d;)this.d-=8,this.c--;this.a=a},o.prototype.C=function(e,t){var n=this.b,a=this.a;this.r=e;for(var i,o,l,c,d=n.length;256!==(i=r(this,e));)if(256>i)a>=d&&(n=this.e(),d=n.length),n[a++]=i;else for(o=i-257,c=I[o],0<E[o]&&(c+=s(this,E[o])),i=r(this,t),l=D[i],0<F[i]&&(l+=s(this,F[i])),a+c>d&&(n=this.e(),d=n.length);c
Te[2*Ue+Oe]=(1<Qe)+0,Ae[Ae.length-1]+=16;Fe[Be+Ue]=Je}Re|=ke(De,8-2*Be),Ne|=ke(Te,8-2*Be)}$e|=ke(Pe,20),Ce|=ke(Fe,20),Y.X=$e,Ee.X=Ce,j.z=Ae,j.Oa=Ne+0,j.ja=Ne|Re,Y.Nb=!j.ja+0}L=!H.Ab}if(!L){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=ga,at=et.Ea,it=ha,ot=et.Ea,st=fa;if(0<et.i){for(var rt=m,rt=-1;16>rt;++rt)he(tt,nt+rt*pa-4,tt,nt+rt*pa+12);for(rt=-1;8>rt;++rt)he(at,it+rt*pa-4,at,it+rt*pa+4),he(ot,st+rt*pa-4,ot,st+rt*pa+4)}else{for(rt=0;16>rt;++rt)tt[nt+rt*pa-1]=129;for(rt=0;8>rt;++rt)at[it+rt*pa-1]=129,ot[st+rt*pa-1]=129;0<et.d&&(tt[nt-1-pa]=at[it-1-pa]=ot[st-1-pa]=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-pa,lt,ct,16),t(at,it-pa,dt,ut,8),t(ot,st-pa,pt,mt,8);else if(0==et.i){for(i=0;21>i;++i)tt[nt-pa-1+i]=127;for(i=0;9>i;++i)at[it-pa-1+i]=127;for(i=0;9>i;++i)ot[st-pa-1+i]=127}if(et.wa){var ft=nt-pa+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*pa]=tt[_t+ft+4*pa]=tt[_t+ft+8*pa]=tt[_t+ft+12*pa]=tt[_t+ft+0];for(ht=0;16>ht;ht++){var vt=tt,yt=nt+hi[ht];li[et.Eb[ht]](vt,yt),et.Oa&1<<ht?Ua(gt,16*+ht,vt,yt,0):et.ja&1<<ht&&La(gt,16*+ht,vt,yt)}}else{var bt=ge(et,et.Eb[0]);if(ci[bt](tt,nt),et.ja)for(ht=0;16>ht;ht++)vt=tt,yt=nt+hi[ht],et.Oa&1<<ht?Ua(gt,16*+ht,vt,yt,0):et.ja&1<<ht&&La(gt,16*+ht,vt,yt)}if(bt=ge(et,et.Tc),di[bt](at,it),di[bt](ot,st),983040&et.ja){var wt=et.z,kt=256;983040&et.Oa?Ba(wt,kt,at,it):ja(wt,kt,at,it)}if(15728640&et.ja){var $t=et.z,kt=320;15728640&et.Oa?Ba($t,kt,ot,st):ja($t,kt,ot,st)}et.d<et.hb-1&&(t(lt,ct,tt,nt+15*pa,16),t(dt,ut,at,it+7*pa,8),t(pt,mt,ot,st+7*pa,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:63<xt?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 It=m,At=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+At,Ft=St.ra,Nt=St.sa+8*St.i+At,It=0;16>It;++It)t(Et,Tt+It*St.H,St.Ea,+ga+It*pa,16);for(It=0;8>It;++It)t(Dt,Pt+It*St.r,St.Ea,+ha+It*pa,8),t(Ft,Nt+It*St.r,St.Ea,+fa+It*pa,8)}var Rt=e,Ot=s,Ut=1,Bt=Rt.oa;if(Rt.qb){var Lt=Rt.rc,Ut=Ut&WebPWorkerSync(Lt);if(p(Lt.a==OK),Ut){if(Bt.N=Ot,Bt.ha=Rt.Ja,Bt.d=Rt.d,Bt.W=Rt.W,Bt.W){var jt=Bt.M;Bt.M=Rt.M,Rt.M=jt}WebPWorkerLaunch(Lt),++Rt.Ja==Rt.jb&&(Rt.Ja=0)}}else{Bt.d=Rt.d,Bt.W=Rt.W;t:{var Ht=1,qt=Rt.oa,Vt=pi[Rt.A],zt=Vt*Rt.H,Wt=parseInt(Vt/2)*Rt.r,Gt=16*qt.ha*Rt.H,Kt=8*qt.ha*Rt.r,Yt=Rt.ca,Zt=Rt.da-zt+Gt,Xt=Rt.aa,Jt=Rt.ba-Wt+Kt,tn=Rt.ra,an=Rt.sa-Wt+Kt,on=0==qt.d,rn=(qt.d>=Rt.hb-1)+0,ln=16*qt.d,cn=16*(qt.d+1);if(qt.W){var dn=Rt,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)0<gn&&Xa(yn,bn,_n,$n+4),vn.ab&&Qa(yn,bn,_n,$n),0<hn&&Za(yn,bn,_n,$n+4),vn.ab&&Ja(yn,bn,_n,$n);else{var Sn=mn.r,Cn=mn.aa,Mn=mn.ba+8*fn.ha*Sn+8*gn,xn=mn.ra,In=mn.sa+8*fn.ha*Sn+8*gn,An=mn.Ac.fb?40<=wn?2:15<=wn?1:0:40<=wn?3:20<=wn?2:15<=wn?1:0;0<gn&&(qa(yn,bn,_n,$n+4,kn,An),za(Cn,Mn,xn,In,Sn,$n+4,kn,An)),vn.ab&&(Ga(yn,bn,_n,$n,kn,An),Ya(Cn,Mn,xn,In,Sn,$n,kn,An)),0<hn&&(Ha(yn,bn,_n,$n+4,kn,An),Va(Cn,Mn,xn,In,Sn,$n+4,kn,An)),vn.ab&&(Wa(yn,bn,_n,$n,kn,An),Ka(Cn,Mn,xn,In,Sn,$n,kn,An))}}}if(Ot.put){if(on?(Ot.y=Rt.ca,Ot.D=Rt.da+Gt,Ot.c=Rt.aa,Ot.B=Rt.ba+Kt,Ot.S=Rt.ra,Ot.C=Rt.sa+Kt):(ln-=Vt,Ot.y=Yt,Ot.D=Zt,Ot.c=Xt,Ot.B=Jt,Ot.S=tn,Ot.C=an),rn||(cn-=Vt),cn>Ot.K&&(cn=Ot.K),Rt.Ga!=g&&ln<cn&&(0==ln?(Ot.p=O(Rt,ln,cn-ln),Ot.q=0):Ot.q=O(Rt,ln,cn-ln),Ot.p==g)){Ut=ye(Rt,nn,"Could not decode alpha data.");break t}if(ln<Ot.k){var En=Ot.k-ln,ln=Ot.k;p(!(1&En)),Ot.D+=Rt.H*En,Ot.B+=Rt.r*(En>>1),Ot.C+=Rt.r*(En>>1),Ot.p!=g&&(Ot.q+=Ot.width*En)}ln<cn&&(Ot.D+=Ot.t,Ot.B+=Ot.t>>1,Ot.C+=Ot.t>>1,Ot.p!=g&&(Ot.q+=Ot.t),Ot.w=ln-Ot.k,Ot.m=Ot.Ka-Ot.t,Ot.h=cn-ln,Ht=Ot.put(Ot))}qt.ha+1==Rt.jb&&!rn&&(t(Rt.ca,Rt.da-zt,Yt,Zt+16*Rt.H,zt),t(Rt.aa,Rt.ba-Wt,Xt,Jt+8*Rt.r,Wt),t(Rt.ra,Rt.sa-W
this.WebPGetDecoderVersion=this.Ld=function(){return 512};var ki=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],$i=[[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]],Si=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],Ci=u([da,ua],"");c(4,f);var Mi=[[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]],xi=134480385,Ii=16,Ai=-227,Ei=482,Ti=[Oe,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(Ne((e>>24&255)+(t[n+0]>>24&255)-(t[n-1]>>24&255))<<24|Ne((e>>16&255)+(t[n+0]>>16&255)-(t[n-1]>>16&255))<<16|Ne((e>>8&255)+(t[n+0]>>8&255)-(t[n-1]>>8&255))<<8|Ne((255&e)+(255&t[n+0])-(255&t[n-1])))>>>0},function(e,t,n){var a=t[n-1];return e=Fe(e,t[n+0]),(Re(e>>24&255,a>>24&255)<<24|Re(e>>16&255,a>>16&255)<<16|Re(e>>8&255,a>>8&255)<<8|Re(e>>0&255,a>>0&255))>>>0},Oe,Oe],Di={Cc:f,Bc:f,Kc:f},Pi=16,Fi=16,Ni=16,Ri=[2,3,7],Oi=[3,3,11],Ui=0,Bi=1,Li=2,ji=3,Hi=4,qi=[xn+In,xn,xn,xn,40],Vi=19,zi=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],Wi=120,Gi=[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],Ki=1<<Ii-1,Yi=c(256,0),Zi=c(256,0),Xi=c(256,_),Ji=c(256,_),Qi=c(Ei-Ai,f),eo=c(Ei-Ai,f),to=0,no=Array(Xt),ao=[function(e,t,n,a,i,o,s,r,l,c,d,u,p){mt(e,t,n,a,i,o,s,r,l,c,d,u,p,Me,3)},gt,function(e,t,n,a,i,o,s,r,l,c,d,u,p){mt(e,t,n,a,i,o,s,r,l,c,d,u,p,Ee,3)},ht,ft,_t,function(e,t,n,a,i,o,s,r,l,c,d,u,p){mt(e,t,n,a,i,o,s,r,l,c,d,u,p,xe,2)},gt,ht,ft,_t];this.Hd=function(e,t,n,a){return Ft(Ut,e,t,n,a)},this.Id=function(e,t,n,a){return Ft(Bt,e,t,n,a)},this.Jd=function(e,t,n,a){return Ft(qt,e,t,n,a)},this.Ed=function(e,t,n,a){return Ft(Ht,e,t,n,a)},this.Fd=function(e,t,n,a){return Ft(Lt,e,t,n,a)},this.Gd=function(e,t,n,a){return Ft(jt,e,t,n,a)},this.WebPDecode=this.Dd=function(t,n,a){var i=e(un),o="VP8StatusCode";return a==g?tn:(o=Nt(t,[0],[n],a.input),o!=Qt?o==rn?nn:o:(i.j=a.j,i.Qa=a.Qa,o=Pt(t,0,[n],i)))}}}(),function(e,t){"use strict";angular.module("toaster",[]).constant("toasterConfig",{limit:0,"tap-to-dismiss":!0,"close-button":!1,"close-html":'<button class="toast-close-button" type="button">&times;</button>',"newest-on-top":!0,"time-out":5e3,"icon-classes":{error:"toast-error",info:"toast-info",wait:"toast-wait",success:"toast-success",warning:"toast-warning"},"body-output-type":"","body-template":"toasterBodyTmpl.html","icon-class":"toast-info","position-class":"toast-top-right","title-class":"toast-title","message-class":"toast-message","prevent-duplicates":!1,"mouseover-timer-stop":!0}).service("toaster",["$rootScope","toasterConfig",function(e,t){function n(e){return function(t,n,a,i,o,s,r,l,c){return angular.isString(t)?this.pop(e,t,n,a,i,o,s,r,l,c):this.pop(angular.extend(t,{type:e}))}}var a=function(){var e={};return e.newGuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0,n="x"==e?t:3&t|8;return n.toString(16)})},e}();this.pop=function(t,n,i,o,s,r,l,c,d,u){if(angular.isObject(t)){var p=t;this.toast={type:p.type,title:p
}else if(e.charAt(0)>=97&&e.charAt(0)<=122){for(var u=0;u<p.constructors.length;u++)if(p.constructors[u].predicate==e){g=p.constructors[u];break}if(!g)throw new Error("Constructor not found for predicate: "+e)}else{var n=this.readInt(t+"[id]"),a=uintToInt(n);if(812830625==a){var i=this.fetchBytes(t+"[packed_string]"),o=gzipUncompress(i),s=bytesToArrayBuffer(o),r=new TLDeserialization(s);return r.fetchObject(e,t)}var f=p.constructorsIndex;if(!f){p.constructorsIndex=f={};for(var u=0;u<p.constructors.length;u++)f[p.constructors[u].id]=u}var u=f[a];u&&(g=p.constructors[u]);var _=!1;if(!g&&this.mtproto){var v=Config.Schema.API;for(u=0;u<v.constructors.length;u++)if(v.constructors[u].id==a){g=v.constructors[u],delete this.mtproto,_=!0;break}}if(!g)throw new Error("Constructor not found: "+n+" "+this.fetchInt()+" "+this.fetchInt())}m=g.predicate;var c={_:m},y=(this.mtproto?"mt_":"")+m,b=this;if(this.override[y])this.override[y].apply(this,[c,t+"["+m+"]"]);else{var u,w,e,k,$,S,C,l=g.params.length;for(u=0;u<l;u++){if(w=g.params[u],e=w.type,"#"==e&&void 0===c.pFlags&&(c.pFlags={}),k=e.indexOf("?")!==-1){if($=e.split("?"),S=$[0].split("."),!(c[S[0]]&1<<S[1]))continue;e=$[1]}C=b.fetchObject(e,t+"["+m+"]["+w.name+"]"),k&&"true"===e?c.pFlags[w.name]=C:c[w.name]=C}}return _&&(this.mtproto=!0),c},TLDeserialization.prototype.getOffset=function(){return this.offset},TLDeserialization.prototype.fetchEnd=function(){if(this.offset!=this.byteView.length)throw new Error("Fetch end with non-empty buffer");return!0},angular.module("izhukov.utils",[]).provider("Storage",function(){this.setPrefix=function(e){ConfigStorage.prefix(e)},this.$get=["$q",function(e){var t={};return angular.forEach(["get","set","remove","clear"],function(n){t[n]=function(){var t=e.defer(),a=Array.prototype.slice.call(arguments);return a.push(function(e){t.resolve(e)}),ConfigStorage[n].apply(ConfigStorage,a),t.promise}}),t.noPrefix=function(){ConfigStorage.noPrefix()},t}]}).service("qSync",function(){return{when:function(e){return{then:function(t){return t(e)}}},reject:function(e){return{then:function(t,n){if(n)return n(e)}}}}}).service("FileManager",["$window","$q","$timeout","qSync",function(e,t,n,a){function i(){return f}function o(e,n){return l(n).then(function(n){return s(n,e).then(function(){return n},function(e){try{n.truncate(0)}catch(a){}return t.reject(e)})})}function s(e,n){var a=t.defer();if(e.onwriteend=function(e){a.resolve()},e.onerror=function(e){a.reject(e)},n.file)n.file(function(t){e.write(t)},function(e){a.reject(e)});else if(n instanceof Blob)e.write(n);else try{var i=blobConstruct([bytesToArrayBuffer(n)]);e.write(i)}catch(o){a.reject(o)}return a.promise}function r(n,i,o){if(!e.chrome||!chrome.fileSystem||!chrome.fileSystem.chooseEntry)return a.reject();var s=t.defer();return chrome.fileSystem.chooseEntry({type:"saveFile",suggestedName:n,accepts:[{mimeTypes:[o],extensions:[i]}]},function(e){s.resolve(e)}),s.promise}function l(e){var n=t.defer();return e.createWriter(function(e){n.resolve(e)},function(e){n.reject(e)}),n.promise}function c(e,t){var n=[],a={write:function(e){return f?(n.push(e),void setZeroTimeout(function(){a.onwriteend&&a.onwriteend()})):(a.onerror&&a.onerror(new Error("Blob not supported by browser")),!1)},truncate:function(){n=[]},finalize:function(){var a=blobConstruct(n,e);return t&&t(a),a}};return a}function d(e,t){return void 0!==e.toURL?e.toURL(t):e instanceof Blob?URL.createObjectURL(e):"data:"+t+";base64,"+bytesToBase64(e)}function u(e){if(e instanceof Blob){var n=t.defer();try{var a=new FileReader;return a.onloadend=function(e){n.resolve(new Uint8Array(e.target.result))},a.onerror=function(e){n.reject(e)},a.readAsArrayBuffer(e),n.promise}catch(i){return t.reject(i)}}else if(e.file){var n=t.defer();return e.file(function(e){u(e).then(function(e){n.resolve(e)},function(e){n.reject(e)})},function(e){n.reject(e)}),n.promise}return t.when(e)}function p(e){var n;try{var a=new FileReader;a.onloadend=function(){n.resolve(a.result)},a.readAsDataURL(e)}catch(i){return t.reject(i)}return n=t.defer(),n.promise}function m(e,t){if(h&&e in
n[angular.element(t).attr("my-i18n-param")||angular.element(t).attr("name")]=t.outerHTML}),t.children("my-i18n-param").remove();var a=t.attr("my-i18n")||t.attr("msgid")?t:t.children("my-i18n-format, [my-i18n-format]");a.each(function(t,a){var i=angular.element(a),o=i.attr("my-i18n")||i.attr("msgid")||i.attr("my-i18n-format")||i.html().replace(/\s+/g," ").trim();if(i.hasClass("nocopy")){var s=e(o+"_raw",n);i.attr("data-content",s)}else{var s=e(o,n);i.html(s)}})}}}]),angular.module("izhukov.mtproto",["izhukov.utils"]).factory("MtpDcConfigurator",function(){function e(e,i){if(void 0===a[e]){var o,s,r=!1;if(Config.Modes.ssl||!Config.Modes.http){var l=t[e-1]+(i?"-1":""),c=Config.Modes.test?"apiw_test1":"apiw1";return r="https://"+l+".web.telegram.org/"+c}for(o=0;o<n.length;o++)if(s=n[o],s.id==e){r="http://"+s.host+(80!=s.port?":"+s.port:"")+"/apiw1";break}a[e]=r}return a[e]}var t=["pluto","venus","aurora","vesta","flora"],n=Config.Modes.test?[{id:1,host:"149.154.175.10",port:80},{id:2,host:"149.154.167.40",port:80},{id:3,host:"149.154.175.117",port:80}]:[{id:1,host:"149.154.175.50",port:80},{id:2,host:"149.154.167.51",port:80},{id:3,host:"149.154.175.100",port:80},{id:4,host:"149.154.167.91",port:80},{id:5,host:"149.154.171.5",port:80}],a={};return{chooseServer:e}}).factory("MtpRsaKeysManager",function(){function e(){if(!i){for(var e=0;e<n.length;e++){var t=n[e],o=new TLSerialization;o.storeBytes(bytesFromHex(t.modulus),"n"),o.storeBytes(bytesFromHex(t.exponent),"e");var s=o.getBuffer(),r=sha1BytesSync(s).slice(-8);r.reverse(),a[bytesToHex(r)]={modulus:t.modulus,exponent:t.exponent}}i=!0}}function t(t){e();var n,i,o;for(o=0;o<t.length;o++)if(n=bigStringInt(t[o]).toString(16),i=a[n])return angular.extend({fingerprint:t[o]},i);return!1}var n=[{modulus:"c150023e2f70db7985ded064759cfecf0af328e69a41daf4d6f01b538135a6f91f8f8b2a0ec9ba9720ce352efcf6c5680ffc424bd634864902de0b4bd6d49f4e580230e3ae97d95c8b19442b3c0a10d8f5633fecedd6926a7f6dab0ddb7d457f9ea81b8465fcd6fffeed114011df91c059caedaf97625f6c96ecc74725556934ef781d866b34f011fce4d835a090196e9a5f0e4449af7eb697ddb9076494ca5f81104a305b6dd27665722c46b60e5df680fb16b210607ef217652e60236c255f6a28315f4083a96791d7214bf64c1df4fd0db1944fb26a2a57031b32eee64ad15a8ba68885cde74a5bfc920f6abf59ba5c75506373e7130f9042da922179251f",exponent:"010001"}],a={},i=!1;return{prepare:e,select:t}}).service("MtpSecureRandom",["$window",function(e){return $(e).on("click keydown",rng_seed_time),new SecureRandom}]).factory("MtpTimeManager",["Storage",function(e){function t(){var e=tsNow(),t=Math.floor(e/1e3)+i,n=e%1e3,o=nextRandomInt(65535),s=[t,n<<21|o<<3|4];return(a[0]>s[0]||a[0]==s[0]&&a[1]>=s[1])&&(s=[a[0],a[1]+4]),a=s,longFromInts(s[0],s[1])}function n(t,n){var o=t-Math.floor((n||tsNow())/1e3),s=Math.abs(i-o)>10;return e.set({server_time_offset:o}),a=[0,0],i=o,console.log(dT(),"Apply server time",t,n,o,s),s}var a=[0,0],i=0;return e.get("server_time_offset").then(function(e){e&&(i=e)}),{generateID:t,applyServerTime:n}}]).factory("MtpAuthorizer",["MtpDcConfigurator","MtpRsaKeysManager","MtpSecureRandom","MtpTimeManager","CryptoWorker","$http","$q","$timeout",function(e,t,n,a,i,o,s,r){function l(t,n){var i=n.byteLength,r=new Int32Array(n),l=new TLSerialization;l.storeLongP(0,0,"auth_key_id"),l.storeLong(a.generateID(),"msg_id"),l.storeInt(i,"request_length");var c=l.getBuffer(),d=new Int32Array(c),u=c.byteLength,p=new ArrayBuffer(u+i),m=new Int32Array(p);m.set(d),m.set(r,d.length);var g,h=_?p:m,f=e.chooseServer(t),v={code:406,type:"NETWORK_BAD_RESPONSE",url:f};try{g=o.post(f,h,{responseType:"arraybuffer",transformRequest:null})}catch(y){g=s.reject(angular.extend(v,{originalError:y}))}return g.then(function(e){if(!e.data||!e.data.byteLength)return s.reject(v);try{var t=new TLDeserialization(e.data,{mtproto:!0});t.fetchLong("auth_key_id"),t.fetchLong("msg_id"),t.fetchInt("msg_len")}catch(n){return s.reject(angular.extend(v,{originalError:n}))}return t},function(e){return e.message||e.type||(e=angular.extend(v,{originalError:e})),s.reject(e)})}function c(e){var n=e.deferred,a=new TLSerialization({mtproto:!0});a.stor
e.wrapApiCall(t,n,a).then(function(e){c.resolve(e)},u)},u))}else if(a.rawError||420!=o.code)if(a.rawError||500!=o.code&&"MSG_WAIT_FAILED"!=o.type)u(o);else{var _=tsNow();if(a.stopTime){if(_>=a.stopTime)return u(o)}else a.stopTime=_+1e3*(void 0!==a.timeout?a.timeout:10);a.waitTime=a.waitTime?Math.min(60,1.5*a.waitTime):1,setTimeout(function(){f(r)},1e3*a.waitTime)}else{var v=o.type.match(/^FLOOD_WAIT_(\d+)/)[1]||10;if(v>(a.timeout||60))return u(o);setTimeout(function(){f(r)},1e3*v)}})};return(s=a.dcID||k)?g(s,a).then(f,u):e.get("dc").then(function(e){g(s=e||2,a).then(f,u)}),c.promise}function f(){return e.get("user_auth").then(function(e){return d(e&&e.id>0||!1),e.id||0})}function _(){return k||!1}var v,y={},b={},w={},k=!1;return a.start(),e.get("dc").then(function(e){e&&(k=e)}),{getBaseDcID:_,getUserID:f,invokeApi:h,getNetworker:g,setUserAuth:u,logOut:p}}]).factory("MtpApiFileManager",["MtpApiManager","$q","qSync","FileManager","IdbFileStorage","TmpfsFileStorage","MemoryFileStorage","WebpManager",function(e,t,n,a,i,o,s,r){function l(e,n,a){void 0===w[e]&&(w[e]=[],k[e]=0);var i=w[e],o=t.defer();return i.push({cb:n,deferred:o,activeDelta:a}),setZeroTimeout(function(){c(e)}),o.promise}function c(e){var t=w[e],n="upload"==e?11:5;if(k[e]>=n||!t||!t.length)return!1;var a=t.shift(),i=a.activeDelta||1;k[e]+=i;$++;a.cb().then(function(t){k[e]-=i,c(e),a.deferred.resolve(t)},function(t){k[e]-=i,c(e),a.deferred.reject(t)})}function d(e){switch(e._){case"inputDocumentFileLocation":var t=(e.file_name||"").split(".",2),n=t[1]||"";e.sticker&&!r.isWebpSupported()&&(n+=".png");var a=e.version?"v"+e.version:"";return t[0]+"_"+e.id+a+"."+n;default:e.volume_id||console.trace("Empty location",e);var n="jpg";return e.sticker&&(n=r.isWebpSupported()?"webp":"png"),e.volume_id+"_"+e.local_id+"_"+e.secret+"."+n}}function u(e){if(!e)return!1;var t=d(e);return b[t]||!1}function p(){if(!Config.Modes.memory_only){if(o.isAvailable())return o;if(i.isAvailable())return i}return s}function m(e,t){var n=d(e);return v[n]||(v[n]=p().saveFile(n,t).then(function(e){return b[n]=e},function(e){delete v[n]})),v[n]}function g(i){if(!a.isAvailable())return t.reject({type:"BROWSER_BLOB_NOT_SUPPORTED"});var o=d(i),s=i.sticker?"image/webp":"image/jpeg",c=v[o]||y[o];if(c)return c;var u=p();return y[o]=u.getFile(o).then(function(e){return b[o]=e},function(){var t=l(i.dc_id,function(){var t=i;return t._&&"fileLocation"!=t._||(t=angular.extend({},i,{_:"inputFileLocation"})),e.invokeApi("upload.getFile",{location:t,offset:0,limit:1048576},{dcID:i.dc_id,fileDownload:!0,createNetworker:!0,noErrorBox:!0})}),c=function(e){return!i.sticker||r.isWebpSupported()?n.when(e):r.getPngBlobFromWebp(e)};return u.getFileWriter(o,s).then(function(e){return t.then(function(t){return c(t.bytes).then(function(t){return a.write(e,t).then(function(){return b[o]=e.finalize()})})})})})}function h(e,t){var n=p(),a=d(e);return n.getFile(a,t)}function f(i,o,s,c){if(!a.isAvailable())return t.reject({type:"BROWSER_BLOB_NOT_SUPPORTED"});c=c||{};var u=!1;o.sticker&&!r.isWebpSupported()&&(c.toFileEntry||s>524288?delete o.sticker:(u=!0,c.mime="image/png"));var m=d(o),g=c.toFileEntry||null,h=v[m]||y[m],f=p();if(h)return g?h.then(function(e){return a.copy(e,g)}):h;var _,w=t.defer(),k=!1,$=!1,S=c.mime||"image/jpeg",C=function(e){w.reject(e),C=angular.noop,!_||e&&"DOWNLOAD_CANCELED"==e.type||_.truncate(0)};return f.getFile(m,s).then(function(e){g?a.copy(e,g).then(function(){w.resolve()},C):w.resolve(b[m]=e)},function(){var c=g?a.getFileWriter(g):f.getFileWriter(m,S),d=function(e){return u?r.getPngBlobFromWebp(e):n.when(e)};c.then(function(n){_=n;var r,c,u=524288,p=0,h=t.when();if(n.length){if(p=n.length,p>=s)return void(g?w.resolve():w.resolve(b[m]=n.finalize()));n.seek(p),w.notify({done:p,total:s})}for(r=p;r<s;r+=u)c=t.defer(),function(r,c,p,h){return l(i,function(){return k?t.when():e.invokeApi("upload.getFile",{location:o,offset:c,limit:u},{dcID:i,fileDownload:!0,singleInRequest:void 0!==window.safari,createNetworker:!0})},2).then(function(e){h.then(function(){return k?t.when():d(e.bytes).then(function(e
return s.html=t.trustAs("html",u),a.full=s,a}var p={},m={};return a.$on("apiUpdate",function(e,t){switch(t._){case"updateWebPage":l(t.webpage)}}),{saveWebPage:l,openEmbed:c,wrapForFull:u,wrapForHistory:d}}]).service("AppGamesManager",["$modal","$sce","$window","$rootScope","MtpApiManager","AppPhotosManager","AppDocsManager","RichTextProcessor",function(e,t,n,a,i,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,{noLinks:!0,noLinebreaks:!0}),e.rDescription=r.wrapRichText(e.description||"",{}),void 0===p[e.id]?p[e.id]=e:safeReplaceObject(p[e.id],e)}function c(t,n,i){var o=a.$new(!0);o.gameID=t,o.messageID=n,o.embedUrl=i,e.open({templateUrl:templateUrl("game_modal"),windowTemplateUrl:templateUrl("media_modal_layout"),controller:"GameModalController",scope:o,windowClass:"photo_modal_window mobile_modal"})}function d(e){var t=angular.copy(p[e])||{_:"gameEmpty"};return t.photo&&t.photo.id&&(t.photo=o.wrapForHistory(t.photo.id)),t.document&&t.document.id&&(t.document=s.wrapForHistory(t.document.id)),t}function u(e,a,i){var o=d(e),s=$(window).width()-(Config.Mobile?0:10),r=$(n).height()-(Config.Mobile?51:150);!Config.Mobile&&s>800&&(s-=208);var l={width:s,height:r},c=Config.Modes.chrome_packed?"webview":"iframe",u="text/html",p="<"+c+' src="'+encodeEntities(i)+'" type="'+encodeEntities(u)+'" frameborder="0" border="0" webkitallowfullscreen mozallowfullscreen allowfullscreen width="'+l.width+'" height="'+l.height+'" style="width: '+l.width+"px; height: "+l.height+'px;" sandbox="allow-scripts allow-same-origin"></'+c+">";return l.html=t.trustAs("html",p),o.full=l,o}var p={};return{saveGame:l,openGame:c,wrapForFull:u,wrapForHistory:d}}]).service("AppDocsManager",["$sce","$rootScope","$modal","$window","$q","$timeout","RichTextProcessor","MtpApiFileManager","FileManager","qSync",function(e,t,n,a,i,o,s,r,l,c){function d(e,t){if(w[e.id]=e,t&&angular.extend(e,t),e.thumb&&"photoCachedSize"==e.thumb._&&(r.saveSmallFile(e.thumb.location,e.thumb.bytes),e.thumb.size=e.thumb.bytes.length,delete e.thumb.bytes,e.thumb._="photoSize"),e.thumb&&"photoSizeEmpty"==e.thumb._&&delete e.thumb,angular.forEach(e.attributes,function(t){switch(t._){case"documentAttributeFilename":e.file_name=t.file_name;break;case"documentAttributeAudio":e.duration=t.duration,e.audioTitle=t.title,e.audioPerformer=t.performer,e.type=t.pFlags.voice?"voice":"audio";break;case"documentAttributeVideo":e.duration=t.duration,e.w=t.w,e.h=t.h,e.thumb&&(e.type="video");break;case"documentAttributeSticker":e.sticker=!0,void 0!==t.alt&&(e.stickerEmojiRaw=t.alt,e.stickerEmoji=s.wrapRichText(e.stickerEmojiRaw,{noLinks:!0,noLinebreaks:!0})),t.stickerset&&("inputStickerSetEmpty"==t.stickerset._?delete t.stickerset:"inputStickerSetID"==t.stickerset._&&(e.stickerSetInput=t.stickerset)),e.thumb&&"image/webp"==e.mime_type&&(e.type="sticker");break;case"documentAttributeImageSize":e.w=t.w,e.h=t.h;break;case"documentAttributeAnimated":"image/gif"!=e.mime_type&&"video/mp4"!=e.mime_type||!e.thumb||(e.type="gif"),e.animated=!0}}),!e.mime_type)switch(e.type){case"gif":e.mime_type="video/mp4";break;case"video":e.mime_type="video/mp4";break;case"sticker":e.mime_type="image/webp";break;case"audio":e.mime_type="audio/mpeg";break;case"voice":e.mime_type="audio/ogg";break;default:e.mime_type="application/octet-stream"}e.file_name||(e.file_name=""),"documentEmpty"==e._&&(e.size=0)}function u(e){return w[e]||{_:"documentEmpty"}}function p(e){return void 0!==w[e]}function m(e){if(e.file_name)return e.file_name;var t="."+e.mime_type.split("/")[1];return".octet-stream"==t&&(t=""),"t_"+(e.type||"file")+e.id+t}function g(e){if(void 0!==k[e])return k[e];var t,n,a,i,o=angular.copy(w[e]),s=o.thumb,r=!1;switch(o.type){case"video":t=Math.min(S-80,Config.Mobile?210:150),n=Math.min(C-100,Config.Mobile?210:150);break;case"sticker":r=!0,t=Math.min(S-80,Config.Mobile?128:192),n=Math.min(C-100,Config.Mobile?128:192);break;case"gif":r=!0,t=Math.min(S-80,Config.Mobile?21
},n)})}function c(e,t){return a.invokeApi("auth.requestPasswordRecovery",{},t)}function d(e,t){return a.invokeApi("auth.recoverPassword",{code:e},t)}function u(e,t){for(var n=unescape(encodeURIComponent(t)),a=new ArrayBuffer(n.length),o=new Uint8Array(a),s=0,r=n.length;s<r;s++)o[s]=n.charCodeAt(s);return a=bufferConcat(bufferConcat(e,o),e),i.sha256Hash(a)}return{check:l,getState:s,requestRecovery:c,recover:d,updateSettings:r}}]).service("ErrorService",["$rootScope","$modal","$window",function(e,t,n){function a(n,a){if(s>=1)return console.log("Skip error box, too many open",s,n,a),!1;a=a||{};var i=e.$new();angular.extend(i,n),s++;var o=t.open({templateUrl:templateUrl("error_modal"),scope:i,windowClass:a.windowClass||"error_modal_window"});return o.result["finally"](function(){s--}),o}function i(e,t){return a({title:e,description:t})}function o(n,a){a=a||{};var i=e.$new();angular.extend(i,n);var o=t.open({templateUrl:templateUrl("confirm_modal"),scope:i,windowClass:a.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:a,alert:i,confirm:o}}]).service("PeersSelectService",["$rootScope","$modal",function(e,t){function n(n){var a=e.$new();return a.multiSelect=!1,a.noMessages=!0,n&&angular.extend(a,n),t.open({templateUrl:templateUrl("peer_select"),controller:"PeerSelectController",scope:a,windowClass:"peer_select_window mobile_modal",backdrop:"single"}).result}function a(a){if(Config.Mobile)return n(a).then(function(e){return[e]});var i=e.$new();return i.multiSelect=!0,i.noMessages=!0,a&&angular.extend(i,a),t.open({templateUrl:templateUrl("peer_select"),controller:"PeerSelectController",scope:i,windowClass:"peer_select_window mobile_modal",backdrop:"single"}).result}return{selectPeer:n,selectPeers:a}}]).service("ContactsSelectService",["$rootScope","$modal",function(e,t){function n(n,a){a=a||{};var i=e.$new();return i.multiSelect=n,angular.extend(i,a),!i.action&&n&&(i.action="select"),t.open({templateUrl:templateUrl("contacts_modal"),controller:"ContactsModalController",scope:i,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 a(){e.get("last_version").then(function(t){t!=Config.App.version&&(t&&i(t),e.set({last_version:Config.App.version}))})}function i(e){var a=t.$new();a.lastVersion=e,n.open({controller:"ChangelogModalController",templateUrl:templateUrl("changelog_modal"),scope:a,windowClass:"changelog_modal_window mobile_modal"})}return{checkUpdate:a,showChangelog:i}}]).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("https://web.telegram.org","_blank")}catch(t){}e||(location.href="https://web.telegram.org")},function(){t.set({https_dismiss:tsNow()})})})}function a(){i||"http:"!=location.protocol||Config.Modes.http||Config.App.domains.indexOf(location.hostname)==-1||(i=!0,setTimeout(n,12e4))}var i=!1;return{start:a,check:n}}]).service("LayoutSwitchService",["ErrorService","Storage","AppRuntimeManager","$window",function(e,t,n,a){function i(e){ConfigStorage.noPrefix(),t.set({layout_selected:e?"mobile":"desktop",layout_width:$(window).width()}).then(function(){n.reload()})}function o(n){if(!l){var a=$(window).width(),o=a<600;!a||!n&&(Config.Navigator.mobile?a<=800:o)||o!=Config.Mobile&&(ConfigStorage.noPrefix(),t.get("layout_width").then(function(n){return a!=n&&(l=!0,void e.confirm({type:o?"SWITCH_MOBILE_VERSION":"SWITCH_DESKTOP_VERSION"}).then(function(){i(o)},function(){ConfigStorage.noPrefix(),t.set({layout_width:a}),l=!1}))}))}}function s(){r||Config.Navigator.mobile||(r=!0,o(),$(a).on("resize",o))}var r=!1,l=!1;return{start:s,switchLayout:i}}]).service("TelegramMeWebService",["Storage",function(e){func
d.regroupWrappedHistory(K.messages,-i)&&e.$broadcast("messages_regroup"),delete e.state.empty,e.$broadcast("ui_history_append")):Q=0,e.historyState.skipped=X=Q>0,oe&&I()}})}}function I(){if(Z){if(re)return void(oe=!0);oe=!1,e.state.moreActive=ie=!0;var t=ne,n=++ae,a=e.historyFilter.mediaType&&{_:te[e.historyFilter.mediaType]},i=Config.Mobile?20:0,o=a?d.getSearch(e.curDialog.peerID,"",a,J,i):d.getHistory(e.curDialog.peerID,J,i);o.then(function(a){e.state.moreActive=ie=!1,t==ne&&n==ae&&(angular.forEach(a.history,function(e){K.messages.unshift(d.wrapForHistory(e)),K.ids.unshift(e)}),Z=null===a.count||a.history.length&&K.messages.length<a.count,a.history.length&&(delete e.state.empty,J=a.history[a.history.length-1],e.$broadcast("ui_history_prepend"),d.regroupWrappedHistory(K.messages,a.history.length+1)&&e.$broadcast("messages_regroup")),le&&x())})}}function A(t){e.historyState.missedCount=0,Z=!1,e.historyState.skipped=X=!1,J=0,Q=0,K=b(G);var n=0,a=0;e.curDialog.messageID?(J=parseInt(e.curDialog.messageID),n=20,a=20):t&&(n=10),e.state.moreActive=ie=!1,oe=!1,e.state.lessActive=re=!1,le=!1;var o=K.messages.length;o&&(J||a)&&(o=0,K.messages=[],K.ids=[],e.state.empty=!0);var s=++ne,r=e.historyFilter.mediaType&&{_:te[e.historyFilter.mediaType]},l=r?d.getSearch(e.curDialog.peerID,"",r,J):d.getHistory(e.curDialog.peerID,J,n,a,o);e.state.mayBeHasMore=!0,l.then(function(t){if(s==ne){var n=t.history.length;Q=t.unreadSkip||J&&t.history.indexOf(J)>=a-1?t.history[0]:0,J=t.history[t.history.length-1],e.historyState.skipped=X=Q>0,Z=null===t.count||n&&n<t.count,$(),safeReplaceObject(e.state,{loaded:!0,empty:!n}),K.messages=[],K.ids=[],angular.forEach(t.history,function(n){var a=d.wrapForHistory(n);e.historyState.skipped&&delete a.pFlags.unread,t.unreadOffset&&(a.unreadAfter=!0),K.messages.push(a),K.ids.push(n)}),K.messages.reverse(),K.ids.reverse(),d.regroupWrappedHistory(K.messages)&&e.$broadcast("messages_regroup"),t.unreadOffset?e.historyUnreadAfter=t.history[t.unreadOffset-1]:e.historyUnreadAfter&&delete e.historyUnreadAfter,e.$broadcast("messages_unread_after");var o=e.curDialog.messageID||0;onContentLoaded(function(){e.$broadcast("messages_focus",o)}),e.$broadcast("ui_history_change"),i.idle.isIDLE||d.readHistory(e.curDialog.peerID),S(),C()}},function(){safeReplaceObject(e.state,{error:!0,loaded:!0})})}function E(){ne++,safeReplaceObject(e.historyPeer,{}),safeReplaceObject(e.state,{notSelected:!0}),K=!1,Z=!1,e.$broadcast("ui_history_change")}function T(){d.startBot(G,0,e.curDialog.startParam),e.curDialog.startParam=!1}function D(){delete e.curDialog.startParam}function P(){r.invokeApi("channels.joinChannel",{channel:c.getChannelInput(-G)}).then(function(e){p.processUpdateMessage(e)})}function F(e){f.getPeerSettings(G).then(function(t){t.mute_until=e?2e9:0,f.updatePeerSettings(G,t)})}function N(t,n){if(e.historyState.botActions||i.idle.afterFocus)return!1;var o=d.getMessage(t);if("messageService"==o._)return!1;if(!e.historyState.selectActions){if(getSelectedText())return!1;for(var s=n.target;s;)if(s instanceof SVGElement)s=s.parentNode;else{if(s.className&&s.className.indexOf("im_message_outer_wrap")!=-1){if(Config.Mobile)return!1;break}if(s.className&&s.className.indexOf("im_message_date")!=-1)return u.isBroadcast(G)?L(t):H(t),!1;if(Config.Mobile&&s.className&&s.className.indexOf("im_message_body")!=-1)break;if("A"==s.tagName||hasOnlick(s))return!1;s=s.parentNode}if(Config.Mobile)return e.historyState.canEdit=d.canEditMessage(t),a.open({templateUrl:templateUrl("message_actions_modal"),windowClass:"message_actions_modal_window",scope:e.$new()}).result.then(function(n){switch(n){case"reply":H(t);break;case"edit":q(t);break;case"delete":B(t);break;case"forward":j(t);break;case"select":e.historyState.selectActions="selected",e.$broadcast("ui_panel_update"),N(t)}}),!1}var r=n&&n.shiftKey;if(r&&e.$broadcast("ui_selection_clear"),e.selectedMsgs[t])ee=!1,delete e.selectedMsgs[t],e.selectedCount--,e.selectedCount||(e.historyState.selectActions=!1,e.$broadcast("ui_panel_update"));else{if(r){if(ee!=t){var l,c,p,m=ee>t;for(l=0;l<K.messages.lengt
n.mute_until=t?0:2e9,l.updatePeerSettings(e.userID,n)})})})}),e.goToHistory=function(){n.$broadcast("history_focus",{peerString:g})},e.flushHistory=function(n){m.confirm({type:n?"HISTORY_FLUSH":"HISTORY_FLUSH_AND_DELETE"}).then(function(){d.flushHistory(e.userID,n).then(function(){n?e.goToHistory():(a.close(),t.url("/im"))})})},e.importContact=function(t){var a=n.$new();a.importContact={phone:e.user.phone,first_name:e.user.first_name,last_name:e.user.last_name},o.open({templateUrl:templateUrl(t?"edit_contact_modal":"import_contact_modal"),controller:"ImportContactModalController",windowClass:"md_simple_modal_window mobile_modal",scope:a}).result.then(function(t){e.userID==t&&(e.user=s.getUser(e.userID))})},e.deleteContact=function(){s.deleteContacts([e.userID]).then(function(){e.user=s.getUser(e.userID)})},e.inviteToGroup=function(){p.selectPeer({confirm_type:"INVITE_TO_GROUP",noUsers:!0}).then(function(t){var a=u.getPeerID(t),i=a<0?-a:0;d.startBot(e.user.id,i).then(function(){n.$broadcast("history_focus",{peerString:t})})})},e.sendCommand=function(t){d.sendText(e.userID,"/"+t),n.$broadcast("history_focus",{peerString:g})},e.toggleBlock=function(t){r.invokeApi(t?"contacts.block":"contacts.unblock",{id:s.getUserInput(e.userID)}).then(function(){e.blocked=t})},e.shareContact=function(){p.selectPeer({confirm_type:"SHARE_CONTACT_PEER",canSend:!0}).then(function(t){var a=u.getPeerID(t);d.sendOther(a,{_:"inputMediaContact",phone_number:e.user.phone,first_name:e.user.first_name,last_name:e.user.last_name,user_id:e.user.id}),n.$broadcast("history_focus",{peerString:t})})}}]).controller("ChatModalController",["$scope","$modalInstance","$location","$timeout","$rootScope","$modal","AppUsersManager","AppChatsManager","AppProfileManager","AppPhotosManager","MtpApiManager","MtpApiFileManager","NotificationsManager","AppMessagesManager","AppPeersManager","ApiUpdatesManager","ContactsSelectService","ErrorService",function(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f,_){function v(t){h.processUpdateMessage(t),i.$broadcast("history_focus",{peerString:e.chatFull.peerString})}function y(t){t&&t.type&&0===t.type.indexOf("image")&&(e.photo.updating=!0,u.uploadFile(t).then(function(t){return d.invokeApi("messages.editChatPhoto",{chat_id:r.getChatInput(e.chatID),photo:{_:"inputChatUploadedPhoto",file:t}}).then(v)})["finally"](function(){e.photo.updating=!1}))}e.chatFull=r.wrapForFull(e.chatID,{}),e.settings={notifications:!0},e.maxParticipants=200,l.getChatFull(e.chatID).then(function(t){e.chatFull=r.wrapForFull(e.chatID,t),e.$broadcast("ui_height"),e.needMigrate=e.chatFull&&e.chatFull.participants&&e.chatFull.participants.participants&&e.chatFull.participants.participants.length>=200,(Config.Modes.test||Config.Modes.debug)&&(e.needMigrate=!0),p.savePeerSettings(-e.chatID,t.notify_settings),p.getPeerMuted(-e.chatID).then(function(t){e.settings.notifications=!t,e.$watch("settings.notifications",function(t,n){return t!==n&&void p.getPeerSettings(-e.chatID).then(function(n){t?n.mute_until=0:n.mute_until=2e9,p.updatePeerSettings(-e.chatID,n)})})})}),e.leaveGroup=function(){_.confirm({type:"HISTORY_LEAVE_AND_FLUSH"}).then(function(){d.invokeApi("messages.deleteChatUser",{chat_id:r.getChatInput(e.chatID),user_id:{_:"inputUserSelf"}}).then(function(a){h.processUpdateMessage(a),m.flushHistory(-e.chatID).then(function(){t.close(),n.url("/im")})})})},e.inviteToGroup=function(){var t=[];angular.forEach(e.chatFull.participants.participants,function(e){t.push(e.user_id)}),f.selectContacts({disabled:t}).then(function(t){angular.forEach(t,function(t){d.invokeApi("messages.addChatUser",{chat_id:r.getChatInput(e.chatID),user_id:s.getUserInput(t),fwd_limit:100}).then(function(e){h.processUpdateMessage(e)})}),i.$broadcast("history_focus",{peerString:e.chatFull.peerString})})},e.migrateToSuperGroup=function(){_.confirm({type:"SUPERGROUP_MIGRATE"}).then(function(){d.invokeApi("messages.migrateChat",{chat_id:r.getChatInput(e.chatID)}).then(v)})},e.kickFromGroup=function(t){d.invokeApi("messages.deleteChatUser",{chat_id:r.getChatInput(e.chatID),user_id:s.getUserInput(t)}).then
return function(e){var t=" ";return e=(e||"").replace(/\D/g,""),"7"==e.charAt(0)&&11==e.length?"+"+e.charAt(0)+t+"("+e.substr(1,3)+")"+t+e.substr(4,3)+"-"+e.substr(7,2)+"-"+e.substr(9,2):"+"+e}}]).filter("formatSize",[function(){return function(e,t){if(!e)return"0";if(e<1024)return e+" b";if(e<1048576)return Math.round(e/1024)+" KB";var n=e/1048576;return n=t?n.toFixed(1):Math.round(10*n)/10,n+" MB"}}]).filter("formatSizeProgress",["$filter","_",function(e,t){var n=e("formatSize");return function(e){if(!e.total)return"";var a=n(e.done,!0),i=a.split(" "),o=n(e.total),s=o.split(" ");return s[1]===i[1]?t("format_size_progress_mulitple",{done:i[0],total:s[0],parts:i[1]||""}):t("format_size_progress",{done:a,total:o})}}]).filter("formatShortNumber",[function(){return function(e){if(!e)return"0";if(e<1e3)return e.toString();if(e<9e5){var t=e>1e4?1:10;return Math.round(e/1e3*t)/t+"K"}var t=e>1e7?1:10;return Math.round(e/1e6*t)/t+"M"}}]).filter("nl2br",[function(){return function(e){return e.replace(/\n/g,"<br/>")}}]).filter("shortUrl",[function(){return function(e){return"string"!=typeof e?e:e.replace(/^https?:\/\//,"").replace(/^www\./,"")}}]).filter("richText",["$filter",function(e){var t=e("linky");return function(e){return t(e,"_blank").replace(/\n|&#10;/g,"<br/>")}}]).filter("relativeTime",["$filter","_",function(e,t){var n=t.pluralize("relative_time_pluralize_minutes_ago"),a=t.pluralize("relative_time_pluralize_hours_ago"),i=e("dateOrTime");return function(e){var o=Math.abs(tsNow(!0)-e);if(o<60)return t("relative_time_just_now");if(o<3600){var s=Math.floor(o/60);return n(s)}if(o<86400){var r=Math.floor(o/3600);return a(r)}return i(e,!0)}}]),angular.module("myApp.services").service("AppMessagesManager",["$q","$rootScope","$location","$filter","$timeout","$sce","ApiUpdatesManager","AppUsersManager","AppChatsManager","AppPeersManager","AppPhotosManager","AppDocsManager","AppStickersManager","AppMessagesIDsManager","DraftsManager","AppWebPagesManager","AppGamesManager","MtpApiManager","MtpApiFileManager","ServerTimeManager","RichTextProcessor","NotificationsManager","Storage","AppProfileManager","TelegramMeWebService","ErrorService","StatusManager","_",function(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f,_,v,y,b,w,k,$,S,C,M,x){function I(t,n,a){var i=Te,o=angular.isString(t)&&t.length;if(o){if(!a||Ue.query!==t){Ue.query=t;var s=SearchIndexManager.search(t,Oe);Ue.dialogs=[],angular.forEach(Te.dialogs,function(e){s[e.peerID]&&Ue.dialogs.push(e)}),Ue.count=Ue.dialogs.length}i=Ue}else Ue.query=!1;var r=0;if(n>0)for(r=0;r<i.dialogs.length&&!(n>i.dialogs[r].index);r++);return a=a||20,o||Ze||i.dialogs.length>=r+a?e.when({dialogs:i.dialogs.slice(r,r+a)}):T(a).then(function(){if(r=0,n>0)for(r=0;r<i.dialogs.length&&!(n>i.dialogs[r].index);r++);return{dialogs:i.dialogs.slice(r,r+a)}})}function A(e){for(var t=0;t<Te.dialogs.length;t++)if(Te.dialogs[t].peerID==e)return[Te.dialogs[t],t];return[]}function E(e){var n=c.getPeerID(e.peer);if(!n)return!1;var a=c.isChannel(n)?-n:0,i=c.getPeerSearchText(n);SearchIndexManager.indexObject(n,i,Oe);var o=(c.isMegagroup(a),m.getFullMessageID(e.top_message,a)),r=q(o),d=r.date;if(!a&&n<0){var u=l.getChat(-n);if(u&&u.migrated_to&&u.pFlags.deactivated){var p=c.getPeerID(u.migrated_to);return Qe[n]=p,void(et[p]=n)}}e.top_message=o,e.read_inbox_max_id=m.getFullMessageID(e.read_inbox_max_id,a),e.read_outbox_max_id=m.getFullMessageID(e.read_outbox_max_id,a);var h=r.date;if(a){var f=l.getChat(a);(!h||f.date&&f.date>h)&&(h=f.date)}var _=g.saveDraft(n,e.draft);_&&_.date>h&&(h=_.date),e.index=D(h),e.peerID=n,P(e,d);var v=r.pFlags.out?"read_outbox_max_id":"read_inbox_max_id";if(r.mid&&r.mid>e[v]&&(r.pFlags.unread=!0),void 0===Ee[n]&&!r.deleted){var y={count:null,history:[o],pending:[]};Ee[n]=y,j(y,r)&&t.$broadcast("history_reply_markup",{peerID:n})}if(w.savePeerSettings(n,e.notify_settings),a&&e.pts&&s.addChannelState(a,e.pts),Config.Modes.packed&&!a&&e.unread_count>0&&We&&e.top_message>We&&r.pFlags.unread&&!r.pFlags.out&&!r.pFlags.silent){var b=16&r.flags?r.from_id:n;w.getPeerMuted(b).then(function(e){e||ke(r)})}}function
a===i?o.needDate&&(delete o.needDate,p=!0):n&&!s||o.needDate||(o.needDate=!0,p=!0),o.fwdFromID&&o.media&&o.media.document&&(o.media.document.sticker||o.media.document.audioTitle)&&(o.fromID!=(s||{}).fromID||!(s||{}).fwdFromID)&&(delete o.fwdFromID,o._="message"),o.views&&!qe[o.mid]&&(qe[o.mid]=!0,Ve.push(o.mid),ze===!1&&(ze=setTimeout(ve,1e4))),s&&s.fromID==o.fromID&&!s.fwdFromID==!o.fwdFromID&&s.viaBotID==o.viaBotID&&!s.action&&!o.action&&o.date<s.date+900){var g=o.message&&o.message.length<70&&o.message.indexOf("\n")==-1&&!o.reply_to_mid;m&&o.fwdFromID&&o.fwdFromID==s.fwdFromID&&o.viaBotID==s.viaBotID?o.grouped=g?"im_grouped_fwd_short":"im_grouped_fwd":o.grouped=!o.fwdFromID&&g?"im_grouped_short":"im_grouped",m&&o.fwdFromID&&(s.grouped||(s.grouped="im_grouped_fwd_start"),o.grouped&&n==d-1&&(o.grouped+=" im_grouped_fwd_end"))}else!s&&n||(delete o.grouped,m&&s&&s.grouped&&s.fwdFromID&&(s.grouped+=" im_grouped_fwd_end"));p||l==(s&&s.grouped)||(p=!0),s=o,i=a}return p||r==(s&&s.grouped)||(p=!0),p}function be(e,t,n){var a,i=!1;if(e.media)switch(e.media._){case"messageMediaPhoto":a=d.choosePhotoSize(e.media.photo,t,n);break;case"messageMediaDocument":a=e.media.document.thumb,e.media.document.sticker&&(i=!0)}if(a&&"photoSizeEmpty"!=a._){var o=calcImageInBox(a.w,a.h,t,n,!0),s={width:o.w,height:o.h,location:a.location,size:a.size};return i&&(s.location.sticker=!0),s}return!1}function we(e){return!(!e||We&&!(e>We))&&(k.set({max_seen_msg:e}),void _.invokeApi("messages.receivedMessages",{max_id:e}))}function ke(e,n){n=n||{};var a,i,o=de(e),s={},c=!1,d=w.getNotifySettings();if(e.fwdFromID&&n.fwd_count)c=Ke(n.fwd_count);else if(e.message)c=d.nopreview?x("conversation_message_sent"):b.wrapPlainText(e.message);else if(e.media){var u=!1;switch(e.media._){case"messageMediaPhoto":c=x("conversation_media_photo_raw"),u="🖼";break;case"messageMediaDocument":switch(e.media.document.type){case"gif":c=x("conversation_media_gif_raw"),u="🎬";break;case"sticker":c=x("conversation_media_sticker");var p=e.media.document.stickerEmojiRaw;void 0!==p&&(c=b.wrapPlainText(p)+" "+c);break;case"video":c=x("conversation_media_video_raw"),u="📹";break;case"voice":case"audio":c=x("conversation_media_audio_raw");break;default:e.media.document.file_name?c=b.wrapPlainText("📎 "+e.media.document.file_name):(c=x("conversation_media_document_raw"),u="📎")}break;case"messageMediaGeo":case"messageMediaVenue":c=x("conversation_media_location_raw"),u="📍";break;case"messageMediaContact":c=x("conversation_media_contact_raw");break;case"messageMediaGame":c=b.wrapPlainText("🎮 "+e.media.game.title);break;default:c=x("conversation_media_attachment_raw")}u!==!1&&e.media.caption&&(c=b.wrapPlainText(u+" "+e.media.caption))}else if("messageService"==e._)switch(e.action._){case"messageActionChatCreate":c=x("conversation_group_created_raw");break;case"messageActionChatEditTitle":c=x("conversation_group_renamed_raw");break;case"messageActionChatEditPhoto":c=x("conversation_group_photo_updated_raw");break;case"messageActionChatDeletePhoto":c=x("conversation_group_photo_removed_raw");break;case"messageActionChatAddUser":case"messageActionChatAddUsers":c=x("conversation_invited_user_message_raw");break;case"messageActionChatReturn":c=x("conversation_returned_to_group_raw");break;case"messageActionChatJoined":c=x("conversation_joined_group_raw");break;case"messageActionChatDeleteUser":c=x("conversation_kicked_user_message_raw");break;case"messageActionChatLeave":c=x("conversation_left_group_raw");break;case"messageActionChatJoinedByLink":c=x("conversation_joined_by_link_raw");break;case"messageActionChannelCreate":c=x("conversation_created_channel_raw");break;case"messageActionChannelEditTitle":c=x("conversation_changed_channel_name_raw");break;case"messageActionChannelEditPhoto":c=x("conversation_changed_channel_photo_raw");break;case"messageActionChannelDeletePhoto":c=x("conversation_removed_channel_photo_raw");break;case"messageActionPinMessage":c=x("conversation_pinned_message_raw");break;case"messageActionGameScore":c=Ye(e.action.score)}if(o>0){var m=r.getUser(e.fr
e.put("partials/desktop/channel_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="updateChannel()">\n\n <h4 my-i18n="channel_edit_modal_title"></h4>\n\n <div class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="channel_edit_name"></label>\n <input class="md-input" my-focused type="text" ng-model="channel.title" />\n </div>\n\n <div class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="channel_edit_about"></label>\n <input class="md-input" type="text" ng-model="channel.about" />\n </div>\n\n </form>\n\n </div>\n\n <div class="md_simple_modal_footer">\n <button class="btn btn-md" ng-click="$dismiss()" my-i18n="modal_cancel"></button>\n <button class="btn btn-md btn-md-primary" ng-class="{disabled: channel.updating}" ng-click="updateChannel()" ng-bind="channel.updating ? \'channel_edit_submit_active\' : \'channel_edit_submit\' | i18n" ng-disabled="channel.updating"></button>\n </div>\n\n</div>'),e.put("partials/desktop/channel_modal.html",'<div class="chat_modal_wrap md_modal_wrap" my-modal-position>\n\n <div class="md_modal_head">\n <div class="md_modal_title_wrap">\n <div class="md_modal_actions_wrap clearfix">\n <a class="md_modal_action md_modal_action_close" ng-click="$close()" my-i18n="modal_close"></a>\n <a class="md_modal_action" ng-if="hasRights(\'edit_title\')" ng-click="editChannel()" my-i18n="modal_edit"></a>\n </div>\n <div class="md_modal_title" ng-switch="isMegagroup">\n <span ng-switch-when="true" my-i18n="group_modal_info"></span>\n <span ng-switch-default my-i18n="channel_modal_info"></span>\n </div>\n </div>\n\n <div class="peer_modal_profile_wrap clearfix">\n <div class="peer_modal_photo_wrap pull-left" ng-switch="photo.updating">\n <div ng-switch-when="true" class="peer_modal_photo md_photo_loading loading_dots">\n <i></i><i></i><i></i>\n </div>\n <a ng-switch-default ng-click="openPhoto(chatFull.chat_photo.id, {p: -chatFull.chat.id})" class="peer_modal_photo" my-peer-photolink="::-chatFull.chat.id" img-class="peer_modal_photo" no-open="true" watch="true" ng-class="{disabled: !chatFull.chat.photo.photo_small}" ng-disabled="!chatFull.chat.photo.photo_small"></a>\n </div>\n <div class="peer_modal_profile">\n <div class="peer_modal_profile_name" my-peer-link="-chatFull.chat.id" verified="true"></div>\n <div class="peer_modal_profile_description" ng-if="chatFull.participants_count > 0">\n <ng-pluralize count="chatFull.participants_count"\n when="group_modal_pluralize_participants">\n </ng-pluralize>\n </div>\n </div>\n </div>\n </div>\n\n <div class="md_modal_split_actions_wrap">\n <div class="md_modal_split_actions" ng-switch="hasRights(\'edit_photo\')">\n <div ng-switch-when="true" class="md_modal_split_action">\n <input my-file-upload type="file" multiple="false" class="im_attach_input" size="120" multiple="false" accept="image/x-png, image/png, image/gif, image/jpeg" title="{{\'group_modal_update_photo\' | i18n}}" />\n <i class="md_modal_split_action_camera"></i>\n </div>\n <a ng-switch-default class="md_modal_split_action" href="" ng-click="goToHistory()" title="{{\'user_modal_send_message\' | i18n}}">\n <i class="md_modal_split_action_msg"></i>\n </a>\n </div>\n </div>\n\n <div class="md_modal_body">\n\n <div class="md_modal_sections clearfix">\n\n <div class="md_modal_iconed_section_wrap md_modal_iconed_section_number" ng-if="chatFull.rAbout || chatFull.chat.username || chatFull.chat.pFlags.creator">\n <i class="md_modal_section_icon md_modal_section_icon_about"></i>\n\n <div class="md_modal_section_param_wrap" ng-if="chatFull.about.length > 0">\n <div class="md_modal_section_param_value">\n <span ng-bind-htm
e.put("partials/desktop/dialog.html",'<a class="im_dialog" ng-mousedown="dialogSelect(dialogMessage.peerString, dialogMessage.unreadCount == -1 && dialogMessage.mid)">\n\n <div class="im_dialog_meta pull-right text-right">\n <div class="im_dialog_date" ng-bind="dialogMessage.dateText"></div>\n <span\n class="im_dialog_badge badge ng-hide"\n ng-show="dialogMessage.unreadCount > 0 && !dialogMessage.pFlags.out"\n ng-bind="dialogMessage.unreadCount"\n my-peer-muted="dialogMessage.peerID" muted-class="im_dialog_badge_muted"\n ></span>\n <i\n class="im_dialog_unread ng-hide"\n ng-show="dialogMessage.pFlags.out && dialogMessage.pFlags.unread"\n ></i>\n </div>\n\n <div class="im_dialog_photo pull-left" my-peer-photolink="::dialogMessage.peerID" img-class="im_dialog_photo" watch="true"></div>\n\n <div class="im_dialog_message_wrap">\n\n <div class="im_dialog_peer">\n <span my-peer-link="dialogMessage.peerID" verified="true"></span>\n </div>\n\n <div ng-switch="dialogMessage.typing ? \'typing\' : (!dialogMessage.unreadCount && dialogMessage.draft ? \'draft\' : (dialogMessage.deleted ? \'deleted\' : \'message\'))">\n\n <div ng-switch-when="typing" class="im_dialog_message">\n <span class="im_short_message_service" my-i18n="im_conversation_group_typing">\n <my-i18n-param name="name"><span my-peer-link="dialogMessage.typing" short="true" class="im_dialog_chat_from_wrap"></span></my-i18n-param><my-i18n-param name="dots"><span my-loading-dots></span></my-i18n-param>\n </span>\n </div>\n\n <div ng-switch-when="draft" class="im_dialog_message">\n <span class="im_dialog_chat_from_wrap">\n <span class="im_dialog_draft_from" my-i18n="conversation_draft"></span>\n </span>\n <span class="im_short_message_text" ng-bind-html="dialogMessage.draft.richMessage"></span>\n </div>\n\n <div ng-switch-when="deleted" class="im_dialog_message">\n <span class="im_short_message_text">&nbsp;</span>\n </div>\n\n <div ng-switch-when="message" class="im_dialog_message">\n <span ng-switch="dialogMessage.peerID > 0 || dialogMessage.fromID < 0">\n <span ng-switch-when="true">\n <span class="im_dialog_chat_from_wrap" ng-if="dialogMessage.pFlags.out && dialogMessage.fromID > 0">\n <span\n class="im_dialog_chat_from"\n my-i18n="conversation_you"\n ></span><span ng-if="dialogMessage.message.length > 0 || !!dialogMessage.media">:</span>\n </span>\n </span>\n <span ng-switch-default>\n <span class="im_dialog_chat_from_wrap" ng-switch="dialogMessage.pFlags.out && dialogMessage._ != \'messageService\'">\n <span\n ng-switch-when="false"\n class="im_dialog_chat_from"\n my-peer-link="dialogMessage.from_id" short="true" peer-watch="true"\n ></span><span\n ng-switch-when="true"\n class="im_dialog_chat_from"\n my-i18n="conversation_you"\n ></span><span ng-if="dialogMessage.message.length || dialogMessage.media">:</span>\n </span>\n </span>\n </span>\n\n <span my-short-message="dialogMessage"></span>\n </div>\n </div>\n\n </div>\n\n</a>\n'),e.put("partials/desktop/document_modal.html",'<div class="modal_close_wrap" 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="m
e.put("partials/desktop/import_contact_modal.html",'<div class="md_simple_modal_wrap" my-modal-position>\n\n <div class="md_simple_modal_body">\n\n <form class="modal_simple_form" ng-submit="doImport()" name="importContactForm">\n\n <h4 my-i18n="contact_import_modal_title"></h4>\n\n <div class="md-input-group" my-labeled-input ng-class="{\'md-input-error\': importContactForm.phone.$invalid && importContactForm.phone.$touched}" my-labeled-input>\n <label class="md-input-label" ng-switch="importContactForm.phone.$invalid && importContactForm.phone.$touched">\n <span ng-switch-when="true" my-i18n="login_incorrect_number"></span>\n <span ng-switch-default my-i18n="contact_import_modal_phone"></span>\n </label>\n <input class="md-input" my-focused type="tel" ng-model="importContact.phone" ng-pattern="/^[-\\+\\(\\)\\d\\s]{7,32}$/" my-submit-on-enter name="phone" />\n </div>\n\n <div class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="contact_edit_modal_first_name"></label>\n <input class="md-input" type="text" ng-model="importContact.first_name" my-submit-on-enter />\n </div>\n\n <div class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="contact_edit_modal_last_name"></label>\n <input class="md-input" type="text" ng-model="importContact.last_name" my-submit-on-enter />\n </div>\n\n </form>\n\n </div>\n\n <div class="md_simple_modal_footer">\n <button class="btn btn-md" ng-click="$dismiss()" my-i18n="modal_cancel"></button>\n <button class="btn btn-md btn-md-primary" ng-class="{disabled: progress.enabled}" ng-click="doImport()" ng-bind="progress.enabled ? \'contact_import_modal_submit_active\' : \'contact_import_modal_submit\' | i18n" ng-disabled="progress.enabled"></button>\n </div>\n\n</div>'),e.put("partials/desktop/inactive.html",'<div class="inactive_page_wrap">\n <div class="tg_head_split inactive_head"></div>\n <div class="im_page_wrap">\n <div class="inactive_page_content" my-vertical-position="0.35">\n <a class="inactive_image" ng-click="reload()"></a>\n <h3 class="inactive_title" my-i18n="inactive_title"></h3>\n <div class="inactive_description" my-i18n="inactive_description_md"></div>\n <div class="inactive_actions">\n <button class="btn btn-lg btn-md btn-md-primary" ng-click="reload()" my-i18n="inactive_reload_btn" my-focused></button>\n </div>\n </div>\n </div>\n</div>'),e.put("partials/desktop/inline_results.html",'<a ng-if="botResults.switch_pm !== undefined" class="inline_switch_pm" ng-bind-html="botResults.switch_pm.rText" data-inlineid="_switch_pm_{{botResults.switch_pm.start_param}}"></a>\n\n<ul class="inline_results_wrap composer_dropdown">\n <li class="inline_result_wrap" ng-class="\'inline_result_\' + result.type" ng-repeat="result in botResults.results track by result.qID" ng-switch="result.type">\n\n <a ng-switch-when="gif" class="img_gif_with_progress_wrap" data-inlineid="{{result.qID}}" ng-style="::{width: result.thumbW, height: result.thumbH}" ng-switch="result._">\n <div class="inline_result_ind"></div>\n <div ng-switch-when="botInlineMediaResult" ng-switch="result.document.url !== undefined" class="inline_result_gif_mtproto">\n <div ng-switch-when="true" ng-switch="result.document.mime_type == \'video/mp4\'">\n <video ng-switch-when="true" width="{{result.thumbW}}" height="{{result.thumbH}}" loop autoplay class="img_gif_video">\n <source ng-src="{{result.document.url}}" type="video/mp4">\n </video>\n <img ng-switch-default class="img_gif_image" ng-src="{{result.document.url}}" width="{{result.thumbW}}" height="{{result.thumbH}}" />\n </div>\n <div ng-switch-default class="img_gif_image_wrap">\n <img class="img_gif_thumb" my-load-thumb thumb="result.document.thumb" width="{{result.thumbW}}" height="{{result.thumbH}}" />\n </div>\n </div>\n <div ng-switch-default ng-switch="result.content
e.put("partials/desktop/message_attach_photo.html",'<a class="im_message_photo_thumb" ng-click="openPhoto(media.photo.id, {m: messageId})" ng-style="::{width: media.photo.thumb.width + \'px\'}" ng-mouseover="preloadPhoto(media.photo.id)">\n <img\n class="im_message_photo_thumb"\n my-load-thumb\n thumb="media.photo.thumb"\n alt="[{{::\'conversation_media_photo\' | i18n}}]"\n />\n</a>\n<div ng-if="::media.rCaption" class="im_message_photo_caption" ng-bind-html="::media.rCaption"></div>'),e.put("partials/desktop/message_attach_venue.html",'<div class="im_message_venue clearfix">\n\n <a ng-href="{{::media.mapUrl}}" target="_blank" rel="noopener noreferrer" class="im_message_venue_geopoint_wrap">\n <img\n class="im_message_venue_geopoint_image"\n my-geo-point-map="media.geo"\n width="100"\n height="100"\n alt="[{{::\'conversation_media_location\' | i18n}} {{::media.mapUrl}}]"\n />\n </a>\n\n <div class="im_message_venue_info">\n <div class="im_message_venue_title_wrap">\n <a ng-href="{{::media.mapUrl}}" target="_blank" rel="noopener noreferrer" class="im_message_document_name" ng-bind="::media.title"></a>\n </div>\n <div class="im_message_venue_address" ng-bind="::media.address"></div>\n </div>\n\n</div>\n'),e.put("partials/desktop/message_attach_webpage.html",'<div ng-show="media.webpage._ == \'webPage\'" class="im_message_webpage_wrap clearfix" ng-switch="media.webpage.type">\n <div ng-switch-when="photo" class="im_message_webpage_photo">\n <div class="im_message_webpage_title">\n <a href="{{media.webpage.url}}" target="_blank" rel="noopener noreferrer" ng-bind-html="media.webpage.rTitle"></a>\n </div>\n <div ng-if="media.webpage.description.length" class="im_message_webpage_description" ng-bind-html="media.webpage.rDescription"></div>\n <a class="im_message_photo_thumb" ng-click="openPhoto(media.webpage.photo.id, {w: media.webpage.id, m: messageId})" ng-style="::{width: media.webpage.photo.thumb.width + \'px\'}" ng-mouseover="preloadPhoto(media.webpage.photo.id)">\n <img\n class="im_message_photo_thumb"\n my-load-thumb\n thumb="media.webpage.photo.thumb"\n alt="[{{::\'conversation_media_photo\' | i18n}}]"\n />\n </a>\n </div>\n <div ng-switch-when="video" class="im_message_webpage_video">\n <div class="im_message_webpage_site" ng-bind="media.webpage.site_name || media.webpage.display_url"></div>\n <div class="im_message_webpage_title">\n <a ng-click="openEmbed($event)" href="{{media.webpage.url}}" target="_blank" rel="noopener noreferrer" ng-bind-html="media.webpage.rTitle"></a>\n </div>\n <div ng-if="media.webpage.description.length" class="im_message_webpage_description" ng-bind-html="media.webpage.rDescription"></div>\n <a class="im_message_video_thumb" ng-click="openEmbed($event)" ng-href="{{media.webpage.url}}" target="_blank" rel="noopener noreferrer" ng-style="::{width: video.thumb.width + \'px\'}">\n <span ng-if="media.webpage.duration > 0" class="im_message_video_duration nocopy" data-content="{{::media.webpage.duration | duration}}"></span>\n <i class="icon icon-videoplay"></i>\n <img\n class="im_message_video_thumb"\n my-load-thumb\n thumb="media.webpage.photo.thumb"\n alt="[{{::\'conversation_media_video\' | i18n}}]"\n />\n </a>\n </div>\n\n <div ng-switch-when="document" class="im_message_webpage_document">\n <div my-message-document="media.webpage" message-id="messageId"></div>\n </div>\n\n <div ng-switch-when="gif" class="im_message_webpage_gif">\n <div class="im_message_webpage_title">\n <a href="{{media.webpage.url}}" target="_blank" rel="noopener noreferrer" ng-bind-html="media.webpage.rTitle"></a>\n </div>\n <div my-message-document="media.webpage" message-id="messageId"></div>\n </div>\n\n <div ng-switch-default class="im_message_webpage_article">\n <a ng-if="media.webpage.photo" href="{{media.webpage.url}}" target="_blank" rel="noopener noreferrer" class="im_message_webpage_article_ph
e.put("partials/desktop/short_message.html",'<span class="im_short_message_media" ng-if="message.media" ng-switch="message.media._">\n <span ng-switch-when="messageMediaPhoto" my-i18n="conversation_media_photo"></span>\n <span ng-switch-when="messageMediaDocument" ng-switch="message.media.document.type || false">\n <span ng-switch-when="sticker">\n <span ng-bind-html="message.media.document.stickerEmoji"></span>\n <my-i18n msgid="conversation_media_sticker"></my-i18n>\n </span>\n <span ng-switch-when="gif" my-i18n="conversation_media_gif"></span>\n <span ng-switch-when="audio" my-i18n="conversation_media_audio"></span>\n <span ng-switch-when="voice" my-i18n="conversation_media_audio"></span>\n <span ng-switch-when="video" my-i18n="conversation_media_video"></span>\n <span ng-switch-default ng-bind="message.media.document.file_name"></span>\n </span>\n <span ng-switch-when="messageMediaGeo" my-i18n="conversation_media_location"></span>\n <span ng-switch-when="messageMediaVenue" my-i18n="conversation_media_location"></span>\n <span ng-switch-when="messageMediaContact" my-i18n="conversation_media_contact"></span>\n <span ng-switch-when="messageMediaGame">\n <span my-emoji-image="🎮"></span>\n <span ng-bind-html="message.media.game.rTitle"></span>\n </span>\n</span><span class="im_short_message_service" ng-if="message._ == \'messageService\'" ng-switch="message.action._">\n <span ng-switch-when="messageActionChatCreate" my-i18n="conversation_group_created"></span>\n <span ng-switch-when="messageActionChatEditTitle" my-i18n="conversation_group_renamed"></span>\n <span ng-switch-when="messageActionChatEditPhoto" my-i18n="conversation_group_photo_updated"></span>\n <span ng-switch-when="messageActionChatDeletePhoto" my-i18n="conversation_group_photo_removed"></span>\n <span ng-switch-when="messageActionChatJoinedByLink" my-i18n="conversation_joined_by_link"></span>\n <span ng-switch-when="messageActionChatReturn" my-i18n="conversation_returned_to_group"></span>\n <span ng-switch-when="messageActionChatJoined" my-i18n="conversation_joined_group"></span>\n <span ng-switch-when="messageActionChatAddUser" my-i18n="conversation_invited_user">\n <my-i18n-param name="user"><span my-peer-link="message.action.user_id"></span></my-i18n-param>\n </span>\n <span ng-switch-when="messageActionChatAddUsers" my-i18n="">\n <ng-pluralize count="message.action.users.length"\n when="conversation_invited_users">\n </ng-pluralize>\n </span>\n <span ng-switch-when="messageActionChatLeave" my-i18n="conversation_left_group"></span>\n <span ng-switch-when="messageActionChatDeleteUser" my-i18n="conversation_kicked_user">\n <my-i18n-param name="user"><span my-peer-link="message.action.user_id"></span></my-i18n-param>\n </span>\n <span ng-switch-when="messageActionChatMigrateTo" my-i18n="conversation_converted_to_supergroup"></span>\n <span ng-switch-when="messageActionChannelMigrateFrom" my-i18n="conversation_converted_to_supergroup"></span>\n <span ng-switch-when="messageActionChannelCreate" my-i18n="conversation_created_channel"></span>\n <span ng-switch-when="messageActionChannelEditTitle" my-i18n="conversation_changed_channel_name"></span>\n <span ng-switch-when="messageActionChannelEditPhoto" my-i18n="conversation_changed_channel_photo"></span>\n <span ng-switch-when="messageActionPinMessage" my-i18n="conversation_pinned_message"></span>\n <span ng-switch-when="messageActionGameScore">\n <ng-pluralize count="message.action.score"\n when="conversation_scored_X"></ng-pluralize>\n </my-i18n-param>\n </span>\n\n</span><span class="im_short_message_text" ng-if="message.message.length && (!message.media || message.media._ == \'messageMediaWebPage\')" ng-bind-html="message.richMessage"></span>'),e.put("partials/desktop/slider.html",'<div class="tg_slider_wrap">\n\t<div class="tg_slider_thumb"></div>\n\t<div class="tg_slider_track">\n\t\t<div class="tg_slider_track_fill"></div>\n\t</div>\n</div>'),e.put("partials/desktop/stickerset
e.put("partials/mobile/channel_modal.html",'<div class="chat_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <div class="navbar-toggle-wrap dropdown" dropdown ng-if="chatFull.chat.pFlags.creator || !chatFull.chat.pFlags.left && !chatFull.chat.pFlags.kicked">\n <a class="dropdown-toggle navbar-toggle" dropdown-toggle>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </a>\n <ul class="dropdown-menu">\n <li ng-if="hasRights(\'edit_photo\')">\n <a ng-click="deletePhoto()" my-i18n="group_modal_menu_delete_photo"></a>\n </li>\n <li ng-if="hasRights(\'edit_title\')">\n <a ng-click="editChannel()" my-i18n="modal_edit"></a>\n </li>\n <li ng-if="chatFull.chat.pFlags.creator">\n <a ng-click="deleteChannel()" my-i18n="channel_modal_delete_channel"></a>\n </li>\n <li ng-if="!chatFull.chat.pFlags.creator && !chatFull.chat.pFlags.left && !chatFull.chat.pFlags.kicked">\n <a ng-click="leaveChannel()" my-i18n="group_modal_menu_leave"></a>\n </li>\n </ul>\n </div>\n\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li>\n <a ng-click="$close()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title">\n <h4 my-i18n="channel_modal_info"></h4>\n </div>\n </a>\n </li>\n </ul>\n\n </div>\n\n </div>\n </div>\n </div>\n\n <div class="modal-body mobile_modal_body">\n\n <div class="mobile_user_modal_photo_profile_wrap">\n\n <a ng-click="openPhoto(chatFull.chat_photo.id, {p: -chatFull.chat.id})" class="mobile_user_modal_image_wrap pull-left" my-peer-photolink="::-chatFull.chat.id" img-class="mobile_user_modal_image mobile_chat_modal_image" no-open="true" watch="true" ng-class="{disabled: !chatFull.chat.photo.photo_small}" ng-disabled="!chatFull.chat.photo.photo_small"></a>\n\n <div class="mobile_user_modal_info_wrap clearfix">\n <h4 class="mobile_user_modal_header" my-peer-link="-chatFull.chat.id" verified="true"></h4>\n <p class="mobile_user_modal_status" ng-if="chatFull.participants_count > 0">\n <ng-pluralize count="chatFull.participants_count"\n when="group_modal_pluralize_participants">\n </ng-pluralize>\n </p>\n </div>\n\n </div>\n\n <div class="mobile_modal_section" ng-if="chatFull.rAbout">\n <h4 class="mobile_modal_section_header" my-i18n="channel_modal_description"></h4>\n <div class="mobile_modal_section_value" ng-bind-html="chatFull.rAbout"></div>\n </div>\n\n <div class="mobile_modal_section" ng-if="chatFull.chat.username || chatFull.chat.pFlags.creator">\n <h4 class="mobile_modal_section_header" my-i18n="channel_modal_share_link"></h4>\n <div class="mobile_modal_section_value" ng-switch="chatFull.chat.username.length > 0">\n <a ng-switch-when="true" class="settings_modal_username_link" ng-click="shareLink($event)" ng-bind="\'https://t.me/\' + chatFull.chat.username" ng-href="https://t.me/{{chatFull.chat.username}}" target="_blank"></a>\n <a ng-switch-default ng-click="shareLink($event)" ng-bind="chatFull.exported_invite.link" ng-href="{{chatFull.exported_invite.link}}" target="_blank"></a>\n </div>\n </div>\n\n <div class="mobile_modal_action_wrap" ng-if="hasRights(\'invite\')">\n <a class="mobile_modal_action" ng-click="inviteToChannel()" my-i18n="channel_modal_add_member"></a>\n </div>\n\n <div class="mobile_modal_action_wrap" ng-if="chatFull.chat.pFlags.left">\n <a class="mobile_modal_action" ng-click="joinChannel()" my-i18n="channel_modal_join"></a>\n </div>\n <div clas
e.put("partials/mobile/im.html",'<div my-head></div>\n\n<div class="im_page_wrap" ng-class="{im_page_peer_not_selected: !curDialog.peer}">\n\n <div class="im_page_split clearfix">\n\n <div ng-controller="AppImDialogsController" my-dialogs class="im_dialogs_col_wrap" ng-class="search.query.length > 0 ? \'im_dialogs_col_search\' : \'\'">\n <div class="im_dialogs_panel">\n <div class="im_dialogs_search">\n <input class="form-control im_dialogs_search_field no_outline" type="search" placeholder="{{\'modal_search\' | i18n}}" ng-model="search.query" autocomplete="off" />\n <a class="im_dialogs_search_clear tg_search_clear" ng-click="searchClear()" ng-show="search.query.length">\n <i class="icon icon-search-clear"></i>\n </a>\n </div>\n </div>\n\n <div my-dialogs-list-mobile class="im_dialogs_col im_dialogs_scrollable_wrap mobile_scrollable_wrap">\n\n <div class="im_dialogs_empty_wrap" ng-if="isEmpty.contacts" my-vertical-position="0.4">\n <h3 class="im_dialogs_empty_header" my-i18n="im_no_contacts"></h3>\n <p class="im_dialogs_empty_lead" my-i18n="im_get_started_long"></p>\n <button type="button" class="btn btn-primary btn-block im_dialogs_add_contact" ng-click="importContact()" my-i18n="im_add_contact"></button>\n <button ng-if="phonebookAvailable" type="button" class="btn btn-primary btn-block im_dialogs_import_phonebook" ng-click="importPhonebook()" my-i18n="im_import_phonebook"></button>\n </div>\n\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" my-dialog dialog-message="dialogMessage" ng-repeat="dialogMessage in dialogs track by dialogMessage.peerID" ng-class="{active: curDialog.peerID == dialogMessage.peerID}"></li>\n </ul>\n\n <div class="im_dialogs_contacts_wrap" ng-show="contacts.length > 0">\n <h5 my-i18n="im_contacts_title"></h5>\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" ng-repeat="contact in contacts | orderBy:\'user.sortName\' track by contact.userID" ng-class="{active: curDialog.peerID == contact.userID}">\n <a class="im_dialog" ng-mousedown="dialogSelect(contact.peerString)">\n <div class="im_dialog_photo pull-left" my-peer-photolink="contact.userID" img-class="im_dialog_photo" watch="true"></div>\n <div class="im_dialog_message_wrap">\n <div class="im_dialog_peer">\n <span class="im_dialog_user" my-peer-link="contact.userID" verified="true"></span>\n </div>\n <div class="im_dialog_message">\n <span class="im_dialog_message_text" my-user-status="::contact.userID"></span>\n </div>\n </div>\n </a>\n </li>\n </ul>\n </div>\n\n <div class="im_dialogs_contacts_wrap" ng-show="foundPeers.length > 0">\n <h5 my-i18n="im_found_title"></h5>\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" ng-repeat="foundPeer in foundPeers track by foundPeer.id" ng-class="{active: curDialog.peerID == foundPeer.id}">\n <a class="im_dialog" ng-mousedown="dialogSelect(foundPeer.peerString)">\n <div class="im_dialog_photo pull-left" my-peer-photolink="foundPeer.id" img-class="im_dialog_photo" watch="true"></div>\n <div class="im_dialog_message_wrap">\n <div class="im_dialog_peer">\n <span class="im_dialog_user" my-peer-link="foundPeer.id" verified="true"></span>\n </div>\n <div class="im_dialog_message">\n <span class="im_dialog_message_text" ng-bind="::\'@\' + foundPeer.username"></span>\n </div>\n </div>\n </a>\n </li>\n </ul>\n </div>\n\n <div class="im_dialogs_messages_wrap" ng-show="foundMessages.length > 0">\n <h5 my-i18n="im_messages"><
e.put("partials/mobile/message_attach_geo.html",'<a ng-href="{{::media.mapUrl}}" target="_blank" class="im_message_geopoint">\n <img\n class="im_message_venue_geopoint_image"\n my-geo-point-map="media.geo"\n width="200"\n height="100"\n />\n</a>'),e.put("partials/mobile/message_attach_pending.html",'<div class="im_message_document im_message_upload_file" ng-class="::\'im_message_upload_\' + media.type">\n <div class="im_message_file_button im_message_file_button_upload">\n <i class="im_message_file_button_icon"></i>\n </div>\n <div class="im_message_document_info">\n <div class="im_message_document_name_wrap">\n <span class="im_message_document_name" ng-bind="::media.file_name"></span>\n <span class="im_message_document_size" ng-if="media.progress" ng-bind="media.progress | formatSizeProgress"></span>\n </div>\n <div class="clearfix im_message_cancelable_progress_wrap">\n <a class="im_message_media_progress_cancel pull-right" ng-click="media.progress.cancel()" my-i18n="modal_cancel"></a>\n <div class="im_message_download_progress_wrap">\n <div class="progress tg_down_progress">\n <div class="progress-bar progress-bar-success" role="progressbar" ng-style="{width: media.progress.percent + \'%\'}"></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n'),e.put("partials/mobile/message_attach_photo.html",'<a class="im_message_photo_thumb" ng-click="openPhoto(media.photo.id, {m: messageId})" ng-style="::{width: media.photo.thumb.width + \'px\'}" ng-mouseover="preloadPhoto(media.photo.id)">\n <img\n class="im_message_photo_thumb"\n my-load-thumb\n thumb="media.photo.thumb"\n />\n</a>\n<div ng-if="::media.rCaption" class="im_message_photo_caption" ng-bind-html="::media.rCaption"></div>'),e.put("partials/mobile/message_attach_venue.html",'<div class="im_message_venue clearfix">\n\n <a ng-href="{{::media.mapUrl}}" target="_blank" rel="noopener noreferrer" class="im_message_venue_geopoint_wrap">\n <img\n class="im_message_venue_geopoint_image"\n my-geo-point-map="media.geo"\n width="100"\n height="100"\n alt="[{{::\'conversation_media_location\' | i18n}} {{::media.mapUrl}}]"\n />\n </a>\n\n <div class="im_message_venue_info">\n <div class="im_message_venue_title_wrap">\n <a ng-href="{{::media.mapUrl}}" target="_blank" rel="noopener noreferrer" class="im_message_document_name" ng-bind="::media.title"></a>\n </div>\n <div class="im_message_venue_address" ng-bind="::media.address"></div>\n </div>\n\n</div>\n'),e.put("partials/mobile/message_attach_webpage.html",'<div ng-show="webpage._ == \'webPage\'" class="im_message_webpage_wrap clearfix" ng-switch="webpage.type">\n <div ng-switch-when="photo" class="im_message_webpage_photo">\n <div class="im_message_webpage_site" ng-bind="webpage.site_name || webpage.display_url"></div>\n <div class="im_message_webpage_title">\n <a href="{{webpage.url}}" target="_blank" rel="noopener noreferrer" ng-bind-html="webpage.rTitle"></a>\n </div>\n <div ng-if="webpage.description.length" class="im_message_webpage_description" ng-bind-html="webpage.rDescription"></div>\n <a class="im_message_photo_thumb" ng-click="openPhoto(webpage.photo.id, {w: webpage.id, m: messageId})" ng-style="::{width: webpage.photo.thumb.width + \'px\'}" ng-mouseover="preloadPhoto(webpage.photo.id)">\n <img\n class="im_message_photo_thumb"\n my-load-thumb\n thumb="webpage.photo.thumb"\n />\n </a>\n </div>\n <div ng-switch-when="video" class="im_message_webpage_video">\n <div class="im_message_webpage_site" ng-bind="webpage.site_name || webpage.display_url"></div>\n <div class="im_message_webpage_title">\n <a ng-click="openEmbed($event)" href="{{webpage.url}}" target="_blank" rel="noopener noreferrer" ng-bind-html="webpage.rTitle"></a>\n </div>\n <div ng-if="webpage.description.length" class="im_message_webpage_description" ng-bind-html="webpage.rDescription"></div>\n <a class="im_message_video_thumb" ng-click="openEmb
e.put("partials/mobile/stickerset_modal.html",'<div class="stickerset_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li class="navbar-quick-right" ng-if="stickersetLoaded" ng-switch="stickersetInstalled">\n <a ng-switch-when="true" my-i18n="stickerset_modal_uninstall" ng-click="toggleInstalled(false)"></a>\n <a ng-switch-when="false" my-i18n="stickerset_modal_install" ng-click="toggleInstalled(true)"></a>\n </li>\n <li>\n <a ng-click="$dismiss()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title">\n <h4 ng-switch="!stickersetLoaded">\n <span ng-switch-when="true" my-i18n="stickerset_modal_title_loading"></span>\n <span ng-switch-default ng-bind="stickerset.title"></span>\n </h4>\n </div>\n </a>\n </li>\n </ul>\n\n </div>\n\n </div>\n </div>\n </div>\n\n <div class="modal-body">\n\n <div my-stickers-list class="stickerset_modal_col">\n\n <div class="stickerset_wrap nano" my-infinite-scroller>\n <div class="stickerset_scrollable_wrap nano-content" ng-switch="!stickersetLoaded">\n\n <div ng-switch-when="true" class="stickerset_modal_loading" my-vertical-position="0.2" padding="true" my-i18n="stickerset_modal_loading">\n <my-i18n-param name="dots">\n <span my-loading-dots></span>\n </my-i18n-param>\n </div>\n\n <div ng-switch-default class="stickerset_modal_stickers_list clearfix">\n <div class="stickerset_modal_sticker_wrap" ng-repeat="sticker in documents | limitTo: slice.limit">\n <div class="stickerset_modal_sticker" my-load-sticker document="sticker" thumb="true"></div>\n <div class="stickerset_modal_sticker_alt" ng-bind-html="sticker.stickerEmoji"></div>\n </div>\n </div>\n\n </div>\n </div>\n\n </div>\n\n </div>\n\n</div>'),e.put("partials/mobile/user_modal.html",'<div class="mobile_user_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <div class="navbar-toggle-wrap dropdown" dropdown>\n <a class="dropdown-toggle navbar-toggle" dropdown-toggle>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </a>\n <ul class="dropdown-menu">\n <li ng-if="user.pFlags.contact">\n <a ng-click="importContact(true)" my-i18n="user_modal_edit_contact"></a>\n </li>\n <li ng-if="user.pFlags.contact">\n <a ng-click="deleteContact()" my-i18n="user_modal_delete_contact"></a>\n </li>\n <li ng-if="user.phone.length > 0 &amp;&amp; !user.pFlags.contact &amp;&amp; !user.pFlags.self">\n <a ng-click="importContact()" my-i18n="user_modal_add_contact"></a>\n </li>\n <li>\n <a ng-click="flushHistory(true)" my-i18n="user_modal_clear_history"></a>\n </li>\n <li>\n <a ng-click="flushHistory()" my-i18n="user_modal_delete_chat"></a>\n </li>\n </ul>\n </div>\n\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li>\n <a ng-click="$close()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title">\n <h4 my-i18n="user_modal_contact_info"></h4>\n </div>\n </a>\n </li>\n </ul>\n\n </div>\n\n </div>\n <
if(p.getRangeAt&&p.rangeCount){var m=document.createElement("div");m.innerHTML=u;var g=m.firstChild,h=p.getRangeAt(0);h.deleteContents(),h.insertNode(document.createTextNode(" ")),h.insertNode(g),h.setStart(g,0),setTimeout(function(){h=document.createRange(),h.setStartAfter(g),h.collapse(!0),p.removeAllRanges(),p.addRange(h)},0)}}else document.selection&&"Control"!=document.selection.type&&document.selection.createRange().pasteHTML(u)}}else{var n=this.textareaEl[0],o=n.value,s=this.isActive?getFieldSelection(n):o.length,r=o.substr(s),l=o.substr(0,s),c=t&&l.match(/:([\S]*)$/),d=EmojiHelper.emojis[e];if(c&&c[0])var f=l.substr(0,c.index)+":"+d[1]+": "+r,_=c.index+d[1].length+3;else var f=l+":"+d[1]+": "+r,_=l.length+d[1].length+3;n.value=f,setFieldSelection(n,_)}this.hideSuggestions(),this.onChange()},MessageComposer.prototype.onMentionsUpdated=function(e){delete this.previousQuery,this.isActive&&this.checkAutocomplete()},MessageComposer.prototype.onMentionSelected=function(e,t){var n=!0;if("#"==e.charAt(0)&&(n=!1,e=e.substr(1),t=t.replace(/\(\)@/,"")),this.richTextareaEl){var a=this.richTextareaEl[0];this.isActive||this.restoreSelection()||setRichFocus(a);var i,o=getRichValueWithCaret(a),s=o[0],r=o[1]>=0?o[1]:s.length,l=s.substr(r),c=s.substr(0,r),d=c.match(/@([\S]*)$/);i=d&&d[0]?c.substr(0,d.index)+"@"+e:c+"@"+e;var u;n?l.length?(this.selId=(this.selId||0)+1,u=this.getRichHtml(i)+'&nbsp;<span id="composer_sel'+this.selId+'"></span>'+this.getRichHtml(l),this.richTextareaEl.html(u),setRichFocus(a,$("#composer_sel"+this.selId)[0])):(u=this.getRichHtml(i)+"&nbsp;",this.richTextareaEl.html(u),setRichFocus(a)):(this.selId=(this.selId||0)+1,u=this.getRichHtml(i)+'&nbsp;(<span id="composer_sel'+this.selId+'">'+encodeEntities(t)+"</span>)&nbsp;"+this.getRichHtml(l),this.richTextareaEl.html(u),setRichFocus(a,$("#composer_sel"+this.selId)[0],!0))}else{var i,p,m,g,a=this.textareaEl[0],s=a.value,r=this.isActive?getFieldSelection(a):s.length,l=s.substr(r),c=s.substr(0,r),d=c.match(/@([\S]*)$/);i=d&&d[0]?c.substr(0,d.index)+"@"+e:c+"@"+e,n?(p=i+"@"+e+" "+l,m=d.index+e.length+2):(p=i+"@"+e+" ("+t+") "+l,m=d.index+e.length+2,g=m+t.length),a.value=p,setFieldSelection(a,m,g)}this.hideSuggestions(),this.onChange()},MessageComposer.prototype.onCommandSelected=function(e,t){if(t)if(this.richTextareaEl)this.richTextareaEl.html(encodeEntities(e)+"&nbsp;"),setRichFocus(this.richTextareaEl[0]);else{var n=this.textareaEl[0];n.value=e+" ",setFieldSelection(n)}else this.onCommandSend(e);this.hideSuggestions(),this.onChange()},MessageComposer.prototype.onChange=function(e){if(this.richTextareaEl){delete this.keyupStarted;var t=getRichValue(this.richTextareaEl[0]);this.textareaEl.val(t).trigger("change")}this.updateInlinePlaceholder()},MessageComposer.prototype.getEmojiHtml=function(e,t){t=t||EmojiHelper.emojis[e];var n=20,a=EmojiHelper.spritesheetPositions[e],i=a[0],o=(a[1],n*a[3]),s=n*a[2];return'<img src="img/blank.gif" alt=":'+encodeEntities(t[1])+':" data-code="'+encodeEntities(e)+'" class="emoji emoji-w20 emoji-spritesheet-'+i+'" style="background-position: -'+o+"px -"+s+'px;" onresizestart="return false" />'},MessageComposer.prototype.setValue=function(e){this.richTextareaEl?(this.richTextareaEl.html(this.getRichHtml(e)),this.lastLength=e.length,this.wasEmpty=!e.length,this.onKeyEvent({type:"keyup"})):this.textareaEl.val(e)},MessageComposer.prototype.setFocusedValue=function(e){var t=e[0],n=e[1],a=e[2];if(this.richTextareaEl){this.selId=(this.selId||0)+1;var i=this.getRichHtml(t)+'<span id="composer_sel'+this.selId+'">'+this.getRichHtml(n)+"</span>"+this.getRichHtml(a);this.richTextareaEl.html(i),setRichFocus(this.richTextareaEl[0],$("#composer_sel"+this.selId)[0],!0)}else this.textareaEl.val(t+n+a),setFieldSelection(this.textareaEl[0],t.length,t.length+n.length)},MessageComposer.prototype.getRichHtml=function(e){var t=$("<div>").text(e).html();return t=t.replace(/\n/g,"<br/>"),t=t.replace(/:([A-Za-z0-9\-\+\*_]+?):/gi,function(e,t){var n=EmojiHelper.shortcuts[t];return void 0!==n?this.getEmojiHtml(n):e}.bind(this)),t=t.replace(/ /g,"  ").repl
for(n=0;n<i.length;n++)"file"==i[n].kind&&(t=i[n].getAsFile(),s.push(t));if(s.length>0){if(1==s.length)return S(s[0]);d.confirm({type:"FILES_CLIPBOARD_PASTE",files:s}).then(function(){o.draftMessage.files=s,o.draftMessage.isMedia=!0})}}function M(e){var t=!1;return x&&1!=x||(x=checkDragEvent(e)?2:1,t=!0),2==x&&(I&&setTimeout(function(){clearTimeout(I),I=!1},0),"dragenter"==e.type||"dragover"==e.type?t&&(Config.Mobile||$(E).hide(),$(P).css({height:F.offsetHeight+2,width:F.offsetWidth}).show()):("drop"==e.type&&o.$apply(function(){o.draftMessage.files=Array.prototype.slice.call(e.originalEvent.dataTransfer.files),o.draftMessage.isMedia=!0}),I=setTimeout(function(){$(P).hide(),Config.Mobile||$(E).show(),x=!1,I=!1},300))),cancelEvent(e)}var x,I,A=$("textarea",s)[0],E=$(".composer_emoji_insert_btn",s)[0],T=$(".composer_emoji_panel",s)[0],D=$("input",s),P=$(".im_send_dropbox_wrap",s)[0],F=$(".im_send_field_wrap",s)[0],N=$(".im_submit",s)[0],R=a('<a class="composer_sticker_btn" data-sticker="{{::document.id}}" my-load-sticker document="document" thumb="true" img-class="composer_sticker_image"></a>'),O={},U=new EmojiTooltip(E,{getStickers:function(e){l.getStickers().then(e)},getStickerImage:function(e,t){var n=e.attr("data-category"),a=O[t];if(a&&!isInDOM(a[0]))return a.attr("data-category",n),void e.replaceWith(a);var i=o.$new(!0);i.document=c.getDoc(t),R(i,function(a){O[t]=a,a.attr("data-category",n),e.replaceWith(a)})},onStickersetSelected:function(e){l.openStickersetLink(e)},onEmojiSelected:function(e){o.$apply(function(){L.onEmojiSelected(e)})},onStickerSelected:function(e){o.$apply(function(){o.draftMessage.sticker=e})},langpack:{im_emoji_tab:e("im_emoji_tab"),im_stickers_tab:e("im_stickers_tab")}});o.$on("stickers_changed",function(){U.onStickersChanged()});var B;T&&(B=new EmojiPanel(T,{onEmojiSelected:function(e){L.onEmojiSelected(e)}}));var L=new MessageComposer(A,{onTyping:function(){o.$emit("ui_typing")},getSendOnEnter:function(){return H},dropdownDirective:function(e,t){var n=o.$new(!0);a("<div><div my-composer-dropdown></div></div>")(n,function(n,a){e.replaceWith(n),t(a,n)})},mentions:o.mentions,commands:o.commands,onMessageSubmit:f,onDirectionKey:v,onInlineResultSend:_,onFilePaste:S,onCommandSend:function(e){o.$apply(function(){o.draftMessage.command=e})}}),j=L.richTextareaEl&&L.richTextareaEl[0];j&&$(j).on("keydown keyup",b),o.$on("inline_results",function(e,t){var n=Config.Mobile?$(window).width():(F.offsetWidth||382)-2,a=80;t&&u.regroupWrappedResults(t.results,n,a),setZeroTimeout(function(){L.setInlineSuggestions(t)})}),o.$on("inline_placeholder",function(e,t){L.setInlinePlaceholder(t.prefix,t.placeholder)}),D.on("change",function(){var e=this;o.$apply(function(){o.draftMessage.files=Array.prototype.slice.call(e.files),o.draftMessage.isMedia=$(e).hasClass("im_media_attach_input")||Config.Mobile,setTimeout(function(){try{e.value=""}catch(t){}},1e3)})});var H=!0;o.$on("settings_changed",h),h(),$(N).on("mousedown touchstart",f);var q=j&&j.offsetHeight;$(document).on("keydown",w),$("body").on("dragenter dragleave dragover drop",M),$(document).on("paste",C),m&&(o.$on("ui_peer_change",k),o.$on("ui_history_focus",k),o.$on("ui_history_change",k)),o.$on("ui_peer_change",L.resetTyping.bind(L)),o.$on("ui_peer_draft",function(t,n){n=n||{};var a=o.draftMessage.isBroadcast;L.setPlaceholder(e(a?"im_broadcast_field_placeholder_raw":"im_message_field_placeholder_raw")),n.customSelection?(L.setFocusedValue(n.customSelection),b()):(j&&(L.setValue(o.draftMessage.text||""),b()),(m||n&&n.focus)&&L.focus()),onContentLoaded(function(){L.checkAutocomplete(!0)}),U&&Config.Mobile&&U.hide()}),o.$on("ui_peer_reply",function(){onContentLoaded(function(){o.$emit("ui_editor_resize"),m&&L.focus()})}),o.$on("mentions_update",function(){L.onMentionsUpdated()}),o.$on("ui_message_before_send",function(){y()}),o.$on("ui_message_send",function(){m&&k()}),o.$on("ui_message_blur",function(){L.blur()}),o.$on("$destroy",function(){$(document).off("paste",C),$(document).off("keydown",w),$("body").off("dragenter dragleave dragover drop",M),$(N).off("mouse
$(r).trigger("scroll")})})}),n.$on("ui_dialogs_change",function(){onContentLoaded(function(){u=!1,t(function(){$(r).trigger("scroll")})})}),$(r).on("scroll",function(e){a.is(":visible")&&!u&&r.scrollTop>=r.scrollHeight-r.clientHeight-300&&(n.$emit("dialogs_need_more"),u=!0)}),$(e).on("resize",o),o(),setTimeout(o,1e3)}return{link:n}}]).directive("myHistoryMobile",["$window","$timeout","$rootScope","$transition",function(e,t,n,a){function i(n,a,i){function o(){var e,n;if(n=$(".im_message_focus:visible",c)[0]){var a=c.clientHeight,i=c.scrollTop,o=n.offsetTop,s=n.clientHeight;(!i||i+a<o||i>o+s)&&(c.scrollTop=Math.max(0,o-Math.floor(a/2)+26)),_=!1}else(e=$(".im_message_unread_split:visible",c)[0])?(c.scrollTop=Math.max(0,e.offsetTop-52),_=!1):(c.scrollTop=c.scrollHeight,_=!0);t(function(){$(c).trigger("scroll"),v=c.scrollTop})}function s(t){if(a.is(":visible")||$(a[0].parentNode.parentNode).is(":visible")){$(p).is(":visible")&&$(p).css({height:$(g).height()}),m&&m.offsetHeight||(m=$(".tg_page_head")[0]);var n=$(e).height()-u.offsetHeight-(m?m.offsetHeight:46);$(l).css({height:n}),r(),t!==!0&&_&&onContentLoaded(function(){c.scrollTop=c.scrollHeight})}}function r(){}var l=$(".im_history_wrap",a)[0],c=($(".im_history_messages",a)[0],$(".im_history_scrollable_wrap",a)[0]),d=$(".im_history_scrollable",a)[0],u=$(".im_bottom_panel_wrap",a)[0],p=$(".im_send_form_wrap",a)[0],m=$(".tg_page_head")[0],g=$(".im_send_form",a)[0],h=!1,f=!1;onContentLoaded(function(){c.scrollTop=c.scrollHeight}),n.$on("ui_history_append_new",function(e,t){if(_||t.my){var n=parseInt($(c).css("paddingRight"));$(c).addClass("im_history_to_bottom"),$(d).css({bottom:0,marginLeft:-Math.ceil(n/2)}),onContentLoaded(function(){$(c).removeClass("im_history_to_bottom"),$(d).css({bottom:"",marginLeft:""}),c.scrollTop=c.scrollHeight,r()})}}),n.$on("ui_history_change",function(){var e=parseInt($(c).css("paddingRight"));$(c).addClass("im_history_to_bottom"),$(d).css({bottom:0,marginLeft:-Math.ceil(e/2)}),onContentLoaded(function(){$(c).removeClass("im_history_to_bottom"),$(d).css({bottom:"",marginLeft:""}),s(!0),h=!1,f=!1,o()})}),n.$on("ui_history_change_scroll",function(){onContentLoaded(o)}),n.$on("ui_history_focus",function(){_||(c.scrollTop=c.scrollHeight,_=!0)}),n.$on("ui_history_prepend",function(){var e=c.scrollHeight,a=c.scrollTop,i=parseInt($(c).css("paddingRight")),s=c.clientHeight;$(c).addClass("im_history_to_bottom"),c.scrollHeight,$(d).css({bottom:-(e-a-s),marginLeft:-Math.ceil(i/2)});var l=function(){$(c).removeClass("im_history_to_bottom"),$(d).css({bottom:"",marginLeft:""}),v>=0?o():c.scrollTop=a+c.scrollHeight-e,r(),h=!1,t(function(){c.scrollHeight!=e&&$(c).trigger("scroll")}),clearTimeout(u),p()},u=setTimeout(l,0),p=n.$on("$viewContentLoaded",l)}),n.$on("ui_history_append",function(){var e=c.scrollHeight;onContentLoaded(function(){_=!1,r(),f=!1,v>=0&&o(),t(function(){c.scrollHeight!=e&&$(c).trigger("scroll")})})}),n.$on("ui_panel_update",function(e,a){onContentLoaded(function(){s(),a&&a.blur?n.$broadcast("ui_message_blur"):n.$broadcast("ui_message_send"),t(function(){$(c).trigger("scroll")})})}),n.$on("ui_selection_clear",function(){window.getSelection?window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().removeAllRanges():document.selection&&document.selection.empty()}),n.$on("ui_editor_resize",s),n.$on("ui_height",function(){onContentLoaded(s)});var _=!0,v=-1;$(c).on("scroll",function(e){if(a.is(":visible")&&!$(c).hasClass("im_history_to_bottom")){var t=c.scrollTop;_=t>=c.scrollHeight-c.clientHeight,v>=0&&v!=t&&(v=-1),!h&&t<=300?(h=!0,n.$emit("history_need_more")):!f&&t>=c.scrollHeight-c.clientHeight-300&&(f=!0,n.$emit("history_need_less"))}}),$(e).on("resize",s),s(),onContentLoaded(s)}return{link:i}}]).directive("myContactsListMobile",["$window","$timeout",function(e,t){function n(t,n,a){function i(){$(n).css({height:$(e).height()-(s&&s.offsetHeight||0)-(o&&o.offsetHeight||0)-64})}var o=$(".contacts_modal_search")[0],s=$(".contacts_modal_panel")[0];$(e).on("resize",i),t.$on("contacts_cha