-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathencoderWorker.min.js
309 lines (305 loc) · 455 KB
/
encoderWorker.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
var d;d||(d=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var g={},m;for(m in d)d.hasOwnProperty(m)&&(g[m]=d[m]);var aa="object"===typeof window,ba="function"===typeof importScripts,ca="object"===typeof process&&"function"===typeof require&&!aa&&!ba,da=!aa&&!ca&&!ba;
if(ca){d.print||(d.print=function(a){process.stdout.write(a+"\n")});d.printErr||(d.printErr=function(a){process.stderr.write(a+"\n")});var ea=require("fs"),fa=require("path");d.read=function(a,b){a=fa.normalize(a);var c=ea.readFileSync(a);c||a==fa.resolve(a)||(a=path.join(__dirname,"..","src",a),c=ea.readFileSync(a));c&&!b&&(c=c.toString());return c};d.readBinary=function(a){a=d.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};d.load=function(a){ga(read(a))};d.thisProgram||(d.thisProgram=
1<process.argv.length?process.argv[1].replace(/\\/g,"/"):"unknown-program");d.arguments=process.argv.slice(2);"undefined"!==typeof module&&(module.exports=d);process.on("uncaughtException",function(a){if(!(a instanceof t))throw a;});d.inspect=function(){return"[Emscripten Module object]"}}else if(da)d.print||(d.print=print),"undefined"!=typeof printErr&&(d.printErr=printErr),d.read="undefined"!=typeof read?read:function(){throw"no read() available (jsc?)";},d.readBinary=function(a){if("function"===
typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");assert("object"===typeof a);return a},"undefined"!=typeof scriptArgs?d.arguments=scriptArgs:"undefined"!=typeof arguments&&(d.arguments=arguments),eval("if (typeof gc === 'function' && gc.toString().indexOf('[native code]') > 0) var gc = undefined");else if(aa||ba)d.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},"undefined"!=typeof arguments&&(d.arguments=arguments),"undefined"!==
typeof console?(d.print||(d.print=function(a){console.log(a)}),d.printErr||(d.printErr=function(a){console.log(a)})):d.print||(d.print=function(){}),ba&&(d.load=importScripts),"undefined"===typeof d.setWindowTitle&&(d.setWindowTitle=function(a){document.title=a});else throw"Unknown runtime environment. Where are we?";function ga(a){eval.call(null,a)}!d.load&&d.read&&(d.load=function(a){ga(d.read(a))});d.print||(d.print=function(){});d.printErr||(d.printErr=d.print);d.arguments||(d.arguments=[]);
d.thisProgram||(d.thisProgram="./this.program");d.print=d.print;d.W=d.printErr;d.preRun=[];d.postRun=[];for(m in g)g.hasOwnProperty(m)&&(d[m]=g[m]);
var w={Ba:function(a){ha=a},sa:function(){return ha},I:function(){return u},r:function(a){u=a},ea:function(a){switch(a){case "i1":case "i8":return 1;case "i16":return 2;case "i32":return 4;case "i64":return 8;case "float":return 4;case "double":return 8;default:return"*"===a[a.length-1]?w.J:"i"===a[0]?(a=parseInt(a.substr(1)),assert(0===a%8),a/8):0}},ra:function(a){return Math.max(w.ea(a),w.J)},Ca:16,Pa:function(a,b){"double"===b||"i64"===b?a&7&&(assert(4===(a&7)),a+=4):assert(0===(a&3));return a},
Ja:function(a,b,c){return c||"i64"!=a&&"double"!=a?a?Math.min(b||(a?w.ra(a):0),w.J):Math.min(b,8):8},O:function(a,b,c){return c&&c.length?(c.splice||(c=Array.prototype.slice.call(c)),c.splice(0,0,b),d["dynCall_"+a].apply(null,c)):d["dynCall_"+a].call(null,b)},B:[],ka:function(a){for(var b=0;b<w.B.length;b++)if(!w.B[b])return w.B[b]=a,2*(1+b);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.";},wa:function(a){w.B[(a-2)/2]=null},u:function(a){w.u.Y||
(w.u.Y={});w.u.Y[a]||(w.u.Y[a]=1,d.W(a))},U:{},La:function(a,b){assert(b);w.U[b]||(w.U[b]={});var c=w.U[b];c[a]||(c[a]=function(){return w.O(b,a,arguments)});return c[a]},Ka:function(){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work";},H:function(a){var b=u;u=u+a|0;u=u+15&-16;return b},ja:function(a){var b=x;x=x+a|0;x=x+15&-16;return b},q:function(a){var b=y;y=y+a|0;y=y+15&-16;if(a=y>=z)A("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+
z+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "),a=!0;return a?(y=b,0):b},K:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},Oa:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},A:8,J:4,Da:0};d.Runtime=w;w.addFunction=w.ka;
w.removeFunction=w.wa;var ia=!1,B,ja,ha;function assert(a,b){a||A("Assertion failed: "+b)}function ka(a){var b=d["_"+a];if(!b)try{b=eval("_"+a)}catch(c){}assert(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}var la,ma;
(function(){function a(a){a=a.toString().match(e).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}var b={stackSave:function(){w.I()},stackRestore:function(){w.r()},arrayToC:function(a){var b=w.H(a.length);na(a,b);return b},stringToC:function(a){var b=0;null!==a&&void 0!==a&&0!==a&&(b=w.H((a.length<<2)+1),oa(a,b));return b}},c={string:b.stringToC,array:b.arrayToC};ma=function(a,b,e,f,h){a=ka(a);var r=[],I=0;if(f)for(var v=0;v<f.length;v++){var T=c[e[v]];T?(0===I&&(I=w.I()),r[v]=T(f[v])):
r[v]=f[v]}e=a.apply(null,r);"string"===b&&(e=C(e));if(0!==I){if(h&&h.async){EmterpreterAsync.Ea.push(function(){w.r(I)});return}w.r(I)}return e};var e=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,f={},h;for(h in b)b.hasOwnProperty(h)&&(f[h]=a(b[h]));la=function(b,c,e){e=e||[];var h=ka(b);b=e.every(function(a){return"number"===a});var S="string"!==c;if(S&&b)return h;var r=e.map(function(a,b){return"$"+b});c="(function("+r.join(",")+") {";var I=e.length;if(!b){c+="var stack = "+
f.stackSave.body+";";for(var v=0;v<I;v++){var T=r[v],O=e[v];"number"!==O&&(O=f[O+"ToC"],c+="var "+O.arguments+" = "+T+";",c+=O.body+";",c+=T+"="+O.returnValue+";")}}e=a(function(){return h}).returnValue;c+="var ret = "+e+"("+r.join(",")+");";S||(e=a(function(){return C}).returnValue,c+="ret = "+e+"(ret);");b||(c+=f.stackRestore.body.replace("()","(stack)")+";");return eval(c+"return ret})")}})();d.ccall=ma;d.cwrap=la;
function pa(a,b,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":D[a>>0]=b;break;case "i8":D[a>>0]=b;break;case "i16":E[a>>1]=b;break;case "i32":F[a>>2]=b;break;case "i64":ja=[b>>>0,(B=b,1<=+qa(B)?0<B?(ra(+sa(B/4294967296),4294967295)|0)>>>0:~~+ta((B-+(~~B>>>0))/4294967296)>>>0:0)];F[a>>2]=ja[0];F[a+4>>2]=ja[1];break;case "float":G[a>>2]=b;break;case "double":ua[a>>3]=b;break;default:A("invalid type for setValue: "+c)}}d.setValue=pa;
function va(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return D[a>>0];case "i8":return D[a>>0];case "i16":return E[a>>1];case "i32":return F[a>>2];case "i64":return F[a>>2];case "float":return G[a>>2];case "double":return ua[a>>3];default:A("invalid type for setValue: "+b)}return null}d.getValue=va;d.ALLOC_NORMAL=0;d.ALLOC_STACK=1;d.ALLOC_STATIC=2;d.ALLOC_DYNAMIC=3;d.ALLOC_NONE=4;
function J(a,b,c,e){var f,h;"number"===typeof a?(f=!0,h=a):(f=!1,h=a.length);var k="string"===typeof b?b:null;c=4==c?e:[K,w.H,w.ja,w.q][void 0===c?2:c](Math.max(h,k?1:b.length));if(f){e=c;assert(0==(c&3));for(a=c+(h&-4);e<a;e+=4)F[e>>2]=0;for(a=c+h;e<a;)D[e++>>0]=0;return c}if("i8"===k)return a.subarray||a.slice?L.set(a,c):L.set(new Uint8Array(a),c),c;e=0;for(var l,n;e<h;){var H=a[e];"function"===typeof H&&(H=w.Ma(H));f=k||b[e];0===f?e++:("i64"==f&&(f="i32"),pa(c+e,H,f),n!==f&&(l=w.ea(f),n=f),e+=
l)}return c}d.allocate=J;d.getMemory=function(a){return wa?"undefined"!==typeof M&&!M.k||!N?w.q(a):K(a):w.ja(a)};function C(a,b){if(0===b||!a)return"";for(var c=0,e,f=0;;){e=L[a+f>>0];c|=e;if(0==e&&!b)break;f++;if(b&&f==b)break}b||(b=f);e="";if(128>c){for(;0<b;)c=String.fromCharCode.apply(String,L.subarray(a,a+Math.min(b,1024))),e=e?e+c:c,a+=1024,b-=1024;return e}return d.UTF8ToString(a)}d.Pointer_stringify=C;d.AsciiToString=function(a){for(var b="";;){var c=D[a++>>0];if(!c)return b;b+=String.fromCharCode(c)}};
d.stringToAscii=function(a,b){return xa(a,b,!1)};
function ya(a,b){for(var c,e,f,h,k,l,n="";;){c=a[b++];if(!c)return n;c&128?(e=a[b++]&63,192==(c&224)?n+=String.fromCharCode((c&31)<<6|e):(f=a[b++]&63,224==(c&240)?c=(c&15)<<12|e<<6|f:(h=a[b++]&63,240==(c&248)?c=(c&7)<<18|e<<12|f<<6|h:(k=a[b++]&63,248==(c&252)?c=(c&3)<<24|e<<18|f<<12|h<<6|k:(l=a[b++]&63,c=(c&1)<<30|e<<24|f<<18|h<<12|k<<6|l))),65536>c?n+=String.fromCharCode(c):(c-=65536,n+=String.fromCharCode(55296|c>>10,56320|c&1023)))):n+=String.fromCharCode(c)}}d.UTF8ArrayToString=ya;
d.UTF8ToString=function(a){return ya(L,a)};
function za(a,b,c,e){if(!(0<e))return 0;var f=c;e=c+e-1;for(var h=0;h<a.length;++h){var k=a.charCodeAt(h);55296<=k&&57343>=k&&(k=65536+((k&1023)<<10)|a.charCodeAt(++h)&1023);if(127>=k){if(c>=e)break;b[c++]=k}else{if(2047>=k){if(c+1>=e)break;b[c++]=192|k>>6}else{if(65535>=k){if(c+2>=e)break;b[c++]=224|k>>12}else{if(2097151>=k){if(c+3>=e)break;b[c++]=240|k>>18}else{if(67108863>=k){if(c+4>=e)break;b[c++]=248|k>>24}else{if(c+5>=e)break;b[c++]=252|k>>30;b[c++]=128|k>>24&63}b[c++]=128|k>>18&63}b[c++]=128|
k>>12&63}b[c++]=128|k>>6&63}b[c++]=128|k&63}}b[c]=0;return c-f}d.stringToUTF8Array=za;d.stringToUTF8=function(a,b,c){return za(a,L,b,c)};function Aa(a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);55296<=e&&57343>=e&&(e=65536+((e&1023)<<10)|a.charCodeAt(++c)&1023);127>=e?++b:b=2047>=e?b+2:65535>=e?b+3:2097151>=e?b+4:67108863>=e?b+5:b+6}return b}d.lengthBytesUTF8=Aa;d.UTF16ToString=function(a){for(var b=0,c="";;){var e=E[a+2*b>>1];if(0==e)return c;++b;c+=String.fromCharCode(e)}};
d.stringToUTF16=function(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var e=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)E[b>>1]=a.charCodeAt(f),b+=2;E[b>>1]=0;return b-e};d.lengthBytesUTF16=function(a){return 2*a.length};d.UTF32ToString=function(a){for(var b=0,c="";;){var e=F[a+4*b>>2];if(0==e)return c;++b;65536<=e?(e=e-65536,c+=String.fromCharCode(55296|e>>10,56320|e&1023)):c+=String.fromCharCode(e)}};
d.stringToUTF32=function(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var e=b;c=e+c-4;for(var f=0;f<a.length;++f){var h=a.charCodeAt(f);if(55296<=h&&57343>=h)var k=a.charCodeAt(++f),h=65536+((h&1023)<<10)|k&1023;F[b>>2]=h;b+=4;if(b+4>c)break}F[b>>2]=0;return b-e};d.lengthBytesUTF32=function(a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);55296<=e&&57343>=e&&++c;b+=4}return b};
function Ba(a){function b(c,e,f){e=e||Infinity;var h="",k=[],q;if("N"===a[l]){l++;"K"===a[l]&&l++;for(q=[];"E"!==a[l];)if("S"===a[l]){l++;var p=a.indexOf("_",l);q.push(H[a.substring(l,p)||0]||"?");l=p+1}else if("C"===a[l])q.push(q[q.length-1]),l+=2;else{var p=parseInt(a.substr(l)),r=p.toString().length;if(!p||!r){l--;break}var Ga=a.substr(l+r,p);q.push(Ga);H.push(Ga);l+=r+p}l++;q=q.join("::");e--;if(0===e)return c?[q]:q}else if(("K"===a[l]||S&&"L"===a[l])&&l++,p=parseInt(a.substr(l)))r=p.toString().length,
q=a.substr(l+r,p),l+=r+p;S=!1;"I"===a[l]?(l++,p=b(!0),r=b(!0,1,!0),h+=r[0]+" "+q+"<"+p.join(", ")+">"):h=q;a:for(;l<a.length&&0<e--;)if(q=a[l++],q in n)k.push(n[q]);else switch(q){case "P":k.push(b(!0,1,!0)[0]+"*");break;case "R":k.push(b(!0,1,!0)[0]+"&");break;case "L":l++;p=a.indexOf("E",l)-l;k.push(a.substr(l,p));l+=p+2;break;case "A":p=parseInt(a.substr(l));l+=p.toString().length;if("_"!==a[l])throw"?";l++;k.push(b(!0,1,!0)[0]+" ["+p+"]");break;case "E":break a;default:h+="?"+q;break a}f||1!==
k.length||"void"!==k[0]||(k=[]);return c?(h&&k.push(h+"?"),k):h+("("+k.join(", ")+")")}var c=!!d.___cxa_demangle;if(c)try{var e=K(a.length);oa(a.substr(1),e);var f=K(4),h=d.___cxa_demangle(e,0,0,f);if(0===va(f,"i32")&&h)return C(h)}catch(k){}finally{e&&P(e),f&&P(f),h&&P(h)}var l=3,n={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},
H=[],S=!0,e=a;try{if("Object._main"==a||"_main"==a)return"main()";"number"===typeof a&&(a=C(a));if("_"!==a[0]||"_"!==a[1]||"Z"!==a[2])return a;switch(a[3]){case "n":return"operator new()";case "d":return"operator delete()"}e=b()}catch(r){e+="?"}0<=e.indexOf("?")&&!c&&w.u("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return e}
function Ca(){return Da().replace(/__Z[\w\d_]+/g,function(a){var b=Ba(a);return a===b?a:a+" ["+b+"]"})}function Da(){var a=Error();if(!a.stack){try{throw Error(0);}catch(b){a=b}if(!a.stack)return"(no stack trace available)"}return a.stack.toString()}d.stackTrace=function(){return Ca()};function Ea(){var a=y;0<a%4096&&(a+=4096-a%4096);return a}
for(var D,L,E,Fa,F,Ha,G,ua,Ia=0,x=0,wa=!1,Ja=0,u=0,Ka=0,La=0,y=0,Ma=d.TOTAL_STACK||5242880,z=d.TOTAL_MEMORY||16777216,Q=65536;Q<z||Q<2*Ma;)Q=16777216>Q?2*Q:Q+16777216;Q!==z&&(z=Q);assert("undefined"!==typeof Int32Array&&"undefined"!==typeof Float64Array&&!!(new Int32Array(1)).subarray&&!!(new Int32Array(1)).set,"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(z);D=new Int8Array(buffer);E=new Int16Array(buffer);F=new Int32Array(buffer);L=new Uint8Array(buffer);
Fa=new Uint16Array(buffer);Ha=new Uint32Array(buffer);G=new Float32Array(buffer);ua=new Float64Array(buffer);F[0]=255;assert(255===L[0]&&0===L[3],"Typed arrays 2 must be run on a little-endian system");d.HEAP=void 0;d.buffer=buffer;d.HEAP8=D;d.HEAP16=E;d.HEAP32=F;d.HEAPU8=L;d.HEAPU16=Fa;d.HEAPU32=Ha;d.HEAPF32=G;d.HEAPF64=ua;
function R(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b();else{var c=b.Ia;"number"===typeof c?void 0===b.L?w.O("v",c):w.O("vi",c,[b.L]):c(void 0===b.L?null:b.L)}}}var Na=[],Oa=[],Pa=[],Qa=[],Ra=[],N=!1;function Sa(a){Na.unshift(a)}d.addOnPreRun=Sa;d.addOnInit=function(a){Oa.unshift(a)};d.addOnPreMain=function(a){Pa.unshift(a)};d.addOnExit=function(a){Qa.unshift(a)};function Ta(a){Ra.unshift(a)}d.addOnPostRun=Ta;
function Ua(a,b,c){c=Array(0<c?c:Aa(a)+1);a=za(a,c,0,c.length);b&&(c.length=a);return c}d.intArrayFromString=Ua;d.intArrayToString=function(a){for(var b=[],c=0;c<a.length;c++){var e=a[c];255<e&&(e&=255);b.push(String.fromCharCode(e))}return b.join("")};function oa(a,b,c){a=Ua(a,c);for(c=0;c<a.length;)D[b+c>>0]=a[c],c+=1}d.writeStringToMemory=oa;function na(a,b){for(var c=0;c<a.length;c++)D[b++>>0]=a[c]}d.writeArrayToMemory=na;
function xa(a,b,c){for(var e=0;e<a.length;++e)D[b++>>0]=a.charCodeAt(e);c||(D[b>>0]=0)}d.writeAsciiToMemory=xa;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var c=a&65535,e=b&65535;return c*e+((a>>>16)*e+c*(b>>>16)<<16)|0});Math.Na=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.Ga=Math.clz32;
var qa=Math.abs,Va=Math.cos,Wa=Math.sin,Xa=Math.atan2,Ya=Math.exp,Za=Math.log,$a=Math.sqrt,ta=Math.ceil,sa=Math.floor,ab=Math.pow,ra=Math.min,U=0,bb=null,V=null;d.addRunDependency=function(){U++;d.monitorRunDependencies&&d.monitorRunDependencies(U)};d.removeRunDependency=function(){U--;d.monitorRunDependencies&&d.monitorRunDependencies(U);if(0==U&&(null!==bb&&(clearInterval(bb),bb=null),V)){var a=V;V=null;a()}};d.preloadedImages={};d.preloadedAudios={};Ia=8;x=Ia+36528;Oa.push();
J([200,81,12,210,132,244,239,63,0,0,0,0,0,0,240,63,200,81,12,210,132,244,239,63,246,149,7,233,41,210,239,63,218,211,196,241,50,153,239,63,212,253,16,217,15,74,239,63,126,159,187,110,91,229,238,63,97,193,63,157,217,107,238,63,29,215,241,37,117,222,237,63,106,127,111,236,60,62,237,63,201,234,53,193,96,140,236,63,119,36,69,1,46,202,235,63,30,188,126,218,11,249,234,63,58,208,191,52,119,26,234,63,245,37,35,128,254,47,233,63,242,64,67,131,61,59,232,63,14,7,83,222,216,61,231,63,247,242,175,163,121,57,230,
63,76,200,197,32,201,47,229,63,206,184,120,145,108,34,228,63,255,153,90,25,1,19,227,63,47,156,49,237,23,3,226,63,99,217,6,205,50,244,224,63,77,90,134,114,129,207,223,63,205,143,100,251,53,190,221,63,21,198,55,144,5,183,219,63,224,7,173,168,61,188,217,63,96,51,10,147,243,207,215,63,243,29,252,196,1,244,213,63,74,133,103,248,5,42,212,63,231,205,60,20,96,115,210,63,141,202,52,55,50,209,208,63,216,209,122,240,193,136,206,63,175,39,120,18,42,155,203,63,200,72,147,222,121,218,200,63,181,207,91,35,31,71,
198,63,61,87,66,20,31,225,195,63,181,205,1,64,29,168,193,63,77,186,144,187,198,54,191,63,46,12,38,56,212,115,187,63,102,146,5,10,196,4,184,63,128,84,22,199,121,230,180,63,98,72,78,38,110,21,178,63,164,21,132,151,133,27,175,63,236,178,235,32,167,150,170,63,151,168,65,69,147,147,166,63,62,120,47,239,88,9,163,63,213,231,172,71,200,221,159,63,108,207,77,23,57,118,154,63,244,241,216,232,255,201,149,63,15,11,181,166,121,199,145,63,85,23,108,250,30,187,140,63,254,164,177,40,178,247,134,63,60,183,150,234,
126,37,130,63,165,251,181,204,84,78,124,63,103,31,84,119,159,194,117,63,5,196,127,21,59,117,112,63,116,127,179,156,157,111,104,63,211,240,243,0,146,192,97,63,247,82,219,250,167,35,89,63,63,193,172,237,121,64,81,63,241,66,0,145,250,194,70,63,123,178,205,83,62,128,60,63,38,81,146,34,240,143,48,63,199,84,110,96,122,20,33,63,125,137,127,55,32,171,11,63,241,104,227,136,181,248,228,62,0,0,0,0,0,0,0,0,185,166,163,144,34,218,239,63,0,0,0,0,0,0,240,63,185,166,163,144,34,218,239,63,133,11,22,218,123,105,239,
63,68,70,205,120,215,176,238,63,38,83,195,134,192,180,237,63,51,218,46,93,86,123,236,63,169,206,23,57,19,12,235,63,169,234,113,33,135,111,233,63,114,230,145,30,10,175,231,63,214,209,105,196,105,212,229,63,192,167,164,20,149,233,227,63,57,160,0,229,74,248,225,63,234,131,27,223,205,9,224,63,85,106,213,50,66,77,220,63,67,93,222,251,159,172,216,63,15,90,246,193,133,62,213,63,31,5,219,202,67,13,210,63,160,103,55,35,24,65,206,63,140,139,122,243,225,250,200,63,240,174,72,134,251,76,196,63,116,227,39,31,
204,55,192,63,238,97,138,205,34,111,185,63,59,78,85,202,0,138,179,63,232,97,46,202,232,87,173,63,36,51,205,42,34,121,165,63,187,105,109,249,204,130,158,63,34,44,116,111,143,239,148,63,62,17,221,22,217,140,139,63,93,194,95,155,166,50,129,63,80,8,178,216,5,7,116,63,129,200,42,190,4,27,101,63,220,238,171,147,175,219,82,63,27,202,154,162,109,70,55,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,83,76,206,30,226,239,63,0,0,0,0,0,0,240,63,193,83,76,206,30,226,239,63,207,66,200,154,13,137,239,63,12,109,231,152,127,
246,238,63,136,18,45,121,60,45,238,63,154,77,244,183,12,49,237,63,181,176,192,186,158,6,236,63,204,153,14,25,102,179,234,63,220,121,44,199,117,61,233,63,81,171,34,187,86,171,231,63,149,54,201,77,220,3,230,63,117,171,231,164,247,77,228,63,119,0,155,222,139,144,226,63,19,129,234,31,68,210,224,63,198,0,195,209,217,50,222,63,83,62,4,85,163,215,218,63,217,8,97,193,63,157,215,63,168,106,6,225,159,140,212,63,110,36,125,24,41,173,209,63,90,239,121,246,67,9,206,63,27,0,96,43,87,46,201,63,81,150,107,27,144,
206,196,63,139,236,90,173,217,235,192,63,233,214,41,94,126,10,187,63,223,23,250,212,111,46,181,63,6,13,129,76,0,56,176,63,202,189,68,229,244,47,168,63,166,21,248,237,152,120,161,63,75,245,83,210,121,67,152,63,148,207,159,244,141,1,144,63,0,110,55,61,255,168,131,63,222,105,25,70,205,153,117,63,224,133,140,203,225,40,99,63,252,169,241,210,77,98,64,63,0,0,0,0,0,0,0,0,37,145,224,186,32,234,239,63,0,0,0,0,0,0,240,63,37,145,224,186,32,234,239,63,222,75,43,207,205,168,239,63,90,31,255,154,230,60,239,63,
85,207,23,181,218,167,238,63,190,160,100,246,162,235,237,63,215,144,110,58,184,10,237,63,139,232,207,101,7,8,236,63,181,222,111,180,227,230,234,63,88,0,116,20,247,170,233,63,34,114,85,52,49,88,232,63,80,197,174,105,181,242,230,63,88,228,182,1,200,126,229,63,148,69,39,108,187,0,228,63,71,43,74,75,221,124,226,63,169,163,227,106,100,247,224,63,170,169,151,165,190,232,222,63,22,196,122,130,72,239,219,63,75,102,204,143,133,9,217,63,63,233,225,87,238,61,214,63,194,106,110,125,63,146,211,63,160,190,167,
106,105,11,209,63,43,114,95,57,8,91,205,63,39,153,98,47,144,247,200,63,161,7,202,175,23,241,196,63,202,98,172,128,140,74,193,63,34,197,190,108,84,10,188,63,97,133,0,133,31,65,182,63,143,222,112,31,185,53,177,63,67,132,201,158,78,195,169,63,33,123,123,223,17,120,162,63,243,71,40,232,188,231,152,63,89,237,14,231,233,117,142,63,33,2,14,161,74,205,126,63,0,0,0,0,0,0,0,0,93,61,127,102,158,160,230,63,0,0,0,0,0,136,57,61,68,23,117,250,82,176,230,63,0,0,0,0,0,0,216,60,254,217,11,117,18,192,230,63,0,0,0,0,
0,120,40,189,191,118,212,221,220,207,230,63,0,0,0,0,0,192,30,61,41,26,101,60,178,223,230,63,0,0,0,0,0,0,216,188,227,58,89,152,146,239,230,63,0,0,0,0,0,0,188,188,134,147,81,249,125,255,230,63,0,0,0,0,0,216,47,189,163,45,244,102,116,15,231,63,0,0,0,0,0,136,44,189,195,95,236,232,117,31,231,63,0,0,0,0,0,192,19,61,5,207,234,134,130,47,231,63,0,0,0,0,0,48,56,189,82,129,165,72,154,63,231,63,0,0,0,0,0,192,0,189,252,204,215,53,189,79,231,63,0,0,0,0,0,136,47,61,241,103,66,86,235,95,231,63,0,0,0,0,0,224,3,61,
72,109,171,177,36,112,231,63,0,0,0,0,0,208,39,189,56,93,222,79,105,128,231,63,0,0,0,0,0,0,221,188,0,29,172,56,185,144,231,63,0,0,0,0,0,0,227,60,120,1,235,115,20,161,231,63,0,0,0,0,0,0,237,188,96,208,118,9,123,177,231,63,0,0,0,0,0,64,32,61,51,193,48,1,237,193,231,63,0,0,0,0,0,0,160,60,54,134,255,98,106,210,231,63,0,0,0,0,0,144,38,189,59,78,207,54,243,226,231,63,0,0,0,0,0,224,2,189,232,195,145,132,135,243,231,63,0,0,0,0,0,88,36,189,78,27,62,84,39,4,232,63,0,0,0,0,0,0,51,61,26,7,209,173,210,20,232,63,
0,0,0,0,0,0,15,61,126,205,76,153,137,37,232,63,0,0,0,0,0,192,33,189,208,66,185,30,76,54,232,63,0,0,0,0,0,208,41,61,181,202,35,70,26,71,232,63,0,0,0,0,0,16,71,61,188,91,159,23,244,87,232,63,0,0,0,0,0,96,34,61,175,145,68,155,217,104,232,63,0,0,0,0,0,196,50,189,149,163,49,217,202,121,232,63,0,0,0,0,0,0,35,189,184,101,138,217,199,138,232,63,0,0,0,0,0,128,42,189,0,88,120,164,208,155,232,63,0,0,0,0,0,0,237,188,35,162,42,66,229,172,232,63,0,0,0,0,0,40,51,61,250,25,214,186,5,190,232,63,0,0,0,0,0,180,66,61,
131,67,181,22,50,207,232,63,0,0,0,0,0,208,46,189,76,102,8,94,106,224,232,63,0,0,0,0,0,80,32,189,7,120,21,153,174,241,232,63,0,0,0,0,0,40,40,61,14,44,40,208,254,2,233,63,0,0,0,0,0,176,28,189,150,255,145,11,91,20,233,63,0,0,0,0,0,224,5,189,249,47,170,83,195,37,233,63,0,0,0,0,0,64,245,60,74,198,205,176,55,55,233,63,0,0,0,0,0,32,23,61,174,152,95,43,184,72,233,63,0,0,0,0,0,0,9,189,203,82,200,203,68,90,233,63,0,0,0,0,0,104,37,61,33,111,118,154,221,107,233,63,0,0,0,0,0,208,54,189,42,78,222,159,130,125,233,
63,0,0,0,0,0,0,1,189,163,35,122,228,51,143,233,63,0,0,0,0,0,0,45,61,4,6,202,112,241,160,233,63,0,0,0,0,0,164,56,189,137,255,83,77,187,178,233,63,0,0,0,0,0,92,53,61,91,241,163,130,145,196,233,63,0,0,0,0,0,184,38,61,197,184,75,25,116,214,233,63,0,0,0,0,0,0,236,188,142,35,227,25,99,232,233,63,0,0,0,0,0,208,23,61,2,243,7,141,94,250,233,63,0,0,0,0,0,64,22,61,77,229,93,123,102,12,234,63,0,0,0,0,0,0,245,188,246,184,142,237,122,30,234,63,0,0,0,0,0,224,9,61,39,46,74,236,155,48,234,63,0,0,0,0,0,216,42,61,93,
10,70,128,201,66,234,63,0,0,0,0,0,240,26,189,155,37,62,178,3,85,234,63,0,0,0,0,0,96,11,61,19,98,244,138,74,103,234,63,0,0,0,0,0,136,56,61,167,179,48,19,158,121,234,63,0,0,0,0,0,32,17,61,141,46,193,83,254,139,234,63,0,0,0,0,0,192,6,61,210,252,121,85,107,158,234,63,0,0,0,0,0,184,41,189,184,111,53,33,229,176,234,63,0,0,0,0,0,112,43,61,129,243,211,191,107,195,234,63,0,0,0,0,0,0,217,60,128,39,60,58,255,213,234,63,0,0,0,0,0,0,228,60,163,210,90,153,159,232,234,63,0,0,0,0,0,144,44,189,103,243,34,230,76,251,
234,63,0,0,0,0,0,80,22,61,144,183,141,41,7,14,235,63,0,0,0,0,0,212,47,61,169,137,154,108,206,32,235,63,0,0,0,0,0,112,18,61,75,26,79,184,162,51,235,63,0,0,0,0,0,71,77,61,231,71,183,21,132,70,235,63,0,0,0,0,0,56,56,189,58,89,229,141,114,89,235,63,0,0,0,0,0,0,152,60,106,197,241,41,110,108,235,63,0,0,0,0,0,208,10,61,80,94,251,242,118,127,235,63,0,0,0,0,0,128,222,60,178,73,39,242,140,146,235,63,0,0,0,0,0,192,4,189,3,6,161,48,176,165,235,63,0,0,0,0,0,112,13,189,102,111,154,183,224,184,235,63,0,0,0,0,0,
144,13,61,255,193,75,144,30,204,235,63,0,0,0,0,0,160,2,61,111,161,243,195,105,223,235,63,0,0,0,0,0,120,31,189,184,29,215,91,194,242,235,63,0,0,0,0,0,160,16,189,233,178,65,97,40,6,236,63,0,0,0,0,0,64,17,189,224,82,133,221,155,25,236,63,0,0,0,0,0,224,11,61,238,100,250,217,28,45,236,63,0,0,0,0,0,64,9,189,47,208,255,95,171,64,236,63,0,0,0,0,0,208,14,189,21,253,250,120,71,84,236,63,0,0,0,0,0,102,57,61,203,208,87,46,241,103,236,63,0,0,0,0,0,16,26,189,182,193,136,137,168,123,236,63,0,0,0,0,128,69,88,189,
51,231,6,148,109,143,236,63,0,0,0,0,0,72,26,189,223,196,81,87,64,163,236,63,0,0,0,0,0,0,203,60,148,144,239,220,32,183,236,63,0,0,0,0,0,64,1,61,137,22,109,46,15,203,236,63,0,0,0,0,0,32,240,60,18,196,93,85,11,223,236,63,0,0,0,0,0,96,243,60,59,171,91,91,21,243,236,63,0,0,0,0,0,144,6,189,188,137,7,74,45,7,237,63,0,0,0,0,0,160,9,61,250,200,8,43,83,27,237,63,0,0,0,0,0,224,21,189,133,138,13,8,135,47,237,63,0,0,0,0,0,40,29,61,3,162,202,234,200,67,237,63,0,0,0,0,0,160,1,61,145,164,251,220,24,88,237,63,0,0,
0,0,0,0,223,60,161,230,98,232,118,108,237,63,0,0,0,0,0,160,3,189,78,131,201,22,227,128,237,63,0,0,0,0,0,216,12,189,144,96,255,113,93,149,237,63,0,0,0,0,0,192,244,60,174,50,219,3,230,169,237,63,0,0,0,0,0,144,255,60,37,131,58,214,124,190,237,63,0,0,0,0,0,128,233,60,69,180,1,243,33,211,237,63,0,0,0,0,0,32,245,188,191,5,28,100,213,231,237,63,0,0,0,0,0,112,29,189,236,154,123,51,151,252,237,63,0,0,0,0,0,20,22,189,94,125,25,107,103,17,238,63,0,0,0,0,0,72,11,61,231,163,245,20,70,38,238,63,0,0,0,0,0,206,64,
61,92,238,22,59,51,59,238,63,0,0,0,0,0,104,12,61,180,63,139,231,46,80,238,63,0,0,0,0,0,48,9,189,104,109,103,36,57,101,238,63,0,0,0,0,0,0,229,188,68,76,199,251,81,122,238,63,0,0,0,0,0,248,7,189,38,183,205,119,121,143,238,63,0,0,0,0,0,112,243,188,232,144,164,162,175,164,238,63,0,0,0,0,0,208,229,60,228,202,124,134,244,185,238,63,0,0,0,0,0,26,22,61,13,104,142,45,72,207,238,63,0,0,0,0,0,80,245,60,20,133,24,162,170,228,238,63,0,0,0,0,0,64,198,60,19,90,97,238,27,250,238,63,0,0,0,0,0,128,238,188,6,65,182,
28,156,15,239,63,0,0,0,0,0,136,250,188,99,185,107,55,43,37,239,63,0,0,0,0,0,144,44,189,117,114,221,72,201,58,239,63,0,0,0,0,0,0,170,60,36,69,110,91,118,80,239,63,0,0,0,0,0,240,244,188,253,68,136,121,50,102,239,63,0,0,0,0,0,128,202,60,56,190,156,173,253,123,239,63,0,0,0,0,0,188,250,60,130,60,36,2,216,145,239,63,0,0,0,0,0,96,212,188,142,144,158,129,193,167,239,63,0,0,0,0,0,12,11,189,17,213,146,54,186,189,239,63,0,0,0,0,0,224,192,188,148,113,143,43,194,211,239,63,0,0,0,0,128,222,16,189,238,35,42,107,
217,233,239,63,0,0,0,0,0,67,238,60,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,0,190,188,90,250,26,11,240,63,0,0,0,0,0,64,179,188,3,51,251,169,61,22,240,63,0,0,0,0,0,23,18,189,130,2,59,20,104,33,240,63,0,0,0,0,0,64,186,60,108,128,119,62,154,44,240,63,0,0,0,0,0,152,239,60,202,187,17,46,212,55,240,63,0,0,0,0,0,64,199,188,137,127,110,232,21,67,240,63,0,0,0,0,0,48,216,60,103,84,246,114,95,78,240,63,0,0,0,0,0,63,26,189,90,133,21,211,176,89,240,63,0,0,0,0,0,132,2,189,149,31,60,14,10,101,240,63,0,0,0,0,0,96,241,60,
26,247,221,41,107,112,240,63,0,0,0,0,0,36,21,61,45,168,114,43,212,123,240,63,0,0,0,0,0,160,233,188,208,155,117,24,69,135,240,63,0,0,0,0,0,64,230,60,200,7,102,246,189,146,240,63,0,0,0,0,0,120,0,189,131,243,198,202,62,158,240,63,0,0,0,0,0,0,152,188,48,57,31,155,199,169,240,63,0,0,0,0,0,160,255,60,252,136,249,108,88,181,240,63,0,0,0,0,0,200,250,188,138,108,228,69,241,192,240,63,0,0,0,0,0,192,217,60,22,72,114,43,146,204,240,63,0,0,0,0,0,32,5,61,216,93,57,35,59,216,240,63,0,0,0,0,0,208,250,188,243,209,
211,50,236,227,240,63,0,0,0,0,0,172,27,61,166,169,223,95,165,239,240,63,0,0,0,0,0,232,4,189,240,210,254,175,102,251,240,63,0,0,0,0,0,48,13,189,75,35,215,40,48,7,241,63,0,0,0,0,0,80,241,60,91,91,18,208,1,19,241,63,0,0,0,0,0,0,236,60,249,42,94,171,219,30,241,63,0,0,0,0,0,188,22,61,213,49,108,192,189,42,241,63,0,0,0,0,0,64,232,60,125,4,242,20,168,54,241,63,0,0,0,0,0,208,14,189,233,45,169,174,154,66,241,63,0,0,0,0,0,224,232,60,56,49,79,147,149,78,241,63,0,0,0,0,0,64,235,60,113,142,165,200,152,90,241,
63,0,0,0,0,0,48,5,61,223,195,113,84,164,102,241,63,0,0,0,0,0,56,3,61,17,82,125,60,184,114,241,63,0,0,0,0,0,212,40,61,159,187,149,134,212,126,241,63,0,0,0,0,0,208,5,189,147,141,140,56,249,138,241,63,0,0,0,0,0,136,28,189,102,93,55,88,38,151,241,63,0,0,0,0,0,240,17,61,167,203,111,235,91,163,241,63,0,0,0,0,0,72,16,61,227,135,19,248,153,175,241,63,0,0,0,0,0,57,71,189,84,93,4,132,224,187,241,63,0,0,0,0,0,228,36,61,67,28,40,149,47,200,241,63,0,0,0,0,0,32,10,189,178,185,104,49,135,212,241,63,0,0,0,0,0,128,
227,60,49,64,180,94,231,224,241,63,0,0,0,0,0,192,234,60,56,217,252,34,80,237,241,63,0,0,0,0,0,144,1,61,247,205,56,132,193,249,241,63,0,0,0,0,0,120,27,189,143,141,98,136,59,6,242,63,0,0,0,0,0,148,45,61,30,168,120,53,190,18,242,63,0,0,0,0,0,0,216,60,65,221,125,145,73,31,242,63,0,0,0,0,0,52,43,61,35,19,121,162,221,43,242,63,0,0,0,0,0,248,25,61,231,97,117,110,122,56,242,63,0,0,0,0,0,200,25,189,39,20,130,251,31,69,242,63,0,0,0,0,0,48,2,61,2,166,178,79,206,81,242,63,0,0,0,0,0,72,19,189,176,206,30,113,133,
94,242,63,0,0,0,0,0,112,18,61,22,125,226,101,69,107,242,63,0,0,0,0,0,208,17,61,15,224,29,52,14,120,242,63,0,0,0,0,0,238,49,61,62,99,245,225,223,132,242,63,0,0,0,0,0,192,20,189,48,187,145,117,186,145,242,63,0,0,0,0,0,216,19,189,9,223,31,245,157,158,242,63,0,0,0,0,0,176,8,61,155,14,209,102,138,171,242,63,0,0,0,0,0,124,34,189,58,218,218,208,127,184,242,63,0,0,0,0,0,52,42,61,249,26,119,57,126,197,242,63,0,0,0,0,0,128,16,189,217,2,228,166,133,210,242,63,0,0,0,0,0,208,14,189,121,21,100,31,150,223,242,63,
0,0,0,0,0,32,244,188,207,46,62,169,175,236,242,63,0,0,0,0,0,152,36,189,34,136,189,74,210,249,242,63,0,0,0,0,0,48,22,189,37,182,49,10,254,6,243,63,0,0,0,0,0,54,50,189,11,165,238,237,50,20,243,63,0,0,0,0,128,223,112,189,184,215,76,252,112,33,243,63,0,0,0,0,0,72,34,189,162,233,168,59,184,46,243,63,0,0,0,0,0,152,37,189,102,23,100,178,8,60,243,63,0,0,0,0,0,208,30,61,39,250,227,102,98,73,243,63,0,0,0,0,0,0,220,188,15,159,146,95,197,86,243,63,0,0,0,0,0,216,48,189,185,136,222,162,49,100,243,63,0,0,0,0,0,
200,34,61,57,170,58,55,167,113,243,63,0,0,0,0,0,96,32,61,254,116,30,35,38,127,243,63,0,0,0,0,0,96,22,189,56,216,5,109,174,140,243,63,0,0,0,0,0,224,10,189,195,62,113,27,64,154,243,63,0,0,0,0,0,114,68,189,32,160,229,52,219,167,243,63,0,0,0,0,0,32,8,61,149,110,236,191,127,181,243,63,0,0,0,0,0,128,62,61,242,168,19,195,45,195,243,63,0,0,0,0,0,128,239,60,34,225,237,68,229,208,243,63,0,0,0,0,0,160,23,189,187,52,18,76,166,222,243,63,0,0,0,0,0,48,38,61,204,78,28,223,112,236,243,63,0,0,0,0,0,166,72,189,140,
126,172,4,69,250,243,63,0,0,0,0,0,220,60,189,187,160,103,195,34,8,244,63,0,0,0,0,0,184,37,61,149,46,247,33,10,22,244,63,0,0,0,0,0,192,30,61,70,70,9,39,251,35,244,63,0,0,0,0,0,96,19,189,32,169,80,217,245,49,244,63,0,0,0,0,0,152,35,61,235,185,132,63,250,63,244,63,0,0,0,0,0,0,250,60,25,137,97,96,8,78,244,63,0,0,0,0,0,192,246,188,1,210,167,66,32,92,244,63,0,0,0,0,0,192,11,189,22,0,29,237,65,106,244,63,0,0,0,0,0,128,18,189,38,51,139,102,109,120,244,63,0,0,0,0,0,224,48,61,0,60,193,181,162,134,244,63,0,
0,0,0,0,64,45,189,4,175,146,225,225,148,244,63,0,0,0,0,0,32,12,61,114,211,215,240,42,163,244,63,0,0,0,0,0,80,30,189,1,184,109,234,125,177,244,63,0,0,0,0,0,128,7,61,225,41,54,213,218,191,244,63,0,0,0,0,0,128,19,189,50,193,23,184,65,206,244,63,0,0,0,0,0,128,0,61,219,221,253,153,178,220,244,63,0,0,0,0,0,112,44,61,150,171,216,129,45,235,244,63,0,0,0,0,0,224,28,189,2,45,157,118,178,249,244,63,0,0,0,0,0,32,25,61,193,49,69,127,65,8,245,63,0,0,0,0,0,192,8,189,42,102,207,162,218,22,245,63,0,0,0,0,0,0,250,
188,234,81,63,232,125,37,245,63,0,0,0,0,0,8,74,61,218,78,157,86,43,52,245,63,0,0,0,0,0,216,38,189,26,172,246,244,226,66,245,63,0,0,0,0,0,68,50,189,219,148,93,202,164,81,245,63,0,0,0,0,0,60,72,61,107,17,233,221,112,96,245,63,0,0,0,0,0,176,36,61,222,41,181,54,71,111,245,63,0,0,0,0,0,90,65,61,14,196,226,219,39,126,245,63,0,0,0,0,0,224,41,189,111,199,151,212,18,141,245,63,0,0,0,0,0,8,35,189,76,11,255,39,8,156,245,63,0,0,0,0,0,236,77,61,39,84,72,221,7,171,245,63,0,0,0,0,0,0,196,188,244,122,168,251,17,
186,245,63,0,0,0,0,0,8,48,61,11,70,89,138,38,201,245,63,0,0,0,0,0,200,38,189,63,142,153,144,69,216,245,63,0,0,0,0,0,154,70,61,225,32,173,21,111,231,245,63,0,0,0,0,0,64,27,189,202,235,220,32,163,246,245,63,0,0,0,0,0,112,23,61,184,220,118,185,225,5,246,63,0,0,0,0,0,248,38,61,21,247,205,230,42,21,246,63,0,0,0,0,0,0,1,61,49,85,58,176,126,36,246,63,0,0,0,0,0,208,21,189,181,41,25,29,221,51,246,63,0,0,0,0,0,208,18,189,19,195,204,52,70,67,246,63,0,0,0,0,0,128,234,188,250,142,188,254,185,82,246,63,0,0,0,0,
0,96,40,189,151,51,85,130,56,98,246,63,0,0,0,0,0,254,113,61,142,50,8,199,193,113,246,63,0,0,0,0,0,32,55,189,126,169,76,212,85,129,246,63,0,0,0,0,0,128,230,60,113,148,158,177,244,144,246,63,0,0,0,0,0,120,41,189,1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,12,0,0,0,3,0,0,0,11,0,0,0,4,0,0,0,14,0,0,0,1,0,0,0,9,0,0,0,6,0,0,0,13,0,0,0,2,0,0,0,10,0,0,0,5,0,0,0,0,0,157,62,0,64,94,62,0,192,4,62,0,128,237,62,
0,64,137,62,0,0,0,0,0,192,76,63,0,0,205,61,0,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,128,65,0,0,192,65,0,0,16,66,0,0,48,66,0,0,72,66,0,0,96,66,0,0,120,66,0,0,134,66,0,0,144,66,0,0,158,66,0,0,176,66,0,0,212,66,0,0,6,67,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,0,65,0,0,0,65,8,23,0,0,200,25,0,0,
132,28,0,0,60,31,0,0,240,33,0,0,160,36,0,0,76,39,0,0,180,40,0,0,112,41,0,0,228,41,0,0,48,42,0,0,104,42,0,0,136,42,0,0,160,42,0,0,172,42,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,
0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,
0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,11,0,0,0,13,0,0,
0,15,0,0,0,17,0,0,0,19,0,0,0,21,0,0,0,23,0,0,0,25,0,0,0,27,0,0,0,29,0,0,0,31,0,0,0,33,0,0,0,35,0,0,0,37,0,0,0,39,0,0,0,41,0,0,0,43,0,0,0,45,0,0,0,47,0,0,0,49,0,0,0,51,0,0,0,53,0,0,0,55,0,0,0,57,0,0,0,59,0,0,0,61,0,0,0,63,0,0,0,65,0,0,0,67,0,0,0,69,0,0,0,71,0,0,0,73,0,0,0,75,0,0,0,77,0,0,0,79,0,0,0,81,0,0,0,83,0,0,0,85,0,0,0,87,0,0,0,89,0,0,0,91,0,0,0,93,0,0,0,95,0,0,0,97,0,0,0,99,0,0,0,101,0,0,0,103,0,0,0,105,0,0,0,107,0,0,0,109,0,0,0,111,0,0,0,113,0,0,0,115,0,0,0,117,0,0,0,119,0,0,0,121,0,0,0,123,
0,0,0,125,0,0,0,127,0,0,0,129,0,0,0,131,0,0,0,133,0,0,0,135,0,0,0,137,0,0,0,139,0,0,0,141,0,0,0,143,0,0,0,145,0,0,0,147,0,0,0,149,0,0,0,151,0,0,0,153,0,0,0,155,0,0,0,157,0,0,0,159,0,0,0,161,0,0,0,163,0,0,0,165,0,0,0,167,0,0,0,169,0,0,0,171,0,0,0,173,0,0,0,175,0,0,0,177,0,0,0,179,0,0,0,181,0,0,0,183,0,0,0,185,0,0,0,187,0,0,0,189,0,0,0,191,0,0,0,193,0,0,0,195,0,0,0,197,0,0,0,199,0,0,0,201,0,0,0,203,0,0,0,205,0,0,0,207,0,0,0,209,0,0,0,211,0,0,0,213,0,0,0,215,0,0,0,217,0,0,0,219,0,0,0,221,0,0,0,223,0,
0,0,225,0,0,0,227,0,0,0,229,0,0,0,231,0,0,0,233,0,0,0,235,0,0,0,237,0,0,0,239,0,0,0,241,0,0,0,243,0,0,0,245,0,0,0,247,0,0,0,249,0,0,0,251,0,0,0,253,0,0,0,255,0,0,0,1,1,0,0,3,1,0,0,5,1,0,0,7,1,0,0,9,1,0,0,11,1,0,0,13,1,0,0,15,1,0,0,17,1,0,0,19,1,0,0,21,1,0,0,23,1,0,0,25,1,0,0,27,1,0,0,29,1,0,0,31,1,0,0,33,1,0,0,35,1,0,0,37,1,0,0,39,1,0,0,41,1,0,0,43,1,0,0,45,1,0,0,47,1,0,0,49,1,0,0,51,1,0,0,53,1,0,0,55,1,0,0,57,1,0,0,59,1,0,0,61,1,0,0,63,1,0,0,65,1,0,0,67,1,0,0,69,1,0,0,71,1,0,0,73,1,0,0,75,1,0,0,
77,1,0,0,79,1,0,0,81,1,0,0,83,1,0,0,85,1,0,0,87,1,0,0,89,1,0,0,91,1,0,0,93,1,0,0,95,1,0,0,13,0,0,0,25,0,0,0,41,0,0,0,61,0,0,0,85,0,0,0,113,0,0,0,145,0,0,0,181,0,0,0,221,0,0,0,9,1,0,0,57,1,0,0,109,1,0,0,165,1,0,0,225,1,0,0,33,2,0,0,101,2,0,0,173,2,0,0,249,2,0,0,73,3,0,0,157,3,0,0,245,3,0,0,81,4,0,0,177,4,0,0,21,5,0,0,125,5,0,0,233,5,0,0,89,6,0,0,205,6,0,0,69,7,0,0,193,7,0,0,65,8,0,0,197,8,0,0,77,9,0,0,217,9,0,0,105,10,0,0,253,10,0,0,149,11,0,0,49,12,0,0,209,12,0,0,117,13,0,0,29,14,0,0,201,14,0,0,121,
15,0,0,45,16,0,0,229,16,0,0,161,17,0,0,97,18,0,0,37,19,0,0,237,19,0,0,185,20,0,0,137,21,0,0,93,22,0,0,53,23,0,0,17,24,0,0,241,24,0,0,213,25,0,0,189,26,0,0,169,27,0,0,153,28,0,0,141,29,0,0,133,30,0,0,129,31,0,0,129,32,0,0,133,33,0,0,141,34,0,0,153,35,0,0,169,36,0,0,189,37,0,0,213,38,0,0,241,39,0,0,17,41,0,0,53,42,0,0,93,43,0,0,137,44,0,0,185,45,0,0,237,46,0,0,37,48,0,0,97,49,0,0,161,50,0,0,229,51,0,0,45,53,0,0,121,54,0,0,201,55,0,0,29,57,0,0,117,58,0,0,209,59,0,0,49,61,0,0,149,62,0,0,253,63,0,0,105,
65,0,0,217,66,0,0,77,68,0,0,197,69,0,0,65,71,0,0,193,72,0,0,69,74,0,0,205,75,0,0,89,77,0,0,233,78,0,0,125,80,0,0,21,82,0,0,177,83,0,0,81,85,0,0,245,86,0,0,157,88,0,0,73,90,0,0,249,91,0,0,173,93,0,0,101,95,0,0,33,97,0,0,225,98,0,0,165,100,0,0,109,102,0,0,57,104,0,0,9,106,0,0,221,107,0,0,181,109,0,0,145,111,0,0,113,113,0,0,85,115,0,0,61,117,0,0,41,119,0,0,25,121,0,0,13,123,0,0,5,125,0,0,1,127,0,0,1,129,0,0,5,131,0,0,13,133,0,0,25,135,0,0,41,137,0,0,61,139,0,0,85,141,0,0,113,143,0,0,145,145,0,0,181,
147,0,0,221,149,0,0,9,152,0,0,57,154,0,0,109,156,0,0,165,158,0,0,225,160,0,0,33,163,0,0,101,165,0,0,173,167,0,0,249,169,0,0,73,172,0,0,157,174,0,0,245,176,0,0,81,179,0,0,177,181,0,0,21,184,0,0,125,186,0,0,233,188,0,0,89,191,0,0,205,193,0,0,69,196,0,0,193,198,0,0,65,201,0,0,197,203,0,0,77,206,0,0,217,208,0,0,105,211,0,0,253,213,0,0,149,216,0,0,49,219,0,0,209,221,0,0,117,224,0,0,29,227,0,0,201,229,0,0,121,232,0,0,45,235,0,0,229,237,0,0,161,240,0,0,63,0,0,0,129,0,0,0,231,0,0,0,121,1,0,0,63,2,0,0,65,
3,0,0,135,4,0,0,25,6,0,0,255,7,0,0,65,10,0,0,231,12,0,0,249,15,0,0,127,19,0,0,129,23,0,0,7,28,0,0,25,33,0,0,191,38,0,0,1,45,0,0,231,51,0,0,121,59,0,0,191,67,0,0,193,76,0,0,135,86,0,0,25,97,0,0,127,108,0,0,193,120,0,0,231,133,0,0,249,147,0,0,255,162,0,0,1,179,0,0,7,196,0,0,25,214,0,0,63,233,0,0,129,253,0,0,231,18,1,0,121,41,1,0,63,65,1,0,65,90,1,0,135,116,1,0,25,144,1,0,255,172,1,0,65,203,1,0,231,234,1,0,249,11,2,0,127,46,2,0,129,82,2,0,7,120,2,0,25,159,2,0,191,199,2,0,1,242,2,0,231,29,3,0,121,75,
3,0,191,122,3,0,193,171,3,0,135,222,3,0,25,19,4,0,127,73,4,0,193,129,4,0,231,187,4,0,249,247,4,0,255,53,5,0,1,118,5,0,7,184,5,0,25,252,5,0,63,66,6,0,129,138,6,0,231,212,6,0,121,33,7,0,63,112,7,0,65,193,7,0,135,20,8,0,25,106,8,0,255,193,8,0,65,28,9,0,231,120,9,0,249,215,9,0,127,57,10,0,129,157,10,0,7,4,11,0,25,109,11,0,191,216,11,0,1,71,12,0,231,183,12,0,121,43,13,0,191,161,13,0,193,26,14,0,135,150,14,0,25,21,15,0,127,150,15,0,193,26,16,0,231,161,16,0,249,43,17,0,255,184,17,0,1,73,18,0,7,220,18,0,
25,114,19,0,63,11,20,0,129,167,20,0,231,70,21,0,121,233,21,0,63,143,22,0,65,56,23,0,135,228,23,0,25,148,24,0,255,70,25,0,65,253,25,0,231,182,26,0,249,115,27,0,127,52,28,0,129,248,28,0,7,192,29,0,25,139,30,0,191,89,31,0,1,44,32,0,231,1,33,0,121,219,33,0,191,184,34,0,193,153,35,0,135,126,36,0,25,103,37,0,127,83,38,0,193,67,39,0,231,55,40,0,249,47,41,0,255,43,42,0,1,44,43,0,7,48,44,0,25,56,45,0,63,68,46,0,129,84,47,0,231,104,48,0,121,129,49,0,63,158,50,0,65,191,51,0,135,228,52,0,25,14,54,0,255,59,55,
0,65,110,56,0,231,164,57,0,249,223,58,0,127,31,60,0,129,99,61,0,7,172,62,0,25,249,63,0,191,74,65,0,1,161,66,0,231,251,67,0,121,91,69,0,191,191,70,0,193,40,72,0,135,150,73,0,25,9,75,0,127,128,76,0,193,252,77,0,231,125,79,0,249,3,81,0,255,142,82,0,1,31,84,0,7,180,85,0,25,78,87,0,63,237,88,0,129,145,90,0,231,58,92,0,121,233,93,0,63,157,95,0,65,86,97,0,135,20,99,0,25,216,100,0,255,160,102,0,65,111,104,0,231,66,106,0,249,27,108,0,127,250,109,0,65,1,0,0,169,2,0,0,9,5,0,0,193,8,0,0,65,14,0,0,9,22,0,0,169,
32,0,0,193,46,0,0,1,65,0,0,41,88,0,0,9,117,0,0,129,152,0,0,129,195,0,0,9,247,0,0,41,52,1,0,1,124,1,0,193,207,1,0,169,48,2,0,9,160,2,0,65,31,3,0,193,175,3,0,9,83,4,0,169,10,5,0,65,216,5,0,129,189,6,0,41,188,7,0,9,214,8,0,1,13,10,0,1,99,11,0,9,218,12,0,41,116,14,0,129,51,16,0,65,26,18,0,169,42,20,0,9,103,22,0,193,209,24,0,65,109,27,0,9,60,30,0,169,64,33,0,193,125,36,0,1,246,39,0,41,172,43,0,9,163,47,0,129,221,51,0,129,94,56,0,9,41,61,0,41,64,66,0,1,167,71,0,193,96,77,0,169,112,83,0,9,218,89,0,65,160,
96,0,193,198,103,0,9,81,111,0,169,66,119,0,65,159,127,0,129,106,136,0,41,168,145,0,9,92,155,0,1,138,165,0,1,54,176,0,9,100,187,0,41,24,199,0,129,86,211,0,65,35,224,0,169,130,237,0,9,121,251,0,193,10,10,1,65,60,25,1,9,18,41,1,169,144,57,1,193,188,74,1,1,155,92,1,41,48,111,1,9,129,130,1,129,146,150,1,129,105,171,1,9,11,193,1,41,124,215,1,1,194,238,1,193,225,6,2,169,224,31,2,9,196,57,2,65,145,84,2,193,77,112,2,9,255,140,2,169,170,170,2,65,86,201,2,129,7,233,2,41,196,9,3,9,146,43,3,1,119,78,3,1,121,114,
3,9,158,151,3,41,236,189,3,129,105,229,3,65,28,14,4,169,10,56,4,9,59,99,4,193,179,143,4,65,123,189,4,9,152,236,4,169,16,29,5,193,235,78,5,1,48,130,5,41,228,182,5,9,15,237,5,129,183,36,6,129,228,93,6,9,157,152,6,41,232,212,6,1,205,18,7,193,82,82,7,169,128,147,7,9,94,214,7,65,242,26,8,193,68,97,8,9,93,169,8,169,66,243,8,65,253,62,9,129,148,140,9,41,16,220,9,9,120,45,10,1,212,128,10,1,44,214,10,9,136,45,11,41,240,134,11,129,108,226,11,65,5,64,12,169,194,159,12,9,173,1,13,193,204,101,13,65,42,204,13,
9,206,52,14,169,192,159,14,193,10,13,15,1,181,124,15,41,200,238,15,9,77,99,16,129,76,218,16,129,207,83,17,9,223,207,17,41,132,78,18,1,200,207,18,193,179,83,19,169,80,218,19,9,168,99,20,65,195,239,20,193,171,126,21,9,107,16,22,169,10,165,22,65,148,60,23,129,17,215,23,41,140,116,24,9,14,21,25,1,161,184,25,1,79,95,26,9,34,9,27,41,36,182,27,129,95,102,28,65,222,25,29,169,170,208,29,9,207,138,30,193,85,72,31,65,73,9,32,9,180,205,32,169,160,149,33,193,25,97,34,1,42,48,35,41,220,2,36,9,59,217,36,129,81,
179,37,147,6,0,0,69,14,0,0,15,28,0,0,17,51,0,0,91,87,0,0,13,142,0,0,119,221,0,0,57,77,1,0,99,230,1,0,149,179,2,0,31,193,3,0,33,29,5,0,171,215,6,0,221,2,9,0,7,179,11,0,201,254,14,0,51,255,18,0,229,207,23,0,47,143,29,0,49,94,36,0,251,96,44,0,173,190,53,0,151,161,64,0,89,55,77,0,3,177,91,0,53,67,108,0,63,38,127,0,65,150,148,0,75,211,172,0,125,33,200,0,39,201,230,0,233,22,9,1,211,91,47,1,133,237,89,1,79,38,137,1,81,101,189,1,155,14,247,1,77,139,54,2,183,73,124,2,121,189,200,2,163,95,28,3],"i8",4,w.A);
J([213,174,119,3,95,47,219,3,97,107,71,4,235,242,188,4,29,92,60,5,71,67,198,5,9,75,91,6,115,28,252,6,37,103,169,7,111,225,99,8,113,72,44,9,59,96,3,10,237,243,233,10,215,213,224,11,153,223,232,12,67,242,2,14,117,246,47,15,127,220,112,16,129,156,198,17,139,54,50,19,189,178,180,20,103,33,79,22,41,155,2,24,19,65,208,25,197,60,185,27,143,192,190,29,145,7,226,31,219,85,36,34,141,248,134,36,247,69,11,39,185,157,178,41,227,104,126,44,21,26,112,47,159,45,137,50,161,41,203,53,43,158,55,57,93,37,208,60,135,
99,150,64,73,7,140,68,179,201,178,72,101,110,12,77,175,195,154,81,177,162,95,86,123,239,92,91,45,153,148,96,23,154,8,102,217,247,186,107,131,195,173,113,181,25,227,119,191,34,93,126,29,35,0,0,113,77,0,0,145,156,0,0,253,38,1,0,101,12,2,0,233,119,3,0,153,162,5,0,53,214,8,0,45,112,13,0,225,228,19,0,33,195,28,0,237,183,40,0,117,146,56,0,89,72,77,0,41,250,103,0,37,248,137,0,61,199,180,0,81,38,234,0,177,19,44,1,221,210,124,1,133,242,222,1,201,82,85,2,185,43,227,2,21,20,140,3,77,8,84,4,193,113,63,5,65,46,
83,6,205,151,148,7,149,140,9,9,57,119,184,10,73,87,168,12,5,202,224,14,93,19,106,17,49,39,77,20,209,178,147,23,189,38,72,27,165,192,117,31,169,149,40,36,217,156,109,41,245,185,82,47,109,200,230,53,161,166,57,61,97,65,92,69,173,159,96,78,181,238,89,88,25,142,92,99,105,28,126,111,229,131,213,124,255,189,0,0,1,168,1,0,143,107,3,0,241,158,6,0,63,35,12,0,193,61,21,0,143,182,35,0,241,252,57,0,255,81,91,0,1,250,139,0,15,117,209,0,113,191,50,1,63,154,184,1,193,220,109,2,15,207,95,3,113,142,158,4,255,123,
61,6,1,182,83,8,143,156,252,10,241,97,88,14,63,167,140,18,193,37,197,23,143,101,52,30,241,129,20,38,255,251,167,47,1,156,58,59,15,98,34,73,113,134,192,89,63,138,130,109,193,88,227,132,1,14,4,0,145,33,9,0,17,44,19,0,65,238,37,0,65,79,71,0,145,67,128,0,17,247,221,0,1,70,115,1,1,146,90,2,17,1,184,3,145,53,188,5,65,143,167,8,65,6,206,12,17,178,155,18,145,15,154,26,1,26,118,37,1,76,7,52,145,158,87,71,17,157,172,96,65,166,145,129,35,81,22,0,197,158,50,0,23,185,107,0,153,246,216,0,107,137,160,1,13,196,254,
2,31,1,80,5,33,217,29,9,51,108,48,15,213,162,164,24,167,103,8,39,41,253,125,60,123,181,231,91,29,119,29,137,175,160,45,201,173,142,123,0,137,230,25,1,57,150,94,2,61,22,216,4,181,99,119,9,225,40,198,17,33,3,52,32,117,72,130,56,125,87,87,96,191,91,175,2,129,216,39,6,247,132,94,13,233,254,173,27,127,139,235,54,129,183,229,104,23,3,156,193,193,12,255,14,57,106,133,34,25,238,145,75,129,120,43,158,51,225,9,84,149,139,0,0,55,152,0,0,255,165,0,0,4,181,0,0,103,197,0,0,69,215,0,0,193,234,0,0,255,255,0,0,12,
43,0,0,128,187,0,0,120,0,0,0,21,0,0,0,21,0,0,0,0,154,89,63,0,0,0,0,0,0,128,63,0,0,128,63,144,111,0,0,3,0,0,0,8,0,0,0,120,0,0,0,11,0,0,0,108,123,0,0,188,111,0,0,120,43,0,0,128,7,0,0,3,0,0,0,88,45,0,0,144,45,0,0,200,45,0,0,0,46,0,0,56,46,0,0,136,1,0,0,230,111,0,0,83,124,0,0,219,125,0,0,106,28,141,56,82,187,30,58,8,105,220,58,130,237,87,59,137,99,178,59,3,42,5,60,48,220,57,60,180,62,119,60,28,163,158,60,209,242,197,60,254,134,241,60,155,171,16,61,5,173,42,61,132,194,70,61,83,230,100,61,17,137,130,61,
135,159,147,61,203,178,165,61,209,190,184,61,58,191,204,61,84,175,225,61,20,138,247,61,14,37,7,62,217,244,18,62,95,49,31,62,104,215,43,62,138,227,56,62,48,82,70,62,148,31,84,62,191,71,98,62,142,198,112,62,176,151,127,62,82,91,135,62,96,15,143,62,152,229,150,62,121,219,158,62,112,238,166,62,216,27,175,62,251,96,183,62,17,187,191,62,70,39,200,62,183,162,208,62,120,42,217,62,148,187,225,62,12,83,234,62,222,237,242,62,6,137,251,62,190,16,2,63,31,90,6,63,36,159,10,63,80,222,14,63,43,22,19,63,65,69,23,
63,37,106,27,63,115,131,31,63,206,143,35,63,230,141,39,63,116,124,43,63,63,90,47,63,25,38,51,63,231,222,54,63,153,131,58,63,51,19,62,63,197,140,65,63,119,239,68,63,127,58,72,63,39,109,75,63,206,134,78,63,229,134,81,63,241,108,84,63,142,56,87,63,105,233,89,63,69,127,92,63,250,249,94,63,115,89,97,63,175,157,99,63,193,198,101,63,207,212,103,63,17,200,105,63,210,160,107,63,110,95,109,63,80,4,111,63,244,143,112,63,230,2,114,63,189,93,115,63,31,161,116,63,191,205,117,63,87,228,118,63,176,229,119,63,151,
210,120,63,227,171,121,63,115,114,122,63,39,39,123,63,231,202,123,63,157,94,124,63,53,227,124,63,156,89,125,63,189,194,125,63,134,31,126,63,222,112,126,63,171,183,126,63,207,244,126,63,38,41,127,63,134,85,127,63,190,122,127,63,150,153,127,63,204,178,127,63,20,199,127,63,28,215,127,63,130,227,127,63,221,236,127,63,182,243,127,63,138,248,127,63,200,251,127,63,214,253,127,63,7,255,127,63,165,255,127,63,232,255,127,63,253,255,127,63,0,0,128,63,224,1,0,0,135,136,8,59,255,255,255,255,5,0,96,0,3,0,32,0,
4,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,88,74,0,0,0,0,0,0,240,0,0,0,137,136,136,59,1,0,0,0,5,0,48,0,3,0,16,0,4,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,114,0,0,88,74,0,0,0,0,0,0,120,0,0,0,136,136,8,60,2,0,0,0,5,0,24,0,3,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,113,0,0,88,74,0,0,0,0,0,0,60,0,0,0,137,136,136,60,3,0,0,0,5,0,12,0,3,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,112,0,0,88,74,0,0,0,0,0,0,255,255,127,63,142,255,127,63,106,254,127,63,
147,252,127,63,7,250,127,63,200,246,127,63,214,242,127,63,48,238,127,63,214,232,127,63,200,226,127,63,7,220,127,63,147,212,127,63,107,204,127,63,143,195,127,63,0,186,127,63,189,175,127,63,199,164,127,63,29,153,127,63,192,140,127,63,176,127,127,63,236,113,127,63,118,99,127,63,75,84,127,63,110,68,127,63,222,51,127,63,154,34,127,63,163,16,127,63,250,253,126,63,157,234,126,63,141,214,126,63,203,193,126,63,86,172,126,63,46,150,126,63,83,127,126,63,198,103,126,63,134,79,126,63,148,54,126,63,239,28,126,
63,152,2,126,63,143,231,125,63,211,203,125,63,102,175,125,63,70,146,125,63,116,116,125,63,241,85,125,63,188,54,125,63,213,22,125,63,60,246,124,63,242,212,124,63,246,178,124,63,73,144,124,63,235,108,124,63,219,72,124,63,27,36,124,63,169,254,123,63,135,216,123,63,180,177,123,63,48,138,123,63,252,97,123,63,23,57,123,63,130,15,123,63,61,229,122,63,72,186,122,63,162,142,122,63,77,98,122,63,72,53,122,63,148,7,122,63,48,217,121,63,29,170,121,63,90,122,121,63,233,73,121,63,200,24,121,63,249,230,120,63,123,
180,120,63,78,129,120,63,115,77,120,63,234,24,120,63,178,227,119,63,205,173,119,63,58,119,119,63,249,63,119,63,10,8,119,63,110,207,118,63,37,150,118,63,47,92,118,63,140,33,118,63,60,230,117,63,64,170,117,63,151,109,117,63,66,48,117,63,65,242,116,63,148,179,116,63,59,116,116,63,55,52,116,63,135,243,115,63,44,178,115,63,38,112,115,63,118,45,115,63,26,234,114,63,20,166,114,63,100,97,114,63,10,28,114,63,5,214,113,63,87,143,113,63,0,72,113,63,255,255,112,63,85,183,112,63,2,110,112,63,6,36,112,63,98,217,
111,63,21,142,111,63,32,66,111,63,132,245,110,63,63,168,110,63,83,90,110,63,192,11,110,63,134,188,109,63,165,108,109,63,29,28,109,63,239,202,108,63,27,121,108,63,161,38,108,63,128,211,107,63,187,127,107,63,80,43,107,63,64,214,106,63,140,128,106,63,50,42,106,63,53,211,105,63,147,123,105,63,77,35,105,63,100,202,104,63,216,112,104,63,168,22,104,63,213,187,103,63,96,96,103,63,72,4,103,63,143,167,102,63,51,74,102,63,54,236,101,63,151,141,101,63,87,46,101,63,119,206,100,63,245,109,100,63,212,12,100,63,
18,171,99,63,177,72,99,63,176,229,98,63,16,130,98,63,209,29,98,63,243,184,97,63,119,83,97,63,92,237,96,63,164,134,96,63,78,31,96,63,91,183,95,63,203,78,95,63,158,229,94,63,213,123,94,63,112,17,94,63,110,166,93,63,210,58,93,63,154,206,92,63,198,97,92,63,89,244,91,63,81,134,91,63,174,23,91,63,114,168,90,63,157,56,90,63,46,200,89,63,39,87,89,63,135,229,88,63,79,115,88,63,127,0,88,63,23,141,87,63,24,25,87,63,130,164,86,63,86,47,86,63,147,185,85,63,58,67,85,63,75,204,84,63,199,84,84,63,174,220,83,63,1,
100,83,63,191,234,82,63,233,112,82,63,127,246,81,63,130,123,81,63,242,255,80,63,207,131,80,63,26,7,80,63,210,137,79,63,250,11,79,63,144,141,78,63,148,14,78,63,9,143,77,63,237,14,77,63,65,142,76,63,5,13,76,63,59,139,75,63,225,8,75,63,249,133,74,63,131,2,74,63,127,126,73,63,238,249,72,63,207,116,72,63,36,239,71,63,237,104,71,63,41,226,70,63,218,90,70,63,0,211,69,63,155,74,69,63,172,193,68,63,50,56,68,63,47,174,67,63,162,35,67,63,141,152,66,63,239,12,66,63,200,128,65,63,26,244,64,63,229,102,64,63,40,
217,63,63,229,74,63,63,27,188,62,63,204,44,62,63,247,156,61,63,157,12,61,63,190,123,60,63,92,234,59,63,117,88,59,63,10,198,58,63,29,51,58,63,173,159,57,63,187,11,57,63,71,119,56,63,81,226,55,63,218,76,55,63,227,182,54,63,107,32,54,63,116,137,53,63,253,241,52,63,7,90,52,63,147,193,51,63,160,40,51,63,48,143,50,63,66,245,49,63,216,90,49,63,241,191,48,63,142,36,48,63,175,136,47,63,85,236,46,63,129,79,46,63,50,178,45,63,105,20,45,63,39,118,44,63,107,215,43,63,55,56,43,63,139,152,42,63,103,248,41,63,204,
87,41,63,186,182,40,63,50,21,40,63,51,115,39,63,191,208,38,63,214,45,38,63,121,138,37,63,167,230,36,63,97,66,36,63,169,157,35,63,125,248,34,63,223,82,34,63,207,172,33,63,77,6,33,63,91,95,32,63,248,183,31,63,37,16,31,63,226,103,30,63,48,191,29,63,16,22,29,63,129,108,28,63,132,194,27,63,26,24,27,63,67,109,26,63,0,194,25,63,81,22,25,63,54,106,24,63,177,189,23,63,193,16,23,63,103,99,22,63,163,181,21,63,118,7,21,63,225,88,20,63,228,169,19,63,127,250,18,63,179,74,18,63,128,154,17,63,231,233,16,63,232,56,
16,63,132,135,15,63,187,213,14,63,142,35,14,63,254,112,13,63,10,190,12,63,179,10,12,63,250,86,11,63,223,162,10,63,99,238,9,63,134,57,9,63,73,132,8,63,172,206,7,63,175,24,7,63,84,98,6,63,155,171,5,63,131,244,4,63,15,61,4,63,61,133,3,63,15,205,2,63,134,20,2,63,161,91,1,63,97,162,0,63,143,209,255,62,167,93,254,62,14,233,252,62,194,115,251,62,198,253,249,62,27,135,248,62,193,15,247,62,186,151,245,62,6,31,244,62,168,165,242,62,158,43,241,62,236,176,239,62,145,53,238,62,144,185,236,62,232,60,235,62,154,
191,233,62,169,65,232,62,21,195,230,62,223,67,229,62,8,196,227,62,145,67,226,62,124,194,224,62,200,64,223,62,120,190,221,62,140,59,220,62,6,184,218,62,230,51,217,62,46,175,215,62,223,41,214,62,249,163,212,62,125,29,211,62,110,150,209,62,204,14,208,62,151,134,206,62,210,253,204,62,125,116,203,62,153,234,201,62,39,96,200,62,40,213,198,62,159,73,197,62,138,189,195,62,236,48,194,62,198,163,192,62,25,22,191,62,230,135,189,62,45,249,187,62,241,105,186,62,50,218,184,62,241,73,183,62,47,185,181,62,238,39,
180,62,47,150,178,62,242,3,177,62,57,113,175,62,4,222,173,62,86,74,172,62,47,182,170,62,144,33,169,62,122,140,167,62,239,246,165,62,239,96,164,62,124,202,162,62,151,51,161,62,64,156,159,62,122,4,158,62,68,108,156,62,161,211,154,62,145,58,153,62,22,161,151,62,48,7,150,62,225,108,148,62,41,210,146,62,11,55,145,62,135,155,143,62,158,255,141,62,81,99,140,62,162,198,138,62,145,41,137,62,32,140,135,62,80,238,133,62,34,80,132,62,151,177,130,62,176,18,129,62,222,230,126,62,169,167,123,62,195,103,120,62,47,
39,117,62,238,229,113,62,4,164,110,62,115,97,107,62,60,30,104,62,98,218,100,62,232,149,97,62,207,80,94,62,26,11,91,62,204,196,87,62,230,125,84,62,107,54,81,62,93,238,77,62,191,165,74,62,146,92,71,62,218,18,68,62,151,200,64,62,206,125,61,62,128,50,58,62,174,230,54,62,93,154,51,62,141,77,48,62,66,0,45,62,125,178,41,62,66,100,38,62,145,21,35,62,110,198,31,62,219,118,28,62,218,38,25,62,109,214,21,62,152,133,18,62,91,52,15,62,186,226,11,62,183,144,8,62,84,62,5,62,148,235,1,62,240,48,253,61,6,138,246,61,
113,226,239,61,51,58,233,61,79,145,226,61,207,231,219,61,181,61,213,61,3,147,206,61,192,231,199,61,242,59,193,61,156,143,186,61,195,226,179,61,108,53,173,61,155,135,166,61,85,217,159,61,159,42,153,61,126,123,146,61,246,203,139,61,11,28,133,61,135,215,124,61,70,118,111,61,93,20,98,61,214,177,84,61,185,78,71,61,16,235,57,61,229,134,44,61,64,34,31,61,44,189,17,61,178,87,4,61,181,227,237,60,96,23,211,60,118,74,184,60,11,125,157,60,50,175,130,60,250,193,79,60,254,36,26,60,42,15,201,59,153,167,59,59,46,
125,214,185,210,70,113,187,171,222,227,187,166,140,39,188,129,41,93,188,225,98,137,188,160,48,164,188,236,253,190,188,179,202,217,188,224,150,244,188,49,177,7,189,147,22,21,189,140,123,34,189,19,224,47,189,30,68,61,189,165,167,74,189,157,10,88,189,254,108,101,189,190,206,114,189,234,23,128,189,27,200,134,189,237,119,141,189,92,39,148,189,99,214,154,189,253,132,161,189,38,51,168,189,217,224,174,189,17,142,181,189,202,58,188,189,254,230,194,189,170,146,201,189,200,61,208,189,84,232,214,189,74,146,221,
189,164,59,228,189,93,228,234,189,114,140,241,189,221,51,248,189,154,218,254,189,82,192,2,190,252,18,6,190,71,101,9,190,50,183,12,190,186,8,16,190,221,89,19,190,152,170,22,190,234,250,25,190,208,74,29,190,71,154,32,190,78,233,35,190,225,55,39,190,0,134,42,190,166,211,45,190,211,32,49,190,131,109,52,190,181,185,55,190,101,5,59,190,147,80,62,190,58,155,65,190,90,229,68,190,240,46,72,190,249,119,75,190,116,192,78,190,93,8,82,190,179,79,85,190,115,150,88,190,156,220,91,190,42,34,95,190,27,103,98,190,
109,171,101,190,31,239,104,190,44,50,108,190,148,116,111,190,84,182,114,190,106,247,117,190,211,55,121,190,141,119,124,190,150,182,127,190,117,122,129,190,69,25,131,190,185,183,132,190,208,85,134,190,136,243,135,190,225,144,137,190,218,45,139,190,112,202,140,190,164,102,142,190,116,2,144,190,223,157,145,190,228,56,147,190,129,211,148,190,182,109,150,190,129,7,152,190,226,160,153,190,215,57,155,190,95,210,156,190,121,106,158,190,35,2,160,190,94,153,161,190,38,48,163,190,125,198,164,190,96,92,166,190,
206,241,167,190,198,134,169,190,71,27,171,190,80,175,172,190,224,66,174,190,245,213,175,190,143,104,177,190,173,250,178,190,77,140,180,190,110,29,182,190,16,174,183,190,48,62,185,190,207,205,186,190,234,92,188,190,130,235,189,190,148,121,191,190,31,7,193,190,35,148,194,190,159,32,196,190,145,172,197,190,248,55,199,190,211,194,200,190,34,77,202,190,226,214,203,190,19,96,205,190,181,232,206,190,197,112,208,190,66,248,209,190,45,127,211,190,131,5,213,190,67,139,214,190,109,16,216,190,255,148,217,190,
249,24,219,190,89,156,220,190,29,31,222,190,70,161,223,190,211,34,225,190,193,163,226,190,16,36,228,190,190,163,229,190,204,34,231,190,56,161,232,190,0,31,234,190,36,156,235,190,162,24,237,190,122,148,238,190,171,15,240,190,51,138,241,190,18,4,243,190,70,125,244,190,207,245,245,190,170,109,247,190,217,228,248,190,88,91,250,190,40,209,251,190,71,70,253,190,181,186,254,190,56,23,0,191,187,208,0,191,228,137,1,191,178,66,2,191,37,251,2,191,59,179,3,191,246,106,4,191,83,34,5,191,83,217,5,191,245,143,6,
191,56,70,7,191,29,252,7,191,162,177,8,191,199,102,9,191,140,27,10,191,240,207,10,191,243,131,11,191,147,55,12,191,209,234,12,191,172,157,13,191,36,80,14,191,56,2,15,191,232,179,15,191,50,101,16,191,24,22,17,191,151,198,17,191,176,118,18,191,99,38,19,191,174,213,19,191,145,132,20,191,13,51,21,191,31,225,21,191,200,142,22,191,8,60,23,191,221,232,23,191,72,149,24,191,72,65,25,191,220,236,25,191,4,152,26,191,192,66,27,191,15,237,27,191,240,150,28,191,99,64,29,191,104,233,29,191,254,145,30,191,37,58,
31,191,220,225,31,191,35,137,32,191,250,47,33,191,95,214,33,191,82,124,34,191,212,33,35,191,227,198,35,191,127,107,36,191,167,15,37,191,92,179,37,191,157,86,38,191,104,249,38,191,191,155,39,191,160,61,40,191,11,223,40,191,255,127,41,191,125,32,42,191,131,192,42,191,17,96,43,191,39,255,43,191,196,157,44,191,232,59,45,191,146,217,45,191,195,118,46,191,121,19,47,191,180,175,47,191,115,75,48,191,183,230,48,191,127,129,49,191,203,27,50,191,153,181,50,191,234,78,51,191,189,231,51,191,18,128,52,191,232,
23,53,191,63,175,53,191,22,70,54,191,110,220,54,191,69,114,55,191,156,7,56,191,113,156,56,191,197,48,57,191,150,196,57,191,230,87,58,191,178,234,58,191,252,124,59,191,194,14,60,191,3,160,60,191,193,48,61,191,250,192,61,191,173,80,62,191,219,223,62,191,131,110,63,191,165,252,63,191,64,138,64,191,83,23,65,191,224,163,65,191,228,47,66,191,96,187,66,191,83,70,67,191,190,208,67,191,158,90,68,191,246,227,68,191,194,108,69,191,5,245,69,191,188,124,70,191,232,3,71,191,137,138,71,191,157,16,72,191,37,150,
72,191,32,27,73,191,142,159,73,191,111,35,74,191,193,166,74,191,134,41,75,191,188,171,75,191,99,45,76,191,122,174,76,191,2,47,77,191,250,174,77,191,98,46,78,191,57,173,78,191,126,43,79,191,51,169,79,191,85,38,80,191,230,162,80,191,228,30,81,191,80,154,81,191,40,21,82,191,109,143,82,191,30,9,83,191,59,130,83,191,195,250,83,191,183,114,84,191,22,234,84,191,223,96,85,191,18,215,85,191,176,76,86,191,183,193,86,191,39,54,87,191,0,170,87,191,66,29,88,191,236,143,88,191,254,1,89,191,120,115,89,191,89,228,
89,191,162,84,90,191,81,196,90,191,102,51,91,191,226,161,91,191,195,15,92,191,10,125,92,191,183,233,92,191,200,85,93,191,62,193,93,191,24,44,94,191,87,150,94,191,249,255,94,191,255,104,95,191,104,209,95,191,51,57,96,191,98,160,96,191,243,6,97,191,229,108,97,191,58,210,97,191,240,54,98,191,8,155,98,191,128,254,98,191,89,97,99,191,146,195,99,191,44,37,100,191,37,134,100,191,126,230,100,191,55,70,101,191,78,165,101,191,197,3,102,191,154,97,102,191,205,190,102,191,94,27,103,191,77,119,103,191,154,210,
103,191,68,45,104,191,75,135,104,191,174,224,104,191,111,57,105,191,139,145,105,191,4,233,105,191,217,63,106,191,9,150,106,191,148,235,106,191,123,64,107,191,188,148,107,191,89,232,107,191,79,59,108,191,160,141,108,191,75,223,108,191,79,48,109,191,173,128,109,191,101,208,109,191,117,31,110,191,223,109,110,191,161,187,110,191,187,8,111,191,46,85,111,191,248,160,111,191,27,236,111,191,149,54,112,191,103,128,112,191,144,201,112,191,15,18,113,191,230,89,113,191,19,161,113,191,151,231,113,191,113,45,114,
191,160,114,114,191,38,183,114,191,1,251,114,191,50,62,115,191,184,128,115,191,148,194,115,191,196,3,116,191,73,68,116,191,34,132,116,191,80,195,116,191,210,1,117,191,168,63,117,191,210,124,117,191,80,185,117,191,33,245,117,191,69,48,118,191,189,106,118,191,136,164,118,191,166,221,118,191,22,22,119,191,217,77,119,191,239,132,119,191,87,187,119,191,17,241,119,191,29,38,120,191,122,90,120,191,42,142,120,191,43,193,120,191,125,243,120,191,33,37,121,191,22,86,121,191,92,134,121,191,242,181,121,191,218,
228,121,191,18,19,122,191,154,64,122,191,115,109,122,191,157,153,122,191,22,197,122,191,223,239,122,191,248,25,123,191,97,67,123,191,26,108,123,191,34,148,123,191,122,187,123,191,32,226,123,191,23,8,124,191,92,45,124,191,240,81,124,191,211,117,124,191,5,153,124,191,134,187,124,191,85,221,124,191,115,254,124,191,223,30,125,191,154,62,125,191,163,93,125,191,250,123,125,191,159,153,125,191,146,182,125,191,211,210,125,191,98,238,125,191,63,9,126,191,105,35,126,191,225,60,126,191,167,85,126,191,186,109,
126,191,27,133,126,191,201,155,126,191,196,177,126,191,13,199,126,191,162,219,126,191,133,239,126,191,181,2,127,191,50,21,127,191,252,38,127,191,19,56,127,191,118,72,127,191,39,88,127,191,36,103,127,191,110,117,127,191,5,131,127,191,232,143,127,191,25,156,127,191,149,167,127,191,95,178,127,191,116,188,127,191,215,197,127,191,133,206,127,191,129,214,127,191,200,221,127,191,93,228,127,191,61,234,127,191,106,239,127,191,227,243,127,191,169,247,127,191,187,250,127,191,25,253,127,191,196,254,127,191,187,
255,127,191,250,255,127,63,57,254,127,63,169,249,127,63,75,242,127,63,30,232,127,63,35,219,127,63,89,203,127,63,193,184,127,63,91,163,127,63,40,139,127,63,39,112,127,63,90,82,127,63,191,49,127,63,88,14,127,63,37,232,126,63,38,191,126,63,92,147,126,63,200,100,126,63,105,51,126,63,65,255,125,63,79,200,125,63,150,142,125,63,20,82,125,63,203,18,125,63,188,208,124,63,231,139,124,63,77,68,124,63,239,249,123,63,205,172,123,63,233,92,123,63,67,10,123,63,221,180,122,63,182,92,122,63,209,1,122,63,46,164,121,
63,206,67,121,63,178,224,120,63,220,122,120,63,76,18,120,63,4,167,119,63,4,57,119,63,79,200,118,63,228,84,118,63,198,222,117,63,246,101,117,63,117,234,116,63,68,108,116,63,101,235,115,63,218,103,115,63,163,225,114,63,194,88,114,63,57,205,113,63,9,63,113,63,52,174,112,63,187,26,112,63,160,132,111,63,228,235,110,63,138,80,110,63,147,178,109,63,1,18,109,63,213,110,108,63,17,201,107,63,183,32,107,63,201,117,106,63,73,200,105,63,57,24,105,63,155,101,104,63,111,176,103,63,186,248,102,63,124,62,102,63,184,
129,101,63,111,194,100,63,164,0,100,63,90,60,99,63,145,117,98,63,76,172,97,63,142,224,96,63,89,18,96,63,174,65,95,63,145,110,94,63,3,153,93,63,8,193,92,63,160,230,91,63,207,9,91,63,152,42,90,63,251,72,89,63,253,100,88,63,159,126,87,63,229,149,86,63,208,170,85,63,99,189,84,63,161,205,83,63,140,219,82,63,39,231,81,63,117,240,80,63,121,247,79,63,52,252,78,63,171,254,77,63,223,254,76,63,212,252,75,63,140,248,74,63,10,242,73,63,82,233,72,63,101,222,71,63,71,209,70,63,251,193,69,63,132,176,68,63,229,156,
67,63,32,135,66,63,58,111,65,63,52,85,64,63,19,57,63,63,216,26,62,63,136,250,60,63,38,216,59,63,180,179,58,63,54,141,57,63,175,100,56,63,34,58,55,63,147,13,54,63,5,223,52,63,124,174,51,63,249,123,50,63,130,71,49,63,25,17,48,63,194,216,46,63,127,158,45,63,86,98,44,63,72,36,43,63,90,228,41,63,144,162,40,63,235,94,39,63,113,25,38,63,37,210,36,63,9,137,35,63,35,62,34,63,117,241,32,63,4,163,31,63,210,82,30,63,228,0,29,63,61,173,27,63,225,87,26,63,211,0,25,63,25,168,23,63,180,77,22,63,170,241,20,63,253,
147,19,63,178,52,18,63,204,211,16,63,80,113,15,63,66,13,14,63,164,167,12,63,124,64,11,63,205,215,9,63,154,109,8,63,233,1,7,63,189,148,5,63,25,38,4,63,3,182,2,63,126,68,1,63,28,163,255,62,110,186,252,62,250,206,249,62,202,224,246,62,228,239,243,62,81,252,240,62,26,6,238,62,71,13,235,62,224,17,232,62,237,19,229,62,119,19,226,62,135,16,223,62,36,11,220,62,88,3,217,62,42,249,213,62,164,236,210,62,205,221,207,62,175,204,204,62,82,185,201,62,191,163,198,62,254,139,195,62,24,114,192,62,22,86,189,62,0,56,
186,62,224,23,183,62,189,245,179,62,161,209,176,62,149,171,173,62,162,131,170,62,207,89,167,62,39,46,164,62,178,0,161,62,121,209,157,62,133,160,154,62,223,109,151,62,143,57,148,62,160,3,145,62,26,204,141,62,5,147,138,62,107,88,135,62,86,28,132,62,205,222,128,62,182,63,123,62,16,191,116,62,187,59,110,62,201,181,103,62,77,45,97,62,89,162,90,62,255,20,84,62,81,133,77,62,99,243,70,62,70,95,64,62,13,201,57,62,202,48,51,62,144,150,44,62,114,250,37,62,130,92,31,62,210,188,24,62,118,27,18,62,127,120,11,62,
1,212,4,62,29,92,252,61,114,13,239,61,41,188,225,61,102,104,212,61,78,18,199,61,8,186,185,61,184,95,172,61,132,3,159,61,146,165,145,61,7,70,132,61,18,202,109,61,122,5,83,61,145,62,56,61,164,117,29,61,252,170,2,61,202,189,207,60,86,35,154,60,97,14,73,60,197,167,187,59,61,122,86,186,9,70,241,187,18,221,99,188,80,138,167,188,65,36,221,188,227,93,9,189,35,40,36,189,150,240,62,189,242,182,89,189,234,122,116,189,26,158,135,189,66,253,148,189,200,90,162,189,134,182,175,189,87,16,189,189,22,104,202,189,155,
189,215,189,195,16,229,189,105,97,242,189,101,175,255,189,74,125,6,190,104,33,13,190,250,195,19,190,237,100,26,190,46,4,33,190,172,161,39,190,83,61,46,190,16,215,52,190,210,110,59,190,134,4,66,190,25,152,72,190,121,41,79,190,148,184,85,190,86,69,92,190,174,207,98,190,137,87,105,190,214,220,111,190,128,95,118,190,120,223,124,190,84,174,129,190,129,235,132,190,56,39,136,190,114,97,139,190,36,154,142,190,69,209,145,190,205,6,149,190,179,58,152,190,238,108,155,190,116,157,158,190,61,204,161,190,64,249,
164,190,115,36,168,190,207,77,171,190,73,117,174,190,218,154,177,190,120,190,180,190,27,224,183,190,186,255,186,190,75,29,190,190,199,56,193,190,37,82,196,190,91,105,199,190,97,126,202,190,48,145,205,190,188,161,208,190,0,176,211,190,241,187,214,190,135,197,217,190,186,204,220,190,129,209,223,190,211,211,226,190,169,211,229,190,250,208,232,190,189,203,235,190,234,195,238,190,120,185,241,190,96,172,244,190,154,156,247,190,28,138,250,190,223,116,253,190,109,46,0,191,3,161,1,191,45,18,3,191,230,129,
4,191,44,240,5,191,250,92,7,191,76,200,8,191,30,50,10,191,108,154,11,191,50,1,13,191,108,102,14,191,23,202,15,191,45,44,17,191,172,140,18,191,144,235,19,191,213,72,21,191,118,164,22,191,113,254,23,191,192,86,25,191,98,173,26,191,81,2,28,191,138,85,29,191,9,167,30,191,203,246,31,191,204,68,33,191,9,145,34,191,124,219,35,191,36,36,37,191,253,106,38,191,2,176,39,191,48,243,40,191,132,52,42,191,250,115,43,191,143,177,44,191,63,237,45,191,7,39,47,191,227,94,48,191,208,148,49,191,202,200,50,191,206,250,
51,191,218,42,53,191,232,88,54,191,247,132,55,191,2,175,56,191,7,215,57,191,3,253,58,191,241,32,60,191,207,66,61,191,154,98,62,191,79,128,63,191,233,155,64,191,104,181,65,191,198,204,66,191,1,226,67,191,23,245,68,191,3,6,70,191,196,20,71,191,86,33,72,191,182,43,73,191,225,51,74,191,212,57,75,191,141,61,76,191,9,63,77,191,68,62,78,191,61,59,79,191,240,53,80,191,90,46,81,191,121,36,82,191,74,24,83,191,202,9,84,191,247,248,84,191,206,229,85,191,77,208,86,191,112,184,87,191,55,158,88,191,156,129,89,191,
160,98,90,191,62,65,91,191,117,29,92,191,65,247,92,191,162,206,93,191,148,163,94,191,20,118,95,191,34,70,96,191,186,19,97,191,217,222,97,191,127,167,98,191,169,109,99,191,84,49,100,191,126,242,100,191,38,177,101,191,73,109,102,191,229,38,103,191,248,221,103,191,128,146,104,191,123,68,105,191,232,243,105,191,195,160,106,191,12,75,107,191,192,242,107,191,222,151,108,191,100,58,109,191,80,218,109,191,160,119,110,191,83,18,111,191,102,170,111,191,217,63,112,191,169,210,112,191,213,98,113,191,91,240,113,
191,58,123,114,191,113,3,115,191,253,136,115,191,222,11,116,191,17,140,116,191,150,9,117,191,107,132,117,191,143,252,117,191,0,114,118,191,189,228,118,191,198,84,119,191,24,194,119,191,178,44,120,191,147,148,120,191,187,249,120,191,40,92,121,191,217,187,121,191,205,24,122,191,2,115,122,191,121,202,122,191,47,31,123,191,36,113,123,191,88,192,123,191,201,12,124,191,118,86,124,191,95,157,124,191,130,225,124,191,224,34,125,191,119,97,125,191,71,157,125,191,79,214,125,191,142,12,126,191,4,64,126,191,176,
112,126,191,146,158,126,191,169,201,126,191,245,241,126,191,117,23,127,191,41,58,127,191,16,90,127,191,43,119,127,191,120,145,127,191,248,168,127,191,170,189,127,191,143,207,127,191,165,222,127,191,237,234,127,191,102,244,127,191,17,251,127,191,237,254,127,191,234,255,127,63,229,248,127,63,166,230,127,63,45,201,127,63,124,160,127,63,149,108,127,63,121,45,127,63,44,227,126,63,177,141,126,63,11,45,126,63,63,193,125,63,82,74,125,63,72,200,124,63,40,59,124,63,247,162,123,63,189,255,122,63,128,81,122,
63,72,152,121,63,30,212,120,63,9,5,120,63,19,43,119,63,70,70,118,63,172,86,117,63,78,92,116,63,56,87,115,63,118,71,114,63,19,45,113,63,28,8,112,63,158,216,110,63,165,158,109,63,64,90,108,63,126,11,107,63,107,178,105,63,25,79,104,63,150,225,102,63,242,105,101,63,62,232,99,63,139,92,98,63,234,198,96,63,109,39,95,63,38,126,93,63,40,203,91,63,133,14,90,63,83,72,88,63,163,120,86,63,139,159,84,63,32,189,82,63,118,209,80,63,163,220,78,63,189,222,76,63,219,215,74,63,19,200,72,63,124,175,70,63,46,142,68,63,
65,100,66,63,206,49,64,63,236,246,61,63,180,179,59,63,66,104,57,63,173,20,55,63,16,185,52,63,134,85,50,63,41,234,47,63,21,119,45,63,101,252,42,63,53,122,40,63,161,240,37,63,198,95,35,63,192,199,32,63,172,40,30,63,169,130,27,63,212,213,24,63,74,34,22,63,42,104,19,63,147,167,16,63,164,224,13,63,123,19,11,63,57,64,8,63,253,102,5,63,231,135,2,63,45,70,255,62,91,113,249,62,151,145,243,62,36,167,237,62,69,178,231,62,60,179,225,62,76,170,219,62,186,151,213,62,201,123,207,62,190,86,201,62,223,40,195,62,112,
242,188,62,183,179,182,62,251,108,176,62,129,30,170,62,146,200,163,62,115,107,157,62,108,7,151,62,197,156,144,62,199,43,138,62,185,180,131,62,199,111,122,62,33,107,109,62,17,92,96,62,41,67,83,62,253,32,70,62,32,246,56,62,38,195,43,62,164,136,30,62,45,71,17,62,87,255,3,62,110,99,237,61,194,189,210,61,218,14,184,61,222,87,157,61,251,153,130,61,188,172,79,61,101,28,26,61,153,10,201,60,42,167,59,60,193,120,214,186,45,68,113,188,87,215,227,188,76,129,39,189,148,15,93,189,21,74,137,189,90,6,164,189,109,
187,190,189,34,104,217,189,78,11,244,189,227,81,7,190,47,152,20,190,247,215,33,190,165,16,47,190,166,65,60,190,100,106,73,190,77,138,86,190,205,160,99,190,80,173,112,190,69,175,125,190,13,83,133,190,158,200,139,190,13,56,146,190,18,161,152,190,102,3,159,190,191,94,165,190,216,178,171,190,105,255,177,190,43,68,184,190,216,128,190,190,42,181,196,190,219,224,202,190,165,3,209,190,69,29,215,190,117,45,221,190,241,51,227,190,118,48,233,190,192,34,239,190,141,10,245,190,155,231,250,190,211,92,0,191,56,
64,3,191,219,29,6,191,155,245,8,191,90,199,11,191,247,146,14,191,84,88,17,191,80,23,20,191,205,207,22,191,172,129,25,191,208,44,28,191,26,209,30,191,109,110,33,191,171,4,36,191,183,147,38,191,116,27,41,191,199,155,43,191,147,20,46,191,187,133,48,191,38,239,50,191,183,80,53,191,85,170,55,191,227,251,57,191,74,69,60,191,110,134,62,191,55,191,64,191,139,239,66,191,83,23,69,191,117,54,71,191,218,76,73,191,107,90,75,191,16,95,77,191,179,90,79,191,62,77,81,191,154,54,83,191,179,22,85,191,114,237,86,191,
197,186,88,191,149,126,90,191,208,56,92,191,98,233,93,191,56,144,95,191,64,45,97,191,103,192,98,191,156,73,100,191,206,200,101,191,235,61,103,191,227,168,104,191,167,9,106,191,39,96,107,191,84,172,108,191,31,238,109,191,122,37,111,191,88,82,112,191,171,116,113,191,103,140,114,191,127,153,115,191,231,155,116,191,149,147,117,191,126,128,118,191,150,98,119,191,212,57,120,191,47,6,121,191,158,199,121,191,23,126,122,191,148,41,123,191,13,202,123,191,122,95,124,191,213,233,124,191,24,105,125,191,62,221,
125,191,64,70,126,191,28,164,126,191,204,246,126,191,77,62,127,191,156,122,127,191,182,171,127,191,153,209,127,191,67,236,127,191,180,251,127,191,166,255,127,63,148,227,127,63,156,154,127,63,204,36,127,63,56,130,126,63,253,178,125,63,63,183,124,63,42,143,123,63,243,58,122,63,212,186,120,63,17,15,119,63,246,55,117,63,213,53,115,63,8,9,113,63,241,177,110,63,249,48,108,63,144,134,105,63,47,179,102,63,83,183,99,63,132,147,96,63,78,72,93,63,69,214,89,63,3,62,86,63,43,128,82,63,101,157,78,63,94,150,74,
63,204,107,70,63,106,30,66,63,249,174,61,63,64,30,57,63,13,109,52,63,50,156,47,63,135,172,42,63,235,158,37,63,63,116,32,63,109,45,27,63,97,203,21,63,13,79,16,63,104,185,10,63,107,11,5,63,46,140,254,62,221,212,242,62,241,242,230,62,127,232,218,62,166,183,206,62,136,98,194,62,78,235,181,62,42,84,169,62,81,159,156,62,253,206,143,62,109,229,130,62,206,201,107,62,98,159,81,62,48,80,55,62,211,224,28,62,241,85,2,62,98,104,207,61,124,0,154,61,36,251,72,61,27,164,187,60,243,119,86,187,100,61,241,188,187,192,
99,189,103,93,167,189,20,189,220,189,3,251,8,190,115,127,35,190,52,231,61,190,164,45,88,190,38,78,114,190,18,34,134,190,137,5,147,190,52,207,159,190,213,124,172,190,51,12,185,190,26,123,197,190,91,199,209,190,205,238,221,190,80,239,233,190,199,198,245,190,144,185,0,191,38,121,6,191,36,33,12,191,141,176,17,191,102,38,23,191,186,129,28,191,152,193,33,191,21,229,38,191,74,235,43,191,86,211,48,191,91,156,53,191,131,69,58,191,253,205,62,191,252,52,67,191,188,121,71,191,125,155,75,191,132,153,79,191,31,
115,83,191,161,39,87,191,99,182,90,191,198,30,94,191,48,96,97,191,15,122,100,191,216,107,103,191,7,53,106,191,31,213,108,191,169,75,111,191,55,152,113,191,98,186,115,191,201,177,117,191,22,126,119,191,246,30,121,191,33,148,122,191,85,221,123,191,89,250,124,191,250,234,125,191,14,175,126,191,116,70,127,191,15,177,127,191,206,238,127,191,0,0,128,63,0,0,0,128,99,250,127,63,191,117,86,188,139,233,127,63,10,113,214,188,121,205,127,63,231,206,32,189,47,166,127,63,58,94,86,189,175,115,127,63,19,242,133,
189,249,53,127,63,42,175,160,189,18,237,126,63,51,101,187,189,253,152,126,63,4,19,214,189,188,57,126,63,115,183,240,189,85,207,125,63,168,168,5,190,203,89,125,63,187,239,18,190,37,217,124,63,92,48,32,190,103,77,124,63,245,105,45,190,152,182,123,63,243,155,58,190,190,20,123,63,194,197,71,190,226,103,122,63,205,230,84,190,9,176,121,63,130,254,97,190,60,237,120,63,77,12,111,190,132,31,120,63,156,15,124,190,234,70,119,63,238,131,132,190,119,99,118,63,62,250,138,190,54,117,117,63,117,106,145,190,48,124,
116,63,76,212,151,190,113,120,115,63,122,55,158,190,3,106,114,63,183,147,164,190,244,80,113,63,188,232,170,190,79,45,112,63,65,54,177,190,33,255,110,63,1,124,183,190,118,198,109,63,180,185,189,190,94,131,108,63,21,239,195,190,231,53,107,63,222,27,202,190,30,222,105,63,201,63,208,190,18,124,104,63,146,90,214,190,212,15,103,63,243,107,220,190,116,153,101,63,170,115,226,190,1,25,100,63,113,113,232,190,141,142,98,63,7,101,238,190,40,250,96,63,39,78,244,190,230,91,95,63,144,44,250,190,215,179,93,63,0,
0,0,191,15,2,92,63,27,228,2,191,160,70,90,63,119,194,5,191,158,129,88,63,246,154,8,191,29,179,86,63,119,109,11,191,49,219,84,63,218,57,14,191,239,249,82,63,0,0,17,191,108,15,81,63,202,191,19,191,189,27,79,63,24,121,22,191,248,30,77,63,205,43,25,191,52,25,75,63,202,215,27,191,136,10,73,63,241,124,30,191,10,243,70,63,36,27,33,191,209,210,68,63,70,178,35,191,247,169,66,63,58,66,38,191,147,120,64,63,227,202,40,191,189,62,62,63,37,76,43,191,143,252,59,63,227,197,45,191,34,178,57,63,1,56,48,191,144,95,
55,63,101,162,50,191,243,4,53,63,243,4,53,191,101,162,50,63,144,95,55,191,1,56,48,63,34,178,57,191,227,197,45,63,143,252,59,191,37,76,43,63,189,62,62,191,227,202,40,63,147,120,64,191,58,66,38,63,247,169,66,191,70,178,35,63,209,210,68,191,36,27,33,63,10,243,70,191,241,124,30,63,136,10,73,191,202,215,27,63,52,25,75,191,205,43,25,63,248,30,77,191,24,121,22,63,189,27,79,191,202,191,19,63,108,15,81,191,0,0,17,63,239,249,82,191,218,57,14,63,49,219,84,191,119,109,11,63,29,179,86,191,246,154,8,63,158,129,
88,191,119,194,5,63,160,70,90,191,27,228,2,63,15,2,92,191,0,0,0,63,215,179,93,191,144,44,250,62,230,91,95,191,39,78,244,62,40,250,96,191,7,101,238,62,141,142,98,191,113,113,232,62,1,25,100,191,170,115,226,62,116,153,101,191,243,107,220,62,212,15,103,191,146,90,214,62,18,124,104,191,201,63,208,62,30,222,105,191,222,27,202,62,231,53,107,191,21,239,195,62,94,131,108,191,180,185,189,62,118,198,109,191,1,124,183,62,33,255,110,191,65,54,177,62,79,45,112,191,188,232,170,62,244,80,113,191,183,147,164,62,
3,106,114,191,122,55,158,62,113,120,115,191,76,212,151,62,48,124,116,191,117,106,145,62,54,117,117,191,62,250,138,62,119,99,118,191,238,131,132,62,234,70,119,191,156,15,124,62,132,31,120,191,77,12,111,62,60,237,120,191,130,254,97,62,9,176,121,191,205,230,84,62,226,103,122,191,194,197,71,62,190,20,123,191,243,155,58,62,152,182,123,191,245,105,45,62,103,77,124,191,92,48,32,62,37,217,124,191,187,239,18,62,203,89,125,191,168,168,5,62,85,207,125,191,115,183,240,61,188,57,126,191,4,19,214,61,253,152,126,
191,51,101,187,61,18,237,126,191,42,175,160,61,249,53,127,191,19,242,133,61,175,115,127,191,58,94,86,61,47,166,127,191,231,206,32,61,121,205,127,191,10,113,214,60,139,233,127,191,191,117,86,60,99,250,127,191,0,48,141,36,0,0,128,191,191,117,86,188,99,250,127,191,10,113,214,188,139,233,127,191,231,206,32,189,121,205,127,191,58,94,86,189,47,166,127,191,19,242,133,189,175,115,127,191,42,175,160,189,249,53,127,191,51,101,187,189,18,237,126,191,4,19,214,189,253,152,126,191,115,183,240,189,188,57,126,191,
168,168,5,190,85,207,125,191,187,239,18,190,203,89,125,191,92,48,32,190,37,217,124,191,245,105,45,190,103,77,124,191,243,155,58,190,152,182,123,191,194,197,71,190,190,20,123,191,205,230,84,190,226,103,122,191,130,254,97,190,9,176,121,191,77,12,111,190,60,237,120,191,156,15,124,190,132,31,120,191,238,131,132,190,234,70,119,191,62,250,138,190,119,99,118,191,117,106,145,190,54,117,117,191,76,212,151,190,48,124,116,191,122,55,158,190,113,120,115,191,183,147,164,190,3,106,114,191,188,232,170,190,244,80,
113,191,65,54,177,190,79,45,112,191,1,124,183,190,33,255,110,191,180,185,189,190,118,198,109,191,21,239,195,190,94,131,108,191,222,27,202,190,231,53,107,191,201,63,208,190,30,222,105,191,146,90,214,190,18,124,104,191,243,107,220,190,212,15,103,191,170,115,226,190,116,153,101,191,113,113,232,190,1,25,100,191,7,101,238,190,141,142,98,191,39,78,244,190,40,250,96,191,144,44,250,190,230,91,95,191,0,0,0,191,215,179,93,191,27,228,2,191,15,2,92,191,119,194,5,191,160,70,90,191,246,154,8,191,158,129,88,191,
119,109,11,191,29,179,86,191,218,57,14,191,49,219,84,191,0,0,17,191,239,249,82,191,202,191,19,191,108,15,81,191,24,121,22,191,189,27,79,191,205,43,25,191,248,30,77,191,202,215,27,191,52,25,75,191,241,124,30,191,136,10,73,191,36,27,33,191,10,243,70,191,70,178,35,191,209,210,68,191,58,66,38,191,247,169,66,191,227,202,40,191,147,120,64,191,37,76,43,191,189,62,62,191,227,197,45,191,143,252,59,191,1,56,48,191,34,178,57,191,101,162,50,191,144,95,55,191,243,4,53,191,243,4,53,191,144,95,55,191,101,162,50,
191],"i8",4,w.A+10240);
J([34,178,57,191,1,56,48,191,143,252,59,191,227,197,45,191,189,62,62,191,37,76,43,191,147,120,64,191,227,202,40,191,247,169,66,191,58,66,38,191,209,210,68,191,70,178,35,191,10,243,70,191,36,27,33,191,136,10,73,191,241,124,30,191,52,25,75,191,202,215,27,191,248,30,77,191,205,43,25,191,189,27,79,191,24,121,22,191,108,15,81,191,202,191,19,191,239,249,82,191,0,0,17,191,49,219,84,191,218,57,14,191,29,179,86,191,119,109,11,191,158,129,88,191,246,154,8,191,160,70,90,191,119,194,5,191,15,2,92,191,27,228,
2,191,215,179,93,191,0,0,0,191,230,91,95,191,144,44,250,190,40,250,96,191,39,78,244,190,141,142,98,191,7,101,238,190,1,25,100,191,113,113,232,190,116,153,101,191,170,115,226,190,212,15,103,191,243,107,220,190,18,124,104,191,146,90,214,190,30,222,105,191,201,63,208,190,231,53,107,191,222,27,202,190,94,131,108,191,21,239,195,190,118,198,109,191,180,185,189,190,33,255,110,191,1,124,183,190,79,45,112,191,65,54,177,190,244,80,113,191,188,232,170,190,3,106,114,191,183,147,164,190,113,120,115,191,122,55,
158,190,48,124,116,191,76,212,151,190,54,117,117,191,117,106,145,190,119,99,118,191,62,250,138,190,234,70,119,191,238,131,132,190,132,31,120,191,156,15,124,190,60,237,120,191,77,12,111,190,9,176,121,191,130,254,97,190,226,103,122,191,205,230,84,190,190,20,123,191,194,197,71,190,152,182,123,191,243,155,58,190,103,77,124,191,245,105,45,190,37,217,124,191,92,48,32,190,203,89,125,191,187,239,18,190,85,207,125,191,168,168,5,190,188,57,126,191,115,183,240,189,253,152,126,191,4,19,214,189,18,237,126,191,
51,101,187,189,249,53,127,191,42,175,160,189,175,115,127,191,19,242,133,189,47,166,127,191,58,94,86,189,121,205,127,191,231,206,32,189,139,233,127,191,10,113,214,188,99,250,127,191,191,117,86,188,0,0,128,191,0,48,13,165,99,250,127,191,191,117,86,60,139,233,127,191,10,113,214,60,121,205,127,191,231,206,32,61,47,166,127,191,58,94,86,61,175,115,127,191,19,242,133,61,249,53,127,191,42,175,160,61,18,237,126,191,51,101,187,61,253,152,126,191,4,19,214,61,188,57,126,191,115,183,240,61,85,207,125,191,168,
168,5,62,203,89,125,191,187,239,18,62,37,217,124,191,92,48,32,62,103,77,124,191,245,105,45,62,152,182,123,191,243,155,58,62,190,20,123,191,194,197,71,62,226,103,122,191,205,230,84,62,9,176,121,191,130,254,97,62,60,237,120,191,77,12,111,62,132,31,120,191,156,15,124,62,234,70,119,191,238,131,132,62,119,99,118,191,62,250,138,62,54,117,117,191,117,106,145,62,48,124,116,191,76,212,151,62,113,120,115,191,122,55,158,62,3,106,114,191,183,147,164,62,244,80,113,191,188,232,170,62,79,45,112,191,65,54,177,62,
33,255,110,191,1,124,183,62,118,198,109,191,180,185,189,62,94,131,108,191,21,239,195,62,231,53,107,191,222,27,202,62,30,222,105,191,201,63,208,62,18,124,104,191,146,90,214,62,212,15,103,191,243,107,220,62,116,153,101,191,170,115,226,62,1,25,100,191,113,113,232,62,141,142,98,191,7,101,238,62,40,250,96,191,39,78,244,62,230,91,95,191,144,44,250,62,215,179,93,191,0,0,0,63,15,2,92,191,27,228,2,63,160,70,90,191,119,194,5,63,158,129,88,191,246,154,8,63,29,179,86,191,119,109,11,63,49,219,84,191,218,57,14,
63,239,249,82,191,0,0,17,63,108,15,81,191,202,191,19,63,189,27,79,191,24,121,22,63,248,30,77,191,205,43,25,63,52,25,75,191,202,215,27,63,136,10,73,191,241,124,30,63,10,243,70,191,36,27,33,63,209,210,68,191,70,178,35,63,247,169,66,191,58,66,38,63,147,120,64,191,227,202,40,63,189,62,62,191,37,76,43,63,143,252,59,191,227,197,45,63,34,178,57,191,1,56,48,63,144,95,55,191,101,162,50,63,243,4,53,191,243,4,53,63,101,162,50,191,144,95,55,63,1,56,48,191,34,178,57,63,227,197,45,191,143,252,59,63,37,76,43,191,
189,62,62,63,227,202,40,191,147,120,64,63,58,66,38,191,247,169,66,63,70,178,35,191,209,210,68,63,36,27,33,191,10,243,70,63,241,124,30,191,136,10,73,63,202,215,27,191,52,25,75,63,205,43,25,191,248,30,77,63,24,121,22,191,189,27,79,63,202,191,19,191,108,15,81,63,0,0,17,191,239,249,82,63,218,57,14,191,49,219,84,63,119,109,11,191,29,179,86,63,246,154,8,191,158,129,88,63,119,194,5,191,160,70,90,63,27,228,2,191,15,2,92,63,0,0,0,191,215,179,93,63,144,44,250,190,230,91,95,63,39,78,244,190,40,250,96,63,7,101,
238,190,141,142,98,63,113,113,232,190,1,25,100,63,170,115,226,190,116,153,101,63,243,107,220,190,212,15,103,63,146,90,214,190,18,124,104,63,201,63,208,190,30,222,105,63,222,27,202,190,231,53,107,63,21,239,195,190,94,131,108,63,180,185,189,190,118,198,109,63,1,124,183,190,33,255,110,63,65,54,177,190,79,45,112,63,188,232,170,190,244,80,113,63,183,147,164,190,3,106,114,63,122,55,158,190,113,120,115,63,76,212,151,190,48,124,116,63,117,106,145,190,54,117,117,63,62,250,138,190,119,99,118,63,238,131,132,
190,234,70,119,63,156,15,124,190,132,31,120,63,77,12,111,190,60,237,120,63,130,254,97,190,9,176,121,63,205,230,84,190,226,103,122,63,194,197,71,190,190,20,123,63,243,155,58,190,152,182,123,63,245,105,45,190,103,77,124,63,92,48,32,190,37,217,124,63,187,239,18,190,203,89,125,63,168,168,5,190,85,207,125,63,115,183,240,189,188,57,126,63,4,19,214,189,253,152,126,63,51,101,187,189,18,237,126,63,42,175,160,189,249,53,127,63,19,242,133,189,175,115,127,63,58,94,86,189,47,166,127,63,231,206,32,189,121,205,
127,63,10,113,214,188,139,233,127,63,191,117,86,188,99,250,127,63,0,200,83,165,0,0,128,63,191,117,86,60,99,250,127,63,10,113,214,60,139,233,127,63,231,206,32,61,121,205,127,63,58,94,86,61,47,166,127,63,19,242,133,61,175,115,127,63,42,175,160,61,249,53,127,63,51,101,187,61,18,237,126,63,4,19,214,61,253,152,126,63,115,183,240,61,188,57,126,63,168,168,5,62,85,207,125,63,187,239,18,62,203,89,125,63,92,48,32,62,37,217,124,63,245,105,45,62,103,77,124,63,243,155,58,62,152,182,123,63,194,197,71,62,190,20,
123,63,205,230,84,62,226,103,122,63,130,254,97,62,9,176,121,63,77,12,111,62,60,237,120,63,156,15,124,62,132,31,120,63,238,131,132,62,234,70,119,63,62,250,138,62,119,99,118,63,117,106,145,62,54,117,117,63,76,212,151,62,48,124,116,63,122,55,158,62,113,120,115,63,183,147,164,62,3,106,114,63,188,232,170,62,244,80,113,63,65,54,177,62,79,45,112,63,1,124,183,62,33,255,110,63,180,185,189,62,118,198,109,63,21,239,195,62,94,131,108,63,222,27,202,62,231,53,107,63,201,63,208,62,30,222,105,63,146,90,214,62,18,
124,104,63,243,107,220,62,212,15,103,63,170,115,226,62,116,153,101,63,113,113,232,62,1,25,100,63,7,101,238,62,141,142,98,63,39,78,244,62,40,250,96,63,144,44,250,62,230,91,95,63,0,0,0,63,215,179,93,63,27,228,2,63,15,2,92,63,119,194,5,63,160,70,90,63,246,154,8,63,158,129,88,63,119,109,11,63,29,179,86,63,218,57,14,63,49,219,84,63,0,0,17,63,239,249,82,63,202,191,19,63,108,15,81,63,24,121,22,63,189,27,79,63,205,43,25,63,248,30,77,63,202,215,27,63,52,25,75,63,241,124,30,63,136,10,73,63,36,27,33,63,10,243,
70,63,70,178,35,63,209,210,68,63,58,66,38,63,247,169,66,63,227,202,40,63,147,120,64,63,37,76,43,63,189,62,62,63,227,197,45,63,143,252,59,63,1,56,48,63,34,178,57,63,101,162,50,63,144,95,55,63,243,4,53,63,243,4,53,63,144,95,55,63,101,162,50,63,34,178,57,63,1,56,48,63,143,252,59,63,227,197,45,63,189,62,62,63,37,76,43,63,147,120,64,63,227,202,40,63,247,169,66,63,58,66,38,63,209,210,68,63,70,178,35,63,10,243,70,63,36,27,33,63,136,10,73,63,241,124,30,63,52,25,75,63,202,215,27,63,248,30,77,63,205,43,25,
63,189,27,79,63,24,121,22,63,108,15,81,63,202,191,19,63,239,249,82,63,0,0,17,63,49,219,84,63,218,57,14,63,29,179,86,63,119,109,11,63,158,129,88,63,246,154,8,63,160,70,90,63,119,194,5,63,15,2,92,63,27,228,2,63,215,179,93,63,0,0,0,63,230,91,95,63,144,44,250,62,40,250,96,63,39,78,244,62,141,142,98,63,7,101,238,62,1,25,100,63,113,113,232,62,116,153,101,63,170,115,226,62,212,15,103,63,243,107,220,62,18,124,104,63,146,90,214,62,30,222,105,63,201,63,208,62,231,53,107,63,222,27,202,62,94,131,108,63,21,239,
195,62,118,198,109,63,180,185,189,62,33,255,110,63,1,124,183,62,79,45,112,63,65,54,177,62,244,80,113,63,188,232,170,62,3,106,114,63,183,147,164,62,113,120,115,63,122,55,158,62,48,124,116,63,76,212,151,62,54,117,117,63,117,106,145,62,119,99,118,63,62,250,138,62,234,70,119,63,238,131,132,62,132,31,120,63,156,15,124,62,60,237,120,63,77,12,111,62,9,176,121,63,130,254,97,62,226,103,122,63,205,230,84,62,190,20,123,63,194,197,71,62,152,182,123,63,243,155,58,62,103,77,124,63,245,105,45,62,37,217,124,63,92,
48,32,62,203,89,125,63,187,239,18,62,85,207,125,63,168,168,5,62,188,57,126,63,115,183,240,61,253,152,126,63,4,19,214,61,18,237,126,63,51,101,187,61,249,53,127,63,42,175,160,61,175,115,127,63,19,242,133,61,47,166,127,63,58,94,86,61,121,205,127,63,231,206,32,61,139,233,127,63,10,113,214,60,99,250,127,63,191,117,86,60,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,0,0,206,64,0,0,200,64,0,0,184,64,0,0,170,64,0,0,162,64,0,
0,154,64,0,0,144,64,0,0,140,64,0,0,156,64,0,0,150,64,0,0,146,64,0,0,142,64,0,0,156,64,0,0,148,64,0,0,138,64,0,0,144,64,0,0,140,64,0,0,148,64,0,0,152,64,0,0,142,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,102,63,0,0,76,63,0,0,38,63,0,0,0,63,0,134,107,63,0,20,46,63,0,112,189,62,0,208,76,62,15,0,0,0,10,0,0,0,5,0,0,0,53,128,0,0,61,128,0,0,77,128,0,0,109,128,0,0,117,128,0,0,133,128,0,0,165,128,0,0,205,128,0,0,29,129,0,0,189,129,0,0,197,129,0,0,213,129,0,0,32,0,10,0,20,46,100,1,245,129,
0,0,53,131,0,0,117,131,0,0,135,131,0,0,39,132,0,0,111,132,0,0,192,119,0,0,32,0,16,0,102,38,171,1,183,132,0,0,183,134,0,0,247,134,0,0,21,135,0,0,21,136,0,0,93,136,0,0,214,119,0,0,0,0,0,0,64,31,0,0,184,36,0,0,236,44,0,0,188,52,0,0,92,68,0,0,168,97,0,0,128,56,1,0,0,0,0,0,40,35,0,0,224,46,0,0,164,56,0,0,68,72,0,0,180,95,0,0,172,138,0,0,128,56,1,0,0,0,0,0,4,41,0,0,176,54,0,0,104,66,0,0,252,83,0,0,84,111,0,0,16,164,0,0,128,56,1,0,239,136,0,0,242,136,0,0,10,103,242,14,86,205,228,29,10,103,242,14,117,82,
130,12,89,154,4,25,117,82,130,12,70,17,49,10,237,3,98,20,70,17,49,10,218,2,215,7,249,198,173,15,218,2,215,7,34,182,82,5,218,250,164,10,34,182,82,5,70,243,46,30,43,227,75,14,31,102,128,24,28,44,29,10,218,97,72,18,237,156,244,6,236,48,19,11,227,144,165,4,237,164,29,2,10,223,107,3,48,117,0,0,112,23,0,0,32,209,255,255,32,209,255,255,0,64,0,0,108,34,0,0,66,15,0,0,18,6,0,0,77,2,0,0,219,0,0,0,237,0,0,0,153,0,0,0,73,0,0,0,30,0,0,0,12,0,0,0,7,0,0,0,0,64,0,0,147,93,0,0,189,112,0,0,237,121,0,0,178,125,0,0,36,
127,0,0,248,42,0,0,232,3,0,0,176,54,0,0,232,3,0,0,8,82,0,0,208,7,0,0,96,109,0,0,208,7,0,0,224,46,0,0,232,3,0,0,80,70,0,0,208,7,0,0,8,82,0,0,208,7,0,0,48,117,0,0,208,7,0,0,248,42,0,0,232,3,0,0,176,54,0,0,232,3,0,0,104,66,0,0,232,3,0,0,8,82,0,0,208,7,0,0,224,46,0,0,232,3,0,0,152,58,0,0,232,3,0,0,80,70,0,0,208,7,0,0,240,85,0,0,208,7,0,0,230,90,52,56,119,78,51,57,211,217,201,57,146,145,51,58,204,96,140,58,97,251,201,58,153,126,9,59,203,128,51,59,213,37,99,59,119,46,140,59,168,138,169,59,69,184,201,59,
135,166,236,59,232,46,9,60,174,102,29,60,247,2,51,60,147,255,73,60,79,88,98,60,94,17,124,60,46,145,139,60,189,199,153,60,92,172,168,60,243,60,184,60,129,121,200,60,238,95,217,60,57,240,234,60,99,42,253,60,53,7,8,61,16,204,17,61,205,228,27,61,97,80,38,61,203,14,49,61,0,31,60,61,254,128,71,61,198,52,83,61,63,56,95,61,105,139,107,61,69,46,120,61,105,144,130,61,123,48,137,61,224,247,143,61,138,229,150,61,123,249,157,61,177,51,165,61,33,147,172,61,80,24,180,61,51,194,187,61,79,145,195,61,18,132,203,61,
2,155,211,61,31,214,219,61,215,51,228,61,175,180,236,61,33,88,245,61,168,29,254,61,161,130,3,62,242,6,8,62,199,155,12,62,221,64,17,62,52,246,21,62,69,187,26,62,17,144,31,62,84,116,36,62,203,103,41,62,51,106,46,62,141,123,51,62,82,155,56,62,197,201,61,62,28,6,67,62,89,80,72,62,122,168,77,62,183,13,83,62,82,128,88,62,8,0,94,62,84,140,99,62,242,36,105,62,37,202,110,62,36,123,116,62,172,55,122,62,0,0,128,62,171,233,130,62,249,216,133,62,133,205,136,62,80,199,139,62,55,198,142,62,247,201,145,62,179,210,
148,62,38,224,151,62,15,242,154,62,108,8,158,62,28,35,161,62,255,65,164,62,208,100,167,62,177,139,170,62,28,182,173,62,84,228,176,62,211,21,180,62,186,74,183,62,232,130,186,62,249,189,189,62,13,252,192,62,226,60,196,62,86,128,199,62,71,198,202,62,149,14,206,62,251,88,209,62,122,165,212,62,241,243,215,62,28,68,219,62,217,149,222,62,8,233,225,62,167,61,229,62,83,147,232,62,12,234,235,62,175,65,239,62,28,154,242,62,14,243,245,62,136,76,249,62,34,166,252,62,0,0,0,63,239,172,1,63,188,89,3,63,121,6,5,63,
242,178,6,63,41,95,8,63,250,10,10,63,86,182,11,63,44,97,13,63,124,11,15,63,19,181,16,63,242,93,18,63,8,6,20,63,67,173,21,63,130,83,23,63,182,248,24,63,220,156,26,63,213,63,28,63,143,225,29,63,249,129,31,63,4,33,33,63,140,190,34,63,163,90,36,63,23,245,37,63,214,141,39,63,242,36,41,63,40,186,42,63,152,77,44,63,1,223,45,63,114,110,47,63,202,251,48,63,249,134,50,63,237,15,52,63,167,150,53,63,4,27,55,63,229,156,56,63,88,28,58,63,61,153,59,63,131,19,61,63,42,139,62,63,0,0,64,63,21,114,65,63,55,225,66,63,
119,77,68,63,195,182,69,63,235,28,71,63,254,127,72,63,236,223,73,63,146,60,75,63,225,149,76,63,234,235,77,63,121,62,79,63,143,141,80,63,43,217,81,63,29,33,83,63,115,101,84,63,13,166,85,63,235,226,86,63,252,27,88,63,47,81,89,63,115,130,90,63,201,175,91,63,14,217,92,63,67,254,93,63,88,31,95,63,75,60,96,63,252,84,97,63,106,105,98,63,133,121,99,63,60,133,100,63,160,140,101,63,126,143,102,63,214,141,103,63,186,135,104,63,246,124,105,63,156,109,106,63,138,89,107,63,209,64,108,63,79,35,109,63,4,1,110,63,
241,217,110,63,243,173,111,63,28,125,112,63,73,71,113,63,124,12,114,63,180,204,114,63,240,135,115,63,16,62,116,63,19,239,116,63,250,154,117,63,179,65,118,63,63,227,118,63,141,127,119,63,173,22,120,63,126,168,120,63,1,53,121,63,52,188,121,63,24,62,122,63,157,186,122,63,194,49,123,63,119,163,123,63,187,15,124,63,159,118,124,63,2,216,124,63,244,51,125,63,101,138,125,63,68,219,125,63,179,38,126,63,143,108,126,63,235,172,126,63,163,231,126,63,218,28,127,63,127,76,127,63,129,118,127,63,2,155,127,63,208,
185,127,63,28,211,127,63,197,230,127,63,203,244,127,63,47,253,127,63,0,0,128,63,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,160,0,0,0,200,0,0,0,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,
0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,208,37,180,62,151,57,173,62,9,165,159,62,250,237,139,62,205,172,101,62,248,169,42,62,52,48,210,61,90,241,13,61,90,241,13,189,52,48,210,189,248,169,42,190,205,172,101,190,250,237,139,190,9,165,159,190,151,57,173,190,208,37,180,190,135,138,177,62,27,131,150,62,96,35,73,62,196,66,141,61,196,66,141,189,96,35,73,190,27,131,150,190,135,138,177,190,135,138,177,190,27,131,150,190,96,35,73,
190,196,66,141,189,196,66,141,61,96,35,73,62,27,131,150,62,135,138,177,62,151,57,173,62,205,172,101,62,90,241,13,61,248,169,42,190,9,165,159,190,208,37,180,190,250,237,139,190,52,48,210,189,52,48,210,61,250,237,139,62,208,37,180,62,9,165,159,62,248,169,42,62,90,241,13,189,205,172,101,190,151,57,173,190,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167,62,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,
10,190,210,139,10,62,125,61,167,62,9,165,159,62,90,241,13,61,250,237,139,190,151,57,173,190,52,48,210,189,205,172,101,62,208,37,180,62,248,169,42,62,248,169,42,190,208,37,180,190,205,172,101,190,52,48,210,61,151,57,173,62,250,237,139,62,90,241,13,189,9,165,159,190,27,131,150,62,196,66,141,189,135,138,177,190,96,35,73,190,96,35,73,62,135,138,177,62,196,66,141,61,27,131,150,190,27,131,150,190,196,66,141,61,135,138,177,62,96,35,73,62,96,35,73,190,135,138,177,190,196,66,141,189,27,131,150,62,250,237,
139,62,248,169,42,190,151,57,173,190,90,241,13,61,208,37,180,62,52,48,210,61,9,165,159,190,205,172,101,190,205,172,101,62,9,165,159,62,52,48,210,189,208,37,180,190,90,241,13,189,151,57,173,62,248,169,42,62,250,237,139,190,0,0,0,0,5,193,35,61,233,125,163,61,37,150,244,61,226,116,34,62,172,28,74,62,221,37,113,62,52,186,139,62,180,119,158,62,228,191,176,62,173,136,194,62,37,201,211,62,24,122,228,62,24,149,244,62,200,10,2,63,28,124,9,63,73,157,16,63,202,109,23,63,192,237,29,63,159,29,36,63,84,254,41,
63,46,145,47,63,224,215,52,63,99,212,57,63,240,136,62,63,211,247,66,63,171,35,71,63,23,15,75,63,216,188,78,63,173,47,82,63,106,106,85,63,206,111,88,63,154,66,91,63,142,229,93,63,75,91,96,63,110,166,98,63,100,201,100,63,155,198,102,63,111,160,104,63,247,88,106,63,128,242,107,63,223,110,109,63,11,208,110,63,202,23,112,63,224,71,113,63,225,97,114,63,77,103,115,63,150,89,116,63,12,58,117,63,255,9,118,63,138,202,118,63,187,124,119,63,192,33,120,63,98,186,120,63,157,71,121,63,75,202,121,63,36,67,122,63,
242,178,122,63,59,26,123,63,200,121,123,63,32,210,123,63,200,35,124,63,55,111,124,63,242,180,124,63,94,245,124,63,224,48,125,63,236,103,125,63,183,154,125,63,180,201,125,63,6,245,125,63,17,29,126,63,24,66,126,63,78,100,126,63,211,131,126,63,253,160,126,63,237,187,126,63,195,212,126,63,179,235,126,63,239,0,127,63,135,20,127,63,141,38,127,63,67,55,127,63,170,70,127,63,227,84,127,63,15,98,127,63,47,110,127,63,100,121,127,63,190,131,127,63,63,141,127,63,24,150,127,63,56,158,127,63,194,165,127,63,163,
172,127,63,16,179,127,63,245,184,127,63,119,190,127,63,114,195,127,63,25,200,127,63,108,204,127,63,91,208,127,63,6,212,127,63,111,215,127,63,131,218,127,63,102,221,127,63,21,224,127,63,130,226,127,63,205,228,127,63,230,230,127,63,205,232,127,63,146,234,127,63,70,236,127,63,200,237,127,63,40,239,127,63,120,240,127,63,166,241,127,63,195,242,127,63,191,243,127,63,186,244,127,63,148,245,127,63,94,246,127,63,39,247,127,63,207,247,127,63,119,248,127,63,253,248,127,63,148,249,127,63,9,250,127,63,127,250,
127,63,244,250,127,63,89,251,127,63,173,251,127,63,1,252,127,63,84,252,127,63,152,252,127,63,219,252,127,63,30,253,127,63,80,253,127,63,130,253,127,63,181,253,127,63,231,253,127,63,9,254,127,63,59,254,127,63,93,254,127,63,126,254,127,63,143,254,127,63,176,254,127,63,210,254,127,63,227,254,127,63,244,254,127,63,21,255,127,63,38,255,127,63,55,255,127,63,71,255,127,63,88,255,127,63,88,255,127,63,105,255,127,63,122,255,127,63,122,255,127,63,139,255,127,63,155,255,127,63,155,255,127,63,155,255,127,63,
172,255,127,63,172,255,127,63,189,255,127,63,189,255,127,63,189,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,
0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,14,190,192,189,172,31,155,190,149,130,26,191,150,149,70,190,84,114,62,190,146,3,26,191,6,152,62,189,2,160,234,189,182,43,212,189,185,114,30,191,106,190,162,190,28,7,46,190,107,243,143,189,90,158,23,62,33,173,209,62,10,102,12,63,125,60,188,62,20,33,253,190,143,169,67,63,8,119,235,191,10,243,46,62,117,147,76,65,80,83,139,191,108,236,162,191,181,21,130,193,28,107,193,65,162,98,178,192,255,231,48,190,47,79,39,190,158,206,101,190,255,87,194,189,155,
60,149,189,203,248,135,190,44,97,205,189,203,33,83,189,64,166,21,190,238,35,247,189,160,253,56,190,219,167,3,62,233,95,226,62,213,202,252,190,29,203,43,62,231,168,83,62,1,79,74,190,247,3,214,62,71,119,192,63,173,249,69,191,64,164,32,193,43,194,205,62,192,178,62,64,201,118,115,65,100,204,241,191,39,165,152,191,23,204,233,60,134,193,132,187,201,232,144,61,84,72,7,60,154,231,189,189,103,71,42,188,59,137,140,187,159,122,160,187,88,90,145,189,85,196,39,187,169,11,34,61,177,219,103,62,241,54,5,61,52,17,
38,62,170,10,205,189,86,185,248,62,108,4,2,62,86,102,146,62,228,254,126,60,106,251,215,61,159,142,67,64,136,70,147,63,57,40,129,191,71,90,234,191,139,84,84,64,210,53,91,192,13,253,243,189,232,39,38,189,25,31,226,59,241,90,147,60,171,170,28,189,237,238,195,59,5,106,150,188,246,141,249,58,37,201,19,190,106,115,50,189,210,214,129,58,161,100,98,62,158,210,17,62,128,215,247,62,221,12,207,62,124,15,3,63,250,242,114,190,55,139,119,62,47,110,179,62,183,13,51,191,136,99,38,65,18,165,41,64,83,208,27,192,53,
7,134,192,125,150,135,63,60,247,218,63,12,212,218,59,186,186,147,189,191,192,34,189,69,144,20,61,38,112,235,189,208,37,193,188,210,156,6,60,124,58,104,188,114,11,7,189,31,26,17,189,171,204,53,59,154,208,148,190,218,230,146,191,140,104,163,190,89,193,47,191,163,233,188,62,64,50,245,62,253,245,58,62,163,119,210,190,8,144,97,63,39,107,147,192,33,31,188,63,224,243,171,62,161,214,232,191,245,91,241,193,8,172,177,64,252,177,255,58,106,21,253,189,37,245,148,189,41,102,131,189,252,233,90,189,35,134,221,189,
20,249,191,189,43,237,142,189,75,171,225,188,167,236,68,190,122,110,225,189,172,28,146,62,105,170,207,190,7,203,189,61,35,101,147,190,201,231,89,191,252,194,203,189,212,95,111,190,111,129,164,191,13,108,145,63,155,201,71,64,187,39,143,189,66,91,238,191,113,201,41,64,120,238,233,192,26,168,28,64,135,138,146,186,54,152,129,189,127,33,26,189,138,114,25,190,229,100,18,62,247,202,60,62,113,202,252,61,117,220,154,61,70,65,240,61,200,40,191,61,71,193,141,61,22,144,172,61,175,81,144,61,27,166,113,61,173,
246,192,61,61,209,229,190,92,47,215,60,148,107,138,62,106,78,134,190,98,186,48,62,49,37,0,64,133,9,35,190,99,96,29,61,26,81,35,65,182,248,132,64,7,206,21,192,120,99,97,189,79,18,30,60,98,186,16,190,8,223,224,60,187,222,12,61,136,166,71,189,97,152,194,61,35,245,253,187,158,146,24,189,185,155,179,187,187,236,135,189,45,182,196,61,230,206,76,190,12,24,41,189,251,87,22,63,48,68,83,61,142,172,172,62,218,226,90,63,93,26,43,63,202,82,235,189,178,75,104,192,37,89,239,190,177,164,92,190,57,98,39,64,145,238,
207,62,180,142,174,191,203,61,46,61,20,5,250,61,210,98,191,61,67,4,252,61,160,165,11,61,155,226,17,190,245,130,15,61,15,250,72,189,55,41,150,61,113,52,108,61,83,235,253,61,185,215,83,189,147,139,129,190,69,47,23,63,113,89,21,62,238,95,161,62,207,217,98,62,177,168,24,190,79,89,93,62,127,251,178,190,253,135,196,65,161,131,126,191,11,66,29,63,242,82,150,193,27,76,53,192,69,128,55,191,84,196,177,190,253,130,245,62,128,238,123,190,215,96,155,61,137,150,12,62,211,19,54,190,185,51,243,61,46,253,141,186,
175,7,115,190,129,34,182,62,33,7,5,190,218,78,96,189,101,28,163,190,21,171,166,190,107,211,56,62,171,31,128,189,183,155,16,62,40,41,176,62,24,207,192,62,95,126,23,191,102,247,186,64,170,241,194,190,46,56,99,62,239,172,181,191,48,108,229,201,122,170,171,63,218,31,232,60,27,113,55,189,162,59,173,188,127,121,210,188,9,192,100,60,236,86,170,60,101,102,48,188,198,207,53,60,202,13,112,61,62,180,207,188,178,134,6,189,121,35,243,61,78,38,94,190,247,62,21,62,230,93,245,61,106,111,187,189,198,21,247,189,41,
83,161,189,106,23,19,190,134,89,24,191,188,116,147,191,198,109,160,191,181,224,149,191,42,227,138,64,64,26,110,201,249,102,175,191,204,76,36,189,13,168,87,62,141,239,11,190,159,57,11,62,64,87,86,189,28,28,54,61,199,207,107,60,239,56,135,59,170,27,158,188,226,177,95,62,162,178,225,189,236,163,1,192,165,17,107,63,28,8,29,192,134,3,153,63,184,86,123,189,48,18,246,191,186,192,157,62,172,202,254,62,42,144,105,63,102,75,86,62,147,24,22,192,95,94,12,64,39,20,207,192,144,78,217,63,169,161,57,191,112,218,
66,60,77,206,26,61,109,235,98,61,109,130,185,60,243,67,144,189,93,3,246,188,182,124,73,60,72,233,136,187,62,158,140,189,125,64,0,61,219,50,32,61,194,108,186,62,242,165,193,189,126,80,188,60,194,81,50,190,228,218,168,62,44,239,234,61,112,182,153,62,62,33,219,61,18,136,7,62,8,148,185,64,125,118,104,63,80,195,103,191,88,202,86,192,248,56,67,62,207,161,60,62,50,116,44,191,208,94,109,62,213,29,112,189,65,74,108,62,216,101,224,190,240,193,123,62,23,72,48,190,182,123,179,61,121,115,56,191,85,106,38,62,85,
187,139,60,143,114,208,61,117,230,198,62,213,38,170,63,2,241,138,63,108,177,111,191,51,167,23,192,66,9,215,192,144,102,92,192,241,215,8,64,116,181,99,65,82,68,157,64,20,203,69,192,16,18,27,193,252,170,68,191,164,228,229,63,75,35,97,61,17,82,39,62,16,59,163,61,253,223,12,61,211,175,99,189,237,178,165,187,217,102,153,60,110,201,5,61,34,162,189,60,175,119,31,62,154,15,67,61,75,120,130,190,151,255,204,63,210,28,77,191,119,132,35,64,65,213,60,63,19,102,174,191,221,9,50,191,71,90,28,192,62,174,221,191,
131,250,124,64,205,1,242,63,101,224,248,62,75,89,53,193,128,147,112,74,249,75,195,190,126,29,248,61,94,44,104,191,249,20,60,64,51,196,209,63,231,255,97,63,2,213,95,63,45,207,155,63,46,226,95,191,166,182,164,62,93,249,72,63,160,81,114,63,134,55,19,191,62,203,93,192,34,137,98,63,173,62,189,61,144,131,30,193,116,93,200,62,10,242,35,62,170,43,3,192,240,167,132,64,210,22,140,61,58,60,20,190,123,16,146,190,69,44,194,62,116,70,148,191,167,29,227,188,154,153,29,193,16,93,154,192,51,167,109,64,139,224,119,
64,26,163,97,64,8,0,0,0,4,0,0,0,225,122,84,63,246,40,92,63,64,109,0,0,16,0,0,0,4,0,0,0,154,153,89,63,174,71,97,63,64,109,0,0,32,0,0,0,4,0,0,0,193,202,97,63,195,245,104,63,64,109,0,0,48,0,0,0,8,0,0,0,184,30,101,63,131,192,106,63,72,109,0,0,64,0,0,0,8,0,0,0,168,198,107,63,215,163,112,63,72,109,0,0,80,0,0,0,16,0,0,0,49,8,108,63,215,163,112,63,80,109,0,0,96,0,0,0,16,0,0,0,215,163,112,63,133,235,113,63,80,109,0,0,128,0,0,0,16,0,0,0,51,51,115,63,51,51,115,63,80,109,0,0,160,0,0,0,16,0,0,0,143,194,117,63,
143,194,117,63,80,109,0,0,192,0,0,0,32,0,0,0,217,206,119,63,217,206,119,63,88,109,0,0,0,1,0,0,32,0,0,0,154,153,121,63,154,153,121,63,88,109,0,0,104,4,0,0,32,0,0,0,72,3,0,0,32,0,0,0,40,2,0,0,32,0,0,0,8,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,202,69,27,76,255,82,130,90,179,98,162,107,96,117,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,10,0,12,0,14,0,16,0,20,0,24,0,28,0,34,0,40,0,48,0,60,0,78,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,8,0,8,0,8,
0,16,0,16,0,16,0,21,0,21,0,24,0,29,0,34,0,36,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,41,0,41,0,41,0,82,0,82,0,123,0,164,0,200,0,222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,164,0,164,0,240,0,10,1,27,1,39,1,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,10,1,10,1,49,1,62,1,72,1,80,1,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,62,1,62,1,87,1,95,1,102,
1,108,1,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,49,1,87,1,87,1,87,1,95,1,95,1,114,1,120,1,126,1,131,1,0,0,12,0,24,0,36,0,48,0,4,0,16,0,28,0,40,0,52,0,8,0,20,0,32,0,44,0,56,0,1,0,13,0,25,0,37,0,49,0,5,0,17,0,29,0,41,0,53,0,9,0,21,0,33,0,45,0,57,0,2,0,14,0,26,0,38,0,50,0,6,0,18,0,30,0,42,0,54,0,10,0,22,0,34,0,46,0,58,0,3,0,15,0,27,0,39,0,51,0,7,0,19,0,31,0,43,0,55,0,11,0,23,0,35,0,47,0,59,0,0,0,24,0,48,0,72,0,96,0,8,0,32,0,56,0,80,0,104,0,16,0,40,0,64,0,88,0,112,0,4,0,28,0,52,
0,76,0,100,0,12,0,36,0,60,0,84,0,108,0,20,0,44,0,68,0,92,0,116,0,1,0,25,0,49,0,73,0,97,0,9,0,33,0,57,0,81,0,105,0,17,0,41,0,65,0,89,0,113,0,5,0,29,0,53,0,77,0,101,0,13,0,37,0,61,0,85,0,109,0,21,0,45,0,69,0,93,0,117,0,2,0,26,0,50,0,74,0,98,0,10,0,34,0,58,0,82,0,106,0,18,0,42,0,66,0,90,0,114,0,6,0,30,0,54,0,78,0,102,0,14,0,38,0,62,0,86,0,110,0,22,0,46,0,70,0,94,0,118,0,3,0,27,0,51,0,75,0,99,0,11,0,35,0,59,0,83,0,107,0,19,0,43,0,67,0,91,0,115,0,7,0,31,0,55,0,79,0,103,0,15,0,39,0,63,0,87,0,111,0,23,0,
47,0,71,0,95,0,119,0,0,0,48,0,96,0,144,0,192,0,16,0,64,0,112,0,160,0,208,0,32,0,80,0,128,0,176,0,224,0,4,0,52,0,100,0,148,0,196,0,20,0,68,0,116,0,164,0,212,0,36,0,84,0,132,0,180,0,228,0,8,0,56,0,104,0,152,0,200,0,24,0,72,0,120,0,168,0,216,0,40,0,88,0,136,0,184,0,232,0,12,0,60,0,108,0,156,0,204,0,28,0,76,0,124,0,172,0,220,0,44,0,92,0,140,0,188,0,236,0,1,0,49,0,97,0,145,0,193,0,17,0,65,0,113,0,161,0,209,0,33,0,81,0,129,0,177,0,225,0,5,0,53,0,101,0,149,0,197,0,21,0,69,0,117,0,165,0,213,0,37,0,85,0,133,
0,181,0,229,0,9,0,57,0,105,0,153,0,201,0,25,0,73,0,121,0,169,0,217,0,41,0,89,0,137,0,185,0,233,0,13,0,61,0,109,0,157,0,205,0,29,0,77,0,125,0,173,0,221,0,45,0,93,0,141,0,189,0,237,0,2,0,50,0,98,0,146,0,194,0,18,0,66,0,114,0,162,0,210,0,34,0,82,0,130,0,178,0,226,0,6,0,54,0,102,0,150,0,198,0,22,0,70,0,118,0,166,0,214,0,38,0,86,0,134,0,182,0,230,0,10,0,58,0,106,0,154,0,202,0,26,0,74,0,122,0,170,0,218,0,42,0,90,0,138,0,186,0,234,0,14,0,62,0,110,0,158,0,206,0,30,0,78,0,126,0,174,0,222,0,46,0,94,0,142,0,
190,0,238,0,3,0,51,0,99,0,147,0,195,0,19,0,67,0,115,0,163,0,211,0,35,0,83,0,131,0,179,0,227,0,7,0,55,0,103,0,151,0,199,0,23,0,71,0,119,0,167,0,215,0,39,0,87,0,135,0,183,0,231,0,11,0,59,0,107,0,155,0,203,0,27,0,75,0,123,0,171,0,219,0,43,0,91,0,139,0,187,0,235,0,15,0,63,0,111,0,159,0,207,0,31,0,79,0,127,0,175,0,223,0,47,0,95,0,143,0,191,0,239,0,0,0,96,0,192,0,32,1,128,1,32,0,128,0,224,0,64,1,160,1,64,0,160,0,0,1,96,1,192,1,8,0,104,0,200,0,40,1,136,1,40,0,136,0,232,0,72,1,168,1,72,0,168,0,8,1,104,1,
200,1,16,0,112,0,208,0,48,1,144,1,48,0,144,0,240,0,80,1,176,1,80,0,176,0,16,1,112,1,208,1,24,0,120,0,216,0,56,1,152,1,56,0,152,0,248,0,88,1,184,1,88,0,184,0,24,1,120,1,216,1,4,0,100,0,196,0,36,1,132,1,36,0,132,0,228,0,68,1,164,1,68,0,164,0,4,1,100,1,196,1,12,0,108,0,204,0,44,1,140,1,44,0,140,0,236,0,76,1,172,1,76,0,172,0,12,1,108,1,204,1,20,0,116,0,212,0,52,1,148,1,52,0,148,0,244,0,84,1,180,1,84,0,180,0,20,1,116,1,212,1,28,0,124,0,220,0,60,1,156,1,60,0,156,0,252,0,92,1,188,1,92,0,188,0,28,1,124,1,
220,1,1,0,97,0,193,0,33,1,129,1,33,0,129,0,225,0,65,1,161,1,65,0,161,0,1,1,97,1,193,1,9,0,105,0,201,0,41,1,137,1,41,0,137,0,233,0,73,1,169,1,73,0,169,0,9,1,105,1,201,1,17,0,113,0,209,0,49,1,145,1,49,0,145,0,241,0,81,1,177,1,81,0,177,0,17,1,113,1,209,1,25,0,121,0,217,0,57,1,153,1,57,0,153,0,249,0,89,1,185,1,89,0,185,0,25,1,121,1,217,1,5,0,101,0,197,0,37,1,133,1,37,0,133,0,229,0,69,1,165,1,69,0,165,0,5,1,101,1,197,1,13,0,109,0,205,0,45,1,141,1,45,0,141,0,237,0,77,1,173,1,77,0,173,0,13,1,109,1,205,1,
21,0,117,0,213,0,53,1,149,1,53,0,149,0,245,0,85,1,181,1,85,0,181,0,21,1,117,1,213,1,29,0,125,0,221,0,61,1,157,1,61,0,157,0,253,0,93,1,189,1,93,0,189,0,29,1,125,1,221,1,2,0,98,0,194,0,34,1,130,1,34,0,130,0,226,0,66,1,162,1,66,0,162,0,2,1,98,1,194,1,10,0,106,0,202,0,42,1,138,1,42,0,138,0,234,0,74,1,170,1,74,0,170,0,10,1,106,1,202,1,18,0,114,0,210,0,50,1,146,1,50,0,146,0,242,0,82,1,178,1,82,0,178,0,18,1,114,1,210,1,26,0,122,0,218,0,58,1,154,1,58,0,154,0,250,0,90,1,186,1,90,0,186,0,26,1,122,1,218,1,6,
0,102,0,198,0,38,1,134,1,38,0,134,0,230,0,70,1,166,1,70,0,166,0,6,1,102,1,198,1,14,0,110,0,206,0,46,1,142,1,46,0,142,0,238,0,78,1,174,1,78,0,174,0,14,1,110,1,206,1,22,0,118,0,214,0,54,1,150,1,54,0,150,0,246,0,86,1,182,1,86,0,182,0,22,1,118,1,214,1,30,0,126,0,222,0,62,1,158,1,62,0,158,0,254,0,94,1,190,1,94,0,190,0,30,1,126,1,222,1,3,0,99,0,195,0,35,1,131,1,35,0,131,0,227,0,67,1,163,1,67,0,163,0,3,1,99,1,195,1,11,0,107,0,203,0,43,1,139,1,43,0,139,0,235,0,75,1,171,1,75,0,171,0,11,1,107,1,203,1,19,0,
115,0,211,0,51,1,147,1,51,0,147,0,243,0,83,1,179,1,83,0,179,0,19,1,115,1,211,1,27,0,123,0,219,0,59,1,155,1,59,0,155,0,251,0,91,1,187,1,91,0,187,0,27,1,123,1,219,1,7,0,103,0,199,0,39,1,135,1,39,0,135,0,231,0,71,1,167,1,71,0,167,0,7,1,103,1,199,1,15,0,111,0,207,0,47,1,143,1,47,0,143,0,239,0,79,1,175,1,79,0,175,0,15,1,111,1,207,1,23,0,119,0,215,0,55,1,151,1,55,0,151,0,247,0,87,1,183,1,87,0,183,0,23,1,119,1,215,1,31,0,127,0,223,0,63,1,159,1,63,0,159,0,255,0,95,1,191,1,95,0,191,0,31,1,127,1,223,1,250,
0,3,0,6,0,3,0,3,0,3,0,4,0,3,0,3,0,3,0,205,1,100,0,3,0,40,0,3,0,3,0,3,0,5,0,14,0,14,0,10,0,11,0,3,0,8,0,9,0,7,0,3,0,91,1,18,0,29,0,38,0,40,0,46,0,52,0,62,0,84],"i8",4,w.A+20480);
J([92,202,190,216,182,223,154,226,156,230,120,236,122,244,204,252,52,3,134,11,136,19,100,25,102,29,74,32,66,39,164,53,100,0,240,0,32,0,100,0,205,60,0,48,0,32,0,32,254,31,246,31,234,31,216,31,194,31,168,31,136,31,98,31,58,31,10,31,216,30,160,30,98,30,34,30,220,29,144,29,66,29,238,28,150,28,58,28,216,27,114,27,10,27,156,26,42,26,180,25,58,25,188,24,60,24,182,23,46,23,160,22,16,22,126,21,232,20,78,20,176,19,16,19,110,18,200,17,30,17,116,16,198,15,22,15,100,14,174,13,248,12,64,12,132,11,200,10,10,10,
74,9,138,8,198,7,2,7,62,6,120,5,178,4,234,3,34,3,90,2,146,1,202,0,0,0,54,255,110,254,166,253,222,252,22,252,78,251,136,250,194,249,254,248,58,248,118,247,182,246,246,245,56,245,124,244,192,243,8,243,82,242,156,241,234,240,58,240,140,239,226,238,56,238,146,237,240,236,80,236,178,235,24,235,130,234,240,233,96,233,210,232,74,232,196,231,68,231,198,230,76,230,214,229,100,229,246,228,142,228,40,228,198,227,106,227,18,227,190,226,112,226,36,226,222,225,158,225,96,225,40,225,246,224,198,224,158,224,120,
224,88,224,62,224,40,224,22,224,10,224,2,224,0,224,42,175,213,201,207,255,64,0,17,0,99,255,97,1,16,254,163,0,39,43,189,86,217,255,6,0,91,0,86,255,186,0,23,0,128,252,192,24,216,77,237,255,220,255,102,0,167,255,232,255,72,1,73,252,8,10,37,62,135,199,61,201,64,0,128,0,134,255,36,0,54,1,0,253,72,2,51,36,69,69,12,0,128,0,18,0,114,255,32,1,139,255,159,252,27,16,123,56,104,2,13,200,246,255,39,0,58,0,210,255,172,255,120,0,184,0,197,254,227,253,4,5,4,21,64,35,230,62,198,196,243,255,0,0,20,0,26,0,5,0,225,255,
213,255,252,255,65,0,90,0,7,0,99,255,8,255,212,255,81,2,47,6,52,10,199,12,228,87,5,197,3,0,242,255,236,255,241,255,2,0,25,0,37,0,25,0,240,255,185,255,149,255,177,255,50,0,36,1,111,2,214,3,8,5,184,5,148,107,103,196,17,0,12,0,8,0,1,0,246,255,234,255,226,255,224,255,234,255,3,0,44,0,100,0,168,0,243,0,61,1,125,1,173,1,199,1,19,245,149,230,89,18,243,41,31,6,84,32,189,0,168,253,105,2,103,119,117,0,97,255,210,251,8,116,52,0,221,0,168,246,116,110,252,255,17,2,234,242,229,102,208,255,246,2,140,240,165,93,
176,255,137,3,117,239,6,83,157,255,204,3,130,239,102,71,149,255,199,3,139,240,39,59,153,255,128,3,97,242,174,46,165,255,5,3,207,244,94,34,185,255,99,2,161,247,152,22,210,255,169,1,161,250,180,11,0,1,1,1,2,3,3,3,2,3,3,3,2,3,3,3,0,3,12,15,48,51,60,63,192,195,204,207,240,243,252,255,0,255,0,255,0,255,0,255,0,255,0,254,1,0,1,255,0,254,0,253,2,0,1,255,0,254,0,253,3,0,1,255,2,1,0,25,23,2,0,126,124,119,109,87,41,19,9,4,2,0,255,255,156,110,86,70,59,51,45,40,37,33,31,28,26,25,23,22,21,20,19,18,17,16,16,15,
15,14,13,13,12,12,12,12,11,11,11,10,10,10,9,9,9,9,9,9,8,8,8,8,8,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,80,75,69,63,56,49,40,34,29,20,18,10,0,0,0,0,0,0,0,0,110,100,90,84,78,71,65,58,51,45,39,32,26,20,12,0,0,0,0,0,0,118,110,103,93,86,80,75,70,65,59,53,47,40,31,23,15,4,0,0,0,0,126,119,112,104,95,89,83,78,72,66,60,54,47,39,32,25,17,12,1,0,0,134,
127,120,114,103,97,91,85,78,72,66,60,54,47,41,35,29,23,16,10,1,144,137,130,124,113,107,101,95,88,82,76,70,64,57,51,45,39,33,26,15,1,152,145,138,132,123,117,111,105,98,92,86,80,74,67,61,55,49,43,36,20,1,162,155,148,142,133,127,121,115,108,102,96,90,84,77,71,65,59,53,46,30,1,172,165,158,152,143,137,131,125,118,112,106,100,94,87,81,75,69,63,56,45,20,200,200,200,200,200,200,200,200,198,193,188,183,178,173,168,163,158,153,148,129,104,40,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,40,15,23,28,31,34,36,38,39,41,42,43,44,45,46,47,47,49,50,51,52,53,54,55,55,57,58,59,60,61,62,63,63,65,66,67,68,69,70,71,71,40,20,33,41,48,53,57,61,64,66,69,71,73,75,76,78,80,82,85,87,89,91,92,94,96,98,101,103,105,107,108,110,112,114,117,119,121,123,124,126,128,40,23,39,51,60,67,73,79,83,87,91,94,97,100,102,105,107,111,115,118,121,124,126,129,131,135,139,142,145,148,150,153,155,159,163,166,169,172,174,177,179,35,28,49,65,78,89,99,107,114,120,126,132,136,141,145,149,153,159,165,171,176,
180,185,189,192,199,205,211,216,220,225,229,232,239,245,251,21,33,58,79,97,112,125,137,148,157,166,174,182,189,195,201,207,217,227,235,243,251,17,35,63,86,106,123,139,152,165,177,187,197,206,214,222,230,237,250,25,31,55,75,91,105,117,128,138,146,154,161,168,174,180,185,190,200,208,215,222,229,235,240,245,255,16,36,65,89,110,128,144,159,173,185,196,207,217,226,234,242,250,11,41,74,103,128,151,172,191,209,225,241,255,9,43,79,110,138,163,186,207,227,246,12,39,71,99,123,144,164,182,198,214,228,241,253,
9,44,81,113,142,168,192,214,235,255,7,49,90,127,160,191,220,247,6,51,95,134,170,203,234,7,47,87,123,155,184,212,237,6,52,97,137,174,208,240,5,57,106,151,192,231,5,59,111,158,202,243,5,55,103,147,187,224,5,60,113,161,206,248,4,65,122,175,224,4,67,127,182,234,224,224,224,224,224,224,224,224,160,160,160,160,185,185,185,178,178,168,134,61,37,224,224,224,224,224,224,224,224,240,240,240,240,207,207,207,198,198,183,144,66,40,160,160,160,160,160,160,160,160,185,185,185,185,193,193,193,183,183,172,138,64,
38,240,240,240,240,240,240,240,240,207,207,207,207,204,204,204,193,193,180,143,66,40,185,185,185,185,185,185,185,185,193,193,193,193,193,193,193,183,183,172,138,65,39,207,207,207,207,207,207,207,207,204,204,204,204,201,201,201,188,188,176,141,66,40,193,193,193,193,193,193,193,193,193,193,193,193,194,194,194,184,184,173,139,65,39,204,204,204,204,204,204,204,204,201,201,201,201,198,198,198,187,187,175,140,66,40,72,127,65,129,66,128,65,128,64,128,62,128,64,128,64,128,92,78,92,79,92,78,90,79,116,41,115,
40,114,40,132,26,132,26,145,17,161,12,176,10,177,11,24,179,48,138,54,135,54,132,53,134,56,133,55,132,55,132,61,114,70,96,74,88,75,88,87,74,89,66,91,67,100,59,108,50,120,40,122,37,97,43,78,50,83,78,84,81,88,75,86,74,87,71,90,73,93,74,93,74,109,40,114,36,117,34,117,34,143,17,145,18,146,19,162,12,165,10,178,7,189,6,190,8,177,9,23,178,54,115,63,102,66,98,69,99,74,89,71,91,73,91,78,89,86,80,92,66,93,64,102,59,103,60,104,60,117,52,123,44,138,35,133,31,97,38,77,45,61,90,93,60,105,42,107,41,110,45,116,38,
113,38,112,38,124,26,132,27,136,19,140,20,155,14,159,16,158,18,170,13,177,10,187,8,192,6,175,9,159,10,21,178,59,110,71,86,75,85,84,83,91,66,88,73,87,72,92,75,98,72,105,58,107,54,115,52,114,55,112,56,129,51,132,40,150,33,140,29,98,35,77,42,42,121,96,66,108,43,111,40,117,44,123,32,120,36,119,33,127,33,134,34,139,21,147,23,152,20,158,25,154,26,166,21,173,16,184,13,184,10,150,13,139,15,22,178,63,114,74,82,84,83,92,82,103,62,96,72,96,67,101,73,107,72,113,55,118,52,125,52,118,52,117,55,135,49,137,39,157,
32,145,29,97,33,77,40,2,1,0,0,8,13,16,19,21,23,24,26,27,28,29,30,31,32,32,33,34,34,35,36,36,37,37,224,112,44,15,3,2,1,0,254,237,192,132,70,23,4,0,255,252,226,155,61,11,2,0,250,245,234,203,71,50,42,38,35,33,31,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,179,99,0,8,16,32,71,56,43,30,21,12,6,0,199,165,144,124,109,96,84,71,61,51,42,32,23,15,8,0,241,225,211,199,187,175,164,153,142,132,123,114,105,96,88,80,72,64,57,50,44,38,33,29,24,20,16,12,9,5,2,0,15,131,138,138,155,
155,173,173,69,93,115,118,131,138,141,138,150,150,155,150,155,160,166,160,131,128,134,141,141,141,145,145,145,150,155,155,155,155,160,160,160,160,166,166,173,173,182,192,182,192,192,192,205,192,205,224,4,6,24,7,5,0,0,2,0,0,12,28,41,13,252,247,15,42,25,14,1,254,62,41,247,246,37,65,252,3,250,4,66,7,248,16,14,38,253,33,13,22,39,23,12,255,36,64,27,250,249,10,55,43,17,1,1,8,1,1,6,245,74,53,247,244,55,76,244,8,253,3,93,27,252,26,39,59,3,248,2,0,77,11,9,248,22,44,250,7,40,9,26,3,9,249,20,101,249,4,3,248,
42,26,0,241,33,68,2,23,254,55,46,254,15,3,255,21,16,41,250,27,61,39,5,245,42,88,4,1,254,60,65,6,252,255,251,73,56,1,247,19,94,29,247,0,12,99,6,4,8,237,102,46,243,3,2,13,3,2,9,235,84,72,238,245,46,104,234,8,18,38,48,23,0,240,70,83,235,11,5,245,117,22,248,250,23,117,244,3,3,248,95,28,4,246,15,77,60,241,255,4,124,2,252,3,38,84,24,231,2,13,42,13,31,21,252,56,46,255,255,35,79,243,19,249,65,88,247,242,20,4,81,49,227,20,0,75,3,239,5,247,44,92,248,1,253,22,69,31,250,95,41,244,5,39,67,16,252,1,0,250,120,55,
220,243,44,122,4,232,81,5,11,3,7,2,0,9,10,88,46,2,90,87,93,91,82,98,109,120,118,12,113,115,117,119,99,59,87,111,63,111,112,80,126,124,125,124,129,121,126,23,132,127,127,127,126,127,122,133,130,134,101,118,119,145,126,86,124,120,123,119,170,173,107,109,12,35,60,83,108,132,157,180,206,228,15,32,55,77,101,125,151,175,201,225,19,42,66,89,114,137,162,184,209,230,12,25,50,72,97,120,147,172,200,223,26,44,69,90,114,135,159,180,205,225,13,22,53,80,106,130,156,180,205,228,15,25,44,64,90,115,142,168,196,222,
19,24,62,82,100,120,145,168,190,214,22,31,50,79,103,120,151,170,203,227,21,29,45,65,106,124,150,171,196,224,30,49,75,97,121,142,165,186,209,229,19,25,52,70,93,116,143,166,192,219,26,34,62,75,97,118,145,167,194,217,25,33,56,70,91,113,143,165,196,223,21,34,51,72,97,117,145,171,196,222,20,29,50,67,90,117,144,168,197,221,22,31,48,66,95,117,146,168,196,222,24,33,51,77,116,134,158,180,200,224,21,28,70,87,106,124,149,170,194,217,26,33,53,64,83,117,152,173,204,225,27,34,65,95,108,129,155,174,210,225,20,26,
72,99,113,131,154,176,200,219,34,43,61,78,93,114,155,177,205,229,23,29,54,97,124,138,163,179,209,229,30,38,56,89,118,129,158,178,200,231,21,29,49,63,85,111,142,163,193,222,27,48,77,103,133,158,179,196,215,232,29,47,74,99,124,151,176,198,220,237,33,42,61,76,93,121,155,174,207,225,29,53,87,112,136,154,170,188,208,227,24,30,52,84,131,150,166,186,203,229,37,48,64,84,104,118,156,177,201,230,212,178,148,129,108,96,85,82,79,77,61,59,57,56,51,49,48,45,42,41,40,38,36,34,31,30,21,12,10,3,1,0,255,245,244,236,
233,225,217,203,190,176,175,161,149,136,125,114,102,91,81,71,60,52,43,35,28,20,19,18,12,11,5,0,179,138,140,148,151,149,153,151,163,116,67,82,59,92,72,100,89,92,16,0,0,0,0,99,66,36,36,34,36,34,34,34,34,83,69,36,52,34,116,102,70,68,68,176,102,68,68,34,65,85,68,84,36,116,141,152,139,170,132,187,184,216,137,132,249,168,185,139,104,102,100,68,68,178,218,185,185,170,244,216,187,187,170,244,187,187,219,138,103,155,184,185,137,116,183,155,152,136,132,217,184,184,170,164,217,171,155,139,244,169,184,185,170,
164,216,223,218,138,214,143,188,218,168,244,141,136,155,170,168,138,220,219,139,164,219,202,216,137,168,186,246,185,139,116,185,219,185,138,100,100,134,100,102,34,68,68,100,68,168,203,221,218,168,167,154,136,104,70,164,246,171,137,139,137,155,218,219,139,255,254,253,238,14,3,2,1,0,255,254,252,218,35,3,2,1,0,255,254,250,208,59,4,2,1,0,255,254,246,194,71,10,2,1,0,255,252,236,183,82,8,2,1,0,255,252,235,180,90,17,2,1,0,255,248,224,171,97,30,4,1,0,255,254,236,173,95,37,7,1,0,255,255,255,131,6,145,255,
255,255,255,255,236,93,15,96,255,255,255,255,255,194,83,25,71,221,255,255,255,255,162,73,34,66,162,255,255,255,210,126,73,43,57,173,255,255,255,201,125,71,48,58,130,255,255,255,166,110,73,57,62,104,210,255,255,251,123,65,55,68,100,171,255,7,23,38,54,69,85,100,116,131,147,162,178,193,208,223,239,13,25,41,55,69,83,98,112,127,142,157,171,187,203,220,236,15,21,34,51,61,78,92,106,126,136,152,167,185,205,225,240,10,21,36,50,63,79,95,110,126,141,157,173,189,205,221,237,17,20,37,51,59,78,89,107,123,134,150,
164,184,205,224,240,10,15,32,51,67,81,96,112,129,142,158,173,189,204,220,236,8,21,37,51,65,79,98,113,126,138,155,168,179,192,209,218,12,15,34,55,63,78,87,108,118,131,148,167,185,203,219,236,16,19,32,36,56,79,91,108,118,136,154,171,186,204,220,237,11,28,43,58,74,89,105,120,135,150,165,180,196,211,226,241,6,16,33,46,60,75,92,107,123,137,156,169,185,199,214,225,11,19,30,44,57,74,89,105,121,135,152,169,186,202,218,234,12,19,29,46,57,71,88,100,120,132,148,165,182,199,216,233,17,23,35,46,56,77,92,106,123,
134,152,167,185,204,222,237,14,17,45,53,63,75,89,107,115,132,151,171,188,206,221,240,9,16,29,40,56,71,88,103,119,137,154,171,189,205,222,237,16,19,36,48,57,76,87,105,118,132,150,167,185,202,218,236,12,17,29,54,71,81,94,104,126,136,149,164,182,201,221,237,15,28,47,62,79,97,115,129,142,155,168,180,194,208,223,238,8,14,30,45,62,78,94,111,127,143,159,175,192,207,223,239,17,30,49,62,79,92,107,119,132,145,160,174,190,204,220,235,14,19,36,45,61,76,91,108,121,138,154,172,189,205,222,238,12,18,31,45,60,76,
91,107,123,138,154,171,187,204,221,236,13,17,31,43,53,70,83,103,114,131,149,167,185,203,220,237,17,22,35,42,58,78,93,110,125,139,155,170,188,206,224,240,8,15,34,50,67,83,99,115,131,146,162,178,193,209,224,239,13,16,41,66,73,86,95,111,128,137,150,163,183,206,225,241,17,25,37,52,63,75,92,102,119,132,144,160,175,191,212,231,19,31,49,65,83,100,117,133,147,161,174,187,200,213,227,242,18,31,52,68,88,103,117,126,138,149,163,177,192,207,223,239,16,29,47,61,76,90,106,119,133,147,161,176,193,209,224,240,15,
21,35,50,61,73,86,97,110,119,129,141,175,198,218,237,225,204,201,184,183,175,158,154,153,135,119,115,113,110,109,99,98,95,79,68,52,50,48,45,43,32,31,27,18,10,3,0,255,251,235,230,212,201,196,182,167,166,163,151,138,124,110,104,90,78,76,70,69,57,45,34,24,21,11,6,5,4,3,0,175,148,160,176,178,173,174,164,177,174,196,182,198,192,182,68,62,66,60,72,117,85,90,118,136,151,142,160,142,155,0,0,0,0,0,0,0,1,100,102,102,68,68,36,34,96,164,107,158,185,180,185,139,102,64,66,36,34,34,0,1,32,208,139,141,191,152,185,
155,104,96,171,104,166,102,102,102,132,1,0,0,0,0,16,16,0,80,109,78,107,185,139,103,101,208,212,141,139,173,153,123,103,36,0,0,0,0,0,0,1,48,0,0,0,0,0,0,32,68,135,123,119,119,103,69,98,68,103,120,118,118,102,71,98,134,136,157,184,182,153,139,134,208,168,248,75,189,143,121,107,32,49,34,34,34,0,17,2,210,235,139,123,185,137,105,134,98,135,104,182,100,183,171,134,100,70,68,70,66,66,34,131,64,166,102,68,36,2,1,0,134,166,102,68,34,34,66,132,212,246,158,139,107,107,87,102,100,219,125,122,137,118,103,132,114,
135,137,105,171,106,50,34,164,214,141,143,185,151,121,103,192,34,0,0,0,0,0,1,208,109,74,187,134,249,159,137,102,110,154,118,87,101,119,101,0,2,0,36,36,66,68,35,96,164,102,100,36,0,2,33,167,138,174,102,100,84,2,2,100,107,120,119,36,197,24,0,255,254,253,244,12,3,2,1,0,255,254,252,224,38,3,2,1,0,255,254,251,209,57,4,2,1,0,255,254,244,195,69,4,2,1,0,255,251,232,184,84,7,2,1,0,255,254,240,186,86,14,2,1,0,255,254,239,178,91,30,5,1,0,255,248,227,177,100,19,2,1,0,255,255,255,156,4,154,255,255,255,255,255,
227,102,15,92,255,255,255,255,255,213,83,24,72,236,255,255,255,255,150,76,33,63,214,255,255,255,190,121,77,43,55,185,255,255,255,245,137,71,43,59,139,255,255,255,255,131,66,50,66,107,194,255,255,166,116,76,55,53,125,255,255,249,247,246,245,244,234,210,202,201,200,197,174,82,59,56,55,54,46,22,12,11,10,9,7,0,64,0,128,64,0,232,158,10,0,230,0,243,221,192,181,0,171,85,0,192,128,64,0,205,154,102,51,0,213,171,128,85,43,0,224,192,160,128,96,64,32,0,100,40,16,7,3,1,0,203,150,0,215,195,166,125,110,82,0,253,
250,244,233,212,182,150,131,120,110,98,85,72,60,49,40,32,25,19,15,13,11,9,8,7,6,5,4,3,2,1,0,210,208,206,203,199,193,183,168,142,104,74,52,37,27,20,14,10,6,4,2,0,223,201,183,167,152,138,124,111,98,88,79,70,62,56,50,44,39,35,31,27,24,21,18,16,14,12,10,8,6,4,3,2,1,0,188,176,155,138,119,97,67,43,26,10,0,165,119,80,61,47,35,27,20,14,9,4,0,113,63,0,125,51,26,18,15,12,11,10,9,8,7,6,5,4,3,2,1,0,198,105,45,22,15,12,11,10,9,8,7,6,5,4,3,2,1,0,213,162,116,83,59,43,32,24,18,15,12,9,7,6,5,3,2,0,239,187,116,59,
28,16,11,10,9,8,7,6,5,4,3,2,1,0,250,229,188,135,86,51,30,19,13,10,8,6,5,4,3,2,1,0,249,235,213,185,156,128,103,83,66,53,42,33,26,21,17,13,10,0,254,249,235,206,164,118,77,46,27,16,10,7,5,4,3,2,1,0,255,253,249,239,220,191,156,119,85,57,37,23,15,10,6,4,2,0,255,253,251,246,237,223,203,179,152,124,98,75,55,40,29,21,15,0,255,254,253,247,220,162,106,67,42,28,18,12,9,6,4,3,2,0,31,57,107,160,205,205,255,255,255,255,255,255,255,255,255,255,255,255,69,47,67,111,166,205,255,255,255,255,255,255,255,255,255,255,
255,255,82,74,79,95,109,128,145,160,173,205,205,205,224,255,255,224,255,224,125,74,59,69,97,141,182,255,255,255,255,255,255,255,255,255,255,255,173,115,85,73,76,92,115,145,173,205,224,224,255,255,255,255,255,255,166,134,113,102,101,102,107,118,125,138,145,155,166,182,192,192,205,150,224,182,134,101,83,79,85,97,120,145,173,205,224,255,255,255,255,255,255,224,192,150,120,101,92,89,93,102,118,134,160,182,192,224,224,224,255,224,224,182,155,134,118,109,104,102,106,111,118,131,145,160,173,131,241,190,
178,132,87,74,41,14,0,223,193,157,140,106,57,39,18,0,131,74,141,79,80,138,95,104,134,95,99,91,125,93,76,123,115,123,128,0,214,42,0,235,128,21,0,244,184,72,11,0,248,214,128,42,7,0,248,225,170,80,25,5,0,251,236,198,126,54,18,3,0,250,238,211,159,82,35,15,5,0,250,231,203,168,128,88,53,25,6,0,252,238,216,185,148,108,71,40,18,4,0,253,243,225,199,166,128,90,57,31,13,3,0,254,246,233,212,183,147,109,73,44,23,10,2,0,255,250,240,223,198,166,128,90,58,33,16,6,1,0,255,251,244,231,210,181,146,110,75,46,25,12,5,
1,0,255,253,248,238,221,196,164,128,92,60,35,18,8,3,1,0,255,253,249,242,229,208,180,146,110,76,48,27,14,7,3,1,0,129,0,207,50,0,236,129,20,0,245,185,72,10,0,249,213,129,42,6,0,250,226,169,87,27,4,0,251,233,194,130,62,20,4,0,250,236,207,160,99,47,17,3,0,255,240,217,182,131,81,41,11,1,0,255,254,233,201,159,107,61,20,2,1,0,255,249,233,206,170,128,86,50,23,7,1,0,255,250,238,217,186,148,108,70,39,18,6,1,0,255,252,243,226,200,166,128,90,56,30,13,4,1,0,255,252,245,231,209,180,146,110,76,47,25,11,4,1,0,255,
253,248,237,219,194,163,128,93,62,37,19,8,3,1,0,255,254,250,241,226,205,177,145,111,79,51,30,15,6,2,1,0,129,0,203,54,0,234,129,23,0,245,184,73,10,0,250,215,129,41,5,0,252,232,173,86,24,3,0,253,240,200,129,56,15,2,0,253,244,217,164,94,38,10,1,0,253,245,226,189,132,71,27,7,1,0,253,246,231,203,159,105,56,23,6,1,0,255,248,235,213,179,133,85,47,19,5,1,0,255,254,243,221,194,159,117,70,37,12,2,1,0,255,254,248,234,208,171,128,85,48,22,8,2,1,0,255,254,250,240,220,189,149,107,67,36,16,6,2,1,0,255,254,251,243,
227,201,166,128,90,55,29,13,5,2,1,0,255,254,252,246,234,213,183,147,109,73,43,22,10,4,2,1,0,130,0,200,58,0,231,130,26,0,244,184,76,12,0,249,214,130,43,6,0,252,232,173,87,24,3,0,253,241,203,131,56,14,2,0,254,246,221,167,94,35,8,1,0,254,249,232,193,130,65,23,5,1,0,255,251,239,211,162,99,45,15,4,1,0,255,251,243,223,186,131,74,33,11,3,1,0,255,252,245,230,202,158,105,57,24,8,2,1,0,255,253,247,235,214,179,132,84,44,19,7,2,1,0,255,254,250,240,223,196,159,112,69,36,15,6,2,1,0,255,254,253,245,231,209,176,
136,93,55,27,11,3,2,1,0,255,254,253,252,239,221,194,158,117,76,42,18,4,3,2,1,0,0,0,2,5,9,14,20,27,35,44,54,65,77,90,104,119,135,254,49,67,77,82,93,99,198,11,18,24,31,36,45,255,46,66,78,87,94,104,208,14,21,32,42,51,66,255,94,104,109,112,115,118,248,53,69,80,88,95,102,0,15,8,7,4,11,12,3,2,13,10,5,6,9,14,1,0,9,6,3,4,5,8,1,2,7,0,1,0,0,0,1,0,0,1,255,1,255,2,254,2,254,3,253,0,1,0,1,255,2,255,2,254,3,254,3,253,7,254,7,0,2,255,255,255,0,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,255,2,1,0,1,
1,0,0,255,255,0,0,1,255,0,1,255,0,255,1,254,2,254,254,2,253,2,3,253,252,3,252,4,4,251,5,250,251,6,249,6,5,8,247,0,0,1,0,0,0,0,0,0,0,255,1,0,0,1,255,0,1,255,255,1,255,2,1,255,2,254,254,2,254,2,2,3,253,0,1,0,0,0,0,0,0,1,0,1,0,0,1,255,1,0,0,2,1,255,2,255,255,2,255,2,2,255,3,254,254,254,3,0,1,0,0,1,0,1,255,2,255,2,255,2,3,254,3,254,254,4,4,253,5,253,252,6,252,6,5,251,8,250,251,249,9,251,8,255,6,255,6,252,10,250,10,254,6,255,6,251,10,247,12,253,7,254,7,249,13,16,24,34,6,0,3,0,7,3,0,1,10,0,2,6,18,10,12,
4,0,2,0,0,0,9,4,7,4,0,3,12,7,7,120,0],"i8",4,w.A+30720);var cb=w.K(J(12,"i8",2),8);assert(0==cb%8);var db=qa,eb=sa;d._memset=fb;d._bitshift64Shl=gb;d._i64Add=hb;var ib=qa,jb=sa;d._bitshift64Ashr=kb;d._bitshift64Lshr=lb;d._memcpy=mb;function M(a){M.k||(y=Ea(),M.k=!0,assert(w.q),M.qa=w.q,w.q=function(){A("cannot dynamically allocate, sbrk now has control")});var b=y;return 0==a||M.qa(a)?b:4294967295}function W(){W.k||(W.k=[]);W.k.push(w.I());return W.k.length-1}d._memmove=nb;
function ob(a){d.___errno_location&&(F[d.___errno_location()>>2]=a);return a}Ja=u=w.K(x);wa=!0;Ka=Ja+Ma;La=y=w.K(Ka);assert(La<z,"TOTAL_MEMORY not big enough for stack");
var pb=J([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,
1,0,3,0,1,0,2,0,1,0],"i8",3);d.la={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity};
d.ma={abort:A,assert:assert,invoke_iiiiiii:function(a,b,c,e,f,h,k){try{return d.dynCall_iiiiiii(a,b,c,e,f,h,k)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;X.setThrew(1,0)}},invoke_viiiiiii:function(a,b,c,e,f,h,k,l){try{d.dynCall_viiiiiii(a,b,c,e,f,h,k,l)}catch(n){if("number"!==typeof n&&"longjmp"!==n)throw n;X.setThrew(1,0)}},_fabs:ib,_floor:jb,_log:Za,_sin:Wa,_exp:Ya,_llvm_pow_f64:ab,_cos:Va,_pthread_self:function(){return 0},_llvm_stacksave:W,___setErrNo:ob,_fabsf:db,_sbrk:M,_time:function(a){var b=
Date.now()/1E3|0;a&&(F[a>>2]=b);return b},_atan2:Xa,_floorf:eb,_emscripten_memcpy_big:function(a,b,c){L.set(L.subarray(b,b+c),a);return a},_sqrtf:$a,_sqrt:$a,_abort:function(){d.abort()},_llvm_stackrestore:function(a){var b=W.k[a];W.k.splice(a,1);w.r(b)},_sysconf:function(a){switch(a){case 30:return 4096;case 85:return Q/4096;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;
case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;
case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1E3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"===typeof navigator?navigator.hardwareConcurrency||1:1}ob(22);return-1},
STACKTOP:u,STACK_MAX:Ka,tempDoublePtr:cb,ABORT:ia,cttz_i8:pb};// EMSCRIPTEN_START_ASM
var X=(function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiiiiii;var ea=env.invoke_viiiiiii;var fa=env._fabs;var ga=env._floor;var ha=env._log;var ia=env._sin;var ja=env._exp;var ka=env._llvm_pow_f64;var la=env._cos;var ma=env._pthread_self;var na=env._llvm_stacksave;var oa=env.___setErrNo;var pa=env._fabsf;var qa=env._sbrk;var ra=env._time;var sa=env._atan2;var ta=env._floorf;var ua=env._emscripten_memcpy_big;var va=env._sqrtf;var wa=env._sqrt;var xa=env._abort;var ya=env._llvm_stackrestore;var za=env._sysconf;var Aa=0.0;
// EMSCRIPTEN_START_FUNCS
function Da(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Ea(){return i|0}function Fa(a){a=a|0;i=a}function Ga(a,b){a=a|0;b=b|0;i=a;j=b}function Ha(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Ia(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function Ja(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function Ka(a){a=a|0;C=a}function La(){return C|0}function Ma(a,d,e,f,h,i){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0.0;r=c[a+44>>2]<<i;s=c[a+32>>2]|0;l=a+8|0;n=0;do{m=_(n,r)|0;o=0;while(1){if((o|0)>=(f|0))break;k=b[s+(o<<1)>>1]|0;a=m+(k<<i)|0;j=o+1|0;k=(b[s+(j<<1)>>1]|0)-k<<i;p=0;q=0.0;while(1){if((p|0)>=(k|0))break;t=+g[d+(a+p<<2)>>2];p=p+1|0;q=q+t*t}t=+O(+(q+1.0000000272452012e-27));g[e+(o+(_(n,c[l>>2]|0)|0)<<2)>>2]=t;o=j}n=n+1|0}while((n|0)<(h|0));return}function Na(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0;b=b>>1;d=c<<1;e=0;while(1){if((e|0)<(c|0))f=0;else break;while(1){if((f|0)>=(b|0))break;k=a+((_(d,f)|0)+e<<2)|0;j=+g[k>>2]*.7071067690849304;h=a+((_(f<<1|1,c)|0)+e<<2)|0;i=+g[h>>2]*.7071067690849304;g[k>>2]=j+i;g[h>>2]=j-i;f=f+1|0}e=e+1|0}return}function Oa(d,e,f,h,j,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;var A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0.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,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0.0;xa=i;i=i+96|0;oa=xa+84|0;na=xa+80|0;pa=xa+76|0;qa=xa+72|0;va=xa+48|0;ua=xa;ta=(j|0)!=0?2:1;ha=(o|0)==0?1:1<<w;ja=c[d+32>>2]|0;ka=b[ja+(e<<1)>>1]<<w;P=d+8|0;ma=(_(ta,(b[ja+((c[P>>2]|0)+-1<<1)>>1]<<w)-ka|0)|0)<<2;la=i;i=i+((1*ma|0)+15&-16)|0;ma=la;P=b[ja+((c[P>>2]|0)+-1<<1)>>1]<<w;ia=P-ka|0;c[ua+32>>2]=m;fa=ua+24|0;c[fa>>2]=v;c[ua>>2]=1;c[ua+12>>2]=r;c[ua+4>>2]=d;ga=ua+36|0;c[ga>>2]=c[y>>2];c[ua+16>>2]=p;c[ua+40>>2]=z;ba=ua+8|0;ca=f+-1|0;da=(j|0)==0;ea=v+20|0;X=v+28|0;Y=ua+28|0;Z=x+-1|0;$=ua+20|0;Q=d+12|0;R=(1<<ha)+-1|0;S=va+4|0;T=va+8|0;U=va+12|0;V=va+16|0;W=va+20|0;v=h+(P<<2)|0;P=e;while(1){if((P|0)>=(f|0))break;c[ba>>2]=P;D=(P|0)==(ca|0);E=ja+(P<<1)|0;K=b[E>>1]<<w;m=h+(K<<2)|0;z=da?0:j+(K<<2)|0;M=P+1|0;K=(b[ja+(M<<1)>>1]<<w)-K|0;L=c[X>>2]|0;o=32-(aa(L|0)|0)|0;L=L>>>(o+-16|0);N=(L>>>12)+-8|0;N=(c[ea>>2]<<3)-((o<<3)+(N+(L>>>0>(c[10984+(N<<2)>>2]|0)>>>0&1)))|0;L=(P|0)==(e|0)?u:u-N|0;o=t-N|0;c[Y>>2]=o+-1;if((P|0)<=(Z|0)?(ra=x-P|0,ra=(c[n+(P<<2)>>2]|0)+((L|0)/(((ra|0)>3?3:ra)|0)|0)|0,sa=(o|0)<(ra|0),!(((sa?o:ra)|0)<=16383&((sa?o:ra)|0)<0)):0)d=((sa?o:ra)|0)>16383?16383:sa?o:ra;else d=0;c[$>>2]=c[s+(P<<2)>>2];J=(P|0)<(c[Q>>2]|0);G=J?m:ma;p=J?z:da?z:ma;v=D?0:J?v:0;do if((q|0)==0|(P|0)==(r|0)){F=p;if(!p){if(D)o=0;else o=la+((b[E>>1]<<w)-ka<<2)|0;o=Pa(ua,G,K,d,ha,0,w,o,1.0,v,R)|0;q=0;m=o;break}if(D)E=0;else E=la+((b[E>>1]<<w)-ka<<2)|0;c[oa>>2]=G;c[na>>2]=p;c[pa>>2]=d;c[qa>>2]=R;H=(c[ua>>2]|0)==0;z=c[fa>>2]|0;q=G;a:do if((K|0)!=1){Ua(ua,va,q,F,K,pa,ha,ha,w,1,qa);J=c[va>>2]|0;u=c[V>>2]|0;d=c[W>>2]|0;I=+(c[S>>2]|0)*.000030517578125;A=+(c[T>>2]|0)*.000030517578125;D=(K|0)==2;b:do if(!D){z=c[pa>>2]|0;m=(z-(c[U>>2]|0)|0)/2|0;o=(z|0)<(m|0);m=((o?z:m)|0)<0?0:o?z:m;z=z-m|0;o=(c[Y>>2]|0)-d|0;c[Y>>2]=o;if((m|0)<(z|0)){G=c[qa>>2]|0;F=Pa(ua,F,K,z,ha,0,w,0,A,0,G>>ha)|0;o=z+((c[Y>>2]|0)-o)|0;o=F|(Pa(ua,q,K,(o|0)<=24|(u|0)==16384?m:m+(o+-24)|0,ha,0,w,E,1.0,v,G)|0)}else{G=c[qa>>2]|0;E=Pa(ua,q,K,m,ha,0,w,E,1.0,v,G)|0;o=m+((c[Y>>2]|0)-o)|0;o=E|(Pa(ua,F,K,(o|0)<=24|(u|0)==0?z:z+(o+-24)|0,ha,0,w,0,A,0,G>>ha)|0)}if(!H)break a;if(D)m=o;else{d=c[oa>>2]|0;q=c[na>>2]|0;u=q;D=d;z=0;m=0;p=0;while(1){A=(c[k>>2]=m,+g[k>>2]);if((z|0)>=(K|0))break;C=+g[u+(z<<2)>>2];m=(g[k>>2]=A+C*+g[D+(z<<2)>>2],c[k>>2]|0);z=z+1|0;p=(g[k>>2]=(c[k>>2]=p,+g[k>>2])+C*C,c[k>>2]|0)}C=I*A;B=I*I+(c[k>>2]=p,+g[k>>2]);A=B-C*2.0;C=B+C*2.0;if(C<6.000000284984708e-04|A<6.000000284984708e-04){md(q|0,d|0,K<<2|0)|0;m=o;break}B=1.0/+O(+A);A=1.0/+O(+C);m=0;while(1){if((m|0)>=(K|0)){m=o;break b}G=D+(m<<2)|0;ya=I*+g[G>>2];H=u+(m<<2)|0;C=+g[H>>2];g[G>>2]=B*(ya-C);g[H>>2]=A*(ya+C);m=m+1|0}}}else{o=c[pa>>2]|0;c:do if((u|0)<16384){switch(u|0){case 0:break;default:{wa=20;break c}}c[Y>>2]=(c[Y>>2]|0)-d;m=c[na>>2]|0;z=0;p=G}else{switch(u|0){case 16384:break;default:{wa=20;break c}}c[Y>>2]=(c[Y>>2]|0)-d;m=c[oa>>2]|0;z=0}while(0);do if((wa|0)==20){wa=0;o=o-8|0;F=(u|0)>8192;c[Y>>2]=(c[Y>>2]|0)-(d+8);m=F?c[oa>>2]|0:c[na>>2]|0;p=F?p:G;if(H){z=eb(z,1)|0;break}else{F=p;G=m;G=+g[F>>2]*+g[G+4>>2]-+g[F+4>>2]*+g[G>>2]<0.0&1;jb(z,G,1);z=G;break}}while(0);D=1-(z<<1)|0;F=p;o=Pa(ua,F,2,o,ha,0,w,E,1.0,v,R)|0;G=m;g[G>>2]=+(0-D|0)*+g[F+4>>2];g[G+4>>2]=+(D|0)*+g[F>>2];if(!H)break a;m=c[oa>>2]|0;g[m>>2]=I*+g[m>>2];m=(c[oa>>2]|0)+4|0;g[m>>2]=I*+g[m>>2];m=c[na>>2]|0;g[m>>2]=A*+g[m>>2];m=(c[na>>2]|0)+4|0;g[m>>2]=A*+g[m>>2];m=c[oa>>2]|0;ya=+g[m>>2];g[m>>2]=ya-+g[c[na>>2]>>2];m=c[na>>2]|0;g[m>>2]=ya+ +g[m>>2];m=(c[oa>>2]|0)+4|0;ya=+g[m>>2];g[m>>2]=ya-+g[(c[na>>2]|0)+4>>2];m=(c[na>>2]|0)+4|0;g[m>>2]=ya+ +g[m>>2];m=o}while(0);if(!J)o=m;else{o=0;while(1){if((o|0)>=(K|0)){o=m;break a}J=(c[na>>2]|0)+(o<<2)|0;g[J>>2]=-+g[J>>2];o=o+1|0}}}else{Qa(ua,q,F,d,E);o=1}while(0);q=0;m=o}else{o=G;d=(d|0)/2|0;if(D){J=v;m=0;z=J;o=Pa(ua,o,K,d,ha,0,w,0,1.0,J,R)|0}else{z=v;o=Pa(ua,o,K,d,ha,0,w,la+((b[E>>1]<<w)-ka<<2)|0,1.0,z,R)|0;m=la+(ia+((b[E>>1]<<w)-ka)<<2)|0}m=Pa(ua,p,K,d,ha,0,w,m,1.0,z,R)|0}while(0);u=_(P,ta)|0;a[l+u>>0]=o;a[l+(u+ta+-1)>>0]=m;u=L+((c[n+(P<<2)>>2]|0)+N)|0;P=M}c[y>>2]=c[ga>>2];i=xa;return}function Pa(a,b,e,f,h,i,j,k,l,m,n){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;o=i;p=m;u=(c[a>>2]|0)==0;t=c[a+20>>2]|0;v=(h|0)==1&1;s=(e>>>0)/(h>>>0)|0;if((e|0)==1){Qa(a,b,0,f,k);k=1;return k|0}w=(t|0)>0?t:0;do if(!((m|0)==0|(i|0)==0)){if((w|0)==0?!((s&1|0)==0&(t|0)<0|(h|0)>1):0)break;md(m|0,i|0,e<<2|0)|0;o=p}while(0);r=o;q=(o|0)==0;o=0;while(1){if((o|0)>=(w|0))break;if(!u)Na(b,e>>o,1<<o);if(!q)Na(r,e>>o,1<<o);n=d[31386+(n&15)>>0]|0|(d[31386+(n>>4)>>0]|0)<<2;o=o+1|0}i=h>>w;p=s<<w;o=t;h=0;while(1){if(!((p&1|0)==0&(o|0)<0))break;if(!u)Na(b,p,i);if(!q)Na(r,p,i);t=n|n<<i;i=i<<1;n=t;p=p>>1;o=o+1|0;h=h+1|0}m=(i|0)>1;if(m){if(!u)Ra(b,p>>w,i<<w,v);if(!q)Ra(r,p>>w,i<<w,v)}o=Sa(a,b,e,f,i,r,j,l,n)|0;if(!u){k=o;return k|0}if(m){Ta(b,p>>w,i<<w,v);n=0}else n=0;while(1){if((n|0)>=(h|0)){p=o;o=0;break}v=i>>1;u=p<<1;Na(b,u,v);i=v;p=u;o=o|o>>>v;n=n+1|0}while(1){if((o|0)>=(w|0))break;v=d[31402+p>>0]|0;Na(b,e>>o,1<<o);p=v;o=o+1|0}o=i<<w;a:do if(k){l=+O(+(+(e|0)));n=0;while(1){if((n|0)>=(e|0))break a;g[k+(n<<2)>>2]=l*+g[b+(n<<2)>>2];n=n+1|0}}while(0);k=p&(1<<o)+-1;return k|0}function Qa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=(c[a>>2]|0)==0;m=a+28|0;j=c[a+24>>2]|0;k=(d|0)!=0?2:1;h=0;i=b;while(1){if((c[m>>2]|0)>7){if(l)a=eb(j,1)|0;else{a=+g[i>>2]<0.0&1;jb(j,a,1)}c[m>>2]=(c[m>>2]|0)+-8;e=e+-8|0}else a=0;if(l)g[i>>2]=(a|0)!=0?-1.0:1.0;h=h+1|0;if((h|0)==(k|0))break;else i=d}if(!f)return;c[f>>2]=c[b>>2];return}function Ra(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;j=_(b,d)|0;k=i;i=i+((1*(j<<2)|0)+15&-16)|0;if(!e){f=0;while(1){if((f|0)>=(d|0))break;e=_(f,b)|0;g=0;while(1){if((g|0)>=(b|0))break;c[k+(e+g<<2)>>2]=c[a+((_(g,d)|0)+f<<2)>>2];g=g+1|0}f=f+1|0}d=j<<2;md(a|0,k|0,d|0)|0;i=l;return}e=d+-2|0;g=0;while(1){if((g|0)>=(d|0))break;f=5512+(e+g<<2)|0;h=0;while(1){if((h|0)>=(b|0))break;m=c[a+((_(h,d)|0)+g<<2)>>2]|0;c[k+((_(c[f>>2]|0,b)|0)+h<<2)>>2]=m;h=h+1|0}g=g+1|0}m=j<<2;md(a|0,k|0,m|0)|0;i=l;return}function Sa(e,f,h,j,k,l,m,n,o){e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=+n;o=o|0;var p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=i;i=i+32|0;z=F+28|0;E=F+24|0;s=F;c[z>>2]=j;c[E>>2]=o;C=(c[e>>2]|0)==0;B=c[e+8>>2]|0;D=c[e+16>>2]|0;p=c[e+24>>2]|0;A=c[e+4>>2]|0;w=A+100|0;t=c[w>>2]|0;x=m+1|0;y=A+8|0;u=(_(x,c[y>>2]|0)|0)+B|0;A=A+96|0;u=b[(c[A>>2]|0)+(u<<1)>>1]|0;r=a[t+u>>0]|0;if((m|0)!=-1?((h|0)>2?((d[t+(u+(r&255))>>0]|0)+12|0)<(j|0):0):0){w=h>>1;x=f+(w<<2)|0;y=m+-1|0;if((k|0)==1)c[E>>2]=o&1|o<<1;t=k+1>>1;Ua(e,s,f,x,w,z,t,k,y,0,E);p=c[s+12>>2]|0;u=c[s+16>>2]|0;j=c[s+20>>2]|0;v=+(c[s+4>>2]|0)*.000030517578125;q=+(c[s+8>>2]|0)*.000030517578125;do if(!((k|0)<=1|(u&16383|0)==0))if((u|0)>8192){p=p-(p>>5-m)|0;break}else{p=p+(w<<3>>6-m)|0;p=(p|0)>0?0:p;break}while(0);s=c[z>>2]|0;r=(s-p|0)/2|0;m=(s|0)<(r|0);r=((m?s:r)|0)<0?0:m?s:r;s=s-r|0;m=e+28|0;j=(c[m>>2]|0)-j|0;c[m>>2]=j;p=(l|0)==0?0:l+(w<<2)|0;if((r|0)<(s|0)){E=c[E>>2]|0;h=(Sa(e,x,w,s,t,p,y,q*n,E>>t)|0)<<(k>>1);k=s+((c[m>>2]|0)-j)|0;l=h|(Sa(e,f,w,(k|0)<=24|(u|0)==16384?r:r+(k+-24)|0,t,l,y,v*n,E)|0);i=F;return l|0}else{E=c[E>>2]|0;h=Sa(e,f,w,r,t,l,y,v*n,E)|0;l=r+((c[m>>2]|0)-j)|0;l=h|(Sa(e,x,w,(l|0)<=24|(u|0)==0?s:s+(l+-24)|0,t,p,y,q*n,E>>t)|0)<<(k>>1);i=F;return l|0}}m=j+-1|0;r=r&255;s=0;j=0;while(1){if((j|0)==6)break;z=s+r+1>>1;G=(d[t+(u+z)>>0]|0)<(m|0);r=G?r:z;s=G?z:s;j=j+1|0}if(!s)j=-1;else j=d[t+(u+s)>>0]|0;j=(m-j|0)>((d[t+(u+r)>>0]|0)-m|0)?r:s;if(!j)r=0;else r=(d[t+(u+j)>>0]|0)+1|0;m=e+28|0;t=r;r=(c[m>>2]|0)-r|0;while(1){c[m>>2]=r;if(!((r|0)<0&(j|0)>0))break;r=r+t|0;c[m>>2]=r;j=j+-1|0;if(!j)s=0;else s=(d[(c[w>>2]|0)+((b[(c[A>>2]|0)+((_(x,c[y>>2]|0)|0)+B<<1)>>1]|0)+j)>>0]|0)+1|0;t=s;r=r-s|0}if(j){if((j|0)>=8)j=(j&7|8)<<(j>>3)+-1;if(C){G=yb(f,h,j,D,k,p,n)|0;i=F;return G|0}else{G=xb(f,h,j,D,k,p)|0;i=F;return G|0}}if(!C){G=0;i=F;return G|0}p=(1<<k)+-1|0;G=p&o;c[E>>2]=G;if(!G){hd(f|0,0,h<<2|0)|0;G=0;i=F;return G|0}r=e+36|0;a:do if(!l){j=0;while(1){if((j|0)>=(h|0))break a;G=(_(c[r>>2]|0,1664525)|0)+1013904223|0;c[r>>2]=G;g[f+(j<<2)>>2]=+(G>>20|0);j=j+1|0}}else{p=0;while(1){if((p|0)>=(h|0))break;G=(_(c[r>>2]|0,1664525)|0)+1013904223|0;c[r>>2]=G;g[f+(p<<2)>>2]=+g[l+(p<<2)>>2]+((G&32768|0)==0?-.00390625:.00390625);p=p+1|0}p=c[E>>2]|0}while(0);j=0;q=0.0;while(1){if((j|0)>=(h|0))break;v=+g[f+(j<<2)>>2];j=j+1|0;q=q+v*v}q=1.0/+O(+(q+1.0000000036274937e-15))*n;j=0;while(1){if((j|0)>=(h|0))break;g[f>>2]=q*+g[f>>2];j=j+1|0;f=f+4|0}i=F;return p|0}function Ta(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;j=_(b,d)|0;k=i;i=i+((1*(j<<2)|0)+15&-16)|0;if(!e){f=0;while(1){if((f|0)>=(d|0))break;e=_(f,b)|0;g=0;while(1){if((g|0)>=(b|0))break;c[k+((_(g,d)|0)+f<<2)>>2]=c[a+(e+g<<2)>>2];g=g+1|0}f=f+1|0}d=j<<2;md(a|0,k|0,d|0)|0;i=l;return}e=d+-2|0;g=0;while(1){if((g|0)>=(d|0))break;f=5512+(e+g<<2)|0;h=0;while(1){if((h|0)>=(b|0))break;c[k+((_(h,d)|0)+g<<2)>>2]=c[a+((_(c[f>>2]|0,b)|0)+h<<2)>>2];h=h+1|0}g=g+1|0}d=j<<2;md(a|0,k|0,d|0)|0;i=l;return}function Ua(a,d,e,f,h,i,j,k,l,m,n){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.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.0,N=0.0;v=c[a>>2]|0;G=c[a+8>>2]|0;r=c[a+12>>2]|0;q=c[a+24>>2]|0;E=c[a+32>>2]|0;F=c[a+4>>2]|0;p=(b[(c[F+56>>2]|0)+(G<<1)>>1]|0)+(l<<3)|0;l=p>>1;D=(m|0)==0;if(D){m=l-4|0;l=c[i>>2]|0;o=(h<<1)+-1|0}else{o=h<<1;m=l-((h|0)==2?16:4)|0;l=c[i>>2]|0;o=(h|0)==2?o+-2|0:o+-1|0}m=(l+(_(o,m)|0)|0)/(o|0)|0;K=l-p+-32|0;m=(K|0)<(m|0)?K:m;if((m|0)<=64)if((m|0)<4)m=1;else A=6;else{m=64;A=6}if((A|0)==6)m=(b[28544+((m&7)<<1)>>1]>>14-(m>>3))+1&-2;C=D|(G|0)<(r|0)?m:1;z=(v|0)==0;if(z)m=0;else{a:do if(D){m=0;s=0.0;while(1){if((m|0)>=(h|0)){m=0;u=0.0;break}u=+g[e+(m<<2)>>2];m=m+1|0;s=s+u*u}while(1){if((m|0)>=(h|0))break;t=+g[f+(m<<2)>>2];m=m+1|0;u=u+t*t}t=s+1.0000000036274937e-15;s=u+1.0000000036274937e-15}else{t=1.0000000036274937e-15;s=1.0000000036274937e-15;m=0;while(1){if((m|0)>=(h|0))break a;N=+g[e+(m<<2)>>2];u=+g[f+(m<<2)>>2];L=N+u;u=N-u;t=t+L*L;s=s+u*u;m=m+1|0}}while(0);m=~~+M(+(+W(+(+O(+s)),+(+O(+t)))*10430.3818359375+.5))}B=q;I=B+20|0;J=c[I>>2]<<3;K=B+28|0;y=c[K>>2]|0;w=32-(aa(y|0)|0)|0;x=y>>>(w+-16|0);H=(x>>>12)+-8|0;H=(w<<3)+(H+(x>>>0>(c[10984+(H<<2)>>2]|0)>>>0&1))|0;b:do if((C|0)==1)if(!D){if(z)v=0;else{D=(m|0)>8192;m=D&1;c:do if(D){l=0;while(1){if((l|0)>=(h|0))break c;D=f+(l<<2)|0;g[D>>2]=-+g[D>>2];l=l+1|0}}while(0);Va(F,e,f,E,G,h);l=c[i>>2]|0;v=m}if((l|0)>16?(c[a+28>>2]|0)>16:0){r=c[K>>2]|0;if(z){m=B+32|0;o=c[m>>2]|0;l=r>>>2;p=o>>>0<l>>>0;if(!p){c[m>>2]=o-l;l=r-l|0}c[K>>2]=l;fb(B);o=p&1;m=0;break}l=r>>>2;m=r-l|0;if(!v){p=q+32|0;l=m}else{p=q+32|0;c[p>>2]=(c[B+32>>2]|0)+m}m=q+28|0;c[m>>2]=l;o=q+20|0;while(1){if(l>>>0>=8388609){o=v;m=0;break b}lb(q,(c[p>>2]|0)>>>23);c[p>>2]=c[p>>2]<<8&2147483392;l=c[m>>2]<<8;c[m>>2]=l;c[o>>2]=(c[o>>2]|0)+8}}else{o=0;m=0}}else o=0;else{if(!z)m=(_(m,C)|0)+8192>>14;do if((D^1)&(h|0)>2){v=(C|0)/2|0;k=(v*3|0)+3+v|0;if(z){o=(y>>>0)/(k>>>0)|0;c[B+36>>2]=o;p=B+32|0;q=c[p>>2]|0;l=((q>>>0)/(o>>>0)|0)+1|0;l=k-(k>>>0<l>>>0?k:l)|0;f=v+1|0;m=f*3|0;l=(l|0)<(m|0)?(l|0)/3|0:f+(l-m)|0;if((l|0)>(v|0)){r=l-v+m|0;m=l+-1-v+m|0}else{r=(l*3|0)+3|0;m=l*3|0}f=_(o,k-r|0)|0;c[p>>2]=q-f;A=_(o,r-m|0)|0;c[K>>2]=(m|0)==0?y-f|0:A;fb(B);A=48;break}else{if((m|0)>(v|0)){o=m+-1-v+((v*3|0)+3)|0;l=m-v+((v*3|0)+3)|0}else{o=m*3|0;l=(m*3|0)+3|0}gb(B,o,l,k);A=47;break}}else{if((k|0)>1|D^1){l=C+1|0;if(z){l=db(B,l)|0;A=48;break}else{ib(B,m,l);A=47;break}}o=C>>1;p=o+1|0;x=_(p,p)|0;if(!z){if((m|0)>(o|0)){l=x-((_(C+1-m|0,C+2-m|0)|0)>>1)|0;o=C+1-m|0}else{l=(_(m,m+1|0)|0)>>1;o=m+1|0}gb(B,l,l+o|0,x);A=47;break}k=(y>>>0)/(x>>>0)|0;c[B+36>>2]=k;a=B+32|0;w=c[a>>2]|0;m=((w>>>0)/(k>>>0)|0)+1|0;m=x>>>0<m>>>0?x:m;l=x-m|0;if((l|0)<((_(o,p)|0)>>1|0)){l=l<<3|1;q=32-(aa(l|0)|0)+-1>>1;p=1<<q;r=0;while(1){m=(r<<1)+p<<q;o=l>>>0<m>>>0;r=o?r:r+p|0;if((q|0)<=0)break;else{l=o?l:l-m|0;p=p>>>1;q=q+-1|0}}v=(r+-1|0)>>>1;o=v+1|0;l=o;m=v;o=(_(v,o)|0)>>>1}else{v=C<<1;l=(m<<3)+-7|0;q=32-(aa(l|0)|0)+-1>>1;p=1<<q;r=0;while(1){m=(r<<1)+p<<q;o=l>>>0<m>>>0;r=o?r:r+p|0;if((q|0)<=0)break;else{l=o?l:l-m|0;p=p>>>1;q=q+-1|0}}o=(v+2-r|0)>>>1;v=C+1-o|0;l=v;m=o;o=x-((_(v,C+2-o|0)|0)>>1)|0}v=_(k,x-(o+l)|0)|0;c[a>>2]=w-v;x=_(k,l)|0;c[K>>2]=(o|0)==0?y-v|0:x;fb(B);m=(m<<14>>>0)/(C>>>0)|0;if(z){o=0;break b}}while(0);if((A|0)==47)m=(m<<14>>>0)/(C>>>0)|0;else if((A|0)==48){o=0;m=(l<<14>>>0)/(C>>>0)|0;break}if(D)o=0;else{if(!m){Va(F,e,f,E,G,h);o=0;m=0;break}else l=0;while(1){if((l|0)>=(h|0)){o=0;break b}F=e+(l<<2)|0;N=+g[F>>2]*.7071067690849304;G=f+(l<<2)|0;L=+g[G>>2]*.7071067690849304;g[F>>2]=N+L;g[G>>2]=L-N;l=l+1|0}}}while(0);K=c[K>>2]|0;f=32-(aa(K|0)|0)|0;K=K>>>(f+-16|0);l=(K>>>12)+-8|0;l=(c[I>>2]<<3)-((f<<3)+(l+(K>>>0>(c[10984+(l<<2)>>2]|0)>>>0&1)))+(H-J)|0;c[i>>2]=(c[i>>2]|0)-l;d:do if((m|0)<16384){switch(m|0){case 0:break;default:break d}c[n>>2]=c[n>>2]&(1<<j)+-1;j=32767;h=0;i=-16384;c[d>>2]=o;n=d+4|0;c[n>>2]=j;n=d+8|0;c[n>>2]=h;n=d+12|0;c[n>>2]=i;n=d+16|0;c[n>>2]=m;d=d+20|0;c[d>>2]=l;return}else{switch(m|0){case 16384:break;default:break d}c[n>>2]=c[n>>2]&(1<<j)+-1<<j;j=0;h=32767;i=16384;c[d>>2]=o;n=d+4|0;c[n>>2]=j;n=d+8|0;c[n>>2]=h;n=d+12|0;c[n>>2]=i;n=d+16|0;c[n>>2]=m;d=d+20|0;c[d>>2]=l;return}while(0);K=m<<16>>16;K=((_(K,K)|0)+4096|0)>>>13;j=K<<16>>16;K=(32767-K+(((_(j,(((_(j,(((_(K<<16>>16,-626)|0)+16384|0)>>>15<<16)+542441472>>16)|0)+16384|0)>>>15<<16)+-501415936>>16)|0)+16384|0)>>>15)<<16)+65536>>16;j=16384-m<<16>>16;j=((_(j,j)|0)+4096|0)>>>13;J=j<<16>>16;j=(32767-j+(((_(J,(((_(J,(((_(j<<16>>16,-626)|0)+16384|0)>>>15<<16)+542441472>>16)|0)+16384|0)>>>15<<16)+-501415936>>16)|0)+16384|0)>>>15)<<16)+65536>>16;J=32-(aa(K|0)|0)|0;I=32-(aa(j|0)|0)|0;n=j<<15-I<<16>>16;i=K<<15-J<<16>>16;i=(_((h<<23)+-8388608>>16,(I-J<<11)+(((_(n,(((_(n,-2597)|0)+16384|0)>>>15<<16)+519831552>>16)|0)+16384|0)>>>15)-(((_(i,(((_(i,-2597)|0)+16384|0)>>>15<<16)+519831552>>16)|0)+16384|0)>>>15)<<16>>16)|0)+16384>>15;c[d>>2]=o;n=d+4|0;c[n>>2]=K;n=d+8|0;c[n>>2]=j;n=d+12|0;c[n>>2]=i;n=d+16|0;c[n>>2]=m;d=d+20|0;c[d>>2]=l;return}function Va(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0;i=+g[e+(f<<2)>>2];k=+g[e+((c[a+8>>2]|0)+f<<2)>>2];j=+O(+(i*i+1.0000000036274937e-15+k*k))+1.0000000036274937e-15;i=i/j;j=k/j;e=0;while(1){if((e|0)>=(h|0))break;a=b+(e<<2)|0;g[a>>2]=i*+g[a>>2]+j*+g[d+(e<<2)>>2];e=e+1|0}return}function Wa(a,b,d,e,f,h,i,j,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0.0,E=0.0;if(h==0.0&i==0.0){if((b|0)==(a|0))return;nd(a|0,b|0,f<<2|0)|0;return}t=+g[5632+(j*12|0)>>2]*h;u=+g[5632+(j*12|0)+4>>2]*h;s=+g[5632+(j*12|0)+8>>2]*h;y=+g[5632+(l*12|0)>>2]*i;z=+g[5632+(l*12|0)+4>>2]*i;A=+g[5632+(l*12|0)+8>>2]*i;v=1-e|0;w=~e;x=-2-e|0;r=h==i&(d|0)==(e|0)&(j|0)==(l|0)?0:n;o=(r|0)>0;n=0;j=c[b+(v<<2)>>2]|0;l=c[b+(0-e<<2)>>2]|0;p=c[b+(w<<2)>>2]|0;q=c[b+(x<<2)>>2]|0;while(1){if((n|0)>=(r|0))break;C=c[b+(n-e+2<<2)>>2]|0;D=+g[m+(n<<2)>>2];D=D*D;h=1.0-D;B=n-d|0;h=+g[b+(n<<2)>>2]+h*t*+g[b+(B<<2)>>2]+h*u*(+g[b+(B+1<<2)>>2]+ +g[b+(B+-1<<2)>>2])+h*s*(+g[b+(B+2<<2)>>2]+ +g[b+(B+-2<<2)>>2])+D*y*(c[k>>2]=l,+g[k>>2]);E=(c[k>>2]=j,+g[k>>2]);E=h+D*z*(E+(c[k>>2]=p,+g[k>>2]));h=(c[k>>2]=C,+g[k>>2]);g[a+(n<<2)>>2]=E+D*A*(h+(c[k>>2]=q,+g[k>>2]));B=j;n=n+1|0;j=C;q=p;p=l;l=B}d=o?r:0;if(i==0.0){if((b|0)==(a|0))return;nd(a+(r<<2)|0,b+(r<<2)|0,f-r<<2|0)|0;return}else{p=f-d|0;q=0;j=c[b+(d+v<<2)>>2]|0;l=c[b+(d-e<<2)>>2]|0;n=c[b+(d+w<<2)>>2]|0;o=c[b+(d+x<<2)>>2]|0;while(1){if((q|0)>=(p|0))break;B=c[b+(d+(q-e+2)<<2)>>2]|0;E=+g[b+(d+q<<2)>>2]+y*(c[k>>2]=l,+g[k>>2]);D=(c[k>>2]=j,+g[k>>2]);D=E+z*(D+(c[k>>2]=n,+g[k>>2]));E=(c[k>>2]=B,+g[k>>2]);g[a+(d+q<<2)>>2]=D+A*(E+(c[k>>2]=o,+g[k>>2]));C=j;q=q+1|0;j=B;o=n;n=l;l=C}return}}function Xa(e,f,h,j,l,m){e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Na=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,cb=0,db=0,eb=0,fb=0,ib=0,mb=0,nb=0.0;mb=i;i=i+208|0;L=mb+96|0;y=mb+88|0;t=mb+40|0;Q=mb+32|0;Wa=mb+28|0;Va=mb+24|0;Na=mb+20|0;La=mb+16|0;P=mb+12|0;Aa=mb+8|0;za=mb+4|0;H=mb;db=c[e+4>>2]|0;Ua=c[e+8>>2]|0;c[Wa>>2]=15;g[Va>>2]=0.0;c[Na>>2]=0;c[P>>2]=0;Ka=c[e>>2]|0;Ta=Ka+8|0;ib=c[Ta>>2]|0;F=c[Ka+4>>2]|0;Ca=Ka+32|0;ma=c[Ca>>2]|0;eb=c[e+32>>2]|0;fb=c[e+36>>2]|0;g[Aa>>2]=0.0;if((l|0)<2|(f|0)==0){e=-1;i=mb;return e|0}K=e+28|0;n=_(c[K>>2]|0,h)|0;ja=Ka+44|0;xa=Ka+36|0;h=c[xa>>2]|0;Ja=0;while(1){if((Ja|0)>(h|0)){h=-1;sa=407;break}if((c[ja>>2]<<Ja|0)==(n|0))break;Ja=Ja+1|0}if((sa|0)==407){i=mb;return h|0}O=1<<Ja;Ha=c[ja>>2]<<Ja;G=e+200+((_(db,F)|0)<<2)|0;cb=_(db,F+1024|0)|0;Pa=e+200+(cb<<2)|0;Sa=_(db,ib)|0;Xa=cb+Sa|0;Qa=e+200+(Xa<<2)|0;Ya=Xa+Sa|0;Ra=e+200+(Ya<<2)|0;p=(m|0)==0;if(p){Ea=0;D=1}else{D=(c[m+20>>2]|0)+((aa(c[m+28>>2]|0)|0)+-32)|0;Ea=D+4>>3}o=(l|0)<1275?l:1275;q=o-Ea|0;la=e+44|0;h=c[e+40>>2]|0;if(c[la>>2]|0)if((h|0)==-1){h=-1;sa=11}else{sa=c[Ka>>2]|0;sa=((_(h,n)|0)+(sa>>4)|0)/(sa>>3|0)|0;n=o;l=sa>>6;o=sa;sa=13}else sa=11;if((sa|0)==11){l=_(h,n)|0;if((h|0)==-1){n=o;Fa=51e4;l=o;Da=0}else{sa=c[Ka>>2]|0;l=(((sa<<2)+((D|0)>1?l+D|0:l)|0)/(sa<<3|0)|0)-((c[e+48>>2]|0)!=0&1)|0;sa=(o|0)<(l|0);Ia=((sa?o:l)|0)<2;n=Ia?2:sa?o:l;l=Ia?2:sa?o:l;o=0;sa=13}}if((sa|0)==13){Fa=h-(_((Ua*40|0)+20|0,(400>>>Ja)+-50|0)|0)|0;Da=o}if(p){c[t>>2]=j;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=33;c[t+24>>2]=0;c[t+28>>2]=-2147483648;c[t+40>>2]=-1;c[t+32>>2]=0;c[t+36>>2]=0;c[t+4>>2]=n;c[t+44>>2]=0;Ia=t}else Ia=m;wa=(Da|0)>0;if(((wa?(c[e+52>>2]|0)!=0:0)?(u=(D|0)==1?2:0,v=c[e+164>>2]|0,Ga=(Da<<1)-v>>6,(((u|0)>(Ga|0)?u:Ga)|0)<(q|0)):0)?(w=(Da<<1)-v>>6,w=(u|0)>(w|0)?u:w,(w|0)<(q|0)):0){n=Ea+w|0;Ba=c[Ia>>2]|0;Ga=c[Ia+8>>2]|0;h=Ia+4|0;nd(Ba+(n-Ga)|0,Ba+((c[h>>2]|0)-Ga)|0,Ga|0)|0;c[h>>2]=n;h=w}else h=q;v=n<<3;ka=c[Ka+12>>2]|0;ka=(fb|0)>(ka|0)?ka:fb;E=Ha+F|0;m=_(db,E)|0;Ga=na()|0;J=i;i=i+((1*(m<<2)|0)+15&-16)|0;m=e+180|0;s=+g[m>>2];u=_(Ua,Ha-F|0)|0;j=c[K>>2]|0;u=(u|0)/(j|0)|0;c[L>>2]=0;c[y>>2]=0;o=0;q=0;t=0;while(1){r=(c[k>>2]=o,+g[k>>2]);if((t|0)>=(u|0))break;p=f+(t<<2)|0;o=c[(r>+g[p>>2]?L:p)>>2]|0;c[L>>2]=o;q=c[((c[k>>2]=q,+g[k>>2])<+g[p>>2]?y:p)>>2]|0;c[y>>2]=q;t=t+1|0}R=-(c[k>>2]=q,+g[k>>2]);if(!(s>(r>R?r:R))){c[L>>2]=0;c[y>>2]=0;o=0;q=0;t=0;while(1){r=(c[k>>2]=o,+g[k>>2]);if((t|0)>=(u|0))break;p=f+(t<<2)|0;o=c[(r>+g[p>>2]?L:p)>>2]|0;c[L>>2]=o;q=c[((c[k>>2]=q,+g[k>>2])<+g[p>>2]?y:p)>>2]|0;c[y>>2]=q;t=t+1|0}s=-(c[k>>2]=q,+g[k>>2]);s=r>s?r:s}q=(_(Ua,F)|0)/(j|0)|0;c[L>>2]=0;c[y>>2]=0;o=0;t=0;j=0;while(1){r=(c[k>>2]=o,+g[k>>2]);if((j|0)>=(q|0))break;p=f+(u+j<<2)|0;o=c[(r>+g[p>>2]?L:p)>>2]|0;c[L>>2]=o;t=c[((c[k>>2]=t,+g[k>>2])<+g[p>>2]?y:p)>>2]|0;c[y>>2]=t;j=j+1|0}R=-(c[k>>2]=t,+g[k>>2]);r=r>R?r:R;g[m>>2]=r;r=s>r?s:r;ia=e+60|0;j=r<=1.0/+(1<<c[ia>>2]|0);u=j&1;if((D|0)==1){m=Ia+28|0;q=c[m>>2]|0;p=q>>>15;q=q-p|0;o=Ia+32|0;if(j){Ba=Ia+32|0;c[Ba>>2]=(c[o>>2]|0)+q;o=Ba}else p=q;q=Ia+28|0;c[q>>2]=p;t=Ia+20|0;while(1){if(p>>>0>=8388609)break;lb(Ia,(c[o>>2]|0)>>>23);c[o>>2]=c[o>>2]<<8&2147483392;p=c[q>>2]<<8;c[q>>2]=p;c[t>>2]=(c[t>>2]|0)+8}if(j){if(wa){o=Ea+2|0;o=(n|0)<(o|0)?n:o;h=c[Ia>>2]|0;l=c[Ia+8>>2]|0;n=Ia+4|0;nd(h+(o-l)|0,h+((c[n>>2]|0)-l)|0,l|0)|0;c[n>>2]=o;n=o;l=o;h=2;o=o<<3}else o=v;D=n<<3;W=Ia+20|0;Ba=c[W>>2]|0;c[W>>2]=Ba+(D-(Ba+((aa(c[m>>2]|0)|0)+-32)));W=h;Ba=u;ha=o}else{W=h;Ba=0;D=1;ha=v}}else{W=h;Ba=0;ha=v}y=e+16|0;z=Ka+16|0;B=Ka+20|0;C=Ha<<2;u=r>65536.0;w=0;do{q=(c[y>>2]|0)==0?0:u;m=(_(w,E)|0)+F|0;p=J+(m<<2)|0;t=c[K>>2]|0;v=e+148+(w<<2)|0;j=c[z>>2]|0;h=c[v>>2]|0;a:do if(!(+g[B>>2]==0.0)){o=(Ha|0)/(t|0)|0;if((t|0)==1)sa=53;else sa=52}else{if((t|0)!=1){o=(Ha|0)/(t|0)|0;sa=52;break}if(q){o=(Ha|0)/(t|0)|0;sa=53;break}r=(c[k>>2]=j,+g[k>>2]);o=0;while(1){if((o|0)>=(Ha|0))break a;R=+g[f+(w+(_(db,o)|0)<<2)>>2]*32768.0;g[J+(m+o<<2)>>2]=R-(c[k>>2]=h,+g[k>>2]);h=(g[k>>2]=r*R,c[k>>2]|0);o=o+1|0}}while(0);if((sa|0)==52){hd(p|0,0,C|0)|0;sa=53}b:do if((sa|0)==53){sa=0;p=0;while(1){if((p|0)>=(o|0))break;g[J+(m+(_(p,t)|0)<<2)>>2]=+g[f+(w+(_(db,p)|0)<<2)>>2]*32768.0;p=p+1|0}c:do if(q){q=0;while(1){if((q|0)>=(o|0))break c;p=J+(m+(_(q,t)|0)<<2)|0;r=+g[p>>2];if(!(r>65536.0)){if(r<-65536.0)r=-65536.0}else r=65536.0;g[p>>2]=r;q=q+1|0}}while(0);r=(c[k>>2]=j,+g[k>>2]);o=0;while(1){if((o|0)>=(Ha|0))break b;va=J+(m+o<<2)|0;R=+g[va>>2];g[va>>2]=R-(c[k>>2]=h,+g[k>>2]);h=(g[k>>2]=r*R,c[k>>2]|0);o=o+1|0}}while(0);c[v>>2]=h;w=w+1|0}while((w|0)<(db|0));ua=e+68|0;if((((c[ua>>2]|0)!=0&(W|0)>3|(W|0)>(Ua*12|0))&(eb|0)==0&(Ba|0)==0?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)>4:0){if((c[e+116>>2]|0)==0|(Ja|0)==3)h=0;else h=(c[e+64>>2]|0)==5010;h=h^1}else h=0;V=e+100|0;va=c[V>>2]|0;h=Za(e,J,G,db,Ha,va,Wa,Va,H,h&1,W)|0;if(!(+g[Va>>2]>.4000000059604645)?!(+g[e+108>>2]>.4000000059604645):0)oa=0;else sa=74;do if((sa|0)==74){if((c[e+120>>2]|0)!=0?!(+g[e+124>>2]>.3):0){oa=0;break}A=+(c[Wa>>2]|0);R=+(c[e+104>>2]|0);oa=A>R*1.26|A<R*.79?1:0}while(0);G=(h|0)==0;d:do if(G){if(!((eb|0)!=0|(D+16|0)>(ha|0))){q=c[Ia+28>>2]|0;q=q-(q>>>1)|0;h=Ia+32|0;o=Ia+28|0;c[o>>2]=q;p=Ia+20|0;while(1){if(q>>>0>=8388609)break d;lb(Ia,(c[h>>2]|0)>>>23);c[h>>2]=c[h>>2]<<8&2147483392;q=c[o>>2]<<8;c[o>>2]=q;c[p>>2]=(c[p>>2]|0)+8}}}else{o=c[Ia+28>>2]|0;q=o>>>1;h=Ia+32|0;c[h>>2]=(c[Ia+32>>2]|0)+(o-q);o=Ia+28|0;c[o>>2]=q;p=Ia+20|0;while(1){if(q>>>0>=8388609)break;lb(Ia,(c[h>>2]|0)>>>23);c[h>>2]=c[h>>2]<<8&2147483392;q=c[o>>2]<<8;c[o>>2]=q;c[p>>2]=(c[p>>2]|0)+8}qa=(c[Wa>>2]|0)+1|0;c[Wa>>2]=qa;ta=32-(aa(qa|0)|0)|0;ra=ta+-5|0;gb(Ia,ra,ta+-4|0,6);jb(Ia,qa-(16<<ra)|0,ta+-1|0);c[Wa>>2]=(c[Wa>>2]|0)+-1;jb(Ia,c[H>>2]|0,3);hb(Ia,va,31450,2)}while(0);f=e+24|0;if((c[f>>2]|0)>0?(c[ua>>2]|0)==0:0)v=_a(J,E,db,Aa,P)|0;else v=0;E=(Ja|0)>0;e:do if(E?((c[Ia+20>>2]|0)+((aa(c[Ia+28>>2]|0)|0)+-32)+3|0)<=(ha|0):0)if(v){t=(_(db,Ha)|0)<<2;o=i;i=i+((1*t|0)+15&-16)|0;t=i;i=i+((1*(Sa<<2)|0)+15&-16)|0;q=i;i=i+((1*(Sa<<2)|0)+15&-16)|0;j=(O|0)==0;if(!j){ta=(c[f>>2]|0)>7;u=ta&1;h=_(Ua,ib)|0;m=i;i=i+((1*(h<<2)|0)+15&-16)|0;if(ta){$a(Ka,0,J,o,Ua,db,Ja,c[K>>2]|0,c[e+72>>2]|0);Ma(Ka,o,t,ka,Ua,Ja);ub(Ka,ka,fb,t,m,Ua);r=+(Ja|0)*.5;p=0;while(1){if((p|0)>=(h|0)){p=t;t=v;D=u;u=O;ta=0;break e}ta=m+(p<<2)|0;g[ta>>2]=+g[ta>>2]+r;p=p+1|0}}else{p=t;t=v;D=u;u=O;ta=0}}else{p=t;t=v;u=O;h=0;sa=94}}else{h=0;sa=92}else{h=1;sa=92}while(0);if((sa|0)==92){p=(_(db,Ha)|0)<<2;o=i;i=i+((1*p|0)+15&-16)|0;p=i;i=i+((1*(Sa<<2)|0)+15&-16)|0;q=i;i=i+((1*(Sa<<2)|0)+15&-16)|0;j=1;t=0;u=0;sa=94}if((sa|0)==94){D=(_(Ua,ib)|0)<<2;m=i;i=i+((1*D|0)+15&-16)|0;D=0;ta=h}pa=e+72|0;$a(Ka,u,J,o,Ua,db,Ja,c[K>>2]|0,c[pa>>2]|0);ra=(db|0)==2;if(ra&(Ua|0)==1)c[P>>2]=0;Ma(Ka,o,p,ka,Ua,Ja);f:do if(c[ua>>2]|0){h=2;while(1){if((h|0)>=(fb|0))break f;qa=p+(h<<2)|0;A=+g[qa>>2];R=+g[p>>2]*9.999999747378752e-05;R=A<R?A:R;g[qa>>2]=R;g[qa>>2]=R>1.0000000036274937e-15?R:1.0000000036274937e-15;h=h+1|0}}while(0);ub(Ka,ka,fb,p,q,Ua);qa=_(Ua,ib)|0;S=i;i=i+((1*(qa<<2)|0)+15&-16)|0;hd(S|0,0,fb<<2|0)|0;F=(eb|0)==0;do if(F?(I=c[e+192>>2]|0,(I|0)!=0):0){h=c[ua>>2]|0;if(h){h=(h|0)==0;fa=0;U=0;ga=0;break}C=c[e+92>>2]|0;C=(C|0)<2?2:C;B=ma;h=0;s=0.0;r=0.0;y=0;while(1){if((y|0)>=(Ua|0))break;w=_(ib,y)|0;x=r;v=0;while(1){if((v|0)>=(C|0))break;r=+g[I+(w+v<<2)>>2];do if(r<.25){if(!(r>-2.0)){r=-2.0;break}if(r>0.0)sa=115}else{r=.25;sa=115}while(0);if((sa|0)==115){sa=0;r=r*.5}ga=v+1|0;fa=(b[B+(ga<<1)>>1]|0)-(b[B+(v<<1)>>1]|0)|0;h=h+fa|0;s=s+r*+((v<<1|1)-C|0);x=x+r*+(fa|0);v=ga}r=x;y=y+1|0}r=r/+(h|0)+.20000000298023224;s=s*6.0/+(_(_(_(Ua,C+-1|0)|0,C+1|0)|0,C)|0)*.5;do if(s<.03099999949336052){if(!(s>-.03099999949336052)){s=-.03099999949336052;break}}else s=.03099999949336052;while(0);h=(b[B+(C<<1)>>1]|0)/2|0;z=0;while(1){v=z+1|0;if((b[B+(v<<1)>>1]|0)<(h|0))z=v;else break}w=(Ua|0)==2;h=0;y=0;while(1){if((y|0)>=(C|0))break;v=I+(y<<2)|0;if(w){sa=I+(ib+y<<2)|0;v=c[(+g[v>>2]>+g[sa>>2]?v:sa)>>2]|0}else v=c[v>>2]|0;sa=(c[k>>2]=v,+g[k>>2])<0.0;x=(sa?(c[k>>2]=v,+g[k>>2]):0.0)-(r+s*+(y-z|0));if(x>.25){g[S+(y<<2)>>2]=x+-.25;h=h+1|0}y=y+1|0}g:do if((h|0)>2){r=r+.25;if(r>0.0){hd(S|0,0,C<<2|0)|0;s=0.0;r=0.0;break}else h=0;while(1){if((h|0)>=(C|0))break g;sa=S+(h<<2)|0;R=+g[sa>>2]+-.25;g[sa>>2]=R<0.0?0.0:R;h=h+1|0}}while(0);y=(g[k>>2]=s*64.0,c[k>>2]|0);w=(g[k>>2]=r+.20000000298023224,c[k>>2]|0);sa=137}else{w=0;y=0;sa=137}while(0);if((sa|0)==137){v=(c[ua>>2]|0)==0;if(v){x=j?0.0:+(Ja|0)*.5;h=(Ua|0)==2;s=-10.0;A=0.0;j=eb;while(1){if((j|0)>=(fb|0))break;R=s+-1.0;r=+g[q+(j<<2)>>2]-x;r=R>r?R:r;do if(h){s=+g[q+(j+ib<<2)>>2]-x;if(r>s)break;r=s}while(0);s=r;A=A+r;j=j+1|0}h=e+196|0;s=+g[h>>2];r=A/+(fb-eb|0)-s;if(!(!(r<-1.5)&r>3.0)){if(r<-1.5)r=-1.5}else r=3.0;ga=(g[k>>2]=r,c[k>>2]|0);g[h>>2]=s+r*.019999999552965164;h=v;fa=w;U=y}else{h=v;fa=w;U=y;ga=0}}if(!D)md(m|0,q|0,qa<<2|0)|0;h:do if(E){z=Ia+20|0;y=Ia+28|0;do if((t|0)==0?((c[z>>2]|0)+((aa(c[y>>2]|0)|0)+-32)+3|0)<=(ha|0):0){if((c[f>>2]|0)>4^1|h^1){t=0;w=u;break}h=e+200+(cb+eb<<2)|0;i:do if((Ua|0)==1){ea=c[h>>2]|0;c[L+(eb<<2)>>2]=ea;h=eb;r=(c[k>>2]=ea,+g[k>>2]);while(1){h=h+1|0;if((h|0)>=(fb|0))break i;A=r+-1.0;R=+g[e+200+(cb+h<<2)>>2];R=A>R?A:R;g[L+(h<<2)>>2]=R;r=R}}else{ea=e+200+(cb+(eb+ib)<<2)|0;ea=c[(+g[h>>2]>+g[ea>>2]?h:ea)>>2]|0;c[L+(eb<<2)>>2]=ea;h=eb;r=(c[k>>2]=ea,+g[k>>2]);while(1){h=h+1|0;if((h|0)>=(fb|0))break i;s=+g[e+200+(cb+h<<2)>>2];x=+g[e+200+(cb+(h+ib)<<2)>>2];t=s>x;do if(r+-1.0>(t?s:x))r=r+-1.0;else{if(t){r=s;break}r=x}while(0);g[L+(h<<2)>>2]=r}}while(0);h=fb+-2|0;while(1){if((h|0)<(eb|0))break;ea=L+(h<<2)|0;A=+g[ea>>2];R=+g[L+(h+1<<2)>>2]+-1.0;g[ea>>2]=A>R?A:R;h=h+-1|0}t=(eb|0)<2;j=fb+-1|0;w=0;r=0.0;do{v=_(w,ib)|0;h=t?2:eb;while(1){if((h|0)>=(j|0))break;A=+g[q+(h+v<<2)>>2];R=+g[L+(h<<2)>>2];R=(A<0.0?0.0:A)-(R<0.0?0.0:R);r=r+(R<0.0?0.0:R);h=h+1|0}w=w+1|0}while((w|0)<(Ua|0));if(!(r/+(_(Ua,j-(t?2:eb)|0)|0)>1.0)){t=0;w=u;break}$a(Ka,O,J,o,Ua,db,Ja,c[K>>2]|0,c[pa>>2]|0);Ma(Ka,o,p,ka,Ua,Ja);ub(Ka,ka,fb,p,q,Ua);r=+(Ja|0)*.5;h=0;while(1){if((h|0)>=(qa|0))break;ea=m+(h<<2)|0;g[ea>>2]=+g[ea>>2]+r;h=h+1|0}g[Aa>>2]=.20000000298023224;t=1;w=O}else w=u;while(0);h=c[y>>2]|0;if(((c[z>>2]|0)+((aa(h|0)|0)+-32)+3|0)>(ha|0)){ea=p;da=w}else{u=h>>>3;j=h-u|0;h=Ia+32|0;if(t){ea=Ia+32|0;c[ea>>2]=(c[h>>2]|0)+j;h=ea;j=u}u=Ia+28|0;c[u>>2]=j;v=Ia+20|0;while(1){if(j>>>0>=8388609){ea=p;da=w;break h}lb(Ia,(c[h>>2]|0)>>>23);c[h>>2]=c[h>>2]<<8&2147483392;j=c[u>>2]<<8;c[u>>2]=j;c[v>>2]=(c[v>>2]|0)+8}}}else{ea=p;da=u}while(0);p=(_(Ua,Ha)|0)<<2;ca=i;i=i+((1*p|0)+15&-16)|0;p=c[ja>>2]<<Ja;j=c[Ca>>2]|0;y=0;while(1){u=_(y,p)|0;h=0;j:while(1){if((h|0)>=(ka|0))break;r=1.0/(+g[ea+(h+(_(y,c[Ta>>2]|0)|0)<<2)>>2]+1.0000000272452012e-27);v=h+1|0;w=j+(v<<1)|0;h=b[j+(h<<1)>>1]<<Ja;while(1){if((h|0)>=(b[w>>1]<<Ja|0)){h=v;continue j}ba=h+u|0;g[ca+(ba<<2)>>2]=+g[o+(ba<<2)>>2]*r;h=h+1|0}}y=y+1|0;if((y|0)>=(Ua|0))break}Z=i;i=i+((1*(ib<<2)|0)+15&-16)|0;k:do if(!((l|0)<(Ua*15|0)|F^1)?(c[f>>2]|0)>1:0){if(c[ua>>2]|0){sa=199;break}do if((l|0)<40)h=24;else{if((l|0)<60){h=12;break}h=(l|0)<100?8:6}while(0);h=ab(Ka,ka,t,Z,h,ca,Ha,Ja,Q,+g[Aa>>2],c[P>>2]|0)|0;o=Z+(ka+-1<<2)|0;p=ka;while(1){if((p|0)>=(fb|0))break k;c[Z+(p<<2)>>2]=c[o>>2];p=p+1|0}}else sa=199;while(0);l:do if((sa|0)==199){c[Q>>2]=0;h=0;while(1){if((h|0)>=(fb|0)){h=0;break l}c[Z+(h<<2)>>2]=t;h=h+1|0}}while(0);$=i;i=i+((1*(qa<<2)|0)+15&-16)|0;tb(Ka,eb,fb,ka,q,Pa,ha,$,Ia,Ua,Ja,W,c[e+12>>2]|0,e+84|0,(c[f>>2]|0)>3&1,c[e+56>>2]|0,c[ua>>2]|0);T=Ia+4|0;o=c[T>>2]<<3;X=Ia+20|0;ba=Ia+28|0;u=(c[X>>2]|0)+((aa(c[ba>>2]|0)|0)+-32)|0;p=(t|0)!=0;j=p?2:4;if(E)C=(u+j+1|0)>>>0<=o>>>0;else C=0;B=o-(C&1)|0;z=p?4:5;L=Ia+32|0;O=Ia+28|0;P=Ia+32|0;Q=Ia+20|0;w=0;y=eb;p=u;u=0;while(1){if((y|0)>=(fb|0))break;v=Z+(y<<2)|0;if((p+j|0)>>>0>B>>>0){c[v>>2]=w;o=w}else{p=c[ba>>2]|0;o=p>>>j;p=p-o|0;if((c[v>>2]|0)==(w|0))o=p;else c[P>>2]=(c[L>>2]|0)+p;c[O>>2]=o;while(1){if(o>>>0>=8388609)break;lb(Ia,(c[P>>2]|0)>>>23);c[P>>2]=c[P>>2]<<8&2147483392;o=c[O>>2]<<8;c[O>>2]=o;c[Q>>2]=(c[Q>>2]|0)+8}p=(c[X>>2]|0)+((aa(c[ba>>2]|0)|0)+-32)|0;K=c[v>>2]|0;o=K;u=u|K}w=o;j=z;y=y+1|0}m:do if(C){o=t<<2;if((a[o+u+(31418+(Ja<<3))>>0]|0)==(a[(o|2)+u+(31418+(Ja<<3))>>0]|0)){sa=222;break}j=c[ba>>2]|0;p=j>>>1;j=j-p|0;if(!h)p=j;else c[P>>2]=(c[L>>2]|0)+j;c[O>>2]=p;while(1){if(p>>>0>=8388609)break m;lb(Ia,(c[P>>2]|0)>>>23);c[P>>2]=c[P>>2]<<8&2147483392;p=c[O>>2]<<8;c[O>>2]=p;c[Q>>2]=(c[Q>>2]|0)+8}}else sa=222;while(0);if((sa|0)==222){h=0;o=t<<2}h=o+(h<<1)|0;o=eb;while(1){if((o|0)>=(fb|0))break;K=Z+(o<<2)|0;c[K>>2]=a[h+(c[K>>2]|0)+(31418+(Ja<<3))>>0];o=o+1|0}if(((c[X>>2]|0)+((aa(c[ba>>2]|0)|0)+-32)+4|0)<=(ha|0)){n:do if(!(c[ua>>2]|0)){do if(!da){h=c[f>>2]|0;if((h|0)<3)break;if((W|0)<(Ua*10|0)|F^1){sa=232;break}I=e+88|0;K=e+80|0;J=c[K>>2]|0;H=e+96|0;F=G?0:1;D=c[ja>>2]<<Ja;E=c[Ca>>2]|0;do if(((b[E+(ka<<1)>>1]|0)-(b[E+(ka+-1<<1)>>1]|0)<<Ja|0)<9)h=0;else{h=0;o=0;f=0;p=0;G=0;o:while(1){w=p;while(1){if((w|0)<(ka|0))break;h=h+1|0;if((h|0)<(Ua|0))w=0;else break o}j=b[E+(w<<1)>>1]|0;C=j<<16>>16;v=(C<<Ja)+(_(h,D)|0)|0;p=w+1|0;u=b[E+(p<<1)>>1]|0;C=(u<<16>>16)-C<<Ja;if((C|0)<9)continue;r=+(C|0);j=(u<<16>>16)-(j<<16>>16)<<Ja;u=0;y=0;z=0;B=0;while(1){if((u|0)==(j|0))break;R=+g[ca+(v+u<<2)>>2];R=R*R*r;u=u+1|0;y=R<.25?y+1|0:y;z=R<.015625?z+1|0:z;B=R<.0625?B+1|0:B}if((w|0)>((c[Ta>>2]|0)+-4|0))o=o+((B+y<<5>>>0)/(C>>>0)|0)|0;f=f+1|0;G=G+(((z<<1|0)>=(C|0)&1)+((B<<1|0)>=(C|0)&1)+((y<<1|0)>=(C|0)&1)<<8)|0}do if(F){if(!o)h=0;else h=(o>>>0)/((_(Ua,4-(c[Ta>>2]|0)+ka|0)|0)>>>0)|0;h=(c[H>>2]|0)+h>>1;c[H>>2]=h;switch(c[V>>2]|0){case 2:{h=h+4|0;break}case 0:{h=h+-4|0;break}default:{}}if((h|0)>22){c[V>>2]=2;break}if((h|0)>18){c[V>>2]=1;break}else{c[V>>2]=0;break}}while(0);h=((G>>>0)/(f>>>0)|0)+(c[I>>2]|0)>>1;c[I>>2]=h;h=(h*3|0)+(3-J<<7|64)+2>>2;if((h|0)<80){h=3;break}if((h|0)<256){h=2;break}h=(h|0)<384?1:0}while(0);c[K>>2]=h;break n}else sa=232;while(0);if((sa|0)==232)h=c[f>>2]|0;o=e+80|0;if(!h){c[o>>2]=0;h=0;break}else{c[o>>2]=2;h=2;break}}else{c[V>>2]=0;c[e+80>>2]=2;h=2}while(0);hb(Ia,h,31453,5)}I=i;i=i+((1*(ib<<2)|0)+15&-16)|0;f=e+52|0;C=ma;R=+bb(q,m,ib,eb,fb,Ua,I,c[ia>>2]|0,c[Ka+56>>2]|0,t,c[la>>2]|0,c[f>>2]|0,C,Ja,l,za,c[ua>>2]|0,S);if(c[ua>>2]|0)c[I>>2]=(l|0)>26?8:(l|0)/3|0;H=i;i=i+((1*(ib<<2)|0)+15&-16)|0;h=(Ja<<1)+Ua+-1|0;l=Ka+104|0;p=0;while(1){o=c[Ta>>2]|0;if((p|0)>=(o|0))break;ma=p+1|0;la=c[Ca>>2]|0;ka=(_(o,h)|0)+p|0;c[H+(p<<2)>>2]=(_(_((d[(c[l>>2]|0)+ka>>0]|0)+64|0,Ua)|0,(b[la+(ma<<1)>>1]|0)-(b[la+(p<<1)>>1]|0)<<Ja)|0)>>2;p=ma}D=ha<<3;y=c[ba>>2]|0;ma=32-(aa(y|0)|0)|0;y=y>>>(ma+-16|0);B=(y>>>12)+-8|0;h=6;l=eb;B=(c[X>>2]<<3)-((ma<<3)+(B+(y>>>0>(c[10984+(B<<2)>>2]|0)>>>0&1)))|0;y=0;while(1){if((l|0)>=(fb|0))break;z=l+1|0;j=(_(Ua,(b[C+(z<<1)>>1]|0)-(b[C+(l<<1)>>1]|0)|0)|0)<<Ja;v=j<<3;m=(j|0)<48;j=(v|0)<((m?48:j)|0)?v:m?48:j;m=H+(l<<2)|0;v=I+(l<<2)|0;w=0;l=h;u=0;o=B;while(1){if((o+(l<<3)|0)>=(D-y|0))break;if((w|0)>=(c[m>>2]|0))break;p=(u|0)<(c[v>>2]|0);o=c[ba>>2]|0;l=o>>>l;o=o-l|0;if(p)c[P>>2]=(c[L>>2]|0)+o;else l=o;c[O>>2]=l;while(1){if(l>>>0>=8388609)break;lb(Ia,(c[P>>2]|0)>>>23);c[P>>2]=c[P>>2]<<8&2147483392;l=c[O>>2]<<8;c[O>>2]=l;c[Q>>2]=(c[Q>>2]|0)+8}ma=c[ba>>2]|0;la=32-(aa(ma|0)|0)|0;ma=ma>>>(la+-16|0);o=(ma>>>12)+-8|0;o=(c[X>>2]<<3)-((la<<3)+(o+(ma>>>0>(c[10984+(o<<2)>>2]|0)>>>0&1)))|0;if(!p)break;w=w+j|0;l=1;u=u+1|0;y=y+j|0}if(u)h=(h|0)<3?2:h+-1|0;c[v>>2]=w;l=z;B=o}G=(Ua|0)==2;if(G){if(Ja){h=0;r=1.0000000036274937e-15;s=1.0000000036274937e-15;p:while(1){if((h|0)==13)break;ma=c[Ca>>2]|0;l=h+1|0;o=b[ma+(l<<1)>>1]<<Ja;h=b[ma+(h<<1)>>1]<<Ja;while(1){if((h|0)>=(o|0)){h=l;continue p}x=+g[ca+(h<<2)>>2];A=+g[ca+(Ha+h<<2)>>2];h=h+1|0;r=r+(+N(+x)+ +N(+A));s=s+(+N(+(x+A))+ +N(+(x-A)))}}ma=b[(c[Ca>>2]|0)+26>>1]<<Ja+1;c[Na>>2]=+(ma+((Ja|0)<2?5:13)|0)*(s*.7071070075035095)>+(ma|0)*r&1}r=+((Fa|0)/1e3|0|0);o=e+188|0;h=c[o>>2]|0;l=0;while(1){if((l|0)>=21)break;if(r<+g[5668+(l<<2)>>2])break;l=l+1|0}if(!((l|0)>(h|0)?r<+g[5668+(h<<2)>>2]+ +g[5752+(h<<2)>>2]:0))sa=296;do if((sa|0)==296){if((l|0)>=(h|0)){h=l;break}sa=h+-1|0;if(!(r>+g[5668+(sa<<2)>>2]-+g[5752+(sa<<2)>>2])){h=l;break}}while(0);c[o>>2]=h;sa=(eb|0)>(h|0);c[o>>2]=(fb|0)<((sa?eb:h)|0)?fb:sa?eb:h}if((B+48|0)>(D-y|0))F=5;else{do if(!(c[ua>>2]|0)){m=e+184|0;A=+g[Aa>>2];u=c[e+188>>2]|0;if(G){h=0;r=0.0;while(1){if((h|0)==8)break;o=c[Ca>>2]|0;l=b[o+(h<<1)>>1]|0;p=l<<Ja;j=Ha+p|0;h=h+1|0;l=(b[o+(h<<1)>>1]|0)-l<<Ja;o=0;s=0.0;while(1){if((o|0)>=(l|0))break;x=s+ +g[ca+(p+o<<2)>>2]*+g[ca+(j+o<<2)>>2];o=o+1|0;s=x}r=r+s}s=+N(+(r*.125));s=s>1.0?1.0:s;x=s;h=8;while(1){if((h|0)>=(u|0))break;o=c[Ca>>2]|0;l=b[o+(h<<1)>>1]|0;p=l<<Ja;j=Ha+p|0;h=h+1|0;l=(b[o+(h<<1)>>1]|0)-l<<Ja;o=0;r=0.0;while(1){if((o|0)>=(l|0))break;nb=r+ +g[ca+(p+o<<2)>>2]*+g[ca+(j+o<<2)>>2];o=o+1|0;r=nb}r=+N(+r);if(x<r)continue;x=r}nb=+N(+x);nb=nb>1.0?1.0:nb;s=+Y(+(1.0010000467300415-s*s))*1.4426950408889634;r=s*.5;nb=+Y(+(1.0010000467300415-nb*nb))*1.4426950408889634;s=s*.75;x=+g[m>>2]+.25;nb=-((r>nb?r:nb)*.5);g[m>>2]=x<nb?x:nb;s=(s<-4.0?-4.0:s)+5.0}else s=5.0;l=fb+-1|0;o=0;r=0.0;do{h=0;while(1){if((h|0)>=(l|0))break;r=r+ +g[q+(h+(_(o,c[Ta>>2]|0)|0)<<2)>>2]*+((h<<1)+2-fb|0);h=h+1|0}o=o+1|0}while((o|0)<(Ua|0));r=(r/+(_(Ua,l)|0)+1.0)/6.0;do if(r>2.0)r=2.0;else if(r<-2.0){r=-2.0;break}while(0);r=s-r-(c[k>>2]=U,+g[k>>2])-A*2.0;if(c[e+120>>2]|0){s=(+g[e+128>>2]+.05000000074505806)*2.0;do if(s>2.0)s=2.0;else if(s<-2.0){s=-2.0;break}while(0);r=r-s}h=~~+M(+(r+.5));if((h|0)>10){h=10;break}h=(h|0)<0?0:h}else h=5;while(0);hb(Ia,h,31457,7);sa=c[ba>>2]|0;ma=32-(aa(sa|0)|0)|0;sa=sa>>>(ma+-16|0);B=(sa>>>12)+-8|0;F=h;B=(c[X>>2]<<3)-((ma<<3)+(B+(sa>>>0>(c[10984+(B<<2)>>2]|0)>>>0&1)))|0}if(wa){D=(c[xa>>2]|0)-Ja|0;E=1275>>>(3-Ja|0);E=(n|0)<(E|0)?n:E;h=Da-((Ua*320|0)+160)|0;C=(c[f>>2]|0)==0;if(C)z=h;else z=h+(c[e+172>>2]>>D)|0;l=c[e+92>>2]|0;p=c[e+188>>2]|0;s=+g[e+184>>2];q=c[za>>2]|0;x=+g[Aa>>2];o=c[e+64>>2]|0;v=c[ua>>2]|0;w=(c[e+192>>2]|0)!=0;u=c[Ta>>2]|0;l=(l|0)==0?u:l;m=c[Ca>>2]|0;h=b[m+(l<<1)>>1]<<Ja;if(G)j=h+(b[m+(((p|0)<(l|0)?p:l)<<1)>>1]<<Ja)|0;else j=h;n=(c[e+120>>2]|0)==0;do if(n)h=z;else{r=+g[e+136>>2];if(!(r<.4)){h=z;break}h=z-~~(+(j<<3|0)*(.4000000059604645-r))|0}while(0);if(G){Ca=(p|0)<(l|0)?p:l;Ca=(b[m+(Ca<<1)>>1]<<Ja)-Ca|0;A=+(Ca|0)*.800000011920929/+(j|0)*+(h|0);nb=((s<1.0?s:1.0)+-.10000000149011612)*+(Ca<<3|0);h=h-~~(A<nb?A:nb)|0}h=h+(q-(16<<Ja))|0;h=h+~~((x-((o|0)==5010?.019999999552965164:.03999999910593033))*+(h|0))|0;do if((n^1)&(v|0)==0){nb=+g[e+124>>2]+-.15000000596046448;r=+(j<<3|0);h=h+~~(r*1.2000000476837158*((nb<0.0?0.0:nb)+-.09000000357627869))|0;if(!oa)break;h=h+~~(r*.800000011920929)|0}while(0);if(w&(v|0)==0){Ca=h+~~((c[k>>2]=fa,+g[k>>2])*+(j<<3|0))|0;h=(h|0)/4|0;h=(h|0)>(Ca|0)?h:Ca}Aa=~~(+((_(Ua,b[m+(u+-2<<1)>>1]<<Ja)|0)<<3|0)*R);Ca=h>>2;Ca=(Aa|0)>(Ca|0)?Aa:Ca;h=(h|0)<(Ca|0)?h:Ca;do if(!(w&(v|0)==0)){if(C^1|(Fa|0)<64e3){r=+(Fa+-32e3|0)*.000030517578125;r=r<0.0?0.0:r;do if(!C)if(!(r<.6700000166893005)){r=.6700000166893005;break}while(0);h=z+~~(r*+(h-z|0))|0}if(!((w^1)&x<.20000000298023224))break;Ca=96e3-Fa|0;h=h+~~((c[k>>2]=ga,+g[k>>2])*(+(((Ca|0)>32e3?32e3:(Fa|0)>96e3?0:Ca)|0)*3.099999958067201e-06)*+(h|0))|0}while(0);p=z<<1;p=((p|0)<(h|0)?p:h)+B|0;q=(B+y+63>>6)+2-Ea|0;o=p+32>>6;o=((q|0)>(o|0)?q:o)+Ea|0;o=((E|0)<(o|0)?E:o)-Ea|0;q=(Ba|0)==0;h=q?o:2;l=e+176|0;n=c[l>>2]|0;if((n|0)<970){c[l>>2]=n+1;r=1.0/+(n+21|0)}else r=1.0000000474974513e-03;do if(!C){l=e+164|0;c[l>>2]=(c[l>>2]|0)+((q?o<<6:128)-Da);l=e+172|0;Ca=e+168|0;n=c[Ca>>2]|0;n=n+~~(r*+(((q?p-Da|0:0)<<D)-(c[l>>2]|0)-n|0))|0;c[Ca>>2]=n;c[l>>2]=0-n;l=e+164|0;n=c[l>>2]|0;if((n|0)>=0)break;c[l>>2]=0;h=h+(q?(n|0)/-64|0:0)|0}while(0);B=h+Ea|0;B=(E|0)<(B|0)?E:B;Da=c[Ia>>2]|0;Ea=c[Ia+8>>2]|0;nd(Da+(B-Ea)|0,Da+((c[T>>2]|0)-Ea)|0,Ea|0)|0;c[T>>2]=B}else B=n;w=i;i=i+((1*(ib<<2)|0)+15&-16)|0;u=i;i=i+((1*(ib<<2)|0)+15&-16)|0;y=i;i=i+((1*(ib<<2)|0)+15&-16)|0;v=B<<6;z=c[ba>>2]|0;Ea=32-(aa(z|0)|0)|0;z=z>>>(Ea+-16|0);h=(z>>>12)+-8|0;h=v+((Ea<<3)+(h+(z>>>0>(c[10984+(h<<2)>>2]|0)>>>0&1))-(c[X>>2]<<3))+-1|0;z=(t|0)==0;if((z^1)&(Ja|0)>1)m=(h|0)>=((Ja<<3)+16|0);else m=0;j=m?8:0;l=h-j|0;if(!(c[e+120>>2]|0))h=fb+-1|0;else{do if((Fa|0)<(Ua*32e3|0))h=13;else{if((Fa|0)<(Ua*48e3|0)){h=16;break}if((Fa|0)<(Ua*6e4|0)){h=18;break}h=(Fa|0)<(Ua*8e4|0)?19:20}while(0);Fa=c[e+144>>2]|0;h=(Fa|0)>(h|0)?Fa:h}q=e+188|0;n=e+92|0;p=wb(Ka,eb,fb,I,H,F,q,Na,l,La,u,w,y,Ua,Ja,Ia,c[n>>2]|0,(c[ua>>2]|0)==0?h:1)|0;h=c[n>>2]|0;if(!h)h=p;else{Ea=h+1|0;h=h+-1|0;Fa=(h|0)>(p|0);h=(Ea|0)<((Fa?h:p)|0)?Ea:Fa?h:p}c[n>>2]=h;o=eb;while(1){if((o|0)>=(fb|0))break;n=w+(o<<2)|0;Fa=c[n>>2]|0;h=1<<Fa;if((Fa|0)>=1){r=+((h&65535)<<16>>16);h=(h<<16>>16)+-1|0;l=0;do{Fa=~~+M(+((+g[$+(o+(_(l,c[Ta>>2]|0)|0)<<2)>>2]+.5)*r));Ea=(Fa|0)>(h|0);Fa=((Ea?h:Fa)|0)<0?0:Ea?h:Fa;jb(Ia,Fa,c[n>>2]|0);nb=(+(Fa|0)+.5)*+(1<<14-(c[n>>2]|0)|0)*.00006103515625+-.5;Fa=e+200+(cb+(o+(_(l,c[Ta>>2]|0)|0))<<2)|0;g[Fa>>2]=+g[Fa>>2]+nb;Fa=$+(o+(_(l,c[Ta>>2]|0)|0)<<2)|0;g[Fa>>2]=+g[Fa>>2]-nb;l=l+1|0}while((l|0)<(Ua|0))}o=o+1|0}Fa=i;i=i+((1*qa|0)+15&-16)|0;t=e+76|0;Oa(Ka,eb,fb,ca,G?ca+(Ha<<2)|0:0,Fa,ea,u,da,c[e+80>>2]|0,c[Na>>2]|0,c[q>>2]|0,Z,v-j|0,c[La>>2]|0,Ia,Ja,p,t,c[pa>>2]|0);if(m)jb(Ia,(c[e+116>>2]|0)<2&1,1);h=(B<<3)-((c[X>>2]|0)+((aa(c[ba>>2]|0)|0)+-32))|0;p=(Ua|0)>1?0-Ua|0:-1;q=0;while(1){if((q|0)==2)break;else o=eb;while(1){if(!((o|0)<(fb|0)&(h|0)>=(Ua|0)))break;l=w+(o<<2)|0;do if((c[l>>2]|0)<=7){if((c[y+(o<<2)>>2]|0)==(q|0))n=0;else break;do{La=!(+g[$+(o+(_(n,c[Ta>>2]|0)|0)<<2)>>2]<0.0)&1;jb(Ia,La,1);Na=e+200+(cb+(o+(_(n,c[Ta>>2]|0)|0))<<2)|0;g[Na>>2]=+g[Na>>2]+(+(La|0)+-.5)*+(1<<14-(c[l>>2]|0)+-1|0)*.00006103515625;n=n+1|0}while((n|0)<(Ua|0));h=p+h|0}while(0);o=o+1|0}q=q+1|0}q:do if(Ba){h=0;while(1){if((h|0)>=(qa|0))break q;g[e+200+(cb+h<<2)>>2]=-28.0;h=h+1|0}}while(0);c[e+104>>2]=c[Wa>>2];c[e+108>>2]=c[Va>>2];c[e+112>>2]=va;if(ra&(Ua|0)==1)md(e+200+(cb+ib<<2)|0,Pa|0,ib<<2|0)|0;r:do if(z){n=Sa<<2;md(Ra|0,Qa|0,n|0)|0;md(Qa|0,Pa|0,n|0)|0;n=0}else{h=0;while(1){if((h|0)>=(Sa|0)){n=0;break r}Wa=e+200+(Xa+h<<2)|0;R=+g[Wa>>2];nb=+g[e+200+(cb+h<<2)>>2];g[Wa>>2]=R<nb?R:nb;h=h+1|0}}while(0);do{l=_(n,ib)|0;h=0;while(1){if((h|0)>=(eb|0)){h=fb;break}Wa=l+h|0;g[e+200+(cb+Wa<<2)>>2]=0.0;g[e+200+(Ya+Wa<<2)>>2]=-28.0;g[e+200+(Xa+Wa<<2)>>2]=-28.0;h=h+1|0}while(1){if((h|0)>=(ib|0))break;Wa=l+h|0;g[e+200+(cb+Wa<<2)>>2]=0.0;g[e+200+(Ya+Wa<<2)>>2]=-28.0;g[e+200+(Xa+Wa<<2)>>2]=-28.0;h=h+1|0}n=n+1|0}while((n|0)<(db|0));h=e+116|0;if(z&(ta|0)==0)c[h>>2]=0;else c[h>>2]=(c[h>>2]|0)+1;c[t>>2]=c[ba>>2];kb(Ia);e=(c[Ia+44>>2]|0)==0?B:-3;ya(Ga|0);i=mb;return e|0}function Ya(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;e=k;c[e>>2]=d;do switch(b|0){case 4010:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if((b|0)<0|(b|0)>10)b=38;else{c[a+24>>2]=b;b=37}break}case 10010:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if((b|0)>=0?(b|0)<(c[(c[a>>2]|0)+8>>2]|0):0){c[a+32>>2]=b;b=37}else b=38;break}case 10012:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if((b|0)>=1?(b|0)<=(c[(c[a>>2]|0)+8>>2]|0):0){c[a+36>>2]=b;b=37}else b=38;break}case 10002:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if((b|0)<0|(b|0)>2)b=38;else{c[a+20>>2]=(b|0)<2&1;c[a+12>>2]=(b|0)==0&1;b=37}break}case 4014:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if((b|0)<0|(b|0)>100)b=38;else{c[a+56>>2]=b;b=37}break}case 4020:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;c[a+52>>2]=b;b=37;break}case 4006:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;c[a+44>>2]=b;b=37;break}case 4002:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if((b|0)>=501|(b|0)==-1){j=(c[a+4>>2]|0)*26e4|0;c[a+40>>2]=(b|0)<(j|0)?b:j;b=37}else b=38;break}case 10008:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if((b|0)<1|(b|0)>2)b=38;else{c[a+8>>2]=b;b=37}break}case 4036:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if((b|0)<8|(b|0)>24)b=38;else{c[a+60>>2]=b;b=37}break}case 4037:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;c[b>>2]=c[a+60>>2];b=37;break}case 4040:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;c[a+64>>2]=b;b=37;break}case 4028:{e=a+4|0;h=c[e>>2]|0;f=c[a>>2]|0;l=c[f+4>>2]|0;b=_(h,l+1024|0)|0;j=c[f+8>>2]|0;d=_(h,j)|0;b=b+d|0;d=b+d|0;hd(a+76|0,0,((_(l,h)|0)<<2)+200+(h<<12)+((_(h*3|0,j)|0)<<2)+-76|0)|0;j=0;while(1){if((j|0)>=(_(h,c[f+8>>2]|0)|0))break;g[a+200+(d+j<<2)>>2]=-28.0;g[a+200+(b+j<<2)>>2]=-28.0;f=c[a>>2]|0;h=c[e>>2]|0;j=j+1|0}c[a+172>>2]=0;g[a+84>>2]=1.0;c[a+80>>2]=2;c[a+88>>2]=256;c[a+96>>2]=0;c[a+100>>2]=0;b=37;break}case 10016:{l=(c[e>>2]|0)+(4-1)&~(4-1);b=c[l>>2]|0;c[e>>2]=l+4;c[a+48>>2]=b;b=37;break}case 10022:{l=(c[e>>2]|0)+(4-1)&~(4-1);b=c[l>>2]|0;c[e>>2]=l+4;if(!b)b=37;else{l=a+120|0;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];c[l+16>>2]=c[b+16>>2];c[l+20>>2]=c[b+20>>2];c[l+24>>2]=c[b+24>>2];b=37}break}case 10015:{l=(c[e>>2]|0)+(4-1)&~(4-1);b=c[l>>2]|0;c[e>>2]=l+4;if(!b)b=38;else{c[b>>2]=c[a>>2];b=37}break}case 4031:{l=(c[e>>2]|0)+(4-1)&~(4-1);b=c[l>>2]|0;c[e>>2]=l+4;if(!b)b=38;else{c[b>>2]=c[a+76>>2];b=37}break}case 10024:{l=(c[e>>2]|0)+(4-1)&~(4-1);b=c[l>>2]|0;c[e>>2]=l+4;c[a+68>>2]=b;b=37;break}case 10026:{l=(c[e>>2]|0)+(4-1)&~(4-1);b=c[l>>2]|0;c[e>>2]=l+4;c[a+192>>2]=b;b=37;break}default:{l=-5;i=k;return l|0}}while(0);if((b|0)==37){l=0;i=k;return l|0}else if((b|0)==38){l=-1;i=k;return l|0}return 0}function Za(a,b,d,e,f,h,j,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0.0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0.0,y=0.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,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0;S=i;i=i+64|0;w=S+32|0;z=S+16|0;R=S+8|0;D=S;L=c[a>>2]|0;O=c[L+4>>2]|0;q=f+1024|0;Q=(_(q,e)|0)<<2;P=i;i=i+((1*Q|0)+15&-16)|0;c[R>>2]=P;c[R+4>>2]=P+(q<<2);P=O+f|0;Q=f<<2;r=0;do{K=c[R+(r<<2)>>2]|0;md(K|0,d+(r<<10<<2)|0,4096)|0;md(K+4096|0,b+((_(r,P)|0)+O<<2)|0,Q|0)|0;r=r+1|0}while((r|0)<(e|0));if(!n){c[D>>2]=15;K=a+104|0;q=15;r=0}else{A=q>>1;E=na()|0;B=i;i=i+((1*(A<<2)|0)+15&-16)|0;C=a+72|0;n=c[C>>2]|0;q=1;while(1){if((q|0)>=(A|0))break;K=q<<1;J=c[R>>2]|0;g[B+(q<<2)>>2]=((+g[J+(K+-1<<2)>>2]+ +g[J+((K|1)<<2)>>2])*.5+ +g[J+(K<<2)>>2])*.5;q=q+1|0}K=c[R>>2]|0;g[B>>2]=(+g[K+4>>2]*.5+ +g[K>>2])*.5;if((e|0)==2){q=R+4|0;r=1;while(1){if((r|0)>=(A|0))break;J=r<<1;I=c[q>>2]|0;K=B+(r<<2)|0;g[K>>2]=+g[K>>2]+((+g[I+(J+-1<<2)>>2]+ +g[I+((J|1)<<2)>>2])*.5+ +g[I+(J<<2)>>2])*.5;r=r+1|0}K=c[q>>2]|0;g[B>>2]=+g[B>>2]+(+g[K+4>>2]*.5+ +g[K>>2])*.5}sb(B,w,A,n);g[w>>2]=+g[w>>2]*1.000100016593933;q=1;while(1){if((q|0)==5)break;K=w+(q<<2)|0;x=+g[K>>2];y=+(q|0)*.00800000037997961;g[K>>2]=x-x*y*y;q=q+1|0}q=c[w>>2]|0;r=0;while(1){if((r|0)==4)break;g[z+(r<<2)>>2]=0.0;r=r+1|0}a:do if(+g[w>>2]!=0.0){t=0;while(1){if((t|0)<4){p=0.0;r=0}else{q=0;p=1.0;break a}while(1){if((t|0)==(r|0))break;p=p+ +g[z+(r<<2)>>2]*+g[w+(t-r<<2)>>2];r=r+1|0}v=t+1|0;u=(c[k>>2]=q,+g[k>>2]);p=(p+ +g[w+(v<<2)>>2])/u;s=-p;g[z+(t<<2)>>2]=s;n=v>>1;q=t+-1|0;r=0;while(1){if((r|0)>=(n|0))break;J=z+(r<<2)|0;y=+g[J>>2];K=z+(q-r<<2)|0;x=+g[K>>2];g[J>>2]=y+x*s;g[K>>2]=x+y*s;r=r+1|0}p=u-p*p*u;if(p<+g[w>>2]*1.0000000474974513e-03){q=0;p=1.0;break a}q=(g[k>>2]=p,c[k>>2]|0);t=v}}else{q=0;p=1.0}while(0);while(1){if((q|0)==4)break;y=p*.8999999761581421;K=z+(q<<2)|0;g[K>>2]=+g[K>>2]*y;q=q+1|0;p=y}x=+g[z>>2];u=x+.800000011920929;y=+g[z+4>>2];x=y+x*.800000011920929;p=+g[z+8>>2];y=p+y*.800000011920929;s=+g[z+12>>2];p=s+p*.800000011920929;s=s*.800000011920929;q=0;r=0;n=0;t=0;v=0;w=0;while(1){if((w|0)>=(A|0))break;K=B+(w<<2)|0;J=c[K>>2]|0;T=(c[k>>2]=J,+g[k>>2]);T=T+u*(c[k>>2]=q,+g[k>>2]);T=T+x*(c[k>>2]=r,+g[k>>2]);T=T+y*(c[k>>2]=n,+g[k>>2]);T=T+p*(c[k>>2]=t,+g[k>>2]);g[K>>2]=T+s*(c[k>>2]=v,+g[k>>2]);K=q;q=J;w=w+1|0;v=t;t=n;n=r;r=K}pb(B+2048|0,B,f,D,c[C>>2]|0);c[D>>2]=1024-(c[D>>2]|0);n=a+104|0;p=+qb(B,f,D,c[n>>2]|0,+g[a+108>>2],c[C>>2]|0);q=c[D>>2]|0;if((q|0)>1022){c[D>>2]=1022;q=1022}p=p*.699999988079071;r=c[a+56>>2]|0;if((r|0)>2){p=p*.5;if((r|0)>4)r=(r|0)>8?0:(g[k>>2]=p*.5,c[k>>2]|0);else F=36}else F=36;if((F|0)==36)r=(g[k>>2]=p,c[k>>2]|0);ya(E|0);K=n}t=c[K>>2]|0;J=q-t|0;p=(((J|0)>-1?J:0-J|0)*10|0)>(q|0)?.4000000059604645:.20000000298023224;if((o|0)>=25){if((o|0)<35)F=43}else{p=p+.10000000149011612;F=43}if((F|0)==43)p=p+.10000000149011612;J=a+108|0;s=+g[J>>2];n=(g[k>>2]=s,c[k>>2]|0);T=s>.4000000059604645?p+-.10000000149011612:p;T=s>.550000011920929?T+-.10000000149011612:T;p=(c[k>>2]=r,+g[k>>2]);if(p<(T>.20000000298023224?T:.20000000298023224)){G=0;H=0;I=0}else{G=+N(+(p-s))<.10000000149011612;G=~~+M(+((c[k>>2]=G?n:r,+g[k>>2])*32.0/3.0+.5));I=G+-1|0;I=(I|0)>7?7:(G|0)<1?0:I;G=(g[k>>2]=+(I+1|0)*.09375,c[k>>2]|0);H=1}E=L+44|0;o=O<<2;p=-(c[k>>2]=G,+g[k>>2]);F=a+112|0;A=L+60|0;B=a+72|0;C=(f|0)>1024;D=1024-f<<2;n=t;r=0;while(1){L=c[E>>2]|0;w=L-O|0;c[K>>2]=(n|0)>15?n:15;t=_(r,P)|0;v=a+200+((_(r,O)|0)<<2)|0;md(b+(t<<2)|0,v|0,o|0)|0;if((L|0)==(O|0)){n=t+O|0;z=c[R+(r<<2)>>2]|0}else{n=t+O|0;z=c[R+(r<<2)>>2]|0;U=c[K>>2]|0;T=-+g[J>>2];L=c[F>>2]|0;Wa(b+(n<<2)|0,z+4096|0,U,U,w,T,T,L,L,0,0,c[B>>2]|0)}Wa(b+(n+w<<2)|0,z+(w+1024<<2)|0,c[K>>2]|0,q,f-w|0,-+g[J>>2],p,c[F>>2]|0,h,c[A>>2]|0,O,c[B>>2]|0);md(v|0,b+(t+f<<2)|0,o|0)|0;n=r<<10;t=d+(n<<2)|0;if(C)nd(t|0,z+(f<<2)|0,4096)|0;else{nd(t|0,d+(n+f<<2)|0,D|0)|0;nd(d+(n+1024-f<<2)|0,z+4096|0,Q|0)|0}r=r+1|0;if((r|0)>=(e|0))break;n=c[K>>2]|0}c[l>>2]=G;c[j>>2]=q;c[m>>2]=I;i=S;return H|0}function _a(a,b,e,f,h){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;var j=0.0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;q=i;i=i+((1*(b<<2)|0)+15&-16)|0;r=(b|0)/2|0;s=+(r|0);t=+(r|0);u=r+-5|0;v=(r*6|0)+-102|0;w=0;x=0;while(1){if((x|0)>=(e|0))break;l=_(x,b)|0;m=0;j=0.0;n=0;while(1){if((n|0)>=(b|0))break;o=+g[a+(n+l<<2)>>2];p=(c[k>>2]=m,+g[k>>2])+o;A=(g[k>>2]=j+p-o*2.0,c[k>>2]|0);g[q+(n<<2)>>2]=p;m=A;j=o-p*.5;n=n+1|0}l=q;m=l+48|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));p=0.0;l=0;m=0;while(1){if((m|0)>=(r|0)){o=0.0;l=0;m=r;break}A=m<<1;o=+g[q+(A<<2)>>2];j=+g[q+((A|1)<<2)>>2];j=o*o+j*j;o=(c[k>>2]=l,+g[k>>2]);o=o+(j-o)*.0625;g[q+(m<<2)>>2]=o;p=p+j;l=(g[k>>2]=o,c[k>>2]|0);m=m+1|0}while(1){n=m+-1|0;if((m|0)<=0)break;j=(c[k>>2]=l,+g[k>>2]);l=q+(n<<2)|0;j=j+(+g[l>>2]-j)*.125;g[l>>2]=j;l=(g[k>>2]=j,c[k>>2]|0);if(o>j){m=n;continue}o=j;m=n}o=t/(+O(+(p*o*.5*s))+1.0000000036274937e-15)*64.0;l=12;m=0;while(1){if((l|0)>=(u|0))break;j=+M(+(o*(+g[q+(l<<2)>>2]+1.0000000036274937e-15)));if(!(j>127.0)){if(j<0.0)j=0.0}else j=127.0;l=l+4|0;m=m+(d[31468+~~j>>0]|0)|0}l=(m<<8|0)/(v|0)|0;if((l|0)>(w|0))c[h>>2]=x;else l=w;w=l;x=x+1|0}l=(w|0)>200&1;j=+O(+(+(w*27|0)))+-42.0;if(!(j<0.0)){if(!(j>163.0))y=23}else{j=0.0;y=23}if((y|0)==23)if(j*.006899999920278788+-.139<0.0){t=0.0;t=+O(+t);g[f>>2]=t;i=z;return l|0}if(j>163.0){t=.9856999502182007;t=+O(+t);g[f>>2]=t;i=z;return l|0}t=j*.006899999920278788+-.139;t=+O(+t);g[f>>2]=t;i=z;return l|0}function $a(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;r=c[a+4>>2]|0;p=(b|0)==0;u=c[a+44>>2]|0;q=c[a+36>>2]|0;t=p?1:b;u=p?u<<i:u;q=p?q-i|0:q;p=a+64|0;s=_(t,u)|0;o=s+r|0;b=a+60|0;l=0;do{i=_(l,o)|0;a=_(_(l,u)|0,t)|0;n=0;while(1){if((n|0)>=(t|0))break;v=d+(i+(_(n,u)|0)<<2)|0;nb(p,v,e+(n+a<<2)|0,c[b>>2]|0,r,q,t,k);n=n+1|0}l=l+1|0}while((l|0)<(h|0));a:do if((h|0)==2&(f|0)==1){b=0;while(1){if((b|0)>=(s|0))break a;v=e+(b<<2)|0;g[v>>2]=+g[v>>2]*.5+ +g[e+(s+b<<2)>>2]*.5;b=b+1|0}}while(0);if((j|0)==1)return;n=(s|0)/(j|0)|0;m=+(j|0);b=s-n<<2;a=0;do{i=_(_(a,t)|0,u)|0;l=0;while(1){if((l|0)>=(n|0))break;v=e+(i+l<<2)|0;g[v>>2]=+g[v>>2]*m;l=l+1|0}hd(e+(i+n<<2)|0,0,b|0)|0;a=a+1|0}while((a|0)<(f|0));return}function ab(d,e,f,h,j,l,m,n,o,p,q){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=+p;q=q|0;var r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0;O=i;i=i+16|0;H=O;F=.5-p;F=(F<-.25?-.25:F)*.03999999910593033;K=i;i=i+((1*(e<<2)|0)+15&-16)|0;E=d+32|0;L=c[E>>2]|0;J=e+-1|0;L=(b[L+(e<<1)>>1]|0)-(b[L+(J<<1)>>1]|0)<<n;C=i;i=i+((1*(L<<2)|0)+15&-16)|0;D=i;i=i+((1*(L<<2)|0)+15&-16)|0;L=i;i=i+((1*(e<<2)|0)+15&-16)|0;M=i;i=i+((1*(e<<2)|0)+15&-16)|0;c[o>>2]=0;w=_(q,m)|0;G=(f|0)==0;x=_(n,-2)|0;y=1<<n;z=+(n+1|0)*F;u=0;while(1){if((u|0)>=(e|0))break;A=u+1|0;B=c[E>>2]|0;d=b[B+(u<<1)>>1]|0;B=(b[B+(A<<1)>>1]|0)-d|0;t=B<<n;B=(B|0)==1;q=t<<2;md(C|0,l+(w+(d<<n)<<2)|0,q|0)|0;d=G?0:n;p=0.0;m=0;while(1){if((m|0)>=(t|0))break;p=p+ +N(+(+g[C+(m<<2)>>2]));m=m+1|0}v=p+ +(d|0)*F*p;m=(g[k>>2]=v,c[k>>2]|0);if(!G)if(!B){md(D|0,C|0,q|0)|0;Na(D,t>>n,y);p=0.0;d=0;while(1){if((d|0)>=(t|0))break;p=p+ +N(+(+g[D+(d<<2)>>2]));d=d+1|0}p=p+z*p;if(p<v){d=f;q=(g[k>>2]=p,c[k>>2]|0);r=-1;s=0}else{d=f;q=m;r=0;s=0}}else{d=f;q=m;r=0;s=0}else{d=0;q=m;r=0;s=0}while(1){if((s|0)>=((((d|0)==0?B:1)&1^1)+n|0))break;m=G?s+1|0:n-s+-1|0;Na(C,t>>s,1<<s);p=0.0;d=0;while(1){if((d|0)>=(t|0))break;p=p+ +N(+(+g[C+(d<<2)>>2]));d=d+1|0}p=p+ +(m|0)*F*p;if(p<(c[k>>2]=q,+g[k>>2])){m=s+1|0;d=f;q=(g[k>>2]=p,c[k>>2]|0);r=m;s=m;continue}else{d=f;s=s+1|0;continue}}if(G){m=_(r,-2)|0;d=K+(u<<2)|0;c[d>>2]=m;q=0}else{m=r<<1;d=K+(u<<2)|0;c[d>>2]=m;q=n}c[o>>2]=(c[o>>2]|0)+(q-((m|0)/2|0));if(!B){u=A;continue}if(!((m|0)==0|(m|0)==(x|0))){u=A;continue}c[d>>2]=m+-1;u=A}u=f<<2;s=0;while(1){if((s|0)==2)break;m=u+(s<<1)|0;d=31418+(n<<3)+m|0;m=(m|1)+(31418+(n<<3))|0;q=0;r=G?j:0;t=1;while(1){if((t|0)>=(e|0))break;E=r+j|0;f=q+j|0;o=c[K+(t<<2)>>2]|0;l=o-(a[d>>0]<<1)|0;o=o-(a[m>>0]<<1)|0;q=((q|0)<(E|0)?q:E)+((l|0)>-1?l:0-l|0)|0;r=((f|0)<(r|0)?f:r)+((o|0)>-1?o:0-o|0)|0;t=t+1|0}c[H+(s<<2)>>2]=(q|0)<(r|0)?q:r;s=s+1|0}if((c[H+4>>2]|0)<(c[H>>2]|0))if(G){d=0;I=35}else{m=0;t=1}else{d=0;if(G)I=35;else{m=0;t=d}}if((I|0)==35){m=j;t=d}q=u+(t<<1)|0;s=31418+(n<<3)+q|0;q=(q|1)+(31418+(n<<3))|0;r=0;d=m;m=1;while(1){if((m|0)>=(e|0))break;o=d+j|0;f=(r|0)<(o|0);c[L+(m<<2)>>2]=f?0:1;I=r+j|0;H=(I|0)<(d|0);c[M+(m<<2)>>2]=H?0:1;n=c[K+(m<<2)>>2]|0;G=n-(a[s>>0]<<1)|0;n=n-(a[q>>0]<<1)|0;r=(f?r:o)+((G|0)>-1?G:0-G|0)|0;d=(H?I:d)+((n|0)>-1?n:0-n|0)|0;m=m+1|0}m=(r|0)>=(d|0)&1;c[h+(J<<2)>>2]=m;d=e+-2|0;while(1){if((d|0)<=-1)break;e=c[((m|0)==1?M:L)+(d+1<<2)>>2]|0;c[h+(d<<2)>>2]=e;m=e;d=d+-1|0}i=O;return t|0}function bb(a,d,e,f,h,j,l,m,n,o,p,q,r,s,t,u,v,w){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0,G=0,H=0.0,I=0,J=0,K=0,L=0.0,M=0.0,N=0,O=0;K=i;F=_(j,e)|0;I=i;i=i+((1*(F<<2)|0)+15&-16)|0;G=i;i=i+((1*(F<<2)|0)+15&-16)|0;hd(l|0,0,e<<2|0)|0;x=+(9-m|0);m=0;while(1){if((m|0)>=(h|0)){y=0;x=-31.899999618530273;break}F=m+5|0;g[G+(m<<2)>>2]=+(b[n+(m<<1)>>1]|0)*.0625+.5+x-+g[22936+(m<<2)>>2]+ +(_(F,F)|0)*.006200000178068876;m=m+1|0}while(1){n=_(y,e)|0;H=x;m=0;while(1){if((m|0)>=(h|0))break;D=+g[a+(n+m<<2)>>2]-+g[G+(m<<2)>>2];H=H>D?H:D;m=m+1|0}y=y+1|0;if((y|0)>=(j|0))break;else x=H}if(!((t|0)>50&(s|0)>0&(v|0)==0)){J=0;c[u>>2]=J;i=K;return +H}B=h+-2|0;C=h+-1|0;F=0;m=0;while(1){E=_(F,e)|0;z=I+(E<<2)|0;v=c[d+(E<<2)>>2]|0;c[z>>2]=v;D=(c[k>>2]=v,+g[k>>2]);x=D;A=m;m=1;while(1){if((m|0)>=(h|0)){n=A;break}y=E+m|0;L=+g[d+(y<<2)>>2];y=L>+g[d+(y+-1<<2)>>2]+.5?m:A;M=x+1.5;L=M<L?M:L;g[I+(E+m<<2)>>2]=L;x=L;A=y;m=m+1|0}while(1){m=n+-1|0;if((n|0)<=0){m=2;break}y=I+(E+m<<2)|0;x=+g[y>>2];L=+g[I+(E+n<<2)>>2]+2.0;M=+g[d+(E+m<<2)>>2];O=L<M;N=x<(O?L:M);g[y>>2]=N|O?(N?x:L):M;n=m}while(1){if((m|0)>=(B|0))break;O=I+(E+m<<2)|0;L=+g[O>>2];M=+cb(d+(E+m+-2<<2)|0)+-1.0;g[O>>2]=L>M?L:M;m=m+1|0}M=+g[d+(E+1<<2)>>2];m=D>M;n=(g[k>>2]=M,c[k>>2]|0);y=m?v:n;n=m?n:v;m=c[d+(E+2<<2)>>2]|0;M=(c[k>>2]=y,+g[k>>2]);x=(c[k>>2]=m,+g[k>>2]);if(!(M<x)){if(!((c[k>>2]=n,+g[k>>2])<x))m=n}else m=y;x=(c[k>>2]=m,+g[k>>2])+-1.0;M=+g[z>>2];g[z>>2]=M>x?M:x;m=I+(E+1<<2)|0;M=+g[m>>2];g[m>>2]=M>x?M:x;m=E+h|0;x=+g[d+(m+-3<<2)>>2];M=+g[d+(m+-2<<2)>>2];N=x>M;n=(g[k>>2]=x,c[k>>2]|0);O=(g[k>>2]=M,c[k>>2]|0);y=N?n:O;n=N?O:n;m=c[d+(m+-1<<2)>>2]|0;M=(c[k>>2]=y,+g[k>>2]);x=(c[k>>2]=m,+g[k>>2]);if(!(M<x)){if(!((c[k>>2]=n,+g[k>>2])<x))m=n}else m=y;M=(c[k>>2]=m,+g[k>>2])+-1.0;m=I+(E+B<<2)|0;L=+g[m>>2];g[m>>2]=L>M?L:M;m=I+(E+C<<2)|0;L=+g[m>>2];g[m>>2]=L>M?L:M;m=0;while(1){if((m|0)>=(h|0))break;O=I+(E+m<<2)|0;L=+g[O>>2];M=+g[G+(m<<2)>>2];g[O>>2]=L>M?L:M;m=m+1|0}F=F+1|0;if((F|0)>=(j|0))break;else m=A}a:do if((j|0)==2){m=f;while(1){if((m|0)>=(h|0)){m=f;break a}d=m+e|0;N=I+(d<<2)|0;M=+g[N>>2];O=I+(m<<2)|0;L=+g[O>>2]+-4.0;L=M>L?M:L;g[N>>2]=L;M=+g[O>>2];L=L+-4.0;L=M>L?M:L;g[O>>2]=L;L=+g[a+(m<<2)>>2]-L;M=+g[a+(d<<2)>>2]-+g[N>>2];g[O>>2]=((L<0.0?0.0:L)+(M<0.0?0.0:M))*.5;m=m+1|0}}else{m=f;while(1){if((m|0)>=(h|0)){m=f;break a}O=I+(m<<2)|0;M=+g[a+(m<<2)>>2]-+g[O>>2];g[O>>2]=M<0.0?0.0:M;m=m+1|0}}while(0);while(1){if((m|0)>=(h|0))break;O=I+(m<<2)|0;L=+g[O>>2];M=+g[w+(m<<2)>>2];g[O>>2]=L>M?L:M;m=m+1|0}C=(p|0)==0;b:do if(((C^1)&(q|0)==0^1)&(o|0)==0){m=f;while(1){if((m|0)>=(h|0))break b;O=I+(m<<2)|0;g[O>>2]=+g[O>>2]*.5;m=m+1|0}}while(0);B=(t|0)/4|0;A=(q|0)==0;z=(o|0)==0;m=0;while(1){if((f|0)>=(h|0)){J=53;break}if((f|0)>=8)if((f|0)>11){n=I+(f<<2)|0;x=+g[n>>2]*.5;g[n>>2]=x}else J=42;else{J=I+(f<<2)|0;g[J>>2]=+g[J>>2]*2.0;J=42}if((J|0)==42){J=0;O=I+(f<<2)|0;n=O;x=+g[O>>2]}x=x<4.0?x:4.0;g[n>>2]=x;v=f+1|0;n=(_((b[r+(v<<1)>>1]|0)-(b[r+(f<<1)>>1]|0)|0,j)|0)<<s;do if((n|0)>=6)if((n|0)>48){O=~~(x*8.0);y=O;n=((_(O,n)|0)<<3|0)/8|0;break}else{n=~~(x*+(n|0)/6.0);y=n;n=n*48|0;break}else{O=~~x;y=O;n=(_(O,n)|0)<<3}while(0);if(!((C^1)&(A|z^1))?(m+n>>6|0)>(B|0):0)break;c[l+(f<<2)>>2]=y;f=v;m=m+n|0}if((J|0)==53){c[u>>2]=m;i=K;return +H}O=B<<6;c[l+(f<<2)>>2]=O-m;c[u>>2]=O;i=K;return +H}function cb(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+16|0;b=r+12|0;o=r+8|0;p=r+4|0;q=r;n=c[a+8>>2]|0;c[o>>2]=n;d=+g[a>>2];e=+g[a+4>>2];h=(g[k>>2]=d,c[k>>2]|0);j=(g[k>>2]=e,c[k>>2]|0);if(d>e){g[b>>2]=d;m=h}else{g[b>>2]=e;m=j;j=h}e=+g[a+12>>2];d=+g[a+16>>2];h=(g[k>>2]=e,c[k>>2]|0);a=(g[k>>2]=d,c[k>>2]|0);if(e>d){g[p>>2]=d;g[q>>2]=e;l=a}else{g[p>>2]=e;g[q>>2]=d;l=h;h=a}f=(c[k>>2]=j,+g[k>>2]);if(f>(c[k>>2]=l,+g[k>>2])){c[p>>2]=j;c[b>>2]=h;c[q>>2]=m;a=h;h=m}else{a=m;j=l}f=(c[k>>2]=n,+g[k>>2]);e=(c[k>>2]=a,+g[k>>2]);d=(c[k>>2]=j,+g[k>>2]);do if(f>e)if(e<d){if(f<d){b=o;break}b=p;break}else{if((c[k>>2]=h,+g[k>>2])<e){b=q;break}break}else if(f<d){if(e<d)break;b=p;break}else{if(f<(c[k>>2]=h,+g[k>>2])){b=o;break}b=q;break}while(0);i=r;return +(+g[b>>2])}function db(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=b+-1|0;d=32-(aa(e|0)|0)|0;if((d|0)<=8){d=a+28|0;h=c[d>>2]|0;f=(h>>>0)/(b>>>0)|0;c[a+36>>2]=f;j=a+32|0;k=c[j>>2]|0;i=((k>>>0)/(f>>>0)|0)+1|0;i=i>>>0>b>>>0?b:i;e=b-i|0;g=_(f,b-(e+1)|0)|0;c[j>>2]=k-g;c[d>>2]=(i|0)==(b|0)?h-g|0:f;fb(a);a=e;return a|0}d=d+-8|0;b=(e>>>d)+1|0;j=a+28|0;g=c[j>>2]|0;i=(g>>>0)/(b>>>0)|0;c[a+36>>2]=i;l=a+32|0;m=c[l>>2]|0;f=((m>>>0)/(i>>>0)|0)+1|0;f=b>>>0<f>>>0?b:f;k=b-f|0;h=_(i,b-(k+1)|0)|0;c[l>>2]=m-h;c[j>>2]=(b|0)==(f|0)?g-h|0:i;fb(a);d=k<<d|(eb(a,d)|0);if(d>>>0<=e>>>0){m=d;return m|0}c[a+44>>2]=1;m=e;return m|0}function eb(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+12|0;e=c[l>>2]|0;m=a+16|0;f=c[m>>2]|0;if(f>>>0<b>>>0){k=a+8|0;i=c[a+4>>2]|0;j=f+(((f+8|0)>25?f+7|0:24)-f&-8)|0;g=c[k>>2]|0;do{if(g>>>0<i>>>0){g=g+1|0;c[k>>2]=g;h=d[(c[a>>2]|0)+(i-g)>>0]|0}else h=0;e=e|h<<f;f=f+8|0}while((f|0)<25);f=j+8|0}c[l>>2]=e>>>b;c[m>>2]=f-b;a=a+20|0;c[a>>2]=(c[a>>2]|0)+b;return e&(1<<b)+-1|0}function fb(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=a+28|0;h=a+20|0;i=a+40|0;j=a+24|0;k=a+4|0;l=a+32|0;b=c[g>>2]|0;while(1){if(b>>>0>=8388609)break;c[h>>2]=(c[h>>2]|0)+8;b=b<<8;c[g>>2]=b;f=c[i>>2]|0;e=c[j>>2]|0;if(e>>>0<(c[k>>2]|0)>>>0){c[j>>2]=e+1;e=d[(c[a>>2]|0)+e>>0]|0}else e=0;c[i>>2]=e;c[l>>2]=((f<<8|e)>>>1&255|c[l>>2]<<8&2147483392)^255}return}function gb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=((c[a+28>>2]|0)>>>0)/(e>>>0)|0;if(!b){d=_(f,e-d|0)|0;f=a+28|0;c[f>>2]=(c[f>>2]|0)-d;d=a+32|0}else{g=a+28|0;h=(c[g>>2]|0)-(_(f,e-b|0)|0)|0;e=a+32|0;c[e>>2]=(c[e>>2]|0)+h;c[g>>2]=_(f,d-b|0)|0;f=g;d=e}b=a+20|0;e=c[f>>2]|0;while(1){if(e>>>0>=8388609)break;lb(a,(c[d>>2]|0)>>>23);c[d>>2]=c[d>>2]<<8&2147483392;e=c[f>>2]<<8;c[f>>2]=e;c[b>>2]=(c[b>>2]|0)+8}return}function hb(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;f=(c[a+28>>2]|0)>>>f;if((b|0)>0){h=a+28|0;i=e+(b+-1)|0;j=(c[h>>2]|0)-(_(f,d[i>>0]|0)|0)|0;g=a+32|0;c[g>>2]=(c[g>>2]|0)+j;c[h>>2]=_(f,(d[i>>0]|0)-(d[e+b>>0]|0)|0)|0;f=h;e=g}else{e=_(f,d[e+b>>0]|0)|0;f=a+28|0;c[f>>2]=(c[f>>2]|0)-e;e=a+32|0}b=a+20|0;g=c[f>>2]|0;while(1){if(g>>>0>=8388609)break;lb(a,(c[e>>2]|0)>>>23);c[e>>2]=c[e>>2]<<8&2147483392;g=c[f>>2]<<8;c[f>>2]=g;c[b>>2]=(c[b>>2]|0)+8}return}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=c+-1|0;e=32-(aa(d|0)|0)|0;if((e|0)>8){c=e+-8|0;e=b>>>c;gb(a,e,e+1|0,(d>>>c)+1|0);jb(a,(1<<c)+-1&b,c);return}else{gb(a,b,b+1|0,c);return}}function jb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=b+12|0;f=c[p>>2]|0;q=b+16|0;g=c[q>>2]|0;if((g+e|0)>>>0>32){k=b+24|0;l=b+8|0;m=b+4|0;n=b+44|0;j=7-g|0;j=g+((j|0)>-8?j:-8)&-8;o=g;do{h=c[l>>2]|0;i=c[m>>2]|0;if(((c[k>>2]|0)+h|0)>>>0<i>>>0){h=h+1|0;c[l>>2]=h;a[(c[b>>2]|0)+(i-h)>>0]=f;h=0}else h=-1;c[n>>2]=c[n>>2]|h;f=f>>>8;o=o+-8|0}while((o|0)>7);g=g+-8-j|0}c[p>>2]=f|d<<g;c[q>>2]=g+e;b=b+20|0;c[b>>2]=(c[b>>2]|0)+e;return}function kb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=c[b+28>>2]|0;h=aa(p|0)|0;e=2147483647>>>h;f=c[b+32>>2]|0;g=f+e&~e;if((g|e)>>>0>=(f+p|0)>>>0){g=e>>>1;g=f+g&~g;h=h+1|0}p=h+7&-8;e=h;while(1){if((e|0)<=0)break;lb(b,g>>>23);g=g<<8&2147483392;e=e+-8|0}if(!((c[b+40>>2]|0)<=-1?(c[b+36>>2]|0)==0:0))lb(b,0);i=c[b+16>>2]|0;n=b+24|0;l=b+8|0;m=b+4|0;o=b+44|0;j=i+((i|0)<7?~i:-8)+8&-8;k=i;e=c[b+12>>2]|0;while(1){if((k|0)<=7)break;f=c[l>>2]|0;g=c[m>>2]|0;if(((c[n>>2]|0)+f|0)>>>0<g>>>0){f=f+1|0;c[l>>2]=f;a[(c[b>>2]|0)+(g-f)>>0]=e;f=0}else f=-1;c[o>>2]=c[o>>2]|f;k=k+-8|0;e=e>>>8}i=i-j|0;if(c[o>>2]|0)return;k=c[n>>2]|0;hd((c[b>>2]|0)+k|0,0,(c[m>>2]|0)-k-(c[l>>2]|0)|0)|0;if((i|0)<=0)return;j=c[l>>2]|0;g=c[m>>2]|0;if(g>>>0<=j>>>0){c[o>>2]=-1;return}f=p-h|0;if((f|0)<(i|0)?((c[n>>2]|0)+j|0)>>>0>=g>>>0:0){c[o>>2]=-1;e=e&(1<<f)+-1}b=(c[b>>2]|0)+(g-j+-1)|0;a[b>>0]=d[b>>0]|0|e;return}function lb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((d|0)==255){b=b+36|0;c[b>>2]=(c[b>>2]|0)+1;return}h=d>>8;m=b+40|0;e=c[m>>2]|0;if((e|0)>-1){f=b+24|0;g=c[f>>2]|0;if((g+(c[b+8>>2]|0)|0)>>>0<(c[b+4>>2]|0)>>>0){c[f>>2]=g+1;a[(c[b>>2]|0)+g>>0]=e+h;e=0}else e=-1;l=b+44|0;c[l>>2]=c[l>>2]|e}i=b+36|0;e=c[i>>2]|0;if(e){j=b+24|0;k=b+8|0;l=b+4|0;g=h+255&255;h=b+44|0;do{f=c[j>>2]|0;if((f+(c[k>>2]|0)|0)>>>0<(c[l>>2]|0)>>>0){c[j>>2]=f+1;a[(c[b>>2]|0)+f>>0]=g;e=c[i>>2]|0;f=0}else f=-1;c[h>>2]=c[h>>2]|f;e=e+-1|0;c[i>>2]=e}while((e|0)!=0)}c[m>>2]=d&255;return}function mb(a,d){a=a|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,$=0.0,aa=0.0;E=i;i=i+32|0;D=E;B=d;if((c[a+8>>2]|0)>0)C=c[a+8>>2]|0;else C=0;c[D>>2]=1;e=1;f=0;do{z=f<<1;A=b[a+12+((z|1)<<1)>>1]|0;e=_(e,b[a+12+(z<<1)>>1]|0)|0;f=f+1|0;c[D+(f<<2)>>2]=e}while(A<<16>>16!=1);A=a+48|0;x=b[a+12+((f<<1)+-1<<1)>>1]|0;a:while(1){z=f+-1|0;if((f|0)<=0)break;e=z<<1;if(!z)y=1;else y=b[a+12+(e+-1<<1)>>1]|0;switch(b[a+12+(e<<1)>>1]|0){case 2:{f=c[D+(z<<2)>>2]|0;e=B;h=0;while(1){if((h|0)>=(f|0)){x=y;f=z;continue a}x=e;s=x+32|0;u=+g[s>>2];t=+g[x+36>>2];m=+g[x>>2];g[s>>2]=m-u;s=x+4|0;v=+g[s>>2];g[x+36>>2]=v-t;g[x>>2]=m+u;g[s>>2]=v+t;s=x+40|0;t=+g[s>>2];w=x+44|0;v=+g[w>>2];u=(t+v)*.7071067690849304;t=(v-t)*.7071067690849304;r=x+8|0;v=+g[r>>2];g[s>>2]=v-u;s=x+12|0;m=+g[s>>2];g[w>>2]=m-t;g[r>>2]=v+u;g[s>>2]=m+t;s=x+52|0;t=+g[s>>2];r=x+48|0;m=+g[r>>2];w=x+16|0;u=+g[w>>2];g[r>>2]=u-t;r=x+20|0;v=+g[r>>2];g[s>>2]=v+m;g[w>>2]=u+t;g[r>>2]=v-m;r=x+60|0;m=+g[r>>2];w=x+56|0;v=+g[w>>2];t=(m-v)*.7071067690849304;v=(-m-v)*.7071067690849304;s=x+24|0;m=+g[s>>2];g[w>>2]=m-t;w=x+28|0;u=+g[w>>2];g[r>>2]=u-v;g[s>>2]=m+t;g[w>>2]=u+v;e=x+64|0;h=h+1|0}}case 4:{s=c[D+(z<<2)>>2]|0;l=s<<C;if((x|0)==1){e=B;f=0;while(1){if((f|0)>=(s|0)){x=y;f=z;continue a}x=e;v=+g[x>>2];l=x+16|0;K=+g[l>>2];m=v-K;o=x+4|0;G=+g[o>>2];n=x+20|0;I=+g[n>>2];u=G-I;K=v+K;I=G+I;p=x+8|0;G=+g[p>>2];r=x+24|0;v=+g[r>>2];J=G+v;q=x+12|0;F=+g[q>>2];w=x+28|0;t=+g[w>>2];H=F+t;g[l>>2]=K-J;g[n>>2]=I-H;g[x>>2]=K+J;g[o>>2]=I+H;v=G-v;t=F-t;g[p>>2]=m+t;g[q>>2]=u-v;g[r>>2]=m-t;g[w>>2]=u+v;e=x+32|0;f=f+1|0}}f=x<<1;h=x*3|0;j=l<<1;k=l*3|0;n=0;while(1){if((n|0)>=(s|0)){x=y;f=z;continue a}e=d+((_(n,y)|0)<<3)|0;r=c[A>>2]|0;o=0;p=r;q=r;while(1){if((o|0)>=(x|0))break;Q=e+(x<<3)|0;F=+g[Q>>2];M=p;t=+g[M>>2];P=e+(x<<3)+4|0;G=+g[P>>2];v=+g[M+4>>2];m=F*t-G*v;t=F*v+G*t;T=e+(f<<3)|0;G=+g[T>>2];L=q;v=+g[L>>2];S=e+(f<<3)+4|0;F=+g[S>>2];I=+g[L+4>>2];u=G*v-F*I;v=G*I+F*v;O=e+(h<<3)|0;F=+g[O>>2];w=r;I=+g[w>>2];N=e+(h<<3)+4|0;G=+g[N>>2];H=+g[w+4>>2];K=F*I-G*H;I=F*H+G*I;G=+g[e>>2];H=G-u;R=e+4|0;F=+g[R>>2];J=F-v;u=G+u;g[e>>2]=u;v=F+v;g[R>>2]=v;F=m+K;G=t+I;K=m-K;I=t-I;g[T>>2]=u-F;g[S>>2]=v-G;g[e>>2]=+g[e>>2]+F;g[R>>2]=+g[R>>2]+G;g[Q>>2]=H+I;g[P>>2]=J-K;g[O>>2]=H-I;g[N>>2]=J+K;e=e+8|0;o=o+1|0;p=M+(l<<3)|0;q=L+(j<<3)|0;r=w+(k<<3)|0}n=n+1|0}}case 3:{j=c[D+(z<<2)>>2]|0;k=j<<C;l=x<<1;n=_(k,x)|0;m=+g[(c[A>>2]|0)+(n<<3)+4>>2];n=k<<1;p=0;while(1){if((p|0)>=(j|0)){x=y;f=z;continue a}h=d+((_(p,y)|0)<<3)|0;f=c[A>>2]|0;o=x;e=f;while(1){S=h+(x<<3)|0;H=+g[S>>2];G=+g[e>>2];T=h+(x<<3)+4|0;v=+g[T>>2];J=+g[e+4>>2];F=H*G-v*J;G=H*J+v*G;Q=h+(l<<3)|0;v=+g[Q>>2];J=+g[f>>2];R=h+(l<<3)+4|0;H=+g[R>>2];I=+g[f+4>>2];K=v*J-H*I;J=v*I+H*J;H=F+K;I=G+J;g[S>>2]=+g[h>>2]-H*.5;P=h+4|0;g[T>>2]=+g[P>>2]-I*.5;K=(F-K)*m;J=(G-J)*m;g[h>>2]=+g[h>>2]+H;g[P>>2]=+g[P>>2]+I;g[Q>>2]=+g[S>>2]+J;g[R>>2]=+g[T>>2]-K;g[S>>2]=+g[S>>2]-J;g[T>>2]=+g[T>>2]+K;o=o+-1|0;if(!o)break;else{h=h+8|0;e=e+(k<<3)|0;f=f+(n<<3)|0}}p=p+1|0}}case 5:{e=c[D+(z<<2)>>2]|0;f=e<<C;j=_(f,x)|0;h=c[A>>2]|0;m=+g[h+(j<<3)>>2];t=+g[h+(j<<3)+4>>2];j=_(f<<1,x)|0;u=+g[h+(j<<3)>>2];v=+g[h+(j<<3)+4>>2];j=x<<1;k=x*3|0;l=x<<2;s=0;while(1){if((s|0)>=(e|0)){x=y;f=z;continue a}r=_(s,y)|0;n=d+(r<<3)|0;o=d+(r+x<<3)|0;p=d+(r+j<<3)|0;q=d+(r+k<<3)|0;r=d+(r+l<<3)|0;w=0;while(1){if((w|0)>=(x|0))break;X=+g[n>>2];V=+g[n+4>>2];W=+g[o>>2];P=_(w,f)|0;H=+g[h+(P<<3)>>2];Q=o+4|0;$=+g[Q>>2];aa=+g[h+(P<<3)+4>>2];J=W*H-$*aa;H=W*aa+$*H;$=+g[p>>2];P=_(w<<1,f)|0;aa=+g[h+(P<<3)>>2];S=p+4|0;W=+g[S>>2];F=+g[h+(P<<3)+4>>2];Z=$*aa-W*F;aa=$*F+W*aa;W=+g[q>>2];P=_(w*3|0,f)|0;F=+g[h+(P<<3)>>2];T=q+4|0;$=+g[T>>2];I=+g[h+(P<<3)+4>>2];K=W*F-$*I;F=W*I+$*F;$=+g[r>>2];P=_(w<<2,f)|0;I=+g[h+(P<<3)>>2];R=r+4|0;W=+g[R>>2];U=+g[h+(P<<3)+4>>2];G=$*I-W*U;I=$*U+W*I;W=J+G;U=H+I;G=J-G;I=H-I;H=Z+K;J=aa+F;K=Z-K;F=aa-F;g[n>>2]=+g[n>>2]+(W+H);P=n+4|0;g[P>>2]=+g[P>>2]+(U+J);aa=X+W*m+H*u;Z=V+U*m+J*u;$=I*t+F*v;Y=-(G*t)-K*v;g[o>>2]=aa-$;g[Q>>2]=Z-Y;g[r>>2]=aa+$;g[R>>2]=Z+Y;H=X+W*u+H*m;J=V+U*u+J*m;I=F*t-I*v;K=G*v-K*t;g[p>>2]=H+I;g[S>>2]=J+K;g[q>>2]=H-I;g[T>>2]=J-K;n=n+8|0;o=o+8|0;p=p+8|0;q=q+8|0;r=r+8|0;w=w+1|0}s=s+1|0}}default:{x=y;f=z;continue a}}}i=E;return}function nb(a,d,e,f,h,j,k,l){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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.0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0;E=i;A=c[a+8+(j<<2)>>2]|0;B=+g[A+4>>2];l=c[a>>2]|0;m=0;p=c[a+24>>2]|0;while(1){z=l>>1;if((m|0)>=(j|0))break;l=z;m=m+1|0;p=p+(z<<2)|0}D=l>>2;l=i;i=i+((1*(z<<2)|0)+15&-16)|0;a=i;i=i+((1*(D<<3)|0)+15&-16)|0;s=h>>1;C=z+-1|0;u=h+3>>2;y=0-z|0;o=(u|0)>0?u:0;x=o<<1;w=s+x|0;v=z+s+-1-x|0;m=d+(v<<2)|0;j=0;n=f+(s<<2)|0;q=f+(s+-1<<2)|0;r=d+(s<<2)|0;s=d+(C+s<<2)|0;t=l;while(1){if((j|0)>=(u|0))break;g[t>>2]=+g[q>>2]*+g[r+(z<<2)>>2]+ +g[n>>2]*+g[s>>2];g[t+4>>2]=+g[n>>2]*+g[r>>2]-+g[q>>2]*+g[s+(y<<2)>>2];j=j+1|0;n=n+8|0;q=q+-8|0;r=r+8|0;s=s+-8|0;t=t+8|0}t=h+-1|0;s=D-u|0;q=(o|0)>(s|0)?o:s;j=q<<1;r=o<<1;u=j-r|0;j=d+(v+(r-j)<<2)|0;r=d+(w<<2)|0;n=l+(x<<2)|0;while(1){if((o|0)>=(s|0))break;c[n>>2]=c[m>>2];c[n+4>>2]=c[r>>2];o=o+1|0;r=r+8|0;m=m+-8|0;n=n+8|0}r=f;o=f+(t<<2)|0;n=d+(w+u<<2)|0;m=l+(x+u<<2)|0;while(1){if((q|0)>=(D|0))break;g[m>>2]=+g[o>>2]*+g[j>>2]-+g[r>>2]*+g[n+(y<<2)>>2];g[m+4>>2]=+g[o>>2]*+g[n>>2]+ +g[r>>2]*+g[j+(z<<2)>>2];q=q+1|0;r=r+8|0;o=o+-8|0;n=n+8|0;j=j+-8|0;m=m+8|0}m=A+44|0;j=0;while(1){if((j|0)>=(D|0))break;H=+g[p+(j<<2)>>2];F=+g[p+(D+j<<2)>>2];G=+g[l>>2];I=+g[l+4>>2];z=b[(c[m>>2]|0)+(j<<1)>>1]|0;g[a+(z<<3)>>2]=B*(G*H-I*F);g[a+(z<<3)+4>>2]=B*(I*H+G*F);j=j+1|0;l=l+8|0}mb(A,a);n=k<<1;o=0-n|0;m=0;j=e;l=e+((_(C,k)|0)<<2)|0;while(1){if((m|0)>=(D|0))break;H=+g[a+4>>2];G=+g[p+(D+m<<2)>>2];F=+g[a>>2];I=+g[p+(m<<2)>>2];g[j>>2]=H*G-F*I;g[l>>2]=F*G+H*I;a=a+8|0;m=m+1|0;j=j+(n<<2)|0;l=l+(o<<2)|0}i=E;return}function ob(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=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.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0;x=f+-3|0;y=e+-3|0;z=(e|0)>3?e&-4:0;h=(f+-3|0)>0?f&-4:0;A=b+((z|3)<<2)|0;B=0;while(1){if((B|0)>=(x|0))break;w=B|1;u=B|2;v=B|3;o=b+(v<<2)|0;q=a;p=0;m=0;l=0;j=0;i=0;n=c[b+(B<<2)>>2]|0;s=c[b+(w<<2)>>2]|0;t=c[b+(u<<2)>>2]|0;r=0;while(1){if((p|0)>=(y|0))break;L=+g[q>>2];r=c[o>>2]|0;U=(c[k>>2]=m,+g[k>>2]);U=U+L*(c[k>>2]=n,+g[k>>2]);T=(c[k>>2]=l,+g[k>>2]);S=(c[k>>2]=s,+g[k>>2]);R=(c[k>>2]=j,+g[k>>2]);Q=(c[k>>2]=t,+g[k>>2]);M=(c[k>>2]=i,+g[k>>2]);K=(c[k>>2]=r,+g[k>>2]);J=+g[q+4>>2];E=c[o+4>>2]|0;I=(c[k>>2]=E,+g[k>>2]);H=+g[q+8>>2];D=c[o+8>>2]|0;G=(c[k>>2]=D,+g[k>>2]);F=+g[q+12>>2];C=c[o+12>>2]|0;P=(g[k>>2]=U+J*S+H*Q+F*K,c[k>>2]|0);O=(g[k>>2]=T+L*S+J*Q+H*K+F*I,c[k>>2]|0);N=(g[k>>2]=R+L*Q+J*K+H*I+F*G,c[k>>2]|0);o=o+16|0;q=q+16|0;p=p+4|0;m=P;l=O;j=N;i=(g[k>>2]=M+L*K+J*I+H*G+F*(c[k>>2]=C,+g[k>>2]),c[k>>2]|0);n=E;s=D;t=C}p=z|1;if((z|0)<(e|0)){U=+g[q>>2];r=c[A>>2]|0;T=(c[k>>2]=m,+g[k>>2]);m=(g[k>>2]=T+U*(c[k>>2]=n,+g[k>>2]),c[k>>2]|0);T=(c[k>>2]=l,+g[k>>2]);l=(g[k>>2]=T+U*(c[k>>2]=s,+g[k>>2]),c[k>>2]|0);T=(c[k>>2]=j,+g[k>>2]);j=(g[k>>2]=T+U*(c[k>>2]=t,+g[k>>2]),c[k>>2]|0);T=(c[k>>2]=i,+g[k>>2]);o=A+4|0;q=q+4|0;i=(g[k>>2]=T+U*(c[k>>2]=r,+g[k>>2]),c[k>>2]|0)}else o=A;if((p|0)<(e|0)){U=+g[q>>2];n=c[o>>2]|0;T=(c[k>>2]=m,+g[k>>2]);m=(g[k>>2]=T+U*(c[k>>2]=s,+g[k>>2]),c[k>>2]|0);T=(c[k>>2]=l,+g[k>>2]);l=(g[k>>2]=T+U*(c[k>>2]=t,+g[k>>2]),c[k>>2]|0);T=(c[k>>2]=j,+g[k>>2]);j=(g[k>>2]=T+U*(c[k>>2]=r,+g[k>>2]),c[k>>2]|0);T=(c[k>>2]=i,+g[k>>2]);o=o+4|0;q=q+4|0;i=(g[k>>2]=T+U*(c[k>>2]=n,+g[k>>2]),c[k>>2]|0)}if((p+1|0)<(e|0)){U=+g[q>>2];T=(c[k>>2]=m,+g[k>>2]);m=(g[k>>2]=T+U*(c[k>>2]=t,+g[k>>2]),c[k>>2]|0);T=(c[k>>2]=l,+g[k>>2]);l=(g[k>>2]=T+U*(c[k>>2]=r,+g[k>>2]),c[k>>2]|0);T=(c[k>>2]=j,+g[k>>2]);j=(g[k>>2]=T+U*(c[k>>2]=n,+g[k>>2]),c[k>>2]|0);i=(g[k>>2]=(c[k>>2]=i,+g[k>>2])+U*+g[o>>2],c[k>>2]|0)}c[d+(B<<2)>>2]=m;c[d+(w<<2)>>2]=l;c[d+(u<<2)>>2]=j;c[d+(v<<2)>>2]=i;A=A+16|0;B=B+4|0}while(1){if((h|0)<(f|0)){i=0;j=0}else break;while(1){if((i|0)>=(e|0))break;P=(g[k>>2]=(c[k>>2]=j,+g[k>>2])+ +g[a+(i<<2)>>2]*+g[b+(h+i<<2)>>2],c[k>>2]|0);i=i+1|0;j=P}c[d+(h<<2)>>2]=j;h=h+1|0}return}function pb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+1968|0;q=t;m=q;c[m>>2]=0;c[m+4>>2]=0;m=d>>2;n=i;i=i+((1*(m<<2)|0)+15&-16)|0;o=d+979>>2;p=i;i=i+((1*(o<<2)|0)+15&-16)|0;s=t+8|0;j=0;while(1){if((j|0)>=(m|0))break;c[n+(j<<2)>>2]=c[a+(j<<1<<2)>>2];j=j+1|0}j=0;while(1){if((j|0)>=(o|0))break;c[p+(j<<2)>>2]=c[b+(j<<1<<2)>>2];j=j+1|0}ob(n,p,s,m,244,f);rb(s,p,m,244,q);p=q+4|0;j=d>>1;o=0;while(1){if((o|0)==489)break;m=s+(o<<2)|0;g[m>>2]=0.0;d=o-(c[q>>2]<<1)|0;if(!((((d|0)>-1?d:0-d|0)|0)>2?(d=o-(c[p>>2]<<1)|0,(((d|0)>-1?d:0-d|0)|0)>2):0)){n=0;h=0.0;r=11}if((r|0)==11){while(1){r=0;if((n|0)>=(j|0))break;l=h+ +g[a+(n<<2)>>2]*+g[b+(o+n<<2)>>2];n=n+1|0;h=l;r=11}g[m>>2]=h<-1.0?-1.0:h}o=o+1|0}rb(s,b,j,489,q);j=c[q>>2]|0;if(!((j|0)>0&(j|0)<488)){s=0;r=j<<1;s=r-s|0;c[e>>2]=s;i=t;return}k=+g[s+(j+-1<<2)>>2];l=+g[s+(j<<2)>>2];h=+g[s+(j+1<<2)>>2];if(h-k>(l-k)*.699999988079071){s=1;r=j<<1;s=r-s|0;c[e>>2]=s;i=t;return}if(k-h>(l-h)*.699999988079071){s=-1;r=j<<1;s=r-s|0;c[e>>2]=s;i=t;return}s=0;r=j<<1;s=r-s|0;c[e>>2]=s;i=t;return}function qb(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=h|0;var j=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;G=i;i=i+2064|0;F=G+2052|0;h=c[d>>2]|0;A=(h|0)/2|0;B=(e|0)/2|0;E=(b|0)/2|0;h=(h|0)<1024;z=h?A:511;c[d>>2]=h?A:511;A=G;h=512-z|0;e=0;b=0;n=0;while(1){if((e|0)>=(E|0))break;y=+g[a+(e+512<<2)>>2];C=(g[k>>2]=(c[k>>2]=b,+g[k>>2])+y*y,c[k>>2]|0);D=(g[k>>2]=(c[k>>2]=n,+g[k>>2])+y*+g[a+(h+e<<2)>>2],c[k>>2]|0);e=e+1|0;b=C;n=D}c[A>>2]=b;h=1;e=b;while(1){if((h|0)==513)break;x=+g[a+(512-h<<2)>>2];y=+g[a+(E-h+512<<2)>>2];y=(c[k>>2]=e,+g[k>>2])+x*x-y*y;D=(g[k>>2]=y,c[k>>2]|0);g[A+(h<<2)>>2]=y<0.0?0.0:y;h=h+1|0;e=D}s=c[A+(z<<2)>>2]|0;m=(c[k>>2]=n,+g[k>>2]);v=(c[k>>2]=b,+g[k>>2]);m=m/+O(+(v*(c[k>>2]=s,+g[k>>2])+1.0));u=z<<1;v=v*2.0;w=m*.699999988079071;x=m*.8500000238418579;y=f*.5;D=z;C=(g[k>>2]=m,c[k>>2]|0);t=2;while(1){if((t|0)>=16)break;h=t<<1;r=((u+t|0)>>>0)/(h>>>0)|0;if((r|0)<7)break;if((t|0)==2){q=r+z|0;q=(q|0)>512?z:q}else q=(((_(c[22872+(t<<2)>>2]<<1,z)|0)+t|0)>>>0)/(h>>>0)|0;h=512-r|0;e=512-q|0;b=0;o=0;p=0;while(1){if((b|0)>=(E|0))break;m=+g[a+(b+512<<2)>>2];I=(g[k>>2]=(c[k>>2]=o,+g[k>>2])+m*+g[a+(h+b<<2)>>2],c[k>>2]|0);H=(g[k>>2]=(c[k>>2]=p,+g[k>>2])+m*+g[a+(e+b<<2)>>2],c[k>>2]|0);b=b+1|0;o=I;p=H}l=(c[k>>2]=p,+g[k>>2]);l=(c[k>>2]=o,+g[k>>2])+l;o=(g[k>>2]=l,c[k>>2]|0);m=+g[A+(r<<2)>>2]+ +g[A+(q<<2)>>2];e=(g[k>>2]=m,c[k>>2]|0);m=l/+O(+(v*m+1.0));h=(g[k>>2]=m,c[k>>2]|0);b=r-B|0;b=(b|0)>-1?b:0-b|0;if((b|0)>=2)if((b|0)<3){I=(_(t*5|0,t)|0)<(z|0);l=I?y:0.0}else l=0.0;else l=f;j=w-l;j=j<.30000001192092896?.30000001192092896:j;if((r|0)<21){j=x-l;if(j<.4000000059604645)j=.4000000059604645}if(m>j){b=r;n=o}else{b=D;e=s;h=C}D=b;s=e;C=h;t=t+1|0}l=(c[k>>2]=n,+g[k>>2]);l=l<0.0?0.0:l;j=(c[k>>2]=s,+g[k>>2]);if(!(j<=l))o=(g[k>>2]=l/(j+1.0),c[k>>2]|0);else o=1065353216;b=0;while(1){if((b|0)==3)break;h=1-(D+b)+512|0;e=0;n=0;while(1){if((e|0)>=(E|0))break;I=(g[k>>2]=(c[k>>2]=n,+g[k>>2])+ +g[a+(e+512<<2)>>2]*+g[a+(h+e<<2)>>2],c[k>>2]|0);e=e+1|0;n=I}c[F+(b<<2)>>2]=n;b=b+1|0}l=+g[F+8>>2];m=+g[F>>2];j=+g[F+4>>2];if(l-m>(j-m)*.699999988079071){H=1;y=(c[k>>2]=o,+g[k>>2]);f=(c[k>>2]=C,+g[k>>2]);I=y>f;I=I?C:o;F=D<<1;H=F+H|0;F=(H|0)<15;H=F?15:H;c[d>>2]=H;f=(c[k>>2]=I,+g[k>>2]);i=G;return +f}if(m-l>(j-l)*.699999988079071){H=-1;y=(c[k>>2]=o,+g[k>>2]);f=(c[k>>2]=C,+g[k>>2]);I=y>f;I=I?C:o;F=D<<1;H=F+H|0;F=(H|0)<15;H=F?15:H;c[d>>2]=H;f=(c[k>>2]=I,+g[k>>2]);i=G;return +f}H=0;y=(c[k>>2]=o,+g[k>>2]);f=(c[k>>2]=C,+g[k>>2]);I=y>f;I=I?C:o;F=D<<1;H=F+H|0;F=(H|0)<15;H=F?15:H;c[d>>2]=H;f=(c[k>>2]=I,+g[k>>2]);i=G;return +f}function rb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;c[f>>2]=0;u=f+4|0;c[u>>2]=1;i=1065353216;h=0;while(1){if((h|0)>=(d|0)){m=0;r=0;n=0;s=-1082130432;q=-1082130432;t=0;break}l=+g[b+(h<<2)>>2];i=(g[k>>2]=(c[k>>2]=i,+g[k>>2])+l*l,c[k>>2]|0);h=h+1|0}while(1){if((t|0)>=(e|0))break;j=+g[a+(t<<2)>>2];do if(j>0.0){j=j*9.999999960041972e-13;j=j*j;h=(g[k>>2]=j,c[k>>2]|0);w=j*(c[k>>2]=n,+g[k>>2]);v=(c[k>>2]=q,+g[k>>2]);l=(c[k>>2]=i,+g[k>>2]);if(w>v*l){w=j*(c[k>>2]=r,+g[k>>2]);if(w>(c[k>>2]=s,+g[k>>2])*l){c[u>>2]=m;c[f>>2]=t;m=t;o=i;n=r;p=h;h=s;break}else{c[u>>2]=t;o=r;n=i;p=s;break}}else{o=r;p=s;h=q}}else{l=(c[k>>2]=i,+g[k>>2]);o=r;p=s;h=q}while(0);v=+g[b+(t+d<<2)>>2];w=+g[b+(t<<2)>>2];w=l+(v*v-w*w);i=(g[k>>2]=w<1.0?1.0:w,c[k>>2]|0);r=o;s=p;q=h;t=t+1|0}return}function sb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0;h=c+-4|0;ob(a,a,b,h,5,d);f=0;while(1){if((f|0)==5)break;e=0.0;d=f+h|0;while(1){if((d|0)>=(c|0))break;e=e+ +g[a+(d<<2)>>2]*+g[a+(d-f<<2)>>2];d=d+1|0}d=b+(f<<2)|0;g[d>>2]=+g[d>>2]+e;f=f+1|0}return}function tb(a,b,d,e,f,h,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0.0,v=0,w=0.0,x=0.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,R=0,S=0,T=0.0;S=i;i=i+96|0;O=S+72|0;P=S+48|0;Q=S+24|0;R=S;if(!p)if((r|0)==0?(v=d-b|0,+g[q>>2]>+(_(m<<1,v)|0)):0)y=(_(v,m)|0)<(o|0);else y=0;else y=1;x=+(j>>>0)*+g[q>>2]*+(s|0)/+(m<<9|0);N=a+8|0;z=c[N>>2]|0;s=0;u=0.0;do{p=_(s,z)|0;v=b;while(1){if((v|0)>=(e|0))break;M=v+p|0;T=+g[f+(M<<2)>>2]-+g[h+(M<<2)>>2];u=u+T*T;v=v+1|0}s=s+1|0}while((s|0)<(m|0));M=~~x;u=u>200.0?200.0:u;K=l+20|0;e=c[K>>2]|0;L=l+28|0;s=c[L>>2]|0;J=e+((aa(s|0)|0)+-32)|0;p=(J+3|0)>>>0>j>>>0;v=p?0:y&1;p=p?0:r;if(!((d-b|0)>10?(w=+(o|0)*.125,!(w>16.0)):0))w=16.0;w=(t|0)==0?w:3.0;c[O>>2]=c[l>>2];c[O+4>>2]=c[l+4>>2];c[O+8>>2]=c[l+8>>2];c[O+12>>2]=c[l+12>>2];c[O+16>>2]=c[l+16>>2];c[O+20>>2]=c[l+20>>2];H=l+24|0;E=c[H>>2]|0;I=l+28|0;c[P>>2]=c[I>>2];c[P+4>>2]=c[I+4>>2];c[P+8>>2]=c[I+8>>2];c[P+12>>2]=c[I+12>>2];c[P+16>>2]=c[I+16>>2];D=_(z,m)|0;F=i;i=i+((1*(D<<2)|0)+15&-16)|0;G=i;i=i+((1*(D<<2)|0)+15&-16)|0;md(F|0,h|0,D<<2|0)|0;D=(p|0)==0;if(D)if(!v){C=E;B=0}else{vb(a,b,d,f,F,j,J,32387+(n*84|0)+42|0,G,l,m,n,1,w,t)|0;A=24}else{p=vb(a,b,d,f,F,j,J,32387+(n*84|0)+42|0,G,l,m,n,1,w,t)|0;if(!v){e=c[K>>2]|0;s=c[L>>2]|0;C=c[H>>2]|0;B=p}else A=24}if((A|0)==24){md(h|0,F|0,(_(c[N>>2]|0,m)|0)<<2|0)|0;md(k|0,G|0,(_(c[N>>2]|0,m)|0)<<2|0)|0;T=u;g[q>>2]=T;i=S;return}r=32-(aa(s|0)|0)|0;y=s>>>(r+-16|0);s=(y>>>12)+-8|0;s=(e<<3)-((r<<3)+(s+(y>>>0>(c[10984+(s<<2)>>2]|0)>>>0&1)))|0;e=c[l>>2]|0;y=l+4|0;c[Q>>2]=c[y>>2];c[Q+4>>2]=c[y+4>>2];c[Q+8>>2]=c[y+8>>2];c[Q+12>>2]=c[y+12>>2];c[Q+16>>2]=c[y+16>>2];c[R>>2]=c[I>>2];c[R+4>>2]=c[I+4>>2];c[R+8>>2]=c[I+8>>2];c[R+12>>2]=c[I+12>>2];c[R+16>>2]=c[I+16>>2];r=e+E|0;o=C-E|0;A=na()|0;z=i;i=i+((1*((C|0)==(E|0)?1:o)|0)+15&-16)|0;md(z|0,r|0,o|0)|0;c[l>>2]=c[O>>2];c[l+4>>2]=c[O+4>>2];c[l+8>>2]=c[O+8>>2];c[l+12>>2]=c[O+12>>2];c[l+16>>2]=c[O+16>>2];c[l+20>>2]=c[O+20>>2];c[H>>2]=E;c[I>>2]=c[P>>2];c[I+4>>2]=c[P+4>>2];c[I+8>>2]=c[P+8>>2];c[I+12>>2]=c[P+12>>2];c[I+16>>2]=c[P+16>>2];p=vb(a,b,d,f,h,j,J,32387+(n*84|0)+(v*42|0)|0,k,l,m,n,0,w,t)|0;a:do if(D)ya(A|0);else{do if((B|0)>=(p|0)){if((B|0)==(p|0)?(a=c[L>>2]|0,t=32-(aa(a|0)|0)|0,a=a>>>(t+-16|0),b=(a>>>12)+-8|0,((c[K>>2]<<3)-((t<<3)+(b+(a>>>0>(c[10984+(b<<2)>>2]|0)>>>0&1)))+M|0)>(s|0)):0)break;ya(A|0);if(!v)break a;g[q>>2]=u;i=S;return}while(0);c[l>>2]=e;c[y>>2]=c[Q>>2];c[y+4>>2]=c[Q+4>>2];c[y+8>>2]=c[Q+8>>2];c[y+12>>2]=c[Q+12>>2];c[y+16>>2]=c[Q+16>>2];c[H>>2]=C;c[I>>2]=c[R>>2];c[I+4>>2]=c[R+4>>2];c[I+8>>2]=c[R+8>>2];c[I+12>>2]=c[R+12>>2];c[I+16>>2]=c[R+16>>2];md(r|0,z|0,o|0)|0;md(h|0,F|0,(_(c[N>>2]|0,m)|0)<<2|0)|0;md(k|0,G|0,(_(c[N>>2]|0,m)|0)<<2|0)|0;ya(A|0);T=u;g[q>>2]=T;i=S;return}while(0);T=+g[23036+(n<<2)>>2];T=T*T*+g[q>>2]+u;g[q>>2]=T;i=S;return}function ub(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0.0;i=a+8|0;j=0;do{a=0;while(1){if((a|0)>=(b|0)){a=b;break}k=a+(_(j,c[i>>2]|0)|0)|0;l=+Y(+(+g[e+(k<<2)>>2]))*1.4426950408889634;g[f+(k<<2)>>2]=l-+g[22936+(a<<2)>>2];a=a+1|0}while(1){if((a|0)>=(d|0))break;g[f+((_(j,c[i>>2]|0)|0)+a<<2)>>2]=-14.0;a=a+1|0}j=j+1|0}while((j|0)<(h|0));return}function vb(a,b,e,f,h,j,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=+s;t=t|0;var u=0,v=0,w=0,x=0.0,y=0.0,z=0,A=0,B=0.0,C=0,D=0.0,E=0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=i;i=i+16|0;W=Y;V=W;c[V>>2]=0;c[V+4>>2]=0;a:do if((l+3|0)<=(j|0)){v=c[o+28>>2]|0;u=v>>>3;v=v-u|0;l=o+32|0;if(!r)u=v;else{V=o+32|0;c[V>>2]=(c[l>>2]|0)+v;l=V}v=o+28|0;c[v>>2]=u;w=o+20|0;while(1){if(u>>>0>=8388609)break a;lb(o,(c[l>>2]|0)>>>23);c[l>>2]=c[l>>2]<<8&2147483392;u=c[v>>2]<<8;c[v>>2]=u;c[w>>2]=(c[w>>2]|0)+8}}while(0);if(!r){u=c[23052+(q<<2)>>2]|0;l=c[23036+(q<<2)>>2]|0}else{u=1041864704;l=0}V=a+8|0;R=(c[k>>2]=l,+g[k>>2]);S=o+20|0;T=o+28|0;U=p*3|0;N=(t|0)==0;O=o+28|0;P=o+32|0;Q=o+20|0;F=(c[k>>2]=u,+g[k>>2]);G=o+32|0;l=0;L=b;while(1){if((L|0)>=(e|0))break;H=_(U,e-L|0)|0;I=(L|0)!=(b|0);J=(L|0)<20;K=(L|0)>1;E=0;do{C=L+(_(E,c[V>>2]|0)|0)|0;x=+g[f+(C<<2)>>2];y=+g[h+(C<<2)>>2];B=R*(y<-9.0?-9.0:y);C=W+(E<<2)|0;D=x-B-+g[C>>2];u=~~+M(+(D+.5));y=(y<-28.0?-28.0:y)-s;if((u|0)<0&x<y){A=u+~~(y-x)|0;A=(A|0)>0?0:A}else A=u;z=c[T>>2]|0;w=(c[S>>2]|0)+((aa(z|0)|0)+-32)|0;r=j-w|0;v=r-H|0;if(I&(v|0)<30&(v|0)<24){u=(A|0)>1?1:A;if((v|0)<16)u=(u|0)<-1?-1:u}else u=A;u=N|K^1?u:(u|0)<0?u:0;b:do if((r|0)<=14){if((r|0)>1){u=(u|0)<1?((u|0)<-1?-1:u):1;hb(o,u<<1^u>>31,32723,2);break}if((w|0)<(j|0)){v=z>>>1;w=z-v|0;if((u|0)<=0)if(!u)v=w;else c[P>>2]=(c[G>>2]|0)+w;else{v=w;u=0}c[O>>2]=v;while(1){if(v>>>0>=8388609)break b;lb(o,(c[P>>2]|0)>>>23);c[P>>2]=c[P>>2]<<8&2147483392;v=c[O>>2]<<8;c[O>>2]=v;c[Q>>2]=(c[Q>>2]|0)+8}}else u=-1}else{q=(J?L:20)<<1;v=(d[m+q>>0]|0)<<7;q=(d[m+(q|1)>>0]|0)<<6;if(u){t=u>>31;r=u+t^t;w=(_(32736-v|0,16384-q|0)|0)>>>15;a=1;while(1){if(!((w|0)!=0&(r|0)>(a|0)))break;Z=w<<1;w=(_(Z,q)|0)>>>15;v=v+(Z+2)|0;a=a+1|0}if(!w){r=r-a|0;u=(32768-v-t>>1)+-1|0;u=(r|0)<(u|0)?r:u;v=v+((u<<1|1)+t)|0;r=32768-v|0;r=r>>>0>1?1:r;u=a+u+t^t}else{Z=w+1|0;r=Z;v=v+(Z&~t)|0}w=z>>>15;if(!v)X=28;else{v=(c[O>>2]|0)-(_(w,32768-v|0)|0)|0;c[P>>2]=(c[P>>2]|0)+v;v=_(w,r)|0}}else{r=v;w=z>>>15;v=0;u=0;X=28}if((X|0)==28){X=0;v=_(w,32768-(v+r)|0)|0;v=(c[O>>2]|0)-v|0}c[O>>2]=v;while(1){if(v>>>0>=8388609)break b;lb(o,(c[P>>2]|0)>>>23);c[P>>2]=c[P>>2]<<8&2147483392;v=c[O>>2]<<8;c[O>>2]=v;c[Q>>2]=(c[Q>>2]|0)+8}}while(0);y=+(u|0);g[n+(L+(_(E,c[V>>2]|0)|0)<<2)>>2]=D-y;Z=A-u|0;l=l+((Z|0)>-1?Z:0-Z|0)|0;D=+g[C>>2];g[h+(L+(_(E,c[V>>2]|0)|0)<<2)>>2]=B+D+y;g[C>>2]=D+y-F*y;E=E+1|0}while((E|0)<(p|0));L=L+1|0}i=Y;return (N?l:0)|0}function wb(a,e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;var 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,R=0,S=0,T=0,U=0,V=0;V=i;m=(m|0)>0?m:0;E=c[a+8>>2]|0;Q=(m|0)>7?8:0;m=m-Q|0;U=(r|0)==2;if(U?(w=d[32726+(f-e)>>0]|0,(m|0)>=(w|0)):0){m=m-w|0;R=(m|0)>7?8:0;m=m-R|0}else{R=0;w=0}L=i;i=i+((1*(E<<2)|0)+15&-16)|0;M=i;i=i+((1*(E<<2)|0)+15&-16)|0;O=i;i=i+((1*(E<<2)|0)+15&-16)|0;I=i;i=i+((1*(E<<2)|0)+15&-16)|0;S=r<<3;T=a+32|0;j=j+-5-s|0;x=s+3|0;B=e;while(1){if((B|0)>=(f|0))break;y=B+1|0;z=c[T>>2]|0;z=((b[z+(y<<1)>>1]|0)-(b[z+(B<<1)>>1]|0)|0)*3<<s<<3>>4;c[O+(B<<2)>>2]=(S|0)>(z|0)?S:z;z=c[T>>2]|0;z=(_(_(_((b[z+(y<<1)>>1]|0)-(b[z+(B<<1)>>1]|0)|0,r)|0,j)|0,f-B+-1|0)|0)<<x>>6;A=I+(B<<2)|0;c[A>>2]=z;P=c[T>>2]|0;if(((b[P+(y<<1)>>1]|0)-(b[P+(B<<1)>>1]|0)<<s|0)!=1){B=y;continue}c[A>>2]=z-S;B=y}F=a+48|0;G=a+52|0;D=(c[F>>2]|0)+-1|0;H=1;do{A=H+D>>1;B=_(A,E)|0;C=1;j=f;x=0;a:while(1){b:while(1){z=j;do{j=z;z=z+-1|0;if((j|0)<=(e|0))break a;P=c[T>>2]|0;j=_((b[P+(j<<1)>>1]|0)-(b[P+(z<<1)>>1]|0)|0,r)|0;j=(_(j,d[(c[G>>2]|0)+(B+z)>>0]|0)|0)<<s>>2;if((j|0)>0){j=j+(c[I+(z<<2)>>2]|0)|0;j=(j|0)<0?0:j}y=j+(c[g+(z<<2)>>2]|0)|0;if((y|0)<(c[O+(z<<2)>>2]|0)^1|C^1)break b}while((y|0)<(S|0));j=z;x=x+S|0}P=c[h+(z<<2)>>2]|0;C=0;j=z;x=x+((y|0)<(P|0)?y:P)|0}P=(x|0)>(m|0);H=P?H:A+1|0;D=P?A+-1|0:D}while((H|0)<=(D|0));D=_(H+-1|0,E)|0;z=_(H,E)|0;A=(H|0)>1;K=e;C=e;while(1){if((C|0)>=(f|0))break;B=C+1|0;j=c[T>>2]|0;j=_((b[j+(B<<1)>>1]|0)-(b[j+(C<<1)>>1]|0)|0,r)|0;x=c[G>>2]|0;y=(_(j,d[x+(D+C)>>0]|0)|0)<<s>>2;if((H|0)<(c[F>>2]|0))j=(_(j,d[x+(z+C)>>0]|0)|0)<<s>>2;else j=c[h+(C<<2)>>2]|0;if((y|0)>0){x=y+(c[I+(C<<2)>>2]|0)|0;x=(x|0)<0?0:x}else x=y;if((j|0)>0){j=j+(c[I+(C<<2)>>2]|0)|0;j=(j|0)<0?0:j}P=c[g+(C<<2)>>2]|0;N=A?x+P|0:x;J=j+P|0;c[L+(C<<2)>>2]=N;c[M+(C<<2)>>2]=(J|0)<(N|0)?0:J-N|0;K=(P|0)>0?C:K;C=B}J=(r|0)>1;P=J&1;B=64;D=0;C=0;while(1){if((C|0)==6)break;z=D+B>>1;A=1;j=f;x=0;c:while(1){d:while(1){do{N=j;j=j+-1|0;if((N|0)<=(e|0))break c;y=(c[L+(j<<2)>>2]|0)+((_(z,c[M+(j<<2)>>2]|0)|0)>>6)|0;if((y|0)<(c[O+(j<<2)>>2]|0)^1|A^1)break d}while((y|0)<(S|0));x=x+S|0}N=c[h+(j<<2)>>2]|0;A=0;x=x+((y|0)<(N|0)?y:N)|0}N=(x|0)>(m|0);B=N?z:B;D=N?D:z;C=C+1|0}N=s<<3;x=0;y=f;z=0;while(1){j=y+-1|0;if((y|0)<=(e|0))break;I=(c[L+(j<<2)>>2]|0)+((_(D,c[M+(j<<2)>>2]|0)|0)>>6)|0;y=(x|0)==0?(I|0)<(c[O+(j<<2)>>2]|0):0;I=y?((I|0)<(S|0)?0:S):I;g=c[h+(j<<2)>>2]|0;g=(I|0)<(g|0)?I:g;c[o+(j<<2)>>2]=g;x=y?0:1;y=j;z=z+g|0}C=S+8|0;E=t+28|0;F=t+32|0;D=e+2|0;H=t+28|0;I=t+32|0;g=t+20|0;G=z;L=f;while(1){A=L+-1|0;if((A|0)<=(K|0)){x=46;break}z=m-G|0;j=c[T>>2]|0;B=b[j+(L<<1)>>1]|0;y=b[j+(e<<1)>>1]|0;x=B-y|0;M=(z>>>0)/(x>>>0)|0;x=z-(_(x,M)|0)|0;j=b[j+(A<<1)>>1]|0;y=x+(y-j)|0;j=B-j|0;B=o+(A<<2)|0;x=c[B>>2]|0;y=x+(_(M,j)|0)+((y|0)>0?y:0)|0;M=c[O+(A<<2)>>2]|0;if((y|0)<(((M|0)>(C|0)?M:C)|0)){z=x;x=G}else{if((L|0)<=(D|0)){x=50;break}if(!((A|0)>(v|0)?1:(y|0)<=((_((L|0)<=(u|0)?7:9,j)|0)<<s<<3>>4|0))){x=50;break}j=c[E>>2]|0;j=j-(j>>>1)|0;c[H>>2]=j;while(1){if(j>>>0>=8388609)break;lb(t,(c[I>>2]|0)>>>23);c[I>>2]=c[I>>2]<<8&2147483392;j=c[H>>2]<<8;c[H>>2]=j;c[g>>2]=(c[g>>2]|0)+8}z=c[B>>2]|0;y=y+-8|0;x=G+8|0}if((w|0)>0)j=d[32726+(A-e)>>0]|0;else j=w;G=x-(z+w)+j|0;L=(y|0)<(S|0);c[B>>2]=L?0:S;w=j;G=L?G:G+S|0;L=A}e:do if((x|0)==46)m=m+Q|0;else if((x|0)==50){v=c[E>>2]|0;j=v>>>1;c[I>>2]=(c[F>>2]|0)+(v-j);c[H>>2]=j;while(1){if(j>>>0>=8388609)break e;lb(t,(c[I>>2]|0)>>>23);c[I>>2]=c[I>>2]<<8&2147483392;j=c[H>>2]<<8;c[H>>2]=j;c[g>>2]=(c[g>>2]|0)+8}}while(0);if((w|0)>0){v=c[k>>2]|0;v=(v|0)<(L|0)?v:L;c[k>>2]=v;ib(t,v-e|0,L+1-e|0)}else c[k>>2]=0;f:do if((c[k>>2]|0)>(e|0))if(!R)x=71;else{j=c[E>>2]|0;w=j>>>1;j=j-w|0;if(!(c[l>>2]|0))w=j;else c[I>>2]=(c[F>>2]|0)+j;c[H>>2]=w;while(1){if(w>>>0>=8388609)break f;lb(t,(c[I>>2]|0)>>>23);c[I>>2]=c[I>>2]<<8&2147483392;w=c[H>>2]<<8;c[H>>2]=w;c[g>>2]=(c[g>>2]|0)+8}}else{m=m+R|0;x=71}while(0);if((x|0)==71)c[l>>2]=0;m=m-G|0;j=c[T>>2]|0;j=(b[j+(L<<1)>>1]|0)-(b[j+(e<<1)>>1]|0)|0;w=(m>>>0)/(j>>>0)|0;j=_(j,w)|0;x=e;while(1){if((x|0)>=(L|0))break;t=x+1|0;v=c[T>>2]|0;v=_(w,(b[v+(t<<1)>>1]|0)-(b[v+(x<<1)>>1]|0)|0)|0;R=o+(x<<2)|0;c[R>>2]=(c[R>>2]|0)+v;x=t}m=m-j|0;w=e;while(1){if((w|0)>=(L|0))break;t=w+1|0;R=c[T>>2]|0;R=(b[R+(t<<1)>>1]|0)-(b[R+(w<<1)>>1]|0)|0;R=(m|0)<(R|0)?m:R;v=o+(w<<2)|0;c[v>>2]=(c[v>>2]|0)+R;m=m-R|0;w=t}H=a+56|0;C=J?4:3;D=(L|0)>(e|0);F=0;G=e;while(1){if((G|0)>=(L|0))break;E=G+1|0;y=c[T>>2]|0;y=(b[y+(E<<1)>>1]|0)-(b[y+(G<<1)>>1]|0)<<s;B=o+(G<<2)|0;w=(c[B>>2]|0)+F|0;if((y|0)>1){m=c[h+(G<<2)>>2]|0;m=(w|0)>(m|0)?w-m|0:0;z=w-m|0;c[B>>2]=z;w=_(y,r)|0;if(U&(y|0)>2?(c[l>>2]|0)==0:0)j=(G|0)<(c[k>>2]|0);else j=0;A=w+(j&1)|0;x=_(A,(b[(c[H>>2]|0)+(G<<1)>>1]|0)+N|0)|0;w=(x>>1)+(_(A,-21)|0)|0;if((y|0)==2)w=w+(A<<3>>2)|0;j=z+w|0;if((j|0)>=(A<<4|0))if((j|0)<(A*24|0))y=w+(x>>3)|0;else y=w;else y=w+(x>>2)|0;w=z+y+(A<<2)|0;x=p+(G<<2)|0;w=((((w|0)<0?0:w)>>>0)/(A>>>0)|0)>>>3;c[x>>2]=w;a=_(w,r)|0;j=c[B>>2]|0;if((a|0)>(j>>3|0)){w=j>>P>>3;c[x>>2]=w}a=(w|0)<8?w:8;c[x>>2]=a;a=_(a,A<<3)|0;c[q+(G<<2)>>2]=(a|0)>=((c[B>>2]|0)+y|0)&1;a=(_(c[x>>2]|0,r)|0)<<3;c[B>>2]=(c[B>>2]|0)-a}else{m=(w|0)<(S|0)?0:w-S|0;c[B>>2]=w-m;c[p+(G<<2)>>2]=0;c[q+(G<<2)>>2]=1}if((m|0)<=0){F=m;G=E;continue}v=m>>C;t=p+(G<<2)|0;R=c[t>>2]|0;a=8-R|0;a=(v|0)<(a|0)?v:a;c[t>>2]=R+a;a=(_(a,r)|0)<<3;c[q+(G<<2)>>2]=(a|0)>=(m-F|0)&1;F=m-a|0;G=E}c[n>>2]=F;m=D?L:e;while(1){if((m|0)>=(f|0))break;k=o+(m<<2)|0;e=p+(m<<2)|0;c[e>>2]=c[k>>2]>>P>>3;c[k>>2]=0;c[q+(m<<2)>>2]=(c[e>>2]|0)<1&1;m=m+1|0}i=V;return L|0}function xb(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=i;u=i;i=i+((1*(b<<2)|0)+15&-16)|0;w=i;i=i+((1*(b<<2)|0)+15&-16)|0;v=i;i=i+((1*(b<<2)|0)+15&-16)|0;zb(a,b,1,f,d,e);l=0;do{e=a+(l<<2)|0;j=+g[e>>2];if(j>0.0)j=1.0;else{g[e>>2]=-j;j=-1.0}g[v+(l<<2)>>2]=j;c[w+(l<<2)>>2]=0;g[u+(l<<2)>>2]=0.0;l=l+1|0}while((l|0)<(b|0));if((b>>1|0)<(d|0)){e=0;j=0.0;do{j=j+ +g[a+(e<<2)>>2];e=e+1|0}while((e|0)<(b|0));if(!(j>1.0000000036274937e-15&j<64.0)){g[a>>2]=1.0;e=1;do{g[a+(e<<2)>>2]=0.0;e=e+1|0}while((e|0)<(b|0));j=1.0}q=+(d+-1|0)*(1.0/j);l=0;e=d;p=0.0;j=0.0;do{z=+g[a+(l<<2)>>2];t=~~+M(+(q*z));c[w+(l<<2)>>2]=t;y=+(t|0);j=j+y*y;p=p+z*y;g[u+(l<<2)>>2]=y*2.0;e=e-t|0;l=l+1|0}while((l|0)<(b|0))}else{e=d;p=0.0;j=0.0}if((e|0)>(b+3|0)){z=+(e|0);j=j+z*z+z*+g[u>>2];c[w>>2]=(c[w>>2]|0)+e;e=0}t=0;while(1){if((t|0)>=(e|0)){e=0;break}j=j+1.0;n=0;o=0;r=-664576087;s=0;while(1){z=p+ +g[a+(s<<2)>>2];q=j+ +g[u+(s<<2)>>2];z=z*z;y=(c[k>>2]=n,+g[k>>2])*z;l=y>q*(c[k>>2]=r,+g[k>>2]);m=(g[k>>2]=z,c[k>>2]|0);o=l?s:o;s=s+1|0;if((s|0)>=(b|0))break;else{n=l?(g[k>>2]=q,c[k>>2]|0):n;r=l?m:r}}y=p+ +g[a+(o<<2)>>2];s=u+(o<<2)|0;z=+g[s>>2];g[s>>2]=z+2.0;s=w+(o<<2)|0;c[s>>2]=(c[s>>2]|0)+1;t=t+1|0;p=y;j=j+z}do{z=+g[v+(e<<2)>>2];u=a+(e<<2)|0;g[u>>2]=z*+g[u>>2];if(z<0.0){u=w+(e<<2)|0;c[u>>2]=0-(c[u>>2]|0)}e=e+1|0}while((e|0)<(b|0));m=b+-1|0;o=c[w+(m<<2)>>2]|0;e=o>>>31;o=(o|0)>-1?o:0-o|0;do{n=m;m=m+-1|0;l=b-m|0;e=e+(c[(c[5836+(((l|0)<(o|0)?l:o)<<2)>>2]|0)+(((l|0)>(o|0)?l:o)<<2)>>2]|0)|0;a=c[w+(m<<2)>>2]|0;o=o+((a|0)>-1?a:0-a|0)|0;if((a|0)<0){a=o+1|0;e=e+(c[(c[5836+(((l|0)<(a|0)?l:a)<<2)>>2]|0)+(((l|0)>(a|0)?l:a)<<2)>>2]|0)|0}}while((n|0)>1);a=d+1|0;ib(h,e,(c[(c[5836+(((b|0)<(d|0)?b:d)<<2)>>2]|0)+(((b|0)>(d|0)?b:d)<<2)>>2]|0)+(c[(c[5836+(((d|0)<(b|0)?a:b)<<2)>>2]|0)+(((a|0)<(b|0)?b:a)<<2)>>2]|0)|0);h=Ab(w,b,f)|0;i=x;return h|0}function yb(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=+j;var k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=i;t=i;i=i+((1*(b<<2)|0)+15&-16)|0;o=d+1|0;q=b;r=d;o=db(h,(c[(c[5836+(((b|0)<(d|0)?b:d)<<2)>>2]|0)+(((b|0)>(d|0)?b:d)<<2)>>2]|0)+(c[(c[5836+(((d|0)<(b|0)?o:b)<<2)>>2]|0)+(((o|0)<(b|0)?b:o)<<2)>>2]|0)|0)|0;s=t;k=0.0;while(1){if((q|0)<=2)break;do if((r|0)<(q|0)){h=c[(c[5836+(r<<2)>>2]|0)+(q<<2)>>2]|0;l=c[(c[5836+(r+1<<2)>>2]|0)+(q<<2)>>2]|0;if(o>>>0>=h>>>0&o>>>0<l>>>0){c[s>>2]=0;l=o-h|0;h=r;break}n=o>>>0>=l>>>0;l=o-(n?l:0)|0;h=r;do{h=h+-1|0;m=c[(c[5836+(h<<2)>>2]|0)+(q<<2)>>2]|0}while(l>>>0<m>>>0);p=n<<31>>31;r=r-h+p^p;c[s>>2]=r<<16>>16;v=+((r&65535)<<16>>16);l=l-m|0;k=k+v*v}else{m=c[5836+(q<<2)>>2]|0;n=c[m+(r+1<<2)>>2]|0;l=o>>>0>=n>>>0;p=l<<31>>31;n=o-(l?n:0)|0;a:do if((c[m+(q<<2)>>2]|0)>>>0>n>>>0){h=q;do{h=h+-1|0;l=c[(c[5836+(h<<2)>>2]|0)+(q<<2)>>2]|0}while(l>>>0>n>>>0)}else{h=r;while(1){l=c[m+(h<<2)>>2]|0;if(l>>>0<=n>>>0)break a;h=h+-1|0}}while(0);r=r-h+p^p;c[s>>2]=r<<16>>16;v=+((r&65535)<<16>>16);l=n-l|0;k=k+v*v}while(0);q=q+-1|0;r=h;o=l;s=s+4|0}h=r<<1|1;l=o>>>0>=h>>>0;m=l<<31>>31;h=o-(l?h:0)|0;l=(h+1|0)>>>1;if(l)h=h-((l<<1)+-1)|0;r=r-l+m^m;c[s>>2]=r<<16>>16;w=+((r&65535)<<16>>16);h=l-h^0-h;c[s+4>>2]=h<<16>>16;v=+((h&65535)<<16>>16);k=1.0/+O(+(k+w*w+v*v))*j;h=0;do{g[a+(h<<2)>>2]=k*+(c[t+(h<<2)>>2]|0);h=h+1|0}while((h|0)<(b|0));zb(a,b,-1,f,d,e);e=Ab(t,b,f)|0;i=u;return e|0}function zb(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0.0,j=0,k=0,l=0.0,m=0.0;if((f<<1|0)>=(b|0)|(g|0)==0)return;m=+(b|0)/+((_(c[23068+(g+-1<<2)>>2]|0,f)|0)+b|0);m=m*m*.5;l=+Q(+(m*1.5707963705062866));m=+Q(+((1.0-m)*1.5707963705062866));a:do if((e<<3|0)>(b|0))g=0;else{f=e>>2;g=1;while(1){if(((_((_(g,g)|0)+g|0,e)|0)+f|0)>=(b|0))break a;g=g+1|0}}while(0);k=(b>>>0)/(e>>>0)|0;b=(d|0)<0;d=(g|0)==0;h=-m;i=-l;j=0;while(1){if((j|0)>=(e|0))break;f=a+((_(j,k)|0)<<2)|0;if(!b){Bb(f,k,1,l,h);if(!d)Bb(f,k,g,m,i)}else{if(!d)Bb(f,k,g,m,l);Bb(f,k,1,l,m)}j=j+1|0}return}function Ab(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((d|0)<2){a=1;return a|0}h=(b>>>0)/(d>>>0)|0;b=0;i=0;do{e=_(i,h)|0;f=0;g=0;do{g=g|c[a+(e+f<<2)>>2];f=f+1|0}while((f|0)<(h|0));b=b|((g|0)!=0&1)<<i;i=i+1|0}while((i|0)!=(d|0));return b|0}function Bb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var f=0,h=0,i=0,j=0.0,k=0.0,l=0.0;j=-e;f=b-c|0;h=a;i=0;while(1){if((i|0)>=(f|0))break;l=+g[h>>2];k=+g[h+(c<<2)>>2];g[h+(c<<2)>>2]=k*d+l*e;g[h>>2]=l*d+k*j;h=h+4|0;i=i+1|0}i=b-(c<<1)|0;f=a+(i+-1<<2)|0;a=i;while(1){if((a|0)<=0)break;k=+g[f>>2];l=+g[f+(c<<2)>>2];g[f+(c<<2)>>2]=l*d+k*e;g[f>>2]=k*d+l*j;f=f+-4|0;a=a+-1|0}return}function Cb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;hd(a|0,0,24568)|0;e=0;f=0;while(1){if((f|0)==2)break;e=e+(Qb(a+(f*12240|0)|0,b)|0)|0;f=f+1|0}c[a+24544>>2]=1;f=a+24548|0;c[f>>2]=1;c[d>>2]=c[a+24544>>2];c[d+4>>2]=c[f>>2];c[d+8>>2]=c[a+4580>>2];c[d+12>>2]=c[a+4588>>2];c[d+16>>2]=c[a+4592>>2];c[d+20>>2]=c[a+4596>>2];c[d+24>>2]=c[a+4636>>2];c[d+28>>2]=c[a+4632>>2];c[d+32>>2]=c[a+4640>>2];c[d+36>>2]=c[a+4648>>2];c[d+40>>2]=c[a+6120>>2];c[d+44>>2]=c[a+6108>>2];c[d+48>>2]=c[a+4708>>2];f=a+4600|0;c[d+68>>2]=(c[f>>2]<<16>>16)*1e3;c[d+72>>2]=c[a+4560>>2];if((c[f>>2]|0)!=16){a=0;a=a&1;f=d+76|0;c[f>>2]=a;return e|0}a=(c[a+28>>2]|0)==0;a=a&1;f=d+76|0;c[f>>2]=a;return e|0}function Db(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,G=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,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0;Ua=i;i=i+16|0;Ra=Ua;Sa=Ua+8|0;if(c[g+64>>2]|0){c[f+4696>>2]=1;c[f+16936>>2]=1}c[f+18020>>2]=0;Qa=f+5780|0;c[Qa>>2]=0;r=g+8|0;o=c[r>>2]|0;a:do if((o|0)<24e3){if((o|0)<12e3){switch(o|0){case 8e3:break a;default:n=-102}i=Ua;return n|0}if((o|0)<16e3){switch(o|0){case 12e3:break a;default:n=-102}i=Ua;return n|0}else{switch(o|0){case 16e3:break a;default:n=-102}i=Ua;return n|0}}else if((o|0)<44100)if((o|0)<32e3){switch(o|0){case 24e3:break a;default:n=-102}i=Ua;return n|0}else{switch(o|0){case 32e3:break a;default:n=-102}i=Ua;return n|0}else if((o|0)<48e3){switch(o|0){case 44100:break a;default:n=-102}i=Ua;return n|0}else{switch(o|0){case 48e3:break a;default:n=-102}i=Ua;return n|0}while(0);o=c[g+20>>2]|0;b:do if((o|0)>=12e3)if((o|0)<16e3){switch(o|0){case 12e3:break b;default:n=-102}i=Ua;return n|0}else{switch(o|0){case 16e3:break b;default:n=-102}i=Ua;return n|0}else{switch(o|0){case 8e3:break b;default:n=-102}i=Ua;return n|0}while(0);p=c[g+12>>2]|0;c:do if((p|0)>=12e3)if((p|0)<16e3){switch(p|0){case 12e3:break c;default:n=-102}i=Ua;return n|0}else{switch(p|0){case 16e3:break c;default:n=-102}i=Ua;return n|0}else{switch(p|0){case 8e3:break c;default:n=-102}i=Ua;return n|0}while(0);q=c[g+16>>2]|0;d:do if((q|0)>=12e3)if((q|0)<16e3){switch(q|0){case 12e3:break d;default:n=-102}i=Ua;return n|0}else{switch(q|0){case 16e3:break d;default:n=-102}i=Ua;return n|0}else{switch(q|0){case 8e3:break d;default:n=-102}i=Ua;return n|0}while(0);if((q|0)>(o|0)|(p|0)<(o|0)|(q|0)>(p|0)){f=-102;i=Ua;return f|0}Pa=g+24|0;switch(c[Pa>>2]|0){case 60:case 40:case 20:case 10:break;default:{f=-103;i=Ua;return f|0}}Ta=c[g+32>>2]|0;if((Ta|0)<0|(Ta|0)>100){f=-105;i=Ua;return f|0}Q=g+44|0;Ta=c[Q>>2]|0;if((Ta|0)<0|(Ta|0)>1){f=-108;i=Ua;return f|0}Na=g+48|0;Ta=c[Na>>2]|0;if((Ta|0)<0|(Ta|0)>1){f=-109;i=Ua;return f|0}Ta=c[g+40>>2]|0;if((Ta|0)<0|(Ta|0)>1){f=-107;i=Ua;return f|0}o=c[g>>2]|0;if((o|0)<1|(o|0)>2){f=-111;i=Ua;return f|0}Ta=g+4|0;p=c[Ta>>2]|0;if((p|0)<1|(p|0)>2|(p|0)>(o|0)){f=-111;i=Ua;return f|0}Oa=g+36|0;Ma=c[Oa>>2]|0;if((Ma|0)<0|(Ma|0)>10){f=-106;i=Ua;return f|0}c[g+84>>2]=0;q=f+24548|0;if((p|0)>(c[q>>2]|0)){o=Qb(f+12240|0,c[f+5124>>2]|0)|0;Ma=f+24480|0;b[Ma>>1]=0;b[Ma+2>>1]=0>>>16;Ma=f+24488|0;b[Ma>>1]=0;b[Ma+2>>1]=0>>>16;c[f+24492>>2]=0;c[f+24496>>2]=1;c[f+24500>>2]=0;c[f+24504>>2]=1;b[f+24510>>1]=0;b[f+24508>>1]=16384;if((c[f+24544>>2]|0)==2){md(f+18048|0,f+5808|0,300)|0;Ja=f;Ka=c[Ja+4>>2]|0;Ma=f+12240|0;c[Ma>>2]=c[Ja>>2];c[Ma+4>>2]=Ka}}else o=0;if((c[Pa>>2]|0)==(c[f+4636>>2]|0))P=(c[q>>2]|0)!=(c[Ta>>2]|0);else P=1;c[f+24544>>2]=c[g>>2];c[q>>2]=c[Ta>>2];q=j*100|0;p=c[r>>2]|0;O=(q|0)/(p|0)|0;Ka=(O|0)>1?O>>1:1;Ma=(m|0)==0;e:do if(Ma){if((_(O,p)|0)!=(q|0)|(j|0)<0){f=-101;i=Ua;return f|0}if((j*1e3|0)>(_(c[Pa>>2]|0,p)|0)){f=-101;i=Ua;return f|0}else{p=c[Ta>>2]|0;r=0;m=0;break}}else{if((O|0)==1)p=0;else{f=-101;i=Ua;return f|0}while(1){q=c[Ta>>2]|0;if((p|0)>=(q|0))break;o=Qb(f+(p*12240|0)|0,c[f+(p*12240|0)+5124>>2]|0)|0;p=p+1|0}m=c[Pa>>2]|0;c[Pa>>2]=10;r=c[Oa>>2]|0;c[Oa>>2]=0;p=q;q=0;while(1){if((q|0)>=(p|0))break e;c[f+(q*12240|0)+4700>>2]=0;c[f+(q*12240|0)+4712>>2]=1;p=c[Ta>>2]|0;q=q+1|0}}while(0);Ga=g+28|0;A=c[Ga>>2]>>p+-1;Ja=f+4600|0;Ha=f+24560|0;B=g+48|0;C=g+8|0;D=g+12|0;E=g+16|0;F=g+20|0;G=g+40|0;H=g+4|0;I=g+24|0;J=g+36|0;K=g+32|0;L=g+60|0;M=g+84|0;N=g+52|0;Ia=f+5776|0;z=0;while(1){if((z|0)>=(p|0))break;if((z|0)==1)v=c[Ja>>2]|0;else v=0;w=f+(z*12240|0)|0;t=c[Ha>>2]|0;c[f+(z*12240|0)+6108>>2]=c[Q>>2];c[f+(z*12240|0)+4708>>2]=c[B>>2];o=c[C>>2]|0;c[f+(z*12240|0)+4580>>2]=o;p=c[D>>2]|0;c[f+(z*12240|0)+4588>>2]=p;q=c[E>>2]|0;c[f+(z*12240|0)+4592>>2]=q;u=c[F>>2]|0;c[f+(z*12240|0)+4596>>2]=u;c[f+(z*12240|0)+6120>>2]=c[G>>2];c[f+(z*12240|0)+5784>>2]=c[g>>2];c[f+(z*12240|0)+5788>>2]=c[H>>2];c[f+(z*12240|0)+4560>>2]=t;c[f+(z*12240|0)+5792>>2]=z;y=f+(z*12240|0)+4700|0;do if(!(c[y>>2]|0))La=40;else{if(c[f+(z*12240|0)+4712>>2]|0){La=40;break}if((o|0)==(c[f+(z*12240|0)+4584>>2]|0))break;o=c[f+(z*12240|0)+4600>>2]|0;if((o|0)<=0)break;n=Rb(w,o)|0;La=109}while(0);if((La|0)==40){La=0;x=f+(z*12240|0)+4600|0;n=c[x>>2]|0;Fa=n<<16>>16;s=Fa*1e3|0;do if(Fa){if((s|0)>(o|0)|(s|0)>(p|0)|(s|0)<(q|0)){n=(o|0)<(p|0)?o:p;n=(((n|0)>(q|0)?n:q)|0)/1e3|0;break}q=f+(z*12240|0)+24|0;o=c[q>>2]|0;if((o|0)>255)c[f+(z*12240|0)+28>>2]=0;if((t|0)==0?(c[L>>2]|0)==0:0)break;if((s|0)>(u|0)){p=f+(z*12240|0)+28|0;if(!(c[p>>2]|0)){c[q>>2]=256;o=f+(z*12240|0)+16|0;c[o>>2]=0;c[o+4>>2]=0;o=256}if(c[L>>2]|0){c[p>>2]=0;n=(n|0)==16?12:8;break}if((o|0)<1){c[M>>2]=1;Fa=c[N>>2]|0;c[N>>2]=Fa-((Fa*5|0)/((c[I>>2]|0)+5|0)|0);break}else{c[p>>2]=-2;break}}if((s|0)>=(u|0)){o=f+(z*12240|0)+28|0;if((c[o>>2]|0)>=0)break;c[o>>2]=1;break}if(c[L>>2]|0){c[q>>2]=0;Fa=f+(z*12240|0)+16|0;c[Fa>>2]=0;c[Fa+4>>2]=0;c[f+(z*12240|0)+28>>2]=1;n=(n|0)==8?12:16;break}o=f+(z*12240|0)+28|0;if(!(c[o>>2]|0)){c[M>>2]=1;Fa=c[N>>2]|0;c[N>>2]=Fa-((Fa*5|0)/((c[I>>2]|0)+5|0)|0);break}else{c[o>>2]=1;break}}else n=(((u|0)<(o|0)?u:o)|0)/1e3|0;while(0);u=(v|0)==0?n:v;t=Rb(w,u)|0;q=c[I>>2]|0;s=f+(z*12240|0)+4636|0;if((c[s>>2]|0)==(q|0)){n=c[x>>2]|0;q=0}else{n=(q|0)==10;f:do if(!n){switch(q|0){case 60:case 40:case 20:{p=0;break}default:if((q|0)<11){p=-103;La=69;break f}else p=-103}c[f+(z*12240|0)+5776>>2]=(q|0)/20|0;c[f+(z*12240|0)+4604>>2]=4;n=u<<16>>16;c[f+(z*12240|0)+4608>>2]=n*20;c[f+(z*12240|0)+4572>>2]=n*24;n=c[x>>2]|0;o=f+(z*12240|0)+4720|0;if((n|0)==8){c[o>>2]=35152;n=8;o=p;break}else{c[o>>2]=35118;o=p;break}}else{p=0;La=69}while(0);do if((La|0)==69){La=0;c[f+(z*12240|0)+5776>>2]=1;c[f+(z*12240|0)+4604>>2]=n?2:1;n=u<<16>>16;c[f+(z*12240|0)+4608>>2]=_(q<<16>>16,n)|0;c[f+(z*12240|0)+4572>>2]=n*14;n=c[x>>2]|0;o=f+(z*12240|0)+4720|0;if((n|0)==8){c[o>>2]=35175;n=8;o=p;break}else{c[o>>2]=35163;o=p;break}}while(0);c[s>>2]=q;c[f+(z*12240|0)+4632>>2]=0;q=o}g:do if((n|0)!=(u|0)){n=f+(z*12240|0)+7200|0;o=f+(z*12240|0)+16|0;c[o>>2]=0;c[o+4>>2]=0;c[f+(z*12240|0)+5772>>2]=0;c[f+(z*12240|0)+5780>>2]=0;c[f+(z*12240|0)+4632>>2]=0;hd(f+(z*12240|0)+144|0,0,4412)|0;hd(n|0,0,2152)|0;c[f+(z*12240|0)+4568>>2]=100;c[f+(z*12240|0)+4696>>2]=1;c[f+(z*12240|0)+9352>>2]=100;a[n>>0]=10;c[f+(z*12240|0)+4500>>2]=100;c[f+(z*12240|0)+4516>>2]=65536;a[f+(z*12240|0)+4565>>0]=0;c[x>>2]=u;n=c[f+(z*12240|0)+4604>>2]|0;o=(n|0)==4;p=f+(z*12240|0)+4720|0;do if((u|0)==8)if(o){c[p>>2]=35152;n=4;La=85;break}else{c[p>>2]=35175;La=85;break}else{if(o){c[p>>2]=35118;n=4}else c[p>>2]=35163;if((u|0)==12){La=85;break}c[f+(z*12240|0)+4664>>2]=16;c[f+(z*12240|0)+4724>>2]=23164}while(0);if((La|0)==85){c[f+(z*12240|0)+4664>>2]=10;c[f+(z*12240|0)+4724>>2]=23128}c[f+(z*12240|0)+4612>>2]=u*5;c[f+(z*12240|0)+4608>>2]=_(u*327680>>16,n<<16>>16)|0;Fa=u<<16;La=Fa>>16;c[f+(z*12240|0)+4616>>2]=La*20;c[f+(z*12240|0)+4620>>2]=Fa>>15;c[f+(z*12240|0)+4576>>2]=La*18;c[f+(z*12240|0)+4572>>2]=(n|0)==4?La*24|0:La*14|0;switch(u|0){case 16:{c[f+(z*12240|0)+4684>>2]=10;c[f+(z*12240|0)+4716>>2]=35040;u=16;break g}case 12:{c[f+(z*12240|0)+4684>>2]=13;c[f+(z*12240|0)+4716>>2]=35034;u=12;break g}default:{c[f+(z*12240|0)+4684>>2]=15;c[f+(z*12240|0)+4716>>2]=35025;break g}}}while(0);n=t+q|0;s=c[J>>2]|0;do if((s|0)>=2){if((s|0)<4){c[f+(z*12240|0)+4668>>2]=1;c[f+(z*12240|0)+4676>>2]=49807;o=f+(z*12240|0)+4672|0;c[o>>2]=8;c[f+(z*12240|0)+4660>>2]=10;q=u*5|0;c[f+(z*12240|0)+4624>>2]=q;c[f+(z*12240|0)+4652>>2]=1;c[f+(z*12240|0)+4656>>2]=0;c[f+(z*12240|0)+4680>>2]=0;c[f+(z*12240|0)+4692>>2]=4;c[f+(z*12240|0)+4704>>2]=0;p=8;break}if((s|0)<6){c[f+(z*12240|0)+4668>>2]=1;c[f+(z*12240|0)+4676>>2]=48497;o=f+(z*12240|0)+4672|0;c[o>>2]=10;c[f+(z*12240|0)+4660>>2]=12;q=u*5|0;c[f+(z*12240|0)+4624>>2]=q;c[f+(z*12240|0)+4652>>2]=2;c[f+(z*12240|0)+4656>>2]=1;c[f+(z*12240|0)+4680>>2]=0;c[f+(z*12240|0)+4692>>2]=8;c[f+(z*12240|0)+4704>>2]=u*983;p=10;break}o=f+(z*12240|0)+4668|0;if((s|0)<8){c[o>>2]=1;c[f+(z*12240|0)+4676>>2]=47186;o=f+(z*12240|0)+4672|0;c[o>>2]=12;c[f+(z*12240|0)+4660>>2]=14;q=u*5|0;c[f+(z*12240|0)+4624>>2]=q;c[f+(z*12240|0)+4652>>2]=3;c[f+(z*12240|0)+4656>>2]=1;c[f+(z*12240|0)+4680>>2]=0;c[f+(z*12240|0)+4692>>2]=16;c[f+(z*12240|0)+4704>>2]=u*983;p=12;break}else{c[o>>2]=2;c[f+(z*12240|0)+4676>>2]=45875;o=f+(z*12240|0)+4672|0;c[o>>2]=16;c[f+(z*12240|0)+4660>>2]=16;q=u*5|0;c[f+(z*12240|0)+4624>>2]=q;c[f+(z*12240|0)+4652>>2]=4;c[f+(z*12240|0)+4656>>2]=1;c[f+(z*12240|0)+4680>>2]=0;c[f+(z*12240|0)+4692>>2]=32;c[f+(z*12240|0)+4704>>2]=u*983;p=16;break}}else{c[f+(z*12240|0)+4668>>2]=0;c[f+(z*12240|0)+4676>>2]=52429;o=f+(z*12240|0)+4672|0;c[o>>2]=6;c[f+(z*12240|0)+4660>>2]=8;q=u*3|0;c[f+(z*12240|0)+4624>>2]=q;c[f+(z*12240|0)+4652>>2]=1;c[f+(z*12240|0)+4656>>2]=0;c[f+(z*12240|0)+4680>>2]=1;c[f+(z*12240|0)+4692>>2]=2;c[f+(z*12240|0)+4704>>2]=0;p=6}while(0);La=c[f+(z*12240|0)+4664>>2]|0;c[o>>2]=(p|0)<(La|0)?p:La;c[f+(z*12240|0)+4628>>2]=(u*5|0)+(q<<1);c[f+(z*12240|0)+4648>>2]=s;s=c[K>>2]|0;c[f+(z*12240|0)+4640>>2]=s;La=f+(z*12240|0)+6124|0;t=c[La>>2]|0;c[La>>2]=0;do if((s|0)>0?(c[f+(z*12240|0)+6120>>2]|0)!=0:0){q=(u|0)==8?12e3:(u|0)==12?14e3:16e3;if((s|0)<25){o=s;p=s}else{o=25;p=25}if((A|0)<=((((_(q,125-o|0)|0)>>16)*655|0)+((((_(q,125-p|0)|0)&65520)*655|0)>>>16)|0))break;if(!t)c[f+(z*12240|0)+6128>>2]=7;else{La=7-(((s>>16)*26214|0)+(((s&65535)*26214|0)>>>16))|0;c[f+(z*12240|0)+6128>>2]=(La|0)>2?La:2}c[f+(z*12240|0)+6124>>2]=1}while(0);c[y>>2]=1;La=109}if((La|0)==109?(La=0,(n|0)!=0):0){La=250;break}h:do if((c[f+(z*12240|0)+4696>>2]|0)==0^1|P){o=0;while(1){if((o|0)>=(c[Ia>>2]|0))break h;c[f+(z*12240|0)+4756+(o<<2)>>2]=0;o=o+1|0}}while(0);c[f+(z*12240|0)+6112>>2]=c[f+(z*12240|0)+6108>>2];p=c[Ta>>2]|0;o=0;z=z+1|0}if((La|0)==250){i=Ua;return n|0}E=O*10|0;I=c[Ja>>2]|0;F=_(E,I)|0;G=f+4580|0;I=(_(F,c[G>>2]|0)|0)/(I*1e3|0)|0;Fa=na()|0;H=i;i=i+((1*(I<<1)|0)+15&-16)|0;I=f+4608|0;J=f+5772|0;Da=f+24552|0;K=f+18048|0;L=f+5808|0;M=f+16848|0;N=f+18012|0;O=f+16840|0;P=k+20|0;Q=k+28|0;R=f+24536|0;S=f+4565|0;T=f+4600|0;U=f+4568|0;V=f+4728|0;W=f+8|0;X=f+4556|0;Y=f+24540|0;Z=f+24480|0;$=f+5132|0;ba=f+17372|0;ca=f+4556|0;Ea=g+56|0;da=f+24564|0;ea=f+19440|0;fa=f+12384|0;ga=f+12256|0;ha=f+16808|0;ia=f+16740|0;ja=f+16805|0;ka=f+16756|0;la=f+16936|0;ma=f+12240|0;oa=g+52|0;pa=(Ka|0)==2;qa=Ra+4|0;ra=Ka<<1;sa=Ka+-1|0;ta=k+24|0;ua=k+40|0;va=k+44|0;wa=k+32|0;xa=f+6112|0;za=f+24556|0;Aa=f+18352|0;Ba=f+5128|0;Ca=f+24484|0;s=h;C=j;D=0;while(1){q=(c[I>>2]|0)-(c[J>>2]|0)|0;q=(q|0)<(F|0)?q:F;B=_(q,c[G>>2]|0)|0;B=(B|0)/((c[Ja>>2]|0)*1e3|0)|0;do if((c[g>>2]|0)==2)if((c[Ta>>2]|0)==2){n=c[Qa>>2]|0;p=0;while(1){if((p|0)>=(B|0))break;b[H+(p<<1)>>1]=b[s+(p<<1<<1)>>1]|0;p=p+1|0}if((c[Da>>2]|0)==1&(n|0)==0)md(K|0,L|0,300)|0;cc(L,f+5128+((c[J>>2]|0)+2<<1)|0,H,B);c[J>>2]=(c[J>>2]|0)+q;p=(c[M>>2]|0)-(c[N>>2]|0)|0;n=_(E,c[O>>2]|0)|0;n=(p|0)<(n|0)?p:n;p=0;while(1){if((p|0)>=(B|0))break;b[H+(p<<1)>>1]=b[s+((p<<1|1)<<1)>>1]|0;p=p+1|0}cc(K,f+17368+((c[N>>2]|0)+2<<1)|0,H,B);c[N>>2]=(c[N>>2]|0)+n;n=c[J>>2]|0;break}else{if((c[Ta>>2]|0)==1)n=0;else{La=135;break}while(1){if((n|0)>=(B|0))break;j=n<<1;j=(b[s+(j<<1)>>1]|0)+(b[s+((j|1)<<1)>>1]|0)|0;b[H+(n<<1)>>1]=(j>>>1)+(j&1);n=n+1|0}cc(L,f+5128+((c[J>>2]|0)+2<<1)|0,H,B);i:do if((c[Da>>2]|0)==2){if(c[Qa>>2]|0)break;cc(K,f+17368+((c[N>>2]|0)+2<<1)|0,H,B);n=0;while(1){if((n|0)>=(c[I>>2]|0))break i;j=f+5128+((c[J>>2]|0)+n+2<<1)|0;b[j>>1]=((b[j>>1]|0)+(b[f+17368+((c[N>>2]|0)+n+2<<1)>>1]|0)|0)>>>1;n=n+1|0}}while(0);n=(c[J>>2]|0)+q|0;c[J>>2]=n;break}else La=135;while(0);if((La|0)==135){La=0;md(H|0,s|0,B<<1|0)|0;cc(L,f+5128+((c[J>>2]|0)+2<<1)|0,H,B);n=(c[J>>2]|0)+q|0;c[J>>2]=n}z=s+((_(B,c[g>>2]|0)|0)<<1)|0;A=C-B|0;c[Ha>>2]=0;if((n|0)<(c[I>>2]|0)){n=0;break}if(!((c[Qa>>2]|0)==0^1|Ma^1)){b[Sa>>1]=0;a[Sa>>0]=256-(256>>>(_((c[Ia>>2]|0)+1|0,c[Ta>>2]|0)|0));hb(k,0,Sa,8);s=0;while(1){n=c[Ta>>2]|0;if((s|0)>=(n|0)){v=0;break}n=c[f+(s*12240|0)+5776>>2]|0;p=0;q=0;while(1){if((q|0)>=(n|0))break;p=p|c[f+(s*12240|0)+4756+(q<<2)>>2]<<q;q=q+1|0}a[f+(s*12240|0)+4755>>0]=(p|0)>0&1;if((p|0)!=0&(n|0)>1)hb(k,p+-1|0,c[23296+(n+-2<<2)>>2]|0,8);s=s+1|0}while(1){if((v|0)>=(c[Ia>>2]|0)){p=0;break}q=f+24514+(v*6|0)|0;s=f+16996+(v<<2)|0;t=f+24532+v|0;u=v+-1|0;p=0;while(1){if((p|0)>=(n|0))break;if(c[f+(p*12240|0)+4756+(v<<2)>>2]|0){do if((n|0)==2&(p|0)==0){kc(k,q);if(c[s>>2]|0)break;hb(k,a[t>>0]|0,35006,8)}while(0);if((v|0)>0?(c[f+(p*12240|0)+4756+(u<<2)>>2]|0)!=0:0)n=2;else n=0;Eb(f+(p*12240|0)|0,k,v,1,n);Fb(k,a[f+(p*12240|0)+6132+(v*36|0)+29>>0]|0,a[f+(p*12240|0)+6132+(v*36|0)+30>>0]|0,f+(p*12240|0)+6240+(v*320|0)|0,c[f+(p*12240|0)+4608>>2]|0);n=c[Ta>>2]|0}p=p+1|0}v=v+1|0}while(1){if((p|0)>=(n|0))break;n=f+(p*12240|0)+4756|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;n=c[Ta>>2]|0;p=p+1|0}c[R>>2]=(c[P>>2]|0)+((aa(c[Q>>2]|0)|0)+-32)}if((a[S>>0]|0)==2){j=_(c[T>>2]|0,65536e3)|0;j=(Wb((j|0)/(c[U>>2]|0)|0)|0)+-2048|0;n=c[V>>2]|0;q=0-n<<2;n=n<<16>>16;h=_(q>>16,n)|0;n=_(q&65532,n)|0;q=j-((Wb(3932160)|0)+63488)<<16>>16;q=j+((_(h+(n>>16)>>16,q)|0)+((_(h+(n>>>16)&65535,q)|0)>>16))|0;n=c[W>>2]|0;q=q-(n>>8)|0;h=(q|0)<0;j=q*3|0;p=h?j:q;p=_(c[X>>2]<<16>>16,(((h?j:q)|0)>51?51:(p|0)<-51?-51:p)<<16>>16)|0;p=n+(((p>>16)*6554|0)+(((p&65535)*6554|0)>>>16))|0;c[W>>2]=p;n=(Wb(60)|0)<<8;q=(Wb(100)|0)<<8;do if((n|0)>(q|0)){if((p|0)>(n|0))break;n=(p|0)<(q|0)?q:p}else{if((p|0)>(q|0)){n=q;break}n=(p|0)<(n|0)?n:p}while(0);c[W>>2]=n}s=c[Ga>>2]|0;p=c[Pa>>2]|0;n=(_(s,p)|0)/1e3|0;if(Ma)n=n-(c[R>>2]|0)|0;q=(n|0)/(c[Ia>>2]|0)|0;n=q<<16>>16;n=((p|0)==10?n*100|0:n*50|0)-(c[Y>>2]<<1)|0;do if(Ma){p=c[Qa>>2]|0;if((p|0)<=0)break;j=(c[P>>2]|0)+((aa(c[Q>>2]|0)|0)+-32)|0;n=n-(j-(c[R>>2]|0)-(_(q,p)|0)<<1)|0}while(0);do if((s|0)>5e3){if((n|0)>(s|0))break;s=(n|0)<5e3?5e3:n}else{if((n|0)>5e3){s=5e3;break}s=(n|0)<(s|0)?s:n}while(0);do if((c[Ta>>2]|0)==2){n=c[Qa>>2]|0;Ob(Z,$,ba,f+24514+(n*6|0)|0,f+24532+n|0,Ra,s,c[ca>>2]|0,c[Ea>>2]|0,c[Ja>>2]|0,c[I>>2]|0);n=c[Qa>>2]|0;if(!(a[f+24532+n>>0]|0)){if((c[da>>2]|0)==1){j=ga;c[j>>2]=0;c[j+4>>2]=0;hd(fa|0,0,4412)|0;hd(ea|0,0,2156)|0;c[ha>>2]=100;c[ia>>2]=100;a[ea>>0]=10;a[ja>>0]=0;c[ka>>2]=65536;c[la>>2]=1}qc(ma)}else a[f+16992+n>>0]=0;if(!Ma)break;kc(k,f+24514+((c[Qa>>2]|0)*6|0)|0);n=c[Qa>>2]|0;if(a[f+16992+n>>0]|0)break;hb(k,a[f+24532+n>>0]|0,35006,8)}else{j=e[Ca>>1]|e[Ca+2>>1]<<16;b[Ba>>1]=j;b[Ba+2>>1]=j>>>16;j=f+5128+(c[I>>2]<<1)|0;j=e[j>>1]|e[j+2>>1]<<16;b[Ca>>1]=j;b[Ca+2>>1]=j>>>16}while(0);qc(f);w=(D|0)==0;x=(D|0)==(sa|0);y=(D|0)==1;v=0;while(1){n=c[Ta>>2]|0;if((v|0)>=(n|0))break;p=c[oa>>2]|0;do if(pa){if(!w){q=p;break}q=(p*3|0)/5|0}else{if((Ka|0)!=3){q=p;break}if(w){q=(p<<1|0)/5|0;break}if(!y){q=p;break}q=(p*3|0)/4|0}while(0);t=((c[Na>>2]|0)==0?0:x)&1;do if((n|0)==1){n=s;u=t}else{n=c[Ra+(v<<2)>>2]|0;if(!((v|0)==0&(c[qa>>2]|0)>0)){u=t;break}q=q-((p|0)/(ra|0)|0)|0;u=0}while(0);if((n|0)>0){o=(n|0)>8e4?8e4:(n|0)<5e3?5e3:n;n=f+(v*12240|0)+4632|0;j:do if((o|0)!=(c[n>>2]|0)){c[n>>2]=o;t=c[f+(v*12240|0)+4600>>2]|0;t=(t|0)==8?23200:(t|0)==12?23232:23264;n=(c[f+(v*12240|0)+4604>>2]|0)==2?o+-2200|0:o;p=1;while(1){if((p|0)>=8)break j;o=c[t+(p<<2)>>2]|0;if((n|0)<=(o|0))break;p=p+1|0}j=p+-1|0;h=c[t+(j<<2)>>2]|0;j=b[30712+(j<<1)>>1]|0;c[f+(v*12240|0)+4748>>2]=(j<<6)+(_((n-h<<6|0)/(o-h|0)|0,(b[30712+(p<<1)>>1]|0)-j|0)|0)}while(0);do if((c[Qa>>2]|0)>(v|0)){if((v|0)>0?(c[da>>2]|0)!=0:0){n=1;break}n=2}else n=0;while(0);o=rc(f+(v*12240|0)|0,l,k,n,q,u)|0}c[f+(v*12240|0)+4700>>2]=0;c[f+(v*12240|0)+5772>>2]=0;j=f+(v*12240|0)+5780|0;c[j>>2]=(c[j>>2]|0)+1;v=v+1|0}q=c[Qa>>2]|0;c[da>>2]=a[q+-1+(f+24532)>>0];do if((c[l>>2]|0)>0){if((q|0)!=(c[Ia>>2]|0))break;s=c[Ta>>2]|0;v=0;u=0;while(1){if((u|0)>=(s|0))break;t=c[f+(u*12240|0)+5776>>2]|0;n=v;p=0;while(1){n=n<<1;if((p|0)>=(t|0))break;n=n|a[f+(u*12240|0)+4752+p>>0];p=p+1|0}v=n|a[f+(u*12240|0)+4755>>0];u=u+1|0}do if(Ma){n=_(q+1|0,s)|0;p=8-n|0;q=(1<<n)+-1<<p;if(c[ta>>2]|0){j=c[k>>2]|0;a[j>>0]=d[j>>0]&(q^255)|v<<p;break}s=c[ua>>2]|0;if((s|0)>-1){c[ua>>2]=s&~q|v<<p;break}if((c[Q>>2]|0)>>>0>-2147483648>>>n>>>0){c[va>>2]=-1;break}else{c[wa>>2]=c[wa>>2]&~(q<<23)|v<<p+23;break}}while(0);do if(c[xa>>2]|0){if((c[Ta>>2]|0)!=1?(c[Aa>>2]|0)==0:0)break;c[l>>2]=0}while(0);n=(c[Y>>2]|0)+(c[l>>2]<<3)|0;c[Y>>2]=n;n=n-((_(c[Ga>>2]|0,c[Pa>>2]|0)|0)/1e3|0)|0;c[Y>>2]=n;c[Y>>2]=(n|0)>1e4?1e4:(n|0)<0?0:n;n=c[za>>2]|0;if((c[ca>>2]|0)<(((n<<16>>16)*3188>>16)+13|0)){c[Ha>>2]=1;c[za>>2]=0;break}else{c[Ha>>2]=0;c[za>>2]=n+(c[Pa>>2]|0);break}}while(0);if((C|0)==(B|0)){La=239;break}s=z;C=A;D=D+1|0}if((La|0)==239)n=c[Ha>>2]|0;c[Da>>2]=c[Ta>>2];c[g+72>>2]=n;if((c[Ja>>2]|0)==16)n=(c[f+28>>2]|0)==0;else n=0;c[g+76>>2]=n&1;c[g+68>>2]=(c[Ja>>2]<<16>>16)*1e3;if(!(c[Ea>>2]|0))n=b[f+24508>>1]|0;else n=0;c[g+80>>2]=n;k:do if(!Ma){c[Pa>>2]=m;c[Oa>>2]=r;n=0;while(1){if((n|0)>=(c[Ta>>2]|0))break k;c[f+(n*12240|0)+4700>>2]=0;c[f+(n*12240|0)+4712>>2]=0;n=n+1|0}}while(0);ya(Fa|0);f=o;i=Ua;return f|0}
function rc(f,j,l,m,n,o){f=f|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0.0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0.0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0.0,jb=0.0,kb=0,lb=0,mb=0,nb=0,pb=0,qb=0,rb=0,sb=0.0;hb=i;i=i+36224|0;Sa=hb+1096|0;Ra=hb+72|0;Ma=hb+32696|0;Qa=hb+32056|0;Ha=hb+31416|0;ma=hb+31096|0;ka=hb+48|0;ha=hb+27800|0;la=hb+26256|0;na=hb+23168|0;Ia=hb+23024|0;ja=hb+22720|0;Oa=hb+2e4|0;Na=hb+12896|0;Ka=hb+7216|0;G=hb+33976|0;fa=hb+7144|0;Ja=hb+7080|0;ia=hb+7016|0;La=hb+5480|0;$a=hb+30184|0;fb=hb+26520|0;ga=hb+23568|0;cb=hb+23120|0;db=hb+24|0;eb=hb;ab=hb+15616|0;bb=hb+8512|0;_a=hb+8496|0;Za=hb+34936|0;Xa=f+4644|0;Ya=c[Xa>>2]|0;c[Xa>>2]=Ya+1;Xa=f+4802|0;a[Xa>>0]=Ya&3;Ya=f+4616|0;Ga=c[Ya>>2]|0;Pa=f+9356+(Ga<<2)|0;ea=ga+(Ga<<2)|0;Wa=f+4608|0;C=c[Wa>>2]|0;a:do if(c[f+28>>2]|0){q=f+24|0;p=256-(c[q>>2]|0)<<10;s=p>>16;p=p-(s<<16)|0;b:do if((s|0)<4){if((p|0)<=0){Ta=23304+(s*12|0)|0;c[Sa>>2]=c[Ta>>2];c[Sa+4>>2]=c[Ta+4>>2];c[Sa+8>>2]=c[Ta+8>>2];Ta=23364+(s<<3)|0;Ua=c[Ta+4>>2]|0;Va=Ra;c[Va>>2]=c[Ta>>2];c[Va+4>>2]=Ua;break}t=s+1|0;u=p<<16>>16;if((p|0)<32768){p=0;while(1){if((p|0)==3){p=0;break}Ua=c[23304+(s*12|0)+(p<<2)>>2]|0;Va=(c[23304+(t*12|0)+(p<<2)>>2]|0)-Ua|0;c[Sa+(p<<2)>>2]=Ua+((_(Va>>16,u)|0)+((_(Va&65535,u)|0)>>16));p=p+1|0}while(1){if((p|0)==2)break b;Ua=c[23364+(s<<3)+(p<<2)>>2]|0;Va=(c[23364+(t<<3)+(p<<2)>>2]|0)-Ua|0;c[Ra+(p<<2)>>2]=Ua+((_(Va>>16,u)|0)+((_(Va&65535,u)|0)>>16));p=p+1|0}}else{p=0;while(1){if((p|0)==3){p=0;break}Ua=c[23304+(t*12|0)+(p<<2)>>2]|0;Va=Ua-(c[23304+(s*12|0)+(p<<2)>>2]|0)|0;c[Sa+(p<<2)>>2]=Ua+((_(Va>>16,u)|0)+((_(Va&65535,u)|0)>>16));p=p+1|0}while(1){if((p|0)==2)break b;Ua=c[23364+(t<<3)+(p<<2)>>2]|0;Va=Ua-(c[23364+(s<<3)+(p<<2)>>2]|0)|0;c[Ra+(p<<2)>>2]=Ua+((_(Va>>16,u)|0)+((_(Va&65535,u)|0)>>16));p=p+1|0}}}else{c[Sa>>2]=c[5838];c[Sa+4>>2]=c[5839];c[Sa+8>>2]=c[5840];Va=Ra;c[Va>>2]=35497197;c[Va+4>>2]=57401098}while(0);p=(c[q>>2]|0)+(c[f+28>>2]|0)|0;c[q>>2]=(p|0)>256?256:(p|0)<0?0:p;p=f+16|0;s=0-(c[Ra>>2]|0)|0;u=0-(c[Ra+4>>2]|0)|0;q=f+20|0;w=s&16383;s=s>>>14<<16>>16;t=Sa+4|0;x=u&16383;u=u>>>14<<16>>16;v=Sa+8|0;z=0;while(1){if((z|0)>=(C|0))break a;Va=f+5128+(z+1<<1)|0;Ta=b[Va>>1]|0;Ua=c[Sa>>2]|0;Ua=(c[p>>2]|0)+((_(Ua>>16,Ta)|0)+((_(Ua&65535,Ta)|0)>>16))<<2;Fa=Ua>>16;Ea=Ua&65532;Ca=(c[q>>2]|0)+(((_(Fa,w)|0)+((_(Ea,w)|0)>>>16)>>13)+1>>1)+((_(Fa,s)|0)+((_(Ea,s)|0)>>16))|0;c[p>>2]=Ca;Da=c[t>>2]|0;c[p>>2]=Ca+((_(Da>>16,Ta)|0)+((_(Da&65535,Ta)|0)>>16));Ea=(((_(Fa,x)|0)+((_(Ea,x)|0)>>>16)>>13)+1>>1)+((_(Fa,u)|0)+((_(Ea,u)|0)>>16))|0;c[q>>2]=Ea;Fa=c[v>>2]|0;c[q>>2]=Ea+((_(Fa>>16,Ta)|0)+((_(Fa&65535,Ta)|0)>>16));Ua=Ua+16383>>14;b[Va>>1]=(Ua|0)>32767?32767:(Ua|0)<-32768?-32768:Ua;z=z+1|0}}while(0);Va=f+4600|0;p=Ga+((c[Va>>2]|0)*5|0)|0;s=c[Wa>>2]|0;while(1){q=s+-1|0;if((s|0)<=0){p=0;break}g[f+9356+(p+q<<2)>>2]=+(b[f+5128+(s<<1)>>1]|0);s=q}while(1){if((p|0)==8)break;Ua=f+9356+(Ga+(((c[Va>>2]|0)*5|0)+(_(p,c[Wa>>2]>>3)|0))<<2)|0;g[Ua>>2]=+g[Ua>>2]+ +(1-(p&2)|0)*9.999999974752427e-07;p=p+1|0}Ua=f+4712|0;c:do if(!(c[Ua>>2]|0)){V=c[f+5124>>2]|0;z=f+4620|0;Ta=c[z>>2]|0;s=Ta+(c[Wa>>2]|0)|0;x=c[Ya>>2]|0;w=s+x|0;x=f+9356+(Ga-x<<2)|0;q=f+4572|0;s=Ga+(s-(c[q>>2]|0))|0;pc(La,f+9356+(s<<2)|0,1,Ta);Ta=c[z>>2]|0;s=s+Ta|0;md(La+(Ta<<2)|0,f+9356+(s<<2)|0,(c[q>>2]|0)-(Ta<<1)<<2|0)|0;z=c[z>>2]|0;p=(c[q>>2]|0)-(z<<1)|0;pc(La+(Ta+p<<2)|0,f+9356+(s+p<<2)|0,2,z);q=c[q>>2]|0;z=f+4672|0;p=c[z>>2]|0;p=(p|0)<(q|0)?p+1|0:q;s=0;while(1){if((s|0)>=(p|0))break;g[fa+(s<<2)>>2]=+xc(La,La+(s<<2)|0,q-s|0);s=s+1|0}y=+g[fa>>2];y=y+(y*1.0000000474974513e-03+1.0);g[fa>>2]=y;v=c[z>>2]|0;p=v+1|0;q=0;while(1){if((q|0)>=(p|0))break;Ta=c[fa+(q<<2)>>2]|0;c[Sa+(q<<3)+4>>2]=Ta;c[Sa+(q<<3)>>2]=Ta;q=q+1|0}p=Sa+4|0;t=0;d:while(1){if((v|0)<=(t|0))break;q=t+1|0;r=+g[p>>2];r=-+g[Sa+(q<<3)>>2]/(r>9.999999717180685e-10?r:9.999999717180685e-10);g[ia+(t<<2)>>2]=r;s=v-t|0;u=0;while(1){if((u|0)>=(s|0)){t=q;continue d}Fa=Sa+(u+t+1<<3)|0;wa=+g[Fa>>2];Ta=Sa+(u<<3)+4|0;P=+g[Ta>>2];g[Fa>>2]=wa+P*r;g[Ta>>2]=P+wa*r;u=u+1|0}}wa=+g[p>>2];da=$a+868|0;g[da>>2]=y/(wa>1.0?wa:1.0);s=c[z>>2]|0;t=0;while(1){if((t|0)<(s|0))p=0;else break;while(1){if((p|0)==(t|0))break;c[Ka+(p<<2)>>2]=c[Ja+(p<<2)>>2];p=p+1|0}p=ia+(t<<2)|0;q=0;while(1){if((t|0)==(q|0))break;Ta=Ja+(q<<2)|0;g[Ta>>2]=+g[Ta>>2]+ +g[Ka+(t-q+-1<<2)>>2]*+g[p>>2];q=q+1|0}g[Ja+(t<<2)>>2]=-+g[p>>2];t=t+1|0}p=(c[z>>2]|0)+-1|0;r=.9900000095367432;q=0;while(1){if((q|0)>=(p|0))break;Ta=Ja+(q<<2)|0;g[Ta>>2]=+g[Ta>>2]*r;r=r*.9900000095367432;q=q+1|0}Ta=Ja+(p<<2)|0;g[Ta>>2]=+g[Ta>>2]*r;sc(ga,Ja,x,w,c[z>>2]|0);Ta=f+4797|0;do if((a[Ta>>0]|0)!=0?(c[f+4696>>2]|0)==0:0){B=.6000000238418579-+(c[z>>2]|0)*.004000000189989805-+(c[f+4556>>2]|0)*.10000000149011612*.00390625-+(a[f+4565>>0]>>1|0)*.15000000596046448-+(c[f+4744>>2]|0)*.10000000149011612*.000030517578125;Q=$a+228|0;ba=f+4794|0;ca=f+4796|0;R=f+12236|0;I=c[f+4568>>2]|0;A=+(c[f+4676>>2]|0)*.0000152587890625;T=c[Va>>2]|0;S=c[f+4668>>2]|0;Z=c[f+4604>>2]|0;v=_((Z*5|0)+20|0,T)|0;p=(Z*20|0)+80|0;F=(Z*40|0)+160|0;U=T*5|0;$=T<<1;Y=T*18|0;W=Y+-1|0;J=(T|0)==16;e:do if(J){q=v;while(1){u=q+-1|0;if((q|0)<=0)break;r=+g[ga+(u<<2)>>2];s=(g[k>>2]=r,c[k>>2]|0);t=(s&2130706432)>>>0>1249902592;if(!t){q=(s|0)<0;y=q?r+-8388608.0+8388608.0:r+8388608.0+-8388608.0;if(y==0.0)y=q?-0.0:0.0}else y=r;if((~~y|0)<=32767){if(!t){q=(s|0)<0;y=q?r+-8388608.0+8388608.0:r+8388608.0+-8388608.0;if(y==0.0)y=q?-0.0:0.0}else y=r;if((~~y|0)<-32768)q=-32768;else{if(!t){q=(s|0)<0;r=q?r+-8388608.0+8388608.0:r+8388608.0+-8388608.0;if(r==0.0)r=q?-0.0:0.0}q=~~r}}else q=32767;b[Ka+(u<<1)>>1]=q;q=u}s=ka;c[s>>2]=0;c[s+4>>2]=0;dc(ka,Ha,Ka,v);s=F;while(1){q=s+-1|0;if((s|0)<=0){q=ka;s=Ha;break e}g[Ma+(q<<2)>>2]=+(b[Ha+(q<<1)>>1]|0);s=q}}else{if((T|0)!=12){q=F;while(1){u=q+-1|0;if((q|0)<=0)break;r=+g[ga+(u<<2)>>2];s=(g[k>>2]=r,c[k>>2]|0);t=(s&2130706432)>>>0>1249902592;if(!t){q=(s|0)<0;y=q?r+-8388608.0+8388608.0:r+8388608.0+-8388608.0;if(y==0.0)y=q?-0.0:0.0}else y=r;if((~~y|0)<=32767){if(!t){q=(s|0)<0;y=q?r+-8388608.0+8388608.0:r+8388608.0+-8388608.0;if(y==0.0)y=q?-0.0:0.0}else y=r;if((~~y|0)<-32768)q=-32768;else{if(!t){q=(s|0)<0;r=q?r+-8388608.0+8388608.0:r+8388608.0+-8388608.0;if(r==0.0)r=q?-0.0:0.0}q=~~r}}else q=32767;b[Ha+(u<<1)>>1]=q;q=u}q=ka;s=Ha;break}q=v;while(1){u=q+-1|0;if((q|0)<=0)break;r=+g[ga+(u<<2)>>2];s=(g[k>>2]=r,c[k>>2]|0);t=(s&2130706432)>>>0>1249902592;if(!t){q=(s|0)<0;y=q?r+-8388608.0+8388608.0:r+8388608.0+-8388608.0;if(y==0.0)y=q?-0.0:0.0}else y=r;if((~~y|0)<=32767){if(!t){q=(s|0)<0;y=q?r+-8388608.0+8388608.0:r+8388608.0+-8388608.0;if(y==0.0)y=q?-0.0:0.0}else y=r;if((~~y|0)<-32768)q=-32768;else{if(!t){q=(s|0)<0;r=q?r+-8388608.0+8388608.0:r+8388608.0+-8388608.0;if(r==0.0)r=q?-0.0:0.0}q=~~r}}else q=32767;b[G+(u<<1)>>1]=q;q=u}c[ka>>2]=0;c[ka+4>>2]=0;c[ka+8>>2]=0;c[ka+12>>2]=0;c[ka+16>>2]=0;c[ka+20>>2]=0;c[Sa>>2]=c[ka>>2];c[Sa+4>>2]=c[ka+4>>2];c[Sa+8>>2]=c[ka+8>>2];c[Sa+12>>2]=c[ka+12>>2];C=ka+16|0;E=Sa+16|0;z=Ha;x=G;q=v;while(1){v=(q|0)<480?q:480;ec(C,E,x,31278,v);w=(((v+3+((v|0)<2?~v:-3)|0)>>>0)/3|0)<<1;s=z;t=Sa;u=v;while(1){if((u|0)<=2)break;za=c[t>>2]|0;Ba=t+4|0;Aa=c[Ba>>2]|0;Ca=t+8|0;Ea=c[Ca>>2]|0;Fa=t+12|0;Da=c[Fa>>2]|0;Da=(((za>>16)*4697|0)+(((za&65535)*4697|0)>>>16)+(((Aa>>16)*10739|0)+(((Aa&65535)*10739|0)>>>16))+(((Ea>>16)*8276|0)+(((Ea&65535)*8276|0)>>>16))+(((Da>>16)*1567|0)+(((Da&65535)*1567|0)>>>16))>>5)+1>>1;b[s>>1]=(Da|0)>32767?32767:(Da|0)<-32768?-32768:Da;Ba=c[Ba>>2]|0;Ca=c[Ca>>2]|0;Da=c[Fa>>2]|0;Ea=c[t+16>>2]|0;Ea=(((Ba>>16)*1567|0)+(((Ba&65535)*1567|0)>>>16)+(((Ca>>16)*8276|0)+(((Ca&65535)*8276|0)>>>16))+(((Da>>16)*10739|0)+(((Da&65535)*10739|0)>>>16))+(((Ea>>16)*4697|0)+(((Ea&65535)*4697|0)>>>16))>>5)+1>>1;b[s+2>>1]=(Ea|0)>32767?32767:(Ea|0)<-32768?-32768:Ea;s=s+4|0;t=Fa;u=u+-3|0}q=q-v|0;if((q|0)<=0)break;Fa=Sa+(v<<2)|0;c[Sa>>2]=c[Fa>>2];c[Sa+4>>2]=c[Fa+4>>2];c[Sa+8>>2]=c[Fa+8>>2];c[Sa+12>>2]=c[Fa+12>>2];z=z+(w<<1)|0;x=x+(v<<1)|0}s=Sa+(v<<2)|0;c[ka>>2]=c[s>>2];c[ka+4>>2]=c[s+4>>2];c[ka+8>>2]=c[s+8>>2];c[ka+12>>2]=c[s+12>>2];s=F;while(1){q=s+-1|0;if((s|0)<=0){q=ka;s=Ha;break e}g[Ma+(q<<2)>>2]=+(b[Ha+(q<<1)>>1]|0);s=q}}while(0);Fa=ka;c[Fa>>2]=0;c[Fa+4>>2]=0;dc(q,ma,s,F);s=p;while(1){q=s+-1|0;if((s|0)<=0)break;g[Qa+(q<<2)>>2]=+(b[ma+(q<<1)>>1]|0);s=q}while(1){q=p+-1|0;if((p|0)<=1)break;Fa=Qa+(q<<2)|0;g[Fa>>2]=+g[Fa>>2]+ +g[Qa+(p+-2<<2)>>2];p=q}hd(ha|0,0,Z*596|0)|0;p=Z>>1;q=la+256|0;x=ha+32|0;u=0;w=Qa+320|0;while(1){if((u|0)>=(p|0)){p=72;break}t=w+-32|0;ob(w,w+-288|0,la,40,65,V);wa=+g[q>>2];r=+wc(w,40);r=r+ +wc(t,40)+16.0e4;g[x>>2]=+g[x>>2]+wa*2.0/r;s=8;while(1){v=s+1|0;if((s|0)==72)break;Fa=t+-4|0;P=+g[Fa>>2];wa=+g[t+156>>2];wa=r+(P*P-wa*wa);Ea=ha+(v<<2)|0;g[Ea>>2]=+g[Ea>>2]+ +g[la+(71-s<<2)>>2]*2.0/wa;s=v;t=Fa;r=wa}u=u+1|0;w=w+160|0}while(1){if((p|0)<8)break;Fa=ha+(p<<2)|0;wa=+g[Fa>>2];g[Fa>>2]=wa-wa*+(p|0)*.000244140625;p=p+-1|0}w=S<<1;q=w+4|0;p=0;while(1){if((p|0)>=(q|0)){t=1;break}c[Ia+(p<<2)>>2]=p;p=p+1|0}while(1){if((t|0)>=(q|0))break;p=c[ha+(t+8<<2)>>2]|0;r=(c[k>>2]=p,+g[k>>2]);s=t;while(1){u=s+-1|0;if((s|0)<=0)break;y=+g[ha+(s+7<<2)>>2];if(!(r>y))break;g[ha+(s+8<<2)>>2]=y;c[Ia+(s<<2)>>2]=c[Ia+(u<<2)>>2];s=u}c[ha+(s+8<<2)>>2]=p;c[Ia+(s<<2)>>2]=t;t=t+1|0}v=ha+(w+11<<2)|0;p=w+2|0;t=q;while(1){if((t|0)>=65)break;s=c[ha+(t+8<<2)>>2]|0;r=(c[k>>2]=s,+g[k>>2]);if(r>+g[v>>2]){u=p;while(1){if((u|0)<=-1)break;y=+g[ha+(u+8<<2)>>2];if(!(r>y))break;g[ha+(u+9<<2)>>2]=y;c[Ia+(u+1<<2)>>2]=c[Ia+(u<<2)>>2];u=u+-1|0}c[ha+(u+9<<2)>>2]=s;c[Ia+(u+1<<2)>>2]=t}t=t+1|0}r=+g[x>>2];do if(r<.20000000298023224){hd(Q|0,0,Z<<2|0)|0;g[R>>2]=0.0;b[ba>>1]=0;a[ca>>0]=0;p=0}else{r=A*r;p=0;while(1){if((p|0)>=(q|0))break;if(!(+g[ha+(p+8<<2)>>2]>r)){q=p;break}Fa=Ia+(p<<2)|0;c[Fa>>2]=(c[Fa>>2]<<1)+16;p=p+1|0}p=11;while(1){if((p|0)==148){p=0;break}b[ja+(p<<1)>>1]=0;p=p+1|0}while(1){if((p|0)>=(q|0)){p=146;break}b[ja+(c[Ia+(p<<2)>>2]<<1)>>1]=1;p=p+1|0}while(1){if((p|0)<16){H=0;q=16;break}Fa=p+-1|0;Ea=ja+(p<<1)|0;b[Ea>>1]=(e[Ea>>1]|0)+((e[ja+(Fa<<1)>>1]|0)+(e[ja+(p+-2<<1)>>1]|0));p=Fa}while(1){if((q|0)==144){p=146;break}p=q+1|0;if((b[ja+(p<<1)>>1]|0)<=0){q=p;continue}c[Ia+(H<<2)>>2]=q;H=H+1|0;q=p}while(1){if((p|0)<16){p=0;q=16;break}Fa=p+-1|0;Ea=ja+(p<<1)|0;b[Ea>>1]=(e[Ea>>1]|0)+((e[ja+(Fa<<1)>>1]|0)+(e[ja+(p+-2<<1)>>1]|0)+(e[ja+(p+-3<<1)>>1]|0));p=Fa}while(1){if((q|0)==147)break;if((b[ja+(q<<1)>>1]|0)>0){b[ja+(p<<1)>>1]=q+65534;p=p+1|0}q=q+1|0}hd(ha|0,0,2384)|0;w=(T|0)==8;if(w){t=0;v=ga+640|0}else{t=0;v=Ma+640|0}while(1){if((t|0)>=(Z|0))break;y=+wc(v,40)+1.0;u=0;while(1){if((u|0)>=(p|0))break;s=b[ja+(u<<1)>>1]|0;q=v+(0-s<<2)|0;r=+xc(q,v,40);if(r>0.0)r=r*2.0/(+wc(q,40)+y);else r=0.0;g[ha+(t*596|0)+(s<<2)>>2]=r;u=u+1|0}t=t+1|0;v=v+160|0}if((I|0)>0){Fa=(T|0)==12?(I<<1|0)/3|0:J?I>>1:I;p=Fa;L=+ad(+(Fa|0))*3.32192809488736}else{p=I;L=0.0}J=(Z|0)==4;if(J){F=36283;G=11;E=w&(S|0)>0?11:3}else{F=36249;G=3;E=3}D=+(Z|0);K=D*.20000000298023224;z=(p|0)>0;B=D*B;q=0;v=0;w=-998637568;C=-1;x=0;while(1){if((x|0)>=(H|0))break;u=c[Ia+(x<<2)>>2]|0;s=0;while(1){if((s|0)>=(E|0)){s=0;t=-998637568;p=0;break}p=na+(s<<2)|0;g[p>>2]=0.0;r=0.0;t=0;while(1){if((t|0)>=(Z|0))break;wa=r+ +g[ha+(t*596|0)+(u+(a[F+((_(t,G)|0)+s)>>0]|0)<<2)>>2];g[p>>2]=wa;r=wa;t=t+1|0}s=s+1|0}while(1){if((p|0)>=(E|0))break;r=+g[na+(p<<2)>>2];Fa=r>(c[k>>2]=t,+g[k>>2]);s=Fa?p:s;t=Fa?(g[k>>2]=r,c[k>>2]|0):t;p=p+1|0}y=+ad(+(u|0))*3.32192809488736;A=(c[k>>2]=t,+g[k>>2]);r=A-K*y;if(z){wa=y-L;wa=wa*wa;r=r-K*+g[R>>2]*wa/(wa+.5)}Ea=(g[k>>2]=r,c[k>>2]|0);Fa=r>(c[k>>2]=w,+g[k>>2])&A>B;q=Fa?s:q;v=Fa?t:v;w=Fa?Ea:w;C=Fa?u:C;x=x+1|0}if((C|0)==-1){c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;g[R>>2]=0.0;b[ba>>1]=0;a[ca>>0]=0;p=0;break}g[R>>2]=(c[k>>2]=v,+g[k>>2])/D;if((T|0)>8){if((T|0)==12){p=(C<<16>>16)*3|0;p=(p>>1)+(p&1)|0}else p=C<<1;if(($|0)>(W|0))if((p|0)>($|0))v=$;else v=(p|0)<(W|0)?W:p;else if((p|0)>(W|0))v=W;else v=(p|0)<($|0)?$:p;H=v+-2|0;H=(H|0)>($|0)?H:$;I=v+2|0;I=(I|0)<(W|0)?I:W;if(J){x=36327;z=36463+(S<<3)|0;C=34;F=a[36487+S>>0]|0}else{x=36255;z=36279;C=12;F=12}w=ga+(T*20<<2)|0;E=0;G=w;while(1){if((E|0)>=(Z|0))break;p=E<<1;u=a[z+p>>0]|0;p=a[z+(p|1)>>0]|0;ob(G,G+(0-(H+p)<<2)|0,Sa,U,p-u+1|0,V);q=0;s=u;while(1){if((p|0)<(s|0))break;c[Ra+(q<<2)>>2]=c[Sa+(p-s<<2)>>2];q=q+1|0;s=s+1|0}p=_(E,C)|0;s=0;while(1){if((s|0)>=(F|0))break;q=(a[x+(p+s)>>0]|0)-u|0;t=0;while(1){if((t|0)==5)break;c[Na+(E*680|0)+(s*20|0)+(t<<2)>>2]=c[Ra+(q+t<<2)>>2];t=t+1|0}s=s+1|0}E=E+1|0;G=G+(U<<2)|0}if(J){x=36327;z=36463+(S<<3)|0;C=34;F=a[36487+S>>0]|0}else{x=36255;z=36279;C=12;F=12}E=0;while(1){if((E|0)>=(Z|0))break;q=E<<1;u=a[z+q>>0]|0;p=H+u|0;r=+wc(w+(0-p<<2)|0,U)+.001;g[Ra>>2]=r;q=(a[z+(q|1)>>0]|0)-u+1|0;s=1;while(1){if((s|0)>=(q|0))break;P=+g[w+(U-s-p<<2)>>2];wa=+g[w+(0-(p+s)<<2)>>2];wa=r-P*P+wa*wa;g[Ra+(s<<2)>>2]=wa;r=wa;s=s+1|0}p=_(E,C)|0;s=0;while(1){if((s|0)>=(F|0))break;q=(a[x+(p+s)>>0]|0)-u|0;t=0;while(1){if((t|0)==5)break;c[Oa+(E*680|0)+(s*20|0)+(t<<2)>>2]=c[Ra+(q+t<<2)>>2];t=t+1|0}s=s+1|0}E=E+1|0;w=w+(U<<2)|0}B=.05000000074505806/+(v|0);if(J){C=36327;E=34;z=a[36487+S>>0]|0}else{C=36255;E=12;z=12}A=+wc(ga+(T*20<<2)|0,_(Z,U)|0)+1.0;q=0;p=-998637568;x=0;w=H;while(1){if((w|0)>(I|0))break;else{s=v;u=0}while(1){if((u|0)<(z|0)){r=0.0;y=A;t=0}else break;while(1){if((t|0)>=(Z|0))break;r=r+ +g[Na+(t*680|0)+(u*20|0)+(x<<2)>>2];y=y+ +g[Oa+(t*680|0)+(u*20|0)+(x<<2)>>2];t=t+1|0}if(r>0.0)r=r*2.0/y*(1.0-B*+(u|0));else r=0.0;t=(g[k>>2]=r,c[k>>2]|0);if(r>(c[k>>2]=p,+g[k>>2])){Fa=(w+(a[36327+u>>0]|0)|0)>(W|0);q=Fa?q:u;p=Fa?p:t;s=Fa?s:w}u=u+1|0}x=x+1|0;v=s;w=w+1|0}t=($|0)>(Y|0);u=0;while(1){if((u|0)>=(Z|0))break;p=v+(a[C+((_(u,E)|0)+q)>>0]|0)|0;s=$a+228+(u<<2)|0;c[s>>2]=p;do if(t){if((p|0)>($|0)){p=$;break}p=(p|0)<(Y|0)?Y:p}else{if((p|0)>(Y|0)){p=Y;break}p=(p|0)<($|0)?$:p}while(0);c[s>>2]=p;u=u+1|0}p=v-$|0}else{p=0;while(1){if((p|0)>=(Z|0))break;Ea=C+(a[F+((_(p,G)|0)+q)>>0]|0)|0;Fa=$a+228+(p<<2)|0;c[Fa>>2]=Ea;c[Fa>>2]=(Ea|0)>144?144:(Ea|0)<16?16:Ea;p=p+1|0}p=C+65520|0}b[ba>>1]=p;a[ca>>0]=q;p=1}while(0);if(p){a[Ta>>0]=2;break}else{a[Ta>>0]=1;break}}else gb=255;while(0);if((gb|0)==255){Fa=$a+228|0;c[Fa>>2]=0;c[Fa+4>>2]=0;c[Fa+8>>2]=0;c[Fa+12>>2]=0;b[f+4794>>1]=0;a[f+4796>>0]=0;g[f+12236>>2]=0.0}w=f+9356+(Ga-(c[f+4624>>2]|0)<<2)|0;za=f+4748|0;r=+(c[za>>2]|0)*.0078125;J=f+4728|0;A=+((c[J>>2]|0)+(c[f+4732>>2]|0)|0)*.5*.000030517578125;Aa=$a+856|0;g[Aa>>2]=A;y=1.0/(+X(+-((r+-20.0)*.25))+1.0);Ea=$a+860|0;g[Ea>>2]=y;if(!(c[f+4708>>2]|0)){wa=1.0-+(c[f+4556>>2]|0)*.00390625;r=r-y*2.0*(A*.5+.5)*wa*wa}if((a[Ta>>0]|0)==2){wa=r+ +g[f+12236>>2]*2.0;a[f+4798>>0]=0;g[$a+864>>2]=0.0}else{B=r+(+(c[za>>2]|0)*-.4000000059604645*.0078125+6.0)*(1.0-A);u=c[Va>>2]<<1;v=((c[f+4604>>2]<<16>>16)*5|0)/2|0;A=+(u|0);r=0.0;q=0;s=ea;t=0;while(1){if((t|0)>=(v|0))break;y=+ad(A+ +wc(s,u))*3.32192809488736;p=(g[k>>2]=y,c[k>>2]|0);if((t|0)>0)r=r+ +N(+(y-(c[k>>2]=q,+g[k>>2])));q=p;s=s+(u<<2)|0;t=t+1|0}wa=1.0/(+X(+-((r+-5.0)*.4000000059604645))+1.0);Fa=$a+864|0;g[Fa>>2]=wa;a[f+4798>>0]=wa>.75?0:1;wa=B+(+g[Fa>>2]+-.5)*2.0}L=+g[da>>2]*1.0000000474974513e-03;L=.949999988079071/(L*L+1.0);r=+g[Ea>>2];P=(1.0-r*.75)*.009999999776482582;M=L+P;P=(L-P)/M;Da=f+4704|0;p=c[Da>>2]|0;if((p|0)>0)L=+(p|0)*.0000152587890625+r*.009999999776482582;else L=0.0;Fa=f+4604|0;G=f+4628|0;Ba=f+4612|0;Ca=f+4660|0;B=L;H=fa+4|0;D=-L;K=1.0-L*L;I=0;q=w;while(1){p=c[Fa>>2]|0;if((I|0)>=(p|0))break;ya=c[Va>>2]|0;s=ya*3|0;w=((c[G>>2]|0)-s|0)/2|0;pc(Ma,q,1,w);md(Ma+(w<<2)|0,q+(w<<2)|0,ya*12|0)|0;s=w+s|0;pc(Ma+(s<<2)|0,q+(s<<2)|0,2,w);q=q+(c[Ba>>2]<<2)|0;w=c[G>>2]|0;s=c[Ca>>2]|0;f:do if((c[Da>>2]|0)>0){hd(Sa|0,0,136)|0;hd(Ra|0,0,136)|0;t=Sa+(s<<3)|0;u=Ra+(s<<3)|0;r=0.0;v=0;while(1){if((v|0)>=(w|0))break;p=0;y=+g[Ma+(v<<2)>>2];while(1){if((p|0)>=(s|0))break;xa=p|1;va=Sa+(xa<<3)|0;jb=+h[va>>3];A=r+B*(jb-y);h[Sa+(p<<3)>>3]=y;ya=Ra+(p<<3)|0;h[ya>>3]=+h[ya>>3]+ +h[Sa>>3]*y;ya=p+2|0;ib=+h[Sa+(ya<<3)>>3];h[va>>3]=A;xa=Ra+(xa<<3)|0;h[xa>>3]=+h[xa>>3]+ +h[Sa>>3]*A;r=ib;p=ya;y=jb+B*(ib-A)}h[t>>3]=y;r=+h[Sa>>3];h[u>>3]=+h[u>>3]+r*y;v=v+1|0}p=s+1|0;s=0;while(1){if((s|0)>=(p|0))break;g[fa+(s<<2)>>2]=+h[Ra+(s<<3)>>3];s=s+1|0}}else{p=(s|0)<(w|0)?s+1|0:w;s=0;while(1){if((s|0)>=(p|0))break f;g[fa+(s<<2)>>2]=+xc(Ma,Ma+(s<<2)|0,w-s|0);s=s+1|0}}while(0);A=+g[fa>>2];A=A+A*4.999999873689376e-05;g[fa>>2]=A;E=I<<4;F=$a+500+(E<<2)|0;u=c[Ca>>2]|0;y=A*9.999999960041972e-13+9.999999717180685e-10;g[Sa>>2]=y;g[Ra>>2]=A;A=y>A?y:A;jb=+g[H>>2];ib=jb/A;g[F>>2]=ib;jb=A-ib*jb;g[Ra>>2]=jb;p=c[(y>jb?Sa:Ra)>>2]|0;c[Ra>>2]=p;w=1;while(1){if((w|0)>=(u|0))break;v=w+1|0;s=0;t=c[fa+(v<<2)>>2]|0;while(1){if((w|0)==(s|0))break;ya=(g[k>>2]=(c[k>>2]=t,+g[k>>2])-+g[$a+500+(E+s<<2)>>2]*+g[fa+(w-s<<2)>>2],c[k>>2]|0);s=s+1|0;t=ya}jb=(c[k>>2]=t,+g[k>>2]);ib=(c[k>>2]=p,+g[k>>2]);r=jb/ib;jb=ib-r*jb;g[Ra>>2]=jb;p=c[(y>jb?Sa:Ra)>>2]|0;c[Ra>>2]=p;s=w>>1;t=0;while(1){if((t|0)>=(s|0))break;ya=$a+500+(E+t<<2)|0;xa=$a+500+(E+(w-t+-1)<<2)|0;jb=+g[xa>>2];g[xa>>2]=jb-r*+g[ya>>2];g[ya>>2]=+g[ya>>2]-r*jb;t=t+1|0}if(w&1){ya=$a+500+(E+s<<2)|0;jb=+g[ya>>2];g[ya>>2]=jb-r*jb}g[$a+500+(E+w<<2)>>2]=r;w=v}y=+O(+(c[k>>2]=p,+g[k>>2]));s=$a+(I<<2)|0;g[s>>2]=y;if((c[Da>>2]|0)>0){t=c[Ca>>2]|0;p=c[$a+500+(E+(t+-1)<<2)>>2]|0;t=t+-2|0;while(1){r=(c[k>>2]=p,+g[k>>2])*D;if((t|0)<=-1)break;p=(g[k>>2]=r+ +g[$a+500+(E+t<<2)>>2],c[k>>2]|0);t=t+-1|0}g[s>>2]=y*(1.0/(1.0-r))}p=(c[Ca>>2]|0)+-1|0;r=M;s=0;while(1){if((s|0)>=(p|0))break;ya=$a+500+(E+s<<2)|0;g[ya>>2]=+g[ya>>2]*r;r=r*M;s=s+1|0}C=$a+500+(E+p<<2)|0;g[C>>2]=+g[C>>2]*r;C=$a+244+(E<<2)|0;md(C|0,F|0,c[Ca>>2]<<2|0)|0;p=(c[Ca>>2]|0)+-1|0;r=P;s=0;while(1){if((s|0)>=(p|0))break;ya=$a+244+(E+s<<2)|0;g[ya>>2]=+g[ya>>2]*r;r=r*P;s=s+1|0}z=$a+244+(E+p<<2)|0;g[z>>2]=+g[z>>2]*r;jb=+yc(F,c[Ca>>2]|0);g[$a+788+(I<<2)>>2]=1.0-(1.0-jb/+yc(C,c[Ca>>2]|0))*.699999988079071;z=c[Ca>>2]|0;s=z;while(1){p=s+-1|0;if((s|0)<=1)break;ya=s+-2|0;xa=$a+500+(E+ya<<2)|0;g[xa>>2]=+g[xa>>2]-L*+g[$a+500+(E+p<<2)>>2];ya=$a+244+(E+ya<<2)|0;g[ya>>2]=+g[ya>>2]-L*+g[$a+244+(E+p<<2)>>2];s=p}y=K/(L*+g[F>>2]+1.0);r=K/(L*+g[C>>2]+1.0);p=0;while(1){if((p|0)>=(z|0))break;ya=$a+500+(E+p<<2)|0;g[ya>>2]=+g[ya>>2]*y;ya=$a+244+(E+p<<2)|0;g[ya>>2]=+g[ya>>2]*r;p=p+1|0}v=z+-1|0;w=$a+500+(E+v<<2)|0;x=$a+244+(E+v<<2)|0;p=0;u=0;while(1){if((u|0)<10){t=p;p=-1082130432;s=0}else break;while(1){if((s|0)>=(z|0))break;jb=+N(+(+g[$a+500+(E+s<<2)>>2]));A=+N(+(+g[$a+244+(E+s<<2)>>2]));A=jb>A?jb:A;ya=A>(c[k>>2]=p,+g[k>>2]);t=ya?s:t;p=ya?(g[k>>2]=A,c[k>>2]|0):p;s=s+1|0}A=(c[k>>2]=p,+g[k>>2]);if(!(A<=3.999000072479248))p=1;else break;while(1){if((p|0)>=(z|0))break;ya=p+-1|0;xa=$a+500+(E+ya<<2)|0;g[xa>>2]=+g[xa>>2]+L*+g[$a+500+(E+p<<2)>>2];ya=$a+244+(E+ya<<2)|0;g[ya>>2]=+g[ya>>2]+L*+g[$a+244+(E+p<<2)>>2];p=p+1|0}y=1.0/y;r=1.0/r;p=0;while(1){if((p|0)>=(z|0))break;ya=$a+500+(E+p<<2)|0;g[ya>>2]=+g[ya>>2]*y;ya=$a+244+(E+p<<2)|0;g[ya>>2]=+g[ya>>2]*r;p=p+1|0}y=.9900000095367432-(+(u|0)*.10000000149011612+.800000011920929)*(A+-3.999000072479248)/(A*+(t+1|0));r=y;p=0;while(1){if((p|0)>=(v|0))break;ya=$a+500+(E+p<<2)|0;g[ya>>2]=+g[ya>>2]*r;r=r*y;p=p+1|0}g[w>>2]=+g[w>>2]*r;r=y;p=0;while(1){if((p|0)>=(v|0))break;ya=$a+244+(E+p<<2)|0;g[ya>>2]=+g[ya>>2]*r;r=r*y;p=p+1|0}g[x>>2]=+g[x>>2]*r;p=z;while(1){s=p+-1|0;if((p|0)<=1)break;ya=p+-2|0;xa=$a+500+(E+ya<<2)|0;g[xa>>2]=+g[xa>>2]-L*+g[$a+500+(E+s<<2)>>2];ya=$a+244+(E+ya<<2)|0;g[ya>>2]=+g[ya>>2]-L*+g[$a+244+(E+s<<2)>>2];p=s}y=K/(L*+g[F>>2]+1.0);r=K/(L*+g[C>>2]+1.0);p=0;while(1){if((p|0)>=(z|0))break;ya=$a+500+(E+p<<2)|0;g[ya>>2]=+g[ya>>2]*y;ya=$a+244+(E+p<<2)|0;g[ya>>2]=+g[ya>>2]*r;p=p+1|0}p=t;u=u+1|0}I=I+1|0}r=+$c(wa*-.1599999964237213);q=0;while(1){if((q|0)>=(p|0))break;p=$a+(q<<2)|0;g[p>>2]=+g[p>>2]*r+1.2483305931091309;p=c[Fa>>2]|0;q=q+1|0}r=+g[Ea>>2]*.10000000149011612+1.0499999523162842;q=0;while(1){if((q|0)>=(p|0))break;p=$a+788+(q<<2)|0;g[p>>2]=+g[p>>2]*r;p=c[Fa>>2]|0;q=q+1|0}ya=f+4556|0;r=((+(c[J>>2]|0)*.000030517578125+-1.0)*.5+1.0)*4.0*(+(c[ya>>2]|0)*.00390625);g:do if((a[Ta>>0]|0)==2){q=0;while(1){if((q|0)>=(p|0))break;jb=.20000000298023224/+(c[Va>>2]|0)+3.0/+(c[$a+228+(q<<2)>>2]|0);g[$a+756+(q<<2)>>2]=jb+-1.0;g[$a+772+(q<<2)>>2]=1.0-jb-jb*r;p=c[Fa>>2]|0;q=q+1|0}D=-.25-+(c[ya>>2]|0)*.26249998807907104*.00390625}else{jb=1.2999999523162842/+(c[Va>>2]|0);s=$a+756|0;g[s>>2]=jb+-1.0;t=$a+772|0;g[t>>2]=1.0-jb-jb*r*.6000000238418579;q=1;while(1){p=c[Fa>>2]|0;if((q|0)>=(p|0)){D=-.25;break g}c[$a+756+(q<<2)>>2]=c[s>>2];c[$a+772+(q<<2)>>2]=c[t>>2];q=q+1|0}}while(0);r=1.0-+g[Ea>>2];y=+g[f+12236>>2];A=+g[Aa>>2];B=r*.10000000149011612*y+(1.0-A)*.10000000149011612;if((a[Ta>>0]|0)==2)r=((1.0-r*A)*.20000000298023224+.30000001192092896)*+O(+y);else r=0.0;s=f+7204|0;t=f+7208|0;u=f+7212|0;q=0;while(1){if((q|0)>=(p|0))break;jb=+g[s>>2];jb=jb+(B-jb)*.4000000059604645;g[s>>2]=jb;g[$a+804+(q<<2)>>2]=jb;jb=+g[t>>2];jb=jb+(r-jb)*.4000000059604645;g[t>>2]=jb;g[$a+836+(q<<2)>>2]=jb;jb=+g[u>>2];jb=jb+(D-jb)*.4000000059604645;g[u>>2]=jb;g[$a+820+(q<<2)>>2]=jb;p=c[Fa>>2]|0;q=q+1|0}q=0;while(1){p=c[Fa>>2]|0;if((q|0)>=(p|0))break;jb=1.0/+g[$a+(q<<2)>>2];g[Ia+(q<<2)>>2]=jb;g[ja+(q<<2)>>2]=jb*jb;q=q+1|0}if((a[Ta>>0]|0)==2){I=c[Ba>>2]|0;J=$a+144|0;D=+(I|0)*.009999999776482582;q=na;E=J;G=ga+(c[Ya>>2]<<2)|0;H=0;while(1){if((H|0)>=(p|0))break;w=-2-(c[$a+228+(H<<2)>>2]|0)|0;v=w+4|0;x=G+(v<<2)|0;r=+wc(x,I);F=q;g[F>>2]=r;q=1;while(1){if((q|0)==5)break;ib=+g[G+(v-q<<2)>>2];jb=+g[G+(v+(I-q)<<2)>>2];jb=r+(ib*ib-jb*jb);g[F+(q*6<<2)>>2]=jb;r=jb;q=q+1|0}s=G+(w+3<<2)|0;t=1;while(1){if((t|0)==5)break;r=+xc(x,s,I);jb=r;g[F+(t*5<<2)>>2]=jb;g[F+(t<<2)>>2]=jb;q=5-t|0;u=1;while(1){if((u|0)>=(q|0))break;xa=I-u|0;jb=r+(+g[G+(v-u<<2)>>2]*+g[s+(0-u<<2)>>2]-+g[G+(v+xa<<2)>>2]*+g[s+(xa<<2)>>2]);ib=jb;xa=t+u|0;g[F+((xa*5|0)+u<<2)>>2]=ib;g[F+((u*5|0)+xa<<2)>>2]=ib;r=jb;u=u+1|0}s=s+-4|0;t=t+1|0}q=G+(w+4<<2)|0;s=0;while(1){if((s|0)==5)break;g[ha+(s<<2)>>2]=+xc(q,G,I);q=q+-4|0;s=s+1|0}r=+wc(G,I);z=la+(H<<2)|0;g[z>>2]=r;C=F+96|0;r=(r+1.0+ +g[F>>2]+ +g[C>>2])*.01666666753590107;q=0;while(1){if((q|0)==5)break;xa=F+(q*6<<2)|0;g[xa>>2]=+g[xa>>2]+r;q=q+1|0}g[z>>2]=+g[z>>2]+r;A=(+g[F>>2]+ +g[C>>2])*4.999999873689376e-06;q=1;s=0;h:while(1){if((s|0)<5&(q|0)==1)x=0;else break;i:while(1){if((x|0)>=5){gb=390;break}w=x*5|0;t=x*6|0;q=0;r=+g[F+(t<<2)>>2];while(1){if((q|0)==(x|0))break;ib=+g[Ra+(w+q<<2)>>2];jb=ib*+g[Ja+(q<<2)>>2];g[Ka+(q<<2)>>2]=jb;q=q+1|0;r=r-ib*jb}c[Sa>>2]=x;if(r<A)break;g[Ja+(x<<2)>>2]=r;y=1.0/r;g[Ma+(x<<2)>>2]=y;g[Ra+(t<<2)>>2]=1.0;t=x+1|0;u=Ra+(t*5<<2)|0;q=x;while(1){v=q+1|0;c[Sa>>2]=v;if((q|0)==4){x=t;continue i}else{q=0;r=0.0}while(1){if((q|0)==(x|0))break;jb=r+ +g[u+(q<<2)>>2]*+g[Ka+(q<<2)>>2];q=q+1|0;r=jb}g[Ra+((v*5|0)+x<<2)>>2]=(+g[F+(w+v<<2)>>2]-r)*y;u=u+20|0;q=v}}if((gb|0)==390){gb=0;q=0;s=s+1|0;continue}s=s+1|0;r=+(s|0)*A-r;q=0;while(1){c[Sa>>2]=q;if((q|0)>=5){q=1;continue h}xa=F+(q*6<<2)|0;g[xa>>2]=+g[xa>>2]+r;q=(c[Sa>>2]|0)+1|0}}s=0;while(1){if((s|0)==5){q=0;break}q=s*5|0;t=0;r=0.0;while(1){if((t|0)==(s|0))break;jb=r+ +g[Ra+(q+t<<2)>>2]*+g[ia+(t<<2)>>2];t=t+1|0;r=jb}g[ia+(s<<2)>>2]=+g[ha+(s<<2)>>2]-r;s=s+1|0}while(1){if((q|0)==5)break;xa=ia+(q<<2)|0;g[xa>>2]=+g[xa>>2]*+g[Ma+(q<<2)>>2];q=q+1|0}c[Sa>>2]=5;v=E;q=5;while(1){u=q+-1|0;if((q|0)<=0)break;t=c[Sa>>2]|0;s=t;r=0.0;while(1){q=s+-1|0;if((q|0)<=(u|0))break;jb=+g[Ra+(u+(_(q,t)|0)<<2)>>2];s=q;r=r+jb*+g[v+(q<<2)>>2]}g[v+(u<<2)>>2]=+g[ia+(u<<2)>>2]-r;q=u}B=+g[z>>2];q=0;A=(+g[F>>2]+ +g[C>>2])*9.99999993922529e-09;u=0;while(1){if((u|0)<10){q=0;r=0.0}else break;while(1){c[Sa>>2]=q;if((q|0)==5)break;jb=r+ +g[ha+(q<<2)>>2]*+g[v+(q<<2)>>2];q=q+1|0;r=jb}y=B-r*2.0;t=0;while(1){q=(g[k>>2]=y,c[k>>2]|0);c[Sa>>2]=t;if((t|0)==5)break;else{r=0.0;s=t}while(1){q=s+1|0;if((s|0)==4)break;r=r+ +g[F+(t+(q*5|0)<<2)>>2]*+g[v+(q<<2)>>2];s=q}jb=+g[v+(t<<2)>>2];y=y+jb*(r*2.0+ +g[F+(t*6<<2)>>2]*jb);t=t+1|0}if(y>0.0)break;else s=0;while(1){c[Sa>>2]=s;if((s|0)>=5)break;xa=F+(s*6<<2)|0;g[xa>>2]=+g[xa>>2]+A;s=(c[Sa>>2]|0)+1|0}A=A*2.0;u=u+1|0}q=(u|0)==10?1065353216:q;c[ka+(H<<2)>>2]=q;r=+g[ja+(H<<2)>>2];r=r/((c[k>>2]=q,+g[k>>2])*r+D);q=0;while(1){if((q|0)>=24){q=24;break}xa=F+(q<<2)|0;g[xa>>2]=+g[xa>>2]*r;xa=F+((q|1)<<2)|0;g[xa>>2]=+g[xa>>2]*r;xa=F+((q|2)<<2)|0;g[xa>>2]=+g[xa>>2]*r;xa=F+((q|3)<<2)|0;g[xa>>2]=+g[xa>>2]*r;q=q+4|0}while(1){if((q|0)==25)break;xa=F+(q<<2)|0;g[xa>>2]=+g[xa>>2]*r;q=q+1|0}c[ma+(H<<2)>>2]=c[F+48>>2];q=F+100|0;E=v+20|0;G=G+(I<<2)|0;H=H+1|0}xa=$a+872|0;r=9.999999974752427e-07;y=0.0;q=0;while(1){if((q|0)>=(p|0))break;jb=+g[ja+(q<<2)>>2];r=r+ +g[ka+(q<<2)>>2]*jb;y=y+ +g[la+(q<<2)>>2]*jb;q=q+1|0}g[xa>>2]=+ad(y/r)*3.32192809488736*3.0;q=J;u=0;while(1){if((u|0)>=(p|0)){q=0;y=1.0000000474974513e-03;break}t=Qa+(u<<2)|0;g[t>>2]=0.0;r=0.0;s=0;while(1){if((s|0)==5)break;jb=r+ +g[q+(s<<2)>>2];g[t>>2]=jb;r=jb;s=s+1|0}q=q+20|0;u=u+1|0}while(1){if((q|0)>=(p|0)){r=0.0;q=0;break}jb=y+ +g[ma+(q<<2)>>2];q=q+1|0;y=jb}while(1){if((q|0)>=(p|0))break;r=r+ +g[Qa+(q<<2)>>2]*+g[ma+(q<<2)>>2];q=q+1|0}B=r/y;q=J;t=0;while(1){if((t|0)>=(p|0))break;y=+g[ma+(t<<2)>>2]+.10000000149011612;A=B-+g[Qa+(t<<2)>>2];s=0;r=0.0;while(1){if((s|0)==5)break;jb=+g[q+(s<<2)>>2];jb=jb>.10000000149011612?jb:.10000000149011612;g[Ha+(s<<2)>>2]=jb;s=s+1|0;r=r+jb}r=.10000000149011612/y*A/r;s=0;while(1){if((s|0)==5)break;va=q+(s<<2)|0;g[va>>2]=+g[va>>2]+ +g[Ha+(s<<2)>>2]*r;s=s+1|0}q=q+20|0;t=t+1|0}ta=f+4800|0;t=c[f+4684>>2]|0;u=c[f+4680>>2]|0;ua=c[Fa>>2]|0;va=ua*5|0;q=0;while(1){if((q|0)>=(va|0))break;r=+g[$a+144+(q<<2)>>2]*16384.0;p=(g[k>>2]=r,c[k>>2]|0);if((p&2130706432)>>>0<=1249902592){p=(p|0)<0;r=p?r+-8388608.0+8388608.0:r+8388608.0+-8388608.0;if(r==0.0)r=p?-0.0:0.0}b[Ra+(q<<1)>>1]=~~r;q=q+1|0}ra=f+4772|0;sa=f+4688|0;q=ua*25|0;s=0;while(1){if((s|0)>=(q|0))break;r=+g[na+(s<<2)>>2]*262144.0;p=(g[k>>2]=r,c[k>>2]|0);if((p&2130706432)>>>0<=1249902592){p=(p|0)<0;r=p?r+-8388608.0+8388608.0:r+8388608.0+-8388608.0;if(r==0.0)r=p?-0.0:0.0}c[Ma+(s<<2)>>2]=~~r;s=s+1|0}pa=Ra;qa=Ma;oa=t<<16>>16;ma=(u|0)!=0;v=0;q=0;p=2147483647;na=0;while(1){if((na|0)>=3)break;ha=c[23104+(na<<2)>>2]|0;ia=a[32818+na>>0]|0;ja=c[23116+(na<<2)>>2]|0;ka=c[23092+(na<<2)>>2]|0;t=qa;s=pa;u=q;fa=0;ga=0;la=c[sa>>2]|0;while(1){if((ga|0)>=(ua|0))break;da=(Xb(5333-la+896|0)|0)+-51|0;ea=Sa+ga|0;Z=s+2|0;$=s+4|0;ba=s+6|0;ca=s+8|0;C=t+4|0;E=t+8|0;F=t+12|0;G=t+16|0;H=t+28|0;I=t+32|0;J=t+36|0;Q=t+24|0;R=t+52|0;S=t+56|0;T=t+48|0;U=t+76|0;V=t+72|0;W=t+96|0;w=ha;Y=u;x=2147483647;z=0;while(1){if((z|0)>=(ia|0))break;u=d[ja+z>>0]|0;nb=_(oa,d[ka+z>>0]|0)|0;qb=c[C>>2]|0;kb=(e[Z>>1]|0)-(a[w+1>>0]<<7)<<16>>16;qb=(_(qb>>16,kb)|0)+((_(qb&65535,kb)|0)>>16)|0;rb=c[E>>2]|0;mb=(e[$>>1]|0)-(a[w+2>>0]<<7)<<16>>16;rb=qb+((_(rb>>16,mb)|0)+((_(rb&65535,mb)|0)>>16))|0;qb=c[F>>2]|0;lb=(e[ba>>1]|0)-(a[w+3>>0]<<7)<<16>>16;qb=rb+((_(qb>>16,lb)|0)+((_(qb&65535,lb)|0)>>16))|0;rb=c[G>>2]|0;q=(e[ca>>1]|0)-(a[w+4>>0]<<7)<<16>>16;rb=qb+((_(rb>>16,q)|0)+((_(rb&65535,q)|0)>>16))<<1;qb=c[t>>2]|0;pb=(e[s>>1]|0)-(a[w>>0]<<7)<<16>>16;qb=rb+((_(qb>>16,pb)|0)+((_(qb&65535,pb)|0)>>16))|0;pb=nb+(((u|0)>(da|0)?u-da|0:0)<<10)+((_(qb>>16,pb)|0)+((_(qb&65535,pb)|0)>>16))|0;qb=c[H>>2]|0;qb=(_(qb>>16,mb)|0)+((_(qb&65535,mb)|0)>>16)|0;nb=c[I>>2]|0;nb=qb+((_(nb>>16,lb)|0)+((_(nb&65535,lb)|0)>>16))|0;qb=c[J>>2]|0;qb=nb+((_(qb>>16,q)|0)+((_(qb&65535,q)|0)>>16))<<1;nb=c[Q>>2]|0;nb=qb+((_(nb>>16,kb)|0)+((_(nb&65535,kb)|0)>>16))|0;kb=pb+((_(nb>>16,kb)|0)+((_(nb&65535,kb)|0)>>16))|0;nb=c[R>>2]|0;nb=(_(nb>>16,lb)|0)+((_(nb&65535,lb)|0)>>16)|0;pb=c[S>>2]|0;pb=nb+((_(pb>>16,q)|0)+((_(pb&65535,q)|0)>>16))<<1;nb=c[T>>2]|0;nb=pb+((_(nb>>16,mb)|0)+((_(nb&65535,mb)|0)>>16))|0;mb=kb+((_(nb>>16,mb)|0)+((_(nb&65535,mb)|0)>>16))|0;nb=c[U>>2]|0;nb=(_(nb>>16,q)|0)+((_(nb&65535,q)|0)>>16)<<1;kb=c[V>>2]|0;kb=nb+((_(kb>>16,lb)|0)+((_(kb&65535,lb)|0)>>16))|0;lb=mb+((_(kb>>16,lb)|0)+((_(kb&65535,lb)|0)>>16))|0;kb=c[W>>2]|0;kb=(_(kb>>16,q)|0)+((_(kb&65535,q)|0)>>16)|0;q=lb+((_(kb>>16,q)|0)+((_(kb&65535,q)|0)>>16))|0;if((q|0)<(x|0))a[ea>>0]=z;else{u=Y;q=x}w=w+5|0;Y=u;x=q;z=z+1|0}qb=fa+x|0;rb=la+(Wb(Y+51|0)|0)|0;t=t+100|0;s=s+10|0;u=Y;fa=(qb|0)<0?2147483647:qb;ga=ga+1|0;la=(rb|0)<896?0:rb+-896|0}q=(fa|0)==2147483647?2147483646:fa;if((q|0)<(p|0)){a[ta>>0]=na;md(ra|0,Sa|0,ua|0)|0;v=la;p=q}if(ma&(q|0)<12304)break;q=u;na=na+1|0}p=c[23104+(a[ta>>0]<<2)>>2]|0;t=0;while(1){if((t|0)>=(ua|0))break;q=f+4772+t|0;s=t*5|0;u=0;while(1){if((u|0)==5)break;b[Ra+(s+u<<1)>>1]=a[p+(((a[q>>0]|0)*5|0)+u)>>0]<<7;u=u+1|0}t=t+1|0}c[sa>>2]=v;p=0;while(1){if((p|0)>=(va|0))break;g[$a+144+(p<<2)>>2]=+(b[Ra+(p<<1)>>1]|0)*.00006103515625;p=p+1|0}if(!m){r=+((c[f+4640>>2]|0)+(c[f+5776>>2]|0)|0)*+g[xa>>2]*.10000000149011612;if(!(r>2.0)){if(r<0.0)r=0.0}else r=2.0;p=~~r;a[f+4801>>0]=p}else{a[f+4801>>0]=0;p=0}g[$a+224>>2]=+(b[30768+(p<<24>>24<<1)>>1]|0)*.00006103515625;v=c[f+4664>>2]|0;w=c[Ba>>2]|0;x=c[Fa>>2]|0;z=w+v|0;s=Na;C=0;v=f+9356+(Ga-v<<2)|0;while(1){if((C|0)>=(x|0))break;t=0-(c[$a+228+(C<<2)>>2]|0)|0;y=+g[Ia+(C<<2)>>2];p=C*5|0;q=0;while(1){if((q|0)==5)break;c[Ha+(q<<2)>>2]=c[$a+144+(p+q<<2)>>2];q=q+1|0}u=0;t=v+(t<<2)|0;while(1){if((u|0)>=(z|0))break;q=c[v+(u<<2)>>2]|0;p=s+(u<<2)|0;c[p>>2]=q;r=(c[k>>2]=q,+g[k>>2]);q=0;while(1){if((q|0)==5)break;jb=r-+g[Ha+(q<<2)>>2]*+g[t+(2-q<<2)>>2];g[p>>2]=jb;r=jb;q=q+1|0}g[p>>2]=r*y;u=u+1|0;t=t+4|0}s=s+(z<<2)|0;C=C+1|0;v=v+(w<<2)|0}}else{z=f+4664|0;w=c[z>>2]|0;s=w;x=0;q=Na;w=f+9356+(Ga-w<<2)|0;while(1){if((x|0)>=(p|0))break;r=+g[Ia+(x<<2)>>2];p=c[Ba>>2]|0;u=p+s|0;t=u&65532;v=q;p=s+p&65532;q=0;while(1){if((q|0)>=(t|0))break;g[v+(q<<2)>>2]=r*+g[w+(q<<2)>>2];rb=q|1;g[v+(rb<<2)>>2]=r*+g[w+(rb<<2)>>2];rb=q|2;g[v+(rb<<2)>>2]=r*+g[w+(rb<<2)>>2];rb=q|3;g[v+(rb<<2)>>2]=r*+g[w+(rb<<2)>>2];q=q+4|0}while(1){if((p|0)>=(u|0))break;g[v+(p<<2)>>2]=r*+g[w+(p<<2)>>2];p=p+1|0}rb=c[Ba>>2]|0;q=c[z>>2]|0;p=c[Fa>>2]|0;s=q;x=x+1|0;q=v+(rb+q<<2)|0;w=w+(rb<<2)|0}hd($a+144|0,0,p*20|0)|0;g[$a+872>>2]=0.0;c[f+4688>>2]=0}if(!(c[f+4696>>2]|0)){y=+$c(+g[$a+872>>2]/3.0)/1.0e4;y=y/(+g[$a+860>>2]*.75+.25)}else y=.009999999776482582;G=f+4664|0;C=c[G>>2]|0;w=(c[Ba>>2]|0)+C|0;E=f+4799|0;a[E>>0]=4;x=f+4604|0;F=f+4664|0;r=+vc(Ka,Na,y,w,c[x>>2]|0,C);C=f+4656|0;j:do if(((c[C>>2]|0)!=0?(c[f+4696>>2]|0)==0:0)?(c[x>>2]|0)==4:0){z=w<<1;jb=r-+vc(Ja,Na+(z<<2)|0,y,w,2,c[F>>2]|0);p=(g[k>>2]=jb,c[k>>2]|0);tc(Oa,Ja,c[F>>2]|0);u=2139095039;v=3;while(1){if((v|0)<=-1)break j;q=c[F>>2]|0;s=v<<16>>16;t=0;while(1){if((t|0)>=(q|0))break;rb=e[f+4524+(t<<1)>>1]|0;b[Qa+(t<<1)>>1]=rb+((_((e[Oa+(t<<1)>>1]|0)-rb<<16>>16,s)|0)>>>2);t=t+1|0}q=c[F>>2]|0;Zb(Ma,Qa,q);s=0;while(1){if((s|0)>=(q|0))break;g[Ja+(s<<2)>>2]=+(b[Ma+(s<<1)>>1]|0)*.000244140625;s=s+1|0}sc(La,Ja,Na,z,c[F>>2]|0);rb=c[F>>2]|0;q=w-rb|0;r=+wc(La+(rb<<2)|0,q);r=r+ +wc(La+(rb+w<<2)|0,q);q=(g[k>>2]=r,c[k>>2]|0);if(!(r<(c[k>>2]=p,+g[k>>2]))){if(r>(c[k>>2]=u,+g[k>>2]))break j}else{a[E>>0]=v;p=q}u=q;v=v+-1|0}}while(0);if((a[E>>0]|0)==4)tc(Oa,Ka,c[F>>2]|0);u=c[ya>>2]<<16>>16;u=(_(u,-5)|0)+(u*59246>>16)+3146|0;u=(c[x>>2]|0)==2?u+(u>>1)|0:u;ac(Qa,Oa,c[F>>2]|0);k:do if((c[C>>2]|0)==1){q=a[E>>0]|0;rb=q<<24>>24<4;p=rb&1;if(rb){q=q<<24>>24;s=c[F>>2]|0;t=0;while(1){if((t|0)>=(s|0))break;rb=e[f+4524+(t<<1)>>1]|0;b[Ma+(t<<1)>>1]=rb+((_((e[Oa+(t<<1)>>1]|0)-rb<<16>>16,q)|0)>>>2);t=t+1|0}ac(Sa,Ma,c[F>>2]|0);q=a[E>>0]|0;q=(_(q,q)|0)<<27>>16;s=0;while(1){if((s|0)>=(c[F>>2]|0))break k;rb=Qa+(s<<1)|0;qb=b[Sa+(s<<1)>>1]|0;b[rb>>1]=((b[rb>>1]|0)>>>1)+((_(qb<<16>>16>>16,q)|0)+((_(qb&65535,q)|0)>>>16));s=s+1|0}}}else p=0;while(0);Mb(f+4776|0,Oa,c[f+4724>>2]|0,Qa,u,c[f+4692>>2]|0,a[f+4797>>0]|0);Zb(Ra+32|0,Oa,c[F>>2]|0);if(!p)md(Ra|0,Ra+32|0,c[F>>2]<<1|0)|0;else{p=a[E>>0]|0;q=c[F>>2]|0;s=0;while(1){if((s|0)>=(q|0))break;rb=e[f+4524+(s<<1)>>1]|0;b[Ma+(s<<1)>>1]=rb+((_((e[Oa+(s<<1)>>1]|0)-rb<<16>>16,p)|0)>>>2);s=s+1|0}Zb(Ra,Ma,c[F>>2]|0)}p=0;while(1){if((p|0)==2)break;else q=0;while(1){if((q|0)>=(c[F>>2]|0))break;g[$a+16+(p<<6)+(q<<2)>>2]=+(b[Ra+(p<<5)+(q<<1)>>1]|0)*.000244140625;q=q+1|0}p=p+1|0}u=c[Ba>>2]|0;rb=c[Fa>>2]|0;p=c[G>>2]|0;q=Sa+(p<<2)|0;t=p+u|0;s=t<<1;sc(Sa,$a+16|0,Na,s,p);jb=+g[$a>>2];g[$a+876>>2]=jb*jb*+wc(q,u);jb=+g[$a+4>>2];t=Sa+(p+t<<2)|0;g[$a+880>>2]=jb*jb*+wc(t,u);if((rb|0)==4){sc(Sa,$a+80|0,Na+(s<<2)|0,s,p);jb=+g[$a+8>>2];g[$a+884>>2]=jb*jb*+wc(q,u);jb=+g[$a+12>>2];g[$a+888>>2]=jb*jb*+wc(t,u)}J=f+4524|0;p=Oa;u=J+32|0;do{b[J>>1]=b[p>>1]|0;J=J+2|0;p=p+2|0}while((J|0)<(u|0));l:do if((a[Ta>>0]|0)==2){r=1.0-1.0/(+X(+-((+g[$a+872>>2]+-12.0)*.25))+1.0)*.5;p=0;while(1){if((p|0)>=(c[Fa>>2]|0))break l;rb=$a+(p<<2)|0;g[rb>>2]=+g[rb>>2]*r;p=p+1|0}}while(0);r=+$c((21.0-+(c[za>>2]|0)*.0078125)*.33000001311302185);r=r/+(c[Ba>>2]|0);q=0;while(1){p=c[Fa>>2]|0;if((q|0)>=(p|0)){q=0;break}rb=$a+(q<<2)|0;jb=+g[rb>>2];jb=+O(+(jb*jb+ +g[$a+876+(q<<2)>>2]*r));g[rb>>2]=jb<32767.0?jb:32767.0;q=q+1|0}while(1){if((q|0)>=(p|0))break;c[Ra+(q<<2)>>2]=~~(+g[$a+(q<<2)>>2]*65536.0);p=c[Fa>>2]|0;q=q+1|0}md($a+892|0,Ra|0,p<<2|0)|0;p=f+7200|0;ka=$a+908|0;a[ka>>0]=a[p>>0]|0;la=f+4768|0;W=(m|0)==2;ma=W&1;Gb(la,Ra,p,ma,c[Fa>>2]|0);p=0;while(1){if((p|0)>=(c[Fa>>2]|0))break;g[$a+(p<<2)>>2]=+(c[Ra+(p<<2)>>2]|0)*.0000152587890625;p=p+1|0}q=a[Ta>>0]|0;do if(q<<24>>24==2){p=f+4798|0;if(+g[$a+872>>2]+ +(c[f+4744>>2]|0)*.000030517578125>1.0){a[p>>0]=0;ia=p;p=0;break}else{a[p>>0]=1;ia=p;p=1;break}}else{p=f+4798|0;ia=p;p=a[p>>0]|0}while(0);ja=$a+852|0;g[ja>>2]=+(c[f+4652>>2]|0)*-.05000000074505806+1.2000000476837158+ +(c[ya>>2]|0)*-.20000000298023224*.00390625+ +g[Aa>>2]*-.10000000149011612+ +g[Ea>>2]*-.20000000298023224+ +(b[30760+(q<<24>>24>>1<<2)+(p<<24>>24<<1)>>1]|0)*.0009765625*.800000011920929;I=f+9352|0;J=f+9264|0;Q=f+9268|0;R=f+9272|0;S=f+9344|0;T=f+9332|0;U=f+9336|0;V=f+9340|0;q=c[I>>2]|0;G=Pa;x=fb;H=0;while(1){p=c[Fa>>2]|0;if((H|0)>=(p|0))break;if((a[Ta>>0]|0)==2)q=c[$a+228+(H<<2)>>2]|0;F=$a+804+(H<<2)|0;D=+g[$a+836+(H<<2)>>2]*(1.0-+g[F>>2]);K=D*.25;L=+g[$a+820+(H<<2)>>2];M=+g[$a+756+(H<<2)>>2];P=+g[$a+772+(H<<2)>>2];p=H<<4;s=$a+244+(p<<2)|0;r=+(c[Da>>2]|0)*.0000152587890625;t=c[Ba>>2]|0;u=c[Ca>>2]|0;v=f+9264+(u<<2)|0;w=$a+244+(p+(u+-1)<<2)|0;C=0;while(1){if((C|0)>=(t|0))break;ib=+g[Q>>2];B=+g[J>>2]+r*ib;z=G+(C<<2)|0;c[J>>2]=c[z>>2];jb=+g[R>>2];g[Q>>2]=B;y=jb;A=+g[s>>2]*B;E=2;B=ib+r*(jb-B);while(1){if((E|0)>=(u|0))break;qb=f+9264+((E|1)<<2)|0;wa=+g[qb>>2];jb=y+r*(wa-B);g[f+9264+(E<<2)>>2]=B;sb=A+ +g[$a+244+(p+(E+-1)<<2)>>2]*B;rb=E+2|0;ib=+g[f+9264+(rb<<2)>>2];g[qb>>2]=jb;y=ib;A=sb+ +g[$a+244+(p+E<<2)>>2]*jb;E=rb;B=wa+r*(ib-jb)}g[v>>2]=B;g[Sa+(C<<2)>>2]=+g[z>>2]-(A+ +g[w>>2]*B);C=C+1|0}y=+g[$a+788+(H<<2)>>2];r=-(y*(+g[F>>2]*D+.05000000074505806+ +g[Ea>>2]*.10000000149011612));g[x>>2]=y*+g[Sa>>2]+ +g[S>>2]*r;p=1;while(1){s=c[Ba>>2]|0;if((p|0)>=(s|0))break;g[x+(p<<2)>>2]=y*+g[Sa+(p<<2)>>2]+ +g[Sa+(p+-1<<2)>>2]*r;p=p+1|0}y=D*.4999847412109375;c[S>>2]=c[Sa+(s+-1<<2)>>2];p=c[Ba>>2]|0;s=(q|0)>0;t=c[T>>2]|0;u=c[U>>2]|0;v=c[V>>2]|0;w=0;while(1){if((w|0)>=(p|0))break;if(s){rb=q+t|0;r=+g[f+7216+((rb+510&511)<<2)>>2]*K+ +g[f+7216+((rb+511&511)<<2)>>2]*y+ +g[f+7216+((rb&511)<<2)>>2]*K}else r=0.0;jb=(c[k>>2]=u,+g[k>>2]);sb=jb*P+(c[k>>2]=v,+g[k>>2])*M;nb=x+(w<<2)|0;jb=+g[nb>>2]-jb*L;qb=(g[k>>2]=jb,c[k>>2]|0);sb=jb-sb;rb=(g[k>>2]=sb,c[k>>2]|0);pb=t+511&511;g[f+7216+(pb<<2)>>2]=sb;g[nb>>2]=sb-r;t=pb;u=qb;v=rb;w=w+1|0}c[U>>2]=u;c[V>>2]=v;c[T>>2]=t;rb=c[Ba>>2]|0;G=G+(rb<<2)|0;x=x+(rb<<2)|0;H=H+1|0}c[I>>2]=c[$a+228+(p+-1<<2)>>2];ha=f+5780|0;x=c[ha>>2]|0;z=f+6132+(x*36|0)|0;do if(c[f+6124>>2]|0){if((c[ya>>2]|0)<=77)break;c[f+4756+(x<<2)>>2]=1;md(Sa|0,f+144|0,4380)|0;J=z;p=la;u=J+36|0;do{b[J>>1]=b[p>>1]|0;J=J+2|0;p=p+2|0}while((J|0)<(u|0));md(Qa|0,$a|0,c[Fa>>2]<<2|0)|0;p=c[ha>>2]|0;do if(!p)gb=590;else{if(!(c[f+4756+(p+-1<<2)>>2]|0)){gb=590;break}t=z;u=f+4564|0}while(0);if((gb|0)==590){u=f+4564|0;a[u>>0]=a[f+7200>>0]|0;t=(d[z>>0]|0)+(c[f+6128>>2]|0)|0;rb=t&255;a[z>>0]=rb;a[z>>0]=rb<<24>>24<63?t<<24>>24:63;t=z}v=c[Fa>>2]|0;w=0;while(1){if((w|0)>=(v|0)){p=0;break}do if((w|0)==0^1|W){p=(a[f+6132+(x*36|0)+w>>0]|0)+-4|0;q=a[u>>0]|0;s=(q<<24>>24)+8|0;if((p|0)>(s|0)){p=(q&255)+((p<<1)-s)&255;a[u>>0]=p;break}else{p=(q&255)+p&255;a[u>>0]=p;break}}else{rb=a[t>>0]|0;p=(a[u>>0]|0)+-16|0;p=((rb|0)>(p|0)?rb:p)&255;a[u>>0]=p}while(0);if(p<<24>>24>63)p=63;else p=p<<24>>24<0?0:p<<24>>24;a[u>>0]=p;rb=(p*29|0)+(p*7281>>16)+2090|0;c[Ra+(w<<2)>>2]=Xb((rb|0)<3967?rb:3967)|0;w=w+1|0}while(1){if((p|0)>=(c[Fa>>2]|0))break;g[$a+(p<<2)>>2]=+(c[Ra+(p<<2)>>2]|0)*.0000152587890625;p=p+1|0}uc(f,$a,z,Sa,f+6240+((c[ha>>2]|0)*320|0)|0,fb);md($a|0,Qa|0,c[Fa>>2]<<2|0)|0}while(0);p=c[Fa>>2]|0;s=0;q=0;while(1){if((q|0)>=(p|0))break;s=(a[f+4768+q>>0]|0)+(s<<8)|0;q=q+1|0}J=cb;p=l;u=J+48|0;do{c[J>>2]=c[p>>2];J=J+4|0;p=p+4|0}while((J|0)<(u|0));S=f+144|0;md(ab|0,S|0,4380)|0;T=a[Xa>>0]|0;U=f+5804|0;V=b[U>>1]|0;W=f+5800|0;Y=c[W>>2]|0;Z=f+7200|0;$=n+-5|0;ba=l+24|0;ca=l+28|0;da=f+4768|0;ea=f+4804|0;fa=l+20|0;ga=l+28|0;R=(o|0)==0;G=0;E=0;H=0;I=256;C=0;F=0;q=-1;w=-1;v=0;x=0;z=0;Q=0;while(1){t=(s|0)==(q|0);do if(!t){if((s|0)==(w|0)){p=x;gb=614;break}if((Q|0)>0){J=l;p=cb;u=J+48|0;do{c[J>>2]=c[p>>2];J=J+4|0;p=p+4|0}while((J|0)<(u|0));md(S|0,ab|0,4380)|0;a[Xa>>0]=T;b[U>>1]=V;c[W>>2]=Y}uc(f,$a,da,S,ea,fb);Eb(f,l,c[ha>>2]|0,0,m);Fb(l,a[Ta>>0]|0,a[ia>>0]|0,ea,c[Wa>>2]|0);p=(c[fa>>2]|0)+((aa(c[ga>>2]|0)|0)+-32)|0;if(!(R&(Q|0)==0)){gb=614;break}if((p|0)<=(n|0))break c}else{p=v;gb=614}while(0);if((gb|0)==614){gb=0;if((Q|0)==6)break}u=(p|0)>(n|0);do if(u)if((E|0)==0&(Q|0)>1){g[ja>>2]=+g[ja>>2]*1.5;H=0;J=q;w=-1;break}else{H=1;F=I<<16>>16;J=q;w=s;x=p;break}else{if((p|0)>=($|0))break c;q=I<<16>>16;if(t){E=1;C=q;J=s;v=p;break};c[db>>2]=c[l>>2];c[db+4>>2]=c[l+4>>2];c[db+8>>2]=c[l+8>>2];c[db+12>>2]=c[l+12>>2];c[db+16>>2]=c[l+16>>2];c[db+20>>2]=c[l+20>>2];z=c[ba>>2]|0;c[eb>>2]=c[ca>>2];c[eb+4>>2]=c[ca+4>>2];c[eb+8>>2]=c[ca+8>>2];c[eb+12>>2]=c[ca+12>>2];c[eb+16>>2]=c[ca+16>>2];md(Za|0,c[l>>2]|0,z|0)|0;md(bb|0,S|0,4380)|0;G=a[Z>>0]|0;E=1;C=q;J=s;v=p}while(0);do if(!(E&H)){rb=Xb(((p-n<<7|0)/(c[Wa>>2]|0)|0)+2048|0)|0;rb=(rb|0)<131072?rb:131072;rb=u^1|(rb|0)>85197?rb:85197;p=I<<16>>16;p=(_(rb>>16,p)|0)+((_(rb&65535,p)|0)>>>16)|0}else{q=F-C|0;p=C+((_(q,n-v|0)|0)/(x-v|0)|0)|0;s=q>>2;if((p<<16>>16|0)>(C+s|0)){p=C+(q>>>2)|0;break}if((p<<16>>16|0)>=(F-s|0))break;p=F-(q>>>2)|0}while(0);t=p&65535;p=p<<16>>16;s=0;while(1){q=c[Fa>>2]|0;if((s|0)>=(q|0))break;rb=c[$a+892+(s<<2)>>2]|0;rb=(_(rb>>16,p)|0)+((_(rb&65535,p)|0)>>16)|0;c[_a+(s<<2)>>2]=((rb|0)>8388607?8388607:(rb|0)<-8388608?-8388608:rb)<<8;s=s+1|0}a[Z>>0]=a[ka>>0]|0;Gb(la,_a,Z,ma,q);p=c[Fa>>2]|0;s=0;q=0;while(1){if((q|0)>=(p|0)){q=0;break}s=(a[f+4768+q>>0]|0)+(s<<8)|0;q=q+1|0}while(1){if((q|0)>=(p|0))break;g[$a+(q<<2)>>2]=+(c[_a+(q<<2)>>2]|0)*.0000152587890625;p=c[Fa>>2]|0;q=q+1|0}I=t;q=J;Q=Q+1|0}if((E|0)!=0&(t|(p|0)>(n|0))){c[l>>2]=c[db>>2];c[l+4>>2]=c[db+4>>2];c[l+8>>2]=c[db+8>>2];c[l+12>>2]=c[db+12>>2];c[l+16>>2]=c[db+16>>2];c[l+20>>2]=c[db+20>>2];c[ba>>2]=z;c[ca>>2]=c[eb>>2];c[ca+4>>2]=c[eb+4>>2];c[ca+8>>2]=c[eb+8>>2];c[ca+12>>2]=c[eb+12>>2];c[ca+16>>2]=c[eb+16>>2];md(c[l>>2]|0,Za|0,z|0)|0;md(S|0,bb|0,4380)|0;a[Z>>0]=G}}while(0);nd(f+9356|0,f+9356+(c[Wa>>2]<<2)|0,(c[Ya>>2]|0)+((c[Va>>2]|0)*5|0)<<2|0)|0;if(c[Ua>>2]|0){rb=0;c[j>>2]=rb;i=hb;return 0}c[f+4568>>2]=c[$a+228+((c[f+4604>>2]|0)+-1<<2)>>2];a[f+4565>>0]=a[f+4797>>0]|0;c[f+4696>>2]=0;rb=(c[l+20>>2]|0)+((aa(c[l+28>>2]|0)|0)+-32)+7>>3;c[j>>2]=rb;i=hb;return 0}function sc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=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,u=0,v=0;switch(e|0){case 6:{f=b+4|0;h=b+8|0;i=b+12|0;j=b+16|0;k=b+20|0;l=6;while(1){if((l|0)>=(d|0))break;g[a+(l<<2)>>2]=+g[c+(l<<2)>>2]-(+g[c+(l+-1<<2)>>2]*+g[b>>2]+ +g[c+(l+-2<<2)>>2]*+g[f>>2]+ +g[c+(l+-3<<2)>>2]*+g[h>>2]+ +g[c+(l+-4<<2)>>2]*+g[i>>2]+ +g[c+(l+-5<<2)>>2]*+g[j>>2]+ +g[c+(l+-6<<2)>>2]*+g[k>>2]);l=l+1|0}c=e<<2;hd(a|0,0,c|0)|0;return}case 8:{f=b+4|0;h=b+8|0;i=b+12|0;j=b+16|0;k=b+20|0;l=b+24|0;m=b+28|0;n=8;while(1){if((n|0)>=(d|0))break;g[a+(n<<2)>>2]=+g[c+(n<<2)>>2]-(+g[c+(n+-1<<2)>>2]*+g[b>>2]+ +g[c+(n+-2<<2)>>2]*+g[f>>2]+ +g[c+(n+-3<<2)>>2]*+g[h>>2]+ +g[c+(n+-4<<2)>>2]*+g[i>>2]+ +g[c+(n+-5<<2)>>2]*+g[j>>2]+ +g[c+(n+-6<<2)>>2]*+g[k>>2]+ +g[c+(n+-7<<2)>>2]*+g[l>>2]+ +g[c+(n+-8<<2)>>2]*+g[m>>2]);n=n+1|0}c=e<<2;hd(a|0,0,c|0)|0;return}case 10:{j=b+4|0;k=b+8|0;l=b+12|0;m=b+16|0;n=b+20|0;o=b+24|0;f=b+28|0;h=b+32|0;i=b+36|0;p=10;while(1){if((p|0)>=(d|0))break;g[a+(p<<2)>>2]=+g[c+(p<<2)>>2]-(+g[c+(p+-1<<2)>>2]*+g[b>>2]+ +g[c+(p+-2<<2)>>2]*+g[j>>2]+ +g[c+(p+-3<<2)>>2]*+g[k>>2]+ +g[c+(p+-4<<2)>>2]*+g[l>>2]+ +g[c+(p+-5<<2)>>2]*+g[m>>2]+ +g[c+(p+-6<<2)>>2]*+g[n>>2]+ +g[c+(p+-7<<2)>>2]*+g[o>>2]+ +g[c+(p+-8<<2)>>2]*+g[f>>2]+ +g[c+(p+-9<<2)>>2]*+g[h>>2]+ +g[c+(p+-10<<2)>>2]*+g[i>>2]);p=p+1|0}c=e<<2;hd(a|0,0,c|0)|0;return}case 12:{f=b+4|0;h=b+8|0;i=b+12|0;j=b+16|0;k=b+20|0;l=b+24|0;m=b+28|0;n=b+32|0;o=b+36|0;p=b+40|0;q=b+44|0;r=12;while(1){if((r|0)>=(d|0))break;g[a+(r<<2)>>2]=+g[c+(r<<2)>>2]-(+g[c+(r+-1<<2)>>2]*+g[b>>2]+ +g[c+(r+-2<<2)>>2]*+g[f>>2]+ +g[c+(r+-3<<2)>>2]*+g[h>>2]+ +g[c+(r+-4<<2)>>2]*+g[i>>2]+ +g[c+(r+-5<<2)>>2]*+g[j>>2]+ +g[c+(r+-6<<2)>>2]*+g[k>>2]+ +g[c+(r+-7<<2)>>2]*+g[l>>2]+ +g[c+(r+-8<<2)>>2]*+g[m>>2]+ +g[c+(r+-9<<2)>>2]*+g[n>>2]+ +g[c+(r+-10<<2)>>2]*+g[o>>2]+ +g[c+(r+-11<<2)>>2]*+g[p>>2]+ +g[c+(r+-12<<2)>>2]*+g[q>>2]);r=r+1|0}c=e<<2;hd(a|0,0,c|0)|0;return}case 16:{f=b+4|0;h=b+8|0;i=b+12|0;j=b+16|0;k=b+20|0;l=b+24|0;m=b+28|0;n=b+32|0;o=b+36|0;p=b+40|0;q=b+44|0;r=b+48|0;s=b+52|0;t=b+56|0;u=b+60|0;v=16;while(1){if((v|0)>=(d|0))break;g[a+(v<<2)>>2]=+g[c+(v<<2)>>2]-(+g[c+(v+-1<<2)>>2]*+g[b>>2]+ +g[c+(v+-2<<2)>>2]*+g[f>>2]+ +g[c+(v+-3<<2)>>2]*+g[h>>2]+ +g[c+(v+-4<<2)>>2]*+g[i>>2]+ +g[c+(v+-5<<2)>>2]*+g[j>>2]+ +g[c+(v+-6<<2)>>2]*+g[k>>2]+ +g[c+(v+-7<<2)>>2]*+g[l>>2]+ +g[c+(v+-8<<2)>>2]*+g[m>>2]+ +g[c+(v+-9<<2)>>2]*+g[n>>2]+ +g[c+(v+-10<<2)>>2]*+g[o>>2]+ +g[c+(v+-11<<2)>>2]*+g[p>>2]+ +g[c+(v+-12<<2)>>2]*+g[q>>2]+ +g[c+(v+-13<<2)>>2]*+g[r>>2]+ +g[c+(v+-14<<2)>>2]*+g[s>>2]+ +g[c+(v+-15<<2)>>2]*+g[t>>2]+ +g[c+(v+-16<<2)>>2]*+g[u>>2]);v=v+1|0}c=e<<2;hd(a|0,0,c|0)|0;return}default:{c=e<<2;hd(a|0,0,c|0)|0;return}}}function tc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0.0,j=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;D=i;i=i+144|0;y=D+108|0;A=D+72|0;z=D+64|0;B=D;j=0;while(1){if((j|0)>=(e|0))break;h=+g[d+(j<<2)>>2]*65536.0;f=(g[k>>2]=h,c[k>>2]|0);if((f&2130706432)>>>0<=1249902592){f=(f|0)<0;h=f?h+-8388608.0+8388608.0:h+8388608.0+-8388608.0;if(h==0.0)h=f?-0.0:0.0}c[B+(j<<2)>>2]=~~h;j=j+1|0}c[z>>2]=y;c[z+4>>2]=A;w=e>>1;Sb(B,y,A,w);x=y;f=Tb(y,8192,w)|0;if((f|0)<0){b[a>>1]=0;d=A;v=d;j=1;f=Tb(A,8192,w)|0}else{v=A;d=x;j=0}u=0;a:while(1){n=1;l=0;m=8192;b:while(1){t=n;o=m;while(1){m=b[30774+(t<<1)>>1]|0;n=Tb(d,m,w)|0;if((f|0)<1){if((n|0)>=(l|0))break;if(!((f|0)<=-1|(n|0)>(0-l|0)))break}else if((n|0)<=(0-l|0))break;if((t|0)>127)break b;else{t=t+1|0;l=0;o=m;f=n}}l=(n|0)==0?1:0;r=-256;s=0;while(1){if((s|0)==3)break;p=o+m|0;p=(p>>1)+(p&1)|0;q=Tb(d,p,w)|0;if((f|0)<1)if((q|0)>-1|(f|0)>-1){m=p;n=q}else C=22;else if((q|0)<1){m=p;n=q}else C=22;if((C|0)==22){C=0;r=r+(128>>>s)|0;o=p;f=q}s=s+1|0}d=f-n|0;if((((f|0)>0?f:0-f|0)|0)<65536)if((f|0)==(n|0))f=r;else f=r+(((f<<5)+(d>>1)|0)/(d|0)|0)|0;else f=r+((f|0)/(d>>5|0)|0)|0;f=(t<<8)+f|0;b[a+(j<<1)>>1]=(f|0)<32767?f:32767;f=j+1|0;if((f|0)>=(e|0)){C=37;break a}n=t;d=c[z+((f&1)<<2)>>2]|0;j=f;m=b[30774+(t+-1<<1)>>1]|0;f=1-(f&2)<<12}d=u+1|0;if((u|0)>29)break;f=d<<16;Vb(B,e,65536-(_(f+655360>>16,f>>16)|0)|0);Sb(B,y,A,w);f=Tb(y,8192,w)|0;if((f|0)>=0){u=d;d=x;j=0;continue}b[a>>1]=0;u=d;d=v;j=1;f=Tb(A,8192,w)|0}if((C|0)==37){i=D;return}b[a>>1]=32768/(e+1|0)|0;f=1;while(1){if((f|0)>=(e|0))break;b[a+(f<<1)>>1]=_((f<<16)+65536>>16,b[a>>1]|0)|0;f=f+1|0}i=D;return}function uc(d,e,f,h,j,l){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;var m=0.0,n=0,o=0.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;E=i;i=i+1584|0;D=E+64|0;x=E+48|0;B=E+1512|0;A=E+1472|0;w=E+1344|0;z=E+32|0;C=E+16|0;y=E;v=c[d+4604>>2]|0;p=d+4660|0;t=0;while(1){if((t|0)>=(v|0)){q=0;break}q=c[p>>2]|0;r=t<<4;u=0;while(1){if((u|0)>=(q|0))break;s=r+u|0;m=+g[e+500+(s<<2)>>2]*8192.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}b[w+(s<<1)>>1]=~~m;u=u+1|0}t=t+1|0}while(1){if((q|0)>=(v|0))break;m=+g[e+772+(q<<2)>>2]*16384.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}p=~~m<<16;m=+g[e+756+(q<<2)>>2]*16384.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}c[z+(q<<2)>>2]=p|~~m&65535;m=+g[e+820+(q<<2)>>2]*16384.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}c[C+(q<<2)>>2]=~~m;m=+g[e+836+(q<<2)>>2]*16384.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}c[y+(q<<2)>>2]=~~m;q=q+1|0}m=+g[e+852>>2]*1024.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}p=v*5|0;q=0;while(1){if((q|0)>=(p|0))break;o=+g[e+144+(q<<2)>>2]*16384.0;n=(g[k>>2]=o,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;o=n?o+-8388608.0+8388608.0:o+8388608.0+-8388608.0;if(o==0.0)o=n?-0.0:0.0}b[A+(q<<1)>>1]=~~o;q=q+1|0}t=~~m;p=d+4664|0;r=0;while(1){if((r|0)==2){p=0;break}q=c[p>>2]|0;s=0;while(1){if((s|0)>=(q|0))break;m=+g[e+16+(r<<6)+(s<<2)>>2]*4096.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}b[B+(r<<5)+(s<<1)>>1]=~~m;s=s+1|0}r=r+1|0}while(1){if((p|0)>=(v|0))break;m=+g[e+(p<<2)>>2]*65536.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}c[x+(p<<2)>>2]=~~m;p=p+1|0}if((a[f+29>>0]|0)==2)q=b[30768+(a[f+33>>0]<<1)>>1]|0;else q=0;p=c[d+4608>>2]|0;r=0;while(1){if((r|0)>=(p|0))break;m=+g[l+(r<<2)>>2]*8.0;n=(g[k>>2]=m,c[k>>2]|0);if((n&2130706432)>>>0<=1249902592){n=(n|0)<0;m=n?m+-8388608.0+8388608.0:m+8388608.0+-8388608.0;if(m==0.0)m=n?-0.0:0.0}c[D+(r<<2)>>2]=~~m;r=r+1|0}if((c[d+4652>>2]|0)<=1?(c[d+4704>>2]|0)<=0:0){Hb(d,h,f,D,j,B,A,w,y,C,z,x,e+228|0,t,q);i=E;return}Ib(d,h,f,D,j,B,A,w,y,C,z,x,e+228|0,t,q);i=E;return}function vc(a,b,d,e,f,j){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;j=j|0;var k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0;F=i;i=i+656|0;A=F+528|0;B=F+400|0;D=F+264|0;z=F+128|0;E=F;k=+wc(b,_(f,e)|0);l=A;n=l+128|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(n|0));l=j+1|0;o=0;while(1){if((o|0)>=(f|0))break;m=_(o,e)|0;n=b+(m<<2)|0;p=1;while(1){if((p|0)>=(l|0))break;y=+xc(n,b+(m+p<<2)|0,e-p|0);x=A+(p+-1<<3)|0;h[x>>3]=+h[x>>3]+y;p=p+1|0}o=o+1|0}l=B;m=A;n=l+128|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));y=k*9.999999747378752e-06;v=k+y+9.999999717180685e-10;h[D>>3]=v;h[z>>3]=v;v=d;w=1;m=0;x=2;u=1.0;while(1){if((m|0)>=(j|0))break;o=e-m|0;p=o+-1|0;t=0;while(1){if((t|0)>=(f|0))break;s=_(t,e)|0;d=+g[b+(s+p<<2)>>2];l=b+(s+m<<2)|0;n=0;q=+g[b+(s+m<<2)>>2];r=d;while(1){if((m|0)==(n|0)){l=0;break}I=+g[b+(s+(m-n+-1)<<2)>>2];J=A+(n<<3)|0;h[J>>3]=+h[J>>3]-+g[l>>2]*I;H=+g[b+(s+(o+n)<<2)>>2];J=B+(n<<3)|0;h[J>>3]=+h[J>>3]-d*H;G=+h[E+(n<<3)>>3];n=n+1|0;q=q+I*G;r=r+H*G}while(1){if((l|0)==(w|0))break;J=D+(l<<3)|0;h[J>>3]=+h[J>>3]-q*+g[b+(s+(m-l)<<2)>>2];J=z+(l<<3)|0;h[J>>3]=+h[J>>3]-r*+g[b+(s+(o+l+-1)<<2)>>2];l=l+1|0}t=t+1|0}l=0;d=+h[A+(m<<3)>>3];r=+h[B+(m<<3)>>3];while(1){if((m|0)==(l|0))break;I=+h[E+(l<<3)>>3];J=m-l+-1|0;l=l+1|0;d=d+ +h[B+(J<<3)>>3]*I;r=r+ +h[A+(J<<3)>>3]*I}p=m+1|0;h[D+(p<<3)>>3]=d;h[z+(p<<3)>>3]=r;d=+h[z>>3];q=+h[D>>3];l=0;while(1){if((m|0)==(l|0))break;I=+h[E+(l<<3)>>3];J=l+1|0;d=d+ +h[z+(J<<3)>>3]*I;q=q+ +h[D+(J<<3)>>3]*I;r=r+ +h[z+(m-l<<3)>>3]*I;l=J}q=r*-2.0/(q+d);d=u*(1.0-q*q);if(d<=v){q=+O(+(1.0-v/u));if(r>0.0){d=v;q=-q;l=1}else{d=v;l=1}}else l=0;n=p>>1;o=0;while(1){if((o|0)>=(n|0))break;t=E+(o<<3)|0;I=+h[t>>3];J=E+(m-o+-1<<3)|0;H=+h[J>>3];h[t>>3]=I+q*H;h[J>>3]=H+q*I;o=o+1|0}h[E+(m<<3)>>3]=q;if(!l)l=0;else{C=30;break}while(1){if((l|0)==(x|0))break;t=D+(l<<3)|0;I=+h[t>>3];J=z+(m-l+1<<3)|0;H=+h[J>>3];h[t>>3]=I+q*H;h[J>>3]=H+q*I;l=l+1|0}w=w+1|0;m=p;x=x+1|0;u=d}if((C|0)==30){while(1){m=m+1|0;if((m|0)>=(j|0))break;h[E+(m<<3)>>3]=0.0;C=30}if(l){l=0;while(1){if((l|0)>=(j|0)){l=0;break}g[a+(l<<2)>>2]=-+h[E+(l<<3)>>3];l=l+1|0}while(1){if((l|0)>=(f|0))break;k=k-+wc(b+((_(l,e)|0)<<2)|0,j);l=l+1|0}I=k*d;i=F;return +I}}k=+h[D>>3];l=0;d=1.0;while(1){if((l|0)>=(j|0))break;I=+h[E+(l<<3)>>3];J=l+1|0;H=k+ +h[D+(J<<3)>>3]*I;g[a+(l<<2)>>2]=-I;k=H;l=J;d=d+I*I}I=k-y*d;i=F;return +I}function wc(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0;e=b&65532;d=b&65532;c=0.0;f=0;while(1){if((f|0)>=(e|0))break;k=+g[a+(f<<2)>>2];j=+g[a+((f|1)<<2)>>2];i=+g[a+((f|2)<<2)>>2];h=+g[a+((f|3)<<2)>>2];c=c+(k*k+j*j+i*i+h*h);f=f+4|0}while(1){if((d|0)>=(b|0))break;k=+g[a+(d<<2)>>2];d=d+1|0;c=c+k*k}return +c}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0;f=c&65532;e=c&65532;d=0.0;h=0;while(1){if((h|0)>=(f|0))break;k=h|1;j=h|2;i=h|3;d=d+(+g[a+(h<<2)>>2]*+g[b+(h<<2)>>2]+ +g[a+(k<<2)>>2]*+g[b+(k<<2)>>2]+ +g[a+(j<<2)>>2]*+g[b+(j<<2)>>2]+ +g[a+(i<<2)>>2]*+g[b+(i<<2)>>2]);h=h+4|0}while(1){if((e|0)>=(c|0))break;l=d+ +g[a+(e<<2)>>2]*+g[b+(e<<2)>>2];e=e+1|0;d=l}return +d}function yc(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0,f=0.0,h=0,j=0,k=0,l=0.0,m=0,n=0;n=i;i=i+128|0;k=n;j=b&1;h=k+(j<<6)|0;md(h|0,a|0,b<<2|0)|0;a=h;l=1.0;while(1){h=b+-1|0;if((b|0)<=1)break;f=+g[k+(j<<6)+(h<<2)>>2];d=-f;if(f<-.9998999834060669|f>.9998999834060669){c=0.0;m=10;break}f=1.0-d*d;c=1.0/f;b=h&1;a=k+(b<<6)|0;e=0;while(1){if((h|0)<=(e|0))break;g[k+(b<<6)+(e<<2)>>2]=(+g[k+(j<<6)+(e<<2)>>2]-+g[k+(j<<6)+(h-e+-1<<2)>>2]*d)*c;e=e+1|0}j=b;l=l*f;b=h}if((m|0)==10){i=n;return +c}f=+g[a>>2];c=-f;if(f<-.9998999834060669|f>.9998999834060669){l=0.0;i=n;return +l}l=l*(1.0-c*c);i=n;return +l}function zc(b,c){b=b|0;c=c|0;b=a[b>>0]|0;do if(b<<24>>24>=0)if((b&96)==96)if(!(b&8)){b=(c|0)/100|0;break}else{b=(c|0)/50|0;break}else{b=(b&255)>>>3&3;if((b|0)==3){b=(c*60|0)/1e3|0;break}else{b=(c<<b|0)/100|0;break}}else b=(c<<((b&255)>>>3&3)|0)/400|0;while(0);return b|0}function Ac(a){a=a|0;var b=0,d=0;if((a|0)<1|(a|0)>2){d=0;return d|0}else b=0;a:while(1){d=0;while(1){if((d|0)>=4)break;if(!d)break a;d=d+1|0}b=b+1|0}d=c[11016+(b<<2)>>2]|0;b=((_(c[d+4>>2]|0,a)|0)<<2)+200+(a<<12)|0;d=b+((_(a*3|0,c[d+8>>2]|0)|0)<<2)+42788|0;return d|0}function Bc(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=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;v=i;i=i+32|0;r=v+16|0;q=v+8|0;p=v;a:do if((a|0)<16e3)if((a|0)<12e3)switch(a|0){case 8e3:{u=2;break a}default:break a}else switch(a|0){case 12e3:{u=2;break a}default:break a}else{if((a|0)<24e3)switch(a|0){case 16e3:{u=2;break a}default:break a}if((a|0)<48e3)switch(a|0){case 24e3:{u=2;break a}default:break a}else switch(a|0){case 48e3:{u=2;break a}default:break a}}while(0);b:do if((u|0)==2?(h=(d|0)==1,(d+-1|0)>>>0<2):0){switch(e|0){case 2048:case 2049:case 2051:break;default:break b}s=cd(Ac(d)|0)|0;t=s;if(!s){if(!f){u=0;i=v;return u|0}c[f>>2]=-7;u=0;i=v;return u|0}c:do if((a|0)<16e3)if((a|0)<12e3)switch(a|0){case 8e3:{u=10;break c}default:{h=-1;break c}}else switch(a|0){case 12e3:{u=10;break c}default:{h=-1;break c}}else{if((a|0)<24e3)switch(a|0){case 16e3:{u=10;break c}default:{h=-1;break c}}if((a|0)<48e3)switch(a|0){case 24e3:{u=10;break c}default:{h=-1;break c}}else switch(a|0){case 48e3:{u=10;break c}default:{h=-1;break c}}}while(0);d:do if((u|0)==10){switch(e|0){case 2048:case 2049:case 2051:break;default:{h=-1;break d}}hd(s|0,0,Ac(d)|0)|0;c[s+4>>2]=18220;c[s>>2]=42788;n=s+(c[s+4>>2]|0)|0;l=s+42788|0;c[s+100>>2]=d;c[s+14288>>2]=d;m=s+132|0;c[m>>2]=a;h=s+168|0;c[h>>2]=0;if(!(Cb(n,0,s+8|0)|0)){c[s+8>>2]=d;c[s+12>>2]=d;c[s+16>>2]=c[m>>2];c[s+20>>2]=16e3;c[s+24>>2]=8e3;c[s+28>>2]=16e3;c[s+32>>2]=20;c[s+36>>2]=25e3;c[s+40>>2]=0;n=s+44|0;c[n>>2]=9;c[s+48>>2]=0;c[s+52>>2]=0;c[s+56>>2]=0;c[s+72>>2]=0;k=c[h>>2]|0;h=0;e:while(1){if((h|0)<1)j=0;else{h=0;break}while(1){if((j|0)>=4)break;if(!j){u=18;break e}j=j+1|0}h=h+1|0}if((u|0)==18)h=c[11016+(h<<2)>>2]|0;if(!((d|0)<0|(d|0)>2)?(o=h,(h|0)!=0):0){j=((_(c[o+4>>2]|0,d)|0)<<2)+200+(d<<12)|0;hd(l|0,0,j+((_(d*3|0,c[o+8>>2]|0)|0)<<2)|0)|0;c[l>>2]=h;c[s+42792>>2]=d;c[s+42796>>2]=d;c[s+42816>>2]=1;c[s+42820>>2]=0;c[s+42824>>2]=c[(c[l>>2]|0)+12>>2];c[s+42836>>2]=1;c[s+42860>>2]=k;c[s+42840>>2]=1;c[s+42804>>2]=1;c[s+42828>>2]=-1;c[s+42832>>2]=0;c[s+42800>>2]=0;c[s+42812>>2]=5;c[s+42848>>2]=24;Ya(l,4028,p)|0;f:do if((a|0)<16e3)if((a|0)<12e3){switch(a|0){case 8e3:break;default:{u=28;break f}}h=6;break}else{switch(a|0){case 12e3:break;default:{u=28;break f}}h=4;break}else{if((a|0)<24e3){switch(a|0){case 16e3:break;default:{u=28;break f}}h=3;break}if((a|0)>=48e3)switch(a|0){case 48e3:{h=1;break f}default:{u=28;break f}}switch(a|0){case 24e3:break;default:{u=28;break f}}h=2}while(0);if((u|0)==28)h=0;c[s+42816>>2]=h;c[q>>2]=0;Ya(l,10016,q)|0;c[r>>2]=c[n>>2];Ya(l,4010,r)|0;c[s+136>>2]=1;c[s+140>>2]=1;c[s+152>>2]=-1e3;c[s+148>>2]=(_(a,d)|0)+3e3;c[s+96>>2]=e;c[s+112>>2]=-1e3;c[s+116>>2]=-1e3;c[s+120>>2]=1105;c[s+108>>2]=-1e3;c[s+124>>2]=-1e3;c[s+128>>2]=-1;h=c[m>>2]|0;c[s+160>>2]=(h|0)/100|0;c[s+156>>2]=24;c[s+144>>2]=5e3;c[s+104>>2]=(h|0)/250|0;b[s+14292>>1]=16384;g[s+14300>>2]=1.0;c[s+14296>>2]=(Wb(60)|0)<<8;c[s+14344>>2]=1;c[s+14320>>2]=1001;c[s+14336>>2]=1105;c[s+172>>2]=0;hd(s+176|0,0,14112)|0;h=0}else h=-3}else h=-3}while(0);if(f)c[f>>2]=h;if(!h){u=t;i=v;return u|0}dd(s);u=0;i=v;return u|0}while(0);if(!f){u=0;i=v;return u|0}c[f>>2]=-1;u=0;i=v;return u|0}function Cc(a,b,c,d,e,f,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0;j=0;while(1){if((j|0)>=(c|0))break;g[b+(j<<2)>>2]=+g[a+((_(j+d|0,h)|0)+e<<2)>>2]*32768.0;j=j+1|0}a:do if((f|0)<=-1){if((f|0)==-2){e=1;while(1){if((e|0)<(h|0))j=0;else break a;while(1){if((j|0)>=(c|0))break;i=+g[a+((_(j+d|0,h)|0)+e<<2)>>2]*32768.0;f=b+(j<<2)|0;g[f>>2]=+g[f>>2]+i;j=j+1|0}e=e+1|0}}}else{e=0;while(1){if((e|0)>=(c|0))break a;i=+g[a+((_(e+d|0,h)|0)+f<<2)>>2]*32768.0;j=b+(e<<2)|0;g[j>>2]=+g[j>>2]+i;e=e+1|0}}while(0);i=(h|0)==-2?-.5:.5;e=0;while(1){if((e|0)>=(c|0))break;d=b+(e<<2)|0;g[d>>2]=+g[d>>2]*i;e=e+1|0}return}function Dc(d,e,f,h,j,l,m,n,o,p,q,r,s){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var 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.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0.0,eb=0.0,fb=0.0,hb=0.0,ib=0.0,jb=0.0,mb=0.0,nb=0.0;cb=i;i=i+1008|0;Wa=cb+480|0;Va=cb+472|0;Ua=cb+464|0;Ta=cb+456|0;Qa=cb+448|0;Pa=cb+440|0;$a=cb+136|0;Ma=cb+128|0;La=cb+120|0;Ka=cb+112|0;Ja=cb+104|0;Ia=cb+96|0;Ha=cb+88|0;ua=cb+80|0;ta=cb+72|0;sa=cb+64|0;pa=cb+56|0;oa=cb+48|0;ma=cb+40|0;ra=cb+32|0;qa=cb+24|0;$=cb+8|0;Z=cb;ka=cb+1e3|0;Oa=cb+952|0;Sa=cb+944|0;Aa=cb+940|0;Ga=cb+912|0;C=cb+824|0;E=cb+792|0;ba=cb+488|0;ha=cb+484|0;Na=cb+1006|0;Ra=cb+1004|0;c[Sa>>2]=0;x=(j|0)>1276?1276:j;Za=d+18216|0;c[Za>>2]=0;la=d+144|0;if(!(c[la>>2]|0)){w=f*400|0;v=d+132|0;u=c[v>>2]|0;if((w|0)!=(u|0))if(!((f*200|0)==(u|0)|(f*100|0)==(u|0))?(bb=f*50|0,!((bb|0)==(u|0)|(f*25|0)==(u|0)|(bb|0)==(u*3|0))):0){h=-1;i=cb;return h|0}else bb=6;else ab=v}else{u=d+132|0;v=u;w=f*400|0;u=c[u>>2]|0;bb=6}if((bb|0)==6)if((w|0)<(u|0)){h=-1;i=cb;return h|0}else ab=v;if((x|0)<1){h=-1;i=cb;return h|0}V=c[d+4>>2]|0;ja=d+V|0;Fa=d+(c[d>>2]|0)|0;if((c[d+96>>2]|0)==2051)wa=0;else wa=c[d+104>>2]|0;X=c[d+156>>2]|0;X=(X|0)>(l|0)?l:X;c[Z>>2]=Aa;Ya(Fa,10015,Z)|0;c[Ga>>2]=0;B=d+44|0;if((c[B>>2]|0)>6?(c[ab>>2]|0)==48e3:0){S=c[d+8680>>2]|0;T=c[d+8684>>2]|0;Nc(d+172|0,c[Aa>>2]|0,m,n,f,o,p,q,48e3,X,r,Ga)}else{S=-1;T=-1}u=d+128|0;c[u>>2]=-1;Q=d+18212|0;c[Q>>2]=0;do if(c[Ga>>2]|0){if((c[d+112>>2]|0)==-1e3){_a=~~+M(+((1.0-+g[Ga+20>>2])*100.0+.5));c[u>>2]=_a;u=_a}else u=-1;v=c[Ga+24>>2]|0;if((v|0)<13){c[Q>>2]=1101;break}if((v|0)<15){c[Q>>2]=1102;break}if((v|0)<17){c[Q>>2]=1103;break}if((v|0)<19){c[Q>>2]=1104;break}else{c[Q>>2]=1105;break}}else u=-1;while(0);_a=d+100|0;m=c[_a>>2]|0;n=(m|0)==2;if(n?(c[d+108>>2]|0)!=1:0){w=(c[ab>>2]|0)/(f|0)|0;F=25.0/((w|0)<50?50.0:+(w|0));v=0;G=0.0;H=0.0;I=0.0;while(1){if((v|0)>=(f|0))break;Ea=v<<1;nb=+g[e+(Ea<<2)>>2];hb=+g[e+((Ea|1)<<2)>>2];mb=+g[e+((Ea|2)<<2)>>2];fb=+g[e+((Ea|3)<<2)>>2];jb=+g[e+((Ea|4)<<2)>>2];eb=+g[e+((Ea|5)<<2)>>2];ib=+g[e+((Ea|6)<<2)>>2];db=+g[e+((Ea|7)<<2)>>2];v=v+4|0;G=G+(nb*nb+mb*mb+jb*jb+ib*ib);H=H+(nb*hb+mb*fb+jb*eb+ib*db);I=I+(hb*hb+fb*fb+eb*eb+db*db)}nb=1.0-F;Da=d+14352|0;F=+g[Da>>2];F=F+nb*(G-F);g[Da>>2]=F;v=d+14356|0;G=+g[v>>2];G=G+nb*(H-G);g[v>>2]=G;Ea=d+14360|0;H=+g[Ea>>2];H=H+nb*(I-H);g[Ea>>2]=H;F=F<0.0?0.0:F;g[Da>>2]=F;G=G<0.0?0.0:G;g[v>>2]=G;H=H<0.0?0.0:H;g[Ea>>2]=H;if((F>H?F:H)>7.999999797903001e-04){jb=+O(+F);nb=+O(+H);F=+O(+jb);mb=+O(+nb);nb=jb*nb;jb=G<nb?G:nb;g[v>>2]=jb;nb=jb/(nb+1.0000000036274937e-15);mb=+O(+(1.0-nb*nb))*(+N(+(F-mb))/(F+1.0000000036274937e-15+mb));Ea=d+14364|0;F=+g[Ea>>2];nb=+(w|0);F=F+(mb-F)/nb;g[Ea>>2]=F;Ea=d+14368|0;nb=+g[Ea>>2]-.019999999552965164/nb;F=nb>F?nb:F;g[Ea>>2]=F}else F=+g[d+14368>>2];F=F*20.0;if(F>1.0)F=1.0}else F=0.0;if(!f)v=(c[ab>>2]|0)/400|0;else v=f;w=c[d+152>>2]|0;switch(w|0){case -1e3:{y=c[ab>>2]|0;w=((y*60|0)/(v|0)|0)+(_(y,m)|0)|0;break}case -1:{y=c[ab>>2]|0;w=(_(x<<3,y)|0)/(v|0)|0;break}default:y=c[ab>>2]|0}Da=d+148|0;c[Da>>2]=w;Y=(y|0)/(f|0)|0;do if(!((x|0)<3|(w|0)<(Y*24|0))){if((Y|0)<50?(_(x,Y)|0)<300|(w|0)<2400:0)break;Ea=d+136|0;z=(c[Ea>>2]|0)==0;if(z){Ba=Y<<3;Ca=(w+(Y<<2)|0)/(Ba|0)|0;Ca=(Ca|0)<(x|0)?Ca:x;w=_(Ca,Ba)|0;c[Da>>2]=w}else Ca=x;ea=_(Y,Ca)|0;fa=ea<<3;l=Y+-50|0;v=w-(_((m*40|0)+20|0,l)|0)|0;t=c[d+112>>2]|0;do if((t|0)!=3001)if((t|0)!=3002){if((u|0)<=-1){t=(c[d+96>>2]|0)==2048?115:48;break}t=u*327>>8;if((c[d+96>>2]|0)==2049)t=(t|0)<115?t:115}else t=0;else t=127;while(0);P=d+108|0;u=c[P>>2]|0;if((u|0)==-1e3)if(n){Ba=d+14288|0;m=(v|0)>(((c[Ba>>2]|0)==2?29e3:31e3)|0)?2:1;c[Ba>>2]=m}else bb=66;else if(n){Ba=d+14288|0;c[Ba>>2]=u;m=u}else bb=66;if((bb|0)==66){Ba=d+14288|0;c[Ba>>2]=m}ga=w-(_((m*40|0)+20|0,l)|0)|0;D=d+96|0;v=c[D>>2]|0;do if((v|0)!=2051){u=c[d+124>>2]|0;if((u|0)==-1e3){nb=1.0-F;u=~~(nb*16.0e3+F*16.0e3);u=u+((_(_(t,t)|0,~~(nb*64.0e3+F*36.0e3)-u|0)|0)>>14)|0;u=(v|0)==2048?u+8e3|0:u;v=c[d+14324>>2]|0;if((v|0)==1002)u=u+-4e3|0;else u=(v|0)>0?u+4e3|0:u;u=(ga|0)>=(u|0)?1002:1e3;v=d+14320|0;c[v>>2]=u;do if(c[d+48>>2]|0){if((c[d+40>>2]|0)<=(128-t>>4|0))break;c[v>>2]=1e3;u=1e3}while(0);if((c[d+52>>2]|0)!=0&(t|0)>100){c[v>>2]=1e3;u=1e3}else bb=79}else{v=d+14320|0;c[v>>2]=u;bb=79}if((bb|0)==79)if((u|0)==1002){za=v;u=1002;break}if(((y|0)/100|0|0)>(f|0)){c[v>>2]=1002;za=v;u=1002}else za=v}else{za=d+14320|0;c[za>>2]=1002;u=1002}while(0);R=d+164|0;if(c[R>>2]|0){c[za>>2]=1002;u=1002}W=(Y|0)>50;if((Ca|0)<((_(W?12e3:8e3,f)|0)/(y<<3|0)|0|0)){c[za>>2]=1002;u=1002}do if(((m|0)==1?(c[d+14328>>2]|0)==2:0)?(A=d+64|0,!((c[A>>2]|0)!=0|(u|0)==1002)):0){v=d+14324|0;l=c[v>>2]|0;if((l|0)==1002){bb=91;break}c[A>>2]=1;c[Ba>>2]=2;va=v}else bb=91;while(0);if((bb|0)==91){c[d+64>>2]=0;l=d+14324|0;va=l;l=c[l>>2]|0}do if((l|0)>0){v=(l|0)==1002;if((u|0)!=1002){if(!v){x=u;u=0;v=0;xa=0;break}x=u;u=(u|0)!=1002&1;v=1;xa=0;break}if(v){x=1002;u=0;v=0;xa=0;break}u=(u|0)!=1002&1;if(((y|0)/100|0|0)>(f|0)){x=1002;v=0;xa=0;break}c[za>>2]=l;x=l;v=1;xa=1}else{x=u;u=0;v=0;xa=0}while(0);ia=d+14340|0;if(!(c[ia>>2]|0)){m=0;if(!v){ca=u;w=m;da=0}else{n=m;bb=102}}else{c[ia>>2]=0;u=1;n=1;v=1;bb=102}do if((bb|0)==102){m=(y|0)/200|0;m=(_(Ca,m)|0)/(m+f|0)|0;m=(m|0)>257?257:m;if(z){ca=u;w=n;da=m;break}da=(w|0)/1600|0;ca=u;w=n;da=(m|0)<(da|0)?m:da}while(0);a:do if((x|0)==1002){x=ga;bb=113}else{if((l|0)==1002){Cb(ja,c[d+168>>2]|0,C)|0;u=(c[za>>2]|0)==1002;if(u){x=ga;w=1;bb=113;break}else w=1}else u=(x|0)==1002;do if(!(c[d+14344>>2]|0)){if(c[d+80>>2]|0)break;u=d+14336|0;K=u;u=c[u>>2]|0;L=w;break a}while(0);if(u){x=ga;bb=113;break}x=(_(ga,(c[B>>2]|0)+45|0)|0)/50|0;x=(c[Ea>>2]|0)==0?x+-1e3|0:x;bb=113}while(0);do if((bb|0)==113){if((c[_a>>2]|0)==2?(c[P>>2]|0)!=1:0){l=23524;m=23492}else{l=23588;m=23556}t=_(t,t)|0;u=0;while(1){if((u|0)==8)break;L=c[l+(u<<2)>>2]|0;c[E+(u<<2)>>2]=L+((_(t,(c[m+(u<<2)>>2]|0)-L|0)|0)>>14);u=u+1|0}m=(c[d+14344>>2]|0)==0;n=d+14336|0;t=1105;do{l=t<<1;u=c[E+(l+-2204<<2)>>2]|0;l=c[E+(l+-2203<<2)>>2]|0;do if(m)if((c[n>>2]|0)<(t|0)){u=u+l|0;break}else{u=u-l|0;break}while(0);if((x|0)>=(u|0))break;t=t+-1|0}while((t|0)>1101);c[n>>2]=t;if(!m){K=n;u=t;L=w;break}if((c[za>>2]|0)==1002){K=n;u=t;L=w;break}if(!((c[d+84>>2]|0)==0&(t|0)>1103)){K=n;u=t;L=w;break}c[n>>2]=1103;K=n;u=1103;L=w}while(0);t=c[d+120>>2]|0;if((u|0)>(t|0))c[K>>2]=t;else t=u;J=d+116|0;u=c[J>>2]|0;m=(u|0)==-1e3;if(!m){c[K>>2]=u;t=u}l=(c[za>>2]|0)==1002;if((l^1)&(fa|0)<15e3){t=(t|0)<1103?t:1103;c[K>>2]=t}u=c[ab>>2]|0;do if((u|0)<24001){if((t|0)>1104){c[K>>2]=1104;t=1104}if((u|0)>=16001)break;if((t|0)>1103){c[K>>2]=1103;t=1103}if((u|0)>=12001)break;if((t|0)>1102){c[K>>2]=1102;t=1102}if(!((u|0)<8001&(t|0)>1101))break;c[K>>2]=1101;t=1101}while(0);w=c[Q>>2]|0;if(!((w|0)==0|m^1)){u=c[Ba>>2]|0;do if((ga|0)>(u*18e3|0)|l^1){if(!((ga|0)>(u*24e3|0)|l^1)){u=1102;break}if((ga|0)<=(u*3e4|0)){u=1103;break}u=(ga|0)>(u*44e3|0)?1105:1104}else u=1101;while(0);E=(w|0)>(u|0)?w:u;c[Q>>2]=E;c[K>>2]=(t|0)<(E|0)?t:E}c[$>>2]=X;Ya(Fa,4036,$)|0;u=c[za>>2]|0;t=(u|0)==1002;do if(t){if((c[K>>2]|0)!=1102)break;c[K>>2]=1103}while(0);if(c[R>>2]|0)c[K>>2]=1101;w=c[ab>>2]|0;do if(((w|0)/50|0|0)<(f|0)){if(!t?(U=c[K>>2]|0,(U|0)<=1103):0){l=U;break}if((S|0)!=-1){c[d+8680>>2]=S;c[d+8684>>2]=T}z=((w|0)/25|0|0)<(f|0)?3:2;m=(j+-3|0)/(z|0)|0;m=(m|0)>1276?1276:m;A=_(z,m)|0;E=na()|0;n=i;i=i+((1*A|0)+15&-16)|0;c[ba+4>>2]=0;A=d+124|0;B=c[A>>2]|0;C=c[J>>2]|0;D=c[P>>2]|0;c[A>>2]=c[za>>2];c[J>>2]=c[K>>2];t=c[Ba>>2]|0;c[P>>2]=t;x=d+64|0;y=c[x>>2]|0;if(!y)c[d+14328>>2]=t;else c[P>>2]=1;t=(xa|0)!=0;u=z+-1|0;l=0;while(1){if((l|0)>=(z|0)){bb=174;break}c[x>>2]=0;if(t&(l|0)==(u|0))c[A>>2]=1002;w=c[ab>>2]|0;v=n+(_(l,m)|0)|0;w=Dc(d,e+((_(l,(_(c[_a>>2]|0,w)|0)/50|0)|0)<<2)|0,(w|0)/50|0,v,m,X,0,0,o,p,q,r,s)|0;if((w|0)<0){t=-3;break}if((Lc(ba,v,w)|0)<0){t=-3;break}l=l+1|0}do if((bb|0)==174){u=(c[Ea>>2]|0)==0;if(u){t=((c[Da>>2]|0)*3|0)/(1200/(z>>>0)|0|0)|0;t=(t|0)<(j|0)?t:j}else t=j;t=Mc(ba,z,h,t,u&1)|0;if((t|0)<0){t=-3;break}c[A>>2]=B;c[J>>2]=C;c[P>>2]=D;c[x>>2]=y}while(0);ya(E|0);h=t;i=cb;return h|0}else l=c[K>>2]|0;while(0);do if((u|0)==1e3){if((l|0)<=1103)break;c[za>>2]=1001}else{if(!((u|0)==1001&(l|0)<1104))break;c[za>>2]=1e3}while(0);T=Ca-da|0;w=(_(c[Da>>2]|0,f)|0)/(w<<3|0)|0;w=((T|0)<(w|0)?T:w)+-1|0;T=Ca+-1|0;c[Oa>>2]=h+1;U=Oa+8|0;c[U>>2]=0;c[Oa+12>>2]=0;c[Oa+16>>2]=0;o=Oa+20|0;c[o>>2]=33;c[Oa+24>>2]=0;p=Oa+28|0;c[p>>2]=-2147483648;c[Oa+40>>2]=-1;S=Oa+32|0;c[S>>2]=0;c[Oa+36>>2]=0;X=Oa+4|0;c[X>>2]=T;c[Oa+44>>2]=0;Q=wa+f|0;P=_(Q,c[_a>>2]|0)|0;r=na()|0;q=i;i=i+((1*(P<<2)|0)+15&-16)|0;P=d+160|0;ba=c[_a>>2]|0;md(q|0,d+14372+((_((c[P>>2]|0)-wa|0,ba)|0)<<2)|0,(_(wa,ba)|0)<<2|0)|0;if((c[za>>2]|0)==1002)t=(Wb(60)|0)<<8;else t=c[d+(V+8)>>2]|0;ba=d+14296|0;j=c[ba>>2]|0;t=t-j|0;t=j+(((t>>16)*983|0)+(((t&65535)*983|0)>>>16))|0;c[ba>>2]=t;b:do if((c[D>>2]|0)==2048){J=Xb(t>>8)|0;ba=c[_a>>2]|0;t=_(wa,ba)|0;J=((J<<16>>16)*2471|0)/((c[ab>>2]|0)/1e3|0|0)|0;V=_(J,-471)|0;j=V+268435456|0;c[$>>2]=j;c[$+4>>2]=-268435456-V<<1;c[$+8>>2]=j;V=j>>6;D=J<<16>>16;C=_(J>>16,D)|0;D=_(J&65535,D)|0;J=_(J,(J>>15)+1>>1)|0;B=C+(D>>>16)+J<<16>>16;E=V&65535;c[Z>>2]=(_(j>>22,B)|0)+((_(E,B)|0)>>16)+(_(V,(C+(D>>16)+J+-8388608>>15)+1>>1)|0);J=V<<16>>16;c[Z+4>>2]=(_(j>>22,J)|0)+((_(E,J)|0)>>16)+(_(V,(j>>21)+1>>1)|0);Jc(e,$,Z,d+14304|0,q+(t<<2)|0,f,ba);if((ba|0)==2)Jc(e+4|0,$,Z,d+14312|0,q+(t+1<<2)|0,f,2)}else{t=c[_a>>2]|0;u=_(wa,t)|0;F=12.0/+(c[ab>>2]|0);x=0;while(1){if((x|0)>=(t|0))break b;n=x<<1;m=d+14304+(n<<2)|0;n=d+14304+((n|1)<<2)|0;y=0;while(1){if((y|0)>=(f|0))break;ba=(_(t,y)|0)+x|0;mb=+g[m>>2];nb=+g[e+(ba<<2)>>2]-mb;g[m>>2]=mb+F*nb+1.0000000031710769e-30;mb=+g[n>>2];nb=nb-mb;g[n>>2]=mb+F*nb+1.0000000031710769e-30;g[q+(u+ba<<2)>>2]=nb;y=y+1|0}x=x+1|0}}while(0);do if(s){m=c[_a>>2]|0;t=_(wa,m)|0;u=q+(t<<2)|0;m=_(m,f)|0;n=0;F=0.0;while(1){if((n|0)>=(m|0))break;nb=+g[q+(t+n<<2)>>2];n=n+1|0;F=F+nb*nb}if(!(!(F<1.0e9)|(F!=F|0.0!=0.0)))break;hd(u|0,0,m<<2|0)|0;e=d+14304|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0}while(0);c:do if((c[za>>2]|0)==1002){m=1065353216;C=ca;B=l;A=v;t=0;bb=269}else{x=_(c[_a>>2]|0,f)|0;J=na()|0;E=i;i=i+((1*(x<<1)|0)+15&-16)|0;x=_(w<<3,Y)|0;C=c[za>>2]|0;D=(C|0)==1001;do if(!D){c[d+36>>2]=x;t=c[d+14348>>2]|0;if(!t)B=1065353216;else{n=x;B=1065353216;bb=208}}else{u=c[Ba>>2]|0;s=_(u,(c[ab>>2]|0)==(f*100|0)?6e3:5e3)|0;t=d+36|0;c[t>>2]=s;m=(l|0)==1104;e=x-s|0;e=s+(m?(e<<1|0)/3|0:(e*3|0)/5|0)|0;s=(x<<2|0)/5|0;ba=(e|0)>(s|0);n=ba?s:e;c[t>>2]=ba?s:e;t=c[d+14348>>2]|0;if(t){B=1065353216;bb=208;break}nb=+(x-n|0);nb=nb/(nb+ +(_(u,m?3e3:3600)|0));B=(g[k>>2]=nb<.8571428656578064?nb+.1428571492433548:1.0,c[k>>2]|0)}while(0);do if((bb|0)==208){if(!(c[Ea>>2]|0))break;if(c[R>>2]|0)break;m=c[K>>2]|0;if((m|0)==1101){z=13;H=8.0e3}else{e=(m|0)==1102;z=e?15:17;H=e?12.0e3:16.0e3}x=c[_a>>2]|0;F=0.0;A=0;while(1){if((A|0)>=(x|0))break;y=A*21|0;u=0;while(1){if((u|0)>=(z|0))break;G=+g[t+(y+u<<2)>>2];do if(G<.5){if(!(G>-2.0)){G=-2.0;break}if(G>0.0)bb=219}else{G=.5;bb=219}while(0);if((bb|0)==219){bb=0;G=G*.5}F=F+G;u=u+1|0}A=A+1|0}s=~~(H*(F/+(z|0)*+(x|0)+.20000000298023224));e=(_(n,-2)|0)/3|0;e=(s|0)>(e|0)?s:e;c[d+36>>2]=n+((m+-1104|0)>>>0<2?(e*3|0)/5|0:e);e=_(e,f)|0;w=w+((e|0)/(c[ab>>2]<<3|0)|0)|0}while(0);c[d+32>>2]=(f*1e3|0)/(c[ab>>2]|0)|0;c[d+8>>2]=c[_a>>2];c[d+12>>2]=c[Ba>>2];switch(l|0){case 1101:{c[d+28>>2]=8e3;t=8e3;break}case 1102:{c[d+28>>2]=12e3;t=12e3;break}default:{c[d+28>>2]=16e3;t=16e3}}u=d+24|0;do if(D){c[u>>2]=16e3;bb=234}else{c[u>>2]=8e3;if((C|0)!=1e3){bb=234;break}m=d+20|0;c[m>>2]=16e3;u=W?(ea<<4|0)/3|0:fa;if((u|0)<13e3){c[m>>2]=12e3;t=t>>>0>12e3?12e3:t;c[d+28>>2]=t}if((u|0)>=9600)break;c[m>>2]=8e3;c[d+28>>2]=(t|0)>8e3?8e3:t}while(0);if((bb|0)==234)c[d+20>>2]=16e3;u=d+56|0;c[u>>2]=(c[Ea>>2]|0)==0&1;t=T-da|0;t=(t|0)>1275?1275:t;c[ka>>2]=t;m=d+60|0;c[m>>2]=t<<3;if((c[za>>2]|0)==1001)c[m>>2]=(t*72|0)/10|0;if(c[u>>2]|0){e=d+36|0;s=c[e>>2]|0;fa=_(s,f)|0;c[m>>2]=((fa|0)/(c[ab>>2]<<3|0)|0)<<3;s=s+-2e3|0;c[e>>2]=(s|0)<1?1:s}if(!L)u=0;else{c[ha>>2]=0;fa=c[_a>>2]|0;e=c[ab>>2]|0;ea=(e|0)/400|0;u=_(fa,(c[P>>2]|0)-(c[d+104>>2]|0)-ea|0)|0;ba=d+14372+(u<<2)|0;s=c[Aa>>2]|0;Ic(ba,ba,0.0,1.0,c[s+4>>2]|0,ea,fa,c[s+60>>2]|0,e);hd(d+14372|0,0,u<<2|0)|0;u=0;while(1){t=c[P>>2]|0;if((u|0)>=(_(t,c[_a>>2]|0)|0))break;F=+g[d+14372+(u<<2)>>2]*32768.0;if(F>-32768.0)if(F<32767.0)bb=244;else F=32767.0;else{F=-32768.0;bb=244}if((bb|0)==244)bb=0;t=(g[k>>2]=F,c[k>>2]|0);do if((t&2130706432)>>>0<=1249902592){t=(t|0)<0;F=t?F+-8388608.0+8388608.0:F+8388608.0+-8388608.0;if(!(F==0.0))break;F=t?-0.0:0.0}while(0);b[E+(u<<1)>>1]=~~F;u=u+1|0}Db(ja,d+8|0,E,t,0,ha,1)|0;u=0}while(1){t=c[_a>>2]|0;if((u|0)>=(_(t,f)|0))break;F=+g[q+((_(wa,t)|0)+u<<2)>>2]*32768.0;if(F>-32768.0)if(F<32767.0)bb=253;else F=32767.0;else{F=-32768.0;bb=253}if((bb|0)==253)bb=0;t=(g[k>>2]=F,c[k>>2]|0);do if((t&2130706432)>>>0<=1249902592){t=(t|0)<0;F=t?F+-8388608.0+8388608.0:F+8388608.0+-8388608.0;if(!(F==0.0))break;F=t?-0.0:0.0}while(0);b[E+(u<<1)>>1]=~~F;u=u+1|0}t=Db(ja,d+8|0,E,f,Oa,ka,0)|0;do if(!t){if(!(c[ka>>2]|0)){c[Za>>2]=0;a[h>>0]=Hc(c[za>>2]|0,(c[ab>>2]|0)/(f|0)|0,l,c[Ba>>2]|0)|0;t=1;break}do if((c[za>>2]|0)==1e3){u=c[d+76>>2]|0;if((u|0)==8e3){l=1101;break}if((u|0)==12e3){l=1102;break}l=(u|0)==16e3?1103:l}while(0);bb=c[d+92>>2]|0;c[d+68>>2]=bb;if(!bb)u=ca;else{c[ia>>2]=1;u=0;v=1}ya(J|0);m=B;C=u;B=l;A=v;bb=269;break c}else t=-3;while(0);ya(J|0)}while(0);d:do if((bb|0)==269){switch(B|0){case 1101:{u=13;break}case 1103:case 1102:{u=17;break}case 1104:{u=19;break}default:u=21}c[qa>>2]=u;Ya(Fa,10012,qa)|0;c[ra>>2]=c[Ba>>2];Ya(Fa,10008,ra)|0;c[ma>>2]=-1;Ya(Fa,4002,ma)|0;do if((c[za>>2]|0)==1e3){y=((_(c[_a>>2]|0,c[ab>>2]|0)|0)/400|0)<<2;z=i;i=i+((1*y|0)+15&-16)|0;y=0}else{c[oa>>2]=0;Ya(Fa,4006,oa)|0;c[pa>>2]=(c[d+72>>2]|0)==0?2:0;Ya(Fa,10002,pa)|0;do if((c[za>>2]|0)==1001){u=(c[o>>2]|0)+((aa(c[p>>2]|0)|0)+-32)+7>>3;u=(A|0)==0?u:u+3|0;if(!(c[Ea>>2]|0)){w=(u|0)>(w|0)?u:w;break}else{ua=_(c[d+36>>2]|0,f)|0;w=u+w-((ua|0)/(c[ab>>2]<<3|0)|0)|0;break}}else{if(!(c[Ea>>2]|0))break;do if((c[la>>2]|0)==5010){u=c[ab>>2]|0;if(((u|0)/50|0|0)==(f|0)){u=0;break}u=_(((c[Ba>>2]|0)*60|0)+40|0,((u|0)/(f|0)|0)+-50|0)|0;if(!(c[Ga>>2]|0))break;u=~~(+(u|0)*(+g[Ga+4>>2]*.5+1.0))}else u=0;while(0);c[sa>>2]=1;Ya(Fa,4006,sa)|0;c[ta>>2]=c[d+140>>2];Ya(Fa,4020,ta)|0;c[ua>>2]=(c[Da>>2]|0)+u;Ya(Fa,4002,ua)|0;w=T-da|0}while(0);u=c[za>>2]|0;ua=((_(c[_a>>2]|0,c[ab>>2]|0)|0)/400|0)<<2;v=i;i=i+((1*ua|0)+15&-16)|0;if((u|0)==1e3){z=v;y=w;break}ua=c[va>>2]|0;if(!((u|0)!=(ua|0)&(ua|0)>0)){z=v;y=w;break}z=c[ab>>2]|0;y=c[_a>>2]|0;md(v|0,d+14372+((_((c[P>>2]|0)-wa-((z|0)/400|0)|0,y)|0)<<2)|0,((_(y,z)|0)/400|0)<<2|0)|0;z=v;y=w}while(0);w=c[_a>>2]|0;u=c[P>>2]|0;v=d+14372|0;if((_(w,u-Q|0)|0)>0){wa=_(w,u-f-wa|0)|0;nd(v|0,d+14372+((_(w,f)|0)<<2)|0,wa<<2|0)|0;md(d+14372+(wa<<2)|0,q|0,(_(Q,w)|0)<<2|0)|0}else md(v|0,q+((_(Q-u|0,w)|0)<<2)|0,(_(u,w)|0)<<2|0)|0;u=d+14300|0;G=+g[u>>2];F=(c[k>>2]=m,+g[k>>2]);if(G<1.0|F<1.0){wa=c[Aa>>2]|0;Ic(q,q,G,F,c[wa+4>>2]|0,f,c[_a>>2]|0,c[wa+60>>2]|0,c[ab>>2]|0)}c[u>>2]=m;w=c[za>>2]|0;if(!((w|0)==1001?(c[Ba>>2]|0)!=1:0)){do if((ga|0)<3e4){u=0;bb=298}else{if(((ga<<1)+-6e4|0)>16384){u=16384;break}u=ga+-3e4|0;bb=298}while(0);if((bb|0)==298)u=u<<1;c[d+88>>2]=u}do if(!(c[d+14348>>2]|0)){if((c[_a>>2]|0)!=2){u=w;break}x=d+14292|0;u=b[x>>1]|0;n=d+88|0;v=c[n>>2]|0;if(!(u<<16>>16<16384|(v|0)<16384)){u=w;break}w=c[Aa>>2]|0;l=48e3/(c[ab>>2]|0)|0;m=(c[w+4>>2]|0)/(l|0)|0;F=1.0-+(u<<16>>16)*.00006103515625;G=1.0-+(v|0)*.00006103515625;u=c[w+60>>2]|0;v=(m|0)>0;w=0;while(1){if((w|0)>=(m|0))break;nb=+g[u+((_(w,l)|0)<<2)>>2];nb=nb*nb;Aa=w<<1;wa=q+(Aa<<2)|0;jb=+g[wa>>2];Aa=q+((Aa|1)<<2)|0;mb=+g[Aa>>2];nb=(nb*G+(1.0-nb)*F)*((jb-mb)*.5);g[wa>>2]=jb-nb;g[Aa>>2]=mb+nb;w=w+1|0}u=v?m:0;while(1){if((u|0)>=(f|0))break;Aa=u<<1;wa=q+(Aa<<2)|0;jb=+g[wa>>2];Aa=q+((Aa|1)<<2)|0;mb=+g[Aa>>2];nb=G*((jb-mb)*.5);g[wa>>2]=jb-nb;g[Aa>>2]=mb+nb;u=u+1|0}b[x>>1]=c[n>>2];u=c[za>>2]|0}else u=w;while(0);e:do if((u|0)==1002)bb=331;else{w=c[p>>2]|0;v=(c[o>>2]|0)+((aa(w|0)|0)+-32)|0;u=(u|0)==1001;if((v+17+(u?20:0)|0)>((Ca<<3)+-8|0)){bb=331;break}f:do if(u){if(!A){if((v+37|0)>(y<<3|0)){bb=331;break e}l=Oa+32|0;u=w-(w>>>12)|0}else{u=w>>>12;l=Oa+32|0;c[l>>2]=(c[S>>2]|0)+(w-u)}v=Oa+28|0;c[v>>2]=u;w=Oa+20|0;while(1){if(u>>>0>=8388609)break f;lb(Oa,(c[l>>2]|0)>>>23);c[l>>2]=c[l>>2]<<8&2147483392;u=c[v>>2]<<8;c[v>>2]=u;c[w>>2]=(c[w>>2]|0)+8}}while(0);if(!A){bb=331;break}v=c[p>>2]|0;u=v>>>1;v=v-u|0;if(!C){l=Oa+32|0;u=v}else{l=Oa+32|0;c[l>>2]=(c[S>>2]|0)+v}v=Oa+28|0;c[v>>2]=u;w=Oa+20|0;while(1){if(u>>>0>=8388609)break;lb(Oa,(c[l>>2]|0)>>>23);c[l>>2]=c[l>>2]<<8&2147483392;u=c[v>>2]<<8;c[v>>2]=u;c[w>>2]=(c[w>>2]|0)+8}v=(c[za>>2]|0)==1001;if(v)u=y;else u=(c[o>>2]|0)+((aa(c[p>>2]|0)|0)+-32)+7>>3;Aa=T-u|0;u=(c[Da>>2]|0)/1600|0;u=(Aa|0)<(u|0)?Aa:u;u=(u|0)<2?2:(u|0)>257?257:u;if(!v){v=A;l=u;break}gb(Oa,u+-2|0,u+-1|0,256);v=A;l=u}while(0);if((bb|0)==331){c[ia>>2]=0;v=0;l=0}u=c[za>>2]|0;do if((u|0)==1002){u=0;bb=335}else{if((u|0)!=1e3){u=17;bb=335;break}t=(c[o>>2]|0)+((aa(c[p>>2]|0)|0)+-32)+7>>3;kb(Oa);w=t;u=17}while(0);if((bb|0)==335){w=T-l|0;w=(w|0)<(y|0)?w:y;Da=c[Oa>>2]|0;bb=c[U>>2]|0;nd(Da+(w-bb)|0,Da+((c[X>>2]|0)-bb)|0,bb|0)|0;c[X>>2]=w}v=(v|0)==0;do if(v){if((c[za>>2]|0)==1e3)break;c[Ha>>2]=Ga;Ya(Fa,10022,Ha)|0}else{c[Ia>>2]=Ga;Ya(Fa,10022,Ia)|0;if(!C)break;c[Ja>>2]=0;Ya(Fa,10010,Ja)|0;c[Ka>>2]=0;Ya(Fa,4006,Ka)|0;if((Xa(Fa,q,(c[ab>>2]|0)/200|0,h+(w+1)|0,l,0)|0)<0){t=-3;break d}c[La>>2]=Sa;Ya(Fa,4031,La)|0;Ya(Fa,4028,Ma)|0}while(0);c[$a>>2]=u;Ya(Fa,10010,$a)|0;u=c[za>>2]|0;do if((u|0)!=1e3){bb=c[va>>2]|0;if((u|0)!=(bb|0)&(bb|0)>0){Ya(Fa,4028,Pa)|0;Xa(Fa,z,(c[ab>>2]|0)/400|0,Na,2,0)|0;c[Qa>>2]=0;Ya(Fa,10002,Qa)|0}if(((c[o>>2]|0)+((aa(c[p>>2]|0)|0)+-32)|0)>(w<<3|0))break;t=Xa(Fa,q,f,0,w,Oa)|0;if((t|0)<0){t=-3;break d}}while(0);if((v^1)&(C|0)==0){Qa=c[ab>>2]|0;bb=(Qa|0)/200|0;Qa=(Qa|0)/400|0;Ya(Fa,4028,Ta)|0;c[Ua>>2]=0;Ya(Fa,10010,Ua)|0;c[Va>>2]=0;Ya(Fa,10002,Va)|0;Va=f-bb|0;Xa(Fa,q+((_(c[_a>>2]|0,Va-Qa|0)|0)<<2)|0,Qa,Ra,2,0)|0;if((Xa(Fa,q+((_(c[_a>>2]|0,Va)|0)<<2)|0,bb,h+(w+1)|0,l,0)|0)<0){t=-3;break}c[Wa>>2]=Sa;Ya(Fa,4031,Wa)|0}a[h>>0]=Hc(c[za>>2]|0,(c[ab>>2]|0)/(f|0)|0,B,c[Ba>>2]|0)|0;c[Za>>2]=c[p>>2]^c[Sa>>2];if(!xa)u=c[za>>2]|0;else u=1002;c[va>>2]=u;c[d+14328>>2]=c[Ba>>2];c[d+14332>>2]=f;c[d+14344>>2]=0;g:do if(((c[o>>2]|0)+((aa(c[p>>2]|0)|0)+-32)|0)>((Ca<<3)+-8|0)){if((Ca|0)<2){t=-2;break d}a[h+1>>0]=0;c[Za>>2]=0;t=1}else{if((c[za>>2]|0)==1e3^1|v^1)break;while(1){if((t|0)<=2)break g;if(a[h+t>>0]|0)break g;t=t+-1|0}}while(0);t=t+(l+1)|0;h:do if(!(c[Ea>>2]|0)){i:do if((t|0)>=1){do if((Ca|0)!=(t|0)){if((Ca|0)<(t|0))break i;d=$a+4|0;c[d>>2]=0;bb=h+(Ca-t)|0;nd(bb|0,h|0,t|0)|0;Lc($a,bb,t)|0;t=Mc($a,c[d>>2]|0,h,Ca,1)|0;if((t|0)>0)break;if(!t){t=Ca;break h}else{t=-3;break d}}while(0);t=Ca;break h}while(0);t=-3;break d}while(0)}while(0);ya(r|0);h=t;i=cb;return h|0}while(0);u=c[d+14320>>2]|0;v=c[d+14336>>2]|0;v=(v|0)==0?1101:v;do if((Y|0)<=100){if((Y|0)>=50?(t=(u|0)==0?1e3:u,(t|0)!=1e3):0)if((t|0)==1002){bb=49;break}else{bb=50;break}if((v|0)>1103){u=1103;t=1e3}else{t=1e3;bb=51}}else{t=1002;bb=49}while(0);if((bb|0)==49)if((v|0)==1102)u=1101;else bb=50;if((bb|0)==50)if((v|0)<1105)bb=51;else u=v;if((bb|0)==51)u=1104;a[h>>0]=Hc(t,Y,u,c[d+14288>>2]|0)|0;h=1;i=cb;return h|0}function Ec(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c[a+96>>2]|0)==2051)l=0;else l=c[a+104>>2]|0;j=c[a+144>>2]|0;o=a+100|0;k=c[o>>2]|0;m=c[a+132>>2]|0;g=c[a+148>>2]|0;h=a+7044|0;i=(j|0)==5010;a:do if(i^1|((m|0)/200|0|0)>(d|0)){g=(m|0)/400|0;if((g|0)<=(d|0)){if((j|0)!=5e3){if(i)g=(m|0)/50|0;else{if(!((j|0)>5e3&(j|0)<5007)){g=-1;break}l=(m*3|0)/50|0;g=g<<j+-5001;g=(l|0)<(g|0)?l:g}if((g|0)>(d|0)){g=-1;break}}else g=d;if(!((g*400|0)==(m|0)|(g*200|0)==(m|0)|(g*100|0)==(m|0))?(l=g*50|0,!((l|0)==(m|0)|(g*25|0)==(m|0)|(l|0)==(m*3|0))):0)g=-1;else n=16}else g=-1}else{i=(m|0)/400|0;h=Gc(b,d,k,m,g,h,l,1)|0;while(1){g=i<<h;if((g|0)<=(d|0)){n=16;break a}h=h+-1|0}}while(0);if((n|0)==16)g=(g|0)<0?-1:g;return Dc(a,b,g,e,f,24,b,d,0,-2,c[o>>2]|0,1,1)|0}function Fc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+160|0;m=r+48|0;k=r+40|0;j=r+32|0;h=r+24|0;o=r+16|0;n=r+8|0;l=r;q=r+144|0;f=r+56|0;c[q>>2]=e;p=a+(c[a>>2]|0)|0;a:do switch(d|0){case 4e3:{p=(c[q>>2]|0)+(4-1)&~(4-1);f=c[p>>2]|0;c[q>>2]=p+4;switch(f|0){case 2051:case 2049:case 2048:break;default:{e=-1;f=104;break a}}e=a+96|0;if((c[a+14344>>2]|0)==0?(c[e>>2]|0)!=(f|0):0){e=-1;f=104;break a}c[e>>2]=f;e=0;f=104;break}case 4001:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+96>>2];e=0;f=104}break}case 4002:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)!=-1e3)if((e|0)!=-1){if((e|0)<1){f=105;break a}if((e|0)<501)e=500;else{q=(c[a+100>>2]|0)*3e5|0;e=(e|0)>(q|0)?q:e}}else e=-1;else e=-1e3;c[a+152>>2]=e;e=0;f=104;break}case 4003:{p=(c[q>>2]|0)+(4-1)&~(4-1);d=c[p>>2]|0;c[q>>2]=p+4;if(!d)f=105;else{e=c[a+14332>>2]|0;if(!e)f=(c[a+132>>2]|0)/400|0;else f=e;e=c[a+152>>2]|0;switch(e|0){case -1e3:{e=c[a+132>>2]|0;e=((e*60|0)/(f|0)|0)+(_(e,c[a+100>>2]|0)|0)|0;break}case -1:{e=((c[a+132>>2]|0)*10208|0)/(f|0)|0;break}default:{}}c[d>>2]=e;e=0;f=104}break}case 4022:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<1){if((e|0)!=-1e3){f=105;break a}}else if((e|0)>(c[a+100>>2]|0)){f=105;break a}c[a+108>>2]=e;e=0;f=104;break}case 4023:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+108>>2];e=0;f=104}break}case 4004:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<1101|(e|0)>1105)f=105;else{c[a+120>>2]=e;switch(e|0){case 1101:{c[a+20>>2]=8e3;e=0;f=104;break a}case 1102:{c[a+20>>2]=12e3;e=0;f=104;break a}default:{c[a+20>>2]=16e3;e=0;f=104;break a}}}break}case 4005:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+120>>2];e=0;f=104}break}case 4008:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;b:do if((e|0)<1101){if((e|0)!=-1e3){f=105;break a}c[a+116>>2]=e}else{if((e|0)>1105){f=105;break a}c[a+116>>2]=e;switch(e|0){case 1101:{c[a+20>>2]=8e3;e=0;f=104;break a}case 1102:{c[a+20>>2]=12e3;e=0;f=104;break a}default:break b}}while(0);c[a+20>>2]=16e3;e=0;f=104;break}case 4009:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+14336>>2];e=0;f=104}break}case 4016:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<0|(e|0)>1)f=105;else{c[a+52>>2]=e;e=0;f=104}break}case 4017:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+52>>2];e=0;f=104}break}case 4010:{o=(c[q>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[q>>2]=o+4;if((e|0)<0|(e|0)>10)f=105;else{c[a+44>>2]=e;c[l>>2]=e;Ya(p,4010,l)|0;e=0;f=104}break}case 4011:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+44>>2];e=0;f=104}break}case 4012:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<0|(e|0)>1)f=105;else{c[a+48>>2]=e;e=0;f=104}break}case 4013:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+48>>2];e=0;f=104}break}case 4014:{o=(c[q>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[q>>2]=o+4;if((e|0)<0|(e|0)>100)f=105;else{c[a+40>>2]=e;c[n>>2]=e;Ya(p,4014,n)|0;e=0;f=104}break}case 4015:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+40>>2];e=0;f=104}break}case 4006:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<0|(e|0)>1)f=105;else{c[a+136>>2]=e;c[a+56>>2]=1-e;e=0;f=104}break}case 4007:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+136>>2];e=0;f=104}break}case 11018:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<-1|(e|0)>100)f=105;else{c[a+128>>2]=e;e=0;f=104}break}case 11019:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+128>>2];e=0;f=104}break}case 4020:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<0|(e|0)>1)f=105;else{c[a+140>>2]=e;e=0;f=104}break}case 4021:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+140>>2];e=0;f=104}break}case 4024:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<3001)switch(e|0){case -1e3:break;default:{f=105;break a}}else switch(e|0){case 3002:case 3001:break;default:{f=105;break a}}c[a+112>>2]=e;e=0;f=104;break}case 4025:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+112>>2];e=0;f=104}break}case 4027:{p=(c[q>>2]|0)+(4-1)&~(4-1);f=c[p>>2]|0;c[q>>2]=p+4;if(f){e=(c[a+132>>2]|0)/400|0;c[f>>2]=e;if((c[a+96>>2]|0)==2051){e=0;f=104}else{c[f>>2]=e+(c[a+104>>2]|0);e=0;f=104}}else f=105;break}case 4029:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+132>>2];e=0;f=104}break}case 4031:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+18216>>2];e=0;f=104}break}case 4036:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<8|(e|0)>24)f=105;else{c[a+156>>2]=e;e=0;f=104}break}case 4037:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+156>>2];e=0;f=104}break}case 4040:{n=(c[q>>2]|0)+(4-1)&~(4-1);e=c[n>>2]|0;c[q>>2]=n+4;switch(e|0){case 5010:case 5006:case 5005:case 5004:case 5003:case 5002:case 5001:case 5e3:break;default:{f=105;break a}}c[a+144>>2]=e;c[o>>2]=e;Ya(p,4040,o)|0;e=0;f=104;break}case 4041:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+144>>2];e=0;f=104}break}case 4042:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)>1|(e|0)<0)f=105;else{c[a+72>>2]=e;e=0;f=104}break}case 4043:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)f=105;else{c[e>>2]=c[a+72>>2];e=0;f=104}break}case 4028:{q=a+(c[a+4>>2]|0)|0;hd(a+176|0,0,14112)|0;e=a+14288|0;hd(e|0,0,3932)|0;Ya(p,4028,h)|0;Cb(q,c[a+168>>2]|0,f)|0;c[e>>2]=c[a+100>>2];b[a+14292>>1]=16384;g[a+14300>>2]=1.0;c[a+14344>>2]=1;c[a+14320>>2]=1001;c[a+14336>>2]=1105;c[a+14296>>2]=(Wb(60)|0)<<8;e=0;f=104;break}case 11002:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<1e3){if((e|0)!=-1e3){f=105;break a}}else if((e|0)>1002){f=105;break a}c[a+124>>2]=e;e=0;f=104;break}case 10024:{f=(c[q>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[q>>2]=f+4;c[a+164>>2]=e;c[j>>2]=e;e=Ya(p,10024,j)|0;f=104;break}case 10026:{f=(c[q>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[q>>2]=f+4;c[a+14348>>2]=e;c[k>>2]=e;e=Ya(p,10026,k)|0;f=104;break}case 10015:{a=(c[q>>2]|0)+(4-1)&~(4-1);e=c[a>>2]|0;c[q>>2]=a+4;if(!e)f=105;else{c[m>>2]=e;e=Ya(p,10015,m)|0;f=104}break}default:{e=-5;f=104}}while(0);if((f|0)==104){a=e;i=r;return a|0}else if((f|0)==105){a=-1;i=r;return a|0}return 0}function Gc(a,b,d,e,f,h,j,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;var m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+3296|0;A=E+1760|0;C=E+224|0;D=E+112|0;z=E;s=(e|0)/400|0;t=i;i=i+((1*(s<<2)|0)+15&-16)|0;B=c[h>>2]|0;c[D>>2]=B;g[z>>2]=1.0/((c[k>>2]=B,+g[k>>2])+1.0000000036274937e-15);B=(j|0)==0;if(B){e=b;q=0;r=1}else{q=(s<<1)-j|0;e=c[h+4>>2]|0;c[D+4>>2]=e;g[z+4>>2]=1.0/((c[k>>2]=e,+g[k>>2])+1.0000000036274937e-15);e=c[h+8>>2]|0;c[D+8>>2]=e;g[z+8>>2]=1.0/((c[k>>2]=e,+g[k>>2])+1.0000000036274937e-15);e=b-q|0;r=3}j=(e|0)/(s|0)|0;j=(j|0)<24?j:24;o=(j|0)>0;e=0;p=0;while(1){if((p|0)>=(j|0))break;b=(_(p,s)|0)+q|0;Ca[l&1](a,t,s,b,0,-2,d);e=(p|0)==0?c[t>>2]|0:e;b=0;n=646978941;while(1){if((b|0)>=(s|0))break;y=c[t+(b<<2)>>2]|0;w=(c[k>>2]=y,+g[k>>2]);w=w-(c[k>>2]=e,+g[k>>2]);e=y;b=b+1|0;n=(g[k>>2]=(c[k>>2]=n,+g[k>>2])+w*w,c[k>>2]|0)}y=p+r|0;c[D+(y<<2)>>2]=n;g[z+(y<<2)>>2]=1.0/(c[k>>2]=n,+g[k>>2]);p=p+1|0}y=(o?j:0)+r|0;c[D+(y<<2)>>2]=c[D+(y+-1<<2)>>2];if(!B){j=j+2|0;j=(j|0)>24?24:j}x=~~+((d*60|0)+40|0);y=(f|0)/400|0;if((f|0)>=32e3)if((f|0)>64399)w=1.0;else w=+(y+-80|0)/80.0;else w=0.0;e=0;while(1){if((e|0)==16)break;c[C+(e<<2)>>2]=-1;g[A+(e<<2)>>2]=1.0e10;e=e+1|0}e=j+1|0;b=0;while(1){if((b|0)==4){v=1;break}v=1<<b;g[A+(v<<2)>>2]=+(x+(y<<b)|0)*(w*+Kc(D,z,b,e)+1.0);c[C+(v<<2)>>2]=b;b=b+1|0}while(1){if((j|0)<=(v|0))break;f=v+-1|0;e=2;while(1){if((e|0)==16)break;d=e+-1|0;c[A+(v<<6)+(e<<2)>>2]=c[A+(f<<6)+(d<<2)>>2];c[C+(v<<6)+(e<<2)>>2]=d;e=e+1|0}q=A+(f<<6)+4|0;r=D+(v<<2)|0;s=z+(v<<2)|0;t=j-v|0;l=t+1|0;u=+(t|0);d=0;while(1){if((d|0)==4)break;p=1<<d;o=C+(v<<6)+(p<<2)|0;c[o>>2]=1;a=c[q>>2]|0;e=1;while(1){if((e|0)==4)break;e=e+1|0;n=(1<<e)+-1|0;b=c[A+(f<<6)+(n<<2)>>2]|0;m=(c[k>>2]=b,+g[k>>2]);if(!(m<(c[k>>2]=a,+g[k>>2])))continue;c[o>>2]=n;a=b}m=+(x+(y<<d)|0)*(w*+Kc(r,s,d,l)+1.0);e=A+(v<<6)+(p<<2)|0;c[e>>2]=a;if((t|0)<(p|0))m=m*u/+(p|0);g[e>>2]=(c[k>>2]=a,+g[k>>2])+m;d=d+1|0}v=v+1|0}e=j+-1|0;o=c[A+(e<<6)+4>>2]|0;b=1;p=2;while(1){if((p|0)==16)break;m=+g[A+(e<<6)+(p<<2)>>2];n=m<(c[k>>2]=o,+g[k>>2]);o=n?(g[k>>2]=m,c[k>>2]|0):o;b=n?p:b;p=p+1|0}while(1){e=j+-1|0;if((j|0)<=0)break;j=e;b=c[C+(e<<6)+(b<<2)>>2]|0}e=1<<b;c[h>>2]=c[D+(e<<2)>>2];if(B){i=E;return b|0}c[h+4>>2]=c[D+(e+1<<2)>>2];c[h+8>>2]=c[D+(e+2<<2)>>2];i=E;return b|0}function Hc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((b|0)>=400)break;b=b<<1;e=e+1|0}switch(a|0){case 1e3:{b=(c<<5)+96&224|(e<<3)+-16;break}case 1002:{b=((c|0)<1102?0:c+-1102|0)<<5&96|e<<3|128;break}default:b=c<<4|(e<<3)+240|96}return (b|((d|0)==2&1)<<2)&255|0}function Ic(a,b,c,d,e,f,h,i,j){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0;k=48e3/(j|0)|0;l=(e|0)/(k|0)|0;a:do if((h|0)==1){j=0;while(1){if((j|0)>=(l|0)){j=0;break a}m=+g[i+((_(j,k)|0)<<2)>>2];m=m*m;g[b+(j<<2)>>2]=(m*d+(1.0-m)*c)*+g[a+(j<<2)>>2];j=j+1|0}}else{j=0;while(1){if((j|0)>=(l|0)){j=0;break a}m=+g[i+((_(j,k)|0)<<2)>>2];m=m*m;m=m*d+(1.0-m)*c;e=j<<1;g[b+(e<<2)>>2]=m*+g[a+(e<<2)>>2];e=e|1;g[b+(e<<2)>>2]=m*+g[a+(e<<2)>>2];j=j+1|0}}while(0);do{e=l;while(1){if((e|0)>=(f|0))break;i=(_(e,h)|0)+j|0;g[b+(i<<2)>>2]=+g[a+(i<<2)>>2]*d;e=e+1|0}j=j+1|0}while((j|0)<(h|0));return}function Jc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0;n=+(c[d>>2]|0)*3.725290298461914e-09;l=+(c[d+4>>2]|0)*3.725290298461914e-09;m=+(c[b>>2]|0)*3.725290298461914e-09;k=+(c[b+4>>2]|0)*3.725290298461914e-09;j=+(c[b+8>>2]|0)*3.725290298461914e-09;d=e+4|0;b=0;while(1){if((b|0)>=(h|0))break;o=_(b,i)|0;q=+g[a+(o<<2)>>2];p=+g[e>>2]+m*q;g[e>>2]=+g[d>>2]-p*n+k*q;g[d>>2]=j*q-p*l+1.0000000031710769e-30;g[f+(o<<2)>>2]=p;b=b+1|0}return}function Kc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0;c=1<<c;c=(c|0)<(d|0)?c+1|0:d;d=0;e=0.0;f=0.0;while(1){if((d|0)>=(c|0))break;i=e+ +g[a+(d<<2)>>2];h=f+ +g[b+(d<<2)>>2];d=d+1|0;e=i;f=h}e=(e*f/+(_(c,c)|0)+-2.0)*.05000000074505806;c=e<0.0;if(+O(+(c?0.0:e))>1.0){i=1.0;return +i}i=+O(+(c?0.0:e));return +i}function Lc(e,f,g){e=e|0;f=f|0;g=g|0;var 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,u=0,v=0,w=0,x=0,y=0;if((g|0)<1){y=-4;return y|0}y=e+4|0;x=c[y>>2]|0;if(x){if(((a[e>>0]^a[f>>0])&255)>=4){y=-4;return y|0}}else{a[e>>0]=a[f>>0]|0;c[e+296>>2]=zc(f,8e3)|0}j=d[f>>0]&3;if(j)if((j|0)==3){if((g|0)<2){y=-4;return y|0}j=d[f+1>>0]&63;if((j|0)<1){y=-4;return y|0}else w=j}else w=2;else w=1;if((_(w+x|0,c[e+296>>2]|0)|0)>960){y=-4;return y|0}l=e+200+(x<<1)|0;n=zc(f,48e3)|0;m=f+1|0;j=m;o=g+-1|0;a:do switch(d[f>>0]&3|0){case 0:{i=j;h=1;k=o;break}case 1:if(!(o&1)){k=(o|0)/2|0;b[l>>1]=k;i=j;h=2;break a}else{y=-4;return y|0}case 2:{if((g|0)<2){b[l>>1]=-1;y=-4;return y|0}h=a[m>>0]|0;do if((h&255)<252){h=h&255;b[l>>1]=h;i=1}else{if((g|0)>=3){h=(d[f+2>>0]<<2)+(h&255)&65535;b[l>>1]=h;i=2;break}b[l>>1]=-1;y=-4;return y|0}while(0);k=o-i|0;j=h<<16>>16;if((k|0)<(j|0)){y=-4;return y|0}else{i=f+(i+1)|0;h=2;k=k-j|0;break a}}default:{if((g|0)<2){y=-4;return y|0}l=f+2|0;m=a[m>>0]|0;t=m&63;if((t|0)==0|(_(n,t)|0)>5760){y=-4;return y|0}j=g+-2|0;if(m&64){while(1){if((j|0)<1){u=-4;s=52;break}p=l;r=p+1|0;p=a[p>>0]|0;q=j+-1|0;if(p<<24>>24!=-1)break;j=q-254|0;l=r}if((s|0)==52)return u|0;j=q-(p&255)|0;if((j|0)<0){y=-4;return y|0}else l=r}if(m<<24>>24>=0){k=(j|0)/(t|0)|0;if((_(k,t)|0)!=(j|0)){y=-4;return y|0}h=t+-1|0;i=k&65535;j=0;while(1){if((j|0)>=(h|0)){i=l;h=t;break a}b[e+200+(x+j<<1)>>1]=i;j=j+1|0}}p=t+-1|0;g=j;f=j;o=0;while(1){if((o|0)>=(p|0)){s=41;break}v=e+200+(x+o<<1)|0;if((g|0)<1){s=33;break}j=l;m=a[j>>0]|0;if((m&255)<252){j=m&255;b[v>>1]=j;n=1}else{if((g|0)<2){s=37;break}j=(d[j+1>>0]<<2)+(m&255)&65535;b[v>>1]=j;n=2}m=g-n|0;j=j<<16>>16;if((j|0)>(m|0)){u=-4;s=52;break}g=m;l=l+n|0;f=f-(n+j)|0;o=o+1|0}if((s|0)==33){b[v>>1]=-1;y=-4;return y|0}else if((s|0)==37){b[v>>1]=-1;y=-4;return y|0}else if((s|0)==41){if((f|0)<0)u=-4;else{i=l;h=t;k=f;break a}return u|0}else if((s|0)==52)return u|0}}while(0);if((k|0)>1275){y=-4;return y|0}b[e+200+(x+(h+-1)<<1)>>1]=k;j=0;while(1){if((j|0)>=(h|0))break;c[e+8+(x+j<<2)>>2]=i;i=i+(b[e+200+(x+j<<1)>>1]|0)|0;j=j+1|0}if((h|0)<1){y=h;return y|0}c[y>>2]=(c[y>>2]|0)+w;y=0;return y|0}function Mc(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if((f|0)<=0){e=-1;return e|0}if((c[e+4>>2]|0)<(f|0)){e=-1;return e|0}n=e+200|0;a:do switch(f|0){case 1:{j=b[n>>1]|0;if((j|0)<(h|0)){a[g>>0]=d[e>>0]&252;k=g+1|0;j=j+1|0;l=15;break a}else{e=-2;return e|0}}case 2:{j=b[e+202>>1]|0;k=b[n>>1]|0;if(j<<16>>16==k<<16>>16){j=j<<16>>16<<1|1;if((j|0)>(h|0)){e=-2;return e|0}else{a[g>>0]=d[e>>0]&252|1;k=g+1|0;l=15;break a}}j=(k<<16>>16)+(j<<16>>16)+2+(k<<16>>16>251&1)|0;if((j|0)>(h|0)){e=-2;return e|0}k=g+1|0;a[g>>0]=d[e>>0]&252|2;l=b[n>>1]|0;m=l<<16>>16;if(l<<16>>16<252){a[k>>0]=l;k=2}else{l=m|252;a[k>>0]=l;a[g+2>>0]=(m-(l&255)|0)>>>2;k=3}k=g+k|0;l=15;break}default:{j=1;l=16}}while(0);if((l|0)==15)if((i|0)!=0&(j|0)<(h|0)){j=1;l=16}b:do if((l|0)==16){while(1){if((j|0)>=(f|0)){l=24;break}if((b[e+200+(j<<1)>>1]|0)!=(b[n>>1]|0)){l=19;break}j=j+1|0;l=16}do if((l|0)==19){j=f+-1|0;k=0;l=2;while(1){if((k|0)>=(j|0))break;n=b[e+200+(k<<1)>>1]|0;k=k+1|0;l=l+((n<<16>>16>251?2:1)+(n<<16>>16))|0}j=l+(b[e+200+(j<<1)>>1]|0)|0;if((j|0)>(h|0)){e=-2;return e|0}else{a[g>>0]=d[e>>0]|3;a[g+1>>0]=f|128;m=1;break}}else if((l|0)==24){j=(_(b[n>>1]|0,f)|0)+2|0;if((j|0)>(h|0)){e=-2;return e|0}else{a[g>>0]=d[e>>0]|3;a[g+1>>0]=f;m=0;break}}while(0);k=g+2|0;if((i|0)!=0?(o=h-j|0,(j|0)!=(h|0)):0){l=g+1|0;a[l>>0]=d[l>>0]|64;l=(o+-1|0)/255|0;j=0;while(1){if((j|0)>=(l|0))break;n=k;a[n>>0]=-1;k=n+1|0;j=j+1|0}a[k>>0]=o+(_(l,-255)|0)+255;k=k+1|0;j=h}if(m){o=f+-1|0;n=0;while(1){if((n|0)>=(o|0))break b;l=b[e+200+(n<<1)>>1]|0;m=l<<16>>16;if(l<<16>>16<252){a[k>>0]=l;l=1}else{l=m|252;a[k>>0]=l;a[k+1>>0]=(m-(l&255)|0)>>>2;l=2}k=k+l|0;n=n+1|0}}}while(0);l=0;while(1){if((l|0)>=(f|0))break;n=k;o=e+200+(l<<1)|0;nd(n|0,c[e+8+(l<<2)>>2]|0,b[o>>1]|0)|0;k=n+(b[o>>1]|0)|0;l=l+1|0}if(!i){e=j;return e|0}l=g+h|0;while(1){if(k>>>0>=l>>>0)break;a[k>>0]=0;k=k+1|0}return j|0}
function Eb(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;q=u;k=u+32|0;p=(h|0)==0;s=p?e+4768|0:e+6132+(g*36|0)|0;r=s+29|0;g=(a[r>>0]<<1)+(a[s+30>>0]|0)|0;if(p^1|(g|0)>1)hb(f,g+-2|0,35011,8);else hb(f,g,35015,8);o=(j|0)==2;g=a[s>>0]|0;if(o)hb(f,g,32774,8);else{hb(f,g>>3,32750+(a[r>>0]<<3)|0,8);hb(f,d[s>>0]&7,35040,8)}p=e+4604|0;g=1;while(1){if((g|0)>=(c[p>>2]|0))break;hb(f,a[s+g>>0]|0,32774,8);g=g+1|0}g=s+8|0;n=e+4724|0;l=c[n>>2]|0;m=_(a[r>>0]>>1,b[l>>1]|0)|0;hb(f,a[g>>0]|0,(c[l+12>>2]|0)+m|0,8);Nb(q,k,c[n>>2]|0,a[g>>0]|0);g=0;while(1){h=c[n>>2]|0;if((g|0)>=(b[h+2>>1]|0))break;k=g+1|0;l=s+8+k|0;m=a[l>>0]|0;if(m<<24>>24>3){hb(f,8,(c[h+24>>2]|0)+(b[q+(g<<1)>>1]|0)|0,8);hb(f,(a[l>>0]|0)+-4|0,35048,8);g=k;continue}g=b[q+(g<<1)>>1]|0;if(m<<24>>24<-3){hb(f,0,(c[h+24>>2]|0)+(g<<16>>16)|0,8);hb(f,-4-(a[l>>0]|0)|0,35048,8);g=k;continue}else{hb(f,(m<<24>>24)+4|0,(c[h+24>>2]|0)+(g<<16>>16)|0,8);g=k;continue}}if((c[p>>2]|0)==4)hb(f,a[s+31>>0]|0,35017,8);if((a[r>>0]|0)!=2){j=a[r>>0]|0;j=j<<24>>24;e=e+5800|0;c[e>>2]=j;e=s+34|0;e=a[e>>0]|0;e=e<<24>>24;hb(f,e,35025,8);i=u;return}do if(o?(c[e+5800>>2]|0)==2:0){g=(b[s+26>>1]|0)-(b[e+5804>>1]|0)|0;if((g|0)<-8|(g|0)>11){hb(f,0,35097,8);t=25;break}else{hb(f,g+9|0,35097,8);g=s+26|0;break}}else t=25;while(0);if((t|0)==25){g=s+26|0;o=b[g>>1]|0;t=c[e+4600>>2]|0;q=(o|0)/(t>>1|0)|0;t=o-(_(q<<16>>16,t<<15>>16)|0)|0;hb(f,q,35065,8);hb(f,t,c[e+4716>>2]|0,8)}b[e+5804>>1]=b[g>>1]|0;hb(f,a[s+28>>0]|0,c[e+4720>>2]|0,8);g=s+32|0;hb(f,a[g>>0]|0,32815,8);h=0;while(1){if((h|0)>=(c[p>>2]|0))break;hb(f,a[s+4+h>>0]|0,c[23080+(a[g>>0]<<2)>>2]|0,8);h=h+1|0}if(j){j=a[r>>0]|0;j=j<<24>>24;e=e+5800|0;c[e>>2]=j;e=s+34|0;e=a[e>>0]|0;e=e<<24>>24;hb(f,e,35025,8);i=u;return}hb(f,a[s+33>>0]|0,35008,8);j=a[r>>0]|0;j=j<<24>>24;e=e+5800|0;c[e>>2]=j;e=s+34|0;e=a[e>>0]|0;e=e<<24>>24;hb(f,e,35025,8);i=u;return}function Fb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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,G=0,H=0,I=0;I=i;i=i+96|0;H=I+64|0;C=I+48|0;D=I+40|0;E=I+32|0;q=I;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;j=h>>4;if((j<<4|0)<(h|0)){j=j+1|0;k=g+h|0;l=k+16|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(l|0))}k=j<<4;B=i;i=i+((1*(k<<2)|0)+15&-16)|0;l=0;while(1){if((l|0)>=(k|0))break;A=a[g+l>>0]|0;G=A<<24>>24;c[B+(l<<2)>>2]=A<<24>>24>0?G:0-G|0;G=l|1;A=a[g+G>>0]|0;F=A<<24>>24;c[B+(G<<2)>>2]=A<<24>>24>0?F:0-F|0;G=l|2;F=a[g+G>>0]|0;A=F<<24>>24;c[B+(G<<2)>>2]=F<<24>>24>0?A:0-A|0;G=l|3;A=a[g+G>>0]|0;F=A<<24>>24;c[B+(G<<2)>>2]=A<<24>>24>0?F:0-F|0;l=l+4|0}G=i;i=i+((1*(j<<2)|0)+15&-16)|0;F=i;i=i+((1*(j<<2)|0)+15&-16)|0;o=B;p=0;while(1){if((p|0)>=(j|0))break;n=F+(p<<2)|0;c[n>>2]=0;l=0;a:while(1){if((l|0)<8){k=l<<1;k=(c[o+(k<<2)>>2]|0)+(c[o+((k|1)<<2)>>2]|0)|0;if((k|0)>8)m=1;else{c[q+(l<<2)>>2]=k;l=l+1|0;continue}}else m=0;l=0;while(1){if((l|0)>=4){k=0;break}k=l<<1;k=(c[q+(k<<2)>>2]|0)+(c[q+((k|1)<<2)>>2]|0)|0;if((k|0)>10){k=1;break}c[q+(l<<2)>>2]=k;l=l+1|0}m=m+k|0;l=0;while(1){if((l|0)>=2){k=0;break}k=l<<1;k=(c[q+(k<<2)>>2]|0)+(c[q+((k|1)<<2)>>2]|0)|0;if((k|0)>12){k=1;break}c[q+(l<<2)>>2]=k;l=l+1|0}m=m+k|0;l=0;while(1){if((l|0)>=1){k=0;break}k=l<<1;k=(c[q+(k<<2)>>2]|0)+(c[q+((k|1)<<2)>>2]|0)|0;if((k|0)>16){k=1;break}c[G+(p+l<<2)>>2]=k;l=l+1|0}if((m|0)==(0-k|0))break;c[n>>2]=(c[n>>2]|0)+1;k=0;while(1){if((k|0)==16){l=0;continue a}A=o+(k<<2)|0;c[A>>2]=c[A>>2]>>1;k=k+1|0}}o=o+64|0;p=p+1|0}l=e>>1;n=0;o=2147483647;p=0;while(1){if((p|0)==9)break;m=35358+(p*18|0)+17|0;q=0;r=d[35538+(l*9|0)+p>>0]|0;while(1){if((q|0)>=(j|0))break;if((c[F+(q<<2)>>2]|0)>0)k=a[m>>0]|0;else k=a[(c[G+(q<<2)>>2]|0)+(35358+(p*18|0))>>0]|0;q=q+1|0;r=r+(k&255)|0}A=(r|0)<(o|0);n=A?p:n;o=A?r:o;p=p+1|0}hb(b,n,35520+(l*9|0)|0,8);m=35178+(n*18|0)|0;n=0;while(1){if((n|0)>=(j|0))break;k=c[F+(n<<2)>>2]|0;if(!k)hb(b,c[G+(n<<2)>>2]|0,m,8);else{hb(b,17,m,8);k=k+-1|0;l=0;while(1){if((l|0)>=(k|0))break;hb(b,17,35340,8);l=l+1|0}hb(b,c[G+(n<<2)>>2]|0,35340,8)}n=n+1|0}o=H+4|0;p=H+8|0;q=C+4|0;r=H+12|0;s=C+8|0;t=D+4|0;u=H+16|0;v=H+20|0;w=H+24|0;x=C+12|0;y=H+28|0;A=0;while(1){if((A|0)>=(j|0)){n=0;break}if((c[G+(A<<2)>>2]|0)>0){z=A<<4;n=B+(z<<2)|0;k=0;while(1){if((k|0)==8){k=0;break}m=k<<1;c[H+(k<<2)>>2]=(c[B+(z+m<<2)>>2]|0)+(c[B+(z+(m|1)<<2)>>2]|0);k=k+1|0}while(1){if((k|0)==4){k=0;break}m=k<<1;c[C+(k<<2)>>2]=(c[H+(m<<2)>>2]|0)+(c[H+((m|1)<<2)>>2]|0);k=k+1|0}while(1){if((k|0)==2){k=0;break}m=k<<1;c[D+(k<<2)>>2]=(c[C+(m<<2)>>2]|0)+(c[C+((m|1)<<2)>>2]|0);k=k+1|0}while(1){if((k|0)==1)break;m=k<<1;c[E>>2]=(c[D+(m<<2)>>2]|0)+(c[D+((m|1)<<2)>>2]|0);k=k+1|0}l=c[D>>2]|0;k=c[E>>2]|0;if((k|0)>0)hb(b,l,36012+(d[36164+k>>0]|0)|0,8);m=c[C>>2]|0;if((l|0)>0)hb(b,m,35860+(d[36164+l>>0]|0)|0,8);k=c[H>>2]|0;if((m|0)>0)hb(b,k,35708+(d[36164+m>>0]|0)|0,8);if((k|0)>0)hb(b,c[n>>2]|0,35556+(d[36164+k>>0]|0)|0,8);k=c[o>>2]|0;if((k|0)>0)hb(b,c[B+((z|2)<<2)>>2]|0,35556+(d[36164+k>>0]|0)|0,8);k=c[p>>2]|0;l=c[q>>2]|0;if((l|0)>0)hb(b,k,35708+(d[36164+l>>0]|0)|0,8);if((k|0)>0)hb(b,c[B+((z|4)<<2)>>2]|0,35556+(d[36164+k>>0]|0)|0,8);k=c[r>>2]|0;if((k|0)>0)hb(b,c[B+((z|6)<<2)>>2]|0,35556+(d[36164+k>>0]|0)|0,8);l=c[s>>2]|0;k=c[t>>2]|0;if((k|0)>0)hb(b,l,35860+(d[36164+k>>0]|0)|0,8);k=c[u>>2]|0;if((l|0)>0)hb(b,k,35708+(d[36164+l>>0]|0)|0,8);if((k|0)>0)hb(b,c[B+((z|8)<<2)>>2]|0,35556+(d[36164+k>>0]|0)|0,8);k=c[v>>2]|0;if((k|0)>0)hb(b,c[B+((z|10)<<2)>>2]|0,35556+(d[36164+k>>0]|0)|0,8);k=c[w>>2]|0;l=c[x>>2]|0;if((l|0)>0)hb(b,k,35708+(d[36164+l>>0]|0)|0,8);if((k|0)>0)hb(b,c[B+((z|12)<<2)>>2]|0,35556+(d[36164+k>>0]|0)|0,8);k=c[y>>2]|0;if((k|0)>0)hb(b,c[B+((z|14)<<2)>>2]|0,35556+(d[36164+k>>0]|0)|0,8)}A=A+1|0}while(1){if((n|0)>=(j|0))break;k=c[F+(n<<2)>>2]|0;b:do if((k|0)>0){l=n<<4;o=0;while(1){if((o|0)==16)break b;q=a[g+(l+o)>>0]|0;m=q<<24>>24;m=(q<<24>>24>0?m:0-m|0)<<24>>24;q=k;while(1){p=q+-1|0;if((q|0)<=1)break;hb(b,m>>>p&1,36520,8);q=p}hb(b,m&1,36520,8);o=o+1|0}}while(0);n=n+1|0}a[H+1>>0]=0;n=((e<<1)+f<<16>>16)*7|0;m=h+8>>4;l=0;while(1){if((l|0)>=(m|0))break;j=c[G+(l<<2)>>2]|0;c:do if((j|0)>0){a[H>>0]=a[36181+(n+((j&30)>>>0<6?j&31:6))>>0]|0;k=0;while(1){if((k|0)==16)break c;j=a[g+k>>0]|0;if(j<<24>>24)hb(b,(j<<24>>24>>15)+1|0,H,8);k=k+1|0}}while(0);g=g+16|0;l=l+1|0}i=I;return}function Gb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=(g|0)==0;n=0;while(1){if((n|0)>=(h|0))break;m=e+(n<<2)|0;g=((((Wb(c[m>>2]|0)|0)<<16)+-136970240>>16)*2251|0)>>>16&255;k=b+n|0;a[k>>0]=g;if(g<<24>>24<(a[f>>0]|0)){g=g+1<<24>>24;a[k>>0]=g}if(g<<24>>24>63)g=63;else g=g<<24>>24<0?0:g<<24>>24;a[k>>0]=g;i=a[f>>0]|0;if((n|0)==0^1|l^1){i=g-(i&255)|0;g=i&255;a[k>>0]=g;j=(a[f>>0]|0)+8|0;i=i<<24>>24;if((i|0)>(j|0)){g=j+((i-j+1|0)>>>1)&255;a[k>>0]=g}if(g<<24>>24>36)g=36;else g=g<<24>>24<-4?-4:g<<24>>24;a[k>>0]=g;if((g|0)>(j|0))g=(d[f>>0]|0)+((g<<1)-j)|0;else g=(d[f>>0]|0)+g|0;a[f>>0]=g;a[k>>0]=(d[k>>0]|0)+4;g=a[f>>0]|0}else{g=(i<<24>>24)+-4|0;i=a[b>>0]|0;if((g|0)>63){j=i<<24>>24;if((j|0)<=(g|0))g=i<<24>>24<63?63:j}else if(i<<24>>24>63)g=63;else{k=i<<24>>24;g=(k|0)<(g|0)?g:k}g=g&255;a[b>>0]=g;a[f>>0]=g}k=g<<24>>24;k=(k*29|0)+(k*7281>>16)+2090|0;c[m>>2]=Xb((k|0)<3967?k:3967)|0;n=n+1|0}return}function Hb(d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=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,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0;Za=i;Va=e+4368|0;c[Va>>2]=a[f+34>>0];Wa=e+4356|0;ra=c[Wa>>2]|0;Xa=f+29|0;Ua=b[30760+(a[Xa>>0]>>1<<2)+(a[f+30>>0]<<1)>>1]|0;Qa=(a[f+31>>0]|0)==4?0:1;Fa=d+4616|0;Ka=c[Fa>>2]|0;Ga=d+4608|0;Ja=c[Ga>>2]|0;Ha=i;i=i+((1*(Ka+Ja<<2)|0)+15&-16)|0;Ia=i;i=i+((1*(Ka+Ja<<1)|0)+15&-16)|0;Ja=d+4612|0;Ka=i;i=i+((1*(c[Ja>>2]<<2)|0)+15&-16)|0;La=e+4364|0;c[La>>2]=c[Fa>>2];Ma=e+4360|0;c[Ma>>2]=c[Fa>>2];Na=d+4604|0;Oa=Qa^1;Pa=e+4376|0;Qa=Qa<<1^3;Ra=d+4664|0;Sa=d+5124|0;Ta=e+4372|0;Ba=d+4660|0;Ca=e+3964|0;Da=e+4288|0;Ea=e+4352|0;ua=r<<16>>16;va=Ua+944|0;wa=_(Ua,ua)|0;xa=_(va<<16>>16,ua)|0;ya=Ua+-944|0;za=_(944-Ua<<16>>16,ua)|0;Aa=e+3840|0;ta=s<<16>>16;r=ra;ra=e+(c[Fa>>2]<<1)|0;sa=0;while(1){f=c[Na>>2]|0;if((sa|0)>=(f|0))break;y=(sa>>1|Oa)<<4;na=j+(y<<1)|0;z=sa*5|0;oa=k+(z<<1)|0;pa=sa<<4;qa=l+(pa<<1)|0;B=c[m+(sa<<2)>>2]|0;A=B>>2;B=A|B<<15;c[Pa>>2]=0;f=a[Xa>>0]|0;d=q+(sa<<2)|0;if(f<<24>>24==2){r=c[d>>2]|0;if(!(sa&Qa)){la=c[Fa>>2]|0;f=c[Ra>>2]|0;ma=la-r-f+-2|0;ka=e+(ma+(_(sa,c[Ja>>2]|0)|0)<<1)|0;Yb(Ia+(ma<<1)|0,ka,na,la-ma|0,f,c[Sa>>2]|0);c[Pa>>2]=1;c[Ma>>2]=c[Fa>>2];f=a[Xa>>0]|0;ma=r}else{f=2;ma=r}}else ma=r;w=c[d>>2]|0;x=p+(sa<<2)|0;v=c[x>>2]|0;r=(v|0)>1;d=aa((r?v:1)|0)|0;r=(r?v:1)<<d+-1;ja=r>>16;t=536870911/(ja|0)|0;ka=t<<16;la=ka>>16;r=536870912-((_(ja,la)|0)+((_(r&65535,la)|0)>>16))<<3;t=ka+((_(r>>16,la)|0)+((_(r&65528,la)|0)>>16))+(_(r,(t>>15)+1>>1)|0)|0;d=62-d|0;r=d+-47|0;if((r|0)<1){s=47-d|0;d=-2147483648>>s;r=2147483647>>>s;if((d|0)>(r|0)){if((t|0)<=(d|0))d=(t|0)<(r|0)?r:t}else if((t|0)>(r|0))d=r;else d=(t|0)<(d|0)?d:t;d=d<<s}else d=(r|0)<32?t>>r:0;s=c[Ta>>2]|0;do if((v|0)==(s|0))u=65536;else{if((s|0)<=0){r=0-s|0;if(!r)t=32;else Ya=17}else{r=s;Ya=17}if((Ya|0)==17){Ya=0;t=aa(r|0)|0}s=s<<t+-1;if((v|0)<=0){r=0-v|0;if(!r)r=32;else Ya=20}else{r=v;Ya=20}if((Ya|0)==20){Ya=0;r=aa(r|0)|0}r=r+-1|0;ka=v<<r;u=(536870911/(ka>>16|0)|0)<<16>>16;la=(_(s>>16,u)|0)+((_(s&65535,u)|0)>>16)|0;ka=td(ka|0,((ka|0)<0)<<31>>31|0,la|0,((la|0)<0)<<31>>31|0)|0;ka=ld(ka|0,C|0,29)|0;s=s-(ka&-8)|0;u=la+((_(s>>16,u)|0)+((_(s&65535,u)|0)>>16))|0;r=t+28-r|0;s=r+-16|0;if((r|0)>=16){u=(s|0)<32?u>>s:0;break}t=16-r|0;r=-2147483648>>t;s=2147483647>>>t;if((r|0)>(s|0)){if((u|0)<=(r|0))r=(u|0)<(s|0)?s:u}else if((u|0)>(s|0))r=s;else r=(u|0)<(r|0)?r:u;u=r<<t}while(0);s=(d>>7)+1|0;r=s>>>1<<16>>16;s=(s>>16)+1>>1;t=0;while(1){if((t|0)>=(c[Ja>>2]|0))break;la=c[g+(t<<2)>>2]|0;c[Ka+(t<<2)>>2]=(_(la>>16,r)|0)+((_(la&65535,r)|0)>>16)+(_(la,s)|0);t=t+1|0}c[Ta>>2]=v;a:do if(c[Pa>>2]|0){if(!sa)d=(_(d>>16,ta)|0)+((_(d&65535,ta)|0)>>16)<<2;s=c[Ma>>2]|0;t=d>>16;d=d&65535;r=s;s=s-w+-2|0;while(1){if((s|0)>=(r|0))break a;r=b[Ia+(s<<1)>>1]|0;c[Ha+(s<<2)>>2]=(_(t,r)|0)+((_(d,r)|0)>>16);r=c[Ma>>2]|0;s=s+1|0}}while(0);b:do if((u|0)!=65536){r=c[La>>2]|0;s=u>>16;t=u&65535;d=r;r=r-(c[Fa>>2]|0)|0;while(1){if((r|0)>=(d|0))break;d=e+1280+(r<<2)|0;la=c[d>>2]|0;ka=la<<16>>16;c[d>>2]=(_(s,ka)|0)+((_(t,ka)|0)>>16)+(_(u,(la>>15)+1>>1)|0);d=c[La>>2]|0;r=r+1|0}c:do if(f<<24>>24==2?(c[Pa>>2]|0)==0:0){f=c[Ma>>2]|0;d=f;f=f-w+-2|0;while(1){if((f|0)>=(d|0))break c;d=Ha+(f<<2)|0;la=c[d>>2]|0;ka=la<<16>>16;c[d>>2]=(_(s,ka)|0)+((_(t,ka)|0)>>16)+(_(u,(la>>15)+1>>1)|0);d=c[Ma>>2]|0;f=f+1|0}}while(0);f=c[Ea>>2]|0;la=f<<16>>16;c[Ea>>2]=(_(s,la)|0)+((_(t,la)|0)>>16)+(_(u,(f>>15)+1>>1)|0);f=0;while(1){if((f|0)==32){f=0;break}la=e+3840+(f<<2)|0;ka=c[la>>2]|0;ja=ka<<16>>16;c[la>>2]=(_(s,ja)|0)+((_(t,ja)|0)>>16)+(_(u,(ka>>15)+1>>1)|0);f=f+1|0}while(1){if((f|0)==16)break b;la=e+4288+(f<<2)|0;ka=c[la>>2]|0;ja=ka<<16>>16;c[la>>2]=(_(s,ja)|0)+((_(t,ja)|0)>>16)+(_(u,(ka>>15)+1>>1)|0);f=f+1|0}}while(0);N=c[o+(sa<<2)>>2]|0;D=c[x>>2]|0;la=c[Ja>>2]|0;U=c[Ba>>2]|0;fa=c[Ra>>2]|0;V=fa>>1;W=j+((y|1)<<1)|0;X=j+((y|2)<<1)|0;Y=j+((y|3)<<1)|0;Z=j+((y|4)<<1)|0;$=j+((y|5)<<1)|0;ba=j+((y|6)<<1)|0;ca=j+((y|7)<<1)|0;da=j+((y|8)<<1)|0;ea=j+((y|9)<<1)|0;fa=(fa|0)==16;ga=j+((y|10)<<1)|0;ha=j+((y|11)<<1)|0;ia=j+((y|12)<<1)|0;ja=j+((y|13)<<1)|0;ka=j+((y|14)<<1)|0;P=j+((y|15)<<1)|0;Q=(a[Xa>>0]|0)==2;R=k+(z+1<<1)|0;S=k+(z+2<<1)|0;T=k+(z+3<<1)|0;H=k+(z+4<<1)|0;I=U>>1;K=U+-1|0;J=e+4288+(K<<2)|0;K=l+(pa+K<<1)|0;L=c[n+(sa<<2)>>2]<<16>>16;M=N<<16>>16;N=N>>16;O=(ma|0)>0;G=A<<16>>16;A=B>>16;B=D>>>6<<16>>16;D=(D>>21)+1>>1;d=Ha+((c[Ma>>2]|0)-ma+2<<2)|0;E=Ca;u=e+1280+((c[La>>2]|0)-ma+1<<2)|0;F=0;while(1){if((F|0)>=(la|0))break;c[Va>>2]=(_(c[Va>>2]|0,196314165)|0)+907633515;z=c[E>>2]|0;y=b[na>>1]|0;y=V+((_(z>>16,y)|0)+((_(z&65535,y)|0)>>16))|0;z=c[E+-4>>2]|0;f=b[W>>1]|0;f=y+((_(z>>16,f)|0)+((_(z&65535,f)|0)>>16))|0;z=c[E+-8>>2]|0;y=b[X>>1]|0;y=f+((_(z>>16,y)|0)+((_(z&65535,y)|0)>>16))|0;z=c[E+-12>>2]|0;f=b[Y>>1]|0;f=y+((_(z>>16,f)|0)+((_(z&65535,f)|0)>>16))|0;z=c[E+-16>>2]|0;y=b[Z>>1]|0;y=f+((_(z>>16,y)|0)+((_(z&65535,y)|0)>>16))|0;z=c[E+-20>>2]|0;f=b[$>>1]|0;f=y+((_(z>>16,f)|0)+((_(z&65535,f)|0)>>16))|0;z=c[E+-24>>2]|0;y=b[ba>>1]|0;y=f+((_(z>>16,y)|0)+((_(z&65535,y)|0)>>16))|0;z=c[E+-28>>2]|0;f=b[ca>>1]|0;f=y+((_(z>>16,f)|0)+((_(z&65535,f)|0)>>16))|0;z=c[E+-32>>2]|0;y=b[da>>1]|0;y=f+((_(z>>16,y)|0)+((_(z&65535,y)|0)>>16))|0;z=c[E+-36>>2]|0;f=b[ea>>1]|0;f=y+((_(z>>16,f)|0)+((_(z&65535,f)|0)>>16))|0;if(fa){z=c[E+-40>>2]|0;y=b[ga>>1]|0;y=f+((_(z>>16,y)|0)+((_(z&65535,y)|0)>>16))|0;z=c[E+-44>>2]|0;f=b[ha>>1]|0;f=y+((_(z>>16,f)|0)+((_(z&65535,f)|0)>>16))|0;z=c[E+-48>>2]|0;y=b[ia>>1]|0;y=f+((_(z>>16,y)|0)+((_(z&65535,y)|0)>>16))|0;z=c[E+-52>>2]|0;f=b[ja>>1]|0;f=y+((_(z>>16,f)|0)+((_(z&65535,f)|0)>>16))|0;z=c[E+-56>>2]|0;y=b[ka>>1]|0;y=f+((_(z>>16,y)|0)+((_(z&65535,y)|0)>>16))|0;z=c[E+-60>>2]|0;f=b[P>>1]|0;f=y+((_(z>>16,f)|0)+((_(z&65535,f)|0)>>16))|0}if(Q){y=c[d>>2]|0;z=b[oa>>1]|0;z=(_(y>>16,z)|0)+((_(y&65535,z)|0)>>16)+2|0;y=c[d+-4>>2]|0;x=b[R>>1]|0;x=z+((_(y>>16,x)|0)+((_(y&65535,x)|0)>>16))|0;y=c[d+-8>>2]|0;z=b[S>>1]|0;z=x+((_(y>>16,z)|0)+((_(y&65535,z)|0)>>16))|0;y=c[d+-12>>2]|0;x=b[T>>1]|0;x=z+((_(y>>16,x)|0)+((_(y&65535,x)|0)>>16))|0;y=c[d+-16>>2]|0;z=b[H>>1]|0;z=x+((_(y>>16,z)|0)+((_(y&65535,z)|0)>>16))|0;d=d+4|0}else z=0;s=c[E>>2]|0;t=c[Da>>2]|0;c[Da>>2]=s;r=b[qa>>1]|0;r=I+((_(s>>16,r)|0)+((_(s&65535,r)|0)>>16))|0;s=2;while(1){if((s|0)>=(U|0))break;v=s+-1|0;x=e+4288+(v<<2)|0;w=c[x>>2]|0;c[x>>2]=t;v=b[l+(pa+v<<1)>>1]|0;v=r+((_(t>>16,v)|0)+((_(t&65535,v)|0)>>16))|0;x=e+4288+(s<<2)|0;y=c[x>>2]|0;c[x>>2]=w;x=b[l+(pa+s<<1)>>1]|0;r=v+((_(w>>16,x)|0)+((_(w&65535,x)|0)>>16))|0;s=s+2|0;t=y}c[J>>2]=t;w=b[K>>1]|0;w=r+((_(t>>16,w)|0)+((_(t&65535,w)|0)>>16))<<1;x=c[Ea>>2]|0;r=x>>16;x=x&65535;w=w+((_(r,L)|0)+((_(x,L)|0)>>16))|0;y=c[e+1280+((c[La>>2]|0)+-1<<2)>>2]|0;x=(_(y>>16,M)|0)+((_(y&65535,M)|0)>>16)+(_(r,N)|0)+((_(x,N)|0)>>16)|0;r=(f<<2)-w-x|0;if(O){t=(c[u>>2]|0)+(c[u+-8>>2]|0)|0;t=(_(t>>16,G)|0)+((_(t&65535,G)|0)>>16)|0;v=c[u+-4>>2]|0;y=u+4|0;r=z-(t+(_(v>>16,A)|0)+((_(v&65535,A)|0)>>16)<<1)+(r<<1)>>2}else{y=u;r=r>>1}r=(c[Ka+(F<<2)>>2]|0)-(r+1>>1)|0;t=(c[Va>>2]|0)<0;u=0-r|0;v=t?u:r;v=((t?u:r)|0)>30720?30720:(v|0)<-31744?-31744:v;r=v-Ua>>10;if((r|0)<=0)if(r)if((r|0)==-1){r=ya;s=Ua;t=za;u=wa}else{u=(r<<10|80)+Ua|0;r=u;s=u+1024|0;t=_(0-u<<16>>16,ua)|0;u=_(-1024-u<<16>>16,ua)|0}else{r=Ua;s=va;t=wa;u=xa}else{t=(r<<10)+-80+Ua|0;u=t+1024|0;r=t;s=u;t=_(t<<16>>16,ua)|0;u=_(u<<16>>16,ua)|0}_a=v-r<<16>>16;v=v-s<<16>>16;t=(u+(_(v,v)|0)|0)<(t+(_(_a,_a)|0)|0);t=t?s:r;v=h+F|0;a[v>>0]=((t>>>9)+1|0)>>>1;t=t<<4;z=((c[Va>>2]|0)<0?0-t|0:t)+(z<<1)|0;t=z+(f<<4)|0;u=((_(t>>16,B)|0)+((_(t&65535,B)|0)>>16)+(_(t,D)|0)>>7)+1>>1;b[ra+(F<<1)>>1]=(u|0)>32767?32767:(u|0)<-32768?-32768:u;u=E+4|0;c[u>>2]=t;w=t-(w<<2)|0;c[Ea>>2]=w;c[e+1280+(c[La>>2]<<2)>>2]=w-(x<<2);c[Ha+(c[Ma>>2]<<2)>>2]=z<<1;c[La>>2]=(c[La>>2]|0)+1;c[Ma>>2]=(c[Ma>>2]|0)+1;c[Va>>2]=(c[Va>>2]|0)+(a[v>>0]|0);E=u;u=y;F=F+1|0}r=Aa;f=e+3840+(la<<2)|0;d=r+128|0;do{c[r>>2]=c[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(d|0));_a=c[Ja>>2]|0;h=h+_a|0;g=g+(_a<<2)|0;r=ma;ra=ra+(_a<<1)|0;sa=sa+1|0}c[Wa>>2]=c[q+(f+-1<<2)>>2];nd(e|0,e+(c[Ga>>2]<<1)|0,c[Fa>>2]<<1|0)|0;nd(e+1280|0,e+1280+(c[Ga>>2]<<2)|0,c[Fa>>2]<<2|0)|0;i=Za;return}function Ib(e,f,g,h,j,k,l,m,n,o,p,q,r,s,t){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=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,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;sa=i;i=i+144|0;la=sa+128|0;ga=sa;ma=f+4356|0;z=c[ma>>2]|0;ea=e+4652|0;u=c[ea>>2]|0;oa=i;i=i+((1*(u*1168|0)|0)+15&-16)|0;hd(oa|0,0,u*1168|0)|0;ka=g+34|0;pa=f+4352|0;qa=e+4616|0;ra=f+3840|0;na=f+4288|0;v=0;while(1){if((v|0)>=(u|0))break;y=v+(d[ka>>0]|0)&3;c[oa+(v*1168|0)+1156>>2]=y;c[oa+(v*1168|0)+1160>>2]=y;c[oa+(v*1168|0)+1164>>2]=0;c[oa+(v*1168|0)+1152>>2]=c[pa>>2];c[oa+(v*1168|0)+960>>2]=c[f+1280+((c[qa>>2]|0)+-1<<2)>>2];y=oa+(v*1168|0)|0;w=ra;x=y+128|0;do{c[y>>2]=c[w>>2];y=y+4|0;w=w+4|0}while((y|0)<(x|0));y=oa+(v*1168|0)+1088|0;w=na;x=y+64|0;do{c[y>>2]=c[w>>2];y=y+4|0;w=w+4|0}while((y|0)<(x|0));v=v+1|0}$=g+29|0;ia=a[$>>0]|0;ba=b[30760+(ia<<24>>24>>1<<2)+(a[g+30>>0]<<1)>>1]|0;c[la>>2]=0;ja=e+4612|0;x=c[ja>>2]|0;u=(x|0)>32?32:x;a:do if(ia<<24>>24!=2)if((z|0)>0){da=z+-3|0;da=(u|0)<(da|0)?u:da}else da=u;else{w=c[e+4604>>2]|0;v=0;while(1){if((v|0)>=(w|0)){da=u;break a}ia=(c[r+(v<<2)>>2]|0)+-3|0;u=(u|0)<(ia|0)?u:ia;v=v+1|0}}while(0);P=(a[g+31>>0]|0)==4?0:1;Z=c[qa>>2]|0;ia=e+4608|0;X=Z+(c[ia>>2]|0)|0;V=i;i=i+((1*(X<<2)|0)+15&-16)|0;W=i;i=i+((1*(X<<1)|0)+15&-16)|0;X=i;i=i+((1*(x<<2)|0)+15&-16)|0;ca=f+4364|0;c[ca>>2]=Z;M=f+4360|0;c[M>>2]=c[qa>>2];fa=e+4604|0;N=P^1;O=f+4376|0;P=P<<1^3;Y=oa+1164|0;Q=q+4|0;R=e+4664|0;S=e+5124|0;T=f+4372|0;U=e+4660|0;L=e+4704|0;K=t<<16>>16;w=z;Z=f+(Z<<1)|0;J=0;v=0;while(1){if((J|0)>=(c[fa>>2]|0))break;F=k+((J>>1|N)<<4<<1)|0;G=l+(J*5<<1)|0;H=m+(J<<4<<1)|0;I=c[n+(J<<2)>>2]|0;I=I>>2|I>>>1<<16;c[O>>2]=0;u=a[$>>0]|0;y=r+(J<<2)|0;if(u<<24>>24==2){g=c[y>>2]|0;if(!(J&P)){b:do if((J|0)==2){w=c[ea>>2]|0;u=c[Y>>2]|0;x=0;v=1;while(1){if((v|0)>=(w|0)){u=0;break}D=c[oa+(v*1168|0)+1164>>2]|0;E=(D|0)<(u|0);u=E?D:u;x=E?v:x;v=v+1|0}while(1){if((u|0)>=(w|0))break;if((u|0)!=(x|0)){E=oa+(u*1168|0)+1164|0;c[E>>2]=(c[E>>2]|0)+134217727}u=u+1|0}u=(c[la>>2]|0)+da|0;v=0;while(1){if((v|0)>=(da|0)){v=0;break b}E=u+31&31;D=v-da|0;a[j+D>>0]=(((c[oa+(x*1168|0)+576+(E<<2)>>2]|0)>>>9)+1|0)>>>1;A=c[oa+(x*1168|0)+704+(E<<2)>>2]|0;B=c[Q>>2]|0;z=B<<16>>16;B=((_(A>>16,z)|0)+((_(A&65535,z)|0)>>16)+(_(A,(B>>15)+1>>1)|0)>>13)+1>>1;b[Z+(D<<1)>>1]=(B|0)>32767?32767:(B|0)<-32768?-32768:B;c[f+1280+((c[ca>>2]|0)-da+v<<2)>>2]=c[oa+(x*1168|0)+960+(E<<2)>>2];u=E;v=v+1|0}}while(0);w=c[qa>>2]|0;x=c[R>>2]|0;u=w-g-x+-2|0;E=f+(u+(_(J,c[ja>>2]|0)|0)<<1)|0;Yb(W+(u<<1)|0,E,F,w-u|0,x,c[S>>2]|0);c[M>>2]=c[qa>>2];c[O>>2]=1;x=y;u=a[$>>0]|0;w=g}else{x=y;u=2;w=g}}else x=y;E=c[ea>>2]|0;B=c[x>>2]|0;D=q+(J<<2)|0;A=c[D>>2]|0;g=(A|0)>1;x=aa((g?A:1)|0)|0;g=(g?A:1)<<x+-1;y=g>>16;e=536870911/(y|0)|0;t=e<<16;z=t>>16;g=536870912-((_(y,z)|0)+((_(g&65535,z)|0)>>16))<<3;e=t+((_(g>>16,z)|0)+((_(g&65528,z)|0)>>16))+(_(g,(e>>15)+1>>1)|0)|0;x=62-x|0;g=x+-47|0;if((g|0)<1){y=47-x|0;x=-2147483648>>y;g=2147483647>>>y;if((x|0)>(g|0)){if((e|0)<=(x|0))x=(e|0)<(g|0)?g:e}else if((e|0)>(g|0))x=g;else x=(e|0)<(x|0)?x:e;x=x<<y}else x=(g|0)<32?e>>g:0;y=c[T>>2]|0;do if((A|0)==(y|0))z=65536;else{if((y|0)<=0){g=0-y|0;if(!g)e=32;else ha=37}else{g=y;ha=37}if((ha|0)==37){ha=0;e=aa(g|0)|0}y=y<<e+-1;if((A|0)<=0){g=0-A|0;if(!g)g=32;else ha=40}else{g=A;ha=40}if((ha|0)==40){ha=0;g=aa(g|0)|0}g=g+-1|0;ta=A<<g;t=(536870911/(ta>>16|0)|0)<<16>>16;z=(_(y>>16,t)|0)+((_(y&65535,t)|0)>>16)|0;ta=td(ta|0,((ta|0)<0)<<31>>31|0,z|0,((z|0)<0)<<31>>31|0)|0;ta=ld(ta|0,C|0,29)|0;y=y-(ta&-8)|0;t=z+((_(y>>16,t)|0)+((_(y&65535,t)|0)>>16))|0;g=e+28-g|0;y=g+-16|0;if((g|0)>=16){z=(y|0)<32?t>>y:0;break}e=16-g|0;g=-2147483648>>e;y=2147483647>>>e;if((g|0)>(y|0)){if((t|0)<=(g|0))g=(t|0)<(y|0)?y:t}else if((t|0)>(y|0))g=y;else g=(t|0)<(g|0)?g:t;z=g<<e}while(0);e=(x>>7)+1|0;y=e>>>1<<16>>16;e=(e>>16)+1>>1;g=c[ja>>2]|0;t=0;while(1){if((t|0)>=(g|0))break;ta=c[h+(t<<2)>>2]|0;c[X+(t<<2)>>2]=(_(ta>>16,y)|0)+((_(ta&65535,y)|0)>>16)+(_(ta,e)|0);t=t+1|0}c[T>>2]=A;c:do if(c[O>>2]|0){if(!J)x=(_(x>>16,K)|0)+((_(x&65535,K)|0)>>16)<<2;y=c[M>>2]|0;e=x>>16;x=x&65535;g=y;y=y-B+-2|0;while(1){if((y|0)>=(g|0))break c;g=b[W+(y<<1)>>1]|0;c[V+(y<<2)>>2]=(_(e,g)|0)+((_(x,g)|0)>>16);g=c[M>>2]|0;y=y+1|0}}while(0);d:do if((z|0)!=65536){g=c[ca>>2]|0;y=z>>16;e=z&65535;x=g;g=g-(c[qa>>2]|0)|0;while(1){if((g|0)>=(x|0))break;x=f+1280+(g<<2)|0;ta=c[x>>2]|0;A=ta<<16>>16;c[x>>2]=(_(y,A)|0)+((_(e,A)|0)>>16)+(_(z,(ta>>15)+1>>1)|0);x=c[ca>>2]|0;g=g+1|0}e:do if(u<<24>>24==2?(c[O>>2]|0)==0:0){u=c[M>>2]|0;x=u;u=u-B+-2|0;while(1){if((u|0)>=(x-da|0)){x=0;break e}x=V+(u<<2)|0;ta=c[x>>2]|0;B=ta<<16>>16;c[x>>2]=(_(y,B)|0)+((_(e,B)|0)>>16)+(_(z,(ta>>15)+1>>1)|0);x=c[M>>2]|0;u=u+1|0}}else x=0;while(0);while(1){if((x|0)>=(E|0))break d;u=c[oa+(x*1168|0)+1152>>2]|0;ta=u<<16>>16;c[oa+(x*1168|0)+1152>>2]=(_(y,ta)|0)+((_(e,ta)|0)>>16)+(_(z,(u>>15)+1>>1)|0);u=0;while(1){if((u|0)==32){u=0;break}ta=oa+(x*1168|0)+(u<<2)|0;B=c[ta>>2]|0;A=B<<16>>16;c[ta>>2]=(_(y,A)|0)+((_(e,A)|0)>>16)+(_(z,(B>>15)+1>>1)|0);u=u+1|0}while(1){if((u|0)==16){u=0;break}ta=oa+(x*1168|0)+1088+(u<<2)|0;B=c[ta>>2]|0;A=B<<16>>16;c[ta>>2]=(_(y,A)|0)+((_(e,A)|0)>>16)+(_(z,(B>>15)+1>>1)|0);u=u+1|0}while(1){if((u|0)==32)break;ta=oa+(x*1168|0)+832+(u<<2)|0;B=c[ta>>2]|0;A=B<<16>>16;c[ta>>2]=(_(y,A)|0)+((_(e,A)|0)>>16)+(_(z,(B>>15)+1>>1)|0);ta=oa+(x*1168|0)+960+(u<<2)|0;B=c[ta>>2]|0;A=B<<16>>16;c[ta>>2]=(_(y,A)|0)+((_(e,A)|0)>>16)+(_(z,(B>>15)+1>>1)|0);u=u+1|0}x=x+1|0}}while(0);Jb(f,oa,a[$>>0]|0,X,j,Z,V,ga,F,G,H,w,I,c[o+(J<<2)>>2]|0,c[p+(J<<2)>>2]|0,c[D>>2]|0,s,ba,c[ja>>2]|0,v,c[U>>2]|0,c[R>>2]|0,c[L>>2]|0,c[ea>>2]|0,la,da);ta=c[ja>>2]|0;j=j+ta|0;h=h+(ta<<2)|0;Z=Z+(ta<<1)|0;J=J+1|0;v=v+1|0}w=c[ea>>2]|0;u=c[Y>>2]|0;g=0;v=1;while(1){if((v|0)>=(w|0))break;ha=c[oa+(v*1168|0)+1164>>2]|0;ta=(ha|0)<(u|0);u=ta?ha:u;g=ta?v:g;v=v+1|0}a[ka>>0]=c[oa+(g*1168|0)+1160>>2];x=c[q+((c[fa>>2]|0)+-1<<2)>>2]|0;w=x>>>6<<16>>16;x=(x>>21)+1>>1;u=(c[la>>2]|0)+da|0;v=0;while(1){if((v|0)>=(da|0))break;ta=u+31&31;la=v-da|0;a[j+la>>0]=(((c[oa+(g*1168|0)+576+(ta<<2)>>2]|0)>>>9)+1|0)>>>1;q=c[oa+(g*1168|0)+704+(ta<<2)>>2]|0;q=((_(q>>16,w)|0)+((_(q&65535,w)|0)>>16)+(_(q,x)|0)>>7)+1>>1;b[Z+(la<<1)>>1]=(q|0)>32767?32767:(q|0)<-32768?-32768:q;c[f+1280+((c[ca>>2]|0)-da+v<<2)>>2]=c[oa+(g*1168|0)+960+(ta<<2)>>2];u=ta;v=v+1|0}y=ra;w=oa+(g*1168|0)+(c[ja>>2]<<2)|0;x=y+128|0;do{c[y>>2]=c[w>>2];y=y+4|0;w=w+4|0}while((y|0)<(x|0));y=na;w=oa+(g*1168|0)+1088|0;x=y+64|0;do{c[y>>2]=c[w>>2];y=y+4|0;w=w+4|0}while((y|0)<(x|0));c[pa>>2]=c[oa+(g*1168|0)+1152>>2];c[ma>>2]=c[r+((c[fa>>2]|0)+-1<<2)>>2];nd(f|0,f+(c[ia>>2]<<1)|0,c[qa>>2]<<1|0)|0;nd(f+1280|0,f+1280+(c[ia>>2]<<2)|0,c[qa>>2]<<2|0)|0;i=sa;return}function Jb(d,e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;var 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,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Da=i;Aa=i;i=i+((1*(B*48|0)|0)+15&-16)|0;Ba=d+4364|0;Ca=d+4360|0;za=t>>6;sa=(f|0)==2;ta=n+2|0;ua=n+4|0;va=n+6|0;wa=n+8|0;xa=(p|0)>0;ya=q<<16>>16;ha=q>>16;ia=z>>1;ja=m+2|0;ka=m+4|0;la=m+6|0;ma=m+8|0;na=m+10|0;oa=m+12|0;pa=m+14|0;qa=m+16|0;ra=m+18|0;aa=(z|0)==16;ba=m+20|0;ca=m+22|0;da=m+24|0;ea=m+26|0;fa=m+28|0;ga=m+30|0;X=A<<16>>16;Y=y>>1;Z=y+-1|0;$=o+(Z<<1)|0;V=r<<16>>16;W=s<<16>>16;U=s>>16;M=u<<16>>16;N=v+944|0;O=_(v<<16>>16,M)|0;P=_(N<<16>>16,M)|0;Q=v+-944|0;R=_(944-v<<16>>16,M)|0;S=Aa+4|0;T=Aa+28|0;L=(x|0)<=0;t=k+((c[Ca>>2]|0)-p+2<<2)|0;f=d+1280+((c[Ba>>2]|0)-p+1<<2)|0;K=0;while(1){if((K|0)>=(w|0)){t=0;break}if(sa){I=c[t>>2]|0;H=b[n>>1]|0;H=(_(I>>16,H)|0)+((_(I&65535,H)|0)>>16)+2|0;I=c[t+-4>>2]|0;J=b[ta>>1]|0;J=H+((_(I>>16,J)|0)+((_(I&65535,J)|0)>>16))|0;I=c[t+-8>>2]|0;H=b[ua>>1]|0;H=J+((_(I>>16,H)|0)+((_(I&65535,H)|0)>>16))|0;I=c[t+-12>>2]|0;J=b[va>>1]|0;J=H+((_(I>>16,J)|0)+((_(I&65535,J)|0)>>16))|0;I=c[t+-16>>2]|0;H=b[wa>>1]|0;H=J+((_(I>>16,H)|0)+((_(I&65535,H)|0)>>16))<<1;I=t+4|0}else{H=0;I=t}if(xa){J=(c[f>>2]|0)+(c[f+-8>>2]|0)|0;J=(_(J>>16,ya)|0)+((_(J&65535,ya)|0)>>16)|0;G=c[f+-4>>2]|0;G=H-(J+(_(G>>16,ha)|0)+((_(G&65535,ha)|0)>>16)<<2)|0;J=f+4|0}else{G=0;J=f}p=K+31|0;E=g+(K<<2)|0;F=0;while(1){if((F|0)>=(B|0))break;r=e+(F*1168|0)+1156|0;c[r>>2]=(_(c[e+(F*1168|0)+1156>>2]|0,196314165)|0)+907633515;f=e+(F*1168|0)+(p<<2)|0;x=c[f>>2]|0;u=b[m>>1]|0;u=ia+((_(x>>16,u)|0)+((_(x&65535,u)|0)>>16))|0;x=c[e+(F*1168|0)+(K+30<<2)>>2]|0;t=b[ja>>1]|0;t=u+((_(x>>16,t)|0)+((_(x&65535,t)|0)>>16))|0;x=c[e+(F*1168|0)+(K+29<<2)>>2]|0;u=b[ka>>1]|0;u=t+((_(x>>16,u)|0)+((_(x&65535,u)|0)>>16))|0;x=c[e+(F*1168|0)+(K+28<<2)>>2]|0;t=b[la>>1]|0;t=u+((_(x>>16,t)|0)+((_(x&65535,t)|0)>>16))|0;x=c[e+(F*1168|0)+(K+27<<2)>>2]|0;u=b[ma>>1]|0;u=t+((_(x>>16,u)|0)+((_(x&65535,u)|0)>>16))|0;x=c[e+(F*1168|0)+(K+26<<2)>>2]|0;t=b[na>>1]|0;t=u+((_(x>>16,t)|0)+((_(x&65535,t)|0)>>16))|0;x=c[e+(F*1168|0)+(K+25<<2)>>2]|0;u=b[oa>>1]|0;u=t+((_(x>>16,u)|0)+((_(x&65535,u)|0)>>16))|0;x=c[e+(F*1168|0)+(K+24<<2)>>2]|0;t=b[pa>>1]|0;t=u+((_(x>>16,t)|0)+((_(x&65535,t)|0)>>16))|0;x=c[e+(F*1168|0)+(K+23<<2)>>2]|0;u=b[qa>>1]|0;u=t+((_(x>>16,u)|0)+((_(x&65535,u)|0)>>16))|0;x=c[e+(F*1168|0)+(K+22<<2)>>2]|0;t=b[ra>>1]|0;t=u+((_(x>>16,t)|0)+((_(x&65535,t)|0)>>16))|0;if(aa){x=c[e+(F*1168|0)+(K+21<<2)>>2]|0;u=b[ba>>1]|0;u=t+((_(x>>16,u)|0)+((_(x&65535,u)|0)>>16))|0;x=c[e+(F*1168|0)+(K+20<<2)>>2]|0;t=b[ca>>1]|0;t=u+((_(x>>16,t)|0)+((_(x&65535,t)|0)>>16))|0;x=c[e+(F*1168|0)+(K+19<<2)>>2]|0;u=b[da>>1]|0;u=t+((_(x>>16,u)|0)+((_(x&65535,u)|0)>>16))|0;x=c[e+(F*1168|0)+(K+18<<2)>>2]|0;t=b[ea>>1]|0;t=u+((_(x>>16,t)|0)+((_(x&65535,t)|0)>>16))|0;x=c[e+(F*1168|0)+(K+17<<2)>>2]|0;u=b[fa>>1]|0;u=t+((_(x>>16,u)|0)+((_(x&65535,u)|0)>>16))|0;x=c[e+(F*1168|0)+(K+16<<2)>>2]|0;t=b[ga>>1]|0;t=u+((_(x>>16,t)|0)+((_(x&65535,t)|0)>>16))|0}z=e+(F*1168|0)+1088|0;x=c[z>>2]|0;q=(c[f>>2]|0)+((_(x>>16,X)|0)+((_(x&65535,X)|0)>>16))|0;f=c[e+(F*1168|0)+1092>>2]|0;A=f-q|0;A=x+((_(A>>16,X)|0)+((_(A&65535,X)|0)>>16))|0;c[z>>2]=q;z=b[o>>1]|0;z=Y+((_(q>>16,z)|0)+((_(q&65535,z)|0)>>16))|0;q=2;while(1){if((q|0)>=(y|0))break;Ea=q+-1|0;u=e+(F*1168|0)+1088+(q<<2)|0;Ga=c[u>>2]|0;s=Ga-A|0;s=f+((_(s>>16,X)|0)+((_(s&65535,X)|0)>>16))|0;c[e+(F*1168|0)+1088+(Ea<<2)>>2]=A;Ea=b[o+(Ea<<1)>>1]|0;Ea=z+((_(A>>16,Ea)|0)+((_(A&65535,Ea)|0)>>16))|0;Fa=c[e+(F*1168|0)+1088+((q|1)<<2)>>2]|0;x=Fa-s|0;x=Ga+((_(x>>16,X)|0)+((_(x&65535,X)|0)>>16))|0;c[u>>2]=s;u=b[o+(q<<1)>>1]|0;f=Fa;z=Ea+((_(s>>16,u)|0)+((_(s&65535,u)|0)>>16))|0;q=q+2|0;A=x}x=t<<4;c[e+(F*1168|0)+1088+(Z<<2)>>2]=A;s=b[$>>1]|0;s=z+((_(A>>16,s)|0)+((_(A&65535,s)|0)>>16))<<1;u=c[e+(F*1168|0)+1152>>2]|0;t=u>>16;u=u&65535;s=s+((_(t,V)|0)+((_(u,V)|0)>>16))<<2;A=c[e+(F*1168|0)+960+(c[C>>2]<<2)>>2]|0;u=(_(A>>16,W)|0)+((_(A&65535,W)|0)>>16)+(_(t,U)|0)+((_(u,U)|0)>>16)<<2;t=(c[E>>2]|0)-((G+x-(s+u)>>3)+1>>1)|0;A=(c[r>>2]|0)<0;Ga=0-t|0;r=A?Ga:t;r=((A?Ga:t)|0)>30720?30720:(r|0)<-31744?-31744:r;t=r-v>>10;if((t|0)<=0)if(t)if((t|0)==-1){t=Q;f=v;q=R;z=O}else{z=(t<<10|80)+v|0;t=z;f=z+1024|0;q=_(0-z<<16>>16,M)|0;z=_(-1024-z<<16>>16,M)|0}else{t=v;f=N;q=O;z=P}else{q=(t<<10)+-80+v|0;z=q+1024|0;t=q;f=z;q=_(q<<16>>16,M)|0;z=_(z<<16>>16,M)|0}Ga=r-t<<16>>16;Ga=q+(_(Ga,Ga)|0)>>10;r=r-f<<16>>16;r=z+(_(r,r)|0)>>10;z=(Ga|0)<(r|0);q=c[e+(F*1168|0)+1164>>2]|0;Ea=z?t:f;Fa=z?f:t;c[Aa+(F*48|0)+4>>2]=q+(z?Ga:r);c[Aa+(F*48|0)+28>>2]=q+(z?r:Ga);c[Aa+(F*48|0)>>2]=Ea;c[Aa+(F*48|0)+24>>2]=Fa;Ea=Ea<<4;Ea=(A?0-Ea|0:Ea)+H|0;Ga=Ea+x|0;r=Ga-s|0;c[Aa+(F*48|0)+16>>2]=r-u;c[Aa+(F*48|0)+12>>2]=r;c[Aa+(F*48|0)+20>>2]=Ea;c[Aa+(F*48|0)+8>>2]=Ga;Fa=Fa<<4;Fa=(A?0-Fa|0:Fa)+H|0;Ga=Fa+x|0;Ea=Ga-s|0;c[Aa+(F*48|0)+40>>2]=Ea-u;c[Aa+(F*48|0)+36>>2]=Ea;c[Aa+(F*48|0)+44>>2]=Fa;c[Aa+(F*48|0)+32>>2]=Ga;F=F+1|0}t=(c[C>>2]|0)+31|0;c[C>>2]=t&31;t=t+D|0;f=c[S>>2]|0;s=0;q=1;while(1){if((q|0)>=(B|0))break;Fa=c[Aa+(q*48|0)+4>>2]|0;Ga=(Fa|0)<(f|0);f=Ga?Fa:f;s=Ga?q:s;q=q+1|0}r=t&31;t=c[e+(s*1168|0)+448+(r<<2)>>2]|0;f=0;while(1){if((f|0)>=(B|0))break;if((c[e+(f*1168|0)+448+(r<<2)>>2]|0)!=(t|0)){Ga=Aa+(f*48|0)+4|0;c[Ga>>2]=(c[Ga>>2]|0)+134217727;Ga=Aa+(f*48|0)+28|0;c[Ga>>2]=(c[Ga>>2]|0)+134217727}f=f+1|0}t=c[S>>2]|0;f=0;q=c[T>>2]|0;z=0;A=1;while(1){if((A|0)>=(B|0))break;H=c[Aa+(A*48|0)+4>>2]|0;Ea=(H|0)>(t|0);Fa=c[Aa+(A*48|0)+28>>2]|0;Ga=(Fa|0)<(q|0);t=Ea?H:t;f=Ea?A:f;q=Ga?Fa:q;z=Ga?A:z;A=A+1|0}if((q|0)<(t|0)){md(e+(f*1168|0)+(K<<2)|0,e+(z*1168|0)+(K<<2)|0,1168-(K<<2)|0)|0;Ga=Aa+(f*48|0)|0;Fa=Aa+(z*48|0)+24|0;c[Ga>>2]=c[Fa>>2];c[Ga+4>>2]=c[Fa+4>>2];c[Ga+8>>2]=c[Fa+8>>2];c[Ga+12>>2]=c[Fa+12>>2];c[Ga+16>>2]=c[Fa+16>>2];c[Ga+20>>2]=c[Fa+20>>2]}if(!(L&(K|0)<(D|0))){Ga=K-D|0;a[h+Ga>>0]=(((c[e+(s*1168|0)+576+(r<<2)>>2]|0)>>>9)+1|0)>>>1;Ea=c[e+(s*1168|0)+704+(r<<2)>>2]|0;Fa=c[l+(r<<2)>>2]|0;H=Fa<<16>>16;Fa=((_(Ea>>16,H)|0)+((_(Ea&65535,H)|0)>>16)+(_(Ea,(Fa>>15)+1>>1)|0)>>7)+1>>1;b[j+(Ga<<1)>>1]=(Fa|0)>32767?32767:(Fa|0)<-32768?-32768:Fa;c[d+1280+((c[Ba>>2]|0)-D<<2)>>2]=c[e+(s*1168|0)+960+(r<<2)>>2];c[k+((c[Ca>>2]|0)-D<<2)>>2]=c[e+(s*1168|0)+832+(r<<2)>>2]}c[Ba>>2]=(c[Ba>>2]|0)+1;c[Ca>>2]=(c[Ca>>2]|0)+1;t=K+32|0;f=0;while(1){if((f|0)>=(B|0))break;c[e+(f*1168|0)+1152>>2]=c[Aa+(f*48|0)+12>>2];Ga=c[Aa+(f*48|0)+8>>2]|0;c[e+(f*1168|0)+(t<<2)>>2]=Ga;c[e+(f*1168|0)+704+(c[C>>2]<<2)>>2]=Ga;Ga=c[Aa+(f*48|0)>>2]|0;c[e+(f*1168|0)+576+(c[C>>2]<<2)>>2]=Ga;c[e+(f*1168|0)+832+(c[C>>2]<<2)>>2]=c[Aa+(f*48|0)+20>>2]<<1;c[e+(f*1168|0)+960+(c[C>>2]<<2)>>2]=c[Aa+(f*48|0)+16>>2];Fa=e+(f*1168|0)+1156|0;Ga=(c[Fa>>2]|0)+((Ga>>9)+1>>1)|0;c[Fa>>2]=Ga;c[e+(f*1168|0)+448+(c[C>>2]<<2)>>2]=Ga;c[e+(f*1168|0)+1164>>2]=c[Aa+(f*48|0)+4>>2];f=f+1|0}c[l+(c[C>>2]<<2)>>2]=za;t=I;f=J;K=K+1|0}while(1){if((t|0)>=(B|0))break;f=e+(t*1168|0)|0;q=e+(t*1168|0)+(w<<2)|0;z=f+128|0;do{c[f>>2]=c[q>>2];f=f+4|0;q=q+4|0}while((f|0)<(z|0));t=t+1|0}i=Da;return}function Kb(a,d){a=a|0;d=d|0;var f=0,g=0,h=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;u=i;i=i+48|0;r=u+32|0;t=u+16|0;q=u;s=a+4608|0;k=c[s>>2]|0;m=k>>1;o=k>>2;g=k>>3;c[q>>2]=0;n=g+o|0;c[q+4>>2]=n;l=n+g|0;c[q+8>>2]=l;j=l+o|0;c[q+12>>2]=j;p=i;i=i+((1*(j+m<<1)|0)+15&-16)|0;Ub(d,a+32|0,p,p+(j<<1)|0,k);Ub(p,a+40|0,p,p+(l<<1)|0,m);Ub(p,a+48|0,p,p+(n<<1)|0,o);o=p+(g+-1<<1)|0;d=(b[o>>1]|0)>>>1&65535;b[o>>1]=d;while(1){f=g+-1|0;if((g|0)<=1)break;o=p+(g+-2<<1)|0;n=(b[o>>1]|0)>>>1;b[o>>1]=n;o=p+(f<<1)|0;b[o>>1]=(e[o>>1]|0)-n;g=f}n=a+88|0;b[p>>1]=(e[p>>1]|0)-(e[n>>1]|0);b[n>>1]=d;n=0;d=0;while(1){if((n|0)==4)break;h=4-n|0;h=c[s>>2]>>((h|0)<3?h:3)>>2;j=a+56+(n<<2)|0;f=c[j>>2]|0;k=r+(n<<2)|0;c[k>>2]=f;l=q+(n<<2)|0;m=0;o=0;while(1){if((o|0)==4)break;else{g=0;d=0}while(1){if((g|0)>=(h|0))break;v=b[p+((c[l>>2]|0)+g+m<<1)>>1]>>3;g=g+1|0;d=d+(_(v,v)|0)|0}if((o|0)<3){g=f+d|0;v=(g|0)<0;f=v?2147483647:g;g=v?2147483647:g}else{g=f+(d>>1)|0;v=(g|0)<0;f=v?2147483647:g;g=v?2147483647:g}c[k>>2]=g;m=m+h|0;o=o+1|0}c[j>>2]=d;n=n+1|0}l=a+140|0;d=c[l>>2]|0;if((d|0)<1e3)j=32767/((d>>4)+1|0)|0;else j=0;k=0;while(1){if((k|0)==4)break;g=a+92+(k<<2)|0;f=c[g>>2]|0;d=(c[r+(k<<2)>>2]|0)+(c[a+124+(k<<2)>>2]|0)|0;d=(d|0)<0?2147483647:d;h=2147483647/(d|0)|0;if((d|0)<=(f<<3|0))if((d|0)<(f|0))d=1024;else{v=f<<16>>16;q=_(h>>16,v)|0;v=_(h&65535,v)|0;d=_(h,(f>>15)+1>>1)|0;d=q+(v>>16)+d>>16<<11|(q+(v>>>16)+d|0)>>>5&2047}else d=128;q=a+108+(k<<2)|0;o=c[q>>2]|0;p=h-o|0;v=((d|0)>(j|0)?d:j)<<16>>16;v=o+((_(p>>16,v)|0)+((_(p&65535,v)|0)>>16))|0;c[q>>2]=v;v=2147483647/(v|0)|0;c[g>>2]=(v|0)<16777215?v:16777215;k=k+1|0}c[l>>2]=(c[l>>2]|0)+1;k=0;j=0;g=0;while(1){if((j|0)==4)break;d=c[r+(j<<2)>>2]|0;f=c[a+92+(j<<2)>>2]|0;h=d-f|0;if((h|0)>0){if(d>>>0<8388608)d=(d<<8|0)/(f+1|0)|0;else d=(d|0)/((f>>8)+1|0)|0;c[t+(j<<2)>>2]=d;d=(Wb(d)|0)+-1024|0;f=d<<16>>16;g=g+(_(f,f)|0)|0;if((h|0)<1048576){d=(Lb(h)|0)<<6;d=(_(d>>16,f)|0)+((_(d&65472,f)|0)>>16)|0}v=c[23404+(j<<2)>>2]|0;f=d<<16>>16;f=k+((_(v>>16,f)|0)+((_(v&65535,f)|0)>>16))|0;d=g}else{c[t+(j<<2)>>2]=256;f=k;d=g}k=f;j=j+1|0;g=d}d=((Lb((g|0)/4|0)|0)*196608>>16)*45e3>>16;f=d+-128|0;if((d|0)<128){d=128-d|0;if((f|0)<-191)d=0;else{v=d>>5;d=(c[23420+(v<<2)>>2]|0)-(_(c[23444+(v<<2)>>2]<<16>>16,d&31)|0)|0}}else if((f|0)>191)d=32767;else{d=f>>5;d=(c[23468+(d<<2)>>2]|0)+(_(c[23444+(d<<2)>>2]<<16>>16,f&31)|0)|0}if((k|0)<0){f=0-k|0;if((k|0)<-191)f=0;else{v=f>>5;f=(c[23420+(v<<2)>>2]|0)-(_(c[23444+(v<<2)>>2]<<16>>16,f&31)|0)|0}}else if((k|0)>191)f=32767;else{f=k>>5;f=(c[23468+(f<<2)>>2]|0)+(_(c[23444+(f<<2)>>2]<<16>>16,k&31)|0)|0}c[a+4744>>2]=(f<<1)+-32768;f=0;g=0;while(1){if((g|0)==4)break;v=g+1|0;f=f+(_(v,(c[r+(g<<2)>>2]|0)-(c[a+92+(g<<2)>>2]|0)>>4)|0)|0;g=v}if((f|0)>=1){if((f|0)<32768){if((c[s>>2]|0)==((c[a+4600>>2]|0)*10|0))f=f<<16;else f=f<<15;v=(Lb(f)|0)+32768|0;d=d<<16>>16;d=(_(v>>16,d)|0)+((_(v&65535,d)|0)>>16)|0}}else d=d>>1;g=d>>7;c[a+4556>>2]=(g|0)<255?g:255;g=d<<16>>16;g=((_(d>>16,g)|0)<<16)+(_(d&65535,g)|0)|0;g=(c[s>>2]|0)==((c[a+4600>>2]|0)*10|0)?g>>21:g>>20;h=0;while(1){if((h|0)==4)break;f=a+72+(h<<2)|0;v=c[f>>2]|0;d=(c[t+(h<<2)>>2]|0)-v|0;d=v+((_(d>>16,g)|0)+((_(d&65535,g)|0)>>16))|0;c[f>>2]=d;d=((Wb(d)|0)*3|0)+-5120|0;f=d>>4;if((f|0)<0){d=0-f|0;if((f|0)<-191)d=0;else{v=d>>5;d=(c[23420+(v<<2)>>2]|0)-(_(c[23444+(v<<2)>>2]<<16>>16,d&31)|0)|0}}else if((f|0)>191)d=32767;else{d=d>>9;d=(c[23468+(d<<2)>>2]|0)+(_(c[23444+(d<<2)>>2]<<16>>16,f&31)|0)|0}c[a+4728+(h<<2)>>2]=d;h=h+1|0}i=u;return}function Lb(a){a=a|0;var b=0,c=0,d=0;if((a|0)<1){d=0;return d|0}d=aa(a|0)|0;b=24-d|0;c=0-b|0;do if(b)if((b|0)<0){a=a<<c|a>>>(b+32|0);break}else{a=a<<32-b|a>>>b;break}while(0);c=((d&1|0)==0?46214:32768)>>>(d>>>1);d=(_(a&127,13959168)|0)>>>16;d=c+((_(c>>16,d)|0)+((_(c&65535,d)|0)>>>16))|0;return d|0}function Mb(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,G=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,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ia=i;i=i+560|0;da=ia+232|0;ca=ia+472|0;ha=ia+440|0;ga=ia+200|0;R=ia+184|0;Q=ia+168|0;W=ia+88|0;X=ia+8|0;U=ia;$=ia+408|0;Z=ia+376|0;P=ia+344|0;T=ia+312|0;S=ia+280|0;Y=ia+536|0;V=ia+248|0;ea=h+32|0;fa=h+2|0;$b(g,c[ea>>2]|0,b[fa>>1]|0);s=b[h>>1]|0;t=i;i=i+((1*((s&65535)<<2)|0)+15&-16)|0;ba=h+8|0;s=s<<16>>16;q=b[fa>>1]|0;n=c[ba>>2]|0;r=0;while(1){if((r|0)<(s|0)){o=0;p=0}else break;while(1){if((o|0)>=(q|0))break;M=n;N=(e[g+(o<<1)>>1]|0)-(d[M>>0]<<7)<<16>>16;N=_(N,N)|0;O=(e[g+((o|1)<<1)>>1]|0)-(d[M+1>>0]<<7)<<16>>16;n=M+2|0;o=o+2|0;p=p+((N+(_(O,O)|0)|0)>>>4)|0}c[t+(r<<2)>>2]=p;r=r+1|0}N=i;i=i+((1*(l<<2)|0)+15&-16)|0;ic(t,N,s,l);I=i;i=i+((1*(l<<2)|0)+15&-16)|0;J=i;i=i+((1*(l<<4)|0)+15&-16)|0;K=h+28|0;O=h+4|0;L=h+6|0;M=k<<16>>16;G=m>>1;H=h+12|0;E=k<<14>>16;F=0;while(1){if((F|0)>=(l|0))break;D=c[N+(F<<2)>>2]|0;n=b[fa>>1]|0;o=_(D,n)|0;p=c[ba>>2]|0;q=0;while(1){if((q|0)>=(n|0))break;C=d[p+(o+q)>>0]<<7;b[P+(q<<1)>>1]=C;b[$+(q<<1)>>1]=(e[g+(q<<1)>>1]|0)-C;q=q+1|0}ac(T,P,n);s=b[fa>>1]|0;r=0;while(1){if((r|0)>=(s|0)){n=0;break}o=b[T+(r<<1)>>1]|0;n=(o&65535)<<16;if((n|0)<1)n=0;else{if(!(o<<16>>16))q=32;else q=aa(n|0)|0;o=24-q|0;p=0-o|0;do if(o)if((o|0)<0){n=n<<p|n>>>(o+32|0);break}else{n=n<<32-o|n>>>o;break}while(0);C=((q&1|0)==0?46214:32768)>>>(q>>>1);n=(_(n&127,13959168)|0)>>>16;n=C+((_(C>>16,n)|0)+((_(C&65535,n)|0)>>>16))|0}b[Z+(r<<1)>>1]=(_(b[$+(r<<1)>>1]|0,n<<16>>16)|0)>>>14;r=r+1|0}while(1){if((n|0)>=(s|0))break;b[S+(n<<1)>>1]=(b[j+(n<<1)>>1]<<5|0)/(b[T+(n<<1)>>1]|0)|0;n=n+1|0}Nb(V,Y,h,D);C=F<<4;s=c[K>>2]|0;t=b[L>>1]|0;o=b[fa>>1]|0;p=b[O>>1]|0;r=-10;while(1){if((r|0)==10)break;n=r<<10;a:do if((r|0)>0){q=n+-102|0;n=n|922}else switch(r|0){case 0:{q=n;n=n|922;break a}case -1:{q=n|102;n=n+1024|0;break a}default:{q=n|102;n=n+1126|0;break a}}while(0);B=r+10|0;c[W+(B<<2)>>2]=(_(q>>16,p)|0)+((_(q&65535,p)|0)>>16);c[X+(B<<2)>>2]=(_(n>>16,p)|0)+((_(n&65535,p)|0)>>16);r=r+1|0}c[ga>>2]=0;b[ha>>1]=0;B=o<<16>>16;A=t<<16>>16>>16;y=t&65535;n=1;w=B;b:while(1){z=w+-1|0;p=b[V+(z<<1)>>1]|0;q=d[Y+z>>0]<<8;r=b[Z+(z<<1)>>1]|0;t=S+(z<<1)|0;x=0;while(1){if((x|0)>=(n|0))break;u=ha+(x<<1)|0;k=(_(q,b[u>>1]|0)|0)>>16;o=r-k<<16>>16;o=(_(A,o)|0)+((_(y,o)|0)>>16)|0;o=(o|0)>9?9:(o|0)<-10?-10:o;a[ca+(x<<4)+z>>0]=o;v=o+10|0;m=(c[W+(v<<2)>>2]|0)+k|0;k=(c[X+(v<<2)>>2]|0)+k|0;b[u>>1]=m;u=x+n|0;b[ha+(u<<1)>>1]=k;do if((o|0)>2)if((o|0)==3){v=d[s+(p+7)>>0]|0;o=280;break}else{o=(o<<16>>16)*43|0;v=o+108|0;o=o+151|0;break}else{if((o|0)>=-3){v=d[s+(p+(o+4))>>0]|0;o=d[s+(p+(o+5))>>0]|0;break}if((o|0)==-4){v=280;o=d[s+(p+1)>>0]|0;break}else{o=_(o<<16>>16,-43)|0;v=o+108|0;o=o+65|0;break}}while(0);ka=ga+(x<<2)|0;ja=c[ka>>2]|0;la=r-m<<16>>16;la=_(la,la)|0;m=b[t>>1]|0;c[ka>>2]=ja+(_(la,m)|0)+(_(M,v<<16>>16)|0);v=r-k<<16>>16;c[ga+(u<<2)>>2]=ja+(_(_(v,v)|0,m)|0)+(_(M,o<<16>>16)|0);x=x+1|0}if((n|0)<3){o=0;while(1){if((o|0)>=(n|0))break;a[ca+(o+n<<4)+z>>0]=(d[ca+(o<<4)+z>>0]|0)+1;o=o+1|0}n=n<<1;o=n;while(1){if((o|0)>=4){w=z;continue b}a[ca+(o<<4)+z>>0]=a[ca+(o-n<<4)+z>>0]|0;o=o+1|0}}if((w|0)>1)m=0;else{r=2147483647;q=0;n=0;break}while(1){if((m|0)==4){o=0;t=0;p=0;q=2147483647;r=0;break}p=ga+(m<<2)|0;q=c[p>>2]|0;o=m+4|0;r=ga+(o<<2)|0;t=c[r>>2]|0;if((q|0)>(t|0)){c[Q+(m<<2)>>2]=q;c[R+(m<<2)>>2]=t;c[p>>2]=t;c[r>>2]=q;ja=ha+(m<<1)|0;ka=b[ja>>1]|0;la=ha+(o<<1)|0;b[ja>>1]=b[la>>1]|0;b[la>>1]=ka}else{c[R+(m<<2)>>2]=q;c[Q+(m<<2)>>2]=t;o=m}c[da+(m<<2)>>2]=o;m=m+1|0}while(1){if((r|0)!=4){la=c[Q+(r<<2)>>2]|0;ka=(q|0)>(la|0);ja=c[R+(r<<2)>>2]|0;x=(p|0)<(ja|0);o=x?r:o;t=ka?r:t;p=x?ja:p;q=ka?la:q;r=r+1|0;continue}if((q|0)>=(p|0)){o=0;break}c[da+(o<<2)>>2]=c[da+(t<<2)>>2]^4;q=t+4|0;c[ga+(o<<2)>>2]=c[ga+(q<<2)>>2];b[ha+(o<<1)>>1]=b[ha+(q<<1)>>1]|0;c[R+(o<<2)>>2]=0;c[Q+(t<<2)>>2]=2147483647;q=ca+(o<<4)|0;o=ca+(t<<4)|0;p=q+16|0;do{a[q>>0]=a[o>>0]|0;q=q+1|0;o=o+1|0}while((q|0)<(p|0));o=0;t=0;p=0;q=2147483647;r=0}while(1){if((o|0)==4){w=z;continue b}la=ca+(o<<4)+z|0;a[la>>0]=(d[la>>0]|0)+((c[da+(o<<2)>>2]|0)>>>2);o=o+1|0}}while(1){if((n|0)==8)break;ka=c[ga+(n<<2)>>2]|0;la=(r|0)>(ka|0);r=la?ka:r;q=la?n:q;n=n+1|0}n=J+C|0;o=q&3;p=0;while(1){if((p|0)>=(B|0))break;a[J+(C+p)>>0]=a[ca+(o<<4)+p>>0]|0;p=p+1|0}a[n>>0]=(d[n>>0]|0)+(q>>>2);q=I+(F<<2)|0;c[q>>2]=r;n=_(G,b[h>>1]|0)|0;o=c[H>>2]|0;p=a[o+(n+D)>>0]|0;if(!D)n=256-(p&255)|0;else n=(d[o+(n+(D+-1))>>0]|0)-(p&255)|0;c[q>>2]=r+(_(1024-(Wb(n)|0)<<16>>16,E)|0);F=F+1|0}ic(I,U,l,1);o=c[U>>2]|0;q=c[N+(o<<2)>>2]|0;a[f>>0]=q;md(f+1|0,J+(o<<4)|0,b[fa>>1]|0)|0;o=b[fa>>1]|0;q=_(q<<24>>24,o<<16>>16)|0;n=c[ba>>2]|0;p=0;while(1){if((p|0)>=(o<<16>>16|0))break;b[g+(p<<1)>>1]=d[n+(q+p)>>0]<<7;o=b[fa>>1]|0;p=p+1|0}Nb(ca,da,h,a[f>>0]|0);s=b[fa>>1]|0;q=b[O>>1]|0;n=0;o=s;while(1){r=o+-1|0;if((o|0)<=0)break;p=(_(n<<16>>16,d[da+r>>0]|0)|0)>>8;n=a[f+o>>0]|0;o=n<<24>>24<<10;if(n<<24>>24>0)n=o+-102|0;else n=n<<24>>24<0?o|102:o;n=p+((_(n>>16,q)|0)+((_(n&65535,q)|0)>>16))|0;b[ha+(r<<1)>>1]=n;o=r}ac(ga,g,s);r=0;while(1){n=b[fa>>1]|0;if((r|0)>=(n|0))break;o=b[ga+(r<<1)>>1]|0;n=(o&65535)<<16;if((n|0)<1)n=0;else{if(!(o<<16>>16))q=32;else q=aa(n|0)|0;o=24-q|0;p=0-o|0;do if(o)if((o|0)<0){n=n<<p|n>>>(o+32|0);break}else{n=n<<32-o|n>>>o;break}while(0);la=((q&1|0)==0?46214:32768)>>>(q>>>1);n=(_(n&127,13959168)|0)>>>16;n=la+((_(la>>16,n)|0)+((_(la&65535,n)|0)>>>16))|0}la=g+(r<<1)|0;ka=(b[la>>1]|0)+((b[ha+(r<<1)>>1]<<14|0)/(n|0)|0)|0;b[la>>1]=(ka|0)>32767?32767:(ka|0)<0?0:ka;r=r+1|0}$b(g,c[ea>>2]|0,n);i=ia;return}function Nb(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f+2|0;h=b[j>>1]|0;g=(_(h<<16>>16,g)|0)/2|0;i=f+16|0;g=(c[f+20>>2]|0)+g|0;f=0;while(1){if((f|0)>=(h<<16>>16|0))break;l=a[g>>0]|0;k=l&255;b[d+(f<<1)>>1]=(k>>>1&7)*9;a[e+f>>0]=a[(c[i>>2]|0)+(f+((b[j>>1]|0)+-1&0-(k&1)))>>0]|0;h=f|1;b[d+(h<<1)>>1]=((l&255)>>>5&255)*9;a[e+h>>0]=a[(c[i>>2]|0)+(f+((b[j>>1]|0)+-1&0-(k>>>4&1))+1)>>0]|0;h=b[j>>1]|0;g=g+1|0;f=f+2|0}return}function Ob(d,f,g,h,j,k,l,m,n,o,p){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var 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;C=i;i=i+16|0;A=C+8|0;x=C+4|0;w=C;q=f+-4|0;r=p+2|0;B=i;i=i+((1*(r<<1)|0)+15&-16)|0;s=0;while(1){if((s|0)>=(r|0))break;z=s+-2|0;v=b[f+(z<<1)>>1]|0;z=b[g+(z<<1)>>1]|0;y=v+z|0;z=v-z|0;b[f+(s+-2<<1)>>1]=(y>>>1)+(y&1);z=(z>>1)+(z&1)|0;b[B+(s<<1)>>1]=(z|0)>32767?32767:(z|0)<-32768?-32768:z;s=s+1|0}v=d+4|0;t=e[v>>1]|e[v+2>>1]<<16;b[q>>1]=t;b[q+2>>1]=t>>>16;t=d+8|0;r=e[t>>1]|e[t+2>>1]<<16;c[B>>2]=r;q=f+(p+-2<<1)|0;q=e[q>>1]|e[q+2>>1]<<16;b[v>>1]=q;b[v+2>>1]=q>>>16;v=B+(p<<1)|0;v=e[v>>1]|e[v+2>>1]<<16;b[t>>1]=v;b[t+2>>1]=v>>>16;t=i;i=i+((1*(p<<1)|0)+15&-16)|0;v=i;i=i+((1*(p<<1)|0)+15&-16)|0;q=0;while(1){if((q|0)>=(p|0))break;y=b[f+(q+-1<<1)>>1]|0;z=((b[f+(q+-2<<1)>>1]|0)+(b[f+(q<<1)>>1]|0)+(y<<16>>16<<1)>>1)+1>>1;b[t+(q<<1)>>1]=z;b[v+(q<<1)>>1]=(y&65535)-z;q=q+1|0}s=i;i=i+((1*(p<<1)|0)+15&-16)|0;u=i;i=i+((1*(p<<1)|0)+15&-16)|0;q=r&65535;r=0;while(1){if((r|0)>=(p|0))break;z=r+1|0;y=b[B+(z<<1)>>1]|0;D=((q<<16>>16)+(b[B+(r+2<<1)>>1]|0)+(y<<16>>16<<1)>>1)+1>>1;b[s+(r<<1)>>1]=D;b[u+(r<<1)>>1]=(y&65535)-D;q=y;r=z}q=(o*10|0)==(p|0);y=q?328:655;m=m<<16>>16;m=_(m,m)|0;m=(_(m>>>16,y)|0)+((_(m&65535,y)|0)>>>16)|0;y=lc(x,t,s,d+12|0,p,m)|0;c[A>>2]=y;u=lc(w,v,u,d+20|0,p,m)|0;z=A+4|0;c[z>>2]=u;t=(c[w>>2]|0)+((c[x>>2]<<16>>16)*3|0)|0;t=(t|0)<65536?t:65536;v=l-(q?1200:600)|0;v=(v|0)<1?1:v;s=((o<<16>>16)*900|0)+2e3|0;q=t*3|0;r=Pb(v,q+851968|0,19)|0;c[k>>2]=r;if((r|0)<(s|0)){c[k>>2]=s;l=v-s|0;c[k+4>>2]=l;D=s<<16>>16;q=Pb((l<<1)-s|0,(_(q+65536>>16,D)|0)+((_(q&65535,D)|0)>>16)|0,16)|0;if((q|0)>16384)q=16384;else q=(q|0)<0?0:q}else{c[k+4>>2]=v-r;q=16384}r=d+28|0;x=b[r>>1]|0;l=x&65535;D=m<<16>>16;b[r>>1]=l+((_(q-(x<<16>>16)>>16,D)|0)+((_(q-l&65535,D)|0)>>>16));a[j>>0]=0;a:do if(!n){q=v<<3;do if(!(b[d+30>>1]|0)){if((q|0)>=(s*13|0)){q=b[r>>1]|0;D=q<<16>>16;if(((_(t>>16,D)|0)+((_(t&65535,D)|0)>>16)|0)>=819){q=b[r>>1]|0;break}}else q=b[r>>1]|0;r=q<<16>>16;c[A>>2]=(_(r,y<<16>>16)|0)>>14;c[z>>2]=(_(r,u<<16>>16)|0)>>14;oc(A,h);c[A>>2]=0;c[z>>2]=0;c[k>>2]=v;c[k+4>>2]=0;a[j>>0]=1;r=0;s=30;break a}else{if((q|0)>=(s*11|0)){q=b[r>>1]|0;D=q<<16>>16;if(((_(t>>16,D)|0)+((_(t&65535,D)|0)>>16)|0)>=328)break}else q=b[r>>1]|0;q=q<<16>>16;c[A>>2]=(_(q,y<<16>>16)|0)>>14;c[z>>2]=(_(q,u<<16>>16)|0)>>14;oc(A,h);c[A>>2]=0;c[z>>2]=0;q=0;s=29;break a}while(0);if(q<<16>>16>15565){oc(A,h);q=16384;s=29;break}else{q=q<<16>>16;c[A>>2]=(_(q,y<<16>>16)|0)>>14;c[z>>2]=(_(q,u<<16>>16)|0)>>14;oc(A,h);q=b[r>>1]|0;s=29;break}}else{c[A>>2]=0;c[z>>2]=0;oc(A,h);q=0;s=29}while(0);if((s|0)==29)if((a[j>>0]|0)==1){r=q;s=30}else{b[d+32>>1]=0;s=34}do if((s|0)==30){q=d+32|0;D=(e[q>>1]|0)+(p-(o<<3))|0;b[q>>1]=D;if((D<<16>>16|0)<(o*5|0)){a[j>>0]=0;s=35;break}else{b[q>>1]=1e4;q=r;s=34;break}}while(0);if((s|0)==34)if(!(a[j>>0]|0)){r=q;s=35}if((s|0)==35){q=k+4|0;if((c[q>>2]|0)<1){c[q>>2]=1;c[k>>2]=(v|0)<2?1:v+-1|0;q=r}else q=r}u=b[d>>1]|0;n=d+2|0;v=b[n>>1]|0;h=d+30|0;m=b[h>>1]|0;w=m<<16>>16;r=o<<3;y=c[A>>2]|0;t=(65536/(r|0)|0)<<16>>16;x=((_(y-(u&65535)<<16>>16,t)|0)>>15)+1>>1;l=c[z>>2]|0;s=((_(l-(v&65535)<<16>>16,t)|0)>>15)+1>>1;t=(_(q-w>>16,t)|0)+((_(q-(m&65535)&65535,t)|0)>>16)<<10;u=0-(u<<16>>16)|0;v=0-(v<<16>>16)|0;m=0;w=w<<10;while(1){if((m|0)>=(r|0))break;k=u-x|0;o=v-s|0;D=w+t|0;A=m+1|0;z=b[f+(m+-1<<1)>>1]|0;F=(b[f+(m+-2<<1)>>1]|0)+(b[f+(m<<1)>>1]|0)+(z<<1)|0;G=b[B+(A<<1)>>1]|0;E=k<<16>>16;j=o<<16>>16;j=((_(D>>16,G)|0)+((_(D&64512,G)|0)>>16)+((_(F>>7,E)|0)+((_(F<<9&65024,E)|0)>>16))+((_(z>>5,j)|0)+((_(z<<11&63488,j)|0)>>16))>>7)+1>>1;b[g+(m+-1<<1)>>1]=(j|0)>32767?32767:(j|0)<-32768?-32768:j;u=k;v=o;m=A;w=D}s=q>>6;t=q<<10&64512;u=0-y<<16>>16;v=0-l<<16>>16;while(1){if((r|0)>=(p|0))break;G=r+1|0;F=b[f+(r+-1<<1)>>1]|0;E=(b[f+(r+-2<<1)>>1]|0)+(b[f+(r<<1)>>1]|0)+(F<<1)|0;D=b[B+(G<<1)>>1]|0;F=((_(s,D)|0)+((_(t,D)|0)>>16)+((_(E>>7,u)|0)+((_(E<<9&65024,u)|0)>>16))+((_(F>>5,v)|0)+((_(F<<11&63488,v)|0)>>16))>>7)+1>>1;b[g+(r+-1<<1)>>1]=(F|0)>32767?32767:(F|0)<-32768?-32768:F;r=G}b[d>>1]=y;b[n>>1]=l;b[h>>1]=q;i=C;return}function Pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;if((a|0)<=0){d=0-a|0;if(!d)e=31;else f=3}else{d=a;f=3}if((f|0)==3)e=(aa(d|0)|0)+-1|0;a=a<<e;if((b|0)<=0){d=0-b|0;if(!d)d=31;else f=6}else{d=b;f=6}if((f|0)==6)d=(aa(d|0)|0)+-1|0;f=b<<d;b=(536870911/(f>>16|0)|0)<<16>>16;g=(_(a>>16,b)|0)+((_(a&65535,b)|0)>>16)|0;f=td(f|0,((f|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;f=ld(f|0,C|0,29)|0;f=a-(f&-8)|0;b=g+((_(f>>16,b)|0)+((_(f&65535,b)|0)>>16))|0;d=e+29-d-c|0;if((d|0)>=0)return ((d|0)<32?b>>d:0)|0;d=0-d|0;a=-2147483648>>d;e=2147483647>>>d;if((a|0)>(e|0)){if((b|0)>(a|0)){g=a;g=g<<d;return g|0}g=(b|0)<(e|0)?e:b;g=g<<d;return g|0}else{if((b|0)>(e|0)){g=e;g=g<<d;return g|0}g=(b|0)<(a|0)?a:b;g=g<<d;return g|0}return 0}function Qb(a,b){a=a|0;b=b|0;var d=0,e=0;hd(a|0,0,12240)|0;c[a+5124>>2]=b;b=((Wb(3932160)|0)<<8)+-524288|0;c[a+8>>2]=b;c[a+12>>2]=b;c[a+4696>>2]=1;b=a+32|0;d=b+112|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));b=0;while(1){if((b|0)==4){b=0;break}d=b+1|0;e=50/(d|0)|0;c[a+124+(b<<2)>>2]=(e|0)>1?e:1;b=d}while(1){if((b|0)==4)break;e=(c[a+124+(b<<2)>>2]|0)*100|0;c[a+92+(b<<2)>>2]=e;c[a+108+(b<<2)>>2]=2147483647/(e|0)|0;b=b+1|0}c[a+140>>2]=15;b=0;while(1){if((b|0)==4)break;c[a+72+(b<<2)>>2]=25600;b=b+1|0}return 0}function Rb(a,d){a=a|0;d=d|0;var e=0,f=0,h=0,j=0.0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+304|0;r=u;p=a+4600|0;f=c[p>>2]|0;if((f|0)==(d|0)?(e=a+4580|0,(c[a+4584>>2]|0)==(c[e>>2]|0)):0){s=e;t=0;s=c[s>>2]|0;a=a+4584|0;c[a>>2]=s;i=u;return t|0}if(!f){t=a+4580|0;s=t;t=bc(a+5808|0,c[t>>2]|0,d*1e3|0,1)|0;s=c[s>>2]|0;a=a+4584|0;c[a>>2]=s;i=u;return t|0}q=((c[a+4604>>2]|0)*10|0)+5|0;o=_(q,f)|0;f=_(q,d)|0;s=na()|0;t=i;i=i+((1*(((o|0)>(f|0)?o:f)<<1)|0)+15&-16)|0;e=o;while(1){n=e+-1|0;if((e|0)<=0)break;j=+g[a+9356+(n<<2)>>2];h=(g[k>>2]=j,c[k>>2]|0);l=(h&2130706432)>>>0>1249902592;if(!l){e=(h|0)<0;m=e?j+-8388608.0+8388608.0:j+8388608.0+-8388608.0;if(m==0.0)m=e?-0.0:0.0}else m=j;if((~~m|0)<=32767){if(!l){e=(h|0)<0;m=e?j+-8388608.0+8388608.0:j+8388608.0+-8388608.0;if(m==0.0)m=e?-0.0:0.0}else m=j;if((~~m|0)<-32768)e=-32768;else{if(!l){e=(h|0)<0;j=e?j+-8388608.0+8388608.0:j+8388608.0+-8388608.0;if(j==0.0)j=e?-0.0:0.0}e=~~j}}else e=32767;b[t+(n<<1)>>1]=e;e=n}n=a+4580|0;l=bc(r,(c[p>>2]<<16>>16)*1e3|0,c[n>>2]|0,0)|0;q=_(q,(c[n>>2]|0)/1e3|0)|0;p=i;i=i+((1*(q<<1)|0)+15&-16)|0;cc(r,p,t,o);r=a+5808|0;h=bc(r,c[n>>2]|0,(d<<16>>16)*1e3|0,1)|0;cc(r,t,p,q);while(1){e=f+-1|0;if((f|0)<=0)break;g[a+9356+(e<<2)>>2]=+(b[t+(e<<1)>>1]|0);f=e}ya(s|0);s=n;t=l+h|0;s=c[s>>2]|0;a=a+4584|0;c[a>>2]=s;i=u;return t|0}function Sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;c[b+(e<<2)>>2]=65536;c[d+(e<<2)>>2]=65536;f=0;while(1){if((f|0)>=(e|0)){a=e;break}g=a+(e-f+-1<<2)|0;h=a+(f+e<<2)|0;c[b+(f<<2)>>2]=0-(c[g>>2]|0)-(c[h>>2]|0);c[d+(f<<2)>>2]=(c[h>>2]|0)-(c[g>>2]|0);f=f+1|0}while(1){if((a|0)<=0){a=2;break}h=a+-1|0;g=b+(h<<2)|0;c[g>>2]=(c[g>>2]|0)-(c[b+(a<<2)>>2]|0);g=d+(h<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[d+(a<<2)>>2]|0);a=h}while(1){if((a|0)>(e|0)){a=2;break}else f=e;while(1){if((f|0)<=(a|0))break;h=b+(f+-2<<2)|0;c[h>>2]=(c[h>>2]|0)-(c[b+(f<<2)>>2]|0);f=f+-1|0}h=b+(a+-2<<2)|0;c[h>>2]=(c[h>>2]|0)-(c[b+(a<<2)>>2]<<1);a=a+1|0}while(1){if((a|0)>(e|0))break;else f=e;while(1){if((f|0)<=(a|0))break;h=d+(f+-2<<2)|0;c[h>>2]=(c[h>>2]|0)-(c[d+(f<<2)>>2]|0);f=f+-1|0}h=d+(a+-2<<2)|0;c[h>>2]=(c[h>>2]|0)-(c[d+(a<<2)>>2]<<1);a=a+1|0}return}function Tb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+(d<<2)>>2]|0;f=b<<4;if((d|0)==8){b=b<<20>>16;g=(f>>15)+1>>1;d=(c[a+28>>2]|0)+((_(e>>16,b)|0)+((_(e&65535,b)|0)>>16))+(_(e,g)|0)|0;d=(c[a+24>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;d=(c[a+20>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;d=(c[a+16>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;d=(c[a+12>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;d=(c[a+8>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;d=(c[a+4>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;a=(c[a>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;return a|0}g=b<<20>>16;f=(f>>15)+1>>1;while(1){b=d+-1|0;if((d|0)<=0)break;d=b;e=(c[a+(b<<2)>>2]|0)+((_(e>>16,g)|0)+((_(e&65535,g)|0)>>16))+(_(e,f)|0)|0}return e|0}function Ub(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=g>>1;h=d+4|0;i=0;while(1){if((i|0)>=(g|0))break;m=i<<1;n=b[a+(m<<1)>>1]<<10;l=n-(c[d>>2]|0)|0;k=(_(l>>16,-24290)|0)+((_(l&65535,-24290)|0)>>16)|0;j=n+k|0;c[d>>2]=n+(l+k);m=b[a+((m|1)<<1)>>1]<<10;k=c[h>>2]|0;l=m-k|0;l=((l>>16)*10788|0)+(((l&65535)*10788|0)>>>16)|0;k=k+l|0;c[h>>2]=m+l;l=(k+j>>10)+1>>1;b[e+(i<<1)>>1]=(l|0)>32767?32767:(l|0)<-32768?-32768:l;j=(k-j>>10)+1>>1;b[f+(i<<1)>>1]=(j|0)>32767?32767:(j|0)<-32768?-32768:j;i=i+1|0}return}function Vb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=d+-65536|0;f=b+-1|0;e=0;while(1){b=d>>16;if((e|0)>=(f|0))break;h=a+(e<<2)|0;i=c[h>>2]|0;j=i<<16>>16;c[h>>2]=(_(b,j)|0)+((_(d&65535,j)|0)>>16)+(_(d,(i>>15)+1>>1)|0);d=d+(((_(d,g)|0)>>15)+1>>1)|0;e=e+1|0}j=a+(f<<2)|0;i=c[j>>2]|0;h=i<<16>>16;c[j>>2]=(_(b,h)|0)+((_(d&65535,h)|0)>>16)+(_(d,(i>>15)+1>>1)|0);return}function Wb(a){a=a|0;var b=0,c=0,d=0;if(!a)d=32;else d=aa(a|0)|0;b=24-d|0;c=0-b|0;do if(b)if((b|0)<0){a=a<<c|a>>>(b+32|0);break}else{a=a<<32-b|a>>>b;break}while(0);c=a&127;return (31-d<<7)+(c+(((_(c,128-c|0)|0)*179|0)>>>16))|0}function Xb(a){a=a|0;var b=0,c=0,d=0;if((a|0)<0){d=0;return d|0}if((a|0)>3966){d=2147483647;return d|0}b=a>>7;d=1<<b;c=a&127;if((a|0)<2048)b=c+((_(_(c,128-c|0)|0,-174)|0)>>16)<<b>>7;else b=_(d>>7,c+((_(_(c,128-c|0)|0,-174)|0)>>16)|0)|0;d=d+b|0;return d|0}function Yb(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=d+2|0;h=d+4|0;i=d+6|0;j=d+8|0;k=d+10|0;n=f;while(1){if((n|0)>=(e|0))break;l=n+-1|0;m=_(b[c+(l<<1)>>1]|0,b[d>>1]|0)|0;m=m+(_(b[c+(n+-2<<1)>>1]|0,b[g>>1]|0)|0)|0;m=m+(_(b[c+(n+-3<<1)>>1]|0,b[h>>1]|0)|0)|0;m=m+(_(b[c+(n+-4<<1)>>1]|0,b[i>>1]|0)|0)|0;m=m+(_(b[c+(n+-5<<1)>>1]|0,b[j>>1]|0)|0)|0;m=m+(_(b[c+(n+-6<<1)>>1]|0,b[k>>1]|0)|0)|0;o=6;while(1){if((o|0)>=(f|0))break;p=m+(_(b[c+(l-o<<1)>>1]|0,b[d+(o<<1)>>1]|0)|0)|0;m=p+(_(b[c+(l+~o<<1)>>1]|0,b[d+((o|1)<<1)>>1]|0)|0)|0;o=o+2|0}p=((b[c+(n<<1)>>1]<<12)-m>>11)+1>>1;b[a+(n<<1)>>1]=(p|0)>32767?32767:(p|0)<-32768?-32768:p;n=n+1|0}hd(a|0,0,f<<1|0)|0;return}function Zb(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=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;z=i;i=i+336|0;w=z+200|0;j=z+136|0;k=z+100|0;l=z+64|0;x=z;g=(f|0)==16?36223:36239;h=0;while(1){if((h|0)>=(f|0))break;u=b[e+(h<<1)>>1]|0;v=u>>8;t=b[30774+(v<<1)>>1]|0;v=((t<<8)+(_((b[30774+(v+1<<1)>>1]|0)-t|0,u-(v<<8)|0)|0)>>3)+1>>1;c[j+(d[g+h>>0]<<2)>>2]=v;h=h+1|0}e=f>>1;_b(k,j,e);_b(l,j+4|0,e);g=0;while(1){if((g|0)>=(e|0))break;v=g+1|0;u=(c[k+(v<<2)>>2]|0)+(c[k+(g<<2)>>2]|0)|0;t=(c[l+(v<<2)>>2]|0)-(c[l+(g<<2)>>2]|0)|0;c[x+(g<<2)>>2]=0-t-u;c[x+(f-g+-1<<2)>>2]=t-u;g=v}g=0;j=0;while(1){if((j|0)<10){e=0;h=0}else break;while(1){if((h|0)>=(f|0))break;v=c[x+(h<<2)>>2]|0;v=(v|0)>0?v:0-v|0;u=(v|0)>(e|0);g=u?h:g;e=u?v:e;h=h+1|0}e=(e>>4)+1>>1;if((e|0)<=32767)break;v=(e|0)<163838?e:163838;Vb(x,f,65470-(((v<<14)+-536854528|0)/((_(v,g+1|0)|0)>>2|0)|0)|0);j=j+1|0}a:do if((j|0)==10){g=0;while(1){if((g|0)>=(f|0))break a;v=x+(g<<2)|0;u=(c[v>>2]>>4)+1>>1;u=(u|0)>32767?32767:(u|0)<-32768?-32768:u;b[a+(g<<1)>>1]=u;c[v>>2]=u<<16>>11;g=g+1|0}}else{g=0;while(1){if((g|0)>=(f|0))break a;b[a+(g<<1)>>1]=(((c[x+(g<<2)>>2]|0)>>>4)+1|0)>>>1;g=g+1|0}}while(0);u=f&1;v=0;b:while(1){if((v|0)>=16){y=54;break}g=0;e=0;while(1){if((e|0)>=(f|0))break;t=b[a+(e<<1)>>1]|0;c[w+(u<<6)+(e<<2)>>2]=t<<12;g=g+t|0;e=e+1|0}c:do if((g|0)<=4095){s=u;l=1073741824;g=f;while(1){t=g+-1|0;if((g|0)<=1)break;g=c[w+(s<<6)+(t<<2)>>2]|0;if((g|0)>16773022|(g|0)<-16773022){y=48;break c}q=0-(g<<7)|0;r=((q|0)<0)<<31>>31;td(q|0,r|0,q|0,r|0)|0;k=1073741824-C|0;if((k|0)<=0){g=0-k|0;if(!g){e=30;h=0}else{h=32-(aa(g|0)|0)|0;e=h+30|0}g=0-k|0;if(!g){g=32;p=h}else y=31}else{e=32-(aa(k|0)|0)|0;g=k;h=e;e=e+30|0;y=31}if((y|0)==31){y=0;g=aa(g|0)|0;p=h}o=k<<g+-1;h=o>>16;j=536870911/(h|0)|0;m=j<<16;n=m>>16;o=536870912-((_(h,n)|0)+((_(o&65535,n)|0)>>16))<<3;j=m+((_(o>>16,n)|0)+((_(o&65528,n)|0)>>16))+(_(o,(j>>15)+1>>1)|0)|0;g=62-g-e|0;if((g|0)<1){h=0-g|0;g=-2147483648>>h;e=2147483647>>>h;if((g|0)>(e|0)){if((j|0)<=(g|0))g=(j|0)<(e|0)?e:j}else if((j|0)>(e|0))g=e;else g=(j|0)<(g|0)?g:j;o=g<<h}else o=(g|0)<32?j>>g:0;k=td(l|0,((l|0)<0)<<31>>31|0,k|0,((k|0)<0)<<31>>31|0)|0;k=ld(k|0,C|0,30)|0;l=t&1;m=(p|0)==1;n=((o|0)<0)<<31>>31;h=p+-1|0;j=0;while(1){if((t|0)<=(j|0))break;e=c[w+(s<<6)+(j<<2)>>2]|0;g=c[w+(s<<6)+(t-j+-1<<2)>>2]|0;g=td(g|0,((g|0)<0)<<31>>31|0,q|0,r|0)|0;g=ld(g|0,C|0,30)|0;g=jd(g|0,C|0,1,0)|0;g=ld(g|0,C|0,1)|0;g=e-g|0;g=td(g|0,((g|0)<0)<<31>>31|0,o|0,n|0)|0;e=C;if(m){p=ld(g|0,e|0,1)|0;g=jd(p|0,C|0,g&1|0,0)|0}else{g=kd(g|0,e|0,h|0)|0;g=jd(g|0,C|0,1,0)|0;g=ld(g|0,C|0,1)|0}c[w+(l<<6)+(j<<2)>>2]=g;j=j+1|0}s=l;l=k&-4;g=t}g=c[w+(s<<6)>>2]|0;if(!((g|0)>16773022|(g|0)<-16773022)){s=0-(g<<7)|0;t=((s|0)<0)<<31>>31;td(s|0,t|0,s|0,t|0)|0;t=1073741824-C|0;t=td(l|0,((l|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=ld(t|0,C|0,30)|0;if((t&-4|0)>=107374){y=54;break b}}else y=48}else y=48;while(0);if((y|0)==48)y=0;Vb(x,f,65536-(2<<v)|0);g=0;while(1){if((g|0)>=(f|0))break;b[a+(g<<1)>>1]=(((c[x+(g<<2)>>2]|0)>>>4)+1|0)>>>1;g=g+1|0}v=v+1|0}if((y|0)==54){i=z;return}}function _b(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c[a>>2]=65536;k=a+4|0;j=1;e=0-(c[b>>2]|0)|0;while(1){c[k>>2]=e;if((j|0)>=(d|0))break;i=c[b+(j<<1<<2)>>2]|0;h=c[a+(j+-1<<2)>>2]|0;f=((i|0)<0)<<31>>31;e=c[a+(j<<2)>>2]|0;e=td(i|0,f|0,e|0,((e|0)<0)<<31>>31|0)|0;e=ld(e|0,C|0,15)|0;e=jd(e|0,C|0,1,0)|0;e=ld(e|0,C|0,1)|0;g=j+1|0;c[a+(g<<2)>>2]=(h<<1)-e;e=j;while(1){if((e|0)<=1)break;j=c[a+(e+-2<<2)>>2]|0;m=td(i|0,f|0,h|0,((h|0)<0)<<31>>31|0)|0;m=ld(m|0,C|0,15)|0;m=jd(m|0,C|0,1,0)|0;m=ld(m|0,C|0,1)|0;l=a+(e<<2)|0;c[l>>2]=(c[l>>2]|0)+(j-m);h=j;e=e+-1|0}j=g;e=(c[k>>2]|0)-i|0}return}function $b(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=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;n=d+-1|0;q=a+(n<<1)|0;r=c+(d<<1)|0;o=0;while(1){if((o|0)>=20)break;j=b[a>>1]|0;i=b[c>>1]|0;f=j;g=0;j=(j<<16>>16)-(i<<16>>16)|0;h=1;while(1){if((h|0)>(n|0))break;k=b[a+(h<<1)>>1]|0;m=(k<<16>>16)-((f<<16>>16)+(b[c+(h<<1)>>1]|0))|0;l=(m|0)<(j|0);f=k;g=l?h:g;j=l?m:j;h=h+1|0}l=32768-((b[q>>1]|0)+(b[r>>1]|0))|0;k=(l|0)<(j|0);m=k?d:g;if(((k?l:j)|0)>-1){p=36;break}do if(!m)b[a>>1]=i;else{if((m|0)==(d|0)){b[q>>1]=32768-(e[r>>1]|0);break}else{i=0;f=0}while(1){if((f|0)>=(m|0))break;i=i+(b[c+(f<<1)>>1]|0)|0;f=f+1|0}k=c+(m<<1)|0;l=b[k>>1]|0;g=l>>1;h=32768;f=d;while(1){if((f|0)<=(m|0))break;h=h-(b[c+(f<<1)>>1]|0)|0;f=f+-1|0}f=i+g|0;h=h-g|0;j=a+(m+-1<<1)|0;s=b[j>>1]|0;i=a+(m<<1)|0;g=b[i>>1]|0;g=((s<<16>>16)+(g<<16>>16)>>1)+((s&65535)+(g&65535)&1)|0;if((f|0)>(h|0)){if((g|0)<=(f|0))f=(g|0)<(h|0)?h:g}else if((g|0)>(h|0))f=h;else f=(g|0)<(f|0)?f:g;s=f-(l>>>1)|0;b[j>>1]=s;b[i>>1]=s+(e[k>>1]|0)}while(0);o=o+1|0}if((p|0)==36)return;if((o|0)==20)h=1;else return;while(1){if((h|0)>=(d|0))break;f=b[a+(h<<1)>>1]|0;j=h;while(1){i=j+-1|0;if((j|0)<=0)break;g=b[a+(i<<1)>>1]|0;if(f<<16>>16>=g<<16>>16)break;b[a+(j<<1)>>1]=g;j=i}b[a+(j<<1)>>1]=f;h=h+1|0}g=b[a>>1]|0;f=b[c>>1]|0;f=g<<16>>16>f<<16>>16?g<<16>>16:f<<16>>16;b[a>>1]=f;g=1;while(1){if((g|0)>=(d|0))break;p=a+(g<<1)|0;o=b[p>>1]|0;s=(f<<16>>16)+(b[c+(g<<1)>>1]|0)|0;s=(o|0)>(s|0)?o:s;b[p>>1]=s;f=s;g=g+1|0}f=b[q>>1]|0;g=32768-(b[r>>1]|0)|0;g=(f|0)<(g|0)?f:g;b[q>>1]=g;f=d+-2|0;while(1){if((f|0)<=-1)break;d=a+(f<<1)|0;r=b[d>>1]|0;s=(g<<16>>16)-(b[c+(f+1<<1)>>1]|0)|0;s=(r|0)<(s|0)?r:s;b[d>>1]=s;g=s;f=f+-1|0}return}function ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=b[c>>1]|0;e=g<<16>>16;f=(b[c+2>>1]|0)-e|0;f=131072/(((f|0)>1?f:1)|0)|0;e=(131072/((g<<16>>16>1?e:1)|0)|0)+f|0;b[a>>1]=(e|0)<32767?e:32767;d=d+-1|0;e=1;while(1){if((e|0)>=(d|0))break;i=e+1|0;g=c+(i<<1)|0;j=(b[g>>1]|0)-(b[c+(e<<1)>>1]|0)|0;j=131072/(((j|0)>1?j:1)|0)|0;h=j+f|0;b[a+(e<<1)>>1]=(h|0)<32767?h:32767;h=e+2|0;g=(b[c+(h<<1)>>1]|0)-(b[g>>1]|0)|0;g=131072/(((g|0)>1?g:1)|0)|0;j=j+g|0;b[a+(i<<1)>>1]=(j|0)<32767?j:32767;e=h;f=g}j=32768-(b[c+(d<<1)>>1]|0)|0;j=(131072/(((j|0)>1?j:1)|0)|0)+f|0;b[a+(d<<1)>>1]=(j|0)<32767?j:32767;return}function bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;hd(b|0,0,300)|0;if(!f){a:do if((d|0)>=12e3)if((d|0)<16e3){switch(d|0){case 12e3:break a;default:f=-1}return f|0}else{switch(d|0){case 16e3:break a;default:f=-1}return f|0}else{switch(d|0){case 8e3:break a;default:f=-1}return f|0}while(0);b:do if((e|0)<16e3)if((e|0)<12e3){switch(e|0){case 8e3:break b;default:f=-1}return f|0}else{switch(e|0){case 12e3:break b;default:f=-1}return f|0}else{if((e|0)<24e3){switch(e|0){case 16e3:break b;default:f=-1}return f|0}if((e|0)<48e3){switch(e|0){case 24e3:break b;default:f=-1}return f|0}else{switch(e|0){case 48e3:break b;default:f=-1}return f|0}}while(0);c[b+292>>2]=a[((e>>12)-((e|0)>16e3&1)>>((e|0)>24e3&1))+-1+(36505+((((d>>12)-((d|0)>16e3&1)>>((d|0)>24e3&1))+-1|0)*5|0))>>0]}else{c:do if((d|0)<16e3)if((d|0)<12e3){switch(d|0){case 8e3:break c;default:f=-1}return f|0}else{switch(d|0){case 12e3:break c;default:f=-1}return f|0}else{if((d|0)<24e3){switch(d|0){case 16e3:break c;default:f=-1}return f|0}if((d|0)<48e3){switch(d|0){case 24e3:break c;default:f=-1}return f|0}else{switch(d|0){case 48e3:break c;default:f=-1}return f|0}}while(0);d:do if((e|0)>=12e3)if((e|0)<16e3){switch(e|0){case 12e3:break d;default:f=-1}return f|0}else{switch(e|0){case 16e3:break d;default:f=-1}return f|0}else{switch(e|0){case 8e3:break d;default:f=-1}return f|0}while(0);c[b+292>>2]=a[((e>>12)-((e|0)>16e3&1)>>((e|0)>24e3&1))+-1+(36490+((((d>>12)-((d|0)>16e3&1)>>((d|0)>24e3&1))+-1|0)*3|0))>>0]}i=(d|0)/1e3|0;c[b+284>>2]=i;c[b+288>>2]=(e|0)/1e3|0;c[b+268>>2]=i*10;do if((e|0)>(d|0)){f=b+264|0;if((d<<1|0)==(e|0)){c[f>>2]=1;f=0;break}else{c[f>>2]=2;f=1;break}}else{f=b+264|0;if((e|0)>=(d|0)){c[f>>2]=0;f=0;break}c[f>>2]=3;f=e<<2;if((f|0)==(d*3|0)){c[b+280>>2]=3;c[b+276>>2]=18;c[b+296>>2]=31032;f=0;break}g=e*3|0;if((g|0)==(d<<1|0)){c[b+280>>2]=2;c[b+276>>2]=18;c[b+296>>2]=31090;f=0;break}if((e<<1|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=24;c[b+296>>2]=31130;f=0;break}if((g|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=31158;f=0;break}if((f|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=31198;f=0;break}if((e*6|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=31238;f=0;break}else{d=-1;return d|0}}while(0);g=((d<<(f|14)|0)/(e|0)|0)<<2;h=b+272|0;c[h>>2]=g;i=e<<16>>16;b=(e>>15)+1>>1;f=d<<f;while(1){if(((_(g>>16,i)|0)+((_(g&65535,i)|0)>>16)+(_(g,b)|0)|0)>=(f|0)){f=0;break}d=g+1|0;c[h>>2]=d;g=d}return f|0}function cc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=a+284|0;g=a+292|0;i=c[g>>2]|0;h=(c[f>>2]|0)-i|0;md(a+168+(i<<1)|0,d|0,h<<1|0)|0;switch(c[a+264>>2]|0){case 1:{hc(a,b,a+168|0,c[a+284>>2]|0);hc(a,b+(c[a+288>>2]<<1)|0,d+(h<<1)|0,e-(c[f>>2]|0)|0);break}case 2:{gc(a,b,a+168|0,c[a+284>>2]|0);gc(a,b+(c[a+288>>2]<<1)|0,d+(h<<1)|0,e-(c[f>>2]|0)|0);break}case 3:{fc(a,b,a+168|0,c[a+284>>2]|0);fc(a,b+(c[a+288>>2]<<1)|0,d+(h<<1)|0,e-(c[f>>2]|0)|0);break}default:{md(b|0,a+168|0,c[f>>2]<<1|0)|0;md(b+(c[a+288>>2]<<1)|0,d+(h<<1)|0,e-(c[f>>2]|0)<<1|0)|0}}i=c[g>>2]|0;md(a+168|0,d+(e-i<<1)|0,i<<1|0)|0;return}function dc(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=f>>1;g=a+4|0;h=0;while(1){if((h|0)>=(f|0))break;m=h<<1;l=b[e+(m<<1)>>1]<<10;j=l-(c[a>>2]|0)|0;k=(_(j>>16,-25727)|0)+((_(j&65535,-25727)|0)>>16)|0;c[a>>2]=l+(j+k);m=b[e+((m|1)<<1)>>1]<<10;j=c[g>>2]|0;i=m-j|0;i=((i>>16)*9872|0)+(((i&65535)*9872|0)>>>16)|0;c[g>>2]=m+i;i=(l+k+j+i>>10)+1>>1;b[d+(h<<1)>>1]=(i|0)>32767?32767:(i|0)<-32768?-32768:i;h=h+1|0}return}function ec(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=a+4|0;i=f+2|0;j=0;while(1){if((j|0)>=(g|0))break;l=(c[a>>2]|0)+(b[e+(j<<1)>>1]<<8)|0;c[d+(j<<2)>>2]=l;l=l<<2;m=l>>16;k=b[f>>1]|0;l=l&65532;c[a>>2]=(c[h>>2]|0)+((_(m,k)|0)+((_(l,k)|0)>>16));k=b[i>>1]|0;c[h>>2]=(_(m,k)|0)+((_(l,k)|0)>>16);j=j+1|0}return}function fc(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=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,G=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;M=i;J=i;i=i+((1*((c[a+268>>2]|0)+(c[a+276>>2]|0)<<2)|0)+15&-16)|0;K=a+24|0;L=a+276|0;md(J|0,K|0,c[L>>2]<<2|0)|0;m=a+296|0;n=c[m>>2]|0;o=n+4|0;p=c[a+272>>2]|0;q=a+268|0;r=a+280|0;s=n+6|0;t=n+8|0;u=n+10|0;v=n+12|0;w=n+14|0;x=n+16|0;y=n+18|0;z=n+20|0;A=n+22|0;B=n+24|0;C=n+26|0;D=n+28|0;E=n+30|0;F=n+32|0;G=n+34|0;H=n+36|0;I=n+38|0;while(1){l=c[q>>2]|0;l=(f|0)<(l|0)?f:l;ec(a,J+(c[L>>2]<<2)|0,e,c[m>>2]|0,l);k=l<<16;g=c[r>>2]|0;a:do switch(c[L>>2]|0){case 18:{j=g<<16>>16;h=g+-1|0;g=0;while(1){if((g|0)>=(k|0))break a;N=g>>16;O=(_(g&65535,j)|0)>>16;P=O*9|0;Q=c[J+(N<<2)>>2]|0;S=b[n+(P+2<<1)>>1]|0;S=(_(Q>>16,S)|0)+((_(Q&65535,S)|0)>>16)|0;Q=c[J+(N+1<<2)>>2]|0;R=b[n+(P+3<<1)>>1]|0;R=S+((_(Q>>16,R)|0)+((_(Q&65535,R)|0)>>16))|0;Q=c[J+(N+2<<2)>>2]|0;S=b[n+(P+4<<1)>>1]|0;S=R+((_(Q>>16,S)|0)+((_(Q&65535,S)|0)>>16))|0;Q=c[J+(N+3<<2)>>2]|0;R=b[n+(P+5<<1)>>1]|0;R=S+((_(Q>>16,R)|0)+((_(Q&65535,R)|0)>>16))|0;Q=c[J+(N+4<<2)>>2]|0;S=b[n+(P+6<<1)>>1]|0;S=R+((_(Q>>16,S)|0)+((_(Q&65535,S)|0)>>16))|0;Q=c[J+(N+5<<2)>>2]|0;R=b[n+(P+7<<1)>>1]|0;R=S+((_(Q>>16,R)|0)+((_(Q&65535,R)|0)>>16))|0;Q=c[J+(N+6<<2)>>2]|0;S=b[n+(P+8<<1)>>1]|0;S=R+((_(Q>>16,S)|0)+((_(Q&65535,S)|0)>>16))|0;Q=c[J+(N+7<<2)>>2]|0;R=b[n+(P+9<<1)>>1]|0;R=S+((_(Q>>16,R)|0)+((_(Q&65535,R)|0)>>16))|0;Q=c[J+(N+8<<2)>>2]|0;P=b[n+(P+10<<1)>>1]|0;P=R+((_(Q>>16,P)|0)+((_(Q&65535,P)|0)>>16))|0;O=(h-O|0)*9|0;Q=c[J+(N+17<<2)>>2]|0;R=b[n+(O+2<<1)>>1]|0;R=P+((_(Q>>16,R)|0)+((_(Q&65535,R)|0)>>16))|0;Q=c[J+(N+16<<2)>>2]|0;P=b[n+(O+3<<1)>>1]|0;P=R+((_(Q>>16,P)|0)+((_(Q&65535,P)|0)>>16))|0;Q=c[J+(N+15<<2)>>2]|0;R=b[n+(O+4<<1)>>1]|0;R=P+((_(Q>>16,R)|0)+((_(Q&65535,R)|0)>>16))|0;Q=c[J+(N+14<<2)>>2]|0;P=b[n+(O+5<<1)>>1]|0;P=R+((_(Q>>16,P)|0)+((_(Q&65535,P)|0)>>16))|0;Q=c[J+(N+13<<2)>>2]|0;R=b[n+(O+6<<1)>>1]|0;R=P+((_(Q>>16,R)|0)+((_(Q&65535,R)|0)>>16))|0;Q=c[J+(N+12<<2)>>2]|0;P=b[n+(O+7<<1)>>1]|0;P=R+((_(Q>>16,P)|0)+((_(Q&65535,P)|0)>>16))|0;Q=c[J+(N+11<<2)>>2]|0;R=b[n+(O+8<<1)>>1]|0;R=P+((_(Q>>16,R)|0)+((_(Q&65535,R)|0)>>16))|0;Q=c[J+(N+10<<2)>>2]|0;P=b[n+(O+9<<1)>>1]|0;P=R+((_(Q>>16,P)|0)+((_(Q&65535,P)|0)>>16))|0;N=c[J+(N+9<<2)>>2]|0;O=b[n+(O+10<<1)>>1]|0;O=(P+((_(N>>16,O)|0)+((_(N&65535,O)|0)>>16))>>5)+1>>1;N=d;b[N>>1]=(O|0)>32767?32767:(O|0)<-32768?-32768:O;d=N+2|0;g=g+p|0}}case 24:{g=0;while(1){if((g|0)>=(k|0))break a;S=g>>16;R=(c[J+(S<<2)>>2]|0)+(c[J+(S+23<<2)>>2]|0)|0;Q=b[o>>1]|0;Q=(_(R>>16,Q)|0)+((_(R&65535,Q)|0)>>16)|0;R=(c[J+(S+1<<2)>>2]|0)+(c[J+(S+22<<2)>>2]|0)|0;P=b[s>>1]|0;P=Q+((_(R>>16,P)|0)+((_(R&65535,P)|0)>>16))|0;R=(c[J+(S+2<<2)>>2]|0)+(c[J+(S+21<<2)>>2]|0)|0;Q=b[t>>1]|0;Q=P+((_(R>>16,Q)|0)+((_(R&65535,Q)|0)>>16))|0;R=(c[J+(S+3<<2)>>2]|0)+(c[J+(S+20<<2)>>2]|0)|0;P=b[u>>1]|0;P=Q+((_(R>>16,P)|0)+((_(R&65535,P)|0)>>16))|0;R=(c[J+(S+4<<2)>>2]|0)+(c[J+(S+19<<2)>>2]|0)|0;Q=b[v>>1]|0;Q=P+((_(R>>16,Q)|0)+((_(R&65535,Q)|0)>>16))|0;R=(c[J+(S+5<<2)>>2]|0)+(c[J+(S+18<<2)>>2]|0)|0;P=b[w>>1]|0;P=Q+((_(R>>16,P)|0)+((_(R&65535,P)|0)>>16))|0;R=(c[J+(S+6<<2)>>2]|0)+(c[J+(S+17<<2)>>2]|0)|0;Q=b[x>>1]|0;Q=P+((_(R>>16,Q)|0)+((_(R&65535,Q)|0)>>16))|0;R=(c[J+(S+7<<2)>>2]|0)+(c[J+(S+16<<2)>>2]|0)|0;P=b[y>>1]|0;P=Q+((_(R>>16,P)|0)+((_(R&65535,P)|0)>>16))|0;R=(c[J+(S+8<<2)>>2]|0)+(c[J+(S+15<<2)>>2]|0)|0;Q=b[z>>1]|0;Q=P+((_(R>>16,Q)|0)+((_(R&65535,Q)|0)>>16))|0;R=(c[J+(S+9<<2)>>2]|0)+(c[J+(S+14<<2)>>2]|0)|0;P=b[A>>1]|0;P=Q+((_(R>>16,P)|0)+((_(R&65535,P)|0)>>16))|0;R=(c[J+(S+10<<2)>>2]|0)+(c[J+(S+13<<2)>>2]|0)|0;Q=b[B>>1]|0;Q=P+((_(R>>16,Q)|0)+((_(R&65535,Q)|0)>>16))|0;S=(c[J+(S+11<<2)>>2]|0)+(c[J+(S+12<<2)>>2]|0)|0;R=b[C>>1]|0;R=(Q+((_(S>>16,R)|0)+((_(S&65535,R)|0)>>16))>>5)+1>>1;S=d;b[S>>1]=(R|0)>32767?32767:(R|0)<-32768?-32768:R;d=S+2|0;g=g+p|0}}case 36:{g=0;while(1){if((g|0)>=(k|0))break a;S=g>>16;R=(c[J+(S<<2)>>2]|0)+(c[J+(S+35<<2)>>2]|0)|0;Q=b[o>>1]|0;Q=(_(R>>16,Q)|0)+((_(R&65535,Q)|0)>>16)|0;R=(c[J+(S+1<<2)>>2]|0)+(c[J+(S+34<<2)>>2]|0)|0;P=b[s>>1]|0;P=Q+((_(R>>16,P)|0)+((_(R&65535,P)|0)>>16))|0;R=(c[J+(S+2<<2)>>2]|0)+(c[J+(S+33<<2)>>2]|0)|0;Q=b[t>>1]|0;Q=P+((_(R>>16,Q)|0)+((_(R&65535,Q)|0)>>16))|0;R=(c[J+(S+3<<2)>>2]|0)+(c[J+(S+32<<2)>>2]|0)|0;P=b[u>>1]|0;P=Q+((_(R>>16,P)|0)+((_(R&65535,P)|0)>>16))|0;R=(c[J+(S+4<<2)>>2]|0)+(c[J+(S+31<<2)>>2]|0)|0;Q=b[v>>1]|0;Q=P+((_(R>>16,Q)|0)+((_(R&65535,Q)|0)>>16))|0;R=(c[J+(S+5<<2)>>2]|0)+(c[J+(S+30<<2)>>2]|0)|0;P=b[w>>1]|0;P=Q+((_(R>>16,P)|0)+((_(R&65535,P)|0)>>16))|0;R=(c[J+(S+6<<2)>>2]|0)+(c[J+(S+29<<2)>>2]|0)|0;Q=b[x>>1]|0;Q=P+((_(R>>16,Q)|0)+((_(R&65535,Q)|0)>>16))|0;R=(c[J+(S+7<<2)>>2]|0)+(c[J+(S+28<<2)>>2]|0)|0;P=b[y>>1]|0;P=Q+((_(R>>16,P)|0)+((_(R&65535,P)|0)>>16))|0;R=(c[J+(S+8<<2)>>2]|0)+(c[J+(S+27<<2)>>2]|0)|0;Q=b[z>>1]|0;Q=P+((_(R>>16,Q)|0)+((_(R&65535,Q)|0)>>16))|0;R=(c[J+(S+9<<2)>>2]|0)+(c[J+(S+26<<2)>>2]|0)|0;P=b[A>>1]|0;P=Q+((_(R>>16,P)|0)+((_(R&65535,P)|0)>>16))|0;R=(c[J+(S+10<<2)>>2]|0)+(c[J+(S+25<<2)>>2]|0)|0;Q=b[B>>1]|0;Q=P+((_(R>>16,Q)|0)+((_(R&65535,Q)|0)>>16))|0;R=(c[J+(S+11<<2)>>2]|0)+(c[J+(S+24<<2)>>2]|0)|0;P=b[C>>1]|0;P=Q+((_(R>>16,P)|0)+((_(R&65535,P)|0)>>16))|0;R=(c[J+(S+12<<2)>>2]|0)+(c[J+(S+23<<2)>>2]|0)|0;Q=b[D>>1]|0;Q=P+((_(R>>16,Q)|0)+((_(R&65535,Q)|0)>>16))|0;R=(c[J+(S+13<<2)>>2]|0)+(c[J+(S+22<<2)>>2]|0)|0;P=b[E>>1]|0;P=Q+((_(R>>16,P)|0)+((_(R&65535,P)|0)>>16))|0;R=(c[J+(S+14<<2)>>2]|0)+(c[J+(S+21<<2)>>2]|0)|0;Q=b[F>>1]|0;Q=P+((_(R>>16,Q)|0)+((_(R&65535,Q)|0)>>16))|0;R=(c[J+(S+15<<2)>>2]|0)+(c[J+(S+20<<2)>>2]|0)|0;P=b[G>>1]|0;P=Q+((_(R>>16,P)|0)+((_(R&65535,P)|0)>>16))|0;R=(c[J+(S+16<<2)>>2]|0)+(c[J+(S+19<<2)>>2]|0)|0;Q=b[H>>1]|0;Q=P+((_(R>>16,Q)|0)+((_(R&65535,Q)|0)>>16))|0;S=(c[J+(S+17<<2)>>2]|0)+(c[J+(S+18<<2)>>2]|0)|0;R=b[I>>1]|0;R=(Q+((_(S>>16,R)|0)+((_(S&65535,R)|0)>>16))>>5)+1>>1;S=d;b[S>>1]=(R|0)>32767?32767:(R|0)<-32768?-32768:R;d=S+2|0;g=g+p|0}}default:{}}while(0);f=f-l|0;if((f|0)<=1)break;md(J|0,J+(l<<2)|0,c[L>>2]<<2|0)|0;e=e+(l<<1)|0}md(K|0,J+(l<<2)|0,c[L>>2]<<2|0)|0;i=M;return}function gc(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;l=i;i=i+((1*((c[a+268>>2]<<1)+8<<1)|0)+15&-16)|0;m=a+24|0;b[l>>1]=b[m>>1]|0;b[l+2>>1]=b[m+2>>1]|0;b[l+4>>1]=b[m+4>>1]|0;b[l+6>>1]=b[m+6>>1]|0;b[l+8>>1]=b[m+8>>1]|0;b[l+10>>1]=b[m+10>>1]|0;b[l+12>>1]=b[m+12>>1]|0;b[l+14>>1]=b[m+14>>1]|0;n=c[a+272>>2]|0;o=a+268|0;k=l+16|0;while(1){j=c[o>>2]|0;j=(f|0)<(j|0)?f:j;hc(a,k,e,j);h=j<<17;g=0;while(1){if((g|0)>=(h|0))break;r=((g&65535)*12|0)>>>16;q=g>>16;s=_(b[l+(q<<1)>>1]|0,b[31290+(r<<3)>>1]|0)|0;s=s+(_(b[l+(q+1<<1)>>1]|0,b[31290+(r<<3)+2>>1]|0)|0)|0;s=s+(_(b[l+(q+2<<1)>>1]|0,b[31290+(r<<3)+4>>1]|0)|0)|0;s=s+(_(b[l+(q+3<<1)>>1]|0,b[31290+(r<<3)+6>>1]|0)|0)|0;r=11-r|0;s=s+(_(b[l+(q+4<<1)>>1]|0,b[31290+(r<<3)+6>>1]|0)|0)|0;s=s+(_(b[l+(q+5<<1)>>1]|0,b[31290+(r<<3)+4>>1]|0)|0)|0;s=s+(_(b[l+(q+6<<1)>>1]|0,b[31290+(r<<3)+2>>1]|0)|0)|0;r=(s+(_(b[l+(q+7<<1)>>1]|0,b[31290+(r<<3)>>1]|0)|0)>>14)+1>>1;q=d;b[q>>1]=(r|0)>32767?32767:(r|0)<-32768?-32768:r;d=q+2|0;g=g+n|0}f=f-j|0;if((f|0)<=0)break;s=l+(j<<1<<1)|0;b[l>>1]=b[s>>1]|0;b[l+2>>1]=b[s+2>>1]|0;b[l+4>>1]=b[s+4>>1]|0;b[l+6>>1]=b[s+6>>1]|0;b[l+8>>1]=b[s+8>>1]|0;b[l+10>>1]=b[s+10>>1]|0;b[l+12>>1]=b[s+12>>1]|0;b[l+14>>1]=b[s+14>>1]|0;e=e+(j<<1)|0}s=l+(j<<1<<1)|0;b[m>>1]=b[s>>1]|0;b[m+2>>1]=b[s+2>>1]|0;b[m+4>>1]=b[s+4>>1]|0;b[m+6>>1]=b[s+6>>1]|0;b[m+8>>1]=b[s+8>>1]|0;b[m+10>>1]=b[s+10>>1]|0;b[m+12>>1]=b[s+12>>1]|0;b[m+14>>1]=b[s+14>>1]|0;i=p;return}function hc(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=a+4|0;h=a+8|0;i=a+12|0;j=a+16|0;k=a+20|0;l=0;while(1){if((l|0)>=(f|0))break;p=b[e+(l<<1)>>1]<<10;n=c[a>>2]|0;m=p-n|0;m=((m>>16)*1746|0)+(((m&65535)*1746|0)>>>16)|0;n=n+m|0;c[a>>2]=p+m;m=c[g>>2]|0;o=n-m|0;o=((o>>16)*14986|0)+(((o&65535)*14986|0)>>>16)|0;m=m+o|0;c[g>>2]=n+o;o=m-(c[h>>2]|0)|0;n=(_(o>>16,-26453)|0)+((_(o&65535,-26453)|0)>>16)|0;c[h>>2]=m+(o+n);n=(m+n>>9)+1>>1;m=l<<1;b[d+(m<<1)>>1]=(n|0)>32767?32767:(n|0)<-32768?-32768:n;n=c[i>>2]|0;o=p-n|0;o=((o>>16)*6854|0)+(((o&65535)*6854|0)>>>16)|0;n=n+o|0;c[i>>2]=p+o;o=c[j>>2]|0;p=n-o|0;p=((p>>16)*25769|0)+(((p&65535)*25769|0)>>>16)|0;o=o+p|0;c[j>>2]=n+p;p=o-(c[k>>2]|0)|0;n=(_(p>>16,-9994)|0)+((_(p&65535,-9994)|0)>>16)|0;c[k>>2]=o+(p+n);n=(o+n>>9)+1>>1;b[d+((m|1)<<1)>>1]=(n|0)>32767?32767:(n|0)<-32768?-32768:n;l=l+1|0}return}function ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=0;while(1){if((f|0)>=(e|0)){h=1;break}c[b+(f<<2)>>2]=f;f=f+1|0}while(1){if((h|0)>=(e|0))break;f=c[a+(h<<2)>>2]|0;j=h;while(1){i=j+-1|0;if((j|0)<=0)break;g=c[a+(i<<2)>>2]|0;if((f|0)>=(g|0))break;c[a+(j<<2)>>2]=g;c[b+(j<<2)>>2]=c[b+(i<<2)>>2];j=i}c[a+(j<<2)>>2]=f;c[b+(j<<2)>>2]=h;h=h+1|0}j=a+(e+-1<<2)|0;k=e+-2|0;h=e;while(1){if((h|0)>=(d|0))break;f=c[a+(h<<2)>>2]|0;if((f|0)<(c[j>>2]|0)){i=k;while(1){if((i|0)<=-1)break;g=c[a+(i<<2)>>2]|0;if((f|0)>=(g|0))break;e=i+1|0;c[a+(e<<2)>>2]=g;c[b+(e<<2)>>2]=c[b+(i<<2)>>2];i=i+-1|0}e=i+1|0;c[a+(e<<2)>>2]=f;c[b+(e<<2)>>2]=h}h=h+1|0}return}function jc(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=f+-1|0;g=0;h=0;while(1){if((h|0)>=(k|0)){j=h;h=0;break}j=b[e+(h<<1)>>1]|0;j=g+(_(j,j)|0)|0;g=b[e+((h|1)<<1)>>1]|0;g=j+(_(g,g)|0)|0;if((g|0)<0){i=5;break}h=h+2|0}if((i|0)==5){j=h+2|0;g=g>>>2;h=2}f=f+-1|0;f=((j|0)>(f|0)?j:f)+1-j&-2;i=j;while(1){if((i|0)>=(k|0))break;l=b[e+(i<<1)>>1]|0;l=_(l,l)|0;m=b[e+(i+1<<1)>>1]|0;m=g+((l+(_(m,m)|0)|0)>>>h)|0;l=(m|0)<0;i=i+2|0;g=l?m>>>2:m;h=l?h+2|0:h}if((j+f|0)!=(k|0)){m=g;k=m>>>0>1073741823;e=m>>>2;l=h+2|0;l=k?l:h;m=k?e:m;c[d>>2]=l;c[a>>2]=m;return}m=b[e+(k<<1)>>1]|0;m=g+((_(m,m)|0)>>>h)|0;k=m>>>0>1073741823;e=m>>>2;l=h+2|0;l=k?l:h;m=k?e:m;c[d>>2]=l;c[a>>2]=m;return}function kc(b,c){b=b|0;c=c|0;var d=0;hb(b,((a[c+2>>0]|0)*5|0)+(a[c+5>>0]|0)|0,34981,8);d=0;while(1){if((d|0)==2)break;hb(b,a[c+(d*3|0)>>0]|0,35022,8);hb(b,a[c+(d*3|0)+1>>0]|0,35029,8);d=d+1|0}return}function lc(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+16|0;j=p+12|0;l=p+8|0;n=p+4|0;m=p;jc(n,j,d,g);jc(m,l,e,g);j=c[j>>2]|0;l=c[l>>2]|0;k=(j|0)>(l|0)?j:l;k=k+(k&1)|0;l=c[m>>2]>>k-l;c[m>>2]=l;j=c[n>>2]>>k-j;c[n>>2]=j;j=(j|0)>1?j:1;c[n>>2]=j;n=0;o=0;while(1){if((n|0)>=(g|0))break;q=o+((_(b[d+(n<<1)>>1]|0,b[e+(n<<1)>>1]|0)|0)>>k)|0;n=n+1|0;o=q}q=mc(o,j,13)|0;q=(q|0)>16384?16384:(q|0)<-16384?-16384:q;r=q<<16>>16;g=(_(q>>16,r)|0)+((_(q&65535,r)|0)>>16)|0;d=(g|0)>0?g:0-g|0;n=k>>1;k=c[f>>2]|0;e=((nc(j)|0)<<n)-k|0;d=((d|0)<(h|0)?h:d)<<16>>16;e=k+((_(e>>16,d)|0)+((_(e&65535,d)|0)>>16))|0;c[f>>2]=e;g=g<<16>>16;g=l-((_(o>>16,r)|0)+((_(o&65535,r)|0)>>16)<<4)+((_(j>>16,g)|0)+((_(j&65535,g)|0)>>16)<<6)|0;c[m>>2]=g;o=f+4|0;h=c[o>>2]|0;n=((nc(g)|0)<<n)-h|0;d=h+((_(n>>16,d)|0)+((_(n&65535,d)|0)>>16))|0;c[o>>2]=d;e=mc(d,(e|0)>1?e:1,14)|0;c[a>>2]=e;c[a>>2]=(e|0)>32767?32767:(e|0)<0?0:e;i=p;return q|0}function mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;if((a|0)<=0){d=0-a|0;if(!d)e=31;else f=3}else{d=a;f=3}if((f|0)==3)e=(aa(d|0)|0)+-1|0;a=a<<e;if((b|0)<=0){d=0-b|0;if(!d)d=31;else f=6}else{d=b;f=6}if((f|0)==6)d=(aa(d|0)|0)+-1|0;f=b<<d;b=(536870911/(f>>16|0)|0)<<16>>16;g=(_(a>>16,b)|0)+((_(a&65535,b)|0)>>16)|0;f=td(f|0,((f|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;f=ld(f|0,C|0,29)|0;f=a-(f&-8)|0;b=g+((_(f>>16,b)|0)+((_(f&65535,b)|0)>>16))|0;d=e+29-d-c|0;if((d|0)>=0)return ((d|0)<32?b>>d:0)|0;d=0-d|0;a=-2147483648>>d;e=2147483647>>>d;if((a|0)>(e|0)){if((b|0)>(a|0)){g=a;g=g<<d;return g|0}g=(b|0)<(e|0)?e:b;g=g<<d;return g|0}else{if((b|0)>(e|0)){g=e;g=g<<d;return g|0}g=(b|0)<(a|0)?a:b;g=g<<d;return g|0}return 0}function nc(a){a=a|0;var b=0,c=0,d=0;if((a|0)<1){d=0;return d|0}d=aa(a|0)|0;b=24-d|0;c=0-b|0;do if(b)if((b|0)<0){a=a<<c|a>>>(b+32|0);break}else{a=a<<32-b|a>>>b;break}while(0);c=((d&1|0)==0?46214:32768)>>>(d>>>1);d=(_(a&127,13959168)|0)>>>16;d=c+((_(c>>16,d)|0)+((_(c&65535,d)|0)>>>16))|0;return d|0}function oc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=0;r=0;while(1){if((r|0)==2)break;p=d+(r<<2)|0;q=e+(r*3|0)|0;o=e+(r*3|0)+1|0;h=2147483647;g=0;a:while(1){if((g|0)>=15)break;l=b[30728+(g<<1)>>1]|0;m=g+1|0;n=b[30728+(m<<1)>>1]|0;n=(_((n<<16>>16)-l>>16,429522944)|0)+(((n&65535)-l&65535)*6554|0)>>16;k=g&255;j=h;i=0;while(1){if((i|0)>=5){h=j;g=m;continue a}g=l+(_(n,i<<17>>16|1)|0)|0;h=c[p>>2]|0;h=(h|0)>(g|0)?h-g|0:g-h|0;if((h|0)>=(j|0))break a;a[q>>0]=k;a[o>>0]=i;j=h;f=g;i=i+1|0}}n=a[q>>0]|0;o=(n<<24>>24|0)/3|0;a[e+(r*3|0)+2>>0]=o;a[q>>0]=(n&255)+(_(o,-3)|0);c[p>>2]=f;r=r+1|0}c[d>>2]=(c[d>>2]|0)-(c[d+4>>2]|0);return}function pc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0;f=3.1415927410125732/+(d+1|0);h=2.0-f*f;c=(c|0)<2;e=c?0.0:1.0;f=c?f:h*.5;c=0;while(1){if((c|0)>=(d|0))break;g[a+(c<<2)>>2]=+g[b+(c<<2)>>2]*.5*(e+f);j=c|1;g[a+(j<<2)>>2]=+g[b+(j<<2)>>2]*f;i=h*f-e;j=c|2;g[a+(j<<2)>>2]=+g[b+(j<<2)>>2]*.5*(f+i);j=c|3;g[a+(j<<2)>>2]=+g[b+(j<<2)>>2]*i;e=i;f=h*i-f;c=c+4|0}return}function qc(b){b=b|0;var d=0,e=0,f=0;Kb(b,b+5130|0);if((c[b+4556>>2]|0)>=13){c[b+6116>>2]=0;c[b+6112>>2]=0;a[b+4797>>0]=1;a[(c[b+5780>>2]|0)+(b+4752)>>0]=1;return}a[b+4797>>0]=0;d=b+6116|0;e=c[d>>2]|0;f=e+1|0;c[d>>2]=f;if((f|0)>=10){if((e|0)>29){c[d>>2]=10;c[b+6112>>2]=0}}else c[b+6112>>2]=0;a[(c[b+5780>>2]|0)+(b+4752)>>0]=0;return}
function Nc(a,d,e,f,h,j,l,m,n,o,p,q){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0.0,Oa=0.0;Ma=i;i=i+10304|0;Fa=Ma+9904|0;Ba=Ma+9832|0;Ha=Ma+9760|0;za=Ma+9728|0;Da=Ma+9624|0;Ea=Ma+9616|0;Ia=Ma+9608|0;Ga=Ma+5768|0;Ka=Ma+1928|0;La=Ma+968|0;Ja=Ma+8|0;Aa=Ma;if(!e)n=a+8504|0;else{ua=(n*195|0)/100|0;ua=(ua|0)<(f|0)?ua:f;va=a+6884|0;T=c[va>>2]|0;wa=a+6864|0;xa=a+6868|0;ya=a+6844|0;U=d+72|0;V=a+5764|0;n=a+8504|0;W=a+2884|0;X=a+4804|0;Z=a+3844|0;_=a+6856|0;$=(o|0)<8;aa=a+6848|0;ba=a+6852|0;ca=a+5840|0;da=Da+80|0;ea=Da+84|0;fa=Da+88|0;ga=Da+92|0;ha=Da+96|0;ia=Ea+4|0;ja=a+6888|0;ka=a+7688|0;la=a+6892|0;ma=a+7692|0;na=a+7684|0;oa=a+8484|0;pa=a+8500|0;qa=a+8492|0;ra=a+8496|0;sa=a+8488|0;ta=a+6860|0;R=o+-8|0;S=T;T=ua-T|0;while(1){o=(T|0)>480?480:T;c[Ia>>2]=0;c[wa>>2]=(c[wa>>2]|0)+1;d=c[xa>>2]|0;do if((d|0)>19){r=1.0/20.0;if((d|0)>49){t=1.0/50.0;if((d|0)>999){u=1.0/1.0e3;J=11;break}else{u=1.0/+(d+1|0);J=11;break}}else J=10}else{r=1.0/+(d+1|0);J=10}while(0);if((J|0)==10){J=0;t=1.0/+(d+1|0);u=1.0/+(d+1|0);if((d|0)<4){g[ya>>2]=.5;f=c[U>>2]|0;if(!d){c[V>>2]=240;d=240}else J=13}else J=11}if((J|0)==11){f=c[U>>2]|0;J=13}if((J|0)==13){J=0;d=c[V>>2]|0}Q=720-d|0;Ca[p&1](e,a+2884+(d<<2)|0,(o|0)<(Q|0)?o:Q,S,j,l,m);d=(c[V>>2]|0)+o|0;do if((d|0)<720)c[V>>2]=d;else{L=c[n>>2]|0;Q=a+8516+(L*28|0)|0;c[n>>2]=(L|0)>198?L+-199|0:L+1|0;d=0;while(1){if((d|0)==240)break;I=+g[23620+(d<<2)>>2];g[Ga+(d<<3)>>2]=I*+g[a+2884+(d<<2)>>2];g[Ga+(d<<3)+4>>2]=I*+g[a+2884+(d+240<<2)>>2];K=480-d+-1|0;g[Ga+(K<<3)>>2]=I*+g[a+2884+(K<<2)>>2];g[Ga+(K<<3)+4>>2]=I*+g[a+2884+(720-d+-1<<2)>>2];d=d+1|0}md(W|0,X|0,960)|0;K=c[V>>2]|0;d=o+(K+-720)|0;Ca[p&1](e,Z,d,S+720-K|0,j,l,m);c[V>>2]=d+240;v=+g[f+4>>2];d=f+44|0;o=0;while(1){if((o|0)>=(c[f>>2]|0))break;I=+g[Ga+(o<<3)+4>>2];g[Ka+(b[(c[d>>2]|0)+(o<<1)>>1]<<3)>>2]=v*+g[Ga+(o<<3)>>2];g[Ka+(b[(c[d>>2]|0)+(o<<1)>>1]<<3)+4>>2]=v*I;o=o+1|0}mb(f,Ka);I=+g[Ka>>2];if(I!=I|0.0!=0.0){c[Q>>2]=0;break}else f=1;while(1){if((f|0)==240)break;z=+g[Ka+(f<<3)>>2];E=480-f|0;y=+g[Ka+(E<<3)>>2];C=+g[Ka+(f<<3)+4>>2];G=+g[Ka+(E<<3)+4>>2];H=+Oc(C-G,z+y)*.15915493667125702;E=a+4+(f<<2)|0;I=H-+g[E>>2];F=a+964+(f<<2)|0;B=I-+g[F>>2];G=+Oc(y-z,C+G)*.15915493667125702;H=G-H;I=H-I;B=B-+M(+(B+.5));C=B*B;I=I-+M(+(I+.5));g[Ja+(f<<2)>>2]=+N(+B)+ +N(+I);I=I*I;I=I*I;K=a+1924+(f<<2)|0;g[La+(f<<2)>>2]=1.0/((+g[K>>2]+C*C*2.0+I)*.25*62341.81640625+1.0)+-.014999999664723873;g[E>>2]=G;g[F>>2]=H;g[K>>2]=I;f=f+1|0}K=a+8516+(L*28|0)+16|0;g[K>>2]=0.0;a:do if(!(c[xa>>2]|0)){f=0;while(1){if((f|0)==18){B=0.0;E=0;F=0;x=0;G=0.0;H=0.0;I=0.0;D=0;break a}g[a+6420+(f<<2)>>2]=1.0e10;g[a+6492+(f<<2)>>2]=-1.0e10;f=f+1|0}}else{B=0.0;E=0;F=0;x=0;G=0.0;H=0.0;I=0.0;D=0}while(0);while(1){if((D|0)>=18)break;A=D+1|0;f=c[24580+(A<<2)>>2]|0;o=0;w=0.0;d=c[24580+(D<<2)>>2]|0;C=0.0;while(1){if((d|0)>=(f|0))break;Na=+g[Ka+(d<<3)>>2];s=480-d|0;v=+g[Ka+(s<<3)>>2];z=+g[Ka+(d<<3)+4>>2];y=+g[Ka+(s<<3)+4>>2];y=Na*Na+v*v+z*z+y*y;z=C+y*+g[La+(d<<2)>>2];o=(g[k>>2]=(c[k>>2]=o,+g[k>>2])+y,c[k>>2]|0);w=w+y*2.0*(.5-+g[Ja+(d<<2)>>2]);d=d+1|0;C=z}v=(c[k>>2]=o,+g[k>>2]);if(!(v<1.0e9)|(v!=v|0.0!=0.0)){J=35;break}c[a+5844+((c[_>>2]|0)*72|0)+(D<<2)>>2]=o;z=v+1.0000000036274937e-15;s=(g[k>>2]=(c[k>>2]=E,+g[k>>2])+w/z,c[k>>2]|0);Na=v+1.000000013351432e-10;B=B+ +O(+Na);Na=+Y(+Na);o=Ha+(D<<2)|0;g[o>>2]=Na;f=a+6420+(D<<2)|0;w=+g[f>>2]+.009999999776482582;w=Na<w?Na:w;g[f>>2]=w;Na=+g[o>>2];d=a+6492+(D<<2)|0;v=+g[d>>2]+-.10000000149011612;v=Na>v?Na:v;g[d>>2]=v;if(v<w+1.0){v=v+.5;g[d>>2]=v;w=w+-.5;g[f>>2]=w}y=(+g[o>>2]-w)/(v+1.0000000036274937e-15-w);v=0.0;w=0.0;f=0;while(1){if((f|0)==8)break;Na=+g[a+5844+(f*72|0)+(D<<2)>>2];v=v+ +O(+Na);w=w+Na;f=f+1|0}w=v/+O(+(w*8.0+1.0e-15));w=w>.9900000095367432?.9900000095367432:w;w=w*w;w=w*w;d=(g[k>>2]=(c[k>>2]=F,+g[k>>2])+w,c[k>>2]|0);v=C/z;f=a+5768+(D<<2)|0;w=w*+g[f>>2];w=v>w?v:w;g[Ba+(D<<2)>>2]=w;v=(c[k>>2]=x,+g[k>>2])+w;if((D|0)>8)v=v-+g[Ba+(D+-9<<2)>>2];x=(g[k>>2]=v,c[k>>2]|0);Na=(+(D+-18|0)*.029999999329447746+1.0)*v;g[f>>2]=w;E=s;F=d;G=G>Na?G:Na;H=H+y;I=I+w*+(D+-8|0);D=A}if((J|0)==35){c[Q>>2]=0;break}c[Ia>>2]=0;y=5.699999746866524e-04/+(1<<($?0:R)|0);y=y*y;w=1.0-u;x=0;u=0.0;A=0;while(1){if((A|0)==21)break;g[Aa>>2]=0.0;d=c[24656+(A<<2)>>2]|0;o=A+1|0;s=c[24656+(o<<2)>>2]|0;v=0.0;f=d;while(1){if((f|0)>=(s|0))break;Oa=+g[Ka+(f<<3)>>2];J=480-f|0;z=+g[Ka+(J<<3)>>2];C=+g[Ka+(f<<3)+4>>2];Na=+g[Ka+(J<<3)+4>>2];Na=v+(Oa*Oa+z*z+C*C+Na*Na);g[Aa>>2]=Na;v=Na;f=f+1|0}c[Ia>>2]=c[(+g[Ia>>2]>v?Ia:Aa)>>2];J=a+6564+(A<<2)|0;Oa=w*+g[J>>2];v=Oa>v?Oa:v;g[J>>2]=v;Oa=+g[Aa>>2];v=Oa>v?Oa:v;g[Aa>>2]=v;u=u*.05000000074505806;u=u>v?u:v;if(!(v>u*.1)){J=x;A=o;x=J;continue}if(!(v*1.0e9>+g[Ia>>2])){J=x;A=o;x=J;continue}if(!(v>y*+(s-d|0))){J=x;A=o;x=J;continue}x=A;A=o}A=(c[xa>>2]|0)<3?20:x;C=+ad(B)*20.0;Na=+g[aa>>2]+-.029999999329447746;Na=Na>C?Na:C;g[aa>>2]=Na;Oa=+g[ba>>2]*(1.0-t);g[ba>>2]=C<Na+-30.0?Oa+t:Oa;o=0;while(1){if((o|0)==8)break;f=o<<4;d=0;s=0;while(1){if((d|0)==16)break;J=(g[k>>2]=(c[k>>2]=s,+g[k>>2])+ +g[24744+(f+d<<2)>>2]*+g[Ha+(d<<2)>>2],c[k>>2]|0);d=d+1|0;s=J}c[za+(o<<2)>>2]=s;o=o+1|0}u=(c[k>>2]=F,+g[k>>2])/18.0;B=(c[k>>2]=E,+g[k>>2])/18.0;g[K>>2]=B+(1.0-B)*((c[xa>>2]|0)<10?.5:H/18.0);Na=G/9.0;Oa=+g[ca>>2]*.800000011920929;Oa=Na>Oa?Na:Oa;g[ca>>2]=Oa;o=a+8516+(L*28|0)+8|0;g[o>>2]=I*.015625;c[_>>2]=((c[_>>2]|0)+1|0)%8|0;c[xa>>2]=(c[xa>>2]|0)+1;d=a+8516+(L*28|0)+4|0;g[d>>2]=Oa;f=0;while(1){if((f|0)==4)break;g[Da+(f<<2)>>2]=(+g[za+(f<<2)>>2]+ +g[a+6648+(f+24<<2)>>2])*-.12298999726772308+(+g[a+6648+(f<<2)>>2]+ +g[a+6648+(f+16<<2)>>2])*.49195000529289246+ +g[a+6648+(f+8<<2)>>2]*.6969299912452698-+g[a+6776+(f<<2)>>2]*1.4349000453948975;f=f+1|0}t=1.0-r;f=0;while(1){if((f|0)==4){f=0;break}J=a+6776+(f<<2)|0;g[J>>2]=t*+g[J>>2]+r*+g[za+(f<<2)>>2];f=f+1|0}while(1){if((f|0)==4){f=0;break}g[Da+(f+4<<2)>>2]=(+g[za+(f<<2)>>2]-+g[a+6648+(f+24<<2)>>2])*.6324599981307983+(+g[a+6648+(f<<2)>>2]-+g[a+6648+(f+16<<2)>>2])*.31622999906539917;f=f+1|0}while(1){if((f|0)==3)break;J=f+8|0;g[Da+(J<<2)>>2]=(+g[za+(f<<2)>>2]+ +g[a+6648+(f+24<<2)>>2])*.5345199704170227-(+g[a+6648+(f<<2)>>2]+ +g[a+6648+(f+16<<2)>>2])*.26725998520851135-+g[a+6648+(J<<2)>>2]*.5345199704170227;f=f+1|0}b:do if((c[xa>>2]|0)>5){f=0;while(1){if((f|0)==9){f=0;break b}J=a+6808+(f<<2)|0;Oa=+g[Da+(f<<2)>>2];g[J>>2]=t*+g[J>>2]+r*Oa*Oa;f=f+1|0}}else f=0;while(0);while(1){if((f|0)==8){f=0;break}J=a+6648+(f+16<<2)|0;c[a+6648+(f+24<<2)>>2]=c[J>>2];F=a+6648+(f+8<<2)|0;c[J>>2]=c[F>>2];J=a+6648+(f<<2)|0;c[F>>2]=c[J>>2];c[J>>2]=c[za+(f<<2)>>2];f=f+1|0}while(1){if((f|0)==9)break;g[Da+(f+11<<2)>>2]=+O(+(+g[a+6808+(f<<2)>>2]));f=f+1|0}c[da>>2]=c[d>>2];c[ea>>2]=c[K>>2];g[fa>>2]=u;c[ga>>2]=c[o>>2];c[ha>>2]=c[ba>>2];d=26060;x=0;while(1){if((x|0)==15){d=27620;x=0;break}f=d;o=0;s=c[d>>2]|0;while(1){f=f+4|0;if((o|0)==25)break;K=(g[k>>2]=(c[k>>2]=s,+g[k>>2])+ +g[Da+(o<<2)>>2]*+g[f>>2],c[k>>2]|0);o=o+1|0;s=K}d=d+104|0;r=(c[k>>2]=s,+g[k>>2]);if(r<8.0)if(r>-8.0)if(r!=r|0.0!=0.0)f=0;else{f=r<0.0;Oa=f?-r:r;K=~~+M(+(Oa*25.0+.5));Oa=Oa-+(K|0)*.03999999910593033;Na=+g[25256+(K<<2)>>2];f=(g[k>>2]=(f?-1.0:1.0)*(Na+Oa*(1.0-Na*Na)*(1.0-Na*Oa)),c[k>>2]|0)}else f=-1082130432;else f=1065353216;c[Fa+(x<<2)>>2]=f;x=x+1|0}while(1){if((x|0)==2)break;f=d;o=0;s=c[d>>2]|0;while(1){f=f+4|0;if((o|0)==15)break;K=(g[k>>2]=(c[k>>2]=s,+g[k>>2])+ +g[Fa+(o<<2)>>2]*+g[f>>2],c[k>>2]|0);o=o+1|0;s=K}d=d+64|0;r=(c[k>>2]=s,+g[k>>2]);if(r<8.0)if(r>-8.0)if(r!=r|0.0!=0.0)f=0;else{f=r<0.0;Oa=f?-r:r;K=~~+M(+(Oa*25.0+.5));Oa=Oa-+(K|0)*.03999999910593033;Na=+g[25256+(K<<2)>>2];f=(g[k>>2]=(f?-1.0:1.0)*(Na+Oa*(1.0-Na*Na)*(1.0-Na*Oa)),c[k>>2]|0)}else f=-1082130432;else f=1065353216;c[Ea+(x<<2)>>2]=f;x=x+1|0}r=(+g[Ea>>2]+1.0)*.5;r=r*1.2100000381469727*r+.009999999776482582-+P(+r,10.0)*.23000000417232513;z=+g[ia>>2]*.5+.5;g[ia>>2]=z;r=z*r+(1.0-z)*.5;g[Ea>>2]=r;z=z*4.999999873689376e-05;if(!(r>.949999988079071))if(r<.05000000074505806)u=.05000000074505806;else u=r;else u=.949999988079071;t=+g[ya>>2];if(!(t>.949999988079071))if(t<.05000000074505806)v=.05000000074505806;else v=t;else v=.949999988079071;Na=1.0-t;y=1.0-z;w=+N(+(u-v))*.05000000074505806/(u*(1.0-v)+v*(1.0-u))+.009999999776482582;Oa=(t*y+Na*z)*+P(+r,+w);Oa=Oa/((Na*y+t*z)*+P(+(1.0-r),+w)+Oa);g[ya>>2]=Oa;g[a+8516+(L*28|0)+20>>2]=Oa;Oa=+g[Ea>>2];v=+P(+(1.0-Oa),+w);w=+P(+Oa,+w);if((c[xa>>2]|0)==1){g[ja>>2]=.5;g[ka>>2]=.5;r=.5;t=.5}else{r=+g[ja>>2];t=+g[ka>>2]}u=r+ +g[la>>2];r=t+ +g[ma>>2];g[ja>>2]=u*y*v;g[ka>>2]=r*y*w;f=1;while(1){if((f|0)==199)break;K=f+1|0;g[a+6888+(f<<2)>>2]=+g[a+6888+(K<<2)>>2]*v;g[a+7688+(f<<2)>>2]=+g[a+7688+(K<<2)>>2]*w;f=K}g[na>>2]=r*z*v;g[oa>>2]=u*z*w;f=507307272;d=0;while(1){if((d|0)==200)break;f=(g[k>>2]=(c[k>>2]=f,+g[k>>2])+(+g[a+6888+(d<<2)>>2]+ +g[a+7688+(d<<2)>>2]),c[k>>2]|0);d=d+1|0}r=1.0/(c[k>>2]=f,+g[k>>2]);f=0;while(1){if((f|0)==200)break;K=a+6888+(f<<2)|0;g[K>>2]=+g[K>>2]*r;K=a+7688+(f<<2)|0;g[K>>2]=+g[K>>2]*r;f=f+1|0}if(+g[ia>>2]>.75){r=+g[ya>>2];if(r>.9){K=(c[pa>>2]|0)+1|0;c[pa>>2]=K;c[pa>>2]=(K|0)<500?K:500;Na=+g[qa>>2];Oa=+g[Ea>>2]-Na;g[qa>>2]=Na+1.0/+(K|0)*(Oa<-.20000000298023224?-.20000000298023224:Oa)}if(r<.1){K=(c[ra>>2]|0)+1|0;c[ra>>2]=K;c[ra>>2]=(K|0)<500?K:500;Na=+g[sa>>2];Oa=+g[Ea>>2]-Na;g[sa>>2]=Na+1.0/+(K|0)*(Oa>.20000000298023224?.20000000298023224:Oa)}}else{if(!(c[pa>>2]|0))g[qa>>2]=.8999999761581421;if(!(c[ra>>2]|0))g[sa>>2]=.10000000149011612}f=+g[ya>>2]>.5&1;if((c[ta>>2]|0)!=(f|0))c[wa>>2]=0;c[ta>>2]=f;c[a+8516+(L*28|0)+24>>2]=A;g[a+8516+(L*28|0)+12>>2]=B;c[Q>>2]=1}while(0);if((T|0)>480){S=S+480|0;T=T+-480|0}else break}c[va>>2]=ua-h}c[q>>2]=0;s=a+8508|0;f=c[s>>2]|0;d=c[n>>2]|0;o=d-f|0;o=(o|0)<0?o+200|0:o;if((h|0)<=480|(d|0)==(f|0))n=f;else{n=f+1|0;n=(n|0)==200?0:n}La=(n|0)==(d|0);f=d+-1|0;f=a+8516+((((La?f:n)|0)<0?199:La?f:n)*28|0)|0;c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];c[q+16>>2]=c[f+16>>2];c[q+20>>2]=c[f+20>>2];c[q+24>>2]=c[f+24>>2];f=a+8512|0;n=(c[f>>2]|0)+((h|0)/120|0)|0;c[f>>2]=n;while(1){if((n|0)<=3)break;h=n+-4|0;c[f>>2]=h;c[s>>2]=(c[s>>2]|0)+1;n=h}n=c[s>>2]|0;if((n|0)>199)c[s>>2]=n+-200;n=200-((o|0)>10?o+-10|0:0)|0;f=(n|0)>0;r=0.0;d=0;while(1){if((d|0)>=(n|0))break;r=r+ +g[a+7688+(d<<2)>>2];d=d+1|0}n=f?n:0;while(1){if((n|0)>=200)break;Oa=r+ +g[a+6888+(n<<2)>>2];n=n+1|0;r=Oa}g[q+20>>2]=r*+g[a+8492>>2]+(1.0-r)*+g[a+8488>>2];i=Ma;return}function Oc(a,b){a=+a;b=+b;var c=0.0,d=0.0,e=0.0,f=0;f=+N(+b)+ +N(+a)<9.999999717180685e-10;e=f?b*999999995904.0:b;a=f?a*999999995904.0:a;c=e*e;d=a*a;if(c<d){b=(d+c*.6784840226173401)*(d+c*.0859554186463356);if(b!=0.0){e=-(e*a*(d+c*.43157973885536194))/b+(a<0.0?-1.5707963705062866:1.5707963705062866);return +e}else{e=a<0.0?-1.5707963705062866:1.5707963705062866;return +e}}else{b=(c+d*.6784840226173401)*(c+d*.0859554186463356);if(b!=0.0){e=e*a;e=e*(c+d*.43157973885536194)/b+(a<0.0?-1.5707963705062866:1.5707963705062866)-(e<0.0?-1.5707963705062866:1.5707963705062866);return +e}else{e=(a<0.0?-1.5707963705062866:1.5707963705062866)-(e*a<0.0?-1.5707963705062866:1.5707963705062866);return +e}}return 0.0}function Pc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;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;if((f|0)>10|(f|0)<0){if(!h){h=0;return h|0}c[h>>2]=3;h=0;return h|0}w=cd(96)|0;if((w|0)!=0?(c[w+-4>>2]&3|0)!=0:0){i=w;j=i+96|0;do{a[i>>0]=0;i=i+1|0}while((i|0)<(j|0))}i=w;c[w+52>>2]=0;c[w+56>>2]=0;o=w+4|0;q=w+8|0;s=w+12|0;n=w+16|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[n>>2]=-1;c[w+80>>2]=0;c[w+28>>2]=0;c[w+24>>2]=0;v=w+72|0;c[v>>2]=0;c[w+84>>2]=0;g[w+44>>2]=1.0;t=w+20|0;c[t>>2]=b;c[w+88>>2]=1;c[w+92>>2]=1;c[w+32>>2]=160;l=b<<2;m=(l|0)==0;j=m?0:l;k=cd(j)|0;if((k|0)!=0?(c[k+-4>>2]&3|0)!=0:0)hd(k|0,0,j|0)|0;u=w+60|0;c[u>>2]=k;j=m?0:l;k=cd(j)|0;if((k|0)!=0?(c[k+-4>>2]&3|0)!=0:0)hd(k|0,0,j|0)|0;r=w+68|0;c[r>>2]=k;j=m?0:l;k=cd(j)|0;if((k|0)!=0?(c[k+-4>>2]&3|0)!=0:0)hd(k|0,0,j|0)|0;m=w+64|0;c[m>>2]=k;j=0;while(1){if((j|0)==(b|0))break;c[(c[u>>2]|0)+(j<<2)>>2]=0;c[(c[r>>2]|0)+(j<<2)>>2]=0;c[(c[m>>2]|0)+(j<<2)>>2]=0;j=j+1|0}if((c[n>>2]|0)!=(f|0)?(c[n>>2]=f,(c[w+52>>2]|0)!=0):0)Tc(w)|0;if(((c[w>>2]|0)==(d|0)?(c[o>>2]|0)==(e|0):0)?(c[q>>2]|0)==(d|0):0){j=c[s>>2]|0;if((j|0)!=(e|0)){l=j;p=27}}else{l=c[s>>2]|0;p=27}if((p|0)==27){c[w>>2]=d;c[o>>2]=e;c[q>>2]=d;c[s>>2]=e;j=e;k=2;while(1){if(k>>>0>(c[(d>>>0<j>>>0?q:s)>>2]|0)>>>0)break;d=c[q>>2]|0;while(1){if((d>>>0)%(k>>>0)|0)break;j=c[s>>2]|0;if((j>>>0)%(k>>>0)|0)break;e=(d>>>0)/(k>>>0)|0;c[q>>2]=e;j=(j>>>0)/(k>>>0)|0;c[s>>2]=j;d=e}k=k+1|0}a:do if(l){k=0;while(1){if(k>>>0>=(c[t>>2]|0)>>>0)break a;j=(c[m>>2]|0)+(k<<2)|0;c[j>>2]=((_(c[j>>2]|0,c[s>>2]|0)|0)>>>0)/(l>>>0)|0;j=(c[m>>2]|0)+(k<<2)|0;d=c[s>>2]|0;if((c[j>>2]|0)>>>0>=d>>>0)c[j>>2]=d+-1;k=k+1|0}}while(0);if(c[w+52>>2]|0)Tc(w)|0}j=Tc(w)|0;if(!j)c[w+52>>2]=1;else{dd(c[v>>2]|0);dd(c[w+76>>2]|0);dd(c[u>>2]|0);dd(c[r>>2]|0);dd(c[m>>2]|0);dd(w);i=0}if(!h){h=i;return h|0}c[h>>2]=j;h=i;return h|0}function Qc(a){a=a|0;dd(c[a+72>>2]|0);dd(c[a+76>>2]|0);dd(c[a+60>>2]|0);dd(c[a+68>>2]|0);dd(c[a+64>>2]|0);dd(a);return}function Rc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var 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;y=i;i=i+16|0;q=y+12|0;p=y+8|0;w=y+4|0;x=y;k=c[e>>2]|0;j=c[h>>2]|0;u=c[a+72>>2]|0;s=c[a+28>>2]|0;v=_(s,b)|0;r=(c[a+24>>2]|0)+-1|0;s=s-r|0;t=c[a+88>>2]|0;o=a+68|0;l=(c[o>>2]|0)+(b<<2)|0;if(c[l>>2]|0){c[q>>2]=j;c[p>>2]=c[l>>2];Uc(a,b,p,f,q);l=(c[o>>2]|0)+(b<<2)|0;c[l>>2]=(c[l>>2]|0)-(c[p>>2]|0);l=c[o>>2]|0;m=c[l+(b<<2)>>2]|0;a:do if(m){n=0;while(1){if(n>>>0>=m>>>0)break a;l=r+n|0;c[u+(v+l<<2)>>2]=c[u+(v+(l+(c[p>>2]|0))<<2)>>2];l=c[o>>2]|0;m=c[l+(b<<2)>>2]|0;n=n+1|0}}while(0);q=c[q>>2]|0;f=f+((_(q,c[a+92>>2]|0)|0)<<2)|0;j=j-q|0;if(c[l+(b<<2)>>2]|0){x=k;a=j;w=c[e>>2]|0;x=w-x|0;c[e>>2]=x;e=c[h>>2]|0;e=e-a|0;c[h>>2]=e;i=y;return}}p=a+92|0;o=d;b:while(1){n=(o|0)==0;do{if(!((k|0)!=0&(j|0)!=0))break b;l=k>>>0>s>>>0?s:k;c[w>>2]=l;c[x>>2]=j;c:do if(n){m=0;while(1){if(m>>>0>=l>>>0)break c;g[u+(v+(m+r)<<2)>>2]=0.0;l=c[w>>2]|0;m=m+1|0}}else{m=0;while(1){if(m>>>0>=l>>>0)break c;c[u+(v+(m+r)<<2)>>2]=c[o+((_(m,t)|0)<<2)>>2];l=c[w>>2]|0;m=m+1|0}}while(0);Uc(a,b,w,f,x);l=c[w>>2]|0;k=k-l|0;d=c[x>>2]|0;j=j-d|0;f=f+((_(d,c[p>>2]|0)|0)<<2)|0}while(n);o=o+((_(l,t)|0)<<2)|0}a=c[e>>2]|0;a=a-k|0;c[e>>2]=a;e=c[h>>2]|0;e=e-j|0;c[h>>2]=e;i=y;return}function Sc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=c[f>>2]|0;h=c[d>>2]|0;j=a+88|0;k=c[j>>2]|0;l=a+92|0;m=c[l>>2]|0;n=a+20|0;i=c[n>>2]|0;c[l>>2]=i;c[j>>2]=i;o=(b|0)==0;p=0;while(1){if(p>>>0>=i>>>0)break;c[f>>2]=g;c[d>>2]=h;if(o)Rc(a,p,0,d,e+(p<<2)|0,f);else Rc(a,p,b+(p<<2)|0,d,e+(p<<2)|0,f);i=c[n>>2]|0;p=p+1|0}c[j>>2]=k;c[l>>2]=m;return (c[a+84>>2]|0)==1|0}function Tc(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;q=a+24|0;r=c[q>>2]|0;s=a+28|0;p=c[s>>2]|0;f=c[a+8>>2]|0;k=a+12|0;i=c[k>>2]|0;c[a+36>>2]=(f>>>0)/(i>>>0)|0;c[a+40>>2]=(f>>>0)%(i>>>0)|0;m=a+16|0;d=c[m>>2]|0;b=c[27748+(d*20|0)+4>>2]|0;j=a+48|0;c[j>>2]=b;e=c[27748+(d*20|0)>>2]|0;c[q>>2]=e;if(f>>>0>i>>>0){g[a+44>>2]=+g[27748+(d*20|0)+8>>2]*+(i>>>0)/+(f>>>0);e=(((_(e,f)|0)>>>0)/(i>>>0)|0)+7&-8;c[q>>2]=e;if(i<<1>>>0<f>>>0){b=b>>>1;c[j>>2]=b}if(i<<2>>>0<f>>>0){b=b>>>1;c[j>>2]=b}if(i<<3>>>0<f>>>0){b=b>>>1;c[j>>2]=b}if(i<<4>>>0<f>>>0){b=b>>>1;c[j>>2]=b}if(!b){c[j>>2]=1;b=1}}else c[a+44>>2]=c[27748+(d*20|0)+12>>2];d=_(e,i)|0;h=(_(e,b)|0)+8|0;if(d>>>0<=h>>>0){o=(536870911/(i>>>0)|0)>>>0>=e>>>0;f=o&1;if(o){h=d;d=16}else d=15}else{f=0;d=15}if((d|0)==15?(536870903/(b>>>0)|0)>>>0>=e>>>0:0)d=16;do if((d|0)==16){b=a+80|0;if((c[b>>2]|0)>>>0<h>>>0){d=a+76|0;e=ed(c[d>>2]|0,h<<2)|0;if(!e)break;c[d>>2]=e;c[b>>2]=h}h=a+44|0;i=a+76|0;do if(!f){e=-4;while(1){b=c[j>>2]|0;d=c[q>>2]|0;if((e|0)>=((_(b,d)|0)+4|0))break;l=+Wc(+g[h>>2],+(e|0)/+(b>>>0)-+(d>>>1>>>0),d,c[27748+((c[m>>2]|0)*20|0)+16>>2]|0);g[(c[i>>2]|0)+(e+4<<2)>>2]=l;e=e+1|0}b=a+84|0;if((c[m>>2]|0)>8){c[b>>2]=4;break}else{c[b>>2]=5;break}}else{e=0;while(1){if(e>>>0>=(c[k>>2]|0)>>>0)break;l=+(e>>>0);d=0;while(1){b=c[q>>2]|0;if(d>>>0>=b>>>0)break;t=+Wc(+g[h>>2],+(d-((b|0)/2|0)+1|0)-l/+((c[k>>2]|0)>>>0),b,c[27748+((c[m>>2]|0)*20|0)+16>>2]|0);o=(_(e,b)|0)+d|0;g[(c[i>>2]|0)+(o<<2)>>2]=t;d=d+1|0}e=e+1|0}b=a+84|0;if((c[m>>2]|0)>8){c[b>>2]=2;break}else{c[b>>2]=3;break}}while(0);b=(c[q>>2]|0)+-1+(c[a+32>>2]|0)|0;d=c[s>>2]|0;if(b>>>0>d>>>0){d=c[a+20>>2]|0;if((536870911/(d>>>0)|0)>>>0<b>>>0)break;e=a+72|0;d=ed(c[e>>2]|0,(_(d,b)|0)<<2)|0;if(!d)break;c[e>>2]=d;c[s>>2]=b}else b=d;if(!(c[a+56>>2]|0)){f=a+20|0;e=a+72|0;d=0;while(1){if(d>>>0>=(_(c[f>>2]|0,b)|0)>>>0){b=0;break}g[(c[e>>2]|0)+(d<<2)>>2]=0.0;b=c[s>>2]|0;d=d+1|0}return b|0}b=c[q>>2]|0;if(b>>>0<=r>>>0){if(b>>>0>=r>>>0){s=0;return s|0}j=a+20|0;k=a+68|0;b=a+72|0;h=0;while(1){if(h>>>0>=(c[j>>2]|0)>>>0){b=0;break}i=(c[k>>2]|0)+(h<<2)|0;d=c[i>>2]|0;c[i>>2]=(r-(c[q>>2]|0)|0)>>>1;i=0;while(1){e=(c[k>>2]|0)+(h<<2)|0;f=c[e>>2]|0;if(i>>>0>=((c[q>>2]|0)+-1+f+d|0)>>>0)break;p=(_(h,c[s>>2]|0)|0)+i|0;a=c[b>>2]|0;c[a+(p<<2)>>2]=c[a+(p+f<<2)>>2];i=i+1|0}c[e>>2]=f+d;h=h+1|0}return b|0}j=a+68|0;k=r+-1|0;m=a+72|0;n=a+60|0;o=r+-1|0;b=c[a+20>>2]|0;a:while(1){i=b+-1|0;if(!b){b=0;break}h=c[(c[j>>2]|0)+(i<<2)>>2]|0;f=h<<1;b=_(i,p)|0;e=k+h|0;while(1){d=e+-1|0;if(!e){b=0;break}a=c[m>>2]|0;e=(_(i,c[s>>2]|0)|0)+d|0;c[a+(e+(c[(c[j>>2]|0)+(i<<2)>>2]|0)<<2)>>2]=c[a+(b+d<<2)>>2];e=d}while(1){d=(c[j>>2]|0)+(i<<2)|0;if(b>>>0>=(c[d>>2]|0)>>>0)break;a=(_(i,c[s>>2]|0)|0)+b|0;g[(c[m>>2]|0)+(a<<2)>>2]=0.0;b=b+1|0}f=r+f|0;c[d>>2]=0;b=c[q>>2]|0;if(f>>>0>=b>>>0){c[(c[j>>2]|0)+(i<<2)>>2]=(f-b|0)>>>1;d=0;while(1){b=c[(c[j>>2]|0)+(i<<2)>>2]|0;if(d>>>0>=((c[q>>2]|0)+-1+b|0)>>>0){b=i;continue a}a=(_(i,c[s>>2]|0)|0)+d|0;h=c[m>>2]|0;c[h+(a<<2)>>2]=c[h+(a+b<<2)>>2];d=d+1|0}}e=f+-2|0;d=o+(h<<1)|0;b=0;while(1){if((b|0)==(d|0))break;a=_(i,c[s>>2]|0)|0;h=c[m>>2]|0;c[h+(a+((c[q>>2]|0)+-2-b)<<2)>>2]=c[h+(a+(e-b)<<2)>>2];b=b+1|0}while(1){b=c[q>>2]|0;if(d>>>0>=(b+-1|0)>>>0)break;a=(_(i,c[s>>2]|0)|0)+(b+-2-d)|0;g[(c[m>>2]|0)+(a<<2)>>2]=0.0;d=d+1|0}a=(c[n>>2]|0)+(i<<2)|0;c[a>>2]=(c[a>>2]|0)+((b-f|0)>>>1);b=i}return b|0}while(0);c[a+84>>2]=1;c[q>>2]=r;s=1;return s|0}function Uc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=c[a+24>>2]|0;i=c[a+72>>2]|0;j=_(c[a+28>>2]|0,b)|0;c[a+56>>2]=1;g=Ba[c[a+84>>2]&7](a,b,i+(j<<2)|0,d,e,f)|0;e=a+60|0;a=c[(c[e>>2]|0)+(b<<2)>>2]|0;if((a|0)<(c[d>>2]|0))c[d>>2]=a;c[f>>2]=g;g=(c[e>>2]|0)+(b<<2)|0;c[g>>2]=(c[g>>2]|0)-(c[d>>2]|0);g=c[d>>2]|0;e=h+-1|0;a=0;while(1){if((a|0)>=(e|0))break;c[i+(j+a<<2)>>2]=c[i+(j+(a+g)<<2)>>2];a=a+1|0}return}function Vc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a+60|0;o=a+64|0;p=c[a+92>>2]|0;m=c[a+36>>2]|0;n=c[a+40>>2]|0;j=c[a+12>>2]|0;d=c[(c[l>>2]|0)+(b<<2)>>2]|0;i=0;a=c[(c[o>>2]|0)+(b<<2)>>2]|0;while(1){if((d|0)>=(c[e>>2]|0))break;if((i|0)>=(c[h>>2]|0))break;k=i+1|0;g[f+((_(p,i)|0)<<2)>>2]=0.0;d=d+m|0;a=a+n|0;if(a>>>0<j>>>0){i=k;continue}d=d+1|0;i=k;a=a-j|0}c[(c[l>>2]|0)+(b<<2)>>2]=d;c[(c[o>>2]|0)+(b<<2)>>2]=a;return i|0}function Wc(a,b,d,e){a=+a;b=+b;d=d|0;e=e|0;var f=0.0,i=0.0,j=0.0,l=0.0;i=+N(+b);if(i<1.0e-06){e=(g[k>>2]=a,c[k>>2]|0);b=(c[k>>2]=e,+g[k>>2]);return +b}f=+(d|0);if(i>f*.5){e=0;b=(c[k>>2]=e,+g[k>>2]);return +b}j=b*a*3.141592653589793;j=a*+R(+j)/j;a=+N(+(b*2.0/f));a=+(c[e+4>>2]|0)*a;d=~~+M(+a);a=a-+(d|0);l=a;f=a*a;a=f*a;i=a*.1666666667;b=l*-.1666666667+i;f=f*.5;a=l+f-a*.5;i=l*-.3333333333+f-i;e=c[e>>2]|0;e=(g[k>>2]=j*(i*+h[e+(d<<3)>>3]+(1.0-b-a-i)*+h[e+(d+1<<3)>>3]+a*+h[e+(d+2<<3)>>3]+b*+h[e+(d+3<<3)>>3]),c[k>>2]|0);b=(c[k>>2]=e,+g[k>>2]);return +b}function Xc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.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;r=c[a+24>>2]|0;w=a+60|0;x=a+64|0;s=c[a+92>>2]|0;t=c[a+36>>2]|0;u=c[a+40>>2]|0;v=c[a+12>>2]|0;o=c[a+76>>2]|0;p=c[(c[w>>2]|0)+(b<<2)>>2]|0;q=0;i=c[(c[x>>2]|0)+(b<<2)>>2]|0;while(1){if((p|0)>=(c[e>>2]|0)){a=9;break}if((q|0)>=(c[h>>2]|0)){a=9;break}a=_(i,r)|0;k=0.0;l=0.0;m=0.0;n=0.0;j=0;while(1){if((j|0)>=(r|0))break;z=j|1;y=j|2;A=j|3;k=k+ +g[o+(a+j<<2)>>2]*+g[d+(p+j<<2)>>2];l=l+ +g[o+(a+A<<2)>>2]*+g[d+(p+A<<2)>>2];m=m+ +g[o+(a+z<<2)>>2]*+g[d+(p+z<<2)>>2];n=n+ +g[o+(a+y<<2)>>2]*+g[d+(p+y<<2)>>2];j=j+4|0}j=q+1|0;g[f+((_(s,q)|0)<<2)>>2]=k+m+n+l;a=p+t|0;i=i+u|0;if(i>>>0<v>>>0){p=a;q=j;continue}p=a+1|0;q=j;i=i-v|0}if((a|0)==9){c[(c[w>>2]|0)+(b<<2)>>2]=p;c[(c[x>>2]|0)+(b<<2)>>2]=i;return q|0}return 0}function Yc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=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;p=c[a+24>>2]|0;u=a+60|0;v=a+64|0;q=c[a+92>>2]|0;r=c[a+36>>2]|0;s=c[a+40>>2]|0;t=c[a+12>>2]|0;m=c[a+76>>2]|0;n=c[(c[u>>2]|0)+(b<<2)>>2]|0;o=0;i=c[(c[v>>2]|0)+(b<<2)>>2]|0;while(1){if((n|0)>=(c[e>>2]|0)){a=9;break}if((o|0)>=(c[h>>2]|0)){a=9;break}a=_(i,p)|0;j=0;l=0;while(1){if((j|0)>=(p|0))break;w=(g[k>>2]=(c[k>>2]=l,+g[k>>2])+ +g[m+(a+j<<2)>>2]*+g[d+(n+j<<2)>>2],c[k>>2]|0);j=j+1|0;l=w}j=o+1|0;c[f+((_(q,o)|0)<<2)>>2]=l;a=n+r|0;i=i+s|0;if(i>>>0<t>>>0){n=a;o=j;continue}n=a+1|0;o=j;i=i-t|0}if((a|0)==9){c[(c[u>>2]|0)+(b<<2)>>2]=n;c[(c[v>>2]|0)+(b<<2)>>2]=i;return o|0}return 0}function Zc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.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.0,H=0.0,I=0.0,J=0.0;u=c[a+24>>2]|0;B=a+60|0;C=a+64|0;v=c[a+92>>2]|0;w=c[a+36>>2]|0;x=c[a+40>>2]|0;y=a+12|0;z=c[y>>2]|0;A=a+48|0;r=a+76|0;s=c[(c[B>>2]|0)+(b<<2)>>2]|0;t=0;i=c[(c[C>>2]|0)+(b<<2)>>2]|0;while(1){if((s|0)>=(c[e>>2]|0)){a=9;break}if((t|0)>=(c[h>>2]|0)){a=9;break}a=c[A>>2]|0;k=_(i,a)|0;m=c[y>>2]|0;j=(k>>>0)/(m>>>0)|0;k=(k>>>0)%(m>>>0)|0;l=+(m>>>0);n=0.0;o=0.0;p=0.0;q=0.0;m=0;while(1){if((m|0)>=(u|0))break;G=+g[d+(s+m<<2)>>2];D=m+1|0;E=(_(D,a)|0)+4-j|0;F=c[r>>2]|0;n=n+G*+g[F+(E+-2<<2)>>2];o=o+G*+g[F+(E+1<<2)>>2];p=p+G*+g[F+(E+-1<<2)>>2];q=q+G*+g[F+(E<<2)>>2];m=D}J=+(k>>>0)/l;G=J*.16666999459266663*J*J;I=J*.5*J;H=J*-.16666999459266663+G;l=J+I-I*J;G=J*-.3333300054073334+I-G;j=t+1|0;g[f+((_(v,t)|0)<<2)>>2]=H*n+l*p+(1.0-H-l-G)*q+G*o;a=s+w|0;i=i+x|0;if(i>>>0<z>>>0){s=a;t=j;continue}s=a+1|0;t=j;i=i-z|0}if((a|0)==9){c[(c[B>>2]|0)+(b<<2)>>2]=s;c[(c[C>>2]|0)+(b<<2)>>2]=i;return t|0}return 0}function _c(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.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.0,H=0.0,I=0.0,J=0.0;u=c[a+24>>2]|0;B=a+60|0;C=a+64|0;v=c[a+92>>2]|0;w=c[a+36>>2]|0;x=c[a+40>>2]|0;y=a+12|0;z=c[y>>2]|0;A=a+48|0;r=a+76|0;s=c[(c[B>>2]|0)+(b<<2)>>2]|0;t=0;i=c[(c[C>>2]|0)+(b<<2)>>2]|0;while(1){if((s|0)>=(c[e>>2]|0)){a=9;break}if((t|0)>=(c[h>>2]|0)){a=9;break}a=c[A>>2]|0;k=_(i,a)|0;m=c[y>>2]|0;j=(k>>>0)/(m>>>0)|0;k=(k>>>0)%(m>>>0)|0;l=+(m>>>0);n=0.0;o=0.0;p=0.0;q=0.0;m=0;while(1){if((m|0)>=(u|0))break;G=+g[d+(s+m<<2)>>2];D=m+1|0;E=(_(D,a)|0)+4-j|0;F=c[r>>2]|0;n=n+G*+g[F+(E+-2<<2)>>2];o=o+G*+g[F+(E+1<<2)>>2];p=p+G*+g[F+(E+-1<<2)>>2];q=q+G*+g[F+(E<<2)>>2];m=D}J=+(k>>>0)/l;G=J*.16666999459266663*J*J;H=J*-.16666999459266663+G;I=J*.5*J;l=J+I-I*J;G=J*-.3333300054073334+I-G;j=t+1|0;g[f+((_(v,t)|0)<<2)>>2]=H*n+l*p+(1.0-H-l-G)*q+G*o;a=s+w|0;i=i+x|0;if(i>>>0<z>>>0){s=a;t=j;continue}s=a+1|0;t=j;i=i-z|0}if((a|0)==9){c[(c[B>>2]|0)+(b<<2)>>2]=s;c[(c[C>>2]|0)+(b<<2)>>2]=i;return t|0}return 0}function $c(a){a=+a;var b=0,d=0,e=0,f=0.0,g=0.0;h[k>>3]=a;b=c[k+4>>2]|0;d=b&2147483647;do if(d>>>0>1083174911){b=(b|0)>-1|(b|0)==-1&(c[k>>2]|0)>>>0>4294967295;if(b&d>>>0>1083179007){a=a*8988465674311579538646525.0e283;break}if(d>>>0<=2146435071)if(!(a<=-1075.0)|b){e=9;break}else{a=0.0;break}else{a=-1.0/a;break}}else if(d>>>0<1016070144)a=a+1.0;else e=9;while(0);if((e|0)==9){g=a+26388279066624.0;h[k>>3]=g;e=(c[k>>2]|0)+128|0;d=e<<1&510;f=+h[1416+(d<<3)>>3];a=a-(g+-26388279066624.0)-+h[1416+((d|1)<<3)>>3];a=+bd(f+f*a*(a*(a*(a*(a*1.3333559164630223e-03+.009618129842126066)+.0555041086648214)+.2402265069591)+.6931471805599453),(e&-256|0)/256|0)}return +a}function ad(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;b=c[k+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){if((d|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;e=c[k>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[k>>2]=e;c[k+4>>2]=(f&1048575)+1072079006;m=+h[k>>3]+-1.0;a=m*(m*.5);j=m/(m+2.0);l=j*j;i=l*l;h[k>>3]=m-a;e=c[k+4>>2]|0;c[k>>2]=0;c[k+4>>2]=e;g=+h[k>>3];a=j*(a+(i*(i*(i*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(i*(i*(i*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(m-g-a);m=g*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;j=l+m;a=j+(m+(l-j)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function bd(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=id(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function cd(a){a=a|0;var b=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,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;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[7012]|0;b=i>>>a;if(b&3){b=(b&1^1)+a|0;e=b<<1;d=28088+(e<<2)|0;e=28088+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[7016]|0)>>>0)xa();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else xa()}else c[7012]=i&~(1<<b);while(0);L=b<<3;c[f+4>>2]=L|3;L=f+(L|4)|0;c[L>>2]=c[L>>2]|1;L=g;return L|0}h=c[7014]|0;if(o>>>0>h>>>0){if(b){e=2<<a;e=b<<a&(e|0-e);e=(e&0-e)+-1|0;j=e>>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;b=e>>>1&1;b=(f|j|g|d|b)+(e>>>b)|0;e=b<<1;d=28088+(e<<2)|0;e=28088+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[7016]|0)>>>0)xa();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;k=c[7014]|0;break}else xa()}else{c[7012]=i&~(1<<b);k=h}while(0);L=b<<3;h=L-o|0;c[g+4>>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+L>>2]=h;if(k){f=c[7017]|0;d=k>>>3;a=d<<1;e=28088+(a<<2)|0;b=c[7012]|0;d=1<<d;if(b&d){b=28088+(a+2<<2)|0;a=c[b>>2]|0;if(a>>>0<(c[7016]|0)>>>0)xa();else{l=b;m=a}}else{c[7012]=b|d;l=28088+(a+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[7014]=h;c[7017]=i;L=j;return L|0}a=c[7013]|0;if(a){i=(a&0-a)+-1|0;K=i>>>12&16;i=i>>>K;J=i>>>5&8;i=i>>>J;L=i>>>2&4;i=i>>>L;b=i>>>1&2;i=i>>>b;j=i>>>1&1;j=c[28352+((J|K|L|b|j)+(i>>>j)<<2)>>2]|0;i=(c[j+4>>2]&-8)-o|0;b=j;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a)break}b=(c[a+4>>2]&-8)-o|0;L=b>>>0<i>>>0;i=L?b:i;b=a;j=L?a:j}f=c[7016]|0;if(j>>>0<f>>>0)xa();h=j+o|0;if(j>>>0>=h>>>0)xa();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){n=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)xa();else{c[b>>2]=0;n=a;break}}else{e=c[j+8>>2]|0;if(e>>>0<f>>>0)xa();a=e+12|0;if((c[a>>2]|0)!=(j|0))xa();b=d+8|0;if((c[b>>2]|0)==(j|0)){c[a>>2]=d;c[b>>2]=e;n=d;break}else xa()}while(0);do if(g){a=c[j+28>>2]|0;b=28352+(a<<2)|0;if((j|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[7013]=c[7013]&~(1<<a);break}}else{if(g>>>0<(c[7016]|0)>>>0)xa();a=g+16|0;if((c[a>>2]|0)==(j|0))c[a>>2]=n;else c[g+20>>2]=n;if(!n)break}b=c[7016]|0;if(n>>>0<b>>>0)xa();c[n+24>>2]=g;a=c[j+16>>2]|0;do if(a)if(a>>>0<b>>>0)xa();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);a=c[j+20>>2]|0;if(a)if(a>>>0<(c[7016]|0)>>>0)xa();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}while(0);if(i>>>0<16){L=i+o|0;c[j+4>>2]=L|3;L=j+(L+4)|0;c[L>>2]=c[L>>2]|1}else{c[j+4>>2]=o|3;c[j+(o|4)>>2]=i|1;c[j+(i+o)>>2]=i;a=c[7014]|0;if(a){f=c[7017]|0;d=a>>>3;a=d<<1;e=28088+(a<<2)|0;b=c[7012]|0;d=1<<d;if(b&d){a=28088+(a+2<<2)|0;b=c[a>>2]|0;if(b>>>0<(c[7016]|0)>>>0)xa();else{p=a;q=b}}else{c[7012]=b|d;p=28088+(a+2<<2)|0;q=e}c[p>>2]=f;c[q+12>>2]=f;c[f+8>>2]=q;c[f+12>>2]=e}c[7014]=i;c[7017]=h}L=j+8|0;return L|0}}}else if(a>>>0<=4294967231){a=a+11|0;o=a&-8;j=c[7013]|0;if(j){b=0-o|0;a=a>>>8;if(a)if(o>>>0>16777215)i=31;else{q=(a+1048320|0)>>>16&8;x=a<<q;p=(x+520192|0)>>>16&4;x=x<<p;i=(x+245760|0)>>>16&2;i=14-(p|q|i)+(x<<i>>>15)|0;i=o>>>(i+7|0)&1|i<<1}else i=0;a=c[28352+(i<<2)>>2]|0;a:do if(!a){d=0;a=0;x=86}else{f=b;d=0;g=o<<((i|0)==31?0:25-(i>>>1)|0);h=a;a=0;while(1){e=c[h+4>>2]&-8;b=e-o|0;if(b>>>0<f>>>0)if((e|0)==(o|0)){e=h;a=h;x=90;break a}else a=h;else b=f;x=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;d=(x|0)==0|(x|0)==(h|0)?d:x;if(!h){x=86;break}else{f=b;g=g<<1}}}while(0);if((x|0)==86){if((d|0)==0&(a|0)==0){a=2<<i;a=j&(a|0-a);if(!a)break;a=(a&0-a)+-1|0;n=a>>>12&16;a=a>>>n;m=a>>>5&8;a=a>>>m;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;d=a>>>1&1;d=c[28352+((m|n|p|q|d)+(a>>>d)<<2)>>2]|0;a=0}if(!d){i=b;j=a}else{e=d;x=90}}if((x|0)==90)while(1){x=0;q=(c[e+4>>2]&-8)-o|0;d=q>>>0<b>>>0;b=d?q:b;a=d?e:a;d=c[e+16>>2]|0;if(d){e=d;x=90;continue}e=c[e+20>>2]|0;if(!e){i=b;j=a;break}else x=90}if((j|0)!=0?i>>>0<((c[7014]|0)-o|0)>>>0:0){f=c[7016]|0;if(j>>>0<f>>>0)xa();h=j+o|0;if(j>>>0>=h>>>0)xa();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){s=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)xa();else{c[b>>2]=0;s=a;break}}else{e=c[j+8>>2]|0;if(e>>>0<f>>>0)xa();a=e+12|0;if((c[a>>2]|0)!=(j|0))xa();b=d+8|0;if((c[b>>2]|0)==(j|0)){c[a>>2]=d;c[b>>2]=e;s=d;break}else xa()}while(0);do if(g){a=c[j+28>>2]|0;b=28352+(a<<2)|0;if((j|0)==(c[b>>2]|0)){c[b>>2]=s;if(!s){c[7013]=c[7013]&~(1<<a);break}}else{if(g>>>0<(c[7016]|0)>>>0)xa();a=g+16|0;if((c[a>>2]|0)==(j|0))c[a>>2]=s;else c[g+20>>2]=s;if(!s)break}b=c[7016]|0;if(s>>>0<b>>>0)xa();c[s+24>>2]=g;a=c[j+16>>2]|0;do if(a)if(a>>>0<b>>>0)xa();else{c[s+16>>2]=a;c[a+24>>2]=s;break}while(0);a=c[j+20>>2]|0;if(a)if(a>>>0<(c[7016]|0)>>>0)xa();else{c[s+20>>2]=a;c[a+24>>2]=s;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=o|3;c[j+(o|4)>>2]=i|1;c[j+(i+o)>>2]=i;a=i>>>3;if(i>>>0<256){b=a<<1;e=28088+(b<<2)|0;d=c[7012]|0;a=1<<a;if(d&a){a=28088+(b+2<<2)|0;b=c[a>>2]|0;if(b>>>0<(c[7016]|0)>>>0)xa();else{t=a;u=b}}else{c[7012]=d|a;t=28088+(b+2<<2)|0;u=e}c[t>>2]=h;c[u+12>>2]=h;c[j+(o+8)>>2]=u;c[j+(o+12)>>2]=e;break}a=i>>>8;if(a)if(i>>>0>16777215)e=31;else{K=(a+1048320|0)>>>16&8;L=a<<K;J=(L+520192|0)>>>16&4;L=L<<J;e=(L+245760|0)>>>16&2;e=14-(J|K|e)+(L<<e>>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;a=28352+(e<<2)|0;c[j+(o+28)>>2]=e;c[j+(o+20)>>2]=0;c[j+(o+16)>>2]=0;b=c[7013]|0;d=1<<e;if(!(b&d)){c[7013]=b|d;c[a>>2]=h;c[j+(o+24)>>2]=a;c[j+(o+12)>>2]=h;c[j+(o+8)>>2]=h;break}a=c[a>>2]|0;c:do if((c[a+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(i|0)){w=b;break c}else{e=e<<1;a=b}}if(d>>>0<(c[7016]|0)>>>0)xa();else{c[d>>2]=h;c[j+(o+24)>>2]=a;c[j+(o+12)>>2]=h;c[j+(o+8)>>2]=h;break b}}else w=a;while(0);a=w+8|0;b=c[a>>2]|0;L=c[7016]|0;if(b>>>0>=L>>>0&w>>>0>=L>>>0){c[b+12>>2]=h;c[a>>2]=h;c[j+(o+8)>>2]=b;c[j+(o+12)>>2]=w;c[j+(o+24)>>2]=0;break}else xa()}else{L=i+o|0;c[j+4>>2]=L|3;L=j+(L+4)|0;c[L>>2]=c[L>>2]|1}while(0);L=j+8|0;return L|0}}}else o=-1;while(0);d=c[7014]|0;if(d>>>0>=o>>>0){a=d-o|0;b=c[7017]|0;if(a>>>0>15){c[7017]=b+o;c[7014]=a;c[b+(o+4)>>2]=a|1;c[b+d>>2]=a;c[b+4>>2]=o|3}else{c[7014]=0;c[7017]=0;c[b+4>>2]=d|3;L=b+(d+4)|0;c[L>>2]=c[L>>2]|1}L=b+8|0;return L|0}a=c[7015]|0;if(a>>>0>o>>>0){K=a-o|0;c[7015]=K;L=c[7018]|0;c[7018]=L+o;c[L+(o+4)>>2]=K|1;c[L+4>>2]=o|3;L=L+8|0;return L|0}do if(!(c[7130]|0)){a=za(30)|0;if(!(a+-1&a)){c[7132]=a;c[7131]=a;c[7133]=-1;c[7134]=-1;c[7135]=0;c[7123]=0;c[7130]=(ra(0)|0)&-16^1431655768;break}else xa()}while(0);g=o+48|0;f=c[7132]|0;h=o+47|0;e=f+h|0;f=0-f|0;i=e&f;if(i>>>0<=o>>>0){L=0;return L|0}a=c[7122]|0;if((a|0)!=0?(u=c[7120]|0,w=u+i|0,w>>>0<=u>>>0|w>>>0>a>>>0):0){L=0;return L|0}d:do if(!(c[7123]&4)){d=c[7018]|0;e:do if(d){a=28496;while(1){b=c[a>>2]|0;if(b>>>0<=d>>>0?(r=a+4|0,(b+(c[r>>2]|0)|0)>>>0>d>>>0):0)break;a=c[a+8>>2]|0;if(!a){x=174;break e}}b=e-(c[7015]|0)&f;if(b>>>0<2147483647){d=qa(b|0)|0;w=(d|0)==((c[a>>2]|0)+(c[r>>2]|0)|0);a=w?b:0;if(w){if((d|0)!=(-1|0)){r=d;q=a;x=194;break d}}else x=184}else a=0}else x=174;while(0);do if((x|0)==174){e=qa(0)|0;if((e|0)!=(-1|0)){a=e;b=c[7131]|0;d=b+-1|0;if(!(d&a))b=i;else b=i-a+(d+a&0-b)|0;a=c[7120]|0;d=a+b|0;if(b>>>0>o>>>0&b>>>0<2147483647){w=c[7122]|0;if((w|0)!=0?d>>>0<=a>>>0|d>>>0>w>>>0:0){a=0;break}d=qa(b|0)|0;x=(d|0)==(e|0);a=x?b:0;if(x){r=e;q=a;x=194;break d}else x=184}else a=0}else a=0}while(0);f:do if((x|0)==184){e=0-b|0;do if(g>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))?(v=c[7132]|0,v=h-b+v&0-v,v>>>0<2147483647):0)if((qa(v|0)|0)==(-1|0)){qa(e|0)|0;break f}else{b=v+b|0;break}while(0);if((d|0)!=(-1|0)){r=d;q=b;x=194;break d}}while(0);c[7123]=c[7123]|4;x=191}else{a=0;x=191}while(0);if((((x|0)==191?i>>>0<2147483647:0)?(y=qa(i|0)|0,z=qa(0)|0,y>>>0<z>>>0&((y|0)!=(-1|0)&(z|0)!=(-1|0))):0)?(A=z-y|0,B=A>>>0>(o+40|0)>>>0,B):0){r=y;q=B?A:a;x=194}if((x|0)==194){a=(c[7120]|0)+q|0;c[7120]=a;if(a>>>0>(c[7121]|0)>>>0)c[7121]=a;h=c[7018]|0;g:do if(h){f=28496;while(1){a=c[f>>2]|0;b=f+4|0;d=c[b>>2]|0;if((r|0)==(a+d|0)){x=204;break}e=c[f+8>>2]|0;if(!e)break;else f=e}if(((x|0)==204?(c[f+12>>2]&8|0)==0:0)?h>>>0<r>>>0&h>>>0>=a>>>0:0){c[b>>2]=d+q;L=(c[7015]|0)+q|0;K=h+8|0;K=(K&7|0)==0?0:0-K&7;J=L-K|0;c[7018]=h+K;c[7015]=J;c[h+(K+4)>>2]=J|1;c[h+(L+4)>>2]=40;c[7019]=c[7134];break}a=c[7016]|0;if(r>>>0<a>>>0){c[7016]=r;j=r}else j=a;b=r+q|0;a=28496;while(1){if((c[a>>2]|0)==(b|0)){x=212;break}a=c[a+8>>2]|0;if(!a){b=28496;break}}if((x|0)==212)if(!(c[a+12>>2]&8)){c[a>>2]=r;n=a+4|0;c[n>>2]=(c[n>>2]|0)+q;n=r+8|0;n=(n&7|0)==0?0:0-n&7;k=r+(q+8)|0;k=(k&7|0)==0?0:0-k&7;a=r+(k+q)|0;m=n+o|0;p=r+m|0;l=a-(r+n)-o|0;c[r+(n+4)>>2]=o|3;h:do if((a|0)!=(h|0)){if((a|0)==(c[7017]|0)){L=(c[7014]|0)+l|0;c[7014]=L;c[7017]=p;c[r+(m+4)>>2]=L|1;c[r+(L+m)>>2]=L;break}h=q+4|0;b=c[r+(h+k)>>2]|0;if((b&3|0)==1){i=b&-8;f=b>>>3;i:do if(b>>>0>=256){g=c[r+((k|24)+q)>>2]|0;e=c[r+(q+12+k)>>2]|0;do if((e|0)==(a|0)){d=k|16;e=r+(h+d)|0;b=c[e>>2]|0;if(!b){d=r+(d+q)|0;b=c[d>>2]|0;if(!b){I=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<j>>>0)xa();else{c[d>>2]=0;I=b;break}}else{f=c[r+((k|8)+q)>>2]|0;if(f>>>0<j>>>0)xa();b=f+12|0;if((c[b>>2]|0)!=(a|0))xa();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;I=e;break}else xa()}while(0);if(!g)break;b=c[r+(q+28+k)>>2]|0;d=28352+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(g>>>0<(c[7016]|0)>>>0)xa();b=g+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=I;else c[g+20>>2]=I;if(!I)break i}else{c[d>>2]=I;if(I)break;c[7013]=c[7013]&~(1<<b);break i}while(0);d=c[7016]|0;if(I>>>0<d>>>0)xa();c[I+24>>2]=g;a=k|16;b=c[r+(a+q)>>2]|0;do if(b)if(b>>>0<d>>>0)xa();else{c[I+16>>2]=b;c[b+24>>2]=I;break}while(0);a=c[r+(h+a)>>2]|0;if(!a)break;if(a>>>0<(c[7016]|0)>>>0)xa();else{c[I+20>>2]=a;c[a+24>>2]=I;break}}else{d=c[r+((k|8)+q)>>2]|0;e=c[r+(q+12+k)>>2]|0;b=28088+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<j>>>0)xa();if((c[d+12>>2]|0)==(a|0))break;xa()}while(0);if((e|0)==(d|0)){c[7012]=c[7012]&~(1<<f);break}do if((e|0)==(b|0))E=e+8|0;else{if(e>>>0<j>>>0)xa();b=e+8|0;if((c[b>>2]|0)==(a|0)){E=b;break}xa()}while(0);c[d+12>>2]=e;c[E>>2]=d}while(0);a=r+((i|k)+q)|0;f=i+l|0}else f=l;a=a+4|0;c[a>>2]=c[a>>2]&-2;c[r+(m+4)>>2]=f|1;c[r+(f+m)>>2]=f;a=f>>>3;if(f>>>0<256){b=a<<1;e=28088+(b<<2)|0;d=c[7012]|0;a=1<<a;do if(!(d&a)){c[7012]=d|a;J=28088+(b+2<<2)|0;K=e}else{a=28088+(b+2<<2)|0;b=c[a>>2]|0;if(b>>>0>=(c[7016]|0)>>>0){J=a;K=b;break}xa()}while(0);c[J>>2]=p;c[K+12>>2]=p;c[r+(m+8)>>2]=K;c[r+(m+12)>>2]=e;break}a=f>>>8;do if(!a)e=0;else{if(f>>>0>16777215){e=31;break}J=(a+1048320|0)>>>16&8;K=a<<J;I=(K+520192|0)>>>16&4;K=K<<I;e=(K+245760|0)>>>16&2;e=14-(I|J|e)+(K<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);a=28352+(e<<2)|0;c[r+(m+28)>>2]=e;c[r+(m+20)>>2]=0;c[r+(m+16)>>2]=0;b=c[7013]|0;d=1<<e;if(!(b&d)){c[7013]=b|d;c[a>>2]=p;c[r+(m+24)>>2]=a;c[r+(m+12)>>2]=p;c[r+(m+8)>>2]=p;break}a=c[a>>2]|0;j:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){L=b;break j}else{e=e<<1;a=b}}if(d>>>0<(c[7016]|0)>>>0)xa();else{c[d>>2]=p;c[r+(m+24)>>2]=a;c[r+(m+12)>>2]=p;c[r+(m+8)>>2]=p;break h}}else L=a;while(0);a=L+8|0;b=c[a>>2]|0;K=c[7016]|0;if(b>>>0>=K>>>0&L>>>0>=K>>>0){c[b+12>>2]=p;c[a>>2]=p;c[r+(m+8)>>2]=b;c[r+(m+12)>>2]=L;c[r+(m+24)>>2]=0;break}else xa()}else{L=(c[7015]|0)+l|0;c[7015]=L;c[7018]=p;c[r+(m+4)>>2]=L|1}while(0);L=r+(n|8)|0;return L|0}else b=28496;while(1){a=c[b>>2]|0;if(a>>>0<=h>>>0?(C=c[b+4>>2]|0,D=a+C|0,D>>>0>h>>>0):0)break;b=c[b+8>>2]|0}b=a+(C+-39)|0;b=a+(C+-47+((b&7|0)==0?0:0-b&7))|0;f=h+16|0;b=b>>>0<f>>>0?h:b;a=b+8|0;d=r+8|0;d=(d&7|0)==0?0:0-d&7;L=q+-40-d|0;c[7018]=r+d;c[7015]=L;c[r+(d+4)>>2]=L|1;c[r+(q+-36)>>2]=40;c[7019]=c[7134];d=b+4|0;c[d>>2]=27;c[a>>2]=c[7124];c[a+4>>2]=c[7125];c[a+8>>2]=c[7126];c[a+12>>2]=c[7127];c[7124]=r;c[7125]=q;c[7127]=0;c[7126]=a;a=b+28|0;c[a>>2]=7;if((b+32|0)>>>0<D>>>0)do{L=a;a=a+4|0;c[a>>2]=7}while((L+8|0)>>>0<D>>>0);if((b|0)!=(h|0)){g=b-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[b>>2]=g;a=g>>>3;if(g>>>0<256){b=a<<1;e=28088+(b<<2)|0;d=c[7012]|0;a=1<<a;if(d&a){a=28088+(b+2<<2)|0;b=c[a>>2]|0;if(b>>>0<(c[7016]|0)>>>0)xa();else{F=a;G=b}}else{c[7012]=d|a;F=28088+(b+2<<2)|0;G=e}c[F>>2]=h;c[G+12>>2]=h;c[h+8>>2]=G;c[h+12>>2]=e;break}a=g>>>8;if(a)if(g>>>0>16777215)e=31;else{K=(a+1048320|0)>>>16&8;L=a<<K;J=(L+520192|0)>>>16&4;L=L<<J;e=(L+245760|0)>>>16&2;e=14-(J|K|e)+(L<<e>>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=28352+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;a=c[7013]|0;b=1<<e;if(!(a&b)){c[7013]=a|b;c[d>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}a=c[d>>2]|0;k:do if((c[a+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(g|0)){H=b;break k}else{e=e<<1;a=b}}if(d>>>0<(c[7016]|0)>>>0)xa();else{c[d>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else H=a;while(0);a=H+8|0;b=c[a>>2]|0;L=c[7016]|0;if(b>>>0>=L>>>0&H>>>0>=L>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=H;c[h+24>>2]=0;break}else xa()}}else{L=c[7016]|0;if((L|0)==0|r>>>0<L>>>0)c[7016]=r;c[7124]=r;c[7125]=q;c[7127]=0;c[7021]=c[7130];c[7020]=-1;a=0;do{L=a<<1;K=28088+(L<<2)|0;c[28088+(L+3<<2)>>2]=K;c[28088+(L+2<<2)>>2]=K;a=a+1|0}while((a|0)!=32);L=r+8|0;L=(L&7|0)==0?0:0-L&7;K=q+-40-L|0;c[7018]=r+L;c[7015]=K;c[r+(L+4)>>2]=K|1;c[r+(q+-36)>>2]=40;c[7019]=c[7134]}while(0);a=c[7015]|0;if(a>>>0>o>>>0){K=a-o|0;c[7015]=K;L=c[7018]|0;c[7018]=L+o;c[L+(o+4)>>2]=K|1;c[L+4>>2]=o|3;L=L+8|0;return L|0}}if(!(c[7e3]|0))a=28044;else a=c[(ma()|0)+60>>2]|0;c[a>>2]=12;L=0;return L|0}function dd(a){a=a|0;var b=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,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[7016]|0;if(b>>>0<i>>>0)xa();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)xa();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0<i>>>0)xa();if((l|0)==(c[7017]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[7014]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=28088+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<i>>>0)xa();if((c[e+12>>2]|0)!=(l|0))xa()}if((d|0)==(e|0)){c[7012]=c[7012]&~(1<<f);u=l;g=m;break}if((d|0)!=(b|0)){if(d>>>0<i>>>0)xa();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else xa()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<i>>>0)xa();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0<i>>>0)xa();b=f+12|0;if((c[b>>2]|0)!=(l|0))xa();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else xa()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=28352+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[7013]=c[7013]&~(1<<b);u=l;g=m;break}}else{if(h>>>0<(c[7016]|0)>>>0)xa();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[7016]|0;if(k>>>0<d>>>0)xa();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0<d>>>0)xa();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[7016]|0)>>>0)xa();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)xa();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))xa();if(!(d&2)){if((q|0)==(c[7018]|0)){t=(c[7015]|0)+g|0;c[7015]=t;c[7018]=u;c[u+4>>2]=t|1;if((u|0)!=(c[7017]|0))return;c[7017]=0;c[7014]=0;return}if((q|0)==(c[7017]|0)){t=(c[7014]|0)+g|0;c[7014]=t;c[7017]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[7016]|0)>>>0)xa();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[7016]|0)>>>0)xa();e=d+12|0;if((c[e>>2]|0)!=(q|0))xa();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else xa()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=28352+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[7013]=c[7013]&~(1<<b);break}}else{if(h>>>0<(c[7016]|0)>>>0)xa();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[7016]|0;if(p>>>0<d>>>0)xa();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0<d>>>0)xa();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[7016]|0)>>>0)xa();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=28088+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[7016]|0)>>>0)xa();if((c[e+12>>2]|0)!=(q|0))xa()}if((d|0)==(e|0)){c[7012]=c[7012]&~(1<<f);break}if((d|0)!=(b|0)){if(d>>>0<(c[7016]|0)>>>0)xa();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else xa()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[7017]|0)){c[7014]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=28088+(d<<2)|0;e=c[7012]|0;b=1<<b;if(e&b){b=28088+(d+2<<2)|0;d=c[b>>2]|0;if(d>>>0<(c[7016]|0)>>>0)xa();else{r=b;s=d}}else{c[7012]=e|b;r=28088+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<<r;q=(s+520192|0)>>>16&4;s=s<<q;f=(s+245760|0)>>>16&2;f=14-(q|r|f)+(s<<f>>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=28352+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[7013]|0;e=1<<f;a:do if(d&e){b=c[b>>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){e=b+16+(f>>>31<<2)|0;d=c[e>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){t=d;break b}else{f=f<<1;b=d}}if(e>>>0<(c[7016]|0)>>>0)xa();else{c[e>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[7016]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else xa()}else{c[7013]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[7020]|0)+-1|0;c[7020]=u;if(!u)b=28504;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[7020]=-1;return}function ed(a,b){a=a|0;b=b|0;var 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;if(!a){a=cd(b)|0;return a|0}if(b>>>0>4294967231){if(!(c[7e3]|0))d=28044;else d=c[(ma()|0)+60>>2]|0;c[d>>2]=12;a=0;return a|0}o=b>>>0<11?16:b+11&-8;q=a+-4|0;p=c[q>>2]|0;j=p&-8;m=j+-8|0;l=a+m|0;i=c[7016]|0;d=p&3;if(!((d|0)!=1&(a+-8|0)>>>0>=i>>>0&(m|0)>-8))xa();g=j|4;e=a+(g+-8)|0;f=c[e>>2]|0;if(!(f&1))xa();do if(!d){if(!(o>>>0<256|j>>>0<(o|4)>>>0)?(j-o|0)>>>0<=c[7132]<<1>>>0:0)return a|0}else{if(j>>>0>=o>>>0){d=j-o|0;if(d>>>0<=15)return a|0;c[q>>2]=p&1|o|2;c[a+((o|4)+-8)>>2]=d|3;c[e>>2]=c[e>>2]|1;fd(a+(o+-8)|0,d);return a|0}if((l|0)==(c[7018]|0)){d=(c[7015]|0)+j|0;if(d>>>0<=o>>>0)break;n=d-o|0;c[q>>2]=p&1|o|2;c[a+((o|4)+-8)>>2]=n|1;c[7018]=a+(o+-8);c[7015]=n;return a|0}if((l|0)==(c[7017]|0)){e=(c[7014]|0)+j|0;if(e>>>0<o>>>0)break;d=e-o|0;if(d>>>0>15){c[q>>2]=p&1|o|2;c[a+((o|4)+-8)>>2]=d|1;c[a+(e+-8)>>2]=d;e=a+(e+-4)|0;c[e>>2]=c[e>>2]&-2;e=a+(o+-8)|0}else{c[q>>2]=p&1|e|2;e=a+(e+-4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[7014]=d;c[7017]=e;return a|0}if((f&2|0)==0?(n=(f&-8)+j|0,n>>>0>=o>>>0):0){m=n-o|0;b=f>>>3;do if(f>>>0>=256){h=c[a+(j+16)>>2]|0;f=c[a+g>>2]|0;do if((f|0)==(l|0)){e=a+(j+12)|0;d=c[e>>2]|0;if(!d){e=a+(j+8)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;b=c[f>>2]|0;if(b){d=b;e=f;continue}f=d+16|0;b=c[f>>2]|0;if(!b)break;else{d=b;e=f}}if(e>>>0<i>>>0)xa();else{c[e>>2]=0;k=d;break}}else{b=c[a+j>>2]|0;if(b>>>0<i>>>0)xa();d=b+12|0;if((c[d>>2]|0)!=(l|0))xa();e=f+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=f;c[e>>2]=b;k=f;break}else xa()}while(0);if(h){d=c[a+(j+20)>>2]|0;e=28352+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[7013]=c[7013]&~(1<<d);break}}else{if(h>>>0<(c[7016]|0)>>>0)xa();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[7016]|0;if(k>>>0<e>>>0)xa();c[k+24>>2]=h;d=c[a+(j+8)>>2]|0;do if(d)if(d>>>0<e>>>0)xa();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+12)>>2]|0;if(d)if(d>>>0<(c[7016]|0)>>>0)xa();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+j>>2]|0;e=c[a+g>>2]|0;d=28088+(b<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0<i>>>0)xa();if((c[f+12>>2]|0)!=(l|0))xa()}if((e|0)==(f|0)){c[7012]=c[7012]&~(1<<b);break}if((e|0)!=(d|0)){if(e>>>0<i>>>0)xa();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else xa()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(m>>>0<16){c[q>>2]=n|p&1|2;q=a+((n|4)+-8)|0;c[q>>2]=c[q>>2]|1;return a|0}else{c[q>>2]=p&1|o|2;c[a+((o|4)+-8)>>2]=m|3;q=a+((n|4)+-8)|0;c[q>>2]=c[q>>2]|1;fd(a+(o+-8)|0,m);return a|0}}}while(0);d=cd(b)|0;if(!d){a=0;return a|0}q=c[q>>2]|0;q=(q&-8)-((q&3|0)==0?8:4)|0;md(d|0,a|0,(q>>>0<b>>>0?q:b)|0)|0;dd(a);a=d;return a|0}function fd(a,b){a=a|0;b=b|0;var 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,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[7016]|0;if(n>>>0<j>>>0)xa();if((n|0)==(c[7017]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[7014]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=28088+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0<j>>>0)xa();if((c[f+12>>2]|0)!=(n|0))xa()}if((e|0)==(f|0)){c[7012]=c[7012]&~(1<<g);t=n;h=m;break}if((e|0)!=(d|0)){if(e>>>0<j>>>0)xa();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else xa()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){e=16-k|0;f=a+(e+4)|0;d=c[f>>2]|0;if(!d){e=a+e|0;d=c[e>>2]|0;if(!d){l=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0<j>>>0)xa();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0<j>>>0)xa();d=g+12|0;if((c[d>>2]|0)!=(n|0))xa();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else xa()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=28352+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[7013]=c[7013]&~(1<<d);t=n;h=m;break}}else{if(i>>>0<(c[7016]|0)>>>0)xa();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[7016]|0;if(l>>>0<f>>>0)xa();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0<f>>>0)xa();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[7016]|0)>>>0)xa();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[7016]|0;if(q>>>0<j>>>0)xa();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[7018]|0)){s=(c[7015]|0)+h|0;c[7015]=s;c[7018]=t;c[t+4>>2]=s|1;if((t|0)!=(c[7017]|0))return;c[7017]=0;c[7014]=0;return}if((q|0)==(c[7017]|0)){s=(c[7014]|0)+h|0;c[7014]=s;c[7017]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0<j>>>0)xa();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0<j>>>0)xa();d=g+12|0;if((c[d>>2]|0)!=(q|0))xa();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else xa()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=28352+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[7013]=c[7013]&~(1<<d);break}}else{if(i>>>0<(c[7016]|0)>>>0)xa();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[7016]|0;if(p>>>0<e>>>0)xa();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0<e>>>0)xa();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[7016]|0)>>>0)xa();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=28088+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0<j>>>0)xa();if((c[f+12>>2]|0)!=(q|0))xa()}if((e|0)==(f|0)){c[7012]=c[7012]&~(1<<g);break}if((e|0)!=(d|0)){if(e>>>0<j>>>0)xa();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else xa()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[7017]|0)){c[7014]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=28088+(e<<2)|0;f=c[7012]|0;d=1<<d;if(f&d){d=28088+(e+2<<2)|0;e=c[d>>2]|0;if(e>>>0<(c[7016]|0)>>>0)xa();else{r=d;s=e}}else{c[7012]=f|d;r=28088+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<<r;q=(s+520192|0)>>>16&4;s=s<<q;g=(s+245760|0)>>>16&2;g=14-(q|r|g)+(s<<g>>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=28352+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[7013]|0;f=1<<g;if(!(e&f)){c[7013]=e|f;c[d>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}f=c[d>>2]|0;a:do if((c[f+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=f+16+(g>>>31<<2)|0;d=c[e>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(h|0)){f=d;break a}else{g=g<<1;f=d}}if(e>>>0<(c[7016]|0)>>>0)xa();c[e>>2]=t;c[t+24>>2]=f;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);d=f+8|0;e=c[d>>2]|0;s=c[7016]|0;if(!(e>>>0>=s>>>0&f>>>0>=s>>>0))xa();c[e+12>>2]=t;c[d>>2]=t;c[t+8>>2]=e;c[t+12>>2]=f;c[t+24>>2]=0;return}function gd(){}function hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function id(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function jd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function kd(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function ld(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function md(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return ua(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function nd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else md(b,c,d)|0;return b|0}function od(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function pd(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function rd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=od(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return od((wd(h,g,od(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function sd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=od(h^a,g^b,h,g)|0;b=C;wd(a,b,od(l^d,k^e,l,k)|0,C,j)|0;e=od(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function td(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=qd(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function ud(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wd(a,b,c,d,0)|0}function vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;wd(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function wd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=pd(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((pd(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=jd(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;od(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=od(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (C=o,p)|0}function xd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Ba[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function yd(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Ca[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function zd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(0);return 0}function Ad(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ba(1)}
// EMSCRIPTEN_END_FUNCS
var Ba=[zd,Vc,Xc,Yc,Zc,_c,zd,zd];var Ca=[Ad,Cc];return{_speex_resampler_destroy:Qc,_free:dd,_opus_encode_float:Ec,_speex_resampler_init:Pc,_memmove:nd,_bitshift64Ashr:kd,_memset:hd,_speex_resampler_process_interleaved_float:Sc,_malloc:cd,_i64Add:jd,_opus_encoder_create:Bc,_memcpy:md,_bitshift64Lshr:ld,_opus_encoder_ctl:Fc,_bitshift64Shl:id,runPostSets:gd,stackAlloc:Da,stackSave:Ea,stackRestore:Fa,establishStackSpace:Ga,setThrew:Ha,setTempRet0:Ka,getTempRet0:La,dynCall_iiiiiii:xd,dynCall_viiiiiii:yd}})
// EMSCRIPTEN_END_ASM
(d.la,d.ma,buffer);d._speex_resampler_destroy=X._speex_resampler_destroy;var P=d._free=X._free;d.runPostSets=X.runPostSets;
var qb=d._opus_encode_float=X._opus_encode_float,rb=d._speex_resampler_init=X._speex_resampler_init,nb=d._memmove=X._memmove,kb=d._bitshift64Ashr=X._bitshift64Ashr,fb=d._memset=X._memset,sb=d._speex_resampler_process_interleaved_float=X._speex_resampler_process_interleaved_float,K=d._malloc=X._malloc,hb=d._i64Add=X._i64Add,tb=d._opus_encoder_create=X._opus_encoder_create,mb=d._memcpy=X._memcpy,lb=d._bitshift64Lshr=X._bitshift64Lshr,ub=d._opus_encoder_ctl=X._opus_encoder_ctl,gb=d._bitshift64Shl=X._bitshift64Shl;
d.dynCall_iiiiiii=X.dynCall_iiiiiii;d.dynCall_viiiiiii=X.dynCall_viiiiiii;w.H=X.stackAlloc;w.I=X.stackSave;w.r=X.stackRestore;w.Ha=X.establishStackSpace;w.Ba=X.setTempRet0;w.sa=X.getTempRet0;function t(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}t.prototype=Error();t.prototype.constructor=t;var vb=null,V=function wb(){d.calledRun||xb();d.calledRun||(V=wb)};
d.callMain=d.Fa=function(a){function b(){for(var a=0;3>a;a++)e.push(0)}assert(0==U,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(0==Na.length,"cannot call main when preRun functions remain to be called");a=a||[];N||(N=!0,R(Oa));var c=a.length+1,e=[J(Ua(d.thisProgram),"i8",0)];b();for(var f=0;f<c-1;f+=1)e.push(J(Ua(a[f]),"i8",0)),b();e.push(0);e=J(e,"i32",0);try{var h=d._main(c,e,0);yb(h,!0)}catch(k){if(!(k instanceof t))if("SimulateInfiniteLoop"==k)d.noExitRuntime=
!0;else throw k&&"object"===typeof k&&k.stack&&d.W("exception thrown: "+[k,k.stack]),k;}finally{}};
function xb(a){function b(){if(!d.calledRun&&(d.calledRun=!0,!ia)){N||(N=!0,R(Oa));R(Pa);if(d.onRuntimeInitialized)d.onRuntimeInitialized();d._main&&zb&&d.callMain(a);if(d.postRun)for("function"==typeof d.postRun&&(d.postRun=[d.postRun]);d.postRun.length;)Ta(d.postRun.shift());R(Ra)}}a=a||d.arguments;null===vb&&(vb=Date.now());if(!(0<U)){if(d.preRun)for("function"==typeof d.preRun&&(d.preRun=[d.preRun]);d.preRun.length;)Sa(d.preRun.shift());R(Na);0<U||d.calledRun||(d.setStatus?(d.setStatus("Running..."),
setTimeout(function(){setTimeout(function(){d.setStatus("")},1);b()},1)):b())}}d.run=d.run=xb;function yb(a,b){if(!b||!d.noExitRuntime){if(!d.noExitRuntime&&(ia=!0,u=void 0,R(Qa),d.onExit))d.onExit(a);ca?(process.stdout.once("drain",function(){process.exit(a)}),console.log(" "),setTimeout(function(){process.exit(a)},500)):da&&"function"===typeof quit&&quit(a);throw new t(a);}}d.exit=d.exit=yb;var Ab=[];
function A(a){void 0!==a?(d.print(a),d.W(a),a=JSON.stringify(a)):a="";ia=!0;var b="abort("+a+") at "+Ca()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";Ab&&Ab.forEach(function(c){b=c(b,a)});throw b;}d.abort=d.abort=A;if(d.preInit)for("function"==typeof d.preInit&&(d.preInit=[d.preInit]);0<d.preInit.length;)d.preInit.pop()();var zb=!0;d.noInitialRun&&(zb=!1);xb();"use strict";var Y;
self.onmessage=function(a){switch(a.data.command){case "encode":Y&&Y.encode(a.data.buffers);break;case "done":if(Y){a=Y;for(var b=[],c=0;c<a.e;++c)b.push(new Float32Array(a.M-a.o/a.e));a.encode(b);a.p+=4;Z(a);self.close()}break;case "init":Y=new Bb(a.data)}};
function Bb(a){this.e=a.numberOfChannels||1;this.V=a.originalSampleRate;this.S=a.encoderSampleRate||48E3;this.ua=a.maxBuffersPerPage||40;this.na=a.encoderApplication||2049;this.P=a.encoderFrameSize||20;this.M=a.bufferLength||4096;this.ya=a.resampleQuality||3;this.Z=a.bitRate;this.C=this.va=0;this.F=new Uint8Array(65025);this.n=0;this.G=new Uint8Array(255);this.N=this.g=0;this.Aa=Math.floor(Math.random()*Math.pow(2,32));Cb(this);Db(this);Eb(this);Fb(this);Gb(this);1===this.e?this.fa=function(a){return a[0]}:
this.ga=new Float32Array(this.M*this.e)}
Bb.prototype.encode=function(a){a=this.fa(a);for(var b=0;b<a.length;){var c=Math.min(this.D-this.o,a.length-b);this.xa.set(a.subarray(b,b+c),this.o);b+=c;this.o+=c;if(this.o===this.D){sb(this.za,this.X,this.ia,this.ba,this.da);for(var c=qb(this.aa,this.ba,this.T,this.R,this.Q),e=0;0<=c;){255===this.g&&(Z(this),this.p=1);var f=Math.min(c,255);this.G[this.g++]=f;this.F.set(this.pa.subarray(e,e+f),this.n);this.n+=f;e+=f;c-=255}this.C+=48*this.P;255===this.g&&(Z(this),this.p=0);this.o=0}}this.N++;this.N>=
this.ua&&Z(this)};function Gb(a){var b=new DataView(a.F.buffer);b.setUint32(0,1937076303,!0);b.setUint32(4,1936154964,!0);b.setUint32(8,8,!0);b.setUint32(12,1868784978,!0);b.setUint32(16,1919247474,!0);b.setUint32(20,0,!0);a.g=1;a.n=a.G[0]=24;a.p=0;Z(a)}
function Fb(a){var b=new DataView(a.F.buffer);b.setUint32(0,1937076303,!0);b.setUint32(4,1684104520,!0);b.setUint8(8,1,!0);b.setUint8(9,a.e,!0);b.setUint16(10,3840,!0);b.setUint32(12,a.V,!0);b.setUint16(16,0,!0);b.setUint8(18,0,!0);a.g=1;a.n=a.G[0]=19;a.p=2;Z(a)}
function Z(a){var b=a.ta===a.C?-1:a.C,c=new ArrayBuffer(27+a.g+a.n),e=new DataView(c),c=new Uint8Array(c);e.setUint32(0,1399285583,!0);e.setUint8(4,0,!0);e.setUint8(5,a.p,!0);e.setUint32(6,b,!0);(4294967296<b||0>b)&&e.setUint32(10,Math.floor(b/4294967296),!0);e.setUint32(14,a.Aa,!0);e.setUint32(18,a.va++,!0);e.setUint8(26,a.g,!0);c.set(a.G.subarray(0,a.g),27);c.set(a.F.subarray(0,a.n),27+a.g);for(var f=0,h=0;h<c.length;h++)f=f<<8^a.$[f>>>24&255^c[h]];e.setUint32(22,f>>>0,!0);self.postMessage(c,[c.buffer]);
a.g=0;a.n=0;a.N=0;0<b&&(a.ta=b)}function Cb(a){a.$=[];for(var b=0;256>b;b++){for(var c=b<<24,e=0;8>e;e++)c=0!=(c&2147483648)?c<<1^79764919:c<<1;a.$[b]=c&4294967295}}function Db(a){var b=K(4);a.aa=tb(a.S,a.e,a.na,b);P(b);a.Z&&(b=K(4),F[b>>2]=a.Z,ub(a.aa,4002,b),P(b));a.T=a.S*a.P/1E3;a.da=K(4);F[a.da>>2]=a.T;a.oa=a.T*a.e;a.ba=K(4*a.oa);a.Q=4E3;a.R=K(a.Q);a.pa=L.subarray(a.R,a.R+a.Q)}
function Eb(a){var b=K(4);a.za=rb(a.e,a.V,a.S,a.ya,b);P(b);a.o=0;a.ha=a.V*a.P/1E3;a.ia=K(4);F[a.ia>>2]=a.ha;a.D=a.ha*a.e;a.X=K(4*a.D);a.xa=G.subarray(a.X>>2,(a.X>>2)+a.D)}Bb.prototype.fa=function(a){for(var b=0;b<this.M;b++)for(var c=0;c<this.e;c++)this.ga[b*this.e+c]=a[c][b];return this.ga};