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.

78 lines
2.4 MiB

function BigInteger(e,t,n){null!=e&&("number"==typeof e?this.fromNumber(e,t,n):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function nbi(){return new BigInteger(null)}function am1(e,t,n,i,a,r){for(;--r>=0;){var o=t*this[e++]+n[i]+a;a=Math.floor(o/67108864),n[i++]=67108863&o}return a}function am2(e,t,n,i,a,r){for(var o=32767&t,s=t>>15;--r>=0;){var l=32767&this[e],c=this[e++]>>15,d=s*l+c*o;l=o*l+((32767&d)<<15)+n[i]+(1073741823&a),a=(l>>>30)+(d>>>15)+s*c+(a>>>30),n[i++]=1073741823&l}return a}function am3(e,t,n,i,a,r){for(var o=16383&t,s=t>>14;--r>=0;){var l=16383&this[e],c=this[e++]>>14,d=s*l+c*o;l=o*l+((16383&d)<<14)+n[i]+a,a=(l>>28)+(d>>14)+s*c,n[i++]=268435455&l}return a}function int2char(e){return BI_RM.charAt(e)}function intAt(e,t){var n=BI_RC[e.charCodeAt(t)];return null==n?-1:n}function bnpCopyTo(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s}function bnpFromInt(e){this.t=1,this.s=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 i;if(16==t)i=4;else if(8==t)i=3;else if(256==t)i=8;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return void this.fromRadix(e,t);i=2}this.t=0,this.s=0;for(var a=e.length,r=!1,o=0;--a>=0;){var s=8==i?255&e[a]:intAt(e,a);s<0?"-"==e.charAt(a)&&(r=!0):(r=!1,0==o?this[this.t++]=s:o+i>this.DB?(this[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this[this.t++]=s>>this.DB-o):this[this.t-1]|=s<<o,o+=i,o>=this.DB&&(o-=this.DB))}8==i&&0!=(128&e[0])&&n&&(this.s=-1,o>0&&(this[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),r&&BigInteger.ZERO.subTo(this,this)}function bnpClamp(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t}function bnToString(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var n,i=(1<<t)-1,a=!1,r="",o=this.t,s=this.DB-o*this.DB%t;if(o-- >0)for(s<this.DB&&(n=this[o]>>s)>0&&(a=!0,r=int2char(n));o>=0;)s<t?(n=(this[o]&(1<<s)-1)<<t-s,n|=this[--o]>>(s+=this.DB-t)):(n=this[o]>>(s-=t)&i,s<=0&&(s+=this.DB,--o)),n>0&&(a=!0),a&&(r+=int2char(n));return a?r:"0"}function bnNegate(){var e=nbi();return BigInteger.ZERO.subTo(this,e),e}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(t=n-e.t,0!=t)return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0}function nbits(e){var t,n=1;return 0!=(t=e>>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s}function bnpDRShiftTo(e,t){for(var n=e;n<this.t;++n)t[n-e]=this[n];t.t=Math.max(this.t-e,0),t.s=this.s}function bnpLShiftTo(e,t){var n,i=e%this.DB,a=this.DB-i,r=(1<<a)-1,o=Math.floor(e/this.DB),s=this.s<<i&this.DM;for(n=this.t-1;n>=0;--n)t[n+o+1]=this[n]>>a|s,s=(this[n]&r)<<i;for(n=o-1;n>=0;--n)t[n]=0;t[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function bnpRShiftTo(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)return void(t.t=0);var i=e%this.DB,a=this.DB-i,r=(1<<i)-1;t[0]=this[n]>>i;for(var o=n+1;o<this.t;++o)t[o-n-1]|=(this[o]&r)<<a,t[o-n]=this[o]>>i;i>0&&(t[this.t-n-1]|=(this.s&r)<<a),t.t=this.t-n,t.clamp()}function bnpSubTo(e,t){for(var n=0,i=0,a=Math.min(e.t,this.t);n<a;)i+=this[n]-e[n],t[n++]=i&this.DM,i>>=this.DB;if(e.t<this.t){for(i-=e.s;n<this.t;)i+=this[n],t[n++]=i&this.DM,i>>=this.DB;i+=this.s}else{for(i+=this.s;n<e.t;)i-=e[n],t[n++]=i&this.DM,i>>=this.DB;i-=e.s}t.s=i<0?-1:0,i<-1?t[n++]=this.DV+i:i>0&&(t[n++]=i),t.t=n,t.clamp()}function bnpMultiplyTo(e,t){var n=this.abs(),i=e.abs(),a=n.t;for(t.t=a+i.t;--a>=0;)t[a]=0;for(a=0;a<i.t;++a)t[a+n.t]=n.am(0,i[a],t,a,0,n.t);t.s=0,t.clamp(),this.s!=e.s&&BigInteger.ZERO.subTo(t,t)}function bnpSquareTo(e){for(var t=this.abs(),n=e.t=2*t.t;--n>=0;)e[n]=0;for(n=0;n<t.t-1;++n){var i=t.
return!1}function cancelEvent(e){return e=e||window.event,e&&(e=e.originalEvent||e,e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),e.returnValue=!1,e.cancelBubble=!0),!1}function hasOnclick(e){if(e.onclick||e.getAttribute("ng-click"))return!0;var t=$._data(e,"events");return!(!t||!t.click&&!t.mousedown)}function getScrollWidth(){var e=$("<div>").css({position:"absolute",width:100,height:100,overflow:"scroll",top:-9999}).appendTo($(document.body)),t=e[0].offsetWidth-e[0].clientWidth;return e.remove(),t}function onCtrlEnter(e,t){$(e).on("keydown",function(e){if(13==e.keyCode&&(e.ctrlKey||e.metaKey))return t(),cancelEvent(e)})}function setFieldSelection(e,t,n){e=$(e)[0];try{if(e.focus(),void 0!==t&&t!==!1||(t=e.value.length),void 0!==n&&n!==!1||(n=t),e.createTextRange){var i=e.createTextRange();i.collapse(!0),i.moveEnd("character",n),i.moveStart("character",t),i.select()}else e.setSelectionRange&&e.setSelectionRange(t,n)}catch(a){}}function getFieldSelection(e){if(e.selectionStart)return e.selectionStart;if(!document.selection)return 0;var t="",n=document.selection.createRange(),i=n.text,a=n.duplicate(),r=0;try{a.moveToElementText(e)}catch(o){return 0}return n.text=i+t,r=a.text.indexOf(t),n.moveStart("character",-1),n.text="",r}function getRichValue(e){if(!e)return"";var t=[],n=[];getRichElementValue(e,t,n),n.length&&t.push(n.join(""));var i=t.join("\n");return i=i.replace(/\u00A0/g," ")}function getRichValueWithCaret(e){if(!e)return[];var t,n,i=[],a=[],r=!!window.getSelection&&window.getSelection();if(r&&r.rangeCount){var o=r.getRangeAt(0);o.startContainer&&o.startContainer==o.endContainer&&o.startOffset==o.endOffset&&(t=o.startContainer,n=o.startOffset)}getRichElementValue(e,i,a,t,n),a.length&&i.push(a.join(""));var s=i.join("\n"),l=s.indexOf("");return l!=-1&&(s=s.substr(0,l)+s.substr(l+1)),s=s.replace(/\u00A0/g," "),[s,l]}function getRichElementValue(e,t,n,i,a){if(3!=e.nodeType){if(1==e.nodeType){var r,o=i===e,s="DIV"==e.tagName||"P"==e.tagName;s&&n.length||"BR"==e.tagName?(t.push(n.join("")),n.splice(0,n.length)):"IMG"==e.tagName&&e.alt&&n.push(e.alt),o&&!a&&n.push("");for(var r=e.firstChild;r;)getRichElementValue(r,t,n,i,a),r=r.nextSibling;o&&a&&n.push(""),s&&n.length&&(t.push(n.join("")),n.splice(0,n.length))}}else if(i===e){var l=e.nodeValue;n.push(l.substr(0,a)+""+l.substr(a))}else n.push(e.nodeValue)}function setRichFocus(e,t,n){if(e.focus(),!t||t.parentNode!=e||t.nextSibling||n||(e.removeChild(t),t=null),window.getSelection&&document.createRange){var i=document.createRange();t?i.selectNode(t):i.selectNodeContents(e),n||i.collapse(!1);var a=window.getSelection();a.removeAllRanges(),a.addRange(i)}else if(void 0!==document.body.createTextRange){var r=document.body.createTextRange();r.moveToElementText(t||e),n||r.collapse(!1),r.select()}}function getSelectedText(){var e=(window.getSelection&&window.getSelection()||document.getSelection&&document.getSelection()||document.selection&&document.selection.createRange().text||"").toString().replace(/^\s+|\s+$/g,"");return e}function scrollToNode(e,t,n){var i=t.offsetTop-15,a=t.offsetHeight+30,r=e.scrollTop,o=e.clientHeight;r>i?(e.scrollTop=i,$(n).nanoScroller({flash:!0})):r<i+a-o&&(e.scrollTop=i+a-o,$(n).nanoScroller({flash:!0}))}function onContentLoaded(e){e=onAnimationFrameCallback(e),setZeroTimeout(e)}function tsNow(e){var t=+new Date+(window.tsOffset||0);return e?Math.floor(t/1e3):t}function safeReplaceObject(e,t){for(var n in e)t.hasOwnProperty(n)||"$"==n.charAt(0)||delete e[n];for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])}function listMergeSorted(e,t){e=e||[],t=t||[];for(var n=angular.copy(e),i=e.length?e[e.length-1]:4294967295,a=0;a<t.length;a++)t[a]<i&&n.push(t[a]);return n}function listUniqSorted(e){e=e||[];for(var t=[],n=!1,i=0;i<e.length;i++)e[i]!==n&&t.push(e[i]),n=e[i];return t}function templateUrl(e){var t={confirm_modal:"desktop",error_modal:"desktop",media_modal_layout:"desktop",slider:"desktop",reply_message:"desktop",full_round:"desktop",message_body:"desktop",message_media:"desktop",message_attach_game:"desktop",forward
i},inArray:function(e,t,n){var i;if(t){if(Z)return Z.call(t,e,n);for(i=t.length,n=n?0>n?Math.max(0,i+n):n:0;i>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,t){for(var n=+t.length,i=0,a=e.length;n>i;)e[a++]=t[i++];if(n!==n)for(;void 0!==t[i];)e[a++]=t[i++];return e.length=a,e},grep:function(e,t,n){for(var i,a=[],r=0,o=e.length,s=!n;o>r;r++)i=!t(e[r],r),i!==s&&a.push(e[r]);return a},map:function(e,t,i){var a,r=0,o=e.length,s=n(e),l=[];if(s)for(;o>r;r++)a=t(e[r],r,i),null!=a&&l.push(a);else for(r in e)a=t(e[r],r,i),null!=a&&l.push(a);return X.apply([],l)},guid:1,proxy:function(e,t){var n,i,a;return"string"==typeof t&&(a=e[t],t=e,e=a),ae.isFunction(e)?(n=Y.call(arguments,2),i=function(){return e.apply(t||this,n.concat(Y.call(arguments)))},i.guid=e.guid=e.guid||ae.guid++,i):void 0},now:function(){return+new Date},support:ne}),ae.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){Q["[object "+t+"]"]=t.toLowerCase()});var ce=function(e){function t(e,t,n,i){var a,r,o,s,l,c,u,f,m,h;if((t?t.ownerDocument||t:B)!==P&&x(t),t=t||P,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(R&&!i){if(a=ve.exec(e))if(o=a[1]){if(9===s){if(r=t.getElementById(o),!r||!r.parentNode)return n;if(r.id===o)return n.push(r),n}else if(t.ownerDocument&&(r=t.ownerDocument.getElementById(o))&&F(t,r)&&r.id===o)return n.push(r),n}else{if(a[2])return Q.apply(n,t.getElementsByTagName(e)),n;if((o=a[3])&&w.getElementsByClassName&&t.getElementsByClassName)return Q.apply(n,t.getElementsByClassName(o)),n}if(w.qsa&&(!O||!O.test(e))){if(f=u=U,m=t,h=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){for(c=A(e),(u=t.getAttribute("id"))?f=u.replace(be,"\\$&"):t.setAttribute("id",f),f="[id='"+f+"'] ",l=c.length;l--;)c[l]=f+p(c[l]);m=ye.test(e)&&d(t.parentNode)||t,h=c.join(",")}if(h)try{return Q.apply(n,m.querySelectorAll(h)),n}catch(g){}finally{u||t.removeAttribute("id")}}}return C(e.replace(le,"$1"),t,n,i)}function n(){function e(n,i){return t.push(n+" ")>k.cacheLength&&delete e[t.shift()],e[n+" "]=i}var t=[];return e}function i(e){return e[U]=!0,e}function a(e){var t=P.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function r(e,t){for(var n=e.split("|"),i=e.length;i--;)k.attrHandle[n[i]]=t}function o(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||K)-(~e.sourceIndex||K);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return i(function(t){return t=+t,i(function(n,i){for(var a,r=e([],n.length,t),o=r.length;o--;)n[a=r[o]]&&(n[a]=!(i[a]=n[a]))})})}function d(e){return e&&typeof e.getElementsByTagName!==G&&e}function u(){}function p(e){for(var t=0,n=e.length,i="";n>t;t++)i+=e[t].value;return i}function f(e,t,n){var i=t.dir,a=n&&"parentNode"===i,r=j++;return t.first?function(t,n,r){for(;t=t[i];)if(1===t.nodeType||a)return e(t,n,r)}:function(t,n,o){var s,l,c=[H,r];if(o){for(;t=t[i];)if((1===t.nodeType||a)&&e(t,n,o))return!0}else for(;t=t[i];)if(1===t.nodeType||a){if(l=t[U]||(t[U]={}),(s=l[i])&&s[0]===H&&s[1]===r)return c[2]=s[2];if(l[i]=c,c[2]=e(t,n,o))return!0}}}function m(e){return e.length>1?function(t,n,i){for(var a=e.length;a--;)if(!e[a](t,n,i))return!1;return!0}:e[0]}function h(e,n,i){for(var a=0,r=n.length;r>a;a++)t(e,n[a],i);return i}function g(e,t,n,i,a){for(var r,o=[],s=0,l=e.length,c=null!=t;l>s;s++)(r=e[s])&&(!n||n(r,i,a))&&(o.push(r),c&&t.push(s));return o}function _(e,t,n,a,r,o){return a&&!a[U]&&(a=_(a)),r&&!r[U]&&(r=_(r,o)),i(function(i,o,s,l){var c,d,u,p=[],f=[],m=o.length,_=i||h(t||"*",s.nodeType?[s]:s,[]),v=!e||!i&&t?_:g(_,p,e,s,l),y=n?r||(i?e:m||a)?[]:o:v;if(n&&n(v,y,s,l),a)for(c=g(y,f),a(c,[],s,l),d=c.length;d--;)(u=c[d])&&(y[f[d]]=!(v[f[d]]=u));if(i){if(r||e){if(r){for(c=[],d=y.length;d--;)(u=y[d])&&c.push(v[d]=u);r(null,y=[],c,l)}for(d=y.l
f=h=r[1],m=(r[2]||"").split(".").sort(),f&&(c=ae.event.special[f]||{},f=(a?c.delegateType:c.bindType)||f,c=ae.event.special[f]||{},u=ae.extend({type:f,origType:h,data:i,handler:n,guid:n.guid,selector:a,needsContext:a&&ae.expr.match.needsContext.test(a),namespace:m.join(".")},l),(p=o[f])||(p=o[f]=[],p.delegateCount=0,c.setup&&c.setup.call(e,i,m,d)!==!1||(e.addEventListener?e.addEventListener(f,d,!1):e.attachEvent&&e.attachEvent("on"+f,d))),c.add&&(c.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),a?p.splice(p.delegateCount++,0,u):p.push(u),ae.event.global[f]=!0);e=null}},remove:function(e,t,n,i,a){var r,o,s,l,c,d,u,p,f,m,h,g=ae.hasData(e)&&ae._data(e);if(g&&(d=g.events)){for(t=(t||"").match(ye)||[""],c=t.length;c--;)if(s=Oe.exec(t[c])||[],f=h=s[1],m=(s[2]||"").split(".").sort(),f){for(u=ae.event.special[f]||{},f=(i?u.delegateType:u.bindType)||f,p=d[f]||[],s=s[2]&&new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=r=p.length;r--;)o=p[r],!a&&h!==o.origType||n&&n.guid!==o.guid||s&&!s.test(o.namespace)||i&&i!==o.selector&&("**"!==i||!o.selector)||(p.splice(r,1),o.selector&&p.delegateCount--,u.remove&&u.remove.call(e,o));l&&!p.length&&(u.teardown&&u.teardown.call(e,m,g.handle)!==!1||ae.removeEvent(e,f,g.handle),delete d[f])}else for(f in d)ae.event.remove(e,f+t[c],n,i,!0);ae.isEmptyObject(d)&&(delete g.handle,ae._removeData(e,"events"))}},trigger:function(t,n,i,a){var r,o,s,l,c,d,u,p=[i||me],f=te.call(t,"type")?t.type:t,m=te.call(t,"namespace")?t.namespace.split("."):[];if(s=d=i=i||me,3!==i.nodeType&&8!==i.nodeType&&!Re.test(f+ae.event.triggered)&&(f.indexOf(".")>=0&&(m=f.split("."),f=m.shift(),m.sort()),o=f.indexOf(":")<0&&"on"+f,t=t[ae.expando]?t:new ae.Event(f,"object"==typeof t&&t),t.isTrigger=a?2:3,t.namespace=m.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:ae.makeArray(n,[t]),c=ae.event.special[f]||{},a||!c.trigger||c.trigger.apply(i,n)!==!1)){if(!a&&!c.noBubble&&!ae.isWindow(i)){for(l=c.delegateType||f,Re.test(l+f)||(s=s.parentNode);s;s=s.parentNode)p.push(s),d=s;d===(i.ownerDocument||me)&&p.push(d.defaultView||d.parentWindow||e)}for(u=0;(s=p[u++])&&!t.isPropagationStopped();)t.type=u>1?l:c.bindType||f,r=(ae._data(s,"events")||{})[t.type]&&ae._data(s,"handle"),r&&r.apply(s,n),r=o&&s[o],r&&r.apply&&ae.acceptData(s)&&(t.result=r.apply(s,n),t.result===!1&&t.preventDefault());if(t.type=f,!a&&!t.isDefaultPrevented()&&(!c._default||c._default.apply(p.pop(),n)===!1)&&ae.acceptData(i)&&o&&i[f]&&!ae.isWindow(i)){d=i[o],d&&(i[o]=null),ae.event.triggered=f;try{i[f]()}catch(h){}ae.event.triggered=void 0,d&&(i[o]=d)}return t.result}},dispatch:function(e){e=ae.event.fix(e);var t,n,i,a,r,o=[],s=Y.call(arguments),l=(ae._data(this,"events")||{})[e.type]||[],c=ae.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(o=ae.event.handlers.call(this,e,l),t=0;(a=o[t++])&&!e.isPropagationStopped();)for(e.currentTarget=a.elem,r=0;(i=a.handlers[r++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,n=((ae.event.special[i.origType]||{}).handle||i.handler).apply(a.elem,s),void 0!==n&&(e.result=n)===!1&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,i,a,r,o=[],s=t.delegateCount,l=e.target;if(s&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(a=[],r=0;s>r;r++)i=t[r],n=i.selector+" ",void 0===a[n]&&(a[n]=i.needsContext?ae(n,this).index(l)>=0:ae.find(n,this,null,[l]).length),a[n]&&a.push(i);a.length&&o.push({elem:l,handlers:a})}return s<t.length&&o.push({elem:this,handlers:t.slice(s)}),o},fix:function(e){if(e[ae.expando])return e;var t,n,i,a=e.type,r=e,o=this.fixHooks[a];for(o||(this.fixHooks[a]=o=De.test(a)?this.mouseHooks:Pe.test(a)?this.keyHooks:{}),i=o.props?this.props.concat(o.props):this.props,e=new ae.Event(r),t=i.length;t--;)n=i[t
},set:wt.set},ae.attrHooks.contenteditable={set:function(e,t,n){wt.set(e,""!==t&&t,n)}},ae.each(["width","height"],function(e,t){ae.attrHooks[t]={set:function(e,n){return""===n?(e.setAttribute(t,"auto"),n):void 0}}})),ne.style||(ae.attrHooks.style={get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+""}});var Ct=/^(?:input|select|textarea|button|object)$/i,Et=/^(?:a|area)$/i;ae.fn.extend({prop:function(e,t){return $e(this,ae.prop,e,t,arguments.length>1)},removeProp:function(e){return e=ae.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),ae.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var i,a,r,o=e.nodeType;if(e&&3!==o&&8!==o&&2!==o)return r=1!==o||!ae.isXMLDoc(e),r&&(t=ae.propFix[t]||t,a=ae.propHooks[t]),void 0!==n?a&&"set"in a&&void 0!==(i=a.set(e,n,t))?i:e[t]=n:a&&"get"in a&&null!==(i=a.get(e,t))?i:e[t]},propHooks:{tabIndex:{get:function(e){var t=ae.find.attr(e,"tabindex");return t?parseInt(t,10):Ct.test(e.nodeName)||Et.test(e.nodeName)&&e.href?0:-1}}}}),ne.hrefNormalized||ae.each(["href","src"],function(e,t){ae.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),ne.optSelected||(ae.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),ae.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ae.propFix[this.toLowerCase()]=this}),ne.enctype||(ae.propFix.enctype="encoding");var $t=/[\t\r\n\f]/g;ae.fn.extend({addClass:function(e){var t,n,i,a,r,o,s=0,l=this.length,c="string"==typeof e&&e;if(ae.isFunction(e))return this.each(function(t){ae(this).addClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>s;s++)if(n=this[s],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace($t," "):" ")){for(r=0;a=t[r++];)i.indexOf(" "+a+" ")<0&&(i+=a+" ");o=ae.trim(i),n.className!==o&&(n.className=o)}return this},removeClass:function(e){var t,n,i,a,r,o,s=0,l=this.length,c=0===arguments.length||"string"==typeof e&&e;if(ae.isFunction(e))return this.each(function(t){ae(this).removeClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>s;s++)if(n=this[s],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace($t," "):"")){for(r=0;a=t[r++];)for(;i.indexOf(" "+a+" ")>=0;)i=i.replace(" "+a+" "," ");o=e?ae.trim(i):"",n.className!==o&&(n.className=o)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):this.each(ae.isFunction(e)?function(n){ae(this).toggleClass(e.call(this,n,this.className,t),t)}:function(){if("string"===n)for(var t,i=0,a=ae(this),r=e.match(ye)||[];t=r[i++];)a.hasClass(t)?a.removeClass(t):a.addClass(t);else(n===Me||"boolean"===n)&&(this.className&&ae._data(this,"__className__",this.className),this.className=this.className||e===!1?"":ae._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,i=this.length;i>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace($t," ").indexOf(t)>=0)return!0;return!1}}),ae.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){ae.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ae.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,i){return this.on(t,e,n,i)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var It=ae.now(),xt=/\?/,Pt=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;ae.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,i=null,a=ae.trim(t+"")
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:"1086091090",predicate:"storage.filePartial",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:"-1278304028",predicate:"storage.fileMp4",params:[],type:"storage.FileType"},{id:"276907596",predicate:"storage.fileWebp",params:[],type:"storage.FileType"},{id:"2086234950",predicate:"fileLocationUnavailable",params:[{name:"volume_id",type:"long"},{name:"local_id
id:"-2131957734",predicate:"updateUserBlocked",params:[{name:"user_id",type:"int"},{name:"blocked",type:"Bool"}],type:"Update"},{id:"-1094555409",predicate:"updateNotifySettings",params:[{name:"peer",type:"NotifyPeer"},{name:"notify_settings",type:"PeerNotifySettings"}],type:"Update"},{id:"381645902",predicate:"sendMessageTypingAction",params:[],type:"SendMessageAction"},{id:"-44119819",predicate:"sendMessageCancelAction",params:[],type:"SendMessageAction"},{id:"-1584933265",predicate:"sendMessageRecordVideoAction",params:[],type:"SendMessageAction"},{id:"-378127636",predicate:"sendMessageUploadVideoAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"-718310409",predicate:"sendMessageRecordAudioAction",params:[],type:"SendMessageAction"},{id:"-212740181",predicate:"sendMessageUploadAudioAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"-774682074",predicate:"sendMessageUploadPhotoAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"-1441998364",predicate:"sendMessageUploadDocumentAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"393186209",predicate:"sendMessageGeoLocationAction",params:[],type:"SendMessageAction"},{id:"1653390447",predicate:"sendMessageChooseContactAction",params:[],type:"SendMessageAction"},{id:"446822276",predicate:"contacts.found",params:[{name:"results",type:"Vector<Peer>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"contacts.Found"},{id:"-337352679",predicate:"updateServiceNotification",params:[{name:"flags",type:"#"},{name:"popup",type:"flags.0?true"},{name:"inbox_date",type:"flags.1?int"},{name:"type",type:"string"},{name:"message",type:"string"},{name:"media",type:"MessageMedia"},{name:"entities",type:"Vector<MessageEntity>"}],type:"Update"},{id:"-496024847",predicate:"userStatusRecently",params:[],type:"UserStatus"},{id:"129960444",predicate:"userStatusLastWeek",params:[],type:"UserStatus"},{id:"2011940674",predicate:"userStatusLastMonth",params:[],type:"UserStatus"},{id:"-298113238",predicate:"updatePrivacy",params:[{name:"key",type:"PrivacyKey"},{name:"rules",type:"Vector<PrivacyRule>"}],type:"Update"},{id:"1335282456",predicate:"inputPrivacyKeyStatusTimestamp",params:[],type:"InputPrivacyKey"},{id:"-1137792208",predicate:"privacyKeyStatusTimestamp",params:[],type:"PrivacyKey"},{id:"218751099",predicate:"inputPrivacyValueAllowContacts",params:[],type:"InputPrivacyRule"},{id:"407582158",predicate:"inputPrivacyValueAllowAll",params:[],type:"InputPrivacyRule"},{id:"320652927",predicate:"inputPrivacyValueAllowUsers",params:[{name:"users",type:"Vector<InputUser>"}],type:"InputPrivacyRule"},{id:"195371015",predicate:"inputPrivacyValueDisallowContacts",params:[],type:"InputPrivacyRule"},{id:"-697604407",predicate:"inputPrivacyValueDisallowAll",params:[],type:"InputPrivacyRule"},{id:"-1877932953",predicate:"inputPrivacyValueDisallowUsers",params:[{name:"users",type:"Vector<InputUser>"}],type:"InputPrivacyRule"},{id:"-123988",predicate:"privacyValueAllowContacts",params:[],type:"PrivacyRule"},{id:"1698855810",predicate:"privacyValueAllowAll",params:[],type:"PrivacyRule"},{id:"1297858060",predicate:"privacyValueAllowUsers",params:[{name:"users",type:"Vector<int>"}],type:"PrivacyRule"},{id:"-125240806",predicate:"privacyValueDisallowContacts",params:[],type:"PrivacyRule"},{id:"-1955338397",predicate:"privacyValueDisallowAll",params:[],type:"PrivacyRule"},{id:"209668535",predicate:"privacyValueDisallowUsers",params:[{name:"users",type:"Vector<int>"}],type:"PrivacyRule"},{id:"1430961007",predicate:"account.privacyRules",params:[{name:"rules",type:"Vector<PrivacyRule>"},{name:"users",type:"Vector<User>"}],type:"account.PrivacyRules"},{id:"-1194283041",predicate:"accountDaysTTL",params:[{name:"days",type:"int"}],type:"AccountDaysTTL"},{id:"314130811",predicate:"updateUserPhone",params:[{name:"user_id",type:"int"},{name:"phone",type:"string"}],type:"Update"},{id:"1815593308",predicate:"documentAttributeImageSize",params:[{name:"w",type:"int"},{name:"h",type:"int"}],type:"Do
type:"int"},{name:"peer",type:"Peer"},{name:"msg_id",type:"int"},{name:"chat_instance",type:"long"},{name:"data",type:"flags.0?bytes"},{name:"game_short_name",type:"flags.1?string"}],type:"Update"},{id:"649453030",predicate:"messages.messageEditData",params:[{name:"flags",type:"#"},{name:"caption",type:"flags.0?true"}],type:"messages.MessageEditData"},{id:"-469536605",predicate:"updateEditMessage",params:[{name:"message",type:"Message"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:"-190472735",predicate:"inputBotInlineMessageMediaGeo",params:[{name:"flags",type:"#"},{name:"geo_point",type:"InputGeoPoint"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:"-1431327288",predicate:"inputBotInlineMessageMediaVenue",params:[{name:"flags",type:"#"},{name:"geo_point",type:"InputGeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:"766443943",predicate:"inputBotInlineMessageMediaContact",params:[{name:"flags",type:"#"},{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:"982505656",predicate:"botInlineMessageMediaGeo",params:[{name:"flags",type:"#"},{name:"geo",type:"GeoPoint"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"1130767150",predicate:"botInlineMessageMediaVenue",params:[{name:"flags",type:"#"},{name:"geo",type:"GeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"904770772",predicate:"botInlineMessageMediaContact",params:[{name:"flags",type:"#"},{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"-1462213465",predicate:"inputBotInlineResultPhoto",params:[{name:"id",type:"string"},{name:"type",type:"string"},{name:"photo",type:"InputPhoto"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:"-459324",predicate:"inputBotInlineResultDocument",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"title",type:"flags.1?string"},{name:"description",type:"flags.2?string"},{name:"document",type:"InputDocument"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:"400266251",predicate:"botInlineMediaResult",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"photo",type:"flags.0?Photo"},{name:"document",type:"flags.1?Document"},{name:"title",type:"flags.2?string"},{name:"description",type:"flags.3?string"},{name:"send_message",type:"BotInlineMessage"}],type:"BotInlineResult"},{id:"-1995686519",predicate:"inputBotInlineMessageID",params:[{name:"dc_id",type:"int"},{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputBotInlineMessageID"},{id:"-103646630",predicate:"updateInlineBotCallbackQuery",params:[{name:"flags",type:"#"},{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"msg_id",type:"InputBotInlineMessageID"},{name:"chat_instance",type:"long"},{name:"data",type:"flags.0?bytes"},{name:"game_short_name",type:"flags.1?string"}],type:"Update"},{id:"1008755359",predicate:"inlineBotSwitchPM",params:[{name:"text",type:"string"},{name:"start_param",type:"string"}],type:"InlineBotSwitchPM"},{id:"863093588",predicate:"messages.peerDialogs",params:[{name:"dialogs",type:"Vector<Dialog>"},{name:"messages",type:"Vector<Message>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"state",type:"updates.State"}],type:"messages.PeerDialogs"},{id:"-305282981",predicate:"topPeer",params:[{name:"peer",type:"Peer"},{name:"rating",type:"double"}],type:"TopPeer"},{id:"-1
type:"#"},{name:"exclude_pinned",type:"flags.0?true"},{name:"offset_date",type:"int"},{name:"offset_id",type:"int"},{name:"offset_peer",type:"InputPeer"},{name:"limit",type:"int"}],type:"messages.Dialogs"},{id:"-1347868602",method:"messages.getHistory",params:[{name:"peer",type:"InputPeer"},{name:"offset_id",type:"int"},{name:"offset_date",type:"int"},{name:"add_offset",type:"int"},{name:"limit",type:"int"},{name:"max_id",type:"int"},{name:"min_id",type:"int"}],type:"messages.Messages"},{id:"-732523960",method:"messages.search",params:[{name:"flags",type:"#"},{name:"peer",type:"InputPeer"},{name:"q",type:"string"},{name:"filter",type:"MessagesFilter"},{name:"min_date",type:"int"},{name:"max_date",type:"int"},{name:"offset",type:"int"},{name:"max_id",type:"int"},{name:"limit",type:"int"}],type:"messages.Messages"},{id:"238054714",method:"messages.readHistory",params:[{name:"peer",type:"InputPeer"},{name:"max_id",type:"int"}],type:"messages.AffectedMessages"},{id:"469850889",method:"messages.deleteHistory",params:[{name:"flags",type:"#"},{name:"just_clear",type:"flags.0?true"},{name:"peer",type:"InputPeer"},{name:"max_id",type:"int"}],type:"messages.AffectedHistory"},{id:"-443640366",method:"messages.deleteMessages",params:[{name:"flags",type:"#"},{name:"revoke",type:"flags.0?true"},{name:"id",type:"Vector<int>"}],type:"messages.AffectedMessages"},{id:"94983360",method:"messages.receivedMessages",params:[{name:"max_id",type:"int"}],type:"Vector<ReceivedNotifyMessage>"},{id:"-1551737264",method:"messages.setTyping",params:[{name:"peer",type:"InputPeer"},{name:"action",type:"SendMessageAction"}],type:"Bool"},{id:"-91733382",method:"messages.sendMessage",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.1?true"},{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:"message",type:"string"},{name:"random_id",type:"long"},{name:"reply_markup",type:"flags.2?ReplyMarkup"},{name:"entities",type:"flags.3?Vector<MessageEntity>"}],type:"Updates"},{id:"-923703407",method:"messages.sendMedia",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:"media",type:"InputMedia"},{name:"random_id",type:"long"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"Updates"},{id:"1888354709",method:"messages.forwardMessages",params:[{name:"flags",type:"#"},{name:"silent",type:"flags.5?true"},{name:"background",type:"flags.6?true"},{name:"with_my_score",type:"flags.8?true"},{name:"from_peer",type:"InputPeer"},{name:"id",type:"Vector<int>"},{name:"random_id",type:"Vector<long>"},{name:"to_peer",type:"InputPeer"}],type:"Updates"},{id:"-820669733",method:"messages.reportSpam",params:[{name:"peer",type:"InputPeer"}],type:"Bool"},{id:"-1460572005",method:"messages.hideReportSpam",params:[{name:"peer",type:"InputPeer"}],type:"Bool"},{id:"913498268",method:"messages.getPeerSettings",params:[{name:"peer",type:"InputPeer"}],type:"PeerSettings"},{id:"1013621127",method:"messages.getChats",params:[{name:"id",type:"Vector<int>"}],type:"messages.Chats"},{id:"998448230",method:"messages.getFullChat",params:[{name:"chat_id",type:"int"}],type:"messages.ChatFull"},{id:"-599447467",method:"messages.editChatTitle",params:[{name:"chat_id",type:"int"},{name:"title",type:"string"}],type:"Updates"},{id:"-900957736",method:"messages.editChatPhoto",params:[{name:"chat_id",type:"int"},{name:"photo",type:"InputChatPhoto"}],type:"Updates"},{id:"-106911223",method:"messages.addChatUser",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"InputUser"},{name:"fwd_limit",type:"int"}],type:"Updates"},{id:"-530505962",method:"messages.deleteChatUser",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"InputUser"}],type:"Updates"},{id:"164303470",method:"messages.createChat",params:[{name:"users",type:"Vector<InputUser>"},{name:"title",type
"26a1":["⚡",["zap"]],"26aa":["⚪",["white_circle"]],"26ab":["⚫",["black_circle"]],"26bd":["⚽",["soccer"]],"26be":["⚾",["baseball"]],"26c4":["⛄",["snowman"]],"26c5":["⛅",["partly_sunny"]],"26ce":["⛎",["ophiuchus"]],"26d4":["⛔",["no_entry"]],"26ea":["⛪",["church"]],"26f2":["⛲",["fountain"]],"26f3":["⛳",["golf"]],"26f5":["⛵",["boat","sailboat"]],"26fa":["⛺",["tent"]],"26fd":["⛽",["fuelpump"]],2702:["✂",["scissors"]],2705:["✅",["white_check_mark"]],2708:["✈",["airplane"]],2709:["✉",["email","envelope"]],"270a":["✊",["fist"]],"270b":["✋",["hand","raised_hand"]],"270c":["✌",["v"]],"270f":["✏",["pencil2"]],2712:["✒",["black_nib"]],2714:["✔",["heavy_check_mark"]],2716:["✖",["heavy_multiplication_x"]],2728:["✨",["sparkles"]],2733:["✳",["eight_spoked_asterisk"]],2734:["✴",["eight_pointed_black_star"]],2744:["❄",["snowflake"]],2747:["❇",["sparkle"]],"274c":["❌",["x"]],"274e":["❎",["negative_squared_cross_mark"]],2753:["❓",["question"]],2754:["❔",["grey_question"]],2755:["❕",["grey_exclamation"]],2757:["❗",["exclamation","heavy_exclamation_mark"]],2764:["❤",["heart"],"<3"],2795:["➕",["heavy_plus_sign"]],2796:["➖",["heavy_minus_sign"]],2797:["➗",["heavy_division_sign"]],"27a1":["➡",["arrow_right"]],"27b0":["➰",["curly_loop"]],"27bf":["➿",["loop"]],2934:["⤴",["arrow_heading_up"]],2935:["⤵",["arrow_heading_down"]],"2b05":["⬅",["arrow_left"]],"2b06":["⬆",["arrow_up"]],"2b07":["⬇",["arrow_down"]],"2b1b":["⬛",["black_large_square"]],"2b1c":["⬜",["white_large_square"]],"2b50":["⭐",["star"]],"2b55":["⭕",["o"]],3030:["〰",["wavy_dash"]],"303d":["〽",["part_alternation_mark"]],3297:["㊗",["congratulations"]],3299:["㊙",["secret"]],"1f004":["🀄",["mahjong"]],"1f0cf":["🃏",["black_joker"]],"1f170":["🅰",["a"]],"1f171":["🅱",["b"]],"1f17e":["🅾",["o2"]],"1f17f":["🅿",["parking"]],"1f18e":["🆎",["ab"]],"1f191":["🆑",["cl"]],"1f192":["🆒",["cool"]],"1f193":["🆓",["free"]],"1f194":["🆔",["id"]],"1f195":["🆕",["new"]],"1f196":["🆖",["ng"]],"1f197":["🆗",["ok"]],"1f198":["🆘",["sos"]],"1f199":["🆙",["up"]],"1f19a":["🆚",["vs"]],"1f201":["🈁",["koko"]],"1f202":["🈂",["sa"]],"1f21a":["🈚",["u7121"]],"1f22f":["🈯",["u6307"]],"1f232":["🈲",["u7981"]],"1f233":["🈳",["u7a7a"]],"1f234":["🈴",["u5408"]],"1f235":["🈵",["u6e80"]],"1f236":["🈶",["u6709"]],"1f237":["🈷",["u6708"]],"1f238":["🈸",["u7533"]],"1f239":["🈹",["u5272"]],"1f23a":["🈺",["u55b6"]],"1f250":["🉐",["ideograph_advantage"]],"1f251":["🉑",["accept"]],"1f300":["🌀",["cyclone"]],"1f301":["🌁",["foggy"]],"1f302":["🌂",["closed_umbrella"]],"1f303":["🌃",["night_with_stars"]],"1f304":["🌄",["sunrise_over_mountains"]],"1f305":["🌅",["sunrise"]],"1f306":["🌆",["city_sunset"]],"1f307":["🌇",["city_sunrise"]],"1f308":["🌈",["rainbow"]],"1f309":["🌉",["bridge_at_night"]],"1f30a":["🌊",["ocean"]],"1f30b":["🌋",["volcano"]],"1f30c":["🌌",["milky_way"]],"1f30d":["🌍",["earth_africa"]],"1f30e":["🌎",["earth_americas"]],"1f30f":["🌏",["earth_asia"]],"1f310":["🌐",["globe_with_meridians"]],"1f311":["🌑",["new_moon"]],"1f312":["🌒",["waxing_crescent_moon"]],"1f313":["🌓",["first_quarter_moon"]],"1f314":["🌔",["moon","waxing_gibbous_moon"]],"1f315":["🌕",["full_moon"]],"1f316":["🌖",["waning_gibbous_moon"]],"1f317":["🌗",["last_quarter_moon"]],"1f318":["🌘",["waning_crescent_moon"]],"1f319":["🌙",["crescent_moon"]],"1f320":["🌠",["stars"]],"1f31a":["🌚",["new_moon_with_face"]],"1f31b":["🌛",["first_quarter_moon_with_face"]],"1f31c":["🌜",["last_quarter_moon_with_face"]],"1f31d":["🌝",["full_moon_with_face"]],"1f31e":["🌞",["sun_with_face"]],"1f31f":["🌟",["star2"]],"1f330":["🌰",["chestnut"]],"1f331":["🌱",["seedling"]],"1f332":["🌲",["evergreen_tree"]],"1f333":["🌳",["deciduous_tree"]],"1f334":["🌴",["palm_tree"]],"1f335":["🌵",["cactus"]],"1f337":["🌷",["tulip"]],"1f338":["🌸",["cherry_blossom"]],"1f339":["🌹",["rose"]],"1f33a":["🌺",["hibiscus"]],"1f33b"
"Ɯ":"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","ꜽ":"ay","ḃ":"b","ḅ":"b","ɓ":"b","ḇ":"b","ᵬ":"b","ᶀ":"b","ƀ":"b","ƃ":"b","ɵ":"o","ć":"c","č":"c","ç":"c","ḉ":"c","ĉ":"c","ɕ":"c","ċ":"c","ƈ":"c","ȼ":"c","ď":"d","ḑ":"d","ḓ":"d","ȡ":"d","ḋ":"d","ḍ":"d","ɗ":"d","ᶑ":"d","ḏ":"d","ᵭ":"d","ᶁ":"d","đ":"d","ɖ":"d","ƌ":"d","ı":"i","ȷ":"j","ɟ":"j","ʄ":"j","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","ẽ":"e","ḛ":"e","ꝫ":"et","ḟ":"f","ƒ":"f","ᵮ":"f","ᶂ":"f","ǵ":"g","ğ":"g","ǧ":"g","ģ":"g","ĝ":"g","ġ":"g","ɠ":"g","ḡ":"g","ᶃ":"g","ǥ":"g","ḫ":"h","ȟ":"h","ḩ":"h","ĥ":"h","ⱨ":"h","ḧ":"h","ḣ":"h","ḥ":"h","ɦ":"h","ẖ":"h","ħ":"h","ƕ":"hv","í":"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","ʝ":"j","ɉ":"j","ḱ":"k","ǩ":"k","ķ":"k","ⱪ":"k","ꝃ":"k","ḳ":"k","ƙ":"k","ḵ":"k","ᶄ":"k","ꝁ":"k","ꝅ":"k","ĺ":"l","ƚ":"l","ɬ":"l","ľ":"l","ļ":"l","ḽ":"l","ȴ":"l","ḷ":"l","ḹ":"l","ⱡ":"l","ꝉ":"l","ḻ":"l","ŀ":"l","ɫ":"l","ᶅ":"l","ɭ":"l","ł":"l","lj":"lj","ſ":"s","ẜ":"s","ẛ":"s","ẝ":"s","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ᵯ":"m","ᶆ":"m","ń":"n","ň":"n","ņ":"n","ṋ":"n","ȵ":"n","ṅ":"n","ṇ":"n","ǹ":"n","ɲ":"n","ṉ":"n","ƞ":"n","ᵰ":"n","ᶇ":"n","ɳ":"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","ᶓ":"e","ɔ":"o","ᶗ":"o","ȣ":"ou","ṕ":"p","ṗ":"p","ꝓ":"p","ƥ":"p","ᵱ":"p","ᶈ":"p","ꝕ":"p","ᵽ":"p","ꝑ":"p","ꝙ":"q","ʠ":"q","ɋ":"q","ꝗ":"q","ŕ":"r","ř":"r","ŗ":"r","ṙ":"r","ṛ":"r","ṝ":"r","ȑ":"r","ɾ":"r","ᵳ":"r","ȓ":"r","ṟ":"r","ɼ":"r","ᵲ":"r","ᶉ":"r","ɍ":"r","ɽ":"r","ↄ":"c","ꜿ":"c","ɘ":"e","ɿ":"r","ś":"s","ṥ":"s","š":"s","ṧ":"s","ş":"s","ŝ":"s","ș":"s","ṡ":"s","ṣ":"s","ṩ":"s","ʂ":"s","ᵴ":"s","ᶊ":"s","ȿ":"s","ɡ":"g","ß":"ss","ᴑ":"o","ᴓ":"o","ᴝ":"u","ť":"t","ţ":"t","ṱ":"t","ț":"t","ȶ":"t","ẗ":"t","ⱦ":"
var t=+e.slice(1,-1),n=t+a;return n<r.length?ve(r[n]):e}),s+="\nhttp://errors.angularjs.org/1.5.7/"+(e?e+"/":"")+o,i=a,n="?";i<r.length;i++,n="&")s+=n+"p"+(i-a)+"="+encodeURIComponent(ve(r[i]));return new t(s)}}function n(e){if(null==e||T(e))return!1;if(Yi(e)||w(e)||Fi&&e instanceof Fi)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 i(e,t,a){var r,o;if(e)if(S(e))for(r in e)"prototype"==r||"length"==r||"name"==r||e.hasOwnProperty&&!e.hasOwnProperty(r)||t.call(a,e[r],r,e);else if(Yi(e)||n(e)){var s="object"!=typeof e;for(r=0,o=e.length;r<o;r++)(s||r in e)&&t.call(a,e[r],r,e)}else if(e.forEach&&e.forEach!==i)e.forEach(t,a,e);else if(b(e))for(r in e)t.call(a,e[r],r,e);else if("function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&t.call(a,e[r],r,e);else for(r in e)Pi.call(e,r)&&t.call(a,e[r],r,e);return e}function a(e,t,n){for(var i=Object.keys(e).sort(),a=0;a<i.length;a++)t.call(n,e[i[a]],i[a]);return i}function r(e){return function(t,n){e(n,t)}}function o(){return++Ki}function s(e,t){t?e.$$hashKey=t:delete e.$$hashKey}function l(e,t,n){for(var i=e.$$hashKey,a=0,r=t.length;a<r;++a){var o=t[a];if(y(o)||S(o))for(var c=Object.keys(o),d=0,u=c.length;d<u;d++){var p=c[d],f=o[p];n&&y(f)?M(f)?e[p]=new Date(f.valueOf()):A(f)?e[p]=new RegExp(f):f.nodeName?e[p]=f.cloneNode(!0):O(f)?e[p]=f.clone():(y(e[p])||(e[p]=Yi(f)?[]:{}),l(e[p],[f],!0)):e[p]=f}}return s(e,i),e}function c(e){return l(e,Hi.call(arguments,1),!1)}function d(e){return l(e,Hi.call(arguments,1),!0)}function u(e){return parseInt(e,10)}function p(e,t){return c(Object.create(e),t)}function f(){}function m(e){return e}function h(e){return function(){return e}}function g(e){return S(e.toString)&&e.toString!==qi}function _(e){return"undefined"==typeof e}function v(e){return"undefined"!=typeof e}function y(e){return null!==e&&"object"==typeof e}function b(e){return null!==e&&"object"==typeof e&&!zi(e)}function w(e){return"string"==typeof e}function k(e){return"number"==typeof e}function M(e){return"[object Date]"===qi.call(e)}function S(e){return"function"==typeof e}function A(e){return"[object RegExp]"===qi.call(e)}function T(e){return e&&e.window===e}function C(e){return e&&e.$evalAsync&&e.$watch}function E(e){return"[object File]"===qi.call(e)}function $(e){return"[object FormData]"===qi.call(e)}function I(e){return"[object Blob]"===qi.call(e)}function x(e){return"boolean"==typeof e}function P(e){return e&&S(e.then)}function D(e){return e&&k(e.length)&&Xi.test(qi.call(e))}function R(e){return"[object ArrayBuffer]"===qi.call(e)}function O(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}function N(e){var t,n={},i=e.split(",");for(t=0;t<i.length;t++)n[i[t]]=!0;return n}function L(e){return Di(e.nodeName||e[0]&&e[0].nodeName)}function F(e,t){var n=e.indexOf(t);return n>=0&&e.splice(n,1),n}function U(e,t){function n(e,t){var n,i=t.$$hashKey;if(Yi(e))for(var r=0,o=e.length;r<o;r++)t.push(a(e[r]));else if(b(e))for(n in e)t[n]=a(e[n]);else if(e&&"function"==typeof e.hasOwnProperty)for(n in e)e.hasOwnProperty(n)&&(t[n]=a(e[n]));else for(n in e)Pi.call(e,n)&&(t[n]=a(e[n]));return s(t,i),t}function a(e){if(!y(e))return e;var t=o.indexOf(e);if(t!==-1)return l[t];if(T(e)||C(e))throw Wi("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");var i=!1,a=r(e);return void 0===a&&(a=Yi(e)?[]:Object.create(zi(e)),i=!0),o.push(e),l.push(a),i?n(e,a):a}function r(e){switch(qi.call(e)){case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return new e.constructor(a(e.buffer),e.byteOffset,e.length);case"[object ArrayBuffer]":if(!e.slice){var t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(new Uint8Array(e)),t}return e.slice(0);case"[object Boolean]":case"[object Number]":case"[object String]":case"[object Date]":return new e.constructor(e.valueOf());case"[object RegE
e.hasAttribute(n)&&a--),i.push(e),e=e.nextSibling}while(a>0)}else i.push(e);return Fi(i)}function K(e,t,n){return function(i,a,r,o,s){return a=G(a[0],t,n),e(i,a,r,o,s)}}function Y(e,t,n,i,a,r){var o;return e?U(t,n,i,a,r):function(){return o||(o=U(t,n,i,a,r),t=n=r=null),o.apply(this,arguments)}}function J(e,t,n,r,o,s,l,d,u){function p(e,t,n,i){e&&(n&&(e=K(e,n,i)),e.require=m.require,e.directiveName=h,(A===m||m.$$isolateScope)&&(e=he(e,{isolateScope:!0})),l.push(e)),t&&(n&&(t=K(t,n,i)),t.require=m.require,t.directiveName=h,(A===m||m.$$isolateScope)&&(t=he(t,{isolateScope:!0})),d.push(t))}function f(e,r,o,s,u){function p(e,t,n,i){var a;if(C(e)||(i=n,n=t,t=e,e=void 0),x&&(a=b),n||(n=x?E.parent():E),!i)return u(e,t,a,n,F);var r=u.$$slots[i];if(r)return r(e,t,a,n,F);if(_(r))throw Wa("noslot",'No parent directive that requires a transclusion with slot name "{0}". Element: {1}',i,X(E))}var f,m,h,g,v,b,w,E,$,I;t===o?($=n,E=n.$$element):(E=Fi(o),$=new R(E,n)),v=r,A?g=r.$new(!0):k&&(v=r.$parent),u&&(w=p,w.$$boundTransclude=u,w.isSlotFilled=function(e){return!!u.$$slots[e]}),M&&(b=Q(E,$,w,M,g,r,A)),A&&(U.$$addScopeInfo(E,g,!0,!(T&&(T===A||T===A.$$originalDirective))),U.$$addScopeClass(E,!0),g.$$isolateBindings=A.$$isolateBindings,I=_e(r,$,g,g.$$isolateBindings,A),I.removeWatches&&g.$on("$destroy",I.removeWatches));for(var P in b){var D=M[P],O=b[P],N=D.$$bindings.bindToController;O.identifier&&N?O.bindingInfo=_e(v,$,O.instance,N,D):O.bindingInfo={};var L=O();L!==O.instance&&(O.instance=L,E.data("$"+D.name+"Controller",L),O.bindingInfo.removeWatches&&O.bindingInfo.removeWatches(),O.bindingInfo=_e(v,$,O.instance,N,D))}for(i(M,function(e,t){var n=e.require;e.bindToController&&!Yi(n)&&y(n)&&c(b[t].instance,Z(t,n,E,b))}),i(b,function(e){var t=e.instance;if(S(t.$onChanges))try{t.$onChanges(e.bindingInfo.initialChanges)}catch(n){a(n)}if(S(t.$onInit))try{t.$onInit()}catch(n){a(n)}S(t.$onDestroy)&&v.$on("$destroy",function(){t.$onDestroy()})}),f=0,m=l.length;f<m;f++)h=l[f],ge(h,h.isolateScope?g:r,E,$,h.require&&Z(h.directiveName,h.require,E,b),w);var F=r;for(A&&(A.template||null===A.templateUrl)&&(F=g),e&&e(F,o.childNodes,void 0,u),f=d.length-1;f>=0;f--)h=d[f],ge(h,h.isolateScope?g:r,E,$,h.require&&Z(h.directiveName,h.require,E,b),w);i(b,function(e){var t=e.instance;S(t.$postLink)&&t.$postLink()})}u=u||{};for(var m,h,g,v,b,w=-Number.MAX_VALUE,k=u.newScopeDirective,M=u.controllerDirectives,A=u.newIsolateScopeDirective,T=u.templateDirective,E=u.nonTlbTranscludeDirective,$=!1,I=!1,x=u.hasElementTranscludeDirective,P=n.$$element=Fi(t),D=s,O=r,N=!1,F=!1,B=0,H=e.length;B<H;B++){m=e[B];var q=m.$$start,z=m.$$end;if(q&&(P=G(t,q,z)),g=void 0,w>m.priority)break;if((b=m.scope)&&(m.templateUrl||(y(b)?(oe("new/isolated scope",A||k,m,P),A=m):oe("new/isolated scope",A,m,P)),k=k||m),h=m.name,!N&&(m.replace&&(m.templateUrl||m.template)||m.transclude&&!m.$$tlb)){for(var J,te=B+1;J=e[te++];)if(J.transclude&&!J.$$tlb||J.replace&&(J.templateUrl||J.template)){F=!0;break}N=!0}if(!m.templateUrl&&m.controller&&(b=m.controller,M=M||me(),oe("'"+h+"' controller",M[h],m,P),M[h]=m),b=m.transclude)if($=!0,m.$$tlb||(oe("transclusion",E,m,P),E=m),"element"==b)x=!0,w=m.priority,g=P,P=n.$$element=Fi(U.$$createComment(h,n[h])),t=P[0],fe(o,j(g),t),g[0].$$parentNode=g[0].parentNode,O=Y(F,g,r,w,D&&D.name,{nonTlbTranscludeDirective:E});else{var ne=me();if(g=Fi(Ie(t)).contents(),y(b)){g=[];var re=me(),se=me();i(b,function(e,t){var n="?"===e.charAt(0);e=n?e.substring(1):e,re[e]=t,ne[t]=null,se[t]=n}),i(P.contents(),function(e){var t=re[gt(L(e))];t?(se[t]=!0,ne[t]=ne[t]||[],ne[t].push(e)):g.push(e)}),i(se,function(e,t){if(!e)throw Wa("reqslot","Required transclusion slot `{0}` was not filled.",t)});for(var le in ne)ne[le]&&(ne[le]=Y(F,ne[le],r))}P.empty(),O=Y(F,g,r,void 0,void 0,{needsNewScope:m.$$isolateScope||m.$$newScope}),O.$$slots=ne}if(m.template)if(I=!0,oe("template",T,m,P),T=m,b=S(m.template)?m.template(P,n):m.template,b=Ae(b),m.replace){if(D=m,g=ke(b)?[]:vt(de(m.templateNamespace,Ji(b))),t=g[0],1!=g.length||t.nodeType!==ra)throw Wa("tplrt","Template for directive '{0}' must h
n=!0,a=[],i(e.elements,function(e){cn(e,t),n=n&&e.constant,e.constant||a.push.apply(a,e.toWatch)}),e.constant=n,e.toWatch=a;break;case _r.ObjectExpression:n=!0,a=[],i(e.properties,function(e){cn(e.value,t),n=n&&e.value.constant&&!e.computed,e.value.constant||a.push.apply(a,e.value.toWatch)}),e.constant=n,e.toWatch=a;break;case _r.ThisExpression:e.constant=!1,e.toWatch=[];break;case _r.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===_r.Identifier||e.type===_r.MemberExpression}function pn(e){if(1===e.body.length&&un(e.body[0].expression))return{type:_r.AssignmentExpression,left:e.body[0].expression,right:{type:_r.NGValueParameter},operator:"="}}function fn(e){return 0===e.body.length||1===e.body.length&&(e.body[0].expression.type===_r.Literal||e.body[0].expression.type===_r.ArrayExpression||e.body[0].expression.type===_r.ObjectExpression)}function mn(e){return e.constant}function hn(e,t){this.astBuilder=e,this.$filter=t}function gn(e,t){this.astBuilder=e,this.$filter=t}function _n(e){return"constructor"==e}function vn(e){return S(e.valueOf)?e.valueOf():yr.call(e)}function yn(){var e,t,n=me(),a=me(),r={"true":!0,"false":!1,"null":null,undefined:void 0};this.addLiteral=function(e,t){r[e]=t},this.setIdentifierFns=function(n,i){return e=n,t=i,this},this.$get=["$filter",function(o){function s(e,t,i){var r,s,c;switch(i=i||b,typeof e){case"string":e=e.trim(),c=e;var g=i?a:n;if(r=g[c],!r){":"===e.charAt(0)&&":"===e.charAt(1)&&(s=!0,e=e.substring(2));var v=i?y:_,w=new gr(v),k=new vr(w,o,v);r=k.parse(e),r.constant?r.$$watchDelegate=m:s?r.$$watchDelegate=r.literal?p:u:r.inputs&&(r.$$watchDelegate=d),i&&(r=l(r)),g[c]=r}return h(r,t);case"function":return h(e,t);default:return h(f,t)}}function l(e){function t(t,n,i,a){var r=b;b=!0;try{return e(t,n,i,a)}finally{b=r}}if(!e)return e;t.$$watchDelegate=e.$$watchDelegate,t.assign=l(e.assign),t.constant=e.constant,t.literal=e.literal;for(var n=0;e.inputs&&n<e.inputs.length;++n)e.inputs[n]=l(e.inputs[n]);return t.inputs=e.inputs,t}function c(e,t){return null==e||null==t?e===t:("object"!=typeof e||(e=vn(e),"object"!=typeof e))&&(e===t||e!==e&&t!==t)}function d(e,t,n,i,a){var r,o=i.inputs;if(1===o.length){var s=c;return o=o[0],e.$watch(function(e){var t=o(e);return c(t,s)||(r=i(e,void 0,void 0,[t]),s=t&&vn(t)),r},t,n,a)}for(var l=[],d=[],u=0,p=o.length;u<p;u++)l[u]=c,d[u]=null;return e.$watch(function(e){for(var t=!1,n=0,a=o.length;n<a;n++){var s=o[n](e);(t||(t=!c(s,l[n])))&&(d[n]=s,l[n]=s&&vn(s))}return t&&(r=i(e,void 0,void 0,d)),r},t,n,a)}function u(e,t,n,i){var a,r;return a=e.$watch(function(e){return i(e)},function(e,n,i){r=e,S(t)&&t.apply(this,arguments),v(e)&&i.$$postDigest(function(){v(r)&&a()})},n)}function p(e,t,n,a){function r(e){var t=!0;return i(e,function(e){v(e)||(t=!1)}),t}var o,s;return o=e.$watch(function(e){return a(e)},function(e,n,i){s=e,S(t)&&t.call(this,e,n,i),r(e)&&i.$$postDigest(function(){r(s)&&o()})},n)}function m(e,t,n,i){var a;return a=e.$watch(function(e){return a(),i(e)},t,n)}function h(e,t){if(!t)return e;var n=e.$$watchDelegate,i=!1,a=n!==p&&n!==u,r=a?function(n,a,r,o){var s=i&&o?o[0]:e(n,a,r,o);return t(s,n,a)}:function(n,i,a,r){var o=e(n,i,a,r),s=t(o,n,i);return v(o)?s:o};return e.$$watchDelegate&&e.$$watchDelegate!==d?r.$$watchDelegate=e.$$watchDelegate:t.$stateful||(r.$$watchDelegate=d,i=!e.inputs,r.inputs=e.inputs?e.inputs:[e]),r}var g=Qi().noUnsafeEval,_={csp:g,expensiveChecks:!1,literals:U(r),isIdentifierStart:S(e)&&e,isIdentifierContinue:S(t)&&t},y={csp:g,expensiveChecks:!0,literals:U(r),isIdentifierStart:S(e)&&e,isIdentifierContinue:S(t)&&t},b=!1;return s.$$runningExpensiveChecks=function(){return b},s}]}function bn(){this.$get=["$rootScope","$exceptionHandler",function(e,t){return kn(function(t){e.$evalAsync(t)},t)}]}function wn(){this.$get=["$browser","$exceptionHandler",function(e,t){return kn(function(t){e.defer(t)},t)}]}function kn(e,n){function a(){this.$$state={status:0}}function r(e,t){return function(n){t.call(e,
}),i.$formatters.push(function(e){if(!i.$isEmpty(e)){if(!k(e))throw Co("numfmt","Expected `{0}` to be a number",e);e=e.toString()}return e}),v(n.min)||n.ngMin){var o;i.$validators.min=function(e){return i.$isEmpty(e)||_(o)||e>=o},n.$observe("min",function(e){v(e)&&!k(e)&&(e=parseFloat(e,10)),o=k(e)&&!isNaN(e)?e:void 0,i.$validate()})}if(v(n.max)||n.ngMax){var s;i.$validators.max=function(e){return i.$isEmpty(e)||_(s)||e<=s},n.$observe("max",function(e){v(e)&&!k(e)&&(e=parseFloat(e,10)),s=k(e)&&!isNaN(e)?e:void 0,i.$validate()})}}function wi(e,t,n,i,a,r){hi(e,t,n,i,a,r),fi(i),i.$$parserName="url",i.$validators.url=function(e,t){var n=e||t;return i.$isEmpty(n)||Hr.test(n)}}function ki(e,t,n,i,a,r){hi(e,t,n,i,a,r),fi(i),i.$$parserName="email",i.$validators.email=function(e,t){var n=e||t;return i.$isEmpty(n)||jr.test(n)}}function Mi(e,t,n,i){_(n.name)&&t.attr("name",o());var a=function(e){t[0].checked&&i.$setViewValue(n.value,e&&e.type)};t.on("click",a),i.$render=function(){var e=n.value;t[0].checked=e==i.$viewValue},n.$observe("value",i.$render)}function Si(e,t,n,i,a){var r;if(v(i)){if(r=e(i),!r.constant)throw Co("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",n,i);return r(t)}return a}function Ai(e,t,n,i,a,r,o,s){var l=Si(s,e,"ngTrueValue",n.ngTrueValue,!0),c=Si(s,e,"ngFalseValue",n.ngFalseValue,!1),d=function(e){i.$setViewValue(t[0].checked,e&&e.type)};t.on("click",d),i.$render=function(){t[0].checked=i.$viewValue},i.$isEmpty=function(e){return e===!1},i.$formatters.push(function(e){return B(e,l)}),i.$parsers.push(function(e){return e?l:c})}function Ti(e,t){return e="ngClass"+e,["$animate",function(n){function a(e,t){var n=[];e:for(var i=0;i<e.length;i++){for(var a=e[i],r=0;r<t.length;r++)if(a==t[r])continue e;n.push(a)}return n}function r(e){var t=[];return Yi(e)?(i(e,function(e){t=t.concat(r(e))}),t):w(e)?e.split(" "):y(e)?(i(e,function(e,n){e&&(t=t.concat(n.split(" ")))}),t):e}return{restrict:"AC",link:function(o,s,l){function c(e){var t=u(e,1);l.$addClass(t)}function d(e){var t=u(e,-1);l.$removeClass(t)}function u(e,t){var n=s.data("$classCounts")||me(),a=[];return i(e,function(e){(t>0||n[e])&&(n[e]=(n[e]||0)+t,n[e]===+(t>0)&&a.push(e))}),s.data("$classCounts",n),a.join(" ")}function p(e,t){var i=a(t,e),r=a(e,t);i=u(i,1),r=u(r,-1),i&&i.length&&n.addClass(s,i),r&&r.length&&n.removeClass(s,r)}function f(e){if(t===!0||(1&o.$index)===t){var n=r(e||[]);if(m){if(!B(e,m)){var i=r(m);p(i,n)}}else c(n)}m=Yi(e)?e.map(function(e){return ge(e)}):ge(e)}var m;o.$watch(l[e],f,!0),l.$observe("class",function(t){f(o.$eval(l[e]))}),"ngClass"!==e&&o.$watch("$index",function(n,i){var a=1&n;if(a!==(1&i)){var s=r(o.$eval(l[e]));a===t?c(s):d(s)}})}}}]}function Ci(e){function t(e,t,s){_(t)?n("$pending",e,s):i("$pending",e,s),x(t)?t?(d(o.$error,e,s),c(o.$$success,e,s)):(c(o.$error,e,s),d(o.$$success,e,s)):(d(o.$error,e,s),d(o.$$success,e,s)),o.$pending?(a(So,!0),o.$valid=o.$invalid=void 0,r("",null)):(a(So,!1),o.$valid=Ei(o.$error),o.$invalid=!o.$valid,r("",o.$valid));var l;l=o.$pending&&o.$pending[e]?void 0:!o.$error[e]&&(!!o.$$success[e]||null),r(e,l),o.$$parentForm.$setValidity(e,l,o)}function n(e,t,n){o[e]||(o[e]={}),c(o[e],t,n)}function i(e,t,n){o[e]&&d(o[e],t,n),Ei(o[e])&&(o[e]=void 0)}function a(e,t){t&&!l[e]?(u.addClass(s,e),l[e]=!0):!t&&l[e]&&(u.removeClass(s,e),l[e]=!1)}function r(e,t){e=e?"-"+se(e,"-"):"",a(vo+e,t===!0),a(yo+e,t===!1)}var o=e.ctrl,s=e.$element,l={},c=e.set,d=e.unset,u=e.$animate;l[yo]=!(l[vo]=s.hasClass(vo)),o.$setValidity=t}function Ei(e){if(e)for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}function $i(e){e[0].hasAttribute("selected")&&(e[0].selected=!0)}var Ii=/^\/(.+)\/([a-z]*)$/,xi="validity",Pi=Object.prototype.hasOwnProperty,Di=function(e){return w(e)?e.toLowerCase():e},Ri=function(e){return w(e)?e.toUpperCase():e},Oi=function(e){return w(e)?e.replace(/[A-Z]/g,function(e){return String.fromCharCode(32|e.charCodeAt(0))}):e},Ni=function(e){return w(e)?e.replace(/[a-z]/g,function(e){return String.fromCharCode(e.charCodeAt(0)&-33)}):e};"i"!=="I".toLowerCase()&&(Di=Oi,Ri=Ni);var Li,Fi
d=p.nonComputedMember(s,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")}),a(t)},!!r);break;case _r.CallExpression:t=t||this.nextId(),e.filter?(l=p.filter(e.callee.name),c=[],i(e.arguments,function(e){var t=p.nextId();p.recurse(e,t),c.push(t)}),d=l+"("+c.join(",")+")",p.assign(t,d),a(t)):(l=p.nextId(),s={},c=[],p.recurse(e.callee,l,s,function(){p.if_(p.notNull(l),function(){p.addEnsureSafeFunction(l),i(e.arguments,function(e){p.recurse(e,p.nextId(),void 0,function(e){c.push(p.ensureSafeObject(e))})}),s.name?(p.state.expensiveChecks||p.addEnsureSafeObject(s.context),d=p.member(s.context,s.name,s.computed)+"("+c.join(",")+")"):d=l+"("+c.join(",")+")",d=p.ensureSafeObject(d),p.assign(t,d)},function(){p.assign(t,"undefined")}),a(t)}));break;case _r.AssignmentExpression:if(l=this.nextId(),s={},!un(e.left))throw dr("lval","Trying to assign a value to a non l-value");this.recurse(e.left,void 0,s,function(){p.if_(p.notNull(s.context),function(){p.recurse(e.right,l),p.addEnsureSafeObject(p.member(s.context,s.name,s.computed)),p.addEnsureSafeAssignContext(s.context),d=p.member(s.context,s.name,s.computed)+e.operator+l,p.assign(t,d),a(t||d)})},1);break;case _r.ArrayExpression:c=[],i(e.elements,function(e){p.recurse(e,p.nextId(),void 0,function(e){c.push(e)})}),d="["+c.join(",")+"]",this.assign(t,d),a(d);break;case _r.ObjectExpression:c=[],u=!1,i(e.properties,function(e){e.computed&&(u=!0)}),u?(t=t||this.nextId(),this.assign(t,"{}"),i(e.properties,function(e){e.computed?(s=p.nextId(),p.recurse(e.key,s)):s=e.key.type===_r.Identifier?e.key.name:""+e.key.value,l=p.nextId(),p.recurse(e.value,l),p.assign(p.member(t,s,e.computed),l)})):(i(e.properties,function(t){p.recurse(t.value,e.constant?void 0:p.nextId(),void 0,function(e){c.push(p.escape(t.key.type===_r.Identifier?t.key.name:""+t.key.value)+":"+e)})}),d="{"+c.join(",")+"}",this.assign(t,d)),a(t||d);break;case _r.ThisExpression:this.assign(t,"s"),a("s");break;case _r.LocalsExpression:this.assign(t,"l"),a("l");break;case _r.NGValueParameter:this.assign(t,"v"),a("v")}},getHasOwnProperty:function(e,t){var n=e+"."+t,i=this.current().own;return i.hasOwnProperty(n)||(i[n]=this.nextId(!1,e+"&&("+this.escape(t)+" in "+e+")")),i[n]},assign:function(e,t){if(e)return this.current().body.push(e,"=",t,";"),e},filter:function(e){return this.state.filters.hasOwnProperty(e)||(this.state.filters[e]=this.nextId(!0)),this.state.filters[e]},ifDefined:function(e,t){return"ifDefined("+e+","+this.escape(t)+")"},plus:function(e,t){return"plus("+e+","+t+")"},return_:function(e){this.current().body.push("return ",e,";")},if_:function(e,t,n){if(e===!0)t();else{var i=this.current().body;i.push("if(",e,"){"),t(),i.push("}"),n&&(i.push("else{"),n(),i.push("}"))}},not:function(e){return"!("+e+")"},notNull:function(e){return e+"!=null"},nonComputedMember:function(e,t){var n=/[$_a-zA-Z][$_a-zA-Z0-9]*/,i=/[^$_a-zA-Z0-9]/g;return n.test(t)?e+"."+t:e+'["'+t.replace(i,this.stringEscapeFn)+'"]'},computedMember:function(e,t){return e+"["+t+"]"},member:function(e,t,n){return n?this.computedMember(e,t):this.nonComputedMember(e,t)},addEnsureSafeObject:function(e){this.current().body.push(this.ensureSafeObject(e),";")},addEnsureSafeMemberName:function(e){this.current().body.push(this.ensureSafeMemberName(e),";")},addEnsureSafeFunction:function(e){this.current().body.push(this.ensureSafeFunction(e),";")},addEnsureSafeAssignContext:function(e){this.current().body.push(this.ensureSafeAssignContext(e),";")},ensureSafeObject:function(e){return"ensureSafeObject("+e+",text)"},ensureSafeMemberName:function(e){return"ensureSafeMemberName("+e+",text)"},ensureSafeFunction:function(e){return"ensureSafeFunction("+e+",text)"},getStringValue:function(e){this.assign(e,"getStringValue("+e+")")},ensureSafeAssignContext:function(e){return"ensureSafeAssignContext("+e+",text)"},lazyRecurse:function(e,t,n,i,a,r){var o=this;return function(){o.recurse(e,t,n,i,a,r)}},lazyAssign:function(e,t){var n=this;return functi
return{restrict:"A",multiElement:!0,link:function(t,n,i){t.$watch(i.ngShow,function(t){e[t?"removeClass":"addClass"](n,Fo,{tempClasses:Uo})})}}}],Ho=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,i){t.$watch(i.ngHide,function(t){e[t?"addClass":"removeClass"](n,Fo,{tempClasses:Uo})})}}}],jo=di(function(e,t,n){e.$watch(n.ngStyle,function(e,n){n&&e!==n&&i(n,function(e,n){t.css(n,"")}),e&&t.css(e)},!0)}),Vo=["$animate","$compile",function(e,t){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(n,a,r,o){var s=r.ngSwitch||r.on,l=[],c=[],d=[],u=[],p=function(e,t){return function(){e.splice(t,1)}};n.$watch(s,function(n){var a,r;for(a=0,r=d.length;a<r;++a)e.cancel(d[a]);for(d.length=0,a=0,r=u.length;a<r;++a){var s=fe(c[a].clone);u[a].$destroy();var f=d[a]=e.leave(s);f.then(p(d,a))}c.length=0,u.length=0,(l=o.cases["!"+n]||o.cases["?"])&&i(l,function(n){n.transclude(function(i,a){u.push(a);var r=n.element;i[i.length++]=t.$$createComment("end ngSwitchWhen");var o={clone:i};c.push(o),e.enter(i,r.parent(),r)})})})}}}],qo=di({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,i,a){i.cases["!"+n.ngSwitchWhen]=i.cases["!"+n.ngSwitchWhen]||[],i.cases["!"+n.ngSwitchWhen].push({transclude:a,element:t})}}),zo=di({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,i,a){i.cases["?"]=i.cases["?"]||[],i.cases["?"].push({transclude:a,element:t})}}),Wo=t("ngTransclude"),Go=di({restrict:"EAC",link:function(e,t,n,i,a){function r(e){e.length&&(t.empty(),t.append(e))}if(n.ngTransclude===n.$attr.ngTransclude&&(n.ngTransclude=""),!a)throw Wo("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",X(t));var o=n.ngTransclude||n.ngTranscludeSlot;a(r,null,o)}}),Ko=["$templateCache",function(e){return{restrict:"E",terminal:!0,compile:function(t,n){if("text/ng-template"==n.type){var i=n.id,a=t[0].text;e.put(i,a)}}}}],Yo={$setViewValue:f,$render:f},Xo=["$element","$scope",function(t,n){var i=this,a=new Ze;i.ngModelCtrl=Yo,i.unknownOption=Fi(e.document.createElement("option")),i.renderUnknownOption=function(e){var n="? "+Je(e)+" ?";i.unknownOption.val(n),t.prepend(i.unknownOption),t.val(n)},n.$on("$destroy",function(){i.renderUnknownOption=f}),i.removeUnknownOption=function(){i.unknownOption.parent()&&i.unknownOption.remove()},i.readValue=function(){return i.removeUnknownOption(),t.val()},i.writeValue=function(e){i.hasOption(e)?(i.removeUnknownOption(),t.val(e),""===e&&i.emptyOption.prop("selected",!0)):null==e&&i.emptyOption?(i.removeUnknownOption(),t.val("")):i.renderUnknownOption(e)},i.addOption=function(e,t){if(t[0].nodeType!==la){ue(e,'"option value"'),""===e&&(i.emptyOption=t);var n=a.get(e)||0;a.put(e,n+1),i.ngModelCtrl.$render(),$i(t)}},i.removeOption=function(e){var t=a.get(e);t&&(1===t?(a.remove(e),""===e&&(i.emptyOption=void 0)):a.put(e,t-1))},i.hasOption=function(e){return!!a.get(e)},i.registerOption=function(e,t,n,a,r){if(a){var o;n.$observe("value",function(e){v(o)&&i.removeOption(o),o=e,i.addOption(e,t)})}else r?e.$watch(r,function(e,a){n.$set("value",e),a!==e&&i.removeOption(a),i.addOption(e,t)}):i.addOption(n.value,t);t.on("$destroy",function(){i.removeOption(n.value),i.ngModelCtrl.$render()})}}],Jo=function(){function e(e,t,n,a){var r=a[1];if(r){var o=a[0];if(o.ngModelCtrl=r,t.on("change",function(){e.$apply(function(){r.$setViewValue(o.readValue())})}),n.multiple){o.readValue=function(){var e=[];return i(t.find("option"),function(t){t.selected&&e.push(t.value)}),e},o.writeValue=function(e){var n=new Ze(e);i(t.find("option"),function(e){e.selected=v(n.get(e.value))})};var s,l=NaN;e.$watch(function(){l!==r.$viewValue||B(s,r.$viewValue)||(s=ge(r.$viewValue),r.$render()),l=r.$viewValue}),r.$isEmpty=function(e){return!e||0===e.length}}}}function t(e,t,n,i){var a=i[1];if(a){var r=i[0];a.$render=function(){r.writeValue(a.$viewValue)}}}return{restrict:"E",require:["select","?ngModel"],controller:Xo,priority:1,link:{pre:e,post:
S.end()),void(o||R(e));t=!n.structural&&c(n,!0)?"setClass":n.event,L(e,m);var s=k(e,t,n.options);S.setHost(s),i(S,t,"start",{}),s.done(function(n){l(!n);var a=G.get(u);a&&a.counter===Q&&R(v(e)),i(S,t,"close",{})})}),S}function D(e){var t=v(e),n=t.querySelectorAll("["+Ee+"]");H(n,function(e){var t=parseInt(e.getAttribute(Ee)),n=G.get(e);if(n)switch(t){case m:n.runner.end();case d:G.remove(e)}})}function R(e){var t=v(e);t.removeAttribute(Ee),G.remove(t)}function O(e,t){return v(e)===v(t)}function N(e,t,n){var i,a=B(_[0].body),r=O(e,a)||"HTML"===e[0].nodeName,o=O(e,h),s=!1,l=X.get(v(e)),c=B.data(e[0],$e);for(c&&(t=c),t=v(t);t&&(o||(o=O(t,h)),t.nodeType===Y);){var d=G.get(t)||{};if(!s){var u=X.get(t);if(u===!0&&l!==!1){l=!0;break}u===!1&&(l=!1),s=d.structural}if(z(i)||i===!0){var p=B.data(t,ne);W(p)&&(i=p)}if(s&&i===!1)break;if(r||(r=O(t,a)),r&&o)break;t=o||!(c=B.data(t,$e))?t.parentNode:v(c)}var f=(!s||i)&&l!==!0;return f&&o&&r}function L(e,t,n){n=n||{},n.state=t;var i=v(e);i.setAttribute(Ee,t);var a=G.get(i),r=a?U(a,n):n;G.put(i,r)}var G=new w,X=new w,J=null,Z=r.$watch(function(){return 0===S.totalPendingRequests},function(e){e&&(Z(),r.$$postDigest(function(){r.$$postDigest(function(){null===J&&(J=!0)})}))}),Q={},ee=i.classNameFilter(),te=ee?function(e){return ee.test(e)}:function(){return!0},ie=u(A),ae=e.Node.prototype.contains||function(e){return this===e||!!(16&this.compareDocumentPosition(e))},re={on:function(e,t,n){var i=l(t);Q[e]=Q[e]||[],Q[e].push({node:i,callback:n}),B(t).on("$destroy",function(){var a=G.get(i);a||re.off(e,t,n)})},off:function(e,n,i){if(1!==arguments.length||t.isString(arguments[0])){var a=Q[e];a&&(Q[e]=1===arguments.length?null:I(a,n,i))}else{n=arguments[0];for(var r in Q)Q[r]=I(Q[r],n)}},pin:function(e,t){n(K(e),"element","not an element"),n(K(t),"parentElement","not an element"),e.data($e,t)},push:function(e,t,n,i){return n=n||{},n.domOperation=i,P(e,t,n)},enabled:function(e,t){var n=arguments.length;if(0===n)t=!!J;else{var i=K(e);if(i){var a=v(e),r=X.get(a);1===n?t=!r:X.put(a,!t)}else t=J=!!e}return t}};return re}]}],xe=["$animateProvider",function(e){function t(e,t){e.data(s,t)}function n(e){e.removeData(s)}function a(e){return e.data(s)}var r="ng-animate-ref",o=this.drivers=[],s="$$animationRunner";this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$HashMap","$$rAFScheduler",function(e,s,l,c,d,m){function h(e){function t(e){if(e.processed)return e;e.processed=!0;var n=e.domNode,i=n.parentNode;r.put(n,e);for(var o;i;){if(o=r.get(i)){o.processed||(o=t(o));break}i=i.parentNode}return(o||a).children.push(e),e}function n(e){var t,n=[],i=[];for(t=0;t<e.children.length;t++)i.push(e.children[t]);var a=i.length,r=0,o=[];for(t=0;t<i.length;t++){var s=i[t];a<=0&&(a=r,r=0,n.push(o),o=[]),o.push(s.fn),s.children.forEach(function(e){r++,i.push(e)}),a--}return o.length&&n.push(o),n}var i,a={children:[]},r=new d;for(i=0;i<e.length;i++){var o=e[i];r.put(o.domNode,e[i]={domNode:o.domNode,fn:o.fn,children:[]})}for(i=0;i<e.length;i++)t(e[i]);return n(a)}var g=[],_=u(e);return function(d,u,y){function b(e){var t="["+r+"]",n=e.hasAttribute(r)?[e]:e.querySelectorAll(t),i=[];return H(n,function(e){var t=e.getAttribute(r);t&&t.length&&i.push(e)}),i}function w(e){var t=[],n={};H(e,function(e,i){var a=e.element,o=v(a),s=e.event,l=["enter","move"].indexOf(s)>=0,c=e.structural?b(o):[];if(c.length){var d=l?"to":"from";H(c,function(e){var t=e.getAttribute(r);n[t]=n[t]||{},n[t][d]={animationID:i,element:B(e)}})}else t.push(e)});var i={},a={};return H(n,function(n,r){var o=n.from,s=n.to;if(!o||!s){var l=o?o.animationID:s.animationID,c=l.toString();return void(i[c]||(i[c]=!0,t.push(e[l])))}var d=e[o.animationID],u=e[s.animationID],p=o.animationID.toString();if(!a[p]){var f=a[p]={structural:!0,beforeStart:function(){d.beforeStart(),u.beforeStart()},close:function(){d.close(),u.close()},classes:k(d.classes,u.classes),from:d,to:u,anchors:[]};f.classes.length?t.push(f):(t.push(d),t.push(u))}a[p].anchors.push({out:o.element,"in":s.element})}),t}function k(e,t){e=e.split(" "),t=t.split(" ");for(var n=[],i=0;i<e.len
"boolean"==typeof e&&(t=e,e=void 0),t&&(this.$selective=!0),"number"==typeof e&&e+1!==this.currentTrack?this.play(e):this.playing?this.pause():this.play()},pause:function(){this.$domEl.pause()},stop:function(){this.reset()},toggleMute:function(){this.muted=this.$domEl.muted=!this.$domEl.muted},next:function(e){var t=this;if(t.currentTrack&&t.currentTrack<t.tracks){var i=e||t.playing;t.pause(),n(function(){t.$clearSourceList(),t.$addSourceList(t.$playlist[t.currentTrack]),t.load(i),t.currentTrack++})}},prev:function(e){var t=this;if(t.currentTrack&&t.currentTrack-1){var i=e||t.playing;t.pause(),n(function(){t.$clearSourceList(),t.$addSourceList(t.$playlist[t.currentTrack-2]),t.load(i),t.currentTrack--})}},setPlaybackRate:function(e){this.$domEl.playbackRate=e},setVolume:function(e){this.$domEl.volume=e},seek:function(e){var t,n=0;return"string"!=typeof e?this.$domEl.currentTime=e:(t=e.split(":"),n+=parseInt(t.pop(),10),t.length&&(n+=60*parseInt(t.pop(),10)),t.length&&(n+=3600*parseInt(t.pop(),10)),isNaN(n)?void 0:this.$domEl.currentTime=n)},on:function(e,t){return this.$element.on(e,t)},off:function(e,t){return this.$element.off(e,t)},one:function(e,t){return this.$element.one(e,t)},$addSourceList:function(e){var t=this;if(angular.isArray(e))angular.forEach(e,function(e,n){var i=document.createElement("SOURCE");["src","type","media"].forEach(function(t){void 0!==e[t]&&i.setAttribute(t,e[t])}),t.$element.append(i)});else if(angular.isObject(e)){var n=document.createElement("SOURCE");["src","type","media"].forEach(function(t){void 0!==e[t]&&n.setAttribute(t,e[t])}),t.$element.append(n)}},$clearSourceList:function(){this.$element.contents().remove()},$formatTime:function(e){if(e===1/0)return"∞";var t,n=parseInt(e/3600,10)%24,i=parseInt(e/60,10)%60,a=parseInt(e%60,10),r=(i<10?"0"+i:i)+":"+(a<10?"0"+a:a);return t=n>0?(n<10?"0"+n:n)+":"+r:r},$attachPlaylist:function(e){void 0===e||null===e?this.playlist=[]:this.$playlist=e}},s=function(e,t,n){var a=function(e){e.currentTime=t.currentTime,e.formatTime=e.$formatTime(e.currentTime)},r={playing:function(){e.$apply(function(e){e.playing=!0,e.ended=!1})},pause:function(){e.$apply(function(e){e.playing=!1})},ended:function(){!e.$selective&&e.currentTrack<e.tracks?e.next(!0):e.$apply(function(e){e.ended=!0,e.playing=!1,a(e)})},timeupdate:i(1e3,!1,function(){e.$apply(function(e){a(e)})}),loadedmetadata:function(){e.$apply(function(e){e.currentTrack||e.currentTrack++,e.duration=t.duration,e.formatDuration=e.$formatTime(e.duration),t.buffered.length&&(e.loadPercent=Math.round(t.buffered.end(t.buffered.length-1)/e.duration*100)),a(e)})},progress:function(){e.$domEl.buffered.length&&e.$apply(function(e){e.loadPercent=Math.round(t.buffered.end(t.buffered.length-1)/e.duration*100),e.network="progress"})},volumechange:function(){e.$apply(function(e){e.volume=t.volume,e.muted=t.muted})},seeked:function(){e.$apply(function(e){e.seeking=!1})},seeking:function(){e.$apply(function(e){e.seeking=!0})},ratechange:function(){e.$apply(function(e){e.playbackRate=t.playbackRate})},stalled:function(){e.$apply(function(e){e.network="stalled"})},suspend:function(){e.$apply(function(e){e.network="suspend"})}};angular.forEach(r,function(e,t){n.on(t,e)})},l=function(t){var n=angular.extend(e.$new(!0),{$element:t,$domEl:t[0],$playlist:void 0,buffered:t[0].buffered,played:t[0].played,seekable:t[0].seekable},a,o);return s(n,t[0],t),n};return{scope:!1,link:function(e,t,n,i){var a=n.playlist,o=n.mediaPlayer||n.playerControl,s=new l(t),c=e[a];if(c=void 0===a?[]:void 0===e[a]?e[a]=[]:e[a],void 0!==o&&e.$eval(o+" = player",{player:s}),"AUDIO"!==t[0].tagName&&"VIDEO"!==t[0].tagName&&"OGVJS"!==t[0].tagName)return new Error("player directive works only when attached to an <audio>/<video> type tag");var d=[],u=t.find("source");1===u.length?c.unshift({src:u[0].src,type:u[0].type,media:u[0].media}):u.length>1&&(angular.forEach(u,function(e){d.push({src:e.src,type:e.type,media:e.media})}),c.unshift(d)),void 0===a?s.$attachPlaylist(c):c.length?(r(s)(c,void 0,e),e.$watch(a,r(s),!0)):e.$watch(a,r(s),!0)}}}]),angular.module("m
var v,y=[];for(v=0;288>v;v++)switch(!0){case 143>=v:y.push([v+48,8]);break;case 255>=v:y.push([v-144+400,9]);break;case 279>=v:y.push([v-256+0,7]);break;case 287>=v:y.push([v-280+192,8]);break;default:e("invalid literal: "+v)}var b=function(){function t(t){switch(!0){case 3===t:return[257,t-3,0];case 4===t:return[258,t-4,0];case 5===t:return[259,t-5,0];case 6===t:return[260,t-6,0];case 7===t:return[261,t-7,0];case 8===t:return[262,t-8,0];case 9===t:return[263,t-9,0];case 10===t:return[264,t-10,0];case 12>=t:return[265,t-11,1];case 14>=t:return[266,t-13,1];case 16>=t:return[267,t-15,1];case 18>=t:return[268,t-17,1];case 22>=t:return[269,t-19,2];case 26>=t:return[270,t-23,2];case 30>=t:return[271,t-27,2];case 34>=t:return[272,t-31,2];case 42>=t:return[273,t-35,3];case 50>=t:return[274,t-43,3];case 58>=t:return[275,t-51,3];case 66>=t:return[276,t-59,3];case 82>=t:return[277,t-67,4];case 98>=t:return[278,t-83,4];case 114>=t:return[279,t-99,4];case 130>=t:return[280,t-115,4];case 162>=t:return[281,t-131,5];case 194>=t:return[282,t-163,5];case 226>=t:return[283,t-195,5];case 257>=t:return[284,t-227,5];case 258===t:return[285,t-258,0];default:e("invalid length: "+t)}}var n,i,a=[];for(n=3;258>=n;n++)i=t(n),a[n]=i[2]<<24|i[1]<<16|i[0];return a}();p&&new Uint32Array(b);var w=0,k=1;r.prototype.g=function(){for(;!this.o;){var t=o(this,3);switch(1&t&&(this.o=!0),t>>>=1){case 0:var n=this.input,i=this.c,a=this.b,r=this.a,s=d,c=d,u=d,f=a.length,m=d;switch(this.d=this.f=0,s=n[i++],s===d&&e(Error("invalid uncompressed block header: LEN (first byte)")),c=s,s=n[i++],s===d&&e(Error("invalid uncompressed block header: LEN (second byte)")),c|=s<<8,s=n[i++],s===d&&e(Error("invalid uncompressed block header: NLEN (first byte)")),u=s,s=n[i++],s===d&&e(Error("invalid uncompressed block header: NLEN (second byte)")),u|=s<<8,c===~u&&e(Error("invalid uncompressed block header: length verify")),i+c>n.length&&e(Error("input buffer is broken")),this.k){case w:for(;r+c>a.length;){if(m=f-r,c-=m,p)a.set(n.subarray(i,i+m),r),r+=m,i+=m;else for(;m--;)a[r++]=n[i++];this.a=r,a=this.e(),r=this.a}break;case k:for(;r+c>a.length;)a=this.e({t:2});break;default:e(Error("invalid inflate mode"))}if(p)a.set(n.subarray(i,i+c),r),r+=c,i+=c;else for(;c--;)a[r++]=n[i++];this.c=i,this.a=r,this.b=a;break;case 1:this.l(F,B);break;case 2:l(this);break;default:e(Error("unknown BTYPE: "+t))}}return this.q()};var M,S,A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],T=p?new Uint16Array(A):A,C=[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],E=p?new Uint16Array(C):C,$=[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],I=p?new Uint8Array($):$,x=[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],P=p?new Uint16Array(x):x,D=[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],R=p?new Uint8Array(D):D,O=new(p?Uint8Array:Array)(288);for(M=0,S=O.length;M<S;++M)O[M]=143>=M?8:255>=M?9:279>=M?7:8;var N,L,F=a(O),U=new(p?Uint8Array:Array)(30);for(N=0,L=U.length;N<L;++N)U[N]=5;var B=a(U);r.prototype.l=function(e,t){var n=this.b,i=this.a;this.r=e;for(var a,r,l,c,d=n.length-258;256!==(a=s(this,e));)if(256>a)i>=d&&(this.a=i,n=this.e(),i=this.a),n[i++]=a;else for(r=a-257,c=E[r],0<I[r]&&(c+=o(this,I[r])),a=s(this,t),l=P[a],0<R[a]&&(l+=o(this,R[a])),i>=d&&(this.a=i,n=this.e(),i=this.a);c--;)n[i]=n[i++-l];for(;8<=this.d;)this.d-=8,this.c--;this.a=i},r.prototype.C=function(e,t){var n=this.b,i=this.a;this.r=e;for(var a,r,l,c,d=n.length;256!==(a=s(this,e));)if(256>a)i>=d&&(n=this.e(),d=n.length),n[i++]=a;else for(r=a-257,c=E[r],0<I[r]&&(c+=o(this,I[r])),a=s(this,t),l=P[a],0<R[a]&&(l+=o(this,R[a])),i+c>d&&(n=this.e(),d=n.length);c--;)n[i]=n[i++-l];for(;8<=this.d;)this.d-=8,this.c--;this.a=i},r.prototype.e=function(){var e,t,n=new(p?Uint8Array:Array)(this.a-32768),i=this.a-32768,a=this.b;if(p)n.set(a.subarray(32768,n.length));else for(e=0,t=n.length;e<t;++e)n[e]=a[e+32768];if(this.i.push(n),this.n+=n.length,p)a.set(a.subarray(i,i+32768));else for(e=0;32768>e;++e)a[e
for(var st=m,st=-1;16>st;++st)ge(tt,nt+st*fi-4,tt,nt+st*fi+12);for(st=-1;8>st;++st)ge(it,at+st*fi-4,it,at+st*fi+4),ge(rt,ot+st*fi-4,rt,ot+st*fi+4)}else{for(st=0;16>st;++st)tt[nt+st*fi-1]=129;for(st=0;8>st;++st)it[at+st*fi-1]=129,rt[ot+st*fi-1]=129;0<et.d&&(tt[nt-1-fi]=it[at-1-fi]=rt[ot-1-fi]=129)}var lt=et.Xc,ct=16*+et.i,dt=et.Sc,ut=8*+et.i,pt=et.Vc,ft=8*+et.i,mt=et.z,ht=m;if(0<et.d)t(tt,nt-fi,lt,ct,16),t(it,at-fi,dt,ut,8),t(rt,ot-fi,pt,ft,8);else if(0==et.i){for(i=0;21>i;++i)tt[nt-fi-1+i]=127;for(i=0;9>i;++i)it[at-fi-1+i]=127;for(i=0;9>i;++i)rt[ot-fi-1+i]=127}if(et.wa){var gt=nt-fi+16;0<et.d&&(et.i>=et.Ma-1?tt[gt+0]=tt[gt+1]=tt[gt+2]=tt[gt+3]=lt[ct+15]:t(tt,gt+0,lt,ct+16,4));for(var _t=0;4>_t;++_t)tt[_t+gt+4*fi]=tt[_t+gt+4*fi]=tt[_t+gt+8*fi]=tt[_t+gt+12*fi]=tt[_t+gt+0];for(ht=0;16>ht;ht++){var vt=tt,yt=nt+ga[ht];ca[et.Eb[ht]](vt,yt),et.Oa&1<<ht?Ui(mt,16*+ht,vt,yt,0):et.ja&1<<ht&&Hi(mt,16*+ht,vt,yt)}}else{var bt=he(et,et.Eb[0]);if(da[bt](tt,nt),et.ja)for(ht=0;16>ht;ht++)vt=tt,yt=nt+ga[ht],et.Oa&1<<ht?Ui(mt,16*+ht,vt,yt,0):et.ja&1<<ht&&Hi(mt,16*+ht,vt,yt)}if(bt=he(et,et.Tc),ua[bt](it,at),ua[bt](rt,ot),983040&et.ja){var wt=et.z,kt=256;983040&et.Oa?Bi(wt,kt,it,at):ji(wt,kt,it,at)}if(15728640&et.ja){var Mt=et.z,kt=320;15728640&et.Oa?Bi(Mt,kt,rt,ot):ji(Mt,kt,rt,ot)}et.d<et.hb-1&&(t(lt,ct,tt,nt+15*fi,16),t(dt,ut,it,at+7*fi,8),t(pt,ft,rt,ot+7*fi,8));var St=e;if(0<St.A){var At=St.M[1+St.i],Tt=St.La[1+St.i].Nb,Ct=St.Zb[St.Lb];St.ga.oc&&(Ct+=St.ga.Lc[0],St.wa&&(Ct+=St.ga.Gc[0])),Ct=0>Ct?0:63<Ct?63:Ct,At.zc=Ct,0<St.ga.kb&&(Ct=4<St.ga.kb?Ct>>2:Ct>>1,Ct>9-St.ga.kb&&(Ct=9-St.ga.kb)),At.yc=1>Ct?1:Ct,At.ab=(!Tt||St.wa)+0}for(var Et=m,$t=8*St.Ja*St.r,It=St.ca,xt=St.da+16*St.i+16*St.Ja*St.H,Pt=St.aa,Dt=St.ba+8*St.i+$t,Rt=St.ra,Ot=St.sa+8*St.i+$t,Et=0;16>Et;++Et)t(It,xt+Et*St.H,St.Ea,+hi+Et*fi,16);for(Et=0;8>Et;++Et)t(Pt,Dt+Et*St.r,St.Ea,+gi+Et*fi,8),t(Rt,Ot+Et*St.r,St.Ea,+_i+Et*fi,8)}var Nt=e,Lt=o,Ft=1,Ut=Nt.oa;if(Nt.qb){var Bt=Nt.rc,Ft=Ft&WebPWorkerSync(Bt);if(p(Bt.a==OK),Ft){if(Ut.N=Lt,Ut.ha=Nt.Ja,Ut.d=Nt.d,Ut.W=Nt.W,Ut.W){var Ht=Ut.M;Ut.M=Nt.M,Nt.M=Ht}WebPWorkerLaunch(Bt),++Nt.Ja==Nt.jb&&(Nt.Ja=0)}}else{Ut.d=Nt.d,Ut.W=Nt.W;t:{var jt=1,Vt=Nt.oa,qt=fa[Nt.A],zt=qt*Nt.H,Wt=parseInt(qt/2)*Nt.r,Gt=16*Vt.ha*Nt.H,Kt=8*Vt.ha*Nt.r,Yt=Nt.ca,Xt=Nt.da-zt+Gt,Jt=Nt.aa,Zt=Nt.ba-Wt+Kt,Qt=Nt.ra,nn=Nt.sa-Wt+Kt,rn=0==Vt.d,on=(Vt.d>=Nt.hb-1)+0,ln=16*Vt.d,cn=16*(Vt.d+1);if(Vt.W){var dn=Nt,un=g,pn=dn.oa.d;for(p(dn.oa.W),un=dn.lb;un<dn.wb;++un){var fn=dn,mn=un,hn=pn,gn=fn.oa,_n=fn.H,vn=gn.M[1+mn],yn=fn.ca,bn=fn.da+16*gn.ha*_n+16*mn,wn=vn.zc,kn=vn.yc,Mn=2*wn+kn;if(0!=wn)if(1==fn.A)0<mn&&Zi(yn,bn,_n,Mn+4),vn.ab&&ea(yn,bn,_n,Mn),0<hn&&Ji(yn,bn,_n,Mn+4),vn.ab&&Qi(yn,bn,_n,Mn);else{var Sn=fn.r,An=fn.aa,Tn=fn.ba+8*gn.ha*Sn+8*mn,Cn=fn.ra,En=fn.sa+8*gn.ha*Sn+8*mn,$n=fn.Ac.fb?40<=wn?2:15<=wn?1:0:40<=wn?3:20<=wn?2:15<=wn?1:0;0<mn&&(qi(yn,bn,_n,Mn+4,kn,$n),Wi(An,Tn,Cn,En,Sn,Mn+4,kn,$n)),vn.ab&&(Ki(yn,bn,_n,Mn,kn,$n),Xi(An,Tn,Cn,En,Sn,Mn,kn,$n)),0<hn&&(Vi(yn,bn,_n,Mn+4,kn,$n),zi(An,Tn,Cn,En,Sn,Mn+4,kn,$n)),vn.ab&&(Gi(yn,bn,_n,Mn,kn,$n),Yi(An,Tn,Cn,En,Sn,Mn,kn,$n))}}}if(Lt.put){if(rn?(Lt.y=Nt.ca,Lt.D=Nt.da+Gt,Lt.c=Nt.aa,Lt.B=Nt.ba+Kt,Lt.S=Nt.ra,Lt.C=Nt.sa+Kt):(ln-=qt,Lt.y=Yt,Lt.D=Xt,Lt.c=Jt,Lt.B=Zt,Lt.S=Qt,Lt.C=nn),on||(cn-=qt),cn>Lt.K&&(cn=Lt.K),Nt.Ga!=h&&ln<cn&&(0==ln?(Lt.p=F(Nt,ln,cn-ln),Lt.q=0):Lt.q=F(Nt,ln,cn-ln),Lt.p==h)){Ft=be(Nt,an,"Could not decode alpha data.");break t}if(ln<Lt.k){var In=Lt.k-ln,ln=Lt.k;p(!(1&In)),Lt.D+=Nt.H*In,Lt.B+=Nt.r*(In>>1),Lt.C+=Nt.r*(In>>1),Lt.p!=h&&(Lt.q+=Lt.width*In)}ln<cn&&(Lt.D+=Lt.t,Lt.B+=Lt.t>>1,Lt.C+=Lt.t>>1,Lt.p!=h&&(Lt.q+=Lt.t),Lt.w=ln-Lt.k,Lt.m=Lt.Ka-Lt.t,Lt.h=cn-ln,jt=Lt.put(Lt))}Vt.ha+1==Nt.jb&&!on&&(t(Nt.ca,Nt.da-zt,Yt,Xt+16*Nt.H,zt),t(Nt.aa,Nt.ba-Wt,Jt,Zt+8*Nt.r,Wt),t(Nt.ra,Nt.sa-Wt,Qt,nn+8*Nt.r,Wt)),Ft=jt}}if(!Ft){l=be(e,"VP8_STATUS_USER_ABORT","Output aborted.");break e}}var xn;if(!(xn=e.qb&&!WebPWorkerSync(e.rc))){var Pn;(Pn=0<e.fc)&&(p(e),p(0<e.fc),Pn=!1),xn=Pn}l=xn?0:1}var Dn=l;o.Pb&&o.Pb(o),l=1&Dn}return l?(e.za=0,l):(Ae(e),0)}function Ae(e){e!=h&&(e.ib&&(e.ib=0),e.ib=h,e.Gb=0,e.za=0)}function Te(e,t){return e+(1<<t)
this.WebPGetDecoderVersion=this.Ld=function(){return 512};var Ma=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],Sa=[[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]],Aa=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],Ta=u([ui,pi],"");c(4,_);var Ca=[[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]],Ea=134480385,$a=16,Ia=-227,xa=482,Pa=[Fe,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 Oe(Oe(e,t[n+1]),t[n+0])},function(e,t,n){return Oe(e,t[n-1])},function(e,t,n){return Oe(e,t[n+0])},function(e,t,n){return Oe(t[n-1],t[n+0])},function(e,t,n){return Oe(t[n+0],t[n+1])},function(e,t,n){return Oe(Oe(e,t[n-1]),Oe(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 i=t[n-1];return e=Oe(e,t[n+0]),(Le(e>>24&255,i>>24&255)<<24|Le(e>>16&255,i>>16&255)<<16|Le(e>>8&255,i>>8&255)<<8|Le(e>>0&255,i>>0&255))>>>0},Fe,Fe],Da={Cc:_,Bc:_,Kc:_},Ra=16,Oa=16,Na=16,La=[2,3,7],Fa=[3,3,11],Ua=0,Ba=1,Ha=2,ja=3,Va=4,qa=[En+$n,En,En,En,40],za=19,Wa=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],Ga=120,Ka=[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],Ya=1<<$a-1,Xa=c(256,0),Ja=c(256,0),Za=c(256,v),Qa=c(256,v),er=c(xa-Ia,_),tr=c(xa-Ia,_),nr=0,ir=Array(Zt),ar=[function(e,t,n,i,a,r,o,s,l,c,d,u,p){mt(e,t,n,i,a,r,o,s,l,c,d,u,p,Ce,3)},ht,function(e,t,n,i,a,r,o,s,l,c,d,u,p){mt(e,t,n,i,a,r,o,s,l,c,d,u,p,xe,3)},gt,_t,vt,function(e,t,n,i,a,r,o,s,l,c,d,u,p){mt(e,t,n,i,a,r,o,s,l,c,d,u,p,Ee,2)},ht,gt,_t,vt];this.Hd=function(e,t,n,i){return Ot(Ut,e,t,n,i)},this.Id=function(e,t,n,i){return Ot(Bt,e,t,n,i)},this.Jd=function(e,t,n,i){return Ot(qt,e,t,n,i)},this.Ed=function(e,t,n,i){return Ot(Vt,e,t,n,i)},this.Fd=function(e,t,n,i){return Ot(Ht,e,t,n,i)},this.Gd=function(e,t,n,i){return Ot(jt,e,t,n,i)},this.WebPDecode=this.Dd=function(t,n,i){var a=e(pn),r="VP8StatusCode";return i==h?nn:(r=Nt(t,[0],[n],i.input),r!=en?r==ln?an:r:(a.j=i.j,a.Qa=i.Qa,r=Rt(t,0,[n],a)))}}}(),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,i,a,r,o,s,l,c){return angular.isString(t)?this.pop(e,t,n,i,a,r,o,s,l,c):this.pop(angular.extend(t,{type:e}))}}var i=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,a,r,o,s,l,c,d,u){if(angular.isObject(t)){var p=t;this.toast={type:p.type,title:p
ne.stop()},0);var i=ie(),a=i-_t,r=je-He;Ye+=Math.abs(r),ze+=a;var o={cpuTime:at,drawingTime:Ge-lt,bufferTime:We-ct,proxyTime:Ke-dt,demuxerTime:0,videoTime:0,audioTime:0,clockTime:je,late:ke||e.dropped,dropped:e.dropped};fe&&(o.demuxerTime=fe.demuxerCpuTime-st,o.videoTime+=vt-rt,o.audioTime+=fe.audioCpuTime-ot),o.cpuTime+=o.demuxerTime,at=0,_t=i,fe?(rt=vt,ot=fe.audioCpuTime,st=fe.demuxerCpuTime):(rt=0,ot=0,st=0),lt=Ge,ct=We,dt=Ke,n("drew frame "+e.frameEndTimestamp+": clock time "+t(a)+" (jitter "+t(r)+") cpu: "+t(o.cpuTime)+" (mux: "+t(o.demuxerTime)+" buf: "+t(o.bufferTime)+" draw: "+t(o.drawingTime)+" proxy: "+t(o.proxyTime)+") vid: "+t(o.videoTime)+" aud: "+t(o.audioTime)),f("framecallback",o),(!yt||i-yt>=bt)&&(yt=i,f("timeupdate"))}function M(e){Error.call(this,e)}function S(e){ae.seeking&&Te.cancel(new M("cancel for new seek")),ae.buffering&&Ce.cancel(new M("cancel for new seek")),Ae=!1,$e=!1,Le=!1,ae.seek(e,Te).then(function(){O()})["catch"](N)}function A(e){var t=Math.max(0,ae.length-65536);Mt=e,de=new c({start:0,end:t,process:function(e,t,n){return n!=le&&(le=n,ce=!1,fe.flush(function(){S(n)}),!0)}}),de.start()}function T(e,t){function i(n){ae&&ae.buffering&&Ce.cancel(new M("cancel for new seek")),ae&&ae.seeking&&Te.cancel(new M("cancel for new seek")),ge.splice(0,ge.length),y(),we=!1,ke=!1,_e&&_e.flush(),Y=K.SEEKING,wt=e,se=t,fe?fe.flush(n):n()}if(n("requested seek to "+e+", mode "+t),ne.readyState==ne.HAVE_NOTHING)return n("not yet loaded; saving seek position for later"),void(Me=e);if(ae&&!ae.seekable)throw console.log(ae),new Error("Cannot seek a non-seekable stream");i(function(){R()||L(0)}),ge.push(function(){i(function(){C(e)})})}function C(e){Ae=!1,$e=!1,Le=!1,Y=K.SEEKING,wt=e,kt=-1,ce=!1,le=-1,nt=[],it=[],Ct=0,Et=0,ue=!1,fe.seekToKeypoint(e,function(t){return t?(J=X.LINEAR_TO_TARGET,f("seeking"),ue?void 0:void L()):void fe.getKeypointOffset(e,function(e){e>0?(J=X.LINEAR_TO_TARGET,S(e)):(J=X.BISECT_TO_TARGET,A(wt)),f("seeking")})})}function E(){function e(){yt=wt,f("timeupdate"),f("seeked"),R()||L()}return J=X.NOT_SEEKING,Y=K.READY,et=fe.frameTimestamp,tt=fe.audioTimestamp,wt=fe.hasAudio?fe.audioTimestamp:fe.frameTimestamp,be=wt,fe.hasVideo&&fe.frameReady?void fe.decodeFrame(function(t){t&&(oe&&(ne.removeChild(oe),oe=null),ee.drawFrame(fe.frameBuffer)),e()}):void e()}function $(){var e;if(e=fe.hasVideo?He/1e3:1/256,fe.hasVideo){if(Ct)return;if(!fe.frameReady)return void fe.process(function(e){e?L():Ae?(n("stream ended during linear seeking on video"),$e=!0,E()):O()});if(se===St.FAST&&fe.keyframeTimestamp==fe.frameTimestamp)return void E();if(fe.frameTimestamp+e<wt)return void fe.decodeFrame(function(){L()});if(!fe.hasAudio)return void E()}if(fe.hasAudio){if(Et)return;return fe.audioReady?fe.audioTimestamp+e<wt?void fe.decodeAudio(function(){L()}):void E():void fe.process(function(e){e?L():Ae?(n("stream ended during linear seeking on audio"),$e=!0,E()):O()})}}function I(){var e,t;if(fe.hasVideo)t=fe.frameTimestamp,e=He/1e3;else{if(!fe.hasAudio)throw new Error("Invalid seek state; no audio or video track available");t=fe.audioTimestamp,e=1/256}t<0?fe.process(function(e){if(e)L();else if(Ae){if(n("stream ended during bisection seek"),!de.right())throw n("failed going back"),new Error("not sure what to do")}else O()}):t-e/2>Mt?de.left()||(n("close enough (left)"),wt=t,E()):t+e/2<Mt?de.right()||(n("close enough (right)"),J=X.LINEAR_TO_TARGET,L()):J==X.BISECT_TO_TARGET&&fe.hasVideo&&fe.keyframeTimestamp<fe.frameTimestamp?(n("finding the keypoint now"),J=X.BISECT_TO_KEYPOINT,A(fe.keyframeTimestamp)):(n("straight seeking now"),J=X.LINEAR_TO_TARGET,L())}function x(){He=me.fps>0?1e3/me.fps:16.667,te.width=me.displayWidth,te.height=me.displayHeight,h.styleManager.appendRule("."+H,{width:me.displayWidth+"px",height:me.displayHeight+"px"}),h.updatePositionOnResize(),ee=r.attach(te,V)}function P(){if(ue&&(ue=!1),re=null,R(),At>0)throw new Error("REENTRANCY FAIL: doProcessing recursing unexpectedly");var e=0;do{if(Tt=!1,At++,D(),At--,Tt&&R())throw new Error("REENTRANCY FAIL: waiting on input or codec but asked to keep
n(),c.texParameteri(c.TEXTURE_2D,c.TEXTURE_WRAP_T,c.CLAMP_TO_EDGE),n(),c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MIN_FILTER,p),n(),c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MAG_FILTER,p),n(),c.texImage2D(c.TEXTURE_2D,0,u,d,o,0,u,c.UNSIGNED_BYTE,s),n(),l}function o(e,t){for(var n=e*t,i=new Uint32Array(n),a=0;a<n;a+=4)i[a]=255,i[a+1]=65280,i[a+2]=16711680,i[a+3]=4278190080;return new Uint8Array(i.buffer)}function s(e){if(u=i(c.VERTEX_SHADER,a.vertex),p=t.stripe?i(c.FRAGMENT_SHADER,a.fragmentStripe):i(c.FRAGMENT_SHADER,a.fragment),f=c.createProgram(),c.attachShader(f,u),n(),c.attachShader(f,p),n(),c.linkProgram(f),!c.getProgramParameter(f,c.LINK_STATUS)){var s=c.getProgramInfoLog(f);throw c.deleteProgram(f),new Error("GL program linking failed: "+s)}c.useProgram(f),n(),t.stripe&&(r("uStripeLuma",c.TEXTURE3,3,4*e.y.stride,e.format.height,o(e.y.stride,e.format.height)),n(),r("uStripeChroma",c.TEXTURE4,4,4*e.u.stride,e.format.chromaHeight,o(e.u.stride,e.format.chromaHeight)),n())}var l=this,c=e.getContext("webgl")||e.getContext("experimental-webgl"),d=!1;if(null===c)throw new Error("WebGL unavailable");var u,p,f,m,h,g=new Float32Array([-1,-1,1,-1,-1,1,-1,1,1,-1,1,1]),_={};return l.drawFrame=function(t){function i(e,t){var i=a.cropLeft/t,r=(a.cropLeft+a.cropWidth)/t,o=(a.cropTop+a.cropHeight)/a.height,s=a.cropTop/a.height,l=new Float32Array([i,o,r,o,i,s,i,s,r,o,r,s]),d=c.createBuffer();c.bindBuffer(c.ARRAY_BUFFER,d),n(),c.bufferData(c.ARRAY_BUFFER,l,c.STATIC_DRAW),n();var u=c.getAttribLocation(f,e);n(),c.enableVertexAttribArray(u),n(),c.vertexAttribPointer(u,2,c.FLOAT,!1,0,0),n()}var a=t.format;e.width===a.displayWidth&&e.height===a.displayHeight||(e.width=a.displayWidth,e.height=a.displayHeight,l.clear()),f||s(t),m=c.createBuffer(),n(),c.bindBuffer(c.ARRAY_BUFFER,m),n(),c.bufferData(c.ARRAY_BUFFER,g,c.STATIC_DRAW),n();var o=c.getAttribLocation(f,"aPosition");n(),c.enableVertexAttribArray(o),n(),c.vertexAttribPointer(o,2,c.FLOAT,!1,0,0),n(),i("aLumaPosition",t.y.stride),i("aChromaPosition",t.u.stride*a.width/a.chromaWidth);r("uTextureY",c.TEXTURE0,0,t.y.stride,a.height,t.y.bytes),r("uTextureCb",c.TEXTURE1,1,t.u.stride,a.chromaHeight,t.u.bytes),r("uTextureCr",c.TEXTURE2,2,t.v.stride,a.chromaHeight,t.v.bytes);c.drawArrays(c.TRIANGLES,0,g.length/2),n()},l.clear=function(){c.viewport(0,0,e.width,e.height),c.clearColor(0,0,0,0),c.clear(c.COLOR_BUFFER_BIT)},l.clear(),l}var i=n(13),a=n(18);t.stripe=function(){return navigator.userAgent.indexOf("Windows")!==-1}(),t.isAvailable=function(){var e,n=document.createElement("canvas");n.width=1,n.height=1;var i={};try{e=n.getContext("webgl",i)||n.getContext("experimental-webgl",i)}catch(a){return!1}if(e){var r=e.TEXTURE0,o=4,s=4,l=e.createTexture(),c=new Uint8Array(o*s),d=t.stripe?o/4:o,u=t.stripe?e.RGBA:e.LUMINANCE,p=t.stripe?e.NEAREST:e.LINEAR;e.activeTexture(r),e.bindTexture(e.TEXTURE_2D,l),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,p),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,p),e.texImage2D(e.TEXTURE_2D,0,u,d,s,0,u,e.UNSIGNED_BYTE,c);var f=e.getError();return!f}return!1},t.prototype=Object.create(i.prototype),e.exports=t}()},function(e,t){e.exports={vertex:"attribute vec2 aPosition;\nattribute vec2 aLumaPosition;\nattribute vec2 aChromaPosition;\nvarying vec2 vLumaPosition;\nvarying vec2 vChromaPosition;\nvoid main() {\n gl_Position = vec4(aPosition, 0, 1);\n vLumaPosition = aLumaPosition;\n vChromaPosition = aChromaPosition;\n}\n",fragment:"// inspired by https://github.com/mbebenita/Broadway/blob/master/Player/canvas.js\n\nprecision mediump float;\nuniform sampler2D uTextureY;\nuniform sampler2D uTextureCb;\nuniform sampler2D uTextureCr;\nvarying vec2 vLumaPosition;\nvarying vec2 vChromaPosition;\nvoid main() {\n // Y, Cb, and Cr planes are uploaded as LUMINANCE textures.\n float fY = texture2D(uTextureY, vLumaPosition).x;\n float fCb = texture2D(uTextureCb, vChromaPosition).x;\n float fCr = texture2D(uTextureCr, vChromaPosition).x;\n\
r.push(c)}return r},t.prototype.bufferData=function(e){if(!this._backend)throw"Invalid state: AudioFeeder cannot bufferData before init";var t=this._resample(e);this._backend.appendBuffer(t)},t.prototype.getPlaybackState=function(){if(this._backend)return this._backend.getPlaybackState();throw"Invalid state: AudioFeeder cannot getPlaybackState before init"},t.prototype.waitUntilReady=function(e){if(!this._backend)throw"Invalid state: AudioFeeder cannot waitUntilReady before init";this._backend.waitUntilReady(e)},t.prototype.start=function(){if(!this._backend)throw"Invalid state: AudioFeeder cannot start before init";this._backend.start()},t.prototype.stop=function(){if(!this._backend)throw"Invalid state: AudioFeeder cannot stop before init";this._backend.stop()},t.prototype.flush=function(){if(!this._backend)throw"Invalid state: AudioFeeder cannot flush before init";this._backend.flush()},t.prototype.close=function(){this._backend&&(this._backend.close(),this._backend=null)},t.prototype.onstarved=null,t.prototype.onbufferlow=null,t.isSupported=function(){return!!Float32Array&&(i.isSupported()||a.isSupported())},t.initSharedAudioContext=function(){return i.isSupported()?i.initSharedAudioContext():null},e.exports=t}()},function(e,t){function n(e,t){if(e<1||e!==Math.round(e))throw"Invalid channel count for BufferQueue";this.channels=e,this.bufferSize=t,this.flush()}n.prototype.flush=function(){this._buffers=[],this._pendingBuffer=this.createBuffer(this.bufferSize),this._pendingPos=0},n.prototype.sampleCount=function(){var e=0;return this._buffers.forEach(function(t){e+=t[0].length}),e},n.prototype.createBuffer=function(e){for(var t=[],n=0;n<this.channels;n++)t[n]=new Float32Array(e);return t},n.prototype.validate=function(e){if(e.length!==this.channels)return!1;for(var t,n=0;n<e.length;n++){var i=e[n];if(!(i instanceof Float32Array))return!1;if(0==n)t=i.length;else if(i.length!==t)return!1}return!0},n.prototype.appendBuffer=function(e){if(!this.validate(e))throw"Invalid audio buffer passed to BufferQueue.appendBuffer";for(var t=e[0],n=t.length,i=0;i<n;i++){for(var a=0;a<this.channels;a++)this._pendingBuffer[a][this._pendingPos]=e[a][i];++this._pendingPos==this.bufferSize&&(this._buffers.push(this._pendingBuffer),this._pendingPos=0,this._pendingBuffer=this.createBuffer(this.bufferSize))}},n.prototype.prependBuffer=function(e){if(!this.validate(e))throw"Invalid audio buffer passed to BufferQueue.prependBuffer";var t=this._buffers.slice(0);t.push(this.trimBuffer(this._pendingBuffer,0,this._pendingPos)),this.flush(),this.appendBuffer(e);for(var n=0;n<t.length;n++)this.appendBuffer(t[n])},n.prototype.nextBuffer=function(){if(this._buffers.length)return this._buffers.shift();var e=this.trimBuffer(this._pendingBuffer,0,this._pendingPos);return this._pendingBuffer=this.createBuffer(this.bufferSize),this._pendingPos=0,e},n.prototype.trimBuffer=function(e,t,n){var i=e[0].length,a=t+Math.min(n,i);if(0==t&&a>=i)return e;for(var r=[],o=0;o<this.channels;o++)r[o]=e[o].subarray(t,a);return r},e.exports=n},function(e,t,n){!function(){function t(e,n,i){var r=i.audioContext||t.initSharedAudioContext();if(this._context=r,this.output=i.output||r.destination,this.rate=r.sampleRate,this.channels=Math.min(e,2),i.bufferSize&&(this.bufferSize=0|i.bufferSize),this.bufferThreshold=2*this.bufferSize,this._bufferQueue=new a(this.channels,this.bufferSize),this._playbackTimeAtBufferTail=r.currentTime,this._queuedTime=0,this._delayedTime=0,this._dropped=0,this._liveBuffer=this._bufferQueue.createBuffer(this.bufferSize),r.createScriptProcessor)this._node=r.createScriptProcessor(this.bufferSize,0,this.channels);else{if(!r.createJavaScriptNode)throw new Error("Bad version of web audio API?");this._node=r.createJavaScriptNode(this.bufferSize,0,this.channels)}}var i=window.AudioContext||window.webkitAudioContext,a=n(1),r=n(3);t.prototype.bufferSize=4096,t.prototype.bufferThreshold=8192,t.prototype._volume=1,Object.defineProperty(t.prototype,"volume",{get:function(){return this._volume},set:function(e){this._volume=+e}}),t.prototype._muted=!1,Object.defineProp
var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if("WEB"===Module.ENVIRONMENT)ENVIRONMENT_IS_WEB=!0;else if("WORKER"===Module.ENVIRONMENT)ENVIRONMENT_IS_WORKER=!0;else if("NODE"===Module.ENVIRONMENT)ENVIRONMENT_IS_NODE=!0;else if("SHELL"===Module.ENVIRONMENT)ENVIRONMENT_IS_SHELL=!0;else{if("PTHREAD"!==Module.ENVIRONMENT)throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");ENVIRONMENT_IS_WORKER=!0,ENVIRONMENT_IS_PTHREAD=!0}else ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&"function"==typeof require&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(e,t){nodeFS||(nodeFS=require("fs")),nodePath||(nodePath=require("path")),e=nodePath.normalize(e);var n=nodeFS.readFileSync(e);return t?n:n.toString()},Module.readBinary=function(e){var t=Module.read(e,!0);return t.buffer||(t=new Uint8Array(t)),assert(t.buffer),t},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),"undefined"!=typeof module&&(module.exports=Module),process.on("uncaughtException",function(e){if(!(e instanceof ExitStatus))throw e}),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var t=read(e,"binary");return assert("object"==typeof t),t},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:"undefined"!=typeof arguments&&(Module.arguments=arguments),"function"==typeof quit&&(Module.quit=function(e,t){quit(e)});else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),t.response}),Module.readAsync=function(e,t,n){var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=function(){200==i.status||0==i.status&&i.response?t(i.response):n()},i.onerror=n,i.send(null)},"undefined"!=typeof arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),"undefined"==typeof Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(e,t){throw t}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(e){return tempRet0=e,e},getTempRet0:function(){return tempRet0},stackSave:function(){return S
_ogvjs_callback_audio_packet:_ogvjs_callback_audio_packet,___syscall140:___syscall140,___syscall146:___syscall146,_ogvjs_callback_video_packet:_ogvjs_callback_video_packet,DYNAMICTOP_PTR:DYNAMICTOP_PTR,tempDoublePtr:tempDoublePtr,ABORT:ABORT,STACKTOP:STACKTOP,STACK_MAX:STACK_MAX,cttz_i8:cttz_i8};var asm=function(e,t,n){"use asm";var i=new e.Int8Array(n);var a=new e.Int16Array(n);var r=new e.Int32Array(n);var o=new e.Uint8Array(n);var s=new e.Uint16Array(n);var l=new e.Uint32Array(n);var c=new e.Float32Array(n);var d=new e.Float64Array(n);var u=t.DYNAMICTOP_PTR|0;var p=t.tempDoublePtr|0;var f=t.ABORT|0;var m=t.STACKTOP|0;var h=t.STACK_MAX|0;var g=t.cttz_i8|0;var _=0;var v=0;var y=0;var b=0;var w=e.NaN,k=e.Infinity;var M=0,S=0,A=0,T=0,C=0,E=0,$=0,I=0,x=0;var P=0;var D=e.Math.floor;var R=e.Math.abs;var O=e.Math.sqrt;var N=e.Math.pow;var L=e.Math.cos;var F=e.Math.sin;var U=e.Math.tan;var B=e.Math.acos;var H=e.Math.asin;var j=e.Math.atan;var V=e.Math.atan2;var q=e.Math.exp;var z=e.Math.log;var W=e.Math.ceil;var G=e.Math.imul;var K=e.Math.min;var Y=e.Math.max;var X=e.Math.clz32;var J=t.abort;var Z=t.assert;var Q=t.enlargeMemory;var ee=t.getTotalMemory;var te=t.abortOnCannotGrowMemory;var ne=t.invoke_iiii;var ie=t.invoke_vi;var ae=t.invoke_ii;var re=t.invoke_iiiii;var oe=t.invoke_iii;var se=t.invoke_iiiiii;var le=t._ogvjs_callback_loaded_metadata;var ce=t.___syscall3;var de=t.___lock;var ue=t.___syscall6;var pe=t.___setErrNo;var fe=t._abort;var me=t.___unlock;var he=t._emscripten_memcpy_big;var ge=t.___syscall54;var _e=t._ogvjs_callback_audio_packet;var ve=t.___syscall140;var ye=t.___syscall146;var be=t._ogvjs_callback_video_packet;var we=0;function ke(e){e=e|0;var t=0;t=m;m=m+e|0;m=m+15&-16;return t|0}function Me(){return m|0}function Se(e){e=e|0;m=e}function Ae(e,t){e=e|0;t=t|0;m=e;h=t}function Te(e,t){e=e|0;t=t|0;if(!_){_=e;v=t}}function Ce(e){e=e|0;P=e}function Ee(){return P|0}function $e(e){e=e|0;return i[(r[e>>2]|0)+5>>0]&1|0}function Ie(e){e=e|0;return i[(r[e>>2]|0)+5>>0]&2|0}function xe(e){e=e|0;var t=0,n=0;t=r[e>>2]|0;e=Lr(o[t+13>>0]|0|0,0,8)|0;n=Lr(e|(o[t+12>>0]|0)|0,P|0,8)|0;e=Lr(n|(o[t+11>>0]|0)|0,P|0,8)|0;n=Lr(e|(o[t+10>>0]|0)|0,P|0,8)|0;e=Lr(n|(o[t+9>>0]|0)|0,P|0,8)|0;n=Lr(e|(o[t+8>>0]|0)|0,P|0,8)|0;e=Lr(n|(o[t+7>>0]|0)|0,P|0,8)|0;return e|(o[t+6>>0]|0)|0}function Pe(e){e=e|0;var t=0;t=r[e>>2]|0;return(o[t+15>>0]|0)<<8|(o[t+14>>0]|0)|(o[t+16>>0]|0)<<16|(o[t+17>>0]|0)<<24|0}function De(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0,l=0,c=0,d=0,u=0;if(!e){n=-1;return n|0}Or(e+8|0,0,352)|0;r[e+4>>2]=16384;r[e+24>>2]=1024;i=Ar(16384)|0;r[e>>2]=i;a=Ar(4096)|0;o=e+16|0;r[o>>2]=a;s=Ar(8192)|0;l=e+20|0;r[l>>2]=s;do if(!i){c=a;d=a}else{if((s|0)==0|(a|0)==0){Tr(i);u=r[o>>2]|0;c=u;d=u;break}r[e+336>>2]=t;n=0;return n|0}while(0);if(c|0)Tr(d);d=r[l>>2]|0;if(d|0)Tr(d);Or(e|0,0,360)|0;n=-1;return n|0}function Re(e){e=e|0;var t=0;if(!e)return 0;t=r[e>>2]|0;if(t|0)Tr(t);t=r[e+16>>2]|0;if(t|0)Tr(t);t=r[e+20>>2]|0;if(t|0)Tr(t);Or(e|0,0,360)|0;return 0}function Oe(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0;n=e+24|0;i=r[n>>2]|0;if((i-t|0)>(r[e+28>>2]|0)){a=0;return a|0}if((i|0)>(2147483647-t|0)){o=r[e>>2]|0;if(o|0)Tr(o);o=r[e+16>>2]|0;if(o|0)Tr(o);o=r[e+20>>2]|0;if(o|0)Tr(o);Or(e|0,0,360)|0;a=-1;return a|0}o=i+t|0;t=(o|0)<2147483615?o+32|0:o;o=e+16|0;i=Er(r[o>>2]|0,t<<2)|0;if(!i){s=r[e>>2]|0;if(s|0)Tr(s);s=r[o>>2]|0;if(s|0)Tr(s);s=r[e+20>>2]|0;if(s|0)Tr(s);Or(e|0,0,360)|0;a=-1;return a|0}r[o>>2]=i;i=e+20|0;s=Er(r[i>>2]|0,t<<3)|0;if(s|0){r[i>>2]=s;r[n>>2]=t;a=0;return a|0}t=r[e>>2]|0;if(t|0)Tr(t);t=r[o>>2]|0;if(t|0)Tr(t);t=r[i>>2]|0;if(t|0)Tr(t);Or(e|0,0,360)|0;a=-1;return a|0}function Ne(e){e=e|0;if(!e)return 0;r[e>>2]=0;r[e+4>>2]=0;r[e+8>>2]=0;r[e+12>>2]=0;r[e+16>>2]=0;r[e+20>>2]=0;r[e+24>>2]=0;return 0}function Le(e){e=e|0;var t=0;if(!e)return 0;t=r[e>>2]|0;if(t|0)Tr(t);r[e>>2]=0;r[e+4>>2]=0;r[e+8>>2]=0;r[e+12>>2]=0;r[e+16>>2]=0;r[e+20>>2]=0;r[e+24>>2]=0;return 0}function Fe(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,m=0,h=0;n=e+4|0;i=r[n>>2]|0;if((i|0)<=-1){a=0;return a|0}o=e+12|0;s=r[o>>2]|0;l=e+8|0;if(!s)c=i;else{d
P=b;m=o;return _|0}i=It(r[d>>2]|0)|0;d=Dr(s|0,f|0,i|0,P|0)|0;i=p;r[i>>2]=d;r[i+4>>2]=P;i=p;d=r[i+4>>2]|0;f=(r[u>>2]|0)+8|0;s=r[f+4>>2]|0;if((d|0)<(s|0)|((d|0)==(s|0)?(r[i>>2]|0)>>>0<(r[f>>2]|0)>>>0:0)){f=(r[u>>2]|0)+8|0;i=r[f+4>>2]|0;s=p;r[s>>2]=r[f>>2];r[s+4>>2]=i}i=(r[u>>2]|0)+8|0;r[i>>2]=0;r[i+4>>2]=0;h=p;g=h;_=r[g>>2]|0;v=h+4|0;y=v;b=r[y>>2]|0;P=b;m=o;return _|0}function mt(e,t,n,i,a){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;var s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0;s=m;m=m+48|0;l=s+32|0;c=s+28|0;d=s+24|0;u=s+20|0;p=s+16|0;f=s+8|0;h=s+4|0;g=s;r[c>>2]=e;r[d>>2]=t;r[u>>2]=n;r[p>>2]=i;r[s+12>>2]=a;r[f>>2]=r[u>>2];if((r[p>>2]|0)<26){r[l>>2]=0;_=r[l>>2]|0;m=s;return _|0}if((o[r[u>>2]>>0]|0|0)!=79){r[l>>2]=0;_=r[l>>2]|0;m=s;return _|0}if(Ca((r[u>>2]|0)+1|0,2723,4)|0){r[l>>2]=0;_=r[l>>2]|0;m=s;return _|0}if((o[(r[u>>2]|0)+5>>0]|0|0)!=1){r[l>>2]=0;_=r[l>>2]|0;m=s;return _|0}if((o[(r[u>>2]|0)+6>>0]|0|0)!=1){r[l>>2]=0;_=r[l>>2]|0;m=s;return _|0}else{r[h>>2]=gt((r[f>>2]|0)+18|0)|0;r[g>>2]=gt((r[f>>2]|0)+22|0)|0;f=r[c>>2]|0;u=r[d>>2]|0;p=r[h>>2]|0;h=r[g>>2]|0;g=Vr(1e3,0,h|0,((h|0)<0)<<31>>31|0)|0;_t(f,u,p,((p|0)<0)<<31>>31,g,P)|0;vt(r[c>>2]|0,r[d>>2]|0,32)|0;yt(r[c>>2]|0,r[d>>2]|0,1)|0;r[l>>2]=1;_=r[l>>2]|0;m=s;return _|0}return 0}function ht(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,T=0,C=0,E=0,$=0;a=m;m=m+80|0;s=a+40|0;l=a+32|0;c=a+68|0;d=a+64|0;u=a+60|0;p=a+56|0;f=a+52|0;h=a+48|0;g=a+24|0;_=a+16|0;v=a+8|0;y=a;b=l;r[b>>2]=e;r[b+4>>2]=t;r[c>>2]=n;r[d>>2]=i;r[h>>2]=r[(r[c>>2]|0)+504>>2];if(!(r[(r[c>>2]|0)+504>>2]|0)){i=Ar(8)|0;r[(r[c>>2]|0)+504>>2]=i;if(!(r[(r[c>>2]|0)+504>>2]|0)){i=s;r[i>>2]=-1;r[i+4>>2]=-1;w=s;k=w;M=r[k>>2]|0;S=w+4|0;A=S;T=r[A>>2]|0;P=T;m=a;return M|0}else{r[h>>2]=r[(r[c>>2]|0)+504>>2];r[(r[h>>2]|0)+4>>2]=0;r[r[h>>2]>>2]=1;i=s;r[i>>2]=0;r[i+4>>2]=0;w=s;k=w;M=r[k>>2]|0;S=w+4|0;A=S;T=r[A>>2]|0;P=T;m=a;return M|0}}if(!(r[(r[d>>2]|0)+4>>2]|0))C=1;else C=(o[r[r[d>>2]>>2]>>0]|0|0)==79;r[u>>2]=C&1;if(!(r[u>>2]|0)?(r[(r[d>>2]|0)+4>>2]|0)>0:0)E=((o[r[r[d>>2]>>2]>>0]|0)&1|0)==0;else E=0;r[p>>2]=E&1;if(!(r[u>>2]|0)?(r[(r[d>>2]|0)+4>>2]|0)>0:0)$=((o[r[r[d>>2]>>2]>>0]|0)>>4&1|0)!=0;else $=0;r[f>>2]=$&1;$=r[h>>2]|0;if(r[u>>2]|0)r[$>>2]=(r[$>>2]|0)+1;else r[$+4>>2]=1;$=l;d=r[$+4>>2]|0;if((d|0)>-1|(d|0)==-1&(r[$>>2]|0)>>>0>4294967295){$=l;l=r[$+4>>2]|0;d=s;r[d>>2]=r[$>>2];r[d+4>>2]=l;w=s;k=w;M=r[k>>2]|0;S=w+4|0;A=S;T=r[A>>2]|0;P=T;m=a;return M|0}if(!(r[(r[h>>2]|0)+4>>2]|0)){h=s;r[h>>2]=0;r[h+4>>2]=0;w=s;k=w;M=r[k>>2]|0;S=w+4|0;A=S;T=r[A>>2]|0;P=T;m=a;return M|0}h=(r[c>>2]|0)+488|0;l=r[h+4>>2]|0;if(!((l|0)>0|(l|0)==0&(r[h>>2]|0)>>>0>0)){h=s;r[h>>2]=-1;r[h+4>>2]=-1;w=s;k=w;M=r[k>>2]|0;S=w+4|0;A=S;T=r[A>>2]|0;P=T;m=a;return M|0}h=(r[c>>2]|0)+488|0;l=r[h>>2]|0;d=r[h+4>>2]|0;if(r[u>>2]|0){u=s;r[u>>2]=l;r[u+4>>2]=d;w=s;k=w;M=r[k>>2]|0;S=w+4|0;A=S;T=r[A>>2]|0;P=T;m=a;return M|0}u=Pr(l|0,d|0,32)|0;d=g;r[d>>2]=u;r[d+4>>2]=P;d=(r[c>>2]|0)+488|0;u=Pr(r[d>>2]|0,r[d+4>>2]|0,30)|0;d=_;r[d>>2]=u&3;r[d+4>>2]=0;d=(r[c>>2]|0)+488|0;c=Pr(r[d>>2]|0,r[d+4>>2]|0,3)|0;d=v;r[d>>2]=c&134217727;r[d+4>>2]=0;if(r[p>>2]|0){p=v;r[p>>2]=0;r[p+4>>2]=0}else{p=v;d=Rr(r[p>>2]|0,r[p+4>>2]|0,1,0)|0;p=v;r[p>>2]=d;r[p+4>>2]=P}do if(!(r[f>>2]|0)){p=_;if((r[p>>2]|0)==3&(r[p+4>>2]|0)==0){p=_;r[p>>2]=0;r[p+4>>2]=0;break}else{p=_;d=Rr(r[p>>2]|0,r[p+4>>2]|0,1,0)|0;p=_;r[p>>2]=d;r[p+4>>2]=P;break}}else{p=g;d=Rr(r[p>>2]|0,r[p+4>>2]|0,1,0)|0;p=g;r[p>>2]=d;r[p+4>>2]=P;p=_;r[p>>2]=3;r[p+4>>2]=0}while(0);f=r[g>>2]|0;g=_;_=Lr(r[g>>2]|0,r[g+4>>2]|0,30)|0;g=f|P;f=v;v=Lr(r[f>>2]|0,r[f+4>>2]|0,3)|0;f=y;r[f>>2]=_|v;r[f+4>>2]=g|P;g=y;y=r[g+4>>2]|0;f=s;r[f>>2]=r[g>>2];r[f+4>>2]=y;w=s;k=w;M=r[k>>2]|0;S=w+4|0;A=S;T=r[A>>2]|0;P=T;m=a;return M|0}function gt(e){e=e|0;var t=0,n=0;t=m;m=m+16|0;n=t;r[n>>2]=e;m=t;return(o[r[n>>2]>>0]|0)<<24|(o[(r[n>>2]|0)+1>>0]|0)<<16|(o[(r[n>>2]|0)+2>>0]|0)<<8|(o[(r[n>>2]|0)+3>>0]|0)|0}function _t(e,t,n,i,a,o){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;o=o|0;var s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0;s=m;m=m+32|0;l=s+28|0;c=s+24|0;d=s+20|0;u=s+8|0;p=s;f=s+16|0;r[c>>2]=e;r[d>>2]=t;t=u;r[t>>2]=n;r[t+4>>2]=i;i=p;r[i>>2
s=o+16|0;l=o+12|0;c=o;d=o+8|0;r[s>>2]=e;r[l>>2]=t;t=c;r[t>>2]=n;r[t+4>>2]=i;r[d>>2]=a;hn(r[s>>2]|0);a=c;c=_n(r[s>>2]|0,r[l>>2]|0,r[a>>2]|0,r[a+4>>2]|0,r[d>>2]|0)|0;m=o;return c|0}function _n(e,t,n,i,a){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;var o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0;o=m;m=m+32|0;s=o+28|0;l=o+24|0;c=o+20|0;d=o;u=o+16|0;p=o+12|0;f=o+8|0;r[l>>2]=e;r[c>>2]=t;t=d;r[t>>2]=n;r[t+4>>2]=i;r[u>>2]=a;r[p>>2]=(r[l>>2]|0)+112;r[f>>2]=vn(r[l>>2]|0,r[c>>2]|0,r[u>>2]|0)|0;if((r[f>>2]|0)==-1){r[s>>2]=-1;h=r[s>>2]|0;m=o;return h|0}r[(r[l>>2]|0)+64>>2]=r[f>>2];l=d;if((r[l>>2]|0)!=-1?1:(r[l+4>>2]|0)!=-1){l=d;d=r[l+4>>2]|0;u=(r[p>>2]|0)+416|0;r[u>>2]=r[l>>2];r[u+4>>2]=d}r[s>>2]=r[f>>2];h=r[s>>2]|0;m=o;return h|0}function vn(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,o=0,s=0,l=0,c=0,d=0,u=0;i=m;m=m+32|0;a=i+20|0;o=i+16|0;s=i+12|0;l=i+8|0;c=i+4|0;d=i;r[o>>2]=e;r[s>>2]=t;r[l>>2]=n;r[c>>2]=(r[o>>2]|0)+112;if((yn(r[o>>2]|0,r[s>>2]|0,r[l>>2]|0)|0)==-1){r[a>>2]=-1;u=r[a>>2]|0;m=i;return u|0}else{r[d>>2]=bn(r[o>>2]|0)|0;r[(r[o>>2]|0)+64>>2]=r[d>>2];je(r[c>>2]|0)|0;Zt(r[(r[o>>2]|0)+80>>2]|0,7)|0;r[a>>2]=r[d>>2];u=r[a>>2]|0;m=i;return u|0}return 0}function yn(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,o=0,s=0,l=0,c=0,d=0;i=m;m=m+32|0;a=i+16|0;o=i+12|0;s=i+8|0;l=i+4|0;c=i;r[o>>2]=e;r[s>>2]=t;r[l>>2]=n;n=r[o>>2]|0;if(r[(r[o>>2]|0)+4>>2]|0){if((hr(r[n+4>>2]|0,r[s>>2]|0,r[l>>2]|0)|0)==-1){ya()|0;r[a>>2]=-10;d=r[a>>2]|0;m=i;return d|0}}else{o=r[n+8>>2]|0;r[c>>2]=o;if(!o){r[a>>2]=-3;d=r[a>>2]|0;m=i;return d|0}if(!(r[(r[c>>2]|0)+16>>2]|0)){r[a>>2]=-1;d=r[a>>2]|0;m=i;return d|0}if((so[r[(r[c>>2]|0)+16>>2]&7](r[(r[c>>2]|0)+20>>2]|0,r[s>>2]|0,r[l>>2]|0)|0)==-1){r[a>>2]=-1;d=r[a>>2]|0;m=i;return d|0}}r[a>>2]=0;d=r[a>>2]|0;m=i;return d|0}function bn(e){e=e|0;var t=0,n=0,i=0,a=0,o=0,s=0,l=0;t=m;m=m+16|0;n=t+12|0;i=t+8|0;a=t+4|0;o=t;r[i>>2]=e;e=r[i>>2]|0;do if(r[(r[i>>2]|0)+4>>2]|0){s=Mr(r[e+4>>2]|0)|0;r[o>>2]=s;if((s|0)==-1){ya()|0;r[n>>2]=-1}else l=10}else{s=r[e+8>>2]|0;r[a>>2]=s;if(!s){r[n>>2]=-3;break}if(!(r[(r[a>>2]|0)+24>>2]|0)){r[n>>2]=-1;break}s=co[r[(r[a>>2]|0)+24>>2]&15](r[(r[a>>2]|0)+28>>2]|0)|0;r[o>>2]=s;if((s|0)==-1)r[n>>2]=-1;else l=10}while(0);if((l|0)==10)r[n>>2]=r[o>>2];m=t;return r[n>>2]|0}function wn(e){e=e|0;var t=0,n=0;t=m;m=m+16|0;n=t;r[n>>2]=e;e=(r[n>>2]|0)+488|0;r[e>>2]=-1;r[e+4>>2]=-1;m=t;return 0}function kn(e){e=e|0;var t=0,n=0,i=0;t=m;m=m+16|0;n=t+4|0;i=t;r[n>>2]=e;r[i>>2]=r[n>>2];if((r[(r[i>>2]|0)+336>>2]|0)==-1){m=t;return 0}Ve(r[i>>2]|0)|0;m=t;return 0}function Mn(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0,l=0;n=m;m=m+16|0;i=n+12|0;a=n+8|0;o=n+4|0;s=n;r[a>>2]=e;r[o>>2]=t;r[s>>2]=Ar(512)|0;if(!(r[s>>2]|0)){r[i>>2]=0;l=r[i>>2]|0;m=n;return l|0}De(r[s>>2]|0,r[o>>2]|0)|0;o=(ai(r[s>>2]|0)|0)==-1;t=r[s>>2]|0;if(o){Tr(t);r[i>>2]=0;l=r[i>>2]|0;m=n;return l|0}else{r[t+360>>2]=15;r[(r[s>>2]|0)+364>>2]=3;r[(r[s>>2]|0)+368>>2]=0;t=(r[s>>2]|0)+376|0;r[t>>2]=1;r[t+4>>2]=0;t=(r[s>>2]|0)+384|0;r[t>>2]=1;r[t+4>>2]=0;t=(r[s>>2]|0)+392|0;r[t>>2]=0;r[t+4>>2]=0;t=(r[s>>2]|0)+400|0;r[t>>2]=0;r[t+4>>2]=0;r[(r[s>>2]|0)+408>>2]=0;r[(r[s>>2]|0)+420>>2]=0;r[(r[s>>2]|0)+424>>2]=1;r[(r[s>>2]|0)+428>>2]=0;t=(r[s>>2]|0)+432|0;r[t>>2]=0;r[t+4>>2]=0;t=(r[s>>2]|0)+440|0;r[t>>2]=-1;r[t+4>>2]=-1;r[(r[s>>2]|0)+448>>2]=0;r[(r[s>>2]|0)+452>>2]=0;r[(r[s>>2]|0)+456>>2]=0;r[(r[s>>2]|0)+460>>2]=0;r[(r[s>>2]|0)+464>>2]=0;r[(r[s>>2]|0)+468>>2]=0;r[(r[s>>2]|0)+472>>2]=0;r[(r[s>>2]|0)+476>>2]=0;r[(r[s>>2]|0)+480>>2]=0;r[(r[s>>2]|0)+504>>2]=0;Jn(r[(r[a>>2]|0)+80>>2]|0,r[s>>2]|0)|0;r[i>>2]=r[s>>2];l=r[i>>2]|0;m=n;return l|0}return 0}function Sn(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0;a=m;m=m+32|0;o=a+20|0;s=a+16|0;l=a+12|0;c=a+8|0;d=a+4|0;u=a;r[s>>2]=e;r[l>>2]=t;r[c>>2]=n;r[d>>2]=i;r[u>>2]=0;r[u>>2]=Tt(r[s>>2]|0,r[c>>2]|0)|0;if((r[u>>2]|0)<0|(r[u>>2]|0)>=15){r[o>>2]=0;p=r[o>>2]|0;m=a;return p|0}if((r[u>>2]|0)==6?(r[(r[l>>2]|0)+8>>2]|0)==0:0){r[o>>2]=Ln(r[s>>2]|0,r[c>>2]|0,r[r[l>>2]>>2]|0,r[(r[l>>2]|0)+4>>2]|0,r[d>>2]|0)|0;p=r[o>>2]|0;m=a;return p|0}r[o>>2]=fo[r[1032+((r[u>>2]|0)*24|0)+12>>2]&31](r[s>>2]|0,r[c>>2]|0,r[r[l>>2]>>2]|0,r[(r[l>>2]|0)+4>>2]|0,r[d>>2]|0
var n=0,i=0,o=0,s=0,l=0,c=0;n=m;m=m+16|0;i=n+12|0;o=n+8|0;s=n+4|0;l=n;r[o>>2]=e;r[s>>2]=t;r[l>>2]=-1;if(!(r[o>>2]|0)){r[i>>2]=-2;c=r[i>>2]|0;m=n;return c|0}if(!(r[s>>2]|0)){r[i>>2]=-13;c=r[i>>2]|0;m=n;return c|0}if(r[(r[s>>2]|0)+12>>2]|0){if((r[(r[o>>2]|0)+120>>2]|0)!=1){r[i>>2]=-1;c=r[i>>2]|0;m=n;return c|0}a[(r[o>>2]|0)+118>>1]=1;r[(r[o>>2]|0)+120>>2]=2;if(r[(r[s>>2]|0)+4>>2]|0){r[i>>2]=-6;c=r[i>>2]|0;m=n;return c|0}else{r[i>>2]=0;c=r[i>>2]|0;m=n;return c|0}}do if(!(Ca(r[r[s>>2]>>2]|0,2779,8)|0)){r[l>>2]=Si(r[o>>2]|0,r[s>>2]|0)|0;if(r[l>>2]|0){if(r[(r[s>>2]|0)+8>>2]|0){if(r[(r[o>>2]|0)+120>>2]|0)r[l>>2]=-14}else r[l>>2]=-12;r[(r[o>>2]|0)+120>>2]=1}}else{if(!(Ca(r[r[s>>2]>>2]|0,2770,8)|0)){r[l>>2]=Ai(r[o>>2]|0,r[s>>2]|0)|0;if(!(r[l>>2]|0))break;if((r[(r[o>>2]|0)+120>>2]|0)==1)break;r[l>>2]=-14;break}if(Ca(r[r[s>>2]>>2]|0,2788,6)|0){r[l>>2]=-1;break}a[(r[o>>2]|0)+116>>1]=1;r[l>>2]=Ti(r[o>>2]|0,r[s>>2]|0)|0;if(r[l>>2]|0?(r[(r[o>>2]|0)+120>>2]|0)!=1:0)r[l>>2]=-14}while(0);r[i>>2]=r[l>>2];c=r[i>>2]|0;m=n;return c|0}function Si(e,t){e=e|0;t=t|0;var n=0,a=0,o=0,l=0,c=0,d=0,u=0;n=m;m=m+32|0;a=n+16|0;o=n+12|0;l=n+8|0;c=n+4|0;d=n;r[o>>2]=e;r[l>>2]=t;r[d>>2]=0;if(!(r[o>>2]|0)){r[a>>2]=-2;u=r[a>>2]|0;m=n;return u|0}if(r[l>>2]|0?r[r[l>>2]>>2]|0:0){r[d>>2]=(r[r[l>>2]>>2]|0)+8;r[d>>2]=Pi(r[d>>2]|0,r[o>>2]|0)|0;r[d>>2]=Pi(r[d>>2]|0,(r[o>>2]|0)+2|0)|0;r[c>>2]=(s[r[o>>2]>>1]|0)<<16|(s[(r[o>>2]|0)+2>>1]|0);if((r[c>>2]|0)>>>0>262144){r[a>>2]=-11;u=r[a>>2]|0;m=n;return u|0}if((r[c>>2]|0)==262144?(r[(r[l>>2]|0)+4>>2]|0)!=80:0){r[a>>2]=-18;u=r[a>>2]|0;m=n;return u|0}if((s[r[o>>2]>>1]|0|0)==3){if((s[(r[o>>2]|0)+2>>1]|0|0)>=2?(r[(r[l>>2]|0)+4>>2]|0)!=112:0){r[a>>2]=-18;u=r[a>>2]|0;m=n;return u|0}if((s[(r[o>>2]|0)+2>>1]|0|0)==0?(r[(r[l>>2]|0)+4>>2]|0)!=64:0){r[a>>2]=-18;u=r[a>>2]|0;m=n;return u|0}}r[d>>2]=Ei(r[d>>2]|0,(r[o>>2]|0)+8|0)|0;r[d>>2]=Ei(r[d>>2]|0,(r[o>>2]|0)+16|0)|0;r[d>>2]=Ei(r[d>>2]|0,(r[o>>2]|0)+24|0)|0;r[d>>2]=Ei(r[d>>2]|0,(r[o>>2]|0)+32|0)|0;l=(r[o>>2]|0)+40|0;t=r[d>>2]|0;e=l+20|0;do{i[l>>0]=i[t>>0]|0;l=l+1|0;t=t+1|0}while((l|0)<(e|0));if((r[c>>2]|0)>>>0>=196610){r[d>>2]=(r[d>>2]|0)+20;if((s[r[o>>2]>>1]|0|0)==3){r[d>>2]=Ei(r[d>>2]|0,(r[o>>2]|0)+64|0)|0;r[d>>2]=Ei(r[d>>2]|0,(r[o>>2]|0)+72|0)|0;r[d>>2]=Ei(r[d>>2]|0,(r[o>>2]|0)+80|0)|0;r[d>>2]=Ei(r[d>>2]|0,(r[o>>2]|0)+88|0)|0}r[d>>2]=Ei(r[d>>2]|0,(r[o>>2]|0)+96|0)|0;Ei(r[d>>2]|0,(r[o>>2]|0)+104|0)|0}r[a>>2]=1;u=r[a>>2]|0;m=n;return u|0}r[a>>2]=-13;u=r[a>>2]|0;m=n;return u|0}function Ai(e,t){e=e|0;t=t|0;var n=0,a=0,o=0,s=0,l=0,c=0,d=0,u=0;n=m;m=m+32|0;a=n+20|0;o=n+16|0;s=n+12|0;l=n+8|0;c=n+4|0;d=n;r[o>>2]=e;r[s>>2]=t;r[l>>2]=0;r[c>>2]=-1;r[d>>2]=0;if(!(r[o>>2]|0)){r[a>>2]=-2;u=r[a>>2]|0;m=n;return u|0}if(r[s>>2]|0?r[r[s>>2]>>2]|0:0){if((r[(r[s>>2]|0)+4>>2]|0)<52){r[a>>2]=-7;u=r[a>>2]|0;m=n;return u|0}r[l>>2]=Cr(1,56)|0;if(!(r[l>>2]|0)){r[a>>2]=-4;u=r[a>>2]|0;m=n;return u|0}r[d>>2]=(r[r[s>>2]>>2]|0)+8;r[d>>2]=xi(r[d>>2]|0,r[l>>2]|0)|0;r[d>>2]=Ci(r[d>>2]|0,(r[l>>2]|0)+4|0)|0;r[d>>2]=xi(r[d>>2]|0,(r[l>>2]|0)+8|0)|0;r[d>>2]=Ei(r[d>>2]|0,(r[l>>2]|0)+16|0)|0;r[d>>2]=Ei(r[d>>2]|0,(r[l>>2]|0)+24|0)|0;r[d>>2]=Ei(r[d>>2]|0,(r[l>>2]|0)+32|0)|0;r[d>>2]=xi(r[d>>2]|0,(r[l>>2]|0)+40|0)|0;i[(r[l>>2]|0)+44>>0]=i[r[d>>2]>>0]|0;d=Cr((r[(r[s>>2]|0)+4>>2]|0)-52|0,1)|0;r[(r[l>>2]|0)+48>>2]=d;d=r[l>>2]|0;if(!(r[(r[l>>2]|0)+48>>2]|0)){Tr(d);r[a>>2]=-4;u=r[a>>2]|0;m=n;return u|0}zr(r[d+48>>2]|0,(r[r[s>>2]>>2]|0)+52|0,(r[(r[s>>2]|0)+4>>2]|0)-52|0)|0;r[c>>2]=bi(r[(r[o>>2]|0)+112>>2]|0,r[l>>2]|0,r[(r[l>>2]|0)+4>>2]|0)|0;if((r[c>>2]|0)<0)Tr(r[l>>2]|0);r[a>>2]=r[c>>2];u=r[a>>2]|0;m=n;return u|0}r[a>>2]=-13;u=r[a>>2]|0;m=n;return u|0}function Ti(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0;n=m;m=m+80|0;i=n+76|0;a=n+72|0;o=n+68|0;l=n+48|0;c=n+40|0;d=n+32|0;u=n+24|0;p=n+64|0;f=n+16|0;h=n+60|0;g=n+56|0;_=n+8|0;v=n;r[a>>2]=e;r[o>>2]=t;t=l;r[t>>2]=0;r[t+4>>2]=0;t=c;r[t>>2]=0;r[t+4>>2]=0;t=d;r[t>>2]=0;r[t+4>>2]=0;t=u;r[t>>2]=1e3;r[t+4>>2]=0;r[p>>2]=0;t=f;r[t>>2]=-1;r[t+4>>2]=-1;r[h>>2]=0;r[g>>2]=-1;if(!(r[a>>2]|0)){r[i>>2]=-2;y=r[i>>2]|0;m=n;return y|0}if(r[o>>2]|0?r[r[o
R=r[D>>2]|0;S=r[D+4>>2]|0;D=Oa(R,S,_,ce&32)|0;z=(se&8|0)==0|(R|0)==0&(S|0)==0;de=R;ue=S;pe=D;fe=se;me=le;he=z?0:2;ge=z?3591:3591+(ce>>4)|0;A=67}else if((A|0)==66){A=0;de=ve;ue=ye;pe=La(ve,ye,_)|0;fe=B;me=ne;he=be;ge=we;A=67}else if((A|0)==71){A=0;z=Ua(Ee,0,ne)|0;D=(z|0)==0;ke=Ee;Me=U;Se=D?ne:z-Ee|0;Ae=0;Te=3591;Ce=D?Ee+ne|0:z}else if((A|0)==75){A=0;z=0;D=0;S=$e;while(1){R=r[S>>2]|0;if(!R){Pe=z;De=D;break}F=Ha(h,R)|0;if((F|0)<0|F>>>0>(Ie-z|0)>>>0){Pe=z;De=F;break}R=F+z|0;if(Ie>>>0>R>>>0){z=R;D=F;S=S+4|0}else{Pe=R;De=F;break}}if((De|0)<0){X=-1;break e}Ba(e,32,ee,Pe,B);if(!Pe){xe=0;A=84}else{S=0;D=$e;while(1){z=r[D>>2]|0;if(!z){xe=Pe;A=84;break t}F=Ha(h,z)|0;S=F+S|0;if((S|0)>(Pe|0)){xe=Pe;A=84;break t}Pa(e,h,F);if(S>>>0>=Pe>>>0){xe=Pe;A=84;break}else D=D+4|0}}}while(0);if((A|0)==67){A=0;U=(de|0)!=0|(ue|0)!=0;D=(me|0)!=0|U;S=((U^1)&1)+(v-pe)|0;ke=D?pe:_;Me=(me|0)>-1?fe&-65537:fe;Se=D?(me|0)>(S|0)?me:S:me;Ae=he;Te=ge;Ce=_}else if((A|0)==84){A=0;Ba(e,32,ee,xe,B^8192);b=ae;t=M;w=(ee|0)>(xe|0)?ee:xe;k=Q;continue}S=Ce-ke|0;D=(Se|0)<(S|0)?S:Se;U=D+Ae|0;F=(ee|0)<(U|0)?U:ee;Ba(e,32,F,U,Me);Pa(e,Te,Ae);Ba(e,48,F,U,Me^65536);Ba(e,48,D,S,0);Pa(e,ke,S);Ba(e,32,F,U,Me^8192);b=ae;t=M;w=F;k=Q}e:do if((A|0)==87)if(!e)if(!k)X=0;else{Q=1;while(1){w=r[s+(Q<<2)>>2]|0;if(!w){Re=Q;break}Ra(o+(Q<<3)|0,w,n);Q=Q+1|0;if((Q|0)>=10){X=1;break e}}while(1){if(r[s+(Re<<2)>>2]|0){X=-1;break e}Re=Re+1|0;if((Re|0)>=10){X=1;break}}}else X=M;while(0);m=l;return X|0}function Ia(e){e=e|0;return 0}function xa(e){e=e|0;return}function Pa(e,t,n){e=e|0;t=t|0;n=n|0;if(!(r[e>>2]&32))er(t,n,e)|0;return}function Da(e){e=e|0;var t=0,n=0,a=0,o=0,s=0;t=r[e>>2]|0;n=(i[t>>0]|0)+-48|0;if(n>>>0<10){a=t;t=0;o=n;while(1){n=o+(t*10|0)|0;a=a+1|0;r[e>>2]=a;o=(i[a>>0]|0)+-48|0;if(o>>>0>=10){s=n;break}else t=n}}else s=0;return s|0}function Ra(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,o=0,s=0,l=0;e:do if(t>>>0<=20)do switch(t|0){case 9:{i=(r[n>>2]|0)+(4-1)&~(4-1);a=r[i>>2]|0;r[n>>2]=i+4;r[e>>2]=a;break e;break}case 10:{a=(r[n>>2]|0)+(4-1)&~(4-1);i=r[a>>2]|0;r[n>>2]=a+4;a=e;r[a>>2]=i;r[a+4>>2]=((i|0)<0)<<31>>31;break e;break}case 11:{i=(r[n>>2]|0)+(4-1)&~(4-1);a=r[i>>2]|0;r[n>>2]=i+4;i=e;r[i>>2]=a;r[i+4>>2]=0;break e;break}case 12:{i=(r[n>>2]|0)+(8-1)&~(8-1);a=i;o=r[a>>2]|0;s=r[a+4>>2]|0;r[n>>2]=i+8;i=e;r[i>>2]=o;r[i+4>>2]=s;break e;break}case 13:{s=(r[n>>2]|0)+(4-1)&~(4-1);i=r[s>>2]|0;r[n>>2]=s+4;s=(i&65535)<<16>>16;i=e;r[i>>2]=s;r[i+4>>2]=((s|0)<0)<<31>>31;break e;break}case 14:{s=(r[n>>2]|0)+(4-1)&~(4-1);i=r[s>>2]|0;r[n>>2]=s+4;s=e;r[s>>2]=i&65535;r[s+4>>2]=0;break e;break}case 15:{s=(r[n>>2]|0)+(4-1)&~(4-1);i=r[s>>2]|0;r[n>>2]=s+4;s=(i&255)<<24>>24;i=e;r[i>>2]=s;r[i+4>>2]=((s|0)<0)<<31>>31;break e;break}case 16:{s=(r[n>>2]|0)+(4-1)&~(4-1);i=r[s>>2]|0;r[n>>2]=s+4;s=e;r[s>>2]=i&255;r[s+4>>2]=0;break e;break}case 17:{s=(r[n>>2]|0)+(8-1)&~(8-1);l=+d[s>>3];r[n>>2]=s+8;d[e>>3]=l;break e;break}case 18:{s=(r[n>>2]|0)+(8-1)&~(8-1);l=+d[s>>3];r[n>>2]=s+8;d[e>>3]=l;break e;break}default:break e}while(0);while(0);return}function Oa(e,t,n,a){e=e|0;t=t|0;n=n|0;a=a|0;var r=0,s=0;if((e|0)==0&(t|0)==0)r=n;else{s=e;e=t;t=n;while(1){n=t+-1|0;i[n>>0]=o[3643+(s&15)>>0]|0|a;s=Nr(s|0,e|0,4)|0;e=P;if((s|0)==0&(e|0)==0){r=n;break}else t=n}}return r|0}function Na(e,t,n){e=e|0;t=t|0;n=n|0;var a=0,r=0;if((e|0)==0&(t|0)==0)a=n;else{r=e;e=t;t=n;while(1){n=t+-1|0;i[n>>0]=r&7|48;r=Nr(r|0,e|0,3)|0;e=P;if((r|0)==0&(e|0)==0){a=n;break}else t=n}}return a|0}function La(e,t,n){e=e|0;t=t|0;n=n|0;var a=0,r=0,o=0,s=0,l=0,c=0;if(t>>>0>0|(t|0)==0&e>>>0>4294967295){a=e;r=t;t=n;while(1){o=Gr(a|0,r|0,10,0)|0;t=t+-1|0;i[t>>0]=o&255|48;o=a;a=Hr(a|0,r|0,10,0)|0;if(!(r>>>0>9|(r|0)==9&o>>>0>4294967295))break;else r=P}s=t;l=a}else{s=n;l=e}if(!l)c=s;else{e=s;s=l;while(1){l=e+-1|0;i[l>>0]=(s>>>0)%10|0|48;if(s>>>0<10){c=l;break}else{e=l;s=(s>>>0)/10|0}}}return c|0}function Fa(e){e=e|0;return Ya(e,r[(Ka()|0)+188>>2]|0)|0}function Ua(e,t,n){e=e|0;t=t|0;n=n|0;var a=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,m=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0;a=t&255;o=(n|0)!=0;e:do if(o&(e&3|0)!=0){s=t&255;l=n;c=e;while(1){if((i[c>>0]|0)==s<<24>>24){d=l;u=c;p
Se=n;Ae=Z}}else{r[1421]=q|_;Se=ee+8|0;Ae=ee}r[Se>>2]=se;r[Ae+12>>2]=se;r[se+8>>2]=Ae;r[se+12>>2]=ee;break}ee=z>>>8;if(ee)if(z>>>0>16777215)Te=31;else{_=(ee+1048320|0)>>>16&8;q=ee<<_;ee=(q+520192|0)>>>16&4;Z=q<<ee;q=(Z+245760|0)>>>16&2;n=14-(ee|_|q)+(Z<<q>>>15)|0;Te=z>>>(n+7|0)&1|n<<1}else Te=0;n=5988+(Te<<2)|0;r[se+28>>2]=Te;r[se+20>>2]=0;r[ne>>2]=0;q=r[1422]|0;Z=1<<Te;if(!(q&Z)){r[1422]=q|Z;r[n>>2]=se;r[se+24>>2]=n;r[se+12>>2]=se;r[se+8>>2]=se;break}Z=z<<((Te|0)==31?0:25-(Te>>>1)|0);q=r[n>>2]|0;while(1){if((r[q+4>>2]&-8|0)==(z|0)){N=292;break}Ce=q+16+(Z>>>31<<2)|0;n=r[Ce>>2]|0;if(!n){N=289;break}else{Z=Z<<1;q=n}}if((N|0)==289)if(Ce>>>0<(r[1425]|0)>>>0)fe();else{r[Ce>>2]=se;r[se+24>>2]=q;r[se+12>>2]=se;r[se+8>>2]=se;break}else if((N|0)==292){Z=q+8|0;z=r[Z>>2]|0;ne=r[1425]|0;if(z>>>0>=ne>>>0&q>>>0>=ne>>>0){r[z+12>>2]=se;r[Z>>2]=se;r[se+8>>2]=z;r[se+12>>2]=q;r[se+24>>2]=0;break}else fe()}}}else{z=r[1425]|0;if((z|0)==0|ie>>>0<z>>>0)r[1425]=ie;r[1533]=ie;r[1534]=ae;r[1536]=0;r[1430]=r[1539];r[1429]=-1;z=0;do{Z=5724+(z<<1<<2)|0;r[Z+12>>2]=Z;r[Z+8>>2]=Z;z=z+1|0}while((z|0)!=32);z=ie+8|0;q=(z&7|0)==0?0:0-z&7;z=ie+q|0;Z=ae+-40-q|0;r[1427]=z;r[1424]=Z;r[z+4>>2]=Z|1;r[z+Z+4>>2]=40;r[1428]=r[1543]}while(0);ae=r[1424]|0;if(ae>>>0>x>>>0){ie=ae-x|0;r[1424]=ie;ae=r[1427]|0;se=ae+x|0;r[1427]=se;r[se+4>>2]=ie|1;r[ae+4>>2]=x|3;g=ae+8|0;m=t;return g|0}}r[(ya()|0)>>2]=12;g=0;m=t;return g|0}function Tr(e){e=e|0;var t=0,n=0,i=0,a=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,m=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,T=0,C=0,E=0,$=0,I=0,x=0,P=0;if(!e)return;t=e+-8|0;n=r[1425]|0;if(t>>>0<n>>>0)fe();i=r[e+-4>>2]|0;e=i&3;if((e|0)==1)fe();a=i&-8;o=t+a|0;e:do if(!(i&1)){s=r[t>>2]|0;if(!e)return;l=t+(0-s)|0;c=s+a|0;if(l>>>0<n>>>0)fe();if((l|0)==(r[1426]|0)){d=o+4|0;u=r[d>>2]|0;if((u&3|0)!=3){p=l;f=l;m=c;break}r[1423]=c;r[d>>2]=u&-2;r[l+4>>2]=c|1;r[l+c>>2]=c;return}u=s>>>3;if(s>>>0<256){s=r[l+8>>2]|0;d=r[l+12>>2]|0;h=5724+(u<<1<<2)|0;if((s|0)!=(h|0)){if(s>>>0<n>>>0)fe();if((r[s+12>>2]|0)!=(l|0))fe()}if((d|0)==(s|0)){r[1421]=r[1421]&~(1<<u);p=l;f=l;m=c;break}if((d|0)!=(h|0)){if(d>>>0<n>>>0)fe();h=d+8|0;if((r[h>>2]|0)==(l|0))g=h;else fe()}else g=d+8|0;r[s+12>>2]=d;r[g>>2]=s;p=l;f=l;m=c;break}s=r[l+24>>2]|0;d=r[l+12>>2]|0;do if((d|0)==(l|0)){h=l+16|0;u=h+4|0;_=r[u>>2]|0;if(!_){v=r[h>>2]|0;if(!v){y=0;break}else{b=v;w=h}}else{b=_;w=u}while(1){u=b+20|0;_=r[u>>2]|0;if(_|0){b=_;w=u;continue}u=b+16|0;_=r[u>>2]|0;if(!_)break;else{b=_;w=u}}if(w>>>0<n>>>0)fe();else{r[w>>2]=0;y=b;break}}else{u=r[l+8>>2]|0;if(u>>>0<n>>>0)fe();_=u+12|0;if((r[_>>2]|0)!=(l|0))fe();h=d+8|0;if((r[h>>2]|0)==(l|0)){r[_>>2]=d;r[h>>2]=u;y=d;break}else fe()}while(0);if(s){d=r[l+28>>2]|0;u=5988+(d<<2)|0;do if((l|0)==(r[u>>2]|0)){r[u>>2]=y;if(!y){r[1422]=r[1422]&~(1<<d);p=l;f=l;m=c;break e}}else if(s>>>0>=(r[1425]|0)>>>0){r[s+16+(((r[s+16>>2]|0)!=(l|0)&1)<<2)>>2]=y;if(!y){p=l;f=l;m=c;break e}else break}else fe();while(0);d=r[1425]|0;if(y>>>0<d>>>0)fe();r[y+24>>2]=s;u=l+16|0;h=r[u>>2]|0;do if(h|0)if(h>>>0<d>>>0)fe();else{r[y+16>>2]=h;r[h+24>>2]=y;break}while(0);h=r[u+4>>2]|0;if(h)if(h>>>0<(r[1425]|0)>>>0)fe();else{r[y+20>>2]=h;r[h+24>>2]=y;p=l;f=l;m=c;break}else{p=l;f=l;m=c}}else{p=l;f=l;m=c}}else{p=t;f=t;m=a}while(0);if(p>>>0>=o>>>0)fe();a=o+4|0;t=r[a>>2]|0;if(!(t&1))fe();if(!(t&2)){y=r[1426]|0;if((o|0)==(r[1427]|0)){n=(r[1424]|0)+m|0;r[1424]=n;r[1427]=f;r[f+4>>2]=n|1;if((f|0)!=(y|0))return;r[1426]=0;r[1423]=0;return}if((o|0)==(y|0)){y=(r[1423]|0)+m|0;r[1423]=y;r[1426]=p;r[f+4>>2]=y|1;r[p+y>>2]=y;return}y=(t&-8)+m|0;n=t>>>3;e:do if(t>>>0>=256){b=r[o+24>>2]|0;w=r[o+12>>2]|0;do if((w|0)==(o|0)){g=o+16|0;e=g+4|0;i=r[e>>2]|0;if(!i){h=r[g>>2]|0;if(!h){k=0;break}else{M=h;S=g}}else{M=i;S=e}while(1){e=M+20|0;i=r[e>>2]|0;if(i|0){M=i;S=e;continue}e=M+16|0;i=r[e>>2]|0;if(!i)break;else{M=i;S=e}}if(S>>>0<(r[1425]|0)>>>0)fe();else{r[S>>2]=0;k=M;break}}else{e=r[o+8>>2]|0;if(e>>>0<(r[1425]|0)>>>0)fe();i=e+12|0;if((r[i>>2]|0)!=(o|0))fe();g=w+8|0;if((r[g>>2]|0)==(o|0)){r[i>>2]=w;r[g>>2]=e;k=w;break}else fe()}while(0);if(b|0){w=r[o+28>>2]|0;c=5988+(w<<2)|0;do if((o|0)==(r[c>>2]|0)){r[c>>2]=k;if(!k){r[1422]=r[1422]&~
stringToUTF8(n,a,i);var r=_malloc(4),o=t(a,0,0,r);if(0===getValue(r,"i32")&&o)return Pointer_stringify(o)}catch(s){}finally{a&&_free(a),r&&_free(r),o&&_free(o)}return e}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),e}function demangleAll(e){var t=/__Z[\w\d_]+/g;return e.replace(t,function(e){var t=demangle(e);return e===t?e:e+" ["+t+"]"})}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){var e=jsStackTrace();return Module.extraStackTrace&&(e+="\n"+Module.extraStackTrace()),demangleAll(e)}function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}function getTotalMemory(){return TOTAL_MEMORY}function callRuntimeCallbacks(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var n=t.func;"number"==typeof n?void 0===t.arg?Module.dynCall_v(n):Module.dynCall_vi(n,t.arg):n(void 0===t.arg?null:t.arg)}else t()}}function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,t,n){var i=n>0?n:lengthBytesUTF8(e)+1,a=new Array(i),r=stringToUTF8Array(e,a,0,a.length);return t&&(a.length=r),a}function intArrayToString(e){for(var t=[],n=0;n<e.length;n++){var i=e[n];i>255&&(i&=255),t.push(String.fromCharCode(i))}return t.join("")}function writeStringToMemory(e,t,n){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var i,a;n&&(a=t+lengthBytesUTF8(e),i=HEAP8[a]),stringToUTF8(e,t,1/0),n&&(HEAP8[a]=i)}function writeArrayToMemory(e,t){HEAP8.set(e,t)}function writeAsciiToMemory(e,t,n){for(var i=0;i<e.length;++i)HEAP8[t++>>0]=e.charCodeAt(i);n||(HEAP8[t>>0]=0)}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}}function _abort(){Module.abort()}function _emscripten_memcpy_big(e,t,n){return HEAPU8.set(HEAPU8.subarray(t,t+n),e),e}function _llvm_stackrestore(e){var t=_llvm_stacksave,n=t.LLVM_SAVEDSTACKS[e];t.LLVM_SAVEDSTACKS.splice(e,1),Runti
allocate([191,49,127,63,88,14,127,63,37,232,126,63,38,191,126,63,92,147,126,63,200,100,126,63,105,51,126,63,65,255,125,63,79,200,125,63,150,142,125,63,20,82,125,63,203,18,125,63,188,208,124,63,231,139,124,63,77,68,124,63,239,249,123,63,205,172,123,63,233,92,123,63,67,10,123,63,221,180,122,63,182,92,122,63,209,1,122,63,46,164,121,63,206,67,121,63,178,224,120,63,220,122,120,63,76,18,120,63,4,167,119,63,4,57,119,63,79,200,118,63,228,84,118,63,198,222,117,63,246,101,117,63,117,234,116,63,68,108,116,63,101,235,115,63,218,103,115,63,163,225,114,63,194,88,114,63,57,205,113,63,9,63,113,63,52,174,112,63,187,26,112,63,160,132,111,63,228,235,110,63,138,80,110,63,147,178,109,63,1,18,109,63,213,110,108,63,17,201,107,63,183,32,107,63,201,117,106,63,73,200,105,63,57,24,105,63,155,101,104,63,111,176,103,63,186,248,102,63,124,62,102,63,184,129,101,63,111,194,100,63,164,0,100,63,90,60,99,63,145,117,98,63,76,172,97,63,142,224,96,63,89,18,96,63,174,65,95,63,145,110,94,63,3,153,93,63,8,193,92,63,160,230,91,63,207,9,91,63,152,42,90,63,251,72,89,63,253,100,88,63,159,126,87,63,229,149,86,63,208,170,85,63,99,189,84,63,161,205,83,63,140,219,82,63,39,231,81,63,117,240,80,63,121,247,79,63,52,252,78,63,171,254,77,63,223,254,76,63,212,252,75,63,140,248,74,63,10,242,73,63,82,233,72,63,101,222,71,63,71,209,70,63,251,193,69,63,132,176,68,63,229,156,67,63,32,135,66,63,58,111,65,63,52,85,64,63,19,57,63,63,216,26,62,63,136,250,60,63,38,216,59,63,180,179,58,63,54,141,57,63,175,100,56,63,34,58,55,63,147,13,54,63,5,223,52,63,124,174,51,63,249,123,50,63,130,71,49,63,25,17,48,63,194,216,46,63,127,158,45,63,86,98,44,63,72,36,43,63,90,228,41,63,144,162,40,63,235,94,39,63,113,25,38,63,37,210,36,63,9,137,35,63,35,62,34,63,117,241,32,63,4,163,31,63,210,82,30,63,228,0,29,63,61,173,27,63,225,87,26,63,211,0,25,63,25,168,23,63,180,77,22,63,170,241,20,63,253,147,19,63,178,52,18,63,204,211,16,63,80,113,15,63,66,13,14,63,164,167,12,63,124,64,11,63,205,215,9,63,154,109,8,63,233,1,7,63,189,148,5,63,25,38,4,63,3,182,2,63,126,68,1,63,28,163,255,62,110,186,252,62,250,206,249,62,202,224,246,62,228,239,243,62,81,252,240,62,26,6,238,62,71,13,235,62,224,17,232,62,237,19,229,62,119,19,226,62,135,16,223,62,36,11,220,62,88,3,217,62,42,249,213,62,164,236,210,62,205,221,207,62,175,204,204,62,82,185,201,62,191,163,198,62,254,139,195,62,24,114,192,62,22,86,189,62,0,56,186,62,224,23,183,62,189,245,179,62,161,209,176,62,149,171,173,62,162,131,170,62,207,89,167,62,39,46,164,62,178,0,161,62,121,209,157,62,133,160,154,62,223,109,151,62,143,57,148,62,160,3,145,62,26,204,141,62,5,147,138,62,107,88,135,62,86,28,132,62,205,222,128,62,182,63,123,62,16,191,116,62,187,59,110,62,201,181,103,62,77,45,97,62,89,162,90,62,255,20,84,62,81,133,77,62,99,243,70,62,70,95,64,62,13,201,57,62,202,48,51,62,144,150,44,62,114,250,37,62,130,92,31,62,210,188,24,62,118,27,18,62,127,120,11,62,1,212,4,62,29,92,252,61,114,13,239,61,41,188,225,61,102,104,212,61,78,18,199,61,8,186,185,61,184,95,172,61,132,3,159,61,146,165,145,61,7,70,132,61,18,202,109,61,122,5,83,61,145,62,56,61,164,117,29,61,252,170,2,61,202,189,207,60,86,35,154,60,97,14,73,60,197,167,187,59,61,122,86,186,9,70,241,187,18,221,99,188,80,138,167,188,65,36,221,188,227,93,9,189,35,40,36,189,150,240,62,189,242,182,89,189,234,122,116,189,26,158,135,189,66,253,148,189,200,90,162,189,134,182,175,189,87,16,189,189,22,104,202,189,155,189,215,189,195,16,229,189,105,97,242,189,101,175,255,189,74,125,6,190,104,33,13,190,250,195,19,190,237,100,26,190,46,4,33,190,172,161,39,190,83,61,46,190,16,215,52,190,210,110,59,190,134,4,66,190,25,152,72,190,121,41,79,190,148,184,85,190,86,69,92,190,174,207,98,190,137,87,105,190,214,220,111,190,128,95,118,190,120,223,124,190,84,174,129,190,129,235,132,190,56,39,136,190,114,97,139,190,36,154,142,190,69,209,145,190,205,6,149,190,179,58,152,190,238,108,155,190,116,157,158,190,61,204,161,190,64,249,164,190,115,36,168,190,207,77,171,190,73,117,174,190,218,154,177,190,120,190,180,190,27,224,183,190,186,255,186,190,75,29,190,190,199,56,193,190,37,82,196,190,91,105,199,190,97,126,202,190,48,145,205,190,188,161,208,190,0,176,211,190,241,187,2
allocate([95,1,191,1,95,0,191,0,31,1,127,1,223,1,184,126,154,121,154,121,102,102,184,126,51,115,210,6,138,58,171,152,198,26,169,100,246,216,0,255,0,255,0,255,0,255,0,255,0,254,1,0,1,255,0,254,0,253,2,0,1,255,0,254,0,253,3,0,1,255,224,112,44,15,3,2,1,0,254,237,192,132,70,23,4,0,255,252,226,155,61,11,2,0,250,245,234,203,71,50,42,38,35,33,31,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,179,99,0,71,56,43,30,21,12,6,0,199,165,144,124,109,96,84,71,61,51,42,32,23,15,8,0,241,225,211,199,187,175,164,153,142,132,123,114,105,96,88,80,72,64,57,50,44,38,33,29,24,20,16,12,9,5,2,0,4,6,24,7,5,0,0,2,0,0,12,28,41,13,252,247,15,42,25,14,1,254,62,41,247,246,37,65,252,3,250,4,66,7,248,16,14,38,253,33,13,22,39,23,12,255,36,64,27,250,249,10,55,43,17,1,1,8,1,1,6,245,74,53,247,244,55,76,244,8,253,3,93,27,252,26,39,59,3,248,2,0,77,11,9,248,22,44,250,7,40,9,26,3,9,249,20,101,249,4,3,248,42,26,0,241,33,68,2,23,254,55,46,254,15,3,255,21,16,41,250,27,61,39,5,245,42,88,4,1,254,60,65,6,252,255,251,73,56,1,247,19,94,29,247,0,12,99,6,4,8,237,102,46,243,3,2,13,3,2,9,235,84,72,238,245,46,104,234,8,18,38,48,23,0,240,70,83,235,11,5,245,117,22,248,250,23,117,244,3,3,248,95,28,4,246,15,77,60,241,255,4,124,2,252,3,38,84,24,231,2,13,42,13,31,21,252,56,46,255,255,35,79,243,19,249,65,88,247,242,20,4,81,49,227,20,0,75,3,239,5,247,44,92,248,1,253,22,69,31,250,95,41,244,5,39,67,16,252,1,0,250,120,55,220,243,44,122,4,232,81,5,11,3,7,2,0,9,10,88,12,35,60,83,108,132,157,180,206,228,15,32,55,77,101,125,151,175,201,225,19,42,66,89,114,137,162,184,209,230,12,25,50,72,97,120,147,172,200,223,26,44,69,90,114,135,159,180,205,225,13,22,53,80,106,130,156,180,205,228,15,25,44,64,90,115,142,168,196,222,19,24,62,82,100,120,145,168,190,214,22,31,50,79,103,120,151,170,203,227,21,29,45,65,106,124,150,171,196,224,30,49,75,97,121,142,165,186,209,229,19,25,52,70,93,116,143,166,192,219,26,34,62,75,97,118,145,167,194,217,25,33,56,70,91,113,143,165,196,223,21,34,51,72,97,117,145,171,196,222,20,29,50,67,90,117,144,168,197,221,22,31,48,66,95,117,146,168,196,222,24,33,51,77,116,134,158,180,200,224,21,28,70,87,106,124,149,170,194,217,26,33,53,64,83,117,152,173,204,225,27,34,65,95,108,129,155,174,210,225,20,26,72,99,113,131,154,176,200,219,34,43,61,78,93,114,155,177,205,229,23,29,54,97,124,138,163,179,209,229,30,38,56,89,118,129,158,178,200,231,21,29,49,63,85,111,142,163,193,222,27,48,77,103,133,158,179,196,215,232,29,47,74,99,124,151,176,198,220,237,33,42,61,76,93,121,155,174,207,225,29,53,87,112,136,154,170,188,208,227,24,30,52,84,131,150,166,186,203,229,37,48,64,84,104,118,156,177,201,230,212,178,148,129,108,96,85,82,79,77,61,59,57,56,51,49,48,45,42,41,40,38,36,34,31,30,21,12,10,3,1,0,255,245,244,236,233,225,217,203,190,176,175,161,149,136,125,114,102,91,81,71,60,52,43,35,28,20,19,18,12,11,5,0,179,138,140,148,151,149,153,151,163,116,67,82,59,92,72,100,89,92,16,0,0,0,0,99,66,36,36,34,36,34,34,34,34,83,69,36,52,34,116,102,70,68,68,176,102,68,68,34,65,85,68,84,36,116,141,152,139,170,132,187,184,216,137,132,249,168,185,139,104,102,100,68,68,178,218,185,185,170,244,216,187,187,170,244,187,187,219,138,103,155,184,185,137,116,183,155,152,136,132,217,184,184,170,164,217,171,155,139,244,169,184,185,170,164,216,223,218,138,214,143,188,218,168,244,141,136,155,170,168,138,220,219,139,164,219,202,216,137,168,186,246,185,139,116,185,219,185,138,100,100,134,100,102,34,68,68,100,68,168,203,221,218,168,167,154,136,104,70,164,246,171,137,139,137,155,218,219,139,255,254,253,238,14,3,2,1,0,255,254,252,218,35,3,2,1,0,255,254,250,208,59,4,2,1,0,255,254,246,194,71,10,2,1,0,255,252,236,183,82,8,2,1,0,255,252,235,180,90,17,2,1,0,255,248,224,171,97,30,4,1,0,255,254,236,173,95,37,7,1,0,255,255,255,131,6,145,255,255,255,255,255,236,93,15,96,255,255,255,255,255,194,83,25,71,221,255,255,255,255,162,73,34,66,162,255,255,255,210,126,73,43,57,173,255,255,255,201,125,71,48,58,130,255,255,255,166,110,73,57,62,104,210,255,255,251,123,65,55,68,100,171,255,7,23,38,54,69,85,100,116,131,147,162,178,193,208,223,239,13,25,41,55,69,83,98,112,127,142,157,171,187,203,220,236,15,21,34,51,61,78,92,106,1
V=r[g>>2]|0;m=h;return V|0}if((r[B>>2]|0)>0)r[D>>2]=r[B>>2];do if((r[T>>2]|0)!=0&(r[k>>2]|0)!=0){if((r[D>>2]|0)==0?!((r[$>>2]&1|0)==0&(r[B>>2]|0)<0|(r[x>>2]|0)>1):0)break;La(r[T>>2]|0,r[k>>2]|0,(r[y>>2]<<2)+0|0)|0;r[k>>2]=r[T>>2]}while(0);r[F>>2]=0;while(1){if((r[F>>2]|0)>=(r[D>>2]|0))break;if(r[U>>2]|0)Se(r[v>>2]|0,r[y>>2]>>r[F>>2],1<<r[F>>2]);if(r[k>>2]|0)Se(r[k>>2]|0,r[y>>2]>>r[F>>2],1<<r[F>>2]);r[C>>2]=o[23948+(r[C>>2]&15)>>0]|0|(o[23948+(r[C>>2]>>4)>>0]|0)<<2;r[F>>2]=(r[F>>2]|0)+1}r[w>>2]=r[w>>2]>>r[D>>2];r[$>>2]=r[$>>2]<<r[D>>2];while(1){if(!((r[$>>2]&1|0)==0?(r[B>>2]|0)<0:0))break;if(r[U>>2]|0)Se(r[v>>2]|0,r[$>>2]|0,r[w>>2]|0);if(r[k>>2]|0)Se(r[k>>2]|0,r[$>>2]|0,r[w>>2]|0);r[C>>2]=r[C>>2]|r[C>>2]<<r[w>>2];r[w>>2]=r[w>>2]<<1;r[$>>2]=r[$>>2]>>1;r[P>>2]=(r[P>>2]|0)+1;r[B>>2]=(r[B>>2]|0)+1}r[x>>2]=r[w>>2];r[I>>2]=r[$>>2];if((r[x>>2]|0)>1){if(r[U>>2]|0)rt(r[v>>2]|0,r[$>>2]>>r[D>>2],r[x>>2]<<r[D>>2],r[O>>2]|0);if(r[k>>2]|0)rt(r[k>>2]|0,r[$>>2]>>r[D>>2],r[x>>2]<<r[D>>2],r[O>>2]|0)}r[N>>2]=ot(r[_>>2]|0,r[v>>2]|0,r[y>>2]|0,r[b>>2]|0,r[w>>2]|0,r[k>>2]|0,r[M>>2]|0,+c[A>>2],r[C>>2]|0)|0;if(r[L>>2]|0){if((r[x>>2]|0)>1)st(r[v>>2]|0,r[$>>2]>>r[D>>2],r[x>>2]<<r[D>>2],r[O>>2]|0);r[$>>2]=r[I>>2];r[w>>2]=r[x>>2];r[F>>2]=0;while(1){if((r[F>>2]|0)>=(r[P>>2]|0))break;r[w>>2]=r[w>>2]>>1;r[$>>2]=r[$>>2]<<1;r[N>>2]=r[N>>2]|(r[N>>2]|0)>>>(r[w>>2]|0);Se(r[v>>2]|0,r[$>>2]|0,r[w>>2]|0);r[F>>2]=(r[F>>2]|0)+1}r[F>>2]=0;while(1){if((r[F>>2]|0)>=(r[D>>2]|0))break;r[N>>2]=o[23964+(r[N>>2]|0)>>0];Se(r[v>>2]|0,r[E>>2]>>r[F>>2],1<<r[F>>2]);r[F>>2]=(r[F>>2]|0)+1}r[w>>2]=r[w>>2]<<r[D>>2];e:do if(r[S>>2]|0){c[j>>2]=+R(+ +(r[E>>2]|0));r[H>>2]=0;while(1){if((r[H>>2]|0)>=(r[E>>2]|0))break e;c[(r[S>>2]|0)+(r[H>>2]<<2)>>2]=+c[j>>2]*+c[(r[v>>2]|0)+(r[H>>2]<<2)>>2];r[H>>2]=(r[H>>2]|0)+1}}while(0);r[N>>2]=r[N>>2]&(1<<r[w>>2])-1}r[g>>2]=r[N>>2];V=r[g>>2]|0;m=h;return V|0}function $e(e,t,n,i,a,o,s,l,d,u,p){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;o=o|0;s=s|0;l=l|0;d=d|0;u=u|0;p=p|0;var f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,T=0,C=0,E=0,$=0,I=0,x=0,P=0,D=0,R=0,O=0,N=0,L=0,F=0,U=0,B=0,H=0,j=0,V=0,q=0,z=0,W=0,G=0,K=0,Y=0,X=0,J=0,Z=0;f=m;m=m+160|0;h=f+156|0;g=f+152|0;_=f+148|0;v=f+144|0;y=f+140|0;b=f+136|0;w=f+132|0;k=f+128|0;M=f+124|0;S=f+120|0;A=f+116|0;T=f+112|0;C=f+108|0;E=f+104|0;$=f+100|0;I=f+96|0;x=f+92|0;P=f+88|0;D=f+84|0;R=f+80|0;O=f+76|0;N=f+72|0;L=f+68|0;F=f+64|0;U=f+40|0;B=f+36|0;H=f+32|0;j=f+28|0;V=f+24|0;q=f+20|0;z=f+16|0;W=f+12|0;G=f+8|0;K=f+4|0;Y=f;r[g>>2]=e;r[_>>2]=t;r[v>>2]=n;r[y>>2]=i;r[b>>2]=a;r[w>>2]=o;r[k>>2]=s;r[M>>2]=l;r[S>>2]=d;r[A>>2]=u;r[T>>2]=p;r[C>>2]=0;r[E>>2]=0;r[$>>2]=0;c[I>>2]=0;c[x>>2]=0;r[P>>2]=0;r[D>>2]=((r[r[g>>2]>>2]|0)!=0^1)&1;r[H>>2]=r[r[g>>2]>>2];r[j>>2]=r[(r[g>>2]|0)+24>>2];if((r[y>>2]|0)==1){r[h>>2]=Ie(r[g>>2]|0,r[_>>2]|0,r[v>>2]|0,r[b>>2]|0,r[S>>2]|0)|0;X=r[h>>2]|0;m=f;return X|0}r[B>>2]=r[T>>2];xe(r[g>>2]|0,U,r[_>>2]|0,r[v>>2]|0,r[y>>2]|0,b,r[w>>2]|0,r[w>>2]|0,r[M>>2]|0,1,T);r[$>>2]=r[U>>2];r[C>>2]=r[U+4>>2];r[E>>2]=r[U+8>>2];r[N>>2]=r[U+12>>2];r[L>>2]=r[U+16>>2];r[F>>2]=r[U+20>>2];c[I>>2]=+(r[C>>2]|0)*30517578125e-15;c[x>>2]=+(r[E>>2]|0)*30517578125e-15;do if((r[y>>2]|0)==2){r[q>>2]=0;r[R>>2]=r[b>>2];r[O>>2]=0;r[O>>2]=(r[L>>2]|0)!=0&(r[L>>2]|0)!=16384?8:0;r[R>>2]=(r[R>>2]|0)-(r[O>>2]|0);r[V>>2]=(r[L>>2]|0)>8192&1;E=(r[g>>2]|0)+28|0;r[E>>2]=(r[E>>2]|0)-((r[F>>2]|0)+(r[O>>2]|0));r[z>>2]=r[V>>2]|0?r[v>>2]|0:r[_>>2]|0;r[W>>2]=r[V>>2]|0?r[_>>2]|0:r[v>>2]|0;do if(r[O>>2]|0)if(r[H>>2]|0){r[q>>2]=+c[r[z>>2]>>2]*+c[(r[W>>2]|0)+4>>2]-+c[(r[z>>2]|0)+4>>2]*+c[r[W>>2]>>2]<0&1;Pe(r[j>>2]|0,r[q>>2]|0,1);break}else{r[q>>2]=De(r[j>>2]|0,1)|0;break}while(0);r[q>>2]=1-(r[q>>2]<<1);r[P>>2]=Ee(r[g>>2]|0,r[z>>2]|0,r[y>>2]|0,r[R>>2]|0,r[w>>2]|0,r[k>>2]|0,r[M>>2]|0,r[S>>2]|0,1,r[A>>2]|0,r[B>>2]|0)|0;c[r[W>>2]>>2]=+(0-(r[q>>2]|0)|0)*+c[(r[z>>2]|0)+4>>2];c[(r[W>>2]|0)+4>>2]=+(r[q>>2]|0)*+c[r[z>>2]>>2];if(r[D>>2]|0){c[r[_>>2]>>2]=+c[I>>2]*+c[r[_>>2]>>2];c[(r[_>>2]|0)+4>>2]=+c[I>>2]*+c[(r[_>>2]|0)+4>>2];c[r[v>>2]>>2]=+c[x>>2]*+c[r[v>>2]>>2];c[(r[v>>2]|0)+4>>2]=+c[x>>2]*+c[(r[v>>2]|0)+4>>2];c[G>>2]=+c[r[_>>2]>>2];c[r[_>>2]>>2]=+c[G>>2]-+c[r[v>>2]>>2];
c[n+(d+(r[u>>2]|0)<<2)>>2]=+c[(r[o>>2]|0)+(g+(r[p>>2]|0)<<2)>>2];r[p>>2]=(r[p>>2]|0)+1}r[u>>2]=(r[u>>2]|0)+1}_=r[o>>2]|0;v=r[f>>2]|0;y=v<<2;b=r[o>>2]|0;w=b;k=n;M=w-k|0;S=(M|0)/4|0;A=0;T=y+A|0;La(_|0,n|0,T|0)|0;C=r[h>>2]|0;ce(C|0);m=a;return}}function lt(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0;s=m;m=m+48|0;l=s+36|0;c=s+32|0;d=s+28|0;u=s+24|0;p=s+20|0;f=s+16|0;h=s+12|0;g=s+8|0;_=s+4|0;v=s;r[c>>2]=e;r[d>>2]=t;r[u>>2]=n;r[p>>2]=i;r[u>>2]=(r[u>>2]|0)+1;i=W(r[u>>2]|0,r[(r[c>>2]|0)+8>>2]|0)|0;r[_>>2]=(r[(r[c>>2]|0)+92+8>>2]|0)+(a[(r[(r[c>>2]|0)+92+4>>2]|0)+(i+(r[d>>2]|0)<<1)>>1]|0);r[h>>2]=0;r[g>>2]=o[r[_>>2]>>0];r[p>>2]=(r[p>>2]|0)+-1;r[f>>2]=0;while(1){if((r[f>>2]|0)>=6)break;r[v>>2]=(r[h>>2]|0)+(r[g>>2]|0)+1>>1;d=r[v>>2]|0;if((o[(r[_>>2]|0)+(r[v>>2]|0)>>0]|0)>=(r[p>>2]|0))r[g>>2]=d;else r[h>>2]=d;r[f>>2]=(r[f>>2]|0)+1}if(!(r[h>>2]|0))y=-1;else y=o[(r[_>>2]|0)+(r[h>>2]|0)>>0]|0;if(((r[p>>2]|0)-y|0)<=((o[(r[_>>2]|0)+(r[g>>2]|0)>>0]|0)-(r[p>>2]|0)|0)){r[l>>2]=r[h>>2];b=r[l>>2]|0;m=s;return b|0}else{r[l>>2]=r[g>>2];b=r[l>>2]|0;m=s;return b|0}return 0}function ct(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,l=0,c=0,d=0,u=0,p=0,f=0;s=m;m=m+32|0;l=s+16|0;c=s+12|0;d=s+8|0;u=s+4|0;p=s;r[l>>2]=e;r[c>>2]=t;r[d>>2]=n;r[u>>2]=i;r[d>>2]=(r[d>>2]|0)+1;i=W(r[d>>2]|0,r[(r[l>>2]|0)+8>>2]|0)|0;r[p>>2]=(r[(r[l>>2]|0)+92+8>>2]|0)+(a[(r[(r[l>>2]|0)+92+4>>2]|0)+(i+(r[c>>2]|0)<<1)>>1]|0);if(!(r[u>>2]|0)){f=0;m=s;return f|0}f=(o[(r[p>>2]|0)+(r[u>>2]|0)>>0]|0)+1|0;m=s;return f|0}function dt(e){e=e|0;var t=0,n=0,i=0;t=m;m=m+16|0;n=t;r[n>>2]=e;e=r[n>>2]|0;if((r[n>>2]|0)<8){i=e;m=t;return i|0}i=8+(e&7)<<(r[n>>2]>>3)-1;m=t;return i|0}function ut(e,t,n,i,a,o){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;o=o|0;var s=0,l=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,T=0,C=0,E=0,$=0,I=0,x=0;s=m;m=m+96|0;l=s+84|0;d=s+80|0;u=s+76|0;p=s+72|0;f=s+68|0;h=s+64|0;g=s+60|0;_=s+56|0;v=s+52|0;y=s+48|0;b=s+44|0;w=s+40|0;k=s+36|0;M=s+32|0;S=s+28|0;A=s+24|0;T=s+20|0;C=s+16|0;E=s+12|0;$=s+8|0;I=s+4|0;x=s;r[l>>2]=e;r[d>>2]=t;r[u>>2]=n;r[p>>2]=i;r[f>>2]=a;r[h>>2]=o;o=r[d>>2]|0;r[S>>2]=oe()|0;a=m;m=m+((1*(o<<2)|0)+15&-16)|0;o=m;m=m+((1*(r[d>>2]<<2)|0)+15&-16)|0;i=m;m=m+((1*(r[d>>2]<<2)|0)+15&-16)|0;ht(r[l>>2]|0,r[d>>2]|0,1,r[f>>2]|0,r[u>>2]|0,r[p>>2]|0);c[b>>2]=0;r[_>>2]=0;do{p=i+(r[_>>2]<<2)|0;if(+c[(r[l>>2]|0)+(r[_>>2]<<2)>>2]>0)c[p>>2]=1;else{c[p>>2]=-1;c[(r[l>>2]|0)+(r[_>>2]<<2)>>2]=-+c[(r[l>>2]|0)+(r[_>>2]<<2)>>2]}r[o+(r[_>>2]<<2)>>2]=0;c[a+(r[_>>2]<<2)>>2]=0;p=(r[_>>2]|0)+1|0;r[_>>2]=p}while((p|0)<(r[d>>2]|0));c[k>>2]=0;c[w>>2]=0;r[y>>2]=r[u>>2];if((r[u>>2]|0)>(r[d>>2]>>1|0)){r[_>>2]=0;do{c[b>>2]=+c[b>>2]+ +c[(r[l>>2]|0)+(r[_>>2]<<2)>>2];p=(r[_>>2]|0)+1|0;r[_>>2]=p}while((p|0)<(r[d>>2]|0));if(!(+c[b>>2]>1.0000000036274937e-15&+c[b>>2]<64)){c[r[l>>2]>>2]=1;r[_>>2]=1;do{c[(r[l>>2]|0)+(r[_>>2]<<2)>>2]=0;p=(r[_>>2]|0)+1|0;r[_>>2]=p}while((p|0)<(r[d>>2]|0));c[b>>2]=1}c[A>>2]=+((r[u>>2]|0)-1|0)*(1/+c[b>>2]);r[_>>2]=0;do{b=~~+P(+(+c[A>>2]*+c[(r[l>>2]|0)+(r[_>>2]<<2)>>2]));r[o+(r[_>>2]<<2)>>2]=b;c[a+(r[_>>2]<<2)>>2]=+(r[o+(r[_>>2]<<2)>>2]|0);c[k>>2]=+c[k>>2]+ +c[a+(r[_>>2]<<2)>>2]*+c[a+(r[_>>2]<<2)>>2];c[w>>2]=+c[w>>2]+ +c[(r[l>>2]|0)+(r[_>>2]<<2)>>2]*+c[a+(r[_>>2]<<2)>>2];b=a+(r[_>>2]<<2)|0;c[b>>2]=+c[b>>2]*2;r[y>>2]=(r[y>>2]|0)-(r[o+(r[_>>2]<<2)>>2]|0);b=(r[_>>2]|0)+1|0;r[_>>2]=b}while((b|0)<(r[d>>2]|0))}if((r[y>>2]|0)>((r[d>>2]|0)+3|0)){c[T>>2]=+(r[y>>2]|0);c[k>>2]=+c[k>>2]+ +c[T>>2]*+c[T>>2];c[k>>2]=+c[k>>2]+ +c[T>>2]*+c[a>>2];r[o>>2]=(r[o>>2]|0)+(r[y>>2]|0);r[y>>2]=0}c[v>>2]=1;r[g>>2]=0;while(1){if((r[g>>2]|0)>=(r[y>>2]|0))break;c[E>>2]=-999999986991104;c[$>>2]=0;r[C>>2]=0;c[k>>2]=+c[k>>2]+1;r[_>>2]=0;do{c[I>>2]=+c[w>>2]+ +c[(r[l>>2]|0)+(r[_>>2]<<2)>>2];c[x>>2]=+c[k>>2]+ +c[a+(r[_>>2]<<2)>>2];c[I>>2]=+c[I>>2]*+c[I>>2];if(+c[$>>2]*+c[I>>2]>+c[x>>2]*+c[E>>2]){c[$>>2]=+c[x>>2];c[E>>2]=+c[I>>2];r[C>>2]=r[_>>2]}T=(r[_>>2]|0)+1|0;r[_>>2]=T}while((T|0)<(r[d>>2]|0));c[w>>2]=+c[w>>2]+ +c[(r[l>>2]|0)+(r[C>>2]<<2)>>2];c[k>>2]=+c[k>>2]+ +c[a+(r[C>>2]<<2)>>2];T=a+(r[C>>2]<<2)|0;c[T>>2]=+c[T>>2]+ +c[v>>2]*2;T=o+(r[C>>2]<<2)|0;r[T>>2]=(r[T>
r[ae>>2]=(r[ae>>2]|0)+1}m=E;return r[se>>2]|0}function $t(e,t){e=e|0;t=t|0;var n=0,i=0,a=0;n=m;m=m+16|0;i=n+4|0;a=n;r[i>>2]=e;r[a>>2]=t;m=n;return((r[i>>2]|0)>>>0)/((r[a>>2]|0)>>>0)|0|0}function It(e){e=e|0;var t=0,n=0;t=m;m=m+16|0;n=t;r[n>>2]=e;e=(r[(r[n>>2]|0)+20>>2]|0)-(32-(Y(r[(r[n>>2]|0)+28>>2]|0)|0))|0;m=t;return e|0}function xt(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0;n=m;m=m+16|0;i=n+8|0;a=n+4|0;o=n;r[i>>2]=e;r[a>>2]=t;r[o>>2]=32736-(r[i>>2]|0);i=(W(r[o>>2]|0,16384-(r[a>>2]|0)|0)|0)>>>15;m=n;return i|0}function Pt(e,t){e=e|0;t=t|0;var n=0,i=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0;n=m;m=m+64|0;i=n+60|0;o=n+56|0;s=n+52|0;l=n+48|0;c=n+44|0;d=n+40|0;u=n+8|0;p=n+4|0;f=n;r[i>>2]=e;r[o>>2]=t;if((r[(r[i>>2]|0)+8>>2]|0)>0)h=r[(r[i>>2]|0)+8>>2]|0;else h=0;r[f>>2]=h;r[u>>2]=1;r[d>>2]=0;do{r[c>>2]=a[(r[i>>2]|0)+12+(r[d>>2]<<1<<1)>>1];r[l>>2]=a[(r[i>>2]|0)+12+((r[d>>2]<<1)+1<<1)>>1];h=W(r[u+(r[d>>2]<<2)>>2]|0,r[c>>2]|0)|0;r[u+((r[d>>2]|0)+1<<2)>>2]=h;r[d>>2]=(r[d>>2]|0)+1}while((r[l>>2]|0)!=1);r[l>>2]=a[(r[i>>2]|0)+12+((r[d>>2]<<1)-1<<1)>>1];r[p>>2]=(r[d>>2]|0)-1;while(1){if((r[p>>2]|0)<0)break;if(r[p>>2]|0)r[s>>2]=a[(r[i>>2]|0)+12+((r[p>>2]<<1)-1<<1)>>1];else r[s>>2]=1;switch(a[(r[i>>2]|0)+12+(r[p>>2]<<1<<1)>>1]|0){case 2:{Dt(r[o>>2]|0,r[l>>2]|0,r[u+(r[p>>2]<<2)>>2]|0);break}case 4:{Rt(r[o>>2]|0,r[u+(r[p>>2]<<2)>>2]<<r[f>>2],r[i>>2]|0,r[l>>2]|0,r[u+(r[p>>2]<<2)>>2]|0,r[s>>2]|0);break}case 3:{Ot(r[o>>2]|0,r[u+(r[p>>2]<<2)>>2]<<r[f>>2],r[i>>2]|0,r[l>>2]|0,r[u+(r[p>>2]<<2)>>2]|0,r[s>>2]|0);break}case 5:{Nt(r[o>>2]|0,r[u+(r[p>>2]<<2)>>2]<<r[f>>2],r[i>>2]|0,r[l>>2]|0,r[u+(r[p>>2]<<2)>>2]|0,r[s>>2]|0);break}default:{}}r[l>>2]=r[s>>2];r[p>>2]=(r[p>>2]|0)+-1}m=n;return}function Dt(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,o=0,s=0,l=0,d=0,u=0;i=m;m=m+32|0;a=i+28|0;o=i+20|0;s=i+16|0;l=i+12|0;d=i+8|0;u=i;r[a>>2]=e;r[i+24>>2]=t;r[o>>2]=n;c[d>>2]=.7071067690849304;r[l>>2]=0;while(1){if((r[l>>2]|0)>=(r[o>>2]|0))break;r[s>>2]=(r[a>>2]|0)+32;n=r[s>>2]|0;r[u>>2]=r[n>>2];r[u+4>>2]=r[n+4>>2];c[r[s>>2]>>2]=+c[r[a>>2]>>2]-+c[u>>2];c[(r[s>>2]|0)+4>>2]=+c[(r[a>>2]|0)+4>>2]-+c[u+4>>2];n=r[a>>2]|0;c[n>>2]=+c[n>>2]+ +c[u>>2];n=(r[a>>2]|0)+4|0;c[n>>2]=+c[n>>2]+ +c[u+4>>2];c[u>>2]=(+c[(r[s>>2]|0)+8>>2]+ +c[(r[s>>2]|0)+8+4>>2])*+c[d>>2];c[u+4>>2]=(+c[(r[s>>2]|0)+8+4>>2]-+c[(r[s>>2]|0)+8>>2])*+c[d>>2];c[(r[s>>2]|0)+8>>2]=+c[(r[a>>2]|0)+8>>2]-+c[u>>2];c[(r[s>>2]|0)+8+4>>2]=+c[(r[a>>2]|0)+8+4>>2]-+c[u+4>>2];n=(r[a>>2]|0)+8|0;c[n>>2]=+c[n>>2]+ +c[u>>2];n=(r[a>>2]|0)+8+4|0;c[n>>2]=+c[n>>2]+ +c[u+4>>2];c[u>>2]=+c[(r[s>>2]|0)+16+4>>2];c[u+4>>2]=-+c[(r[s>>2]|0)+16>>2];c[(r[s>>2]|0)+16>>2]=+c[(r[a>>2]|0)+16>>2]-+c[u>>2];c[(r[s>>2]|0)+16+4>>2]=+c[(r[a>>2]|0)+16+4>>2]-+c[u+4>>2];n=(r[a>>2]|0)+16|0;c[n>>2]=+c[n>>2]+ +c[u>>2];n=(r[a>>2]|0)+16+4|0;c[n>>2]=+c[n>>2]+ +c[u+4>>2];c[u>>2]=(+c[(r[s>>2]|0)+24+4>>2]-+c[(r[s>>2]|0)+24>>2])*+c[d>>2];c[u+4>>2]=(-+c[(r[s>>2]|0)+24+4>>2]-+c[(r[s>>2]|0)+24>>2])*+c[d>>2];c[(r[s>>2]|0)+24>>2]=+c[(r[a>>2]|0)+24>>2]-+c[u>>2];c[(r[s>>2]|0)+24+4>>2]=+c[(r[a>>2]|0)+24+4>>2]-+c[u+4>>2];n=(r[a>>2]|0)+24|0;c[n>>2]=+c[n>>2]+ +c[u>>2];n=(r[a>>2]|0)+24+4|0;c[n>>2]=+c[n>>2]+ +c[u+4>>2];r[a>>2]=(r[a>>2]|0)+64;r[l>>2]=(r[l>>2]|0)+1}m=i;return}function Rt(e,t,n,i,a,o){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;o=o|0;var s=0,l=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,T=0;s=m;m=m+128|0;l=s+120|0;d=s+116|0;u=s+112|0;p=s+108|0;f=s+104|0;h=s+100|0;g=s+96|0;_=s+88|0;v=s+80|0;y=s+72|0;b=s+24|0;w=s+20|0;k=s+16|0;M=s+12|0;S=s+8|0;A=s+4|0;T=s;r[l>>2]=e;r[d>>2]=t;r[u>>2]=n;r[p>>2]=i;r[f>>2]=a;r[h>>2]=o;if((r[p>>2]|0)==1){r[g>>2]=0;while(1){if((r[g>>2]|0)>=(r[f>>2]|0))break;c[_>>2]=+c[r[l>>2]>>2]-+c[(r[l>>2]|0)+16>>2];c[_+4>>2]=+c[(r[l>>2]|0)+4>>2]-+c[(r[l>>2]|0)+16+4>>2];o=r[l>>2]|0;c[o>>2]=+c[o>>2]+ +c[(r[l>>2]|0)+16>>2];o=(r[l>>2]|0)+4|0;c[o>>2]=+c[o>>2]+ +c[(r[l>>2]|0)+16+4>>2];c[v>>2]=+c[(r[l>>2]|0)+8>>2]+ +c[(r[l>>2]|0)+24>>2];c[v+4>>2]=+c[(r[l>>2]|0)+8+4>>2]+ +c[(r[l>>2]|0)+24+4>>2];c[(r[l>>2]|0)+16>>2]=+c[r[l>>2]>>2]-+c[v>>2];c[(r[l>>2]|0)+16+4>>2]=+c[(r[l>>2]|0)+4>>2]-+c[v+4>>2];o=r[l>>2]|0;c[o>>2]=+c[o>>2]+ +c[v>>2];o=(r[l>>2]|0)+4|0;c[o>>2]=+c[o>>2]+
r[q>>2]=0;r[Q>>2]=0;if((r[U>>2]|0)==0?((r[J>>2]|0)+16|0)<=(r[Y>>2]|0):0){if(Ye(r[v>>2]|0,1)|0){r[ue>>2]=qe(r[v>>2]|0,6)|0;A=16<<r[ue>>2];r[q>>2]=A+(De(r[v>>2]|0,4+(r[ue>>2]|0)|0)|0)-1;r[de>>2]=De(r[v>>2]|0,3)|0;ue=(nn(r[v>>2]|0)|0)+2|0;if((ue|0)<=(r[Y>>2]|0))r[Q>>2]=an(r[v>>2]|0,25134,2)|0;c[z>>2]=+((r[de>>2]|0)+1|0)*.09375}r[J>>2]=nn(r[v>>2]|0)|0}if((r[L>>2]|0)>0?((r[J>>2]|0)+3|0)<=(r[Y>>2]|0):0){r[R>>2]=Ye(r[v>>2]|0,3)|0;r[J>>2]=nn(r[v>>2]|0)|0}else r[R>>2]=0;if(r[R>>2]|0)r[D>>2]=r[F>>2];else r[D>>2]=0;if(((r[J>>2]|0)+3|0)<=(r[Y>>2]|0))ke=Ye(r[v>>2]|0,3)|0;else ke=0;r[O>>2]=ke;rn(r[ae>>2]|0,r[U>>2]|0,r[B>>2]|0,r[$>>2]|0,r[O>>2]|0,r[v>>2]|0,r[ie>>2]|0,r[L>>2]|0);O=r[re>>2]|0;r[pe>>2]=oe()|0;ke=m;m=m+((1*(O<<2)|0)+15&-16)|0;on(r[U>>2]|0,r[B>>2]|0,r[R>>2]|0,ke,r[L>>2]|0,r[v>>2]|0);r[J>>2]=nn(r[v>>2]|0)|0;r[M>>2]=2;if(((r[J>>2]|0)+4|0)<=(r[Y>>2]|0))r[M>>2]=an(r[v>>2]|0,25137,5)|0;O=m;m=m+((1*(r[re>>2]<<2)|0)+15&-16)|0;At(r[ae>>2]|0,O,r[L>>2]|0,r[ie>>2]|0);de=m;m=m+((1*(r[re>>2]<<2)|0)+15&-16)|0;r[Z>>2]=6;r[Y>>2]=r[Y>>2]<<3;r[J>>2]=Te(r[v>>2]|0)|0;r[w>>2]=r[U>>2];while(1){if((r[w>>2]|0)>=(r[B>>2]|0))break;ue=W(r[ie>>2]|0,(a[(r[le>>2]|0)+((r[w>>2]|0)+1<<1)>>1]|0)-(a[(r[le>>2]|0)+(r[w>>2]<<1)>>1]|0)|0)|0;r[fe>>2]=ue<<r[L>>2];ue=r[fe>>2]|0;if((r[fe>>2]<<3|0)<((48>(r[fe>>2]|0)?48:r[fe>>2]|0)|0))Me=ue<<3;else Me=48>(ue|0)?48:r[fe>>2]|0;r[me>>2]=Me;r[he>>2]=r[Z>>2];r[ge>>2]=0;while(1){if(((r[J>>2]|0)+(r[he>>2]<<3)|0)>=(r[Y>>2]|0))break;if((r[ge>>2]|0)>=(r[O+(r[w>>2]<<2)>>2]|0))break;r[_e>>2]=Ye(r[v>>2]|0,r[he>>2]|0)|0;r[J>>2]=Te(r[v>>2]|0)|0;if(!(r[_e>>2]|0))break;r[ge>>2]=(r[ge>>2]|0)+(r[me>>2]|0);r[Y>>2]=(r[Y>>2]|0)-(r[me>>2]|0);r[he>>2]=1}r[de+(r[w>>2]<<2)>>2]=r[ge>>2];if((r[ge>>2]|0)>0)r[Z>>2]=2>((r[Z>>2]|0)-1|0)?2:(r[Z>>2]|0)-1|0;r[w>>2]=(r[w>>2]|0)+1}Z=m;m=m+((1*(r[re>>2]<<2)|0)+15&-16)|0;if(((r[J>>2]|0)+48|0)<=(r[Y>>2]|0))Se=an(r[v>>2]|0,25141,7)|0;else Se=5;r[V>>2]=Se;Se=r[h>>2]<<3<<3;r[S>>2]=Se-(Te(r[v>>2]|0)|0)-1;if((r[R>>2]|0)!=0&(r[L>>2]|0)>=2)Ce=(r[S>>2]|0)>=((r[L>>2]|0)+2<<3|0);else Ce=0;r[ee>>2]=Ce?8:0;r[S>>2]=(r[S>>2]|0)-(r[ee>>2]|0);Ce=m;m=m+((1*(r[re>>2]<<2)|0)+15&-16)|0;Se=m;m=m+((1*(r[re>>2]<<2)|0)+15&-16)|0;r[j>>2]=Ct(r[ae>>2]|0,r[U>>2]|0,r[B>>2]|0,de,O,r[V>>2]|0,G,K,r[S>>2]|0,X,Ce,Z,Se,r[ie>>2]|0,r[L>>2]|0,r[v>>2]|0,0,0,0)|0;sn(r[ae>>2]|0,r[U>>2]|0,r[B>>2]|0,r[$>>2]|0,Z,r[v>>2]|0,r[ie>>2]|0);r[b>>2]=0;do{Ba(r[T+(r[b>>2]<<2)>>2]|0,(r[T+(r[b>>2]<<2)>>2]|0)+(r[k>>2]<<2)|0,(2048-(r[k>>2]|0)+((r[se>>2]|0)/2|0)<<2)+0|0)|0;S=(r[b>>2]|0)+1|0;r[b>>2]=S}while((S|0)<(r[N>>2]|0));T=W(r[ie>>2]|0,r[re>>2]|0)|0;S=m;m=m+((1*T|0)+15&-16)|0;T=(W(r[ie>>2]|0,r[k>>2]|0)|0)<<2;V=m;m=m+((1*T|0)+15&-16)|0;Ae(0,r[ae>>2]|0,r[U>>2]|0,r[B>>2]|0,V,(r[ie>>2]|0)==2?V+(r[k>>2]<<2)|0:0,S,0,Ce,r[D>>2]|0,r[M>>2]|0,r[K>>2]|0,r[G>>2]|0,ke,(r[h>>2]<<6)-(r[ee>>2]|0)|0,r[X>>2]|0,r[v>>2]|0,r[L>>2]|0,r[j>>2]|0,(r[p>>2]|0)+36|0);if((r[ee>>2]|0)>0)r[te>>2]=De(r[v>>2]|0,1)|0;ee=r[ae>>2]|0;j=r[U>>2]|0;X=r[B>>2]|0;ke=r[$>>2]|0;G=r[h>>2]<<3;K=G-(nn(r[v>>2]|0)|0)|0;ln(ee,j,X,ke,Z,Se,K,r[v>>2]|0,r[ie>>2]|0);if(r[te>>2]|0)be(r[ae>>2]|0,V,S,r[L>>2]|0,r[ie>>2]|0,r[k>>2]|0,r[U>>2]|0,r[B>>2]|0,r[$>>2]|0,r[I>>2]|0,r[x>>2]|0,Ce,r[(r[p>>2]|0)+36>>2]|0);e:do if(r[ne>>2]|0){r[w>>2]=0;while(1){if((r[w>>2]|0)>=(W(r[ie>>2]|0,r[re>>2]|0)|0))break e;c[(r[$>>2]|0)+(r[w>>2]<<2)>>2]=-28;r[w>>2]=(r[w>>2]|0)+1}}while(0);cn(r[ae>>2]|0,V,C,r[$>>2]|0,r[U>>2]|0,r[H>>2]|0,r[ie>>2]|0,r[N>>2]|0,r[R>>2]|0,r[L>>2]|0,r[(r[p>>2]|0)+16>>2]|0,r[ne>>2]|0);r[b>>2]=0;do{if((r[(r[p>>2]|0)+52>>2]|0)>15)Ee=r[(r[p>>2]|0)+52>>2]|0;else Ee=15;r[(r[p>>2]|0)+52>>2]=Ee;if((r[(r[p>>2]|0)+56>>2]|0)>15)$e=r[(r[p>>2]|0)+56>>2]|0;else $e=15;r[(r[p>>2]|0)+56>>2]=$e;Mt(r[C+(r[b>>2]<<2)>>2]|0,r[C+(r[b>>2]<<2)>>2]|0,r[(r[p>>2]|0)+56>>2]|0,r[(r[p>>2]|0)+52>>2]|0,r[(r[ae>>2]|0)+44>>2]|0,+c[(r[p>>2]|0)+64>>2],+c[(r[p>>2]|0)+60>>2],r[(r[p>>2]|0)+72>>2]|0,r[(r[p>>2]|0)+68>>2]|0,r[(r[ae>>2]|0)+60>>2]|0,r[se>>2]|0);if(r[L>>2]|0)Mt((r[C+(r[b>>2]<<2)>>2]|0)+(r[(r[ae>>2]|0)+44>>2]<<2)|0,(r[C+(r[b>>2]<<2)>>2]|0)+(r[(r[ae>>2]|0)+44>>2]<<2)|0,r[(r[p>>2]|0)+52>>2]|0,r[q>>2]|0,(r[k>>2]|0)-(r[(r[ae>>2]|0)+44>>2]|0)|0,+c[(r[p
c[b>>2]=+c[(r[l>>2]|0)+(r[g>>2]<<2)>>2];r[_>>2]=0;while(1){if((r[_>>2]|0)>=(r[f>>2]|0))break;c[b>>2]=+c[b>>2]-+c[a+(r[_>>2]<<2)>>2]*+c[o+((r[g>>2]|0)+(r[_>>2]|0)<<2)>>2];r[_>>2]=(r[_>>2]|0)+1}c[o+((r[g>>2]|0)+(r[f>>2]|0)<<2)>>2]=+c[b>>2];c[(r[u>>2]|0)+(r[g>>2]<<2)>>2]=+c[b>>2];r[g>>2]=(r[g>>2]|0)+1}r[g>>2]=0;while(1){if((r[g>>2]|0)>=(r[f>>2]|0))break;c[(r[h>>2]|0)+(r[g>>2]<<2)>>2]=+c[(r[u>>2]|0)+((r[p>>2]|0)-(r[g>>2]|0)-1<<2)>>2];r[g>>2]=(r[g>>2]|0)+1}ce(r[v>>2]|0);m=s;return}function _n(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,o=0,s=0,l=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0;a=m;m=m+64|0;o=a+48|0;s=a+44|0;l=a+40|0;d=a+36|0;u=a+32|0;p=a+28|0;f=a+24|0;h=a+20|0;g=a+16|0;_=a+12|0;v=a+8|0;y=a+4|0;b=a;r[o>>2]=e;r[s>>2]=t;r[l>>2]=n;r[d>>2]=i;c[g>>2]=0;i=r[s>>2]|0;r[s>>2]=i+4;c[p>>2]=+c[i>>2];i=r[s>>2]|0;r[s>>2]=i+4;c[f>>2]=+c[i>>2];i=r[s>>2]|0;r[s>>2]=i+4;c[h>>2]=+c[i>>2];r[u>>2]=0;while(1){if((r[u>>2]|0)>=((r[d>>2]|0)-3|0))break;i=r[o>>2]|0;r[o>>2]=i+4;c[_>>2]=+c[i>>2];i=r[s>>2]|0;r[s>>2]=i+4;c[g>>2]=+c[i>>2];c[r[l>>2]>>2]=+c[r[l>>2]>>2]+ +c[_>>2]*+c[p>>2];c[(r[l>>2]|0)+4>>2]=+c[(r[l>>2]|0)+4>>2]+ +c[_>>2]*+c[f>>2];c[(r[l>>2]|0)+8>>2]=+c[(r[l>>2]|0)+8>>2]+ +c[_>>2]*+c[h>>2];c[(r[l>>2]|0)+12>>2]=+c[(r[l>>2]|0)+12>>2]+ +c[_>>2]*+c[g>>2];i=r[o>>2]|0;r[o>>2]=i+4;c[_>>2]=+c[i>>2];i=r[s>>2]|0;r[s>>2]=i+4;c[p>>2]=+c[i>>2];c[r[l>>2]>>2]=+c[r[l>>2]>>2]+ +c[_>>2]*+c[f>>2];c[(r[l>>2]|0)+4>>2]=+c[(r[l>>2]|0)+4>>2]+ +c[_>>2]*+c[h>>2];c[(r[l>>2]|0)+8>>2]=+c[(r[l>>2]|0)+8>>2]+ +c[_>>2]*+c[g>>2];c[(r[l>>2]|0)+12>>2]=+c[(r[l>>2]|0)+12>>2]+ +c[_>>2]*+c[p>>2];i=r[o>>2]|0;r[o>>2]=i+4;c[_>>2]=+c[i>>2];i=r[s>>2]|0;r[s>>2]=i+4;c[f>>2]=+c[i>>2];c[r[l>>2]>>2]=+c[r[l>>2]>>2]+ +c[_>>2]*+c[h>>2];c[(r[l>>2]|0)+4>>2]=+c[(r[l>>2]|0)+4>>2]+ +c[_>>2]*+c[g>>2];c[(r[l>>2]|0)+8>>2]=+c[(r[l>>2]|0)+8>>2]+ +c[_>>2]*+c[p>>2];c[(r[l>>2]|0)+12>>2]=+c[(r[l>>2]|0)+12>>2]+ +c[_>>2]*+c[f>>2];i=r[o>>2]|0;r[o>>2]=i+4;c[_>>2]=+c[i>>2];i=r[s>>2]|0;r[s>>2]=i+4;c[h>>2]=+c[i>>2];c[r[l>>2]>>2]=+c[r[l>>2]>>2]+ +c[_>>2]*+c[g>>2];c[(r[l>>2]|0)+4>>2]=+c[(r[l>>2]|0)+4>>2]+ +c[_>>2]*+c[p>>2];c[(r[l>>2]|0)+8>>2]=+c[(r[l>>2]|0)+8>>2]+ +c[_>>2]*+c[f>>2];c[(r[l>>2]|0)+12>>2]=+c[(r[l>>2]|0)+12>>2]+ +c[_>>2]*+c[h>>2];r[u>>2]=(r[u>>2]|0)+4}_=r[u>>2]|0;r[u>>2]=_+1;if((_|0)<(r[d>>2]|0)){_=r[o>>2]|0;r[o>>2]=_+4;c[v>>2]=+c[_>>2];_=r[s>>2]|0;r[s>>2]=_+4;c[g>>2]=+c[_>>2];c[r[l>>2]>>2]=+c[r[l>>2]>>2]+ +c[v>>2]*+c[p>>2];c[(r[l>>2]|0)+4>>2]=+c[(r[l>>2]|0)+4>>2]+ +c[v>>2]*+c[f>>2];c[(r[l>>2]|0)+8>>2]=+c[(r[l>>2]|0)+8>>2]+ +c[v>>2]*+c[h>>2];c[(r[l>>2]|0)+12>>2]=+c[(r[l>>2]|0)+12>>2]+ +c[v>>2]*+c[g>>2]}v=r[u>>2]|0;r[u>>2]=v+1;if((v|0)<(r[d>>2]|0)){v=r[o>>2]|0;r[o>>2]=v+4;c[y>>2]=+c[v>>2];v=r[s>>2]|0;r[s>>2]=v+4;c[p>>2]=+c[v>>2];c[r[l>>2]>>2]=+c[r[l>>2]>>2]+ +c[y>>2]*+c[f>>2];c[(r[l>>2]|0)+4>>2]=+c[(r[l>>2]|0)+4>>2]+ +c[y>>2]*+c[h>>2];c[(r[l>>2]|0)+8>>2]=+c[(r[l>>2]|0)+8>>2]+ +c[y>>2]*+c[g>>2];c[(r[l>>2]|0)+12>>2]=+c[(r[l>>2]|0)+12>>2]+ +c[y>>2]*+c[p>>2]}if((r[u>>2]|0)>=(r[d>>2]|0)){m=a;return}d=r[o>>2]|0;r[o>>2]=d+4;c[b>>2]=+c[d>>2];d=r[s>>2]|0;r[s>>2]=d+4;c[f>>2]=+c[d>>2];c[r[l>>2]>>2]=+c[r[l>>2]>>2]+ +c[b>>2]*+c[h>>2];c[(r[l>>2]|0)+4>>2]=+c[(r[l>>2]|0)+4>>2]+ +c[b>>2]*+c[g>>2];c[(r[l>>2]|0)+8>>2]=+c[(r[l>>2]|0)+8>>2]+ +c[b>>2]*+c[p>>2];c[(r[l>>2]|0)+12>>2]=+c[(r[l>>2]|0)+12>>2]+ +c[b>>2]*+c[f>>2];m=a;return}function vn(e){e=e|0;var t=0,n=0,i=0,o=0,s=0;t=m;m=m+16|0;n=t+12|0;i=t+8|0;o=t+4|0;s=t;r[n>>2]=e;r[o>>2]=32767/((r[(r[n>>2]|0)+2340>>2]|0)+1|0)|0;r[s>>2]=0;r[i>>2]=0;while(1){if((r[i>>2]|0)>=(r[(r[n>>2]|0)+2340>>2]|0))break;r[s>>2]=(r[s>>2]|0)+(r[o>>2]|0);a[(r[n>>2]|0)+2772+1280+(r[i>>2]<<1)>>1]=r[s>>2];r[i>>2]=(r[i>>2]|0)+1}r[(r[n>>2]|0)+2772+1376>>2]=0;r[(r[n>>2]|0)+2772+1380>>2]=3176576;m=t;return}function yn(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0;o=m;m=m+80|0;s=o+36|0;l=o+32|0;c=o+28|0;d=o+24|0;u=o+20|0;p=o+16|0;f=o+12|0;h=o+8|0;g=o+40|0;_=o+4|0;v=o;r[s>>2]=e;r[l>>2]=t;r[c>>2]=n;r[d>>2]=i;r[_>>2]=(r[s>>2]|0)+2772;if((r[(r[s>>2]|0)+2316>>2]|0)!=(r[(r[_>>2]|0)+1384>>2]|0)){vn(r[s>>2]|0);r[(r[_>>2]|0)+1384>>2]=r[(r[s>>2]|0)+2316>>2]}e:do if((r[
}i=32-(32-(Y(r[n>>2]|0)|0))|0;m=t;return i|0}function Nn(e,t,n,a,o,s){e=e|0;t=t|0;n=n|0;a=a|0;o=o|0;s=s|0;var l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0;l=m;m=m+192|0;c=l+176|0;d=l+172|0;u=l+168|0;p=l+164|0;f=l+160|0;h=l+156|0;g=l+152|0;_=l+148|0;v=l+144|0;y=l+4|0;b=l;r[c>>2]=e;r[d>>2]=t;r[u>>2]=n;r[p>>2]=a;r[f>>2]=o;r[h>>2]=s;r[v>>2]=0;r[g>>2]=r[(r[c>>2]|0)+2328>>2];r[y+136>>2]=0;do if(!(r[f>>2]|0))w=4;else{if((r[f>>2]|0)==2?(r[(r[c>>2]|0)+2420+(r[(r[c>>2]|0)+2388>>2]<<2)>>2]|0)==1:0){w=4;break}Bn(r[c>>2]|0,y,r[u>>2]|0,1)}while(0);if((w|0)==4){w=(r[g>>2]|0)+16-1&-16;r[b>>2]=oe()|0;s=m;m=m+((1*(w<<1)|0)+15&-16)|0;Ln(r[c>>2]|0,r[d>>2]|0,r[(r[c>>2]|0)+2388>>2]|0,r[f>>2]|0,r[h>>2]|0);Fn(r[d>>2]|0,s,i[(r[c>>2]|0)+2736+29>>0]|0,i[(r[c>>2]|0)+2736+30>>0]|0,r[(r[c>>2]|0)+2328>>2]|0);Un(r[c>>2]|0,y,r[h>>2]|0);xn(r[c>>2]|0,y,r[u>>2]|0,s);Bn(r[c>>2]|0,y,r[u>>2]|0,0);r[(r[c>>2]|0)+4160>>2]=0;r[(r[c>>2]|0)+4164>>2]=i[(r[c>>2]|0)+2736+29>>0];r[(r[c>>2]|0)+2376>>2]=0;ce(r[b>>2]|0)}r[_>>2]=(r[(r[c>>2]|0)+2336>>2]|0)-(r[(r[c>>2]|0)+2328>>2]|0);Ba((r[c>>2]|0)+1348|0,(r[c>>2]|0)+1348+(r[(r[c>>2]|0)+2328>>2]<<1)|0,r[_>>2]<<1|0)|0;La((r[c>>2]|0)+1348+(r[_>>2]<<1)|0,r[u>>2]|0,r[(r[c>>2]|0)+2328>>2]<<1|0)|0;Hn(r[c>>2]|0,r[u>>2]|0,r[g>>2]|0);yn(r[c>>2]|0,y,r[u>>2]|0,r[g>>2]|0);r[(r[c>>2]|0)+2308>>2]=r[y+((r[(r[c>>2]|0)+2324>>2]|0)-1<<2)>>2];r[r[p>>2]>>2]=r[g>>2];m=l;return r[v>>2]|0}function Ln(e,t,n,o,s){e=e|0;t=t|0;n=n|0;o=o|0;s=s|0;var l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,T=0,C=0,E=0,$=0,I=0,x=0,P=0,D=0,R=0,O=0,N=0,L=0,F=0,U=0;l=m;m=m+96|0;c=l+36|0;d=l+32|0;u=l+28|0;p=l+24|0;f=l+20|0;h=l+16|0;g=l+12|0;_=l+8|0;v=l+4|0;y=l;b=l+40|0;w=l+72|0;r[c>>2]=e;r[d>>2]=t;r[u>>2]=n;r[p>>2]=o;r[f>>2]=s;if(!(r[p>>2]|0)?!(r[(r[c>>2]|0)+2404+(r[u>>2]<<2)>>2]|0):0)r[_>>2]=an(r[d>>2]|0,22720,8)|0;else r[_>>2]=(an(r[d>>2]|0,22716,8)|0)+2;i[(r[c>>2]|0)+2736+29>>0]=r[_>>2]>>1;i[(r[c>>2]|0)+2736+30>>0]=r[_>>2]&1;u=r[d>>2]|0;if((r[f>>2]|0)==2){p=(an(u,20582,8)|0)&255;i[(r[c>>2]|0)+2736>>0]=p}else{p=(an(u,20558+(i[(r[c>>2]|0)+2736+29>>0]<<3)|0,8)|0)<<3&255;i[(r[c>>2]|0)+2736>>0]=p;p=((an(r[d>>2]|0,22745,8)|0)&255)<<24>>24;u=(r[c>>2]|0)+2736|0;i[u>>0]=(i[u>>0]|0)+p}r[h>>2]=1;while(1){k=r[d>>2]|0;if((r[h>>2]|0)>=(r[(r[c>>2]|0)+2324>>2]|0))break;p=(an(k,20582,8)|0)&255;i[(r[c>>2]|0)+2736+(r[h>>2]|0)>>0]=p;r[h>>2]=(r[h>>2]|0)+1}p=(an(k,(r[(r[(r[c>>2]|0)+2732>>2]|0)+12>>2]|0)+(W(i[(r[c>>2]|0)+2736+29>>0]>>1,a[r[(r[c>>2]|0)+2732>>2]>>1]|0)|0)|0,8)|0)&255;i[(r[c>>2]|0)+2736+8>>0]=p;oi(b,w,r[(r[c>>2]|0)+2732>>2]|0,i[(r[c>>2]|0)+2736+8>>0]|0);r[h>>2]=0;while(1){if((r[h>>2]|0)>=(a[(r[(r[c>>2]|0)+2732>>2]|0)+2>>1]|0))break;r[_>>2]=an(r[d>>2]|0,(r[(r[(r[c>>2]|0)+2732>>2]|0)+24>>2]|0)+(a[b+(r[h>>2]<<1)>>1]|0)|0,8)|0;if(r[_>>2]|0){if((r[_>>2]|0)==8){w=an(r[d>>2]|0,22753,8)|0;r[_>>2]=(r[_>>2]|0)+w}}else{w=an(r[d>>2]|0,22753,8)|0;r[_>>2]=(r[_>>2]|0)-w}i[(r[c>>2]|0)+2736+8+((r[h>>2]|0)+1)>>0]=(r[_>>2]|0)-4;r[h>>2]=(r[h>>2]|0)+1}if((r[(r[c>>2]|0)+2324>>2]|0)==4){h=(an(r[d>>2]|0,22722,8)|0)&255;M=h;S=r[c>>2]|0}else{M=4;S=r[c>>2]|0}i[S+2736+31>>0]=M;if((i[(r[c>>2]|0)+2736+29>>0]|0)!=2){A=r[c>>2]|0;T=A+2736|0;C=T+29|0;E=i[C>>0]|0;$=E<<24>>24;I=r[c>>2]|0;x=I+2396|0;r[x>>2]=$;P=r[d>>2]|0;D=an(P,22730,8)|0;R=D&255;O=r[c>>2]|0;N=O+2736|0;L=N+34|0;i[L>>0]=R;m=l;return}r[v>>2]=1;if(((r[f>>2]|0)==2?(r[(r[c>>2]|0)+2396>>2]|0)==2:0)?(r[y>>2]=((an(r[d>>2]|0,22792,8)|0)&65535)<<16>>16,(r[y>>2]|0)>0):0){r[y>>2]=(r[y>>2]|0)-9;a[(r[c>>2]|0)+2736+26>>1]=(a[(r[c>>2]|0)+2400>>1]|0)+(r[y>>2]|0);r[v>>2]=0}if(r[v>>2]|0){v=((an(r[d>>2]|0,22760,8)|0)&65535)<<16>>16;y=(W(v,r[(r[c>>2]|0)+2316>>2]>>1)|0)&65535;a[(r[c>>2]|0)+2736+26>>1]=y;y=((an(r[d>>2]|0,r[(r[c>>2]|0)+2380>>2]|0,8)|0)&65535)<<16>>16;v=(r[c>>2]|0)+2736+26|0;a[v>>1]=(a[v>>1]|0)+y}a[(r[c>>2]|0)+2400>>1]=a[(r[c>>2]|0)+2736+26>>1]|0;y=(an(r[d>>2]|0,r[(r[c>>2]|0)+2384>>2]|0,8)|0)&255;i[(r[c>>2]|0)+2736+28>>0]=y;y=(an(r[d>>2]|0,20623,8)|0)&255;i[(r[c>>2]|0)+2736+32>>0]=y;r[g>>2]=0;while(1){if((r[g>>2]|0)>=(r[(r[c>>2]|0)+2324>>2]|0))break;y=(an(r[d>>2]|0,r[108+(i[(r[c>>2]|0)+2736+32>>0]<<2)>>2]|0,8)|0)&255;i[(r[
i[(r[d>>2]|0)+(r[f>>2]|0)>>0]=p;a[(r[c>>2]|0)+((r[f>>2]|0)+1<<1)>>1]=((o[h>>0]>>5&7)<<16>>16)*9;p=i[(r[(r[u>>2]|0)+16>>2]|0)+((r[f>>2]|0)+(W(o[h>>0]>>4&1,(a[(r[u>>2]|0)+2>>1]|0)-1|0)|0)+1)>>0]|0;i[(r[d>>2]|0)+((r[f>>2]|0)+1)>>0]=p;r[f>>2]=(r[f>>2]|0)+2}m=l;return}function si(e,t,n,s,l){e=e|0;t=t|0;n=n|0;s=s|0;l=l|0;var c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0;c=m;m=m+32|0;d=c+24|0;u=c+20|0;p=c+16|0;f=c+12|0;h=c+28|0;g=c+8|0;_=c+4|0;v=c;r[d>>2]=e;r[u>>2]=t;r[p>>2]=n;r[f>>2]=s;a[h>>1]=l;r[_>>2]=0;r[g>>2]=(a[h>>1]|0)-1;while(1){if((r[g>>2]|0)<0)break;r[v>>2]=(W((r[_>>2]&65535)<<16>>16,o[(r[p>>2]|0)+(r[g>>2]|0)>>0]|0)|0)>>8;r[_>>2]=i[(r[u>>2]|0)+(r[g>>2]|0)>>0]<<10;h=r[_>>2]|0;if((r[_>>2]|0)<=0){if((h|0)<0)r[_>>2]=(r[_>>2]|0)+102}else r[_>>2]=h-102;h=W(r[_>>2]>>16,(r[f>>2]&65535)<<16>>16)|0;r[_>>2]=(r[v>>2]|0)+(h+((W(r[_>>2]&65535,(r[f>>2]&65535)<<16>>16)|0)>>16));a[(r[d>>2]|0)+(r[g>>2]<<1)>>1]=r[_>>2];r[g>>2]=(r[g>>2]|0)+-1}m=c;return}function li(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0;i=m;m=m+32|0;o=i+20|0;s=i+16|0;l=i+12|0;c=i+8|0;d=i+4|0;u=i;r[o>>2]=e;r[s>>2]=t;r[l>>2]=n;r[d>>2]=_i(a[r[s>>2]>>1]|0,1)|0;r[d>>2]=131072/(r[d>>2]|0)|0;r[u>>2]=_i((a[(r[s>>2]|0)+2>>1]|0)-(a[r[s>>2]>>1]|0)|0,1)|0;r[u>>2]=131072/(r[u>>2]|0)|0;n=(vi((r[d>>2]|0)+(r[u>>2]|0)|0,32767)|0)&65535;a[r[o>>2]>>1]=n;r[c>>2]=1;while(1){p=r[s>>2]|0;if((r[c>>2]|0)>=((r[l>>2]|0)-1|0))break;r[d>>2]=_i((a[p+((r[c>>2]|0)+1<<1)>>1]|0)-(a[(r[s>>2]|0)+(r[c>>2]<<1)>>1]|0)|0,1)|0;r[d>>2]=131072/(r[d>>2]|0)|0;n=(vi((r[d>>2]|0)+(r[u>>2]|0)|0,32767)|0)&65535;a[(r[o>>2]|0)+(r[c>>2]<<1)>>1]=n;r[u>>2]=_i((a[(r[s>>2]|0)+((r[c>>2]|0)+2<<1)>>1]|0)-(a[(r[s>>2]|0)+((r[c>>2]|0)+1<<1)>>1]|0)|0,1)|0;r[u>>2]=131072/(r[u>>2]|0)|0;n=(vi((r[d>>2]|0)+(r[u>>2]|0)|0,32767)|0)&65535;a[(r[o>>2]|0)+((r[c>>2]|0)+1<<1)>>1]=n;r[c>>2]=(r[c>>2]|0)+2}r[d>>2]=_i(32768-(a[p+((r[l>>2]|0)-1<<1)>>1]|0)|0,1)|0;r[d>>2]=131072/(r[d>>2]|0)|0;p=(vi((r[d>>2]|0)+(r[u>>2]|0)|0,32767)|0)&65535;a[(r[o>>2]|0)+((r[l>>2]|0)-1<<1)>>1]=p;m=i;return}function ci(e){e=e|0;var t=0,n=0,i=0,a=0,o=0,s=0,l=0;t=m;m=m+32|0;n=t+16|0;i=t+12|0;a=t+8|0;o=t+4|0;s=t;r[i>>2]=e;if((r[i>>2]|0)<=0){r[n>>2]=0;l=r[n>>2]|0;m=t;return l|0}mi(r[i>>2]|0,o,s);if(r[o>>2]&1|0)r[a>>2]=32768;else r[a>>2]=46214;r[a>>2]=r[a>>2]>>(r[o>>2]>>1);o=W(r[a>>2]>>16,(((r[s>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;r[a>>2]=(r[a>>2]|0)+(o+((W(r[a>>2]&65535,(((r[s>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));r[n>>2]=r[a>>2];l=r[n>>2]|0;m=t;return l|0}function di(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,T=0;i=m;m=m+48|0;o=i+40|0;s=i+36|0;l=i+32|0;c=i+28|0;d=i+24|0;u=i+20|0;p=i+16|0;f=i+44|0;h=i+12|0;g=i+8|0;_=i+4|0;v=i;r[o>>2]=e;r[s>>2]=t;r[l>>2]=n;r[d>>2]=0;r[p>>2]=0;while(1){if((r[p>>2]|0)>=20)break;r[g>>2]=(a[r[o>>2]>>1]|0)-(a[r[s>>2]>>1]|0);r[d>>2]=0;r[c>>2]=1;while(1){y=r[o>>2]|0;if((r[c>>2]|0)>((r[l>>2]|0)-1|0))break;r[h>>2]=(a[y+(r[c>>2]<<1)>>1]|0)-((a[(r[o>>2]|0)+((r[c>>2]|0)-1<<1)>>1]|0)+(a[(r[s>>2]|0)+(r[c>>2]<<1)>>1]|0));if((r[h>>2]|0)<(r[g>>2]|0)){r[g>>2]=r[h>>2];r[d>>2]=r[c>>2]}r[c>>2]=(r[c>>2]|0)+1}r[h>>2]=32768-((a[y+((r[l>>2]|0)-1<<1)>>1]|0)+(a[(r[s>>2]|0)+(r[l>>2]<<1)>>1]|0));if((r[h>>2]|0)<(r[g>>2]|0)){r[g>>2]=r[h>>2];r[d>>2]=r[l>>2]}if((r[g>>2]|0)>=0){b=42;break}if(!(r[d>>2]|0))a[r[o>>2]>>1]=a[r[s>>2]>>1]|0;else{if((r[d>>2]|0)==(r[l>>2]|0)){w=(r[o>>2]|0)+((r[l>>2]|0)-1<<1)|0;k=32768-(a[(r[s>>2]|0)+(r[l>>2]<<1)>>1]|0)&65535}else{r[_>>2]=0;r[u>>2]=0;while(1){M=r[s>>2]|0;if((r[u>>2]|0)>=(r[d>>2]|0))break;r[_>>2]=(r[_>>2]|0)+(a[M+(r[u>>2]<<1)>>1]|0);r[u>>2]=(r[u>>2]|0)+1}r[_>>2]=(r[_>>2]|0)+(a[M+(r[d>>2]<<1)>>1]>>1);r[v>>2]=32768;r[u>>2]=r[l>>2];while(1){S=r[s>>2]|0;if((r[u>>2]|0)<=(r[d>>2]|0))break;r[v>>2]=(r[v>>2]|0)-(a[S+(r[u>>2]<<1)>>1]|0);r[u>>2]=(r[u>>2]|0)+-1}r[v>>2]=(r[v>>2]|0)-(a[S+(r[d>>2]<<1)>>1]>>1);n=((a[(r[o>>2]|0)+((r[d>>2]|0)-1<<1)>>1]|0)+(a[(r[o>>2]|0)+(r[d>>2]<<1)>>1]|0)>>1)+((a[(r[o>>2]|0)+((r[d>>2]|0)-1<<1)>>1]|0)+(a[(r[o>>2]|0)+(r[d>>2]<<1)>>1]|0)&1)|0;do if((r[_>>2]|0)>(r[v>>2]|0)){if((n|0)>(r[_>>2]|0)){A=r[_>>2]|0;break}if((((a[(r[o>>2]|
}m=s;return}function Li(e,t,n,i,o,s,l){e=e|0;t=t|0;n=n|0;i=i|0;o=o|0;s=s|0;l=l|0;var c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,T=0;c=m;m=m+48|0;d=c+44|0;u=c+40|0;p=c+36|0;f=c+32|0;h=c+28|0;g=c+24|0;_=c+20|0;v=c+16|0;y=c+12|0;b=c+8|0;w=c+4|0;k=c;r[d>>2]=e;r[u>>2]=t;r[p>>2]=n;r[f>>2]=i;r[h>>2]=o;r[g>>2]=s;r[_>>2]=l;switch(r[f>>2]|0){case 18:{r[v>>2]=0;while(1){if((r[v>>2]|0)>=(r[g>>2]|0))break;r[b>>2]=(r[u>>2]|0)+(r[v>>2]>>16<<2);f=W((r[v>>2]&65535)>>16,(r[h>>2]&65535)<<16>>16)|0;r[w>>2]=f+((W(r[v>>2]&65535,(r[h>>2]&65535)<<16>>16)|0)>>16);r[k>>2]=(r[p>>2]|0)+((r[w>>2]|0)*9<<1);f=W(r[r[b>>2]>>2]>>16,a[r[k>>2]>>1]|0)|0;r[y>>2]=f+((W(r[r[b>>2]>>2]&65535,a[r[k>>2]>>1]|0)|0)>>16);f=W(r[(r[b>>2]|0)+4>>2]>>16,a[(r[k>>2]|0)+2>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+4>>2]&65535,a[(r[k>>2]|0)+2>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+8>>2]>>16,a[(r[k>>2]|0)+4>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+8>>2]&65535,a[(r[k>>2]|0)+4>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+12>>2]>>16,a[(r[k>>2]|0)+6>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+12>>2]&65535,a[(r[k>>2]|0)+6>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+16>>2]>>16,a[(r[k>>2]|0)+8>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+16>>2]&65535,a[(r[k>>2]|0)+8>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+20>>2]>>16,a[(r[k>>2]|0)+10>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+20>>2]&65535,a[(r[k>>2]|0)+10>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+24>>2]>>16,a[(r[k>>2]|0)+12>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+24>>2]&65535,a[(r[k>>2]|0)+12>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+28>>2]>>16,a[(r[k>>2]|0)+14>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+28>>2]&65535,a[(r[k>>2]|0)+14>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+32>>2]>>16,a[(r[k>>2]|0)+16>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+32>>2]&65535,a[(r[k>>2]|0)+16>>1]|0)|0)>>16));r[k>>2]=(r[p>>2]|0)+(((r[h>>2]|0)-1-(r[w>>2]|0)|0)*9<<1);f=W(r[(r[b>>2]|0)+68>>2]>>16,a[r[k>>2]>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+68>>2]&65535,a[r[k>>2]>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+64>>2]>>16,a[(r[k>>2]|0)+2>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+64>>2]&65535,a[(r[k>>2]|0)+2>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+60>>2]>>16,a[(r[k>>2]|0)+4>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+60>>2]&65535,a[(r[k>>2]|0)+4>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+56>>2]>>16,a[(r[k>>2]|0)+6>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+56>>2]&65535,a[(r[k>>2]|0)+6>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+52>>2]>>16,a[(r[k>>2]|0)+8>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+52>>2]&65535,a[(r[k>>2]|0)+8>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+48>>2]>>16,a[(r[k>>2]|0)+10>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+48>>2]&65535,a[(r[k>>2]|0)+10>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+44>>2]>>16,a[(r[k>>2]|0)+12>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+44>>2]&65535,a[(r[k>>2]|0)+12>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+40>>2]>>16,a[(r[k>>2]|0)+14>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+40>>2]&65535,a[(r[k>>2]|0)+14>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+36>>2]>>16,a[(r[k>>2]|0)+16>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+36>>2]&65535,a[(r[k>>2]|0)+16>>1]|0)|0)>>16));if(((r[y>>2]>>5)+1>>1|0)<=32767)if(((r[y>>2]>>5)+1>>1|0)<-32768)M=-32768;else M=(r[y>>2]>>5)+1>>1;else M=32767;f=r[d>>2]|0;r[d>>2]=f+2;a[f>>1]=M;r[v>>2]=(r[v>>2]|0)+(r[_>>2]|0)}S=r[d>>2]|0;m=c;return S|0}case 24:{r[v>>2]=0;while(1){if((r[v>>2]|0)>=(r[g>>2]|0))break;r[b>>2]=(r[u>>2]|0)+(r[v>>2]>>16<<2);M=W((r[r[b>>2]>>2]|0)+(r[(r[b>>2]|0)+92>>2]|0)>>16,a[r[p>>2]>>1]|0)|0;r[y>>2]=M+((W((r[r[b>>2]>>2]|0)+(r[(r[b>>2]|0)+92>>2]|0)&65535,a[r[p>>2]>>1]|0)|0)>>16);M=W((r[(r[b>>2]|0)+4>>2]|0)+(r[(r[b>>2]|0)+88>>2]|0)>>16,a[(r[p>>2]|0)+2>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(M+((W((r[(r[b>>2]|0)+4>>2]|0)+(r[(r[b>>2]|0)+88>>2]|0)&65535,a[(r[p>>2]|0)+2>>1]|0)|0)>>16));M=W((r[(r[b>>2]|0)+8>>2]|0)+(r[(r[b>>2]|0)+84>>2]|0)>>16,a[(r[p>>2]|0)+4>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(M+((W((r[(r[b>>2]|0)+8>>2]|0)+(r[(r[b>>2]|0)+84>>2]|0)&65535,a[(r[p>>2]|0)+4>>1]|0)|0)>>16));M=W((r[(r[b>>2]|0)+12>>2]|0)+(r[(r[b>>2]|0)+80>>2]|0)>>16,a[(r[p>>2]|0)+6>>1]|0)|0;r[y>>2]=(r[y>>2]|
if((r[K>>2]|0)!=0&(r[X>>2]|0)!=0?r[(r[S>>2]|0)+64>>2]|0:0)break;re=r[x>>2]|0;r[g>>2]=0;Jt(re,10010,g)|0;Zt(r[x>>2]|0,ge,2,r[C>>2]|0,r[Z>>2]|0,0,r[ae>>2]|0)|0}}else{r[he>>2]=(r[te>>2]|0)<(r[E>>2]|0)?r[te>>2]|0:r[E>>2]|0;do if((r[q>>2]|0)!=(r[(r[S>>2]|0)+56>>2]|0)){if((r[(r[S>>2]|0)+56>>2]|0)<=0)break;if(r[(r[S>>2]|0)+64>>2]|0)break;Jt(r[x>>2]|0,4028,_)|0}while(0);r[R>>2]=Zt(r[x>>2]|0,r[$>>2]|0?0:r[A>>2]|0,r[T>>2]|0,r[C>>2]|0,r[he>>2]|0,O,r[ae>>2]|0)|0}while(0);t:do if(!((r[q>>2]|0)==1002|(r[ae>>2]|0)!=0)){r[P>>2]=0;while(1){if((r[P>>2]|0)>=(W(r[E>>2]|0,r[(r[S>>2]|0)+8>>2]|0)|0))break t;c[(r[C>>2]|0)+(r[P>>2]<<2)>>2]=+c[(r[C>>2]|0)+(r[P>>2]<<2)>>2]+ +(a[U+(r[P>>2]<<1)>>1]|0)*30517578125e-15;r[P>>2]=(r[P>>2]|0)+1}}while(0);U=r[x>>2]|0;r[h>>2]=_e+(((_e-_e|0)/4|0)<<2);Jt(U,10015,h)|0;r[ne>>2]=r[(r[_e>>2]|0)+60>>2];if(!((r[K>>2]|0)==0|(r[X>>2]|0)!=0)){Jt(r[x>>2]|0,4028,f)|0;U=r[x>>2]|0;r[p>>2]=0;Jt(U,10010,p)|0;Zt(r[x>>2]|0,(r[A>>2]|0)+(r[T>>2]|0)|0,r[Y>>2]|0,Se,r[Q>>2]|0,0,0)|0;U=r[x>>2]|0;r[u>>2]=ie+(((ie-ie|0)/4|0)<<2);Jt(U,4031,u)|0;U=(r[C>>2]|0)+((W(r[(r[S>>2]|0)+8>>2]|0,(r[E>>2]|0)-(r[Z>>2]|0)|0)|0)<<2)|0;re=Se+((W(r[(r[S>>2]|0)+8>>2]|0,r[Z>>2]|0)|0)<<2)|0;Me=(r[C>>2]|0)+((W(r[(r[S>>2]|0)+8>>2]|0,(r[E>>2]|0)-(r[Z>>2]|0)|0)|0)<<2)|0;ea(U,re,Me,r[Z>>2]|0,r[(r[S>>2]|0)+8>>2]|0,r[ne>>2]|0,r[(r[S>>2]|0)+12>>2]|0)}if((r[K>>2]|0)!=0&(r[X>>2]|0)!=0){r[J>>2]=0;while(1){if((r[J>>2]|0)>=(r[(r[S>>2]|0)+8>>2]|0))break;r[P>>2]=0;while(1){if((r[P>>2]|0)>=(r[Z>>2]|0))break;Me=W(r[(r[S>>2]|0)+8>>2]|0,r[P>>2]|0)|0;re=W(r[(r[S>>2]|0)+8>>2]|0,r[P>>2]|0)|0;c[(r[C>>2]|0)+(re+(r[J>>2]|0)<<2)>>2]=+c[Se+(Me+(r[J>>2]|0)<<2)>>2];r[P>>2]=(r[P>>2]|0)+1}r[J>>2]=(r[J>>2]|0)+1}Me=Se+((W(r[(r[S>>2]|0)+8>>2]|0,r[Z>>2]|0)|0)<<2)|0;re=(r[C>>2]|0)+((W(r[(r[S>>2]|0)+8>>2]|0,r[Z>>2]|0)|0)<<2)|0;U=(r[C>>2]|0)+((W(r[(r[S>>2]|0)+8>>2]|0,r[Z>>2]|0)|0)<<2)|0;ea(Me,re,U,r[Z>>2]|0,r[(r[S>>2]|0)+8>>2]|0,r[ne>>2]|0,r[(r[S>>2]|0)+12>>2]|0)}do if(r[z>>2]|0){if((r[j>>2]|0)<(r[Q>>2]|0)){ea(r[B>>2]|0,r[C>>2]|0,r[C>>2]|0,r[Z>>2]|0,r[(r[S>>2]|0)+8>>2]|0,r[ne>>2]|0,r[(r[S>>2]|0)+12>>2]|0);break}r[P>>2]=0;while(1){U=(r[P>>2]|0)<(W(r[(r[S>>2]|0)+8>>2]|0,r[Z>>2]|0)|0);xe=r[B>>2]|0;if(!U)break;c[(r[C>>2]|0)+(r[P>>2]<<2)>>2]=+c[xe+(r[P>>2]<<2)>>2];r[P>>2]=(r[P>>2]|0)+1}U=xe+((W(r[(r[S>>2]|0)+8>>2]|0,r[Z>>2]|0)|0)<<2)|0;re=(r[C>>2]|0)+((W(r[(r[S>>2]|0)+8>>2]|0,r[Z>>2]|0)|0)<<2)|0;Me=(r[C>>2]|0)+((W(r[(r[S>>2]|0)+8>>2]|0,r[Z>>2]|0)|0)<<2)|0;ea(U,re,Me,r[Z>>2]|0,r[(r[S>>2]|0)+8>>2]|0,r[ne>>2]|0,r[(r[S>>2]|0)+12>>2]|0)}while(0);t:do if(r[(r[S>>2]|0)+40>>2]|0){c[ve>>2]=+V(+(+(r[(r[S>>2]|0)+40>>2]|0)*.0006488140788860619*.6931471805599453));r[P>>2]=0;while(1){if((r[P>>2]|0)>=(W(r[E>>2]|0,r[(r[S>>2]|0)+8>>2]|0)|0))break t;c[ye>>2]=+c[(r[C>>2]|0)+(r[P>>2]<<2)>>2]*+c[ve>>2];c[(r[C>>2]|0)+(r[P>>2]<<2)>>2]=+c[ye>>2];r[P>>2]=(r[P>>2]|0)+1}}while(0);if((r[T>>2]|0)<=1){Pe=r[S>>2]|0;De=0}else{Pe=r[S>>2]|0;De=r[O+28>>2]^r[ie>>2]}r[Pe+80>>2]=De;r[(r[S>>2]|0)+56>>2]=r[q>>2];if(r[K>>2]|0)Re=(r[X>>2]|0)!=0^1;else Re=0;r[(r[S>>2]|0)+64>>2]=Re&1;if((r[R>>2]|0)>=0)Yi()|0;r[M>>2]=(r[R>>2]|0)<0?r[R>>2]|0:r[j>>2]|0;r[le>>2]=1}while(0);ce(r[se>>2]|0);be=r[M>>2]|0;m=d;return be|0}function Yi(){return 0}function Xi(e){e=e|0;var t=0,n=0,i=0;t=m;m=m+16|0;n=t+4|0;i=t;r[n>>2]=e;do if(!((o[r[n>>2]>>0]|0)&128|0))if(((o[r[n>>2]>>0]|0)&96|0)==96){r[i>>2]=1001;break}else{r[i>>2]=1e3;break}else r[i>>2]=1002;while(0);m=t;return r[i>>2]|0}function Ji(e){e=e|0;var t=0,n=0,i=0,a=0,s=0;t=m;m=m+16|0;n=t+4|0;i=t;r[n>>2]=e;e=o[r[n>>2]>>0]|0;if((o[r[n>>2]>>0]|0)&128|0){a=1102+(e>>5&3)|0;r[i>>2]=a;r[i>>2]=(r[i>>2]|0)==1102?1101:a;s=r[i>>2]|0;m=t;return s|0}a=o[r[n>>2]>>0]|0;if((e&96|0)==96){r[i>>2]=a&16|0?1105:1104;s=r[i>>2]|0;m=t;return s|0}else{r[i>>2]=1101+(a>>5&3);s=r[i>>2]|0;m=t;return s|0}return 0}function Zi(e){e=e|0;var t=0,n=0;t=m;m=m+16|0;n=t;r[n>>2]=e;m=t;return((o[r[n>>2]>>0]|0)&4|0?2:1)|0}function Qi(e){e=e|0;var t=0,n=0;t=m;m=m+16|0;n=t;r[n>>2]=e;e=(r[(r[n>>2]|0)+20>>2]|0)-(32-(Y(r[(r[n>>2]|0)+28>>2]|0)|0))|0;m=t;return e|0}function ea(e,t,n,i,a,o,s){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;o=o|0;s=s|0;var l=0,d=0,u=0,p=0,f=
r[de>>2]=ue+re;oe=le+8|0;ne=(oe&7|0)==0?0:0-oe&7;oe=le+ne|0;ee=(r[6331]|0)+(re-ne)|0;r[6334]=oe;r[6331]=ee;r[oe+4>>2]=ee|1;r[oe+ee+4>>2]=40;r[6335]=r[6450];break}ee=r[6332]|0;if(ie>>>0<ee>>>0){r[6332]=ie;pe=ie}else pe=ee;ee=ie+re|0;oe=25760;while(1){if((r[oe>>2]|0)==(ee|0)){N=198;break}ne=r[oe+8>>2]|0;if(!ne)break;else oe=ne}if((N|0)==198?(r[oe+12>>2]&8|0)==0:0){r[oe>>2]=ie;se=oe+4|0;r[se>>2]=(r[se>>2]|0)+re;se=ie+8|0;ne=ie+((se&7|0)==0?0:0-se&7)|0;se=ee+8|0;n=ee+((se&7|0)==0?0:0-se&7)|0;se=ne+x|0;z=n-ne-x|0;r[ne+4>>2]=x|3;do if((n|0)!=(le|0)){if((n|0)==(r[6333]|0)){te=(r[6330]|0)+z|0;r[6330]=te;r[6333]=se;r[se+4>>2]=te|1;r[se+te>>2]=te;break}te=r[n+4>>2]|0;if((te&3|0)==1){Z=te&-8;Q=te>>>3;e:do if(te>>>0>=256){q=r[n+24>>2]|0;Y=r[n+12>>2]|0;do if((Y|0)==(n|0)){W=n+16|0;J=W+4|0;_=r[J>>2]|0;if(!_){y=r[W>>2]|0;if(!y){fe=0;break}else{me=y;he=W}}else{me=_;he=J}while(1){J=me+20|0;_=r[J>>2]|0;if(_|0){me=_;he=J;continue}J=me+16|0;_=r[J>>2]|0;if(!_)break;else{me=_;he=J}}if(he>>>0<pe>>>0)ae();else{r[he>>2]=0;fe=me;break}}else{J=r[n+8>>2]|0;if(J>>>0<pe>>>0)ae();_=J+12|0;if((r[_>>2]|0)!=(n|0))ae();W=Y+8|0;if((r[W>>2]|0)==(n|0)){r[_>>2]=Y;r[W>>2]=J;fe=Y;break}else ae()}while(0);if(!q)break;Y=r[n+28>>2]|0;J=25616+(Y<<2)|0;do if((n|0)!=(r[J>>2]|0))if(q>>>0>=(r[6332]|0)>>>0){r[q+16+(((r[q+16>>2]|0)!=(n|0)&1)<<2)>>2]=fe;if(!fe)break e;else break}else ae();else{r[J>>2]=fe;if(fe|0)break;r[6329]=r[6329]&~(1<<Y);break e}while(0);Y=r[6332]|0;if(fe>>>0<Y>>>0)ae();r[fe+24>>2]=q;J=n+16|0;W=r[J>>2]|0;do if(W|0)if(W>>>0<Y>>>0)ae();else{r[fe+16>>2]=W;r[W+24>>2]=fe;break}while(0);W=r[J+4>>2]|0;if(!W)break;if(W>>>0<(r[6332]|0)>>>0)ae();else{r[fe+20>>2]=W;r[W+24>>2]=fe;break}}else{W=r[n+8>>2]|0;Y=r[n+12>>2]|0;q=25352+(Q<<1<<2)|0;do if((W|0)!=(q|0)){if(W>>>0<pe>>>0)ae();if((r[W+12>>2]|0)==(n|0))break;ae()}while(0);if((Y|0)==(W|0)){r[6328]=r[6328]&~(1<<Q);break}do if((Y|0)==(q|0))ge=Y+8|0;else{if(Y>>>0<pe>>>0)ae();J=Y+8|0;if((r[J>>2]|0)==(n|0)){ge=J;break}ae()}while(0);r[W+12>>2]=Y;r[ge>>2]=W}while(0);_e=n+Z|0;ve=Z+z|0}else{_e=n;ve=z}Q=_e+4|0;r[Q>>2]=r[Q>>2]&-2;r[se+4>>2]=ve|1;r[se+ve>>2]=ve;Q=ve>>>3;if(ve>>>0<256){te=25352+(Q<<1<<2)|0;X=r[6328]|0;q=1<<Q;do if(!(X&q)){r[6328]=X|q;ye=te+8|0;be=te}else{Q=te+8|0;J=r[Q>>2]|0;if(J>>>0>=(r[6332]|0)>>>0){ye=Q;be=J;break}ae()}while(0);r[ye>>2]=se;r[be+12>>2]=se;r[se+8>>2]=be;r[se+12>>2]=te;break}q=ve>>>8;do if(!q)we=0;else{if(ve>>>0>16777215){we=31;break}X=(q+1048320|0)>>>16&8;Z=q<<X;J=(Z+520192|0)>>>16&4;Q=Z<<J;Z=(Q+245760|0)>>>16&2;_=14-(J|X|Z)+(Q<<Z>>>15)|0;we=ve>>>(_+7|0)&1|_<<1}while(0);q=25616+(we<<2)|0;r[se+28>>2]=we;te=se+16|0;r[te+4>>2]=0;r[te>>2]=0;te=r[6329]|0;_=1<<we;if(!(te&_)){r[6329]=te|_;r[q>>2]=se;r[se+24>>2]=q;r[se+12>>2]=se;r[se+8>>2]=se;break}_=ve<<((we|0)==31?0:25-(we>>>1)|0);te=r[q>>2]|0;while(1){if((r[te+4>>2]&-8|0)==(ve|0)){N=265;break}ke=te+16+(_>>>31<<2)|0;q=r[ke>>2]|0;if(!q){N=262;break}else{_=_<<1;te=q}}if((N|0)==262)if(ke>>>0<(r[6332]|0)>>>0)ae();else{r[ke>>2]=se;r[se+24>>2]=te;r[se+12>>2]=se;r[se+8>>2]=se;break}else if((N|0)==265){_=te+8|0;q=r[_>>2]|0;Z=r[6332]|0;if(q>>>0>=Z>>>0&te>>>0>=Z>>>0){r[q+12>>2]=se;r[_>>2]=se;r[se+8>>2]=q;r[se+12>>2]=te;r[se+24>>2]=0;break}else ae()}}else{q=(r[6331]|0)+z|0;r[6331]=q;r[6334]=se;r[se+4>>2]=q|1}while(0);g=ne+8|0;m=t;return g|0}se=25760;while(1){z=r[se>>2]|0;if(z>>>0<=le>>>0?(Me=z+(r[se+4>>2]|0)|0,Me>>>0>le>>>0):0)break;se=r[se+8>>2]|0}se=Me+-47|0;ne=se+8|0;z=se+((ne&7|0)==0?0:0-ne&7)|0;ne=le+16|0;se=z>>>0<ne>>>0?le:z;z=se+8|0;n=ie+8|0;ee=(n&7|0)==0?0:0-n&7;n=ie+ee|0;oe=re+-40-ee|0;r[6334]=n;r[6331]=oe;r[n+4>>2]=oe|1;r[n+oe+4>>2]=40;r[6335]=r[6450];oe=se+4|0;r[oe>>2]=27;r[z>>2]=r[6440];r[z+4>>2]=r[6441];r[z+8>>2]=r[6442];r[z+12>>2]=r[6443];r[6440]=ie;r[6441]=re;r[6443]=0;r[6442]=z;z=se+24|0;do{n=z;z=z+4|0;r[z>>2]=7}while((n+8|0)>>>0<Me>>>0);if((se|0)!=(le|0)){z=se-le|0;r[oe>>2]=r[oe>>2]&-2;r[le+4>>2]=z|1;r[se>>2]=z;n=z>>>3;if(z>>>0<256){ee=25352+(n<<1<<2)|0;q=r[6328]|0;_=1<<n;if(q&_){n=ee+8|0;Z=r[n>>2]|0;if(Z>>>0<(r[6332]|0)>>>0)ae();else{Se=n;Ae=Z}}else{r[6328]=q|_;Se=ee+8|0;Ae=ee}r[Se>>2]=le;r[Ae+12>>2]=le;r[le+8>>2]=Ae;r[le+12>>2]=ee;break}
return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),t.response}),Module.readAsync=function(e,t,n){var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=function(){200==i.status||0==i.status&&i.response?t(i.response):n()},i.onerror=n,i.send(null)},"undefined"!=typeof arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),"undefined"==typeof Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(e,t){throw t}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(e){return tempRet0=e,e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var t=parseInt(e.substr(1));return assert(t%8===0),t/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,t){return"double"===t||"i64"===t?7&e&&(assert(4===(7&e)),e+=4):assert(0===(3&e)),e},getAlignSize:function(e,t,n){return n||"i64"!=e&&"double"!=e?e?Math.min(t||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(t,8):8},dynCall:function(e,t,n){return n&&n.length?Module["dynCall_"+e].apply(null,[t].concat(n)):Module["dynCall_"+e].call(null,t)},functionPointers:[],addFunction:function(e){for(var t=0;t<Runtime.functionPointers.length;t++)if(!Runtime.functionPointers[t])return Runtime.functionPointers[t]=e,2*(1+t);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){Runtime.functionPointers[(e-2)/2]=null},warnOnce:function(e){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[e]||(Runtime.warnOnce.shown[e]=1,Module.printErr(e))},funcWrappers:{},getFuncWrapper:function(e,t){assert(t),Runtime.funcWrappers[t]||(Runtime.funcWrappers[t]={});var n=Runtime.funcWrappers[t];return n[e]||(1===t.length?n[e]=function(){return Runtime.dynCall(t,e)}:2===t.length?n[e]=function(n){return Runtime.dynCall(t,e,[n])}:n[e]=function(){return Runtime.dynCall(t,e,Array.prototype.slice.call(arguments))}),n[e]},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var t=STACKTOP;return STACKTOP=STACKTOP+e|0,STACKTOP=STACKTOP+15&-16,t},staticAlloc:function(e){var t=STATICTOP;return STATICTOP=STATICTOP+e|0,STATICTOP=STATICTOP+15&-16,t},dynamicAlloc:function(e){var t=HEAP32[DYNAMICTOP_PTR>>2],n=(t+e+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=n,n>=TOTAL_MEMORY){var i=enlargeMemory();if(!i)return HEAP32[DYNAMICTOP_PTR>>2]=t,0}return t},alignMemory:function(e,t){var n=e=Math.ceil(e/(t?t:16))*(t?t:16);return n},makeBigInt:function(e,t,n){var i=n?+(e>>>0)+4294967296*+(t>>>0):+(e>>>0)+4294967296*+(0|t);return i},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0,cwrap,ccall;!function(){function parseJSFunc(e){var t=e.toString().match(sourceRegex).slice(1);return{arguments:t[0],body:t[1],re
allocate([12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122
allocate([103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,
allocate([150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,1
allocate([0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194,0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0
allocate([0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,19
}if((g|0)==29)return o|0}while(0);if((r[s>>2]|0)<=2){o=l;return o|0}g=t+1032|0;a=t+780|0;t=2;do{i=t+-2|0;_=g+(i<<2)|0;u=r[_>>2]|0;f=r[n+836+(u<<2)>>2]|0;v=a+(i<<2)|0;i=r[v>>2]|0;c=r[l+(u<<2)>>2]&32767;u=(r[l+(i<<2)>>2]&32767)-c|0;m=(W((u|0)>-1?u:0-u|0,(r[n+836+(t<<2)>>2]|0)-f|0)|0)/((r[n+836+(i<<2)>>2]|0)-f|0)|0;f=((u|0)<0?0-m|0:m)+c|0;c=(r[e>>2]|0)-f|0;m=l+(t<<2)|0;u=r[m>>2]|0;if(!u)r[m>>2]=f|32768;else{do if((u|0)<(((c|0)<(f|0)?c:f)<<1|0))if(!(u&1)){w=u>>1;break}else{w=0-(u+1>>1)|0;break}else if((c|0)>(f|0)){w=u-f|0;break}else{w=~(u-c);break}while(0);r[m>>2]=w+f&32767;c=l+(r[_>>2]<<2)|0;r[c>>2]=r[c>>2]&32767;c=l+(r[v>>2]<<2)|0;r[c>>2]=r[c>>2]&32767}t=t+1|0}while((t|0)<(r[s>>2]|0));o=l;return o|0}function Be(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,o=0,s=0,l=0,d=0,u=0,p=0,f=0,m=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,T=0,C=0,E=0,$=0,I=0,x=0,P=0,D=0,R=0,O=0,N=0,L=0,F=0,U=0;a=r[t+1296>>2]|0;o=(r[(r[(r[(r[e+64>>2]|0)+4>>2]|0)+28>>2]|0)+(r[e+28>>2]<<2)>>2]|0)/2|0;if(!n){ai(i|0,0,o<<2|0)|0;s=0;return s|0}e=r[a+832>>2]|0;l=W(e,r[n>>2]|0)|0;d=(l|0)<0?0:(l|0)<255?l:255;l=r[t+1284>>2]|0;if((l|0)>1){u=t+260|0;t=0;p=1;f=0;m=d;while(1){h=r[u+(p<<2)>>2]|0;g=r[n+(h<<2)>>2]|0;e:do if((g&32767|0)==(g|0)){_=r[a+836+(h<<2)>>2]|0;v=W(e,g)|0;y=(v|0)<0?0:(v|0)<255?v:255;v=y-m|0;b=_-f|0;w=(v|0)/(b|0)|0;k=v>>31|1;M=W(w,b)|0;S=((v|0)>-1?v:0-v|0)-((M|0)>-1?M:0-M|0)|0;M=(o|0)>(_|0)?_:o;if((M|0)>(f|0)){A=0;T=f;C=m;E=8}else{$=0;I=f;x=m}while(1){if((E|0)==8){E=0;v=i+(T<<2)|0;c[v>>2]=+c[v>>2]*+c[476+(C<<2)>>2];$=A;I=T;x=C}v=I+1|0;if((v|0)>=(M|0)){P=_;D=_;R=y;break e}O=$+S|0;N=(O|0)<(b|0);A=O-(N?0:b)|0;T=v;C=x+w+(N?0:k)|0;E=8}}else{P=t;D=f;R=m}while(0);p=p+1|0;if((p|0)>=(l|0)){L=P;F=R;break}else{t=P;f=D;m=R}}}else{L=0;F=d}if((L|0)>=(o|0)){s=1;return s|0}U=+c[476+(F<<2)>>2];F=L;do{L=i+(F<<2)|0;c[L>>2]=+c[L>>2]*U;F=F+1|0}while((F|0)!=(o|0));s=1;return s|0}function He(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0;n=t+7&-8;t=e+72|0;i=r[t>>2]|0;a=e+76|0;o=e+68|0;s=r[o>>2]|0;if((i+n|0)<=(r[a>>2]|0)){l=s;c=i;d=l+c|0;u=c+n|0;r[t>>2]=u;return d|0}if(s|0){p=Yn(8)|0;f=e+80|0;r[f>>2]=(r[f>>2]|0)+i;i=e+84|0;r[p+4>>2]=r[i>>2];r[p>>2]=s;r[i>>2]=p}r[a>>2]=n;a=Yn(n)|0;r[o>>2]=a;r[t>>2]=0;l=a;c=0;d=l+c|0;u=c+n|0;r[t>>2]=u;return d|0}function je(e,t){e=e|0;t=t|0;var n=0,i=0;if((r[e+8>>2]|0)<=0){n=-1;return n|0}i=Ve(e,t)|0;if((i|0)<=-1){n=-1;return n|0}n=r[(r[e+24>>2]|0)+(i<<2)>>2]|0;return n|0}function Ve(e,t){e=e|0;t=t|0;var n=0,a=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,m=0,h=0;n=r[e+40>>2]|0;a=Ie(t,r[e+36>>2]|0)|0;do if((a|0)>-1){o=r[(r[e+32>>2]|0)+(a<<2)>>2]|0;if((o|0)<0){s=(r[e+8>>2]|0)-(o&32767)|0;l=o>>>15&32767;break}c=o+-1|0;xe(t,i[(r[e+28>>2]|0)+c>>0]|0);d=c;return d|0}else{s=r[e+8>>2]|0;l=0}while(0);a=n;while(1){u=Ie(t,a)|0;p=(u|0)<0;if((a|0)>1&p)a=a+-1|0;else break}if(p){d=-1;return d|0}p=oi(u|0)|0;u=p>>>4&252645135|p<<4&-252645136;p=u>>>2&858993459|u<<2&-858993460;u=p>>>1&1431655765|p<<1&-1431655766;p=s-l|0;if((p|0)>1){n=r[e+20>>2]|0;c=s;s=l;o=p;while(1){p=o>>>1;f=(r[n+(p+s<<2)>>2]|0)>>>0>u>>>0;m=(f?0:p)+s|0;c=c-(f?p:0)|0;o=c-m|0;if((o|0)<=1){h=m;break}else s=m}}else h=l;l=i[(r[e+28>>2]|0)+h>>0]|0;if((l|0)>(a|0)){xe(t,a);d=-1;return d|0}else{xe(t,l);d=h;return d|0}return 0}function qe(e,t){e=e|0;t=t|0;return(r[r[e>>2]>>2]|0)-(r[r[t>>2]>>2]|0)|0}function ze(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,m=0;n=r[e+28>>2]|0;e=Yn(96)|0;i=Pe(t,8)|0;r[e>>2]=i;a=Pe(t,16)|0;r[e+4>>2]=a;o=Pe(t,16)|0;r[e+8>>2]=o;r[e+12>>2]=Pe(t,6)|0;r[e+16>>2]=Pe(t,8)|0;s=Pe(t,4)|0;l=e+20|0;r[l>>2]=s+1;e:do if((i|0)<1){if(!e){c=0;return c|0}}else if((a|0)>=1?!((s|0)<0|(o|0)<1):0){if((s|0)<=-1){c=e;return c|0}d=e+24|0;u=n+24|0;p=0;while(1){f=Pe(t,8)|0;r[d+(p<<2)>>2]=f;if((f|0)<0)break e;if((f|0)>=(r[u>>2]|0))break e;m=r[n+1824+(f<<2)>>2]|0;if(!(r[m+12>>2]|0))break e;p=p+1|0;if((r[m>>2]|0)<1)break e;if((p|0)>=(r[l>>2]|0)){c=e;break}}return c|0}while(0);Xn(e);c=0;return c|0}function We(e,t){e=e|0;t=t|0;e=Jn(1,32)|0;r[e+4>>2]=r[t>>2];r[e>>2]=r[t+8>>2];r[e+20>>2]=t;r[e+8>>2]=Jn(2,4)|0;return e|0}function Ge(e){e=e|0;if(!e)return;Xn(e);return}function K
r[(r[V>>2]|0)+8>>2]=N;N=r[V>>2]|0;O=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[N>>2]|0,r[N+28>>2]|0,28086)|0;r[(r[V>>2]|0)+12>>2]=O;O=r[V>>2]|0;N=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[O>>2]|0,r[O+28>>2]|0,37449)|0;r[(r[V>>2]|0)+16>>2]=N;N=r[V>>2]|0;O=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[N>>2]|0,r[N+28>>2]|0,46811)|0;r[(r[V>>2]|0)+20>>2]=O;O=r[V>>2]|0;N=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[O>>2]|0,r[O+28>>2]|0,56173)|0;r[(r[V>>2]|0)+24>>2]=N;N=r[V>>2]|0;O=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[N+28>>2]|0,r[N+56>>2]|0,9362)|0;r[(r[V>>2]|0)+32>>2]=O;O=r[V>>2]|0;N=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[O+28>>2]|0,r[O+56>>2]|0,18724)|0;r[(r[V>>2]|0)+36>>2]=N;N=r[V>>2]|0;O=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[N+28>>2]|0,r[N+56>>2]|0,28086)|0;r[(r[V>>2]|0)+40>>2]=O;O=r[V>>2]|0;N=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[O+28>>2]|0,r[O+56>>2]|0,37449)|0;r[(r[V>>2]|0)+44>>2]=N;N=r[V>>2]|0;O=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[N+28>>2]|0,r[N+56>>2]|0,46811)|0;r[(r[V>>2]|0)+48>>2]=O;O=r[V>>2]|0;N=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[O+28>>2]|0,r[O+56>>2]|0,56173)|0;r[(r[V>>2]|0)+52>>2]=N}x=x+1|0;N=r[l>>2]|0;if((x|0)>=(N|0)){G=N;K=S;break e}}m=t;return W|0}else{G=j;K=o+48|0}while(0);c[h>>2]=H;h=G<<2;G=m;m=m+((1*h|0)+15&-16)|0;j=m;m=m+((1*h|0)+15&-16)|0;h=(Pt(e)|0)!=0;_=o+44|0;R=e+24|0;v=e+32|0;B=a+2868|0;M=o+52|0;o=h?0:7;while(1){h=r[n+12+(o<<2)>>2]|0;Ce(h,0,1);Ce(h,b,r[_>>2]|0);if(r[y>>2]|0){Ce(h,r[R>>2]|0,1);Ce(h,r[v>>2]|0,1)}s=r[l>>2]|0;if((s|0)>0){S=0;do{r[d+(S<<2)>>2]=Rt(h,e,r[(r[K>>2]|0)+(r[w+1028+(r[w+4+(S<<2)>>2]<<2)>>2]<<2)>>2]|0,r[(r[f+(S<<2)>>2]|0)+(o<<2)>>2]|0,r[i+(S<<2)>>2]|0)|0;S=S+1|0;x=r[l>>2]|0}while((S|0)<(x|0));Y=x}else Y=s;Ot(o,B,k,w,u,i,d,r[a+3240+((r[y>>2]|0)*60|0)+(o<<2)>>2]|0,Y);if((r[w>>2]|0)>0){S=0;do{x=r[w+1092+(S<<2)>>2]|0;A=r[l>>2]|0;if((A|0)>0){N=A;A=0;O=0;while(1){if((r[w+4+(O<<2)>>2]|0)==(S|0)){r[j+(A<<2)>>2]=(r[d+(O<<2)>>2]|0)!=0&1;r[G+(A<<2)>>2]=r[i+(O<<2)>>2];X=r[l>>2]|0;J=A+1|0}else{X=N;J=A}O=O+1|0;if((O|0)>=(X|0)){Z=J;break}else{N=X;A=J}}}else Z=0;A=a+1312+(x<<2)|0;N=Pi[r[(r[464+(r[A>>2]<<2)>>2]|0)+20>>2]&7](e,r[(r[M>>2]|0)+(x<<2)>>2]|0,G,j,Z)|0;O=r[l>>2]|0;if((O|0)>0){V=0;C=0;while(1){if((r[w+4+(C<<2)>>2]|0)==(S|0)){r[G+(V<<2)>>2]=r[i+(C<<2)>>2];Q=V+1|0}else Q=V;C=C+1|0;if((C|0)>=(O|0)){ee=Q;break}else V=Q}}else ee=0;Ii[r[(r[464+(r[A>>2]<<2)>>2]|0)+24>>2]&3](h,e,r[(r[M>>2]|0)+(x<<2)>>2]|0,G,j,ee,N,S)|0;S=S+1|0}while((S|0)<(r[w>>2]|0))}S=(Pt(e)|0)!=0;if((o|0)<((S?14:7)|0))o=o+1|0;else{W=0;break}}m=t;return W|0}function kt(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0,l=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,T=0,C=0,E=0,$=0,I=0,x=0,P=0,D=0,R=0,O=0;n=m;i=r[e+64>>2]|0;a=r[i+4>>2]|0;o=r[a+28>>2]|0;s=r[i+104>>2]|0;i=e+28|0;l=r[o+(r[i>>2]<<2)>>2]|0;r[e+36>>2]=l;d=a+4|0;a=r[d>>2]|0;u=a<<2;p=m;m=m+((1*u|0)+15&-16)|0;f=m;m=m+((1*u|0)+15&-16)|0;h=m;m=m+((1*u|0)+15&-16)|0;g=m;m=m+((1*u|0)+15&-16)|0;if((a|0)>0){u=t+4|0;_=t+1028|0;v=s+48|0;y=l<<1&2147483646;b=0;do{w=r[_+(r[u+(b<<2)>>2]<<2)>>2]|0;k=xi[r[(r[456+(r[o+800+(w<<2)>>2]<<2)>>2]|0)+20>>2]&15](e,r[(r[v>>2]|0)+(w<<2)>>2]|0)|0;r[g+(b<<2)>>2]=k;r[h+(b<<2)>>2]=(k|0)!=0&1;ai(r[(r[e>>2]|0)+(b<<2)>>2]|0,0,y|0)|0;b=b+1|0;k=r[d>>2]|0}while((b|0)<(k|0));M=k}else M=a;a=t+1156|0;b=r[a>>2]|0;if((b|0)>0){y=t+1160|0;v=t+2184|0;u=0;do{_=h+(r[y+(u<<2)>>2]<<2)|0;k=h+(r[v+(u<<2)>>2]<<2)|0;if(!((r[_>>2]|0)==0?!(r[k>>2]|0):0)){r[_>>2]=1;r[k>>2]=1}u=u+1|0}while((u|0)<(b|0))}if((r[t>>2]|0)>0){u=t+1092|0;v=s+52|0;y=t+4|0;k=M;M=0;while(1){if((k|0)>0){_=k;w=0;S=0;while(1){if((r[y+(S<<2)>>2]|0)==(M|0)){r[f+(w<<2)>>2]=(r[h+(S<<2)>>2]|0)!=0&1;r[p+(w<<2)>>2]=r[(r[e>>2]|0)+(S<<2)>>2];A=r[d>>2]|0;T=w+1|0}else{A=_;T=w}S=S+1|0;if((S|0)>=(A|0)){C=T;break}else{_=A;w=T}}}else C=0;w=r[u+(M<<2)>>2]|0;Pi[r[(r[464+(r[o+1312+(w<<2)>>2]<<2)>>2]|0)+28>>2]&7](e,r[(r[v>>2]|0)+(w<<2)>>2]|0,p,f,C)|0;w=M+1|0;if((w|0)>=(r[t>>2]|0))break;k=r[d>>2]|0;M=w}E=r[a>>2]|0}else E=b;if((E|0)>0?(b=r[e>>2]|0,a=t+1160|0,M=t+2184|0,k=(l|0)/2|0,(l|0)>1):0){l=E;do{E=l;l=l+-1|0;C=r[b+(r[a+(l<<2)>>2]<<2)>>2]|0;f=r[b+(r[M+(l<<2)>>2]<<2)>>2]|0;p=0;do{v=C+(p<<2)|0;$=+c[v>>2];u=f+(p<<2)|0;
O=r[y+(P<<2)>>2]|0;N=r[b+(P<<2)>>2]|0;if(C){L=0;do{H=F+(L+T<<2)|0;B=+c[H>>2];j=B*B;V=O+(L<<2)|0;c[V>>2]=j;c[N+(L<<2)>>2]=j;if(+c[H>>2]<0)c[V>>2]=-+c[V>>2];V=U+(L<<2)|0;j=+c[V>>2];c[V>>2]=j*j;L=L+1|0}while((L|0)<(I|0));q=O;z=N}else{q=O;z=N}}else G=20}else G=20;if((G|0)==20){G=0;q=r[y+(P<<2)>>2]|0;z=r[b+(P<<2)>>2]|0}+Nt(r[h>>2]|0,_,q,z,U,0,T,I,R)}P=P+1|0}while((P|0)!=(u|0))}P=r[S>>2]|0;if((P|0)>0){C=(I|0)>0;x=l-T|0;L=_-T|0;F=P;V=0;while(1){H=r[i+1160+(V<<2)>>2]|0;K=r[i+2184+(V<<2)>>2]|0;Y=(r[o+(H<<2)>>2]|0)+(T<<2)|0;X=(r[o+(K<<2)>>2]|0)+(T<<2)|0;J=r[y+(H<<2)>>2]|0;Z=r[y+(K<<2)>>2]|0;Q=r[b+(H<<2)>>2]|0;ee=r[b+(K<<2)>>2]|0;te=r[w+(H<<2)>>2]|0;ne=r[w+(K<<2)>>2]|0;ie=r[k+(H<<2)>>2]|0;ae=r[k+(K<<2)>>2]|0;re=M+(H<<2)|0;H=M+(K<<2)|0;if((r[re>>2]|0)==0?(r[H>>2]|0)==0:0)oe=F;else{r[H>>2]=1;r[re>>2]=1;if(C){re=0;do{do if((re|0)<(x|0)){H=ie+(re<<2)|0;K=Z+(re<<2)|0;j=+c[K>>2];se=J+(re<<2)|0;B=+c[se>>2];le=ae+(re<<2)|0;if((r[H>>2]|0)==0?(r[le>>2]|0)==0:0){ce=B+j;if((re|0)<(L|0)){c[se>>2]=ce;c[Q+(re<<2)>>2]=+D(+ce)}else{de=+D(+j)+ +D(+B);c[Q+(re<<2)>>2]=de;c[se>>2]=ce<0?-de:de}c[ee+(re<<2)>>2]=0;c[K>>2]=0;r[le>>2]=1;r[X+(re<<2)>>2]=0;break}c[se>>2]=+D(+j)+ +D(+B);se=Q+(re<<2)|0;c[se>>2]=+c[ee+(re<<2)>>2]+ +c[se>>2];r[le>>2]=1;r[H>>2]=1;H=Y+(re<<2)|0;le=r[H>>2]|0;se=X+(re<<2)|0;K=r[se>>2]|0;if((((le|0)>-1?le:0-le|0)|0)>(((K|0)>-1?K:0-K|0)|0)){ue=(le|0)>0?le-K|0:K-le|0;pe=se}else{r[se>>2]=(K|0)>0?le-K|0:K-le|0;ue=K;pe=H}r[pe>>2]=ue;K=r[se>>2]|0;le=r[H>>2]|0;if((K|0)>=(((le|0)>-1?le:0-le|0)<<1|0)){r[se>>2]=0-K;r[H>>2]=0-(r[H>>2]|0)}}while(0);H=te+(re<<2)|0;K=ne+(re<<2)|0;B=+c[K>>2]+ +c[H>>2];c[K>>2]=B;c[H>>2]=B;re=re+1|0}while((re|0)<(I|0))}+Nt(r[h>>2]|0,_,J,Q,te,ie,T,I,Y);oe=r[S>>2]|0}V=V+1|0;if((V|0)>=(oe|0)){fe=oe;break}else F=oe}}else fe=P;T=T+g|0}while((f|0)>(T|0));me=fe}else me=E;if((me|0)>0){he=me;ge=0}else{m=p;return}while(1){me=s+(r[i+1160+(ge<<2)>>2]<<2)|0;E=i+2184+(ge<<2)|0;if((r[me>>2]|0)==0?(r[s+(r[E>>2]<<2)>>2]|0)==0:0)_e=he;else{r[me>>2]=1;r[s+(r[E>>2]<<2)>>2]=1;_e=r[S>>2]|0}ge=ge+1|0;if((ge|0)>=(_e|0))break;else he=_e}m=p;return}function Nt(e,t,n,i,a,o,s,l,u){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;o=o|0;s=s|0;l=l|0;u=u|0;var f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,T=0,C=0,E=0,$=0,I=0,x=0,P=0,D=0,O=0;f=m;h=m;m=m+((1*(l<<2)|0)+15&-16)|0;if(!(r[e+500>>2]|0))g=l;else g=(r[e+504>>2]|0)-s|0;_=(g|0)>(l|0)?l:g;e:do if((_|0)>0){if(!o){g=0;while(1){v=+c[n+(g<<2)>>2]<0;y=+Gn(+R(+(+c[i+(g<<2)>>2]/+c[a+(g<<2)>>2])));r[u+(g<<2)>>2]=~~(v?-y:y);g=g+1|0;if((g|0)>=(_|0)){b=_;break e}}}else w=0;do{if(!(r[o+(w<<2)>>2]|0)){g=+c[n+(w<<2)>>2]<0;y=+Gn(+R(+(+c[i+(w<<2)>>2]/+c[a+(w<<2)>>2])));r[u+(w<<2)>>2]=~~(g?-y:y)}w=w+1|0}while((w|0)<(_|0));b=_}else b=0;while(0);if((b|0)>=(l|0)){k=0;m=f;return+k}_=t-s|0;if(!o){y=0;s=0;t=b;while(1){w=i+(t<<2)|0;M=+c[a+(t<<2)>>2];S=+c[w>>2]/M;if(S<.25){r[h+(s<<2)>>2]=w;A=S+y;T=s+1|0}else{g=+c[n+(t<<2)>>2]<0;C=+Gn(+R(+S));v=~~(g?-C:C);r[u+(t<<2)>>2]=v;c[w>>2]=+(W(v,v)|0)*M;A=y;T=s}t=t+1|0;if((t|0)==(l|0)){E=A;$=T;break}else{y=A;s=T}}}else{A=0;T=0;s=b;while(1){do if(!(r[o+(s<<2)>>2]|0)){b=i+(s<<2)|0;y=+c[a+(s<<2)>>2];M=+c[b>>2]/y;if(!(M<.25)|(s|0)<(_|0)){t=+c[n+(s<<2)>>2]<0;C=+Gn(+R(+M));v=~~(t?-C:C);r[u+(s<<2)>>2]=v;c[b>>2]=+(W(v,v)|0)*y;I=A;x=T;break}else{r[h+(T<<2)>>2]=b;I=M+A;x=T+1|0;break}}else{I=A;x=T}while(0);s=s+1|0;if((s|0)==(l|0)){E=I;$=x;break}else{A=I;T=x}}}if(!$){k=E;m=f;return+k}Ln(h,$,4,12);if(($|0)<=0){k=E;m=f;return+k}x=i;I=+d[e+512>>3];A=E;e=0;while(1){i=r[h+(e<<2)>>2]|0;T=i-x>>2;if(!(A>=I)){P=0;D=A;O=0}else{P=+c[a+(T<<2)>>2];D=A+-1;O=~~(r[p>>2]=r[n+(T<<2)>>2]&-2147483648|1065353216,+c[p>>2])}r[u+(T<<2)>>2]=O;c[i>>2]=P;e=e+1|0;if((e|0)==($|0)){k=D;break}else A=D}m=f;return+k}function Lt(e,t){e=e|0;t=t|0;var n=0,i=0;n=+c[r[e>>2]>>2];i=+c[r[t>>2]>>2];return(n<i&1)-(n>i&1)|0}function Ft(e,t,n,i,a){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;var o=0,s=0,l=0,d=0,u=0,p=0,f=0,m=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,T=0,C=0,E=0,$=0,I=0,x=0,P=0,D=0,R=0,O=0,N=0,L=0,F=0,U=0,B=0,H=0,j=0,V=0,q=0;o=r[e>>2]|0;s=r[e+((t+-1|0)*56|0)+4>>2]|0;if((t|0)>0){l=+c[a+1108>>2];d=0;a=0;u=0;p=0;f=0;m=0;while(1){h=r[e+(a*56|0)+52>>2
}t=e+12|0;n=r[t>>2]|0;if(n|0){Xn(r[n>>2]|0);Xn(r[(r[t>>2]|0)+4>>2]|0);Xn(r[(r[t>>2]|0)+8>>2]|0);Xn(r[t>>2]|0)}t=e;e=t+52|0;do{r[t>>2]=0;t=t+4|0}while((t|0)<(e|0));return}function on(e){e=e|0;if(!e)return;Xn(e);return}function sn(e){e=e|0;var t=0;t=e;e=t+48|0;do{r[t>>2]=0;t=t+4|0}while((t|0)<(e|0));return}function ln(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,T=0,C=0,E=0,$=0,I=0,x=0,P=0;i=m;m=m+144|0;a=i;o=(n|0)!=0;s=Yn((o?n:t)<<2)|0;ai(a|0,0,132)|0;l=(t|0)>0;e:do if(l){c=a+4|0;d=(n|0)==0&1;u=0;p=0;t:while(1){f=r[e+(p<<2)>>2]|0;n:do if((f|0)>0){h=r[a+(f<<2)>>2]|0;if(!((f|0)>31|(h>>>f|0)==0))break t;g=u+1|0;r[s+(u<<2)>>2]=h;_=a+(f<<2)|0;i:do if(!(h&1)){v=h;y=_;b=f;while(1){r[y>>2]=v+1;w=b+-1|0;if((b|0)<=1)break i;v=r[a+(w<<2)>>2]|0;k=a+(w<<2)|0;if(v&1|0){M=k;S=w;A=7;break}else{y=k;b=w}}}else{M=_;S=f;A=7}while(0);do if((A|0)==7){A=0;if((S|0)==1){r[c>>2]=(r[c>>2]|0)+1;break}else{r[M>>2]=r[a+(S+-1<<2)>>2]<<1;break}}while(0);_=f+1|0;if((_|0)<33){b=h;y=f;v=_;while(1){_=a+(v<<2)|0;w=b;b=r[_>>2]|0;if((b>>>1|0)!=(w|0)){T=g;break n}r[_>>2]=r[a+(y<<2)>>2]<<1;_=v+1|0;if((_|0)>=33){T=g;break}else{w=v;v=_;y=w}}}else T=g}else T=u+d|0;while(0);p=p+1|0;if((p|0)>=(t|0))break e;else u=T}Xn(s);C=0;m=i;return C|0}while(0);e:do if((n|0)!=1){T=1;while(1){if(r[a+(T<<2)>>2]&-1>>>(32-T|0)|0)break;T=T+1|0;if((T|0)>=33)break e}Xn(s);C=0;m=i;return C|0}while(0);if(!l){C=s;m=i;return C|0}if(o){E=0;$=0}else{o=0;do{l=r[e+(o<<2)>>2]|0;a=s+(o<<2)|0;if((l|0)>0){n=r[a>>2]|0;T=0;S=0;while(1){M=n>>>T&1|S<<1;T=T+1|0;if((T|0)>=(l|0)){I=M;break}else S=M}}else I=0;o=o+1|0;r[a>>2]=I}while((o|0)!=(t|0));C=s;m=i;return C|0}while(1){o=r[e+($<<2)>>2]|0;if((o|0)>0){I=r[s+(E<<2)>>2]|0;S=0;l=0;while(1){T=I>>>S&1|l<<1;S=S+1|0;if((S|0)>=(o|0)){x=T;break}else l=T}}else x=0;if(!o)P=E;else{r[s+(E<<2)>>2]=x;P=E+1|0}$=$+1|0;if(($|0)==(t|0)){C=s;break}else E=P}m=i;return C|0}function cn(e,t){e=e|0;t=t|0;var n=0;n=r[r[e>>2]>>2]|0;e=r[r[t>>2]>>2]|0;return(n>>>0>e>>>0&1)-(n>>>0<e>>>0&1)|0}function dn(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,o=0,s=0,l=0,d=0,u=0,p=0,f=0,m=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,T=0,C=0,E=0;i=r[e+12>>2]|0;if((i+-1|0)>>>0>=2){a=0;return a|0}o=r[e+16>>2]|0;s=+(o&2097151|0);l=+Wn((o|0)<0?-s:s,(o>>>21&1023)+-788|0);o=r[e+20>>2]|0;s=+(o&2097151|0);d=+Wn((o|0)<0?-s:s,(o>>>21&1023)+-788|0);o=r[e>>2]|0;u=Jn(W(o,t)|0,4)|0;switch(i|0){case 1:{i=r[e+4>>2]|0;if((o|0)<=0)while(1){}t=~~+P(+ +O(+ +(i|0),+(1/+(o|0))));while(1){p=t+1|0;f=1;m=1;h=0;do{f=W(f,t)|0;m=W(m,p)|0;h=h+1|0}while((h|0)!=(o|0));if((m|0)>(i|0)&(f|0)<=(i|0))break;else t=((f|0)>(i|0)?-1:1)+t|0}if((i|0)<=0){a=u;return a|0}h=(n|0)==0;p=e+8|0;g=e+32|0;s=d;_=l;v=e+28|0;y=0;b=0;while(1){if(h){w=r[g>>2]|0;k=W(y,o)|0;if(!(r[v>>2]|0)){M=1;S=0;do{c[u+(k+S<<2)>>2]=_+ +D(+ +(r[w+((((b|0)/(M|0)|0|0)%(t|0)|0)<<2)>>2]|0))*s;M=W(M,t)|0;S=S+1|0}while((S|0)<(o|0));A=21}else{S=1;M=0;T=0;do{T=T+_+ +D(+ +(r[w+((((b|0)/(S|0)|0|0)%(t|0)|0)<<2)>>2]|0))*s;c[u+(k+M<<2)>>2]=T;S=W(S,t)|0;M=M+1|0}while((M|0)<(o|0));A=21}}else if(r[(r[p>>2]|0)+(b<<2)>>2]|0){M=r[g>>2]|0;S=W(r[n+(y<<2)>>2]|0,o)|0;if(!(r[v>>2]|0)){k=1;w=0;do{c[u+(S+w<<2)>>2]=_+ +D(+ +(r[M+((((b|0)/(k|0)|0|0)%(t|0)|0)<<2)>>2]|0))*s;k=W(k,t)|0;w=w+1|0}while((w|0)<(o|0));A=21}else{w=1;k=0;T=0;do{T=T+_+ +D(+ +(r[M+((((b|0)/(w|0)|0|0)%(t|0)|0)<<2)>>2]|0))*s;c[u+(S+k<<2)>>2]=T;w=W(w,t)|0;k=k+1|0}while((k|0)<(o|0));A=21}}else C=y;if((A|0)==21){A=0;C=y+1|0}b=b+1|0;if((b|0)>=(i|0)){a=u;break}else y=C}return a|0}case 2:{C=r[e+4>>2]|0;if((C|0)<=0){a=u;return a|0}y=(n|0)!=0;i=e+8|0;b=e+32|0;s=d;d=l;A=e+28|0;e=(o|0)>0;t=0;v=0;while(1){if(y?(r[(r[i>>2]|0)+(v<<2)>>2]|0)==0:0)E=t;else{if(e){g=r[b>>2]|0;p=(r[A>>2]|0)==0;if(y){h=W(o,v)|0;k=W(r[n+(t<<2)>>2]|0,o)|0;if(p){w=0;do{c[u+(k+w<<2)>>2]=d+ +D(+ +(r[g+(h+w<<2)>>2]|0))*s;w=w+1|0}while((w|0)<(o|0))}else{w=0;l=0;do{l=l+d+ +D(+ +(r[g+(h+w<<2)>>2]|0))*s;c[u+(k+w<<2)>>2]=l;w=w+1|0}while((w|0)<(o|0))}}else{w=W(o,v)|0;k=W(t,o)|0;if(p){h=0;do{c[u+(k+h<<2)>>2]=d+ +D(+ +(r[g+(w+h<<2)>>2]|0))*s;h=h+1|0}while((h|0)<(o|0))}else{h=0;l=0;do{l=l+d+ +D(+ +(r[g+(w+h<<2)>>2]
b=l<<p;l=(b+245760|0)>>>16&2;s=14-(p|u|l)+(b<<l>>>15)|0;P=y>>>(s+7|0)&1|s<<1}else P=0;s=r[58292+(P<<2)>>2]|0;e:do if(!s){D=_;R=0;O=0;N=81}else{l=_;b=0;u=y<<((P|0)==31?0:25-(P>>>1)|0);p=s;v=0;while(1){c=(r[p+4>>2]&-8)-y|0;if(c>>>0<l>>>0)if(!c){L=0;F=p;U=p;N=85;break e}else{B=c;H=p}else{B=l;H=v}c=r[p+20>>2]|0;p=r[p+16+(u>>>31<<2)>>2]|0;f=(c|0)==0|(c|0)==(p|0)?b:c;c=(p|0)==0;if(c){D=B;R=f;O=H;N=81;break}else{l=B;b=f;u=u<<((c^1)&1);v=H}}}while(0);if((N|0)==81){if((R|0)==0&(O|0)==0){s=2<<P;_=h&(s|0-s);if(!_){x=y;break}s=(_&0-_)+-1|0;_=s>>>12&16;i=s>>>_;s=i>>>5&8;a=i>>>s;i=a>>>2&4;o=a>>>i;a=o>>>1&2;d=o>>>a;o=d>>>1&1;j=r[58292+((s|_|i|a|o)+(d>>>o)<<2)>>2]|0;V=0}else{j=R;V=O}if(!j){q=D;z=V}else{L=D;F=j;U=V;N=85}}if((N|0)==85)while(1){N=0;o=(r[F+4>>2]&-8)-y|0;d=o>>>0<L>>>0;a=d?o:L;o=d?F:U;F=r[F+16+(((r[F+16>>2]|0)==0&1)<<2)>>2]|0;if(!F){q=a;z=o;break}else{L=a;U=o;N=85}}if((z|0)!=0?q>>>0<((r[14499]|0)-y|0)>>>0:0){o=r[14501]|0;if(z>>>0<o>>>0)pe();a=z+y|0;if(z>>>0>=a>>>0)pe();d=r[z+24>>2]|0;i=r[z+12>>2]|0;do if((i|0)==(z|0)){_=z+20|0;s=r[_>>2]|0;if(!s){v=z+16|0;u=r[v>>2]|0;if(!u){W=0;break}else{G=u;K=v}}else{G=s;K=_}while(1){_=G+20|0;s=r[_>>2]|0;if(s|0){G=s;K=_;continue}_=G+16|0;s=r[_>>2]|0;if(!s)break;else{G=s;K=_}}if(K>>>0<o>>>0)pe();else{r[K>>2]=0;W=G;break}}else{_=r[z+8>>2]|0;if(_>>>0<o>>>0)pe();s=_+12|0;if((r[s>>2]|0)!=(z|0))pe();v=i+8|0;if((r[v>>2]|0)==(z|0)){r[s>>2]=i;r[v>>2]=_;W=i;break}else pe()}while(0);e:do if(d){i=r[z+28>>2]|0;o=58292+(i<<2)|0;do if((z|0)==(r[o>>2]|0)){r[o>>2]=W;if(!W){_=h&~(1<<i);r[14498]=_;Y=_;break e}}else if(d>>>0>=(r[14501]|0)>>>0){r[d+16+(((r[d+16>>2]|0)!=(z|0)&1)<<2)>>2]=W;if(!W){Y=h;break e}else break}else pe();while(0);i=r[14501]|0;if(W>>>0<i>>>0)pe();r[W+24>>2]=d;o=r[z+16>>2]|0;do if(o|0)if(o>>>0<i>>>0)pe();else{r[W+16>>2]=o;r[o+24>>2]=W;break}while(0);o=r[z+20>>2]|0;if(o)if(o>>>0<(r[14501]|0)>>>0)pe();else{r[W+20>>2]=o;r[o+24>>2]=W;Y=h;break}else Y=h}else Y=h;while(0);do if(q>>>0>=16){r[z+4>>2]=y|3;r[a+4>>2]=q|1;r[a+q>>2]=q;h=q>>>3;if(q>>>0<256){d=58028+(h<<1<<2)|0;o=r[14497]|0;i=1<<h;if(o&i){h=d+8|0;_=r[h>>2]|0;if(_>>>0<(r[14501]|0)>>>0)pe();else{X=h;J=_}}else{r[14497]=o|i;X=d+8|0;J=d}r[X>>2]=a;r[J+12>>2]=a;r[a+8>>2]=J;r[a+12>>2]=d;break}d=q>>>8;if(d)if(q>>>0>16777215)Z=31;else{i=(d+1048320|0)>>>16&8;o=d<<i;d=(o+520192|0)>>>16&4;_=o<<d;o=(_+245760|0)>>>16&2;h=14-(d|i|o)+(_<<o>>>15)|0;Z=q>>>(h+7|0)&1|h<<1}else Z=0;h=58292+(Z<<2)|0;r[a+28>>2]=Z;o=a+16|0;r[o+4>>2]=0;r[o>>2]=0;o=1<<Z;if(!(Y&o)){r[14498]=Y|o;r[h>>2]=a;r[a+24>>2]=h;r[a+12>>2]=a;r[a+8>>2]=a;break}o=q<<((Z|0)==31?0:25-(Z>>>1)|0);_=r[h>>2]|0;while(1){if((r[_+4>>2]&-8|0)==(q|0)){N=139;break}Q=_+16+(o>>>31<<2)|0;h=r[Q>>2]|0;if(!h){N=136;break}else{o=o<<1;_=h}}if((N|0)==136)if(Q>>>0<(r[14501]|0)>>>0)pe();else{r[Q>>2]=a;r[a+24>>2]=_;r[a+12>>2]=a;r[a+8>>2]=a;break}else if((N|0)==139){o=_+8|0;h=r[o>>2]|0;i=r[14501]|0;if(h>>>0>=i>>>0&_>>>0>=i>>>0){r[h+12>>2]=a;r[o>>2]=a;r[a+8>>2]=h;r[a+12>>2]=_;r[a+24>>2]=0;break}else pe()}}else{h=q+y|0;r[z+4>>2]=h|3;o=z+h+4|0;r[o>>2]=r[o>>2]|1}while(0);g=z+8|0;m=t;return g|0}else x=y}else x=y}else x=-1;while(0);z=r[14499]|0;if(z>>>0>=x>>>0){q=z-x|0;Q=r[14502]|0;if(q>>>0>15){Z=Q+x|0;r[14502]=Z;r[14499]=q;r[Z+4>>2]=q|1;r[Z+q>>2]=q;r[Q+4>>2]=x|3}else{r[14499]=0;r[14502]=0;r[Q+4>>2]=z|3;q=Q+z+4|0;r[q>>2]=r[q>>2]|1}g=Q+8|0;m=t;return g|0}Q=r[14500]|0;if(Q>>>0>x>>>0){q=Q-x|0;r[14500]=q;z=r[14503]|0;Z=z+x|0;r[14503]=Z;r[Z+4>>2]=q|1;r[z+4>>2]=x|3;g=z+8|0;m=t;return g|0}if(!(r[14615]|0)){r[14617]=4096;r[14616]=4096;r[14618]=-1;r[14619]=-1;r[14620]=0;r[14608]=0;z=n&-16^1431655768;r[n>>2]=z;r[14615]=z;ee=4096}else ee=r[14617]|0;z=x+48|0;n=x+47|0;q=ee+n|0;Z=0-ee|0;ee=q&Z;if(ee>>>0<=x>>>0){g=0;m=t;return g|0}Y=r[14607]|0;if(Y|0?(J=r[14605]|0,X=J+ee|0,X>>>0<=J>>>0|X>>>0>Y>>>0):0){g=0;m=t;return g|0}e:do if(!(r[14608]&4)){Y=r[14503]|0;t:do if(Y){X=58436;while(1){J=r[X>>2]|0;if(J>>>0<=Y>>>0?(te=X+4|0,(J+(r[te>>2]|0)|0)>>>0>Y>>>0):0)break;J=r[X+8>>2]|0;if(!J){N=163;break t}else X=J}_=q-Q&Z;if(_>>>0<2147483647){J=si(_|0)|0;if((J|0)==((r[X>>2]|0)+(r[te>>2]|0)|0))if((J|0)==(-1|0))ne=_;else{ie=J;ae=_;N=180;break e}else{re=J;oe
}};e.exports=a},function(e,t){function n(){function e(){var e=0,n=function(t){return e++,t<2?t:n(t-2)+n(t-1)},a=t();n(30);var r=t()-a;i=e/r}var t,n=this;t=window.performance&&window.performance.now?function(){return window.performance.now()}:function(){return Date.now()};var i=null;Object.defineProperty(n,"speed",{get:function(){return null===i&&e(),i}}),Object.defineProperty(n,"slowCutoff",{get:function(){return 5e4}}),Object.defineProperty(n,"tooSlowCutoff",{get:function(){return 0}}),Object.defineProperty(n,"slow",{get:function(){return n.speed<n.slowCutoff}}),Object.defineProperty(n,"tooSlow",{get:function(){return n.speed<n.tooSlowCutoff}})}e.exports=n}]);var root="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this;!function(e){var t=function(n){var i=this;if(!t.isRecordingSupported())throw new Error("Recording is not supported in this browser");this.state="inactive",this.eventTarget=e.document.createDocumentFragment(),this.audioContext=new e.AudioContext,this.monitorNode=this.audioContext.createGain(),this.config=n=n||{},this.config.command="init",this.config.bufferLength=n.bufferLength||4096,this.config.monitorGain=n.monitorGain||0,this.config.numberOfChannels=n.numberOfChannels||1,this.config.originalSampleRate=this.audioContext.sampleRate,this.config.encoderSampleRate=n.encoderSampleRate||48e3,this.config.encoderPath=n.encoderPath||"encoderWorker.min.js",this.config.streamPages=n.streamPages||!1,this.config.leaveStreamOpen=n.leaveStreamOpen||!1,this.config.maxBuffersPerPage=n.maxBuffersPerPage||40,this.config.encoderApplication=n.encoderApplication||2049,this.config.encoderFrameSize=n.encoderFrameSize||20,this.config.resampleQuality=n.resampleQuality||3,this.config.streamOptions=n.streamOptions||{optional:[],mandatory:{googEchoCancellation:!1,googAutoGainControl:!1,googNoiseSuppression:!1,googHighpassFilter:!1}},this.setMonitorGain(this.config.monitorGain),this.scriptProcessorNode=this.audioContext.createScriptProcessor(this.config.bufferLength,this.config.numberOfChannels,this.config.numberOfChannels),this.scriptProcessorNode.onaudioprocess=function(e){i.encodeBuffers(e.inputBuffer)}};t.isRecordingSupported=function(){return e.AudioContext&&e.navigator&&(e.navigator.getUserMedia||e.navigator.mediaDevices&&e.navigator.mediaDevices.getUserMedia)},t.prototype.addEventListener=function(e,t,n){this.eventTarget.addEventListener(e,t,n)},t.prototype.clearStream=function(){this.stream&&(this.stream.getTracks?this.stream.getTracks().forEach(function(e){e.stop()}):this.stream.stop(),delete this.stream)},t.prototype.encodeBuffers=function(e){if("recording"===this.state){for(var t=[],n=0;n<e.numberOfChannels;n++)t[n]=e.getChannelData(n);this.encoder.postMessage({command:"encode",buffers:t})}},t.prototype.initStream=function(){var t=this,n=function(n){return t.stream=n,t.sourceNode=t.audioContext.createMediaStreamSource(n),t.sourceNode.connect(t.scriptProcessorNode),t.sourceNode.connect(t.monitorNode),t.eventTarget.dispatchEvent(new e.Event("streamReady")),n},i=function(n){t.eventTarget.dispatchEvent(new e.ErrorEvent("streamError",{error:n}))},a={audio:this.config.streamOptions};return this.stream?(this.eventTarget.dispatchEvent(new e.Event("streamReady")),e.Promise.resolve(this.stream)):e.navigator.mediaDevices&&e.navigator.mediaDevices.getUserMedia?e.navigator.mediaDevices.getUserMedia(a).then(n,i):e.navigator.getUserMedia?new e.Promise(function(t,n){e.navigator.getUserMedia(a,t,n)}).then(n,i):void 0},t.prototype.pause=function(){"recording"===this.state&&(this.state="paused",this.eventTarget.dispatchEvent(new e.Event("pause")))},t.prototype.removeEventListener=function(e,t,n){this.eventTarget.removeEventListener(e,t,n)},t.prototype.resume=function(){"paused"===this.state&&(this.state="recording",this.eventTarget.dispatchEvent(new e.Event("resume")))},t.prototype.setMonitorGain=function(e){this.monitorNode.gain.value=e},t.prototype.start=function(){if("inactive"===this.state&&this.stream){var t=this;this.encoder=new e.Worker(this.config.encoderPath),this.config.stre
c="webkitvisibilitychange")),{start:i}}]).service("GeoLocationManager",["$q",function(e){function t(){return void 0!==navigator.geolocation}function n(n){if(!n&&i)return e.when(i);if(!t())return e.reject();var a=e.defer();return navigator.geolocation.getCurrentPosition(function(e){i={lat:e.coords.latitude,"long":e.coords.longitude},a.resolve(i)},function(e){a.reject(e)}),a.promise}var i=!1;return{getPosition:n,isAvailable:t}}]).service("AppRuntimeManager",["$window",function(e){return{reload:function(){try{location.reload()}catch(t){}e.chrome&&chrome.runtime&&chrome.runtime.reload&&chrome.runtime.reload()},close:function(){try{e.close()}catch(t){}},focus:function(){window.navigator.mozApps&&document.hidden?window.navigator.mozApps.getSelf().onsuccess=function(){this.result.launch()}:(window.chrome&&chrome.app&&chrome.app.window&&chrome.app.window.current().focus(),window.focus())}}}]).service("RichTextProcessor",["$sce","$sanitize",function(e,t){function n(e){for(var t,n,i,a,r=0;r<Config.EmojiCategories.length;r++)if(a=Config.EmojiCategorySpritesheetDimens[r][1],t=Config.EmojiCategories[r].indexOf(e),t>-1)return n=Math.floor(t/a),i=t%a,{category:r,row:n,column:i};return console.error("emoji not found in spritesheet",e),null}function i(e,t){t=t||{};for(var i,a,r,o,s,l=e,c=[],u=0;i=l.match(A);){if(s=u+i.index,i[3])c.push({_:"messageEntityMention",offset:s+i[1].length,length:i[2].length+i[3].length});else if(i[4])if(T.test(i[4]))c.push({_:"messageEntityEmail",offset:s,length:i[4].length});else{var a=!1,p=i[5],f=i[6],m="";if(f){if(p||"xn--"!==f.substr(0,4)&&Config.TLD.indexOf(f.toLowerCase())===-1||(p="http://"),p){var g=d(i[4]);g.length!==i[4].length&&(m=i[4].substring(g.length),i[4]=g),a=(i[5]?"":p)+i[4]}}else a=(i[5]?"":"http://")+i[4];a&&c.push({_:"messageEntityUrl",offset:s,length:i[4].length})}else i[7]?c.push({_:"messageEntityLinebreak",offset:s,length:1}):i[8]?(r=EmojiHelper.emojiMap[i[8]])&&(o=n(r))&&c.push({_:"messageEntityEmoji",offset:s,length:i[0].length,coords:o,title:h[r][1][0]}):i[10]?c.push({_:"messageEntityHashtag",offset:s+i[9].length,length:i[10].length}):i[12]&&c.push({_:"messageEntityBotCommand",offset:s+i[11].length,length:1+i[12].length+(i[13]?1+i[13].length:0)});l=l.substr(i.index+i[0].length),u+=i.index+i[0].length}return c}function a(e){return e.replace(/:([a-z0-9\-\+\*_]+?):/gi,function(e,t){var n=EmojiHelper.shortcuts[t];return void 0!==n?EmojiHelper.emojis[n][0]:e})}function r(e,t,n){if(!C.test(e))return n?e:e.trim();for(var i,a,r=e,o=[],s=0;i=r.match(E);){a=s+i.index,o.push(r.substr(0,i.index));var e=i[3]||i[8]||i[11];s-=e.length,e=e.replace(/^\s+|\s+$/g,""),s+=e.length,e.match(/^`*$/)?o.push(i[0]):i[3]?("\n"==i[5]&&(i[5]="",s-=1),o.push(i[1]+e+i[5]),t.push({_:"messageEntityPre",language:"",offset:a+i[1].length,length:e.length}),s-=i[2].length+i[4].length):i[7]?(o.push(i[6]+e+i[9]),t.push({_:x[i[7]],offset:a+i[6].length,length:e.length}),s-=2*i[7].length):i[11]&&(o.push(e),t.push({_:"messageEntityMentionName",user_id:i[10],offset:a,length:e.length}),s-=i[0].length-e.length),r=r.substr(i.index+i[0].length),s+=i.index+i[0].length}return o.push(r),o=o.join(""),o.replace(/\s+/g,"").length||(o=e,t.splice(0,t.length)),t.length||n||(o=o.trim()),o}function o(e,t,n){var i,a,r,o,s,l,c,d,u,p=t.slice(),f=e.length,m=t.length,h=0;for(i=0;i<f;i++)if(r=e[i],!n||"messageEntityLinebreak"==r._||"messageEntityEmoji"==r._){for(s=r.offset,l=s+r.length,u=!1,a=h;a<m;a++){if(o=t[a],c=o.offset,d=c+o.length,c<=s&&(h=a),s>=c&&s<d||l>c&&l<=d){n&&s>=c&&l<=d&&(void 0===o.nested&&(o.nested=[]),r.offset-=c,o.nested.push(angular.copy(r))),u=!0;break}if(c>=l)break}u||p.push(r)}return p.sort(function(e,t){return e.offset-t.offset}),p}function s(e,t,n){return void 0===t?encodeEntities(e):(n.hasNested=!0,l(e,{entities:t,nested:!0}))}function l(n,a){if(!n||!n.length)return"";a=a||{};var r=a.entities,o=a.contextSite||"Telegram",l="Telegram"!=o,c=!1;void 0===r&&(r=i(n,a));var d,p,m,h,_=0,v=r.length,y=[],b=0,w=a.emojiIconSize||g;for(_=0;_<v;_++){if(d=r[_],d.offset>b)y.push(encodeEntities(n.substr(b,d.offset-b)));else if(d.offset<b)con
var n=this;i.get("dc").then(function(e){t&&(e!=n.dcID||n.upload||n.sleepAfter&&tsNow()>n.sleepAfter)||n.sendLongPoll()})},u.prototype.sendLongPoll=function(){var e=25e3,t=this;this.longPollPending=tsNow()+e,this.wrapMtpCall("http_wait",{max_delay:500,wait_after:150,max_wait:e},{noResponse:!0,longPoll:!0}).then(function(){delete t.longPollPending,setZeroTimeout(t.checkLongPoll.bind(t))},function(){console.log("Long-poll failed")})},u.prototype.pushMessage=function(e,t){var n=s.defer();return this.sentMessages[e.msg_id]=angular.extend(e,t||{},{deferred:n}),this.pendingMessages[e.msg_id]=0,t&&t.noShedule||this.sheduleRequest(),angular.isObject(t)&&(t.messageID=e.msg_id),n.promise},u.prototype.pushResend=function(e,t){var n=t?tsNow()+t:0,i=this.sentMessages[e];if(i.container)for(var a=0;a<i.inner.length;a++)this.pendingMessages[i.inner[a]]=n;else this.pendingMessages[e]=n;this.sheduleRequest(t)},u.prototype.getMsgKeyIv=function(e,t){var n=this.authKeyUint8,i=t?0:8,r=new Uint8Array(48),o=new Uint8Array(48),l=new Uint8Array(48),c=new Uint8Array(48),d={};return r.set(e,0),r.set(n.subarray(i,i+32),16),d.sha1a=a.sha1Hash(r),o.set(n.subarray(i+32,i+48),0),o.set(e,16),o.set(n.subarray(i+48,i+64),32),d.sha1b=a.sha1Hash(o),l.set(n.subarray(i+64,i+96),0),l.set(e,32),d.sha1c=a.sha1Hash(l),c.set(e,0),c.set(n.subarray(i+96,i+128),16),d.sha1d=a.sha1Hash(c),s.all(d).then(function(e){var t=new Uint8Array(32),n=new Uint8Array(32);return sha1a=new Uint8Array(e.sha1a),sha1b=new Uint8Array(e.sha1b),sha1c=new Uint8Array(e.sha1c),sha1d=new Uint8Array(e.sha1d),t.set(sha1a.subarray(0,8)),t.set(sha1b.subarray(8,20),8),t.set(sha1c.subarray(4,16),20),n.set(sha1a.subarray(8,20)),n.set(sha1b.subarray(0,8),12),n.set(sha1c.subarray(16,20),20),n.set(sha1d.subarray(0,8),24),[t,n]})},u.prototype.checkConnection=function(e){d.offlineConnecting=!0,console.log(dT(),"Check connection",e),l.cancel(this.checkConnectionPromise);var n=new TLSerialization({mtproto:!0}),i=[nextRandomInt(4294967295),nextRandomInt(4294967295)];n.storeMethod("ping",{ping_id:i});var a={msg_id:t.generateID(),seq_no:this.generateSeqNo(!0),body:n.getBytes()},r=this;this.sendEncryptedRequest(a,{timeout:15e3}).then(function(e){delete d.offlineConnecting,r.toggleOffline(!1)},function(){console.log(dT(),"Delay ",1e3*r.checkConnectionPeriod),r.checkConnectionPromise=l(r.checkConnection.bind(r),parseInt(1e3*r.checkConnectionPeriod)),r.checkConnectionPeriod=Math.min(60,1.5*r.checkConnectionPeriod),l(function(){delete d.offlineConnecting},1e3)})},u.prototype.toggleOffline=function(e){return(void 0===this.offline||this.offline!=e)&&(this.offline=e,d.offline=e,d.offlineConnecting=!1,void(this.offline?(l.cancel(this.nextReqPromise),delete this.nextReq,this.checkConnectionPeriod<1.5&&(this.checkConnectionPeriod=0),this.checkConnectionPromise=l(this.checkConnection.bind(this),parseInt(1e3*this.checkConnectionPeriod)),this.checkConnectionPeriod=Math.min(30,1.5*(1+this.checkConnectionPeriod)),this.onOnlineCb=this.checkConnection.bind(this),$(document.body).on("online focus",this.onOnlineCb)):(delete this.longPollPending,this.checkLongPoll(),this.sheduleRequest(),this.onOnlineCb&&$(document.body).off("online focus",this.onOnlineCb),l.cancel(this.checkConnectionPromise))))},u.prototype.performSheduledRequest=function(){if(this.offline||_)return console.log(dT(),"Cancel sheduled"),!1;if(delete this.nextReq,this.pendingAcks.length){for(var e=[],n=0;n<this.pendingAcks.length;n++)e.push(this.pendingAcks[n]);this.wrapMtpMessage({_:"msgs_ack",msg_ids:e},{notContentRelated:!0,noShedule:!0})}if(this.pendingResends.length){for(var i=[],a={noShedule:!0,notContentRelated:!0},n=0;n<this.pendingResends.length;n++)i.push(this.pendingResends[n]);this.wrapMtpMessage({_:"msg_resend_req",msg_ids:i},a),this.lastResendReq={req_msg_id:a.messageID,resend_msg_ids:i}}var r,o=[],s=0,l=tsNow(),c=!1,d=!1,u=!1,p=0,f=this;if(angular.forEach(this.pendingMessages,function(e,t){if(!e||e>=l){if(r=f.sentMessages[t]){var n=(r.body.byteLength||r.body.length)+32;if(!r.notContentRelated&&u)return;if(!r.notContentRelated&&s&&s+n>655360)return vo
var e={id:s,first_name:(this.result.givenName||[]).join(" "),last_name:(this.result.familyName||[]).join(" "),phones:[]};if(void 0!=this.result.tel)for(var t=0;t<this.result.tel.length;t++)e.phones.push(this.result.tel[t].value);if(this.result.photo&&this.result.photo[0])try{e.photo=i.getUrl(this.result.photo[0])}catch(a){}e.photo||(e.photo="img/placeholders/UserAvatar"+(Math.abs(s)%8+1)+"@2x.png"),e.photo=n.trustAsResourceUrl(e.photo),s++,o.push(e)}return!this.result||s>=1e3?void r.resolve(o):void this["continue"]()},t.onerror=function(e){console.log("phonebook error",e,e.type,e.message),r.reject(e)},r.promise}return{isAvailable:a,openPhonebookImport:r,getPhonebookContacts:o}}]).service("AppChatsManager",["$q","$rootScope","$modal","_","MtpApiManager","AppUsersManager","AppPhotosManager","RichTextProcessor",function(e,t,n,i,a,r,o,s){function l(e){angular.forEach(e,c)}function c(e){if(angular.isObject(e)){e.rTitle=s.wrapRichText(e.title,{noLinks:!0,noLinebreaks:!0})||i("chat_title_deleted");var n=A[e.id],a=SearchIndexManager.cleanSearchText(e.title||"").split(" "),r=a.shift(),o=a.pop();if(e.initials=r.charAt(0)+(o?o.charAt(0):r.charAt(1)),e.num=Math.abs(e.id>>1)%8+1,void 0===e.pFlags&&(e.pFlags={}),!e.pFlags.min||void 0===n){if(e.username){var l=SearchIndexManager.cleanUsername(e.username);T[l]=e.id}void 0===n?n=A[e.id]=e:(safeReplaceObject(n,e),t.$broadcast("chat_update",e.id)),void 0!==$[e.id]&&safeReplaceObject($[e.id],e&&e.photo&&e.photo.photo_small||{empty:!0})}}}function d(e){return A[e]||{id:e,deleted:!0,access_hash:C[e]}}function u(e,t){if(void 0===A[e])return!1;var n=d(e);if("chatForbidden"==n._||"channelForbidden"==n._||n.pFlags.kicked||n.pFlags.left)return!1;if(n.pFlags.creator)return!0;switch(t){case"send":if("channel"==n._&&!n.pFlags.megagroup&&!n.pFlags.editor)return!1;break;case"edit_title":case"edit_photo":case"invite":if("channel"==n._){if(!n.pFlags.megagroup)return!1;if(!(n.pFlags.editor||"invite"==t&&n.pFlags.democracy))return!1}else if(n.pFlags.admins_enabled&&!n.pFlags.admin)return!1}return!0}function p(e){return T[e]||0}function f(e,t){C[e]=t}function m(e){E[e]=!0}function h(e){var t=A[e];return!((!t||"channel"!=t._&&"channelForbidden"!=t._)&&!C[e])}function g(e){if(E[e])return!0;var t=A[e];return!(!t||"channel"!=t._||!t.pFlags.megagroup)}function _(e){return h(e)&&!g(e)}function v(e){return e||0}function y(e){return e?{_:"inputChannel",channel_id:e,access_hash:d(e).access_hash||C[e]||0}:{_:"inputChannelEmpty"}}function b(e,t){var n=A[e];return angular.isObject(n)&&(t||!n.pFlags.min)}function w(e){var t=d(e);return void 0===$[e]&&($[e]=t&&t.photo&&t.photo.photo_small||{empty:!0}),{placeholder:"img/placeholders/GroupAvatar"+Math.ceil(t.num/2)+"@2x.png",location:$[e]}}function k(e){var t=d(e);return h(e)?(g(e)?"s":"c")+e+"_"+t.access_hash:"g"+e}function M(e,t){var n=angular.copy(t),i=d(e);if(n.participants&&"chatParticipants"==n.participants._&&a.getUserID().then(function(e){var t=i.pFlags.creator||i.pFlags.admins_enabled&&i.pFlags.admin;angular.forEach(n.participants.participants,function(n){n.canLeave=e==n.user_id,n.canKick=!n.canLeave&&(i.pFlags.creator||"chatParticipant"==n._&&(t||e==n.inviter_id)),n.user=r.getUser(n.user_id)})}),n.participants&&"channelParticipants"==n.participants._){var o=i.pFlags.creator||i.pFlags.editor||i.pFlags.moderator;angular.forEach(n.participants.participants,function(e){e.canLeave=!i.pFlags.creator&&"channelParticipantSelf"==e._,e.canKick=o&&"channelParticipant"==e._,e.user=r.getUser(e.user_id)})}return n.about&&(n.rAbout=s.wrapRichText(n.about,{noLinebreaks:!0})),n.peerString=k(e),n.chat=i,n}function S(e,i){var a=t.$new();if(a.chatID=e,h(e)){n.open({templateUrl:templateUrl("channel_modal"),controller:"ChannelModalController",scope:a,windowClass:"chat_modal_window channel_modal_window mobile_modal"})}else{n.open({templateUrl:templateUrl("chat_modal"),controller:"ChatModalController",scope:a,windowClass:"chat_modal_window mobile_modal"})}}var A={},T={},C={},E={},$={};return t.$on("apiUpdate",function(e,n){switch(n._){case"updateChannel":var i=n.channel_id;t.$broadcast
tsNow()-e.time<36e5))&&e.peer})}function A(e,t,i){n.$broadcast("history_focus",{peerString:t,attachment:{_:"inline_query",mention:"@"+f.getUser(e).username,query:i}})}function T(e,t){var n=s.getMessage(e),i=n.viaBotID||n.fromID;if(t.pFlags&&t.pFlags.same_peer){var a=s.getMessagePeer(n),r=m.getPeerString(a);return void A(i,r,t.query)}return S(i).then(function(e){return e?A(i,e,t.query):void g.selectPeer({canSend:!0}).then(function(e){return A(i,e,t.query)})})}function C(e,t){var n=s.getMessage(e),i=(n.fromID,s.getMessagePeer(n));return o.invokeApi("messages.getBotCallbackAnswer",{flags:1,peer:m.getInputPeerByID(i),msg_id:l.getMessageLocalID(e),data:t.data},{timeout:1,stopTime:-1,noErrorBox:!0}).then(function(e){if("string"==typeof e.message&&e.message.length)$(e.message,e.pFlags.alert);else if("string"==typeof e.url){var t=p.wrapUrl(e.url,!0);h.openUrl(t)}})}function E(e){var t=s.getMessage(e),n=s.getMessagePeer(t);return o.invokeApi("messages.getBotCallbackAnswer",{flags:2,peer:m.getInputPeerByID(n),msg_id:l.getMessageLocalID(e)},{timeout:1,stopTime:-1,noErrorBox:!0}).then(function(n){"string"==typeof n.message&&n.message.length?$(n.message,n.pFlags.alert):"string"==typeof n.url&&u.openGame(t.media.game.id,e,n.url)})}function $(e,t){if("string"==typeof e&&e.length){var n=p.wrapRichText(e,{noLinks:!0,noLinebreaks:!0});t?r.show({title_html:n,alert:!0}):i.pop({type:"info",body:n.valueOf(),bodyOutputType:"trustedHtml",showCloseButton:!1})}}function I(e,t,n){var i=P[t];if(void 0===i)return!1;y(i.botID);var a=t.split("_"),r=a.shift(),o=a.join("_");if(n=n||{},n.viaBotID=i.botID,n.queryID=r,n.resultID=o,i.send_message.reply_markup&&(n.reply_markup=i.send_message.reply_markup),"botInlineMessageText"==i.send_message._)n.entities=i.send_message.entities,s.sendText(e,i.send_message.message,n);else{var l="",c=!1;switch(i.send_message._){case"botInlineMessageMediaAuto":if(l=i.send_message.caption,"botInlineMediaResult"==i._){var d=i.document,u=i.photo;c=d?{_:"inputMediaDocument",id:{_:"inputDocument",id:d.id,access_hash:d.access_hash},caption:l}:{_:"inputMediaPhoto",id:{_:"inputPhoto",id:u.id,access_hash:u.access_hash},caption:l}}break;case"botInlineMessageMediaGeo":c={_:"inputMediaGeoPoint",geo_point:{_:"inputGeoPoint",lat:i.send_message.geo.lat,"long":i.send_message.geo["long"]}};break;case"botInlineMessageMediaVenue":c={_:"inputMediaVenue",geo_point:{_:"inputGeoPoint",lat:i.send_message.geo.lat,"long":i.send_message.geo["long"]},title:i.send_message.title,address:i.send_message.address,provider:i.send_message.provider,venue_id:i.send_message.venue_id};break;case"botInlineMessageMediaContact":c={_:"inputMediaContact",phone_number:i.send_message.phone_number,first_name:i.send_message.first_name,last_name:i.send_message.last_name}}c||(c={_:"messageMediaPending",type:i.type,file_name:i.title||i.content_url||i.url,size:0,progress:{percent:30,total:0}}),s.sendOther(e,c,n)}}function x(e){var n="bot_access_geo"+e;return a.get(n).then(function(e){return!(!e||!e.granted)||r.confirm({type:"BOT_ACCESS_GEO_INLINE"}).then(function(){var e={};return e[n]={granted:!0,time:tsNow()},a.set(e),!0},function(){var e={};return e[n]={denied:!0,time:tsNow()},a.set(e),t.reject()})})}var P={};return{resolveInlineMention:b,getPopularBots:v,sendInlineResult:I,getInlineResults:w,regroupWrappedResults:k,switchToPM:M,checkSwitchReturn:S,switchInlineButtonClick:T,callbackButtonClick:C,gameButtonClick:E}}]).service("ApiUpdatesManager",["$rootScope","MtpNetworkerFactory","AppUsersManager","AppChatsManager","AppPeersManager","MtpApiManager",function(e,t,n,i,a,r){function o(){var e=_.seq+1,t=_.pendingSeqUpdates[e];if(!t)return!1;for(var n,i,a=t.updates,n=0,i=a.length;n<i;n++)h(a[n]);return _.seq=t.seq,t.date&&_.date<t.date&&(_.date=t.date),delete _.pendingSeqUpdates[e],!o()&&_.syncPending&&_.syncPending.seqAwaiting&&_.seq>=_.syncPending.seqAwaiting&&(_.syncPending.ptsAwaiting?delete _.syncPending.seqAwaiting:(clearTimeout(_.syncPending.timeout),_.syncPending=!1)),!0}function s(e){var t=e?f(e):_;if(!t.pendingPtsUpdates.length)return!1;t.pendingPtsUpdates.sort(function
i.length>r&&!a.indexOf(i)&&(r=i.length,o=h(Config.CountryCodes[t][1]+"_raw"));e.credentials.phone_full=a,e.credentials.phone_country_name=o||h("login_controller_unknown_country_raw")}function b(e){o.setUserAuth(S.dcID,{id:e.user.id}),i.cancel(T),n.url("/im")}function w(t){e.credentials.type=t.type,e.nextPending.type=t.next_type||!1,e.nextPending.remaining=t.timeout||!1,delete e.nextPending.progress,k(),onContentLoaded(function(){e.$broadcast("ui_height")})}function k(){i.cancel(T),e.nextPending.type&&e.nextPending.remaining!==!1&&--e.nextPending.remaining>0&&(T=i(k,1e3))}function M(){return c.getState(S).then(function(t){return e.password=t})}r.dismissAll(),u.start(),o.getUserID().then(function(e){return e?void n.url("/im"):"http:"!=location.protocol||Config.Modes.http||Config.App.domains.indexOf(location.hostname)==-1?(m.setAuthorized(!1),void f.forceUnsubscribe()):void(location.href=location.href.replace(/^http:/,"https:"))});var S={dcID:2,createNetworker:!0},A=!1;e.credentials={phone_country:"",phone_country_name:"",phone_number:"",phone_full:""},e.progress={},e.nextPending={},e.about={},e.chooseCountry=function(){var e=a.open({templateUrl:templateUrl("country_select_modal"),controller:"CountrySelectModalController",windowClass:"countries_modal_window mobile_modal",backdrop:"single"});e.result.then(v)},e.$watch("credentials.phone_country",y),e.$watch("credentials.phone_number",y),g();var T;e.sendCode=function(){i.cancel(T);var n=(e.credentials.phone_country||"")+(e.credentials.phone_number||""),a=!n.match(/^[\d\-+\s]+$/);return a||(n=n.replace(/\D/g,""),n.length<7&&(a=!0)),a?(e.progress.enabled=!1,void(e.error={field:"phone"})):void s.confirm({type:"LOGIN_PHONE_CORRECT",country_code:e.credentials.phone_country,phone_number:e.credentials.phone_number}).then(function(){e.progress.enabled=!0,onContentLoaded(function(){e.$broadcast("ui_height")});var n=tsNow();o.invokeApi("auth.sendCode",{flags:0,phone_number:e.credentials.phone_full,api_id:Config.App.id,api_hash:Config.App.hash,lang_code:navigator.language||"en"},S).then(function(t){e.progress.enabled=!1,e.error={},e.about={},e.credentials.phone_code_hash=t.phone_code_hash,w(t)},function(t){switch(e.progress.enabled=!1,console.log("sendCode error",t),t.type){case"PHONE_NUMBER_INVALID":e.error={field:"phone"},t.handled=!0;break;case"PHONE_NUMBER_APP_SIGNUP_FORBIDDEN":e.error={field:"phone"}}})["finally"](function(){(t.idle.isIDLE||tsNow()-n>6e4)&&l.notify({title:"Telegram",message:"Your authorization key was successfully generated! Open the app to log in.",tag:"auth_key"})})})},e.sendNext=function(){!e.nextPending.type||e.nextPending.remaining>0||(e.nextPending.progress=!0,o.invokeApi("auth.resendCode",{phone_number:e.credentials.phone_full,phone_code_hash:e.credentials.phone_code_hash},S).then(w))},e.editPhone=function(){i.cancel(T),e.credentials.phone_full&&e.credentials.phone_code_hash&&o.invokeApi("auth.cancelCode",{phone_number:e.credentials.phone_full,phone_code_hash:e.credentials.phone_code_hash},S),delete e.credentials.phone_code_hash,delete e.credentials.phone_unoccupied,delete e.credentials.phone_code_valid,delete e.nextPending.remaining},e.$watch("credentials.phone_code",function(t){t&&t.match(/^\d+$/)&&e.credentials.type&&e.credentials.type.length&&t.length==e.credentials.type.length&&e.logIn()}),e.logIn=function(t){if(!e.progress.enabled||e.progress.forceSignUp!=t){var n="auth.signIn",i={phone_number:e.credentials.phone_full,phone_code_hash:e.credentials.phone_code_hash,phone_code:e.credentials.phone_code};t&&(n="auth.signUp",angular.extend(i,{first_name:e.credentials.first_name||"",last_name:e.credentials.last_name||""})),e.progress.forceSignUp=t,e.progress.enabled=!0,o.invokeApi(n,i,S).then(b,function(t){if(e.progress.enabled=!1,400==t.code&&"PHONE_NUMBER_UNOCCUPIED"==t.type)return t.handled=!0,e.credentials.phone_code_valid=!0,e.credentials.phone_unoccupied=!0,void(e.about={});if(400==t.code&&"PHONE_NUMBER_OCCUPIED"==t.type)return t.handled=!0,e.logIn(!1);if(401==t.code&&"SESSION_PASSWORD_NEEDED"==t.type)return e.progress.enabled=!0,M().then(function(){e.
n.$broadcast("ui_message_send")}function y(){var e=n.draftMessage.text;e=g.parseEmojis(e),p.editMessage(V,e).then(function(){V=!1,k(),n.$broadcast("ui_message_send"),i(function(){n.$broadcast("ui_peer_reply")})})}function b(){var e=n.curDialog.peerID;if(!e)return safeReplaceObject(n.mentions,{}),void n.$broadcast("mentions_update");var i,a=[],r=SearchIndexManager.createIndex(),s=f.getPopularBots().then(function(e){var t=[];return angular.forEach(e,function(e){t.push(e.id)}),t});i=e<0?o.getChatFull(-e).then(function(e){var t=(e.participants||{}).participants||[],n=[];return angular.forEach(t,function(e){n.push(e.user_id)}),n}):t.when([]),t.all({pop:s,chat:i}).then(function(e){var t={},i=e.pop.concat(e.chat);angular.forEach(i,function(e){t[e]||(t[e]=!0,a.push(l.getUser(e)),SearchIndexManager.indexObject(e,l.getUserSearchText(e),r))}),safeReplaceObject(n.mentions,{users:a,index:r}),n.$broadcast("mentions_update")})}function w(){var e=n.curDialog.peerID;return e?void o.getPeerBots(e).then(function(t){if(!t.length)return safeReplaceObject(n.commands,{}),void n.$broadcast("mentions_update");var i=e<0,a=[],r=SearchIndexManager.createIndex();angular.forEach(t,function(e){var t="";if(i){var n=l.getUser(e.id);n&&n.username&&(t+="@"+n.username)}var o=l.getUserSearchText(e.id);angular.forEach(e.commands,function(n,i){var s="/"+i+t;a.push({botID:e.id,value:s,rDescription:g.wrapRichText(n,{noLinks:!0,noLineBreaks:!0})}),SearchIndexManager.indexObject(s,o+" "+i+" "+n,r)})}),safeReplaceObject(n.commands,{list:a,index:r}),n.$broadcast("mentions_update")}):(safeReplaceObject(n.commands,{}),void n.$broadcast("mentions_update"))}function k(e,t){var a=t?c.getPeerID(t):0;if(e!=t&&a)return n.$broadcast("ui_message_before_send"),void i(function(){h.syncDraft(a),k()});if(V=!1,b(),w(),E(),P(),delete n.draftMessage.inlineProgress,n.$broadcast("inline_results",!1),j){if(j==n.curDialog.peer)return n.draftMessage.isBroadcast=c.isBroadcast(n.curDialog.peerID),void n.$broadcast("ui_peer_draft");j=!1}$(),M()}function M(){if(n.curDialog.peerID){var e;e=V?p.getMessageEditData(V).then(function(e){return e.replyToMsgID=V,e},function(e){return console.warn(e),V=!1,M(),t.reject()}):h.getDraft(n.curDialog.peerID),e.then(function(e){if(n.draftMessage.type=V?"edit":"new",n.draftMessage.text=e?e.text:"",n.draftMessage.isBroadcast=c.isBroadcast(n.curDialog.peerID),e.replyToMsgID){var t=e.replyToMsgID;A(t)}else E();n.$broadcast("ui_peer_draft")})}else n.draftMessage.text="",n.$broadcast("ui_peer_draft")}function S(e,t){if(console.log(dT(),"apply draft attach",t),t&&t._)if("share_url"==t._){var a=t.url,r=t.text||" ";j=n.curDialog.peer,i(function(){n.draftMessage.text=a+"\n"+r,n.$broadcast("ui_peer_draft",{customSelection:[a+"\n",r,""]})},1e3)}else if("fwd_messages"==t._)j=n.curDialog.peer,i(function(){n.draftMessage.fwdMessages=t.id,n.$broadcast("ui_peer_reply")},100);else if("inline_query"==t._){var o=t.mention,s=t.query;j=n.curDialog.peer,i(function(){n.draftMessage.text=o+" "+s,n.$broadcast("ui_peer_draft",{customSelection:[o+" "+s,"",""]})},1e3)}}function A(e,t){return V&&t?void E():(n.draftMessage.replyToMsgID=e,n.$broadcast("ui_peer_reply"),H=!1,void(t&&!V&&h.changeDraft(n.curDialog.peerID,{text:n.draftMessage.text,replyToMsgID:e})))}function T(e){V=e,M()}function C(){return!(V||!n.curDialog.peerID)&&void p.getHistory(n.curDialog.peerID).then(function(e){for(var t,n=0;n<e.history.length;n++)if(t=e.history[n],p.canEditMessage(t)){T(t);break}})}function E(e){if(V)return V=!1,void M();var t=n.draftMessage.replyToMsgID;t&&n.historyState.replyKeyboard&&n.historyState.replyKeyboard.mid==t&&!n.historyState.replyKeyboard.pFlags.hidden&&(n.historyState.replyKeyboard.pFlags.hidden=!0,n.$broadcast("ui_keyboard_update")),delete n.draftMessage.replyToMsgID,n.$broadcast("ui_peer_reply"),e&&h.changeDraft(n.curDialog.peerID,{text:n.draftMessage.text})}function $(){n.draftMessage.fwdMessages&&n.draftMessage.fwdMessages.length&&(delete n.draftMessage.fwdMessages,n.$broadcast("ui_peer_reply"),j==n.curDialog.peer&&(j=!1))}function I(){if(n.draftMessage.fwdMessages&&n.draftMessag
t.notify.desktop?l.remove("notify_nodesktop"):l.set({notify_nodesktop:!0}),e.$broadcast("settings_changed")},t.togglePush=function(){t.notify.push=!t.notify.push,t.notify.push?l.remove("notify_nopush"):l.set({notify_nopush:!0}),e.$broadcast("settings_changed")},t.togglePreview=function(){t.notify.preview=!t.notify.preview,t.notify.preview?l.remove("notify_nopreview"):l.set({notify_nopreview:!0}),e.$broadcast("settings_changed")},t.toggleVibrate=function(){t.notify.vibrate=!t.notify.vibrate,t.notify.vibrate?l.remove("notify_novibrate"):l.set({notify_novibrate:!0}),e.$broadcast("settings_changed")},t.toggleCtrlEnter=function(n){t.send.enter=n,t.send.enter?l.remove("send_ctrlenter"):l.set({send_ctrlenter:!0}),e.$broadcast("settings_changed")}}),t.openChangelog=function(){f.showChangelog(!1)},t.logOut=function(){_.confirm({type:"LOGOUT"}).then(function(){s.logOut().then(function(){location.hash="/login",g.reload()})})},t.switchBackToDesktop=Config.Mobile&&!Config.Navigator.mobile,t.switchToDesktop=function(){m.switchLayout(!1)}}]).controller("ChangelogModalController",["$scope","$modal",function(e,t){if(e.currentVersion=Config.App.version,!e.lastVersion){var n=e.currentVersion.split(".");e.lastVersion=n[0]+"."+n[1]+"."+Math.max(0,n[2]-1)}e.changelogHidden=!1,e.changelogShown=!1,e.canShowVersion=function(t){if(e.changelogShown)return!0;var n=versionCompare(t,e.lastVersion)>=0;return n||(e.changelogHidden=!0),n},e.showAllVersions=function(){e.changelogShown=!0,e.changelogHidden=!1,e.$emit("ui_height"),e.$broadcast("ui_height")},e.changeUsername=function(){t.open({templateUrl:templateUrl("username_edit_modal"),controller:"UsernameEditModalController",windowClass:"md_simple_modal_window mobile_modal"})}}]).controller("ProfileEditModalController",["$scope","$modalInstance","AppUsersManager","MtpApiManager",function(e,t,n,i){e.profile={},e.error={},i.getUserID().then(function(t){var i=n.getUser(t);e.profile={first_name:i.first_name,last_name:i.last_name}}),e.updateProfile=function(){e.profile.updating=!0;var a=3;i.invokeApi("account.updateProfile",{flags:a,first_name:e.profile.first_name||"",last_name:e.profile.last_name||""}).then(function(i){e.error={},n.saveApiUser(i),t.close()},function(n){switch(n.type){case"FIRSTNAME_INVALID":e.error={field:"first_name"},n.handled=!0;break;case"LASTNAME_INVALID":e.error={field:"last_name"},n.handled=!0;break;case"NAME_NOT_MODIFIED":n.handled=!0,t.close()}})["finally"](function(){delete e.profile.updating})}}]).controller("UsernameEditModalController",["$scope","$modalInstance","AppUsersManager","MtpApiManager",function(e,t,n,i){e.profile={},e.error={},i.getUserID().then(function(t){var i=n.getUser(t);e.profile={username:i.username}}),e.updateUsername=function(){e.profile.updating=!0,i.invokeApi("account.updateUsername",{username:e.profile.username||""}).then(function(i){e.checked={},n.saveApiUser(i),t.close()},function(e){switch(e.type){case"USERNAME_NOT_MODIFIED":e.handled=!0,t.close()}})["finally"](function(){delete e.profile.updating})},e.$watch("profile.username",function(t){return t&&t.length?void i.invokeApi("account.checkUsername",{username:t}).then(function(n){e.profile.username===t&&(n?e.checked={success:!0}:e.checked={error:!0})},function(n){if(e.profile.username===t)switch(n.type){case"USERNAME_INVALID":e.checked={error:!0},n.handled=!0}}):void(e.checked={})})}]).controller("SessionsListModalController",["$scope","$q","$timeout","_","MtpApiManager","ErrorService","$modalInstance",function(e,t,n,i,a,r,o){function s(){n.cancel(l),a.invokeApi("account.getAuthorizations").then(function(t){e.sessionsLoaded=!0,e.authorizations=t.authorizations;for(var i,a=0,r=e.authorizations.length;a<r;a++)i=e.authorizations[a],i.current=1==(1&i.flags);e.authorizations.sort(function(e,t){return e.current?-1:t.current?1:t.date_active-e.date_active}),c||(l=n(s,5e3))})}e.slice={limit:20,limitDelta:20};var l=!1,c=!1;e.terminateSession=function(e){r.confirm({type:"TERMINATE_SESSION"}).then(function(){a.invokeApi("account.resetAuthorization",{hash:e}).then(s)})},e.terminateAllSessions=function(){r.confirm({
return!("message"!=e._||e.deleted||e.fwd_from||e.via_bot_id||e.media&&t.indexOf(e.media._)==-1||e.fromID&&s.isBot(e.fromID))&&(!e.media||"messageMediaDocument"!=e.media._||!e.media.document.sticker)}function W(e){if(e<=0||!xe[e])return!1;var t=xe[e];return!(!t||!t.canBeEdited)&&(pe(t)==s.getSelf().id||!(t.date<tsNow(!0)-172800||!t.pFlags.out))}function G(t){if(!W(t))return e.reject();var n=q(t);if(n.media&&"messageMediaEmpty"!=n.media._&&"messageMediaWebPage"!=n.media._)return e.when({caption:!0,text:"string"==typeof n.media.caption?n.media.caption:""});var i="string"==typeof n.message?n.message:"",a=b.parseEntities(i),r=n.entities||[];return a=b.mergeEntities(a,r),i=b.wrapDraftText(i,{entities:a}),e.when({caption:!1,text:i})}function K(e){if(e<=0||!xe[e])return!1;var t=xe[e];if("message"!=t._||t.deleted)return!1;var n=pe(t);if(n<0&&!l.isChannel(-n)){var i=l.getChat(-n);if(i.pFlags.creator||i.pFlags.admins_enabled&&i.pFlags.admin)return!0}return!(!t.pFlags.out||t.date<tsNow(!0)-172800)}function Y(t,n){var i=f.splitMessageIDsByChannels(t),a=[];return angular.forEach(i.msgIDs,function(e,t){var r;if(t>0){var s=l.getChat(t);if(!(s.pFlags.creator||s.pFlags.editor&&s.pFlags.megagroup)){var c=[];if((s.pFlags.editor||s.pFlags.megagroup)&&angular.forEach(e,function(e,n){var a=q(i.mids[t][n]);a.pFlags.out&&c.push(e)}),!c.length)return;e=c}r=_.invokeApi("channels.deleteMessages",{channel:l.getChannelInput(t),id:e}).then(function(n){o.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteChannelMessages",channel_id:t,messages:e,pts:n.pts,pts_count:n.pts_count}})})}else{var d=0;n&&(d|=1),r=_.invokeApi("messages.deleteMessages",{flags:d,id:e}).then(function(t){o.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteMessages",messages:e,pts:t.pts,pts_count:t.pts_count}})})}a.push(r)}),e.all(a)}function X(t){var n=f.getMessageIDInfo(t),i=n[0],a=n[1];if(!a)return e.reject();var r=q(t),o=l.getChat(a);return r&&r.pFlags&&r.pFlags.post&&o.username?_.invokeApi("channels.exportMessageLink",{channel:l.getChannelInput(a),id:i}).then(function(e){return e.link}):e.reject()}function J(e){var n=c.isChannel(e),i=Re[e],a=$(e)[0];if(!a||!a.unread_count){if(!i||!i.history.length)return!1;var r,s,d=!1;for(p=i.history.length;p>=0;p--)if(r=i.history[p],s=xe[r],s&&!s.pFlags.out&&s.pFlags.unread){d=!0;break}if(!d)return!1}if(i.readPromise)return i.readPromise;var u;if(u=n?_.invokeApi("channels.readHistory",{channel:l.getChannelInput(-e),max_id:0}):_.invokeApi("messages.readHistory",{peer:c.getInputPeerByID(e),max_id:0}).then(function(e){o.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:e.pts,pts_count:e.pts_count}})}),i.readPromise=u.then(function(){a&&(a.unread_count=0,t.$broadcast("dialog_unread",{peerID:e,count:0}),t.$broadcast("messages_read"),i&&i.history.length&&(a.read_inbox_max_id=i.history[0]))})["finally"](function(){delete i.readPromise}),i&&i.history.length){var r,s,p,e,a;for(p=0;p<i.history.length;p++)r=i.history[p],s=xe[r],s&&!s.pFlags.out&&(s.pFlags.unread=!1,Pe[r]&&(Pe[r].pFlags.unread=!1),De[r]&&(De[r].pFlags.unread=!1),w.cancel("msg"+r))}return w.soundReset(c.getPeerString(e)),i.readPromise}function Z(e){_.invokeApi("messages.readMessageContents",{id:e}).then(function(t){o.processUpdateMessage({_:"updateShort",update:{_:"updateReadMessagesContents",messages:e,pts:t.pts,pts_count:t.pts_count}})})}function Q(e,t){var n=0;return t&&(n|=1),_.invokeApi("messages.deleteHistory",{flags:n,peer:e,max_id:0}).then(function(n){return o.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:n.pts,pts_count:n.pts_count}}),!n.offset||Q(e,t)})}function ee(e,n){return Q(c.getInputPeerByID(e),n).then(function(){if(n)t.$broadcast("dialog_flush",{peerID:e});else{var i=$(e);i[0]&&Oe.dialogs.splice(i[1],1),delete Re[e],t.$broadcast("dialog_drop",{peerID:e})}})}function te(e,t){t=t||{},angular.forEach(e,function(e){if(void 0===e.pFlags&&(e.pFlags={}),e.pFlags.out||(e.pFlags.out=!1),e.pFlags.unread||(e.pFlags.unread=!1),"messageEmpty"!=e._){var n=pe(e),i="peerChannel"==e.to_id._,a=i?-n:0,r=i&&l.isBroadcast(a),o=f.getFullMes
ee!=ne&&(delete Re[r],t.$broadcast("history_forbidden",r)),Q!=Z&&(Z?$e(-o):p[0]&&(Oe.dialogs.splice(p[1],1),t.$broadcast("dialog_drop",{peerID:r})));break;case"updateChannelReload":var o=e.channel_id,r=-o,p=$(r);p[0]&&Oe.dialogs.splice(p[1],1),delete Re[r],$e(-o).then(function(){t.$broadcast("history_reload",r)});break;case"updateChannelMessageViews":var ie=e.views,C=f.getFullMessageID(e.id,e.channel_id),d=q(C);d&&d.views&&d.views<ie&&(d.views=ie,t.$broadcast("message_views",{mid:C,views:ie}));break;case"updateServiceNotification":var ae=777e3,r=ae,O=He--,d={_:"message",id:O,from_id:ae,to_id:c.getOutputPeer(r),flags:0,pFlags:{unread:!0},date:(e.inbox_date||tsNow(!0))+y.serverTimeOffset,message:e.message,media:e.media,entities:e.entities};if(s.hasUser(ae)||s.saveApiUsers([{_:"user",id:ae,pFlags:{verified:!0},access_hash:0,first_name:"Telegram",phone:"42777"}]),te([d]),e.inbox_date&&(Ue[r]=O,Ee({_:"updateNewMessage",message:d})),e.pFlags.popup&&e.message){var z=ge(O);A.show({error:{code:400,type:"UPDATE_SERVICE_NOTIFICATION"},historyMessage:z})}}}function $e(e){return _.invokeApi("messages.getPeerDialogs",{peers:[c.getInputPeerByID(e)]}).then(Ie)}function Ie(e){s.saveApiUsers(e.users),l.saveApiChats(e.chats),te(e.messages);var n={},i=!1;angular.forEach(e.dialogs,function(e){var a=c.getPeerID(e.peer),r=e.top_message,o=Ue[a];if(o&&(!r||q(o).date>q(r).date)&&(e.top_message=r=o),r){var s=$(a).length>0;I(e),s?(he(r),t.$broadcast("dialog_top",e)):(n[a]=e,i=!0)}else{var l=$(a);l.length&&(Oe.dialogs.splice(l[1],1),t.$broadcast("dialog_drop",{peerID:a}))}void 0!==ft[a]&&(angular.forEach(ft[a],function(e){Ee(e)}),delete ft[a])}),i&&t.$broadcast("dialogs_multiupdate",n)}var xe={},Pe={},De={},Re={},Oe={count:null,dialogs:[]},Ne={},Le={},Fe={},Ue={},Be=e.when(),He=-1,je=SearchIndexManager.createIndex(),Ve={query:!1},qe={},ze=[],We=[],Ge=!1,Ke={},Ye=[],Xe=!1,Je=!1;k.get("max_seen_msg").then(function(e){e&&!f.getMessageIDInfo(e)[1]&&(Je=e)});var Ze=i("dateOrTime"),Qe=C.pluralize("conversation_forwarded_X_messages"),et=C.pluralize("conversation_scored_X");w.start();var tt=!1,nt=0,it=0,at=0,rt={},ot={},st=!1,lt={},ct=!1,dt={},ut=!1,pt={},ft={};return t.$on("apiUpdate",function(e,t){Ee(t)}),t.$on("webpage_updated",function(e,n){angular.forEach(n.msgs,function(e){var i=Pe[e];i&&(i.media={_:"messageMediaWebPage",webpage:h.wrapForHistory(n.id)},t.$broadcast("message_edit",{peerID:pe(i),id:i.id,mid:e,justMedia:!0}))})}),t.$on("draft_updated",function(e,n){var i=n.peerID,a=n.draft,r=$(i)[0];if(r){var o;if(a&&a.date)o=a.date;else{var s=c.isChannel(i)?-i:0,o=q(r.top_message).date;if(s){var d=l.getChat(s);(!o||d.date&&d.date>o)&&(o=d.date)}}r.pFlags.pinned||(r.index=D(o)),R(r),t.$broadcast("dialog_draft",{peerID:i,draft:a,index:r.index})}}),{getConversations:E,getHistory:B,getSearch:V,getMessage:q,getReplyKeyboard:H,readHistory:J,readMessages:Z,flushHistory:ee,deleteMessages:Y,sendText:ne,sendFile:ie,sendOther:ae,forwardMessages:re,startBot:oe,shareGame:se,editMessage:ue,convertMigratedPeer:U,getMessagePeer:pe,getMessageThumb:ke,getMessageShareLink:X,canMessageBeEdited:z,canEditMessage:W,getMessageEditData:G,canRevokeMessage:K,clearDialogCache:he,wrapForDialog:fe,wrapForHistory:ge,wrapReplyMarkup:_e,wrapSingleMessage:me,wrapMessageText:ve,regroupWrappedHistory:we}}]).service("AppMessagesIDsManager",function(){function e(e,t){if(!t||e<=0)return e;e=n(e);var i=a[t];return i||(i=++o*s,r[i]=t,a[t]=i),i+e}function t(e){if(e<s)return[e,0];var t=e%s,n=r[e-t];return[t,n]}function n(e){return e?e%s:0}function i(e){var n,i,a,r,o={},s={};for(n=0;n<e.length;n++)i=e[n],a=t(i),r=a[1],void 0===o[r]&&(o[r]=[],s[r]=[]),o[r].push(a[0]),s[r].push(i);return{msgIDs:o,mids:s}}var a={},r={},o=0,s=4294967296;return{getFullMessageID:e,getMessageIDInfo:t,getMessageLocalID:n,splitMessageIDsByChannels:i,fullMsgIDModulus:s}}),angular.module("myApp.templates",[]).run(["$templateCache",function(e){e.put("partials/desktop/audio_player.html",'<div class="audio_player_wrap clearfix">\n\t<a class="im_message_file_button" ng-click="togglePlay()" ng-class="{im_message_file_button_dl_
e.put("partials/desktop/contacts_modal.html",'<div class="contacts_modal_wrap md_modal_wrap" my-modal-position>\n\n <div class="md_modal_head md_modal_head_simple">\n <div class="md_modal_title_wrap">\n <div class="md_modal_actions_wrap clearfix">\n <a class="md_modal_action md_modal_action_close" ng-if="action != \'edit\'" ng-click="$dismiss()" my-i18n="modal_close"></a>\n <a class="md_modal_action" ng-if="action == \'edit\'" class="contacts_modal_edit_link" ng-click="toggleEdit(false)" my-i18n="contacts_modal_edit_cancel"></a>\n <a class="md_modal_action" ng-if="!action" ng-click="toggleEdit(true)" my-i18n="contacts_modal_edit_list"></a>\n </div>\n </div>\n <div class="md_modal_title" ng-switch="action">\n <div ng-switch-when="new_group" ng-switch="selectedCount > 0">\n <span ng-switch-when="true">\n <ng-pluralize count="selectedCount" when="contacts_modal_pluralize_new_group_members">\n </ng-pluralize>\n </span>\n <span ng-switch-default my-i18n="group_create_contacts_modal_title"></span>\n </div>\n <span ng-switch-default my-i18n="contacts_modal_title"></span>\n </div>\n </div>\n\n <div class="md_modal_body">\n\n <div class="contacts_modal_search">\n <input class="form-control contacts_modal_search_field no_outline" my-focused type="search" placeholder="{{\'modal_search\' | i18n}}" ng-model="search.query" autocomplete="off" />\n <a class="im_dialogs_search_clear tg_search_clear" ng-click="search.query = \'\'" ng-show="search.query.length">\n <i class="icon icon-search-clear"></i>\n </a>\n </div>\n\n <div my-contacts-list class="contacts_modal_col">\n\n <div class="contacts_wrap nano" my-infinite-scroller>\n <div class="contacts_scrollable_wrap nano-content" ng-switch="contactsEmpty">\n\n <div ng-switch-when="true" class="contacts_modal_contacts_empty" my-vertical-position="0.2" padding="true" my-i18n="contacts_modal_empty_list">\n <my-i18n-param name="import-link"><a href="" ng-click="importContact()">{0}</a></my-i18n-param>\n </div>\n\n <ul ng-switch-default class="contacts_modal_members_list nav nav-pills nav-stacked">\n\n <li class="contacts_modal_contact_wrap clearfix" ng-repeat="contact in contacts | orderBy:\'user.sortName\' | limitTo: slice.limit track by contact.userID" ng-class="{active: selectedContacts[contact.userID], disabled: disabledContacts[contact.userID]}">\n <a class="contacts_modal_contact" ng-click="contactSelect(contact.userID)">\n\n <div class="md_modal_list_peer_photo pull-left" my-peer-photolink="::contact.userID" img-class="md_modal_list_peer_photo"></div>\n <div class="md_modal_list_peer_name" my-peer-link="contact.userID"></div>\n <div class="md_modal_list_peer_description" ng-switch="contact.found">\n <span ng-switch-when="true" ng-bind="\'@\' + contact.user.username"></span>\n <span ng-switch-default my-user-status="::contact.userID"></span>\n </div>\n\n </a>\n </li>\n\n </ul>\n\n </div>\n </div>\n\n </div>\n\n </div>\n\n <div class="md_modal_footer clearfix" ng-switch="action">\n\n <div ng-switch-when="new_group" class="pull-right">\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: !selectedCount}" ng-disabled="!selectedCount" ng-click="submitSelected()" type="submit" my-i18n="modal_next"></button>\n </div>\n\n <button ng-switch-when="select" class="btn btn-md btn-md-primary pull-right" ng-class="{disabled: !selectedCount}" ng-disabled="!selectedCount" ng-click="submitSelected()" type="submit" my-i18n="modal_next"></button>\n\n <button ng-switch-when="edit" class="btn btn-md btn-md-danger pull-right" ng-class="{disabled: !selectedCount}" ng-disabled="!selectedCount" ng-click="deleteSelected()">\n <my-i18n msgid="contac
e.put("partials/desktop/im.html",'<div my-head></div>\n\n<div class="im_page_wrap clearfix" ng-class="{im_page_peer_not_selected: !curDialog.peer}">\n\n <div class="im_page_split clearfix">\n\n <div class="im_dialogs_col_wrap noselect" ng-controller="AppImDialogsController" my-dialogs ng-class="search.query.length > 0 ? \'im_dialogs_col_search\' : \'\'">\n <div class="im_dialogs_panel">\n <div class="im_dialogs_search">\n <input 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 class="im_dialogs_col">\n <div class="im_dialogs_wrap nano">\n <div class="im_dialogs_scrollable_wrap nano-content">\n\n <div class="im_dialogs_empty_wrap" ng-if="isEmpty.dialogs && isEmpty.contacts">\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-sm" ng-click="importContact()" my-i18n="im_add_contact"></button>\n <button ng-if="phonebookAvailable" type="button" class="btn btn-primary btn-sm 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" ng-if="searchPeer">\n <a class="im_dialog im_dialog_searchpeer disabled" ng-mousedown="setSearchPeer()">\n\n <div class="im_dialog_meta pull-right">\n <div class="im_dialog_clear_searchpeer">\n <!-- <i class="icon icon-clear-searchpeer"></i> -->\n <i class="icon icon-search-clear"></i>\n </div>\n </div>\n\n <div class="im_dialog_photo pull-left" my-peer-photolink="searchPeer" 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="searchPeer"></span>\n </div>\n\n <div class="im_dialog_message">\n <span class="" my-i18n="conversation_search_peer"></span>\n </div>\n\n </div>\n\n </a>\n\n </li>\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
e.put("partials/desktop/message.html",'<div class="im_message_outer_wrap hasselect" ng-click="toggleMessage(historyMessage.mid, $event)">\n\n <div class="im_message_wrap clearfix" ng-switch="::historyMessage._ == \'messageService\'">\n\n <div class="im_service_message_wrap" ng-switch-when="true" ng-switch="historyMessage.action._ == \'messageActionBotIntro\'">\n <div ng-switch-when="true" class="im_bot_intro_message_wrap">\n <div class="im_bot_intro_message_header" my-i18n="message_service_bot_intro_header"></div>\n <div class="im_bot_intro_message" ng-bind-html="::historyMessage.action.rDescription"></div>\n </div>\n <div ng-switch-default class="im_service_message">\n <a class="im_message_author" ng-if="::historyMessage.fromID > 0" my-peer-link="historyMessage.fromID" short="historyMessage.peerID > 0" color="historyMessage.peerID < 0" no-watch="true"></a>\n <span class="im_message_service" my-service-message="historyMessage"></span>\n </div>\n\n <a ng-if="::historyMessage.action._ == \'messageActionChatEditPhoto\' || historyMessage.action._ == \'messageActionChannelEditPhoto\'" class="im_service_message_photo_thumb" href="" ng-click="openPhoto(historyMessage.action.photo.id)">\n <img\n class="im_service_message_photo_thumb"\n my-load-thumb\n thumb="historyMessage.action.photo.thumb"\n />\n </a>\n\n </div>\n\n <div ng-switch-default class="im_content_message_wrap" ng-class="::[historyMessage.pFlags.out ? \'im_message_out\' : \'im_message_in\', historyMessage.fwdFromID ? \'im_message_fwd\' : \'\']">\n <i class="icon icon-select-tick"></i>\n\n <a class="im_message_error_btn" ng-if="::historyMessage.pending || historyMessage.error || false" ng-click="historyMessage.send()">\n <i class="icon-message-status" tooltip="{{\'message_action_retry\' | i18n}}"></i>\n </a>\n <i ng-if="::historyMessage.pFlags.unread &amp;&amp; historyMessage.pFlags.out || historyMessage.pending || false" class="icon-message-status" ng-show="!historyMessage.error"></i>\n\n <a class="im_message_from_photo pull-left" my-peer-photolink="::historyMessage.fromID" img-class="im_message_from_photo"></a>\n\n <div class="im_message_meta pull-right text-right noselect">\n <div class="im_message_views_wrap" ng-if="::!historyMessage.fwdFromID && historyMessage.views > 0">\n <div class="im_message_views">\n <i class="icon-message-views"></i><span class="im_message_views_cnt" my-message-views="historyMessage.mid"></span>\n </div>\n </div>\n <span class="im_message_date clickable">\n <span class="im_message_edited" my-message-edited="historyMessage.mid"></span>\n <span class="im_message_date_text nocopy" data-content="{{::historyMessage.date | time}}"></span>\n </span>\n </div>\n\n <div class="im_message_body" ng-class="::{im_message_body_media: historyMessage._ == \'message\' &amp;&amp; historyMessage.media ? true : false}">\n\n <span class="im_message_author_wrap">\n <span class="copyonly">[<span ng-bind="::historyMessage.date | time"></span>] </span><a class="im_message_author" my-peer-link="historyMessage.fromID" short="historyMessage.peerID > 0" color="historyMessage.peerID < 0" no-watch="true"></a><a ng-if="::historyMessage.viaBotID && !historyMessage.fwdFromID" class="im_message_author_via" ng-click="selectInlineBot(historyMessage.viaBotID, $event)"><span class="copyonly">&nbsp;</span><span my-i18n="message_via_bot"><my-i18n-param name="bot"><span class="im_message_fwd_author" my-peer-link="historyMessage.viaBotID" username="true" no-watch="true"></span></my-i18n-param></span></a><span class="copyonly">:</span>\n </span>\n\n\n <a class="im_message_reply_wrap" my-reply-message="::historyMessage.reply_to_mid" ng-if="::historyMessage.reply_to_mid"></a>\n\n <div ng-if="::historyMessage.fwdFromID || false" class="im_message_fwd_from">\n <span class="copyonly"><span my-i18n="message_forwarded
e.put("partials/desktop/photo_modal.html",'<div class="modal_prev_wrap" ng-class="{modal_prev_active_wrap: nav.hasPrev}" ng-click="nav.prev($event)">\n <div class="modal_prev"></div>\n</div>\n<div class="modal_next_wrap" ng-class="{modal_next_active_wrap: nav.hasNext}" ng-click="nav.next($event)">\n <div class="modal_next"></div>\n</div>\n<div class="modal_close_wrap modal_close_wrap_wnext" 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">\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="canForward" 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="canDelete" ng-click="delete()" title="{{\'media_modal_delete\' | i18n}}">\n <i class="media_modal_action_btn_delete"></i>\n </a>\n </div>\n\n <div class="media_modal_info_wrap pull-left" ng-if="!webpageID && photo.user_id">\n <a class="media_modal_author_photo pull-left" my-peer-photolink="photo.user_id" img-class="media_modal_author_photo" watch="true"></a>\n <div class="media_modal_author_name">\n <a class="media_modal_author" my-peer-link="photo.user_id" peer-watch="true"></a>\n </div>\n <div class="media_modal_date" ng-if="photo.date > 0" ng-switch="messageID > 0">\n <a ng-switch-when="true" class="media_modal_date" ng-click="goToMessage()" ng-bind="photo.date | dateOrTime :true"></a>\n <span ng-switch-default ng-bind="photo.date | dateOrTime :true"></span>\n </div>\n </div>\n\n <div class="media_modal_info_wrap pull-left" ng-if="webpageID">\n <div class="media_modal_author_name">\n <a class="media_modal_author" href="{{webpage.url}}" target="_blank" rel="noopener noreferrer" ng-bind-html="webpage.rTitle"></a>\n </div>\n <div class="media_modal_date" ng-bind="webpage.site_name || webpage.display_url"></div>\n </div>\n\n <div class="media_modal_title_wrap" ng-switch="count > 1 &amp;&amp; pos > 0">\n <my-i18n ng-switch-when="true" msgid="media_modal_photo_index">\n <my-i18n-param name="pos" ng-bind="pos"></my-i18n-param>\n <my-i18n-param name="count" ng-bind="count"></my-i18n-param>\n </my-i18n>\n <my-i18n ng-switch-default msgid="media_modal_photo">\n </div>\n </div>\n</div>\n\n<div class="modal-dialog" my-modal-nav next="nav.next()" prev="nav.prev()">\n <div class="modal-content">\n <div my-modal-width="{{photo.full.modalWidth}}" class="media_modal_wrap photo_modal_wrap" my-modal-position animation="no">\n\n <div class="modal-body">\n\n <div class="photo_modal_image_wrap" my-load-full-photo full-photo="photo.full" thumb-location="photo.thumb.location" ng-click="nav.next()"></div>\n\n </div>\n\n </div>\n </div>\n</div>\n\n'),e.put("partials/desktop/pinned_message.html",'<span ng-switch="pinnedMessage.loading"><span ng-switch-when="true" my-i18n="im_reply_loading"><my-i18n-param name="dots"><span my-loading-dots></span></my-i18n-param></span><span ng-switch-default my-short-message="pinnedMessage"></span></span>'),e.put("partials/desktop/profile_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="updateProfile()">\n\n <h4 my-i18n="profile_edit_modal_title"></h4>\n\n <div class="md-input-group" ng-class="{\'has-error\': error.field == \'first_name\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="profile_edit_first_name"></label>\n <input class="md-input" my-focused type="text" ng-model="profile.first_name" />\n </div>\n\n <div class="md-input-group" ng-class="{\'has-error\': error.field == \'last_name\'}" my-labeled-
e.put("partials/desktop/username_edit_modal.html",'<div class="md_simple_modal_wrap" my-modal-position>\n\n <div class="md_simple_modal_body">\n\n <form class="modal_simple_form" ng-submit="updateUsername()">\n\n <h4 my-i18n="username_edit_modal_title"></h4>\n\n <div class="md-input-group" ng-class="{\'md-input-error\': checked.error}" my-labeled-input>\n <label class="md-input-label" my-i18n="username_edit_placeholder"></label>\n <input class="md-input" my-focused type="text" ng-model="profile.username" name="username" ng-model-options="{updateOn: \'default blur\', debounce: {default: 600, blur: 0}}" />\n </div>\n\n <div class="md_simple_form_description" my-i18n="username_edit_description_md"></div>\n\n </form>\n\n </div>\n\n <div class="md_simple_modal_footer">\n\n <button class="btn btn-md" ng-click="$dismiss()" my-i18n="modal_cancel"></button>\n <button class="btn btn-md btn-md-primary" ng-class="{disabled: profile.updating}" ng-click="updateUsername()" ng-bind="profile.updating ? \'username_edit_submit_active\' : \'username_edit_submit\' | i18n" ng-disabled="profile.updating"></button>\n\n </div>\n\n</div>'),e.put("partials/desktop/video_modal.html",'<div class="modal_close_wrap" ng-class="{modal_close_wrap_wnext: nav.hasNext}" ng-click="$close()">\n <div class="modal_close"></div>\n</div>\n\n<div class="media_modal_bottom_panel_wrap">\n <div class="media_modal_bottom_panel">\n <div class="media_modal_bottom_actions pull-right">\n <a class="media_modal_action_btn" ng-click="download()" title="{{\'media_modal_download\' | i18n}}">\n <i class="media_modal_action_btn_download"></i>\n </a>\n <a class="media_modal_action_btn" ng-if="messageID" ng-click="forward()" title="{{\'media_modal_forward\' | i18n}}">\n <i class="media_modal_action_btn_forward"></i>\n </a>\n <a class="media_modal_action_btn" ng-if="messageID" ng-click="delete()" title="{{\'media_modal_delete\' | i18n}}">\n <i class="media_modal_action_btn_delete"></i>\n </a>\n </div>\n\n <div class="media_modal_info_wrap pull-left" ng-if="video.user_id > 0" ng-switch="messageID > 0">\n <a class="media_modal_author_photo pull-left" my-peer-photolink="video.user_id" img-class="media_modal_author_photo" watch="true"></a>\n <div class="media_modal_author_name">\n <a class="media_modal_author" my-peer-link="video.user_id" peer-watch="true"></a>\n </div>\n <div class="media_modal_date" ng-if="video.date > 0">\n <a ng-switch-when="true" class="media_modal_date" ng-click="goToMessage()" ng-bind="video.date | dateOrTime :true"></a>\n <span ng-switch-default ng-bind="video.date | dateOrTime :true"></span>\n </div>\n </div>\n\n <div class="media_modal_title_wrap" my-i18n="media_modal_video"></div>\n </div>\n</div>\n\n<div class="modal-dialog">\n <div class="modal-content">\n <div my-modal-width="{{video.full.width - 32}}" class="media_modal_wrap video_modal_wrap" my-modal-position animation="no">\n\n <div class="modal-body">\n <div class="video_modal_image_wrap" my-load-video video="video"></div>\n\n </div>\n\n </div>\n </div>\n</div>'),e.put("partials/mobile/audio_player.html",'<div class="audio_player_wrap clearfix">\n\t<a class="im_message_file_button" ng-click="togglePlay()" ng-class="{im_message_file_button_dl_audio: audio.downloaded}">\n\t <i class="im_message_file_button_icon" ng-class="{audio_player_btn_icon_pause: mediaPlayer.player.playing}"></i>\n\t</a>\n\t<div class="audio_player_title_wrap">\n\t\t<div class="audio_player_meta pull-right" ng-if="audio.downloaded &amp;&amp; (mediaPlayer.player.duration || audio.duration)" ng-switch="mediaPlayer.player.playing || mediaPlayer.player.currentTime > 0">\n\t\t\t<span ng-switch-when="true" class="audio_player_duration" ng-bind="mediaPlayer.player.currentTime | durationRemains : duration()"></span>\n\t\t\t<span ng-switch-default class="audio_player_duration" ng-bind="duration() | duration"></span>\n\t\t</div>\n\t\t<span class="copyo
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="hasRights(\'edit_title\') || hasRights(\'edit_photo\')">\n <a class="dropdown-toggle navbar-toggle" dropdown-toggle>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </a>\n <ul class="dropdown-menu">\n <li ng-if="chatFull.chat.photo.photo_small" 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()" ng-switch="isMegagroup">\n <span ng-switch-when="true" my-i18n="group_modal_menu_edit_group"></span>\n <span ng-switch-default my-i18n="channel_modal_menu_edit"></span>\n </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" ng-switch="isMegagroup">\n <h4>\n <span ng-switch-when="true" my-i18n="group_modal_info"></span>\n <span ng-switch-default my-i18n="channel_modal_info"></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 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"></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.chat.username">\n <h4 class="mobile_modal_section_header" my-i18n="channel_modal_share_link"></h4>\n <div class="mobile_modal_section_value">\n <a class="settings_modal_username_link" ng-click="shareLink($event)" ng-bind="\'https://t.me/\' + chatFull.chat.username" ng-href="https://t.me/{{chatFull.chat.username}}" target="_blank"></a>\n </div>\n </div>\n\n <div class="mobile_modal_section" ng-if="!chatFull.chat.username &amp;&amp; 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.exported_invite._">\n <a ng-switch-when="chatInviteExported" class="settings_modal_username_link" ng-click="shareLink($event)" ng-bind="chatFull.exported_invite.link" ng-href="{{chatFull.exported_invite.link}}" target="_blank"></a>\n <span ng-switch-default my-i18n="channel_modal_share_loading">\n <my-i18n-param name="dots"><span my-loading-dots></span></my-i18n-param>\n </span>\n </div>\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
e.put("partials/mobile/head.html",'<div class="tg_page_head">\n <div class="navbar navbar-static-top navbar-inverse" role="navigation" ng-class="{navbar_peer_not_selected: !curDialog.peer, navbar_offline: offline, navbar_history_select: historyState.selectActions}">\n <div class="container">\n\n\n <a class="navbar-peer-wrap" my-peer-photolink="historyPeer.id" peer-watch="true"></a>\n\n <div class="navbar-toggle-wrap dropdown" dropdown ng-switch="!curDialog.peer">\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 ng-switch-when="true" class="dropdown-menu">\n <li><a ng-click="openGroup()" my-i18n="head_new_group"></a></li>\n <li><a ng-click="importContact()" my-i18n="head_new_contact"></a></li>\n <li ng-if="!isEmpty.contacts"><a ng-click="openContacts()" my-i18n="head_contacts"></a></li>\n <li><a ng-click="openSettings()" my-i18n="head_settings"></a></li>\n <li><a ng-click="logOut()" my-i18n="head_log_out"></a></li>\n </ul>\n <ul ng-switch-default class="dropdown-menu">\n <li><a ng-click="toggleEdit()" my-i18n="head_select_messages"></a></li>\n <li ng-if="!historyFilter.mediaType" class="divider"></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'photos\')" my-i18n="head_media_photos"></a></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'video\')" my-i18n="head_media_video"></a></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'documents\')" my-i18n="head_media_documents"></a></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'audio\')" my-i18n="head_media_audio"></a></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'round\')" my-i18n="head_media_round"></a></li>\n </ul>\n </div>\n\n <a class="navbar-search-wrap" ng-click="toggleSearch()">\n <i class="icon-search"></i>\n </a>\n\n <div class="navbar-header">\n\n <a class="navbar-brand tg_logo_wrap" href="#/im"><i class="icon icon-tg-logo"></i><i class="icon icon-tg-title"></i></a>\n\n <span class="tg_head_logo"></span></a>\n\n <div class="tg_head_peer_menu_wrap" ng-switch="curDialog.peer &amp;&amp; historyFilter.mediaType.length > 0">\n <ul ng-switch-when="true" class="nav navbar-nav navbar-quick-nav">\n <li>\n <a ng-click="toggleMedia()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title" ng-switch="historyFilter.mediaType">\n <h4 ng-switch-when="photos" my-i18n="head_media_photos"></h4>\n <h4 ng-switch-when="video" my-i18n="head_media_video"></h4>\n <h4 ng-switch-when="documents" my-i18n="head_media_documents"></h4>\n <h4 ng-switch-when="audio" my-i18n="head_media_audio"></h4>\n </div>\n </a>\n </li>\n </ul>\n <div ng-switch-default ng-switch="historyState.selectActions">\n <ul ng-switch-when="selected" class="nav navbar-navbar navbar-quick-nav navbar-history-edit">\n <li class="navbar-quick-right">\n <a ng-click="toggleEdit()" my-i18n="modal_cancel"></a>\n </li>\n <li class="navbar-quick-left">\n <a ng-click="selectedFlush()" my-i18n="head_clear_all"></a>\n </li>\n <li class="navbar-quick-title" my-i18n="head_select"></li>\n </ul>\n <ul ng-switch-default class="nav navbar-nav navbar-quick-nav" ng-switch="historyPeer.id > 0">\n <li ng-switch-when="true">\n <a href="#/im" class="navbar-quick-profile-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title">\n
e.put("partials/mobile/message_actions_modal.html",'<div class="message_actions_modal_wrap" my-modal-position>\n\n <div class="message_actions_wrap">\n <button ng-if="historyState.canReply" class="btn btn-md btn-md-primary btn-block" my-i18n="message_action_reply" ng-click="$close(\'reply\')"></button>\n <button ng-if="historyState.canEdit" class="btn btn-md btn-md-primary btn-block" my-i18n="message_action_edit" ng-click="$close(\'edit\')"></button>\n <button class="btn btn-md btn-md-primary btn-block" my-i18n="message_action_forward" ng-click="$close(\'forward\')"></button>\n <button ng-if="historyState.canDelete" class="btn btn-md btn-md-primary btn-block" my-i18n="message_action_delete" ng-click="$close(\'delete\')"></button>\n <button class="btn btn-md btn-md-primary btn-block" my-i18n="message_action_select" ng-click="$close(\'select\')"></button>\n <button class="btn btn-md btn-block" my-i18n="message_action_cancel" ng-click="$dismiss()"></button>\n </div>\n\n</div>\n'),e.put("partials/mobile/message_attach_contact.html",'<div class="im_message_contact">\n <a ng-if="::media.user_id > 0" class="im_message_contact_photo pull-left" my-peer-photolink="media.user_id" img-class="im_message_contact_photo" user-override="media"></a>\n <div class="im_message_contact_name" ng-switch="media.user_id > 0">\n <a ng-switch-when="true" my-peer-link="media.user_id" user-override="media"></a>\n <span ng-switch-default ng-bind-html="::media.rFullName"></span>\n </div>\n <div class="im_message_contact_phone" ng-bind="::media.phone_number | phoneNumber"></div>\n</div>'),e.put("partials/mobile/message_attach_document.html",'<div ng-switch="::media.document.type">\n\n <div ng-switch-when="gif" my-load-gif document="media.document"></div>\n \n <div ng-switch-when="round" my-load-round document="media.document"></div>\n\n <div ng-switch-when="sticker" my-load-sticker document="media.document" open="true"></div>\n\n <div ng-switch-when="voice" class="im_message_audio">\n <div my-audio-player audio="media.document"></div>\n </div>\n\n <div ng-switch-when="audio" class="im_message_audio">\n <div my-audio-player audio="media.document"></div>\n </div>\n\n <div ng-switch-when="video" class="im_message_video im_message_document_thumbed">\n <a class="im_message_video_thumb" href="" ng-click="videoOpen()" ng-style="::{width: media.document.thumb.width + \'px\'}">\n <span class="im_message_video_duration" ng-bind="::media.document.duration | duration"></span>\n <i class="icon icon-videoplay"></i>\n <img\n class="im_message_video_thumb im_message_video_thumb_blurred"\n my-load-thumb\n thumb="media.document.thumb"\n />\n </a>\n </div>\n\n <div ng-switch-default class="im_message_document clearfix" ng-class="{im_message_document_thumbed: !!media.document.thumb, im_message_document_progress: media.document.progress.enabled}">\n\n <a ng-if="::!media.document.thumb" class="im_message_file_button" ng-click="docOpen()" ng-class="{im_message_file_button_dl_doc: media.document.downloaded}">\n <i class="im_message_file_button_icon"></i>\n </a>\n <a ng-if="::media.document.thumb" ng-click="docOpen()">\n <div class="im_message_document_thumb_wrap">\n <img\n class="im_message_document_thumb"\n my-load-thumb\n thumb="media.document.thumb"\n />\n </div>\n </a>\n\n <div class="im_message_document_info">\n <div class="im_message_document_name_wrap">\n <a href="" ng-attr-data-name="{{media_file_name_without_ext}}" ng-attr-data-ext="{{media_file_ext}}" ng-click="docOpen()" class="im_message_document_name"></a>\n <span class="im_message_document_size" ng-if="!media.document.progress.enabled" ng-bind="::media.document.size | formatSize"></span>\n <span class="im_message_document_size" ng-if="media.document.progress.enabled" ng-bind="media.document.progress | formatSizeProgress"></span>\n </div>\n <div class="im_message_document_actions" ng-if="!media.document.progress.en
e.put("partials/mobile/send_form.html",'<form class="im_send_form" ng-class="{im_send_form_empty: !draftMessage.text.length && draftMessage.type != \'edit\', composer_progress_enabled: draftMessage.inlineProgress, im_voice_recording: voiceRecorder.recording, im_processing_recording: voiceRecorder.processing}">\n\n <div class="im_send_reply_wrap" ng-if="draftMessage.replyToMsgID > 0">\n <a class="im_send_reply_cancel" ng-mousedown="draftMessage.replyClear(true)"><i class="icon icon-reply-bar"></i><i class="icon icon-reply-bar"></i></a>\n <a class="im_message_reply_wrap" my-reply-message="draftMessage.replyToMsgID" watch="true" edit="{{draftMessage.type == \'edit\'}}"></a>\n </div>\n\n <div class="im_send_reply_wrap im_send_fwds_wrap" ng-if="draftMessage.fwdMessages.length > 0">\n <a class="im_send_reply_cancel" ng-mousedown="draftMessage.fwdsClear()"><i class="icon icon-reply-bar"></i><i class="icon icon-reply-bar"></i></a>\n <div class="im_message_reply_wrap" my-forwarded-messages="draftMessage.fwdMessages"></div>\n </div>\n\n <div class="im_send_field_panel">\n\n <div class="im_voice_recorder_wrap">\n <div class="im_recorder_indicator"><i></i></div>\n <div class="im_recorder_time" ng-bind="voiceRecorder.duration | duration"></div>\n <div class="im_recorder_label" ng-switch="voiceRecorder.processing">\n <span ng-switch-when="true" my-i18n="im_voice_processing_label">\n <my-i18n-param name="dots"></my-i18n-param>\n </span>\n <span ng-switch-default>\n <span class="im_recorder_label_hover" my-i18n="im_voice_recording_label"></span>\n <span class="im_recorder_label_hout" my-i18n="im_voice_recording_cancel_label"></span>\n </span>\n </div>\n </div>\n\n <div class="im_send_field_wrap" ng-class="historyState.replyKeyboard._ == \'replyKeyboardMarkup\' ? \'im_send_field_wrap_2ndbtn\' : \'\'">\n <a class="composer_emoji_insert_btn pull-right"><i class="icon icon-emoji"></i></a>\n <a class="composer_command_btn" ng-show="!historyState.replyKeyboard && commands.list.length > 0 && (!draftMessage.text.length || draftMessage.text[0] == \'/\')" ng-mousedown="draftMessage.toggleSlash($event)" ng-class="draftMessage.text[0] == \'/\' ? \'active\' : \'\'"><i class="icon icon-slash"></i></a>\n <a class="composer_keyboard_btn" ng-show="historyState.replyKeyboard._ == \'replyKeyboardMarkup\'" ng-mousedown="draftMessage.replyKeyboardToggle($event)" ng-class="!historyState.replyKeyboard.pFlags.hidden ? \'active\' : \'\'"><i class="icon icon-keyboard"></i></a>\n\n <div class="composer_progress_icon_wrap">\n <div class="composer_progress_icon" my-arc-progress width="22" stroke="2.5"></div>\n </div>\n\n <div class="im_send_dropbox_wrap" my-i18n="im_photos_drop_text"></div>\n <textarea ng-model="draftMessage.text" class="form-control im_message_field no_outline" dir="auto" ng-trim="false"></textarea>\n </div>\n\n <div class="im_attach pull-left">\n <input type="file" class="im_attach_input" size="28" multiple="true" title="{{\'im_media_attach_title\' | i18n}}" />\n <i class="icon icon-paperclip"></i>\n </div>\n\n <div class="im_record pull-right">\n <i class="icon icon-mic"></i>\n </div>\n\n <button type="submit" class="btn btn-success im_submit"></button>\n </div>\n\n\n <div class="im_send_keyboard_wrap" ng-if="historyState.replyKeyboard._ == \'replyKeyboardMarkup\'" ng-show="!historyState.replyKeyboard.pFlags.hidden">\n <div my-reply-markup="historyState.replyKeyboard"></div>\n </div>\n\n</form>'),e.put("partials/mobile/sessions_list_modal.html",'<div class="sessions_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 <ul class="nav navbar-nav navbar-quick-nav">\n <li>\n <a ng-click="$dismiss()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div cl
delete t.selectCategoryTimeout,a?(t.selectCategoryIndex=i,t.selectCategoryTimeout=setTimeout(function(){delete t.selectCategoryIndex,delete t.selectCategoryTimeout,t.selectCategory(i)},300)):delete t.selectCategoryIndex)}}}),this.emojiScroller=new Scroller(this.emojiContentEl,{classPrefix:"composer_emoji_tooltip"}),this.stickersScroller=new Scroller(this.stickersContentEl,{classPrefix:"composer_emoji_tooltip"}),this.stickersScroller.onScroll(function(e,n){t.onStickersScroll(e,n)}),this.contentEl.on("mousedown",function(e){e=e.originalEvent||e;var n,i,a,r=$(e.target);return"A"!=r[0].tagName&&(r=$(r[0].parentNode)),(n=r.attr("data-code"))&&(t.onEmojiSelected&&t.onEmojiSelected(n),EmojiHelper.pushPopularEmoji(n)),(i=r.attr("data-sticker"))&&(t.onStickerSelected&&t.onStickerSelected(i),Config.Mobile&&t.hide()),(a=r.attr("data-stickerset"))&&(t.onStickersetSelected&&t.onStickersetSelected(a),t.hide()),cancelEvent(e)}),Config.Navigator.touch||this.tooltipEl.on("mouseenter mouseleave",function(e){"mouseenter"==e.type?t.onMouseEnter():t.onMouseLeave()}),this.selectTab(0),$(window).on("resize",this.updatePosition.bind(this)),!0},EmojiTooltip.prototype.selectCategory=function(e,t){return!(!this.tab&&this.cat===e&&!t)&&($(".active",this.categoriesEl).removeClass("active"),this.cat=e,void(this.tab?(this.activateStickerCategory(),this.updateStickersContents(t)):($(this.categoriesEl[this.tab].childNodes[e]).addClass("active"),this.updateEmojiContents())))},EmojiTooltip.prototype.selectTab=function(e,t){if(this.tab===e&&!t)return!1;this.tab=e,this.selectCategory(0,!0);var n=this;setTimeout(function(){$(n.tooltipEl).toggleClass("composer_emoji_tooltip_tabs_stickers_active",1==e)},0)},EmojiTooltip.prototype.updateEmojiContents=function(){var e=[],t=this,n=26,i=function(){t.emojiContentEl.html(e.join("")),t.emojiScroller.reinit()};if(this.cat>0){var a,r,o,s,l,c=this.cat-1,d=Config.EmojiCategories[c],u=Config.EmojiCategorySpritesheetDimens[c][1],p=d.length;for(o=0;o<p;o++)a=d[o],r=Config.Emoji[a],s=n*(o%u),l=n*Math.floor(o/u),e.push('<a class="composer_emoji_btn" title=":'+encodeEntities(r[1][0])+':" data-code="'+encodeEntities(a)+'"><i class="emoji emoji-w'+n+" emoji-spritesheet-"+c+'" style="background-position: -'+s+"px -"+l+'px;"></i></a>');i()}else EmojiHelper.getPopularEmoji(function(t){var a,r,o,s,l,c,d,u,p=t.length;for(c=0;c<p;c++)a=t[c].code,(r=Config.Emoji[a])&&(o=EmojiHelper.spritesheetPositions[a],l=o[0],s=o[1],d=n*o[3],u=n*o[2],e.push('<a class="composer_emoji_btn" title=":'+encodeEntities(r[1][0])+':" data-code="'+encodeEntities(a)+'"><i class="emoji emoji-w'+n+" emoji-spritesheet-"+l+'" style="background-position: -'+d+"px -"+u+'px;"></i></a>'));i()})},EmojiTooltip.prototype.updateStickersContents=function(e){var t=[],n=[],i=this,a=function(){var t=i.cat?i.stickersetPositions[i.cat][0]:0;i.stickersScroller.scrollTo(t,e?0:200)};if(!e&&i.stickersetPositions.length)return void a();var r=function(e){var r,o,s,l,c,d;for(s=0,c=e.length;s<c;s++)if(r=e[s],r.docIDs.length){for(t.push('<div class="composer_stickerset_wrap clearfix">'),r.title&&t.push('<a class="composer_stickerset_title',r.id?"":" disabled",'" data-stickerset="',encodeEntities(r.short_name),'">',encodeEntities(r.title),"</a>"),r.id?n.push('<a class="composer_sticker_btn" data-sticker="'+r.docIDs[0]+'" data-category="'+s+'"></a>'):n.push('<a class="composer_emoji_tooltip_category active" data-category="0"><i class="composer_emoji_tooltip_category_recent"></i></a>'),l=0,d=r.docIDs.length;l<d;l++)o=r.docIDs[l],t.push('<a class="composer_sticker_btn" data-sticker="'+o+'"></a>');t.push("</div>")}i.stickersContentEl.html(t.join("")),i.stickersCategoriesEl.html(n.join("")),i.stickersScroller.reinit();var u=[];$(".composer_stickerset_wrap",i.stickersContentEl).each(function(e,t){var n=t.offsetHeight,i=t.offsetTop;u.push([i,n])}),i.stickersetPositions=u,a();var p=[];i.contentEl.find(".composer_sticker_btn").each(function(e,t){e<12?i.replaceStickerImage(t):p.push([t.offsetTop,t])}),i.stickersPreload=p,i.stickersCategoriesEl.find(".composer_sticker_btn").each(function(e,t){i.re
t.mid==n.messageId&&a()}),a()}}}]).directive("myMessagePending",function(){function e(e,t,n){if(e.media.file_name){var i=e.media.file_name.split(".");i.length>1?(e.media_file_ext="."+i.pop(),e.media_file_name_without_ext=i.join("."),e.media_file_name_without_ext||(e.media_file_name_without_ext=e.media_file_ext,e.media_file_ext="")):(e.media_file_ext="",e.media_file_name_without_ext=i[0])}}return{scope:{media:"=myMessagePending"},templateUrl:templateUrl("message_attach_pending"),link:e}}).directive("myInlineReplyMarkup",function(){function e(e,t,n){e.buttonClick=function(t){e.$emit("reply_inline_button_press",t)}}return{templateUrl:templateUrl("reply_markup"),scope:{replyMarkup:"=myInlineReplyMarkup"},link:e}}).directive("myServiceMessage",["ErrorService","AppMessagesManager",function(e,t){function n(n,i,a){n.phoneCallClick=function(n){var i=t.getMessage(n),a=t.getMessagePeer(i);e.show({error:{type:"PHONECALLS_NOT_SUPPORTED",userID:a}})}}return{templateUrl:templateUrl("message_service"),scope:{historyMessage:"=myServiceMessage"},link:n}}]).directive("myShortMessage",function(){return{scope:{message:"=myShortMessage"},templateUrl:templateUrl("short_message")}}).directive("myReplyMessage",["AppMessagesManager","AppPeersManager","$rootScope",function(e,t,n){function i(e,t,n){if(n.watch)e.$parent.$watch(n.myReplyMessage,function(i){var r=e.$parent.$eval(n.edit);a(e,t,i,r)});else{var i=e.$parent.$eval(n.myReplyMessage),r=e.$parent.$eval(n.edit);a(e,t,i,r)}}function a(t,n,i,a){var o=t.replyMessage=e.wrapSingleMessage(i);if(t.isEdit=a||!1,o.loading)var s=t.$on("messages_downloaded",function(a,o){o.indexOf(i)!=-1&&(t.replyMessage=e.wrapForDialog(i),r(t,n),s())});else r(t,n)}function r(i,a){var r=i.replyMessage;return r&&!r.deleted&&r.to_id?(i.thumb=e.getMessageThumb(r,42,42),"A"==a[0].tagName&&a.on("click",function(){var i=e.getMessagePeer(r),a=t.getPeerString(i);n.$broadcast("history_focus",{peerString:a,messageID:r.mid})}),void onContentLoaded(function(){i.$emit("ui_height")})):void $(a).remove()}return{templateUrl:templateUrl("reply_message"),scope:{},link:i}}]).directive("myPinnedMessage",["AppMessagesManager","AppPeersManager","$rootScope",function(e,t,n){function i(t,n,i){var r=t.$parent.$eval(i.myPinnedMessage),o=t.pinnedMessage=e.wrapSingleMessage(r);if(o.loading)var s=t.$on("messages_downloaded",function(i,o){o.indexOf(r)!=-1&&(t.pinnedMessage=e.wrapForDialog(r),a(t,n),s())});else a(t,n)}function a(i,a){var r=i.pinnedMessage;return r&&!r.deleted&&r.to_id?("A"==a[0].tagName&&a.on("click",function(){var i=e.getMessagePeer(r),a=t.getPeerString(i);n.$broadcast("history_focus",{peerString:a,messageID:r.mid})}),void onContentLoaded(function(){i.$emit("ui_height")})):void $(a).remove()}return{templateUrl:templateUrl("pinned_message"),scope:{},link:i}}]).directive("myForwardedMessages",["AppPhotosManager","AppMessagesManager","AppPeersManager","$rootScope",function(e,t,n,i){function a(e,t,n){n.watch?e.$watch("forwardMessages",function(){r(e,t)}):r(e,t)}function r(e,n){var i=e.forwardMessages,a=i.length,r=!1,o=1==a;e.thumb=!1,e.singleMessage=!1,angular.forEach(i,function(n){var i=t.getMessage(n);r===!1?r=i.fromID:r!==i.fromID&&(r=t.getMessagePeer(i)),o&&(e.thumb=t.getMessageThumb(i,42,42),e.singleMessage=t.wrapForDialog(n))}),e.fromID=r,e.count=a,onContentLoaded(function(){e.$emit("ui_height")})}return{templateUrl:templateUrl("forwarded_messages"),scope:{forwardMessages:"=myForwardedMessages"},link:a}}]).directive("myMessageEdited",["_","$timeout","AppMessagesManager",function(e,t,n){function i(e,t,n){var i=e.$parent.$eval(n.myMessageEdited);a(e,t,i)&&e.$on("message_edit",function(i,r){var o=e.$parent.$eval(n.myMessageEdited);r.mid==o&&a(e,t,o)})}function a(e,i,a){var o=n.getMessage(a);return o.canBeEdited?!o.edit_date||(i.html(r).show(),t(function(){e.$destroy()}),!1):(t(function(){e.$destroy(),i.remove()}),!1)}var r=e("message_edited");return{scope:{},link:i}}]).directive("myDialogs",["$modalStack","$transition","$window","$timeout",function(e,t,n,i){function a(t,a,r){function o(n){if(!p&&e.getTop())return!0;var i,a,r;if(36==n
function t(e,t,i){t.html(n(t[0])?'<div class="loading_dots"><i></i><i></i><i></i></div>':"...")}function n(e){if(void 0===i&&(i=void 0!==e.style.animationName,i===!1)){var t,n="Webkit Moz O ms Khtml".split(" ");for(t=0;t<n.length;t++)if(void 0!==e.style[n[t]+"AnimationName"]){i=!0;break}}return i}return{link:t};var i}]).directive("myFocused",["shouldFocusOnInteraction",function(e){return{link:function(t,n,i){return!!e&&void setTimeout(function(){setFieldSelection(n[0])},100)}}}]).directive("myFocusOn",["shouldFocusOnInteraction",function(e){return{link:function(t,n,i){t.$on(i.myFocusOn,function(){return!!e&&void onContentLoaded(function(){setFieldSelection(n[0])})})}}}]).directive("myFileUpload",function(){function e(e,t,n){t.on("change",function(){var t=this;e.$apply(function(){e.photo.file=t.files[0],setTimeout(function(){try{t.value=""}catch(e){}},1e3)})})}return{link:e}}).directive("myModalWidth",function(){function e(e,t,n){n.$observe("myModalWidth",function(e){$(t[0].parentNode.parentNode).css({width:parseInt(e)+(Config.Mobile?0:32)})})}return{link:e}}).directive("myModalNav",function(){function e(e,t,n){var i=function(t){var i=t.target;if(!i||"INPUT"!=i.tagName&&"TEXTAREA"!=i.tagName)switch(t.keyCode){case 39:case 32:case 34:case 40:e.$eval(n.next);break;case 37:case 33:case 38:e.$eval(n.prev)}};$(document).on("keydown",i),e.$on("$destroy",function(){$(document).off("keydown",i)})}return{link:e}}).directive("myCustomBackground",function(){function e(e,t,n){$("html").css({background:n.myCustomBackground}),e.$on("$destroy",function(){$("html").css({background:""})})}return{link:e}}).directive("myInfiniteScroller",function(){function e(e,t,n){var i=$(".nano-content",t)[0],a=!1;$(i).on("scroll",function(n){t.is(":visible")&&!a&&i.scrollTop>=i.scrollHeight-i.clientHeight-300&&(a=!0,e.$apply(function(){e.slice.limit+=e.slice.limitDelta||20}),onContentLoaded(function(){a=!1,$(t).nanoScroller()}))})}return{link:e,scope:!0}}).directive("myModalPosition",["$window","$timeout",function(e,t){function n(n,i,a){var r=function(){if(!Config.Mobile||!$(i[0].parentNode.parentNode.parentNode).hasClass("mobile_modal")){var e=i[0].parentNode.offsetHeight,n=i[0].parentNode.parentNode.parentNode,r=$(".media_modal_bottom_panel_wrap",n)[0],o=n.offsetHeight-(r&&r.offsetHeight||0);e<o?$(i[0].parentNode).css("marginTop",(o-e)/2):$(i[0].parentNode).css("marginTop",""),"no"!=a.animation&&t(function(){$(i[0].parentNode).addClass("modal-content-animated")},300)}};onContentLoaded(r),$(e).on("resize",r),n.$on("ui_height",function(e,t){t?r():onContentLoaded(r)})}return{link:n}}]).directive("myVerticalPosition",["$window","$timeout",function(e,t){function n(t,n,i){var a="true"===i.padding,r=0,o=function(){var o=n[0].offsetHeight,s=o-(o&&a?2*r:0),l=i.myVerticalPosition&&parseFloat(i.myVerticalPosition)||.5,c=i.contHeight?t.$eval(i.contHeight):$(e).height(),d=s<c?parseInt((c-s)*l):"",u=a?{paddingTop:d,paddingBottom:d}:{marginTop:d,marginBottom:d};n.css(u),n.addClass("vertical-aligned"),r!==d&&t.$emit("ui_height"),r=d};$(e).on("resize",o),onContentLoaded(o),t.$on("ui_height",function(){onContentLoaded(o)})}return{link:n}}]).directive("myUserStatus",["$filter","$rootScope","AppUsersManager",function(e,t,n){function i(){angular.forEach(s,function(e){e()})}function a(e,t,i){var a,l=o++,c=function(){var e=n.getUser(a);t.html(r(e,i.botChatPrivacy)).toggleClass("status_online",e.status&&"userStatusOnline"==e.status._||!1)};e.$watch(i.myUserStatus,function(e){a=e,c()}),e.$on("user_update",function(e,t){a==t&&c()}),s[l]=c,e.$on("$destroy",function(){delete s[l]})}var r=e("userStatus"),o=0,s={};return setInterval(i,9e4),t.$on("stateSynchronized",function(){setTimeout(function(){i()},100)}),{link:a}}]).directive("myChatStatus",["$rootScope","_","MtpApiManager","AppChatsManager","AppUsersManager","AppProfileManager",function(e,t,n,i,a,r){function o(){angular.forEach(c,function(e){e()})}function s(n,o,s){var f,m=l++,h=0,g=0,_={},v=function(){var e=++h;return g=0,_={},f?void r.getChatFull(f).then(function(t){if(e==h){var n=(t.participants||{}).participants||[];g=n