From fe1da28b05b3921240e734ff4b32595978f45ca3 Mon Sep 17 00:00:00 2001 From: Jaifroid Date: Sun, 27 Sep 2020 19:36:25 +0100 Subject: [PATCH] Updates to zstd from Kiwix JS Former-commit-id: aa5c19b905733530b991c6c23dfd11b2e4df8b57 [formerly 20ffaa27b678d40f2033f7990805aa1f39a02065 [formerly 00d02e91fba90be14b5e0b69b738226ac8da5b5e]] Former-commit-id: 5e44f05b01f04d818db15158ac3239e6e21ea1d1 Former-commit-id: 5af4383bfe09beb57edd3b486e3871a52841ae52 --- KiwixWebApp.jsproj | 4 +- pwabuilder-sw.js | 4 +- www/js/lib/zimfile.js | 7 +- www/js/lib/zstddec.js | 66 ++++++++++++++++ .../{zstdec_wrapper.js => zstddec_wrapper.js} | 78 +++++++------------ www/js/lib/zstdec.js | 73 ----------------- 6 files changed, 104 insertions(+), 128 deletions(-) create mode 100644 www/js/lib/zstddec.js rename www/js/lib/{zstdec_wrapper.js => zstddec_wrapper.js} (81%) delete mode 100644 www/js/lib/zstdec.js diff --git a/KiwixWebApp.jsproj b/KiwixWebApp.jsproj index b2c6afb7..c17e0854 100644 --- a/KiwixWebApp.jsproj +++ b/KiwixWebApp.jsproj @@ -125,8 +125,8 @@ - - + + diff --git a/pwabuilder-sw.js b/pwabuilder-sw.js index 6f6940bf..d750b09b 100644 --- a/pwabuilder-sw.js +++ b/pwabuilder-sw.js @@ -64,8 +64,8 @@ const precacheFiles = [ "www/js/lib/util.js", "www/js/lib/xzdec.js", "www/js/lib/xzdec_wrapper.js", - "www/js/lib/zstdec.js", - "www/js/lib/zstdec_wrapper.js", + "www/js/lib/zstddec.js", + "www/js/lib/zstddec_wrapper.js", "www/js/lib/zimArchive.js", "www/js/lib/zimArchiveLoader.js", "www/js/lib/zimDirEntry.js", diff --git a/www/js/lib/zimfile.js b/www/js/lib/zimfile.js index 69e78af0..a92c4601 100644 --- a/www/js/lib/zimfile.js +++ b/www/js/lib/zimfile.js @@ -20,7 +20,7 @@ * along with Kiwix (file LICENSE-GPLv3.txt). If not, see */ 'use strict'; -define(['xzdec_wrapper', 'zstdec_wrapper', 'util', 'utf8', 'q', 'zimDirEntry'], function(xz, zstd, util, utf8, Q, zimDirEntry) { +define(['xzdec_wrapper', 'zstddec_wrapper', 'util', 'utf8', 'q', 'zimDirEntry'], function(xz, zstd, util, utf8, Q, zimDirEntry) { var readInt = function(data, offset, size) { @@ -186,7 +186,7 @@ define(['xzdec_wrapper', 'zstdec_wrapper', 'util', 'utf8', 'q', 'zimDirEntry'], { var clusterOffset = readInt(clusterOffsets, 0, 8); var nextCluster = readInt(clusterOffsets, 8, 8); - // This method of calculating cluster size is not safe: see https://github.com/openzim/libzim/issues/84#issuecomment-612962250 + // DEV: The method below of calculating cluster size is not safe: see https://github.com/openzim/libzim/issues/84#issuecomment-612962250 // var thisClusterLength = nextCluster - clusterOffset - 1; return that._readSlice(clusterOffset, 1).then(function(compressionType) { var decompressor; @@ -197,7 +197,8 @@ define(['xzdec_wrapper', 'zstdec_wrapper', 'util', 'utf8', 'q', 'zimDirEntry'], // return that._readSlice(clusterOffset + 1 + offset, size); var offsetStart = clusterOffset + 1 + offset; if ( offsetStart < nextCluster) { - size = offsetStart + size <= nextCluster ? size : nextCluster - offsetStart; + // Gratuitous parentheses added for legibility + size = (offsetStart + size) <= nextCluster ? size : (nextCluster - offsetStart); return that._readSlice(offsetStart, size); } else { return Q(new Uint8Array(0).buffer); diff --git a/www/js/lib/zstddec.js b/www/js/lib/zstddec.js new file mode 100644 index 00000000..3bd18eea --- /dev/null +++ b/www/js/lib/zstddec.js @@ -0,0 +1,66 @@ + +var ZD = (function() { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + + return ( +function(ZD) { + ZD = ZD || {}; + + +var a;a||(a=typeof ZD !== 'undefined' ? ZD : {}); +var Promise=function(){function c(){}function e(b,f){return function(){b.apply(f,arguments)}}function d(b){if(!(this instanceof d))throw new TypeError("Promises must be constructed via new");if("function"!==typeof b)throw new TypeError("not a function");this.u=0;this.C=!1;this.v=void 0;this.w=[];D(b,this)}function m(b,f){for(;3===b.u;)b=b.v;0===b.u?b.w.push(f):(b.C=!0,d.D(function(){var g=1===b.u?f.G:f.H;if(null===g)(1===b.u?l:p)(f.B,b.v);else{try{var h=g(b.v)}catch(k){p(f.B,k);return}l(f.B,h)}}))} +function l(b,f){try{if(f===b)throw new TypeError("A promise cannot be resolved with itself.");if(f&&("object"===typeof f||"function"===typeof f)){var g=f.then;if(f instanceof d){b.u=3;b.v=f;r(b);return}if("function"===typeof g){D(e(g,f),b);return}}b.u=1;b.v=f;r(b)}catch(h){p(b,h)}}function p(b,f){b.u=2;b.v=f;r(b)}function r(b){2===b.u&&0===b.w.length&&d.D(function(){b.C||d.I(b.v)});for(var f=0,g=b.w.length;f>2];m=f[m>>2];R=!j&m>>>0>33554432|j>>>0>0;q=-72;a:{if(h>>>0>131071){break a}q=ya(a,e,h);if(q>>>0>4294967176){break a}j=f[a+28956>>2];m=e+q|0;l=e;e=q>>>0<4294967177;l=e?m:l;h=h-(e?q:0)|0;e=xa(a,k+52|0,l,h);if(e>>>0>4294967176){q=e;break a}B=f[k+52>>2];if(!b){q=-70;if((B|0)>0){break a}}m=h-e|0;s=e+l|0;b:{c:{d:{if(j){f[a+28956>>2]=0;break d}if((B|0)<5){break c}h=a+28760|0;e=f[h+4>>2];h=f[h>>2];if(!e&h>>>0<=16777216|e>>>0<0){break c}e=f[a+8>>2];j=e+8|0;e=f[e+4>>2];q=0;h=0;while(1){q=(g[(j+(h<<3)|0)+2|0]>22)+q|0;h=h+1|0;if(!(h>>>e|0)){continue}break}f[a+28956>>2]=0;if(q<<8-e>>>0<20){break b}}h=f[a+28912>>2];f[k+204>>2]=h;G=b+c|0;H=f[a+28928>>2]+h|0;e=b;if(B){E=f[a+28740>>2];K=f[a+28736>>2];y=f[a+28732>>2];f[a+28812>>2]=1;f[k+108>>2]=f[a+26676>>2];M=a+26668|0;c=M;e=f[c+4>>2];f[k+100>>2]=f[c>>2];f[k+104>>2]=e;f[k+116>>2]=E;f[k+112>>2]=y;O=b-y|0;f[k+120>>2]=O;if(!m){f[k+72>>2]=0;a=k- -64|0;f[a>>2]=0;f[a+4>>2]=0;f[k+56>>2]=0;f[k+60>>2]=0;q=-20;break a}f[k+68>>2]=s;f[k+72>>2]=s+4;e:{f:{if(m>>>0>=4){r=m+ -4|0;c=s+r|0;f[k+64>>2]=c;h=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);f[k+56>>2]=h;c=g[(m+s|0)+ -1|0];if(c){break f}f[k+60>>2]=0;q=-20;break a}f[k+64>>2]=s;h=g[s|0];f[k+56>>2]=h;g:{switch(m+ -2|0){case 1:h=g[s+2|0]<<16|h;f[k+56>>2]=h;case 0:h=(g[s+1|0]<<8)+h|0;f[k+56>>2]=h;break;default:break g}}c=g[(m+s|0)+ -1|0];if(!c){f[k+60>>2]=0;q=-20;break a}l=((o(c)|-32)-(m<<3)|0)+41|0;f[k+60>>2]=l;break e}l=(o(c)|-32)+9|0;f[k+60>>2]=l;q=-20;if(m>>>0>4294967176){break a}}j=f[a>>2];e=f[j+4>>2];c=e+l|0;f[k+60>>2]=c;t=f[(e<<2)+4592>>2]&h>>>(0-c&31);f[k+76>>2]=t;h:{if(c>>>0>32){n=c;break h}e=k;i:{if((r|0)>=4){n=c&7;f[k+60>>2]=n;r=r-(c>>>3|0)|0;c=s+r|0;f[k+64>>2]=c;h=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);break i}if(!r){r=0;n=c;break h}h=c;c=c>>>3|0;c=(s+r|0)-c>>>0>>0?r:c;n=h-(c<<3)|0;f[k+60>>2]=n;r=r-c|0;c=s+r|0;f[k+64>>2]=c;h=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24)}f[e+56>>2]=h}m=(B|0)<4;S=j+8|0;f[k+80>>2]=S;l=f[a+8>>2];e=f[l+4>>2];c=e+n|0;f[k+60>>2]=c;e=f[(e<<2)+4592>>2]&h>>>(0-c&31);f[k+84>>2]=e;j:{if(c>>>0>32){n=c;break j}j=k;k:{if((r|0)>=4){n=c&7;f[k+60>>2]=n;r=r-(c>>>3|0)|0;c=s+r|0;f[k+64>>2]=c;h=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);break k}if(!r){r=0;n=c;break j}h=c;c=c>>>3|0;c=(s+r|0)-c>>>0>>0?r:c;n=h-(c<<3)|0;f[k+60>>2]=n;r=r-c|0;c=s+r|0;f[k+64>>2]=c;h=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24)}f[j+56>>2]=h}P=m?B:4;T=l+8|0;f[k+88>>2]=T;j=f[a+4>>2];a=f[j+4>>2];l=a+n|0;f[k+60>>2]=l;c=0;w=f[(a<<2)+4592>>2]&h>>>(0-l&31);f[k+92>>2]=w;l:{m:{if(l>>>0>=33){f[k+96>>2]=j+8;break m}n:{o:{p:{if((r|0)>=4){c=l&7;f[k+60>>2]=c;a=r-(l>>>3|0)|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);f[k+56>>2]=h;l=c;break p}if(r){break o}a=0}f[k+96>>2]=j+8;break n}a=l>>>3|0;a=(s+r|0)-a>>>0>>0?r:a;l=l-(a<<3)|0;f[k+60>>2]=l;a=r-a|0;c=s+a|0;f[k+64>>2]=c;h=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);f[k+96>>2]=j+8;f[k+56>>2]=h;c=0;if(l>>>0>32){break m}}D=(P|0)>0?P:0;X=j+8|0;u=a;m=a;j=a;v=a;q=a;c=0;while(1){n=k;q:{r:{if((q|0)>=4){r=l&7;f[k+60>>2]=r;a=q-(l>>>3|0)|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);break r}if(!q){r=l;q=0;break q}a=l>>>3|0;a=(q+s|0)-a>>>0>>0?q:a;r=l-(a<<3)|0;f[k+60>>2]=r;a=q-a|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24)}f[n+56>>2]=h;u=a;m=a;j=a;v=a;q=a}if((c|0)==(D|0)){l=r;c=D;break l}n=(t<<3)+S|0;l=f[n+4>>2];x=f[n>>2];n=l;U=(l&65535)<<16|x>>>16;I=U&255;p=(w<<3)+X|0;l=f[p+4>>2];A=f[p>>2];w=l;V=(l&65535)<<16|A>>>16;Q=V&255;l=(e<<3)+T|0;e=f[l+4>>2];C=f[l>>2];l=e;J=l;F=w;e=n;l=(l&65535)<<16|C>>>16;p=l&255;s:{if(p>>>0>=2){t:{if(!(!R|p>>>0<25)){l=32-r|0;t=l>>>0>p>>>0?p:l;l=t+r|0;f[k+60>>2]=l;Y=h<<(r&31)>>>(0-t&31)|0;r=p-t|0;t=Y<>>0>32){p=l;break u}q=k;v:{if((j|0)>=4){p=l&7;f[k+60>>2]=p;a=j-(l>>>3|0)|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);break v}if(!j){j=0;v=0;q=0;p=l;break u}a=l>>>3|0;a=(j+s|0)-a>>>0>>0?j:a;p=l-(a<<3)|0;f[k+60>>2]=p;a=j-a|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24)}f[q+56>>2]=h;u=a;m=a;j=a;v=a;q=a}l=t+J|0;if(!r){t=p;break t}t=p+r|0;f[k+60>>2]=t;l=(h<<(p&31)>>>(0-r&31)|0)+l|0;break t}p=p+r|0;f[k+60>>2]=p;l=J+(h<<(r&31)>>>(0-l&31)|0)|0;if(p>>>0>32){t=p;break t}q=k;w:{if((v|0)>=4){t=p&7;f[k+60>>2]=t;a=v-(p>>>3|0)|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);break w}if(!v){v=0;t=p;q=0;break t}a=p>>>3|0;a=(s+v|0)-a>>>0>>0?v:a;t=p-(a<<3)|0;f[k+60>>2]=t;a=v-a|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24)}f[q+56>>2]=h;u=a;m=a;j=a;v=a;q=a}p=f[k+100>>2];r=f[k+104>>2];f[k+100>>2]=l;f[k+104>>2]=p;f[k+108>>2]=r;break s}if(!p){if(e){l=f[k+100>>2];t=r;break s}l=f[k+104>>2];f[k+104>>2]=f[k+100>>2];f[k+100>>2]=l;t=r;break s}t=r+1|0;f[k+60>>2]=t;p=J+(!e+(h<<(r&31)>>>31|0)|0)|0;x:{y:{if((p|0)==3){l=f[k+100>>2]+ -1|0;l=!l+l|0;break y}l=f[((p<<2)+k|0)+100>>2];l=!l+l|0;if((p|0)==1){break x}}f[k+108>>2]=f[k+104>>2]}f[k+104>>2]=f[k+100>>2];f[k+100>>2]=l}J=I+Q|0;r=F;z:{if(!Q){p=t;break z}p=t+Q|0;f[k+60>>2]=p;r=(h<<(t&31)>>>(0-V&31)|0)+r|0}A:{if(J>>>0<20){t=p;break A}if(p>>>0>32){t=p;break A}j=k;B:{if((m|0)>=4){t=p&7;f[k+60>>2]=t;a=m-(p>>>3|0)|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);break B}if(!m){m=0;t=p;j=0;v=0;q=0;break A}a=p>>>3|0;a=(m+s|0)-a>>>0>>0?m:a;t=p-(a<<3)|0;f[k+60>>2]=t;a=m-a|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24)}f[j+56>>2]=h;u=a;m=a;j=a;v=a;q=a}p=(w&16777215)<<8|A>>>24;w=(n&16777215)<<8|x>>>24;C:{if(!I){n=t;break C}n=t+I|0;f[k+60>>2]=n;e=(h<<(t&31)>>>(0-U&31)|0)+e|0}t=p;D:{if(n>>>0>32){p=n;break D}j=k;E:{if((u|0)>=4){p=n&7;f[k+60>>2]=p;a=u-(n>>>3|0)|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);break E}if(!u){u=0;m=0;j=0;v=0;q=0;p=n;break D}a=n>>>3|0;a=(s+u|0)-a>>>0>>0?u:a;p=n-(a<<3)|0;f[k+60>>2]=p;a=u-a|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24)}f[j+56>>2]=h;u=a;m=a;j=a;v=a;q=a}F=e+O|0;O=F+r|0;f[k+120>>2]=O;n=p;p=w&255;w=n+p|0;I=t&255;n=w+I|0;f[k+60>>2]=n;t=(f[(p<<2)+4592>>2]&h>>>(0-w&31))+(x&65535)|0;f[k+76>>2]=t;w=(f[(I<<2)+4592>>2]&h>>>(0-n&31))+(A&65535)|0;f[k+92>>2]=w;x=(F+(l>>>0>F>>>0?E:y)|0)-l|0;F:{if(n>>>0>32){p=n;break F}j=k;G:{if((a|0)>=4){p=n&7;f[k+60>>2]=p;a=a-(n>>>3|0)|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);break G}if(!a){a=0;u=0;m=0;j=0;v=0;q=0;p=n;break F}h=n>>>3|0;h=(a+s|0)-h>>>0>>0?a:h;p=n-(h<<3)|0;f[k+60>>2]=p;a=a-h|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24)}f[j+56>>2]=h;u=a;m=a;j=a;v=a;q=a}n=(k+128|0)+(c<<4)|0;f[n+12>>2]=x;f[n+8>>2]=l;f[n+4>>2]=r;f[n>>2]=e;e=C>>>24|0;l=e+p|0;f[k+60>>2]=l;e=(f[(e<<2)+4592>>2]&h>>>(0-l&31))+(C&65535)|0;f[k+84>>2]=e;c=c+1|0;if(l>>>0<=32){continue}break}}q=-20;if((c|0)<(P|0)){break a}}F=G+ -32|0;s=k+112|0;I=k+116|0;e=b;while(1){H:{if(l>>>0>=33){q=-20;if((c|0)<(B|0)){break a}break H}a=f[k+64>>2];x=f[k+72>>2];I:{if(a>>>0>=x>>>0){m=l&7;f[k+60>>2]=m;a=a-(l>>>3|0)|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break I}h=f[k+68>>2];if((h|0)==(a|0)){m=l;break I}j=l>>>3|0;h=a-j>>>0>>0?a-h|0:j;a=a-h|0;f[k+64>>2]=a;m=l-(h<<3)|0;f[k+60>>2]=m;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}if((c|0)>=(B|0)){break H}h=f[k+80>>2]+(f[k+76>>2]<<3)|0;j=f[h+4>>2];u=f[h>>2];h=j;Q=(h&65535)<<16|u>>>16;A=Q&255;l=f[k+96>>2]+(f[k+92>>2]<<3)|0;j=f[l+4>>2];v=f[l>>2];p=j;J=(j&65535)<<16|v>>>16;C=J&255;j=f[k+88>>2]+(f[k+84>>2]<<3)|0;l=f[j+4>>2];w=f[j>>2];j=l;n=j;q=p;r=h;l=(j&65535)<<16|w>>>16;j=l&255;J:{if(j>>>0>=2){K:{if(!(!R|j>>>0<25)){l=32-m|0;D=l>>>0>j>>>0?j:l;l=D+m|0;f[k+60>>2]=l;t=f[k+56>>2];O=t<<(m&31)>>>(0-D&31)|0;m=j-D|0;D=O<>>0>32){j=l;break L}M:{if(a>>>0>=x>>>0){j=l&7;f[k+60>>2]=j;a=a-(l>>>3|0)|0;f[k+64>>2]=a;break M}j=f[k+68>>2];if((j|0)==(a|0)){j=l;break L}t=l>>>3|0;j=a-t>>>0>>0?a-j|0:t;a=a-j|0;f[k+64>>2]=a;j=l-(j<<3)|0;f[k+60>>2]=j}t=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);f[k+56>>2]=t}n=n+D|0;if(!m){l=j;break K}l=j+m|0;f[k+60>>2]=l;n=(t<<(j&31)>>>(0-m&31)|0)+n|0;break K}j=j+m|0;f[k+60>>2]=j;n=n+(f[k+56>>2]<<(m&31)>>>(0-l&31)|0)|0;if(j>>>0>32){l=j;break K}if(a>>>0>=x>>>0){l=j&7;f[k+60>>2]=l;a=a-(j>>>3|0)|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break K}m=f[k+68>>2];if((m|0)==(a|0)){l=j;break K}l=j>>>3|0;m=a-l>>>0>>0?a-m|0:l;a=a-m|0;f[k+64>>2]=a;l=j-(m<<3)|0;f[k+60>>2]=l;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}j=f[k+100>>2];m=f[k+104>>2];f[k+100>>2]=n;f[k+104>>2]=j;f[k+108>>2]=m;break J}if(!j){if(r){n=f[k+100>>2];l=m;break J}n=f[k+104>>2];f[k+104>>2]=f[k+100>>2];f[k+100>>2]=n;l=m;break J}l=m+1|0;f[k+60>>2]=l;j=n+!r+(f[k+56>>2]<<(m&31)>>>31)|0;N:{O:{if((j|0)==3){j=f[k+100>>2]+ -1|0;n=!j+j|0;break O}m=f[((j<<2)+k|0)+100>>2];n=!m+m|0;if((j|0)==1){break N}}f[k+108>>2]=f[k+104>>2]}f[k+104>>2]=f[k+100>>2];f[k+100>>2]=n}j=A+C|0;m=q;P:{if(!C){q=l;break P}q=l+C|0;f[k+60>>2]=q;m=(f[k+56>>2]<<(l&31)>>>(0-J&31)|0)+m|0}Q:{if(j>>>0<20){l=q;break Q}if(q>>>0>32){l=q;break Q}if(a>>>0>=x>>>0){l=q&7;f[k+60>>2]=l;a=a-(q>>>3|0)|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break Q}j=f[k+68>>2];if((j|0)==(a|0)){l=q;break Q}l=q>>>3|0;j=a-l>>>0>>0?a-j|0:l;a=a-j|0;f[k+64>>2]=a;l=q-(j<<3)|0;f[k+60>>2]=l;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}j=(p&16777215)<<8|v>>>24;q=(h&16777215)<<8|u>>>24;R:{if(!A){h=l;break R}h=l+A|0;f[k+60>>2]=h;r=(f[k+56>>2]<<(l&31)>>>(0-Q&31)|0)+r|0}l=j;S:{if(h>>>0>32){j=h;break S}if(a>>>0>=x>>>0){j=h&7;f[k+60>>2]=j;a=a-(h>>>3|0)|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break S}j=f[k+68>>2];if((j|0)==(a|0)){j=h;break S}p=h>>>3|0;j=a-p>>>0>>0?a-j|0:p;a=a-j|0;f[k+64>>2]=a;j=h-(j<<3)|0;f[k+60>>2]=j;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}A=f[k+120>>2]+r|0;f[k+120>>2]=A+m;h=j;j=q&255;p=h+j|0;l=l&255;h=p+l|0;f[k+60>>2]=h;q=f[k+56>>2];f[k+76>>2]=(f[(j<<2)+4592>>2]&q>>>(0-p&31))+(u&65535);f[k+92>>2]=(f[(l<<2)+4592>>2]&q>>>(0-h&31))+(v&65535);C=f[(n>>>0>A>>>0?I:s)>>2];T:{if(h>>>0>32){l=h;break T}j=k;U:{if(a>>>0>=x>>>0){l=h&7;f[k+60>>2]=l;a=a-(h>>>3|0)|0;f[k+64>>2]=a;q=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break U}l=f[k+68>>2];if((l|0)==(a|0)){l=h;break T}p=h;h=h>>>3|0;h=a-h>>>0>>0?a-l|0:h;l=p-(h<<3)|0;f[k+60>>2]=l;a=a-h|0;f[k+64>>2]=a;q=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}f[j+56>>2]=q}a=w>>>24|0;h=a+l|0;f[k+60>>2]=h;f[k+84>>2]=(f[(a<<2)+4592>>2]&q>>>(0-h&31))+(w&65535);t=(k+128|0)+((c&3)<<4)|0;a=t;h=f[a+12>>2];l=f[a+8>>2];f[k+216>>2]=l;f[k+220>>2]=h;h=f[a+4>>2];j=f[a>>2];f[k+208>>2]=j;f[k+212>>2]=h;V:{W:{u=f[k+204>>2];x=j+u|0;X:{if(x>>>0>H>>>0){break X}p=f[k+212>>2];q=j+p|0;if(q+e>>>0>F>>>0){break X}if(G-e>>>0>=q+32>>>0){break W}}a=f[k+220>>2];f[k+40>>2]=f[k+216>>2];f[k+44>>2]=a;a=f[k+212>>2];f[k+32>>2]=f[k+208>>2];f[k+36>>2]=a;q=W(e,G,k+32|0,k+204|0,H,y,K,E);break V}a=e+j|0;h=u;v=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);w=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[e|0]=w;d[e+1|0]=w>>>8;d[e+2|0]=w>>>16;d[e+3|0]=w>>>24;d[e+4|0]=v;d[e+5|0]=v>>>8;d[e+6|0]=v>>>16;d[e+7|0]=v>>>24;v=g[h+12|0]|g[h+13|0]<<8|(g[h+14|0]<<16|g[h+15|0]<<24);h=g[h+8|0]|g[h+9|0]<<8|(g[h+10|0]<<16|g[h+11|0]<<24);d[e+8|0]=h;d[e+9|0]=h>>>8;d[e+10|0]=h>>>16;d[e+11|0]=h>>>24;d[e+12|0]=v;d[e+13|0]=v>>>8;d[e+14|0]=v>>>16;d[e+15|0]=v>>>24;if(j>>>0>=17){h=e+16|0;while(1){j=g[u+20|0]|g[u+21|0]<<8|(g[u+22|0]<<16|g[u+23|0]<<24);v=g[u+16|0]|g[u+17|0]<<8|(g[u+18|0]<<16|g[u+19|0]<<24);d[h|0]=v;d[h+1|0]=v>>>8;d[h+2|0]=v>>>16;d[h+3|0]=v>>>24;d[h+4|0]=j;d[h+5|0]=j>>>8;d[h+6|0]=j>>>16;d[h+7|0]=j>>>24;j=g[u+28|0]|g[u+29|0]<<8|(g[u+30|0]<<16|g[u+31|0]<<24);v=g[u+24|0]|g[u+25|0]<<8|(g[u+26|0]<<16|g[u+27|0]<<24);d[h+8|0]=v;d[h+9|0]=v>>>8;d[h+10|0]=v>>>16;d[h+11|0]=v>>>24;d[h+12|0]=j;d[h+13|0]=j>>>8;d[h+14|0]=j>>>16;d[h+15|0]=j>>>24;u=u+16|0;h=h+16|0;if(h>>>0>>0){continue}break}}j=l;h=a-j|0;f[k+204>>2]=x;if(j>>>0>a-y>>>0){if(j>>>0>a-K>>>0){q=-20;break a}h=h-y|0;l=h+E|0;if(l+p>>>0<=E>>>0){N(a,l,p);break V}a=N(a,l,0-h|0);p=h+p|0;f[k+212>>2]=p;a=a-h|0;h=y}if(j>>>0>=16){p=a+p|0;while(1){j=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);l=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=l;d[a+1|0]=l>>>8;d[a+2|0]=l>>>16;d[a+3|0]=l>>>24;d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24;j=g[h+12|0]|g[h+13|0]<<8|(g[h+14|0]<<16|g[h+15|0]<<24);l=g[h+8|0]|g[h+9|0]<<8|(g[h+10|0]<<16|g[h+11|0]<<24);d[a+8|0]=l;d[a+9|0]=l>>>8;d[a+10|0]=l>>>16;d[a+11|0]=l>>>24;d[a+12|0]=j;d[a+13|0]=j>>>8;d[a+14|0]=j>>>16;d[a+15|0]=j>>>24;h=h+16|0;a=a+16|0;if(a>>>0

>>0){continue}break}break V}Y:{if(j>>>0<=7){d[a|0]=g[h|0];d[a+1|0]=g[h+1|0];d[a+2|0]=g[h+2|0];d[a+3|0]=g[h+3|0];l=j<<2;h=f[l+4752>>2]+h|0;j=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24;h=h-f[l+4784>>2]|0;break Y}j=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);l=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=l;d[a+1|0]=l>>>8;d[a+2|0]=l>>>16;d[a+3|0]=l>>>24;d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24}j=f[k+212>>2];if(j>>>0<9){break V}p=a+j|0;a=a+8|0;h=h+8|0;if((a-h|0)<=15){while(1){j=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);l=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=l;d[a+1|0]=l>>>8;d[a+2|0]=l>>>16;d[a+3|0]=l>>>24;d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24;h=h+8|0;a=a+8|0;if(a>>>0

>>0){continue}break V}}while(1){j=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);l=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=l;d[a+1|0]=l>>>8;d[a+2|0]=l>>>16;d[a+3|0]=l>>>24;d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24;j=g[h+12|0]|g[h+13|0]<<8|(g[h+14|0]<<16|g[h+15|0]<<24);l=g[h+8|0]|g[h+9|0]<<8|(g[h+10|0]<<16|g[h+11|0]<<24);d[a+8|0]=l;d[a+9|0]=l>>>8;d[a+10|0]=l>>>16;d[a+11|0]=l>>>24;d[a+12|0]=j;d[a+13|0]=j>>>8;d[a+14|0]=j>>>16;d[a+15|0]=j>>>24;h=h+16|0;a=a+16|0;if(a>>>0

>>0){continue}break}}if(q>>>0>4294967176){break a}f[t>>2]=r;f[t+12>>2]=(A+C|0)-n;f[t+8>>2]=n;f[t+4>>2]=m;c=c+1|0;e=e+q|0;l=f[k+60>>2];continue}break}c=c-P|0;if((c|0)<(B|0)){t=G+ -32|0;while(1){a=(k+128|0)+((c&3)<<4)|0;l=f[a+8>>2];h=f[a+12>>2];f[k+216>>2]=l;f[k+220>>2]=h;j=f[a+4>>2];h=f[a>>2];f[k+208>>2]=h;f[k+212>>2]=j;Z:{_:{j=f[k+204>>2];u=h+j|0;$:{if(u>>>0>H>>>0){break $}m=f[k+212>>2];q=h+m|0;if(q+e>>>0>t>>>0){break $}if(G-e>>>0>=q+32>>>0){break _}}a=f[k+220>>2];f[k+24>>2]=f[k+216>>2];f[k+28>>2]=a;a=f[k+212>>2];f[k+16>>2]=f[k+208>>2];f[k+20>>2]=a;q=W(e,G,k+16|0,k+204|0,H,y,K,E);break Z}a=e+h|0;n=g[j+4|0]|g[j+5|0]<<8|(g[j+6|0]<<16|g[j+7|0]<<24);p=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);d[e|0]=p;d[e+1|0]=p>>>8;d[e+2|0]=p>>>16;d[e+3|0]=p>>>24;d[e+4|0]=n;d[e+5|0]=n>>>8;d[e+6|0]=n>>>16;d[e+7|0]=n>>>24;n=g[j+12|0]|g[j+13|0]<<8|(g[j+14|0]<<16|g[j+15|0]<<24);p=g[j+8|0]|g[j+9|0]<<8|(g[j+10|0]<<16|g[j+11|0]<<24);d[e+8|0]=p;d[e+9|0]=p>>>8;d[e+10|0]=p>>>16;d[e+11|0]=p>>>24;d[e+12|0]=n;d[e+13|0]=n>>>8;d[e+14|0]=n>>>16;d[e+15|0]=n>>>24;if(h>>>0>=17){h=e+16|0;while(1){n=g[j+20|0]|g[j+21|0]<<8|(g[j+22|0]<<16|g[j+23|0]<<24);p=g[j+16|0]|g[j+17|0]<<8|(g[j+18|0]<<16|g[j+19|0]<<24);d[h|0]=p;d[h+1|0]=p>>>8;d[h+2|0]=p>>>16;d[h+3|0]=p>>>24;d[h+4|0]=n;d[h+5|0]=n>>>8;d[h+6|0]=n>>>16;d[h+7|0]=n>>>24;n=g[j+28|0]|g[j+29|0]<<8|(g[j+30|0]<<16|g[j+31|0]<<24);p=g[j+24|0]|g[j+25|0]<<8|(g[j+26|0]<<16|g[j+27|0]<<24);d[h+8|0]=p;d[h+9|0]=p>>>8;d[h+10|0]=p>>>16;d[h+11|0]=p>>>24;d[h+12|0]=n;d[h+13|0]=n>>>8;d[h+14|0]=n>>>16;d[h+15|0]=n>>>24;j=j+16|0;h=h+16|0;if(h>>>0>>0){continue}break}}j=l;h=a-j|0;f[k+204>>2]=u;if(j>>>0>a-y>>>0){if(j>>>0>a-K>>>0){q=-20;break a}h=h-y|0;l=h+E|0;if(l+m>>>0<=E>>>0){N(a,l,m);break Z}a=N(a,l,0-h|0);m=h+m|0;f[k+212>>2]=m;a=a-h|0;h=y}if(j>>>0>=16){l=a+m|0;while(1){j=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);m=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=m;d[a+1|0]=m>>>8;d[a+2|0]=m>>>16;d[a+3|0]=m>>>24;d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24;j=g[h+12|0]|g[h+13|0]<<8|(g[h+14|0]<<16|g[h+15|0]<<24);m=g[h+8|0]|g[h+9|0]<<8|(g[h+10|0]<<16|g[h+11|0]<<24);d[a+8|0]=m;d[a+9|0]=m>>>8;d[a+10|0]=m>>>16;d[a+11|0]=m>>>24;d[a+12|0]=j;d[a+13|0]=j>>>8;d[a+14|0]=j>>>16;d[a+15|0]=j>>>24;h=h+16|0;a=a+16|0;if(a>>>0>>0){continue}break}break Z}aa:{if(j>>>0<=7){d[a|0]=g[h|0];d[a+1|0]=g[h+1|0];d[a+2|0]=g[h+2|0];d[a+3|0]=g[h+3|0];m=j<<2;h=f[m+4752>>2]+h|0;j=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24;h=h-f[m+4784>>2]|0;break aa}j=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);m=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=m;d[a+1|0]=m>>>8;d[a+2|0]=m>>>16;d[a+3|0]=m>>>24;d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24}j=f[k+212>>2];if(j>>>0<9){break Z}l=a+j|0;a=a+8|0;h=h+8|0;if((a-h|0)<=15){while(1){j=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);m=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=m;d[a+1|0]=m>>>8;d[a+2|0]=m>>>16;d[a+3|0]=m>>>24;d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24;h=h+8|0;a=a+8|0;if(a>>>0>>0){continue}break Z}}while(1){j=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);m=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=m;d[a+1|0]=m>>>8;d[a+2|0]=m>>>16;d[a+3|0]=m>>>24;d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24;j=g[h+12|0]|g[h+13|0]<<8|(g[h+14|0]<<16|g[h+15|0]<<24);m=g[h+8|0]|g[h+9|0]<<8|(g[h+10|0]<<16|g[h+11|0]<<24);d[a+8|0]=m;d[a+9|0]=m>>>8;d[a+10|0]=m>>>16;d[a+11|0]=m>>>24;d[a+12|0]=j;d[a+13|0]=j>>>8;d[a+14|0]=j>>>16;d[a+15|0]=j>>>24;h=h+16|0;a=a+16|0;if(a>>>0>>0){continue}break}}if(q>>>0>4294967176){break a}e=e+q|0;c=c+1|0;if((B|0)!=(c|0)){continue}break}}c=f[k+104>>2];a=M;f[a>>2]=f[k+100>>2];f[a+4>>2]=c;f[a+8>>2]=f[k+108>>2];h=f[k+204>>2]}q=-70;a=H-h|0;if(a>>>0>G-e>>>0){break a}if(!e){q=0-b|0;break a}q=(L(e,h,a)+a|0)-b|0;break a}f[a+28956>>2]=0}h=f[a+28912>>2];f[k+208>>2]=h;x=b+c|0;A=f[a+28928>>2]+h|0;ba:{ca:{da:{ea:{if(!B){e=b;break ea}C=f[a+28740>>2];E=f[a+28736>>2];v=f[a+28732>>2];f[a+28812>>2]=1;f[k+108>>2]=f[a+26676>>2];w=a+26668|0;c=w;e=f[c+4>>2];f[k+100>>2]=f[c>>2];f[k+104>>2]=e;if(!m){f[k+72>>2]=0;a=k- -64|0;f[a>>2]=0;f[a+4>>2]=0;f[k+56>>2]=0;f[k+60>>2]=0;q=-20;break a}f[k+68>>2]=s;f[k+72>>2]=s+4;fa:{ga:{if(m>>>0>=4){j=m+ -4|0;c=s+j|0;f[k+64>>2]=c;e=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);f[k+56>>2]=e;c=g[(m+s|0)+ -1|0];if(c){break ga}f[k+60>>2]=0;q=-20;break a}f[k+64>>2]=s;e=g[s|0];f[k+56>>2]=e;ha:{switch(m+ -2|0){case 1:e=g[s+2|0]<<16|e;f[k+56>>2]=e;case 0:e=(g[s+1|0]<<8)+e|0;f[k+56>>2]=e;break;default:break ha}}c=g[(m+s|0)+ -1|0];if(!c){f[k+60>>2]=0;q=-20;break a}h=((o(c)|-32)-(m<<3)|0)+41|0;f[k+60>>2]=h;j=0;break fa}h=(o(c)|-32)+9|0;f[k+60>>2]=h;q=-20;if(m>>>0>4294967176){break a}}c=h;l=f[a>>2];h=f[l+4>>2];c=c+h|0;f[k+60>>2]=c;h=f[(h<<2)+4592>>2]&e>>>(0-c&31);f[k+76>>2]=h;ia:{if(c>>>0>32){r=c;break ia}m=k;ja:{if((j|0)>=4){r=c&7;f[k+60>>2]=r;j=j-(c>>>3|0)|0;c=s+j|0;f[k+64>>2]=c;e=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);break ja}if(!j){j=0;r=c;break ia}e=c;c=c>>>3|0;c=(j+s|0)-c>>>0>>0?j:c;r=e-(c<<3)|0;f[k+60>>2]=r;j=j-c|0;c=s+j|0;f[k+64>>2]=c;e=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24)}f[m+56>>2]=e}l=l+8|0;f[k+80>>2]=l;p=f[a+8>>2];c=f[p+4>>2];n=c+r|0;f[k+60>>2]=n;c=f[(c<<2)+4592>>2]&e>>>(0-n&31);f[k+84>>2]=c;ka:{if(n>>>0>32){m=n;break ka}q=k;la:{if((j|0)>=4){m=n&7;f[k+60>>2]=m;j=j-(n>>>3|0)|0;e=s+j|0;f[k+64>>2]=e;e=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);break la}if(!j){j=0;m=n;break ka}e=n>>>3|0;e=(j+s|0)-e>>>0>>0?j:e;m=n-(e<<3)|0;f[k+60>>2]=m;j=j-e|0;e=s+j|0;f[k+64>>2]=e;e=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24)}f[q+56>>2]=e}n=p+8|0;f[k+88>>2]=n;p=m;m=f[a+4>>2];q=f[m+4>>2];a=p+q|0;f[k+60>>2]=a;r=f[(q<<2)+4592>>2]&e>>>(0-a&31);f[k+92>>2]=r;ma:{if(a>>>0>32){j=a;break ma}e=j+s|0;if((j|0)>=4){j=a&7;f[k+60>>2]=j;a=e-(a>>>3|0)|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break ma}if(!j){j=a;break ma}p=a;a=a>>>3|0;a=e-a>>>0>>0?j:a;j=p-(a<<3)|0;f[k+60>>2]=j;a=e-a|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}m=m+8|0;f[k+96>>2]=m;G=x+ -32|0;e=b;q=0;while(1){a=(h<<3)+l|0;h=f[a+4>>2];t=f[a>>2];a=h;H=(a&65535)<<16|t>>>16;D=H&255;m=(r<<3)+m|0;h=f[m+4>>2];u=f[m>>2];p=h;K=(h&65535)<<16|u>>>16;M=K&255;c=(c<<3)+n|0;h=f[c+4>>2];r=f[c>>2];c=h;F=h;y=p;h=a;c=(c&65535)<<16|r>>>16;m=c&255;na:{if(m>>>0>=2){oa:{if(!(!R|m>>>0<25)){c=32-j|0;n=c>>>0>m>>>0?m:c;c=n+j|0;f[k+60>>2]=c;l=f[k+56>>2];s=m-n|0;P=l<<(j&31)>>>(0-n&31)<>>0>32){j=c;break pa}m=k;n=f[k+64>>2];qa:{if(n>>>0>=i[k+72>>2]){j=c&7;f[k+60>>2]=j;c=n-(c>>>3|0)|0;f[k+64>>2]=c;l=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);break qa}j=f[k+68>>2];if((j|0)==(n|0)){j=c;break pa}l=c;c=c>>>3|0;c=n-c>>>0>>0?n-j|0:c;j=l-(c<<3)|0;f[k+60>>2]=j;c=n-c|0;f[k+64>>2]=c;l=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24)}f[m+56>>2]=l}c=F+P|0;if(!s){n=j;break oa}n=j+s|0;f[k+60>>2]=n;c=(l<<(j&31)>>>(0-s&31)|0)+c|0;break oa}m=j+m|0;f[k+60>>2]=m;c=F+(f[k+56>>2]<<(j&31)>>>(0-c&31)|0)|0;if(m>>>0>32){n=m;break oa}j=f[k+64>>2];if(j>>>0>=i[k+72>>2]){n=m&7;f[k+60>>2]=n;j=j-(m>>>3|0)|0;f[k+64>>2]=j;f[k+56>>2]=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);break oa}l=f[k+68>>2];if((l|0)==(j|0)){n=m;break oa}n=m;m=m>>>3|0;m=j-m>>>0>>0?j-l|0:m;n=n-(m<<3)|0;f[k+60>>2]=n;j=j-m|0;f[k+64>>2]=j;f[k+56>>2]=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24)}j=f[k+100>>2];m=f[k+104>>2];f[k+100>>2]=c;f[k+104>>2]=j;f[k+108>>2]=m;break na}if(!m){if(h){c=f[k+100>>2];n=j;break na}c=f[k+104>>2];f[k+104>>2]=f[k+100>>2];f[k+100>>2]=c;n=j;break na}n=j+1|0;f[k+60>>2]=n;j=F+!h+(f[k+56>>2]<<(j&31)>>>31)|0;ra:{sa:{if((j|0)==3){c=f[k+100>>2]+ -1|0;c=!c+c|0;break sa}c=f[((j<<2)+k|0)+100>>2];c=!c+c|0;if((j|0)==1){break ra}}f[k+108>>2]=f[k+104>>2]}f[k+104>>2]=f[k+100>>2];f[k+100>>2]=c}j=D+M|0;l=y;ta:{if(!M){m=n;break ta}m=n+M|0;f[k+60>>2]=m;l=(f[k+56>>2]<<(n&31)>>>(0-K&31)|0)+l|0}ua:{if(j>>>0<20){j=m;break ua}if(m>>>0>32){j=m;break ua}n=f[k+64>>2];if(n>>>0>=i[k+72>>2]){j=m&7;f[k+60>>2]=j;m=n-(m>>>3|0)|0;f[k+64>>2]=m;f[k+56>>2]=g[m|0]|g[m+1|0]<<8|(g[m+2|0]<<16|g[m+3|0]<<24);break ua}j=f[k+68>>2];if((j|0)==(n|0)){j=m;break ua}y=m;m=m>>>3|0;m=n-m>>>0>>0?n-j|0:m;j=y-(m<<3)|0;f[k+60>>2]=j;m=n-m|0;f[k+64>>2]=m;f[k+56>>2]=g[m|0]|g[m+1|0]<<8|(g[m+2|0]<<16|g[m+3|0]<<24)}m=(p&16777215)<<8|u>>>24;n=(a&16777215)<<8|t>>>24;va:{if(!D){a=j;break va}a=j+D|0;f[k+60>>2]=a;h=(f[k+56>>2]<<(j&31)>>>(0-H&31)|0)+h|0}j=m;wa:{if(a>>>0>32){m=a;break wa}p=f[k+64>>2];if(p>>>0>=i[k+72>>2]){m=a&7;f[k+60>>2]=m;a=p-(a>>>3|0)|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break wa}m=f[k+68>>2];if((m|0)==(p|0)){m=a;break wa}y=a;a=a>>>3|0;a=p-a>>>0>>0?p-m|0:a;m=y-(a<<3)|0;f[k+60>>2]=m;a=p-a|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}a=m;m=n&255;n=a+m|0;j=j&255;a=n+j|0;f[k+60>>2]=a;p=f[(m<<2)+4592>>2];m=f[k+56>>2];f[k+76>>2]=(p&m>>>(0-n&31))+(t&65535);f[k+92>>2]=(f[(j<<2)+4592>>2]&m>>>(0-a&31))+(u&65535);xa:{if(a>>>0>32){n=a;break xa}j=k;p=f[k+64>>2];ya:{if(p>>>0>=i[k+72>>2]){n=a&7;f[k+60>>2]=n;a=p-(a>>>3|0)|0;f[k+64>>2]=a;m=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break ya}n=f[k+68>>2];if((n|0)==(p|0)){n=a;break xa}m=a;a=a>>>3|0;a=p-a>>>0>>0?p-n|0:a;n=m-(a<<3)|0;f[k+60>>2]=n;a=p-a|0;f[k+64>>2]=a;m=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}f[j+56>>2]=m}a=r>>>24|0;j=a+n|0;f[k+60>>2]=j;f[k+84>>2]=(f[(a<<2)+4592>>2]&m>>>(0-j&31))+(r&65535);f[k+128>>2]=h;j=f[k+208>>2];f[k+136>>2]=c;f[k+132>>2]=l;za:{Aa:{m=h+l|0;Ba:{if(m+e>>>0>G>>>0){break Ba}t=h+j|0;if(t>>>0>A>>>0){break Ba}if(x-e>>>0>=m+32>>>0){break Aa}}a=f[k+140>>2];f[k+8>>2]=f[k+136>>2];f[k+12>>2]=a;a=f[k+132>>2];f[k>>2]=f[k+128>>2];f[k+4>>2]=a;m=W(e,x,k,k+208|0,A,v,E,C);break za}a=e+h|0;n=g[j+4|0]|g[j+5|0]<<8|(g[j+6|0]<<16|g[j+7|0]<<24);p=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);d[e|0]=p;d[e+1|0]=p>>>8;d[e+2|0]=p>>>16;d[e+3|0]=p>>>24;d[e+4|0]=n;d[e+5|0]=n>>>8;d[e+6|0]=n>>>16;d[e+7|0]=n>>>24;n=g[j+12|0]|g[j+13|0]<<8|(g[j+14|0]<<16|g[j+15|0]<<24);p=g[j+8|0]|g[j+9|0]<<8|(g[j+10|0]<<16|g[j+11|0]<<24);d[e+8|0]=p;d[e+9|0]=p>>>8;d[e+10|0]=p>>>16;d[e+11|0]=p>>>24;d[e+12|0]=n;d[e+13|0]=n>>>8;d[e+14|0]=n>>>16;d[e+15|0]=n>>>24;if(h>>>0>=17){h=e+16|0;while(1){n=g[j+20|0]|g[j+21|0]<<8|(g[j+22|0]<<16|g[j+23|0]<<24);p=g[j+16|0]|g[j+17|0]<<8|(g[j+18|0]<<16|g[j+19|0]<<24);d[h|0]=p;d[h+1|0]=p>>>8;d[h+2|0]=p>>>16;d[h+3|0]=p>>>24;d[h+4|0]=n;d[h+5|0]=n>>>8;d[h+6|0]=n>>>16;d[h+7|0]=n>>>24;n=g[j+28|0]|g[j+29|0]<<8|(g[j+30|0]<<16|g[j+31|0]<<24);p=g[j+24|0]|g[j+25|0]<<8|(g[j+26|0]<<16|g[j+27|0]<<24);d[h+8|0]=p;d[h+9|0]=p>>>8;d[h+10|0]=p>>>16;d[h+11|0]=p>>>24;d[h+12|0]=n;d[h+13|0]=n>>>8;d[h+14|0]=n>>>16;d[h+15|0]=n>>>24;j=j+16|0;h=h+16|0;if(h>>>0>>0){continue}break}}h=a-c|0;f[k+208>>2]=t;if(c>>>0>a-v>>>0){if(c>>>0>a-E>>>0){m=-20;break za}h=h-v|0;j=h+C|0;if(j+l>>>0<=C>>>0){N(a,j,l);break za}a=N(a,j,0-h|0);l=h+l|0;f[k+132>>2]=l;a=a-h|0;h=v}if(c>>>0>=16){l=a+l|0;while(1){c=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);j=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=j;d[a+1|0]=j>>>8;d[a+2|0]=j>>>16;d[a+3|0]=j>>>24;d[a+4|0]=c;d[a+5|0]=c>>>8;d[a+6|0]=c>>>16;d[a+7|0]=c>>>24;c=g[h+12|0]|g[h+13|0]<<8|(g[h+14|0]<<16|g[h+15|0]<<24);j=g[h+8|0]|g[h+9|0]<<8|(g[h+10|0]<<16|g[h+11|0]<<24);d[a+8|0]=j;d[a+9|0]=j>>>8;d[a+10|0]=j>>>16;d[a+11|0]=j>>>24;d[a+12|0]=c;d[a+13|0]=c>>>8;d[a+14|0]=c>>>16;d[a+15|0]=c>>>24;h=h+16|0;a=a+16|0;if(a>>>0>>0){continue}break}break za}Ca:{if(c>>>0<=7){d[a|0]=g[h|0];d[a+1|0]=g[h+1|0];d[a+2|0]=g[h+2|0];d[a+3|0]=g[h+3|0];j=c<<2;c=f[j+4752>>2]+h|0;h=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);d[a+4|0]=h;d[a+5|0]=h>>>8;d[a+6|0]=h>>>16;d[a+7|0]=h>>>24;h=c-f[j+4784>>2]|0;break Ca}c=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);j=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=j;d[a+1|0]=j>>>8;d[a+2|0]=j>>>16;d[a+3|0]=j>>>24;d[a+4|0]=c;d[a+5|0]=c>>>8;d[a+6|0]=c>>>16;d[a+7|0]=c>>>24}c=f[k+132>>2];if(c>>>0<9){break za}l=a+c|0;a=a+8|0;h=h+8|0;if((a-h|0)<=15){while(1){c=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);j=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=j;d[a+1|0]=j>>>8;d[a+2|0]=j>>>16;d[a+3|0]=j>>>24;d[a+4|0]=c;d[a+5|0]=c>>>8;d[a+6|0]=c>>>16;d[a+7|0]=c>>>24;h=h+8|0;a=a+8|0;if(a>>>0>>0){continue}break za}}while(1){c=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);j=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=j;d[a+1|0]=j>>>8;d[a+2|0]=j>>>16;d[a+3|0]=j>>>24;d[a+4|0]=c;d[a+5|0]=c>>>8;d[a+6|0]=c>>>16;d[a+7|0]=c>>>24;c=g[h+12|0]|g[h+13|0]<<8|(g[h+14|0]<<16|g[h+15|0]<<24);j=g[h+8|0]|g[h+9|0]<<8|(g[h+10|0]<<16|g[h+11|0]<<24);d[a+8|0]=j;d[a+9|0]=j>>>8;d[a+10|0]=j>>>16;d[a+11|0]=j>>>24;d[a+12|0]=c;d[a+13|0]=c>>>8;d[a+14|0]=c>>>16;d[a+15|0]=c>>>24;h=h+16|0;a=a+16|0;if(a>>>0>>0){continue}break}}a=f[k+60>>2];Da:{if(a>>>0>32){j=a;break Da}c=f[k+64>>2];if(c>>>0>=i[k+72>>2]){j=a&7;f[k+60>>2]=j;a=c-(a>>>3|0)|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break Da}h=f[k+68>>2];if((h|0)==(c|0)){j=a;break Da}j=a;a=a>>>3|0;a=c-a>>>0>>0?c-h|0:a;j=j-(a<<3)|0;f[k+60>>2]=j;a=c-a|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}a=m>>>0<4294967177;e=a?e+m|0:e;q=a?q:m;B=B+ -1|0;if(B){c=f[k+84>>2];n=f[k+88>>2];r=f[k+92>>2];m=f[k+96>>2];h=f[k+76>>2];l=f[k+80>>2];continue}break}if(q>>>0>4294967176){break a}if(j>>>0<=32){a=f[k+64>>2];if(a>>>0>=i[k+72>>2]){f[k+60>>2]=j&7;a=a-(j>>>3|0)|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);q=-20;break a}c=f[k+68>>2];if((c|0)!=(a|0)){break da}q=-20;if(j>>>0<32){break a}}c=f[k+104>>2];a=w;f[a>>2]=f[k+100>>2];f[a+4>>2]=c;f[a+8>>2]=f[k+108>>2];h=f[k+208>>2]}q=-70;a=A-h|0;if(a>>>0>x-e>>>0){break a}if(e){break ca}a=0;break ba}b=j>>>3|0;b=a-b>>>0>>0?a-c|0:b;f[k+60>>2]=j-(b<<3);a=a-b|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);q=-20;break a}a=L(e,h,a)+a|0}q=a-b|0}z=k+224|0;return q}function ca(a,b,c,e,f){var i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;a:{if(e>>>0<10){break a}n=g[c+4|0]|g[c+5|0]<<8;j=g[c|0]|g[c+1|0]<<8;p=j+6|0;k=g[c+2|0]|g[c+3|0]<<8;r=n+(p+k|0)|0;if(e>>>0>>0){break a}if(!j){return-72}l=c+6|0;I=h[f+2>>1];b:{c:{if(j>>>0>=4){l=g[(j+l|0)+ -1|0];i=-1;if(!l){break b}t=j+2|0;j=t+c|0;m=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);l=(o(l)|-32)+9|0;break c}m=g[l|0];d:{switch(j+ -2|0){case 1:m=g[c+8|0]<<16|m;case 0:m=(g[c+7|0]<<8)+m|0;break;default:break d}}l=g[(j+l|0)+ -1|0];if(!l){break a}t=6;l=((o(l)|-32)-(j<<3)|0)+41|0}if(!k){return-72}D=c+p|0;B=k+D|0;e:{if(k>>>0>=4){p=g[B+ -1|0];i=-1;if(!p){break b}u=k+ -4|0;j=D+u|0;x=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);j=(o(p)|-32)+9|0;break e}x=g[D|0];f:{switch(k+ -2|0){case 1:x=g[D+2|0]<<16|x;case 0:x=(g[D+1|0]<<8)+x|0;break;default:break f}}j=g[B+ -1|0];if(!j){break a}j=((o(j)|-32)-(k<<3)|0)+41|0}if(!n){return-72}y=n+B|0;g:{if(n>>>0>=4){p=g[y+ -1|0];i=-1;if(!p){break b}v=n+ -4|0;k=B+v|0;z=g[k|0]|g[k+1|0]<<8|(g[k+2|0]<<16|g[k+3|0]<<24);k=(o(p)|-32)+9|0;break g}z=g[B|0];h:{switch(n+ -2|0){case 1:z=g[B+2|0]<<16|z;case 0:z=(g[B+1|0]<<8)+z|0;break;default:break h}}k=g[y+ -1|0];if(!k){break a}k=((o(k)|-32)-(n<<3)|0)+41|0}e=e-r|0;i=-72;if(!e){break b}i:{j:{if(e>>>0>=4){n=g[(e+y|0)+ -1|0];i=-1;if(!n){break b}if(e>>>0<=4294967176){break j}return e}A=g[y|0];k:{switch(e+ -2|0){case 1:A=g[y+2|0]<<16|A;case 0:A=(g[y+1|0]<<8)+A|0;break;default:break k}}i=g[(e+y|0)+ -1|0];if(!i){break a}e=((o(i)|-32)-(e<<3)|0)+41|0;break i}w=e+ -4|0;e=y+w|0;A=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);e=(o(n)|-32)+9|0}q=f+4|0;f=b+3>>>2|0;F=f+a|0;G=F+f|0;H=G+f|0;M=a+b|0;N=M+ -3|0;l:{if(H>>>0>=N>>>0){r=H;n=G;p=F;break l}f=0-I&31;p=F;n=G;r=H;while(1){i=(m<<(l&31)>>>f<<2)+q|0;s=h[i>>1];d[a|0]=s;d[a+1|0]=s>>>8;C=g[i+2|0];s=g[i+3|0];i=(x<<(j&31)>>>f<<2)+q|0;E=h[i>>1];d[p|0]=E;d[p+1|0]=E>>>8;E=g[i+2|0];J=g[i+3|0];i=(z<<(k&31)>>>f<<2)+q|0;K=h[i>>1];d[n|0]=K;d[n+1|0]=K>>>8;K=g[i+2|0];O=g[i+3|0];i=(A<<(e&31)>>>f<<2)+q|0;L=h[i>>1];d[r|0]=L;d[r+1|0]=L>>>8;L=g[i+2|0];i=g[i+3|0];s=a+s|0;l=l+C|0;a=(m<<(l&31)>>>f<<2)+q|0;C=h[a>>1];d[s|0]=C;d[s+1|0]=C>>>8;C=g[a+2|0];P=g[a+3|0];p=p+J|0;j=j+E|0;a=(x<<(j&31)>>>f<<2)+q|0;E=h[a>>1];d[p|0]=E;d[p+1|0]=E>>>8;E=g[a+2|0];Q=g[a+3|0];n=n+O|0;k=k+K|0;a=(z<<(k&31)>>>f<<2)+q|0;J=h[a>>1];d[n|0]=J;d[n+1|0]=J>>>8;J=g[a+2|0];K=g[a+3|0];r=i+r|0;e=e+L|0;a=(A<<(e&31)>>>f<<2)+q|0;i=h[a>>1];d[r|0]=i;d[r+1|0]=i>>>8;l=l+C|0;O=g[a+3|0];L=g[a+2|0];if((t|0)<10){a=3}else{t=t-(l>>>3|0)|0;a=t+c|0;m=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);l=l&7;a=0}C=a;j=j+E|0;i=3;if((u|0)<4){a=3}else{u=u-(j>>>3|0)|0;a=D+u|0;x=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);j=j&7;a=0}E=a;k=k+J|0;if((v|0)>=4){v=v-(k>>>3|0)|0;a=B+v|0;z=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);i=0;k=k&7}r=r+O|0;e=e+L|0;if((w|0)<4){a=3}else{w=w-(e>>>3|0)|0;a=y+w|0;A=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);e=e&7;a=0}J=a;a=s+P|0;p=p+Q|0;n=n+K|0;if(r>>>0>=N>>>0){break l}if(!(J|(C|E|i))){continue}break}}if(n>>>0>H>>>0|p>>>0>G>>>0){break a}i=-20;if(a>>>0>F>>>0){break b}m:{n:{o:{p:{if(l>>>0>=33){f=0-I&31;break p}C=F+ -3|0;f=0-I&31;while(1){q:{if((t|0)>=10){m=l>>>3|0;s=0;i=l&7;break q}if((t|0)==6){s=F+ -2|0;t=6;i=l;break n}i=l>>>3|0;s=(t-i|0)<6;m=s?t+ -6|0:i;i=l-(m<<3)|0}t=t-m|0;l=t+c|0;m=g[l|0]|g[l+1|0]<<8|(g[l+2|0]<<16|g[l+3|0]<<24);if(s|a>>>0>=C>>>0){break o}l=(m<<(i&31)>>>f<<2)+q|0;s=h[l>>1];d[a|0]=s;d[a+1|0]=s>>>8;a=g[l+3|0]+a|0;i=g[l+2|0]+i|0;l=(m<<(i&31)>>>f<<2)+q|0;s=h[l>>1];d[a|0]=s;d[a+1|0]=s>>>8;a=a+g[l+3|0]|0;l=i+g[l+2|0]|0;if(l>>>0<33){continue}break}}s=F+ -2|0;break m}s=F+ -2|0;if(i>>>0<=32){break n}l=i;break m}while(1){r:{if((t|0)>=10){l=i&7;m=i>>>3|0;i=0;break r}if((t|0)==6){t=6;l=i;break m}l=i;m=i>>>3|0;i=(t-m|0)<6;m=i?t+ -6|0:m;l=l-(m<<3)|0}t=t-m|0;m=t+c|0;m=g[m|0]|g[m+1|0]<<8|(g[m+2|0]<<16|g[m+3|0]<<24);if(i|a>>>0>s>>>0){break m}i=(m<<(l&31)>>>f<<2)+q|0;C=h[i>>1];d[a|0]=C;d[a+1|0]=C>>>8;a=g[i+3|0]+a|0;i=g[i+2|0]+l|0;if(i>>>0<=32){continue}break}l=i}if(a>>>0<=s>>>0){while(1){c=(m<<(l&31)>>>f<<2)+q|0;i=h[c>>1];d[a|0]=i;d[a+1|0]=i>>>8;l=g[c+2|0]+l|0;a=g[c+3|0]+a|0;if(a>>>0<=s>>>0){continue}break}}s:{if(a>>>0>=F>>>0){break s}i=a;c=m<<(l&31)>>>f|0;a=(c<<2)+q|0;d[i|0]=g[a|0];if(g[a+3|0]==1){l=g[a+2|0]+l|0;break s}if(l>>>0>31){break s}a=g[((c<<2)+q|0)+2|0]+l|0;l=a>>>0<32?a:32}t:{u:{v:{w:{if(j>>>0>=33){a=0-I&31;break w}i=G+ -3|0;a=0-I&31;while(1){x:{if((u|0)>=4){f=j>>>3|0;m=0;c=j&7;break x}if(!u){f=G+ -2|0;u=0;c=j;break u}c=j>>>3|0;m=(u+D|0)-c>>>0>>0;f=m?u:c;c=j-(f<<3)|0}u=u-f|0;f=D+u|0;x=g[f|0]|g[f+1|0]<<8|(g[f+2|0]<<16|g[f+3|0]<<24);if(m|p>>>0>=i>>>0){break v}f=(x<<(c&31)>>>a<<2)+q|0;j=h[f>>1];d[p|0]=j;d[p+1|0]=j>>>8;j=g[f+3|0]+p|0;f=g[f+2|0]+c|0;c=(x<<(f&31)>>>a<<2)+q|0;p=h[c>>1];d[j|0]=p;d[j+1|0]=p>>>8;p=j+g[c+3|0]|0;j=f+g[c+2|0]|0;if(j>>>0<33){continue}break}}f=G+ -2|0;break t}f=G+ -2|0;if(c>>>0<=32){break u}j=c;break t}while(1){y:{if((u|0)>=4){m=c>>>3|0;i=0;j=c&7;break y}if(!u){u=0;j=c;break t}j=c>>>3|0;i=(u+D|0)-j>>>0>>0;m=i?u:j;j=c-(m<<3)|0}u=u-m|0;c=D+u|0;x=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);if(i|p>>>0>f>>>0){break t}c=(x<<(j&31)>>>a<<2)+q|0;i=h[c>>1];d[p|0]=i;d[p+1|0]=i>>>8;p=g[c+3|0]+p|0;c=g[c+2|0]+j|0;if(c>>>0<=32){continue}break}j=c}if(p>>>0<=f>>>0){while(1){c=(x<<(j&31)>>>a<<2)+q|0;i=h[c>>1];d[p|0]=i;d[p+1|0]=i>>>8;j=g[c+2|0]+j|0;p=g[c+3|0]+p|0;if(p>>>0<=f>>>0){continue}break}}z:{if(p>>>0>=G>>>0){break z}c=x<<(j&31)>>>a|0;a=(c<<2)+q|0;d[p|0]=g[a|0];if(g[a+3|0]==1){j=g[a+2|0]+j|0;break z}if(j>>>0>31){break z}a=g[((c<<2)+q|0)+2|0]+j|0;j=a>>>0<32?a:32}A:{B:{C:{D:{if(k>>>0>=33){a=0-I&31;break D}i=H+ -3|0;a=0-I&31;while(1){E:{if((v|0)>=4){f=k>>>3|0;m=0;c=k&7;break E}if(!v){f=H+ -2|0;v=0;c=k;break B}c=k>>>3|0;m=(v+B|0)-c>>>0>>0;f=m?v:c;c=k-(f<<3)|0}v=v-f|0;f=B+v|0;z=g[f|0]|g[f+1|0]<<8|(g[f+2|0]<<16|g[f+3|0]<<24);if(m|n>>>0>=i>>>0){break C}f=(z<<(c&31)>>>a<<2)+q|0;k=h[f>>1];d[n|0]=k;d[n+1|0]=k>>>8;k=g[f+3|0]+n|0;f=g[f+2|0]+c|0;c=(z<<(f&31)>>>a<<2)+q|0;n=h[c>>1];d[k|0]=n;d[k+1|0]=n>>>8;n=k+g[c+3|0]|0;k=f+g[c+2|0]|0;if(k>>>0<33){continue}break}}f=H+ -2|0;break A}f=H+ -2|0;if(c>>>0<=32){break B}k=c;break A}while(1){F:{if((v|0)>=4){m=c>>>3|0;p=0;k=c&7;break F}if(!v){v=0;k=c;break A}k=c>>>3|0;p=(v+B|0)-k>>>0>>0;m=p?v:k;k=c-(m<<3)|0}v=v-m|0;c=B+v|0;z=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);if(p|n>>>0>f>>>0){break A}c=(z<<(k&31)>>>a<<2)+q|0;i=h[c>>1];d[n|0]=i;d[n+1|0]=i>>>8;n=g[c+3|0]+n|0;c=g[c+2|0]+k|0;if(c>>>0<=32){continue}break}k=c}if(n>>>0<=f>>>0){while(1){c=(z<<(k&31)>>>a<<2)+q|0;i=h[c>>1];d[n|0]=i;d[n+1|0]=i>>>8;k=g[c+2|0]+k|0;n=g[c+3|0]+n|0;if(n>>>0<=f>>>0){continue}break}}G:{if(n>>>0>=H>>>0){break G}c=z<<(k&31)>>>a|0;a=(c<<2)+q|0;d[n|0]=g[a|0];if(g[a+3|0]==1){k=g[a+2|0]+k|0;break G}if(k>>>0>31){break G}a=g[((c<<2)+q|0)+2|0]+k|0;k=a>>>0<32?a:32}a=0-I&31;H:{I:{J:{if(e>>>0<=32){while(1){K:{if((w|0)>=4){f=e>>>3|0;n=0;c=e&7;break K}if(!w){f=M+ -2|0;w=0;c=e;break I}c=e>>>3|0;n=(w+y|0)-c>>>0>>0;f=n?w:c;c=e-(f<<3)|0}w=w-f|0;e=y+w|0;A=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);if(n|r>>>0>=N>>>0){break J}e=(A<<(c&31)>>>a<<2)+q|0;f=h[e>>1];d[r|0]=f;d[r+1|0]=f>>>8;f=g[e+3|0]+r|0;e=g[e+2|0]+c|0;c=(A<<(e&31)>>>a<<2)+q|0;i=h[c>>1];d[f|0]=i;d[f+1|0]=i>>>8;r=f+g[c+3|0]|0;e=e+g[c+2|0]|0;if(e>>>0<33){continue}break}}f=M+ -2|0;break H}f=M+ -2|0;if(c>>>0<=32){break I}e=c;break H}while(1){L:{if((w|0)>=4){n=c>>>3|0;m=0;e=c&7;break L}if(!w){w=0;e=c;break H}e=c>>>3|0;m=(w+y|0)-e>>>0>>0;n=m?w:e;e=c-(n<<3)|0}w=w-n|0;c=y+w|0;A=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);if(m|r>>>0>f>>>0){break H}c=(A<<(e&31)>>>a<<2)+q|0;i=h[c>>1];d[r|0]=i;d[r+1|0]=i>>>8;r=g[c+3|0]+r|0;c=g[c+2|0]+e|0;if(c>>>0<=32){continue}break}e=c}if(r>>>0<=f>>>0){while(1){c=(A<<(e&31)>>>a<<2)+q|0;i=h[c>>1];d[r|0]=i;d[r+1|0]=i>>>8;e=g[c+2|0]+e|0;r=g[c+3|0]+r|0;if(r>>>0<=f>>>0){continue}break}}M:{if(r>>>0>=M>>>0){break M}c=A<<(e&31)>>>a|0;a=(c<<2)+q|0;d[r|0]=g[a|0];if(g[a+3|0]==1){e=g[a+2|0]+e|0;break M}if(e>>>0>31){break M}a=g[((c<<2)+q|0)+2|0]+e|0;e=a>>>0<32?a:32}i=(t|0)==6?(l|0)==32?u?-20:(j|0)==32?v?-20:(k|0)==32?w?-20:(e|0)==32?b:-20:-20:-20:-20:-20}return i}return-20}function ra(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,h=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,N=0,O=0,P=0,R=0;B=z-16|0;z=B;p=f[d+8>>2];q=f[d+4>>2];a:{if(p>>>0>q>>>0){e=-72;break a}h=f[b+8>>2];r=f[b+4>>2];if(h>>>0>r>>>0){e=-70;break a}n=f[b>>2];m=f[d>>2];if(!(!f[a+28964>>2]|f[a+29024>>2]!=1)){e=-104;if((r|0)!=f[a+29032>>2]|(n|0)!=f[a+29028>>2]|(h|0)!=f[a+29036>>2]){break a}}v=r?n+r|0:n;K=a+4120|0;N=a+6176|0;O=a+16|0;D=a+26668|0;P=a+10280|0;R=a+28728|0;q=q?m+q|0:m;r=p?m+p|0:m;F=q-r|0;w=a+160144|0;p=a+28752|0;x=a+29028|0;y=a+28804|0;C=a+28972|0;s=a+28988|0;G=a+160164|0;t=a+28856|0;H=t;m=r;E=h?h+n|0:n;n=E;while(1){b:{e=-1;h=p;j=w;c:{d:{e:{f:{g:{h:{i:{j:{switch(f[a+28964>>2]){case 3:k=f[y>>2];h=f[a+28744>>2];break d;case 1:e=f[a+29e3>>2];break i;case 4:break g;case 2:break h;case 0:break j;default:break a}}f[a+28964>>2]=1;f[a+28992>>2]=0;f[a+28996>>2]=0;f[a+29012>>2]=0;f[a+29016>>2]=0;f[a+29e3>>2]=0;f[a+28976>>2]=0;e=f[b+4>>2];f[x>>2]=f[b>>2];f[x+4>>2]=e;f[x+8>>2]=f[b+8>>2];e=0}e=Q(h,j,e,f[a+28908>>2]);if(e>>>0>4294967176){break a}if(e){h=f[a+29e3>>2];k=e-h|0;j=q-m|0;if(k>>>0>j>>>0){if(j){L((a+h|0)+160144|0,m,j);h=j+f[a+29e3>>2]|0;f[a+29e3>>2]=h}f[d+8>>2]=f[d+4>>2];a=f[a+28908>>2]?2:6;e=((a>>>0>e>>>0?a:e)-h|0)+3|0;break a}L((a+h|0)+160144|0,m,k);f[a+29e3>>2]=e;m=k+m|0;j=1;break c}k:{j=f[p>>2];h=f[p+4>>2];if((j|0)==-1&(h|0)==-1|f[a+28772>>2]==1){break k}k=j;j=v-n|0;if(!h&k>>>0>j>>>0|h>>>0>0){break k}Ba(B,r,F);h=f[B>>2];if(h>>>0>F>>>0){break k}m=a;o=n;p=r;u=h;l:{m:{switch(f[a+28960>>2]+1|0){default:t=f[a+28944>>2];n:{if(!t){break n}k=f[t+26692>>2];e=f[t+26688>>2];o:{p:{s=f[t>>2];if(s){if(!e){break p}c[e|0](k,s);c[e|0](k,t);break n}if(!e){break o}c[e|0](k,t);break n}M(s)}M(t)}f[a+28960>>2]=0;f[a+28944>>2]=0;f[a+28948>>2]=0;k=0;break l;case 2:f[a+28960>>2]=0;break;case 0:break m}}k=f[a+28948>>2]}e=Aa(m,o,j,p,u,k);if(e>>>0>4294967176){break a}f[a+28964>>2]=0;f[a+28744>>2]=0;n=e+n|0;m=h+r|0;break b}q:{if(f[a+28772>>2]==1|f[a+29024>>2]!=1){break q}j=f[p>>2];h=f[p+4>>2];if((j|0)==-1&(h|0)==-1|(!h&j>>>0<=v-n>>>0|h>>>0<0)){break q}e=-70;break a}r:{s:{switch(f[a+28960>>2]+1|0){default:h=f[a+28944>>2];t:{if(!h){break t}e=f[h+26692>>2];j=f[h+26688>>2];u:{v:{k=f[h>>2];if(k){if(!j){break v}c[j|0](e,k);c[j|0](e,h);break t}if(!j){break u}c[j|0](e,h);break t}M(k)}M(h)}e=0;f[a+28960>>2]=0;f[a+28944>>2]=0;f[a+28948>>2]=0;j=1;break r;case 2:f[a+28960>>2]=0;break;case 0:break s}}e=f[a+28948>>2];if(!e){e=0;j=1;break r}f[a+28956>>2]=f[a+28740>>2]!=(f[e+4>>2]+f[e+8>>2]|0);j=0}f[a+28792>>2]=0;f[a+28796>>2]=0;f[y>>2]=0;k=f[a+28908>>2];f[a+28744>>2]=k?1:5;h=R;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[a+10280>>2]=201326604;f[a+28952>>2]=0;f[a+28808>>2]=0;f[a+28812>>2]=0;f[a+28800>>2]=3;f[D+8>>2]=f[814];h=f[813];f[D>>2]=f[812];f[D+4>>2]=h;f[a+12>>2]=P;f[a+8>>2]=K;f[a+4>>2]=N;f[a>>2]=O;w:{if(j){break w}f[a+28952>>2]=f[e+26676>>2];h=f[e+4>>2];f[a+28736>>2]=h;f[a+28732>>2]=h;h=h+f[e+8>>2]|0;f[a+28728>>2]=h;f[a+28740>>2]=h;if(f[e+26680>>2]){f[a+28808>>2]=1;f[a+28812>>2]=1;f[a+12>>2]=e+10276;f[a+8>>2]=e+4116;f[a+4>>2]=e+6172;f[a>>2]=e+12;f[a+26668>>2]=f[e+26664>>2];f[a+26672>>2]=f[e+26668>>2];f[a+26676>>2]=f[e+26672>>2];break w}f[a+28808>>2]=0;f[a+28812>>2]=0}x:{if(((g[w|0]|g[w+1|0]<<8|(g[w+2|0]<<16|g[w+3|0]<<24))&-16)==407710288){e=g[a+160148|0]|g[a+160149|0]<<8|(g[a+160150|0]<<16|g[a+160151|0]<<24);k=7;break x}e=Q(p,w,f[a+29e3>>2],k);if(e>>>0>4294967176){break a}if(e){e=-72;break a}h=f[a+28780>>2];if(!(!h|(h|0)==f[a+28952>>2])){e=-32;break a}k=2;e=3;if(!f[a+28784>>2]){break x}f[a+28848>>2]=2048144761;f[a+28852>>2]=1640531534;f[a+28840>>2]=0;f[a+28844>>2]=0;f[a+28832>>2]=668265295;f[a+28836>>2]=-1028477379;f[a+28824>>2]=-1379879466;f[a+28828>>2]=1625958382;f[a+28816>>2]=0;f[a+28820>>2]=0;f[H+32>>2]=0;f[H+36>>2]=0;h=t;f[h+24>>2]=0;f[h+28>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=0;f[h+4>>2]=0}f[a+28744>>2]=e;f[y>>2]=k;j=f[a+28760>>2];k=j;h=f[a+28764>>2];j=!h&j>>>0>1024|h>>>0>0;e=j?k:1024;h=j?h:0;j=h;f[a+28760>>2]=e;f[a+28764>>2]=h;if(!h&e>>>0>i[a+28980>>2]|h>>>0>0){e=-16;break a}h=f[a+28768>>2];o=h>>>0>4?h:4;h=0;k=0;if(!f[a+29024>>2]){k=f[p+4>>2];u=k;I=f[p>>2];A=!j&e>>>0<131072|j>>>0<0;J=A?e:131072;e=J+e|0;j=(A?j:0)+j|0;j=e>>>0>>0?j+1|0:j;A=e- -64|0;j=j-((e>>>0<4294967232)+ -1|0)|0;e=(k|0)==(j|0)&A>>>0>I>>>0|j>>>0>k>>>0;k=e?I:A;j=e?u:j;k=(j|0)==1&k>>>0<0|j>>>0<1?k:-16}j=f[C>>2];u=f[s>>2];e=k+o|0;if(j+u>>>0>=l(e,3)>>>0){h=f[G>>2]+1|0}f[G>>2]=h;if(!(h>>>0<128?!(j>>>0>>0|u>>>0>>0):0)){y:{z:{h=f[a+28936>>2];if(h){if(e>>>0<=h+ -160168>>>0){break z}e=-64;break a}h=f[a+28968>>2];A:{if(!h){break A}j=g[a+28920|0]|g[a+28921|0]<<8|(g[a+28922|0]<<16|g[a+28923|0]<<24);if(j){c[j|0](g[a+28924|0]|g[a+28925|0]<<8|(g[a+28926|0]<<16|g[a+28927|0]<<24),h);break A}M(h)}f[s>>2]=0;f[C>>2]=0;j=a;h=g[a+28916|0]|g[a+28917|0]<<8|(g[a+28918|0]<<16|g[a+28919|0]<<24);B:{if(h){h=c[h|0](g[a+28924|0]|g[a+28925|0]<<8|(g[a+28926|0]<<16|g[a+28927|0]<<24),e)|0;break B}h=U(e)}f[j+28968>>2]=h;if(h){break y}e=-64;break a}h=f[a+28968>>2]}f[s>>2]=k;f[a+28984>>2]=h+o;f[C>>2]=o}f[a+28964>>2]=2}e=q-m|0;k=f[y>>2];if(f[a+28800>>2]|k+ -3>>>0>=2){break f}j=e>>>0>1?e:1;h=f[a+28744>>2];j=j>>>0>>0?j:h;break e}j=a;k=v-n|0;h=f[a+28992>>2];o=f[a+28996>>2]-h|0;u=k>>>0>>0;e=u?k:o;if(e){L(n,h+f[a+28984>>2]|0,e);h=f[a+28992>>2]}h=e+h|0;f[j+28992>>2]=h;n=e+n|0;C:{if(u){break C}f[a+28964>>2]=2;j=f[a+28756>>2];e=f[s>>2];if(!j&i[a+28752>>2]<=e>>>0|j>>>0<0|h+f[a+28768>>2]>>>0<=e>>>0){break C}f[a+28992>>2]=0;f[a+28996>>2]=0}j=k>>>0>=o>>>0;break c}h=f[a+28744>>2];j=h}if(!j){f[a+28964>>2]=0;break b}if(e>>>0>=j>>>0){o=(k|0)==7;h=a;D:{E:{if(!f[a+29024>>2]){F:{if((k|0)==7){e=f[a+28992>>2];k=0;break F}e=f[a+28992>>2];k=f[s>>2]-e|0}e=S(a,f[a+28984>>2]+e|0,k,m,j);if(e>>>0>4294967176){break a}if(!(e|o)){break E}f[a+28996>>2]=f[a+28992>>2]+e;k=4;break D}e=S(a,n,o?0:v-n|0,m,j);if(e>>>0>4294967176){break a}n=e+n|0}k=2}f[h+28964>>2]=k;m=j+m|0;j=1;break c}if((m|0)==(q|0)){m=q;break b}f[a+28964>>2]=3}e=f[a+28976>>2];j=h-e|0;G:{if((k|0)==7){k=q-m|0;k=j>>>0>>0?j:k;break G}if(j>>>0>f[C>>2]-e>>>0){e=-20;break a}k=q-m|0;k=j>>>0>>0?j:k;if(!k){k=0;break G}L(f[a+28968>>2]+e|0,m,k);e=f[a+28976>>2]}f[a+28976>>2]=e+k;m=k+m|0;if(k>>>0>>0){break b}f[a+28976>>2]=0;k=f[y>>2];j=(k|0)==7;e=f[a+28968>>2];if(!f[a+29024>>2]){H:{if((k|0)==7){k=f[a+28992>>2];o=0;break H}k=f[a+28992>>2];o=f[s>>2]-k|0}e=S(a,f[a+28984>>2]+k|0,o,e,h);if(e>>>0>4294967176){break a}if(!(e|j)){f[a+28964>>2]=2;j=1;break c}f[a+28964>>2]=4;f[a+28996>>2]=f[a+28992>>2]+e;j=1;break c}e=S(a,n,j?0:v-n|0,e,h);if(e>>>0>4294967176){break a}f[a+28964>>2]=2;n=e+n|0;j=1}if(j){continue}}break}f[d+8>>2]=m-f[d>>2];h=n-f[b>>2]|0;f[b+8>>2]=h;f[x+8>>2]=h;h=f[b+4>>2];f[x>>2]=f[b>>2];f[x+4>>2]=h;I:{if(!((n|0)!=(E|0)|(m|0)!=(r|0))){b=f[a+29020>>2];f[a+29020>>2]=b+1;if((b|0)<15){break I}e=-70;if((v|0)==(E|0)){break a}e=-72;if((q|0)!=(r|0)){break I}break a}f[a+29020>>2]=0}b=f[a+28744>>2];if(!b){b=f[a+29016>>2];if(f[a+28996>>2]==f[a+28992>>2]){e=0;if(!b){break a}b=f[d+8>>2];if(b>>>0>=i[d+4>>2]){f[a+28964>>2]=2;e=1;break a}f[d+8>>2]=b+1;break a}e=1;if(b){break a}f[d+8>>2]=f[d+8>>2]+ -1;f[a+29016>>2]=1;break a}e=(b-f[a+28976>>2]|0)+(f[a+28804>>2]==3?3:0)|0}z=B+16|0;return e|0}function ea(a,b,c,e,f){var i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;a:{if(e>>>0<10){break a}k=g[c+4|0]|g[c+5|0]<<8;i=g[c|0]|g[c+1|0]<<8;p=i+6|0;j=g[c+2|0]|g[c+3|0]<<8;r=k+(p+j|0)|0;if(e>>>0>>0){break a}if(!i){return-72}l=c+6|0;F=h[f+2>>1];b:{c:{if(i>>>0>=4){l=g[(i+l|0)+ -1|0];x=-1;if(!l){break b}l=(o(l)|-32)+9|0;i=i+2|0;n=i+c|0;m=g[n|0]|g[n+1|0]<<8|(g[n+2|0]<<16|g[n+3|0]<<24);break c}m=g[l|0];d:{switch(i+ -2|0){case 1:m=g[c+8|0]<<16|m;case 0:m=(g[c+7|0]<<8)+m|0;break;default:break d}}l=g[(i+l|0)+ -1|0];if(!l){break a}l=((o(l)|-32)-(i<<3)|0)+41|0;i=6}if(!j){return-72}B=c+p|0;z=j+B|0;e:{if(j>>>0>=4){n=g[z+ -1|0];x=-1;if(!n){break b}t=j+ -4|0;j=B+t|0;C=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);n=(o(n)|-32)+9|0;break e}C=g[B|0];f:{switch(j+ -2|0){case 1:C=g[B+2|0]<<16|C;case 0:C=(g[B+1|0]<<8)+C|0;break;default:break f}}n=g[z+ -1|0];if(!n){break a}n=((o(n)|-32)-(j<<3)|0)+41|0}if(!k){return-72}A=k+z|0;g:{if(k>>>0>=4){j=g[A+ -1|0];x=-1;if(!j){break b}p=(o(j)|-32)+9|0;q=k+ -4|0;j=z+q|0;D=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);break g}D=g[z|0];h:{switch(k+ -2|0){case 1:D=g[z+2|0]<<16|D;case 0:D=(g[z+1|0]<<8)+D|0;break;default:break h}}j=g[A+ -1|0];if(!j){break a}p=((o(j)|-32)-(k<<3)|0)+41|0}e=e-r|0;x=-72;if(!e){break b}i:{j:{if(e>>>0>=4){j=g[(e+A|0)+ -1|0];x=-1;if(!j){break b}if(e>>>0<=4294967176){break j}return e}y=g[A|0];k:{switch(e+ -2|0){case 1:y=g[A+2|0]<<16|y;case 0:y=(g[A+1|0]<<8)+y|0;break;default:break k}}j=g[(e+A|0)+ -1|0];if(!j){break a}j=((o(j)|-32)-(e<<3)|0)+41|0;break i}E=e+ -4|0;e=E+A|0;y=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);j=(o(j)|-32)+9|0}v=f+4|0;e=b+3>>>2|0;G=e+a|0;H=G+e|0;I=H+e|0;K=a+b|0;L=K+ -3|0;l:{if(I>>>0>=L>>>0){r=t;u=q;e=E;w=i;f=I;s=H;k=G;break l}x=0-F&31;k=G;s=H;f=I;M=1;while(1){e=(m<<(l&31)>>>x<<1)+v|0;r=g[e+1|0];d[a|0]=g[e|0];e=(C<<(n&31)>>>x<<1)+v|0;u=g[e+1|0];d[k|0]=g[e|0];e=(D<<(p&31)>>>x<<1)+v|0;w=g[e+1|0];d[s|0]=g[e|0];e=(y<<(j&31)>>>x<<1)+v|0;J=g[e+1|0];d[f|0]=g[e|0];e=l+r|0;l=(m<<(e&31)>>>x<<1)+v|0;r=g[l+1|0];d[a+1|0]=g[l|0];n=n+u|0;l=(C<<(n&31)>>>x<<1)+v|0;u=g[l+1|0];d[k+1|0]=g[l|0];p=p+w|0;l=(D<<(p&31)>>>x<<1)+v|0;N=g[l+1|0];d[s+1|0]=g[l|0];j=j+J|0;l=(y<<(j&31)>>>x<<1)+v|0;J=g[l+1|0];d[f+1|0]=g[l|0];l=e+r|0;m:{if((i|0)<10){w=i;break m}w=i-(l>>>3|0)|0;e=w+c|0;m=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);l=l&7}n=n+u|0;n:{if((t|0)<4){r=t;break n}r=t-(n>>>3|0)|0;e=B+r|0;C=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);n=n&7}p=p+N|0;o:{if((q|0)<4){u=q;break o}u=q-(p>>>3|0)|0;e=z+u|0;D=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);p=p&7}e=j+J|0;f=f+2|0;p:{if((E|0)<4){j=e;e=E;break p}j=e&7;e=E-(e>>>3|0)|0;y=A+e|0;y=g[y|0]|g[y+1|0]<<8|(g[y+2|0]<<16|g[y+3|0]<<24)}s=s+2|0;k=k+2|0;a=a+2|0;J=(t|0)>3;N=(q|0)>3;O=(E|0)>3;P=(i|0)>9;i=w;E=e;q=u;t=r;M=P&(J&N&O)&M;if(M&f>>>0>>0){continue}break}}if(s>>>0>I>>>0|k>>>0>H>>>0){break a}x=-20;if(a>>>0>G>>>0){break b}q:{r:{s:{if(l>>>0>=33){q=0-F&31;break s}E=G+ -3|0;q=0-F&31;t:{u:{while(1){v:{if((w|0)>=10){m=l>>>3|0;t=0;i=l&7;break v}if((w|0)==6){i=l;w=6;break u}i=l>>>3|0;t=(w-i|0)<6;m=t?w+ -6|0:i;i=l-(m<<3)|0}w=w-m|0;l=w+c|0;m=g[l|0]|g[l+1|0]<<8|(g[l+2|0]<<16|g[l+3|0]<<24);if(!(t|a>>>0>=E>>>0)){l=(m<<(i&31)>>>q<<1)+v|0;t=g[l+1|0];d[a|0]=g[l|0];i=i+t|0;l=(m<<(i&31)>>>q<<1)+v|0;t=g[l+1|0];d[a+1|0]=g[l|0];a=a+2|0;l=i+t|0;if(l>>>0<=32){continue}break s}break}if(i>>>0>32){break t}}while(1){w:{if((w|0)>=10){m=i>>>3|0;t=0;l=i&7;break w}if((w|0)==6){w=6;break t}l=i>>>3|0;t=(w-l|0)<6;m=t?w+ -6|0:l;l=i-(m<<3)|0}w=w-m|0;i=w+c|0;m=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);i=a>>>0>=G>>>0;if(!(t?0:!i)){if(i){break q}break r}i=(m<<(l&31)>>>q<<1)+v|0;t=g[i+1|0];d[a|0]=g[i|0];a=a+1|0;i=l+t|0;if(i>>>0<=32){continue}break}}l=i}if(a>>>0>=G>>>0){break q}}while(1){c=(m<<(l&31)>>>q<<1)+v|0;i=g[c+1|0];d[a|0]=g[c|0];l=i+l|0;a=a+1|0;if((G|0)!=(a|0)){continue}break}}x:{y:{z:{if(n>>>0>=33){c=0-F&31;i=r+B|0;break z}t=H+ -3|0;c=0-F&31;A:{B:{C:{while(1){D:{if((r|0)>=4){q=n>>>3|0;m=0;a=n&7;break D}if(!r){r=0;i=B;a=n;break B}a=n>>>3|0;m=(r+B|0)-a>>>0>>0;q=m?r:a;a=n-(q<<3)|0}r=r-q|0;i=B+r|0;C=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);if(m|k>>>0>=t>>>0){break C}i=(C<<(a&31)>>>c<<1)+v|0;n=g[i+1|0];d[k|0]=g[i|0];a=a+n|0;i=(C<<(a&31)>>>c<<1)+v|0;n=g[i+1|0];d[k+1|0]=g[i|0];k=k+2|0;n=a+n|0;if(n>>>0<33){continue}break}i=r+B|0;break z}if(a>>>0>32){break A}}while(1){E:{if((r|0)>=4){q=a>>>3|0;m=0;n=a&7;break E}if(!r){break A}i=a>>>3|0;m=(r+B|0)-i>>>0>>0;q=m?r:i;n=a-(q<<3)|0}r=r-q|0;i=B+r|0;C=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);a=k>>>0>=H>>>0;if(!(m?0:!a)){if(!a){break y}break x}a=(C<<(n&31)>>>c<<1)+v|0;t=g[a+1|0];d[k|0]=g[a|0];k=k+1|0;a=n+t|0;if(a>>>0<=32){continue}break}}n=a}if(k>>>0>=H>>>0){break x}}while(1){a=(C<<(n&31)>>>c<<1)+v|0;r=g[a+1|0];d[k|0]=g[a|0];n=n+r|0;k=k+1|0;if((H|0)!=(k|0)){continue}break}}F:{G:{H:{if(p>>>0>=33){c=0-F&31;m=u+z|0;break H}r=I+ -3|0;c=0-F&31;I:{J:{K:{while(1){L:{if((u|0)>=4){q=p>>>3|0;k=0;a=p&7;break L}if(!u){u=0;m=z;a=p;break J}a=p>>>3|0;k=(u+z|0)-a>>>0>>0;q=k?u:a;a=p-(q<<3)|0}u=u-q|0;m=z+u|0;D=g[m|0]|g[m+1|0]<<8|(g[m+2|0]<<16|g[m+3|0]<<24);if(k|s>>>0>=r>>>0){break K}p=(D<<(a&31)>>>c<<1)+v|0;k=g[p+1|0];d[s|0]=g[p|0];a=a+k|0;p=(D<<(a&31)>>>c<<1)+v|0;k=g[p+1|0];d[s+1|0]=g[p|0];s=s+2|0;p=a+k|0;if(p>>>0<33){continue}break}m=u+z|0;break H}if(a>>>0>32){break I}}while(1){M:{if((u|0)>=4){q=a>>>3|0;k=0;p=a&7;break M}if(!u){break I}p=a>>>3|0;k=(u+z|0)-p>>>0>>0;q=k?u:p;p=a-(q<<3)|0}u=u-q|0;m=z+u|0;D=g[m|0]|g[m+1|0]<<8|(g[m+2|0]<<16|g[m+3|0]<<24);a=s>>>0>=I>>>0;if(!(k?0:!a)){if(!a){break G}break F}a=(D<<(p&31)>>>c<<1)+v|0;k=g[a+1|0];d[s|0]=g[a|0];s=s+1|0;a=k+p|0;if(a>>>0<=32){continue}break}}p=a}if(s>>>0>=I>>>0){break F}}while(1){a=(D<<(p&31)>>>c<<1)+v|0;k=g[a+1|0];d[s|0]=g[a|0];p=k+p|0;s=s+1|0;if((I|0)!=(s|0)){continue}break}}c=0-F&31;N:{O:{P:{Q:{R:{S:{if(j>>>0<=32){while(1){T:{if((e|0)>=4){q=j>>>3|0;s=0;a=j&7;break T}if(!e){e=0;k=A;a=j;break R}a=j>>>3|0;s=(e+A|0)-a>>>0>>0;q=s?e:a;a=j-(q<<3)|0}e=e-q|0;k=A+e|0;y=g[k|0]|g[k+1|0]<<8|(g[k+2|0]<<16|g[k+3|0]<<24);if(s|f>>>0>=L>>>0){break S}j=(y<<(a&31)>>>c<<1)+v|0;k=g[j+1|0];d[f|0]=g[j|0];a=a+k|0;j=(y<<(a&31)>>>c<<1)+v|0;k=g[j+1|0];d[f+1|0]=g[j|0];f=f+2|0;j=a+k|0;if(j>>>0<33){continue}break}}k=e+A|0;break P}if(a>>>0>32){break Q}}while(1){U:{if((e|0)>=4){q=a>>>3|0;s=0;j=a&7;break U}if(!e){break Q}j=a>>>3|0;s=(e+A|0)-j>>>0>>0;q=s?e:j;j=a-(q<<3)|0}e=e-q|0;k=A+e|0;y=g[k|0]|g[k+1|0]<<8|(g[k+2|0]<<16|g[k+3|0]<<24);a=f>>>0>=K>>>0;if(!(s?0:!a)){if(!a){break O}break N}a=(y<<(j&31)>>>c<<1)+v|0;r=g[a+1|0];d[f|0]=g[a|0];f=f+1|0;a=j+r|0;if(a>>>0<=32){continue}break}}j=a}if(f>>>0>=K>>>0){break N}}while(1){a=(y<<(j&31)>>>c<<1)+v|0;e=g[a+1|0];d[f|0]=g[a|0];j=e+j|0;f=f+1|0;if((K|0)!=(f|0)){continue}break}}x=(w|0)==6?(l|0)==32?(n|0)==32?(i|0)==(B|0)?(p|0)==32?(m|0)==(z|0)?(j|0)==32?(k|0)==(A|0)?b:-20:-20:-20:-20:-20:-20:-20:-20}return x}return-20}function ja(a,b,c,e){var i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=a+255|0;u=t+ -3|0;a:{b:{c:{d:{if(h[e+2>>1]){if(!c){return-72}e:{f:{if(c>>>0>=4){v=-1;i=g[(b+c|0)+ -1|0];if(!i){break b}if(c>>>0<=4294967176){break f}return c}k=g[b|0];g:{switch(c+ -2|0){case 1:k=g[b+2|0]<<16|k;case 0:k=(g[b+1|0]<<8)+k|0;break;default:break g}}i=g[(b+c|0)+ -1|0];if(!i){return-20}i=((o(i)|-32)-(c<<3)|0)+41|0;c=0;break e}i=(o(i)|-32)+9|0;c=c+ -4|0;j=c+b|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24)}m=h[e>>1];i=m+i|0;l=k>>>(0-i&31)|0;p=f[(m<<2)+4592>>2];h:{if(i>>>0>32){j=i;break h}if((c|0)>=4){j=i&7;c=c-(i>>>3|0)|0;i=c+b|0;k=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);break h}if(!c){c=0;j=i;break h}j=i;i=i>>>3|0;i=(b+c|0)-i>>>0>>0?c:i;j=j-(i<<3)|0;c=c-i|0;i=c+b|0;k=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24)}n=l&p;r=e+4|0;e=j+m|0;m=p&k>>>(0-e&31);if(e>>>0>32){i=e;e=a;break c}if((c|0)>=4){i=e&7;c=c-(e>>>3|0)|0;e=c+b|0;k=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);break d}if(!c){c=0;i=e;break d}i=e>>>3|0;i=(b+c|0)-i>>>0>>0?c:i;c=c-i|0;j=c+b|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);i=e-(i<<3)|0;if(i>>>0<=32){break d}e=a;break c}if(!c){return-72}i:{j:{if(c>>>0>=4){v=-1;i=g[(b+c|0)+ -1|0];if(!i){break b}if(c>>>0<=4294967176){break j}return c}k=g[b|0];k:{switch(c+ -2|0){case 1:k=g[b+2|0]<<16|k;case 0:k=(g[b+1|0]<<8)+k|0;break;default:break k}}i=g[(b+c|0)+ -1|0];if(!i){return-20}i=((o(i)|-32)-(c<<3)|0)+41|0;c=0;break i}i=(o(i)|-32)+9|0;c=c+ -4|0;j=c+b|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24)}m=h[e>>1];i=m+i|0;l=k>>>(0-i&31)|0;p=f[(m<<2)+4592>>2];l:{if(i>>>0>32){j=i;break l}if((c|0)>=4){j=i&7;c=c-(i>>>3|0)|0;i=c+b|0;k=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);break l}if(!c){c=0;j=i;break l}j=i;i=i>>>3|0;i=(b+c|0)-i>>>0>>0?c:i;j=j-(i<<3)|0;c=c-i|0;i=c+b|0;k=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24)}n=l&p;r=e+4|0;e=j+m|0;m=p&k>>>(0-e&31);m:{if(e>>>0>32){i=e;e=a;break m}n:{if((c|0)>=4){i=e&7;c=c-(e>>>3|0)|0;e=c+b|0;k=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);break n}if(!c){c=0;i=e;break n}i=e>>>3|0;i=(b+c|0)-i>>>0>>0?c:i;c=c-i|0;j=c+b|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);i=e-(i<<3)|0;if(i>>>0<=32){break n}e=a;break m}e=a;while(1){o:{if((c|0)>=4){k=i>>>3|0;j=0;i=i&7;break o}if(!c){c=0;break m}k=i>>>3|0;j=(b+c|0)-k>>>0>>0;k=j?c:k;i=i-(k<<3)|0}c=c-k|0;q=c+b|0;k=g[q|0]|g[q+1|0]<<8|(g[q+2|0]<<16|g[q+3|0]<<24);if(j|e>>>0>=u>>>0){break m}l=(n<<2)+r|0;j=h[l>>1];n=g[l+3|0];d[e|0]=g[l+2|0];m=(m<<2)+r|0;l=h[m>>1];p=g[m+3|0];d[e+1|0]=g[m+2|0];i=i+n|0;n=j+(f[(n<<2)+4592>>2]&k>>>(0-i&31))|0;j=i+p|0;m=l+(f[(p<<2)+4592>>2]&k>>>(0-j&31))|0;p:{q:{if(j>>>0>32){i=j;break q}if((c|0)>=4){i=j&7;c=c-(j>>>3|0)|0;j=c+b|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);break p}if(!c){c=0;i=j;break q}i=j>>>3|0;l=q-i|0;k=j;j=l>>>0>>0?c:i;i=k-(j<<3)|0;c=c-j|0;j=c+b|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);if(l>>>0>=b>>>0){break p}}e=e+2|0;break m}j=(n<<2)+r|0;l=h[j>>1];n=g[j+3|0];d[e+2|0]=g[j+2|0];m=(m<<2)+r|0;j=h[m>>1];p=g[m+3|0];d[e+3|0]=g[m+2|0];i=i+n|0;n=l+(f[(n<<2)+4592>>2]&k>>>(0-i&31))|0;i=i+p|0;m=j+(f[(p<<2)+4592>>2]&k>>>(0-i&31))|0;e=e+4|0;if(i>>>0<33){continue}break}}v=-70;t=t+ -2|0;if(e>>>0>t>>>0){break b}s=2;while(1){j=(n<<2)+r|0;q=h[j>>1];u=g[j+3|0];d[e|0]=g[j+2|0];p=e+1|0;i=i+u|0;if(i>>>0>32){n=m;break a}r:{s:{if((c|0)>=4){n=i>>>3|0;l=i&7;break s}if(!c){c=0;l=i;j=k;break r}j=i>>>3|0;n=(b+c|0)-j>>>0>>0?c:j;l=i-(n<<3)|0}c=c-n|0;j=c+b|0;j=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24)}if(p>>>0>t>>>0){break b}n=q+(f[(u<<2)+4592>>2]&k>>>(0-i&31))|0;i=(m<<2)+r|0;q=h[i>>1];k=g[i+3|0];d[e+1|0]=g[i+2|0];p=e+2|0;i=k+l|0;if(i>>>0>32){s=3;break a}m=f[(k<<2)+4592>>2]&j>>>(0-i&31);t:{u:{if((c|0)>=4){l=i>>>3|0;i=i&7;break u}if(!c){c=0;break t}e=i>>>3|0;l=(b+c|0)-e>>>0>>0?c:e;i=i-(l<<3)|0}c=c-l|0;e=c+b|0;j=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24)}k=j;m=m+q|0;e=p;if(e>>>0<=t>>>0){continue}break}break b}e=a;while(1){v:{if((c|0)>=4){k=i>>>3|0;j=0;i=i&7;break v}if(!c){c=0;break c}k=i>>>3|0;j=(b+c|0)-k>>>0>>0;k=j?c:k;i=i-(k<<3)|0}c=c-k|0;s=c+b|0;k=g[s|0]|g[s+1|0]<<8|(g[s+2|0]<<16|g[s+3|0]<<24);if(j|e>>>0>=u>>>0){break c}j=(n<<2)+r|0;l=h[j>>1];q=g[j+3|0];d[e|0]=g[j+2|0];m=(m<<2)+r|0;j=h[m>>1];p=g[m+3|0];d[e+1|0]=g[m+2|0];n=l+(k<<(i&31)>>>(0-q&31)|0)|0;i=i+q|0;m=j+(k<<(i&31)>>>(0-p&31)|0)|0;w:{j=i+p|0;x:{if(j>>>0>32){i=j;break x}if((c|0)>=4){i=j&7;c=c-(j>>>3|0)|0;j=c+b|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);break w}if(!c){c=0;i=j;break x}i=j>>>3|0;l=s-i|0;k=j;j=l>>>0>>0?c:i;i=k-(j<<3)|0;c=c-j|0;j=c+b|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);if(l>>>0>=b>>>0){break w}}e=e+2|0;break c}j=(n<<2)+r|0;l=h[j>>1];q=g[j+3|0];d[e+2|0]=g[j+2|0];m=(m<<2)+r|0;j=h[m>>1];p=g[m+3|0];d[e+3|0]=g[m+2|0];n=l+(k<<(i&31)>>>(0-q&31)|0)|0;i=i+q|0;m=j+(k<<(i&31)>>>(0-p&31)|0)|0;e=e+4|0;i=i+p|0;if(i>>>0<33){continue}break}}v=-70;u=t+ -2|0;if(e>>>0>u>>>0){break b}s=2;while(1){j=(n<<2)+r|0;n=h[j>>1];q=g[j+3|0];d[e|0]=g[j+2|0];p=e+1|0;j=i+q|0;if(j>>>0>32){n=m;break a}y:{z:{if((c|0)>=4){l=j>>>3|0;j=j&7;break z}if(!c){c=0;l=k;break y}t=j;j=j>>>3|0;l=(b+c|0)-j>>>0>>0?c:j;j=t-(l<<3)|0}c=c-l|0;l=c+b|0;l=g[l|0]|g[l+1|0]<<8|(g[l+2|0]<<16|g[l+3|0]<<24)}if(p>>>0>u>>>0){break b}n=n+(k<<(i&31)>>>(0-q&31)|0)|0;i=(m<<2)+r|0;m=h[i>>1];k=g[i+3|0];d[e+1|0]=g[i+2|0];p=e+2|0;i=j+k|0;if(i>>>0>32){s=3;break a}j=l<<(j&31)>>>(0-k&31)|0;A:{B:{if((c|0)>=4){l=i>>>3|0;i=i&7;break B}if(!c){c=0;k=l;break A}e=i>>>3|0;l=(b+c|0)-e>>>0>>0?c:e;i=i-(l<<3)|0}c=c-l|0;e=c+b|0;k=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24)}m=j+m|0;e=p;if(e>>>0<=u>>>0){continue}break}}return v}d[p|0]=g[((n<<2)+r|0)+2|0];return(e+s|0)-a|0}function W(a,b,c,e,h,i,j,k){var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=-70;n=f[c>>2];s=n+f[c+4>>2]|0;a:{if(s>>>0>b-a>>>0){break a}r=-20;l=f[e>>2];if(n>>>0>h-l>>>0){break a}h=b+ -32|0;t=l+n|0;b=a+n|0;q=f[c+8>>2];b:{if((n|0)<=7){m=q;if((n|0)<1){break b}while(1){d[a|0]=g[l|0];l=l+1|0;a=a+1|0;if(a>>>0>>0){continue}break}m=q;break b}if(b>>>0<=h>>>0){while(1){m=g[l+4|0]|g[l+5|0]<<8|(g[l+6|0]<<16|g[l+7|0]<<24);n=g[l|0]|g[l+1|0]<<8|(g[l+2|0]<<16|g[l+3|0]<<24);d[a|0]=n;d[a+1|0]=n>>>8;d[a+2|0]=n>>>16;d[a+3|0]=n>>>24;d[a+4|0]=m;d[a+5|0]=m>>>8;d[a+6|0]=m>>>16;d[a+7|0]=m>>>24;m=g[l+12|0]|g[l+13|0]<<8|(g[l+14|0]<<16|g[l+15|0]<<24);n=g[l+8|0]|g[l+9|0]<<8|(g[l+10|0]<<16|g[l+11|0]<<24);d[a+8|0]=n;d[a+9|0]=n>>>8;d[a+10|0]=n>>>16;d[a+11|0]=n>>>24;d[a+12|0]=m;d[a+13|0]=m>>>8;d[a+14|0]=m>>>16;d[a+15|0]=m>>>24;l=l+16|0;a=a+16|0;if(a>>>0>>0){continue}break}m=q;break b}if(h>>>0>=a>>>0){n=a;m=l;while(1){o=g[m+4|0]|g[m+5|0]<<8|(g[m+6|0]<<16|g[m+7|0]<<24);p=g[m|0]|g[m+1|0]<<8|(g[m+2|0]<<16|g[m+3|0]<<24);d[n|0]=p;d[n+1|0]=p>>>8;d[n+2|0]=p>>>16;d[n+3|0]=p>>>24;d[n+4|0]=o;d[n+5|0]=o>>>8;d[n+6|0]=o>>>16;d[n+7|0]=o>>>24;o=g[m+12|0]|g[m+13|0]<<8|(g[m+14|0]<<16|g[m+15|0]<<24);p=g[m+8|0]|g[m+9|0]<<8|(g[m+10|0]<<16|g[m+11|0]<<24);d[n+8|0]=p;d[n+9|0]=p>>>8;d[n+10|0]=p>>>16;d[n+11|0]=p>>>24;d[n+12|0]=o;d[n+13|0]=o>>>8;d[n+14|0]=o>>>16;d[n+15|0]=o>>>24;m=m+16|0;n=n+16|0;if(n>>>0>>0){continue}break}l=(h-a|0)+l|0;a=h}m=q;if(b>>>0<=a>>>0){break b}while(1){d[a|0]=g[l|0];l=l+1|0;a=a+1|0;if((b|0)!=(a|0)){continue}break}m=f[c+8>>2]}a=b-q|0;f[e>>2]=t;c:{d:{if(m>>>0>b-i>>>0){if(m>>>0>b-j>>>0){break a}a=a-i|0;e=a+k|0;j=f[c+4>>2];if(e+j>>>0<=k>>>0){N(b,e,j);break c}b=N(b,e,0-a|0);m=a+j|0;f[c+4>>2]=m;b=b-a|0;break d}m=f[c+4>>2];i=a}c=b+m|0;if((m|0)<=7){if((m|0)<1){break c}while(1){d[b|0]=g[i|0];i=i+1|0;b=b+1|0;if(b>>>0>>0){continue}break}break c}a=b-i|0;e:{if(a>>>0<=7){d[b|0]=g[i|0];d[b+1|0]=g[i+1|0];d[b+2|0]=g[i+2|0];d[b+3|0]=g[i+3|0];e=i;i=a<<2;a=e+f[i+4752>>2]|0;e=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);d[b+4|0]=e;d[b+5|0]=e>>>8;d[b+6|0]=e>>>16;d[b+7|0]=e>>>24;i=a-f[i+4784>>2]|0;break e}a=g[i+4|0]|g[i+5|0]<<8|(g[i+6|0]<<16|g[i+7|0]<<24);e=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);d[b|0]=e;d[b+1|0]=e>>>8;d[b+2|0]=e>>>16;d[b+3|0]=e>>>24;d[b+4|0]=a;d[b+5|0]=a>>>8;d[b+6|0]=a>>>16;d[b+7|0]=a>>>24}l=b+8|0;a=i+8|0;if(c>>>0<=h>>>0){e=l+m|0;if((l-a|0)<=15){while(1){b=g[a+4|0]|g[a+5|0]<<8|(g[a+6|0]<<16|g[a+7|0]<<24);c=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);d[l|0]=c;d[l+1|0]=c>>>8;d[l+2|0]=c>>>16;d[l+3|0]=c>>>24;d[l+4|0]=b;d[l+5|0]=b>>>8;d[l+6|0]=b>>>16;d[l+7|0]=b>>>24;a=a+8|0;l=l+8|0;if(l>>>0>>0){continue}break c}}while(1){b=g[a+4|0]|g[a+5|0]<<8|(g[a+6|0]<<16|g[a+7|0]<<24);c=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);d[l|0]=c;d[l+1|0]=c>>>8;d[l+2|0]=c>>>16;d[l+3|0]=c>>>24;d[l+4|0]=b;d[l+5|0]=b>>>8;d[l+6|0]=b>>>16;d[l+7|0]=b>>>24;b=g[a+12|0]|g[a+13|0]<<8|(g[a+14|0]<<16|g[a+15|0]<<24);c=g[a+8|0]|g[a+9|0]<<8|(g[a+10|0]<<16|g[a+11|0]<<24);d[l+8|0]=c;d[l+9|0]=c>>>8;d[l+10|0]=c>>>16;d[l+11|0]=c>>>24;d[l+12|0]=b;d[l+13|0]=b>>>8;d[l+14|0]=b>>>16;d[l+15|0]=b>>>24;a=a+16|0;l=l+16|0;if(l>>>0>>0){continue}break}break c}f:{if(l>>>0>h>>>0){h=l;break f}g:{if((l-a|0)<=15){b=l;i=a;while(1){e=g[i+4|0]|g[i+5|0]<<8|(g[i+6|0]<<16|g[i+7|0]<<24);j=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);d[b|0]=j;d[b+1|0]=j>>>8;d[b+2|0]=j>>>16;d[b+3|0]=j>>>24;d[b+4|0]=e;d[b+5|0]=e>>>8;d[b+6|0]=e>>>16;d[b+7|0]=e>>>24;i=i+8|0;b=b+8|0;if(b>>>0>>0){continue}break}break g}b=l;i=a;while(1){e=g[i+4|0]|g[i+5|0]<<8|(g[i+6|0]<<16|g[i+7|0]<<24);j=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);d[b|0]=j;d[b+1|0]=j>>>8;d[b+2|0]=j>>>16;d[b+3|0]=j>>>24;d[b+4|0]=e;d[b+5|0]=e>>>8;d[b+6|0]=e>>>16;d[b+7|0]=e>>>24;e=g[i+12|0]|g[i+13|0]<<8|(g[i+14|0]<<16|g[i+15|0]<<24);j=g[i+8|0]|g[i+9|0]<<8|(g[i+10|0]<<16|g[i+11|0]<<24);d[b+8|0]=j;d[b+9|0]=j>>>8;d[b+10|0]=j>>>16;d[b+11|0]=j>>>24;d[b+12|0]=e;d[b+13|0]=e>>>8;d[b+14|0]=e>>>16;d[b+15|0]=e>>>24;i=i+16|0;b=b+16|0;if(b>>>0>>0){continue}break}}a=(h-l|0)+a|0}if(c>>>0<=h>>>0){break c}while(1){d[h|0]=g[a|0];a=a+1|0;h=h+1|0;if((c|0)!=(h|0)){continue}break}}r=s}return r}function Aa(a,b,c,d,e,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;if(h){u=f[h+8>>2];v=f[h+4>>2]}a:{i=f[a+28908>>2];k=i?1:5;b:{c:{if(k>>>0>e>>>0){m=b;break c}s=a+28816|0;w=a+28752|0;x=h+10276|0;y=h+4116|0;z=h+6172|0;A=h+12|0;B=a+4120|0;C=a+6176|0;D=a+16|0;p=a+26668|0;E=a+10280|0;o=a+28856|0;t=o;m=b;while(1){if(((g[d|0]|g[d+1|0]<<8|(g[d+2|0]<<16|g[d+3|0]<<24))&-16)==407710288){k=i?1:5;while(1){if(e>>>0<8){return-72}i=g[d+4|0]|g[d+5|0]<<8|(g[d+6|0]<<16|g[d+7|0]<<24);if(i>>>0>4294967287){return-14}i=i+8|0;i=i>>>0>e>>>0?-72:i;if(i>>>0>4294967176){break b}e=e-i|0;if(e>>>0>>0){break c}d=d+i|0;if(((g[d|0]|g[d+1|0]<<8|(g[d+2|0]<<16|g[d+3|0]<<24))&-16)==407710288){continue}break}}d:{if(h){i=f[h+8>>2];j=f[h+4>>2];f[a+28744>>2]=k;f[a+28792>>2]=0;f[a+28796>>2]=0;f[a+10280>>2]=201326604;f[a+28808>>2]=0;f[a+28812>>2]=0;f[a+28800>>2]=3;f[a+28804>>2]=0;f[a+28956>>2]=f[a+28740>>2]!=(i+j|0);f[p+8>>2]=f[814];i=f[813];f[p>>2]=f[812];f[p+4>>2]=i;f[a+12>>2]=E;f[a+8>>2]=B;f[a+4>>2]=C;f[a>>2]=D;f[a+28952>>2]=f[h+26676>>2];i=f[h+4>>2];f[a+28736>>2]=i;f[a+28732>>2]=i;i=i+f[h+8>>2]|0;f[a+28728>>2]=i;f[a+28740>>2]=i;if(f[h+26680>>2]){f[a+28808>>2]=1;f[a+28812>>2]=1;f[a+12>>2]=x;f[a+8>>2]=y;f[a+4>>2]=z;f[a>>2]=A;f[a+26668>>2]=f[h+26664>>2];f[a+26672>>2]=f[h+26668>>2];f[a+26676>>2]=f[h+26672>>2];break d}f[a+28808>>2]=0;f[a+28812>>2]=0;break d}i=za(a,v,u);if(i>>>0>4294967176){break b}i=f[a+28728>>2]}if((i|0)!=(m|0)){f[a+28740>>2]=i;f[a+28728>>2]=m;j=f[a+28732>>2];f[a+28732>>2]=m;f[a+28736>>2]=(j-i|0)+m}j=f[a+28908>>2];if(e>>>0<(j?5:9)>>>0){i=-72;break a}k=j?1:5;i=g[(k+d|0)+ -1|0];l=i>>>6|0;n=f[(l<<2)+4736>>2]+(k+f[((i&3)<<2)+4720>>2]|0)|0;i=(i&32)>>>5|0;i=(n+(i^1)|0)+(i&!l)|0;if(i>>>0>4294967176){break a}if(e>>>0>>0){i=-72;break a}j=Q(w,d,i,j);if(j>>>0>4294967176){i=j;break a}if(j){i=-72;break a}j=f[a+28780>>2];if(!(!j|(j|0)==f[a+28952>>2])){i=-32;break a}if(f[a+28784>>2]){f[a+28848>>2]=2048144761;f[a+28852>>2]=1640531534;f[a+28840>>2]=0;f[a+28844>>2]=0;f[a+28832>>2]=668265295;f[a+28836>>2]=-1028477379;f[a+28824>>2]=-1379879466;f[a+28828>>2]=1625958382;f[a+28816>>2]=0;f[a+28820>>2]=0;f[o+32>>2]=0;f[o+36>>2]=0;f[t+24>>2]=0;f[t+28>>2]=0;j=o;f[j+16>>2]=0;f[j+20>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=0;f[j+4>>2]=0}q=c?c+m|0:m;e=e-i|0;d=d+i|0;k=m;while(1){if(e>>>0<3){i=-72;break a}r=g[d|0]|g[d+1|0]<<8;l=(r|g[d+2|0]<<16)>>>3|0;i=-20;e:{f:{n=r>>>1&3;j=n;switch(j+ -1|0){case 2:break a;case 0:break e;default:break f}}j=l}e=e+ -3|0;if(e>>>0>>0){i=-72;break a}d=d+3|0;g:{h:{switch(n|0){case 0:if(!k){i=0;if(!j){break g}i=-74;break a}if(j>>>0>q-k>>>0){i=-70;break a}L(k,d,j);i=j;break g;case 1:if(!k){i=0;if(!l){break g}i=-74;break a}if(l>>>0>q-k>>>0){i=-70;break a}O(k,g[d|0],l);i=l;break g;case 2:break h;default:break a}}i=ba(a,k,q-k|0,d,j);if(i>>>0>4294967176){break a}}if(f[a+28784>>2]){aa(s,k,i)}k=i?i+k|0:k;e=e-j|0;d=d+j|0;if(!(r&1)){continue}break}i=f[a+28756>>2];j=i;l=f[a+28752>>2];if((l|0)!=-1|(i|0)!=-1){i=-20;n=l;l=k-m|0;if((n|0)!=(l|0)|l>>31!=(j|0)){break a}}if(f[a+28784>>2]){i=-22;if(e>>>0<4){break a}if((g[d|0]|g[d+1|0]<<8|(g[d+2|0]<<16|g[d+3|0]<<24))!=($(s)|0)){break a}e=e+ -4|0;d=d+4|0}i=k-m|0;if(i>>>0>=4294967177){break a}m=i?k:m;F=1;c=c-i|0;i=f[a+28908>>2];k=i?1:5;if(e>>>0>=k>>>0){continue}break}}i=-72;if(e){break b}i=m-b|0}return i}return F?(i|0)==-10?-72:i:i}function S(a,b,c,d,e){var h=0,j=0,k=0;k=f[a+28804>>2];j=f[a+28744>>2];a:{if(k+ -3>>>0>=2){break a}j=f[a+28744>>2];if(f[a+28800>>2]){break a}h=e>>>0>1?e:1;j=f[a+28744>>2];j=h>>>0>>0?h:j}h=-72;b:{c:{d:{if((e|0)!=(j|0)){break d}e:{if(!c){break e}h=f[a+28728>>2];if((h|0)==(b|0)){break e}f[a+28740>>2]=h;f[a+28728>>2]=b;j=f[a+28732>>2];f[a+28732>>2]=b;f[a+28736>>2]=(j-h|0)+b}h=-1;f:{g:{h:{i:{j:{switch(k|0){case 0:h=1;k:{if(f[a+28908>>2]){break k}h=5;if(((g[d|0]|g[d+1|0]<<8|(g[d+2|0]<<16|g[d+3|0]<<24))&-16)!=407710288){break k}L(a+160144|0,d,e);f[a+28804>>2]=6;f[a+28744>>2]=8-e;break b}if(h>>>0>e>>>0){f[a+28904>>2]=-72;return-72}b=g[(d+h|0)+ -1|0];c=b>>>6|0;h=f[(c<<2)+4736>>2]+(f[((b&3)<<2)+4720>>2]+h|0)|0;b=(b&32)>>>5|0;h=(h+(b^1)|0)+(b&!c)|0;f[a+28904>>2]=h;if(h>>>0>4294967176){break d}L(a+160144|0,d,e);f[a+28804>>2]=1;f[a+28744>>2]=h-e;break b;case 1:b=a+160144|0;L(b+(f[a+28904>>2]-e|0)|0,d,e);b=Q(a+28752|0,b,f[a+28904>>2],f[a+28908>>2]);if(b>>>0>4294967176){return b}h=-72;if(b){break d}b=f[a+28780>>2];if(b){h=-32;if((b|0)!=f[a+28952>>2]){break d}}if(f[a+28784>>2]){f[a+28816>>2]=0;f[a+28820>>2]=0;b=a+28856|0;f[b>>2]=0;f[b+4>>2]=0;b=a+28848|0;f[b>>2]=2048144761;f[b+4>>2]=1640531534;b=a+28840|0;f[b>>2]=0;f[b+4>>2]=0;b=a+28832|0;f[b>>2]=668265295;f[b+4>>2]=-1028477379;b=a+28824|0;f[b>>2]=-1379879466;f[b+4>>2]=1625958382;b=a+28864|0;f[b>>2]=0;f[b+4>>2]=0;b=a+28872|0;f[b>>2]=0;f[b+4>>2]=0;b=a+28880|0;f[b>>2]=0;f[b+4>>2]=0;b=a+28888|0;f[b>>2]=0;f[b+4>>2]=0}break c;case 2:c=g[d|0]|g[d+1|0]<<8;b=(c|g[d+2|0]<<16)>>>3|0;h=-20;l:{m:{d=c>>>1&3;e=d;switch(e+ -1|0){case 0:break l;case 2:break d;default:break m}}e=b}if(e>>>0>i[a+28768>>2]){break d}c=c&1;f[a+28932>>2]=b;f[a+28800>>2]=d;f[a+28744>>2]=e;if(e){f[a+28804>>2]=c?4:3;break b}if(c){if(!f[a+28784>>2]){break i}f[a+28804>>2]=5;f[a+28744>>2]=4;break b}break c;case 3:case 4:h=-20;n:{o:{switch(f[a+28800>>2]){case 2:h=ba(a,b,c,d,e);break n;case 0:if(!b){h=-74;if(e){break d}break g}h=-70;if(e>>>0>c>>>0){break d}L(b,d,e);if(e>>>0<=4294967176){break g}return e;case 1:break o;default:break d}}e=f[a+28932>>2];h=e?-74:0;if(!b){break n}h=-70;if(e>>>0>c>>>0){break n}O(b,g[d|0],e);h=e}j=0;f[a+28744>>2]=0;if(h>>>0>4294967176){break d}break f;case 6:break h;case 7:break i;case 5:break j;default:break d}}h=-22;if((g[d|0]|g[d+1|0]<<8|(g[d+2|0]<<16|g[d+3|0]<<24))!=($(a+28816|0)|0)){break d}}h=0;f[a+28804>>2]=0;f[a+28744>>2]=0;break d}L((a-e|0)+160152|0,d,e);f[a+28804>>2]=7;b=a;a=a+160148|0;f[b+28744>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break b}j=f[a+28744>>2]-e|0;f[a+28744>>2]=j;h=e}c=h;if(c>>>0>i[a+28768>>2]){return-20}h=f[a+28796>>2];e=c;k=e+f[a+28792>>2]|0;if(k>>>0>>0){h=h+1|0}f[a+28792>>2]=k;f[a+28796>>2]=h;if(f[a+28784>>2]){aa(a+28816|0,b,c);j=f[a+28744>>2]}f[a+28728>>2]=b+c;if(j){return c}if(f[a+28804>>2]==4){b=f[a+28756>>2];d=b;e=f[a+28752>>2];if((e|0)!=-1|(b|0)!=-1){h=-20;if((e|0)!=f[a+28792>>2]|(d|0)!=f[a+28796>>2]){break d}}if(f[a+28784>>2]){f[a+28804>>2]=5;f[a+28744>>2]=4;return c}f[a+28804>>2]=0;f[a+28744>>2]=0;return c}f[a+28744>>2]=3;f[a+28804>>2]=2;return c}return h}f[a+28804>>2]=2;f[a+28744>>2]=3}return 0}function da(a,b,c,h,i){var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;k=z-144|0;z=k;j=-44;a:{if(i>>>0<1500){break a}C=f[a>>2];m=O(h+624|0,0,108);v=C&255;if(v>>>0>12){break a}q=h+1244|0;D=_(q,m,k+8|0,k+12|0,b,c);if(D>>>0<=4294967176){i=f[k+12>>2];if(i>>>0>v>>>0){break a}p=h+680|0;j=i;while(1){c=j;j=j+ -1|0;if(!f[m+(c<<2)>>2]){continue}break}b=1;j=0;o=c+1|0;if(o>>>0>=2){while(1){r=b<<2;w=f[r+m>>2];f[p+r>>2]=x;x=w+x|0;r=(b|0)!=(c|0);b=b+1|0;if(r){continue}break}}r=h+732|0;f[p>>2]=x;w=f[k+8>>2];if(w){while(1){s=g[j+q|0];y=p+(s<<2)|0;b=f[y>>2];f[y>>2]=b+1;b=r+(b<<1)|0;d[b+1|0]=s;d[b|0]=j;j=j+1|0;if((w|0)!=(j|0)){continue}break}}H=h+676|0;w=a+4|0;b=0;f[h+680>>2]=0;b:{if(o>>>0>=2){p=(i^-1)+v|0;j=1;while(1){q=j<<2;s=f[q+m>>2];f[h+q>>2]=b;b=(s<>>0<2|b>>>0>=m>>>0){break b}i=b;while(1){j=1;while(1){o=j<<2;f[o+(l(i,52)+h|0)>>2]=f[h+o>>2]>>>i;o=(c|0)!=(j|0);j=j+1|0;if(o){continue}break}i=i+1|0;if(i>>>0>>0){continue}break}break b}p=i+1|0;b=p-c|0}f[k- -64>>2]=f[h+48>>2];c=f[h+44>>2];f[k+56>>2]=f[h+40>>2];f[k+60>>2]=c;c=f[h+36>>2];f[k+48>>2]=f[h+32>>2];f[k+52>>2]=c;c=f[h+28>>2];f[k+40>>2]=f[h+24>>2];f[k+44>>2]=c;c=f[h+20>>2];f[k+32>>2]=f[h+16>>2];f[k+36>>2]=c;c=f[h+4>>2];f[k+16>>2]=f[h>>2];f[k+20>>2]=c;c=f[h+12>>2];f[k+24>>2]=f[h+8>>2];f[k+28>>2]=c;if(x){I=p-v|0;o=0;while(1){c=r+(o<<1)|0;i=g[c+1|0];m=p-i|0;s=v-m|0;y=1<>2];c:{if(s>>>0>=b>>>0){j=m+I|0;t=((j|0)>1?j:1)<<2;u=f[t+H>>2];i=l(m,52)+h|0;f[k+128>>2]=f[i+48>>2];n=f[i+44>>2];f[k+120>>2]=f[i+40>>2];f[k+124>>2]=n;n=f[i+36>>2];f[k+112>>2]=f[i+32>>2];f[k+116>>2]=n;n=f[i+28>>2];f[k+104>>2]=f[i+24>>2];f[k+108>>2]=n;n=f[i+20>>2];f[k+96>>2]=f[i+16>>2];f[k+100>>2]=n;n=f[i+12>>2];f[k+88>>2]=f[i+8>>2];f[k+92>>2]=n;n=f[i+4>>2];f[k+80>>2]=f[i>>2];f[k+84>>2]=n;n=x-u|0;F=w+(c<<2)|0;d:{if((j|0)<2){break d}t=f[t+(k+80|0)>>2];if(!t){break d}i=q|m<<16&16711680|16777216;j=0;while(1){B=(j<<2)+F|0;e[B>>1]=i;e[B+2>>1]=i>>>16;j=j+1|0;if((t|0)!=(j|0)){continue}break}}if(n){B=r+(u<<1)|0;i=0;while(1){A=B+(i<<1)|0;j=g[A+1|0];u=p-j|0;G=(k+80|0)+(j<<2)|0;j=f[G>>2];t=j+(1<>1]=u;e[A+2>>1]=u>>>16;j=j+1|0;if(j>>>0>>0){continue}break}f[G>>2]=t;i=i+1|0;if((n|0)!=(i|0)){continue}break}}j=c+y|0;break c}j=c+y|0;if(c>>>0>=j>>>0){break c}i=q|m<<16&16711680|16777216;while(1){m=w+(c<<2)|0;e[m>>1]=i;e[m+2>>1]=i>>>16;c=c+1|0;if((j|0)!=(c|0)){continue}break}}f[E>>2]=j;o=o+1|0;if((x|0)!=(o|0)){continue}break}}f[a>>2]=C&-16776961|v<<16|256}j=D}z=k+144|0;return j}function ya(a,b,c){var e=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=-20;a:{if(c>>>0<3){break a}b:{c:{d:{e:{e=g[b|0];l=e&3;switch(l-1|0){case 0:break b;case 1:break d;case 2:break e;default:break c}}if(f[a+28808>>2]){break d}return-30}if(c>>>0<5){break a}j=3;h=g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24);f:{g:{h:{i:{k=e>>>2&3;switch(k+ -2|0){case 1:break g;case 0:break h;default:break i}}i=h>>>14&1023;e=h>>>4&1023;h=!k;break f}i=h>>>18|0;j=4;e=h>>>4&16383;h=0;break f}e=h>>>4&262143;if(e>>>0>131072){break a}i=g[b+4|0]<<10|h>>>22;j=5;h=0}n=i+j|0;if(n>>>0>c>>>0){break a}if(!(!f[a+28956>>2]|e>>>0<769)){c=0;while(1){k=c>>>0<16324;c=c- -64|0;if(k){continue}break}}j:{if((l|0)==3){b=b+j|0;c=a+29040|0;j=f[a+12>>2];k=f[j>>2]>>>8|0;if(h){if(k&255){b=Fa(c,e,b,i,j);break j}b=X(c,e,b,i,j);break j}if(k&255){b=ca(c,e,b,i,j);break j}b=ea(c,e,b,i,j);break j}c=a+10280|0;if(h){h=b+j|0;b=Y(c,h,i,a+26680|0);if(b>>>0>4294967176|i>>>0<=b>>>0){break a}b=X(a+29040|0,e,b+h|0,i-b|0,c);break j}b=Ea(c,a+29040|0,e,b+j|0,i,a+26680|0)}if(b>>>0>4294967176){break a}f[a+28928>>2]=e;f[a+28808>>2]=1;f[a+28912>>2]=a+29040;if((l|0)==2){f[a+12>>2]=a+10280}b=a+e|0;a=b+29064|0;d[a|0]=0;d[a+1|0]=0;d[a+2|0]=0;d[a+3|0]=0;d[a+4|0]=0;d[a+5|0]=0;d[a+6|0]=0;d[a+7|0]=0;a=b+29056|0;d[a|0]=0;d[a+1|0]=0;d[a+2|0]=0;d[a+3|0]=0;d[a+4|0]=0;d[a+5|0]=0;d[a+6|0]=0;d[a+7|0]=0;a=b+29048|0;d[a|0]=0;d[a+1|0]=0;d[a+2|0]=0;d[a+3|0]=0;d[a+4|0]=0;d[a+5|0]=0;d[a+6|0]=0;d[a+7|0]=0;a=b+29040|0;d[a|0]=0;d[a+1|0]=0;d[a+2|0]=0;d[a+3|0]=0;d[a+4|0]=0;d[a+5|0]=0;d[a+6|0]=0;d[a+7|0]=0;return n}i=2;k:{l:{switch((e>>>2&3)+ -1|0){default:i=1;h=e>>>3|0;break k;case 0:h=(g[b|0]|g[b+1|0]<<8)>>>4|0;break k;case 2:break l}}i=3;h=(g[b|0]|g[b+1|0]<<8|g[b+2|0]<<16)>>>4|0}e=i+h|0;if(e+32>>>0>c>>>0){if(e>>>0>c>>>0){break a}b=L(a+29040|0,b+i|0,h);f[a+28928>>2]=h;f[a+28912>>2]=b;a=b+h|0;d[a+24|0]=0;d[a+25|0]=0;d[a+26|0]=0;d[a+27|0]=0;d[a+28|0]=0;d[a+29|0]=0;d[a+30|0]=0;d[a+31|0]=0;d[a+16|0]=0;d[a+17|0]=0;d[a+18|0]=0;d[a+19|0]=0;d[a+20|0]=0;d[a+21|0]=0;d[a+22|0]=0;d[a+23|0]=0;d[a+8|0]=0;d[a+9|0]=0;d[a+10|0]=0;d[a+11|0]=0;d[a+12|0]=0;d[a+13|0]=0;d[a+14|0]=0;d[a+15|0]=0;d[a|0]=0;d[a+1|0]=0;d[a+2|0]=0;d[a+3|0]=0;d[a+4|0]=0;d[a+5|0]=0;d[a+6|0]=0;d[a+7|0]=0;return e}f[a+28928>>2]=h;f[a+28912>>2]=b+i;return e}i=2;m:{n:{switch((e>>>2&3)+ -1|0){default:i=1;c=e>>>3|0;break m;case 0:c=(g[b|0]|g[b+1|0]<<8)>>>4|0;break m;case 2:break n}}if(c>>>0<4){break a}c=g[b|0]|g[b+1|0]<<8|g[b+2|0]<<16;if(c>>>0>2097167){break a}i=3;c=c>>>4|0}b=O(a+29040|0,g[b+i|0],c+32|0);f[a+28928>>2]=c;f[a+28912>>2]=b;m=i+1|0}return m}function aa(a,b,c){var d=0,e=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=f[a+4>>2];j=c+f[a>>2]|0;if(j>>>0>>0){e=e+1|0}f[a>>2]=j;f[a+4>>2]=e;d=f[a+72>>2];h=d+c|0;a:{b:{if(h>>>0<=31){if(!b){break b}L((a+d|0)+40|0,b,c);h=f[a+72>>2]+c|0;break b}l=b+c|0;if(d){L(d+(a+40|0)|0,b,32-d|0);j=f[a+72>>2];f[a+72>>2]=0;h=f[a+12>>2];c=f[a+8>>2];k=Ka(g[a+40|0]|g[a+41|0]<<8|(g[a+42|0]<<16|g[a+43|0]<<24),g[a+44|0]|g[a+45|0]<<8|(g[a+46|0]<<16|g[a+47|0]<<24),668265295,-1028477379);d=c+k|0;e=A+h|0;f[a+8>>2]=Ka(La(d,d>>>0>>0?e+1|0:e,31),A,-2048144761,-1640531535);f[a+12>>2]=A;d=f[a+20>>2];c=f[a+16>>2];e=Ka(g[a+48|0]|g[a+49|0]<<8|(g[a+50|0]<<16|g[a+51|0]<<24),g[a+52|0]|g[a+53|0]<<8|(g[a+54|0]<<16|g[a+55|0]<<24),668265295,-1028477379);h=c+e|0;d=A+d|0;f[a+16>>2]=Ka(La(h,h>>>0>>0?d+1|0:d,31),A,-2048144761,-1640531535);f[a+20>>2]=A;d=f[a+28>>2];c=f[a+24>>2];e=Ka(g[a+56|0]|g[a+57|0]<<8|(g[a+58|0]<<16|g[a+59|0]<<24),g[a+60|0]|g[a+61|0]<<8|(g[a+62|0]<<16|g[a+63|0]<<24),668265295,-1028477379);h=c+e|0;d=A+d|0;f[a+24>>2]=Ka(La(h,h>>>0>>0?d+1|0:d,31),A,-2048144761,-1640531535);f[a+28>>2]=A;h=f[a+36>>2];c=f[a+32>>2];d=a- -64|0;k=Ka(g[d|0]|g[d+1|0]<<8|(g[d+2|0]<<16|g[d+3|0]<<24),g[d+4|0]|g[d+5|0]<<8|(g[d+6|0]<<16|g[d+7|0]<<24),668265295,-1028477379);d=c+k|0;e=A+h|0;f[a+32>>2]=Ka(La(d,d>>>0>>0?e+1|0:e,31),A,-2048144761,-1640531535);f[a+36>>2]=A;b=(b-j|0)+32|0}if(b+32>>>0<=l>>>0){p=l+ -32|0;c=f[a+32>>2];k=f[a+36>>2];d=f[a+24>>2];m=f[a+28>>2];h=f[a+16>>2];n=f[a+20>>2];j=f[a+8>>2];o=f[a+12>>2];while(1){i=Ka(g[b+24|0]|g[b+25|0]<<8|(g[b+26|0]<<16|g[b+27|0]<<24),g[b+28|0]|g[b+29|0]<<8|(g[b+30|0]<<16|g[b+31|0]<<24),668265295,-1028477379)+c|0;e=k+A|0;c=Ka(La(i,i>>>0>>0?e+1|0:e,31),A,-2048144761,-1640531535);k=A;i=Ka(g[b+16|0]|g[b+17|0]<<8|(g[b+18|0]<<16|g[b+19|0]<<24),g[b+20|0]|g[b+21|0]<<8|(g[b+22|0]<<16|g[b+23|0]<<24),668265295,-1028477379)+d|0;e=m+A|0;d=Ka(La(i,i>>>0>>0?e+1|0:e,31),A,-2048144761,-1640531535);m=A;i=Ka(g[b+8|0]|g[b+9|0]<<8|(g[b+10|0]<<16|g[b+11|0]<<24),g[b+12|0]|g[b+13|0]<<8|(g[b+14|0]<<16|g[b+15|0]<<24),668265295,-1028477379)+h|0;e=n+A|0;h=Ka(La(i,i>>>0>>0?e+1|0:e,31),A,-2048144761,-1640531535);n=A;i=Ka(g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24),g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24),668265295,-1028477379)+j|0;e=o+A|0;j=Ka(La(i,i>>>0>>0?e+1|0:e,31),A,-2048144761,-1640531535);o=A;b=b+32|0;if(b>>>0<=p>>>0){continue}break}f[a+32>>2]=c;f[a+36>>2]=k;f[a+24>>2]=d;f[a+28>>2]=m;f[a+16>>2]=h;f[a+20>>2]=n;f[a+8>>2]=j;f[a+12>>2]=o}if(b>>>0>=l>>>0){break a}h=l-b|0;L(a+40|0,b,h)}f[a+72>>2]=h}}function $(a){var b=0,c=0,d=0,e=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=a+40|0;r=f[a+72>>2];n=d+r|0;b=f[a+4>>2];s=b;i=f[a>>2];a:{if(!b&i>>>0>=32|b>>>0>0){e=f[a+16>>2];h=f[a+20>>2];b=La(e,h,7);l=A;c=f[a+12>>2];o=c;m=f[a+8>>2];j=La(m,c,1);c=j+b|0;b=A+l|0;b=c>>>0>>0?b+1|0:b;l=f[a+24>>2];j=f[a+28>>2];k=La(l,j,12);c=k+c|0;b=A+b|0;b=c>>>0>>0?b+1|0:b;k=f[a+32>>2];q=f[a+36>>2];p=La(k,q,18);c=p+c|0;b=A+b|0;b=c>>>0

>>0?b+1|0:b;p=c;c=b;b=Ka(m,o,-2147483648,-1813351001);t=A;Ka(m,o,668265295,-1028477379);c=Ka(Ka(A>>>1|b,t,-2048144761,-1640531535)^p,A^c,-2048144761,-1640531535)+ -1028477341|0;b=A+ -2048144777|0;b=c>>>0<3266489955?b+1|0:b;o=Ka(e,h,-2147483648,-1813351001);m=A;Ka(e,h,668265295,-1028477379);c=Ka(Ka(A>>>1|o,m,-2048144761,-1640531535)^c,A^b,-2048144761,-1640531535)+ -1028477341|0;b=A+ -2048144777|0;e=c;c=c>>>0<3266489955?b+1|0:b;b=Ka(l,j,-2147483648,-1813351001);h=A;Ka(l,j,668265295,-1028477379);c=Ka(Ka(A>>>1|b,h,-2048144761,-1640531535)^e,A^c,-2048144761,-1640531535)+ -1028477341|0;b=A+ -2048144777|0;e=c;c=c>>>0<3266489955?b+1|0:b;b=Ka(k,q,-2147483648,-1813351001);h=A;Ka(k,q,668265295,-1028477379);b=Ka(Ka(A>>>1|b,h,-2048144761,-1640531535)^e,A^c,-2048144761,-1640531535)+ -1028477341|0;c=A+ -2048144777|0;e=b;b=b>>>0<3266489955?c+1|0:c;break a}b=f[a+28>>2]+668265263|0;c=f[a+24>>2]+374761413|0;if(c>>>0<374761413){b=b+1|0}e=c}b=b+s|0;c=e+i|0;if(c>>>0>>0){b=b+1|0}e=c;i=a+48|0;b:{if(n>>>0>>0){c=d;break b}while(1){c=b;h=g[d|0]|g[d+1|0]<<8|(g[d+2|0]<<16|g[d+3|0]<<24);b=g[d+4|0]|g[d+5|0]<<8|(g[d+6|0]<<16|g[d+7|0]<<24);Ka(h,b,668265295,-1028477379);b=Ka(La(Ka(A>>>1|Ka(h,b,-2147483648,-1813351001),A,-2048144761,-1640531535)^e,A^c,27),A,-2048144761,-1640531535)+ -1028477341|0;c=A+ -2048144777|0;e=b;b=b>>>0<3266489955?c+1|0:c;c=i;d=c;i=c+8|0;if(i>>>0<=n>>>0){continue}break}}d=c+4|0;c:{if(d>>>0>n>>>0){d=c;break c}c=Ka(La(Ka(g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24),0,-2048144761,-1640531535)^e,b^A,23),A,668265295,-1028477379)+ -1640531463|0;b=A+374761393|0;b=c>>>0<2654435833?b+1|0:b;e=c}if(d>>>0>>0){a=(a+r|0)+40|0;while(1){e=Ka(La(Ka(g[d|0],0,374761413,668265263)^e,b^A,11),A,-2048144761,-1640531535);b=A;d=d+1|0;if((a|0)!=(d|0)){continue}break}}a=Ka(e^b>>>1,b,668265295,-1028477379);c=A;a=Ka(a^((c&536870911)<<3|a>>>29),c^c>>>29,-1640531463,374761393);d=A;A=d;return a^d}function Q(a,b,c,d){var e=0,h=0,i=0,j=0,k=0,l=0,m=0;f[a>>2]=0;f[a+4>>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;h=d?1:5;if(h>>>0>c>>>0){return h}if(!b){return-1}e=1;a:{b:{c:{d:{e:{f:{g:{h:{if((d|0)==1){d=b;if(c){break h}d=-72;break g}e=g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24);if((e|0)!=-47205080){break f}e=h;d=(b+h|0)+ -1|0}d=g[d|0];i=d>>>6|0;e=f[(i<<2)+4736>>2]+(f[((d&3)<<2)+4720>>2]+e|0)|0;d=(d&32)>>>5|0;d=(e+(d^1)|0)+(d&!i)|0}if(d>>>0>c>>>0){break a}f[a+24>>2]=d;d=-14;c=b+h|0;i=g[c+ -1|0];if(i&8){break a}k=i&32;if(!k){d=-16;c=g[c|0];if(c>>>0>167){break a}d=c&7;c=(c>>>3|0)+10|0;j=c&31;if(32<=(c&63)>>>0){e=1<>>32-j;c=1<>>3,e>>>3|0)+c|0;j=e+A|0;j=d>>>0>>0?j+1|0:j;l=d;h=h+1|0}m=i>>>6|0;e=i>>>2|0;d=0;switch((i&3)+ -1|0){case 2:break c;case 1:break d;case 0:break e;default:break b}}d=-10;if((e&-16)!=407710288){break a}d=8;if(c>>>0<8){break a}f[a+8>>2]=0;f[a+12>>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;b=g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24);f[a+20>>2]=1;f[a>>2]=b;f[a+4>>2]=0;return 0}d=g[b+h|0];h=h+1|0;break b}c=b+h|0;d=g[c|0]|g[c+1|0]<<8;h=h+2|0;break b}c=b+h|0;d=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);h=h+4|0}i=e&1;i:{j:{switch(m+ -1|0){default:e=-1;c=-1;if(!k){break i}e=g[b+h|0];c=0;break i;case 0:c=0;b=b+h|0;b=(g[b|0]|g[b+1|0]<<8)+256|0;if(b>>>0<256){c=1}e=b;break i;case 1:b=b+h|0;e=g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24);c=0;break i;case 2:break j}}b=b+h|0;e=g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24);c=g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24)}f[a+32>>2]=i;f[a+28>>2]=d;b=e;f[a>>2]=b;f[a+4>>2]=c;d=0;f[a+20>>2]=0;e=k?b:l;f[a+8>>2]=e;b=k?c:j;f[a+12>>2]=b;f[a+16>>2]=!b&e>>>0<131072|b>>>0<0?e:131072}return d}function Fa(a,b,c,e,f){var i=0,j=0,k=0,l=0,m=0,n=0,p=0;if(!e){return-72}a:{b:{c:{if(e>>>0>=4){j=g[(c+e|0)+ -1|0];i=-1;if(!j){break a}if(e>>>0<=4294967176){break c}return e}j=g[c|0];d:{switch(e+ -2|0){case 1:j=g[c+2|0]<<16|j;case 0:j=(g[c+1|0]<<8)+j|0;break;default:break d}}i=g[(c+e|0)+ -1|0];if(!i){return-20}i=((o(i)|-32)-(e<<3)|0)+41|0;break b}i=(o(j)|-32)+9|0;k=e+ -4|0;e=k+c|0;j=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24)}m=f+4|0;n=a+b|0;e=h[f+2>>1];e:{f:{g:{h:{if(i>>>0>=33){f=0-e&31;break h}p=n+ -3|0;f=0-e&31;while(1){i:{if((k|0)>=4){j=i>>>3|0;l=0;e=i&7;break i}if(!k){l=n+ -2|0;k=0;e=i;break f}e=i>>>3|0;l=(c+k|0)-e>>>0>>0;j=l?k:e;e=i-(j<<3)|0}k=k-j|0;i=k+c|0;j=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);if(l|a>>>0>=p>>>0){break g}i=(j<<(e&31)>>>f<<2)+m|0;l=h[i>>1];d[a|0]=l;d[a+1|0]=l>>>8;a=g[i+3|0]+a|0;i=g[i+2|0]+e|0;e=(j<<(i&31)>>>f<<2)+m|0;l=h[e>>1];d[a|0]=l;d[a+1|0]=l>>>8;a=a+g[e+3|0]|0;i=i+g[e+2|0]|0;if(i>>>0<33){continue}break}}l=n+ -2|0;break e}l=n+ -2|0;if(e>>>0<=32){break f}i=e;break e}while(1){j:{if((k|0)>=4){i=e&7;j=e>>>3|0;e=0;break j}if(!k){k=0;i=e;break e}i=e;j=e>>>3|0;e=(c+k|0)-j>>>0>>0;j=e?k:j;i=i-(j<<3)|0}k=k-j|0;j=k+c|0;j=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);if(e|a>>>0>l>>>0){break e}e=(j<<(i&31)>>>f<<2)+m|0;p=h[e>>1];d[a|0]=p;d[a+1|0]=p>>>8;a=g[e+3|0]+a|0;e=g[e+2|0]+i|0;if(e>>>0<=32){continue}break}i=e}if(a>>>0<=l>>>0){while(1){c=(j<<(i&31)>>>f<<2)+m|0;e=h[c>>1];d[a|0]=e;d[a+1|0]=e>>>8;i=g[c+2|0]+i|0;a=g[c+3|0]+a|0;if(a>>>0<=l>>>0){continue}break}}k:{if(a>>>0>=n>>>0){break k}e=a;c=j<<(i&31)>>>f|0;a=(c<<2)+m|0;d[e|0]=g[a|0];if(g[a+3|0]==1){i=g[a+2|0]+i|0;break k}if(i>>>0>31){break k}a=g[((c<<2)+m|0)+2|0]+i|0;i=a>>>0<32?a:32}i=k?-20:(i|0)!=32?-20:b}return i}function P(a,b,c,d,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=z-16|0;z=p;a:{if(h>>>0<=3){f[p+12>>2]=0;L(p+12|0,d,h);a=P(a,b,c,p+12|0,4);k=a>>>0<4294967177?a>>>0>h>>>0?-20:a:a;break a}s=O(a,0,(f[b>>2]<<1)+2|0);j=g[d|0]|g[d+1|0]<<8|(g[d+2|0]<<16|g[d+3|0]<<24);a=j&15;k=-44;if(a>>>0>10){break a}f[c>>2]=a+5;c=d+h|0;r=c+ -4|0;t=c+ -7|0;u=c+ -5|0;c=4;h=j>>>4|0;q=a+6|0;m=32<>2];i=d;j=0;while(1){b:{c:{if(!l){a=j;break c}a=j;if((h&65535)==65535){while(1){d:{if(i>>>0>>0){h=(g[i+2|0]|g[i+3|0]<<8|(g[i+4|0]<<16|g[i+5|0]<<24))>>>c|0;i=i+2|0;break d}c=c+16|0;h=h>>>16|0}a=a+24|0;if((h&65535)==65535){continue}break}}l=h&3;if((l|0)==3){while(1){c=c+2|0;a=a+3|0;h=h>>>2|0;l=h&3;if((l|0)==3){continue}break}}a=a+l|0;k=-48;if(a>>>0>o>>>0){break a}c=c+2|0;e:{if(a>>>0<=j>>>0){a=j;break e}O((j<<1)+s|0,0,a-j<<1);while(1){j=j+1|0;if((j|0)!=(a|0)){continue}break}}j=(c>>3)+i|0;if(!(j>>>0>r>>>0?i>>>0>t>>>0:0)){c=c&7;h=(g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24))>>>c|0;break b}h=h>>>2|0}j=i}i=m+ -1&h;o=(m<<1)+ -1|0;l=o-n|0;k=q+ -1|0;f:{if(i>>>0>>0){break f}h=h&o;i=h-((h|0)<(m|0)?0:l)|0;k=q}l=k;h=i+ -1|0;e[(a<<1)+s>>1]=h;n=((i|0)<1?h:1-i|0)+n|0;if((n|0)<(m|0)){while(1){q=q+ -1|0;m=m>>1;if((n|0)<(m|0)){continue}break}}c=c+l|0;i=(c>>3)+j|0;g:{if(!(i>>>0>r>>>0?j>>>0>t>>>0:0)){c=c&7;break g}i=r;c=c+(j-i<<3)|0}if((n|0)>=2){l=!h;h=(g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24))>>>(c&31)|0;j=a+1|0;o=f[b>>2];if(j>>>0<=o>>>0){continue}}break}k=-20;if((n|0)!=1|(c|0)>32){break a}f[b>>2]=a;k=((c+7>>3)+i|0)-d|0}m=k;z=p+16|0;return m}function X(a,b,c,e,f){var i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;if(!e){return-72}l=h[f+2>>1];a:{b:{c:{if(e>>>0>=4){j=g[(c+e|0)+ -1|0];i=-1;if(!j){break a}if(e>>>0<=4294967176){break c}return e}k=g[c|0];d:{switch(e+ -2|0){case 1:k=g[c+2|0]<<16|k;case 0:k=(g[c+1|0]<<8)+k|0;break;default:break d}}i=g[(c+e|0)+ -1|0];if(!i){return-20}i=((o(i)|-32)-(e<<3)|0)+41|0;e=0;break b}i=(o(j)|-32)+9|0;e=e+ -4|0;j=e+c|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24)}n=f+4|0;p=a+b|0;e:{f:{g:{if(i>>>0>=33){m=0-l&31;j=c+e|0;break g}q=p+ -3|0;m=0-l&31;h:{i:{j:{while(1){k:{if((e|0)>=4){k=i>>>3|0;l=0;f=i&7;break k}if(!e){e=0;j=c;f=i;break i}f=i>>>3|0;l=(c+e|0)-f>>>0>>0;k=l?e:f;f=i-(k<<3)|0}e=e-k|0;j=e+c|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);if(l|a>>>0>=q>>>0){break j}i=(k<<(f&31)>>>m<<1)+n|0;j=g[i+1|0];d[a|0]=g[i|0];f=f+j|0;i=(k<<(f&31)>>>m<<1)+n|0;j=g[i+1|0];d[a+1|0]=g[i|0];a=a+2|0;i=f+j|0;if(i>>>0<33){continue}break}j=c+e|0;break g}if(f>>>0>32){break h}}while(1){l:{if((e|0)>=4){k=f>>>3|0;l=0;i=f&7;break l}if(!e){break h}i=f>>>3|0;l=(c+e|0)-i>>>0>>0;k=l?e:i;i=f-(k<<3)|0}e=e-k|0;j=e+c|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);f=a>>>0>=p>>>0;if(!(l?0:!f)){if(!f){break f}break e}f=(k<<(i&31)>>>m<<1)+n|0;l=g[f+1|0];d[a|0]=g[f|0];a=a+1|0;f=i+l|0;if(f>>>0<=32){continue}break}}i=f}if(a>>>0>=p>>>0){break e}}while(1){e=(k<<(i&31)>>>m<<1)+n|0;f=g[e+1|0];d[a|0]=g[e|0];i=f+i|0;a=a+1|0;if((p|0)!=(a|0)){continue}break}}i=(i|0)!=32?-20:(c|0)!=(j|0)?-20:b}return i}function _(a,b,c,e,h,i){var j=0,k=0,l=0,m=0,n=0,p=0;m=z-784|0;z=m;j=-72;a:{if(!i){break a}k=d[h|0];l=k&255;b:{c:{if((k|0)<=-1){k=l+ -126>>>1|0;if(k>>>0>=i>>>0){break a}j=-20;l=l+ -127|0;if(l>>>0>=256){break a}if(!l){break b}h=h+1|0;i=0;while(1){j=h+(i>>>1|0)|0;d[a+i|0]=g[j|0]>>>4;d[(i|1)+a|0]=g[j|0]&15;i=i+2|0;if(i>>>0>>0){continue}break}j=l;l=k;break c}if(l>>>0>=i>>>0){break a}f[m+264>>2]=255;i=h+1|0;h=P(m+272|0,m+264|0,m+268|0,i,l);d:{if(h>>>0>4294967176){j=h;break d}j=-44;k=f[m+268>>2];if(k>>>0>6){break d}j=pa(m,m+272|0,f[m+264>>2],k);if(j>>>0>4294967176){break d}j=ja(a,h+i|0,l-h|0,m)}if(j>>>0>4294967176){break a}}k=j;i=b;f[i>>2]=0;f[i+4>>2]=0;h=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;j=-20;if(!k){break a}i=0;while(1){p=a+i|0;n=g[p|0];if(n>>>0>11){break a}n=(n<<2)+b|0;f[n>>2]=f[n>>2]+1;h=(1<>1)+h|0;i=i+1|0;if((k|0)!=(i|0)){continue}break}if(!h|h>>>0>4095){break a}i=e;e=32-o(h)|0;f[i>>2]=e;e=(1<>2]=f[a>>2]+1;a=f[b+4>>2];if(a>>>0<2|a&1){break a}f[c>>2]=k+1;j=l+1|0;break a}f[b>>2]=0;f[b+4>>2]=0;f[b+48>>2]=0;f[b+40>>2]=0;f[b+44>>2]=0;f[b+32>>2]=0;f[b+36>>2]=0;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}z=m+784|0;return j}function U(a){var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=8;a:{b:{while(1){if(i+ -1&i){break b}i=i>>>0>8?i:8;d=f[1467];h=d;g=f[1466];j=g;a=a>>>0>8?a+3&-4:8;c:{if(a>>>0<=127){e=(a>>>3|0)+ -1|0;break c}b=o(a);e=((a>>>29-b^4)-(b<<2)|0)+110|0;if(a>>>0<=4095){break c}b=((a>>>30-b^2)-(b<<1)|0)+71|0;e=b>>>0<63?b:63}b=e;c=b&31;if(32<=(b&63)>>>0){b=0;c=d>>>c|0}else{b=d>>>c|0;c=((1<>>c}d=b;if(b|c){while(1){h=c;g=Ja(c,d);b=g;c=b&31;if(32<=(b&63)>>>0){b=0;h=d>>>c|0}else{b=d>>>c|0;h=((1<>>c}d=b;e=e+g|0;g=e<<4;b=f[g+4840>>2];j=g+4832|0;d:{if((b|0)!=(j|0)){c=T(b,i,a);if(c){break a}c=f[b+4>>2];f[c+8>>2]=f[b+8>>2];f[f[b+8>>2]+4>>2]=c;f[b+8>>2]=j;c=g+4836|0;f[b+4>>2]=f[c>>2];f[c>>2]=b;f[f[b+4>>2]+8>>2]=b;e=e+1|0;c=(d&1)<<31|h>>>1;d=d>>>1|0;break d}b=f[1467];f[1466]=f[1466]&La(-2,-1,e);f[1467]=A&b;c=h^1}if(c|d){continue}break}g=f[1466];h=f[1467]}d=o(h);d=63-((d|0)==32?o(g)+32|0:d)<<4;b=d+4832|0;d=f[d+4840>>2];e:{if(!h&g>>>0<1073741824|h>>>0<0){break e}e=99;if((b|0)==(d|0)){break e}while(1){if(!e){break e}c=T(d,i,a);if(c){break a}e=e+ -1|0;d=f[d+8>>2];if((b|0)!=(d|0)){continue}break}d=b}if(Z(a+48|0)){continue}break}if((b|0)==(d|0)){break b}while(1){c=T(d,i,a);if(c){break a}d=f[d+8>>2];if((b|0)!=(d|0)){continue}break}}c=0}return c}function L(a,b,c){var e=0,h=0,i=0;if(c>>>0>=512){x(a|0,b|0,c|0)|0;return a}h=a+c|0;a:{if(!((a^b)&3)){b:{if((c|0)<1){c=a;break b}if(!(a&3)){c=a;break b}c=a;while(1){d[c|0]=g[b|0];b=b+1|0;c=c+1|0;if(c>>>0>=h>>>0){break b}if(c&3){continue}break}}e=h&-4;c:{if(e>>>0<64){break c}i=e+ -64|0;if(c>>>0>i>>>0){break c}while(1){f[c>>2]=f[b>>2];f[c+4>>2]=f[b+4>>2];f[c+8>>2]=f[b+8>>2];f[c+12>>2]=f[b+12>>2];f[c+16>>2]=f[b+16>>2];f[c+20>>2]=f[b+20>>2];f[c+24>>2]=f[b+24>>2];f[c+28>>2]=f[b+28>>2];f[c+32>>2]=f[b+32>>2];f[c+36>>2]=f[b+36>>2];f[c+40>>2]=f[b+40>>2];f[c+44>>2]=f[b+44>>2];f[c+48>>2]=f[b+48>>2];f[c+52>>2]=f[b+52>>2];f[c+56>>2]=f[b+56>>2];f[c+60>>2]=f[b+60>>2];b=b- -64|0;c=c- -64|0;if(c>>>0<=i>>>0){continue}break}}if(c>>>0>=e>>>0){break a}while(1){f[c>>2]=f[b>>2];b=b+4|0;c=c+4|0;if(c>>>0>>0){continue}break}break a}if(h>>>0<4){c=a;break a}e=h+ -4|0;if(e>>>0>>0){c=a;break a}c=a;while(1){d[c|0]=g[b|0];d[c+1|0]=g[b+1|0];d[c+2|0]=g[b+2|0];d[c+3|0]=g[b+3|0];b=b+4|0;c=c+4|0;if(c>>>0<=e>>>0){continue}break}}if(c>>>0>>0){while(1){d[c|0]=g[b|0];b=b+1|0;c=c+1|0;if((h|0)!=(c|0)){continue}break}}return a}function Da(a,b,c){var d=0,e=0,h=0,i=0,j=0,k=0;d=z-128|0;z=d;k=-30;a:{if(c>>>0<9){break a}h=b+8|0;e=da(a+10264|0,h,c+ -8|0,a,10264);if(e>>>0>4294967176){break a}f[d+124>>2]=31;e=e>>>0<4294967177?e+h|0:h;h=b+c|0;c=P(d,d+124|0,d+120|0,e,h-e|0);if(c>>>0>4294967176){break a}i=f[d+124>>2];if(i>>>0>31){break a}j=f[d+120>>2];if(j>>>0>=9){break a}R(a+4104|0,d,i,2256,2384,j);f[d+124>>2]=52;c=c+e|0;e=P(d,d+124|0,d+120|0,c,h-c|0);if(e>>>0>4294967176){break a}i=f[d+124>>2];if(i>>>0>52){break a}j=f[d+120>>2];if(j>>>0>=10){break a}R(a+6160|0,d,i,2512,2736,j);f[d+124>>2]=35;c=c+e|0;e=P(d,d+124|0,d+120|0,c,h-c|0);if(e>>>0>4294967176){break a}i=f[d+124>>2];if(i>>>0>35){break a}j=f[d+120>>2];if(j>>>0>=10){break a}R(a,d,i,2960,3104,j);c=c+e|0;e=c+12|0;if(e>>>0>h>>>0){break a}i=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);h=h-e|0;if(i+ -1>>>0>=h>>>0){break a}f[a+26652>>2]=i;e=g[c+4|0]|g[c+5|0]<<8|(g[c+6|0]<<16|g[c+7|0]<<24);if(e+ -1>>>0>=h>>>0){break a}f[a+26656>>2]=e;c=c+4|0;e=g[c+4|0]|g[c+5|0]<<8|(g[c+6|0]<<16|g[c+7|0]<<24);if(e+ -1>>>0>=h>>>0){break a}f[a+26660>>2]=e;k=(c-b|0)+8|0}z=d+128|0;return k}function Ba(a,b,c){var d=0,e=0,h=0,i=0,j=0,k=0,m=0;h=z-48|0;z=h;a:{if(!(((g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24))&-16)!=407710288|c>>>0<8)){b=g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24);f[a+8>>2]=0;f[a+12>>2]=0;f[a+4>>2]=0;j=a;a=b+8|0;f[j>>2]=b>>>0>4294967287?-14:a>>>0>c>>>0?-72:a;break a}j=a;d=Q(h+8|0,b,c,0);b:{if(d>>>0>=4294967177){f[a>>2]=d;a=-2;b=-1;break b}if(d){f[a>>2]=-72;a=-2;b=-1;break b}d=f[h+32>>2];c=c-d|0;d=b+d|0;c:{while(1){if(c>>>0<3){e=-72;break c}e=-20;d:{e:{i=g[d|0]|g[d+1|0]<<8;k=i>>>1&3;switch(k+ -1|0){case 2:break c;case 0:break d;default:break e}}k=(g[d+2|0]<<16|i)>>>3|0}e=k+3|0;if(c>>>0>>0){f[a>>2]=-72;a=-2;b=-1;break b}m=m+1|0;c=c-e|0;d=d+e|0;if(!(i&1)){continue}break}if(f[h+40>>2]){if(c>>>0<=3){f[a>>2]=-72;a=-2;b=-1;break b}d=d+4|0}i=f[h+24>>2];c=f[h+8>>2];e=f[h+12>>2];f[a+4>>2]=0;f[a>>2]=d-b;b=(c|0)==-1&(e|0)==-1;a=b?l(i,m):c;b=b?0:e;break b}f[a>>2]=e;a=-2;b=-1}f[j+8>>2]=a;f[j+12>>2]=b}z=h+48|0}function R(a,b,c,g,i,j){var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;s=z-112|0;q=a+8|0;p=1<>2]=j;f[a>>2]=1;break a}r=65536<>16;t=p+ -1|0;m=t;l=1;while(1){u=k<<1;n=h[u+b>>1];b:{if((n|0)==65535){f[((m<<3)+q|0)+4>>2]=k;m=m+ -1|0;n=1;break b}l=(r|0)>n<<16>>16?l:0}e[s+u>>1]=n;n=(c|0)!=(k|0);k=k+1|0;if(n){continue}break}f[a+4>>2]=j;f[a>>2]=l;if((c|0)==-1){break a}n=((p>>>3)+(p>>>1)|0)+3|0;k=0;l=0;while(1){a=e[(l<<1)+b>>1];if((a|0)>=1){a=a&65535;r=a>>>0>1?a:1;a=0;while(1){f[((k<<3)+q|0)+4>>2]=l;while(1){k=k+n&t;if(k>>>0>m>>>0){continue}break}a=a+1|0;if((r|0)!=(a|0)){continue}break}}a=(c|0)==(l|0);l=l+1|0;if(!a){continue}break}}c=p>>>0>1?p:1;j=j+1|0;m=0;while(1){a=(m<<3)+q|0;l=f[a+4>>2];k=(l<<1)+s|0;b=h[k>>1];e[k>>1]=b+1;k=j+(o(b)^-32)|0;d[a+3|0]=k;e[a>>1]=(b<<(k&255))-p;b=l<<2;d[a+2|0]=f[b+i>>2];f[a+4>>2]=f[b+g>>2];m=m+1|0;if((c|0)!=(m|0)){continue}break}}function Y(a,b,c,e){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=z-16|0;z=k;f[k+12>>2]=0;f[k+8>>2]=0;h=-44;n=e- -64|0;b=_(n,e,k+8|0,k+12|0,b,c);a:{b:{if(b>>>0>4294967176){break b}j=1;c=f[k+12>>2];i=f[a>>2];if(c>>>0>(i&255)+1>>>0){break a}f[a>>2]=i&-16776961|c<<16&16711680;if(c+1>>>0>=2){h=0;while(1){i=(j<<2)+e|0;m=f[i>>2];f[i>>2]=h;h=(m<>2];if(!o){break b}m=a+4|0;p=c+1|0;h=0;while(1){j=g[h+n|0];a=(j<<2)+e|0;i=a;c=f[a>>2];a=1<>1;l=c+a|0;f[i>>2]=l;i=p-j|0;c:{if(a>>>0>=4){if(c>>>0>=l>>>0){break c}while(1){a=m+(c<<1)|0;d[a+1|0]=i;d[a|0]=h;d[a+3|0]=i;d[a+2|0]=h;d[a+5|0]=i;d[a+4|0]=h;d[a+7|0]=i;d[a+6|0]=h;c=c+4|0;if(c>>>0>>0){continue}break}break c}j=0;if(!a){break c}while(1){l=m+(c+j<<1)|0;d[l+1|0]=i;d[l|0]=h;j=j+1|0;if((a|0)!=(j|0)){continue}break}}h=h+1|0;if((o|0)!=(h|0)){continue}break}}h=b}z=k+16|0;return h}function za(a,b,c){var d=0,e=0,h=0;f[a+28792>>2]=0;f[a+28796>>2]=0;f[a+28728>>2]=0;f[a+28732>>2]=0;f[a+28952>>2]=0;f[a+28808>>2]=0;f[a+28812>>2]=0;f[a+28800>>2]=3;f[a+28804>>2]=0;d=a+28736|0;f[d>>2]=0;f[d+4>>2]=0;d=a+10280|0;f[d>>2]=201326604;f[a+28744>>2]=f[a+28908>>2]?1:5;f[a+12>>2]=d;f[a+8>>2]=a+4120;f[a+4>>2]=a+6176;f[a>>2]=a+16;h=f[813];d=a+26668|0;f[d>>2]=f[812];f[d+4>>2]=h;f[a+26676>>2]=f[814];a:{b:{if(!b|!c){break b}if((g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24))!=-332356553|c>>>0<=7){break a}f[a+28952>>2]=g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24);e=-30;d=Da(a+16|0,b,c);if(d>>>0>4294967176){break b}f[a+28808>>2]=1;f[a+28812>>2]=1;e=f[a+28728>>2];f[a+28740>>2]=e;h=f[a+28732>>2];b=d>>>0<4294967177?b+d|0:b;f[a+28732>>2]=b;f[a+28728>>2]=b+(c-d|0);f[a+28736>>2]=b+(h-e|0);e=0}return e}f[a+28736>>2]=b;f[a+28740>>2]=0;f[a+28732>>2]=b;f[a+28728>>2]=b+c;return 0}function pa(a,b,c,f){var i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=z-512|0;z=n;j=-46;a:{if(c>>>0>255){break a}j=-44;if(f>>>0>12){break a}p=a+4|0;q=65536<>16;m=1<>1];b:{if((l|0)==65535){d[((k<<2)+p|0)+2|0]=i;k=k+ -1|0;l=1;break b}j=(q|0)>l<<16>>16?j:0}e[n+s>>1]=l;l=(c|0)!=(i|0);i=i+1|0;if(l){continue}break}e[a+2>>1]=j;e[a>>1]=f;l=((m>>>3)+(m>>>1)|0)+3|0;i=0;j=0;while(1){a=e[(j<<1)+b>>1];if((a|0)>=1){a=a&65535;q=a>>>0>1?a:1;a=0;while(1){d[((i<<2)+p|0)+2|0]=j;while(1){i=i+l&r;if(i>>>0>k>>>0){continue}break}a=a+1|0;if((q|0)!=(a|0)){continue}break}}a=(c|0)!=(j|0);j=j+1|0;if(a){continue}break}j=-1;if(i){break a}c=m>>>0>1?m:1;f=f+1|0;j=0;i=0;while(1){b=(i<<2)+p|0;k=(g[b+2|0]<<1)+n|0;a=h[k>>1];e[k>>1]=a+1;k=f+(o(a)^-32)|0;d[b+3|0]=k;e[b>>1]=(a<<(k&255))-m;i=i+1|0;if((c|0)!=(i|0)){continue}break}}z=n+512|0;return j}function T(a,b,c){var d=0,e=0,g=0,h=0;e=a+4|0;d=(e+b|0)+ -1&0-b;b=f[a>>2];if(d+c>>>0<=(b+a|0)+ -4>>>0){g=f[a+4>>2];f[g+8>>2]=f[a+8>>2];f[f[a+8>>2]+4>>2]=g;if((e|0)!=(d|0)){d=d-e|0;g=f[a+ -4>>2];g=a-(g>>31^g)|0;e=d+f[g>>2]|0;f[g>>2]=e;f[(g+(e&-4)|0)+ -4>>2]=e;a=a+d|0;b=b-d|0;f[a>>2]=b}a:{if(c+24>>>0<=b>>>0){e=(a+c|0)+8|0;b=b-c|0;d=b+ -8|0;f[e>>2]=d;f[(e+(d&-4)|0)+ -4>>2]=7-b;h=e;g=f[e>>2]+ -8|0;b:{if(g>>>0<=127){d=(g>>>3|0)+ -1|0;break b}b=o(g);d=((g>>>29-b^4)-(b<<2)|0)+110|0;if(g>>>0<=4095){break b}b=((g>>>30-b^2)-(b<<1)|0)+71|0;d=b>>>0<63?b:63}b=d;d=b<<4;f[h+4>>2]=d+4832;d=d+4840|0;f[e+8>>2]=f[d>>2];f[d>>2]=e;f[f[e+8>>2]+4>>2]=e;d=f[1467];e=b&31;if(32<=(b&63)>>>0){b=1<>>32-e;h=1<>2]=b;f[((b&-4)+a|0)+ -4>>2]=b;break a}f[(a+b|0)+ -4>>2]=b}a=a+4|0}else{a=0}return a}function Z(a){var b=0,c=0,d=0,e=0,g=0,h=0;d=ma(a);if((d|0)>=1){c=16;e=a+d|0;b=e+ -16|0;f[b+12>>2]=16;f[b>>2]=16;a=f[1464];a:{b:{if(!(!a|f[a+8>>2]!=(d|0))){c=f[d+ -4>>2];h=d-(c>>31^c)|0;g=f[h+ -4>>2];f[a+8>>2]=e;c=-16;a=h-(g>>31^g)|0;if(f[(a+f[a>>2]|0)+ -4>>2]>-1){break b}c=f[a+4>>2];f[c+8>>2]=f[a+8>>2];f[f[a+8>>2]+4>>2]=c;b=b-a|0;f[a>>2]=b;break a}f[d+12>>2]=16;f[d>>2]=16;f[d+8>>2]=e;f[d+4>>2]=a;f[1464]=d}a=c+d|0;b=b-a|0;f[a>>2]=b}f[((b&-4)+a|0)+ -4>>2]=b^-1;h=a;e=f[a>>2]+ -8|0;c:{if(e>>>0<=127){b=(e>>>3|0)+ -1|0;break c}g=o(e);b=((e>>>29-g^4)-(g<<2)|0)+110|0;if(e>>>0<=4095){break c}b=((e>>>30-g^2)-(g<<1)|0)+71|0;b=b>>>0<63?b:63}c=b<<4;f[h+4>>2]=c+4832;c=c+4840|0;f[a+8>>2]=f[c>>2];f[c>>2]=a;f[f[a+8>>2]+4>>2]=a;c=f[1467];a=b&31;if(32<=(b&63)>>>0){b=1<>>32-a;a=1<0}function xa(a,b,c,d){var e=0,h=0,i=0,j=0;j=-72;a:{b:{if(!d){break b}h=g[c|0];if(!h){break a}e=h<<24>>24;i=c+1|0;c:{if((e|0)>-1){break c}if((e|0)==-1){if((d|0)<3){break b}h=(g[c+1|0]|g[c+2|0]<<8)+32512|0;i=c+3|0;break c}if((d|0)<2){break b}h=(g[c+1|0]|h<<8)+ -32768|0;i=c+2|0}f[b>>2]=h;b=i+1|0;d=c+d|0;if(b>>>0>d>>>0){break b}j=-20;i=g[i|0];e=V(a+16|0,a,i>>>6|0,35,9,b,d-b|0,2960,3104,3264,f[a+28812>>2],f[a+28956>>2],h);if(e>>>0>4294967176){break b}b=e>>>0<4294967177?b+e|0:b;e=V(a+4120|0,a+8|0,i>>>4&3,31,8,b,d-b|0,2256,2384,3792,f[a+28812>>2],f[a+28956>>2],h);if(e>>>0>4294967176){break b}b=e>>>0<4294967177?b+e|0:b;a=V(a+6176|0,a+4|0,i>>>2&3,52,9,b,d-b|0,2512,2736,4064,f[a+28812>>2],f[a+28956>>2],h);if(a>>>0>4294967176){break b}j=(a+b|0)-c|0}return j}f[b>>2]=0;return(d|0)==1?1:-72}function N(a,b,c){var e=0;a:{if((a|0)==(b|0)){break a}if((b-a|0)-c>>>0<=0-(c<<1)>>>0){return L(a,b,c)}e=(a^b)&3;b:{c:{if(a>>>0>>0){if(e){e=a;break b}if(!(a&3)){e=a;break c}e=a;while(1){if(!c){break a}d[e|0]=g[b|0];b=b+1|0;c=c+ -1|0;e=e+1|0;if(e&3){continue}break}break c}d:{if(e){break d}if(a+c&3){while(1){if(!c){break a}c=c+ -1|0;e=c+a|0;d[e|0]=g[b+c|0];if(e&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c+ -4|0;f[c+a>>2]=f[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c+ -1|0;d[c+a|0]=g[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){f[e>>2]=f[b>>2];b=b+4|0;e=e+4|0;c=c+ -4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){d[e|0]=g[b|0];e=e+1|0;b=b+1|0;c=c+ -1|0;if(c){continue}break}}return a}function O(a,b,c){var e=0,g=0,h=0,i=0;a:{if(!c){break a}e=a+c|0;d[e+ -1|0]=b;d[a|0]=b;if(c>>>0<3){break a}d[e+ -2|0]=b;d[a+1|0]=b;d[e+ -3|0]=b;d[a+2|0]=b;if(c>>>0<7){break a}d[e+ -4|0]=b;d[a+3|0]=b;if(c>>>0<9){break a}e=0-a&3;g=e+a|0;b=l(b&255,16843009);f[g>>2]=b;c=c-e&-4;e=c+g|0;f[e+ -4>>2]=b;if(c>>>0<9){break a}f[g+8>>2]=b;f[g+4>>2]=b;f[e+ -8>>2]=b;f[e+ -12>>2]=b;if(c>>>0<25){break a}f[g+24>>2]=b;f[g+20>>2]=b;f[g+16>>2]=b;f[g+12>>2]=b;f[e+ -16>>2]=b;f[e+ -20>>2]=b;f[e+ -24>>2]=b;f[e+ -28>>2]=b;i=g&4|24;c=c-i|0;if(c>>>0<32){break a}e=b;h=b;b=g+i|0;while(1){f[b+24>>2]=h;f[b+28>>2]=e;f[b+16>>2]=h;f[b+20>>2]=e;f[b+8>>2]=h;f[b+12>>2]=e;f[b>>2]=h;f[b+4>>2]=e;b=b+32|0;c=c+ -32|0;if(c>>>0>31){continue}break}}return a}function M(a){var b=0,c=0,d=0,e=0,g=0;if(a){c=a+ -4|0;e=f[c>>2];d=e;b=c;g=f[a+ -8>>2];if((g|0)<=-1){a=c+g|0;b=f[a+5>>2];f[b+8>>2]=f[a+9>>2];f[f[a+9>>2]+4>>2]=b;d=e+(g^-1)|0;b=a+1|0}a=c+e|0;c=f[a>>2];if((c|0)!=f[(a+c|0)+ -4>>2]){e=f[a+4>>2];f[e+8>>2]=f[a+8>>2];f[f[a+8>>2]+4>>2]=e;d=c+d|0}f[b>>2]=d;f[((d&-4)+b|0)+ -4>>2]=d^-1;g=b;d=f[b>>2]+ -8|0;a:{if(d>>>0<=127){a=(d>>>3|0)+ -1|0;break a}e=o(d);a=((d>>>29-e^4)-(e<<2)|0)+110|0;if(d>>>0<=4095){break a}a=((d>>>30-e^2)-(e<<1)|0)+71|0;a=a>>>0<63?a:63}c=a<<4;f[g+4>>2]=c+4832;c=c+4840|0;f[b+8>>2]=f[c>>2];f[c>>2]=b;f[f[b+8>>2]+4>>2]=b;c=f[1467];b=a&31;if(32<=(a&63)>>>0){a=1<>>32-b;b=1<>2]=h;s=-1;a:{b:{switch(c|0){case 1:if(!k){s=-72;break a}s=-20;c=g[j|0];if(c>>>0>h>>>0){break a}c=c<<2;h=f[c+m>>2];c=f[c+l>>2];d[a+11|0]=0;f[a>>2]=0;f[a+4>>2]=0;f[a+12>>2]=c;d[a+10|0]=h;e[a+8>>1]=0;f[b>>2]=a;s=1;break a;case 0:f[b>>2]=n;s=0;break a;case 3:if(!o){s=-20;break a}s=0;if(!p|(q|0)<25){break a}a=(8<>>0>>0){continue}break}break a;case 2:break b;default:break a}}s=-20;c=P(r,r+124|0,r+120|0,j,k);if(c>>>0>4294967176){break a}h=f[r+120>>2];if(h>>>0>i>>>0){break a}R(a,r,f[r+124>>2],l,m,h);f[b>>2]=a;s=c}z=r+128|0;return s}function Ga(a){var b=0;b=1047;a:{switch(a|0){case 1:return 1065;case 10:return 1081;case 12:return 1106;case 14:return 1128;case 16:return 1156;case 20:return 1200;case 22:return 1225;case 40:return 1262;case 42:return 1284;case 62:return 1310;case 64:return 1339;case 66:return 1376;case 60:return 1413;case 44:return 1466;case 46:return 1514;case 48:return 1555;case 30:return 1593;case 32:return 1617;case 34:return 1637;case 70:return 1684;case 72:return 1716;case 74:return 1738;case 100:return 1775;case 102:return 1800;case 104:return 1843;default:b=1024;break;case 0:break a}}return b}function Ca(a){var b=0,d=0,e=0,g=0,h=0,i=0;a:{b:{if(!a){break b}b=-64;if(f[a+28936>>2]){break a}g=f[a+28924>>2];d=f[a+28920>>2];b=f[a+28944>>2];c:{if(!b){break c}h=f[b+26692>>2];e=f[b+26688>>2];d:{e:{i=f[b>>2];if(i){if(!e){break e}c[e|0](h,i);c[e|0](h,b);break c}if(!e){break d}c[e|0](h,b);break c}M(i)}M(b)}f[a+28960>>2]=0;f[a+28944>>2]=0;f[a+28948>>2]=0;f:{g:{b=f[a+28968>>2];if(b){if(!d){break g}c[d|0](g,b);f[a+28968>>2]=0;c[d|0](g,a);break b}f[a+28968>>2]=0;if(!d){break f}c[d|0](g,a);break b}M(b)}M(a)}b=0}return b}function Ea(a,b,c,d,e,g){var h=0,i=0,j=0;if(!c){return-70}if(!e){return-20}i=c>>>8|0;h=l(e>>>0>>0?(e<<4>>>0)/(c>>>0)|0:15,24);j=l(i,f[h+1884>>2])+f[h+1880>>2]|0;a:{if(j+(j>>>3|0)>>>0>2]+l(f[h+1876>>2],i)>>>0){g=da(a,d,e,g,2048);if(g>>>0>4294967176){return g}h=-72;if(g>>>0>=e>>>0){break a}return ca(b,c,d+g|0,e-g|0,a)}g=Y(a,d,e,g);if(g>>>0>4294967176){return g}h=-72;if(g>>>0>=e>>>0){break a}h=ea(b,c,d+g|0,e-g|0,a)}return h}function wa(){var a=0,b=0;a=U(160168);if(!a){return 0}f[a+28924>>2]=0;f[a+28916>>2]=0;f[a+28920>>2]=0;f[a+28980>>2]=134217729;f[a+28936>>2]=0;f[a+28908>>2]=0;f[a+28948>>2]=0;f[a+160164>>2]=0;f[a+29004>>2]=0;f[a+29008>>2]=0;f[a+28988>>2]=0;f[a+28740>>2]=0;f[a+29020>>2]=0;f[a+29024>>2]=0;f[a+28940>>2]=0;f[a+28944>>2]=0;f[a+28956>>2]=0;f[a+28960>>2]=0;b=a+28964|0;f[b>>2]=0;f[b+4>>2]=0;f[a+28972>>2]=0;return a|0}function La(a,b,c){var d=0,e=0,f=0,g=0;g=c&63;f=g;d=f&31;if(32<=f>>>0){d=-1>>>d|0}else{e=-1>>>d|0;d=(1<>>d}f=d&a;d=b&e;e=g&31;if(32<=g>>>0){d=f<>>32-e|d<>>0){d=-1<>>32-c|-1<>>0){c=0;a=d>>>b|0}else{c=d>>>b|0;a=((1<>>b}a=a|g;A=c|f;return a} + + + +function sa(a){a=a|0;var b=0,d=0,e=0,g=0;f[a+29020>>2]=0;f[a+28964>>2]=0;b=f[a+28944>>2];a:{if(!b){break a}e=f[b+26692>>2];d=f[b+26688>>2];b:{c:{g=f[b>>2];if(g){if(!d){break c}c[d|0](e,g);c[d|0](e,b);break a}if(!d){break b}c[d|0](e,b);break a}M(g)}M(b)}f[a+28960>>2]=0;f[a+28944>>2]=0;f[a+28948>>2]=0;return(f[a+28908>>2]?1:5)|0}function Ia(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=l(e,f);g=c&65535;h=a&65535;i=l(g,h);f=(i>>>16|0)+l(f,g)|0;e=(f&65535)+l(e,h)|0;a=(l(b,c)+j|0)+l(a,d)+(f>>>16)+(e>>>16)|0;b=i&65535|e<<16;A=a;return b}function ma(a){var b=0,c=0;b=f[1204];c=a+3&-4;a=b+c|0;a:{if(a>>>0<=b>>>0?(c|0)>=1:0){break a}if(a>>>0>B()<<16>>>0){if(!(y(a|0)|0)){break a}}f[1204]=a;return b}f[1468]=48;return-1}function Ja(a,b){var c=0,d=0;if(a|b){d=b+ -1|0;c=a+ -1|0;if((c|0)!=-1){d=d+1|0}c=o(a^c)+32|0;a=o(b^d);a=(a|0)==32?c:a;b=63-a|0;A=0-(63>>0)|0;return b}A=0;return 64}function qa(){var a=0,b=0,c=0;while(1){b=a<<4;c=b+4832|0;f[b+4836>>2]=c;f[b+4840>>2]=c;a=a+1|0;if((a|0)!=64){continue}break}Z(48)}function fa(a){a=a|0;return Ga(a>>>0<4294967177?0:0-a|0)|0}function ga(a){a=a|0;return a>>>0>4294967176|0}function ia(a){a=a|0;a=z-a&-16;z=a;return a|0}function Ka(a,b,c,d){a=Ia(a,b,c,d);return a}function va(a){a=a|0;return Ca(a)|0}function oa(a){a=a|0;return U(a)|0}function ha(a){a=a|0;return u()|0}function ua(){return 131075}function ta(){return 131072}function na(a){a=a|0;M(a)}function la(){return z|0}function ka(a){a=a|0;z=a}function Ha(){qa()} +// EMSCRIPTEN_END_FUNCS +function B(){return buffer.byteLength/65536|0}return{"e":Ha,"f":oa,"g":na,"h":ga,"i":fa,"j":wa,"k":va,"l":ua,"m":ta,"n":sa,"o":ra,"p":la,"q":ka,"r":ia,"s":ha}}var C=new Uint8Array(wasmMemory.buffer);for(var D=new Uint8Array(123),E=25;E>=0;--E){D[48+E]=52+E;D[65+E]=E;D[97+E]=26+E}D[43]=62;D[47]=63;function F(uint8Array,offset,b64){var G,H,E=0,I=offset,J=b64.length,K=offset+(J*3>>2)-(b64[J-2]=="=")-(b64[J-1]=="=");for(;E>4;if(I>2;if(I=n){var I=b.charCodeAt(++t);n=65536+((n&1023)<<10)|I&1023}if(127>=n){if(h>=g)break;k[h++]=n}else{if(2047>=n){if(h+1>=g)break;k[h++]=192|n>>6}else{if(65535>=n){if(h+2>=g)break;k[h++]=224|n>>12}else{if(h+3>=g)break;k[h++]=240|n>>18;k[h++]=128|n>>12&63}k[h++]=128|n>>6&63}k[h++]=128|n&63}}k[h]= +0}}return f},array:function(b){var f=M(b.length);fa.set(b,f);return f}},p=L(c),r=[];c=0;if(m)for(var q=0;q=g);)++h;if(16k?g+=String.fromCharCode(k):(k-=65536,g+=String.fromCharCode(55296|k>>10,56320|k&1023))}}else g+=String.fromCharCode(k)}b=g}}else b="";else b="boolean"===e?!!b:b;return b}(d);0!==c&&ja(c);return d}var ia="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0,P,fa,O,C=a.INITIAL_MEMORY||140247040;a.wasmMemory?G=a.wasmMemory:G=new aa;G&&(P=G.buffer);C=P.byteLength;var Q=P;P=Q;a.HEAP8=fa=new Int8Array(Q);a.HEAP16=new Int16Array(Q);a.HEAP32=new Int32Array(Q); +a.HEAPU8=O=new Uint8Array(Q);a.HEAPU16=new Uint16Array(Q);a.HEAPU32=new Uint32Array(Q);a.HEAPF32=new Float32Array(Q);a.HEAPF64=new Float64Array(Q);var ka=[],la=[],ma=[],na=[];function oa(){var c=a.preRun.shift();ka.unshift(c)}Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(c,e){var d=c&65535,m=e&65535;return d*m+((c>>>16)*m+d*(e>>>16)<<16)|0});if(!Math.fround){var pa=new Float32Array(1);Math.fround=function(c){pa[0]=c;return pa[0]}} +Math.clz32||(Math.clz32=function(c){var e=32,d=c>>16;d&&(e-=16,c=d);if(d=c>>8)e-=8,c=d;if(d=c>>4)e-=4,c=d;if(d=c>>2)e-=2,c=d;return c>>1?e-2:e-c});Math.trunc||(Math.trunc=function(c){return 0>c?Math.ceil(c):Math.floor(c)});var R=0,T=null,U=null;a.preloadedImages={};a.preloadedAudios={};function J(c){if(a.onAbort)a.onAbort(c);A(c);K=!0;c=new da("abort("+c+"). Build with -s ASSERTIONS=1 for more info.");v(c);throw c;} +function V(c){return String.prototype.startsWith?c.startsWith("data:application/octet-stream;base64,"):0===c.indexOf("data:application/octet-stream;base64,")}var W="zstddec.wasm";if(!V(W)){var qa=W;W=a.locateFile?a.locateFile(qa,y):y+qa} +function ra(){try{if(B)return new Uint8Array(B);var c=W;if(V(c))try{var e=sa(c.slice(37)),d=new Uint8Array(e.length);for(c=0;c>4;l=(l&15)<<4|p>>2;var q=(p&3)<<6|r;e+=String.fromCharCode(m);64!==p&&(e+=String.fromCharCode(l));64!==r&&(e+=String.fromCharCode(q))}while(d */ 'use strict'; -define(['q', 'zstdec'], function(Q) { - // DEV: zstdec.js has been compiled with `-s EXPORT_NAME="ZD" -s MODULARIZE=1` to avoid a clash with xzdec which uses "Module" as its exported object - // Note that we include zstdec above in requireJS definition, but we cannot change the name in the function list +define(['q', 'zstddec'], function(Q) { + // DEV: zstddec.js has been compiled with `-s EXPORT_NAME="ZD" -s MODULARIZE=1` to avoid a clash with xzdec which uses "Module" as its exported object + // Note that we include zstddec above in requireJS definition, but we cannot change the name in the function list // There is no longer any need to load it in index.html // For explanation of loading method below to avoid conflicts, see https://github.com/emscripten-core/emscripten/blob/master/src/settings.js @@ -46,8 +46,9 @@ define(['q', 'zstdec'], function(Q) { // NB there is no need to change this handle even between ZIM loads: zstddeclib encourages re-using assigned structures zd._decHandle = zd._ZSTD_createDStream(); // DEV set chunkSize according to memory environment; for systems with plenty of memory, - // zd can provide a max recommended size with zd._chunkSize = zd._ZSTD_DStreamInSize(); - zd._chunkSize = 5 * 1024; + // zd can provide a max recommended size with + zd._chunkSize = zd._ZSTD_DStreamInSize(); + // zd._chunkSize = 5 * 1024; // Initialize inBuffer zd._inBuffer = { @@ -63,9 +64,8 @@ define(['q', 'zstdec'], function(Q) { // DEV: Size of outBuffer is currently set as recommended by zd._ZSTD_DStreamOutSize() below; if you are running into // memory issues, it may be possible to reduce memory consumption by setting a smaller outBuffer size here and - // reompiling zstdec.js with lower TOTAL_MEMORY (or just search for INITIAL_MEMORY in zstdec.js and change it) + // reompiling zstddec.js with lower TOTAL_MEMORY (or just search for INITIAL_MEMORY in zstddec.js and change it) var outBufSize = zd._ZSTD_DStreamOutSize(); - console.log('*** Initiating ZSTD decoder with DStreamoutSize: ' + outBufSize + ' ***'); // Initialize outBuffer zd._outBuffer = { @@ -112,7 +112,7 @@ define(['q', 'zstdec'], function(Q) { /** * Set up the decompression stream, and initiate a read loop to decompress from the beginning of the cluster * until we reach in the decompressed byte stream - * @param {Integer} offset Cluster offset (in deocmpressed stream) from which to start reading + * @param {Integer} offset Cluster offset (in decompressed stream) from which to start reading * @param {Integer} length Number of decompressed bytes to read * @returns {Promise} Promise for an ArrayBuffer with decoded data */ @@ -167,36 +167,20 @@ define(['q', 'zstdec'], function(Q) { * The main loop for sending compressed data to the decompressor and retrieving decompressed bytes * Consecutive calls to readLoop may only advance in the stream and may not overlap * @param {Integer} offset The offset in the *decompressed* byte stream at which the requested blob resides - * @param {Integer} length The deomcpressed size of the requested blob - * @param {Integer} dataRequest The recommended number of bytes the docompressor has requested * @returns {Promise} A Promise for an Int8Array containing the requested blob's decompressed bytes */ - Decompressor.prototype._readLoop = function(offset, length, dataRequest) { + Decompressor.prototype._readLoop = function (offset) { var that = this; - return this._fillInBufferIfNeeded(offset, length, dataRequest).then(function() { + return this._fillInBuffer().then(function () { + var finished = false; var ret = zd._ZSTD_decompressStream(zd._decHandle, zd._outBuffer.ptr, zd._inBuffer.ptr); if (zd._ZSTD_isError(ret)) { var errorMessage = "Failed to decompress data stream!\n" + zd.getErrorString(ret); - console.error(errorMessage); - throw new Error(errorMessage); + return Q.reject(errorMessage); } - var finished = false; - if (ret === 0) { - // stream ended - finished = true; - } else if (ret > 0) { - // supply more data - zd._inBuffer.size = ret; - } - - // Get updated inbuffer values for processing on the JS sice - // NB the zd.Decoder will read these values from its own buffers - var ibx32ptr = zd._inBuffer.ptr >> 2; - zd._inBuffer.pos = zd.HEAP32[ibx32ptr + 2]; - // Get updated outbuffer values - var obx32ptr = zd._outBuffer.ptr >> 2; - var outPos = zd.HEAP32[obx32ptr + 2]; + var obxPtr32Bit = zd._outBuffer.ptr >> 2; + var outPos = zd.HEAP32[obxPtr32Bit + 2]; // If data have been decompressed, check to see whether the data are in the offset range we need if (outPos > 0 && that._outStreamPos + outPos >= offset) { @@ -206,35 +190,33 @@ define(['q', 'zstdec'], function(Q) { that._outDataBuf[that._outDataBufPos++] = zd.HEAP8[zd._outBuffer.dst + i]; } if (that._outDataBufPos === that._outDataBuf.length) finished = true; + // Return without further processing if decompressor has finished + if (finished) return that._outDataBuf; + + // Get updated inbuffer values for processing on the JS sice + // NB the zd.Decoder will read these values from its own buffers + var ibxPtr32Bit = zd._inBuffer.ptr >> 2; + zd._inBuffer.pos = zd.HEAP32[ibxPtr32Bit + 2]; + // Increment the byte stream positions that._inStreamPos += zd._inBuffer.pos; that._outStreamPos += outPos; // DEV: if outPos is > 0, then we have either copied all data from outBuffer, or we can now throw those data away // because they are before our required offset // Se we can now reset the asm outBuffer.pos field to 0 - zd.HEAP32[obx32ptr + 2] = 0; - // do not change the _outBuffer.size field locally; _outBuffer.size is the maximum amount the ZSTD codec is allowed - // to decode in one go, but even if it is only partially written, we just copy the decoded bytes and reset _ouBuffer.pos to 0 - if (finished) { - return that._outDataBuf; - } else { - return that._readLoop(offset, length, ret); - } + // Testing outPos is not strictly necessary, but there may be an overhead in writing to HEAP32 + if (!outPos) zd.HEAP32[obxPtr32Bit + 2] = 0; + return that._readLoop(offset); + }).catch(function (err) { + console.error(err); }); }; /** - * Fills in the instream buffer if needed - * @param {Integer} req The requested number of compressed bytes (optional) + * Fills in the instream buffer * @returns {Promise<0>} A Promise for 0 when all data have been added to the stream */ - Decompressor.prototype._fillInBufferIfNeeded = function(req) { - req = req || 0; - if (this._inStreamPos + req < this._inStreamChunkedPos) { - // We should still have enough data in the buffer - // DEV: When converting to Promise/A+, use Promise.resolve(0) here - return Q.when(0); - } + Decompressor.prototype._fillInBuffer = function() { var that = this; return this._reader(this._inStreamPos, zd._chunkSize).then(function(data) { // Populate inBuffer and assign asm/wasm memory if not already assigned diff --git a/www/js/lib/zstdec.js b/www/js/lib/zstdec.js deleted file mode 100644 index 9c774fde..00000000 --- a/www/js/lib/zstdec.js +++ /dev/null @@ -1,73 +0,0 @@ - -var ZD = (function() { - var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; - if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; - return ( -function(ZD) { - ZD = ZD || {}; - - -var b;b||(b=typeof ZD !== 'undefined' ? ZD : {}); -var Promise=function(){function a(){}function c(d,f){return function(){d.apply(f,arguments)}}function e(d){if(!(this instanceof e))throw new TypeError("Promises must be constructed via new");if("function"!==typeof d)throw new TypeError("not a function");this.w=0;this.F=!1;this.A=void 0;this.B=[];J(d,this)}function l(d,f){for(;3===d.w;)d=d.A;0===d.w?d.B.push(f):(d.F=!0,e.G(function(){var g=1===d.w?f.J:f.K;if(null===g)(1===d.w?m:p)(f.D,d.A);else{try{var h=g(d.A)}catch(k){p(f.D,k);return}m(f.D,h)}}))} -function m(d,f){try{if(f===d)throw new TypeError("A promise cannot be resolved with itself.");if(f&&("object"===typeof f||"function"===typeof f)){var g=f.then;if(f instanceof e){d.w=3;d.A=f;u(d);return}if("function"===typeof g){J(c(g,f),d);return}}d.w=1;d.A=f;u(d)}catch(h){p(d,h)}}function p(d,f){d.w=2;d.A=f;u(d)}function u(d){2===d.w&&0===d.B.length&&e.G(function(){d.F||e.H(d.A)});for(var f=0,g=d.B.length;f>2];m=f[m>>2];R=!j&m>>>0>33554432|j>>>0>0;q=-72;a:{if(h>>>0>131071){break a}q=Aa(a,e,h);if(q>>>0>4294967176){break a}j=f[a+28956>>2];m=e+q|0;l=e;e=q>>>0<4294967177;l=e?m:l;h=h-(e?q:0)|0;e=za(a,k+52|0,l,h);if(e>>>0>4294967176){q=e;break a}B=f[k+52>>2];if(!b){q=-70;if((B|0)>0){break a}}m=h-e|0;s=e+l|0;b:{c:{d:{if(j){f[a+28956>>2]=0;break d}if((B|0)<5){break c}h=a+28760|0;e=f[h+4>>2];h=f[h>>2];if(!e&h>>>0<=16777216|e>>>0<0){break c}e=f[a+8>>2];j=e+8|0;e=f[e+4>>2];q=0;h=0;while(1){q=(g[(j+(h<<3)|0)+2|0]>22)+q|0;h=h+1|0;if(!(h>>>e|0)){continue}break}f[a+28956>>2]=0;if(q<<8-e>>>0<20){break b}}h=f[a+28912>>2];f[k+204>>2]=h;G=b+c|0;H=f[a+28928>>2]+h|0;e=b;if(B){E=f[a+28740>>2];K=f[a+28736>>2];y=f[a+28732>>2];f[a+28812>>2]=1;f[k+108>>2]=f[a+26676>>2];M=a+26668|0;c=M;e=f[c+4>>2];f[k+100>>2]=f[c>>2];f[k+104>>2]=e;f[k+116>>2]=E;f[k+112>>2]=y;O=b-y|0;f[k+120>>2]=O;if(!m){f[k+72>>2]=0;a=k- -64|0;f[a>>2]=0;f[a+4>>2]=0;f[k+56>>2]=0;f[k+60>>2]=0;q=-20;break a}f[k+68>>2]=s;f[k+72>>2]=s+4;e:{f:{if(m>>>0>=4){r=m+ -4|0;c=s+r|0;f[k+64>>2]=c;h=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);f[k+56>>2]=h;c=g[(m+s|0)+ -1|0];if(c){break f}f[k+60>>2]=0;q=-20;break a}f[k+64>>2]=s;h=g[s|0];f[k+56>>2]=h;g:{switch(m+ -2|0){case 1:h=g[s+2|0]<<16|h;f[k+56>>2]=h;case 0:h=(g[s+1|0]<<8)+h|0;f[k+56>>2]=h;break;default:break g}}c=g[(m+s|0)+ -1|0];if(!c){f[k+60>>2]=0;q=-20;break a}l=((o(c)|-32)-(m<<3)|0)+41|0;f[k+60>>2]=l;break e}l=(o(c)|-32)+9|0;f[k+60>>2]=l;q=-20;if(m>>>0>4294967176){break a}}j=f[a>>2];e=f[j+4>>2];c=e+l|0;f[k+60>>2]=c;t=f[(e<<2)+4592>>2]&h>>>(0-c&31);f[k+76>>2]=t;h:{if(c>>>0>32){n=c;break h}e=k;i:{if((r|0)>=4){n=c&7;f[k+60>>2]=n;r=r-(c>>>3|0)|0;c=s+r|0;f[k+64>>2]=c;h=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);break i}if(!r){r=0;n=c;break h}h=c;c=c>>>3|0;c=(s+r|0)-c>>>0>>0?r:c;n=h-(c<<3)|0;f[k+60>>2]=n;r=r-c|0;c=s+r|0;f[k+64>>2]=c;h=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24)}f[e+56>>2]=h}m=(B|0)<4;S=j+8|0;f[k+80>>2]=S;l=f[a+8>>2];e=f[l+4>>2];c=e+n|0;f[k+60>>2]=c;e=f[(e<<2)+4592>>2]&h>>>(0-c&31);f[k+84>>2]=e;j:{if(c>>>0>32){n=c;break j}j=k;k:{if((r|0)>=4){n=c&7;f[k+60>>2]=n;r=r-(c>>>3|0)|0;c=s+r|0;f[k+64>>2]=c;h=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);break k}if(!r){r=0;n=c;break j}h=c;c=c>>>3|0;c=(s+r|0)-c>>>0>>0?r:c;n=h-(c<<3)|0;f[k+60>>2]=n;r=r-c|0;c=s+r|0;f[k+64>>2]=c;h=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24)}f[j+56>>2]=h}P=m?B:4;T=l+8|0;f[k+88>>2]=T;j=f[a+4>>2];a=f[j+4>>2];l=a+n|0;f[k+60>>2]=l;c=0;w=f[(a<<2)+4592>>2]&h>>>(0-l&31);f[k+92>>2]=w;l:{m:{if(l>>>0>=33){f[k+96>>2]=j+8;break m}n:{o:{p:{if((r|0)>=4){c=l&7;f[k+60>>2]=c;a=r-(l>>>3|0)|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);f[k+56>>2]=h;l=c;break p}if(r){break o}a=0}f[k+96>>2]=j+8;break n}a=l>>>3|0;a=(s+r|0)-a>>>0>>0?r:a;l=l-(a<<3)|0;f[k+60>>2]=l;a=r-a|0;c=s+a|0;f[k+64>>2]=c;h=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);f[k+96>>2]=j+8;f[k+56>>2]=h;c=0;if(l>>>0>32){break m}}D=(P|0)>0?P:0;X=j+8|0;u=a;m=a;j=a;v=a;q=a;c=0;while(1){n=k;q:{r:{if((q|0)>=4){r=l&7;f[k+60>>2]=r;a=q-(l>>>3|0)|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);break r}if(!q){r=l;q=0;break q}a=l>>>3|0;a=(q+s|0)-a>>>0>>0?q:a;r=l-(a<<3)|0;f[k+60>>2]=r;a=q-a|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24)}f[n+56>>2]=h;u=a;m=a;j=a;v=a;q=a}if((c|0)==(D|0)){l=r;c=D;break l}n=(t<<3)+S|0;l=f[n+4>>2];x=f[n>>2];n=l;U=(l&65535)<<16|x>>>16;I=U&255;p=(w<<3)+X|0;l=f[p+4>>2];A=f[p>>2];w=l;V=(l&65535)<<16|A>>>16;Q=V&255;l=(e<<3)+T|0;e=f[l+4>>2];C=f[l>>2];l=e;J=l;F=w;e=n;l=(l&65535)<<16|C>>>16;p=l&255;s:{if(p>>>0>=2){t:{if(!(!R|p>>>0<25)){l=32-r|0;t=l>>>0>p>>>0?p:l;l=t+r|0;f[k+60>>2]=l;Y=h<<(r&31)>>>(0-t&31)|0;r=p-t|0;t=Y<>>0>32){p=l;break u}q=k;v:{if((j|0)>=4){p=l&7;f[k+60>>2]=p;a=j-(l>>>3|0)|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);break v}if(!j){j=0;v=0;q=0;p=l;break u}a=l>>>3|0;a=(j+s|0)-a>>>0>>0?j:a;p=l-(a<<3)|0;f[k+60>>2]=p;a=j-a|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24)}f[q+56>>2]=h;u=a;m=a;j=a;v=a;q=a}l=t+J|0;if(!r){t=p;break t}t=p+r|0;f[k+60>>2]=t;l=(h<<(p&31)>>>(0-r&31)|0)+l|0;break t}p=p+r|0;f[k+60>>2]=p;l=J+(h<<(r&31)>>>(0-l&31)|0)|0;if(p>>>0>32){t=p;break t}q=k;w:{if((v|0)>=4){t=p&7;f[k+60>>2]=t;a=v-(p>>>3|0)|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);break w}if(!v){v=0;t=p;q=0;break t}a=p>>>3|0;a=(s+v|0)-a>>>0>>0?v:a;t=p-(a<<3)|0;f[k+60>>2]=t;a=v-a|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24)}f[q+56>>2]=h;u=a;m=a;j=a;v=a;q=a}p=f[k+100>>2];r=f[k+104>>2];f[k+100>>2]=l;f[k+104>>2]=p;f[k+108>>2]=r;break s}if(!p){if(e){l=f[k+100>>2];t=r;break s}l=f[k+104>>2];f[k+104>>2]=f[k+100>>2];f[k+100>>2]=l;t=r;break s}t=r+1|0;f[k+60>>2]=t;p=J+(!e+(h<<(r&31)>>>31|0)|0)|0;x:{y:{if((p|0)==3){l=f[k+100>>2]+ -1|0;l=!l+l|0;break y}l=f[((p<<2)+k|0)+100>>2];l=!l+l|0;if((p|0)==1){break x}}f[k+108>>2]=f[k+104>>2]}f[k+104>>2]=f[k+100>>2];f[k+100>>2]=l}J=I+Q|0;r=F;z:{if(!Q){p=t;break z}p=t+Q|0;f[k+60>>2]=p;r=(h<<(t&31)>>>(0-V&31)|0)+r|0}A:{if(J>>>0<20){t=p;break A}if(p>>>0>32){t=p;break A}j=k;B:{if((m|0)>=4){t=p&7;f[k+60>>2]=t;a=m-(p>>>3|0)|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);break B}if(!m){m=0;t=p;j=0;v=0;q=0;break A}a=p>>>3|0;a=(m+s|0)-a>>>0>>0?m:a;t=p-(a<<3)|0;f[k+60>>2]=t;a=m-a|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24)}f[j+56>>2]=h;u=a;m=a;j=a;v=a;q=a}p=(w&16777215)<<8|A>>>24;w=(n&16777215)<<8|x>>>24;C:{if(!I){n=t;break C}n=t+I|0;f[k+60>>2]=n;e=(h<<(t&31)>>>(0-U&31)|0)+e|0}t=p;D:{if(n>>>0>32){p=n;break D}j=k;E:{if((u|0)>=4){p=n&7;f[k+60>>2]=p;a=u-(n>>>3|0)|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);break E}if(!u){u=0;m=0;j=0;v=0;q=0;p=n;break D}a=n>>>3|0;a=(s+u|0)-a>>>0>>0?u:a;p=n-(a<<3)|0;f[k+60>>2]=p;a=u-a|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24)}f[j+56>>2]=h;u=a;m=a;j=a;v=a;q=a}F=e+O|0;O=F+r|0;f[k+120>>2]=O;n=p;p=w&255;w=n+p|0;I=t&255;n=w+I|0;f[k+60>>2]=n;t=(f[(p<<2)+4592>>2]&h>>>(0-w&31))+(x&65535)|0;f[k+76>>2]=t;w=(f[(I<<2)+4592>>2]&h>>>(0-n&31))+(A&65535)|0;f[k+92>>2]=w;x=(F+(l>>>0>F>>>0?E:y)|0)-l|0;F:{if(n>>>0>32){p=n;break F}j=k;G:{if((a|0)>=4){p=n&7;f[k+60>>2]=p;a=a-(n>>>3|0)|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);break G}if(!a){a=0;u=0;m=0;j=0;v=0;q=0;p=n;break F}h=n>>>3|0;h=(a+s|0)-h>>>0>>0?a:h;p=n-(h<<3)|0;f[k+60>>2]=p;a=a-h|0;h=s+a|0;f[k+64>>2]=h;h=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24)}f[j+56>>2]=h;u=a;m=a;j=a;v=a;q=a}n=(k+128|0)+(c<<4)|0;f[n+12>>2]=x;f[n+8>>2]=l;f[n+4>>2]=r;f[n>>2]=e;e=C>>>24|0;l=e+p|0;f[k+60>>2]=l;e=(f[(e<<2)+4592>>2]&h>>>(0-l&31))+(C&65535)|0;f[k+84>>2]=e;c=c+1|0;if(l>>>0<=32){continue}break}}q=-20;if((c|0)<(P|0)){break a}}F=G+ -32|0;s=k+112|0;I=k+116|0;e=b;while(1){H:{if(l>>>0>=33){q=-20;if((c|0)<(B|0)){break a}break H}a=f[k+64>>2];x=f[k+72>>2];I:{if(a>>>0>=x>>>0){m=l&7;f[k+60>>2]=m;a=a-(l>>>3|0)|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break I}h=f[k+68>>2];if((h|0)==(a|0)){m=l;break I}j=l>>>3|0;h=a-j>>>0>>0?a-h|0:j;a=a-h|0;f[k+64>>2]=a;m=l-(h<<3)|0;f[k+60>>2]=m;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}if((c|0)>=(B|0)){break H}h=f[k+80>>2]+(f[k+76>>2]<<3)|0;j=f[h+4>>2];u=f[h>>2];h=j;Q=(h&65535)<<16|u>>>16;A=Q&255;l=f[k+96>>2]+(f[k+92>>2]<<3)|0;j=f[l+4>>2];v=f[l>>2];p=j;J=(j&65535)<<16|v>>>16;C=J&255;j=f[k+88>>2]+(f[k+84>>2]<<3)|0;l=f[j+4>>2];w=f[j>>2];j=l;n=j;q=p;r=h;l=(j&65535)<<16|w>>>16;j=l&255;J:{if(j>>>0>=2){K:{if(!(!R|j>>>0<25)){l=32-m|0;D=l>>>0>j>>>0?j:l;l=D+m|0;f[k+60>>2]=l;t=f[k+56>>2];O=t<<(m&31)>>>(0-D&31)|0;m=j-D|0;D=O<>>0>32){j=l;break L}M:{if(a>>>0>=x>>>0){j=l&7;f[k+60>>2]=j;a=a-(l>>>3|0)|0;f[k+64>>2]=a;break M}j=f[k+68>>2];if((j|0)==(a|0)){j=l;break L}t=l>>>3|0;j=a-t>>>0>>0?a-j|0:t;a=a-j|0;f[k+64>>2]=a;j=l-(j<<3)|0;f[k+60>>2]=j}t=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);f[k+56>>2]=t}n=n+D|0;if(!m){l=j;break K}l=j+m|0;f[k+60>>2]=l;n=(t<<(j&31)>>>(0-m&31)|0)+n|0;break K}j=j+m|0;f[k+60>>2]=j;n=n+(f[k+56>>2]<<(m&31)>>>(0-l&31)|0)|0;if(j>>>0>32){l=j;break K}if(a>>>0>=x>>>0){l=j&7;f[k+60>>2]=l;a=a-(j>>>3|0)|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break K}m=f[k+68>>2];if((m|0)==(a|0)){l=j;break K}l=j>>>3|0;m=a-l>>>0>>0?a-m|0:l;a=a-m|0;f[k+64>>2]=a;l=j-(m<<3)|0;f[k+60>>2]=l;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}j=f[k+100>>2];m=f[k+104>>2];f[k+100>>2]=n;f[k+104>>2]=j;f[k+108>>2]=m;break J}if(!j){if(r){n=f[k+100>>2];l=m;break J}n=f[k+104>>2];f[k+104>>2]=f[k+100>>2];f[k+100>>2]=n;l=m;break J}l=m+1|0;f[k+60>>2]=l;j=n+!r+(f[k+56>>2]<<(m&31)>>>31)|0;N:{O:{if((j|0)==3){j=f[k+100>>2]+ -1|0;n=!j+j|0;break O}m=f[((j<<2)+k|0)+100>>2];n=!m+m|0;if((j|0)==1){break N}}f[k+108>>2]=f[k+104>>2]}f[k+104>>2]=f[k+100>>2];f[k+100>>2]=n}j=A+C|0;m=q;P:{if(!C){q=l;break P}q=l+C|0;f[k+60>>2]=q;m=(f[k+56>>2]<<(l&31)>>>(0-J&31)|0)+m|0}Q:{if(j>>>0<20){l=q;break Q}if(q>>>0>32){l=q;break Q}if(a>>>0>=x>>>0){l=q&7;f[k+60>>2]=l;a=a-(q>>>3|0)|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break Q}j=f[k+68>>2];if((j|0)==(a|0)){l=q;break Q}l=q>>>3|0;j=a-l>>>0>>0?a-j|0:l;a=a-j|0;f[k+64>>2]=a;l=q-(j<<3)|0;f[k+60>>2]=l;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}j=(p&16777215)<<8|v>>>24;q=(h&16777215)<<8|u>>>24;R:{if(!A){h=l;break R}h=l+A|0;f[k+60>>2]=h;r=(f[k+56>>2]<<(l&31)>>>(0-Q&31)|0)+r|0}l=j;S:{if(h>>>0>32){j=h;break S}if(a>>>0>=x>>>0){j=h&7;f[k+60>>2]=j;a=a-(h>>>3|0)|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break S}j=f[k+68>>2];if((j|0)==(a|0)){j=h;break S}p=h>>>3|0;j=a-p>>>0>>0?a-j|0:p;a=a-j|0;f[k+64>>2]=a;j=h-(j<<3)|0;f[k+60>>2]=j;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}A=f[k+120>>2]+r|0;f[k+120>>2]=A+m;h=j;j=q&255;p=h+j|0;l=l&255;h=p+l|0;f[k+60>>2]=h;q=f[k+56>>2];f[k+76>>2]=(f[(j<<2)+4592>>2]&q>>>(0-p&31))+(u&65535);f[k+92>>2]=(f[(l<<2)+4592>>2]&q>>>(0-h&31))+(v&65535);C=f[(n>>>0>A>>>0?I:s)>>2];T:{if(h>>>0>32){l=h;break T}j=k;U:{if(a>>>0>=x>>>0){l=h&7;f[k+60>>2]=l;a=a-(h>>>3|0)|0;f[k+64>>2]=a;q=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break U}l=f[k+68>>2];if((l|0)==(a|0)){l=h;break T}p=h;h=h>>>3|0;h=a-h>>>0>>0?a-l|0:h;l=p-(h<<3)|0;f[k+60>>2]=l;a=a-h|0;f[k+64>>2]=a;q=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}f[j+56>>2]=q}a=w>>>24|0;h=a+l|0;f[k+60>>2]=h;f[k+84>>2]=(f[(a<<2)+4592>>2]&q>>>(0-h&31))+(w&65535);t=(k+128|0)+((c&3)<<4)|0;a=t;h=f[a+12>>2];l=f[a+8>>2];f[k+216>>2]=l;f[k+220>>2]=h;h=f[a+4>>2];j=f[a>>2];f[k+208>>2]=j;f[k+212>>2]=h;V:{W:{u=f[k+204>>2];x=j+u|0;X:{if(x>>>0>H>>>0){break X}p=f[k+212>>2];q=j+p|0;if(q+e>>>0>F>>>0){break X}if(G-e>>>0>=q+32>>>0){break W}}a=f[k+220>>2];f[k+40>>2]=f[k+216>>2];f[k+44>>2]=a;a=f[k+212>>2];f[k+32>>2]=f[k+208>>2];f[k+36>>2]=a;q=W(e,G,k+32|0,k+204|0,H,y,K,E);break V}a=e+j|0;h=u;v=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);w=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[e|0]=w;d[e+1|0]=w>>>8;d[e+2|0]=w>>>16;d[e+3|0]=w>>>24;d[e+4|0]=v;d[e+5|0]=v>>>8;d[e+6|0]=v>>>16;d[e+7|0]=v>>>24;v=g[h+12|0]|g[h+13|0]<<8|(g[h+14|0]<<16|g[h+15|0]<<24);h=g[h+8|0]|g[h+9|0]<<8|(g[h+10|0]<<16|g[h+11|0]<<24);d[e+8|0]=h;d[e+9|0]=h>>>8;d[e+10|0]=h>>>16;d[e+11|0]=h>>>24;d[e+12|0]=v;d[e+13|0]=v>>>8;d[e+14|0]=v>>>16;d[e+15|0]=v>>>24;if(j>>>0>=17){h=e+16|0;while(1){j=g[u+20|0]|g[u+21|0]<<8|(g[u+22|0]<<16|g[u+23|0]<<24);v=g[u+16|0]|g[u+17|0]<<8|(g[u+18|0]<<16|g[u+19|0]<<24);d[h|0]=v;d[h+1|0]=v>>>8;d[h+2|0]=v>>>16;d[h+3|0]=v>>>24;d[h+4|0]=j;d[h+5|0]=j>>>8;d[h+6|0]=j>>>16;d[h+7|0]=j>>>24;j=g[u+28|0]|g[u+29|0]<<8|(g[u+30|0]<<16|g[u+31|0]<<24);v=g[u+24|0]|g[u+25|0]<<8|(g[u+26|0]<<16|g[u+27|0]<<24);d[h+8|0]=v;d[h+9|0]=v>>>8;d[h+10|0]=v>>>16;d[h+11|0]=v>>>24;d[h+12|0]=j;d[h+13|0]=j>>>8;d[h+14|0]=j>>>16;d[h+15|0]=j>>>24;u=u+16|0;h=h+16|0;if(h>>>0>>0){continue}break}}j=l;h=a-j|0;f[k+204>>2]=x;if(j>>>0>a-y>>>0){if(j>>>0>a-K>>>0){q=-20;break a}h=h-y|0;l=h+E|0;if(l+p>>>0<=E>>>0){N(a,l,p);break V}a=N(a,l,0-h|0);p=h+p|0;f[k+212>>2]=p;a=a-h|0;h=y}if(j>>>0>=16){p=a+p|0;while(1){j=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);l=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=l;d[a+1|0]=l>>>8;d[a+2|0]=l>>>16;d[a+3|0]=l>>>24;d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24;j=g[h+12|0]|g[h+13|0]<<8|(g[h+14|0]<<16|g[h+15|0]<<24);l=g[h+8|0]|g[h+9|0]<<8|(g[h+10|0]<<16|g[h+11|0]<<24);d[a+8|0]=l;d[a+9|0]=l>>>8;d[a+10|0]=l>>>16;d[a+11|0]=l>>>24;d[a+12|0]=j;d[a+13|0]=j>>>8;d[a+14|0]=j>>>16;d[a+15|0]=j>>>24;h=h+16|0;a=a+16|0;if(a>>>0

>>0){continue}break}break V}Y:{if(j>>>0<=7){d[a|0]=g[h|0];d[a+1|0]=g[h+1|0];d[a+2|0]=g[h+2|0];d[a+3|0]=g[h+3|0];l=j<<2;h=f[l+4752>>2]+h|0;j=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24;h=h-f[l+4784>>2]|0;break Y}j=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);l=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=l;d[a+1|0]=l>>>8;d[a+2|0]=l>>>16;d[a+3|0]=l>>>24;d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24}j=f[k+212>>2];if(j>>>0<9){break V}p=a+j|0;a=a+8|0;h=h+8|0;if((a-h|0)<=15){while(1){j=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);l=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=l;d[a+1|0]=l>>>8;d[a+2|0]=l>>>16;d[a+3|0]=l>>>24;d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24;h=h+8|0;a=a+8|0;if(a>>>0

>>0){continue}break V}}while(1){j=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);l=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=l;d[a+1|0]=l>>>8;d[a+2|0]=l>>>16;d[a+3|0]=l>>>24;d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24;j=g[h+12|0]|g[h+13|0]<<8|(g[h+14|0]<<16|g[h+15|0]<<24);l=g[h+8|0]|g[h+9|0]<<8|(g[h+10|0]<<16|g[h+11|0]<<24);d[a+8|0]=l;d[a+9|0]=l>>>8;d[a+10|0]=l>>>16;d[a+11|0]=l>>>24;d[a+12|0]=j;d[a+13|0]=j>>>8;d[a+14|0]=j>>>16;d[a+15|0]=j>>>24;h=h+16|0;a=a+16|0;if(a>>>0

>>0){continue}break}}if(q>>>0>4294967176){break a}f[t>>2]=r;f[t+12>>2]=(A+C|0)-n;f[t+8>>2]=n;f[t+4>>2]=m;c=c+1|0;e=e+q|0;l=f[k+60>>2];continue}break}c=c-P|0;if((c|0)<(B|0)){t=G+ -32|0;while(1){a=(k+128|0)+((c&3)<<4)|0;l=f[a+8>>2];h=f[a+12>>2];f[k+216>>2]=l;f[k+220>>2]=h;j=f[a+4>>2];h=f[a>>2];f[k+208>>2]=h;f[k+212>>2]=j;Z:{_:{j=f[k+204>>2];u=h+j|0;$:{if(u>>>0>H>>>0){break $}m=f[k+212>>2];q=h+m|0;if(q+e>>>0>t>>>0){break $}if(G-e>>>0>=q+32>>>0){break _}}a=f[k+220>>2];f[k+24>>2]=f[k+216>>2];f[k+28>>2]=a;a=f[k+212>>2];f[k+16>>2]=f[k+208>>2];f[k+20>>2]=a;q=W(e,G,k+16|0,k+204|0,H,y,K,E);break Z}a=e+h|0;n=g[j+4|0]|g[j+5|0]<<8|(g[j+6|0]<<16|g[j+7|0]<<24);p=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);d[e|0]=p;d[e+1|0]=p>>>8;d[e+2|0]=p>>>16;d[e+3|0]=p>>>24;d[e+4|0]=n;d[e+5|0]=n>>>8;d[e+6|0]=n>>>16;d[e+7|0]=n>>>24;n=g[j+12|0]|g[j+13|0]<<8|(g[j+14|0]<<16|g[j+15|0]<<24);p=g[j+8|0]|g[j+9|0]<<8|(g[j+10|0]<<16|g[j+11|0]<<24);d[e+8|0]=p;d[e+9|0]=p>>>8;d[e+10|0]=p>>>16;d[e+11|0]=p>>>24;d[e+12|0]=n;d[e+13|0]=n>>>8;d[e+14|0]=n>>>16;d[e+15|0]=n>>>24;if(h>>>0>=17){h=e+16|0;while(1){n=g[j+20|0]|g[j+21|0]<<8|(g[j+22|0]<<16|g[j+23|0]<<24);p=g[j+16|0]|g[j+17|0]<<8|(g[j+18|0]<<16|g[j+19|0]<<24);d[h|0]=p;d[h+1|0]=p>>>8;d[h+2|0]=p>>>16;d[h+3|0]=p>>>24;d[h+4|0]=n;d[h+5|0]=n>>>8;d[h+6|0]=n>>>16;d[h+7|0]=n>>>24;n=g[j+28|0]|g[j+29|0]<<8|(g[j+30|0]<<16|g[j+31|0]<<24);p=g[j+24|0]|g[j+25|0]<<8|(g[j+26|0]<<16|g[j+27|0]<<24);d[h+8|0]=p;d[h+9|0]=p>>>8;d[h+10|0]=p>>>16;d[h+11|0]=p>>>24;d[h+12|0]=n;d[h+13|0]=n>>>8;d[h+14|0]=n>>>16;d[h+15|0]=n>>>24;j=j+16|0;h=h+16|0;if(h>>>0>>0){continue}break}}j=l;h=a-j|0;f[k+204>>2]=u;if(j>>>0>a-y>>>0){if(j>>>0>a-K>>>0){q=-20;break a}h=h-y|0;l=h+E|0;if(l+m>>>0<=E>>>0){N(a,l,m);break Z}a=N(a,l,0-h|0);m=h+m|0;f[k+212>>2]=m;a=a-h|0;h=y}if(j>>>0>=16){l=a+m|0;while(1){j=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);m=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=m;d[a+1|0]=m>>>8;d[a+2|0]=m>>>16;d[a+3|0]=m>>>24;d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24;j=g[h+12|0]|g[h+13|0]<<8|(g[h+14|0]<<16|g[h+15|0]<<24);m=g[h+8|0]|g[h+9|0]<<8|(g[h+10|0]<<16|g[h+11|0]<<24);d[a+8|0]=m;d[a+9|0]=m>>>8;d[a+10|0]=m>>>16;d[a+11|0]=m>>>24;d[a+12|0]=j;d[a+13|0]=j>>>8;d[a+14|0]=j>>>16;d[a+15|0]=j>>>24;h=h+16|0;a=a+16|0;if(a>>>0>>0){continue}break}break Z}aa:{if(j>>>0<=7){d[a|0]=g[h|0];d[a+1|0]=g[h+1|0];d[a+2|0]=g[h+2|0];d[a+3|0]=g[h+3|0];m=j<<2;h=f[m+4752>>2]+h|0;j=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24;h=h-f[m+4784>>2]|0;break aa}j=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);m=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=m;d[a+1|0]=m>>>8;d[a+2|0]=m>>>16;d[a+3|0]=m>>>24;d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24}j=f[k+212>>2];if(j>>>0<9){break Z}l=a+j|0;a=a+8|0;h=h+8|0;if((a-h|0)<=15){while(1){j=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);m=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=m;d[a+1|0]=m>>>8;d[a+2|0]=m>>>16;d[a+3|0]=m>>>24;d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24;h=h+8|0;a=a+8|0;if(a>>>0>>0){continue}break Z}}while(1){j=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);m=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=m;d[a+1|0]=m>>>8;d[a+2|0]=m>>>16;d[a+3|0]=m>>>24;d[a+4|0]=j;d[a+5|0]=j>>>8;d[a+6|0]=j>>>16;d[a+7|0]=j>>>24;j=g[h+12|0]|g[h+13|0]<<8|(g[h+14|0]<<16|g[h+15|0]<<24);m=g[h+8|0]|g[h+9|0]<<8|(g[h+10|0]<<16|g[h+11|0]<<24);d[a+8|0]=m;d[a+9|0]=m>>>8;d[a+10|0]=m>>>16;d[a+11|0]=m>>>24;d[a+12|0]=j;d[a+13|0]=j>>>8;d[a+14|0]=j>>>16;d[a+15|0]=j>>>24;h=h+16|0;a=a+16|0;if(a>>>0>>0){continue}break}}if(q>>>0>4294967176){break a}e=e+q|0;c=c+1|0;if((B|0)!=(c|0)){continue}break}}c=f[k+104>>2];a=M;f[a>>2]=f[k+100>>2];f[a+4>>2]=c;f[a+8>>2]=f[k+108>>2];h=f[k+204>>2]}q=-70;a=H-h|0;if(a>>>0>G-e>>>0){break a}if(!e){q=0-b|0;break a}q=(L(e,h,a)+a|0)-b|0;break a}f[a+28956>>2]=0}h=f[a+28912>>2];f[k+208>>2]=h;x=b+c|0;A=f[a+28928>>2]+h|0;ba:{ca:{da:{ea:{if(!B){e=b;break ea}C=f[a+28740>>2];E=f[a+28736>>2];v=f[a+28732>>2];f[a+28812>>2]=1;f[k+108>>2]=f[a+26676>>2];w=a+26668|0;c=w;e=f[c+4>>2];f[k+100>>2]=f[c>>2];f[k+104>>2]=e;if(!m){f[k+72>>2]=0;a=k- -64|0;f[a>>2]=0;f[a+4>>2]=0;f[k+56>>2]=0;f[k+60>>2]=0;q=-20;break a}f[k+68>>2]=s;f[k+72>>2]=s+4;fa:{ga:{if(m>>>0>=4){j=m+ -4|0;c=s+j|0;f[k+64>>2]=c;e=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);f[k+56>>2]=e;c=g[(m+s|0)+ -1|0];if(c){break ga}f[k+60>>2]=0;q=-20;break a}f[k+64>>2]=s;e=g[s|0];f[k+56>>2]=e;ha:{switch(m+ -2|0){case 1:e=g[s+2|0]<<16|e;f[k+56>>2]=e;case 0:e=(g[s+1|0]<<8)+e|0;f[k+56>>2]=e;break;default:break ha}}c=g[(m+s|0)+ -1|0];if(!c){f[k+60>>2]=0;q=-20;break a}h=((o(c)|-32)-(m<<3)|0)+41|0;f[k+60>>2]=h;j=0;break fa}h=(o(c)|-32)+9|0;f[k+60>>2]=h;q=-20;if(m>>>0>4294967176){break a}}c=h;l=f[a>>2];h=f[l+4>>2];c=c+h|0;f[k+60>>2]=c;h=f[(h<<2)+4592>>2]&e>>>(0-c&31);f[k+76>>2]=h;ia:{if(c>>>0>32){r=c;break ia}m=k;ja:{if((j|0)>=4){r=c&7;f[k+60>>2]=r;j=j-(c>>>3|0)|0;c=s+j|0;f[k+64>>2]=c;e=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);break ja}if(!j){j=0;r=c;break ia}e=c;c=c>>>3|0;c=(j+s|0)-c>>>0>>0?j:c;r=e-(c<<3)|0;f[k+60>>2]=r;j=j-c|0;c=s+j|0;f[k+64>>2]=c;e=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24)}f[m+56>>2]=e}l=l+8|0;f[k+80>>2]=l;p=f[a+8>>2];c=f[p+4>>2];n=c+r|0;f[k+60>>2]=n;c=f[(c<<2)+4592>>2]&e>>>(0-n&31);f[k+84>>2]=c;ka:{if(n>>>0>32){m=n;break ka}q=k;la:{if((j|0)>=4){m=n&7;f[k+60>>2]=m;j=j-(n>>>3|0)|0;e=s+j|0;f[k+64>>2]=e;e=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);break la}if(!j){j=0;m=n;break ka}e=n>>>3|0;e=(j+s|0)-e>>>0>>0?j:e;m=n-(e<<3)|0;f[k+60>>2]=m;j=j-e|0;e=s+j|0;f[k+64>>2]=e;e=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24)}f[q+56>>2]=e}n=p+8|0;f[k+88>>2]=n;p=m;m=f[a+4>>2];q=f[m+4>>2];a=p+q|0;f[k+60>>2]=a;r=f[(q<<2)+4592>>2]&e>>>(0-a&31);f[k+92>>2]=r;ma:{if(a>>>0>32){j=a;break ma}e=j+s|0;if((j|0)>=4){j=a&7;f[k+60>>2]=j;a=e-(a>>>3|0)|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break ma}if(!j){j=a;break ma}p=a;a=a>>>3|0;a=e-a>>>0>>0?j:a;j=p-(a<<3)|0;f[k+60>>2]=j;a=e-a|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}m=m+8|0;f[k+96>>2]=m;G=x+ -32|0;e=b;q=0;while(1){a=(h<<3)+l|0;h=f[a+4>>2];t=f[a>>2];a=h;H=(a&65535)<<16|t>>>16;D=H&255;m=(r<<3)+m|0;h=f[m+4>>2];u=f[m>>2];p=h;K=(h&65535)<<16|u>>>16;M=K&255;c=(c<<3)+n|0;h=f[c+4>>2];r=f[c>>2];c=h;F=h;y=p;h=a;c=(c&65535)<<16|r>>>16;m=c&255;na:{if(m>>>0>=2){oa:{if(!(!R|m>>>0<25)){c=32-j|0;n=c>>>0>m>>>0?m:c;c=n+j|0;f[k+60>>2]=c;l=f[k+56>>2];s=m-n|0;P=l<<(j&31)>>>(0-n&31)<>>0>32){j=c;break pa}m=k;n=f[k+64>>2];qa:{if(n>>>0>=i[k+72>>2]){j=c&7;f[k+60>>2]=j;c=n-(c>>>3|0)|0;f[k+64>>2]=c;l=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);break qa}j=f[k+68>>2];if((j|0)==(n|0)){j=c;break pa}l=c;c=c>>>3|0;c=n-c>>>0>>0?n-j|0:c;j=l-(c<<3)|0;f[k+60>>2]=j;c=n-c|0;f[k+64>>2]=c;l=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24)}f[m+56>>2]=l}c=F+P|0;if(!s){n=j;break oa}n=j+s|0;f[k+60>>2]=n;c=(l<<(j&31)>>>(0-s&31)|0)+c|0;break oa}m=j+m|0;f[k+60>>2]=m;c=F+(f[k+56>>2]<<(j&31)>>>(0-c&31)|0)|0;if(m>>>0>32){n=m;break oa}j=f[k+64>>2];if(j>>>0>=i[k+72>>2]){n=m&7;f[k+60>>2]=n;j=j-(m>>>3|0)|0;f[k+64>>2]=j;f[k+56>>2]=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);break oa}l=f[k+68>>2];if((l|0)==(j|0)){n=m;break oa}n=m;m=m>>>3|0;m=j-m>>>0>>0?j-l|0:m;n=n-(m<<3)|0;f[k+60>>2]=n;j=j-m|0;f[k+64>>2]=j;f[k+56>>2]=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24)}j=f[k+100>>2];m=f[k+104>>2];f[k+100>>2]=c;f[k+104>>2]=j;f[k+108>>2]=m;break na}if(!m){if(h){c=f[k+100>>2];n=j;break na}c=f[k+104>>2];f[k+104>>2]=f[k+100>>2];f[k+100>>2]=c;n=j;break na}n=j+1|0;f[k+60>>2]=n;j=F+!h+(f[k+56>>2]<<(j&31)>>>31)|0;ra:{sa:{if((j|0)==3){c=f[k+100>>2]+ -1|0;c=!c+c|0;break sa}c=f[((j<<2)+k|0)+100>>2];c=!c+c|0;if((j|0)==1){break ra}}f[k+108>>2]=f[k+104>>2]}f[k+104>>2]=f[k+100>>2];f[k+100>>2]=c}j=D+M|0;l=y;ta:{if(!M){m=n;break ta}m=n+M|0;f[k+60>>2]=m;l=(f[k+56>>2]<<(n&31)>>>(0-K&31)|0)+l|0}ua:{if(j>>>0<20){j=m;break ua}if(m>>>0>32){j=m;break ua}n=f[k+64>>2];if(n>>>0>=i[k+72>>2]){j=m&7;f[k+60>>2]=j;m=n-(m>>>3|0)|0;f[k+64>>2]=m;f[k+56>>2]=g[m|0]|g[m+1|0]<<8|(g[m+2|0]<<16|g[m+3|0]<<24);break ua}j=f[k+68>>2];if((j|0)==(n|0)){j=m;break ua}y=m;m=m>>>3|0;m=n-m>>>0>>0?n-j|0:m;j=y-(m<<3)|0;f[k+60>>2]=j;m=n-m|0;f[k+64>>2]=m;f[k+56>>2]=g[m|0]|g[m+1|0]<<8|(g[m+2|0]<<16|g[m+3|0]<<24)}m=(p&16777215)<<8|u>>>24;n=(a&16777215)<<8|t>>>24;va:{if(!D){a=j;break va}a=j+D|0;f[k+60>>2]=a;h=(f[k+56>>2]<<(j&31)>>>(0-H&31)|0)+h|0}j=m;wa:{if(a>>>0>32){m=a;break wa}p=f[k+64>>2];if(p>>>0>=i[k+72>>2]){m=a&7;f[k+60>>2]=m;a=p-(a>>>3|0)|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break wa}m=f[k+68>>2];if((m|0)==(p|0)){m=a;break wa}y=a;a=a>>>3|0;a=p-a>>>0>>0?p-m|0:a;m=y-(a<<3)|0;f[k+60>>2]=m;a=p-a|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}a=m;m=n&255;n=a+m|0;j=j&255;a=n+j|0;f[k+60>>2]=a;p=f[(m<<2)+4592>>2];m=f[k+56>>2];f[k+76>>2]=(p&m>>>(0-n&31))+(t&65535);f[k+92>>2]=(f[(j<<2)+4592>>2]&m>>>(0-a&31))+(u&65535);xa:{if(a>>>0>32){n=a;break xa}j=k;p=f[k+64>>2];ya:{if(p>>>0>=i[k+72>>2]){n=a&7;f[k+60>>2]=n;a=p-(a>>>3|0)|0;f[k+64>>2]=a;m=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break ya}n=f[k+68>>2];if((n|0)==(p|0)){n=a;break xa}m=a;a=a>>>3|0;a=p-a>>>0>>0?p-n|0:a;n=m-(a<<3)|0;f[k+60>>2]=n;a=p-a|0;f[k+64>>2]=a;m=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}f[j+56>>2]=m}a=r>>>24|0;j=a+n|0;f[k+60>>2]=j;f[k+84>>2]=(f[(a<<2)+4592>>2]&m>>>(0-j&31))+(r&65535);f[k+128>>2]=h;j=f[k+208>>2];f[k+136>>2]=c;f[k+132>>2]=l;za:{Aa:{m=h+l|0;Ba:{if(m+e>>>0>G>>>0){break Ba}t=h+j|0;if(t>>>0>A>>>0){break Ba}if(x-e>>>0>=m+32>>>0){break Aa}}a=f[k+140>>2];f[k+8>>2]=f[k+136>>2];f[k+12>>2]=a;a=f[k+132>>2];f[k>>2]=f[k+128>>2];f[k+4>>2]=a;m=W(e,x,k,k+208|0,A,v,E,C);break za}a=e+h|0;n=g[j+4|0]|g[j+5|0]<<8|(g[j+6|0]<<16|g[j+7|0]<<24);p=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);d[e|0]=p;d[e+1|0]=p>>>8;d[e+2|0]=p>>>16;d[e+3|0]=p>>>24;d[e+4|0]=n;d[e+5|0]=n>>>8;d[e+6|0]=n>>>16;d[e+7|0]=n>>>24;n=g[j+12|0]|g[j+13|0]<<8|(g[j+14|0]<<16|g[j+15|0]<<24);p=g[j+8|0]|g[j+9|0]<<8|(g[j+10|0]<<16|g[j+11|0]<<24);d[e+8|0]=p;d[e+9|0]=p>>>8;d[e+10|0]=p>>>16;d[e+11|0]=p>>>24;d[e+12|0]=n;d[e+13|0]=n>>>8;d[e+14|0]=n>>>16;d[e+15|0]=n>>>24;if(h>>>0>=17){h=e+16|0;while(1){n=g[j+20|0]|g[j+21|0]<<8|(g[j+22|0]<<16|g[j+23|0]<<24);p=g[j+16|0]|g[j+17|0]<<8|(g[j+18|0]<<16|g[j+19|0]<<24);d[h|0]=p;d[h+1|0]=p>>>8;d[h+2|0]=p>>>16;d[h+3|0]=p>>>24;d[h+4|0]=n;d[h+5|0]=n>>>8;d[h+6|0]=n>>>16;d[h+7|0]=n>>>24;n=g[j+28|0]|g[j+29|0]<<8|(g[j+30|0]<<16|g[j+31|0]<<24);p=g[j+24|0]|g[j+25|0]<<8|(g[j+26|0]<<16|g[j+27|0]<<24);d[h+8|0]=p;d[h+9|0]=p>>>8;d[h+10|0]=p>>>16;d[h+11|0]=p>>>24;d[h+12|0]=n;d[h+13|0]=n>>>8;d[h+14|0]=n>>>16;d[h+15|0]=n>>>24;j=j+16|0;h=h+16|0;if(h>>>0>>0){continue}break}}h=a-c|0;f[k+208>>2]=t;if(c>>>0>a-v>>>0){if(c>>>0>a-E>>>0){m=-20;break za}h=h-v|0;j=h+C|0;if(j+l>>>0<=C>>>0){N(a,j,l);break za}a=N(a,j,0-h|0);l=h+l|0;f[k+132>>2]=l;a=a-h|0;h=v}if(c>>>0>=16){l=a+l|0;while(1){c=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);j=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=j;d[a+1|0]=j>>>8;d[a+2|0]=j>>>16;d[a+3|0]=j>>>24;d[a+4|0]=c;d[a+5|0]=c>>>8;d[a+6|0]=c>>>16;d[a+7|0]=c>>>24;c=g[h+12|0]|g[h+13|0]<<8|(g[h+14|0]<<16|g[h+15|0]<<24);j=g[h+8|0]|g[h+9|0]<<8|(g[h+10|0]<<16|g[h+11|0]<<24);d[a+8|0]=j;d[a+9|0]=j>>>8;d[a+10|0]=j>>>16;d[a+11|0]=j>>>24;d[a+12|0]=c;d[a+13|0]=c>>>8;d[a+14|0]=c>>>16;d[a+15|0]=c>>>24;h=h+16|0;a=a+16|0;if(a>>>0>>0){continue}break}break za}Ca:{if(c>>>0<=7){d[a|0]=g[h|0];d[a+1|0]=g[h+1|0];d[a+2|0]=g[h+2|0];d[a+3|0]=g[h+3|0];j=c<<2;c=f[j+4752>>2]+h|0;h=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);d[a+4|0]=h;d[a+5|0]=h>>>8;d[a+6|0]=h>>>16;d[a+7|0]=h>>>24;h=c-f[j+4784>>2]|0;break Ca}c=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);j=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=j;d[a+1|0]=j>>>8;d[a+2|0]=j>>>16;d[a+3|0]=j>>>24;d[a+4|0]=c;d[a+5|0]=c>>>8;d[a+6|0]=c>>>16;d[a+7|0]=c>>>24}c=f[k+132>>2];if(c>>>0<9){break za}l=a+c|0;a=a+8|0;h=h+8|0;if((a-h|0)<=15){while(1){c=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);j=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=j;d[a+1|0]=j>>>8;d[a+2|0]=j>>>16;d[a+3|0]=j>>>24;d[a+4|0]=c;d[a+5|0]=c>>>8;d[a+6|0]=c>>>16;d[a+7|0]=c>>>24;h=h+8|0;a=a+8|0;if(a>>>0>>0){continue}break za}}while(1){c=g[h+4|0]|g[h+5|0]<<8|(g[h+6|0]<<16|g[h+7|0]<<24);j=g[h|0]|g[h+1|0]<<8|(g[h+2|0]<<16|g[h+3|0]<<24);d[a|0]=j;d[a+1|0]=j>>>8;d[a+2|0]=j>>>16;d[a+3|0]=j>>>24;d[a+4|0]=c;d[a+5|0]=c>>>8;d[a+6|0]=c>>>16;d[a+7|0]=c>>>24;c=g[h+12|0]|g[h+13|0]<<8|(g[h+14|0]<<16|g[h+15|0]<<24);j=g[h+8|0]|g[h+9|0]<<8|(g[h+10|0]<<16|g[h+11|0]<<24);d[a+8|0]=j;d[a+9|0]=j>>>8;d[a+10|0]=j>>>16;d[a+11|0]=j>>>24;d[a+12|0]=c;d[a+13|0]=c>>>8;d[a+14|0]=c>>>16;d[a+15|0]=c>>>24;h=h+16|0;a=a+16|0;if(a>>>0>>0){continue}break}}a=f[k+60>>2];Da:{if(a>>>0>32){j=a;break Da}c=f[k+64>>2];if(c>>>0>=i[k+72>>2]){j=a&7;f[k+60>>2]=j;a=c-(a>>>3|0)|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break Da}h=f[k+68>>2];if((h|0)==(c|0)){j=a;break Da}j=a;a=a>>>3|0;a=c-a>>>0>>0?c-h|0:a;j=j-(a<<3)|0;f[k+60>>2]=j;a=c-a|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24)}a=m>>>0<4294967177;e=a?e+m|0:e;q=a?q:m;B=B+ -1|0;if(B){c=f[k+84>>2];n=f[k+88>>2];r=f[k+92>>2];m=f[k+96>>2];h=f[k+76>>2];l=f[k+80>>2];continue}break}if(q>>>0>4294967176){break a}if(j>>>0<=32){a=f[k+64>>2];if(a>>>0>=i[k+72>>2]){f[k+60>>2]=j&7;a=a-(j>>>3|0)|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);q=-20;break a}c=f[k+68>>2];if((c|0)!=(a|0)){break da}q=-20;if(j>>>0<32){break a}}c=f[k+104>>2];a=w;f[a>>2]=f[k+100>>2];f[a+4>>2]=c;f[a+8>>2]=f[k+108>>2];h=f[k+208>>2]}q=-70;a=A-h|0;if(a>>>0>x-e>>>0){break a}if(e){break ca}a=0;break ba}b=j>>>3|0;b=a-b>>>0>>0?a-c|0:b;f[k+60>>2]=j-(b<<3);a=a-b|0;f[k+64>>2]=a;f[k+56>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);q=-20;break a}a=L(e,h,a)+a|0}q=a-b|0}z=k+224|0;return q}function da(a,b,c,e,f){var i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;a:{if(e>>>0<10){break a}n=g[c+4|0]|g[c+5|0]<<8;j=g[c|0]|g[c+1|0]<<8;p=j+6|0;k=g[c+2|0]|g[c+3|0]<<8;r=n+(p+k|0)|0;if(e>>>0>>0){break a}if(!j){return-72}l=c+6|0;I=h[f+2>>1];b:{c:{if(j>>>0>=4){l=g[(j+l|0)+ -1|0];i=-1;if(!l){break b}t=j+2|0;j=t+c|0;m=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);l=(o(l)|-32)+9|0;break c}m=g[l|0];d:{switch(j+ -2|0){case 1:m=g[c+8|0]<<16|m;case 0:m=(g[c+7|0]<<8)+m|0;break;default:break d}}l=g[(j+l|0)+ -1|0];if(!l){break a}t=6;l=((o(l)|-32)-(j<<3)|0)+41|0}if(!k){return-72}D=c+p|0;B=k+D|0;e:{if(k>>>0>=4){p=g[B+ -1|0];i=-1;if(!p){break b}u=k+ -4|0;j=D+u|0;x=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);j=(o(p)|-32)+9|0;break e}x=g[D|0];f:{switch(k+ -2|0){case 1:x=g[D+2|0]<<16|x;case 0:x=(g[D+1|0]<<8)+x|0;break;default:break f}}j=g[B+ -1|0];if(!j){break a}j=((o(j)|-32)-(k<<3)|0)+41|0}if(!n){return-72}y=n+B|0;g:{if(n>>>0>=4){p=g[y+ -1|0];i=-1;if(!p){break b}v=n+ -4|0;k=B+v|0;z=g[k|0]|g[k+1|0]<<8|(g[k+2|0]<<16|g[k+3|0]<<24);k=(o(p)|-32)+9|0;break g}z=g[B|0];h:{switch(n+ -2|0){case 1:z=g[B+2|0]<<16|z;case 0:z=(g[B+1|0]<<8)+z|0;break;default:break h}}k=g[y+ -1|0];if(!k){break a}k=((o(k)|-32)-(n<<3)|0)+41|0}e=e-r|0;i=-72;if(!e){break b}i:{j:{if(e>>>0>=4){n=g[(e+y|0)+ -1|0];i=-1;if(!n){break b}if(e>>>0<=4294967176){break j}return e}A=g[y|0];k:{switch(e+ -2|0){case 1:A=g[y+2|0]<<16|A;case 0:A=(g[y+1|0]<<8)+A|0;break;default:break k}}i=g[(e+y|0)+ -1|0];if(!i){break a}e=((o(i)|-32)-(e<<3)|0)+41|0;break i}w=e+ -4|0;e=y+w|0;A=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);e=(o(n)|-32)+9|0}q=f+4|0;f=b+3>>>2|0;F=f+a|0;G=F+f|0;H=G+f|0;M=a+b|0;N=M+ -3|0;l:{if(H>>>0>=N>>>0){r=H;n=G;p=F;break l}f=0-I&31;p=F;n=G;r=H;while(1){i=(m<<(l&31)>>>f<<2)+q|0;s=h[i>>1];d[a|0]=s;d[a+1|0]=s>>>8;C=g[i+2|0];s=g[i+3|0];i=(x<<(j&31)>>>f<<2)+q|0;E=h[i>>1];d[p|0]=E;d[p+1|0]=E>>>8;E=g[i+2|0];J=g[i+3|0];i=(z<<(k&31)>>>f<<2)+q|0;K=h[i>>1];d[n|0]=K;d[n+1|0]=K>>>8;K=g[i+2|0];O=g[i+3|0];i=(A<<(e&31)>>>f<<2)+q|0;L=h[i>>1];d[r|0]=L;d[r+1|0]=L>>>8;L=g[i+2|0];i=g[i+3|0];s=a+s|0;l=l+C|0;a=(m<<(l&31)>>>f<<2)+q|0;C=h[a>>1];d[s|0]=C;d[s+1|0]=C>>>8;C=g[a+2|0];P=g[a+3|0];p=p+J|0;j=j+E|0;a=(x<<(j&31)>>>f<<2)+q|0;E=h[a>>1];d[p|0]=E;d[p+1|0]=E>>>8;E=g[a+2|0];Q=g[a+3|0];n=n+O|0;k=k+K|0;a=(z<<(k&31)>>>f<<2)+q|0;J=h[a>>1];d[n|0]=J;d[n+1|0]=J>>>8;J=g[a+2|0];K=g[a+3|0];r=i+r|0;e=e+L|0;a=(A<<(e&31)>>>f<<2)+q|0;i=h[a>>1];d[r|0]=i;d[r+1|0]=i>>>8;l=l+C|0;O=g[a+3|0];L=g[a+2|0];if((t|0)<10){a=3}else{t=t-(l>>>3|0)|0;a=t+c|0;m=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);l=l&7;a=0}C=a;j=j+E|0;i=3;if((u|0)<4){a=3}else{u=u-(j>>>3|0)|0;a=D+u|0;x=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);j=j&7;a=0}E=a;k=k+J|0;if((v|0)>=4){v=v-(k>>>3|0)|0;a=B+v|0;z=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);i=0;k=k&7}r=r+O|0;e=e+L|0;if((w|0)<4){a=3}else{w=w-(e>>>3|0)|0;a=y+w|0;A=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);e=e&7;a=0}J=a;a=s+P|0;p=p+Q|0;n=n+K|0;if(r>>>0>=N>>>0){break l}if(!(J|(C|E|i))){continue}break}}if(n>>>0>H>>>0|p>>>0>G>>>0){break a}i=-20;if(a>>>0>F>>>0){break b}m:{n:{o:{p:{if(l>>>0>=33){f=0-I&31;break p}C=F+ -3|0;f=0-I&31;while(1){q:{if((t|0)>=10){m=l>>>3|0;s=0;i=l&7;break q}if((t|0)==6){s=F+ -2|0;t=6;i=l;break n}i=l>>>3|0;s=(t-i|0)<6;m=s?t+ -6|0:i;i=l-(m<<3)|0}t=t-m|0;l=t+c|0;m=g[l|0]|g[l+1|0]<<8|(g[l+2|0]<<16|g[l+3|0]<<24);if(s|a>>>0>=C>>>0){break o}l=(m<<(i&31)>>>f<<2)+q|0;s=h[l>>1];d[a|0]=s;d[a+1|0]=s>>>8;a=g[l+3|0]+a|0;i=g[l+2|0]+i|0;l=(m<<(i&31)>>>f<<2)+q|0;s=h[l>>1];d[a|0]=s;d[a+1|0]=s>>>8;a=a+g[l+3|0]|0;l=i+g[l+2|0]|0;if(l>>>0<33){continue}break}}s=F+ -2|0;break m}s=F+ -2|0;if(i>>>0<=32){break n}l=i;break m}while(1){r:{if((t|0)>=10){l=i&7;m=i>>>3|0;i=0;break r}if((t|0)==6){t=6;l=i;break m}l=i;m=i>>>3|0;i=(t-m|0)<6;m=i?t+ -6|0:m;l=l-(m<<3)|0}t=t-m|0;m=t+c|0;m=g[m|0]|g[m+1|0]<<8|(g[m+2|0]<<16|g[m+3|0]<<24);if(i|a>>>0>s>>>0){break m}i=(m<<(l&31)>>>f<<2)+q|0;C=h[i>>1];d[a|0]=C;d[a+1|0]=C>>>8;a=g[i+3|0]+a|0;i=g[i+2|0]+l|0;if(i>>>0<=32){continue}break}l=i}if(a>>>0<=s>>>0){while(1){c=(m<<(l&31)>>>f<<2)+q|0;i=h[c>>1];d[a|0]=i;d[a+1|0]=i>>>8;l=g[c+2|0]+l|0;a=g[c+3|0]+a|0;if(a>>>0<=s>>>0){continue}break}}s:{if(a>>>0>=F>>>0){break s}i=a;c=m<<(l&31)>>>f|0;a=(c<<2)+q|0;d[i|0]=g[a|0];if(g[a+3|0]==1){l=g[a+2|0]+l|0;break s}if(l>>>0>31){break s}a=g[((c<<2)+q|0)+2|0]+l|0;l=a>>>0<32?a:32}t:{u:{v:{w:{if(j>>>0>=33){a=0-I&31;break w}i=G+ -3|0;a=0-I&31;while(1){x:{if((u|0)>=4){f=j>>>3|0;m=0;c=j&7;break x}if(!u){f=G+ -2|0;u=0;c=j;break u}c=j>>>3|0;m=(u+D|0)-c>>>0>>0;f=m?u:c;c=j-(f<<3)|0}u=u-f|0;f=D+u|0;x=g[f|0]|g[f+1|0]<<8|(g[f+2|0]<<16|g[f+3|0]<<24);if(m|p>>>0>=i>>>0){break v}f=(x<<(c&31)>>>a<<2)+q|0;j=h[f>>1];d[p|0]=j;d[p+1|0]=j>>>8;j=g[f+3|0]+p|0;f=g[f+2|0]+c|0;c=(x<<(f&31)>>>a<<2)+q|0;p=h[c>>1];d[j|0]=p;d[j+1|0]=p>>>8;p=j+g[c+3|0]|0;j=f+g[c+2|0]|0;if(j>>>0<33){continue}break}}f=G+ -2|0;break t}f=G+ -2|0;if(c>>>0<=32){break u}j=c;break t}while(1){y:{if((u|0)>=4){m=c>>>3|0;i=0;j=c&7;break y}if(!u){u=0;j=c;break t}j=c>>>3|0;i=(u+D|0)-j>>>0>>0;m=i?u:j;j=c-(m<<3)|0}u=u-m|0;c=D+u|0;x=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);if(i|p>>>0>f>>>0){break t}c=(x<<(j&31)>>>a<<2)+q|0;i=h[c>>1];d[p|0]=i;d[p+1|0]=i>>>8;p=g[c+3|0]+p|0;c=g[c+2|0]+j|0;if(c>>>0<=32){continue}break}j=c}if(p>>>0<=f>>>0){while(1){c=(x<<(j&31)>>>a<<2)+q|0;i=h[c>>1];d[p|0]=i;d[p+1|0]=i>>>8;j=g[c+2|0]+j|0;p=g[c+3|0]+p|0;if(p>>>0<=f>>>0){continue}break}}z:{if(p>>>0>=G>>>0){break z}c=x<<(j&31)>>>a|0;a=(c<<2)+q|0;d[p|0]=g[a|0];if(g[a+3|0]==1){j=g[a+2|0]+j|0;break z}if(j>>>0>31){break z}a=g[((c<<2)+q|0)+2|0]+j|0;j=a>>>0<32?a:32}A:{B:{C:{D:{if(k>>>0>=33){a=0-I&31;break D}i=H+ -3|0;a=0-I&31;while(1){E:{if((v|0)>=4){f=k>>>3|0;m=0;c=k&7;break E}if(!v){f=H+ -2|0;v=0;c=k;break B}c=k>>>3|0;m=(v+B|0)-c>>>0>>0;f=m?v:c;c=k-(f<<3)|0}v=v-f|0;f=B+v|0;z=g[f|0]|g[f+1|0]<<8|(g[f+2|0]<<16|g[f+3|0]<<24);if(m|n>>>0>=i>>>0){break C}f=(z<<(c&31)>>>a<<2)+q|0;k=h[f>>1];d[n|0]=k;d[n+1|0]=k>>>8;k=g[f+3|0]+n|0;f=g[f+2|0]+c|0;c=(z<<(f&31)>>>a<<2)+q|0;n=h[c>>1];d[k|0]=n;d[k+1|0]=n>>>8;n=k+g[c+3|0]|0;k=f+g[c+2|0]|0;if(k>>>0<33){continue}break}}f=H+ -2|0;break A}f=H+ -2|0;if(c>>>0<=32){break B}k=c;break A}while(1){F:{if((v|0)>=4){m=c>>>3|0;p=0;k=c&7;break F}if(!v){v=0;k=c;break A}k=c>>>3|0;p=(v+B|0)-k>>>0>>0;m=p?v:k;k=c-(m<<3)|0}v=v-m|0;c=B+v|0;z=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);if(p|n>>>0>f>>>0){break A}c=(z<<(k&31)>>>a<<2)+q|0;i=h[c>>1];d[n|0]=i;d[n+1|0]=i>>>8;n=g[c+3|0]+n|0;c=g[c+2|0]+k|0;if(c>>>0<=32){continue}break}k=c}if(n>>>0<=f>>>0){while(1){c=(z<<(k&31)>>>a<<2)+q|0;i=h[c>>1];d[n|0]=i;d[n+1|0]=i>>>8;k=g[c+2|0]+k|0;n=g[c+3|0]+n|0;if(n>>>0<=f>>>0){continue}break}}G:{if(n>>>0>=H>>>0){break G}c=z<<(k&31)>>>a|0;a=(c<<2)+q|0;d[n|0]=g[a|0];if(g[a+3|0]==1){k=g[a+2|0]+k|0;break G}if(k>>>0>31){break G}a=g[((c<<2)+q|0)+2|0]+k|0;k=a>>>0<32?a:32}a=0-I&31;H:{I:{J:{if(e>>>0<=32){while(1){K:{if((w|0)>=4){f=e>>>3|0;n=0;c=e&7;break K}if(!w){f=M+ -2|0;w=0;c=e;break I}c=e>>>3|0;n=(w+y|0)-c>>>0>>0;f=n?w:c;c=e-(f<<3)|0}w=w-f|0;e=y+w|0;A=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);if(n|r>>>0>=N>>>0){break J}e=(A<<(c&31)>>>a<<2)+q|0;f=h[e>>1];d[r|0]=f;d[r+1|0]=f>>>8;f=g[e+3|0]+r|0;e=g[e+2|0]+c|0;c=(A<<(e&31)>>>a<<2)+q|0;i=h[c>>1];d[f|0]=i;d[f+1|0]=i>>>8;r=f+g[c+3|0]|0;e=e+g[c+2|0]|0;if(e>>>0<33){continue}break}}f=M+ -2|0;break H}f=M+ -2|0;if(c>>>0<=32){break I}e=c;break H}while(1){L:{if((w|0)>=4){n=c>>>3|0;m=0;e=c&7;break L}if(!w){w=0;e=c;break H}e=c>>>3|0;m=(w+y|0)-e>>>0>>0;n=m?w:e;e=c-(n<<3)|0}w=w-n|0;c=y+w|0;A=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);if(m|r>>>0>f>>>0){break H}c=(A<<(e&31)>>>a<<2)+q|0;i=h[c>>1];d[r|0]=i;d[r+1|0]=i>>>8;r=g[c+3|0]+r|0;c=g[c+2|0]+e|0;if(c>>>0<=32){continue}break}e=c}if(r>>>0<=f>>>0){while(1){c=(A<<(e&31)>>>a<<2)+q|0;i=h[c>>1];d[r|0]=i;d[r+1|0]=i>>>8;e=g[c+2|0]+e|0;r=g[c+3|0]+r|0;if(r>>>0<=f>>>0){continue}break}}M:{if(r>>>0>=M>>>0){break M}c=A<<(e&31)>>>a|0;a=(c<<2)+q|0;d[r|0]=g[a|0];if(g[a+3|0]==1){e=g[a+2|0]+e|0;break M}if(e>>>0>31){break M}a=g[((c<<2)+q|0)+2|0]+e|0;e=a>>>0<32?a:32}i=(t|0)==6?(l|0)==32?u?-20:(j|0)==32?v?-20:(k|0)==32?w?-20:(e|0)==32?b:-20:-20:-20:-20:-20}return i}return-20}function _(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,h=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,N=0,O=0,P=0,R=0;B=z-16|0;z=B;p=f[d+8>>2];q=f[d+4>>2];a:{if(p>>>0>q>>>0){e=-72;break a}h=f[b+8>>2];r=f[b+4>>2];if(h>>>0>r>>>0){e=-70;break a}n=f[b>>2];m=f[d>>2];if(!(!f[a+28964>>2]|f[a+29024>>2]!=1)){e=-104;if((r|0)!=f[a+29032>>2]|(n|0)!=f[a+29028>>2]|(h|0)!=f[a+29036>>2]){break a}}v=r?n+r|0:n;K=a+4120|0;N=a+6176|0;O=a+16|0;D=a+26668|0;P=a+10280|0;R=a+28728|0;q=q?m+q|0:m;r=p?m+p|0:m;F=q-r|0;w=a+160144|0;p=a+28752|0;x=a+29028|0;y=a+28804|0;C=a+28972|0;s=a+28988|0;G=a+160164|0;t=a+28856|0;H=t;m=r;E=h?h+n|0:n;n=E;while(1){b:{e=-1;h=p;j=w;c:{d:{e:{f:{g:{h:{i:{j:{switch(f[a+28964>>2]){case 3:k=f[y>>2];h=f[a+28744>>2];break d;case 1:e=f[a+29e3>>2];break i;case 4:break g;case 2:break h;case 0:break j;default:break a}}f[a+28964>>2]=1;f[a+28992>>2]=0;f[a+28996>>2]=0;f[a+29012>>2]=0;f[a+29016>>2]=0;f[a+29e3>>2]=0;f[a+28976>>2]=0;e=f[b+4>>2];f[x>>2]=f[b>>2];f[x+4>>2]=e;f[x+8>>2]=f[b+8>>2];e=0}e=Q(h,j,e,f[a+28908>>2]);if(e>>>0>4294967176){break a}if(e){h=f[a+29e3>>2];k=e-h|0;j=q-m|0;if(k>>>0>j>>>0){if(j){L((a+h|0)+160144|0,m,j);h=j+f[a+29e3>>2]|0;f[a+29e3>>2]=h}f[d+8>>2]=f[d+4>>2];a=f[a+28908>>2]?2:6;e=((a>>>0>e>>>0?a:e)-h|0)+3|0;break a}L((a+h|0)+160144|0,m,k);f[a+29e3>>2]=e;m=k+m|0;j=1;break c}k:{j=f[p>>2];h=f[p+4>>2];if((j|0)==-1&(h|0)==-1|f[a+28772>>2]==1){break k}k=j;j=v-n|0;if(!h&k>>>0>j>>>0|h>>>0>0){break k}Da(B,r,F);h=f[B>>2];if(h>>>0>F>>>0){break k}m=a;o=n;p=r;u=h;l:{m:{switch(f[a+28960>>2]+1|0){default:t=f[a+28944>>2];n:{if(!t){break n}k=f[t+26692>>2];e=f[t+26688>>2];o:{p:{s=f[t>>2];if(s){if(!e){break p}c[e|0](k,s);c[e|0](k,t);break n}if(!e){break o}c[e|0](k,t);break n}M(s)}M(t)}f[a+28960>>2]=0;f[a+28944>>2]=0;f[a+28948>>2]=0;k=0;break l;case 2:f[a+28960>>2]=0;break;case 0:break m}}k=f[a+28948>>2]}e=Ca(m,o,j,p,u,k);if(e>>>0>4294967176){break a}f[a+28964>>2]=0;f[a+28744>>2]=0;n=e+n|0;m=h+r|0;break b}q:{if(f[a+28772>>2]==1|f[a+29024>>2]!=1){break q}j=f[p>>2];h=f[p+4>>2];if((j|0)==-1&(h|0)==-1|(!h&j>>>0<=v-n>>>0|h>>>0<0)){break q}e=-70;break a}r:{s:{switch(f[a+28960>>2]+1|0){default:h=f[a+28944>>2];t:{if(!h){break t}e=f[h+26692>>2];j=f[h+26688>>2];u:{v:{k=f[h>>2];if(k){if(!j){break v}c[j|0](e,k);c[j|0](e,h);break t}if(!j){break u}c[j|0](e,h);break t}M(k)}M(h)}e=0;f[a+28960>>2]=0;f[a+28944>>2]=0;f[a+28948>>2]=0;j=1;break r;case 2:f[a+28960>>2]=0;break;case 0:break s}}e=f[a+28948>>2];if(!e){e=0;j=1;break r}f[a+28956>>2]=f[a+28740>>2]!=(f[e+4>>2]+f[e+8>>2]|0);j=0}f[a+28792>>2]=0;f[a+28796>>2]=0;f[y>>2]=0;k=f[a+28908>>2];f[a+28744>>2]=k?1:5;h=R;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[a+10280>>2]=201326604;f[a+28952>>2]=0;f[a+28808>>2]=0;f[a+28812>>2]=0;f[a+28800>>2]=3;f[D+8>>2]=f[814];h=f[813];f[D>>2]=f[812];f[D+4>>2]=h;f[a+12>>2]=P;f[a+8>>2]=K;f[a+4>>2]=N;f[a>>2]=O;w:{if(j){break w}f[a+28952>>2]=f[e+26676>>2];h=f[e+4>>2];f[a+28736>>2]=h;f[a+28732>>2]=h;h=h+f[e+8>>2]|0;f[a+28728>>2]=h;f[a+28740>>2]=h;if(f[e+26680>>2]){f[a+28808>>2]=1;f[a+28812>>2]=1;f[a+12>>2]=e+10276;f[a+8>>2]=e+4116;f[a+4>>2]=e+6172;f[a>>2]=e+12;f[a+26668>>2]=f[e+26664>>2];f[a+26672>>2]=f[e+26668>>2];f[a+26676>>2]=f[e+26672>>2];break w}f[a+28808>>2]=0;f[a+28812>>2]=0}x:{if(((g[w|0]|g[w+1|0]<<8|(g[w+2|0]<<16|g[w+3|0]<<24))&-16)==407710288){e=g[a+160148|0]|g[a+160149|0]<<8|(g[a+160150|0]<<16|g[a+160151|0]<<24);k=7;break x}e=Q(p,w,f[a+29e3>>2],k);if(e>>>0>4294967176){break a}if(e){e=-72;break a}h=f[a+28780>>2];if(!(!h|(h|0)==f[a+28952>>2])){e=-32;break a}k=2;e=3;if(!f[a+28784>>2]){break x}f[a+28848>>2]=2048144761;f[a+28852>>2]=1640531534;f[a+28840>>2]=0;f[a+28844>>2]=0;f[a+28832>>2]=668265295;f[a+28836>>2]=-1028477379;f[a+28824>>2]=-1379879466;f[a+28828>>2]=1625958382;f[a+28816>>2]=0;f[a+28820>>2]=0;f[H+32>>2]=0;f[H+36>>2]=0;h=t;f[h+24>>2]=0;f[h+28>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h>>2]=0;f[h+4>>2]=0}f[a+28744>>2]=e;f[y>>2]=k;j=f[a+28760>>2];k=j;h=f[a+28764>>2];j=!h&j>>>0>1024|h>>>0>0;e=j?k:1024;h=j?h:0;j=h;f[a+28760>>2]=e;f[a+28764>>2]=h;if(!h&e>>>0>i[a+28980>>2]|h>>>0>0){e=-16;break a}h=f[a+28768>>2];o=h>>>0>4?h:4;h=0;k=0;if(!f[a+29024>>2]){k=f[p+4>>2];u=k;I=f[p>>2];A=!j&e>>>0<131072|j>>>0<0;J=A?e:131072;e=J+e|0;j=(A?j:0)+j|0;j=e>>>0>>0?j+1|0:j;A=e- -64|0;j=j-((e>>>0<4294967232)+ -1|0)|0;e=(k|0)==(j|0)&A>>>0>I>>>0|j>>>0>k>>>0;k=e?I:A;j=e?u:j;k=(j|0)==1&k>>>0<0|j>>>0<1?k:-16}j=f[C>>2];u=f[s>>2];e=k+o|0;if(j+u>>>0>=l(e,3)>>>0){h=f[G>>2]+1|0}f[G>>2]=h;if(!(h>>>0<128?!(j>>>0>>0|u>>>0>>0):0)){y:{z:{h=f[a+28936>>2];if(h){if(e>>>0<=h+ -160168>>>0){break z}e=-64;break a}h=f[a+28968>>2];A:{if(!h){break A}j=g[a+28920|0]|g[a+28921|0]<<8|(g[a+28922|0]<<16|g[a+28923|0]<<24);if(j){c[j|0](g[a+28924|0]|g[a+28925|0]<<8|(g[a+28926|0]<<16|g[a+28927|0]<<24),h);break A}M(h)}f[s>>2]=0;f[C>>2]=0;j=a;h=g[a+28916|0]|g[a+28917|0]<<8|(g[a+28918|0]<<16|g[a+28919|0]<<24);B:{if(h){h=c[h|0](g[a+28924|0]|g[a+28925|0]<<8|(g[a+28926|0]<<16|g[a+28927|0]<<24),e)|0;break B}h=U(e)}f[j+28968>>2]=h;if(h){break y}e=-64;break a}h=f[a+28968>>2]}f[s>>2]=k;f[a+28984>>2]=h+o;f[C>>2]=o}f[a+28964>>2]=2}e=q-m|0;k=f[y>>2];if(f[a+28800>>2]|k+ -3>>>0>=2){break f}j=e>>>0>1?e:1;h=f[a+28744>>2];j=j>>>0>>0?j:h;break e}j=a;k=v-n|0;h=f[a+28992>>2];o=f[a+28996>>2]-h|0;u=k>>>0>>0;e=u?k:o;if(e){L(n,h+f[a+28984>>2]|0,e);h=f[a+28992>>2]}h=e+h|0;f[j+28992>>2]=h;n=e+n|0;C:{if(u){break C}f[a+28964>>2]=2;j=f[a+28756>>2];e=f[s>>2];if(!j&i[a+28752>>2]<=e>>>0|j>>>0<0|h+f[a+28768>>2]>>>0<=e>>>0){break C}f[a+28992>>2]=0;f[a+28996>>2]=0}j=k>>>0>=o>>>0;break c}h=f[a+28744>>2];j=h}if(!j){f[a+28964>>2]=0;break b}if(e>>>0>=j>>>0){o=(k|0)==7;h=a;D:{E:{if(!f[a+29024>>2]){F:{if((k|0)==7){e=f[a+28992>>2];k=0;break F}e=f[a+28992>>2];k=f[s>>2]-e|0}e=S(a,f[a+28984>>2]+e|0,k,m,j);if(e>>>0>4294967176){break a}if(!(e|o)){break E}f[a+28996>>2]=f[a+28992>>2]+e;k=4;break D}e=S(a,n,o?0:v-n|0,m,j);if(e>>>0>4294967176){break a}n=e+n|0}k=2}f[h+28964>>2]=k;m=j+m|0;j=1;break c}if((m|0)==(q|0)){m=q;break b}f[a+28964>>2]=3}e=f[a+28976>>2];j=h-e|0;G:{if((k|0)==7){k=q-m|0;k=j>>>0>>0?j:k;break G}if(j>>>0>f[C>>2]-e>>>0){e=-20;break a}k=q-m|0;k=j>>>0>>0?j:k;if(!k){k=0;break G}L(f[a+28968>>2]+e|0,m,k);e=f[a+28976>>2]}f[a+28976>>2]=e+k;m=k+m|0;if(k>>>0>>0){break b}f[a+28976>>2]=0;k=f[y>>2];j=(k|0)==7;e=f[a+28968>>2];if(!f[a+29024>>2]){H:{if((k|0)==7){k=f[a+28992>>2];o=0;break H}k=f[a+28992>>2];o=f[s>>2]-k|0}e=S(a,f[a+28984>>2]+k|0,o,e,h);if(e>>>0>4294967176){break a}if(!(e|j)){f[a+28964>>2]=2;j=1;break c}f[a+28964>>2]=4;f[a+28996>>2]=f[a+28992>>2]+e;j=1;break c}e=S(a,n,j?0:v-n|0,e,h);if(e>>>0>4294967176){break a}f[a+28964>>2]=2;n=e+n|0;j=1}if(j){continue}}break}f[d+8>>2]=m-f[d>>2];h=n-f[b>>2]|0;f[b+8>>2]=h;f[x+8>>2]=h;h=f[b+4>>2];f[x>>2]=f[b>>2];f[x+4>>2]=h;I:{if(!((n|0)!=(E|0)|(m|0)!=(r|0))){b=f[a+29020>>2];f[a+29020>>2]=b+1;if((b|0)<15){break I}e=-70;if((v|0)==(E|0)){break a}e=-72;if((q|0)!=(r|0)){break I}break a}f[a+29020>>2]=0}b=f[a+28744>>2];if(!b){b=f[a+29016>>2];if(f[a+28996>>2]==f[a+28992>>2]){e=0;if(!b){break a}b=f[d+8>>2];if(b>>>0>=i[d+4>>2]){f[a+28964>>2]=2;e=1;break a}f[d+8>>2]=b+1;break a}e=1;if(b){break a}f[d+8>>2]=f[d+8>>2]+ -1;f[a+29016>>2]=1;break a}e=(b-f[a+28976>>2]|0)+(f[a+28804>>2]==3?3:0)|0}z=B+16|0;return e|0}function fa(a,b,c,e,f){var i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;a:{if(e>>>0<10){break a}k=g[c+4|0]|g[c+5|0]<<8;i=g[c|0]|g[c+1|0]<<8;p=i+6|0;j=g[c+2|0]|g[c+3|0]<<8;r=k+(p+j|0)|0;if(e>>>0>>0){break a}if(!i){return-72}l=c+6|0;F=h[f+2>>1];b:{c:{if(i>>>0>=4){l=g[(i+l|0)+ -1|0];x=-1;if(!l){break b}l=(o(l)|-32)+9|0;i=i+2|0;n=i+c|0;m=g[n|0]|g[n+1|0]<<8|(g[n+2|0]<<16|g[n+3|0]<<24);break c}m=g[l|0];d:{switch(i+ -2|0){case 1:m=g[c+8|0]<<16|m;case 0:m=(g[c+7|0]<<8)+m|0;break;default:break d}}l=g[(i+l|0)+ -1|0];if(!l){break a}l=((o(l)|-32)-(i<<3)|0)+41|0;i=6}if(!j){return-72}B=c+p|0;z=j+B|0;e:{if(j>>>0>=4){n=g[z+ -1|0];x=-1;if(!n){break b}t=j+ -4|0;j=B+t|0;C=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);n=(o(n)|-32)+9|0;break e}C=g[B|0];f:{switch(j+ -2|0){case 1:C=g[B+2|0]<<16|C;case 0:C=(g[B+1|0]<<8)+C|0;break;default:break f}}n=g[z+ -1|0];if(!n){break a}n=((o(n)|-32)-(j<<3)|0)+41|0}if(!k){return-72}A=k+z|0;g:{if(k>>>0>=4){j=g[A+ -1|0];x=-1;if(!j){break b}p=(o(j)|-32)+9|0;q=k+ -4|0;j=z+q|0;D=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);break g}D=g[z|0];h:{switch(k+ -2|0){case 1:D=g[z+2|0]<<16|D;case 0:D=(g[z+1|0]<<8)+D|0;break;default:break h}}j=g[A+ -1|0];if(!j){break a}p=((o(j)|-32)-(k<<3)|0)+41|0}e=e-r|0;x=-72;if(!e){break b}i:{j:{if(e>>>0>=4){j=g[(e+A|0)+ -1|0];x=-1;if(!j){break b}if(e>>>0<=4294967176){break j}return e}y=g[A|0];k:{switch(e+ -2|0){case 1:y=g[A+2|0]<<16|y;case 0:y=(g[A+1|0]<<8)+y|0;break;default:break k}}j=g[(e+A|0)+ -1|0];if(!j){break a}j=((o(j)|-32)-(e<<3)|0)+41|0;break i}E=e+ -4|0;e=E+A|0;y=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);j=(o(j)|-32)+9|0}v=f+4|0;e=b+3>>>2|0;G=e+a|0;H=G+e|0;I=H+e|0;K=a+b|0;L=K+ -3|0;l:{if(I>>>0>=L>>>0){r=t;u=q;e=E;w=i;f=I;s=H;k=G;break l}x=0-F&31;k=G;s=H;f=I;M=1;while(1){e=(m<<(l&31)>>>x<<1)+v|0;r=g[e+1|0];d[a|0]=g[e|0];e=(C<<(n&31)>>>x<<1)+v|0;u=g[e+1|0];d[k|0]=g[e|0];e=(D<<(p&31)>>>x<<1)+v|0;w=g[e+1|0];d[s|0]=g[e|0];e=(y<<(j&31)>>>x<<1)+v|0;J=g[e+1|0];d[f|0]=g[e|0];e=l+r|0;l=(m<<(e&31)>>>x<<1)+v|0;r=g[l+1|0];d[a+1|0]=g[l|0];n=n+u|0;l=(C<<(n&31)>>>x<<1)+v|0;u=g[l+1|0];d[k+1|0]=g[l|0];p=p+w|0;l=(D<<(p&31)>>>x<<1)+v|0;N=g[l+1|0];d[s+1|0]=g[l|0];j=j+J|0;l=(y<<(j&31)>>>x<<1)+v|0;J=g[l+1|0];d[f+1|0]=g[l|0];l=e+r|0;m:{if((i|0)<10){w=i;break m}w=i-(l>>>3|0)|0;e=w+c|0;m=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);l=l&7}n=n+u|0;n:{if((t|0)<4){r=t;break n}r=t-(n>>>3|0)|0;e=B+r|0;C=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);n=n&7}p=p+N|0;o:{if((q|0)<4){u=q;break o}u=q-(p>>>3|0)|0;e=z+u|0;D=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);p=p&7}e=j+J|0;f=f+2|0;p:{if((E|0)<4){j=e;e=E;break p}j=e&7;e=E-(e>>>3|0)|0;y=A+e|0;y=g[y|0]|g[y+1|0]<<8|(g[y+2|0]<<16|g[y+3|0]<<24)}s=s+2|0;k=k+2|0;a=a+2|0;J=(t|0)>3;N=(q|0)>3;O=(E|0)>3;P=(i|0)>9;i=w;E=e;q=u;t=r;M=P&(J&N&O)&M;if(M&f>>>0>>0){continue}break}}if(s>>>0>I>>>0|k>>>0>H>>>0){break a}x=-20;if(a>>>0>G>>>0){break b}q:{r:{s:{if(l>>>0>=33){q=0-F&31;break s}E=G+ -3|0;q=0-F&31;t:{u:{while(1){v:{if((w|0)>=10){m=l>>>3|0;t=0;i=l&7;break v}if((w|0)==6){i=l;w=6;break u}i=l>>>3|0;t=(w-i|0)<6;m=t?w+ -6|0:i;i=l-(m<<3)|0}w=w-m|0;l=w+c|0;m=g[l|0]|g[l+1|0]<<8|(g[l+2|0]<<16|g[l+3|0]<<24);if(!(t|a>>>0>=E>>>0)){l=(m<<(i&31)>>>q<<1)+v|0;t=g[l+1|0];d[a|0]=g[l|0];i=i+t|0;l=(m<<(i&31)>>>q<<1)+v|0;t=g[l+1|0];d[a+1|0]=g[l|0];a=a+2|0;l=i+t|0;if(l>>>0<=32){continue}break s}break}if(i>>>0>32){break t}}while(1){w:{if((w|0)>=10){m=i>>>3|0;t=0;l=i&7;break w}if((w|0)==6){w=6;break t}l=i>>>3|0;t=(w-l|0)<6;m=t?w+ -6|0:l;l=i-(m<<3)|0}w=w-m|0;i=w+c|0;m=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);i=a>>>0>=G>>>0;if(!(t?0:!i)){if(i){break q}break r}i=(m<<(l&31)>>>q<<1)+v|0;t=g[i+1|0];d[a|0]=g[i|0];a=a+1|0;i=l+t|0;if(i>>>0<=32){continue}break}}l=i}if(a>>>0>=G>>>0){break q}}while(1){c=(m<<(l&31)>>>q<<1)+v|0;i=g[c+1|0];d[a|0]=g[c|0];l=i+l|0;a=a+1|0;if((G|0)!=(a|0)){continue}break}}x:{y:{z:{if(n>>>0>=33){c=0-F&31;i=r+B|0;break z}t=H+ -3|0;c=0-F&31;A:{B:{C:{while(1){D:{if((r|0)>=4){q=n>>>3|0;m=0;a=n&7;break D}if(!r){r=0;i=B;a=n;break B}a=n>>>3|0;m=(r+B|0)-a>>>0>>0;q=m?r:a;a=n-(q<<3)|0}r=r-q|0;i=B+r|0;C=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);if(m|k>>>0>=t>>>0){break C}i=(C<<(a&31)>>>c<<1)+v|0;n=g[i+1|0];d[k|0]=g[i|0];a=a+n|0;i=(C<<(a&31)>>>c<<1)+v|0;n=g[i+1|0];d[k+1|0]=g[i|0];k=k+2|0;n=a+n|0;if(n>>>0<33){continue}break}i=r+B|0;break z}if(a>>>0>32){break A}}while(1){E:{if((r|0)>=4){q=a>>>3|0;m=0;n=a&7;break E}if(!r){break A}i=a>>>3|0;m=(r+B|0)-i>>>0>>0;q=m?r:i;n=a-(q<<3)|0}r=r-q|0;i=B+r|0;C=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);a=k>>>0>=H>>>0;if(!(m?0:!a)){if(!a){break y}break x}a=(C<<(n&31)>>>c<<1)+v|0;t=g[a+1|0];d[k|0]=g[a|0];k=k+1|0;a=n+t|0;if(a>>>0<=32){continue}break}}n=a}if(k>>>0>=H>>>0){break x}}while(1){a=(C<<(n&31)>>>c<<1)+v|0;r=g[a+1|0];d[k|0]=g[a|0];n=n+r|0;k=k+1|0;if((H|0)!=(k|0)){continue}break}}F:{G:{H:{if(p>>>0>=33){c=0-F&31;m=u+z|0;break H}r=I+ -3|0;c=0-F&31;I:{J:{K:{while(1){L:{if((u|0)>=4){q=p>>>3|0;k=0;a=p&7;break L}if(!u){u=0;m=z;a=p;break J}a=p>>>3|0;k=(u+z|0)-a>>>0>>0;q=k?u:a;a=p-(q<<3)|0}u=u-q|0;m=z+u|0;D=g[m|0]|g[m+1|0]<<8|(g[m+2|0]<<16|g[m+3|0]<<24);if(k|s>>>0>=r>>>0){break K}p=(D<<(a&31)>>>c<<1)+v|0;k=g[p+1|0];d[s|0]=g[p|0];a=a+k|0;p=(D<<(a&31)>>>c<<1)+v|0;k=g[p+1|0];d[s+1|0]=g[p|0];s=s+2|0;p=a+k|0;if(p>>>0<33){continue}break}m=u+z|0;break H}if(a>>>0>32){break I}}while(1){M:{if((u|0)>=4){q=a>>>3|0;k=0;p=a&7;break M}if(!u){break I}p=a>>>3|0;k=(u+z|0)-p>>>0>>0;q=k?u:p;p=a-(q<<3)|0}u=u-q|0;m=z+u|0;D=g[m|0]|g[m+1|0]<<8|(g[m+2|0]<<16|g[m+3|0]<<24);a=s>>>0>=I>>>0;if(!(k?0:!a)){if(!a){break G}break F}a=(D<<(p&31)>>>c<<1)+v|0;k=g[a+1|0];d[s|0]=g[a|0];s=s+1|0;a=k+p|0;if(a>>>0<=32){continue}break}}p=a}if(s>>>0>=I>>>0){break F}}while(1){a=(D<<(p&31)>>>c<<1)+v|0;k=g[a+1|0];d[s|0]=g[a|0];p=k+p|0;s=s+1|0;if((I|0)!=(s|0)){continue}break}}c=0-F&31;N:{O:{P:{Q:{R:{S:{if(j>>>0<=32){while(1){T:{if((e|0)>=4){q=j>>>3|0;s=0;a=j&7;break T}if(!e){e=0;k=A;a=j;break R}a=j>>>3|0;s=(e+A|0)-a>>>0>>0;q=s?e:a;a=j-(q<<3)|0}e=e-q|0;k=A+e|0;y=g[k|0]|g[k+1|0]<<8|(g[k+2|0]<<16|g[k+3|0]<<24);if(s|f>>>0>=L>>>0){break S}j=(y<<(a&31)>>>c<<1)+v|0;k=g[j+1|0];d[f|0]=g[j|0];a=a+k|0;j=(y<<(a&31)>>>c<<1)+v|0;k=g[j+1|0];d[f+1|0]=g[j|0];f=f+2|0;j=a+k|0;if(j>>>0<33){continue}break}}k=e+A|0;break P}if(a>>>0>32){break Q}}while(1){U:{if((e|0)>=4){q=a>>>3|0;s=0;j=a&7;break U}if(!e){break Q}j=a>>>3|0;s=(e+A|0)-j>>>0>>0;q=s?e:j;j=a-(q<<3)|0}e=e-q|0;k=A+e|0;y=g[k|0]|g[k+1|0]<<8|(g[k+2|0]<<16|g[k+3|0]<<24);a=f>>>0>=K>>>0;if(!(s?0:!a)){if(!a){break O}break N}a=(y<<(j&31)>>>c<<1)+v|0;r=g[a+1|0];d[f|0]=g[a|0];f=f+1|0;a=j+r|0;if(a>>>0<=32){continue}break}}j=a}if(f>>>0>=K>>>0){break N}}while(1){a=(y<<(j&31)>>>c<<1)+v|0;e=g[a+1|0];d[f|0]=g[a|0];j=e+j|0;f=f+1|0;if((K|0)!=(f|0)){continue}break}}x=(w|0)==6?(l|0)==32?(n|0)==32?(i|0)==(B|0)?(p|0)==32?(m|0)==(z|0)?(j|0)==32?(k|0)==(A|0)?b:-20:-20:-20:-20:-20:-20:-20:-20}return x}return-20}function na(a,b,c,e){var i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=a+255|0;u=t+ -3|0;a:{b:{c:{d:{if(h[e+2>>1]){if(!c){return-72}e:{f:{if(c>>>0>=4){v=-1;i=g[(b+c|0)+ -1|0];if(!i){break b}if(c>>>0<=4294967176){break f}return c}k=g[b|0];g:{switch(c+ -2|0){case 1:k=g[b+2|0]<<16|k;case 0:k=(g[b+1|0]<<8)+k|0;break;default:break g}}i=g[(b+c|0)+ -1|0];if(!i){return-20}i=((o(i)|-32)-(c<<3)|0)+41|0;c=0;break e}i=(o(i)|-32)+9|0;c=c+ -4|0;j=c+b|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24)}m=h[e>>1];i=m+i|0;l=k>>>(0-i&31)|0;p=f[(m<<2)+4592>>2];h:{if(i>>>0>32){j=i;break h}if((c|0)>=4){j=i&7;c=c-(i>>>3|0)|0;i=c+b|0;k=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);break h}if(!c){c=0;j=i;break h}j=i;i=i>>>3|0;i=(b+c|0)-i>>>0>>0?c:i;j=j-(i<<3)|0;c=c-i|0;i=c+b|0;k=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24)}n=l&p;r=e+4|0;e=j+m|0;m=p&k>>>(0-e&31);if(e>>>0>32){i=e;e=a;break c}if((c|0)>=4){i=e&7;c=c-(e>>>3|0)|0;e=c+b|0;k=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);break d}if(!c){c=0;i=e;break d}i=e>>>3|0;i=(b+c|0)-i>>>0>>0?c:i;c=c-i|0;j=c+b|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);i=e-(i<<3)|0;if(i>>>0<=32){break d}e=a;break c}if(!c){return-72}i:{j:{if(c>>>0>=4){v=-1;i=g[(b+c|0)+ -1|0];if(!i){break b}if(c>>>0<=4294967176){break j}return c}k=g[b|0];k:{switch(c+ -2|0){case 1:k=g[b+2|0]<<16|k;case 0:k=(g[b+1|0]<<8)+k|0;break;default:break k}}i=g[(b+c|0)+ -1|0];if(!i){return-20}i=((o(i)|-32)-(c<<3)|0)+41|0;c=0;break i}i=(o(i)|-32)+9|0;c=c+ -4|0;j=c+b|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24)}m=h[e>>1];i=m+i|0;l=k>>>(0-i&31)|0;p=f[(m<<2)+4592>>2];l:{if(i>>>0>32){j=i;break l}if((c|0)>=4){j=i&7;c=c-(i>>>3|0)|0;i=c+b|0;k=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);break l}if(!c){c=0;j=i;break l}j=i;i=i>>>3|0;i=(b+c|0)-i>>>0>>0?c:i;j=j-(i<<3)|0;c=c-i|0;i=c+b|0;k=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24)}n=l&p;r=e+4|0;e=j+m|0;m=p&k>>>(0-e&31);m:{if(e>>>0>32){i=e;e=a;break m}n:{if((c|0)>=4){i=e&7;c=c-(e>>>3|0)|0;e=c+b|0;k=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24);break n}if(!c){c=0;i=e;break n}i=e>>>3|0;i=(b+c|0)-i>>>0>>0?c:i;c=c-i|0;j=c+b|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);i=e-(i<<3)|0;if(i>>>0<=32){break n}e=a;break m}e=a;while(1){o:{if((c|0)>=4){k=i>>>3|0;j=0;i=i&7;break o}if(!c){c=0;break m}k=i>>>3|0;j=(b+c|0)-k>>>0>>0;k=j?c:k;i=i-(k<<3)|0}c=c-k|0;q=c+b|0;k=g[q|0]|g[q+1|0]<<8|(g[q+2|0]<<16|g[q+3|0]<<24);if(j|e>>>0>=u>>>0){break m}l=(n<<2)+r|0;j=h[l>>1];n=g[l+3|0];d[e|0]=g[l+2|0];m=(m<<2)+r|0;l=h[m>>1];p=g[m+3|0];d[e+1|0]=g[m+2|0];i=i+n|0;n=j+(f[(n<<2)+4592>>2]&k>>>(0-i&31))|0;j=i+p|0;m=l+(f[(p<<2)+4592>>2]&k>>>(0-j&31))|0;p:{q:{if(j>>>0>32){i=j;break q}if((c|0)>=4){i=j&7;c=c-(j>>>3|0)|0;j=c+b|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);break p}if(!c){c=0;i=j;break q}i=j>>>3|0;l=q-i|0;k=j;j=l>>>0>>0?c:i;i=k-(j<<3)|0;c=c-j|0;j=c+b|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);if(l>>>0>=b>>>0){break p}}e=e+2|0;break m}j=(n<<2)+r|0;l=h[j>>1];n=g[j+3|0];d[e+2|0]=g[j+2|0];m=(m<<2)+r|0;j=h[m>>1];p=g[m+3|0];d[e+3|0]=g[m+2|0];i=i+n|0;n=l+(f[(n<<2)+4592>>2]&k>>>(0-i&31))|0;i=i+p|0;m=j+(f[(p<<2)+4592>>2]&k>>>(0-i&31))|0;e=e+4|0;if(i>>>0<33){continue}break}}v=-70;t=t+ -2|0;if(e>>>0>t>>>0){break b}s=2;while(1){j=(n<<2)+r|0;q=h[j>>1];u=g[j+3|0];d[e|0]=g[j+2|0];p=e+1|0;i=i+u|0;if(i>>>0>32){n=m;break a}r:{s:{if((c|0)>=4){n=i>>>3|0;l=i&7;break s}if(!c){c=0;l=i;j=k;break r}j=i>>>3|0;n=(b+c|0)-j>>>0>>0?c:j;l=i-(n<<3)|0}c=c-n|0;j=c+b|0;j=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24)}if(p>>>0>t>>>0){break b}n=q+(f[(u<<2)+4592>>2]&k>>>(0-i&31))|0;i=(m<<2)+r|0;q=h[i>>1];k=g[i+3|0];d[e+1|0]=g[i+2|0];p=e+2|0;i=k+l|0;if(i>>>0>32){s=3;break a}m=f[(k<<2)+4592>>2]&j>>>(0-i&31);t:{u:{if((c|0)>=4){l=i>>>3|0;i=i&7;break u}if(!c){c=0;break t}e=i>>>3|0;l=(b+c|0)-e>>>0>>0?c:e;i=i-(l<<3)|0}c=c-l|0;e=c+b|0;j=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24)}k=j;m=m+q|0;e=p;if(e>>>0<=t>>>0){continue}break}break b}e=a;while(1){v:{if((c|0)>=4){k=i>>>3|0;j=0;i=i&7;break v}if(!c){c=0;break c}k=i>>>3|0;j=(b+c|0)-k>>>0>>0;k=j?c:k;i=i-(k<<3)|0}c=c-k|0;s=c+b|0;k=g[s|0]|g[s+1|0]<<8|(g[s+2|0]<<16|g[s+3|0]<<24);if(j|e>>>0>=u>>>0){break c}j=(n<<2)+r|0;l=h[j>>1];q=g[j+3|0];d[e|0]=g[j+2|0];m=(m<<2)+r|0;j=h[m>>1];p=g[m+3|0];d[e+1|0]=g[m+2|0];n=l+(k<<(i&31)>>>(0-q&31)|0)|0;i=i+q|0;m=j+(k<<(i&31)>>>(0-p&31)|0)|0;w:{j=i+p|0;x:{if(j>>>0>32){i=j;break x}if((c|0)>=4){i=j&7;c=c-(j>>>3|0)|0;j=c+b|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);break w}if(!c){c=0;i=j;break x}i=j>>>3|0;l=s-i|0;k=j;j=l>>>0>>0?c:i;i=k-(j<<3)|0;c=c-j|0;j=c+b|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);if(l>>>0>=b>>>0){break w}}e=e+2|0;break c}j=(n<<2)+r|0;l=h[j>>1];q=g[j+3|0];d[e+2|0]=g[j+2|0];m=(m<<2)+r|0;j=h[m>>1];p=g[m+3|0];d[e+3|0]=g[m+2|0];n=l+(k<<(i&31)>>>(0-q&31)|0)|0;i=i+q|0;m=j+(k<<(i&31)>>>(0-p&31)|0)|0;e=e+4|0;i=i+p|0;if(i>>>0<33){continue}break}}v=-70;u=t+ -2|0;if(e>>>0>u>>>0){break b}s=2;while(1){j=(n<<2)+r|0;n=h[j>>1];q=g[j+3|0];d[e|0]=g[j+2|0];p=e+1|0;j=i+q|0;if(j>>>0>32){n=m;break a}y:{z:{if((c|0)>=4){l=j>>>3|0;j=j&7;break z}if(!c){c=0;l=k;break y}t=j;j=j>>>3|0;l=(b+c|0)-j>>>0>>0?c:j;j=t-(l<<3)|0}c=c-l|0;l=c+b|0;l=g[l|0]|g[l+1|0]<<8|(g[l+2|0]<<16|g[l+3|0]<<24)}if(p>>>0>u>>>0){break b}n=n+(k<<(i&31)>>>(0-q&31)|0)|0;i=(m<<2)+r|0;m=h[i>>1];k=g[i+3|0];d[e+1|0]=g[i+2|0];p=e+2|0;i=j+k|0;if(i>>>0>32){s=3;break a}j=l<<(j&31)>>>(0-k&31)|0;A:{B:{if((c|0)>=4){l=i>>>3|0;i=i&7;break B}if(!c){c=0;k=l;break A}e=i>>>3|0;l=(b+c|0)-e>>>0>>0?c:e;i=i-(l<<3)|0}c=c-l|0;e=c+b|0;k=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24)}m=j+m|0;e=p;if(e>>>0<=u>>>0){continue}break}}return v}d[p|0]=g[((n<<2)+r|0)+2|0];return(e+s|0)-a|0}function W(a,b,c,e,h,i,j,k){var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=-70;n=f[c>>2];s=n+f[c+4>>2]|0;a:{if(s>>>0>b-a>>>0){break a}r=-20;l=f[e>>2];if(n>>>0>h-l>>>0){break a}h=b+ -32|0;t=l+n|0;b=a+n|0;q=f[c+8>>2];b:{if((n|0)<=7){m=q;if((n|0)<1){break b}while(1){d[a|0]=g[l|0];l=l+1|0;a=a+1|0;if(a>>>0>>0){continue}break}m=q;break b}if(b>>>0<=h>>>0){while(1){m=g[l+4|0]|g[l+5|0]<<8|(g[l+6|0]<<16|g[l+7|0]<<24);n=g[l|0]|g[l+1|0]<<8|(g[l+2|0]<<16|g[l+3|0]<<24);d[a|0]=n;d[a+1|0]=n>>>8;d[a+2|0]=n>>>16;d[a+3|0]=n>>>24;d[a+4|0]=m;d[a+5|0]=m>>>8;d[a+6|0]=m>>>16;d[a+7|0]=m>>>24;m=g[l+12|0]|g[l+13|0]<<8|(g[l+14|0]<<16|g[l+15|0]<<24);n=g[l+8|0]|g[l+9|0]<<8|(g[l+10|0]<<16|g[l+11|0]<<24);d[a+8|0]=n;d[a+9|0]=n>>>8;d[a+10|0]=n>>>16;d[a+11|0]=n>>>24;d[a+12|0]=m;d[a+13|0]=m>>>8;d[a+14|0]=m>>>16;d[a+15|0]=m>>>24;l=l+16|0;a=a+16|0;if(a>>>0>>0){continue}break}m=q;break b}if(h>>>0>=a>>>0){n=a;m=l;while(1){o=g[m+4|0]|g[m+5|0]<<8|(g[m+6|0]<<16|g[m+7|0]<<24);p=g[m|0]|g[m+1|0]<<8|(g[m+2|0]<<16|g[m+3|0]<<24);d[n|0]=p;d[n+1|0]=p>>>8;d[n+2|0]=p>>>16;d[n+3|0]=p>>>24;d[n+4|0]=o;d[n+5|0]=o>>>8;d[n+6|0]=o>>>16;d[n+7|0]=o>>>24;o=g[m+12|0]|g[m+13|0]<<8|(g[m+14|0]<<16|g[m+15|0]<<24);p=g[m+8|0]|g[m+9|0]<<8|(g[m+10|0]<<16|g[m+11|0]<<24);d[n+8|0]=p;d[n+9|0]=p>>>8;d[n+10|0]=p>>>16;d[n+11|0]=p>>>24;d[n+12|0]=o;d[n+13|0]=o>>>8;d[n+14|0]=o>>>16;d[n+15|0]=o>>>24;m=m+16|0;n=n+16|0;if(n>>>0>>0){continue}break}l=(h-a|0)+l|0;a=h}m=q;if(b>>>0<=a>>>0){break b}while(1){d[a|0]=g[l|0];l=l+1|0;a=a+1|0;if((b|0)!=(a|0)){continue}break}m=f[c+8>>2]}a=b-q|0;f[e>>2]=t;c:{d:{if(m>>>0>b-i>>>0){if(m>>>0>b-j>>>0){break a}a=a-i|0;e=a+k|0;j=f[c+4>>2];if(e+j>>>0<=k>>>0){N(b,e,j);break c}b=N(b,e,0-a|0);m=a+j|0;f[c+4>>2]=m;b=b-a|0;break d}m=f[c+4>>2];i=a}c=b+m|0;if((m|0)<=7){if((m|0)<1){break c}while(1){d[b|0]=g[i|0];i=i+1|0;b=b+1|0;if(b>>>0>>0){continue}break}break c}a=b-i|0;e:{if(a>>>0<=7){d[b|0]=g[i|0];d[b+1|0]=g[i+1|0];d[b+2|0]=g[i+2|0];d[b+3|0]=g[i+3|0];e=i;i=a<<2;a=e+f[i+4752>>2]|0;e=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);d[b+4|0]=e;d[b+5|0]=e>>>8;d[b+6|0]=e>>>16;d[b+7|0]=e>>>24;i=a-f[i+4784>>2]|0;break e}a=g[i+4|0]|g[i+5|0]<<8|(g[i+6|0]<<16|g[i+7|0]<<24);e=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);d[b|0]=e;d[b+1|0]=e>>>8;d[b+2|0]=e>>>16;d[b+3|0]=e>>>24;d[b+4|0]=a;d[b+5|0]=a>>>8;d[b+6|0]=a>>>16;d[b+7|0]=a>>>24}l=b+8|0;a=i+8|0;if(c>>>0<=h>>>0){e=l+m|0;if((l-a|0)<=15){while(1){b=g[a+4|0]|g[a+5|0]<<8|(g[a+6|0]<<16|g[a+7|0]<<24);c=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);d[l|0]=c;d[l+1|0]=c>>>8;d[l+2|0]=c>>>16;d[l+3|0]=c>>>24;d[l+4|0]=b;d[l+5|0]=b>>>8;d[l+6|0]=b>>>16;d[l+7|0]=b>>>24;a=a+8|0;l=l+8|0;if(l>>>0>>0){continue}break c}}while(1){b=g[a+4|0]|g[a+5|0]<<8|(g[a+6|0]<<16|g[a+7|0]<<24);c=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);d[l|0]=c;d[l+1|0]=c>>>8;d[l+2|0]=c>>>16;d[l+3|0]=c>>>24;d[l+4|0]=b;d[l+5|0]=b>>>8;d[l+6|0]=b>>>16;d[l+7|0]=b>>>24;b=g[a+12|0]|g[a+13|0]<<8|(g[a+14|0]<<16|g[a+15|0]<<24);c=g[a+8|0]|g[a+9|0]<<8|(g[a+10|0]<<16|g[a+11|0]<<24);d[l+8|0]=c;d[l+9|0]=c>>>8;d[l+10|0]=c>>>16;d[l+11|0]=c>>>24;d[l+12|0]=b;d[l+13|0]=b>>>8;d[l+14|0]=b>>>16;d[l+15|0]=b>>>24;a=a+16|0;l=l+16|0;if(l>>>0>>0){continue}break}break c}f:{if(l>>>0>h>>>0){h=l;break f}g:{if((l-a|0)<=15){b=l;i=a;while(1){e=g[i+4|0]|g[i+5|0]<<8|(g[i+6|0]<<16|g[i+7|0]<<24);j=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);d[b|0]=j;d[b+1|0]=j>>>8;d[b+2|0]=j>>>16;d[b+3|0]=j>>>24;d[b+4|0]=e;d[b+5|0]=e>>>8;d[b+6|0]=e>>>16;d[b+7|0]=e>>>24;i=i+8|0;b=b+8|0;if(b>>>0>>0){continue}break}break g}b=l;i=a;while(1){e=g[i+4|0]|g[i+5|0]<<8|(g[i+6|0]<<16|g[i+7|0]<<24);j=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);d[b|0]=j;d[b+1|0]=j>>>8;d[b+2|0]=j>>>16;d[b+3|0]=j>>>24;d[b+4|0]=e;d[b+5|0]=e>>>8;d[b+6|0]=e>>>16;d[b+7|0]=e>>>24;e=g[i+12|0]|g[i+13|0]<<8|(g[i+14|0]<<16|g[i+15|0]<<24);j=g[i+8|0]|g[i+9|0]<<8|(g[i+10|0]<<16|g[i+11|0]<<24);d[b+8|0]=j;d[b+9|0]=j>>>8;d[b+10|0]=j>>>16;d[b+11|0]=j>>>24;d[b+12|0]=e;d[b+13|0]=e>>>8;d[b+14|0]=e>>>16;d[b+15|0]=e>>>24;i=i+16|0;b=b+16|0;if(b>>>0>>0){continue}break}}a=(h-l|0)+a|0}if(c>>>0<=h>>>0){break c}while(1){d[h|0]=g[a|0];a=a+1|0;h=h+1|0;if((c|0)!=(h|0)){continue}break}}r=s}return r}function Ca(a,b,c,d,e,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;if(h){u=f[h+8>>2];v=f[h+4>>2]}a:{i=f[a+28908>>2];k=i?1:5;b:{c:{if(k>>>0>e>>>0){m=b;break c}s=a+28816|0;w=a+28752|0;x=h+10276|0;y=h+4116|0;z=h+6172|0;A=h+12|0;B=a+4120|0;C=a+6176|0;D=a+16|0;p=a+26668|0;E=a+10280|0;o=a+28856|0;t=o;m=b;while(1){if(((g[d|0]|g[d+1|0]<<8|(g[d+2|0]<<16|g[d+3|0]<<24))&-16)==407710288){k=i?1:5;while(1){if(e>>>0<8){return-72}i=g[d+4|0]|g[d+5|0]<<8|(g[d+6|0]<<16|g[d+7|0]<<24);if(i>>>0>4294967287){return-14}i=i+8|0;i=i>>>0>e>>>0?-72:i;if(i>>>0>4294967176){break b}e=e-i|0;if(e>>>0>>0){break c}d=d+i|0;if(((g[d|0]|g[d+1|0]<<8|(g[d+2|0]<<16|g[d+3|0]<<24))&-16)==407710288){continue}break}}d:{if(h){i=f[h+8>>2];j=f[h+4>>2];f[a+28744>>2]=k;f[a+28792>>2]=0;f[a+28796>>2]=0;f[a+10280>>2]=201326604;f[a+28808>>2]=0;f[a+28812>>2]=0;f[a+28800>>2]=3;f[a+28804>>2]=0;f[a+28956>>2]=f[a+28740>>2]!=(i+j|0);f[p+8>>2]=f[814];i=f[813];f[p>>2]=f[812];f[p+4>>2]=i;f[a+12>>2]=E;f[a+8>>2]=B;f[a+4>>2]=C;f[a>>2]=D;f[a+28952>>2]=f[h+26676>>2];i=f[h+4>>2];f[a+28736>>2]=i;f[a+28732>>2]=i;i=i+f[h+8>>2]|0;f[a+28728>>2]=i;f[a+28740>>2]=i;if(f[h+26680>>2]){f[a+28808>>2]=1;f[a+28812>>2]=1;f[a+12>>2]=x;f[a+8>>2]=y;f[a+4>>2]=z;f[a>>2]=A;f[a+26668>>2]=f[h+26664>>2];f[a+26672>>2]=f[h+26668>>2];f[a+26676>>2]=f[h+26672>>2];break d}f[a+28808>>2]=0;f[a+28812>>2]=0;break d}i=Ba(a,v,u);if(i>>>0>4294967176){break b}i=f[a+28728>>2]}if((i|0)!=(m|0)){f[a+28740>>2]=i;f[a+28728>>2]=m;j=f[a+28732>>2];f[a+28732>>2]=m;f[a+28736>>2]=(j-i|0)+m}j=f[a+28908>>2];if(e>>>0<(j?5:9)>>>0){i=-72;break a}k=j?1:5;i=g[(k+d|0)+ -1|0];l=i>>>6|0;n=f[(l<<2)+4736>>2]+(k+f[((i&3)<<2)+4720>>2]|0)|0;i=(i&32)>>>5|0;i=(n+(i^1)|0)+(i&!l)|0;if(i>>>0>4294967176){break a}if(e>>>0>>0){i=-72;break a}j=Q(w,d,i,j);if(j>>>0>4294967176){i=j;break a}if(j){i=-72;break a}j=f[a+28780>>2];if(!(!j|(j|0)==f[a+28952>>2])){i=-32;break a}if(f[a+28784>>2]){f[a+28848>>2]=2048144761;f[a+28852>>2]=1640531534;f[a+28840>>2]=0;f[a+28844>>2]=0;f[a+28832>>2]=668265295;f[a+28836>>2]=-1028477379;f[a+28824>>2]=-1379879466;f[a+28828>>2]=1625958382;f[a+28816>>2]=0;f[a+28820>>2]=0;f[o+32>>2]=0;f[o+36>>2]=0;f[t+24>>2]=0;f[t+28>>2]=0;j=o;f[j+16>>2]=0;f[j+20>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=0;f[j+4>>2]=0}q=c?c+m|0:m;e=e-i|0;d=d+i|0;k=m;while(1){if(e>>>0<3){i=-72;break a}r=g[d|0]|g[d+1|0]<<8;l=(r|g[d+2|0]<<16)>>>3|0;i=-20;e:{f:{n=r>>>1&3;j=n;switch(j+ -1|0){case 2:break a;case 0:break e;default:break f}}j=l}e=e+ -3|0;if(e>>>0>>0){i=-72;break a}d=d+3|0;g:{h:{switch(n|0){case 0:if(!k){i=0;if(!j){break g}i=-74;break a}if(j>>>0>q-k>>>0){i=-70;break a}L(k,d,j);i=j;break g;case 1:if(!k){i=0;if(!l){break g}i=-74;break a}if(l>>>0>q-k>>>0){i=-70;break a}O(k,g[d|0],l);i=l;break g;case 2:break h;default:break a}}i=ca(a,k,q-k|0,d,j);if(i>>>0>4294967176){break a}}if(f[a+28784>>2]){ba(s,k,i)}k=i?i+k|0:k;e=e-j|0;d=d+j|0;if(!(r&1)){continue}break}i=f[a+28756>>2];j=i;l=f[a+28752>>2];if((l|0)!=-1|(i|0)!=-1){i=-20;n=l;l=k-m|0;if((n|0)!=(l|0)|l>>31!=(j|0)){break a}}if(f[a+28784>>2]){i=-22;if(e>>>0<4){break a}if((g[d|0]|g[d+1|0]<<8|(g[d+2|0]<<16|g[d+3|0]<<24))!=(aa(s)|0)){break a}e=e+ -4|0;d=d+4|0}i=k-m|0;if(i>>>0>=4294967177){break a}m=i?k:m;F=1;c=c-i|0;i=f[a+28908>>2];k=i?1:5;if(e>>>0>=k>>>0){continue}break}}i=-72;if(e){break b}i=m-b|0}return i}return F?(i|0)==-10?-72:i:i}function S(a,b,c,d,e){var h=0,j=0,k=0;k=f[a+28804>>2];j=f[a+28744>>2];a:{if(k+ -3>>>0>=2){break a}j=f[a+28744>>2];if(f[a+28800>>2]){break a}h=e>>>0>1?e:1;j=f[a+28744>>2];j=h>>>0>>0?h:j}h=-72;b:{c:{d:{if((e|0)!=(j|0)){break d}e:{if(!c){break e}h=f[a+28728>>2];if((h|0)==(b|0)){break e}f[a+28740>>2]=h;f[a+28728>>2]=b;j=f[a+28732>>2];f[a+28732>>2]=b;f[a+28736>>2]=(j-h|0)+b}h=-1;f:{g:{h:{i:{j:{switch(k|0){case 0:h=1;k:{if(f[a+28908>>2]){break k}h=5;if(((g[d|0]|g[d+1|0]<<8|(g[d+2|0]<<16|g[d+3|0]<<24))&-16)!=407710288){break k}L(a+160144|0,d,e);f[a+28804>>2]=6;f[a+28744>>2]=8-e;break b}if(h>>>0>e>>>0){f[a+28904>>2]=-72;return-72}b=g[(d+h|0)+ -1|0];c=b>>>6|0;h=f[(c<<2)+4736>>2]+(f[((b&3)<<2)+4720>>2]+h|0)|0;b=(b&32)>>>5|0;h=(h+(b^1)|0)+(b&!c)|0;f[a+28904>>2]=h;if(h>>>0>4294967176){break d}L(a+160144|0,d,e);f[a+28804>>2]=1;f[a+28744>>2]=h-e;break b;case 1:b=a+160144|0;L(b+(f[a+28904>>2]-e|0)|0,d,e);b=Q(a+28752|0,b,f[a+28904>>2],f[a+28908>>2]);if(b>>>0>4294967176){return b}h=-72;if(b){break d}b=f[a+28780>>2];if(b){h=-32;if((b|0)!=f[a+28952>>2]){break d}}if(f[a+28784>>2]){f[a+28816>>2]=0;f[a+28820>>2]=0;b=a+28856|0;f[b>>2]=0;f[b+4>>2]=0;b=a+28848|0;f[b>>2]=2048144761;f[b+4>>2]=1640531534;b=a+28840|0;f[b>>2]=0;f[b+4>>2]=0;b=a+28832|0;f[b>>2]=668265295;f[b+4>>2]=-1028477379;b=a+28824|0;f[b>>2]=-1379879466;f[b+4>>2]=1625958382;b=a+28864|0;f[b>>2]=0;f[b+4>>2]=0;b=a+28872|0;f[b>>2]=0;f[b+4>>2]=0;b=a+28880|0;f[b>>2]=0;f[b+4>>2]=0;b=a+28888|0;f[b>>2]=0;f[b+4>>2]=0}break c;case 2:c=g[d|0]|g[d+1|0]<<8;b=(c|g[d+2|0]<<16)>>>3|0;h=-20;l:{m:{d=c>>>1&3;e=d;switch(e+ -1|0){case 0:break l;case 2:break d;default:break m}}e=b}if(e>>>0>i[a+28768>>2]){break d}c=c&1;f[a+28932>>2]=b;f[a+28800>>2]=d;f[a+28744>>2]=e;if(e){f[a+28804>>2]=c?4:3;break b}if(c){if(!f[a+28784>>2]){break i}f[a+28804>>2]=5;f[a+28744>>2]=4;break b}break c;case 3:case 4:h=-20;n:{o:{switch(f[a+28800>>2]){case 2:h=ca(a,b,c,d,e);break n;case 0:if(!b){h=-74;if(e){break d}break g}h=-70;if(e>>>0>c>>>0){break d}L(b,d,e);if(e>>>0<=4294967176){break g}return e;case 1:break o;default:break d}}e=f[a+28932>>2];h=e?-74:0;if(!b){break n}h=-70;if(e>>>0>c>>>0){break n}O(b,g[d|0],e);h=e}j=0;f[a+28744>>2]=0;if(h>>>0>4294967176){break d}break f;case 6:break h;case 7:break i;case 5:break j;default:break d}}h=-22;if((g[d|0]|g[d+1|0]<<8|(g[d+2|0]<<16|g[d+3|0]<<24))!=(aa(a+28816|0)|0)){break d}}h=0;f[a+28804>>2]=0;f[a+28744>>2]=0;break d}L((a-e|0)+160152|0,d,e);f[a+28804>>2]=7;b=a;a=a+160148|0;f[b+28744>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);break b}j=f[a+28744>>2]-e|0;f[a+28744>>2]=j;h=e}c=h;if(c>>>0>i[a+28768>>2]){return-20}h=f[a+28796>>2];e=c;k=e+f[a+28792>>2]|0;if(k>>>0>>0){h=h+1|0}f[a+28792>>2]=k;f[a+28796>>2]=h;if(f[a+28784>>2]){ba(a+28816|0,b,c);j=f[a+28744>>2]}f[a+28728>>2]=b+c;if(j){return c}if(f[a+28804>>2]==4){b=f[a+28756>>2];d=b;e=f[a+28752>>2];if((e|0)!=-1|(b|0)!=-1){h=-20;if((e|0)!=f[a+28792>>2]|(d|0)!=f[a+28796>>2]){break d}}if(f[a+28784>>2]){f[a+28804>>2]=5;f[a+28744>>2]=4;return c}f[a+28804>>2]=0;f[a+28744>>2]=0;return c}f[a+28744>>2]=3;f[a+28804>>2]=2;return c}return h}f[a+28804>>2]=2;f[a+28744>>2]=3}return 0}function ea(a,b,c,h,i){var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;k=z-144|0;z=k;j=-44;a:{if(i>>>0<1500){break a}C=f[a>>2];m=O(h+624|0,0,108);v=C&255;if(v>>>0>12){break a}q=h+1244|0;D=$(q,m,k+8|0,k+12|0,b,c);if(D>>>0<=4294967176){i=f[k+12>>2];if(i>>>0>v>>>0){break a}p=h+680|0;j=i;while(1){c=j;j=j+ -1|0;if(!f[m+(c<<2)>>2]){continue}break}b=1;j=0;o=c+1|0;if(o>>>0>=2){while(1){r=b<<2;w=f[r+m>>2];f[p+r>>2]=x;x=w+x|0;r=(b|0)!=(c|0);b=b+1|0;if(r){continue}break}}r=h+732|0;f[p>>2]=x;w=f[k+8>>2];if(w){while(1){s=g[j+q|0];y=p+(s<<2)|0;b=f[y>>2];f[y>>2]=b+1;b=r+(b<<1)|0;d[b+1|0]=s;d[b|0]=j;j=j+1|0;if((w|0)!=(j|0)){continue}break}}H=h+676|0;w=a+4|0;b=0;f[h+680>>2]=0;b:{if(o>>>0>=2){p=(i^-1)+v|0;j=1;while(1){q=j<<2;s=f[q+m>>2];f[h+q>>2]=b;b=(s<>>0<2|b>>>0>=m>>>0){break b}i=b;while(1){j=1;while(1){o=j<<2;f[o+(l(i,52)+h|0)>>2]=f[h+o>>2]>>>i;o=(c|0)!=(j|0);j=j+1|0;if(o){continue}break}i=i+1|0;if(i>>>0>>0){continue}break}break b}p=i+1|0;b=p-c|0}f[k- -64>>2]=f[h+48>>2];c=f[h+44>>2];f[k+56>>2]=f[h+40>>2];f[k+60>>2]=c;c=f[h+36>>2];f[k+48>>2]=f[h+32>>2];f[k+52>>2]=c;c=f[h+28>>2];f[k+40>>2]=f[h+24>>2];f[k+44>>2]=c;c=f[h+20>>2];f[k+32>>2]=f[h+16>>2];f[k+36>>2]=c;c=f[h+4>>2];f[k+16>>2]=f[h>>2];f[k+20>>2]=c;c=f[h+12>>2];f[k+24>>2]=f[h+8>>2];f[k+28>>2]=c;if(x){I=p-v|0;o=0;while(1){c=r+(o<<1)|0;i=g[c+1|0];m=p-i|0;s=v-m|0;y=1<>2];c:{if(s>>>0>=b>>>0){j=m+I|0;t=((j|0)>1?j:1)<<2;u=f[t+H>>2];i=l(m,52)+h|0;f[k+128>>2]=f[i+48>>2];n=f[i+44>>2];f[k+120>>2]=f[i+40>>2];f[k+124>>2]=n;n=f[i+36>>2];f[k+112>>2]=f[i+32>>2];f[k+116>>2]=n;n=f[i+28>>2];f[k+104>>2]=f[i+24>>2];f[k+108>>2]=n;n=f[i+20>>2];f[k+96>>2]=f[i+16>>2];f[k+100>>2]=n;n=f[i+12>>2];f[k+88>>2]=f[i+8>>2];f[k+92>>2]=n;n=f[i+4>>2];f[k+80>>2]=f[i>>2];f[k+84>>2]=n;n=x-u|0;F=w+(c<<2)|0;d:{if((j|0)<2){break d}t=f[t+(k+80|0)>>2];if(!t){break d}i=q|m<<16&16711680|16777216;j=0;while(1){B=(j<<2)+F|0;e[B>>1]=i;e[B+2>>1]=i>>>16;j=j+1|0;if((t|0)!=(j|0)){continue}break}}if(n){B=r+(u<<1)|0;i=0;while(1){A=B+(i<<1)|0;j=g[A+1|0];u=p-j|0;G=(k+80|0)+(j<<2)|0;j=f[G>>2];t=j+(1<>1]=u;e[A+2>>1]=u>>>16;j=j+1|0;if(j>>>0>>0){continue}break}f[G>>2]=t;i=i+1|0;if((n|0)!=(i|0)){continue}break}}j=c+y|0;break c}j=c+y|0;if(c>>>0>=j>>>0){break c}i=q|m<<16&16711680|16777216;while(1){m=w+(c<<2)|0;e[m>>1]=i;e[m+2>>1]=i>>>16;c=c+1|0;if((j|0)!=(c|0)){continue}break}}f[E>>2]=j;o=o+1|0;if((x|0)!=(o|0)){continue}break}}f[a>>2]=C&-16776961|v<<16|256}j=D}z=k+144|0;return j}function Aa(a,b,c){var e=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=-20;a:{if(c>>>0<3){break a}b:{c:{d:{e:{e=g[b|0];l=e&3;switch(l-1|0){case 0:break b;case 1:break d;case 2:break e;default:break c}}if(f[a+28808>>2]){break d}return-30}if(c>>>0<5){break a}j=3;h=g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24);f:{g:{h:{i:{k=e>>>2&3;switch(k+ -2|0){case 1:break g;case 0:break h;default:break i}}i=h>>>14&1023;e=h>>>4&1023;h=!k;break f}i=h>>>18|0;j=4;e=h>>>4&16383;h=0;break f}e=h>>>4&262143;if(e>>>0>131072){break a}i=g[b+4|0]<<10|h>>>22;j=5;h=0}n=i+j|0;if(n>>>0>c>>>0){break a}if(!(!f[a+28956>>2]|e>>>0<769)){c=0;while(1){k=c>>>0<16324;c=c- -64|0;if(k){continue}break}}j:{if((l|0)==3){b=b+j|0;c=a+29040|0;j=f[a+12>>2];k=f[j>>2]>>>8|0;if(h){if(k&255){b=Ha(c,e,b,i,j);break j}b=ga(c,e,b,i,j);break j}if(k&255){b=da(c,e,b,i,j);break j}b=fa(c,e,b,i,j);break j}c=a+10280|0;if(h){h=b+j|0;b=X(c,h,i,a+26680|0);if(b>>>0>4294967176|i>>>0<=b>>>0){break a}b=ga(a+29040|0,e,b+h|0,i-b|0,c);break j}b=Ga(c,a+29040|0,e,b+j|0,i,a+26680|0)}if(b>>>0>4294967176){break a}f[a+28928>>2]=e;f[a+28808>>2]=1;f[a+28912>>2]=a+29040;if((l|0)==2){f[a+12>>2]=a+10280}b=a+e|0;a=b+29064|0;d[a|0]=0;d[a+1|0]=0;d[a+2|0]=0;d[a+3|0]=0;d[a+4|0]=0;d[a+5|0]=0;d[a+6|0]=0;d[a+7|0]=0;a=b+29056|0;d[a|0]=0;d[a+1|0]=0;d[a+2|0]=0;d[a+3|0]=0;d[a+4|0]=0;d[a+5|0]=0;d[a+6|0]=0;d[a+7|0]=0;a=b+29048|0;d[a|0]=0;d[a+1|0]=0;d[a+2|0]=0;d[a+3|0]=0;d[a+4|0]=0;d[a+5|0]=0;d[a+6|0]=0;d[a+7|0]=0;a=b+29040|0;d[a|0]=0;d[a+1|0]=0;d[a+2|0]=0;d[a+3|0]=0;d[a+4|0]=0;d[a+5|0]=0;d[a+6|0]=0;d[a+7|0]=0;return n}i=2;k:{l:{switch((e>>>2&3)+ -1|0){default:i=1;h=e>>>3|0;break k;case 0:h=(g[b|0]|g[b+1|0]<<8)>>>4|0;break k;case 2:break l}}i=3;h=(g[b|0]|g[b+1|0]<<8|g[b+2|0]<<16)>>>4|0}e=i+h|0;if(e+32>>>0>c>>>0){if(e>>>0>c>>>0){break a}b=L(a+29040|0,b+i|0,h);f[a+28928>>2]=h;f[a+28912>>2]=b;a=b+h|0;d[a+24|0]=0;d[a+25|0]=0;d[a+26|0]=0;d[a+27|0]=0;d[a+28|0]=0;d[a+29|0]=0;d[a+30|0]=0;d[a+31|0]=0;d[a+16|0]=0;d[a+17|0]=0;d[a+18|0]=0;d[a+19|0]=0;d[a+20|0]=0;d[a+21|0]=0;d[a+22|0]=0;d[a+23|0]=0;d[a+8|0]=0;d[a+9|0]=0;d[a+10|0]=0;d[a+11|0]=0;d[a+12|0]=0;d[a+13|0]=0;d[a+14|0]=0;d[a+15|0]=0;d[a|0]=0;d[a+1|0]=0;d[a+2|0]=0;d[a+3|0]=0;d[a+4|0]=0;d[a+5|0]=0;d[a+6|0]=0;d[a+7|0]=0;return e}f[a+28928>>2]=h;f[a+28912>>2]=b+i;return e}i=2;m:{n:{switch((e>>>2&3)+ -1|0){default:i=1;c=e>>>3|0;break m;case 0:c=(g[b|0]|g[b+1|0]<<8)>>>4|0;break m;case 2:break n}}if(c>>>0<4){break a}c=g[b|0]|g[b+1|0]<<8|g[b+2|0]<<16;if(c>>>0>2097167){break a}i=3;c=c>>>4|0}b=O(a+29040|0,g[b+i|0],c+32|0);f[a+28928>>2]=c;f[a+28912>>2]=b;m=i+1|0}return m}function ba(a,b,c){var d=0,e=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=f[a+4>>2];j=c+f[a>>2]|0;if(j>>>0>>0){e=e+1|0}f[a>>2]=j;f[a+4>>2]=e;d=f[a+72>>2];h=d+c|0;a:{b:{if(h>>>0<=31){if(!b){break b}L((a+d|0)+40|0,b,c);h=f[a+72>>2]+c|0;break b}l=b+c|0;if(d){L(d+(a+40|0)|0,b,32-d|0);j=f[a+72>>2];f[a+72>>2]=0;h=f[a+12>>2];c=f[a+8>>2];k=Ma(g[a+40|0]|g[a+41|0]<<8|(g[a+42|0]<<16|g[a+43|0]<<24),g[a+44|0]|g[a+45|0]<<8|(g[a+46|0]<<16|g[a+47|0]<<24),668265295,-1028477379);d=c+k|0;e=A+h|0;f[a+8>>2]=Ma(Na(d,d>>>0>>0?e+1|0:e,31),A,-2048144761,-1640531535);f[a+12>>2]=A;d=f[a+20>>2];c=f[a+16>>2];e=Ma(g[a+48|0]|g[a+49|0]<<8|(g[a+50|0]<<16|g[a+51|0]<<24),g[a+52|0]|g[a+53|0]<<8|(g[a+54|0]<<16|g[a+55|0]<<24),668265295,-1028477379);h=c+e|0;d=A+d|0;f[a+16>>2]=Ma(Na(h,h>>>0>>0?d+1|0:d,31),A,-2048144761,-1640531535);f[a+20>>2]=A;d=f[a+28>>2];c=f[a+24>>2];e=Ma(g[a+56|0]|g[a+57|0]<<8|(g[a+58|0]<<16|g[a+59|0]<<24),g[a+60|0]|g[a+61|0]<<8|(g[a+62|0]<<16|g[a+63|0]<<24),668265295,-1028477379);h=c+e|0;d=A+d|0;f[a+24>>2]=Ma(Na(h,h>>>0>>0?d+1|0:d,31),A,-2048144761,-1640531535);f[a+28>>2]=A;h=f[a+36>>2];c=f[a+32>>2];d=a- -64|0;k=Ma(g[d|0]|g[d+1|0]<<8|(g[d+2|0]<<16|g[d+3|0]<<24),g[d+4|0]|g[d+5|0]<<8|(g[d+6|0]<<16|g[d+7|0]<<24),668265295,-1028477379);d=c+k|0;e=A+h|0;f[a+32>>2]=Ma(Na(d,d>>>0>>0?e+1|0:e,31),A,-2048144761,-1640531535);f[a+36>>2]=A;b=(b-j|0)+32|0}if(b+32>>>0<=l>>>0){p=l+ -32|0;c=f[a+32>>2];k=f[a+36>>2];d=f[a+24>>2];m=f[a+28>>2];h=f[a+16>>2];n=f[a+20>>2];j=f[a+8>>2];o=f[a+12>>2];while(1){i=Ma(g[b+24|0]|g[b+25|0]<<8|(g[b+26|0]<<16|g[b+27|0]<<24),g[b+28|0]|g[b+29|0]<<8|(g[b+30|0]<<16|g[b+31|0]<<24),668265295,-1028477379)+c|0;e=k+A|0;c=Ma(Na(i,i>>>0>>0?e+1|0:e,31),A,-2048144761,-1640531535);k=A;i=Ma(g[b+16|0]|g[b+17|0]<<8|(g[b+18|0]<<16|g[b+19|0]<<24),g[b+20|0]|g[b+21|0]<<8|(g[b+22|0]<<16|g[b+23|0]<<24),668265295,-1028477379)+d|0;e=m+A|0;d=Ma(Na(i,i>>>0>>0?e+1|0:e,31),A,-2048144761,-1640531535);m=A;i=Ma(g[b+8|0]|g[b+9|0]<<8|(g[b+10|0]<<16|g[b+11|0]<<24),g[b+12|0]|g[b+13|0]<<8|(g[b+14|0]<<16|g[b+15|0]<<24),668265295,-1028477379)+h|0;e=n+A|0;h=Ma(Na(i,i>>>0>>0?e+1|0:e,31),A,-2048144761,-1640531535);n=A;i=Ma(g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24),g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24),668265295,-1028477379)+j|0;e=o+A|0;j=Ma(Na(i,i>>>0>>0?e+1|0:e,31),A,-2048144761,-1640531535);o=A;b=b+32|0;if(b>>>0<=p>>>0){continue}break}f[a+32>>2]=c;f[a+36>>2]=k;f[a+24>>2]=d;f[a+28>>2]=m;f[a+16>>2]=h;f[a+20>>2]=n;f[a+8>>2]=j;f[a+12>>2]=o}if(b>>>0>=l>>>0){break a}h=l-b|0;L(a+40|0,b,h)}f[a+72>>2]=h}}function aa(a){var b=0,c=0,d=0,e=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=a+40|0;r=f[a+72>>2];n=d+r|0;b=f[a+4>>2];s=b;i=f[a>>2];a:{if(!b&i>>>0>=32|b>>>0>0){e=f[a+16>>2];h=f[a+20>>2];b=Na(e,h,7);l=A;c=f[a+12>>2];o=c;m=f[a+8>>2];j=Na(m,c,1);c=j+b|0;b=A+l|0;b=c>>>0>>0?b+1|0:b;l=f[a+24>>2];j=f[a+28>>2];k=Na(l,j,12);c=k+c|0;b=A+b|0;b=c>>>0>>0?b+1|0:b;k=f[a+32>>2];q=f[a+36>>2];p=Na(k,q,18);c=p+c|0;b=A+b|0;b=c>>>0

>>0?b+1|0:b;p=c;c=b;b=Ma(m,o,-2147483648,-1813351001);t=A;Ma(m,o,668265295,-1028477379);c=Ma(Ma(A>>>1|b,t,-2048144761,-1640531535)^p,A^c,-2048144761,-1640531535)+ -1028477341|0;b=A+ -2048144777|0;b=c>>>0<3266489955?b+1|0:b;o=Ma(e,h,-2147483648,-1813351001);m=A;Ma(e,h,668265295,-1028477379);c=Ma(Ma(A>>>1|o,m,-2048144761,-1640531535)^c,A^b,-2048144761,-1640531535)+ -1028477341|0;b=A+ -2048144777|0;e=c;c=c>>>0<3266489955?b+1|0:b;b=Ma(l,j,-2147483648,-1813351001);h=A;Ma(l,j,668265295,-1028477379);c=Ma(Ma(A>>>1|b,h,-2048144761,-1640531535)^e,A^c,-2048144761,-1640531535)+ -1028477341|0;b=A+ -2048144777|0;e=c;c=c>>>0<3266489955?b+1|0:b;b=Ma(k,q,-2147483648,-1813351001);h=A;Ma(k,q,668265295,-1028477379);b=Ma(Ma(A>>>1|b,h,-2048144761,-1640531535)^e,A^c,-2048144761,-1640531535)+ -1028477341|0;c=A+ -2048144777|0;e=b;b=b>>>0<3266489955?c+1|0:c;break a}b=f[a+28>>2]+668265263|0;c=f[a+24>>2]+374761413|0;if(c>>>0<374761413){b=b+1|0}e=c}b=b+s|0;c=e+i|0;if(c>>>0>>0){b=b+1|0}e=c;i=a+48|0;b:{if(n>>>0>>0){c=d;break b}while(1){c=b;h=g[d|0]|g[d+1|0]<<8|(g[d+2|0]<<16|g[d+3|0]<<24);b=g[d+4|0]|g[d+5|0]<<8|(g[d+6|0]<<16|g[d+7|0]<<24);Ma(h,b,668265295,-1028477379);b=Ma(Na(Ma(A>>>1|Ma(h,b,-2147483648,-1813351001),A,-2048144761,-1640531535)^e,A^c,27),A,-2048144761,-1640531535)+ -1028477341|0;c=A+ -2048144777|0;e=b;b=b>>>0<3266489955?c+1|0:c;c=i;d=c;i=c+8|0;if(i>>>0<=n>>>0){continue}break}}d=c+4|0;c:{if(d>>>0>n>>>0){d=c;break c}c=Ma(Na(Ma(g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24),0,-2048144761,-1640531535)^e,b^A,23),A,668265295,-1028477379)+ -1640531463|0;b=A+374761393|0;b=c>>>0<2654435833?b+1|0:b;e=c}if(d>>>0>>0){a=(a+r|0)+40|0;while(1){e=Ma(Na(Ma(g[d|0],0,374761413,668265263)^e,b^A,11),A,-2048144761,-1640531535);b=A;d=d+1|0;if((a|0)!=(d|0)){continue}break}}a=Ma(e^b>>>1,b,668265295,-1028477379);c=A;a=Ma(a^((c&536870911)<<3|a>>>29),c^c>>>29,-1640531463,374761393);d=A;A=d;return a^d}function Q(a,b,c,d){var e=0,h=0,i=0,j=0,k=0,l=0,m=0;f[a>>2]=0;f[a+4>>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;h=d?1:5;if(h>>>0>c>>>0){return h}if(!b){return-1}e=1;a:{b:{c:{d:{e:{f:{g:{h:{if((d|0)==1){d=b;if(c){break h}d=-72;break g}e=g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24);if((e|0)!=-47205080){break f}e=h;d=(b+h|0)+ -1|0}d=g[d|0];i=d>>>6|0;e=f[(i<<2)+4736>>2]+(f[((d&3)<<2)+4720>>2]+e|0)|0;d=(d&32)>>>5|0;d=(e+(d^1)|0)+(d&!i)|0}if(d>>>0>c>>>0){break a}f[a+24>>2]=d;d=-14;c=b+h|0;i=g[c+ -1|0];if(i&8){break a}k=i&32;if(!k){d=-16;c=g[c|0];if(c>>>0>167){break a}d=c&7;c=(c>>>3|0)+10|0;j=c&31;if(32<=(c&63)>>>0){e=1<>>32-j;c=1<>>3,e>>>3|0)+c|0;j=e+A|0;j=d>>>0>>0?j+1|0:j;l=d;h=h+1|0}m=i>>>6|0;e=i>>>2|0;d=0;switch((i&3)+ -1|0){case 2:break c;case 1:break d;case 0:break e;default:break b}}d=-10;if((e&-16)!=407710288){break a}d=8;if(c>>>0<8){break a}f[a+8>>2]=0;f[a+12>>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;b=g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24);f[a+20>>2]=1;f[a>>2]=b;f[a+4>>2]=0;return 0}d=g[b+h|0];h=h+1|0;break b}c=b+h|0;d=g[c|0]|g[c+1|0]<<8;h=h+2|0;break b}c=b+h|0;d=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);h=h+4|0}i=e&1;i:{j:{switch(m+ -1|0){default:e=-1;c=-1;if(!k){break i}e=g[b+h|0];c=0;break i;case 0:c=0;b=b+h|0;b=(g[b|0]|g[b+1|0]<<8)+256|0;if(b>>>0<256){c=1}e=b;break i;case 1:b=b+h|0;e=g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24);c=0;break i;case 2:break j}}b=b+h|0;e=g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24);c=g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24)}f[a+32>>2]=i;f[a+28>>2]=d;b=e;f[a>>2]=b;f[a+4>>2]=c;d=0;f[a+20>>2]=0;e=k?b:l;f[a+8>>2]=e;b=k?c:j;f[a+12>>2]=b;f[a+16>>2]=!b&e>>>0<131072|b>>>0<0?e:131072}return d}function Ha(a,b,c,e,f){var i=0,j=0,k=0,l=0,m=0,n=0,p=0;if(!e){return-72}a:{b:{c:{if(e>>>0>=4){j=g[(c+e|0)+ -1|0];i=-1;if(!j){break a}if(e>>>0<=4294967176){break c}return e}j=g[c|0];d:{switch(e+ -2|0){case 1:j=g[c+2|0]<<16|j;case 0:j=(g[c+1|0]<<8)+j|0;break;default:break d}}i=g[(c+e|0)+ -1|0];if(!i){return-20}i=((o(i)|-32)-(e<<3)|0)+41|0;break b}i=(o(j)|-32)+9|0;k=e+ -4|0;e=k+c|0;j=g[e|0]|g[e+1|0]<<8|(g[e+2|0]<<16|g[e+3|0]<<24)}m=f+4|0;n=a+b|0;e=h[f+2>>1];e:{f:{g:{h:{if(i>>>0>=33){f=0-e&31;break h}p=n+ -3|0;f=0-e&31;while(1){i:{if((k|0)>=4){j=i>>>3|0;l=0;e=i&7;break i}if(!k){l=n+ -2|0;k=0;e=i;break f}e=i>>>3|0;l=(c+k|0)-e>>>0>>0;j=l?k:e;e=i-(j<<3)|0}k=k-j|0;i=k+c|0;j=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);if(l|a>>>0>=p>>>0){break g}i=(j<<(e&31)>>>f<<2)+m|0;l=h[i>>1];d[a|0]=l;d[a+1|0]=l>>>8;a=g[i+3|0]+a|0;i=g[i+2|0]+e|0;e=(j<<(i&31)>>>f<<2)+m|0;l=h[e>>1];d[a|0]=l;d[a+1|0]=l>>>8;a=a+g[e+3|0]|0;i=i+g[e+2|0]|0;if(i>>>0<33){continue}break}}l=n+ -2|0;break e}l=n+ -2|0;if(e>>>0<=32){break f}i=e;break e}while(1){j:{if((k|0)>=4){i=e&7;j=e>>>3|0;e=0;break j}if(!k){k=0;i=e;break e}i=e;j=e>>>3|0;e=(c+k|0)-j>>>0>>0;j=e?k:j;i=i-(j<<3)|0}k=k-j|0;j=k+c|0;j=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);if(e|a>>>0>l>>>0){break e}e=(j<<(i&31)>>>f<<2)+m|0;p=h[e>>1];d[a|0]=p;d[a+1|0]=p>>>8;a=g[e+3|0]+a|0;e=g[e+2|0]+i|0;if(e>>>0<=32){continue}break}i=e}if(a>>>0<=l>>>0){while(1){c=(j<<(i&31)>>>f<<2)+m|0;e=h[c>>1];d[a|0]=e;d[a+1|0]=e>>>8;i=g[c+2|0]+i|0;a=g[c+3|0]+a|0;if(a>>>0<=l>>>0){continue}break}}k:{if(a>>>0>=n>>>0){break k}e=a;c=j<<(i&31)>>>f|0;a=(c<<2)+m|0;d[e|0]=g[a|0];if(g[a+3|0]==1){i=g[a+2|0]+i|0;break k}if(i>>>0>31){break k}a=g[((c<<2)+m|0)+2|0]+i|0;i=a>>>0<32?a:32}i=k?-20:(i|0)!=32?-20:b}return i}function P(a,b,c,d,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=z-16|0;z=p;a:{if(h>>>0<=3){f[p+12>>2]=0;L(p+12|0,d,h);a=P(a,b,c,p+12|0,4);k=a>>>0<4294967177?a>>>0>h>>>0?-20:a:a;break a}s=O(a,0,(f[b>>2]<<1)+2|0);j=g[d|0]|g[d+1|0]<<8|(g[d+2|0]<<16|g[d+3|0]<<24);a=j&15;k=-44;if(a>>>0>10){break a}f[c>>2]=a+5;c=d+h|0;r=c+ -4|0;t=c+ -7|0;u=c+ -5|0;c=4;h=j>>>4|0;q=a+6|0;m=32<>2];i=d;j=0;while(1){b:{c:{if(!l){a=j;break c}a=j;if((h&65535)==65535){while(1){d:{if(i>>>0>>0){h=(g[i+2|0]|g[i+3|0]<<8|(g[i+4|0]<<16|g[i+5|0]<<24))>>>c|0;i=i+2|0;break d}c=c+16|0;h=h>>>16|0}a=a+24|0;if((h&65535)==65535){continue}break}}l=h&3;if((l|0)==3){while(1){c=c+2|0;a=a+3|0;h=h>>>2|0;l=h&3;if((l|0)==3){continue}break}}a=a+l|0;k=-48;if(a>>>0>o>>>0){break a}c=c+2|0;e:{if(a>>>0<=j>>>0){a=j;break e}O((j<<1)+s|0,0,a-j<<1);while(1){j=j+1|0;if((j|0)!=(a|0)){continue}break}}j=(c>>3)+i|0;if(!(j>>>0>r>>>0?i>>>0>t>>>0:0)){c=c&7;h=(g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24))>>>c|0;break b}h=h>>>2|0}j=i}i=m+ -1&h;o=(m<<1)+ -1|0;l=o-n|0;k=q+ -1|0;f:{if(i>>>0>>0){break f}h=h&o;i=h-((h|0)<(m|0)?0:l)|0;k=q}l=k;h=i+ -1|0;e[(a<<1)+s>>1]=h;n=((i|0)<1?h:1-i|0)+n|0;if((n|0)<(m|0)){while(1){q=q+ -1|0;m=m>>1;if((n|0)<(m|0)){continue}break}}c=c+l|0;i=(c>>3)+j|0;g:{if(!(i>>>0>r>>>0?j>>>0>t>>>0:0)){c=c&7;break g}i=r;c=c+(j-i<<3)|0}if((n|0)>=2){l=!h;h=(g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24))>>>(c&31)|0;j=a+1|0;o=f[b>>2];if(j>>>0<=o>>>0){continue}}break}k=-20;if((n|0)!=1|(c|0)>32){break a}f[b>>2]=a;k=((c+7>>3)+i|0)-d|0}m=k;z=p+16|0;return m}function ga(a,b,c,e,f){var i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;if(!e){return-72}l=h[f+2>>1];a:{b:{c:{if(e>>>0>=4){j=g[(c+e|0)+ -1|0];i=-1;if(!j){break a}if(e>>>0<=4294967176){break c}return e}k=g[c|0];d:{switch(e+ -2|0){case 1:k=g[c+2|0]<<16|k;case 0:k=(g[c+1|0]<<8)+k|0;break;default:break d}}i=g[(c+e|0)+ -1|0];if(!i){return-20}i=((o(i)|-32)-(e<<3)|0)+41|0;e=0;break b}i=(o(j)|-32)+9|0;e=e+ -4|0;j=e+c|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24)}n=f+4|0;p=a+b|0;e:{f:{g:{if(i>>>0>=33){m=0-l&31;j=c+e|0;break g}q=p+ -3|0;m=0-l&31;h:{i:{j:{while(1){k:{if((e|0)>=4){k=i>>>3|0;l=0;f=i&7;break k}if(!e){e=0;j=c;f=i;break i}f=i>>>3|0;l=(c+e|0)-f>>>0>>0;k=l?e:f;f=i-(k<<3)|0}e=e-k|0;j=e+c|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);if(l|a>>>0>=q>>>0){break j}i=(k<<(f&31)>>>m<<1)+n|0;j=g[i+1|0];d[a|0]=g[i|0];f=f+j|0;i=(k<<(f&31)>>>m<<1)+n|0;j=g[i+1|0];d[a+1|0]=g[i|0];a=a+2|0;i=f+j|0;if(i>>>0<33){continue}break}j=c+e|0;break g}if(f>>>0>32){break h}}while(1){l:{if((e|0)>=4){k=f>>>3|0;l=0;i=f&7;break l}if(!e){break h}i=f>>>3|0;l=(c+e|0)-i>>>0>>0;k=l?e:i;i=f-(k<<3)|0}e=e-k|0;j=e+c|0;k=g[j|0]|g[j+1|0]<<8|(g[j+2|0]<<16|g[j+3|0]<<24);f=a>>>0>=p>>>0;if(!(l?0:!f)){if(!f){break f}break e}f=(k<<(i&31)>>>m<<1)+n|0;l=g[f+1|0];d[a|0]=g[f|0];a=a+1|0;f=i+l|0;if(f>>>0<=32){continue}break}}i=f}if(a>>>0>=p>>>0){break e}}while(1){e=(k<<(i&31)>>>m<<1)+n|0;f=g[e+1|0];d[a|0]=g[e|0];i=f+i|0;a=a+1|0;if((p|0)!=(a|0)){continue}break}}i=(i|0)!=32?-20:(c|0)!=(j|0)?-20:b}return i}function $(a,b,c,e,h,i){var j=0,k=0,l=0,m=0,n=0,p=0;m=z-784|0;z=m;j=-72;a:{if(!i){break a}k=d[h|0];l=k&255;b:{c:{if((k|0)<=-1){k=l+ -126>>>1|0;if(k>>>0>=i>>>0){break a}j=-20;l=l+ -127|0;if(l>>>0>=256){break a}if(!l){break b}h=h+1|0;i=0;while(1){j=h+(i>>>1|0)|0;d[a+i|0]=g[j|0]>>>4;d[(i|1)+a|0]=g[j|0]&15;i=i+2|0;if(i>>>0>>0){continue}break}j=l;l=k;break c}if(l>>>0>=i>>>0){break a}f[m+264>>2]=255;i=h+1|0;h=P(m+272|0,m+264|0,m+268|0,i,l);d:{if(h>>>0>4294967176){j=h;break d}j=-44;k=f[m+268>>2];if(k>>>0>6){break d}j=ra(m,m+272|0,f[m+264>>2],k);if(j>>>0>4294967176){break d}j=na(a,h+i|0,l-h|0,m)}if(j>>>0>4294967176){break a}}k=j;i=b;f[i>>2]=0;f[i+4>>2]=0;h=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;j=-20;if(!k){break a}i=0;while(1){p=a+i|0;n=g[p|0];if(n>>>0>11){break a}n=(n<<2)+b|0;f[n>>2]=f[n>>2]+1;h=(1<>1)+h|0;i=i+1|0;if((k|0)!=(i|0)){continue}break}if(!h|h>>>0>4095){break a}i=e;e=32-o(h)|0;f[i>>2]=e;e=(1<>2]=f[a>>2]+1;a=f[b+4>>2];if(a>>>0<2|a&1){break a}f[c>>2]=k+1;j=l+1|0;break a}f[b>>2]=0;f[b+4>>2]=0;f[b+48>>2]=0;f[b+40>>2]=0;f[b+44>>2]=0;f[b+32>>2]=0;f[b+36>>2]=0;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}z=m+784|0;return j}function U(a){var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=8;a:{b:{while(1){if(i+ -1&i){break b}i=i>>>0>8?i:8;d=f[1467];h=d;g=f[1466];j=g;a=a>>>0>8?a+3&-4:8;c:{if(a>>>0<=127){e=(a>>>3|0)+ -1|0;break c}b=o(a);e=((a>>>29-b^4)-(b<<2)|0)+110|0;if(a>>>0<=4095){break c}b=((a>>>30-b^2)-(b<<1)|0)+71|0;e=b>>>0<63?b:63}b=e;c=b&31;if(32<=(b&63)>>>0){b=0;c=d>>>c|0}else{b=d>>>c|0;c=((1<>>c}d=b;if(b|c){while(1){h=c;g=La(c,d);b=g;c=b&31;if(32<=(b&63)>>>0){b=0;h=d>>>c|0}else{b=d>>>c|0;h=((1<>>c}d=b;e=e+g|0;g=e<<4;b=f[g+4840>>2];j=g+4832|0;d:{if((b|0)!=(j|0)){c=T(b,i,a);if(c){break a}c=f[b+4>>2];f[c+8>>2]=f[b+8>>2];f[f[b+8>>2]+4>>2]=c;f[b+8>>2]=j;c=g+4836|0;f[b+4>>2]=f[c>>2];f[c>>2]=b;f[f[b+4>>2]+8>>2]=b;e=e+1|0;c=(d&1)<<31|h>>>1;d=d>>>1|0;break d}b=f[1467];f[1466]=f[1466]&Na(-2,-1,e);f[1467]=A&b;c=h^1}if(c|d){continue}break}g=f[1466];h=f[1467]}d=o(h);d=63-((d|0)==32?o(g)+32|0:d)<<4;b=d+4832|0;d=f[d+4840>>2];e:{if(!h&g>>>0<1073741824|h>>>0<0){break e}e=99;if((b|0)==(d|0)){break e}while(1){if(!e){break e}c=T(d,i,a);if(c){break a}e=e+ -1|0;d=f[d+8>>2];if((b|0)!=(d|0)){continue}break}d=b}if(Z(a+48|0)){continue}break}if((b|0)==(d|0)){break b}while(1){c=T(d,i,a);if(c){break a}d=f[d+8>>2];if((b|0)!=(d|0)){continue}break}}c=0}return c}function L(a,b,c){var e=0,h=0,i=0;if(c>>>0>=512){x(a|0,b|0,c|0)|0;return a}h=a+c|0;a:{if(!((a^b)&3)){b:{if((c|0)<1){c=a;break b}if(!(a&3)){c=a;break b}c=a;while(1){d[c|0]=g[b|0];b=b+1|0;c=c+1|0;if(c>>>0>=h>>>0){break b}if(c&3){continue}break}}e=h&-4;c:{if(e>>>0<64){break c}i=e+ -64|0;if(c>>>0>i>>>0){break c}while(1){f[c>>2]=f[b>>2];f[c+4>>2]=f[b+4>>2];f[c+8>>2]=f[b+8>>2];f[c+12>>2]=f[b+12>>2];f[c+16>>2]=f[b+16>>2];f[c+20>>2]=f[b+20>>2];f[c+24>>2]=f[b+24>>2];f[c+28>>2]=f[b+28>>2];f[c+32>>2]=f[b+32>>2];f[c+36>>2]=f[b+36>>2];f[c+40>>2]=f[b+40>>2];f[c+44>>2]=f[b+44>>2];f[c+48>>2]=f[b+48>>2];f[c+52>>2]=f[b+52>>2];f[c+56>>2]=f[b+56>>2];f[c+60>>2]=f[b+60>>2];b=b- -64|0;c=c- -64|0;if(c>>>0<=i>>>0){continue}break}}if(c>>>0>=e>>>0){break a}while(1){f[c>>2]=f[b>>2];b=b+4|0;c=c+4|0;if(c>>>0>>0){continue}break}break a}if(h>>>0<4){c=a;break a}e=h+ -4|0;if(e>>>0>>0){c=a;break a}c=a;while(1){d[c|0]=g[b|0];d[c+1|0]=g[b+1|0];d[c+2|0]=g[b+2|0];d[c+3|0]=g[b+3|0];b=b+4|0;c=c+4|0;if(c>>>0<=e>>>0){continue}break}}if(c>>>0>>0){while(1){d[c|0]=g[b|0];b=b+1|0;c=c+1|0;if((h|0)!=(c|0)){continue}break}}return a}function Fa(a,b,c){var d=0,e=0,h=0,i=0,j=0,k=0;d=z-128|0;z=d;k=-30;a:{if(c>>>0<9){break a}h=b+8|0;e=ea(a+10264|0,h,c+ -8|0,a,10264);if(e>>>0>4294967176){break a}f[d+124>>2]=31;e=e>>>0<4294967177?e+h|0:h;h=b+c|0;c=P(d,d+124|0,d+120|0,e,h-e|0);if(c>>>0>4294967176){break a}i=f[d+124>>2];if(i>>>0>31){break a}j=f[d+120>>2];if(j>>>0>=9){break a}R(a+4104|0,d,i,2256,2384,j);f[d+124>>2]=52;c=c+e|0;e=P(d,d+124|0,d+120|0,c,h-c|0);if(e>>>0>4294967176){break a}i=f[d+124>>2];if(i>>>0>52){break a}j=f[d+120>>2];if(j>>>0>=10){break a}R(a+6160|0,d,i,2512,2736,j);f[d+124>>2]=35;c=c+e|0;e=P(d,d+124|0,d+120|0,c,h-c|0);if(e>>>0>4294967176){break a}i=f[d+124>>2];if(i>>>0>35){break a}j=f[d+120>>2];if(j>>>0>=10){break a}R(a,d,i,2960,3104,j);c=c+e|0;e=c+12|0;if(e>>>0>h>>>0){break a}i=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);h=h-e|0;if(i+ -1>>>0>=h>>>0){break a}f[a+26652>>2]=i;e=g[c+4|0]|g[c+5|0]<<8|(g[c+6|0]<<16|g[c+7|0]<<24);if(e+ -1>>>0>=h>>>0){break a}f[a+26656>>2]=e;c=c+4|0;e=g[c+4|0]|g[c+5|0]<<8|(g[c+6|0]<<16|g[c+7|0]<<24);if(e+ -1>>>0>=h>>>0){break a}f[a+26660>>2]=e;k=(c-b|0)+8|0}z=d+128|0;return k}function Da(a,b,c){var d=0,e=0,h=0,i=0,j=0,k=0,m=0;h=z-48|0;z=h;a:{if(!(((g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24))&-16)!=407710288|c>>>0<8)){b=g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24);f[a+8>>2]=0;f[a+12>>2]=0;f[a+4>>2]=0;j=a;a=b+8|0;f[j>>2]=b>>>0>4294967287?-14:a>>>0>c>>>0?-72:a;break a}j=a;d=Q(h+8|0,b,c,0);b:{if(d>>>0>=4294967177){f[a>>2]=d;a=-2;b=-1;break b}if(d){f[a>>2]=-72;a=-2;b=-1;break b}d=f[h+32>>2];c=c-d|0;d=b+d|0;c:{while(1){if(c>>>0<3){e=-72;break c}e=-20;d:{e:{i=g[d|0]|g[d+1|0]<<8;k=i>>>1&3;switch(k+ -1|0){case 2:break c;case 0:break d;default:break e}}k=(g[d+2|0]<<16|i)>>>3|0}e=k+3|0;if(c>>>0>>0){f[a>>2]=-72;a=-2;b=-1;break b}m=m+1|0;c=c-e|0;d=d+e|0;if(!(i&1)){continue}break}if(f[h+40>>2]){if(c>>>0<=3){f[a>>2]=-72;a=-2;b=-1;break b}d=d+4|0}i=f[h+24>>2];c=f[h+8>>2];e=f[h+12>>2];f[a+4>>2]=0;f[a>>2]=d-b;b=(c|0)==-1&(e|0)==-1;a=b?l(i,m):c;b=b?0:e;break b}f[a>>2]=e;a=-2;b=-1}f[j+8>>2]=a;f[j+12>>2]=b}z=h+48|0}function R(a,b,c,g,i,j){var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;s=z-112|0;q=a+8|0;p=1<>2]=j;f[a>>2]=1;break a}r=65536<>16;t=p+ -1|0;m=t;l=1;while(1){u=k<<1;n=h[u+b>>1];b:{if((n|0)==65535){f[((m<<3)+q|0)+4>>2]=k;m=m+ -1|0;n=1;break b}l=(r|0)>n<<16>>16?l:0}e[s+u>>1]=n;n=(c|0)!=(k|0);k=k+1|0;if(n){continue}break}f[a+4>>2]=j;f[a>>2]=l;if((c|0)==-1){break a}n=((p>>>3)+(p>>>1)|0)+3|0;k=0;l=0;while(1){a=e[(l<<1)+b>>1];if((a|0)>=1){a=a&65535;r=a>>>0>1?a:1;a=0;while(1){f[((k<<3)+q|0)+4>>2]=l;while(1){k=k+n&t;if(k>>>0>m>>>0){continue}break}a=a+1|0;if((r|0)!=(a|0)){continue}break}}a=(c|0)==(l|0);l=l+1|0;if(!a){continue}break}}c=p>>>0>1?p:1;j=j+1|0;m=0;while(1){a=(m<<3)+q|0;l=f[a+4>>2];k=(l<<1)+s|0;b=h[k>>1];e[k>>1]=b+1;k=j+(o(b)^-32)|0;d[a+3|0]=k;e[a>>1]=(b<<(k&255))-p;b=l<<2;d[a+2|0]=f[b+i>>2];f[a+4>>2]=f[b+g>>2];m=m+1|0;if((c|0)!=(m|0)){continue}break}}function X(a,b,c,e){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=z-16|0;z=k;f[k+12>>2]=0;f[k+8>>2]=0;h=-44;n=e- -64|0;b=$(n,e,k+8|0,k+12|0,b,c);a:{b:{if(b>>>0>4294967176){break b}j=1;c=f[k+12>>2];i=f[a>>2];if(c>>>0>(i&255)+1>>>0){break a}f[a>>2]=i&-16776961|c<<16&16711680;if(c+1>>>0>=2){h=0;while(1){i=(j<<2)+e|0;m=f[i>>2];f[i>>2]=h;h=(m<>2];if(!o){break b}m=a+4|0;p=c+1|0;h=0;while(1){j=g[h+n|0];a=(j<<2)+e|0;i=a;c=f[a>>2];a=1<>1;l=c+a|0;f[i>>2]=l;i=p-j|0;c:{if(a>>>0>=4){if(c>>>0>=l>>>0){break c}while(1){a=m+(c<<1)|0;d[a+1|0]=i;d[a|0]=h;d[a+3|0]=i;d[a+2|0]=h;d[a+5|0]=i;d[a+4|0]=h;d[a+7|0]=i;d[a+6|0]=h;c=c+4|0;if(c>>>0>>0){continue}break}break c}j=0;if(!a){break c}while(1){l=m+(c+j<<1)|0;d[l+1|0]=i;d[l|0]=h;j=j+1|0;if((a|0)!=(j|0)){continue}break}}h=h+1|0;if((o|0)!=(h|0)){continue}break}}h=b}z=k+16|0;return h}function Ba(a,b,c){var d=0,e=0,h=0;f[a+28792>>2]=0;f[a+28796>>2]=0;f[a+28728>>2]=0;f[a+28732>>2]=0;f[a+28952>>2]=0;f[a+28808>>2]=0;f[a+28812>>2]=0;f[a+28800>>2]=3;f[a+28804>>2]=0;d=a+28736|0;f[d>>2]=0;f[d+4>>2]=0;d=a+10280|0;f[d>>2]=201326604;f[a+28744>>2]=f[a+28908>>2]?1:5;f[a+12>>2]=d;f[a+8>>2]=a+4120;f[a+4>>2]=a+6176;f[a>>2]=a+16;h=f[813];d=a+26668|0;f[d>>2]=f[812];f[d+4>>2]=h;f[a+26676>>2]=f[814];a:{b:{if(!b|!c){break b}if((g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24))!=-332356553|c>>>0<=7){break a}f[a+28952>>2]=g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24);e=-30;d=Fa(a+16|0,b,c);if(d>>>0>4294967176){break b}f[a+28808>>2]=1;f[a+28812>>2]=1;e=f[a+28728>>2];f[a+28740>>2]=e;h=f[a+28732>>2];b=d>>>0<4294967177?b+d|0:b;f[a+28732>>2]=b;f[a+28728>>2]=b+(c-d|0);f[a+28736>>2]=b+(h-e|0);e=0}return e}f[a+28736>>2]=b;f[a+28740>>2]=0;f[a+28732>>2]=b;f[a+28728>>2]=b+c;return 0}function ra(a,b,c,f){var i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=z-512|0;z=n;j=-46;a:{if(c>>>0>255){break a}j=-44;if(f>>>0>12){break a}p=a+4|0;q=65536<>16;m=1<>1];b:{if((l|0)==65535){d[((k<<2)+p|0)+2|0]=i;k=k+ -1|0;l=1;break b}j=(q|0)>l<<16>>16?j:0}e[n+s>>1]=l;l=(c|0)!=(i|0);i=i+1|0;if(l){continue}break}e[a+2>>1]=j;e[a>>1]=f;l=((m>>>3)+(m>>>1)|0)+3|0;i=0;j=0;while(1){a=e[(j<<1)+b>>1];if((a|0)>=1){a=a&65535;q=a>>>0>1?a:1;a=0;while(1){d[((i<<2)+p|0)+2|0]=j;while(1){i=i+l&r;if(i>>>0>k>>>0){continue}break}a=a+1|0;if((q|0)!=(a|0)){continue}break}}a=(c|0)!=(j|0);j=j+1|0;if(a){continue}break}j=-1;if(i){break a}c=m>>>0>1?m:1;f=f+1|0;j=0;i=0;while(1){b=(i<<2)+p|0;k=(g[b+2|0]<<1)+n|0;a=h[k>>1];e[k>>1]=a+1;k=f+(o(a)^-32)|0;d[b+3|0]=k;e[b>>1]=(a<<(k&255))-m;i=i+1|0;if((c|0)!=(i|0)){continue}break}}z=n+512|0;return j}function T(a,b,c){var d=0,e=0,g=0,h=0;e=a+4|0;d=(e+b|0)+ -1&0-b;b=f[a>>2];if(d+c>>>0<=(b+a|0)+ -4>>>0){g=f[a+4>>2];f[g+8>>2]=f[a+8>>2];f[f[a+8>>2]+4>>2]=g;if((e|0)!=(d|0)){d=d-e|0;g=f[a+ -4>>2];g=a-(g>>31^g)|0;e=d+f[g>>2]|0;f[g>>2]=e;f[(g+(e&-4)|0)+ -4>>2]=e;a=a+d|0;b=b-d|0;f[a>>2]=b}a:{if(c+24>>>0<=b>>>0){e=(a+c|0)+8|0;b=b-c|0;d=b+ -8|0;f[e>>2]=d;f[(e+(d&-4)|0)+ -4>>2]=7-b;h=e;g=f[e>>2]+ -8|0;b:{if(g>>>0<=127){d=(g>>>3|0)+ -1|0;break b}b=o(g);d=((g>>>29-b^4)-(b<<2)|0)+110|0;if(g>>>0<=4095){break b}b=((g>>>30-b^2)-(b<<1)|0)+71|0;d=b>>>0<63?b:63}b=d;d=b<<4;f[h+4>>2]=d+4832;d=d+4840|0;f[e+8>>2]=f[d>>2];f[d>>2]=e;f[f[e+8>>2]+4>>2]=e;d=f[1467];e=b&31;if(32<=(b&63)>>>0){b=1<>>32-e;h=1<>2]=b;f[((b&-4)+a|0)+ -4>>2]=b;break a}f[(a+b|0)+ -4>>2]=b}a=a+4|0}else{a=0}return a}function Z(a){var b=0,c=0,d=0,e=0,g=0,h=0;d=oa(a);if((d|0)>=1){c=16;e=a+d|0;b=e+ -16|0;f[b+12>>2]=16;f[b>>2]=16;a=f[1464];a:{b:{if(!(!a|f[a+8>>2]!=(d|0))){c=f[d+ -4>>2];h=d-(c>>31^c)|0;g=f[h+ -4>>2];f[a+8>>2]=e;c=-16;a=h-(g>>31^g)|0;if(f[(a+f[a>>2]|0)+ -4>>2]>-1){break b}c=f[a+4>>2];f[c+8>>2]=f[a+8>>2];f[f[a+8>>2]+4>>2]=c;b=b-a|0;f[a>>2]=b;break a}f[d+12>>2]=16;f[d>>2]=16;f[d+8>>2]=e;f[d+4>>2]=a;f[1464]=d}a=c+d|0;b=b-a|0;f[a>>2]=b}f[((b&-4)+a|0)+ -4>>2]=b^-1;h=a;e=f[a>>2]+ -8|0;c:{if(e>>>0<=127){b=(e>>>3|0)+ -1|0;break c}g=o(e);b=((e>>>29-g^4)-(g<<2)|0)+110|0;if(e>>>0<=4095){break c}b=((e>>>30-g^2)-(g<<1)|0)+71|0;b=b>>>0<63?b:63}c=b<<4;f[h+4>>2]=c+4832;c=c+4840|0;f[a+8>>2]=f[c>>2];f[c>>2]=a;f[f[a+8>>2]+4>>2]=a;c=f[1467];a=b&31;if(32<=(b&63)>>>0){b=1<>>32-a;a=1<0}function za(a,b,c,d){var e=0,h=0,i=0,j=0;j=-72;a:{b:{if(!d){break b}h=g[c|0];if(!h){break a}e=h<<24>>24;i=c+1|0;c:{if((e|0)>-1){break c}if((e|0)==-1){if((d|0)<3){break b}h=(g[c+1|0]|g[c+2|0]<<8)+32512|0;i=c+3|0;break c}if((d|0)<2){break b}h=(g[c+1|0]|h<<8)+ -32768|0;i=c+2|0}f[b>>2]=h;b=i+1|0;d=c+d|0;if(b>>>0>d>>>0){break b}j=-20;i=g[i|0];e=V(a+16|0,a,i>>>6|0,35,9,b,d-b|0,2960,3104,3264,f[a+28812>>2],f[a+28956>>2],h);if(e>>>0>4294967176){break b}b=e>>>0<4294967177?b+e|0:b;e=V(a+4120|0,a+8|0,i>>>4&3,31,8,b,d-b|0,2256,2384,3792,f[a+28812>>2],f[a+28956>>2],h);if(e>>>0>4294967176){break b}b=e>>>0<4294967177?b+e|0:b;a=V(a+6176|0,a+4|0,i>>>2&3,52,9,b,d-b|0,2512,2736,4064,f[a+28812>>2],f[a+28956>>2],h);if(a>>>0>4294967176){break b}j=(a+b|0)-c|0}return j}f[b>>2]=0;return(d|0)==1?1:-72}function N(a,b,c){var e=0;a:{if((a|0)==(b|0)){break a}if((b-a|0)-c>>>0<=0-(c<<1)>>>0){return L(a,b,c)}e=(a^b)&3;b:{c:{if(a>>>0>>0){if(e){e=a;break b}if(!(a&3)){e=a;break c}e=a;while(1){if(!c){break a}d[e|0]=g[b|0];b=b+1|0;c=c+ -1|0;e=e+1|0;if(e&3){continue}break}break c}d:{if(e){break d}if(a+c&3){while(1){if(!c){break a}c=c+ -1|0;e=c+a|0;d[e|0]=g[b+c|0];if(e&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c+ -4|0;f[c+a>>2]=f[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c+ -1|0;d[c+a|0]=g[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){f[e>>2]=f[b>>2];b=b+4|0;e=e+4|0;c=c+ -4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){d[e|0]=g[b|0];e=e+1|0;b=b+1|0;c=c+ -1|0;if(c){continue}break}}return a}function O(a,b,c){var e=0,g=0,h=0,i=0;a:{if(!c){break a}e=a+c|0;d[e+ -1|0]=b;d[a|0]=b;if(c>>>0<3){break a}d[e+ -2|0]=b;d[a+1|0]=b;d[e+ -3|0]=b;d[a+2|0]=b;if(c>>>0<7){break a}d[e+ -4|0]=b;d[a+3|0]=b;if(c>>>0<9){break a}e=0-a&3;g=e+a|0;b=l(b&255,16843009);f[g>>2]=b;c=c-e&-4;e=c+g|0;f[e+ -4>>2]=b;if(c>>>0<9){break a}f[g+8>>2]=b;f[g+4>>2]=b;f[e+ -8>>2]=b;f[e+ -12>>2]=b;if(c>>>0<25){break a}f[g+24>>2]=b;f[g+20>>2]=b;f[g+16>>2]=b;f[g+12>>2]=b;f[e+ -16>>2]=b;f[e+ -20>>2]=b;f[e+ -24>>2]=b;f[e+ -28>>2]=b;i=g&4|24;c=c-i|0;if(c>>>0<32){break a}e=b;h=b;b=g+i|0;while(1){f[b+24>>2]=h;f[b+28>>2]=e;f[b+16>>2]=h;f[b+20>>2]=e;f[b+8>>2]=h;f[b+12>>2]=e;f[b>>2]=h;f[b+4>>2]=e;b=b+32|0;c=c+ -32|0;if(c>>>0>31){continue}break}}return a}function M(a){var b=0,c=0,d=0,e=0,g=0;if(a){c=a+ -4|0;e=f[c>>2];d=e;b=c;g=f[a+ -8>>2];if((g|0)<=-1){a=c+g|0;b=f[a+5>>2];f[b+8>>2]=f[a+9>>2];f[f[a+9>>2]+4>>2]=b;d=e+(g^-1)|0;b=a+1|0}a=c+e|0;c=f[a>>2];if((c|0)!=f[(a+c|0)+ -4>>2]){e=f[a+4>>2];f[e+8>>2]=f[a+8>>2];f[f[a+8>>2]+4>>2]=e;d=c+d|0}f[b>>2]=d;f[((d&-4)+b|0)+ -4>>2]=d^-1;g=b;d=f[b>>2]+ -8|0;a:{if(d>>>0<=127){a=(d>>>3|0)+ -1|0;break a}e=o(d);a=((d>>>29-e^4)-(e<<2)|0)+110|0;if(d>>>0<=4095){break a}a=((d>>>30-e^2)-(e<<1)|0)+71|0;a=a>>>0<63?a:63}c=a<<4;f[g+4>>2]=c+4832;c=c+4840|0;f[b+8>>2]=f[c>>2];f[c>>2]=b;f[f[b+8>>2]+4>>2]=b;c=f[1467];b=a&31;if(32<=(a&63)>>>0){a=1<>>32-b;b=1<>2]=h;s=-1;a:{b:{switch(c|0){case 1:if(!k){s=-72;break a}s=-20;c=g[j|0];if(c>>>0>h>>>0){break a}c=c<<2;h=f[c+m>>2];c=f[c+l>>2];d[a+11|0]=0;f[a>>2]=0;f[a+4>>2]=0;f[a+12>>2]=c;d[a+10|0]=h;e[a+8>>1]=0;f[b>>2]=a;s=1;break a;case 0:f[b>>2]=n;s=0;break a;case 3:if(!o){s=-20;break a}s=0;if(!p|(q|0)<25){break a}a=(8<>>0>>0){continue}break}break a;case 2:break b;default:break a}}s=-20;c=P(r,r+124|0,r+120|0,j,k);if(c>>>0>4294967176){break a}h=f[r+120>>2];if(h>>>0>i>>>0){break a}R(a,r,f[r+124>>2],l,m,h);f[b>>2]=a;s=c}z=r+128|0;return s}function Ia(a){var b=0;b=1047;a:{switch(a|0){case 1:return 1065;case 10:return 1081;case 12:return 1106;case 14:return 1128;case 16:return 1156;case 20:return 1200;case 22:return 1225;case 40:return 1262;case 42:return 1284;case 62:return 1310;case 64:return 1339;case 66:return 1376;case 60:return 1413;case 44:return 1466;case 46:return 1514;case 48:return 1555;case 30:return 1593;case 32:return 1617;case 34:return 1637;case 70:return 1684;case 72:return 1716;case 74:return 1738;case 100:return 1775;case 102:return 1800;case 104:return 1843;default:b=1024;break;case 0:break a}}return b}function Ea(a){var b=0,d=0,e=0,g=0,h=0,i=0;a:{b:{if(!a){break b}b=-64;if(f[a+28936>>2]){break a}g=f[a+28924>>2];d=f[a+28920>>2];b=f[a+28944>>2];c:{if(!b){break c}h=f[b+26692>>2];e=f[b+26688>>2];d:{e:{i=f[b>>2];if(i){if(!e){break e}c[e|0](h,i);c[e|0](h,b);break c}if(!e){break d}c[e|0](h,b);break c}M(i)}M(b)}f[a+28960>>2]=0;f[a+28944>>2]=0;f[a+28948>>2]=0;f:{g:{b=f[a+28968>>2];if(b){if(!d){break g}c[d|0](g,b);f[a+28968>>2]=0;c[d|0](g,a);break b}f[a+28968>>2]=0;if(!d){break f}c[d|0](g,a);break b}M(b)}M(a)}b=0}return b}function Ga(a,b,c,d,e,g){var h=0,i=0,j=0;if(!c){return-70}if(!e){return-20}i=c>>>8|0;h=l(e>>>0>>0?(e<<4>>>0)/(c>>>0)|0:15,24);j=l(i,f[h+1884>>2])+f[h+1880>>2]|0;a:{if(j+(j>>>3|0)>>>0>2]+l(f[h+1876>>2],i)>>>0){g=ea(a,d,e,g,2048);if(g>>>0>4294967176){return g}h=-72;if(g>>>0>=e>>>0){break a}return da(b,c,d+g|0,e-g|0,a)}g=X(a,d,e,g);if(g>>>0>4294967176){return g}h=-72;if(g>>>0>=e>>>0){break a}h=fa(b,c,d+g|0,e-g|0,a)}return h}function ya(){var a=0,b=0;a=U(160168);if(!a){return 0}f[a+28924>>2]=0;f[a+28916>>2]=0;f[a+28920>>2]=0;f[a+28980>>2]=134217729;f[a+28936>>2]=0;f[a+28908>>2]=0;f[a+28948>>2]=0;f[a+160164>>2]=0;f[a+29004>>2]=0;f[a+29008>>2]=0;f[a+28988>>2]=0;f[a+28740>>2]=0;f[a+29020>>2]=0;f[a+29024>>2]=0;f[a+28940>>2]=0;f[a+28944>>2]=0;f[a+28956>>2]=0;f[a+28960>>2]=0;b=a+28964|0;f[b>>2]=0;f[b+4>>2]=0;f[a+28972>>2]=0;return a|0}function Na(a,b,c){var d=0,e=0,f=0,g=0;g=c&63;f=g;d=f&31;if(32<=f>>>0){d=-1>>>d|0}else{e=-1>>>d|0;d=(1<>>d}f=d&a;d=b&e;e=g&31;if(32<=g>>>0){d=f<>>32-e|d<>>0){d=-1<>>32-c|-1<>>0){c=0;a=d>>>b|0}else{c=d>>>b|0;a=((1<>>b}a=a|g;A=c|f;return a} - - - -function ua(a){a=a|0;var b=0,d=0,e=0,g=0;f[a+29020>>2]=0;f[a+28964>>2]=0;b=f[a+28944>>2];a:{if(!b){break a}e=f[b+26692>>2];d=f[b+26688>>2];b:{c:{g=f[b>>2];if(g){if(!d){break c}c[d|0](e,g);c[d|0](e,b);break a}if(!d){break b}c[d|0](e,b);break a}M(g)}M(b)}f[a+28960>>2]=0;f[a+28944>>2]=0;f[a+28948>>2]=0;return(f[a+28908>>2]?1:5)|0}function ta(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;i=z-32|0;z=i;f[i+20>>2]=c;f[i+16>>2]=b;f[i+24>>2]=f[d>>2];f[i+4>>2]=g;f[i>>2]=e;f[i+8>>2]=f[h>>2];a=_(a,i+16|0,i);f[d>>2]=f[i+24>>2];f[h>>2]=f[i+8>>2];z=i+32|0;return a|0}function Ka(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=l(e,f);g=c&65535;h=a&65535;i=l(g,h);f=(i>>>16|0)+l(f,g)|0;e=(f&65535)+l(e,h)|0;a=(l(b,c)+j|0)+l(a,d)+(f>>>16)+(e>>>16)|0;b=i&65535|e<<16;A=a;return b}function oa(a){var b=0,c=0;b=f[1204];c=a+3&-4;a=b+c|0;a:{if(a>>>0<=b>>>0?(c|0)>=1:0){break a}if(a>>>0>B()<<16>>>0){if(!(y(a|0)|0)){break a}}f[1204]=a;return b}f[1468]=48;return-1}function La(a,b){var c=0,d=0;if(a|b){d=b+ -1|0;c=a+ -1|0;if((c|0)!=-1){d=d+1|0}c=o(a^c)+32|0;a=o(b^d);a=(a|0)==32?c:a;b=63-a|0;A=0-(63>>0)|0;return b}A=0;return 64}function sa(){var a=0,b=0,c=0;while(1){b=a<<4;c=b+4832|0;f[b+4836>>2]=c;f[b+4840>>2]=c;a=a+1|0;if((a|0)!=64){continue}break}Z(48)}function ha(a){a=a|0;return Ia(a>>>0<4294967177?0:0-a|0)|0}function ia(a){a=a|0;return a>>>0>4294967176|0}function ka(a){a=a|0;a=z-a&-16;z=a;return a|0}function Ma(a,b,c,d){a=Ka(a,b,c,d);return a}function xa(a){a=a|0;return Ea(a)|0}function qa(a){a=a|0;return U(a)|0}function ja(a){a=a|0;return u()|0}function Y(a){a=a|0;return a|0}function wa(){return 131075}function va(){return 131072}function pa(a){a=a|0;M(a)}function ma(){return z|0}function la(a){a=a|0;z=a}function Ja(){sa()} -// EMSCRIPTEN_END_FUNCS -function B(){return buffer.byteLength/65536|0}return{"e":Ja,"f":qa,"g":pa,"h":Y,"i":Y,"j":ia,"k":ha,"l":ya,"m":xa,"n":wa,"o":va,"p":ua,"q":_,"r":ta,"s":ma,"t":la,"u":ka,"v":ja}}var C=new Uint8Array(wasmMemory.buffer);for(var D=new Uint8Array(123),E=25;E>=0;--E){D[48+E]=52+E;D[65+E]=E;D[97+E]=26+E}D[43]=62;D[47]=63;function F(uint8Array,offset,b64){var G,H,E=0,I=offset,J=b64.length,K=offset+(J*3>>2)-(b64[J-2]=="=")-(b64[J-1]=="=");for(;E>4;if(I>2;if(I=n){var Q=d.charCodeAt(++v);n=65536+((n&1023)<<10)|Q&1023}if(127>=n){if(h>=g)break;k[h++]=n}else{if(2047>=n){if(h+1>=g)break;k[h++]=192|n>>6}else{if(65535>=n){if(h+2>=g)break;k[h++]=224|n>>12}else{if(h+3>=g)break;k[h++]=240|n>>18;k[h++]=128|n>>12&63}k[h++]=128|n>>6&63}k[h++]=128|n&63}}k[h]= -0}}return f},array:function(d){var f=ra(d.length);M.set(d,f);return f}},p=pa(a),u=[];a=0;if(l)for(var r=0;r=g);)++h;if(16k?g+=String.fromCharCode(k):(k-=65536,g+=String.fromCharCode(55296|k>>10,56320|k&1023))}}else g+=String.fromCharCode(k)}d=g}}else d="";else d="boolean"===c?!!d:d;return d}(e);0!==a&&ua(a);return e}var ta="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0,N,M,L,va,O,wa,xa,ha=b.INITIAL_MEMORY||140247040;b.wasmMemory?I=b.wasmMemory:I=new fa;I&&(N=I.buffer);ha=N.byteLength;var P=N;N=P;b.HEAP8=M=new Int8Array(P);b.HEAP16=va=new Int16Array(P);b.HEAP32=O=new Int32Array(P); -b.HEAPU8=L=new Uint8Array(P);b.HEAPU16=new Uint16Array(P);b.HEAPU32=new Uint32Array(P);b.HEAPF32=wa=new Float32Array(P);b.HEAPF64=xa=new Float64Array(P);var ya=[],za=[],Aa=[],Ba=[];function Ca(){var a=b.preRun.shift();ya.unshift(a)}Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,c){var e=a&65535,l=c&65535;return e*l+((a>>>16)*l+e*(c>>>16)<<16)|0});if(!Math.fround){var Da=new Float32Array(1);Math.fround=function(a){Da[0]=a;return Da[0]}} -Math.clz32||(Math.clz32=function(a){var c=32,e=a>>16;e&&(c-=16,a=e);if(e=a>>8)c-=8,a=e;if(e=a>>4)c-=4,a=e;if(e=a>>2)c-=2,a=e;return a>>1?c-2:c-a});Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});var Ea=Math.abs,Fa=Math.ceil,Ga=Math.floor,Ha=Math.min,R=0,Ia=null,S=null;b.preloadedImages={};b.preloadedAudios={};function F(a){if(b.onAbort)b.onAbort(a);G(a);oa=!0;a=new na("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ba(a);throw a;} -function T(a,c){return String.prototype.startsWith?a.startsWith(c):0===a.indexOf(c)}var U="data:application/octet-stream;base64,",V="zstdec.wasm";if(!T(V,U)){var Ja=V;V=b.locateFile?b.locateFile(Ja,z):z+Ja}function Ka(){try{if(H)return new Uint8Array(H);var a=E(V);if(a)return a;if(C)return C(V);throw"both async and sync fetching of the wasm failed";}catch(c){F(c)}} -function La(){return H||!w&&!x||"function"!==typeof fetch||T(V,"file://")?Promise.resolve().then(Ka):fetch(V,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+V+"'";return a.arrayBuffer()}).catch(function(){return Ka()})}var W,Ma;function X(a){for(;0>4; -m=(m&15)<<4|p>>2;var r=(p&3)<<6|u;c+=String.fromCharCode(l);64!==p&&(c+=String.fromCharCode(m));64!==u&&(c+=String.fromCharCode(r))}while(e>0]=c;break;case "i8":M[a>>0]=c;break;case "i16":va[a>>1]=c;break;case "i32":O[a>>2]=c;break;case "i64":Ma=[c>>>0,(W=c,1<=+Ea(W)?0>>0:~~+Fa((W-+(~~W>>>0))/4294967296)>>>0:0)];O[a>>2]=Ma[0];O[a+4>>2]=Ma[1];break;case "float":wa[a>>2]=c;break;case "double":xa[a>>3]=c;break;default:F("invalid type for setValue: "+e)}}; -b.getValue=function(a,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":return M[a>>0];case "i8":return M[a>>0];case "i16":return va[a>>1];case "i32":return O[a>>2];case "i64":return O[a>>2];case "float":return wa[a>>2];case "double":return xa[a>>3];default:F("invalid type for getValue: "+c)}return null};var Z;S=function Ra(){Z||Sa();Z||(S=Ra)}; -function Sa(){function a(){if(!Z&&(Z=!0,b.calledRun=!0,!oa)){X(za);X(Aa);aa(b);if(b.onRuntimeInitialized)b.onRuntimeInitialized();if(b.postRun)for("function"==typeof b.postRun&&(b.postRun=[b.postRun]);b.postRun.length;){var c=b.postRun.shift();Ba.unshift(c)}X(Ba)}}if(!(0