@cognite/reveal 3.2.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/tools.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /*! For license information please see tools.js.LICENSE.txt */
2
- !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports["@cognite/reveal"]=r():e["@cognite/reveal"]=r()}("undefined"!=typeof self?self:this,(()=>(()=>{var e={470:e=>{"use strict";function r(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function t(e,r){for(var t,i="",n=0,a=-1,o=0,f=0;f<=e.length;++f){if(f<e.length)t=e.charCodeAt(f);else{if(47===t)break;t=47}if(47===t){if(a===f-1||1===o);else if(a!==f-1&&2===o){if(i.length<2||2!==n||46!==i.charCodeAt(i.length-1)||46!==i.charCodeAt(i.length-2))if(i.length>2){var s=i.lastIndexOf("/");if(s!==i.length-1){-1===s?(i="",n=0):n=(i=i.slice(0,s)).length-1-i.lastIndexOf("/"),a=f,o=0;continue}}else if(2===i.length||1===i.length){i="",n=0,a=f,o=0;continue}r&&(i.length>0?i+="/..":i="..",n=2)}else i.length>0?i+="/"+e.slice(a+1,f):i=e.slice(a+1,f),n=f-a-1;a=f,o=0}else 46===t&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",n=!1,a=arguments.length-1;a>=-1&&!n;a--){var o;a>=0?o=arguments[a]:(void 0===e&&(e=process.cwd()),o=e),r(o),0!==o.length&&(i=o+"/"+i,n=47===o.charCodeAt(0))}return i=t(i,!n),n?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(r(e),0===e.length)return".";var i=47===e.charCodeAt(0),n=47===e.charCodeAt(e.length-1);return 0!==(e=t(e,!i)).length||i||(e="."),e.length>0&&n&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return r(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t<arguments.length;++t){var n=arguments[t];r(n),n.length>0&&(void 0===e?e=n:e+="/"+n)}return void 0===e?".":i.normalize(e)},relative:function(e,t){if(r(e),r(t),e===t)return"";if((e=i.resolve(e))===(t=i.resolve(t)))return"";for(var n=1;n<e.length&&47===e.charCodeAt(n);++n);for(var a=e.length,o=a-n,f=1;f<t.length&&47===t.charCodeAt(f);++f);for(var s=t.length-f,c=o<s?o:s,A=-1,b=0;b<=c;++b){if(b===c){if(s>c){if(47===t.charCodeAt(f+b))return t.slice(f+b+1);if(0===b)return t.slice(f+b)}else o>c&&(47===e.charCodeAt(n+b)?A=b:0===b&&(A=0));break}var l=e.charCodeAt(n+b);if(l!==t.charCodeAt(f+b))break;47===l&&(A=b)}var u="";for(b=n+A+1;b<=a;++b)b!==a&&47!==e.charCodeAt(b)||(0===u.length?u+="..":u+="/..");return u.length>0?u+t.slice(f+A):(f+=A,47===t.charCodeAt(f)&&++f,t.slice(f))},_makeLong:function(e){return e},dirname:function(e){if(r(e),0===e.length)return".";for(var t=e.charCodeAt(0),i=47===t,n=-1,a=!0,o=e.length-1;o>=1;--o)if(47===(t=e.charCodeAt(o))){if(!a){n=o;break}}else a=!1;return-1===n?i?"/":".":i&&1===n?"//":e.slice(0,n)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');r(e);var i,n=0,a=-1,o=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var f=t.length-1,s=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){n=i+1;break}}else-1===s&&(o=!1,s=i+1),f>=0&&(c===t.charCodeAt(f)?-1==--f&&(a=i):(f=-1,a=s))}return n===a?a=s:-1===a&&(a=e.length),e.slice(n,a)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){n=i+1;break}}else-1===a&&(o=!1,a=i+1);return-1===a?"":e.slice(n,a)},extname:function(e){r(e);for(var t=-1,i=0,n=-1,a=!0,o=0,f=e.length-1;f>=0;--f){var s=e.charCodeAt(f);if(47!==s)-1===n&&(a=!1,n=f+1),46===s?-1===t?t=f:1!==o&&(o=1):-1!==t&&(o=-1);else if(!a){i=f+1;break}}return-1===t||-1===n||0===o||1===o&&t===n-1&&t===i+1?"":e.slice(t,n)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,r){var t=r.dir||r.root,i=r.base||(r.name||"")+(r.ext||"");return t?t===r.root?t+i:t+"/"+i:i}(0,e)},parse:function(e){r(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var i,n=e.charCodeAt(0),a=47===n;a?(t.root="/",i=1):i=0;for(var o=-1,f=0,s=-1,c=!0,A=e.length-1,b=0;A>=i;--A)if(47!==(n=e.charCodeAt(A)))-1===s&&(c=!1,s=A+1),46===n?-1===o?o=A:1!==b&&(b=1):-1!==o&&(b=-1);else if(!c){f=A+1;break}return-1===o||-1===s||0===b||1===b&&o===s-1&&o===f+1?-1!==s&&(t.base=t.name=0===f&&a?e.slice(1,s):e.slice(f,s)):(0===f&&a?(t.name=e.slice(1,o),t.base=e.slice(1,s)):(t.name=e.slice(f,o),t.base=e.slice(f,s)),t.ext=e.slice(o,s)),f>0?t.dir=e.slice(0,f-1):a&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},430:(e,r,t)=>{"use strict";t.d(r,{Z:()=>i});const i="precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D tex;\n\nin vec2 vUv;\n\nout vec4 color;\n\nvoid main()\n{\n color = texture(tex, vUv); \n}\n"},479:(e,r,t)=>{"use strict";t.d(r,{Z:()=>i});const i="#define GLSLIFY 1\nuniform mat4 modelMatrix;\nuniform vec2 scale;\nuniform vec2 offset;\n\nin vec3 position;\nin vec2 uv;\n\nout vec2 vUv;\n\nconst mat4 unitOrthographicProjection = mat4(1., 0., 0., 0., 0., 1., 0., 0., 0., 0., -1., 0., 0., 0., 0., 1.);\n\nvoid main() {\n vUv = uv;\n\n vec4 clipSpace = unitOrthographicProjection * modelMatrix * vec4(position, 1.0);\n\n clipSpace.xy *= scale.xy;\n\n clipSpace.xy += vec2(-1., -1.) + offset;\n\n gl_Position = clipSpace;\n}\n"},812:(e,r,t)=>{var i,n=(i=(i="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(e){var r,n,a=void 0!==(e=e||{})?e:{};a.ready=new Promise((function(e,t){r=e,n=t}));var o=!1,f=!1;a.onRuntimeInitialized=function(){o=!0,f&&"function"==typeof a.onModuleLoaded&&a.onModuleLoaded(a)},a.onModuleParsed=function(){f=!0,o&&"function"==typeof a.onModuleLoaded&&a.onModuleLoaded(a)},a.isVersionSupported=function(e){if("string"!=typeof e)return!1;const r=e.split(".");return!(r.length<2||r.length>3)&&(1==r[0]&&r[1]>=0&&r[1]<=5||!(0!=r[0]||r[1]>10))};var s,c={};for(s in a)a.hasOwnProperty(s)&&(c[s]=a[s]);var A,b,l,u,_,p=[],k="object"==typeof window,d="function"==typeof importScripts,m="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,h="";m?(h=d?t(470).dirname(h)+"/":"//",A=function(e,r){var i=te(e);return i?r?i:i.toString():(u||(u=t(501)),_||(_=t(470)),e=_.normalize(e),u.readFileSync(e,r?null:"utf8"))},l=function(e){var r=A(e,!0);return r.buffer||(r=new Uint8Array(r)),C(r.buffer),r},b=function(e,r,i){var n=te(e);n&&r(n),u||(u=t(501)),_||(_=t(470)),e=_.normalize(e),u.readFile(e,(function(e,t){e?i(e):r(t.buffer)}))},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),p=process.argv.slice(2),a.inspect=function(){return"[Emscripten Module object]"}):(k||d)&&(d?h=self.location.href:"undefined"!=typeof document&&document.currentScript&&(h=document.currentScript.src),i&&(h=i),h=0!==h.indexOf("blob:")?h.substr(0,h.replace(/[?#].*/,"").lastIndexOf("/")+1):"",A=function(e){try{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText}catch(r){var t=te(e);if(t)return function(e){for(var r=[],t=0;t<e.length;t++){var i=e[t];i>255&&(i&=255),r.push(String.fromCharCode(i))}return r.join("")}(t);throw r}},d&&(l=function(e){try{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}catch(r){var t=te(e);if(t)return t;throw r}}),b=function(e,r,t){var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=function(){if(200==i.status||0==i.status&&i.response)r(i.response);else{var n=te(e);n?r(n.buffer):t()}},i.onerror=t,i.send(null)}),a.print||console.log.bind(console);var y,v=a.printErr||console.warn.bind(console);for(s in c)c.hasOwnProperty(s)&&(a[s]=c[s]);c=null,a.arguments&&(p=a.arguments),a.thisProgram&&a.thisProgram,a.quit&&a.quit,a.wasmBinary&&(y=a.wasmBinary),a.noExitRuntime;var g,w={Memory:function(e){this.buffer=new ArrayBuffer(65536*e.initial)},Module:function(e){},Instance:function(e,r){this.exports=function(e){for(var r,t=new Uint8Array(123),i=25;i>=0;--i)t[48+i]=52+i,t[65+i]=i,t[97+i]=26+i;function n(e,r,i){for(var n,a,o=0,f=r,s=i.length,c=r+(3*s>>2)-("="==i[s-2])-("="==i[s-1]);o<s;o+=4)n=t[i.charCodeAt(o+1)],a=t[i.charCodeAt(o+2)],e[f++]=t[i.charCodeAt(o)]<<2|n>>4,f<c&&(e[f++]=n<<4|a>>2),f<c&&(e[f++]=a<<6|t[i.charCodeAt(o+3)])}t[43]=62,t[47]=63;var a=new ArrayBuffer(16),o=new Int32Array(a),f=new Float32Array(a);function s(e){f[2]=e}function c(e){return o[e]}return new Float64Array(a),function(e){var t=e.a,i=t.buffer;t.grow=function(e){e|=0;var n=0|vi(),s=n+e|0;if(n<s&&s<65536){var c=new ArrayBuffer(p(s,65536));new Int8Array(c).set(a),a=new Int8Array(c),o=new Int16Array(c),f=new Int32Array(c),A=new Uint8Array(c),b=new Uint16Array(c),l=new Uint32Array(c),u=new Float32Array(c),_=new Float64Array(c),i=c,t.buffer=i,r=A}return n};var a=new Int8Array(i),o=new Int16Array(i),f=new Int32Array(i),A=new Uint8Array(i),b=new Uint16Array(i),l=new Uint32Array(i),u=new Float32Array(i),_=new Float64Array(i),p=Math.imul,k=Math.fround,d=Math.abs,m=Math.clz32,h=Math.min,y=Math.max,v=Math.floor,g=Math.ceil,w=(Math.trunc,Math.sqrt),T=e.abort,C=e.b,E=e.c,N=e.d,G=e.e,R=e.f,V=5254912,D=0;function M(e,r,t,i){var n=0,o=0,s=0,c=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,T=0,C=0,E=0,N=0,G=0,R=0;if(!e)return 1;e:if(!((0|(s=f[t+20>>2]))>=(0|(d=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=l[t+8>>2]|(0|s)>(0|d))){d=A[n+f[t>>2]|0],s=(n=n+1|0)?s:s+1|0,f[t+16>>2]=n,f[t+20>>2]=s;r:switch(0|d){case 0:_=e,s=r,h=i,e=0,i=0,V=d=V+-64|0,f[d+56>>2]=0,f[d+48>>2]=0,f[d+52>>2]=0,f[d+40>>2]=0,f[d+44>>2]=0,f[d+32>>2]=0,f[d+36>>2]=0,f[d+24>>2]=0,f[d+28>>2]=0,f[d+16>>2]=0,f[d+20>>2]=0,f[d+8>>2]=0,f[d+12>>2]=0;t:if(se(d+8|0,t)&&!(!We(d+8|0,t)|(f[d+20>>2]?0:_))){if(rt(t,0,0),_)for(w=s<<2,T=f[d+36>>2],E=f[d+48>>2],N=f[d+24>>2];;){i:if(!((u=f[d+56>>2])>>>0>16383))for(e=f[d+52>>2];;){if((0|e)<=0)break i;if(e=e-1|0,f[d+52>>2]=e,u=A[e+E|0]|u<<8,f[d+56>>2]=u,!(u>>>0<16384))break}if(r=T+((k=f[N+((e=4095&u)<<2)>>2])<<3)|0,f[d+56>>2]=(p(f[r>>2],u>>>12|0)+e|0)-f[r+4>>2],!((0|s)<=0)){if(e=0,!A[t+36|0]|k>>>0>32)break t;if(k){for(G=-2&k,R=1&k,n=i+s|0,r=f[t+32>>2];;){if(m=f[t+28>>2],g=f[t+24>>2],u=0,e=r,o=0,v=0,1!=(0|k))for(;(c=(e>>>3|0)+g|0)>>>0>=m>>>0?c=0:(c=A[0|c],r=e+1|0,f[t+32>>2]=r,c=c>>>(7&e)&1,e=r),c=c<<u|o,o=0,(C=(e>>>3|0)+g|0)>>>0<m>>>0&&(o=A[0|C],r=e+1|0,f[t+32>>2]=r,o=o>>>(7&e)&1,e=r),C=1|u,u=u+2|0,o=c|o<<C,(0|G)!=(0|(v=v+2|0)););if(c=h+(i<<2)|0,R&&((v=m)>>>0>(m=(e>>>3|0)+g|0)>>>0?(m=A[0|m],r=e+1|0,f[t+32>>2]=r,e=m>>>(7&e)&1):e=0,o|=e<<u),f[c>>2]=o,(0|n)==(0|(i=i+1|0)))break}i=n}else Je(h+(i<<2)|0,0,w),i=i+s|0}if(!(_>>>0>(y=s+y|0)>>>0))break}a[t+36|0]=0,i=f[t+20>>2],e=0,r=(s=(e=(r=f[t+32>>2]+7|0)>>>0<7?1:e)<<29|r>>>3)+f[t+16>>2]|0,e=(e>>>3|0)+i|0,f[t+16>>2]=r,f[t+20>>2]=r>>>0<s>>>0?e+1|0:e,e=1}return(r=f[d+36>>2])&&(f[d+40>>2]=r,ee(r)),(r=f[d+24>>2])&&(f[d+28>>2]=r,ee(r)),(r=f[d+8>>2])&&(f[d+12>>2]=r,ee(r)),V=d- -64|0,e;case 1:break r;default:break e}r=0;r:if(!((0|(s=f[t+20>>2]))>=(0|(n=f[t+12>>2]))&(o=f[t+16>>2])>>>0>=l[t+8>>2]|(0|n)<(0|s))){n=A[o+f[t>>2]|0],s=(o=o+1|0)?s:s+1|0,f[t+16>>2]=o,f[t+20>>2]=s;t:switch(n-1|0){case 4:if(V=o=V+-64|0,f[o+56>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o+8>>2]=0,f[o+12>>2]=0,!(!se(o+8|0,t)|(f[o+20>>2]?0:e))&&We(o+8|0,t))if(e)for(t=f[o+36>>2],s=f[o+48>>2],_=f[o+24>>2],c=f[o+56>>2];;){i:if(!(c>>>0>16383))for(r=f[o+52>>2];;){if((0|r)<=0)break i;if(r=r-1|0,f[o+52>>2]=r,c=A[r+s|0]|c<<8,f[o+56>>2]=c,!(c>>>0<16384))break}if(h=f[_+((r=4095&c)<<2)>>2],c=(p(f[(n=t+(h<<3)|0)>>2],c>>>12|0)+r|0)-f[n+4>>2]|0,f[o+56>>2]=c,f[(y<<2)+i>>2]=h,r=1,(0|(y=y+1|0))==(0|e))break}else r=1;(e=f[o+36>>2])&&(f[o+40>>2]=e,ee(e)),(e=f[o+24>>2])&&(f[o+28>>2]=e,ee(e)),(e=f[o+8>>2])&&(f[o+12>>2]=e,ee(e)),V=o- -64|0;break r;case 8:d=e,V=n=V+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(b[t+38>>1]&&Cr(1,n+12|0,t)){if(u=f[n+12>>2],r=f[n>>2],u>>>0>(e=f[n+4>>2]-r>>2)>>>0?(sr(n,u-e|0),u=f[n+12>>2]):e>>>0<=u>>>0||(f[n+4>>2]=r+(u<<2)),e=1,!u)break i;for(g=f[t+8>>2],y=f[t+12>>2],v=f[n>>2],o=0;;){if(e=0,(0|y)<=(0|(s=f[t+20>>2]))&g>>>0<=(r=f[t+16>>2])>>>0|(0|s)>(0|y))break i;w=f[t>>2],m=A[w+r|0],s=(e=r+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r=m>>>2|0,c=0;a:{o:{f:{s:switch(0|(s=3&m)){case 0:break o;case 3:break s;default:break f}if(e=0,(r=r+o|0)>>>0>=u>>>0)break i;Je(v+(o<<2)|0,0,4+(252&m)|0),o=r;break a}for(;;){if((0|e)>=(0|y)&k>>>0>=g>>>0|(0|e)>(0|y))break n;if(u=A[k+w|0],e=(k=k+1|0)?e:e+1|0,f[t+16>>2]=k,f[t+20>>2]=e,r|=u<<(c<<3|6),(0|s)==(0|(c=c+1|0)))break}}f[v+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(u=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(o=(r=f[n+20>>2]-e|0)>>2)>>>0<=8191?sr(y,8192-o|0):32768!=(0|r)&&(f[n+20>>2]=e+32768),o=f[(e=n+28|0)>>2],(r=f[n+32>>2]-o>>3)>>>0<u>>>0)cr(e,u-r|0),o=f[e>>2];else if(r>>>0>u>>>0&&(f[n+32>>2]=(u<<3)+o),!u)break n;for(c=0,e=0;;){if(k=f[(s=g+(c<<2)|0)>>2],r=e,f[4+(m=(c<<3)+o|0)>>2]=e,f[m>>2]=k,(e=(s=f[s>>2])+e|0)>>>0>8192)break n;if(!(e>>>0<=r>>>0)){if(m=f[y>>2],k=0,v=7&s)for(;f[m+(r<<2)>>2]=c,r=r+1|0,(0|v)!=(0|(k=k+1|0)););if(!(s-1>>>0<=6))for(;f[(s=m+(r<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(r=r+8|0))!=(0|e););}if((0|u)==(0|(c=c+1|0)))break}h=8192==(0|e)}e=h}i:if(!(!e|(f[n+12>>2]?0:d))&&kr(1,n+56|0,t)&&(o=(e=f[t+8>>2])-(r=f[t+16>>2])|0,s=f[n+60>>2],h=f[t+20>>2],!((0|s)==(0|(c=f[t+12>>2]-(h+(e>>>0<r>>>0)|0)|0))&o>>>0<(e=f[n+56>>2])>>>0|s>>>0>c>>>0||(s=s+h|0,s=(o=e+r|0)>>>0<e>>>0?s+1|0:s,f[t+16>>2]=o,f[t+20>>2]=s,(0|e)<=0)))){t=r+f[t>>2]|0,f[n+40>>2]=t;n:if((s=A[0|(o=t+(r=e-1|0)|0)])>>>0<=63)f[n+44>>2]=r,e=63&A[0|o];else{switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;r=e-2|0,f[n+44>>2]=r,e=A[1+(e=(e+t|0)-2|0)|0]<<8&16128|A[0|e];break n;case 1:if(e>>>0<3)break i;r=e-3|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-3|0)|0]<<16&4128768|A[e+1|0]<<8|A[0|e];break n}r=e-4|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-4|0)|0]<<16|A[e+3|0]<<24&1056964608|A[e+1|0]<<8|A[0|e]}if(o=e+32768|0,f[n+48>>2]=o,!(o>>>0>8388607))if(d)for(s=f[n+28>>2],e=0,h=f[n+16>>2];;){n:if(!(o>>>0>32767))for(;;){if((0|r)<=0)break n;if(r=r-1|0,f[n+44>>2]=r,o=A[r+t|0]|o<<8,f[n+48>>2]=o,!(o>>>0<32768))break}if(c=f[h+((_=8191&o)<<2)>>2],o=(p(f[(u=s+(c<<3)|0)>>2],o>>>13|0)+_|0)-f[u+4>>2]|0,f[n+48>>2]=o,f[(e<<2)+i>>2]=c,_=1,(0|d)==(0|(e=e+1|0)))break}else _=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),V=n- -64|0,r=_;break r;case 9:d=e,V=n=V+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(b[t+38>>1]&&Cr(1,n+12|0,t)){if(u=f[n+12>>2],r=f[n>>2],u>>>0>(e=f[n+4>>2]-r>>2)>>>0?(sr(n,u-e|0),u=f[n+12>>2]):e>>>0<=u>>>0||(f[n+4>>2]=r+(u<<2)),e=1,!u)break i;for(m=f[t+8>>2],y=f[t+12>>2],g=f[n>>2],o=0;;){if(e=0,(0|y)<=(0|(r=f[t+20>>2]))&m>>>0<=(c=f[t+16>>2])>>>0|(0|r)>(0|y))break i;v=f[t>>2],s=A[v+c|0],e=r,e=(r=c+1|0)?e:e+1|0,k=r,f[t+16>>2]=r,f[t+20>>2]=e,r=s>>>2|0,c=0;a:{o:{f:{s:switch(0|(w=3&s)){case 0:break o;case 3:break s;default:break f}if(e=0,(r=r+o|0)>>>0>=u>>>0)break i;Je(g+(o<<2)|0,0,4+(252&s)|0),o=r;break a}for(;;){if((0|e)>=(0|y)&k>>>0>=m>>>0|(0|e)>(0|y))break n;if(u=A[k+v|0],s=e,s=(e=k+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r|=u<<(c<<3|6),(0|w)==(0|(c=c+1|0)))break}}f[g+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(u=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(o=(r=f[n+20>>2]-e|0)>>2)>>>0<=32767?sr(y,32768-o|0):131072!=(0|r)&&(f[n+20>>2]=e+131072),o=f[(e=n+28|0)>>2],(r=f[n+32>>2]-o>>3)>>>0<u>>>0)cr(e,u-r|0),o=f[e>>2];else if(r>>>0>u>>>0&&(f[n+32>>2]=(u<<3)+o),!u)break n;for(c=0,e=0;;){if(k=f[(s=g+(c<<2)|0)>>2],r=e,f[4+(m=(c<<3)+o|0)>>2]=e,f[m>>2]=k,(e=(s=f[s>>2])+e|0)>>>0>32768)break n;if(!(e>>>0<=r>>>0)){if(m=f[y>>2],k=0,v=7&s)for(;f[m+(r<<2)>>2]=c,r=r+1|0,(0|v)!=(0|(k=k+1|0)););if(!(s-1>>>0<=6))for(;f[(s=m+(r<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(r=r+8|0))!=(0|e););}if((0|u)==(0|(c=c+1|0)))break}h=32768==(0|e)}e=h}i:if(!(!e|(f[n+12>>2]?0:d))&&kr(1,n+56|0,t)&&(s=(e=f[t+8>>2])-(r=o=f[t+16>>2])|0,h=f[n+60>>2],c=f[t+20>>2],!((0|h)==(0|(e=f[t+12>>2]-(c+(e>>>0<r>>>0)|0)|0))&s>>>0<(r=f[n+56>>2])>>>0|e>>>0<h>>>0||(e=c+h|0,e=(s=r+o|0)>>>0<r>>>0?e+1|0:e,f[t+16>>2]=s,f[t+20>>2]=e,(0|(e=r))<=0)))){t=o+f[t>>2]|0,f[n+40>>2]=t;n:if((s=A[0|(o=t+(r=e-1|0)|0)])>>>0<=63)f[n+44>>2]=r,e=63&A[0|o];else{switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;r=e-2|0,f[n+44>>2]=r,e=A[1+(e=(e+t|0)-2|0)|0]<<8&16128|A[0|e];break n;case 1:if(e>>>0<3)break i;r=e-3|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-3|0)|0]<<16&4128768|A[e+1|0]<<8|A[0|e];break n}r=e-4|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-4|0)|0]<<16|A[e+3|0]<<24&1056964608|A[e+1|0]<<8|A[0|e]}if(o=e+131072|0,f[n+48>>2]=o,!(o>>>0>33554431))if(d)for(s=f[n+28>>2],e=0,h=f[n+16>>2];;){n:if(!(o>>>0>131071))for(;;){if((0|r)<=0)break n;if(r=r-1|0,f[n+44>>2]=r,o=A[r+t|0]|o<<8,f[n+48>>2]=o,!(o>>>0<131072))break}if(c=f[h+((_=32767&o)<<2)>>2],o=(p(f[(u=s+(c<<3)|0)>>2],o>>>15|0)+_|0)-f[u+4>>2]|0,f[n+48>>2]=o,f[(e<<2)+i>>2]=c,_=1,(0|d)==(0|(e=e+1|0)))break}else _=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),V=n- -64|0,r=_;break r;case 10:d=e,V=n=V+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(b[t+38>>1]&&Cr(1,n+12|0,t)){if(u=f[n+12>>2],r=f[n>>2],u>>>0>(e=f[n+4>>2]-r>>2)>>>0?(sr(n,u-e|0),u=f[n+12>>2]):e>>>0<=u>>>0||(f[n+4>>2]=r+(u<<2)),e=1,!u)break i;for(g=f[t+8>>2],y=f[t+12>>2],v=f[n>>2],o=0;;){if(e=0,(0|y)<=(0|(s=f[t+20>>2]))&g>>>0<=(r=f[t+16>>2])>>>0|(0|s)>(0|y))break i;w=f[t>>2],m=A[w+r|0],s=(e=r+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r=m>>>2|0,c=0;a:{o:{f:{s:switch(0|(T=3&m)){case 0:break o;case 3:break s;default:break f}if(e=0,(r=r+o|0)>>>0>=u>>>0)break i;Je(v+(o<<2)|0,0,4+(252&m)|0),o=r;break a}for(;;){if((0|e)>=(0|y)&k>>>0>=g>>>0|(0|e)>(0|y))break n;if(u=A[k+w|0],s=e,s=(e=k+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r|=u<<(c<<3|6),(0|T)==(0|(c=c+1|0)))break}}f[v+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(u=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(o=(r=f[n+20>>2]-e|0)>>2)>>>0<=65535?sr(y,65536-o|0):262144!=(0|r)&&(f[n+20>>2]=e+262144),o=f[(e=n+28|0)>>2],(r=f[n+32>>2]-o>>3)>>>0<u>>>0)cr(e,u-r|0),o=f[e>>2];else if(r>>>0>u>>>0&&(f[n+32>>2]=(u<<3)+o),!u)break n;for(c=0,e=0;;){if(k=f[(s=g+(c<<2)|0)>>2],r=e,f[4+(m=(c<<3)+o|0)>>2]=e,f[m>>2]=k,(e=(s=f[s>>2])+e|0)>>>0>65536)break n;if(!(e>>>0<=r>>>0)){if(m=f[y>>2],k=0,v=7&s)for(;f[m+(r<<2)>>2]=c,r=r+1|0,(0|v)!=(0|(k=k+1|0)););if(!(s-1>>>0<=6))for(;f[(s=m+(r<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(r=r+8|0))!=(0|e););}if((0|u)==(0|(c=c+1|0)))break}h=65536==(0|e)}e=h}i:if(!(!e|(f[n+12>>2]?0:d))&&kr(1,n+56|0,t)&&(o=(e=f[t+8>>2])-(r=f[t+16>>2])|0,s=f[n+60>>2],h=f[t+20>>2],!((0|s)==(0|(c=f[t+12>>2]-(h+(e>>>0<r>>>0)|0)|0))&o>>>0<(e=f[n+56>>2])>>>0|s>>>0>c>>>0||(s=s+h|0,s=(o=e+r|0)>>>0<e>>>0?s+1|0:s,f[t+16>>2]=o,f[t+20>>2]=s,(0|e)<=0)))){t=r+f[t>>2]|0,f[n+40>>2]=t;n:if((s=A[0|(o=t+(r=e-1|0)|0)])>>>0<=63)f[n+44>>2]=r,e=63&A[0|o];else{switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;r=e-2|0,f[n+44>>2]=r,e=A[1+(e=(e+t|0)-2|0)|0]<<8&16128|A[0|e];break n;case 1:if(e>>>0<3)break i;r=e-3|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-3|0)|0]<<16&4128768|A[e+1|0]<<8|A[0|e];break n}r=e-4|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-4|0)|0]<<16|A[e+3|0]<<24&1056964608|A[e+1|0]<<8|A[0|e]}if(o=e+262144|0,f[n+48>>2]=o,!(o>>>0>67108863))if(d)for(s=f[n+28>>2],e=0,h=f[n+16>>2];;){n:if(!(o>>>0>262143))for(;;){if((0|r)<=0)break n;if(r=r-1|0,f[n+44>>2]=r,o=A[r+t|0]|o<<8,f[n+48>>2]=o,!(o>>>0<262144))break}if(c=f[h+((_=65535&o)<<2)>>2],o=(p(f[(u=s+(c<<3)|0)>>2],o>>>16|0)+_|0)-f[u+4>>2]|0,f[n+48>>2]=o,f[(e<<2)+i>>2]=c,_=1,(0|d)==(0|(e=e+1|0)))break}else _=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),V=n- -64|0,r=_;break r;case 11:d=e,V=n=V+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(b[t+38>>1]&&Cr(1,n+12|0,t)){if(u=f[n+12>>2],r=f[n>>2],u>>>0>(e=f[n+4>>2]-r>>2)>>>0?(sr(n,u-e|0),u=f[n+12>>2]):e>>>0<=u>>>0||(f[n+4>>2]=r+(u<<2)),e=1,!u)break i;for(g=f[t+8>>2],y=f[t+12>>2],v=f[n>>2],o=0;;){if(e=0,(0|y)<=(0|(s=f[t+20>>2]))&g>>>0<=(r=f[t+16>>2])>>>0|(0|s)>(0|y))break i;w=f[t>>2],m=A[w+r|0],s=(e=r+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r=m>>>2|0,c=0;a:{o:{f:{s:switch(0|(s=3&m)){case 0:break o;case 3:break s;default:break f}if(e=0,(r=r+o|0)>>>0>=u>>>0)break i;Je(v+(o<<2)|0,0,4+(252&m)|0),o=r;break a}for(;;){if((0|e)>=(0|y)&k>>>0>=g>>>0|(0|e)>(0|y))break n;if(u=A[k+w|0],e=(k=k+1|0)?e:e+1|0,f[t+16>>2]=k,f[t+20>>2]=e,r|=u<<(c<<3|6),(0|s)==(0|(c=c+1|0)))break}}f[v+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(u=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(o=(r=f[n+20>>2]-e|0)>>2)>>>0<=262143?sr(y,262144-o|0):1048576!=(0|r)&&(f[n+20>>2]=e- -1048576),o=f[(e=n+28|0)>>2],(r=f[n+32>>2]-o>>3)>>>0<u>>>0)cr(e,u-r|0),o=f[e>>2];else if(r>>>0>u>>>0&&(f[n+32>>2]=(u<<3)+o),!u)break n;for(c=0,e=0;;){if(k=f[(s=g+(c<<2)|0)>>2],r=e,f[4+(m=(c<<3)+o|0)>>2]=e,f[m>>2]=k,(e=(s=f[s>>2])+e|0)>>>0>262144)break n;if(!(e>>>0<=r>>>0)){if(m=f[y>>2],k=0,v=7&s)for(;f[m+(r<<2)>>2]=c,r=r+1|0,(0|v)!=(0|(k=k+1|0)););if(!(s-1>>>0<=6))for(;f[(s=m+(r<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(r=r+8|0))!=(0|e););}if((0|u)==(0|(c=c+1|0)))break}h=262144==(0|e)}e=h}i:if(!(!e|(f[n+12>>2]?0:d))&&kr(1,n+56|0,t)&&(o=(e=f[t+8>>2])-(r=f[t+16>>2])|0,s=f[n+60>>2],h=f[t+20>>2],!((0|s)==(0|(c=f[t+12>>2]-(h+(e>>>0<r>>>0)|0)|0))&o>>>0<(e=f[n+56>>2])>>>0|s>>>0>c>>>0||(s=s+h|0,s=(o=e+r|0)>>>0<e>>>0?s+1|0:s,f[t+16>>2]=o,f[t+20>>2]=s,(0|e)<=0)))){t=r+f[t>>2]|0,f[n+40>>2]=t;n:if((s=A[0|(o=t+(r=e-1|0)|0)])>>>0<=63)f[n+44>>2]=r,e=63&A[0|o];else{switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;r=e-2|0,f[n+44>>2]=r,e=A[1+(e=(e+t|0)-2|0)|0]<<8&16128|A[0|e];break n;case 1:if(e>>>0<3)break i;r=e-3|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-3|0)|0]<<16&4128768|A[e+1|0]<<8|A[0|e];break n}r=e-4|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-4|0)|0]<<16|A[e+3|0]<<24&1056964608|A[e+1|0]<<8|A[0|e]}if(o=e- -1048576|0,f[n+48>>2]=o,!(o>>>0>268435455))if(d)for(s=f[n+28>>2],e=0,h=f[n+16>>2];;){n:if(!(o>>>0>1048575))for(;;){if((0|r)<=0)break n;if(r=r-1|0,f[n+44>>2]=r,o=A[r+t|0]|o<<8,f[n+48>>2]=o,!(o>>>0<1048576))break}if(c=f[h+((_=262143&o)<<2)>>2],o=(p(f[(u=s+(c<<3)|0)>>2],o>>>18|0)+_|0)-f[u+4>>2]|0,f[n+48>>2]=o,f[(e<<2)+i>>2]=c,_=1,(0|d)==(0|(e=e+1|0)))break}else _=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),V=n- -64|0,r=_;break r;case 12:d=e,V=n=V+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(b[t+38>>1]&&Cr(1,n+12|0,t)){if(u=f[n+12>>2],r=f[n>>2],u>>>0>(e=f[n+4>>2]-r>>2)>>>0?(sr(n,u-e|0),u=f[n+12>>2]):e>>>0<=u>>>0||(f[n+4>>2]=r+(u<<2)),e=1,!u)break i;for(m=f[t+8>>2],y=f[t+12>>2],g=f[n>>2],o=0;;){if(e=0,(0|y)<=(0|(r=f[t+20>>2]))&m>>>0<=(c=f[t+16>>2])>>>0|(0|r)>(0|y))break i;v=f[t>>2],s=A[v+c|0],e=r,e=(r=c+1|0)?e:e+1|0,k=r,f[t+16>>2]=r,f[t+20>>2]=e,r=s>>>2|0,c=0;a:{o:{f:{s:switch(0|(w=3&s)){case 0:break o;case 3:break s;default:break f}if(e=0,(r=r+o|0)>>>0>=u>>>0)break i;Je(g+(o<<2)|0,0,4+(252&s)|0),o=r;break a}for(;;){if((0|e)>=(0|y)&k>>>0>=m>>>0|(0|e)>(0|y))break n;if(u=A[k+v|0],s=e,s=(e=k+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r|=u<<(c<<3|6),(0|w)==(0|(c=c+1|0)))break}}f[g+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(u=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(o=(r=f[n+20>>2]-e|0)>>2)>>>0<=524287?sr(y,524288-o|0):2097152!=(0|r)&&(f[n+20>>2]=e+2097152),o=f[(e=n+28|0)>>2],(r=f[n+32>>2]-o>>3)>>>0<u>>>0)cr(e,u-r|0),o=f[e>>2];else if(r>>>0>u>>>0&&(f[n+32>>2]=(u<<3)+o),!u)break n;for(c=0,e=0;;){if(k=f[(s=g+(c<<2)|0)>>2],r=e,f[4+(m=(c<<3)+o|0)>>2]=e,f[m>>2]=k,(e=(s=f[s>>2])+e|0)>>>0>524288)break n;if(!(e>>>0<=r>>>0)){if(m=f[y>>2],k=0,v=7&s)for(;f[m+(r<<2)>>2]=c,r=r+1|0,(0|v)!=(0|(k=k+1|0)););if(!(s-1>>>0<=6))for(;f[(s=m+(r<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(r=r+8|0))!=(0|e););}if((0|u)==(0|(c=c+1|0)))break}h=524288==(0|e)}e=h}i:if(!(!e|(f[n+12>>2]?0:d))&&kr(1,n+56|0,t)&&(s=(e=f[t+8>>2])-(r=o=f[t+16>>2])|0,h=f[n+60>>2],c=f[t+20>>2],!((0|h)==(0|(e=f[t+12>>2]-(c+(e>>>0<r>>>0)|0)|0))&s>>>0<(r=f[n+56>>2])>>>0|e>>>0<h>>>0||(e=c+h|0,e=(s=r+o|0)>>>0<r>>>0?e+1|0:e,f[t+16>>2]=s,f[t+20>>2]=e,(0|(e=r))<=0)))){t=o+f[t>>2]|0,f[n+40>>2]=t;n:if((s=A[0|(o=t+(r=e-1|0)|0)])>>>0<=63)f[n+44>>2]=r,e=63&A[0|o];else{switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;r=e-2|0,f[n+44>>2]=r,e=A[1+(e=(e+t|0)-2|0)|0]<<8&16128|A[0|e];break n;case 1:if(e>>>0<3)break i;r=e-3|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-3|0)|0]<<16&4128768|A[e+1|0]<<8|A[0|e];break n}r=e-4|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-4|0)|0]<<16|A[e+3|0]<<24&1056964608|A[e+1|0]<<8|A[0|e]}if(o=e+2097152|0,f[n+48>>2]=o,!(o>>>0>536870911))if(d)for(s=f[n+28>>2],e=0,h=f[n+16>>2];;){n:if(!(o>>>0>2097151))for(;;){if((0|r)<=0)break n;if(r=r-1|0,f[n+44>>2]=r,o=A[r+t|0]|o<<8,f[n+48>>2]=o,!(o>>>0<2097152))break}if(c=f[h+((_=524287&o)<<2)>>2],o=(p(f[(u=s+(c<<3)|0)>>2],o>>>19|0)+_|0)-f[u+4>>2]|0,f[n+48>>2]=o,f[(e<<2)+i>>2]=c,_=1,(0|d)==(0|(e=e+1|0)))break}else _=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),V=n- -64|0,r=_;break r;case 17:r=H(e,t,i);break r;case 0:case 1:case 2:case 3:case 5:case 6:case 7:o=0,V=_=V+-64|0,f[_+48>>2]=0,f[_+40>>2]=0,f[_+44>>2]=0,f[_+32>>2]=0,f[_+36>>2]=0,f[_+24>>2]=0,f[_+28>>2]=0,f[_+16>>2]=0,f[_+20>>2]=0,f[_+8>>2]=0,f[_+12>>2]=0,f[_>>2]=0,f[_+4>>2]=0;i:if(!(!se(_,t)|(f[_+12>>2]?0:e))&&kr(1,_+56|0,t)&&(n=(r=f[t+8>>2])-(s=h=f[t+16>>2])|0,d=f[_+60>>2],c=f[t+20>>2],!((0|d)==(0|(s=f[t+12>>2]-(c+(r>>>0<s>>>0)|0)|0))&n>>>0<(r=f[_+56>>2])>>>0|s>>>0<d>>>0||(s=c+d|0,s=(n=r+h|0)>>>0<r>>>0?s+1|0:s,f[t+16>>2]=n,f[t+20>>2]=s,(0|r)<=0)))){s=h+f[t>>2]|0,f[_+40>>2]=s;n:if((n=A[0|(h=s+(t=r-1|0)|0)])>>>0<=63)f[_+44>>2]=t,r=63&A[0|h];else{switch((n>>>6|0)-1|0){case 0:if(r>>>0<2)break i;t=r-2|0,f[_+44>>2]=t,r=A[1+(r=(r+s|0)-2|0)|0]<<8&16128|A[0|r];break n;case 1:if(r>>>0<3)break i;t=r-3|0,f[_+44>>2]=t,r=A[2+(r=(r+s|0)-3|0)|0]<<16&4128768|A[r+1|0]<<8|A[0|r];break n}t=r-4|0,f[_+44>>2]=t,r=A[2+(r=(r+s|0)-4|0)|0]<<16|A[r+3|0]<<24&1056964608|A[r+1|0]<<8|A[0|r]}if(c=r+16384|0,f[_+48>>2]=c,!(c>>>0>4194303))if(e)for(r=f[_+28>>2],h=f[_+16>>2];;){n:if(!(c>>>0>16383))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[_+44>>2]=t,c=A[t+s|0]|c<<8,f[_+48>>2]=c,!(c>>>0<16384))break}if(n=f[h+((o=4095&c)<<2)>>2],c=(p(f[(d=r+(n<<3)|0)>>2],c>>>12|0)+o|0)-f[d+4>>2]|0,f[_+48>>2]=c,f[(k<<2)+i>>2]=n,o=1,(0|(k=k+1|0))==(0|e))break}else o=1}(e=f[_+28>>2])&&(f[_+32>>2]=e,ee(e)),(e=f[_+16>>2])&&(f[_+20>>2]=e,ee(e)),(e=f[_>>2])&&(f[_+4>>2]=e,ee(e)),V=_- -64|0,r=o;break r;case 13:case 14:case 15:case 16:break t;default:break r}r=H(e,t,i)}o=r}return o}function U(e){var r,t=0,i=0,n=0,a=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0,k=0;V=r=V-16|0;e:{r:{t:{i:{n:{a:{o:{f:{s:{c:{A:{if((e|=0)>>>0<=244){if(3&(t=(a=f[2881])>>>(i=(c=e>>>0<11?16:e+11&-8)>>>3|0)|0)){e=(o=f[11572+(t=(n=i+(1&(-1^t))|0)<<3)>>2])+8|0,(0|(i=f[o+8>>2]))!=(0|(t=t+11564|0))?(f[i+12>>2]=t,f[t+8>>2]=i):(p=11524,k=Vt(n)&a,f[p>>2]=k),t=n<<3,f[o+4>>2]=3|t,f[4+(t=t+o|0)>>2]=1|f[t+4>>2];break e}if((_=f[2883])>>>0>=c>>>0)break A;if(t){i=e=(t=(0-(e=(0-(e=2<<i)|e)&t<<i)&e)-1|0)>>>12&16,i|=e=(t=t>>>e|0)>>>5&8,i|=e=(t=t>>>e|0)>>>2&4,s=f[11572+(e=(i=((i|=e=(t=t>>>e|0)>>>1&2)|(e=(t=t>>>e|0)>>>1&1))+(t>>>e|0)|0)<<3)>>2],(0|(t=f[s+8>>2]))!=(0|(e=e+11564|0))?(f[t+12>>2]=e,f[e+8>>2]=t):(a=Vt(i)&a,f[2881]=a),e=s+8|0,f[s+4>>2]=3|c,o=(t=i<<3)-c|0,f[4+(n=s+c|0)>>2]=1|o,f[t+s>>2]=o,_&&(i=11564+((t=_>>>3|0)<<3)|0,s=f[2886],(t=1<<t)&a?t=f[i+8>>2]:(f[2881]=t|a,t=i),f[i+8>>2]=s,f[t+12>>2]=s,f[s+12>>2]=i,f[s+8>>2]=t),f[2886]=n,f[2883]=o;break e}if(!(u=f[2882]))break A;for(i=e=(t=(u&0-u)-1|0)>>>12&16,i|=e=(t=t>>>e|0)>>>5&8,i|=e=(t=t>>>e|0)>>>2&4,t=f[11828+(((i|=e=(t=t>>>e|0)>>>1&2)|(e=(t=t>>>e|0)>>>1&1))+(t>>>e|0)<<2)>>2],n=(-8&f[t+4>>2])-c|0,i=t;(e=f[i+16>>2])||(e=f[i+20>>2]);)n=(o=(i=(-8&f[e+4>>2])-c|0)>>>0<n>>>0)?i:n,t=o?e:t,i=e;if(b=f[t+24>>2],(0|(o=f[t+12>>2]))!=(0|t)){e=f[t+8>>2],f[e+12>>2]=o,f[o+8>>2]=e;break r}if(!(e=f[(i=t+20|0)>>2])){if(!(e=f[t+16>>2]))break c;i=t+16|0}for(;s=i,o=e,(e=f[(i=e+20|0)>>2])||(i=o+16|0,e=f[o+16>>2]););f[s>>2]=0;break r}if(c=-1,!(e>>>0>4294967231)&&(c=-8&(e=e+11|0),u=f[2882])){n=0-c|0,a=0,c>>>0<256||(a=31,c>>>0>16777215||(e=e>>>8|0,e<<=s=e+1048320>>>16&8,a=28+((e=((e<<=i=e+520192>>>16&4)<<(t=e+245760>>>16&2)>>>15|0)-(t|i|s)|0)<<1|c>>>e+21&1)|0));b:{l:{if(i=f[11828+(a<<2)>>2])for(e=0,t=c<<(31==(0|a)?0:25-(a>>>1|0)|0);;){if(!((s=(-8&f[i+4>>2])-c|0)>>>0>=n>>>0||(o=i,n=s))){n=0,e=i;break l}if(s=f[i+20>>2],i=f[16+((t>>>29&4)+i|0)>>2],e=s?(0|s)==(0|i)?e:s:e,t<<=1,!i)break}else e=0;if(!(e|o)){if(o=0,!(e=(0-(e=2<<a)|e)&u))break A;i=e=(t=(e&0-e)-1|0)>>>12&16,i|=e=(t=t>>>e|0)>>>5&8,i|=e=(t=t>>>e|0)>>>2&4,e=f[11828+(((i|=e=(t=t>>>e|0)>>>1&2)|(e=(t=t>>>e|0)>>>1&1))+(t>>>e|0)<<2)>>2]}if(!e)break b}for(;n=(i=(t=(-8&f[e+4>>2])-c|0)>>>0<n>>>0)?t:n,o=i?e:o,e=(t=f[e+16>>2])||f[e+20>>2];);}if(!(!o|f[2883]-c>>>0<=n>>>0)){if(a=f[o+24>>2],(0|o)!=(0|(t=f[o+12>>2]))){e=f[o+8>>2],f[e+12>>2]=t,f[t+8>>2]=e;break t}if(!(e=f[(i=o+20|0)>>2])){if(!(e=f[o+16>>2]))break s;i=o+16|0}for(;s=i,t=e,(e=f[(i=e+20|0)>>2])||(i=t+16|0,e=f[t+16>>2]););f[s>>2]=0;break t}}}if((i=f[2883])>>>0>=c>>>0){n=f[2886],(t=i-c|0)>>>0>=16?(f[2883]=t,e=n+c|0,f[2886]=e,f[e+4>>2]=1|t,f[i+n>>2]=t,f[n+4>>2]=3|c):(f[2886]=0,f[2883]=0,f[n+4>>2]=3|i,f[4+(e=i+n|0)>>2]=1|f[e+4>>2]),e=n+8|0;break e}if((b=f[2884])>>>0>c>>>0){t=b-c|0,f[2884]=t,e=(i=f[2887])+c|0,f[2887]=e,f[e+4>>2]=1|t,f[i+4>>2]=3|c,e=i+8|0;break e}if(e=0,u=c+47|0,f[2999]?i=f[3001]:(f[3002]=-1,f[3003]=-1,f[3e3]=4096,f[3001]=4096,f[2999]=r+12&-16^1431655768,f[3004]=0,f[2992]=0,i=4096),(i=(s=u+i|0)&(o=0-i|0))>>>0<=c>>>0)break e;if((n=f[2991])&&n>>>0<(a=(t=f[2989])+i|0)>>>0|t>>>0>=a>>>0)break e;if(4&A[11968])break a;A:{b:{if(n=f[2887])for(e=11972;;){if((t=f[e>>2])>>>0<=n>>>0&n>>>0<t+f[e+4>>2]>>>0)break b;if(!(e=f[e+8>>2]))break}if(-1==(0|(t=tt(0))))break o;if(a=i,(e=(n=f[3e3])-1|0)&t&&(a=(i-t|0)+(e+t&0-n)|0),a>>>0<=c>>>0|a>>>0>2147483646)break o;if((n=f[2991])&&n>>>0<(o=(e=f[2989])+a|0)>>>0|e>>>0>=o>>>0)break o;if((0|t)!=(0|(e=tt(a))))break A;break n}if((a=o&s-b)>>>0>2147483646)break o;if((0|(t=tt(a)))==(f[e>>2]+f[e+4>>2]|0))break f;e=t}if(!(-1==(0|e)|c+48>>>0<=a>>>0)){if((t=(t=f[3001])+(u-a|0)&0-t)>>>0>2147483646){t=e;break n}if(-1!=(0|tt(t))){a=t+a|0,t=e;break n}tt(0-a|0);break o}if(t=e,-1!=(0|e))break n;break o}o=0;break r}t=0;break t}if(-1!=(0|t))break n}f[2992]=4|f[2992]}if(i>>>0>2147483646)break i;if(-1==(0|(t=tt(i)))|-1==(0|(e=tt(0)))|e>>>0<=t>>>0)break i;if((a=e-t|0)>>>0<=c+40>>>0)break i}e=f[2989]+a|0,f[2989]=e,e>>>0>l[2990]&&(f[2990]=e);n:{a:{o:{if(s=f[2887]){for(e=11972;;){if(((n=f[e>>2])+(i=f[e+4>>2])|0)==(0|t))break o;if(!(e=f[e+8>>2]))break}break a}for((e=f[2885])>>>0<=t>>>0&&e||(f[2885]=t),e=0,f[2994]=a,f[2993]=t,f[2889]=-1,f[2890]=f[2999],f[2996]=0;i=11564+(n=e<<3)|0,f[n+11572>>2]=i,f[n+11576>>2]=i,32!=(0|(e=e+1|0)););i=(n=a-40|0)-(e=t+8&7?-8-t&7:0)|0,f[2884]=i,e=e+t|0,f[2887]=e,f[e+4>>2]=1|i,f[4+(t+n|0)>>2]=40,f[2888]=f[3003];break n}if(!(8&A[e+12|0]|n>>>0>s>>>0|t>>>0<=s>>>0)){f[e+4>>2]=i+a,i=(e=s+8&7?-8-s&7:0)+s|0,f[2887]=i,e=(t=f[2884]+a|0)-e|0,f[2884]=e,f[i+4>>2]=1|e,f[4+(t+s|0)>>2]=40,f[2888]=f[3003];break n}}l[2885]>t>>>0&&(f[2885]=t),i=t+a|0,e=11972;a:{o:{f:{s:{c:{A:{for(;;){if((0|i)!=f[e>>2]){if(e=f[e+8>>2])continue;break A}break}if(!(8&A[e+12|0]))break c}for(e=11972;;){if((i=f[e>>2])>>>0<=s>>>0&&(o=i+f[e+4>>2]|0)>>>0>s>>>0)break s;e=f[e+8>>2]}}if(f[e>>2]=t,f[e+4>>2]=f[e+4>>2]+a,f[4+(u=(t+8&7?-8-t&7:0)+t|0)>>2]=3|c,i=(a=i+(i+8&7?-8-i&7:0)|0)-(b=c+u|0)|0,(0|a)==(0|s)){f[2887]=b,e=f[2884]+i|0,f[2884]=e,f[b+4>>2]=1|e;break o}if(f[2886]==(0|a)){f[2886]=b,e=f[2883]+i|0,f[2883]=e,f[b+4>>2]=1|e,f[e+b>>2]=e;break o}if(1==(3&(e=f[a+4>>2]))){s=-8&e;c:if(e>>>0<=255){if(n=f[a+8>>2],e=e>>>3|0,(0|(t=f[a+12>>2]))==(0|n)){p=11524,k=f[2881]&Vt(e),f[p>>2]=k;break c}f[n+12>>2]=t,f[t+8>>2]=n}else{if(c=f[a+24>>2],(0|a)==(0|(t=f[a+12>>2])))if((n=f[(e=a+20|0)>>2])||(n=f[(e=a+16|0)>>2])){for(;o=e,(n=f[(e=(t=n)+20|0)>>2])||(e=t+16|0,n=f[t+16>>2]););f[o>>2]=0}else t=0;else e=f[a+8>>2],f[e+12>>2]=t,f[t+8>>2]=e;if(c){n=f[a+28>>2];A:{if(f[(e=11828+(n<<2)|0)>>2]==(0|a)){if(f[e>>2]=t,t)break A;p=11528,k=f[2882]&Vt(n),f[p>>2]=k;break c}if(f[c+(f[c+16>>2]==(0|a)?16:20)>>2]=t,!t)break c}f[t+24>>2]=c,(e=f[a+16>>2])&&(f[t+16>>2]=e,f[e+24>>2]=t),(e=f[a+20>>2])&&(f[t+20>>2]=e,f[e+24>>2]=t)}}a=a+s|0,i=i+s|0}if(f[a+4>>2]=-2&f[a+4>>2],f[b+4>>2]=1|i,f[i+b>>2]=i,i>>>0<=255){t=11564+((e=i>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[t+8>>2]:(f[2881]=e|i,e=t),f[t+8>>2]=b,f[e+12>>2]=b,f[b+12>>2]=t,f[b+8>>2]=e;break o}if(e=31,i>>>0<=16777215&&(e=i>>>8|0,e<<=o=e+1048320>>>16&8,e=28+((e=((e<<=n=e+520192>>>16&4)<<(t=e+245760>>>16&2)>>>15|0)-(t|n|o)|0)<<1|i>>>e+21&1)|0),f[b+28>>2]=e,f[b+16>>2]=0,f[b+20>>2]=0,o=11828+(e<<2)|0,(n=f[2882])&(t=1<<e)){for(e=i<<(31==(0|e)?0:25-(e>>>1|0)|0),t=f[o>>2];;){if(n=t,(-8&f[t+4>>2])==(0|i))break f;if(t=e>>>29|0,e<<=1,!(t=f[16+(o=n+(4&t)|0)>>2]))break}f[o+16>>2]=b,f[b+24>>2]=n}else f[2882]=t|n,f[o>>2]=b,f[b+24>>2]=o;f[b+12>>2]=b,f[b+8>>2]=b;break o}for(i=(n=a-40|0)-(e=t+8&7?-8-t&7:0)|0,f[2884]=i,e=e+t|0,f[2887]=e,f[e+4>>2]=1|i,f[4+(t+n|0)>>2]=40,f[2888]=f[3003],f[(i=(e=(o+(o-39&7?39-o&7:0)|0)-47|0)>>>0<s+16>>>0?s:e)+4>>2]=27,e=f[2996],f[i+16>>2]=f[2995],f[i+20>>2]=e,e=f[2994],f[i+8>>2]=f[2993],f[i+12>>2]=e,f[2995]=i+8,f[2994]=a,f[2993]=t,f[2996]=0,e=i+24|0;f[e+4>>2]=7,t=e+8|0,e=e+4|0,t>>>0<o>>>0;);if((0|i)==(0|s))break n;if(f[i+4>>2]=-2&f[i+4>>2],o=i-s|0,f[s+4>>2]=1|o,f[i>>2]=o,o>>>0<=255){t=11564+((e=o>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[t+8>>2]:(f[2881]=e|i,e=t),f[t+8>>2]=s,f[e+12>>2]=s,f[s+12>>2]=t,f[s+8>>2]=e;break n}if(e=31,f[s+16>>2]=0,f[s+20>>2]=0,o>>>0<=16777215&&(e=o>>>8|0,e<<=n=e+1048320>>>16&8,e=28+((e=((e<<=i=e+520192>>>16&4)<<(t=e+245760>>>16&2)>>>15|0)-(t|i|n)|0)<<1|o>>>e+21&1)|0),f[s+28>>2]=e,n=11828+(e<<2)|0,(i=f[2882])&(t=1<<e)){for(e=o<<(31==(0|e)?0:25-(e>>>1|0)|0),t=f[n>>2];;){if(i=t,(0|o)==(-8&f[t+4>>2]))break a;if(t=e>>>29|0,e<<=1,!(t=f[16+(n=i+(4&t)|0)>>2]))break}f[n+16>>2]=s,f[s+24>>2]=i}else f[2882]=t|i,f[n>>2]=s,f[s+24>>2]=n;f[s+12>>2]=s,f[s+8>>2]=s;break n}e=f[n+8>>2],f[e+12>>2]=b,f[n+8>>2]=b,f[b+24>>2]=0,f[b+12>>2]=n,f[b+8>>2]=e}e=u+8|0;break e}e=f[i+8>>2],f[e+12>>2]=s,f[i+8>>2]=s,f[s+24>>2]=0,f[s+12>>2]=i,f[s+8>>2]=e}if(!((e=f[2884])>>>0<=c>>>0)){t=e-c|0,f[2884]=t,e=(i=f[2887])+c|0,f[2887]=e,f[e+4>>2]=1|t,f[i+4>>2]=3|c,e=i+8|0;break e}}f[2879]=48,e=0;break e}t:if(a){i=f[o+28>>2];i:{if(f[(e=11828+(i<<2)|0)>>2]==(0|o)){if(f[e>>2]=t,t)break i;u=Vt(i)&u,f[2882]=u;break t}if(f[a+(f[a+16>>2]==(0|o)?16:20)>>2]=t,!t)break t}f[t+24>>2]=a,(e=f[o+16>>2])&&(f[t+16>>2]=e,f[e+24>>2]=t),(e=f[o+20>>2])&&(f[t+20>>2]=e,f[e+24>>2]=t)}t:if(n>>>0<=15)e=n+c|0,f[o+4>>2]=3|e,f[4+(e=e+o|0)>>2]=1|f[e+4>>2];else if(f[o+4>>2]=3|c,f[4+(a=o+c|0)>>2]=1|n,f[n+a>>2]=n,n>>>0<=255)t=11564+((e=n>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[t+8>>2]:(f[2881]=e|i,e=t),f[t+8>>2]=a,f[e+12>>2]=a,f[a+12>>2]=t,f[a+8>>2]=e;else{e=31,n>>>0<=16777215&&(e=n>>>8|0,e<<=s=e+1048320>>>16&8,e=28+((e=((e<<=i=e+520192>>>16&4)<<(t=e+245760>>>16&2)>>>15|0)-(t|i|s)|0)<<1|n>>>e+21&1)|0),f[a+28>>2]=e,f[a+16>>2]=0,f[a+20>>2]=0,t=11828+(e<<2)|0;i:{if((i=1<<e)&u){for(e=n<<(31==(0|e)?0:25-(e>>>1|0)|0),c=f[t>>2];;){if((-8&f[(t=c)+4>>2])==(0|n))break i;if(i=e>>>29|0,e<<=1,!(c=f[16+(i=(4&i)+t|0)>>2]))break}f[i+16>>2]=a}else f[2882]=i|u,f[t>>2]=a;f[a+24>>2]=t,f[a+12>>2]=a,f[a+8>>2]=a;break t}e=f[t+8>>2],f[e+12>>2]=a,f[t+8>>2]=a,f[a+24>>2]=0,f[a+12>>2]=t,f[a+8>>2]=e}e=o+8|0;break e}r:if(b){i=f[t+28>>2];t:{if(f[(e=11828+(i<<2)|0)>>2]==(0|t)){if(f[e>>2]=o,o)break t;p=11528,k=Vt(i)&u,f[p>>2]=k;break r}if(f[b+(f[b+16>>2]==(0|t)?16:20)>>2]=o,!o)break r}f[o+24>>2]=b,(e=f[t+16>>2])&&(f[o+16>>2]=e,f[e+24>>2]=o),(e=f[t+20>>2])&&(f[o+20>>2]=e,f[e+24>>2]=o)}n>>>0<=15?(e=n+c|0,f[t+4>>2]=3|e,f[4+(e=e+t|0)>>2]=1|f[e+4>>2]):(f[t+4>>2]=3|c,f[4+(o=t+c|0)>>2]=1|n,f[n+o>>2]=n,_&&(i=11564+((e=_>>>3|0)<<3)|0,s=f[2886],(e=1<<e)&a?e=f[i+8>>2]:(f[2881]=e|a,e=i),f[i+8>>2]=s,f[e+12>>2]=s,f[s+12>>2]=i,f[s+8>>2]=e),f[2886]=o,f[2883]=n),e=t+8|0}return V=r+16|0,0|e}function I(e,r,t,i){var n,s=0,c=0,b=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;if(V=n=V-80|0,s=f[t+36>>2],f[n+72>>2]=f[t+32>>2],f[n+76>>2]=s,c=f[t+28>>2],f[(s=n- -64|0)>>2]=f[t+24>>2],f[s+4>>2]=c,s=f[t+20>>2],f[n+56>>2]=f[t+16>>2],f[n+60>>2]=s,s=f[t+12>>2],f[n+48>>2]=f[t+8>>2],f[n+52>>2]=s,s=f[t+4>>2],f[n+40>>2]=f[t>>2],f[n+44>>2]=s,L(e,n+40|0,n+24|0),!f[e>>2])if(k=e+4|0,a[e+15|0]<0&&ee(f[k>>2]),1==A[n+31|0]){V=u=V-16|0;e:{switch(A[n+32|0]){case 0:et(s=_t(48)),f[s>>2]=9896,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0,f[n+16>>2]=s;break e;case 1:et(s=_t(52)),f[s+48>>2]=0,f[s>>2]=8204,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0,f[n+16>>2]=s;break e}c=_t(32),s=A[1664]|A[1665]<<8|A[1666]<<16|A[1667]<<24,a[c+24|0]=s,a[c+25|0]=s>>>8,a[c+26|0]=s>>>16,a[c+27|0]=s>>>24,s=A[1660]|A[1661]<<8|A[1662]<<16|A[1663]<<24,b=A[1656]|A[1657]<<8|A[1658]<<16|A[1659]<<24,a[c+16|0]=b,a[c+17|0]=b>>>8,a[c+18|0]=b>>>16,a[c+19|0]=b>>>24,a[c+20|0]=s,a[c+21|0]=s>>>8,a[c+22|0]=s>>>16,a[c+23|0]=s>>>24,s=A[1652]|A[1653]<<8|A[1654]<<16|A[1655]<<24,b=A[1648]|A[1649]<<8|A[1650]<<16|A[1651]<<24,a[c+8|0]=b,a[c+9|0]=b>>>8,a[c+10|0]=b>>>16,a[c+11|0]=b>>>24,a[c+12|0]=s,a[c+13|0]=s>>>8,a[c+14|0]=s>>>16,a[c+15|0]=s>>>24,s=A[1644]|A[1645]<<8|A[1646]<<16|A[1647]<<24,b=A[1640]|A[1641]<<8|A[1642]<<16|A[1643]<<24,a[0|c]=b,a[c+1|0]=b>>>8,a[c+2|0]=b>>>16,a[c+3|0]=b>>>24,a[c+4|0]=s,a[c+5|0]=s>>>8,a[c+6|0]=s>>>16,a[c+7|0]=s>>>24,a[c+28|0]=0,f[u>>2]=-1,Fr(s=4|u,c,28),p=a[u+15|0],f[n>>2]=f[u>>2],b=n+4|0,(0|p)>=0?(p=f[s+4>>2],f[b>>2]=f[s>>2],f[b+4>>2]=p,f[b+8>>2]=f[s+8>>2]):Fr(b,f[u+4>>2],f[u+8>>2]),f[n+16>>2]=0,a[u+15|0]<0&&ee(f[u+4>>2]),ee(c)}V=u+16|0;e:if(s=f[n>>2]){if(f[e>>2]=s,a[n+15|0]>=0){r=f[4+(e=4|n)>>2],f[k>>2]=f[e>>2],f[k+4>>2]=r,f[k+8>>2]=f[e+8>>2];break e}Fr(k,f[n+4>>2],f[n+8>>2])}else{s=f[n+16>>2],f[n+16>>2]=0,f[s+44>>2]=i,V=u=V-32|0,f[s+32>>2]=t,f[s+40>>2]=r,f[s+4>>2]=i,L(e,t,u+16|0);r:if(!f[e>>2])if(c=e+4|0,a[e+15|0]<0&&ee(f[c>>2]),r=A[u+23|0],(0|yi[f[f[s>>2]+8>>2]](s))==(0|r))if(t=A[u+21|0],a[s+36|0]=t,i=A[u+22|0],a[s+37|0]=i,2==(0|t))if((0|(r=r?2:3))==(0|i)){if(o[f[s+32>>2]+38>>1]=512|r,!(o[u+26>>1]>=0)){V=p=V-16|0,i=_t(36),f[(r=i)+4>>2]=0,f[r+8>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,f[(r=r+16|0)>>2]=0,f[r+4>>2]=0,f[i>>2]=i+4,f[i+32>>2]=0,f[i+12>>2]=r,f[p>>2]=0,t=f[s+32>>2],V=d=V-16|0,r=0;t:if(i&&(f[p>>2]=t,f[d+12>>2]=0,r=0,wr(1,d+12|0,t))){if(y=f[d+12>>2])for(;;){i:{if(wr(1,d+8|0,f[p>>2])){if(r=_t(28),f[r+4>>2]=0,f[r+8>>2]=0,f[(t=r+16|0)>>2]=0,f[t+4>>2]=0,f[r>>2]=r+4,f[r+12>>2]=t,f[r+24>>2]=f[d+8>>2],B(p,r))break i;nt(r+12|0,f[r+16>>2]),lt(r,f[r+4>>2]),ee(r)}r=0;break t}if(V=b=V-16|0,f[b+8>>2]=r,r){if((t=f[i+28>>2])>>>0<l[i+32>>2])f[b+8>>2]=0,f[t>>2]=r,f[i+28>>2]=t+4;else{t=0;i:{n:{a:{if(_=f[i+24>>2],(r=1+(h=f[i+28>>2]-_>>2)|0)>>>0<1073741824){if(m=(_=f[i+32>>2]-_|0)>>1,r=_>>2>>>0<536870911?r>>>0>m>>>0?r:m:1073741823){if(r>>>0>=1073741824)break a;t=_t(r<<2)}if(m=f[b+8>>2],f[b+8>>2]=0,f[(_=(h<<2)+t|0)>>2]=m,h=(r<<2)+t|0,m=_+4|0,(0|(t=f[i+28>>2]))==(0|(r=f[i+24>>2])))break n;for(;g=f[(t=t-4|0)>>2],f[t>>2]=0,f[(_=_-4|0)>>2]=g,(0|r)!=(0|t););if(f[i+32>>2]=h,t=f[i+28>>2],f[i+28>>2]=m,r=f[i+24>>2],f[i+24>>2]=_,(0|r)==(0|t))break i;for(;_=f[(t=t-4|0)>>2],f[t>>2]=0,_&&(nt(_+12|0,f[_+16>>2]),lt(_,f[_+4>>2]),ee(_)),(0|r)!=(0|t););break i}oi(),T()}Hr(1326),T()}f[i+32>>2]=h,f[i+28>>2]=m,f[i+24>>2]=_}r&&ee(r)}r=f[b+8>>2],f[b+8>>2]=0,r&&(nt(r+12|0,f[r+16>>2]),lt(r,f[r+4>>2]),ee(r))}else f[b+8>>2]=0;if(V=b+16|0,(0|(v=v+1|0))==(0|y))break}r=B(p,i)}if(V=d+16|0,r?(t=f[s+4>>2],r=f[t+4>>2],f[t+4>>2]=i,r&&Vr(r),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0):(r=_t(32),t=A[1693]|A[1694]<<8,a[r+24|0]=t,a[r+25|0]=t>>>8,t=A[1689]|A[1690]<<8|A[1691]<<16|A[1692]<<24,b=A[1685]|A[1686]<<8|A[1687]<<16|A[1688]<<24,a[r+16|0]=b,a[r+17|0]=b>>>8,a[r+18|0]=b>>>16,a[r+19|0]=b>>>24,a[r+20|0]=t,a[r+21|0]=t>>>8,a[r+22|0]=t>>>16,a[r+23|0]=t>>>24,t=A[1681]|A[1682]<<8|A[1683]<<16|A[1684]<<24,b=A[1677]|A[1678]<<8|A[1679]<<16|A[1680]<<24,a[r+8|0]=b,a[r+9|0]=b>>>8,a[r+10|0]=b>>>16,a[r+11|0]=b>>>24,a[r+12|0]=t,a[r+13|0]=t>>>8,a[r+14|0]=t>>>16,a[r+15|0]=t>>>24,t=A[1673]|A[1674]<<8|A[1675]<<16|A[1676]<<24,b=A[1669]|A[1670]<<8|A[1671]<<16|A[1672]<<24,a[0|r]=b,a[r+1|0]=b>>>8,a[r+2|0]=b>>>16,a[r+3|0]=b>>>24,a[r+4|0]=t,a[r+5|0]=t>>>8,a[r+6|0]=t>>>16,a[r+7|0]=t>>>24,a[r+26|0]=0,f[e>>2]=-1,Fr(e+4|0,r,26),ee(r),f[p+8>>2]=0,Vr(i)),V=p+16|0,f[e>>2])break r;a[c+11|0]>=0||ee(f[c>>2])}if(0|yi[f[f[s>>2]+12>>2]](s))if(0|yi[f[f[s>>2]+20>>2]](s))if(0|yi[f[f[s>>2]+24>>2]](s))f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0;else{if(r=Qr(u,1451),f[e>>2]=-1,a[r+11|0]>=0){r=f[u+4>>2],f[c>>2]=f[u>>2],f[c+4>>2]=r,f[c+8>>2]=f[u+8>>2];break r}if(Fr(c,f[r>>2],f[r+4>>2]),a[r+11|0]>=0)break r;ee(f[r>>2])}else{if(r=Qr(u,1696),f[e>>2]=-1,a[r+11|0]>=0){r=f[u+4>>2],f[c>>2]=f[u>>2],f[c+4>>2]=r,f[c+8>>2]=f[u+8>>2];break r}if(Fr(c,f[r>>2],f[r+4>>2]),a[r+11|0]>=0)break r;ee(f[r>>2])}else r=_t(48),a[r+32|0]=A[1518],t=A[1514]|A[1515]<<8|A[1516]<<16|A[1517]<<24,i=A[1510]|A[1511]<<8|A[1512]<<16|A[1513]<<24,a[r+24|0]=i,a[r+25|0]=i>>>8,a[r+26|0]=i>>>16,a[r+27|0]=i>>>24,a[r+28|0]=t,a[r+29|0]=t>>>8,a[r+30|0]=t>>>16,a[r+31|0]=t>>>24,t=A[1506]|A[1507]<<8|A[1508]<<16|A[1509]<<24,i=A[1502]|A[1503]<<8|A[1504]<<16|A[1505]<<24,a[r+16|0]=i,a[r+17|0]=i>>>8,a[r+18|0]=i>>>16,a[r+19|0]=i>>>24,a[r+20|0]=t,a[r+21|0]=t>>>8,a[r+22|0]=t>>>16,a[r+23|0]=t>>>24,t=A[1498]|A[1499]<<8|A[1500]<<16|A[1501]<<24,i=A[1494]|A[1495]<<8|A[1496]<<16|A[1497]<<24,a[r+8|0]=i,a[r+9|0]=i>>>8,a[r+10|0]=i>>>16,a[r+11|0]=i>>>24,a[r+12|0]=t,a[r+13|0]=t>>>8,a[r+14|0]=t>>>16,a[r+15|0]=t>>>24,t=A[1490]|A[1491]<<8|A[1492]<<16|A[1493]<<24,i=A[1486]|A[1487]<<8|A[1488]<<16|A[1489]<<24,a[0|r]=i,a[r+1|0]=i>>>8,a[r+2|0]=i>>>16,a[r+3|0]=i>>>24,a[r+4|0]=t,a[r+5|0]=t>>>8,a[r+6|0]=t>>>16,a[r+7|0]=t>>>24,a[r+33|0]=0,f[e>>2]=-1,Fr(c,r,33),ee(r)}else r=_t(32),t=A[1544]|A[1545]<<8,a[r+24|0]=t,a[r+25|0]=t>>>8,t=A[1540]|A[1541]<<8|A[1542]<<16|A[1543]<<24,i=A[1536]|A[1537]<<8|A[1538]<<16|A[1539]<<24,a[r+16|0]=i,a[r+17|0]=i>>>8,a[r+18|0]=i>>>16,a[r+19|0]=i>>>24,a[r+20|0]=t,a[r+21|0]=t>>>8,a[r+22|0]=t>>>16,a[r+23|0]=t>>>24,t=A[1532]|A[1533]<<8|A[1534]<<16|A[1535]<<24,i=A[1528]|A[1529]<<8|A[1530]<<16|A[1531]<<24,a[r+8|0]=i,a[r+9|0]=i>>>8,a[r+10|0]=i>>>16,a[r+11|0]=i>>>24,a[r+12|0]=t,a[r+13|0]=t>>>8,a[r+14|0]=t>>>16,a[r+15|0]=t>>>24,t=A[1524]|A[1525]<<8|A[1526]<<16|A[1527]<<24,i=A[1520]|A[1521]<<8|A[1522]<<16|A[1523]<<24,a[0|r]=i,a[r+1|0]=i>>>8,a[r+2|0]=i>>>16,a[r+3|0]=i>>>24,a[r+4|0]=t,a[r+5|0]=t>>>8,a[r+6|0]=t>>>16,a[r+7|0]=t>>>24,a[r+26|0]=0,f[e>>2]=-5,Fr(c,r,26),ee(r);else r=_t(32),t=A[1571]|A[1572]<<8,a[r+24|0]=t,a[r+25|0]=t>>>8,t=A[1567]|A[1568]<<8|A[1569]<<16|A[1570]<<24,i=A[1563]|A[1564]<<8|A[1565]<<16|A[1566]<<24,a[r+16|0]=i,a[r+17|0]=i>>>8,a[r+18|0]=i>>>16,a[r+19|0]=i>>>24,a[r+20|0]=t,a[r+21|0]=t>>>8,a[r+22|0]=t>>>16,a[r+23|0]=t>>>24,t=A[1559]|A[1560]<<8|A[1561]<<16|A[1562]<<24,i=A[1555]|A[1556]<<8|A[1557]<<16|A[1558]<<24,a[r+8|0]=i,a[r+9|0]=i>>>8,a[r+10|0]=i>>>16,a[r+11|0]=i>>>24,a[r+12|0]=t,a[r+13|0]=t>>>8,a[r+14|0]=t>>>16,a[r+15|0]=t>>>24,t=A[1551]|A[1552]<<8|A[1553]<<16|A[1554]<<24,i=A[1547]|A[1548]<<8|A[1549]<<16|A[1550]<<24,a[0|r]=i,a[r+1|0]=i>>>8,a[r+2|0]=i>>>16,a[r+3|0]=i>>>24,a[r+4|0]=t,a[r+5|0]=t>>>8,a[r+6|0]=t>>>16,a[r+7|0]=t>>>24,a[r+26|0]=0,f[e>>2]=-5,Fr(c,r,26),ee(r);else r=_t(64),t=A[1448]|A[1449]<<8,a[r+48|0]=t,a[r+49|0]=t>>>8,t=A[1444]|A[1445]<<8|A[1446]<<16|A[1447]<<24,i=A[1440]|A[1441]<<8|A[1442]<<16|A[1443]<<24,a[r+40|0]=i,a[r+41|0]=i>>>8,a[r+42|0]=i>>>16,a[r+43|0]=i>>>24,a[r+44|0]=t,a[r+45|0]=t>>>8,a[r+46|0]=t>>>16,a[r+47|0]=t>>>24,t=A[1436]|A[1437]<<8|A[1438]<<16|A[1439]<<24,i=A[1432]|A[1433]<<8|A[1434]<<16|A[1435]<<24,a[r+32|0]=i,a[r+33|0]=i>>>8,a[r+34|0]=i>>>16,a[r+35|0]=i>>>24,a[r+36|0]=t,a[r+37|0]=t>>>8,a[r+38|0]=t>>>16,a[r+39|0]=t>>>24,t=A[1428]|A[1429]<<8|A[1430]<<16|A[1431]<<24,i=A[1424]|A[1425]<<8|A[1426]<<16|A[1427]<<24,a[r+24|0]=i,a[r+25|0]=i>>>8,a[r+26|0]=i>>>16,a[r+27|0]=i>>>24,a[r+28|0]=t,a[r+29|0]=t>>>8,a[r+30|0]=t>>>16,a[r+31|0]=t>>>24,t=A[1420]|A[1421]<<8|A[1422]<<16|A[1423]<<24,i=A[1416]|A[1417]<<8|A[1418]<<16|A[1419]<<24,a[r+16|0]=i,a[r+17|0]=i>>>8,a[r+18|0]=i>>>16,a[r+19|0]=i>>>24,a[r+20|0]=t,a[r+21|0]=t>>>8,a[r+22|0]=t>>>16,a[r+23|0]=t>>>24,t=A[1412]|A[1413]<<8|A[1414]<<16|A[1415]<<24,i=A[1408]|A[1409]<<8|A[1410]<<16|A[1411]<<24,a[r+8|0]=i,a[r+9|0]=i>>>8,a[r+10|0]=i>>>16,a[r+11|0]=i>>>24,a[r+12|0]=t,a[r+13|0]=t>>>8,a[r+14|0]=t>>>16,a[r+15|0]=t>>>24,t=A[1404]|A[1405]<<8|A[1406]<<16|A[1407]<<24,i=A[1400]|A[1401]<<8|A[1402]<<16|A[1403]<<24,a[0|r]=i,a[r+1|0]=i>>>8,a[r+2|0]=i>>>16,a[r+3|0]=i>>>24,a[r+4|0]=t,a[r+5|0]=t>>>8,a[r+6|0]=t>>>16,a[r+7|0]=t>>>24,a[r+50|0]=0,f[e>>2]=-1,Fr(c,r,50),ee(r);V=u+32|0,f[e>>2]||(a[k+11|0]<0&&ee(f[k>>2]),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0),yi[f[f[s>>2]+4>>2]](s)}e=f[n+16>>2],f[n+16>>2]=0,e&&yi[f[f[e>>2]+4>>2]](e),a[n+15|0]>=0||ee(f[n+4>>2])}else r=_t(32),t=A[1590]|A[1591]<<8|A[1592]<<16|A[1593]<<24,a[r+16|0]=t,a[r+17|0]=t>>>8,a[r+18|0]=t>>>16,a[r+19|0]=t>>>24,t=A[1586]|A[1587]<<8|A[1588]<<16|A[1589]<<24,i=A[1582]|A[1583]<<8|A[1584]<<16|A[1585]<<24,a[r+8|0]=i,a[r+9|0]=i>>>8,a[r+10|0]=i>>>16,a[r+11|0]=i>>>24,a[r+12|0]=t,a[r+13|0]=t>>>8,a[r+14|0]=t>>>16,a[r+15|0]=t>>>24,t=A[1578]|A[1579]<<8|A[1580]<<16|A[1581]<<24,i=A[1574]|A[1575]<<8|A[1576]<<16|A[1577]<<24,a[0|r]=i,a[r+1|0]=i>>>8,a[r+2|0]=i>>>16,a[r+3|0]=i>>>24,a[r+4|0]=t,a[r+5|0]=t>>>8,a[r+6|0]=t>>>16,a[r+7|0]=t>>>24,a[r+20|0]=0,f[e>>2]=-1,Fr(k,r,20),ee(r);V=n+80|0}function B(e,r){var t,i=0,n=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0;V=t=V-48|0,i=_t(8),f[i+4>>2]=r,f[i>>2]=0,r=i+8|0,f[t+40>>2]=r,f[t+36>>2]=r,f[t+32>>2]=i;e:{r:{t:{i:{for(;;){if(_=f[4+(r=r-8|0)>>2],c=f[r>>2],f[t+36>>2]=r,c){f[t+24>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,i=1,r=f[e>>2],o=f[r+8>>2];n:if(!((0|(b=f[r+12>>2]))<=(0|(n=f[r+20>>2]))&(s=f[r+16>>2])>>>0>=o>>>0|(0|n)>(0|b))){if(o=A[s+f[r>>2]|0],n=(s=s+1|0)?n:n+1|0,f[r+16>>2]=s,f[r+20>>2]=n,Re(t+16|0,o),o){if(n=f[e>>2],k=ut(t+16|0),s=f[n+20>>2],r=o,d=(u=f[n+16>>2])+o|0,b=f[n+12>>2],s=o>>>0>d>>>0?s+1|0:s,d>>>0>l[n+8>>2]&(0|b)<=(0|s)|(0|s)>(0|b))break n;ge(k,u+f[n>>2]|0,o),i=f[n+20>>2],i=(o=r+f[n+16>>2]|0)>>>0<r>>>0?i+1|0:i,f[n+16>>2]=o,f[n+20>>2]=i}_=_t(24),f[(r=_)+4>>2]=0,f[r+8>>2]=0,f[(r=r+16|0)>>2]=0,f[r+4>>2]=0,f[_>>2]=_+4,f[_+12>>2]=r,V=o=V-32|0;a:if((0|(p=$e(s=c+12|0,i=t+16|0)))!=(0|(h=c+16|0)))_&&(nt(_+12|0,f[_+16>>2]),lt(_,f[_+4>>2]),ee(_));else{f[o+16>>2]=i;o:{f:{if(r=f[s+4>>2])for(b=(c=(n=A[i+11|0])<<24>>24<0)?f[i>>2]:i,c=c?f[i+4>>2]:n,i=s+4|0;;){s:{c:{A:{b:{l:{u:if(u=(k=(n=(d=(n=A[r+27|0])<<24>>24<0)?f[r+20>>2]:n)>>>0<c>>>0)?n:c){if(m=r+16|0,!(m=Rr(b,d=d?f[m>>2]:m,u))){if(n>>>0>c>>>0)break u;break l}if((0|m)>=0)break l}else if(n>>>0<=c>>>0)break b;if(n=f[r>>2])break s;break f}if(n=Rr(d,b,u))break A}if(k)break c;break o}if((0|n)>=0)break o}if(i=r+4|0,!(n=f[r+4>>2]))break o;r=i}i=r,r=n}r=s+4|0}i=r}if((n=f[i>>2])?r=0:(b=(n=_t(32))+16|0,c=f[o+16>>2],a[c+11|0]>=0?(d=f[c+4>>2],f[b>>2]=f[c>>2],f[b+4>>2]=d,f[b+8>>2]=f[c+8>>2]):Fr(b,f[c>>2],f[c+4>>2]),f[n+8>>2]=r,f[n>>2]=0,f[n+4>>2]=0,f[n+28>>2]=0,f[i>>2]=n,(r=f[f[s>>2]>>2])?(f[s>>2]=r,r=f[i>>2]):r=n,Ce(f[s+4>>2],r),f[s+8>>2]=f[s+8>>2]+1,r=1),a[o+28|0]=r,f[o+24>>2]=n,i=f[o+24>>2],r=f[i+28>>2],f[i+28>>2]=_,!r)break a;nt(r+12|0,f[r+16>>2]),lt(r,f[r+4>>2]),ee(r)}V=o+32|0,i=(0|p)!=(0|h)}if(a[t+27|0]<0&&ee(f[t+16>>2]),i)break r}if(!_)break r;if(f[t+16>>2]=0,!wr(1,t+16|0,f[e>>2]))break r;if(r=0,v=f[t+16>>2])for(;;){d=0,V=u=V-32|0,f[u+24>>2]=0,f[u+16>>2]=0,f[u+20>>2]=0,i=f[e>>2],o=f[i+8>>2];n:{a:{o:if(!((0|(s=f[i+12>>2]))<=(0|(n=f[i+20>>2]))&(c=f[i+16>>2])>>>0>=o>>>0|(0|n)>(0|s))){if(s=A[c+f[i>>2]|0],o=i,i=n,i=(n=c+1|0)?i:i+1|0,f[o+16>>2]=n,f[o+20>>2]=i,Re(u+16|0,s),s){if(o=f[e>>2],k=ut(u+16|0),n=f[o+20>>2],b=(p=f[o+16>>2])+(i=s)|0,c=f[o+12>>2],n=i>>>0>b>>>0?n+1|0:n,b>>>0>l[o+8>>2]&(0|c)<=(0|n)|(0|n)>(0|c))break o;ge(k,p+f[o>>2]|0,s),n=f[o+20>>2],n=(s=i+f[o+16>>2]|0)>>>0<i>>>0?n+1|0:n,f[o+16>>2]=s,f[o+20>>2]=n}if(f[u+12>>2]=0,wr(1,u+12|0,f[e>>2])&&(i=f[u+12>>2])){if(f[u+8>>2]=0,f[u>>2]=0,f[u+4>>2]=0,(0|i)<0)break a;if(n=_t(i),f[u>>2]=n,o=i+n|0,f[u+8>>2]=o,k=Je(n,0,i),f[u+4>>2]=o,o=f[e>>2],d=f[o+8>>2],c=f[o+12>>2],s=f[o+20>>2],d=(0|(s=(b=i+(p=f[o+16>>2])|0)>>>0<i>>>0?s+1|0:s))<=(0|c)&b>>>0<=d>>>0|(0|s)<(0|c)){if(ge(k,p+f[o>>2]|0,i),n=i,s=i+f[o+16>>2]|0,i=f[o+20>>2],f[o+16>>2]=s,f[o+20>>2]=n>>>0>s>>>0?i+1|0:i,V=c=V-48|0,(0|(n=$e(_,u+16|0)))!=(_+4|0)){f:if(o=f[n+4>>2])for(;s=o,o=f[o>>2];);else{if(s=f[n+8>>2],f[s>>2]==(0|n))break f;for(i=n+8|0;i=(o=f[i>>2])+8|0,s=f[o+8>>2],(0|o)!=f[s>>2];);}f[_>>2]==(0|n)&&(f[_>>2]=s),f[_+8>>2]=f[_+8>>2]-1,s=f[_+4>>2],b=n;f:{s:{if(o=f[n>>2]){if(!(i=f[b+4>>2]))break s;for(;n=i,i=f[i>>2];);}if(!(o=f[n+4>>2])){o=0,k=1;break f}}f[o+8>>2]=f[n+8>>2],k=0}p=f[n+8>>2];f:if((0|n)!=(0|(i=f[p>>2])))f[p+4>>2]=o;else{if(f[p>>2]=o,(0|n)==(0|s)){i=0,s=o;break f}i=f[p+4>>2]}m=!A[n+12|0],(0|n)!=(0|b)&&(p=f[b+8>>2],f[n+8>>2]=p,f[p+(((0|b)!=f[f[b+8>>2]>>2])<<2)>>2]=n,p=f[b>>2],f[n>>2]=p,f[p+8>>2]=n,p=f[b+4>>2],f[n+4>>2]=p,p&&(f[p+8>>2]=n),a[n+12|0]=A[b+12|0],s=(0|s)==(0|b)?n:s);f:if(!(m|!s)){if(k)for(;;){o=A[i+12|0];s:{if(n=f[i+8>>2],f[n>>2]!=(0|i)){o||(a[i+12|0]=1,a[n+12|0]=0,o=f[n+4>>2],k=f[o>>2],f[n+4>>2]=k,k&&(f[k+8>>2]=n),f[o+8>>2]=f[n+8>>2],k=f[n+8>>2],f[(((0|n)!=f[k>>2])<<2)+k>>2]=o,f[o>>2]=n,f[n+8>>2]=o,n=i,s=(0|(i=f[i>>2]))==(0|s)?n:s,i=f[i+4>>2]);c:{A:{n=f[i>>2];b:{if(A[n+12|0]||!n){if(o=f[i+4>>2],!A[o+12|0]&&o)break b;if(a[i+12|0]=0,(0|s)!=(0|(i=f[i+8>>2]))){if(A[i+12|0])break s}else i=s;a[i+12|0]=1;break f}if(!(o=f[i+4>>2]))break A}if(!A[o+12|0]){n=i;break c}}a[n+12|0]=1,a[i+12|0]=0,o=f[n+4>>2],f[i>>2]=o,o&&(f[o+8>>2]=i),f[n+8>>2]=f[i+8>>2],o=f[i+8>>2],f[((f[o>>2]!=(0|i))<<2)+o>>2]=n,f[n+4>>2]=i,f[i+8>>2]=n,o=i}i=f[n+8>>2],a[n+12|0]=A[i+12|0],a[i+12|0]=1,a[o+12|0]=1,n=f[i+4>>2],o=f[n>>2],f[i+4>>2]=o,o&&(f[o+8>>2]=i),f[n+8>>2]=f[i+8>>2],o=f[i+8>>2],f[(((0|i)!=f[o>>2])<<2)+o>>2]=n,f[n>>2]=i,f[i+8>>2]=n;break f}o||(a[i+12|0]=1,a[n+12|0]=0,o=f[i+4>>2],f[n>>2]=o,o&&(f[o+8>>2]=n),f[i+8>>2]=f[n+8>>2],o=f[n+8>>2],f[(((0|n)!=f[o>>2])<<2)+o>>2]=i,f[i+4>>2]=n,f[n+8>>2]=i,s=(0|n)==(0|s)?i:s,i=f[n>>2]);c:if(!(o=f[i>>2])|A[o+12|0]){if(n=f[i+4>>2],A[n+12|0]||!n){if(a[i+12|0]=0,(0|(i=f[i+8>>2]))!=(0|s)&&A[i+12|0])break s;a[i+12|0]=1;break f}if(o){if(!A[o+12|0]){n=i;break c}n=f[i+4>>2]}a[n+12|0]=1,a[i+12|0]=0,o=f[n>>2],f[i+4>>2]=o,o&&(f[o+8>>2]=i),f[n+8>>2]=f[i+8>>2],o=f[i+8>>2],f[((f[o>>2]!=(0|i))<<2)+o>>2]=n,f[n>>2]=i,f[i+8>>2]=n,o=i}else n=i;i=f[n+8>>2],a[n+12|0]=A[i+12|0],a[i+12|0]=1,a[o+12|0]=1,n=f[i>>2],o=f[n+4>>2],f[i>>2]=o,o&&(f[o+8>>2]=i),f[n+8>>2]=f[i+8>>2],o=f[i+8>>2],f[(((0|i)!=f[o>>2])<<2)+o>>2]=n,f[n+4>>2]=i,f[i+8>>2]=n;break f}n=i,i=f[i+8>>2],i=f[(((0|n)==f[i>>2])<<2)+i>>2]}a[o+12|0]=1}(i=f[b+28>>2])&&(f[b+32>>2]=i,ee(i)),a[b+27|0]<0&&ee(f[b+16>>2]),ee(b)}f[c>>2]=0,f[c+4>>2]=0,f[c+8>>2]=0,br(c,i=f[u+4>>2]-f[u>>2]|0),ge(f[c>>2],f[u>>2],i),a[u+27|0]>=0?(f[c+24>>2]=f[u+24>>2],i=f[u+20>>2],f[c+16>>2]=f[u+16>>2],f[c+20>>2]=i):Fr(c+16|0,f[u+16>>2],f[u+20>>2]),f[c+36>>2]=0,f[c+28>>2]=0,f[c+32>>2]=0,br(c+28|0,f[c+4>>2]-f[c>>2]|0),i=f[c>>2],ge(f[c+28>>2],i,f[c+4>>2]-i|0),n=s=c+16|0;f:{s:{if(i=f[_+4>>2])for(k=(b=(o=A[n+11|0])<<24>>24<0)?f[n>>2]:n,b=b?f[n+4>>2]:o,n=_+4|0;;){c:{A:{b:{l:{u:{_:if(m=(h=(o=(p=(o=A[i+27|0])<<24>>24<0)?f[i+20>>2]:o)>>>0<b>>>0)?o:b){if(y=i+16|0,!(y=Rr(k,p=p?f[y>>2]:y,m))){if(o>>>0>b>>>0)break _;break u}if((0|y)>=0)break u}else if(o>>>0<=b>>>0)break l;if(o=f[i>>2])break c;break s}if(o=Rr(p,k,m))break b}if(h)break A;break f}if((0|o)>=0)break f}if(n=i+4|0,!(o=f[i+4>>2]))break f;i=n}n=i,i=o}i=_+4|0}n=i}if((o=f[n>>2])?i=0:(o=_t(40),f[o+24>>2]=f[s+8>>2],b=f[s+4>>2],f[o+16>>2]=f[s>>2],f[o+20>>2]=b,f[s>>2]=0,f[s+4>>2]=0,f[s+8>>2]=0,f[o+36>>2]=0,f[(b=o+28|0)>>2]=0,f[b+4>>2]=0,br(b,f[s+16>>2]-f[s+12>>2]|0),ge(k=f[b>>2],b=f[s+12>>2],f[s+16>>2]-b|0),f[o+8>>2]=i,f[o>>2]=0,f[o+4>>2]=0,f[n>>2]=o,(i=f[f[_>>2]>>2])?(f[_>>2]=i,i=f[n>>2]):i=o,Ce(f[_+4>>2],i),f[_+8>>2]=f[_+8>>2]+1,i=1),a[c+44|0]=i,f[c+40>>2]=o,(i=f[c+28>>2])&&(f[c+32>>2]=i,ee(i)),a[c+27|0]<0&&ee(f[c+16>>2]),(i=f[c>>2])&&(f[c+4>>2]=i,ee(i)),V=c+48|0,!(n=f[u>>2]))break o}f[u+4>>2]=n,ee(n)}}a[u+27|0]<0&&ee(f[u+16>>2]),V=u+32|0;break n}oi(),T()}if(!d)break r;if((0|v)==(0|(r=r+1|0)))break}if(f[t+12>>2]=0,!wr(1,t+12|0,f[e>>2]))break r;if(r=f[e>>2],(o=(i=f[r+8>>2])-(n=f[r+16>>2])|0)>>>0<(s=f[t+12>>2])>>>0&(0|(r=f[r+12>>2]-(f[r+20>>2]+(i>>>0<n>>>0)|0)|0))<=0|(0|r)<0)break r;if(i=0,r=f[t+36>>2],s)for(;;){if((o=f[t+40>>2])>>>0>r>>>0)f[r+4>>2]=0,f[r>>2]=_,r=r+8|0,f[t+36>>2]=r;else{if((r=1+(b=(c=r-(n=f[t+32>>2])|0)>>3)|0)>>>0>=536870912)break i;if(d=(o=o-n|0)>>2,(r=o>>3>>>0<268435455?r>>>0>d>>>0?r:d:536870911)>>>0>=536870912)break t;k=b<<3,o=_t(b=r<<3),f[4+(r=k+o|0)>>2]=0,f[r>>2]=_,r=r+8|0,(0|c)>0&&ge(o,n,c),f[t+40>>2]=o+b,f[t+36>>2]=r,f[t+32>>2]=o,n&&ee(n)}if((0|s)==(0|(i=i+1|0)))break}if(f[t+32>>2]==(0|r))break}e=1;break e}oi(),T()}Hr(1326),T()}r=f[t+32>>2],e=0}return r&&ee(r),V=t+48|0,e}function Z(e,r,t,i){var n=0,s=0,c=0,p=0,d=0;e:{r:if(i){t:{i:switch(f[e+28>>2]-1|0){case 0:d=1;n:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(n=f[e>>2],p=f[n>>2],s=r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,n=(c=f[n+4>>2])-p|0,!A[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=a[0|r],(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+1|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(a[0|r])/k(127),(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+1|0)>>>0))break}break e}if((0|t)>(0|n))break t;break r;case 1:d=1;n:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(n=f[e>>2],p=f[n>>2],s=r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,n=(c=f[n+4>>2])-p|0,!A[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=A[0|r],(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+1|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(A[0|r])/k(255),(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+1|0)>>>0))break}break e}if((0|t)>(0|n))break t;break r;case 2:d=1;n:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(n=f[e>>2],p=f[n>>2],s=r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,n=(c=f[n+4>>2])-p|0,!A[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=o[r>>1],(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+2|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(o[r>>1])/k(32767),(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+2|0)>>>0))break}break e}if((0|t)>(0|n))break t;break r;case 3:d=1;n:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(n=f[e>>2],p=f[n>>2],s=r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,n=(c=f[n+4>>2])-p|0,!A[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=b[r>>1],(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+2|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(b[r>>1])/k(65535),(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+2|0)>>>0))break}break e}if((0|t)>(0|n))break t;break r;case 4:d=1;n:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(n=f[e>>2],p=f[n>>2],s=r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,n=(c=f[n+4>>2])-p|0,!A[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=f[r>>2],(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+4|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(f[r>>2])*k(4.656612873077393e-10),(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+4|0)>>>0))break}break e}if((0|t)>(0|n))break t;break r;case 5:d=1;n:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(n=f[e>>2],p=f[n>>2],s=r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,n=(c=f[n+4>>2])-p|0,!A[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=l[r>>2],(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+4|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(l[r>>2])*k(2.3283064365386963e-10),(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+4|0)>>>0))break}break e}if((0|t)>(0|n))break t;break r;case 6:d=1;n:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(n=f[e>>2],p=f[n>>2],s=r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,n=(c=f[n+4>>2])-p|0,!A[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=+l[r>>2]+4294967296*+f[r+4>>2],(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+8|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(+l[r>>2]+4294967296*+f[r+4>>2])*k(10842021724855044e-35),(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+8|0)>>>0))break}break e}if((0|t)>(0|n))break t;break r;case 7:d=1;n:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(n=f[e>>2],p=f[n>>2],s=r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,n=(c=f[n+4>>2])-p|0,!A[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=+l[r>>2]+4294967296*+l[r+4>>2],(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+8|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(+l[r>>2]+4294967296*+l[r+4>>2])*k(5.421010862427522e-20),(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+8|0)>>>0))break}break e}if((0|t)>(0|n))break t;break r;case 8:if(d=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,c=f[n+4>>2];;){if(r>>>0>=c>>>0)break e;if(u[(s<<2)+i>>2]=u[r>>2],r=r+4|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 9:if(d=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,c=f[n+4>>2];;){if(r>>>0>=c>>>0)break e;if(u[(s<<2)+i>>2]=_[r>>3],r=r+8|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 10:break i;default:break r}if(d=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(c=f[e>>2],r=(n=f[c>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0;;){if(l[c+4>>2]<=r>>>0)break e;if(u[(s<<2)+i>>2]=A[0|r]?k(1):k(0),r=r+1|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)<=(0|n))break r}Je((n<<2)+i|0,0,t-n<<2)}return d}return 0}function W(e,r){r|=0;var t,i,n,o=0,s=0,c=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;V=t=V-96|0,n=f[4+(e|=0)>>2],s=f[n+32>>2],c=f[s+8>>2];e:if(!((0|(l=y=f[s+12>>2]))<=(0|(o=f[s+20>>2]))&(i=f[s+16>>2])>>>0>=c>>>0|(0|o)>(0|l)||(d=f[s>>2],g=A[d+i|0],l=(u=i+1|0)?o:o+1|0,f[s+16>>2]=u,f[s+20>>2]=l,c>>>0<=u>>>0&(0|l)>=(0|y)|(0|l)>(0|y)))){m=A[u+d|0],l=(u=i+2|0)>>>0<2?o+1|0:o,h=u,f[s+16>>2]=u,f[s+20>>2]=l;r:{if((0|(_=g<<24>>24))>=0){if(u=f[e+216>>2],g>>>0>=(f[e+220>>2]-u|0)/144>>>0)break e;if(v=u+p(g,144)|0,f[v>>2]<0)break r;break e}if(f[e+212>>2]>=0)break e;v=e+212|0}f[v>>2]=r;r:{t:{i:{if((65535&((u=b[n+36>>1])<<8|u>>>8))>>>0>=258){if(c>>>0<=h>>>0&(0|l)>=(0|y)|(0|l)>(0|y))break e;if(u=A[d+h|0],o=(l=i+3|0)>>>0<3?o+1|0:o,f[s+16>>2]=l,f[s+20>>2]=o,o=u>>>0>1)break e;if(o=o?0:u,!m)break i;if(o)break e;break t}if(m)break t;o=0}if((0|_)<0?l=e+184|0:(s=f[e+216>>2]+p(g,144)|0,a[s+100|0]=0,l=s+104|0),s=l,1!=(0|o))V=c=V+-64|0,m=f[f[e+4>>2]+44>>2],o=_t(80),f[o>>2]=9424,f[o+4>>2]=0,f[o+76>>2]=0,f[o+72>>2]=s,f[o+68>>2]=m,f[o+8>>2]=9588,f[o+12>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o- -64>>2]=0,f[(l=h=o+56|0)>>2]=0,f[l+4>>2]=0,d=f[e+8>>2],f[c+40>>2]=0,f[c+44>>2]=0,f[c+32>>2]=0,f[c+36>>2]=0,f[(l=_=c+24|0)>>2]=0,f[l+4>>2]=0,f[c+16>>2]=0,f[c+20>>2]=0,f[c+8>>2]=0,f[c+12>>2]=0,f[c+56>>2]=0,f[c+48>>2]=0,f[c+52>>2]=0,f[c>>2]=9588,f[c+4>>2]=d,u=f[d>>2],l=f[d+4>>2],a[c+63|0]=0,ze(y=_,(l-u>>2>>>0)/3|0,_=c+63|0),l=f[c+4>>2],u=f[l+28>>2],l=f[l+24>>2],a[c+63|0]=0,ze(c+36|0,u-l>>2,_),f[c+20>>2]=o,f[c+16>>2]=m,f[c+12>>2]=s,f[c+8>>2]=d,Ze(o+8|0,c),Le(h,f[c+48>>2],f[c+52>>2]),f[c>>2]=9588,(s=f[c+48>>2])&&(f[c+52>>2]=s,ee(s)),f[c>>2]=9404,(s=f[c+36>>2])&&ee(s),(s=f[c+24>>2])&&ee(s),V=c- -64|0;else{if(V=c=V-112|0,h=f[f[e+4>>2]+44>>2],o=_t(120),f[o>>2]=8956,f[o+4>>2]=0,f[o+116>>2]=0,f[o+112>>2]=s,f[o+108>>2]=h,f[o+12>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+56>>2]=0,f[o+60>>2]=0,f[o+8>>2]=9168,f[(l=o- -64|0)>>2]=0,f[l+4>>2]=0,f[o+72>>2]=0,f[o+76>>2]=0,f[o+80>>2]=0,f[o+84>>2]=0,f[o+88>>2]=0,f[o+104>>2]=0,f[o+96>>2]=0,f[o+100>>2]=0,m=f[e+8>>2],f[c+48>>2]=0,f[c+52>>2]=0,f[c+40>>2]=0,f[c+44>>2]=0,f[(l=_=c+32|0)>>2]=0,f[l+4>>2]=0,f[c+24>>2]=0,f[c+28>>2]=0,f[c+16>>2]=0,f[c+20>>2]=0,f[(l=c- -64|0)>>2]=0,f[l+4>>2]=0,f[c+72>>2]=0,f[c+76>>2]=0,f[c+80>>2]=0,f[c+84>>2]=0,f[c+88>>2]=0,f[c+104>>2]=0,f[c+56>>2]=0,f[c+60>>2]=0,f[c+8>>2]=9168,f[c+96>>2]=0,f[c+100>>2]=0,f[c+12>>2]=m,u=f[m>>2],l=f[m+4>>2],a[c+111|0]=0,ze(y=_,(l-u>>2>>>0)/3|0,_=c+111|0),l=f[c+12>>2],u=f[l+28>>2],l=f[l+24>>2],a[c+111|0]=0,ze(c+44|0,u-l>>2,_),f[c+28>>2]=o,f[c+24>>2]=h,f[c+20>>2]=s,f[c+16>>2]=m,Ze(s=o+8|0,l=c+8|0),(0|s)!=(0|l)){Le(o+56|0,f[l+48>>2],f[l+52>>2]),Le(o+68|0,f[l+60>>2],f[l- -64>>2]),Le(o+80|0,f[l+72>>2],f[l+76>>2]),f[o+92>>2]=f[l+84>>2];i:if((h=(u=(_=f[l+92>>2])-(m=f[l+88>>2])|0)>>2)>>>0<=(v=f[o+104>>2])-(d=f[o+96>>2])>>2>>>0){if((s=(u=(l=(s=f[o+100>>2]-d|0)>>2)>>>0<h>>>0?s+m|0:_)-m|0)&&Se(d,m,s),l>>>0<h>>>0){s=f[o+100>>2],(0|(l=_-u|0))>0&&(s=ge(s,u,l)+l|0),f[o+100>>2]=s;break i}f[o+100>>2]=s+d}else d&&(f[o+100>>2]=d,ee(d),f[o+104>>2]=0,f[o+96>>2]=0,f[o+100>>2]=0,v=0),(0|u)<0||(s=v>>1,(s=v>>2>>>0<536870911?s>>>0<h>>>0?h:s:1073741823)>>>0>=1073741824)?(oi(),T()):(s=_t(l=s<<2),f[o+96>>2]=s,f[o+100>>2]=s,f[o+104>>2]=s+l,u&&(s=ge(s,m,u)+u|0),f[o+100>>2]=s)}else f[o+92>>2]=f[l+84>>2];f[c+8>>2]=9168,(s=f[c+96>>2])&&(f[c+100>>2]=s,ee(s)),(s=f[c+80>>2])&&(f[c+84>>2]=s,ee(s)),(s=f[c+68>>2])&&(f[c+72>>2]=s,ee(s)),(s=f[c+56>>2])&&(f[c+60>>2]=s,ee(s)),f[c+8>>2]=9404,(s=f[c+44>>2])&&ee(s),(s=f[c+32>>2])&&ee(s),V=c+112|0}if(!o)break e;break r}if((0|_)<0)break e;u=f[n+44>>2],s=f[e+216>>2],o=_t(80),f[o+76>>2]=0,f[o+68>>2]=u,f[o+8>>2]=8652,f[o>>2]=9716,f[o+4>>2]=0,k=104+(l=s+p(g,144)|0)|0,f[o+72>>2]=k,f[o- -64>>2]=0,f[o+56>>2]=0,f[o+60>>2]=0,f[o+52>>2]=0,f[o+44>>2]=0,f[o+48>>2]=0,f[o+36>>2]=0,f[o+40>>2]=0,f[o+28>>2]=0,f[o+32>>2]=0,f[o+20>>2]=0,f[o+24>>2]=0,f[o+12>>2]=0,f[o+16>>2]=0,f[t+24>>2]=u,f[t+68>>2]=0,f[t+72>>2]=0,f[t+60>>2]=0,f[t+64>>2]=0,f[t+52>>2]=0,f[t+56>>2]=0,f[t+44>>2]=0,f[t+48>>2]=0,f[t+84>>2]=0,f[t+88>>2]=0,f[t+76>>2]=0,f[t+80>>2]=0,f[t+28>>2]=o,s=f[t+28>>2],f[t+8>>2]=f[t+24>>2],f[t+12>>2]=s,l=l+4|0,f[t+16>>2]=l,f[t+20>>2]=k,f[t+36>>2]=0,f[t+40>>2]=0,f[t+32>>2]=8652,s=f[t+20>>2],f[t>>2]=f[t+16>>2],f[t+4>>2]=s,mr(k=t+32|0,l,t),Ze(s=o+8|0,k),(0|s)!=(0|k)&&Le(o+56|0,f[k+48>>2],f[k+52>>2]),st(k)}o=Or(_t(64),o),_=f[e+4>>2],e=o;r:{t:{if((0|(o=r))>=0){if(l=_+8|0,!((0|(u=(r=f[_+12>>2])-(s=f[_+8>>2])>>2))>(0|o)))if(k=o+1|0,o>>>0>=u>>>0)Oe(l,k-u|0);else if(!(u>>>0<=k>>>0)){if((0|(s=s+(k<<2)|0))!=(0|r))for(;k=f[(r=r-4|0)>>2],f[r>>2]=0,k&&yi[f[f[k>>2]+4>>2]](k),(0|r)!=(0|s););f[_+12>>2]=s}if(s=f[l>>2]+(o<<2)|0,r=f[s>>2],f[s>>2]=e,r)break t;break r}if(r=e,!e)break r}yi[f[f[r>>2]+4>>2]](r)}k=(-1^o)>>>31|0}return V=t+96|0,0|k}function F(e){var r,t=0,i=0,n=0,a=0,o=0;if(V=r=V-16|0,f[r+12>>2]=e,e>>>0<=211)n=f[xr(10384,10576,r+12|0)>>2];else{for(e>>>0>=4294967292&&(di(),T()),n=p(a=(e>>>0)/210|0,210),f[r+8>>2]=e-n,o=xr(10576,10768,r+8|0)-10576>>2;;){n=f[10576+(o<<2)>>2]+n|0,e=5;e:{for(;;){r:if(47!=(0|e)){if((t=f[10384+(e<<2)>>2])>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if(e=e+1|0,(0|p(t,i))!=(0|n))continue}else for(e=211;;){if((t=(n>>>0)/(e>>>0)|0)>>>0<e>>>0)break e;if((0|p(e,t))==(0|n))break r;if((t=e+10|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+12|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+16|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+18|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+22|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+28|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+30|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+36|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+40|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+42|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+46|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+52|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+58|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+60|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+66|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+70|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+72|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+78|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+82|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+88|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+96|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+100|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+102|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+106|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+108|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+112|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+120|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+126|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+130|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+136|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+138|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+142|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+148|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+150|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+156|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+162|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+166|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+168|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+172|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+178|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+180|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+186|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+190|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+192|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+196|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+198|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+208|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if(e=e+210|0,(0|p(t,i))==(0|n))break}break}o=(e=48==(0|(n=o+1|0)))?0:n,n=p(a=e+a|0,210);continue}break}f[r+12>>2]=n}return V=r+16|0,n}function x(e,r,t,i){var n=0,o=0,s=0,c=0,p=k(0),m=0;e:if(i){r:{t:switch(f[e+28>>2]-1|0){case 0:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(a[r+i|0]=A[0|o],(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 1:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((0|(n=a[0|o]))<0)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 2:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(((n=b[o>>1])-128&65535)>>>0<65280)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+2|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 3:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((n=b[o>>1])>>>0>127)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+2|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 4:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((n=f[o>>2])-128>>>0<4294967040)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 5:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((n=f[o>>2])>>>0>127)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 6:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(c=f[o>>2],-1==(0|(n=f[o+4>>2]-(c>>>0<128)|0))&c-128>>>0<4294967040|-1!=(0|n))break e;if(a[r+i|0]=c,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 7:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(!(n=f[o+4>>2])&(c=f[o>>2])>>>0>127|n)break e;if(a[r+i|0]=c,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 8:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(c=r+i|0,p=u[o>>2],n=k(d(p))<k(2147483648)?~~p:-2147483648,a[0|c]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 9:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(c=r+i|0,m=_[o>>3],n=d(m)<2147483648?~~m:-2147483648,a[0|c]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 10:break t;default:break e}t:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(a[r+i|0]=A[0|o],(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break t;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)<=(0|n))break e}Je(i+n|0,0,t-n|0)}return s}function S(e,r,t,i){var n=0,o=0,s=0,c=0,p=k(0),d=0;e:if(i){r:{t:switch(f[e+28>>2]-1|0){case 0:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((0|(n=a[0|o]))<0)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 1:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(a[r+i|0]=A[0|o],(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 2:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((n=b[o>>1])>>>0>255)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+2|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 3:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((n=b[o>>1])>>>0>255)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+2|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 4:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((n=f[o>>2])>>>0>255)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 5:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((n=f[o>>2])>>>0>255)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 6:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(!(n=f[o+4>>2])&(c=f[o>>2])>>>0>255|n)break e;if(a[r+i|0]=c,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 7:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(!(n=f[o+4>>2])&(c=f[o>>2])>>>0>255|n)break e;if(a[r+i|0]=c,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 8:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(c=r+i|0,n=(p=u[o>>2])<k(4294967296)&p>=k(0)?~~p>>>0:0,a[0|c]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 9:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(c=r+i|0,n=(d=_[o>>3])<4294967296&d>=0?~~d>>>0:0,a[0|c]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 10:break t;default:break e}t:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(a[r+i|0]=A[0|o],(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break t;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)<=(0|n))break e}Je(i+n|0,0,t-n|0)}return s}function j(e,r){var t=0,i=0,n=0,a=0,o=0,s=0,c=0,A=0,b=0,l=0;e:{r:{t:{i:{n:if(f[e+92>>2]!=f[e+88>>2]){if((0|(t=f[e+52>>2]))==f[e+56>>2]){if((n=1+(i=(s=t-(o=f[e+48>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(t=s>>1,a=i>>>0<536870911?t>>>0<n>>>0?n:t:1073741823){if(a>>>0>=1073741824)break e;t=_t(a<<2)}else t=0;f[(n=t+(i<<2)|0)>>2]=r,(0|s)>0&&ge(t,o,s),f[e+56>>2]=t+(a<<2),f[e+52>>2]=n+4,f[e+48>>2]=t,o&&ee(o)}else f[t>>2]=r,f[e+52>>2]=t+4;f[e+84>>2]=0,n=-1,t=-1;a:if(-1!=(0|r)){if(a=f[e+4>>2],-1!=(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0))&&(n=f[f[a>>2]+(t<<2)>>2]),(r>>>0)%3|0)i=r-1|0;else if(t=-1,-1==(0|(i=r+2|0)))break a;t=f[f[a>>2]+(i<<2)>>2]}if(A=t>>>3&536870908,i=f[e+36>>2],(s=f[(o=i+(n>>>3&536870908)|0)>>2])&(a=1<<n)||(f[o>>2]=a|s,Ne(a=e+8|0,n,i=-1!=(0|r)?((i=r+1|0)>>>0)%3|0?i:r-2|0:-1),i=f[e+36>>2]),(i=f[(a=i+A|0)>>2])&(n=1<<t)||(f[a>>2]=i|n,n=-1,-1!=(0|r)&&(n=r-1|0,(r>>>0)%3|0||(n=r+2|0)),Ne(i=e+8|0,t,n)),n=-1,n=-1!=(0|r)?f[f[f[e+4>>2]>>2]+(r<<2)>>2]:n,a=f[e+36>>2]+(n>>>3&536870908)|0,(i=f[a>>2])&(t=1<<n)||(f[a>>2]=t|i,Ne(e+8|0,n,r)),!((0|(i=f[e+84>>2]))>2))for(;;){if(n=p(i,12)+e|0,(0|(r=f[n+52>>2]))==f[n+48>>2]){if(3!=(0|(i=i+1|0)))continue;break n}if(r=f[(t=r-4|0)>>2],f[n+52>>2]=t,f[e+84>>2]=i,-1==(0|r))break n;n=f[e+24>>2];a:if(!(f[n+((t=(r>>>0)/3|0)>>>3&268435452)>>2]>>>t&1)){o:{for(;;){f[(t=((l=(r>>>0)/3|0)>>>3&268435452)+n|0)>>2]=f[t>>2]|1<<l,n=-1;f:{s:{c:{A:{b:{l:{u:{_:{if(n=-1!=(0|r)?f[f[f[e+4>>2]>>2]+(r<<2)>>2]:n,a=f[e+36>>2]+(n>>>3&536870908)|0,!((i=f[a>>2])&(t=1<<n))){if(f[a>>2]=t|i,s=f[(f[f[e+16>>2]+96>>2]+p(l,12)|0)+((r>>>0)%3<<2)>>2],b=f[f[e+20>>2]+4>>2],(0|(t=f[b+4>>2]))==f[b+8>>2]){if((i=1+(a=(A=t-(c=f[b>>2])|0)>>2)|0)>>>0>=1073741824)break _;if(t=A>>1,o=a>>>0<536870911?t>>>0<i>>>0?i:t:1073741823){if(o>>>0>=1073741824)break e;t=_t(o<<2)}else t=0;f[(i=t+(a<<2)|0)>>2]=s,(0|A)>0&&ge(t,c,A),f[b+8>>2]=t+(o<<2),f[b+4>>2]=i+4,f[b>>2]=t,c&&ee(c)}else f[t>>2]=s,f[b+4>>2]=t+4;if(c=f[e+12>>2],(0|(t=f[c+4>>2]))==f[c+8>>2]){if((i=1+(a=(o=t-(A=f[c>>2])|0)>>2)|0)>>>0>=1073741824)break u;if(t=o>>1,s=a>>>0<536870911?t>>>0<i>>>0?i:t:1073741823){if(s>>>0>=1073741824)break e;t=_t(s<<2)}else t=0;f[(i=t+(a<<2)|0)>>2]=r,(0|o)>0&&ge(t,A,o),f[c+8>>2]=t+(s<<2),f[c+4>>2]=i+4,f[c>>2]=t,A&&ee(A)}else f[t>>2]=r,f[c+4>>2]=t+4;t=f[e+12>>2],f[f[t+12>>2]+(n<<2)>>2]=f[t+24>>2],f[t+24>>2]=f[t+24>>2]+1}if(-1==(0|r))break o;o=f[e+4>>2],n=-1,-1!=(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0))&&(n=f[f[o+12>>2]+(t<<2)>>2]);p:{if((0|p(l,3))==(0|r)){if(a=r+2|0,r=-1,-1==(0|a))break p}else a=r-1|0;r=f[f[o+12>>2]+(a<<2)>>2]}if(s=-1==(0|r),a=(r>>>0)/3|0,i=(n>>>0)/3|0,!(t=-1==(0|n))){if(t=t?-1:i,t=f[f[e+24>>2]+(t>>>3&536870908)>>2]&1<<t,s)break l;l=0!=(0|t);break b}if(l=1,!s)break b;break o}oi(),T()}oi(),T()}if(!t)break A;break o}if(t=s?-1:a,!(f[f[e+24>>2]+(t>>>3&536870908)>>2]>>>t&1)){if(a=0,t=f[f[o>>2]+(r<<2)>>2],f[f[e+36>>2]+(t>>>3&536870908)>>2]>>>t&1||(t=f[e+88>>2]+(t<<2)|0,i=f[t>>2],f[t>>2]=i+1,a=(0|i)<=0?2:1),f[e+84>>2]>=(0|a)&&l)break s;if(b=p(a,12)+e|0,(0|(t=f[b+52>>2]))==f[b+56>>2]){if((i=1+(s=(A=t-(c=f[b+48>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(t=A>>1,o=s>>>0<536870911?t>>>0<i>>>0?i:t:1073741823){if(o>>>0>=1073741824)break e;t=_t(o<<2)}else t=0;f[(i=t+(s<<2)|0)>>2]=r,(0|A)>0&&ge(t,c,A),f[b+48>>2]=t,f[b+52>>2]=i+4,f[b+56>>2]=t+(o<<2),c&&ee(c)}else f[t>>2]=r,f[b+52>>2]=t+4;f[e+84>>2]<=(0|a)||(f[e+84>>2]=a)}if(l)break o;if(r=-1,-1==(0|n))break c}r=f[f[f[e+4>>2]>>2]+(n<<2)>>2]}if(a=0,f[f[e+36>>2]+(r>>>3&536870908)>>2]>>>r&1||(r=f[e+88>>2]+(r<<2)|0,t=f[r>>2],f[r>>2]=t+1,a=(0|t)<=0?2:1),f[e+84>>2]<(0|a))break f;r=n}n=f[e+24>>2];continue}break}if(c=p(a,12)+e|0,(0|(r=f[c+52>>2]))==f[c+56>>2]){if((t=1+(i=(o=r-(A=f[c+48>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(r=o>>1,s=i>>>0<536870911?r>>>0<t>>>0?t:r:1073741823){if(s>>>0>=1073741824)break e;r=_t(s<<2)}else r=0;f[(t=r+(i<<2)|0)>>2]=n,(0|o)>0&&ge(r,A,o),f[c+48>>2]=r,f[c+52>>2]=t+4,f[c+56>>2]=r+(s<<2),A&&ee(A)}else f[r>>2]=n,f[c+52>>2]=r+4;if((0|(i=f[e+84>>2]))<=(0|a))break a;f[e+84>>2]=a,i=a;break a}i=f[e+84>>2]}if(!((0|i)<3))break}}return 1}oi(),T()}oi(),T()}oi(),T()}Hr(1326),T()}function O(e,r){var t,i=0,n=0,a=0,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0;if(V=t=V-48|0,i=f[f[e+4>>2]+44>>2],n=f[e+8>>2],o=f[n>>2],n=f[n+4>>2],f[t+40>>2]=0,f[t+32>>2]=0,f[t+36>>2]=0,n=(n-o>>2>>>0)/3|0,A=f[i+96>>2],n>>>0>(o=(f[i+100>>2]-A|0)/12|0)>>>0?ue(i+96|0,n-o|0,t+32|0):n>>>0>=o>>>0||(f[i+100>>2]=A+p(n,12)),f[e+216>>2]!=f[e+220>>2]){f[t+24>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,b=f[e+8>>2],r=f[b>>2],i=f[b+4>>2],f[t+8>>2]=0,f[t>>2]=0,f[t+4>>2]=0;e:{r:{t:{i:{n:{a:{o:{if(r=i-r|0){if((0|r)<0)break o;_=_t(r),f[t>>2]=_,f[t+8>>2]=(r>>2<<2)+_,g=t,w=Je(_,0,r)+r|0,f[g+4>>2]=w}if(i=f[b+24>>2],(f[b+28>>2]-i|0)<=0){n=0,r=0;break r}for(n=0,o=0,r=0;;){f:if(-1!=(0|(A=f[(k<<2)+i>>2]))){s:if(!(f[f[e+120>>2]+(k>>>3&536870908)>>2]>>>k&1)&&(m=f[e+216>>2],i=f[e+220>>2]-m|0))for(h=(i=(0|i)/144|0)>>>0>1?i:1,l=0,y=0!=(0|(i=(A>>>0)%3|0))|-1!=(0|(s=A+2|0)),v=i?A-1|0:s;;){if(c=A<<2,a=m+p(l,144)|0,i=f[c+f[f[a+68>>2]>>2]>>2],f[f[a+16>>2]+(i>>>3&536870908)>>2]>>>i&1&&(i=-1,y&&(i=-1,-1!=(0|(s=f[f[b+12>>2]+(v<<2)>>2]))&&(i=s-1|0,(s>>>0)%3|0||(i=s+2|0))),(0|A)!=(0|i)))for(a=f[a+32>>2],s=f[a+c>>2];;){if(u=0,-1==(0|i))break e;if(f[a+(i<<2)>>2]!=(0|s)){A=i;break s}c:{if((i>>>0)%3|0)c=i-1|0;else if(u=-1,-1==(0|(c=i+2|0)))break c;u=-1,-1!=(0|(i=f[f[b+12>>2]+(c<<2)>>2]))&&(u=i-1|0,(i>>>0)%3|0||(u=i+2|0))}if((0|A)==(0|(i=u)))break}if((0|h)==(0|(l=l+1|0)))break}if(s=(i=r-o|0)>>2,f[(A<<2)+_>>2]=s,r>>>0<d>>>0)f[r>>2]=A,r=r+4|0,f[t+20>>2]=r;else{if((r=s+1|0)>>>0>=1073741824)break a;if(a=(n=d-o|0)>>1,r=n>>2>>>0<536870911?r>>>0>a>>>0?r:a:1073741823){if(r>>>0>=1073741824)break n;n=_t(r<<2)}else n=0;f[(s=n+(s<<2)|0)>>2]=A,d=(r<<2)+n|0,r=s+4|0,(0|i)>0&&ge(n,o,i),f[t+24>>2]=d,f[t+20>>2]=r,f[t+16>>2]=n,o&&(ee(o),b=f[e+8>>2]),o=n}if(-1!=(0|A)){if((A>>>0)%3|0)i=A-1|0;else if(-1==(0|(i=A+2|0)))break f;if(-1!=(0|(i=f[f[b+12>>2]+(i<<2)>>2]))&&-1!=(0|(i=i+((i>>>0)%3|0?-1:2)|0))&&(0|i)!=(0|(a=A)))for(;;){s=i;s:{c:if(c=f[e+216>>2],i=f[e+220>>2]-c|0){for(l=(i=(0|i)/144|0)>>>0>1?i:1,i=0;;){if(m=f[32+(c+p(i,144)|0)>>2],f[m+(h=s<<2)>>2]==f[m+(a<<2)>>2]){if((0|l)!=(0|(i=i+1|0)))continue;break c}break}if(a=(i=r-n|0)>>2,f[_+h>>2]=a,r>>>0<d>>>0){f[r>>2]=s,r=r+4|0,f[t+20>>2]=r,o=n;break s}if((r=a+1|0)>>>0>=1073741824)break i;if(c=(o=d-n|0)>>1,r=o>>2>>>0<536870911?r>>>0>c>>>0?r:c:1073741823){if(r>>>0>=1073741824)break t;o=_t(r<<2)}else o=0;if(f[(a=o+(a<<2)|0)>>2]=s,d=(r<<2)+o|0,r=a+4|0,(0|i)>0&&ge(o,n,i),f[t+24>>2]=d,f[t+20>>2]=r,f[t+16>>2]=o,!n){n=o;break s}ee(n),b=f[e+8>>2],n=o;break s}f[(s<<2)+_>>2]=f[(a<<2)+_>>2]}if(-1==(0|s))break f;if((s>>>0)%3|0)i=s-1|0;else if(-1==(0|(i=s+2|0)))break f;if(-1==(0|(i=f[f[b+12>>2]+(i<<2)>>2])))break f;if(-1==(0|(i=i+((i>>>0)%3|0?-1:2)|0)))break f;if(a=s,(0|i)==(0|A))break}}}if(k=k+1|0,i=f[b+24>>2],!((0|k)<f[b+28>>2]-i>>2))break}break r}oi(),T()}oi(),T()}Hr(1326),T()}oi(),T()}Hr(1326),T()}if(k=f[e+4>>2],c=f[k+44>>2],(0|(l=f[c+100>>2]))!=f[c+96>>2])for(i=0;o=i+1|0,s=p(i,12),a=f[8+(A=s+_|0)>>2],b=f[A+4>>2],A=f[A>>2],(u=i)>>>0>=(l=(l-(i=f[c+96>>2])|0)/12|0)>>>0&&(f[t+40>>2]=0,f[t+32>>2]=0,f[t+36>>2]=0,ue(c+96|0,o-l|0,t+32|0),k=f[e+4>>2],i=f[c+96>>2]),f[8+(i=i+s|0)>>2]=a,f[i+4>>2]=b,f[i>>2]=A,i=o,c=f[k+44>>2],i>>>0<((l=f[c+100>>2])-f[c+96>>2]|0)/12>>>0;);f[f[k+4>>2]+80>>2]=r-n>>2,u=1}i=u,_&&ee(_),n&&(f[t+20>>2]=n,ee(n))}else{if(b=f[e+4>>2],c=f[b+44>>2],(0|(n=f[c+100>>2]))!=f[c+96>>2])for(i=0;;){s=f[e+8>>2];e:{if(-1!=(0|(a=p(i,3))))if(l=-1,A=f[f[s>>2]+(a<<2)>>2],-1!=(0|(o=a+1|0))){if(l=f[f[s>>2]+(o<<2)>>2],o=-1,-1==(0|(a=a+2|0)))break e}else a=0;else l=f[4+(f[s>>2]+(a<<2)|0)>>2],A=-1,a=1;o=f[f[s>>2]+(a<<2)>>2]}if(s=o,o=i+1|0,(a=((a=n)-(n=f[c+96>>2])|0)/12|0)>>>0<=i>>>0&&(f[t+40>>2]=0,f[t+32>>2]=0,f[t+36>>2]=0,ue(c+96|0,o-a|0,t+32|0),b=f[e+4>>2],n=f[c+96>>2]),i=p(i,12)+n|0,f[i+8>>2]=s,f[i+4>>2]=l,f[i>>2]=A,i=o,c=f[b+44>>2],!(i>>>0<((n=f[c+100>>2])-f[c+96>>2]|0)/12>>>0))break}f[f[b+4>>2]+80>>2]=r,i=1}return V=t+48|0,i}function Y(e,r,t,i){var n=0,s=0,c=0,l=0,p=k(0),m=0,y=0;e:if(i){r:{t:switch(f[e+28>>2]-1|0){case 0:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(n=(s<<3)+i|0,c=a[0|r],f[n>>2]=c,f[n+4>>2]=c>>31,r=r+1|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 1:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=A[0|r],f[n+4>>2]=0,r=r+1|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 2:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(n=(s<<3)+i|0,c=o[r>>1],f[n>>2]=c,f[n+4>>2]=c>>31,r=r+2|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 3:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=b[r>>1],f[n+4>>2]=0,r=r+2|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 4:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(n=(s<<3)+i|0,c=f[r>>2],f[n>>2]=c,f[n+4>>2]=c>>31,r=r+4|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 5:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=f[r>>2],f[n+4>>2]=0,r=r+4|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 6:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(c=f[r+4>>2],f[(n=(s<<3)+i|0)>>2]=f[r>>2],f[n+4>>2]=c,r=r+8|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 7:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(n=f[r>>2],(0|(c=f[r+4>>2]))<0)break e;if(f[(y=(s<<3)+i|0)>>2]=n,f[y+4>>2]=c,r=r+8|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 8:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,y=f[n+4>>2];;){if(r>>>0>=y>>>0)break e;if(n=(s<<3)+i|0,p=u[r>>2],k(d(p))<k(0x8000000000000000)?(c=k(d(p))>=k(1)?~~(p>k(0)?k(h(k(v(k(p*k(2.3283064365386963e-10)))),k(4294967296))):k(g(k(k(p-k(~~p>>>0>>>0))*k(2.3283064365386963e-10)))))>>>0:0,l=~~p>>>0):(c=-2147483648,l=0),f[n>>2]=l,f[n+4>>2]=c,r=r+4|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 9:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,y=f[n+4>>2];;){if(r>>>0>=y>>>0)break e;if(n=(s<<3)+i|0,m=_[r>>3],d(m)<0x8000000000000000?(c=d(m)>=1?~~(m>0?h(v(2.3283064365386963e-10*m),4294967295):g(2.3283064365386963e-10*(m-+(~~m>>>0>>>0))))>>>0:0,l=~~m>>>0):(c=-2147483648,l=0),f[n>>2]=l,f[n+4>>2]=c,r=r+8|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 10:break t;default:break e}if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=A[0|r],f[n+4>>2]=0,r=r+1|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)<=(0|n))break e}Je((n<<3)+i|0,0,t-n<<3)}}function J(e,r,t){r|=0,t|=0;var i,n=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0;V=i=V-96|0,o=f[16+(e|=0)>>2],a[i+92|0]=1,f[i+88>>2]=r,f[i+84>>2]=r,f[i+80>>2]=o,p=f[e+20>>2],n=f[p>>2];e:{r:{if((o=f[f[o+28>>2]+(r<<2)>>2])>>>0<f[p+4>>2]-n>>2>>>0){if(n=f[f[e+8>>2]+(f[n+(o<<2)>>2]<<2)>>2],o=f[e+4>>2],A[o+84|0]||(n=f[f[o+68>>2]+(n<<2)>>2]),f[i+72>>2]=0,f[i+76>>2]=0,f[(p=i- -64|0)>>2]=0,f[p+4>>2]=0,f[i+56>>2]=0,f[i+60>>2]=0,Y(o,n,a[o+24|0],i+56|0),n=((o=r+1|0)>>>0)%3|0,r>>>0<=o>>>0)for(p=n?o:r-2|0,c=((r>>>0)%3|0?-1:2)+r|0;;){if(n=p,o=c,f[e+28>>2]&&(n=((o=r+1|0)>>>0)%3|0?o:r-2|0,o=r-1|0,(r>>>0)%3|0||(o=r+2|0)),u=f[e+20>>2],r=f[u>>2],(n=f[f[f[e+16>>2]+28>>2]+(n<<2)>>2])>>>0>=f[u+4>>2]-r>>2>>>0)break r;if(n=f[f[e+8>>2]+(f[r+(n<<2)>>2]<<2)>>2],r=f[e+4>>2],A[r+84|0]||(n=f[f[r+68>>2]+(n<<2)>>2]),f[i+48>>2]=0,f[i+52>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,Y(r,n,a[r+24|0],i+32|0),n=f[e+20>>2],r=f[n>>2],(o=f[f[f[e+16>>2]+28>>2]+(o<<2)>>2])>>>0>=f[n+4>>2]-r>>2>>>0)break e;n=f[f[e+8>>2]+(f[r+(o<<2)>>2]<<2)>>2],r=f[e+4>>2],A[r+84|0]||(n=f[f[r+68>>2]+(n<<2)>>2]),f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,Y(r,n,a[r+24|0],i+8|0),n=(o=f[i+8>>2])-(r=f[i+56>>2])|0,u=f[i+60>>2],k=f[i+12>>2]-(u+(r>>>0>o>>>0)|0)|0,v=(b=f[i+40>>2])-(o=f[i+64>>2])|0,g=f[i+68>>2],w=Pr(n,k,v,b=f[i+44>>2]-(g+(o>>>0>b>>>0)|0)|0),s=s-(D+(l>>>0<w>>>0)|0)|0,E=C=l-w|0,o=Pr(w=(l=f[i+16>>2])-o|0,g=f[i+20>>2]-((o>>>0>l>>>0)+g|0)|0,C=(l=f[i+32>>2])-r|0,u=f[i+36>>2]-((r>>>0>l>>>0)+u|0)|0),r=D+s|0,s=r=o>>>0>(l=E+o|0)>>>0?r+1|0:r,E=d,m=k,k=(r=f[i+48>>2])-(o=f[i+72>>2])|0,d=f[i+76>>2],m=Pr(n,m,k,N=f[i+52>>2]-(d+(r>>>0<o>>>0)|0)|0),r=D+_|0,r=(n=E+m|0)>>>0<m>>>0?r+1|0:r,d=n-(_=Pr(m=(_=f[i+24>>2])-o|0,o=f[i+28>>2]-((o>>>0>_>>>0)+d|0)|0,C,u))|0,_=r-(D+(n>>>0<_>>>0)|0)|0,n=h-(r=Pr(w,g,k,N))|0,r=y-(D+(r>>>0>h>>>0)|0)|0,y=Pr(m,o,v,b),r=D+r|0,y=r=(h=y+n|0)>>>0<y>>>0?r+1|0:r,r=f[i+88>>2],o=f[i+80>>2];t:if(A[i+92|0]){i:{if(-1==(0|r)||-1==(0|(r=((n=r+1|0)>>>0)%3|0?n:r-2|0))|f[f[o>>2]+(r>>>3&536870908)>>2]>>>r&1||-1==(0|(r=f[f[f[o+64>>2]+12>>2]+(r<<2)>>2])))f[i+88>>2]=-1;else if(r=((n=r+1|0)>>>0)%3|0?n:r-2|0,f[i+88>>2]=r,-1!=(0|r))break i;n=-1;n:if(-1!=(0|(r=f[i+84>>2]))){if((r>>>0)%3|0)r=r-1|0;else if(n=-1,-1==(0|(r=r+2|0)))break n;n=-1,f[f[o>>2]+(r>>>3&536870908)>>2]>>>r&1||(n=-1,-1!=(0|(r=f[f[f[o+64>>2]+12>>2]+(r<<2)>>2]))&&(n=r-1|0,(r>>>0)%3|0||(n=r+2|0)))}a[i+92|0]=0,f[i+88>>2]=n;break t}if((0|r)!=f[i+84>>2])break t;f[i+88>>2]=-1}else{n=-1;i:if(-1!=(0|r)){if((r>>>0)%3|0)r=r-1|0;else if(n=-1,-1==(0|(r=r+2|0)))break i;n=-1,f[f[o>>2]+(r>>>3&536870908)>>2]>>>r&1||(n=-1,-1!=(0|(r=f[f[f[o+64>>2]+12>>2]+(r<<2)>>2]))&&(n=r-1|0,(r>>>0)%3|0||(n=r+2|0)))}f[i+88>>2]=n}if(-1==(0|(r=f[i+88>>2])))break}n=(r=y>>31)+h|0,o=r,r=r+y|0,u=n^o,c=o^(n>>>0<o>>>0?r+1|0:r),k=-1,n=2147483647,b=r=_>>31,o=r+d|0,r=r+_|0,r=o>>>0<b>>>0?r+1|0:r,o^=b,b=r^=b,v=-1^o,r^=2147483647,p=s;t:{if(f[e+28>>2]){if(!((0|r)==(0|c)&u>>>0>v>>>0|r>>>0<c>>>0)&&(r=c+b|0,o=r=(e=o+u|0)>>>0<o>>>0?r+1|0:r,c=s,s=(r=s>>31)+l|0,b=c,c=r,r=b+r|0,r=s>>>0<c>>>0?r+1|0:r,s^=c,!((0|(c=2147483647^(r^=c)))==(0|o)&(-1^s)>>>0<e>>>0|o>>>0>c>>>0)&&(r=r+o|0,k=e=e+s|0,n=r=e>>>0<s>>>0?r+1|0:r,!r&e>>>0<536870913)))break t;r=n>>>29|0,e=(536870911&n)<<3|k>>>29}else{if((0|r)==(0|c)&u>>>0>v>>>0|r>>>0<c>>>0)break t;if(r=c+b|0,r=(e=o+u|0)>>>0<o>>>0?r+1|0:r,o=e,e=r,n=(r=s>>31)+l|0,c=s,s=r,r=c+r|0,c=n^s,s^=r=n>>>0<s>>>0?r+1|0:r,r=n=c+o|0,(s=!(0&(e=(0|(s^=2147483647))==(0|e)&(-1^c)>>>0<o>>>0|e>>>0>s>>>0)))&(0|(e=e?-1:r))<=536870912|(0|e)<536870912)break t;r=0,e=e>>>29|0}l=zr(l,p,e,r),d=zr(d,_,e,r),h=zr(h,y,e,r)}return f[t+8>>2]=l,f[t+4>>2]=d,f[t>>2]=h,void(V=i+96|0)}li(),T()}li(),T()}li(),T()}function Q(e,r,t,i){var n=0,s=0,c=0,l=0,p=0,m=k(0),h=0;e:{r:if(i){t:{i:switch(f[e+28>>2]-1|0){case 0:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=a[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 1:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 2:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=b[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 3:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if((0|(n=o[r>>1]))<0)break r;if(o[(c<<1)+i>>1]=n,r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if(l=1,(0|t)>(0|n))break t;break r;case 4:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if((n=f[r>>2])-32768>>>0<4294901760)break e;if(o[(c<<1)+i>>1]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 5:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if((n=f[r>>2])>>>0>32767)break e;if(o[(c<<1)+i>>1]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 6:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=f[r>>2],-1==(0|(n=f[r+4>>2]-(p>>>0<32768)|0))&p-32768>>>0<4294901760|-1!=(0|n))break e;if(o[(c<<1)+i>>1]=p,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 7:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(!(n=f[r+4>>2])&(p=f[r>>2])>>>0>32767|n)break e;if(o[(c<<1)+i>>1]=p,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 8:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<1)+i|0,m=u[r>>2],n=k(d(m))<k(2147483648)?~~m:-2147483648,o[p>>1]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 9:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<1)+i|0,h=_[r>>3],n=d(h)<2147483648?~~h:-2147483648,o[p>>1]=n,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 10:break i;default:break r}if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)<=(0|n))break r}Je((n<<1)+i|0,0,t-n<<1)}return l}return 0}function z(e,r,t,i){var n=0,s=0,c=0,l=0,p=0,d=k(0),m=0;e:{r:if(i){t:{i:switch(f[e+28>>2]-1|0){case 0:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if((0|(n=a[0|r]))<0)break r;if(o[(c<<1)+i>>1]=255&n,r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if(l=1,(0|t)>(0|n))break t;break r;case 1:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 2:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if((0|(n=o[r>>1]))<0)break r;if(o[(c<<1)+i>>1]=n,r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if(l=1,(0|t)>(0|n))break t;break r;case 3:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=b[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 4:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if((n=f[r>>2])>>>0>65535)break e;if(o[(c<<1)+i>>1]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 5:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if((n=f[r>>2])>>>0>65535)break e;if(o[(c<<1)+i>>1]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 6:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(!(n=f[r+4>>2])&(p=f[r>>2])>>>0>65535|n)break e;if(o[(c<<1)+i>>1]=p,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 7:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(!(n=f[r+4>>2])&(p=f[r>>2])>>>0>65535|n)break e;if(o[(c<<1)+i>>1]=p,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 8:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<1)+i|0,n=(d=u[r>>2])<k(4294967296)&d>=k(0)?~~d>>>0:0,o[p>>1]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 9:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<1)+i|0,n=(m=_[r>>3])<4294967296&m>=0?~~m>>>0:0,o[p>>1]=n,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 10:break i;default:break r}if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)<=(0|n))break r}Je((n<<1)+i|0,0,t-n<<1)}return l}return 0}function L(e,r,t){var i,n=0,s=0,c=0,u=0,_=0;V=i=V-48|0,n=b[5069]|b[5070]<<16,s=b[5067]|b[5068]<<16,o[i+38>>1]=s,o[i+40>>1]=s>>>16,o[i+42>>1]=n,o[i+44>>1]=n>>>16,n=f[2533],f[i+32>>2]=f[2532],f[i+36>>2]=n,n=f[2531],f[i+24>>2]=f[2530],f[i+28>>2]=n,n=f[2529],f[i+16>>2]=f[2528],f[i+20>>2]=n,s=f[r+12>>2],n=f[r+20>>2],n=(u=(c=f[r+16>>2])+5|0)>>>0<5?n+1|0:n;e:{r:if(u>>>0>l[r+8>>2]&(0|n)>=(0|s)|(0|n)>(0|s)){if((r=Dr(i+16|0))>>>0>=4294967280)break e;t:{if(r>>>0>=11)t=_t(n=r+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=t,f[i+4>>2]=r;else if(a[i+11|0]=r,t=i,!r)break t;ge(t,i+16|0,r)}if(a[r+t|0]=0,f[e>>2]=-2,e=e+4|0,a[i+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}Fr(r=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(n=c+f[r>>2]|0,s=A[0|n]|A[n+1|0]<<8|A[n+2|0]<<16|A[n+3|0]<<24,a[0|t]=s,a[t+1|0]=s>>>8,a[t+2|0]=s>>>16,a[t+3|0]=s>>>24,a[t+4|0]=A[n+4|0],n=f[r+20>>2],n=(s=f[r+16>>2]+5|0)>>>0<5?n+1|0:n,f[r+16>>2]=s,f[r+20>>2]=n,Rr(t,1394,5))r=_t(32),a[r+16|0]=A[1638],t=A[1634]|A[1635]<<8|A[1636]<<16|A[1637]<<24,n=A[1630]|A[1631]<<8|A[1632]<<16|A[1633]<<24,a[r+8|0]=n,a[r+9|0]=n>>>8,a[r+10|0]=n>>>16,a[r+11|0]=n>>>24,a[r+12|0]=t,a[r+13|0]=t>>>8,a[r+14|0]=t>>>16,a[r+15|0]=t>>>24,t=A[1626]|A[1627]<<8|A[1628]<<16|A[1629]<<24,n=A[1622]|A[1623]<<8|A[1624]<<16|A[1625]<<24,a[0|r]=n,a[r+1|0]=n>>>8,a[r+2|0]=n>>>16,a[r+3|0]=n>>>24,a[r+4|0]=t,a[r+5|0]=t>>>8,a[r+6|0]=t>>>16,a[r+7|0]=t>>>24,a[r+17|0]=0,f[e>>2]=-1,Fr(e+4|0,r,17),ee(r);else if((0|(c=f[r+12>>2]))<=(0|n)&l[r+8>>2]<=s>>>0|(0|n)>(0|c)){if((r=Dr(i+16|0))>>>0>=4294967280)break e;t:{if(r>>>0>=11)t=_t(n=r+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=t,f[i+4>>2]=r;else if(a[i+11|0]=r,t=i,!r)break t;ge(t,i+16|0,r)}if(a[r+t|0]=0,f[e>>2]=-2,e=e+4|0,a[i+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}Fr(r=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(a[t+5|0]=A[s+f[r>>2]|0],n=f[r+20>>2],n=(s=f[r+16>>2]+1|0)?n:n+1|0,f[r+16>>2]=s,f[r+20>>2]=n,(0|(c=f[r+12>>2]))<=(0|n)&l[r+8>>2]<=s>>>0|(0|n)>(0|c)){if((r=Dr(i+16|0))>>>0>=4294967280)break e;t:{if(r>>>0>=11)t=_t(n=r+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=t,f[i+4>>2]=r;else if(a[i+11|0]=r,t=i,!r)break t;ge(t,i+16|0,r)}if(a[r+t|0]=0,f[e>>2]=-2,e=e+4|0,a[i+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}Fr(r=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(a[t+6|0]=A[s+f[r>>2]|0],n=f[r+20>>2],n=(s=f[r+16>>2]+1|0)?n:n+1|0,f[r+16>>2]=s,f[r+20>>2]=n,(0|(c=f[r+12>>2]))<=(0|n)&l[r+8>>2]<=s>>>0|(0|n)>(0|c)){if((r=Dr(i+16|0))>>>0>=4294967280)break e;t:{if(r>>>0>=11)t=_t(n=r+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=t,f[i+4>>2]=r;else if(a[i+11|0]=r,t=i,!r)break t;ge(t,i+16|0,r)}if(a[r+t|0]=0,f[e>>2]=-2,e=e+4|0,a[i+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}Fr(r=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(a[t+7|0]=A[s+f[r>>2]|0],n=f[r+20>>2],n=(s=f[r+16>>2]+1|0)?n:n+1|0,f[r+16>>2]=s,f[r+20>>2]=n,(0|(c=f[r+12>>2]))<=(0|n)&l[r+8>>2]<=s>>>0|(0|n)>(0|c)){if(r=Qr(i,i+16|0),f[e>>2]=-2,e=e+4|0,a[r+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}if(Fr(e,f[r>>2],f[r+4>>2]),a[r+11|0]>=0)break r;ee(f[r>>2])}else if(a[t+8|0]=A[s+f[r>>2]|0],s=n=f[r+20>>2],n=(c=(_=f[r+16>>2])+1|0)?n:n+1|0,f[r+16>>2]=c,f[r+20>>2]=n,u=f[r+12>>2],n=s,n=(s=_+3|0)>>>0<3?n+1|0:n,s>>>0>l[r+8>>2]&(0|n)>=(0|u)|(0|n)>(0|u)){if(r=Qr(i,i+16|0),f[e>>2]=-2,e=e+4|0,a[r+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}if(Fr(e,f[r>>2],f[r+4>>2]),a[r+11|0]>=0)break r;ee(f[r>>2])}else s=t,t=c+f[r>>2]|0,o[s+10>>1]=A[0|t]|A[t+1|0]<<8,n=f[r+20>>2],n=(t=f[r+16>>2]+2|0)>>>0<2?n+1|0:n,f[r+16>>2]=t,f[r+20>>2]=n,f[e+8>>2]=0,f[e+12>>2]=0,f[e>>2]=0,f[e+4>>2]=0;return void(V=i+48|0)}si(),T()}function P(e,r,t,i){var n=0,s=0,c=0,l=0,p=0,m=k(0),h=0;e:{r:if(i){t:{i:switch(f[e+28>>2]-1|0){case 0:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=a[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 1:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 2:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=o[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 3:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=b[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 4:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[r>>2],r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 5:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if((0|(n=f[r>>2]))<0)break r;if(f[(c<<2)+i>>2]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if(l=1,(0|t)>(0|n))break t;break r;case 6:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(n=f[r>>2],-1!=(f[r+4>>2]-(n>>>0<2147483648)|0))break e;if(f[(c<<2)+i>>2]=n,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 7:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(!(n=f[r+4>>2])&(p=f[r>>2])>>>0>2147483647|n)break e;if(f[(c<<2)+i>>2]=p,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 8:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<2)+i|0,m=u[r>>2],n=k(d(m))<k(2147483648)?~~m:-2147483648,f[p>>2]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 9:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<2)+i|0,h=_[r>>3],n=d(h)<2147483648?~~h:-2147483648,f[p>>2]=n,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 10:break i;default:break r}if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)<=(0|n))break r}Je((n<<2)+i|0,0,t-n<<2)}return l}return 0}function X(e,r,t,i){var n=0,s=0,c=0,l=0,p=0,d=k(0),m=0;e:{r:if(i){t:{i:switch(f[e+28>>2]-1|0){case 0:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=a[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 1:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 2:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=o[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 3:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=b[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 4:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[r>>2],r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 5:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[r>>2],r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 6:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(n=f[r>>2],f[r+4>>2])break e;if(f[(c<<2)+i>>2]=n,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 7:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(n=f[r>>2],f[r+4>>2])break e;if(f[(c<<2)+i>>2]=n,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 8:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<2)+i|0,n=(d=u[r>>2])<k(4294967296)&d>=k(0)?~~d>>>0:0,f[p>>2]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 9:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<2)+i|0,n=(m=_[r>>3])<4294967296&m>=0?~~m>>>0:0,f[p>>2]=n,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 10:break i;default:break r}if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)<=(0|n))break r}Je((n<<2)+i|0,0,t-n<<2)}return l}return 0}function H(e,r,t){var i,n=0,a=0,o=0,s=0,c=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;V=i=V+-64|0,f[i+48>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[i>>2]=0,f[i+4>>2]=0,s=r;e:{r:if(b[r+38>>1]&&Cr(1,i+12|0,s)){if(_=f[i+12>>2],r=f[i>>2],_>>>0>(n=f[i+4>>2]-r>>2)>>>0?(sr(i,_-n|0),_=f[i+12>>2]):n>>>0<=_>>>0||(f[i+4>>2]=r+(_<<2)),a=1,!_)break e;for(h=f[s+8>>2],y=f[s+12>>2],m=f[i>>2];;){if(a=0,(0|y)<=(0|(n=f[s+20>>2]))&h>>>0<=(l=f[s+16>>2])>>>0|(0|n)>(0|y))break e;k=f[s>>2],v=A[k+l|0],n=(r=l+1|0)?n:n+1|0,a=r,f[s+16>>2]=r,f[s+20>>2]=n,r=v>>>2|0,c=0;t:{i:{n:{a:switch(0|(d=3&v)){case 3:break a;case 0:break i;default:break n}if(a=0,(r=r+o|0)>>>0>=_>>>0)break e;Je(m+(o<<2)|0,0,4+(252&v)|0),o=r;break t}for(;;){if((0|n)>=(0|y)&a>>>0>=h>>>0|(0|n)>(0|y))break r;if(l=A[a+k|0],n=(a=a+1|0)?n:n+1|0,f[s+16>>2]=a,f[s+20>>2]=n,r|=l<<(c<<3|6),(0|d)==(0|(c=c+1|0)))break}}f[m+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(_=f[i+12>>2])>>>0))break}if(h=i+16|0,k=f[i>>2],a=f[i+16>>2],(r=(n=f[i+20>>2]-a|0)>>2)>>>0<=1048575?sr(h,1048576-r|0):4194304!=(0|n)&&(f[i+20>>2]=a+4194304),o=f[(n=i+28|0)>>2],(r=f[i+32>>2]-o>>3)>>>0<_>>>0)cr(n,_-r|0),o=f[n>>2];else if(r>>>0>_>>>0&&(f[i+32>>2]=(_<<3)+o),!_)break r;for(c=0,n=0;;){if(l=f[(d=(c<<2)+k|0)>>2],r=n,f[4+(a=(c<<3)+o|0)>>2]=n,f[a>>2]=l,(n=(m=f[d>>2])+n|0)>>>0>1048576)break r;if(!(r>>>0>=n>>>0)){if(d=f[h>>2],l=0,a=7&m)for(;f[d+(r<<2)>>2]=c,r=r+1|0,(0|a)!=(0|(l=l+1|0)););if(!(m-1>>>0<=6))for(;f[(a=d+(r<<2)|0)>>2]=c,f[a+28>>2]=c,f[a+24>>2]=c,f[a+20>>2]=c,f[a+16>>2]=c,f[a+12>>2]=c,f[a+8>>2]=c,f[a+4>>2]=c,(0|n)!=(0|(r=r+8|0)););}if((0|_)==(0|(c=c+1|0)))break}u=1048576==(0|n)}a=u}e:if(!(!a|(f[i+12>>2]?0:e))&&kr(1,i+56|0,s)&&(l=(n=f[s+8>>2])-(r=f[s+16>>2])|0,o=f[i+60>>2],a=f[s+20>>2],!((0|o)==(0|(n=f[s+12>>2]-(a+(r>>>0>n>>>0)|0)|0))&l>>>0<(u=f[i+56>>2])>>>0|n>>>0<o>>>0||(n=a+o|0,n=(l=r+u|0)>>>0<r>>>0?n+1|0:n,f[s+16>>2]=l,f[s+20>>2]=n,(0|u)<=0)))){k=r+f[s>>2]|0,f[i+40>>2]=k;r:if((n=A[0|(a=k+(r=u-1|0)|0)])>>>0<=63)f[i+44>>2]=r,n=63&A[0|a];else{switch((n>>>6|0)-1|0){case 0:if(u>>>0<2)break e;r=u-2|0,f[i+44>>2]=r,n=A[1+(n=(u+k|0)-2|0)|0]<<8&16128|A[0|n];break r;case 1:if(u>>>0<3)break e;r=u-3|0,f[i+44>>2]=r,n=A[2+(n=(u+k|0)-3|0)|0]<<16&4128768|A[n+1|0]<<8|A[0|n];break r}r=u-4|0,f[i+44>>2]=r,n=A[2+(n=(u+k|0)-4|0)|0]<<16|A[n+3|0]<<24&1056964608|A[n+1|0]<<8|A[0|n]}if(o=n+4194304|0,f[i+48>>2]=o,!(o>>>0>1073741823))if(e)for(d=f[i+28>>2],n=0,l=f[i+16>>2];;){r:if(!(o>>>0>4194303))for(;;){if((0|r)<=0)break r;if(r=r-1|0,f[i+44>>2]=r,o=A[r+k|0]|o<<8,f[i+48>>2]=o,!(o>>>0<4194304))break}if(u=f[l+((a=1048575&o)<<2)>>2],o=(p(f[(s=d+(u<<3)|0)>>2],o>>>20|0)+a|0)-f[s+4>>2]|0,f[i+48>>2]=o,f[(n<<2)+t>>2]=u,g=1,(0|(n=n+1|0))==(0|e))break}else g=1}return(e=f[i+28>>2])&&(f[i+32>>2]=e,ee(e)),(e=f[i+16>>2])&&(f[i+20>>2]=e,ee(e)),(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),V=i- -64|0,g}function q(e,r){var t=0,i=0,n=0,o=0,s=0,c=0;if((o=((t=f[e+4>>2])-(i=f[e>>2])|0)/144|0)>>>0<r>>>0)if(i=e,(s=r-o|0)>>>0<=((t=f[e+8>>2])-(e=f[e+4>>2])|0)/144>>>0){if(s){for(r=p(s,144)+e|0;f[e>>2]=-1,hr(e+4|0),f[e+104>>2]=0,f[e+108>>2]=0,a[e+100|0]=1,f[e+112>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,f[e+124>>2]=0,f[e+128>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,f[e+140>>2]=0,(0|r)!=(0|(e=e+144|0)););e=r}f[i+4>>2]=e}else{e:{r:{t:{if((c=(o=((r=e)-(e=f[i>>2])|0)/144|0)+s|0)>>>0<29826162){if(e=(r=(t-e|0)/144|0)<<1,n=r>>>0<14913080?e>>>0<c>>>0?c:e:29826161){if(n>>>0>=29826162)break t;t=_t(p(n,144))}else t=0;for(c=(r=t+p(o,144)|0)+p(s,144)|0,e=r;f[e>>2]=-1,hr(e+4|0),f[e+104>>2]=0,f[e+108>>2]=0,a[e+100|0]=1,f[e+112>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,f[e+124>>2]=0,f[e+128>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,f[e+140>>2]=0,(0|c)!=(0|(e=e+144|0)););if(o=t+p(n,144)|0,(0|(e=f[i+4>>2]))==(0|(n=f[i>>2])))break r;for(;e=e-144|0,f[(r=r-144|0)>>2]=f[e>>2],f[r+4>>2]=f[e+4>>2],f[r+8>>2]=f[e+8>>2],f[r+12>>2]=f[e+12>>2],f[e+12>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[r+16>>2]=f[e+16>>2],f[r+20>>2]=f[e+20>>2],f[r+24>>2]=f[e+24>>2],f[e+24>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,t=A[e+28|0],f[r+40>>2]=0,f[r+32>>2]=0,f[r+36>>2]=0,a[r+28|0]=t,f[r+32>>2]=f[e+32>>2],f[r+36>>2]=f[e+36>>2],f[r+40>>2]=f[e+40>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[r+52>>2]=0,f[r+44>>2]=0,f[r+48>>2]=0,f[r+44>>2]=f[e+44>>2],f[r+48>>2]=f[e+48>>2],f[r+52>>2]=f[e+52>>2],f[e+52>>2]=0,f[e+44>>2]=0,f[e+48>>2]=0,f[(t=r- -64|0)>>2]=0,f[r+56>>2]=0,f[r+60>>2]=0,f[r+56>>2]=f[e+56>>2],f[r+60>>2]=f[e+60>>2],s=t,t=e- -64|0,f[s>>2]=f[t>>2],f[t>>2]=0,f[e+56>>2]=0,f[e+60>>2]=0,f[r+68>>2]=f[e+68>>2],t=f[e+72>>2],f[r+84>>2]=0,f[r+76>>2]=0,f[r+80>>2]=0,f[r+72>>2]=t,f[r+76>>2]=f[e+76>>2],f[r+80>>2]=f[e+80>>2],f[r+84>>2]=f[e+84>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[r+96>>2]=0,f[r+88>>2]=0,f[r+92>>2]=0,f[r+88>>2]=f[e+88>>2],f[r+92>>2]=f[e+92>>2],f[r+96>>2]=f[e+96>>2],f[e+96>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,t=A[e+100|0],f[r+112>>2]=0,f[r+104>>2]=0,f[r+108>>2]=0,a[r+100|0]=t,f[r+104>>2]=f[e+104>>2],f[r+108>>2]=f[e+108>>2],f[r+112>>2]=f[e+112>>2],f[e+112>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0,f[r+124>>2]=0,f[r+116>>2]=0,f[r+120>>2]=0,f[r+116>>2]=f[e+116>>2],f[r+120>>2]=f[e+120>>2],f[r+124>>2]=f[e+124>>2],f[e+124>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,t=f[e+128>>2],f[r+140>>2]=0,f[r+132>>2]=0,f[r+136>>2]=0,f[r+128>>2]=t,f[r+132>>2]=f[e+132>>2],f[r+136>>2]=f[e+136>>2],f[r+140>>2]=f[e+140>>2],f[e+140>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,(0|e)!=(0|n););if(f[i+8>>2]=o,e=f[i+4>>2],f[i+4>>2]=c,n=f[i>>2],f[i>>2]=r,(0|e)==(0|n))break e;for(;(r=f[e-12>>2])&&(f[e-8>>2]=r,ee(r)),(r=f[e-28>>2])&&(f[e-24>>2]=r,ee(r)),(r=f[e-40>>2])&&(f[e-36>>2]=r,ee(r)),Zr(e-140|0),(0|n)!=(0|(e=e-144|0)););break e}oi(),T()}Hr(1326),T()}f[i+8>>2]=o,f[i+4>>2]=c,f[i>>2]=r}n&&ee(n)}else if(r>>>0<o>>>0){if((0|(i=i+p(r,144)|0))!=(0|t))for(;(r=f[t-12>>2])&&(f[t-8>>2]=r,ee(r)),(r=f[t-28>>2])&&(f[t-24>>2]=r,ee(r)),(r=f[t-40>>2])&&(f[t-36>>2]=r,ee(r)),Zr(t-140|0),(0|i)!=(0|(t=t-144|0)););f[e+4>>2]=i}}function K(e,r,t){r|=0,t|=0;var i,n=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0;if(V=i=V-96|0,n=f[16+(e|=0)>>2],a[i+92|0]=1,f[i+88>>2]=r,f[i+84>>2]=r,f[i+80>>2]=n,-1!=(0|r)&&(p=f[e+20>>2],o=f[p>>2],!((n=f[f[n>>2]+(r<<2)>>2])>>>0>=f[p+4>>2]-o>>2>>>0))){n=f[f[e+8>>2]+(f[o+(n<<2)>>2]<<2)>>2],o=f[e+4>>2],A[o+84|0]||(n=f[f[o+68>>2]+(n<<2)>>2]),f[i+72>>2]=0,f[i+76>>2]=0,f[(p=i- -64|0)>>2]=0,f[p+4>>2]=0,f[i+56>>2]=0,f[i+60>>2]=0,Y(o,n,a[o+24|0],i+56|0),p=((n=r+1|0)>>>0)%3|0?n:r-2|0,c=((r>>>0)%3|0?-1:2)+r|0;e:{r:{for(;;){if(o=p,n=c,f[e+28>>2]&&(o=((n=r+1|0)>>>0)%3|0?n:r-2|0,n=r-1|0,(r>>>0)%3|0||(n=r+2|0)),-1==(0|o))break e;if(u=f[e+20>>2],r=f[u>>2],(o=f[f[f[e+16>>2]>>2]+(o<<2)>>2])>>>0>=f[u+4>>2]-r>>2>>>0)break e;if(o=f[f[e+8>>2]+(f[(o<<2)+r>>2]<<2)>>2],r=f[e+4>>2],A[r+84|0]||(o=f[f[r+68>>2]+(o<<2)>>2]),f[i+48>>2]=0,f[i+52>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,Y(r,o,a[r+24|0],i+32|0),-1==(0|n))break r;if(o=f[e+20>>2],r=f[o>>2],(n=f[f[f[e+16>>2]>>2]+(n<<2)>>2])>>>0>=f[o+4>>2]-r>>2>>>0)break r;if(o=f[f[e+8>>2]+(f[r+(n<<2)>>2]<<2)>>2],r=f[e+4>>2],A[r+84|0]||(o=f[f[r+68>>2]+(o<<2)>>2]),f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,Y(r,o,a[r+24|0],i+8|0),o=(n=f[i+8>>2])-(r=f[i+56>>2])|0,u=f[i+60>>2],k=f[i+12>>2]-(u+(r>>>0>n>>>0)|0)|0,v=(b=f[i+40>>2])-(n=f[i+64>>2])|0,g=f[i+68>>2],w=Pr(o,k,v,b=f[i+44>>2]-(g+(n>>>0>b>>>0)|0)|0),s=s-(D+(l>>>0<w>>>0)|0)|0,E=C=l-w|0,n=Pr(w=(l=f[i+16>>2])-n|0,g=f[i+20>>2]-((n>>>0>l>>>0)+g|0)|0,C=(l=f[i+32>>2])-r|0,u=f[i+36>>2]-((r>>>0>l>>>0)+u|0)|0),r=D+s|0,s=r=n>>>0>(l=E+n|0)>>>0?r+1|0:r,E=d,m=k,k=(r=f[i+48>>2])-(n=f[i+72>>2])|0,d=f[i+76>>2],m=Pr(o,m,k,N=f[i+52>>2]-(d+(r>>>0<n>>>0)|0)|0),r=D+_|0,r=(o=E+m|0)>>>0<m>>>0?r+1|0:r,d=o-(_=Pr(m=(_=f[i+24>>2])-n|0,n=f[i+28>>2]-((n>>>0>_>>>0)+d|0)|0,C,u))|0,_=r-(D+(o>>>0<_>>>0)|0)|0,o=h-(r=Pr(w,g,k,N))|0,r=y-(D+(r>>>0>h>>>0)|0)|0,y=Pr(m,n,v,b),r=D+r|0,y=r=(h=y+o|0)>>>0<y>>>0?r+1|0:r,Fe(i+80|0),-1==(0|(r=f[i+88>>2])))break}o=(r=y>>31)+h|0,n=r,r=r+y|0,u=o^n,c=n^(o>>>0<n>>>0?r+1|0:r),k=-1,o=2147483647,b=r=_>>31,n=r+d|0,r=r+_|0,r=n>>>0<b>>>0?r+1|0:r,n^=b,b=r^=b,v=-1^n,r^=2147483647,p=s;t:{if(f[e+28>>2]){if(!((0|r)==(0|c)&u>>>0>v>>>0|r>>>0<c>>>0)&&(r=c+b|0,n=r=(e=n+u|0)>>>0<n>>>0?r+1|0:r,c=s,s=(r=s>>31)+l|0,b=c,c=r,r=b+r|0,r=s>>>0<c>>>0?r+1|0:r,s^=c,!((0|(c=2147483647^(r^=c)))==(0|n)&(-1^s)>>>0<e>>>0|n>>>0>c>>>0)&&(r=r+n|0,k=e=e+s|0,o=r=e>>>0<s>>>0?r+1|0:r,!r&e>>>0<536870913)))break t;r=o>>>29|0,e=(536870911&o)<<3|k>>>29}else{if((0|r)==(0|c)&u>>>0>v>>>0|r>>>0<c>>>0)break t;if(r=c+b|0,r=(e=n+u|0)>>>0<n>>>0?r+1|0:r,n=e,e=r,o=(r=s>>31)+l|0,c=s,s=r,r=c+r|0,c=o^s,s^=r=o>>>0<s>>>0?r+1|0:r,r=o=c+n|0,(s=!(0&(e=(0|(s^=2147483647))==(0|e)&(-1^c)>>>0<n>>>0|e>>>0>s>>>0)))&(0|(e=e?-1:r))<=536870912|(0|e)<536870912)break t;r=0,e=e>>>29|0}l=zr(l,p,e,r),d=zr(d,_,e,r),h=zr(h,y,e,r)}return f[t+8>>2]=l,f[t+4>>2]=d,f[t>>2]=h,void(V=i+96|0)}li(),T()}li(),T()}li(),T()}function $(e,r){e|=0;var t=0,i=0,n=0,a=0,o=0,s=0,c=0,A=0;if(!((0|(r|=0))<0||(i=f[e+12>>2])-(t=f[e+8>>2])>>2>>>0<=r>>>0)){a=f[(n=t+(r<<2)|0)>>2],c=f[a+60>>2],o=f[a+56>>2];e:{if((0|(t=n+4|0))!=(0|i)){for(;s=f[t>>2],f[t>>2]=0,f[n>>2]=s,a&&Jr(a),n=n+4|0,(0|(t=t+4|0))!=(0|i);)a=f[n>>2];if((0|n)==(0|(i=f[e+12>>2])))break e}for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&Jr(t),(0|i)!=(0|n););}f[e+12>>2]=n;e:if(!(!(a=f[e+4>>2])|(0|c)<0)&&(0|(i=f[a+24>>2]))!=(0|(t=f[a+28>>2])))for(;;){if((0|c)==f[f[i>>2]+24>>2]){r:{if((0|(n=i+4|0))!=(0|(c=f[a+28>>2]))){for(;s=f[n>>2],f[n>>2]=0,t=f[i>>2],f[i>>2]=s,t&&(nt(t+12|0,f[t+16>>2]),lt(t,f[t+4>>2]),ee(t)),i=i+4|0,(0|c)!=(0|(n=n+4|0)););if((0|(n=f[a+28>>2]))==(0|i))break r}for(;t=f[(n=n-4|0)>>2],f[n>>2]=0,t&&(nt(t+12|0,f[t+16>>2]),lt(t,f[t+4>>2]),ee(t)),(0|i)!=(0|n););}f[a+28>>2]=i;break e}if((0|t)==(0|(i=i+4|0)))break}e:if(!((0|o)>4)){r:if(n=p(o,12)+e|0,(0|(i=f[n+20>>2]))!=(0|(t=f[n+24>>2]))){for(;;){if(f[i>>2]==(0|r))break r;if((0|t)==(0|(i=i+4|0)))break}break e}(0|i)!=(0|t)&&((t=t-(a=i+4|0)|0)&&Se(i,a,t),f[n+24>>2]=i+t)}if(n=f[e+20>>2],i=f[e+24>>2]-n|0){if(c=1&(a=(t=i>>2)>>>0>1?t:1),i=0,t>>>0>=2)for(a&=-2,t=0;(0|(A=f[(s=(o=i<<2)+n|0)>>2]))>(0|r)&&(f[s>>2]=A-1),(0|(s=f[(o=n+(4|o)|0)>>2]))>(0|r)&&(f[o>>2]=s-1),i=i+2|0,(0|a)!=(0|(t=t+2|0)););c&&((0|(t=f[(i=n+(i<<2)|0)>>2]))<=(0|r)||(f[i>>2]=t-1))}if(n=f[e+32>>2],i=f[e+36>>2]-n|0){if(c=1&(a=(t=i>>2)>>>0>1?t:1),i=0,t>>>0>=2)for(a&=-2,t=0;(0|(A=f[(s=(o=i<<2)+n|0)>>2]))>(0|r)&&(f[s>>2]=A-1),(0|(s=f[(o=n+(4|o)|0)>>2]))>(0|r)&&(f[o>>2]=s-1),i=i+2|0,(0|a)!=(0|(t=t+2|0)););c&&((0|(t=f[(i=n+(i<<2)|0)>>2]))<=(0|r)||(f[i>>2]=t-1))}if(n=f[e+44>>2],i=f[e+48>>2]-n|0){if(c=1&(a=(t=i>>2)>>>0>1?t:1),i=0,t>>>0>=2)for(a&=-2,t=0;(0|(A=f[(s=(o=i<<2)+n|0)>>2]))>(0|r)&&(f[s>>2]=A-1),(0|(s=f[(o=n+(4|o)|0)>>2]))>(0|r)&&(f[o>>2]=s-1),i=i+2|0,(0|a)!=(0|(t=t+2|0)););c&&((0|(t=f[(i=n+(i<<2)|0)>>2]))<=(0|r)||(f[i>>2]=t-1))}if(n=f[e+56>>2],i=f[e+60>>2]-n|0){if(c=1&(a=(t=i>>2)>>>0>1?t:1),i=0,t>>>0>=2)for(a&=-2,t=0;(0|(A=f[(s=(o=i<<2)+n|0)>>2]))>(0|r)&&(f[s>>2]=A-1),(0|(s=f[(o=n+(4|o)|0)>>2]))>(0|r)&&(f[o>>2]=s-1),i=i+2|0,(0|a)!=(0|(t=t+2|0)););c&&((0|(t=f[(i=n+(i<<2)|0)>>2]))<=(0|r)||(f[i>>2]=t-1))}if(i=(t=f[e+72>>2])-(e=f[e+68>>2])|0){if(a=1&(n=(t=i>>2)>>>0>1?t:1),i=0,t>>>0>=2)for(n&=-2,t=0;(0|(s=f[(o=(c=i<<2)+e|0)>>2]))>(0|r)&&(f[o>>2]=s-1),(0|(o=f[(c=e+(4|c)|0)>>2]))>(0|r)&&(f[c>>2]=o-1),i=i+2|0,(0|n)!=(0|(t=t+2|0)););a&&((0|(t=r))>=(0|(r=f[(e=e+(i<<2)|0)>>2]))||(f[e>>2]=r-1))}}}function ee(e){var r=0,t=0,i=0,n=0,a=0,o=0,s=0,c=0,A=0;e:if(e|=0){a=(i=e-8|0)+(e=-8&(r=f[e-4>>2]))|0;r:if(!(1&r)){if(!(3&r))break e;if((i=i-(r=f[i>>2])|0)>>>0<l[2885])break e;if(e=e+r|0,f[2886]==(0|i)){if(3==(3&(r=f[a+4>>2])))return f[2883]=e,f[a+4>>2]=-2&r,f[i+4>>2]=1|e,void(f[e+i>>2]=e)}else{if(r>>>0<=255){if(n=f[i+8>>2],r=r>>>3|0,(0|(t=f[i+12>>2]))==(0|n)){c=11524,A=f[2881]&Vt(r),f[c>>2]=A;break r}f[n+12>>2]=t,f[t+8>>2]=n;break r}if(s=f[i+24>>2],(0|i)==(0|(r=f[i+12>>2])))if((t=f[(n=i+20|0)>>2])||(t=f[(n=i+16|0)>>2])){for(;o=n,(t=f[(n=(r=t)+20|0)>>2])||(n=r+16|0,t=f[r+16>>2]););f[o>>2]=0}else r=0;else t=f[i+8>>2],f[t+12>>2]=r,f[r+8>>2]=t;if(!s)break r;n=f[i+28>>2];t:{if(f[(t=11828+(n<<2)|0)>>2]==(0|i)){if(f[t>>2]=r,r)break t;c=11528,A=f[2882]&Vt(n),f[c>>2]=A;break r}if(f[s+(f[s+16>>2]==(0|i)?16:20)>>2]=r,!r)break r}if(f[r+24>>2]=s,(t=f[i+16>>2])&&(f[r+16>>2]=t,f[t+24>>2]=r),!(t=f[i+20>>2]))break r;f[r+20>>2]=t,f[t+24>>2]=r}}if(!(i>>>0>=a>>>0)&&1&(r=f[a+4>>2])){r:{if(!(2&r)){if(f[2887]==(0|a)){if(f[2887]=i,e=f[2884]+e|0,f[2884]=e,f[i+4>>2]=1|e,f[2886]!=(0|i))break e;return f[2883]=0,void(f[2886]=0)}if(f[2886]==(0|a))return f[2886]=i,e=f[2883]+e|0,f[2883]=e,f[i+4>>2]=1|e,void(f[e+i>>2]=e);e=(-8&r)+e|0;t:if(r>>>0<=255){if(n=f[a+8>>2],r=r>>>3|0,(0|(t=f[a+12>>2]))==(0|n)){c=11524,A=f[2881]&Vt(r),f[c>>2]=A;break t}f[n+12>>2]=t,f[t+8>>2]=n}else{if(s=f[a+24>>2],(0|a)==(0|(r=f[a+12>>2])))if((t=f[(n=a+20|0)>>2])||(t=f[(n=a+16|0)>>2])){for(;o=n,(t=f[(n=(r=t)+20|0)>>2])||(n=r+16|0,t=f[r+16>>2]););f[o>>2]=0}else r=0;else t=f[a+8>>2],f[t+12>>2]=r,f[r+8>>2]=t;if(s){n=f[a+28>>2];i:{if(f[(t=11828+(n<<2)|0)>>2]==(0|a)){if(f[t>>2]=r,r)break i;c=11528,A=f[2882]&Vt(n),f[c>>2]=A;break t}if(f[s+(f[s+16>>2]==(0|a)?16:20)>>2]=r,!r)break t}f[r+24>>2]=s,(t=f[a+16>>2])&&(f[r+16>>2]=t,f[t+24>>2]=r),(t=f[a+20>>2])&&(f[r+20>>2]=t,f[t+24>>2]=r)}}if(f[i+4>>2]=1|e,f[e+i>>2]=e,f[2886]!=(0|i))break r;return void(f[2883]=e)}f[a+4>>2]=-2&r,f[i+4>>2]=1|e,f[e+i>>2]=e}if(e>>>0<=255)return r=11564+((e=e>>>3|0)<<3)|0,(t=f[2881])&(e=1<<e)?e=f[r+8>>2]:(f[2881]=e|t,e=r),f[r+8>>2]=i,f[e+12>>2]=i,f[i+12>>2]=r,void(f[i+8>>2]=e);n=31,f[i+16>>2]=0,f[i+20>>2]=0,e>>>0<=16777215&&(r=e>>>8|0,r<<=o=r+1048320>>>16&8,n=28+((r=((r<<=n=r+520192>>>16&4)<<(t=r+245760>>>16&2)>>>15|0)-(t|n|o)|0)<<1|e>>>r+21&1)|0),f[i+28>>2]=n,o=11828+(n<<2)|0;r:{t:{if((t=f[2882])&(r=1<<n)){for(n=e<<(31==(0|n)?0:25-(n>>>1|0)|0),r=f[o>>2];;){if(t=r,(-8&f[r+4>>2])==(0|e))break t;if(r=n>>>29|0,n<<=1,!(r=f[16+(o=t+(4&r)|0)>>2]))break}f[o+16>>2]=i,f[i+24>>2]=t}else f[2882]=r|t,f[o>>2]=i,f[i+24>>2]=o;f[i+12>>2]=i,f[i+8>>2]=i;break r}e=f[t+8>>2],f[e+12>>2]=i,f[t+8>>2]=i,f[i+24>>2]=0,f[i+12>>2]=t,f[i+8>>2]=e}e=f[2889]-1|0,f[2889]=e||-1}}}function re(e,r,t,i){var n,o=0,s=0,c=0,A=0,b=0,_=k(0),p=0,d=0,h=k(0);n=f[t>>2];e:{r:if(s=f[r+4>>2]){t:{if((c=Nt(s))>>>0>=2){if((o=n)>>>0>=s>>>0&&(o=(n>>>0)%(s>>>0)|0),!(t=f[f[r>>2]+(o<<2)>>2]))break r;if(c>>>0<=1)break t;for(;;){if(!(t=f[t>>2]))break r;if((0|(c=f[t+4>>2]))!=(0|n)&&(s>>>0<=c>>>0&&(c=(c>>>0)%(s>>>0)|0),(0|o)!=(0|c)))break r;if(f[t+8>>2]==(0|n))break}r=0;break e}if(o=s-1&n,!(t=f[f[r>>2]+(o<<2)>>2]))break r}for(c=s-1|0;;){if(!(t=f[t>>2]))break r;if((0|(A=f[t+4>>2]))!=(0|n)&(c&A)!=(0|o))break r;if(f[t+8>>2]==(0|n))break}r=0;break e}if(t=_t(16),i=f[f[i>>2]>>2],f[t+12>>2]=0,f[t+8>>2]=i,f[t+4>>2]=n,f[t>>2]=0,h=k(f[r+12>>2]+1>>>0),_=u[r+16>>2],!s||h>k(_*k(s>>>0))){c=0!=(s-1&s)|s>>>0<3|s<<1,o=2,1!=(0|(i=(i=(_=k(g(k(h/_))))<k(4294967296)&_>=k(0)?~~_>>>0:0)>>>0>c>>>0?i:c))&&(i&i-1?(o=F(i),s=f[r+4>>2]):o=i);r:{if(o>>>0<=s>>>0){if(o>>>0>=s>>>0)break r;if(c=s>>>0<3,i=(_=k(g(k(k(l[r+12>>2])/u[r+16>>2]))))<k(4294967296)&_>=k(0)?~~_>>>0:0,(o=(i=c||Nt(s)>>>0>1?F(i):i>>>0<2?i:1<<32-m(i-1|0))>>>0>o>>>0?i:o)>>>0>=s>>>0)break r}s=0,A=o;t:{i:{n:{a:{if(o){if(A>>>0>=1073741824)break a;if(o=_t(A<<2),i=f[r>>2],f[r>>2]=o,i&&ee(i),f[r+4>>2]=A,o=0,A-1>>>0>=3)for(c=-4&A;f[(i=o<<2)+f[r>>2]>>2]=0,f[f[r>>2]+(4|i)>>2]=0,f[f[r>>2]+(8|i)>>2]=0,f[f[r>>2]+(12|i)>>2]=0,o=o+4|0,(0|c)!=(0|(s=s+4|0)););if(i=3&A)for(;f[f[r>>2]+(o<<2)>>2]=0,o=o+1|0,(0|i)!=(0|(b=b+1|0)););if(!(s=f[r+8>>2]))break t;if(i=r+8|0,c=f[s+4>>2],(o=Nt(A))>>>0<2)break n;if(c=c>>>0>=A>>>0?(c>>>0)%(A>>>0)|0:c,f[f[r>>2]+(c<<2)>>2]=i,!(i=f[s>>2]))break t;if(o>>>0<=1)break i;for(;;){if(A>>>0<=(b=f[i+4>>2])>>>0&&(b=(b>>>0)%(A>>>0)|0),(0|c)!=(0|b))if(o=i,d=(p=b<<2)+f[r>>2]|0,f[d>>2]){for(;b=o,o=f[o>>2],f[i+8>>2]==f[o+8>>2]&&o;);f[s>>2]=o,f[b>>2]=f[f[p+f[r>>2]>>2]>>2],f[f[p+f[r>>2]>>2]>>2]=i}else f[d>>2]=s,s=i,c=b;else s=i;if(!(i=f[s>>2]))break}break t}i=f[r>>2],f[r>>2]=0,i&&ee(i),f[r+4>>2]=0;break t}Hr(1326),T()}if(c&=A-1,f[f[r>>2]+(c<<2)>>2]=i,!(i=f[s>>2]))break t}for(p=A-1|0;;){if((0|(A=p&f[i+4>>2]))!=(0|c))if(o=i,d=(b=A<<2)+f[r>>2]|0,f[d>>2]){for(;A=o,o=f[o>>2],f[i+8>>2]==f[o+8>>2]&&o;);f[s>>2]=o,f[A>>2]=f[f[b+f[r>>2]>>2]>>2],f[f[b+f[r>>2]>>2]>>2]=i}else f[d>>2]=s,s=i,c=A;else s=i;if(!(i=f[s>>2]))break}}}o=(i=(s=f[r+4>>2])-1|0)&s?s>>>0>n>>>0?n:(n>>>0)%(s>>>0)|0:i&n}o=f[r>>2]+(o<<2)|0;r:if(i=f[o>>2])f[t>>2]=f[i>>2],f[i>>2]=t;else{if(f[t>>2]=f[r+8>>2],f[r+8>>2]=t,f[o>>2]=r+8,!(i=f[t>>2]))break r;i=f[i+4>>2],(o=s-1|0)&s?i>>>0<s>>>0||(i=(i>>>0)%(s>>>0)|0):i&=o,f[f[r>>2]+(i<<2)>>2]=t}f[r+12>>2]=f[r+12>>2]+1,r=1}a[e+4|0]=r,f[e>>2]=t}function te(e){var r=0,t=0,i=0,n=0,a=0,o=0,s=0,c=0,A=0,b=0;f[e+56>>2]=f[e+52>>2],f[e+44>>2]=f[e+40>>2];e:{r:{t:{if(n=f[e+64>>2],(0|(t=f[n+24>>2]))!=f[n+28>>2])for(;;){i=r;i:if(-1!=(0|(c=f[(b<<2)+t>>2]))){if((0|(r=f[e+56>>2]))==f[e+60>>2]){if((r=1+(o=(n=r-(t=f[e+52>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(a=n>>1,a=o>>>0<536870911?r>>>0>a>>>0?r:a:1073741823){if(a>>>0>=1073741824)break e;r=_t(a<<2)}else r=0;f[(o=r+(o<<2)|0)>>2]=i,(0|n)>0&&ge(r,t,n),f[e+60>>2]=r+(a<<2),f[e+56>>2]=o+4,f[e+52>>2]=r,t&&ee(t)}else f[r>>2]=i,f[e+56>>2]=r+4;n:if(f[f[e+12>>2]+(b>>>3&536870908)>>2]>>>b&1&&-1!=(0|(r=((r=c+1|0)>>>0)%3|0?r:c-2|0))&&(n=f[e>>2],!(f[n+(r>>>3&536870908)>>2]>>>r&1)&&-1!=(0|(r=f[f[f[e+64>>2]+12>>2]+(r<<2)>>2]))&&-1!=(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0))))for(a=f[e+64>>2];;){if(c=t,-1==(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0))|f[n+(r>>>3&536870908)>>2]>>>r&1)break n;if(-1==(0|(r=f[f[a+12>>2]+(r<<2)>>2])))break n;if(-1==(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0)))break}if(f[f[e+28>>2]+(c<<2)>>2]=i,(0|(r=f[e+44>>2]))==f[e+48>>2]){if((r=1+(o=(n=r-(t=f[e+40>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(a=n>>1,a=o>>>0<536870911?r>>>0>a>>>0?r:a:1073741823){if(a>>>0>=1073741824)break e;r=_t(a<<2)}else r=0;f[(o=r+(o<<2)|0)>>2]=c,(0|n)>0&&ge(r,t,n),f[e+48>>2]=r+(a<<2),f[e+44>>2]=o+4,f[e+40>>2]=r,t&&ee(t)}else f[r>>2]=c,f[e+44>>2]=r+4;if(r=i+1|0,n=f[e+64>>2],(c>>>0)%3|0)t=c-1|0;else if(-1==(0|(t=c+2|0)))break i;if(-1!=(0|(t=f[f[n+12>>2]+(t<<2)>>2]))&&!(-1==(0|(t=t+((t>>>0)%3|0?-1:2)|0))|(0|t)==(0|c)))for(;;){if(n=((n=t+1|0)>>>0)%3|0?n:t-2|0,f[f[e>>2]+(n>>>3&536870908)>>2]>>>n&1){if((0|(i=f[e+56>>2]))==f[e+60>>2]){if((i=1+(s=(a=i-(n=f[e+52>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(o=a>>1,o=s>>>0<536870911?i>>>0>o>>>0?i:o:1073741823){if(o>>>0>=1073741824)break e;i=_t(o<<2)}else i=0;f[(s=i+(s<<2)|0)>>2]=r,(0|a)>0&&ge(i,n,a),f[e+60>>2]=i+(o<<2),f[e+56>>2]=s+4,f[e+52>>2]=i,n&&ee(n)}else f[i>>2]=r,f[e+56>>2]=i+4;if(n=r+1|0,(0|(i=f[e+44>>2]))==f[e+48>>2]){if((i=1+(A=(o=i-(a=f[e+40>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(s=o>>1,s=A>>>0<536870911?i>>>0>s>>>0?i:s:1073741823){if(s>>>0>=1073741824)break e;i=_t(s<<2)}else i=0;f[(A=i+(A<<2)|0)>>2]=t,(0|o)>0&&ge(i,a,o),f[e+48>>2]=i+(s<<2),f[e+44>>2]=A+4,f[e+40>>2]=i,a&&ee(a)}else f[i>>2]=t,f[e+44>>2]=i+4;i=r,r=n}if(f[f[e+28>>2]+(t<<2)>>2]=i,n=f[e+64>>2],(t>>>0)%3|0)t=t-1|0;else if(-1==(0|(t=t+2|0)))break i;if(-1==(0|(t=f[f[n+12>>2]+(t<<2)>>2])))break i;if(-1==(0|(t=t+((t>>>0)%3|0?-1:2)|0)))break i;if((0|t)==(0|c))break}}if(b=b+1|0,t=f[n+24>>2],!(b>>>0<f[n+28>>2]-t>>2>>>0))break}return}oi(),T()}oi(),T()}Hr(1326),T()}function ie(e,r){var t=0,i=0,n=0,a=0,o=0,s=0,c=0,A=0,b=0;if(-1==(0|r))return 1;if(t=(r>>>0)/3|0,!(f[f[e+24>>2]+(t>>>3&268435452)>>2]>>>t&1)){if(i=f[e+48>>2],f[e+52>>2]=i,(0|i)==f[e+56>>2]?(n=_t(4),f[n>>2]=r,a=n+4|0,f[e+56>>2]=a,f[e+52>>2]=a,f[e+48>>2]=n,i&&ee(i)):(f[i>>2]=r,f[e+52>>2]=i+4),a=f[f[e+4>>2]+28>>2],-1==(0|(i=f[a+((n=((i=r+1|0)>>>0)%3|0?i:r-2|0)<<2)>>2])))return 0;if(o=(r-p(t,3)|0?-1:2)+r|0,-1==(0|(t=f[a+(o<<2)>>2])))return 0;if(r=f[e+36>>2],(s=f[(a=r+(i>>>3&536870908)|0)>>2])&(c=1<<i)||(f[a>>2]=s|c,Ne(e+8|0,i,n),r=f[e+36>>2]),(i=f[(r=(t>>>3&536870908)+r|0)>>2])&(n=1<<t)||(f[r>>2]=i|n,Ne(e+8|0,t,o)),(0|(t=f[e+52>>2]))==f[e+48>>2])return 1;for(b=e+8|0;;){i=((r=f[(t=t-4|0)>>2])>>>0)/3|0;e:{r:if(-1!=(0|r)&&(n=f[e+24>>2]+(i>>>3&268435452)|0,!((a=f[n>>2])&(i=1<<i)))){if(f[n>>2]=i|a,n=f[e+4>>2],-1==(0|(i=f[f[n+28>>2]+(r<<2)>>2])))return 0;for(;;){t=r;t:{if(a=f[e+36>>2]+(i>>>3&536870908)|0,!((o=f[a>>2])&(s=1<<i)))if(-1==(0|(r=f[f[n+40>>2]+(i<<2)>>2]))||-1==(0|(r=((c=r+1|0)>>>0)%3|0?c:r-2|0))|f[f[n>>2]+(r>>>3&536870908)>>2]>>>r&1||-1==(0|(r=f[f[f[n+64>>2]+12>>2]+(r<<2)>>2])))f[a>>2]=o|s,Ne(b,i,t);else if(f[a>>2]=o|s,Ne(b,i,t),-1!=(0|(((i=r+1|0)>>>0)%3|0?i:r-2|0))){r=-1,n=f[e+4>>2],-1!=(0|t)&&(-1==(0|(i=((i=t+1|0)>>>0)%3|0?i:t-2|0))|f[f[n>>2]+(i>>>3&536870908)>>2]>>>i&1||(r=f[f[f[n+64>>2]+12>>2]+(i<<2)>>2])),s=1<<(i=(r>>>0)/3|0),t=f[e+24>>2],a=f[t+((c=i>>>5|0)<<2)>>2];break t}i:{if(-1!=(0|t)){i=-1,r=((r=t+1|0)>>>0)%3|0?r:t-2|0,n=f[e+4>>2],-1==(0|r)|f[f[n>>2]+(r>>>3&536870908)>>2]>>>r&1||(i=f[f[f[n+64>>2]+12>>2]+(r<<2)>>2]);n:{if((t>>>0)%3|0)t=t-1|0;else if(r=-1,-1==(0|(t=t+2|0)))break n;r=-1,f[f[n>>2]+(t>>>3&536870908)>>2]>>>t&1||(r=f[f[f[n+64>>2]+12>>2]+(t<<2)>>2])}if(o=(A=-1==(0|r))?-1:(r>>>0)/3|0,a=(i>>>0)/3|0,!((s=-1==(0|i))||(t=f[e+24>>2],(a=f[t+((c=(s=s?-1:a)>>>5|0)<<2)>>2])&(s=1<<s))))break i;if(!(A||(s=1<<o,t=f[e+24>>2],s&(a=f[t+((c=o>>>5|0)<<2)>>2]))))break t}t=f[e+52>>2]-4|0,f[e+52>>2]=t;break e}if(A)r=i;else if(f[(o>>>3&536870908)+t>>2]>>>o&1)r=i;else{if(t=f[e+52>>2],f[t-4>>2]=r,(0|t)!=f[e+56>>2]){f[t>>2]=i,t=t+4|0;break r}i:{if((r=1+(t=(a=t-(n=f[e+48>>2])|0)>>2)|0)>>>0<1073741824){if(o=a>>1,o=t>>>0<536870911?r>>>0>o>>>0?r:o:1073741823){if(o>>>0>=1073741824)break i;r=_t(o<<2)}else r=0;if(f[(t=r+(t<<2)|0)>>2]=i,t=t+4|0,(0|a)>0&&ge(r,n,a),f[e+56>>2]=r+(o<<2),f[e+52>>2]=t,f[e+48>>2]=r,!n)break e;ee(n),t=f[e+52>>2];break e}oi(),T()}Hr(1326),T()}}if(f[(c<<2)+t>>2]=a|s,-1==(0|(i=f[f[n+28>>2]+(r<<2)>>2])))break}return 0}f[e+52>>2]=t}if(f[e+48>>2]==(0|t))break}}return 1}function ne(e,r,t){var i,n=0,a=0,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0;i=p(r,12)+e|0,f[i+12>>2]=f[i+8>>2],l=-1==(0|t)?-1:(t>>>0)/3|0,_=1,A=t;e:{r:{t:{for(;;){i:{if(k=1&a){if(-1==(0|A))break i;if(-1==(0|Qe(e,((A>>>0)%3|0?-1:2)+A|0)))break e;if(-1==(0|(n=((t=A+1|0)>>>0)%3|0?t:A-2|0)))break e;if(-1==(0|(t=((t=n+1|0)>>>0)%3|0?t:n-2|0)))break e;if(-1==(0|(n=f[f[f[e+4>>2]+12>>2]+(t<<2)>>2])))break e;if(-1==(0|(t=((t=n+1|0)>>>0)%3|0?t:n-2|0)))break e;l=(t>>>0)/3|0}if(b=1<<l,s=f[e+56>>2]+(l>>>3&536870908)|0,!(b&(u=f[s>>2]))){for(a=0;;){if(f[s>>2]=u|b,(0|(n=f[i+12>>2]))==f[i+16>>2]){if((c=1+(o=(b=n-(s=f[i+8>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(n=b>>1,u=o>>>0<536870911?n>>>0<c>>>0?c:n:1073741823){if(u>>>0>=1073741824)break r;n=_t(u<<2)}else n=0;f[(c=n+(o<<2)|0)>>2]=l,(0|b)>0&&ge(n,s,b),f[i+8>>2]=n,f[i+12>>2]=c+4,f[i+16>>2]=n+(u<<2),s&&ee(s)}else f[n>>2]=l,f[i+12>>2]=n+4;c=a+1|0;n:{a:{if(a)if(1&c){if(-1==(0|t)){t=-1;break n}t=((n=t+1|0)>>>0)%3|0?n:t-2|0}else{if(A=k?t:A,-1==(0|t)){t=-1;break n}if((t>>>0)%3|0){a=t-1|0;break a}t=t+2|0}if(n=t,t=-1,a=n,-1==(0|n))break n}if(t=f[f[f[e+4>>2]+12>>2]+(a<<2)>>2],s=-1,u=-1,(0|(o=((n=a+1|0)>>>0)%3|0?n:a-2|0))>=0&&(n=(o>>>0)/3|0,u=f[(f[f[e>>2]+96>>2]+p(n,12)|0)+(o-p(n,3)<<2)>>2]),-1!=(0|t)?(b=0,(0|(o=((t>>>0)%3|0?-1:2)+t|0))<0||(n=(o>>>0)/3|0,s=f[(f[f[e>>2]+96>>2]+p(n,12)|0)+(o-p(n,3)<<2)>>2])):b=1,(0|s)==(0|u)){a:{o:{f:{s:{if((0|(a=((a>>>0)%3|0?-1:2)+a|0))>=0){if(n=(a>>>0)/3|0,s=f[(f[f[e>>2]+96>>2]+p(n,12)|0)+(a-p(n,3)<<2)>>2],a=-1,!b)break s;break f}if(s=-1,b)break o}(0|(a=((n=t+1|0)>>>0)%3|0?n:t-2|0))<0?a=-1:(n=(a>>>0)/3|0,a=f[(f[f[e>>2]+96>>2]+p(n,12)|0)+(a-p(n,3)<<2)>>2])}if((0|a)!=(0|s)){t=-1;break n}if(-1!=(0|t))break a;t=-1;break n}if(-1==(0|t)){t=-1;break n}}if(a=c,l=(t>>>0)/3|0,s=f[e+56>>2]+(l>>>3&268435452)|0,!((u=f[s>>2])&(b=1<<l)))continue}else t=-1}break}!k|!(1&c)||(o=f[i+12>>2]-4|0,c=f[o>>2],a=f[e+56>>2]+(c>>>3&536870908)|0,n=f[a>>2],d=a,m=Vt(c)&n,f[d>>2]=m,f[i+12>>2]=o)}if(a=1,n=_,_=0,n)continue;break e}break}A=-1,Qe(e,-1);break e}oi(),T()}Hr(1326),T()}if(f[44+((r<<2)+e|0)>>2]=A,o=f[i+8>>2],r=f[i+12>>2]-o|0){if(A=f[e+56>>2],c=1&(e=(r>>=2)>>>0>1?r:1),t=0,r>>>0>=2)for(_=-2&e,l=0;n=f[(a=t<<2)+o>>2],e=f[(r=A+(n>>>3&536870908)|0)>>2],d=r,m=Vt(n)&e,f[d>>2]=m,n=f[o+(4|a)>>2],e=f[(r=A+(n>>>3&536870908)|0)>>2],d=r,m=Vt(n)&e,f[d>>2]=m,t=t+2|0,(0|_)!=(0|(l=l+2|0)););c&&(t=f[o+(t<<2)>>2],e=f[(r=A+(t>>>3&536870908)|0)>>2],d=r,m=Vt(t)&e,f[d>>2]=m)}}function ae(e,r){var t=0,i=0,n=0,a=0,o=0,s=0,c=0,A=0;if(-1==(0|r))return 1;if(i=(r>>>0)/3|0,!(f[f[e+24>>2]+(i>>>3&268435452)>>2]>>>i&1)){if(t=f[e+48>>2],f[e+52>>2]=t,(0|t)==f[e+56>>2]?(n=_t(4),f[n>>2]=r,a=n+4|0,f[e+56>>2]=a,f[e+52>>2]=a,f[e+48>>2]=n,t&&ee(t)):(f[t>>2]=r,f[e+52>>2]=t+4),n=-1,a=f[e+4>>2],-1!=(0|(o=((t=r+1|0)>>>0)%3|0?t:r-2|0))&&(n=f[f[a>>2]+(o<<2)>>2]),s=r-p(i,3)|0)t=r-1|0;else if(-1==(0|(t=r+2|0)))return 0;if(-1==(0|n))return 0;if(-1==(0|(i=f[f[a>>2]+(t<<2)>>2])))return 0;if(t=f[e+36>>2],(c=f[(a=t+(n>>>3&536870908)|0)>>2])&(A=1<<n)||(f[a>>2]=c|A,Ne(e+8|0,n,o),t=f[e+36>>2]),(n=f[(t=(i>>>3&536870908)+t|0)>>2])&(a=1<<i)||(f[t>>2]=n|a,Ne(e+8|0,i,(s?-1:2)+r|0)),(0|(t=f[e+52>>2]))==f[e+48>>2])return 1;for(A=e+8|0;;){i=((r=f[(t=t-4|0)>>2])>>>0)/3|0;e:{r:if(-1!=(0|r)&&(n=f[e+24>>2]+(i>>>3&268435452)|0,!((a=f[n>>2])&(i=1<<i)))){for(f[n>>2]=i|a;;){if(i=f[e+4>>2],-1==(0|(t=f[f[i>>2]+(r<<2)>>2])))return 0;t:{if(n=f[e+36>>2]+(t>>>3&536870908)|0,!((a=f[n>>2])&(o=1<<t)))if(-1!=(0|(s=f[f[i+24>>2]+(t<<2)>>2]))&&-1!=(0|(s=((c=s+1|0)>>>0)%3|0?c:s-2|0))&&-1!=(0|(i=f[f[i+12>>2]+(s<<2)>>2]))){if(f[n>>2]=a|o,Ne(A,t,r),-1!=(0|(((t=i+1|0)>>>0)%3|0?t:i-2|0))){i=r-2|0,t=r+1|0,r=-1,-1!=(0|(t=(t>>>0)%3|0?t:i))&&(r=f[f[f[e+4>>2]+12>>2]+(t<<2)>>2]),o=1<<(t=(r>>>0)/3|0),n=f[e+24>>2],i=f[n+((s=t>>>5|0)<<2)>>2];break t}}else f[n>>2]=a|o,Ne(A,t,r);t=-1,a=f[e+4>>2],-1!=(0|(i=((i=r+1|0)>>>0)%3|0?i:r-2|0))&&(t=f[f[a+12>>2]+(i<<2)>>2]);i:{if((r>>>0)%3|0)n=r-1|0;else if(n=r+2|0,r=-1,-1==(0|n))break i;r=f[f[a+12>>2]+(n<<2)>>2]}if(a=(c=-1==(0|r))?-1:(r>>>0)/3|0,i=(t>>>0)/3|0,(o=-1==(0|t))||(n=f[e+24>>2],(i=f[n+((s=(o=o?-1:i)>>>5|0)<<2)>>2])&(o=1<<o))){if(!(c||(o=1<<a,n=f[e+24>>2],o&(i=f[n+((s=a>>>5|0)<<2)>>2]))))break t;t=f[e+52>>2]-4|0,f[e+52>>2]=t;break e}if(c)r=t;else if(f[(a>>>3&536870908)+n>>2]>>>a&1)r=t;else{if(i=f[e+52>>2],f[i-4>>2]=r,(0|i)!=f[e+56>>2]){f[i>>2]=t,t=i+4|0;break r}i:{if((r=1+(o=(n=(r=i)-(i=f[e+48>>2])|0)>>2)|0)>>>0<1073741824){if(a=n>>1,a=o>>>0<536870911?r>>>0>a>>>0?r:a:1073741823){if(a>>>0>=1073741824)break i;r=_t(a<<2)}else r=0;if(f[(o=r+(o<<2)|0)>>2]=t,t=o+4|0,(0|n)>0&&ge(r,i,n),f[e+56>>2]=r+(a<<2),f[e+52>>2]=t,f[e+48>>2]=r,!i)break e;ee(i),t=f[e+52>>2];break e}oi(),T()}Hr(1326),T()}}if(f[(s<<2)+n>>2]=i|o,-1==(0|r))break}return 0}f[e+52>>2]=t}if(f[e+48>>2]==(0|t))break}}return 1}function oe(e,r,t){r|=0,t|=0;var i=0,n=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0;e:if(!((0|(d=0|yi[f[f[(e|=0)>>2]+44>>2]](e)))<=0)&&(n=f[r+4>>2]-f[r>>2]>>2,V=s=V+-64|0,i=$r(s),o=p(f[2549],d),bt(i,f[f[e+8>>2]+56>>2],d<<24>>24,5,0,o,o>>31),i=Ke(o=_t(96),i),a[i+84|0]=1,f[i+72>>2]=f[i+68>>2],He(i,n),f[i+60>>2]=f[f[e+8>>2]+60>>2],i=f[e+16>>2],f[e+16>>2]=o,i&&Jr(i),V=s- -64|0,s=f[e+16>>2],f[s+80>>2]&&(b=f[f[s>>2]>>2])&&!((0|(c=f[t+12>>2]))<=(0|(i=f[t+20>>2]))&(l=f[t+8>>2])>>>0<=(o=f[t+16>>2])>>>0|(0|i)>(0|c)))){u=p(n,d),b=b+f[s+48>>2]|0,_=f[t>>2],k=A[_+o|0],n=(s=o+1|0)?i:i+1|0,f[t+16>>2]=s,f[t+20>>2]=n;r:{t:{i:{if(k){if(M(u,d,t,b))break i;break e}if((0|n)>=(0|c)&s>>>0>=l>>>0|(0|n)>(0|c))break e;s=A[s+_|0],i=(n=o+2|0)>>>0<2?i+1|0:i,f[t+16>>2]=n,f[t+20>>2]=i,i=f[f[e+16>>2]+64>>2],i=f[i+4>>2]-f[i>>2]|0;n:{if((0|s)==f[2549]){if((n=i)>>>0<(i=u<<2)>>>0)break e;if(c=f[t+8>>2],s=f[t+12>>2],n=f[t+20>>2],(0|(n=(o=i+(l=f[t+16>>2])|0)>>>0<i>>>0?n+1|0:n))<=(0|s)&o>>>0<=c>>>0|(0|n)<(0|s))break n;break e}if(i>>>0<p(s,u)>>>0)break e;if(c=f[t+12>>2],n=f[t+20>>2],(o=_=f[t+8>>2])-(l=f[t+16>>2])>>>0<Pr(i=s,0,u,0)>>>0&(0|(o=c-(n+(o>>>0<l>>>0)|0)|0))<=(0|(k=D))|(0|o)<(0|k))break e;if(o=1,!u)break t;if(o=0,(k=_)>>>0<(_=i+l|0)>>>0&(0|(n=_>>>0<i>>>0?n+1|0:n))>=(0|c)|(0|n)>(0|c))break r;for(;;){if(ge(b+(m<<2)|0,l+f[t>>2]|0,s),n=f[t+20>>2],n=(c=i+f[t+16>>2]|0)>>>0<i>>>0?n+1|0:n,l=c,f[t+16>>2]=c,f[t+20>>2]=n,(0|u)==(0|(m=m+1|0)))break i;if(k=f[t+8>>2],!((0|(n=(_=i+l|0)>>>0<i>>>0?n+1|0:n))<=(0|(c=f[t+12>>2]))&_>>>0<=k>>>0|(0|n)<(0|c)))break}break r}ge(b,l+f[t>>2]|0,i),n=i,s=i+f[t+16>>2]|0,i=f[t+20>>2],f[t+16>>2]=s,f[t+20>>2]=n>>>0>s>>>0?i+1|0:i}if(o=1,u&&!((i=f[e+20>>2])&&(o=0,0|yi[f[f[i>>2]+32>>2]](i)))){if(i=0,o=0,!((0|u)<=0)){if(1!=(0|u))for(c=-2&u;s=f[(n=i<<2)+b>>2],f[n+b>>2]=0-(1&s)^s>>>1,n=f[(s=4|n)+b>>2],f[s+b>>2]=0-(1&n)^n>>>1,i=i+2|0,(0|c)!=(0|(o=o+2|0)););1&u&&(i=f[(n=i<<2)+b>>2],f[n+b>>2]=0-(1&i)^i>>>1)}o=0}}if(i=f[e+20>>2]){if(!(0|yi[f[f[i>>2]+40>>2]](i,t)))break e;if(!(o||(o=0,e=f[e+20>>2],0|yi[f[f[e>>2]+44>>2]](e,b,b,u,d,f[r>>2]))))break r}o=1}return 0|o}return 0}function fe(e,r){e|=0;var t,i=0,n=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0;V=t=V-32|0;e:{r:if(gr(1,t+28|0,r|=0))t:{if(n=f[t+28>>2]){if(Ge(e+60|0,n),f[(i=t+8|0)>>2]=0,f[i+4>>2]=0,a[i+5|0]=0,a[i+6|0]=0,a[i+7|0]=0,a[i+8|0]=0,a[i+9|0]=0,a[i+10|0]=0,a[i+11|0]=0,a[i+12|0]=0,!Ve(i,r))break t;for(;s=1<<o,b=jr(i),c=f[e+60>>2]+(o>>>3&536870908)|0,b?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(o=o+1|0)););}if(!gr(1,t+28|0,r))break r;if(n=f[t+28>>2]){if(o=0,Ge(e+72|0,n),f[(i=t+8|0)>>2]=0,f[i+4>>2]=0,a[i+5|0]=0,a[i+6|0]=0,a[i+7|0]=0,a[i+8|0]=0,a[i+9|0]=0,a[i+10|0]=0,a[i+11|0]=0,a[i+12|0]=0,!Ve(i,r))break t;for(;s=1<<o,b=jr(i),c=f[e+72>>2]+(o>>>3&536870908)|0,b?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(o=o+1|0)););}if(!gr(1,t+28|0,r))break r;if(n=f[t+28>>2]){if(o=0,Ge(e+84|0,n),f[(i=t+8|0)>>2]=0,f[i+4>>2]=0,a[i+5|0]=0,a[i+6|0]=0,a[i+7|0]=0,a[i+8|0]=0,a[i+9|0]=0,a[i+10|0]=0,a[i+11|0]=0,a[i+12|0]=0,!Ve(i,r))break t;for(;s=1<<o,b=jr(i),c=f[e+84>>2]+(o>>>3&536870908)|0,b?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(o=o+1|0)););}if(!gr(1,t+28|0,r))break r;if(n=f[t+28>>2]){if(o=0,Ge(e+96|0,n),f[(i=t+8|0)>>2]=0,f[i+4>>2]=0,a[i+5|0]=0,a[i+6|0]=0,a[i+7|0]=0,a[i+8|0]=0,a[i+9|0]=0,a[i+10|0]=0,a[i+11|0]=0,a[i+12|0]=0,!Ve(i,r))break t;for(;s=1<<o,b=jr(i),c=f[e+96>>2]+(o>>>3&536870908)|0,b?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(o=o+1|0)););}if(o=0,s=n=f[r+12>>2],c=i=f[r+20>>2],i=(l=(b=f[r+16>>2])+4|0)>>>0<4?i+1|0:i,(u=f[r+8>>2])>>>0<l>>>0&(0|i)>=(0|n)|(0|i)>(0|n))break e;if(_=f[r>>2],n=A[0|(n=_+b|0)]|A[n+1|0]<<8|A[n+2|0]<<16|A[n+3|0]<<24,f[r+16>>2]=l,f[r+20>>2]=i,i=c,b=c=b+8|0,c=i=c>>>0<8?i+1|0:i,b>>>0>u>>>0&(0|i)>=(0|s)|(0|i)>(0|s))break e;if(i=A[0|(i=l+_|0)]|A[i+1|0]<<8|A[i+2|0]<<16|A[i+3|0]<<24,f[r+16>>2]=b,f[r+20>>2]=c,(0|i)<(0|n))break e;if(f[e+16>>2]=i,f[e+12>>2]=n,!(r=(i>>31)-((n>>31)+(i>>>0<n>>>0)|0)|0)&(i=i-n|0)>>>0>2147483646|r)break e;if(o=1,r=i+1|0,f[e+20>>2]=r,i=r>>>1|0,f[e+24>>2]=i,f[e+28>>2]=0-i,1&r)break e;f[e+24>>2]=i-1;break e}o=0}return V=t+32|0,0|o}function se(e,r){var t=0,i=0,n=0,a=0,o=0,s=0,c=0,l=0,u=0,_=0,p=0,k=0,d=0;e:if(b[r+38>>1]&&Cr(1,e+12|0,r)){if(a=f[e+12>>2],t=f[e>>2],a>>>0>(i=f[e+4>>2]-t>>2)>>>0?(sr(e,a-i|0),a=f[e+12>>2]):i>>>0<=a>>>0||(f[e+4>>2]=t+(a<<2)),!a)return 1;for(l=f[r+8>>2],c=f[r+12>>2],_=f[e>>2];;){if((0|c)<=(0|(i=f[r+20>>2]))&l>>>0<=(t=f[r+16>>2])>>>0|(0|i)>(0|c))return 0;p=f[r>>2],u=A[p+t|0],i=(t=t+1|0)?i:i+1|0,s=t,f[r+16>>2]=t,f[r+20>>2]=i,t=u>>>2|0,n=0;r:{t:{i:{n:switch(0|(k=3&u)){case 3:break n;case 0:break t;default:break i}if((i=t+o|0)>>>0>=a>>>0)return 0;Je(_+(o<<2)|0,0,4+(252&u)|0),o=i;break r}for(;;){if((0|i)>=(0|c)&s>>>0>=l>>>0|(0|i)>(0|c))break e;if(a=A[s+p|0],i=(s=s+1|0)?i:i+1|0,f[r+16>>2]=s,f[r+20>>2]=i,t|=a<<(n<<3|6),(0|k)==(0|(n=n+1|0)))break}}f[_+(o<<2)>>2]=t}if(!((a=f[e+12>>2])>>>0>(o=o+1|0)>>>0))break}if(i=e+16|0,u=f[e>>2],r=f[e+16>>2],(o=(t=f[e+20>>2]-r|0)>>2)>>>0<=4095?sr(i,4096-o|0):16384!=(0|t)&&(f[e+20>>2]=r+16384),o=f[(r=e+28|0)>>2],(t=f[e+32>>2]-o>>3)>>>0<a>>>0)cr(r,a-t|0),o=f[r>>2];else if(t>>>0>a>>>0&&(f[e+32>>2]=(a<<3)+o),!a)break e;for(n=0,e=0;;){if(c=f[(r=u+(n<<2)|0)>>2],t=e,f[4+(s=(n<<3)+o|0)>>2]=e,f[s>>2]=c,(e=(c=f[r>>2])+e|0)>>>0>4096)break e;if(!(e>>>0<=t>>>0)){if(s=f[i>>2],r=0,l=7&c)for(;f[s+(t<<2)>>2]=n,t=t+1|0,(0|l)!=(0|(r=r+1|0)););if(!(c-1>>>0<=6))for(;f[(r=s+(t<<2)|0)>>2]=n,f[r+28>>2]=n,f[r+24>>2]=n,f[r+20>>2]=n,f[r+16>>2]=n,f[r+12>>2]=n,f[r+8>>2]=n,f[r+4>>2]=n,(0|(t=t+8|0))!=(0|e););}if((0|a)==(0|(n=n+1|0)))break}d=4096==(0|e)}return d}function ce(e,r,t){e|=0,r|=0,t|=0;var i,n=0,a=0,o=0,s=0,c=0,A=0,b=0,l=0;V=i=V-16|0,f[i+8>>2]=t;e:if(!((0|(o=(a=f[e+12>>2])-(n=f[e+8>>2])>>2))>(0|r)))if((c=r+1|0)>>>0>o>>>0){if((o=c-o|0)>>>0<=(s=f[e+16>>2])-(n=f[e+12>>2])>>2>>>0){o&&(n=Je(a=n,0,n=o<<2)+n|0),f[e+12>>2]=n;break e}r:{t:{i:{if((a=(b=n-(c=f[e+8>>2])>>2)+o|0)>>>0<1073741824){if(l=(s=s-c|0)>>1,s=s>>2>>>0<536870911?a>>>0>l>>>0?a:l:1073741823){if(s>>>0>=1073741824)break i;A=_t(s<<2)}if(b=(o=Je(a=(b<<2)+A|0,0,b=o<<2))+b|0,s=(s<<2)+A|0,(0|n)==(0|c))break t;for(;o=f[(n=n-4|0)>>2],f[n>>2]=0,f[(a=a-4|0)>>2]=o,(0|n)!=(0|c););if(f[e+16>>2]=s,o=f[e+12>>2],f[e+12>>2]=b,n=f[e+8>>2],f[e+8>>2]=a,(0|n)==(0|o))break r;for(;a=f[(o=o-4|0)>>2],f[o>>2]=0,a&&Jr(a),(0|n)!=(0|o););break r}oi(),T()}Hr(1326),T()}f[e+16>>2]=s,f[e+12>>2]=b,f[e+8>>2]=o}n&&ee(n)}else if(!(o>>>0<=c>>>0)){if((0|(n=n+(c<<2)|0))!=(0|a)){for(;t=f[(a=a-4|0)>>2],f[a>>2]=0,t&&Jr(t),(0|n)!=(0|a););t=f[i+8>>2]}f[e+12>>2]=n}e:{r:{if(!((0|(n=f[t+56>>2]))>4))if(a=p(n,12)+e|0,(0|(n=f[a+24>>2]))==f[a+28>>2]){if((n=1+(A=(c=n-(o=f[a+20>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(s=c>>1,s=A>>>0<536870911?n>>>0>s>>>0?n:s:1073741823){if(s>>>0>=1073741824)break e;n=_t(s<<2)}else n=0;f[(A=n+(A<<2)|0)>>2]=r,(0|c)>0&&ge(n,o,c),f[a+20>>2]=n,f[a+24>>2]=A+4,f[a+28>>2]=n+(s<<2),o&&ee(o)}else f[n>>2]=r,f[a+24>>2]=n+4;return f[t+60>>2]=r,e=f[e+8>>2],f[i+8>>2]=0,e=f[(r=e+(r<<2)|0)>>2],f[r>>2]=t,e&&Jr(e),e=f[i+8>>2],f[i+8>>2]=0,e&&Jr(e),void(V=i+16|0)}oi(),T()}Hr(1326),T()}function Ae(e,r){e|=0;var t,i=0,n=0,a=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0;if(V=t=V-80|0,Tr(1,t+76|0,r|=0)&&(s=f[t+76>>2])&&!((n=Pr((n=f[r+8>>2])-(i=f[r+16>>2])|0,f[r+12>>2]-(f[r+20>>2]+(i>>>0>n>>>0)|0)|0,5,0))>>>0<s>>>0&(0|(i=D))<=0|(0|i)<0)){for(i=f[e+4>>2],(n=f[e+8>>2]-i>>2)>>>0<s>>>0?sr(e+4|0,s-n|0):n>>>0<=s>>>0||(f[e+8>>2]=i+(s<<2)),y=e+16|0,b=f[e+32>>2],l=1;!((0|(i=a=f[r+12>>2]))<=(0|(n=f[r+20>>2]))&(m=f[r+8>>2])>>>0<=(_=f[r+16>>2])>>>0|(0|i)<(0|n)||(h=f[r>>2],d=A[h+_|0],i=n,i=(o=_+1|0)?i:i+1|0,f[r+16>>2]=o,f[r+20>>2]=i,(0|i)>=(0|a)&o>>>0>=m>>>0|(0|i)>(0|a)||(o=A[o+h|0],i=n,i=(c=_+2|0)>>>0<2?i+1|0:i,f[r+16>>2]=c,f[r+20>>2]=i,(0|i)>=(0|a)&c>>>0>=m>>>0|(0|i)>(0|a)||(c=A[c+h|0],i=n,i=(k=_+3|0)>>>0<3?i+1|0:i,f[r+16>>2]=k,f[r+20>>2]=i,(0|i)>=(0|a)&k>>>0>=m>>>0|(0|i)>(0|a)||(a=A[k+h|0],i=n,i=(n=_+4|0)>>>0<4?i+1|0:i,f[r+16>>2]=n,f[r+20>>2]=i,!c|(o-12&255)>>>0<245|d>>>0>4||(i=$r(t+8|0),k=c<<24>>24,a=0!=(0|a),n=(n=o-1|0)>>>0<=10?f[10180+(n<<2)>>2]:-1,bt(i,d,k,o,a,n=p(n,c),n>>31),!Tr(1,t+4|0,r)||(o=f[t+4>>2],f[t+68>>2]=o,n=Ke(_t(96),i),yi[f[f[b>>2]+8>>2]](b,f[b+12>>2]-f[b+8>>2]>>2,n),n=(f[b+12>>2]-f[b+8>>2]>>2)-1|0,f[f[(d=n<<2)+f[b+8>>2]>>2]+60>>2]=o,f[f[e+4>>2]+(u<<2)>>2]=n,l=f[e+16>>2],(0|(i=f[e+20>>2]-l>>2))>(0|n)||(f[t>>2]=-1,(n=n+1|0)>>>0>i>>>0?(ve(y,n-i|0,t),l=f[y>>2]):i>>>0<=n>>>0||(f[e+20>>2]=(n<<2)+l)),f[l+d>>2]=u,l=(u=u+1|0)>>>0<s>>>0,(0|s)==(0|u)))))))););u=!l}return V=t+80|0,1&u}function be(e,r){var t,i,n=0,a=0,o=0,s=0,c=0,A=0,b=0,l=0,u=0;V=t=V-16|0,f[t>>2]=r,c=-1,-1!=(0|r)?(n=r+1|0,f[t+4>>2]=(n>>>0)%3|0?n:r-2|0,c=(r>>>0)%3|0?r-1|0:r+2|0):f[t+4>>2]=-1,f[t+8>>2]=c,i=-1==(0|r)?-1:(r>>>0)/3|0;e:{r:{t:{i:{for(;;){n:if(-1!=(0|r)&&-1!=(0|(n=f[f[f[e+8>>2]+12>>2]+(r<<2)>>2]))){if(!((n>>>0)/3>>>0<i>>>0)&&(c=0,f[e+220>>2]!=f[e+216>>2]))for(;;){if(jr(f[e+368>>2]+(c<<4)|0))if(s=f[e+216>>2]+p(c,144)|0,(n=f[s+136>>2])>>>0<(a=f[s+140>>2])>>>0)f[n>>2]=r,f[s+136>>2]=n+4;else{if((n=1+(o=(b=n-(A=f[s+132>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(l=o<<2,o=(a=a-A|0)>>1,a=a>>2>>>0<536870911?n>>>0>o>>>0?n:o:1073741823){if(a>>>0>=1073741824)break e;n=_t(a<<2)}else n=0;f[(o=l+n|0)>>2]=r,(0|b)>0&&ge(n,A,b),f[s+132>>2]=n,f[s+136>>2]=o+4,f[s+140>>2]=n+(a<<2),A&&ee(A)}if(!((c=c+1|0)>>>0<(f[e+220>>2]-f[e+216>>2]|0)/144>>>0))break}}else{if(c=0,(0|(n=f[e+216>>2]))==f[e+220>>2])break n;for(;;){if(s=p(c,144)+n|0,(n=f[s+136>>2])>>>0<(a=f[s+140>>2])>>>0)f[n>>2]=r,f[s+136>>2]=n+4;else{if((n=1+(o=(b=n-(A=f[s+132>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(l=o<<2,o=(a=a-A|0)>>1,a=a>>2>>>0<536870911?n>>>0>o>>>0?n:o:1073741823){if(a>>>0>=1073741824)break t;n=_t(a<<2)}else n=0;f[(o=l+n|0)>>2]=r,(0|b)>0&&ge(n,A,b),f[s+132>>2]=n,f[s+136>>2]=o+4,f[s+140>>2]=n+(a<<2),A&&ee(A)}if(c=c+1|0,n=f[e+216>>2],!(c>>>0<(f[e+220>>2]-n|0)/144>>>0))break}}if(3==(0|(u=u+1|0)))break;r=f[(u<<2)+t>>2]}return V=t+16|0,1}oi(),T()}Hr(1326),T()}oi(),T()}Hr(1326),T()}function le(e,r){var t,i=0,n=0,o=0,s=0,c=0,u=0,_=0,k=0,d=0,m=0;V=t=V-16|0,k=-1;e:{r:{t:if(Nr(1,t+12|0,r)){if(n=f[t+12>>2]){if(i=f[e+8>>2],n>>>0>(f[i+4>>2]-f[i>>2]>>2>>>0)/3>>>0)break t;for(;;){if(!Nr(1,t+8|0,r))break t;if(i=f[t+8>>2],!Nr(1,t+8|0,r))break t;if((s=i+s|0)>>>0<(i=f[t+8>>2])>>>0)break t;if(c=s-i|0,(0|(i=f[e+40>>2]))==f[e+44>>2]){if((o=1+(u=(0|(_=(o=i)-(i=f[e+36>>2])|0))/12|0)|0)>>>0>=357913942)break r;if(d=u<<1,(o=u>>>0<178956970?o>>>0>d>>>0?o:d:357913941)>>>0>=357913942)break e;u=(d=_t(o=p(o,12)))+p(u,12)|0,f[u+4>>2]=s,f[u>>2]=c,c=u+p((0|_)/-12|0,12)|0,(0|_)>0&&ge(c,i,_),f[e+44>>2]=o+d,f[e+40>>2]=u+12,f[e+36>>2]=c,i&&ee(i)}else f[i+4>>2]=s,f[i>>2]=c,f[e+40>>2]=i+12;if((0|n)==(0|(m=m+1|0)))break}for(s=0,rt(r,0,0),u=n>>>0>1?n:1;;){n=A[r+36|0];i:{n:{if((65535&((i=b[f[e+4>>2]+36>>1])<<8|i>>>8))>>>0<=513){if(!n)break i;if(c=0,(n=(_=(i=f[r+32>>2])>>>3|0)+(k=f[r+24>>2])|0)>>>0>=(o=f[r+28>>2])>>>0?n=i:(c=A[0|n],n=i+1|0,f[r+32>>2]=n,_=n>>>3|0,c=c>>>(7&i)&1),o>>>0>_+k>>>0)break n;break i}if(!n)break i;if(c=0,n=f[r+32>>2],(i=f[r+24>>2]+(n>>>3|0)|0)>>>0>=l[r+28>>2])break i;c=A[0|i]>>>(7&n)&1}f[r+32>>2]=n+1}if(n=f[e+36>>2]+p(s,12)|0,a[n+8|0]=254&A[n+8|0]|1&c,(0|u)==(0|(s=s+1|0)))break}a[r+36|0]=0,i=f[r+20>>2],e=0,n=(s=(e=(n=f[r+32>>2]+7|0)>>>0<7?1:e)<<29|n>>>3)+f[r+16>>2]|0,e=(e>>>3|0)+i|0,f[r+16>>2]=n,f[r+20>>2]=n>>>0<s>>>0?e+1|0:e}k=f[r+16>>2]}return V=t+16|0,k}oi(),T()}Hr(1326),T()}function ue(e,r,t){var i=0,n=0,a=0,o=0,s=0,c=0,A=0,b=0,l=0;if(((n=f[e+8>>2])-(o=f[e+4>>2])|0)/12>>>0>=r>>>0){if(r){if(i=o,a=1+(((n=p(r,12)-12|0)>>>0)/12|0)&3)for(;A=f[t+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=A,f[i+8>>2]=f[t+8>>2],i=i+12|0,(0|a)!=(0|(s=s+1|0)););if(o=p(r,12)+o|0,!(n>>>0<36))for(;r=f[t+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=r,f[i+8>>2]=f[t+8>>2],f[i+20>>2]=f[t+8>>2],r=f[t+4>>2],f[i+12>>2]=f[t>>2],f[i+16>>2]=r,f[i+32>>2]=f[t+8>>2],r=f[t+4>>2],f[i+24>>2]=f[t>>2],f[i+28>>2]=r,r=f[t+4>>2],f[i+36>>2]=f[t>>2],f[i+40>>2]=r,f[i+44>>2]=f[t+8>>2],(0|o)!=(0|(i=i+48|0)););}f[e+4>>2]=o}else{e:{if((i=(c=(o-(a=f[e>>2])|0)/12|0)+r|0)>>>0<357913942){if(a=(n=(n-a|0)/12|0)<<1,a=n>>>0<178956970?i>>>0>a>>>0?i:a:357913941){if(a>>>0>=357913942)break e;A=_t(p(a,12))}if(i=n=p(c,12)+A|0,b=1+(((c=(r=p(r,12))-12|0)>>>0)/12|0)&3)for(i=n;l=f[t+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=l,f[i+8>>2]=f[t+8>>2],i=i+12|0,(0|b)!=(0|(s=s+1|0)););if(s=r+n|0,c>>>0>=36)for(;r=f[t+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=r,f[i+8>>2]=f[t+8>>2],f[i+20>>2]=f[t+8>>2],r=f[t+4>>2],f[i+12>>2]=f[t>>2],f[i+16>>2]=r,f[i+32>>2]=f[t+8>>2],r=f[t+4>>2],f[i+24>>2]=f[t>>2],f[i+28>>2]=r,r=f[t+4>>2],f[i+36>>2]=f[t>>2],f[i+40>>2]=r,f[i+44>>2]=f[t+8>>2],(0|s)!=(0|(i=i+48|0)););return r=f[e>>2],i=n+p((0|(t=o-r|0))/-12|0,12)|0,(0|t)>0&&ge(i,r,t),f[e+8>>2]=p(a,12)+A,f[e+4>>2]=s,f[e>>2]=i,void(r&&ee(r))}oi(),T()}Hr(1326),T()}}function _e(e,r,t,i){var n,a,o=0,s=0,c=0,A=0,b=0,l=0;if(n=f[r+16>>2],o=c=f[t+4>>2]-n|0,s=f[t>>2]-n|0,f[t>>2]=s,f[t+4>>2]=o,a=(0|(l=f[r+16>>2]))>=((A=(o>>=31)+c^o)+((o=s>>31)+s^o)|0))o=c;else{e:{r:{if((0|s)>=0){if(b=1,A=1,(0|c)>=0)break e;if(o=1,b=-1,A=-1,s)break r;break e}if(o=-1,b=-1,A=-1,(0|c)<=0)break e}b=(0|c)<=0?-1:1,A=o}o=(o=s<<1)-(s=p(A,l))|0,o=(((A=(0|p(b,A))>=0)?0-o|0:o)+(b=p(b,l))|0)/2|0,f[t+4>>2]=o,l=s,s=(c<<1)-b|0,s=(l+(A?0-s|0:s)|0)/2|0,f[t>>2]=s}e:{r:{t:{i:{n:{a:{o:{if(s){if((0|s)<0)break o;if((0|o)>=0)break a;break t}if(o)break n;b=1,c=0,o=0,A=0;break e}if(b=1,(0|o)>0)break i;A=(0|o)>0?253:0,c=o,o=s;break e}c=0-o|0,o=0-s|0,A=254;break r}if((0|o)<=0)break t}o=0-o|0,c=s,A=253;break r}c=0-s|0,A=255}f[t>>2]=o,f[t+4>>2]=c,b=0}t=f[i+4>>2]+c|0,(0|(s=f[i>>2]+o|0))>(0|(c=f[r+16>>2]))?s=s-f[r+4>>2]|0:(0-c|0)<=(0|s)||(s=f[r+4>>2]+s|0),(0|t)>(0|c)?t=t-f[r+4>>2]|0:(0-c|0)<=(0|t)||(t=f[r+4>>2]+t|0);e:if(b)r=t;else{r=t;r:switch((3&A)-1|0){case 0:r=0-s|0,s=t;break e;case 1:r=0-t|0,s=0-s|0;break e;case 2:break r;default:break e}r=s,s=0-t|0}if(a)t=r;else{e:{r:{if((0|s)>=0){if(t=1,o=1,(0|r)>=0)break e;if(i=1,t=-1,o=-1,s)break r;break e}if(i=-1,t=-1,o=-1,(0|r)<=0)break e}t=(0|r)<=0?-1:1,o=i}i=(i=s<<1)-(s=p(o,c))|0,f[e>>2]=i,l=0-i|0,A=i,t=(((i=(0|p(t,o))>=0)?l:A)+(o=p(t,c))|0)/2|0,r=(r<<1)-o|0,s=(s+(i?0-r|0:r)|0)/2|0}f[e>>2]=s+n,f[e+4>>2]=t+n}function pe(e,r,t,i){var n=0,o=0,s=0,c=0,b=0,l=0;if(!((0|(c=i-t|0))<=0)){e:{if((0|c)<=((o=f[e+8>>2])-(b=f[e+4>>2])|0)){if((0|(l=b-r|0))>=(0|c)){s=b,o=i;break e}if(s=b,(0|(o=t+l|0))!=(0|i))for(n=o;a[0|s]=A[0|n],s=s+1|0,(0|(n=n+1|0))!=(0|i););if(f[e+4>>2]=s,(0|l)>0)break e;return}if((0|(i=c+(b-(n=f[e>>2])|0)|0))>=0){if(l=(o=o-n|0)<<1,t=ge((s=r-n|0)+(i=(o=o>>>0<1073741823?i>>>0>l>>>0?i:l:2147483647)?_t(o):0)|0,t,c),(0|s)>0&&ge(i,n,s),t=t+c|0,(0|r)!=(0|b)){if(s=(-1^r)+b|0,c=b-r&7)for(n=0;a[0|t]=A[0|r],t=t+1|0,r=r+1|0,(0|c)!=(0|(n=n+1|0)););if(s>>>0>=7)for(;a[0|t]=A[0|r],a[t+1|0]=A[r+1|0],a[t+2|0]=A[r+2|0],a[t+3|0]=A[r+3|0],a[t+4|0]=A[r+4|0],a[t+5|0]=A[r+5|0],a[t+6|0]=A[r+6|0],a[t+7|0]=A[r+7|0],t=t+8|0,(0|b)!=(0|(r=r+8|0)););n=f[e>>2]}return f[e+8>>2]=i+o,f[e+4>>2]=t,f[e>>2]=i,void(n&&ee(n))}oi(),T()}if(b>>>0>(i=(n=s)-c|0)>>>0)for(;a[0|n]=A[0|i],n=n+1|0,b>>>0>(i=i+1|0)>>>0;);if(f[e+4>>2]=n,(e=s-(r+c|0)|0)&&Se(s-e|0,r,e),(0|t)!=(0|o)){if(e=(-1^t)+o|0,s=o-t&7)for(i=0,n=r;a[0|n]=A[0|t],n=n+1|0,t=t+1|0,(0|s)!=(0|(i=i+1|0)););else n=r;if(!(e>>>0<7))for(;a[0|n]=A[0|t],a[n+1|0]=A[t+1|0],a[n+2|0]=A[t+2|0],a[n+3|0]=A[t+3|0],a[n+4|0]=A[t+4|0],a[n+5|0]=A[t+5|0],a[n+6|0]=A[t+6|0],a[n+7|0]=A[t+7|0],n=n+8|0,(0|o)!=(0|(t=t+8|0)););}}}function ke(e,r,t,i){e|=0,t|=0,i|=0;var n,o=0,s=0,c=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0;V=n=V-16|0,b=f[80+(r|=0)>>2],e=a[t+24|0],o=p(b,e);e:{r:{if(!(5==(0|(r=f[t+28>>2]))|6==(0|r))|!A[t+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break r;c=_t(r=e<<2),f[n>>2]=c,s=r+c|0,f[n+8>>2]=s,Je(c,0,r),f[n+4>>2]=s}s=f[i>>2],(r=f[i+4>>2]-s>>2)>>>0<o>>>0?sr(i,o-r|0):r>>>0<=o>>>0||(f[i+4>>2]=s+(o<<2));t:if(b)if(e){for(h=-4&e,d=3&e,y=e-1>>>0<3,r=1,o=0;;){if(P(t,A[t+84|0]?o:f[f[t+68>>2]+(o<<2)>>2],a[t+24|0],c)){if(m=f[i>>2],k=0,s=f[n>>2],e=0,r=0,!y)for(;_=e<<2,f[(u=(l<<2)+m|0)>>2]=f[s+_>>2],f[u+4>>2]=f[s+(4|_)>>2],f[u+8>>2]=f[s+(8|_)>>2],f[u+12>>2]=f[s+(12|_)>>2],e=e+4|0,l=l+4|0,(0|h)!=(0|(r=r+4|0)););if(d)for(;f[(l<<2)+m>>2]=f[s+(e<<2)>>2],e=e+1|0,l=l+1|0,(0|(k=k+1|0))!=(0|d););if(r=b>>>0>(o=o+1|0)>>>0,(0|o)!=(0|b))continue}break}c=f[n>>2]}else for(e=0,r=1;;){if(!P(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],a[t+24|0],c))break t;if(r=b>>>0>(e=e+1|0)>>>0,(0|e)==(0|b))break}else r=0;c&&ee(c),e=1^r}else{if(c=f[t+48>>2],b=f[f[t>>2]>>2],r=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,t=0,e=o<<2){if((0|e)<0)break r;l=(r=ge(t=_t(e),c+b|0,e))+e|0,r=r+(e>>2<<2)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=l,f[i>>2]=t,e=1}V=n+16|0,e&=1;break e}oi(),T()}return 0|e}function de(e){var r,t=0,i=0,n=0,a=0;if(f[(e|=0)>>2]=8364,(t=f[196+(r=e+232|0)>>2])&&(f[r+200>>2]=t,ee(t)),i=f[r+184>>2]){if((0|i)==(0|(t=f[r+188>>2])))t=i;else{for(;(a=f[(n=t-12|0)>>2])&&(f[t-8>>2]=a,ee(a)),(0|i)!=(0|(t=n)););t=f[r+184>>2]}f[r+188>>2]=i,ee(t)}if((t=f[r+156>>2])&&(f[r+160>>2]=t,ee(t)),i=f[r+136>>2],f[r+136>>2]=0,i){if(t=f[(n=i-4|0)>>2])for(t=i+(t<<4)|0;(0|i)!=(0|(t=t-16|0)););ee(n)}if(i=f[e+216>>2]){if((0|i)==(0|(t=f[e+220>>2])))t=i;else{for(;(n=f[t-12>>2])&&(f[t-8>>2]=n,ee(n)),(n=f[t-28>>2])&&(f[t-24>>2]=n,ee(n)),(n=f[t-40>>2])&&(f[t-36>>2]=n,ee(n)),Zr(t-140|0),(0|i)!=(0|(t=t-144|0)););t=f[e+216>>2]}f[e+220>>2]=i,ee(t)}if((t=f[e+196>>2])&&(f[e+200>>2]=t,ee(t)),(t=f[e+184>>2])&&(f[e+188>>2]=t,ee(t)),(t=f[e+172>>2])&&(f[e+176>>2]=t,ee(t)),(t=f[e+160>>2])&&(f[e+164>>2]=t,ee(t)),t=f[e+144>>2])for(;i=f[t>>2],ee(t),t=i;);return t=f[e+136>>2],f[e+136>>2]=0,t&&ee(t),(t=f[e+120>>2])&&ee(t),(t=f[e+108>>2])&&ee(t),(t=f[e+96>>2])&&ee(t),(t=f[e+72>>2])&&(f[e+76>>2]=t,ee(t)),(t=f[e+60>>2])&&ee(t),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),(t=f[e+36>>2])&&(f[e+40>>2]=t,ee(t)),(t=f[e+24>>2])&&(f[e+28>>2]=t,ee(t)),(t=f[e+12>>2])&&(f[e+16>>2]=t,ee(t)),t=f[e+8>>2],f[e+8>>2]=0,t&&Br(t),0|e}function me(e,r){e|=0;var t,i=0,n=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0;if(V=t=V-16|0,i=f[20+(r|=0)>>2],i=(c=(n=f[r+16>>2])+4|0)>>>0<4?i+1|0:i,!((0|(o=f[r+12>>2]))<=(0|i)&c>>>0>l[r+8>>2]|(0|i)>(0|o))&&(n=n+f[r>>2]|0,n=A[0|n]|A[n+1|0]<<8|A[n+2|0]<<16|A[n+3|0]<<24,f[r+16>>2]=c,f[r+20>>2]=i,!((0|n)<0)&&(Ge(e+76|0,n),f[(i=t)>>2]=0,f[i+4>>2]=0,a[i+5|0]=0,a[i+6|0]=0,a[i+7|0]=0,a[i+8|0]=0,a[i+9|0]=0,a[i+10|0]=0,a[i+11|0]=0,a[i+12|0]=0,Ve(i,r)))){if(n)for(o=1;s=1<<b,u=jr(i),c=f[e+76>>2]+(b>>>3&536870908)|0,1&(o^=u)?s=f[c>>2]&(-1^s):s|=f[c>>2],o^=1,f[c>>2]=s,(0|n)!=(0|(b=b+1|0)););b=0,c=n=f[r+12>>2],o=i=f[r+20>>2],i=(u=(s=f[r+16>>2])+4|0)>>>0<4?i+1|0:i,(_=f[r+8>>2])>>>0<u>>>0&(0|i)>=(0|n)|(0|i)>(0|n)||(p=f[r>>2],n=A[0|(n=p+s|0)]|A[n+1|0]<<8|A[n+2|0]<<16|A[n+3|0]<<24,f[r+16>>2]=u,f[r+20>>2]=i,i=o,s=o=s+8|0,o=i=o>>>0<8?i+1|0:i,s>>>0>_>>>0&(0|i)>=(0|c)|(0|i)>(0|c)||(i=A[0|(i=u+p|0)]|A[i+1|0]<<8|A[i+2|0]<<16|A[i+3|0]<<24,f[r+16>>2]=s,f[r+20>>2]=o,(0|i)<(0|n)||(f[e+16>>2]=i,f[e+12>>2]=n,!(r=(i>>31)-((n>>31)+(i>>>0<n>>>0)|0)|0)&(i=i-n|0)>>>0>2147483646|r||(b=1,r=i+1|0,f[e+20>>2]=r,i=r>>>1|0,f[e+24>>2]=i,f[e+28>>2]=0-i,1&r||(f[e+24>>2]=i-1)))))}return V=t+16|0,0|b}function he(e,r){var t=0,i=0,n=0,a=0,o=0;a=-1,i=-1,-1!=(0|r)&&(a=((i=r+1|0)>>>0)%3|0?i:r-2|0,i=r-1|0,(r>>>0)%3|0||(i=r+2|0));e:{r:{t:switch(f[e+168>>2]){case 0:case 1:n=f[e+148>>2],t=1,o=(r=f[e+156>>2])+((-1!=(0|a)?f[f[n>>2]+(a<<2)>>2]:-1)<<2)|0,f[o>>2]=f[o>>2]+1,r=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+r|0;break r;case 5:n=f[e+148>>2],t=-1,t=(-1!=(0|r)?f[f[n>>2]+(r<<2)>>2]:t)<<2,r=f[e+156>>2],f[(t=t+r|0)>>2]=f[t>>2]+1,t=((-1!=(0|a)?f[f[n>>2]+(a<<2)>>2]:-1)<<2)+r|0,f[t>>2]=f[t>>2]+1,t=2,r=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+r|0;break r;case 3:n=f[e+148>>2],t=-1,t=(-1!=(0|r)?f[f[n>>2]+(r<<2)>>2]:t)<<2,r=f[e+156>>2],f[(t=t+r|0)>>2]=f[t>>2]+1,t=((-1!=(0|a)?f[f[n>>2]+(a<<2)>>2]:-1)<<2)+r|0,f[t>>2]=f[t>>2]+2,t=1,r=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+r|0;break r;case 7:break t;default:break e}n=f[e+148>>2],t=-1,t=(-1!=(0|r)?f[f[n>>2]+(r<<2)>>2]:t)<<2,r=f[e+156>>2],f[(t=t+r|0)>>2]=f[t>>2]+2,t=((-1!=(0|a)?f[f[n>>2]+(a<<2)>>2]:-1)<<2)+r|0,f[t>>2]=f[t>>2]+2,t=2,r=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+r|0}f[r>>2]=f[r>>2]+t}t=e,i=f[e+180>>2],r=f[f[e+156>>2]+((-1!=(0|a)?f[f[f[e+148>>2]>>2]+(a<<2)>>2]:-1)<<2)>>2],e=f[e+176>>2],f[t+172>>2]=(0|e)>(0|r)?0:((0|r)>(0|i)?i:r)-e|0}function ye(e,r,t){var i=0,n=0,a=0,o=0,s=0,c=0,A=0,b=0;if((i=f[e+8>>2])-(n=f[e>>2])>>2>>>0>=r>>>0){if(a=r>>>0>(s=(o=f[e+4>>2])-n>>2)>>>0?s:r){if(b=a-1|0,c=7&a)for(i=n;f[i>>2]=f[t>>2],a=a-1|0,i=i+4|0,(0|(A=A+1|0))!=(0|c););else i=n;if(!(b>>>0<7))for(;f[i>>2]=f[t>>2],f[i+4>>2]=f[t>>2],f[i+8>>2]=f[t>>2],f[i+12>>2]=f[t>>2],f[i+16>>2]=f[t>>2],f[i+20>>2]=f[t>>2],f[i+24>>2]=f[t>>2],f[i+28>>2]=f[t>>2],i=i+32|0,a=a-8|0;);}if(r>>>0>s>>>0){if(i=e,e=r-s|0)for(e=(e<<2)+o|0;f[o>>2]=f[t>>2],(0|e)!=(0|(o=o+4|0)););else e=o;return void(f[i+4>>2]=e)}f[e+4>>2]=n+(r<<2)}else if(n&&(f[e+4>>2]=n,ee(n),f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,i=0),r>>>0>=1073741824||(n=i>>1,(i=i>>2>>>0<536870911?r>>>0>n>>>0?r:n:1073741823)>>>0>=1073741824))oi(),T();else{if(n=_t(i<<=2),f[e>>2]=n,f[e+8>>2]=i+n,t=f[t>>2],i=n,s=1+((o=(r<<=2)-4|0)>>>2|0)&7)for(;f[i>>2]=t,i=i+4|0,(0|s)!=(0|(a=a+1|0)););if(r=r+n|0,o>>>0>=28)for(;f[i+28>>2]=t,f[i+24>>2]=t,f[i+20>>2]=t,f[i+16>>2]=t,f[i+12>>2]=t,f[i+8>>2]=t,f[i+4>>2]=t,f[i>>2]=t,(0|r)!=(0|(i=i+32|0)););f[e+4>>2]=r}}function ve(e,r,t){var i=0,n=0,a=0,o=0,s=0,c=0,A=0,b=0,l=0;if((a=f[e+8>>2])-(n=f[e+4>>2])>>2>>>0>=r>>>0){if(r){if(i=n,s=1+((o=(r<<2)-4|0)>>>2|0)&7)for(;f[i>>2]=f[t>>2],i=i+4|0,(0|s)!=(0|(c=c+1|0)););if(n=(r<<2)+n|0,!(o>>>0<28))for(;f[i>>2]=f[t>>2],f[i+4>>2]=f[t>>2],f[i+8>>2]=f[t>>2],f[i+12>>2]=f[t>>2],f[i+16>>2]=f[t>>2],f[i+20>>2]=f[t>>2],f[i+24>>2]=f[t>>2],f[i+28>>2]=f[t>>2],(0|n)!=(0|(i=i+32|0)););}f[e+4>>2]=n}else{e:{if((i=(n=(b=n-(o=f[e>>2])|0)>>2)+r|0)>>>0<1073741824){if(A=(a=a-o|0)>>1,a=a>>2>>>0<536870911?i>>>0>A>>>0?i:A:1073741823){if(a>>>0>=1073741824)break e;s=_t(a<<2)}if(i=n=(n<<2)+s|0,l=1+((A=(r<<=2)-4|0)>>>2|0)&7)for(i=n;f[i>>2]=f[t>>2],i=i+4|0,(0|l)!=(0|(c=c+1|0)););if(r=r+n|0,A>>>0>=28)for(;f[i>>2]=f[t>>2],f[i+4>>2]=f[t>>2],f[i+8>>2]=f[t>>2],f[i+12>>2]=f[t>>2],f[i+16>>2]=f[t>>2],f[i+20>>2]=f[t>>2],f[i+24>>2]=f[t>>2],f[i+28>>2]=f[t>>2],(0|r)!=(0|(i=i+32|0)););return(0|b)>0&&ge(s,o,b),f[e+8>>2]=(a<<2)+s,f[e+4>>2]=r,f[e>>2]=s,void(o&&ee(o))}oi(),T()}Hr(1326),T()}}function ge(e,r,t){var i,n=0,o=0;if(t>>>0>=512)return E(0|e,0|r,0|t),e;i=e+t|0;e:if(3&(e^r))if(i>>>0<4)t=e;else if((n=i-4|0)>>>0<e>>>0)t=e;else for(t=e;a[0|t]=A[0|r],a[t+1|0]=A[r+1|0],a[t+2|0]=A[r+2|0],a[t+3|0]=A[r+3|0],r=r+4|0,n>>>0>=(t=t+4|0)>>>0;);else{r:if(3&e)if(t)for(t=e;;){if(a[0|t]=A[0|r],r=r+1|0,!(3&(t=t+1|0)))break r;if(!(t>>>0<i>>>0))break}else t=e;else t=e;if(!((n=-4&i)>>>0<64||(o=n+-64|0)>>>0<t>>>0))for(;f[t>>2]=f[r>>2],f[t+4>>2]=f[r+4>>2],f[t+8>>2]=f[r+8>>2],f[t+12>>2]=f[r+12>>2],f[t+16>>2]=f[r+16>>2],f[t+20>>2]=f[r+20>>2],f[t+24>>2]=f[r+24>>2],f[t+28>>2]=f[r+28>>2],f[t+32>>2]=f[r+32>>2],f[t+36>>2]=f[r+36>>2],f[t+40>>2]=f[r+40>>2],f[t+44>>2]=f[r+44>>2],f[t+48>>2]=f[r+48>>2],f[t+52>>2]=f[r+52>>2],f[t+56>>2]=f[r+56>>2],f[t+60>>2]=f[r+60>>2],r=r- -64|0,o>>>0>=(t=t- -64|0)>>>0;);if(t>>>0>=n>>>0)break e;for(;f[t>>2]=f[r>>2],r=r+4|0,n>>>0>(t=t+4|0)>>>0;);}if(t>>>0<i>>>0)for(;a[0|t]=A[0|r],r=r+1|0,(0|i)!=(0|(t=t+1|0)););return e}function we(e){var r,t=0,i=0,n=0;if(f[(e|=0)>>2]=8312,r=f[e+368>>2],f[e+368>>2]=0,r){if(t=f[(n=r-4|0)>>2])for(i=(t<<4)+r|0;(0|r)!=(0|(i=i-16|0)););ee(n)}if(n=f[e+216>>2]){if((0|n)==(0|(i=f[e+220>>2])))t=n;else{for(;(t=f[i-12>>2])&&(f[i-8>>2]=t,ee(t)),(t=f[i-28>>2])&&(f[i-24>>2]=t,ee(t)),(t=f[i-40>>2])&&(f[i-36>>2]=t,ee(t)),Zr(i-140|0),(0|n)!=(0|(i=i-144|0)););t=f[e+216>>2]}f[e+220>>2]=n,ee(t)}if((t=f[e+196>>2])&&(f[e+200>>2]=t,ee(t)),(t=f[e+184>>2])&&(f[e+188>>2]=t,ee(t)),(t=f[e+172>>2])&&(f[e+176>>2]=t,ee(t)),(t=f[e+160>>2])&&(f[e+164>>2]=t,ee(t)),i=f[e+144>>2])for(;t=f[i>>2],ee(i),i=t,t;);return t=f[e+136>>2],f[e+136>>2]=0,t&&ee(t),(t=f[e+120>>2])&&ee(t),(t=f[e+108>>2])&&ee(t),(t=f[e+96>>2])&&ee(t),(t=f[e+72>>2])&&(f[e+76>>2]=t,ee(t)),(t=f[e+60>>2])&&ee(t),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),(t=f[e+36>>2])&&(f[e+40>>2]=t,ee(t)),(t=f[e+24>>2])&&(f[e+28>>2]=t,ee(t)),(t=f[e+12>>2])&&(f[e+16>>2]=t,ee(t)),t=f[e+8>>2],f[e+8>>2]=0,t&&Br(t),0|e}function Te(e,r,t,i){var n,a=0,o=0,f=0,s=0,c=0,A=0,b=0,l=0;n=t;e:{r:{t:{i:{n:{a:{o:{f:{s:{c:{A:{if(r){if(!n)break A;if(!i)break c;if((t=m(i)-m(r)|0)>>>0<=31)break s;break t}if(1==(0|i)|i>>>0>1)break t;e=(e>>>0)/(n>>>0)|0,D=0;break e}if(!e)break f;if(!i)break o;if(i-1&i)break o;e=r>>>It(i)|0,D=0;break e}if(!(n-1&n))break a;a=0-(f=(m(n)+33|0)-m(r)|0)|0;break i}f=t+1|0,a=63-t|0;break i}e=(r>>>0)/(i>>>0)|0,D=0;break e}if((t=m(i)-m(r)|0)>>>0<31)break n;break t}if(1==(0|n))break r;i=31&(t=It(n)),(63&t)>>>0>=32?(t=0,e=r>>>i|0):(t=r>>>i|0,e=((1<<i)-1&r)<<32-i|e>>>i),D=t;break e}f=t+1|0,a=63-t|0}if(o=31&(t=63&f),t>>>0>=32?(t=0,c=r>>>o|0):(t=r>>>o|0,c=((1<<o)-1&r)<<32-o|e>>>o),o=t,a=31&(t=63&a),t>>>0>=32?(t=e<<a,e=0):(t=(1<<a)-1&e>>>32-a|r<<a,e<<=a),r=t,f)for(t=i-1|0,b=-1!=(0|(a=n-1|0))?t+1|0:t;c=(t=c<<1|r>>>31)-(A=n&(s=b-((o=o<<1|c>>>31)+(t>>>0>a>>>0)|0)>>31))|0,o=o-((i&s)+(t>>>0<A>>>0)|0)|0,r=r<<1|e>>>31,e=l|e<<1,l=s&=1,f=f-1|0;);D=r<<1|e>>>31,e=s|e<<1;break e}e=0,r=0}D=r}return e}function Ce(e,r){var t=0,i=0,n=0;t=(0|e)==(0|r),a[r+12|0]=t;e:if(!t)for(;;){if(i=f[r+8>>2],A[i+12|0])break e;r:{if(t=f[i+8>>2],(0|i)!=(0|(n=f[t>>2]))){if(!(A[n+12|0]|!n))break r;f[i>>2]==(0|r)?(e=f[r+4>>2],f[i>>2]=e,e&&(f[e+8>>2]=i,t=f[i+8>>2]),f[r+8>>2]=t,e=f[i+8>>2],f[(((0|i)!=f[e>>2])<<2)+e>>2]=r,f[r+4>>2]=i,f[i+8>>2]=r,t=f[r+8>>2]):r=i,a[r+12|0]=1,a[t+12|0]=0,e=f[t+4>>2],r=f[e>>2],f[t+4>>2]=r,r&&(f[r+8>>2]=t),f[e+8>>2]=f[t+8>>2],r=f[t+8>>2],f[((f[r>>2]!=(0|t))<<2)+r>>2]=e,f[e>>2]=t,r=t+8|0}else{if(!(!(n=f[t+4>>2])|A[n+12|0]))break r;f[i>>2]!=(0|r)?(r=f[i+4>>2],e=f[r>>2],f[i+4>>2]=e,e&&(f[e+8>>2]=i,t=f[i+8>>2]),f[r+8>>2]=t,e=f[i+8>>2],f[(((0|i)!=f[e>>2])<<2)+e>>2]=r,f[r>>2]=i,f[i+8>>2]=r,t=f[r+8>>2]):r=i,a[r+12|0]=1,a[t+12|0]=0,e=f[t>>2],r=f[e+4>>2],f[t>>2]=r,r&&(f[r+8>>2]=t),f[e+8>>2]=f[t+8>>2],r=f[t+8>>2],f[((f[r>>2]!=(0|t))<<2)+r>>2]=e,f[e+4>>2]=t,r=t+8|0}f[r>>2]=e;break e}if(a[i+12|0]=1,i=(0|e)==(0|t),a[t+12|0]=i,a[n+12|0]=1,r=t,i)break}}function Ee(e,r,t){e|=0,r|=0,t|=0;var i,n=0,o=0,s=0,c=0,A=0,b=k(0),l=0,_=0,p=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,T=0;if(V=i=V-16|0,9==f[t+28>>2]){n=f[e+4>>2],o=(c=a[t+24|0])<<2,s=_t((1073741823&c)!=(0|c)?-1:o),f[(_=i+8|0)>>2]=1065353216,b=u[e+20>>2],(0|(n=-1<<n^-1))>0&&(u[_>>2]=b/k(0|n));e:if((m=(0|n)>0)&&(l=f[t+80>>2]))if(n=0,(0|c)<=0){if(1!=(0|l))for(e=-2&l,r=0;ge(f[f[t+64>>2]>>2]+n|0,s,o),ge((n=n+o|0)+f[f[t+64>>2]>>2]|0,s,o),n=n+o|0,(0|e)!=(0|(r=r+2|0)););if(!(1&l))break e;ge(f[f[t+64>>2]>>2]+n|0,s,o)}else for(h=f[f[r>>2]>>2]+f[r+48>>2]|0,w=-2&c,T=1&c;;){if(p=f[e+8>>2],b=u[_>>2],r=0,d=0,1!=(0|c))for(;y=(n<<2)+h|0,u[(A=r<<2)+s>>2]=k(b*k(f[y>>2]))+u[A+p>>2],u[(A|=4)+s>>2]=k(b*k(f[y+4>>2]))+u[A+p>>2],r=r+2|0,n=n+2|0,(0|w)!=(0|(d=d+2|0)););if(T&&(u[(r<<=2)+s>>2]=k(b*k(f[(n<<2)+h>>2]))+u[r+p>>2],n=n+1|0),ge(f[f[t+64>>2]>>2]+v|0,s,o),v=o+v|0,(0|(g=g+1|0))==(0|l))break}ee(s)}return V=i+16|0,0|m}function Ne(e,r,t){var i=0,n=0,a=0,o=0,s=0,c=0,A=0;i=(t>>>0)/3|0,o=f[(f[f[e+8>>2]+96>>2]+p(i,12)|0)+(t-p(i,3)<<2)>>2],n=f[f[e+12>>2]+4>>2];e:if((0|(i=f[n+4>>2]))==f[n+8>>2]){r:{if((i=1+(A=(c=i-(s=f[n>>2])|0)>>2)|0)>>>0<1073741824){if(a=c>>1,a=A>>>0<536870911?i>>>0>a>>>0?i:a:1073741823){if(a>>>0>=1073741824)break r;i=_t(a<<2)}else i=0;f[(A=i+(A<<2)|0)>>2]=o,(0|c)>0&&ge(i,s,c),f[n+8>>2]=i+(a<<2),f[n+4>>2]=A+4,f[n>>2]=i,s&&ee(s);break e}oi(),T()}Hr(1326),T()}else f[i>>2]=o,f[n+4>>2]=i+4;n=f[e+4>>2];e:{r:{if((0|(i=f[n+4>>2]))==f[n+8>>2]){if((i=1+(o=(c=i-(s=f[n>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(a=c>>1,a=o>>>0<536870911?i>>>0>a>>>0?i:a:1073741823){if(a>>>0>=1073741824)break e;i=_t(a<<2)}else i=0;f[(o=i+(o<<2)|0)>>2]=t,(0|c)>0&&ge(i,s,c),f[n+8>>2]=i+(a<<2),f[n+4>>2]=o+4,f[n>>2]=i,s&&ee(s)}else f[i>>2]=t,f[n+4>>2]=i+4;return e=f[e+4>>2],f[f[e+12>>2]+(r<<2)>>2]=f[e+24>>2],void(f[e+24>>2]=f[e+24>>2]+1)}oi(),T()}Hr(1326),T()}function Ge(e,r){var t,i=0,n=0,a=0,o=0,s=0,c=0;V=t=V-16|0;e:{r:if((n=f[e+4>>2])>>>0<r>>>0){if((a=r-n|0)>>>0>(i=(s=f[e+8>>2])<<5)>>>0|n>>>0>i-a>>>0){if(f[t+8>>2]=0,f[t>>2]=0,f[t+4>>2]=0,(0|r)<0)break e;i>>>0<=1073741822?(i=r+31&-32,r=(r=s<<6)>>>0<i>>>0?i:r):r=2147483647,or(t,r),n=f[e+4>>2],f[t+4>>2]=n+a,c=f[e>>2],r=f[t>>2],(0|n)<=0||(r=Se(r,c,s=(i=n>>>5|0)<<2)+s|0,(0|(o=n-(i<<5)|0))<=0?o=0:(i=-1>>>32-o|0,f[r>>2]=f[r>>2]&(-1^i)|i&f[c+s>>2]),c=f[e>>2]),f[e>>2]=f[t>>2],f[t>>2]=c,i=f[e+4>>2],f[e+4>>2]=f[t+4>>2],f[t+4>>2]=i,i=f[e+8>>2],f[e+8>>2]=f[t+8>>2],f[t+8>>2]=i,c&&ee(c)}else f[e+4>>2]=r,o=31&n,r=f[e>>2]+(n>>>3&536870908)|0;if(!a)break r;if(o&&(e=(i=32-o|0)>>>0>a>>>0?a:i,f[r>>2]=f[r>>2]&(-1<<o&-1>>>i-e^-1),a=a-e|0,r=r+4|0),e=Je(r,0,i=a>>>5<<2),!(r=31&a))break r;f[(e=e+i|0)>>2]=f[e>>2]&(-1>>>32-r^-1)}else f[e+4>>2]=r;return void(V=t+16|0)}oi(),T()}function Re(e,r){var t=0,i=0,n=0,o=0,s=0,c=0,b=0,u=0;if((i=A[e+11|0]>>>7|0?f[e+4>>2]:A[e+11|0])>>>0<r>>>0)return V=c=V-16|0,(o=r-i|0)&&(b=(s=(r=A[e+11|0]>>>7|0)?f[e+4>>2]:A[e+11|0])+o|0,(r=r?(2147483647&f[e+8>>2])-1|0:10)-s>>>0<o>>>0&&(V=i=V-16|0,(t=b-r|0)>>>0<=-17-r>>>0?(u=A[e+11|0]>>>7|0?f[e>>2]:e,r>>>0<2147483623?(f[i+8>>2]=r<<1,f[i+12>>2]=r+t,V=t=V-16|0,V=t+16|0,t=i+8|0,t=(t=f[(l[(n=i+12|0)>>2]<l[t>>2]?t:n)>>2])>>>0>=11?11==(0|(t=(n=t+16&-16)-1|0))?n:t:10):t=-18,t=_t(n=t+1|0),s&&qt(t,u,s),10!=(0|r)&&ee(u),f[e>>2]=t,f[e+8>>2]=-2147483648|n,V=i+16|0):(si(),T())),i=s+(r=A[e+11|0]>>>7|0?f[e>>2]:e)|0,o&&Je(i,0,o),A[e+11|0]>>>7|0?f[e+4>>2]=b:a[e+11|0]=b,a[c+15|0]=0,a[r+b|0]=A[c+15|0]),void(V=c+16|0);V=i=V-16|0,A[e+11|0]>>>7|0?(o=f[e>>2],a[i+15|0]=0,a[r+o|0]=A[i+15|0],f[e+4>>2]=r):(a[i+14|0]=0,a[e+r|0]=A[i+14|0],a[e+11|0]=r),V=i+16|0}function Ve(e,r){var t,i=0,n=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0;V=t=V-16|0;e:if(!((0|(o=f[r+20>>2]))>=(0|(i=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=l[r+8>>2]|(0|i)<(0|o))&&(a[e+12|0]=A[n+f[r>>2]|0],o=f[r+20>>2],o=(i=f[r+16>>2]+1|0)?o:o+1|0,f[r+16>>2]=i,f[r+20>>2]=o,Er(1,t+12|0,r)&&(n=(o=f[r+8>>2])-(i=c=f[r+16>>2])|0,i=i>>>0>o>>>0,o=f[r+20>>2],!((0|(s=f[r+12>>2]-(i+o|0)|0))<=0&n>>>0<(i=f[t+12>>2])>>>0|(0|s)<0|(0|i)<=0)))){n=c+f[r>>2]|0,f[e>>2]=n,_=e;r:if((u=A[0|(b=(s=i-1|0)+n|0)])>>>0<=63)f[e+4>>2]=s,e=63&A[0|b];else{t:switch((u>>>6|0)-1|0){case 0:if(i>>>0<2)break e;f[e+4>>2]=i-2,e=A[1+(n=(i+n|0)-2|0)|0]<<8&16128|A[0|n];break r;case 1:break t;default:break e}if(i>>>0<3)break e;f[e+4>>2]=i-3,e=A[2+(n=(i+n|0)-3|0)|0]<<16&4128768|A[n+1|0]<<8|A[0|n]}e=e+4096|0,f[_+8>>2]=e,e>>>0>1048575||(e=o,e=(n=i+c|0)>>>0<i>>>0?e+1|0:e,f[r+16>>2]=n,f[r+20>>2]=e,p=1)}return V=t+16|0,p}function De(e,r,t){r|=0,t|=0;var i=0,n=0,o=0,s=0,c=0,b=0,u=0;return(i=(o=f[12+(e|=0)>>2])-(c=f[e+8>>2])>>2)>>>0<(r=a[r+24|0])>>>0?(sr(e+8|0,r-i|0),c=f[e+8>>2],o=f[e+12>>2]):r>>>0>=i>>>0||(o=(r<<2)+c|0,f[e+12>>2]=o),r=0,b=f[t+20>>2],o=i=o-c|0,s=(n=f[t+16>>2])+i|0,u=f[t+12>>2],b=i>>>0>s>>>0?b+1|0:b,s>>>0>l[t+8>>2]&(0|u)<=(0|b)|(0|b)>(0|u)||(ge(c,n+f[t>>2]|0,i),i=f[t+20>>2],i=(n=o+f[t+16>>2]|0)>>>0<o>>>0?i+1|0:i,s=n,f[t+16>>2]=n,f[t+20>>2]=i,n=f[t+12>>2],i=(o=s+4|0)>>>0<4?i+1|0:i,o>>>0>l[t+8>>2]&(0|i)>=(0|n)|(0|i)>(0|n)||(i=s+f[t>>2]|0,f[e+20>>2]=A[0|i]|A[i+1|0]<<8|A[i+2|0]<<16|A[i+3|0]<<24,i=f[t+20>>2],o=(n=(s=f[t+16>>2])+4|0)>>>0<4?i+1|0:i,u=n,f[t+16>>2]=n,f[t+20>>2]=o,(0|o)>=(0|(n=f[t+12>>2]))&u>>>0>=l[t+8>>2]|(0|o)>(0|n)||(n=A[u+f[t>>2]|0],i=(o=s+5|0)>>>0<5?i+1|0:i,f[t+16>>2]=o,f[t+20>>2]=i,n-1>>>0>29||(f[e+4>>2]=n,r=1)))),0|r}function Me(e,r){var t,i=0,n=0,o=0,s=0,c=0;V=t=V-16|0;e:{r:{if(r){if(f[e+88>>2]=0,f[e+92>>2]=0,i=f[e+84>>2],f[e+84>>2]=0,i&&ee(i),f[e+76>>2]=0,f[e+80>>2]=0,i=f[e+72>>2],f[e+72>>2]=0,i&&ee(i),i=f[r>>2],n=f[r+4>>2],a[t+15|0]=0,ze(e,n-i>>2,t+15|0),i=f[r+28>>2],n=f[r+24>>2],a[t+14|0]=0,ze(e+12|0,i-n>>2,t+14|0),ye(e+28|0,f[r+4>>2]-f[r>>2]>>2,10316),o=(n=f[r+28>>2]-f[r+24>>2]|0)>>2,i=f[e+52>>2],!(o>>>0<=f[e+60>>2]-i>>2>>>0)){if((0|n)<0)break r;s=f[e+56>>2],c=(n=_t(n))+(o<<2)|0,s=(o=s-i|0)+n|0,(0|o)>0&&ge(n,i,o),f[e+60>>2]=c,f[e+56>>2]=s,f[e+52>>2]=n,i&&ee(i)}if(o=(n=f[r+28>>2]-f[r+24>>2]|0)>>2,i=f[e+40>>2],!(o>>>0<=f[e+48>>2]-i>>2>>>0)){if((0|n)<0)break e;s=f[e+44>>2],c=(n=_t(n))+(o<<2)|0,s=(o=s-i|0)+n|0,(0|o)>0&&ge(n,i,o),f[e+48>>2]=c,f[e+44>>2]=s,f[e+40>>2]=n,i&&ee(i)}a[e+24|0]=1,f[e+64>>2]=r}return void(V=t+16|0)}Hr(1326),T()}Hr(1326),T()}function Ue(e,r,t){e|=0,r|=0,t|=0;var i=0,n=k(0),o=k(0),b=k(0),l=k(0),u=k(0),_=0,p=k(0),m=k(0),h=k(0),v=k(0),g=0;if(!(9!=f[t+28>>2]|3!=A[t+24|0])&&!((e=f[e+4>>2])-31>>>0<4294967267)&&(g=1,_=f[t+80>>2]))for(p=k(k(2)/k((1<<e)-2|0)),t=f[f[t>>2]>>2]+f[t+48>>2]|0,e=f[f[r>>2]>>2]+f[r+48>>2]|0,r=0;b=k(0),m=k(0),h=k(0),n=k(k(k(f[e>>2])*p)+k(-1)),o=k(k(k(f[e+4>>2])*p)+k(-1)),u=k(k(k(1)-k(d(n)))-k(d(o))),l=k(y(k(-u),k(0))),v=k(-l),o=k(o+(o<k(0)?l:v)),n=k(n+(n<k(0)?l:v)),+(l=k(k(o*o)+k(k(u*u)+k(n*n))))<1e-6||(b=k(k(1)/k(w(l))),h=k(o*b),m=k(n*b),b=k(u*b)),e=e+8|0,s(h),i=c(2),a[t+8|0]=i,a[t+9|0]=i>>>8,a[t+10|0]=i>>>16,a[t+11|0]=i>>>24,s(m),i=c(2),a[t+4|0]=i,a[t+5|0]=i>>>8,a[t+6|0]=i>>>16,a[t+7|0]=i>>>24,s(b),i=c(2),a[0|t]=i,a[t+1|0]=i>>>8,a[t+2|0]=i>>>16,a[t+3|0]=i>>>24,t=t+12|0,(0|_)!=(0|(r=r+1|0)););return 0|g}function Ie(e,r,t,i){var n,a,o=0,s=0,c=0,A=0,b=0,l=0,_=0;b=+u[r>>2],l=+u[r+4>>2],_=+u[r+8>>2],(c=d(b)+d(l)+d(_))>1e-6?(l*=c=1/c,b*=c,o=c*_<0):(b=1,l=0,o=0),n=f[e+16>>2],c=v(b*(_=+(0|n))+.5),A=(s=(a=d(c)<2147483648?~~c:-2147483648)>>31)+a^s,c=v(l*_+.5),A=(0|(r=n-(A+((s=d(c)<2147483648?~~c:-2147483648)+(r=s>>31)^r)|0)|0))<0?0:r,o=o?0-A|0:A,s=s+(r>>31&((0|s)>0?r:0-r|0))|0,(0|a)>=0?(r=o+n|0,e=f[e+8>>2],o=s+n|0):(r=s>>31,r^=r+s,e=f[e+8>>2],r=(0|o)<0?r:e-r|0,o=(0|s)<0?A:e-A|0),r|o&&(0|e)!=(0|r)|o&&r|(s=(0|e)!=(0|o))?(0|r)<=(0|n)|o?(0|r)>=(0|n)|s?(0|e)!=(0|r)|(0|o)>=(0|n)?r?e=o:(r=0,e=(0|o)<=(0|n)?o:(n<<1)-o|0):(r=e,e=(n<<1)-o|0):r=(n<<1)-r|0:(r=(n<<1)-r|0,e=0):r=e,f[t>>2]=e,f[i>>2]=r}function Be(e,r){var t,i,n,o=0,s=0,c=0;i=f[e>>2],f[(o=i+(r>>>3&536870908)|0)>>2]=f[o>>2]|1<<r,t=f[e+64>>2],s=-1,(c=-1==(0|r))||(s=-1,-1!=(0|(o=((o=r+1|0)>>>0)%3|0?o:r-2|0))&&(s=f[f[t>>2]+(o<<2)>>2])),o=f[e+12>>2],f[(n=(s>>>3&536870908)+o|0)>>2]=f[n>>2]|1<<s;e:{if(c)e=o+536870908|0,r=f[o+536870908>>2],o=-2147483648;else{r:{if((r>>>0)%3|0)c=r-1|0;else if(s=-1,-1==(0|(c=r+2|0)))break r;s=f[f[t>>2]+(c<<2)>>2]}if(f[(c=(s>>>3&536870908)+o|0)>>2]=f[c>>2]|1<<s,s=-1,-1==(0|(r=f[f[t+12>>2]+(r<<2)>>2])))break e;a[e+24|0]=0,f[(e=(r>>>3&536870908)+i|0)>>2]=f[e>>2]|1<<r,-1!=(0|(e=((e=r+1|0)>>>0)%3|0?e:r-2|0))&&(s=f[f[t>>2]+(e<<2)>>2]),f[(e=o+(s>>>3&536870908)|0)>>2]=f[e>>2]|1<<s;r:{if((r>>>0)%3|0)r=r-1|0;else if(e=-1,-1==(0|(r=r+2|0)))break r;e=f[f[t>>2]+(r<<2)>>2]}r=1<<e,o=f[(e=o+(e>>>3&536870908)|0)>>2]}f[e>>2]=r|o}}function Ze(e,r){var t=0,i=0;t=f[r+8>>2],f[e+4>>2]=f[r+4>>2],f[e+8>>2]=t,f[e+20>>2]=f[r+20>>2],t=f[r+16>>2],f[e+12>>2]=f[r+12>>2],f[e+16>>2]=t;e:{r:{if((0|e)!=(0|r)){if(t=f[r+28>>2]){if(f[e+32>>2]<<5>>>0>=t>>>0)i=f[e+24>>2];else{if((i=f[e+24>>2])&&(ee(i),f[e+32>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,t=f[r+28>>2]),(0|t)<0)break r;i=_t((t=1+(t-1>>>5|0)|0)<<2),f[e+32>>2]=t,f[e+28>>2]=0,f[e+24>>2]=i,t=f[r+28>>2]}Se(i,f[r+24>>2],4+(t-1>>>3&536870908)|0),t=f[r+28>>2]}else t=0;if(f[e+28>>2]=t,t=f[r+40>>2]){if(f[e+44>>2]<<5>>>0>=t>>>0)i=f[e+36>>2];else{if((i=f[e+36>>2])&&(ee(i),f[e+44>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,t=f[r+40>>2]),(0|t)<0)break e;i=_t((t=1+(t-1>>>5|0)|0)<<2),f[e+44>>2]=t,f[e+40>>2]=0,f[e+36>>2]=i,t=f[r+40>>2]}Se(i,f[r+36>>2],4+(t-1>>>3&536870908)|0),r=f[r+40>>2]}else r=0;f[e+40>>2]=r}return}oi(),T()}oi(),T()}function We(e,r){var t,i=0,n=0,a=0,o=0,s=0,c=0;V=t=V-16|0;e:if(kr(1,t+8|0,r)&&(i=f[r+8>>2],a=f[r+16>>2],s=f[t+12>>2],n=f[r+20>>2],!((0|s)==(0|(o=f[r+12>>2]-(n+(i>>>0<a>>>0)|0)|0))&(i-a|0)>>>0<(i=f[t+8>>2])>>>0|o>>>0<s>>>0||(n=n+s|0,n=(o=i+a|0)>>>0<a>>>0?n+1|0:n,f[r+16>>2]=o,f[r+20>>2]=n,(0|i)<=0)))){n=a+f[r>>2]|0,f[e+40>>2]=n,s=e;r:if((r=A[0|(a=n+(o=i-1|0)|0)])>>>0<=63)f[e+44>>2]=o,e=63&A[0|a];else{switch((r>>>6|0)-1|0){case 0:if(i>>>0<2)break e;f[e+44>>2]=i-2,e=A[1+(r=(i+n|0)-2|0)|0]<<8&16128|A[0|r];break r;case 1:if(i>>>0<3)break e;f[e+44>>2]=i-3,e=A[2+(r=(i+n|0)-3|0)|0]<<16&4128768|A[r+1|0]<<8|A[0|r];break r}f[e+44>>2]=i-4,e=A[2+(r=(i+n|0)-4|0)|0]<<16|A[r+3|0]<<24&1056964608|A[r+1|0]<<8|A[0|r]}e=e+16384|0,f[s+48>>2]=e,c=e>>>0<4194304}return V=t+16|0,c}function Fe(e){var r,t=0,i=0;t=f[e+8>>2],r=f[e>>2];e:{if(A[e+12|0]){r:{if(-1!=(0|t)&&-1!=(0|(t=((i=t+1|0)>>>0)%3|0?i:t-2|0))&&-1!=(0|(t=f[f[r+12>>2]+(t<<2)>>2]))){if(t=((i=t+1|0)>>>0)%3|0?i:t-2|0,f[e+8>>2]=t,-1!=(0|t))break r}else f[e+8>>2]=-1;t=-1;t:if(-1!=(0|(i=f[e+4>>2]))){if((i>>>0)%3|0)i=i-1|0;else if(t=-1,-1==(0|(i=i+2|0)))break t;t=-1,-1!=(0|(i=f[f[r+12>>2]+(i<<2)>>2]))&&(t=i-1|0,(i>>>0)%3|0||(t=i+2|0))}return a[e+12|0]=0,void(f[e+8>>2]=t)}if((0|t)!=f[e+4>>2])break e;return void(f[e+8>>2]=-1)}i=-1;r:if(-1!=(0|t)){if((t>>>0)%3|0)t=t-1|0;else if(i=-1,-1==(0|(t=t+2|0)))break r;i=-1,-1!=(0|(t=f[f[r+12>>2]+(t<<2)>>2]))&&(i=t-1|0,(t>>>0)%3|0||(i=t+2|0))}f[e+8>>2]=i}}function xe(e){var r,t=0,i=0;r=_t(32),t=A[1619]|A[1620]<<8,a[r+24|0]=t,a[r+25|0]=t>>>8,t=A[1615]|A[1616]<<8|A[1617]<<16|A[1618]<<24,i=A[1611]|A[1612]<<8|A[1613]<<16|A[1614]<<24,a[r+16|0]=i,a[r+17|0]=i>>>8,a[r+18|0]=i>>>16,a[r+19|0]=i>>>24,a[r+20|0]=t,a[r+21|0]=t>>>8,a[r+22|0]=t>>>16,a[r+23|0]=t>>>24,t=A[1607]|A[1608]<<8|A[1609]<<16|A[1610]<<24,i=A[1603]|A[1604]<<8|A[1605]<<16|A[1606]<<24,a[r+8|0]=i,a[r+9|0]=i>>>8,a[r+10|0]=i>>>16,a[r+11|0]=i>>>24,a[r+12|0]=t,a[r+13|0]=t>>>8,a[r+14|0]=t>>>16,a[r+15|0]=t>>>24,t=A[1599]|A[1600]<<8|A[1601]<<16|A[1602]<<24,i=A[1595]|A[1596]<<8|A[1597]<<16|A[1598]<<24,a[0|r]=i,a[r+1|0]=i>>>8,a[r+2|0]=i>>>16,a[r+3|0]=i>>>24,a[r+4|0]=t,a[r+5|0]=t>>>8,a[r+6|0]=t>>>16,a[r+7|0]=t>>>24,a[r+26|0]=0,f[e>>2]=-1,Fr(e+4|0,r,26),ee(r)}function Se(e,r,t){var i=0,n=0;e:if((0|e)!=(0|r)){if(r-(n=e+t|0)>>>0<=0-(t<<1)>>>0)return ge(e,r,t);if(i=3&(e^r),e>>>0<r>>>0){if(i)i=e;else{if(3&e)for(i=e;;){if(!t)break e;if(a[0|i]=A[0|r],r=r+1|0,t=t-1|0,!(3&(i=i+1|0)))break}else i=e;if(!(t>>>0<=3))for(;f[i>>2]=f[r>>2],r=r+4|0,i=i+4|0,(t=t-4|0)>>>0>3;);}if(t)for(;a[0|i]=A[0|r],i=i+1|0,r=r+1|0,t=t-1|0;);}else{if(!i){if(3&n)for(;;){if(!t)break e;if(a[0|(i=(t=t-1|0)+e|0)]=A[r+t|0],!(3&i))break}if(!(t>>>0<=3))for(;f[(t=t-4|0)+e>>2]=f[r+t>>2],t>>>0>3;);}if(!t)break e;for(;a[(t=t-1|0)+e|0]=A[r+t|0],t;);}}return e}function je(e,r,t){var i,n,a=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0;V=i=V-16|0;e:{if((0|(s=f[e+24>>2]))!=(0|(n=f[e+28>>2])))for(;;){f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,a=qr(f[s>>2],r,i),b=(e=A[i+11|0])<<24>>24,l=3;r:{t:{i:{n:if(a&&(l=0,o=(a=A[t+11|0])<<24>>24,(0|(u=(0|b)<0?f[i+4>>2]:e))==(0|((0|o)<0?f[t+4>>2]:a)))){c=(0|o)<0?f[t>>2]:t,o=f[i>>2];a:{if(!(a=(0|b)<0)){if(!b)break a;if(a=i,A[0|c]!=(255&o))break r;for(;;){if(!(e=e-1|0))break a;if(o=A[c+1|0],c=c+1|0,(0|o)!=A[0|(a=a+1|0)])break}break n}if(u&&Rr(a?o:i,c,u))break i}_=f[s>>2],l=1}if((0|b)>=0)break t}ee(f[i>>2])}switch(0|l){case 0:case 3:break r;default:break e}}if((0|n)==(0|(s=s+4|0)))break}_=0}return V=i+16|0,_}function Oe(e,r){var t=0,i=0,n=0,a=0,o=0,s=0,c=0;if((i=f[e+8>>2])-(t=f[e+4>>2])>>2>>>0>=r>>>0)return r&&(t=Je(t,0,r<<=2)+r|0),void(f[e+4>>2]=t);e:{r:{t:{if((n=(a=t-(o=f[e>>2])>>2)+r|0)>>>0<1073741824){if(s=(i=i-o|0)>>1,n=i>>2>>>0<536870911?n>>>0>s>>>0?n:s:1073741823){if(n>>>0>=1073741824)break t;c=_t(n<<2)}if(a=(r=Je(i=(a<<2)+c|0,0,a=r<<2))+a|0,n=(n<<2)+c|0,(0|t)==(0|o))break r;for(;r=f[(t=t-4|0)>>2],f[t>>2]=0,f[(i=i-4|0)>>2]=r,(0|t)!=(0|o););if(f[e+8>>2]=n,r=f[e+4>>2],f[e+4>>2]=a,t=f[e>>2],f[e>>2]=i,(0|r)==(0|t))break e;for(;e=f[(r=r-4|0)>>2],f[r>>2]=0,e&&yi[f[f[e>>2]+4>>2]](e),(0|r)!=(0|t););break e}oi(),T()}Hr(1326),T()}f[e+8>>2]=n,f[e+4>>2]=a,f[e>>2]=r}t&&ee(t)}function Ye(e,r){e|=0;var t,i,n=0,a=0,o=0,s=0,c=0,b=0,l=0;return c=a=f[12+(r|=0)>>2],o=n=f[r+20>>2],n=(t=(s=f[r+16>>2])+4|0)>>>0<4?n+1|0:n,(i=f[r+8>>2])>>>0<t>>>0&(0|n)>=(0|a)|(0|n)>(0|a)||(b=f[r>>2],a=A[0|(a=b+s|0)]|A[a+1|0]<<8|A[a+2|0]<<16|A[a+3|0]<<24,f[r+16>>2]=t,f[r+20>>2]=n,n=o,s=o=s+8|0,o=n=o>>>0<8?n+1|0:n,s>>>0>i>>>0&(0|n)>=(0|c)|(0|n)>(0|c)||(n=A[0|(n=t+b|0)]|A[n+1|0]<<8|A[n+2|0]<<16|A[n+3|0]<<24,f[r+16>>2]=s,f[r+20>>2]=o,(0|n)<(0|a)||(f[e+16>>2]=n,f[e+12>>2]=a,!(c=(n>>31)-((a>>31)+(n>>>0<a>>>0)|0)|0)&(n=n-a|0)>>>0>2147483646|c||(n=n+1|0,f[e+20>>2]=n,a=n>>>1|0,f[e+24>>2]=a,f[e+28>>2]=0-a,1&n||(f[e+24>>2]=a-1),l=Ve(e+112|0,r))))),0|l}function Je(e,r,t){var i=0,n=0,o=0;if(t&&(a[0|e]=r,a[(n=e+t|0)-1|0]=r,!(t>>>0<3||(a[e+2|0]=r,a[e+1|0]=r,a[n-3|0]=r,a[n-2|0]=r,t>>>0<7||(a[e+3|0]=r,a[n-4|0]=r,t>>>0<9||(o=(n=0-e&3)+e|0,i=p(255&r,16843009),f[o>>2]=i,f[(t=(r=t-n&-4)+o|0)-4>>2]=i,r>>>0<9||(f[o+8>>2]=i,f[o+4>>2]=i,f[t-8>>2]=i,f[t-12>>2]=i,r>>>0<25||(f[o+24>>2]=i,f[o+20>>2]=i,f[o+16>>2]=i,f[o+12>>2]=i,f[t-16>>2]=i,f[t-20>>2]=i,f[t-24>>2]=i,f[t-28>>2]=i,(t=(t=r)-(r=4&o|24)|0)>>>0<32))))))))for(i=Pr(i,0,1,1),n=D,r=r+o|0;f[r+24>>2]=i,f[r+28>>2]=n,f[r+16>>2]=i,f[r+20>>2]=n,f[r+8>>2]=i,f[r+12>>2]=n,f[r>>2]=i,f[r+4>>2]=n,r=r+32|0,(t=t-32|0)>>>0>31;);return e}function Qe(e,r){var t=0,i=0,n=0,a=0,o=0;i=-1,a=-1,n=-1;e:{r:if(-1!=(0|r)){if(o=1,a=f[f[f[e+4>>2]+12>>2]+(r<<2)>>2],(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0))>=0&&(n=(t>>>0)/3|0,n=f[(f[f[e>>2]+96>>2]+p(n,12)|0)+(t-p(n,3)<<2)>>2]),-1!=(0|a)&&(o=0,(0|(t=((a>>>0)%3|0?-1:2)+a|0))<0||(i=(t>>>0)/3|0,i=f[(f[f[e>>2]+96>>2]+p(i,12)|0)+(t-p(i,3)<<2)>>2])),t=-1,(0|i)!=(0|n))break e;if(n=-1,(0|(r=((r>>>0)%3|0?-1:2)+r|0))>=0){if(i=(r>>>0)/3|0,i=f[(f[f[e>>2]+96>>2]+p(i,12)|0)+(r-p(i,3)<<2)>>2],o)break r}else if(i=-1,o)break r;(0|(r=((r=a+1|0)>>>0)%3|0?r:a-2|0))<0||(t=f[f[e>>2]+96>>2],n=f[(t+p(e=(r>>>0)/3|0,12)|0)+(r-p(e,3)<<2)>>2])}t=(0|i)==(0|n)?a:-1}return t}function ze(e,r,t){var i,n=0,a=0,o=0;V=i=V-16|0,f[e+4>>2]=0;e:{r:if(r){if((n=(o=f[e+8>>2])<<5)>>>0>=r>>>0)f[e+4>>2]=r;else{if(f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,(0|r)<0)break e;or(i,n=n>>>0<=1073741822?(n=o<<6)>>>0<(a=r+31&-32)>>>0?a:n:2147483647),a=f[e>>2],f[e>>2]=f[i>>2],f[i>>2]=a,n=f[e+4>>2],f[e+4>>2]=r,f[i+4>>2]=n,n=f[e+8>>2],f[e+8>>2]=f[i+8>>2],f[i+8>>2]=n,a&&ee(a)}if(n=(a=r>>>5|0)<<2,e=f[e>>2],A[0|t]){if(e=Je(e,255,n),!(r&=31))break r;f[(e=e+(a<<2)|0)>>2]=f[e>>2]|-1>>>32-r}else e=Je(e,0,n),(r&=31)&&(f[(e=e+(a<<2)|0)>>2]=f[e>>2]&(-1>>>32-r^-1))}return void(V=i+16|0)}oi(),T()}function Le(e,r,t){var i,n=0,a=0,o=0,s=0;if((i=(o=t-r|0)>>2)>>>0<=(n=f[e+8>>2])-(a=f[e>>2])>>2>>>0){if((0|(n=i>>>0>(s=(n=(o=f[e+4>>2])-a|0)>>2)>>>0?r+n|0:t))!=(0|r))for(;f[a>>2]=f[r>>2],a=a+4|0,(0|n)!=(0|(r=r+4|0)););return i>>>0>s>>>0?((0|(r=t-n|0))>0&&(o=ge(o,n,r)+r|0),void(f[e+4>>2]=o)):void(f[e+4>>2]=a)}if(a&&(f[e+4>>2]=a,ee(a),f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,n=0),!((0|o)<0||(t=n>>1,(t=n>>2>>>0<536870911?t>>>0<i>>>0?i:t:1073741823)>>>0>=1073741824)))return t=_t(a=t<<2),f[e>>2]=t,f[e+4>>2]=t,f[e+8>>2]=t+a,o&&(t=ge(t,r,o)+o|0),void(f[e+4>>2]=t);oi(),T()}function Pe(e,r){e|=0;var t,i,n,a=0,o=0,s=0,c=0,b=0;return s=f[12+(r|=0)>>2],c=a=f[r+20>>2],a=(o=(t=f[r+16>>2])+4|0)>>>0<4?a+1|0:a,n=o,(i=f[r+8>>2])>>>0<o>>>0&(0|a)>=(0|s)|(0|a)>(0|s)||(o=t+f[r>>2]|0,o=A[0|o]|A[o+1|0]<<8|A[o+2|0]<<16|A[o+3|0]<<24,f[r+16>>2]=n,f[r+20>>2]=a,a=c,(c=t+8|0)>>>0>i>>>0&(0|(a=c>>>0<8?a+1|0:a))>=(0|s)|(0|a)>(0|s)||(f[r+16>>2]=c,f[r+20>>2]=a,1&o&&((a=31^m(o))-30>>>0<4294967267||(f[e+8>>2]=a+1,a=-2-(s=-2<<a)|0,f[e+16>>2]=a,f[e+12>>2]=-1^s,f[e+24>>2]=(0|a)/2,u[e+20>>2]=k(2)/k(0|a),b=Ve(e+96|0,r))))),0|b}function Xe(e){var r=0,t=0,i=0,n=0;t=1;e:if(!((0|(i=f[e+140>>2]))<=0)){for(r=i<<4,t=_t((0|i)!=(268435455&i)?-1:4|r),f[t>>2]=i,i=(t=t+4|0)+r|0,r=t;f[r>>2]=0,f[r+4>>2]=0,a[r+5|0]=0,a[r+6|0]=0,a[r+7|0]=0,a[r+8|0]=0,a[r+9|0]=0,a[r+10|0]=0,a[r+11|0]=0,a[r+12|0]=0,(0|i)!=(0|(r=r+16|0)););if(n=f[e+136>>2],f[e+136>>2]=t,n){if(t=f[(i=n-4|0)>>2])for(r=(t<<4)+n|0;(0|n)!=(0|(r=r-16|0)););ee(i)}if(t=1,!(f[e+140>>2]<=0))for(r=0;;){if(!(t=Ve(f[e+136>>2]+(r<<4)|0,e)))break e;if(!((0|(r=r+1|0))<f[e+140>>2]))break}}return t}function He(e,r){var t,i=0,n=0,o=0,s=0;return f[e+64>>2]||(i=_t(32),f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,n=f[e+64>>2],f[e+64>>2]=i,n&&((i=f[n>>2])&&(f[n+4>>2]=i,ee(i)),ee(n))),o=f[e+64>>2],n=(i=f[e+28>>2]-1|0)>>>0<=10?f[10180+(i<<2)>>2]:-1,n=i=p(n,a[e+24|0]),(o=Yr(o,0,Pr(i,t=i>>31,r,0),D))&&(i=f[e+64>>2],f[e>>2]=i,s=f[i+20>>2],f[e+8>>2]=f[i+16>>2],f[e+12>>2]=s,s=f[i+24>>2],i=f[i+28>>2],f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=n,f[e+44>>2]=t,f[e+16>>2]=s,f[e+20>>2]=i,f[e+80>>2]=r),o}function qe(e,r,t){var i=0,n=0,a=0,o=0,s=0,c=0,b=0;a=e+4|0;e:{if(e=f[e+4>>2])for(c=(i=(n=A[t+11|0])<<24>>24<0)?f[t>>2]:t,n=i?f[t+4>>2]:n;;){r:{t:{i:{n:{a:{o:if(s=(b=(t=(i=(t=A[e+27|0])<<24>>24<0)?f[e+20>>2]:t)>>>0<n>>>0)?t:n){if(o=e+16|0,!(o=Rr(c,i=i?f[o>>2]:o,s))){if(t>>>0>n>>>0)break o;break a}if((0|o)>=0)break a}else if(t>>>0<=n>>>0)break n;if(t=f[e>>2])break r;return f[r>>2]=e,e}if(t=Rr(i,c,s))break i}if(b)break t;break e}if((0|t)>=0)break e}if(a=e+4|0,!(t=f[e+4>>2]))break e;e=a}a=e,e=t}return f[r>>2]=a,a}return f[r>>2]=e,a}function Ke(e,r){var t=0;return t=f[r+4>>2],f[e>>2]=f[r>>2],f[e+4>>2]=t,t=f[r+60>>2],f[e+56>>2]=f[r+56>>2],f[e+60>>2]=t,t=f[r+52>>2],f[e+48>>2]=f[r+48>>2],f[e+52>>2]=t,t=f[r+44>>2],f[e+40>>2]=f[r+40>>2],f[e+44>>2]=t,t=f[r+36>>2],f[e+32>>2]=f[r+32>>2],f[e+36>>2]=t,t=f[r+28>>2],f[e+24>>2]=f[r+24>>2],f[e+28>>2]=t,t=f[r+20>>2],f[e+16>>2]=f[r+16>>2],f[e+20>>2]=t,t=f[r+12>>2],f[e+8>>2]=f[r+8>>2],f[e+12>>2]=t,f[e+88>>2]=0,f[e+64>>2]=0,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,a[e+77|0]=0,a[e+78|0]=0,a[e+79|0]=0,a[e+80|0]=0,a[e+81|0]=0,a[e+82|0]=0,a[e+83|0]=0,a[e+84|0]=0,e}function $e(e,r){var t,i=0,n=0,a=0,o=0,s=0,c=0,b=0;t=e+4|0;e:{r:if(e=f[e+4>>2]){for(c=(i=(n=A[r+11|0])<<24>>24<0)?f[r>>2]:r,a=i?f[r+4>>2]:n,i=t;(n=(o=(s=(b=(r=A[e+27|0])<<24>>24<0)?f[e+20>>2]:r)>>>0>a>>>0)?a:s)&&(r=e+16|0,r=Rr(b?f[r>>2]:r,c,n))||(r=a>>>0>s>>>0?-1:o),i=(0|r)<0?i:e,e=f[(r>>>29&4)+e>>2];);if((0|i)!=(0|t)){if(!((r=(n=(o=(e=A[i+27|0])<<24>>24<0)?f[i+20>>2]:e)>>>0<a>>>0?n:a)&&(e=i+16|0,e=Rr(c,o?f[e>>2]:e,r)))){if(n>>>0>a>>>0)break r;break e}if((0|e)>=0)break e}}i=t}return i}function er(e,r,t){var i=0,n=0,a=0,o=0;e:{if(!((0|r)<0|(0|t)<0)){if(!(r>>>0>1431655765)){if(ye(e,i=p(r,3),10256),ye(e+12|0,i,10260),i=f[e+24>>2],!(f[e+32>>2]-i>>2>>>0>=t>>>0)){if(t>>>0>=1073741824)break e;n=f[e+28>>2],a=(t=_t(a=t<<2))+a|0,o=(n=n-i|0)+t|0,(0|n)>0&&ge(t,i,n),f[e+32>>2]=a,f[e+28>>2]=o,f[e+24>>2]=t,i&&ee(i)}f[e+80>>2]=0,f[e+84>>2]=0,t=f[e+76>>2],f[e+76>>2]=0,t&&ee(t),f[e+68>>2]=0,f[e+72>>2]=0,e=f[(t=e- -64|0)>>2],f[t>>2]=0,e&&ee(e)}i=r>>>0<1431655766}return i}Hr(1326),T()}function rr(e){var r=0,t=0,i=0,n=0,o=0;if(i=f[e+8>>2],!A[i+84|0]&&!(!(r=f[e+16>>2])|!A[r+84|0]||(t=f[i+72>>2],n=f[i+68>>2],a[r+84|0]=0,t=t-n>>2,o=f[r+68>>2],t>>>0>(n=f[r+72>>2]-o>>2)>>>0?(ve(r+68|0,t-n|0,2032),i=f[e+8>>2]):t>>>0>=n>>>0||(f[r+72>>2]=o+(t<<2)),(r=A[i+84|0])||(0|(t=f[i+68>>2]))==f[i+72>>2])))if(n=f[f[e+16>>2]+68>>2],r)f[n>>2]=0;else for(r=0;f[(o=r<<2)+n>>2]=f[t+o>>2],r=r+1|0,t=f[i+68>>2],r>>>0<f[i+72>>2]-t>>2>>>0;);return f[e+16>>2]}function tr(e,r){var t=0,i=0,n=0,a=0,o=0,s=0;if((0|(t=f[e+4>>2]))!=f[e+8>>2])return i=f[r+4>>2],f[t>>2]=f[r>>2],f[t+4>>2]=i,f[t+8>>2]=f[r+8>>2],void(f[e+4>>2]=t+12);e:{if((t=1+(i=(0|(o=t-(a=f[e>>2])|0))/12|0)|0)>>>0<357913942){if(n=i<<1,n=i>>>0<178956970?t>>>0>n>>>0?t:n:357913941){if(n>>>0>=357913942)break e;t=_t(p(n,12))}else t=0;return i=t+p(i,12)|0,s=f[r+4>>2],f[i>>2]=f[r>>2],f[i+4>>2]=s,f[i+8>>2]=f[r+8>>2],r=i+p((0|o)/-12|0,12)|0,(0|o)>0&&ge(r,a,o),f[e+8>>2]=t+p(n,12),f[e+4>>2]=i+12,f[e>>2]=r,void(a&&ee(a))}oi(),T()}Hr(1326),T()}function ir(e,r){r|=0;var t=0,i=0,n=0,a=0;e:if((0|(t=f[216+(e|=0)>>2]))!=f[e+220>>2]){for(;;){r:if(!((0|(t=f[p(n,144)+t>>2]))<0||(i=f[e+4>>2],a=f[i+8>>2],(0|t)>=f[i+12>>2]-a>>2||(i=0,t=f[(t<<2)+a>>2],(0|yi[f[f[t>>2]+24>>2]](t))<=0)))){for(;;){if((0|yi[f[f[t>>2]+20>>2]](t,i))!=(0|r)){if(i=i+1|0,(0|yi[f[f[t>>2]+24>>2]](t))>(0|i))continue;break r}break}e=f[e+216>>2]+p(n,144)|0,n=A[e+100|0]?e+4|0:0;break e}if(n=n+1|0,t=f[e+216>>2],!(n>>>0<(f[e+220>>2]-t|0)/144>>>0))break}return 0}return 0|n}function nr(e,r,t,i,n,o,s){var c,b=0,u=0;if(V=c=V-16|0,(-1^r)-17>>>0>=t>>>0)return u=A[e+11|0]>>>7|0?f[e>>2]:e,r>>>0<2147483623?(f[c+8>>2]=r<<1,f[c+12>>2]=r+t,V=t=V-16|0,V=t+16|0,t=c+8|0,t=(t=f[(l[(b=c+12|0)>>2]<l[t>>2]?t:b)>>2])>>>0>=11?11==(0|(t=(b=t+16&-16)-1|0))?b:t:10):t=-18,t=_t(b=t+1|0),o&&qt(t,s,o),(i=i-n|0)&&qt(t+o|0,n+u|0,i),10!=(0|r)&&ee(u),f[e>>2]=t,f[e+8>>2]=-2147483648|b,r=e,e=i+o|0,f[r+4>>2]=e,a[c+7|0]=0,a[e+t|0]=A[c+7|0],void(V=c+16|0);si(),T()}function ar(e,r){r|=0;var t=0,i=0,n=0,a=0;if((0|(t=f[216+(e|=0)>>2]))!=f[e+220>>2])for(;;){e:if(!((0|(t=f[p(n,144)+t>>2]))<0||(i=f[e+4>>2],a=f[i+8>>2],(0|t)>=f[i+12>>2]-a>>2||(i=0,t=f[(t<<2)+a>>2],(0|yi[f[f[t>>2]+24>>2]](t))<=0)))){for(;;){if((0|yi[f[f[t>>2]+20>>2]](t,i))!=(0|r)){if(i=i+1|0,(0|yi[f[f[t>>2]+24>>2]](t))>(0|i))continue;break e}break}return 104+(f[e+216>>2]+p(n,144)|0)|0}if(n=n+1|0,t=f[e+216>>2],!(n>>>0<(f[e+220>>2]-t|0)/144>>>0))break}return e+184|0}function or(e,r){var t,i=0,n=0,a=0,o=0,s=0,c=0;V=t=V-16|0;e:{if(!(f[e+8>>2]<<5>>>0>=r>>>0)){if(f[t+8>>2]=0,f[t>>2]=0,f[t+4>>2]=0,(0|r)<0)break e;n=_t((o=1+(r-1>>>5|0)|0)<<2),f[t+8>>2]=o,f[t>>2]=n,a=f[e>>2],r=f[e+4>>2],f[t+4>>2]=r,f[((r>>>0<33?0:r-1>>>5|0)<<2)+n>>2]=0,(0|r)<=0||(c=Se(n,a,i=(s=r>>>5|0)<<2),(0|(r=r-(s<<5)|0))<=0||(r=-1>>>32-r|0,f[(i=i+c|0)>>2]=f[i>>2]&(-1^r)|r&f[(s<<2)+a>>2])),f[e+8>>2]=o,f[e>>2]=n,a&&ee(a)}return void(V=t+16|0)}oi(),T()}function fr(e){var r,t=0,i=0;if(f[(e|=0)>>2]=10332,(t=f[e+68>>2])&&(f[e+72>>2]=t,ee(t)),(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),(t=f[e+44>>2])&&(f[e+48>>2]=t,ee(t)),(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),(t=f[e+20>>2])&&(f[e+24>>2]=t,ee(t)),r=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&Jr(t),(0|r)!=(0|i););t=f[e+8>>2]}f[e+12>>2]=r,ee(t)}return t=f[e+4>>2],f[e+4>>2]=0,t&&Vr(t),0|e}function sr(e,r){var t=0,i=0,n=0,a=0,o=0,s=0,c=0;if((n=f[e+8>>2])-(t=f[e+4>>2])>>2>>>0>=r>>>0)return r&&(t=Je(t,0,r<<=2)+r|0),void(f[e+4>>2]=t);e:{if((i=(s=(o=t-(a=f[e>>2])|0)>>2)+r|0)>>>0<1073741824){if(t=0,c=(n=n-a|0)>>1,i=n>>2>>>0<536870911?i>>>0>c>>>0?i:c:1073741823){if(i>>>0>=1073741824)break e;t=_t(i<<2)}return r=Je((s<<2)+t|0,0,r<<=2)+r|0,(0|o)>0&&ge(t,a,o),f[e+8>>2]=(i<<2)+t,f[e+4>>2]=r,f[e>>2]=t,void(a&&ee(a))}oi(),T()}Hr(1326),T()}function cr(e,r){var t=0,i=0,n=0,a=0,o=0,s=0,c=0;if((n=f[e+8>>2])-(t=f[e+4>>2])>>3>>>0>=r>>>0)return r&&(t=Je(t,0,r<<=3)+r|0),void(f[e+4>>2]=t);e:{if((i=(s=(o=t-(a=f[e>>2])|0)>>3)+r|0)>>>0<536870912){if(t=0,c=(n=n-a|0)>>2,i=n>>3>>>0<268435455?i>>>0>c>>>0?i:c:536870911){if(i>>>0>=536870912)break e;t=_t(i<<3)}return r=Je((s<<3)+t|0,0,r<<=3)+r|0,(0|o)>0&&ge(t,a,o),f[e+8>>2]=(i<<3)+t,f[e+4>>2]=r,f[e>>2]=t,void(a&&ee(a))}oi(),T()}Hr(1326),T()}function Ar(e,r){var t,i=0,n=0,a=0,o=0,s=0;if(t=f[e>>2],(e=f[t+4>>2])>>>0<(i=f[t+8>>2])>>>0)return f[e>>2]=f[r>>2],void(f[t+4>>2]=e+4);e:{if((e=1+(n=(o=e-(a=f[t>>2])|0)>>2)|0)>>>0<1073741824){if(s=n<<2,n=(i=i-a|0)>>1,i=i>>2>>>0<536870911?e>>>0>n>>>0?e:n:1073741823){if(i>>>0>=1073741824)break e;e=_t(i<<2)}else e=0;return f[(n=s+e|0)>>2]=f[r>>2],(0|o)>0&&ge(e,a,o),f[t+8>>2]=e+(i<<2),f[t+4>>2]=n+4,f[t>>2]=e,void(a&&ee(a))}oi(),T()}Hr(1326),T()}function br(e,r){var t=0,i=0,n=0,a=0,o=0,s=0;e:{r:{if((a=(t=f[e+4>>2])-(n=f[e>>2])|0)>>>0<r>>>0){if((o=r-a|0)>>>0<=(i=f[e+8>>2])-t>>>0)return o&&(t=Je(t,0,o)+o|0),void(f[e+4>>2]=t);if((0|r)<0)break e;if(t=0,s=(i=i-n|0)<<1,(i=i>>>0<1073741823?r>>>0>s>>>0?r:s:2147483647)&&(t=_t(i)),Je(t+a|0,0,o),(0|a)>0&&ge(t,n,a),f[e+8>>2]=t+i,f[e+4>>2]=r+t,f[e>>2]=t,!n)break r;return void ee(n)}r>>>0>=a>>>0||(f[e+4>>2]=r+n)}return}oi(),T()}function lr(e,r){var t=0,i=0,n=0,a=0,o=0,s=0;if((n=f[e+8>>2])-(t=f[e+4>>2])>>1>>>0>=r>>>0)return r&&(t=Je(t,0,r<<=1)+r|0),void(f[e+4>>2]=t);e:{if((0|(i=(s=(o=t-(a=f[e>>2])|0)>>1)+r|0))>=0){if(t=0,i=(n=n-a|0)>>1>>>0<1073741823?i>>>0>n>>>0?i:n:2147483647){if((0|i)<0)break e;t=_t(i<<1)}return r=Je((s<<1)+t|0,0,r<<=1)+r|0,(0|o)>0&&ge(t,a,o),f[e+8>>2]=(i<<1)+t,f[e+4>>2]=r,f[e>>2]=t,void(a&&ee(a))}oi(),T()}Hr(1326),T()}function ur(e){var r=0,t=0,i=0,n=0,a=0;if((0|(r=f[e+4>>2]))!=f[e+8>>2])return f[r>>2]=f[2088],void(f[e+4>>2]=r+4);e:{if((r=1+(i=(a=r-(n=f[e>>2])|0)>>2)|0)>>>0<1073741824){if(t=a>>1,t=i>>>0<536870911?r>>>0>t>>>0?r:t:1073741823){if(t>>>0>=1073741824)break e;r=_t(t<<2)}else r=0;return f[(i=r+(i<<2)|0)>>2]=f[2088],(0|a)>0&&ge(r,n,a),f[e+8>>2]=r+(t<<2),f[e+4>>2]=i+4,f[e>>2]=r,void(n&&ee(n))}oi(),T()}Hr(1326),T()}function _r(e,r){var t=0,i=0,n=0,a=0;i=f[e+12>>2],(t=f[e+16>>2]-i>>2)>>>0<r>>>0?sr(e+12|0,r-t|0):r>>>0>=t>>>0||(f[e+16>>2]=i+(r<<2));e:{if(t=f[e>>2],!(f[e+8>>2]-t>>2>>>0>=r>>>0)){if(r>>>0>=1073741824)break e;i=f[e+4>>2],n=(r=_t(n=r<<2))+n|0,a=(i=i-t|0)+r|0,(0|i)>0&&ge(r,t,i),f[e+8>>2]=n,f[e+4>>2]=a,f[e>>2]=r,t&&ee(t)}return}Hr(1326),T()}function pr(e,r,t){var i=0,n=0,o=0,s=0;e:if(!(e>>>0>10||(0|(i=f[t+20>>2]))>=(0|(n=f[t+12>>2]))&(o=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|n))){if(n=a[o+f[t>>2]|0],i=(o=o+1|0)?i:i+1|0,f[t+16>>2]=o,f[t+20>>2]=i,(0|n)<0){if(!pr(e+1|0,r,t))break e;t=f[r>>2],e=f[r+4>>2]<<7|t>>>25,t=127&n|t<<7}else e=0,t=255&n;f[r>>2]=t,f[r+4>>2]=e,s=1}return s}function kr(e,r,t){var i=0,n=0,o=0,s=0;e:if(!(e>>>0>10||(0|(i=f[t+20>>2]))>=(0|(n=f[t+12>>2]))&(o=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|n))){if(n=a[o+f[t>>2]|0],i=(o=o+1|0)?i:i+1|0,f[t+16>>2]=o,f[t+20>>2]=i,(0|n)<0){if(!kr(e+1|0,r,t))break e;t=f[r>>2],e=f[r+4>>2]<<7|t>>>25,t=127&n|t<<7}else e=0,t=255&n;f[r>>2]=t,f[r+4>>2]=e,s=1}return s}function dr(e,r,t,i){a[e+53|0]=1;e:if(f[e+4>>2]==(0|t)){a[e+52|0]=1;r:{if(!(t=f[e+16>>2])){if(f[e+36>>2]=1,f[e+24>>2]=i,f[e+16>>2]=r,1!=f[e+48>>2])break e;if(1==(0|i))break r;break e}if((0|r)==(0|t)){if(2==(0|(t=f[e+24>>2]))&&(f[e+24>>2]=i,t=i),1!=f[e+48>>2])break e;if(1==(0|t))break r;break e}f[e+36>>2]=f[e+36>>2]+1}a[e+54|0]=1}}function mr(e,r,t){r|=0,t|=0;var i,n=0;V=i=V-16|0,f[4+(e|=0)>>2]=r,r=f[r+64>>2],n=f[r>>2],r=f[r+4>>2],a[i+15|0]=0,ze(e+24|0,(r-n>>2>>>0)/3|0,i+15|0),r=f[e+4>>2],n=f[r+56>>2],r=f[r+52>>2],a[i+14|0]=0,ze(e+36|0,n-r>>2,i+14|0),r=f[t+12>>2],f[e+16>>2]=f[t+8>>2],f[e+20>>2]=r,r=f[t+4>>2],f[e+8>>2]=f[t>>2],f[e+12>>2]=r,V=i+16|0}function hr(e){f[e>>2]=0,f[e+4>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,a[e+24|0]=1,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+56>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+68>>2]=e}function yr(e,r){var t,i,n,a=0,s=0;f[e+144>>2]=r,a=f[32+(0|yi[f[f[r>>2]+32>>2]](r))>>2],t=f[a>>2]+f[a+16>>2]|0,s=f[32+(0|yi[f[f[r>>2]+32>>2]](r))>>2],a=(a=f[s+8>>2])-(s=f[s+16>>2])|0,i=e,n=b[f[32+(0|yi[f[f[r>>2]+32>>2]](r))>>2]+38>>1],o[i+38>>1]=n,f[e>>2]=t,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=a,f[e+12>>2]=0}function vr(e){var r;f[e>>2]=0,f[e+4>>2]=0,f[e+56>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[(r=e- -64|0)>>2]=0,f[r+4>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+60>>2]=e}function gr(e,r,t){var i=0,n=0,a=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=a=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[n+f[t>>2]|0],a=(n=n+1|0)?a:a+1|0,f[t+16>>2]=n,f[t+20>>2]=a,128&i){if(!gr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function wr(e,r,t){var i=0,n=0,a=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=a=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[n+f[t>>2]|0],a=(n=n+1|0)?a:a+1|0,f[t+16>>2]=n,f[t+20>>2]=a,128&i){if(!wr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Tr(e,r,t){var i=0,n=0,a=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=a=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[n+f[t>>2]|0],a=(n=n+1|0)?a:a+1|0,f[t+16>>2]=n,f[t+20>>2]=a,128&i){if(!Tr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Cr(e,r,t){var i=0,n=0,a=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=a=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[n+f[t>>2]|0],a=(n=n+1|0)?a:a+1|0,f[t+16>>2]=n,f[t+20>>2]=a,128&i){if(!Cr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Er(e,r,t){var i=0,n=0,a=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=a=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[n+f[t>>2]|0],a=(n=n+1|0)?a:a+1|0,f[t+16>>2]=n,f[t+20>>2]=a,128&i){if(!Er(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Nr(e,r,t){var i=0,n=0,a=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=a=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[n+f[t>>2]|0],a=(n=n+1|0)?a:a+1|0,f[t+16>>2]=n,f[t+20>>2]=a,128&i){if(!Nr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Gr(e,r,t){var i=0,n=0,a=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=a=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[n+f[t>>2]|0],a=(n=n+1|0)?a:a+1|0,f[t+16>>2]=n,f[t+20>>2]=a,128&i){if(!Gr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Rr(e,r,t){var i=0,n=0;e:{r:{if(t>>>0>=4){if(3&(e|r))break r;for(;;){if(f[e>>2]!=f[r>>2])break r;if(r=r+4|0,e=e+4|0,!((t=t-4|0)>>>0>3))break}}if(!t)break e}for(;;){if((0|(i=A[0|e]))==(0|(n=A[0|r]))){if(r=r+1|0,e=e+1|0,t=t-1|0)continue;break e}break}return i-n|0}return 0}function Vr(e){var r=0,t=0,i=0;if(e){if(i=f[e+24>>2]){if((0|(t=f[e+28>>2]))==(0|i))r=i;else{for(;r=f[(t=t-4|0)>>2],f[t>>2]=0,r&&(nt(r+12|0,f[r+16>>2]),lt(r,f[r+4>>2]),ee(r)),(0|i)!=(0|t););r=f[e+24>>2]}f[e+28>>2]=i,ee(r)}nt(e+12|0,f[e+16>>2]),lt(e,f[e+4>>2]),ee(e)}}function Dr(e){var r=0,t=0,i=0;e:{if(3&(r=e))for(;;){if(!A[0|r])break e;if(!(3&(r=r+1|0)))break}for(;t=r,r=r+4|0,!((-1^(i=f[t>>2]))&i-16843009&-2139062144););if(!(255&i))return t-e|0;for(;i=A[t+1|0],t=r=t+1|0,i;);}return r-e|0}function Mr(e,r,t){e|=0,r|=0;var i,n,a,o,s=0,c=0;return(o=f[8+(t|=0)>>2])>>>0>(n=f[t+16>>2])>>>0&(0|(s=a=f[t+12>>2]))>=(0|(i=f[t+20>>2]))|(0|i)<(0|s)&&(r=A[n+f[t>>2]|0],s=(c=n+1|0)?i:i+1|0,f[t+16>>2]=c,f[t+20>>2]=s,f[e+4>>2]=r),n>>>0<o>>>0&(0|i)<=(0|a)|(0|i)<(0|a)}function Ur(e,r,t){var i=0;if(!t)return f[e+4>>2]==f[r+4>>2];if((0|e)==(0|r))return 1;i=f[e+4>>2],e=A[0|i],t=f[r+4>>2];e:if(!(!e|(0|(r=A[0|t]))!=(0|e)))for(;;){if(r=A[t+1|0],!(e=A[i+1|0]))break e;if(t=t+1|0,i=i+1|0,(0|e)!=(0|r))break}return(0|e)==(0|r)}function Ir(e,r){var t=0,i=0,n=0,a=0;e:{if(t=f[e>>2],!(f[e+8>>2]-t>>2>>>0>=r>>>0)){if(r>>>0>=1073741824)break e;i=f[e+4>>2],n=(r=_t(n=r<<2))+n|0,a=(i=i-t|0)+r|0,(0|i)>0&&ge(r,t,i),f[e+8>>2]=n,f[e+4>>2]=a,f[e>>2]=r,t&&ee(t)}return}Hr(1326),T()}function Br(e){var r=0;e&&((r=f[e+76>>2])&&(f[e+80>>2]=r,ee(r)),(r=f[e- -64>>2])&&(f[e+68>>2]=r,ee(r)),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),(r=f[e+24>>2])&&(f[e+28>>2]=r,ee(r)),(r=f[e+12>>2])&&(f[e+16>>2]=r,ee(r)),(r=f[e>>2])&&(f[e+4>>2]=r,ee(r)),ee(e))}function Zr(e){var r=0;(r=f[e+84>>2])&&(f[e+88>>2]=r,ee(r)),(r=f[e+72>>2])&&(f[e+76>>2]=r,ee(r)),(r=f[e+52>>2])&&(f[e+56>>2]=r,ee(r)),(r=f[e+40>>2])&&(f[e+44>>2]=r,ee(r)),(r=f[e+28>>2])&&(f[e+32>>2]=r,ee(r)),(r=f[e+12>>2])&&ee(r),(e=f[e>>2])&&ee(e)}function Wr(e){var r,t=0,i=0;if((0|(t=f[e+4>>2]))!=(0|(r=f[e>>2])))for(;(i=f[t-12>>2])&&(f[t-8>>2]=i,ee(i)),(i=f[t-28>>2])&&(f[t-24>>2]=i,ee(i)),(i=f[t-40>>2])&&(f[t-36>>2]=i,ee(i)),Zr(t-140|0),(0|r)!=(0|(t=t-144|0)););f[e+4>>2]=r}function Fr(e,r,t){var i=0,n=0;e:{if(t>>>0<=10)a[(i=e)+11|0]=t;else{if(t>>>0>4294967279)break e;i=t>>>0>=11?11==(0|(i=(n=t+16&-16)-1|0))?n:i:10,i=_t(n=i+1|0),f[e>>2]=i,f[e+8>>2]=-2147483648|n,f[e+4>>2]=t}return void qt(i,r,t+1|0)}si(),T()}function xr(e,r,t){var i,n,a=0,o=0,s=0;for(V=i=(V=n=V-16|0)-16|0,r=r-e>>2;r;)f[i+12>>2]=e,a=r>>>1|0,f[i+12>>2]=f[i+12>>2]+(a<<2),s=(-1^a)+r|0,r=a,a=f[i+12>>2],r=(o=l[a>>2]<l[t>>2])?s:r,e=o?a+4|0:e;return V=i+16|0,V=n+16|0,e}function Sr(e,r){var t,i;return i=_t(40),f[i>>2]=-1,f[16+(t=i+8|0)>>2]=0,f[t+20>>2]=0,f[t+8>>2]=0,f[t>>2]=0,f[t+4>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,yi[f[f[e>>2]+16>>2]](e,i),e=f[r+88>>2],f[r+88>>2]=i,e&&((r=f[e+8>>2])&&(f[e+12>>2]=r,ee(r)),ee(e)),1}function jr(e){var r,t,i=0,n=0,a=0;return a=A[e+12|0],(n=f[e+8>>2])>>>0>4095||(0|(i=f[e+4>>2]))<=0||(i=i-1|0,f[e+4>>2]=i,n=A[i+f[e>>2]|0]|n<<8),i=p(a=0-a&255,n>>>8|0),t=(r=255&n)>>>0<a>>>0,f[e+8>>2]=t?i+r|0:n-(i+a|0)|0,t}function Or(e,r){return f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1804,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,f[e>>2]=2044,f[e+44>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+56>>2]=0,f[e+60>>2]=r,e}function Yr(e,r,t,i){if(r){if((0|i)<0)return 0;!i&f[e+4>>2]-f[e>>2]>>>0>=t>>>0||br(e,t),t&&Se(f[e>>2],r,t)}else{if((0|i)<0)return 0;br(e,t)}return r=f[e+28>>2],r=(t=f[e+24>>2]+1|0)?r:r+1|0,f[e+24>>2]=t,f[e+28>>2]=r,1}function Jr(e){var r=0,t=0;(e|=0)&&(r=f[e+88>>2],f[e+88>>2]=0,r&&((t=f[r+8>>2])&&(f[r+12>>2]=t,ee(t)),ee(r)),(r=f[e+68>>2])&&(f[e+72>>2]=r,ee(r)),r=f[e+64>>2],f[e+64>>2]=0,r&&((t=f[r>>2])&&(f[r+4>>2]=t,ee(t)),ee(r)),ee(e))}function Qr(e,r){var t,i=0,n=0;if((t=Dr(r))>>>0<4294967280){e:{if(t>>>0>=11)i=_t(n=t+16&-16),f[e+8>>2]=-2147483648|n,f[e>>2]=i,f[e+4>>2]=t;else if(a[e+11|0]=t,i=e,!t)break e;ge(i,r,t)}return a[t+i|0]=0,e}si(),T()}function zr(e,r,t,i){var n,a=0,o=0;return n=(o=r^i)>>31,o>>=31,e=Te((e^=a=r>>31)-a|0,a=(r^a)-((e>>>0<a>>>0)+a|0)|0,(r=t^(e=i>>31))-e|0,(e^i)-((e>>>0>r>>>0)+e|0)|0)^o,D=(n^D)-((e>>>0<o>>>0)+n|0)|0,e-o|0}function Lr(e,r,t){var i,n=0;V=i=V-16|0,(n=2147483647&f[e+8>>2])>>>0>t>>>0?(n=f[e>>2],f[e+4>>2]=t,qt(n,r,t),a[i+15|0]=0,a[t+n|0]=A[i+15|0]):nr(e,n-1|0,1+(t-n|0)|0,e=f[e+4>>2],e,t,r),V=i+16|0}function Pr(e,r,t,i){var n,a,o,f,s=0,c=0;return f=p(s=t>>>16|0,c=e>>>16|0),s=(65535&(c=((o=p(n=65535&t,a=65535&e))>>>16|0)+p(c,n)|0))+p(s,a)|0,D=(p(r,t)+f|0)+p(e,i)+(c>>>16)+(s>>>16)|0,65535&o|s<<16}function Xr(e,r,t){var i;if(!(i=f[e+16>>2]))return f[e+36>>2]=1,f[e+24>>2]=t,void(f[e+16>>2]=r);e:{if((0|r)==(0|i)){if(2!=f[e+24>>2])break e;return void(f[e+24>>2]=t)}a[e+54|0]=1,f[e+24>>2]=2,f[e+36>>2]=f[e+36>>2]+1}}function Hr(e){var r,t,i,n,a;r=0|R(8),f[r>>2]=11024,f[r>>2]=11068,i=_t((t=Dr(e))+13|0),f[i+8>>2]=0,f[i+4>>2]=t,f[i>>2]=t,n=r,a=ge(i+12|0,e,t+1|0),f[n+4>>2]=a,f[r>>2]=11116,G(0|r,11148,13),T()}function qr(e,r,t){var i=0;return(0|(i=e+4|0))==(0|(e=$e(e,r)))?0:((0|(r=f[e+32>>2]))!=(0|(i=f[e+28>>2]))&&(Re(t,r-i|0),ge(ut(t),t=f[e+28>>2],f[e+32>>2]-t|0)),(0|r)!=(0|i))}function Kr(e,r){var t,i=0;if(t=f[e+8>>2],e=f[e+12>>2]-t|0)for(i=(e>>=2)>>>0>1?e:1,e=0;;){if(f[f[(e<<2)+t>>2]+60>>2]==(0|r))return e;if((0|i)==(0|(e=e+1|0)))break}return-1}function $r(e){return f[e+8>>2]=0,f[e+12>>2]=0,f[e>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+28>>2]=9,a[e+24|0]=1,f[e+56>>2]=-1,f[e+60>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,e}function et(e){f[e+40>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=10064,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,o[e+36>>1]=0,f[e+44>>2]=0,f[e>>2]=8108}function rt(e,r,t){var i=0;return r&&(r=0,!pr(1,t,e))||(a[e+36|0]=1,f[e+32>>2]=0,t=(r=f[e+16>>2])+f[e>>2]|0,f[e+24>>2]=t,i=e,e=f[e+8>>2],f[i+28>>2]=t+(e-r|0),r=1),r}function tt(e){var r,t;return(e=(r=f[2853])+(t=e+3&-4)|0)>>>0<=r>>>0&&t||e>>>0>vi()<<16>>>0&&!(0|N(0|e))?(f[2879]=48,-1):(f[2853]=e,r)}function it(e,r,t){var i;V=i=V-16|0,t>>>0<=10?(a[e+11|0]=t,qt(e,r,t),a[i+15|0]=0,a[e+t|0]=A[i+15|0]):nr(e,10,t-10|0,e=A[e+11|0],e,t,r),V=i+16|0}function nt(e,r){r&&(nt(e,f[r>>2]),nt(e,f[r+4>>2]),e=f[r+28>>2],f[r+28>>2]=0,e&&(nt(e+12|0,f[e+16>>2]),lt(e,f[e+4>>2]),ee(e)),a[r+27|0]<0&&ee(f[r+16>>2]),ee(r))}function at(e){var r=0;return!f[(e|=0)- -64>>2]|!f[e+68>>2]|!f[e+44>>2]|!f[e+48>>2]||!f[e+52>>2]|!f[e+56>>2]||(r=-1!=f[e+92>>2]),0|r}function ot(e){var r=0;return f[(e|=0)>>2]=2164,r=f[e+20>>2],f[e+20>>2]=0,r&&yi[f[f[r>>2]+4>>2]](r),f[e>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),0|e}function ft(e){var r=0;return!f[48+(e|=0)>>2]|!f[e+52>>2]|!f[e+28>>2]|!f[e+32>>2]||!f[e+36>>2]|!f[e+40>>2]||(r=-1!=f[e+76>>2]),0|r}function st(e){var r=0;return f[(e|=0)>>2]=8652,(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=8904,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),0|e}function ct(e){var r=0;f[(e|=0)>>2]=2164,r=f[e+20>>2],f[e+20>>2]=0,r&&yi[f[f[r>>2]+4>>2]](r),f[e>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),ee(e)}function At(e,r){var t=0;return t=-1,-1==(0|r)|(0|r)>4||(r=p(r,12)+e|0,e=f[r+20>>2],(f[r+24>>2]-e|0)<=0||(t=f[e>>2])),t}function bt(e,r,t,i,n,o,s){f[e>>2]=0,f[e+56>>2]=r,f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=o,f[e+44>>2]=s,a[e+32|0]=n,f[e+28>>2]=i,a[e+24|0]=t}function lt(e,r){r&&(lt(e,f[r>>2]),lt(e,f[r+4>>2]),(e=f[r+28>>2])&&(f[r+32>>2]=e,ee(e)),a[r+27|0]<0&&ee(f[r+16>>2]),ee(r))}function ut(e){return(A[e+11|0]>>>7|0?f[e+4>>2]:A[e+11|0])||(di(),T()),A[e+11|0]>>>7|0&&(e=f[e>>2]),e}function _t(e){var r=0;e=e||1;e:{for(;;){if(r=U(e))break e;if(!(r=f[2880]))break;yi[0|r]()}C(),T()}return r}function pt(e,r){r&&(pt(e,f[r>>2]),pt(e,f[r+4>>2]),a[r+39|0]<0&&ee(f[r+28>>2]),a[r+27|0]<0&&ee(f[r+16>>2]),ee(r))}function kt(e){var r,t;return f[(e|=0)>>2]=11068,r=f[e+4>>2]-12|0,t=f[r+8>>2]-1|0,f[r+8>>2]=t,(0|t)<0&&ee(r),0|e}function dt(e,r){e|=0;var t=0;switch(0|(r|=0)){case 1:r=1;case 0:f[e+28>>2]=r,t=1}return 0|t}function mt(e,r,t){return r|=0,t|=0,f[4+(e|=0)>>2]=r,r=f[f[f[r+4>>2]+8>>2]+(t<<2)>>2],f[e+12>>2]=t,f[e+8>>2]=r,1}function ht(e){var r=0;return!f[60+(e|=0)>>2]|!f[e+44>>2]|!f[e+48>>2]|!f[e+52>>2]||(r=0!=f[e+56>>2]),0|r}function yt(e,r){var t,i;br(e,r),t=r=f[e+28>>2],i=r+1|0,r=f[e+24>>2]+1|0,f[e+24>>2]=r,f[e+28>>2]=r?t:i}function vt(e){var r=0;return!f[52+(e|=0)>>2]|!f[e+44>>2]|!f[e+48>>2]||(r=0!=f[e+56>>2]),0|r}function gt(e,r){e|=0;var t=0;return f[56+(r|=0)>>2]|!r|3!=A[r+24|0]||(f[e+60>>2]=r,t=1),0|t}function wt(e,r){e|=0;var t=0;return f[56+(r|=0)>>2]|3!=A[r+24|0]||(f[e- -64>>2]=r,t=1),0|t}function Tt(e,r){e|=0;var t=0;return f[56+(r|=0)>>2]|3!=A[r+24|0]||(f[e+48>>2]=r,t=1),0|t}function Ct(e){var r;f[(e|=0)>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)}function Et(e,r){r&&(Et(e,f[r>>2]),Et(e,f[r+4>>2]),pt(r+20|0,f[r+24>>2]),ee(r))}function Nt(e){for(var r=0;e;)e&=e-1,r=r+1|0;return r}function Gt(){var e;return e=_t(12),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,0|e}function Rt(e){var r=0;(e|=0)&&((r=f[e>>2])&&(f[e+4>>2]=r,ee(r)),ee(e))}function Vt(e){var r;return(-1>>>(r=31&e)&-2)<<r|(-1<<(e=0-e&31)&-2)>>>e}function Dt(e,r){return r|=0,0|yi[f[f[(e|=0)>>2]+12>>2]](e,r)}function Mt(e,r){return r|=0,f[f[(e|=0)>>2]+(r<<2)>>2]}function Ut(e,r,t){return 0|oe(e|=0,r|=0,t|=0)}function It(e){return e?31-m(e-1^e)|0:32}function Bt(e){return f[e>>2]=10332,Je(e+4|0,0,80),e}function Zt(e){return f[12+(e|=0)>>2]-f[e+8>>2]>>2}function Wt(e){(e|=0)&&yi[f[f[e>>2]+4>>2]](e)}function Ft(e,r){return r|=0,f[4+(e|=0)>>2]=r,1}function xt(e){return f[4+(e|=0)>>2]-f[e>>2]>>1}function St(e){return f[4+(e|=0)>>2]-f[e>>2]>>2}function jt(e){return f[4+(e|=0)>>2]-f[e>>2]|0}function Ot(e){return f[28+(e|=0)>>2]}function Yt(e){return f[80+(e|=0)>>2]}function Jt(e,r){return 1}function Qt(e,r){return-1}function zt(e){return f[8+(e|=0)>>2]}function Lt(e){return f[4+(e|=0)>>2]}function Pt(e,r){return 6}function Xt(e,r){return 0}function Ht(e){return f[(e|=0)>>2]}function qt(e,r,t){t&&ge(e,r,t)}function Kt(e){(e|=0)&&ee(e)}function $t(e){return 0|e}function ei(e){return 1}function ri(e){return 4}function ti(e){return 5}function ii(e){return 0}function ni(e){return 2}function ai(e){return 6}function oi(){Hr(1266),T()}function fi(e){ee(e|=0)}function si(){Hr(1313),T()}function ci(e){T()}function Ai(){return-1}function bi(){return 1}function li(){di(),T()}function ui(){return 0}function _i(){return 3}function pi(){return 4}function ki(){return 2}function di(){C(),T()}function mi(e){}n(r=A,1028,"YAQAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAABALAAAOAQAAPwGAAAAAAAA0AQAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAAAoAAAAXAAAAGAAAAE41ZHJhY28zMEF0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybUUAAAAAQCwAAKQEAAD8BgAAX19uZXh0X3ByaW1lIG92ZXJmbG93AHZlY3RvcgBzdGQ6OmV4Y2VwdGlvbgBza2lwX2F0dHJpYnV0ZV90cmFuc2Zvcm0AYmFzaWNfc3RyaW5nAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUARFJBQ08AVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZGVjb2Rlci4AVW5zdXBwb3J0ZWQgbWlub3IgdmVyc2lvbi4AVW5zdXBwb3J0ZWQgbWFqb3IgdmVyc2lvbi4ASW5wdXQgaXMgbm90IGEgbWVzaC4AVW5zdXBwb3J0ZWQgZ2VvbWV0cnkgdHlwZS4ATm90IGEgRHJhY28gZmlsZS4AVW5zdXBwb3J0ZWQgZW5jb2RpbmcgbWV0aG9kLgBGYWlsZWQgdG8gZGVjb2RlIG1ldGFkYXRhLgBGYWlsZWQgdG8gZGVjb2RlIGdlb21ldHJ5IGRhdGEuAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUAABgsAADeBgAAAAAAAIgHAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAABONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAAAAABgsAABYBwAAQCwAADwHAACABwAAAAAAAOgHAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAABONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlckUAAAAAGCwAAMAHAAD/////AAAAAGAIAAAuAAAALwAAABsAAAAwAAAAMQAAAB4AAAAfAAAAIAAAADIAAAAzAAAANAAAADUAAAA2AAAATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJzQ29udHJvbGxlckUAQCwAADAIAACIBwAAAAAAANQIAAA3AAAAOAAAADkAAAAoAAAAKQAAACoAAAA6AAAALAAAADsAAAA8AAAAPQAAAD4AAAA/AAAATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVEZWNvZGVyRQBALAAAqAgAAOgHAAAAAAAAYAsAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWREZWNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZURlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFABgsAAAECwAAQCwAANkKAAAoCwAAQCwAAKUKAAAwCwAAQCwAAFEKAAA8CwAAQCwAALsJAABICwAAQCwAABgJAABUCwAAAAAAAFQLAABAAAAATAAAACIAAABDAAAAIgAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAACIAAAAAAAAASAsAAEAAAABNAAAAIgAAAEMAAAAiAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAAIgAAAAAAAADIDAAATgAAAE8AAABQAAAAQwAAAFEAAABFAAAARgAAAEcAAABIAAAASQAAAFIAAABTAAAATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAQCwAABQMAABUCwAAAAAAALQNAABUAAAAVQAAAFYAAABDAAAAVwAAAFgAAABZAAAAWgAAAEgAAABJAAAAWwAAAFwAAABONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAABALAAADA0AAFQLAAAAAAAAoA4AAF0AAABeAAAAXwAAAEMAAABgAAAAYQAAAGIAAABjAAAASAAAAEkAAABkAAAAZQAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAAEAsAAD4DQAAVAsAAAAAAAAoEAAAZgAAAGcAAABoAAAAaQAAAGoAAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAABgsAABzDwAAQCwAAMgOAAAgEAAAAAAAACAQAABmAAAAawAAACIAAABpAAAAIgAAAAAAAAC0EQAAQAAAAGwAAABtAAAAQwAAAG4AAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABvAAAATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAQCwAAB4RAABICwAAQCwAAIgQAACoEQAAAAAAAKgRAABAAAAAcAAAACIAAABDAAAAIgAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAACIAAAAAAAAA2BIAAHEAAAByAAAAcwAAAEMAAAB0AAAARQAAAEYAAABHAAAASAAAAEkAAAB1AAAAdgAAAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAEAsAAAwEgAAqBEAAAAAAAC4EwAAdwAAAHgAAAB5AAAAQwAAAHoAAAB7AAAAfAAAAH0AAABIAAAASQAAAH4AAAB/AAAATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAQCwAABwTAACoEQAAAAAAAJQUAACAAAAAgQAAAIIAAABDAAAAgwAAAIQAAACFAAAAhgAAAEgAAABJAAAAhwAAAIgAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAEAsAAD8EwAAqBEAAAAAAAAAFgAAiQAAAIoAAACLAAAAjAAAAI0AAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAGCwAAFoVAABALAAAvBQAAPgVAAAAAAAA+BUAAIkAAACOAAAAIgAAAIwAAAAiAAAAAAAAALwWAABAAAAAjwAAAJAAAABDAAAAkQAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAJIAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAAAAAEAsAABgFgAASAsAAAAAAAAwFwAAkwAAAJQAAACVAAAAKAAAACkAAACWAAAAOgAAACwAAAA7AAAAlwAAAJgAAACZAAAAmgAAAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVEZWNvZGVyRQAAQCwAAAQXAADUCAAAAAAAAGQZAACbAAAAnAAAAJ0AAACeAAAAnwAAAKAAAAChAAAAogAAAKMAAACkAAAApQAAAKYAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQAAQCwAAN8YAAA8CwAAQCwAADEYAABMGQAAQCwAAHQXAABYGQAAAAAAABwbAACnAAAAqAAAAKkAAACqAAAAqwAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAGCwAAE8aAABALAAAjBkAABQbAAAAAAAAwBwAAKwAAACtAAAArgAAAJ4AAACvAAAAsAAAALEAAACyAAAAowAAAKQAAACzAAAAtAAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAABALAAAEBwAAEwZAABALAAAYBsAALQcAAAAAAAAXB4AALUAAAC2AAAAtwAAALgAAAC5AAAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFABgsAACeHQAAQCwAAOgcAABUHgAAAAAAABQfAAC6AAAAuwAAALwAAACeAAAAvQAAAL4AAAC/AAAAwAAAAKMAAACkAAAAwQAAAMIAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAAAAAEAsAACgHgAATBkAAAAAAACYHwAAwwAAAMQAAADFAAAAKAAAACkAAADGAAAAOgAAACwAAAA7AAAAxwAAAD0AAAA+AAAAyAAAAMkAAADKAAAATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAAAAAEAsAABkHwAA1AgAAAAAAAD4HwAAywAAAMwAAADNAAAAzgAAACIAAADPAAAA0AAAANEAAADSAAAA0wAAANQAAADVAAAAIgAAAE41ZHJhY28xMU1lc2hEZWNvZGVyRQAAAEAsAADgHwAAvCcAAAAAAABkIAAA1gAAANcAAADNAAAA2AAAANkAAADPAAAA0AAAANEAAADaAAAA2wAAANwAAADdAAAA3gAAAE41ZHJhY28yMk1lc2hFZGdlYnJlYWtlckRlY29kZXJFAAAAAEAsAABAIAAA+B8AAAAAAABYIQAA3wAAAOAAAADhAAAA4gAAAOMAAADkAAAA5QAAAOYAAADnAAAA6AAAAP////8AAAAAuCEAAOkAAADqAAAA6wAAAOwAAADtAAAA7gAAAO8AAADwAAAA8QAAAPIAAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbERlY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VicmVha2VyRGVjb2RlckltcGxJbnRlcmZhY2VFAAAAGCwAACAhAABALAAA1CAAAFAhAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAABALAAAZCEAAFAhAAAAAAAAtCIAAPMAAAD0AAAA9QAAAE41ZHJhY28xOURlcHRoRmlyc3RUcmF2ZXJzZXJJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUAGCwAAEUiAABALAAA2CEAAKwiAAAAAAAArCIAAPYAAAD3AAAA9Q=="),n(r,8932,"AQAAAAMAAAAFAAAABwAAAAAAAAC4IwAA+AAAAPkAAAD6AAAA+wAAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUAAAAAGCwAAJMjAABALAAADCMAALAjAAD/////AAAAAKgkAAD8AAAA/QAAAP4AAABONWRyYWNvMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQAAGCwAAEUkAABALAAA3CMAAKAkAAAAAAAAoCQAAP8AAAAAAQAA/gAAAAAAAABgJQAAAQEAAAIBAAADAQAABAEAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAAAAQCwAAOAkAACwIwAAAAAAAOAlAAAFAQAABgEAAP4AAABONWRyYWNvMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBALAAAgCUAAKAkAAAAAAAAkCYAAAcBAAAIAQAACQEAAAoBAABONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMl9FRUVFRUUAAEAsAAAEJgAAsCM="),n(r,9892,"/CYAAMsAAAALAQAAzQAAAM4AAAAMAQAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAAA0BAABONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAEAsAADcJgAA+B8AAAAAAAA8JwAADgEAAA8BAAAQAQAAEQEAAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUAAABALAAAICcAALAjAAAAAAAAvCcAAMsAAAASAQAAEwEAAM4AAAAiAAAAFAEAANAAAADRAAAA0g=="),n(r,10112,"RmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ATjVkcmFjbzE3UG9pbnRDbG91ZERlY29kZXJFAAAAGCwAAJ4nAAABAAAAAQAAAAIAAAACAAAABAAAAAQAAAAIAAAACAAAAAQAAAAIAAAAAQ=="),n(r,10243,"wAAAAMAAAADAAAAAwP//////////AAAAAEAoAAAVAQAAFgEAABcBAAAYAQAATjVkcmFjbzRNZXNoRQAAAEAsAAAwKAAAhCgAAP////8AAAAAAAAAAIQoAAAZAQAAGgEAABsBAAAcAQAATjVkcmFjbzEwUG9pbnRDbG91ZEUAAAAAGCwAAGwo"),n(r,10388,"AgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OQ=="),n(r,10980,"CgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUAypo7AAAAACwrAAAdAQAAHgEAAB8BAABTdDlleGNlcHRpb24AAAAAGCwAABwrAAAAAAAAWCsAAA0AAAAgAQAAIQEAAFN0MTFsb2dpY19lcnJvcgBALAAASCsAACwrAAAAAAAAjCsAAA0AAAAiAQAAIQEAAFN0MTJsZW5ndGhfZXJyb3IAAAAAQCwAAHgrAABYKwAAU3Q5dHlwZV9pbmZvAAAAABgsAACYKwAATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAAAAAQCwAALArAACoKwAATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAAAAQCwAAOArAADUKwAAAAAAAAQsAAAjAQAAJAEAACUBAAAmAQAAJwEAACgBAAApAQAAKgEAAAAAAACILAAAIwEAACsBAAAlAQAAJgEAACcBAAAsAQAALQEAAC4BAABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UAAAAAQCwAAGAsAAAELA=="),n(r,11413,"L1A=");var hi,yi=(hi=[null,$t,fi,ni,function(e,r){e|=0;var t=0;return!(r=f[88+(r|=0)>>2])|2!=f[r>>2]||(t=e,e=f[r+8>>2],f[t+4>>2]=A[0|e]|A[e+1|0]<<8|A[e+2|0]<<16|A[e+3|0]<<24,t=1),0|t},function(e,r){e|=0;var t,i=0;f[(r|=0)>>2]=2,i=f[r+8>>2],(t=f[r+12>>2]-i|0)>>>0<=4294967291&&(yt(r+8|0,t+4|0),i=f[r+8>>2]),r=i+t|0,e=f[e+4>>2],a[0|r]=e,a[r+1|0]=e>>>8,a[r+2|0]=e>>>16,a[r+3|0]=e>>>24},function(e,r,t,i){e|=0,r|=0,t|=0;var n,a=0,o=0,s=0,c=0,b=0,l=0,_=0;if(s=f[80+(i|=0)>>2],V=n=V-48|0,!((e=f[e+4>>2])-31>>>0<4294967267))if(c=f[f[i>>2]>>2]+f[i+48>>2]|0,f[n+16>>2]=e,e=-1<<e,f[n+20>>2]=-1^e,e=-2-e|0,f[n+24>>2]=e,f[n+32>>2]=(0|e)/2,u[n+28>>2]=k(2)/k(0|e),(0|(o=f[t>>2]))==f[t+4>>2])if(s)for(i=0,e=0;b=n+36|0,t=f[f[r>>2]>>2],a=f[r+40>>2],ge(b,t+(o=f[r+48>>2]+Pr(a,f[r+44>>2],A[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],0)|0)|0,a),Ie(n+16|0,b,n+12|0,n+8|0),f[(t=i<<2)+c>>2]=f[n+12>>2],f[(4|t)+c>>2]=f[n+8>>2],i=i+2|0,a=1,(0|s)!=(0|(e=e+1|0)););else a=1;else for(e=0,i=0;a=f[(i<<2)+o>>2],s=n+36|0,b=f[f[r>>2]>>2],_=f[r+48>>2],o=f[r+44>>2],l=f[r+40>>2],A[r+84|0]||(a=f[f[r+68>>2]+(a<<2)>>2]),ge(s,(a=Pr(l,o,a,0)+_|0)+b|0,l),Ie(n+16|0,s,n+12|0,n+8|0),f[(o=e<<2)+c>>2]=f[n+12>>2],f[(4|o)+c>>2]=f[n+8>>2],a=1,e=e+2|0,i=i+1|0,o=f[t>>2],i>>>0<f[t+4>>2]-o>>2>>>0;);return V=n+48|0,0|a},Ue,function(e,r){r|=0;var t,i=0;return V=t=V-16|0,-1!=(0|(e=f[4+(e|=0)>>2]))&&(a[t+15|0]=e,i=f[r+20>>2],!!f[r+16>>2]&(0|i)>=0|(0|i)>0||pe(r,f[r+4>>2],t+15|0,t+16|0)),V=t+16|0,-1!=(0|e)|0},Mr,function(e,r,t){var i,n,o,s,c,A;return r|=0,t|=0,V=i=V+-64|0,n=0|yi[f[f[(e|=0)>>2]+44>>2]](e,r),e=0|yi[f[f[e>>2]+40>>2]](e,r),o=$r(i),s=f[r+56>>2],c=n<<24>>24,A=e,e=(e=e-1|0)>>>0<=10?f[10180+(e<<2)>>2]:-1,bt(o,s,c,A,0,e=p(e,n),e>>31),He(e=Ke(_t(96),o),t),a[e+84|0]=1,f[e+72>>2]=f[e+68>>2],f[e+60>>2]=f[r+60>>2],V=i- -64|0,0|e},Pt,function(e,r){return 2},kt,function(e){var r;return f[(e|=0)>>2]=1140,(r=f[e+8>>2])&&(f[e+12>>2]=r,ee(r)),0|e},function(e){var r;f[(e|=0)>>2]=1140,(r=f[e+8>>2])&&(f[e+12>>2]=r,ee(r)),ee(e)},ei,function(e,r){e|=0;var t=0,i=0,n=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0;if(!(!(t=f[88+(r|=0)>>2])|1!=f[t>>2])){if(i=f[t+8>>2],f[e+4>>2]=A[0|i]|A[i+1|0]<<8|A[i+2|0]<<16|A[i+3|0]<<24,i=a[r+24|0],n=f[e+8>>2],i>>>0>(o=f[e+12>>2]-n>>2)>>>0?(sr(e+8|0,i-o|0),i=a[r+24|0],n=f[e+8>>2]):i>>>0>=o>>>0||(f[e+12>>2]=(i<<2)+n),u=1,o=f[t+8>>2],(0|i)<=0)r=4;else{if(c=3&i,i-1>>>0<3)r=4,i=0;else for(_=-4&i,i=0,r=4;t=r+o|0,f[(s=i<<2)+n>>2]=A[0|t]|A[t+1|0]<<8|A[t+2|0]<<16|A[t+3|0]<<24,f[(4|s)+n>>2]=A[t+4|0]|A[t+5|0]<<8|A[t+6|0]<<16|A[t+7|0]<<24,f[(8|s)+n>>2]=A[t+8|0]|A[t+9|0]<<8|A[t+10|0]<<16|A[t+11|0]<<24,f[(12|s)+n>>2]=A[t+12|0]|A[t+13|0]<<8|A[t+14|0]<<16|A[t+15|0]<<24,i=i+4|0,r=r+16|0,(0|_)!=(0|(b=b+4|0)););if(c)for(;t=r+o|0,f[(i<<2)+n>>2]=A[0|t]|A[t+1|0]<<8|A[t+2|0]<<16|A[t+3|0]<<24,i=i+1|0,r=r+4|0,(0|(l=l+1|0))!=(0|c););}t=e,e=r+o|0,f[t+20>>2]=A[0|e]|A[e+1|0]<<8|A[e+2|0]<<16|A[e+3|0]<<24}return 0|u},function(e,r){e|=0;var t,i=0,n=0,o=0,s=0;if(f[(r|=0)>>2]=1,t=r+8|0,i=f[r+8>>2],(n=f[r+12>>2]-i|0)>>>0<=4294967291&&(yt(t,n+4|0),i=f[t>>2]),i=i+n|0,n=f[e+4>>2],a[0|i]=n,a[i+1|0]=n>>>8,a[i+2|0]=n>>>16,a[i+3|0]=n>>>24,(0|(i=f[e+8>>2]))!=f[e+12>>2])for(n=0;s=(n<<2)+i|0,i=f[r+8>>2],(o=f[r+12>>2]-i|0)>>>0<=4294967291&&(yt(t,o+4|0),i=f[t>>2]),i=i+o|0,o=f[s>>2],a[0|i]=o,a[i+1|0]=o>>>8,a[i+2|0]=o>>>16,a[i+3|0]=o>>>24,n=n+1|0,i=f[e+8>>2],n>>>0<f[e+12>>2]-i>>2>>>0;);(i=(i=f[r+12>>2])-(r=f[r+8>>2])|0)>>>0<=4294967291&&(yt(t,i+4|0),r=f[t>>2]),r=r+i|0,e=f[e+20>>2],a[0|r]=e,a[r+1|0]=e>>>8,a[r+2|0]=e>>>16,a[r+3|0]=e>>>24},function(e,r,t,i){e|=0,r|=0,t|=0,i|=0;var n,o=k(0),s=0,c=0,b=0,l=0,_=0,p=k(0),m=0,h=0,y=0,g=0,w=0,T=0,C=0,E=0,N=0,G=0,R=0,D=0,M=0,U=0;if(f[t>>2]==f[t+4>>2]){if(c=f[i+80>>2],V=G=V-16|0,_=f[e+4>>2],b=f[i+48>>2],i=f[f[i>>2]>>2],l=a[r+24|0],f[(t=G+8|0)>>2]=1065353216,N=t,u[t>>2]=k(-1<<_^-1)/u[e+20>>2],R=_t((0|l)!=(1073741823&l)?-1:l<<2),!(!c|(0|l)<=0))if(C=i+b|0,M=f[r>>2],t=f[r+48>>2],U=f[r+44>>2],D=f[r+40>>2],A[r+84|0])for(y=-2&l,E=1&l,r=0;;){if(w=ge(R,(b=f[M>>2])+(i=Pr(D,U,g,s)+t|0)|0,D),p=u[N>>2],m=f[e+8>>2],i=0,h=0,1!=(0|l))for(;b=C+(r<<2)|0,o=k(v(k(k(p*k(u[(T=i<<2)+w>>2]-u[m+T>>2]))+k(.5)))),_=k(d(o))<k(2147483648)?~~o:-2147483648,f[b>>2]=_,o=k(v(k(k(p*k(u[(_=4|T)+w>>2]-u[m+_>>2]))+k(.5)))),_=k(d(o))<k(2147483648)?~~o:-2147483648,f[b+4>>2]=_,i=i+2|0,r=r+2|0,(0|y)!=(0|(h=h+2|0)););if(E&&(b=C+(r<<2)|0,o=k(v(k(k(p*k(u[(i<<=2)+w>>2]-u[i+m>>2]))+k(.5)))),i=k(d(o))<k(2147483648)?~~o:-2147483648,f[b>>2]=i,r=r+1|0),g=i=g+1|0,!((0|c)!=(0|i)|(s=i?s:s+1|0)))break}else for(y=f[r+68>>2],E=-2&l,_=1&l,r=0;;){if(w=ge(R,(s=f[M>>2])+(i=Pr(D,U,f[y+(g<<2)>>2],0)+t|0)|0,D),p=u[N>>2],m=f[e+8>>2],i=0,h=0,1!=(0|l))for(;s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(T=i<<2)+w>>2]-u[m+T>>2]))+k(.5)))),b=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=b,o=k(v(k(k(p*k(u[(b=4|T)+w>>2]-u[m+b>>2]))+k(.5)))),b=k(d(o))<k(2147483648)?~~o:-2147483648,f[s+4>>2]=b,i=i+2|0,r=r+2|0,(0|E)!=(0|(h=h+2|0)););if(_&&(s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(i<<=2)+w>>2]-u[i+m>>2]))+k(.5)))),i=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=i,r=r+1|0),(0|c)==(0|(g=g+1|0)))break}return ee(R),V=G+16|0,1}if(V=G=V-16|0,N=f[e+4>>2],c=f[i+48>>2],s=f[f[i>>2]>>2],n=a[r+24|0],f[(i=G+8|0)>>2]=1065353216,b=i,u[i>>2]=k(-1<<N^-1)/u[e+20>>2],R=_t((0|n)!=(1073741823&n)?-1:n<<2),M=f[t>>2],!(!(t=f[t+4>>2]-M|0)|(0|n)<=0))if(C=s+c|0,U=f[r>>2],i=f[r+48>>2],D=f[r+44>>2],g=f[r+40>>2],T=(t>>=2)>>>0>1?t:1,A[r+84|0])for(_=-2&n,N=1&n,r=0;;){if(m=ge(R,(s=f[U>>2])+(t=Pr(g,D,f[M+(h<<2)>>2],0)+i|0)|0,g),p=u[b>>2],y=f[e+8>>2],t=0,l=0,1!=(0|n))for(;s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(E=t<<2)+m>>2]-u[y+E>>2]))+k(.5)))),c=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=c,o=k(v(k(k(p*k(u[(c=4|E)+m>>2]-u[y+c>>2]))+k(.5)))),c=k(d(o))<k(2147483648)?~~o:-2147483648,f[s+4>>2]=c,t=t+2|0,r=r+2|0,(0|_)!=(0|(l=l+2|0)););if(N&&(s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(t<<=2)+m>>2]-u[t+y>>2]))+k(.5)))),t=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=t,r=r+1|0),(0|T)==(0|(h=h+1|0)))break}else for(E=f[r+68>>2],_=-2&n,N=1&n,r=0;;){if(w=ge(R,(s=f[U>>2])+(t=Pr(g,D,f[E+(f[M+(h<<2)>>2]<<2)>>2],0)+i|0)|0,g),p=u[b>>2],m=f[e+8>>2],t=0,l=0,1!=(0|n))for(;s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(y=t<<2)+w>>2]-u[m+y>>2]))+k(.5)))),c=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=c,o=k(v(k(k(p*k(u[(c=4|y)+w>>2]-u[m+c>>2]))+k(.5)))),c=k(d(o))<k(2147483648)?~~o:-2147483648,f[s+4>>2]=c,t=t+2|0,r=r+2|0,(0|_)!=(0|(l=l+2|0)););if(N&&(s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(t<<=2)+w>>2]-u[t+m>>2]))+k(.5)))),t=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=t,r=r+1|0),(0|T)==(0|(h=h+1|0)))break}return ee(R),V=G+16|0,1},Ee,function(e,r){r|=0;var t,i,n=0,o=0;return V=t=V-16|0,-1!=(0|(i=f[4+(e|=0)>>2]))&&(n=f[r+20>>2],!!f[r+16>>2]&(0|n)>=0|(0|n)>0||(pe(r,f[r+4>>2],f[e+8>>2],f[e+12>>2]),n=f[r+20>>2],!!f[r+16>>2]&(0|n)>=0|(0|n)>0||(n=e+20|0,pe(r,f[r+4>>2],n,n+4|0),n=f[r+20>>2],o=f[r+16>>2],a[t+15|0]=f[e+4>>2],!!o&(0|n)>=0|(0|n)>0||pe(r,f[r+4>>2],t+15|0,t+16|0)))),V=t+16|0,-1!=(0|i)|0},De,Pt,function(e,r){return a[24+(r|=0)|0]},function(e){var r=0;return f[(e|=0)>>2]=1804,(r=f[e+16>>2])&&(f[e+20>>2]=r,ee(r)),(r=f[e+4>>2])&&(f[e+8>>2]=r,ee(r)),0|e},ci,function(e,r,t){return r|=0,t|=0,f[32+(e|=0)>>2]=t,f[e+28>>2]=r,1},Ae,function(e,r){r|=0;var t=0;return 0|yi[f[f[(e|=0)>>2]+36>>2]](e,r)&&0|yi[f[f[e>>2]+40>>2]](e,r)&&(t=0|yi[f[f[e>>2]+44>>2]](e)),0|t},function(e,r){return r|=0,f[f[4+(e|=0)>>2]+(r<<2)>>2]},function(e){return f[8+(e|=0)>>2]-f[e+4>>2]>>2},Ot,Xt,function(){T()},Jt,ei,function(e){var r;return f[(e|=0)>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),0|e},function(e){var r;f[(e|=0)>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),ee(e)},mt,function(e,r){return r|=0,f[12+(e|=0)>>2]=-1,f[e+8>>2]=r,1},function(e,r,t){r|=0,t|=0;var i,n=0;return i=f[8+(e|=0)>>2],a[i+24|0]<=0||He(i,f[r+4>>2]-f[r>>2]>>2)&&(n=0|yi[f[f[e>>2]+32>>2]](e,r,t)),0|n},function(e,r,t){return 1},Jt,function(e,r){e|=0;var t=0,i=0,n=0,a=0,o=0;if((0|yi[f[f[(r|=0)>>2]+20>>2]](r))<=0)return 1;e:{for(;;){if(-1==(0|(i=At(f[f[e+4>>2]+4>>2],0|yi[f[f[r>>2]+24>>2]](r,n)))))break e;if(a=f[e+4>>2],t=0,(0|i)<0||(o=f[a+4>>2],(0|i)>=f[o+12>>2]-f[o+8>>2]>>2||(t=f[f[a+8>>2]+(f[f[a+20>>2]+(i<<2)>>2]<<2)>>2],t=0|yi[f[f[t>>2]+32>>2]](t,i))),!t)break e;if(!(0|yi[f[f[r>>2]+28>>2]](r,t)))break e;if(n=n+1|0,!((0|yi[f[f[r>>2]+20>>2]](r))>(0|n)))break}return 1}return 0},function(e,r,t){e|=0,t|=0;var i,n,a=0,o=0,s=0,c=0,A=0,b=0,u=0,_=0;if(a=f[(r|=0)>>2],r=f[r+4>>2],n=_t((0|(i=f[f[e+8>>2]+40>>2]))>=0?i:-1),s=1,!((0|(c=r-a|0))<=0||(r=0,s=0,a=0+f[t+20>>2]|0,a=(o=i+(A=f[t+16>>2])|0)>>>0<i>>>0?a+1|0:a,b=o,o=f[t+12>>2],b>>>0>l[t+8>>2]&(0|o)<=(0|a)|(0|a)>(0|o)))){for(s=(0|(u=c>>2))>1?u:1;o=ge(n,A+f[t>>2]|0,i),f[t+16>>2]=b,f[t+20>>2]=a,ge(f[f[f[e+8>>2]+64>>2]>>2]+r|0,o,i),(0|s)!=(0|(_=_+1|0))&&(r=r+i|0,a=0+f[t+20>>2]|0,a=(o=i+(A=f[t+16>>2])|0)>>>0<i>>>0?a+1|0:a,b=o,c=o,(0|(o=f[t+12>>2]))>=(0|a)&l[t+8>>2]>=c>>>0|(0|a)<(0|o)););s=(0|_)>=(0|u)}return ee(n),0|s},function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=2044,t=f[e+60>>2],f[e+60>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),r=f[e+36>>2]){if((0|(i=f[e+40>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+36>>2]}f[e+40>>2]=r,ee(t)}return f[e>>2]=1804,(t=f[e+16>>2])&&(f[e+20>>2]=t,ee(t)),(t=f[e+4>>2])&&(f[e+8>>2]=t,ee(t)),0|e},function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=2044,t=f[e+60>>2],f[e+60>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),r=f[e+36>>2]){if((0|(i=f[e+40>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+36>>2]}f[e+40>>2]=r,ee(t)}f[e>>2]=1804,(t=f[e+16>>2])&&(f[e+20>>2]=t,ee(t)),(t=f[e+4>>2])&&(f[e+8>>2]=t,ee(t)),ee(e)},function(e,r){var t=0,i=0,n=0,a=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0,k=0;if(Ae(e|=0,r|=0)){if(c=e+36|0,(o=0|yi[f[f[e>>2]+24>>2]](e))>>>0>(t=(i=f[e+40>>2])-(n=f[e+36>>2])>>2)>>>0)Oe(c,o-t|0);else if(!(t>>>0<=o>>>0)){if((0|(n=n+(o<<2)|0))!=(0|i))for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|i)!=(0|n););f[e+40>>2]=n}e:if((0|o)<=0)n=0;else if(n=1,!((0|(t=f[r+20>>2]))>=(0|(i=f[r+12>>2]))&(a=f[r+16>>2])>>>0>=l[r+8>>2]|(0|t)>(0|i)))for(i=0;;){if(s=A[a+f[r>>2]|0],t=(a=a+1|0)?t:t+1|0,f[r+16>>2]=a,f[r+20>>2]=t,a=0|yi[f[f[e>>2]+48>>2]](e,s),b=(s=i<<2)+f[e+36>>2]|0,t=f[b>>2],f[b>>2]=a,t&&yi[f[f[t>>2]+4>>2]](t),!(t=f[f[c>>2]+s>>2]))break e;if(_=t,p=0|yi[f[f[e>>2]+28>>2]](e),k=0|yi[f[f[e>>2]+20>>2]](e,i),u=f[f[t>>2]+8>>2],!(0|yi[u](0|_,0|p,0|k)))break e;if(n=(0|o)>(0|(i=i+1|0)),(0|i)==(0|o))break e;if(a=f[r+16>>2],t=f[r+20>>2],s=f[r+12>>2],!(a>>>0<l[r+8>>2]&(0|t)<=(0|s)|(0|t)<(0|s)))break}e=!n}else e=0;return 0|e},function(e,r){r|=0;var t=0,i=0,n=0,a=0,o=0;if((t=f[60+(e|=0)>>2])&&(f[t+4>>2]=e+48,0|yi[f[f[t>>2]+12>>2]](t))){e:if(!((0|(t=0|yi[f[f[e>>2]+24>>2]](e)))<=0)){for(;;){if(a=f[4+(0|yi[f[f[e>>2]+28>>2]](e))>>2],o=0|yi[f[f[e>>2]+20>>2]](e,i),n=f[e+60>>2],0|yi[f[f[n>>2]+8>>2]](n,f[f[a+8>>2]+(o<<2)>>2])){if((0|t)!=(0|(i=i+1|0)))continue;break e}break}return 0}i=0,0|yi[f[f[e>>2]+36>>2]](e,r)&&0|yi[f[f[e>>2]+40>>2]](e,r)&&(i=0|yi[f[f[e>>2]+44>>2]](e))}return 0|i},function(e,r){r|=0;var t,i=0;return t=f[16+(e|=0)>>2],i=0,f[e+20>>2]-t>>2<=(0|r)||(i=0,(0|(r=f[(r<<2)+t>>2]))<0||(i=rr(f[f[e+36>>2]+(r<<2)>>2]))),0|i},function(e,r){r|=0;var t,i=0,n=0,a=0,o=0;if(i=1,!((0|(t=0|yi[f[f[(e|=0)>>2]+24>>2]](e)))<=0)&&(n=f[f[e+36>>2]>>2],a=e+48|0,i=0,0|yi[f[f[n>>2]+16>>2]](n,a,r))){for(n=1;(0|t)!=(0|(i=n))&&(n=i+1|0,o=f[f[e+36>>2]+(i<<2)>>2],0|yi[f[f[o>>2]+16>>2]](o,a,r)););i=(0|i)>=(0|t)}return 0|i},function(e,r){r|=0;var t,i=0,n=0,a=0,o=0;if(i=1,!((0|(t=0|yi[f[f[(e|=0)>>2]+24>>2]](e)))<=0)&&(n=f[f[e+36>>2]>>2],a=e+48|0,i=0,0|yi[f[f[n>>2]+20>>2]](n,a,r))){for(n=1;(0|t)!=(0|(i=n))&&(n=i+1|0,o=f[f[e+36>>2]+(i<<2)>>2],0|yi[f[f[o>>2]+20>>2]](o,a,r)););i=(0|i)>=(0|t)}return 0|i},function(e){var r,t,i=0,n=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0;V=r=V-16|0,m=1;e:if((0|(t=0|yi[f[f[(e|=0)>>2]+24>>2]](e)))<=0)m=0;else for(y=e+48|0;;){r:{if(f[40+(0|yi[f[f[e>>2]+28>>2]](e))>>2]&&(i=f[(s=k<<2)+f[e+36>>2]>>2],o=f[i+8>>2],b=rr(i))){i=f[40+(0|yi[f[f[e>>2]+28>>2]](e))>>2],l=f[o+56>>2],n=_t(32),f[r>>2]=n,f[r+4>>2]=24,f[r+8>>2]=-2147483616,a[n+24|0]=0,c=A[1308]|A[1309]<<8|A[1310]<<16|A[1311]<<24,o=A[1304]|A[1305]<<8|A[1306]<<16|A[1307]<<24,a[n+16|0]=o,a[n+17|0]=o>>>8,a[n+18|0]=o>>>16,a[n+19|0]=o>>>24,a[n+20|0]=c,a[n+21|0]=c>>>8,a[n+22|0]=c>>>16,a[n+23|0]=c>>>24,c=A[1300]|A[1301]<<8|A[1302]<<16|A[1303]<<24,o=A[1296]|A[1297]<<8|A[1298]<<16|A[1299]<<24,a[n+8|0]=o,a[n+9|0]=o>>>8,a[n+10|0]=o>>>16,a[n+11|0]=o>>>24,a[n+12|0]=c,a[n+13|0]=c>>>8,a[n+14|0]=c>>>16,a[n+15|0]=c>>>24,c=A[1292]|A[1293]<<8|A[1294]<<16|A[1295]<<24,o=A[1288]|A[1289]<<8|A[1290]<<16|A[1291]<<24,a[0|n]=o,a[n+1|0]=o>>>8,a[n+2|0]=o>>>16,a[n+3|0]=o>>>24,a[n+4|0]=c,a[n+5|0]=c>>>8,a[n+6|0]=c>>>16,a[n+7|0]=c>>>24,_=c=i+16|0;t:if(u=f[c>>2]){for(;_=(o=(0|l)>f[u+16>>2])?_:u,u=f[(o<<2)+u>>2];);if(!((0|c)==(0|_)|(0|l)<f[_+16>>2])&&(u=f[_+24>>2]))for(o=_+20|0;;){i:{n:{a:{if(_=(h=(d=(l=(c=A[u+27|0])<<24>>24<0)?f[u+20>>2]:c)>>>0<24)?d:24){c=u+16|0;o:{if(!(c=Rr(n,l=l?f[c>>2]:c,_))){if(d>>>0<=24)break o;break i}if((0|c)<0)break i}if(!(c=Rr(l,n,_)))break a;if((0|c)<0)break n;i=o;break t}if(d>>>0>24)break i}if(!h){i=o;break t}}u=u+4|0}if(!(u=f[u>>2]))break}}if(u=0,(0|(o=i+4|0))!=(0|(i=$e(i,r)))){for(o=a[i+39|0]<0?f[i+28>>2]:i+28|0,_=0,c=0;o=(i=o)+1|0,32==(0|(n=a[0|i]))|n-9>>>0<5;);t:{i:{n:switch((n=a[0|i])-43|0){case 0:break i;case 2:break n;default:break t}c=1}n=a[0|o],i=o}if(n-48>>>0<10)for(;_=48+(p(_,10)-a[0|i]|0)|0,o=a[i+1|0],i=i+1|0,o-48>>>0<10;);-1!=(0|(i=c?_:0-_|0))&&(u=0!=(0|i))}if(a[r+11|0]<0&&ee(f[r>>2]),u){s=f[f[f[e+36>>2]+s>>2]+8>>2],f[s+64>>2]||(n=i=_t(32),f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,o=f[s+64>>2],f[s+64>>2]=i,o&&((i=f[o>>2])&&(f[o+4>>2]=i,ee(i)),ee(o),n=f[s+64>>2]),f[s>>2]=n,i=f[n+20>>2],f[s+8>>2]=f[n+16>>2],f[s+12>>2]=i,o=f[n+24>>2],i=f[n+28>>2],f[s+48>>2]=0,f[s+52>>2]=0,f[s+40>>2]=0,f[s+44>>2]=0,f[s+16>>2]=o,f[s+20>>2]=i);t:if(a[s+24|0]=A[b+24|0],f[s+28>>2]=f[b+28>>2],a[s+32|0]=A[b+32|0],i=f[b+44>>2],f[s+40>>2]=f[b+40>>2],f[s+44>>2]=i,i=f[b+52>>2],f[s+48>>2]=f[b+48>>2],f[s+52>>2]=i,f[s+56>>2]=f[b+56>>2],i=f[b+12>>2],f[s+8>>2]=f[b+8>>2],f[s+12>>2]=i,i=f[b+20>>2],f[s+16>>2]=f[b+16>>2],f[s+20>>2]=i,f[s+60>>2]=f[b+60>>2],(o=f[b>>2])?(n=0,(i=f[s>>2])&&(Yr(n=i,i=f[o>>2],f[o+4>>2]-i|0,0),n=1)):(f[s>>2]=0,n=1),n){a[s+84|0]=A[b+84|0],f[s+80>>2]=f[b+80>>2],(0|s)!=(0|b)&&Le(s+68|0,f[b+68>>2],f[b+72>>2]);i:{n:{if(l=f[b+88>>2]){if(i=_t(40),o=f[l>>2],f[i+16>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[i>>2]=o,n=f[l+12>>2]-f[l+8>>2]|0){if((0|n)<0)break i;o=_t(n),f[i+8>>2]=o,f[i+12>>2]=o,f[i+16>>2]=n+o,n=f[l+8>>2],(0|(c=f[l+12>>2]-n|0))>0&&(o=ge(o,n,c)+c|0),f[i+12>>2]=o}if(o=f[l+36>>2],f[i+32>>2]=f[l+32>>2],f[i+36>>2]=o,o=f[l+28>>2],f[i+24>>2]=f[l+24>>2],f[i+28>>2]=o,n=f[s+88>>2],f[s+88>>2]=i,n)break n;break t}if(n=f[s+88>>2],f[s+88>>2]=0,!n)break t}(i=f[n+8>>2])&&(f[n+12>>2]=i,ee(i)),ee(n);break t}oi(),T()}break r}}if(i=f[f[e+36>>2]+(k<<2)>>2],!(0|yi[f[f[i>>2]+24>>2]](i,y)))break e}if(m=(0|t)>(0|(k=k+1|0)),(0|k)==(0|t))break}return V=r+16|0,1&(-1^m)},function(e,r){switch(e|=0,e=0,0|(r|=0)){case 0:return e=_t(20),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,0|e;case 1:return e=_t(24),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,0|e;case 2:return e=_t(48),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,f[e+32>>2]=0,f[e+36>>2]=0,f[e+28>>2]=-1,f[e+24>>2]=1140,f[e>>2]=7976,f[e+40>>2]=0,f[e+44>>2]=0,0|e;case 3:e=_t(32),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,f[e+28>>2]=-1,f[e+24>>2]=1032,f[e>>2]=5840}return 0|e},ot,ct,mt,function(e,r){return r|=0,0|yi[f[f[(e|=0)>>2]+48>>2]](e,f[r+4>>2]-f[r>>2]>>2)},function(e,r,t){e|=0,r|=0;var i,n,o=0,s=0,c=0,A=0,b=0,l=0,u=0;e:if(!((0|(o=i=f[12+(t|=0)>>2]))<=(0|(s=f[t+20>>2]))&(n=f[t+8>>2])>>>0<=(c=f[t+16>>2])>>>0|(0|o)<(0|s))){if(b=f[t>>2],l=a[b+c|0],o=s,o=(A=c+1|0)?o:o+1|0,f[t+16>>2]=A,f[t+20>>2]=o,-2!=(0|l)){if((0|o)>=(0|i)&A>>>0>=n>>>0|(0|o)>(0|i))break e;if(o=a[A+b|0],s=(c=c+2|0)>>>0<2?s+1|0:s,f[t+16>>2]=c,f[t+20>>2]=s,(o-4&255)>>>0<251)break e;s=0|yi[f[f[e>>2]+40>>2]](e,l,o),o=f[e+20>>2],f[e+20>>2]=s,o&&yi[f[f[o>>2]+4>>2]](o)}(!(o=f[e+20>>2])||0|yi[f[f[e>>2]+28>>2]](e,o))&&(u=0|yi[f[f[e>>2]+36>>2]](e,r,t))}return 0|u},oe,function(e,r,t){e|=0,r|=0;var i,n=0,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0,p=0;if(V=i=V-48|0,1==(0|(t|=0))){s=f[e+4>>2],e=f[e+12>>2],f[i+40>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,o=i+8|0;e:if(-2!=(0|r)){if(u=f[f[f[s+4>>2]+8>>2]+(e<<2)>>2],1==(0|yi[f[f[s>>2]+8>>2]](s))){V=l=V-32|0,c=f[f[f[s+4>>2]+8>>2]+(e<<2)>>2];r:{t:{if(!(1!=(0|yi[f[f[s>>2]+8>>2]](s))|r-1>>>0>5||!(b=0|yi[f[f[s>>2]+36>>2]](s))|!(A=0|yi[f[f[s>>2]+44>>2]](s,e))))if(t=0|yi[f[f[s>>2]+40>>2]](s,e)){e=f[s+44>>2],f[l+12>>2]=t,f[l+8>>2]=e,f[l+20>>2]=A,f[l+16>>2]=A+12,s=l+8|0,e=0;i:{n:switch(r-1|0){case 0:if(e=_t(60),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],n=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],n=f[o+28>>2]-r|0){if((0|n)<0)break t;t=_t(n),f[e+32>>2]=t,f[e+40>>2]=t+(n>>2<<2),_=e,p=ge(t,r,n)+n|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[e>>2]=2280;break i;case 3:if(e=_t(112),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],n=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],n=f[o+28>>2]-r|0){if((0|n)<0)break t;t=_t(n),f[e+32>>2]=t,f[e+40>>2]=t+(n>>2<<2),_=e,p=ge(t,r,n)+n|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=3044,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0;break i;case 4:if(e=_t(104),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],n=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],n=f[o+28>>2]-r|0){if((0|n)<0)break t;t=_t(n),f[e+32>>2]=t,f[e+40>>2]=t+(n>>2<<2),_=e,p=ge(t,r,n)+n|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,t=f[s+8>>2],r=f[s+12>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=3292,f[e+52>>2]=t,f[e+56>>2]=r,r=f[s+4>>2],f[e+88>>2]=f[s>>2],f[e+92>>2]=r,r=f[s+12>>2],f[e+96>>2]=f[s+8>>2],f[e+100>>2]=r;break i;case 5:break n;default:break i}e=_t(128),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],n=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r;n:{a:{if(t=f[o+28>>2]-f[o+24>>2]|0){if((0|t)<0)break a;r=_t(t),f[e+32>>2]=r,f[e+36>>2]=r,f[e+40>>2]=r+(t>>2<<2),t=f[o+24>>2],(0|(n=f[o+28>>2]-t|0))>0&&(r=ge(r,t,n)+n|0),f[e+36>>2]=r}f[e>>2]=2932,r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[(r=e- -64|0)>>2]=0,f[r+4>>2]=0,f[e+60>>2]=4156,f[e>>2]=3528,r=f[s+4>>2],f[e+72>>2]=f[s>>2],f[e+76>>2]=r,r=f[s+12>>2],f[e+80>>2]=f[s+8>>2],f[e+84>>2]=r,f[e+104>>2]=1065353216,f[e+108>>2]=-1,f[e+96>>2]=-1,f[e+100>>2]=-1,f[e+88>>2]=1,f[e+92>>2]=-1,f[e+60>>2]=3764,f[e+112>>2]=0,f[e+116>>2]=0,a[e+117|0]=0,a[e+118|0]=0,a[e+119|0]=0,a[e+120|0]=0,a[e+121|0]=0,a[e+122|0]=0,a[e+123|0]=0,a[e+124|0]=0;break n}oi(),T()}}n=e}else{e=f[s+44>>2],f[l+12>>2]=b,f[l+8>>2]=e,f[l+20>>2]=A,f[l+16>>2]=A+12,s=l+8|0,e=0;i:{n:switch(r-1|0){case 0:if(e=_t(60),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],n=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],n=f[o+28>>2]-r|0){if((0|n)<0)break t;t=_t(n),f[e+32>>2]=t,f[e+40>>2]=t+(n>>2<<2),_=e,p=ge(t,r,n)+n|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[e>>2]=4184;break i;case 3:if(e=_t(112),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],n=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],n=f[o+28>>2]-r|0){if((0|n)<0)break t;t=_t(n),f[e+32>>2]=t,f[e+40>>2]=t+(n>>2<<2),_=e,p=ge(t,r,n)+n|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=4608,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0;break i;case 4:if(e=_t(104),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],n=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],n=f[o+28>>2]-r|0){if((0|n)<0)break t;t=_t(n),f[e+32>>2]=t,f[e+40>>2]=t+(n>>2<<2),_=e,p=ge(t,r,n)+n|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,t=f[s+8>>2],r=f[s+12>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=4844,f[e+52>>2]=t,f[e+56>>2]=r,r=f[s+4>>2],f[e+88>>2]=f[s>>2],f[e+92>>2]=r,r=f[s+12>>2],f[e+96>>2]=f[s+8>>2],f[e+100>>2]=r;break i;case 5:break n;default:break i}e=_t(128),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],n=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r;n:{a:{if(t=f[o+28>>2]-f[o+24>>2]|0){if((0|t)<0)break a;r=_t(t),f[e+32>>2]=r,f[e+36>>2]=r,f[e+40>>2]=r+(t>>2<<2),t=f[o+24>>2],(0|(n=f[o+28>>2]-t|0))>0&&(r=ge(r,t,n)+n|0),f[e+36>>2]=r}f[e>>2]=4552,r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[(r=e- -64|0)>>2]=0,f[r+4>>2]=0,f[e+60>>2]=5652,f[e>>2]=5068,r=f[s+4>>2],f[e+72>>2]=f[s>>2],f[e+76>>2]=r,r=f[s+12>>2],f[e+80>>2]=f[s+8>>2],f[e+84>>2]=r,f[e+104>>2]=1065353216,f[e+108>>2]=-1,f[e+96>>2]=-1,f[e+100>>2]=-1,f[e+88>>2]=1,f[e+92>>2]=-1,f[e+60>>2]=5288,f[e+112>>2]=0,f[e+116>>2]=0,a[e+117|0]=0,a[e+118|0]=0,a[e+119|0]=0,a[e+120|0]=0,a[e+121|0]=0,a[e+122|0]=0,a[e+123|0]=0,a[e+124|0]=0;break n}oi(),T()}}n=e}V=l+32|0;break r}oi(),T()}if(n)break e}n=_t(44),f[n+4>>2]=u,f[n>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],t=f[o+20>>2],r=f[o>>2],e=f[o+4>>2],f[n+40>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=b,f[n+28>>2]=t,f[n+16>>2]=c,f[n+20>>2]=A,f[n+8>>2]=r,f[n+12>>2]=e;r:{if(e=f[o+24>>2],t=f[o+28>>2]-e|0){if((0|t)<0)break r;r=_t(t),f[n+32>>2]=r,f[n+40>>2]=r+(t>>2<<2),_=n,p=ge(r,e,t)+t|0,f[_+36>>2]=p}f[n>>2]=5680;break e}oi(),T()}(e=f[i+32>>2])&&(f[i+36>>2]=e,ee(e))}return V=i+48|0,0|n},function(e){return a[f[8+(e|=0)>>2]+24|0]},function(e,r){r|=0;var t,i=0,n=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0,p=0,k=0,d=0;t=e|=0;e:{r:{t:{i:{n:{a:{o:{f:switch(u=f[e+8>>2],f[u+28>>2]-1|0){case 4:break t;case 5:break i;case 2:break n;case 3:break a;case 0:break o;case 1:break f;default:break e}if(n=_t((0|(i=a[u+24|0]))>=0?i:-1),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!r)break r;if((0|i)>0){for(u=-4&i,p=3&i,s=i-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,a[e+n|0]=f[l>>2],a[(1|e)+n|0]=f[l+4>>2],a[(2|e)+n|0]=f[l+8>>2],a[(3|e)+n|0]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;a[e+n|0]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+k|0,n,i),k=i+k|0,(0|(_=_+1|0))==(0|r))break}break r}if(ge(f[f[u+64>>2]>>2],n,i),1==(0|r))break r;if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),(0|r)!=(0|(c=c+2|0)););if(!b)break r;ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break r}if(n=_t((0|(i=a[u+24|0]))>=0?i:-1),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!r)break r;if((0|i)>0){for(u=-4&i,p=3&i,s=i-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,a[e+n|0]=f[l>>2],a[(1|e)+n|0]=f[l+4>>2],a[(2|e)+n|0]=f[l+8>>2],a[(3|e)+n|0]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;a[e+n|0]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+k|0,n,i),k=i+k|0,(0|(_=_+1|0))==(0|r))break}break r}if(ge(f[f[u+64>>2]>>2],n,i),1==(0|r))break r;if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),(0|r)!=(0|(c=c+2|0)););if(!b)break r;ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break r}if(n=_t((e=(s=a[u+24|0])+s|0)>>>0<s>>>0?-1:e),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!r)break r;if(i=s<<1,(0|s)>0){for(u=-4&s,p=3&s,s=s-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,o[(_=e<<1)+n>>1]=f[l>>2],o[(2|_)+n>>1]=f[l+4>>2],o[(4|_)+n>>1]=f[l+8>>2],o[(6|_)+n>>1]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;o[(e<<1)+n>>1]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+d|0,n,i),d=i+d|0,(0|(k=k+1|0))==(0|r))break}break r}if(ge(f[f[u+64>>2]>>2],n,i),1==(0|r))break r;if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),(0|r)!=(0|(c=c+2|0)););if(!b)break r;ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break r}if(n=_t((e=(s=a[u+24|0])+s|0)>>>0<s>>>0?-1:e),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!r)break r;if(i=s<<1,(0|s)>0){for(u=-4&s,p=3&s,s=s-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,o[(_=e<<1)+n>>1]=f[l>>2],o[(2|_)+n>>1]=f[l+4>>2],o[(4|_)+n>>1]=f[l+8>>2],o[(6|_)+n>>1]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;o[(e<<1)+n>>1]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+d|0,n,i),d=i+d|0,(0|(k=k+1|0))==(0|r))break}break r}if(ge(f[f[u+64>>2]>>2],n,i),1==(0|r))break r;if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),(0|r)!=(0|(c=c+2|0)););if(!b)break r;ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break r}if(i=(s=a[u+24|0])<<2,n=_t((0|s)!=(1073741823&s)?-1:i),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!r)break r;if((0|s)>0){for(u=-4&s,p=3&s,s=s-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,f[(_=e<<2)+n>>2]=f[l>>2],f[(4|_)+n>>2]=f[l+4>>2],f[(8|_)+n>>2]=f[l+8>>2],f[(12|_)+n>>2]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;f[(e<<2)+n>>2]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+d|0,n,i),d=i+d|0,(0|(k=k+1|0))==(0|r))break}break r}if(ge(f[f[u+64>>2]>>2],n,i),1==(0|r))break r;if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),(0|r)!=(0|(c=c+2|0)););if(!b)break r;ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break r}if(i=(s=a[u+24|0])<<2,n=_t((0|s)!=(1073741823&s)?-1:i),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,r)if((0|s)>0)for(u=-4&s,p=3&s,s=s-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,f[(_=e<<2)+n>>2]=f[l>>2],f[(4|_)+n>>2]=f[l+4>>2],f[(8|_)+n>>2]=f[l+8>>2],f[(12|_)+n>>2]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;f[(e<<2)+n>>2]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+d|0,n,i),d=i+d|0,(0|(k=k+1|0))==(0|r))break}else if(ge(f[f[u+64>>2]>>2],n,i),1!=(0|r)){if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),(0|r)!=(0|(c=c+2|0)););b&&ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i)}}ee(n),n=1}return 0|n},function(e){var r;return f[(e|=0)>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},Ct,ei,Lt,vt,ii,Qt,Xt,ii,ei,function(e,r){e|=0;var t,i,n,a=0,o=0,s=0,c=0,b=0,l=0;return i=o=f[12+(r|=0)>>2],s=a=f[r+20>>2],a=(t=(c=f[r+16>>2])+4|0)>>>0<4?a+1|0:a,(n=f[r+8>>2])>>>0<t>>>0&(0|a)>=(0|o)|(0|a)>(0|o)||(b=f[r>>2],o=A[0|(o=b+c|0)]|A[o+1|0]<<8|A[o+2|0]<<16|A[o+3|0]<<24,f[r+16>>2]=t,f[r+20>>2]=a,a=s,c=s=c+8|0,s=a=s>>>0<8?a+1|0:a,c>>>0>n>>>0&(0|a)>=(0|i)|(0|a)>(0|i)||(a=A[0|(a=t+b|0)]|A[a+1|0]<<8|A[a+2|0]<<16|A[a+3|0]<<24,f[r+16>>2]=c,f[r+20>>2]=s,(0|a)<(0|o)||(f[e+16>>2]=a,f[e+12>>2]=o,!(r=(a>>31)-((o>>31)+(a>>>0<o>>>0)|0)|0)&(a=a-o|0)>>>0>2147483646|r||(l=1,r=a+1|0,f[e+20>>2]=r,a=r>>>1|0,f[e+24>>2]=a,f[e+28>>2]=0-a,1&r||(f[e+24>>2]=a-1))))),0|l},function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s,c,A=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;if(f[8+(e|=0)>>2]=n,_=f[(i=e+32|0)>>2],(a=f[e+36>>2]-_>>2)>>>0<n>>>0?(sr(i,n-a|0),_=f[i>>2],i=f[e+8>>2]):(n>>>0<a>>>0&&(f[e+36>>2]=(n<<2)+_),i=n),c=f[e+52>>2],o=f[e+48>>2],a=0,k=Je(_t(k=(1073741823&n)!=(0|n)?-1:n<<2),0,k),!((0|i)<=0)){for(;(0|(A=f[(i=a<<2)+k>>2]))>(0|(b=f[e+16>>2]))?f[i+_>>2]=b:(i=i+_|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|A)?b:A),(0|(i=f[e+8>>2]))>(0|(a=a+1|0)););if(!((0|i)<=0))for(a=0;;){i=(A=a<<2)+t|0,A=f[r+A>>2]+f[A+_>>2]|0,f[i>>2]=A;e:{if((0|A)>f[e+16>>2])A=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break e;A=A+f[e+20>>2]|0}f[i>>2]=A}if(!((0|(i=f[e+8>>2]))>(0|(a=a+1|0))))break}}if(a=f[e+56>>2],s=f[a>>2],(0|(a=f[a+4>>2]-s|0))>=5)for(h=(0|(a>>=2))>2?a:2,y=a>>>0>1?a:1,v=-2&n,g=1&n,_=1;;){e:{r:{if((0|_)!=(0|y)){if(m=p(n,_),-1==(0|(a=f[(_<<2)+s>>2]))|f[f[o>>2]+(a>>>3&536870908)>>2]>>>a&1)break r;if(-1==(0|(a=f[f[f[o+64>>2]+12>>2]+(a<<2)>>2])))break r;if(b=f[c>>2],A=f[o+28>>2],(0|(u=f[b+(f[A+(a<<2)>>2]<<2)>>2]))>=(0|_))break r;if((0|(l=f[b+(f[A+((((l=a+1|0)>>>0)%3|0?l:a-2|0)<<2)>>2]<<2)>>2]))>=(0|_))break r;if((0|(a=f[b+(f[A+(a+((a>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2]))>=(0|_))break r;if(!((0|n)<=0)){if(A=p(n,a),b=p(n,l),u=p(n,u),a=0,d=0,1!=(0|n))for(;f[k+(a<<2)>>2]=(f[(a+A<<2)+t>>2]+f[(a+b<<2)+t>>2]|0)-f[(a+u<<2)+t>>2],f[k+((l=1|a)<<2)>>2]=(f[(A+l<<2)+t>>2]+f[(b+l<<2)+t>>2]|0)-f[(u+l<<2)+t>>2],a=a+2|0,(0|v)!=(0|(d=d+2|0)););g&&(f[k+(a<<2)>>2]=(f[(a+A<<2)+t>>2]+f[(a+b<<2)+t>>2]|0)-f[(a+u<<2)+t>>2])}if((0|i)<=0)break e;for(b=f[e+32>>2],a=0;(0|(A=f[(i=a<<2)+k>>2]))>(0|(u=f[e+16>>2]))?f[i+b>>2]=u:(i=i+b|0,u=f[e+12>>2],f[i>>2]=(0|u)>(0|A)?u:A),(0|(i=f[e+8>>2]))>(0|(a=a+1|0)););if(a=0,(0|i)<=0)break e;for(u=(i=m<<2)+t|0,l=r+i|0;;){i=(A=a<<2)+u|0,A=f[A+l>>2]+f[A+b>>2]|0,f[i>>2]=A;t:{if((0|A)>f[e+16>>2])A=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break t;A=A+f[e+20>>2]|0}f[i>>2]=A}if(!((0|(i=f[e+8>>2]))>(0|(a=a+1|0))))break}break e}li(),T()}if(!((0|i)<=0)){for(u=(p(_-1|0,n)<<2)+t|0,b=f[e+32>>2],a=0;(0|(A=f[(i=a<<2)+u>>2]))>(0|(l=f[e+16>>2]))?f[i+b>>2]=l:(i=i+b|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|A)?l:A),(0|(i=f[e+8>>2]))>(0|(a=a+1|0)););if(a=0,!((0|i)<=0))for(u=(i=m<<2)+t|0,l=r+i|0;;){i=(A=a<<2)+u|0,A=f[A+l>>2]+f[A+b>>2]|0,f[i>>2]=A;r:{if((0|A)>f[e+16>>2])A=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break r;A=A+f[e+20>>2]|0}f[i>>2]=A}if(!((0|(i=f[e+8>>2]))>(0|(a=a+1|0))))break}}}if((0|h)==(0|(_=_+1|0)))break}return ee(k),1},ci,ci,function(e){var r=0;return f[(e|=0)>>2]=3044,(r=f[e+96>>2])&&ee(r),(r=f[e+84>>2])&&ee(r),(r=f[e+72>>2])&&ee(r),(r=f[e+60>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r=0;f[(e|=0)>>2]=3044,(r=f[e+96>>2])&&ee(r),(r=f[e+84>>2])&&ee(r),(r=f[e+72>>2])&&ee(r),(r=f[e+60>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ri,vt,fe,function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s,c,A,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0,M=0,U=0,I=0,B=0,Z=0,W=0,F=0;V=o=V+-64|0,f[8+(e|=0)>>2]=n,b=f[(a=e+32|0)>>2];e:{if((i=f[e+36>>2]-b>>2)>>>0<n>>>0)sr(a,n-i|0),f[o+56>>2]=0,f[o+60>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o>>2]=0;else if(i>>>0>n>>>0&&(f[e+36>>2]=b+(n<<2)),f[o+56>>2]=0,f[o+60>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o>>2]=0,i=0,!n)break e;ve(o+16|0,n,o),l=f[o+28>>2],i=f[o+32>>2]}f[o>>2]=0;e:if((i=i-l>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[o+32>>2]=(n<<2)+l}else ve(o+16|12,n-i|0,o);f[o>>2]=0,a=f[o+40>>2];e:if((i=f[o+44>>2]-a>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[o+44>>2]=a+(n<<2)}else ve(o+40|0,n-i|0,o);f[o>>2]=0,a=f[o+52>>2];e:if((i=f[o+56>>2]-a>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[o+56>>2]=a+(n<<2)}else ve(o+52|0,n-i|0,o);if(l=0,!(f[e+8>>2]<=0)){for(u=f[e+32>>2],b=f[o+16>>2];(0|(a=f[(i=l<<2)+b>>2]))>(0|(d=f[e+16>>2]))?f[i+u>>2]=d:(i=i+u|0,d=f[e+12>>2],f[i>>2]=(0|d)>(0|a)?d:a),(0|(l=l+1|0))<(0|(i=f[e+8>>2])););if(!((0|i)<=0))for(i=0;;){a=(b=i<<2)+t|0,b=f[r+b>>2]+f[b+u>>2]|0,f[a>>2]=b;e:{if((0|b)>f[e+16>>2])b=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break e;b=b+f[e+20>>2]|0}f[a>>2]=b}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}A=f[e+52>>2],s=f[e+48>>2],c=_t(16),f[(i=c)>>2]=0,f[i+4>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[o+8>>2]=0,f[o>>2]=0,f[o+4>>2]=0;e:{if(n){if(n>>>0>=1073741824)break e;E=_t(i=n<<2),f[o>>2]=E,f[o+8>>2]=i+E,Je(E,0,i)}y=1,i=f[e+56>>2],R=f[i>>2];r:if(!((0|(i=f[i+4>>2]-R|0))<5))for(I=(0|(i>>=2))>2?i:2,B=i>>>0>1?i:1,D=-2&n,M=1&n,Z=-4&n,U=3&n,N=n-1|0,W=n<<2,d=1;;){t:{i:{n:{a:{if((0|d)!=(0|B)){i=((a=f[(d<<2)+R>>2])>>>0)%3|0;o:{f:if(-1!=(0|a)){u=0,G=0!=(0|i)|-1!=(0|(b=a+2|0)),m=1,h=1<<(v=i?a-1|0:b),g=v>>>5|0,F=f[s>>2],i=a;s:{for(;;){if(!(f[(i>>>3&536870908)+F>>2]>>>i&1||-1==(0|(b=f[f[f[s+64>>2]+12>>2]+(i<<2)>>2]))||(_=f[A>>2],l=f[s+28>>2],(0|(y=f[_+(f[l+(b<<2)>>2]<<2)>>2]))>=(0|d)||(0|(k=f[_+(f[l+((((k=b+1|0)>>>0)%3|0?k:b-2|0)<<2)>>2]<<2)>>2]))>=(0|d)||(0|(l=f[_+(f[l+(b+((b>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2]))>=(0|d)))){if(n){if(b=f[(o+16|0)+p(u,12)>>2],_=p(n,l),k=p(n,k),y=p(n,y),l=0,C=0,N)for(;f[b+(l<<2)>>2]=(f[(l+_<<2)+t>>2]+f[(l+k<<2)+t>>2]|0)-f[(l+y<<2)+t>>2],f[b+((w=1|l)<<2)>>2]=(f[(_+w<<2)+t>>2]+f[(k+w<<2)+t>>2]|0)-f[(y+w<<2)+t>>2],l=l+2|0,(0|D)!=(0|(C=C+2|0)););M&&(f[b+(l<<2)>>2]=(f[(l+_<<2)+t>>2]+f[(l+k<<2)+t>>2]|0)-f[(l+y<<2)+t>>2])}if(b=4,4==(0|(u=u+1|0)))break s}c:if(1&m){if(l=i-2|0,b=i+1|0,i=-1,-1==(0|(b=(b>>>0)%3|0?b:l))|f[f[s>>2]+(b>>>3&536870908)>>2]>>>b&1)break c;if(-1==(0|(b=f[f[f[s+64>>2]+12>>2]+(b<<2)>>2])))break c;i=((i=b+1|0)>>>0)%3|0?i:b-2|0}else{if((i>>>0)%3|0)l=i-1|0;else if(l=i+2|0,i=-1,-1==(0|l))break c;i=-1,f[f[s>>2]+(l>>>3&536870908)>>2]>>>l&1||-1!=(0|(b=f[f[f[s+64>>2]+12>>2]+(l<<2)>>2]))&&(i=(b>>>0)%3|0?b-1|0:b+2|0)}c:if((0|i)!=(0|a)){if(!(1&(1^m)|-1!=(0|i))){if(!G|h&f[f[s>>2]+(g<<2)>>2])break c;if(-1==(0|(i=f[f[f[s+64>>2]+12>>2]+(v<<2)>>2])))break c;m=0,i=(i>>>0)%3|0?i-1|0:i+2|0}if(-1!=(0|i))continue}break}if((0|(b=u))<=0)break f}for(n&&Je(f[o>>2],0,W),w=((i=b-1|0)<<2)+c|0,C=i=p(i,12)+e|0,G=f[i- -64>>2],y=0,m=0,i=0;;){if(a=f[w>>2],f[w>>2]=a+1,a>>>0>=G>>>0)break r;if(!(f[f[C+60>>2]+(a>>>3&536870908)>>2]>>>a&1)&&(i=i+1|0,n)){if(u=f[o>>2],_=f[(o+16|0)+p(m,12)>>2],v=0,l=0,a=0,N>>>0>=3)for(;f[(h=(k=l<<2)+u|0)>>2]=f[h>>2]+f[_+k>>2],f[(g=(h=4|k)+u|0)>>2]=f[g>>2]+f[_+h>>2],f[(g=(h=8|k)+u|0)>>2]=f[g>>2]+f[_+h>>2],f[(h=(k|=12)+u|0)>>2]=f[h>>2]+f[_+k>>2],l=l+4|0,(0|Z)!=(0|(a=a+4|0)););if(U)for(;f[(k=(a=l<<2)+u|0)>>2]=f[k>>2]+f[a+_>>2],l=l+1|0,(0|U)!=(0|(v=v+1|0)););}if((0|(m=m+1|0))==(0|b))break}if(a=m=p(n,d),!i)break o;if(!n)break i;if(a=f[o>>2],l=0,b=0,N)break a;break n}a=p(n,d)}if(f[e+8>>2]<=0)break t;for(m=(p(d-1|0,n)<<2)+t|0,u=f[e+32>>2],l=0;(0|(b=f[(i=l<<2)+m>>2]))>(0|(_=f[e+16>>2]))?f[i+u>>2]=_:(i=i+u|0,_=f[e+12>>2],f[i>>2]=(0|_)>(0|b)?_:b),(0|(l=l+1|0))<(0|(b=f[e+8>>2])););if(i=0,(0|b)<=0)break t;for(l=(a<<=2)+t|0,m=r+a|0;;){a=(b=i<<2)+l|0,b=f[b+m>>2]+f[b+u>>2]|0,f[a>>2]=b;o:{if((0|b)>f[e+16>>2])b=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break o;b=b+f[e+20>>2]|0}f[a>>2]=b}if(!((0|(i=i+1|0))<f[e+8>>2]))break}break t}li(),T()}for(;f[(_=(u=l<<2)+a|0)>>2]=f[_>>2]/(0|i),f[(u=a+(4|u)|0)>>2]=f[u>>2]/(0|i),l=l+2|0,(0|D)!=(0|(b=b+2|0)););}M&&(f[(a=a+(l<<2)|0)>>2]=f[a>>2]/(0|i))}if(!(f[e+8>>2]<=0)){for(u=f[e+32>>2],l=0;(0|(a=f[(i=l<<2)+E>>2]))>(0|(b=f[e+16>>2]))?f[i+u>>2]=b:(i=i+u|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|a)?b:a),(0|(l=l+1|0))<(0|(a=f[e+8>>2])););if(i=0,!((0|a)<=0))for(l=(a=m<<2)+t|0,m=r+a|0;;){a=(b=i<<2)+l|0,b=f[b+m>>2]+f[b+u>>2]|0,f[a>>2]=b;i:{if((0|b)>f[e+16>>2])b=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break i;b=b+f[e+20>>2]|0}f[a>>2]=b}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}}if(y=1,(0|I)==(0|(d=d+1|0)))break}return(e=f[o>>2])&&ee(e),ee(c),(e=f[o+52>>2])&&(f[o+56>>2]=e,ee(e)),(e=f[o+40>>2])&&(f[o+44>>2]=e,ee(e)),(e=f[o+28>>2])&&(f[o+32>>2]=e,ee(e)),(e=f[o+16>>2])&&(f[o+20>>2]=e,ee(e)),V=o- -64|0,0|y}oi(),T()},function(e){var r=0;return f[(e|=0)>>2]=3292,(r=f[e+76>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r=0;f[(e|=0)>>2]=3292,(r=f[e+76>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ti,ht,ei,Xt,gt,me,function(e,r,t,i,n,o){e|=0,r|=0,t|=0,i|=0,o|=0;var s=0,c=0,b=0,l=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,M=0,U=0,I=0,B=0,Z=0,W=0,F=0,x=0,S=0,j=0,O=0,J=0,Q=0,z=0,L=0,P=0,X=0,H=0,q=0,K=0;if(2==(0|(n|=0))){f[e+8>>2]=2,f[e- -64>>2]=o,n=f[(i=e+32|0)>>2],(s=(o=f[e+36>>2]-n|0)>>2)>>>0<=1?sr(i,2-s|0):8!=(0|o)&&(f[e+36>>2]=n+8);e:if(i=f[e+56>>2],(0|(o=(n=f[i+4>>2])-(i=f[i>>2])|0))<=0)o=0;else{if((0|i)!=(0|n))for(p=e+60|0,X=(0|(F=o>>2))>1?F:1,o=1;;){V=l=V-80|0,n=-1,s=-1,-1!=(0|(i=f[(h<<2)+i>>2]))&&(n=((n=i+1|0)>>>0)%3|0?n:i-2|0,s=i-1|0,(i>>>0)%3|0||(s=i+2|0)),b=f[p+36>>2],i=f[b>>2];r:{t:{i:{n:{if(b=f[b+4>>2]-i>>2,c=n<<2,n=f[f[p+32>>2]+28>>2],!(b>>>0<=(u=f[c+n>>2])>>>0||(n=f[n+(s<<2)>>2])>>>0>=b>>>0)){a:{if(!((0|(s=f[i+(n<<2)>>2]))>=(0|h)|(0|(b=f[i+(u<<2)>>2]))>=(0|h))){if(C=f[4+(i=(s<<3)+t|0)>>2],v=f[4+(n=(b<<3)+t|0)>>2],!((0|(N=f[i>>2]))!=(0|(I=f[n>>2]))|(0|v)!=(0|C))){f[p+8>>2]=I,f[p+12>>2]=v;break a}if(i=f[f[p+4>>2]+(h<<2)>>2],f[l+72>>2]=0,f[l+76>>2]=0,f[(n=l- -64|0)>>2]=0,f[n+4>>2]=0,f[l+56>>2]=0,f[l+60>>2]=0,n=f[p>>2],A[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),Y(n,i,a[n+24|0],l+56|0),i=f[f[p+4>>2]+(b<<2)>>2],f[l+48>>2]=0,f[l+52>>2]=0,f[l+40>>2]=0,f[l+44>>2]=0,f[l+32>>2]=0,f[l+36>>2]=0,n=f[p>>2],A[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),Y(n,i,a[n+24|0],l+32|0),i=f[f[p+4>>2]+(s<<2)>>2],f[l+24>>2]=0,f[l+28>>2]=0,f[l+16>>2]=0,f[l+20>>2]=0,f[l+8>>2]=0,f[l+12>>2]=0,n=f[p>>2],A[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),Y(n,i,a[n+24|0],l+8|0),x=f[l+44>>2],i=Pr(d=(i=f[l+16>>2])-(n=B=f[l+40>>2])|0,u=f[l+20>>2]-(x+(i>>>0<n>>>0)|0)|0,d,u),n=D,k=i,S=f[l+36>>2],s=Pr(g=(i=f[l+8>>2])-(s=Z=f[l+32>>2])|0,c=f[l+12>>2]-(S+(i>>>0<s>>>0)|0)|0,g,c),n=D+n|0,n=(i=k+s|0)>>>0<s>>>0?n+1|0:n,k=i,j=f[l+52>>2],y=Pr(m=(i=f[l+24>>2])-(s=W=f[l+48>>2])|0,_=f[l+28>>2]-(j+(i>>>0<s>>>0)|0)|0,m,_),s=D+n|0,w=i=k+y|0,i|(y=i>>>0<y>>>0?s+1|0:s)){if(i=Pr((i=k=f[l+64>>2])-B|0,(J=f[l+68>>2])-((i>>>0<B>>>0)+x|0)|0,d,u),n=D,i=(s=i)+(b=Pr((i=Q=f[l+56>>2])-Z|0,(z=f[l+60>>2])-((i>>>0<Z>>>0)+S|0)|0,g,c))|0,s=D+n|0,s=i>>>0<b>>>0?s+1|0:s,i=(n=i)+(b=Pr((i=L=f[l+72>>2])-W|0,(P=f[l+76>>2])-((i>>>0<W>>>0)+j|0)|0,m,_))|0,n=D+s|0,G=i,E=i>>>0<b>>>0?n+1|0:n,s=(i=_>>31)+_|0,s=(n=i+m|0)>>>0<i>>>0?s+1|0:s,n^=i,b=i^=s,s=(i=u>>31)+u|0,M=i^(R=i+d|0),R=i^=i>>>0>R>>>0?s+1|0:s,O=0,s=(i=c>>31)+c|0,s=(U=i+g|0)>>>0<i>>>0?s+1|0:s,H=n,U^=i,(n=Te(-1,2147483647,(n=(0|b)==(0|(i=(s=(0|R)==(0|(i^=s))&M>>>0>U>>>0|i>>>0<R>>>0)?R:i))&n>>>0>(M=s?M:U)>>>0|i>>>0<b>>>0)?H:M,n?b:i)>>>0<G>>>0)&(0|(i=D))<=(0|E)|(0|i)<(0|E))break r;if(b=1,i=0,n=k,d=zr(Pr(d,u,G,E),D,w,y),s=D+x|0,s=J-((n>>>0<(u=d+B|0)>>>0)+(s=u>>>0<d>>>0?s+1|0:s)|0)|0,s=Pr(n=n-u|0,s,n,s),d=D,n=Q,k=s,c=zr(Pr(g,c,G,E),D,w,y),s=D+S|0,s=z-((n>>>0<(u=c+Z|0)>>>0)+(s=c>>>0>u>>>0?s+1|0:s)|0)|0,u=Pr(n=n-u|0,s,n,s),n=D+d|0,u=n=(s=k+u|0)>>>0<u>>>0?n+1|0:n,n=L,k=s,_=zr(Pr(m,_,G,E),D,w,y),s=D+j|0,s=P-((n>>>0<(c=_+W|0)>>>0)+(s=c>>>0<_>>>0?s+1|0:s)|0)|0,c=Pr(n=n-c|0,s,n,s),s=D+u|0,u=Pr(n=k+c|0,n>>>0<c>>>0?s+1|0:s,w,y),c=n=D,!n&u>>>0<=1)break n;for(_=u,n=c;s=i<<1|b>>>31,b<<=1,i=s,d=!n&_>>>0>7|0!=(0|n),_=(3&n)<<30|_>>>2,n=n>>>2|0,d;);break i}}if((0|b)<(0|h))i=b<<1;else{if((0|h)<=0){f[p+8>>2]=0,f[p+12>>2]=0;break a}i=(h<<1)-2|0}i=(i<<2)+t|0,f[p+8>>2]=f[i>>2],f[p+12>>2]=f[i+4>>2]}O=1;break r}li(),T()}if(i=c,(b=u)-1|0)break t}for(;n=Te(u,c,b,i)+b|0,s=i+D|0,n=Pr(b=(1&(s=n>>>0<b>>>0?s+1|0:s))<<31|n>>>1,i=s>>>1|0,b,i),(0|c)==(0|(s=D))&n>>>0>u>>>0|s>>>0>c>>>0;);}(u=f[p+20>>2])&&(n=u-1|0,_=f[f[p+16>>2]+(n>>>3&536870908)>>2],f[p+20>>2]=n,s=Pr(G,E,d=C-(s=v)|0,g=(C>>31)-((c=s>>31)+(s>>>0>C>>>0)|0)|0),m=D,c=(v=Pr(v,c,w,y))+s|0,s=D+m|0,s=c>>>0<v>>>0?s+1|0:s,k=c,N=c=Pr(b,i,m=N-(c=I)|0,C=(N>>31)-((v=c>>31)+(c>>>0>N>>>0)|0)|0),c=k+(_=(n=_>>>n&1)?0-c|0:c)|0,k=s,s=D,s=k+(n?0-(s+(0!=(0|N))|0)|0:s)|0,q=p,K=zr(c,c>>>0<_>>>0?s+1|0:s,w,y),f[q+12>>2]=K,s=Pr(m,C,G,E),_=D,c=(m=Pr(w,y,I,v))+s|0,s=D+_|0,s=c>>>0<m>>>0?s+1|0:s,k=c,i=Pr(b,i,d,g),b=k+(c=n?i:0-i|0)|0,k=s,s=D,n=k+(n?s:0-((0!=(0|i))+s|0)|0)|0,q=p,K=zr(b,b>>>0<c>>>0?n+1|0:n,w,y),f[q+8>>2]=K),O=0!=(0|u)}if(V=l+80|0,!O)break e;if(!(f[e+8>>2]<=0)){for(s=f[e+32>>2],i=0;(0|(o=f[68+((n=i<<2)+e|0)>>2]))>(0|(b=f[e+16>>2]))?f[n+s>>2]=b:(n=n+s|0,b=f[e+12>>2],f[n>>2]=(0|b)>(0|o)?b:o),(0|(i=i+1|0))<(0|(o=f[e+8>>2])););if(n=0,!((0|o)<=0))for(b=(i=h<<3)+t|0,u=r+i|0;;){i=(o=n<<2)+b|0,o=f[o+u>>2]+f[o+s>>2]|0,f[i>>2]=o;r:{if((0|o)>f[e+16>>2])o=o-f[e+20>>2]|0;else{if((0|o)>=f[e+12>>2])break r;o=o+f[e+20>>2]|0}f[i>>2]=o}if(!((0|(n=n+1|0))<f[e+8>>2]))break}}if(o=(0|F)>(0|(h=h+1|0)),(0|h)==(0|X))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>h>>>0))break}li(),T()}e=1^o}else e=0;return 1&e},function(e){var r;return f[(e|=0)>>2]=3528,f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r;f[(e|=0)>>2]=3528,f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ai,at,ei,Xt,wt,Ye,function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s=0,c=0,A=0,b=0,l=0,u=0,_=0,p=0;V=o=V-32|0,f[68+(e|=0)>>2]=a,n=f[e+56>>2],i=f[n>>2],a=f[n+4>>2],f[o+24>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0;e:if(!((0|(a=a-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(u=e+112|0,_=e+60|0,p=(n=a>>>2|0)>>>0>1?n:1;;){if(J(_,f[(b<<2)+i>>2],o+16|0),i=(n=f[o+20>>2])>>31,s=(a=f[o+16>>2])>>31,c=(A=f[o+24>>2])>>31,s=(c^=c+A)+((i^i+n)+(s^a+s)|0)|0,i=0,(i=s>>>0<c>>>0?1:i)|s?(a=zr(Pr(c=f[e+108>>2],l=c>>31,a,a>>31),D,s,i),f[o+16>>2]=a,i=zr(Pr(c,l,n,n>>31),D,s,i),f[o+20>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=a>>31)+a^i)|0,f[o+24>>2]=(0|A)>=0?c-i:i-c):f[o+16>>2]=f[e+108>>2],i=jr(u),a=f[o+16>>2],i?(f[o+24>>2]=0-f[o+24>>2],n=0-f[o+20>>2]|0,f[o+20>>2]=n,a=0-a|0,f[o+16>>2]=a):n=f[o+20>>2],(0|a)>=0?(a=(i=f[e+108>>2])+f[o+24>>2]|0,i=i+n|0):((0|n)<0?(i=(a=f[o+24>>2])>>31,i^=i+a):(i=(a=f[o+24>>2])>>31,i=f[e+100>>2]-(i^i+a)|0),(0|a)<0?a=(a=n)+(n>>=31)^n:(a=n,n>>=31,a=f[e+100>>2]-(a+n^n)|0)),n=f[e+100>>2],i|a?(0|n)!=(0|a)|i?a|(s=(0|i)!=(0|n))?i||(0|(A=f[e+108>>2]))>=(0|a)?s||(0|(s=f[e+108>>2]))<=(0|a)?(0|n)!=(0|a)||(0|(n=f[e+108>>2]))<=(0|i)?a||(a=0,(0|(n=f[e+108>>2]))>=(0|i)||(i=(n<<1)-i|0)):i=(n<<1)-i|0:a=(s<<1)-a|0:(a=(A<<1)-a|0,i=0):a=i:i=a:i=a=n,f[o+12>>2]=a,f[o+8>>2]=i,!(f[e+8>>2]<=0)){for(s=f[e+32>>2],a=0;(0|(n=f[e+16>>2]))<(0|i)?f[s+(a<<2)>>2]=n:(n=s+(a<<2)|0,A=f[e+12>>2],f[n>>2]=(0|A)>(0|i)?A:i),(0|(a=a+1|0))<(0|(n=f[e+8>>2]));)i=f[(o+8|0)+(a<<2)>>2];if(i=0,!((0|n)<=0))for(A=(n=b<<3)+t|0,c=r+n|0;;){n=(a=i<<2)+A|0,a=f[a+c>>2]+f[a+s>>2]|0,f[n>>2]=a;r:{if((0|a)>f[e+16>>2])a=a-f[e+20>>2]|0;else{if((0|a)>=f[e+12>>2])break r;a=a+f[e+20>>2]|0}f[n>>2]=a}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}if((0|p)==(0|(b=b+1|0)))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>b>>>0))break}li(),T()}return V=o+32|0,1},$t,fi,dt,Ot,J,ci,Ct,ei,vt,function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s,c,A=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;if(f[8+(e|=0)>>2]=n,_=f[(i=e+32|0)>>2],(a=f[e+36>>2]-_>>2)>>>0<n>>>0?(sr(i,n-a|0),_=f[i>>2],i=f[e+8>>2]):(n>>>0<a>>>0&&(f[e+36>>2]=(n<<2)+_),i=n),c=f[e+52>>2],o=f[e+48>>2],a=0,d=Je(_t(d=(1073741823&n)!=(0|n)?-1:n<<2),0,d),!((0|i)<=0)){for(;(0|(A=f[(i=a<<2)+d>>2]))>(0|(l=f[e+16>>2]))?f[i+_>>2]=l:(i=i+_|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|A)?l:A),(0|(i=f[e+8>>2]))>(0|(a=a+1|0)););if(!((0|i)<=0))for(a=0;;){i=(A=a<<2)+t|0,A=f[r+A>>2]+f[A+_>>2]|0,f[i>>2]=A;e:{if((0|A)>f[e+16>>2])b=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break e;b=A+f[e+20>>2]|0}f[i>>2]=b}if(!((0|(i=f[e+8>>2]))>(0|(a=a+1|0))))break}}if(a=f[e+56>>2],s=f[a>>2],(0|(a=f[a+4>>2]-s|0))>=5)for(h=(0|(a>>=2))>2?a:2,y=a>>>0>1?a:1,v=-2&n,g=1&n,_=1;;){e:{r:{if((0|_)!=(0|y)){if(m=p(n,_),-1==(0|(a=f[(_<<2)+s>>2])))break r;if(-1==(0|(a=f[f[o+12>>2]+(a<<2)>>2])))break r;l=f[c>>2],A=f[o>>2],u=f[l+(f[A+(a<<2)>>2]<<2)>>2],b=-1!=(0|(b=((b=a+1|0)>>>0)%3|0?b:a-2|0))?f[A+(b<<2)>>2]:-1;t:{if((a>>>0)%3|0)a=a-1|0;else if(k=-1,-1==(0|(a=a+2|0)))break t;k=f[A+(a<<2)>>2]}if((0|u)>=(0|_))break r;if((0|(a=f[(b<<2)+l>>2]))>=(0|_))break r;if((0|(A=f[l+(k<<2)>>2]))>=(0|_))break r;if(!((0|n)<=0)){if(A=p(n,A),l=p(n,a),u=p(n,u),a=0,k=0,1!=(0|n))for(;f[d+(a<<2)>>2]=(f[(a+A<<2)+t>>2]+f[(a+l<<2)+t>>2]|0)-f[(a+u<<2)+t>>2],f[d+((b=1|a)<<2)>>2]=(f[(A+b<<2)+t>>2]+f[(l+b<<2)+t>>2]|0)-f[(b+u<<2)+t>>2],a=a+2|0,(0|v)!=(0|(k=k+2|0)););g&&(f[d+(a<<2)>>2]=(f[(a+A<<2)+t>>2]+f[(a+l<<2)+t>>2]|0)-f[(a+u<<2)+t>>2])}if((0|i)<=0)break e;for(l=f[e+32>>2],a=0;(0|(A=f[(i=a<<2)+d>>2]))>(0|(u=f[e+16>>2]))?f[i+l>>2]=u:(i=i+l|0,u=f[e+12>>2],f[i>>2]=(0|u)>(0|A)?u:A),(0|(i=f[e+8>>2]))>(0|(a=a+1|0)););if(a=0,(0|i)<=0)break e;for(u=(i=m<<2)+t|0,b=r+i|0;;){i=(A=a<<2)+u|0,A=f[A+b>>2]+f[A+l>>2]|0,f[i>>2]=A;t:{if((0|A)>f[e+16>>2])k=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break t;k=A+f[e+20>>2]|0}f[i>>2]=k}if(!((0|(i=f[e+8>>2]))>(0|(a=a+1|0))))break}break e}li(),T()}if(!((0|i)<=0)){for(u=(p(_-1|0,n)<<2)+t|0,l=f[e+32>>2],a=0;(0|(A=f[(i=a<<2)+u>>2]))>(0|(b=f[e+16>>2]))?f[i+l>>2]=b:(i=i+l|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|A)?b:A),(0|(i=f[e+8>>2]))>(0|(a=a+1|0)););if(a=0,!((0|i)<=0))for(u=(i=m<<2)+t|0,b=r+i|0;;){i=(A=a<<2)+u|0,A=f[A+b>>2]+f[A+l>>2]|0,f[i>>2]=A;r:{if((0|A)>f[e+16>>2])k=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break r;k=A+f[e+20>>2]|0}f[i>>2]=k}if(!((0|(i=f[e+8>>2]))>(0|(a=a+1|0))))break}}}if((0|h)==(0|(_=_+1|0)))break}return ee(d),1},ci,function(e){var r=0;return f[(e|=0)>>2]=4608,(r=f[e+96>>2])&&ee(r),(r=f[e+84>>2])&&ee(r),(r=f[e+72>>2])&&ee(r),(r=f[e+60>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r=0;f[(e|=0)>>2]=4608,(r=f[e+96>>2])&&ee(r),(r=f[e+84>>2])&&ee(r),(r=f[e+72>>2])&&ee(r),(r=f[e+60>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ri,vt,fe,function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s,c,A,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0,M=0,U=0,I=0,B=0,Z=0,W=0;V=o=V+-64|0,f[8+(e|=0)>>2]=n,b=f[(a=e+32|0)>>2];e:{if((i=f[e+36>>2]-b>>2)>>>0<n>>>0)sr(a,n-i|0),f[o+56>>2]=0,f[o+60>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o>>2]=0;else if(i>>>0>n>>>0&&(f[e+36>>2]=b+(n<<2)),f[o+56>>2]=0,f[o+60>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o>>2]=0,i=0,!n)break e;ve(o+16|0,n,o),l=f[o+28>>2],i=f[o+32>>2]}f[o>>2]=0;e:if((i=i-l>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[o+32>>2]=(n<<2)+l}else ve(o+16|12,n-i|0,o);f[o>>2]=0,a=f[o+40>>2];e:if((i=f[o+44>>2]-a>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[o+44>>2]=a+(n<<2)}else ve(o+40|0,n-i|0,o);f[o>>2]=0,a=f[o+52>>2];e:if((i=f[o+56>>2]-a>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[o+56>>2]=a+(n<<2)}else ve(o+52|0,n-i|0,o);if(l=0,!(f[e+8>>2]<=0)){for(_=f[e+32>>2],b=f[o+16>>2];(0|(a=f[(i=l<<2)+b>>2]))>(0|(m=f[e+16>>2]))?f[i+_>>2]=m:(i=i+_|0,m=f[e+12>>2],f[i>>2]=(0|m)>(0|a)?m:a),(0|(l=l+1|0))<(0|(i=f[e+8>>2])););if(!((0|i)<=0))for(i=0;;){a=(b=i<<2)+t|0,b=f[r+b>>2]+f[b+_>>2]|0,f[a>>2]=b;e:{if((0|b)>f[e+16>>2])u=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break e;u=b+f[e+20>>2]|0}f[a>>2]=u}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}A=f[e+52>>2],c=f[e+48>>2],s=_t(16),f[(i=s)>>2]=0,f[i+4>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[o+8>>2]=0,f[o>>2]=0,f[o+4>>2]=0;e:{if(n){if(n>>>0>=1073741824)break e;E=_t(i=n<<2),f[o>>2]=E,f[o+8>>2]=i+E,Je(E,0,i)}g=1,i=f[e+56>>2],R=f[i>>2];r:if(!((0|(i=f[i+4>>2]-R|0))<5))for(I=(0|(i>>=2))>2?i:2,B=i>>>0>1?i:1,D=-2&n,M=1&n,Z=-4&n,U=3&n,N=n-1|0,W=n<<2,m=1;;){t:{i:{n:{a:{if((0|m)!=(0|B)){i=((a=f[(m<<2)+R>>2])>>>0)%3|0;o:{f:if(-1!=(0|a)){_=0,G=0!=(0|i)|-1!=(0|(b=a+2|0)),v=(w=f[c+12>>2])+((i?a-1|0:b)<<2)|0,h=1,i=a;s:{for(;;){if(-1!=(0|(b=f[w+(i<<2)>>2]))){k=-1,g=f[A>>2],d=f[c>>2],l=g+(f[d+(b<<2)>>2]<<2)|0,-1!=(0|(y=((y=b+1|0)>>>0)%3|0?y:b-2|0))&&(k=f[d+(y<<2)>>2]),y=f[l>>2];c:{if((b>>>0)%3|0)l=b-1|0;else if(u=-1,-1==(0|(l=b+2|0)))break c;u=f[d+(l<<2)>>2]}if(!((0|m)<=(0|y)||(0|(l=f[g+(k<<2)>>2]))>=(0|m)||(0|(k=f[g+(u<<2)>>2]))>=(0|m))){if(b=f[(o+16|0)+p(_,12)>>2],n){if(k=p(n,k),d=p(n,l),g=p(n,y),l=0,u=0,N)for(;f[b+(l<<2)>>2]=(f[(l+k<<2)+t>>2]+f[(l+d<<2)+t>>2]|0)-f[(l+g<<2)+t>>2],f[b+((y=1|l)<<2)>>2]=(f[(k+y<<2)+t>>2]+f[(d+y<<2)+t>>2]|0)-f[(y+g<<2)+t>>2],l=l+2|0,(0|D)!=(0|(u=u+2|0)););M&&(f[b+(l<<2)>>2]=(f[(l+k<<2)+t>>2]+f[(l+d<<2)+t>>2]|0)-f[(l+g<<2)+t>>2])}if(b=4,4==(0|(_=_+1|0)))break s}}c:if(1&h){if(u=-1,-1==(0|(i=((l=i+1|0)>>>0)%3|0?l:i-2|0)))break c;if(u=-1,-1==(0|(i=f[w+(i<<2)>>2])))break c;u=((b=i+1|0)>>>0)%3|0?b:i-2|0}else{if((i>>>0)%3|0)l=i-1|0;else if(u=-1,-1==(0|(l=i+2|0)))break c;u=-1,-1!=(0|(i=f[w+(l<<2)>>2]))&&(u=i-1|0,(i>>>0)%3|0||(u=i+2|0))}c:if((0|a)!=(0|(i=u))){if(!(1&(1^h)|-1!=(0|i))){if(!G)break c;if(-1==(0|(i=f[v>>2])))break c;h=0,i=(i>>>0)%3|0?i-1|0:i+2|0}if(-1!=(0|i))continue}break}if((0|(b=_))<=0)break f}for(n&&Je(f[o>>2],0,W),y=((i=b-1|0)<<2)+s|0,u=i=p(i,12)+e|0,G=f[i- -64>>2],g=0,h=0,i=0;;){if(a=f[y>>2],f[y>>2]=a+1,a>>>0>=G>>>0)break r;if(!(f[f[u+60>>2]+(a>>>3&536870908)>>2]>>>a&1)&&(i=i+1|0,n)){if(_=f[o>>2],w=f[(o+16|0)+p(h,12)>>2],k=0,l=0,a=0,N>>>0>=3)for(;f[(v=(d=l<<2)+_|0)>>2]=f[v>>2]+f[d+w>>2],f[(C=(v=4|d)+_|0)>>2]=f[C>>2]+f[w+v>>2],f[(C=(v=8|d)+_|0)>>2]=f[C>>2]+f[w+v>>2],f[(v=(d|=12)+_|0)>>2]=f[v>>2]+f[d+w>>2],l=l+4|0,(0|Z)!=(0|(a=a+4|0)););if(U)for(;f[(d=(a=l<<2)+_|0)>>2]=f[d>>2]+f[a+w>>2],l=l+1|0,(0|U)!=(0|(k=k+1|0)););}if((0|(h=h+1|0))==(0|b))break}if(a=h=p(n,m),!i)break o;if(!n)break i;if(a=f[o>>2],l=0,b=0,N)break a;break n}a=p(n,m)}if(f[e+8>>2]<=0)break t;for(h=(p(m-1|0,n)<<2)+t|0,_=f[e+32>>2],l=0;(0|(b=f[(i=l<<2)+h>>2]))>(0|(k=f[e+16>>2]))?f[i+_>>2]=k:(i=i+_|0,k=f[e+12>>2],f[i>>2]=(0|k)>(0|b)?k:b),(0|(l=l+1|0))<(0|(b=f[e+8>>2])););if(i=0,(0|b)<=0)break t;for(l=(a<<=2)+t|0,h=r+a|0;;){a=(b=i<<2)+l|0,b=f[b+h>>2]+f[b+_>>2]|0,f[a>>2]=b;o:{if((0|b)>f[e+16>>2])u=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break o;u=b+f[e+20>>2]|0}f[a>>2]=u}if(!((0|(i=i+1|0))<f[e+8>>2]))break}break t}li(),T()}for(;f[(k=(_=l<<2)+a|0)>>2]=f[k>>2]/(0|i),f[(_=a+(4|_)|0)>>2]=f[_>>2]/(0|i),l=l+2|0,(0|D)!=(0|(b=b+2|0)););}M&&(f[(a=a+(l<<2)|0)>>2]=f[a>>2]/(0|i))}if(!(f[e+8>>2]<=0)){for(_=f[e+32>>2],l=0;(0|(a=f[(i=l<<2)+E>>2]))>(0|(b=f[e+16>>2]))?f[i+_>>2]=b:(i=i+_|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|a)?b:a),(0|(l=l+1|0))<(0|(a=f[e+8>>2])););if(i=0,!((0|a)<=0))for(l=(a=h<<2)+t|0,h=r+a|0;;){a=(b=i<<2)+l|0,b=f[b+h>>2]+f[b+_>>2]|0,f[a>>2]=b;i:{if((0|b)>f[e+16>>2])u=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break i;u=b+f[e+20>>2]|0}f[a>>2]=u}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}}if(g=1,(0|I)==(0|(m=m+1|0)))break}return(e=f[o>>2])&&ee(e),ee(s),(e=f[o+52>>2])&&(f[o+56>>2]=e,ee(e)),(e=f[o+40>>2])&&(f[o+44>>2]=e,ee(e)),(e=f[o+28>>2])&&(f[o+32>>2]=e,ee(e)),(e=f[o+16>>2])&&(f[o+20>>2]=e,ee(e)),V=o- -64|0,0|g}oi(),T()},function(e){var r=0;return f[(e|=0)>>2]=4844,(r=f[e+76>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r=0;f[(e|=0)>>2]=4844,(r=f[e+76>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ti,ht,ei,Xt,gt,me,function(e,r,t,i,n,o){e|=0,r|=0,t|=0,i|=0,o|=0;var s=0,c=0,b=0,l=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,M=0,U=0,I=0,B=0,Z=0,W=0,F=0,x=0,S=0,j=0,O=0,J=0,Q=0,z=0,L=0,P=0,X=0,H=0,q=0;if(2==(0|(n|=0))){f[e+8>>2]=2,f[e- -64>>2]=o,n=f[(i=e+32|0)>>2],(s=(o=f[e+36>>2]-n|0)>>2)>>>0<=1?sr(i,2-s|0):8!=(0|o)&&(f[e+36>>2]=n+8);e:if(i=f[e+56>>2],(0|(o=(n=f[i+4>>2])-(i=f[i>>2])|0))<=0)o=0;else{if((0|i)!=(0|n))for(p=e+60|0,X=(0|(W=o>>2))>1?W:1,o=1;;){if(V=b=V-80|0,n=-1,-1==(0|(s=f[(m<<2)+i>>2]))||(c=f[p+32>>2],-1!=(0|(i=((i=s+1|0)>>>0)%3|0?i:s-2|0))&&(n=f[f[c>>2]+(i<<2)>>2]),i=-1,-1!=(0|(s=s+((s>>>0)%3|0?-1:2)|0))&&(i=f[f[c>>2]+(s<<2)>>2]),c=f[p+36>>2],s=f[c>>2],(c=f[c+4>>2]-s>>2)>>>0<=n>>>0|i>>>0>=c>>>0))li(),T();else{c=f[s+(n<<2)>>2];r:{t:{i:{n:{a:{if(!((0|(s=f[s+(i<<2)>>2]))>=(0|m)|(0|c)>=(0|m))){if(E=f[4+(i=(s<<3)+t|0)>>2],y=f[4+(n=(c<<3)+t|0)>>2],!((0|(g=f[i>>2]))!=(0|(I=f[n>>2]))|(0|y)!=(0|E))){f[p+8>>2]=I,f[p+12>>2]=y;break a}if(i=f[f[p+4>>2]+(m<<2)>>2],f[b+72>>2]=0,f[b+76>>2]=0,f[(n=b- -64|0)>>2]=0,f[n+4>>2]=0,f[b+56>>2]=0,f[b+60>>2]=0,n=f[p>>2],A[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),Y(n,i,a[n+24|0],b+56|0),i=f[f[p+4>>2]+(c<<2)>>2],f[b+48>>2]=0,f[b+52>>2]=0,f[b+40>>2]=0,f[b+44>>2]=0,f[b+32>>2]=0,f[b+36>>2]=0,n=f[p>>2],A[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),Y(n,i,a[n+24|0],b+32|0),n=f[f[p+4>>2]+(s<<2)>>2],f[b+24>>2]=0,f[b+28>>2]=0,f[b+16>>2]=0,f[b+20>>2]=0,f[b+8>>2]=0,f[b+12>>2]=0,i=f[p>>2],A[i+84|0]||(n=f[f[i+68>>2]+(n<<2)>>2]),Y(i,n,a[i+24|0],b+8|0),F=f[b+44>>2],i=Pr(k=(i=f[b+16>>2])-(n=N=f[b+40>>2])|0,u=f[b+20>>2]-(F+(i>>>0<n>>>0)|0)|0,k,u),n=D,d=i,x=f[b+36>>2],s=Pr(w=(i=f[b+8>>2])-(s=B=f[b+32>>2])|0,l=f[b+12>>2]-(x+(i>>>0<s>>>0)|0)|0,w,l),n=D+n|0,n=(i=d+s|0)>>>0<s>>>0?n+1|0:n,d=i,S=f[b+52>>2],h=Pr(v=(i=f[b+24>>2])-(s=Z=f[b+48>>2])|0,_=f[b+28>>2]-(S+(i>>>0<s>>>0)|0)|0,v,_),s=D+n|0,C=i=d+h|0,i|(h=i>>>0<h>>>0?s+1|0:s)){if(i=Pr((i=O=f[b+64>>2])-N|0,(J=f[b+68>>2])-((i>>>0<N>>>0)+F|0)|0,k,u),n=D,i=(s=i)+(c=Pr((i=Q=f[b+56>>2])-B|0,(z=f[b+60>>2])-((i>>>0<B>>>0)+x|0)|0,w,l))|0,s=D+n|0,s=i>>>0<c>>>0?s+1|0:s,i=(n=i)+(c=Pr((i=L=f[b+72>>2])-Z|0,(P=f[b+76>>2])-((i>>>0<Z>>>0)+S|0)|0,v,_))|0,n=D+s|0,R=i,G=i>>>0<c>>>0?n+1|0:n,s=(i=_>>31)+_|0,c=(n=i+v|0)^i,j=i^=s=n>>>0<i>>>0?s+1|0:s,n=(i=u>>31)+u|0,M=(s=i+k|0)^i,d=i^=s>>>0<i>>>0?n+1|0:n,n=0,s=(i=l>>31)+l|0,s=(U=i+w|0)>>>0<i>>>0?s+1|0:s,U^=i,(s=Te(-1,2147483647,(s=(0|j)==(0|(i=(s=(0|d)==(0|(i^=s))&M>>>0>U>>>0|i>>>0<d>>>0)?d:i))&c>>>0>(M=s?M:U)>>>0|i>>>0<j>>>0)?c:M,s?j:i)>>>0<R>>>0)&(0|(i=D))<=(0|G)|(0|i)<(0|G))break r;if(c=1,i=0,n=O,k=zr(Pr(k,u,R,G),D,C,h),s=D+F|0,s=J-((n>>>0<(u=k+N|0)>>>0)+(s=u>>>0<k>>>0?s+1|0:s)|0)|0,s=Pr(n=n-u|0,s,n,s),k=D,n=Q,d=s,l=zr(Pr(w,l,R,G),D,C,h),s=D+x|0,s=z-((n>>>0<(u=l+B|0)>>>0)+(s=l>>>0>u>>>0?s+1|0:s)|0)|0,u=Pr(n=n-u|0,s,n,s),n=D+k|0,u=n=(s=d+u|0)>>>0<u>>>0?n+1|0:n,n=L,d=s,_=zr(Pr(v,_,R,G),D,C,h),s=D+S|0,s=P-((n>>>0<(l=_+Z|0)>>>0)+(s=l>>>0<_>>>0?s+1|0:s)|0)|0,l=Pr(n=n-l|0,s,n,s),s=D+u|0,u=Pr(n=d+l|0,n>>>0<l>>>0?s+1|0:s,C,h),l=n=D,!n&u>>>0<=1)break n;for(_=u,n=l;s=i<<1|c>>>31,c<<=1,i=s,k=!n&_>>>0>7|0!=(0|n),_=(3&n)<<30|_>>>2,n=n>>>2|0,k;);break i}}if((0|c)<(0|m))i=c<<1;else{if((0|m)<=0){f[p+8>>2]=0,f[p+12>>2]=0;break a}i=(m<<1)-2|0}i=(i<<2)+t|0,f[p+8>>2]=f[i>>2],f[p+12>>2]=f[i+4>>2]}n=1;break r}if(i=l,(c=u)-1|0)break t}for(;s=Te(u,l,c,i)+c|0,n=i+D|0,n=Pr(c=(1&(n=s>>>0<c>>>0?n+1|0:n))<<31|s>>>1,i=n>>>1|0,c,i),(0|l)==(0|(s=D))&n>>>0>u>>>0|s>>>0>l>>>0;);}(u=f[p+20>>2])&&(n=u-1|0,_=f[f[p+16>>2]+(n>>>3&536870908)>>2],f[p+20>>2]=n,s=Pr(R,G,k=E-(s=y)|0,w=(E>>31)-((l=s>>31)+(s>>>0>E>>>0)|0)|0),v=D,l=(y=Pr(y,l,C,h))+s|0,s=D+v|0,s=l>>>0<y>>>0?s+1|0:s,d=l,g=l=Pr(c,i,v=g-(l=I)|0,E=(g>>31)-((y=l>>31)+(l>>>0>g>>>0)|0)|0),_=d+(N=(n=l=_>>>n&1)?0-g|0:g)|0,d=s,s=D,n=d+(n?0-(s+(0!=(0|g))|0)|0:s)|0,H=p,q=zr(_,_>>>0<N>>>0?n+1|0:n,C,h),f[H+12>>2]=q,n=Pr(v,E,R,G),s=D,_=Pr(C,h,I,y),s=D+s|0,s=(n=_+n|0)>>>0<_>>>0?s+1|0:s,i=Pr(c,i,k,w),c=(_=l?i:0-i|0)+n|0,n=D,n=(l?n:0-((0!=(0|i))+n|0)|0)+s|0,H=p,q=zr(c,c>>>0<_>>>0?n+1|0:n,C,h),f[H+8>>2]=q),n=0!=(0|u)}V=b+80|0}if(!n)break e;if(!(f[e+8>>2]<=0)){for(s=f[e+32>>2],i=0;(0|(o=f[68+((n=i<<2)+e|0)>>2]))>(0|(c=f[e+16>>2]))?f[n+s>>2]=c:(n=n+s|0,c=f[e+12>>2],f[n>>2]=(0|c)>(0|o)?c:o),(0|(i=i+1|0))<(0|(o=f[e+8>>2])););if(n=0,!((0|o)<=0))for(c=(i=m<<3)+t|0,u=r+i|0;;){i=(o=n<<2)+c|0,o=f[o+u>>2]+f[o+s>>2]|0,f[i>>2]=o;r:{if((0|o)>f[e+16>>2])o=o-f[e+20>>2]|0;else{if((0|o)>=f[e+12>>2])break r;o=o+f[e+20>>2]|0}f[i>>2]=o}if(!((0|(n=n+1|0))<f[e+8>>2]))break}}if(o=(0|W)>(0|(m=m+1|0)),(0|m)==(0|X))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>m>>>0))break}li(),T()}e=1^o}else e=0;return 1&e},function(e){var r;return f[(e|=0)>>2]=5068,f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r;f[(e|=0)>>2]=5068,f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ai,at,ei,Xt,wt,Ye,function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s=0,c=0,A=0,b=0,l=0,u=0,_=0,p=0;V=o=V-32|0,f[68+(e|=0)>>2]=a,n=f[e+56>>2],i=f[n>>2],a=f[n+4>>2],f[o+24>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0;e:if(!((0|(a=a-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(u=e+112|0,_=e+60|0,p=(n=a>>>2|0)>>>0>1?n:1;;){if(K(_,f[(b<<2)+i>>2],o+16|0),i=(n=f[o+20>>2])>>31,s=(a=f[o+16>>2])>>31,c=(A=f[o+24>>2])>>31,s=(c^=c+A)+((i^i+n)+(s^a+s)|0)|0,i=0,(i=s>>>0<c>>>0?1:i)|s?(a=zr(Pr(c=f[e+108>>2],l=c>>31,a,a>>31),D,s,i),f[o+16>>2]=a,i=zr(Pr(c,l,n,n>>31),D,s,i),f[o+20>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=a>>31)+a^i)|0,f[o+24>>2]=(0|A)>=0?c-i:i-c):f[o+16>>2]=f[e+108>>2],i=jr(u),a=f[o+16>>2],i?(f[o+24>>2]=0-f[o+24>>2],n=0-f[o+20>>2]|0,f[o+20>>2]=n,a=0-a|0,f[o+16>>2]=a):n=f[o+20>>2],(0|a)>=0?(a=(i=f[e+108>>2])+f[o+24>>2]|0,i=i+n|0):((0|n)<0?(i=(a=f[o+24>>2])>>31,i^=i+a):(i=(a=f[o+24>>2])>>31,i=f[e+100>>2]-(i^i+a)|0),(0|a)<0?a=(a=n)+(n>>=31)^n:(a=n,n>>=31,a=f[e+100>>2]-(a+n^n)|0)),n=f[e+100>>2],i|a?(0|n)!=(0|a)|i?a|(s=(0|i)!=(0|n))?i||(0|(A=f[e+108>>2]))>=(0|a)?s||(0|(s=f[e+108>>2]))<=(0|a)?(0|n)!=(0|a)||(0|(n=f[e+108>>2]))<=(0|i)?a||(a=0,(0|(n=f[e+108>>2]))>=(0|i)||(i=(n<<1)-i|0)):i=(n<<1)-i|0:a=(s<<1)-a|0:(a=(A<<1)-a|0,i=0):a=i:i=a:i=a=n,f[o+12>>2]=a,f[o+8>>2]=i,!(f[e+8>>2]<=0)){for(s=f[e+32>>2],a=0;(0|(n=f[e+16>>2]))<(0|i)?f[s+(a<<2)>>2]=n:(n=s+(a<<2)|0,A=f[e+12>>2],f[n>>2]=(0|A)>(0|i)?A:i),(0|(a=a+1|0))<(0|(n=f[e+8>>2]));)i=f[(o+8|0)+(a<<2)>>2];if(i=0,!((0|n)<=0))for(A=(n=b<<3)+t|0,c=r+n|0;;){n=(a=i<<2)+A|0,a=f[a+c>>2]+f[a+s>>2]|0,f[n>>2]=a;r:{if((0|a)>f[e+16>>2])a=a-f[e+20>>2]|0;else{if((0|a)>=f[e+12>>2])break r;a=a+f[e+20>>2]|0}f[n>>2]=a}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}if((0|p)==(0|(b=b+1|0)))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>b>>>0))break}li(),T()}return V=o+32|0,1},$t,fi,dt,Ot,K,ci,Ct,ii,ei,function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s=0,c=0,A=0,b=0,l=0,u=0,_=0,p=0,k=0;if(f[8+(e|=0)>>2]=n,A=f[(a=e+32|0)>>2],(c=f[e+36>>2]-A>>2)>>>0<n>>>0?(sr(a,n-c|0),A=f[a>>2],a=f[e+8>>2]):(n>>>0<c>>>0&&(f[e+36>>2]=(n<<2)+A),a=n),c=0,o=Je(_t(s=(1073741823&n)!=(0|n)?-1:n<<2),0,s),!((0|a)<=0)){for(;(0|(s=f[(a=c<<2)+o>>2]))>(0|(b=f[e+16>>2]))?f[a+A>>2]=b:(a=a+A|0,b=f[e+12>>2],f[a>>2]=(0|b)>(0|s)?b:s),(0|(a=f[e+8>>2]))>(0|(c=c+1|0)););if(!((0|a)<=0))for(c=0;;){a=(s=c<<2)+t|0,s=f[r+s>>2]+f[s+A>>2]|0,f[a>>2]=s;e:{if((0|s)>f[e+16>>2])s=s-f[e+20>>2]|0;else{if((0|s)>=f[e+12>>2])break e;s=s+f[e+20>>2]|0}f[a>>2]=s}if(!((0|(a=f[e+8>>2]))>(0|(c=c+1|0))))break}}if(!((0|i)<=(0|n)|(0|a)<=0))for(p=0-n<<2,A=n;;){if(!((0|a)<=0)){for(k=(_=(u=A<<2)+t|0)+p|0,b=f[e+32>>2],c=0;(0|(s=f[(a=c<<2)+k>>2]))>(0|(l=f[e+16>>2]))?f[a+b>>2]=l:(a=a+b|0,l=f[e+12>>2],f[a>>2]=(0|l)>(0|s)?l:s),(0|(a=f[e+8>>2]))>(0|(c=c+1|0)););if(c=0,!((0|a)<=0))for(u=r+u|0;;){a=(s=c<<2)+_|0,s=f[s+u>>2]+f[s+b>>2]|0,f[a>>2]=s;e:{if((0|s)>f[e+16>>2])s=s-f[e+20>>2]|0;else{if((0|s)>=f[e+12>>2])break e;s=s+f[e+20>>2]|0}f[a>>2]=s}if(!((0|(a=f[e+8>>2]))>(0|(c=c+1|0))))break}}if(!((0|(A=n+A|0))<(0|i)))break}return ee(o),1},ot,ct,function(e,r,t){r|=0,t|=0;var i=0;return f[4+(e|=0)>>2]=r,r=f[f[f[r+4>>2]+8>>2]+(t<<2)>>2],f[e+12>>2]=t,f[e+8>>2]=r,e=f[e+8>>2],3==A[e+24|0]&&(i=9==f[e+28>>2]),0|i},function(e,r,t){return r|=0,t|=0,A[f[4+(e|=0)>>2]+36|0]>=2&&(r=0,!Mr(e+24|0,rr(e),t))||(r=Sr(e+24|0,f[e+16>>2])),0|r},Ut,function(e,r,t){e|=0,r|=0;var i,n=0,o=0,s=0,c=0,A=0,b=0,l=0;V=i=V-32|0;e:if(3==(0|(t|=0))&&(t=f[e+4>>2],e=f[e+12>>2],f[i+24>>2]=-1,f[i+16>>2]=-1,f[i+20>>2]=1065353216,f[i+8>>2]=-1,f[i+12>>2]=-1,-2!=(0|r))){if(l=f[f[f[t+4>>2]+8>>2]+(e<<2)>>2],1==(0|yi[f[f[t>>2]+8>>2]](t))){b=f[f[f[t+4>>2]+8>>2]+(e<<2)>>2];r:{t:if(!(1!=(0|yi[f[f[t>>2]+8>>2]](t))|r-1>>>0>5||!(c=0|yi[f[f[t>>2]+36>>2]](t))|!(o=0|yi[f[f[t>>2]+44>>2]](t,e)))){if(s=o+12|0,A=0|yi[f[f[t>>2]+40>>2]](t,e),t=f[t+44>>2],A){if(6!=(0|r))break t;e=_t(112),f[e+4>>2]=b,r=f[i+12>>2],f[e+8>>2]=f[i+8>>2],f[e+12>>2]=r,r=f[i+20>>2],f[e+16>>2]=f[i+16>>2],f[e+20>>2]=r,f[e+24>>2]=f[i+24>>2],f[e+40>>2]=o,f[e+36>>2]=s,f[e+32>>2]=A,f[e+28>>2]=t,f[e+68>>2]=o,f[e- -64>>2]=s,f[e+60>>2]=A,f[e+56>>2]=t,f[e+48>>2]=0,f[e+52>>2]=0,f[e>>2]=5956,f[e+88>>2]=1065353216,f[e+92>>2]=-1,f[e+80>>2]=-1,f[e+84>>2]=-1,f[e+72>>2]=1,f[e+76>>2]=-1,f[e+44>>2]=6520,f[(r=e+96|0)>>2]=0,f[r+4>>2]=0,a[r+5|0]=0,a[r+6|0]=0,a[r+7|0]=0,a[r+8|0]=0,a[r+9|0]=0,a[r+10|0]=0,a[r+11|0]=0,a[r+12|0]=0;break r}6==(0|r)&&(n=_t(112),f[n+4>>2]=b,e=f[i+12>>2],f[n+8>>2]=f[i+8>>2],f[n+12>>2]=e,e=f[i+20>>2],f[n+16>>2]=f[i+16>>2],f[n+20>>2]=e,f[n+24>>2]=f[i+24>>2],f[n+40>>2]=o,f[n+36>>2]=s,f[n+32>>2]=c,f[n+28>>2]=t,f[n+68>>2]=o,f[n- -64>>2]=s,f[n+60>>2]=c,f[n+56>>2]=t,f[n+48>>2]=0,f[n+52>>2]=0,f[n>>2]=6960,f[n+88>>2]=1065353216,f[n+92>>2]=-1,f[n+80>>2]=-1,f[n+84>>2]=-1,f[n+72>>2]=1,f[n+76>>2]=-1,f[n+44>>2]=7380,f[(e=n+96|0)>>2]=0,f[e+4>>2]=0,a[e+5|0]=0,a[e+6|0]=0,a[e+7|0]=0,a[e+8|0]=0,a[e+9|0]=0,a[e+10|0]=0,a[e+11|0]=0,a[e+12|0]=0)}e=n}if(n=e,e)break e}n=_t(28),f[n+4>>2]=l,e=f[i+12>>2],f[n+8>>2]=f[i+8>>2],f[n+12>>2]=e,e=f[i+20>>2],f[n+16>>2]=f[i+16>>2],f[n+20>>2]=e,f[n+24>>2]=f[i+24>>2],f[n>>2]=7792}return V=i+32|0,0|n},ni,function(e,r){return 0|Ue(24+(e|=0)|0,rr(e),f[e+8>>2])},function(e){return f[(e|=0)>>2]=5956,0|e},function(e){f[(e|=0)>>2]=5956,ee(e)},ai,Lt,ft,ei,Xt,Tt,ei,function(e){return 3},Pe,function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s=0,c=0,A=0,b=0,l=0,_=0,p=0,d=0,m=0;V=o=V-48|0,(i=f[8+(e|=0)>>2])-31>>>0>=4294967267&&(f[e+76>>2]=i,i=-2-(n=-1<<i)|0,f[e+84>>2]=i,f[e+80>>2]=-1^n,f[e+92>>2]=(0|i)/2,u[e+88>>2]=k(2)/k(0|i)),f[e+52>>2]=a,n=f[e+40>>2],i=f[n>>2],s=f[n+4>>2],a=0,f[o+16>>2]=0,f[o+8>>2]=0,f[o+12>>2]=0;e:if(!((0|(s=s-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(_=e+8|0,p=e+96|0,d=e+44|0,m=(n=s>>>2|0)>>>0>1?n:1;;){if(J(d,f[(a<<2)+i>>2],o+8|0),i=(n=f[o+12>>2])>>31,c=(s=f[o+8>>2])>>31,A=(b=f[o+16>>2])>>31,c=(A^=A+b)+((i^i+n)+(c^s+c)|0)|0,i=0,(i=c>>>0<A>>>0?1:i)|c?(s=zr(Pr(A=f[e+92>>2],l=A>>31,s,s>>31),D,c,i),f[o+8>>2]=s,i=zr(Pr(A,l,n,n>>31),D,c,i),f[o+12>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=s>>31)+s^i)|0,f[o+16>>2]=(0|b)>=0?A-i:i-A):f[o+8>>2]=f[e+92>>2],i=jr(p),n=f[o+8>>2],i?(f[o+16>>2]=0-f[o+16>>2],s=0-f[o+12>>2]|0,f[o+12>>2]=s,n=0-n|0,f[o+8>>2]=n):s=f[o+12>>2],(0|n)>=0?(i=(n=f[e+92>>2])+f[o+16>>2]|0,n=n+s|0):((0|s)<0?(n=(i=f[o+16>>2])>>31,n^=i+n):(n=(i=f[o+16>>2])>>31,n=f[e+84>>2]-(n^i+n)|0),(0|i)<0?(i=s>>31,i^=i+s):(i=s>>31,i=f[e+84>>2]-(i+s^i)|0)),s=f[e+84>>2],i|n?(0|i)!=(0|s)|n?i|(c=(0|n)!=(0|s))?n||(0|(b=f[e+92>>2]))>=(0|i)?c||(0|(c=f[e+92>>2]))<=(0|i)?(0|i)!=(0|s)||(0|(s=f[e+92>>2]))<=(0|n)?i||(i=0,(0|(s=f[e+92>>2]))>=(0|n)||(n=(s<<1)-n|0)):n=(s<<1)-n|0:i=(c<<1)-i|0:(i=(b<<1)-i|0,n=0):i=n:n=i:n=i=s,b=f[4+(c=(s=a<<3)+r|0)>>2],c=f[c>>2],f[o+36>>2]=i,f[o+32>>2]=n,f[o+24>>2]=c,f[o+28>>2]=b,_e(o+40|0,_,o+32|0,o+24|0),f[(i=t+s|0)>>2]=f[o+40>>2],f[i+4>>2]=f[o+44>>2],(0|m)==(0|(a=a+1|0)))break e;if(n=f[e+40>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>a>>>0))break}li(),T()}return V=o+48|0,1},$t,fi,dt,Ot,J,function(e){return f[(e|=0)>>2]=6960,0|e},function(e){f[(e|=0)>>2]=6960,ee(e)},ai,ft,ei,Xt,Tt,Pe,function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s=0,c=0,A=0,b=0,l=0,_=0,p=0,d=0,m=0;V=o=V-48|0,(i=f[8+(e|=0)>>2])-31>>>0>=4294967267&&(f[e+76>>2]=i,i=-2-(n=-1<<i)|0,f[e+84>>2]=i,f[e+80>>2]=-1^n,f[e+92>>2]=(0|i)/2,u[e+88>>2]=k(2)/k(0|i)),f[e+52>>2]=a,n=f[e+40>>2],i=f[n>>2],s=f[n+4>>2],a=0,f[o+16>>2]=0,f[o+8>>2]=0,f[o+12>>2]=0;e:if(!((0|(s=s-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(_=e+8|0,p=e+96|0,d=e+44|0,m=(n=s>>>2|0)>>>0>1?n:1;;){if(K(d,f[(a<<2)+i>>2],o+8|0),i=(n=f[o+12>>2])>>31,c=(s=f[o+8>>2])>>31,A=(b=f[o+16>>2])>>31,c=(A^=A+b)+((i^i+n)+(c^s+c)|0)|0,i=0,(i=c>>>0<A>>>0?1:i)|c?(s=zr(Pr(A=f[e+92>>2],l=A>>31,s,s>>31),D,c,i),f[o+8>>2]=s,i=zr(Pr(A,l,n,n>>31),D,c,i),f[o+12>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=s>>31)+s^i)|0,f[o+16>>2]=(0|b)>=0?A-i:i-A):f[o+8>>2]=f[e+92>>2],i=jr(p),n=f[o+8>>2],i?(f[o+16>>2]=0-f[o+16>>2],s=0-f[o+12>>2]|0,f[o+12>>2]=s,n=0-n|0,f[o+8>>2]=n):s=f[o+12>>2],(0|n)>=0?(i=(n=f[e+92>>2])+f[o+16>>2]|0,n=n+s|0):((0|s)<0?(n=(i=f[o+16>>2])>>31,n^=i+n):(n=(i=f[o+16>>2])>>31,n=f[e+84>>2]-(n^i+n)|0),(0|i)<0?(i=s>>31,i^=i+s):(i=s>>31,i=f[e+84>>2]-(i+s^i)|0)),s=f[e+84>>2],i|n?(0|i)!=(0|s)|n?i|(c=(0|n)!=(0|s))?n||(0|(b=f[e+92>>2]))>=(0|i)?c||(0|(c=f[e+92>>2]))<=(0|i)?(0|i)!=(0|s)||(0|(s=f[e+92>>2]))<=(0|n)?i||(i=0,(0|(s=f[e+92>>2]))>=(0|n)||(n=(s<<1)-n|0)):n=(s<<1)-n|0:i=(c<<1)-i|0:(i=(b<<1)-i|0,n=0):i=n:n=i:n=i=s,b=f[4+(c=(s=a<<3)+r|0)>>2],c=f[c>>2],f[o+36>>2]=i,f[o+32>>2]=n,f[o+24>>2]=c,f[o+28>>2]=b,_e(o+40|0,_,o+32|0,o+24|0),f[(i=t+s|0)>>2]=f[o+40>>2],f[i+4>>2]=f[o+44>>2],(0|m)==(0|(a=a+1|0)))break e;if(n=f[e+40>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>a>>>0))break}li(),T()}return V=o+48|0,1},$t,fi,dt,Ot,K,$t,fi,ii,ei,ii,Qt,Xt,function(e,r){e|=0;var t,i,n,a,o=0,s=0,c=0,b=0;return t=f[12+(r|=0)>>2],c=o=f[r+20>>2],o=(s=(i=f[r+16>>2])+4|0)>>>0<4?o+1|0:o,a=s,(n=f[r+8>>2])>>>0<s>>>0&(0|o)>=(0|t)|(0|o)>(0|t)||(s=i+f[r>>2]|0,s=A[0|s]|A[s+1|0]<<8|A[s+2|0]<<16|A[s+3|0]<<24,f[r+16>>2]=a,f[r+20>>2]=o,o=c,(c=i+8|0)>>>0>n>>>0&(0|(o=c>>>0<8?o+1|0:o))>=(0|t)|(0|o)>(0|t)||(f[r+16>>2]=c,f[r+20>>2]=o,1&s&&((r=31^m(s))-30>>>0<4294967267||(b=1,f[e+8>>2]=r+1,r=-2-(o=-2<<r)|0,f[e+16>>2]=r,f[e+12>>2]=-1^o,f[e+24>>2]=(0|r)/2,u[e+20>>2]=k(2)/k(0|r))))),0|b},function(e,r,t,i,n,a){e|=0,r|=0,t|=0,i|=0,a|=0;var o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0;if(V=a=V-32|0,s=Je(_t(s=(1073741823&(n|=0))!=(0|n)?-1:n<<2),0,s),o=f[r>>2],c=f[r+4>>2],b=f[s+4>>2],f[a+16>>2]=f[s>>2],f[a+20>>2]=b,f[a+8>>2]=o,f[a+12>>2]=c,_e(a+24|0,c=e+8|0,a+16|0,a+8|0),f[t>>2]=f[a+24>>2],f[t+4>>2]=f[a+28>>2],(0|i)>(0|n))for(b=0-n<<2,e=n;u=f[(A=(o=e<<2)+r|0)>>2],A=f[A+4>>2],_=f[4+(l=(o=t+o|0)+b|0)>>2],f[a+16>>2]=f[l>>2],f[a+20>>2]=_,f[a+8>>2]=u,f[a+12>>2]=A,_e(a+24|0,c,a+16|0,a+8|0),f[o>>2]=f[a+24>>2],f[o+4>>2]=f[a+28>>2],(0|i)>(0|(e=e+n|0)););return ee(s),V=a+32|0,1},function(e){var r=0;return f[24+(e|=0)>>2]=1140,f[e>>2]=7976,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),f[e>>2]=2164,r=f[e+20>>2],f[e+20>>2]=0,r&&yi[f[f[r>>2]+4>>2]](r),f[e>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),0|e},function(e){var r=0;f[24+(e|=0)>>2]=1140,f[e>>2]=7976,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),f[e>>2]=2164,r=f[e+20>>2],f[e+20>>2]=0,r&&yi[f[f[r>>2]+4>>2]](r),f[e>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),ee(e)},function(e,r,t){var i;return r|=0,t|=0,f[4+(e|=0)>>2]=r,i=f[f[f[r+4>>2]+8>>2]+(t<<2)>>2],f[e+12>>2]=t,f[e+8>>2]=i,9==f[f[f[f[r+4>>2]+8>>2]+(t<<2)>>2]+28>>2]|0},function(e,r,t){return r|=0,A[f[4+(e|=0)>>2]+36|0]>=2&&(r=0,!(0|yi[f[f[e>>2]+52>>2]](e)))||(r=Sr(e+24|0,f[e+16>>2])),0|r},Ut,function(e,r){return r|=0,0|yi[f[f[(e|=0)>>2]+56>>2]](e,r)},function(e){return 0|De(24+(e|=0)|0,rr(e)||f[e+8>>2],f[f[e+4>>2]+32>>2])},function(e,r){return 0|Ee(24+(e|=0)|0,rr(e),f[e+8>>2])},function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=10064,(t=f[e+20>>2])&&(f[e+24>>2]=t,ee(t)),r=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+8>>2]}f[e+12>>2]=r,ee(t)}return 0|e},ci,ei,ei,function(e){return f[44+(e|=0)>>2]?0|yi[f[f[e>>2]+48>>2]](e):0},function(e){var r=0,t=0,i=0,n=0,a=0,o=0,s=0,c=0,b=0,l=0;e:{if(r=f[32+(e|=0)>>2],a=f[r+8>>2],n=0,!((0|(o=f[r+12>>2]))<=(0|(i=f[r+20>>2]))&(s=a)>>>0<=(a=f[r+16>>2])>>>0|(0|i)>(0|o))){s=A[a+f[r>>2]|0],i=(o=a+1|0)?i:i+1|0,f[r+16>>2]=o,f[r+20>>2]=i;r:if(s){for(;;){if(0|yi[f[f[e>>2]+16>>2]](e,t)){if((0|s)!=(0|(t=t+1|0)))continue;break r}break}return 0}if((0|(t=f[e+8>>2]))!=(0|(i=f[e+12>>2])))for(;;){if(r=f[t>>2],!(0|yi[f[f[r>>2]+8>>2]](r,e,f[e+4>>2])))break e;if((0|i)==(0|(t=t+4|0)))break}if(s){for(t=0;;){if(r=f[f[e+8>>2]+(t<<2)>>2],!(0|yi[f[f[r>>2]+12>>2]](r,f[e+32>>2])))break e;if((0|s)==(0|(t=t+1|0)))break}if(s)for(a=e+20|0;;){if(t=0,r=f[(o=c<<2)+f[e+8>>2]>>2],(0|(i=0|yi[f[f[r>>2]+24>>2]](r)))>0)for(;r=f[f[e+8>>2]+o>>2],l=0|yi[f[f[r>>2]+20>>2]](r,t),n=f[e+20>>2],l>>>0<(b=f[e+24>>2]-n>>2)>>>0||((r=l+1|0)>>>0>b>>>0?(sr(a,r-b|0),n=f[a>>2]):r>>>0>=b>>>0||(f[e+24>>2]=(r<<2)+n)),f[(l<<2)+n>>2]=c,(0|i)!=(0|(t=t+1|0)););if((0|s)==(0|(c=c+1|0)))break}}n=0,0|yi[f[f[e>>2]+28>>2]](e)&&(n=0|yi[f[f[e>>2]+32>>2]](e))}return 0|n}return 0},function(e){var r,t=0,i=0;if((0|(t=f[8+(e|=0)>>2]))==(0|(r=f[e+12>>2])))return 1;for(;i=f[t>>2],(i=0|yi[f[f[i>>2]+16>>2]](i,f[e+32>>2]))&&(0|r)!=(0|(t=t+4|0)););return 0|i},ei,ii,Xt,Xt,function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=8204,t=f[e+48>>2],f[e+48>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),f[e>>2]=10064,(t=f[e+20>>2])&&(f[e+24>>2]=t,ee(t)),r=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+8>>2]}f[e+12>>2]=r,ee(t)}return 0|e},function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=8204,t=f[e+48>>2],f[e+48>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),f[e>>2]=10064,(t=f[e+20>>2])&&(f[e+24>>2]=t,ee(t)),r=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+8>>2]}f[e+12>>2]=r,ee(t)}ee(e)},function(e){var r,t=0,i=0,n=0,s=0;if(i=f[32+(e|=0)>>2],r=f[i+16>>2],n=f[i+12>>2],t=f[i+20>>2],l[i+8>>2]>r>>>0&(0|n)>=(0|t)|(0|t)<(0|n)){s=A[r+f[i>>2]|0],t=(n=r+1|0)?t:t+1|0,f[i+16>>2]=n,f[i+20>>2]=t,i=f[e+48>>2],f[e+48>>2]=0,i&&yi[f[f[i>>2]+4>>2]](i);e:{r:{t:{i:switch(0|s){case 0:i=_t(384),f[i>>2]=8312,Je(i+4|0,0,80),f[i+96>>2]=0,f[i+100>>2]=0,f[i+92>>2]=-1,f[i+84>>2]=-1,f[i+88>>2]=-1,f[i+104>>2]=0,f[i+108>>2]=0,f[i+112>>2]=0,f[i+116>>2]=0,f[i+120>>2]=0,f[i+124>>2]=0,f[i+128>>2]=0,f[i+132>>2]=0,f[i+136>>2]=0,f[i+140>>2]=0,f[i+144>>2]=0,f[i+148>>2]=0,f[i+156>>2]=0,f[i+160>>2]=0,f[i+152>>2]=1065353216,f[i+164>>2]=0,f[i+168>>2]=0,f[i+172>>2]=0,f[i+176>>2]=0,f[i+180>>2]=0,f[i+184>>2]=0,f[i+188>>2]=0,f[i+192>>2]=0,f[i+196>>2]=0,f[i+200>>2]=0,f[i+204>>2]=0,f[i+208>>2]=0,f[i+212>>2]=-1,f[i+216>>2]=0,f[i+220>>2]=0,f[i+224>>2]=0,o[38+(t=i+232|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,a[t+29|0]=0,a[t+30|0]=0,a[t+31|0]=0,a[t+32|0]=0,a[t+33|0]=0,a[t+34|0]=0,a[t+35|0]=0,a[t+36|0]=0,o[38+(t=i+272|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,a[t+29|0]=0,a[t+30|0]=0,a[t+31|0]=0,a[t+32|0]=0,a[t+33|0]=0,a[t+34|0]=0,a[t+35|0]=0,a[t+36|0]=0,f[(t=i+312|0)>>2]=0,f[t+4>>2]=0,a[t+5|0]=0,a[t+6|0]=0,a[t+7|0]=0,a[t+8|0]=0,a[t+9|0]=0,a[t+10|0]=0,a[t+11|0]=0,a[t+12|0]=0,o[38+(t=i+328|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,a[t+29|0]=0,a[t+30|0]=0,a[t+31|0]=0,a[t+32|0]=0,a[t+33|0]=0,a[t+34|0]=0,a[t+35|0]=0,a[t+36|0]=0,f[i+376>>2]=0,f[i+368>>2]=0,f[i+372>>2]=0;break t;case 2:break i;default:break r}i=_t(440),f[i>>2]=8364,Je(i+4|0,0,80),f[i+96>>2]=0,f[i+100>>2]=0,f[i+92>>2]=-1,f[i+84>>2]=-1,f[i+88>>2]=-1,f[i+104>>2]=0,f[i+108>>2]=0,f[i+112>>2]=0,f[i+116>>2]=0,f[i+120>>2]=0,f[i+124>>2]=0,f[i+128>>2]=0,f[i+132>>2]=0,f[i+136>>2]=0,f[i+140>>2]=0,f[i+144>>2]=0,f[i+148>>2]=0,f[i+156>>2]=0,f[i+160>>2]=0,f[i+152>>2]=1065353216,f[i+164>>2]=0,f[i+168>>2]=0,f[i+172>>2]=0,f[i+176>>2]=0,f[i+180>>2]=0,f[i+184>>2]=0,f[i+188>>2]=0,f[i+192>>2]=0,f[i+196>>2]=0,f[i+200>>2]=0,f[i+204>>2]=0,f[i+208>>2]=0,f[i+212>>2]=-1,f[i+216>>2]=0,f[i+220>>2]=0,f[i+224>>2]=0,o[38+(t=i+232|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,a[t+29|0]=0,a[t+30|0]=0,a[t+31|0]=0,a[t+32|0]=0,a[t+33|0]=0,a[t+34|0]=0,a[t+35|0]=0,a[t+36|0]=0,o[38+(t=i+272|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,a[t+29|0]=0,a[t+30|0]=0,a[t+31|0]=0,a[t+32|0]=0,a[t+33|0]=0,a[t+34|0]=0,a[t+35|0]=0,a[t+36|0]=0,f[(t=i+312|0)>>2]=0,f[t+4>>2]=0,a[t+5|0]=0,a[t+6|0]=0,a[t+7|0]=0,a[t+8|0]=0,a[t+9|0]=0,a[t+10|0]=0,a[t+11|0]=0,a[t+12|0]=0,o[38+(t=i+328|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,a[t+29|0]=0,a[t+30|0]=0,a[t+31|0]=0,a[t+32|0]=0,a[t+33|0]=0,a[t+34|0]=0,a[t+35|0]=0,a[t+36|0]=0,f[i+392>>2]=0,f[i+396>>2]=0,f[i+384>>2]=0,f[i+388>>2]=0,f[i+376>>2]=0,f[i+380>>2]=0,f[i+368>>2]=0,f[i+372>>2]=0,f[i+416>>2]=0,f[i+420>>2]=0,f[i+408>>2]=2,f[i+412>>2]=7,f[i+400>>2]=-1,f[i+404>>2]=-1,f[i+424>>2]=0,f[i+428>>2]=0,f[i+432>>2]=0,f[i+436>>2]=0}if(t=f[e+48>>2],f[e+48>>2]=i,!t)break e;yi[f[f[t>>2]+4>>2]](t)}if(!(i=f[e+48>>2]))return 0}e=0|yi[f[f[i>>2]+8>>2]](i,e)}else e=0;return 0|e},function(e,r){return r|=0,e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+20>>2]](e,r)},function(e){return e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+28>>2]](e)},function(e){return e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+36>>2]](e)},function(e,r){return r|=0,e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+12>>2]](e,r)},function(e,r){return r|=0,e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+16>>2]](e,r)},function(e){return e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+24>>2]](e)},we,function(e){ee(we(e|=0))},Ft,ir,ar,W,function(e){var r,t=0,i=0,n=0,s=0,c=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0,M=0,U=0,I=0,B=0,Z=0,W=0,F=0,x=0;if(V=r=V+-64|0,f[132+(e|=0)>>2]=0,f[e+148>>2]){if(t=f[e+144>>2])for(;s=f[t>>2],ee(t),t=s,s;);if(t=0,f[e+144>>2]=0,s=f[e+140>>2]){if(s-1>>>0>=3)for(_=-4&s;f[(i=t<<2)+f[e+136>>2]>>2]=0,f[f[e+136>>2]+(4|i)>>2]=0,f[f[e+136>>2]+(8|i)>>2]=0,f[f[e+136>>2]+(12|i)>>2]=0,t=t+4|0,(0|_)!=(0|(n=n+4|0)););if(s&=3)for(;f[f[e+136>>2]+(t<<2)>>2]=0,t=t+1|0,(0|s)!=(0|(v=v+1|0)););}f[e+148>>2]=0}if(Nr(1,r+60|0,f[f[e+4>>2]+32>>2])&&(f[e+156>>2]=f[r+60>>2],Nr(1,r+56|0,f[f[e+4>>2]+32>>2])&&!((n=f[r+56>>2])>>>0>1431655765|l[e+156>>2]>p(n,3)>>>0)&&(s=f[f[e+4>>2]+32>>2],i=f[s+8>>2],!((0|(v=f[s+12>>2]))<=(0|(t=f[s+20>>2]))&(c=i)>>>0<=(i=f[s+16>>2])>>>0|(0|t)>(0|v))&&(v=A[i+f[s>>2]|0],t=(i=i+1|0)?t:t+1|0,f[s+16>>2]=i,f[s+20>>2]=t,Nr(1,r+52|0,s)&&!((y=f[r+52>>2])>>>0>n>>>0|n>>>0>y+((y>>>0)/3|0)>>>0)&&Nr(1,r+48|0,f[f[e+4>>2]+32>>2])&&!((s=f[r+48>>2])>>>0>y>>>0)&&(f[e+28>>2]=f[e+24>>2],vr(i=_t(88)),t=f[e+8>>2],f[e+8>>2]=i,(!t||(Br(t),f[e+8>>2]))&&(f[e+164>>2]=f[e+160>>2],Ir(e+160|0,n),f[e+176>>2]=f[e+172>>2],Ir(e+172|0,n),f[e- -64>>2]=0,f[e+92>>2]=-1,f[e+84>>2]=-1,f[e+88>>2]=-1,f[e+40>>2]=f[e+36>>2],f[e+52>>2]=f[e+48>>2],f[e+76>>2]=f[e+72>>2],Wr(Z=e+216|0),q(Z,v),er(f[e+8>>2],n,s+f[e+156>>2]|0)&&(t=f[e+156>>2],a[r+8|0]=1,ze(e+120|0,t+s|0,r+8|0),-1!=(0|le(e,f[f[e+4>>2]+32>>2]))))))))){yr(s=e+232|0,e),f[e+372>>2]=v,o[38+(g=r+8|0)>>1]=0,f[g>>2]=0,f[g+8>>2]=0,f[g+12>>2]=0,f[g+16>>2]=0,f[g+20>>2]=0,f[g+24>>2]=0,f[g+28>>2]=0,a[g+29|0]=0,a[g+30|0]=0,a[g+31|0]=0,a[g+32|0]=0,a[g+33|0]=0,a[g+34|0]=0,a[g+35|0]=0,a[g+36|0]=0,t=0,V=v=V-16|0,n=f[s+4>>2],f[s+40>>2]=f[s>>2],f[s+44>>2]=n,n=f[s+36>>2],f[s+72>>2]=f[s+32>>2],f[s+76>>2]=n,i=f[s+28>>2],f[(n=s- -64|0)>>2]=f[s+24>>2],f[n+4>>2]=i,n=f[s+20>>2],f[s+56>>2]=f[s+16>>2],f[s+60>>2]=n,n=f[s+12>>2],f[s+48>>2]=f[s+8>>2],f[s+52>>2]=n,rt(s+40|0,1,v+8|0)&&(n=f[s+44>>2],f[s>>2]=f[s+40>>2],f[s+4>>2]=n,n=f[s+76>>2],f[s+32>>2]=f[s+72>>2],f[s+36>>2]=n,n=f[s+68>>2],f[s+24>>2]=f[s+64>>2],f[s+28>>2]=n,_=i=f[s+60>>2],n=f[s+56>>2],f[s+16>>2]=n,f[s+20>>2]=i,c=f[s+52>>2],i=f[s+48>>2],f[s+8>>2]=i,f[s+12>>2]=c,u=i-n|0,(0|(m=f[v+12>>2]))==(0|(c=c-((i>>>0<n>>>0)+_|0)|0))&u>>>0>=(i=f[v+8>>2])>>>0|c>>>0>m>>>0)&&(c=i+n|0,n=_+m|0,f[s+16>>2]=c,f[s+20>>2]=i>>>0>c>>>0?n+1|0:n,Ve(s+80|0,s)&&Xe(s)&&(t=f[s+4>>2],f[g>>2]=f[s>>2],f[g+4>>2]=t,t=f[s+36>>2],f[g+32>>2]=f[s+32>>2],f[g+36>>2]=t,t=f[s+28>>2],f[g+24>>2]=f[s+24>>2],f[g+28>>2]=t,t=f[s+20>>2],f[g+16>>2]=f[s+16>>2],f[g+20>>2]=t,t=f[s+12>>2],f[g+8>>2]=f[s+8>>2],f[g+12>>2]=t,t=1)),V=v+16|0;e:if(t){n=0,s=0,t=0,v=0,V=m=V-96|0,f[m+72>>2]=0,f[m+64>>2]=0,f[m+68>>2]=0,f[m+48>>2]=0,f[m+52>>2]=0,f[m+40>>2]=0,f[m+44>>2]=0,f[m+56>>2]=1065353216,f[m+32>>2]=0,f[m+24>>2]=0,f[m+28>>2]=0,k=1,_=e,G=f[e+124>>2];r:{t:{i:{n:{a:{o:{f:{s:if(!((0|y)<=0)){for(W=f[_+216>>2]!=f[_+220>>2];;){E=(c=E)+1|0;c:{A:{b:{l:{u:{_:{p:{k:{d:{m:{h:if(A[_+308|0]){y:{if(!((e=(u=f[_+296>>2])+((i=f[_+304>>2])>>>3|0)|0)>>>0>=(h=f[_+300>>2])>>>0)&&(d=A[0|e],e=i+1|0,f[_+304>>2]=e,d>>>(7&i)&1))switch((w=u+(d=e>>>3|0)|0)>>>0>=h>>>0?(i=e,e=0):(w=A[0|w],i=i+2|0,f[_+304>>2]=i,d=i>>>3|0,e=w>>>(7&e)&1),(u=u+d|0)>>>0<h>>>0?(u=A[0|u],f[_+304>>2]=i+1,i=u>>>(7&i)<<1&2):i=0,(e=(e|i)<<1)-1|0){case 0:case 2:case 4:break i;case 5:break m;case 1:case 3:break y;default:break h}if((0|t)==(0|s)){i=-1;break f}d=-1,u=f[_+8>>2],w=f[u+24>>2],e=-1,-1!=(0|(i=f[(N=s-4|0)>>2]))&&(e=-1,-1!=(0|(k=((k=i+1|0)>>>0)%3|0?k:i-2|0))&&(e=f[f[u>>2]+(k<<2)>>2])),-1!=(0|(n=f[w+(e<<2)>>2]))&&(d=((k=n+1|0)>>>0)%3|0?k:n-2|0),n=f[u+12>>2],k=(c=p(c,3))+1|0,f[n+(i<<2)>>2]=k,f[(D=k<<2)+n>>2]=i,h=c+2|0,f[n+(d<<2)>>2]=h,f[(M=h<<2)+n>>2]=d,k=-1,n=-1;v:if(-1!=(0|i)){if((i>>>0)%3|0)i=i-1|0;else if(n=-1,-1==(0|(i=i+2|0)))break v;n=f[f[u>>2]+(i<<2)>>2]}if(-1!=(0|d)&&-1!=(0|(i=((i=d+1|0)>>>0)%3|0?i:d-2|0))&&(k=f[f[u>>2]+(i<<2)>>2]),i=-1,(0|e)==(0|n)|(0|e)==(0|k))break f;i=f[u>>2],f[i+(c<<2)>>2]=e,f[i+D>>2]=k,f[i+M>>2]=n,-1!=(0|n)&&(f[w+(n<<2)>>2]=h),n=f[_+120>>2]+(e>>>3&536870908)|0,i=f[n>>2],F=n,x=Vt(e)&i,f[F>>2]=x,f[N>>2]=c,n=t;break c}if((0|t)==(0|s)){i=-1;break f}if(n=f[_+8>>2],i=f[n+12>>2],D=(d=(u=p(c,3))+((w=5==(1|e))?2:1)|0)<<2,e=f[(M=s-4|0)>>2],f[i+D>>2]=e,f[i+(e<<2)>>2]=d,ur(n+24|0),i=-1,N=f[_+8>>2],h=f[N+24>>2],(0|G)<f[N+28>>2]-h>>2)break f;if(i=f[N>>2],N=((n=f[n+28>>2]-f[n+24>>2]|0)>>2)-1|0,f[i+D>>2]=N,n&&(f[h+(N<<2)>>2]=d),d=w?u:u+2|0,w=i+(u+w<<2)|0,-1!=(0|e)){y:{v:{if((e>>>0)%3|0)n=e-1|0;else if(-1==(0|(n=e+2|0)))break v;if(n=f[i+(n<<2)>>2],f[i+(d<<2)>>2]=n,-1==(0|n))break y;f[h+(n<<2)>>2]=d;break y}f[i+(d<<2)>>2]=-1}n=-1,-1!=(0|(e=((d=e+1|0)>>>0)%3|0?d:e-2|0))&&(n=f[i+(e<<2)>>2])}else f[i+(d<<2)>>2]=-1,n=-1;f[w>>2]=n,f[M>>2]=u,n=t;break d}if((0|t)==(0|s)){i=-1;break f}h=f[(e=s-4|0)>>2],f[m+68>>2]=e;h:if(d=f[m+44>>2])if((u=Nt(d)>>>0>1)?d>>>0>(n=c)>>>0||(n=(c>>>0)%(d>>>0)|0):n=c&d+2147483647,i=f[f[m+40>>2]+(n<<2)>>2])if(i=f[i>>2]){y:{if(!u){for(u=d-1|0;;){v:{if((0|(d=f[i+4>>2]))!=(0|c)){if((u&d)==(0|n))break v;s=e;break h}if((0|c)==f[i+8>>2])break y}if(!(i=f[i>>2]))break}s=e;break h}for(;;){v:{if((0|(u=f[i+4>>2]))!=(0|c)){if(u>>>0>=d>>>0&&(u=(u>>>0)%(d>>>0)|0),(0|n)==(0|u))break v;s=e;break h}if((0|c)==f[i+8>>2])break y}if(!(i=f[i>>2]))break}s=e;break h}if((0|e)==(0|R)){if((s=1+(n=(e=R-t|0)>>2)|0)>>>0>=1073741824)break p;if(C=e>>1,s=n>>>0<536870911?s>>>0>C>>>0?s:C:1073741823){if(s>>>0>=1073741824)break t;C=_t(s<<2)}else C=0;f[(n=C+(n<<2)|0)>>2]=f[i+12>>2],R=(s<<2)+C|0,s=n+4|0,(0|e)>0&&ge(C,t,e),f[m+72>>2]=R,f[m+68>>2]=s,f[m+64>>2]=C,t&&ee(t)}else f[e>>2]=f[i+12>>2],f[m+68>>2]=s}else s=e;else s=e;else s=e;if((0|s)==(0|C))break k;if(n=-1==(0|(e=f[(D=s-4|0)>>2])),t=f[_+8>>2],!n&-1!=f[f[t+12>>2]+(e<<2)>>2])break k;if(u=f[t+12>>2],-1!=(0|h)&-1!=f[u+(h<<2)>>2])break k;if(N=(c=p(c,3))+2|0,f[u+(e<<2)>>2]=N,f[(w=N<<2)+u>>2]=e,i=c+1|0,f[u+(h<<2)>>2]=i,f[(M=i<<2)+u>>2]=h,n)break _;if((e>>>0)%3|0){k=e-1|0;break l}if(-1!=(0|(k=e+2|0)))break l;d=f[t>>2],n=-1;break b}if(ur((d=f[_+8>>2])+24|0),i=-1,u=f[_+8>>2],e=p(c,3),N=(d=(h=f[d+28>>2]-f[d+24>>2]|0)>>2)-1|0,f[f[u>>2]+(e<<2)>>2]=N,ur(u+24|0),w=e+1|0,f[f[u>>2]+(w<<2)>>2]=(f[u+28>>2]-f[u+24>>2]>>2)-1,ur((u=f[_+8>>2])+24|0),D=e+2|0,f[f[u>>2]+(D<<2)>>2]=(f[u+28>>2]-f[u+24>>2]>>2)-1,M=f[_+8>>2],u=f[M+24>>2],(0|G)<f[M+28>>2]-u>>2)break f;m:{if(h){if(f[u+(N<<2)>>2]=e,i=0,-4!=(0|h)&&(f[u+(d<<2)>>2]=w,-1==(0|(i=d+1|0))))break m}else f[u+(d<<2)>>2]=w,i=1;f[u+(i<<2)>>2]=D}if((0|s)==(0|R)){if((s=1+(i=(t=s-n|0)>>2)|0)>>>0>=1073741824)break u;if(C=t>>1,s=i>>>0<536870911?s>>>0>C>>>0?s:C:1073741823){if(s>>>0>=1073741824)break t;C=_t(s<<2)}else C=0;f[(i=C+(i<<2)|0)>>2]=e,R=(s<<2)+C|0,s=i+4|0,(0|t)>0&&ge(C,n,t),f[m+72>>2]=R,f[m+68>>2]=s,f[m+64>>2]=C,n&&ee(n),n=t=C}else f[s>>2]=e,s=s+4|0,f[m+68>>2]=s}if((0|(i=f[_+40>>2]))==f[_+36>>2])break c;for(c=y+(-1^c)|0,u=s-4|0;;){if((e=f[i-8>>2])>>>0>c>>>0)break k;if((0|e)!=(0|c))break c;if(d=A[i-4|0],i=f[(e=i-12|0)>>2],f[_+40>>2]=e,(0|i)<0)break k;e=f[u>>2],f[m+20>>2]=y+(-1^i),i=m+20|0,f[m+88>>2]=i,re(m,m+40|0,i,m+88|0),w=f[m>>2];d:if(1&d){if(i=-1,-1==(0|e))break d;i=((i=e+1|0)>>>0)%3|0?i:e-2|0}else i=-1,-1!=(0|e)&&(i=e-1|0,(e>>>0)%3|0||(i=e+2|0));if(f[w+12>>2]=i,(0|(i=f[_+40>>2]))==f[_+36>>2])break}break c}if(i=-1,1&k)break f;break s}oi(),T()}n=-1,d=f[t>>2],f[d+(c<<2)>>2]=-1,i=-1;break A}oi(),T()}d=f[t>>2],n=f[d+(k<<2)>>2]}f[(c<<2)+d>>2]=n,i=-1,-1!=(0|(e=((k=e+1|0)>>>0)%3|0?k:e-2|0))&&(i=f[(e<<2)+d>>2])}if(f[d+M>>2]=i,-1!=(0|h)){A:{b:{if((h>>>0)%3|0)i=h-1|0;else if(-1==(0|(i=h+2|0)))break b;if(e=f[(i<<2)+d>>2],f[d+w>>2]=e,-1==(0|e))break A;f[f[t+24>>2]+(e<<2)>>2]=N;break A}f[d+w>>2]=-1}k=-1,i=-1,-1!=(0|(e=((e=h+1|0)>>>0)%3|0?e:h-2|0))&&(k=f[(e<<2)+d>>2],i=e)}else f[d+w>>2]=-1,k=-1,i=-1;e=(t=f[t+24>>2])+(k<<2)|0,-1!=(0|n)&&(f[t+(n<<2)>>2]=f[e>>2]);A:if(-1!=(0|i))for(;;){if(f[(i<<2)+d>>2]=n,-1==(0|(t=((t=i+1|0)>>>0)%3|0?t:i-2|0)))break A;if(-1==(0|(t=f[u+(t<<2)>>2])))break A;if(-1==(0|(i=((i=t+1|0)>>>0)%3|0?i:t-2|0)))break}f[e>>2]=-1;A:if(!W){if((0|U)==(0|I)){b:{if((e=1+(i=(t=I-v|0)>>2)|0)>>>0<1073741824){if(n=t>>1,n=i>>>0<536870911?e>>>0>n>>>0?e:n:1073741823){if(n>>>0>=1073741824)break b;e=_t(n<<2)}else e=0;f[(i=e+(i<<2)|0)>>2]=k,I=e+(n<<2)|0,U=i+4|0,(0|t)>0&&ge(e,v,t),f[m+32>>2]=I,f[m+28>>2]=U,f[m+24>>2]=e,v&&ee(v),v=e;break A}oi(),T()}break t}f[U>>2]=k,U=U+4|0,f[m+28>>2]=U}f[D>>2]=c,n=t=C}if(k=(0|y)>(0|E),(0|y)==(0|E))break}E=y}if(i=-1,k=f[_+8>>2],!((0|G)<f[k+28>>2]-f[k+24>>2]>>2)){if((0|s)!=(0|C)){for(e=_+60|0,w=_+312|0;;){h=f[(s=s-4|0)>>2],f[m+68>>2]=s;s:if(jr(w)){if(G=f[_+8>>2],R=f[G>>2],((f[G+4>>2]-R>>2>>>0)/3|0)<=(0|E))break f;if(t=-1,n=-1,y=f[G+24>>2],c=-1,-1!=(0|h)&&(c=-1,-1!=(0|(u=((u=h+1|0)>>>0)%3|0?u:h-2|0))&&(c=f[R+(u<<2)>>2])),-1!=(0|(c=f[y+((u=c)<<2)>>2]))&&-1!=(0|(c=((k=c+1|0)>>>0)%3|0?k:c-2|0))&&(-1!=(0|(t=((t=c+1|0)>>>0)%3|0?t:c-2|0))&&(n=f[R+(t<<2)>>2]),t=c),k=-1,d=-1,c=-1,-1!=(0|(y=f[y+(n<<2)>>2]))&&(c=-1,-1!=(0|(y=((I=y+1|0)>>>0)%3|0?I:y-2|0))&&(-1!=(0|(c=((c=y+1|0)>>>0)%3|0?c:y-2|0))&&(d=f[R+(c<<2)>>2]),c=y)),G=f[G+12>>2],y=p(E,3),f[G+(I=y<<2)>>2]=h,f[G+(h<<2)>>2]=y,f[(N=(h=y+1|0)<<2)+G>>2]=t,f[G+(t<<2)>>2]=h,f[(W=(t=y+2|0)<<2)+G>>2]=c,f[G+(c<<2)>>2]=t,f[R+I>>2]=n,f[(c=R+N|0)>>2]=d,f[(d=R+W|0)>>2]=u,u=h>>>0<y>>>0?-1:n,n=f[_+120>>2],G=f[(R=(u>>>3&536870908)+n|0)>>2],F=R,x=Vt(u)&G,f[F>>2]=x,k=-1!=(0|h)?f[c>>2]:k,u=f[(c=n+(k>>>3&536870908)|0)>>2],F=c,x=Vt(k)&u,f[F>>2]=x,k=-1,k=-1!=(0|t)?f[d>>2]:k,n=f[(t=n+(k>>>3&536870908)|0)>>2],F=t,x=Vt(k)&n,f[F>>2]=x,(0|(k=f[_+64>>2]))==(t=f[_+68>>2])<<5){if((k+1|0)<0)break o;or(e,t=k>>>0<=1073741822?(t<<=6)>>>0<(n=k+32&-32)>>>0?n:t:2147483647),k=f[_+64>>2]}if(E=E+1|0,f[_+64>>2]=k+1,t=f[_+60>>2]+(k>>>3&536870908)|0,f[t>>2]=f[t>>2]|1<<k,(0|(t=f[_+76>>2]))!=f[_+80>>2]){f[t>>2]=y,f[_+76>>2]=t+4;break s}if((t=1+(k=(c=t-(n=f[_+72>>2])|0)>>2)|0)>>>0>=1073741824)break a;if(u=c>>1,u=k>>>0<536870911?t>>>0>u>>>0?t:u:1073741823){if(u>>>0>=1073741824)break t;t=_t(u<<2)}else t=0;if(f[(k=t+(k<<2)|0)>>2]=y,(0|c)>0&&ge(t,n,c),f[_+80>>2]=t+(u<<2),f[_+76>>2]=k+4,f[_+72>>2]=t,!n)break s;ee(n)}else{if((0|(t=f[_+64>>2]))==(n=f[_+68>>2])<<5){if((t+1|0)<0)break o;or(e,t=t>>>0<=1073741822?(t=t+32&-32)>>>0>(n<<=6)>>>0?t:n:2147483647),t=f[_+64>>2]}if(f[_+64>>2]=t+1,n=f[_+60>>2]+(t>>>3&536870908)|0,c=f[n>>2],F=n,x=Vt(t)&c,f[F>>2]=x,(0|(t=f[_+76>>2]))==f[_+80>>2]){if((t=1+(u=(c=t-(n=f[_+72>>2])|0)>>2)|0)>>>0>=1073741824)break a;if(y=c>>1,y=u>>>0<536870911?t>>>0>y>>>0?t:y:1073741823){if(y>>>0>=1073741824)break n;t=_t(y<<2)}else t=0;f[(u=t+(u<<2)|0)>>2]=h,(0|c)>0&&ge(t,n,c),f[_+80>>2]=t+(y<<2),f[_+76>>2]=u+4,f[_+72>>2]=t,n&&ee(n)}else f[t>>2]=h,f[_+76>>2]=t+4}if((0|s)==(0|C))break}k=f[_+8>>2]}if(((f[k+4>>2]-f[k>>2]>>2>>>0)/3|0)==(0|E))if(E=f[k+24>>2],i=f[k+28>>2]-E>>2,(0|v)!=(0|U))for(n=v;;){if(e=f[n>>2],-1==f[(d=((s=i-1|0)<<2)+E|0)>>2])for(;s=i-2|0,i=i-1|0,-1==f[(d=(s<<2)+E|0)>>2];);if(e>>>0<=s>>>0){if(f[m>>2]=k,E=f[d>>2],a[m+12|0]=1,f[m+8>>2]=E,f[m+4>>2]=E,-1!=(0|E))for(;f[f[k>>2]+(E<<2)>>2]=e,Fe(m),k=f[_+8>>2],-1!=(0|(E=f[m+8>>2])););t=(E=f[k+24>>2])+(s<<2)|0,-1!=(0|e)&&(f[(e<<2)+E>>2]=f[t>>2]),f[t>>2]=-1,t=1<<e,e=(c=f[_+120>>2])+(e>>>3&536870908)|0,c=c+(s>>>3&536870908)|0,s=1<<s,f[c>>2]&s?t|=f[e>>2]:t=f[e>>2]&(-1^t),f[e>>2]=t,f[c>>2]=f[c>>2]&(-1^s),i=i-1|0}if((0|U)==(0|(n=n+4|0)))break}else v=U}}if(v&&ee(v),s=f[m+48>>2])for(;e=f[s>>2],ee(s),s=e,e;);e=f[m+40>>2],f[m+40>>2]=0,e&&ee(e),C&&(f[m+68>>2]=C,ee(C)),V=m+96|0;break r}oi(),T()}oi(),T()}Hr(1326)}T()}Hr(1326),T()}if(-1!=(0|i)){s=(e=f[g+16>>2])+f[g>>2]|0,t=(t=f[g+8>>2])-e|0,e=f[f[_+4>>2]+32>>2],o[e+38>>1]=b[e+38>>1],f[e>>2]=s,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=t,f[e+12>>2]=0;r:if(f[_+216>>2]!=f[_+220>>2]&&(e=f[_+8>>2],f[e+4>>2]!=f[e>>2])){for(t=0;;){if(be(_,t)){if(t=t+3|0,e=f[_+8>>2],t>>>0<f[e+4>>2]-f[e>>2]>>2>>>0)continue;break r}break}break e}if(A[_+308|0]&&(a[_+308|0]=0,s=f[_+292>>2],e=0,n=(e=(t=f[_+304>>2]+7|0)>>>0<7?1:e)>>>3|0,e=(t=e<<29|t>>>3)+f[_+288>>2]|0,n=s+n|0,f[_+288>>2]=e,f[_+292>>2]=e>>>0<t>>>0?n+1|0:n),(0|(t=f[_+216>>2]))!=f[_+220>>2])for(;;){if(Me(4+((e=p(B,144))+t|0)|0,f[_+8>>2]),v=f[Z>>2],(0|(t=f[132+(s=e+v|0)>>2]))!=(0|(s=f[s+136>>2])))for(;Be(4+(e+v|0)|0,f[t>>2]),v=f[Z>>2],(0|s)!=(0|(t=t+4|0)););if(te(4+(e+v|0)|0),B=B+1|0,t=f[_+216>>2],!(B>>>0<(f[_+220>>2]-t|0)/144>>>0))break}if(e=f[_+8>>2],_r(_+184|0,f[e+28>>2]-f[e+24>>2]>>2),(0|(v=f[_+216>>2]))!=f[_+220>>2])for(t=0;e=p(t,144)+v|0,s=f[e+60>>2]-f[e+56>>2]>>2,n=e+104|0,e=f[_+8>>2],_r(n,(0|(e=f[e+28>>2]-f[e+24>>2]>>2))>(0|s)?e:s),t=t+1|0,v=f[_+216>>2],t>>>0<(f[_+220>>2]-v|0)/144>>>0;);B=O(_,i)}}}return V=r- -64|0,0|B},ei,Lt,zt,de,function(e){ee(de(e|=0))},Ft,ir,ar,W,function(e){var r,t=0,i=0,n=0,s=0,c=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0,U=0,I=0,B=0,Z=0,W=0,F=0,x=0,S=0,j=0,Y=0;if(V=r=V+-64|0,f[132+(e|=0)>>2]=0,f[e+148>>2]){if(t=f[e+144>>2])for(;_=f[t>>2],ee(t),t=_;);if(t=0,f[e+144>>2]=0,_=f[e+140>>2]){if(_-1>>>0>=3)for(g=-4&_;f[(u=t<<2)+f[e+136>>2]>>2]=0,f[f[e+136>>2]+(4|u)>>2]=0,f[f[e+136>>2]+(8|u)>>2]=0,f[f[e+136>>2]+(12|u)>>2]=0,t=t+4|0,(0|g)!=(0|(m=m+4|0)););if(_&=3)for(;f[f[e+136>>2]+(t<<2)>>2]=0,t=t+1|0,(0|_)!=(0|(i=i+1|0)););}f[e+148>>2]=0}e:{if(Nr(1,r+60|0,f[f[e+4>>2]+32>>2])&&(f[e+156>>2]=f[r+60>>2],Nr(1,r+56|0,f[f[e+4>>2]+32>>2])&&!((i=f[r+56>>2])>>>0>1431655765|l[e+156>>2]>p(i,3)>>>0)&&(_=f[f[e+4>>2]+32>>2],u=f[_+8>>2],!((0|(g=f[_+12>>2]))<=(0|(t=f[_+20>>2]))&(n=u)>>>0<=(u=f[_+16>>2])>>>0|(0|t)>(0|g))&&(g=A[u+f[_>>2]|0],t=(u=u+1|0)?t:t+1|0,f[_+16>>2]=u,f[_+20>>2]=t,Nr(1,r+52|0,_)&&!((N=f[r+52>>2])>>>0>i>>>0|i>>>0>N+((N>>>0)/3|0)>>>0)&&Nr(1,r+48|0,f[f[e+4>>2]+32>>2])&&!((t=f[r+48>>2])>>>0>N>>>0)&&(f[e+28>>2]=f[e+24>>2],vr(u=_t(88)),_=f[e+8>>2],f[e+8>>2]=u,(!_||(Br(_),f[e+8>>2]))&&(f[e+164>>2]=f[e+160>>2],Ir(e+160|0,i),f[e+176>>2]=f[e+172>>2],Ir(e+172|0,i),f[e- -64>>2]=0,f[e+92>>2]=-1,f[e+84>>2]=-1,f[e+88>>2]=-1,f[e+40>>2]=f[e+36>>2],f[e+52>>2]=f[e+48>>2],f[e+76>>2]=f[e+72>>2],Wr(F=e+216|0),q(F,g),er(f[e+8>>2],i,t+f[e+156>>2]|0)&&(_=f[e+156>>2],a[r+8|0]=1,ze(e+120|0,t+_|0,r+8|0),-1!=(0|le(e,f[f[e+4>>2]+32>>2]))))))))){yr(c=e+232|0,e),j=e,Y=0|yi[f[f[e>>2]+36>>2]](e),f[j+380>>2]=Y,f[e+372>>2]=g,f[e+384>>2]=t+f[e+156>>2],o[38+(t=r+8|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,a[t+29|0]=0,a[t+30|0]=0,a[t+31|0]=0,a[t+32|0]=0,a[t+33|0]=0,a[t+34|0]=0,a[t+35|0]=0,a[t+36|0]=0,x=t,g=t,u=0,V=s=V-16|0;r:if(Ve(c+80|0,c)&&Xe(c)&&(t=f[c+4>>2],f[g>>2]=f[c>>2],f[g+4>>2]=t,t=f[c+36>>2],f[g+32>>2]=f[c+32>>2],f[g+36>>2]=t,t=f[c+28>>2],f[g+24>>2]=f[c+24>>2],f[g+28>>2]=t,t=f[c+20>>2],f[g+16>>2]=f[c+16>>2],f[g+20>>2]=t,t=f[c+12>>2],f[g+8>>2]=f[c+8>>2],f[g+12>>2]=t,f[c+176>>2]=2,f[c+180>>2]=7,!((0|(t=f[c+152>>2]))<0))){if(f[s+12>>2]=0,u=2,m=f[c+156>>2],(_=f[c+160>>2]-m>>2)>>>0<t>>>0?(ve(c+156|0,t-_|0,s+12|0),u=f[c+176>>2],i=f[c+180>>2]):(i=7,t>>>0>=_>>>0||(f[c+160>>2]=m+(t<<2))),_=c+184|0,(i=1+(i-u|0)|0)>>>0>(m=((t=f[c+188>>2])-(u=f[c+184>>2])|0)/12|0)>>>0){if((t=i-m|0)>>>0<=((n=f[_+8>>2])-(u=f[_+4>>2])|0)/12>>>0)t&&(u=Je(u,0,t=p((p(t,12)-12>>>0)/12|0,12)+12|0)+t|0),f[_+4>>2]=u;else{t:{i:{n:{if((i=(w=(u-(m=f[_>>2])|0)/12|0)+t|0)>>>0<357913942){if(C=(n=(n-m|0)/12|0)<<1,n=n>>>0<178956970?i>>>0>C>>>0?i:C:357913941){if(n>>>0>=357913942)break n;k=_t(p(n,12))}if(w=(t=Je(i=p(w,12)+k|0,0,w=p((p(t,12)-12>>>0)/12|0,12)+12|0))+w|0,k=p(n,12)+k|0,(0|u)==(0|m))break i;for(;u=u-12|0,f[(i=i-12|0)>>2]=f[u>>2],f[i+4>>2]=f[u+4>>2],f[i+8>>2]=f[u+8>>2],f[u+8>>2]=0,f[u>>2]=0,f[u+4>>2]=0,(0|u)!=(0|m););if(f[_+8>>2]=k,t=f[_+4>>2],f[_+4>>2]=w,u=f[_>>2],f[_>>2]=i,(0|t)==(0|u))break t;for(;(m=f[(i=t-12|0)>>2])&&(f[t-8>>2]=m,ee(m)),(0|(t=i))!=(0|u););break t}break e}Hr(1326),T()}f[_+8>>2]=k,f[_+4>>2]=w,f[_>>2]=t}u&&ee(u)}i=f[c+188>>2]}else if(i>>>0>=m>>>0)i=t;else{if((0|t)!=(0|(i=u+p(i,12)|0)))for(;(m=f[(u=t-12|0)>>2])&&(f[t-8>>2]=m,ee(m)),(0|(t=u))!=(0|i););f[c+188>>2]=i}if(k=c+196|0,t=(i-(u=f[c+184>>2])|0)/12|0,n=f[c+196>>2],t>>>0>(m=f[c+200>>2]-n>>2)>>>0?(sr(k,t-m|0),u=f[c+184>>2],i=f[c+188>>2]):t>>>0>=m>>>0||(f[c+200>>2]=n+(t<<2)),(0|i)!=(0|u)){for(t=0;;){if(Nr(1,s+8|0,g)&&(u=f[s+8>>2],i=f[c+148>>2],!(u>>>0>(f[i+4>>2]-f[i>>2]>>2>>>0)/3>>>0))){if(u&&(i=f[_>>2],C=p(t,12),n=f[(m=i+C|0)>>2],(w=f[m+4>>2]-n>>2)>>>0<u>>>0?(sr(m,u-w|0),i=f[_>>2]):u>>>0>=w>>>0||(f[m+4>>2]=n+(u<<2)),M(u,1,g,f[i+C>>2]),f[f[k>>2]+(t<<2)>>2]=u),u=1,(t=t+1|0)>>>0<(f[c+188>>2]-f[c+184>>2]|0)/12>>>0)continue;break r}break}u=0}else u=1}V=s+16|0;r:if(u){i=0,t=0,u=0,C=0,_=0,g=0,m=0,w=0,V=y=V-96|0,f[y+72>>2]=0,f[y+64>>2]=0,f[y+68>>2]=0,f[y+48>>2]=0,f[y+52>>2]=0,f[y+40>>2]=0,f[y+44>>2]=0,f[y+56>>2]=1065353216,f[y+32>>2]=0,f[y+24>>2]=0,f[y+28>>2]=0,k=1,c=e,U=f[e+124>>2];t:{i:{n:{a:if(!((0|N)<=0)){B=c+232|0,S=f[c+216>>2]!=f[c+220>>2];o:{for(;;){m=(e=m)+1|0;f:{s:{c:{if(-1!=(0|(n=f[c+404>>2]))){if(s=-1,d=f[c+428>>2]+(n<<2)|0,n=(h=f[d>>2])-1|0,f[d>>2]=n,(0|h)<=0)break n;if(d=f[f[f[c+416>>2]+p(f[c+404>>2],12)>>2]+(n<<2)>>2],n=f[8928+(d<<2)>>2],f[c+400>>2]=n,!d){if((0|i)==(0|_))break n;n=-1,k=f[c+8>>2],E=f[k+24>>2],t=-1,-1!=(0|(s=f[(G=i-4|0)>>2]))&&(t=-1,-1!=(0|(h=((h=s+1|0)>>>0)%3|0?h:s-2|0))&&(t=f[f[k>>2]+(h<<2)>>2])),-1!=(0|(d=f[E+(t<<2)>>2]))&&(n=((n=d+1|0)>>>0)%3|0?n:d-2|0),h=f[k+12>>2],e=(d=p(e,3))+1|0,f[h+(s<<2)>>2]=e,f[(D=e<<2)+h>>2]=s,v=d+2|0,f[h+(n<<2)>>2]=v,f[(I=v<<2)+h>>2]=n,h=-1,e=-1;A:if(-1!=(0|s)){if((s>>>0)%3|0)s=s-1|0;else if(e=-1,-1==(0|(s=s+2|0)))break A;e=f[f[k>>2]+(s<<2)>>2]}if(-1!=(0|n)&&-1!=(0|(s=((s=n+1|0)>>>0)%3|0?s:n-2|0))&&(h=f[f[k>>2]+(s<<2)>>2]),s=-1,(0|e)==(0|t)|(0|t)==(0|h))break n;s=f[k>>2],f[s+(d<<2)>>2]=t,f[s+D>>2]=h,f[s+I>>2]=e,-1!=(0|e)&&(f[E+(e<<2)>>2]=v),e=f[c+120>>2]+(t>>>3&536870908)|0,s=f[e>>2],j=e,Y=Vt(t)&s,f[j>>2]=Y,f[G>>2]=d,t=_,he(B,d);break f}A:switch(n-1|0){case 2:case 4:if((0|i)==(0|_))break n;if(n=f[c+8>>2],s=f[n+12>>2],G=(E=((v=3==(0|d))?2:1)+(d=p(e,3))|0)<<2,t=f[(D=i-4|0)>>2],f[s+G>>2]=t,f[s+(t<<2)>>2]=E,ur(n+24|0),s=-1,i=f[c+8>>2],h=f[i+24>>2],(0|U)<f[i+28>>2]-h>>2)break n;if(i=f[i>>2],n=((s=f[n+28>>2]-f[n+24>>2]|0)>>2)-1|0,f[i+G>>2]=n,s&&(f[h+(n<<2)>>2]=E),s=v?d:d+2|0,E=i+(d+v<<2)|0,-1!=(0|t)){b:{l:{if((t>>>0)%3|0)n=t-1|0;else if(-1==(0|(n=t+2|0)))break l;if(n=f[i+(n<<2)>>2],f[i+(s<<2)>>2]=n,-1==(0|n))break b;f[h+(n<<2)>>2]=s;break b}f[i+(s<<2)>>2]=-1}t=((n=t+1|0)>>>0)%3|0?n:t-2|0,n=-1,-1!=(0|t)&&(n=f[i+(t<<2)>>2])}else f[i+(s<<2)>>2]=-1,n=-1;f[E>>2]=n,f[D>>2]=d,t=_;break s;case 6:break c;case 0:break A;default:break n}if((0|t)==(0|i))break n;h=f[(u=i-4|0)>>2],f[y+68>>2]=u;A:if((v=f[y+44>>2])&&(s=f[y+40>>2],n=e&v+2147483647,(E=Nt(v)>>>0>1)&&(n=e,e>>>0<v>>>0||(n=(e>>>0)%(v>>>0)|0)),(s=f[s+((d=n)<<2)>>2])&&(s=f[s>>2]))){b:{if(!E){for(n=v-1|0;;){l:{if((0|(v=f[s+4>>2]))!=(0|e)){if((0|d)==(n&v))break l;break A}if((0|e)==f[s+8>>2])break b}if(!(s=f[s>>2]))break}break A}for(;;){l:{if((0|(n=f[s+4>>2]))!=(0|e)){if(n>>>0>=v>>>0&&(n=(n>>>0)%(v>>>0)|0),(0|n)==(0|d))break l;break A}if((0|e)==f[s+8>>2])break b}if(!(s=f[s>>2]))break}break A}if((0|u)==(0|R)){if((_=1+(n=(i=R-t|0)>>2)|0)>>>0>=1073741824)break e;if(u=i>>1,u=n>>>0<536870911?u>>>0<_>>>0?_:u:1073741823){if(u>>>0>=1073741824)break i;_=_t(u<<2)}else _=0;f[(n=_+(n<<2)|0)>>2]=f[s+12>>2],R=(u<<2)+_|0,u=n+4|0,(0|i)>0&&ge(_,t,i),f[y+72>>2]=R,f[y+68>>2]=u,f[y+64>>2]=_,t&&ee(t),t=_}else f[u>>2]=f[s+12>>2],f[y+68>>2]=i,u=i}if((0|t)==(0|u))break o;if(s=-1==(0|(i=f[(D=u-4|0)>>2])),d=f[c+8>>2],!s&-1!=f[f[d+12>>2]+(i<<2)>>2])break o;if(v=f[d+12>>2],-1!=(0|h)&-1!=f[v+(h<<2)>>2])break o;G=(E=p(e,3))+2|0,f[v+(i<<2)>>2]=G,f[(e=G<<2)+v>>2]=i,k=E+1|0,f[v+(h<<2)>>2]=k,f[v+(I=k<<2)>>2]=h;A:{b:{l:{if(!s){if((i>>>0)%3|0){n=i-1|0;break l}if(-1!=(0|(n=i+2|0)))break l;k=f[d>>2],n=-1;break b}n=-1,k=f[d>>2],f[k+(E<<2)>>2]=-1,s=-1;break A}k=f[d>>2],n=f[k+(n<<2)>>2]}f[(E<<2)+k>>2]=n,i=((s=i+1|0)>>>0)%3|0?s:i-2|0,s=-1,-1!=(0|i)&&(s=f[(i<<2)+k>>2])}if(f[k+I>>2]=s,-1!=(0|h)){A:{b:{if((h>>>0)%3|0)s=h-1|0;else if(-1==(0|(s=h+2|0)))break b;if(i=e+k|0,e=f[(s<<2)+k>>2],f[i>>2]=e,-1==(0|e))break A;f[f[d+24>>2]+(e<<2)>>2]=G;break A}f[e+k>>2]=-1}s=-1,i=-1,-1!=(0|(e=((e=h+1|0)>>>0)%3|0?e:h-2|0))&&(s=e,i=f[(e<<2)+k>>2])}else f[e+k>>2]=-1,s=-1,i=-1;G=(e=f[c+388>>2])+(h=n<<2)|0,I=e,e=i<<2,f[G>>2]=f[G>>2]+f[I+e>>2],e=(d=f[d+24>>2])+e|0,-1!=(0|n)&&(f[d+h>>2]=f[e>>2]);A:if(-1!=(0|s))for(;;){if(f[(s<<2)+k>>2]=n,-1==(0|(s=((d=s+1|0)>>>0)%3|0?d:s-2|0)))break A;if(-1==(0|(s=f[v+(s<<2)>>2])))break A;if(-1==(0|(s=((d=s+1|0)>>>0)%3|0?d:s-2|0)))break}f[e>>2]=-1;A:if(!S){if((0|w)==(0|Z)){b:{if((g=1+(k=(e=Z-C|0)>>2)|0)>>>0<1073741824){if(s=e>>1,s=k>>>0<536870911?s>>>0<g>>>0?g:s:1073741823){if(s>>>0>=1073741824)break b;g=_t(s<<2)}else g=0;f[(k=g+(k<<2)|0)>>2]=i,Z=(s<<2)+g|0,w=k+4|0,(0|e)>0&&ge(g,C,e),f[y+32>>2]=Z,f[y+28>>2]=w,f[y+24>>2]=g,C&&ee(C),C=g;break A}break e}break i}f[w>>2]=i,w=w+4|0,f[y+28>>2]=w}f[D>>2]=E,i=u,he(B,E);break f}f[c+400>>2]=7}if(ur((d=f[c+8>>2])+24|0),s=-1,n=f[c+8>>2],u=p(e,3),E=(d=(h=f[d+28>>2]-f[d+24>>2]|0)>>2)-1|0,f[f[n>>2]+(u<<2)>>2]=E,ur(n+24|0),v=u+1|0,f[f[n>>2]+(v<<2)>>2]=(f[n+28>>2]-f[n+24>>2]>>2)-1,ur((n=f[c+8>>2])+24|0),G=u+2|0,f[f[n>>2]+(G<<2)>>2]=(f[n+28>>2]-f[n+24>>2]>>2)-1,D=f[c+8>>2],n=f[D+24>>2],(0|U)<f[D+28>>2]-n>>2)break n;c:{if(h){if(f[n+(E<<2)>>2]=u,s=0,-4!=(0|h)&&(f[n+(d<<2)>>2]=v,-1==(0|(s=d+1|0))))break c}else f[n+(d<<2)>>2]=v,s=1;f[n+(s<<2)>>2]=G}if((0|i)==(0|R)){if((t=1+(n=(i=R-_|0)>>2)|0)>>>0>=1073741824)break e;if(s=i>>1,s=n>>>0<536870911?t>>>0>s>>>0?t:s:1073741823){if(s>>>0>=1073741824)break i;t=_t(s<<2)}else t=0;f[(n=t+(n<<2)|0)>>2]=u,R=(s<<2)+t|0,u=n+4|0,(0|i)>0&&ge(t,_,i),f[y+72>>2]=R,f[y+68>>2]=u,f[y+64>>2]=t,_&&ee(_),_=t}else f[i>>2]=u,u=i+4|0,f[y+68>>2]=u}he(B,f[u-4>>2]);s:if((0|(s=f[c+40>>2]))!=f[c+36>>2])for(n=N+(-1^e)|0,d=u-4|0;;){if((e=f[s-8>>2])>>>0>n>>>0)break o;if((0|e)!=(0|n))break s;if(h=A[s-4|0],i=f[(e=s-12|0)>>2],f[c+40>>2]=e,(0|i)<0)break o;e=f[d>>2],f[y+20>>2]=N+(-1^i),i=y+20|0,f[y+88>>2]=i,re(y,y+40|0,i,y+88|0),s=f[y>>2];c:if(1&h){if(i=-1,-1==(0|e))break c;i=((i=e+1|0)>>>0)%3|0?i:e-2|0}else i=-1,-1!=(0|e)&&(i=e-1|0,(e>>>0)%3|0||(i=e+2|0));if(f[s+12>>2]=i,(0|(s=f[c+40>>2]))==f[c+36>>2])break}i=u}if(k=(0|m)<(0|N),(0|m)==(0|N))break}m=N;break a}if(s=-1,1&k)break n}if(s=-1,i=f[c+8>>2],!((0|U)<f[i+28>>2]-f[i+24>>2]>>2)){if((0|u)!=(0|_)){for(N=c+60|0,E=c+312|0;;){d=f[(u=u-4|0)>>2],f[y+68>>2]=u;a:if(jr(E)){if(v=f[c+8>>2],h=f[v>>2],((f[v+4>>2]-h>>2>>>0)/3|0)<=(0|m))break n;if(t=-1,e=-1,n=f[v+24>>2],i=-1,-1!=(0|d)&&(i=-1,-1!=(0|(C=((C=d+1|0)>>>0)%3|0?C:d-2|0))&&(i=f[h+(C<<2)>>2])),-1!=(0|(i=f[n+((C=i)<<2)>>2]))&&-1!=(0|(i=((k=i+1|0)>>>0)%3|0?k:i-2|0))&&(-1!=(0|(t=((t=i+1|0)>>>0)%3|0?t:i-2|0))&&(e=f[h+(t<<2)>>2]),t=i),R=-1,k=-1,i=-1,-1!=(0|(n=f[n+(e<<2)>>2]))&&(i=-1,-1!=(0|(n=((U=n+1|0)>>>0)%3|0?U:n-2|0))&&(k=n,i=-1!=(0|(i=((i=n+1|0)>>>0)%3|0?i:n-2|0))?f[h+(i<<2)>>2]:-1)),n=f[v+12>>2],v=p(m,3),f[n+(U=v<<2)>>2]=d,f[n+(d<<2)>>2]=v,f[(B=(d=v+1|0)<<2)+n>>2]=t,f[n+(t<<2)>>2]=d,f[(Z=(t=v+2|0)<<2)+n>>2]=k,f[n+(k<<2)>>2]=t,f[h+U>>2]=e,f[(k=h+B|0)>>2]=i,f[(i=h+Z|0)>>2]=C,n=d>>>0<v>>>0?-1:e,e=f[c+120>>2],h=f[(C=(n>>>3&536870908)+e|0)>>2],j=C,Y=Vt(n)&h,f[j>>2]=Y,R=-1!=(0|d)?f[k>>2]:R,n=f[(k=e+(R>>>3&536870908)|0)>>2],j=k,Y=Vt(R)&n,f[j>>2]=Y,n=-1,n=-1!=(0|t)?f[i>>2]:n,t=f[(e=e+(n>>>3&536870908)|0)>>2],j=e,Y=Vt(n)&t,f[j>>2]=Y,(0|(n=f[c+64>>2]))==(e=f[c+68>>2])<<5){if((n+1|0)<0)break e;or(N,e=n>>>0<=1073741822?(e<<=6)>>>0<(t=n+32&-32)>>>0?t:e:2147483647),n=f[c+64>>2]}if(m=m+1|0,f[c+64>>2]=n+1,e=f[c+60>>2]+(n>>>3&536870908)|0,f[e>>2]=f[e>>2]|1<<n,(0|(e=f[c+76>>2]))!=f[c+80>>2]){f[e>>2]=v,f[c+76>>2]=e+4;break a}if((e=1+(n=(i=e-(t=f[c+72>>2])|0)>>2)|0)>>>0>=1073741824)break e;if(k=i>>1,k=n>>>0<536870911?e>>>0>k>>>0?e:k:1073741823){if(k>>>0>=1073741824)break i;e=_t(k<<2)}else e=0;if(f[(n=e+(n<<2)|0)>>2]=v,(0|i)>0&&ge(e,t,i),f[c+80>>2]=e+(k<<2),f[c+76>>2]=n+4,f[c+72>>2]=e,!t)break a;ee(t)}else{if((0|(i=f[c+64>>2]))==(e=f[c+68>>2])<<5){if((i+1|0)<0)break e;or(N,e=i>>>0<=1073741822?(e<<=6)>>>0<(t=i+32&-32)>>>0?t:e:2147483647),i=f[c+64>>2]}if(f[c+64>>2]=i+1,e=f[c+60>>2]+(i>>>3&536870908)|0,t=f[e>>2],j=e,Y=Vt(i)&t,f[j>>2]=Y,(0|(e=f[c+76>>2]))==f[c+80>>2]){if((e=1+(n=(i=e-(t=f[c+72>>2])|0)>>2)|0)>>>0>=1073741824)break e;if(k=i>>1,k=n>>>0<536870911?e>>>0>k>>>0?e:k:1073741823){if(k>>>0>=1073741824)break i;e=_t(k<<2)}else e=0;f[(n=e+(n<<2)|0)>>2]=d,(0|i)>0&&ge(e,t,i),f[c+80>>2]=e+(k<<2),f[c+76>>2]=n+4,f[c+72>>2]=e,t&&ee(t)}else f[e>>2]=d,f[c+76>>2]=e+4}if((0|u)==(0|_))break}i=f[c+8>>2]}if(((f[i+4>>2]-f[i>>2]>>2>>>0)/3|0)==(0|m))if(n=f[i+24>>2],s=f[i+28>>2]-n>>2,(0|g)!=(0|w))for(e=g;;){if(t=f[e>>2],-1==f[(k=((u=s-1|0)<<2)+n|0)>>2])for(;u=s-2|0,s=s-1|0,-1==f[(k=(u<<2)+n|0)>>2];);if(t>>>0<=u>>>0){if(f[y>>2]=i,n=f[k>>2],a[y+12|0]=1,f[y+8>>2]=n,f[y+4>>2]=n,-1!=(0|n))for(;f[f[i>>2]+(n<<2)>>2]=t,Fe(y),i=f[c+8>>2],-1!=(0|(n=f[y+8>>2])););m=(n=f[i+24>>2])+(u<<2)|0,-1!=(0|t)&&(f[(t<<2)+n>>2]=f[m>>2]),f[m>>2]=-1,m=1<<t,t=(N=f[c+120>>2])+(t>>>3&536870908)|0,N=N+(u>>>3&536870908)|0,u=1<<u,f[N>>2]&u?m|=f[t>>2]:m=f[t>>2]&(-1^m),f[t>>2]=m,f[N>>2]=f[N>>2]&(-1^u),s=s-1|0}if((0|w)==(0|(e=e+4|0)))break}else g=w}}if(g&&ee(g),e=f[y+48>>2])for(;t=f[e>>2],ee(e),e=t;);e=f[y+40>>2],f[y+40>>2]=0,e&&ee(e),_&&(f[y+68>>2]=_,ee(_)),V=y+96|0;break t}Hr(1326),T()}if(-1!=(0|s)){t=(e=f[x+16>>2])+f[x>>2]|0,_=(_=f[x+8>>2])-e|0,e=f[f[c+4>>2]+32>>2],o[e+38>>1]=b[e+38>>1],f[e>>2]=t,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=_,f[e+12>>2]=0;t:if(f[c+216>>2]!=f[c+220>>2]&&(e=f[c+8>>2],f[e+4>>2]!=f[e>>2])){for(t=0;;){if(be(c,t)){if(t=t+3|0,e=f[c+8>>2],t>>>0<f[e+4>>2]-f[e>>2]>>2>>>0)continue;break t}break}break r}if(A[c+308|0]&&(a[c+308|0]=0,t=f[c+292>>2],e=0,i=(e=(_=f[c+304>>2]+7|0)>>>0<7?1:e)>>>3|0,e=(_=e<<29|_>>>3)+f[c+288>>2]|0,t=t+i|0,f[c+288>>2]=e,f[c+292>>2]=e>>>0<_>>>0?t+1|0:t),(0|(t=f[c+216>>2]))!=f[c+220>>2])for(;;){if(Me(4+((e=p(W,144))+t|0)|0,f[c+8>>2]),i=f[F>>2],(0|(t=f[132+(_=e+i|0)>>2]))!=(0|(_=f[_+136>>2])))for(;Be(4+(e+i|0)|0,f[t>>2]),i=f[F>>2],(0|_)!=(0|(t=t+4|0)););if(te(4+(e+i|0)|0),W=W+1|0,t=f[c+216>>2],!(W>>>0<(f[c+220>>2]-t|0)/144>>>0))break}if(e=f[c+8>>2],_r(c+184|0,f[e+28>>2]-f[e+24>>2]>>2),(0|(i=f[c+216>>2]))!=f[c+220>>2])for(t=0;e=p(t,144)+i|0,_=f[e+60>>2]-f[e+56>>2]>>2,i=e+104|0,e=f[c+8>>2],_r(i,(0|(e=f[e+28>>2]-f[e+24>>2]>>2))>(0|_)?e:_),t=t+1|0,i=f[c+216>>2],t>>>0<(f[c+220>>2]-i|0)/144>>>0;);W=O(c,s)}}}return V=r- -64|0,0|W}oi(),T()},ei,Lt,zt,st,function(e){var r=0;f[(e|=0)>>2]=8652,(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=8904,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),ee(e)},mr,function(e){var r=0;return f[(e|=0)>>2]=8904,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),0|e},function(e){var r=0;f[(e|=0)>>2]=8904,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),ee(e)},function(e){var r=0;return f[8+(e|=0)>>2]=9168,f[e>>2]=8956,(r=f[e+96>>2])&&(f[e+100>>2]=r,ee(r)),(r=f[e+80>>2])&&(f[e+84>>2]=r,ee(r)),(r=f[e+68>>2])&&(f[e+72>>2]=r,ee(r)),(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=9404,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),0|e},function(e){var r=0;f[8+(e|=0)>>2]=9168,f[e>>2]=8956,(r=f[e+96>>2])&&(f[e+100>>2]=r,ee(r)),(r=f[e+80>>2])&&(f[e+84>>2]=r,ee(r)),(r=f[e+68>>2])&&(f[e+72>>2]=r,ee(r)),(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=9404,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),ee(e)},function(e,r){r|=0;var t,i,n,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0;if(i=f[12+(e|=0)>>2],o=f[e+108>>2],c=f[o+80>>2],a[r+84|0]=0,A=f[r+68>>2],(s=f[r+72>>2]-A>>2)>>>0<c>>>0?(ve(r+68|0,c-s|0,9156),o=f[e+108>>2],c=f[o+80>>2]):c>>>0>=s>>>0||(f[r+72>>2]=A+(c<<2)),t=f[o+96>>2],!(o=f[o+100>>2]-t|0))return 1;n=(o=(0|o)/12|0)>>>0>1?o:1,o=0;e:{for(;;){if(1431655765==(0|o))break e;if(s=f[i>>2]+(p(o,3)<<2)|0,-1==(0|(l=f[s>>2])))break e;if(A=p(o,12)+t|0,(b=f[A>>2])>>>0>=c>>>0)break e;if(_=f[f[e+112>>2]+12>>2],(u=f[_+(l<<2)>>2])>>>0>=c>>>0)break e;if(l=f[r+68>>2],f[l+(b<<2)>>2]=u,-1==(0|(b=f[s+4>>2])))break e;if((u=f[A+4>>2])>>>0>=c>>>0)break e;if((b=f[(b<<2)+_>>2])>>>0>=c>>>0)break e;if(f[l+(u<<2)>>2]=b,-1==(0|(s=f[s+8>>2])))break e;if((A=f[A+8>>2])>>>0>=c>>>0)break e;if((s=f[(s<<2)+_>>2])>>>0>=c>>>0)break e;if(f[l+(A<<2)>>2]=s,(0|n)==(0|(o=o+1|0)))break}return 1}return 0},function(e){var r,t=0,i=0,n=0,a=0,o=0,s=0;V=r=V-16|0,t=f[4+(e|=0)>>2],n=f[t>>2];e:{if(i=f[e+12>>2],!((a=(i=f[i+28>>2]-f[i+24>>2]|0)>>2)>>>0<=f[t+8>>2]-n>>2>>>0)){if((0|i)<0)break e;o=f[t+4>>2],s=(i=_t(i))+(a<<2)|0,o=(a=o-n|0)+i|0,(0|a)>0&&ge(i,n,a),f[t+8>>2]=s,f[t+4>>2]=o,f[t>>2]=i,n&&ee(n)}t=f[e+12>>2],n=f[t+28>>2],t=f[t+24>>2],f[r+12>>2]=0,t=n-t>>2,a=f[(i=e+96|0)>>2],t>>>0>(n=f[e+100>>2]-a>>2)>>>0?ve(i,t-n|0,r+12|0):t>>>0>=n>>>0||(f[e+100>>2]=a+(t<<2)),a=e+8|0;r:if(t=f[e+116>>2]){if((0|(i=f[t>>2]))==f[t+4>>2]){n=1;break r}for(t=0;;){if(!(n=j(a,f[(t<<2)+i>>2])))break r;if(o=f[e+116>>2],i=f[o>>2],!((t=t+1|0)>>>0<f[o+4>>2]-i>>2>>>0))break}}else if(n=1,e=f[e+12>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,t=0;;){if(!(n=j(a,p(t,3))))break r;if((0|e)==(0|(t=t+1|0)))break}return V=r+16|0,0|n}Hr(1326),T()},function(e){var r=0;return f[(e|=0)>>2]=9168,(r=f[e+88>>2])&&(f[e+92>>2]=r,ee(r)),(r=f[e+72>>2])&&(f[e+76>>2]=r,ee(r)),(r=f[e+60>>2])&&(f[e- -64>>2]=r,ee(r)),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),0|e},function(e){var r=0;f[(e|=0)>>2]=9168,(r=f[e+88>>2])&&(f[e+92>>2]=r,ee(r)),(r=f[e+72>>2])&&(f[e+76>>2]=r,ee(r)),(r=f[e+60>>2])&&(f[e- -64>>2]=r,ee(r)),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),ee(e)},function(e,r,t){r|=0,t|=0;var i,n=0;V=i=V-16|0,f[4+(e|=0)>>2]=r,n=f[r>>2],r=f[r+4>>2],a[i+15|0]=0,ze(e+24|0,(r-n>>2>>>0)/3|0,i+15|0),r=f[e+4>>2],n=f[r+28>>2],r=f[r+24>>2],a[i+14|0]=0,ze(e+36|0,n-r>>2,i+14|0),r=f[t+12>>2],f[e+16>>2]=f[t+8>>2],f[e+20>>2]=r,r=f[t+4>>2],f[e+8>>2]=f[t>>2],f[e+12>>2]=r,V=i+16|0},function(e){var r=0;return f[(e|=0)>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),0|e},function(e){var r=0;f[(e|=0)>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),ee(e)},function(e){var r=0;return f[8+(e|=0)>>2]=9588,f[e>>2]=9424,(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=9404,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),0|e},function(e){var r=0;f[8+(e|=0)>>2]=9588,f[e>>2]=9424,(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=9404,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),ee(e)},function(e,r){r|=0;var t,i,n,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0;if(i=f[12+(e|=0)>>2],o=f[e+68>>2],c=f[o+80>>2],a[r+84|0]=0,A=f[r+68>>2],(s=f[r+72>>2]-A>>2)>>>0<c>>>0?(ve(r+68|0,c-s|0,9156),o=f[e+68>>2],c=f[o+80>>2]):c>>>0>=s>>>0||(f[r+72>>2]=A+(c<<2)),t=f[o+96>>2],!(o=f[o+100>>2]-t|0))return 1;n=(o=(0|o)/12|0)>>>0>1?o:1,o=0;e:{for(;;){if(1431655765==(0|o))break e;if(s=f[i>>2]+(p(o,3)<<2)|0,-1==(0|(l=f[s>>2])))break e;if(A=p(o,12)+t|0,(b=f[A>>2])>>>0>=c>>>0)break e;if(_=f[f[e+72>>2]+12>>2],(u=f[_+(l<<2)>>2])>>>0>=c>>>0)break e;if(l=f[r+68>>2],f[l+(b<<2)>>2]=u,-1==(0|(b=f[s+4>>2])))break e;if((u=f[A+4>>2])>>>0>=c>>>0)break e;if((b=f[(b<<2)+_>>2])>>>0>=c>>>0)break e;if(f[l+(u<<2)>>2]=b,-1==(0|(s=f[s+8>>2])))break e;if((A=f[A+8>>2])>>>0>=c>>>0)break e;if((s=f[(s<<2)+_>>2])>>>0>=c>>>0)break e;if(f[l+(A<<2)>>2]=s,(0|n)==(0|(o=o+1|0)))break}return 1}return 0},function(e){var r=0,t=0,i=0,n=0,a=0,o=0;r=f[4+(e|=0)>>2],i=f[r>>2];e:{if(t=f[e+12>>2],!((n=(t=f[t+28>>2]-f[t+24>>2]|0)>>2)>>>0<=f[r+8>>2]-i>>2>>>0)){if((0|t)<0)break e;a=f[r+4>>2],o=(t=_t(t))+(n<<2)|0,a=(n=a-i|0)+t|0,(0|n)>0&&ge(t,i,n),f[r+8>>2]=o,f[r+4>>2]=a,f[r>>2]=t,i&&ee(i)}n=e+8|0;r:if(r=f[e+76>>2]){if((0|(i=f[r>>2]))==f[r+4>>2])return 1;for(r=0;;){if(!(t=ae(n,f[(r<<2)+i>>2])))break r;if(a=f[e+76>>2],i=f[a>>2],!((r=r+1|0)>>>0<f[a+4>>2]-i>>2>>>0))break}}else if(t=1,e=f[e+12>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,r=0;;){if(!(t=ae(n,p(r,3))))break r;if((0|e)==(0|(r=r+1|0)))break}return 0|t}Hr(1326),T()},function(e){var r=0;return f[(e|=0)>>2]=9588,(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),0|e},function(e){var r=0;f[(e|=0)>>2]=9588,(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),ee(e)},function(e){var r=0;return f[8+(e|=0)>>2]=8652,f[e>>2]=9716,(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=8904,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),0|e},function(e){var r=0;f[8+(e|=0)>>2]=8652,f[e>>2]=9716,(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=8904,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),ee(e)},function(e,r){r|=0;var t,i,n,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0;if(l=f[12+(e|=0)>>2],o=f[e+68>>2],c=f[o+80>>2],a[r+84|0]=0,b=f[r+68>>2],(s=f[r+72>>2]-b>>2)>>>0<c>>>0?(ve(r+68|0,c-s|0,9156),o=f[e+68>>2],c=f[o+80>>2]):c>>>0>=s>>>0||(f[r+72>>2]=b+(c<<2)),t=f[o+96>>2],!(o=f[o+100>>2]-t|0))return 1;i=(o=(0|o)/12|0)>>>0>1?o:1,n=f[l+28>>2],o=0;e:{for(;;){if(s=(p(o,3)<<2)+n|0,-1==(0|(b=f[s>>2])))break e;if(l=p(o,12)+t|0,(u=f[l>>2])>>>0>=c>>>0)break e;if(A=b<<2,b=f[f[e+72>>2]+12>>2],(A=f[A+b>>2])>>>0>=c>>>0)break e;if(_=u<<2,u=f[r+68>>2],f[_+u>>2]=A,-1==(0|(A=f[s+4>>2])))break e;if((_=f[l+4>>2])>>>0>=c>>>0)break e;if((A=f[b+(A<<2)>>2])>>>0>=c>>>0)break e;if(f[u+(_<<2)>>2]=A,-1==(0|(s=f[s+8>>2])))break e;if((l=f[l+8>>2])>>>0>=c>>>0)break e;if((s=f[b+(s<<2)>>2])>>>0>=c>>>0)break e;if(f[u+(l<<2)>>2]=s,(0|i)==(0|(o=o+1|0)))break}return 1}return 0},function(e){var r=0,t=0,i=0,n=0,a=0,o=0;r=f[4+(e|=0)>>2],i=f[r>>2];e:{if(t=f[e+12>>2],!((n=(t=f[t+56>>2]-f[t+52>>2]|0)>>2)>>>0<=f[r+8>>2]-i>>2>>>0)){if((0|t)<0)break e;a=f[r+4>>2],o=(t=_t(t))+(n<<2)|0,a=(n=a-i|0)+t|0,(0|n)>0&&ge(t,i,n),f[r+8>>2]=o,f[r+4>>2]=a,f[r>>2]=t,i&&ee(i)}n=e+8|0;r:if(r=f[e+76>>2]){if((0|(i=f[r>>2]))==f[r+4>>2])return 1;for(r=0;;){if(!(t=ie(n,f[(r<<2)+i>>2])))break r;if(a=f[e+76>>2],i=f[a>>2],!((r=r+1|0)>>>0<f[a+4>>2]-i>>2>>>0))break}}else if(t=1,e=f[f[e+12>>2]+64>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,r=0;;){if(!(t=ie(n,p(r,3))))break r;if((0|e)==(0|(r=r+1|0)))break}return 0|t}Hr(1326),T()},function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=10064,(t=f[e+20>>2])&&(f[e+24>>2]=t,ee(t)),r=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+8>>2]}f[e+12>>2]=r,ee(t)}ee(e)},function(e,r){e|=0,r|=0;var t=0,i=0,n=0,a=0,o=0,s=0;a=_t(64),t=_t(12),f[t+8>>2]=f[f[e+4>>2]+80>>2],f[t>>2]=1e4,f[t+4>>2]=0,a=Or(a,t);e:{if((0|r)<0)t=a;else{if(s=e+8|0,!((0|(o=(t=f[e+12>>2])-(n=f[e+8>>2])>>2))>(0|r)))if(i=r+1|0,r>>>0>=o>>>0)Oe(s,i-o|0);else if(!(i>>>0>=o>>>0)){if((0|(n=n+(i<<2)|0))!=(0|t))for(;i=f[(t=t-4|0)>>2],f[t>>2]=0,i&&yi[f[f[i>>2]+4>>2]](i),(0|t)!=(0|n););f[e+12>>2]=n}if(e=f[s>>2]+(r<<2)|0,t=f[e>>2],f[e>>2]=a,!t)break e}yi[f[f[t>>2]+4>>2]](t)}return(-1^r)>>>31|0},function(e){var r,t=0,i=0,n=0,a=0,o=0,s=0,c=0,u=0,_=0,k=0,d=0,m=0,h=0;V=r=V-32|0;e:if(Gr(1,r+28|0,f[32+(e|=0)>>2])&&Gr(1,r+24|0,f[e+32>>2])&&!((_=f[r+28>>2])>>>0>1431655765||(n=f[e+32>>2],a=zr(a=(t=u=f[n+8>>2])-(i=f[n+16>>2])|0,(o=f[n+12>>2])-((m=t>>>0<i>>>0)+(t=f[n+20>>2])|0)|0,3,0),!D&a>>>0<_>>>0||(h=f[r+24>>2],a=Pr(_,0,3,0),!D&a>>>0<h>>>0|(0|t)>=(0|o)&i>>>0>=u>>>0|(0|t)>(0|o))))){o=A[i+f[n>>2]|0],a=(u=i+1|0)?t:t+1|0,f[n+16>>2]=u,f[n+20>>2]=a;r:{if(o){t:if(h>>>0<=255){if(!_)break r;if(f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,(0|a)>=(0|(t=i=f[n+12>>2]))&u>>>0>=(s=f[n+8>>2])>>>0|(0|t)<(0|a))break t;for(;;){if(o=f[n>>2],k=A[o+u|0],t=a,t=(c=u+1|0)?t:t+1|0,f[n+16>>2]=c,f[n+20>>2]=t,f[r+8>>2]=k,s>>>0<=c>>>0&(0|t)>=(0|i)|(0|t)>(0|i))break t;if(k=A[o+c|0],t=a,t=(c=u+2|0)>>>0<2?t+1|0:t,f[n+16>>2]=c,f[n+20>>2]=t,f[r+12>>2]=k,s>>>0<=c>>>0&(0|t)>=(0|i)|(0|t)>(0|i))break t;if(t=A[o+c|0],a=(i=u+3|0)>>>0<3?a+1|0:a,f[n+16>>2]=i,f[n+20>>2]=a,f[r+16>>2]=t,tr(f[e+44>>2]+96|0,r+8|0),(0|_)==(0|(d=d+1|0)))break r;if(n=f[e+32>>2],u=f[(t=n)+16>>2],a=f[t+20>>2],f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,!(u>>>0<(s=f[t+8>>2])>>>0&(0|a)<=(0|(t=i=f[t+12>>2]))|(0|t)>(0|a)))break}}else if(h>>>0<=65535){if(!_)break r;if(f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,o=f[n+12>>2],s=i=i+3|0,i=t=i>>>0<3?t+1|0:t,(c=f[n+8>>2])>>>0<s>>>0&(0|t)>=(0|o)|(0|t)>(0|o))break t;for(;;){if(k=f[n>>2],t=A[0|(t=k+u|0)]|A[t+1|0]<<8,f[n+16>>2]=s,f[n+20>>2]=i,f[r+8>>2]=t,t=a,(i=u+4|0)>>>0>c>>>0&(0|(t=i>>>0<4?t+1|0:t))>=(0|o)|(0|t)>(0|o))break t;if(s=A[0|(s=s+k|0)]|A[s+1|0]<<8,f[n+16>>2]=i,f[n+20>>2]=t,f[r+12>>2]=s,t=a,(a=u+6|0)>>>0>c>>>0&(0|(t=a>>>0<6?t+1|0:t))>=(0|o)|(0|t)>(0|o))break t;if(i=A[0|(i=i+k|0)]|A[i+1|0]<<8,f[n+16>>2]=a,f[n+20>>2]=t,f[r+16>>2]=i,tr(f[e+44>>2]+96|0,r+8|0),(0|_)==(0|(d=d+1|0)))break r;if(n=f[e+32>>2],u=f[(t=n)+16>>2],a=f[t+20>>2],f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,o=f[t+12>>2],c=f[t+8>>2],t=a,s=i=u+2|0,i=t=i>>>0<2?t+1|0:t,!((0|t)<=(0|o)&s>>>0<=c>>>0|(0|t)<(0|o)))break}}else if(l[f[e+44>>2]+80>>2]>2097151||(65535&((o=b[e+36>>1])<<8|o>>>8))>>>0<514){if(!_)break r;if(f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,o=f[n+12>>2],s=i=i+5|0,i=t=i>>>0<5?t+1|0:t,!((c=f[n+8>>2])>>>0<s>>>0&(0|t)>=(0|o)|(0|t)>(0|o)))for(;;){if(k=f[n>>2],t=A[0|(t=k+u|0)]|A[t+1|0]<<8|A[t+2|0]<<16|A[t+3|0]<<24,f[n+16>>2]=s,f[n+20>>2]=i,f[r+8>>2]=t,t=a,m=i=u+8|0,i>>>0>c>>>0&(0|(t=i>>>0<8?t+1|0:t))>=(0|o)|(0|t)>(0|o))break t;if(i=A[0|(i=s+k|0)]|A[i+1|0]<<8|A[i+2|0]<<16|A[i+3|0]<<24,f[n+16>>2]=m,f[n+20>>2]=t,f[r+12>>2]=i,i=t=u+12|0,t>>>0>c>>>0&(0|(a=t>>>0<12?a+1|0:a))>=(0|o)|(0|a)>(0|o))break t;if(t=A[0|(t=k+m|0)]|A[t+1|0]<<8|A[t+2|0]<<16|A[t+3|0]<<24,f[n+16>>2]=i,f[n+20>>2]=a,f[r+16>>2]=t,tr(f[e+44>>2]+96|0,r+8|0),(0|_)==(0|(d=d+1|0)))break r;if(n=f[e+32>>2],u=f[(t=n)+16>>2],a=f[t+20>>2],f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,o=f[t+12>>2],c=f[t+8>>2],t=a,s=i=u+4|0,i=t=i>>>0<4?t+1|0:t,!((0|t)<=(0|o)&s>>>0<=c>>>0|(0|t)<(0|o)))break}}else{if(!_)break r;if(f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,!Gr(1,r+4|0,n))break t;for(;;){if(f[r+8>>2]=f[r+4>>2],!Gr(1,r+4|0,f[e+32>>2]))break t;if(f[r+12>>2]=f[r+4>>2],!Gr(1,r+4|0,f[e+32>>2]))break t;if(f[r+16>>2]=f[r+4>>2],tr(f[e+44>>2]+96|0,r+8|0),(0|_)==(0|(d=d+1|0)))break r;if(a=f[e+32>>2],f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,!Gr(1,r+4|0,a))break}}d=0;break e}n=0,V=t=V-32|0,f[t+24>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0;t:{i:{if(a=p(_,3)){if(a>>>0>=1073741824)break i;n=_t(i=p(_,12)),f[t+16>>2]=n,Je(n,0,i)}n:{if(!(a=M(a,1,f[e+32>>2],n))|!_){if(!n)break n}else for(o=0,i=0;m=s,c=(s=f[(u=(i<<2)+n|0)>>2])>>>1|0,s=m+(1&s?0-c|0:c)|0,f[t>>2]=s,k=(c=f[u+4>>2])>>>1|0,s=s+(1&c?0-k|0:k)|0,f[t+4>>2]=s,c=(u=f[u+8>>2])>>>1|0,s=s+(1&u?0-c|0:c)|0,f[t+8>>2]=s,tr(f[e+44>>2]+96|0,t),i=i+3|0,(0|(o=o+1|0))!=(0|_););ee(n)}V=t+32|0;break t}oi(),T()}if(!a)break e}f[f[e+4>>2]+80>>2]=h,d=1}return V=r+32|0,0|d},$t,fi,function(e,r){return a[84+(r|=0)|0]=1,f[r+72>>2]=f[r+68>>2],1},function(e){var r=0,t=0,i=0,n=0,a=0;e:{if(!((0|(r=f[8+(e|=0)>>2]))<0||(t=f[e+4>>2],n=f[t>>2],(i=f[t+4>>2]-n>>2)>>>0<r>>>0?(sr(t,r-i|0),a=f[e+8>>2]):(a=r,r>>>0>=i>>>0||(f[t+4>>2]=n+(r<<2),a=r)),(0|(i=a))<=0)))for(e=f[e+4>>2],t=f[e>>2],n=f[e+4>>2]-t>>2,e=0;;){if((0|e)==(0|n))break e;if(f[t+(e<<2)>>2]=e,(0|i)==(0|(e=e+1|0)))break}return(-1^r)>>>31|0}li(),T()},ci,ii,ei,function(e){var r=0;return f[(e|=0)>>2]=10272,(r=f[e+96>>2])&&(f[e+100>>2]=r,ee(r)),(r=f[e+84>>2])&&(f[e+88>>2]=r,ee(r)),fr(e),0|e},function(e){var r=0;f[(e|=0)>>2]=10272,(r=f[e+96>>2])&&(f[e+100>>2]=r,ee(r)),(r=f[e+84>>2])&&(f[e+88>>2]=r,ee(r)),fr(e),ee(e)},function(e,r,t){var i=0,n=0,a=0,o=0,s=0,c=0,A=0,b=0;if(ce(e|=0,r|=0,t|=0),t=f[e+84>>2],!((0|(i=f[e+88>>2]-t>>2))>(0|r))){if((r=r+1|0)>>>0>i>>>0){e:if((i=r-i|0)>>>0<=(n=f[e+92>>2])-(t=f[e+88>>2])>>2>>>0){if(i){if(r=t,o=1+((a=(i<<2)-4|0)>>>2|0)&7)for(;f[r>>2]=1,r=r+4|0,(0|o)!=(0|(s=s+1|0)););if(t=(i<<2)+t|0,!(a>>>0<28))for(;f[r+24>>2]=1,f[r+28>>2]=1,f[r+16>>2]=1,f[r+20>>2]=1,f[r+8>>2]=1,f[r+12>>2]=1,f[r>>2]=1,f[r+4>>2]=1,(0|t)!=(0|(r=r+32|0)););}f[e+88>>2]=t}else{r:{if((r=(t=(A=t-(a=f[e+84>>2])|0)>>2)+i|0)>>>0<1073741824){if(c=(n=n-a|0)>>1,n=n>>2>>>0<536870911?r>>>0>c>>>0?r:c:1073741823){if(n>>>0>=1073741824)break r;o=_t(n<<2)}if(r=t=(t<<2)+o|0,b=1+((c=(i<<=2)-4|0)>>>2|0)&7)for(r=t;f[r>>2]=1,r=r+4|0,(0|b)!=(0|(s=s+1|0)););if(t=t+i|0,c>>>0>=28)for(;f[r+24>>2]=1,f[r+28>>2]=1,f[r+16>>2]=1,f[r+20>>2]=1,f[r+8>>2]=1,f[r+12>>2]=1,f[r>>2]=1,f[r+4>>2]=1,(0|t)!=(0|(r=r+32|0)););(0|A)>0&&ge(o,a,A),f[e+92>>2]=(n<<2)+o,f[e+88>>2]=t,f[e+84>>2]=o,a&&ee(a);break e}oi(),T()}Hr(1326),T()}return}r>>>0>=i>>>0||(f[e+88>>2]=t+(r<<2))}},function(e,r){var t=0,i=0;$(e|=0,r|=0),(0|r)<0||(t=f[e+88>>2])-(i=f[e+84>>2])>>2<=(0|r)||((t=t-(i=4+(r=i+(r<<2)|0)|0)|0)&&Se(r,i,t),f[e+88>>2]=r+t)},fr,function(e){ee(fr(e|=0))},ce,$,$t,fi,function(e){return 1273},function(e){ee(kt(e|=0))},Lt,function(e){kt(e|=0),ee(e)},$t,fi,mi,mi,function(e,r,t){t|=0;var i,n=0,a=0,o=0,s=0;if(V=i=V+-64|0,n=1,!Ur(e|=0,r|=0,0)&&(n=0,r)){V=n=V+-64|0,a=f[r>>2],o=f[a-4>>2],s=f[a-8>>2],f[n+20>>2]=0,f[n+16>>2]=11220,f[n+12>>2]=r,f[n+8>>2]=11268,a=0,Je(n+24|0,0,39),r=r+s|0;e:if(Ur(o,11268,0))f[n+56>>2]=1,yi[f[f[o>>2]+20>>2]](o,n+8|0,r,r,1,0),a=1==f[n+32>>2]?r:0;else{yi[f[f[o>>2]+24>>2]](o,n+8|0,r,1,0);r:switch(f[n+44>>2]){case 0:a=1==f[n+48>>2]&&1==f[n+36>>2]&&1==f[n+40>>2]?f[n+28>>2]:0;break e;case 1:break r;default:break e}1!=f[n+32>>2]&&f[n+48>>2]|1!=f[n+36>>2]|1!=f[n+40>>2]||(a=f[n+24>>2])}V=n- -64|0,n=0,a&&(Je(4|(r=i+8|0),0,52),f[i+56>>2]=1,f[i+20>>2]=-1,f[i+16>>2]=e,f[i+8>>2]=a,yi[f[f[a>>2]+28>>2]](a,r,f[t>>2],1),1==(0|(e=f[i+32>>2]))&&(f[t>>2]=f[i+24>>2]),n=1==(0|e))}return V=i- -64|0,0|n},function(e,r,t,i,n,a){t|=0,i|=0,n|=0,a|=0,Ur(e|=0,f[8+(r|=0)>>2],a)&&dr(r,t,i,n)},function(e,r,t,i,n){if(t|=0,i|=0,n|=0,Ur(e|=0,f[8+(r|=0)>>2],n))1==f[r+28>>2]|f[r+4>>2]!=(0|t)||(f[r+28>>2]=i);else e:if(Ur(e,f[r>>2],n)){if(!(f[r+16>>2]!=(0|t)&f[r+20>>2]!=(0|t))){if(1!=(0|i))break e;return void(f[r+32>>2]=1)}f[r+20>>2]=t,f[r+32>>2]=i,f[r+40>>2]=f[r+40>>2]+1,1!=f[r+36>>2]|2!=f[r+24>>2]||(a[r+54|0]=1),f[r+44>>2]=4}},function(e,r,t,i){t|=0,i|=0,Ur(e|=0,f[8+(r|=0)>>2],0)&&Xr(r,t,i)},fi,function(e,r,t,i,n,a){t|=0,i|=0,n|=0,a|=0,Ur(e|=0,f[8+(r|=0)>>2],a)?dr(r,t,i,n):(e=f[e+8>>2],yi[f[f[e>>2]+20>>2]](e,r,t,i,n,a))},function(e,r,t,i,n){if(t|=0,i|=0,n|=0,Ur(e|=0,f[8+(r|=0)>>2],n))1==f[r+28>>2]|f[r+4>>2]!=(0|t)||(f[r+28>>2]=i);else e:{if(Ur(e,f[r>>2],n)){if(!(f[r+16>>2]!=(0|t)&f[r+20>>2]!=(0|t))){if(1!=(0|i))break e;return void(f[r+32>>2]=1)}f[r+32>>2]=i;r:if(4!=f[r+44>>2]){if(o[r+52>>1]=0,e=f[e+8>>2],yi[f[f[e>>2]+20>>2]](e,r,t,t,1,n),A[r+53|0]){if(f[r+44>>2]=3,!A[r+52|0])break r;break e}f[r+44>>2]=4}if(f[r+20>>2]=t,f[r+40>>2]=f[r+40>>2]+1,1!=f[r+36>>2]|2!=f[r+24>>2])break e;return void(a[r+54|0]=1)}e=f[e+8>>2],yi[f[f[e>>2]+24>>2]](e,r,t,i,n)}},function(e,r,t,i){t|=0,i|=0,Ur(e|=0,f[8+(r|=0)>>2],0)?Xr(r,t,i):(e=f[e+8>>2],yi[f[f[e>>2]+28>>2]](e,r,t,i))}],hi.set=function(e,r){this[e]=r},hi.get=function(e){return this[e]},hi);function vi(){return i.byteLength/65536|0}return{g:function(){},h:yi,i:Kt,j:function(){var e;return e=_t(40),o[e+38>>1]=0,f[e>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,a[e+29|0]=0,a[e+30|0]=0,a[e+31|0]=0,a[e+32|0]=0,a[e+33|0]=0,a[e+34|0]=0,a[e+35|0]=0,a[e+36|0]=0,0|e},k:function(e,r,t){r|=0,t|=0,f[16+(e|=0)>>2]=0,f[e+20>>2]=0,f[e>>2]=r,f[e+8>>2]=t,f[e+12>>2]=0},l:Kt,m:function(){var e,r;return r=_t(40),f[r>>2]=-1,f[16+(e=r+8|0)>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,0|r},n:Ht,o:function(e){var r=0;(e|=0)&&((r=f[e+8>>2])&&(f[e+12>>2]=r,ee(r)),ee(e))},p:function(){return 0|$r(_t(64))},q:Kt,r:function(){var e;return $r(e=_t(96)),f[e+64>>2]=0,f[e+68>>2]=0,f[e+88>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,a[e+77|0]=0,a[e+78|0]=0,a[e+79|0]=0,a[e+80|0]=0,a[e+81|0]=0,a[e+82|0]=0,a[e+83|0]=0,a[e+84|0]=0,0|e},s:Yt,t:function(e){return f[88+(e|=0)>>2]},u:function(e){return f[56+(e|=0)>>2]},v:Ot,w:function(e){return a[24+(e|=0)|0]},x:function(e){return A[32+(e|=0)|0]},y:function(e){return f[40+(e|=0)>>2]},z:function(e){return f[48+(e|=0)>>2]},A:function(e){return f[60+(e|=0)>>2]},B:Jr,C:function(){var e;return e=_t(24),f[e+8>>2]=0,f[e+12>>2]=0,f[e+4>>2]=-1,f[e>>2]=1140,f[e+16>>2]=0,f[e+20>>2]=0,0|e},D:Dt,E:Lt,F:function(e,r){return r|=0,k(u[f[8+(e|=0)>>2]+(r<<2)>>2])},G:function(e){return k(u[20+(e|=0)>>2])},H:Wt,I:function(){var e;return e=_t(8),f[e+4>>2]=-1,f[e>>2]=1032,0|e},J:Dt,K:Lt,L:Wt,M:function(){return 0|Bt(_t(84))},N:Zt,O:Yt,P:Wt,Q:function(){var e;return Bt(e=_t(108)),f[e+84>>2]=0,f[e+88>>2]=0,f[e>>2]=10272,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,0|e},R:function(e){return(f[100+(e|=0)>>2]-f[e+96>>2]|0)/12|0},S:Zt,T:Yt,U:Wt,V:function(){var e,r;return e=_t(24),f[e+4>>2]=0,f[e+8>>2]=0,f[(r=e+16|0)>>2]=0,f[r+4>>2]=0,f[e>>2]=e+4,f[e+12>>2]=r,0|e},W:function(e){(e|=0)&&(nt(e+12|0,f[e+16>>2]),lt(e,f[e+4>>2]),ee(e))},X:Ht,Y:function(e){return 0|!f[(e|=0)>>2]},Z:function(e){return 0|(a[15+(e|=0)|0]<0?f[e+4>>2]:e+4|0)},_:function(e){(e|=0)&&(a[e+15|0]<0&&ee(f[e+4>>2]),ee(e))},$:Gt,aa:function(e,r){return r|=0,k(u[f[(e|=0)>>2]+(r<<2)>>2])},ba:St,ca:Rt,da:Gt,ea:function(e,r){return r|=0,a[f[(e|=0)>>2]+r|0]},fa:jt,ga:Rt,ha:Gt,ia:function(e,r){return r|=0,A[f[(e|=0)>>2]+r|0]},ja:jt,ka:Rt,la:Gt,ma:function(e,r){return r|=0,o[f[(e|=0)>>2]+(r<<1)>>1]},na:xt,oa:Rt,pa:Gt,qa:function(e,r){return r|=0,b[f[(e|=0)>>2]+(r<<1)>>1]},ra:xt,sa:Rt,ta:Gt,ua:Mt,va:St,wa:Rt,xa:Gt,ya:Mt,za:St,Aa:Rt,Ba:function(){var e;return e=_t(28),f[e>>2]=0,f[e+4>>2]=0,f[e+24>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,0|e},Ca:function(e,r,t){e|=0,r|=0;var i,n=0,o=0,s=0,c=0,b=0,l=0,u=0;if(V=i=V-16|0,(n=Dr(t|=0))>>>0<4294967280){e:{if(n>>>0>=11)e=_t(o=n+16&-16),f[i+8>>2]=-2147483648|o,f[i>>2]=e,f[i+4>>2]=n;else if(a[i+11|0]=n,e=i,!n)break e;ge(e,t,n)}a[e+n|0]=0,n=(t=A[i+11|0])<<24>>24,o=f[i>>2],e=0;e:if(r=f[r+4>>2]){for(e=t,e=(t=(0|n)<0)?f[i+4>>2]:e,l=t?o:i;;){r:{t:{i:{if(b=(u=(t=(s=(t=A[r+27|0])<<24>>24<0)?f[r+20>>2]:t)>>>0<e>>>0)?t:e){c=r+16|0;n:{if(!(c=Rr(l,s=s?f[c>>2]:c,b))){if(e>>>0>=t>>>0)break n;break r}if((0|c)<0)break r}if(!(t=Rr(s,l,b)))break i;if((0|t)<0)break t;e=1;break e}if(e>>>0<t>>>0)break r}if(!u){e=1;break e}}r=r+4|0}if(!(r=f[r>>2]))break}e=0}(0|n)<0&&ee(o),V=i+16|0}else si(),T();return 0|e},Da:function(e,r,t){e|=0,r|=0,t|=0;var i,n,o=0;if(V=i=V-16|0,f[i+12>>2]=0,(n=Dr(t))>>>0<4294967280){e:{if(n>>>0>=11)e=_t(o=n+16&-16),f[i+8>>2]=-2147483648|o,f[i>>2]=e,f[i+4>>2]=n;else if(a[i+11|0]=n,e=i,!n)break e;ge(e,t,n)}a[e+n|0]=0,(0|(e=$e(r,i)))!=(r+4|0)&&4==((r=f[e+32>>2])-(e=f[e+28>>2])|0)&&(f[i+12>>2]=A[0|e]|A[e+1|0]<<8|A[e+2|0]<<16|A[e+3|0]<<24),e=f[i+12>>2],a[i+11|0]<0&&ee(f[i>>2]),V=i+16|0}else si(),T();return 0|e},Ea:function(e,r,t,i){e|=0,r|=0,i|=0;var n=0,o=0,s=0;if(V=e=V-32|0,(n=Dr(t|=0))>>>0<4294967280){e:{if(n>>>0>=11)o=_t(s=n+16&-16),f[e+24>>2]=-2147483648|s,f[e+16>>2]=o,f[e+20>>2]=n;else if(a[e+27|0]=n,o=e+16|0,!n)break e;ge(o,t,n)}a[n+o|0]=0,f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,(0|(t=$e(r,e+16|0)))!=(r+4|0)&&(0|(r=f[t+28>>2]))!=(0|(o=f[t+32>>2]))&&(3&(r=o-r|0)||((n=r>>>2|0)>>>0>(s=(o=f[e+4>>2])-(r=f[e>>2])>>2)>>>0?(sr(e,n-s|0),r=f[e>>2],o=f[e+4>>2]):n>>>0>=s>>>0||(o=(n<<2)+r|0,f[e+4>>2]=o),(0|r)==(0|o)?(li(),T()):ge(n=r,r=f[t+28>>2],f[t+32>>2]-r|0))),(r=f[i>>2])&&(f[i+4>>2]=r,ee(r)),f[i>>2]=f[e>>2],f[i+4>>2]=f[e+4>>2],f[i+8>>2]=f[e+8>>2],a[e+27|0]<0&&ee(f[e+16>>2]),V=e+32|0}else si(),T()},Fa:function(e,r,t){e|=0,r|=0,t|=0;var i,n=0,o=0,s=0;if(V=e=V-32|0,f[e+24>>2]=0,f[e+28>>2]=0,(i=Dr(t))>>>0<4294967280){e:{if(i>>>0>=11)n=_t(o=i+16&-16),f[e+16>>2]=-2147483648|o,f[e+8>>2]=n,f[e+12>>2]=i;else if(a[e+19|0]=i,n=e+8|0,!i)break e;ge(n,t,i)}a[i+n|0]=0,(0|(t=r+4|0))!=(0|(r=$e(r,e+8|0)))&&8==((t=f[r+32>>2])-(r=f[r+28>>2])|0)&&(t=A[r+4|0]|A[r+5|0]<<8|A[r+6|0]<<16|A[r+7|0]<<24,f[e+24>>2]=A[0|r]|A[r+1|0]<<8|A[r+2|0]<<16|A[r+3|0]<<24,f[e+28>>2]=t),s=_[e+24>>3],a[e+19|0]<0&&ee(f[e+8>>2]),V=e+32|0}else si(),T();return+s},Ga:function(e,r,t){e|=0,r|=0;var i,n,o=0,s=0;if(V=i=V-16|0,(n=Dr(t|=0))>>>0<4294967280){e:{if(n>>>0>=11)o=_t(s=n+16&-16),f[i+8>>2]=-2147483648|s,f[i>>2]=o,f[i+4>>2]=n;else if(a[i+11|0]=n,o=i,!n)break e;ge(o,t,n)}a[n+o|0]=0,t=qr(r,i,o=e+16|0),r=a[e+27|0],e=f[e+16>>2],a[i+11|0]<0&&ee(f[i>>2]),V=i+16|0,e=t?(0|r)<0?e:o:0}else si(),T();return 0|e},Ha:function(e,r){return f[8+(r|=0)>>2]},Ia:function(e,r,t){r|=0;var i,n=0,o=0,s=0,c=0,A=0,b=0,l=0;i=t|=0;e:if(f[12+(n=e|=0)>>2]!=(0|r)){if(e=r,(0|(r=f[n+4>>2]))!=(0|(t=f[n>>2])))for(;o=r-12|0,a[r-1|0]<0&&ee(f[o>>2]),(0|t)!=(0|(r=o)););if(f[n+12>>2]=e,f[n+4>>2]=t,(0|(r=f[e>>2]))!=(0|(b=e+4|0)))for(;;){if(f[n+8>>2]==(0|t)){c=0;r:{t:{i:{if((t=1+(s=((o=f[n+4>>2])-(e=f[n>>2])|0)/12|0)|0)>>>0<357913942){if(l=(A=(f[n+8>>2]-e|0)/12|0)<<1,t=A>>>0<178956970?t>>>0>l>>>0?t:l:357913941){if(t>>>0>=357913942)break i;c=_t(p(t,12))}if(A=p(t,12),t=p(s,12)+c|0,a[r+27|0]>=0?(s=f[r+20>>2],f[t>>2]=f[r+16>>2],f[t+4>>2]=s,f[t+8>>2]=f[r+24>>2]):(Fr(t,f[r+16>>2],f[r+20>>2]),o=f[n+4>>2],e=f[n>>2]),c=c+A|0,s=t+12|0,(0|e)==(0|o))break t;for(;A=f[4+(o=o-12|0)>>2],f[(t=t-12|0)>>2]=f[o>>2],f[t+4>>2]=A,f[t+8>>2]=f[o+8>>2],f[o>>2]=0,f[o+4>>2]=0,f[o+8>>2]=0,(0|e)!=(0|o););if(f[n+8>>2]=c,e=f[n+4>>2],f[n+4>>2]=s,o=f[n>>2],f[n>>2]=t,(0|e)==(0|o))break r;for(;t=e-12|0,a[e-1|0]<0&&ee(f[t>>2]),e=t,(0|t)!=(0|o););break r}oi(),T()}Hr(1326),T()}f[n+8>>2]=c,f[n+4>>2]=s,f[n>>2]=t}o&&ee(o)}else a[r+27|0]>=0?(e=f[r+20>>2],f[t>>2]=f[r+16>>2],f[t+4>>2]=e,f[t+8>>2]=f[r+24>>2]):Fr(t,f[r+16>>2],f[r+20>>2]),f[n+4>>2]=t+12;r:if(t=f[r+4>>2])for(;e=t,t=f[t>>2];);else{if(e=f[r+8>>2],f[e>>2]==(0|r))break r;for(r=r+8|0;r=(t=f[r>>2])+8|0,e=f[t+8>>2],(0|t)!=f[e>>2];);}if((0|e)==(0|b))break e;t=f[n+4>>2],r=e}}return t=0,(0|i)<0||(e=f[n>>2],(f[n+4>>2]-e|0)/12>>>0<=i>>>0||(e=e+p(i,12)|0,t=a[e+11|0]<0?f[e>>2]:e)),0|t},Ja:function(e){var r=0,t=0,i=0;if(e|=0){if(a[e+27|0]<0&&ee(f[e+16>>2]),r=f[e>>2]){if((0|(t=f[e+4>>2]))==(0|r))i=r;else{for(;i=t-12|0,a[t-1|0]<0&&ee(f[i>>2]),(0|(t=i))!=(0|r););i=f[e>>2]}f[e+4>>2]=r,ee(i)}ee(e)}},Ka:function(){var e,r;return e=_t(40),f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=e+4,f[(r=e+16|0)>>2]=0,f[r+4>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+12>>2]=r,f[e+32>>2]=0,f[e+36>>2]=0,0|e},La:function(e,r,t,i){e|=0,r|=0,t|=0,i|=0;var n,s=0;V=i=V+-64|0,o[i+46>>1]=0,f[i+8>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,a[i+37|0]=0,a[i+38|0]=0,a[i+39|0]=0,a[i+40|0]=0,a[i+41|0]=0,a[i+42|0]=0,a[i+43|0]=0,a[i+44|0]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+8>>2]=r,f[i+16>>2]=t,f[i+20>>2]=0,xe(r=i+48|0),f[e+24>>2]=f[i+48>>2];e:if((0|r)!=(0|(n=e+24|0)))if(r=i+48|4,t=(s=A[i+63|0])<<24>>24,a[11+(e=e+28|0)|0]>=0){if((0|t)>=0){t=f[r+4>>2],f[e>>2]=f[r>>2],f[e+4>>2]=t,f[e+8>>2]=f[r+8>>2];break e}it(e,f[i+52>>2],f[i+56>>2])}else Lr(e,(e=(0|t)<0)?f[i+52>>2]:r,e?f[i+56>>2]:s);return a[i+63|0]<0&&ee(f[i+52>>2]),V=i- -64|0,0|n},Ma:function(e,r,t,i){e|=0,r|=0,t|=0,i|=0;var n,s=0,c=0;V=n=V+-64|0,o[38+(s=n+8|0)>>1]=0,f[s>>2]=0,f[s+8>>2]=0,f[s+12>>2]=0,f[s+16>>2]=0,f[s+20>>2]=0,f[s+24>>2]=0,f[s+28>>2]=0,a[s+29|0]=0,a[s+30|0]=0,a[s+31|0]=0,a[s+32|0]=0,a[s+33|0]=0,a[s+34|0]=0,a[s+35|0]=0,a[s+36|0]=0,f[s+16>>2]=0,f[s+20>>2]=0,f[s>>2]=r,f[s+8>>2]=t,f[s+12>>2]=0,I(r=n+48|0,e,s,i),f[e+24>>2]=f[n+48>>2];e:if((0|(t=e+24|0))!=(0|r))if(s=n+48|4,i=(r=A[n+63|0])<<24>>24,a[11+(c=e+28|0)|0]>=0){if((0|i)>=0){e=f[s+4>>2],f[c>>2]=f[s>>2],f[c+4>>2]=e,f[c+8>>2]=f[s+8>>2];break e}it(c,f[n+52>>2],f[n+56>>2])}else Lr(c,(e=(0|i)<0)?f[n+52>>2]:s,e?f[n+56>>2]:r);return a[n+63|0]<0&&ee(f[n+52>>2]),V=n- -64|0,0|t},Na:function(e,r,t){return 0|At(r|=0,t|=0)},Oa:function(e,r,t){e|=0,r|=0;var i=0,n=0,o=0;if(V=e=V-32|0,(i=Dr(t|=0))>>>0<4294967280){e:{if(i>>>0>=11)n=_t(o=i+16&-16),f[e+24>>2]=-2147483648|o,f[e+16>>2]=n,f[e+20>>2]=i;else if(a[e+27|0]=i,n=e+16|0,!i)break e;ge(n,t,i)}a[i+n|0]=0,a[e+4|0]=0,f[e>>2]=1701667182,a[e+11|0]=4,t=-1,(i=f[r+4>>2])&&(t=-1,(i=je(i,e,e+16|0))&&(t=Kr(r,f[i+24>>2]))),r=t,a[e+11|0]<0&&ee(f[e>>2]),a[e+27|0]<0&&ee(f[e+16>>2]),V=e+32|0}else si(),T();return 0|r},Pa:function(e,r,t,i){e|=0,r|=0,i|=0;var n,o=0,s=0;V=n=V-32|0;e:{r:{if((o=Dr(t|=0))>>>0<4294967280){t:{if(o>>>0>=11)e=_t(s=o+16&-16),f[n+24>>2]=-2147483648|s,f[n+16>>2]=e,f[n+20>>2]=o;else if(a[n+27|0]=o,e=n+16|0,!o)break t;ge(e,t,o)}if(a[e+o|0]=0,(t=Dr(i))>>>0>=4294967280)break r;t:{if(t>>>0>=11)e=_t(o=t+16&-16),f[n+8>>2]=-2147483648|o,f[n>>2]=e,f[n+4>>2]=t;else if(a[n+11|0]=t,e=n,!t)break t;ge(e,i,t)}a[e+t|0]=0,e=-1,(t=f[r+4>>2])&&(e=-1,(t=je(t,n+16|0,n))&&(e=Kr(r,f[t+24>>2]))),a[n+11|0]<0&&ee(f[n>>2]),a[n+27|0]<0&&ee(f[n+16>>2]),V=n+32|0;break e}si(),T()}si(),T()}return 0|e},Qa:function(e,r,t){return t|=0,f[f[8+(r|=0)>>2]+(t<<2)>>2]},Ra:function(e,r,t){e|=0,t|=0;var i=0,n=0;i=(e=f[12+(r|=0)>>2])-(r=f[r+8>>2])|0,e=0;e:if(i){i=(e=i>>2)>>>0>1?e:1,e=0;r:{for(;;){if(n=f[r+(e<<2)>>2],f[n+60>>2]==(0|t))break r;if((0|i)==(0|(e=e+1|0)))break}e=0;break e}e=-1==(0|e)?0:n}return 0|e},Sa:function(e,r){return f[4+(r|=0)>>2]},Ta:function(e,r,t){e|=0,t|=0;var i,n=0;if((i=f[4+(r|=0)>>2])&&!((0|(r=f[f[f[r+8>>2]+(t<<2)>>2]+60>>2]))<0)&&(0|(e=f[i+24>>2]))!=(0|(t=f[i+28>>2])))e:{for(;;){if(n=f[e>>2],(0|r)==f[n+24>>2])break e;if((0|t)==(0|(e=e+4|0)))break}n=0}return 0|n},Ua:function(e,r,t,i){var n,a;return e|=0,t|=0,i|=0,V=e=V-16|0,r=f[96+(r|=0)>>2],f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,a=(t=ge(n=_t(12),r+p(t,12)|0,12))+12|0,(r=f[i>>2])&&(f[i+4>>2]=r,ee(r)),f[i+8>>2]=t+12,f[i+4>>2]=a,f[i>>2]=n,V=e+16|0,1},Va:function(e,r,t){e|=0,r|=0;var i,n,o,s,c,b,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0,M=0,U=0,I=0,B=0,Z=0,W=0,F=0,x=0,S=0,j=0;b=t|=0,t=0,V=n=V-96|0,Je(i=n+16|0,0,76),f[n+92>>2]=-1,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,V=o=V-16|0,f[i+68>>2]=0,f[i+72>>2]=0,f[i>>2]=r,V=s=V-16|0,c=r,e=f[r+20>>2],(f[r+24>>2]-e|0)<=0||-1!=(0|(e=f[e>>2]))&&(t=f[f[r+8>>2]+(e<<2)>>2]);e:{r:{if(t){e=f[c+100>>2],_=f[c+96>>2],f[s+8>>2]=0,f[s>>2]=0,f[s+4>>2]=0,r=(0|(d=e-_|0))/12|0;t:if(d){if(r>>>0>=357913942)break r;if(l=_t(d),f[s>>2]=l,f[s+8>>2]=l+p(r,12),e=0,d=Je(m=l,0,l=p((d-12>>>0)/12|0,12)+12|0),f[s+4>>2]=l+d,A[t+84|0]){if(l=1&(t=r>>>0>1?r:1),r>>>0>=2)for(m=-2&t;t=p(e,12),y=f[4+(r=t+_|0)>>2],v=f[r>>2],f[8+(t=t+d|0)>>2]=f[r+8>>2],f[t>>2]=v,f[t+4>>2]=y,t=p(1|e,12),y=f[8+(r=t+_|0)>>2],v=f[r+4>>2],f[(t=t+d|0)>>2]=f[r>>2],f[t+4>>2]=v,f[t+8>>2]=y,e=e+2|0,(0|m)!=(0|(u=u+2|0)););if(!l)break t;r=p(e,12),t=f[4+(e=r+_|0)>>2],u=f[e>>2],f[8+(r=r+d|0)>>2]=f[e+8>>2],f[r>>2]=u,f[r+4>>2]=t}else for(l=r>>>0>1?r:1,e=f[t+68>>2];t=p(u,12),m=f[e+(f[(r=t+_|0)>>2]<<2)>>2],y=f[e+(f[r+4>>2]<<2)>>2],f[8+(t=t+d|0)>>2]=f[e+(f[r+8>>2]<<2)>>2],f[t+4>>2]=y,f[t>>2]=m,(0|l)!=(0|(u=u+1|0)););}if(V=I=V-16|0,l=_t(88),f[l>>2]=0,f[l+4>>2]=0,f[l+56>>2]=0,f[l+48>>2]=0,f[l+52>>2]=0,f[l+40>>2]=0,f[l+44>>2]=0,f[l+32>>2]=0,f[l+36>>2]=0,f[l+24>>2]=0,f[l+28>>2]=0,f[l+16>>2]=0,f[l+20>>2]=0,f[l+8>>2]=0,f[l+12>>2]=0,f[(e=l- -64|0)>>2]=0,f[e+4>>2]=0,f[l+72>>2]=0,f[l+76>>2]=0,f[l+80>>2]=0,f[l+84>>2]=0,f[l+60>>2]=l,V=M=V-16|0,f[l+80>>2]=0,f[l+84>>2]=0,e=f[l+76>>2],f[l+76>>2]=0,e&&ee(e),f[l+68>>2]=0,f[l+72>>2]=0,e=f[(r=l- -64|0)>>2],f[r>>2]=0,e&&ee(e),u=f[s>>2],r=f[s+4>>2]-u|0,e=p(y=(0|r)/12|0,3),t=f[l>>2],e>>>0>(_=f[l+4>>2]-t>>2)>>>0?(sr(l,e-_|0),u=f[s>>2],y=(0|(r=f[s+4>>2]-u|0))/12|0,t=f[l>>2]):e>>>0>=_>>>0||(f[l+4>>2]=(e<<2)+t),r)for(d=y>>>0>1?y:1,e=0;r=(_=p(e,12))+t|0,_=_+u|0,f[r>>2]=f[_>>2],f[r+4>>2]=f[_+4>>2],f[r+8>>2]=f[_+8>>2],(0|d)!=(0|(e=e+1|0)););f[M+12>>2]=-1,V=_=V-48|0;t:{i:{n:{if(R=M+12|0){if(w=(r=(m=f[l+4>>2])-(v=f[l>>2])|0)>>2,t=f[l+12>>2],w>>>0>(e=f[l+16>>2]-t>>2)>>>0?(ve(l+12|0,w-e|0,10260),w=(r=(m=f[l+4>>2])-(v=f[l>>2])|0)>>2):e>>>0<=w>>>0||(f[l+16>>2]=t+(w<<2)),t=0,f[_+40>>2]=0,f[_+32>>2]=0,f[_+36>>2]=0,r){a:{if((0|r)>=0)for(t=_t(r),f[_+36>>2]=t,f[_+32>>2]=t,f[_+40>>2]=(w<<2)+t,e=t,r=0;;){if((d=f[(r<<2)+v>>2])>>>0<(e=e-t>>2)>>>0||(f[_+16>>2]=0,(u=d+1|0)>>>0>e>>>0?(ve(_+32|0,u-e|0,_+16|0),v=f[l>>2],m=f[l+4>>2],t=f[_+32>>2]):e>>>0<=u>>>0||(f[_+36>>2]=(u<<2)+t)),f[(e=(d<<2)+t|0)>>2]=f[e>>2]+1,(r=r+1|0)>>>0>=(w=(e=m-v|0)>>2)>>>0)break a;e=f[_+36>>2]}break n}if(f[_+24>>2]=0,f[_+16>>2]=0,f[_+20>>2]=0,e){if(w>>>0>=536870912)break i;e=_t(r=e<<1),f[_+16>>2]=e,u=e+(w<<3)|0,f[_+24>>2]=u,Je(e,255,r),f[_+20>>2]=u}}else f[_+24>>2]=0,f[_+16>>2]=0,f[_+20>>2]=0;if(m=0,f[_+8>>2]=0,f[_>>2]=0,f[_+4>>2]=0,d=(e=f[_+36>>2]-t|0)>>2,e){if((0|e)<0)break i;if(E=_t(e),f[_>>2]=E,f[_+8>>2]=(d<<2)+E,r=e,e=Je(E,0,e),f[_+4>>2]=r+e,y=3&(u=d>>>0>1?d:1),r=0,u-1>>>0>=3)for(C=-4&u;f[(u=k<<2)+e>>2]=r,D=4|u,r=f[t+u>>2]+r|0,f[D+e>>2]=r,G=8|u,r=r+f[t+D>>2]|0,f[G+e>>2]=r,u|=12,r=r+f[t+G>>2]|0,f[u+e>>2]=r,r=r+f[t+u>>2]|0,k=k+4|0,(0|C)!=(0|(h=h+4|0)););if(y)for(;f[(u=k<<2)+e>>2]=r,k=k+1|0,r=f[t+u>>2]+r|0,(0|y)!=(0|(g=g+1|0)););}if(w)for(D=f[l+12>>2];;){r=(B=m<<2)+v|0,h=-1,-1!=(0|(e=((u=m+1|0)>>>0)%3|0?u:m-2|0))&&(h=f[(e<<2)+v>>2]),e=f[r>>2];a:{o:{if(!((m>>>0)%3|0)){if(g=-1,-1!=(0|(r=m+2|0))&&(g=f[(r<<2)+v>>2]),!((0|e)==(0|h)|(0|e)==(0|g))&(0|h)!=(0|g))break o;f[l+40>>2]=f[l+40>>2]+1,u=m+3|0;break a}g=f[r-4>>2]}o:{f:if(!((0|(G=f[(r=g<<2)+t>>2]))<=0))for(y=f[_+16>>2],r=f[r+E>>2],k=0;;){if(-1==(0|(N=f[(C=y+(r<<3)|0)>>2])))break f;if((0|h)==(0|N)&&(0|(N=-1!=(0|(C=f[C+4>>2]))?f[(C<<2)+v>>2]:-1))!=(0|e)){for(;e=r,!((0|G)<=(0|(k=k+1|0))||(N=y+(e<<3)|0,W=f[(Z=y+((r=e+1|0)<<3)|0)>>2],f[N>>2]=W,f[N+4>>2]=f[Z+4>>2],-1==(0|W))););if(f[y+(e<<3)>>2]=-1,-1==(0|C))break f;f[D+B>>2]=C,f[D+(C<<2)>>2]=m;break o}if(r=r+1|0,(0|G)==(0|(k=k+1|0)))break}if(!((0|(y=f[(e=h<<2)+t>>2]))<=0))for(h=f[_+16>>2],r=f[e+E>>2],k=0;;){if(-1==f[(e=h+(r<<3)|0)>>2]){f[e>>2]=g,f[e+4>>2]=m;break o}if(r=r+1|0,(0|y)==(0|(k=k+1|0)))break}}}if(!(w>>>0>(m=u)>>>0))break}f[R>>2]=d,E&&ee(E),(e=f[_+16>>2])&&(f[_+20>>2]=e,ee(e)),(e=f[_+32>>2])&&(f[_+36>>2]=e,ee(e))}if(V=_+48|0,D=0!=(0|R)){if(V=h=V-32|0,g=f[l>>2],e=f[l+4>>2],f[h+24>>2]=0,f[h+16>>2]=0,f[h+20>>2]=0,r=e-g|0){if((0|r)<0)break i;t=_t((u=1+(k=(r>>=2)-1>>>5|0)|0)<<2),f[h+24>>2]=u,f[h+16>>2]=t,f[h+20>>2]=r,f[t+((r>>>0<33?0:k)<<2)>>2]=0,k=Je(k=t,0,t=r>>>5<<2),(r&=31)&&(f[(t=t+k|0)>>2]=f[t>>2]&(-1>>>32-r^-1))}for(f[h+8>>2]=0,f[h>>2]=0;;){if(w=0,u=0,(0|e)!=(0|g)){for(;;){t=f[h+16>>2];a:if(!(f[t+(u>>>3&536870908)>>2]>>>u&1)){for(k=f[h>>2],f[h+4>>2]=k,r=f[l+12>>2],e=u;d=e,!(-1==(0|(e=((_=e+1|0)>>>0)%3|0?_:e-2|0))||-1==(0|(e=f[r+(e<<2)>>2]))||(0|u)==(0|(e=((_=e+1|0)>>>0)%3|0?_:e-2|0))|-1==(0|e)||f[(e>>>3&536870908)+t>>2]>>>e&1););r=k,y=d;o:{f:{for(;;){if(f[(e=(y>>>3&536870908)+t|0)>>2]=f[e>>2]|1<<y,_=((e=y+1|0)>>>0)%3|0?e:y-2|0,C=(v=((G=(y>>>0)%3|0)?-1:2)+y|0)<<2,(0|r)!=(0|k))if(R=f[(_<<2)+g>>2],E=f[l+12>>2],e=r,-1==(0|v))for(;;){if((0|R)==f[e>>2]&&(m=-1,v=-1,-1!=(0|(t=f[e+4>>2]))))break f;if((0|k)==(0|(e=e+8|0)))break}else for(N=E+C|0;;){if((0|R)==f[e>>2]&&(0|(t=f[e+4>>2]))!=(0|(m=f[N>>2]))){if(k=-1,e=-1,-1==(0|t))break o;break f}if((0|k)==(0|(e=e+8|0)))break}if(v=f[g+C>>2],f[h+8>>2]==(0|k)){if((e=1+(k=(t=k-r|0)>>3)|0)>>>0>=536870912)break i;if(m=t>>2,m=k>>>0<268435455?e>>>0>m>>>0?e:m:536870911){if(m>>>0>=536870912)break n;e=_t(m<<3)}else e=0;f[(k=e+(k<<3)|0)>>2]=v,f[k+4>>2]=_,k=k+8|0,(0|t)>0&&ge(e,r,t),f[h+8>>2]=e+(m<<3),f[h+4>>2]=k,f[h>>2]=e,r&&ee(r)}else f[k>>2]=v,f[k+4>>2]=_,k=k+8|0,f[h+4>>2]=k;s:{if(G)e=y-1|0;else if(-1==(0|(e=y+2|0)))break s;if(-1!=(0|(e=f[f[l+12>>2]+(e<<2)>>2]))&&!((0|d)==(0|(y=e+((e>>>0)%3|0?-1:2)|0))|-1==(0|y))){g=f[l>>2],r=f[h>>2],t=f[h+16>>2];continue}}break}g=f[l>>2];break a}k=t,e=f[E+(t<<2)>>2]}-1!=(0|m)&&(f[E+(m<<2)>>2]=-1),-1!=(0|e)&&(f[f[l+12>>2]+(e<<2)>>2]=-1),e=f[l+12>>2],f[e+(v<<2)>>2]=-1,f[e+(k<<2)>>2]=-1,w=1}if(!((u=u+1|0)>>>0<(e=f[l+4>>2])-g>>2>>>0))break}if(w)continue}break}(e=f[h>>2])&&ee(e),(e=f[h+16>>2])&&ee(e),u=0,v=0,w=0,V=d=(V=h+32|0)-32|0,e=f[M+12>>2],f[l+36>>2]=e,g=l+24|0,t=f[l+24>>2];a:{if((r=f[l+28>>2]-t>>2)>>>0<e>>>0)ve(g,e-r|0,10260),f[d+24>>2]=0,f[d+16>>2]=0,f[d+20>>2]=0;else if(e>>>0<r>>>0&&(f[l+28>>2]=t+(e<<2)),f[d+24>>2]=0,f[d+16>>2]=0,f[d+20>>2]=0,!e)break a;if((0|e)<0)break i;u=_t((t=1+(r=e-1>>>5|0)|0)<<2),f[d+24>>2]=t,f[d+16>>2]=u,f[d+20>>2]=e,f[((e>>>0<33?0:r)<<2)+u>>2]=0,t=Je(u,0,r=e>>>5<<2),(k=31&e)&&(f[(r=r+t|0)>>2]=f[r>>2]&(-1>>>32-k^-1))}if(m=f[l>>2],y=f[l+4>>2],f[d+8>>2]=0,f[d>>2]=0,f[d+4>>2]=0,r=y-m|0){if((0|r)<0)break i;if(h=_t((k=1+(t=(r>>=2)-1>>>5|0)|0)<<2),f[d+8>>2]=k,f[d>>2]=h,f[d+4>>2]=r,f[((r>>>0<33?0:t)<<2)+h>>2]=0,k=Je(h,0,t=r>>>5<<2),(_=31&r)&&(f[(t=t+k|0)>>2]=f[t>>2]&(-1>>>32-_^-1)),!(r>>>0<3)){for(;;){if(C=p(v,3),r=f[(k=(C<<2)+m|0)>>2],t=-1,-1!=(0|(_=C+1|0))&&(t=f[(_<<2)+m>>2]),(0|r)!=(0|t)&&(0|(_=r))!=(0|(r=f[k+8>>2]))&&(E=0,(0|r)!=(0|t))){for(;;){if(!(f[((k=E+C|0)>>>3&536870908)+h>>2]>>>k&1)){if(y=(t=1<<(r=f[(k<<2)+m>>2]))&f[((h=r>>>5|0)<<2)+u>>2]){if((0|(t=f[l+28>>2]))==f[l+32>>2]){if((t=1+(h=(_=t-(u=f[g>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(m=_>>1,m=h>>>0<536870911?t>>>0>m>>>0?t:m:1073741823){if(m>>>0>=1073741824)break n;t=_t(m<<2)}else t=0;f[(h=t+(h<<2)|0)>>2]=-1,(0|_)>0&&ge(t,u,_),f[l+32>>2]=t+(m<<2),f[l+28>>2]=h+4,f[l+24>>2]=t,u&&ee(u)}else f[t>>2]=-1,f[l+28>>2]=t+4;if((0|(t=f[l+52>>2]))==f[l+56>>2]){if((t=1+(h=(_=t-(u=f[l+48>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(m=_>>1,m=h>>>0<536870911?t>>>0>m>>>0?t:m:1073741823){if(m>>>0>=1073741824)break n;t=_t(m<<2)}else t=0;f[(h=t+(h<<2)|0)>>2]=r,(0|_)>0&&ge(t,u,_),f[l+56>>2]=t+(m<<2),f[l+52>>2]=h+4,f[l+48>>2]=t,u&&ee(u)}else f[t>>2]=r,f[l+52>>2]=t+4;if((0|(t=f[d+20>>2]))==(r=f[d+24>>2])<<5){if((t+1|0)<0)break i;or(u=d+16|0,r=t>>>0<=1073741822?(r<<=6)>>>0<(t=t+32&-32)>>>0?t:r:2147483647),t=f[d+20>>2]}f[d+20>>2]=t+1,r=f[d+16>>2]+(t>>>3&536870908)|0,u=f[r>>2],S=r,j=Vt(t)&u,f[S>>2]=j,t=1<<e,h=e>>>5|0,r=e,e=e+1|0}_=e,u=f[d+16>>2],f[(e=u+(h<<2)|0)>>2]=f[e>>2]|t,G=f[l+24>>2]+(r<<2)|0,R=f[l+12>>2],m=f[l>>2],h=f[d>>2],e=k;a:{o:{f:{s:{c:{A:{for(;;){if(-1==(0|e))break A;if(f[(t=(e>>>3&536870908)+h|0)>>2]=f[t>>2]|1<<e,f[G>>2]=e,y&&(f[(e<<2)+m>>2]=r),t=-1,-1!=(0|(e=((N=e+1|0)>>>0)%3|0?N:e-2|0))&&(t=-1,-1!=(0|(e=f[R+(e<<2)>>2]))&&(t=((t=e+1|0)>>>0)%3|0?t:e-2|0)),(0|k)==(0|(e=t)))break}if(-1!=(0|k))break a;e=1;break c}if((k>>>0)%3|0)e=k-1|0;else if(-1==(0|(e=k+2|0)))break s}if(-1!=(0|(e=f[R+(e<<2)>>2]))){if(!((e>>>0)%3|0))break f;e=e-1|0,m=f[l>>2],h=f[d>>2];break o}}m=f[l>>2],h=f[d>>2];break a}if(m=f[l>>2],h=f[d>>2],-1==(0|(e=e+2|0)))break a}for(t=f[l+12>>2];;){if(f[(k=(e>>>3&536870908)+h|0)>>2]=f[k>>2]|1<<e,y&&(f[(e<<2)+m>>2]=r),(e>>>0)%3|0)e=e-1|0;else if(-1==(0|(e=e+2|0)))break a;if(-1==(0|(e=f[t+(e<<2)>>2])))break a;if(-1==(0|(e=e+((e>>>0)%3|0?-1:2)|0)))break}}e=_}if(3==(0|(E=E+1|0)))break}m=f[l>>2],y=f[l+4>>2]}if(!((v=v+1|0)>>>0<(y-m>>2>>>0)/3>>>0))break}u=f[d+16>>2]}}if(f[l+44>>2]=0,e=f[d+20>>2])for(r=31&e,k=(e>>>3&536870908)+u|0,e=0,t=u;f[t>>2]>>>e&1||(w=w+1|0,f[l+44>>2]=w),(0|k)!=(0|(t=((_=31==(0|e))<<2)+t|0))|(0|(e=_?0:e+1|0))!=(0|r););(e=f[d>>2])&&(ee(e),u=f[d+16>>2]),u&&ee(u),V=d+32|0}V=M+16|0,D||(f[I+8>>2]=0,Br(l),l=0),V=I+16|0,e=l;break t}Hr(1326),T()}oi(),T()}(r=f[s>>2])&&(f[s+4>>2]=r,ee(r))}else e=0;V=s+16|0;break e}oi(),T()}if(r=f[i+4>>2],f[i+4>>2]=e,r&&(Br(r),e=f[i+4>>2]),e)if(e=f[c+100>>2],r=f[c+96>>2],a[o+12|0]=0,ze(i+56|0,(e-r|0)/12|0,o+12|0),(0|(e=f[c+100>>2]))!=(0|(r=f[c+96>>2])))for(;;){if(!(f[f[i+56>>2]+(U>>>3&536870908)>>2]>>>U&1)){if(ne(i,0,e=p(U,3)),r=f[i+8>>2],t=f[i+12>>2],ne(i,1,e+1|0),k=f[i+20>>2],u=f[i+24>>2],ne(i,2,e+2|0),e=(k=u-k>>2)>>>0>(t=(r=t-r|0)>>2)>>>0,t=f[i+36>>2]-f[i+32>>2]>>2>>>0>(e?k:t)>>>0?2:e?1:r?0:-1,f[i+68>>2]<=0||(f[o+12>>2]=f[i+76>>2],f[o+8>>2]=n,Ar(o+8|0,o+12|0),(0|(e=f[44+((t<<2)+i|0)>>2]))<0?e=-1:(r=(e>>>0)/3|0,e=f[(f[f[i>>2]+96>>2]+p(r,12)|0)+(e-p(r,3)<<2)>>2]),f[o+12>>2]=e,f[o+8>>2]=n,Ar(o+8|0,o+12|0),r=f[i+72>>2],f[i+72>>2]=r+2,1&r&&(f[o+12>>2]=e,f[o+8>>2]=n,Ar(o+8|0,o+12|0),f[i+72>>2]=f[i+72>>2]+1)),V=r=V-16|0,f[i+68>>2]=f[i+68>>2]+1,e=p(t,12)+i|0,!((0|(k=f[e+12>>2]-f[e+8>>2]|0))<=0)){e=-1,u=((t=f[44+((t<<2)+i|0)>>2])>>>0)/3|0,_=(d=-1==(0|t))?-1:u,l=f[i+56>>2]+(_>>>3&536870908)|0,f[l>>2]=f[l>>2]|1<<_,f[i+72>>2]=f[i+72>>2]+1,f[r+12>>2]=(0|t)>=0?f[(f[f[i>>2]+96>>2]+p(u,12)|0)+((t>>>0)%3<<2)>>2]:-1,f[r+8>>2]=n,Ar(r+8|0,r+12|0);e:if(d)f[r+12>>2]=-1,f[r+8>>2]=n,Ar(r+8|0,r+12|0);else{if((0|(_=((_=t+1|0)>>>0)%3|0?_:t-2|0))>=0?(d=(_>>>0)/3|0,l=f[(f[f[i>>2]+96>>2]+p(d,12)|0)+(_-p(d,3)<<2)>>2]):l=-1,f[r+12>>2]=l,f[r+8>>2]=n,Ar(r+8|0,r+12|0),(0|(u=t+(t-p(u,3)|0?-1:2)|0))<0)break e;e=(u>>>0)/3|0,e=f[(f[f[i>>2]+96>>2]+p(e,12)|0)+(u-p(e,3)<<2)>>2]}if(f[i+76>>2]=e,f[r+12>>2]=e,f[r+8>>2]=n,e=-1,Ar(r+8|0,r+12|0),e=-1!=(0|t)?f[f[f[i+4>>2]+12>>2]+(t<<2)>>2]:e,!(k>>>0<=7))for(d=(t=k>>>2|0)>>>0>1?t:1,t=1;;){k=e,_=(e>>>0)/3|0,e=-1==(0|e)?-1:_,u=f[i+56>>2]+(e>>>3&536870908)|0,f[u>>2]=f[u>>2]|1<<e,f[i+72>>2]=f[i+72>>2]+1,e=-1,e=(0|k)>=0?f[(f[f[i>>2]+96>>2]+p(_,12)|0)+((k>>>0)%3<<2)>>2]:e,f[i+76>>2]=e,f[r+12>>2]=e,f[r+8>>2]=n,Ar(r+8|0,r+12|0);e:{r:{if(1&t){if(u=-1,-1==(0|k))break e;if((0|k)!=(0|p(_,3))){e=k-1|0;break r}e=k+2|0}else{if(u=-1,-1==(0|k))break e;e=((e=k+1|0)>>>0)%3|0?e:k-2|0}if(u=-1,-1==(0|e))break e}u=f[f[f[i+4>>2]+12>>2]+(e<<2)>>2]}if(e=u,(0|d)==(0|(t=t+1|0)))break}}V=r+16|0,r=f[c+96>>2],e=f[c+100>>2]}if(F=1,!((U=U+1|0)>>>0<(e-r|0)/12>>>0))break}else F=1;return V=o+16|0,F?((e=f[b>>2])&&(f[b+4>>2]=e,ee(e)),f[b>>2]=f[n>>2],f[b+4>>2]=f[n+4>>2],f[b+8>>2]=f[n+8>>2],x=f[n+84>>2]):(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),(e=f[n+72>>2])&&ee(e),(e=f[n+48>>2])&&(f[n+52>>2]=e,ee(e)),(e=f[n+36>>2])&&(f[n+40>>2]=e,ee(e)),(e=f[n+24>>2])&&(f[n+28>>2]=e,ee(e)),e=f[n+20>>2],f[n+20>>2]=0,e&&Br(e),V=n+96|0,0|x},Wa:function(e,r,t,i){e|=0,t|=0,i|=0;var n=0,a=0,s=0;if(!(l[80+(r|=0)>>2]>65535||(a=f[r+96>>2],r=f[r+100>>2]-a|0,s=(0|(n=p(e=(0|r)/12|0,6)))==(0|t),!r|(0|t)!=(0|n))))for(s=1,n=e>>>0>1?e:1,e=0;r=p(e,6)+i|0,t=p(e,12)+a|0,o[r>>1]=f[t>>2],o[r+2>>1]=f[t+4>>2],o[r+4>>1]=f[t+8>>2],(0|n)!=(0|(e=e+1|0)););return 0|s},Xa:function(e,r,t,i){e|=0,t|=0,i|=0;var n,a=0,o=0,s=0;if(n=f[96+(r|=0)>>2],!((0|(r=f[r+100>>2]-n|0))!=(0|t)|!r))for(s=(e=(0|t)/12|0)>>>0>1?e:1,e=0;o=(a=p(e,12))+i|0,a=a+n|0,f[o>>2]=f[a>>2],f[o+4>>2]=f[a+4>>2],f[o+8>>2]=f[a+8>>2],(0|s)!=(0|(e=e+1|0)););return(0|r)==(0|t)|0},Ya:function(e,r,t,i){e|=0,t|=0,i|=0;var n=0,o=0,s=0;V=e=V-32|0,n=a[24+(r|=0)|0],o=f[2563],f[e+24>>2]=f[2562],f[e+28>>2]=o,o=f[2561],f[e+16>>2]=f[2560],f[e+20>>2]=o;e:{r:{if(t=Z(r,t,n,e+16|0)){if(f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,r=0,n){if((0|n)<0)break r;s=ge(r=_t(n<<=2),e+16|0,n)+n|0}(n=f[i>>2])&&(f[i+4>>2]=n,ee(n)),f[i+8>>2]=s,f[i+4>>2]=s,f[i>>2]=r}V=e+32|0;break e}oi(),T()}return 0|t},Za:function(e,r,t,i){e|=0,t|=0,i|=0;var n,o,s=0,c=0,b=0,l=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0;e=0,V=n=V-16|0,o=f[80+(r|=0)>>2],s=a[t+24|0],f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0;e:{r:{if(s){if((0|s)<0)break r;if(e=_t(r=s<<2),f[n>>2]=e,b=e+r|0,f[n+8>>2]=b,k=1+((l=r-4|0)>>>2|0)&7)for(r=e;f[r>>2]=-1073741824,r=r+4|0,(0|k)!=(0|(c=c+1|0)););else r=e;if(l>>>0>=28)for(;f[r+24>>2]=-1073741824,f[r+28>>2]=-1073741824,f[r+16>>2]=-1073741824,f[r+20>>2]=-1073741824,f[r+8>>2]=-1073741824,f[r+12>>2]=-1073741824,f[r>>2]=-1073741824,f[r+4>>2]=-1073741824,(0|b)!=(0|(r=r+32|0)););f[n+4>>2]=b}r=p(s,o),b=f[i>>2],r>>>0>(c=f[i+4>>2]-b>>2)>>>0?sr(i,r-c|0):r>>>0>=c>>>0||(f[i+4>>2]=b+(r<<2));t:if(o)if(_=1,(0|s)<=0)for(r=0;;){if(!Z(t,A[t+84|0]?r:f[f[t+68>>2]+(r<<2)>>2],a[t+24|0],e))break t;if(_=o>>>0>(r=r+1|0)>>>0,(0|r)==(0|o))break}else{for(y=-4&s,k=3&s,c=0,v=s-1>>>0<3;;){if(Z(t,A[t+84|0]?d:f[f[t+68>>2]+(d<<2)>>2],a[t+24|0],e)){if(h=f[i>>2],m=0,s=f[n>>2],r=0,_=0,!v)for(;l=r<<2,u[(b=h+(c<<2)|0)>>2]=u[l+s>>2],u[b+4>>2]=u[(4|l)+s>>2],u[b+8>>2]=u[(8|l)+s>>2],u[b+12>>2]=u[(12|l)+s>>2],r=r+4|0,c=c+4|0,(0|y)!=(0|(_=_+4|0)););if(k)for(;u[h+(c<<2)>>2]=u[(r<<2)+s>>2],r=r+1|0,c=c+1|0,(0|k)!=(0|(m=m+1|0)););if(_=(d=d+1|0)>>>0<o>>>0,(0|o)!=(0|d))continue}break}e=f[n>>2]}e&&ee(e),V=n+16|0,e=1&(-1^_);break e}oi(),T()}return 0|e},_a:ke,$a:function(e,r,t,i){e|=0,t|=0,i|=0;var n,o,s,c=0,b=0,l=0,u=0,_=0,k=0,d=0;V=n=V-16|0,o=f[80+(r|=0)>>2],s=A[t+24|0],c=p(o,r=s<<24>>24);e:{r:{t:{if(!(1==(0|(e=f[t+28>>2]))|2==(0|e))|!A[t+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,r){if((0|r)<0)break t;b=_t(r),f[n>>2]=b,e=r+b|0,f[n+8>>2]=e,Je(b,0,r),f[n+4>>2]=e}i:if((_=(e=f[i+4>>2])-(u=f[i>>2])|0)>>>0<c>>>0){if((k=c-_|0)>>>0<=(d=f[i+8>>2])-e>>>0){k&&(e=Je(e,0,k)+k|0),f[i+4>>2]=e;break i}if((0|c)<0)break r;if(d=(e=d-u|0)<<1,(e=e>>>0<1073741823?c>>>0>d>>>0?c:d:2147483647)&&(l=_t(e)),Je(l+_|0,0,k),(0|_)>0&&ge(l,u,_),f[i+8>>2]=e+l,f[i+4>>2]=c+l,f[i>>2]=l,!u)break i;ee(u)}else c>>>0>=_>>>0||(f[i+4>>2]=c+u);i:if(o)if(r){for(u=-2&(e=r-1|0),_=1&e,e=0,r=1,l=0;;){if(c=f[n>>2],x(t,A[t+84|0]?l:f[f[t+68>>2]+(l<<2)>>2],a[t+24|0],c)){a[f[i>>2]+e|0]=A[0|c],r=1,e=e+1|0,b=0;n:{switch(s-1|0){default:for(;a[f[i>>2]+e|0]=A[f[n>>2]+r|0],a[1+(f[i>>2]+e|0)|0]=A[1+(f[n>>2]+r|0)|0],r=r+2|0,e=e+2|0,(0|u)!=(0|(b=b+2|0)););break;case 0:break n;case 1:}_&&(a[f[i>>2]+e|0]=A[f[n>>2]+r|0],e=e+1|0)}if(r=o>>>0>(l=l+1|0)>>>0,(0|l)!=(0|o))continue}break}b=f[n>>2]}else for(e=0,r=1;;){if(!x(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],a[t+24|0],b))break i;if(r=o>>>0>(e=e+1|0)>>>0,(0|e)==(0|o))break}else r=0;b&&ee(b),e=!r}else{if(e=f[t+48>>2],t=f[f[t>>2]>>2],r=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,c){if((0|c)<0)break t;r=ge(b=_t(c),e+t|0,c)+c|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=r,f[i>>2]=b,e=1}V=n+16|0,e&=1;break e}oi(),T()}oi(),T()}return 0|e},ab:function(e,r,t,i){e|=0,t|=0,i|=0;var n,o,s,c=0,b=0,l=0,u=0,_=0,k=0,d=0;V=n=V-16|0,o=f[80+(r|=0)>>2],s=A[t+24|0],c=p(o,r=s<<24>>24);e:{r:{t:{if(!(1==(0|(e=f[t+28>>2]))|2==(0|e))|!A[t+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,r){if((0|r)<0)break t;b=_t(r),f[n>>2]=b,e=r+b|0,f[n+8>>2]=e,Je(b,0,r),f[n+4>>2]=e}i:if((_=(e=f[i+4>>2])-(u=f[i>>2])|0)>>>0<c>>>0){if((k=c-_|0)>>>0<=(d=f[i+8>>2])-e>>>0){k&&(e=Je(e,0,k)+k|0),f[i+4>>2]=e;break i}if((0|c)<0)break r;if(d=(e=d-u|0)<<1,(e=e>>>0<1073741823?c>>>0>d>>>0?c:d:2147483647)&&(l=_t(e)),Je(l+_|0,0,k),(0|_)>0&&ge(l,u,_),f[i+8>>2]=e+l,f[i+4>>2]=c+l,f[i>>2]=l,!u)break i;ee(u)}else c>>>0>=_>>>0||(f[i+4>>2]=c+u);i:if(o)if(r){for(u=-2&(e=r-1|0),_=1&e,e=0,r=1,l=0;;){if(c=f[n>>2],S(t,A[t+84|0]?l:f[f[t+68>>2]+(l<<2)>>2],a[t+24|0],c)){a[f[i>>2]+e|0]=A[0|c],r=1,e=e+1|0,b=0;n:{switch(s-1|0){default:for(;a[f[i>>2]+e|0]=A[f[n>>2]+r|0],a[1+(f[i>>2]+e|0)|0]=A[1+(f[n>>2]+r|0)|0],r=r+2|0,e=e+2|0,(0|u)!=(0|(b=b+2|0)););break;case 0:break n;case 1:}_&&(a[f[i>>2]+e|0]=A[f[n>>2]+r|0],e=e+1|0)}if(r=o>>>0>(l=l+1|0)>>>0,(0|l)!=(0|o))continue}break}b=f[n>>2]}else for(e=0,r=1;;){if(!S(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],a[t+24|0],b))break i;if(r=o>>>0>(e=e+1|0)>>>0,(0|e)==(0|o))break}else r=0;b&&ee(b),e=!r}else{if(e=f[t+48>>2],t=f[f[t>>2]>>2],r=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,c){if((0|c)<0)break t;r=ge(b=_t(c),e+t|0,c)+c|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=r,f[i>>2]=b,e=1}V=n+16|0,e&=1;break e}oi(),T()}oi(),T()}return 0|e},bb:function(e,r,t,i){e|=0,t|=0,i|=0;var n,s=0,c=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;V=n=V-16|0,u=f[80+(r|=0)>>2],e=a[t+24|0],s=p(u,e);e:{r:{if(!(3==(0|(r=f[t+28>>2]))|4==(0|r))|!A[t+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break r;l=_t(r=e<<1),f[n>>2]=l,c=r+l|0,f[n+8>>2]=c,Je(l,0,r),f[n+4>>2]=c}c=f[i>>2],(r=f[i+4>>2]-c>>1)>>>0<s>>>0?lr(i,s-r|0):r>>>0<=s>>>0||(f[i+4>>2]=c+(s<<1));t:if(u)if(e){for(v=-4&e,h=3&e,g=e-1>>>0<3,r=1,s=0;;){if(Q(t,A[t+84|0]?s:f[f[t+68>>2]+(s<<2)>>2],a[t+24|0],l)){if(y=f[i>>2],m=0,c=f[n>>2],e=0,r=0,!g)for(;d=e<<1,o[(k=(_<<1)+y|0)>>1]=b[c+d>>1],o[k+2>>1]=b[c+(2|d)>>1],o[k+4>>1]=b[c+(4|d)>>1],o[k+6>>1]=b[c+(6|d)>>1],e=e+4|0,_=_+4|0,(0|v)!=(0|(r=r+4|0)););if(h)for(;o[(_<<1)+y>>1]=b[c+(e<<1)>>1],e=e+1|0,_=_+1|0,(0|(m=m+1|0))!=(0|h););if(r=u>>>0>(s=s+1|0)>>>0,(0|s)!=(0|u))continue}break}l=f[n>>2]}else for(e=0,r=1;;){if(!Q(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],a[t+24|0],l))break t;if(r=u>>>0>(e=e+1|0)>>>0,(0|e)==(0|u))break}else r=0;l&&ee(l),e=1^r}else{if(l=f[t+48>>2],u=f[f[t>>2]>>2],r=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,t=0,e=s<<1){if((0|e)<0)break r;_=(r=ge(t=_t(e),l+u|0,e))+e|0,r=r+(e>>1<<1)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=_,f[i>>2]=t,e=1}V=n+16|0,e&=1;break e}oi(),T()}return 0|e},cb:function(e,r,t,i){e|=0,t|=0,i|=0;var n,s=0,c=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;V=n=V-16|0,u=f[80+(r|=0)>>2],e=a[t+24|0],s=p(u,e);e:{r:{if(!(3==(0|(r=f[t+28>>2]))|4==(0|r))|!A[t+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break r;l=_t(r=e<<1),f[n>>2]=l,c=r+l|0,f[n+8>>2]=c,Je(l,0,r),f[n+4>>2]=c}c=f[i>>2],(r=f[i+4>>2]-c>>1)>>>0<s>>>0?lr(i,s-r|0):r>>>0<=s>>>0||(f[i+4>>2]=c+(s<<1));t:if(u)if(e){for(v=-4&e,h=3&e,g=e-1>>>0<3,r=1,s=0;;){if(z(t,A[t+84|0]?s:f[f[t+68>>2]+(s<<2)>>2],a[t+24|0],l)){if(y=f[i>>2],m=0,c=f[n>>2],e=0,r=0,!g)for(;d=e<<1,o[(k=(_<<1)+y|0)>>1]=b[c+d>>1],o[k+2>>1]=b[c+(2|d)>>1],o[k+4>>1]=b[c+(4|d)>>1],o[k+6>>1]=b[c+(6|d)>>1],e=e+4|0,_=_+4|0,(0|v)!=(0|(r=r+4|0)););if(h)for(;o[(_<<1)+y>>1]=b[c+(e<<1)>>1],e=e+1|0,_=_+1|0,(0|(m=m+1|0))!=(0|h););if(r=u>>>0>(s=s+1|0)>>>0,(0|s)!=(0|u))continue}break}l=f[n>>2]}else for(e=0,r=1;;){if(!z(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],a[t+24|0],l))break t;if(r=u>>>0>(e=e+1|0)>>>0,(0|e)==(0|u))break}else r=0;l&&ee(l),e=1^r}else{if(l=f[t+48>>2],u=f[f[t>>2]>>2],r=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,t=0,e=s<<1){if((0|e)<0)break r;_=(r=ge(t=_t(e),l+u|0,e))+e|0,r=r+(e>>1<<1)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=_,f[i>>2]=t,e=1}V=n+16|0,e&=1;break e}oi(),T()}return 0|e},db:ke,eb:function(e,r,t,i){e|=0,t|=0,i|=0;var n,o=0,s=0,c=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0;V=n=V-16|0,b=f[80+(r|=0)>>2],e=a[t+24|0],o=p(b,e);e:{r:{if(!(5==(0|(r=f[t+28>>2]))|6==(0|r))|!A[t+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break r;c=_t(r=e<<2),f[n>>2]=c,s=r+c|0,f[n+8>>2]=s,Je(c,0,r),f[n+4>>2]=s}s=f[i>>2],(r=f[i+4>>2]-s>>2)>>>0<o>>>0?sr(i,o-r|0):r>>>0<=o>>>0||(f[i+4>>2]=s+(o<<2));t:if(b)if(e){for(h=-4&e,d=3&e,y=e-1>>>0<3,r=1,o=0;;){if(X(t,A[t+84|0]?o:f[f[t+68>>2]+(o<<2)>>2],a[t+24|0],c)){if(m=f[i>>2],k=0,s=f[n>>2],e=0,r=0,!y)for(;_=e<<2,f[(u=(l<<2)+m|0)>>2]=f[s+_>>2],f[u+4>>2]=f[s+(4|_)>>2],f[u+8>>2]=f[s+(8|_)>>2],f[u+12>>2]=f[s+(12|_)>>2],e=e+4|0,l=l+4|0,(0|h)!=(0|(r=r+4|0)););if(d)for(;f[(l<<2)+m>>2]=f[s+(e<<2)>>2],e=e+1|0,l=l+1|0,(0|(k=k+1|0))!=(0|d););if(r=b>>>0>(o=o+1|0)>>>0,(0|o)!=(0|b))continue}break}c=f[n>>2]}else for(e=0,r=1;;){if(!X(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],a[t+24|0],c))break t;if(r=b>>>0>(e=e+1|0)>>>0,(0|e)==(0|b))break}else r=0;c&&ee(c),e=1^r}else{if(c=f[t+48>>2],b=f[f[t>>2]>>2],r=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,t=0,e=o<<2){if((0|e)<0)break r;l=(r=ge(t=_t(e),c+b|0,e))+e|0,r=r+(e>>2<<2)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=l,f[i>>2]=t,e=1}V=n+16|0,e&=1;break e}oi(),T()}return 0|e},fb:function(e,r,t,i,n,s){e|=0,r|=0,t|=0,n|=0,s|=0;var c=0,l=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0;e:{r:{t:{i:{n:switch((i|=0)-1|0){case 0:e=0,V=m=V-16|0,k=f[r+80>>2],c=a[t+24|0];a:if((0|p(k,c))==(0|n))if((r=1!=f[t+28>>2])|!(e=A[t+84|0])){if(i=0,f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,c){if((0|c)<0)break i;l=_t(c),f[m>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!c)for(r=0,i=1;;){if(!x(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],a[t+24|0],l))break f;if(i=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(_=-4&c,d=3&c,r=0,v=c-1>>>0<3,i=1,n=0;;){if(!x(t,255&e?n:f[f[t+68>>2]+(n<<2)>>2],a[t+24|0],l))break f;if(i=0,e=0,h=0,!v)for(;a[0|(c=r+s|0)]=A[e+l|0],a[c+1|0]=A[(1|e)+l|0],a[c+2|0]=A[(2|e)+l|0],a[c+3|0]=A[(3|e)+l|0],e=e+4|0,r=r+4|0,(0|_)!=(0|(h=h+4|0)););if(d)for(;a[r+s|0]=A[e+l|0],e=e+1|0,r=r+1|0,(0|d)!=(0|(i=i+1|0)););if((0|k)==(0|(n=n+1|0)))break;i=n>>>0<k>>>0,e=A[t+84|0]}e=n>>>0>=k>>>0;break o}if(c)for(v=-4&c,d=3&c,r=0,E=c-1>>>0<3;;){if(n=f[f[t>>2]>>2],w=f[t+40>>2],n=ge(l,n+(e=f[t+48>>2]+Pr(w,f[t+44>>2],255&e?i:f[f[t+68>>2]+(i<<2)>>2],0)|0)|0,w),h=0,e=0,_=0,!E)for(;a[0|(c=r+s|0)]=A[e+n|0],a[c+1|0]=A[n+(1|e)|0],a[c+2|0]=A[n+(2|e)|0],a[c+3|0]=A[n+(3|e)|0],e=e+4|0,r=r+4|0,(0|v)!=(0|(_=_+4|0)););if(d)for(;a[r+s|0]=A[e+n|0],e=e+1|0,r=r+1|0,(0|d)!=(0|(h=h+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break o;e=A[t+84|0]}if(h=f[t>>2],n=f[t+48>>2],E=f[t+68>>2],s=f[t+44>>2],w=t=f[t+40>>2],r=0,1!=(0|k))for(g=-2&k,C=255&e;c=1|r,d=ge(l,(y=f[h>>2])+(d=Pr(t,s,C?r:f[E+(r<<2)>>2],0)+n|0)|0,w),y=f[h>>2],C||(c=f[E+(c<<2)>>2]),ge(d,(c=Pr(t,s,c,0)+n|0)+y|0,w),r=r+2|0,(0|g)!=(0|(_=_+2|0)););if(!(1&k))break f;c=f[h>>2],255&e||(r=f[E+(r<<2)>>2]),ge(l,(e=Pr(t,s,r,0)+n|0)+c|0,w)}if(e=1^i,!l)break a}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,n),e=1;break t;case 2:e=0,V=h=V-16|0,c=(i=a[t+24|0])<<1,k=f[r+80>>2];a:if((0|p(c,k))==(0|n))if((r=3!=f[t+28>>2])|!(e=A[t+84|0])){if(f[h+8>>2]=0,f[h>>2]=0,f[h+4>>2]=0,i){if((0|i)<0)break i;l=_t(c),f[h>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!i)for(r=0,_=1;;){if(!Q(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],a[t+24|0],l))break f;if(_=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(v=-4&i,m=3&i,r=0,E=i-1>>>0<3,_=1,i=0;;){if(!Q(t,255&e?i:f[f[t+68>>2]+(i<<2)>>2],a[t+24|0],l))break f;if(_=0,e=0,n=0,!E)for(;d=e<<1,o[(c=(r<<1)+s|0)>>1]=b[d+l>>1],o[c+2>>1]=b[(2|d)+l>>1],o[c+4>>1]=b[(4|d)+l>>1],o[c+6>>1]=b[(6|d)+l>>1],e=e+4|0,r=r+4|0,(0|v)!=(0|(n=n+4|0)););if(m)for(;o[(r<<1)+s>>1]=b[(e<<1)+l>>1],e=e+1|0,r=r+1|0,(0|m)!=(0|(_=_+1|0)););if((0|k)==(0|(i=i+1|0)))break;_=i>>>0<k>>>0,e=A[t+84|0]}e=i>>>0>=k>>>0;break o}if(v=f[t>>2],c=f[t+48>>2],w=f[t+68>>2],d=f[t+44>>2],C=m=f[t+40>>2],i){for(G=-4&i,N=3&i,r=0,R=255&e,D=i-1>>>0<3,i=0;;){if(_=ge(l,(t=f[v>>2])+(e=Pr(m,d,R?i:f[w+(i<<2)>>2],0)+c|0)|0,C),n=0,e=0,t=0,!D)for(;y=e<<1,o[(g=(r<<1)+s|0)>>1]=b[y+_>>1],o[g+2>>1]=b[_+(2|y)>>1],o[g+4>>1]=b[_+(4|y)>>1],o[g+6>>1]=b[_+(6|y)>>1],e=e+4|0,r=r+4|0,(0|G)!=(0|(t=t+4|0)););if(N)for(;o[(r<<1)+s>>1]=b[_+(e<<1)>>1],e=e+1|0,r=r+1|0,(0|N)!=(0|(n=n+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break}break o}if(r=0,1!=(0|k))for(g=-2&k,s=255&e,i=0;t=1|r,n=ge(l,(y=f[v>>2])+(n=Pr(m,d,s?r:f[w+(r<<2)>>2],0)+c|0)|0,C),y=f[v>>2],s||(t=f[w+(t<<2)>>2]),ge(n,(t=Pr(m,d,t,0)+c|0)+y|0,C),r=r+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&k))break f;t=f[v>>2],255&e||(r=f[w+(r<<2)>>2]),ge(l,(e=Pr(m,d,r,0)+c|0)+t|0,C)}if(e=1^_,!l)break a}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,n),e=1;break r;case 4:e=0,V=h=V-16|0,c=(i=a[t+24|0])<<2,k=f[r+80>>2];a:if((0|p(c,k))==(0|n))if((r=5!=f[t+28>>2])|!(e=A[t+84|0])){if(f[h+8>>2]=0,f[h>>2]=0,f[h+4>>2]=0,i){if((0|i)<0)break i;l=_t(c),f[h>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!i)for(r=0,_=1;;){if(!P(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],a[t+24|0],l))break f;if(_=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(v=-4&i,m=3&i,r=0,E=i-1>>>0<3,_=1,i=0;;){if(!P(t,255&e?i:f[f[t+68>>2]+(i<<2)>>2],a[t+24|0],l))break f;if(_=0,e=0,n=0,!E)for(;d=e<<2,f[(c=(r<<2)+s|0)>>2]=f[d+l>>2],f[c+4>>2]=f[(4|d)+l>>2],f[c+8>>2]=f[(8|d)+l>>2],f[c+12>>2]=f[(12|d)+l>>2],e=e+4|0,r=r+4|0,(0|v)!=(0|(n=n+4|0)););if(m)for(;f[(r<<2)+s>>2]=f[(e<<2)+l>>2],e=e+1|0,r=r+1|0,(0|m)!=(0|(_=_+1|0)););if((0|k)==(0|(i=i+1|0)))break;_=i>>>0<k>>>0,e=A[t+84|0]}e=i>>>0>=k>>>0;break o}if(v=f[t>>2],c=f[t+48>>2],w=f[t+68>>2],d=f[t+44>>2],C=m=f[t+40>>2],i){for(G=-4&i,N=3&i,r=0,R=255&e,D=i-1>>>0<3,i=0;;){if(_=ge(l,(t=f[v>>2])+(e=Pr(m,d,R?i:f[w+(i<<2)>>2],0)+c|0)|0,C),n=0,e=0,t=0,!D)for(;y=e<<2,f[(g=(r<<2)+s|0)>>2]=f[y+_>>2],f[g+4>>2]=f[_+(4|y)>>2],f[g+8>>2]=f[_+(8|y)>>2],f[g+12>>2]=f[_+(12|y)>>2],e=e+4|0,r=r+4|0,(0|G)!=(0|(t=t+4|0)););if(N)for(;f[(r<<2)+s>>2]=f[_+(e<<2)>>2],e=e+1|0,r=r+1|0,(0|N)!=(0|(n=n+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break}break o}if(r=0,1!=(0|k))for(g=-2&k,s=255&e,i=0;t=1|r,n=ge(l,(y=f[v>>2])+(n=Pr(m,d,s?r:f[w+(r<<2)>>2],0)+c|0)|0,C),y=f[v>>2],s||(t=f[w+(t<<2)>>2]),ge(n,(t=Pr(m,d,t,0)+c|0)+y|0,C),r=r+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&k))break f;t=f[v>>2],255&e||(r=f[w+(r<<2)>>2]),ge(l,(e=Pr(m,d,r,0)+c|0)+t|0,C)}if(e=1^_,!l)break a}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,n),e=1;break r;case 1:e=0,V=m=V-16|0,k=f[r+80>>2],c=a[t+24|0];a:if((0|p(k,c))==(0|n))if((r=2!=f[t+28>>2])|!(e=A[t+84|0])){if(i=0,f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,c){if((0|c)<0)break i;l=_t(c),f[m>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!c)for(r=0,i=1;;){if(!S(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],a[t+24|0],l))break f;if(i=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(_=-4&c,d=3&c,r=0,v=c-1>>>0<3,i=1,n=0;;){if(!S(t,255&e?n:f[f[t+68>>2]+(n<<2)>>2],a[t+24|0],l))break f;if(i=0,e=0,h=0,!v)for(;a[0|(c=r+s|0)]=A[e+l|0],a[c+1|0]=A[(1|e)+l|0],a[c+2|0]=A[(2|e)+l|0],a[c+3|0]=A[(3|e)+l|0],e=e+4|0,r=r+4|0,(0|_)!=(0|(h=h+4|0)););if(d)for(;a[r+s|0]=A[e+l|0],e=e+1|0,r=r+1|0,(0|d)!=(0|(i=i+1|0)););if((0|k)==(0|(n=n+1|0)))break;i=n>>>0<k>>>0,e=A[t+84|0]}e=n>>>0>=k>>>0;break o}if(c)for(v=-4&c,d=3&c,r=0,E=c-1>>>0<3;;){if(n=f[f[t>>2]>>2],w=f[t+40>>2],n=ge(l,n+(e=f[t+48>>2]+Pr(w,f[t+44>>2],255&e?i:f[f[t+68>>2]+(i<<2)>>2],0)|0)|0,w),h=0,e=0,_=0,!E)for(;a[0|(c=r+s|0)]=A[e+n|0],a[c+1|0]=A[n+(1|e)|0],a[c+2|0]=A[n+(2|e)|0],a[c+3|0]=A[n+(3|e)|0],e=e+4|0,r=r+4|0,(0|v)!=(0|(_=_+4|0)););if(d)for(;a[r+s|0]=A[e+n|0],e=e+1|0,r=r+1|0,(0|d)!=(0|(h=h+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break o;e=A[t+84|0]}if(h=f[t>>2],n=f[t+48>>2],E=f[t+68>>2],s=f[t+44>>2],w=t=f[t+40>>2],r=0,1!=(0|k))for(g=-2&k,C=255&e;c=1|r,d=ge(l,(y=f[h>>2])+(d=Pr(t,s,C?r:f[E+(r<<2)>>2],0)+n|0)|0,w),y=f[h>>2],C||(c=f[E+(c<<2)>>2]),ge(d,(c=Pr(t,s,c,0)+n|0)+y|0,w),r=r+2|0,(0|g)!=(0|(_=_+2|0)););if(!(1&k))break f;c=f[h>>2],255&e||(r=f[E+(r<<2)>>2]),ge(l,(e=Pr(t,s,r,0)+n|0)+c|0,w)}if(e=1^i,!l)break a}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,n),e=1;break t;case 3:e=0,V=h=V-16|0,c=(i=a[t+24|0])<<1,k=f[r+80>>2];a:if((0|p(c,k))==(0|n))if((r=4!=f[t+28>>2])|!(e=A[t+84|0])){if(f[h+8>>2]=0,f[h>>2]=0,f[h+4>>2]=0,i){if((0|i)<0)break i;l=_t(c),f[h>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!i)for(r=0,_=1;;){if(!z(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],a[t+24|0],l))break f;if(_=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(v=-4&i,m=3&i,r=0,E=i-1>>>0<3,_=1,i=0;;){if(!z(t,255&e?i:f[f[t+68>>2]+(i<<2)>>2],a[t+24|0],l))break f;if(_=0,e=0,n=0,!E)for(;d=e<<1,o[(c=(r<<1)+s|0)>>1]=b[d+l>>1],o[c+2>>1]=b[(2|d)+l>>1],o[c+4>>1]=b[(4|d)+l>>1],o[c+6>>1]=b[(6|d)+l>>1],e=e+4|0,r=r+4|0,(0|v)!=(0|(n=n+4|0)););if(m)for(;o[(r<<1)+s>>1]=b[(e<<1)+l>>1],e=e+1|0,r=r+1|0,(0|m)!=(0|(_=_+1|0)););if((0|k)==(0|(i=i+1|0)))break;_=i>>>0<k>>>0,e=A[t+84|0]}e=i>>>0>=k>>>0;break o}if(v=f[t>>2],c=f[t+48>>2],w=f[t+68>>2],d=f[t+44>>2],C=m=f[t+40>>2],i){for(G=-4&i,N=3&i,r=0,R=255&e,D=i-1>>>0<3,i=0;;){if(_=ge(l,(t=f[v>>2])+(e=Pr(m,d,R?i:f[w+(i<<2)>>2],0)+c|0)|0,C),n=0,e=0,t=0,!D)for(;y=e<<1,o[(g=(r<<1)+s|0)>>1]=b[y+_>>1],o[g+2>>1]=b[_+(2|y)>>1],o[g+4>>1]=b[_+(4|y)>>1],o[g+6>>1]=b[_+(6|y)>>1],e=e+4|0,r=r+4|0,(0|G)!=(0|(t=t+4|0)););if(N)for(;o[(r<<1)+s>>1]=b[_+(e<<1)>>1],e=e+1|0,r=r+1|0,(0|N)!=(0|(n=n+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break}break o}if(r=0,1!=(0|k))for(g=-2&k,s=255&e,i=0;t=1|r,n=ge(l,(y=f[v>>2])+(n=Pr(m,d,s?r:f[w+(r<<2)>>2],0)+c|0)|0,C),y=f[v>>2],s||(t=f[w+(t<<2)>>2]),ge(n,(t=Pr(m,d,t,0)+c|0)+y|0,C),r=r+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&k))break f;t=f[v>>2],255&e||(r=f[w+(r<<2)>>2]),ge(l,(e=Pr(m,d,r,0)+c|0)+t|0,C)}if(e=1^_,!l)break a}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,n),e=1;break r;case 5:e=0,V=h=V-16|0,c=(i=a[t+24|0])<<2,k=f[r+80>>2];a:if((0|p(c,k))==(0|n))if((r=6!=f[t+28>>2])|!(e=A[t+84|0])){if(f[h+8>>2]=0,f[h>>2]=0,f[h+4>>2]=0,i){if((0|i)<0)break i;l=_t(c),f[h>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!i)for(r=0,_=1;;){if(!X(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],a[t+24|0],l))break f;if(_=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(v=-4&i,m=3&i,r=0,E=i-1>>>0<3,_=1,i=0;;){if(!X(t,255&e?i:f[f[t+68>>2]+(i<<2)>>2],a[t+24|0],l))break f;if(_=0,e=0,n=0,!E)for(;d=e<<2,f[(c=(r<<2)+s|0)>>2]=f[d+l>>2],f[c+4>>2]=f[(4|d)+l>>2],f[c+8>>2]=f[(8|d)+l>>2],f[c+12>>2]=f[(12|d)+l>>2],e=e+4|0,r=r+4|0,(0|v)!=(0|(n=n+4|0)););if(m)for(;f[(r<<2)+s>>2]=f[(e<<2)+l>>2],e=e+1|0,r=r+1|0,(0|m)!=(0|(_=_+1|0)););if((0|k)==(0|(i=i+1|0)))break;_=i>>>0<k>>>0,e=A[t+84|0]}e=i>>>0>=k>>>0;break o}if(v=f[t>>2],c=f[t+48>>2],w=f[t+68>>2],d=f[t+44>>2],C=m=f[t+40>>2],i){for(G=-4&i,N=3&i,r=0,R=255&e,D=i-1>>>0<3,i=0;;){if(_=ge(l,(t=f[v>>2])+(e=Pr(m,d,R?i:f[w+(i<<2)>>2],0)+c|0)|0,C),n=0,e=0,t=0,!D)for(;y=e<<2,f[(g=(r<<2)+s|0)>>2]=f[y+_>>2],f[g+4>>2]=f[_+(4|y)>>2],f[g+8>>2]=f[_+(8|y)>>2],f[g+12>>2]=f[_+(12|y)>>2],e=e+4|0,r=r+4|0,(0|G)!=(0|(t=t+4|0)););if(N)for(;f[(r<<2)+s>>2]=f[_+(e<<2)>>2],e=e+1|0,r=r+1|0,(0|N)!=(0|(n=n+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break}break o}if(r=0,1!=(0|k))for(g=-2&k,s=255&e,i=0;t=1|r,n=ge(l,(y=f[v>>2])+(n=Pr(m,d,s?r:f[w+(r<<2)>>2],0)+c|0)|0,C),y=f[v>>2],s||(t=f[w+(t<<2)>>2]),ge(n,(t=Pr(m,d,t,0)+c|0)+y|0,C),r=r+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&k))break f;t=f[v>>2],255&e||(r=f[w+(r<<2)>>2]),ge(l,(e=Pr(m,d,r,0)+c|0)+t|0,C)}if(e=1^_,!l)break a}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,n),e=1;break r;case 8:break n;default:break e}e=0,V=v=V-16|0,i=(d=a[t+24|0])<<2,k=f[r+80>>2];n:if((0|p(i,k))==(0|n)){n=f[t+28>>2],f[v+8>>2]=0,f[v>>2]=0,f[v+4>>2]=0,r=0;a:{o:{f:{if(d){if((0|d)<0)break f;if(r=_t(i),f[v>>2]=r,c=(d<<2)+r|0,f[v+8>>2]=c,m=1+((i=i-4|0)>>>2|0)&7)for(e=r;f[e>>2]=-1073741824,e=e+4|0,(0|m)!=(0|(l=l+1|0)););else e=r;if(!(i>>>0<28))for(;f[e+24>>2]=-1073741824,f[e+28>>2]=-1073741824,f[e+16>>2]=-1073741824,f[e+20>>2]=-1073741824,f[e+8>>2]=-1073741824,f[e+12>>2]=-1073741824,f[e>>2]=-1073741824,f[e+4>>2]=-1073741824,(0|c)!=(0|(e=e+32|0)););}if(!k)break o;if(9==(0|n)){if(e=0,E=f[t>>2],i=f[t+48>>2],C=f[t+68>>2],g=A[t+84|0],n=f[t+44>>2],y=c=f[t+40>>2],(0|d)<=0){if(1!=(0|k))for(d=-2&k,t=0;s=1|e,l=ge(r,(m=f[E>>2])+(l=Pr(c,n,g?e:f[C+(e<<2)>>2],0)+i|0)|0,y),m=f[E>>2],g||(s=f[C+(s<<2)>>2]),ge(l,(s=Pr(c,n,s,0)+i|0)+m|0,y),e=e+2|0,(0|d)!=(0|(t=t+2|0)););if(!(1&k))break o;t=f[E>>2],g||(e=f[C+(e<<2)>>2]),ge(r,(e=Pr(c,n,e,0)+i|0)+t|0,y);break o}for(R=-4&d,N=3&d,l=0,D=d-1>>>0<3;;){if(t=ge(r,(t=f[E>>2])+(e=Pr(c,n,g?_:f[C+(_<<2)>>2],0)+i|0)|0,y),m=0,e=0,G=0,!D)for(;h=e<<2,u[(d=(l<<2)+s|0)>>2]=u[h+t>>2],u[d+4>>2]=u[t+(4|h)>>2],u[d+8>>2]=u[t+(8|h)>>2],u[d+12>>2]=u[t+(12|h)>>2],e=e+4|0,l=l+4|0,(0|R)!=(0|(G=G+4|0)););if(N)for(;u[(l<<2)+s>>2]=u[t+(e<<2)>>2],e=e+1|0,l=l+1|0,(0|N)!=(0|(m=m+1|0)););if(e=1,(0|k)==(0|(_=_+1|0)))break}break a}if(h=1,(0|d)<=0){for(e=0;;){if(!Z(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],a[t+24|0],r))break o;if(h=k>>>0>(e=e+1|0)>>>0,(0|e)==(0|k))break}break o}for(E=-4&d,c=3&d,l=0,d=d-1>>>0<3;;){if(!Z(t,A[t+84|0]?_:f[f[t+68>>2]+(_<<2)>>2],a[t+24|0],r))break o;if(h=0,e=0,m=0,!d)for(;n=e<<2,u[(i=(l<<2)+s|0)>>2]=u[n+r>>2],u[i+4>>2]=u[(4|n)+r>>2],u[i+8>>2]=u[(8|n)+r>>2],u[i+12>>2]=u[(12|n)+r>>2],e=e+4|0,l=l+4|0,(0|E)!=(0|(m=m+4|0)););if(c)for(;u[(l<<2)+s>>2]=u[(e<<2)+r>>2],e=e+1|0,l=l+1|0,(0|c)!=(0|(h=h+1|0)););if(h=k>>>0>(_=_+1|0)>>>0,(0|_)==(0|k))break}e=_>>>0>=k>>>0;break a}oi(),T()}if(e=1^h,!r)break n}ee(r)}V=v+16|0,l=1&e;break e}oi(),T()}V=m+16|0,l=1&e;break e}V=h+16|0,l=1&e}return 0|l},gb:function(e,r){e|=0,r|=0;var t,i=0,n=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0;V=t=V-16|0,f[t+12>>2]=r,r=_t(32),f[t>>2]=r,f[t+4>>2]=24,f[t+8>>2]=-2147483616,a[r+24|0]=0,n=A[1308]|A[1309]<<8|A[1310]<<16|A[1311]<<24,i=A[1304]|A[1305]<<8|A[1306]<<16|A[1307]<<24,a[r+16|0]=i,a[r+17|0]=i>>>8,a[r+18|0]=i>>>16,a[r+19|0]=i>>>24,a[r+20|0]=n,a[r+21|0]=n>>>8,a[r+22|0]=n>>>16,a[r+23|0]=n>>>24,n=A[1300]|A[1301]<<8|A[1302]<<16|A[1303]<<24,i=A[1296]|A[1297]<<8|A[1298]<<16|A[1299]<<24,a[r+8|0]=i,a[r+9|0]=i>>>8,a[r+10|0]=i>>>16,a[r+11|0]=i>>>24,a[r+12|0]=n,a[r+13|0]=n>>>8,a[r+14|0]=n>>>16,a[r+15|0]=n>>>24,n=A[1292]|A[1293]<<8|A[1294]<<16|A[1295]<<24,i=A[1288]|A[1289]<<8|A[1290]<<16|A[1291]<<24,a[0|r]=i,a[r+1|0]=i>>>8,a[r+2|0]=i>>>16,a[r+3|0]=i>>>24,a[r+4|0]=n,a[r+5|0]=n>>>8,a[r+6|0]=n>>>16,a[r+7|0]=n>>>24,V=b=V-48|0,p=e;e:{if(e=f[(n=e+16|0)>>2]){for(i=f[t+12>>2],r=n;r=(s=(0|i)>f[e+16>>2])?r:e,e=f[(s<<2)+e>>2];);if((0|r)!=(0|n)&&(0|i)>=f[r+16>>2])break e}if(f[4+(e=w=b+24|0)>>2]=0,f[e+8>>2]=0,C=e+4|0,f[e>>2]=C,e=f[t+12>>2],f[(i=b+16|0)>>2]=0,f[i+4>>2]=0,f[b+8>>2]=e,f[b+12>>2]=i,(0|C)!=(0|(r=f[w>>2])))for(k=b+8|4;;){s=r,c=r+16|0,V=y=V-16|0,u=y+12|0,e=y+8|0;r:{t:{i:{n:{a:{o:{f:if((0|(v=k+4|0))!=(0|i))if(o=(r=A[i+27|0])<<24>>24<0,_=(0|(E=(d=A[c+11|0])<<24>>24))<0,h=(m=(r=o?f[i+20>>2]:r)>>>0<(d=_?f[c+4>>2]:d)>>>0)?r:d){if(g=i+16|0,!(g=Rr(_=_?f[c>>2]:c,o=o?f[g>>2]:g,h))){if(r>>>0>d>>>0)break f;break o}if((0|g)>=0)break o}else if(r>>>0<=d>>>0)break a;o=f[i>>2];f:{s:if((0|(e=i))!=f[k>>2]){if(o)for(r=o;e=r,r=f[r+4>>2];);else{if(e=i+8|0,(0|i)==f[f[i+8>>2]>>2])for(;e=(r=f[e>>2])+8|0,(0|r)==f[f[r+8>>2]>>2];);e=f[e>>2]}if(r=(_=A[c+11|0])<<24>>24<0,d=(m=A[e+27|0])<<24>>24<0,!((h=(_=r?f[c+4>>2]:_)>>>0<(m=d?f[e+20>>2]:m)>>>0?_:m)&&(v=e+16|0,r=Rr(d?f[v>>2]:v,r?f[c>>2]:c,h)))){if(_>>>0>m>>>0)break s;break f}if((0|r)>=0)break f}if(!o){f[u>>2]=i,e=i;break r}f[u>>2]=e,e=e+4|0;break r}e=qe(k,u,c);break r}if(r=Rr(o,_,h))break n}if(m)break i;break t}if((0|r)>=0)break t}if(o=f[i+4>>2])for(r=o;e=r,r=f[r>>2];);else if(e=f[i+8>>2],(0|i)!=f[e>>2])for(r=i+8|0;r=(_=f[r>>2])+8|0,e=f[_+8>>2],(0|_)!=f[e>>2];);i:{n:if((0|e)!=(0|v)){if(!((m=(_=(r=(_=A[e+27|0])<<24>>24<0)?f[e+20>>2]:_)>>>0<d>>>0?_:d)&&(h=e+16|0,r=Rr((0|E)<0?f[c>>2]:c,r?f[h>>2]:h,m)))){if(_>>>0>d>>>0)break n;break i}if((0|r)>=0)break i}if(!o){f[u>>2]=i,e=i+4|0;break r}f[u>>2]=e;break r}e=qe(k,u,c);break r}f[u>>2]=i,f[e>>2]=i}(e=f[(r=e)>>2])?r=0:(o=(e=_t(40))+16|0,a[c+11|0]>=0?(u=f[c+4>>2],f[o>>2]=f[c>>2],f[o+4>>2]=u,f[o+8>>2]=f[c+8>>2]):Fr(o,f[c>>2],f[c+4>>2]),o=e+28|0,a[c+23|0]>=0?(u=f[c+16>>2],f[o>>2]=f[c+12>>2],f[o+4>>2]=u,f[o+8>>2]=f[c+20>>2]):Fr(o,f[c+12>>2],f[c+16>>2]),f[e+8>>2]=f[y+12>>2],f[e>>2]=0,f[e+4>>2]=0,f[r>>2]=e,(o=f[f[k>>2]>>2])?(f[k>>2]=o,r=f[r>>2]):r=e,Ce(f[k+4>>2],r),f[k+8>>2]=f[k+8>>2]+1,r=1),a[b+44|0]=r,f[b+40>>2]=e,V=y+16|0;r:if(e=f[s+4>>2])for(;e=f[(r=e)>>2];);else{if(r=f[s+8>>2],(0|s)==f[r>>2])break r;for(e=s+8|0;e=(s=f[e>>2])+8|0,r=f[s+8>>2],(0|s)!=f[r>>2];);}if((0|r)==(0|C))break}r:{if(e=f[n>>2])for(n=p+16|0,s=f[b+8>>2];;){t:{if((0|(r=f[e+16>>2]))>(0|s)){if(r=f[e>>2])break t;n=e;break r}if((0|r)>=(0|s))break r;if(n=e+4|0,!(r=f[e+4>>2]))break r;e=n}n=e,e=r}e=n}(r=f[n>>2])||(r=_t(32),f[r+16>>2]=f[b+8>>2],f[r+20>>2]=f[b+12>>2],s=r+24|0,o=f[b+16>>2],f[s>>2]=o,c=f[b+20>>2],f[r+28>>2]=c,c?(f[o+8>>2]=s,f[b+16>>2]=0,f[b+20>>2]=0,f[b+12>>2]=i):f[r+20>>2]=s,f[r+8>>2]=e,f[r>>2]=0,f[r+4>>2]=0,f[n>>2]=r,(e=f[f[p+12>>2]>>2])?(f[p+12>>2]=e,e=f[n>>2]):e=r,Ce(f[p+16>>2],e),f[p+20>>2]=f[p+20>>2]+1),pt(b+8|4,f[b+16>>2]),pt(w,f[w+4>>2])}if(V=i=(V=p=(V=b+48|0)-48|0)-32|0,(0|(s=(c=i+32|0)-(e=n=i+21|0)|0))<=9&(0|s)<(1-(l[2744]>1)|0)?(f[i+8>>2]=c,e=61):(a[0|e]=49,f[i+8>>2]=e+1,e=0),f[i+12>>2]=e,e=p+8|0,V=o=(V=b=V-16|0)-16|0,(s=(k=f[i+8>>2])-n|0)>>>0<=4294967279){for(s>>>0<=10?(a[e+11|0]=s,i=e):(i=s>>>0>=11?11==(0|(i=(u=s+16&-16)-1|0))?u:i:10,i=_t(u=i+1|0),f[e>>2]=i,f[e+8>>2]=-2147483648|u,f[e+4>>2]=s);(0|n)!=(0|k);)a[0|i]=A[0|n],i=i+1|0,n=n+1|0;a[o+15|0]=0,a[0|i]=A[o+15|0],V=o+16|0}else si(),T();V=b+16|0,V=c,f[p+32>>2]=t;e:{r:{if(e=f[4+(i=r+20|0)>>2])for(o=(n=(r=A[t+11|0])<<24>>24<0)?f[t>>2]:t,s=n?f[t+4>>2]:r,r=i+4|0;;){t:{i:{n:{a:{o:{f:if(k=(b=(n=(c=(n=A[e+27|0])<<24>>24<0)?f[e+20>>2]:n)>>>0<s>>>0)?n:s){if(u=e+16|0,!(u=Rr(o,c=c?f[u>>2]:u,k))){if(n>>>0>s>>>0)break f;break o}if((0|u)>=0)break o}else if(n>>>0<=s>>>0)break a;if(n=f[e>>2])break t;break r}if(n=Rr(c,o,k))break n}if(b)break i;break e}if((0|n)>=0)break e}if(r=e+4|0,!(n=f[e+4>>2]))break e;e=r}r=e,e=n}e=i+4|0}r=e}(n=f[r>>2])?e=0:(o=(n=_t(40))+16|0,s=f[p+32>>2],a[s+11|0]>=0?(c=f[s+4>>2],f[o>>2]=f[s>>2],f[o+4>>2]=c,f[o+8>>2]=f[s+8>>2]):Fr(o,f[s>>2],f[s+4>>2]),f[n+8>>2]=e,f[n>>2]=0,f[n+4>>2]=0,f[n+36>>2]=0,f[n+28>>2]=0,f[n+32>>2]=0,f[r>>2]=n,(e=f[f[i>>2]>>2])?(f[i>>2]=e,e=f[r>>2]):e=n,Ce(f[i+4>>2],e),f[i+8>>2]=f[i+8>>2]+1,e=1),a[p+44|0]=e,f[p+40>>2]=n,e=f[p+40>>2],a[e+39|0]<0&&ee(f[e+28>>2]),r=f[p+12>>2],f[e+28>>2]=f[p+8>>2],f[e+32>>2]=r,f[e+36>>2]=f[p+16>>2],V=p+48|0,a[t+11|0]<0&&ee(f[t>>2]),V=t+16|0},hb:function(e,r){e|=0;var t,i,n=0,o=0;o=8+(i=V-32|0)|0,V=t=(V=i)-80|0,e=f[36+(r|=0)>>2],f[t+72>>2]=f[r+32>>2],f[t+76>>2]=e,n=f[r+28>>2],f[(e=t- -64|0)>>2]=f[r+24>>2],f[e+4>>2]=n,e=f[r+20>>2],f[t+56>>2]=f[r+16>>2],f[t+60>>2]=e,e=f[r+12>>2],f[t+48>>2]=f[r+8>>2],f[t+52>>2]=e,e=f[r+4>>2],f[t+40>>2]=f[r>>2],f[t+44>>2]=e,L(t+8|0,t+40|0,t+24|0);e:if(e=f[t+8>>2]){if(f[o>>2]=e,e=o+4|0,a[t+23|0]>=0){o=f[4+(r=t+8|4)>>2],f[e>>2]=f[r>>2],f[e+4>>2]=o,f[e+8>>2]=f[r+8>>2];break e}if(Fr(e,f[t+12>>2],f[t+16>>2]),a[t+23|0]>=0)break e;ee(f[t+12>>2])}else a[t+23|0]<0&&ee(f[t+12>>2]),(e=A[t+31|0])>>>0>=2?(e=_t(32),r=A[1619]|A[1620]<<8,a[e+24|0]=r,a[e+25|0]=r>>>8,r=A[1615]|A[1616]<<8|A[1617]<<16|A[1618]<<24,n=A[1611]|A[1612]<<8|A[1613]<<16|A[1614]<<24,a[e+16|0]=n,a[e+17|0]=n>>>8,a[e+18|0]=n>>>16,a[e+19|0]=n>>>24,a[e+20|0]=r,a[e+21|0]=r>>>8,a[e+22|0]=r>>>16,a[e+23|0]=r>>>24,r=A[1607]|A[1608]<<8|A[1609]<<16|A[1610]<<24,n=A[1603]|A[1604]<<8|A[1605]<<16|A[1606]<<24,a[e+8|0]=n,a[e+9|0]=n>>>8,a[e+10|0]=n>>>16,a[e+11|0]=n>>>24,a[e+12|0]=r,a[e+13|0]=r>>>8,a[e+14|0]=r>>>16,a[e+15|0]=r>>>24,r=A[1599]|A[1600]<<8|A[1601]<<16|A[1602]<<24,n=A[1595]|A[1596]<<8|A[1597]<<16|A[1598]<<24,a[0|e]=n,a[e+1|0]=n>>>8,a[e+2|0]=n>>>16,a[e+3|0]=n>>>24,a[e+4|0]=r,a[e+5|0]=r>>>8,a[e+6|0]=r>>>16,a[e+7|0]=r>>>24,a[e+26|0]=0,f[t+8>>2]=-1,Fr(r=t+8|4,e,26),n=a[t+23|0],f[o>>2]=f[t+8>>2],o=o+4|0,(0|n)>=0?(n=f[r+4>>2],f[o>>2]=f[r>>2],f[o+4>>2]=n,f[o+8>>2]=f[r+8>>2]):Fr(o,f[t+12>>2],f[t+16>>2]),a[t+23|0]<0&&ee(f[t+12>>2]),ee(e)):(f[o>>2]=0,f[o+4>>2]=0,f[o+16>>2]=e,f[o+8>>2]=0,f[o+12>>2]=0);return V=t+80|0,e=f[i+24>>2],a[i+23|0]<0&&ee(f[i+12>>2]),V=i+32|0,0|e},ib:function(e,r,t){e|=0,r|=0,t|=0;var i,n=0,o=0;V=r=V-16|0,xe(r),f[e+24>>2]=f[r>>2];e:if((0|(i=e+24|0))!=(0|r))if(t=4|r,n=(o=A[r+15|0])<<24>>24,a[11+(e=e+28|0)|0]>=0){if((0|n)>=0){n=f[t+4>>2],f[e>>2]=f[t>>2],f[e+4>>2]=n,f[e+8>>2]=f[t+8>>2];break e}it(e,f[r+4>>2],f[r+8>>2])}else Lr(e,(e=(0|n)<0)?f[r+4>>2]:t,e?f[r+8>>2]:o);return a[r+15|0]<0&&ee(f[r+4>>2]),V=r+16|0,0|i},jb:function(e,r,t){var i,n,o=0;V=i=V-16|0,I(i,e|=0,r|=0,t|=0),f[e+24>>2]=f[i>>2];e:if((0|(n=e+24|0))!=(0|i))if(r=4|i,t=(o=A[i+15|0])<<24>>24,a[11+(e=e+28|0)|0]>=0){if((0|t)>=0){t=f[r+4>>2],f[e>>2]=f[r>>2],f[e+4>>2]=t,f[e+8>>2]=f[r+8>>2];break e}it(e,f[i+4>>2],f[i+8>>2])}else Lr(e,(e=(0|t)<0)?f[i+4>>2]:r,e?f[i+8>>2]:o);return a[i+15|0]<0&&ee(f[i+4>>2]),V=i+16|0,0|n},kb:function(e){(e|=0)&&(a[e+39|0]<0&&ee(f[e+28>>2]),Et(e+12|0,f[e+16>>2]),pt(e,f[e+4>>2]),ee(e))},lb:Ai,mb:ui,nb:bi,ob:ki,pb:Ai,qb:ui,rb:bi,sb:ki,tb:_i,ub:pi,vb:Ai,wb:ui,xb:bi,yb:ui,zb:bi,Ab:ki,Bb:_i,Cb:pi,Db:function(){return 5},Eb:function(){return 6},Fb:function(){return 7},Gb:function(){return 8},Hb:function(){return 9},Ib:function(){return 10},Jb:function(){return 11},Kb:function(){return 12},Lb:ui,Mb:Ai,Nb:function(){return-2},Ob:function(){return-3},Pb:function(){return-4},Qb:function(){return-5},Rb:U,Sb:ee}}(e)}(ne)},instantiate:function(e,r){return{then:function(r){var t=new w.Module(e);r({instance:new w.Instance(t)})}}},RuntimeError:Error};y=[],"object"!=typeof w&&Y("no native wasm support detected");var T=!1;function C(e,r){e||Y("Assertion failed: "+r)}var E,N,G,R,V="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function D(e,r){return e?function(e,r,t){for(var i=r+t,n=r;e[n]&&!(n>=i);)++n;if(n-r>16&&e.subarray&&V)return V.decode(e.subarray(r,n));for(var a="";r<n;){var o=e[r++];if(128&o){var f=63&e[r++];if(192!=(224&o)){var s=63&e[r++];if((o=224==(240&o)?(15&o)<<12|f<<6|s:(7&o)<<18|f<<12|s<<6|63&e[r++])<65536)a+=String.fromCharCode(o);else{var c=o-65536;a+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else a+=String.fromCharCode((31&o)<<6|f)}else a+=String.fromCharCode(o)}return a}(G,e,r):""}function M(e){E=e,a.HEAP8=N=new Int8Array(e),a.HEAP16=new Int16Array(e),a.HEAP32=R=new Int32Array(e),a.HEAPU8=G=new Uint8Array(e),a.HEAPU16=new Uint16Array(e),a.HEAPU32=new Uint32Array(e),a.HEAPF32=new Float32Array(e),a.HEAPF64=new Float64Array(e)}var U,I=a.INITIAL_MEMORY||16777216;(g=a.wasmMemory?a.wasmMemory:new w.Memory({initial:I/65536,maximum:32768}))&&(E=g.buffer),I=E.byteLength,M(E);var B=[],Z=[],W=[],F=!1;function x(e){Z.unshift(e)}var S=0,j=null,O=null;function Y(e){a.onAbort&&a.onAbort(e),v(e="Aborted("+e+")"),T=!0,e+=". Build with -s ASSERTIONS=1 for more info.";var r=new w.RuntimeError(e);throw n(r),r}a.preloadedImages={},a.preloadedAudios={};var J,Q,z="data:application/octet-stream;base64,";function L(e){return e.startsWith(z)}function P(e){return e.startsWith("file://")}function X(e){try{if(e==J&&y)return new Uint8Array(y);var r=te(e);if(r)return r;if(l)return l(e);throw"both async and sync fetching of the wasm failed"}catch(e){Y(e)}}function H(e){for(;e.length>0;){var r=e.shift();if("function"!=typeof r){var t=r.func;"number"==typeof t?void 0===r.arg?K(t)():K(t)(r.arg):t(void 0===r.arg?null:r.arg)}else r(a)}}L(J="draco_decoder_gltf.wasm")||(Q=J,J=a.locateFile?a.locateFile(Q,h):h+Q);var q=[];function K(e){var r=q[e];return r||(e>=q.length&&(q.length=e+1),q[e]=r=U.get(e)),r}function $(e){this.excPtr=e,this.ptr=e-16,this.set_type=function(e){R[this.ptr+4>>2]=e},this.get_type=function(){return R[this.ptr+4>>2]},this.set_destructor=function(e){R[this.ptr+8>>2]=e},this.get_destructor=function(){return R[this.ptr+8>>2]},this.set_refcount=function(e){R[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,N[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=N[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,N[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=N[this.ptr+13>>0]},this.init=function(e,r){this.set_type(e),this.set_destructor(r),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=R[this.ptr>>2];R[this.ptr>>2]=e+1},this.release_ref=function(){var e=R[this.ptr>>2];return R[this.ptr>>2]=e-1,1===e}}function ee(e){try{return g.grow(e-E.byteLength+65535>>>16),M(g.buffer),1}catch(e){}}var re="function"==typeof atob?atob:function(e){var r,t,i,n,a,o,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s="",c=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{r=f.indexOf(e.charAt(c++))<<2|(n=f.indexOf(e.charAt(c++)))>>4,t=(15&n)<<4|(a=f.indexOf(e.charAt(c++)))>>2,i=(3&a)<<6|(o=f.indexOf(e.charAt(c++))),s+=String.fromCharCode(r),64!==a&&(s+=String.fromCharCode(t)),64!==o&&(s+=String.fromCharCode(i))}while(c<e.length);return s};function te(e){if(L(e))return function(e){if("boolean"==typeof m&&m){var r=Buffer.from(e,"base64");return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}try{for(var t=re(e),i=new Uint8Array(t.length),n=0;n<t.length;++n)i[n]=t.charCodeAt(n);return i}catch(e){throw new Error("Converting base64 string to bytes failed.")}}(e.slice(z.length))}var ie,ne={f:function(e){return St(e+16)+16},e:function(e,r,t){throw new $(e).init(r,t),e},b:function(){Y("")},c:function(e,r,t){G.copyWithin(e,r,r+t)},d:function(e){var r,t=G.length,i=2147483648;if((e>>>=0)>i)return!1;for(var n=1;n<=4;n*=2){var a=t*(1+.2/n);if(a=Math.min(a,e+100663296),ee(Math.min(i,((r=Math.max(e,a))%65536>0&&(r+=65536-r%65536),r))))return!0}return!1},a:g},ae=(function(){var e={a:ne};function r(e,r){var t=e.exports;a.asm=t,U=a.asm.h,x(a.asm.g),function(e){if(S--,a.monitorRunDependencies&&a.monitorRunDependencies(S),0==S&&(null!==j&&(clearInterval(j),j=null),O)){var r=O;O=null,r()}}()}function t(e){r(e.instance)}function i(r){return function(){if(!y&&(k||d)){if("function"==typeof fetch&&!P(J))return fetch(J,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+J+"'";return e.arrayBuffer()})).catch((function(){return X(J)}));if(b)return new Promise((function(e,r){b(J,(function(r){e(new Uint8Array(r))}),r)}))}return Promise.resolve().then((function(){return X(J)}))}().then((function(r){return w.instantiate(r,e)})).then((function(e){return e})).then(r,(function(e){v("failed to asynchronously prepare wasm: "+e),Y(e)}))}if(S++,a.monitorRunDependencies&&a.monitorRunDependencies(S),a.instantiateWasm)try{return a.instantiateWasm(e,r)}catch(e){return v("Module.instantiateWasm callback failed with error: "+e),!1}(y||"function"!=typeof w.instantiateStreaming||L(J)||P(J)||"function"!=typeof fetch?i(t):fetch(J,{credentials:"same-origin"}).then((function(r){return w.instantiateStreaming(r,e).then(t,(function(e){return v("wasm streaming compile failed: "+e),v("falling back to ArrayBuffer instantiation"),i(t)}))}))).catch(n)}(),a.___wasm_call_ctors=function(){return(a.___wasm_call_ctors=a.asm.g).apply(null,arguments)},a._emscripten_bind_VoidPtr___destroy___0=function(){return(ae=a._emscripten_bind_VoidPtr___destroy___0=a.asm.i).apply(null,arguments)}),oe=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return(oe=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=a.asm.j).apply(null,arguments)},fe=a._emscripten_bind_DecoderBuffer_Init_2=function(){return(fe=a._emscripten_bind_DecoderBuffer_Init_2=a.asm.k).apply(null,arguments)},se=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return(se=a._emscripten_bind_DecoderBuffer___destroy___0=a.asm.l).apply(null,arguments)},ce=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return(ce=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=a.asm.m).apply(null,arguments)},Ae=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return(Ae=a._emscripten_bind_AttributeTransformData_transform_type_0=a.asm.n).apply(null,arguments)},be=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return(be=a._emscripten_bind_AttributeTransformData___destroy___0=a.asm.o).apply(null,arguments)},le=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return(le=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=a.asm.p).apply(null,arguments)},ue=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return(ue=a._emscripten_bind_GeometryAttribute___destroy___0=a.asm.q).apply(null,arguments)},_e=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return(_e=a._emscripten_bind_PointAttribute_PointAttribute_0=a.asm.r).apply(null,arguments)},pe=a._emscripten_bind_PointAttribute_size_0=function(){return(pe=a._emscripten_bind_PointAttribute_size_0=a.asm.s).apply(null,arguments)},ke=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return(ke=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=a.asm.t).apply(null,arguments)},de=a._emscripten_bind_PointAttribute_attribute_type_0=function(){return(de=a._emscripten_bind_PointAttribute_attribute_type_0=a.asm.u).apply(null,arguments)},me=a._emscripten_bind_PointAttribute_data_type_0=function(){return(me=a._emscripten_bind_PointAttribute_data_type_0=a.asm.v).apply(null,arguments)},he=a._emscripten_bind_PointAttribute_num_components_0=function(){return(he=a._emscripten_bind_PointAttribute_num_components_0=a.asm.w).apply(null,arguments)},ye=a._emscripten_bind_PointAttribute_normalized_0=function(){return(ye=a._emscripten_bind_PointAttribute_normalized_0=a.asm.x).apply(null,arguments)},ve=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return(ve=a._emscripten_bind_PointAttribute_byte_stride_0=a.asm.y).apply(null,arguments)},ge=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return(ge=a._emscripten_bind_PointAttribute_byte_offset_0=a.asm.z).apply(null,arguments)},we=a._emscripten_bind_PointAttribute_unique_id_0=function(){return(we=a._emscripten_bind_PointAttribute_unique_id_0=a.asm.A).apply(null,arguments)},Te=a._emscripten_bind_PointAttribute___destroy___0=function(){return(Te=a._emscripten_bind_PointAttribute___destroy___0=a.asm.B).apply(null,arguments)},Ce=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return(Ce=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=a.asm.C).apply(null,arguments)},Ee=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return(Ee=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=a.asm.D).apply(null,arguments)},Ne=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return(Ne=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=a.asm.E).apply(null,arguments)},Ge=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return(Ge=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=a.asm.F).apply(null,arguments)},Re=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return(Re=a._emscripten_bind_AttributeQuantizationTransform_range_0=a.asm.G).apply(null,arguments)},Ve=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return(Ve=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=a.asm.H).apply(null,arguments)},De=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return(De=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=a.asm.I).apply(null,arguments)},Me=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return(Me=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=a.asm.J).apply(null,arguments)},Ue=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return(Ue=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=a.asm.K).apply(null,arguments)},Ie=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return(Ie=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=a.asm.L).apply(null,arguments)},Be=a._emscripten_bind_PointCloud_PointCloud_0=function(){return(Be=a._emscripten_bind_PointCloud_PointCloud_0=a.asm.M).apply(null,arguments)},Ze=a._emscripten_bind_PointCloud_num_attributes_0=function(){return(Ze=a._emscripten_bind_PointCloud_num_attributes_0=a.asm.N).apply(null,arguments)},We=a._emscripten_bind_PointCloud_num_points_0=function(){return(We=a._emscripten_bind_PointCloud_num_points_0=a.asm.O).apply(null,arguments)},Fe=a._emscripten_bind_PointCloud___destroy___0=function(){return(Fe=a._emscripten_bind_PointCloud___destroy___0=a.asm.P).apply(null,arguments)},xe=a._emscripten_bind_Mesh_Mesh_0=function(){return(xe=a._emscripten_bind_Mesh_Mesh_0=a.asm.Q).apply(null,arguments)},Se=a._emscripten_bind_Mesh_num_faces_0=function(){return(Se=a._emscripten_bind_Mesh_num_faces_0=a.asm.R).apply(null,arguments)},je=a._emscripten_bind_Mesh_num_attributes_0=function(){return(je=a._emscripten_bind_Mesh_num_attributes_0=a.asm.S).apply(null,arguments)},Oe=a._emscripten_bind_Mesh_num_points_0=function(){return(Oe=a._emscripten_bind_Mesh_num_points_0=a.asm.T).apply(null,arguments)},Ye=a._emscripten_bind_Mesh___destroy___0=function(){return(Ye=a._emscripten_bind_Mesh___destroy___0=a.asm.U).apply(null,arguments)},Je=a._emscripten_bind_Metadata_Metadata_0=function(){return(Je=a._emscripten_bind_Metadata_Metadata_0=a.asm.V).apply(null,arguments)},Qe=a._emscripten_bind_Metadata___destroy___0=function(){return(Qe=a._emscripten_bind_Metadata___destroy___0=a.asm.W).apply(null,arguments)},ze=a._emscripten_bind_Status_code_0=function(){return(ze=a._emscripten_bind_Status_code_0=a.asm.X).apply(null,arguments)},Le=a._emscripten_bind_Status_ok_0=function(){return(Le=a._emscripten_bind_Status_ok_0=a.asm.Y).apply(null,arguments)},Pe=a._emscripten_bind_Status_error_msg_0=function(){return(Pe=a._emscripten_bind_Status_error_msg_0=a.asm.Z).apply(null,arguments)},Xe=a._emscripten_bind_Status___destroy___0=function(){return(Xe=a._emscripten_bind_Status___destroy___0=a.asm._).apply(null,arguments)},He=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return(He=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=a.asm.$).apply(null,arguments)},qe=a._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return(qe=a._emscripten_bind_DracoFloat32Array_GetValue_1=a.asm.aa).apply(null,arguments)},Ke=a._emscripten_bind_DracoFloat32Array_size_0=function(){return(Ke=a._emscripten_bind_DracoFloat32Array_size_0=a.asm.ba).apply(null,arguments)},$e=a._emscripten_bind_DracoFloat32Array___destroy___0=function(){return($e=a._emscripten_bind_DracoFloat32Array___destroy___0=a.asm.ca).apply(null,arguments)},er=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return(er=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=a.asm.da).apply(null,arguments)},rr=a._emscripten_bind_DracoInt8Array_GetValue_1=function(){return(rr=a._emscripten_bind_DracoInt8Array_GetValue_1=a.asm.ea).apply(null,arguments)},tr=a._emscripten_bind_DracoInt8Array_size_0=function(){return(tr=a._emscripten_bind_DracoInt8Array_size_0=a.asm.fa).apply(null,arguments)},ir=a._emscripten_bind_DracoInt8Array___destroy___0=function(){return(ir=a._emscripten_bind_DracoInt8Array___destroy___0=a.asm.ga).apply(null,arguments)},nr=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return(nr=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=a.asm.ha).apply(null,arguments)},ar=a._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return(ar=a._emscripten_bind_DracoUInt8Array_GetValue_1=a.asm.ia).apply(null,arguments)},or=a._emscripten_bind_DracoUInt8Array_size_0=function(){return(or=a._emscripten_bind_DracoUInt8Array_size_0=a.asm.ja).apply(null,arguments)},fr=a._emscripten_bind_DracoUInt8Array___destroy___0=function(){return(fr=a._emscripten_bind_DracoUInt8Array___destroy___0=a.asm.ka).apply(null,arguments)},sr=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return(sr=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=a.asm.la).apply(null,arguments)},cr=a._emscripten_bind_DracoInt16Array_GetValue_1=function(){return(cr=a._emscripten_bind_DracoInt16Array_GetValue_1=a.asm.ma).apply(null,arguments)},Ar=a._emscripten_bind_DracoInt16Array_size_0=function(){return(Ar=a._emscripten_bind_DracoInt16Array_size_0=a.asm.na).apply(null,arguments)},br=a._emscripten_bind_DracoInt16Array___destroy___0=function(){return(br=a._emscripten_bind_DracoInt16Array___destroy___0=a.asm.oa).apply(null,arguments)},lr=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return(lr=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=a.asm.pa).apply(null,arguments)},ur=a._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return(ur=a._emscripten_bind_DracoUInt16Array_GetValue_1=a.asm.qa).apply(null,arguments)},_r=a._emscripten_bind_DracoUInt16Array_size_0=function(){return(_r=a._emscripten_bind_DracoUInt16Array_size_0=a.asm.ra).apply(null,arguments)},pr=a._emscripten_bind_DracoUInt16Array___destroy___0=function(){return(pr=a._emscripten_bind_DracoUInt16Array___destroy___0=a.asm.sa).apply(null,arguments)},kr=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return(kr=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=a.asm.ta).apply(null,arguments)},dr=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return(dr=a._emscripten_bind_DracoInt32Array_GetValue_1=a.asm.ua).apply(null,arguments)},mr=a._emscripten_bind_DracoInt32Array_size_0=function(){return(mr=a._emscripten_bind_DracoInt32Array_size_0=a.asm.va).apply(null,arguments)},hr=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return(hr=a._emscripten_bind_DracoInt32Array___destroy___0=a.asm.wa).apply(null,arguments)},yr=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return(yr=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=a.asm.xa).apply(null,arguments)},vr=a._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return(vr=a._emscripten_bind_DracoUInt32Array_GetValue_1=a.asm.ya).apply(null,arguments)},gr=a._emscripten_bind_DracoUInt32Array_size_0=function(){return(gr=a._emscripten_bind_DracoUInt32Array_size_0=a.asm.za).apply(null,arguments)},wr=a._emscripten_bind_DracoUInt32Array___destroy___0=function(){return(wr=a._emscripten_bind_DracoUInt32Array___destroy___0=a.asm.Aa).apply(null,arguments)},Tr=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return(Tr=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=a.asm.Ba).apply(null,arguments)},Cr=a._emscripten_bind_MetadataQuerier_HasEntry_2=function(){return(Cr=a._emscripten_bind_MetadataQuerier_HasEntry_2=a.asm.Ca).apply(null,arguments)},Er=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return(Er=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=a.asm.Da).apply(null,arguments)},Nr=a._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=function(){return(Nr=a._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=a.asm.Ea).apply(null,arguments)},Gr=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return(Gr=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=a.asm.Fa).apply(null,arguments)},Rr=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return(Rr=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=a.asm.Ga).apply(null,arguments)},Vr=a._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return(Vr=a._emscripten_bind_MetadataQuerier_NumEntries_1=a.asm.Ha).apply(null,arguments)},Dr=a._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return(Dr=a._emscripten_bind_MetadataQuerier_GetEntryName_2=a.asm.Ia).apply(null,arguments)},Mr=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return(Mr=a._emscripten_bind_MetadataQuerier___destroy___0=a.asm.Ja).apply(null,arguments)},Ur=a._emscripten_bind_Decoder_Decoder_0=function(){return(Ur=a._emscripten_bind_Decoder_Decoder_0=a.asm.Ka).apply(null,arguments)},Ir=a._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=function(){return(Ir=a._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=a.asm.La).apply(null,arguments)},Br=a._emscripten_bind_Decoder_DecodeArrayToMesh_3=function(){return(Br=a._emscripten_bind_Decoder_DecodeArrayToMesh_3=a.asm.Ma).apply(null,arguments)},Zr=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return(Zr=a._emscripten_bind_Decoder_GetAttributeId_2=a.asm.Na).apply(null,arguments)},Wr=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return(Wr=a._emscripten_bind_Decoder_GetAttributeIdByName_2=a.asm.Oa).apply(null,arguments)},Fr=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return(Fr=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=a.asm.Pa).apply(null,arguments)},xr=a._emscripten_bind_Decoder_GetAttribute_2=function(){return(xr=a._emscripten_bind_Decoder_GetAttribute_2=a.asm.Qa).apply(null,arguments)},Sr=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return(Sr=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=a.asm.Ra).apply(null,arguments)},jr=a._emscripten_bind_Decoder_GetMetadata_1=function(){return(jr=a._emscripten_bind_Decoder_GetMetadata_1=a.asm.Sa).apply(null,arguments)},Or=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return(Or=a._emscripten_bind_Decoder_GetAttributeMetadata_2=a.asm.Ta).apply(null,arguments)},Yr=a._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return(Yr=a._emscripten_bind_Decoder_GetFaceFromMesh_3=a.asm.Ua).apply(null,arguments)},Jr=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return(Jr=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=a.asm.Va).apply(null,arguments)},Qr=a._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=function(){return(Qr=a._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=a.asm.Wa).apply(null,arguments)},zr=a._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=function(){return(zr=a._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=a.asm.Xa).apply(null,arguments)},Lr=a._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return(Lr=a._emscripten_bind_Decoder_GetAttributeFloat_3=a.asm.Ya).apply(null,arguments)},Pr=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return(Pr=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=a.asm.Za).apply(null,arguments)},Xr=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return(Xr=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=a.asm._a).apply(null,arguments)},Hr=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return(Hr=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=a.asm.$a).apply(null,arguments)},qr=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return(qr=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=a.asm.ab).apply(null,arguments)},Kr=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return(Kr=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=a.asm.bb).apply(null,arguments)},$r=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return($r=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=a.asm.cb).apply(null,arguments)},et=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return(et=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=a.asm.db).apply(null,arguments)},rt=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return(rt=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=a.asm.eb).apply(null,arguments)},tt=a._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=function(){return(tt=a._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=a.asm.fb).apply(null,arguments)},it=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return(it=a._emscripten_bind_Decoder_SkipAttributeTransform_1=a.asm.gb).apply(null,arguments)},nt=a._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=function(){return(nt=a._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=a.asm.hb).apply(null,arguments)},at=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return(at=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=a.asm.ib).apply(null,arguments)},ot=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return(ot=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=a.asm.jb).apply(null,arguments)},ft=a._emscripten_bind_Decoder___destroy___0=function(){return(ft=a._emscripten_bind_Decoder___destroy___0=a.asm.kb).apply(null,arguments)},st=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return(st=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=a.asm.lb).apply(null,arguments)},ct=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return(ct=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=a.asm.mb).apply(null,arguments)},At=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return(At=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=a.asm.nb).apply(null,arguments)},bt=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return(bt=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=a.asm.ob).apply(null,arguments)},lt=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return(lt=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=a.asm.pb).apply(null,arguments)},ut=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return(ut=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=a.asm.qb).apply(null,arguments)},_t=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return(_t=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=a.asm.rb).apply(null,arguments)},pt=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return(pt=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=a.asm.sb).apply(null,arguments)},kt=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return(kt=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=a.asm.tb).apply(null,arguments)},dt=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return(dt=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=a.asm.ub).apply(null,arguments)},mt=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return(mt=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=a.asm.vb).apply(null,arguments)},ht=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return(ht=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=a.asm.wb).apply(null,arguments)},yt=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return(yt=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=a.asm.xb).apply(null,arguments)},vt=a._emscripten_enum_draco_DataType_DT_INVALID=function(){return(vt=a._emscripten_enum_draco_DataType_DT_INVALID=a.asm.yb).apply(null,arguments)},gt=a._emscripten_enum_draco_DataType_DT_INT8=function(){return(gt=a._emscripten_enum_draco_DataType_DT_INT8=a.asm.zb).apply(null,arguments)},wt=a._emscripten_enum_draco_DataType_DT_UINT8=function(){return(wt=a._emscripten_enum_draco_DataType_DT_UINT8=a.asm.Ab).apply(null,arguments)},Tt=a._emscripten_enum_draco_DataType_DT_INT16=function(){return(Tt=a._emscripten_enum_draco_DataType_DT_INT16=a.asm.Bb).apply(null,arguments)},Ct=a._emscripten_enum_draco_DataType_DT_UINT16=function(){return(Ct=a._emscripten_enum_draco_DataType_DT_UINT16=a.asm.Cb).apply(null,arguments)},Et=a._emscripten_enum_draco_DataType_DT_INT32=function(){return(Et=a._emscripten_enum_draco_DataType_DT_INT32=a.asm.Db).apply(null,arguments)},Nt=a._emscripten_enum_draco_DataType_DT_UINT32=function(){return(Nt=a._emscripten_enum_draco_DataType_DT_UINT32=a.asm.Eb).apply(null,arguments)},Gt=a._emscripten_enum_draco_DataType_DT_INT64=function(){return(Gt=a._emscripten_enum_draco_DataType_DT_INT64=a.asm.Fb).apply(null,arguments)},Rt=a._emscripten_enum_draco_DataType_DT_UINT64=function(){return(Rt=a._emscripten_enum_draco_DataType_DT_UINT64=a.asm.Gb).apply(null,arguments)},Vt=a._emscripten_enum_draco_DataType_DT_FLOAT32=function(){return(Vt=a._emscripten_enum_draco_DataType_DT_FLOAT32=a.asm.Hb).apply(null,arguments)},Dt=a._emscripten_enum_draco_DataType_DT_FLOAT64=function(){return(Dt=a._emscripten_enum_draco_DataType_DT_FLOAT64=a.asm.Ib).apply(null,arguments)},Mt=a._emscripten_enum_draco_DataType_DT_BOOL=function(){return(Mt=a._emscripten_enum_draco_DataType_DT_BOOL=a.asm.Jb).apply(null,arguments)},Ut=a._emscripten_enum_draco_DataType_DT_TYPES_COUNT=function(){return(Ut=a._emscripten_enum_draco_DataType_DT_TYPES_COUNT=a.asm.Kb).apply(null,arguments)},It=a._emscripten_enum_draco_StatusCode_OK=function(){return(It=a._emscripten_enum_draco_StatusCode_OK=a.asm.Lb).apply(null,arguments)},Bt=a._emscripten_enum_draco_StatusCode_DRACO_ERROR=function(){return(Bt=a._emscripten_enum_draco_StatusCode_DRACO_ERROR=a.asm.Mb).apply(null,arguments)},Zt=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return(Zt=a._emscripten_enum_draco_StatusCode_IO_ERROR=a.asm.Nb).apply(null,arguments)},Wt=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return(Wt=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=a.asm.Ob).apply(null,arguments)},Ft=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return(Ft=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=a.asm.Pb).apply(null,arguments)},xt=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return(xt=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=a.asm.Qb).apply(null,arguments)},St=a._malloc=function(){return(St=a._malloc=a.asm.Rb).apply(null,arguments)};function jt(e){function t(){ie||(ie=!0,a.calledRun=!0,T||(F=!0,H(Z),r(a),a.onRuntimeInitialized&&a.onRuntimeInitialized(),function(){if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)e=a.postRun.shift(),W.unshift(e);var e;H(W)}()))}e=e||p,S>0||(function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)e=a.preRun.shift(),B.unshift(e);var e;H(B)}(),S>0||(a.setStatus?(a.setStatus("Running..."),setTimeout((function(){setTimeout((function(){a.setStatus("")}),1),t()}),1)):t()))}if(a._free=function(){return(a._free=a.asm.Sb).apply(null,arguments)},O=function e(){ie||jt(),ie||(O=e)},a.run=jt,a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();function Ot(){}function Yt(e){return(e||Ot).__cache__}function Jt(e,r){var t=Yt(r),i=t[e];return i||((i=Object.create((r||Ot).prototype)).ptr=e,t[e]=i)}jt(),Ot.prototype=Object.create(Ot.prototype),Ot.prototype.constructor=Ot,Ot.prototype.__class__=Ot,Ot.__cache__={},a.WrapperObject=Ot,a.getCache=Yt,a.wrapPointer=Jt,a.castObject=function(e,r){return Jt(e.ptr,r)},a.NULL=Jt(0),a.destroy=function(e){if(!e.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";e.__destroy__(),delete Yt(e.__class__)[e.ptr]},a.compare=function(e,r){return e.ptr===r.ptr},a.getPointer=function(e){return e.ptr},a.getClass=function(e){return e.__class__};var Qt={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(Qt.needed){for(var e=0;e<Qt.temps.length;e++)a._free(Qt.temps[e]);Qt.temps.length=0,a._free(Qt.buffer),Qt.buffer=0,Qt.size+=Qt.needed,Qt.needed=0}Qt.buffer||(Qt.size+=128,Qt.buffer=a._malloc(Qt.size),C(Qt.buffer)),Qt.pos=0},alloc:function(e,r){C(Qt.buffer);var t,i=r.BYTES_PER_ELEMENT,n=e.length*i;return n=n+7&-8,Qt.pos+n>=Qt.size?(C(n>0),Qt.needed+=n,t=a._malloc(n),Qt.temps.push(t)):(t=Qt.buffer+Qt.pos,Qt.pos+=n),t},copy:function(e,r,t){switch(t>>>=0,r.BYTES_PER_ELEMENT){case 2:t>>>=1;break;case 4:t>>>=2;break;case 8:t>>>=3}for(var i=0;i<e.length;i++)r[t+i]=e[i]}};function zt(e){if("string"==typeof e){var r=(n=function(e){for(var r=0,t=0;t<e.length;++t){var i=e.charCodeAt(t);i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++t)),i<=127?++r:r+=i<=2047?2:i<=65535?3:4}return r}(i=e)+1,function(e,r,t,i){if(!(i>0))return 0;for(var n=t,a=t+i-1,o=0;o<e.length;++o){var f=e.charCodeAt(o);if(f>=55296&&f<=57343&&(f=65536+((1023&f)<<10)|1023&e.charCodeAt(++o)),f<=127){if(t>=a)break;r[t++]=f}else if(f<=2047){if(t+1>=a)break;r[t++]=192|f>>6,r[t++]=128|63&f}else if(f<=65535){if(t+2>=a)break;r[t++]=224|f>>12,r[t++]=128|f>>6&63,r[t++]=128|63&f}else{if(t+3>=a)break;r[t++]=240|f>>18,r[t++]=128|f>>12&63,r[t++]=128|f>>6&63,r[t++]=128|63&f}}return r[t]=0,t-n}(i,a=new Array(n),0,a.length),a),t=Qt.alloc(r,N);return Qt.copy(r,N,t),t}var i,n,a;return e}function Lt(e){if("object"==typeof e){var r=Qt.alloc(e,N);return Qt.copy(e,N,r),r}return e}function Pt(){throw"cannot construct a VoidPtr, no constructor in IDL"}function Xt(){this.ptr=oe(),Yt(Xt)[this.ptr]=this}function Ht(){this.ptr=ce(),Yt(Ht)[this.ptr]=this}function qt(){this.ptr=le(),Yt(qt)[this.ptr]=this}function Kt(){this.ptr=_e(),Yt(Kt)[this.ptr]=this}function $t(){this.ptr=Ce(),Yt($t)[this.ptr]=this}function ei(){this.ptr=De(),Yt(ei)[this.ptr]=this}function ri(){this.ptr=Be(),Yt(ri)[this.ptr]=this}function ti(){this.ptr=xe(),Yt(ti)[this.ptr]=this}function ii(){this.ptr=Je(),Yt(ii)[this.ptr]=this}function ni(){throw"cannot construct a Status, no constructor in IDL"}function ai(){this.ptr=He(),Yt(ai)[this.ptr]=this}function oi(){this.ptr=er(),Yt(oi)[this.ptr]=this}function fi(){this.ptr=nr(),Yt(fi)[this.ptr]=this}function si(){this.ptr=sr(),Yt(si)[this.ptr]=this}function ci(){this.ptr=lr(),Yt(ci)[this.ptr]=this}function Ai(){this.ptr=kr(),Yt(Ai)[this.ptr]=this}function bi(){this.ptr=yr(),Yt(bi)[this.ptr]=this}function li(){this.ptr=Tr(),Yt(li)[this.ptr]=this}function ui(){this.ptr=Ur(),Yt(ui)[this.ptr]=this}return Pt.prototype=Object.create(Ot.prototype),Pt.prototype.constructor=Pt,Pt.prototype.__class__=Pt,Pt.__cache__={},a.VoidPtr=Pt,Pt.prototype.__destroy__=Pt.prototype.__destroy__=function(){var e=this.ptr;ae(e)},Xt.prototype=Object.create(Ot.prototype),Xt.prototype.constructor=Xt,Xt.prototype.__class__=Xt,Xt.__cache__={},a.DecoderBuffer=Xt,Xt.prototype.Init=Xt.prototype.Init=function(e,r){var t=this.ptr;Qt.prepare(),"object"==typeof e&&(e=Lt(e)),r&&"object"==typeof r&&(r=r.ptr),fe(t,e,r)},Xt.prototype.__destroy__=Xt.prototype.__destroy__=function(){var e=this.ptr;se(e)},Ht.prototype=Object.create(Ot.prototype),Ht.prototype.constructor=Ht,Ht.prototype.__class__=Ht,Ht.__cache__={},a.AttributeTransformData=Ht,Ht.prototype.transform_type=Ht.prototype.transform_type=function(){var e=this.ptr;return Ae(e)},Ht.prototype.__destroy__=Ht.prototype.__destroy__=function(){var e=this.ptr;be(e)},qt.prototype=Object.create(Ot.prototype),qt.prototype.constructor=qt,qt.prototype.__class__=qt,qt.__cache__={},a.GeometryAttribute=qt,qt.prototype.__destroy__=qt.prototype.__destroy__=function(){var e=this.ptr;ue(e)},Kt.prototype=Object.create(Ot.prototype),Kt.prototype.constructor=Kt,Kt.prototype.__class__=Kt,Kt.__cache__={},a.PointAttribute=Kt,Kt.prototype.size=Kt.prototype.size=function(){var e=this.ptr;return pe(e)},Kt.prototype.GetAttributeTransformData=Kt.prototype.GetAttributeTransformData=function(){var e=this.ptr;return Jt(ke(e),Ht)},Kt.prototype.attribute_type=Kt.prototype.attribute_type=function(){var e=this.ptr;return de(e)},Kt.prototype.data_type=Kt.prototype.data_type=function(){var e=this.ptr;return me(e)},Kt.prototype.num_components=Kt.prototype.num_components=function(){var e=this.ptr;return he(e)},Kt.prototype.normalized=Kt.prototype.normalized=function(){var e=this.ptr;return!!ye(e)},Kt.prototype.byte_stride=Kt.prototype.byte_stride=function(){var e=this.ptr;return ve(e)},Kt.prototype.byte_offset=Kt.prototype.byte_offset=function(){var e=this.ptr;return ge(e)},Kt.prototype.unique_id=Kt.prototype.unique_id=function(){var e=this.ptr;return we(e)},Kt.prototype.__destroy__=Kt.prototype.__destroy__=function(){var e=this.ptr;Te(e)},$t.prototype=Object.create(Ot.prototype),$t.prototype.constructor=$t,$t.prototype.__class__=$t,$t.__cache__={},a.AttributeQuantizationTransform=$t,$t.prototype.InitFromAttribute=$t.prototype.InitFromAttribute=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),!!Ee(r,e)},$t.prototype.quantization_bits=$t.prototype.quantization_bits=function(){var e=this.ptr;return Ne(e)},$t.prototype.min_value=$t.prototype.min_value=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Ge(r,e)},$t.prototype.range=$t.prototype.range=function(){var e=this.ptr;return Re(e)},$t.prototype.__destroy__=$t.prototype.__destroy__=function(){var e=this.ptr;Ve(e)},ei.prototype=Object.create(Ot.prototype),ei.prototype.constructor=ei,ei.prototype.__class__=ei,ei.__cache__={},a.AttributeOctahedronTransform=ei,ei.prototype.InitFromAttribute=ei.prototype.InitFromAttribute=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),!!Me(r,e)},ei.prototype.quantization_bits=ei.prototype.quantization_bits=function(){var e=this.ptr;return Ue(e)},ei.prototype.__destroy__=ei.prototype.__destroy__=function(){var e=this.ptr;Ie(e)},ri.prototype=Object.create(Ot.prototype),ri.prototype.constructor=ri,ri.prototype.__class__=ri,ri.__cache__={},a.PointCloud=ri,ri.prototype.num_attributes=ri.prototype.num_attributes=function(){var e=this.ptr;return Ze(e)},ri.prototype.num_points=ri.prototype.num_points=function(){var e=this.ptr;return We(e)},ri.prototype.__destroy__=ri.prototype.__destroy__=function(){var e=this.ptr;Fe(e)},ti.prototype=Object.create(Ot.prototype),ti.prototype.constructor=ti,ti.prototype.__class__=ti,ti.__cache__={},a.Mesh=ti,ti.prototype.num_faces=ti.prototype.num_faces=function(){var e=this.ptr;return Se(e)},ti.prototype.num_attributes=ti.prototype.num_attributes=function(){var e=this.ptr;return je(e)},ti.prototype.num_points=ti.prototype.num_points=function(){var e=this.ptr;return Oe(e)},ti.prototype.__destroy__=ti.prototype.__destroy__=function(){var e=this.ptr;Ye(e)},ii.prototype=Object.create(Ot.prototype),ii.prototype.constructor=ii,ii.prototype.__class__=ii,ii.__cache__={},a.Metadata=ii,ii.prototype.__destroy__=ii.prototype.__destroy__=function(){var e=this.ptr;Qe(e)},ni.prototype=Object.create(Ot.prototype),ni.prototype.constructor=ni,ni.prototype.__class__=ni,ni.__cache__={},a.Status=ni,ni.prototype.code=ni.prototype.code=function(){var e=this.ptr;return ze(e)},ni.prototype.ok=ni.prototype.ok=function(){var e=this.ptr;return!!Le(e)},ni.prototype.error_msg=ni.prototype.error_msg=function(){var e=this.ptr;return D(Pe(e))},ni.prototype.__destroy__=ni.prototype.__destroy__=function(){var e=this.ptr;Xe(e)},ai.prototype=Object.create(Ot.prototype),ai.prototype.constructor=ai,ai.prototype.__class__=ai,ai.__cache__={},a.DracoFloat32Array=ai,ai.prototype.GetValue=ai.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),qe(r,e)},ai.prototype.size=ai.prototype.size=function(){var e=this.ptr;return Ke(e)},ai.prototype.__destroy__=ai.prototype.__destroy__=function(){var e=this.ptr;$e(e)},oi.prototype=Object.create(Ot.prototype),oi.prototype.constructor=oi,oi.prototype.__class__=oi,oi.__cache__={},a.DracoInt8Array=oi,oi.prototype.GetValue=oi.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),rr(r,e)},oi.prototype.size=oi.prototype.size=function(){var e=this.ptr;return tr(e)},oi.prototype.__destroy__=oi.prototype.__destroy__=function(){var e=this.ptr;ir(e)},fi.prototype=Object.create(Ot.prototype),fi.prototype.constructor=fi,fi.prototype.__class__=fi,fi.__cache__={},a.DracoUInt8Array=fi,fi.prototype.GetValue=fi.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),ar(r,e)},fi.prototype.size=fi.prototype.size=function(){var e=this.ptr;return or(e)},fi.prototype.__destroy__=fi.prototype.__destroy__=function(){var e=this.ptr;fr(e)},si.prototype=Object.create(Ot.prototype),si.prototype.constructor=si,si.prototype.__class__=si,si.__cache__={},a.DracoInt16Array=si,si.prototype.GetValue=si.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),cr(r,e)},si.prototype.size=si.prototype.size=function(){var e=this.ptr;return Ar(e)},si.prototype.__destroy__=si.prototype.__destroy__=function(){var e=this.ptr;br(e)},ci.prototype=Object.create(Ot.prototype),ci.prototype.constructor=ci,ci.prototype.__class__=ci,ci.__cache__={},a.DracoUInt16Array=ci,ci.prototype.GetValue=ci.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),ur(r,e)},ci.prototype.size=ci.prototype.size=function(){var e=this.ptr;return _r(e)},ci.prototype.__destroy__=ci.prototype.__destroy__=function(){var e=this.ptr;pr(e)},Ai.prototype=Object.create(Ot.prototype),Ai.prototype.constructor=Ai,Ai.prototype.__class__=Ai,Ai.__cache__={},a.DracoInt32Array=Ai,Ai.prototype.GetValue=Ai.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),dr(r,e)},Ai.prototype.size=Ai.prototype.size=function(){var e=this.ptr;return mr(e)},Ai.prototype.__destroy__=Ai.prototype.__destroy__=function(){var e=this.ptr;hr(e)},bi.prototype=Object.create(Ot.prototype),bi.prototype.constructor=bi,bi.prototype.__class__=bi,bi.__cache__={},a.DracoUInt32Array=bi,bi.prototype.GetValue=bi.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),vr(r,e)},bi.prototype.size=bi.prototype.size=function(){var e=this.ptr;return gr(e)},bi.prototype.__destroy__=bi.prototype.__destroy__=function(){var e=this.ptr;wr(e)},li.prototype=Object.create(Ot.prototype),li.prototype.constructor=li,li.prototype.__class__=li,li.__cache__={},a.MetadataQuerier=li,li.prototype.HasEntry=li.prototype.HasEntry=function(e,r){var t=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:zt(r),!!Cr(t,e,r)},li.prototype.GetIntEntry=li.prototype.GetIntEntry=function(e,r){var t=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:zt(r),Er(t,e,r)},li.prototype.GetIntEntryArray=li.prototype.GetIntEntryArray=function(e,r,t){var i=this.ptr;Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:zt(r),t&&"object"==typeof t&&(t=t.ptr),Nr(i,e,r,t)},li.prototype.GetDoubleEntry=li.prototype.GetDoubleEntry=function(e,r){var t=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:zt(r),Gr(t,e,r)},li.prototype.GetStringEntry=li.prototype.GetStringEntry=function(e,r){var t=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:zt(r),D(Rr(t,e,r))},li.prototype.NumEntries=li.prototype.NumEntries=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Vr(r,e)},li.prototype.GetEntryName=li.prototype.GetEntryName=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),D(Dr(t,e,r))},li.prototype.__destroy__=li.prototype.__destroy__=function(){var e=this.ptr;Mr(e)},ui.prototype=Object.create(Ot.prototype),ui.prototype.constructor=ui,ui.prototype.__class__=ui,ui.__cache__={},a.Decoder=ui,ui.prototype.DecodeArrayToPointCloud=ui.prototype.DecodeArrayToPointCloud=function(e,r,t){var i=this.ptr;return Qt.prepare(),"object"==typeof e&&(e=Lt(e)),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),Jt(Ir(i,e,r,t),ni)},ui.prototype.DecodeArrayToMesh=ui.prototype.DecodeArrayToMesh=function(e,r,t){var i=this.ptr;return Qt.prepare(),"object"==typeof e&&(e=Lt(e)),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),Jt(Br(i,e,r,t),ni)},ui.prototype.GetAttributeId=ui.prototype.GetAttributeId=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Zr(t,e,r)},ui.prototype.GetAttributeIdByName=ui.prototype.GetAttributeIdByName=function(e,r){var t=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:zt(r),Wr(t,e,r)},ui.prototype.GetAttributeIdByMetadataEntry=ui.prototype.GetAttributeIdByMetadataEntry=function(e,r,t){var i=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:zt(r),t=t&&"object"==typeof t?t.ptr:zt(t),Fr(i,e,r,t)},ui.prototype.GetAttribute=ui.prototype.GetAttribute=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jt(xr(t,e,r),Kt)},ui.prototype.GetAttributeByUniqueId=ui.prototype.GetAttributeByUniqueId=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jt(Sr(t,e,r),Kt)},ui.prototype.GetMetadata=ui.prototype.GetMetadata=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Jt(jr(r,e),ii)},ui.prototype.GetAttributeMetadata=ui.prototype.GetAttributeMetadata=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jt(Or(t,e,r),ii)},ui.prototype.GetFaceFromMesh=ui.prototype.GetFaceFromMesh=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Yr(i,e,r,t)},ui.prototype.GetTriangleStripsFromMesh=ui.prototype.GetTriangleStripsFromMesh=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jr(t,e,r)},ui.prototype.GetTrianglesUInt16Array=ui.prototype.GetTrianglesUInt16Array=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Qr(i,e,r,t)},ui.prototype.GetTrianglesUInt32Array=ui.prototype.GetTrianglesUInt32Array=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!zr(i,e,r,t)},ui.prototype.GetAttributeFloat=ui.prototype.GetAttributeFloat=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Lr(i,e,r,t)},ui.prototype.GetAttributeFloatForAllPoints=ui.prototype.GetAttributeFloatForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Pr(i,e,r,t)},ui.prototype.GetAttributeIntForAllPoints=ui.prototype.GetAttributeIntForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Xr(i,e,r,t)},ui.prototype.GetAttributeInt8ForAllPoints=ui.prototype.GetAttributeInt8ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Hr(i,e,r,t)},ui.prototype.GetAttributeUInt8ForAllPoints=ui.prototype.GetAttributeUInt8ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!qr(i,e,r,t)},ui.prototype.GetAttributeInt16ForAllPoints=ui.prototype.GetAttributeInt16ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Kr(i,e,r,t)},ui.prototype.GetAttributeUInt16ForAllPoints=ui.prototype.GetAttributeUInt16ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!$r(i,e,r,t)},ui.prototype.GetAttributeInt32ForAllPoints=ui.prototype.GetAttributeInt32ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!et(i,e,r,t)},ui.prototype.GetAttributeUInt32ForAllPoints=ui.prototype.GetAttributeUInt32ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!rt(i,e,r,t)},ui.prototype.GetAttributeDataArrayForAllPoints=ui.prototype.GetAttributeDataArrayForAllPoints=function(e,r,t,i,n){var a=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),!!tt(a,e,r,t,i,n)},ui.prototype.SkipAttributeTransform=ui.prototype.SkipAttributeTransform=function(e){var r=this.ptr;e&&"object"==typeof e&&(e=e.ptr),it(r,e)},ui.prototype.GetEncodedGeometryType_Deprecated=ui.prototype.GetEncodedGeometryType_Deprecated=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),nt(r,e)},ui.prototype.DecodeBufferToPointCloud=ui.prototype.DecodeBufferToPointCloud=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jt(at(t,e,r),ni)},ui.prototype.DecodeBufferToMesh=ui.prototype.DecodeBufferToMesh=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jt(ot(t,e,r),ni)},ui.prototype.__destroy__=ui.prototype.__destroy__=function(){var e=this.ptr;ft(e)},function(){function e(){a.ATTRIBUTE_INVALID_TRANSFORM=st(),a.ATTRIBUTE_NO_TRANSFORM=ct(),a.ATTRIBUTE_QUANTIZATION_TRANSFORM=At(),a.ATTRIBUTE_OCTAHEDRON_TRANSFORM=bt(),a.INVALID=lt(),a.POSITION=ut(),a.NORMAL=_t(),a.COLOR=pt(),a.TEX_COORD=kt(),a.GENERIC=dt(),a.INVALID_GEOMETRY_TYPE=mt(),a.POINT_CLOUD=ht(),a.TRIANGULAR_MESH=yt(),a.DT_INVALID=vt(),a.DT_INT8=gt(),a.DT_UINT8=wt(),a.DT_INT16=Tt(),a.DT_UINT16=Ct(),a.DT_INT32=Et(),a.DT_UINT32=Nt(),a.DT_INT64=Gt(),a.DT_UINT64=Rt(),a.DT_FLOAT32=Vt(),a.DT_FLOAT64=Dt(),a.DT_BOOL=Mt(),a.DT_TYPES_COUNT=Ut(),a.OK=It(),a.DRACO_ERROR=Bt(),a.IO_ERROR=Zt(),a.INVALID_PARAMETER=Wt(),a.UNSUPPORTED_VERSION=Ft(),a.UNKNOWN_VERSION=xt()}F?e():x(e)}(),"function"==typeof a.onModuleParsed&&a.onModuleParsed(),a.Decoder.prototype.GetEncodedGeometryType=function(e){if(e.__class__&&e.__class__===a.DecoderBuffer)return a.Decoder.prototype.GetEncodedGeometryType_Deprecated(e);if(e.byteLength<8)return a.INVALID_GEOMETRY_TYPE;switch(e[7]){case 0:return a.POINT_CLOUD;case 1:return a.TRIANGULAR_MESH;default:return a.INVALID_GEOMETRY_TYPE}},e.ready});e.exports=n},501:()=>{}},r={};function t(i){var n=r[i];if(void 0!==n)return n.exports;var a=r[i]={exports:{}};return e[i](a,a.exports,t),a.exports}t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},t.d=(e,r)=>{for(var i in r)t.o(r,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:r[i]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.p="https://apps-cdn.cogniteapp.com/@cognite/reveal-parser-worker/1.3.0/";var i={};return(()=>{"use strict";t.r(i),t.d(i,{AxisViewTool:()=>J,BingMapImageFormat:()=>K,BingMapType:()=>q,Cognite3DViewerToolBase:()=>d,Corner:()=>x,DebugCameraTool:()=>D,DebugLoadedSectorsTool:()=>Te,ExplodedViewTool:()=>V,GeomapTool:()=>fe,HereMapImageFormat:()=>re,HereMapScheme:()=>ee,HereMapType:()=>$,HtmlOverlayTool:()=>G,Keyframe:()=>se,MapProviders:()=>z,MapboxImageFormat:()=>H,MapboxMode:()=>L,MapboxStyle:()=>P,MeasurementTool:()=>De,TimelineTool:()=>ce});const e=require("three");class r{static color(e){const t=r._colors.get(e);if(void 0!==t)return t;const i=r.generateRandomColor();return r._colors.set(e,i),i}static colorRGB(e){const t=r.color(e);return[Math.floor(255*t.r),Math.floor(255*t.g),Math.floor(255*t.b)]}static colorCSS(e){const[t,i,n]=r.colorRGB(e);return`rgb(${t}, ${i}, ${n})`}static generateRandomColor(){const r=Math.random(),t=.4+.6*Math.random(),i=.3+.4*Math.random();return(new e.Color).setHSL(r,t,i)}}r._colors=new Map;class n{constructor(){this._listeners=[]}subscribe(e){this._listeners.push(e)}unsubscribe(e){const r=this._listeners.indexOf(e);-1!==r&&this._listeners.splice(r,1)}unsubscribeAll(){this._listeners.splice(0)}fire(...e){this._listeners.forEach((r=>r(...e)))}}function a(e,r){const t=r.getBoundingClientRect();if(e instanceof MouseEvent)return{offsetX:e.clientX-t.left,offsetY:e.clientY-t.top};if(e.changedTouches.length>0){const r=e.changedTouches[0];return{offsetX:r.clientX-t.left,offsetY:r.clientY-t.top}}return{offsetX:-1,offsetY:-1}}const o=require("lodash/debounce");var f=t.n(o);function s(e,r){throw new Error(r||"Unexpected object: "+e)}class c{constructor(e){this._events={click:new n,hover:new n},this.onHoverCallback=f()((e=>{this._events.hover.fire(a(e,this.domElement))}),100),this.domElement=e,this.setupEventListeners()}on(e,r){switch(e){case"click":this._events.click.subscribe(r);break;case"hover":this._events.hover.subscribe(r);break;default:s(e)}}off(e,r){switch(e){case"click":this._events.click.unsubscribe(r);break;case"hover":this._events.hover.unsubscribe(r);break;default:s(e)}}dispose(){!function(e){for(const r of Object.keys(e))e[r].unsubscribeAll()}(this._events)}setupEventListeners(){const{domElement:r}=this;let t=!1,i=0,n=!1;const o=new e.Vector2,f=e=>{this.handleClickEvent(e,o,t,n,i),t=!1,n=!1,r.removeEventListener("mouseup",f),r.removeEventListener("touchend",f),r.addEventListener("mousemove",this.onHoverCallback)},s=e=>{t=!0,n=!0,i=e.timeStamp;const{offsetX:s,offsetY:c}=a(e,r);o.set(s,c),r.addEventListener("mouseup",f),r.addEventListener("touchend",f),r.removeEventListener("mousemove",this.onHoverCallback)};r.addEventListener("mousedown",s),r.addEventListener("touchstart",s),r.addEventListener("mousemove",this.onHoverCallback)}isProperClick(e,r,t,i,n){const{offsetX:o,offsetY:f}=a(e,this.domElement),s=e.timeStamp-n,A=Math.abs(o-r.x)+Math.abs(f-r.y)>c.maxMoveDistance;return t&&i&&s<c.maxClickDuration&&!A}handleClickEvent(e,r,t,i,n){if(this.isProperClick(e,r,t,i,n)){const r={...a(e,this.domElement),button:e instanceof MouseEvent?e.button:void 0};this._events.click.fire(r)}}}c.maxMoveDistance=8,c.maxClickDuration=250,Math.log(2);const A=require("assert");var b=t.n(A);new e.BufferGeometry,e.Group,new e.Vector3,new e.Box3,e.Object3D,new e.Vector3;class l{constructor(e){this._originalState={},this._renderer=e,this._originalState={}}setScissor(r,t,i,n){const a=this._renderer.getScissor(new e.Vector4);this._originalState={scissorData:a,...this._originalState},this._renderer.setScissor(r,t,i,n)}setScissorTest(e){this._originalState={scissorTest:this._renderer.getScissorTest(),...this._originalState},this._renderer.setScissorTest(e)}setClearColor(r,t){this._originalState={clearColor:this._renderer.getClearColor(new e.Color),clearAlpha:this._renderer.getClearAlpha(),...this._originalState},this._renderer.setClearColor(r,t)}setWebGLState(e,r=l.DefaultWebGLState){var t,i,n,a,o,f,s;if(this._originalState={webGLState:{buffers:(null==e?void 0:e.buffers)?{}:void 0},...this._originalState},null===(t=null==e?void 0:e.buffers)||void 0===t?void 0:t.depth){const t=null===(i=e.buffers.depth)||void 0===i?void 0:i.test,c=null===(n=e.buffers.depth)||void 0===n?void 0:n.mask;this._originalState.webGLState.buffers.depth={test:void 0!==t?null===(o=null===(a=r.buffers)||void 0===a?void 0:a.depth)||void 0===o?void 0:o.test:void 0,mask:void 0!==c?null===(s=null===(f=r.buffers)||void 0===f?void 0:f.depth)||void 0===s?void 0:s.mask:void 0},void 0!==c&&this._renderer.state.buffers.depth.setMask(c),void 0!==t&&this._renderer.state.buffers.depth.setTest(t)}}setSize(r,t){this._originalState={size:this._renderer.getSize(new e.Vector2),...this._originalState},this._renderer.setSize(r,t)}set localClippingEnabled(e){this._originalState={localClippingEnabled:this._renderer.localClippingEnabled,...this._originalState},this._renderer.localClippingEnabled=e}set autoClear(e){this._originalState={autoClear:this._renderer.autoClear,...this._originalState},this._renderer.autoClear=e}set autoClearDepth(e){this._originalState={autoClearDepth:this._renderer.autoClearDepth,...this._originalState},this._renderer.autoClearDepth=e}setRenderTarget(e){this._originalState={renderTarget:this._renderer.getRenderTarget(),...this._originalState},this._renderer.setRenderTarget(e)}resetState(){var e,r,t,i;if(void 0!==this._originalState.autoClear&&(this._renderer.autoClear=this._originalState.autoClear),void 0!==this._originalState.autoClearDepth&&(this._renderer.autoClearDepth=this._originalState.autoClearDepth),void 0!==this._originalState.clearColor&&this._renderer.setClearColor(this._originalState.clearColor,this._originalState.clearAlpha),void 0!==this._originalState.localClippingEnabled&&(this._renderer.localClippingEnabled=this._originalState.localClippingEnabled),void 0!==this._originalState.size&&this._renderer.setSize(this._originalState.size.width,this._originalState.size.height),void 0!==this._originalState.renderTarget&&this._renderer.setRenderTarget(this._originalState.renderTarget),void 0!==this._originalState.scissorData&&this._renderer.setScissor(this._originalState.scissorData),void 0!==this._originalState.scissorTest&&this._renderer.setScissorTest(this._originalState.scissorTest),void 0!==this._originalState.webGLState&&(this._renderer.state.reset(),null===(r=null===(e=this._originalState.webGLState)||void 0===e?void 0:e.buffers)||void 0===r?void 0:r.depth)){const e=null===(t=this._originalState.webGLState.buffers.depth)||void 0===t?void 0:t.test,r=null===(i=this._originalState.webGLState.buffers.depth)||void 0===i?void 0:i.mask;void 0!==r&&this._renderer.state.buffers.depth.setMask(r),void 0!==e&&this._renderer.state.buffers.depth.setTest(e)}this._originalState={}}}l.DefaultWebGLState={buffers:{depth:{mask:!0,test:!0}}},require("comlink");const u=require("loglevel");class _{constructor(e){this._value=e,this._lastAccessTime=Date.now()}get value(){return this.touch(),this._value}get lastAccessTime(){return this._lastAccessTime}touch(){this._lastAccessTime=Date.now()}}class p{constructor(e=50,r,t=10){this._data=new Map,this._maxElementsInCache=e,this._defaultCleanupCount=Math.max(t,1),this._removeCallback=r}has(e){return this._data.has(e)}forceInsert(e,r){this.isFull()&&this.cleanCache(this._defaultCleanupCount),this.insert(e,r)}insert(e,r){if(this._data.size<this._maxElementsInCache)this._data.set(e,new _(r));else if(this._maxElementsInCache>0)throw new Error("Cache full, please clean Cache and retry adding data")}remove(e){if(void 0!==this._removeCallback){const r=this._data.get(e);void 0!==r&&this._removeCallback(r.value)}this._data.delete(e)}get(e){const r=this._data.get(e);if(void 0!==r)return r.value;throw new Error(`Cache element ${e} does not exist`)}isFull(){return this._data.size>=this._maxElementsInCache}cleanCache(e){const r=Array.from(this._data.entries());r.sort(((e,r)=>r[1].lastAccessTime-e[1].lastAccessTime));for(let t=0;t<e;t++){const e=r.pop();if(void 0===e)return;this.remove(e[0])}}resize(e){this._maxElementsInCache=e,this._defaultCleanupCount=Math.max(e*p.CLEANUP_COUNT_TO_CAPACITY_RATIO,1),this.isFull()&&this.cleanCache(this._data.size-this._maxElementsInCache)}clear(){if(void 0!==this._removeCallback)for(const e of this._data.values())this._removeCallback(e.value);this._data.clear()}}p.CLEANUP_COUNT_TO_CAPACITY_RATIO=.2,require("lodash/chunk"),require("lodash/map");const k={renderSize:new e.Vector2,position:new e.Vector3};Symbol.toStringTag,require("lodash/remove");class d{constructor(){this._disposedEvent=new n,this._disposed=!1}on(e,r){"disposed"===e?this._disposedEvent.subscribe(r):s(e)}off(e,r){"disposed"===e?this._disposedEvent.unsubscribe(r):s(e)}dispose(){if(this._disposed)throw new Error("Already disposed");this._disposed=!0,this._disposedEvent.fire(),this._disposedEvent.unsubscribeAll()}ensureNotDisposed(){if(this._disposed)throw new Error("The tool has been disposed")}}const m=require("lodash/range");var h=t.n(m);class y{constructor(e,r){this._removedElements=new Set,this._dimensions=r,this._cells=h()(0,r[0]*r[1]).map((()=>new Array)),this._bounds=e}insert(e,r){if(!this._bounds.intersectsBox(e))throw new Error("Element to be added must be partially inside grid");if(this._removedElements.has(r))throw new Error("Re-adding previously taken elements is currently not supported");for(const t of this.cellsIntersecting(e))t.push({bounds:e,element:r})}*overlappingElements(e){if(!this._bounds.intersectsBox(e))return;const r=new Set;for(const t of this.cellsIntersecting(e))for(const i of t)r.has(i.element)||this._removedElements.has(i.element)||!e.intersectsBox(i.bounds)||(r.add(i.element),yield i.element)}*removeOverlappingElements(e){if(this._bounds.intersectsBox(e))for(const r of this.cellsIntersecting(e))for(let t=0;t<r.length;t++){const i=r[t];!this._removedElements.has(i.element)&&e.intersectsBox(i.bounds)&&(this._removedElements.add(i.element),yield i.element)}}*cellsIntersecting(r){const{min:t,max:i}=this._bounds,n=this._dimensions[0],a=this._dimensions[1],o=(r.min.x-t.x)/(i.x-t.x),f=(r.max.x-t.x)/(i.x-t.x),s=(r.min.y-t.y)/(i.y-t.y),c=(r.max.y-t.y)/(i.y-t.y),A=e.MathUtils.clamp,b=A(Math.floor(n*o),0,n-1),l=A(Math.floor(n*f),0,n-1),u=A(Math.floor(a*s),0,a-1),_=A(Math.floor(a*c),0,a-1);for(let e=u;e<=_;++e)for(let r=b;r<=l;++r)yield this._cells[e*n+r]}}const v=require("mixpanel-browser");var g=t.n(v);const w=require("lodash/throttle");var T=t.n(w);const{VERSION:C,MIXPANEL_TOKEN:E}={VERSION:"3.2.0",WORKER_VERSION:"1.3.0",MIXPANEL_TOKEN:"8c900bdfe458e32b768450c20750853d",IS_DEVELOPMENT_MODE:!1};class N{constructor(e,r,t){g().init(E,{batch_requests:!0,disable_cookie:!0,disable_persistence:!0,ip:!1,property_blacklist:["$city","$region","mp_country_code","$geo_source","$timezone","mp_lib","$lib_version","$device_id","$user_id","$current_url","$screen_width","$screen_height","$referrer","$referring_domain","$initial_referrer","$initial_referring_domain"]}),g().reset(),g().identify("reveal-single-user"),this._sessionProps={VERSION:C,project:"unknown",application:"unknown",sessionId:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const r=16*Math.random()|0;return("x"==e?r:3&r|8).toString(16)}))},e&&(this._sessionProps.project=e),r&&(this._sessionProps.application=r),this.innerTrackEvent("init",t)}static init(e,r,t,i){if(void 0===globalThis.revealMetricsLogger&&e){const e=new N(r,t,i);globalThis.revealMetricsLogger={metricsLogger:e}}}innerTrackEvent(e,r){const t={...this._sessionProps,...r};g().track(e,t)}static trackEvent(e,r){globalThis.revealMetricsLogger&&globalThis.revealMetricsLogger.metricsLogger.innerTrackEvent(e,r)}static trackCreateTool(e){N.trackEvent("toolCreated",{toolName:e})}static trackLoadModel(e,r,t){N.trackEvent("loadModel",{...e,modelIdentifier:r,modelVersion:t})}static trackCadModelStyled(e,r){N.trackEvent("cadModelStyleAssigned",{nodeCollectionClassToken:e,style:r})}static trackCadNodeTransformOverriddenImpl(e,r){const{zeroVector:t,oneVector:i,identityRotation:n,translation:a,scale:o,rotation:f}=N.trackCadNodeTransformOverriddenVars;r.decompose(a,f,o);const s=Math.abs(f.angleTo(n))>1e-5,c=a.distanceToSquared(t)>1e-5,A=o.distanceToSquared(i)>1e-5;N.trackEvent("cadNodeTransformOverridden",{nodeCount:e,hasTranslation:c,hasRotation:s,hasScale:A})}static trackCameraNavigationImpl(e){N.trackEvent("cameraNavigated",e)}static trackError(e,r){u.error(e),void 0!==e?this.trackEvent("error",{message:e.message||e,name:e.name,stack:e.stack,...r}):this.trackEvent("error",{name:"unknown",...r})}}N.TrackCameraNavigationThrottleDelay=5e3,N.TrackCadNodeTransformOverriddenThrottleDelay=1e3,N.trackCadNodeTransformOverriddenVars={zeroVector:new e.Vector3(0,0,0),oneVector:new e.Vector3(1,1,1),identityRotation:(new e.Quaternion).identity(),translation:new e.Vector3,scale:new e.Vector3,rotation:new e.Quaternion},N.trackCadNodeTransformOverridden=T()(((e,r)=>N.trackCadNodeTransformOverriddenImpl(e,r)),N.TrackCadNodeTransformOverriddenThrottleDelay),N.trackCameraNavigation=T()((e=>N.trackCameraNavigationImpl(e)),N.TrackCameraNavigationThrottleDelay);class G extends d{constructor(r,t){super(),this._htmlOverlays=new Map,this._compositeOverlays=[],this._preallocatedVariables={camPos:new e.Vector3,camNormal:new e.Vector3,point:new e.Vector3,nearPlane:new e.Plane,farPlane:new e.Plane,position2D:new e.Vector2},this._onSceneRenderedHandler=this.onSceneRendered.bind(this),this._onViewerDisposedHandler=this.onViewerDisposed.bind(this),this._options=null!=t?t:{},this._viewer=r,this._viewer.on("sceneRendered",this._onSceneRenderedHandler),this._viewer.on("disposed",this._onViewerDisposedHandler),this.scheduleUpdate=f()((()=>this.forceUpdate()),20),this._visible=!0,N.trackCreateTool("HtmlOverlayTool")}get viewerDomElement(){return this._viewer.domElement}get viewerCamera(){return this._viewer.getCamera()}get viewerRenderer(){return this._viewer.renderer}get elements(){return Array.from(this._htmlOverlays.entries()).map((([e,r])=>({element:e,position3D:r.position3D})))}dispose(){this._viewer.off("sceneRendered",this._onSceneRenderedHandler),this._viewer.off("disposed",this._onViewerDisposedHandler),this.clear(),super.dispose()}add(r,t,i={}){if(this.ensureNotDisposed(),this.viewerDomElement.contains(r))throw new Error("Element is already attached to viewer");r.style.visibility="hidden",this.viewerDomElement.appendChild(r);const n=getComputedStyle(r);if("absolute"!==n.position)throw this.viewerDomElement.removeChild(r),new Error(`htmlElement style must have a position of absolute. but was '${n.position}'`);const a={position3D:t,options:i,state:{position2D:new e.Vector2,width:-1,height:-1,visible:!0}};this._htmlOverlays.set(r,a),this.scheduleUpdate()}remove(e){if(this.ensureNotDisposed(),!this.viewerDomElement.contains(e)||!this._htmlOverlays.has(e))throw new Error("Element is not attached to viewer");this.viewerDomElement.removeChild(e),this._htmlOverlays.delete(e)}clear(){const e=Array.from(this._htmlOverlays.keys());for(const r of e)this.remove(r);this.forceUpdate()}visible(e){const r=!0===e?"visible":"hidden";this._visible=e,this._htmlOverlays.forEach(((e,t)=>{t.style.visibility=r})),this._compositeOverlays.forEach((e=>{e.style.visibility=r})),this.forceUpdate()}forceUpdate(){if(!this._visible)return;if(this.ensureNotDisposed(),this.cleanupClusterElements(),0===this._htmlOverlays.size)return;this.updateNewElementSizes();const r=this.viewerCamera,t=this.viewerRenderer,{camPos:i,camNormal:n,point:a,nearPlane:o,farPlane:f,position2D:s}=this._preallocatedVariables;r.getWorldPosition(i),r.getWorldDirection(n),a.copy(i).addScaledVector(n,r.near),o.setFromNormalAndCoplanarPoint(n,a),a.copy(i).addScaledVector(n,r.far),f.setFromNormalAndCoplanarPoint(n,a),this._htmlOverlays.forEach(((n,a)=>{const{position3D:c,options:{positionUpdatedCallback:A,userData:b},state:l}=n,u=o.distanceToPoint(c)>=0&&f.distanceToPoint(c)<=0,{x:_,y:p}=function(r,t,i,n=new e.Vector3){!function(r,t,i=new e.Vector3){const{position:n}=k;n.copy(t),n.project(r);const a=(n.x+1)/2,o=(1-n.y)/2;i.set(a,o,n.z)}(t,i,n);const{renderSize:a}=k;r.getSize(a);const o=r.domElement,{width:f,height:s}=o.getBoundingClientRect();return n.x=Math.round(n.x*f),n.y=Math.round(n.y*s),n}(t,r,c);if(u?(l.position2D.set(_,p),l.visible=!0):l.visible=!1,A){s.set(_,p);const e=i.distanceTo(c);A(a,s,c,e,b)}})),this.clusterElements(),this.commitDOMChanges()}updateNewElementSizes(){this._htmlOverlays.forEach(((e,r)=>{if(-1===e.state.width){const t=r.getBoundingClientRect();e.state.width=t.width,e.state.height=t.height}}))}commitDOMChanges(){const e=this.viewerRenderer.domElement,r=e.offsetLeft,t=e.offsetTop;this._htmlOverlays.forEach(((e,i)=>{const{state:n}=e;i.style.left=`${n.position2D.x+r}px`,i.style.top=`${n.position2D.y+t}px`,n.visible&&"visible"!==i.style.visibility?function(e){e.style.visibility="visible",e.style.opacity="1",e.style.transition="opacity 0.2s linear"}(i):n.visible||"hidden"===i.style.visibility||function(e){e.style.visibility="hidden",e.style.opacity="0",e.style.transition="visibility 0s 0.2s, opacity 0.2s linear"}(i)})),this._compositeOverlays.forEach((e=>{this.viewerDomElement.appendChild(e)}))}clusterElements(){const e=this._options.clusteringOptions;void 0!==e&&("overlapInScreenSpace"===e.mode?this.clusterByOverlapInScreenSpace(e.createClusterElementCallback):s(e.mode,`Unsupported clustering mode: '${e.mode}`))}cleanupClusterElements(){this._compositeOverlays.forEach((e=>{this.viewerDomElement.removeChild(e)})),this._compositeOverlays.splice(0)}clusterByOverlapInScreenSpace(r){const t=(i=this.viewerRenderer.domElement.getBoundingClientRect(),(n=null!=n?n:new e.Box2).min.set(i.left,i.top),n.max.set(i.right,i.bottom),n);var i,n;const a=t.getSize(new e.Vector2);t.set(new e.Vector2(0,0),a);const o=new y(t,[10,10]);for(const[e,r]of this._htmlOverlays.entries()){const{state:i}=r,n=R(r);i.visible&&n.intersectsBox(t)&&o.insert(n,{htmlElement:e,...r})}const f=new e.Box2,s=new e.Vector2;for(const e of this._htmlOverlays.values()){const{state:i}=e;if(R(e,f),!i.visible||!f.intersectsBox(t))continue;const n=Array.from(o.removeOverlappingElements(f));if(n.length>1){const e=n.reduce(((e,r)=>e.add(r.state.position2D)),s.set(0,0)).divideScalar(n.length),t=r(n.map((e=>({htmlElement:e.htmlElement,userData:e.options.userData}))));n.forEach((e=>e.state.visible=!1)),this.addComposite(t,e)}}}addComposite(e,r){const t=this.viewerRenderer.domElement;e.style.visibility="visible",e.style.left=`${r.x+t.offsetLeft}px`,e.style.top=`${r.y+t.offsetTop}px`,this._compositeOverlays.push(e)}onSceneRendered(){this.forceUpdate()}onViewerDisposed(){this.dispose()}}function R(r,t){const{state:i}=r;return(t=null!=t?t:new e.Box2).min.set(i.position2D.x,i.position2D.y),t.max.set(i.position2D.x+i.width,i.position2D.y+i.height),t}class V extends d{constructor(e,r){super(),this._cadModel=r,this._rootTreeIndex=e,this.preloadBoundingBoxData(r,e),N.trackCreateTool("ExplodedViewTool")}get readyPromise(){return this._treeBoundingBoxdata.then()}async expand(e){const r=await this._treeBoundingBoxdata;await Promise.all(r.map((({treeIndex:r,direction:t,transform:i})=>0===e?(this._cadModel.resetNodeTransformByTreeIndex(r),Promise.resolve(0)):(i.setPosition(t.x*e,t.y*e,t.z*e),this._cadModel.setNodeTransformByTreeIndex(r,i)))))}reset(){this._cadModel.resetNodeTransformByTreeIndex(this._rootTreeIndex,!0)}preloadBoundingBoxData(r,t){const i=r.getBoundingBoxByTreeIndex(t).then((r=>r.getCenter(new e.Vector3))),n=r.getSubtreeTreeIndices(t).then((e=>{if(e.count>1e3)throw new Error(`Subtree size of ${e.count} is too large (max size = 1000)`);return e})).then((t=>Promise.all(t.toArray().map((async t=>({subTreeIndex:t,subTreeIndexBoundingBoxCenter:(await r.getBoundingBoxByTreeIndex(t)).getCenter(new e.Vector3)}))))));this._treeBoundingBoxdata=Promise.all([i,n]).then((r=>{const[t,i]=r;return i.map((({subTreeIndex:r,subTreeIndexBoundingBoxCenter:i})=>({treeIndex:r,direction:(new e.Vector3).subVectors(i,t),transform:new e.Matrix4})))})).then((async e=>(await Promise.all(e.map((e=>r.setNodeTransformByTreeIndex(e.treeIndex,e.transform)))),e)))}}class D extends d{constructor(e){super(),this._onViewerDisposedHandler=this.onViewerDisposed.bind(this),this._viewer=e,this._viewer.on("disposed",this._onViewerDisposedHandler)}get viewerCamera(){return this._viewer.getCamera()}dispose(){this._viewer.off("disposed",this._onViewerDisposedHandler),super.dispose()}showCameraHelper(){this.hideCameraHelper(),this._cameraHelper=new e.CameraHelper(this.viewerCamera.clone()),this._viewer.addObject3D(this._cameraHelper)}hideCameraHelper(){void 0!==this._cameraHelper&&(this._viewer.removeObject3D(this._cameraHelper),this._cameraHelper=void 0)}onViewerDisposed(){this.dispose()}}const M=require("lodash/cloneDeep");var U=t.n(M);const I=require("lodash/merge");var B=t.n(I);const Z=require("@tweenjs/tween.js");var W=t.n(Z);const F=require("glslify");var x,S=t.n(F);!function(e){e[e.TopRight=0]="TopRight",e[e.TopLeft=1]="TopLeft",e[e.BottomLeft=2]="BottomLeft",e[e.BottomRight=3]="BottomRight"}(x||(x={}));const j={ringLabel:"N",labelDelta:Math.PI,fontSize:void 0,fontColor:new e.Color(16711680),tickColor:new e.Color(9737364)},O={label:"",fontSize:void 0,fontColor:new e.Color(3355443),outlineSize:void 0,outlineColor:new e.Color(3355443),faceColor:new e.Color(9737364)},Y={size:128,position:{corner:x.BottomRight,padding:new e.Vector2},animationSpeed:200,faces:{xPositiveFace:{...O,label:"Right"},xNegativeFace:{...O,label:"Left"},yPositiveFace:{...O,label:"Up"},yNegativeFace:{...O,label:"Down"},zPositiveFace:{...O,label:"Front"},zNegativeFace:{...O,label:"Back"}},compass:j};class J extends d{constructor(r,t){super(),this._dynamicUpdatePosition=()=>{},this._updateClickDiv=()=>{},this._screenPosition=new e.Vector2,this._boxFaceGeometry=new e.PlaneGeometry(.9,.9,1,1),this._raycaster=new e.Raycaster,this._raycaster.layers.enableAll(),this._viewer=r,this._layoutConfig=B()(U()(Y),t),this._axisGroup=new e.Group,this._axisGroup.name="Axis View Tool",this._axisGroup.renderOrder=1,this._interactiveObjects=this.createAxisCross(this._axisGroup),[this._updateClickDiv,this._disposeClickDiv]=this.createClickDiv(r),this.addAxisBoxToViewer(this._axisGroup,this._layoutConfig.position),N.trackCreateTool("AxisViewTool")}dispose(){super.dispose(),this._viewer.removeObject3D(this._axisGroup),this._disposeClickDiv()}createClickDiv(e){if(null===e.domElement.querySelector("canvas"))throw new Error("Could not find canvas");const r=document.createElement("div");r.style.position="absolute",r.style.height=`${this._layoutConfig.size}px`,r.style.width=`${this._layoutConfig.size}px`,r.style.zIndex="1";let t=0,i=0;return r.addEventListener("mousedown",(r=>{const n=new MouseEvent("mousedown",{clientX:r.clientX,clientY:r.clientY,button:r.button});t=r.clientX,i=r.clientY,e.renderer.domElement.dispatchEvent(n)})),r.addEventListener("mousemove",(r=>{const t=new MouseEvent("mousemove",{clientX:r.clientX,clientY:r.clientY,button:r.button});e.renderer.domElement.dispatchEvent(t)})),r.addEventListener("contextmenu",(e=>e.preventDefault())),r.addEventListener("mouseup",(r=>{const n=new MouseEvent("mouseup",{clientX:r.clientX,clientY:r.clientY,button:r.button}),a=e.domElement.getBoundingClientRect(),o=r.clientX-a.left,f=r.clientY-a.top;Math.abs(t-r.clientX)+Math.abs(i-r.clientY)<=10&&!this.handleClick(o,f,a)&&e.renderer.domElement.dispatchEvent(n)})),e.domElement.appendChild(r),[()=>{r.style.left=`${this._screenPosition.x}px`,r.style.bottom=`${this._screenPosition.y}px`},()=>{e.domElement.removeChild(r)}]}addAxisBoxToViewer(e,r){const t=this._layoutConfig.size;if(function(e){return void 0!==e.xAbsolute&&void 0!==e.yAbsolute}(r))this._screenPosition.x=r.xAbsolute,this._screenPosition.y=r.yAbsolute;else{switch(r.corner){case x.BottomRight:this._screenPosition.y=r.padding.y,this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-r.padding.x-t};break;case x.TopRight:this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-r.padding.x-t,this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-r.padding.y-t};break;case x.TopLeft:this._screenPosition.x=r.padding.x,this._dynamicUpdatePosition=()=>{this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-r.padding.y-t};break;case x.BottomLeft:this._screenPosition.x=r.padding.x,this._screenPosition.y=r.padding.y;break;default:throw new Error(`Unknown corner position for Axis Cross: Corner = ${r.corner}`)}this._dynamicUpdatePosition()}this._viewer.addObject3D(e)}handleClick(r,t,i){const n=2*(r-this._screenPosition.x)/this._layoutConfig.size-1,a=2*(i.height-t-this._screenPosition.y)/this._layoutConfig.size-1,o=new e.Vector3(n,a,1),f=new e.Vector3(0,0,-1).normalize();this._raycaster.set(o,f);const s=this._raycaster.intersectObjects(this._interactiveObjects);if(!(s.length>0))return!1;const c=s[0].object.position.clone().normalize(),A=s[0].object.userData.upVector.clone();return this.moveCameraTo(c,A),!0}createAxisCross(e){const r=this.createCompass();e.add(r);const t=this.createBoxFaces();return e.add(...t),this.setupTransformOnRender(e),t}setupTransformOnRender(r){r.children[0].onBeforeRender=t=>{this._dynamicUpdatePosition(),r.quaternion.copy(this._viewer.getCamera().quaternion).invert(),r.updateMatrixWorld(),this._updateClickDiv();const i=t.domElement.clientWidth,n=t.domElement.clientHeight,a=new e.Vector2;t.getSize(a);const o=this._layoutConfig.size,f=new e.Vector2(o/i,o/n),s=new e.Vector2(this._screenPosition.x/i*2+o/i,this._screenPosition.y/n*2+o/n);r.traverse((r=>{r instanceof e.Mesh&&(r.material.uniforms.offset.value=s,r.material.uniforms.scale.value=f,r.material.uniformsNeedUpdate=!0)}))}}createBoxFaces(){const r=this._layoutConfig.faces;return[this.createBoxFace(new e.Vector3(1,0,0),r.xPositiveFace),this.createBoxFace(new e.Vector3(-1,0,0),r.xNegativeFace),this.createBoxFace(new e.Vector3(0,1,0),r.yPositiveFace,new e.Vector3(0,0,-1)),this.createBoxFace(new e.Vector3(0,-1,0),r.yNegativeFace,new e.Vector3(0,0,1)),this.createBoxFace(new e.Vector3(0,0,1),r.zPositiveFace),this.createBoxFace(new e.Vector3(0,0,-1),r.zNegativeFace)]}createCompass(){const r=new e.PlaneGeometry(2,2,1,1),i=new e.Mesh(r,new e.RawShaderMaterial({vertexShader:S()(t(479).Z),fragmentShader:S()(t(430).Z),uniforms:{offset:{value:new e.Vector2},scale:{value:new e.Vector2},tex:{value:this.createCompassTexture()}},side:e.DoubleSide,glslVersion:e.GLSL3,depthTest:!1,blending:e.CustomBlending,blendDst:e.OneMinusSrcAlphaFactor,blendSrc:e.SrcAlphaFactor}));i.frustumCulled=!1,i.renderOrder=1;const n=Math.sin(this._layoutConfig.compass.labelDelta),a=Math.cos(this._layoutConfig.compass.labelDelta);return i.position.y=-.45,i.up.copy(new e.Vector3(n,0,a)),i.lookAt(0,0,0),i}createCompassTexture(){var r;const t=this._layoutConfig.compass,i=this._layoutConfig.size,n=document.createElement("canvas");n.width=i,n.height=i;const a=n.getContext("2d"),o=i/2,f=o-o/4,s=i/32,c=i/8;if(a.strokeStyle=t.tickColor.getStyle(),a.lineWidth=i/16,a.setLineDash([s,c]),a.beginPath(),a.arc(o,o,f,0,2*Math.PI),a.stroke(),t.ringLabel&&t.ringLabel.length>0){const e=null!==(r=t.fontSize)&&void 0!==r?r:i/5;a.font=`bold ${e}px Arial`,a.textAlign="center",a.fillStyle=t.fontColor.getStyle(),a.fillText(t.ringLabel,o,o*(1/4)+e/3)}return new e.CanvasTexture(n)}getFaceTexture(r,t){var i,n;const a=t/2,o=document.createElement("canvas");o.width=a,o.height=a;const f=o.getContext("2d");f.fillStyle=r.outlineColor.getStyle(),f.fillRect(0,0,a,a),f.fillStyle=r.faceColor.getStyle();const s=null!==(i=r.outlineSize)&&void 0!==i?i:a/32;if(f.fillRect(s,s,a-2*s,a-2*s),f.fill(),""!==r.label){const e=null!==(n=r.fontSize)&&void 0!==n?n:a/3;f.font=`bold ${e}px Arial`,f.textAlign="center",f.fillStyle=r.fontColor.getStyle(),f.fillText(r.label,a/2,a/2+e/3)}return new e.CanvasTexture(o)}createBoxFace(r,i,n=new e.Vector3(0,1,0)){const a=new e.Mesh(this._boxFaceGeometry,new e.RawShaderMaterial({vertexShader:S()(t(479).Z),fragmentShader:S()(t(430).Z),uniforms:{offset:{value:new e.Vector2},scale:{value:new e.Vector2},tex:{value:this.getFaceTexture(i,this._layoutConfig.size)}},depthTest:!1,glslVersion:e.GLSL3,transparent:!0}));return a.frustumCulled=!1,a.renderOrder=1e3,a.position.copy(r.multiplyScalar(.5*this._boxFaceGeometry.parameters.width)),a.lookAt(r.multiplyScalar(2)),a.userData.upVector=n,a}moveCameraTo(r,t){const i=this._viewer.cameraManager,{position:n,target:a,rotation:o}=i.getCameraState(),f=n.clone().sub(a),s=f.length(),c=f.clone().normalize(),A=Math.acos(c.dot(r)),b={t:0},l=new(W().Tween)(b),u=r.clone(),_=o.clone(),p=(new e.Quaternion).setFromRotationMatrix((new e.Matrix4).makeBasis(t.clone().cross(u),t,u));if(_.angleTo(p)<1e-6)return;const k=new e.Vector3,d=new e.Quaternion;l.to({t:1},this._layoutConfig.animationSpeed).onUpdate((()=>{k.copy(c).multiplyScalar(Math.sin((1-b.t)*A)/Math.sin(A)).add(r.clone().multiplyScalar(Math.sin(b.t*A)/Math.sin(A))),k.multiplyScalar(s),k.add(a),d.slerpQuaternions(_,p,b.t),i.setCameraState({position:k,rotation:d})})).onComplete((()=>{i.setCameraState({position:k,target:a})})).start(W().now()).update(W().now())}}const Q=require("geo-three");var z,L,P,X,H,q,K,$,ee,re,te,ie,ne,ae;!function(e){e.BingMap="BingMap",e.HereMap="HereMap",e.MapboxMap="MapboxMap",e.OpenStreetMap="OpenStreetMap"}(z||(z={})),function(e){e[e.Style=100]="Style",e[e.Map_Id=101]="Map_Id"}(L||(L={})),function(e){e.Streets="mapbox/streets-v10",e.Outdoor="mapbox/outdoors-v10",e.Light="mapbox/light-v9",e.Dark="mapbox/dark-v9",e.Satellite="mapbox/satellite-v9",e.Satellite_Streets="mapbox/satellite-streets-v10",e.Navigation_Day="mapbox/navigation-preview-day-v4",e.Navigation_Night="mapbox/navigation-preview-night-v4",e.Navigation_Guide_Day="mapbox/navigation-guidance-day-v4",e.Navigation_Guide_Night="mapbox/navigation-guidance-night-v4"}(P||(P={})),function(e){e.Streets="mapbox.mapbox-streets-v7",e.Satellite="mapbox.satellite",e.Terrain="mapbox.mapbox-terrain-v2",e.Traffic="mapbox.mapbox-traffic-v1",e.TerrainRGB="mapbox.terrain-rgb"}(X||(X={})),function(e){e.PNG="png",e.PNG32="png32",e.PNG64="png64",e.PNG128="png128",e.PNG256="png256",e.JPG70="jpg70",e.JPG80="jpg80",e.JPG90="jpg90",e.PNGRAW="pngraw"}(H||(H={})),function(e){e.Aerial="a",e.Road="r",e.Aerial_Labels="h",e.Oblique="o",e.Oblique_Labels="b"}(q||(q={})),function(e){e.GIF="gif",e.JPEG="jpeg",e.PNG="png"}(K||(K={})),function(e){e.Aerial="aerial",e.Base="base",e.Pano="pano",e.Traffic="traffic"}($||($={})),function(e){e.Day="normal.day",e.Night="normal.night",e.Terrain="terrain.day",e.Satellite="satellite.day"}(ee||(ee={})),function(e){e.PNG="png",e.PNG8="png8",e.JPG="jpg"}(re||(re={}));class oe{constructor(e,r){this._intervalId=0,this._onCameraChange=this.handleCameraChange.bind(this),this._viewer=e;const t=this.getMapProvider(r);this._map=new Q.GEOTHREE.MapView(Q.GEOTHREE.MapView.PLANAR,t,t),this._viewer.addObject3D(this._map);const i=Q.GEOTHREE.UnitsUtils.datumsToSpherical(r.latlong.latitude,r.latlong.longitude),n=this._viewer.models[0].getModelBoundingBox();this._map.position.set(-i.x,n.min.y,i.y),this._map.updateMatrixWorld(!0),this.requestRedraw(1e4),this._viewer.on("cameraChange",this._onCameraChange)}requestRedraw(e){0==this._intervalId&&(this._intervalId=setInterval((()=>{this._viewer.requestRedraw()}),100),setTimeout((()=>{clearInterval(this._intervalId),this._intervalId=0}),e))}getMapProvider(e){let r;switch(e.provider){case z.BingMap:r=new Q.GEOTHREE.BingMapsProvider(e.APIKey,e.type);break;case z.HereMap:r=new Q.GEOTHREE.HereMapsProvider(e.APIKey,e.appCode,e.style,e.scheme,e.imageFormat,e.size);break;case z.MapboxMap:r=new Q.GEOTHREE.MapBoxProvider(e.APIKey,e.id,e.mode,e.tileFormat);break;case z.OpenStreetMap:r=new Q.GEOTHREE.OpenStreetMapsProvider;break;default:throw new Error("Unsupported map provider")}return r}latLongToWorldCoordinates(e){return Q.GEOTHREE.UnitsUtils.datumsToSpherical(e.latitude,e.longitude)}handleCameraChange(){this.requestRedraw(1e3)}dispose(){this._viewer.removeObject3D(this._map),this._viewer.off("cameraChange",this._onCameraChange)}}class fe extends d{constructor(e,r){super(),this._viewer=e,this._maps=new oe(this._viewer,r),N.trackCreateTool("GeomapTool")}latLongToWorldCoordinates(e){return this._maps.latLongToWorldCoordinates(e)}dispose(){super.dispose(),this._maps.dispose()}}class se{constructor(e,r){this._nodeCollectionAndAppearance=[],this._model=e,this._date=r}getKeyframeDate(){return this._date}activate(){this._nodeCollectionAndAppearance.forEach(((e,r)=>{this._model.assignStyledNodeCollection(e.nodes,e.nodeAppearance)}))}deactivate(){this._nodeCollectionAndAppearance.forEach(((e,r)=>{this._model.unassignStyledNodeCollection(e.nodes)}))}assignStyledNodeCollection(e,r){N.trackCadModelStyled(e.classToken,r);const t=this._nodeCollectionAndAppearance.findIndex((r=>r.nodes===e));-1!==t?this._nodeCollectionAndAppearance[t].nodeAppearance=r:this._nodeCollectionAndAppearance.push({nodes:e,nodeAppearance:r})}unassignStyledNodeCollection(e){const r=this._nodeCollectionAndAppearance.findIndex((r=>r.nodes===e));if(-1===r)throw new Error("Node collection has not been assigned to model");this._nodeCollectionAndAppearance.splice(r,1)}}class ce extends d{constructor(e){super(),this._playback=void 0,this._events={dateChanged:new n},this._model=e,this._keyframes=new Array}subscribe(e,r){"dateChanged"===e?this._events.dateChanged.subscribe(r):s(e,`Unsupported event: '${e}'`)}unsubscribe(e,r){"dateChanged"===e?this._events.dateChanged.unsubscribe(r):s(e,`Unsupported event: '${e}'`)}createKeyframe(e){const r=new se(this._model,e);return this._keyframes.push(r),this.sortKeyframesByDates(),r}getKeyframeByDate(e){return this._keyframes.find((r=>r.getKeyframeDate()===e))}removeKeyframe(e){const r=this._keyframes.findIndex((r=>r===e));r>-1&&this._keyframes.splice(r,1)}removeKeyframeByDate(e){const r=this._keyframes.findIndex((r=>r.getKeyframeDate()===e));r>-1&&this._keyframes.splice(r,1)}play(e,r,t){this.stop();const i={dateInMs:e.getTime()},n={dateInMs:r.getTime()},a=new(W().Tween)(i).to(n,t);let o=-1;a.onUpdate((()=>{const t=new Date(i.dateInMs),n=o;for(;o<this._keyframes.length-1&&this._keyframes[o+1].getKeyframeDate().getTime()<=t.getTime();)o++;o!==n&&(-1!==n&&this._keyframes[n].deactivate(),this._keyframes[o].activate()),this._events.dateChanged.fire({date:t,activeKeyframe:this._keyframes[o],startDate:e,endDate:r})})),this._playback=a,a.start()}stop(){void 0!==this._playback&&(this._playback.stop(),this._playback=void 0)}pause(){void 0!==this._playback&&this._playback.isPlaying()&&this._playback.pause()}resume(){void 0!==this._playback&&this._playback.isPaused()&&this._playback.resume()}getAllKeyframes(){return this._keyframes.slice()}dispose(){super.dispose(),this._events.dateChanged.unsubscribeAll()}sortKeyframesByDates(){this._keyframes.length>1&&this._keyframes.sort(((e,r)=>e.getKeyframeDate().getTime()-r.getKeyframeDate().getTime()))}}require("skmeans"),new Map([["meters",1],["meter",1],["m",1],["centimeters",.01],["centimeter",.01],["cm",.01],["millimeters",.001],["millimeter",.001],["mm",.001],["micrometers",1e-6],["micrometer",1e-6],["kilometers",1e3],["kilometer",1e3],["km",1e3],["feet",.3048],["ft",.3048],["inches",.0254],["inch",.0254],["yards",.9144],["yard",.9144],["miles",1609.34],["miles",1609.34],["mile",1609.34],["mils",254e-7],["mil",254e-7],["microinches",2.54e-8],["microinch",2.54e-8]]),(ie=te||(te={})).EptPointCloud="ept-pointcloud",ie.RevealCadModel="reveal-directory",ie.GltfCadModel="gltf-directory",ie.AnyFormat="all-outputs",(new e.Matrix4).set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1),require("@cognite/sdk-core"),new e.Vector3,(ae=ne||(ne={}))[ae.Discarded=0]="Discarded",ae[ae.Simple=1]="Simple",ae[ae.Detailed=2]="Detailed",e.Group,new e.Vector3,new e.Vector3,new e.Sphere,new e.Box3,new e.Vector3,new e.Vector3,new e.Vector3,new e.Vector3,new e.Matrix4,new e.Vector3,new e.Vector3,new e.Vector3,new e.Matrix4,new e.Box3,new e.Box3;const{boxGeometry:Ae,boxGeometryBoundingBox:be}=(()=>{const r=function(){const r=function(){const e=[1,3,2,6,4,5],r=[];for(let t=0;t<e.length;t++){const i=(t+1)%e.length;r.push(0),r.push(e[t]),r.push(e[i]),r.push(7),r.push(e[i]),r.push(e[t])}return r}(),t=new Float32Array([-.5,-.5,-.5,-.5,-.5,.5,-.5,.5,-.5,-.5,.5,.5,.5,-.5,-.5,.5,-.5,.5,.5,.5,-.5,.5,.5,.5]),i=new e.BufferAttribute(t,3,!1),n=new e.BufferGeometry;return n.setIndex(r),n.setAttribute("position",i),n}();try{const e={index:r.getIndex(),position:r.getAttribute("position")};return r.computeBoundingBox(),{boxGeometry:e,boxGeometryBoundingBox:r.boundingBox}}finally{r.dispose()}})(),{quadGeometry:le,quadGeometryBoundingBox:ue}=(()=>{const r=new e.PlaneBufferGeometry(1,1,1,1);try{const e={index:r.getIndex(),position:r.getAttribute("position"),normal:r.getAttribute("normal")};return r.computeBoundingBox(),{quadGeometry:e,quadGeometryBoundingBox:r.boundingBox}}finally{r.dispose()}})(),{trapeziumGeometry:_e,trapeziumGeometryBoundingBox:pe}=(()=>{const r=[0,0,0,1,1,1,2,2,2,3,3,3];return{trapeziumGeometry:{index:new e.BufferAttribute(new Uint16Array([0,1,3,0,3,2]),1),position:new e.BufferAttribute(new Float32Array(r),3)},trapeziumGeometryBoundingBox:(new e.Box3).setFromArray(r)}})(),{coneGeometry:ke,coneGeometryBoundingBox:de}=(()=>{const r=[];r.push(-1,1,-1),r.push(-1,-1,-1),r.push(1,1,-1),r.push(1,-1,-1),r.push(1,1,1),r.push(1,-1,1);const t=new Uint16Array([1,2,0,1,3,2,3,4,2,3,5,4]);return{coneGeometry:{index:new e.BufferAttribute(t,1),position:new e.BufferAttribute(new Float32Array(r),3)},coneGeometryBoundingBox:(new e.Box3).setFromArray(r)}})(),{torusLodGeometries:me}=(()=>{const r=(e,r)=>[e,2*r*Math.PI],t=[{tubularSegments:9,radialSegments:18},{tubularSegments:5,radialSegments:12},{tubularSegments:4,radialSegments:5}].map((({tubularSegments:t,radialSegments:i})=>function(r,t,i=((e,r)=>[e,r,0])){const n=[],a=[],o=1/r,f=1/t;for(let e=0;e<=t;e++)for(let t=0;t<=r;t++){const[r,a,s]=i(t*o,e*f);n.push(r||0,a||0,s||0)}for(let e=1;e<=t;e++)for(let t=1;t<=r;t++){const i=(r+1)*e+t-1,n=(r+1)*(e-1)+t-1,o=(r+1)*(e-1)+t,f=(r+1)*e+t;a.push(i,n,f),a.push(n,o,f)}return{index:new e.Uint16BufferAttribute(a,1),position:new e.Float32BufferAttribute(n,3)}}(i,t,r)));return{torusLodGeometries:t}})(),{nutGeometry:he,nutGeometryBoundingBox:ye}=(()=>{const r=new e.CylinderBufferGeometry(.5,.5,1,6);try{r.applyMatrix4((new e.Matrix4).makeRotationX(-Math.PI/2));const t={index:r.getIndex(),position:r.getAttribute("position"),normal:r.getAttribute("normal")};return{nutGeometry:t,nutGeometryBoundingBox:(new e.Box3).setFromArray(t.position.array)}}finally{r.dispose()}})();var ve,ge;(ge=ve||(ve={}))[ge.BoxCollection=0]="BoxCollection",ge[ge.CircleCollection=1]="CircleCollection",ge[ge.ConeCollection=2]="ConeCollection",ge[ge.EccentricConeCollection=3]="EccentricConeCollection",ge[ge.EllipsoidSegmentCollection=4]="EllipsoidSegmentCollection",ge[ge.GeneralCylinderCollection=5]="GeneralCylinderCollection",ge[ge.GeneralRingCollection=6]="GeneralRingCollection",ge[ge.QuadCollection=7]="QuadCollection",ge[ge.TorusSegmentCollection=8]="TorusSegmentCollection",ge[ge.TrapeziumCollection=9]="TrapeziumCollection",ge[ge.NutCollection=10]="NutCollection",ge[ge.TriangleMesh=11]="TriangleMesh",ge[ge.InstanceMesh=12]="InstanceMesh";class we{constructor(){this._textDecoder=new TextDecoder}parseGlbMetadata(e){this.verifyGlbHeaders(e);const{length:r,json:t}=this.parseJson(e),{length:i,byteOffsetToBinContent:n}=this.parseBinHeaders(e,we.CHUNK_HEADER_BYTE_SIZE+r);return{json:t,byteOffsetToBinContent:n,binContentLength:i}}verifyGlbHeaders(e){const r=new DataView(e,0,we.GLB_HEADER_BYTE_SIZE),t=this._textDecoder.decode(new Uint8Array(e,0,4)),i=r.getUint32(4,!0);b()("glTF"===t,"Unknown file format"),b()(2===i,`Unsupported glTF version{${i}}`)}parseJson(e){const r=new DataView(e,we.GLB_HEADER_BYTE_SIZE,we.CHUNK_HEADER_BYTE_SIZE).getUint32(0,!0),t=this._textDecoder.decode(new Uint8Array(e,we.GLB_HEADER_BYTE_SIZE+4,4));b()("JSON"===t);const i=new Uint8Array(e,we.GLB_HEADER_BYTE_SIZE+we.CHUNK_HEADER_BYTE_SIZE,r),n=JSON.parse(this._textDecoder.decode(i));return b()(void 0!==n,"Failed to assign types to gltf json"),{type:t,length:r,json:n}}parseBinHeaders(e,r){const t=new DataView(e,we.GLB_HEADER_BYTE_SIZE+r,we.CHUNK_HEADER_BYTE_SIZE).getUint32(0,!0),i=this._textDecoder.decode(new Uint8Array(e,we.GLB_HEADER_BYTE_SIZE+r+4,4));return b()(i.includes("BIN")),{type:i,byteOffsetToBinContent:we.GLB_HEADER_BYTE_SIZE+r+we.CHUNK_HEADER_BYTE_SIZE,length:t}}}we.GLB_HEADER_BYTE_SIZE=12,we.CHUNK_HEADER_BYTE_SIZE=8,new Map([["SCALAR",1],["VEC2",2],["VEC3",3],["VEC4",4],["MAT2",4],["MAT3",9],["MAT4",16]]),new Map([[5120,Int8Array],[5121,Uint8Array],[5122,Int16Array],[5123,Uint16Array],[5125,Uint32Array],[5126,Float32Array]]),t(812),new Map([[1,Uint8Array],[4,Float32Array]]);new e.Box3(new e.Vector3(-.5,-.5,-1e-4),new e.Vector3(.5,.5,1e-4)),new e.Box3(new e.Vector3(-.5,-.5,-.5),new e.Vector3(.5,.5,.5)),new e.Box3,new e.Vector3,new e.Vector3,new e.Box3;class Te extends d{constructor(r,t={}){super(),this._boundingBoxes=new e.Group,this._viewer=r,this._viewer.addObject3D(this._boundingBoxes),this._options={},this.setOptions(t)}setOptions(e){this._options={showDetailedSectors:!0,showDiscardedSectors:!1,showSimpleSectors:!0,colorBy:"lod",leafsOnly:!1,sectorPathFilterRegex:".*",...e}}dispose(){this._viewer.removeObject3D(this._boundingBoxes)}showSectorBoundingBoxes(e){this._model=e,this.updateBoundingBoxes()}updateBoundingBoxes(){if(this._boundingBoxes.clear(),void 0===this._model)return;this._model.getModelTransformation(this._boundingBoxes.matrix);const e=[];e[ne.Discarded]=this._options.showDiscardedSectors,e[ne.Simple]=this._options.showSimpleSectors,e[ne.Detailed]=this._options.showDetailedSectors;const r=[];this._model.cadNode.traverse((t=>{if(Ee(t)){const i=t;this.isSectorAcceptedByCurrentFilter(i)&&e[i.levelOfDetail]&&(!this._options.leafsOnly||function(e){return!e.children.some((e=>Ee(e)))}(i))&&r.push(i)}})),r.forEach((e=>{const t=this.createBboxNodeFor(e,r);this._boundingBoxes.add(t)})),this._boundingBoxes.updateMatrixWorld(!0),this._viewer.requestRedraw()}isSectorAcceptedByCurrentFilter(e){return new RegExp(this._options.sectorPathFilterRegex).test(e.sectorPath)}createBboxNodeFor(r,t){const i=this._options,n=this._model.cadNode.sectorScene,a=function(){switch(i.colorBy){case"depth":{const t=Math.min(1,r.depth/8);return new e.Color(Ce.green).lerpHSL(Ce.red,t)}case"lod":switch(r.levelOfDetail){case ne.Simple:return Ce.yellow;case ne.Detailed:return Ce.green;case ne.Discarded:return Ce.red;default:s(r.levelOfDetail)}case"random":return(new e.Color).setHSL(Math.random(),1,.5);case"loadedTimestamp":{const i=[...t].sort(((e,r)=>e.updatedTimestamp-r.updatedTimestamp)),n=i.findIndex((e=>e===r)),a=(i.length-1-n)/Math.max(i.length-1,1);return new e.Color(Ce.green).lerpHSL(Ce.red,a)}case"drawcalls":{const[i,a]=t.reduce((([e,r],t)=>{const i=n.getSectorById(t.sectorId);return[Math.min(e,i.estimatedDrawCallCount),Math.max(r,i.estimatedDrawCallCount)]}),[1/0,-1/0]),o=(n.getSectorById(r.sectorId).estimatedDrawCallCount-i)/(a-i);return new e.Color(Ce.green).lerpHSL(Ce.red,o)}default:s(i.colorBy)}}();return new e.Box3Helper(r.bounds,a)}}const Ce={green:new e.Color("#00ff00"),yellow:new e.Color("yellow"),red:new e.Color("red")};function Ee(e){return e.name.match(/^Sector \d+$/)}class Ne{constructor(){Ne.ensureStylesLoaded()}createLabel(e){const r=document.createElement("div");return r.innerText=e,r.className=Ne.stylesId,r}static ensureStylesLoaded(){if(document.getElementById(Ne.stylesId))return;const e=document.createElement("style");e.id=Ne.stylesId,e.appendChild(document.createTextNode(".reveal-measurement-label {\n\tposition: absolute;\n\n /* Anchor to the center of the element and ignore events */\n transform: translate(-50%, -50%);\n pointer-events: none;\n touch-action: none;\n user-select: none;\n border-radius: 6px;\n\n /* Make it look nice */\n padding: 6px;\n color: #fff;\n background: #232323da;\n border: #ffffff22 solid 1px;\n overflow: hidden;\n white-space: nowrap;\n\n /*Font - fallback to generic font if Inter not available*/\n font-family: 'Inter', sans-serif;\n font-style: normal;\n font-weight: 500;\n}\n")),document.head.appendChild(e)}}Ne.stylesId="reveal-measurement-label";const Ge=require("three-stdlib");class Re{constructor(r,t,i){this._position=new Float32Array(6),this._geometry=new Ge.LineGeometry,this._adaptiveWidthLineMaterial=new Ge.LineMaterial({color:t.getHex(),linewidth:r,worldUnits:!0,depthTest:!1}),this._fixedWidthLineMaterial=new Ge.LineMaterial({color:t.getHex(),linewidth:2,worldUnits:!1,depthTest:!1}),this._meshes=new e.Group,this._meshes.name="Measurement";const n=new e.Mesh(new e.BufferGeometry);n.name="onBeforeRenderTrigger trigger (no geometry)",n.frustumCulled=!1;const a=new e.Vector2;n.onBeforeRender=e=>{const{width:r,height:t}=e.domElement.getBoundingClientRect();a.set(r,t),this._adaptiveWidthLineMaterial.resolution=this._fixedWidthLineMaterial.resolution=a},this._meshes.add(n),this.startLine(i)}dispose(){this._geometry&&this._geometry.dispose(),this._adaptiveWidthLineMaterial.dispose(),this._fixedWidthLineMaterial.dispose(),this._meshes.clear(),this._meshes.removeFromParent()}get meshes(){return this._meshes}updateLine(e){this._position[3]=e.x,this._position[4]=e.y,this._position[5]=e.z,this._geometry.setPositions(this._position)}getMeasuredDistance(){const r=new e.Vector3(this._position[0],this._position[1],this._position[2]);return new e.Vector3(this._position[3],this._position[4],this._position[5]).distanceTo(r)}getMidPointOnLine(){const r=new e.Vector3(this._position[0],this._position[1],this._position[2]);let t=new e.Vector3(this._position[3],this._position[4],this._position[5]).clone().sub(r);const i=t.length();return t=t.normalize().multiplyScalar(.5*i),r.clone().add(t)}updateLineWidth(e){this._adaptiveWidthLineMaterial.linewidth=e}updateLineColor(e){this._fixedWidthLineMaterial.color=this._adaptiveWidthLineMaterial.color=e}startLine(e){this._position[0]=this._position[3]=e.x,this._position[1]=this._position[4]=e.y,this._position[2]=this._position[5]=e.z,this._geometry.setPositions(this._position);const r=new Ge.Line2(this._geometry,this._adaptiveWidthLineMaterial);r.computeLineDistances(),r.renderOrder=100;const t=new Ge.Line2(this._geometry,this._fixedWidthLineMaterial);t.computeLineDistances(),t.renderOrder=100,this._meshes.add(r),this._meshes.add(t)}}class Ve{constructor(r,t,i,n,a,o){this._measurement={measurementId:0,startPoint:new e.Vector3,endPoint:new e.Vector3,distanceInMeters:0},this._options=n,this._measurementLabel=new Ne,this._htmlOverlay=a,this._domElement=r,this._camera=t,this._meshGroup=i,this._startPoint=o,this._distanceToCamera=this._camera.getWorldPosition(new e.Vector3).distanceTo(o),this._line=this.startMeasurement(o),this._meshGroup.add(this._line.meshes)}update(e){const{offsetX:r,offsetY:t}=e;this._line.updateLine(this.pointerTo3DPosition(r,t))}endMeasurement(e){const{distanceToLabelCallback:r}=this._options;this._line.updateLine(e);const t=r(this._line.getMeasuredDistance());this._labelElement=this.addLabel(this._line.getMidPointOnLine(),t),this._measurement={measurementId:Date.now(),startPoint:this._startPoint,endPoint:e,distanceInMeters:this._line.getMeasuredDistance()}}removeMeasurement(){this._meshGroup.remove(this._line.meshes),this._labelElement&&this._htmlOverlay.remove(this._labelElement),this._line&&this._line.dispose()}getMeasurement(){return this._measurement}updateLineWidth(e){this._line.updateLineWidth(e)}updateLineColor(e){this._line.updateLineColor(e)}startMeasurement(e){return new Re(this._options.lineWidth,this._options.color,e)}addLabel(e,r){const t=this._measurementLabel.createLabel(r);return this._htmlOverlay.add(t,e),t}pointerTo3DPosition(r,t){const i=new e.Vector3,n=new e.Vector2;n.x=r/this._domElement.clientWidth*2-1,n.y=-t/this._domElement.clientHeight*2+1;const a=new e.Vector3,o=new e.Ray,f=new e.Vector3;return f.setFromMatrixPosition(this._camera.matrixWorld),o.origin.copy(f),a.set(n.x,n.y,.5).unproject(this._camera).sub(o.origin).normalize(),o.direction.copy(a),o.at(this._distanceToCamera,i),i}}class De extends d{constructor(r,t){super(),this._geometryGroup=new e.Group,this._handleLabelClustering=this.createCombineClusterElement.bind(this),this._handlePointerClick=this.onPointerClick.bind(this),this._handlePointerMove=this.onPointerMove.bind(this),this._handleMeasurementCancel=this.onKeyDown.bind(this),this._events={measurementAdded:new n,measurementStarted:new n,measurementEnded:new n,disposed:new n},this._overlayOptions={clusteringOptions:{mode:"overlapInScreenSpace",createClusterElementCallback:this._handleLabelClustering}},this._viewer=r,this._options={...De.defaultLineOptions,...t},this._measurements=[],this._measurementMode=!1,this._htmlOverlay=new G(this._viewer,this._overlayOptions),this._geometryGroup.name=De.name,this._viewer.addObject3D(this._geometryGroup)}get isInMeasurementMode(){return this._measurementMode}on(e,r){switch(e){case"added":this._events.measurementAdded.subscribe(r);break;case"started":this._events.measurementStarted.subscribe(r);break;case"ended":this._events.measurementEnded.subscribe(r);break;case"disposed":this._events.disposed.subscribe(r);break;default:s(e,`Unsupported event: '${e}'`)}}off(e,r){switch(e){case"added":this._events.measurementAdded.unsubscribe(r);break;case"started":this._events.measurementStarted.unsubscribe(r);break;case"ended":this._events.measurementEnded.unsubscribe(r);break;case"disposed":this._events.disposed.unsubscribe(r);break;default:s(e,`Unsupported event: '${e}'`)}}enterMeasurementMode(){if(this._measurementMode)throw new Error("Measurement mode is active, call exitMeasurementMode()");this._viewer.on("click",this._handlePointerClick),this._events.measurementStarted.fire(),this._measurementMode=!0}exitMeasurementMode(){if(!this._measurementMode)throw new Error("Measurement mode is not active, call enterMeasurementMode()");this.cancelActiveMeasurement(),this._viewer.off("click",this._handlePointerClick),this._events.measurementEnded.fire(),this._measurementMode=!1}removeMeasurement(e){const r=this._measurements.findIndex((r=>r.getMeasurement()===e));if(-1===r)throw new Error("Measurement not found");this._measurements[r].removeMeasurement(),this._measurements.splice(r,1),this._viewer.requestRedraw()}removeAllMeasurements(){this._measurements.forEach((e=>{e.removeMeasurement()})),this._measurements.splice(0),this._viewer.requestRedraw()}setMeasurementLabelsVisible(e){this._htmlOverlay.visible(e)}setLineOptions(e){this._options={...this._options,...e}}updateLineWidth(e,r){const t=this._measurements.findIndex((r=>r.getMeasurement()===e));if(-1===t)throw new Error("Measurement not found");this._measurements[t].updateLineWidth(r),this._viewer.requestRedraw()}updateLineColor(e,r){const t=this._measurements.findIndex((r=>r.getMeasurement()===e));if(-1===t)throw new Error("Measurement not found");this._measurements[t].updateLineColor(r),this._viewer.requestRedraw()}getAllMeasurements(){return this._measurements.map((e=>e.getMeasurement()))}dispose(){var e;this.removeAllMeasurements(),this.exitMeasurementMode(),null===(e=this._activeMeasurement)||void 0===e||e.removeMeasurement(),this._htmlOverlay.dispose(),this._geometryGroup.clear(),this._viewer.removeObject3D(this._geometryGroup),this._events.measurementAdded.unsubscribeAll(),this._events.measurementStarted.unsubscribeAll(),this._events.measurementEnded.unsubscribeAll(),super.dispose()}async onPointerClick(e){const{offsetX:r,offsetY:t}=e,i=await this._viewer.getIntersectionFromPixel(r,t);if(i){if(this._activeMeasurement)this._activeMeasurement.endMeasurement(i.point),this._measurements.push(this._activeMeasurement),this._activeMeasurement=void 0,this._events.measurementAdded.fire(this._measurements[this._measurements.length-1].getMeasurement()),this._viewer.domElement.removeEventListener("pointermove",this._handlePointerMove),window.removeEventListener("keydown",this._handleMeasurementCancel);else{const e=this._viewer.getCamera(),r=this._viewer.domElement;this._activeMeasurement=new Ve(r,e,this._geometryGroup,this._options,this._htmlOverlay,i.point),this._viewer.domElement.addEventListener("pointermove",this._handlePointerMove),window.addEventListener("keydown",this._handleMeasurementCancel)}this._viewer.requestRedraw()}}onPointerMove(e){this._activeMeasurement&&(this._activeMeasurement.update(e),this._viewer.requestRedraw())}createCombineClusterElement(){const e=document.createElement("div");return e.className=Ne.stylesId,e.innerHTML='<?xml version="1.0" encoding="UTF-8"?>\n<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="50px" height="20px" viewBox="0 0 50 20" version="1.1">\n<g id="surface1">\n<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:0.8;" d="M 0.832031 4 C 0.371094 4 0 4.148438 0 4.332031 L 0 10 C 0 10.183594 0.371094 10.332031 0.832031 10.332031 C 1.292969 10.332031 1.667969 10.183594 1.667969 10 L 1.667969 4.332031 C 1.667969 4.148438 1.292969 4 0.832031 4 Z M 0.832031 4 "/>\n<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:0.8;" d="M 49.167969 4 C 48.707031 4 48.332031 4.148438 48.332031 4.332031 L 48.332031 10 C 48.332031 10.183594 48.707031 10.332031 49.167969 10.332031 C 49.628906 10.332031 50 10.183594 50 10 L 50 4.332031 C 50 4.148438 49.628906 4 49.167969 4 Z M 49.167969 4 "/>\n<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:0.8;" d="M 49.582031 11.332031 L 46.25 11.332031 C 46.019531 11.332031 45.835938 11.40625 45.835938 11.5 L 45.835938 12.332031 C 45.835938 12.515625 45.460938 12.667969 45 12.667969 C 44.542969 12.667969 44.167969 12.519531 44.167969 12.332031 L 44.167969 11.5 C 44.167969 11.40625 43.980469 11.332031 43.75 11.332031 L 41.25 11.332031 C 41.019531 11.332031 40.835938 11.40625 40.835938 11.5 L 40.835938 13 C 40.835938 13.183594 40.460938 13.332031 40 13.332031 C 39.542969 13.332031 39.167969 13.183594 39.167969 13 L 39.167969 11.5 C 39.167969 11.40625 38.980469 11.332031 38.75 11.332031 L 36.25 11.332031 C 36.019531 11.332031 35.832031 11.40625 35.832031 11.5 L 35.835938 12.332031 C 35.835938 12.515625 35.460938 12.667969 35 12.667969 C 34.539062 12.667969 34.167969 12.519531 34.167969 12.332031 L 34.167969 11.5 C 34.167969 11.40625 33.980469 11.332031 33.75 11.332031 L 31.25 11.332031 C 31.019531 11.332031 30.832031 11.40625 30.832031 11.5 L 30.835938 13 C 30.835938 13.183594 30.460938 13.332031 30 13.332031 C 29.539062 13.332031 29.167969 13.183594 29.167969 13 L 29.167969 11.5 C 29.167969 11.40625 28.980469 11.332031 28.75 11.332031 L 26.25 11.332031 C 26.019531 11.332031 25.832031 11.40625 25.832031 11.5 L 25.835938 12.332031 C 25.835938 12.515625 25.460938 12.667969 25 12.667969 C 24.539062 12.667969 24.167969 12.519531 24.167969 12.332031 L 24.167969 11.5 C 24.167969 11.40625 23.980469 11.332031 23.75 11.332031 L 21.25 11.332031 C 21.019531 11.332031 20.832031 11.40625 20.832031 11.5 L 20.835938 13 C 20.835938 13.183594 20.460938 13.332031 20 13.332031 C 19.539062 13.332031 19.167969 13.183594 19.167969 13 L 19.167969 11.5 C 19.167969 11.40625 18.980469 11.332031 18.75 11.332031 L 16.25 11.332031 C 16.019531 11.332031 15.832031 11.40625 15.832031 11.5 L 15.835938 12.332031 C 15.835938 12.515625 15.460938 12.667969 15 12.667969 C 14.539062 12.667969 14.167969 12.519531 14.167969 12.332031 L 14.167969 11.5 C 14.167969 11.40625 13.980469 11.332031 13.75 11.332031 L 11.25 11.332031 C 11.019531 11.332031 10.832031 11.40625 10.832031 11.5 L 10.835938 13 C 10.835938 13.183594 10.460938 13.332031 10 13.332031 C 9.539062 13.332031 9.167969 13.183594 9.167969 13 L 9.167969 11.5 C 9.167969 11.40625 8.980469 11.332031 8.75 11.332031 L 6.25 11.332031 C 6.019531 11.332031 5.832031 11.40625 5.832031 11.5 L 5.832031 12.332031 C 5.832031 12.519531 5.460938 12.667969 5 12.667969 C 4.539062 12.667969 4.167969 12.519531 4.167969 12.332031 L 4.167969 11.5 C 4.167969 11.40625 3.980469 11.332031 3.75 11.332031 L 0.417969 11.332031 C 0.1875 11.332031 0 11.40625 0 11.5 L 0 15.832031 C 0 15.925781 0.1875 16 0.417969 16 L 49.582031 16 C 49.8125 16 50 15.925781 50 15.832031 L 50 11.5 C 50 11.40625 49.8125 11.332031 49.582031 11.332031 Z M 49.582031 11.332031 "/>\n<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:0.8;" d="M 46.488281 7.121094 L 42.617188 5.121094 C 42.410156 5.011719 42.066406 4.972656 41.761719 5.019531 C 41.453125 5.066406 41.25 5.191406 41.25 5.332031 L 41.25 7 L 8.75 7 L 8.75 5.332031 C 8.75 5.191406 8.546875 5.066406 8.238281 5.019531 C 7.933594 4.972656 7.589844 5.011719 7.382812 5.121094 L 3.511719 7.121094 C 3.394531 7.183594 3.332031 7.257812 3.332031 7.332031 C 3.332031 7.410156 3.394531 7.484375 3.511719 7.546875 L 7.382812 9.546875 C 7.53125 9.625 7.75 9.667969 7.976562 9.667969 C 8.0625 9.667969 8.152344 9.660156 8.238281 9.648438 C 8.546875 9.597656 8.75 9.472656 8.75 9.332031 L 8.75 7.667969 L 41.25 7.667969 L 41.25 9.332031 C 41.25 9.472656 41.453125 9.597656 41.757812 9.648438 C 41.84375 9.660156 41.933594 9.667969 42.023438 9.667969 C 42.246094 9.667969 42.464844 9.625 42.617188 9.546875 L 46.488281 7.546875 C 46.605469 7.484375 46.667969 7.410156 46.667969 7.332031 C 46.667969 7.257812 46.605469 7.183594 46.488281 7.121094 Z M 46.488281 7.121094 "/>\n</g>\n</svg>\n',e}static metersLabelCallback(e){return`${e.toFixed(2)} m`}onKeyDown(e){e.metaKey||e.altKey||e.ctrlKey||"Escape"===e.key&&(this.cancelActiveMeasurement(),e.preventDefault())}cancelActiveMeasurement(){this._activeMeasurement&&(this._activeMeasurement.removeMeasurement(),this._activeMeasurement=void 0,this._viewer.requestRedraw(),this._viewer.domElement.removeEventListener("pointermove",this._handlePointerMove))}}De.defaultLineOptions={distanceToLabelCallback:e=>De.metersLabelCallback(e),lineWidth:.01,color:new e.Color(16746310)}})(),i})()));
2
+ !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports["@cognite/reveal"]=r():e["@cognite/reveal"]=r()}("undefined"!=typeof self?self:this,(()=>(()=>{var e={470:e=>{"use strict";function r(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function t(e,r){for(var t,i="",a=0,n=-1,o=0,f=0;f<=e.length;++f){if(f<e.length)t=e.charCodeAt(f);else{if(47===t)break;t=47}if(47===t){if(n===f-1||1===o);else if(n!==f-1&&2===o){if(i.length<2||2!==a||46!==i.charCodeAt(i.length-1)||46!==i.charCodeAt(i.length-2))if(i.length>2){var s=i.lastIndexOf("/");if(s!==i.length-1){-1===s?(i="",a=0):a=(i=i.slice(0,s)).length-1-i.lastIndexOf("/"),n=f,o=0;continue}}else if(2===i.length||1===i.length){i="",a=0,n=f,o=0;continue}r&&(i.length>0?i+="/..":i="..",a=2)}else i.length>0?i+="/"+e.slice(n+1,f):i=e.slice(n+1,f),a=f-n-1;n=f,o=0}else 46===t&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",a=!1,n=arguments.length-1;n>=-1&&!a;n--){var o;n>=0?o=arguments[n]:(void 0===e&&(e=process.cwd()),o=e),r(o),0!==o.length&&(i=o+"/"+i,a=47===o.charCodeAt(0))}return i=t(i,!a),a?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(r(e),0===e.length)return".";var i=47===e.charCodeAt(0),a=47===e.charCodeAt(e.length-1);return 0!==(e=t(e,!i)).length||i||(e="."),e.length>0&&a&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return r(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t<arguments.length;++t){var a=arguments[t];r(a),a.length>0&&(void 0===e?e=a:e+="/"+a)}return void 0===e?".":i.normalize(e)},relative:function(e,t){if(r(e),r(t),e===t)return"";if((e=i.resolve(e))===(t=i.resolve(t)))return"";for(var a=1;a<e.length&&47===e.charCodeAt(a);++a);for(var n=e.length,o=n-a,f=1;f<t.length&&47===t.charCodeAt(f);++f);for(var s=t.length-f,c=o<s?o:s,A=-1,b=0;b<=c;++b){if(b===c){if(s>c){if(47===t.charCodeAt(f+b))return t.slice(f+b+1);if(0===b)return t.slice(f+b)}else o>c&&(47===e.charCodeAt(a+b)?A=b:0===b&&(A=0));break}var l=e.charCodeAt(a+b);if(l!==t.charCodeAt(f+b))break;47===l&&(A=b)}var u="";for(b=a+A+1;b<=n;++b)b!==n&&47!==e.charCodeAt(b)||(0===u.length?u+="..":u+="/..");return u.length>0?u+t.slice(f+A):(f+=A,47===t.charCodeAt(f)&&++f,t.slice(f))},_makeLong:function(e){return e},dirname:function(e){if(r(e),0===e.length)return".";for(var t=e.charCodeAt(0),i=47===t,a=-1,n=!0,o=e.length-1;o>=1;--o)if(47===(t=e.charCodeAt(o))){if(!n){a=o;break}}else n=!1;return-1===a?i?"/":".":i&&1===a?"//":e.slice(0,a)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');r(e);var i,a=0,n=-1,o=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var f=t.length-1,s=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){a=i+1;break}}else-1===s&&(o=!1,s=i+1),f>=0&&(c===t.charCodeAt(f)?-1==--f&&(n=i):(f=-1,n=s))}return a===n?n=s:-1===n&&(n=e.length),e.slice(a,n)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){a=i+1;break}}else-1===n&&(o=!1,n=i+1);return-1===n?"":e.slice(a,n)},extname:function(e){r(e);for(var t=-1,i=0,a=-1,n=!0,o=0,f=e.length-1;f>=0;--f){var s=e.charCodeAt(f);if(47!==s)-1===a&&(n=!1,a=f+1),46===s?-1===t?t=f:1!==o&&(o=1):-1!==t&&(o=-1);else if(!n){i=f+1;break}}return-1===t||-1===a||0===o||1===o&&t===a-1&&t===i+1?"":e.slice(t,a)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,r){var t=r.dir||r.root,i=r.base||(r.name||"")+(r.ext||"");return t?t===r.root?t+i:t+"/"+i:i}(0,e)},parse:function(e){r(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var i,a=e.charCodeAt(0),n=47===a;n?(t.root="/",i=1):i=0;for(var o=-1,f=0,s=-1,c=!0,A=e.length-1,b=0;A>=i;--A)if(47!==(a=e.charCodeAt(A)))-1===s&&(c=!1,s=A+1),46===a?-1===o?o=A:1!==b&&(b=1):-1!==o&&(b=-1);else if(!c){f=A+1;break}return-1===o||-1===s||0===b||1===b&&o===s-1&&o===f+1?-1!==s&&(t.base=t.name=0===f&&n?e.slice(1,s):e.slice(f,s)):(0===f&&n?(t.name=e.slice(1,o),t.base=e.slice(1,s)):(t.name=e.slice(f,o),t.base=e.slice(f,s)),t.ext=e.slice(o,s)),f>0?t.dir=e.slice(0,f-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},430:(e,r,t)=>{"use strict";t.d(r,{Z:()=>i});const i="precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D tex;\n\nin vec2 vUv;\n\nout vec4 color;\n\nvoid main()\n{\n color = texture(tex, vUv); \n}\n"},479:(e,r,t)=>{"use strict";t.d(r,{Z:()=>i});const i="#define GLSLIFY 1\nuniform mat4 modelMatrix;\nuniform vec2 scale;\nuniform vec2 offset;\n\nin vec3 position;\nin vec2 uv;\n\nout vec2 vUv;\n\nconst mat4 unitOrthographicProjection = mat4(1., 0., 0., 0., 0., 1., 0., 0., 0., 0., -1., 0., 0., 0., 0., 1.);\n\nvoid main() {\n vUv = uv;\n\n vec4 clipSpace = unitOrthographicProjection * modelMatrix * vec4(position, 1.0);\n\n clipSpace.xy *= scale.xy;\n\n clipSpace.xy += vec2(-1., -1.) + offset;\n\n gl_Position = clipSpace;\n}\n"},812:(e,r,t)=>{var i,a=(i=(i="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(e){var r,a,n=void 0!==(e=e||{})?e:{};n.ready=new Promise((function(e,t){r=e,a=t}));var o=!1,f=!1;n.onRuntimeInitialized=function(){o=!0,f&&"function"==typeof n.onModuleLoaded&&n.onModuleLoaded(n)},n.onModuleParsed=function(){f=!0,o&&"function"==typeof n.onModuleLoaded&&n.onModuleLoaded(n)},n.isVersionSupported=function(e){if("string"!=typeof e)return!1;const r=e.split(".");return!(r.length<2||r.length>3)&&(1==r[0]&&r[1]>=0&&r[1]<=5||!(0!=r[0]||r[1]>10))};var s,c={};for(s in n)n.hasOwnProperty(s)&&(c[s]=n[s]);var A,b,l,u,_,p=[],k="object"==typeof window,d="function"==typeof importScripts,m="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,h="";m?(h=d?t(470).dirname(h)+"/":"//",A=function(e,r){var i=te(e);return i?r?i:i.toString():(u||(u=t(501)),_||(_=t(470)),e=_.normalize(e),u.readFileSync(e,r?null:"utf8"))},l=function(e){var r=A(e,!0);return r.buffer||(r=new Uint8Array(r)),C(r.buffer),r},b=function(e,r,i){var a=te(e);a&&r(a),u||(u=t(501)),_||(_=t(470)),e=_.normalize(e),u.readFile(e,(function(e,t){e?i(e):r(t.buffer)}))},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),p=process.argv.slice(2),n.inspect=function(){return"[Emscripten Module object]"}):(k||d)&&(d?h=self.location.href:"undefined"!=typeof document&&document.currentScript&&(h=document.currentScript.src),i&&(h=i),h=0!==h.indexOf("blob:")?h.substr(0,h.replace(/[?#].*/,"").lastIndexOf("/")+1):"",A=function(e){try{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText}catch(r){var t=te(e);if(t)return function(e){for(var r=[],t=0;t<e.length;t++){var i=e[t];i>255&&(i&=255),r.push(String.fromCharCode(i))}return r.join("")}(t);throw r}},d&&(l=function(e){try{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}catch(r){var t=te(e);if(t)return t;throw r}}),b=function(e,r,t){var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=function(){if(200==i.status||0==i.status&&i.response)r(i.response);else{var a=te(e);a?r(a.buffer):t()}},i.onerror=t,i.send(null)}),n.print||console.log.bind(console);var y,v=n.printErr||console.warn.bind(console);for(s in c)c.hasOwnProperty(s)&&(n[s]=c[s]);c=null,n.arguments&&(p=n.arguments),n.thisProgram&&n.thisProgram,n.quit&&n.quit,n.wasmBinary&&(y=n.wasmBinary),n.noExitRuntime;var g,w={Memory:function(e){this.buffer=new ArrayBuffer(65536*e.initial)},Module:function(e){},Instance:function(e,r){this.exports=function(e){for(var r,t=new Uint8Array(123),i=25;i>=0;--i)t[48+i]=52+i,t[65+i]=i,t[97+i]=26+i;function a(e,r,i){for(var a,n,o=0,f=r,s=i.length,c=r+(3*s>>2)-("="==i[s-2])-("="==i[s-1]);o<s;o+=4)a=t[i.charCodeAt(o+1)],n=t[i.charCodeAt(o+2)],e[f++]=t[i.charCodeAt(o)]<<2|a>>4,f<c&&(e[f++]=a<<4|n>>2),f<c&&(e[f++]=n<<6|t[i.charCodeAt(o+3)])}t[43]=62,t[47]=63;var n=new ArrayBuffer(16),o=new Int32Array(n),f=new Float32Array(n);function s(e){f[2]=e}function c(e){return o[e]}return new Float64Array(n),function(e){var t=e.a,i=t.buffer;t.grow=function(e){e|=0;var a=0|vi(),s=a+e|0;if(a<s&&s<65536){var c=new ArrayBuffer(p(s,65536));new Int8Array(c).set(n),n=new Int8Array(c),o=new Int16Array(c),f=new Int32Array(c),A=new Uint8Array(c),b=new Uint16Array(c),l=new Uint32Array(c),u=new Float32Array(c),_=new Float64Array(c),i=c,t.buffer=i,r=A}return a};var n=new Int8Array(i),o=new Int16Array(i),f=new Int32Array(i),A=new Uint8Array(i),b=new Uint16Array(i),l=new Uint32Array(i),u=new Float32Array(i),_=new Float64Array(i),p=Math.imul,k=Math.fround,d=Math.abs,m=Math.clz32,h=Math.min,y=Math.max,v=Math.floor,g=Math.ceil,w=(Math.trunc,Math.sqrt),T=e.abort,C=e.b,E=e.c,N=e.d,G=e.e,R=e.f,V=5254912,D=0;function M(e,r,t,i){var a=0,o=0,s=0,c=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,T=0,C=0,E=0,N=0,G=0,R=0;if(!e)return 1;e:if(!((0|(s=f[t+20>>2]))>=(0|(d=f[t+12>>2]))&(a=f[t+16>>2])>>>0>=l[t+8>>2]|(0|s)>(0|d))){d=A[a+f[t>>2]|0],s=(a=a+1|0)?s:s+1|0,f[t+16>>2]=a,f[t+20>>2]=s;r:switch(0|d){case 0:_=e,s=r,h=i,e=0,i=0,V=d=V+-64|0,f[d+56>>2]=0,f[d+48>>2]=0,f[d+52>>2]=0,f[d+40>>2]=0,f[d+44>>2]=0,f[d+32>>2]=0,f[d+36>>2]=0,f[d+24>>2]=0,f[d+28>>2]=0,f[d+16>>2]=0,f[d+20>>2]=0,f[d+8>>2]=0,f[d+12>>2]=0;t:if(se(d+8|0,t)&&!(!We(d+8|0,t)|(f[d+20>>2]?0:_))){if(rt(t,0,0),_)for(w=s<<2,T=f[d+36>>2],E=f[d+48>>2],N=f[d+24>>2];;){i:if(!((u=f[d+56>>2])>>>0>16383))for(e=f[d+52>>2];;){if((0|e)<=0)break i;if(e=e-1|0,f[d+52>>2]=e,u=A[e+E|0]|u<<8,f[d+56>>2]=u,!(u>>>0<16384))break}if(r=T+((k=f[N+((e=4095&u)<<2)>>2])<<3)|0,f[d+56>>2]=(p(f[r>>2],u>>>12|0)+e|0)-f[r+4>>2],!((0|s)<=0)){if(e=0,!A[t+36|0]|k>>>0>32)break t;if(k){for(G=-2&k,R=1&k,a=i+s|0,r=f[t+32>>2];;){if(m=f[t+28>>2],g=f[t+24>>2],u=0,e=r,o=0,v=0,1!=(0|k))for(;(c=(e>>>3|0)+g|0)>>>0>=m>>>0?c=0:(c=A[0|c],r=e+1|0,f[t+32>>2]=r,c=c>>>(7&e)&1,e=r),c=c<<u|o,o=0,(C=(e>>>3|0)+g|0)>>>0<m>>>0&&(o=A[0|C],r=e+1|0,f[t+32>>2]=r,o=o>>>(7&e)&1,e=r),C=1|u,u=u+2|0,o=c|o<<C,(0|G)!=(0|(v=v+2|0)););if(c=h+(i<<2)|0,R&&((v=m)>>>0>(m=(e>>>3|0)+g|0)>>>0?(m=A[0|m],r=e+1|0,f[t+32>>2]=r,e=m>>>(7&e)&1):e=0,o|=e<<u),f[c>>2]=o,(0|a)==(0|(i=i+1|0)))break}i=a}else Je(h+(i<<2)|0,0,w),i=i+s|0}if(!(_>>>0>(y=s+y|0)>>>0))break}n[t+36|0]=0,i=f[t+20>>2],e=0,r=(s=(e=(r=f[t+32>>2]+7|0)>>>0<7?1:e)<<29|r>>>3)+f[t+16>>2]|0,e=(e>>>3|0)+i|0,f[t+16>>2]=r,f[t+20>>2]=r>>>0<s>>>0?e+1|0:e,e=1}return(r=f[d+36>>2])&&(f[d+40>>2]=r,ee(r)),(r=f[d+24>>2])&&(f[d+28>>2]=r,ee(r)),(r=f[d+8>>2])&&(f[d+12>>2]=r,ee(r)),V=d- -64|0,e;case 1:break r;default:break e}r=0;r:if(!((0|(s=f[t+20>>2]))>=(0|(a=f[t+12>>2]))&(o=f[t+16>>2])>>>0>=l[t+8>>2]|(0|a)<(0|s))){a=A[o+f[t>>2]|0],s=(o=o+1|0)?s:s+1|0,f[t+16>>2]=o,f[t+20>>2]=s;t:switch(a-1|0){case 4:if(V=o=V+-64|0,f[o+56>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o+8>>2]=0,f[o+12>>2]=0,!(!se(o+8|0,t)|(f[o+20>>2]?0:e))&&We(o+8|0,t))if(e)for(t=f[o+36>>2],s=f[o+48>>2],_=f[o+24>>2],c=f[o+56>>2];;){i:if(!(c>>>0>16383))for(r=f[o+52>>2];;){if((0|r)<=0)break i;if(r=r-1|0,f[o+52>>2]=r,c=A[r+s|0]|c<<8,f[o+56>>2]=c,!(c>>>0<16384))break}if(h=f[_+((r=4095&c)<<2)>>2],c=(p(f[(a=t+(h<<3)|0)>>2],c>>>12|0)+r|0)-f[a+4>>2]|0,f[o+56>>2]=c,f[(y<<2)+i>>2]=h,r=1,(0|(y=y+1|0))==(0|e))break}else r=1;(e=f[o+36>>2])&&(f[o+40>>2]=e,ee(e)),(e=f[o+24>>2])&&(f[o+28>>2]=e,ee(e)),(e=f[o+8>>2])&&(f[o+12>>2]=e,ee(e)),V=o- -64|0;break r;case 8:d=e,V=a=V+-64|0,f[a+48>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a+8>>2]=0,f[a+12>>2]=0,f[a>>2]=0,f[a+4>>2]=0;i:{a:if(b[t+38>>1]&&Cr(1,a+12|0,t)){if(u=f[a+12>>2],r=f[a>>2],u>>>0>(e=f[a+4>>2]-r>>2)>>>0?(sr(a,u-e|0),u=f[a+12>>2]):e>>>0<=u>>>0||(f[a+4>>2]=r+(u<<2)),e=1,!u)break i;for(g=f[t+8>>2],y=f[t+12>>2],v=f[a>>2],o=0;;){if(e=0,(0|y)<=(0|(s=f[t+20>>2]))&g>>>0<=(r=f[t+16>>2])>>>0|(0|s)>(0|y))break i;w=f[t>>2],m=A[w+r|0],s=(e=r+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r=m>>>2|0,c=0;n:{o:{f:{s:switch(0|(s=3&m)){case 0:break o;case 3:break s;default:break f}if(e=0,(r=r+o|0)>>>0>=u>>>0)break i;Je(v+(o<<2)|0,0,4+(252&m)|0),o=r;break n}for(;;){if((0|e)>=(0|y)&k>>>0>=g>>>0|(0|e)>(0|y))break a;if(u=A[k+w|0],e=(k=k+1|0)?e:e+1|0,f[t+16>>2]=k,f[t+20>>2]=e,r|=u<<(c<<3|6),(0|s)==(0|(c=c+1|0)))break}}f[v+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(u=f[a+12>>2])>>>0))break}if(y=a+16|0,g=f[a>>2],e=f[a+16>>2],(o=(r=f[a+20>>2]-e|0)>>2)>>>0<=8191?sr(y,8192-o|0):32768!=(0|r)&&(f[a+20>>2]=e+32768),o=f[(e=a+28|0)>>2],(r=f[a+32>>2]-o>>3)>>>0<u>>>0)cr(e,u-r|0),o=f[e>>2];else if(r>>>0>u>>>0&&(f[a+32>>2]=(u<<3)+o),!u)break a;for(c=0,e=0;;){if(k=f[(s=g+(c<<2)|0)>>2],r=e,f[4+(m=(c<<3)+o|0)>>2]=e,f[m>>2]=k,(e=(s=f[s>>2])+e|0)>>>0>8192)break a;if(!(e>>>0<=r>>>0)){if(m=f[y>>2],k=0,v=7&s)for(;f[m+(r<<2)>>2]=c,r=r+1|0,(0|v)!=(0|(k=k+1|0)););if(!(s-1>>>0<=6))for(;f[(s=m+(r<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(r=r+8|0))!=(0|e););}if((0|u)==(0|(c=c+1|0)))break}h=8192==(0|e)}e=h}i:if(!(!e|(f[a+12>>2]?0:d))&&kr(1,a+56|0,t)&&(o=(e=f[t+8>>2])-(r=f[t+16>>2])|0,s=f[a+60>>2],h=f[t+20>>2],!((0|s)==(0|(c=f[t+12>>2]-(h+(e>>>0<r>>>0)|0)|0))&o>>>0<(e=f[a+56>>2])>>>0|s>>>0>c>>>0||(s=s+h|0,s=(o=e+r|0)>>>0<e>>>0?s+1|0:s,f[t+16>>2]=o,f[t+20>>2]=s,(0|e)<=0)))){t=r+f[t>>2]|0,f[a+40>>2]=t;a:if((s=A[0|(o=t+(r=e-1|0)|0)])>>>0<=63)f[a+44>>2]=r,e=63&A[0|o];else{switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;r=e-2|0,f[a+44>>2]=r,e=A[1+(e=(e+t|0)-2|0)|0]<<8&16128|A[0|e];break a;case 1:if(e>>>0<3)break i;r=e-3|0,f[a+44>>2]=r,e=A[2+(e=(e+t|0)-3|0)|0]<<16&4128768|A[e+1|0]<<8|A[0|e];break a}r=e-4|0,f[a+44>>2]=r,e=A[2+(e=(e+t|0)-4|0)|0]<<16|A[e+3|0]<<24&1056964608|A[e+1|0]<<8|A[0|e]}if(o=e+32768|0,f[a+48>>2]=o,!(o>>>0>8388607))if(d)for(s=f[a+28>>2],e=0,h=f[a+16>>2];;){a:if(!(o>>>0>32767))for(;;){if((0|r)<=0)break a;if(r=r-1|0,f[a+44>>2]=r,o=A[r+t|0]|o<<8,f[a+48>>2]=o,!(o>>>0<32768))break}if(c=f[h+((_=8191&o)<<2)>>2],o=(p(f[(u=s+(c<<3)|0)>>2],o>>>13|0)+_|0)-f[u+4>>2]|0,f[a+48>>2]=o,f[(e<<2)+i>>2]=c,_=1,(0|d)==(0|(e=e+1|0)))break}else _=1}(e=f[a+28>>2])&&(f[a+32>>2]=e,ee(e)),(e=f[a+16>>2])&&(f[a+20>>2]=e,ee(e)),(e=f[a>>2])&&(f[a+4>>2]=e,ee(e)),V=a- -64|0,r=_;break r;case 9:d=e,V=a=V+-64|0,f[a+48>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a+8>>2]=0,f[a+12>>2]=0,f[a>>2]=0,f[a+4>>2]=0;i:{a:if(b[t+38>>1]&&Cr(1,a+12|0,t)){if(u=f[a+12>>2],r=f[a>>2],u>>>0>(e=f[a+4>>2]-r>>2)>>>0?(sr(a,u-e|0),u=f[a+12>>2]):e>>>0<=u>>>0||(f[a+4>>2]=r+(u<<2)),e=1,!u)break i;for(m=f[t+8>>2],y=f[t+12>>2],g=f[a>>2],o=0;;){if(e=0,(0|y)<=(0|(r=f[t+20>>2]))&m>>>0<=(c=f[t+16>>2])>>>0|(0|r)>(0|y))break i;v=f[t>>2],s=A[v+c|0],e=r,e=(r=c+1|0)?e:e+1|0,k=r,f[t+16>>2]=r,f[t+20>>2]=e,r=s>>>2|0,c=0;n:{o:{f:{s:switch(0|(w=3&s)){case 0:break o;case 3:break s;default:break f}if(e=0,(r=r+o|0)>>>0>=u>>>0)break i;Je(g+(o<<2)|0,0,4+(252&s)|0),o=r;break n}for(;;){if((0|e)>=(0|y)&k>>>0>=m>>>0|(0|e)>(0|y))break a;if(u=A[k+v|0],s=e,s=(e=k+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r|=u<<(c<<3|6),(0|w)==(0|(c=c+1|0)))break}}f[g+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(u=f[a+12>>2])>>>0))break}if(y=a+16|0,g=f[a>>2],e=f[a+16>>2],(o=(r=f[a+20>>2]-e|0)>>2)>>>0<=32767?sr(y,32768-o|0):131072!=(0|r)&&(f[a+20>>2]=e+131072),o=f[(e=a+28|0)>>2],(r=f[a+32>>2]-o>>3)>>>0<u>>>0)cr(e,u-r|0),o=f[e>>2];else if(r>>>0>u>>>0&&(f[a+32>>2]=(u<<3)+o),!u)break a;for(c=0,e=0;;){if(k=f[(s=g+(c<<2)|0)>>2],r=e,f[4+(m=(c<<3)+o|0)>>2]=e,f[m>>2]=k,(e=(s=f[s>>2])+e|0)>>>0>32768)break a;if(!(e>>>0<=r>>>0)){if(m=f[y>>2],k=0,v=7&s)for(;f[m+(r<<2)>>2]=c,r=r+1|0,(0|v)!=(0|(k=k+1|0)););if(!(s-1>>>0<=6))for(;f[(s=m+(r<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(r=r+8|0))!=(0|e););}if((0|u)==(0|(c=c+1|0)))break}h=32768==(0|e)}e=h}i:if(!(!e|(f[a+12>>2]?0:d))&&kr(1,a+56|0,t)&&(s=(e=f[t+8>>2])-(r=o=f[t+16>>2])|0,h=f[a+60>>2],c=f[t+20>>2],!((0|h)==(0|(e=f[t+12>>2]-(c+(e>>>0<r>>>0)|0)|0))&s>>>0<(r=f[a+56>>2])>>>0|e>>>0<h>>>0||(e=c+h|0,e=(s=r+o|0)>>>0<r>>>0?e+1|0:e,f[t+16>>2]=s,f[t+20>>2]=e,(0|(e=r))<=0)))){t=o+f[t>>2]|0,f[a+40>>2]=t;a:if((s=A[0|(o=t+(r=e-1|0)|0)])>>>0<=63)f[a+44>>2]=r,e=63&A[0|o];else{switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;r=e-2|0,f[a+44>>2]=r,e=A[1+(e=(e+t|0)-2|0)|0]<<8&16128|A[0|e];break a;case 1:if(e>>>0<3)break i;r=e-3|0,f[a+44>>2]=r,e=A[2+(e=(e+t|0)-3|0)|0]<<16&4128768|A[e+1|0]<<8|A[0|e];break a}r=e-4|0,f[a+44>>2]=r,e=A[2+(e=(e+t|0)-4|0)|0]<<16|A[e+3|0]<<24&1056964608|A[e+1|0]<<8|A[0|e]}if(o=e+131072|0,f[a+48>>2]=o,!(o>>>0>33554431))if(d)for(s=f[a+28>>2],e=0,h=f[a+16>>2];;){a:if(!(o>>>0>131071))for(;;){if((0|r)<=0)break a;if(r=r-1|0,f[a+44>>2]=r,o=A[r+t|0]|o<<8,f[a+48>>2]=o,!(o>>>0<131072))break}if(c=f[h+((_=32767&o)<<2)>>2],o=(p(f[(u=s+(c<<3)|0)>>2],o>>>15|0)+_|0)-f[u+4>>2]|0,f[a+48>>2]=o,f[(e<<2)+i>>2]=c,_=1,(0|d)==(0|(e=e+1|0)))break}else _=1}(e=f[a+28>>2])&&(f[a+32>>2]=e,ee(e)),(e=f[a+16>>2])&&(f[a+20>>2]=e,ee(e)),(e=f[a>>2])&&(f[a+4>>2]=e,ee(e)),V=a- -64|0,r=_;break r;case 10:d=e,V=a=V+-64|0,f[a+48>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a+8>>2]=0,f[a+12>>2]=0,f[a>>2]=0,f[a+4>>2]=0;i:{a:if(b[t+38>>1]&&Cr(1,a+12|0,t)){if(u=f[a+12>>2],r=f[a>>2],u>>>0>(e=f[a+4>>2]-r>>2)>>>0?(sr(a,u-e|0),u=f[a+12>>2]):e>>>0<=u>>>0||(f[a+4>>2]=r+(u<<2)),e=1,!u)break i;for(g=f[t+8>>2],y=f[t+12>>2],v=f[a>>2],o=0;;){if(e=0,(0|y)<=(0|(s=f[t+20>>2]))&g>>>0<=(r=f[t+16>>2])>>>0|(0|s)>(0|y))break i;w=f[t>>2],m=A[w+r|0],s=(e=r+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r=m>>>2|0,c=0;n:{o:{f:{s:switch(0|(T=3&m)){case 0:break o;case 3:break s;default:break f}if(e=0,(r=r+o|0)>>>0>=u>>>0)break i;Je(v+(o<<2)|0,0,4+(252&m)|0),o=r;break n}for(;;){if((0|e)>=(0|y)&k>>>0>=g>>>0|(0|e)>(0|y))break a;if(u=A[k+w|0],s=e,s=(e=k+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r|=u<<(c<<3|6),(0|T)==(0|(c=c+1|0)))break}}f[v+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(u=f[a+12>>2])>>>0))break}if(y=a+16|0,g=f[a>>2],e=f[a+16>>2],(o=(r=f[a+20>>2]-e|0)>>2)>>>0<=65535?sr(y,65536-o|0):262144!=(0|r)&&(f[a+20>>2]=e+262144),o=f[(e=a+28|0)>>2],(r=f[a+32>>2]-o>>3)>>>0<u>>>0)cr(e,u-r|0),o=f[e>>2];else if(r>>>0>u>>>0&&(f[a+32>>2]=(u<<3)+o),!u)break a;for(c=0,e=0;;){if(k=f[(s=g+(c<<2)|0)>>2],r=e,f[4+(m=(c<<3)+o|0)>>2]=e,f[m>>2]=k,(e=(s=f[s>>2])+e|0)>>>0>65536)break a;if(!(e>>>0<=r>>>0)){if(m=f[y>>2],k=0,v=7&s)for(;f[m+(r<<2)>>2]=c,r=r+1|0,(0|v)!=(0|(k=k+1|0)););if(!(s-1>>>0<=6))for(;f[(s=m+(r<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(r=r+8|0))!=(0|e););}if((0|u)==(0|(c=c+1|0)))break}h=65536==(0|e)}e=h}i:if(!(!e|(f[a+12>>2]?0:d))&&kr(1,a+56|0,t)&&(o=(e=f[t+8>>2])-(r=f[t+16>>2])|0,s=f[a+60>>2],h=f[t+20>>2],!((0|s)==(0|(c=f[t+12>>2]-(h+(e>>>0<r>>>0)|0)|0))&o>>>0<(e=f[a+56>>2])>>>0|s>>>0>c>>>0||(s=s+h|0,s=(o=e+r|0)>>>0<e>>>0?s+1|0:s,f[t+16>>2]=o,f[t+20>>2]=s,(0|e)<=0)))){t=r+f[t>>2]|0,f[a+40>>2]=t;a:if((s=A[0|(o=t+(r=e-1|0)|0)])>>>0<=63)f[a+44>>2]=r,e=63&A[0|o];else{switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;r=e-2|0,f[a+44>>2]=r,e=A[1+(e=(e+t|0)-2|0)|0]<<8&16128|A[0|e];break a;case 1:if(e>>>0<3)break i;r=e-3|0,f[a+44>>2]=r,e=A[2+(e=(e+t|0)-3|0)|0]<<16&4128768|A[e+1|0]<<8|A[0|e];break a}r=e-4|0,f[a+44>>2]=r,e=A[2+(e=(e+t|0)-4|0)|0]<<16|A[e+3|0]<<24&1056964608|A[e+1|0]<<8|A[0|e]}if(o=e+262144|0,f[a+48>>2]=o,!(o>>>0>67108863))if(d)for(s=f[a+28>>2],e=0,h=f[a+16>>2];;){a:if(!(o>>>0>262143))for(;;){if((0|r)<=0)break a;if(r=r-1|0,f[a+44>>2]=r,o=A[r+t|0]|o<<8,f[a+48>>2]=o,!(o>>>0<262144))break}if(c=f[h+((_=65535&o)<<2)>>2],o=(p(f[(u=s+(c<<3)|0)>>2],o>>>16|0)+_|0)-f[u+4>>2]|0,f[a+48>>2]=o,f[(e<<2)+i>>2]=c,_=1,(0|d)==(0|(e=e+1|0)))break}else _=1}(e=f[a+28>>2])&&(f[a+32>>2]=e,ee(e)),(e=f[a+16>>2])&&(f[a+20>>2]=e,ee(e)),(e=f[a>>2])&&(f[a+4>>2]=e,ee(e)),V=a- -64|0,r=_;break r;case 11:d=e,V=a=V+-64|0,f[a+48>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a+8>>2]=0,f[a+12>>2]=0,f[a>>2]=0,f[a+4>>2]=0;i:{a:if(b[t+38>>1]&&Cr(1,a+12|0,t)){if(u=f[a+12>>2],r=f[a>>2],u>>>0>(e=f[a+4>>2]-r>>2)>>>0?(sr(a,u-e|0),u=f[a+12>>2]):e>>>0<=u>>>0||(f[a+4>>2]=r+(u<<2)),e=1,!u)break i;for(g=f[t+8>>2],y=f[t+12>>2],v=f[a>>2],o=0;;){if(e=0,(0|y)<=(0|(s=f[t+20>>2]))&g>>>0<=(r=f[t+16>>2])>>>0|(0|s)>(0|y))break i;w=f[t>>2],m=A[w+r|0],s=(e=r+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r=m>>>2|0,c=0;n:{o:{f:{s:switch(0|(s=3&m)){case 0:break o;case 3:break s;default:break f}if(e=0,(r=r+o|0)>>>0>=u>>>0)break i;Je(v+(o<<2)|0,0,4+(252&m)|0),o=r;break n}for(;;){if((0|e)>=(0|y)&k>>>0>=g>>>0|(0|e)>(0|y))break a;if(u=A[k+w|0],e=(k=k+1|0)?e:e+1|0,f[t+16>>2]=k,f[t+20>>2]=e,r|=u<<(c<<3|6),(0|s)==(0|(c=c+1|0)))break}}f[v+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(u=f[a+12>>2])>>>0))break}if(y=a+16|0,g=f[a>>2],e=f[a+16>>2],(o=(r=f[a+20>>2]-e|0)>>2)>>>0<=262143?sr(y,262144-o|0):1048576!=(0|r)&&(f[a+20>>2]=e- -1048576),o=f[(e=a+28|0)>>2],(r=f[a+32>>2]-o>>3)>>>0<u>>>0)cr(e,u-r|0),o=f[e>>2];else if(r>>>0>u>>>0&&(f[a+32>>2]=(u<<3)+o),!u)break a;for(c=0,e=0;;){if(k=f[(s=g+(c<<2)|0)>>2],r=e,f[4+(m=(c<<3)+o|0)>>2]=e,f[m>>2]=k,(e=(s=f[s>>2])+e|0)>>>0>262144)break a;if(!(e>>>0<=r>>>0)){if(m=f[y>>2],k=0,v=7&s)for(;f[m+(r<<2)>>2]=c,r=r+1|0,(0|v)!=(0|(k=k+1|0)););if(!(s-1>>>0<=6))for(;f[(s=m+(r<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(r=r+8|0))!=(0|e););}if((0|u)==(0|(c=c+1|0)))break}h=262144==(0|e)}e=h}i:if(!(!e|(f[a+12>>2]?0:d))&&kr(1,a+56|0,t)&&(o=(e=f[t+8>>2])-(r=f[t+16>>2])|0,s=f[a+60>>2],h=f[t+20>>2],!((0|s)==(0|(c=f[t+12>>2]-(h+(e>>>0<r>>>0)|0)|0))&o>>>0<(e=f[a+56>>2])>>>0|s>>>0>c>>>0||(s=s+h|0,s=(o=e+r|0)>>>0<e>>>0?s+1|0:s,f[t+16>>2]=o,f[t+20>>2]=s,(0|e)<=0)))){t=r+f[t>>2]|0,f[a+40>>2]=t;a:if((s=A[0|(o=t+(r=e-1|0)|0)])>>>0<=63)f[a+44>>2]=r,e=63&A[0|o];else{switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;r=e-2|0,f[a+44>>2]=r,e=A[1+(e=(e+t|0)-2|0)|0]<<8&16128|A[0|e];break a;case 1:if(e>>>0<3)break i;r=e-3|0,f[a+44>>2]=r,e=A[2+(e=(e+t|0)-3|0)|0]<<16&4128768|A[e+1|0]<<8|A[0|e];break a}r=e-4|0,f[a+44>>2]=r,e=A[2+(e=(e+t|0)-4|0)|0]<<16|A[e+3|0]<<24&1056964608|A[e+1|0]<<8|A[0|e]}if(o=e- -1048576|0,f[a+48>>2]=o,!(o>>>0>268435455))if(d)for(s=f[a+28>>2],e=0,h=f[a+16>>2];;){a:if(!(o>>>0>1048575))for(;;){if((0|r)<=0)break a;if(r=r-1|0,f[a+44>>2]=r,o=A[r+t|0]|o<<8,f[a+48>>2]=o,!(o>>>0<1048576))break}if(c=f[h+((_=262143&o)<<2)>>2],o=(p(f[(u=s+(c<<3)|0)>>2],o>>>18|0)+_|0)-f[u+4>>2]|0,f[a+48>>2]=o,f[(e<<2)+i>>2]=c,_=1,(0|d)==(0|(e=e+1|0)))break}else _=1}(e=f[a+28>>2])&&(f[a+32>>2]=e,ee(e)),(e=f[a+16>>2])&&(f[a+20>>2]=e,ee(e)),(e=f[a>>2])&&(f[a+4>>2]=e,ee(e)),V=a- -64|0,r=_;break r;case 12:d=e,V=a=V+-64|0,f[a+48>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a+8>>2]=0,f[a+12>>2]=0,f[a>>2]=0,f[a+4>>2]=0;i:{a:if(b[t+38>>1]&&Cr(1,a+12|0,t)){if(u=f[a+12>>2],r=f[a>>2],u>>>0>(e=f[a+4>>2]-r>>2)>>>0?(sr(a,u-e|0),u=f[a+12>>2]):e>>>0<=u>>>0||(f[a+4>>2]=r+(u<<2)),e=1,!u)break i;for(m=f[t+8>>2],y=f[t+12>>2],g=f[a>>2],o=0;;){if(e=0,(0|y)<=(0|(r=f[t+20>>2]))&m>>>0<=(c=f[t+16>>2])>>>0|(0|r)>(0|y))break i;v=f[t>>2],s=A[v+c|0],e=r,e=(r=c+1|0)?e:e+1|0,k=r,f[t+16>>2]=r,f[t+20>>2]=e,r=s>>>2|0,c=0;n:{o:{f:{s:switch(0|(w=3&s)){case 0:break o;case 3:break s;default:break f}if(e=0,(r=r+o|0)>>>0>=u>>>0)break i;Je(g+(o<<2)|0,0,4+(252&s)|0),o=r;break n}for(;;){if((0|e)>=(0|y)&k>>>0>=m>>>0|(0|e)>(0|y))break a;if(u=A[k+v|0],s=e,s=(e=k+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r|=u<<(c<<3|6),(0|w)==(0|(c=c+1|0)))break}}f[g+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(u=f[a+12>>2])>>>0))break}if(y=a+16|0,g=f[a>>2],e=f[a+16>>2],(o=(r=f[a+20>>2]-e|0)>>2)>>>0<=524287?sr(y,524288-o|0):2097152!=(0|r)&&(f[a+20>>2]=e+2097152),o=f[(e=a+28|0)>>2],(r=f[a+32>>2]-o>>3)>>>0<u>>>0)cr(e,u-r|0),o=f[e>>2];else if(r>>>0>u>>>0&&(f[a+32>>2]=(u<<3)+o),!u)break a;for(c=0,e=0;;){if(k=f[(s=g+(c<<2)|0)>>2],r=e,f[4+(m=(c<<3)+o|0)>>2]=e,f[m>>2]=k,(e=(s=f[s>>2])+e|0)>>>0>524288)break a;if(!(e>>>0<=r>>>0)){if(m=f[y>>2],k=0,v=7&s)for(;f[m+(r<<2)>>2]=c,r=r+1|0,(0|v)!=(0|(k=k+1|0)););if(!(s-1>>>0<=6))for(;f[(s=m+(r<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(r=r+8|0))!=(0|e););}if((0|u)==(0|(c=c+1|0)))break}h=524288==(0|e)}e=h}i:if(!(!e|(f[a+12>>2]?0:d))&&kr(1,a+56|0,t)&&(s=(e=f[t+8>>2])-(r=o=f[t+16>>2])|0,h=f[a+60>>2],c=f[t+20>>2],!((0|h)==(0|(e=f[t+12>>2]-(c+(e>>>0<r>>>0)|0)|0))&s>>>0<(r=f[a+56>>2])>>>0|e>>>0<h>>>0||(e=c+h|0,e=(s=r+o|0)>>>0<r>>>0?e+1|0:e,f[t+16>>2]=s,f[t+20>>2]=e,(0|(e=r))<=0)))){t=o+f[t>>2]|0,f[a+40>>2]=t;a:if((s=A[0|(o=t+(r=e-1|0)|0)])>>>0<=63)f[a+44>>2]=r,e=63&A[0|o];else{switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;r=e-2|0,f[a+44>>2]=r,e=A[1+(e=(e+t|0)-2|0)|0]<<8&16128|A[0|e];break a;case 1:if(e>>>0<3)break i;r=e-3|0,f[a+44>>2]=r,e=A[2+(e=(e+t|0)-3|0)|0]<<16&4128768|A[e+1|0]<<8|A[0|e];break a}r=e-4|0,f[a+44>>2]=r,e=A[2+(e=(e+t|0)-4|0)|0]<<16|A[e+3|0]<<24&1056964608|A[e+1|0]<<8|A[0|e]}if(o=e+2097152|0,f[a+48>>2]=o,!(o>>>0>536870911))if(d)for(s=f[a+28>>2],e=0,h=f[a+16>>2];;){a:if(!(o>>>0>2097151))for(;;){if((0|r)<=0)break a;if(r=r-1|0,f[a+44>>2]=r,o=A[r+t|0]|o<<8,f[a+48>>2]=o,!(o>>>0<2097152))break}if(c=f[h+((_=524287&o)<<2)>>2],o=(p(f[(u=s+(c<<3)|0)>>2],o>>>19|0)+_|0)-f[u+4>>2]|0,f[a+48>>2]=o,f[(e<<2)+i>>2]=c,_=1,(0|d)==(0|(e=e+1|0)))break}else _=1}(e=f[a+28>>2])&&(f[a+32>>2]=e,ee(e)),(e=f[a+16>>2])&&(f[a+20>>2]=e,ee(e)),(e=f[a>>2])&&(f[a+4>>2]=e,ee(e)),V=a- -64|0,r=_;break r;case 17:r=H(e,t,i);break r;case 0:case 1:case 2:case 3:case 5:case 6:case 7:o=0,V=_=V+-64|0,f[_+48>>2]=0,f[_+40>>2]=0,f[_+44>>2]=0,f[_+32>>2]=0,f[_+36>>2]=0,f[_+24>>2]=0,f[_+28>>2]=0,f[_+16>>2]=0,f[_+20>>2]=0,f[_+8>>2]=0,f[_+12>>2]=0,f[_>>2]=0,f[_+4>>2]=0;i:if(!(!se(_,t)|(f[_+12>>2]?0:e))&&kr(1,_+56|0,t)&&(a=(r=f[t+8>>2])-(s=h=f[t+16>>2])|0,d=f[_+60>>2],c=f[t+20>>2],!((0|d)==(0|(s=f[t+12>>2]-(c+(r>>>0<s>>>0)|0)|0))&a>>>0<(r=f[_+56>>2])>>>0|s>>>0<d>>>0||(s=c+d|0,s=(a=r+h|0)>>>0<r>>>0?s+1|0:s,f[t+16>>2]=a,f[t+20>>2]=s,(0|r)<=0)))){s=h+f[t>>2]|0,f[_+40>>2]=s;a:if((a=A[0|(h=s+(t=r-1|0)|0)])>>>0<=63)f[_+44>>2]=t,r=63&A[0|h];else{switch((a>>>6|0)-1|0){case 0:if(r>>>0<2)break i;t=r-2|0,f[_+44>>2]=t,r=A[1+(r=(r+s|0)-2|0)|0]<<8&16128|A[0|r];break a;case 1:if(r>>>0<3)break i;t=r-3|0,f[_+44>>2]=t,r=A[2+(r=(r+s|0)-3|0)|0]<<16&4128768|A[r+1|0]<<8|A[0|r];break a}t=r-4|0,f[_+44>>2]=t,r=A[2+(r=(r+s|0)-4|0)|0]<<16|A[r+3|0]<<24&1056964608|A[r+1|0]<<8|A[0|r]}if(c=r+16384|0,f[_+48>>2]=c,!(c>>>0>4194303))if(e)for(r=f[_+28>>2],h=f[_+16>>2];;){a:if(!(c>>>0>16383))for(;;){if((0|t)<=0)break a;if(t=t-1|0,f[_+44>>2]=t,c=A[t+s|0]|c<<8,f[_+48>>2]=c,!(c>>>0<16384))break}if(a=f[h+((o=4095&c)<<2)>>2],c=(p(f[(d=r+(a<<3)|0)>>2],c>>>12|0)+o|0)-f[d+4>>2]|0,f[_+48>>2]=c,f[(k<<2)+i>>2]=a,o=1,(0|(k=k+1|0))==(0|e))break}else o=1}(e=f[_+28>>2])&&(f[_+32>>2]=e,ee(e)),(e=f[_+16>>2])&&(f[_+20>>2]=e,ee(e)),(e=f[_>>2])&&(f[_+4>>2]=e,ee(e)),V=_- -64|0,r=o;break r;case 13:case 14:case 15:case 16:break t;default:break r}r=H(e,t,i)}o=r}return o}function U(e){var r,t=0,i=0,a=0,n=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0,k=0;V=r=V-16|0;e:{r:{t:{i:{a:{n:{o:{f:{s:{c:{A:{if((e|=0)>>>0<=244){if(3&(t=(n=f[2881])>>>(i=(c=e>>>0<11?16:e+11&-8)>>>3|0)|0)){e=(o=f[11572+(t=(a=i+(1&(-1^t))|0)<<3)>>2])+8|0,(0|(i=f[o+8>>2]))!=(0|(t=t+11564|0))?(f[i+12>>2]=t,f[t+8>>2]=i):(p=11524,k=Vt(a)&n,f[p>>2]=k),t=a<<3,f[o+4>>2]=3|t,f[4+(t=t+o|0)>>2]=1|f[t+4>>2];break e}if((_=f[2883])>>>0>=c>>>0)break A;if(t){i=e=(t=(0-(e=(0-(e=2<<i)|e)&t<<i)&e)-1|0)>>>12&16,i|=e=(t=t>>>e|0)>>>5&8,i|=e=(t=t>>>e|0)>>>2&4,s=f[11572+(e=(i=((i|=e=(t=t>>>e|0)>>>1&2)|(e=(t=t>>>e|0)>>>1&1))+(t>>>e|0)|0)<<3)>>2],(0|(t=f[s+8>>2]))!=(0|(e=e+11564|0))?(f[t+12>>2]=e,f[e+8>>2]=t):(n=Vt(i)&n,f[2881]=n),e=s+8|0,f[s+4>>2]=3|c,o=(t=i<<3)-c|0,f[4+(a=s+c|0)>>2]=1|o,f[t+s>>2]=o,_&&(i=11564+((t=_>>>3|0)<<3)|0,s=f[2886],(t=1<<t)&n?t=f[i+8>>2]:(f[2881]=t|n,t=i),f[i+8>>2]=s,f[t+12>>2]=s,f[s+12>>2]=i,f[s+8>>2]=t),f[2886]=a,f[2883]=o;break e}if(!(u=f[2882]))break A;for(i=e=(t=(u&0-u)-1|0)>>>12&16,i|=e=(t=t>>>e|0)>>>5&8,i|=e=(t=t>>>e|0)>>>2&4,t=f[11828+(((i|=e=(t=t>>>e|0)>>>1&2)|(e=(t=t>>>e|0)>>>1&1))+(t>>>e|0)<<2)>>2],a=(-8&f[t+4>>2])-c|0,i=t;(e=f[i+16>>2])||(e=f[i+20>>2]);)a=(o=(i=(-8&f[e+4>>2])-c|0)>>>0<a>>>0)?i:a,t=o?e:t,i=e;if(b=f[t+24>>2],(0|(o=f[t+12>>2]))!=(0|t)){e=f[t+8>>2],f[e+12>>2]=o,f[o+8>>2]=e;break r}if(!(e=f[(i=t+20|0)>>2])){if(!(e=f[t+16>>2]))break c;i=t+16|0}for(;s=i,o=e,(e=f[(i=e+20|0)>>2])||(i=o+16|0,e=f[o+16>>2]););f[s>>2]=0;break r}if(c=-1,!(e>>>0>4294967231)&&(c=-8&(e=e+11|0),u=f[2882])){a=0-c|0,n=0,c>>>0<256||(n=31,c>>>0>16777215||(e=e>>>8|0,e<<=s=e+1048320>>>16&8,n=28+((e=((e<<=i=e+520192>>>16&4)<<(t=e+245760>>>16&2)>>>15|0)-(t|i|s)|0)<<1|c>>>e+21&1)|0));b:{l:{if(i=f[11828+(n<<2)>>2])for(e=0,t=c<<(31==(0|n)?0:25-(n>>>1|0)|0);;){if(!((s=(-8&f[i+4>>2])-c|0)>>>0>=a>>>0||(o=i,a=s))){a=0,e=i;break l}if(s=f[i+20>>2],i=f[16+((t>>>29&4)+i|0)>>2],e=s?(0|s)==(0|i)?e:s:e,t<<=1,!i)break}else e=0;if(!(e|o)){if(o=0,!(e=(0-(e=2<<n)|e)&u))break A;i=e=(t=(e&0-e)-1|0)>>>12&16,i|=e=(t=t>>>e|0)>>>5&8,i|=e=(t=t>>>e|0)>>>2&4,e=f[11828+(((i|=e=(t=t>>>e|0)>>>1&2)|(e=(t=t>>>e|0)>>>1&1))+(t>>>e|0)<<2)>>2]}if(!e)break b}for(;a=(i=(t=(-8&f[e+4>>2])-c|0)>>>0<a>>>0)?t:a,o=i?e:o,e=(t=f[e+16>>2])||f[e+20>>2];);}if(!(!o|f[2883]-c>>>0<=a>>>0)){if(n=f[o+24>>2],(0|o)!=(0|(t=f[o+12>>2]))){e=f[o+8>>2],f[e+12>>2]=t,f[t+8>>2]=e;break t}if(!(e=f[(i=o+20|0)>>2])){if(!(e=f[o+16>>2]))break s;i=o+16|0}for(;s=i,t=e,(e=f[(i=e+20|0)>>2])||(i=t+16|0,e=f[t+16>>2]););f[s>>2]=0;break t}}}if((i=f[2883])>>>0>=c>>>0){a=f[2886],(t=i-c|0)>>>0>=16?(f[2883]=t,e=a+c|0,f[2886]=e,f[e+4>>2]=1|t,f[i+a>>2]=t,f[a+4>>2]=3|c):(f[2886]=0,f[2883]=0,f[a+4>>2]=3|i,f[4+(e=i+a|0)>>2]=1|f[e+4>>2]),e=a+8|0;break e}if((b=f[2884])>>>0>c>>>0){t=b-c|0,f[2884]=t,e=(i=f[2887])+c|0,f[2887]=e,f[e+4>>2]=1|t,f[i+4>>2]=3|c,e=i+8|0;break e}if(e=0,u=c+47|0,f[2999]?i=f[3001]:(f[3002]=-1,f[3003]=-1,f[3e3]=4096,f[3001]=4096,f[2999]=r+12&-16^1431655768,f[3004]=0,f[2992]=0,i=4096),(i=(s=u+i|0)&(o=0-i|0))>>>0<=c>>>0)break e;if((a=f[2991])&&a>>>0<(n=(t=f[2989])+i|0)>>>0|t>>>0>=n>>>0)break e;if(4&A[11968])break n;A:{b:{if(a=f[2887])for(e=11972;;){if((t=f[e>>2])>>>0<=a>>>0&a>>>0<t+f[e+4>>2]>>>0)break b;if(!(e=f[e+8>>2]))break}if(-1==(0|(t=tt(0))))break o;if(n=i,(e=(a=f[3e3])-1|0)&t&&(n=(i-t|0)+(e+t&0-a)|0),n>>>0<=c>>>0|n>>>0>2147483646)break o;if((a=f[2991])&&a>>>0<(o=(e=f[2989])+n|0)>>>0|e>>>0>=o>>>0)break o;if((0|t)!=(0|(e=tt(n))))break A;break a}if((n=o&s-b)>>>0>2147483646)break o;if((0|(t=tt(n)))==(f[e>>2]+f[e+4>>2]|0))break f;e=t}if(!(-1==(0|e)|c+48>>>0<=n>>>0)){if((t=(t=f[3001])+(u-n|0)&0-t)>>>0>2147483646){t=e;break a}if(-1!=(0|tt(t))){n=t+n|0,t=e;break a}tt(0-n|0);break o}if(t=e,-1!=(0|e))break a;break o}o=0;break r}t=0;break t}if(-1!=(0|t))break a}f[2992]=4|f[2992]}if(i>>>0>2147483646)break i;if(-1==(0|(t=tt(i)))|-1==(0|(e=tt(0)))|e>>>0<=t>>>0)break i;if((n=e-t|0)>>>0<=c+40>>>0)break i}e=f[2989]+n|0,f[2989]=e,e>>>0>l[2990]&&(f[2990]=e);a:{n:{o:{if(s=f[2887]){for(e=11972;;){if(((a=f[e>>2])+(i=f[e+4>>2])|0)==(0|t))break o;if(!(e=f[e+8>>2]))break}break n}for((e=f[2885])>>>0<=t>>>0&&e||(f[2885]=t),e=0,f[2994]=n,f[2993]=t,f[2889]=-1,f[2890]=f[2999],f[2996]=0;i=11564+(a=e<<3)|0,f[a+11572>>2]=i,f[a+11576>>2]=i,32!=(0|(e=e+1|0)););i=(a=n-40|0)-(e=t+8&7?-8-t&7:0)|0,f[2884]=i,e=e+t|0,f[2887]=e,f[e+4>>2]=1|i,f[4+(t+a|0)>>2]=40,f[2888]=f[3003];break a}if(!(8&A[e+12|0]|a>>>0>s>>>0|t>>>0<=s>>>0)){f[e+4>>2]=i+n,i=(e=s+8&7?-8-s&7:0)+s|0,f[2887]=i,e=(t=f[2884]+n|0)-e|0,f[2884]=e,f[i+4>>2]=1|e,f[4+(t+s|0)>>2]=40,f[2888]=f[3003];break a}}l[2885]>t>>>0&&(f[2885]=t),i=t+n|0,e=11972;n:{o:{f:{s:{c:{A:{for(;;){if((0|i)!=f[e>>2]){if(e=f[e+8>>2])continue;break A}break}if(!(8&A[e+12|0]))break c}for(e=11972;;){if((i=f[e>>2])>>>0<=s>>>0&&(o=i+f[e+4>>2]|0)>>>0>s>>>0)break s;e=f[e+8>>2]}}if(f[e>>2]=t,f[e+4>>2]=f[e+4>>2]+n,f[4+(u=(t+8&7?-8-t&7:0)+t|0)>>2]=3|c,i=(n=i+(i+8&7?-8-i&7:0)|0)-(b=c+u|0)|0,(0|n)==(0|s)){f[2887]=b,e=f[2884]+i|0,f[2884]=e,f[b+4>>2]=1|e;break o}if(f[2886]==(0|n)){f[2886]=b,e=f[2883]+i|0,f[2883]=e,f[b+4>>2]=1|e,f[e+b>>2]=e;break o}if(1==(3&(e=f[n+4>>2]))){s=-8&e;c:if(e>>>0<=255){if(a=f[n+8>>2],e=e>>>3|0,(0|(t=f[n+12>>2]))==(0|a)){p=11524,k=f[2881]&Vt(e),f[p>>2]=k;break c}f[a+12>>2]=t,f[t+8>>2]=a}else{if(c=f[n+24>>2],(0|n)==(0|(t=f[n+12>>2])))if((a=f[(e=n+20|0)>>2])||(a=f[(e=n+16|0)>>2])){for(;o=e,(a=f[(e=(t=a)+20|0)>>2])||(e=t+16|0,a=f[t+16>>2]););f[o>>2]=0}else t=0;else e=f[n+8>>2],f[e+12>>2]=t,f[t+8>>2]=e;if(c){a=f[n+28>>2];A:{if(f[(e=11828+(a<<2)|0)>>2]==(0|n)){if(f[e>>2]=t,t)break A;p=11528,k=f[2882]&Vt(a),f[p>>2]=k;break c}if(f[c+(f[c+16>>2]==(0|n)?16:20)>>2]=t,!t)break c}f[t+24>>2]=c,(e=f[n+16>>2])&&(f[t+16>>2]=e,f[e+24>>2]=t),(e=f[n+20>>2])&&(f[t+20>>2]=e,f[e+24>>2]=t)}}n=n+s|0,i=i+s|0}if(f[n+4>>2]=-2&f[n+4>>2],f[b+4>>2]=1|i,f[i+b>>2]=i,i>>>0<=255){t=11564+((e=i>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[t+8>>2]:(f[2881]=e|i,e=t),f[t+8>>2]=b,f[e+12>>2]=b,f[b+12>>2]=t,f[b+8>>2]=e;break o}if(e=31,i>>>0<=16777215&&(e=i>>>8|0,e<<=o=e+1048320>>>16&8,e=28+((e=((e<<=a=e+520192>>>16&4)<<(t=e+245760>>>16&2)>>>15|0)-(t|a|o)|0)<<1|i>>>e+21&1)|0),f[b+28>>2]=e,f[b+16>>2]=0,f[b+20>>2]=0,o=11828+(e<<2)|0,(a=f[2882])&(t=1<<e)){for(e=i<<(31==(0|e)?0:25-(e>>>1|0)|0),t=f[o>>2];;){if(a=t,(-8&f[t+4>>2])==(0|i))break f;if(t=e>>>29|0,e<<=1,!(t=f[16+(o=a+(4&t)|0)>>2]))break}f[o+16>>2]=b,f[b+24>>2]=a}else f[2882]=t|a,f[o>>2]=b,f[b+24>>2]=o;f[b+12>>2]=b,f[b+8>>2]=b;break o}for(i=(a=n-40|0)-(e=t+8&7?-8-t&7:0)|0,f[2884]=i,e=e+t|0,f[2887]=e,f[e+4>>2]=1|i,f[4+(t+a|0)>>2]=40,f[2888]=f[3003],f[(i=(e=(o+(o-39&7?39-o&7:0)|0)-47|0)>>>0<s+16>>>0?s:e)+4>>2]=27,e=f[2996],f[i+16>>2]=f[2995],f[i+20>>2]=e,e=f[2994],f[i+8>>2]=f[2993],f[i+12>>2]=e,f[2995]=i+8,f[2994]=n,f[2993]=t,f[2996]=0,e=i+24|0;f[e+4>>2]=7,t=e+8|0,e=e+4|0,t>>>0<o>>>0;);if((0|i)==(0|s))break a;if(f[i+4>>2]=-2&f[i+4>>2],o=i-s|0,f[s+4>>2]=1|o,f[i>>2]=o,o>>>0<=255){t=11564+((e=o>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[t+8>>2]:(f[2881]=e|i,e=t),f[t+8>>2]=s,f[e+12>>2]=s,f[s+12>>2]=t,f[s+8>>2]=e;break a}if(e=31,f[s+16>>2]=0,f[s+20>>2]=0,o>>>0<=16777215&&(e=o>>>8|0,e<<=a=e+1048320>>>16&8,e=28+((e=((e<<=i=e+520192>>>16&4)<<(t=e+245760>>>16&2)>>>15|0)-(t|i|a)|0)<<1|o>>>e+21&1)|0),f[s+28>>2]=e,a=11828+(e<<2)|0,(i=f[2882])&(t=1<<e)){for(e=o<<(31==(0|e)?0:25-(e>>>1|0)|0),t=f[a>>2];;){if(i=t,(0|o)==(-8&f[t+4>>2]))break n;if(t=e>>>29|0,e<<=1,!(t=f[16+(a=i+(4&t)|0)>>2]))break}f[a+16>>2]=s,f[s+24>>2]=i}else f[2882]=t|i,f[a>>2]=s,f[s+24>>2]=a;f[s+12>>2]=s,f[s+8>>2]=s;break a}e=f[a+8>>2],f[e+12>>2]=b,f[a+8>>2]=b,f[b+24>>2]=0,f[b+12>>2]=a,f[b+8>>2]=e}e=u+8|0;break e}e=f[i+8>>2],f[e+12>>2]=s,f[i+8>>2]=s,f[s+24>>2]=0,f[s+12>>2]=i,f[s+8>>2]=e}if(!((e=f[2884])>>>0<=c>>>0)){t=e-c|0,f[2884]=t,e=(i=f[2887])+c|0,f[2887]=e,f[e+4>>2]=1|t,f[i+4>>2]=3|c,e=i+8|0;break e}}f[2879]=48,e=0;break e}t:if(n){i=f[o+28>>2];i:{if(f[(e=11828+(i<<2)|0)>>2]==(0|o)){if(f[e>>2]=t,t)break i;u=Vt(i)&u,f[2882]=u;break t}if(f[n+(f[n+16>>2]==(0|o)?16:20)>>2]=t,!t)break t}f[t+24>>2]=n,(e=f[o+16>>2])&&(f[t+16>>2]=e,f[e+24>>2]=t),(e=f[o+20>>2])&&(f[t+20>>2]=e,f[e+24>>2]=t)}t:if(a>>>0<=15)e=a+c|0,f[o+4>>2]=3|e,f[4+(e=e+o|0)>>2]=1|f[e+4>>2];else if(f[o+4>>2]=3|c,f[4+(n=o+c|0)>>2]=1|a,f[a+n>>2]=a,a>>>0<=255)t=11564+((e=a>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[t+8>>2]:(f[2881]=e|i,e=t),f[t+8>>2]=n,f[e+12>>2]=n,f[n+12>>2]=t,f[n+8>>2]=e;else{e=31,a>>>0<=16777215&&(e=a>>>8|0,e<<=s=e+1048320>>>16&8,e=28+((e=((e<<=i=e+520192>>>16&4)<<(t=e+245760>>>16&2)>>>15|0)-(t|i|s)|0)<<1|a>>>e+21&1)|0),f[n+28>>2]=e,f[n+16>>2]=0,f[n+20>>2]=0,t=11828+(e<<2)|0;i:{if((i=1<<e)&u){for(e=a<<(31==(0|e)?0:25-(e>>>1|0)|0),c=f[t>>2];;){if((-8&f[(t=c)+4>>2])==(0|a))break i;if(i=e>>>29|0,e<<=1,!(c=f[16+(i=(4&i)+t|0)>>2]))break}f[i+16>>2]=n}else f[2882]=i|u,f[t>>2]=n;f[n+24>>2]=t,f[n+12>>2]=n,f[n+8>>2]=n;break t}e=f[t+8>>2],f[e+12>>2]=n,f[t+8>>2]=n,f[n+24>>2]=0,f[n+12>>2]=t,f[n+8>>2]=e}e=o+8|0;break e}r:if(b){i=f[t+28>>2];t:{if(f[(e=11828+(i<<2)|0)>>2]==(0|t)){if(f[e>>2]=o,o)break t;p=11528,k=Vt(i)&u,f[p>>2]=k;break r}if(f[b+(f[b+16>>2]==(0|t)?16:20)>>2]=o,!o)break r}f[o+24>>2]=b,(e=f[t+16>>2])&&(f[o+16>>2]=e,f[e+24>>2]=o),(e=f[t+20>>2])&&(f[o+20>>2]=e,f[e+24>>2]=o)}a>>>0<=15?(e=a+c|0,f[t+4>>2]=3|e,f[4+(e=e+t|0)>>2]=1|f[e+4>>2]):(f[t+4>>2]=3|c,f[4+(o=t+c|0)>>2]=1|a,f[a+o>>2]=a,_&&(i=11564+((e=_>>>3|0)<<3)|0,s=f[2886],(e=1<<e)&n?e=f[i+8>>2]:(f[2881]=e|n,e=i),f[i+8>>2]=s,f[e+12>>2]=s,f[s+12>>2]=i,f[s+8>>2]=e),f[2886]=o,f[2883]=a),e=t+8|0}return V=r+16|0,0|e}function I(e,r,t,i){var a,s=0,c=0,b=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;if(V=a=V-80|0,s=f[t+36>>2],f[a+72>>2]=f[t+32>>2],f[a+76>>2]=s,c=f[t+28>>2],f[(s=a- -64|0)>>2]=f[t+24>>2],f[s+4>>2]=c,s=f[t+20>>2],f[a+56>>2]=f[t+16>>2],f[a+60>>2]=s,s=f[t+12>>2],f[a+48>>2]=f[t+8>>2],f[a+52>>2]=s,s=f[t+4>>2],f[a+40>>2]=f[t>>2],f[a+44>>2]=s,z(e,a+40|0,a+24|0),!f[e>>2])if(k=e+4|0,n[e+15|0]<0&&ee(f[k>>2]),1==A[a+31|0]){V=u=V-16|0;e:{switch(A[a+32|0]){case 0:et(s=_t(48)),f[s>>2]=9896,f[a+8>>2]=0,f[a+12>>2]=0,f[a>>2]=0,f[a+4>>2]=0,f[a+16>>2]=s;break e;case 1:et(s=_t(52)),f[s+48>>2]=0,f[s>>2]=8204,f[a+8>>2]=0,f[a+12>>2]=0,f[a>>2]=0,f[a+4>>2]=0,f[a+16>>2]=s;break e}c=_t(32),s=A[1664]|A[1665]<<8|A[1666]<<16|A[1667]<<24,n[c+24|0]=s,n[c+25|0]=s>>>8,n[c+26|0]=s>>>16,n[c+27|0]=s>>>24,s=A[1660]|A[1661]<<8|A[1662]<<16|A[1663]<<24,b=A[1656]|A[1657]<<8|A[1658]<<16|A[1659]<<24,n[c+16|0]=b,n[c+17|0]=b>>>8,n[c+18|0]=b>>>16,n[c+19|0]=b>>>24,n[c+20|0]=s,n[c+21|0]=s>>>8,n[c+22|0]=s>>>16,n[c+23|0]=s>>>24,s=A[1652]|A[1653]<<8|A[1654]<<16|A[1655]<<24,b=A[1648]|A[1649]<<8|A[1650]<<16|A[1651]<<24,n[c+8|0]=b,n[c+9|0]=b>>>8,n[c+10|0]=b>>>16,n[c+11|0]=b>>>24,n[c+12|0]=s,n[c+13|0]=s>>>8,n[c+14|0]=s>>>16,n[c+15|0]=s>>>24,s=A[1644]|A[1645]<<8|A[1646]<<16|A[1647]<<24,b=A[1640]|A[1641]<<8|A[1642]<<16|A[1643]<<24,n[0|c]=b,n[c+1|0]=b>>>8,n[c+2|0]=b>>>16,n[c+3|0]=b>>>24,n[c+4|0]=s,n[c+5|0]=s>>>8,n[c+6|0]=s>>>16,n[c+7|0]=s>>>24,n[c+28|0]=0,f[u>>2]=-1,Fr(s=4|u,c,28),p=n[u+15|0],f[a>>2]=f[u>>2],b=a+4|0,(0|p)>=0?(p=f[s+4>>2],f[b>>2]=f[s>>2],f[b+4>>2]=p,f[b+8>>2]=f[s+8>>2]):Fr(b,f[u+4>>2],f[u+8>>2]),f[a+16>>2]=0,n[u+15|0]<0&&ee(f[u+4>>2]),ee(c)}V=u+16|0;e:if(s=f[a>>2]){if(f[e>>2]=s,n[a+15|0]>=0){r=f[4+(e=4|a)>>2],f[k>>2]=f[e>>2],f[k+4>>2]=r,f[k+8>>2]=f[e+8>>2];break e}Fr(k,f[a+4>>2],f[a+8>>2])}else{s=f[a+16>>2],f[a+16>>2]=0,f[s+44>>2]=i,V=u=V-32|0,f[s+32>>2]=t,f[s+40>>2]=r,f[s+4>>2]=i,z(e,t,u+16|0);r:if(!f[e>>2])if(c=e+4|0,n[e+15|0]<0&&ee(f[c>>2]),r=A[u+23|0],(0|yi[f[f[s>>2]+8>>2]](s))==(0|r))if(t=A[u+21|0],n[s+36|0]=t,i=A[u+22|0],n[s+37|0]=i,2==(0|t))if((0|(r=r?2:3))==(0|i)){if(o[f[s+32>>2]+38>>1]=512|r,!(o[u+26>>1]>=0)){V=p=V-16|0,i=_t(36),f[(r=i)+4>>2]=0,f[r+8>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,f[(r=r+16|0)>>2]=0,f[r+4>>2]=0,f[i>>2]=i+4,f[i+32>>2]=0,f[i+12>>2]=r,f[p>>2]=0,t=f[s+32>>2],V=d=V-16|0,r=0;t:if(i&&(f[p>>2]=t,f[d+12>>2]=0,r=0,wr(1,d+12|0,t))){if(y=f[d+12>>2])for(;;){i:{if(wr(1,d+8|0,f[p>>2])){if(r=_t(28),f[r+4>>2]=0,f[r+8>>2]=0,f[(t=r+16|0)>>2]=0,f[t+4>>2]=0,f[r>>2]=r+4,f[r+12>>2]=t,f[r+24>>2]=f[d+8>>2],B(p,r))break i;at(r+12|0,f[r+16>>2]),lt(r,f[r+4>>2]),ee(r)}r=0;break t}if(V=b=V-16|0,f[b+8>>2]=r,r){if((t=f[i+28>>2])>>>0<l[i+32>>2])f[b+8>>2]=0,f[t>>2]=r,f[i+28>>2]=t+4;else{t=0;i:{a:{n:{if(_=f[i+24>>2],(r=1+(h=f[i+28>>2]-_>>2)|0)>>>0<1073741824){if(m=(_=f[i+32>>2]-_|0)>>1,r=_>>2>>>0<536870911?r>>>0>m>>>0?r:m:1073741823){if(r>>>0>=1073741824)break n;t=_t(r<<2)}if(m=f[b+8>>2],f[b+8>>2]=0,f[(_=(h<<2)+t|0)>>2]=m,h=(r<<2)+t|0,m=_+4|0,(0|(t=f[i+28>>2]))==(0|(r=f[i+24>>2])))break a;for(;g=f[(t=t-4|0)>>2],f[t>>2]=0,f[(_=_-4|0)>>2]=g,(0|r)!=(0|t););if(f[i+32>>2]=h,t=f[i+28>>2],f[i+28>>2]=m,r=f[i+24>>2],f[i+24>>2]=_,(0|r)==(0|t))break i;for(;_=f[(t=t-4|0)>>2],f[t>>2]=0,_&&(at(_+12|0,f[_+16>>2]),lt(_,f[_+4>>2]),ee(_)),(0|r)!=(0|t););break i}oi(),T()}Hr(1326),T()}f[i+32>>2]=h,f[i+28>>2]=m,f[i+24>>2]=_}r&&ee(r)}r=f[b+8>>2],f[b+8>>2]=0,r&&(at(r+12|0,f[r+16>>2]),lt(r,f[r+4>>2]),ee(r))}else f[b+8>>2]=0;if(V=b+16|0,(0|(v=v+1|0))==(0|y))break}r=B(p,i)}if(V=d+16|0,r?(t=f[s+4>>2],r=f[t+4>>2],f[t+4>>2]=i,r&&Vr(r),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0):(r=_t(32),t=A[1693]|A[1694]<<8,n[r+24|0]=t,n[r+25|0]=t>>>8,t=A[1689]|A[1690]<<8|A[1691]<<16|A[1692]<<24,b=A[1685]|A[1686]<<8|A[1687]<<16|A[1688]<<24,n[r+16|0]=b,n[r+17|0]=b>>>8,n[r+18|0]=b>>>16,n[r+19|0]=b>>>24,n[r+20|0]=t,n[r+21|0]=t>>>8,n[r+22|0]=t>>>16,n[r+23|0]=t>>>24,t=A[1681]|A[1682]<<8|A[1683]<<16|A[1684]<<24,b=A[1677]|A[1678]<<8|A[1679]<<16|A[1680]<<24,n[r+8|0]=b,n[r+9|0]=b>>>8,n[r+10|0]=b>>>16,n[r+11|0]=b>>>24,n[r+12|0]=t,n[r+13|0]=t>>>8,n[r+14|0]=t>>>16,n[r+15|0]=t>>>24,t=A[1673]|A[1674]<<8|A[1675]<<16|A[1676]<<24,b=A[1669]|A[1670]<<8|A[1671]<<16|A[1672]<<24,n[0|r]=b,n[r+1|0]=b>>>8,n[r+2|0]=b>>>16,n[r+3|0]=b>>>24,n[r+4|0]=t,n[r+5|0]=t>>>8,n[r+6|0]=t>>>16,n[r+7|0]=t>>>24,n[r+26|0]=0,f[e>>2]=-1,Fr(e+4|0,r,26),ee(r),f[p+8>>2]=0,Vr(i)),V=p+16|0,f[e>>2])break r;n[c+11|0]>=0||ee(f[c>>2])}if(0|yi[f[f[s>>2]+12>>2]](s))if(0|yi[f[f[s>>2]+20>>2]](s))if(0|yi[f[f[s>>2]+24>>2]](s))f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0;else{if(r=Qr(u,1451),f[e>>2]=-1,n[r+11|0]>=0){r=f[u+4>>2],f[c>>2]=f[u>>2],f[c+4>>2]=r,f[c+8>>2]=f[u+8>>2];break r}if(Fr(c,f[r>>2],f[r+4>>2]),n[r+11|0]>=0)break r;ee(f[r>>2])}else{if(r=Qr(u,1696),f[e>>2]=-1,n[r+11|0]>=0){r=f[u+4>>2],f[c>>2]=f[u>>2],f[c+4>>2]=r,f[c+8>>2]=f[u+8>>2];break r}if(Fr(c,f[r>>2],f[r+4>>2]),n[r+11|0]>=0)break r;ee(f[r>>2])}else r=_t(48),n[r+32|0]=A[1518],t=A[1514]|A[1515]<<8|A[1516]<<16|A[1517]<<24,i=A[1510]|A[1511]<<8|A[1512]<<16|A[1513]<<24,n[r+24|0]=i,n[r+25|0]=i>>>8,n[r+26|0]=i>>>16,n[r+27|0]=i>>>24,n[r+28|0]=t,n[r+29|0]=t>>>8,n[r+30|0]=t>>>16,n[r+31|0]=t>>>24,t=A[1506]|A[1507]<<8|A[1508]<<16|A[1509]<<24,i=A[1502]|A[1503]<<8|A[1504]<<16|A[1505]<<24,n[r+16|0]=i,n[r+17|0]=i>>>8,n[r+18|0]=i>>>16,n[r+19|0]=i>>>24,n[r+20|0]=t,n[r+21|0]=t>>>8,n[r+22|0]=t>>>16,n[r+23|0]=t>>>24,t=A[1498]|A[1499]<<8|A[1500]<<16|A[1501]<<24,i=A[1494]|A[1495]<<8|A[1496]<<16|A[1497]<<24,n[r+8|0]=i,n[r+9|0]=i>>>8,n[r+10|0]=i>>>16,n[r+11|0]=i>>>24,n[r+12|0]=t,n[r+13|0]=t>>>8,n[r+14|0]=t>>>16,n[r+15|0]=t>>>24,t=A[1490]|A[1491]<<8|A[1492]<<16|A[1493]<<24,i=A[1486]|A[1487]<<8|A[1488]<<16|A[1489]<<24,n[0|r]=i,n[r+1|0]=i>>>8,n[r+2|0]=i>>>16,n[r+3|0]=i>>>24,n[r+4|0]=t,n[r+5|0]=t>>>8,n[r+6|0]=t>>>16,n[r+7|0]=t>>>24,n[r+33|0]=0,f[e>>2]=-1,Fr(c,r,33),ee(r)}else r=_t(32),t=A[1544]|A[1545]<<8,n[r+24|0]=t,n[r+25|0]=t>>>8,t=A[1540]|A[1541]<<8|A[1542]<<16|A[1543]<<24,i=A[1536]|A[1537]<<8|A[1538]<<16|A[1539]<<24,n[r+16|0]=i,n[r+17|0]=i>>>8,n[r+18|0]=i>>>16,n[r+19|0]=i>>>24,n[r+20|0]=t,n[r+21|0]=t>>>8,n[r+22|0]=t>>>16,n[r+23|0]=t>>>24,t=A[1532]|A[1533]<<8|A[1534]<<16|A[1535]<<24,i=A[1528]|A[1529]<<8|A[1530]<<16|A[1531]<<24,n[r+8|0]=i,n[r+9|0]=i>>>8,n[r+10|0]=i>>>16,n[r+11|0]=i>>>24,n[r+12|0]=t,n[r+13|0]=t>>>8,n[r+14|0]=t>>>16,n[r+15|0]=t>>>24,t=A[1524]|A[1525]<<8|A[1526]<<16|A[1527]<<24,i=A[1520]|A[1521]<<8|A[1522]<<16|A[1523]<<24,n[0|r]=i,n[r+1|0]=i>>>8,n[r+2|0]=i>>>16,n[r+3|0]=i>>>24,n[r+4|0]=t,n[r+5|0]=t>>>8,n[r+6|0]=t>>>16,n[r+7|0]=t>>>24,n[r+26|0]=0,f[e>>2]=-5,Fr(c,r,26),ee(r);else r=_t(32),t=A[1571]|A[1572]<<8,n[r+24|0]=t,n[r+25|0]=t>>>8,t=A[1567]|A[1568]<<8|A[1569]<<16|A[1570]<<24,i=A[1563]|A[1564]<<8|A[1565]<<16|A[1566]<<24,n[r+16|0]=i,n[r+17|0]=i>>>8,n[r+18|0]=i>>>16,n[r+19|0]=i>>>24,n[r+20|0]=t,n[r+21|0]=t>>>8,n[r+22|0]=t>>>16,n[r+23|0]=t>>>24,t=A[1559]|A[1560]<<8|A[1561]<<16|A[1562]<<24,i=A[1555]|A[1556]<<8|A[1557]<<16|A[1558]<<24,n[r+8|0]=i,n[r+9|0]=i>>>8,n[r+10|0]=i>>>16,n[r+11|0]=i>>>24,n[r+12|0]=t,n[r+13|0]=t>>>8,n[r+14|0]=t>>>16,n[r+15|0]=t>>>24,t=A[1551]|A[1552]<<8|A[1553]<<16|A[1554]<<24,i=A[1547]|A[1548]<<8|A[1549]<<16|A[1550]<<24,n[0|r]=i,n[r+1|0]=i>>>8,n[r+2|0]=i>>>16,n[r+3|0]=i>>>24,n[r+4|0]=t,n[r+5|0]=t>>>8,n[r+6|0]=t>>>16,n[r+7|0]=t>>>24,n[r+26|0]=0,f[e>>2]=-5,Fr(c,r,26),ee(r);else r=_t(64),t=A[1448]|A[1449]<<8,n[r+48|0]=t,n[r+49|0]=t>>>8,t=A[1444]|A[1445]<<8|A[1446]<<16|A[1447]<<24,i=A[1440]|A[1441]<<8|A[1442]<<16|A[1443]<<24,n[r+40|0]=i,n[r+41|0]=i>>>8,n[r+42|0]=i>>>16,n[r+43|0]=i>>>24,n[r+44|0]=t,n[r+45|0]=t>>>8,n[r+46|0]=t>>>16,n[r+47|0]=t>>>24,t=A[1436]|A[1437]<<8|A[1438]<<16|A[1439]<<24,i=A[1432]|A[1433]<<8|A[1434]<<16|A[1435]<<24,n[r+32|0]=i,n[r+33|0]=i>>>8,n[r+34|0]=i>>>16,n[r+35|0]=i>>>24,n[r+36|0]=t,n[r+37|0]=t>>>8,n[r+38|0]=t>>>16,n[r+39|0]=t>>>24,t=A[1428]|A[1429]<<8|A[1430]<<16|A[1431]<<24,i=A[1424]|A[1425]<<8|A[1426]<<16|A[1427]<<24,n[r+24|0]=i,n[r+25|0]=i>>>8,n[r+26|0]=i>>>16,n[r+27|0]=i>>>24,n[r+28|0]=t,n[r+29|0]=t>>>8,n[r+30|0]=t>>>16,n[r+31|0]=t>>>24,t=A[1420]|A[1421]<<8|A[1422]<<16|A[1423]<<24,i=A[1416]|A[1417]<<8|A[1418]<<16|A[1419]<<24,n[r+16|0]=i,n[r+17|0]=i>>>8,n[r+18|0]=i>>>16,n[r+19|0]=i>>>24,n[r+20|0]=t,n[r+21|0]=t>>>8,n[r+22|0]=t>>>16,n[r+23|0]=t>>>24,t=A[1412]|A[1413]<<8|A[1414]<<16|A[1415]<<24,i=A[1408]|A[1409]<<8|A[1410]<<16|A[1411]<<24,n[r+8|0]=i,n[r+9|0]=i>>>8,n[r+10|0]=i>>>16,n[r+11|0]=i>>>24,n[r+12|0]=t,n[r+13|0]=t>>>8,n[r+14|0]=t>>>16,n[r+15|0]=t>>>24,t=A[1404]|A[1405]<<8|A[1406]<<16|A[1407]<<24,i=A[1400]|A[1401]<<8|A[1402]<<16|A[1403]<<24,n[0|r]=i,n[r+1|0]=i>>>8,n[r+2|0]=i>>>16,n[r+3|0]=i>>>24,n[r+4|0]=t,n[r+5|0]=t>>>8,n[r+6|0]=t>>>16,n[r+7|0]=t>>>24,n[r+50|0]=0,f[e>>2]=-1,Fr(c,r,50),ee(r);V=u+32|0,f[e>>2]||(n[k+11|0]<0&&ee(f[k>>2]),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0),yi[f[f[s>>2]+4>>2]](s)}e=f[a+16>>2],f[a+16>>2]=0,e&&yi[f[f[e>>2]+4>>2]](e),n[a+15|0]>=0||ee(f[a+4>>2])}else r=_t(32),t=A[1590]|A[1591]<<8|A[1592]<<16|A[1593]<<24,n[r+16|0]=t,n[r+17|0]=t>>>8,n[r+18|0]=t>>>16,n[r+19|0]=t>>>24,t=A[1586]|A[1587]<<8|A[1588]<<16|A[1589]<<24,i=A[1582]|A[1583]<<8|A[1584]<<16|A[1585]<<24,n[r+8|0]=i,n[r+9|0]=i>>>8,n[r+10|0]=i>>>16,n[r+11|0]=i>>>24,n[r+12|0]=t,n[r+13|0]=t>>>8,n[r+14|0]=t>>>16,n[r+15|0]=t>>>24,t=A[1578]|A[1579]<<8|A[1580]<<16|A[1581]<<24,i=A[1574]|A[1575]<<8|A[1576]<<16|A[1577]<<24,n[0|r]=i,n[r+1|0]=i>>>8,n[r+2|0]=i>>>16,n[r+3|0]=i>>>24,n[r+4|0]=t,n[r+5|0]=t>>>8,n[r+6|0]=t>>>16,n[r+7|0]=t>>>24,n[r+20|0]=0,f[e>>2]=-1,Fr(k,r,20),ee(r);V=a+80|0}function B(e,r){var t,i=0,a=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0;V=t=V-48|0,i=_t(8),f[i+4>>2]=r,f[i>>2]=0,r=i+8|0,f[t+40>>2]=r,f[t+36>>2]=r,f[t+32>>2]=i;e:{r:{t:{i:{for(;;){if(_=f[4+(r=r-8|0)>>2],c=f[r>>2],f[t+36>>2]=r,c){f[t+24>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,i=1,r=f[e>>2],o=f[r+8>>2];a:if(!((0|(b=f[r+12>>2]))<=(0|(a=f[r+20>>2]))&(s=f[r+16>>2])>>>0>=o>>>0|(0|a)>(0|b))){if(o=A[s+f[r>>2]|0],a=(s=s+1|0)?a:a+1|0,f[r+16>>2]=s,f[r+20>>2]=a,Re(t+16|0,o),o){if(a=f[e>>2],k=ut(t+16|0),s=f[a+20>>2],r=o,d=(u=f[a+16>>2])+o|0,b=f[a+12>>2],s=o>>>0>d>>>0?s+1|0:s,d>>>0>l[a+8>>2]&(0|b)<=(0|s)|(0|s)>(0|b))break a;ge(k,u+f[a>>2]|0,o),i=f[a+20>>2],i=(o=r+f[a+16>>2]|0)>>>0<r>>>0?i+1|0:i,f[a+16>>2]=o,f[a+20>>2]=i}_=_t(24),f[(r=_)+4>>2]=0,f[r+8>>2]=0,f[(r=r+16|0)>>2]=0,f[r+4>>2]=0,f[_>>2]=_+4,f[_+12>>2]=r,V=o=V-32|0;n:if((0|(p=$e(s=c+12|0,i=t+16|0)))!=(0|(h=c+16|0)))_&&(at(_+12|0,f[_+16>>2]),lt(_,f[_+4>>2]),ee(_));else{f[o+16>>2]=i;o:{f:{if(r=f[s+4>>2])for(b=(c=(a=A[i+11|0])<<24>>24<0)?f[i>>2]:i,c=c?f[i+4>>2]:a,i=s+4|0;;){s:{c:{A:{b:{l:{u:if(u=(k=(a=(d=(a=A[r+27|0])<<24>>24<0)?f[r+20>>2]:a)>>>0<c>>>0)?a:c){if(m=r+16|0,!(m=Rr(b,d=d?f[m>>2]:m,u))){if(a>>>0>c>>>0)break u;break l}if((0|m)>=0)break l}else if(a>>>0<=c>>>0)break b;if(a=f[r>>2])break s;break f}if(a=Rr(d,b,u))break A}if(k)break c;break o}if((0|a)>=0)break o}if(i=r+4|0,!(a=f[r+4>>2]))break o;r=i}i=r,r=a}r=s+4|0}i=r}if((a=f[i>>2])?r=0:(b=(a=_t(32))+16|0,c=f[o+16>>2],n[c+11|0]>=0?(d=f[c+4>>2],f[b>>2]=f[c>>2],f[b+4>>2]=d,f[b+8>>2]=f[c+8>>2]):Fr(b,f[c>>2],f[c+4>>2]),f[a+8>>2]=r,f[a>>2]=0,f[a+4>>2]=0,f[a+28>>2]=0,f[i>>2]=a,(r=f[f[s>>2]>>2])?(f[s>>2]=r,r=f[i>>2]):r=a,Ce(f[s+4>>2],r),f[s+8>>2]=f[s+8>>2]+1,r=1),n[o+28|0]=r,f[o+24>>2]=a,i=f[o+24>>2],r=f[i+28>>2],f[i+28>>2]=_,!r)break n;at(r+12|0,f[r+16>>2]),lt(r,f[r+4>>2]),ee(r)}V=o+32|0,i=(0|p)!=(0|h)}if(n[t+27|0]<0&&ee(f[t+16>>2]),i)break r}if(!_)break r;if(f[t+16>>2]=0,!wr(1,t+16|0,f[e>>2]))break r;if(r=0,v=f[t+16>>2])for(;;){d=0,V=u=V-32|0,f[u+24>>2]=0,f[u+16>>2]=0,f[u+20>>2]=0,i=f[e>>2],o=f[i+8>>2];a:{n:{o:if(!((0|(s=f[i+12>>2]))<=(0|(a=f[i+20>>2]))&(c=f[i+16>>2])>>>0>=o>>>0|(0|a)>(0|s))){if(s=A[c+f[i>>2]|0],o=i,i=a,i=(a=c+1|0)?i:i+1|0,f[o+16>>2]=a,f[o+20>>2]=i,Re(u+16|0,s),s){if(o=f[e>>2],k=ut(u+16|0),a=f[o+20>>2],b=(p=f[o+16>>2])+(i=s)|0,c=f[o+12>>2],a=i>>>0>b>>>0?a+1|0:a,b>>>0>l[o+8>>2]&(0|c)<=(0|a)|(0|a)>(0|c))break o;ge(k,p+f[o>>2]|0,s),a=f[o+20>>2],a=(s=i+f[o+16>>2]|0)>>>0<i>>>0?a+1|0:a,f[o+16>>2]=s,f[o+20>>2]=a}if(f[u+12>>2]=0,wr(1,u+12|0,f[e>>2])&&(i=f[u+12>>2])){if(f[u+8>>2]=0,f[u>>2]=0,f[u+4>>2]=0,(0|i)<0)break n;if(a=_t(i),f[u>>2]=a,o=i+a|0,f[u+8>>2]=o,k=Je(a,0,i),f[u+4>>2]=o,o=f[e>>2],d=f[o+8>>2],c=f[o+12>>2],s=f[o+20>>2],d=(0|(s=(b=i+(p=f[o+16>>2])|0)>>>0<i>>>0?s+1|0:s))<=(0|c)&b>>>0<=d>>>0|(0|s)<(0|c)){if(ge(k,p+f[o>>2]|0,i),a=i,s=i+f[o+16>>2]|0,i=f[o+20>>2],f[o+16>>2]=s,f[o+20>>2]=a>>>0>s>>>0?i+1|0:i,V=c=V-48|0,(0|(a=$e(_,u+16|0)))!=(_+4|0)){f:if(o=f[a+4>>2])for(;s=o,o=f[o>>2];);else{if(s=f[a+8>>2],f[s>>2]==(0|a))break f;for(i=a+8|0;i=(o=f[i>>2])+8|0,s=f[o+8>>2],(0|o)!=f[s>>2];);}f[_>>2]==(0|a)&&(f[_>>2]=s),f[_+8>>2]=f[_+8>>2]-1,s=f[_+4>>2],b=a;f:{s:{if(o=f[a>>2]){if(!(i=f[b+4>>2]))break s;for(;a=i,i=f[i>>2];);}if(!(o=f[a+4>>2])){o=0,k=1;break f}}f[o+8>>2]=f[a+8>>2],k=0}p=f[a+8>>2];f:if((0|a)!=(0|(i=f[p>>2])))f[p+4>>2]=o;else{if(f[p>>2]=o,(0|a)==(0|s)){i=0,s=o;break f}i=f[p+4>>2]}m=!A[a+12|0],(0|a)!=(0|b)&&(p=f[b+8>>2],f[a+8>>2]=p,f[p+(((0|b)!=f[f[b+8>>2]>>2])<<2)>>2]=a,p=f[b>>2],f[a>>2]=p,f[p+8>>2]=a,p=f[b+4>>2],f[a+4>>2]=p,p&&(f[p+8>>2]=a),n[a+12|0]=A[b+12|0],s=(0|s)==(0|b)?a:s);f:if(!(m|!s)){if(k)for(;;){o=A[i+12|0];s:{if(a=f[i+8>>2],f[a>>2]!=(0|i)){o||(n[i+12|0]=1,n[a+12|0]=0,o=f[a+4>>2],k=f[o>>2],f[a+4>>2]=k,k&&(f[k+8>>2]=a),f[o+8>>2]=f[a+8>>2],k=f[a+8>>2],f[(((0|a)!=f[k>>2])<<2)+k>>2]=o,f[o>>2]=a,f[a+8>>2]=o,a=i,s=(0|(i=f[i>>2]))==(0|s)?a:s,i=f[i+4>>2]);c:{A:{a=f[i>>2];b:{if(A[a+12|0]||!a){if(o=f[i+4>>2],!A[o+12|0]&&o)break b;if(n[i+12|0]=0,(0|s)!=(0|(i=f[i+8>>2]))){if(A[i+12|0])break s}else i=s;n[i+12|0]=1;break f}if(!(o=f[i+4>>2]))break A}if(!A[o+12|0]){a=i;break c}}n[a+12|0]=1,n[i+12|0]=0,o=f[a+4>>2],f[i>>2]=o,o&&(f[o+8>>2]=i),f[a+8>>2]=f[i+8>>2],o=f[i+8>>2],f[((f[o>>2]!=(0|i))<<2)+o>>2]=a,f[a+4>>2]=i,f[i+8>>2]=a,o=i}i=f[a+8>>2],n[a+12|0]=A[i+12|0],n[i+12|0]=1,n[o+12|0]=1,a=f[i+4>>2],o=f[a>>2],f[i+4>>2]=o,o&&(f[o+8>>2]=i),f[a+8>>2]=f[i+8>>2],o=f[i+8>>2],f[(((0|i)!=f[o>>2])<<2)+o>>2]=a,f[a>>2]=i,f[i+8>>2]=a;break f}o||(n[i+12|0]=1,n[a+12|0]=0,o=f[i+4>>2],f[a>>2]=o,o&&(f[o+8>>2]=a),f[i+8>>2]=f[a+8>>2],o=f[a+8>>2],f[(((0|a)!=f[o>>2])<<2)+o>>2]=i,f[i+4>>2]=a,f[a+8>>2]=i,s=(0|a)==(0|s)?i:s,i=f[a>>2]);c:if(!(o=f[i>>2])|A[o+12|0]){if(a=f[i+4>>2],A[a+12|0]||!a){if(n[i+12|0]=0,(0|(i=f[i+8>>2]))!=(0|s)&&A[i+12|0])break s;n[i+12|0]=1;break f}if(o){if(!A[o+12|0]){a=i;break c}a=f[i+4>>2]}n[a+12|0]=1,n[i+12|0]=0,o=f[a>>2],f[i+4>>2]=o,o&&(f[o+8>>2]=i),f[a+8>>2]=f[i+8>>2],o=f[i+8>>2],f[((f[o>>2]!=(0|i))<<2)+o>>2]=a,f[a>>2]=i,f[i+8>>2]=a,o=i}else a=i;i=f[a+8>>2],n[a+12|0]=A[i+12|0],n[i+12|0]=1,n[o+12|0]=1,a=f[i>>2],o=f[a+4>>2],f[i>>2]=o,o&&(f[o+8>>2]=i),f[a+8>>2]=f[i+8>>2],o=f[i+8>>2],f[(((0|i)!=f[o>>2])<<2)+o>>2]=a,f[a+4>>2]=i,f[i+8>>2]=a;break f}a=i,i=f[i+8>>2],i=f[(((0|a)==f[i>>2])<<2)+i>>2]}n[o+12|0]=1}(i=f[b+28>>2])&&(f[b+32>>2]=i,ee(i)),n[b+27|0]<0&&ee(f[b+16>>2]),ee(b)}f[c>>2]=0,f[c+4>>2]=0,f[c+8>>2]=0,br(c,i=f[u+4>>2]-f[u>>2]|0),ge(f[c>>2],f[u>>2],i),n[u+27|0]>=0?(f[c+24>>2]=f[u+24>>2],i=f[u+20>>2],f[c+16>>2]=f[u+16>>2],f[c+20>>2]=i):Fr(c+16|0,f[u+16>>2],f[u+20>>2]),f[c+36>>2]=0,f[c+28>>2]=0,f[c+32>>2]=0,br(c+28|0,f[c+4>>2]-f[c>>2]|0),i=f[c>>2],ge(f[c+28>>2],i,f[c+4>>2]-i|0),a=s=c+16|0;f:{s:{if(i=f[_+4>>2])for(k=(b=(o=A[a+11|0])<<24>>24<0)?f[a>>2]:a,b=b?f[a+4>>2]:o,a=_+4|0;;){c:{A:{b:{l:{u:{_:if(m=(h=(o=(p=(o=A[i+27|0])<<24>>24<0)?f[i+20>>2]:o)>>>0<b>>>0)?o:b){if(y=i+16|0,!(y=Rr(k,p=p?f[y>>2]:y,m))){if(o>>>0>b>>>0)break _;break u}if((0|y)>=0)break u}else if(o>>>0<=b>>>0)break l;if(o=f[i>>2])break c;break s}if(o=Rr(p,k,m))break b}if(h)break A;break f}if((0|o)>=0)break f}if(a=i+4|0,!(o=f[i+4>>2]))break f;i=a}a=i,i=o}i=_+4|0}a=i}if((o=f[a>>2])?i=0:(o=_t(40),f[o+24>>2]=f[s+8>>2],b=f[s+4>>2],f[o+16>>2]=f[s>>2],f[o+20>>2]=b,f[s>>2]=0,f[s+4>>2]=0,f[s+8>>2]=0,f[o+36>>2]=0,f[(b=o+28|0)>>2]=0,f[b+4>>2]=0,br(b,f[s+16>>2]-f[s+12>>2]|0),ge(k=f[b>>2],b=f[s+12>>2],f[s+16>>2]-b|0),f[o+8>>2]=i,f[o>>2]=0,f[o+4>>2]=0,f[a>>2]=o,(i=f[f[_>>2]>>2])?(f[_>>2]=i,i=f[a>>2]):i=o,Ce(f[_+4>>2],i),f[_+8>>2]=f[_+8>>2]+1,i=1),n[c+44|0]=i,f[c+40>>2]=o,(i=f[c+28>>2])&&(f[c+32>>2]=i,ee(i)),n[c+27|0]<0&&ee(f[c+16>>2]),(i=f[c>>2])&&(f[c+4>>2]=i,ee(i)),V=c+48|0,!(a=f[u>>2]))break o}f[u+4>>2]=a,ee(a)}}n[u+27|0]<0&&ee(f[u+16>>2]),V=u+32|0;break a}oi(),T()}if(!d)break r;if((0|v)==(0|(r=r+1|0)))break}if(f[t+12>>2]=0,!wr(1,t+12|0,f[e>>2]))break r;if(r=f[e>>2],(o=(i=f[r+8>>2])-(a=f[r+16>>2])|0)>>>0<(s=f[t+12>>2])>>>0&(0|(r=f[r+12>>2]-(f[r+20>>2]+(i>>>0<a>>>0)|0)|0))<=0|(0|r)<0)break r;if(i=0,r=f[t+36>>2],s)for(;;){if((o=f[t+40>>2])>>>0>r>>>0)f[r+4>>2]=0,f[r>>2]=_,r=r+8|0,f[t+36>>2]=r;else{if((r=1+(b=(c=r-(a=f[t+32>>2])|0)>>3)|0)>>>0>=536870912)break i;if(d=(o=o-a|0)>>2,(r=o>>3>>>0<268435455?r>>>0>d>>>0?r:d:536870911)>>>0>=536870912)break t;k=b<<3,o=_t(b=r<<3),f[4+(r=k+o|0)>>2]=0,f[r>>2]=_,r=r+8|0,(0|c)>0&&ge(o,a,c),f[t+40>>2]=o+b,f[t+36>>2]=r,f[t+32>>2]=o,a&&ee(a)}if((0|s)==(0|(i=i+1|0)))break}if(f[t+32>>2]==(0|r))break}e=1;break e}oi(),T()}Hr(1326),T()}r=f[t+32>>2],e=0}return r&&ee(r),V=t+48|0,e}function Z(e,r,t,i){var a=0,s=0,c=0,p=0,d=0;e:{r:if(i){t:{i:switch(f[e+28>>2]-1|0){case 0:d=1;a:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(a=f[e>>2],p=f[a>>2],s=r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,a=(c=f[a+4>>2])-p|0,!A[e+32|0]){if((0|a)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=n[0|r],(0|(s=s+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break a;if(!(c>>>0>(r=r+1|0)>>>0))break}break e}if((0|a)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(n[0|r])/k(127),(0|(s=s+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break a;if(!(c>>>0>(r=r+1|0)>>>0))break}break e}if((0|t)>(0|a))break t;break r;case 1:d=1;a:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(a=f[e>>2],p=f[a>>2],s=r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,a=(c=f[a+4>>2])-p|0,!A[e+32|0]){if((0|a)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=A[0|r],(0|(s=s+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break a;if(!(c>>>0>(r=r+1|0)>>>0))break}break e}if((0|a)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(A[0|r])/k(255),(0|(s=s+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break a;if(!(c>>>0>(r=r+1|0)>>>0))break}break e}if((0|t)>(0|a))break t;break r;case 2:d=1;a:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(a=f[e>>2],p=f[a>>2],s=r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,a=(c=f[a+4>>2])-p|0,!A[e+32|0]){if((0|a)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=o[r>>1],(0|(s=s+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break a;if(!(c>>>0>(r=r+2|0)>>>0))break}break e}if((0|a)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(o[r>>1])/k(32767),(0|(s=s+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break a;if(!(c>>>0>(r=r+2|0)>>>0))break}break e}if((0|t)>(0|a))break t;break r;case 3:d=1;a:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(a=f[e>>2],p=f[a>>2],s=r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,a=(c=f[a+4>>2])-p|0,!A[e+32|0]){if((0|a)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=b[r>>1],(0|(s=s+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break a;if(!(c>>>0>(r=r+2|0)>>>0))break}break e}if((0|a)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(b[r>>1])/k(65535),(0|(s=s+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break a;if(!(c>>>0>(r=r+2|0)>>>0))break}break e}if((0|t)>(0|a))break t;break r;case 4:d=1;a:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(a=f[e>>2],p=f[a>>2],s=r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,a=(c=f[a+4>>2])-p|0,!A[e+32|0]){if((0|a)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=f[r>>2],(0|(s=s+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break a;if(!(c>>>0>(r=r+4|0)>>>0))break}break e}if((0|a)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(f[r>>2])*k(4.656612873077393e-10),(0|(s=s+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break a;if(!(c>>>0>(r=r+4|0)>>>0))break}break e}if((0|t)>(0|a))break t;break r;case 5:d=1;a:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(a=f[e>>2],p=f[a>>2],s=r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,a=(c=f[a+4>>2])-p|0,!A[e+32|0]){if((0|a)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=l[r>>2],(0|(s=s+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break a;if(!(c>>>0>(r=r+4|0)>>>0))break}break e}if((0|a)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(l[r>>2])*k(2.3283064365386963e-10),(0|(s=s+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break a;if(!(c>>>0>(r=r+4|0)>>>0))break}break e}if((0|t)>(0|a))break t;break r;case 6:d=1;a:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(a=f[e>>2],p=f[a>>2],s=r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,a=(c=f[a+4>>2])-p|0,!A[e+32|0]){if((0|a)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=+l[r>>2]+4294967296*+f[r+4>>2],(0|(s=s+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break a;if(!(c>>>0>(r=r+8|0)>>>0))break}break e}if((0|a)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(+l[r>>2]+4294967296*+f[r+4>>2])*k(10842021724855044e-35),(0|(s=s+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break a;if(!(c>>>0>(r=r+8|0)>>>0))break}break e}if((0|t)>(0|a))break t;break r;case 7:d=1;a:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(a=f[e>>2],p=f[a>>2],s=r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,a=(c=f[a+4>>2])-p|0,!A[e+32|0]){if((0|a)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=+l[r>>2]+4294967296*+l[r+4>>2],(0|(s=s+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break a;if(!(c>>>0>(r=r+8|0)>>>0))break}break e}if((0|a)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(+l[r>>2]+4294967296*+l[r+4>>2])*k(5.421010862427522e-20),(0|(s=s+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break a;if(!(c>>>0>(r=r+8|0)>>>0))break}break e}if((0|t)>(0|a))break t;break r;case 8:if(d=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(c=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,c=f[a+4>>2];;){if(r>>>0>=c>>>0)break e;if(u[(s<<2)+i>>2]=u[r>>2],r=r+4|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 9:if(d=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(c=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,c=f[a+4>>2];;){if(r>>>0>=c>>>0)break e;if(u[(s<<2)+i>>2]=_[r>>3],r=r+8|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 10:break i;default:break r}if(d=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(c=f[e>>2],r=(a=f[c>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0;;){if(l[c+4>>2]<=r>>>0)break e;if(u[(s<<2)+i>>2]=A[0|r]?k(1):k(0),r=r+1|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)<=(0|a))break r}Je((a<<2)+i|0,0,t-a<<2)}return d}return 0}function W(e,r){r|=0;var t,i,a,o=0,s=0,c=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;V=t=V-96|0,a=f[4+(e|=0)>>2],s=f[a+32>>2],c=f[s+8>>2];e:if(!((0|(l=y=f[s+12>>2]))<=(0|(o=f[s+20>>2]))&(i=f[s+16>>2])>>>0>=c>>>0|(0|o)>(0|l)||(d=f[s>>2],g=A[d+i|0],l=(u=i+1|0)?o:o+1|0,f[s+16>>2]=u,f[s+20>>2]=l,c>>>0<=u>>>0&(0|l)>=(0|y)|(0|l)>(0|y)))){m=A[u+d|0],l=(u=i+2|0)>>>0<2?o+1|0:o,h=u,f[s+16>>2]=u,f[s+20>>2]=l;r:{if((0|(_=g<<24>>24))>=0){if(u=f[e+216>>2],g>>>0>=(f[e+220>>2]-u|0)/144>>>0)break e;if(v=u+p(g,144)|0,f[v>>2]<0)break r;break e}if(f[e+212>>2]>=0)break e;v=e+212|0}f[v>>2]=r;r:{t:{i:{if((65535&((u=b[a+36>>1])<<8|u>>>8))>>>0>=258){if(c>>>0<=h>>>0&(0|l)>=(0|y)|(0|l)>(0|y))break e;if(u=A[d+h|0],o=(l=i+3|0)>>>0<3?o+1|0:o,f[s+16>>2]=l,f[s+20>>2]=o,o=u>>>0>1)break e;if(o=o?0:u,!m)break i;if(o)break e;break t}if(m)break t;o=0}if((0|_)<0?l=e+184|0:(s=f[e+216>>2]+p(g,144)|0,n[s+100|0]=0,l=s+104|0),s=l,1!=(0|o))V=c=V+-64|0,m=f[f[e+4>>2]+44>>2],o=_t(80),f[o>>2]=9424,f[o+4>>2]=0,f[o+76>>2]=0,f[o+72>>2]=s,f[o+68>>2]=m,f[o+8>>2]=9588,f[o+12>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o- -64>>2]=0,f[(l=h=o+56|0)>>2]=0,f[l+4>>2]=0,d=f[e+8>>2],f[c+40>>2]=0,f[c+44>>2]=0,f[c+32>>2]=0,f[c+36>>2]=0,f[(l=_=c+24|0)>>2]=0,f[l+4>>2]=0,f[c+16>>2]=0,f[c+20>>2]=0,f[c+8>>2]=0,f[c+12>>2]=0,f[c+56>>2]=0,f[c+48>>2]=0,f[c+52>>2]=0,f[c>>2]=9588,f[c+4>>2]=d,u=f[d>>2],l=f[d+4>>2],n[c+63|0]=0,Pe(y=_,(l-u>>2>>>0)/3|0,_=c+63|0),l=f[c+4>>2],u=f[l+28>>2],l=f[l+24>>2],n[c+63|0]=0,Pe(c+36|0,u-l>>2,_),f[c+20>>2]=o,f[c+16>>2]=m,f[c+12>>2]=s,f[c+8>>2]=d,Ze(o+8|0,c),ze(h,f[c+48>>2],f[c+52>>2]),f[c>>2]=9588,(s=f[c+48>>2])&&(f[c+52>>2]=s,ee(s)),f[c>>2]=9404,(s=f[c+36>>2])&&ee(s),(s=f[c+24>>2])&&ee(s),V=c- -64|0;else{if(V=c=V-112|0,h=f[f[e+4>>2]+44>>2],o=_t(120),f[o>>2]=8956,f[o+4>>2]=0,f[o+116>>2]=0,f[o+112>>2]=s,f[o+108>>2]=h,f[o+12>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+56>>2]=0,f[o+60>>2]=0,f[o+8>>2]=9168,f[(l=o- -64|0)>>2]=0,f[l+4>>2]=0,f[o+72>>2]=0,f[o+76>>2]=0,f[o+80>>2]=0,f[o+84>>2]=0,f[o+88>>2]=0,f[o+104>>2]=0,f[o+96>>2]=0,f[o+100>>2]=0,m=f[e+8>>2],f[c+48>>2]=0,f[c+52>>2]=0,f[c+40>>2]=0,f[c+44>>2]=0,f[(l=_=c+32|0)>>2]=0,f[l+4>>2]=0,f[c+24>>2]=0,f[c+28>>2]=0,f[c+16>>2]=0,f[c+20>>2]=0,f[(l=c- -64|0)>>2]=0,f[l+4>>2]=0,f[c+72>>2]=0,f[c+76>>2]=0,f[c+80>>2]=0,f[c+84>>2]=0,f[c+88>>2]=0,f[c+104>>2]=0,f[c+56>>2]=0,f[c+60>>2]=0,f[c+8>>2]=9168,f[c+96>>2]=0,f[c+100>>2]=0,f[c+12>>2]=m,u=f[m>>2],l=f[m+4>>2],n[c+111|0]=0,Pe(y=_,(l-u>>2>>>0)/3|0,_=c+111|0),l=f[c+12>>2],u=f[l+28>>2],l=f[l+24>>2],n[c+111|0]=0,Pe(c+44|0,u-l>>2,_),f[c+28>>2]=o,f[c+24>>2]=h,f[c+20>>2]=s,f[c+16>>2]=m,Ze(s=o+8|0,l=c+8|0),(0|s)!=(0|l)){ze(o+56|0,f[l+48>>2],f[l+52>>2]),ze(o+68|0,f[l+60>>2],f[l- -64>>2]),ze(o+80|0,f[l+72>>2],f[l+76>>2]),f[o+92>>2]=f[l+84>>2];i:if((h=(u=(_=f[l+92>>2])-(m=f[l+88>>2])|0)>>2)>>>0<=(v=f[o+104>>2])-(d=f[o+96>>2])>>2>>>0){if((s=(u=(l=(s=f[o+100>>2]-d|0)>>2)>>>0<h>>>0?s+m|0:_)-m|0)&&Se(d,m,s),l>>>0<h>>>0){s=f[o+100>>2],(0|(l=_-u|0))>0&&(s=ge(s,u,l)+l|0),f[o+100>>2]=s;break i}f[o+100>>2]=s+d}else d&&(f[o+100>>2]=d,ee(d),f[o+104>>2]=0,f[o+96>>2]=0,f[o+100>>2]=0,v=0),(0|u)<0||(s=v>>1,(s=v>>2>>>0<536870911?s>>>0<h>>>0?h:s:1073741823)>>>0>=1073741824)?(oi(),T()):(s=_t(l=s<<2),f[o+96>>2]=s,f[o+100>>2]=s,f[o+104>>2]=s+l,u&&(s=ge(s,m,u)+u|0),f[o+100>>2]=s)}else f[o+92>>2]=f[l+84>>2];f[c+8>>2]=9168,(s=f[c+96>>2])&&(f[c+100>>2]=s,ee(s)),(s=f[c+80>>2])&&(f[c+84>>2]=s,ee(s)),(s=f[c+68>>2])&&(f[c+72>>2]=s,ee(s)),(s=f[c+56>>2])&&(f[c+60>>2]=s,ee(s)),f[c+8>>2]=9404,(s=f[c+44>>2])&&ee(s),(s=f[c+32>>2])&&ee(s),V=c+112|0}if(!o)break e;break r}if((0|_)<0)break e;u=f[a+44>>2],s=f[e+216>>2],o=_t(80),f[o+76>>2]=0,f[o+68>>2]=u,f[o+8>>2]=8652,f[o>>2]=9716,f[o+4>>2]=0,k=104+(l=s+p(g,144)|0)|0,f[o+72>>2]=k,f[o- -64>>2]=0,f[o+56>>2]=0,f[o+60>>2]=0,f[o+52>>2]=0,f[o+44>>2]=0,f[o+48>>2]=0,f[o+36>>2]=0,f[o+40>>2]=0,f[o+28>>2]=0,f[o+32>>2]=0,f[o+20>>2]=0,f[o+24>>2]=0,f[o+12>>2]=0,f[o+16>>2]=0,f[t+24>>2]=u,f[t+68>>2]=0,f[t+72>>2]=0,f[t+60>>2]=0,f[t+64>>2]=0,f[t+52>>2]=0,f[t+56>>2]=0,f[t+44>>2]=0,f[t+48>>2]=0,f[t+84>>2]=0,f[t+88>>2]=0,f[t+76>>2]=0,f[t+80>>2]=0,f[t+28>>2]=o,s=f[t+28>>2],f[t+8>>2]=f[t+24>>2],f[t+12>>2]=s,l=l+4|0,f[t+16>>2]=l,f[t+20>>2]=k,f[t+36>>2]=0,f[t+40>>2]=0,f[t+32>>2]=8652,s=f[t+20>>2],f[t>>2]=f[t+16>>2],f[t+4>>2]=s,mr(k=t+32|0,l,t),Ze(s=o+8|0,k),(0|s)!=(0|k)&&ze(o+56|0,f[k+48>>2],f[k+52>>2]),st(k)}o=Or(_t(64),o),_=f[e+4>>2],e=o;r:{t:{if((0|(o=r))>=0){if(l=_+8|0,!((0|(u=(r=f[_+12>>2])-(s=f[_+8>>2])>>2))>(0|o)))if(k=o+1|0,o>>>0>=u>>>0)Oe(l,k-u|0);else if(!(u>>>0<=k>>>0)){if((0|(s=s+(k<<2)|0))!=(0|r))for(;k=f[(r=r-4|0)>>2],f[r>>2]=0,k&&yi[f[f[k>>2]+4>>2]](k),(0|r)!=(0|s););f[_+12>>2]=s}if(s=f[l>>2]+(o<<2)|0,r=f[s>>2],f[s>>2]=e,r)break t;break r}if(r=e,!e)break r}yi[f[f[r>>2]+4>>2]](r)}k=(-1^o)>>>31|0}return V=t+96|0,0|k}function F(e){var r,t=0,i=0,a=0,n=0,o=0;if(V=r=V-16|0,f[r+12>>2]=e,e>>>0<=211)a=f[xr(10384,10576,r+12|0)>>2];else{for(e>>>0>=4294967292&&(di(),T()),a=p(n=(e>>>0)/210|0,210),f[r+8>>2]=e-a,o=xr(10576,10768,r+8|0)-10576>>2;;){a=f[10576+(o<<2)>>2]+a|0,e=5;e:{for(;;){r:if(47!=(0|e)){if((t=f[10384+(e<<2)>>2])>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if(e=e+1|0,(0|p(t,i))!=(0|a))continue}else for(e=211;;){if((t=(a>>>0)/(e>>>0)|0)>>>0<e>>>0)break e;if((0|p(e,t))==(0|a))break r;if((t=e+10|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+12|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+16|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+18|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+22|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+28|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+30|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+36|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+40|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+42|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+46|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+52|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+58|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+60|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+66|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+70|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+72|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+78|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+82|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+88|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+96|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+100|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+102|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+106|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+108|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+112|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+120|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+126|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+130|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+136|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+138|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+142|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+148|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+150|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+156|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+162|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+166|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+168|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+172|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+178|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+180|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+186|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+190|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+192|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+196|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+198|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|a))break r;if((t=e+208|0)>>>0>(i=(a>>>0)/(t>>>0)|0)>>>0)break e;if(e=e+210|0,(0|p(t,i))==(0|a))break}break}o=(e=48==(0|(a=o+1|0)))?0:a,a=p(n=e+n|0,210);continue}break}f[r+12>>2]=a}return V=r+16|0,a}function x(e,r,t,i){var a=0,o=0,s=0,c=0,p=k(0),m=0;e:if(i){r:{t:switch(f[e+28>>2]-1|0){case 0:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if(n[r+i|0]=A[0|o],(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 1:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if((0|(a=n[0|o]))<0)break e;if(n[r+i|0]=a,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 2:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if(((a=b[o>>1])-128&65535)>>>0<65280)break e;if(n[r+i|0]=a,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+2|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 3:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if((a=b[o>>1])>>>0>127)break e;if(n[r+i|0]=a,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+2|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 4:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if((a=f[o>>2])-128>>>0<4294967040)break e;if(n[r+i|0]=a,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 5:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if((a=f[o>>2])>>>0>127)break e;if(n[r+i|0]=a,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 6:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if(c=f[o>>2],-1==(0|(a=f[o+4>>2]-(c>>>0<128)|0))&c-128>>>0<4294967040|-1!=(0|a))break e;if(n[r+i|0]=c,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 7:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if(!(a=f[o+4>>2])&(c=f[o>>2])>>>0>127|a)break e;if(n[r+i|0]=c,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 8:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if(c=r+i|0,p=u[o>>2],a=k(d(p))<k(2147483648)?~~p:-2147483648,n[0|c]=a,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 9:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if(c=r+i|0,m=_[o>>3],a=d(m)<2147483648?~~m:-2147483648,n[0|c]=a,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 10:break t;default:break e}t:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if(n[r+i|0]=A[0|o],(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break t;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)<=(0|a))break e}Je(i+a|0,0,t-a|0)}return s}function S(e,r,t,i){var a=0,o=0,s=0,c=0,p=k(0),d=0;e:if(i){r:{t:switch(f[e+28>>2]-1|0){case 0:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if((0|(a=n[0|o]))<0)break e;if(n[r+i|0]=a,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 1:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if(n[r+i|0]=A[0|o],(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 2:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if((a=b[o>>1])>>>0>255)break e;if(n[r+i|0]=a,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+2|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 3:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if((a=b[o>>1])>>>0>255)break e;if(n[r+i|0]=a,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+2|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 4:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if((a=f[o>>2])>>>0>255)break e;if(n[r+i|0]=a,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 5:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if((a=f[o>>2])>>>0>255)break e;if(n[r+i|0]=a,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 6:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if(!(a=f[o+4>>2])&(c=f[o>>2])>>>0>255|a)break e;if(n[r+i|0]=c,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 7:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if(!(a=f[o+4>>2])&(c=f[o>>2])>>>0>255|a)break e;if(n[r+i|0]=c,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 8:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if(c=r+i|0,a=(p=u[o>>2])<k(4294967296)&p>=k(0)?~~p>>>0:0,n[0|c]=a,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 9:i:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if(c=r+i|0,a=(d=_[o>>3])<4294967296&d>=0?~~d>>>0:0,n[0|c]=a,(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|a))break r;break e;case 10:break t;default:break e}t:if(!((0|((0|t)<(0|(a=n[e+24|0]))?t:a))<=0)){if(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],a=f[o>>2],(0|r)>=(f[o+4>>2]-a|0))break e;for(o=r+a|0,r=0;;){if(n[r+i|0]=A[0|o],(0|(r=r+1|0))>=(0|((0|t)<(0|(a=n[e+24|0]))?t:a)))break t;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)<=(0|a))break e}Je(i+a|0,0,t-a|0)}return s}function j(e,r){var t=0,i=0,a=0,n=0,o=0,s=0,c=0,A=0,b=0,l=0;e:{r:{t:{i:{a:if(f[e+92>>2]!=f[e+88>>2]){if((0|(t=f[e+52>>2]))==f[e+56>>2]){if((a=1+(i=(s=t-(o=f[e+48>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(t=s>>1,n=i>>>0<536870911?t>>>0<a>>>0?a:t:1073741823){if(n>>>0>=1073741824)break e;t=_t(n<<2)}else t=0;f[(a=t+(i<<2)|0)>>2]=r,(0|s)>0&&ge(t,o,s),f[e+56>>2]=t+(n<<2),f[e+52>>2]=a+4,f[e+48>>2]=t,o&&ee(o)}else f[t>>2]=r,f[e+52>>2]=t+4;f[e+84>>2]=0,a=-1,t=-1;n:if(-1!=(0|r)){if(n=f[e+4>>2],-1!=(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0))&&(a=f[f[n>>2]+(t<<2)>>2]),(r>>>0)%3|0)i=r-1|0;else if(t=-1,-1==(0|(i=r+2|0)))break n;t=f[f[n>>2]+(i<<2)>>2]}if(A=t>>>3&536870908,i=f[e+36>>2],(s=f[(o=i+(a>>>3&536870908)|0)>>2])&(n=1<<a)||(f[o>>2]=n|s,Ne(n=e+8|0,a,i=-1!=(0|r)?((i=r+1|0)>>>0)%3|0?i:r-2|0:-1),i=f[e+36>>2]),(i=f[(n=i+A|0)>>2])&(a=1<<t)||(f[n>>2]=i|a,a=-1,-1!=(0|r)&&(a=r-1|0,(r>>>0)%3|0||(a=r+2|0)),Ne(i=e+8|0,t,a)),a=-1,a=-1!=(0|r)?f[f[f[e+4>>2]>>2]+(r<<2)>>2]:a,n=f[e+36>>2]+(a>>>3&536870908)|0,(i=f[n>>2])&(t=1<<a)||(f[n>>2]=t|i,Ne(e+8|0,a,r)),!((0|(i=f[e+84>>2]))>2))for(;;){if(a=p(i,12)+e|0,(0|(r=f[a+52>>2]))==f[a+48>>2]){if(3!=(0|(i=i+1|0)))continue;break a}if(r=f[(t=r-4|0)>>2],f[a+52>>2]=t,f[e+84>>2]=i,-1==(0|r))break a;a=f[e+24>>2];n:if(!(f[a+((t=(r>>>0)/3|0)>>>3&268435452)>>2]>>>t&1)){o:{for(;;){f[(t=((l=(r>>>0)/3|0)>>>3&268435452)+a|0)>>2]=f[t>>2]|1<<l,a=-1;f:{s:{c:{A:{b:{l:{u:{_:{if(a=-1!=(0|r)?f[f[f[e+4>>2]>>2]+(r<<2)>>2]:a,n=f[e+36>>2]+(a>>>3&536870908)|0,!((i=f[n>>2])&(t=1<<a))){if(f[n>>2]=t|i,s=f[(f[f[e+16>>2]+96>>2]+p(l,12)|0)+((r>>>0)%3<<2)>>2],b=f[f[e+20>>2]+4>>2],(0|(t=f[b+4>>2]))==f[b+8>>2]){if((i=1+(n=(A=t-(c=f[b>>2])|0)>>2)|0)>>>0>=1073741824)break _;if(t=A>>1,o=n>>>0<536870911?t>>>0<i>>>0?i:t:1073741823){if(o>>>0>=1073741824)break e;t=_t(o<<2)}else t=0;f[(i=t+(n<<2)|0)>>2]=s,(0|A)>0&&ge(t,c,A),f[b+8>>2]=t+(o<<2),f[b+4>>2]=i+4,f[b>>2]=t,c&&ee(c)}else f[t>>2]=s,f[b+4>>2]=t+4;if(c=f[e+12>>2],(0|(t=f[c+4>>2]))==f[c+8>>2]){if((i=1+(n=(o=t-(A=f[c>>2])|0)>>2)|0)>>>0>=1073741824)break u;if(t=o>>1,s=n>>>0<536870911?t>>>0<i>>>0?i:t:1073741823){if(s>>>0>=1073741824)break e;t=_t(s<<2)}else t=0;f[(i=t+(n<<2)|0)>>2]=r,(0|o)>0&&ge(t,A,o),f[c+8>>2]=t+(s<<2),f[c+4>>2]=i+4,f[c>>2]=t,A&&ee(A)}else f[t>>2]=r,f[c+4>>2]=t+4;t=f[e+12>>2],f[f[t+12>>2]+(a<<2)>>2]=f[t+24>>2],f[t+24>>2]=f[t+24>>2]+1}if(-1==(0|r))break o;o=f[e+4>>2],a=-1,-1!=(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0))&&(a=f[f[o+12>>2]+(t<<2)>>2]);p:{if((0|p(l,3))==(0|r)){if(n=r+2|0,r=-1,-1==(0|n))break p}else n=r-1|0;r=f[f[o+12>>2]+(n<<2)>>2]}if(s=-1==(0|r),n=(r>>>0)/3|0,i=(a>>>0)/3|0,!(t=-1==(0|a))){if(t=t?-1:i,t=f[f[e+24>>2]+(t>>>3&536870908)>>2]&1<<t,s)break l;l=0!=(0|t);break b}if(l=1,!s)break b;break o}oi(),T()}oi(),T()}if(!t)break A;break o}if(t=s?-1:n,!(f[f[e+24>>2]+(t>>>3&536870908)>>2]>>>t&1)){if(n=0,t=f[f[o>>2]+(r<<2)>>2],f[f[e+36>>2]+(t>>>3&536870908)>>2]>>>t&1||(t=f[e+88>>2]+(t<<2)|0,i=f[t>>2],f[t>>2]=i+1,n=(0|i)<=0?2:1),f[e+84>>2]>=(0|n)&&l)break s;if(b=p(n,12)+e|0,(0|(t=f[b+52>>2]))==f[b+56>>2]){if((i=1+(s=(A=t-(c=f[b+48>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(t=A>>1,o=s>>>0<536870911?t>>>0<i>>>0?i:t:1073741823){if(o>>>0>=1073741824)break e;t=_t(o<<2)}else t=0;f[(i=t+(s<<2)|0)>>2]=r,(0|A)>0&&ge(t,c,A),f[b+48>>2]=t,f[b+52>>2]=i+4,f[b+56>>2]=t+(o<<2),c&&ee(c)}else f[t>>2]=r,f[b+52>>2]=t+4;f[e+84>>2]<=(0|n)||(f[e+84>>2]=n)}if(l)break o;if(r=-1,-1==(0|a))break c}r=f[f[f[e+4>>2]>>2]+(a<<2)>>2]}if(n=0,f[f[e+36>>2]+(r>>>3&536870908)>>2]>>>r&1||(r=f[e+88>>2]+(r<<2)|0,t=f[r>>2],f[r>>2]=t+1,n=(0|t)<=0?2:1),f[e+84>>2]<(0|n))break f;r=a}a=f[e+24>>2];continue}break}if(c=p(n,12)+e|0,(0|(r=f[c+52>>2]))==f[c+56>>2]){if((t=1+(i=(o=r-(A=f[c+48>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(r=o>>1,s=i>>>0<536870911?r>>>0<t>>>0?t:r:1073741823){if(s>>>0>=1073741824)break e;r=_t(s<<2)}else r=0;f[(t=r+(i<<2)|0)>>2]=a,(0|o)>0&&ge(r,A,o),f[c+48>>2]=r,f[c+52>>2]=t+4,f[c+56>>2]=r+(s<<2),A&&ee(A)}else f[r>>2]=a,f[c+52>>2]=r+4;if((0|(i=f[e+84>>2]))<=(0|n))break n;f[e+84>>2]=n,i=n;break n}i=f[e+84>>2]}if(!((0|i)<3))break}}return 1}oi(),T()}oi(),T()}oi(),T()}Hr(1326),T()}function O(e,r){var t,i=0,a=0,n=0,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0;if(V=t=V-48|0,i=f[f[e+4>>2]+44>>2],a=f[e+8>>2],o=f[a>>2],a=f[a+4>>2],f[t+40>>2]=0,f[t+32>>2]=0,f[t+36>>2]=0,a=(a-o>>2>>>0)/3|0,A=f[i+96>>2],a>>>0>(o=(f[i+100>>2]-A|0)/12|0)>>>0?ue(i+96|0,a-o|0,t+32|0):a>>>0>=o>>>0||(f[i+100>>2]=A+p(a,12)),f[e+216>>2]!=f[e+220>>2]){f[t+24>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,b=f[e+8>>2],r=f[b>>2],i=f[b+4>>2],f[t+8>>2]=0,f[t>>2]=0,f[t+4>>2]=0;e:{r:{t:{i:{a:{n:{o:{if(r=i-r|0){if((0|r)<0)break o;_=_t(r),f[t>>2]=_,f[t+8>>2]=(r>>2<<2)+_,g=t,w=Je(_,0,r)+r|0,f[g+4>>2]=w}if(i=f[b+24>>2],(f[b+28>>2]-i|0)<=0){a=0,r=0;break r}for(a=0,o=0,r=0;;){f:if(-1!=(0|(A=f[(k<<2)+i>>2]))){s:if(!(f[f[e+120>>2]+(k>>>3&536870908)>>2]>>>k&1)&&(m=f[e+216>>2],i=f[e+220>>2]-m|0))for(h=(i=(0|i)/144|0)>>>0>1?i:1,l=0,y=0!=(0|(i=(A>>>0)%3|0))|-1!=(0|(s=A+2|0)),v=i?A-1|0:s;;){if(c=A<<2,n=m+p(l,144)|0,i=f[c+f[f[n+68>>2]>>2]>>2],f[f[n+16>>2]+(i>>>3&536870908)>>2]>>>i&1&&(i=-1,y&&(i=-1,-1!=(0|(s=f[f[b+12>>2]+(v<<2)>>2]))&&(i=s-1|0,(s>>>0)%3|0||(i=s+2|0))),(0|A)!=(0|i)))for(n=f[n+32>>2],s=f[n+c>>2];;){if(u=0,-1==(0|i))break e;if(f[n+(i<<2)>>2]!=(0|s)){A=i;break s}c:{if((i>>>0)%3|0)c=i-1|0;else if(u=-1,-1==(0|(c=i+2|0)))break c;u=-1,-1!=(0|(i=f[f[b+12>>2]+(c<<2)>>2]))&&(u=i-1|0,(i>>>0)%3|0||(u=i+2|0))}if((0|A)==(0|(i=u)))break}if((0|h)==(0|(l=l+1|0)))break}if(s=(i=r-o|0)>>2,f[(A<<2)+_>>2]=s,r>>>0<d>>>0)f[r>>2]=A,r=r+4|0,f[t+20>>2]=r;else{if((r=s+1|0)>>>0>=1073741824)break n;if(n=(a=d-o|0)>>1,r=a>>2>>>0<536870911?r>>>0>n>>>0?r:n:1073741823){if(r>>>0>=1073741824)break a;a=_t(r<<2)}else a=0;f[(s=a+(s<<2)|0)>>2]=A,d=(r<<2)+a|0,r=s+4|0,(0|i)>0&&ge(a,o,i),f[t+24>>2]=d,f[t+20>>2]=r,f[t+16>>2]=a,o&&(ee(o),b=f[e+8>>2]),o=a}if(-1!=(0|A)){if((A>>>0)%3|0)i=A-1|0;else if(-1==(0|(i=A+2|0)))break f;if(-1!=(0|(i=f[f[b+12>>2]+(i<<2)>>2]))&&-1!=(0|(i=i+((i>>>0)%3|0?-1:2)|0))&&(0|i)!=(0|(n=A)))for(;;){s=i;s:{c:if(c=f[e+216>>2],i=f[e+220>>2]-c|0){for(l=(i=(0|i)/144|0)>>>0>1?i:1,i=0;;){if(m=f[32+(c+p(i,144)|0)>>2],f[m+(h=s<<2)>>2]==f[m+(n<<2)>>2]){if((0|l)!=(0|(i=i+1|0)))continue;break c}break}if(n=(i=r-a|0)>>2,f[_+h>>2]=n,r>>>0<d>>>0){f[r>>2]=s,r=r+4|0,f[t+20>>2]=r,o=a;break s}if((r=n+1|0)>>>0>=1073741824)break i;if(c=(o=d-a|0)>>1,r=o>>2>>>0<536870911?r>>>0>c>>>0?r:c:1073741823){if(r>>>0>=1073741824)break t;o=_t(r<<2)}else o=0;if(f[(n=o+(n<<2)|0)>>2]=s,d=(r<<2)+o|0,r=n+4|0,(0|i)>0&&ge(o,a,i),f[t+24>>2]=d,f[t+20>>2]=r,f[t+16>>2]=o,!a){a=o;break s}ee(a),b=f[e+8>>2],a=o;break s}f[(s<<2)+_>>2]=f[(n<<2)+_>>2]}if(-1==(0|s))break f;if((s>>>0)%3|0)i=s-1|0;else if(-1==(0|(i=s+2|0)))break f;if(-1==(0|(i=f[f[b+12>>2]+(i<<2)>>2])))break f;if(-1==(0|(i=i+((i>>>0)%3|0?-1:2)|0)))break f;if(n=s,(0|i)==(0|A))break}}}if(k=k+1|0,i=f[b+24>>2],!((0|k)<f[b+28>>2]-i>>2))break}break r}oi(),T()}oi(),T()}Hr(1326),T()}oi(),T()}Hr(1326),T()}if(k=f[e+4>>2],c=f[k+44>>2],(0|(l=f[c+100>>2]))!=f[c+96>>2])for(i=0;o=i+1|0,s=p(i,12),n=f[8+(A=s+_|0)>>2],b=f[A+4>>2],A=f[A>>2],(u=i)>>>0>=(l=(l-(i=f[c+96>>2])|0)/12|0)>>>0&&(f[t+40>>2]=0,f[t+32>>2]=0,f[t+36>>2]=0,ue(c+96|0,o-l|0,t+32|0),k=f[e+4>>2],i=f[c+96>>2]),f[8+(i=i+s|0)>>2]=n,f[i+4>>2]=b,f[i>>2]=A,i=o,c=f[k+44>>2],i>>>0<((l=f[c+100>>2])-f[c+96>>2]|0)/12>>>0;);f[f[k+4>>2]+80>>2]=r-a>>2,u=1}i=u,_&&ee(_),a&&(f[t+20>>2]=a,ee(a))}else{if(b=f[e+4>>2],c=f[b+44>>2],(0|(a=f[c+100>>2]))!=f[c+96>>2])for(i=0;;){s=f[e+8>>2];e:{if(-1!=(0|(n=p(i,3))))if(l=-1,A=f[f[s>>2]+(n<<2)>>2],-1!=(0|(o=n+1|0))){if(l=f[f[s>>2]+(o<<2)>>2],o=-1,-1==(0|(n=n+2|0)))break e}else n=0;else l=f[4+(f[s>>2]+(n<<2)|0)>>2],A=-1,n=1;o=f[f[s>>2]+(n<<2)>>2]}if(s=o,o=i+1|0,(n=((n=a)-(a=f[c+96>>2])|0)/12|0)>>>0<=i>>>0&&(f[t+40>>2]=0,f[t+32>>2]=0,f[t+36>>2]=0,ue(c+96|0,o-n|0,t+32|0),b=f[e+4>>2],a=f[c+96>>2]),i=p(i,12)+a|0,f[i+8>>2]=s,f[i+4>>2]=l,f[i>>2]=A,i=o,c=f[b+44>>2],!(i>>>0<((a=f[c+100>>2])-f[c+96>>2]|0)/12>>>0))break}f[f[b+4>>2]+80>>2]=r,i=1}return V=t+48|0,i}function Y(e,r,t,i){var a=0,s=0,c=0,l=0,p=k(0),m=0,y=0;e:if(i){r:{t:switch(f[e+28>>2]-1|0){case 0:if((0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(c=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[a+4>>2];;){if(r>>>0>=l>>>0)break e;if(a=(s<<3)+i|0,c=n[0|r],f[a>>2]=c,f[a+4>>2]=c>>31,r=r+1|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break r;break e;case 1:if((0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(c=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[a+4>>2];;){if(r>>>0>=l>>>0)break e;if(f[(a=(s<<3)+i|0)>>2]=A[0|r],f[a+4>>2]=0,r=r+1|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break r;break e;case 2:if((0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(c=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[a+4>>2];;){if(r>>>0>=l>>>0)break e;if(a=(s<<3)+i|0,c=o[r>>1],f[a>>2]=c,f[a+4>>2]=c>>31,r=r+2|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break r;break e;case 3:if((0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(c=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[a+4>>2];;){if(r>>>0>=l>>>0)break e;if(f[(a=(s<<3)+i|0)>>2]=b[r>>1],f[a+4>>2]=0,r=r+2|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break r;break e;case 4:if((0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(c=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[a+4>>2];;){if(r>>>0>=l>>>0)break e;if(a=(s<<3)+i|0,c=f[r>>2],f[a>>2]=c,f[a+4>>2]=c>>31,r=r+4|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break r;break e;case 5:if((0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(c=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[a+4>>2];;){if(r>>>0>=l>>>0)break e;if(f[(a=(s<<3)+i|0)>>2]=f[r>>2],f[a+4>>2]=0,r=r+4|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break r;break e;case 6:if((0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(c=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[a+4>>2];;){if(r>>>0>=l>>>0)break e;if(c=f[r+4>>2],f[(a=(s<<3)+i|0)>>2]=f[r>>2],f[a+4>>2]=c,r=r+8|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break r;break e;case 7:if((0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(c=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[a+4>>2];;){if(r>>>0>=l>>>0)break e;if(a=f[r>>2],(0|(c=f[r+4>>2]))<0)break e;if(f[(y=(s<<3)+i|0)>>2]=a,f[y+4>>2]=c,r=r+8|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break r;break e;case 8:if((0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(c=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,y=f[a+4>>2];;){if(r>>>0>=y>>>0)break e;if(a=(s<<3)+i|0,p=u[r>>2],k(d(p))<k(0x8000000000000000)?(c=k(d(p))>=k(1)?~~(p>k(0)?k(h(k(v(k(p*k(2.3283064365386963e-10)))),k(4294967296))):k(g(k(k(p-k(~~p>>>0>>>0))*k(2.3283064365386963e-10)))))>>>0:0,l=~~p>>>0):(c=-2147483648,l=0),f[a>>2]=l,f[a+4>>2]=c,r=r+4|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break r;break e;case 9:if((0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(c=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,y=f[a+4>>2];;){if(r>>>0>=y>>>0)break e;if(a=(s<<3)+i|0,m=_[r>>3],d(m)<0x8000000000000000?(c=d(m)>=1?~~(m>0?h(v(2.3283064365386963e-10*m),4294967295):g(2.3283064365386963e-10*(m-+(~~m>>>0>>>0))))>>>0:0,l=~~m>>>0):(c=-2147483648,l=0),f[a>>2]=l,f[a+4>>2]=c,r=r+8|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break r;break e;case 10:break t;default:break e}if((0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(c=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[a+4>>2];;){if(r>>>0>=l>>>0)break e;if(f[(a=(s<<3)+i|0)>>2]=A[0|r],f[a+4>>2]=0,r=r+1|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)<=(0|a))break e}Je((a<<3)+i|0,0,t-a<<3)}}function J(e,r,t){r|=0,t|=0;var i,a=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0;V=i=V-96|0,o=f[16+(e|=0)>>2],n[i+92|0]=1,f[i+88>>2]=r,f[i+84>>2]=r,f[i+80>>2]=o,p=f[e+20>>2],a=f[p>>2];e:{r:{if((o=f[f[o+28>>2]+(r<<2)>>2])>>>0<f[p+4>>2]-a>>2>>>0){if(a=f[f[e+8>>2]+(f[a+(o<<2)>>2]<<2)>>2],o=f[e+4>>2],A[o+84|0]||(a=f[f[o+68>>2]+(a<<2)>>2]),f[i+72>>2]=0,f[i+76>>2]=0,f[(p=i- -64|0)>>2]=0,f[p+4>>2]=0,f[i+56>>2]=0,f[i+60>>2]=0,Y(o,a,n[o+24|0],i+56|0),a=((o=r+1|0)>>>0)%3|0,r>>>0<=o>>>0)for(p=a?o:r-2|0,c=((r>>>0)%3|0?-1:2)+r|0;;){if(a=p,o=c,f[e+28>>2]&&(a=((o=r+1|0)>>>0)%3|0?o:r-2|0,o=r-1|0,(r>>>0)%3|0||(o=r+2|0)),u=f[e+20>>2],r=f[u>>2],(a=f[f[f[e+16>>2]+28>>2]+(a<<2)>>2])>>>0>=f[u+4>>2]-r>>2>>>0)break r;if(a=f[f[e+8>>2]+(f[r+(a<<2)>>2]<<2)>>2],r=f[e+4>>2],A[r+84|0]||(a=f[f[r+68>>2]+(a<<2)>>2]),f[i+48>>2]=0,f[i+52>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,Y(r,a,n[r+24|0],i+32|0),a=f[e+20>>2],r=f[a>>2],(o=f[f[f[e+16>>2]+28>>2]+(o<<2)>>2])>>>0>=f[a+4>>2]-r>>2>>>0)break e;a=f[f[e+8>>2]+(f[r+(o<<2)>>2]<<2)>>2],r=f[e+4>>2],A[r+84|0]||(a=f[f[r+68>>2]+(a<<2)>>2]),f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,Y(r,a,n[r+24|0],i+8|0),a=(o=f[i+8>>2])-(r=f[i+56>>2])|0,u=f[i+60>>2],k=f[i+12>>2]-(u+(r>>>0>o>>>0)|0)|0,v=(b=f[i+40>>2])-(o=f[i+64>>2])|0,g=f[i+68>>2],w=Lr(a,k,v,b=f[i+44>>2]-(g+(o>>>0>b>>>0)|0)|0),s=s-(D+(l>>>0<w>>>0)|0)|0,E=C=l-w|0,o=Lr(w=(l=f[i+16>>2])-o|0,g=f[i+20>>2]-((o>>>0>l>>>0)+g|0)|0,C=(l=f[i+32>>2])-r|0,u=f[i+36>>2]-((r>>>0>l>>>0)+u|0)|0),r=D+s|0,s=r=o>>>0>(l=E+o|0)>>>0?r+1|0:r,E=d,m=k,k=(r=f[i+48>>2])-(o=f[i+72>>2])|0,d=f[i+76>>2],m=Lr(a,m,k,N=f[i+52>>2]-(d+(r>>>0<o>>>0)|0)|0),r=D+_|0,r=(a=E+m|0)>>>0<m>>>0?r+1|0:r,d=a-(_=Lr(m=(_=f[i+24>>2])-o|0,o=f[i+28>>2]-((o>>>0>_>>>0)+d|0)|0,C,u))|0,_=r-(D+(a>>>0<_>>>0)|0)|0,a=h-(r=Lr(w,g,k,N))|0,r=y-(D+(r>>>0>h>>>0)|0)|0,y=Lr(m,o,v,b),r=D+r|0,y=r=(h=y+a|0)>>>0<y>>>0?r+1|0:r,r=f[i+88>>2],o=f[i+80>>2];t:if(A[i+92|0]){i:{if(-1==(0|r)||-1==(0|(r=((a=r+1|0)>>>0)%3|0?a:r-2|0))|f[f[o>>2]+(r>>>3&536870908)>>2]>>>r&1||-1==(0|(r=f[f[f[o+64>>2]+12>>2]+(r<<2)>>2])))f[i+88>>2]=-1;else if(r=((a=r+1|0)>>>0)%3|0?a:r-2|0,f[i+88>>2]=r,-1!=(0|r))break i;a=-1;a:if(-1!=(0|(r=f[i+84>>2]))){if((r>>>0)%3|0)r=r-1|0;else if(a=-1,-1==(0|(r=r+2|0)))break a;a=-1,f[f[o>>2]+(r>>>3&536870908)>>2]>>>r&1||(a=-1,-1!=(0|(r=f[f[f[o+64>>2]+12>>2]+(r<<2)>>2]))&&(a=r-1|0,(r>>>0)%3|0||(a=r+2|0)))}n[i+92|0]=0,f[i+88>>2]=a;break t}if((0|r)!=f[i+84>>2])break t;f[i+88>>2]=-1}else{a=-1;i:if(-1!=(0|r)){if((r>>>0)%3|0)r=r-1|0;else if(a=-1,-1==(0|(r=r+2|0)))break i;a=-1,f[f[o>>2]+(r>>>3&536870908)>>2]>>>r&1||(a=-1,-1!=(0|(r=f[f[f[o+64>>2]+12>>2]+(r<<2)>>2]))&&(a=r-1|0,(r>>>0)%3|0||(a=r+2|0)))}f[i+88>>2]=a}if(-1==(0|(r=f[i+88>>2])))break}a=(r=y>>31)+h|0,o=r,r=r+y|0,u=a^o,c=o^(a>>>0<o>>>0?r+1|0:r),k=-1,a=2147483647,b=r=_>>31,o=r+d|0,r=r+_|0,r=o>>>0<b>>>0?r+1|0:r,o^=b,b=r^=b,v=-1^o,r^=2147483647,p=s;t:{if(f[e+28>>2]){if(!((0|r)==(0|c)&u>>>0>v>>>0|r>>>0<c>>>0)&&(r=c+b|0,o=r=(e=o+u|0)>>>0<o>>>0?r+1|0:r,c=s,s=(r=s>>31)+l|0,b=c,c=r,r=b+r|0,r=s>>>0<c>>>0?r+1|0:r,s^=c,!((0|(c=2147483647^(r^=c)))==(0|o)&(-1^s)>>>0<e>>>0|o>>>0>c>>>0)&&(r=r+o|0,k=e=e+s|0,a=r=e>>>0<s>>>0?r+1|0:r,!r&e>>>0<536870913)))break t;r=a>>>29|0,e=(536870911&a)<<3|k>>>29}else{if((0|r)==(0|c)&u>>>0>v>>>0|r>>>0<c>>>0)break t;if(r=c+b|0,r=(e=o+u|0)>>>0<o>>>0?r+1|0:r,o=e,e=r,a=(r=s>>31)+l|0,c=s,s=r,r=c+r|0,c=a^s,s^=r=a>>>0<s>>>0?r+1|0:r,r=a=c+o|0,(s=!(0&(e=(0|(s^=2147483647))==(0|e)&(-1^c)>>>0<o>>>0|e>>>0>s>>>0)))&(0|(e=e?-1:r))<=536870912|(0|e)<536870912)break t;r=0,e=e>>>29|0}l=Pr(l,p,e,r),d=Pr(d,_,e,r),h=Pr(h,y,e,r)}return f[t+8>>2]=l,f[t+4>>2]=d,f[t>>2]=h,void(V=i+96|0)}li(),T()}li(),T()}li(),T()}function Q(e,r,t,i){var a=0,s=0,c=0,l=0,p=0,m=k(0),h=0;e:{r:if(i){t:{i:switch(f[e+28>>2]-1|0){case 0:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=n[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 1:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 2:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=b[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 3:if((0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if((0|(a=o[r>>1]))<0)break r;if(o[(c<<1)+i>>1]=a,r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if(l=1,(0|t)>(0|a))break t;break r;case 4:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if((a=f[r>>2])-32768>>>0<4294901760)break e;if(o[(c<<1)+i>>1]=a,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 5:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if((a=f[r>>2])>>>0>32767)break e;if(o[(c<<1)+i>>1]=a,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 6:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=f[r>>2],-1==(0|(a=f[r+4>>2]-(p>>>0<32768)|0))&p-32768>>>0<4294901760|-1!=(0|a))break e;if(o[(c<<1)+i>>1]=p,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 7:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(!(a=f[r+4>>2])&(p=f[r>>2])>>>0>32767|a)break e;if(o[(c<<1)+i>>1]=p,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 8:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<1)+i|0,m=u[r>>2],a=k(d(m))<k(2147483648)?~~m:-2147483648,o[p>>1]=a,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 9:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<1)+i|0,h=_[r>>3],a=d(h)<2147483648?~~h:-2147483648,o[p>>1]=a,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 10:break i;default:break r}if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)<=(0|a))break r}Je((a<<1)+i|0,0,t-a<<1)}return l}return 0}function P(e,r,t,i){var a=0,s=0,c=0,l=0,p=0,d=k(0),m=0;e:{r:if(i){t:{i:switch(f[e+28>>2]-1|0){case 0:if((0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if((0|(a=n[0|r]))<0)break r;if(o[(c<<1)+i>>1]=255&a,r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if(l=1,(0|t)>(0|a))break t;break r;case 1:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 2:if((0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if((0|(a=o[r>>1]))<0)break r;if(o[(c<<1)+i>>1]=a,r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if(l=1,(0|t)>(0|a))break t;break r;case 3:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=b[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 4:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if((a=f[r>>2])>>>0>65535)break e;if(o[(c<<1)+i>>1]=a,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 5:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if((a=f[r>>2])>>>0>65535)break e;if(o[(c<<1)+i>>1]=a,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 6:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(!(a=f[r+4>>2])&(p=f[r>>2])>>>0>65535|a)break e;if(o[(c<<1)+i>>1]=p,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 7:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(!(a=f[r+4>>2])&(p=f[r>>2])>>>0>65535|a)break e;if(o[(c<<1)+i>>1]=p,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 8:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<1)+i|0,a=(d=u[r>>2])<k(4294967296)&d>=k(0)?~~d>>>0:0,o[p>>1]=a,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 9:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<1)+i|0,a=(m=_[r>>3])<4294967296&m>=0?~~m>>>0:0,o[p>>1]=a,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 10:break i;default:break r}if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)<=(0|a))break r}Je((a<<1)+i|0,0,t-a<<1)}return l}return 0}function z(e,r,t){var i,a=0,s=0,c=0,u=0,_=0;V=i=V-48|0,a=b[5069]|b[5070]<<16,s=b[5067]|b[5068]<<16,o[i+38>>1]=s,o[i+40>>1]=s>>>16,o[i+42>>1]=a,o[i+44>>1]=a>>>16,a=f[2533],f[i+32>>2]=f[2532],f[i+36>>2]=a,a=f[2531],f[i+24>>2]=f[2530],f[i+28>>2]=a,a=f[2529],f[i+16>>2]=f[2528],f[i+20>>2]=a,s=f[r+12>>2],a=f[r+20>>2],a=(u=(c=f[r+16>>2])+5|0)>>>0<5?a+1|0:a;e:{r:if(u>>>0>l[r+8>>2]&(0|a)>=(0|s)|(0|a)>(0|s)){if((r=Dr(i+16|0))>>>0>=4294967280)break e;t:{if(r>>>0>=11)t=_t(a=r+16&-16),f[i+8>>2]=-2147483648|a,f[i>>2]=t,f[i+4>>2]=r;else if(n[i+11|0]=r,t=i,!r)break t;ge(t,i+16|0,r)}if(n[r+t|0]=0,f[e>>2]=-2,e=e+4|0,n[i+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}Fr(r=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(a=c+f[r>>2]|0,s=A[0|a]|A[a+1|0]<<8|A[a+2|0]<<16|A[a+3|0]<<24,n[0|t]=s,n[t+1|0]=s>>>8,n[t+2|0]=s>>>16,n[t+3|0]=s>>>24,n[t+4|0]=A[a+4|0],a=f[r+20>>2],a=(s=f[r+16>>2]+5|0)>>>0<5?a+1|0:a,f[r+16>>2]=s,f[r+20>>2]=a,Rr(t,1394,5))r=_t(32),n[r+16|0]=A[1638],t=A[1634]|A[1635]<<8|A[1636]<<16|A[1637]<<24,a=A[1630]|A[1631]<<8|A[1632]<<16|A[1633]<<24,n[r+8|0]=a,n[r+9|0]=a>>>8,n[r+10|0]=a>>>16,n[r+11|0]=a>>>24,n[r+12|0]=t,n[r+13|0]=t>>>8,n[r+14|0]=t>>>16,n[r+15|0]=t>>>24,t=A[1626]|A[1627]<<8|A[1628]<<16|A[1629]<<24,a=A[1622]|A[1623]<<8|A[1624]<<16|A[1625]<<24,n[0|r]=a,n[r+1|0]=a>>>8,n[r+2|0]=a>>>16,n[r+3|0]=a>>>24,n[r+4|0]=t,n[r+5|0]=t>>>8,n[r+6|0]=t>>>16,n[r+7|0]=t>>>24,n[r+17|0]=0,f[e>>2]=-1,Fr(e+4|0,r,17),ee(r);else if((0|(c=f[r+12>>2]))<=(0|a)&l[r+8>>2]<=s>>>0|(0|a)>(0|c)){if((r=Dr(i+16|0))>>>0>=4294967280)break e;t:{if(r>>>0>=11)t=_t(a=r+16&-16),f[i+8>>2]=-2147483648|a,f[i>>2]=t,f[i+4>>2]=r;else if(n[i+11|0]=r,t=i,!r)break t;ge(t,i+16|0,r)}if(n[r+t|0]=0,f[e>>2]=-2,e=e+4|0,n[i+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}Fr(r=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(n[t+5|0]=A[s+f[r>>2]|0],a=f[r+20>>2],a=(s=f[r+16>>2]+1|0)?a:a+1|0,f[r+16>>2]=s,f[r+20>>2]=a,(0|(c=f[r+12>>2]))<=(0|a)&l[r+8>>2]<=s>>>0|(0|a)>(0|c)){if((r=Dr(i+16|0))>>>0>=4294967280)break e;t:{if(r>>>0>=11)t=_t(a=r+16&-16),f[i+8>>2]=-2147483648|a,f[i>>2]=t,f[i+4>>2]=r;else if(n[i+11|0]=r,t=i,!r)break t;ge(t,i+16|0,r)}if(n[r+t|0]=0,f[e>>2]=-2,e=e+4|0,n[i+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}Fr(r=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(n[t+6|0]=A[s+f[r>>2]|0],a=f[r+20>>2],a=(s=f[r+16>>2]+1|0)?a:a+1|0,f[r+16>>2]=s,f[r+20>>2]=a,(0|(c=f[r+12>>2]))<=(0|a)&l[r+8>>2]<=s>>>0|(0|a)>(0|c)){if((r=Dr(i+16|0))>>>0>=4294967280)break e;t:{if(r>>>0>=11)t=_t(a=r+16&-16),f[i+8>>2]=-2147483648|a,f[i>>2]=t,f[i+4>>2]=r;else if(n[i+11|0]=r,t=i,!r)break t;ge(t,i+16|0,r)}if(n[r+t|0]=0,f[e>>2]=-2,e=e+4|0,n[i+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}Fr(r=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(n[t+7|0]=A[s+f[r>>2]|0],a=f[r+20>>2],a=(s=f[r+16>>2]+1|0)?a:a+1|0,f[r+16>>2]=s,f[r+20>>2]=a,(0|(c=f[r+12>>2]))<=(0|a)&l[r+8>>2]<=s>>>0|(0|a)>(0|c)){if(r=Qr(i,i+16|0),f[e>>2]=-2,e=e+4|0,n[r+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}if(Fr(e,f[r>>2],f[r+4>>2]),n[r+11|0]>=0)break r;ee(f[r>>2])}else if(n[t+8|0]=A[s+f[r>>2]|0],s=a=f[r+20>>2],a=(c=(_=f[r+16>>2])+1|0)?a:a+1|0,f[r+16>>2]=c,f[r+20>>2]=a,u=f[r+12>>2],a=s,a=(s=_+3|0)>>>0<3?a+1|0:a,s>>>0>l[r+8>>2]&(0|a)>=(0|u)|(0|a)>(0|u)){if(r=Qr(i,i+16|0),f[e>>2]=-2,e=e+4|0,n[r+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}if(Fr(e,f[r>>2],f[r+4>>2]),n[r+11|0]>=0)break r;ee(f[r>>2])}else s=t,t=c+f[r>>2]|0,o[s+10>>1]=A[0|t]|A[t+1|0]<<8,a=f[r+20>>2],a=(t=f[r+16>>2]+2|0)>>>0<2?a+1|0:a,f[r+16>>2]=t,f[r+20>>2]=a,f[e+8>>2]=0,f[e+12>>2]=0,f[e>>2]=0,f[e+4>>2]=0;return void(V=i+48|0)}si(),T()}function L(e,r,t,i){var a=0,s=0,c=0,l=0,p=0,m=k(0),h=0;e:{r:if(i){t:{i:switch(f[e+28>>2]-1|0){case 0:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=n[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 1:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 2:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=o[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 3:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=b[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 4:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[r>>2],r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 5:if((0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if((0|(a=f[r>>2]))<0)break r;if(f[(c<<2)+i>>2]=a,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if(l=1,(0|t)>(0|a))break t;break r;case 6:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(a=f[r>>2],-1!=(f[r+4>>2]-(a>>>0<2147483648)|0))break e;if(f[(c<<2)+i>>2]=a,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 7:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(!(a=f[r+4>>2])&(p=f[r>>2])>>>0>2147483647|a)break e;if(f[(c<<2)+i>>2]=p,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 8:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<2)+i|0,m=u[r>>2],a=k(d(m))<k(2147483648)?~~m:-2147483648,f[p>>2]=a,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 9:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<2)+i|0,h=_[r>>3],a=d(h)<2147483648?~~h:-2147483648,f[p>>2]=a,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 10:break i;default:break r}if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)<=(0|a))break r}Je((a<<2)+i|0,0,t-a<<2)}return l}return 0}function X(e,r,t,i){var a=0,s=0,c=0,l=0,p=0,d=k(0),m=0;e:{r:if(i){t:{i:switch(f[e+28>>2]-1|0){case 0:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=n[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 1:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 2:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=o[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 3:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=b[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 4:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[r>>2],r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 5:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[r>>2],r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 6:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(a=f[r>>2],f[r+4>>2])break e;if(f[(c<<2)+i>>2]=a,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 7:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(a=f[r>>2],f[r+4>>2])break e;if(f[(c<<2)+i>>2]=a,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 8:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<2)+i|0,a=(d=u[r>>2])<k(4294967296)&d>=k(0)?~~d>>>0:0,f[p>>2]=a,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 9:if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<2)+i|0,a=(m=_[r>>3])<4294967296&m>=0?~~m>>>0:0,f[p>>2]=a,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)>(0|a))break t;break r;case 10:break i;default:break r}if(l=1,(0|((0|t)<(0|(a=n[e+24|0]))?t:a))>0)for(a=f[e>>2],r=(s=f[a>>2])+(r=f[e+48>>2]+Lr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[a+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(a=n[e+24|0]))?t:a))))break}if((0|t)<=(0|a))break r}Je((a<<2)+i|0,0,t-a<<2)}return l}return 0}function H(e,r,t){var i,a=0,n=0,o=0,s=0,c=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;V=i=V+-64|0,f[i+48>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[i>>2]=0,f[i+4>>2]=0,s=r;e:{r:if(b[r+38>>1]&&Cr(1,i+12|0,s)){if(_=f[i+12>>2],r=f[i>>2],_>>>0>(a=f[i+4>>2]-r>>2)>>>0?(sr(i,_-a|0),_=f[i+12>>2]):a>>>0<=_>>>0||(f[i+4>>2]=r+(_<<2)),n=1,!_)break e;for(h=f[s+8>>2],y=f[s+12>>2],m=f[i>>2];;){if(n=0,(0|y)<=(0|(a=f[s+20>>2]))&h>>>0<=(l=f[s+16>>2])>>>0|(0|a)>(0|y))break e;k=f[s>>2],v=A[k+l|0],a=(r=l+1|0)?a:a+1|0,n=r,f[s+16>>2]=r,f[s+20>>2]=a,r=v>>>2|0,c=0;t:{i:{a:{n:switch(0|(d=3&v)){case 3:break n;case 0:break i;default:break a}if(n=0,(r=r+o|0)>>>0>=_>>>0)break e;Je(m+(o<<2)|0,0,4+(252&v)|0),o=r;break t}for(;;){if((0|a)>=(0|y)&n>>>0>=h>>>0|(0|a)>(0|y))break r;if(l=A[n+k|0],a=(n=n+1|0)?a:a+1|0,f[s+16>>2]=n,f[s+20>>2]=a,r|=l<<(c<<3|6),(0|d)==(0|(c=c+1|0)))break}}f[m+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(_=f[i+12>>2])>>>0))break}if(h=i+16|0,k=f[i>>2],n=f[i+16>>2],(r=(a=f[i+20>>2]-n|0)>>2)>>>0<=1048575?sr(h,1048576-r|0):4194304!=(0|a)&&(f[i+20>>2]=n+4194304),o=f[(a=i+28|0)>>2],(r=f[i+32>>2]-o>>3)>>>0<_>>>0)cr(a,_-r|0),o=f[a>>2];else if(r>>>0>_>>>0&&(f[i+32>>2]=(_<<3)+o),!_)break r;for(c=0,a=0;;){if(l=f[(d=(c<<2)+k|0)>>2],r=a,f[4+(n=(c<<3)+o|0)>>2]=a,f[n>>2]=l,(a=(m=f[d>>2])+a|0)>>>0>1048576)break r;if(!(r>>>0>=a>>>0)){if(d=f[h>>2],l=0,n=7&m)for(;f[d+(r<<2)>>2]=c,r=r+1|0,(0|n)!=(0|(l=l+1|0)););if(!(m-1>>>0<=6))for(;f[(n=d+(r<<2)|0)>>2]=c,f[n+28>>2]=c,f[n+24>>2]=c,f[n+20>>2]=c,f[n+16>>2]=c,f[n+12>>2]=c,f[n+8>>2]=c,f[n+4>>2]=c,(0|a)!=(0|(r=r+8|0)););}if((0|_)==(0|(c=c+1|0)))break}u=1048576==(0|a)}n=u}e:if(!(!n|(f[i+12>>2]?0:e))&&kr(1,i+56|0,s)&&(l=(a=f[s+8>>2])-(r=f[s+16>>2])|0,o=f[i+60>>2],n=f[s+20>>2],!((0|o)==(0|(a=f[s+12>>2]-(n+(r>>>0>a>>>0)|0)|0))&l>>>0<(u=f[i+56>>2])>>>0|a>>>0<o>>>0||(a=n+o|0,a=(l=r+u|0)>>>0<r>>>0?a+1|0:a,f[s+16>>2]=l,f[s+20>>2]=a,(0|u)<=0)))){k=r+f[s>>2]|0,f[i+40>>2]=k;r:if((a=A[0|(n=k+(r=u-1|0)|0)])>>>0<=63)f[i+44>>2]=r,a=63&A[0|n];else{switch((a>>>6|0)-1|0){case 0:if(u>>>0<2)break e;r=u-2|0,f[i+44>>2]=r,a=A[1+(a=(u+k|0)-2|0)|0]<<8&16128|A[0|a];break r;case 1:if(u>>>0<3)break e;r=u-3|0,f[i+44>>2]=r,a=A[2+(a=(u+k|0)-3|0)|0]<<16&4128768|A[a+1|0]<<8|A[0|a];break r}r=u-4|0,f[i+44>>2]=r,a=A[2+(a=(u+k|0)-4|0)|0]<<16|A[a+3|0]<<24&1056964608|A[a+1|0]<<8|A[0|a]}if(o=a+4194304|0,f[i+48>>2]=o,!(o>>>0>1073741823))if(e)for(d=f[i+28>>2],a=0,l=f[i+16>>2];;){r:if(!(o>>>0>4194303))for(;;){if((0|r)<=0)break r;if(r=r-1|0,f[i+44>>2]=r,o=A[r+k|0]|o<<8,f[i+48>>2]=o,!(o>>>0<4194304))break}if(u=f[l+((n=1048575&o)<<2)>>2],o=(p(f[(s=d+(u<<3)|0)>>2],o>>>20|0)+n|0)-f[s+4>>2]|0,f[i+48>>2]=o,f[(a<<2)+t>>2]=u,g=1,(0|(a=a+1|0))==(0|e))break}else g=1}return(e=f[i+28>>2])&&(f[i+32>>2]=e,ee(e)),(e=f[i+16>>2])&&(f[i+20>>2]=e,ee(e)),(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),V=i- -64|0,g}function q(e,r){var t=0,i=0,a=0,o=0,s=0,c=0;if((o=((t=f[e+4>>2])-(i=f[e>>2])|0)/144|0)>>>0<r>>>0)if(i=e,(s=r-o|0)>>>0<=((t=f[e+8>>2])-(e=f[e+4>>2])|0)/144>>>0){if(s){for(r=p(s,144)+e|0;f[e>>2]=-1,hr(e+4|0),f[e+104>>2]=0,f[e+108>>2]=0,n[e+100|0]=1,f[e+112>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,f[e+124>>2]=0,f[e+128>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,f[e+140>>2]=0,(0|r)!=(0|(e=e+144|0)););e=r}f[i+4>>2]=e}else{e:{r:{t:{if((c=(o=((r=e)-(e=f[i>>2])|0)/144|0)+s|0)>>>0<29826162){if(e=(r=(t-e|0)/144|0)<<1,a=r>>>0<14913080?e>>>0<c>>>0?c:e:29826161){if(a>>>0>=29826162)break t;t=_t(p(a,144))}else t=0;for(c=(r=t+p(o,144)|0)+p(s,144)|0,e=r;f[e>>2]=-1,hr(e+4|0),f[e+104>>2]=0,f[e+108>>2]=0,n[e+100|0]=1,f[e+112>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,f[e+124>>2]=0,f[e+128>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,f[e+140>>2]=0,(0|c)!=(0|(e=e+144|0)););if(o=t+p(a,144)|0,(0|(e=f[i+4>>2]))==(0|(a=f[i>>2])))break r;for(;e=e-144|0,f[(r=r-144|0)>>2]=f[e>>2],f[r+4>>2]=f[e+4>>2],f[r+8>>2]=f[e+8>>2],f[r+12>>2]=f[e+12>>2],f[e+12>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[r+16>>2]=f[e+16>>2],f[r+20>>2]=f[e+20>>2],f[r+24>>2]=f[e+24>>2],f[e+24>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,t=A[e+28|0],f[r+40>>2]=0,f[r+32>>2]=0,f[r+36>>2]=0,n[r+28|0]=t,f[r+32>>2]=f[e+32>>2],f[r+36>>2]=f[e+36>>2],f[r+40>>2]=f[e+40>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[r+52>>2]=0,f[r+44>>2]=0,f[r+48>>2]=0,f[r+44>>2]=f[e+44>>2],f[r+48>>2]=f[e+48>>2],f[r+52>>2]=f[e+52>>2],f[e+52>>2]=0,f[e+44>>2]=0,f[e+48>>2]=0,f[(t=r- -64|0)>>2]=0,f[r+56>>2]=0,f[r+60>>2]=0,f[r+56>>2]=f[e+56>>2],f[r+60>>2]=f[e+60>>2],s=t,t=e- -64|0,f[s>>2]=f[t>>2],f[t>>2]=0,f[e+56>>2]=0,f[e+60>>2]=0,f[r+68>>2]=f[e+68>>2],t=f[e+72>>2],f[r+84>>2]=0,f[r+76>>2]=0,f[r+80>>2]=0,f[r+72>>2]=t,f[r+76>>2]=f[e+76>>2],f[r+80>>2]=f[e+80>>2],f[r+84>>2]=f[e+84>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[r+96>>2]=0,f[r+88>>2]=0,f[r+92>>2]=0,f[r+88>>2]=f[e+88>>2],f[r+92>>2]=f[e+92>>2],f[r+96>>2]=f[e+96>>2],f[e+96>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,t=A[e+100|0],f[r+112>>2]=0,f[r+104>>2]=0,f[r+108>>2]=0,n[r+100|0]=t,f[r+104>>2]=f[e+104>>2],f[r+108>>2]=f[e+108>>2],f[r+112>>2]=f[e+112>>2],f[e+112>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0,f[r+124>>2]=0,f[r+116>>2]=0,f[r+120>>2]=0,f[r+116>>2]=f[e+116>>2],f[r+120>>2]=f[e+120>>2],f[r+124>>2]=f[e+124>>2],f[e+124>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,t=f[e+128>>2],f[r+140>>2]=0,f[r+132>>2]=0,f[r+136>>2]=0,f[r+128>>2]=t,f[r+132>>2]=f[e+132>>2],f[r+136>>2]=f[e+136>>2],f[r+140>>2]=f[e+140>>2],f[e+140>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,(0|e)!=(0|a););if(f[i+8>>2]=o,e=f[i+4>>2],f[i+4>>2]=c,a=f[i>>2],f[i>>2]=r,(0|e)==(0|a))break e;for(;(r=f[e-12>>2])&&(f[e-8>>2]=r,ee(r)),(r=f[e-28>>2])&&(f[e-24>>2]=r,ee(r)),(r=f[e-40>>2])&&(f[e-36>>2]=r,ee(r)),Zr(e-140|0),(0|a)!=(0|(e=e-144|0)););break e}oi(),T()}Hr(1326),T()}f[i+8>>2]=o,f[i+4>>2]=c,f[i>>2]=r}a&&ee(a)}else if(r>>>0<o>>>0){if((0|(i=i+p(r,144)|0))!=(0|t))for(;(r=f[t-12>>2])&&(f[t-8>>2]=r,ee(r)),(r=f[t-28>>2])&&(f[t-24>>2]=r,ee(r)),(r=f[t-40>>2])&&(f[t-36>>2]=r,ee(r)),Zr(t-140|0),(0|i)!=(0|(t=t-144|0)););f[e+4>>2]=i}}function K(e,r,t){r|=0,t|=0;var i,a=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0;if(V=i=V-96|0,a=f[16+(e|=0)>>2],n[i+92|0]=1,f[i+88>>2]=r,f[i+84>>2]=r,f[i+80>>2]=a,-1!=(0|r)&&(p=f[e+20>>2],o=f[p>>2],!((a=f[f[a>>2]+(r<<2)>>2])>>>0>=f[p+4>>2]-o>>2>>>0))){a=f[f[e+8>>2]+(f[o+(a<<2)>>2]<<2)>>2],o=f[e+4>>2],A[o+84|0]||(a=f[f[o+68>>2]+(a<<2)>>2]),f[i+72>>2]=0,f[i+76>>2]=0,f[(p=i- -64|0)>>2]=0,f[p+4>>2]=0,f[i+56>>2]=0,f[i+60>>2]=0,Y(o,a,n[o+24|0],i+56|0),p=((a=r+1|0)>>>0)%3|0?a:r-2|0,c=((r>>>0)%3|0?-1:2)+r|0;e:{r:{for(;;){if(o=p,a=c,f[e+28>>2]&&(o=((a=r+1|0)>>>0)%3|0?a:r-2|0,a=r-1|0,(r>>>0)%3|0||(a=r+2|0)),-1==(0|o))break e;if(u=f[e+20>>2],r=f[u>>2],(o=f[f[f[e+16>>2]>>2]+(o<<2)>>2])>>>0>=f[u+4>>2]-r>>2>>>0)break e;if(o=f[f[e+8>>2]+(f[(o<<2)+r>>2]<<2)>>2],r=f[e+4>>2],A[r+84|0]||(o=f[f[r+68>>2]+(o<<2)>>2]),f[i+48>>2]=0,f[i+52>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,Y(r,o,n[r+24|0],i+32|0),-1==(0|a))break r;if(o=f[e+20>>2],r=f[o>>2],(a=f[f[f[e+16>>2]>>2]+(a<<2)>>2])>>>0>=f[o+4>>2]-r>>2>>>0)break r;if(o=f[f[e+8>>2]+(f[r+(a<<2)>>2]<<2)>>2],r=f[e+4>>2],A[r+84|0]||(o=f[f[r+68>>2]+(o<<2)>>2]),f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,Y(r,o,n[r+24|0],i+8|0),o=(a=f[i+8>>2])-(r=f[i+56>>2])|0,u=f[i+60>>2],k=f[i+12>>2]-(u+(r>>>0>a>>>0)|0)|0,v=(b=f[i+40>>2])-(a=f[i+64>>2])|0,g=f[i+68>>2],w=Lr(o,k,v,b=f[i+44>>2]-(g+(a>>>0>b>>>0)|0)|0),s=s-(D+(l>>>0<w>>>0)|0)|0,E=C=l-w|0,a=Lr(w=(l=f[i+16>>2])-a|0,g=f[i+20>>2]-((a>>>0>l>>>0)+g|0)|0,C=(l=f[i+32>>2])-r|0,u=f[i+36>>2]-((r>>>0>l>>>0)+u|0)|0),r=D+s|0,s=r=a>>>0>(l=E+a|0)>>>0?r+1|0:r,E=d,m=k,k=(r=f[i+48>>2])-(a=f[i+72>>2])|0,d=f[i+76>>2],m=Lr(o,m,k,N=f[i+52>>2]-(d+(r>>>0<a>>>0)|0)|0),r=D+_|0,r=(o=E+m|0)>>>0<m>>>0?r+1|0:r,d=o-(_=Lr(m=(_=f[i+24>>2])-a|0,a=f[i+28>>2]-((a>>>0>_>>>0)+d|0)|0,C,u))|0,_=r-(D+(o>>>0<_>>>0)|0)|0,o=h-(r=Lr(w,g,k,N))|0,r=y-(D+(r>>>0>h>>>0)|0)|0,y=Lr(m,a,v,b),r=D+r|0,y=r=(h=y+o|0)>>>0<y>>>0?r+1|0:r,Fe(i+80|0),-1==(0|(r=f[i+88>>2])))break}o=(r=y>>31)+h|0,a=r,r=r+y|0,u=o^a,c=a^(o>>>0<a>>>0?r+1|0:r),k=-1,o=2147483647,b=r=_>>31,a=r+d|0,r=r+_|0,r=a>>>0<b>>>0?r+1|0:r,a^=b,b=r^=b,v=-1^a,r^=2147483647,p=s;t:{if(f[e+28>>2]){if(!((0|r)==(0|c)&u>>>0>v>>>0|r>>>0<c>>>0)&&(r=c+b|0,a=r=(e=a+u|0)>>>0<a>>>0?r+1|0:r,c=s,s=(r=s>>31)+l|0,b=c,c=r,r=b+r|0,r=s>>>0<c>>>0?r+1|0:r,s^=c,!((0|(c=2147483647^(r^=c)))==(0|a)&(-1^s)>>>0<e>>>0|a>>>0>c>>>0)&&(r=r+a|0,k=e=e+s|0,o=r=e>>>0<s>>>0?r+1|0:r,!r&e>>>0<536870913)))break t;r=o>>>29|0,e=(536870911&o)<<3|k>>>29}else{if((0|r)==(0|c)&u>>>0>v>>>0|r>>>0<c>>>0)break t;if(r=c+b|0,r=(e=a+u|0)>>>0<a>>>0?r+1|0:r,a=e,e=r,o=(r=s>>31)+l|0,c=s,s=r,r=c+r|0,c=o^s,s^=r=o>>>0<s>>>0?r+1|0:r,r=o=c+a|0,(s=!(0&(e=(0|(s^=2147483647))==(0|e)&(-1^c)>>>0<a>>>0|e>>>0>s>>>0)))&(0|(e=e?-1:r))<=536870912|(0|e)<536870912)break t;r=0,e=e>>>29|0}l=Pr(l,p,e,r),d=Pr(d,_,e,r),h=Pr(h,y,e,r)}return f[t+8>>2]=l,f[t+4>>2]=d,f[t>>2]=h,void(V=i+96|0)}li(),T()}li(),T()}li(),T()}function $(e,r){e|=0;var t=0,i=0,a=0,n=0,o=0,s=0,c=0,A=0;if(!((0|(r|=0))<0||(i=f[e+12>>2])-(t=f[e+8>>2])>>2>>>0<=r>>>0)){n=f[(a=t+(r<<2)|0)>>2],c=f[n+60>>2],o=f[n+56>>2];e:{if((0|(t=a+4|0))!=(0|i)){for(;s=f[t>>2],f[t>>2]=0,f[a>>2]=s,n&&Jr(n),a=a+4|0,(0|(t=t+4|0))!=(0|i);)n=f[a>>2];if((0|a)==(0|(i=f[e+12>>2])))break e}for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&Jr(t),(0|i)!=(0|a););}f[e+12>>2]=a;e:if(!(!(n=f[e+4>>2])|(0|c)<0)&&(0|(i=f[n+24>>2]))!=(0|(t=f[n+28>>2])))for(;;){if((0|c)==f[f[i>>2]+24>>2]){r:{if((0|(a=i+4|0))!=(0|(c=f[n+28>>2]))){for(;s=f[a>>2],f[a>>2]=0,t=f[i>>2],f[i>>2]=s,t&&(at(t+12|0,f[t+16>>2]),lt(t,f[t+4>>2]),ee(t)),i=i+4|0,(0|c)!=(0|(a=a+4|0)););if((0|(a=f[n+28>>2]))==(0|i))break r}for(;t=f[(a=a-4|0)>>2],f[a>>2]=0,t&&(at(t+12|0,f[t+16>>2]),lt(t,f[t+4>>2]),ee(t)),(0|i)!=(0|a););}f[n+28>>2]=i;break e}if((0|t)==(0|(i=i+4|0)))break}e:if(!((0|o)>4)){r:if(a=p(o,12)+e|0,(0|(i=f[a+20>>2]))!=(0|(t=f[a+24>>2]))){for(;;){if(f[i>>2]==(0|r))break r;if((0|t)==(0|(i=i+4|0)))break}break e}(0|i)!=(0|t)&&((t=t-(n=i+4|0)|0)&&Se(i,n,t),f[a+24>>2]=i+t)}if(a=f[e+20>>2],i=f[e+24>>2]-a|0){if(c=1&(n=(t=i>>2)>>>0>1?t:1),i=0,t>>>0>=2)for(n&=-2,t=0;(0|(A=f[(s=(o=i<<2)+a|0)>>2]))>(0|r)&&(f[s>>2]=A-1),(0|(s=f[(o=a+(4|o)|0)>>2]))>(0|r)&&(f[o>>2]=s-1),i=i+2|0,(0|n)!=(0|(t=t+2|0)););c&&((0|(t=f[(i=a+(i<<2)|0)>>2]))<=(0|r)||(f[i>>2]=t-1))}if(a=f[e+32>>2],i=f[e+36>>2]-a|0){if(c=1&(n=(t=i>>2)>>>0>1?t:1),i=0,t>>>0>=2)for(n&=-2,t=0;(0|(A=f[(s=(o=i<<2)+a|0)>>2]))>(0|r)&&(f[s>>2]=A-1),(0|(s=f[(o=a+(4|o)|0)>>2]))>(0|r)&&(f[o>>2]=s-1),i=i+2|0,(0|n)!=(0|(t=t+2|0)););c&&((0|(t=f[(i=a+(i<<2)|0)>>2]))<=(0|r)||(f[i>>2]=t-1))}if(a=f[e+44>>2],i=f[e+48>>2]-a|0){if(c=1&(n=(t=i>>2)>>>0>1?t:1),i=0,t>>>0>=2)for(n&=-2,t=0;(0|(A=f[(s=(o=i<<2)+a|0)>>2]))>(0|r)&&(f[s>>2]=A-1),(0|(s=f[(o=a+(4|o)|0)>>2]))>(0|r)&&(f[o>>2]=s-1),i=i+2|0,(0|n)!=(0|(t=t+2|0)););c&&((0|(t=f[(i=a+(i<<2)|0)>>2]))<=(0|r)||(f[i>>2]=t-1))}if(a=f[e+56>>2],i=f[e+60>>2]-a|0){if(c=1&(n=(t=i>>2)>>>0>1?t:1),i=0,t>>>0>=2)for(n&=-2,t=0;(0|(A=f[(s=(o=i<<2)+a|0)>>2]))>(0|r)&&(f[s>>2]=A-1),(0|(s=f[(o=a+(4|o)|0)>>2]))>(0|r)&&(f[o>>2]=s-1),i=i+2|0,(0|n)!=(0|(t=t+2|0)););c&&((0|(t=f[(i=a+(i<<2)|0)>>2]))<=(0|r)||(f[i>>2]=t-1))}if(i=(t=f[e+72>>2])-(e=f[e+68>>2])|0){if(n=1&(a=(t=i>>2)>>>0>1?t:1),i=0,t>>>0>=2)for(a&=-2,t=0;(0|(s=f[(o=(c=i<<2)+e|0)>>2]))>(0|r)&&(f[o>>2]=s-1),(0|(o=f[(c=e+(4|c)|0)>>2]))>(0|r)&&(f[c>>2]=o-1),i=i+2|0,(0|a)!=(0|(t=t+2|0)););n&&((0|(t=r))>=(0|(r=f[(e=e+(i<<2)|0)>>2]))||(f[e>>2]=r-1))}}}function ee(e){var r=0,t=0,i=0,a=0,n=0,o=0,s=0,c=0,A=0;e:if(e|=0){n=(i=e-8|0)+(e=-8&(r=f[e-4>>2]))|0;r:if(!(1&r)){if(!(3&r))break e;if((i=i-(r=f[i>>2])|0)>>>0<l[2885])break e;if(e=e+r|0,f[2886]==(0|i)){if(3==(3&(r=f[n+4>>2])))return f[2883]=e,f[n+4>>2]=-2&r,f[i+4>>2]=1|e,void(f[e+i>>2]=e)}else{if(r>>>0<=255){if(a=f[i+8>>2],r=r>>>3|0,(0|(t=f[i+12>>2]))==(0|a)){c=11524,A=f[2881]&Vt(r),f[c>>2]=A;break r}f[a+12>>2]=t,f[t+8>>2]=a;break r}if(s=f[i+24>>2],(0|i)==(0|(r=f[i+12>>2])))if((t=f[(a=i+20|0)>>2])||(t=f[(a=i+16|0)>>2])){for(;o=a,(t=f[(a=(r=t)+20|0)>>2])||(a=r+16|0,t=f[r+16>>2]););f[o>>2]=0}else r=0;else t=f[i+8>>2],f[t+12>>2]=r,f[r+8>>2]=t;if(!s)break r;a=f[i+28>>2];t:{if(f[(t=11828+(a<<2)|0)>>2]==(0|i)){if(f[t>>2]=r,r)break t;c=11528,A=f[2882]&Vt(a),f[c>>2]=A;break r}if(f[s+(f[s+16>>2]==(0|i)?16:20)>>2]=r,!r)break r}if(f[r+24>>2]=s,(t=f[i+16>>2])&&(f[r+16>>2]=t,f[t+24>>2]=r),!(t=f[i+20>>2]))break r;f[r+20>>2]=t,f[t+24>>2]=r}}if(!(i>>>0>=n>>>0)&&1&(r=f[n+4>>2])){r:{if(!(2&r)){if(f[2887]==(0|n)){if(f[2887]=i,e=f[2884]+e|0,f[2884]=e,f[i+4>>2]=1|e,f[2886]!=(0|i))break e;return f[2883]=0,void(f[2886]=0)}if(f[2886]==(0|n))return f[2886]=i,e=f[2883]+e|0,f[2883]=e,f[i+4>>2]=1|e,void(f[e+i>>2]=e);e=(-8&r)+e|0;t:if(r>>>0<=255){if(a=f[n+8>>2],r=r>>>3|0,(0|(t=f[n+12>>2]))==(0|a)){c=11524,A=f[2881]&Vt(r),f[c>>2]=A;break t}f[a+12>>2]=t,f[t+8>>2]=a}else{if(s=f[n+24>>2],(0|n)==(0|(r=f[n+12>>2])))if((t=f[(a=n+20|0)>>2])||(t=f[(a=n+16|0)>>2])){for(;o=a,(t=f[(a=(r=t)+20|0)>>2])||(a=r+16|0,t=f[r+16>>2]););f[o>>2]=0}else r=0;else t=f[n+8>>2],f[t+12>>2]=r,f[r+8>>2]=t;if(s){a=f[n+28>>2];i:{if(f[(t=11828+(a<<2)|0)>>2]==(0|n)){if(f[t>>2]=r,r)break i;c=11528,A=f[2882]&Vt(a),f[c>>2]=A;break t}if(f[s+(f[s+16>>2]==(0|n)?16:20)>>2]=r,!r)break t}f[r+24>>2]=s,(t=f[n+16>>2])&&(f[r+16>>2]=t,f[t+24>>2]=r),(t=f[n+20>>2])&&(f[r+20>>2]=t,f[t+24>>2]=r)}}if(f[i+4>>2]=1|e,f[e+i>>2]=e,f[2886]!=(0|i))break r;return void(f[2883]=e)}f[n+4>>2]=-2&r,f[i+4>>2]=1|e,f[e+i>>2]=e}if(e>>>0<=255)return r=11564+((e=e>>>3|0)<<3)|0,(t=f[2881])&(e=1<<e)?e=f[r+8>>2]:(f[2881]=e|t,e=r),f[r+8>>2]=i,f[e+12>>2]=i,f[i+12>>2]=r,void(f[i+8>>2]=e);a=31,f[i+16>>2]=0,f[i+20>>2]=0,e>>>0<=16777215&&(r=e>>>8|0,r<<=o=r+1048320>>>16&8,a=28+((r=((r<<=a=r+520192>>>16&4)<<(t=r+245760>>>16&2)>>>15|0)-(t|a|o)|0)<<1|e>>>r+21&1)|0),f[i+28>>2]=a,o=11828+(a<<2)|0;r:{t:{if((t=f[2882])&(r=1<<a)){for(a=e<<(31==(0|a)?0:25-(a>>>1|0)|0),r=f[o>>2];;){if(t=r,(-8&f[r+4>>2])==(0|e))break t;if(r=a>>>29|0,a<<=1,!(r=f[16+(o=t+(4&r)|0)>>2]))break}f[o+16>>2]=i,f[i+24>>2]=t}else f[2882]=r|t,f[o>>2]=i,f[i+24>>2]=o;f[i+12>>2]=i,f[i+8>>2]=i;break r}e=f[t+8>>2],f[e+12>>2]=i,f[t+8>>2]=i,f[i+24>>2]=0,f[i+12>>2]=t,f[i+8>>2]=e}e=f[2889]-1|0,f[2889]=e||-1}}}function re(e,r,t,i){var a,o=0,s=0,c=0,A=0,b=0,_=k(0),p=0,d=0,h=k(0);a=f[t>>2];e:{r:if(s=f[r+4>>2]){t:{if((c=Nt(s))>>>0>=2){if((o=a)>>>0>=s>>>0&&(o=(a>>>0)%(s>>>0)|0),!(t=f[f[r>>2]+(o<<2)>>2]))break r;if(c>>>0<=1)break t;for(;;){if(!(t=f[t>>2]))break r;if((0|(c=f[t+4>>2]))!=(0|a)&&(s>>>0<=c>>>0&&(c=(c>>>0)%(s>>>0)|0),(0|o)!=(0|c)))break r;if(f[t+8>>2]==(0|a))break}r=0;break e}if(o=s-1&a,!(t=f[f[r>>2]+(o<<2)>>2]))break r}for(c=s-1|0;;){if(!(t=f[t>>2]))break r;if((0|(A=f[t+4>>2]))!=(0|a)&(c&A)!=(0|o))break r;if(f[t+8>>2]==(0|a))break}r=0;break e}if(t=_t(16),i=f[f[i>>2]>>2],f[t+12>>2]=0,f[t+8>>2]=i,f[t+4>>2]=a,f[t>>2]=0,h=k(f[r+12>>2]+1>>>0),_=u[r+16>>2],!s||h>k(_*k(s>>>0))){c=0!=(s-1&s)|s>>>0<3|s<<1,o=2,1!=(0|(i=(i=(_=k(g(k(h/_))))<k(4294967296)&_>=k(0)?~~_>>>0:0)>>>0>c>>>0?i:c))&&(i&i-1?(o=F(i),s=f[r+4>>2]):o=i);r:{if(o>>>0<=s>>>0){if(o>>>0>=s>>>0)break r;if(c=s>>>0<3,i=(_=k(g(k(k(l[r+12>>2])/u[r+16>>2]))))<k(4294967296)&_>=k(0)?~~_>>>0:0,(o=(i=c||Nt(s)>>>0>1?F(i):i>>>0<2?i:1<<32-m(i-1|0))>>>0>o>>>0?i:o)>>>0>=s>>>0)break r}s=0,A=o;t:{i:{a:{n:{if(o){if(A>>>0>=1073741824)break n;if(o=_t(A<<2),i=f[r>>2],f[r>>2]=o,i&&ee(i),f[r+4>>2]=A,o=0,A-1>>>0>=3)for(c=-4&A;f[(i=o<<2)+f[r>>2]>>2]=0,f[f[r>>2]+(4|i)>>2]=0,f[f[r>>2]+(8|i)>>2]=0,f[f[r>>2]+(12|i)>>2]=0,o=o+4|0,(0|c)!=(0|(s=s+4|0)););if(i=3&A)for(;f[f[r>>2]+(o<<2)>>2]=0,o=o+1|0,(0|i)!=(0|(b=b+1|0)););if(!(s=f[r+8>>2]))break t;if(i=r+8|0,c=f[s+4>>2],(o=Nt(A))>>>0<2)break a;if(c=c>>>0>=A>>>0?(c>>>0)%(A>>>0)|0:c,f[f[r>>2]+(c<<2)>>2]=i,!(i=f[s>>2]))break t;if(o>>>0<=1)break i;for(;;){if(A>>>0<=(b=f[i+4>>2])>>>0&&(b=(b>>>0)%(A>>>0)|0),(0|c)!=(0|b))if(o=i,d=(p=b<<2)+f[r>>2]|0,f[d>>2]){for(;b=o,o=f[o>>2],f[i+8>>2]==f[o+8>>2]&&o;);f[s>>2]=o,f[b>>2]=f[f[p+f[r>>2]>>2]>>2],f[f[p+f[r>>2]>>2]>>2]=i}else f[d>>2]=s,s=i,c=b;else s=i;if(!(i=f[s>>2]))break}break t}i=f[r>>2],f[r>>2]=0,i&&ee(i),f[r+4>>2]=0;break t}Hr(1326),T()}if(c&=A-1,f[f[r>>2]+(c<<2)>>2]=i,!(i=f[s>>2]))break t}for(p=A-1|0;;){if((0|(A=p&f[i+4>>2]))!=(0|c))if(o=i,d=(b=A<<2)+f[r>>2]|0,f[d>>2]){for(;A=o,o=f[o>>2],f[i+8>>2]==f[o+8>>2]&&o;);f[s>>2]=o,f[A>>2]=f[f[b+f[r>>2]>>2]>>2],f[f[b+f[r>>2]>>2]>>2]=i}else f[d>>2]=s,s=i,c=A;else s=i;if(!(i=f[s>>2]))break}}}o=(i=(s=f[r+4>>2])-1|0)&s?s>>>0>a>>>0?a:(a>>>0)%(s>>>0)|0:i&a}o=f[r>>2]+(o<<2)|0;r:if(i=f[o>>2])f[t>>2]=f[i>>2],f[i>>2]=t;else{if(f[t>>2]=f[r+8>>2],f[r+8>>2]=t,f[o>>2]=r+8,!(i=f[t>>2]))break r;i=f[i+4>>2],(o=s-1|0)&s?i>>>0<s>>>0||(i=(i>>>0)%(s>>>0)|0):i&=o,f[f[r>>2]+(i<<2)>>2]=t}f[r+12>>2]=f[r+12>>2]+1,r=1}n[e+4|0]=r,f[e>>2]=t}function te(e){var r=0,t=0,i=0,a=0,n=0,o=0,s=0,c=0,A=0,b=0;f[e+56>>2]=f[e+52>>2],f[e+44>>2]=f[e+40>>2];e:{r:{t:{if(a=f[e+64>>2],(0|(t=f[a+24>>2]))!=f[a+28>>2])for(;;){i=r;i:if(-1!=(0|(c=f[(b<<2)+t>>2]))){if((0|(r=f[e+56>>2]))==f[e+60>>2]){if((r=1+(o=(a=r-(t=f[e+52>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(n=a>>1,n=o>>>0<536870911?r>>>0>n>>>0?r:n:1073741823){if(n>>>0>=1073741824)break e;r=_t(n<<2)}else r=0;f[(o=r+(o<<2)|0)>>2]=i,(0|a)>0&&ge(r,t,a),f[e+60>>2]=r+(n<<2),f[e+56>>2]=o+4,f[e+52>>2]=r,t&&ee(t)}else f[r>>2]=i,f[e+56>>2]=r+4;a:if(f[f[e+12>>2]+(b>>>3&536870908)>>2]>>>b&1&&-1!=(0|(r=((r=c+1|0)>>>0)%3|0?r:c-2|0))&&(a=f[e>>2],!(f[a+(r>>>3&536870908)>>2]>>>r&1)&&-1!=(0|(r=f[f[f[e+64>>2]+12>>2]+(r<<2)>>2]))&&-1!=(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0))))for(n=f[e+64>>2];;){if(c=t,-1==(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0))|f[a+(r>>>3&536870908)>>2]>>>r&1)break a;if(-1==(0|(r=f[f[n+12>>2]+(r<<2)>>2])))break a;if(-1==(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0)))break}if(f[f[e+28>>2]+(c<<2)>>2]=i,(0|(r=f[e+44>>2]))==f[e+48>>2]){if((r=1+(o=(a=r-(t=f[e+40>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(n=a>>1,n=o>>>0<536870911?r>>>0>n>>>0?r:n:1073741823){if(n>>>0>=1073741824)break e;r=_t(n<<2)}else r=0;f[(o=r+(o<<2)|0)>>2]=c,(0|a)>0&&ge(r,t,a),f[e+48>>2]=r+(n<<2),f[e+44>>2]=o+4,f[e+40>>2]=r,t&&ee(t)}else f[r>>2]=c,f[e+44>>2]=r+4;if(r=i+1|0,a=f[e+64>>2],(c>>>0)%3|0)t=c-1|0;else if(-1==(0|(t=c+2|0)))break i;if(-1!=(0|(t=f[f[a+12>>2]+(t<<2)>>2]))&&!(-1==(0|(t=t+((t>>>0)%3|0?-1:2)|0))|(0|t)==(0|c)))for(;;){if(a=((a=t+1|0)>>>0)%3|0?a:t-2|0,f[f[e>>2]+(a>>>3&536870908)>>2]>>>a&1){if((0|(i=f[e+56>>2]))==f[e+60>>2]){if((i=1+(s=(n=i-(a=f[e+52>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(o=n>>1,o=s>>>0<536870911?i>>>0>o>>>0?i:o:1073741823){if(o>>>0>=1073741824)break e;i=_t(o<<2)}else i=0;f[(s=i+(s<<2)|0)>>2]=r,(0|n)>0&&ge(i,a,n),f[e+60>>2]=i+(o<<2),f[e+56>>2]=s+4,f[e+52>>2]=i,a&&ee(a)}else f[i>>2]=r,f[e+56>>2]=i+4;if(a=r+1|0,(0|(i=f[e+44>>2]))==f[e+48>>2]){if((i=1+(A=(o=i-(n=f[e+40>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(s=o>>1,s=A>>>0<536870911?i>>>0>s>>>0?i:s:1073741823){if(s>>>0>=1073741824)break e;i=_t(s<<2)}else i=0;f[(A=i+(A<<2)|0)>>2]=t,(0|o)>0&&ge(i,n,o),f[e+48>>2]=i+(s<<2),f[e+44>>2]=A+4,f[e+40>>2]=i,n&&ee(n)}else f[i>>2]=t,f[e+44>>2]=i+4;i=r,r=a}if(f[f[e+28>>2]+(t<<2)>>2]=i,a=f[e+64>>2],(t>>>0)%3|0)t=t-1|0;else if(-1==(0|(t=t+2|0)))break i;if(-1==(0|(t=f[f[a+12>>2]+(t<<2)>>2])))break i;if(-1==(0|(t=t+((t>>>0)%3|0?-1:2)|0)))break i;if((0|t)==(0|c))break}}if(b=b+1|0,t=f[a+24>>2],!(b>>>0<f[a+28>>2]-t>>2>>>0))break}return}oi(),T()}oi(),T()}Hr(1326),T()}function ie(e,r){var t=0,i=0,a=0,n=0,o=0,s=0,c=0,A=0,b=0;if(-1==(0|r))return 1;if(t=(r>>>0)/3|0,!(f[f[e+24>>2]+(t>>>3&268435452)>>2]>>>t&1)){if(i=f[e+48>>2],f[e+52>>2]=i,(0|i)==f[e+56>>2]?(a=_t(4),f[a>>2]=r,n=a+4|0,f[e+56>>2]=n,f[e+52>>2]=n,f[e+48>>2]=a,i&&ee(i)):(f[i>>2]=r,f[e+52>>2]=i+4),n=f[f[e+4>>2]+28>>2],-1==(0|(i=f[n+((a=((i=r+1|0)>>>0)%3|0?i:r-2|0)<<2)>>2])))return 0;if(o=(r-p(t,3)|0?-1:2)+r|0,-1==(0|(t=f[n+(o<<2)>>2])))return 0;if(r=f[e+36>>2],(s=f[(n=r+(i>>>3&536870908)|0)>>2])&(c=1<<i)||(f[n>>2]=s|c,Ne(e+8|0,i,a),r=f[e+36>>2]),(i=f[(r=(t>>>3&536870908)+r|0)>>2])&(a=1<<t)||(f[r>>2]=i|a,Ne(e+8|0,t,o)),(0|(t=f[e+52>>2]))==f[e+48>>2])return 1;for(b=e+8|0;;){i=((r=f[(t=t-4|0)>>2])>>>0)/3|0;e:{r:if(-1!=(0|r)&&(a=f[e+24>>2]+(i>>>3&268435452)|0,!((n=f[a>>2])&(i=1<<i)))){if(f[a>>2]=i|n,a=f[e+4>>2],-1==(0|(i=f[f[a+28>>2]+(r<<2)>>2])))return 0;for(;;){t=r;t:{if(n=f[e+36>>2]+(i>>>3&536870908)|0,!((o=f[n>>2])&(s=1<<i)))if(-1==(0|(r=f[f[a+40>>2]+(i<<2)>>2]))||-1==(0|(r=((c=r+1|0)>>>0)%3|0?c:r-2|0))|f[f[a>>2]+(r>>>3&536870908)>>2]>>>r&1||-1==(0|(r=f[f[f[a+64>>2]+12>>2]+(r<<2)>>2])))f[n>>2]=o|s,Ne(b,i,t);else if(f[n>>2]=o|s,Ne(b,i,t),-1!=(0|(((i=r+1|0)>>>0)%3|0?i:r-2|0))){r=-1,a=f[e+4>>2],-1!=(0|t)&&(-1==(0|(i=((i=t+1|0)>>>0)%3|0?i:t-2|0))|f[f[a>>2]+(i>>>3&536870908)>>2]>>>i&1||(r=f[f[f[a+64>>2]+12>>2]+(i<<2)>>2])),s=1<<(i=(r>>>0)/3|0),t=f[e+24>>2],n=f[t+((c=i>>>5|0)<<2)>>2];break t}i:{if(-1!=(0|t)){i=-1,r=((r=t+1|0)>>>0)%3|0?r:t-2|0,a=f[e+4>>2],-1==(0|r)|f[f[a>>2]+(r>>>3&536870908)>>2]>>>r&1||(i=f[f[f[a+64>>2]+12>>2]+(r<<2)>>2]);a:{if((t>>>0)%3|0)t=t-1|0;else if(r=-1,-1==(0|(t=t+2|0)))break a;r=-1,f[f[a>>2]+(t>>>3&536870908)>>2]>>>t&1||(r=f[f[f[a+64>>2]+12>>2]+(t<<2)>>2])}if(o=(A=-1==(0|r))?-1:(r>>>0)/3|0,n=(i>>>0)/3|0,!((s=-1==(0|i))||(t=f[e+24>>2],(n=f[t+((c=(s=s?-1:n)>>>5|0)<<2)>>2])&(s=1<<s))))break i;if(!(A||(s=1<<o,t=f[e+24>>2],s&(n=f[t+((c=o>>>5|0)<<2)>>2]))))break t}t=f[e+52>>2]-4|0,f[e+52>>2]=t;break e}if(A)r=i;else if(f[(o>>>3&536870908)+t>>2]>>>o&1)r=i;else{if(t=f[e+52>>2],f[t-4>>2]=r,(0|t)!=f[e+56>>2]){f[t>>2]=i,t=t+4|0;break r}i:{if((r=1+(t=(n=t-(a=f[e+48>>2])|0)>>2)|0)>>>0<1073741824){if(o=n>>1,o=t>>>0<536870911?r>>>0>o>>>0?r:o:1073741823){if(o>>>0>=1073741824)break i;r=_t(o<<2)}else r=0;if(f[(t=r+(t<<2)|0)>>2]=i,t=t+4|0,(0|n)>0&&ge(r,a,n),f[e+56>>2]=r+(o<<2),f[e+52>>2]=t,f[e+48>>2]=r,!a)break e;ee(a),t=f[e+52>>2];break e}oi(),T()}Hr(1326),T()}}if(f[(c<<2)+t>>2]=n|s,-1==(0|(i=f[f[a+28>>2]+(r<<2)>>2])))break}return 0}f[e+52>>2]=t}if(f[e+48>>2]==(0|t))break}}return 1}function ae(e,r,t){var i,a=0,n=0,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0;i=p(r,12)+e|0,f[i+12>>2]=f[i+8>>2],l=-1==(0|t)?-1:(t>>>0)/3|0,_=1,A=t;e:{r:{t:{for(;;){i:{if(k=1&n){if(-1==(0|A))break i;if(-1==(0|Qe(e,((A>>>0)%3|0?-1:2)+A|0)))break e;if(-1==(0|(a=((t=A+1|0)>>>0)%3|0?t:A-2|0)))break e;if(-1==(0|(t=((t=a+1|0)>>>0)%3|0?t:a-2|0)))break e;if(-1==(0|(a=f[f[f[e+4>>2]+12>>2]+(t<<2)>>2])))break e;if(-1==(0|(t=((t=a+1|0)>>>0)%3|0?t:a-2|0)))break e;l=(t>>>0)/3|0}if(b=1<<l,s=f[e+56>>2]+(l>>>3&536870908)|0,!(b&(u=f[s>>2]))){for(n=0;;){if(f[s>>2]=u|b,(0|(a=f[i+12>>2]))==f[i+16>>2]){if((c=1+(o=(b=a-(s=f[i+8>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(a=b>>1,u=o>>>0<536870911?a>>>0<c>>>0?c:a:1073741823){if(u>>>0>=1073741824)break r;a=_t(u<<2)}else a=0;f[(c=a+(o<<2)|0)>>2]=l,(0|b)>0&&ge(a,s,b),f[i+8>>2]=a,f[i+12>>2]=c+4,f[i+16>>2]=a+(u<<2),s&&ee(s)}else f[a>>2]=l,f[i+12>>2]=a+4;c=n+1|0;a:{n:{if(n)if(1&c){if(-1==(0|t)){t=-1;break a}t=((a=t+1|0)>>>0)%3|0?a:t-2|0}else{if(A=k?t:A,-1==(0|t)){t=-1;break a}if((t>>>0)%3|0){n=t-1|0;break n}t=t+2|0}if(a=t,t=-1,n=a,-1==(0|a))break a}if(t=f[f[f[e+4>>2]+12>>2]+(n<<2)>>2],s=-1,u=-1,(0|(o=((a=n+1|0)>>>0)%3|0?a:n-2|0))>=0&&(a=(o>>>0)/3|0,u=f[(f[f[e>>2]+96>>2]+p(a,12)|0)+(o-p(a,3)<<2)>>2]),-1!=(0|t)?(b=0,(0|(o=((t>>>0)%3|0?-1:2)+t|0))<0||(a=(o>>>0)/3|0,s=f[(f[f[e>>2]+96>>2]+p(a,12)|0)+(o-p(a,3)<<2)>>2])):b=1,(0|s)==(0|u)){n:{o:{f:{s:{if((0|(n=((n>>>0)%3|0?-1:2)+n|0))>=0){if(a=(n>>>0)/3|0,s=f[(f[f[e>>2]+96>>2]+p(a,12)|0)+(n-p(a,3)<<2)>>2],n=-1,!b)break s;break f}if(s=-1,b)break o}(0|(n=((a=t+1|0)>>>0)%3|0?a:t-2|0))<0?n=-1:(a=(n>>>0)/3|0,n=f[(f[f[e>>2]+96>>2]+p(a,12)|0)+(n-p(a,3)<<2)>>2])}if((0|n)!=(0|s)){t=-1;break a}if(-1!=(0|t))break n;t=-1;break a}if(-1==(0|t)){t=-1;break a}}if(n=c,l=(t>>>0)/3|0,s=f[e+56>>2]+(l>>>3&268435452)|0,!((u=f[s>>2])&(b=1<<l)))continue}else t=-1}break}!k|!(1&c)||(o=f[i+12>>2]-4|0,c=f[o>>2],n=f[e+56>>2]+(c>>>3&536870908)|0,a=f[n>>2],d=n,m=Vt(c)&a,f[d>>2]=m,f[i+12>>2]=o)}if(n=1,a=_,_=0,a)continue;break e}break}A=-1,Qe(e,-1);break e}oi(),T()}Hr(1326),T()}if(f[44+((r<<2)+e|0)>>2]=A,o=f[i+8>>2],r=f[i+12>>2]-o|0){if(A=f[e+56>>2],c=1&(e=(r>>=2)>>>0>1?r:1),t=0,r>>>0>=2)for(_=-2&e,l=0;a=f[(n=t<<2)+o>>2],e=f[(r=A+(a>>>3&536870908)|0)>>2],d=r,m=Vt(a)&e,f[d>>2]=m,a=f[o+(4|n)>>2],e=f[(r=A+(a>>>3&536870908)|0)>>2],d=r,m=Vt(a)&e,f[d>>2]=m,t=t+2|0,(0|_)!=(0|(l=l+2|0)););c&&(t=f[o+(t<<2)>>2],e=f[(r=A+(t>>>3&536870908)|0)>>2],d=r,m=Vt(t)&e,f[d>>2]=m)}}function ne(e,r){var t=0,i=0,a=0,n=0,o=0,s=0,c=0,A=0;if(-1==(0|r))return 1;if(i=(r>>>0)/3|0,!(f[f[e+24>>2]+(i>>>3&268435452)>>2]>>>i&1)){if(t=f[e+48>>2],f[e+52>>2]=t,(0|t)==f[e+56>>2]?(a=_t(4),f[a>>2]=r,n=a+4|0,f[e+56>>2]=n,f[e+52>>2]=n,f[e+48>>2]=a,t&&ee(t)):(f[t>>2]=r,f[e+52>>2]=t+4),a=-1,n=f[e+4>>2],-1!=(0|(o=((t=r+1|0)>>>0)%3|0?t:r-2|0))&&(a=f[f[n>>2]+(o<<2)>>2]),s=r-p(i,3)|0)t=r-1|0;else if(-1==(0|(t=r+2|0)))return 0;if(-1==(0|a))return 0;if(-1==(0|(i=f[f[n>>2]+(t<<2)>>2])))return 0;if(t=f[e+36>>2],(c=f[(n=t+(a>>>3&536870908)|0)>>2])&(A=1<<a)||(f[n>>2]=c|A,Ne(e+8|0,a,o),t=f[e+36>>2]),(a=f[(t=(i>>>3&536870908)+t|0)>>2])&(n=1<<i)||(f[t>>2]=a|n,Ne(e+8|0,i,(s?-1:2)+r|0)),(0|(t=f[e+52>>2]))==f[e+48>>2])return 1;for(A=e+8|0;;){i=((r=f[(t=t-4|0)>>2])>>>0)/3|0;e:{r:if(-1!=(0|r)&&(a=f[e+24>>2]+(i>>>3&268435452)|0,!((n=f[a>>2])&(i=1<<i)))){for(f[a>>2]=i|n;;){if(i=f[e+4>>2],-1==(0|(t=f[f[i>>2]+(r<<2)>>2])))return 0;t:{if(a=f[e+36>>2]+(t>>>3&536870908)|0,!((n=f[a>>2])&(o=1<<t)))if(-1!=(0|(s=f[f[i+24>>2]+(t<<2)>>2]))&&-1!=(0|(s=((c=s+1|0)>>>0)%3|0?c:s-2|0))&&-1!=(0|(i=f[f[i+12>>2]+(s<<2)>>2]))){if(f[a>>2]=n|o,Ne(A,t,r),-1!=(0|(((t=i+1|0)>>>0)%3|0?t:i-2|0))){i=r-2|0,t=r+1|0,r=-1,-1!=(0|(t=(t>>>0)%3|0?t:i))&&(r=f[f[f[e+4>>2]+12>>2]+(t<<2)>>2]),o=1<<(t=(r>>>0)/3|0),a=f[e+24>>2],i=f[a+((s=t>>>5|0)<<2)>>2];break t}}else f[a>>2]=n|o,Ne(A,t,r);t=-1,n=f[e+4>>2],-1!=(0|(i=((i=r+1|0)>>>0)%3|0?i:r-2|0))&&(t=f[f[n+12>>2]+(i<<2)>>2]);i:{if((r>>>0)%3|0)a=r-1|0;else if(a=r+2|0,r=-1,-1==(0|a))break i;r=f[f[n+12>>2]+(a<<2)>>2]}if(n=(c=-1==(0|r))?-1:(r>>>0)/3|0,i=(t>>>0)/3|0,(o=-1==(0|t))||(a=f[e+24>>2],(i=f[a+((s=(o=o?-1:i)>>>5|0)<<2)>>2])&(o=1<<o))){if(!(c||(o=1<<n,a=f[e+24>>2],o&(i=f[a+((s=n>>>5|0)<<2)>>2]))))break t;t=f[e+52>>2]-4|0,f[e+52>>2]=t;break e}if(c)r=t;else if(f[(n>>>3&536870908)+a>>2]>>>n&1)r=t;else{if(i=f[e+52>>2],f[i-4>>2]=r,(0|i)!=f[e+56>>2]){f[i>>2]=t,t=i+4|0;break r}i:{if((r=1+(o=(a=(r=i)-(i=f[e+48>>2])|0)>>2)|0)>>>0<1073741824){if(n=a>>1,n=o>>>0<536870911?r>>>0>n>>>0?r:n:1073741823){if(n>>>0>=1073741824)break i;r=_t(n<<2)}else r=0;if(f[(o=r+(o<<2)|0)>>2]=t,t=o+4|0,(0|a)>0&&ge(r,i,a),f[e+56>>2]=r+(n<<2),f[e+52>>2]=t,f[e+48>>2]=r,!i)break e;ee(i),t=f[e+52>>2];break e}oi(),T()}Hr(1326),T()}}if(f[(s<<2)+a>>2]=i|o,-1==(0|r))break}return 0}f[e+52>>2]=t}if(f[e+48>>2]==(0|t))break}}return 1}function oe(e,r,t){r|=0,t|=0;var i=0,a=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0;e:if(!((0|(d=0|yi[f[f[(e|=0)>>2]+44>>2]](e)))<=0)&&(a=f[r+4>>2]-f[r>>2]>>2,V=s=V+-64|0,i=$r(s),o=p(f[2549],d),bt(i,f[f[e+8>>2]+56>>2],d<<24>>24,5,0,o,o>>31),i=Ke(o=_t(96),i),n[i+84|0]=1,f[i+72>>2]=f[i+68>>2],He(i,a),f[i+60>>2]=f[f[e+8>>2]+60>>2],i=f[e+16>>2],f[e+16>>2]=o,i&&Jr(i),V=s- -64|0,s=f[e+16>>2],f[s+80>>2]&&(b=f[f[s>>2]>>2])&&!((0|(c=f[t+12>>2]))<=(0|(i=f[t+20>>2]))&(l=f[t+8>>2])>>>0<=(o=f[t+16>>2])>>>0|(0|i)>(0|c)))){u=p(a,d),b=b+f[s+48>>2]|0,_=f[t>>2],k=A[_+o|0],a=(s=o+1|0)?i:i+1|0,f[t+16>>2]=s,f[t+20>>2]=a;r:{t:{i:{if(k){if(M(u,d,t,b))break i;break e}if((0|a)>=(0|c)&s>>>0>=l>>>0|(0|a)>(0|c))break e;s=A[s+_|0],i=(a=o+2|0)>>>0<2?i+1|0:i,f[t+16>>2]=a,f[t+20>>2]=i,i=f[f[e+16>>2]+64>>2],i=f[i+4>>2]-f[i>>2]|0;a:{if((0|s)==f[2549]){if((a=i)>>>0<(i=u<<2)>>>0)break e;if(c=f[t+8>>2],s=f[t+12>>2],a=f[t+20>>2],(0|(a=(o=i+(l=f[t+16>>2])|0)>>>0<i>>>0?a+1|0:a))<=(0|s)&o>>>0<=c>>>0|(0|a)<(0|s))break a;break e}if(i>>>0<p(s,u)>>>0)break e;if(c=f[t+12>>2],a=f[t+20>>2],(o=_=f[t+8>>2])-(l=f[t+16>>2])>>>0<Lr(i=s,0,u,0)>>>0&(0|(o=c-(a+(o>>>0<l>>>0)|0)|0))<=(0|(k=D))|(0|o)<(0|k))break e;if(o=1,!u)break t;if(o=0,(k=_)>>>0<(_=i+l|0)>>>0&(0|(a=_>>>0<i>>>0?a+1|0:a))>=(0|c)|(0|a)>(0|c))break r;for(;;){if(ge(b+(m<<2)|0,l+f[t>>2]|0,s),a=f[t+20>>2],a=(c=i+f[t+16>>2]|0)>>>0<i>>>0?a+1|0:a,l=c,f[t+16>>2]=c,f[t+20>>2]=a,(0|u)==(0|(m=m+1|0)))break i;if(k=f[t+8>>2],!((0|(a=(_=i+l|0)>>>0<i>>>0?a+1|0:a))<=(0|(c=f[t+12>>2]))&_>>>0<=k>>>0|(0|a)<(0|c)))break}break r}ge(b,l+f[t>>2]|0,i),a=i,s=i+f[t+16>>2]|0,i=f[t+20>>2],f[t+16>>2]=s,f[t+20>>2]=a>>>0>s>>>0?i+1|0:i}if(o=1,u&&!((i=f[e+20>>2])&&(o=0,0|yi[f[f[i>>2]+32>>2]](i)))){if(i=0,o=0,!((0|u)<=0)){if(1!=(0|u))for(c=-2&u;s=f[(a=i<<2)+b>>2],f[a+b>>2]=0-(1&s)^s>>>1,a=f[(s=4|a)+b>>2],f[s+b>>2]=0-(1&a)^a>>>1,i=i+2|0,(0|c)!=(0|(o=o+2|0)););1&u&&(i=f[(a=i<<2)+b>>2],f[a+b>>2]=0-(1&i)^i>>>1)}o=0}}if(i=f[e+20>>2]){if(!(0|yi[f[f[i>>2]+40>>2]](i,t)))break e;if(!(o||(o=0,e=f[e+20>>2],0|yi[f[f[e>>2]+44>>2]](e,b,b,u,d,f[r>>2]))))break r}o=1}return 0|o}return 0}function fe(e,r){e|=0;var t,i=0,a=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0;V=t=V-32|0;e:{r:if(gr(1,t+28|0,r|=0))t:{if(a=f[t+28>>2]){if(Ge(e+60|0,a),f[(i=t+8|0)>>2]=0,f[i+4>>2]=0,n[i+5|0]=0,n[i+6|0]=0,n[i+7|0]=0,n[i+8|0]=0,n[i+9|0]=0,n[i+10|0]=0,n[i+11|0]=0,n[i+12|0]=0,!Ve(i,r))break t;for(;s=1<<o,b=jr(i),c=f[e+60>>2]+(o>>>3&536870908)|0,b?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|a)!=(0|(o=o+1|0)););}if(!gr(1,t+28|0,r))break r;if(a=f[t+28>>2]){if(o=0,Ge(e+72|0,a),f[(i=t+8|0)>>2]=0,f[i+4>>2]=0,n[i+5|0]=0,n[i+6|0]=0,n[i+7|0]=0,n[i+8|0]=0,n[i+9|0]=0,n[i+10|0]=0,n[i+11|0]=0,n[i+12|0]=0,!Ve(i,r))break t;for(;s=1<<o,b=jr(i),c=f[e+72>>2]+(o>>>3&536870908)|0,b?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|a)!=(0|(o=o+1|0)););}if(!gr(1,t+28|0,r))break r;if(a=f[t+28>>2]){if(o=0,Ge(e+84|0,a),f[(i=t+8|0)>>2]=0,f[i+4>>2]=0,n[i+5|0]=0,n[i+6|0]=0,n[i+7|0]=0,n[i+8|0]=0,n[i+9|0]=0,n[i+10|0]=0,n[i+11|0]=0,n[i+12|0]=0,!Ve(i,r))break t;for(;s=1<<o,b=jr(i),c=f[e+84>>2]+(o>>>3&536870908)|0,b?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|a)!=(0|(o=o+1|0)););}if(!gr(1,t+28|0,r))break r;if(a=f[t+28>>2]){if(o=0,Ge(e+96|0,a),f[(i=t+8|0)>>2]=0,f[i+4>>2]=0,n[i+5|0]=0,n[i+6|0]=0,n[i+7|0]=0,n[i+8|0]=0,n[i+9|0]=0,n[i+10|0]=0,n[i+11|0]=0,n[i+12|0]=0,!Ve(i,r))break t;for(;s=1<<o,b=jr(i),c=f[e+96>>2]+(o>>>3&536870908)|0,b?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|a)!=(0|(o=o+1|0)););}if(o=0,s=a=f[r+12>>2],c=i=f[r+20>>2],i=(l=(b=f[r+16>>2])+4|0)>>>0<4?i+1|0:i,(u=f[r+8>>2])>>>0<l>>>0&(0|i)>=(0|a)|(0|i)>(0|a))break e;if(_=f[r>>2],a=A[0|(a=_+b|0)]|A[a+1|0]<<8|A[a+2|0]<<16|A[a+3|0]<<24,f[r+16>>2]=l,f[r+20>>2]=i,i=c,b=c=b+8|0,c=i=c>>>0<8?i+1|0:i,b>>>0>u>>>0&(0|i)>=(0|s)|(0|i)>(0|s))break e;if(i=A[0|(i=l+_|0)]|A[i+1|0]<<8|A[i+2|0]<<16|A[i+3|0]<<24,f[r+16>>2]=b,f[r+20>>2]=c,(0|i)<(0|a))break e;if(f[e+16>>2]=i,f[e+12>>2]=a,!(r=(i>>31)-((a>>31)+(i>>>0<a>>>0)|0)|0)&(i=i-a|0)>>>0>2147483646|r)break e;if(o=1,r=i+1|0,f[e+20>>2]=r,i=r>>>1|0,f[e+24>>2]=i,f[e+28>>2]=0-i,1&r)break e;f[e+24>>2]=i-1;break e}o=0}return V=t+32|0,0|o}function se(e,r){var t=0,i=0,a=0,n=0,o=0,s=0,c=0,l=0,u=0,_=0,p=0,k=0,d=0;e:if(b[r+38>>1]&&Cr(1,e+12|0,r)){if(n=f[e+12>>2],t=f[e>>2],n>>>0>(i=f[e+4>>2]-t>>2)>>>0?(sr(e,n-i|0),n=f[e+12>>2]):i>>>0<=n>>>0||(f[e+4>>2]=t+(n<<2)),!n)return 1;for(l=f[r+8>>2],c=f[r+12>>2],_=f[e>>2];;){if((0|c)<=(0|(i=f[r+20>>2]))&l>>>0<=(t=f[r+16>>2])>>>0|(0|i)>(0|c))return 0;p=f[r>>2],u=A[p+t|0],i=(t=t+1|0)?i:i+1|0,s=t,f[r+16>>2]=t,f[r+20>>2]=i,t=u>>>2|0,a=0;r:{t:{i:{a:switch(0|(k=3&u)){case 3:break a;case 0:break t;default:break i}if((i=t+o|0)>>>0>=n>>>0)return 0;Je(_+(o<<2)|0,0,4+(252&u)|0),o=i;break r}for(;;){if((0|i)>=(0|c)&s>>>0>=l>>>0|(0|i)>(0|c))break e;if(n=A[s+p|0],i=(s=s+1|0)?i:i+1|0,f[r+16>>2]=s,f[r+20>>2]=i,t|=n<<(a<<3|6),(0|k)==(0|(a=a+1|0)))break}}f[_+(o<<2)>>2]=t}if(!((n=f[e+12>>2])>>>0>(o=o+1|0)>>>0))break}if(i=e+16|0,u=f[e>>2],r=f[e+16>>2],(o=(t=f[e+20>>2]-r|0)>>2)>>>0<=4095?sr(i,4096-o|0):16384!=(0|t)&&(f[e+20>>2]=r+16384),o=f[(r=e+28|0)>>2],(t=f[e+32>>2]-o>>3)>>>0<n>>>0)cr(r,n-t|0),o=f[r>>2];else if(t>>>0>n>>>0&&(f[e+32>>2]=(n<<3)+o),!n)break e;for(a=0,e=0;;){if(c=f[(r=u+(a<<2)|0)>>2],t=e,f[4+(s=(a<<3)+o|0)>>2]=e,f[s>>2]=c,(e=(c=f[r>>2])+e|0)>>>0>4096)break e;if(!(e>>>0<=t>>>0)){if(s=f[i>>2],r=0,l=7&c)for(;f[s+(t<<2)>>2]=a,t=t+1|0,(0|l)!=(0|(r=r+1|0)););if(!(c-1>>>0<=6))for(;f[(r=s+(t<<2)|0)>>2]=a,f[r+28>>2]=a,f[r+24>>2]=a,f[r+20>>2]=a,f[r+16>>2]=a,f[r+12>>2]=a,f[r+8>>2]=a,f[r+4>>2]=a,(0|(t=t+8|0))!=(0|e););}if((0|n)==(0|(a=a+1|0)))break}d=4096==(0|e)}return d}function ce(e,r,t){e|=0,r|=0,t|=0;var i,a=0,n=0,o=0,s=0,c=0,A=0,b=0,l=0;V=i=V-16|0,f[i+8>>2]=t;e:if(!((0|(o=(n=f[e+12>>2])-(a=f[e+8>>2])>>2))>(0|r)))if((c=r+1|0)>>>0>o>>>0){if((o=c-o|0)>>>0<=(s=f[e+16>>2])-(a=f[e+12>>2])>>2>>>0){o&&(a=Je(n=a,0,a=o<<2)+a|0),f[e+12>>2]=a;break e}r:{t:{i:{if((n=(b=a-(c=f[e+8>>2])>>2)+o|0)>>>0<1073741824){if(l=(s=s-c|0)>>1,s=s>>2>>>0<536870911?n>>>0>l>>>0?n:l:1073741823){if(s>>>0>=1073741824)break i;A=_t(s<<2)}if(b=(o=Je(n=(b<<2)+A|0,0,b=o<<2))+b|0,s=(s<<2)+A|0,(0|a)==(0|c))break t;for(;o=f[(a=a-4|0)>>2],f[a>>2]=0,f[(n=n-4|0)>>2]=o,(0|a)!=(0|c););if(f[e+16>>2]=s,o=f[e+12>>2],f[e+12>>2]=b,a=f[e+8>>2],f[e+8>>2]=n,(0|a)==(0|o))break r;for(;n=f[(o=o-4|0)>>2],f[o>>2]=0,n&&Jr(n),(0|a)!=(0|o););break r}oi(),T()}Hr(1326),T()}f[e+16>>2]=s,f[e+12>>2]=b,f[e+8>>2]=o}a&&ee(a)}else if(!(o>>>0<=c>>>0)){if((0|(a=a+(c<<2)|0))!=(0|n)){for(;t=f[(n=n-4|0)>>2],f[n>>2]=0,t&&Jr(t),(0|a)!=(0|n););t=f[i+8>>2]}f[e+12>>2]=a}e:{r:{if(!((0|(a=f[t+56>>2]))>4))if(n=p(a,12)+e|0,(0|(a=f[n+24>>2]))==f[n+28>>2]){if((a=1+(A=(c=a-(o=f[n+20>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(s=c>>1,s=A>>>0<536870911?a>>>0>s>>>0?a:s:1073741823){if(s>>>0>=1073741824)break e;a=_t(s<<2)}else a=0;f[(A=a+(A<<2)|0)>>2]=r,(0|c)>0&&ge(a,o,c),f[n+20>>2]=a,f[n+24>>2]=A+4,f[n+28>>2]=a+(s<<2),o&&ee(o)}else f[a>>2]=r,f[n+24>>2]=a+4;return f[t+60>>2]=r,e=f[e+8>>2],f[i+8>>2]=0,e=f[(r=e+(r<<2)|0)>>2],f[r>>2]=t,e&&Jr(e),e=f[i+8>>2],f[i+8>>2]=0,e&&Jr(e),void(V=i+16|0)}oi(),T()}Hr(1326),T()}function Ae(e,r){e|=0;var t,i=0,a=0,n=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0;if(V=t=V-80|0,Tr(1,t+76|0,r|=0)&&(s=f[t+76>>2])&&!((a=Lr((a=f[r+8>>2])-(i=f[r+16>>2])|0,f[r+12>>2]-(f[r+20>>2]+(i>>>0>a>>>0)|0)|0,5,0))>>>0<s>>>0&(0|(i=D))<=0|(0|i)<0)){for(i=f[e+4>>2],(a=f[e+8>>2]-i>>2)>>>0<s>>>0?sr(e+4|0,s-a|0):a>>>0<=s>>>0||(f[e+8>>2]=i+(s<<2)),y=e+16|0,b=f[e+32>>2],l=1;!((0|(i=n=f[r+12>>2]))<=(0|(a=f[r+20>>2]))&(m=f[r+8>>2])>>>0<=(_=f[r+16>>2])>>>0|(0|i)<(0|a)||(h=f[r>>2],d=A[h+_|0],i=a,i=(o=_+1|0)?i:i+1|0,f[r+16>>2]=o,f[r+20>>2]=i,(0|i)>=(0|n)&o>>>0>=m>>>0|(0|i)>(0|n)||(o=A[o+h|0],i=a,i=(c=_+2|0)>>>0<2?i+1|0:i,f[r+16>>2]=c,f[r+20>>2]=i,(0|i)>=(0|n)&c>>>0>=m>>>0|(0|i)>(0|n)||(c=A[c+h|0],i=a,i=(k=_+3|0)>>>0<3?i+1|0:i,f[r+16>>2]=k,f[r+20>>2]=i,(0|i)>=(0|n)&k>>>0>=m>>>0|(0|i)>(0|n)||(n=A[k+h|0],i=a,i=(a=_+4|0)>>>0<4?i+1|0:i,f[r+16>>2]=a,f[r+20>>2]=i,!c|(o-12&255)>>>0<245|d>>>0>4||(i=$r(t+8|0),k=c<<24>>24,n=0!=(0|n),a=(a=o-1|0)>>>0<=10?f[10180+(a<<2)>>2]:-1,bt(i,d,k,o,n,a=p(a,c),a>>31),!Tr(1,t+4|0,r)||(o=f[t+4>>2],f[t+68>>2]=o,a=Ke(_t(96),i),yi[f[f[b>>2]+8>>2]](b,f[b+12>>2]-f[b+8>>2]>>2,a),a=(f[b+12>>2]-f[b+8>>2]>>2)-1|0,f[f[(d=a<<2)+f[b+8>>2]>>2]+60>>2]=o,f[f[e+4>>2]+(u<<2)>>2]=a,l=f[e+16>>2],(0|(i=f[e+20>>2]-l>>2))>(0|a)||(f[t>>2]=-1,(a=a+1|0)>>>0>i>>>0?(ve(y,a-i|0,t),l=f[y>>2]):i>>>0<=a>>>0||(f[e+20>>2]=(a<<2)+l)),f[l+d>>2]=u,l=(u=u+1|0)>>>0<s>>>0,(0|s)==(0|u)))))))););u=!l}return V=t+80|0,1&u}function be(e,r){var t,i,a=0,n=0,o=0,s=0,c=0,A=0,b=0,l=0,u=0;V=t=V-16|0,f[t>>2]=r,c=-1,-1!=(0|r)?(a=r+1|0,f[t+4>>2]=(a>>>0)%3|0?a:r-2|0,c=(r>>>0)%3|0?r-1|0:r+2|0):f[t+4>>2]=-1,f[t+8>>2]=c,i=-1==(0|r)?-1:(r>>>0)/3|0;e:{r:{t:{i:{for(;;){a:if(-1!=(0|r)&&-1!=(0|(a=f[f[f[e+8>>2]+12>>2]+(r<<2)>>2]))){if(!((a>>>0)/3>>>0<i>>>0)&&(c=0,f[e+220>>2]!=f[e+216>>2]))for(;;){if(jr(f[e+368>>2]+(c<<4)|0))if(s=f[e+216>>2]+p(c,144)|0,(a=f[s+136>>2])>>>0<(n=f[s+140>>2])>>>0)f[a>>2]=r,f[s+136>>2]=a+4;else{if((a=1+(o=(b=a-(A=f[s+132>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(l=o<<2,o=(n=n-A|0)>>1,n=n>>2>>>0<536870911?a>>>0>o>>>0?a:o:1073741823){if(n>>>0>=1073741824)break e;a=_t(n<<2)}else a=0;f[(o=l+a|0)>>2]=r,(0|b)>0&&ge(a,A,b),f[s+132>>2]=a,f[s+136>>2]=o+4,f[s+140>>2]=a+(n<<2),A&&ee(A)}if(!((c=c+1|0)>>>0<(f[e+220>>2]-f[e+216>>2]|0)/144>>>0))break}}else{if(c=0,(0|(a=f[e+216>>2]))==f[e+220>>2])break a;for(;;){if(s=p(c,144)+a|0,(a=f[s+136>>2])>>>0<(n=f[s+140>>2])>>>0)f[a>>2]=r,f[s+136>>2]=a+4;else{if((a=1+(o=(b=a-(A=f[s+132>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(l=o<<2,o=(n=n-A|0)>>1,n=n>>2>>>0<536870911?a>>>0>o>>>0?a:o:1073741823){if(n>>>0>=1073741824)break t;a=_t(n<<2)}else a=0;f[(o=l+a|0)>>2]=r,(0|b)>0&&ge(a,A,b),f[s+132>>2]=a,f[s+136>>2]=o+4,f[s+140>>2]=a+(n<<2),A&&ee(A)}if(c=c+1|0,a=f[e+216>>2],!(c>>>0<(f[e+220>>2]-a|0)/144>>>0))break}}if(3==(0|(u=u+1|0)))break;r=f[(u<<2)+t>>2]}return V=t+16|0,1}oi(),T()}Hr(1326),T()}oi(),T()}Hr(1326),T()}function le(e,r){var t,i=0,a=0,o=0,s=0,c=0,u=0,_=0,k=0,d=0,m=0;V=t=V-16|0,k=-1;e:{r:{t:if(Nr(1,t+12|0,r)){if(a=f[t+12>>2]){if(i=f[e+8>>2],a>>>0>(f[i+4>>2]-f[i>>2]>>2>>>0)/3>>>0)break t;for(;;){if(!Nr(1,t+8|0,r))break t;if(i=f[t+8>>2],!Nr(1,t+8|0,r))break t;if((s=i+s|0)>>>0<(i=f[t+8>>2])>>>0)break t;if(c=s-i|0,(0|(i=f[e+40>>2]))==f[e+44>>2]){if((o=1+(u=(0|(_=(o=i)-(i=f[e+36>>2])|0))/12|0)|0)>>>0>=357913942)break r;if(d=u<<1,(o=u>>>0<178956970?o>>>0>d>>>0?o:d:357913941)>>>0>=357913942)break e;u=(d=_t(o=p(o,12)))+p(u,12)|0,f[u+4>>2]=s,f[u>>2]=c,c=u+p((0|_)/-12|0,12)|0,(0|_)>0&&ge(c,i,_),f[e+44>>2]=o+d,f[e+40>>2]=u+12,f[e+36>>2]=c,i&&ee(i)}else f[i+4>>2]=s,f[i>>2]=c,f[e+40>>2]=i+12;if((0|a)==(0|(m=m+1|0)))break}for(s=0,rt(r,0,0),u=a>>>0>1?a:1;;){a=A[r+36|0];i:{a:{if((65535&((i=b[f[e+4>>2]+36>>1])<<8|i>>>8))>>>0<=513){if(!a)break i;if(c=0,(a=(_=(i=f[r+32>>2])>>>3|0)+(k=f[r+24>>2])|0)>>>0>=(o=f[r+28>>2])>>>0?a=i:(c=A[0|a],a=i+1|0,f[r+32>>2]=a,_=a>>>3|0,c=c>>>(7&i)&1),o>>>0>_+k>>>0)break a;break i}if(!a)break i;if(c=0,a=f[r+32>>2],(i=f[r+24>>2]+(a>>>3|0)|0)>>>0>=l[r+28>>2])break i;c=A[0|i]>>>(7&a)&1}f[r+32>>2]=a+1}if(a=f[e+36>>2]+p(s,12)|0,n[a+8|0]=254&A[a+8|0]|1&c,(0|u)==(0|(s=s+1|0)))break}n[r+36|0]=0,i=f[r+20>>2],e=0,a=(s=(e=(a=f[r+32>>2]+7|0)>>>0<7?1:e)<<29|a>>>3)+f[r+16>>2]|0,e=(e>>>3|0)+i|0,f[r+16>>2]=a,f[r+20>>2]=a>>>0<s>>>0?e+1|0:e}k=f[r+16>>2]}return V=t+16|0,k}oi(),T()}Hr(1326),T()}function ue(e,r,t){var i=0,a=0,n=0,o=0,s=0,c=0,A=0,b=0,l=0;if(((a=f[e+8>>2])-(o=f[e+4>>2])|0)/12>>>0>=r>>>0){if(r){if(i=o,n=1+(((a=p(r,12)-12|0)>>>0)/12|0)&3)for(;A=f[t+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=A,f[i+8>>2]=f[t+8>>2],i=i+12|0,(0|n)!=(0|(s=s+1|0)););if(o=p(r,12)+o|0,!(a>>>0<36))for(;r=f[t+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=r,f[i+8>>2]=f[t+8>>2],f[i+20>>2]=f[t+8>>2],r=f[t+4>>2],f[i+12>>2]=f[t>>2],f[i+16>>2]=r,f[i+32>>2]=f[t+8>>2],r=f[t+4>>2],f[i+24>>2]=f[t>>2],f[i+28>>2]=r,r=f[t+4>>2],f[i+36>>2]=f[t>>2],f[i+40>>2]=r,f[i+44>>2]=f[t+8>>2],(0|o)!=(0|(i=i+48|0)););}f[e+4>>2]=o}else{e:{if((i=(c=(o-(n=f[e>>2])|0)/12|0)+r|0)>>>0<357913942){if(n=(a=(a-n|0)/12|0)<<1,n=a>>>0<178956970?i>>>0>n>>>0?i:n:357913941){if(n>>>0>=357913942)break e;A=_t(p(n,12))}if(i=a=p(c,12)+A|0,b=1+(((c=(r=p(r,12))-12|0)>>>0)/12|0)&3)for(i=a;l=f[t+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=l,f[i+8>>2]=f[t+8>>2],i=i+12|0,(0|b)!=(0|(s=s+1|0)););if(s=r+a|0,c>>>0>=36)for(;r=f[t+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=r,f[i+8>>2]=f[t+8>>2],f[i+20>>2]=f[t+8>>2],r=f[t+4>>2],f[i+12>>2]=f[t>>2],f[i+16>>2]=r,f[i+32>>2]=f[t+8>>2],r=f[t+4>>2],f[i+24>>2]=f[t>>2],f[i+28>>2]=r,r=f[t+4>>2],f[i+36>>2]=f[t>>2],f[i+40>>2]=r,f[i+44>>2]=f[t+8>>2],(0|s)!=(0|(i=i+48|0)););return r=f[e>>2],i=a+p((0|(t=o-r|0))/-12|0,12)|0,(0|t)>0&&ge(i,r,t),f[e+8>>2]=p(n,12)+A,f[e+4>>2]=s,f[e>>2]=i,void(r&&ee(r))}oi(),T()}Hr(1326),T()}}function _e(e,r,t,i){var a,n,o=0,s=0,c=0,A=0,b=0,l=0;if(a=f[r+16>>2],o=c=f[t+4>>2]-a|0,s=f[t>>2]-a|0,f[t>>2]=s,f[t+4>>2]=o,n=(0|(l=f[r+16>>2]))>=((A=(o>>=31)+c^o)+((o=s>>31)+s^o)|0))o=c;else{e:{r:{if((0|s)>=0){if(b=1,A=1,(0|c)>=0)break e;if(o=1,b=-1,A=-1,s)break r;break e}if(o=-1,b=-1,A=-1,(0|c)<=0)break e}b=(0|c)<=0?-1:1,A=o}o=(o=s<<1)-(s=p(A,l))|0,o=(((A=(0|p(b,A))>=0)?0-o|0:o)+(b=p(b,l))|0)/2|0,f[t+4>>2]=o,l=s,s=(c<<1)-b|0,s=(l+(A?0-s|0:s)|0)/2|0,f[t>>2]=s}e:{r:{t:{i:{a:{n:{o:{if(s){if((0|s)<0)break o;if((0|o)>=0)break n;break t}if(o)break a;b=1,c=0,o=0,A=0;break e}if(b=1,(0|o)>0)break i;A=(0|o)>0?253:0,c=o,o=s;break e}c=0-o|0,o=0-s|0,A=254;break r}if((0|o)<=0)break t}o=0-o|0,c=s,A=253;break r}c=0-s|0,A=255}f[t>>2]=o,f[t+4>>2]=c,b=0}t=f[i+4>>2]+c|0,(0|(s=f[i>>2]+o|0))>(0|(c=f[r+16>>2]))?s=s-f[r+4>>2]|0:(0-c|0)<=(0|s)||(s=f[r+4>>2]+s|0),(0|t)>(0|c)?t=t-f[r+4>>2]|0:(0-c|0)<=(0|t)||(t=f[r+4>>2]+t|0);e:if(b)r=t;else{r=t;r:switch((3&A)-1|0){case 0:r=0-s|0,s=t;break e;case 1:r=0-t|0,s=0-s|0;break e;case 2:break r;default:break e}r=s,s=0-t|0}if(n)t=r;else{e:{r:{if((0|s)>=0){if(t=1,o=1,(0|r)>=0)break e;if(i=1,t=-1,o=-1,s)break r;break e}if(i=-1,t=-1,o=-1,(0|r)<=0)break e}t=(0|r)<=0?-1:1,o=i}i=(i=s<<1)-(s=p(o,c))|0,f[e>>2]=i,l=0-i|0,A=i,t=(((i=(0|p(t,o))>=0)?l:A)+(o=p(t,c))|0)/2|0,r=(r<<1)-o|0,s=(s+(i?0-r|0:r)|0)/2|0}f[e>>2]=s+a,f[e+4>>2]=t+a}function pe(e,r,t,i){var a=0,o=0,s=0,c=0,b=0,l=0;if(!((0|(c=i-t|0))<=0)){e:{if((0|c)<=((o=f[e+8>>2])-(b=f[e+4>>2])|0)){if((0|(l=b-r|0))>=(0|c)){s=b,o=i;break e}if(s=b,(0|(o=t+l|0))!=(0|i))for(a=o;n[0|s]=A[0|a],s=s+1|0,(0|(a=a+1|0))!=(0|i););if(f[e+4>>2]=s,(0|l)>0)break e;return}if((0|(i=c+(b-(a=f[e>>2])|0)|0))>=0){if(l=(o=o-a|0)<<1,t=ge((s=r-a|0)+(i=(o=o>>>0<1073741823?i>>>0>l>>>0?i:l:2147483647)?_t(o):0)|0,t,c),(0|s)>0&&ge(i,a,s),t=t+c|0,(0|r)!=(0|b)){if(s=(-1^r)+b|0,c=b-r&7)for(a=0;n[0|t]=A[0|r],t=t+1|0,r=r+1|0,(0|c)!=(0|(a=a+1|0)););if(s>>>0>=7)for(;n[0|t]=A[0|r],n[t+1|0]=A[r+1|0],n[t+2|0]=A[r+2|0],n[t+3|0]=A[r+3|0],n[t+4|0]=A[r+4|0],n[t+5|0]=A[r+5|0],n[t+6|0]=A[r+6|0],n[t+7|0]=A[r+7|0],t=t+8|0,(0|b)!=(0|(r=r+8|0)););a=f[e>>2]}return f[e+8>>2]=i+o,f[e+4>>2]=t,f[e>>2]=i,void(a&&ee(a))}oi(),T()}if(b>>>0>(i=(a=s)-c|0)>>>0)for(;n[0|a]=A[0|i],a=a+1|0,b>>>0>(i=i+1|0)>>>0;);if(f[e+4>>2]=a,(e=s-(r+c|0)|0)&&Se(s-e|0,r,e),(0|t)!=(0|o)){if(e=(-1^t)+o|0,s=o-t&7)for(i=0,a=r;n[0|a]=A[0|t],a=a+1|0,t=t+1|0,(0|s)!=(0|(i=i+1|0)););else a=r;if(!(e>>>0<7))for(;n[0|a]=A[0|t],n[a+1|0]=A[t+1|0],n[a+2|0]=A[t+2|0],n[a+3|0]=A[t+3|0],n[a+4|0]=A[t+4|0],n[a+5|0]=A[t+5|0],n[a+6|0]=A[t+6|0],n[a+7|0]=A[t+7|0],a=a+8|0,(0|o)!=(0|(t=t+8|0)););}}}function ke(e,r,t,i){e|=0,t|=0,i|=0;var a,o=0,s=0,c=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0;V=a=V-16|0,b=f[80+(r|=0)>>2],e=n[t+24|0],o=p(b,e);e:{r:{if(!(5==(0|(r=f[t+28>>2]))|6==(0|r))|!A[t+84|0]){if(f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0,e){if((0|e)<0)break r;c=_t(r=e<<2),f[a>>2]=c,s=r+c|0,f[a+8>>2]=s,Je(c,0,r),f[a+4>>2]=s}s=f[i>>2],(r=f[i+4>>2]-s>>2)>>>0<o>>>0?sr(i,o-r|0):r>>>0<=o>>>0||(f[i+4>>2]=s+(o<<2));t:if(b)if(e){for(h=-4&e,d=3&e,y=e-1>>>0<3,r=1,o=0;;){if(L(t,A[t+84|0]?o:f[f[t+68>>2]+(o<<2)>>2],n[t+24|0],c)){if(m=f[i>>2],k=0,s=f[a>>2],e=0,r=0,!y)for(;_=e<<2,f[(u=(l<<2)+m|0)>>2]=f[s+_>>2],f[u+4>>2]=f[s+(4|_)>>2],f[u+8>>2]=f[s+(8|_)>>2],f[u+12>>2]=f[s+(12|_)>>2],e=e+4|0,l=l+4|0,(0|h)!=(0|(r=r+4|0)););if(d)for(;f[(l<<2)+m>>2]=f[s+(e<<2)>>2],e=e+1|0,l=l+1|0,(0|(k=k+1|0))!=(0|d););if(r=b>>>0>(o=o+1|0)>>>0,(0|o)!=(0|b))continue}break}c=f[a>>2]}else for(e=0,r=1;;){if(!L(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],n[t+24|0],c))break t;if(r=b>>>0>(e=e+1|0)>>>0,(0|e)==(0|b))break}else r=0;c&&ee(c),e=1^r}else{if(c=f[t+48>>2],b=f[f[t>>2]>>2],r=0,f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0,t=0,e=o<<2){if((0|e)<0)break r;l=(r=ge(t=_t(e),c+b|0,e))+e|0,r=r+(e>>2<<2)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=l,f[i>>2]=t,e=1}V=a+16|0,e&=1;break e}oi(),T()}return 0|e}function de(e){var r,t=0,i=0,a=0,n=0;if(f[(e|=0)>>2]=8364,(t=f[196+(r=e+232|0)>>2])&&(f[r+200>>2]=t,ee(t)),i=f[r+184>>2]){if((0|i)==(0|(t=f[r+188>>2])))t=i;else{for(;(n=f[(a=t-12|0)>>2])&&(f[t-8>>2]=n,ee(n)),(0|i)!=(0|(t=a)););t=f[r+184>>2]}f[r+188>>2]=i,ee(t)}if((t=f[r+156>>2])&&(f[r+160>>2]=t,ee(t)),i=f[r+136>>2],f[r+136>>2]=0,i){if(t=f[(a=i-4|0)>>2])for(t=i+(t<<4)|0;(0|i)!=(0|(t=t-16|0)););ee(a)}if(i=f[e+216>>2]){if((0|i)==(0|(t=f[e+220>>2])))t=i;else{for(;(a=f[t-12>>2])&&(f[t-8>>2]=a,ee(a)),(a=f[t-28>>2])&&(f[t-24>>2]=a,ee(a)),(a=f[t-40>>2])&&(f[t-36>>2]=a,ee(a)),Zr(t-140|0),(0|i)!=(0|(t=t-144|0)););t=f[e+216>>2]}f[e+220>>2]=i,ee(t)}if((t=f[e+196>>2])&&(f[e+200>>2]=t,ee(t)),(t=f[e+184>>2])&&(f[e+188>>2]=t,ee(t)),(t=f[e+172>>2])&&(f[e+176>>2]=t,ee(t)),(t=f[e+160>>2])&&(f[e+164>>2]=t,ee(t)),t=f[e+144>>2])for(;i=f[t>>2],ee(t),t=i;);return t=f[e+136>>2],f[e+136>>2]=0,t&&ee(t),(t=f[e+120>>2])&&ee(t),(t=f[e+108>>2])&&ee(t),(t=f[e+96>>2])&&ee(t),(t=f[e+72>>2])&&(f[e+76>>2]=t,ee(t)),(t=f[e+60>>2])&&ee(t),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),(t=f[e+36>>2])&&(f[e+40>>2]=t,ee(t)),(t=f[e+24>>2])&&(f[e+28>>2]=t,ee(t)),(t=f[e+12>>2])&&(f[e+16>>2]=t,ee(t)),t=f[e+8>>2],f[e+8>>2]=0,t&&Br(t),0|e}function me(e,r){e|=0;var t,i=0,a=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0;if(V=t=V-16|0,i=f[20+(r|=0)>>2],i=(c=(a=f[r+16>>2])+4|0)>>>0<4?i+1|0:i,!((0|(o=f[r+12>>2]))<=(0|i)&c>>>0>l[r+8>>2]|(0|i)>(0|o))&&(a=a+f[r>>2]|0,a=A[0|a]|A[a+1|0]<<8|A[a+2|0]<<16|A[a+3|0]<<24,f[r+16>>2]=c,f[r+20>>2]=i,!((0|a)<0)&&(Ge(e+76|0,a),f[(i=t)>>2]=0,f[i+4>>2]=0,n[i+5|0]=0,n[i+6|0]=0,n[i+7|0]=0,n[i+8|0]=0,n[i+9|0]=0,n[i+10|0]=0,n[i+11|0]=0,n[i+12|0]=0,Ve(i,r)))){if(a)for(o=1;s=1<<b,u=jr(i),c=f[e+76>>2]+(b>>>3&536870908)|0,1&(o^=u)?s=f[c>>2]&(-1^s):s|=f[c>>2],o^=1,f[c>>2]=s,(0|a)!=(0|(b=b+1|0)););b=0,c=a=f[r+12>>2],o=i=f[r+20>>2],i=(u=(s=f[r+16>>2])+4|0)>>>0<4?i+1|0:i,(_=f[r+8>>2])>>>0<u>>>0&(0|i)>=(0|a)|(0|i)>(0|a)||(p=f[r>>2],a=A[0|(a=p+s|0)]|A[a+1|0]<<8|A[a+2|0]<<16|A[a+3|0]<<24,f[r+16>>2]=u,f[r+20>>2]=i,i=o,s=o=s+8|0,o=i=o>>>0<8?i+1|0:i,s>>>0>_>>>0&(0|i)>=(0|c)|(0|i)>(0|c)||(i=A[0|(i=u+p|0)]|A[i+1|0]<<8|A[i+2|0]<<16|A[i+3|0]<<24,f[r+16>>2]=s,f[r+20>>2]=o,(0|i)<(0|a)||(f[e+16>>2]=i,f[e+12>>2]=a,!(r=(i>>31)-((a>>31)+(i>>>0<a>>>0)|0)|0)&(i=i-a|0)>>>0>2147483646|r||(b=1,r=i+1|0,f[e+20>>2]=r,i=r>>>1|0,f[e+24>>2]=i,f[e+28>>2]=0-i,1&r||(f[e+24>>2]=i-1)))))}return V=t+16|0,0|b}function he(e,r){var t=0,i=0,a=0,n=0,o=0;n=-1,i=-1,-1!=(0|r)&&(n=((i=r+1|0)>>>0)%3|0?i:r-2|0,i=r-1|0,(r>>>0)%3|0||(i=r+2|0));e:{r:{t:switch(f[e+168>>2]){case 0:case 1:a=f[e+148>>2],t=1,o=(r=f[e+156>>2])+((-1!=(0|n)?f[f[a>>2]+(n<<2)>>2]:-1)<<2)|0,f[o>>2]=f[o>>2]+1,r=((-1!=(0|i)?f[f[a>>2]+(i<<2)>>2]:-1)<<2)+r|0;break r;case 5:a=f[e+148>>2],t=-1,t=(-1!=(0|r)?f[f[a>>2]+(r<<2)>>2]:t)<<2,r=f[e+156>>2],f[(t=t+r|0)>>2]=f[t>>2]+1,t=((-1!=(0|n)?f[f[a>>2]+(n<<2)>>2]:-1)<<2)+r|0,f[t>>2]=f[t>>2]+1,t=2,r=((-1!=(0|i)?f[f[a>>2]+(i<<2)>>2]:-1)<<2)+r|0;break r;case 3:a=f[e+148>>2],t=-1,t=(-1!=(0|r)?f[f[a>>2]+(r<<2)>>2]:t)<<2,r=f[e+156>>2],f[(t=t+r|0)>>2]=f[t>>2]+1,t=((-1!=(0|n)?f[f[a>>2]+(n<<2)>>2]:-1)<<2)+r|0,f[t>>2]=f[t>>2]+2,t=1,r=((-1!=(0|i)?f[f[a>>2]+(i<<2)>>2]:-1)<<2)+r|0;break r;case 7:break t;default:break e}a=f[e+148>>2],t=-1,t=(-1!=(0|r)?f[f[a>>2]+(r<<2)>>2]:t)<<2,r=f[e+156>>2],f[(t=t+r|0)>>2]=f[t>>2]+2,t=((-1!=(0|n)?f[f[a>>2]+(n<<2)>>2]:-1)<<2)+r|0,f[t>>2]=f[t>>2]+2,t=2,r=((-1!=(0|i)?f[f[a>>2]+(i<<2)>>2]:-1)<<2)+r|0}f[r>>2]=f[r>>2]+t}t=e,i=f[e+180>>2],r=f[f[e+156>>2]+((-1!=(0|n)?f[f[f[e+148>>2]>>2]+(n<<2)>>2]:-1)<<2)>>2],e=f[e+176>>2],f[t+172>>2]=(0|e)>(0|r)?0:((0|r)>(0|i)?i:r)-e|0}function ye(e,r,t){var i=0,a=0,n=0,o=0,s=0,c=0,A=0,b=0;if((i=f[e+8>>2])-(a=f[e>>2])>>2>>>0>=r>>>0){if(n=r>>>0>(s=(o=f[e+4>>2])-a>>2)>>>0?s:r){if(b=n-1|0,c=7&n)for(i=a;f[i>>2]=f[t>>2],n=n-1|0,i=i+4|0,(0|(A=A+1|0))!=(0|c););else i=a;if(!(b>>>0<7))for(;f[i>>2]=f[t>>2],f[i+4>>2]=f[t>>2],f[i+8>>2]=f[t>>2],f[i+12>>2]=f[t>>2],f[i+16>>2]=f[t>>2],f[i+20>>2]=f[t>>2],f[i+24>>2]=f[t>>2],f[i+28>>2]=f[t>>2],i=i+32|0,n=n-8|0;);}if(r>>>0>s>>>0){if(i=e,e=r-s|0)for(e=(e<<2)+o|0;f[o>>2]=f[t>>2],(0|e)!=(0|(o=o+4|0)););else e=o;return void(f[i+4>>2]=e)}f[e+4>>2]=a+(r<<2)}else if(a&&(f[e+4>>2]=a,ee(a),f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,i=0),r>>>0>=1073741824||(a=i>>1,(i=i>>2>>>0<536870911?r>>>0>a>>>0?r:a:1073741823)>>>0>=1073741824))oi(),T();else{if(a=_t(i<<=2),f[e>>2]=a,f[e+8>>2]=i+a,t=f[t>>2],i=a,s=1+((o=(r<<=2)-4|0)>>>2|0)&7)for(;f[i>>2]=t,i=i+4|0,(0|s)!=(0|(n=n+1|0)););if(r=r+a|0,o>>>0>=28)for(;f[i+28>>2]=t,f[i+24>>2]=t,f[i+20>>2]=t,f[i+16>>2]=t,f[i+12>>2]=t,f[i+8>>2]=t,f[i+4>>2]=t,f[i>>2]=t,(0|r)!=(0|(i=i+32|0)););f[e+4>>2]=r}}function ve(e,r,t){var i=0,a=0,n=0,o=0,s=0,c=0,A=0,b=0,l=0;if((n=f[e+8>>2])-(a=f[e+4>>2])>>2>>>0>=r>>>0){if(r){if(i=a,s=1+((o=(r<<2)-4|0)>>>2|0)&7)for(;f[i>>2]=f[t>>2],i=i+4|0,(0|s)!=(0|(c=c+1|0)););if(a=(r<<2)+a|0,!(o>>>0<28))for(;f[i>>2]=f[t>>2],f[i+4>>2]=f[t>>2],f[i+8>>2]=f[t>>2],f[i+12>>2]=f[t>>2],f[i+16>>2]=f[t>>2],f[i+20>>2]=f[t>>2],f[i+24>>2]=f[t>>2],f[i+28>>2]=f[t>>2],(0|a)!=(0|(i=i+32|0)););}f[e+4>>2]=a}else{e:{if((i=(a=(b=a-(o=f[e>>2])|0)>>2)+r|0)>>>0<1073741824){if(A=(n=n-o|0)>>1,n=n>>2>>>0<536870911?i>>>0>A>>>0?i:A:1073741823){if(n>>>0>=1073741824)break e;s=_t(n<<2)}if(i=a=(a<<2)+s|0,l=1+((A=(r<<=2)-4|0)>>>2|0)&7)for(i=a;f[i>>2]=f[t>>2],i=i+4|0,(0|l)!=(0|(c=c+1|0)););if(r=r+a|0,A>>>0>=28)for(;f[i>>2]=f[t>>2],f[i+4>>2]=f[t>>2],f[i+8>>2]=f[t>>2],f[i+12>>2]=f[t>>2],f[i+16>>2]=f[t>>2],f[i+20>>2]=f[t>>2],f[i+24>>2]=f[t>>2],f[i+28>>2]=f[t>>2],(0|r)!=(0|(i=i+32|0)););return(0|b)>0&&ge(s,o,b),f[e+8>>2]=(n<<2)+s,f[e+4>>2]=r,f[e>>2]=s,void(o&&ee(o))}oi(),T()}Hr(1326),T()}}function ge(e,r,t){var i,a=0,o=0;if(t>>>0>=512)return E(0|e,0|r,0|t),e;i=e+t|0;e:if(3&(e^r))if(i>>>0<4)t=e;else if((a=i-4|0)>>>0<e>>>0)t=e;else for(t=e;n[0|t]=A[0|r],n[t+1|0]=A[r+1|0],n[t+2|0]=A[r+2|0],n[t+3|0]=A[r+3|0],r=r+4|0,a>>>0>=(t=t+4|0)>>>0;);else{r:if(3&e)if(t)for(t=e;;){if(n[0|t]=A[0|r],r=r+1|0,!(3&(t=t+1|0)))break r;if(!(t>>>0<i>>>0))break}else t=e;else t=e;if(!((a=-4&i)>>>0<64||(o=a+-64|0)>>>0<t>>>0))for(;f[t>>2]=f[r>>2],f[t+4>>2]=f[r+4>>2],f[t+8>>2]=f[r+8>>2],f[t+12>>2]=f[r+12>>2],f[t+16>>2]=f[r+16>>2],f[t+20>>2]=f[r+20>>2],f[t+24>>2]=f[r+24>>2],f[t+28>>2]=f[r+28>>2],f[t+32>>2]=f[r+32>>2],f[t+36>>2]=f[r+36>>2],f[t+40>>2]=f[r+40>>2],f[t+44>>2]=f[r+44>>2],f[t+48>>2]=f[r+48>>2],f[t+52>>2]=f[r+52>>2],f[t+56>>2]=f[r+56>>2],f[t+60>>2]=f[r+60>>2],r=r- -64|0,o>>>0>=(t=t- -64|0)>>>0;);if(t>>>0>=a>>>0)break e;for(;f[t>>2]=f[r>>2],r=r+4|0,a>>>0>(t=t+4|0)>>>0;);}if(t>>>0<i>>>0)for(;n[0|t]=A[0|r],r=r+1|0,(0|i)!=(0|(t=t+1|0)););return e}function we(e){var r,t=0,i=0,a=0;if(f[(e|=0)>>2]=8312,r=f[e+368>>2],f[e+368>>2]=0,r){if(t=f[(a=r-4|0)>>2])for(i=(t<<4)+r|0;(0|r)!=(0|(i=i-16|0)););ee(a)}if(a=f[e+216>>2]){if((0|a)==(0|(i=f[e+220>>2])))t=a;else{for(;(t=f[i-12>>2])&&(f[i-8>>2]=t,ee(t)),(t=f[i-28>>2])&&(f[i-24>>2]=t,ee(t)),(t=f[i-40>>2])&&(f[i-36>>2]=t,ee(t)),Zr(i-140|0),(0|a)!=(0|(i=i-144|0)););t=f[e+216>>2]}f[e+220>>2]=a,ee(t)}if((t=f[e+196>>2])&&(f[e+200>>2]=t,ee(t)),(t=f[e+184>>2])&&(f[e+188>>2]=t,ee(t)),(t=f[e+172>>2])&&(f[e+176>>2]=t,ee(t)),(t=f[e+160>>2])&&(f[e+164>>2]=t,ee(t)),i=f[e+144>>2])for(;t=f[i>>2],ee(i),i=t,t;);return t=f[e+136>>2],f[e+136>>2]=0,t&&ee(t),(t=f[e+120>>2])&&ee(t),(t=f[e+108>>2])&&ee(t),(t=f[e+96>>2])&&ee(t),(t=f[e+72>>2])&&(f[e+76>>2]=t,ee(t)),(t=f[e+60>>2])&&ee(t),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),(t=f[e+36>>2])&&(f[e+40>>2]=t,ee(t)),(t=f[e+24>>2])&&(f[e+28>>2]=t,ee(t)),(t=f[e+12>>2])&&(f[e+16>>2]=t,ee(t)),t=f[e+8>>2],f[e+8>>2]=0,t&&Br(t),0|e}function Te(e,r,t,i){var a,n=0,o=0,f=0,s=0,c=0,A=0,b=0,l=0;a=t;e:{r:{t:{i:{a:{n:{o:{f:{s:{c:{A:{if(r){if(!a)break A;if(!i)break c;if((t=m(i)-m(r)|0)>>>0<=31)break s;break t}if(1==(0|i)|i>>>0>1)break t;e=(e>>>0)/(a>>>0)|0,D=0;break e}if(!e)break f;if(!i)break o;if(i-1&i)break o;e=r>>>It(i)|0,D=0;break e}if(!(a-1&a))break n;n=0-(f=(m(a)+33|0)-m(r)|0)|0;break i}f=t+1|0,n=63-t|0;break i}e=(r>>>0)/(i>>>0)|0,D=0;break e}if((t=m(i)-m(r)|0)>>>0<31)break a;break t}if(1==(0|a))break r;i=31&(t=It(a)),(63&t)>>>0>=32?(t=0,e=r>>>i|0):(t=r>>>i|0,e=((1<<i)-1&r)<<32-i|e>>>i),D=t;break e}f=t+1|0,n=63-t|0}if(o=31&(t=63&f),t>>>0>=32?(t=0,c=r>>>o|0):(t=r>>>o|0,c=((1<<o)-1&r)<<32-o|e>>>o),o=t,n=31&(t=63&n),t>>>0>=32?(t=e<<n,e=0):(t=(1<<n)-1&e>>>32-n|r<<n,e<<=n),r=t,f)for(t=i-1|0,b=-1!=(0|(n=a-1|0))?t+1|0:t;c=(t=c<<1|r>>>31)-(A=a&(s=b-((o=o<<1|c>>>31)+(t>>>0>n>>>0)|0)>>31))|0,o=o-((i&s)+(t>>>0<A>>>0)|0)|0,r=r<<1|e>>>31,e=l|e<<1,l=s&=1,f=f-1|0;);D=r<<1|e>>>31,e=s|e<<1;break e}e=0,r=0}D=r}return e}function Ce(e,r){var t=0,i=0,a=0;t=(0|e)==(0|r),n[r+12|0]=t;e:if(!t)for(;;){if(i=f[r+8>>2],A[i+12|0])break e;r:{if(t=f[i+8>>2],(0|i)!=(0|(a=f[t>>2]))){if(!(A[a+12|0]|!a))break r;f[i>>2]==(0|r)?(e=f[r+4>>2],f[i>>2]=e,e&&(f[e+8>>2]=i,t=f[i+8>>2]),f[r+8>>2]=t,e=f[i+8>>2],f[(((0|i)!=f[e>>2])<<2)+e>>2]=r,f[r+4>>2]=i,f[i+8>>2]=r,t=f[r+8>>2]):r=i,n[r+12|0]=1,n[t+12|0]=0,e=f[t+4>>2],r=f[e>>2],f[t+4>>2]=r,r&&(f[r+8>>2]=t),f[e+8>>2]=f[t+8>>2],r=f[t+8>>2],f[((f[r>>2]!=(0|t))<<2)+r>>2]=e,f[e>>2]=t,r=t+8|0}else{if(!(!(a=f[t+4>>2])|A[a+12|0]))break r;f[i>>2]!=(0|r)?(r=f[i+4>>2],e=f[r>>2],f[i+4>>2]=e,e&&(f[e+8>>2]=i,t=f[i+8>>2]),f[r+8>>2]=t,e=f[i+8>>2],f[(((0|i)!=f[e>>2])<<2)+e>>2]=r,f[r>>2]=i,f[i+8>>2]=r,t=f[r+8>>2]):r=i,n[r+12|0]=1,n[t+12|0]=0,e=f[t>>2],r=f[e+4>>2],f[t>>2]=r,r&&(f[r+8>>2]=t),f[e+8>>2]=f[t+8>>2],r=f[t+8>>2],f[((f[r>>2]!=(0|t))<<2)+r>>2]=e,f[e+4>>2]=t,r=t+8|0}f[r>>2]=e;break e}if(n[i+12|0]=1,i=(0|e)==(0|t),n[t+12|0]=i,n[a+12|0]=1,r=t,i)break}}function Ee(e,r,t){e|=0,r|=0,t|=0;var i,a=0,o=0,s=0,c=0,A=0,b=k(0),l=0,_=0,p=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,T=0;if(V=i=V-16|0,9==f[t+28>>2]){a=f[e+4>>2],o=(c=n[t+24|0])<<2,s=_t((1073741823&c)!=(0|c)?-1:o),f[(_=i+8|0)>>2]=1065353216,b=u[e+20>>2],(0|(a=-1<<a^-1))>0&&(u[_>>2]=b/k(0|a));e:if((m=(0|a)>0)&&(l=f[t+80>>2]))if(a=0,(0|c)<=0){if(1!=(0|l))for(e=-2&l,r=0;ge(f[f[t+64>>2]>>2]+a|0,s,o),ge((a=a+o|0)+f[f[t+64>>2]>>2]|0,s,o),a=a+o|0,(0|e)!=(0|(r=r+2|0)););if(!(1&l))break e;ge(f[f[t+64>>2]>>2]+a|0,s,o)}else for(h=f[f[r>>2]>>2]+f[r+48>>2]|0,w=-2&c,T=1&c;;){if(p=f[e+8>>2],b=u[_>>2],r=0,d=0,1!=(0|c))for(;y=(a<<2)+h|0,u[(A=r<<2)+s>>2]=k(b*k(f[y>>2]))+u[A+p>>2],u[(A|=4)+s>>2]=k(b*k(f[y+4>>2]))+u[A+p>>2],r=r+2|0,a=a+2|0,(0|w)!=(0|(d=d+2|0)););if(T&&(u[(r<<=2)+s>>2]=k(b*k(f[(a<<2)+h>>2]))+u[r+p>>2],a=a+1|0),ge(f[f[t+64>>2]>>2]+v|0,s,o),v=o+v|0,(0|(g=g+1|0))==(0|l))break}ee(s)}return V=i+16|0,0|m}function Ne(e,r,t){var i=0,a=0,n=0,o=0,s=0,c=0,A=0;i=(t>>>0)/3|0,o=f[(f[f[e+8>>2]+96>>2]+p(i,12)|0)+(t-p(i,3)<<2)>>2],a=f[f[e+12>>2]+4>>2];e:if((0|(i=f[a+4>>2]))==f[a+8>>2]){r:{if((i=1+(A=(c=i-(s=f[a>>2])|0)>>2)|0)>>>0<1073741824){if(n=c>>1,n=A>>>0<536870911?i>>>0>n>>>0?i:n:1073741823){if(n>>>0>=1073741824)break r;i=_t(n<<2)}else i=0;f[(A=i+(A<<2)|0)>>2]=o,(0|c)>0&&ge(i,s,c),f[a+8>>2]=i+(n<<2),f[a+4>>2]=A+4,f[a>>2]=i,s&&ee(s);break e}oi(),T()}Hr(1326),T()}else f[i>>2]=o,f[a+4>>2]=i+4;a=f[e+4>>2];e:{r:{if((0|(i=f[a+4>>2]))==f[a+8>>2]){if((i=1+(o=(c=i-(s=f[a>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(n=c>>1,n=o>>>0<536870911?i>>>0>n>>>0?i:n:1073741823){if(n>>>0>=1073741824)break e;i=_t(n<<2)}else i=0;f[(o=i+(o<<2)|0)>>2]=t,(0|c)>0&&ge(i,s,c),f[a+8>>2]=i+(n<<2),f[a+4>>2]=o+4,f[a>>2]=i,s&&ee(s)}else f[i>>2]=t,f[a+4>>2]=i+4;return e=f[e+4>>2],f[f[e+12>>2]+(r<<2)>>2]=f[e+24>>2],void(f[e+24>>2]=f[e+24>>2]+1)}oi(),T()}Hr(1326),T()}function Ge(e,r){var t,i=0,a=0,n=0,o=0,s=0,c=0;V=t=V-16|0;e:{r:if((a=f[e+4>>2])>>>0<r>>>0){if((n=r-a|0)>>>0>(i=(s=f[e+8>>2])<<5)>>>0|a>>>0>i-n>>>0){if(f[t+8>>2]=0,f[t>>2]=0,f[t+4>>2]=0,(0|r)<0)break e;i>>>0<=1073741822?(i=r+31&-32,r=(r=s<<6)>>>0<i>>>0?i:r):r=2147483647,or(t,r),a=f[e+4>>2],f[t+4>>2]=a+n,c=f[e>>2],r=f[t>>2],(0|a)<=0||(r=Se(r,c,s=(i=a>>>5|0)<<2)+s|0,(0|(o=a-(i<<5)|0))<=0?o=0:(i=-1>>>32-o|0,f[r>>2]=f[r>>2]&(-1^i)|i&f[c+s>>2]),c=f[e>>2]),f[e>>2]=f[t>>2],f[t>>2]=c,i=f[e+4>>2],f[e+4>>2]=f[t+4>>2],f[t+4>>2]=i,i=f[e+8>>2],f[e+8>>2]=f[t+8>>2],f[t+8>>2]=i,c&&ee(c)}else f[e+4>>2]=r,o=31&a,r=f[e>>2]+(a>>>3&536870908)|0;if(!n)break r;if(o&&(e=(i=32-o|0)>>>0>n>>>0?n:i,f[r>>2]=f[r>>2]&(-1<<o&-1>>>i-e^-1),n=n-e|0,r=r+4|0),e=Je(r,0,i=n>>>5<<2),!(r=31&n))break r;f[(e=e+i|0)>>2]=f[e>>2]&(-1>>>32-r^-1)}else f[e+4>>2]=r;return void(V=t+16|0)}oi(),T()}function Re(e,r){var t=0,i=0,a=0,o=0,s=0,c=0,b=0,u=0;if((i=A[e+11|0]>>>7|0?f[e+4>>2]:A[e+11|0])>>>0<r>>>0)return V=c=V-16|0,(o=r-i|0)&&(b=(s=(r=A[e+11|0]>>>7|0)?f[e+4>>2]:A[e+11|0])+o|0,(r=r?(2147483647&f[e+8>>2])-1|0:10)-s>>>0<o>>>0&&(V=i=V-16|0,(t=b-r|0)>>>0<=-17-r>>>0?(u=A[e+11|0]>>>7|0?f[e>>2]:e,r>>>0<2147483623?(f[i+8>>2]=r<<1,f[i+12>>2]=r+t,V=t=V-16|0,V=t+16|0,t=i+8|0,t=(t=f[(l[(a=i+12|0)>>2]<l[t>>2]?t:a)>>2])>>>0>=11?11==(0|(t=(a=t+16&-16)-1|0))?a:t:10):t=-18,t=_t(a=t+1|0),s&&qt(t,u,s),10!=(0|r)&&ee(u),f[e>>2]=t,f[e+8>>2]=-2147483648|a,V=i+16|0):(si(),T())),i=s+(r=A[e+11|0]>>>7|0?f[e>>2]:e)|0,o&&Je(i,0,o),A[e+11|0]>>>7|0?f[e+4>>2]=b:n[e+11|0]=b,n[c+15|0]=0,n[r+b|0]=A[c+15|0]),void(V=c+16|0);V=i=V-16|0,A[e+11|0]>>>7|0?(o=f[e>>2],n[i+15|0]=0,n[r+o|0]=A[i+15|0],f[e+4>>2]=r):(n[i+14|0]=0,n[e+r|0]=A[i+14|0],n[e+11|0]=r),V=i+16|0}function Ve(e,r){var t,i=0,a=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0;V=t=V-16|0;e:if(!((0|(o=f[r+20>>2]))>=(0|(i=f[r+12>>2]))&(a=f[r+16>>2])>>>0>=l[r+8>>2]|(0|i)<(0|o))&&(n[e+12|0]=A[a+f[r>>2]|0],o=f[r+20>>2],o=(i=f[r+16>>2]+1|0)?o:o+1|0,f[r+16>>2]=i,f[r+20>>2]=o,Er(1,t+12|0,r)&&(a=(o=f[r+8>>2])-(i=c=f[r+16>>2])|0,i=i>>>0>o>>>0,o=f[r+20>>2],!((0|(s=f[r+12>>2]-(i+o|0)|0))<=0&a>>>0<(i=f[t+12>>2])>>>0|(0|s)<0|(0|i)<=0)))){a=c+f[r>>2]|0,f[e>>2]=a,_=e;r:if((u=A[0|(b=(s=i-1|0)+a|0)])>>>0<=63)f[e+4>>2]=s,e=63&A[0|b];else{t:switch((u>>>6|0)-1|0){case 0:if(i>>>0<2)break e;f[e+4>>2]=i-2,e=A[1+(a=(i+a|0)-2|0)|0]<<8&16128|A[0|a];break r;case 1:break t;default:break e}if(i>>>0<3)break e;f[e+4>>2]=i-3,e=A[2+(a=(i+a|0)-3|0)|0]<<16&4128768|A[a+1|0]<<8|A[0|a]}e=e+4096|0,f[_+8>>2]=e,e>>>0>1048575||(e=o,e=(a=i+c|0)>>>0<i>>>0?e+1|0:e,f[r+16>>2]=a,f[r+20>>2]=e,p=1)}return V=t+16|0,p}function De(e,r,t){r|=0,t|=0;var i=0,a=0,o=0,s=0,c=0,b=0,u=0;return(i=(o=f[12+(e|=0)>>2])-(c=f[e+8>>2])>>2)>>>0<(r=n[r+24|0])>>>0?(sr(e+8|0,r-i|0),c=f[e+8>>2],o=f[e+12>>2]):r>>>0>=i>>>0||(o=(r<<2)+c|0,f[e+12>>2]=o),r=0,b=f[t+20>>2],o=i=o-c|0,s=(a=f[t+16>>2])+i|0,u=f[t+12>>2],b=i>>>0>s>>>0?b+1|0:b,s>>>0>l[t+8>>2]&(0|u)<=(0|b)|(0|b)>(0|u)||(ge(c,a+f[t>>2]|0,i),i=f[t+20>>2],i=(a=o+f[t+16>>2]|0)>>>0<o>>>0?i+1|0:i,s=a,f[t+16>>2]=a,f[t+20>>2]=i,a=f[t+12>>2],i=(o=s+4|0)>>>0<4?i+1|0:i,o>>>0>l[t+8>>2]&(0|i)>=(0|a)|(0|i)>(0|a)||(i=s+f[t>>2]|0,f[e+20>>2]=A[0|i]|A[i+1|0]<<8|A[i+2|0]<<16|A[i+3|0]<<24,i=f[t+20>>2],o=(a=(s=f[t+16>>2])+4|0)>>>0<4?i+1|0:i,u=a,f[t+16>>2]=a,f[t+20>>2]=o,(0|o)>=(0|(a=f[t+12>>2]))&u>>>0>=l[t+8>>2]|(0|o)>(0|a)||(a=A[u+f[t>>2]|0],i=(o=s+5|0)>>>0<5?i+1|0:i,f[t+16>>2]=o,f[t+20>>2]=i,a-1>>>0>29||(f[e+4>>2]=a,r=1)))),0|r}function Me(e,r){var t,i=0,a=0,o=0,s=0,c=0;V=t=V-16|0;e:{r:{if(r){if(f[e+88>>2]=0,f[e+92>>2]=0,i=f[e+84>>2],f[e+84>>2]=0,i&&ee(i),f[e+76>>2]=0,f[e+80>>2]=0,i=f[e+72>>2],f[e+72>>2]=0,i&&ee(i),i=f[r>>2],a=f[r+4>>2],n[t+15|0]=0,Pe(e,a-i>>2,t+15|0),i=f[r+28>>2],a=f[r+24>>2],n[t+14|0]=0,Pe(e+12|0,i-a>>2,t+14|0),ye(e+28|0,f[r+4>>2]-f[r>>2]>>2,10316),o=(a=f[r+28>>2]-f[r+24>>2]|0)>>2,i=f[e+52>>2],!(o>>>0<=f[e+60>>2]-i>>2>>>0)){if((0|a)<0)break r;s=f[e+56>>2],c=(a=_t(a))+(o<<2)|0,s=(o=s-i|0)+a|0,(0|o)>0&&ge(a,i,o),f[e+60>>2]=c,f[e+56>>2]=s,f[e+52>>2]=a,i&&ee(i)}if(o=(a=f[r+28>>2]-f[r+24>>2]|0)>>2,i=f[e+40>>2],!(o>>>0<=f[e+48>>2]-i>>2>>>0)){if((0|a)<0)break e;s=f[e+44>>2],c=(a=_t(a))+(o<<2)|0,s=(o=s-i|0)+a|0,(0|o)>0&&ge(a,i,o),f[e+48>>2]=c,f[e+44>>2]=s,f[e+40>>2]=a,i&&ee(i)}n[e+24|0]=1,f[e+64>>2]=r}return void(V=t+16|0)}Hr(1326),T()}Hr(1326),T()}function Ue(e,r,t){e|=0,r|=0,t|=0;var i=0,a=k(0),o=k(0),b=k(0),l=k(0),u=k(0),_=0,p=k(0),m=k(0),h=k(0),v=k(0),g=0;if(!(9!=f[t+28>>2]|3!=A[t+24|0])&&!((e=f[e+4>>2])-31>>>0<4294967267)&&(g=1,_=f[t+80>>2]))for(p=k(k(2)/k((1<<e)-2|0)),t=f[f[t>>2]>>2]+f[t+48>>2]|0,e=f[f[r>>2]>>2]+f[r+48>>2]|0,r=0;b=k(0),m=k(0),h=k(0),a=k(k(k(f[e>>2])*p)+k(-1)),o=k(k(k(f[e+4>>2])*p)+k(-1)),u=k(k(k(1)-k(d(a)))-k(d(o))),l=k(y(k(-u),k(0))),v=k(-l),o=k(o+(o<k(0)?l:v)),a=k(a+(a<k(0)?l:v)),+(l=k(k(o*o)+k(k(u*u)+k(a*a))))<1e-6||(b=k(k(1)/k(w(l))),h=k(o*b),m=k(a*b),b=k(u*b)),e=e+8|0,s(h),i=c(2),n[t+8|0]=i,n[t+9|0]=i>>>8,n[t+10|0]=i>>>16,n[t+11|0]=i>>>24,s(m),i=c(2),n[t+4|0]=i,n[t+5|0]=i>>>8,n[t+6|0]=i>>>16,n[t+7|0]=i>>>24,s(b),i=c(2),n[0|t]=i,n[t+1|0]=i>>>8,n[t+2|0]=i>>>16,n[t+3|0]=i>>>24,t=t+12|0,(0|_)!=(0|(r=r+1|0)););return 0|g}function Ie(e,r,t,i){var a,n,o=0,s=0,c=0,A=0,b=0,l=0,_=0;b=+u[r>>2],l=+u[r+4>>2],_=+u[r+8>>2],(c=d(b)+d(l)+d(_))>1e-6?(l*=c=1/c,b*=c,o=c*_<0):(b=1,l=0,o=0),a=f[e+16>>2],c=v(b*(_=+(0|a))+.5),A=(s=(n=d(c)<2147483648?~~c:-2147483648)>>31)+n^s,c=v(l*_+.5),A=(0|(r=a-(A+((s=d(c)<2147483648?~~c:-2147483648)+(r=s>>31)^r)|0)|0))<0?0:r,o=o?0-A|0:A,s=s+(r>>31&((0|s)>0?r:0-r|0))|0,(0|n)>=0?(r=o+a|0,e=f[e+8>>2],o=s+a|0):(r=s>>31,r^=r+s,e=f[e+8>>2],r=(0|o)<0?r:e-r|0,o=(0|s)<0?A:e-A|0),r|o&&(0|e)!=(0|r)|o&&r|(s=(0|e)!=(0|o))?(0|r)<=(0|a)|o?(0|r)>=(0|a)|s?(0|e)!=(0|r)|(0|o)>=(0|a)?r?e=o:(r=0,e=(0|o)<=(0|a)?o:(a<<1)-o|0):(r=e,e=(a<<1)-o|0):r=(a<<1)-r|0:(r=(a<<1)-r|0,e=0):r=e,f[t>>2]=e,f[i>>2]=r}function Be(e,r){var t,i,a,o=0,s=0,c=0;i=f[e>>2],f[(o=i+(r>>>3&536870908)|0)>>2]=f[o>>2]|1<<r,t=f[e+64>>2],s=-1,(c=-1==(0|r))||(s=-1,-1!=(0|(o=((o=r+1|0)>>>0)%3|0?o:r-2|0))&&(s=f[f[t>>2]+(o<<2)>>2])),o=f[e+12>>2],f[(a=(s>>>3&536870908)+o|0)>>2]=f[a>>2]|1<<s;e:{if(c)e=o+536870908|0,r=f[o+536870908>>2],o=-2147483648;else{r:{if((r>>>0)%3|0)c=r-1|0;else if(s=-1,-1==(0|(c=r+2|0)))break r;s=f[f[t>>2]+(c<<2)>>2]}if(f[(c=(s>>>3&536870908)+o|0)>>2]=f[c>>2]|1<<s,s=-1,-1==(0|(r=f[f[t+12>>2]+(r<<2)>>2])))break e;n[e+24|0]=0,f[(e=(r>>>3&536870908)+i|0)>>2]=f[e>>2]|1<<r,-1!=(0|(e=((e=r+1|0)>>>0)%3|0?e:r-2|0))&&(s=f[f[t>>2]+(e<<2)>>2]),f[(e=o+(s>>>3&536870908)|0)>>2]=f[e>>2]|1<<s;r:{if((r>>>0)%3|0)r=r-1|0;else if(e=-1,-1==(0|(r=r+2|0)))break r;e=f[f[t>>2]+(r<<2)>>2]}r=1<<e,o=f[(e=o+(e>>>3&536870908)|0)>>2]}f[e>>2]=r|o}}function Ze(e,r){var t=0,i=0;t=f[r+8>>2],f[e+4>>2]=f[r+4>>2],f[e+8>>2]=t,f[e+20>>2]=f[r+20>>2],t=f[r+16>>2],f[e+12>>2]=f[r+12>>2],f[e+16>>2]=t;e:{r:{if((0|e)!=(0|r)){if(t=f[r+28>>2]){if(f[e+32>>2]<<5>>>0>=t>>>0)i=f[e+24>>2];else{if((i=f[e+24>>2])&&(ee(i),f[e+32>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,t=f[r+28>>2]),(0|t)<0)break r;i=_t((t=1+(t-1>>>5|0)|0)<<2),f[e+32>>2]=t,f[e+28>>2]=0,f[e+24>>2]=i,t=f[r+28>>2]}Se(i,f[r+24>>2],4+(t-1>>>3&536870908)|0),t=f[r+28>>2]}else t=0;if(f[e+28>>2]=t,t=f[r+40>>2]){if(f[e+44>>2]<<5>>>0>=t>>>0)i=f[e+36>>2];else{if((i=f[e+36>>2])&&(ee(i),f[e+44>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,t=f[r+40>>2]),(0|t)<0)break e;i=_t((t=1+(t-1>>>5|0)|0)<<2),f[e+44>>2]=t,f[e+40>>2]=0,f[e+36>>2]=i,t=f[r+40>>2]}Se(i,f[r+36>>2],4+(t-1>>>3&536870908)|0),r=f[r+40>>2]}else r=0;f[e+40>>2]=r}return}oi(),T()}oi(),T()}function We(e,r){var t,i=0,a=0,n=0,o=0,s=0,c=0;V=t=V-16|0;e:if(kr(1,t+8|0,r)&&(i=f[r+8>>2],n=f[r+16>>2],s=f[t+12>>2],a=f[r+20>>2],!((0|s)==(0|(o=f[r+12>>2]-(a+(i>>>0<n>>>0)|0)|0))&(i-n|0)>>>0<(i=f[t+8>>2])>>>0|o>>>0<s>>>0||(a=a+s|0,a=(o=i+n|0)>>>0<n>>>0?a+1|0:a,f[r+16>>2]=o,f[r+20>>2]=a,(0|i)<=0)))){a=n+f[r>>2]|0,f[e+40>>2]=a,s=e;r:if((r=A[0|(n=a+(o=i-1|0)|0)])>>>0<=63)f[e+44>>2]=o,e=63&A[0|n];else{switch((r>>>6|0)-1|0){case 0:if(i>>>0<2)break e;f[e+44>>2]=i-2,e=A[1+(r=(i+a|0)-2|0)|0]<<8&16128|A[0|r];break r;case 1:if(i>>>0<3)break e;f[e+44>>2]=i-3,e=A[2+(r=(i+a|0)-3|0)|0]<<16&4128768|A[r+1|0]<<8|A[0|r];break r}f[e+44>>2]=i-4,e=A[2+(r=(i+a|0)-4|0)|0]<<16|A[r+3|0]<<24&1056964608|A[r+1|0]<<8|A[0|r]}e=e+16384|0,f[s+48>>2]=e,c=e>>>0<4194304}return V=t+16|0,c}function Fe(e){var r,t=0,i=0;t=f[e+8>>2],r=f[e>>2];e:{if(A[e+12|0]){r:{if(-1!=(0|t)&&-1!=(0|(t=((i=t+1|0)>>>0)%3|0?i:t-2|0))&&-1!=(0|(t=f[f[r+12>>2]+(t<<2)>>2]))){if(t=((i=t+1|0)>>>0)%3|0?i:t-2|0,f[e+8>>2]=t,-1!=(0|t))break r}else f[e+8>>2]=-1;t=-1;t:if(-1!=(0|(i=f[e+4>>2]))){if((i>>>0)%3|0)i=i-1|0;else if(t=-1,-1==(0|(i=i+2|0)))break t;t=-1,-1!=(0|(i=f[f[r+12>>2]+(i<<2)>>2]))&&(t=i-1|0,(i>>>0)%3|0||(t=i+2|0))}return n[e+12|0]=0,void(f[e+8>>2]=t)}if((0|t)!=f[e+4>>2])break e;return void(f[e+8>>2]=-1)}i=-1;r:if(-1!=(0|t)){if((t>>>0)%3|0)t=t-1|0;else if(i=-1,-1==(0|(t=t+2|0)))break r;i=-1,-1!=(0|(t=f[f[r+12>>2]+(t<<2)>>2]))&&(i=t-1|0,(t>>>0)%3|0||(i=t+2|0))}f[e+8>>2]=i}}function xe(e){var r,t=0,i=0;r=_t(32),t=A[1619]|A[1620]<<8,n[r+24|0]=t,n[r+25|0]=t>>>8,t=A[1615]|A[1616]<<8|A[1617]<<16|A[1618]<<24,i=A[1611]|A[1612]<<8|A[1613]<<16|A[1614]<<24,n[r+16|0]=i,n[r+17|0]=i>>>8,n[r+18|0]=i>>>16,n[r+19|0]=i>>>24,n[r+20|0]=t,n[r+21|0]=t>>>8,n[r+22|0]=t>>>16,n[r+23|0]=t>>>24,t=A[1607]|A[1608]<<8|A[1609]<<16|A[1610]<<24,i=A[1603]|A[1604]<<8|A[1605]<<16|A[1606]<<24,n[r+8|0]=i,n[r+9|0]=i>>>8,n[r+10|0]=i>>>16,n[r+11|0]=i>>>24,n[r+12|0]=t,n[r+13|0]=t>>>8,n[r+14|0]=t>>>16,n[r+15|0]=t>>>24,t=A[1599]|A[1600]<<8|A[1601]<<16|A[1602]<<24,i=A[1595]|A[1596]<<8|A[1597]<<16|A[1598]<<24,n[0|r]=i,n[r+1|0]=i>>>8,n[r+2|0]=i>>>16,n[r+3|0]=i>>>24,n[r+4|0]=t,n[r+5|0]=t>>>8,n[r+6|0]=t>>>16,n[r+7|0]=t>>>24,n[r+26|0]=0,f[e>>2]=-1,Fr(e+4|0,r,26),ee(r)}function Se(e,r,t){var i=0,a=0;e:if((0|e)!=(0|r)){if(r-(a=e+t|0)>>>0<=0-(t<<1)>>>0)return ge(e,r,t);if(i=3&(e^r),e>>>0<r>>>0){if(i)i=e;else{if(3&e)for(i=e;;){if(!t)break e;if(n[0|i]=A[0|r],r=r+1|0,t=t-1|0,!(3&(i=i+1|0)))break}else i=e;if(!(t>>>0<=3))for(;f[i>>2]=f[r>>2],r=r+4|0,i=i+4|0,(t=t-4|0)>>>0>3;);}if(t)for(;n[0|i]=A[0|r],i=i+1|0,r=r+1|0,t=t-1|0;);}else{if(!i){if(3&a)for(;;){if(!t)break e;if(n[0|(i=(t=t-1|0)+e|0)]=A[r+t|0],!(3&i))break}if(!(t>>>0<=3))for(;f[(t=t-4|0)+e>>2]=f[r+t>>2],t>>>0>3;);}if(!t)break e;for(;n[(t=t-1|0)+e|0]=A[r+t|0],t;);}}return e}function je(e,r,t){var i,a,n=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0;V=i=V-16|0;e:{if((0|(s=f[e+24>>2]))!=(0|(a=f[e+28>>2])))for(;;){f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,n=qr(f[s>>2],r,i),b=(e=A[i+11|0])<<24>>24,l=3;r:{t:{i:{a:if(n&&(l=0,o=(n=A[t+11|0])<<24>>24,(0|(u=(0|b)<0?f[i+4>>2]:e))==(0|((0|o)<0?f[t+4>>2]:n)))){c=(0|o)<0?f[t>>2]:t,o=f[i>>2];n:{if(!(n=(0|b)<0)){if(!b)break n;if(n=i,A[0|c]!=(255&o))break r;for(;;){if(!(e=e-1|0))break n;if(o=A[c+1|0],c=c+1|0,(0|o)!=A[0|(n=n+1|0)])break}break a}if(u&&Rr(n?o:i,c,u))break i}_=f[s>>2],l=1}if((0|b)>=0)break t}ee(f[i>>2])}switch(0|l){case 0:case 3:break r;default:break e}}if((0|a)==(0|(s=s+4|0)))break}_=0}return V=i+16|0,_}function Oe(e,r){var t=0,i=0,a=0,n=0,o=0,s=0,c=0;if((i=f[e+8>>2])-(t=f[e+4>>2])>>2>>>0>=r>>>0)return r&&(t=Je(t,0,r<<=2)+r|0),void(f[e+4>>2]=t);e:{r:{t:{if((a=(n=t-(o=f[e>>2])>>2)+r|0)>>>0<1073741824){if(s=(i=i-o|0)>>1,a=i>>2>>>0<536870911?a>>>0>s>>>0?a:s:1073741823){if(a>>>0>=1073741824)break t;c=_t(a<<2)}if(n=(r=Je(i=(n<<2)+c|0,0,n=r<<2))+n|0,a=(a<<2)+c|0,(0|t)==(0|o))break r;for(;r=f[(t=t-4|0)>>2],f[t>>2]=0,f[(i=i-4|0)>>2]=r,(0|t)!=(0|o););if(f[e+8>>2]=a,r=f[e+4>>2],f[e+4>>2]=n,t=f[e>>2],f[e>>2]=i,(0|r)==(0|t))break e;for(;e=f[(r=r-4|0)>>2],f[r>>2]=0,e&&yi[f[f[e>>2]+4>>2]](e),(0|r)!=(0|t););break e}oi(),T()}Hr(1326),T()}f[e+8>>2]=a,f[e+4>>2]=n,f[e>>2]=r}t&&ee(t)}function Ye(e,r){e|=0;var t,i,a=0,n=0,o=0,s=0,c=0,b=0,l=0;return c=n=f[12+(r|=0)>>2],o=a=f[r+20>>2],a=(t=(s=f[r+16>>2])+4|0)>>>0<4?a+1|0:a,(i=f[r+8>>2])>>>0<t>>>0&(0|a)>=(0|n)|(0|a)>(0|n)||(b=f[r>>2],n=A[0|(n=b+s|0)]|A[n+1|0]<<8|A[n+2|0]<<16|A[n+3|0]<<24,f[r+16>>2]=t,f[r+20>>2]=a,a=o,s=o=s+8|0,o=a=o>>>0<8?a+1|0:a,s>>>0>i>>>0&(0|a)>=(0|c)|(0|a)>(0|c)||(a=A[0|(a=t+b|0)]|A[a+1|0]<<8|A[a+2|0]<<16|A[a+3|0]<<24,f[r+16>>2]=s,f[r+20>>2]=o,(0|a)<(0|n)||(f[e+16>>2]=a,f[e+12>>2]=n,!(c=(a>>31)-((n>>31)+(a>>>0<n>>>0)|0)|0)&(a=a-n|0)>>>0>2147483646|c||(a=a+1|0,f[e+20>>2]=a,n=a>>>1|0,f[e+24>>2]=n,f[e+28>>2]=0-n,1&a||(f[e+24>>2]=n-1),l=Ve(e+112|0,r))))),0|l}function Je(e,r,t){var i=0,a=0,o=0;if(t&&(n[0|e]=r,n[(a=e+t|0)-1|0]=r,!(t>>>0<3||(n[e+2|0]=r,n[e+1|0]=r,n[a-3|0]=r,n[a-2|0]=r,t>>>0<7||(n[e+3|0]=r,n[a-4|0]=r,t>>>0<9||(o=(a=0-e&3)+e|0,i=p(255&r,16843009),f[o>>2]=i,f[(t=(r=t-a&-4)+o|0)-4>>2]=i,r>>>0<9||(f[o+8>>2]=i,f[o+4>>2]=i,f[t-8>>2]=i,f[t-12>>2]=i,r>>>0<25||(f[o+24>>2]=i,f[o+20>>2]=i,f[o+16>>2]=i,f[o+12>>2]=i,f[t-16>>2]=i,f[t-20>>2]=i,f[t-24>>2]=i,f[t-28>>2]=i,(t=(t=r)-(r=4&o|24)|0)>>>0<32))))))))for(i=Lr(i,0,1,1),a=D,r=r+o|0;f[r+24>>2]=i,f[r+28>>2]=a,f[r+16>>2]=i,f[r+20>>2]=a,f[r+8>>2]=i,f[r+12>>2]=a,f[r>>2]=i,f[r+4>>2]=a,r=r+32|0,(t=t-32|0)>>>0>31;);return e}function Qe(e,r){var t=0,i=0,a=0,n=0,o=0;i=-1,n=-1,a=-1;e:{r:if(-1!=(0|r)){if(o=1,n=f[f[f[e+4>>2]+12>>2]+(r<<2)>>2],(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0))>=0&&(a=(t>>>0)/3|0,a=f[(f[f[e>>2]+96>>2]+p(a,12)|0)+(t-p(a,3)<<2)>>2]),-1!=(0|n)&&(o=0,(0|(t=((n>>>0)%3|0?-1:2)+n|0))<0||(i=(t>>>0)/3|0,i=f[(f[f[e>>2]+96>>2]+p(i,12)|0)+(t-p(i,3)<<2)>>2])),t=-1,(0|i)!=(0|a))break e;if(a=-1,(0|(r=((r>>>0)%3|0?-1:2)+r|0))>=0){if(i=(r>>>0)/3|0,i=f[(f[f[e>>2]+96>>2]+p(i,12)|0)+(r-p(i,3)<<2)>>2],o)break r}else if(i=-1,o)break r;(0|(r=((r=n+1|0)>>>0)%3|0?r:n-2|0))<0||(t=f[f[e>>2]+96>>2],a=f[(t+p(e=(r>>>0)/3|0,12)|0)+(r-p(e,3)<<2)>>2])}t=(0|i)==(0|a)?n:-1}return t}function Pe(e,r,t){var i,a=0,n=0,o=0;V=i=V-16|0,f[e+4>>2]=0;e:{r:if(r){if((a=(o=f[e+8>>2])<<5)>>>0>=r>>>0)f[e+4>>2]=r;else{if(f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,(0|r)<0)break e;or(i,a=a>>>0<=1073741822?(a=o<<6)>>>0<(n=r+31&-32)>>>0?n:a:2147483647),n=f[e>>2],f[e>>2]=f[i>>2],f[i>>2]=n,a=f[e+4>>2],f[e+4>>2]=r,f[i+4>>2]=a,a=f[e+8>>2],f[e+8>>2]=f[i+8>>2],f[i+8>>2]=a,n&&ee(n)}if(a=(n=r>>>5|0)<<2,e=f[e>>2],A[0|t]){if(e=Je(e,255,a),!(r&=31))break r;f[(e=e+(n<<2)|0)>>2]=f[e>>2]|-1>>>32-r}else e=Je(e,0,a),(r&=31)&&(f[(e=e+(n<<2)|0)>>2]=f[e>>2]&(-1>>>32-r^-1))}return void(V=i+16|0)}oi(),T()}function ze(e,r,t){var i,a=0,n=0,o=0,s=0;if((i=(o=t-r|0)>>2)>>>0<=(a=f[e+8>>2])-(n=f[e>>2])>>2>>>0){if((0|(a=i>>>0>(s=(a=(o=f[e+4>>2])-n|0)>>2)>>>0?r+a|0:t))!=(0|r))for(;f[n>>2]=f[r>>2],n=n+4|0,(0|a)!=(0|(r=r+4|0)););return i>>>0>s>>>0?((0|(r=t-a|0))>0&&(o=ge(o,a,r)+r|0),void(f[e+4>>2]=o)):void(f[e+4>>2]=n)}if(n&&(f[e+4>>2]=n,ee(n),f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,a=0),!((0|o)<0||(t=a>>1,(t=a>>2>>>0<536870911?t>>>0<i>>>0?i:t:1073741823)>>>0>=1073741824)))return t=_t(n=t<<2),f[e>>2]=t,f[e+4>>2]=t,f[e+8>>2]=t+n,o&&(t=ge(t,r,o)+o|0),void(f[e+4>>2]=t);oi(),T()}function Le(e,r){e|=0;var t,i,a,n=0,o=0,s=0,c=0,b=0;return s=f[12+(r|=0)>>2],c=n=f[r+20>>2],n=(o=(t=f[r+16>>2])+4|0)>>>0<4?n+1|0:n,a=o,(i=f[r+8>>2])>>>0<o>>>0&(0|n)>=(0|s)|(0|n)>(0|s)||(o=t+f[r>>2]|0,o=A[0|o]|A[o+1|0]<<8|A[o+2|0]<<16|A[o+3|0]<<24,f[r+16>>2]=a,f[r+20>>2]=n,n=c,(c=t+8|0)>>>0>i>>>0&(0|(n=c>>>0<8?n+1|0:n))>=(0|s)|(0|n)>(0|s)||(f[r+16>>2]=c,f[r+20>>2]=n,1&o&&((n=31^m(o))-30>>>0<4294967267||(f[e+8>>2]=n+1,n=-2-(s=-2<<n)|0,f[e+16>>2]=n,f[e+12>>2]=-1^s,f[e+24>>2]=(0|n)/2,u[e+20>>2]=k(2)/k(0|n),b=Ve(e+96|0,r))))),0|b}function Xe(e){var r=0,t=0,i=0,a=0;t=1;e:if(!((0|(i=f[e+140>>2]))<=0)){for(r=i<<4,t=_t((0|i)!=(268435455&i)?-1:4|r),f[t>>2]=i,i=(t=t+4|0)+r|0,r=t;f[r>>2]=0,f[r+4>>2]=0,n[r+5|0]=0,n[r+6|0]=0,n[r+7|0]=0,n[r+8|0]=0,n[r+9|0]=0,n[r+10|0]=0,n[r+11|0]=0,n[r+12|0]=0,(0|i)!=(0|(r=r+16|0)););if(a=f[e+136>>2],f[e+136>>2]=t,a){if(t=f[(i=a-4|0)>>2])for(r=(t<<4)+a|0;(0|a)!=(0|(r=r-16|0)););ee(i)}if(t=1,!(f[e+140>>2]<=0))for(r=0;;){if(!(t=Ve(f[e+136>>2]+(r<<4)|0,e)))break e;if(!((0|(r=r+1|0))<f[e+140>>2]))break}}return t}function He(e,r){var t,i=0,a=0,o=0,s=0;return f[e+64>>2]||(i=_t(32),f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,a=f[e+64>>2],f[e+64>>2]=i,a&&((i=f[a>>2])&&(f[a+4>>2]=i,ee(i)),ee(a))),o=f[e+64>>2],a=(i=f[e+28>>2]-1|0)>>>0<=10?f[10180+(i<<2)>>2]:-1,a=i=p(a,n[e+24|0]),(o=Yr(o,0,Lr(i,t=i>>31,r,0),D))&&(i=f[e+64>>2],f[e>>2]=i,s=f[i+20>>2],f[e+8>>2]=f[i+16>>2],f[e+12>>2]=s,s=f[i+24>>2],i=f[i+28>>2],f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=a,f[e+44>>2]=t,f[e+16>>2]=s,f[e+20>>2]=i,f[e+80>>2]=r),o}function qe(e,r,t){var i=0,a=0,n=0,o=0,s=0,c=0,b=0;n=e+4|0;e:{if(e=f[e+4>>2])for(c=(i=(a=A[t+11|0])<<24>>24<0)?f[t>>2]:t,a=i?f[t+4>>2]:a;;){r:{t:{i:{a:{n:{o:if(s=(b=(t=(i=(t=A[e+27|0])<<24>>24<0)?f[e+20>>2]:t)>>>0<a>>>0)?t:a){if(o=e+16|0,!(o=Rr(c,i=i?f[o>>2]:o,s))){if(t>>>0>a>>>0)break o;break n}if((0|o)>=0)break n}else if(t>>>0<=a>>>0)break a;if(t=f[e>>2])break r;return f[r>>2]=e,e}if(t=Rr(i,c,s))break i}if(b)break t;break e}if((0|t)>=0)break e}if(n=e+4|0,!(t=f[e+4>>2]))break e;e=n}n=e,e=t}return f[r>>2]=n,n}return f[r>>2]=e,n}function Ke(e,r){var t=0;return t=f[r+4>>2],f[e>>2]=f[r>>2],f[e+4>>2]=t,t=f[r+60>>2],f[e+56>>2]=f[r+56>>2],f[e+60>>2]=t,t=f[r+52>>2],f[e+48>>2]=f[r+48>>2],f[e+52>>2]=t,t=f[r+44>>2],f[e+40>>2]=f[r+40>>2],f[e+44>>2]=t,t=f[r+36>>2],f[e+32>>2]=f[r+32>>2],f[e+36>>2]=t,t=f[r+28>>2],f[e+24>>2]=f[r+24>>2],f[e+28>>2]=t,t=f[r+20>>2],f[e+16>>2]=f[r+16>>2],f[e+20>>2]=t,t=f[r+12>>2],f[e+8>>2]=f[r+8>>2],f[e+12>>2]=t,f[e+88>>2]=0,f[e+64>>2]=0,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,n[e+77|0]=0,n[e+78|0]=0,n[e+79|0]=0,n[e+80|0]=0,n[e+81|0]=0,n[e+82|0]=0,n[e+83|0]=0,n[e+84|0]=0,e}function $e(e,r){var t,i=0,a=0,n=0,o=0,s=0,c=0,b=0;t=e+4|0;e:{r:if(e=f[e+4>>2]){for(c=(i=(a=A[r+11|0])<<24>>24<0)?f[r>>2]:r,n=i?f[r+4>>2]:a,i=t;(a=(o=(s=(b=(r=A[e+27|0])<<24>>24<0)?f[e+20>>2]:r)>>>0>n>>>0)?n:s)&&(r=e+16|0,r=Rr(b?f[r>>2]:r,c,a))||(r=n>>>0>s>>>0?-1:o),i=(0|r)<0?i:e,e=f[(r>>>29&4)+e>>2];);if((0|i)!=(0|t)){if(!((r=(a=(o=(e=A[i+27|0])<<24>>24<0)?f[i+20>>2]:e)>>>0<n>>>0?a:n)&&(e=i+16|0,e=Rr(c,o?f[e>>2]:e,r)))){if(a>>>0>n>>>0)break r;break e}if((0|e)>=0)break e}}i=t}return i}function er(e,r,t){var i=0,a=0,n=0,o=0;e:{if(!((0|r)<0|(0|t)<0)){if(!(r>>>0>1431655765)){if(ye(e,i=p(r,3),10256),ye(e+12|0,i,10260),i=f[e+24>>2],!(f[e+32>>2]-i>>2>>>0>=t>>>0)){if(t>>>0>=1073741824)break e;a=f[e+28>>2],n=(t=_t(n=t<<2))+n|0,o=(a=a-i|0)+t|0,(0|a)>0&&ge(t,i,a),f[e+32>>2]=n,f[e+28>>2]=o,f[e+24>>2]=t,i&&ee(i)}f[e+80>>2]=0,f[e+84>>2]=0,t=f[e+76>>2],f[e+76>>2]=0,t&&ee(t),f[e+68>>2]=0,f[e+72>>2]=0,e=f[(t=e- -64|0)>>2],f[t>>2]=0,e&&ee(e)}i=r>>>0<1431655766}return i}Hr(1326),T()}function rr(e){var r=0,t=0,i=0,a=0,o=0;if(i=f[e+8>>2],!A[i+84|0]&&!(!(r=f[e+16>>2])|!A[r+84|0]||(t=f[i+72>>2],a=f[i+68>>2],n[r+84|0]=0,t=t-a>>2,o=f[r+68>>2],t>>>0>(a=f[r+72>>2]-o>>2)>>>0?(ve(r+68|0,t-a|0,2032),i=f[e+8>>2]):t>>>0>=a>>>0||(f[r+72>>2]=o+(t<<2)),(r=A[i+84|0])||(0|(t=f[i+68>>2]))==f[i+72>>2])))if(a=f[f[e+16>>2]+68>>2],r)f[a>>2]=0;else for(r=0;f[(o=r<<2)+a>>2]=f[t+o>>2],r=r+1|0,t=f[i+68>>2],r>>>0<f[i+72>>2]-t>>2>>>0;);return f[e+16>>2]}function tr(e,r){var t=0,i=0,a=0,n=0,o=0,s=0;if((0|(t=f[e+4>>2]))!=f[e+8>>2])return i=f[r+4>>2],f[t>>2]=f[r>>2],f[t+4>>2]=i,f[t+8>>2]=f[r+8>>2],void(f[e+4>>2]=t+12);e:{if((t=1+(i=(0|(o=t-(n=f[e>>2])|0))/12|0)|0)>>>0<357913942){if(a=i<<1,a=i>>>0<178956970?t>>>0>a>>>0?t:a:357913941){if(a>>>0>=357913942)break e;t=_t(p(a,12))}else t=0;return i=t+p(i,12)|0,s=f[r+4>>2],f[i>>2]=f[r>>2],f[i+4>>2]=s,f[i+8>>2]=f[r+8>>2],r=i+p((0|o)/-12|0,12)|0,(0|o)>0&&ge(r,n,o),f[e+8>>2]=t+p(a,12),f[e+4>>2]=i+12,f[e>>2]=r,void(n&&ee(n))}oi(),T()}Hr(1326),T()}function ir(e,r){r|=0;var t=0,i=0,a=0,n=0;e:if((0|(t=f[216+(e|=0)>>2]))!=f[e+220>>2]){for(;;){r:if(!((0|(t=f[p(a,144)+t>>2]))<0||(i=f[e+4>>2],n=f[i+8>>2],(0|t)>=f[i+12>>2]-n>>2||(i=0,t=f[(t<<2)+n>>2],(0|yi[f[f[t>>2]+24>>2]](t))<=0)))){for(;;){if((0|yi[f[f[t>>2]+20>>2]](t,i))!=(0|r)){if(i=i+1|0,(0|yi[f[f[t>>2]+24>>2]](t))>(0|i))continue;break r}break}e=f[e+216>>2]+p(a,144)|0,a=A[e+100|0]?e+4|0:0;break e}if(a=a+1|0,t=f[e+216>>2],!(a>>>0<(f[e+220>>2]-t|0)/144>>>0))break}return 0}return 0|a}function ar(e,r,t,i,a,o,s){var c,b=0,u=0;if(V=c=V-16|0,(-1^r)-17>>>0>=t>>>0)return u=A[e+11|0]>>>7|0?f[e>>2]:e,r>>>0<2147483623?(f[c+8>>2]=r<<1,f[c+12>>2]=r+t,V=t=V-16|0,V=t+16|0,t=c+8|0,t=(t=f[(l[(b=c+12|0)>>2]<l[t>>2]?t:b)>>2])>>>0>=11?11==(0|(t=(b=t+16&-16)-1|0))?b:t:10):t=-18,t=_t(b=t+1|0),o&&qt(t,s,o),(i=i-a|0)&&qt(t+o|0,a+u|0,i),10!=(0|r)&&ee(u),f[e>>2]=t,f[e+8>>2]=-2147483648|b,r=e,e=i+o|0,f[r+4>>2]=e,n[c+7|0]=0,n[e+t|0]=A[c+7|0],void(V=c+16|0);si(),T()}function nr(e,r){r|=0;var t=0,i=0,a=0,n=0;if((0|(t=f[216+(e|=0)>>2]))!=f[e+220>>2])for(;;){e:if(!((0|(t=f[p(a,144)+t>>2]))<0||(i=f[e+4>>2],n=f[i+8>>2],(0|t)>=f[i+12>>2]-n>>2||(i=0,t=f[(t<<2)+n>>2],(0|yi[f[f[t>>2]+24>>2]](t))<=0)))){for(;;){if((0|yi[f[f[t>>2]+20>>2]](t,i))!=(0|r)){if(i=i+1|0,(0|yi[f[f[t>>2]+24>>2]](t))>(0|i))continue;break e}break}return 104+(f[e+216>>2]+p(a,144)|0)|0}if(a=a+1|0,t=f[e+216>>2],!(a>>>0<(f[e+220>>2]-t|0)/144>>>0))break}return e+184|0}function or(e,r){var t,i=0,a=0,n=0,o=0,s=0,c=0;V=t=V-16|0;e:{if(!(f[e+8>>2]<<5>>>0>=r>>>0)){if(f[t+8>>2]=0,f[t>>2]=0,f[t+4>>2]=0,(0|r)<0)break e;a=_t((o=1+(r-1>>>5|0)|0)<<2),f[t+8>>2]=o,f[t>>2]=a,n=f[e>>2],r=f[e+4>>2],f[t+4>>2]=r,f[((r>>>0<33?0:r-1>>>5|0)<<2)+a>>2]=0,(0|r)<=0||(c=Se(a,n,i=(s=r>>>5|0)<<2),(0|(r=r-(s<<5)|0))<=0||(r=-1>>>32-r|0,f[(i=i+c|0)>>2]=f[i>>2]&(-1^r)|r&f[(s<<2)+n>>2])),f[e+8>>2]=o,f[e>>2]=a,n&&ee(n)}return void(V=t+16|0)}oi(),T()}function fr(e){var r,t=0,i=0;if(f[(e|=0)>>2]=10332,(t=f[e+68>>2])&&(f[e+72>>2]=t,ee(t)),(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),(t=f[e+44>>2])&&(f[e+48>>2]=t,ee(t)),(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),(t=f[e+20>>2])&&(f[e+24>>2]=t,ee(t)),r=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&Jr(t),(0|r)!=(0|i););t=f[e+8>>2]}f[e+12>>2]=r,ee(t)}return t=f[e+4>>2],f[e+4>>2]=0,t&&Vr(t),0|e}function sr(e,r){var t=0,i=0,a=0,n=0,o=0,s=0,c=0;if((a=f[e+8>>2])-(t=f[e+4>>2])>>2>>>0>=r>>>0)return r&&(t=Je(t,0,r<<=2)+r|0),void(f[e+4>>2]=t);e:{if((i=(s=(o=t-(n=f[e>>2])|0)>>2)+r|0)>>>0<1073741824){if(t=0,c=(a=a-n|0)>>1,i=a>>2>>>0<536870911?i>>>0>c>>>0?i:c:1073741823){if(i>>>0>=1073741824)break e;t=_t(i<<2)}return r=Je((s<<2)+t|0,0,r<<=2)+r|0,(0|o)>0&&ge(t,n,o),f[e+8>>2]=(i<<2)+t,f[e+4>>2]=r,f[e>>2]=t,void(n&&ee(n))}oi(),T()}Hr(1326),T()}function cr(e,r){var t=0,i=0,a=0,n=0,o=0,s=0,c=0;if((a=f[e+8>>2])-(t=f[e+4>>2])>>3>>>0>=r>>>0)return r&&(t=Je(t,0,r<<=3)+r|0),void(f[e+4>>2]=t);e:{if((i=(s=(o=t-(n=f[e>>2])|0)>>3)+r|0)>>>0<536870912){if(t=0,c=(a=a-n|0)>>2,i=a>>3>>>0<268435455?i>>>0>c>>>0?i:c:536870911){if(i>>>0>=536870912)break e;t=_t(i<<3)}return r=Je((s<<3)+t|0,0,r<<=3)+r|0,(0|o)>0&&ge(t,n,o),f[e+8>>2]=(i<<3)+t,f[e+4>>2]=r,f[e>>2]=t,void(n&&ee(n))}oi(),T()}Hr(1326),T()}function Ar(e,r){var t,i=0,a=0,n=0,o=0,s=0;if(t=f[e>>2],(e=f[t+4>>2])>>>0<(i=f[t+8>>2])>>>0)return f[e>>2]=f[r>>2],void(f[t+4>>2]=e+4);e:{if((e=1+(a=(o=e-(n=f[t>>2])|0)>>2)|0)>>>0<1073741824){if(s=a<<2,a=(i=i-n|0)>>1,i=i>>2>>>0<536870911?e>>>0>a>>>0?e:a:1073741823){if(i>>>0>=1073741824)break e;e=_t(i<<2)}else e=0;return f[(a=s+e|0)>>2]=f[r>>2],(0|o)>0&&ge(e,n,o),f[t+8>>2]=e+(i<<2),f[t+4>>2]=a+4,f[t>>2]=e,void(n&&ee(n))}oi(),T()}Hr(1326),T()}function br(e,r){var t=0,i=0,a=0,n=0,o=0,s=0;e:{r:{if((n=(t=f[e+4>>2])-(a=f[e>>2])|0)>>>0<r>>>0){if((o=r-n|0)>>>0<=(i=f[e+8>>2])-t>>>0)return o&&(t=Je(t,0,o)+o|0),void(f[e+4>>2]=t);if((0|r)<0)break e;if(t=0,s=(i=i-a|0)<<1,(i=i>>>0<1073741823?r>>>0>s>>>0?r:s:2147483647)&&(t=_t(i)),Je(t+n|0,0,o),(0|n)>0&&ge(t,a,n),f[e+8>>2]=t+i,f[e+4>>2]=r+t,f[e>>2]=t,!a)break r;return void ee(a)}r>>>0>=n>>>0||(f[e+4>>2]=r+a)}return}oi(),T()}function lr(e,r){var t=0,i=0,a=0,n=0,o=0,s=0;if((a=f[e+8>>2])-(t=f[e+4>>2])>>1>>>0>=r>>>0)return r&&(t=Je(t,0,r<<=1)+r|0),void(f[e+4>>2]=t);e:{if((0|(i=(s=(o=t-(n=f[e>>2])|0)>>1)+r|0))>=0){if(t=0,i=(a=a-n|0)>>1>>>0<1073741823?i>>>0>a>>>0?i:a:2147483647){if((0|i)<0)break e;t=_t(i<<1)}return r=Je((s<<1)+t|0,0,r<<=1)+r|0,(0|o)>0&&ge(t,n,o),f[e+8>>2]=(i<<1)+t,f[e+4>>2]=r,f[e>>2]=t,void(n&&ee(n))}oi(),T()}Hr(1326),T()}function ur(e){var r=0,t=0,i=0,a=0,n=0;if((0|(r=f[e+4>>2]))!=f[e+8>>2])return f[r>>2]=f[2088],void(f[e+4>>2]=r+4);e:{if((r=1+(i=(n=r-(a=f[e>>2])|0)>>2)|0)>>>0<1073741824){if(t=n>>1,t=i>>>0<536870911?r>>>0>t>>>0?r:t:1073741823){if(t>>>0>=1073741824)break e;r=_t(t<<2)}else r=0;return f[(i=r+(i<<2)|0)>>2]=f[2088],(0|n)>0&&ge(r,a,n),f[e+8>>2]=r+(t<<2),f[e+4>>2]=i+4,f[e>>2]=r,void(a&&ee(a))}oi(),T()}Hr(1326),T()}function _r(e,r){var t=0,i=0,a=0,n=0;i=f[e+12>>2],(t=f[e+16>>2]-i>>2)>>>0<r>>>0?sr(e+12|0,r-t|0):r>>>0>=t>>>0||(f[e+16>>2]=i+(r<<2));e:{if(t=f[e>>2],!(f[e+8>>2]-t>>2>>>0>=r>>>0)){if(r>>>0>=1073741824)break e;i=f[e+4>>2],a=(r=_t(a=r<<2))+a|0,n=(i=i-t|0)+r|0,(0|i)>0&&ge(r,t,i),f[e+8>>2]=a,f[e+4>>2]=n,f[e>>2]=r,t&&ee(t)}return}Hr(1326),T()}function pr(e,r,t){var i=0,a=0,o=0,s=0;e:if(!(e>>>0>10||(0|(i=f[t+20>>2]))>=(0|(a=f[t+12>>2]))&(o=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|a))){if(a=n[o+f[t>>2]|0],i=(o=o+1|0)?i:i+1|0,f[t+16>>2]=o,f[t+20>>2]=i,(0|a)<0){if(!pr(e+1|0,r,t))break e;t=f[r>>2],e=f[r+4>>2]<<7|t>>>25,t=127&a|t<<7}else e=0,t=255&a;f[r>>2]=t,f[r+4>>2]=e,s=1}return s}function kr(e,r,t){var i=0,a=0,o=0,s=0;e:if(!(e>>>0>10||(0|(i=f[t+20>>2]))>=(0|(a=f[t+12>>2]))&(o=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|a))){if(a=n[o+f[t>>2]|0],i=(o=o+1|0)?i:i+1|0,f[t+16>>2]=o,f[t+20>>2]=i,(0|a)<0){if(!kr(e+1|0,r,t))break e;t=f[r>>2],e=f[r+4>>2]<<7|t>>>25,t=127&a|t<<7}else e=0,t=255&a;f[r>>2]=t,f[r+4>>2]=e,s=1}return s}function dr(e,r,t,i){n[e+53|0]=1;e:if(f[e+4>>2]==(0|t)){n[e+52|0]=1;r:{if(!(t=f[e+16>>2])){if(f[e+36>>2]=1,f[e+24>>2]=i,f[e+16>>2]=r,1!=f[e+48>>2])break e;if(1==(0|i))break r;break e}if((0|r)==(0|t)){if(2==(0|(t=f[e+24>>2]))&&(f[e+24>>2]=i,t=i),1!=f[e+48>>2])break e;if(1==(0|t))break r;break e}f[e+36>>2]=f[e+36>>2]+1}n[e+54|0]=1}}function mr(e,r,t){r|=0,t|=0;var i,a=0;V=i=V-16|0,f[4+(e|=0)>>2]=r,r=f[r+64>>2],a=f[r>>2],r=f[r+4>>2],n[i+15|0]=0,Pe(e+24|0,(r-a>>2>>>0)/3|0,i+15|0),r=f[e+4>>2],a=f[r+56>>2],r=f[r+52>>2],n[i+14|0]=0,Pe(e+36|0,a-r>>2,i+14|0),r=f[t+12>>2],f[e+16>>2]=f[t+8>>2],f[e+20>>2]=r,r=f[t+4>>2],f[e+8>>2]=f[t>>2],f[e+12>>2]=r,V=i+16|0}function hr(e){f[e>>2]=0,f[e+4>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,n[e+24|0]=1,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+56>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+68>>2]=e}function yr(e,r){var t,i,a,n=0,s=0;f[e+144>>2]=r,n=f[32+(0|yi[f[f[r>>2]+32>>2]](r))>>2],t=f[n>>2]+f[n+16>>2]|0,s=f[32+(0|yi[f[f[r>>2]+32>>2]](r))>>2],n=(n=f[s+8>>2])-(s=f[s+16>>2])|0,i=e,a=b[f[32+(0|yi[f[f[r>>2]+32>>2]](r))>>2]+38>>1],o[i+38>>1]=a,f[e>>2]=t,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=n,f[e+12>>2]=0}function vr(e){var r;f[e>>2]=0,f[e+4>>2]=0,f[e+56>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[(r=e- -64|0)>>2]=0,f[r+4>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+60>>2]=e}function gr(e,r,t){var i=0,a=0,n=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=n=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(a=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[a+f[t>>2]|0],n=(a=a+1|0)?n:n+1|0,f[t+16>>2]=a,f[t+20>>2]=n,128&i){if(!gr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function wr(e,r,t){var i=0,a=0,n=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=n=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(a=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[a+f[t>>2]|0],n=(a=a+1|0)?n:n+1|0,f[t+16>>2]=a,f[t+20>>2]=n,128&i){if(!wr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Tr(e,r,t){var i=0,a=0,n=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=n=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(a=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[a+f[t>>2]|0],n=(a=a+1|0)?n:n+1|0,f[t+16>>2]=a,f[t+20>>2]=n,128&i){if(!Tr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Cr(e,r,t){var i=0,a=0,n=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=n=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(a=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[a+f[t>>2]|0],n=(a=a+1|0)?n:n+1|0,f[t+16>>2]=a,f[t+20>>2]=n,128&i){if(!Cr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Er(e,r,t){var i=0,a=0,n=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=n=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(a=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[a+f[t>>2]|0],n=(a=a+1|0)?n:n+1|0,f[t+16>>2]=a,f[t+20>>2]=n,128&i){if(!Er(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Nr(e,r,t){var i=0,a=0,n=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=n=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(a=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[a+f[t>>2]|0],n=(a=a+1|0)?n:n+1|0,f[t+16>>2]=a,f[t+20>>2]=n,128&i){if(!Nr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Gr(e,r,t){var i=0,a=0,n=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=n=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(a=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[a+f[t>>2]|0],n=(a=a+1|0)?n:n+1|0,f[t+16>>2]=a,f[t+20>>2]=n,128&i){if(!Gr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Rr(e,r,t){var i=0,a=0;e:{r:{if(t>>>0>=4){if(3&(e|r))break r;for(;;){if(f[e>>2]!=f[r>>2])break r;if(r=r+4|0,e=e+4|0,!((t=t-4|0)>>>0>3))break}}if(!t)break e}for(;;){if((0|(i=A[0|e]))==(0|(a=A[0|r]))){if(r=r+1|0,e=e+1|0,t=t-1|0)continue;break e}break}return i-a|0}return 0}function Vr(e){var r=0,t=0,i=0;if(e){if(i=f[e+24>>2]){if((0|(t=f[e+28>>2]))==(0|i))r=i;else{for(;r=f[(t=t-4|0)>>2],f[t>>2]=0,r&&(at(r+12|0,f[r+16>>2]),lt(r,f[r+4>>2]),ee(r)),(0|i)!=(0|t););r=f[e+24>>2]}f[e+28>>2]=i,ee(r)}at(e+12|0,f[e+16>>2]),lt(e,f[e+4>>2]),ee(e)}}function Dr(e){var r=0,t=0,i=0;e:{if(3&(r=e))for(;;){if(!A[0|r])break e;if(!(3&(r=r+1|0)))break}for(;t=r,r=r+4|0,!((-1^(i=f[t>>2]))&i-16843009&-2139062144););if(!(255&i))return t-e|0;for(;i=A[t+1|0],t=r=t+1|0,i;);}return r-e|0}function Mr(e,r,t){e|=0,r|=0;var i,a,n,o,s=0,c=0;return(o=f[8+(t|=0)>>2])>>>0>(a=f[t+16>>2])>>>0&(0|(s=n=f[t+12>>2]))>=(0|(i=f[t+20>>2]))|(0|i)<(0|s)&&(r=A[a+f[t>>2]|0],s=(c=a+1|0)?i:i+1|0,f[t+16>>2]=c,f[t+20>>2]=s,f[e+4>>2]=r),a>>>0<o>>>0&(0|i)<=(0|n)|(0|i)<(0|n)}function Ur(e,r,t){var i=0;if(!t)return f[e+4>>2]==f[r+4>>2];if((0|e)==(0|r))return 1;i=f[e+4>>2],e=A[0|i],t=f[r+4>>2];e:if(!(!e|(0|(r=A[0|t]))!=(0|e)))for(;;){if(r=A[t+1|0],!(e=A[i+1|0]))break e;if(t=t+1|0,i=i+1|0,(0|e)!=(0|r))break}return(0|e)==(0|r)}function Ir(e,r){var t=0,i=0,a=0,n=0;e:{if(t=f[e>>2],!(f[e+8>>2]-t>>2>>>0>=r>>>0)){if(r>>>0>=1073741824)break e;i=f[e+4>>2],a=(r=_t(a=r<<2))+a|0,n=(i=i-t|0)+r|0,(0|i)>0&&ge(r,t,i),f[e+8>>2]=a,f[e+4>>2]=n,f[e>>2]=r,t&&ee(t)}return}Hr(1326),T()}function Br(e){var r=0;e&&((r=f[e+76>>2])&&(f[e+80>>2]=r,ee(r)),(r=f[e- -64>>2])&&(f[e+68>>2]=r,ee(r)),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),(r=f[e+24>>2])&&(f[e+28>>2]=r,ee(r)),(r=f[e+12>>2])&&(f[e+16>>2]=r,ee(r)),(r=f[e>>2])&&(f[e+4>>2]=r,ee(r)),ee(e))}function Zr(e){var r=0;(r=f[e+84>>2])&&(f[e+88>>2]=r,ee(r)),(r=f[e+72>>2])&&(f[e+76>>2]=r,ee(r)),(r=f[e+52>>2])&&(f[e+56>>2]=r,ee(r)),(r=f[e+40>>2])&&(f[e+44>>2]=r,ee(r)),(r=f[e+28>>2])&&(f[e+32>>2]=r,ee(r)),(r=f[e+12>>2])&&ee(r),(e=f[e>>2])&&ee(e)}function Wr(e){var r,t=0,i=0;if((0|(t=f[e+4>>2]))!=(0|(r=f[e>>2])))for(;(i=f[t-12>>2])&&(f[t-8>>2]=i,ee(i)),(i=f[t-28>>2])&&(f[t-24>>2]=i,ee(i)),(i=f[t-40>>2])&&(f[t-36>>2]=i,ee(i)),Zr(t-140|0),(0|r)!=(0|(t=t-144|0)););f[e+4>>2]=r}function Fr(e,r,t){var i=0,a=0;e:{if(t>>>0<=10)n[(i=e)+11|0]=t;else{if(t>>>0>4294967279)break e;i=t>>>0>=11?11==(0|(i=(a=t+16&-16)-1|0))?a:i:10,i=_t(a=i+1|0),f[e>>2]=i,f[e+8>>2]=-2147483648|a,f[e+4>>2]=t}return void qt(i,r,t+1|0)}si(),T()}function xr(e,r,t){var i,a,n=0,o=0,s=0;for(V=i=(V=a=V-16|0)-16|0,r=r-e>>2;r;)f[i+12>>2]=e,n=r>>>1|0,f[i+12>>2]=f[i+12>>2]+(n<<2),s=(-1^n)+r|0,r=n,n=f[i+12>>2],r=(o=l[n>>2]<l[t>>2])?s:r,e=o?n+4|0:e;return V=i+16|0,V=a+16|0,e}function Sr(e,r){var t,i;return i=_t(40),f[i>>2]=-1,f[16+(t=i+8|0)>>2]=0,f[t+20>>2]=0,f[t+8>>2]=0,f[t>>2]=0,f[t+4>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,yi[f[f[e>>2]+16>>2]](e,i),e=f[r+88>>2],f[r+88>>2]=i,e&&((r=f[e+8>>2])&&(f[e+12>>2]=r,ee(r)),ee(e)),1}function jr(e){var r,t,i=0,a=0,n=0;return n=A[e+12|0],(a=f[e+8>>2])>>>0>4095||(0|(i=f[e+4>>2]))<=0||(i=i-1|0,f[e+4>>2]=i,a=A[i+f[e>>2]|0]|a<<8),i=p(n=0-n&255,a>>>8|0),t=(r=255&a)>>>0<n>>>0,f[e+8>>2]=t?i+r|0:a-(i+n|0)|0,t}function Or(e,r){return f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1804,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,f[e>>2]=2044,f[e+44>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+56>>2]=0,f[e+60>>2]=r,e}function Yr(e,r,t,i){if(r){if((0|i)<0)return 0;!i&f[e+4>>2]-f[e>>2]>>>0>=t>>>0||br(e,t),t&&Se(f[e>>2],r,t)}else{if((0|i)<0)return 0;br(e,t)}return r=f[e+28>>2],r=(t=f[e+24>>2]+1|0)?r:r+1|0,f[e+24>>2]=t,f[e+28>>2]=r,1}function Jr(e){var r=0,t=0;(e|=0)&&(r=f[e+88>>2],f[e+88>>2]=0,r&&((t=f[r+8>>2])&&(f[r+12>>2]=t,ee(t)),ee(r)),(r=f[e+68>>2])&&(f[e+72>>2]=r,ee(r)),r=f[e+64>>2],f[e+64>>2]=0,r&&((t=f[r>>2])&&(f[r+4>>2]=t,ee(t)),ee(r)),ee(e))}function Qr(e,r){var t,i=0,a=0;if((t=Dr(r))>>>0<4294967280){e:{if(t>>>0>=11)i=_t(a=t+16&-16),f[e+8>>2]=-2147483648|a,f[e>>2]=i,f[e+4>>2]=t;else if(n[e+11|0]=t,i=e,!t)break e;ge(i,r,t)}return n[t+i|0]=0,e}si(),T()}function Pr(e,r,t,i){var a,n=0,o=0;return a=(o=r^i)>>31,o>>=31,e=Te((e^=n=r>>31)-n|0,n=(r^n)-((e>>>0<n>>>0)+n|0)|0,(r=t^(e=i>>31))-e|0,(e^i)-((e>>>0>r>>>0)+e|0)|0)^o,D=(a^D)-((e>>>0<o>>>0)+a|0)|0,e-o|0}function zr(e,r,t){var i,a=0;V=i=V-16|0,(a=2147483647&f[e+8>>2])>>>0>t>>>0?(a=f[e>>2],f[e+4>>2]=t,qt(a,r,t),n[i+15|0]=0,n[t+a|0]=A[i+15|0]):ar(e,a-1|0,1+(t-a|0)|0,e=f[e+4>>2],e,t,r),V=i+16|0}function Lr(e,r,t,i){var a,n,o,f,s=0,c=0;return f=p(s=t>>>16|0,c=e>>>16|0),s=(65535&(c=((o=p(a=65535&t,n=65535&e))>>>16|0)+p(c,a)|0))+p(s,n)|0,D=(p(r,t)+f|0)+p(e,i)+(c>>>16)+(s>>>16)|0,65535&o|s<<16}function Xr(e,r,t){var i;if(!(i=f[e+16>>2]))return f[e+36>>2]=1,f[e+24>>2]=t,void(f[e+16>>2]=r);e:{if((0|r)==(0|i)){if(2!=f[e+24>>2])break e;return void(f[e+24>>2]=t)}n[e+54|0]=1,f[e+24>>2]=2,f[e+36>>2]=f[e+36>>2]+1}}function Hr(e){var r,t,i,a,n;r=0|R(8),f[r>>2]=11024,f[r>>2]=11068,i=_t((t=Dr(e))+13|0),f[i+8>>2]=0,f[i+4>>2]=t,f[i>>2]=t,a=r,n=ge(i+12|0,e,t+1|0),f[a+4>>2]=n,f[r>>2]=11116,G(0|r,11148,13),T()}function qr(e,r,t){var i=0;return(0|(i=e+4|0))==(0|(e=$e(e,r)))?0:((0|(r=f[e+32>>2]))!=(0|(i=f[e+28>>2]))&&(Re(t,r-i|0),ge(ut(t),t=f[e+28>>2],f[e+32>>2]-t|0)),(0|r)!=(0|i))}function Kr(e,r){var t,i=0;if(t=f[e+8>>2],e=f[e+12>>2]-t|0)for(i=(e>>=2)>>>0>1?e:1,e=0;;){if(f[f[(e<<2)+t>>2]+60>>2]==(0|r))return e;if((0|i)==(0|(e=e+1|0)))break}return-1}function $r(e){return f[e+8>>2]=0,f[e+12>>2]=0,f[e>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+28>>2]=9,n[e+24|0]=1,f[e+56>>2]=-1,f[e+60>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,e}function et(e){f[e+40>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=10064,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,o[e+36>>1]=0,f[e+44>>2]=0,f[e>>2]=8108}function rt(e,r,t){var i=0;return r&&(r=0,!pr(1,t,e))||(n[e+36|0]=1,f[e+32>>2]=0,t=(r=f[e+16>>2])+f[e>>2]|0,f[e+24>>2]=t,i=e,e=f[e+8>>2],f[i+28>>2]=t+(e-r|0),r=1),r}function tt(e){var r,t;return(e=(r=f[2853])+(t=e+3&-4)|0)>>>0<=r>>>0&&t||e>>>0>vi()<<16>>>0&&!(0|N(0|e))?(f[2879]=48,-1):(f[2853]=e,r)}function it(e,r,t){var i;V=i=V-16|0,t>>>0<=10?(n[e+11|0]=t,qt(e,r,t),n[i+15|0]=0,n[e+t|0]=A[i+15|0]):ar(e,10,t-10|0,e=A[e+11|0],e,t,r),V=i+16|0}function at(e,r){r&&(at(e,f[r>>2]),at(e,f[r+4>>2]),e=f[r+28>>2],f[r+28>>2]=0,e&&(at(e+12|0,f[e+16>>2]),lt(e,f[e+4>>2]),ee(e)),n[r+27|0]<0&&ee(f[r+16>>2]),ee(r))}function nt(e){var r=0;return!f[(e|=0)- -64>>2]|!f[e+68>>2]|!f[e+44>>2]|!f[e+48>>2]||!f[e+52>>2]|!f[e+56>>2]||(r=-1!=f[e+92>>2]),0|r}function ot(e){var r=0;return f[(e|=0)>>2]=2164,r=f[e+20>>2],f[e+20>>2]=0,r&&yi[f[f[r>>2]+4>>2]](r),f[e>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),0|e}function ft(e){var r=0;return!f[48+(e|=0)>>2]|!f[e+52>>2]|!f[e+28>>2]|!f[e+32>>2]||!f[e+36>>2]|!f[e+40>>2]||(r=-1!=f[e+76>>2]),0|r}function st(e){var r=0;return f[(e|=0)>>2]=8652,(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=8904,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),0|e}function ct(e){var r=0;f[(e|=0)>>2]=2164,r=f[e+20>>2],f[e+20>>2]=0,r&&yi[f[f[r>>2]+4>>2]](r),f[e>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),ee(e)}function At(e,r){var t=0;return t=-1,-1==(0|r)|(0|r)>4||(r=p(r,12)+e|0,e=f[r+20>>2],(f[r+24>>2]-e|0)<=0||(t=f[e>>2])),t}function bt(e,r,t,i,a,o,s){f[e>>2]=0,f[e+56>>2]=r,f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=o,f[e+44>>2]=s,n[e+32|0]=a,f[e+28>>2]=i,n[e+24|0]=t}function lt(e,r){r&&(lt(e,f[r>>2]),lt(e,f[r+4>>2]),(e=f[r+28>>2])&&(f[r+32>>2]=e,ee(e)),n[r+27|0]<0&&ee(f[r+16>>2]),ee(r))}function ut(e){return(A[e+11|0]>>>7|0?f[e+4>>2]:A[e+11|0])||(di(),T()),A[e+11|0]>>>7|0&&(e=f[e>>2]),e}function _t(e){var r=0;e=e||1;e:{for(;;){if(r=U(e))break e;if(!(r=f[2880]))break;yi[0|r]()}C(),T()}return r}function pt(e,r){r&&(pt(e,f[r>>2]),pt(e,f[r+4>>2]),n[r+39|0]<0&&ee(f[r+28>>2]),n[r+27|0]<0&&ee(f[r+16>>2]),ee(r))}function kt(e){var r,t;return f[(e|=0)>>2]=11068,r=f[e+4>>2]-12|0,t=f[r+8>>2]-1|0,f[r+8>>2]=t,(0|t)<0&&ee(r),0|e}function dt(e,r){e|=0;var t=0;switch(0|(r|=0)){case 1:r=1;case 0:f[e+28>>2]=r,t=1}return 0|t}function mt(e,r,t){return r|=0,t|=0,f[4+(e|=0)>>2]=r,r=f[f[f[r+4>>2]+8>>2]+(t<<2)>>2],f[e+12>>2]=t,f[e+8>>2]=r,1}function ht(e){var r=0;return!f[60+(e|=0)>>2]|!f[e+44>>2]|!f[e+48>>2]|!f[e+52>>2]||(r=0!=f[e+56>>2]),0|r}function yt(e,r){var t,i;br(e,r),t=r=f[e+28>>2],i=r+1|0,r=f[e+24>>2]+1|0,f[e+24>>2]=r,f[e+28>>2]=r?t:i}function vt(e){var r=0;return!f[52+(e|=0)>>2]|!f[e+44>>2]|!f[e+48>>2]||(r=0!=f[e+56>>2]),0|r}function gt(e,r){e|=0;var t=0;return f[56+(r|=0)>>2]|!r|3!=A[r+24|0]||(f[e+60>>2]=r,t=1),0|t}function wt(e,r){e|=0;var t=0;return f[56+(r|=0)>>2]|3!=A[r+24|0]||(f[e- -64>>2]=r,t=1),0|t}function Tt(e,r){e|=0;var t=0;return f[56+(r|=0)>>2]|3!=A[r+24|0]||(f[e+48>>2]=r,t=1),0|t}function Ct(e){var r;f[(e|=0)>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)}function Et(e,r){r&&(Et(e,f[r>>2]),Et(e,f[r+4>>2]),pt(r+20|0,f[r+24>>2]),ee(r))}function Nt(e){for(var r=0;e;)e&=e-1,r=r+1|0;return r}function Gt(){var e;return e=_t(12),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,0|e}function Rt(e){var r=0;(e|=0)&&((r=f[e>>2])&&(f[e+4>>2]=r,ee(r)),ee(e))}function Vt(e){var r;return(-1>>>(r=31&e)&-2)<<r|(-1<<(e=0-e&31)&-2)>>>e}function Dt(e,r){return r|=0,0|yi[f[f[(e|=0)>>2]+12>>2]](e,r)}function Mt(e,r){return r|=0,f[f[(e|=0)>>2]+(r<<2)>>2]}function Ut(e,r,t){return 0|oe(e|=0,r|=0,t|=0)}function It(e){return e?31-m(e-1^e)|0:32}function Bt(e){return f[e>>2]=10332,Je(e+4|0,0,80),e}function Zt(e){return f[12+(e|=0)>>2]-f[e+8>>2]>>2}function Wt(e){(e|=0)&&yi[f[f[e>>2]+4>>2]](e)}function Ft(e,r){return r|=0,f[4+(e|=0)>>2]=r,1}function xt(e){return f[4+(e|=0)>>2]-f[e>>2]>>1}function St(e){return f[4+(e|=0)>>2]-f[e>>2]>>2}function jt(e){return f[4+(e|=0)>>2]-f[e>>2]|0}function Ot(e){return f[28+(e|=0)>>2]}function Yt(e){return f[80+(e|=0)>>2]}function Jt(e,r){return 1}function Qt(e,r){return-1}function Pt(e){return f[8+(e|=0)>>2]}function zt(e){return f[4+(e|=0)>>2]}function Lt(e,r){return 6}function Xt(e,r){return 0}function Ht(e){return f[(e|=0)>>2]}function qt(e,r,t){t&&ge(e,r,t)}function Kt(e){(e|=0)&&ee(e)}function $t(e){return 0|e}function ei(e){return 1}function ri(e){return 4}function ti(e){return 5}function ii(e){return 0}function ai(e){return 2}function ni(e){return 6}function oi(){Hr(1266),T()}function fi(e){ee(e|=0)}function si(){Hr(1313),T()}function ci(e){T()}function Ai(){return-1}function bi(){return 1}function li(){di(),T()}function ui(){return 0}function _i(){return 3}function pi(){return 4}function ki(){return 2}function di(){C(),T()}function mi(e){}a(r=A,1028,"YAQAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAABALAAAOAQAAPwGAAAAAAAA0AQAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAAAoAAAAXAAAAGAAAAE41ZHJhY28zMEF0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybUUAAAAAQCwAAKQEAAD8BgAAX19uZXh0X3ByaW1lIG92ZXJmbG93AHZlY3RvcgBzdGQ6OmV4Y2VwdGlvbgBza2lwX2F0dHJpYnV0ZV90cmFuc2Zvcm0AYmFzaWNfc3RyaW5nAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUARFJBQ08AVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZGVjb2Rlci4AVW5zdXBwb3J0ZWQgbWlub3IgdmVyc2lvbi4AVW5zdXBwb3J0ZWQgbWFqb3IgdmVyc2lvbi4ASW5wdXQgaXMgbm90IGEgbWVzaC4AVW5zdXBwb3J0ZWQgZ2VvbWV0cnkgdHlwZS4ATm90IGEgRHJhY28gZmlsZS4AVW5zdXBwb3J0ZWQgZW5jb2RpbmcgbWV0aG9kLgBGYWlsZWQgdG8gZGVjb2RlIG1ldGFkYXRhLgBGYWlsZWQgdG8gZGVjb2RlIGdlb21ldHJ5IGRhdGEuAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUAABgsAADeBgAAAAAAAIgHAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAABONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAAAAABgsAABYBwAAQCwAADwHAACABwAAAAAAAOgHAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAABONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlckUAAAAAGCwAAMAHAAD/////AAAAAGAIAAAuAAAALwAAABsAAAAwAAAAMQAAAB4AAAAfAAAAIAAAADIAAAAzAAAANAAAADUAAAA2AAAATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJzQ29udHJvbGxlckUAQCwAADAIAACIBwAAAAAAANQIAAA3AAAAOAAAADkAAAAoAAAAKQAAACoAAAA6AAAALAAAADsAAAA8AAAAPQAAAD4AAAA/AAAATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVEZWNvZGVyRQBALAAAqAgAAOgHAAAAAAAAYAsAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWREZWNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZURlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFABgsAAAECwAAQCwAANkKAAAoCwAAQCwAAKUKAAAwCwAAQCwAAFEKAAA8CwAAQCwAALsJAABICwAAQCwAABgJAABUCwAAAAAAAFQLAABAAAAATAAAACIAAABDAAAAIgAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAACIAAAAAAAAASAsAAEAAAABNAAAAIgAAAEMAAAAiAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAAIgAAAAAAAADIDAAATgAAAE8AAABQAAAAQwAAAFEAAABFAAAARgAAAEcAAABIAAAASQAAAFIAAABTAAAATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAQCwAABQMAABUCwAAAAAAALQNAABUAAAAVQAAAFYAAABDAAAAVwAAAFgAAABZAAAAWgAAAEgAAABJAAAAWwAAAFwAAABONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAABALAAADA0AAFQLAAAAAAAAoA4AAF0AAABeAAAAXwAAAEMAAABgAAAAYQAAAGIAAABjAAAASAAAAEkAAABkAAAAZQAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAAEAsAAD4DQAAVAsAAAAAAAAoEAAAZgAAAGcAAABoAAAAaQAAAGoAAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAABgsAABzDwAAQCwAAMgOAAAgEAAAAAAAACAQAABmAAAAawAAACIAAABpAAAAIgAAAAAAAAC0EQAAQAAAAGwAAABtAAAAQwAAAG4AAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABvAAAATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAQCwAAB4RAABICwAAQCwAAIgQAACoEQAAAAAAAKgRAABAAAAAcAAAACIAAABDAAAAIgAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAACIAAAAAAAAA2BIAAHEAAAByAAAAcwAAAEMAAAB0AAAARQAAAEYAAABHAAAASAAAAEkAAAB1AAAAdgAAAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAEAsAAAwEgAAqBEAAAAAAAC4EwAAdwAAAHgAAAB5AAAAQwAAAHoAAAB7AAAAfAAAAH0AAABIAAAASQAAAH4AAAB/AAAATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAQCwAABwTAACoEQAAAAAAAJQUAACAAAAAgQAAAIIAAABDAAAAgwAAAIQAAACFAAAAhgAAAEgAAABJAAAAhwAAAIgAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAEAsAAD8EwAAqBEAAAAAAAAAFgAAiQAAAIoAAACLAAAAjAAAAI0AAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAGCwAAFoVAABALAAAvBQAAPgVAAAAAAAA+BUAAIkAAACOAAAAIgAAAIwAAAAiAAAAAAAAALwWAABAAAAAjwAAAJAAAABDAAAAkQAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAJIAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAAAAAEAsAABgFgAASAsAAAAAAAAwFwAAkwAAAJQAAACVAAAAKAAAACkAAACWAAAAOgAAACwAAAA7AAAAlwAAAJgAAACZAAAAmgAAAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVEZWNvZGVyRQAAQCwAAAQXAADUCAAAAAAAAGQZAACbAAAAnAAAAJ0AAACeAAAAnwAAAKAAAAChAAAAogAAAKMAAACkAAAApQAAAKYAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQAAQCwAAN8YAAA8CwAAQCwAADEYAABMGQAAQCwAAHQXAABYGQAAAAAAABwbAACnAAAAqAAAAKkAAACqAAAAqwAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAGCwAAE8aAABALAAAjBkAABQbAAAAAAAAwBwAAKwAAACtAAAArgAAAJ4AAACvAAAAsAAAALEAAACyAAAAowAAAKQAAACzAAAAtAAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAABALAAAEBwAAEwZAABALAAAYBsAALQcAAAAAAAAXB4AALUAAAC2AAAAtwAAALgAAAC5AAAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFABgsAACeHQAAQCwAAOgcAABUHgAAAAAAABQfAAC6AAAAuwAAALwAAACeAAAAvQAAAL4AAAC/AAAAwAAAAKMAAACkAAAAwQAAAMIAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAAAAAEAsAACgHgAATBkAAAAAAACYHwAAwwAAAMQAAADFAAAAKAAAACkAAADGAAAAOgAAACwAAAA7AAAAxwAAAD0AAAA+AAAAyAAAAMkAAADKAAAATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAAAAAEAsAABkHwAA1AgAAAAAAAD4HwAAywAAAMwAAADNAAAAzgAAACIAAADPAAAA0AAAANEAAADSAAAA0wAAANQAAADVAAAAIgAAAE41ZHJhY28xMU1lc2hEZWNvZGVyRQAAAEAsAADgHwAAvCcAAAAAAABkIAAA1gAAANcAAADNAAAA2AAAANkAAADPAAAA0AAAANEAAADaAAAA2wAAANwAAADdAAAA3gAAAE41ZHJhY28yMk1lc2hFZGdlYnJlYWtlckRlY29kZXJFAAAAAEAsAABAIAAA+B8AAAAAAABYIQAA3wAAAOAAAADhAAAA4gAAAOMAAADkAAAA5QAAAOYAAADnAAAA6AAAAP////8AAAAAuCEAAOkAAADqAAAA6wAAAOwAAADtAAAA7gAAAO8AAADwAAAA8QAAAPIAAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbERlY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VicmVha2VyRGVjb2RlckltcGxJbnRlcmZhY2VFAAAAGCwAACAhAABALAAA1CAAAFAhAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAABALAAAZCEAAFAhAAAAAAAAtCIAAPMAAAD0AAAA9QAAAE41ZHJhY28xOURlcHRoRmlyc3RUcmF2ZXJzZXJJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUAGCwAAEUiAABALAAA2CEAAKwiAAAAAAAArCIAAPYAAAD3AAAA9Q=="),a(r,8932,"AQAAAAMAAAAFAAAABwAAAAAAAAC4IwAA+AAAAPkAAAD6AAAA+wAAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUAAAAAGCwAAJMjAABALAAADCMAALAjAAD/////AAAAAKgkAAD8AAAA/QAAAP4AAABONWRyYWNvMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQAAGCwAAEUkAABALAAA3CMAAKAkAAAAAAAAoCQAAP8AAAAAAQAA/gAAAAAAAABgJQAAAQEAAAIBAAADAQAABAEAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAAAAQCwAAOAkAACwIwAAAAAAAOAlAAAFAQAABgEAAP4AAABONWRyYWNvMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBALAAAgCUAAKAkAAAAAAAAkCYAAAcBAAAIAQAACQEAAAoBAABONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMl9FRUVFRUUAAEAsAAAEJgAAsCM="),a(r,9892,"/CYAAMsAAAALAQAAzQAAAM4AAAAMAQAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAAA0BAABONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAEAsAADcJgAA+B8AAAAAAAA8JwAADgEAAA8BAAAQAQAAEQEAAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUAAABALAAAICcAALAjAAAAAAAAvCcAAMsAAAASAQAAEwEAAM4AAAAiAAAAFAEAANAAAADRAAAA0g=="),a(r,10112,"RmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ATjVkcmFjbzE3UG9pbnRDbG91ZERlY29kZXJFAAAAGCwAAJ4nAAABAAAAAQAAAAIAAAACAAAABAAAAAQAAAAIAAAACAAAAAQAAAAIAAAAAQ=="),a(r,10243,"wAAAAMAAAADAAAAAwP//////////AAAAAEAoAAAVAQAAFgEAABcBAAAYAQAATjVkcmFjbzRNZXNoRQAAAEAsAAAwKAAAhCgAAP////8AAAAAAAAAAIQoAAAZAQAAGgEAABsBAAAcAQAATjVkcmFjbzEwUG9pbnRDbG91ZEUAAAAAGCwAAGwo"),a(r,10388,"AgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OQ=="),a(r,10980,"CgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUAypo7AAAAACwrAAAdAQAAHgEAAB8BAABTdDlleGNlcHRpb24AAAAAGCwAABwrAAAAAAAAWCsAAA0AAAAgAQAAIQEAAFN0MTFsb2dpY19lcnJvcgBALAAASCsAACwrAAAAAAAAjCsAAA0AAAAiAQAAIQEAAFN0MTJsZW5ndGhfZXJyb3IAAAAAQCwAAHgrAABYKwAAU3Q5dHlwZV9pbmZvAAAAABgsAACYKwAATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAAAAAQCwAALArAACoKwAATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAAAAQCwAAOArAADUKwAAAAAAAAQsAAAjAQAAJAEAACUBAAAmAQAAJwEAACgBAAApAQAAKgEAAAAAAACILAAAIwEAACsBAAAlAQAAJgEAACcBAAAsAQAALQEAAC4BAABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UAAAAAQCwAAGAsAAAELA=="),a(r,11413,"L1A=");var hi,yi=(hi=[null,$t,fi,ai,function(e,r){e|=0;var t=0;return!(r=f[88+(r|=0)>>2])|2!=f[r>>2]||(t=e,e=f[r+8>>2],f[t+4>>2]=A[0|e]|A[e+1|0]<<8|A[e+2|0]<<16|A[e+3|0]<<24,t=1),0|t},function(e,r){e|=0;var t,i=0;f[(r|=0)>>2]=2,i=f[r+8>>2],(t=f[r+12>>2]-i|0)>>>0<=4294967291&&(yt(r+8|0,t+4|0),i=f[r+8>>2]),r=i+t|0,e=f[e+4>>2],n[0|r]=e,n[r+1|0]=e>>>8,n[r+2|0]=e>>>16,n[r+3|0]=e>>>24},function(e,r,t,i){e|=0,r|=0,t|=0;var a,n=0,o=0,s=0,c=0,b=0,l=0,_=0;if(s=f[80+(i|=0)>>2],V=a=V-48|0,!((e=f[e+4>>2])-31>>>0<4294967267))if(c=f[f[i>>2]>>2]+f[i+48>>2]|0,f[a+16>>2]=e,e=-1<<e,f[a+20>>2]=-1^e,e=-2-e|0,f[a+24>>2]=e,f[a+32>>2]=(0|e)/2,u[a+28>>2]=k(2)/k(0|e),(0|(o=f[t>>2]))==f[t+4>>2])if(s)for(i=0,e=0;b=a+36|0,t=f[f[r>>2]>>2],n=f[r+40>>2],ge(b,t+(o=f[r+48>>2]+Lr(n,f[r+44>>2],A[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],0)|0)|0,n),Ie(a+16|0,b,a+12|0,a+8|0),f[(t=i<<2)+c>>2]=f[a+12>>2],f[(4|t)+c>>2]=f[a+8>>2],i=i+2|0,n=1,(0|s)!=(0|(e=e+1|0)););else n=1;else for(e=0,i=0;n=f[(i<<2)+o>>2],s=a+36|0,b=f[f[r>>2]>>2],_=f[r+48>>2],o=f[r+44>>2],l=f[r+40>>2],A[r+84|0]||(n=f[f[r+68>>2]+(n<<2)>>2]),ge(s,(n=Lr(l,o,n,0)+_|0)+b|0,l),Ie(a+16|0,s,a+12|0,a+8|0),f[(o=e<<2)+c>>2]=f[a+12>>2],f[(4|o)+c>>2]=f[a+8>>2],n=1,e=e+2|0,i=i+1|0,o=f[t>>2],i>>>0<f[t+4>>2]-o>>2>>>0;);return V=a+48|0,0|n},Ue,function(e,r){r|=0;var t,i=0;return V=t=V-16|0,-1!=(0|(e=f[4+(e|=0)>>2]))&&(n[t+15|0]=e,i=f[r+20>>2],!!f[r+16>>2]&(0|i)>=0|(0|i)>0||pe(r,f[r+4>>2],t+15|0,t+16|0)),V=t+16|0,-1!=(0|e)|0},Mr,function(e,r,t){var i,a,o,s,c,A;return r|=0,t|=0,V=i=V+-64|0,a=0|yi[f[f[(e|=0)>>2]+44>>2]](e,r),e=0|yi[f[f[e>>2]+40>>2]](e,r),o=$r(i),s=f[r+56>>2],c=a<<24>>24,A=e,e=(e=e-1|0)>>>0<=10?f[10180+(e<<2)>>2]:-1,bt(o,s,c,A,0,e=p(e,a),e>>31),He(e=Ke(_t(96),o),t),n[e+84|0]=1,f[e+72>>2]=f[e+68>>2],f[e+60>>2]=f[r+60>>2],V=i- -64|0,0|e},Lt,function(e,r){return 2},kt,function(e){var r;return f[(e|=0)>>2]=1140,(r=f[e+8>>2])&&(f[e+12>>2]=r,ee(r)),0|e},function(e){var r;f[(e|=0)>>2]=1140,(r=f[e+8>>2])&&(f[e+12>>2]=r,ee(r)),ee(e)},ei,function(e,r){e|=0;var t=0,i=0,a=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0;if(!(!(t=f[88+(r|=0)>>2])|1!=f[t>>2])){if(i=f[t+8>>2],f[e+4>>2]=A[0|i]|A[i+1|0]<<8|A[i+2|0]<<16|A[i+3|0]<<24,i=n[r+24|0],a=f[e+8>>2],i>>>0>(o=f[e+12>>2]-a>>2)>>>0?(sr(e+8|0,i-o|0),i=n[r+24|0],a=f[e+8>>2]):i>>>0>=o>>>0||(f[e+12>>2]=(i<<2)+a),u=1,o=f[t+8>>2],(0|i)<=0)r=4;else{if(c=3&i,i-1>>>0<3)r=4,i=0;else for(_=-4&i,i=0,r=4;t=r+o|0,f[(s=i<<2)+a>>2]=A[0|t]|A[t+1|0]<<8|A[t+2|0]<<16|A[t+3|0]<<24,f[(4|s)+a>>2]=A[t+4|0]|A[t+5|0]<<8|A[t+6|0]<<16|A[t+7|0]<<24,f[(8|s)+a>>2]=A[t+8|0]|A[t+9|0]<<8|A[t+10|0]<<16|A[t+11|0]<<24,f[(12|s)+a>>2]=A[t+12|0]|A[t+13|0]<<8|A[t+14|0]<<16|A[t+15|0]<<24,i=i+4|0,r=r+16|0,(0|_)!=(0|(b=b+4|0)););if(c)for(;t=r+o|0,f[(i<<2)+a>>2]=A[0|t]|A[t+1|0]<<8|A[t+2|0]<<16|A[t+3|0]<<24,i=i+1|0,r=r+4|0,(0|(l=l+1|0))!=(0|c););}t=e,e=r+o|0,f[t+20>>2]=A[0|e]|A[e+1|0]<<8|A[e+2|0]<<16|A[e+3|0]<<24}return 0|u},function(e,r){e|=0;var t,i=0,a=0,o=0,s=0;if(f[(r|=0)>>2]=1,t=r+8|0,i=f[r+8>>2],(a=f[r+12>>2]-i|0)>>>0<=4294967291&&(yt(t,a+4|0),i=f[t>>2]),i=i+a|0,a=f[e+4>>2],n[0|i]=a,n[i+1|0]=a>>>8,n[i+2|0]=a>>>16,n[i+3|0]=a>>>24,(0|(i=f[e+8>>2]))!=f[e+12>>2])for(a=0;s=(a<<2)+i|0,i=f[r+8>>2],(o=f[r+12>>2]-i|0)>>>0<=4294967291&&(yt(t,o+4|0),i=f[t>>2]),i=i+o|0,o=f[s>>2],n[0|i]=o,n[i+1|0]=o>>>8,n[i+2|0]=o>>>16,n[i+3|0]=o>>>24,a=a+1|0,i=f[e+8>>2],a>>>0<f[e+12>>2]-i>>2>>>0;);(i=(i=f[r+12>>2])-(r=f[r+8>>2])|0)>>>0<=4294967291&&(yt(t,i+4|0),r=f[t>>2]),r=r+i|0,e=f[e+20>>2],n[0|r]=e,n[r+1|0]=e>>>8,n[r+2|0]=e>>>16,n[r+3|0]=e>>>24},function(e,r,t,i){e|=0,r|=0,t|=0,i|=0;var a,o=k(0),s=0,c=0,b=0,l=0,_=0,p=k(0),m=0,h=0,y=0,g=0,w=0,T=0,C=0,E=0,N=0,G=0,R=0,D=0,M=0,U=0;if(f[t>>2]==f[t+4>>2]){if(c=f[i+80>>2],V=G=V-16|0,_=f[e+4>>2],b=f[i+48>>2],i=f[f[i>>2]>>2],l=n[r+24|0],f[(t=G+8|0)>>2]=1065353216,N=t,u[t>>2]=k(-1<<_^-1)/u[e+20>>2],R=_t((0|l)!=(1073741823&l)?-1:l<<2),!(!c|(0|l)<=0))if(C=i+b|0,M=f[r>>2],t=f[r+48>>2],U=f[r+44>>2],D=f[r+40>>2],A[r+84|0])for(y=-2&l,E=1&l,r=0;;){if(w=ge(R,(b=f[M>>2])+(i=Lr(D,U,g,s)+t|0)|0,D),p=u[N>>2],m=f[e+8>>2],i=0,h=0,1!=(0|l))for(;b=C+(r<<2)|0,o=k(v(k(k(p*k(u[(T=i<<2)+w>>2]-u[m+T>>2]))+k(.5)))),_=k(d(o))<k(2147483648)?~~o:-2147483648,f[b>>2]=_,o=k(v(k(k(p*k(u[(_=4|T)+w>>2]-u[m+_>>2]))+k(.5)))),_=k(d(o))<k(2147483648)?~~o:-2147483648,f[b+4>>2]=_,i=i+2|0,r=r+2|0,(0|y)!=(0|(h=h+2|0)););if(E&&(b=C+(r<<2)|0,o=k(v(k(k(p*k(u[(i<<=2)+w>>2]-u[i+m>>2]))+k(.5)))),i=k(d(o))<k(2147483648)?~~o:-2147483648,f[b>>2]=i,r=r+1|0),g=i=g+1|0,!((0|c)!=(0|i)|(s=i?s:s+1|0)))break}else for(y=f[r+68>>2],E=-2&l,_=1&l,r=0;;){if(w=ge(R,(s=f[M>>2])+(i=Lr(D,U,f[y+(g<<2)>>2],0)+t|0)|0,D),p=u[N>>2],m=f[e+8>>2],i=0,h=0,1!=(0|l))for(;s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(T=i<<2)+w>>2]-u[m+T>>2]))+k(.5)))),b=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=b,o=k(v(k(k(p*k(u[(b=4|T)+w>>2]-u[m+b>>2]))+k(.5)))),b=k(d(o))<k(2147483648)?~~o:-2147483648,f[s+4>>2]=b,i=i+2|0,r=r+2|0,(0|E)!=(0|(h=h+2|0)););if(_&&(s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(i<<=2)+w>>2]-u[i+m>>2]))+k(.5)))),i=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=i,r=r+1|0),(0|c)==(0|(g=g+1|0)))break}return ee(R),V=G+16|0,1}if(V=G=V-16|0,N=f[e+4>>2],c=f[i+48>>2],s=f[f[i>>2]>>2],a=n[r+24|0],f[(i=G+8|0)>>2]=1065353216,b=i,u[i>>2]=k(-1<<N^-1)/u[e+20>>2],R=_t((0|a)!=(1073741823&a)?-1:a<<2),M=f[t>>2],!(!(t=f[t+4>>2]-M|0)|(0|a)<=0))if(C=s+c|0,U=f[r>>2],i=f[r+48>>2],D=f[r+44>>2],g=f[r+40>>2],T=(t>>=2)>>>0>1?t:1,A[r+84|0])for(_=-2&a,N=1&a,r=0;;){if(m=ge(R,(s=f[U>>2])+(t=Lr(g,D,f[M+(h<<2)>>2],0)+i|0)|0,g),p=u[b>>2],y=f[e+8>>2],t=0,l=0,1!=(0|a))for(;s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(E=t<<2)+m>>2]-u[y+E>>2]))+k(.5)))),c=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=c,o=k(v(k(k(p*k(u[(c=4|E)+m>>2]-u[y+c>>2]))+k(.5)))),c=k(d(o))<k(2147483648)?~~o:-2147483648,f[s+4>>2]=c,t=t+2|0,r=r+2|0,(0|_)!=(0|(l=l+2|0)););if(N&&(s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(t<<=2)+m>>2]-u[t+y>>2]))+k(.5)))),t=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=t,r=r+1|0),(0|T)==(0|(h=h+1|0)))break}else for(E=f[r+68>>2],_=-2&a,N=1&a,r=0;;){if(w=ge(R,(s=f[U>>2])+(t=Lr(g,D,f[E+(f[M+(h<<2)>>2]<<2)>>2],0)+i|0)|0,g),p=u[b>>2],m=f[e+8>>2],t=0,l=0,1!=(0|a))for(;s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(y=t<<2)+w>>2]-u[m+y>>2]))+k(.5)))),c=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=c,o=k(v(k(k(p*k(u[(c=4|y)+w>>2]-u[m+c>>2]))+k(.5)))),c=k(d(o))<k(2147483648)?~~o:-2147483648,f[s+4>>2]=c,t=t+2|0,r=r+2|0,(0|_)!=(0|(l=l+2|0)););if(N&&(s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(t<<=2)+w>>2]-u[t+m>>2]))+k(.5)))),t=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=t,r=r+1|0),(0|T)==(0|(h=h+1|0)))break}return ee(R),V=G+16|0,1},Ee,function(e,r){r|=0;var t,i,a=0,o=0;return V=t=V-16|0,-1!=(0|(i=f[4+(e|=0)>>2]))&&(a=f[r+20>>2],!!f[r+16>>2]&(0|a)>=0|(0|a)>0||(pe(r,f[r+4>>2],f[e+8>>2],f[e+12>>2]),a=f[r+20>>2],!!f[r+16>>2]&(0|a)>=0|(0|a)>0||(a=e+20|0,pe(r,f[r+4>>2],a,a+4|0),a=f[r+20>>2],o=f[r+16>>2],n[t+15|0]=f[e+4>>2],!!o&(0|a)>=0|(0|a)>0||pe(r,f[r+4>>2],t+15|0,t+16|0)))),V=t+16|0,-1!=(0|i)|0},De,Lt,function(e,r){return n[24+(r|=0)|0]},function(e){var r=0;return f[(e|=0)>>2]=1804,(r=f[e+16>>2])&&(f[e+20>>2]=r,ee(r)),(r=f[e+4>>2])&&(f[e+8>>2]=r,ee(r)),0|e},ci,function(e,r,t){return r|=0,t|=0,f[32+(e|=0)>>2]=t,f[e+28>>2]=r,1},Ae,function(e,r){r|=0;var t=0;return 0|yi[f[f[(e|=0)>>2]+36>>2]](e,r)&&0|yi[f[f[e>>2]+40>>2]](e,r)&&(t=0|yi[f[f[e>>2]+44>>2]](e)),0|t},function(e,r){return r|=0,f[f[4+(e|=0)>>2]+(r<<2)>>2]},function(e){return f[8+(e|=0)>>2]-f[e+4>>2]>>2},Ot,Xt,function(){T()},Jt,ei,function(e){var r;return f[(e|=0)>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),0|e},function(e){var r;f[(e|=0)>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),ee(e)},mt,function(e,r){return r|=0,f[12+(e|=0)>>2]=-1,f[e+8>>2]=r,1},function(e,r,t){r|=0,t|=0;var i,a=0;return i=f[8+(e|=0)>>2],n[i+24|0]<=0||He(i,f[r+4>>2]-f[r>>2]>>2)&&(a=0|yi[f[f[e>>2]+32>>2]](e,r,t)),0|a},function(e,r,t){return 1},Jt,function(e,r){e|=0;var t=0,i=0,a=0,n=0,o=0;if((0|yi[f[f[(r|=0)>>2]+20>>2]](r))<=0)return 1;e:{for(;;){if(-1==(0|(i=At(f[f[e+4>>2]+4>>2],0|yi[f[f[r>>2]+24>>2]](r,a)))))break e;if(n=f[e+4>>2],t=0,(0|i)<0||(o=f[n+4>>2],(0|i)>=f[o+12>>2]-f[o+8>>2]>>2||(t=f[f[n+8>>2]+(f[f[n+20>>2]+(i<<2)>>2]<<2)>>2],t=0|yi[f[f[t>>2]+32>>2]](t,i))),!t)break e;if(!(0|yi[f[f[r>>2]+28>>2]](r,t)))break e;if(a=a+1|0,!((0|yi[f[f[r>>2]+20>>2]](r))>(0|a)))break}return 1}return 0},function(e,r,t){e|=0,t|=0;var i,a,n=0,o=0,s=0,c=0,A=0,b=0,u=0,_=0;if(n=f[(r|=0)>>2],r=f[r+4>>2],a=_t((0|(i=f[f[e+8>>2]+40>>2]))>=0?i:-1),s=1,!((0|(c=r-n|0))<=0||(r=0,s=0,n=0+f[t+20>>2]|0,n=(o=i+(A=f[t+16>>2])|0)>>>0<i>>>0?n+1|0:n,b=o,o=f[t+12>>2],b>>>0>l[t+8>>2]&(0|o)<=(0|n)|(0|n)>(0|o)))){for(s=(0|(u=c>>2))>1?u:1;o=ge(a,A+f[t>>2]|0,i),f[t+16>>2]=b,f[t+20>>2]=n,ge(f[f[f[e+8>>2]+64>>2]>>2]+r|0,o,i),(0|s)!=(0|(_=_+1|0))&&(r=r+i|0,n=0+f[t+20>>2]|0,n=(o=i+(A=f[t+16>>2])|0)>>>0<i>>>0?n+1|0:n,b=o,c=o,(0|(o=f[t+12>>2]))>=(0|n)&l[t+8>>2]>=c>>>0|(0|n)<(0|o)););s=(0|_)>=(0|u)}return ee(a),0|s},function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=2044,t=f[e+60>>2],f[e+60>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),r=f[e+36>>2]){if((0|(i=f[e+40>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+36>>2]}f[e+40>>2]=r,ee(t)}return f[e>>2]=1804,(t=f[e+16>>2])&&(f[e+20>>2]=t,ee(t)),(t=f[e+4>>2])&&(f[e+8>>2]=t,ee(t)),0|e},function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=2044,t=f[e+60>>2],f[e+60>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),r=f[e+36>>2]){if((0|(i=f[e+40>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+36>>2]}f[e+40>>2]=r,ee(t)}f[e>>2]=1804,(t=f[e+16>>2])&&(f[e+20>>2]=t,ee(t)),(t=f[e+4>>2])&&(f[e+8>>2]=t,ee(t)),ee(e)},function(e,r){var t=0,i=0,a=0,n=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0,k=0;if(Ae(e|=0,r|=0)){if(c=e+36|0,(o=0|yi[f[f[e>>2]+24>>2]](e))>>>0>(t=(i=f[e+40>>2])-(a=f[e+36>>2])>>2)>>>0)Oe(c,o-t|0);else if(!(t>>>0<=o>>>0)){if((0|(a=a+(o<<2)|0))!=(0|i))for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|i)!=(0|a););f[e+40>>2]=a}e:if((0|o)<=0)a=0;else if(a=1,!((0|(t=f[r+20>>2]))>=(0|(i=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=l[r+8>>2]|(0|t)>(0|i)))for(i=0;;){if(s=A[n+f[r>>2]|0],t=(n=n+1|0)?t:t+1|0,f[r+16>>2]=n,f[r+20>>2]=t,n=0|yi[f[f[e>>2]+48>>2]](e,s),b=(s=i<<2)+f[e+36>>2]|0,t=f[b>>2],f[b>>2]=n,t&&yi[f[f[t>>2]+4>>2]](t),!(t=f[f[c>>2]+s>>2]))break e;if(_=t,p=0|yi[f[f[e>>2]+28>>2]](e),k=0|yi[f[f[e>>2]+20>>2]](e,i),u=f[f[t>>2]+8>>2],!(0|yi[u](0|_,0|p,0|k)))break e;if(a=(0|o)>(0|(i=i+1|0)),(0|i)==(0|o))break e;if(n=f[r+16>>2],t=f[r+20>>2],s=f[r+12>>2],!(n>>>0<l[r+8>>2]&(0|t)<=(0|s)|(0|t)<(0|s)))break}e=!a}else e=0;return 0|e},function(e,r){r|=0;var t=0,i=0,a=0,n=0,o=0;if((t=f[60+(e|=0)>>2])&&(f[t+4>>2]=e+48,0|yi[f[f[t>>2]+12>>2]](t))){e:if(!((0|(t=0|yi[f[f[e>>2]+24>>2]](e)))<=0)){for(;;){if(n=f[4+(0|yi[f[f[e>>2]+28>>2]](e))>>2],o=0|yi[f[f[e>>2]+20>>2]](e,i),a=f[e+60>>2],0|yi[f[f[a>>2]+8>>2]](a,f[f[n+8>>2]+(o<<2)>>2])){if((0|t)!=(0|(i=i+1|0)))continue;break e}break}return 0}i=0,0|yi[f[f[e>>2]+36>>2]](e,r)&&0|yi[f[f[e>>2]+40>>2]](e,r)&&(i=0|yi[f[f[e>>2]+44>>2]](e))}return 0|i},function(e,r){r|=0;var t,i=0;return t=f[16+(e|=0)>>2],i=0,f[e+20>>2]-t>>2<=(0|r)||(i=0,(0|(r=f[(r<<2)+t>>2]))<0||(i=rr(f[f[e+36>>2]+(r<<2)>>2]))),0|i},function(e,r){r|=0;var t,i=0,a=0,n=0,o=0;if(i=1,!((0|(t=0|yi[f[f[(e|=0)>>2]+24>>2]](e)))<=0)&&(a=f[f[e+36>>2]>>2],n=e+48|0,i=0,0|yi[f[f[a>>2]+16>>2]](a,n,r))){for(a=1;(0|t)!=(0|(i=a))&&(a=i+1|0,o=f[f[e+36>>2]+(i<<2)>>2],0|yi[f[f[o>>2]+16>>2]](o,n,r)););i=(0|i)>=(0|t)}return 0|i},function(e,r){r|=0;var t,i=0,a=0,n=0,o=0;if(i=1,!((0|(t=0|yi[f[f[(e|=0)>>2]+24>>2]](e)))<=0)&&(a=f[f[e+36>>2]>>2],n=e+48|0,i=0,0|yi[f[f[a>>2]+20>>2]](a,n,r))){for(a=1;(0|t)!=(0|(i=a))&&(a=i+1|0,o=f[f[e+36>>2]+(i<<2)>>2],0|yi[f[f[o>>2]+20>>2]](o,n,r)););i=(0|i)>=(0|t)}return 0|i},function(e){var r,t,i=0,a=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0;V=r=V-16|0,m=1;e:if((0|(t=0|yi[f[f[(e|=0)>>2]+24>>2]](e)))<=0)m=0;else for(y=e+48|0;;){r:{if(f[40+(0|yi[f[f[e>>2]+28>>2]](e))>>2]&&(i=f[(s=k<<2)+f[e+36>>2]>>2],o=f[i+8>>2],b=rr(i))){i=f[40+(0|yi[f[f[e>>2]+28>>2]](e))>>2],l=f[o+56>>2],a=_t(32),f[r>>2]=a,f[r+4>>2]=24,f[r+8>>2]=-2147483616,n[a+24|0]=0,c=A[1308]|A[1309]<<8|A[1310]<<16|A[1311]<<24,o=A[1304]|A[1305]<<8|A[1306]<<16|A[1307]<<24,n[a+16|0]=o,n[a+17|0]=o>>>8,n[a+18|0]=o>>>16,n[a+19|0]=o>>>24,n[a+20|0]=c,n[a+21|0]=c>>>8,n[a+22|0]=c>>>16,n[a+23|0]=c>>>24,c=A[1300]|A[1301]<<8|A[1302]<<16|A[1303]<<24,o=A[1296]|A[1297]<<8|A[1298]<<16|A[1299]<<24,n[a+8|0]=o,n[a+9|0]=o>>>8,n[a+10|0]=o>>>16,n[a+11|0]=o>>>24,n[a+12|0]=c,n[a+13|0]=c>>>8,n[a+14|0]=c>>>16,n[a+15|0]=c>>>24,c=A[1292]|A[1293]<<8|A[1294]<<16|A[1295]<<24,o=A[1288]|A[1289]<<8|A[1290]<<16|A[1291]<<24,n[0|a]=o,n[a+1|0]=o>>>8,n[a+2|0]=o>>>16,n[a+3|0]=o>>>24,n[a+4|0]=c,n[a+5|0]=c>>>8,n[a+6|0]=c>>>16,n[a+7|0]=c>>>24,_=c=i+16|0;t:if(u=f[c>>2]){for(;_=(o=(0|l)>f[u+16>>2])?_:u,u=f[(o<<2)+u>>2];);if(!((0|c)==(0|_)|(0|l)<f[_+16>>2])&&(u=f[_+24>>2]))for(o=_+20|0;;){i:{a:{n:{if(_=(h=(d=(l=(c=A[u+27|0])<<24>>24<0)?f[u+20>>2]:c)>>>0<24)?d:24){c=u+16|0;o:{if(!(c=Rr(a,l=l?f[c>>2]:c,_))){if(d>>>0<=24)break o;break i}if((0|c)<0)break i}if(!(c=Rr(l,a,_)))break n;if((0|c)<0)break a;i=o;break t}if(d>>>0>24)break i}if(!h){i=o;break t}}u=u+4|0}if(!(u=f[u>>2]))break}}if(u=0,(0|(o=i+4|0))!=(0|(i=$e(i,r)))){for(o=n[i+39|0]<0?f[i+28>>2]:i+28|0,_=0,c=0;o=(i=o)+1|0,32==(0|(a=n[0|i]))|a-9>>>0<5;);t:{i:{a:switch((a=n[0|i])-43|0){case 0:break i;case 2:break a;default:break t}c=1}a=n[0|o],i=o}if(a-48>>>0<10)for(;_=48+(p(_,10)-n[0|i]|0)|0,o=n[i+1|0],i=i+1|0,o-48>>>0<10;);-1!=(0|(i=c?_:0-_|0))&&(u=0!=(0|i))}if(n[r+11|0]<0&&ee(f[r>>2]),u){s=f[f[f[e+36>>2]+s>>2]+8>>2],f[s+64>>2]||(a=i=_t(32),f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,o=f[s+64>>2],f[s+64>>2]=i,o&&((i=f[o>>2])&&(f[o+4>>2]=i,ee(i)),ee(o),a=f[s+64>>2]),f[s>>2]=a,i=f[a+20>>2],f[s+8>>2]=f[a+16>>2],f[s+12>>2]=i,o=f[a+24>>2],i=f[a+28>>2],f[s+48>>2]=0,f[s+52>>2]=0,f[s+40>>2]=0,f[s+44>>2]=0,f[s+16>>2]=o,f[s+20>>2]=i);t:if(n[s+24|0]=A[b+24|0],f[s+28>>2]=f[b+28>>2],n[s+32|0]=A[b+32|0],i=f[b+44>>2],f[s+40>>2]=f[b+40>>2],f[s+44>>2]=i,i=f[b+52>>2],f[s+48>>2]=f[b+48>>2],f[s+52>>2]=i,f[s+56>>2]=f[b+56>>2],i=f[b+12>>2],f[s+8>>2]=f[b+8>>2],f[s+12>>2]=i,i=f[b+20>>2],f[s+16>>2]=f[b+16>>2],f[s+20>>2]=i,f[s+60>>2]=f[b+60>>2],(o=f[b>>2])?(a=0,(i=f[s>>2])&&(Yr(a=i,i=f[o>>2],f[o+4>>2]-i|0,0),a=1)):(f[s>>2]=0,a=1),a){n[s+84|0]=A[b+84|0],f[s+80>>2]=f[b+80>>2],(0|s)!=(0|b)&&ze(s+68|0,f[b+68>>2],f[b+72>>2]);i:{a:{if(l=f[b+88>>2]){if(i=_t(40),o=f[l>>2],f[i+16>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[i>>2]=o,a=f[l+12>>2]-f[l+8>>2]|0){if((0|a)<0)break i;o=_t(a),f[i+8>>2]=o,f[i+12>>2]=o,f[i+16>>2]=a+o,a=f[l+8>>2],(0|(c=f[l+12>>2]-a|0))>0&&(o=ge(o,a,c)+c|0),f[i+12>>2]=o}if(o=f[l+36>>2],f[i+32>>2]=f[l+32>>2],f[i+36>>2]=o,o=f[l+28>>2],f[i+24>>2]=f[l+24>>2],f[i+28>>2]=o,a=f[s+88>>2],f[s+88>>2]=i,a)break a;break t}if(a=f[s+88>>2],f[s+88>>2]=0,!a)break t}(i=f[a+8>>2])&&(f[a+12>>2]=i,ee(i)),ee(a);break t}oi(),T()}break r}}if(i=f[f[e+36>>2]+(k<<2)>>2],!(0|yi[f[f[i>>2]+24>>2]](i,y)))break e}if(m=(0|t)>(0|(k=k+1|0)),(0|k)==(0|t))break}return V=r+16|0,1&(-1^m)},function(e,r){switch(e|=0,e=0,0|(r|=0)){case 0:return e=_t(20),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,0|e;case 1:return e=_t(24),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,0|e;case 2:return e=_t(48),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,f[e+32>>2]=0,f[e+36>>2]=0,f[e+28>>2]=-1,f[e+24>>2]=1140,f[e>>2]=7976,f[e+40>>2]=0,f[e+44>>2]=0,0|e;case 3:e=_t(32),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,f[e+28>>2]=-1,f[e+24>>2]=1032,f[e>>2]=5840}return 0|e},ot,ct,mt,function(e,r){return r|=0,0|yi[f[f[(e|=0)>>2]+48>>2]](e,f[r+4>>2]-f[r>>2]>>2)},function(e,r,t){e|=0,r|=0;var i,a,o=0,s=0,c=0,A=0,b=0,l=0,u=0;e:if(!((0|(o=i=f[12+(t|=0)>>2]))<=(0|(s=f[t+20>>2]))&(a=f[t+8>>2])>>>0<=(c=f[t+16>>2])>>>0|(0|o)<(0|s))){if(b=f[t>>2],l=n[b+c|0],o=s,o=(A=c+1|0)?o:o+1|0,f[t+16>>2]=A,f[t+20>>2]=o,-2!=(0|l)){if((0|o)>=(0|i)&A>>>0>=a>>>0|(0|o)>(0|i))break e;if(o=n[A+b|0],s=(c=c+2|0)>>>0<2?s+1|0:s,f[t+16>>2]=c,f[t+20>>2]=s,(o-4&255)>>>0<251)break e;s=0|yi[f[f[e>>2]+40>>2]](e,l,o),o=f[e+20>>2],f[e+20>>2]=s,o&&yi[f[f[o>>2]+4>>2]](o)}(!(o=f[e+20>>2])||0|yi[f[f[e>>2]+28>>2]](e,o))&&(u=0|yi[f[f[e>>2]+36>>2]](e,r,t))}return 0|u},oe,function(e,r,t){e|=0,r|=0;var i,a=0,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0,p=0;if(V=i=V-48|0,1==(0|(t|=0))){s=f[e+4>>2],e=f[e+12>>2],f[i+40>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,o=i+8|0;e:if(-2!=(0|r)){if(u=f[f[f[s+4>>2]+8>>2]+(e<<2)>>2],1==(0|yi[f[f[s>>2]+8>>2]](s))){V=l=V-32|0,c=f[f[f[s+4>>2]+8>>2]+(e<<2)>>2];r:{t:{if(!(1!=(0|yi[f[f[s>>2]+8>>2]](s))|r-1>>>0>5||!(b=0|yi[f[f[s>>2]+36>>2]](s))|!(A=0|yi[f[f[s>>2]+44>>2]](s,e))))if(t=0|yi[f[f[s>>2]+40>>2]](s,e)){e=f[s+44>>2],f[l+12>>2]=t,f[l+8>>2]=e,f[l+20>>2]=A,f[l+16>>2]=A+12,s=l+8|0,e=0;i:{a:switch(r-1|0){case 0:if(e=_t(60),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],a=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=a,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],a=f[o+28>>2]-r|0){if((0|a)<0)break t;t=_t(a),f[e+32>>2]=t,f[e+40>>2]=t+(a>>2<<2),_=e,p=ge(t,r,a)+a|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[e>>2]=2280;break i;case 3:if(e=_t(112),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],a=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=a,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],a=f[o+28>>2]-r|0){if((0|a)<0)break t;t=_t(a),f[e+32>>2]=t,f[e+40>>2]=t+(a>>2<<2),_=e,p=ge(t,r,a)+a|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=3044,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0;break i;case 4:if(e=_t(104),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],a=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=a,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],a=f[o+28>>2]-r|0){if((0|a)<0)break t;t=_t(a),f[e+32>>2]=t,f[e+40>>2]=t+(a>>2<<2),_=e,p=ge(t,r,a)+a|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,t=f[s+8>>2],r=f[s+12>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=3292,f[e+52>>2]=t,f[e+56>>2]=r,r=f[s+4>>2],f[e+88>>2]=f[s>>2],f[e+92>>2]=r,r=f[s+12>>2],f[e+96>>2]=f[s+8>>2],f[e+100>>2]=r;break i;case 5:break a;default:break i}e=_t(128),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],a=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=a,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r;a:{n:{if(t=f[o+28>>2]-f[o+24>>2]|0){if((0|t)<0)break n;r=_t(t),f[e+32>>2]=r,f[e+36>>2]=r,f[e+40>>2]=r+(t>>2<<2),t=f[o+24>>2],(0|(a=f[o+28>>2]-t|0))>0&&(r=ge(r,t,a)+a|0),f[e+36>>2]=r}f[e>>2]=2932,r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[(r=e- -64|0)>>2]=0,f[r+4>>2]=0,f[e+60>>2]=4156,f[e>>2]=3528,r=f[s+4>>2],f[e+72>>2]=f[s>>2],f[e+76>>2]=r,r=f[s+12>>2],f[e+80>>2]=f[s+8>>2],f[e+84>>2]=r,f[e+104>>2]=1065353216,f[e+108>>2]=-1,f[e+96>>2]=-1,f[e+100>>2]=-1,f[e+88>>2]=1,f[e+92>>2]=-1,f[e+60>>2]=3764,f[e+112>>2]=0,f[e+116>>2]=0,n[e+117|0]=0,n[e+118|0]=0,n[e+119|0]=0,n[e+120|0]=0,n[e+121|0]=0,n[e+122|0]=0,n[e+123|0]=0,n[e+124|0]=0;break a}oi(),T()}}a=e}else{e=f[s+44>>2],f[l+12>>2]=b,f[l+8>>2]=e,f[l+20>>2]=A,f[l+16>>2]=A+12,s=l+8|0,e=0;i:{a:switch(r-1|0){case 0:if(e=_t(60),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],a=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=a,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],a=f[o+28>>2]-r|0){if((0|a)<0)break t;t=_t(a),f[e+32>>2]=t,f[e+40>>2]=t+(a>>2<<2),_=e,p=ge(t,r,a)+a|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[e>>2]=4184;break i;case 3:if(e=_t(112),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],a=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=a,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],a=f[o+28>>2]-r|0){if((0|a)<0)break t;t=_t(a),f[e+32>>2]=t,f[e+40>>2]=t+(a>>2<<2),_=e,p=ge(t,r,a)+a|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=4608,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0;break i;case 4:if(e=_t(104),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],a=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=a,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],a=f[o+28>>2]-r|0){if((0|a)<0)break t;t=_t(a),f[e+32>>2]=t,f[e+40>>2]=t+(a>>2<<2),_=e,p=ge(t,r,a)+a|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,t=f[s+8>>2],r=f[s+12>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=4844,f[e+52>>2]=t,f[e+56>>2]=r,r=f[s+4>>2],f[e+88>>2]=f[s>>2],f[e+92>>2]=r,r=f[s+12>>2],f[e+96>>2]=f[s+8>>2],f[e+100>>2]=r;break i;case 5:break a;default:break i}e=_t(128),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],a=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=a,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r;a:{n:{if(t=f[o+28>>2]-f[o+24>>2]|0){if((0|t)<0)break n;r=_t(t),f[e+32>>2]=r,f[e+36>>2]=r,f[e+40>>2]=r+(t>>2<<2),t=f[o+24>>2],(0|(a=f[o+28>>2]-t|0))>0&&(r=ge(r,t,a)+a|0),f[e+36>>2]=r}f[e>>2]=4552,r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[(r=e- -64|0)>>2]=0,f[r+4>>2]=0,f[e+60>>2]=5652,f[e>>2]=5068,r=f[s+4>>2],f[e+72>>2]=f[s>>2],f[e+76>>2]=r,r=f[s+12>>2],f[e+80>>2]=f[s+8>>2],f[e+84>>2]=r,f[e+104>>2]=1065353216,f[e+108>>2]=-1,f[e+96>>2]=-1,f[e+100>>2]=-1,f[e+88>>2]=1,f[e+92>>2]=-1,f[e+60>>2]=5288,f[e+112>>2]=0,f[e+116>>2]=0,n[e+117|0]=0,n[e+118|0]=0,n[e+119|0]=0,n[e+120|0]=0,n[e+121|0]=0,n[e+122|0]=0,n[e+123|0]=0,n[e+124|0]=0;break a}oi(),T()}}a=e}V=l+32|0;break r}oi(),T()}if(a)break e}a=_t(44),f[a+4>>2]=u,f[a>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],t=f[o+20>>2],r=f[o>>2],e=f[o+4>>2],f[a+40>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=b,f[a+28>>2]=t,f[a+16>>2]=c,f[a+20>>2]=A,f[a+8>>2]=r,f[a+12>>2]=e;r:{if(e=f[o+24>>2],t=f[o+28>>2]-e|0){if((0|t)<0)break r;r=_t(t),f[a+32>>2]=r,f[a+40>>2]=r+(t>>2<<2),_=a,p=ge(r,e,t)+t|0,f[_+36>>2]=p}f[a>>2]=5680;break e}oi(),T()}(e=f[i+32>>2])&&(f[i+36>>2]=e,ee(e))}return V=i+48|0,0|a},function(e){return n[f[8+(e|=0)>>2]+24|0]},function(e,r){r|=0;var t,i=0,a=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0,p=0,k=0,d=0;t=e|=0;e:{r:{t:{i:{a:{n:{o:{f:switch(u=f[e+8>>2],f[u+28>>2]-1|0){case 4:break t;case 5:break i;case 2:break a;case 3:break n;case 0:break o;case 1:break f;default:break e}if(a=_t((0|(i=n[u+24|0]))>=0?i:-1),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!r)break r;if((0|i)>0){for(u=-4&i,p=3&i,s=i-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,n[e+a|0]=f[l>>2],n[(1|e)+a|0]=f[l+4>>2],n[(2|e)+a|0]=f[l+8>>2],n[(3|e)+a|0]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;n[e+a|0]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+k|0,a,i),k=i+k|0,(0|(_=_+1|0))==(0|r))break}break r}if(ge(f[f[u+64>>2]>>2],a,i),1==(0|r))break r;if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,a,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,a,i),(0|r)!=(0|(c=c+2|0)););if(!b)break r;ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,a,i);break r}if(a=_t((0|(i=n[u+24|0]))>=0?i:-1),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!r)break r;if((0|i)>0){for(u=-4&i,p=3&i,s=i-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,n[e+a|0]=f[l>>2],n[(1|e)+a|0]=f[l+4>>2],n[(2|e)+a|0]=f[l+8>>2],n[(3|e)+a|0]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;n[e+a|0]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+k|0,a,i),k=i+k|0,(0|(_=_+1|0))==(0|r))break}break r}if(ge(f[f[u+64>>2]>>2],a,i),1==(0|r))break r;if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,a,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,a,i),(0|r)!=(0|(c=c+2|0)););if(!b)break r;ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,a,i);break r}if(a=_t((e=(s=n[u+24|0])+s|0)>>>0<s>>>0?-1:e),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!r)break r;if(i=s<<1,(0|s)>0){for(u=-4&s,p=3&s,s=s-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,o[(_=e<<1)+a>>1]=f[l>>2],o[(2|_)+a>>1]=f[l+4>>2],o[(4|_)+a>>1]=f[l+8>>2],o[(6|_)+a>>1]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;o[(e<<1)+a>>1]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+d|0,a,i),d=i+d|0,(0|(k=k+1|0))==(0|r))break}break r}if(ge(f[f[u+64>>2]>>2],a,i),1==(0|r))break r;if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,a,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,a,i),(0|r)!=(0|(c=c+2|0)););if(!b)break r;ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,a,i);break r}if(a=_t((e=(s=n[u+24|0])+s|0)>>>0<s>>>0?-1:e),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!r)break r;if(i=s<<1,(0|s)>0){for(u=-4&s,p=3&s,s=s-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,o[(_=e<<1)+a>>1]=f[l>>2],o[(2|_)+a>>1]=f[l+4>>2],o[(4|_)+a>>1]=f[l+8>>2],o[(6|_)+a>>1]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;o[(e<<1)+a>>1]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+d|0,a,i),d=i+d|0,(0|(k=k+1|0))==(0|r))break}break r}if(ge(f[f[u+64>>2]>>2],a,i),1==(0|r))break r;if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,a,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,a,i),(0|r)!=(0|(c=c+2|0)););if(!b)break r;ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,a,i);break r}if(i=(s=n[u+24|0])<<2,a=_t((0|s)!=(1073741823&s)?-1:i),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!r)break r;if((0|s)>0){for(u=-4&s,p=3&s,s=s-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,f[(_=e<<2)+a>>2]=f[l>>2],f[(4|_)+a>>2]=f[l+4>>2],f[(8|_)+a>>2]=f[l+8>>2],f[(12|_)+a>>2]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;f[(e<<2)+a>>2]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+d|0,a,i),d=i+d|0,(0|(k=k+1|0))==(0|r))break}break r}if(ge(f[f[u+64>>2]>>2],a,i),1==(0|r))break r;if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,a,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,a,i),(0|r)!=(0|(c=c+2|0)););if(!b)break r;ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,a,i);break r}if(i=(s=n[u+24|0])<<2,a=_t((0|s)!=(1073741823&s)?-1:i),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,r)if((0|s)>0)for(u=-4&s,p=3&s,s=s-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,f[(_=e<<2)+a>>2]=f[l>>2],f[(4|_)+a>>2]=f[l+4>>2],f[(8|_)+a>>2]=f[l+8>>2],f[(12|_)+a>>2]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;f[(e<<2)+a>>2]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+d|0,a,i),d=i+d|0,(0|(k=k+1|0))==(0|r))break}else if(ge(f[f[u+64>>2]>>2],a,i),1!=(0|r)){if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,a,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,a,i),(0|r)!=(0|(c=c+2|0)););b&&ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,a,i)}}ee(a),a=1}return 0|a},function(e){var r;return f[(e|=0)>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},Ct,ei,zt,vt,ii,Qt,Xt,ii,ei,function(e,r){e|=0;var t,i,a,n=0,o=0,s=0,c=0,b=0,l=0;return i=o=f[12+(r|=0)>>2],s=n=f[r+20>>2],n=(t=(c=f[r+16>>2])+4|0)>>>0<4?n+1|0:n,(a=f[r+8>>2])>>>0<t>>>0&(0|n)>=(0|o)|(0|n)>(0|o)||(b=f[r>>2],o=A[0|(o=b+c|0)]|A[o+1|0]<<8|A[o+2|0]<<16|A[o+3|0]<<24,f[r+16>>2]=t,f[r+20>>2]=n,n=s,c=s=c+8|0,s=n=s>>>0<8?n+1|0:n,c>>>0>a>>>0&(0|n)>=(0|i)|(0|n)>(0|i)||(n=A[0|(n=t+b|0)]|A[n+1|0]<<8|A[n+2|0]<<16|A[n+3|0]<<24,f[r+16>>2]=c,f[r+20>>2]=s,(0|n)<(0|o)||(f[e+16>>2]=n,f[e+12>>2]=o,!(r=(n>>31)-((o>>31)+(n>>>0<o>>>0)|0)|0)&(n=n-o|0)>>>0>2147483646|r||(l=1,r=n+1|0,f[e+20>>2]=r,n=r>>>1|0,f[e+24>>2]=n,f[e+28>>2]=0-n,1&r||(f[e+24>>2]=n-1))))),0|l},function(e,r,t,i,a,n){r|=0,t|=0,i|=0,a|=0,n|=0;var o,s,c,A=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;if(f[8+(e|=0)>>2]=a,_=f[(i=e+32|0)>>2],(n=f[e+36>>2]-_>>2)>>>0<a>>>0?(sr(i,a-n|0),_=f[i>>2],i=f[e+8>>2]):(a>>>0<n>>>0&&(f[e+36>>2]=(a<<2)+_),i=a),c=f[e+52>>2],o=f[e+48>>2],n=0,k=Je(_t(k=(1073741823&a)!=(0|a)?-1:a<<2),0,k),!((0|i)<=0)){for(;(0|(A=f[(i=n<<2)+k>>2]))>(0|(b=f[e+16>>2]))?f[i+_>>2]=b:(i=i+_|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|A)?b:A),(0|(i=f[e+8>>2]))>(0|(n=n+1|0)););if(!((0|i)<=0))for(n=0;;){i=(A=n<<2)+t|0,A=f[r+A>>2]+f[A+_>>2]|0,f[i>>2]=A;e:{if((0|A)>f[e+16>>2])A=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break e;A=A+f[e+20>>2]|0}f[i>>2]=A}if(!((0|(i=f[e+8>>2]))>(0|(n=n+1|0))))break}}if(n=f[e+56>>2],s=f[n>>2],(0|(n=f[n+4>>2]-s|0))>=5)for(h=(0|(n>>=2))>2?n:2,y=n>>>0>1?n:1,v=-2&a,g=1&a,_=1;;){e:{r:{if((0|_)!=(0|y)){if(m=p(a,_),-1==(0|(n=f[(_<<2)+s>>2]))|f[f[o>>2]+(n>>>3&536870908)>>2]>>>n&1)break r;if(-1==(0|(n=f[f[f[o+64>>2]+12>>2]+(n<<2)>>2])))break r;if(b=f[c>>2],A=f[o+28>>2],(0|(u=f[b+(f[A+(n<<2)>>2]<<2)>>2]))>=(0|_))break r;if((0|(l=f[b+(f[A+((((l=n+1|0)>>>0)%3|0?l:n-2|0)<<2)>>2]<<2)>>2]))>=(0|_))break r;if((0|(n=f[b+(f[A+(n+((n>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2]))>=(0|_))break r;if(!((0|a)<=0)){if(A=p(a,n),b=p(a,l),u=p(a,u),n=0,d=0,1!=(0|a))for(;f[k+(n<<2)>>2]=(f[(n+A<<2)+t>>2]+f[(n+b<<2)+t>>2]|0)-f[(n+u<<2)+t>>2],f[k+((l=1|n)<<2)>>2]=(f[(A+l<<2)+t>>2]+f[(b+l<<2)+t>>2]|0)-f[(u+l<<2)+t>>2],n=n+2|0,(0|v)!=(0|(d=d+2|0)););g&&(f[k+(n<<2)>>2]=(f[(n+A<<2)+t>>2]+f[(n+b<<2)+t>>2]|0)-f[(n+u<<2)+t>>2])}if((0|i)<=0)break e;for(b=f[e+32>>2],n=0;(0|(A=f[(i=n<<2)+k>>2]))>(0|(u=f[e+16>>2]))?f[i+b>>2]=u:(i=i+b|0,u=f[e+12>>2],f[i>>2]=(0|u)>(0|A)?u:A),(0|(i=f[e+8>>2]))>(0|(n=n+1|0)););if(n=0,(0|i)<=0)break e;for(u=(i=m<<2)+t|0,l=r+i|0;;){i=(A=n<<2)+u|0,A=f[A+l>>2]+f[A+b>>2]|0,f[i>>2]=A;t:{if((0|A)>f[e+16>>2])A=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break t;A=A+f[e+20>>2]|0}f[i>>2]=A}if(!((0|(i=f[e+8>>2]))>(0|(n=n+1|0))))break}break e}li(),T()}if(!((0|i)<=0)){for(u=(p(_-1|0,a)<<2)+t|0,b=f[e+32>>2],n=0;(0|(A=f[(i=n<<2)+u>>2]))>(0|(l=f[e+16>>2]))?f[i+b>>2]=l:(i=i+b|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|A)?l:A),(0|(i=f[e+8>>2]))>(0|(n=n+1|0)););if(n=0,!((0|i)<=0))for(u=(i=m<<2)+t|0,l=r+i|0;;){i=(A=n<<2)+u|0,A=f[A+l>>2]+f[A+b>>2]|0,f[i>>2]=A;r:{if((0|A)>f[e+16>>2])A=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break r;A=A+f[e+20>>2]|0}f[i>>2]=A}if(!((0|(i=f[e+8>>2]))>(0|(n=n+1|0))))break}}}if((0|h)==(0|(_=_+1|0)))break}return ee(k),1},ci,ci,function(e){var r=0;return f[(e|=0)>>2]=3044,(r=f[e+96>>2])&&ee(r),(r=f[e+84>>2])&&ee(r),(r=f[e+72>>2])&&ee(r),(r=f[e+60>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r=0;f[(e|=0)>>2]=3044,(r=f[e+96>>2])&&ee(r),(r=f[e+84>>2])&&ee(r),(r=f[e+72>>2])&&ee(r),(r=f[e+60>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ri,vt,fe,function(e,r,t,i,a,n){r|=0,t|=0,i|=0,a|=0,n|=0;var o,s,c,A,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0,M=0,U=0,I=0,B=0,Z=0,W=0,F=0;V=o=V+-64|0,f[8+(e|=0)>>2]=a,b=f[(n=e+32|0)>>2];e:{if((i=f[e+36>>2]-b>>2)>>>0<a>>>0)sr(n,a-i|0),f[o+56>>2]=0,f[o+60>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o>>2]=0;else if(i>>>0>a>>>0&&(f[e+36>>2]=b+(a<<2)),f[o+56>>2]=0,f[o+60>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o>>2]=0,i=0,!a)break e;ve(o+16|0,a,o),l=f[o+28>>2],i=f[o+32>>2]}f[o>>2]=0;e:if((i=i-l>>2)>>>0>=a>>>0){if(i>>>0<=a>>>0)break e;f[o+32>>2]=(a<<2)+l}else ve(o+16|12,a-i|0,o);f[o>>2]=0,n=f[o+40>>2];e:if((i=f[o+44>>2]-n>>2)>>>0>=a>>>0){if(i>>>0<=a>>>0)break e;f[o+44>>2]=n+(a<<2)}else ve(o+40|0,a-i|0,o);f[o>>2]=0,n=f[o+52>>2];e:if((i=f[o+56>>2]-n>>2)>>>0>=a>>>0){if(i>>>0<=a>>>0)break e;f[o+56>>2]=n+(a<<2)}else ve(o+52|0,a-i|0,o);if(l=0,!(f[e+8>>2]<=0)){for(u=f[e+32>>2],b=f[o+16>>2];(0|(n=f[(i=l<<2)+b>>2]))>(0|(d=f[e+16>>2]))?f[i+u>>2]=d:(i=i+u|0,d=f[e+12>>2],f[i>>2]=(0|d)>(0|n)?d:n),(0|(l=l+1|0))<(0|(i=f[e+8>>2])););if(!((0|i)<=0))for(i=0;;){n=(b=i<<2)+t|0,b=f[r+b>>2]+f[b+u>>2]|0,f[n>>2]=b;e:{if((0|b)>f[e+16>>2])b=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break e;b=b+f[e+20>>2]|0}f[n>>2]=b}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}A=f[e+52>>2],s=f[e+48>>2],c=_t(16),f[(i=c)>>2]=0,f[i+4>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[o+8>>2]=0,f[o>>2]=0,f[o+4>>2]=0;e:{if(a){if(a>>>0>=1073741824)break e;E=_t(i=a<<2),f[o>>2]=E,f[o+8>>2]=i+E,Je(E,0,i)}y=1,i=f[e+56>>2],R=f[i>>2];r:if(!((0|(i=f[i+4>>2]-R|0))<5))for(I=(0|(i>>=2))>2?i:2,B=i>>>0>1?i:1,D=-2&a,M=1&a,Z=-4&a,U=3&a,N=a-1|0,W=a<<2,d=1;;){t:{i:{a:{n:{if((0|d)!=(0|B)){i=((n=f[(d<<2)+R>>2])>>>0)%3|0;o:{f:if(-1!=(0|n)){u=0,G=0!=(0|i)|-1!=(0|(b=n+2|0)),m=1,h=1<<(v=i?n-1|0:b),g=v>>>5|0,F=f[s>>2],i=n;s:{for(;;){if(!(f[(i>>>3&536870908)+F>>2]>>>i&1||-1==(0|(b=f[f[f[s+64>>2]+12>>2]+(i<<2)>>2]))||(_=f[A>>2],l=f[s+28>>2],(0|(y=f[_+(f[l+(b<<2)>>2]<<2)>>2]))>=(0|d)||(0|(k=f[_+(f[l+((((k=b+1|0)>>>0)%3|0?k:b-2|0)<<2)>>2]<<2)>>2]))>=(0|d)||(0|(l=f[_+(f[l+(b+((b>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2]))>=(0|d)))){if(a){if(b=f[(o+16|0)+p(u,12)>>2],_=p(a,l),k=p(a,k),y=p(a,y),l=0,C=0,N)for(;f[b+(l<<2)>>2]=(f[(l+_<<2)+t>>2]+f[(l+k<<2)+t>>2]|0)-f[(l+y<<2)+t>>2],f[b+((w=1|l)<<2)>>2]=(f[(_+w<<2)+t>>2]+f[(k+w<<2)+t>>2]|0)-f[(y+w<<2)+t>>2],l=l+2|0,(0|D)!=(0|(C=C+2|0)););M&&(f[b+(l<<2)>>2]=(f[(l+_<<2)+t>>2]+f[(l+k<<2)+t>>2]|0)-f[(l+y<<2)+t>>2])}if(b=4,4==(0|(u=u+1|0)))break s}c:if(1&m){if(l=i-2|0,b=i+1|0,i=-1,-1==(0|(b=(b>>>0)%3|0?b:l))|f[f[s>>2]+(b>>>3&536870908)>>2]>>>b&1)break c;if(-1==(0|(b=f[f[f[s+64>>2]+12>>2]+(b<<2)>>2])))break c;i=((i=b+1|0)>>>0)%3|0?i:b-2|0}else{if((i>>>0)%3|0)l=i-1|0;else if(l=i+2|0,i=-1,-1==(0|l))break c;i=-1,f[f[s>>2]+(l>>>3&536870908)>>2]>>>l&1||-1!=(0|(b=f[f[f[s+64>>2]+12>>2]+(l<<2)>>2]))&&(i=(b>>>0)%3|0?b-1|0:b+2|0)}c:if((0|i)!=(0|n)){if(!(1&(1^m)|-1!=(0|i))){if(!G|h&f[f[s>>2]+(g<<2)>>2])break c;if(-1==(0|(i=f[f[f[s+64>>2]+12>>2]+(v<<2)>>2])))break c;m=0,i=(i>>>0)%3|0?i-1|0:i+2|0}if(-1!=(0|i))continue}break}if((0|(b=u))<=0)break f}for(a&&Je(f[o>>2],0,W),w=((i=b-1|0)<<2)+c|0,C=i=p(i,12)+e|0,G=f[i- -64>>2],y=0,m=0,i=0;;){if(n=f[w>>2],f[w>>2]=n+1,n>>>0>=G>>>0)break r;if(!(f[f[C+60>>2]+(n>>>3&536870908)>>2]>>>n&1)&&(i=i+1|0,a)){if(u=f[o>>2],_=f[(o+16|0)+p(m,12)>>2],v=0,l=0,n=0,N>>>0>=3)for(;f[(h=(k=l<<2)+u|0)>>2]=f[h>>2]+f[_+k>>2],f[(g=(h=4|k)+u|0)>>2]=f[g>>2]+f[_+h>>2],f[(g=(h=8|k)+u|0)>>2]=f[g>>2]+f[_+h>>2],f[(h=(k|=12)+u|0)>>2]=f[h>>2]+f[_+k>>2],l=l+4|0,(0|Z)!=(0|(n=n+4|0)););if(U)for(;f[(k=(n=l<<2)+u|0)>>2]=f[k>>2]+f[n+_>>2],l=l+1|0,(0|U)!=(0|(v=v+1|0)););}if((0|(m=m+1|0))==(0|b))break}if(n=m=p(a,d),!i)break o;if(!a)break i;if(n=f[o>>2],l=0,b=0,N)break n;break a}n=p(a,d)}if(f[e+8>>2]<=0)break t;for(m=(p(d-1|0,a)<<2)+t|0,u=f[e+32>>2],l=0;(0|(b=f[(i=l<<2)+m>>2]))>(0|(_=f[e+16>>2]))?f[i+u>>2]=_:(i=i+u|0,_=f[e+12>>2],f[i>>2]=(0|_)>(0|b)?_:b),(0|(l=l+1|0))<(0|(b=f[e+8>>2])););if(i=0,(0|b)<=0)break t;for(l=(n<<=2)+t|0,m=r+n|0;;){n=(b=i<<2)+l|0,b=f[b+m>>2]+f[b+u>>2]|0,f[n>>2]=b;o:{if((0|b)>f[e+16>>2])b=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break o;b=b+f[e+20>>2]|0}f[n>>2]=b}if(!((0|(i=i+1|0))<f[e+8>>2]))break}break t}li(),T()}for(;f[(_=(u=l<<2)+n|0)>>2]=f[_>>2]/(0|i),f[(u=n+(4|u)|0)>>2]=f[u>>2]/(0|i),l=l+2|0,(0|D)!=(0|(b=b+2|0)););}M&&(f[(n=n+(l<<2)|0)>>2]=f[n>>2]/(0|i))}if(!(f[e+8>>2]<=0)){for(u=f[e+32>>2],l=0;(0|(n=f[(i=l<<2)+E>>2]))>(0|(b=f[e+16>>2]))?f[i+u>>2]=b:(i=i+u|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|n)?b:n),(0|(l=l+1|0))<(0|(n=f[e+8>>2])););if(i=0,!((0|n)<=0))for(l=(n=m<<2)+t|0,m=r+n|0;;){n=(b=i<<2)+l|0,b=f[b+m>>2]+f[b+u>>2]|0,f[n>>2]=b;i:{if((0|b)>f[e+16>>2])b=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break i;b=b+f[e+20>>2]|0}f[n>>2]=b}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}}if(y=1,(0|I)==(0|(d=d+1|0)))break}return(e=f[o>>2])&&ee(e),ee(c),(e=f[o+52>>2])&&(f[o+56>>2]=e,ee(e)),(e=f[o+40>>2])&&(f[o+44>>2]=e,ee(e)),(e=f[o+28>>2])&&(f[o+32>>2]=e,ee(e)),(e=f[o+16>>2])&&(f[o+20>>2]=e,ee(e)),V=o- -64|0,0|y}oi(),T()},function(e){var r=0;return f[(e|=0)>>2]=3292,(r=f[e+76>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r=0;f[(e|=0)>>2]=3292,(r=f[e+76>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ti,ht,ei,Xt,gt,me,function(e,r,t,i,a,o){e|=0,r|=0,t|=0,i|=0,o|=0;var s=0,c=0,b=0,l=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,M=0,U=0,I=0,B=0,Z=0,W=0,F=0,x=0,S=0,j=0,O=0,J=0,Q=0,P=0,z=0,L=0,X=0,H=0,q=0,K=0;if(2==(0|(a|=0))){f[e+8>>2]=2,f[e- -64>>2]=o,a=f[(i=e+32|0)>>2],(s=(o=f[e+36>>2]-a|0)>>2)>>>0<=1?sr(i,2-s|0):8!=(0|o)&&(f[e+36>>2]=a+8);e:if(i=f[e+56>>2],(0|(o=(a=f[i+4>>2])-(i=f[i>>2])|0))<=0)o=0;else{if((0|i)!=(0|a))for(p=e+60|0,X=(0|(F=o>>2))>1?F:1,o=1;;){V=l=V-80|0,a=-1,s=-1,-1!=(0|(i=f[(h<<2)+i>>2]))&&(a=((a=i+1|0)>>>0)%3|0?a:i-2|0,s=i-1|0,(i>>>0)%3|0||(s=i+2|0)),b=f[p+36>>2],i=f[b>>2];r:{t:{i:{a:{if(b=f[b+4>>2]-i>>2,c=a<<2,a=f[f[p+32>>2]+28>>2],!(b>>>0<=(u=f[c+a>>2])>>>0||(a=f[a+(s<<2)>>2])>>>0>=b>>>0)){n:{if(!((0|(s=f[i+(a<<2)>>2]))>=(0|h)|(0|(b=f[i+(u<<2)>>2]))>=(0|h))){if(C=f[4+(i=(s<<3)+t|0)>>2],v=f[4+(a=(b<<3)+t|0)>>2],!((0|(N=f[i>>2]))!=(0|(I=f[a>>2]))|(0|v)!=(0|C))){f[p+8>>2]=I,f[p+12>>2]=v;break n}if(i=f[f[p+4>>2]+(h<<2)>>2],f[l+72>>2]=0,f[l+76>>2]=0,f[(a=l- -64|0)>>2]=0,f[a+4>>2]=0,f[l+56>>2]=0,f[l+60>>2]=0,a=f[p>>2],A[a+84|0]||(i=f[f[a+68>>2]+(i<<2)>>2]),Y(a,i,n[a+24|0],l+56|0),i=f[f[p+4>>2]+(b<<2)>>2],f[l+48>>2]=0,f[l+52>>2]=0,f[l+40>>2]=0,f[l+44>>2]=0,f[l+32>>2]=0,f[l+36>>2]=0,a=f[p>>2],A[a+84|0]||(i=f[f[a+68>>2]+(i<<2)>>2]),Y(a,i,n[a+24|0],l+32|0),i=f[f[p+4>>2]+(s<<2)>>2],f[l+24>>2]=0,f[l+28>>2]=0,f[l+16>>2]=0,f[l+20>>2]=0,f[l+8>>2]=0,f[l+12>>2]=0,a=f[p>>2],A[a+84|0]||(i=f[f[a+68>>2]+(i<<2)>>2]),Y(a,i,n[a+24|0],l+8|0),x=f[l+44>>2],i=Lr(d=(i=f[l+16>>2])-(a=B=f[l+40>>2])|0,u=f[l+20>>2]-(x+(i>>>0<a>>>0)|0)|0,d,u),a=D,k=i,S=f[l+36>>2],s=Lr(g=(i=f[l+8>>2])-(s=Z=f[l+32>>2])|0,c=f[l+12>>2]-(S+(i>>>0<s>>>0)|0)|0,g,c),a=D+a|0,a=(i=k+s|0)>>>0<s>>>0?a+1|0:a,k=i,j=f[l+52>>2],y=Lr(m=(i=f[l+24>>2])-(s=W=f[l+48>>2])|0,_=f[l+28>>2]-(j+(i>>>0<s>>>0)|0)|0,m,_),s=D+a|0,w=i=k+y|0,i|(y=i>>>0<y>>>0?s+1|0:s)){if(i=Lr((i=k=f[l+64>>2])-B|0,(J=f[l+68>>2])-((i>>>0<B>>>0)+x|0)|0,d,u),a=D,i=(s=i)+(b=Lr((i=Q=f[l+56>>2])-Z|0,(P=f[l+60>>2])-((i>>>0<Z>>>0)+S|0)|0,g,c))|0,s=D+a|0,s=i>>>0<b>>>0?s+1|0:s,i=(a=i)+(b=Lr((i=z=f[l+72>>2])-W|0,(L=f[l+76>>2])-((i>>>0<W>>>0)+j|0)|0,m,_))|0,a=D+s|0,G=i,E=i>>>0<b>>>0?a+1|0:a,s=(i=_>>31)+_|0,s=(a=i+m|0)>>>0<i>>>0?s+1|0:s,a^=i,b=i^=s,s=(i=u>>31)+u|0,M=i^(R=i+d|0),R=i^=i>>>0>R>>>0?s+1|0:s,O=0,s=(i=c>>31)+c|0,s=(U=i+g|0)>>>0<i>>>0?s+1|0:s,H=a,U^=i,(a=Te(-1,2147483647,(a=(0|b)==(0|(i=(s=(0|R)==(0|(i^=s))&M>>>0>U>>>0|i>>>0<R>>>0)?R:i))&a>>>0>(M=s?M:U)>>>0|i>>>0<b>>>0)?H:M,a?b:i)>>>0<G>>>0)&(0|(i=D))<=(0|E)|(0|i)<(0|E))break r;if(b=1,i=0,a=k,d=Pr(Lr(d,u,G,E),D,w,y),s=D+x|0,s=J-((a>>>0<(u=d+B|0)>>>0)+(s=u>>>0<d>>>0?s+1|0:s)|0)|0,s=Lr(a=a-u|0,s,a,s),d=D,a=Q,k=s,c=Pr(Lr(g,c,G,E),D,w,y),s=D+S|0,s=P-((a>>>0<(u=c+Z|0)>>>0)+(s=c>>>0>u>>>0?s+1|0:s)|0)|0,u=Lr(a=a-u|0,s,a,s),a=D+d|0,u=a=(s=k+u|0)>>>0<u>>>0?a+1|0:a,a=z,k=s,_=Pr(Lr(m,_,G,E),D,w,y),s=D+j|0,s=L-((a>>>0<(c=_+W|0)>>>0)+(s=c>>>0<_>>>0?s+1|0:s)|0)|0,c=Lr(a=a-c|0,s,a,s),s=D+u|0,u=Lr(a=k+c|0,a>>>0<c>>>0?s+1|0:s,w,y),c=a=D,!a&u>>>0<=1)break a;for(_=u,a=c;s=i<<1|b>>>31,b<<=1,i=s,d=!a&_>>>0>7|0!=(0|a),_=(3&a)<<30|_>>>2,a=a>>>2|0,d;);break i}}if((0|b)<(0|h))i=b<<1;else{if((0|h)<=0){f[p+8>>2]=0,f[p+12>>2]=0;break n}i=(h<<1)-2|0}i=(i<<2)+t|0,f[p+8>>2]=f[i>>2],f[p+12>>2]=f[i+4>>2]}O=1;break r}li(),T()}if(i=c,(b=u)-1|0)break t}for(;a=Te(u,c,b,i)+b|0,s=i+D|0,a=Lr(b=(1&(s=a>>>0<b>>>0?s+1|0:s))<<31|a>>>1,i=s>>>1|0,b,i),(0|c)==(0|(s=D))&a>>>0>u>>>0|s>>>0>c>>>0;);}(u=f[p+20>>2])&&(a=u-1|0,_=f[f[p+16>>2]+(a>>>3&536870908)>>2],f[p+20>>2]=a,s=Lr(G,E,d=C-(s=v)|0,g=(C>>31)-((c=s>>31)+(s>>>0>C>>>0)|0)|0),m=D,c=(v=Lr(v,c,w,y))+s|0,s=D+m|0,s=c>>>0<v>>>0?s+1|0:s,k=c,N=c=Lr(b,i,m=N-(c=I)|0,C=(N>>31)-((v=c>>31)+(c>>>0>N>>>0)|0)|0),c=k+(_=(a=_>>>a&1)?0-c|0:c)|0,k=s,s=D,s=k+(a?0-(s+(0!=(0|N))|0)|0:s)|0,q=p,K=Pr(c,c>>>0<_>>>0?s+1|0:s,w,y),f[q+12>>2]=K,s=Lr(m,C,G,E),_=D,c=(m=Lr(w,y,I,v))+s|0,s=D+_|0,s=c>>>0<m>>>0?s+1|0:s,k=c,i=Lr(b,i,d,g),b=k+(c=a?i:0-i|0)|0,k=s,s=D,a=k+(a?s:0-((0!=(0|i))+s|0)|0)|0,q=p,K=Pr(b,b>>>0<c>>>0?a+1|0:a,w,y),f[q+8>>2]=K),O=0!=(0|u)}if(V=l+80|0,!O)break e;if(!(f[e+8>>2]<=0)){for(s=f[e+32>>2],i=0;(0|(o=f[68+((a=i<<2)+e|0)>>2]))>(0|(b=f[e+16>>2]))?f[a+s>>2]=b:(a=a+s|0,b=f[e+12>>2],f[a>>2]=(0|b)>(0|o)?b:o),(0|(i=i+1|0))<(0|(o=f[e+8>>2])););if(a=0,!((0|o)<=0))for(b=(i=h<<3)+t|0,u=r+i|0;;){i=(o=a<<2)+b|0,o=f[o+u>>2]+f[o+s>>2]|0,f[i>>2]=o;r:{if((0|o)>f[e+16>>2])o=o-f[e+20>>2]|0;else{if((0|o)>=f[e+12>>2])break r;o=o+f[e+20>>2]|0}f[i>>2]=o}if(!((0|(a=a+1|0))<f[e+8>>2]))break}}if(o=(0|F)>(0|(h=h+1|0)),(0|h)==(0|X))break e;if(a=f[e+56>>2],i=f[a>>2],!(f[a+4>>2]-i>>2>>>0>h>>>0))break}li(),T()}e=1^o}else e=0;return 1&e},function(e){var r;return f[(e|=0)>>2]=3528,f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r;f[(e|=0)>>2]=3528,f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ni,nt,ei,Xt,wt,Ye,function(e,r,t,i,a,n){r|=0,t|=0,i|=0,a|=0,n|=0;var o,s=0,c=0,A=0,b=0,l=0,u=0,_=0,p=0;V=o=V-32|0,f[68+(e|=0)>>2]=n,a=f[e+56>>2],i=f[a>>2],n=f[a+4>>2],f[o+24>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0;e:if(!((0|(n=n-i|0))<=0)){if((0|(i=f[a>>2]))!=f[a+4>>2])for(u=e+112|0,_=e+60|0,p=(a=n>>>2|0)>>>0>1?a:1;;){if(J(_,f[(b<<2)+i>>2],o+16|0),i=(a=f[o+20>>2])>>31,s=(n=f[o+16>>2])>>31,c=(A=f[o+24>>2])>>31,s=(c^=c+A)+((i^i+a)+(s^n+s)|0)|0,i=0,(i=s>>>0<c>>>0?1:i)|s?(n=Pr(Lr(c=f[e+108>>2],l=c>>31,n,n>>31),D,s,i),f[o+16>>2]=n,i=Pr(Lr(c,l,a,a>>31),D,s,i),f[o+20>>2]=i,i=(a=(a=i)+(i>>=31)^i)+((i=n>>31)+n^i)|0,f[o+24>>2]=(0|A)>=0?c-i:i-c):f[o+16>>2]=f[e+108>>2],i=jr(u),n=f[o+16>>2],i?(f[o+24>>2]=0-f[o+24>>2],a=0-f[o+20>>2]|0,f[o+20>>2]=a,n=0-n|0,f[o+16>>2]=n):a=f[o+20>>2],(0|n)>=0?(n=(i=f[e+108>>2])+f[o+24>>2]|0,i=i+a|0):((0|a)<0?(i=(n=f[o+24>>2])>>31,i^=i+n):(i=(n=f[o+24>>2])>>31,i=f[e+100>>2]-(i^i+n)|0),(0|n)<0?n=(n=a)+(a>>=31)^a:(n=a,a>>=31,n=f[e+100>>2]-(n+a^a)|0)),a=f[e+100>>2],i|n?(0|a)!=(0|n)|i?n|(s=(0|i)!=(0|a))?i||(0|(A=f[e+108>>2]))>=(0|n)?s||(0|(s=f[e+108>>2]))<=(0|n)?(0|a)!=(0|n)||(0|(a=f[e+108>>2]))<=(0|i)?n||(n=0,(0|(a=f[e+108>>2]))>=(0|i)||(i=(a<<1)-i|0)):i=(a<<1)-i|0:n=(s<<1)-n|0:(n=(A<<1)-n|0,i=0):n=i:i=n:i=n=a,f[o+12>>2]=n,f[o+8>>2]=i,!(f[e+8>>2]<=0)){for(s=f[e+32>>2],n=0;(0|(a=f[e+16>>2]))<(0|i)?f[s+(n<<2)>>2]=a:(a=s+(n<<2)|0,A=f[e+12>>2],f[a>>2]=(0|A)>(0|i)?A:i),(0|(n=n+1|0))<(0|(a=f[e+8>>2]));)i=f[(o+8|0)+(n<<2)>>2];if(i=0,!((0|a)<=0))for(A=(a=b<<3)+t|0,c=r+a|0;;){a=(n=i<<2)+A|0,n=f[n+c>>2]+f[n+s>>2]|0,f[a>>2]=n;r:{if((0|n)>f[e+16>>2])n=n-f[e+20>>2]|0;else{if((0|n)>=f[e+12>>2])break r;n=n+f[e+20>>2]|0}f[a>>2]=n}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}if((0|p)==(0|(b=b+1|0)))break e;if(a=f[e+56>>2],i=f[a>>2],!(f[a+4>>2]-i>>2>>>0>b>>>0))break}li(),T()}return V=o+32|0,1},$t,fi,dt,Ot,J,ci,Ct,ei,vt,function(e,r,t,i,a,n){r|=0,t|=0,i|=0,a|=0,n|=0;var o,s,c,A=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;if(f[8+(e|=0)>>2]=a,_=f[(i=e+32|0)>>2],(n=f[e+36>>2]-_>>2)>>>0<a>>>0?(sr(i,a-n|0),_=f[i>>2],i=f[e+8>>2]):(a>>>0<n>>>0&&(f[e+36>>2]=(a<<2)+_),i=a),c=f[e+52>>2],o=f[e+48>>2],n=0,d=Je(_t(d=(1073741823&a)!=(0|a)?-1:a<<2),0,d),!((0|i)<=0)){for(;(0|(A=f[(i=n<<2)+d>>2]))>(0|(l=f[e+16>>2]))?f[i+_>>2]=l:(i=i+_|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|A)?l:A),(0|(i=f[e+8>>2]))>(0|(n=n+1|0)););if(!((0|i)<=0))for(n=0;;){i=(A=n<<2)+t|0,A=f[r+A>>2]+f[A+_>>2]|0,f[i>>2]=A;e:{if((0|A)>f[e+16>>2])b=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break e;b=A+f[e+20>>2]|0}f[i>>2]=b}if(!((0|(i=f[e+8>>2]))>(0|(n=n+1|0))))break}}if(n=f[e+56>>2],s=f[n>>2],(0|(n=f[n+4>>2]-s|0))>=5)for(h=(0|(n>>=2))>2?n:2,y=n>>>0>1?n:1,v=-2&a,g=1&a,_=1;;){e:{r:{if((0|_)!=(0|y)){if(m=p(a,_),-1==(0|(n=f[(_<<2)+s>>2])))break r;if(-1==(0|(n=f[f[o+12>>2]+(n<<2)>>2])))break r;l=f[c>>2],A=f[o>>2],u=f[l+(f[A+(n<<2)>>2]<<2)>>2],b=-1!=(0|(b=((b=n+1|0)>>>0)%3|0?b:n-2|0))?f[A+(b<<2)>>2]:-1;t:{if((n>>>0)%3|0)n=n-1|0;else if(k=-1,-1==(0|(n=n+2|0)))break t;k=f[A+(n<<2)>>2]}if((0|u)>=(0|_))break r;if((0|(n=f[(b<<2)+l>>2]))>=(0|_))break r;if((0|(A=f[l+(k<<2)>>2]))>=(0|_))break r;if(!((0|a)<=0)){if(A=p(a,A),l=p(a,n),u=p(a,u),n=0,k=0,1!=(0|a))for(;f[d+(n<<2)>>2]=(f[(n+A<<2)+t>>2]+f[(n+l<<2)+t>>2]|0)-f[(n+u<<2)+t>>2],f[d+((b=1|n)<<2)>>2]=(f[(A+b<<2)+t>>2]+f[(l+b<<2)+t>>2]|0)-f[(b+u<<2)+t>>2],n=n+2|0,(0|v)!=(0|(k=k+2|0)););g&&(f[d+(n<<2)>>2]=(f[(n+A<<2)+t>>2]+f[(n+l<<2)+t>>2]|0)-f[(n+u<<2)+t>>2])}if((0|i)<=0)break e;for(l=f[e+32>>2],n=0;(0|(A=f[(i=n<<2)+d>>2]))>(0|(u=f[e+16>>2]))?f[i+l>>2]=u:(i=i+l|0,u=f[e+12>>2],f[i>>2]=(0|u)>(0|A)?u:A),(0|(i=f[e+8>>2]))>(0|(n=n+1|0)););if(n=0,(0|i)<=0)break e;for(u=(i=m<<2)+t|0,b=r+i|0;;){i=(A=n<<2)+u|0,A=f[A+b>>2]+f[A+l>>2]|0,f[i>>2]=A;t:{if((0|A)>f[e+16>>2])k=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break t;k=A+f[e+20>>2]|0}f[i>>2]=k}if(!((0|(i=f[e+8>>2]))>(0|(n=n+1|0))))break}break e}li(),T()}if(!((0|i)<=0)){for(u=(p(_-1|0,a)<<2)+t|0,l=f[e+32>>2],n=0;(0|(A=f[(i=n<<2)+u>>2]))>(0|(b=f[e+16>>2]))?f[i+l>>2]=b:(i=i+l|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|A)?b:A),(0|(i=f[e+8>>2]))>(0|(n=n+1|0)););if(n=0,!((0|i)<=0))for(u=(i=m<<2)+t|0,b=r+i|0;;){i=(A=n<<2)+u|0,A=f[A+b>>2]+f[A+l>>2]|0,f[i>>2]=A;r:{if((0|A)>f[e+16>>2])k=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break r;k=A+f[e+20>>2]|0}f[i>>2]=k}if(!((0|(i=f[e+8>>2]))>(0|(n=n+1|0))))break}}}if((0|h)==(0|(_=_+1|0)))break}return ee(d),1},ci,function(e){var r=0;return f[(e|=0)>>2]=4608,(r=f[e+96>>2])&&ee(r),(r=f[e+84>>2])&&ee(r),(r=f[e+72>>2])&&ee(r),(r=f[e+60>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r=0;f[(e|=0)>>2]=4608,(r=f[e+96>>2])&&ee(r),(r=f[e+84>>2])&&ee(r),(r=f[e+72>>2])&&ee(r),(r=f[e+60>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ri,vt,fe,function(e,r,t,i,a,n){r|=0,t|=0,i|=0,a|=0,n|=0;var o,s,c,A,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0,M=0,U=0,I=0,B=0,Z=0,W=0;V=o=V+-64|0,f[8+(e|=0)>>2]=a,b=f[(n=e+32|0)>>2];e:{if((i=f[e+36>>2]-b>>2)>>>0<a>>>0)sr(n,a-i|0),f[o+56>>2]=0,f[o+60>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o>>2]=0;else if(i>>>0>a>>>0&&(f[e+36>>2]=b+(a<<2)),f[o+56>>2]=0,f[o+60>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o>>2]=0,i=0,!a)break e;ve(o+16|0,a,o),l=f[o+28>>2],i=f[o+32>>2]}f[o>>2]=0;e:if((i=i-l>>2)>>>0>=a>>>0){if(i>>>0<=a>>>0)break e;f[o+32>>2]=(a<<2)+l}else ve(o+16|12,a-i|0,o);f[o>>2]=0,n=f[o+40>>2];e:if((i=f[o+44>>2]-n>>2)>>>0>=a>>>0){if(i>>>0<=a>>>0)break e;f[o+44>>2]=n+(a<<2)}else ve(o+40|0,a-i|0,o);f[o>>2]=0,n=f[o+52>>2];e:if((i=f[o+56>>2]-n>>2)>>>0>=a>>>0){if(i>>>0<=a>>>0)break e;f[o+56>>2]=n+(a<<2)}else ve(o+52|0,a-i|0,o);if(l=0,!(f[e+8>>2]<=0)){for(_=f[e+32>>2],b=f[o+16>>2];(0|(n=f[(i=l<<2)+b>>2]))>(0|(m=f[e+16>>2]))?f[i+_>>2]=m:(i=i+_|0,m=f[e+12>>2],f[i>>2]=(0|m)>(0|n)?m:n),(0|(l=l+1|0))<(0|(i=f[e+8>>2])););if(!((0|i)<=0))for(i=0;;){n=(b=i<<2)+t|0,b=f[r+b>>2]+f[b+_>>2]|0,f[n>>2]=b;e:{if((0|b)>f[e+16>>2])u=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break e;u=b+f[e+20>>2]|0}f[n>>2]=u}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}A=f[e+52>>2],c=f[e+48>>2],s=_t(16),f[(i=s)>>2]=0,f[i+4>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[o+8>>2]=0,f[o>>2]=0,f[o+4>>2]=0;e:{if(a){if(a>>>0>=1073741824)break e;E=_t(i=a<<2),f[o>>2]=E,f[o+8>>2]=i+E,Je(E,0,i)}g=1,i=f[e+56>>2],R=f[i>>2];r:if(!((0|(i=f[i+4>>2]-R|0))<5))for(I=(0|(i>>=2))>2?i:2,B=i>>>0>1?i:1,D=-2&a,M=1&a,Z=-4&a,U=3&a,N=a-1|0,W=a<<2,m=1;;){t:{i:{a:{n:{if((0|m)!=(0|B)){i=((n=f[(m<<2)+R>>2])>>>0)%3|0;o:{f:if(-1!=(0|n)){_=0,G=0!=(0|i)|-1!=(0|(b=n+2|0)),v=(w=f[c+12>>2])+((i?n-1|0:b)<<2)|0,h=1,i=n;s:{for(;;){if(-1!=(0|(b=f[w+(i<<2)>>2]))){k=-1,g=f[A>>2],d=f[c>>2],l=g+(f[d+(b<<2)>>2]<<2)|0,-1!=(0|(y=((y=b+1|0)>>>0)%3|0?y:b-2|0))&&(k=f[d+(y<<2)>>2]),y=f[l>>2];c:{if((b>>>0)%3|0)l=b-1|0;else if(u=-1,-1==(0|(l=b+2|0)))break c;u=f[d+(l<<2)>>2]}if(!((0|m)<=(0|y)||(0|(l=f[g+(k<<2)>>2]))>=(0|m)||(0|(k=f[g+(u<<2)>>2]))>=(0|m))){if(b=f[(o+16|0)+p(_,12)>>2],a){if(k=p(a,k),d=p(a,l),g=p(a,y),l=0,u=0,N)for(;f[b+(l<<2)>>2]=(f[(l+k<<2)+t>>2]+f[(l+d<<2)+t>>2]|0)-f[(l+g<<2)+t>>2],f[b+((y=1|l)<<2)>>2]=(f[(k+y<<2)+t>>2]+f[(d+y<<2)+t>>2]|0)-f[(y+g<<2)+t>>2],l=l+2|0,(0|D)!=(0|(u=u+2|0)););M&&(f[b+(l<<2)>>2]=(f[(l+k<<2)+t>>2]+f[(l+d<<2)+t>>2]|0)-f[(l+g<<2)+t>>2])}if(b=4,4==(0|(_=_+1|0)))break s}}c:if(1&h){if(u=-1,-1==(0|(i=((l=i+1|0)>>>0)%3|0?l:i-2|0)))break c;if(u=-1,-1==(0|(i=f[w+(i<<2)>>2])))break c;u=((b=i+1|0)>>>0)%3|0?b:i-2|0}else{if((i>>>0)%3|0)l=i-1|0;else if(u=-1,-1==(0|(l=i+2|0)))break c;u=-1,-1!=(0|(i=f[w+(l<<2)>>2]))&&(u=i-1|0,(i>>>0)%3|0||(u=i+2|0))}c:if((0|n)!=(0|(i=u))){if(!(1&(1^h)|-1!=(0|i))){if(!G)break c;if(-1==(0|(i=f[v>>2])))break c;h=0,i=(i>>>0)%3|0?i-1|0:i+2|0}if(-1!=(0|i))continue}break}if((0|(b=_))<=0)break f}for(a&&Je(f[o>>2],0,W),y=((i=b-1|0)<<2)+s|0,u=i=p(i,12)+e|0,G=f[i- -64>>2],g=0,h=0,i=0;;){if(n=f[y>>2],f[y>>2]=n+1,n>>>0>=G>>>0)break r;if(!(f[f[u+60>>2]+(n>>>3&536870908)>>2]>>>n&1)&&(i=i+1|0,a)){if(_=f[o>>2],w=f[(o+16|0)+p(h,12)>>2],k=0,l=0,n=0,N>>>0>=3)for(;f[(v=(d=l<<2)+_|0)>>2]=f[v>>2]+f[d+w>>2],f[(C=(v=4|d)+_|0)>>2]=f[C>>2]+f[w+v>>2],f[(C=(v=8|d)+_|0)>>2]=f[C>>2]+f[w+v>>2],f[(v=(d|=12)+_|0)>>2]=f[v>>2]+f[d+w>>2],l=l+4|0,(0|Z)!=(0|(n=n+4|0)););if(U)for(;f[(d=(n=l<<2)+_|0)>>2]=f[d>>2]+f[n+w>>2],l=l+1|0,(0|U)!=(0|(k=k+1|0)););}if((0|(h=h+1|0))==(0|b))break}if(n=h=p(a,m),!i)break o;if(!a)break i;if(n=f[o>>2],l=0,b=0,N)break n;break a}n=p(a,m)}if(f[e+8>>2]<=0)break t;for(h=(p(m-1|0,a)<<2)+t|0,_=f[e+32>>2],l=0;(0|(b=f[(i=l<<2)+h>>2]))>(0|(k=f[e+16>>2]))?f[i+_>>2]=k:(i=i+_|0,k=f[e+12>>2],f[i>>2]=(0|k)>(0|b)?k:b),(0|(l=l+1|0))<(0|(b=f[e+8>>2])););if(i=0,(0|b)<=0)break t;for(l=(n<<=2)+t|0,h=r+n|0;;){n=(b=i<<2)+l|0,b=f[b+h>>2]+f[b+_>>2]|0,f[n>>2]=b;o:{if((0|b)>f[e+16>>2])u=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break o;u=b+f[e+20>>2]|0}f[n>>2]=u}if(!((0|(i=i+1|0))<f[e+8>>2]))break}break t}li(),T()}for(;f[(k=(_=l<<2)+n|0)>>2]=f[k>>2]/(0|i),f[(_=n+(4|_)|0)>>2]=f[_>>2]/(0|i),l=l+2|0,(0|D)!=(0|(b=b+2|0)););}M&&(f[(n=n+(l<<2)|0)>>2]=f[n>>2]/(0|i))}if(!(f[e+8>>2]<=0)){for(_=f[e+32>>2],l=0;(0|(n=f[(i=l<<2)+E>>2]))>(0|(b=f[e+16>>2]))?f[i+_>>2]=b:(i=i+_|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|n)?b:n),(0|(l=l+1|0))<(0|(n=f[e+8>>2])););if(i=0,!((0|n)<=0))for(l=(n=h<<2)+t|0,h=r+n|0;;){n=(b=i<<2)+l|0,b=f[b+h>>2]+f[b+_>>2]|0,f[n>>2]=b;i:{if((0|b)>f[e+16>>2])u=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break i;u=b+f[e+20>>2]|0}f[n>>2]=u}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}}if(g=1,(0|I)==(0|(m=m+1|0)))break}return(e=f[o>>2])&&ee(e),ee(s),(e=f[o+52>>2])&&(f[o+56>>2]=e,ee(e)),(e=f[o+40>>2])&&(f[o+44>>2]=e,ee(e)),(e=f[o+28>>2])&&(f[o+32>>2]=e,ee(e)),(e=f[o+16>>2])&&(f[o+20>>2]=e,ee(e)),V=o- -64|0,0|g}oi(),T()},function(e){var r=0;return f[(e|=0)>>2]=4844,(r=f[e+76>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r=0;f[(e|=0)>>2]=4844,(r=f[e+76>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ti,ht,ei,Xt,gt,me,function(e,r,t,i,a,o){e|=0,r|=0,t|=0,i|=0,o|=0;var s=0,c=0,b=0,l=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,M=0,U=0,I=0,B=0,Z=0,W=0,F=0,x=0,S=0,j=0,O=0,J=0,Q=0,P=0,z=0,L=0,X=0,H=0,q=0;if(2==(0|(a|=0))){f[e+8>>2]=2,f[e- -64>>2]=o,a=f[(i=e+32|0)>>2],(s=(o=f[e+36>>2]-a|0)>>2)>>>0<=1?sr(i,2-s|0):8!=(0|o)&&(f[e+36>>2]=a+8);e:if(i=f[e+56>>2],(0|(o=(a=f[i+4>>2])-(i=f[i>>2])|0))<=0)o=0;else{if((0|i)!=(0|a))for(p=e+60|0,X=(0|(W=o>>2))>1?W:1,o=1;;){if(V=b=V-80|0,a=-1,-1==(0|(s=f[(m<<2)+i>>2]))||(c=f[p+32>>2],-1!=(0|(i=((i=s+1|0)>>>0)%3|0?i:s-2|0))&&(a=f[f[c>>2]+(i<<2)>>2]),i=-1,-1!=(0|(s=s+((s>>>0)%3|0?-1:2)|0))&&(i=f[f[c>>2]+(s<<2)>>2]),c=f[p+36>>2],s=f[c>>2],(c=f[c+4>>2]-s>>2)>>>0<=a>>>0|i>>>0>=c>>>0))li(),T();else{c=f[s+(a<<2)>>2];r:{t:{i:{a:{n:{if(!((0|(s=f[s+(i<<2)>>2]))>=(0|m)|(0|c)>=(0|m))){if(E=f[4+(i=(s<<3)+t|0)>>2],y=f[4+(a=(c<<3)+t|0)>>2],!((0|(g=f[i>>2]))!=(0|(I=f[a>>2]))|(0|y)!=(0|E))){f[p+8>>2]=I,f[p+12>>2]=y;break n}if(i=f[f[p+4>>2]+(m<<2)>>2],f[b+72>>2]=0,f[b+76>>2]=0,f[(a=b- -64|0)>>2]=0,f[a+4>>2]=0,f[b+56>>2]=0,f[b+60>>2]=0,a=f[p>>2],A[a+84|0]||(i=f[f[a+68>>2]+(i<<2)>>2]),Y(a,i,n[a+24|0],b+56|0),i=f[f[p+4>>2]+(c<<2)>>2],f[b+48>>2]=0,f[b+52>>2]=0,f[b+40>>2]=0,f[b+44>>2]=0,f[b+32>>2]=0,f[b+36>>2]=0,a=f[p>>2],A[a+84|0]||(i=f[f[a+68>>2]+(i<<2)>>2]),Y(a,i,n[a+24|0],b+32|0),a=f[f[p+4>>2]+(s<<2)>>2],f[b+24>>2]=0,f[b+28>>2]=0,f[b+16>>2]=0,f[b+20>>2]=0,f[b+8>>2]=0,f[b+12>>2]=0,i=f[p>>2],A[i+84|0]||(a=f[f[i+68>>2]+(a<<2)>>2]),Y(i,a,n[i+24|0],b+8|0),F=f[b+44>>2],i=Lr(k=(i=f[b+16>>2])-(a=N=f[b+40>>2])|0,u=f[b+20>>2]-(F+(i>>>0<a>>>0)|0)|0,k,u),a=D,d=i,x=f[b+36>>2],s=Lr(w=(i=f[b+8>>2])-(s=B=f[b+32>>2])|0,l=f[b+12>>2]-(x+(i>>>0<s>>>0)|0)|0,w,l),a=D+a|0,a=(i=d+s|0)>>>0<s>>>0?a+1|0:a,d=i,S=f[b+52>>2],h=Lr(v=(i=f[b+24>>2])-(s=Z=f[b+48>>2])|0,_=f[b+28>>2]-(S+(i>>>0<s>>>0)|0)|0,v,_),s=D+a|0,C=i=d+h|0,i|(h=i>>>0<h>>>0?s+1|0:s)){if(i=Lr((i=O=f[b+64>>2])-N|0,(J=f[b+68>>2])-((i>>>0<N>>>0)+F|0)|0,k,u),a=D,i=(s=i)+(c=Lr((i=Q=f[b+56>>2])-B|0,(P=f[b+60>>2])-((i>>>0<B>>>0)+x|0)|0,w,l))|0,s=D+a|0,s=i>>>0<c>>>0?s+1|0:s,i=(a=i)+(c=Lr((i=z=f[b+72>>2])-Z|0,(L=f[b+76>>2])-((i>>>0<Z>>>0)+S|0)|0,v,_))|0,a=D+s|0,R=i,G=i>>>0<c>>>0?a+1|0:a,s=(i=_>>31)+_|0,c=(a=i+v|0)^i,j=i^=s=a>>>0<i>>>0?s+1|0:s,a=(i=u>>31)+u|0,M=(s=i+k|0)^i,d=i^=s>>>0<i>>>0?a+1|0:a,a=0,s=(i=l>>31)+l|0,s=(U=i+w|0)>>>0<i>>>0?s+1|0:s,U^=i,(s=Te(-1,2147483647,(s=(0|j)==(0|(i=(s=(0|d)==(0|(i^=s))&M>>>0>U>>>0|i>>>0<d>>>0)?d:i))&c>>>0>(M=s?M:U)>>>0|i>>>0<j>>>0)?c:M,s?j:i)>>>0<R>>>0)&(0|(i=D))<=(0|G)|(0|i)<(0|G))break r;if(c=1,i=0,a=O,k=Pr(Lr(k,u,R,G),D,C,h),s=D+F|0,s=J-((a>>>0<(u=k+N|0)>>>0)+(s=u>>>0<k>>>0?s+1|0:s)|0)|0,s=Lr(a=a-u|0,s,a,s),k=D,a=Q,d=s,l=Pr(Lr(w,l,R,G),D,C,h),s=D+x|0,s=P-((a>>>0<(u=l+B|0)>>>0)+(s=l>>>0>u>>>0?s+1|0:s)|0)|0,u=Lr(a=a-u|0,s,a,s),a=D+k|0,u=a=(s=d+u|0)>>>0<u>>>0?a+1|0:a,a=z,d=s,_=Pr(Lr(v,_,R,G),D,C,h),s=D+S|0,s=L-((a>>>0<(l=_+Z|0)>>>0)+(s=l>>>0<_>>>0?s+1|0:s)|0)|0,l=Lr(a=a-l|0,s,a,s),s=D+u|0,u=Lr(a=d+l|0,a>>>0<l>>>0?s+1|0:s,C,h),l=a=D,!a&u>>>0<=1)break a;for(_=u,a=l;s=i<<1|c>>>31,c<<=1,i=s,k=!a&_>>>0>7|0!=(0|a),_=(3&a)<<30|_>>>2,a=a>>>2|0,k;);break i}}if((0|c)<(0|m))i=c<<1;else{if((0|m)<=0){f[p+8>>2]=0,f[p+12>>2]=0;break n}i=(m<<1)-2|0}i=(i<<2)+t|0,f[p+8>>2]=f[i>>2],f[p+12>>2]=f[i+4>>2]}a=1;break r}if(i=l,(c=u)-1|0)break t}for(;s=Te(u,l,c,i)+c|0,a=i+D|0,a=Lr(c=(1&(a=s>>>0<c>>>0?a+1|0:a))<<31|s>>>1,i=a>>>1|0,c,i),(0|l)==(0|(s=D))&a>>>0>u>>>0|s>>>0>l>>>0;);}(u=f[p+20>>2])&&(a=u-1|0,_=f[f[p+16>>2]+(a>>>3&536870908)>>2],f[p+20>>2]=a,s=Lr(R,G,k=E-(s=y)|0,w=(E>>31)-((l=s>>31)+(s>>>0>E>>>0)|0)|0),v=D,l=(y=Lr(y,l,C,h))+s|0,s=D+v|0,s=l>>>0<y>>>0?s+1|0:s,d=l,g=l=Lr(c,i,v=g-(l=I)|0,E=(g>>31)-((y=l>>31)+(l>>>0>g>>>0)|0)|0),_=d+(N=(a=l=_>>>a&1)?0-g|0:g)|0,d=s,s=D,a=d+(a?0-(s+(0!=(0|g))|0)|0:s)|0,H=p,q=Pr(_,_>>>0<N>>>0?a+1|0:a,C,h),f[H+12>>2]=q,a=Lr(v,E,R,G),s=D,_=Lr(C,h,I,y),s=D+s|0,s=(a=_+a|0)>>>0<_>>>0?s+1|0:s,i=Lr(c,i,k,w),c=(_=l?i:0-i|0)+a|0,a=D,a=(l?a:0-((0!=(0|i))+a|0)|0)+s|0,H=p,q=Pr(c,c>>>0<_>>>0?a+1|0:a,C,h),f[H+8>>2]=q),a=0!=(0|u)}V=b+80|0}if(!a)break e;if(!(f[e+8>>2]<=0)){for(s=f[e+32>>2],i=0;(0|(o=f[68+((a=i<<2)+e|0)>>2]))>(0|(c=f[e+16>>2]))?f[a+s>>2]=c:(a=a+s|0,c=f[e+12>>2],f[a>>2]=(0|c)>(0|o)?c:o),(0|(i=i+1|0))<(0|(o=f[e+8>>2])););if(a=0,!((0|o)<=0))for(c=(i=m<<3)+t|0,u=r+i|0;;){i=(o=a<<2)+c|0,o=f[o+u>>2]+f[o+s>>2]|0,f[i>>2]=o;r:{if((0|o)>f[e+16>>2])o=o-f[e+20>>2]|0;else{if((0|o)>=f[e+12>>2])break r;o=o+f[e+20>>2]|0}f[i>>2]=o}if(!((0|(a=a+1|0))<f[e+8>>2]))break}}if(o=(0|W)>(0|(m=m+1|0)),(0|m)==(0|X))break e;if(a=f[e+56>>2],i=f[a>>2],!(f[a+4>>2]-i>>2>>>0>m>>>0))break}li(),T()}e=1^o}else e=0;return 1&e},function(e){var r;return f[(e|=0)>>2]=5068,f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r;f[(e|=0)>>2]=5068,f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ni,nt,ei,Xt,wt,Ye,function(e,r,t,i,a,n){r|=0,t|=0,i|=0,a|=0,n|=0;var o,s=0,c=0,A=0,b=0,l=0,u=0,_=0,p=0;V=o=V-32|0,f[68+(e|=0)>>2]=n,a=f[e+56>>2],i=f[a>>2],n=f[a+4>>2],f[o+24>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0;e:if(!((0|(n=n-i|0))<=0)){if((0|(i=f[a>>2]))!=f[a+4>>2])for(u=e+112|0,_=e+60|0,p=(a=n>>>2|0)>>>0>1?a:1;;){if(K(_,f[(b<<2)+i>>2],o+16|0),i=(a=f[o+20>>2])>>31,s=(n=f[o+16>>2])>>31,c=(A=f[o+24>>2])>>31,s=(c^=c+A)+((i^i+a)+(s^n+s)|0)|0,i=0,(i=s>>>0<c>>>0?1:i)|s?(n=Pr(Lr(c=f[e+108>>2],l=c>>31,n,n>>31),D,s,i),f[o+16>>2]=n,i=Pr(Lr(c,l,a,a>>31),D,s,i),f[o+20>>2]=i,i=(a=(a=i)+(i>>=31)^i)+((i=n>>31)+n^i)|0,f[o+24>>2]=(0|A)>=0?c-i:i-c):f[o+16>>2]=f[e+108>>2],i=jr(u),n=f[o+16>>2],i?(f[o+24>>2]=0-f[o+24>>2],a=0-f[o+20>>2]|0,f[o+20>>2]=a,n=0-n|0,f[o+16>>2]=n):a=f[o+20>>2],(0|n)>=0?(n=(i=f[e+108>>2])+f[o+24>>2]|0,i=i+a|0):((0|a)<0?(i=(n=f[o+24>>2])>>31,i^=i+n):(i=(n=f[o+24>>2])>>31,i=f[e+100>>2]-(i^i+n)|0),(0|n)<0?n=(n=a)+(a>>=31)^a:(n=a,a>>=31,n=f[e+100>>2]-(n+a^a)|0)),a=f[e+100>>2],i|n?(0|a)!=(0|n)|i?n|(s=(0|i)!=(0|a))?i||(0|(A=f[e+108>>2]))>=(0|n)?s||(0|(s=f[e+108>>2]))<=(0|n)?(0|a)!=(0|n)||(0|(a=f[e+108>>2]))<=(0|i)?n||(n=0,(0|(a=f[e+108>>2]))>=(0|i)||(i=(a<<1)-i|0)):i=(a<<1)-i|0:n=(s<<1)-n|0:(n=(A<<1)-n|0,i=0):n=i:i=n:i=n=a,f[o+12>>2]=n,f[o+8>>2]=i,!(f[e+8>>2]<=0)){for(s=f[e+32>>2],n=0;(0|(a=f[e+16>>2]))<(0|i)?f[s+(n<<2)>>2]=a:(a=s+(n<<2)|0,A=f[e+12>>2],f[a>>2]=(0|A)>(0|i)?A:i),(0|(n=n+1|0))<(0|(a=f[e+8>>2]));)i=f[(o+8|0)+(n<<2)>>2];if(i=0,!((0|a)<=0))for(A=(a=b<<3)+t|0,c=r+a|0;;){a=(n=i<<2)+A|0,n=f[n+c>>2]+f[n+s>>2]|0,f[a>>2]=n;r:{if((0|n)>f[e+16>>2])n=n-f[e+20>>2]|0;else{if((0|n)>=f[e+12>>2])break r;n=n+f[e+20>>2]|0}f[a>>2]=n}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}if((0|p)==(0|(b=b+1|0)))break e;if(a=f[e+56>>2],i=f[a>>2],!(f[a+4>>2]-i>>2>>>0>b>>>0))break}li(),T()}return V=o+32|0,1},$t,fi,dt,Ot,K,ci,Ct,ii,ei,function(e,r,t,i,a,n){r|=0,t|=0,i|=0,a|=0,n|=0;var o,s=0,c=0,A=0,b=0,l=0,u=0,_=0,p=0,k=0;if(f[8+(e|=0)>>2]=a,A=f[(n=e+32|0)>>2],(c=f[e+36>>2]-A>>2)>>>0<a>>>0?(sr(n,a-c|0),A=f[n>>2],n=f[e+8>>2]):(a>>>0<c>>>0&&(f[e+36>>2]=(a<<2)+A),n=a),c=0,o=Je(_t(s=(1073741823&a)!=(0|a)?-1:a<<2),0,s),!((0|n)<=0)){for(;(0|(s=f[(n=c<<2)+o>>2]))>(0|(b=f[e+16>>2]))?f[n+A>>2]=b:(n=n+A|0,b=f[e+12>>2],f[n>>2]=(0|b)>(0|s)?b:s),(0|(n=f[e+8>>2]))>(0|(c=c+1|0)););if(!((0|n)<=0))for(c=0;;){n=(s=c<<2)+t|0,s=f[r+s>>2]+f[s+A>>2]|0,f[n>>2]=s;e:{if((0|s)>f[e+16>>2])s=s-f[e+20>>2]|0;else{if((0|s)>=f[e+12>>2])break e;s=s+f[e+20>>2]|0}f[n>>2]=s}if(!((0|(n=f[e+8>>2]))>(0|(c=c+1|0))))break}}if(!((0|i)<=(0|a)|(0|n)<=0))for(p=0-a<<2,A=a;;){if(!((0|n)<=0)){for(k=(_=(u=A<<2)+t|0)+p|0,b=f[e+32>>2],c=0;(0|(s=f[(n=c<<2)+k>>2]))>(0|(l=f[e+16>>2]))?f[n+b>>2]=l:(n=n+b|0,l=f[e+12>>2],f[n>>2]=(0|l)>(0|s)?l:s),(0|(n=f[e+8>>2]))>(0|(c=c+1|0)););if(c=0,!((0|n)<=0))for(u=r+u|0;;){n=(s=c<<2)+_|0,s=f[s+u>>2]+f[s+b>>2]|0,f[n>>2]=s;e:{if((0|s)>f[e+16>>2])s=s-f[e+20>>2]|0;else{if((0|s)>=f[e+12>>2])break e;s=s+f[e+20>>2]|0}f[n>>2]=s}if(!((0|(n=f[e+8>>2]))>(0|(c=c+1|0))))break}}if(!((0|(A=a+A|0))<(0|i)))break}return ee(o),1},ot,ct,function(e,r,t){r|=0,t|=0;var i=0;return f[4+(e|=0)>>2]=r,r=f[f[f[r+4>>2]+8>>2]+(t<<2)>>2],f[e+12>>2]=t,f[e+8>>2]=r,e=f[e+8>>2],3==A[e+24|0]&&(i=9==f[e+28>>2]),0|i},function(e,r,t){return r|=0,t|=0,A[f[4+(e|=0)>>2]+36|0]>=2&&(r=0,!Mr(e+24|0,rr(e),t))||(r=Sr(e+24|0,f[e+16>>2])),0|r},Ut,function(e,r,t){e|=0,r|=0;var i,a=0,o=0,s=0,c=0,A=0,b=0,l=0;V=i=V-32|0;e:if(3==(0|(t|=0))&&(t=f[e+4>>2],e=f[e+12>>2],f[i+24>>2]=-1,f[i+16>>2]=-1,f[i+20>>2]=1065353216,f[i+8>>2]=-1,f[i+12>>2]=-1,-2!=(0|r))){if(l=f[f[f[t+4>>2]+8>>2]+(e<<2)>>2],1==(0|yi[f[f[t>>2]+8>>2]](t))){b=f[f[f[t+4>>2]+8>>2]+(e<<2)>>2];r:{t:if(!(1!=(0|yi[f[f[t>>2]+8>>2]](t))|r-1>>>0>5||!(c=0|yi[f[f[t>>2]+36>>2]](t))|!(o=0|yi[f[f[t>>2]+44>>2]](t,e)))){if(s=o+12|0,A=0|yi[f[f[t>>2]+40>>2]](t,e),t=f[t+44>>2],A){if(6!=(0|r))break t;e=_t(112),f[e+4>>2]=b,r=f[i+12>>2],f[e+8>>2]=f[i+8>>2],f[e+12>>2]=r,r=f[i+20>>2],f[e+16>>2]=f[i+16>>2],f[e+20>>2]=r,f[e+24>>2]=f[i+24>>2],f[e+40>>2]=o,f[e+36>>2]=s,f[e+32>>2]=A,f[e+28>>2]=t,f[e+68>>2]=o,f[e- -64>>2]=s,f[e+60>>2]=A,f[e+56>>2]=t,f[e+48>>2]=0,f[e+52>>2]=0,f[e>>2]=5956,f[e+88>>2]=1065353216,f[e+92>>2]=-1,f[e+80>>2]=-1,f[e+84>>2]=-1,f[e+72>>2]=1,f[e+76>>2]=-1,f[e+44>>2]=6520,f[(r=e+96|0)>>2]=0,f[r+4>>2]=0,n[r+5|0]=0,n[r+6|0]=0,n[r+7|0]=0,n[r+8|0]=0,n[r+9|0]=0,n[r+10|0]=0,n[r+11|0]=0,n[r+12|0]=0;break r}6==(0|r)&&(a=_t(112),f[a+4>>2]=b,e=f[i+12>>2],f[a+8>>2]=f[i+8>>2],f[a+12>>2]=e,e=f[i+20>>2],f[a+16>>2]=f[i+16>>2],f[a+20>>2]=e,f[a+24>>2]=f[i+24>>2],f[a+40>>2]=o,f[a+36>>2]=s,f[a+32>>2]=c,f[a+28>>2]=t,f[a+68>>2]=o,f[a- -64>>2]=s,f[a+60>>2]=c,f[a+56>>2]=t,f[a+48>>2]=0,f[a+52>>2]=0,f[a>>2]=6960,f[a+88>>2]=1065353216,f[a+92>>2]=-1,f[a+80>>2]=-1,f[a+84>>2]=-1,f[a+72>>2]=1,f[a+76>>2]=-1,f[a+44>>2]=7380,f[(e=a+96|0)>>2]=0,f[e+4>>2]=0,n[e+5|0]=0,n[e+6|0]=0,n[e+7|0]=0,n[e+8|0]=0,n[e+9|0]=0,n[e+10|0]=0,n[e+11|0]=0,n[e+12|0]=0)}e=a}if(a=e,e)break e}a=_t(28),f[a+4>>2]=l,e=f[i+12>>2],f[a+8>>2]=f[i+8>>2],f[a+12>>2]=e,e=f[i+20>>2],f[a+16>>2]=f[i+16>>2],f[a+20>>2]=e,f[a+24>>2]=f[i+24>>2],f[a>>2]=7792}return V=i+32|0,0|a},ai,function(e,r){return 0|Ue(24+(e|=0)|0,rr(e),f[e+8>>2])},function(e){return f[(e|=0)>>2]=5956,0|e},function(e){f[(e|=0)>>2]=5956,ee(e)},ni,zt,ft,ei,Xt,Tt,ei,function(e){return 3},Le,function(e,r,t,i,a,n){r|=0,t|=0,i|=0,a|=0,n|=0;var o,s=0,c=0,A=0,b=0,l=0,_=0,p=0,d=0,m=0;V=o=V-48|0,(i=f[8+(e|=0)>>2])-31>>>0>=4294967267&&(f[e+76>>2]=i,i=-2-(a=-1<<i)|0,f[e+84>>2]=i,f[e+80>>2]=-1^a,f[e+92>>2]=(0|i)/2,u[e+88>>2]=k(2)/k(0|i)),f[e+52>>2]=n,a=f[e+40>>2],i=f[a>>2],s=f[a+4>>2],n=0,f[o+16>>2]=0,f[o+8>>2]=0,f[o+12>>2]=0;e:if(!((0|(s=s-i|0))<=0)){if((0|(i=f[a>>2]))!=f[a+4>>2])for(_=e+8|0,p=e+96|0,d=e+44|0,m=(a=s>>>2|0)>>>0>1?a:1;;){if(J(d,f[(n<<2)+i>>2],o+8|0),i=(a=f[o+12>>2])>>31,c=(s=f[o+8>>2])>>31,A=(b=f[o+16>>2])>>31,c=(A^=A+b)+((i^i+a)+(c^s+c)|0)|0,i=0,(i=c>>>0<A>>>0?1:i)|c?(s=Pr(Lr(A=f[e+92>>2],l=A>>31,s,s>>31),D,c,i),f[o+8>>2]=s,i=Pr(Lr(A,l,a,a>>31),D,c,i),f[o+12>>2]=i,i=(a=(a=i)+(i>>=31)^i)+((i=s>>31)+s^i)|0,f[o+16>>2]=(0|b)>=0?A-i:i-A):f[o+8>>2]=f[e+92>>2],i=jr(p),a=f[o+8>>2],i?(f[o+16>>2]=0-f[o+16>>2],s=0-f[o+12>>2]|0,f[o+12>>2]=s,a=0-a|0,f[o+8>>2]=a):s=f[o+12>>2],(0|a)>=0?(i=(a=f[e+92>>2])+f[o+16>>2]|0,a=a+s|0):((0|s)<0?(a=(i=f[o+16>>2])>>31,a^=i+a):(a=(i=f[o+16>>2])>>31,a=f[e+84>>2]-(a^i+a)|0),(0|i)<0?(i=s>>31,i^=i+s):(i=s>>31,i=f[e+84>>2]-(i+s^i)|0)),s=f[e+84>>2],i|a?(0|i)!=(0|s)|a?i|(c=(0|a)!=(0|s))?a||(0|(b=f[e+92>>2]))>=(0|i)?c||(0|(c=f[e+92>>2]))<=(0|i)?(0|i)!=(0|s)||(0|(s=f[e+92>>2]))<=(0|a)?i||(i=0,(0|(s=f[e+92>>2]))>=(0|a)||(a=(s<<1)-a|0)):a=(s<<1)-a|0:i=(c<<1)-i|0:(i=(b<<1)-i|0,a=0):i=a:a=i:a=i=s,b=f[4+(c=(s=n<<3)+r|0)>>2],c=f[c>>2],f[o+36>>2]=i,f[o+32>>2]=a,f[o+24>>2]=c,f[o+28>>2]=b,_e(o+40|0,_,o+32|0,o+24|0),f[(i=t+s|0)>>2]=f[o+40>>2],f[i+4>>2]=f[o+44>>2],(0|m)==(0|(n=n+1|0)))break e;if(a=f[e+40>>2],i=f[a>>2],!(f[a+4>>2]-i>>2>>>0>n>>>0))break}li(),T()}return V=o+48|0,1},$t,fi,dt,Ot,J,function(e){return f[(e|=0)>>2]=6960,0|e},function(e){f[(e|=0)>>2]=6960,ee(e)},ni,ft,ei,Xt,Tt,Le,function(e,r,t,i,a,n){r|=0,t|=0,i|=0,a|=0,n|=0;var o,s=0,c=0,A=0,b=0,l=0,_=0,p=0,d=0,m=0;V=o=V-48|0,(i=f[8+(e|=0)>>2])-31>>>0>=4294967267&&(f[e+76>>2]=i,i=-2-(a=-1<<i)|0,f[e+84>>2]=i,f[e+80>>2]=-1^a,f[e+92>>2]=(0|i)/2,u[e+88>>2]=k(2)/k(0|i)),f[e+52>>2]=n,a=f[e+40>>2],i=f[a>>2],s=f[a+4>>2],n=0,f[o+16>>2]=0,f[o+8>>2]=0,f[o+12>>2]=0;e:if(!((0|(s=s-i|0))<=0)){if((0|(i=f[a>>2]))!=f[a+4>>2])for(_=e+8|0,p=e+96|0,d=e+44|0,m=(a=s>>>2|0)>>>0>1?a:1;;){if(K(d,f[(n<<2)+i>>2],o+8|0),i=(a=f[o+12>>2])>>31,c=(s=f[o+8>>2])>>31,A=(b=f[o+16>>2])>>31,c=(A^=A+b)+((i^i+a)+(c^s+c)|0)|0,i=0,(i=c>>>0<A>>>0?1:i)|c?(s=Pr(Lr(A=f[e+92>>2],l=A>>31,s,s>>31),D,c,i),f[o+8>>2]=s,i=Pr(Lr(A,l,a,a>>31),D,c,i),f[o+12>>2]=i,i=(a=(a=i)+(i>>=31)^i)+((i=s>>31)+s^i)|0,f[o+16>>2]=(0|b)>=0?A-i:i-A):f[o+8>>2]=f[e+92>>2],i=jr(p),a=f[o+8>>2],i?(f[o+16>>2]=0-f[o+16>>2],s=0-f[o+12>>2]|0,f[o+12>>2]=s,a=0-a|0,f[o+8>>2]=a):s=f[o+12>>2],(0|a)>=0?(i=(a=f[e+92>>2])+f[o+16>>2]|0,a=a+s|0):((0|s)<0?(a=(i=f[o+16>>2])>>31,a^=i+a):(a=(i=f[o+16>>2])>>31,a=f[e+84>>2]-(a^i+a)|0),(0|i)<0?(i=s>>31,i^=i+s):(i=s>>31,i=f[e+84>>2]-(i+s^i)|0)),s=f[e+84>>2],i|a?(0|i)!=(0|s)|a?i|(c=(0|a)!=(0|s))?a||(0|(b=f[e+92>>2]))>=(0|i)?c||(0|(c=f[e+92>>2]))<=(0|i)?(0|i)!=(0|s)||(0|(s=f[e+92>>2]))<=(0|a)?i||(i=0,(0|(s=f[e+92>>2]))>=(0|a)||(a=(s<<1)-a|0)):a=(s<<1)-a|0:i=(c<<1)-i|0:(i=(b<<1)-i|0,a=0):i=a:a=i:a=i=s,b=f[4+(c=(s=n<<3)+r|0)>>2],c=f[c>>2],f[o+36>>2]=i,f[o+32>>2]=a,f[o+24>>2]=c,f[o+28>>2]=b,_e(o+40|0,_,o+32|0,o+24|0),f[(i=t+s|0)>>2]=f[o+40>>2],f[i+4>>2]=f[o+44>>2],(0|m)==(0|(n=n+1|0)))break e;if(a=f[e+40>>2],i=f[a>>2],!(f[a+4>>2]-i>>2>>>0>n>>>0))break}li(),T()}return V=o+48|0,1},$t,fi,dt,Ot,K,$t,fi,ii,ei,ii,Qt,Xt,function(e,r){e|=0;var t,i,a,n,o=0,s=0,c=0,b=0;return t=f[12+(r|=0)>>2],c=o=f[r+20>>2],o=(s=(i=f[r+16>>2])+4|0)>>>0<4?o+1|0:o,n=s,(a=f[r+8>>2])>>>0<s>>>0&(0|o)>=(0|t)|(0|o)>(0|t)||(s=i+f[r>>2]|0,s=A[0|s]|A[s+1|0]<<8|A[s+2|0]<<16|A[s+3|0]<<24,f[r+16>>2]=n,f[r+20>>2]=o,o=c,(c=i+8|0)>>>0>a>>>0&(0|(o=c>>>0<8?o+1|0:o))>=(0|t)|(0|o)>(0|t)||(f[r+16>>2]=c,f[r+20>>2]=o,1&s&&((r=31^m(s))-30>>>0<4294967267||(b=1,f[e+8>>2]=r+1,r=-2-(o=-2<<r)|0,f[e+16>>2]=r,f[e+12>>2]=-1^o,f[e+24>>2]=(0|r)/2,u[e+20>>2]=k(2)/k(0|r))))),0|b},function(e,r,t,i,a,n){e|=0,r|=0,t|=0,i|=0,n|=0;var o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0;if(V=n=V-32|0,s=Je(_t(s=(1073741823&(a|=0))!=(0|a)?-1:a<<2),0,s),o=f[r>>2],c=f[r+4>>2],b=f[s+4>>2],f[n+16>>2]=f[s>>2],f[n+20>>2]=b,f[n+8>>2]=o,f[n+12>>2]=c,_e(n+24|0,c=e+8|0,n+16|0,n+8|0),f[t>>2]=f[n+24>>2],f[t+4>>2]=f[n+28>>2],(0|i)>(0|a))for(b=0-a<<2,e=a;u=f[(A=(o=e<<2)+r|0)>>2],A=f[A+4>>2],_=f[4+(l=(o=t+o|0)+b|0)>>2],f[n+16>>2]=f[l>>2],f[n+20>>2]=_,f[n+8>>2]=u,f[n+12>>2]=A,_e(n+24|0,c,n+16|0,n+8|0),f[o>>2]=f[n+24>>2],f[o+4>>2]=f[n+28>>2],(0|i)>(0|(e=e+a|0)););return ee(s),V=n+32|0,1},function(e){var r=0;return f[24+(e|=0)>>2]=1140,f[e>>2]=7976,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),f[e>>2]=2164,r=f[e+20>>2],f[e+20>>2]=0,r&&yi[f[f[r>>2]+4>>2]](r),f[e>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),0|e},function(e){var r=0;f[24+(e|=0)>>2]=1140,f[e>>2]=7976,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),f[e>>2]=2164,r=f[e+20>>2],f[e+20>>2]=0,r&&yi[f[f[r>>2]+4>>2]](r),f[e>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),ee(e)},function(e,r,t){var i;return r|=0,t|=0,f[4+(e|=0)>>2]=r,i=f[f[f[r+4>>2]+8>>2]+(t<<2)>>2],f[e+12>>2]=t,f[e+8>>2]=i,9==f[f[f[f[r+4>>2]+8>>2]+(t<<2)>>2]+28>>2]|0},function(e,r,t){return r|=0,A[f[4+(e|=0)>>2]+36|0]>=2&&(r=0,!(0|yi[f[f[e>>2]+52>>2]](e)))||(r=Sr(e+24|0,f[e+16>>2])),0|r},Ut,function(e,r){return r|=0,0|yi[f[f[(e|=0)>>2]+56>>2]](e,r)},function(e){return 0|De(24+(e|=0)|0,rr(e)||f[e+8>>2],f[f[e+4>>2]+32>>2])},function(e,r){return 0|Ee(24+(e|=0)|0,rr(e),f[e+8>>2])},function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=10064,(t=f[e+20>>2])&&(f[e+24>>2]=t,ee(t)),r=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+8>>2]}f[e+12>>2]=r,ee(t)}return 0|e},ci,ei,ei,function(e){return f[44+(e|=0)>>2]?0|yi[f[f[e>>2]+48>>2]](e):0},function(e){var r=0,t=0,i=0,a=0,n=0,o=0,s=0,c=0,b=0,l=0;e:{if(r=f[32+(e|=0)>>2],n=f[r+8>>2],a=0,!((0|(o=f[r+12>>2]))<=(0|(i=f[r+20>>2]))&(s=n)>>>0<=(n=f[r+16>>2])>>>0|(0|i)>(0|o))){s=A[n+f[r>>2]|0],i=(o=n+1|0)?i:i+1|0,f[r+16>>2]=o,f[r+20>>2]=i;r:if(s){for(;;){if(0|yi[f[f[e>>2]+16>>2]](e,t)){if((0|s)!=(0|(t=t+1|0)))continue;break r}break}return 0}if((0|(t=f[e+8>>2]))!=(0|(i=f[e+12>>2])))for(;;){if(r=f[t>>2],!(0|yi[f[f[r>>2]+8>>2]](r,e,f[e+4>>2])))break e;if((0|i)==(0|(t=t+4|0)))break}if(s){for(t=0;;){if(r=f[f[e+8>>2]+(t<<2)>>2],!(0|yi[f[f[r>>2]+12>>2]](r,f[e+32>>2])))break e;if((0|s)==(0|(t=t+1|0)))break}if(s)for(n=e+20|0;;){if(t=0,r=f[(o=c<<2)+f[e+8>>2]>>2],(0|(i=0|yi[f[f[r>>2]+24>>2]](r)))>0)for(;r=f[f[e+8>>2]+o>>2],l=0|yi[f[f[r>>2]+20>>2]](r,t),a=f[e+20>>2],l>>>0<(b=f[e+24>>2]-a>>2)>>>0||((r=l+1|0)>>>0>b>>>0?(sr(n,r-b|0),a=f[n>>2]):r>>>0>=b>>>0||(f[e+24>>2]=(r<<2)+a)),f[(l<<2)+a>>2]=c,(0|i)!=(0|(t=t+1|0)););if((0|s)==(0|(c=c+1|0)))break}}a=0,0|yi[f[f[e>>2]+28>>2]](e)&&(a=0|yi[f[f[e>>2]+32>>2]](e))}return 0|a}return 0},function(e){var r,t=0,i=0;if((0|(t=f[8+(e|=0)>>2]))==(0|(r=f[e+12>>2])))return 1;for(;i=f[t>>2],(i=0|yi[f[f[i>>2]+16>>2]](i,f[e+32>>2]))&&(0|r)!=(0|(t=t+4|0)););return 0|i},ei,ii,Xt,Xt,function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=8204,t=f[e+48>>2],f[e+48>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),f[e>>2]=10064,(t=f[e+20>>2])&&(f[e+24>>2]=t,ee(t)),r=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+8>>2]}f[e+12>>2]=r,ee(t)}return 0|e},function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=8204,t=f[e+48>>2],f[e+48>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),f[e>>2]=10064,(t=f[e+20>>2])&&(f[e+24>>2]=t,ee(t)),r=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+8>>2]}f[e+12>>2]=r,ee(t)}ee(e)},function(e){var r,t=0,i=0,a=0,s=0;if(i=f[32+(e|=0)>>2],r=f[i+16>>2],a=f[i+12>>2],t=f[i+20>>2],l[i+8>>2]>r>>>0&(0|a)>=(0|t)|(0|t)<(0|a)){s=A[r+f[i>>2]|0],t=(a=r+1|0)?t:t+1|0,f[i+16>>2]=a,f[i+20>>2]=t,i=f[e+48>>2],f[e+48>>2]=0,i&&yi[f[f[i>>2]+4>>2]](i);e:{r:{t:{i:switch(0|s){case 0:i=_t(384),f[i>>2]=8312,Je(i+4|0,0,80),f[i+96>>2]=0,f[i+100>>2]=0,f[i+92>>2]=-1,f[i+84>>2]=-1,f[i+88>>2]=-1,f[i+104>>2]=0,f[i+108>>2]=0,f[i+112>>2]=0,f[i+116>>2]=0,f[i+120>>2]=0,f[i+124>>2]=0,f[i+128>>2]=0,f[i+132>>2]=0,f[i+136>>2]=0,f[i+140>>2]=0,f[i+144>>2]=0,f[i+148>>2]=0,f[i+156>>2]=0,f[i+160>>2]=0,f[i+152>>2]=1065353216,f[i+164>>2]=0,f[i+168>>2]=0,f[i+172>>2]=0,f[i+176>>2]=0,f[i+180>>2]=0,f[i+184>>2]=0,f[i+188>>2]=0,f[i+192>>2]=0,f[i+196>>2]=0,f[i+200>>2]=0,f[i+204>>2]=0,f[i+208>>2]=0,f[i+212>>2]=-1,f[i+216>>2]=0,f[i+220>>2]=0,f[i+224>>2]=0,o[38+(t=i+232|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,n[t+29|0]=0,n[t+30|0]=0,n[t+31|0]=0,n[t+32|0]=0,n[t+33|0]=0,n[t+34|0]=0,n[t+35|0]=0,n[t+36|0]=0,o[38+(t=i+272|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,n[t+29|0]=0,n[t+30|0]=0,n[t+31|0]=0,n[t+32|0]=0,n[t+33|0]=0,n[t+34|0]=0,n[t+35|0]=0,n[t+36|0]=0,f[(t=i+312|0)>>2]=0,f[t+4>>2]=0,n[t+5|0]=0,n[t+6|0]=0,n[t+7|0]=0,n[t+8|0]=0,n[t+9|0]=0,n[t+10|0]=0,n[t+11|0]=0,n[t+12|0]=0,o[38+(t=i+328|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,n[t+29|0]=0,n[t+30|0]=0,n[t+31|0]=0,n[t+32|0]=0,n[t+33|0]=0,n[t+34|0]=0,n[t+35|0]=0,n[t+36|0]=0,f[i+376>>2]=0,f[i+368>>2]=0,f[i+372>>2]=0;break t;case 2:break i;default:break r}i=_t(440),f[i>>2]=8364,Je(i+4|0,0,80),f[i+96>>2]=0,f[i+100>>2]=0,f[i+92>>2]=-1,f[i+84>>2]=-1,f[i+88>>2]=-1,f[i+104>>2]=0,f[i+108>>2]=0,f[i+112>>2]=0,f[i+116>>2]=0,f[i+120>>2]=0,f[i+124>>2]=0,f[i+128>>2]=0,f[i+132>>2]=0,f[i+136>>2]=0,f[i+140>>2]=0,f[i+144>>2]=0,f[i+148>>2]=0,f[i+156>>2]=0,f[i+160>>2]=0,f[i+152>>2]=1065353216,f[i+164>>2]=0,f[i+168>>2]=0,f[i+172>>2]=0,f[i+176>>2]=0,f[i+180>>2]=0,f[i+184>>2]=0,f[i+188>>2]=0,f[i+192>>2]=0,f[i+196>>2]=0,f[i+200>>2]=0,f[i+204>>2]=0,f[i+208>>2]=0,f[i+212>>2]=-1,f[i+216>>2]=0,f[i+220>>2]=0,f[i+224>>2]=0,o[38+(t=i+232|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,n[t+29|0]=0,n[t+30|0]=0,n[t+31|0]=0,n[t+32|0]=0,n[t+33|0]=0,n[t+34|0]=0,n[t+35|0]=0,n[t+36|0]=0,o[38+(t=i+272|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,n[t+29|0]=0,n[t+30|0]=0,n[t+31|0]=0,n[t+32|0]=0,n[t+33|0]=0,n[t+34|0]=0,n[t+35|0]=0,n[t+36|0]=0,f[(t=i+312|0)>>2]=0,f[t+4>>2]=0,n[t+5|0]=0,n[t+6|0]=0,n[t+7|0]=0,n[t+8|0]=0,n[t+9|0]=0,n[t+10|0]=0,n[t+11|0]=0,n[t+12|0]=0,o[38+(t=i+328|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,n[t+29|0]=0,n[t+30|0]=0,n[t+31|0]=0,n[t+32|0]=0,n[t+33|0]=0,n[t+34|0]=0,n[t+35|0]=0,n[t+36|0]=0,f[i+392>>2]=0,f[i+396>>2]=0,f[i+384>>2]=0,f[i+388>>2]=0,f[i+376>>2]=0,f[i+380>>2]=0,f[i+368>>2]=0,f[i+372>>2]=0,f[i+416>>2]=0,f[i+420>>2]=0,f[i+408>>2]=2,f[i+412>>2]=7,f[i+400>>2]=-1,f[i+404>>2]=-1,f[i+424>>2]=0,f[i+428>>2]=0,f[i+432>>2]=0,f[i+436>>2]=0}if(t=f[e+48>>2],f[e+48>>2]=i,!t)break e;yi[f[f[t>>2]+4>>2]](t)}if(!(i=f[e+48>>2]))return 0}e=0|yi[f[f[i>>2]+8>>2]](i,e)}else e=0;return 0|e},function(e,r){return r|=0,e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+20>>2]](e,r)},function(e){return e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+28>>2]](e)},function(e){return e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+36>>2]](e)},function(e,r){return r|=0,e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+12>>2]](e,r)},function(e,r){return r|=0,e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+16>>2]](e,r)},function(e){return e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+24>>2]](e)},we,function(e){ee(we(e|=0))},Ft,ir,nr,W,function(e){var r,t=0,i=0,a=0,s=0,c=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0,M=0,U=0,I=0,B=0,Z=0,W=0,F=0,x=0;if(V=r=V+-64|0,f[132+(e|=0)>>2]=0,f[e+148>>2]){if(t=f[e+144>>2])for(;s=f[t>>2],ee(t),t=s,s;);if(t=0,f[e+144>>2]=0,s=f[e+140>>2]){if(s-1>>>0>=3)for(_=-4&s;f[(i=t<<2)+f[e+136>>2]>>2]=0,f[f[e+136>>2]+(4|i)>>2]=0,f[f[e+136>>2]+(8|i)>>2]=0,f[f[e+136>>2]+(12|i)>>2]=0,t=t+4|0,(0|_)!=(0|(a=a+4|0)););if(s&=3)for(;f[f[e+136>>2]+(t<<2)>>2]=0,t=t+1|0,(0|s)!=(0|(v=v+1|0)););}f[e+148>>2]=0}if(Nr(1,r+60|0,f[f[e+4>>2]+32>>2])&&(f[e+156>>2]=f[r+60>>2],Nr(1,r+56|0,f[f[e+4>>2]+32>>2])&&!((a=f[r+56>>2])>>>0>1431655765|l[e+156>>2]>p(a,3)>>>0)&&(s=f[f[e+4>>2]+32>>2],i=f[s+8>>2],!((0|(v=f[s+12>>2]))<=(0|(t=f[s+20>>2]))&(c=i)>>>0<=(i=f[s+16>>2])>>>0|(0|t)>(0|v))&&(v=A[i+f[s>>2]|0],t=(i=i+1|0)?t:t+1|0,f[s+16>>2]=i,f[s+20>>2]=t,Nr(1,r+52|0,s)&&!((y=f[r+52>>2])>>>0>a>>>0|a>>>0>y+((y>>>0)/3|0)>>>0)&&Nr(1,r+48|0,f[f[e+4>>2]+32>>2])&&!((s=f[r+48>>2])>>>0>y>>>0)&&(f[e+28>>2]=f[e+24>>2],vr(i=_t(88)),t=f[e+8>>2],f[e+8>>2]=i,(!t||(Br(t),f[e+8>>2]))&&(f[e+164>>2]=f[e+160>>2],Ir(e+160|0,a),f[e+176>>2]=f[e+172>>2],Ir(e+172|0,a),f[e- -64>>2]=0,f[e+92>>2]=-1,f[e+84>>2]=-1,f[e+88>>2]=-1,f[e+40>>2]=f[e+36>>2],f[e+52>>2]=f[e+48>>2],f[e+76>>2]=f[e+72>>2],Wr(Z=e+216|0),q(Z,v),er(f[e+8>>2],a,s+f[e+156>>2]|0)&&(t=f[e+156>>2],n[r+8|0]=1,Pe(e+120|0,t+s|0,r+8|0),-1!=(0|le(e,f[f[e+4>>2]+32>>2]))))))))){yr(s=e+232|0,e),f[e+372>>2]=v,o[38+(g=r+8|0)>>1]=0,f[g>>2]=0,f[g+8>>2]=0,f[g+12>>2]=0,f[g+16>>2]=0,f[g+20>>2]=0,f[g+24>>2]=0,f[g+28>>2]=0,n[g+29|0]=0,n[g+30|0]=0,n[g+31|0]=0,n[g+32|0]=0,n[g+33|0]=0,n[g+34|0]=0,n[g+35|0]=0,n[g+36|0]=0,t=0,V=v=V-16|0,a=f[s+4>>2],f[s+40>>2]=f[s>>2],f[s+44>>2]=a,a=f[s+36>>2],f[s+72>>2]=f[s+32>>2],f[s+76>>2]=a,i=f[s+28>>2],f[(a=s- -64|0)>>2]=f[s+24>>2],f[a+4>>2]=i,a=f[s+20>>2],f[s+56>>2]=f[s+16>>2],f[s+60>>2]=a,a=f[s+12>>2],f[s+48>>2]=f[s+8>>2],f[s+52>>2]=a,rt(s+40|0,1,v+8|0)&&(a=f[s+44>>2],f[s>>2]=f[s+40>>2],f[s+4>>2]=a,a=f[s+76>>2],f[s+32>>2]=f[s+72>>2],f[s+36>>2]=a,a=f[s+68>>2],f[s+24>>2]=f[s+64>>2],f[s+28>>2]=a,_=i=f[s+60>>2],a=f[s+56>>2],f[s+16>>2]=a,f[s+20>>2]=i,c=f[s+52>>2],i=f[s+48>>2],f[s+8>>2]=i,f[s+12>>2]=c,u=i-a|0,(0|(m=f[v+12>>2]))==(0|(c=c-((i>>>0<a>>>0)+_|0)|0))&u>>>0>=(i=f[v+8>>2])>>>0|c>>>0>m>>>0)&&(c=i+a|0,a=_+m|0,f[s+16>>2]=c,f[s+20>>2]=i>>>0>c>>>0?a+1|0:a,Ve(s+80|0,s)&&Xe(s)&&(t=f[s+4>>2],f[g>>2]=f[s>>2],f[g+4>>2]=t,t=f[s+36>>2],f[g+32>>2]=f[s+32>>2],f[g+36>>2]=t,t=f[s+28>>2],f[g+24>>2]=f[s+24>>2],f[g+28>>2]=t,t=f[s+20>>2],f[g+16>>2]=f[s+16>>2],f[g+20>>2]=t,t=f[s+12>>2],f[g+8>>2]=f[s+8>>2],f[g+12>>2]=t,t=1)),V=v+16|0;e:if(t){a=0,s=0,t=0,v=0,V=m=V-96|0,f[m+72>>2]=0,f[m+64>>2]=0,f[m+68>>2]=0,f[m+48>>2]=0,f[m+52>>2]=0,f[m+40>>2]=0,f[m+44>>2]=0,f[m+56>>2]=1065353216,f[m+32>>2]=0,f[m+24>>2]=0,f[m+28>>2]=0,k=1,_=e,G=f[e+124>>2];r:{t:{i:{a:{n:{o:{f:{s:if(!((0|y)<=0)){for(W=f[_+216>>2]!=f[_+220>>2];;){E=(c=E)+1|0;c:{A:{b:{l:{u:{_:{p:{k:{d:{m:{h:if(A[_+308|0]){y:{if(!((e=(u=f[_+296>>2])+((i=f[_+304>>2])>>>3|0)|0)>>>0>=(h=f[_+300>>2])>>>0)&&(d=A[0|e],e=i+1|0,f[_+304>>2]=e,d>>>(7&i)&1))switch((w=u+(d=e>>>3|0)|0)>>>0>=h>>>0?(i=e,e=0):(w=A[0|w],i=i+2|0,f[_+304>>2]=i,d=i>>>3|0,e=w>>>(7&e)&1),(u=u+d|0)>>>0<h>>>0?(u=A[0|u],f[_+304>>2]=i+1,i=u>>>(7&i)<<1&2):i=0,(e=(e|i)<<1)-1|0){case 0:case 2:case 4:break i;case 5:break m;case 1:case 3:break y;default:break h}if((0|t)==(0|s)){i=-1;break f}d=-1,u=f[_+8>>2],w=f[u+24>>2],e=-1,-1!=(0|(i=f[(N=s-4|0)>>2]))&&(e=-1,-1!=(0|(k=((k=i+1|0)>>>0)%3|0?k:i-2|0))&&(e=f[f[u>>2]+(k<<2)>>2])),-1!=(0|(a=f[w+(e<<2)>>2]))&&(d=((k=a+1|0)>>>0)%3|0?k:a-2|0),a=f[u+12>>2],k=(c=p(c,3))+1|0,f[a+(i<<2)>>2]=k,f[(D=k<<2)+a>>2]=i,h=c+2|0,f[a+(d<<2)>>2]=h,f[(M=h<<2)+a>>2]=d,k=-1,a=-1;v:if(-1!=(0|i)){if((i>>>0)%3|0)i=i-1|0;else if(a=-1,-1==(0|(i=i+2|0)))break v;a=f[f[u>>2]+(i<<2)>>2]}if(-1!=(0|d)&&-1!=(0|(i=((i=d+1|0)>>>0)%3|0?i:d-2|0))&&(k=f[f[u>>2]+(i<<2)>>2]),i=-1,(0|e)==(0|a)|(0|e)==(0|k))break f;i=f[u>>2],f[i+(c<<2)>>2]=e,f[i+D>>2]=k,f[i+M>>2]=a,-1!=(0|a)&&(f[w+(a<<2)>>2]=h),a=f[_+120>>2]+(e>>>3&536870908)|0,i=f[a>>2],F=a,x=Vt(e)&i,f[F>>2]=x,f[N>>2]=c,a=t;break c}if((0|t)==(0|s)){i=-1;break f}if(a=f[_+8>>2],i=f[a+12>>2],D=(d=(u=p(c,3))+((w=5==(1|e))?2:1)|0)<<2,e=f[(M=s-4|0)>>2],f[i+D>>2]=e,f[i+(e<<2)>>2]=d,ur(a+24|0),i=-1,N=f[_+8>>2],h=f[N+24>>2],(0|G)<f[N+28>>2]-h>>2)break f;if(i=f[N>>2],N=((a=f[a+28>>2]-f[a+24>>2]|0)>>2)-1|0,f[i+D>>2]=N,a&&(f[h+(N<<2)>>2]=d),d=w?u:u+2|0,w=i+(u+w<<2)|0,-1!=(0|e)){y:{v:{if((e>>>0)%3|0)a=e-1|0;else if(-1==(0|(a=e+2|0)))break v;if(a=f[i+(a<<2)>>2],f[i+(d<<2)>>2]=a,-1==(0|a))break y;f[h+(a<<2)>>2]=d;break y}f[i+(d<<2)>>2]=-1}a=-1,-1!=(0|(e=((d=e+1|0)>>>0)%3|0?d:e-2|0))&&(a=f[i+(e<<2)>>2])}else f[i+(d<<2)>>2]=-1,a=-1;f[w>>2]=a,f[M>>2]=u,a=t;break d}if((0|t)==(0|s)){i=-1;break f}h=f[(e=s-4|0)>>2],f[m+68>>2]=e;h:if(d=f[m+44>>2])if((u=Nt(d)>>>0>1)?d>>>0>(a=c)>>>0||(a=(c>>>0)%(d>>>0)|0):a=c&d+2147483647,i=f[f[m+40>>2]+(a<<2)>>2])if(i=f[i>>2]){y:{if(!u){for(u=d-1|0;;){v:{if((0|(d=f[i+4>>2]))!=(0|c)){if((u&d)==(0|a))break v;s=e;break h}if((0|c)==f[i+8>>2])break y}if(!(i=f[i>>2]))break}s=e;break h}for(;;){v:{if((0|(u=f[i+4>>2]))!=(0|c)){if(u>>>0>=d>>>0&&(u=(u>>>0)%(d>>>0)|0),(0|a)==(0|u))break v;s=e;break h}if((0|c)==f[i+8>>2])break y}if(!(i=f[i>>2]))break}s=e;break h}if((0|e)==(0|R)){if((s=1+(a=(e=R-t|0)>>2)|0)>>>0>=1073741824)break p;if(C=e>>1,s=a>>>0<536870911?s>>>0>C>>>0?s:C:1073741823){if(s>>>0>=1073741824)break t;C=_t(s<<2)}else C=0;f[(a=C+(a<<2)|0)>>2]=f[i+12>>2],R=(s<<2)+C|0,s=a+4|0,(0|e)>0&&ge(C,t,e),f[m+72>>2]=R,f[m+68>>2]=s,f[m+64>>2]=C,t&&ee(t)}else f[e>>2]=f[i+12>>2],f[m+68>>2]=s}else s=e;else s=e;else s=e;if((0|s)==(0|C))break k;if(a=-1==(0|(e=f[(D=s-4|0)>>2])),t=f[_+8>>2],!a&-1!=f[f[t+12>>2]+(e<<2)>>2])break k;if(u=f[t+12>>2],-1!=(0|h)&-1!=f[u+(h<<2)>>2])break k;if(N=(c=p(c,3))+2|0,f[u+(e<<2)>>2]=N,f[(w=N<<2)+u>>2]=e,i=c+1|0,f[u+(h<<2)>>2]=i,f[(M=i<<2)+u>>2]=h,a)break _;if((e>>>0)%3|0){k=e-1|0;break l}if(-1!=(0|(k=e+2|0)))break l;d=f[t>>2],a=-1;break b}if(ur((d=f[_+8>>2])+24|0),i=-1,u=f[_+8>>2],e=p(c,3),N=(d=(h=f[d+28>>2]-f[d+24>>2]|0)>>2)-1|0,f[f[u>>2]+(e<<2)>>2]=N,ur(u+24|0),w=e+1|0,f[f[u>>2]+(w<<2)>>2]=(f[u+28>>2]-f[u+24>>2]>>2)-1,ur((u=f[_+8>>2])+24|0),D=e+2|0,f[f[u>>2]+(D<<2)>>2]=(f[u+28>>2]-f[u+24>>2]>>2)-1,M=f[_+8>>2],u=f[M+24>>2],(0|G)<f[M+28>>2]-u>>2)break f;m:{if(h){if(f[u+(N<<2)>>2]=e,i=0,-4!=(0|h)&&(f[u+(d<<2)>>2]=w,-1==(0|(i=d+1|0))))break m}else f[u+(d<<2)>>2]=w,i=1;f[u+(i<<2)>>2]=D}if((0|s)==(0|R)){if((s=1+(i=(t=s-a|0)>>2)|0)>>>0>=1073741824)break u;if(C=t>>1,s=i>>>0<536870911?s>>>0>C>>>0?s:C:1073741823){if(s>>>0>=1073741824)break t;C=_t(s<<2)}else C=0;f[(i=C+(i<<2)|0)>>2]=e,R=(s<<2)+C|0,s=i+4|0,(0|t)>0&&ge(C,a,t),f[m+72>>2]=R,f[m+68>>2]=s,f[m+64>>2]=C,a&&ee(a),a=t=C}else f[s>>2]=e,s=s+4|0,f[m+68>>2]=s}if((0|(i=f[_+40>>2]))==f[_+36>>2])break c;for(c=y+(-1^c)|0,u=s-4|0;;){if((e=f[i-8>>2])>>>0>c>>>0)break k;if((0|e)!=(0|c))break c;if(d=A[i-4|0],i=f[(e=i-12|0)>>2],f[_+40>>2]=e,(0|i)<0)break k;e=f[u>>2],f[m+20>>2]=y+(-1^i),i=m+20|0,f[m+88>>2]=i,re(m,m+40|0,i,m+88|0),w=f[m>>2];d:if(1&d){if(i=-1,-1==(0|e))break d;i=((i=e+1|0)>>>0)%3|0?i:e-2|0}else i=-1,-1!=(0|e)&&(i=e-1|0,(e>>>0)%3|0||(i=e+2|0));if(f[w+12>>2]=i,(0|(i=f[_+40>>2]))==f[_+36>>2])break}break c}if(i=-1,1&k)break f;break s}oi(),T()}a=-1,d=f[t>>2],f[d+(c<<2)>>2]=-1,i=-1;break A}oi(),T()}d=f[t>>2],a=f[d+(k<<2)>>2]}f[(c<<2)+d>>2]=a,i=-1,-1!=(0|(e=((k=e+1|0)>>>0)%3|0?k:e-2|0))&&(i=f[(e<<2)+d>>2])}if(f[d+M>>2]=i,-1!=(0|h)){A:{b:{if((h>>>0)%3|0)i=h-1|0;else if(-1==(0|(i=h+2|0)))break b;if(e=f[(i<<2)+d>>2],f[d+w>>2]=e,-1==(0|e))break A;f[f[t+24>>2]+(e<<2)>>2]=N;break A}f[d+w>>2]=-1}k=-1,i=-1,-1!=(0|(e=((e=h+1|0)>>>0)%3|0?e:h-2|0))&&(k=f[(e<<2)+d>>2],i=e)}else f[d+w>>2]=-1,k=-1,i=-1;e=(t=f[t+24>>2])+(k<<2)|0,-1!=(0|a)&&(f[t+(a<<2)>>2]=f[e>>2]);A:if(-1!=(0|i))for(;;){if(f[(i<<2)+d>>2]=a,-1==(0|(t=((t=i+1|0)>>>0)%3|0?t:i-2|0)))break A;if(-1==(0|(t=f[u+(t<<2)>>2])))break A;if(-1==(0|(i=((i=t+1|0)>>>0)%3|0?i:t-2|0)))break}f[e>>2]=-1;A:if(!W){if((0|U)==(0|I)){b:{if((e=1+(i=(t=I-v|0)>>2)|0)>>>0<1073741824){if(a=t>>1,a=i>>>0<536870911?e>>>0>a>>>0?e:a:1073741823){if(a>>>0>=1073741824)break b;e=_t(a<<2)}else e=0;f[(i=e+(i<<2)|0)>>2]=k,I=e+(a<<2)|0,U=i+4|0,(0|t)>0&&ge(e,v,t),f[m+32>>2]=I,f[m+28>>2]=U,f[m+24>>2]=e,v&&ee(v),v=e;break A}oi(),T()}break t}f[U>>2]=k,U=U+4|0,f[m+28>>2]=U}f[D>>2]=c,a=t=C}if(k=(0|y)>(0|E),(0|y)==(0|E))break}E=y}if(i=-1,k=f[_+8>>2],!((0|G)<f[k+28>>2]-f[k+24>>2]>>2)){if((0|s)!=(0|C)){for(e=_+60|0,w=_+312|0;;){h=f[(s=s-4|0)>>2],f[m+68>>2]=s;s:if(jr(w)){if(G=f[_+8>>2],R=f[G>>2],((f[G+4>>2]-R>>2>>>0)/3|0)<=(0|E))break f;if(t=-1,a=-1,y=f[G+24>>2],c=-1,-1!=(0|h)&&(c=-1,-1!=(0|(u=((u=h+1|0)>>>0)%3|0?u:h-2|0))&&(c=f[R+(u<<2)>>2])),-1!=(0|(c=f[y+((u=c)<<2)>>2]))&&-1!=(0|(c=((k=c+1|0)>>>0)%3|0?k:c-2|0))&&(-1!=(0|(t=((t=c+1|0)>>>0)%3|0?t:c-2|0))&&(a=f[R+(t<<2)>>2]),t=c),k=-1,d=-1,c=-1,-1!=(0|(y=f[y+(a<<2)>>2]))&&(c=-1,-1!=(0|(y=((I=y+1|0)>>>0)%3|0?I:y-2|0))&&(-1!=(0|(c=((c=y+1|0)>>>0)%3|0?c:y-2|0))&&(d=f[R+(c<<2)>>2]),c=y)),G=f[G+12>>2],y=p(E,3),f[G+(I=y<<2)>>2]=h,f[G+(h<<2)>>2]=y,f[(N=(h=y+1|0)<<2)+G>>2]=t,f[G+(t<<2)>>2]=h,f[(W=(t=y+2|0)<<2)+G>>2]=c,f[G+(c<<2)>>2]=t,f[R+I>>2]=a,f[(c=R+N|0)>>2]=d,f[(d=R+W|0)>>2]=u,u=h>>>0<y>>>0?-1:a,a=f[_+120>>2],G=f[(R=(u>>>3&536870908)+a|0)>>2],F=R,x=Vt(u)&G,f[F>>2]=x,k=-1!=(0|h)?f[c>>2]:k,u=f[(c=a+(k>>>3&536870908)|0)>>2],F=c,x=Vt(k)&u,f[F>>2]=x,k=-1,k=-1!=(0|t)?f[d>>2]:k,a=f[(t=a+(k>>>3&536870908)|0)>>2],F=t,x=Vt(k)&a,f[F>>2]=x,(0|(k=f[_+64>>2]))==(t=f[_+68>>2])<<5){if((k+1|0)<0)break o;or(e,t=k>>>0<=1073741822?(t<<=6)>>>0<(a=k+32&-32)>>>0?a:t:2147483647),k=f[_+64>>2]}if(E=E+1|0,f[_+64>>2]=k+1,t=f[_+60>>2]+(k>>>3&536870908)|0,f[t>>2]=f[t>>2]|1<<k,(0|(t=f[_+76>>2]))!=f[_+80>>2]){f[t>>2]=y,f[_+76>>2]=t+4;break s}if((t=1+(k=(c=t-(a=f[_+72>>2])|0)>>2)|0)>>>0>=1073741824)break n;if(u=c>>1,u=k>>>0<536870911?t>>>0>u>>>0?t:u:1073741823){if(u>>>0>=1073741824)break t;t=_t(u<<2)}else t=0;if(f[(k=t+(k<<2)|0)>>2]=y,(0|c)>0&&ge(t,a,c),f[_+80>>2]=t+(u<<2),f[_+76>>2]=k+4,f[_+72>>2]=t,!a)break s;ee(a)}else{if((0|(t=f[_+64>>2]))==(a=f[_+68>>2])<<5){if((t+1|0)<0)break o;or(e,t=t>>>0<=1073741822?(t=t+32&-32)>>>0>(a<<=6)>>>0?t:a:2147483647),t=f[_+64>>2]}if(f[_+64>>2]=t+1,a=f[_+60>>2]+(t>>>3&536870908)|0,c=f[a>>2],F=a,x=Vt(t)&c,f[F>>2]=x,(0|(t=f[_+76>>2]))==f[_+80>>2]){if((t=1+(u=(c=t-(a=f[_+72>>2])|0)>>2)|0)>>>0>=1073741824)break n;if(y=c>>1,y=u>>>0<536870911?t>>>0>y>>>0?t:y:1073741823){if(y>>>0>=1073741824)break a;t=_t(y<<2)}else t=0;f[(u=t+(u<<2)|0)>>2]=h,(0|c)>0&&ge(t,a,c),f[_+80>>2]=t+(y<<2),f[_+76>>2]=u+4,f[_+72>>2]=t,a&&ee(a)}else f[t>>2]=h,f[_+76>>2]=t+4}if((0|s)==(0|C))break}k=f[_+8>>2]}if(((f[k+4>>2]-f[k>>2]>>2>>>0)/3|0)==(0|E))if(E=f[k+24>>2],i=f[k+28>>2]-E>>2,(0|v)!=(0|U))for(a=v;;){if(e=f[a>>2],-1==f[(d=((s=i-1|0)<<2)+E|0)>>2])for(;s=i-2|0,i=i-1|0,-1==f[(d=(s<<2)+E|0)>>2];);if(e>>>0<=s>>>0){if(f[m>>2]=k,E=f[d>>2],n[m+12|0]=1,f[m+8>>2]=E,f[m+4>>2]=E,-1!=(0|E))for(;f[f[k>>2]+(E<<2)>>2]=e,Fe(m),k=f[_+8>>2],-1!=(0|(E=f[m+8>>2])););t=(E=f[k+24>>2])+(s<<2)|0,-1!=(0|e)&&(f[(e<<2)+E>>2]=f[t>>2]),f[t>>2]=-1,t=1<<e,e=(c=f[_+120>>2])+(e>>>3&536870908)|0,c=c+(s>>>3&536870908)|0,s=1<<s,f[c>>2]&s?t|=f[e>>2]:t=f[e>>2]&(-1^t),f[e>>2]=t,f[c>>2]=f[c>>2]&(-1^s),i=i-1|0}if((0|U)==(0|(a=a+4|0)))break}else v=U}}if(v&&ee(v),s=f[m+48>>2])for(;e=f[s>>2],ee(s),s=e,e;);e=f[m+40>>2],f[m+40>>2]=0,e&&ee(e),C&&(f[m+68>>2]=C,ee(C)),V=m+96|0;break r}oi(),T()}oi(),T()}Hr(1326)}T()}Hr(1326),T()}if(-1!=(0|i)){s=(e=f[g+16>>2])+f[g>>2]|0,t=(t=f[g+8>>2])-e|0,e=f[f[_+4>>2]+32>>2],o[e+38>>1]=b[e+38>>1],f[e>>2]=s,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=t,f[e+12>>2]=0;r:if(f[_+216>>2]!=f[_+220>>2]&&(e=f[_+8>>2],f[e+4>>2]!=f[e>>2])){for(t=0;;){if(be(_,t)){if(t=t+3|0,e=f[_+8>>2],t>>>0<f[e+4>>2]-f[e>>2]>>2>>>0)continue;break r}break}break e}if(A[_+308|0]&&(n[_+308|0]=0,s=f[_+292>>2],e=0,a=(e=(t=f[_+304>>2]+7|0)>>>0<7?1:e)>>>3|0,e=(t=e<<29|t>>>3)+f[_+288>>2]|0,a=s+a|0,f[_+288>>2]=e,f[_+292>>2]=e>>>0<t>>>0?a+1|0:a),(0|(t=f[_+216>>2]))!=f[_+220>>2])for(;;){if(Me(4+((e=p(B,144))+t|0)|0,f[_+8>>2]),v=f[Z>>2],(0|(t=f[132+(s=e+v|0)>>2]))!=(0|(s=f[s+136>>2])))for(;Be(4+(e+v|0)|0,f[t>>2]),v=f[Z>>2],(0|s)!=(0|(t=t+4|0)););if(te(4+(e+v|0)|0),B=B+1|0,t=f[_+216>>2],!(B>>>0<(f[_+220>>2]-t|0)/144>>>0))break}if(e=f[_+8>>2],_r(_+184|0,f[e+28>>2]-f[e+24>>2]>>2),(0|(v=f[_+216>>2]))!=f[_+220>>2])for(t=0;e=p(t,144)+v|0,s=f[e+60>>2]-f[e+56>>2]>>2,a=e+104|0,e=f[_+8>>2],_r(a,(0|(e=f[e+28>>2]-f[e+24>>2]>>2))>(0|s)?e:s),t=t+1|0,v=f[_+216>>2],t>>>0<(f[_+220>>2]-v|0)/144>>>0;);B=O(_,i)}}}return V=r- -64|0,0|B},ei,zt,Pt,de,function(e){ee(de(e|=0))},Ft,ir,nr,W,function(e){var r,t=0,i=0,a=0,s=0,c=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0,U=0,I=0,B=0,Z=0,W=0,F=0,x=0,S=0,j=0,Y=0;if(V=r=V+-64|0,f[132+(e|=0)>>2]=0,f[e+148>>2]){if(t=f[e+144>>2])for(;_=f[t>>2],ee(t),t=_;);if(t=0,f[e+144>>2]=0,_=f[e+140>>2]){if(_-1>>>0>=3)for(g=-4&_;f[(u=t<<2)+f[e+136>>2]>>2]=0,f[f[e+136>>2]+(4|u)>>2]=0,f[f[e+136>>2]+(8|u)>>2]=0,f[f[e+136>>2]+(12|u)>>2]=0,t=t+4|0,(0|g)!=(0|(m=m+4|0)););if(_&=3)for(;f[f[e+136>>2]+(t<<2)>>2]=0,t=t+1|0,(0|_)!=(0|(i=i+1|0)););}f[e+148>>2]=0}e:{if(Nr(1,r+60|0,f[f[e+4>>2]+32>>2])&&(f[e+156>>2]=f[r+60>>2],Nr(1,r+56|0,f[f[e+4>>2]+32>>2])&&!((i=f[r+56>>2])>>>0>1431655765|l[e+156>>2]>p(i,3)>>>0)&&(_=f[f[e+4>>2]+32>>2],u=f[_+8>>2],!((0|(g=f[_+12>>2]))<=(0|(t=f[_+20>>2]))&(a=u)>>>0<=(u=f[_+16>>2])>>>0|(0|t)>(0|g))&&(g=A[u+f[_>>2]|0],t=(u=u+1|0)?t:t+1|0,f[_+16>>2]=u,f[_+20>>2]=t,Nr(1,r+52|0,_)&&!((N=f[r+52>>2])>>>0>i>>>0|i>>>0>N+((N>>>0)/3|0)>>>0)&&Nr(1,r+48|0,f[f[e+4>>2]+32>>2])&&!((t=f[r+48>>2])>>>0>N>>>0)&&(f[e+28>>2]=f[e+24>>2],vr(u=_t(88)),_=f[e+8>>2],f[e+8>>2]=u,(!_||(Br(_),f[e+8>>2]))&&(f[e+164>>2]=f[e+160>>2],Ir(e+160|0,i),f[e+176>>2]=f[e+172>>2],Ir(e+172|0,i),f[e- -64>>2]=0,f[e+92>>2]=-1,f[e+84>>2]=-1,f[e+88>>2]=-1,f[e+40>>2]=f[e+36>>2],f[e+52>>2]=f[e+48>>2],f[e+76>>2]=f[e+72>>2],Wr(F=e+216|0),q(F,g),er(f[e+8>>2],i,t+f[e+156>>2]|0)&&(_=f[e+156>>2],n[r+8|0]=1,Pe(e+120|0,t+_|0,r+8|0),-1!=(0|le(e,f[f[e+4>>2]+32>>2]))))))))){yr(c=e+232|0,e),j=e,Y=0|yi[f[f[e>>2]+36>>2]](e),f[j+380>>2]=Y,f[e+372>>2]=g,f[e+384>>2]=t+f[e+156>>2],o[38+(t=r+8|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,n[t+29|0]=0,n[t+30|0]=0,n[t+31|0]=0,n[t+32|0]=0,n[t+33|0]=0,n[t+34|0]=0,n[t+35|0]=0,n[t+36|0]=0,x=t,g=t,u=0,V=s=V-16|0;r:if(Ve(c+80|0,c)&&Xe(c)&&(t=f[c+4>>2],f[g>>2]=f[c>>2],f[g+4>>2]=t,t=f[c+36>>2],f[g+32>>2]=f[c+32>>2],f[g+36>>2]=t,t=f[c+28>>2],f[g+24>>2]=f[c+24>>2],f[g+28>>2]=t,t=f[c+20>>2],f[g+16>>2]=f[c+16>>2],f[g+20>>2]=t,t=f[c+12>>2],f[g+8>>2]=f[c+8>>2],f[g+12>>2]=t,f[c+176>>2]=2,f[c+180>>2]=7,!((0|(t=f[c+152>>2]))<0))){if(f[s+12>>2]=0,u=2,m=f[c+156>>2],(_=f[c+160>>2]-m>>2)>>>0<t>>>0?(ve(c+156|0,t-_|0,s+12|0),u=f[c+176>>2],i=f[c+180>>2]):(i=7,t>>>0>=_>>>0||(f[c+160>>2]=m+(t<<2))),_=c+184|0,(i=1+(i-u|0)|0)>>>0>(m=((t=f[c+188>>2])-(u=f[c+184>>2])|0)/12|0)>>>0){if((t=i-m|0)>>>0<=((a=f[_+8>>2])-(u=f[_+4>>2])|0)/12>>>0)t&&(u=Je(u,0,t=p((p(t,12)-12>>>0)/12|0,12)+12|0)+t|0),f[_+4>>2]=u;else{t:{i:{a:{if((i=(w=(u-(m=f[_>>2])|0)/12|0)+t|0)>>>0<357913942){if(C=(a=(a-m|0)/12|0)<<1,a=a>>>0<178956970?i>>>0>C>>>0?i:C:357913941){if(a>>>0>=357913942)break a;k=_t(p(a,12))}if(w=(t=Je(i=p(w,12)+k|0,0,w=p((p(t,12)-12>>>0)/12|0,12)+12|0))+w|0,k=p(a,12)+k|0,(0|u)==(0|m))break i;for(;u=u-12|0,f[(i=i-12|0)>>2]=f[u>>2],f[i+4>>2]=f[u+4>>2],f[i+8>>2]=f[u+8>>2],f[u+8>>2]=0,f[u>>2]=0,f[u+4>>2]=0,(0|u)!=(0|m););if(f[_+8>>2]=k,t=f[_+4>>2],f[_+4>>2]=w,u=f[_>>2],f[_>>2]=i,(0|t)==(0|u))break t;for(;(m=f[(i=t-12|0)>>2])&&(f[t-8>>2]=m,ee(m)),(0|(t=i))!=(0|u););break t}break e}Hr(1326),T()}f[_+8>>2]=k,f[_+4>>2]=w,f[_>>2]=t}u&&ee(u)}i=f[c+188>>2]}else if(i>>>0>=m>>>0)i=t;else{if((0|t)!=(0|(i=u+p(i,12)|0)))for(;(m=f[(u=t-12|0)>>2])&&(f[t-8>>2]=m,ee(m)),(0|(t=u))!=(0|i););f[c+188>>2]=i}if(k=c+196|0,t=(i-(u=f[c+184>>2])|0)/12|0,a=f[c+196>>2],t>>>0>(m=f[c+200>>2]-a>>2)>>>0?(sr(k,t-m|0),u=f[c+184>>2],i=f[c+188>>2]):t>>>0>=m>>>0||(f[c+200>>2]=a+(t<<2)),(0|i)!=(0|u)){for(t=0;;){if(Nr(1,s+8|0,g)&&(u=f[s+8>>2],i=f[c+148>>2],!(u>>>0>(f[i+4>>2]-f[i>>2]>>2>>>0)/3>>>0))){if(u&&(i=f[_>>2],C=p(t,12),a=f[(m=i+C|0)>>2],(w=f[m+4>>2]-a>>2)>>>0<u>>>0?(sr(m,u-w|0),i=f[_>>2]):u>>>0>=w>>>0||(f[m+4>>2]=a+(u<<2)),M(u,1,g,f[i+C>>2]),f[f[k>>2]+(t<<2)>>2]=u),u=1,(t=t+1|0)>>>0<(f[c+188>>2]-f[c+184>>2]|0)/12>>>0)continue;break r}break}u=0}else u=1}V=s+16|0;r:if(u){i=0,t=0,u=0,C=0,_=0,g=0,m=0,w=0,V=y=V-96|0,f[y+72>>2]=0,f[y+64>>2]=0,f[y+68>>2]=0,f[y+48>>2]=0,f[y+52>>2]=0,f[y+40>>2]=0,f[y+44>>2]=0,f[y+56>>2]=1065353216,f[y+32>>2]=0,f[y+24>>2]=0,f[y+28>>2]=0,k=1,c=e,U=f[e+124>>2];t:{i:{a:{n:if(!((0|N)<=0)){B=c+232|0,S=f[c+216>>2]!=f[c+220>>2];o:{for(;;){m=(e=m)+1|0;f:{s:{c:{if(-1!=(0|(a=f[c+404>>2]))){if(s=-1,d=f[c+428>>2]+(a<<2)|0,a=(h=f[d>>2])-1|0,f[d>>2]=a,(0|h)<=0)break a;if(d=f[f[f[c+416>>2]+p(f[c+404>>2],12)>>2]+(a<<2)>>2],a=f[8928+(d<<2)>>2],f[c+400>>2]=a,!d){if((0|i)==(0|_))break a;a=-1,k=f[c+8>>2],E=f[k+24>>2],t=-1,-1!=(0|(s=f[(G=i-4|0)>>2]))&&(t=-1,-1!=(0|(h=((h=s+1|0)>>>0)%3|0?h:s-2|0))&&(t=f[f[k>>2]+(h<<2)>>2])),-1!=(0|(d=f[E+(t<<2)>>2]))&&(a=((a=d+1|0)>>>0)%3|0?a:d-2|0),h=f[k+12>>2],e=(d=p(e,3))+1|0,f[h+(s<<2)>>2]=e,f[(D=e<<2)+h>>2]=s,v=d+2|0,f[h+(a<<2)>>2]=v,f[(I=v<<2)+h>>2]=a,h=-1,e=-1;A:if(-1!=(0|s)){if((s>>>0)%3|0)s=s-1|0;else if(e=-1,-1==(0|(s=s+2|0)))break A;e=f[f[k>>2]+(s<<2)>>2]}if(-1!=(0|a)&&-1!=(0|(s=((s=a+1|0)>>>0)%3|0?s:a-2|0))&&(h=f[f[k>>2]+(s<<2)>>2]),s=-1,(0|e)==(0|t)|(0|t)==(0|h))break a;s=f[k>>2],f[s+(d<<2)>>2]=t,f[s+D>>2]=h,f[s+I>>2]=e,-1!=(0|e)&&(f[E+(e<<2)>>2]=v),e=f[c+120>>2]+(t>>>3&536870908)|0,s=f[e>>2],j=e,Y=Vt(t)&s,f[j>>2]=Y,f[G>>2]=d,t=_,he(B,d);break f}A:switch(a-1|0){case 2:case 4:if((0|i)==(0|_))break a;if(a=f[c+8>>2],s=f[a+12>>2],G=(E=((v=3==(0|d))?2:1)+(d=p(e,3))|0)<<2,t=f[(D=i-4|0)>>2],f[s+G>>2]=t,f[s+(t<<2)>>2]=E,ur(a+24|0),s=-1,i=f[c+8>>2],h=f[i+24>>2],(0|U)<f[i+28>>2]-h>>2)break a;if(i=f[i>>2],a=((s=f[a+28>>2]-f[a+24>>2]|0)>>2)-1|0,f[i+G>>2]=a,s&&(f[h+(a<<2)>>2]=E),s=v?d:d+2|0,E=i+(d+v<<2)|0,-1!=(0|t)){b:{l:{if((t>>>0)%3|0)a=t-1|0;else if(-1==(0|(a=t+2|0)))break l;if(a=f[i+(a<<2)>>2],f[i+(s<<2)>>2]=a,-1==(0|a))break b;f[h+(a<<2)>>2]=s;break b}f[i+(s<<2)>>2]=-1}t=((a=t+1|0)>>>0)%3|0?a:t-2|0,a=-1,-1!=(0|t)&&(a=f[i+(t<<2)>>2])}else f[i+(s<<2)>>2]=-1,a=-1;f[E>>2]=a,f[D>>2]=d,t=_;break s;case 6:break c;case 0:break A;default:break a}if((0|t)==(0|i))break a;h=f[(u=i-4|0)>>2],f[y+68>>2]=u;A:if((v=f[y+44>>2])&&(s=f[y+40>>2],a=e&v+2147483647,(E=Nt(v)>>>0>1)&&(a=e,e>>>0<v>>>0||(a=(e>>>0)%(v>>>0)|0)),(s=f[s+((d=a)<<2)>>2])&&(s=f[s>>2]))){b:{if(!E){for(a=v-1|0;;){l:{if((0|(v=f[s+4>>2]))!=(0|e)){if((0|d)==(a&v))break l;break A}if((0|e)==f[s+8>>2])break b}if(!(s=f[s>>2]))break}break A}for(;;){l:{if((0|(a=f[s+4>>2]))!=(0|e)){if(a>>>0>=v>>>0&&(a=(a>>>0)%(v>>>0)|0),(0|a)==(0|d))break l;break A}if((0|e)==f[s+8>>2])break b}if(!(s=f[s>>2]))break}break A}if((0|u)==(0|R)){if((_=1+(a=(i=R-t|0)>>2)|0)>>>0>=1073741824)break e;if(u=i>>1,u=a>>>0<536870911?u>>>0<_>>>0?_:u:1073741823){if(u>>>0>=1073741824)break i;_=_t(u<<2)}else _=0;f[(a=_+(a<<2)|0)>>2]=f[s+12>>2],R=(u<<2)+_|0,u=a+4|0,(0|i)>0&&ge(_,t,i),f[y+72>>2]=R,f[y+68>>2]=u,f[y+64>>2]=_,t&&ee(t),t=_}else f[u>>2]=f[s+12>>2],f[y+68>>2]=i,u=i}if((0|t)==(0|u))break o;if(s=-1==(0|(i=f[(D=u-4|0)>>2])),d=f[c+8>>2],!s&-1!=f[f[d+12>>2]+(i<<2)>>2])break o;if(v=f[d+12>>2],-1!=(0|h)&-1!=f[v+(h<<2)>>2])break o;G=(E=p(e,3))+2|0,f[v+(i<<2)>>2]=G,f[(e=G<<2)+v>>2]=i,k=E+1|0,f[v+(h<<2)>>2]=k,f[v+(I=k<<2)>>2]=h;A:{b:{l:{if(!s){if((i>>>0)%3|0){a=i-1|0;break l}if(-1!=(0|(a=i+2|0)))break l;k=f[d>>2],a=-1;break b}a=-1,k=f[d>>2],f[k+(E<<2)>>2]=-1,s=-1;break A}k=f[d>>2],a=f[k+(a<<2)>>2]}f[(E<<2)+k>>2]=a,i=((s=i+1|0)>>>0)%3|0?s:i-2|0,s=-1,-1!=(0|i)&&(s=f[(i<<2)+k>>2])}if(f[k+I>>2]=s,-1!=(0|h)){A:{b:{if((h>>>0)%3|0)s=h-1|0;else if(-1==(0|(s=h+2|0)))break b;if(i=e+k|0,e=f[(s<<2)+k>>2],f[i>>2]=e,-1==(0|e))break A;f[f[d+24>>2]+(e<<2)>>2]=G;break A}f[e+k>>2]=-1}s=-1,i=-1,-1!=(0|(e=((e=h+1|0)>>>0)%3|0?e:h-2|0))&&(s=e,i=f[(e<<2)+k>>2])}else f[e+k>>2]=-1,s=-1,i=-1;G=(e=f[c+388>>2])+(h=a<<2)|0,I=e,e=i<<2,f[G>>2]=f[G>>2]+f[I+e>>2],e=(d=f[d+24>>2])+e|0,-1!=(0|a)&&(f[d+h>>2]=f[e>>2]);A:if(-1!=(0|s))for(;;){if(f[(s<<2)+k>>2]=a,-1==(0|(s=((d=s+1|0)>>>0)%3|0?d:s-2|0)))break A;if(-1==(0|(s=f[v+(s<<2)>>2])))break A;if(-1==(0|(s=((d=s+1|0)>>>0)%3|0?d:s-2|0)))break}f[e>>2]=-1;A:if(!S){if((0|w)==(0|Z)){b:{if((g=1+(k=(e=Z-C|0)>>2)|0)>>>0<1073741824){if(s=e>>1,s=k>>>0<536870911?s>>>0<g>>>0?g:s:1073741823){if(s>>>0>=1073741824)break b;g=_t(s<<2)}else g=0;f[(k=g+(k<<2)|0)>>2]=i,Z=(s<<2)+g|0,w=k+4|0,(0|e)>0&&ge(g,C,e),f[y+32>>2]=Z,f[y+28>>2]=w,f[y+24>>2]=g,C&&ee(C),C=g;break A}break e}break i}f[w>>2]=i,w=w+4|0,f[y+28>>2]=w}f[D>>2]=E,i=u,he(B,E);break f}f[c+400>>2]=7}if(ur((d=f[c+8>>2])+24|0),s=-1,a=f[c+8>>2],u=p(e,3),E=(d=(h=f[d+28>>2]-f[d+24>>2]|0)>>2)-1|0,f[f[a>>2]+(u<<2)>>2]=E,ur(a+24|0),v=u+1|0,f[f[a>>2]+(v<<2)>>2]=(f[a+28>>2]-f[a+24>>2]>>2)-1,ur((a=f[c+8>>2])+24|0),G=u+2|0,f[f[a>>2]+(G<<2)>>2]=(f[a+28>>2]-f[a+24>>2]>>2)-1,D=f[c+8>>2],a=f[D+24>>2],(0|U)<f[D+28>>2]-a>>2)break a;c:{if(h){if(f[a+(E<<2)>>2]=u,s=0,-4!=(0|h)&&(f[a+(d<<2)>>2]=v,-1==(0|(s=d+1|0))))break c}else f[a+(d<<2)>>2]=v,s=1;f[a+(s<<2)>>2]=G}if((0|i)==(0|R)){if((t=1+(a=(i=R-_|0)>>2)|0)>>>0>=1073741824)break e;if(s=i>>1,s=a>>>0<536870911?t>>>0>s>>>0?t:s:1073741823){if(s>>>0>=1073741824)break i;t=_t(s<<2)}else t=0;f[(a=t+(a<<2)|0)>>2]=u,R=(s<<2)+t|0,u=a+4|0,(0|i)>0&&ge(t,_,i),f[y+72>>2]=R,f[y+68>>2]=u,f[y+64>>2]=t,_&&ee(_),_=t}else f[i>>2]=u,u=i+4|0,f[y+68>>2]=u}he(B,f[u-4>>2]);s:if((0|(s=f[c+40>>2]))!=f[c+36>>2])for(a=N+(-1^e)|0,d=u-4|0;;){if((e=f[s-8>>2])>>>0>a>>>0)break o;if((0|e)!=(0|a))break s;if(h=A[s-4|0],i=f[(e=s-12|0)>>2],f[c+40>>2]=e,(0|i)<0)break o;e=f[d>>2],f[y+20>>2]=N+(-1^i),i=y+20|0,f[y+88>>2]=i,re(y,y+40|0,i,y+88|0),s=f[y>>2];c:if(1&h){if(i=-1,-1==(0|e))break c;i=((i=e+1|0)>>>0)%3|0?i:e-2|0}else i=-1,-1!=(0|e)&&(i=e-1|0,(e>>>0)%3|0||(i=e+2|0));if(f[s+12>>2]=i,(0|(s=f[c+40>>2]))==f[c+36>>2])break}i=u}if(k=(0|m)<(0|N),(0|m)==(0|N))break}m=N;break n}if(s=-1,1&k)break a}if(s=-1,i=f[c+8>>2],!((0|U)<f[i+28>>2]-f[i+24>>2]>>2)){if((0|u)!=(0|_)){for(N=c+60|0,E=c+312|0;;){d=f[(u=u-4|0)>>2],f[y+68>>2]=u;n:if(jr(E)){if(v=f[c+8>>2],h=f[v>>2],((f[v+4>>2]-h>>2>>>0)/3|0)<=(0|m))break a;if(t=-1,e=-1,a=f[v+24>>2],i=-1,-1!=(0|d)&&(i=-1,-1!=(0|(C=((C=d+1|0)>>>0)%3|0?C:d-2|0))&&(i=f[h+(C<<2)>>2])),-1!=(0|(i=f[a+((C=i)<<2)>>2]))&&-1!=(0|(i=((k=i+1|0)>>>0)%3|0?k:i-2|0))&&(-1!=(0|(t=((t=i+1|0)>>>0)%3|0?t:i-2|0))&&(e=f[h+(t<<2)>>2]),t=i),R=-1,k=-1,i=-1,-1!=(0|(a=f[a+(e<<2)>>2]))&&(i=-1,-1!=(0|(a=((U=a+1|0)>>>0)%3|0?U:a-2|0))&&(k=a,i=-1!=(0|(i=((i=a+1|0)>>>0)%3|0?i:a-2|0))?f[h+(i<<2)>>2]:-1)),a=f[v+12>>2],v=p(m,3),f[a+(U=v<<2)>>2]=d,f[a+(d<<2)>>2]=v,f[(B=(d=v+1|0)<<2)+a>>2]=t,f[a+(t<<2)>>2]=d,f[(Z=(t=v+2|0)<<2)+a>>2]=k,f[a+(k<<2)>>2]=t,f[h+U>>2]=e,f[(k=h+B|0)>>2]=i,f[(i=h+Z|0)>>2]=C,a=d>>>0<v>>>0?-1:e,e=f[c+120>>2],h=f[(C=(a>>>3&536870908)+e|0)>>2],j=C,Y=Vt(a)&h,f[j>>2]=Y,R=-1!=(0|d)?f[k>>2]:R,a=f[(k=e+(R>>>3&536870908)|0)>>2],j=k,Y=Vt(R)&a,f[j>>2]=Y,a=-1,a=-1!=(0|t)?f[i>>2]:a,t=f[(e=e+(a>>>3&536870908)|0)>>2],j=e,Y=Vt(a)&t,f[j>>2]=Y,(0|(a=f[c+64>>2]))==(e=f[c+68>>2])<<5){if((a+1|0)<0)break e;or(N,e=a>>>0<=1073741822?(e<<=6)>>>0<(t=a+32&-32)>>>0?t:e:2147483647),a=f[c+64>>2]}if(m=m+1|0,f[c+64>>2]=a+1,e=f[c+60>>2]+(a>>>3&536870908)|0,f[e>>2]=f[e>>2]|1<<a,(0|(e=f[c+76>>2]))!=f[c+80>>2]){f[e>>2]=v,f[c+76>>2]=e+4;break n}if((e=1+(a=(i=e-(t=f[c+72>>2])|0)>>2)|0)>>>0>=1073741824)break e;if(k=i>>1,k=a>>>0<536870911?e>>>0>k>>>0?e:k:1073741823){if(k>>>0>=1073741824)break i;e=_t(k<<2)}else e=0;if(f[(a=e+(a<<2)|0)>>2]=v,(0|i)>0&&ge(e,t,i),f[c+80>>2]=e+(k<<2),f[c+76>>2]=a+4,f[c+72>>2]=e,!t)break n;ee(t)}else{if((0|(i=f[c+64>>2]))==(e=f[c+68>>2])<<5){if((i+1|0)<0)break e;or(N,e=i>>>0<=1073741822?(e<<=6)>>>0<(t=i+32&-32)>>>0?t:e:2147483647),i=f[c+64>>2]}if(f[c+64>>2]=i+1,e=f[c+60>>2]+(i>>>3&536870908)|0,t=f[e>>2],j=e,Y=Vt(i)&t,f[j>>2]=Y,(0|(e=f[c+76>>2]))==f[c+80>>2]){if((e=1+(a=(i=e-(t=f[c+72>>2])|0)>>2)|0)>>>0>=1073741824)break e;if(k=i>>1,k=a>>>0<536870911?e>>>0>k>>>0?e:k:1073741823){if(k>>>0>=1073741824)break i;e=_t(k<<2)}else e=0;f[(a=e+(a<<2)|0)>>2]=d,(0|i)>0&&ge(e,t,i),f[c+80>>2]=e+(k<<2),f[c+76>>2]=a+4,f[c+72>>2]=e,t&&ee(t)}else f[e>>2]=d,f[c+76>>2]=e+4}if((0|u)==(0|_))break}i=f[c+8>>2]}if(((f[i+4>>2]-f[i>>2]>>2>>>0)/3|0)==(0|m))if(a=f[i+24>>2],s=f[i+28>>2]-a>>2,(0|g)!=(0|w))for(e=g;;){if(t=f[e>>2],-1==f[(k=((u=s-1|0)<<2)+a|0)>>2])for(;u=s-2|0,s=s-1|0,-1==f[(k=(u<<2)+a|0)>>2];);if(t>>>0<=u>>>0){if(f[y>>2]=i,a=f[k>>2],n[y+12|0]=1,f[y+8>>2]=a,f[y+4>>2]=a,-1!=(0|a))for(;f[f[i>>2]+(a<<2)>>2]=t,Fe(y),i=f[c+8>>2],-1!=(0|(a=f[y+8>>2])););m=(a=f[i+24>>2])+(u<<2)|0,-1!=(0|t)&&(f[(t<<2)+a>>2]=f[m>>2]),f[m>>2]=-1,m=1<<t,t=(N=f[c+120>>2])+(t>>>3&536870908)|0,N=N+(u>>>3&536870908)|0,u=1<<u,f[N>>2]&u?m|=f[t>>2]:m=f[t>>2]&(-1^m),f[t>>2]=m,f[N>>2]=f[N>>2]&(-1^u),s=s-1|0}if((0|w)==(0|(e=e+4|0)))break}else g=w}}if(g&&ee(g),e=f[y+48>>2])for(;t=f[e>>2],ee(e),e=t;);e=f[y+40>>2],f[y+40>>2]=0,e&&ee(e),_&&(f[y+68>>2]=_,ee(_)),V=y+96|0;break t}Hr(1326),T()}if(-1!=(0|s)){t=(e=f[x+16>>2])+f[x>>2]|0,_=(_=f[x+8>>2])-e|0,e=f[f[c+4>>2]+32>>2],o[e+38>>1]=b[e+38>>1],f[e>>2]=t,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=_,f[e+12>>2]=0;t:if(f[c+216>>2]!=f[c+220>>2]&&(e=f[c+8>>2],f[e+4>>2]!=f[e>>2])){for(t=0;;){if(be(c,t)){if(t=t+3|0,e=f[c+8>>2],t>>>0<f[e+4>>2]-f[e>>2]>>2>>>0)continue;break t}break}break r}if(A[c+308|0]&&(n[c+308|0]=0,t=f[c+292>>2],e=0,i=(e=(_=f[c+304>>2]+7|0)>>>0<7?1:e)>>>3|0,e=(_=e<<29|_>>>3)+f[c+288>>2]|0,t=t+i|0,f[c+288>>2]=e,f[c+292>>2]=e>>>0<_>>>0?t+1|0:t),(0|(t=f[c+216>>2]))!=f[c+220>>2])for(;;){if(Me(4+((e=p(W,144))+t|0)|0,f[c+8>>2]),i=f[F>>2],(0|(t=f[132+(_=e+i|0)>>2]))!=(0|(_=f[_+136>>2])))for(;Be(4+(e+i|0)|0,f[t>>2]),i=f[F>>2],(0|_)!=(0|(t=t+4|0)););if(te(4+(e+i|0)|0),W=W+1|0,t=f[c+216>>2],!(W>>>0<(f[c+220>>2]-t|0)/144>>>0))break}if(e=f[c+8>>2],_r(c+184|0,f[e+28>>2]-f[e+24>>2]>>2),(0|(i=f[c+216>>2]))!=f[c+220>>2])for(t=0;e=p(t,144)+i|0,_=f[e+60>>2]-f[e+56>>2]>>2,i=e+104|0,e=f[c+8>>2],_r(i,(0|(e=f[e+28>>2]-f[e+24>>2]>>2))>(0|_)?e:_),t=t+1|0,i=f[c+216>>2],t>>>0<(f[c+220>>2]-i|0)/144>>>0;);W=O(c,s)}}}return V=r- -64|0,0|W}oi(),T()},ei,zt,Pt,st,function(e){var r=0;f[(e|=0)>>2]=8652,(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=8904,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),ee(e)},mr,function(e){var r=0;return f[(e|=0)>>2]=8904,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),0|e},function(e){var r=0;f[(e|=0)>>2]=8904,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),ee(e)},function(e){var r=0;return f[8+(e|=0)>>2]=9168,f[e>>2]=8956,(r=f[e+96>>2])&&(f[e+100>>2]=r,ee(r)),(r=f[e+80>>2])&&(f[e+84>>2]=r,ee(r)),(r=f[e+68>>2])&&(f[e+72>>2]=r,ee(r)),(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=9404,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),0|e},function(e){var r=0;f[8+(e|=0)>>2]=9168,f[e>>2]=8956,(r=f[e+96>>2])&&(f[e+100>>2]=r,ee(r)),(r=f[e+80>>2])&&(f[e+84>>2]=r,ee(r)),(r=f[e+68>>2])&&(f[e+72>>2]=r,ee(r)),(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=9404,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),ee(e)},function(e,r){r|=0;var t,i,a,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0;if(i=f[12+(e|=0)>>2],o=f[e+108>>2],c=f[o+80>>2],n[r+84|0]=0,A=f[r+68>>2],(s=f[r+72>>2]-A>>2)>>>0<c>>>0?(ve(r+68|0,c-s|0,9156),o=f[e+108>>2],c=f[o+80>>2]):c>>>0>=s>>>0||(f[r+72>>2]=A+(c<<2)),t=f[o+96>>2],!(o=f[o+100>>2]-t|0))return 1;a=(o=(0|o)/12|0)>>>0>1?o:1,o=0;e:{for(;;){if(1431655765==(0|o))break e;if(s=f[i>>2]+(p(o,3)<<2)|0,-1==(0|(l=f[s>>2])))break e;if(A=p(o,12)+t|0,(b=f[A>>2])>>>0>=c>>>0)break e;if(_=f[f[e+112>>2]+12>>2],(u=f[_+(l<<2)>>2])>>>0>=c>>>0)break e;if(l=f[r+68>>2],f[l+(b<<2)>>2]=u,-1==(0|(b=f[s+4>>2])))break e;if((u=f[A+4>>2])>>>0>=c>>>0)break e;if((b=f[(b<<2)+_>>2])>>>0>=c>>>0)break e;if(f[l+(u<<2)>>2]=b,-1==(0|(s=f[s+8>>2])))break e;if((A=f[A+8>>2])>>>0>=c>>>0)break e;if((s=f[(s<<2)+_>>2])>>>0>=c>>>0)break e;if(f[l+(A<<2)>>2]=s,(0|a)==(0|(o=o+1|0)))break}return 1}return 0},function(e){var r,t=0,i=0,a=0,n=0,o=0,s=0;V=r=V-16|0,t=f[4+(e|=0)>>2],a=f[t>>2];e:{if(i=f[e+12>>2],!((n=(i=f[i+28>>2]-f[i+24>>2]|0)>>2)>>>0<=f[t+8>>2]-a>>2>>>0)){if((0|i)<0)break e;o=f[t+4>>2],s=(i=_t(i))+(n<<2)|0,o=(n=o-a|0)+i|0,(0|n)>0&&ge(i,a,n),f[t+8>>2]=s,f[t+4>>2]=o,f[t>>2]=i,a&&ee(a)}t=f[e+12>>2],a=f[t+28>>2],t=f[t+24>>2],f[r+12>>2]=0,t=a-t>>2,n=f[(i=e+96|0)>>2],t>>>0>(a=f[e+100>>2]-n>>2)>>>0?ve(i,t-a|0,r+12|0):t>>>0>=a>>>0||(f[e+100>>2]=n+(t<<2)),n=e+8|0;r:if(t=f[e+116>>2]){if((0|(i=f[t>>2]))==f[t+4>>2]){a=1;break r}for(t=0;;){if(!(a=j(n,f[(t<<2)+i>>2])))break r;if(o=f[e+116>>2],i=f[o>>2],!((t=t+1|0)>>>0<f[o+4>>2]-i>>2>>>0))break}}else if(a=1,e=f[e+12>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,t=0;;){if(!(a=j(n,p(t,3))))break r;if((0|e)==(0|(t=t+1|0)))break}return V=r+16|0,0|a}Hr(1326),T()},function(e){var r=0;return f[(e|=0)>>2]=9168,(r=f[e+88>>2])&&(f[e+92>>2]=r,ee(r)),(r=f[e+72>>2])&&(f[e+76>>2]=r,ee(r)),(r=f[e+60>>2])&&(f[e- -64>>2]=r,ee(r)),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),0|e},function(e){var r=0;f[(e|=0)>>2]=9168,(r=f[e+88>>2])&&(f[e+92>>2]=r,ee(r)),(r=f[e+72>>2])&&(f[e+76>>2]=r,ee(r)),(r=f[e+60>>2])&&(f[e- -64>>2]=r,ee(r)),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),ee(e)},function(e,r,t){r|=0,t|=0;var i,a=0;V=i=V-16|0,f[4+(e|=0)>>2]=r,a=f[r>>2],r=f[r+4>>2],n[i+15|0]=0,Pe(e+24|0,(r-a>>2>>>0)/3|0,i+15|0),r=f[e+4>>2],a=f[r+28>>2],r=f[r+24>>2],n[i+14|0]=0,Pe(e+36|0,a-r>>2,i+14|0),r=f[t+12>>2],f[e+16>>2]=f[t+8>>2],f[e+20>>2]=r,r=f[t+4>>2],f[e+8>>2]=f[t>>2],f[e+12>>2]=r,V=i+16|0},function(e){var r=0;return f[(e|=0)>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),0|e},function(e){var r=0;f[(e|=0)>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),ee(e)},function(e){var r=0;return f[8+(e|=0)>>2]=9588,f[e>>2]=9424,(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=9404,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),0|e},function(e){var r=0;f[8+(e|=0)>>2]=9588,f[e>>2]=9424,(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=9404,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),ee(e)},function(e,r){r|=0;var t,i,a,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0;if(i=f[12+(e|=0)>>2],o=f[e+68>>2],c=f[o+80>>2],n[r+84|0]=0,A=f[r+68>>2],(s=f[r+72>>2]-A>>2)>>>0<c>>>0?(ve(r+68|0,c-s|0,9156),o=f[e+68>>2],c=f[o+80>>2]):c>>>0>=s>>>0||(f[r+72>>2]=A+(c<<2)),t=f[o+96>>2],!(o=f[o+100>>2]-t|0))return 1;a=(o=(0|o)/12|0)>>>0>1?o:1,o=0;e:{for(;;){if(1431655765==(0|o))break e;if(s=f[i>>2]+(p(o,3)<<2)|0,-1==(0|(l=f[s>>2])))break e;if(A=p(o,12)+t|0,(b=f[A>>2])>>>0>=c>>>0)break e;if(_=f[f[e+72>>2]+12>>2],(u=f[_+(l<<2)>>2])>>>0>=c>>>0)break e;if(l=f[r+68>>2],f[l+(b<<2)>>2]=u,-1==(0|(b=f[s+4>>2])))break e;if((u=f[A+4>>2])>>>0>=c>>>0)break e;if((b=f[(b<<2)+_>>2])>>>0>=c>>>0)break e;if(f[l+(u<<2)>>2]=b,-1==(0|(s=f[s+8>>2])))break e;if((A=f[A+8>>2])>>>0>=c>>>0)break e;if((s=f[(s<<2)+_>>2])>>>0>=c>>>0)break e;if(f[l+(A<<2)>>2]=s,(0|a)==(0|(o=o+1|0)))break}return 1}return 0},function(e){var r=0,t=0,i=0,a=0,n=0,o=0;r=f[4+(e|=0)>>2],i=f[r>>2];e:{if(t=f[e+12>>2],!((a=(t=f[t+28>>2]-f[t+24>>2]|0)>>2)>>>0<=f[r+8>>2]-i>>2>>>0)){if((0|t)<0)break e;n=f[r+4>>2],o=(t=_t(t))+(a<<2)|0,n=(a=n-i|0)+t|0,(0|a)>0&&ge(t,i,a),f[r+8>>2]=o,f[r+4>>2]=n,f[r>>2]=t,i&&ee(i)}a=e+8|0;r:if(r=f[e+76>>2]){if((0|(i=f[r>>2]))==f[r+4>>2])return 1;for(r=0;;){if(!(t=ne(a,f[(r<<2)+i>>2])))break r;if(n=f[e+76>>2],i=f[n>>2],!((r=r+1|0)>>>0<f[n+4>>2]-i>>2>>>0))break}}else if(t=1,e=f[e+12>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,r=0;;){if(!(t=ne(a,p(r,3))))break r;if((0|e)==(0|(r=r+1|0)))break}return 0|t}Hr(1326),T()},function(e){var r=0;return f[(e|=0)>>2]=9588,(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),0|e},function(e){var r=0;f[(e|=0)>>2]=9588,(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),ee(e)},function(e){var r=0;return f[8+(e|=0)>>2]=8652,f[e>>2]=9716,(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=8904,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),0|e},function(e){var r=0;f[8+(e|=0)>>2]=8652,f[e>>2]=9716,(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=8904,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),ee(e)},function(e,r){r|=0;var t,i,a,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0;if(l=f[12+(e|=0)>>2],o=f[e+68>>2],c=f[o+80>>2],n[r+84|0]=0,b=f[r+68>>2],(s=f[r+72>>2]-b>>2)>>>0<c>>>0?(ve(r+68|0,c-s|0,9156),o=f[e+68>>2],c=f[o+80>>2]):c>>>0>=s>>>0||(f[r+72>>2]=b+(c<<2)),t=f[o+96>>2],!(o=f[o+100>>2]-t|0))return 1;i=(o=(0|o)/12|0)>>>0>1?o:1,a=f[l+28>>2],o=0;e:{for(;;){if(s=(p(o,3)<<2)+a|0,-1==(0|(b=f[s>>2])))break e;if(l=p(o,12)+t|0,(u=f[l>>2])>>>0>=c>>>0)break e;if(A=b<<2,b=f[f[e+72>>2]+12>>2],(A=f[A+b>>2])>>>0>=c>>>0)break e;if(_=u<<2,u=f[r+68>>2],f[_+u>>2]=A,-1==(0|(A=f[s+4>>2])))break e;if((_=f[l+4>>2])>>>0>=c>>>0)break e;if((A=f[b+(A<<2)>>2])>>>0>=c>>>0)break e;if(f[u+(_<<2)>>2]=A,-1==(0|(s=f[s+8>>2])))break e;if((l=f[l+8>>2])>>>0>=c>>>0)break e;if((s=f[b+(s<<2)>>2])>>>0>=c>>>0)break e;if(f[u+(l<<2)>>2]=s,(0|i)==(0|(o=o+1|0)))break}return 1}return 0},function(e){var r=0,t=0,i=0,a=0,n=0,o=0;r=f[4+(e|=0)>>2],i=f[r>>2];e:{if(t=f[e+12>>2],!((a=(t=f[t+56>>2]-f[t+52>>2]|0)>>2)>>>0<=f[r+8>>2]-i>>2>>>0)){if((0|t)<0)break e;n=f[r+4>>2],o=(t=_t(t))+(a<<2)|0,n=(a=n-i|0)+t|0,(0|a)>0&&ge(t,i,a),f[r+8>>2]=o,f[r+4>>2]=n,f[r>>2]=t,i&&ee(i)}a=e+8|0;r:if(r=f[e+76>>2]){if((0|(i=f[r>>2]))==f[r+4>>2])return 1;for(r=0;;){if(!(t=ie(a,f[(r<<2)+i>>2])))break r;if(n=f[e+76>>2],i=f[n>>2],!((r=r+1|0)>>>0<f[n+4>>2]-i>>2>>>0))break}}else if(t=1,e=f[f[e+12>>2]+64>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,r=0;;){if(!(t=ie(a,p(r,3))))break r;if((0|e)==(0|(r=r+1|0)))break}return 0|t}Hr(1326),T()},function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=10064,(t=f[e+20>>2])&&(f[e+24>>2]=t,ee(t)),r=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+8>>2]}f[e+12>>2]=r,ee(t)}ee(e)},function(e,r){e|=0,r|=0;var t=0,i=0,a=0,n=0,o=0,s=0;n=_t(64),t=_t(12),f[t+8>>2]=f[f[e+4>>2]+80>>2],f[t>>2]=1e4,f[t+4>>2]=0,n=Or(n,t);e:{if((0|r)<0)t=n;else{if(s=e+8|0,!((0|(o=(t=f[e+12>>2])-(a=f[e+8>>2])>>2))>(0|r)))if(i=r+1|0,r>>>0>=o>>>0)Oe(s,i-o|0);else if(!(i>>>0>=o>>>0)){if((0|(a=a+(i<<2)|0))!=(0|t))for(;i=f[(t=t-4|0)>>2],f[t>>2]=0,i&&yi[f[f[i>>2]+4>>2]](i),(0|t)!=(0|a););f[e+12>>2]=a}if(e=f[s>>2]+(r<<2)|0,t=f[e>>2],f[e>>2]=n,!t)break e}yi[f[f[t>>2]+4>>2]](t)}return(-1^r)>>>31|0},function(e){var r,t=0,i=0,a=0,n=0,o=0,s=0,c=0,u=0,_=0,k=0,d=0,m=0,h=0;V=r=V-32|0;e:if(Gr(1,r+28|0,f[32+(e|=0)>>2])&&Gr(1,r+24|0,f[e+32>>2])&&!((_=f[r+28>>2])>>>0>1431655765||(a=f[e+32>>2],n=Pr(n=(t=u=f[a+8>>2])-(i=f[a+16>>2])|0,(o=f[a+12>>2])-((m=t>>>0<i>>>0)+(t=f[a+20>>2])|0)|0,3,0),!D&n>>>0<_>>>0||(h=f[r+24>>2],n=Lr(_,0,3,0),!D&n>>>0<h>>>0|(0|t)>=(0|o)&i>>>0>=u>>>0|(0|t)>(0|o))))){o=A[i+f[a>>2]|0],n=(u=i+1|0)?t:t+1|0,f[a+16>>2]=u,f[a+20>>2]=n;r:{if(o){t:if(h>>>0<=255){if(!_)break r;if(f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,(0|n)>=(0|(t=i=f[a+12>>2]))&u>>>0>=(s=f[a+8>>2])>>>0|(0|t)<(0|n))break t;for(;;){if(o=f[a>>2],k=A[o+u|0],t=n,t=(c=u+1|0)?t:t+1|0,f[a+16>>2]=c,f[a+20>>2]=t,f[r+8>>2]=k,s>>>0<=c>>>0&(0|t)>=(0|i)|(0|t)>(0|i))break t;if(k=A[o+c|0],t=n,t=(c=u+2|0)>>>0<2?t+1|0:t,f[a+16>>2]=c,f[a+20>>2]=t,f[r+12>>2]=k,s>>>0<=c>>>0&(0|t)>=(0|i)|(0|t)>(0|i))break t;if(t=A[o+c|0],n=(i=u+3|0)>>>0<3?n+1|0:n,f[a+16>>2]=i,f[a+20>>2]=n,f[r+16>>2]=t,tr(f[e+44>>2]+96|0,r+8|0),(0|_)==(0|(d=d+1|0)))break r;if(a=f[e+32>>2],u=f[(t=a)+16>>2],n=f[t+20>>2],f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,!(u>>>0<(s=f[t+8>>2])>>>0&(0|n)<=(0|(t=i=f[t+12>>2]))|(0|t)>(0|n)))break}}else if(h>>>0<=65535){if(!_)break r;if(f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,o=f[a+12>>2],s=i=i+3|0,i=t=i>>>0<3?t+1|0:t,(c=f[a+8>>2])>>>0<s>>>0&(0|t)>=(0|o)|(0|t)>(0|o))break t;for(;;){if(k=f[a>>2],t=A[0|(t=k+u|0)]|A[t+1|0]<<8,f[a+16>>2]=s,f[a+20>>2]=i,f[r+8>>2]=t,t=n,(i=u+4|0)>>>0>c>>>0&(0|(t=i>>>0<4?t+1|0:t))>=(0|o)|(0|t)>(0|o))break t;if(s=A[0|(s=s+k|0)]|A[s+1|0]<<8,f[a+16>>2]=i,f[a+20>>2]=t,f[r+12>>2]=s,t=n,(n=u+6|0)>>>0>c>>>0&(0|(t=n>>>0<6?t+1|0:t))>=(0|o)|(0|t)>(0|o))break t;if(i=A[0|(i=i+k|0)]|A[i+1|0]<<8,f[a+16>>2]=n,f[a+20>>2]=t,f[r+16>>2]=i,tr(f[e+44>>2]+96|0,r+8|0),(0|_)==(0|(d=d+1|0)))break r;if(a=f[e+32>>2],u=f[(t=a)+16>>2],n=f[t+20>>2],f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,o=f[t+12>>2],c=f[t+8>>2],t=n,s=i=u+2|0,i=t=i>>>0<2?t+1|0:t,!((0|t)<=(0|o)&s>>>0<=c>>>0|(0|t)<(0|o)))break}}else if(l[f[e+44>>2]+80>>2]>2097151||(65535&((o=b[e+36>>1])<<8|o>>>8))>>>0<514){if(!_)break r;if(f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,o=f[a+12>>2],s=i=i+5|0,i=t=i>>>0<5?t+1|0:t,!((c=f[a+8>>2])>>>0<s>>>0&(0|t)>=(0|o)|(0|t)>(0|o)))for(;;){if(k=f[a>>2],t=A[0|(t=k+u|0)]|A[t+1|0]<<8|A[t+2|0]<<16|A[t+3|0]<<24,f[a+16>>2]=s,f[a+20>>2]=i,f[r+8>>2]=t,t=n,m=i=u+8|0,i>>>0>c>>>0&(0|(t=i>>>0<8?t+1|0:t))>=(0|o)|(0|t)>(0|o))break t;if(i=A[0|(i=s+k|0)]|A[i+1|0]<<8|A[i+2|0]<<16|A[i+3|0]<<24,f[a+16>>2]=m,f[a+20>>2]=t,f[r+12>>2]=i,i=t=u+12|0,t>>>0>c>>>0&(0|(n=t>>>0<12?n+1|0:n))>=(0|o)|(0|n)>(0|o))break t;if(t=A[0|(t=k+m|0)]|A[t+1|0]<<8|A[t+2|0]<<16|A[t+3|0]<<24,f[a+16>>2]=i,f[a+20>>2]=n,f[r+16>>2]=t,tr(f[e+44>>2]+96|0,r+8|0),(0|_)==(0|(d=d+1|0)))break r;if(a=f[e+32>>2],u=f[(t=a)+16>>2],n=f[t+20>>2],f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,o=f[t+12>>2],c=f[t+8>>2],t=n,s=i=u+4|0,i=t=i>>>0<4?t+1|0:t,!((0|t)<=(0|o)&s>>>0<=c>>>0|(0|t)<(0|o)))break}}else{if(!_)break r;if(f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,!Gr(1,r+4|0,a))break t;for(;;){if(f[r+8>>2]=f[r+4>>2],!Gr(1,r+4|0,f[e+32>>2]))break t;if(f[r+12>>2]=f[r+4>>2],!Gr(1,r+4|0,f[e+32>>2]))break t;if(f[r+16>>2]=f[r+4>>2],tr(f[e+44>>2]+96|0,r+8|0),(0|_)==(0|(d=d+1|0)))break r;if(n=f[e+32>>2],f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,!Gr(1,r+4|0,n))break}}d=0;break e}a=0,V=t=V-32|0,f[t+24>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0;t:{i:{if(n=p(_,3)){if(n>>>0>=1073741824)break i;a=_t(i=p(_,12)),f[t+16>>2]=a,Je(a,0,i)}a:{if(!(n=M(n,1,f[e+32>>2],a))|!_){if(!a)break a}else for(o=0,i=0;m=s,c=(s=f[(u=(i<<2)+a|0)>>2])>>>1|0,s=m+(1&s?0-c|0:c)|0,f[t>>2]=s,k=(c=f[u+4>>2])>>>1|0,s=s+(1&c?0-k|0:k)|0,f[t+4>>2]=s,c=(u=f[u+8>>2])>>>1|0,s=s+(1&u?0-c|0:c)|0,f[t+8>>2]=s,tr(f[e+44>>2]+96|0,t),i=i+3|0,(0|(o=o+1|0))!=(0|_););ee(a)}V=t+32|0;break t}oi(),T()}if(!n)break e}f[f[e+4>>2]+80>>2]=h,d=1}return V=r+32|0,0|d},$t,fi,function(e,r){return n[84+(r|=0)|0]=1,f[r+72>>2]=f[r+68>>2],1},function(e){var r=0,t=0,i=0,a=0,n=0;e:{if(!((0|(r=f[8+(e|=0)>>2]))<0||(t=f[e+4>>2],a=f[t>>2],(i=f[t+4>>2]-a>>2)>>>0<r>>>0?(sr(t,r-i|0),n=f[e+8>>2]):(n=r,r>>>0>=i>>>0||(f[t+4>>2]=a+(r<<2),n=r)),(0|(i=n))<=0)))for(e=f[e+4>>2],t=f[e>>2],a=f[e+4>>2]-t>>2,e=0;;){if((0|e)==(0|a))break e;if(f[t+(e<<2)>>2]=e,(0|i)==(0|(e=e+1|0)))break}return(-1^r)>>>31|0}li(),T()},ci,ii,ei,function(e){var r=0;return f[(e|=0)>>2]=10272,(r=f[e+96>>2])&&(f[e+100>>2]=r,ee(r)),(r=f[e+84>>2])&&(f[e+88>>2]=r,ee(r)),fr(e),0|e},function(e){var r=0;f[(e|=0)>>2]=10272,(r=f[e+96>>2])&&(f[e+100>>2]=r,ee(r)),(r=f[e+84>>2])&&(f[e+88>>2]=r,ee(r)),fr(e),ee(e)},function(e,r,t){var i=0,a=0,n=0,o=0,s=0,c=0,A=0,b=0;if(ce(e|=0,r|=0,t|=0),t=f[e+84>>2],!((0|(i=f[e+88>>2]-t>>2))>(0|r))){if((r=r+1|0)>>>0>i>>>0){e:if((i=r-i|0)>>>0<=(a=f[e+92>>2])-(t=f[e+88>>2])>>2>>>0){if(i){if(r=t,o=1+((n=(i<<2)-4|0)>>>2|0)&7)for(;f[r>>2]=1,r=r+4|0,(0|o)!=(0|(s=s+1|0)););if(t=(i<<2)+t|0,!(n>>>0<28))for(;f[r+24>>2]=1,f[r+28>>2]=1,f[r+16>>2]=1,f[r+20>>2]=1,f[r+8>>2]=1,f[r+12>>2]=1,f[r>>2]=1,f[r+4>>2]=1,(0|t)!=(0|(r=r+32|0)););}f[e+88>>2]=t}else{r:{if((r=(t=(A=t-(n=f[e+84>>2])|0)>>2)+i|0)>>>0<1073741824){if(c=(a=a-n|0)>>1,a=a>>2>>>0<536870911?r>>>0>c>>>0?r:c:1073741823){if(a>>>0>=1073741824)break r;o=_t(a<<2)}if(r=t=(t<<2)+o|0,b=1+((c=(i<<=2)-4|0)>>>2|0)&7)for(r=t;f[r>>2]=1,r=r+4|0,(0|b)!=(0|(s=s+1|0)););if(t=t+i|0,c>>>0>=28)for(;f[r+24>>2]=1,f[r+28>>2]=1,f[r+16>>2]=1,f[r+20>>2]=1,f[r+8>>2]=1,f[r+12>>2]=1,f[r>>2]=1,f[r+4>>2]=1,(0|t)!=(0|(r=r+32|0)););(0|A)>0&&ge(o,n,A),f[e+92>>2]=(a<<2)+o,f[e+88>>2]=t,f[e+84>>2]=o,n&&ee(n);break e}oi(),T()}Hr(1326),T()}return}r>>>0>=i>>>0||(f[e+88>>2]=t+(r<<2))}},function(e,r){var t=0,i=0;$(e|=0,r|=0),(0|r)<0||(t=f[e+88>>2])-(i=f[e+84>>2])>>2<=(0|r)||((t=t-(i=4+(r=i+(r<<2)|0)|0)|0)&&Se(r,i,t),f[e+88>>2]=r+t)},fr,function(e){ee(fr(e|=0))},ce,$,$t,fi,function(e){return 1273},function(e){ee(kt(e|=0))},zt,function(e){kt(e|=0),ee(e)},$t,fi,mi,mi,function(e,r,t){t|=0;var i,a=0,n=0,o=0,s=0;if(V=i=V+-64|0,a=1,!Ur(e|=0,r|=0,0)&&(a=0,r)){V=a=V+-64|0,n=f[r>>2],o=f[n-4>>2],s=f[n-8>>2],f[a+20>>2]=0,f[a+16>>2]=11220,f[a+12>>2]=r,f[a+8>>2]=11268,n=0,Je(a+24|0,0,39),r=r+s|0;e:if(Ur(o,11268,0))f[a+56>>2]=1,yi[f[f[o>>2]+20>>2]](o,a+8|0,r,r,1,0),n=1==f[a+32>>2]?r:0;else{yi[f[f[o>>2]+24>>2]](o,a+8|0,r,1,0);r:switch(f[a+44>>2]){case 0:n=1==f[a+48>>2]&&1==f[a+36>>2]&&1==f[a+40>>2]?f[a+28>>2]:0;break e;case 1:break r;default:break e}1!=f[a+32>>2]&&f[a+48>>2]|1!=f[a+36>>2]|1!=f[a+40>>2]||(n=f[a+24>>2])}V=a- -64|0,a=0,n&&(Je(4|(r=i+8|0),0,52),f[i+56>>2]=1,f[i+20>>2]=-1,f[i+16>>2]=e,f[i+8>>2]=n,yi[f[f[n>>2]+28>>2]](n,r,f[t>>2],1),1==(0|(e=f[i+32>>2]))&&(f[t>>2]=f[i+24>>2]),a=1==(0|e))}return V=i- -64|0,0|a},function(e,r,t,i,a,n){t|=0,i|=0,a|=0,n|=0,Ur(e|=0,f[8+(r|=0)>>2],n)&&dr(r,t,i,a)},function(e,r,t,i,a){if(t|=0,i|=0,a|=0,Ur(e|=0,f[8+(r|=0)>>2],a))1==f[r+28>>2]|f[r+4>>2]!=(0|t)||(f[r+28>>2]=i);else e:if(Ur(e,f[r>>2],a)){if(!(f[r+16>>2]!=(0|t)&f[r+20>>2]!=(0|t))){if(1!=(0|i))break e;return void(f[r+32>>2]=1)}f[r+20>>2]=t,f[r+32>>2]=i,f[r+40>>2]=f[r+40>>2]+1,1!=f[r+36>>2]|2!=f[r+24>>2]||(n[r+54|0]=1),f[r+44>>2]=4}},function(e,r,t,i){t|=0,i|=0,Ur(e|=0,f[8+(r|=0)>>2],0)&&Xr(r,t,i)},fi,function(e,r,t,i,a,n){t|=0,i|=0,a|=0,n|=0,Ur(e|=0,f[8+(r|=0)>>2],n)?dr(r,t,i,a):(e=f[e+8>>2],yi[f[f[e>>2]+20>>2]](e,r,t,i,a,n))},function(e,r,t,i,a){if(t|=0,i|=0,a|=0,Ur(e|=0,f[8+(r|=0)>>2],a))1==f[r+28>>2]|f[r+4>>2]!=(0|t)||(f[r+28>>2]=i);else e:{if(Ur(e,f[r>>2],a)){if(!(f[r+16>>2]!=(0|t)&f[r+20>>2]!=(0|t))){if(1!=(0|i))break e;return void(f[r+32>>2]=1)}f[r+32>>2]=i;r:if(4!=f[r+44>>2]){if(o[r+52>>1]=0,e=f[e+8>>2],yi[f[f[e>>2]+20>>2]](e,r,t,t,1,a),A[r+53|0]){if(f[r+44>>2]=3,!A[r+52|0])break r;break e}f[r+44>>2]=4}if(f[r+20>>2]=t,f[r+40>>2]=f[r+40>>2]+1,1!=f[r+36>>2]|2!=f[r+24>>2])break e;return void(n[r+54|0]=1)}e=f[e+8>>2],yi[f[f[e>>2]+24>>2]](e,r,t,i,a)}},function(e,r,t,i){t|=0,i|=0,Ur(e|=0,f[8+(r|=0)>>2],0)?Xr(r,t,i):(e=f[e+8>>2],yi[f[f[e>>2]+28>>2]](e,r,t,i))}],hi.set=function(e,r){this[e]=r},hi.get=function(e){return this[e]},hi);function vi(){return i.byteLength/65536|0}return{g:function(){},h:yi,i:Kt,j:function(){var e;return e=_t(40),o[e+38>>1]=0,f[e>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,n[e+29|0]=0,n[e+30|0]=0,n[e+31|0]=0,n[e+32|0]=0,n[e+33|0]=0,n[e+34|0]=0,n[e+35|0]=0,n[e+36|0]=0,0|e},k:function(e,r,t){r|=0,t|=0,f[16+(e|=0)>>2]=0,f[e+20>>2]=0,f[e>>2]=r,f[e+8>>2]=t,f[e+12>>2]=0},l:Kt,m:function(){var e,r;return r=_t(40),f[r>>2]=-1,f[16+(e=r+8|0)>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,0|r},n:Ht,o:function(e){var r=0;(e|=0)&&((r=f[e+8>>2])&&(f[e+12>>2]=r,ee(r)),ee(e))},p:function(){return 0|$r(_t(64))},q:Kt,r:function(){var e;return $r(e=_t(96)),f[e+64>>2]=0,f[e+68>>2]=0,f[e+88>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,n[e+77|0]=0,n[e+78|0]=0,n[e+79|0]=0,n[e+80|0]=0,n[e+81|0]=0,n[e+82|0]=0,n[e+83|0]=0,n[e+84|0]=0,0|e},s:Yt,t:function(e){return f[88+(e|=0)>>2]},u:function(e){return f[56+(e|=0)>>2]},v:Ot,w:function(e){return n[24+(e|=0)|0]},x:function(e){return A[32+(e|=0)|0]},y:function(e){return f[40+(e|=0)>>2]},z:function(e){return f[48+(e|=0)>>2]},A:function(e){return f[60+(e|=0)>>2]},B:Jr,C:function(){var e;return e=_t(24),f[e+8>>2]=0,f[e+12>>2]=0,f[e+4>>2]=-1,f[e>>2]=1140,f[e+16>>2]=0,f[e+20>>2]=0,0|e},D:Dt,E:zt,F:function(e,r){return r|=0,k(u[f[8+(e|=0)>>2]+(r<<2)>>2])},G:function(e){return k(u[20+(e|=0)>>2])},H:Wt,I:function(){var e;return e=_t(8),f[e+4>>2]=-1,f[e>>2]=1032,0|e},J:Dt,K:zt,L:Wt,M:function(){return 0|Bt(_t(84))},N:Zt,O:Yt,P:Wt,Q:function(){var e;return Bt(e=_t(108)),f[e+84>>2]=0,f[e+88>>2]=0,f[e>>2]=10272,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,0|e},R:function(e){return(f[100+(e|=0)>>2]-f[e+96>>2]|0)/12|0},S:Zt,T:Yt,U:Wt,V:function(){var e,r;return e=_t(24),f[e+4>>2]=0,f[e+8>>2]=0,f[(r=e+16|0)>>2]=0,f[r+4>>2]=0,f[e>>2]=e+4,f[e+12>>2]=r,0|e},W:function(e){(e|=0)&&(at(e+12|0,f[e+16>>2]),lt(e,f[e+4>>2]),ee(e))},X:Ht,Y:function(e){return 0|!f[(e|=0)>>2]},Z:function(e){return 0|(n[15+(e|=0)|0]<0?f[e+4>>2]:e+4|0)},_:function(e){(e|=0)&&(n[e+15|0]<0&&ee(f[e+4>>2]),ee(e))},$:Gt,aa:function(e,r){return r|=0,k(u[f[(e|=0)>>2]+(r<<2)>>2])},ba:St,ca:Rt,da:Gt,ea:function(e,r){return r|=0,n[f[(e|=0)>>2]+r|0]},fa:jt,ga:Rt,ha:Gt,ia:function(e,r){return r|=0,A[f[(e|=0)>>2]+r|0]},ja:jt,ka:Rt,la:Gt,ma:function(e,r){return r|=0,o[f[(e|=0)>>2]+(r<<1)>>1]},na:xt,oa:Rt,pa:Gt,qa:function(e,r){return r|=0,b[f[(e|=0)>>2]+(r<<1)>>1]},ra:xt,sa:Rt,ta:Gt,ua:Mt,va:St,wa:Rt,xa:Gt,ya:Mt,za:St,Aa:Rt,Ba:function(){var e;return e=_t(28),f[e>>2]=0,f[e+4>>2]=0,f[e+24>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,0|e},Ca:function(e,r,t){e|=0,r|=0;var i,a=0,o=0,s=0,c=0,b=0,l=0,u=0;if(V=i=V-16|0,(a=Dr(t|=0))>>>0<4294967280){e:{if(a>>>0>=11)e=_t(o=a+16&-16),f[i+8>>2]=-2147483648|o,f[i>>2]=e,f[i+4>>2]=a;else if(n[i+11|0]=a,e=i,!a)break e;ge(e,t,a)}n[e+a|0]=0,a=(t=A[i+11|0])<<24>>24,o=f[i>>2],e=0;e:if(r=f[r+4>>2]){for(e=t,e=(t=(0|a)<0)?f[i+4>>2]:e,l=t?o:i;;){r:{t:{i:{if(b=(u=(t=(s=(t=A[r+27|0])<<24>>24<0)?f[r+20>>2]:t)>>>0<e>>>0)?t:e){c=r+16|0;a:{if(!(c=Rr(l,s=s?f[c>>2]:c,b))){if(e>>>0>=t>>>0)break a;break r}if((0|c)<0)break r}if(!(t=Rr(s,l,b)))break i;if((0|t)<0)break t;e=1;break e}if(e>>>0<t>>>0)break r}if(!u){e=1;break e}}r=r+4|0}if(!(r=f[r>>2]))break}e=0}(0|a)<0&&ee(o),V=i+16|0}else si(),T();return 0|e},Da:function(e,r,t){e|=0,r|=0,t|=0;var i,a,o=0;if(V=i=V-16|0,f[i+12>>2]=0,(a=Dr(t))>>>0<4294967280){e:{if(a>>>0>=11)e=_t(o=a+16&-16),f[i+8>>2]=-2147483648|o,f[i>>2]=e,f[i+4>>2]=a;else if(n[i+11|0]=a,e=i,!a)break e;ge(e,t,a)}n[e+a|0]=0,(0|(e=$e(r,i)))!=(r+4|0)&&4==((r=f[e+32>>2])-(e=f[e+28>>2])|0)&&(f[i+12>>2]=A[0|e]|A[e+1|0]<<8|A[e+2|0]<<16|A[e+3|0]<<24),e=f[i+12>>2],n[i+11|0]<0&&ee(f[i>>2]),V=i+16|0}else si(),T();return 0|e},Ea:function(e,r,t,i){e|=0,r|=0,i|=0;var a=0,o=0,s=0;if(V=e=V-32|0,(a=Dr(t|=0))>>>0<4294967280){e:{if(a>>>0>=11)o=_t(s=a+16&-16),f[e+24>>2]=-2147483648|s,f[e+16>>2]=o,f[e+20>>2]=a;else if(n[e+27|0]=a,o=e+16|0,!a)break e;ge(o,t,a)}n[a+o|0]=0,f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,(0|(t=$e(r,e+16|0)))!=(r+4|0)&&(0|(r=f[t+28>>2]))!=(0|(o=f[t+32>>2]))&&(3&(r=o-r|0)||((a=r>>>2|0)>>>0>(s=(o=f[e+4>>2])-(r=f[e>>2])>>2)>>>0?(sr(e,a-s|0),r=f[e>>2],o=f[e+4>>2]):a>>>0>=s>>>0||(o=(a<<2)+r|0,f[e+4>>2]=o),(0|r)==(0|o)?(li(),T()):ge(a=r,r=f[t+28>>2],f[t+32>>2]-r|0))),(r=f[i>>2])&&(f[i+4>>2]=r,ee(r)),f[i>>2]=f[e>>2],f[i+4>>2]=f[e+4>>2],f[i+8>>2]=f[e+8>>2],n[e+27|0]<0&&ee(f[e+16>>2]),V=e+32|0}else si(),T()},Fa:function(e,r,t){e|=0,r|=0,t|=0;var i,a=0,o=0,s=0;if(V=e=V-32|0,f[e+24>>2]=0,f[e+28>>2]=0,(i=Dr(t))>>>0<4294967280){e:{if(i>>>0>=11)a=_t(o=i+16&-16),f[e+16>>2]=-2147483648|o,f[e+8>>2]=a,f[e+12>>2]=i;else if(n[e+19|0]=i,a=e+8|0,!i)break e;ge(a,t,i)}n[i+a|0]=0,(0|(t=r+4|0))!=(0|(r=$e(r,e+8|0)))&&8==((t=f[r+32>>2])-(r=f[r+28>>2])|0)&&(t=A[r+4|0]|A[r+5|0]<<8|A[r+6|0]<<16|A[r+7|0]<<24,f[e+24>>2]=A[0|r]|A[r+1|0]<<8|A[r+2|0]<<16|A[r+3|0]<<24,f[e+28>>2]=t),s=_[e+24>>3],n[e+19|0]<0&&ee(f[e+8>>2]),V=e+32|0}else si(),T();return+s},Ga:function(e,r,t){e|=0,r|=0;var i,a,o=0,s=0;if(V=i=V-16|0,(a=Dr(t|=0))>>>0<4294967280){e:{if(a>>>0>=11)o=_t(s=a+16&-16),f[i+8>>2]=-2147483648|s,f[i>>2]=o,f[i+4>>2]=a;else if(n[i+11|0]=a,o=i,!a)break e;ge(o,t,a)}n[a+o|0]=0,t=qr(r,i,o=e+16|0),r=n[e+27|0],e=f[e+16>>2],n[i+11|0]<0&&ee(f[i>>2]),V=i+16|0,e=t?(0|r)<0?e:o:0}else si(),T();return 0|e},Ha:function(e,r){return f[8+(r|=0)>>2]},Ia:function(e,r,t){r|=0;var i,a=0,o=0,s=0,c=0,A=0,b=0,l=0;i=t|=0;e:if(f[12+(a=e|=0)>>2]!=(0|r)){if(e=r,(0|(r=f[a+4>>2]))!=(0|(t=f[a>>2])))for(;o=r-12|0,n[r-1|0]<0&&ee(f[o>>2]),(0|t)!=(0|(r=o)););if(f[a+12>>2]=e,f[a+4>>2]=t,(0|(r=f[e>>2]))!=(0|(b=e+4|0)))for(;;){if(f[a+8>>2]==(0|t)){c=0;r:{t:{i:{if((t=1+(s=((o=f[a+4>>2])-(e=f[a>>2])|0)/12|0)|0)>>>0<357913942){if(l=(A=(f[a+8>>2]-e|0)/12|0)<<1,t=A>>>0<178956970?t>>>0>l>>>0?t:l:357913941){if(t>>>0>=357913942)break i;c=_t(p(t,12))}if(A=p(t,12),t=p(s,12)+c|0,n[r+27|0]>=0?(s=f[r+20>>2],f[t>>2]=f[r+16>>2],f[t+4>>2]=s,f[t+8>>2]=f[r+24>>2]):(Fr(t,f[r+16>>2],f[r+20>>2]),o=f[a+4>>2],e=f[a>>2]),c=c+A|0,s=t+12|0,(0|e)==(0|o))break t;for(;A=f[4+(o=o-12|0)>>2],f[(t=t-12|0)>>2]=f[o>>2],f[t+4>>2]=A,f[t+8>>2]=f[o+8>>2],f[o>>2]=0,f[o+4>>2]=0,f[o+8>>2]=0,(0|e)!=(0|o););if(f[a+8>>2]=c,e=f[a+4>>2],f[a+4>>2]=s,o=f[a>>2],f[a>>2]=t,(0|e)==(0|o))break r;for(;t=e-12|0,n[e-1|0]<0&&ee(f[t>>2]),e=t,(0|t)!=(0|o););break r}oi(),T()}Hr(1326),T()}f[a+8>>2]=c,f[a+4>>2]=s,f[a>>2]=t}o&&ee(o)}else n[r+27|0]>=0?(e=f[r+20>>2],f[t>>2]=f[r+16>>2],f[t+4>>2]=e,f[t+8>>2]=f[r+24>>2]):Fr(t,f[r+16>>2],f[r+20>>2]),f[a+4>>2]=t+12;r:if(t=f[r+4>>2])for(;e=t,t=f[t>>2];);else{if(e=f[r+8>>2],f[e>>2]==(0|r))break r;for(r=r+8|0;r=(t=f[r>>2])+8|0,e=f[t+8>>2],(0|t)!=f[e>>2];);}if((0|e)==(0|b))break e;t=f[a+4>>2],r=e}}return t=0,(0|i)<0||(e=f[a>>2],(f[a+4>>2]-e|0)/12>>>0<=i>>>0||(e=e+p(i,12)|0,t=n[e+11|0]<0?f[e>>2]:e)),0|t},Ja:function(e){var r=0,t=0,i=0;if(e|=0){if(n[e+27|0]<0&&ee(f[e+16>>2]),r=f[e>>2]){if((0|(t=f[e+4>>2]))==(0|r))i=r;else{for(;i=t-12|0,n[t-1|0]<0&&ee(f[i>>2]),(0|(t=i))!=(0|r););i=f[e>>2]}f[e+4>>2]=r,ee(i)}ee(e)}},Ka:function(){var e,r;return e=_t(40),f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=e+4,f[(r=e+16|0)>>2]=0,f[r+4>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+12>>2]=r,f[e+32>>2]=0,f[e+36>>2]=0,0|e},La:function(e,r,t,i){e|=0,r|=0,t|=0,i|=0;var a,s=0;V=i=V+-64|0,o[i+46>>1]=0,f[i+8>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,n[i+37|0]=0,n[i+38|0]=0,n[i+39|0]=0,n[i+40|0]=0,n[i+41|0]=0,n[i+42|0]=0,n[i+43|0]=0,n[i+44|0]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+8>>2]=r,f[i+16>>2]=t,f[i+20>>2]=0,xe(r=i+48|0),f[e+24>>2]=f[i+48>>2];e:if((0|r)!=(0|(a=e+24|0)))if(r=i+48|4,t=(s=A[i+63|0])<<24>>24,n[11+(e=e+28|0)|0]>=0){if((0|t)>=0){t=f[r+4>>2],f[e>>2]=f[r>>2],f[e+4>>2]=t,f[e+8>>2]=f[r+8>>2];break e}it(e,f[i+52>>2],f[i+56>>2])}else zr(e,(e=(0|t)<0)?f[i+52>>2]:r,e?f[i+56>>2]:s);return n[i+63|0]<0&&ee(f[i+52>>2]),V=i- -64|0,0|a},Ma:function(e,r,t,i){e|=0,r|=0,t|=0,i|=0;var a,s=0,c=0;V=a=V+-64|0,o[38+(s=a+8|0)>>1]=0,f[s>>2]=0,f[s+8>>2]=0,f[s+12>>2]=0,f[s+16>>2]=0,f[s+20>>2]=0,f[s+24>>2]=0,f[s+28>>2]=0,n[s+29|0]=0,n[s+30|0]=0,n[s+31|0]=0,n[s+32|0]=0,n[s+33|0]=0,n[s+34|0]=0,n[s+35|0]=0,n[s+36|0]=0,f[s+16>>2]=0,f[s+20>>2]=0,f[s>>2]=r,f[s+8>>2]=t,f[s+12>>2]=0,I(r=a+48|0,e,s,i),f[e+24>>2]=f[a+48>>2];e:if((0|(t=e+24|0))!=(0|r))if(s=a+48|4,i=(r=A[a+63|0])<<24>>24,n[11+(c=e+28|0)|0]>=0){if((0|i)>=0){e=f[s+4>>2],f[c>>2]=f[s>>2],f[c+4>>2]=e,f[c+8>>2]=f[s+8>>2];break e}it(c,f[a+52>>2],f[a+56>>2])}else zr(c,(e=(0|i)<0)?f[a+52>>2]:s,e?f[a+56>>2]:r);return n[a+63|0]<0&&ee(f[a+52>>2]),V=a- -64|0,0|t},Na:function(e,r,t){return 0|At(r|=0,t|=0)},Oa:function(e,r,t){e|=0,r|=0;var i=0,a=0,o=0;if(V=e=V-32|0,(i=Dr(t|=0))>>>0<4294967280){e:{if(i>>>0>=11)a=_t(o=i+16&-16),f[e+24>>2]=-2147483648|o,f[e+16>>2]=a,f[e+20>>2]=i;else if(n[e+27|0]=i,a=e+16|0,!i)break e;ge(a,t,i)}n[i+a|0]=0,n[e+4|0]=0,f[e>>2]=1701667182,n[e+11|0]=4,t=-1,(i=f[r+4>>2])&&(t=-1,(i=je(i,e,e+16|0))&&(t=Kr(r,f[i+24>>2]))),r=t,n[e+11|0]<0&&ee(f[e>>2]),n[e+27|0]<0&&ee(f[e+16>>2]),V=e+32|0}else si(),T();return 0|r},Pa:function(e,r,t,i){e|=0,r|=0,i|=0;var a,o=0,s=0;V=a=V-32|0;e:{r:{if((o=Dr(t|=0))>>>0<4294967280){t:{if(o>>>0>=11)e=_t(s=o+16&-16),f[a+24>>2]=-2147483648|s,f[a+16>>2]=e,f[a+20>>2]=o;else if(n[a+27|0]=o,e=a+16|0,!o)break t;ge(e,t,o)}if(n[e+o|0]=0,(t=Dr(i))>>>0>=4294967280)break r;t:{if(t>>>0>=11)e=_t(o=t+16&-16),f[a+8>>2]=-2147483648|o,f[a>>2]=e,f[a+4>>2]=t;else if(n[a+11|0]=t,e=a,!t)break t;ge(e,i,t)}n[e+t|0]=0,e=-1,(t=f[r+4>>2])&&(e=-1,(t=je(t,a+16|0,a))&&(e=Kr(r,f[t+24>>2]))),n[a+11|0]<0&&ee(f[a>>2]),n[a+27|0]<0&&ee(f[a+16>>2]),V=a+32|0;break e}si(),T()}si(),T()}return 0|e},Qa:function(e,r,t){return t|=0,f[f[8+(r|=0)>>2]+(t<<2)>>2]},Ra:function(e,r,t){e|=0,t|=0;var i=0,a=0;i=(e=f[12+(r|=0)>>2])-(r=f[r+8>>2])|0,e=0;e:if(i){i=(e=i>>2)>>>0>1?e:1,e=0;r:{for(;;){if(a=f[r+(e<<2)>>2],f[a+60>>2]==(0|t))break r;if((0|i)==(0|(e=e+1|0)))break}e=0;break e}e=-1==(0|e)?0:a}return 0|e},Sa:function(e,r){return f[4+(r|=0)>>2]},Ta:function(e,r,t){e|=0,t|=0;var i,a=0;if((i=f[4+(r|=0)>>2])&&!((0|(r=f[f[f[r+8>>2]+(t<<2)>>2]+60>>2]))<0)&&(0|(e=f[i+24>>2]))!=(0|(t=f[i+28>>2])))e:{for(;;){if(a=f[e>>2],(0|r)==f[a+24>>2])break e;if((0|t)==(0|(e=e+4|0)))break}a=0}return 0|a},Ua:function(e,r,t,i){var a,n;return e|=0,t|=0,i|=0,V=e=V-16|0,r=f[96+(r|=0)>>2],f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,n=(t=ge(a=_t(12),r+p(t,12)|0,12))+12|0,(r=f[i>>2])&&(f[i+4>>2]=r,ee(r)),f[i+8>>2]=t+12,f[i+4>>2]=n,f[i>>2]=a,V=e+16|0,1},Va:function(e,r,t){e|=0,r|=0;var i,a,o,s,c,b,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0,M=0,U=0,I=0,B=0,Z=0,W=0,F=0,x=0,S=0,j=0;b=t|=0,t=0,V=a=V-96|0,Je(i=a+16|0,0,76),f[a+92>>2]=-1,f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0,V=o=V-16|0,f[i+68>>2]=0,f[i+72>>2]=0,f[i>>2]=r,V=s=V-16|0,c=r,e=f[r+20>>2],(f[r+24>>2]-e|0)<=0||-1!=(0|(e=f[e>>2]))&&(t=f[f[r+8>>2]+(e<<2)>>2]);e:{r:{if(t){e=f[c+100>>2],_=f[c+96>>2],f[s+8>>2]=0,f[s>>2]=0,f[s+4>>2]=0,r=(0|(d=e-_|0))/12|0;t:if(d){if(r>>>0>=357913942)break r;if(l=_t(d),f[s>>2]=l,f[s+8>>2]=l+p(r,12),e=0,d=Je(m=l,0,l=p((d-12>>>0)/12|0,12)+12|0),f[s+4>>2]=l+d,A[t+84|0]){if(l=1&(t=r>>>0>1?r:1),r>>>0>=2)for(m=-2&t;t=p(e,12),y=f[4+(r=t+_|0)>>2],v=f[r>>2],f[8+(t=t+d|0)>>2]=f[r+8>>2],f[t>>2]=v,f[t+4>>2]=y,t=p(1|e,12),y=f[8+(r=t+_|0)>>2],v=f[r+4>>2],f[(t=t+d|0)>>2]=f[r>>2],f[t+4>>2]=v,f[t+8>>2]=y,e=e+2|0,(0|m)!=(0|(u=u+2|0)););if(!l)break t;r=p(e,12),t=f[4+(e=r+_|0)>>2],u=f[e>>2],f[8+(r=r+d|0)>>2]=f[e+8>>2],f[r>>2]=u,f[r+4>>2]=t}else for(l=r>>>0>1?r:1,e=f[t+68>>2];t=p(u,12),m=f[e+(f[(r=t+_|0)>>2]<<2)>>2],y=f[e+(f[r+4>>2]<<2)>>2],f[8+(t=t+d|0)>>2]=f[e+(f[r+8>>2]<<2)>>2],f[t+4>>2]=y,f[t>>2]=m,(0|l)!=(0|(u=u+1|0)););}if(V=I=V-16|0,l=_t(88),f[l>>2]=0,f[l+4>>2]=0,f[l+56>>2]=0,f[l+48>>2]=0,f[l+52>>2]=0,f[l+40>>2]=0,f[l+44>>2]=0,f[l+32>>2]=0,f[l+36>>2]=0,f[l+24>>2]=0,f[l+28>>2]=0,f[l+16>>2]=0,f[l+20>>2]=0,f[l+8>>2]=0,f[l+12>>2]=0,f[(e=l- -64|0)>>2]=0,f[e+4>>2]=0,f[l+72>>2]=0,f[l+76>>2]=0,f[l+80>>2]=0,f[l+84>>2]=0,f[l+60>>2]=l,V=M=V-16|0,f[l+80>>2]=0,f[l+84>>2]=0,e=f[l+76>>2],f[l+76>>2]=0,e&&ee(e),f[l+68>>2]=0,f[l+72>>2]=0,e=f[(r=l- -64|0)>>2],f[r>>2]=0,e&&ee(e),u=f[s>>2],r=f[s+4>>2]-u|0,e=p(y=(0|r)/12|0,3),t=f[l>>2],e>>>0>(_=f[l+4>>2]-t>>2)>>>0?(sr(l,e-_|0),u=f[s>>2],y=(0|(r=f[s+4>>2]-u|0))/12|0,t=f[l>>2]):e>>>0>=_>>>0||(f[l+4>>2]=(e<<2)+t),r)for(d=y>>>0>1?y:1,e=0;r=(_=p(e,12))+t|0,_=_+u|0,f[r>>2]=f[_>>2],f[r+4>>2]=f[_+4>>2],f[r+8>>2]=f[_+8>>2],(0|d)!=(0|(e=e+1|0)););f[M+12>>2]=-1,V=_=V-48|0;t:{i:{a:{if(R=M+12|0){if(w=(r=(m=f[l+4>>2])-(v=f[l>>2])|0)>>2,t=f[l+12>>2],w>>>0>(e=f[l+16>>2]-t>>2)>>>0?(ve(l+12|0,w-e|0,10260),w=(r=(m=f[l+4>>2])-(v=f[l>>2])|0)>>2):e>>>0<=w>>>0||(f[l+16>>2]=t+(w<<2)),t=0,f[_+40>>2]=0,f[_+32>>2]=0,f[_+36>>2]=0,r){n:{if((0|r)>=0)for(t=_t(r),f[_+36>>2]=t,f[_+32>>2]=t,f[_+40>>2]=(w<<2)+t,e=t,r=0;;){if((d=f[(r<<2)+v>>2])>>>0<(e=e-t>>2)>>>0||(f[_+16>>2]=0,(u=d+1|0)>>>0>e>>>0?(ve(_+32|0,u-e|0,_+16|0),v=f[l>>2],m=f[l+4>>2],t=f[_+32>>2]):e>>>0<=u>>>0||(f[_+36>>2]=(u<<2)+t)),f[(e=(d<<2)+t|0)>>2]=f[e>>2]+1,(r=r+1|0)>>>0>=(w=(e=m-v|0)>>2)>>>0)break n;e=f[_+36>>2]}break a}if(f[_+24>>2]=0,f[_+16>>2]=0,f[_+20>>2]=0,e){if(w>>>0>=536870912)break i;e=_t(r=e<<1),f[_+16>>2]=e,u=e+(w<<3)|0,f[_+24>>2]=u,Je(e,255,r),f[_+20>>2]=u}}else f[_+24>>2]=0,f[_+16>>2]=0,f[_+20>>2]=0;if(m=0,f[_+8>>2]=0,f[_>>2]=0,f[_+4>>2]=0,d=(e=f[_+36>>2]-t|0)>>2,e){if((0|e)<0)break i;if(E=_t(e),f[_>>2]=E,f[_+8>>2]=(d<<2)+E,r=e,e=Je(E,0,e),f[_+4>>2]=r+e,y=3&(u=d>>>0>1?d:1),r=0,u-1>>>0>=3)for(C=-4&u;f[(u=k<<2)+e>>2]=r,D=4|u,r=f[t+u>>2]+r|0,f[D+e>>2]=r,G=8|u,r=r+f[t+D>>2]|0,f[G+e>>2]=r,u|=12,r=r+f[t+G>>2]|0,f[u+e>>2]=r,r=r+f[t+u>>2]|0,k=k+4|0,(0|C)!=(0|(h=h+4|0)););if(y)for(;f[(u=k<<2)+e>>2]=r,k=k+1|0,r=f[t+u>>2]+r|0,(0|y)!=(0|(g=g+1|0)););}if(w)for(D=f[l+12>>2];;){r=(B=m<<2)+v|0,h=-1,-1!=(0|(e=((u=m+1|0)>>>0)%3|0?u:m-2|0))&&(h=f[(e<<2)+v>>2]),e=f[r>>2];n:{o:{if(!((m>>>0)%3|0)){if(g=-1,-1!=(0|(r=m+2|0))&&(g=f[(r<<2)+v>>2]),!((0|e)==(0|h)|(0|e)==(0|g))&(0|h)!=(0|g))break o;f[l+40>>2]=f[l+40>>2]+1,u=m+3|0;break n}g=f[r-4>>2]}o:{f:if(!((0|(G=f[(r=g<<2)+t>>2]))<=0))for(y=f[_+16>>2],r=f[r+E>>2],k=0;;){if(-1==(0|(N=f[(C=y+(r<<3)|0)>>2])))break f;if((0|h)==(0|N)&&(0|(N=-1!=(0|(C=f[C+4>>2]))?f[(C<<2)+v>>2]:-1))!=(0|e)){for(;e=r,!((0|G)<=(0|(k=k+1|0))||(N=y+(e<<3)|0,W=f[(Z=y+((r=e+1|0)<<3)|0)>>2],f[N>>2]=W,f[N+4>>2]=f[Z+4>>2],-1==(0|W))););if(f[y+(e<<3)>>2]=-1,-1==(0|C))break f;f[D+B>>2]=C,f[D+(C<<2)>>2]=m;break o}if(r=r+1|0,(0|G)==(0|(k=k+1|0)))break}if(!((0|(y=f[(e=h<<2)+t>>2]))<=0))for(h=f[_+16>>2],r=f[e+E>>2],k=0;;){if(-1==f[(e=h+(r<<3)|0)>>2]){f[e>>2]=g,f[e+4>>2]=m;break o}if(r=r+1|0,(0|y)==(0|(k=k+1|0)))break}}}if(!(w>>>0>(m=u)>>>0))break}f[R>>2]=d,E&&ee(E),(e=f[_+16>>2])&&(f[_+20>>2]=e,ee(e)),(e=f[_+32>>2])&&(f[_+36>>2]=e,ee(e))}if(V=_+48|0,D=0!=(0|R)){if(V=h=V-32|0,g=f[l>>2],e=f[l+4>>2],f[h+24>>2]=0,f[h+16>>2]=0,f[h+20>>2]=0,r=e-g|0){if((0|r)<0)break i;t=_t((u=1+(k=(r>>=2)-1>>>5|0)|0)<<2),f[h+24>>2]=u,f[h+16>>2]=t,f[h+20>>2]=r,f[t+((r>>>0<33?0:k)<<2)>>2]=0,k=Je(k=t,0,t=r>>>5<<2),(r&=31)&&(f[(t=t+k|0)>>2]=f[t>>2]&(-1>>>32-r^-1))}for(f[h+8>>2]=0,f[h>>2]=0;;){if(w=0,u=0,(0|e)!=(0|g)){for(;;){t=f[h+16>>2];n:if(!(f[t+(u>>>3&536870908)>>2]>>>u&1)){for(k=f[h>>2],f[h+4>>2]=k,r=f[l+12>>2],e=u;d=e,!(-1==(0|(e=((_=e+1|0)>>>0)%3|0?_:e-2|0))||-1==(0|(e=f[r+(e<<2)>>2]))||(0|u)==(0|(e=((_=e+1|0)>>>0)%3|0?_:e-2|0))|-1==(0|e)||f[(e>>>3&536870908)+t>>2]>>>e&1););r=k,y=d;o:{f:{for(;;){if(f[(e=(y>>>3&536870908)+t|0)>>2]=f[e>>2]|1<<y,_=((e=y+1|0)>>>0)%3|0?e:y-2|0,C=(v=((G=(y>>>0)%3|0)?-1:2)+y|0)<<2,(0|r)!=(0|k))if(R=f[(_<<2)+g>>2],E=f[l+12>>2],e=r,-1==(0|v))for(;;){if((0|R)==f[e>>2]&&(m=-1,v=-1,-1!=(0|(t=f[e+4>>2]))))break f;if((0|k)==(0|(e=e+8|0)))break}else for(N=E+C|0;;){if((0|R)==f[e>>2]&&(0|(t=f[e+4>>2]))!=(0|(m=f[N>>2]))){if(k=-1,e=-1,-1==(0|t))break o;break f}if((0|k)==(0|(e=e+8|0)))break}if(v=f[g+C>>2],f[h+8>>2]==(0|k)){if((e=1+(k=(t=k-r|0)>>3)|0)>>>0>=536870912)break i;if(m=t>>2,m=k>>>0<268435455?e>>>0>m>>>0?e:m:536870911){if(m>>>0>=536870912)break a;e=_t(m<<3)}else e=0;f[(k=e+(k<<3)|0)>>2]=v,f[k+4>>2]=_,k=k+8|0,(0|t)>0&&ge(e,r,t),f[h+8>>2]=e+(m<<3),f[h+4>>2]=k,f[h>>2]=e,r&&ee(r)}else f[k>>2]=v,f[k+4>>2]=_,k=k+8|0,f[h+4>>2]=k;s:{if(G)e=y-1|0;else if(-1==(0|(e=y+2|0)))break s;if(-1!=(0|(e=f[f[l+12>>2]+(e<<2)>>2]))&&!((0|d)==(0|(y=e+((e>>>0)%3|0?-1:2)|0))|-1==(0|y))){g=f[l>>2],r=f[h>>2],t=f[h+16>>2];continue}}break}g=f[l>>2];break n}k=t,e=f[E+(t<<2)>>2]}-1!=(0|m)&&(f[E+(m<<2)>>2]=-1),-1!=(0|e)&&(f[f[l+12>>2]+(e<<2)>>2]=-1),e=f[l+12>>2],f[e+(v<<2)>>2]=-1,f[e+(k<<2)>>2]=-1,w=1}if(!((u=u+1|0)>>>0<(e=f[l+4>>2])-g>>2>>>0))break}if(w)continue}break}(e=f[h>>2])&&ee(e),(e=f[h+16>>2])&&ee(e),u=0,v=0,w=0,V=d=(V=h+32|0)-32|0,e=f[M+12>>2],f[l+36>>2]=e,g=l+24|0,t=f[l+24>>2];n:{if((r=f[l+28>>2]-t>>2)>>>0<e>>>0)ve(g,e-r|0,10260),f[d+24>>2]=0,f[d+16>>2]=0,f[d+20>>2]=0;else if(e>>>0<r>>>0&&(f[l+28>>2]=t+(e<<2)),f[d+24>>2]=0,f[d+16>>2]=0,f[d+20>>2]=0,!e)break n;if((0|e)<0)break i;u=_t((t=1+(r=e-1>>>5|0)|0)<<2),f[d+24>>2]=t,f[d+16>>2]=u,f[d+20>>2]=e,f[((e>>>0<33?0:r)<<2)+u>>2]=0,t=Je(u,0,r=e>>>5<<2),(k=31&e)&&(f[(r=r+t|0)>>2]=f[r>>2]&(-1>>>32-k^-1))}if(m=f[l>>2],y=f[l+4>>2],f[d+8>>2]=0,f[d>>2]=0,f[d+4>>2]=0,r=y-m|0){if((0|r)<0)break i;if(h=_t((k=1+(t=(r>>=2)-1>>>5|0)|0)<<2),f[d+8>>2]=k,f[d>>2]=h,f[d+4>>2]=r,f[((r>>>0<33?0:t)<<2)+h>>2]=0,k=Je(h,0,t=r>>>5<<2),(_=31&r)&&(f[(t=t+k|0)>>2]=f[t>>2]&(-1>>>32-_^-1)),!(r>>>0<3)){for(;;){if(C=p(v,3),r=f[(k=(C<<2)+m|0)>>2],t=-1,-1!=(0|(_=C+1|0))&&(t=f[(_<<2)+m>>2]),(0|r)!=(0|t)&&(0|(_=r))!=(0|(r=f[k+8>>2]))&&(E=0,(0|r)!=(0|t))){for(;;){if(!(f[((k=E+C|0)>>>3&536870908)+h>>2]>>>k&1)){if(y=(t=1<<(r=f[(k<<2)+m>>2]))&f[((h=r>>>5|0)<<2)+u>>2]){if((0|(t=f[l+28>>2]))==f[l+32>>2]){if((t=1+(h=(_=t-(u=f[g>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(m=_>>1,m=h>>>0<536870911?t>>>0>m>>>0?t:m:1073741823){if(m>>>0>=1073741824)break a;t=_t(m<<2)}else t=0;f[(h=t+(h<<2)|0)>>2]=-1,(0|_)>0&&ge(t,u,_),f[l+32>>2]=t+(m<<2),f[l+28>>2]=h+4,f[l+24>>2]=t,u&&ee(u)}else f[t>>2]=-1,f[l+28>>2]=t+4;if((0|(t=f[l+52>>2]))==f[l+56>>2]){if((t=1+(h=(_=t-(u=f[l+48>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(m=_>>1,m=h>>>0<536870911?t>>>0>m>>>0?t:m:1073741823){if(m>>>0>=1073741824)break a;t=_t(m<<2)}else t=0;f[(h=t+(h<<2)|0)>>2]=r,(0|_)>0&&ge(t,u,_),f[l+56>>2]=t+(m<<2),f[l+52>>2]=h+4,f[l+48>>2]=t,u&&ee(u)}else f[t>>2]=r,f[l+52>>2]=t+4;if((0|(t=f[d+20>>2]))==(r=f[d+24>>2])<<5){if((t+1|0)<0)break i;or(u=d+16|0,r=t>>>0<=1073741822?(r<<=6)>>>0<(t=t+32&-32)>>>0?t:r:2147483647),t=f[d+20>>2]}f[d+20>>2]=t+1,r=f[d+16>>2]+(t>>>3&536870908)|0,u=f[r>>2],S=r,j=Vt(t)&u,f[S>>2]=j,t=1<<e,h=e>>>5|0,r=e,e=e+1|0}_=e,u=f[d+16>>2],f[(e=u+(h<<2)|0)>>2]=f[e>>2]|t,G=f[l+24>>2]+(r<<2)|0,R=f[l+12>>2],m=f[l>>2],h=f[d>>2],e=k;n:{o:{f:{s:{c:{A:{for(;;){if(-1==(0|e))break A;if(f[(t=(e>>>3&536870908)+h|0)>>2]=f[t>>2]|1<<e,f[G>>2]=e,y&&(f[(e<<2)+m>>2]=r),t=-1,-1!=(0|(e=((N=e+1|0)>>>0)%3|0?N:e-2|0))&&(t=-1,-1!=(0|(e=f[R+(e<<2)>>2]))&&(t=((t=e+1|0)>>>0)%3|0?t:e-2|0)),(0|k)==(0|(e=t)))break}if(-1!=(0|k))break n;e=1;break c}if((k>>>0)%3|0)e=k-1|0;else if(-1==(0|(e=k+2|0)))break s}if(-1!=(0|(e=f[R+(e<<2)>>2]))){if(!((e>>>0)%3|0))break f;e=e-1|0,m=f[l>>2],h=f[d>>2];break o}}m=f[l>>2],h=f[d>>2];break n}if(m=f[l>>2],h=f[d>>2],-1==(0|(e=e+2|0)))break n}for(t=f[l+12>>2];;){if(f[(k=(e>>>3&536870908)+h|0)>>2]=f[k>>2]|1<<e,y&&(f[(e<<2)+m>>2]=r),(e>>>0)%3|0)e=e-1|0;else if(-1==(0|(e=e+2|0)))break n;if(-1==(0|(e=f[t+(e<<2)>>2])))break n;if(-1==(0|(e=e+((e>>>0)%3|0?-1:2)|0)))break}}e=_}if(3==(0|(E=E+1|0)))break}m=f[l>>2],y=f[l+4>>2]}if(!((v=v+1|0)>>>0<(y-m>>2>>>0)/3>>>0))break}u=f[d+16>>2]}}if(f[l+44>>2]=0,e=f[d+20>>2])for(r=31&e,k=(e>>>3&536870908)+u|0,e=0,t=u;f[t>>2]>>>e&1||(w=w+1|0,f[l+44>>2]=w),(0|k)!=(0|(t=((_=31==(0|e))<<2)+t|0))|(0|(e=_?0:e+1|0))!=(0|r););(e=f[d>>2])&&(ee(e),u=f[d+16>>2]),u&&ee(u),V=d+32|0}V=M+16|0,D||(f[I+8>>2]=0,Br(l),l=0),V=I+16|0,e=l;break t}Hr(1326),T()}oi(),T()}(r=f[s>>2])&&(f[s+4>>2]=r,ee(r))}else e=0;V=s+16|0;break e}oi(),T()}if(r=f[i+4>>2],f[i+4>>2]=e,r&&(Br(r),e=f[i+4>>2]),e)if(e=f[c+100>>2],r=f[c+96>>2],n[o+12|0]=0,Pe(i+56|0,(e-r|0)/12|0,o+12|0),(0|(e=f[c+100>>2]))!=(0|(r=f[c+96>>2])))for(;;){if(!(f[f[i+56>>2]+(U>>>3&536870908)>>2]>>>U&1)){if(ae(i,0,e=p(U,3)),r=f[i+8>>2],t=f[i+12>>2],ae(i,1,e+1|0),k=f[i+20>>2],u=f[i+24>>2],ae(i,2,e+2|0),e=(k=u-k>>2)>>>0>(t=(r=t-r|0)>>2)>>>0,t=f[i+36>>2]-f[i+32>>2]>>2>>>0>(e?k:t)>>>0?2:e?1:r?0:-1,f[i+68>>2]<=0||(f[o+12>>2]=f[i+76>>2],f[o+8>>2]=a,Ar(o+8|0,o+12|0),(0|(e=f[44+((t<<2)+i|0)>>2]))<0?e=-1:(r=(e>>>0)/3|0,e=f[(f[f[i>>2]+96>>2]+p(r,12)|0)+(e-p(r,3)<<2)>>2]),f[o+12>>2]=e,f[o+8>>2]=a,Ar(o+8|0,o+12|0),r=f[i+72>>2],f[i+72>>2]=r+2,1&r&&(f[o+12>>2]=e,f[o+8>>2]=a,Ar(o+8|0,o+12|0),f[i+72>>2]=f[i+72>>2]+1)),V=r=V-16|0,f[i+68>>2]=f[i+68>>2]+1,e=p(t,12)+i|0,!((0|(k=f[e+12>>2]-f[e+8>>2]|0))<=0)){e=-1,u=((t=f[44+((t<<2)+i|0)>>2])>>>0)/3|0,_=(d=-1==(0|t))?-1:u,l=f[i+56>>2]+(_>>>3&536870908)|0,f[l>>2]=f[l>>2]|1<<_,f[i+72>>2]=f[i+72>>2]+1,f[r+12>>2]=(0|t)>=0?f[(f[f[i>>2]+96>>2]+p(u,12)|0)+((t>>>0)%3<<2)>>2]:-1,f[r+8>>2]=a,Ar(r+8|0,r+12|0);e:if(d)f[r+12>>2]=-1,f[r+8>>2]=a,Ar(r+8|0,r+12|0);else{if((0|(_=((_=t+1|0)>>>0)%3|0?_:t-2|0))>=0?(d=(_>>>0)/3|0,l=f[(f[f[i>>2]+96>>2]+p(d,12)|0)+(_-p(d,3)<<2)>>2]):l=-1,f[r+12>>2]=l,f[r+8>>2]=a,Ar(r+8|0,r+12|0),(0|(u=t+(t-p(u,3)|0?-1:2)|0))<0)break e;e=(u>>>0)/3|0,e=f[(f[f[i>>2]+96>>2]+p(e,12)|0)+(u-p(e,3)<<2)>>2]}if(f[i+76>>2]=e,f[r+12>>2]=e,f[r+8>>2]=a,e=-1,Ar(r+8|0,r+12|0),e=-1!=(0|t)?f[f[f[i+4>>2]+12>>2]+(t<<2)>>2]:e,!(k>>>0<=7))for(d=(t=k>>>2|0)>>>0>1?t:1,t=1;;){k=e,_=(e>>>0)/3|0,e=-1==(0|e)?-1:_,u=f[i+56>>2]+(e>>>3&536870908)|0,f[u>>2]=f[u>>2]|1<<e,f[i+72>>2]=f[i+72>>2]+1,e=-1,e=(0|k)>=0?f[(f[f[i>>2]+96>>2]+p(_,12)|0)+((k>>>0)%3<<2)>>2]:e,f[i+76>>2]=e,f[r+12>>2]=e,f[r+8>>2]=a,Ar(r+8|0,r+12|0);e:{r:{if(1&t){if(u=-1,-1==(0|k))break e;if((0|k)!=(0|p(_,3))){e=k-1|0;break r}e=k+2|0}else{if(u=-1,-1==(0|k))break e;e=((e=k+1|0)>>>0)%3|0?e:k-2|0}if(u=-1,-1==(0|e))break e}u=f[f[f[i+4>>2]+12>>2]+(e<<2)>>2]}if(e=u,(0|d)==(0|(t=t+1|0)))break}}V=r+16|0,r=f[c+96>>2],e=f[c+100>>2]}if(F=1,!((U=U+1|0)>>>0<(e-r|0)/12>>>0))break}else F=1;return V=o+16|0,F?((e=f[b>>2])&&(f[b+4>>2]=e,ee(e)),f[b>>2]=f[a>>2],f[b+4>>2]=f[a+4>>2],f[b+8>>2]=f[a+8>>2],x=f[a+84>>2]):(e=f[a>>2])&&(f[a+4>>2]=e,ee(e)),(e=f[a+72>>2])&&ee(e),(e=f[a+48>>2])&&(f[a+52>>2]=e,ee(e)),(e=f[a+36>>2])&&(f[a+40>>2]=e,ee(e)),(e=f[a+24>>2])&&(f[a+28>>2]=e,ee(e)),e=f[a+20>>2],f[a+20>>2]=0,e&&Br(e),V=a+96|0,0|x},Wa:function(e,r,t,i){e|=0,t|=0,i|=0;var a=0,n=0,s=0;if(!(l[80+(r|=0)>>2]>65535||(n=f[r+96>>2],r=f[r+100>>2]-n|0,s=(0|(a=p(e=(0|r)/12|0,6)))==(0|t),!r|(0|t)!=(0|a))))for(s=1,a=e>>>0>1?e:1,e=0;r=p(e,6)+i|0,t=p(e,12)+n|0,o[r>>1]=f[t>>2],o[r+2>>1]=f[t+4>>2],o[r+4>>1]=f[t+8>>2],(0|a)!=(0|(e=e+1|0)););return 0|s},Xa:function(e,r,t,i){e|=0,t|=0,i|=0;var a,n=0,o=0,s=0;if(a=f[96+(r|=0)>>2],!((0|(r=f[r+100>>2]-a|0))!=(0|t)|!r))for(s=(e=(0|t)/12|0)>>>0>1?e:1,e=0;o=(n=p(e,12))+i|0,n=n+a|0,f[o>>2]=f[n>>2],f[o+4>>2]=f[n+4>>2],f[o+8>>2]=f[n+8>>2],(0|s)!=(0|(e=e+1|0)););return(0|r)==(0|t)|0},Ya:function(e,r,t,i){e|=0,t|=0,i|=0;var a=0,o=0,s=0;V=e=V-32|0,a=n[24+(r|=0)|0],o=f[2563],f[e+24>>2]=f[2562],f[e+28>>2]=o,o=f[2561],f[e+16>>2]=f[2560],f[e+20>>2]=o;e:{r:{if(t=Z(r,t,a,e+16|0)){if(f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,r=0,a){if((0|a)<0)break r;s=ge(r=_t(a<<=2),e+16|0,a)+a|0}(a=f[i>>2])&&(f[i+4>>2]=a,ee(a)),f[i+8>>2]=s,f[i+4>>2]=s,f[i>>2]=r}V=e+32|0;break e}oi(),T()}return 0|t},Za:function(e,r,t,i){e|=0,t|=0,i|=0;var a,o,s=0,c=0,b=0,l=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0;e=0,V=a=V-16|0,o=f[80+(r|=0)>>2],s=n[t+24|0],f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0;e:{r:{if(s){if((0|s)<0)break r;if(e=_t(r=s<<2),f[a>>2]=e,b=e+r|0,f[a+8>>2]=b,k=1+((l=r-4|0)>>>2|0)&7)for(r=e;f[r>>2]=-1073741824,r=r+4|0,(0|k)!=(0|(c=c+1|0)););else r=e;if(l>>>0>=28)for(;f[r+24>>2]=-1073741824,f[r+28>>2]=-1073741824,f[r+16>>2]=-1073741824,f[r+20>>2]=-1073741824,f[r+8>>2]=-1073741824,f[r+12>>2]=-1073741824,f[r>>2]=-1073741824,f[r+4>>2]=-1073741824,(0|b)!=(0|(r=r+32|0)););f[a+4>>2]=b}r=p(s,o),b=f[i>>2],r>>>0>(c=f[i+4>>2]-b>>2)>>>0?sr(i,r-c|0):r>>>0>=c>>>0||(f[i+4>>2]=b+(r<<2));t:if(o)if(_=1,(0|s)<=0)for(r=0;;){if(!Z(t,A[t+84|0]?r:f[f[t+68>>2]+(r<<2)>>2],n[t+24|0],e))break t;if(_=o>>>0>(r=r+1|0)>>>0,(0|r)==(0|o))break}else{for(y=-4&s,k=3&s,c=0,v=s-1>>>0<3;;){if(Z(t,A[t+84|0]?d:f[f[t+68>>2]+(d<<2)>>2],n[t+24|0],e)){if(h=f[i>>2],m=0,s=f[a>>2],r=0,_=0,!v)for(;l=r<<2,u[(b=h+(c<<2)|0)>>2]=u[l+s>>2],u[b+4>>2]=u[(4|l)+s>>2],u[b+8>>2]=u[(8|l)+s>>2],u[b+12>>2]=u[(12|l)+s>>2],r=r+4|0,c=c+4|0,(0|y)!=(0|(_=_+4|0)););if(k)for(;u[h+(c<<2)>>2]=u[(r<<2)+s>>2],r=r+1|0,c=c+1|0,(0|k)!=(0|(m=m+1|0)););if(_=(d=d+1|0)>>>0<o>>>0,(0|o)!=(0|d))continue}break}e=f[a>>2]}e&&ee(e),V=a+16|0,e=1&(-1^_);break e}oi(),T()}return 0|e},_a:ke,$a:function(e,r,t,i){e|=0,t|=0,i|=0;var a,o,s,c=0,b=0,l=0,u=0,_=0,k=0,d=0;V=a=V-16|0,o=f[80+(r|=0)>>2],s=A[t+24|0],c=p(o,r=s<<24>>24);e:{r:{t:{if(!(1==(0|(e=f[t+28>>2]))|2==(0|e))|!A[t+84|0]){if(f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0,r){if((0|r)<0)break t;b=_t(r),f[a>>2]=b,e=r+b|0,f[a+8>>2]=e,Je(b,0,r),f[a+4>>2]=e}i:if((_=(e=f[i+4>>2])-(u=f[i>>2])|0)>>>0<c>>>0){if((k=c-_|0)>>>0<=(d=f[i+8>>2])-e>>>0){k&&(e=Je(e,0,k)+k|0),f[i+4>>2]=e;break i}if((0|c)<0)break r;if(d=(e=d-u|0)<<1,(e=e>>>0<1073741823?c>>>0>d>>>0?c:d:2147483647)&&(l=_t(e)),Je(l+_|0,0,k),(0|_)>0&&ge(l,u,_),f[i+8>>2]=e+l,f[i+4>>2]=c+l,f[i>>2]=l,!u)break i;ee(u)}else c>>>0>=_>>>0||(f[i+4>>2]=c+u);i:if(o)if(r){for(u=-2&(e=r-1|0),_=1&e,e=0,r=1,l=0;;){if(c=f[a>>2],x(t,A[t+84|0]?l:f[f[t+68>>2]+(l<<2)>>2],n[t+24|0],c)){n[f[i>>2]+e|0]=A[0|c],r=1,e=e+1|0,b=0;a:{switch(s-1|0){default:for(;n[f[i>>2]+e|0]=A[f[a>>2]+r|0],n[1+(f[i>>2]+e|0)|0]=A[1+(f[a>>2]+r|0)|0],r=r+2|0,e=e+2|0,(0|u)!=(0|(b=b+2|0)););break;case 0:break a;case 1:}_&&(n[f[i>>2]+e|0]=A[f[a>>2]+r|0],e=e+1|0)}if(r=o>>>0>(l=l+1|0)>>>0,(0|l)!=(0|o))continue}break}b=f[a>>2]}else for(e=0,r=1;;){if(!x(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],n[t+24|0],b))break i;if(r=o>>>0>(e=e+1|0)>>>0,(0|e)==(0|o))break}else r=0;b&&ee(b),e=!r}else{if(e=f[t+48>>2],t=f[f[t>>2]>>2],r=0,f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0,c){if((0|c)<0)break t;r=ge(b=_t(c),e+t|0,c)+c|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=r,f[i>>2]=b,e=1}V=a+16|0,e&=1;break e}oi(),T()}oi(),T()}return 0|e},ab:function(e,r,t,i){e|=0,t|=0,i|=0;var a,o,s,c=0,b=0,l=0,u=0,_=0,k=0,d=0;V=a=V-16|0,o=f[80+(r|=0)>>2],s=A[t+24|0],c=p(o,r=s<<24>>24);e:{r:{t:{if(!(1==(0|(e=f[t+28>>2]))|2==(0|e))|!A[t+84|0]){if(f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0,r){if((0|r)<0)break t;b=_t(r),f[a>>2]=b,e=r+b|0,f[a+8>>2]=e,Je(b,0,r),f[a+4>>2]=e}i:if((_=(e=f[i+4>>2])-(u=f[i>>2])|0)>>>0<c>>>0){if((k=c-_|0)>>>0<=(d=f[i+8>>2])-e>>>0){k&&(e=Je(e,0,k)+k|0),f[i+4>>2]=e;break i}if((0|c)<0)break r;if(d=(e=d-u|0)<<1,(e=e>>>0<1073741823?c>>>0>d>>>0?c:d:2147483647)&&(l=_t(e)),Je(l+_|0,0,k),(0|_)>0&&ge(l,u,_),f[i+8>>2]=e+l,f[i+4>>2]=c+l,f[i>>2]=l,!u)break i;ee(u)}else c>>>0>=_>>>0||(f[i+4>>2]=c+u);i:if(o)if(r){for(u=-2&(e=r-1|0),_=1&e,e=0,r=1,l=0;;){if(c=f[a>>2],S(t,A[t+84|0]?l:f[f[t+68>>2]+(l<<2)>>2],n[t+24|0],c)){n[f[i>>2]+e|0]=A[0|c],r=1,e=e+1|0,b=0;a:{switch(s-1|0){default:for(;n[f[i>>2]+e|0]=A[f[a>>2]+r|0],n[1+(f[i>>2]+e|0)|0]=A[1+(f[a>>2]+r|0)|0],r=r+2|0,e=e+2|0,(0|u)!=(0|(b=b+2|0)););break;case 0:break a;case 1:}_&&(n[f[i>>2]+e|0]=A[f[a>>2]+r|0],e=e+1|0)}if(r=o>>>0>(l=l+1|0)>>>0,(0|l)!=(0|o))continue}break}b=f[a>>2]}else for(e=0,r=1;;){if(!S(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],n[t+24|0],b))break i;if(r=o>>>0>(e=e+1|0)>>>0,(0|e)==(0|o))break}else r=0;b&&ee(b),e=!r}else{if(e=f[t+48>>2],t=f[f[t>>2]>>2],r=0,f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0,c){if((0|c)<0)break t;r=ge(b=_t(c),e+t|0,c)+c|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=r,f[i>>2]=b,e=1}V=a+16|0,e&=1;break e}oi(),T()}oi(),T()}return 0|e},bb:function(e,r,t,i){e|=0,t|=0,i|=0;var a,s=0,c=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;V=a=V-16|0,u=f[80+(r|=0)>>2],e=n[t+24|0],s=p(u,e);e:{r:{if(!(3==(0|(r=f[t+28>>2]))|4==(0|r))|!A[t+84|0]){if(f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0,e){if((0|e)<0)break r;l=_t(r=e<<1),f[a>>2]=l,c=r+l|0,f[a+8>>2]=c,Je(l,0,r),f[a+4>>2]=c}c=f[i>>2],(r=f[i+4>>2]-c>>1)>>>0<s>>>0?lr(i,s-r|0):r>>>0<=s>>>0||(f[i+4>>2]=c+(s<<1));t:if(u)if(e){for(v=-4&e,h=3&e,g=e-1>>>0<3,r=1,s=0;;){if(Q(t,A[t+84|0]?s:f[f[t+68>>2]+(s<<2)>>2],n[t+24|0],l)){if(y=f[i>>2],m=0,c=f[a>>2],e=0,r=0,!g)for(;d=e<<1,o[(k=(_<<1)+y|0)>>1]=b[c+d>>1],o[k+2>>1]=b[c+(2|d)>>1],o[k+4>>1]=b[c+(4|d)>>1],o[k+6>>1]=b[c+(6|d)>>1],e=e+4|0,_=_+4|0,(0|v)!=(0|(r=r+4|0)););if(h)for(;o[(_<<1)+y>>1]=b[c+(e<<1)>>1],e=e+1|0,_=_+1|0,(0|(m=m+1|0))!=(0|h););if(r=u>>>0>(s=s+1|0)>>>0,(0|s)!=(0|u))continue}break}l=f[a>>2]}else for(e=0,r=1;;){if(!Q(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],n[t+24|0],l))break t;if(r=u>>>0>(e=e+1|0)>>>0,(0|e)==(0|u))break}else r=0;l&&ee(l),e=1^r}else{if(l=f[t+48>>2],u=f[f[t>>2]>>2],r=0,f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0,t=0,e=s<<1){if((0|e)<0)break r;_=(r=ge(t=_t(e),l+u|0,e))+e|0,r=r+(e>>1<<1)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=_,f[i>>2]=t,e=1}V=a+16|0,e&=1;break e}oi(),T()}return 0|e},cb:function(e,r,t,i){e|=0,t|=0,i|=0;var a,s=0,c=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;V=a=V-16|0,u=f[80+(r|=0)>>2],e=n[t+24|0],s=p(u,e);e:{r:{if(!(3==(0|(r=f[t+28>>2]))|4==(0|r))|!A[t+84|0]){if(f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0,e){if((0|e)<0)break r;l=_t(r=e<<1),f[a>>2]=l,c=r+l|0,f[a+8>>2]=c,Je(l,0,r),f[a+4>>2]=c}c=f[i>>2],(r=f[i+4>>2]-c>>1)>>>0<s>>>0?lr(i,s-r|0):r>>>0<=s>>>0||(f[i+4>>2]=c+(s<<1));t:if(u)if(e){for(v=-4&e,h=3&e,g=e-1>>>0<3,r=1,s=0;;){if(P(t,A[t+84|0]?s:f[f[t+68>>2]+(s<<2)>>2],n[t+24|0],l)){if(y=f[i>>2],m=0,c=f[a>>2],e=0,r=0,!g)for(;d=e<<1,o[(k=(_<<1)+y|0)>>1]=b[c+d>>1],o[k+2>>1]=b[c+(2|d)>>1],o[k+4>>1]=b[c+(4|d)>>1],o[k+6>>1]=b[c+(6|d)>>1],e=e+4|0,_=_+4|0,(0|v)!=(0|(r=r+4|0)););if(h)for(;o[(_<<1)+y>>1]=b[c+(e<<1)>>1],e=e+1|0,_=_+1|0,(0|(m=m+1|0))!=(0|h););if(r=u>>>0>(s=s+1|0)>>>0,(0|s)!=(0|u))continue}break}l=f[a>>2]}else for(e=0,r=1;;){if(!P(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],n[t+24|0],l))break t;if(r=u>>>0>(e=e+1|0)>>>0,(0|e)==(0|u))break}else r=0;l&&ee(l),e=1^r}else{if(l=f[t+48>>2],u=f[f[t>>2]>>2],r=0,f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0,t=0,e=s<<1){if((0|e)<0)break r;_=(r=ge(t=_t(e),l+u|0,e))+e|0,r=r+(e>>1<<1)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=_,f[i>>2]=t,e=1}V=a+16|0,e&=1;break e}oi(),T()}return 0|e},db:ke,eb:function(e,r,t,i){e|=0,t|=0,i|=0;var a,o=0,s=0,c=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0;V=a=V-16|0,b=f[80+(r|=0)>>2],e=n[t+24|0],o=p(b,e);e:{r:{if(!(5==(0|(r=f[t+28>>2]))|6==(0|r))|!A[t+84|0]){if(f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0,e){if((0|e)<0)break r;c=_t(r=e<<2),f[a>>2]=c,s=r+c|0,f[a+8>>2]=s,Je(c,0,r),f[a+4>>2]=s}s=f[i>>2],(r=f[i+4>>2]-s>>2)>>>0<o>>>0?sr(i,o-r|0):r>>>0<=o>>>0||(f[i+4>>2]=s+(o<<2));t:if(b)if(e){for(h=-4&e,d=3&e,y=e-1>>>0<3,r=1,o=0;;){if(X(t,A[t+84|0]?o:f[f[t+68>>2]+(o<<2)>>2],n[t+24|0],c)){if(m=f[i>>2],k=0,s=f[a>>2],e=0,r=0,!y)for(;_=e<<2,f[(u=(l<<2)+m|0)>>2]=f[s+_>>2],f[u+4>>2]=f[s+(4|_)>>2],f[u+8>>2]=f[s+(8|_)>>2],f[u+12>>2]=f[s+(12|_)>>2],e=e+4|0,l=l+4|0,(0|h)!=(0|(r=r+4|0)););if(d)for(;f[(l<<2)+m>>2]=f[s+(e<<2)>>2],e=e+1|0,l=l+1|0,(0|(k=k+1|0))!=(0|d););if(r=b>>>0>(o=o+1|0)>>>0,(0|o)!=(0|b))continue}break}c=f[a>>2]}else for(e=0,r=1;;){if(!X(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],n[t+24|0],c))break t;if(r=b>>>0>(e=e+1|0)>>>0,(0|e)==(0|b))break}else r=0;c&&ee(c),e=1^r}else{if(c=f[t+48>>2],b=f[f[t>>2]>>2],r=0,f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0,t=0,e=o<<2){if((0|e)<0)break r;l=(r=ge(t=_t(e),c+b|0,e))+e|0,r=r+(e>>2<<2)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=l,f[i>>2]=t,e=1}V=a+16|0,e&=1;break e}oi(),T()}return 0|e},fb:function(e,r,t,i,a,s){e|=0,r|=0,t|=0,a|=0,s|=0;var c=0,l=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0;e:{r:{t:{i:{a:switch((i|=0)-1|0){case 0:e=0,V=m=V-16|0,k=f[r+80>>2],c=n[t+24|0];n:if((0|p(k,c))==(0|a))if((r=1!=f[t+28>>2])|!(e=A[t+84|0])){if(i=0,f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,c){if((0|c)<0)break i;l=_t(c),f[m>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!c)for(r=0,i=1;;){if(!x(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],n[t+24|0],l))break f;if(i=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(_=-4&c,d=3&c,r=0,v=c-1>>>0<3,i=1,a=0;;){if(!x(t,255&e?a:f[f[t+68>>2]+(a<<2)>>2],n[t+24|0],l))break f;if(i=0,e=0,h=0,!v)for(;n[0|(c=r+s|0)]=A[e+l|0],n[c+1|0]=A[(1|e)+l|0],n[c+2|0]=A[(2|e)+l|0],n[c+3|0]=A[(3|e)+l|0],e=e+4|0,r=r+4|0,(0|_)!=(0|(h=h+4|0)););if(d)for(;n[r+s|0]=A[e+l|0],e=e+1|0,r=r+1|0,(0|d)!=(0|(i=i+1|0)););if((0|k)==(0|(a=a+1|0)))break;i=a>>>0<k>>>0,e=A[t+84|0]}e=a>>>0>=k>>>0;break o}if(c)for(v=-4&c,d=3&c,r=0,E=c-1>>>0<3;;){if(a=f[f[t>>2]>>2],w=f[t+40>>2],a=ge(l,a+(e=f[t+48>>2]+Lr(w,f[t+44>>2],255&e?i:f[f[t+68>>2]+(i<<2)>>2],0)|0)|0,w),h=0,e=0,_=0,!E)for(;n[0|(c=r+s|0)]=A[e+a|0],n[c+1|0]=A[a+(1|e)|0],n[c+2|0]=A[a+(2|e)|0],n[c+3|0]=A[a+(3|e)|0],e=e+4|0,r=r+4|0,(0|v)!=(0|(_=_+4|0)););if(d)for(;n[r+s|0]=A[e+a|0],e=e+1|0,r=r+1|0,(0|d)!=(0|(h=h+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break o;e=A[t+84|0]}if(h=f[t>>2],a=f[t+48>>2],E=f[t+68>>2],s=f[t+44>>2],w=t=f[t+40>>2],r=0,1!=(0|k))for(g=-2&k,C=255&e;c=1|r,d=ge(l,(y=f[h>>2])+(d=Lr(t,s,C?r:f[E+(r<<2)>>2],0)+a|0)|0,w),y=f[h>>2],C||(c=f[E+(c<<2)>>2]),ge(d,(c=Lr(t,s,c,0)+a|0)+y|0,w),r=r+2|0,(0|g)!=(0|(_=_+2|0)););if(!(1&k))break f;c=f[h>>2],255&e||(r=f[E+(r<<2)>>2]),ge(l,(e=Lr(t,s,r,0)+a|0)+c|0,w)}if(e=1^i,!l)break n}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,a),e=1;break t;case 2:e=0,V=h=V-16|0,c=(i=n[t+24|0])<<1,k=f[r+80>>2];n:if((0|p(c,k))==(0|a))if((r=3!=f[t+28>>2])|!(e=A[t+84|0])){if(f[h+8>>2]=0,f[h>>2]=0,f[h+4>>2]=0,i){if((0|i)<0)break i;l=_t(c),f[h>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!i)for(r=0,_=1;;){if(!Q(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],n[t+24|0],l))break f;if(_=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(v=-4&i,m=3&i,r=0,E=i-1>>>0<3,_=1,i=0;;){if(!Q(t,255&e?i:f[f[t+68>>2]+(i<<2)>>2],n[t+24|0],l))break f;if(_=0,e=0,a=0,!E)for(;d=e<<1,o[(c=(r<<1)+s|0)>>1]=b[d+l>>1],o[c+2>>1]=b[(2|d)+l>>1],o[c+4>>1]=b[(4|d)+l>>1],o[c+6>>1]=b[(6|d)+l>>1],e=e+4|0,r=r+4|0,(0|v)!=(0|(a=a+4|0)););if(m)for(;o[(r<<1)+s>>1]=b[(e<<1)+l>>1],e=e+1|0,r=r+1|0,(0|m)!=(0|(_=_+1|0)););if((0|k)==(0|(i=i+1|0)))break;_=i>>>0<k>>>0,e=A[t+84|0]}e=i>>>0>=k>>>0;break o}if(v=f[t>>2],c=f[t+48>>2],w=f[t+68>>2],d=f[t+44>>2],C=m=f[t+40>>2],i){for(G=-4&i,N=3&i,r=0,R=255&e,D=i-1>>>0<3,i=0;;){if(_=ge(l,(t=f[v>>2])+(e=Lr(m,d,R?i:f[w+(i<<2)>>2],0)+c|0)|0,C),a=0,e=0,t=0,!D)for(;y=e<<1,o[(g=(r<<1)+s|0)>>1]=b[y+_>>1],o[g+2>>1]=b[_+(2|y)>>1],o[g+4>>1]=b[_+(4|y)>>1],o[g+6>>1]=b[_+(6|y)>>1],e=e+4|0,r=r+4|0,(0|G)!=(0|(t=t+4|0)););if(N)for(;o[(r<<1)+s>>1]=b[_+(e<<1)>>1],e=e+1|0,r=r+1|0,(0|N)!=(0|(a=a+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break}break o}if(r=0,1!=(0|k))for(g=-2&k,s=255&e,i=0;t=1|r,a=ge(l,(y=f[v>>2])+(a=Lr(m,d,s?r:f[w+(r<<2)>>2],0)+c|0)|0,C),y=f[v>>2],s||(t=f[w+(t<<2)>>2]),ge(a,(t=Lr(m,d,t,0)+c|0)+y|0,C),r=r+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&k))break f;t=f[v>>2],255&e||(r=f[w+(r<<2)>>2]),ge(l,(e=Lr(m,d,r,0)+c|0)+t|0,C)}if(e=1^_,!l)break n}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,a),e=1;break r;case 4:e=0,V=h=V-16|0,c=(i=n[t+24|0])<<2,k=f[r+80>>2];n:if((0|p(c,k))==(0|a))if((r=5!=f[t+28>>2])|!(e=A[t+84|0])){if(f[h+8>>2]=0,f[h>>2]=0,f[h+4>>2]=0,i){if((0|i)<0)break i;l=_t(c),f[h>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!i)for(r=0,_=1;;){if(!L(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],n[t+24|0],l))break f;if(_=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(v=-4&i,m=3&i,r=0,E=i-1>>>0<3,_=1,i=0;;){if(!L(t,255&e?i:f[f[t+68>>2]+(i<<2)>>2],n[t+24|0],l))break f;if(_=0,e=0,a=0,!E)for(;d=e<<2,f[(c=(r<<2)+s|0)>>2]=f[d+l>>2],f[c+4>>2]=f[(4|d)+l>>2],f[c+8>>2]=f[(8|d)+l>>2],f[c+12>>2]=f[(12|d)+l>>2],e=e+4|0,r=r+4|0,(0|v)!=(0|(a=a+4|0)););if(m)for(;f[(r<<2)+s>>2]=f[(e<<2)+l>>2],e=e+1|0,r=r+1|0,(0|m)!=(0|(_=_+1|0)););if((0|k)==(0|(i=i+1|0)))break;_=i>>>0<k>>>0,e=A[t+84|0]}e=i>>>0>=k>>>0;break o}if(v=f[t>>2],c=f[t+48>>2],w=f[t+68>>2],d=f[t+44>>2],C=m=f[t+40>>2],i){for(G=-4&i,N=3&i,r=0,R=255&e,D=i-1>>>0<3,i=0;;){if(_=ge(l,(t=f[v>>2])+(e=Lr(m,d,R?i:f[w+(i<<2)>>2],0)+c|0)|0,C),a=0,e=0,t=0,!D)for(;y=e<<2,f[(g=(r<<2)+s|0)>>2]=f[y+_>>2],f[g+4>>2]=f[_+(4|y)>>2],f[g+8>>2]=f[_+(8|y)>>2],f[g+12>>2]=f[_+(12|y)>>2],e=e+4|0,r=r+4|0,(0|G)!=(0|(t=t+4|0)););if(N)for(;f[(r<<2)+s>>2]=f[_+(e<<2)>>2],e=e+1|0,r=r+1|0,(0|N)!=(0|(a=a+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break}break o}if(r=0,1!=(0|k))for(g=-2&k,s=255&e,i=0;t=1|r,a=ge(l,(y=f[v>>2])+(a=Lr(m,d,s?r:f[w+(r<<2)>>2],0)+c|0)|0,C),y=f[v>>2],s||(t=f[w+(t<<2)>>2]),ge(a,(t=Lr(m,d,t,0)+c|0)+y|0,C),r=r+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&k))break f;t=f[v>>2],255&e||(r=f[w+(r<<2)>>2]),ge(l,(e=Lr(m,d,r,0)+c|0)+t|0,C)}if(e=1^_,!l)break n}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,a),e=1;break r;case 1:e=0,V=m=V-16|0,k=f[r+80>>2],c=n[t+24|0];n:if((0|p(k,c))==(0|a))if((r=2!=f[t+28>>2])|!(e=A[t+84|0])){if(i=0,f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,c){if((0|c)<0)break i;l=_t(c),f[m>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!c)for(r=0,i=1;;){if(!S(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],n[t+24|0],l))break f;if(i=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(_=-4&c,d=3&c,r=0,v=c-1>>>0<3,i=1,a=0;;){if(!S(t,255&e?a:f[f[t+68>>2]+(a<<2)>>2],n[t+24|0],l))break f;if(i=0,e=0,h=0,!v)for(;n[0|(c=r+s|0)]=A[e+l|0],n[c+1|0]=A[(1|e)+l|0],n[c+2|0]=A[(2|e)+l|0],n[c+3|0]=A[(3|e)+l|0],e=e+4|0,r=r+4|0,(0|_)!=(0|(h=h+4|0)););if(d)for(;n[r+s|0]=A[e+l|0],e=e+1|0,r=r+1|0,(0|d)!=(0|(i=i+1|0)););if((0|k)==(0|(a=a+1|0)))break;i=a>>>0<k>>>0,e=A[t+84|0]}e=a>>>0>=k>>>0;break o}if(c)for(v=-4&c,d=3&c,r=0,E=c-1>>>0<3;;){if(a=f[f[t>>2]>>2],w=f[t+40>>2],a=ge(l,a+(e=f[t+48>>2]+Lr(w,f[t+44>>2],255&e?i:f[f[t+68>>2]+(i<<2)>>2],0)|0)|0,w),h=0,e=0,_=0,!E)for(;n[0|(c=r+s|0)]=A[e+a|0],n[c+1|0]=A[a+(1|e)|0],n[c+2|0]=A[a+(2|e)|0],n[c+3|0]=A[a+(3|e)|0],e=e+4|0,r=r+4|0,(0|v)!=(0|(_=_+4|0)););if(d)for(;n[r+s|0]=A[e+a|0],e=e+1|0,r=r+1|0,(0|d)!=(0|(h=h+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break o;e=A[t+84|0]}if(h=f[t>>2],a=f[t+48>>2],E=f[t+68>>2],s=f[t+44>>2],w=t=f[t+40>>2],r=0,1!=(0|k))for(g=-2&k,C=255&e;c=1|r,d=ge(l,(y=f[h>>2])+(d=Lr(t,s,C?r:f[E+(r<<2)>>2],0)+a|0)|0,w),y=f[h>>2],C||(c=f[E+(c<<2)>>2]),ge(d,(c=Lr(t,s,c,0)+a|0)+y|0,w),r=r+2|0,(0|g)!=(0|(_=_+2|0)););if(!(1&k))break f;c=f[h>>2],255&e||(r=f[E+(r<<2)>>2]),ge(l,(e=Lr(t,s,r,0)+a|0)+c|0,w)}if(e=1^i,!l)break n}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,a),e=1;break t;case 3:e=0,V=h=V-16|0,c=(i=n[t+24|0])<<1,k=f[r+80>>2];n:if((0|p(c,k))==(0|a))if((r=4!=f[t+28>>2])|!(e=A[t+84|0])){if(f[h+8>>2]=0,f[h>>2]=0,f[h+4>>2]=0,i){if((0|i)<0)break i;l=_t(c),f[h>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!i)for(r=0,_=1;;){if(!P(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],n[t+24|0],l))break f;if(_=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(v=-4&i,m=3&i,r=0,E=i-1>>>0<3,_=1,i=0;;){if(!P(t,255&e?i:f[f[t+68>>2]+(i<<2)>>2],n[t+24|0],l))break f;if(_=0,e=0,a=0,!E)for(;d=e<<1,o[(c=(r<<1)+s|0)>>1]=b[d+l>>1],o[c+2>>1]=b[(2|d)+l>>1],o[c+4>>1]=b[(4|d)+l>>1],o[c+6>>1]=b[(6|d)+l>>1],e=e+4|0,r=r+4|0,(0|v)!=(0|(a=a+4|0)););if(m)for(;o[(r<<1)+s>>1]=b[(e<<1)+l>>1],e=e+1|0,r=r+1|0,(0|m)!=(0|(_=_+1|0)););if((0|k)==(0|(i=i+1|0)))break;_=i>>>0<k>>>0,e=A[t+84|0]}e=i>>>0>=k>>>0;break o}if(v=f[t>>2],c=f[t+48>>2],w=f[t+68>>2],d=f[t+44>>2],C=m=f[t+40>>2],i){for(G=-4&i,N=3&i,r=0,R=255&e,D=i-1>>>0<3,i=0;;){if(_=ge(l,(t=f[v>>2])+(e=Lr(m,d,R?i:f[w+(i<<2)>>2],0)+c|0)|0,C),a=0,e=0,t=0,!D)for(;y=e<<1,o[(g=(r<<1)+s|0)>>1]=b[y+_>>1],o[g+2>>1]=b[_+(2|y)>>1],o[g+4>>1]=b[_+(4|y)>>1],o[g+6>>1]=b[_+(6|y)>>1],e=e+4|0,r=r+4|0,(0|G)!=(0|(t=t+4|0)););if(N)for(;o[(r<<1)+s>>1]=b[_+(e<<1)>>1],e=e+1|0,r=r+1|0,(0|N)!=(0|(a=a+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break}break o}if(r=0,1!=(0|k))for(g=-2&k,s=255&e,i=0;t=1|r,a=ge(l,(y=f[v>>2])+(a=Lr(m,d,s?r:f[w+(r<<2)>>2],0)+c|0)|0,C),y=f[v>>2],s||(t=f[w+(t<<2)>>2]),ge(a,(t=Lr(m,d,t,0)+c|0)+y|0,C),r=r+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&k))break f;t=f[v>>2],255&e||(r=f[w+(r<<2)>>2]),ge(l,(e=Lr(m,d,r,0)+c|0)+t|0,C)}if(e=1^_,!l)break n}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,a),e=1;break r;case 5:e=0,V=h=V-16|0,c=(i=n[t+24|0])<<2,k=f[r+80>>2];n:if((0|p(c,k))==(0|a))if((r=6!=f[t+28>>2])|!(e=A[t+84|0])){if(f[h+8>>2]=0,f[h>>2]=0,f[h+4>>2]=0,i){if((0|i)<0)break i;l=_t(c),f[h>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!i)for(r=0,_=1;;){if(!X(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],n[t+24|0],l))break f;if(_=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(v=-4&i,m=3&i,r=0,E=i-1>>>0<3,_=1,i=0;;){if(!X(t,255&e?i:f[f[t+68>>2]+(i<<2)>>2],n[t+24|0],l))break f;if(_=0,e=0,a=0,!E)for(;d=e<<2,f[(c=(r<<2)+s|0)>>2]=f[d+l>>2],f[c+4>>2]=f[(4|d)+l>>2],f[c+8>>2]=f[(8|d)+l>>2],f[c+12>>2]=f[(12|d)+l>>2],e=e+4|0,r=r+4|0,(0|v)!=(0|(a=a+4|0)););if(m)for(;f[(r<<2)+s>>2]=f[(e<<2)+l>>2],e=e+1|0,r=r+1|0,(0|m)!=(0|(_=_+1|0)););if((0|k)==(0|(i=i+1|0)))break;_=i>>>0<k>>>0,e=A[t+84|0]}e=i>>>0>=k>>>0;break o}if(v=f[t>>2],c=f[t+48>>2],w=f[t+68>>2],d=f[t+44>>2],C=m=f[t+40>>2],i){for(G=-4&i,N=3&i,r=0,R=255&e,D=i-1>>>0<3,i=0;;){if(_=ge(l,(t=f[v>>2])+(e=Lr(m,d,R?i:f[w+(i<<2)>>2],0)+c|0)|0,C),a=0,e=0,t=0,!D)for(;y=e<<2,f[(g=(r<<2)+s|0)>>2]=f[y+_>>2],f[g+4>>2]=f[_+(4|y)>>2],f[g+8>>2]=f[_+(8|y)>>2],f[g+12>>2]=f[_+(12|y)>>2],e=e+4|0,r=r+4|0,(0|G)!=(0|(t=t+4|0)););if(N)for(;f[(r<<2)+s>>2]=f[_+(e<<2)>>2],e=e+1|0,r=r+1|0,(0|N)!=(0|(a=a+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break}break o}if(r=0,1!=(0|k))for(g=-2&k,s=255&e,i=0;t=1|r,a=ge(l,(y=f[v>>2])+(a=Lr(m,d,s?r:f[w+(r<<2)>>2],0)+c|0)|0,C),y=f[v>>2],s||(t=f[w+(t<<2)>>2]),ge(a,(t=Lr(m,d,t,0)+c|0)+y|0,C),r=r+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&k))break f;t=f[v>>2],255&e||(r=f[w+(r<<2)>>2]),ge(l,(e=Lr(m,d,r,0)+c|0)+t|0,C)}if(e=1^_,!l)break n}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,a),e=1;break r;case 8:break a;default:break e}e=0,V=v=V-16|0,i=(d=n[t+24|0])<<2,k=f[r+80>>2];a:if((0|p(i,k))==(0|a)){a=f[t+28>>2],f[v+8>>2]=0,f[v>>2]=0,f[v+4>>2]=0,r=0;n:{o:{f:{if(d){if((0|d)<0)break f;if(r=_t(i),f[v>>2]=r,c=(d<<2)+r|0,f[v+8>>2]=c,m=1+((i=i-4|0)>>>2|0)&7)for(e=r;f[e>>2]=-1073741824,e=e+4|0,(0|m)!=(0|(l=l+1|0)););else e=r;if(!(i>>>0<28))for(;f[e+24>>2]=-1073741824,f[e+28>>2]=-1073741824,f[e+16>>2]=-1073741824,f[e+20>>2]=-1073741824,f[e+8>>2]=-1073741824,f[e+12>>2]=-1073741824,f[e>>2]=-1073741824,f[e+4>>2]=-1073741824,(0|c)!=(0|(e=e+32|0)););}if(!k)break o;if(9==(0|a)){if(e=0,E=f[t>>2],i=f[t+48>>2],C=f[t+68>>2],g=A[t+84|0],a=f[t+44>>2],y=c=f[t+40>>2],(0|d)<=0){if(1!=(0|k))for(d=-2&k,t=0;s=1|e,l=ge(r,(m=f[E>>2])+(l=Lr(c,a,g?e:f[C+(e<<2)>>2],0)+i|0)|0,y),m=f[E>>2],g||(s=f[C+(s<<2)>>2]),ge(l,(s=Lr(c,a,s,0)+i|0)+m|0,y),e=e+2|0,(0|d)!=(0|(t=t+2|0)););if(!(1&k))break o;t=f[E>>2],g||(e=f[C+(e<<2)>>2]),ge(r,(e=Lr(c,a,e,0)+i|0)+t|0,y);break o}for(R=-4&d,N=3&d,l=0,D=d-1>>>0<3;;){if(t=ge(r,(t=f[E>>2])+(e=Lr(c,a,g?_:f[C+(_<<2)>>2],0)+i|0)|0,y),m=0,e=0,G=0,!D)for(;h=e<<2,u[(d=(l<<2)+s|0)>>2]=u[h+t>>2],u[d+4>>2]=u[t+(4|h)>>2],u[d+8>>2]=u[t+(8|h)>>2],u[d+12>>2]=u[t+(12|h)>>2],e=e+4|0,l=l+4|0,(0|R)!=(0|(G=G+4|0)););if(N)for(;u[(l<<2)+s>>2]=u[t+(e<<2)>>2],e=e+1|0,l=l+1|0,(0|N)!=(0|(m=m+1|0)););if(e=1,(0|k)==(0|(_=_+1|0)))break}break n}if(h=1,(0|d)<=0){for(e=0;;){if(!Z(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],n[t+24|0],r))break o;if(h=k>>>0>(e=e+1|0)>>>0,(0|e)==(0|k))break}break o}for(E=-4&d,c=3&d,l=0,d=d-1>>>0<3;;){if(!Z(t,A[t+84|0]?_:f[f[t+68>>2]+(_<<2)>>2],n[t+24|0],r))break o;if(h=0,e=0,m=0,!d)for(;a=e<<2,u[(i=(l<<2)+s|0)>>2]=u[a+r>>2],u[i+4>>2]=u[(4|a)+r>>2],u[i+8>>2]=u[(8|a)+r>>2],u[i+12>>2]=u[(12|a)+r>>2],e=e+4|0,l=l+4|0,(0|E)!=(0|(m=m+4|0)););if(c)for(;u[(l<<2)+s>>2]=u[(e<<2)+r>>2],e=e+1|0,l=l+1|0,(0|c)!=(0|(h=h+1|0)););if(h=k>>>0>(_=_+1|0)>>>0,(0|_)==(0|k))break}e=_>>>0>=k>>>0;break n}oi(),T()}if(e=1^h,!r)break a}ee(r)}V=v+16|0,l=1&e;break e}oi(),T()}V=m+16|0,l=1&e;break e}V=h+16|0,l=1&e}return 0|l},gb:function(e,r){e|=0,r|=0;var t,i=0,a=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0;V=t=V-16|0,f[t+12>>2]=r,r=_t(32),f[t>>2]=r,f[t+4>>2]=24,f[t+8>>2]=-2147483616,n[r+24|0]=0,a=A[1308]|A[1309]<<8|A[1310]<<16|A[1311]<<24,i=A[1304]|A[1305]<<8|A[1306]<<16|A[1307]<<24,n[r+16|0]=i,n[r+17|0]=i>>>8,n[r+18|0]=i>>>16,n[r+19|0]=i>>>24,n[r+20|0]=a,n[r+21|0]=a>>>8,n[r+22|0]=a>>>16,n[r+23|0]=a>>>24,a=A[1300]|A[1301]<<8|A[1302]<<16|A[1303]<<24,i=A[1296]|A[1297]<<8|A[1298]<<16|A[1299]<<24,n[r+8|0]=i,n[r+9|0]=i>>>8,n[r+10|0]=i>>>16,n[r+11|0]=i>>>24,n[r+12|0]=a,n[r+13|0]=a>>>8,n[r+14|0]=a>>>16,n[r+15|0]=a>>>24,a=A[1292]|A[1293]<<8|A[1294]<<16|A[1295]<<24,i=A[1288]|A[1289]<<8|A[1290]<<16|A[1291]<<24,n[0|r]=i,n[r+1|0]=i>>>8,n[r+2|0]=i>>>16,n[r+3|0]=i>>>24,n[r+4|0]=a,n[r+5|0]=a>>>8,n[r+6|0]=a>>>16,n[r+7|0]=a>>>24,V=b=V-48|0,p=e;e:{if(e=f[(a=e+16|0)>>2]){for(i=f[t+12>>2],r=a;r=(s=(0|i)>f[e+16>>2])?r:e,e=f[(s<<2)+e>>2];);if((0|r)!=(0|a)&&(0|i)>=f[r+16>>2])break e}if(f[4+(e=w=b+24|0)>>2]=0,f[e+8>>2]=0,C=e+4|0,f[e>>2]=C,e=f[t+12>>2],f[(i=b+16|0)>>2]=0,f[i+4>>2]=0,f[b+8>>2]=e,f[b+12>>2]=i,(0|C)!=(0|(r=f[w>>2])))for(k=b+8|4;;){s=r,c=r+16|0,V=y=V-16|0,u=y+12|0,e=y+8|0;r:{t:{i:{a:{n:{o:{f:if((0|(v=k+4|0))!=(0|i))if(o=(r=A[i+27|0])<<24>>24<0,_=(0|(E=(d=A[c+11|0])<<24>>24))<0,h=(m=(r=o?f[i+20>>2]:r)>>>0<(d=_?f[c+4>>2]:d)>>>0)?r:d){if(g=i+16|0,!(g=Rr(_=_?f[c>>2]:c,o=o?f[g>>2]:g,h))){if(r>>>0>d>>>0)break f;break o}if((0|g)>=0)break o}else if(r>>>0<=d>>>0)break n;o=f[i>>2];f:{s:if((0|(e=i))!=f[k>>2]){if(o)for(r=o;e=r,r=f[r+4>>2];);else{if(e=i+8|0,(0|i)==f[f[i+8>>2]>>2])for(;e=(r=f[e>>2])+8|0,(0|r)==f[f[r+8>>2]>>2];);e=f[e>>2]}if(r=(_=A[c+11|0])<<24>>24<0,d=(m=A[e+27|0])<<24>>24<0,!((h=(_=r?f[c+4>>2]:_)>>>0<(m=d?f[e+20>>2]:m)>>>0?_:m)&&(v=e+16|0,r=Rr(d?f[v>>2]:v,r?f[c>>2]:c,h)))){if(_>>>0>m>>>0)break s;break f}if((0|r)>=0)break f}if(!o){f[u>>2]=i,e=i;break r}f[u>>2]=e,e=e+4|0;break r}e=qe(k,u,c);break r}if(r=Rr(o,_,h))break a}if(m)break i;break t}if((0|r)>=0)break t}if(o=f[i+4>>2])for(r=o;e=r,r=f[r>>2];);else if(e=f[i+8>>2],(0|i)!=f[e>>2])for(r=i+8|0;r=(_=f[r>>2])+8|0,e=f[_+8>>2],(0|_)!=f[e>>2];);i:{a:if((0|e)!=(0|v)){if(!((m=(_=(r=(_=A[e+27|0])<<24>>24<0)?f[e+20>>2]:_)>>>0<d>>>0?_:d)&&(h=e+16|0,r=Rr((0|E)<0?f[c>>2]:c,r?f[h>>2]:h,m)))){if(_>>>0>d>>>0)break a;break i}if((0|r)>=0)break i}if(!o){f[u>>2]=i,e=i+4|0;break r}f[u>>2]=e;break r}e=qe(k,u,c);break r}f[u>>2]=i,f[e>>2]=i}(e=f[(r=e)>>2])?r=0:(o=(e=_t(40))+16|0,n[c+11|0]>=0?(u=f[c+4>>2],f[o>>2]=f[c>>2],f[o+4>>2]=u,f[o+8>>2]=f[c+8>>2]):Fr(o,f[c>>2],f[c+4>>2]),o=e+28|0,n[c+23|0]>=0?(u=f[c+16>>2],f[o>>2]=f[c+12>>2],f[o+4>>2]=u,f[o+8>>2]=f[c+20>>2]):Fr(o,f[c+12>>2],f[c+16>>2]),f[e+8>>2]=f[y+12>>2],f[e>>2]=0,f[e+4>>2]=0,f[r>>2]=e,(o=f[f[k>>2]>>2])?(f[k>>2]=o,r=f[r>>2]):r=e,Ce(f[k+4>>2],r),f[k+8>>2]=f[k+8>>2]+1,r=1),n[b+44|0]=r,f[b+40>>2]=e,V=y+16|0;r:if(e=f[s+4>>2])for(;e=f[(r=e)>>2];);else{if(r=f[s+8>>2],(0|s)==f[r>>2])break r;for(e=s+8|0;e=(s=f[e>>2])+8|0,r=f[s+8>>2],(0|s)!=f[r>>2];);}if((0|r)==(0|C))break}r:{if(e=f[a>>2])for(a=p+16|0,s=f[b+8>>2];;){t:{if((0|(r=f[e+16>>2]))>(0|s)){if(r=f[e>>2])break t;a=e;break r}if((0|r)>=(0|s))break r;if(a=e+4|0,!(r=f[e+4>>2]))break r;e=a}a=e,e=r}e=a}(r=f[a>>2])||(r=_t(32),f[r+16>>2]=f[b+8>>2],f[r+20>>2]=f[b+12>>2],s=r+24|0,o=f[b+16>>2],f[s>>2]=o,c=f[b+20>>2],f[r+28>>2]=c,c?(f[o+8>>2]=s,f[b+16>>2]=0,f[b+20>>2]=0,f[b+12>>2]=i):f[r+20>>2]=s,f[r+8>>2]=e,f[r>>2]=0,f[r+4>>2]=0,f[a>>2]=r,(e=f[f[p+12>>2]>>2])?(f[p+12>>2]=e,e=f[a>>2]):e=r,Ce(f[p+16>>2],e),f[p+20>>2]=f[p+20>>2]+1),pt(b+8|4,f[b+16>>2]),pt(w,f[w+4>>2])}if(V=i=(V=p=(V=b+48|0)-48|0)-32|0,(0|(s=(c=i+32|0)-(e=a=i+21|0)|0))<=9&(0|s)<(1-(l[2744]>1)|0)?(f[i+8>>2]=c,e=61):(n[0|e]=49,f[i+8>>2]=e+1,e=0),f[i+12>>2]=e,e=p+8|0,V=o=(V=b=V-16|0)-16|0,(s=(k=f[i+8>>2])-a|0)>>>0<=4294967279){for(s>>>0<=10?(n[e+11|0]=s,i=e):(i=s>>>0>=11?11==(0|(i=(u=s+16&-16)-1|0))?u:i:10,i=_t(u=i+1|0),f[e>>2]=i,f[e+8>>2]=-2147483648|u,f[e+4>>2]=s);(0|a)!=(0|k);)n[0|i]=A[0|a],i=i+1|0,a=a+1|0;n[o+15|0]=0,n[0|i]=A[o+15|0],V=o+16|0}else si(),T();V=b+16|0,V=c,f[p+32>>2]=t;e:{r:{if(e=f[4+(i=r+20|0)>>2])for(o=(a=(r=A[t+11|0])<<24>>24<0)?f[t>>2]:t,s=a?f[t+4>>2]:r,r=i+4|0;;){t:{i:{a:{n:{o:{f:if(k=(b=(a=(c=(a=A[e+27|0])<<24>>24<0)?f[e+20>>2]:a)>>>0<s>>>0)?a:s){if(u=e+16|0,!(u=Rr(o,c=c?f[u>>2]:u,k))){if(a>>>0>s>>>0)break f;break o}if((0|u)>=0)break o}else if(a>>>0<=s>>>0)break n;if(a=f[e>>2])break t;break r}if(a=Rr(c,o,k))break a}if(b)break i;break e}if((0|a)>=0)break e}if(r=e+4|0,!(a=f[e+4>>2]))break e;e=r}r=e,e=a}e=i+4|0}r=e}(a=f[r>>2])?e=0:(o=(a=_t(40))+16|0,s=f[p+32>>2],n[s+11|0]>=0?(c=f[s+4>>2],f[o>>2]=f[s>>2],f[o+4>>2]=c,f[o+8>>2]=f[s+8>>2]):Fr(o,f[s>>2],f[s+4>>2]),f[a+8>>2]=e,f[a>>2]=0,f[a+4>>2]=0,f[a+36>>2]=0,f[a+28>>2]=0,f[a+32>>2]=0,f[r>>2]=a,(e=f[f[i>>2]>>2])?(f[i>>2]=e,e=f[r>>2]):e=a,Ce(f[i+4>>2],e),f[i+8>>2]=f[i+8>>2]+1,e=1),n[p+44|0]=e,f[p+40>>2]=a,e=f[p+40>>2],n[e+39|0]<0&&ee(f[e+28>>2]),r=f[p+12>>2],f[e+28>>2]=f[p+8>>2],f[e+32>>2]=r,f[e+36>>2]=f[p+16>>2],V=p+48|0,n[t+11|0]<0&&ee(f[t>>2]),V=t+16|0},hb:function(e,r){e|=0;var t,i,a=0,o=0;o=8+(i=V-32|0)|0,V=t=(V=i)-80|0,e=f[36+(r|=0)>>2],f[t+72>>2]=f[r+32>>2],f[t+76>>2]=e,a=f[r+28>>2],f[(e=t- -64|0)>>2]=f[r+24>>2],f[e+4>>2]=a,e=f[r+20>>2],f[t+56>>2]=f[r+16>>2],f[t+60>>2]=e,e=f[r+12>>2],f[t+48>>2]=f[r+8>>2],f[t+52>>2]=e,e=f[r+4>>2],f[t+40>>2]=f[r>>2],f[t+44>>2]=e,z(t+8|0,t+40|0,t+24|0);e:if(e=f[t+8>>2]){if(f[o>>2]=e,e=o+4|0,n[t+23|0]>=0){o=f[4+(r=t+8|4)>>2],f[e>>2]=f[r>>2],f[e+4>>2]=o,f[e+8>>2]=f[r+8>>2];break e}if(Fr(e,f[t+12>>2],f[t+16>>2]),n[t+23|0]>=0)break e;ee(f[t+12>>2])}else n[t+23|0]<0&&ee(f[t+12>>2]),(e=A[t+31|0])>>>0>=2?(e=_t(32),r=A[1619]|A[1620]<<8,n[e+24|0]=r,n[e+25|0]=r>>>8,r=A[1615]|A[1616]<<8|A[1617]<<16|A[1618]<<24,a=A[1611]|A[1612]<<8|A[1613]<<16|A[1614]<<24,n[e+16|0]=a,n[e+17|0]=a>>>8,n[e+18|0]=a>>>16,n[e+19|0]=a>>>24,n[e+20|0]=r,n[e+21|0]=r>>>8,n[e+22|0]=r>>>16,n[e+23|0]=r>>>24,r=A[1607]|A[1608]<<8|A[1609]<<16|A[1610]<<24,a=A[1603]|A[1604]<<8|A[1605]<<16|A[1606]<<24,n[e+8|0]=a,n[e+9|0]=a>>>8,n[e+10|0]=a>>>16,n[e+11|0]=a>>>24,n[e+12|0]=r,n[e+13|0]=r>>>8,n[e+14|0]=r>>>16,n[e+15|0]=r>>>24,r=A[1599]|A[1600]<<8|A[1601]<<16|A[1602]<<24,a=A[1595]|A[1596]<<8|A[1597]<<16|A[1598]<<24,n[0|e]=a,n[e+1|0]=a>>>8,n[e+2|0]=a>>>16,n[e+3|0]=a>>>24,n[e+4|0]=r,n[e+5|0]=r>>>8,n[e+6|0]=r>>>16,n[e+7|0]=r>>>24,n[e+26|0]=0,f[t+8>>2]=-1,Fr(r=t+8|4,e,26),a=n[t+23|0],f[o>>2]=f[t+8>>2],o=o+4|0,(0|a)>=0?(a=f[r+4>>2],f[o>>2]=f[r>>2],f[o+4>>2]=a,f[o+8>>2]=f[r+8>>2]):Fr(o,f[t+12>>2],f[t+16>>2]),n[t+23|0]<0&&ee(f[t+12>>2]),ee(e)):(f[o>>2]=0,f[o+4>>2]=0,f[o+16>>2]=e,f[o+8>>2]=0,f[o+12>>2]=0);return V=t+80|0,e=f[i+24>>2],n[i+23|0]<0&&ee(f[i+12>>2]),V=i+32|0,0|e},ib:function(e,r,t){e|=0,r|=0,t|=0;var i,a=0,o=0;V=r=V-16|0,xe(r),f[e+24>>2]=f[r>>2];e:if((0|(i=e+24|0))!=(0|r))if(t=4|r,a=(o=A[r+15|0])<<24>>24,n[11+(e=e+28|0)|0]>=0){if((0|a)>=0){a=f[t+4>>2],f[e>>2]=f[t>>2],f[e+4>>2]=a,f[e+8>>2]=f[t+8>>2];break e}it(e,f[r+4>>2],f[r+8>>2])}else zr(e,(e=(0|a)<0)?f[r+4>>2]:t,e?f[r+8>>2]:o);return n[r+15|0]<0&&ee(f[r+4>>2]),V=r+16|0,0|i},jb:function(e,r,t){var i,a,o=0;V=i=V-16|0,I(i,e|=0,r|=0,t|=0),f[e+24>>2]=f[i>>2];e:if((0|(a=e+24|0))!=(0|i))if(r=4|i,t=(o=A[i+15|0])<<24>>24,n[11+(e=e+28|0)|0]>=0){if((0|t)>=0){t=f[r+4>>2],f[e>>2]=f[r>>2],f[e+4>>2]=t,f[e+8>>2]=f[r+8>>2];break e}it(e,f[i+4>>2],f[i+8>>2])}else zr(e,(e=(0|t)<0)?f[i+4>>2]:r,e?f[i+8>>2]:o);return n[i+15|0]<0&&ee(f[i+4>>2]),V=i+16|0,0|a},kb:function(e){(e|=0)&&(n[e+39|0]<0&&ee(f[e+28>>2]),Et(e+12|0,f[e+16>>2]),pt(e,f[e+4>>2]),ee(e))},lb:Ai,mb:ui,nb:bi,ob:ki,pb:Ai,qb:ui,rb:bi,sb:ki,tb:_i,ub:pi,vb:Ai,wb:ui,xb:bi,yb:ui,zb:bi,Ab:ki,Bb:_i,Cb:pi,Db:function(){return 5},Eb:function(){return 6},Fb:function(){return 7},Gb:function(){return 8},Hb:function(){return 9},Ib:function(){return 10},Jb:function(){return 11},Kb:function(){return 12},Lb:ui,Mb:Ai,Nb:function(){return-2},Ob:function(){return-3},Pb:function(){return-4},Qb:function(){return-5},Rb:U,Sb:ee}}(e)}(ae)},instantiate:function(e,r){return{then:function(r){var t=new w.Module(e);r({instance:new w.Instance(t)})}}},RuntimeError:Error};y=[],"object"!=typeof w&&Y("no native wasm support detected");var T=!1;function C(e,r){e||Y("Assertion failed: "+r)}var E,N,G,R,V="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function D(e,r){return e?function(e,r,t){for(var i=r+t,a=r;e[a]&&!(a>=i);)++a;if(a-r>16&&e.subarray&&V)return V.decode(e.subarray(r,a));for(var n="";r<a;){var o=e[r++];if(128&o){var f=63&e[r++];if(192!=(224&o)){var s=63&e[r++];if((o=224==(240&o)?(15&o)<<12|f<<6|s:(7&o)<<18|f<<12|s<<6|63&e[r++])<65536)n+=String.fromCharCode(o);else{var c=o-65536;n+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else n+=String.fromCharCode((31&o)<<6|f)}else n+=String.fromCharCode(o)}return n}(G,e,r):""}function M(e){E=e,n.HEAP8=N=new Int8Array(e),n.HEAP16=new Int16Array(e),n.HEAP32=R=new Int32Array(e),n.HEAPU8=G=new Uint8Array(e),n.HEAPU16=new Uint16Array(e),n.HEAPU32=new Uint32Array(e),n.HEAPF32=new Float32Array(e),n.HEAPF64=new Float64Array(e)}var U,I=n.INITIAL_MEMORY||16777216;(g=n.wasmMemory?n.wasmMemory:new w.Memory({initial:I/65536,maximum:32768}))&&(E=g.buffer),I=E.byteLength,M(E);var B=[],Z=[],W=[],F=!1;function x(e){Z.unshift(e)}var S=0,j=null,O=null;function Y(e){n.onAbort&&n.onAbort(e),v(e="Aborted("+e+")"),T=!0,e+=". Build with -s ASSERTIONS=1 for more info.";var r=new w.RuntimeError(e);throw a(r),r}n.preloadedImages={},n.preloadedAudios={};var J,Q,P="data:application/octet-stream;base64,";function z(e){return e.startsWith(P)}function L(e){return e.startsWith("file://")}function X(e){try{if(e==J&&y)return new Uint8Array(y);var r=te(e);if(r)return r;if(l)return l(e);throw"both async and sync fetching of the wasm failed"}catch(e){Y(e)}}function H(e){for(;e.length>0;){var r=e.shift();if("function"!=typeof r){var t=r.func;"number"==typeof t?void 0===r.arg?K(t)():K(t)(r.arg):t(void 0===r.arg?null:r.arg)}else r(n)}}z(J="draco_decoder_gltf.wasm")||(Q=J,J=n.locateFile?n.locateFile(Q,h):h+Q);var q=[];function K(e){var r=q[e];return r||(e>=q.length&&(q.length=e+1),q[e]=r=U.get(e)),r}function $(e){this.excPtr=e,this.ptr=e-16,this.set_type=function(e){R[this.ptr+4>>2]=e},this.get_type=function(){return R[this.ptr+4>>2]},this.set_destructor=function(e){R[this.ptr+8>>2]=e},this.get_destructor=function(){return R[this.ptr+8>>2]},this.set_refcount=function(e){R[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,N[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=N[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,N[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=N[this.ptr+13>>0]},this.init=function(e,r){this.set_type(e),this.set_destructor(r),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=R[this.ptr>>2];R[this.ptr>>2]=e+1},this.release_ref=function(){var e=R[this.ptr>>2];return R[this.ptr>>2]=e-1,1===e}}function ee(e){try{return g.grow(e-E.byteLength+65535>>>16),M(g.buffer),1}catch(e){}}var re="function"==typeof atob?atob:function(e){var r,t,i,a,n,o,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s="",c=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{r=f.indexOf(e.charAt(c++))<<2|(a=f.indexOf(e.charAt(c++)))>>4,t=(15&a)<<4|(n=f.indexOf(e.charAt(c++)))>>2,i=(3&n)<<6|(o=f.indexOf(e.charAt(c++))),s+=String.fromCharCode(r),64!==n&&(s+=String.fromCharCode(t)),64!==o&&(s+=String.fromCharCode(i))}while(c<e.length);return s};function te(e){if(z(e))return function(e){if("boolean"==typeof m&&m){var r=Buffer.from(e,"base64");return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}try{for(var t=re(e),i=new Uint8Array(t.length),a=0;a<t.length;++a)i[a]=t.charCodeAt(a);return i}catch(e){throw new Error("Converting base64 string to bytes failed.")}}(e.slice(P.length))}var ie,ae={f:function(e){return St(e+16)+16},e:function(e,r,t){throw new $(e).init(r,t),e},b:function(){Y("")},c:function(e,r,t){G.copyWithin(e,r,r+t)},d:function(e){var r,t=G.length,i=2147483648;if((e>>>=0)>i)return!1;for(var a=1;a<=4;a*=2){var n=t*(1+.2/a);if(n=Math.min(n,e+100663296),ee(Math.min(i,((r=Math.max(e,n))%65536>0&&(r+=65536-r%65536),r))))return!0}return!1},a:g},ne=(function(){var e={a:ae};function r(e,r){var t=e.exports;n.asm=t,U=n.asm.h,x(n.asm.g),function(e){if(S--,n.monitorRunDependencies&&n.monitorRunDependencies(S),0==S&&(null!==j&&(clearInterval(j),j=null),O)){var r=O;O=null,r()}}()}function t(e){r(e.instance)}function i(r){return function(){if(!y&&(k||d)){if("function"==typeof fetch&&!L(J))return fetch(J,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+J+"'";return e.arrayBuffer()})).catch((function(){return X(J)}));if(b)return new Promise((function(e,r){b(J,(function(r){e(new Uint8Array(r))}),r)}))}return Promise.resolve().then((function(){return X(J)}))}().then((function(r){return w.instantiate(r,e)})).then((function(e){return e})).then(r,(function(e){v("failed to asynchronously prepare wasm: "+e),Y(e)}))}if(S++,n.monitorRunDependencies&&n.monitorRunDependencies(S),n.instantiateWasm)try{return n.instantiateWasm(e,r)}catch(e){return v("Module.instantiateWasm callback failed with error: "+e),!1}(y||"function"!=typeof w.instantiateStreaming||z(J)||L(J)||"function"!=typeof fetch?i(t):fetch(J,{credentials:"same-origin"}).then((function(r){return w.instantiateStreaming(r,e).then(t,(function(e){return v("wasm streaming compile failed: "+e),v("falling back to ArrayBuffer instantiation"),i(t)}))}))).catch(a)}(),n.___wasm_call_ctors=function(){return(n.___wasm_call_ctors=n.asm.g).apply(null,arguments)},n._emscripten_bind_VoidPtr___destroy___0=function(){return(ne=n._emscripten_bind_VoidPtr___destroy___0=n.asm.i).apply(null,arguments)}),oe=n._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return(oe=n._emscripten_bind_DecoderBuffer_DecoderBuffer_0=n.asm.j).apply(null,arguments)},fe=n._emscripten_bind_DecoderBuffer_Init_2=function(){return(fe=n._emscripten_bind_DecoderBuffer_Init_2=n.asm.k).apply(null,arguments)},se=n._emscripten_bind_DecoderBuffer___destroy___0=function(){return(se=n._emscripten_bind_DecoderBuffer___destroy___0=n.asm.l).apply(null,arguments)},ce=n._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return(ce=n._emscripten_bind_AttributeTransformData_AttributeTransformData_0=n.asm.m).apply(null,arguments)},Ae=n._emscripten_bind_AttributeTransformData_transform_type_0=function(){return(Ae=n._emscripten_bind_AttributeTransformData_transform_type_0=n.asm.n).apply(null,arguments)},be=n._emscripten_bind_AttributeTransformData___destroy___0=function(){return(be=n._emscripten_bind_AttributeTransformData___destroy___0=n.asm.o).apply(null,arguments)},le=n._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return(le=n._emscripten_bind_GeometryAttribute_GeometryAttribute_0=n.asm.p).apply(null,arguments)},ue=n._emscripten_bind_GeometryAttribute___destroy___0=function(){return(ue=n._emscripten_bind_GeometryAttribute___destroy___0=n.asm.q).apply(null,arguments)},_e=n._emscripten_bind_PointAttribute_PointAttribute_0=function(){return(_e=n._emscripten_bind_PointAttribute_PointAttribute_0=n.asm.r).apply(null,arguments)},pe=n._emscripten_bind_PointAttribute_size_0=function(){return(pe=n._emscripten_bind_PointAttribute_size_0=n.asm.s).apply(null,arguments)},ke=n._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return(ke=n._emscripten_bind_PointAttribute_GetAttributeTransformData_0=n.asm.t).apply(null,arguments)},de=n._emscripten_bind_PointAttribute_attribute_type_0=function(){return(de=n._emscripten_bind_PointAttribute_attribute_type_0=n.asm.u).apply(null,arguments)},me=n._emscripten_bind_PointAttribute_data_type_0=function(){return(me=n._emscripten_bind_PointAttribute_data_type_0=n.asm.v).apply(null,arguments)},he=n._emscripten_bind_PointAttribute_num_components_0=function(){return(he=n._emscripten_bind_PointAttribute_num_components_0=n.asm.w).apply(null,arguments)},ye=n._emscripten_bind_PointAttribute_normalized_0=function(){return(ye=n._emscripten_bind_PointAttribute_normalized_0=n.asm.x).apply(null,arguments)},ve=n._emscripten_bind_PointAttribute_byte_stride_0=function(){return(ve=n._emscripten_bind_PointAttribute_byte_stride_0=n.asm.y).apply(null,arguments)},ge=n._emscripten_bind_PointAttribute_byte_offset_0=function(){return(ge=n._emscripten_bind_PointAttribute_byte_offset_0=n.asm.z).apply(null,arguments)},we=n._emscripten_bind_PointAttribute_unique_id_0=function(){return(we=n._emscripten_bind_PointAttribute_unique_id_0=n.asm.A).apply(null,arguments)},Te=n._emscripten_bind_PointAttribute___destroy___0=function(){return(Te=n._emscripten_bind_PointAttribute___destroy___0=n.asm.B).apply(null,arguments)},Ce=n._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return(Ce=n._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=n.asm.C).apply(null,arguments)},Ee=n._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return(Ee=n._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=n.asm.D).apply(null,arguments)},Ne=n._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return(Ne=n._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=n.asm.E).apply(null,arguments)},Ge=n._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return(Ge=n._emscripten_bind_AttributeQuantizationTransform_min_value_1=n.asm.F).apply(null,arguments)},Re=n._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return(Re=n._emscripten_bind_AttributeQuantizationTransform_range_0=n.asm.G).apply(null,arguments)},Ve=n._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return(Ve=n._emscripten_bind_AttributeQuantizationTransform___destroy___0=n.asm.H).apply(null,arguments)},De=n._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return(De=n._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=n.asm.I).apply(null,arguments)},Me=n._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return(Me=n._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=n.asm.J).apply(null,arguments)},Ue=n._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return(Ue=n._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=n.asm.K).apply(null,arguments)},Ie=n._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return(Ie=n._emscripten_bind_AttributeOctahedronTransform___destroy___0=n.asm.L).apply(null,arguments)},Be=n._emscripten_bind_PointCloud_PointCloud_0=function(){return(Be=n._emscripten_bind_PointCloud_PointCloud_0=n.asm.M).apply(null,arguments)},Ze=n._emscripten_bind_PointCloud_num_attributes_0=function(){return(Ze=n._emscripten_bind_PointCloud_num_attributes_0=n.asm.N).apply(null,arguments)},We=n._emscripten_bind_PointCloud_num_points_0=function(){return(We=n._emscripten_bind_PointCloud_num_points_0=n.asm.O).apply(null,arguments)},Fe=n._emscripten_bind_PointCloud___destroy___0=function(){return(Fe=n._emscripten_bind_PointCloud___destroy___0=n.asm.P).apply(null,arguments)},xe=n._emscripten_bind_Mesh_Mesh_0=function(){return(xe=n._emscripten_bind_Mesh_Mesh_0=n.asm.Q).apply(null,arguments)},Se=n._emscripten_bind_Mesh_num_faces_0=function(){return(Se=n._emscripten_bind_Mesh_num_faces_0=n.asm.R).apply(null,arguments)},je=n._emscripten_bind_Mesh_num_attributes_0=function(){return(je=n._emscripten_bind_Mesh_num_attributes_0=n.asm.S).apply(null,arguments)},Oe=n._emscripten_bind_Mesh_num_points_0=function(){return(Oe=n._emscripten_bind_Mesh_num_points_0=n.asm.T).apply(null,arguments)},Ye=n._emscripten_bind_Mesh___destroy___0=function(){return(Ye=n._emscripten_bind_Mesh___destroy___0=n.asm.U).apply(null,arguments)},Je=n._emscripten_bind_Metadata_Metadata_0=function(){return(Je=n._emscripten_bind_Metadata_Metadata_0=n.asm.V).apply(null,arguments)},Qe=n._emscripten_bind_Metadata___destroy___0=function(){return(Qe=n._emscripten_bind_Metadata___destroy___0=n.asm.W).apply(null,arguments)},Pe=n._emscripten_bind_Status_code_0=function(){return(Pe=n._emscripten_bind_Status_code_0=n.asm.X).apply(null,arguments)},ze=n._emscripten_bind_Status_ok_0=function(){return(ze=n._emscripten_bind_Status_ok_0=n.asm.Y).apply(null,arguments)},Le=n._emscripten_bind_Status_error_msg_0=function(){return(Le=n._emscripten_bind_Status_error_msg_0=n.asm.Z).apply(null,arguments)},Xe=n._emscripten_bind_Status___destroy___0=function(){return(Xe=n._emscripten_bind_Status___destroy___0=n.asm._).apply(null,arguments)},He=n._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return(He=n._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=n.asm.$).apply(null,arguments)},qe=n._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return(qe=n._emscripten_bind_DracoFloat32Array_GetValue_1=n.asm.aa).apply(null,arguments)},Ke=n._emscripten_bind_DracoFloat32Array_size_0=function(){return(Ke=n._emscripten_bind_DracoFloat32Array_size_0=n.asm.ba).apply(null,arguments)},$e=n._emscripten_bind_DracoFloat32Array___destroy___0=function(){return($e=n._emscripten_bind_DracoFloat32Array___destroy___0=n.asm.ca).apply(null,arguments)},er=n._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return(er=n._emscripten_bind_DracoInt8Array_DracoInt8Array_0=n.asm.da).apply(null,arguments)},rr=n._emscripten_bind_DracoInt8Array_GetValue_1=function(){return(rr=n._emscripten_bind_DracoInt8Array_GetValue_1=n.asm.ea).apply(null,arguments)},tr=n._emscripten_bind_DracoInt8Array_size_0=function(){return(tr=n._emscripten_bind_DracoInt8Array_size_0=n.asm.fa).apply(null,arguments)},ir=n._emscripten_bind_DracoInt8Array___destroy___0=function(){return(ir=n._emscripten_bind_DracoInt8Array___destroy___0=n.asm.ga).apply(null,arguments)},ar=n._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return(ar=n._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=n.asm.ha).apply(null,arguments)},nr=n._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return(nr=n._emscripten_bind_DracoUInt8Array_GetValue_1=n.asm.ia).apply(null,arguments)},or=n._emscripten_bind_DracoUInt8Array_size_0=function(){return(or=n._emscripten_bind_DracoUInt8Array_size_0=n.asm.ja).apply(null,arguments)},fr=n._emscripten_bind_DracoUInt8Array___destroy___0=function(){return(fr=n._emscripten_bind_DracoUInt8Array___destroy___0=n.asm.ka).apply(null,arguments)},sr=n._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return(sr=n._emscripten_bind_DracoInt16Array_DracoInt16Array_0=n.asm.la).apply(null,arguments)},cr=n._emscripten_bind_DracoInt16Array_GetValue_1=function(){return(cr=n._emscripten_bind_DracoInt16Array_GetValue_1=n.asm.ma).apply(null,arguments)},Ar=n._emscripten_bind_DracoInt16Array_size_0=function(){return(Ar=n._emscripten_bind_DracoInt16Array_size_0=n.asm.na).apply(null,arguments)},br=n._emscripten_bind_DracoInt16Array___destroy___0=function(){return(br=n._emscripten_bind_DracoInt16Array___destroy___0=n.asm.oa).apply(null,arguments)},lr=n._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return(lr=n._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=n.asm.pa).apply(null,arguments)},ur=n._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return(ur=n._emscripten_bind_DracoUInt16Array_GetValue_1=n.asm.qa).apply(null,arguments)},_r=n._emscripten_bind_DracoUInt16Array_size_0=function(){return(_r=n._emscripten_bind_DracoUInt16Array_size_0=n.asm.ra).apply(null,arguments)},pr=n._emscripten_bind_DracoUInt16Array___destroy___0=function(){return(pr=n._emscripten_bind_DracoUInt16Array___destroy___0=n.asm.sa).apply(null,arguments)},kr=n._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return(kr=n._emscripten_bind_DracoInt32Array_DracoInt32Array_0=n.asm.ta).apply(null,arguments)},dr=n._emscripten_bind_DracoInt32Array_GetValue_1=function(){return(dr=n._emscripten_bind_DracoInt32Array_GetValue_1=n.asm.ua).apply(null,arguments)},mr=n._emscripten_bind_DracoInt32Array_size_0=function(){return(mr=n._emscripten_bind_DracoInt32Array_size_0=n.asm.va).apply(null,arguments)},hr=n._emscripten_bind_DracoInt32Array___destroy___0=function(){return(hr=n._emscripten_bind_DracoInt32Array___destroy___0=n.asm.wa).apply(null,arguments)},yr=n._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return(yr=n._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=n.asm.xa).apply(null,arguments)},vr=n._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return(vr=n._emscripten_bind_DracoUInt32Array_GetValue_1=n.asm.ya).apply(null,arguments)},gr=n._emscripten_bind_DracoUInt32Array_size_0=function(){return(gr=n._emscripten_bind_DracoUInt32Array_size_0=n.asm.za).apply(null,arguments)},wr=n._emscripten_bind_DracoUInt32Array___destroy___0=function(){return(wr=n._emscripten_bind_DracoUInt32Array___destroy___0=n.asm.Aa).apply(null,arguments)},Tr=n._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return(Tr=n._emscripten_bind_MetadataQuerier_MetadataQuerier_0=n.asm.Ba).apply(null,arguments)},Cr=n._emscripten_bind_MetadataQuerier_HasEntry_2=function(){return(Cr=n._emscripten_bind_MetadataQuerier_HasEntry_2=n.asm.Ca).apply(null,arguments)},Er=n._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return(Er=n._emscripten_bind_MetadataQuerier_GetIntEntry_2=n.asm.Da).apply(null,arguments)},Nr=n._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=function(){return(Nr=n._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=n.asm.Ea).apply(null,arguments)},Gr=n._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return(Gr=n._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=n.asm.Fa).apply(null,arguments)},Rr=n._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return(Rr=n._emscripten_bind_MetadataQuerier_GetStringEntry_2=n.asm.Ga).apply(null,arguments)},Vr=n._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return(Vr=n._emscripten_bind_MetadataQuerier_NumEntries_1=n.asm.Ha).apply(null,arguments)},Dr=n._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return(Dr=n._emscripten_bind_MetadataQuerier_GetEntryName_2=n.asm.Ia).apply(null,arguments)},Mr=n._emscripten_bind_MetadataQuerier___destroy___0=function(){return(Mr=n._emscripten_bind_MetadataQuerier___destroy___0=n.asm.Ja).apply(null,arguments)},Ur=n._emscripten_bind_Decoder_Decoder_0=function(){return(Ur=n._emscripten_bind_Decoder_Decoder_0=n.asm.Ka).apply(null,arguments)},Ir=n._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=function(){return(Ir=n._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=n.asm.La).apply(null,arguments)},Br=n._emscripten_bind_Decoder_DecodeArrayToMesh_3=function(){return(Br=n._emscripten_bind_Decoder_DecodeArrayToMesh_3=n.asm.Ma).apply(null,arguments)},Zr=n._emscripten_bind_Decoder_GetAttributeId_2=function(){return(Zr=n._emscripten_bind_Decoder_GetAttributeId_2=n.asm.Na).apply(null,arguments)},Wr=n._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return(Wr=n._emscripten_bind_Decoder_GetAttributeIdByName_2=n.asm.Oa).apply(null,arguments)},Fr=n._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return(Fr=n._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=n.asm.Pa).apply(null,arguments)},xr=n._emscripten_bind_Decoder_GetAttribute_2=function(){return(xr=n._emscripten_bind_Decoder_GetAttribute_2=n.asm.Qa).apply(null,arguments)},Sr=n._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return(Sr=n._emscripten_bind_Decoder_GetAttributeByUniqueId_2=n.asm.Ra).apply(null,arguments)},jr=n._emscripten_bind_Decoder_GetMetadata_1=function(){return(jr=n._emscripten_bind_Decoder_GetMetadata_1=n.asm.Sa).apply(null,arguments)},Or=n._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return(Or=n._emscripten_bind_Decoder_GetAttributeMetadata_2=n.asm.Ta).apply(null,arguments)},Yr=n._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return(Yr=n._emscripten_bind_Decoder_GetFaceFromMesh_3=n.asm.Ua).apply(null,arguments)},Jr=n._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return(Jr=n._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=n.asm.Va).apply(null,arguments)},Qr=n._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=function(){return(Qr=n._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=n.asm.Wa).apply(null,arguments)},Pr=n._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=function(){return(Pr=n._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=n.asm.Xa).apply(null,arguments)},zr=n._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return(zr=n._emscripten_bind_Decoder_GetAttributeFloat_3=n.asm.Ya).apply(null,arguments)},Lr=n._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return(Lr=n._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=n.asm.Za).apply(null,arguments)},Xr=n._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return(Xr=n._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=n.asm._a).apply(null,arguments)},Hr=n._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return(Hr=n._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=n.asm.$a).apply(null,arguments)},qr=n._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return(qr=n._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=n.asm.ab).apply(null,arguments)},Kr=n._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return(Kr=n._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=n.asm.bb).apply(null,arguments)},$r=n._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return($r=n._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=n.asm.cb).apply(null,arguments)},et=n._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return(et=n._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=n.asm.db).apply(null,arguments)},rt=n._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return(rt=n._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=n.asm.eb).apply(null,arguments)},tt=n._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=function(){return(tt=n._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=n.asm.fb).apply(null,arguments)},it=n._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return(it=n._emscripten_bind_Decoder_SkipAttributeTransform_1=n.asm.gb).apply(null,arguments)},at=n._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=function(){return(at=n._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=n.asm.hb).apply(null,arguments)},nt=n._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return(nt=n._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=n.asm.ib).apply(null,arguments)},ot=n._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return(ot=n._emscripten_bind_Decoder_DecodeBufferToMesh_2=n.asm.jb).apply(null,arguments)},ft=n._emscripten_bind_Decoder___destroy___0=function(){return(ft=n._emscripten_bind_Decoder___destroy___0=n.asm.kb).apply(null,arguments)},st=n._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return(st=n._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=n.asm.lb).apply(null,arguments)},ct=n._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return(ct=n._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=n.asm.mb).apply(null,arguments)},At=n._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return(At=n._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=n.asm.nb).apply(null,arguments)},bt=n._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return(bt=n._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=n.asm.ob).apply(null,arguments)},lt=n._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return(lt=n._emscripten_enum_draco_GeometryAttribute_Type_INVALID=n.asm.pb).apply(null,arguments)},ut=n._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return(ut=n._emscripten_enum_draco_GeometryAttribute_Type_POSITION=n.asm.qb).apply(null,arguments)},_t=n._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return(_t=n._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=n.asm.rb).apply(null,arguments)},pt=n._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return(pt=n._emscripten_enum_draco_GeometryAttribute_Type_COLOR=n.asm.sb).apply(null,arguments)},kt=n._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return(kt=n._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=n.asm.tb).apply(null,arguments)},dt=n._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return(dt=n._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=n.asm.ub).apply(null,arguments)},mt=n._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return(mt=n._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=n.asm.vb).apply(null,arguments)},ht=n._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return(ht=n._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=n.asm.wb).apply(null,arguments)},yt=n._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return(yt=n._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=n.asm.xb).apply(null,arguments)},vt=n._emscripten_enum_draco_DataType_DT_INVALID=function(){return(vt=n._emscripten_enum_draco_DataType_DT_INVALID=n.asm.yb).apply(null,arguments)},gt=n._emscripten_enum_draco_DataType_DT_INT8=function(){return(gt=n._emscripten_enum_draco_DataType_DT_INT8=n.asm.zb).apply(null,arguments)},wt=n._emscripten_enum_draco_DataType_DT_UINT8=function(){return(wt=n._emscripten_enum_draco_DataType_DT_UINT8=n.asm.Ab).apply(null,arguments)},Tt=n._emscripten_enum_draco_DataType_DT_INT16=function(){return(Tt=n._emscripten_enum_draco_DataType_DT_INT16=n.asm.Bb).apply(null,arguments)},Ct=n._emscripten_enum_draco_DataType_DT_UINT16=function(){return(Ct=n._emscripten_enum_draco_DataType_DT_UINT16=n.asm.Cb).apply(null,arguments)},Et=n._emscripten_enum_draco_DataType_DT_INT32=function(){return(Et=n._emscripten_enum_draco_DataType_DT_INT32=n.asm.Db).apply(null,arguments)},Nt=n._emscripten_enum_draco_DataType_DT_UINT32=function(){return(Nt=n._emscripten_enum_draco_DataType_DT_UINT32=n.asm.Eb).apply(null,arguments)},Gt=n._emscripten_enum_draco_DataType_DT_INT64=function(){return(Gt=n._emscripten_enum_draco_DataType_DT_INT64=n.asm.Fb).apply(null,arguments)},Rt=n._emscripten_enum_draco_DataType_DT_UINT64=function(){return(Rt=n._emscripten_enum_draco_DataType_DT_UINT64=n.asm.Gb).apply(null,arguments)},Vt=n._emscripten_enum_draco_DataType_DT_FLOAT32=function(){return(Vt=n._emscripten_enum_draco_DataType_DT_FLOAT32=n.asm.Hb).apply(null,arguments)},Dt=n._emscripten_enum_draco_DataType_DT_FLOAT64=function(){return(Dt=n._emscripten_enum_draco_DataType_DT_FLOAT64=n.asm.Ib).apply(null,arguments)},Mt=n._emscripten_enum_draco_DataType_DT_BOOL=function(){return(Mt=n._emscripten_enum_draco_DataType_DT_BOOL=n.asm.Jb).apply(null,arguments)},Ut=n._emscripten_enum_draco_DataType_DT_TYPES_COUNT=function(){return(Ut=n._emscripten_enum_draco_DataType_DT_TYPES_COUNT=n.asm.Kb).apply(null,arguments)},It=n._emscripten_enum_draco_StatusCode_OK=function(){return(It=n._emscripten_enum_draco_StatusCode_OK=n.asm.Lb).apply(null,arguments)},Bt=n._emscripten_enum_draco_StatusCode_DRACO_ERROR=function(){return(Bt=n._emscripten_enum_draco_StatusCode_DRACO_ERROR=n.asm.Mb).apply(null,arguments)},Zt=n._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return(Zt=n._emscripten_enum_draco_StatusCode_IO_ERROR=n.asm.Nb).apply(null,arguments)},Wt=n._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return(Wt=n._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=n.asm.Ob).apply(null,arguments)},Ft=n._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return(Ft=n._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=n.asm.Pb).apply(null,arguments)},xt=n._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return(xt=n._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=n.asm.Qb).apply(null,arguments)},St=n._malloc=function(){return(St=n._malloc=n.asm.Rb).apply(null,arguments)};function jt(e){function t(){ie||(ie=!0,n.calledRun=!0,T||(F=!0,H(Z),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)e=n.postRun.shift(),W.unshift(e);var e;H(W)}()))}e=e||p,S>0||(function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)e=n.preRun.shift(),B.unshift(e);var e;H(B)}(),S>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),t()}),1)):t()))}if(n._free=function(){return(n._free=n.asm.Sb).apply(null,arguments)},O=function e(){ie||jt(),ie||(O=e)},n.run=jt,n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();function Ot(){}function Yt(e){return(e||Ot).__cache__}function Jt(e,r){var t=Yt(r),i=t[e];return i||((i=Object.create((r||Ot).prototype)).ptr=e,t[e]=i)}jt(),Ot.prototype=Object.create(Ot.prototype),Ot.prototype.constructor=Ot,Ot.prototype.__class__=Ot,Ot.__cache__={},n.WrapperObject=Ot,n.getCache=Yt,n.wrapPointer=Jt,n.castObject=function(e,r){return Jt(e.ptr,r)},n.NULL=Jt(0),n.destroy=function(e){if(!e.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";e.__destroy__(),delete Yt(e.__class__)[e.ptr]},n.compare=function(e,r){return e.ptr===r.ptr},n.getPointer=function(e){return e.ptr},n.getClass=function(e){return e.__class__};var Qt={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(Qt.needed){for(var e=0;e<Qt.temps.length;e++)n._free(Qt.temps[e]);Qt.temps.length=0,n._free(Qt.buffer),Qt.buffer=0,Qt.size+=Qt.needed,Qt.needed=0}Qt.buffer||(Qt.size+=128,Qt.buffer=n._malloc(Qt.size),C(Qt.buffer)),Qt.pos=0},alloc:function(e,r){C(Qt.buffer);var t,i=r.BYTES_PER_ELEMENT,a=e.length*i;return a=a+7&-8,Qt.pos+a>=Qt.size?(C(a>0),Qt.needed+=a,t=n._malloc(a),Qt.temps.push(t)):(t=Qt.buffer+Qt.pos,Qt.pos+=a),t},copy:function(e,r,t){switch(t>>>=0,r.BYTES_PER_ELEMENT){case 2:t>>>=1;break;case 4:t>>>=2;break;case 8:t>>>=3}for(var i=0;i<e.length;i++)r[t+i]=e[i]}};function Pt(e){if("string"==typeof e){var r=(a=function(e){for(var r=0,t=0;t<e.length;++t){var i=e.charCodeAt(t);i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++t)),i<=127?++r:r+=i<=2047?2:i<=65535?3:4}return r}(i=e)+1,function(e,r,t,i){if(!(i>0))return 0;for(var a=t,n=t+i-1,o=0;o<e.length;++o){var f=e.charCodeAt(o);if(f>=55296&&f<=57343&&(f=65536+((1023&f)<<10)|1023&e.charCodeAt(++o)),f<=127){if(t>=n)break;r[t++]=f}else if(f<=2047){if(t+1>=n)break;r[t++]=192|f>>6,r[t++]=128|63&f}else if(f<=65535){if(t+2>=n)break;r[t++]=224|f>>12,r[t++]=128|f>>6&63,r[t++]=128|63&f}else{if(t+3>=n)break;r[t++]=240|f>>18,r[t++]=128|f>>12&63,r[t++]=128|f>>6&63,r[t++]=128|63&f}}return r[t]=0,t-a}(i,n=new Array(a),0,n.length),n),t=Qt.alloc(r,N);return Qt.copy(r,N,t),t}var i,a,n;return e}function zt(e){if("object"==typeof e){var r=Qt.alloc(e,N);return Qt.copy(e,N,r),r}return e}function Lt(){throw"cannot construct a VoidPtr, no constructor in IDL"}function Xt(){this.ptr=oe(),Yt(Xt)[this.ptr]=this}function Ht(){this.ptr=ce(),Yt(Ht)[this.ptr]=this}function qt(){this.ptr=le(),Yt(qt)[this.ptr]=this}function Kt(){this.ptr=_e(),Yt(Kt)[this.ptr]=this}function $t(){this.ptr=Ce(),Yt($t)[this.ptr]=this}function ei(){this.ptr=De(),Yt(ei)[this.ptr]=this}function ri(){this.ptr=Be(),Yt(ri)[this.ptr]=this}function ti(){this.ptr=xe(),Yt(ti)[this.ptr]=this}function ii(){this.ptr=Je(),Yt(ii)[this.ptr]=this}function ai(){throw"cannot construct a Status, no constructor in IDL"}function ni(){this.ptr=He(),Yt(ni)[this.ptr]=this}function oi(){this.ptr=er(),Yt(oi)[this.ptr]=this}function fi(){this.ptr=ar(),Yt(fi)[this.ptr]=this}function si(){this.ptr=sr(),Yt(si)[this.ptr]=this}function ci(){this.ptr=lr(),Yt(ci)[this.ptr]=this}function Ai(){this.ptr=kr(),Yt(Ai)[this.ptr]=this}function bi(){this.ptr=yr(),Yt(bi)[this.ptr]=this}function li(){this.ptr=Tr(),Yt(li)[this.ptr]=this}function ui(){this.ptr=Ur(),Yt(ui)[this.ptr]=this}return Lt.prototype=Object.create(Ot.prototype),Lt.prototype.constructor=Lt,Lt.prototype.__class__=Lt,Lt.__cache__={},n.VoidPtr=Lt,Lt.prototype.__destroy__=Lt.prototype.__destroy__=function(){var e=this.ptr;ne(e)},Xt.prototype=Object.create(Ot.prototype),Xt.prototype.constructor=Xt,Xt.prototype.__class__=Xt,Xt.__cache__={},n.DecoderBuffer=Xt,Xt.prototype.Init=Xt.prototype.Init=function(e,r){var t=this.ptr;Qt.prepare(),"object"==typeof e&&(e=zt(e)),r&&"object"==typeof r&&(r=r.ptr),fe(t,e,r)},Xt.prototype.__destroy__=Xt.prototype.__destroy__=function(){var e=this.ptr;se(e)},Ht.prototype=Object.create(Ot.prototype),Ht.prototype.constructor=Ht,Ht.prototype.__class__=Ht,Ht.__cache__={},n.AttributeTransformData=Ht,Ht.prototype.transform_type=Ht.prototype.transform_type=function(){var e=this.ptr;return Ae(e)},Ht.prototype.__destroy__=Ht.prototype.__destroy__=function(){var e=this.ptr;be(e)},qt.prototype=Object.create(Ot.prototype),qt.prototype.constructor=qt,qt.prototype.__class__=qt,qt.__cache__={},n.GeometryAttribute=qt,qt.prototype.__destroy__=qt.prototype.__destroy__=function(){var e=this.ptr;ue(e)},Kt.prototype=Object.create(Ot.prototype),Kt.prototype.constructor=Kt,Kt.prototype.__class__=Kt,Kt.__cache__={},n.PointAttribute=Kt,Kt.prototype.size=Kt.prototype.size=function(){var e=this.ptr;return pe(e)},Kt.prototype.GetAttributeTransformData=Kt.prototype.GetAttributeTransformData=function(){var e=this.ptr;return Jt(ke(e),Ht)},Kt.prototype.attribute_type=Kt.prototype.attribute_type=function(){var e=this.ptr;return de(e)},Kt.prototype.data_type=Kt.prototype.data_type=function(){var e=this.ptr;return me(e)},Kt.prototype.num_components=Kt.prototype.num_components=function(){var e=this.ptr;return he(e)},Kt.prototype.normalized=Kt.prototype.normalized=function(){var e=this.ptr;return!!ye(e)},Kt.prototype.byte_stride=Kt.prototype.byte_stride=function(){var e=this.ptr;return ve(e)},Kt.prototype.byte_offset=Kt.prototype.byte_offset=function(){var e=this.ptr;return ge(e)},Kt.prototype.unique_id=Kt.prototype.unique_id=function(){var e=this.ptr;return we(e)},Kt.prototype.__destroy__=Kt.prototype.__destroy__=function(){var e=this.ptr;Te(e)},$t.prototype=Object.create(Ot.prototype),$t.prototype.constructor=$t,$t.prototype.__class__=$t,$t.__cache__={},n.AttributeQuantizationTransform=$t,$t.prototype.InitFromAttribute=$t.prototype.InitFromAttribute=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),!!Ee(r,e)},$t.prototype.quantization_bits=$t.prototype.quantization_bits=function(){var e=this.ptr;return Ne(e)},$t.prototype.min_value=$t.prototype.min_value=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Ge(r,e)},$t.prototype.range=$t.prototype.range=function(){var e=this.ptr;return Re(e)},$t.prototype.__destroy__=$t.prototype.__destroy__=function(){var e=this.ptr;Ve(e)},ei.prototype=Object.create(Ot.prototype),ei.prototype.constructor=ei,ei.prototype.__class__=ei,ei.__cache__={},n.AttributeOctahedronTransform=ei,ei.prototype.InitFromAttribute=ei.prototype.InitFromAttribute=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),!!Me(r,e)},ei.prototype.quantization_bits=ei.prototype.quantization_bits=function(){var e=this.ptr;return Ue(e)},ei.prototype.__destroy__=ei.prototype.__destroy__=function(){var e=this.ptr;Ie(e)},ri.prototype=Object.create(Ot.prototype),ri.prototype.constructor=ri,ri.prototype.__class__=ri,ri.__cache__={},n.PointCloud=ri,ri.prototype.num_attributes=ri.prototype.num_attributes=function(){var e=this.ptr;return Ze(e)},ri.prototype.num_points=ri.prototype.num_points=function(){var e=this.ptr;return We(e)},ri.prototype.__destroy__=ri.prototype.__destroy__=function(){var e=this.ptr;Fe(e)},ti.prototype=Object.create(Ot.prototype),ti.prototype.constructor=ti,ti.prototype.__class__=ti,ti.__cache__={},n.Mesh=ti,ti.prototype.num_faces=ti.prototype.num_faces=function(){var e=this.ptr;return Se(e)},ti.prototype.num_attributes=ti.prototype.num_attributes=function(){var e=this.ptr;return je(e)},ti.prototype.num_points=ti.prototype.num_points=function(){var e=this.ptr;return Oe(e)},ti.prototype.__destroy__=ti.prototype.__destroy__=function(){var e=this.ptr;Ye(e)},ii.prototype=Object.create(Ot.prototype),ii.prototype.constructor=ii,ii.prototype.__class__=ii,ii.__cache__={},n.Metadata=ii,ii.prototype.__destroy__=ii.prototype.__destroy__=function(){var e=this.ptr;Qe(e)},ai.prototype=Object.create(Ot.prototype),ai.prototype.constructor=ai,ai.prototype.__class__=ai,ai.__cache__={},n.Status=ai,ai.prototype.code=ai.prototype.code=function(){var e=this.ptr;return Pe(e)},ai.prototype.ok=ai.prototype.ok=function(){var e=this.ptr;return!!ze(e)},ai.prototype.error_msg=ai.prototype.error_msg=function(){var e=this.ptr;return D(Le(e))},ai.prototype.__destroy__=ai.prototype.__destroy__=function(){var e=this.ptr;Xe(e)},ni.prototype=Object.create(Ot.prototype),ni.prototype.constructor=ni,ni.prototype.__class__=ni,ni.__cache__={},n.DracoFloat32Array=ni,ni.prototype.GetValue=ni.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),qe(r,e)},ni.prototype.size=ni.prototype.size=function(){var e=this.ptr;return Ke(e)},ni.prototype.__destroy__=ni.prototype.__destroy__=function(){var e=this.ptr;$e(e)},oi.prototype=Object.create(Ot.prototype),oi.prototype.constructor=oi,oi.prototype.__class__=oi,oi.__cache__={},n.DracoInt8Array=oi,oi.prototype.GetValue=oi.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),rr(r,e)},oi.prototype.size=oi.prototype.size=function(){var e=this.ptr;return tr(e)},oi.prototype.__destroy__=oi.prototype.__destroy__=function(){var e=this.ptr;ir(e)},fi.prototype=Object.create(Ot.prototype),fi.prototype.constructor=fi,fi.prototype.__class__=fi,fi.__cache__={},n.DracoUInt8Array=fi,fi.prototype.GetValue=fi.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),nr(r,e)},fi.prototype.size=fi.prototype.size=function(){var e=this.ptr;return or(e)},fi.prototype.__destroy__=fi.prototype.__destroy__=function(){var e=this.ptr;fr(e)},si.prototype=Object.create(Ot.prototype),si.prototype.constructor=si,si.prototype.__class__=si,si.__cache__={},n.DracoInt16Array=si,si.prototype.GetValue=si.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),cr(r,e)},si.prototype.size=si.prototype.size=function(){var e=this.ptr;return Ar(e)},si.prototype.__destroy__=si.prototype.__destroy__=function(){var e=this.ptr;br(e)},ci.prototype=Object.create(Ot.prototype),ci.prototype.constructor=ci,ci.prototype.__class__=ci,ci.__cache__={},n.DracoUInt16Array=ci,ci.prototype.GetValue=ci.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),ur(r,e)},ci.prototype.size=ci.prototype.size=function(){var e=this.ptr;return _r(e)},ci.prototype.__destroy__=ci.prototype.__destroy__=function(){var e=this.ptr;pr(e)},Ai.prototype=Object.create(Ot.prototype),Ai.prototype.constructor=Ai,Ai.prototype.__class__=Ai,Ai.__cache__={},n.DracoInt32Array=Ai,Ai.prototype.GetValue=Ai.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),dr(r,e)},Ai.prototype.size=Ai.prototype.size=function(){var e=this.ptr;return mr(e)},Ai.prototype.__destroy__=Ai.prototype.__destroy__=function(){var e=this.ptr;hr(e)},bi.prototype=Object.create(Ot.prototype),bi.prototype.constructor=bi,bi.prototype.__class__=bi,bi.__cache__={},n.DracoUInt32Array=bi,bi.prototype.GetValue=bi.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),vr(r,e)},bi.prototype.size=bi.prototype.size=function(){var e=this.ptr;return gr(e)},bi.prototype.__destroy__=bi.prototype.__destroy__=function(){var e=this.ptr;wr(e)},li.prototype=Object.create(Ot.prototype),li.prototype.constructor=li,li.prototype.__class__=li,li.__cache__={},n.MetadataQuerier=li,li.prototype.HasEntry=li.prototype.HasEntry=function(e,r){var t=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:Pt(r),!!Cr(t,e,r)},li.prototype.GetIntEntry=li.prototype.GetIntEntry=function(e,r){var t=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:Pt(r),Er(t,e,r)},li.prototype.GetIntEntryArray=li.prototype.GetIntEntryArray=function(e,r,t){var i=this.ptr;Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:Pt(r),t&&"object"==typeof t&&(t=t.ptr),Nr(i,e,r,t)},li.prototype.GetDoubleEntry=li.prototype.GetDoubleEntry=function(e,r){var t=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:Pt(r),Gr(t,e,r)},li.prototype.GetStringEntry=li.prototype.GetStringEntry=function(e,r){var t=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:Pt(r),D(Rr(t,e,r))},li.prototype.NumEntries=li.prototype.NumEntries=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Vr(r,e)},li.prototype.GetEntryName=li.prototype.GetEntryName=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),D(Dr(t,e,r))},li.prototype.__destroy__=li.prototype.__destroy__=function(){var e=this.ptr;Mr(e)},ui.prototype=Object.create(Ot.prototype),ui.prototype.constructor=ui,ui.prototype.__class__=ui,ui.__cache__={},n.Decoder=ui,ui.prototype.DecodeArrayToPointCloud=ui.prototype.DecodeArrayToPointCloud=function(e,r,t){var i=this.ptr;return Qt.prepare(),"object"==typeof e&&(e=zt(e)),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),Jt(Ir(i,e,r,t),ai)},ui.prototype.DecodeArrayToMesh=ui.prototype.DecodeArrayToMesh=function(e,r,t){var i=this.ptr;return Qt.prepare(),"object"==typeof e&&(e=zt(e)),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),Jt(Br(i,e,r,t),ai)},ui.prototype.GetAttributeId=ui.prototype.GetAttributeId=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Zr(t,e,r)},ui.prototype.GetAttributeIdByName=ui.prototype.GetAttributeIdByName=function(e,r){var t=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:Pt(r),Wr(t,e,r)},ui.prototype.GetAttributeIdByMetadataEntry=ui.prototype.GetAttributeIdByMetadataEntry=function(e,r,t){var i=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:Pt(r),t=t&&"object"==typeof t?t.ptr:Pt(t),Fr(i,e,r,t)},ui.prototype.GetAttribute=ui.prototype.GetAttribute=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jt(xr(t,e,r),Kt)},ui.prototype.GetAttributeByUniqueId=ui.prototype.GetAttributeByUniqueId=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jt(Sr(t,e,r),Kt)},ui.prototype.GetMetadata=ui.prototype.GetMetadata=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Jt(jr(r,e),ii)},ui.prototype.GetAttributeMetadata=ui.prototype.GetAttributeMetadata=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jt(Or(t,e,r),ii)},ui.prototype.GetFaceFromMesh=ui.prototype.GetFaceFromMesh=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Yr(i,e,r,t)},ui.prototype.GetTriangleStripsFromMesh=ui.prototype.GetTriangleStripsFromMesh=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jr(t,e,r)},ui.prototype.GetTrianglesUInt16Array=ui.prototype.GetTrianglesUInt16Array=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Qr(i,e,r,t)},ui.prototype.GetTrianglesUInt32Array=ui.prototype.GetTrianglesUInt32Array=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Pr(i,e,r,t)},ui.prototype.GetAttributeFloat=ui.prototype.GetAttributeFloat=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!zr(i,e,r,t)},ui.prototype.GetAttributeFloatForAllPoints=ui.prototype.GetAttributeFloatForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Lr(i,e,r,t)},ui.prototype.GetAttributeIntForAllPoints=ui.prototype.GetAttributeIntForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Xr(i,e,r,t)},ui.prototype.GetAttributeInt8ForAllPoints=ui.prototype.GetAttributeInt8ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Hr(i,e,r,t)},ui.prototype.GetAttributeUInt8ForAllPoints=ui.prototype.GetAttributeUInt8ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!qr(i,e,r,t)},ui.prototype.GetAttributeInt16ForAllPoints=ui.prototype.GetAttributeInt16ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Kr(i,e,r,t)},ui.prototype.GetAttributeUInt16ForAllPoints=ui.prototype.GetAttributeUInt16ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!$r(i,e,r,t)},ui.prototype.GetAttributeInt32ForAllPoints=ui.prototype.GetAttributeInt32ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!et(i,e,r,t)},ui.prototype.GetAttributeUInt32ForAllPoints=ui.prototype.GetAttributeUInt32ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!rt(i,e,r,t)},ui.prototype.GetAttributeDataArrayForAllPoints=ui.prototype.GetAttributeDataArrayForAllPoints=function(e,r,t,i,a){var n=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),i&&"object"==typeof i&&(i=i.ptr),a&&"object"==typeof a&&(a=a.ptr),!!tt(n,e,r,t,i,a)},ui.prototype.SkipAttributeTransform=ui.prototype.SkipAttributeTransform=function(e){var r=this.ptr;e&&"object"==typeof e&&(e=e.ptr),it(r,e)},ui.prototype.GetEncodedGeometryType_Deprecated=ui.prototype.GetEncodedGeometryType_Deprecated=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),at(r,e)},ui.prototype.DecodeBufferToPointCloud=ui.prototype.DecodeBufferToPointCloud=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jt(nt(t,e,r),ai)},ui.prototype.DecodeBufferToMesh=ui.prototype.DecodeBufferToMesh=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jt(ot(t,e,r),ai)},ui.prototype.__destroy__=ui.prototype.__destroy__=function(){var e=this.ptr;ft(e)},function(){function e(){n.ATTRIBUTE_INVALID_TRANSFORM=st(),n.ATTRIBUTE_NO_TRANSFORM=ct(),n.ATTRIBUTE_QUANTIZATION_TRANSFORM=At(),n.ATTRIBUTE_OCTAHEDRON_TRANSFORM=bt(),n.INVALID=lt(),n.POSITION=ut(),n.NORMAL=_t(),n.COLOR=pt(),n.TEX_COORD=kt(),n.GENERIC=dt(),n.INVALID_GEOMETRY_TYPE=mt(),n.POINT_CLOUD=ht(),n.TRIANGULAR_MESH=yt(),n.DT_INVALID=vt(),n.DT_INT8=gt(),n.DT_UINT8=wt(),n.DT_INT16=Tt(),n.DT_UINT16=Ct(),n.DT_INT32=Et(),n.DT_UINT32=Nt(),n.DT_INT64=Gt(),n.DT_UINT64=Rt(),n.DT_FLOAT32=Vt(),n.DT_FLOAT64=Dt(),n.DT_BOOL=Mt(),n.DT_TYPES_COUNT=Ut(),n.OK=It(),n.DRACO_ERROR=Bt(),n.IO_ERROR=Zt(),n.INVALID_PARAMETER=Wt(),n.UNSUPPORTED_VERSION=Ft(),n.UNKNOWN_VERSION=xt()}F?e():x(e)}(),"function"==typeof n.onModuleParsed&&n.onModuleParsed(),n.Decoder.prototype.GetEncodedGeometryType=function(e){if(e.__class__&&e.__class__===n.DecoderBuffer)return n.Decoder.prototype.GetEncodedGeometryType_Deprecated(e);if(e.byteLength<8)return n.INVALID_GEOMETRY_TYPE;switch(e[7]){case 0:return n.POINT_CLOUD;case 1:return n.TRIANGULAR_MESH;default:return n.INVALID_GEOMETRY_TYPE}},e.ready});e.exports=a},501:()=>{}},r={};function t(i){var a=r[i];if(void 0!==a)return a.exports;var n=r[i]={exports:{}};return e[i](n,n.exports,t),n.exports}t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},t.d=(e,r)=>{for(var i in r)t.o(r,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:r[i]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.p="https://apps-cdn.cogniteapp.com/@cognite/reveal-parser-worker/1.3.0/";var i={};return(()=>{"use strict";t.r(i),t.d(i,{AxisViewTool:()=>J,BingMapImageFormat:()=>K,BingMapType:()=>q,Cognite3DViewerToolBase:()=>d,Corner:()=>x,DebugCameraTool:()=>D,DebugLoadedSectorsTool:()=>Te,ExplodedViewTool:()=>V,GeomapTool:()=>fe,HereMapImageFormat:()=>re,HereMapScheme:()=>ee,HereMapType:()=>$,HtmlOverlayTool:()=>G,Keyframe:()=>se,MapProviders:()=>P,MapboxImageFormat:()=>H,MapboxMode:()=>z,MapboxStyle:()=>L,MeasurementTool:()=>De,TimelineTool:()=>ce});const e=require("three");class r{static color(e){const t=r._colors.get(e);if(void 0!==t)return t;const i=r.generateRandomColor();return r._colors.set(e,i),i}static colorRGB(e){const t=r.color(e);return[Math.floor(255*t.r),Math.floor(255*t.g),Math.floor(255*t.b)]}static colorCSS(e){const[t,i,a]=r.colorRGB(e);return`rgb(${t}, ${i}, ${a})`}static generateRandomColor(){const r=Math.random(),t=.4+.6*Math.random(),i=.3+.4*Math.random();return(new e.Color).setHSL(r,t,i)}}r._colors=new Map;class a{constructor(){this._listeners=[]}subscribe(e){this._listeners.push(e)}unsubscribe(e){const r=this._listeners.indexOf(e);-1!==r&&this._listeners.splice(r,1)}unsubscribeAll(){this._listeners.splice(0)}fire(...e){this._listeners.forEach((r=>r(...e)))}}function n(e,r){const t=r.getBoundingClientRect();if(e instanceof MouseEvent)return{offsetX:e.clientX-t.left,offsetY:e.clientY-t.top};if(e.changedTouches.length>0){const r=e.changedTouches[0];return{offsetX:r.clientX-t.left,offsetY:r.clientY-t.top}}return{offsetX:-1,offsetY:-1}}const o=require("lodash/debounce");var f=t.n(o);function s(e,r){throw new Error(r||"Unexpected object: "+e)}class c{constructor(e){this._events={click:new a,hover:new a},this.onHoverCallback=f()((e=>{this._events.hover.fire(n(e,this.domElement))}),100),this.domElement=e,this.setupEventListeners()}on(e,r){switch(e){case"click":this._events.click.subscribe(r);break;case"hover":this._events.hover.subscribe(r);break;default:s(e)}}off(e,r){switch(e){case"click":this._events.click.unsubscribe(r);break;case"hover":this._events.hover.unsubscribe(r);break;default:s(e)}}dispose(){!function(e){for(const r of Object.keys(e))e[r].unsubscribeAll()}(this._events)}setupEventListeners(){const{domElement:r}=this;let t=!1,i=0,a=!1;const o=new e.Vector2,f=e=>{this.handleClickEvent(e,o,t,a,i),t=!1,a=!1,r.removeEventListener("mouseup",f),r.removeEventListener("touchend",f),r.addEventListener("mousemove",this.onHoverCallback)},s=e=>{t=!0,a=!0,i=e.timeStamp;const{offsetX:s,offsetY:c}=n(e,r);o.set(s,c),r.addEventListener("mouseup",f),r.addEventListener("touchend",f),r.removeEventListener("mousemove",this.onHoverCallback)};r.addEventListener("mousedown",s),r.addEventListener("touchstart",s),r.addEventListener("mousemove",this.onHoverCallback)}isProperClick(e,r,t,i,a){const{offsetX:o,offsetY:f}=n(e,this.domElement),s=e.timeStamp-a,A=Math.abs(o-r.x)+Math.abs(f-r.y)>c.maxMoveDistance;return t&&i&&s<c.maxClickDuration&&!A}handleClickEvent(e,r,t,i,a){if(this.isProperClick(e,r,t,i,a)){const r={...n(e,this.domElement),button:e instanceof MouseEvent?e.button:void 0};this._events.click.fire(r)}}}c.maxMoveDistance=8,c.maxClickDuration=250,Math.log(2);const A=require("assert");var b=t.n(A);new e.BufferGeometry,e.Group,new e.Vector3,new e.Box3,e.Object3D,new e.Vector3;class l{constructor(e){this._originalState={},this._renderer=e,this._originalState={}}setScissor(r,t,i,a){const n=this._renderer.getScissor(new e.Vector4);this._originalState={scissorData:n,...this._originalState},this._renderer.setScissor(r,t,i,a)}setScissorTest(e){this._originalState={scissorTest:this._renderer.getScissorTest(),...this._originalState},this._renderer.setScissorTest(e)}setClearColor(r,t){this._originalState={clearColor:this._renderer.getClearColor(new e.Color),clearAlpha:this._renderer.getClearAlpha(),...this._originalState},this._renderer.setClearColor(r,t)}setWebGLState(e,r=l.DefaultWebGLState){var t,i,a,n,o,f,s;if(this._originalState={webGLState:{buffers:(null==e?void 0:e.buffers)?{}:void 0},...this._originalState},null===(t=null==e?void 0:e.buffers)||void 0===t?void 0:t.depth){const t=null===(i=e.buffers.depth)||void 0===i?void 0:i.test,c=null===(a=e.buffers.depth)||void 0===a?void 0:a.mask;this._originalState.webGLState.buffers.depth={test:void 0!==t?null===(o=null===(n=r.buffers)||void 0===n?void 0:n.depth)||void 0===o?void 0:o.test:void 0,mask:void 0!==c?null===(s=null===(f=r.buffers)||void 0===f?void 0:f.depth)||void 0===s?void 0:s.mask:void 0},void 0!==c&&this._renderer.state.buffers.depth.setMask(c),void 0!==t&&this._renderer.state.buffers.depth.setTest(t)}}setSize(r,t){this._originalState={size:this._renderer.getSize(new e.Vector2),...this._originalState},this._renderer.setSize(r,t)}set localClippingEnabled(e){this._originalState={localClippingEnabled:this._renderer.localClippingEnabled,...this._originalState},this._renderer.localClippingEnabled=e}set autoClear(e){this._originalState={autoClear:this._renderer.autoClear,...this._originalState},this._renderer.autoClear=e}set autoClearDepth(e){this._originalState={autoClearDepth:this._renderer.autoClearDepth,...this._originalState},this._renderer.autoClearDepth=e}setRenderTarget(e){this._originalState={renderTarget:this._renderer.getRenderTarget(),...this._originalState},this._renderer.setRenderTarget(e)}resetState(){var e,r,t,i;if(void 0!==this._originalState.autoClear&&(this._renderer.autoClear=this._originalState.autoClear),void 0!==this._originalState.autoClearDepth&&(this._renderer.autoClearDepth=this._originalState.autoClearDepth),void 0!==this._originalState.clearColor&&this._renderer.setClearColor(this._originalState.clearColor,this._originalState.clearAlpha),void 0!==this._originalState.localClippingEnabled&&(this._renderer.localClippingEnabled=this._originalState.localClippingEnabled),void 0!==this._originalState.size&&this._renderer.setSize(this._originalState.size.width,this._originalState.size.height),void 0!==this._originalState.renderTarget&&this._renderer.setRenderTarget(this._originalState.renderTarget),void 0!==this._originalState.scissorData&&this._renderer.setScissor(this._originalState.scissorData),void 0!==this._originalState.scissorTest&&this._renderer.setScissorTest(this._originalState.scissorTest),void 0!==this._originalState.webGLState&&(this._renderer.state.reset(),null===(r=null===(e=this._originalState.webGLState)||void 0===e?void 0:e.buffers)||void 0===r?void 0:r.depth)){const e=null===(t=this._originalState.webGLState.buffers.depth)||void 0===t?void 0:t.test,r=null===(i=this._originalState.webGLState.buffers.depth)||void 0===i?void 0:i.mask;void 0!==r&&this._renderer.state.buffers.depth.setMask(r),void 0!==e&&this._renderer.state.buffers.depth.setTest(e)}this._originalState={}}}l.DefaultWebGLState={buffers:{depth:{mask:!0,test:!0}}},require("comlink");const u=require("loglevel");class _{constructor(e){this._value=e,this._lastAccessTime=Date.now()}get value(){return this.touch(),this._value}get lastAccessTime(){return this._lastAccessTime}touch(){this._lastAccessTime=Date.now()}}class p{constructor(e=50,r,t=10){this._data=new Map,this._maxElementsInCache=e,this._defaultCleanupCount=Math.max(t,1),this._removeCallback=r}has(e){return this._data.has(e)}forceInsert(e,r){this.isFull()&&this.cleanCache(this._defaultCleanupCount),this.insert(e,r)}insert(e,r){if(this._data.size<this._maxElementsInCache)this._data.set(e,new _(r));else if(this._maxElementsInCache>0)throw new Error("Cache full, please clean Cache and retry adding data")}remove(e){if(void 0!==this._removeCallback){const r=this._data.get(e);void 0!==r&&this._removeCallback(r.value)}this._data.delete(e)}get(e){const r=this._data.get(e);if(void 0!==r)return r.value;throw new Error(`Cache element ${e} does not exist`)}isFull(){return this._data.size>=this._maxElementsInCache}cleanCache(e){const r=Array.from(this._data.entries());r.sort(((e,r)=>r[1].lastAccessTime-e[1].lastAccessTime));for(let t=0;t<e;t++){const e=r.pop();if(void 0===e)return;this.remove(e[0])}}resize(e){this._maxElementsInCache=e,this._defaultCleanupCount=Math.max(e*p.CLEANUP_COUNT_TO_CAPACITY_RATIO,1),this.isFull()&&this.cleanCache(this._data.size-this._maxElementsInCache)}clear(){if(void 0!==this._removeCallback)for(const e of this._data.values())this._removeCallback(e.value);this._data.clear()}}p.CLEANUP_COUNT_TO_CAPACITY_RATIO=.2,require("lodash/chunk"),require("lodash/map");const k={renderSize:new e.Vector2,position:new e.Vector3};Symbol.toStringTag,require("lodash/remove");class d{constructor(){this._disposedEvent=new a,this._disposed=!1}on(e,r){"disposed"===e?this._disposedEvent.subscribe(r):s(e)}off(e,r){"disposed"===e?this._disposedEvent.unsubscribe(r):s(e)}dispose(){if(this._disposed)throw new Error("Already disposed");this._disposed=!0,this._disposedEvent.fire(),this._disposedEvent.unsubscribeAll()}ensureNotDisposed(){if(this._disposed)throw new Error("The tool has been disposed")}}const m=require("lodash/range");var h=t.n(m);class y{constructor(e,r){this._removedElements=new Set,this._dimensions=r,this._cells=h()(0,r[0]*r[1]).map((()=>new Array)),this._bounds=e}insert(e,r){if(!this._bounds.intersectsBox(e))throw new Error("Element to be added must be partially inside grid");if(this._removedElements.has(r))throw new Error("Re-adding previously taken elements is currently not supported");for(const t of this.cellsIntersecting(e))t.push({bounds:e,element:r})}*overlappingElements(e){if(!this._bounds.intersectsBox(e))return;const r=new Set;for(const t of this.cellsIntersecting(e))for(const i of t)r.has(i.element)||this._removedElements.has(i.element)||!e.intersectsBox(i.bounds)||(r.add(i.element),yield i.element)}*removeOverlappingElements(e){if(this._bounds.intersectsBox(e))for(const r of this.cellsIntersecting(e))for(let t=0;t<r.length;t++){const i=r[t];!this._removedElements.has(i.element)&&e.intersectsBox(i.bounds)&&(this._removedElements.add(i.element),yield i.element)}}*cellsIntersecting(r){const{min:t,max:i}=this._bounds,a=this._dimensions[0],n=this._dimensions[1],o=(r.min.x-t.x)/(i.x-t.x),f=(r.max.x-t.x)/(i.x-t.x),s=(r.min.y-t.y)/(i.y-t.y),c=(r.max.y-t.y)/(i.y-t.y),A=e.MathUtils.clamp,b=A(Math.floor(a*o),0,a-1),l=A(Math.floor(a*f),0,a-1),u=A(Math.floor(n*s),0,n-1),_=A(Math.floor(n*c),0,n-1);for(let e=u;e<=_;++e)for(let r=b;r<=l;++r)yield this._cells[e*a+r]}}const v=require("mixpanel-browser");var g=t.n(v);const w=require("lodash/throttle");var T=t.n(w);const{VERSION:C,MIXPANEL_TOKEN:E}={VERSION:"3.2.1",WORKER_VERSION:"1.3.0",MIXPANEL_TOKEN:"8c900bdfe458e32b768450c20750853d",IS_DEVELOPMENT_MODE:!1};class N{constructor(e,r,t){g().init(E,{batch_requests:!0,disable_cookie:!0,disable_persistence:!0,ip:!1,property_blacklist:["$city","$region","mp_country_code","$geo_source","$timezone","mp_lib","$lib_version","$device_id","$user_id","$current_url","$screen_width","$screen_height","$referrer","$referring_domain","$initial_referrer","$initial_referring_domain"]}),g().reset(),g().identify("reveal-single-user"),this._sessionProps={VERSION:C,project:"unknown",application:"unknown",sessionId:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const r=16*Math.random()|0;return("x"==e?r:3&r|8).toString(16)}))},e&&(this._sessionProps.project=e),r&&(this._sessionProps.application=r),this.innerTrackEvent("init",t)}static init(e,r,t,i){if(void 0===globalThis.revealMetricsLogger&&e){const e=new N(r,t,i);globalThis.revealMetricsLogger={metricsLogger:e}}}innerTrackEvent(e,r){const t={...this._sessionProps,...r};g().track(e,t)}static trackEvent(e,r){globalThis.revealMetricsLogger&&globalThis.revealMetricsLogger.metricsLogger.innerTrackEvent(e,r)}static trackCreateTool(e){N.trackEvent("toolCreated",{toolName:e})}static trackLoadModel(e,r,t){N.trackEvent("loadModel",{...e,modelIdentifier:r,modelVersion:t})}static trackCadModelStyled(e,r){N.trackEvent("cadModelStyleAssigned",{nodeCollectionClassToken:e,style:r})}static trackCadNodeTransformOverriddenImpl(e,r){const{zeroVector:t,oneVector:i,identityRotation:a,translation:n,scale:o,rotation:f}=N.trackCadNodeTransformOverriddenVars;r.decompose(n,f,o);const s=Math.abs(f.angleTo(a))>1e-5,c=n.distanceToSquared(t)>1e-5,A=o.distanceToSquared(i)>1e-5;N.trackEvent("cadNodeTransformOverridden",{nodeCount:e,hasTranslation:c,hasRotation:s,hasScale:A})}static trackCameraNavigationImpl(e){N.trackEvent("cameraNavigated",e)}static trackError(e,r){u.error(e),void 0!==e?this.trackEvent("error",{message:e.message||e,name:e.name,stack:e.stack,...r}):this.trackEvent("error",{name:"unknown",...r})}}N.TrackCameraNavigationThrottleDelay=5e3,N.TrackCadNodeTransformOverriddenThrottleDelay=1e3,N.trackCadNodeTransformOverriddenVars={zeroVector:new e.Vector3(0,0,0),oneVector:new e.Vector3(1,1,1),identityRotation:(new e.Quaternion).identity(),translation:new e.Vector3,scale:new e.Vector3,rotation:new e.Quaternion},N.trackCadNodeTransformOverridden=T()(((e,r)=>N.trackCadNodeTransformOverriddenImpl(e,r)),N.TrackCadNodeTransformOverriddenThrottleDelay),N.trackCameraNavigation=T()((e=>N.trackCameraNavigationImpl(e)),N.TrackCameraNavigationThrottleDelay);class G extends d{constructor(r,t){super(),this._htmlOverlays=new Map,this._compositeOverlays=[],this._preallocatedVariables={camPos:new e.Vector3,camNormal:new e.Vector3,point:new e.Vector3,nearPlane:new e.Plane,farPlane:new e.Plane,position2D:new e.Vector2},this._onSceneRenderedHandler=this.onSceneRendered.bind(this),this._onViewerDisposedHandler=this.onViewerDisposed.bind(this),this._options=null!=t?t:{},this._viewer=r,this._viewer.on("sceneRendered",this._onSceneRenderedHandler),this._viewer.on("disposed",this._onViewerDisposedHandler),this.scheduleUpdate=f()((()=>this.forceUpdate()),20),this._visible=!0,N.trackCreateTool("HtmlOverlayTool")}get viewerDomElement(){return this._viewer.domElement}get viewerCamera(){return this._viewer.getCamera()}get viewerRenderer(){return this._viewer.renderer}get elements(){return Array.from(this._htmlOverlays.entries()).map((([e,r])=>({element:e,position3D:r.position3D})))}dispose(){this._viewer.off("sceneRendered",this._onSceneRenderedHandler),this._viewer.off("disposed",this._onViewerDisposedHandler),this.clear(),super.dispose()}add(r,t,i={}){if(this.ensureNotDisposed(),this.viewerDomElement.contains(r))throw new Error("Element is already attached to viewer");r.style.visibility="hidden",this.viewerDomElement.appendChild(r);const a=getComputedStyle(r);if("absolute"!==a.position)throw this.viewerDomElement.removeChild(r),new Error(`htmlElement style must have a position of absolute. but was '${a.position}'`);const n={position3D:t,options:i,state:{position2D:new e.Vector2,width:-1,height:-1,visible:!0}};this._htmlOverlays.set(r,n),this.scheduleUpdate()}remove(e){if(this.ensureNotDisposed(),!this.viewerDomElement.contains(e)||!this._htmlOverlays.has(e))throw new Error("Element is not attached to viewer");this.viewerDomElement.removeChild(e),this._htmlOverlays.delete(e)}clear(){const e=Array.from(this._htmlOverlays.keys());for(const r of e)this.remove(r);this.forceUpdate()}visible(e){const r=!0===e?"visible":"hidden";this._visible=e,this._htmlOverlays.forEach(((e,t)=>{t.style.visibility=r})),this._compositeOverlays.forEach((e=>{e.style.visibility=r})),this.forceUpdate()}forceUpdate(){if(!this._visible)return;if(this.ensureNotDisposed(),this.cleanupClusterElements(),0===this._htmlOverlays.size)return;this.updateNewElementSizes();const r=this.viewerCamera,t=this.viewerRenderer,{camPos:i,camNormal:a,point:n,nearPlane:o,farPlane:f,position2D:s}=this._preallocatedVariables;r.getWorldPosition(i),r.getWorldDirection(a),n.copy(i).addScaledVector(a,r.near),o.setFromNormalAndCoplanarPoint(a,n),n.copy(i).addScaledVector(a,r.far),f.setFromNormalAndCoplanarPoint(a,n),this._htmlOverlays.forEach(((a,n)=>{const{position3D:c,options:{positionUpdatedCallback:A,userData:b},state:l}=a,u=o.distanceToPoint(c)>=0&&f.distanceToPoint(c)<=0,{x:_,y:p}=function(r,t,i,a=new e.Vector3){!function(r,t,i=new e.Vector3){const{position:a}=k;a.copy(t),a.project(r);const n=(a.x+1)/2,o=(1-a.y)/2;i.set(n,o,a.z)}(t,i,a);const{renderSize:n}=k;r.getSize(n);const o=r.domElement,{width:f,height:s}=o.getBoundingClientRect();return a.x=Math.round(a.x*f),a.y=Math.round(a.y*s),a}(t,r,c);if(u?(l.position2D.set(_,p),l.visible=!0):l.visible=!1,A){s.set(_,p);const e=i.distanceTo(c);A(n,s,c,e,b)}})),this.clusterElements(),this.commitDOMChanges()}updateNewElementSizes(){this._htmlOverlays.forEach(((e,r)=>{if(-1===e.state.width){const t=r.getBoundingClientRect();e.state.width=t.width,e.state.height=t.height}}))}commitDOMChanges(){const e=this.viewerRenderer.domElement,r=e.offsetLeft,t=e.offsetTop;this._htmlOverlays.forEach(((e,i)=>{const{state:a}=e;i.style.left=`${a.position2D.x+r}px`,i.style.top=`${a.position2D.y+t}px`,a.visible&&"visible"!==i.style.visibility?function(e){e.style.visibility="visible",e.style.opacity="1",e.style.transition="opacity 0.2s linear"}(i):a.visible||"hidden"===i.style.visibility||function(e){e.style.visibility="hidden",e.style.opacity="0",e.style.transition="visibility 0s 0.2s, opacity 0.2s linear"}(i)})),this._compositeOverlays.forEach((e=>{this.viewerDomElement.appendChild(e)}))}clusterElements(){const e=this._options.clusteringOptions;void 0!==e&&("overlapInScreenSpace"===e.mode?this.clusterByOverlapInScreenSpace(e.createClusterElementCallback):s(e.mode,`Unsupported clustering mode: '${e.mode}`))}cleanupClusterElements(){this._compositeOverlays.forEach((e=>{this.viewerDomElement.removeChild(e)})),this._compositeOverlays.splice(0)}clusterByOverlapInScreenSpace(r){const t=(i=this.viewerRenderer.domElement.getBoundingClientRect(),(a=null!=a?a:new e.Box2).min.set(i.left,i.top),a.max.set(i.right,i.bottom),a);var i,a;const n=t.getSize(new e.Vector2);t.set(new e.Vector2(0,0),n);const o=new y(t,[10,10]);for(const[e,r]of this._htmlOverlays.entries()){const{state:i}=r,a=R(r);i.visible&&a.intersectsBox(t)&&o.insert(a,{htmlElement:e,...r})}const f=new e.Box2,s=new e.Vector2;for(const e of this._htmlOverlays.values()){const{state:i}=e;if(R(e,f),!i.visible||!f.intersectsBox(t))continue;const a=Array.from(o.removeOverlappingElements(f));if(a.length>1){const e=a.reduce(((e,r)=>e.add(r.state.position2D)),s.set(0,0)).divideScalar(a.length),t=r(a.map((e=>({htmlElement:e.htmlElement,userData:e.options.userData}))));a.forEach((e=>e.state.visible=!1)),this.addComposite(t,e)}}}addComposite(e,r){const t=this.viewerRenderer.domElement;e.style.visibility="visible",e.style.left=`${r.x+t.offsetLeft}px`,e.style.top=`${r.y+t.offsetTop}px`,this._compositeOverlays.push(e)}onSceneRendered(){this.forceUpdate()}onViewerDisposed(){this.dispose()}}function R(r,t){const{state:i}=r;return(t=null!=t?t:new e.Box2).min.set(i.position2D.x,i.position2D.y),t.max.set(i.position2D.x+i.width,i.position2D.y+i.height),t}class V extends d{constructor(e,r){super(),this._cadModel=r,this._rootTreeIndex=e,this.preloadBoundingBoxData(r,e),N.trackCreateTool("ExplodedViewTool")}get readyPromise(){return this._treeBoundingBoxdata.then()}async expand(e){const r=await this._treeBoundingBoxdata;await Promise.all(r.map((({treeIndex:r,direction:t,transform:i})=>0===e?(this._cadModel.resetNodeTransformByTreeIndex(r),Promise.resolve(0)):(i.setPosition(t.x*e,t.y*e,t.z*e),this._cadModel.setNodeTransformByTreeIndex(r,i)))))}reset(){this._cadModel.resetNodeTransformByTreeIndex(this._rootTreeIndex,!0)}preloadBoundingBoxData(r,t){const i=r.getBoundingBoxByTreeIndex(t).then((r=>r.getCenter(new e.Vector3))),a=r.getSubtreeTreeIndices(t).then((e=>{if(e.count>1e3)throw new Error(`Subtree size of ${e.count} is too large (max size = 1000)`);return e})).then((t=>Promise.all(t.toArray().map((async t=>({subTreeIndex:t,subTreeIndexBoundingBoxCenter:(await r.getBoundingBoxByTreeIndex(t)).getCenter(new e.Vector3)}))))));this._treeBoundingBoxdata=Promise.all([i,a]).then((r=>{const[t,i]=r;return i.map((({subTreeIndex:r,subTreeIndexBoundingBoxCenter:i})=>({treeIndex:r,direction:(new e.Vector3).subVectors(i,t),transform:new e.Matrix4})))})).then((async e=>(await Promise.all(e.map((e=>r.setNodeTransformByTreeIndex(e.treeIndex,e.transform)))),e)))}}class D extends d{constructor(e){super(),this._onViewerDisposedHandler=this.onViewerDisposed.bind(this),this._viewer=e,this._viewer.on("disposed",this._onViewerDisposedHandler)}get viewerCamera(){return this._viewer.getCamera()}dispose(){this._viewer.off("disposed",this._onViewerDisposedHandler),super.dispose()}showCameraHelper(){this.hideCameraHelper(),this._cameraHelper=new e.CameraHelper(this.viewerCamera.clone()),this._viewer.addObject3D(this._cameraHelper)}hideCameraHelper(){void 0!==this._cameraHelper&&(this._viewer.removeObject3D(this._cameraHelper),this._cameraHelper=void 0)}onViewerDisposed(){this.dispose()}}const M=require("lodash/cloneDeep");var U=t.n(M);const I=require("lodash/merge");var B=t.n(I);const Z=require("@tweenjs/tween.js");var W=t.n(Z);const F=require("glslify");var x,S=t.n(F);!function(e){e[e.TopRight=0]="TopRight",e[e.TopLeft=1]="TopLeft",e[e.BottomLeft=2]="BottomLeft",e[e.BottomRight=3]="BottomRight"}(x||(x={}));const j={ringLabel:"N",labelDelta:Math.PI,fontSize:void 0,fontColor:new e.Color(16711680),tickColor:new e.Color(9737364)},O={label:"",fontSize:void 0,fontColor:new e.Color(3355443),outlineSize:void 0,outlineColor:new e.Color(3355443),faceColor:new e.Color(9737364)},Y={size:128,position:{corner:x.BottomRight,padding:new e.Vector2},animationSpeed:200,faces:{xPositiveFace:{...O,label:"Right"},xNegativeFace:{...O,label:"Left"},yPositiveFace:{...O,label:"Up"},yNegativeFace:{...O,label:"Down"},zPositiveFace:{...O,label:"Front"},zNegativeFace:{...O,label:"Back"}},compass:j};class J extends d{constructor(r,t){super(),this._dynamicUpdatePosition=()=>{},this._updateClickDiv=()=>{},this._screenPosition=new e.Vector2,this._boxFaceGeometry=new e.PlaneGeometry(.9,.9,1,1),this._raycaster=new e.Raycaster,this._raycaster.layers.enableAll(),this._viewer=r,this._layoutConfig=B()(U()(Y),t),this._axisGroup=new e.Group,this._axisGroup.name="Axis View Tool",this._axisGroup.renderOrder=1,this._interactiveObjects=this.createAxisCross(this._axisGroup),[this._updateClickDiv,this._disposeClickDiv]=this.createClickDiv(r),this.addAxisBoxToViewer(this._axisGroup,this._layoutConfig.position),N.trackCreateTool("AxisViewTool")}dispose(){super.dispose(),this._viewer.removeObject3D(this._axisGroup),this._disposeClickDiv()}createClickDiv(e){if(null===e.domElement.querySelector("canvas"))throw new Error("Could not find canvas");const r=document.createElement("div");return r.style.position="absolute",r.style.height=`${this._layoutConfig.size}px`,r.style.width=`${this._layoutConfig.size}px`,r.style.zIndex="1",r.addEventListener("mousedown",(e=>{e.stopPropagation()})),r.addEventListener("contextmenu",(e=>e.preventDefault())),r.addEventListener("mouseup",(r=>{const t=e.domElement.getBoundingClientRect(),i=r.clientX-t.left,a=r.clientY-t.top;this.handleClick(i,a,t),r.stopPropagation()})),e.domElement.appendChild(r),[()=>{r.style.left=`${this._screenPosition.x}px`,r.style.bottom=`${this._screenPosition.y}px`},()=>{e.domElement.removeChild(r)}]}addAxisBoxToViewer(e,r){const t=this._layoutConfig.size;if(function(e){return void 0!==e.xAbsolute&&void 0!==e.yAbsolute}(r))this._screenPosition.x=r.xAbsolute,this._screenPosition.y=r.yAbsolute;else{switch(r.corner){case x.BottomRight:this._screenPosition.y=r.padding.y,this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-r.padding.x-t};break;case x.TopRight:this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-r.padding.x-t,this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-r.padding.y-t};break;case x.TopLeft:this._screenPosition.x=r.padding.x,this._dynamicUpdatePosition=()=>{this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-r.padding.y-t};break;case x.BottomLeft:this._screenPosition.x=r.padding.x,this._screenPosition.y=r.padding.y;break;default:throw new Error(`Unknown corner position for Axis Cross: Corner = ${r.corner}`)}this._dynamicUpdatePosition()}this._viewer.addObject3D(e)}handleClick(r,t,i){const a=2*(r-this._screenPosition.x)/this._layoutConfig.size-1,n=2*(i.height-t-this._screenPosition.y)/this._layoutConfig.size-1,o=new e.Vector3(a,n,1),f=new e.Vector3(0,0,-1).normalize();this._raycaster.set(o,f);const s=this._raycaster.intersectObjects(this._interactiveObjects);if(!(s.length>0))return!1;const c=s[0].object.position.clone().normalize(),A=s[0].object.userData.upVector.clone();return this.moveCameraTo(c,A),!0}createAxisCross(e){const r=this.createCompass();e.add(r);const t=this.createBoxFaces();return e.add(...t),this.setupTransformOnRender(e),t}setupTransformOnRender(r){r.children[0].onBeforeRender=t=>{this._dynamicUpdatePosition(),r.quaternion.copy(this._viewer.getCamera().quaternion).invert(),r.updateMatrixWorld(),this._updateClickDiv();const i=t.domElement.clientWidth,a=t.domElement.clientHeight,n=new e.Vector2;t.getSize(n);const o=this._layoutConfig.size,f=new e.Vector2(o/i,o/a),s=new e.Vector2(this._screenPosition.x/i*2+o/i,this._screenPosition.y/a*2+o/a);r.traverse((r=>{r instanceof e.Mesh&&(r.material.uniforms.offset.value=s,r.material.uniforms.scale.value=f,r.material.uniformsNeedUpdate=!0)}))}}createBoxFaces(){const r=this._layoutConfig.faces;return[this.createBoxFace(new e.Vector3(1,0,0),r.xPositiveFace),this.createBoxFace(new e.Vector3(-1,0,0),r.xNegativeFace),this.createBoxFace(new e.Vector3(0,1,0),r.yPositiveFace,new e.Vector3(0,0,-1)),this.createBoxFace(new e.Vector3(0,-1,0),r.yNegativeFace,new e.Vector3(0,0,1)),this.createBoxFace(new e.Vector3(0,0,1),r.zPositiveFace),this.createBoxFace(new e.Vector3(0,0,-1),r.zNegativeFace)]}createCompass(){const r=new e.PlaneGeometry(2,2,1,1),i=new e.Mesh(r,new e.RawShaderMaterial({vertexShader:S()(t(479).Z),fragmentShader:S()(t(430).Z),uniforms:{offset:{value:new e.Vector2},scale:{value:new e.Vector2},tex:{value:this.createCompassTexture()}},side:e.DoubleSide,glslVersion:e.GLSL3,depthTest:!1,blending:e.CustomBlending,blendDst:e.OneMinusSrcAlphaFactor,blendSrc:e.SrcAlphaFactor}));i.frustumCulled=!1,i.renderOrder=1;const a=Math.sin(this._layoutConfig.compass.labelDelta),n=Math.cos(this._layoutConfig.compass.labelDelta);return i.position.y=-.45,i.up.copy(new e.Vector3(a,0,n)),i.lookAt(0,0,0),i}createCompassTexture(){var r;const t=this._layoutConfig.compass,i=this._layoutConfig.size,a=document.createElement("canvas");a.width=i,a.height=i;const n=a.getContext("2d"),o=i/2,f=o-o/4,s=i/32,c=i/8;if(n.strokeStyle=t.tickColor.getStyle(),n.lineWidth=i/16,n.setLineDash([s,c]),n.beginPath(),n.arc(o,o,f,0,2*Math.PI),n.stroke(),t.ringLabel&&t.ringLabel.length>0){const e=null!==(r=t.fontSize)&&void 0!==r?r:i/5;n.font=`bold ${e}px Arial`,n.textAlign="center",n.fillStyle=t.fontColor.getStyle(),n.fillText(t.ringLabel,o,o*(1/4)+e/3)}return new e.CanvasTexture(a)}getFaceTexture(r,t){var i,a;const n=t/2,o=document.createElement("canvas");o.width=n,o.height=n;const f=o.getContext("2d");f.fillStyle=r.outlineColor.getStyle(),f.fillRect(0,0,n,n),f.fillStyle=r.faceColor.getStyle();const s=null!==(i=r.outlineSize)&&void 0!==i?i:n/32;if(f.fillRect(s,s,n-2*s,n-2*s),f.fill(),""!==r.label){const e=null!==(a=r.fontSize)&&void 0!==a?a:n/3;f.font=`bold ${e}px Arial`,f.textAlign="center",f.fillStyle=r.fontColor.getStyle(),f.fillText(r.label,n/2,n/2+e/3)}return new e.CanvasTexture(o)}createBoxFace(r,i,a=new e.Vector3(0,1,0)){const n=new e.Mesh(this._boxFaceGeometry,new e.RawShaderMaterial({vertexShader:S()(t(479).Z),fragmentShader:S()(t(430).Z),uniforms:{offset:{value:new e.Vector2},scale:{value:new e.Vector2},tex:{value:this.getFaceTexture(i,this._layoutConfig.size)}},depthTest:!1,glslVersion:e.GLSL3,transparent:!0}));return n.frustumCulled=!1,n.renderOrder=1e3,n.position.copy(r.multiplyScalar(.5*this._boxFaceGeometry.parameters.width)),n.lookAt(r.multiplyScalar(2)),n.userData.upVector=a,n}moveCameraTo(r,t){const i=this._viewer.cameraManager,{position:a,target:n,rotation:o}=i.getCameraState(),f=a.clone().sub(n),s=f.length(),c=f.clone().normalize(),A=Math.acos(c.dot(r)),b={t:0},l=new(W().Tween)(b),u=r.clone(),_=o.clone(),p=(new e.Quaternion).setFromRotationMatrix((new e.Matrix4).makeBasis(t.clone().cross(u),t,u));if(_.angleTo(p)<1e-6)return;const k=new e.Vector3,d=new e.Quaternion;l.to({t:1},this._layoutConfig.animationSpeed).onUpdate((()=>{k.copy(c).multiplyScalar(Math.sin((1-b.t)*A)/Math.sin(A)).add(r.clone().multiplyScalar(Math.sin(b.t*A)/Math.sin(A))),k.multiplyScalar(s),k.add(n),d.slerpQuaternions(_,p,b.t),i.setCameraState({position:k,rotation:d})})).onComplete((()=>{i.setCameraState({position:k,target:n})})).start(W().now()).update(W().now())}}const Q=require("geo-three");var P,z,L,X,H,q,K,$,ee,re,te,ie,ae,ne;!function(e){e.BingMap="BingMap",e.HereMap="HereMap",e.MapboxMap="MapboxMap",e.OpenStreetMap="OpenStreetMap"}(P||(P={})),function(e){e[e.Style=100]="Style",e[e.Map_Id=101]="Map_Id"}(z||(z={})),function(e){e.Streets="mapbox/streets-v10",e.Outdoor="mapbox/outdoors-v10",e.Light="mapbox/light-v9",e.Dark="mapbox/dark-v9",e.Satellite="mapbox/satellite-v9",e.Satellite_Streets="mapbox/satellite-streets-v10",e.Navigation_Day="mapbox/navigation-preview-day-v4",e.Navigation_Night="mapbox/navigation-preview-night-v4",e.Navigation_Guide_Day="mapbox/navigation-guidance-day-v4",e.Navigation_Guide_Night="mapbox/navigation-guidance-night-v4"}(L||(L={})),function(e){e.Streets="mapbox.mapbox-streets-v7",e.Satellite="mapbox.satellite",e.Terrain="mapbox.mapbox-terrain-v2",e.Traffic="mapbox.mapbox-traffic-v1",e.TerrainRGB="mapbox.terrain-rgb"}(X||(X={})),function(e){e.PNG="png",e.PNG32="png32",e.PNG64="png64",e.PNG128="png128",e.PNG256="png256",e.JPG70="jpg70",e.JPG80="jpg80",e.JPG90="jpg90",e.PNGRAW="pngraw"}(H||(H={})),function(e){e.Aerial="a",e.Road="r",e.Aerial_Labels="h",e.Oblique="o",e.Oblique_Labels="b"}(q||(q={})),function(e){e.GIF="gif",e.JPEG="jpeg",e.PNG="png"}(K||(K={})),function(e){e.Aerial="aerial",e.Base="base",e.Pano="pano",e.Traffic="traffic"}($||($={})),function(e){e.Day="normal.day",e.Night="normal.night",e.Terrain="terrain.day",e.Satellite="satellite.day"}(ee||(ee={})),function(e){e.PNG="png",e.PNG8="png8",e.JPG="jpg"}(re||(re={}));class oe{constructor(e,r){this._intervalId=0,this._onCameraChange=this.handleCameraChange.bind(this),this._viewer=e;const t=this.getMapProvider(r);this._map=new Q.GEOTHREE.MapView(Q.GEOTHREE.MapView.PLANAR,t,t),this._viewer.addObject3D(this._map);const i=Q.GEOTHREE.UnitsUtils.datumsToSpherical(r.latlong.latitude,r.latlong.longitude),a=this._viewer.models[0].getModelBoundingBox();this._map.position.set(-i.x,a.min.y,i.y),this._map.updateMatrixWorld(!0),this.requestRedraw(1e4),this._viewer.on("cameraChange",this._onCameraChange)}requestRedraw(e){0==this._intervalId&&(this._intervalId=setInterval((()=>{this._viewer.requestRedraw()}),100),setTimeout((()=>{clearInterval(this._intervalId),this._intervalId=0}),e))}getMapProvider(e){let r;switch(e.provider){case P.BingMap:r=new Q.GEOTHREE.BingMapsProvider(e.APIKey,e.type);break;case P.HereMap:r=new Q.GEOTHREE.HereMapsProvider(e.APIKey,e.appCode,e.style,e.scheme,e.imageFormat,e.size);break;case P.MapboxMap:r=new Q.GEOTHREE.MapBoxProvider(e.APIKey,e.id,e.mode,e.tileFormat);break;case P.OpenStreetMap:r=new Q.GEOTHREE.OpenStreetMapsProvider;break;default:throw new Error("Unsupported map provider")}return r}latLongToWorldCoordinates(e){return Q.GEOTHREE.UnitsUtils.datumsToSpherical(e.latitude,e.longitude)}handleCameraChange(){this.requestRedraw(1e3)}dispose(){this._viewer.removeObject3D(this._map),this._viewer.off("cameraChange",this._onCameraChange)}}class fe extends d{constructor(e,r){super(),this._viewer=e,this._maps=new oe(this._viewer,r),N.trackCreateTool("GeomapTool")}latLongToWorldCoordinates(e){return this._maps.latLongToWorldCoordinates(e)}dispose(){super.dispose(),this._maps.dispose()}}class se{constructor(e,r){this._nodeCollectionAndAppearance=[],this._model=e,this._date=r}getKeyframeDate(){return this._date}activate(){this._nodeCollectionAndAppearance.forEach(((e,r)=>{this._model.assignStyledNodeCollection(e.nodes,e.nodeAppearance)}))}deactivate(){this._nodeCollectionAndAppearance.forEach(((e,r)=>{this._model.unassignStyledNodeCollection(e.nodes)}))}assignStyledNodeCollection(e,r){N.trackCadModelStyled(e.classToken,r);const t=this._nodeCollectionAndAppearance.findIndex((r=>r.nodes===e));-1!==t?this._nodeCollectionAndAppearance[t].nodeAppearance=r:this._nodeCollectionAndAppearance.push({nodes:e,nodeAppearance:r})}unassignStyledNodeCollection(e){const r=this._nodeCollectionAndAppearance.findIndex((r=>r.nodes===e));if(-1===r)throw new Error("Node collection has not been assigned to model");this._nodeCollectionAndAppearance.splice(r,1)}}class ce extends d{constructor(e){super(),this._playback=void 0,this._events={dateChanged:new a},this._model=e,this._keyframes=new Array}subscribe(e,r){"dateChanged"===e?this._events.dateChanged.subscribe(r):s(e,`Unsupported event: '${e}'`)}unsubscribe(e,r){"dateChanged"===e?this._events.dateChanged.unsubscribe(r):s(e,`Unsupported event: '${e}'`)}createKeyframe(e){const r=new se(this._model,e);return this._keyframes.push(r),this.sortKeyframesByDates(),r}getKeyframeByDate(e){return this._keyframes.find((r=>r.getKeyframeDate()===e))}removeKeyframe(e){const r=this._keyframes.findIndex((r=>r===e));r>-1&&this._keyframes.splice(r,1)}removeKeyframeByDate(e){const r=this._keyframes.findIndex((r=>r.getKeyframeDate()===e));r>-1&&this._keyframes.splice(r,1)}play(e,r,t){this.stop();const i={dateInMs:e.getTime()},a={dateInMs:r.getTime()},n=new(W().Tween)(i).to(a,t);let o=-1;n.onUpdate((()=>{const t=new Date(i.dateInMs),a=o;for(;o<this._keyframes.length-1&&this._keyframes[o+1].getKeyframeDate().getTime()<=t.getTime();)o++;o!==a&&(-1!==a&&this._keyframes[a].deactivate(),this._keyframes[o].activate()),this._events.dateChanged.fire({date:t,activeKeyframe:this._keyframes[o],startDate:e,endDate:r})})),this._playback=n,n.start()}stop(){void 0!==this._playback&&(this._playback.stop(),this._playback=void 0)}pause(){void 0!==this._playback&&this._playback.isPlaying()&&this._playback.pause()}resume(){void 0!==this._playback&&this._playback.isPaused()&&this._playback.resume()}getAllKeyframes(){return this._keyframes.slice()}dispose(){super.dispose(),this._events.dateChanged.unsubscribeAll()}sortKeyframesByDates(){this._keyframes.length>1&&this._keyframes.sort(((e,r)=>e.getKeyframeDate().getTime()-r.getKeyframeDate().getTime()))}}require("skmeans"),new Map([["meters",1],["meter",1],["m",1],["centimeters",.01],["centimeter",.01],["cm",.01],["millimeters",.001],["millimeter",.001],["mm",.001],["micrometers",1e-6],["micrometer",1e-6],["kilometers",1e3],["kilometer",1e3],["km",1e3],["feet",.3048],["ft",.3048],["inches",.0254],["inch",.0254],["yards",.9144],["yard",.9144],["miles",1609.34],["miles",1609.34],["mile",1609.34],["mils",254e-7],["mil",254e-7],["microinches",2.54e-8],["microinch",2.54e-8]]),(ie=te||(te={})).EptPointCloud="ept-pointcloud",ie.RevealCadModel="reveal-directory",ie.GltfCadModel="gltf-directory",ie.AnyFormat="all-outputs",(new e.Matrix4).set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1),require("@cognite/sdk-core"),new e.Vector3,(ne=ae||(ae={}))[ne.Discarded=0]="Discarded",ne[ne.Simple=1]="Simple",ne[ne.Detailed=2]="Detailed",e.Group,new e.Vector3,new e.Vector3,new e.Sphere,new e.Box3,new e.Vector3,new e.Vector3,new e.Vector3,new e.Vector3,new e.Matrix4,new e.Vector3,new e.Vector3,new e.Vector3,new e.Matrix4,new e.Box3,new e.Box3;const{boxGeometry:Ae,boxGeometryBoundingBox:be}=(()=>{const r=function(){const r=function(){const e=[1,3,2,6,4,5],r=[];for(let t=0;t<e.length;t++){const i=(t+1)%e.length;r.push(0),r.push(e[t]),r.push(e[i]),r.push(7),r.push(e[i]),r.push(e[t])}return r}(),t=new Float32Array([-.5,-.5,-.5,-.5,-.5,.5,-.5,.5,-.5,-.5,.5,.5,.5,-.5,-.5,.5,-.5,.5,.5,.5,-.5,.5,.5,.5]),i=new e.BufferAttribute(t,3,!1),a=new e.BufferGeometry;return a.setIndex(r),a.setAttribute("position",i),a}();try{const e={index:r.getIndex(),position:r.getAttribute("position")};return r.computeBoundingBox(),{boxGeometry:e,boxGeometryBoundingBox:r.boundingBox}}finally{r.dispose()}})(),{quadGeometry:le,quadGeometryBoundingBox:ue}=(()=>{const r=new e.PlaneBufferGeometry(1,1,1,1);try{const e={index:r.getIndex(),position:r.getAttribute("position"),normal:r.getAttribute("normal")};return r.computeBoundingBox(),{quadGeometry:e,quadGeometryBoundingBox:r.boundingBox}}finally{r.dispose()}})(),{trapeziumGeometry:_e,trapeziumGeometryBoundingBox:pe}=(()=>{const r=[0,0,0,1,1,1,2,2,2,3,3,3];return{trapeziumGeometry:{index:new e.BufferAttribute(new Uint16Array([0,1,3,0,3,2]),1),position:new e.BufferAttribute(new Float32Array(r),3)},trapeziumGeometryBoundingBox:(new e.Box3).setFromArray(r)}})(),{coneGeometry:ke,coneGeometryBoundingBox:de}=(()=>{const r=[];r.push(-1,1,-1),r.push(-1,-1,-1),r.push(1,1,-1),r.push(1,-1,-1),r.push(1,1,1),r.push(1,-1,1);const t=new Uint16Array([1,2,0,1,3,2,3,4,2,3,5,4]);return{coneGeometry:{index:new e.BufferAttribute(t,1),position:new e.BufferAttribute(new Float32Array(r),3)},coneGeometryBoundingBox:(new e.Box3).setFromArray(r)}})(),{torusLodGeometries:me}=(()=>{const r=(e,r)=>[e,2*r*Math.PI],t=[{tubularSegments:9,radialSegments:18},{tubularSegments:5,radialSegments:12},{tubularSegments:4,radialSegments:5}].map((({tubularSegments:t,radialSegments:i})=>function(r,t,i=((e,r)=>[e,r,0])){const a=[],n=[],o=1/r,f=1/t;for(let e=0;e<=t;e++)for(let t=0;t<=r;t++){const[r,n,s]=i(t*o,e*f);a.push(r||0,n||0,s||0)}for(let e=1;e<=t;e++)for(let t=1;t<=r;t++){const i=(r+1)*e+t-1,a=(r+1)*(e-1)+t-1,o=(r+1)*(e-1)+t,f=(r+1)*e+t;n.push(i,a,f),n.push(a,o,f)}return{index:new e.Uint16BufferAttribute(n,1),position:new e.Float32BufferAttribute(a,3)}}(i,t,r)));return{torusLodGeometries:t}})(),{nutGeometry:he,nutGeometryBoundingBox:ye}=(()=>{const r=new e.CylinderBufferGeometry(.5,.5,1,6);try{r.applyMatrix4((new e.Matrix4).makeRotationX(-Math.PI/2));const t={index:r.getIndex(),position:r.getAttribute("position"),normal:r.getAttribute("normal")};return{nutGeometry:t,nutGeometryBoundingBox:(new e.Box3).setFromArray(t.position.array)}}finally{r.dispose()}})();var ve,ge;(ge=ve||(ve={}))[ge.BoxCollection=0]="BoxCollection",ge[ge.CircleCollection=1]="CircleCollection",ge[ge.ConeCollection=2]="ConeCollection",ge[ge.EccentricConeCollection=3]="EccentricConeCollection",ge[ge.EllipsoidSegmentCollection=4]="EllipsoidSegmentCollection",ge[ge.GeneralCylinderCollection=5]="GeneralCylinderCollection",ge[ge.GeneralRingCollection=6]="GeneralRingCollection",ge[ge.QuadCollection=7]="QuadCollection",ge[ge.TorusSegmentCollection=8]="TorusSegmentCollection",ge[ge.TrapeziumCollection=9]="TrapeziumCollection",ge[ge.NutCollection=10]="NutCollection",ge[ge.TriangleMesh=11]="TriangleMesh",ge[ge.InstanceMesh=12]="InstanceMesh";class we{constructor(){this._textDecoder=new TextDecoder}parseGlbMetadata(e){this.verifyGlbHeaders(e);const{length:r,json:t}=this.parseJson(e),{length:i,byteOffsetToBinContent:a}=this.parseBinHeaders(e,we.CHUNK_HEADER_BYTE_SIZE+r);return{json:t,byteOffsetToBinContent:a,binContentLength:i}}verifyGlbHeaders(e){const r=new DataView(e,0,we.GLB_HEADER_BYTE_SIZE),t=this._textDecoder.decode(new Uint8Array(e,0,4)),i=r.getUint32(4,!0);b()("glTF"===t,"Unknown file format"),b()(2===i,`Unsupported glTF version{${i}}`)}parseJson(e){const r=new DataView(e,we.GLB_HEADER_BYTE_SIZE,we.CHUNK_HEADER_BYTE_SIZE).getUint32(0,!0),t=this._textDecoder.decode(new Uint8Array(e,we.GLB_HEADER_BYTE_SIZE+4,4));b()("JSON"===t);const i=new Uint8Array(e,we.GLB_HEADER_BYTE_SIZE+we.CHUNK_HEADER_BYTE_SIZE,r),a=JSON.parse(this._textDecoder.decode(i));return b()(void 0!==a,"Failed to assign types to gltf json"),{type:t,length:r,json:a}}parseBinHeaders(e,r){const t=new DataView(e,we.GLB_HEADER_BYTE_SIZE+r,we.CHUNK_HEADER_BYTE_SIZE).getUint32(0,!0),i=this._textDecoder.decode(new Uint8Array(e,we.GLB_HEADER_BYTE_SIZE+r+4,4));return b()(i.includes("BIN")),{type:i,byteOffsetToBinContent:we.GLB_HEADER_BYTE_SIZE+r+we.CHUNK_HEADER_BYTE_SIZE,length:t}}}we.GLB_HEADER_BYTE_SIZE=12,we.CHUNK_HEADER_BYTE_SIZE=8,new Map([["SCALAR",1],["VEC2",2],["VEC3",3],["VEC4",4],["MAT2",4],["MAT3",9],["MAT4",16]]),new Map([[5120,Int8Array],[5121,Uint8Array],[5122,Int16Array],[5123,Uint16Array],[5125,Uint32Array],[5126,Float32Array]]),t(812),new Map([[1,Uint8Array],[4,Float32Array]]);new e.Box3(new e.Vector3(-.5,-.5,-1e-4),new e.Vector3(.5,.5,1e-4)),new e.Box3(new e.Vector3(-.5,-.5,-.5),new e.Vector3(.5,.5,.5)),new e.Box3,new e.Vector3,new e.Vector3,new e.Box3;class Te extends d{constructor(r,t={}){super(),this._boundingBoxes=new e.Group,this._viewer=r,this._viewer.addObject3D(this._boundingBoxes),this._options={},this.setOptions(t)}setOptions(e){this._options={showDetailedSectors:!0,showDiscardedSectors:!1,showSimpleSectors:!0,colorBy:"lod",leafsOnly:!1,sectorPathFilterRegex:".*",...e}}dispose(){this._viewer.removeObject3D(this._boundingBoxes)}showSectorBoundingBoxes(e){this._model=e,this.updateBoundingBoxes()}updateBoundingBoxes(){if(this._boundingBoxes.clear(),void 0===this._model)return;this._model.getModelTransformation(this._boundingBoxes.matrix);const e=[];e[ae.Discarded]=this._options.showDiscardedSectors,e[ae.Simple]=this._options.showSimpleSectors,e[ae.Detailed]=this._options.showDetailedSectors;const r=[];this._model.cadNode.traverse((t=>{if(Ee(t)){const i=t;this.isSectorAcceptedByCurrentFilter(i)&&e[i.levelOfDetail]&&(!this._options.leafsOnly||function(e){return!e.children.some((e=>Ee(e)))}(i))&&r.push(i)}})),r.forEach((e=>{const t=this.createBboxNodeFor(e,r);this._boundingBoxes.add(t)})),this._boundingBoxes.updateMatrixWorld(!0),this._viewer.requestRedraw()}isSectorAcceptedByCurrentFilter(e){return new RegExp(this._options.sectorPathFilterRegex).test(e.sectorPath)}createBboxNodeFor(r,t){const i=this._options,a=this._model.cadNode.sectorScene,n=function(){switch(i.colorBy){case"depth":{const t=Math.min(1,r.depth/8);return new e.Color(Ce.green).lerpHSL(Ce.red,t)}case"lod":switch(r.levelOfDetail){case ae.Simple:return Ce.yellow;case ae.Detailed:return Ce.green;case ae.Discarded:return Ce.red;default:s(r.levelOfDetail)}case"random":return(new e.Color).setHSL(Math.random(),1,.5);case"loadedTimestamp":{const i=[...t].sort(((e,r)=>e.updatedTimestamp-r.updatedTimestamp)),a=i.findIndex((e=>e===r)),n=(i.length-1-a)/Math.max(i.length-1,1);return new e.Color(Ce.green).lerpHSL(Ce.red,n)}case"drawcalls":{const[i,n]=t.reduce((([e,r],t)=>{const i=a.getSectorById(t.sectorId);return[Math.min(e,i.estimatedDrawCallCount),Math.max(r,i.estimatedDrawCallCount)]}),[1/0,-1/0]),o=(a.getSectorById(r.sectorId).estimatedDrawCallCount-i)/(n-i);return new e.Color(Ce.green).lerpHSL(Ce.red,o)}default:s(i.colorBy)}}();return new e.Box3Helper(r.bounds,n)}}const Ce={green:new e.Color("#00ff00"),yellow:new e.Color("yellow"),red:new e.Color("red")};function Ee(e){return e.name.match(/^Sector \d+$/)}class Ne{constructor(){Ne.ensureStylesLoaded()}createLabel(e){const r=document.createElement("div");return r.innerText=e,r.className=Ne.stylesId,r}static ensureStylesLoaded(){if(document.getElementById(Ne.stylesId))return;const e=document.createElement("style");e.id=Ne.stylesId,e.appendChild(document.createTextNode(".reveal-measurement-label {\n\tposition: absolute;\n\n /* Anchor to the center of the element and ignore events */\n transform: translate(-50%, -50%);\n pointer-events: none;\n touch-action: none;\n user-select: none;\n border-radius: 6px;\n\n /* Make it look nice */\n padding: 6px;\n color: #fff;\n background: #232323da;\n border: #ffffff22 solid 1px;\n overflow: hidden;\n white-space: nowrap;\n\n /*Font - fallback to generic font if Inter not available*/\n font-family: 'Inter', sans-serif;\n font-style: normal;\n font-weight: 500;\n}\n")),document.head.appendChild(e)}}Ne.stylesId="reveal-measurement-label";const Ge=require("three-stdlib");class Re{constructor(r,t,i){this._position=new Float32Array(6),this._geometry=new Ge.LineGeometry,this._adaptiveWidthLineMaterial=new Ge.LineMaterial({color:t.getHex(),linewidth:r,worldUnits:!0,depthTest:!1}),this._fixedWidthLineMaterial=new Ge.LineMaterial({color:t.getHex(),linewidth:2,worldUnits:!1,depthTest:!1}),this._meshes=new e.Group,this._meshes.name="Measurement";const a=new e.Mesh(new e.BufferGeometry);a.name="onBeforeRenderTrigger trigger (no geometry)",a.frustumCulled=!1;const n=new e.Vector2;a.onBeforeRender=e=>{const{width:r,height:t}=e.domElement.getBoundingClientRect();n.set(r,t),this._adaptiveWidthLineMaterial.resolution=this._fixedWidthLineMaterial.resolution=n},this._meshes.add(a),this.startLine(i)}dispose(){this._geometry&&this._geometry.dispose(),this._adaptiveWidthLineMaterial.dispose(),this._fixedWidthLineMaterial.dispose(),this._meshes.clear(),this._meshes.removeFromParent()}get meshes(){return this._meshes}updateLine(e){this._position[3]=e.x,this._position[4]=e.y,this._position[5]=e.z,this._geometry.setPositions(this._position)}getMeasuredDistance(){const r=new e.Vector3(this._position[0],this._position[1],this._position[2]);return new e.Vector3(this._position[3],this._position[4],this._position[5]).distanceTo(r)}getMidPointOnLine(){const r=new e.Vector3(this._position[0],this._position[1],this._position[2]);let t=new e.Vector3(this._position[3],this._position[4],this._position[5]).clone().sub(r);const i=t.length();return t=t.normalize().multiplyScalar(.5*i),r.clone().add(t)}updateLineWidth(e){this._adaptiveWidthLineMaterial.linewidth=e}updateLineColor(e){this._fixedWidthLineMaterial.color=this._adaptiveWidthLineMaterial.color=e}startLine(e){this._position[0]=this._position[3]=e.x,this._position[1]=this._position[4]=e.y,this._position[2]=this._position[5]=e.z,this._geometry.setPositions(this._position);const r=new Ge.Line2(this._geometry,this._adaptiveWidthLineMaterial);r.computeLineDistances(),r.renderOrder=100;const t=new Ge.Line2(this._geometry,this._fixedWidthLineMaterial);t.computeLineDistances(),t.renderOrder=100,this._meshes.add(r),this._meshes.add(t)}}class Ve{constructor(r,t,i,a,n,o){this._measurement={measurementId:0,startPoint:new e.Vector3,endPoint:new e.Vector3,distanceInMeters:0},this._options=a,this._measurementLabel=new Ne,this._htmlOverlay=n,this._domElement=r,this._camera=t,this._meshGroup=i,this._startPoint=o,this._distanceToCamera=this._camera.getWorldPosition(new e.Vector3).distanceTo(o),this._line=this.startMeasurement(o),this._meshGroup.add(this._line.meshes)}update(e){const{offsetX:r,offsetY:t}=e;this._line.updateLine(this.pointerTo3DPosition(r,t))}endMeasurement(e){const{distanceToLabelCallback:r}=this._options;this._line.updateLine(e);const t=r(this._line.getMeasuredDistance());this._labelElement=this.addLabel(this._line.getMidPointOnLine(),t),this._measurement={measurementId:Date.now(),startPoint:this._startPoint,endPoint:e,distanceInMeters:this._line.getMeasuredDistance()}}removeMeasurement(){this._meshGroup.remove(this._line.meshes),this._labelElement&&this._htmlOverlay.remove(this._labelElement),this._line&&this._line.dispose()}getMeasurement(){return this._measurement}updateLineWidth(e){this._line.updateLineWidth(e)}updateLineColor(e){this._line.updateLineColor(e)}startMeasurement(e){return new Re(this._options.lineWidth,this._options.color,e)}addLabel(e,r){const t=this._measurementLabel.createLabel(r);return this._htmlOverlay.add(t,e),t}pointerTo3DPosition(r,t){const i=new e.Vector3,a=new e.Vector2;a.x=r/this._domElement.clientWidth*2-1,a.y=-t/this._domElement.clientHeight*2+1;const n=new e.Vector3,o=new e.Ray,f=new e.Vector3;return f.setFromMatrixPosition(this._camera.matrixWorld),o.origin.copy(f),n.set(a.x,a.y,.5).unproject(this._camera).sub(o.origin).normalize(),o.direction.copy(n),o.at(this._distanceToCamera,i),i}}class De extends d{constructor(r,t){super(),this._geometryGroup=new e.Group,this._handleLabelClustering=this.createCombineClusterElement.bind(this),this._handlePointerClick=this.onPointerClick.bind(this),this._handlePointerMove=this.onPointerMove.bind(this),this._handleMeasurementCancel=this.onKeyDown.bind(this),this._events={measurementAdded:new a,measurementStarted:new a,measurementEnded:new a,disposed:new a},this._overlayOptions={clusteringOptions:{mode:"overlapInScreenSpace",createClusterElementCallback:this._handleLabelClustering}},this._viewer=r,this._options={...De.defaultLineOptions,...t},this._measurements=[],this._measurementMode=!1,this._htmlOverlay=new G(this._viewer,this._overlayOptions),this._geometryGroup.name=De.name,this._viewer.addObject3D(this._geometryGroup),N.trackCreateTool("MeasurementTool")}get isInMeasurementMode(){return this._measurementMode}on(e,r){switch(e){case"added":this._events.measurementAdded.subscribe(r);break;case"started":this._events.measurementStarted.subscribe(r);break;case"ended":this._events.measurementEnded.subscribe(r);break;case"disposed":this._events.disposed.subscribe(r);break;default:s(e,`Unsupported event: '${e}'`)}}off(e,r){switch(e){case"added":this._events.measurementAdded.unsubscribe(r);break;case"started":this._events.measurementStarted.unsubscribe(r);break;case"ended":this._events.measurementEnded.unsubscribe(r);break;case"disposed":this._events.disposed.unsubscribe(r);break;default:s(e,`Unsupported event: '${e}'`)}}enterMeasurementMode(){if(this._measurementMode)throw new Error("Measurement mode is active, call exitMeasurementMode()");this._viewer.on("click",this._handlePointerClick),this._events.measurementStarted.fire(),this._measurementMode=!0}exitMeasurementMode(){if(!this._measurementMode)throw new Error("Measurement mode is not active, call enterMeasurementMode()");this.cancelActiveMeasurement(),this._viewer.off("click",this._handlePointerClick),this._events.measurementEnded.fire(),this._measurementMode=!1}removeMeasurement(e){const r=this._measurements.findIndex((r=>r.getMeasurement()===e));if(-1===r)throw new Error("Measurement not found");this._measurements[r].removeMeasurement(),this._measurements.splice(r,1),this._viewer.requestRedraw()}removeAllMeasurements(){this._measurements.forEach((e=>{e.removeMeasurement()})),this._measurements.splice(0),this._viewer.requestRedraw()}setMeasurementLabelsVisible(e){this._htmlOverlay.visible(e)}setLineOptions(e){this._options={...this._options,...e}}updateLineWidth(e,r){const t=this._measurements.findIndex((r=>r.getMeasurement()===e));if(-1===t)throw new Error("Measurement not found");this._measurements[t].updateLineWidth(r),this._viewer.requestRedraw()}updateLineColor(e,r){const t=this._measurements.findIndex((r=>r.getMeasurement()===e));if(-1===t)throw new Error("Measurement not found");this._measurements[t].updateLineColor(r),this._viewer.requestRedraw()}getAllMeasurements(){return this._measurements.map((e=>e.getMeasurement()))}dispose(){var e;this.removeAllMeasurements(),this.exitMeasurementMode(),null===(e=this._activeMeasurement)||void 0===e||e.removeMeasurement(),this._htmlOverlay.dispose(),this._geometryGroup.clear(),this._viewer.removeObject3D(this._geometryGroup),this._events.measurementAdded.unsubscribeAll(),this._events.measurementStarted.unsubscribeAll(),this._events.measurementEnded.unsubscribeAll(),super.dispose()}async onPointerClick(e){const{offsetX:r,offsetY:t}=e,i=await this._viewer.getIntersectionFromPixel(r,t);if(i){if(this._activeMeasurement){this._activeMeasurement.endMeasurement(i.point);const e=this._activeMeasurement.getMeasurement();this._measurements.push(this._activeMeasurement),this._activeMeasurement=void 0,this._events.measurementAdded.fire(this._measurements[this._measurements.length-1].getMeasurement()),this._viewer.domElement.removeEventListener("pointermove",this._handlePointerMove),window.removeEventListener("keydown",this._handleMeasurementCancel),N.trackEvent("measurementAdded",{measurement:e})}else{const e=this._viewer.getCamera(),r=this._viewer.domElement;this._activeMeasurement=new Ve(r,e,this._geometryGroup,this._options,this._htmlOverlay,i.point),this._viewer.domElement.addEventListener("pointermove",this._handlePointerMove),window.addEventListener("keydown",this._handleMeasurementCancel)}this._viewer.requestRedraw()}}onPointerMove(e){this._activeMeasurement&&(this._activeMeasurement.update(e),this._viewer.requestRedraw())}createCombineClusterElement(){const e=document.createElement("div");return e.className=Ne.stylesId,e.innerHTML='<?xml version="1.0" encoding="UTF-8"?>\n<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="50px" height="20px" viewBox="0 0 50 20" version="1.1">\n<g id="surface1">\n<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:0.8;" d="M 0.832031 4 C 0.371094 4 0 4.148438 0 4.332031 L 0 10 C 0 10.183594 0.371094 10.332031 0.832031 10.332031 C 1.292969 10.332031 1.667969 10.183594 1.667969 10 L 1.667969 4.332031 C 1.667969 4.148438 1.292969 4 0.832031 4 Z M 0.832031 4 "/>\n<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:0.8;" d="M 49.167969 4 C 48.707031 4 48.332031 4.148438 48.332031 4.332031 L 48.332031 10 C 48.332031 10.183594 48.707031 10.332031 49.167969 10.332031 C 49.628906 10.332031 50 10.183594 50 10 L 50 4.332031 C 50 4.148438 49.628906 4 49.167969 4 Z M 49.167969 4 "/>\n<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:0.8;" d="M 49.582031 11.332031 L 46.25 11.332031 C 46.019531 11.332031 45.835938 11.40625 45.835938 11.5 L 45.835938 12.332031 C 45.835938 12.515625 45.460938 12.667969 45 12.667969 C 44.542969 12.667969 44.167969 12.519531 44.167969 12.332031 L 44.167969 11.5 C 44.167969 11.40625 43.980469 11.332031 43.75 11.332031 L 41.25 11.332031 C 41.019531 11.332031 40.835938 11.40625 40.835938 11.5 L 40.835938 13 C 40.835938 13.183594 40.460938 13.332031 40 13.332031 C 39.542969 13.332031 39.167969 13.183594 39.167969 13 L 39.167969 11.5 C 39.167969 11.40625 38.980469 11.332031 38.75 11.332031 L 36.25 11.332031 C 36.019531 11.332031 35.832031 11.40625 35.832031 11.5 L 35.835938 12.332031 C 35.835938 12.515625 35.460938 12.667969 35 12.667969 C 34.539062 12.667969 34.167969 12.519531 34.167969 12.332031 L 34.167969 11.5 C 34.167969 11.40625 33.980469 11.332031 33.75 11.332031 L 31.25 11.332031 C 31.019531 11.332031 30.832031 11.40625 30.832031 11.5 L 30.835938 13 C 30.835938 13.183594 30.460938 13.332031 30 13.332031 C 29.539062 13.332031 29.167969 13.183594 29.167969 13 L 29.167969 11.5 C 29.167969 11.40625 28.980469 11.332031 28.75 11.332031 L 26.25 11.332031 C 26.019531 11.332031 25.832031 11.40625 25.832031 11.5 L 25.835938 12.332031 C 25.835938 12.515625 25.460938 12.667969 25 12.667969 C 24.539062 12.667969 24.167969 12.519531 24.167969 12.332031 L 24.167969 11.5 C 24.167969 11.40625 23.980469 11.332031 23.75 11.332031 L 21.25 11.332031 C 21.019531 11.332031 20.832031 11.40625 20.832031 11.5 L 20.835938 13 C 20.835938 13.183594 20.460938 13.332031 20 13.332031 C 19.539062 13.332031 19.167969 13.183594 19.167969 13 L 19.167969 11.5 C 19.167969 11.40625 18.980469 11.332031 18.75 11.332031 L 16.25 11.332031 C 16.019531 11.332031 15.832031 11.40625 15.832031 11.5 L 15.835938 12.332031 C 15.835938 12.515625 15.460938 12.667969 15 12.667969 C 14.539062 12.667969 14.167969 12.519531 14.167969 12.332031 L 14.167969 11.5 C 14.167969 11.40625 13.980469 11.332031 13.75 11.332031 L 11.25 11.332031 C 11.019531 11.332031 10.832031 11.40625 10.832031 11.5 L 10.835938 13 C 10.835938 13.183594 10.460938 13.332031 10 13.332031 C 9.539062 13.332031 9.167969 13.183594 9.167969 13 L 9.167969 11.5 C 9.167969 11.40625 8.980469 11.332031 8.75 11.332031 L 6.25 11.332031 C 6.019531 11.332031 5.832031 11.40625 5.832031 11.5 L 5.832031 12.332031 C 5.832031 12.519531 5.460938 12.667969 5 12.667969 C 4.539062 12.667969 4.167969 12.519531 4.167969 12.332031 L 4.167969 11.5 C 4.167969 11.40625 3.980469 11.332031 3.75 11.332031 L 0.417969 11.332031 C 0.1875 11.332031 0 11.40625 0 11.5 L 0 15.832031 C 0 15.925781 0.1875 16 0.417969 16 L 49.582031 16 C 49.8125 16 50 15.925781 50 15.832031 L 50 11.5 C 50 11.40625 49.8125 11.332031 49.582031 11.332031 Z M 49.582031 11.332031 "/>\n<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:0.8;" d="M 46.488281 7.121094 L 42.617188 5.121094 C 42.410156 5.011719 42.066406 4.972656 41.761719 5.019531 C 41.453125 5.066406 41.25 5.191406 41.25 5.332031 L 41.25 7 L 8.75 7 L 8.75 5.332031 C 8.75 5.191406 8.546875 5.066406 8.238281 5.019531 C 7.933594 4.972656 7.589844 5.011719 7.382812 5.121094 L 3.511719 7.121094 C 3.394531 7.183594 3.332031 7.257812 3.332031 7.332031 C 3.332031 7.410156 3.394531 7.484375 3.511719 7.546875 L 7.382812 9.546875 C 7.53125 9.625 7.75 9.667969 7.976562 9.667969 C 8.0625 9.667969 8.152344 9.660156 8.238281 9.648438 C 8.546875 9.597656 8.75 9.472656 8.75 9.332031 L 8.75 7.667969 L 41.25 7.667969 L 41.25 9.332031 C 41.25 9.472656 41.453125 9.597656 41.757812 9.648438 C 41.84375 9.660156 41.933594 9.667969 42.023438 9.667969 C 42.246094 9.667969 42.464844 9.625 42.617188 9.546875 L 46.488281 7.546875 C 46.605469 7.484375 46.667969 7.410156 46.667969 7.332031 C 46.667969 7.257812 46.605469 7.183594 46.488281 7.121094 Z M 46.488281 7.121094 "/>\n</g>\n</svg>\n',e}static metersLabelCallback(e){return`${e.toFixed(2)} m`}onKeyDown(e){e.metaKey||e.altKey||e.ctrlKey||"Escape"===e.key&&(this.cancelActiveMeasurement(),e.preventDefault())}cancelActiveMeasurement(){this._activeMeasurement&&(this._activeMeasurement.removeMeasurement(),this._activeMeasurement=void 0,this._viewer.requestRedraw(),this._viewer.domElement.removeEventListener("pointermove",this._handlePointerMove))}}De.defaultLineOptions={distanceToLabelCallback:e=>De.metersLabelCallback(e),lineWidth:.01,color:new e.Color(16746310)}})(),i})()));
3
3
  //# sourceMappingURL=tools.map