73849 lines
1.3 MiB
73849 lines
1.3 MiB
// The Module object: Our interface to the outside world. We import
|
|
// and export values on it, and do the work to get that through
|
|
// closure compiler if necessary. There are various ways Module can be used:
|
|
// 1. Not defined. We create it here
|
|
// 2. A function parameter, function(Module) { ..generated code.. }
|
|
// 3. pre-run appended it, var Module = {}; ..generated code..
|
|
// 4. External script tag defines var Module.
|
|
// We need to do an eval in order to handle the closure compiler
|
|
// case, where this code here is minified but Module was defined
|
|
// elsewhere (e.g. case 4 above). We also need to check if Module
|
|
// already exists (e.g. case 3 above).
|
|
// Note that if you want to run closure, and also to use Module
|
|
// after the generated code, you will need to define var Module = {};
|
|
// before the code. Then that object will be used in the code, and you
|
|
// can continue to use Module afterwards as well.
|
|
var Module;
|
|
if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {};
|
|
|
|
// Sometimes an existing Module object exists with properties
|
|
// meant to overwrite the default module functionality. Here
|
|
// we collect those properties and reapply _after_ we configure
|
|
// the current environment's defaults to avoid having to be so
|
|
// defensive during initialization.
|
|
var moduleOverrides = {};
|
|
for (var key in Module) {
|
|
if (Module.hasOwnProperty(key)) {
|
|
moduleOverrides[key] = Module[key];
|
|
}
|
|
}
|
|
|
|
// The environment setup code below is customized to use Module.
|
|
// *** Environment setup code ***
|
|
var ENVIRONMENT_IS_NODE =
|
|
typeof process === 'object' && typeof require === 'function';
|
|
var ENVIRONMENT_IS_WEB = typeof window === 'object';
|
|
var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
|
|
var ENVIRONMENT_IS_SHELL =
|
|
!ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
|
|
|
|
if (ENVIRONMENT_IS_NODE) {
|
|
// Expose functionality in the same simple way that the shells work
|
|
// Note that we pollute the global namespace here, otherwise we break in node
|
|
if (!Module['print'])
|
|
Module['print'] = function print(x) {
|
|
process['stdout'].write(x + '\n');
|
|
};
|
|
if (!Module['printErr'])
|
|
Module['printErr'] = function printErr(x) {
|
|
process['stderr'].write(x + '\n');
|
|
};
|
|
|
|
var nodeFS = require('fs');
|
|
var nodePath = require('path');
|
|
|
|
Module['read'] = function read(filename, binary) {
|
|
filename = nodePath['normalize'](filename);
|
|
var ret = nodeFS['readFileSync'](filename);
|
|
// The path is absolute if the normalized version is the same as the resolved.
|
|
if (!ret && filename != nodePath['resolve'](filename)) {
|
|
filename = path.join(__dirname, '..', 'src', filename);
|
|
ret = nodeFS['readFileSync'](filename);
|
|
}
|
|
if (ret && !binary) ret = ret.toString();
|
|
return ret;
|
|
};
|
|
|
|
Module['readBinary'] = function readBinary(filename) {
|
|
return Module['read'](filename, true);
|
|
};
|
|
|
|
Module['load'] = function load(f) {
|
|
globalEval(read(f));
|
|
};
|
|
|
|
if (process['argv'].length > 1) {
|
|
Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/');
|
|
} else {
|
|
Module['thisProgram'] = 'unknown-program';
|
|
}
|
|
|
|
Module['arguments'] = process['argv'].slice(2);
|
|
|
|
if (typeof module !== 'undefined') {
|
|
module['exports'] = Module;
|
|
}
|
|
|
|
process['on']('uncaughtException', function(ex) {
|
|
// suppress ExitStatus exceptions from showing an error
|
|
if (!(ex instanceof ExitStatus)) {
|
|
throw ex;
|
|
}
|
|
});
|
|
} else if (ENVIRONMENT_IS_SHELL) {
|
|
if (!Module['print']) Module['print'] = print;
|
|
if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm
|
|
|
|
if (typeof read != 'undefined') {
|
|
Module['read'] = read;
|
|
} else {
|
|
Module['read'] = function read() {
|
|
throw 'no read() available (jsc?)';
|
|
};
|
|
}
|
|
|
|
Module['readBinary'] = function readBinary(f) {
|
|
if (typeof readbuffer === 'function') {
|
|
return new Uint8Array(readbuffer(f));
|
|
}
|
|
var data = read(f, 'binary');
|
|
assert(typeof data === 'object');
|
|
return data;
|
|
};
|
|
|
|
if (typeof scriptArgs != 'undefined') {
|
|
Module['arguments'] = scriptArgs;
|
|
} else if (typeof arguments != 'undefined') {
|
|
Module['arguments'] = arguments;
|
|
}
|
|
|
|
this['Module'] = Module;
|
|
} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
|
|
Module['read'] = function read(url) {
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.open('GET', url, false);
|
|
xhr.send(null);
|
|
return xhr.responseText;
|
|
};
|
|
|
|
if (typeof arguments != 'undefined') {
|
|
Module['arguments'] = arguments;
|
|
}
|
|
|
|
if (typeof console !== 'undefined') {
|
|
if (!Module['print'])
|
|
Module['print'] = function print(x) {
|
|
console.log(x);
|
|
};
|
|
if (!Module['printErr'])
|
|
Module['printErr'] = function printErr(x) {
|
|
console.log(x);
|
|
};
|
|
} else {
|
|
// Probably a worker, and without console.log. We can do very little here...
|
|
var TRY_USE_DUMP = false;
|
|
if (!Module['print'])
|
|
Module['print'] =
|
|
TRY_USE_DUMP && typeof dump !== 'undefined'
|
|
? function(x) {
|
|
dump(x);
|
|
}
|
|
: function(x) {
|
|
// self.postMessage(x); // enable this if you want stdout to be sent as messages
|
|
};
|
|
}
|
|
|
|
if (ENVIRONMENT_IS_WEB) {
|
|
window['Module'] = Module;
|
|
} else {
|
|
Module['load'] = importScripts;
|
|
}
|
|
} else {
|
|
// Unreachable because SHELL is dependant on the others
|
|
throw 'Unknown runtime environment. Where are we?';
|
|
}
|
|
|
|
function globalEval(x) {
|
|
eval.call(null, x);
|
|
}
|
|
if (!Module['load'] && Module['read']) {
|
|
Module['load'] = function load(f) {
|
|
globalEval(Module['read'](f));
|
|
};
|
|
}
|
|
if (!Module['print']) {
|
|
Module['print'] = function() {};
|
|
}
|
|
if (!Module['printErr']) {
|
|
Module['printErr'] = Module['print'];
|
|
}
|
|
if (!Module['arguments']) {
|
|
Module['arguments'] = [];
|
|
}
|
|
if (!Module['thisProgram']) {
|
|
Module['thisProgram'] = './this.program';
|
|
}
|
|
|
|
// *** Environment setup code ***
|
|
|
|
// Closure helpers
|
|
Module.print = Module['print'];
|
|
Module.printErr = Module['printErr'];
|
|
|
|
// Callbacks
|
|
Module['preRun'] = [];
|
|
Module['postRun'] = [];
|
|
|
|
// Merge back in the overrides
|
|
for (var key in moduleOverrides) {
|
|
if (moduleOverrides.hasOwnProperty(key)) {
|
|
Module[key] = moduleOverrides[key];
|
|
}
|
|
}
|
|
|
|
// === Preamble library stuff ===
|
|
|
|
// Documentation for the public APIs defined in this file must be updated in:
|
|
// site/source/docs/api_reference/preamble.js.rst
|
|
// A prebuilt local version of the documentation is available at:
|
|
// site/build/text/docs/api_reference/preamble.js.txt
|
|
// You can also build docs locally as HTML or other formats in site/
|
|
// An online HTML version (which may be of a different version of Emscripten)
|
|
// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
|
|
|
|
//========================================
|
|
// Runtime code shared with compiler
|
|
//========================================
|
|
|
|
var Runtime = {
|
|
setTempRet0: function(value) {
|
|
tempRet0 = value;
|
|
},
|
|
getTempRet0: function() {
|
|
return tempRet0;
|
|
},
|
|
stackSave: function() {
|
|
return STACKTOP;
|
|
},
|
|
stackRestore: function(stackTop) {
|
|
STACKTOP = stackTop;
|
|
},
|
|
getNativeTypeSize: function(type) {
|
|
switch (type) {
|
|
case 'i1':
|
|
case 'i8':
|
|
return 1;
|
|
case 'i16':
|
|
return 2;
|
|
case 'i32':
|
|
return 4;
|
|
case 'i64':
|
|
return 8;
|
|
case 'float':
|
|
return 4;
|
|
case 'double':
|
|
return 8;
|
|
default: {
|
|
if (type[type.length - 1] === '*') {
|
|
return Runtime.QUANTUM_SIZE; // A pointer
|
|
} else if (type[0] === 'i') {
|
|
var bits = parseInt(type.substr(1));
|
|
assert(bits % 8 === 0);
|
|
return bits / 8;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
},
|
|
getNativeFieldSize: function(type) {
|
|
return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE);
|
|
},
|
|
STACK_ALIGN: 16,
|
|
getAlignSize: function(type, size, vararg) {
|
|
// we align i64s and doubles on 64-bit boundaries, unlike x86
|
|
if (!vararg && (type == 'i64' || type == 'double')) return 8;
|
|
if (!type) return Math.min(size, 8); // align structures internally to 64 bits
|
|
return Math.min(
|
|
size || (type ? Runtime.getNativeFieldSize(type) : 0),
|
|
Runtime.QUANTUM_SIZE
|
|
);
|
|
},
|
|
dynCall: function(sig, ptr, args) {
|
|
if (args && args.length) {
|
|
if (!args.splice) args = Array.prototype.slice.call(args);
|
|
args.splice(0, 0, ptr);
|
|
return Module['dynCall_' + sig].apply(null, args);
|
|
} else {
|
|
return Module['dynCall_' + sig].call(null, ptr);
|
|
}
|
|
},
|
|
functionPointers: [],
|
|
addFunction: function(func) {
|
|
for (var i = 0; i < Runtime.functionPointers.length; i++) {
|
|
if (!Runtime.functionPointers[i]) {
|
|
Runtime.functionPointers[i] = func;
|
|
return 2 * (1 + i);
|
|
}
|
|
}
|
|
throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.';
|
|
},
|
|
removeFunction: function(index) {
|
|
Runtime.functionPointers[(index - 2) / 2] = null;
|
|
},
|
|
getAsmConst: function(code, numArgs) {
|
|
// code is a constant string on the heap, so we can cache these
|
|
if (!Runtime.asmConstCache) Runtime.asmConstCache = {};
|
|
var func = Runtime.asmConstCache[code];
|
|
if (func) return func;
|
|
var args = [];
|
|
for (var i = 0; i < numArgs; i++) {
|
|
args.push(String.fromCharCode(36) + i); // $0, $1 etc
|
|
}
|
|
var source = Pointer_stringify(code);
|
|
if (source[0] === '"') {
|
|
// tolerate EM_ASM("..code..") even though EM_ASM(..code..) is correct
|
|
if (source.indexOf('"', 1) === source.length - 1) {
|
|
source = source.substr(1, source.length - 2);
|
|
} else {
|
|
// something invalid happened, e.g. EM_ASM("..code($0)..", input)
|
|
abort(
|
|
'invalid EM_ASM input |' +
|
|
source +
|
|
'|. Please use EM_ASM(..code..) (no quotes) or EM_ASM({ ..code($0).. }, input) (to input values)'
|
|
);
|
|
}
|
|
}
|
|
try {
|
|
// Module is the only 'upvar', which we provide directly. We also provide FS for legacy support.
|
|
var evalled = eval(
|
|
'(function(Module, FS) { return function(' +
|
|
args.join(',') +
|
|
'){ ' +
|
|
source +
|
|
' } })'
|
|
)(Module, typeof FS !== 'undefined' ? FS : null);
|
|
} catch (e) {
|
|
Module.printErr(
|
|
'error in executing inline EM_ASM code: ' +
|
|
e +
|
|
' on: \n\n' +
|
|
source +
|
|
'\n\nwith args |' +
|
|
args +
|
|
'| (make sure to use the right one out of EM_ASM, EM_ASM_ARGS, etc.)'
|
|
);
|
|
throw e;
|
|
}
|
|
return (Runtime.asmConstCache[code] = evalled);
|
|
},
|
|
warnOnce: function(text) {
|
|
if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {};
|
|
if (!Runtime.warnOnce.shown[text]) {
|
|
Runtime.warnOnce.shown[text] = 1;
|
|
Module.printErr(text);
|
|
}
|
|
},
|
|
funcWrappers: {},
|
|
getFuncWrapper: function(func, sig) {
|
|
assert(sig);
|
|
if (!Runtime.funcWrappers[sig]) {
|
|
Runtime.funcWrappers[sig] = {};
|
|
}
|
|
var sigCache = Runtime.funcWrappers[sig];
|
|
if (!sigCache[func]) {
|
|
sigCache[func] = function dynCall_wrapper() {
|
|
return Runtime.dynCall(sig, func, arguments);
|
|
};
|
|
}
|
|
return sigCache[func];
|
|
},
|
|
UTF8Processor: function() {
|
|
var buffer = [];
|
|
var needed = 0;
|
|
this.processCChar = function(code) {
|
|
code = code & 0xff;
|
|
|
|
if (buffer.length == 0) {
|
|
if ((code & 0x80) == 0x00) {
|
|
// 0xxxxxxx
|
|
return String.fromCharCode(code);
|
|
}
|
|
buffer.push(code);
|
|
if ((code & 0xe0) == 0xc0) {
|
|
// 110xxxxx
|
|
needed = 1;
|
|
} else if ((code & 0xf0) == 0xe0) {
|
|
// 1110xxxx
|
|
needed = 2;
|
|
} else {
|
|
// 11110xxx
|
|
needed = 3;
|
|
}
|
|
return '';
|
|
}
|
|
|
|
if (needed) {
|
|
buffer.push(code);
|
|
needed--;
|
|
if (needed > 0) return '';
|
|
}
|
|
|
|
var c1 = buffer[0];
|
|
var c2 = buffer[1];
|
|
var c3 = buffer[2];
|
|
var c4 = buffer[3];
|
|
var ret;
|
|
if (buffer.length == 2) {
|
|
ret = String.fromCharCode(((c1 & 0x1f) << 6) | (c2 & 0x3f));
|
|
} else if (buffer.length == 3) {
|
|
ret = String.fromCharCode(
|
|
((c1 & 0x0f) << 12) | ((c2 & 0x3f) << 6) | (c3 & 0x3f)
|
|
);
|
|
} else {
|
|
// http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
|
|
var codePoint =
|
|
((c1 & 0x07) << 18) |
|
|
((c2 & 0x3f) << 12) |
|
|
((c3 & 0x3f) << 6) |
|
|
(c4 & 0x3f);
|
|
ret = String.fromCharCode(
|
|
(((codePoint - 0x10000) / 0x400) | 0) + 0xd800,
|
|
(codePoint - 0x10000) % 0x400 + 0xdc00
|
|
);
|
|
}
|
|
buffer.length = 0;
|
|
return ret;
|
|
};
|
|
this.processJSString = function processJSString(string) {
|
|
/* TODO: use TextEncoder when present,
|
|
var encoder = new TextEncoder();
|
|
encoder['encoding'] = "utf-8";
|
|
var utf8Array = encoder['encode'](aMsg.data);
|
|
*/
|
|
string = unescape(encodeURIComponent(string));
|
|
var ret = [];
|
|
for (var i = 0; i < string.length; i++) {
|
|
ret.push(string.charCodeAt(i));
|
|
}
|
|
return ret;
|
|
};
|
|
},
|
|
getCompilerSetting: function(name) {
|
|
throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work';
|
|
},
|
|
stackAlloc: function(size) {
|
|
var ret = STACKTOP;
|
|
STACKTOP = (STACKTOP + size) | 0;
|
|
STACKTOP = (STACKTOP + 15) & -16;
|
|
return ret;
|
|
},
|
|
staticAlloc: function(size) {
|
|
var ret = STATICTOP;
|
|
STATICTOP = (STATICTOP + size) | 0;
|
|
STATICTOP = (STATICTOP + 15) & -16;
|
|
return ret;
|
|
},
|
|
dynamicAlloc: function(size) {
|
|
var ret = DYNAMICTOP;
|
|
DYNAMICTOP = (DYNAMICTOP + size) | 0;
|
|
DYNAMICTOP = (DYNAMICTOP + 15) & -16;
|
|
if (DYNAMICTOP >= TOTAL_MEMORY) enlargeMemory();
|
|
return ret;
|
|
},
|
|
alignMemory: function(size, quantum) {
|
|
var ret = (size =
|
|
Math.ceil(size / (quantum ? quantum : 16)) * (quantum ? quantum : 16));
|
|
return ret;
|
|
},
|
|
makeBigInt: function(low, high, unsigned) {
|
|
var ret = unsigned
|
|
? +(low >>> 0) + +(high >>> 0) * 4294967296.0
|
|
: +(low >>> 0) + +(high | 0) * 4294967296.0;
|
|
return ret;
|
|
},
|
|
GLOBAL_BASE: 8,
|
|
QUANTUM_SIZE: 4,
|
|
__dummy__: 0,
|
|
};
|
|
|
|
Module['Runtime'] = Runtime;
|
|
|
|
//========================================
|
|
// Runtime essentials
|
|
//========================================
|
|
|
|
var __THREW__ = 0; // Used in checking for thrown exceptions.
|
|
|
|
var ABORT = false; // whether we are quitting the application. no code should run after this. set in exit() and abort()
|
|
var EXITSTATUS = 0;
|
|
|
|
var undef = 0;
|
|
// tempInt is used for 32-bit signed values or smaller. tempBigInt is used
|
|
// for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt
|
|
var tempValue,
|
|
tempInt,
|
|
tempBigInt,
|
|
tempInt2,
|
|
tempBigInt2,
|
|
tempPair,
|
|
tempBigIntI,
|
|
tempBigIntR,
|
|
tempBigIntS,
|
|
tempBigIntP,
|
|
tempBigIntD,
|
|
tempDouble,
|
|
tempFloat;
|
|
var tempI64, tempI64b;
|
|
var tempRet0,
|
|
tempRet1,
|
|
tempRet2,
|
|
tempRet3,
|
|
tempRet4,
|
|
tempRet5,
|
|
tempRet6,
|
|
tempRet7,
|
|
tempRet8,
|
|
tempRet9;
|
|
|
|
function assert(condition, text) {
|
|
if (!condition) {
|
|
abort('Assertion failed: ' + text);
|
|
}
|
|
}
|
|
|
|
var globalScope = this;
|
|
|
|
// Returns the C function with a specified identifier (for C++, you need to do manual name mangling)
|
|
function getCFunc(ident) {
|
|
var func = Module['_' + ident]; // closure exported function
|
|
if (!func) {
|
|
try {
|
|
func = eval('_' + ident); // explicit lookup
|
|
} catch (e) {}
|
|
}
|
|
assert(
|
|
func,
|
|
'Cannot call unknown function ' +
|
|
ident +
|
|
' (perhaps LLVM optimizations or closure removed it?)'
|
|
);
|
|
return func;
|
|
}
|
|
|
|
var cwrap, ccall;
|
|
(function() {
|
|
var JSfuncs = {
|
|
// Helpers for cwrap -- it can't refer to Runtime directly because it might
|
|
// be renamed by closure, instead it calls JSfuncs['stackSave'].body to find
|
|
// out what the minified function name is.
|
|
stackSave: function() {
|
|
Runtime.stackSave();
|
|
},
|
|
stackRestore: function() {
|
|
Runtime.stackRestore();
|
|
},
|
|
// type conversion from js to c
|
|
arrayToC: function(arr) {
|
|
var ret = Runtime.stackAlloc(arr.length);
|
|
writeArrayToMemory(arr, ret);
|
|
return ret;
|
|
},
|
|
stringToC: function(str) {
|
|
var ret = 0;
|
|
if (str !== null && str !== undefined && str !== 0) {
|
|
// null string
|
|
// at most 4 bytes per UTF-8 code point, +1 for the trailing '\0'
|
|
ret = Runtime.stackAlloc((str.length << 2) + 1);
|
|
writeStringToMemory(str, ret);
|
|
}
|
|
return ret;
|
|
},
|
|
};
|
|
// For fast lookup of conversion functions
|
|
var toC = { string: JSfuncs['stringToC'], array: JSfuncs['arrayToC'] };
|
|
|
|
// C calling interface.
|
|
ccall = function ccallFunc(ident, returnType, argTypes, args) {
|
|
var func = getCFunc(ident);
|
|
var cArgs = [];
|
|
var stack = 0;
|
|
if (args) {
|
|
for (var i = 0; i < args.length; i++) {
|
|
var converter = toC[argTypes[i]];
|
|
if (converter) {
|
|
if (stack === 0) stack = Runtime.stackSave();
|
|
cArgs[i] = converter(args[i]);
|
|
} else {
|
|
cArgs[i] = args[i];
|
|
}
|
|
}
|
|
}
|
|
var ret = func.apply(null, cArgs);
|
|
if (returnType === 'string') ret = Pointer_stringify(ret);
|
|
if (stack !== 0) Runtime.stackRestore(stack);
|
|
return ret;
|
|
};
|
|
|
|
var sourceRegex = /^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;
|
|
function parseJSFunc(jsfunc) {
|
|
// Match the body and the return value of a javascript function source
|
|
var parsed = jsfunc
|
|
.toString()
|
|
.match(sourceRegex)
|
|
.slice(1);
|
|
return { arguments: parsed[0], body: parsed[1], returnValue: parsed[2] };
|
|
}
|
|
var JSsource = {};
|
|
for (var fun in JSfuncs) {
|
|
if (JSfuncs.hasOwnProperty(fun)) {
|
|
// Elements of toCsource are arrays of three items:
|
|
// the code, and the return value
|
|
JSsource[fun] = parseJSFunc(JSfuncs[fun]);
|
|
}
|
|
}
|
|
|
|
cwrap = function cwrap(ident, returnType, argTypes) {
|
|
argTypes = argTypes || [];
|
|
var cfunc = getCFunc(ident);
|
|
// When the function takes numbers and returns a number, we can just return
|
|
// the original function
|
|
var numericArgs = argTypes.every(function(type) {
|
|
return type === 'number';
|
|
});
|
|
var numericRet = returnType !== 'string';
|
|
if (numericRet && numericArgs) {
|
|
return cfunc;
|
|
}
|
|
// Creation of the arguments list (["$1","$2",...,"$nargs"])
|
|
var argNames = argTypes.map(function(x, i) {
|
|
return '$' + i;
|
|
});
|
|
var funcstr = '(function(' + argNames.join(',') + ') {';
|
|
var nargs = argTypes.length;
|
|
if (!numericArgs) {
|
|
// Generate the code needed to convert the arguments from javascript
|
|
// values to pointers
|
|
funcstr += 'var stack = ' + JSsource['stackSave'].body + ';';
|
|
for (var i = 0; i < nargs; i++) {
|
|
var arg = argNames[i],
|
|
type = argTypes[i];
|
|
if (type === 'number') continue;
|
|
var convertCode = JSsource[type + 'ToC']; // [code, return]
|
|
funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';';
|
|
funcstr += convertCode.body + ';';
|
|
funcstr += arg + '=' + convertCode.returnValue + ';';
|
|
}
|
|
}
|
|
|
|
// When the code is compressed, the name of cfunc is not literally 'cfunc' anymore
|
|
var cfuncname = parseJSFunc(function() {
|
|
return cfunc;
|
|
}).returnValue;
|
|
// Call the function
|
|
funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');';
|
|
if (!numericRet) {
|
|
// Return type can only by 'string' or 'number'
|
|
// Convert the result to a string
|
|
var strgfy = parseJSFunc(function() {
|
|
return Pointer_stringify;
|
|
}).returnValue;
|
|
funcstr += 'ret = ' + strgfy + '(ret);';
|
|
}
|
|
if (!numericArgs) {
|
|
// If we had a stack, restore it
|
|
funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';';
|
|
}
|
|
funcstr += 'return ret})';
|
|
return eval(funcstr);
|
|
};
|
|
})();
|
|
Module['cwrap'] = cwrap;
|
|
Module['ccall'] = ccall;
|
|
|
|
function setValue(ptr, value, type, noSafe) {
|
|
type = type || 'i8';
|
|
if (type.charAt(type.length - 1) === '*') type = 'i32'; // pointers are 32-bit
|
|
switch (type) {
|
|
case 'i1':
|
|
HEAP8[ptr >> 0] = value;
|
|
break;
|
|
case 'i8':
|
|
HEAP8[ptr >> 0] = value;
|
|
break;
|
|
case 'i16':
|
|
HEAP16[ptr >> 1] = value;
|
|
break;
|
|
case 'i32':
|
|
HEAP32[ptr >> 2] = value;
|
|
break;
|
|
case 'i64':
|
|
(tempI64 = [
|
|
value >>> 0,
|
|
((tempDouble = value),
|
|
+Math_abs(tempDouble) >= 1.0
|
|
? tempDouble > 0.0
|
|
? (Math_min(+Math_floor(tempDouble / 4294967296.0), 4294967295.0) |
|
|
0) >>>
|
|
0
|
|
: ~~+Math_ceil(
|
|
(tempDouble - +(~~tempDouble >>> 0)) / 4294967296.0
|
|
) >>> 0
|
|
: 0),
|
|
]),
|
|
(HEAP32[ptr >> 2] = tempI64[0]),
|
|
(HEAP32[(ptr + 4) >> 2] = tempI64[1]);
|
|
break;
|
|
case 'float':
|
|
HEAPF32[ptr >> 2] = value;
|
|
break;
|
|
case 'double':
|
|
HEAPF64[ptr >> 3] = value;
|
|
break;
|
|
default:
|
|
abort('invalid type for setValue: ' + type);
|
|
}
|
|
}
|
|
Module['setValue'] = setValue;
|
|
|
|
function getValue(ptr, type, noSafe) {
|
|
type = type || 'i8';
|
|
if (type.charAt(type.length - 1) === '*') type = 'i32'; // pointers are 32-bit
|
|
switch (type) {
|
|
case 'i1':
|
|
return HEAP8[ptr >> 0];
|
|
case 'i8':
|
|
return HEAP8[ptr >> 0];
|
|
case 'i16':
|
|
return HEAP16[ptr >> 1];
|
|
case 'i32':
|
|
return HEAP32[ptr >> 2];
|
|
case 'i64':
|
|
return HEAP32[ptr >> 2];
|
|
case 'float':
|
|
return HEAPF32[ptr >> 2];
|
|
case 'double':
|
|
return HEAPF64[ptr >> 3];
|
|
default:
|
|
abort('invalid type for setValue: ' + type);
|
|
}
|
|
return null;
|
|
}
|
|
Module['getValue'] = getValue;
|
|
|
|
var ALLOC_NORMAL = 0; // Tries to use _malloc()
|
|
var ALLOC_STACK = 1; // Lives for the duration of the current function call
|
|
var ALLOC_STATIC = 2; // Cannot be freed
|
|
var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk
|
|
var ALLOC_NONE = 4; // Do not allocate
|
|
Module['ALLOC_NORMAL'] = ALLOC_NORMAL;
|
|
Module['ALLOC_STACK'] = ALLOC_STACK;
|
|
Module['ALLOC_STATIC'] = ALLOC_STATIC;
|
|
Module['ALLOC_DYNAMIC'] = ALLOC_DYNAMIC;
|
|
Module['ALLOC_NONE'] = ALLOC_NONE;
|
|
|
|
// allocate(): This is for internal use. You can use it yourself as well, but the interface
|
|
// is a little tricky (see docs right below). The reason is that it is optimized
|
|
// for multiple syntaxes to save space in generated code. So you should
|
|
// normally not use allocate(), and instead allocate memory using _malloc(),
|
|
// initialize it with setValue(), and so forth.
|
|
// @slab: An array of data, or a number. If a number, then the size of the block to allocate,
|
|
// in *bytes* (note that this is sometimes confusing: the next parameter does not
|
|
// affect this!)
|
|
// @types: Either an array of types, one for each byte (or 0 if no type at that position),
|
|
// or a single type which is used for the entire block. This only matters if there
|
|
// is initial data - if @slab is a number, then this does not matter at all and is
|
|
// ignored.
|
|
// @allocator: How to allocate memory, see ALLOC_*
|
|
function allocate(slab, types, allocator, ptr) {
|
|
var zeroinit, size;
|
|
if (typeof slab === 'number') {
|
|
zeroinit = true;
|
|
size = slab;
|
|
} else {
|
|
zeroinit = false;
|
|
size = slab.length;
|
|
}
|
|
|
|
var singleType = typeof types === 'string' ? types : null;
|
|
|
|
var ret;
|
|
if (allocator == ALLOC_NONE) {
|
|
ret = ptr;
|
|
} else {
|
|
ret = [
|
|
_malloc,
|
|
Runtime.stackAlloc,
|
|
Runtime.staticAlloc,
|
|
Runtime.dynamicAlloc,
|
|
][allocator === undefined ? ALLOC_STATIC : allocator](
|
|
Math.max(size, singleType ? 1 : types.length)
|
|
);
|
|
}
|
|
|
|
if (zeroinit) {
|
|
var ptr = ret,
|
|
stop;
|
|
assert((ret & 3) == 0);
|
|
stop = ret + (size & ~3);
|
|
for (; ptr < stop; ptr += 4) {
|
|
HEAP32[ptr >> 2] = 0;
|
|
}
|
|
stop = ret + size;
|
|
while (ptr < stop) {
|
|
HEAP8[ptr++ >> 0] = 0;
|
|
}
|
|
return ret;
|
|
}
|
|
|
|
if (singleType === 'i8') {
|
|
if (slab.subarray || slab.slice) {
|
|
HEAPU8.set(slab, ret);
|
|
} else {
|
|
HEAPU8.set(new Uint8Array(slab), ret);
|
|
}
|
|
return ret;
|
|
}
|
|
|
|
var i = 0,
|
|
type,
|
|
typeSize,
|
|
previousType;
|
|
while (i < size) {
|
|
var curr = slab[i];
|
|
|
|
if (typeof curr === 'function') {
|
|
curr = Runtime.getFunctionIndex(curr);
|
|
}
|
|
|
|
type = singleType || types[i];
|
|
if (type === 0) {
|
|
i++;
|
|
continue;
|
|
}
|
|
|
|
if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later
|
|
|
|
setValue(ret + i, curr, type);
|
|
|
|
// no need to look up size unless type changes, so cache it
|
|
if (previousType !== type) {
|
|
typeSize = Runtime.getNativeTypeSize(type);
|
|
previousType = type;
|
|
}
|
|
i += typeSize;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
Module['allocate'] = allocate;
|
|
|
|
function Pointer_stringify(ptr, /* optional */ length) {
|
|
if (length === 0 || !ptr) return '';
|
|
// TODO: use TextDecoder
|
|
// Find the length, and check for UTF while doing so
|
|
var hasUtf = false;
|
|
var t;
|
|
var i = 0;
|
|
while (1) {
|
|
t = HEAPU8[(ptr + i) >> 0];
|
|
if (t >= 128) hasUtf = true;
|
|
else if (t == 0 && !length) break;
|
|
i++;
|
|
if (length && i == length) break;
|
|
}
|
|
if (!length) length = i;
|
|
|
|
var ret = '';
|
|
|
|
if (!hasUtf) {
|
|
var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack
|
|
var curr;
|
|
while (length > 0) {
|
|
curr = String.fromCharCode.apply(
|
|
String,
|
|
HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))
|
|
);
|
|
ret = ret ? ret + curr : curr;
|
|
ptr += MAX_CHUNK;
|
|
length -= MAX_CHUNK;
|
|
}
|
|
return ret;
|
|
}
|
|
|
|
var utf8 = new Runtime.UTF8Processor();
|
|
for (i = 0; i < length; i++) {
|
|
t = HEAPU8[(ptr + i) >> 0];
|
|
ret += utf8.processCChar(t);
|
|
}
|
|
return ret;
|
|
}
|
|
Module['Pointer_stringify'] = Pointer_stringify;
|
|
|
|
function UTF16ToString(ptr) {
|
|
var i = 0;
|
|
|
|
var str = '';
|
|
while (1) {
|
|
var codeUnit = HEAP16[(ptr + i * 2) >> 1];
|
|
if (codeUnit == 0) return str;
|
|
++i;
|
|
// fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through.
|
|
str += String.fromCharCode(codeUnit);
|
|
}
|
|
}
|
|
Module['UTF16ToString'] = UTF16ToString;
|
|
|
|
function stringToUTF16(str, outPtr) {
|
|
for (var i = 0; i < str.length; ++i) {
|
|
// charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP.
|
|
var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
|
|
HEAP16[(outPtr + i * 2) >> 1] = codeUnit;
|
|
}
|
|
// Null-terminate the pointer to the HEAP.
|
|
HEAP16[(outPtr + str.length * 2) >> 1] = 0;
|
|
}
|
|
Module['stringToUTF16'] = stringToUTF16;
|
|
|
|
function UTF32ToString(ptr) {
|
|
var i = 0;
|
|
|
|
var str = '';
|
|
while (1) {
|
|
var utf32 = HEAP32[(ptr + i * 4) >> 2];
|
|
if (utf32 == 0) return str;
|
|
++i;
|
|
// Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing.
|
|
if (utf32 >= 0x10000) {
|
|
var ch = utf32 - 0x10000;
|
|
str += String.fromCharCode(0xd800 | (ch >> 10), 0xdc00 | (ch & 0x3ff));
|
|
} else {
|
|
str += String.fromCharCode(utf32);
|
|
}
|
|
}
|
|
}
|
|
Module['UTF32ToString'] = UTF32ToString;
|
|
|
|
function stringToUTF32(str, outPtr) {
|
|
var iChar = 0;
|
|
for (var iCodeUnit = 0; iCodeUnit < str.length; ++iCodeUnit) {
|
|
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
|
|
var codeUnit = str.charCodeAt(iCodeUnit); // possibly a lead surrogate
|
|
if (codeUnit >= 0xd800 && codeUnit <= 0xdfff) {
|
|
var trailSurrogate = str.charCodeAt(++iCodeUnit);
|
|
codeUnit =
|
|
(0x10000 + ((codeUnit & 0x3ff) << 10)) | (trailSurrogate & 0x3ff);
|
|
}
|
|
HEAP32[(outPtr + iChar * 4) >> 2] = codeUnit;
|
|
++iChar;
|
|
}
|
|
// Null-terminate the pointer to the HEAP.
|
|
HEAP32[(outPtr + iChar * 4) >> 2] = 0;
|
|
}
|
|
Module['stringToUTF32'] = stringToUTF32;
|
|
|
|
function demangle(func) {
|
|
var hasLibcxxabi = !!Module['___cxa_demangle'];
|
|
if (hasLibcxxabi) {
|
|
try {
|
|
var buf = _malloc(func.length);
|
|
writeStringToMemory(func.substr(1), buf);
|
|
var status = _malloc(4);
|
|
var ret = Module['___cxa_demangle'](buf, 0, 0, status);
|
|
if (getValue(status, 'i32') === 0 && ret) {
|
|
return Pointer_stringify(ret);
|
|
}
|
|
// otherwise, libcxxabi failed, we can try ours which may return a partial result
|
|
} catch (e) {
|
|
// failure when using libcxxabi, we can try ours which may return a partial result
|
|
} finally {
|
|
if (buf) _free(buf);
|
|
if (status) _free(status);
|
|
if (ret) _free(ret);
|
|
}
|
|
}
|
|
var i = 3;
|
|
// params, etc.
|
|
var basicTypes = {
|
|
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: '...',
|
|
};
|
|
var subs = [];
|
|
var first = true;
|
|
function dump(x) {
|
|
//return;
|
|
if (x) Module.print(x);
|
|
Module.print(func);
|
|
var pre = '';
|
|
for (var a = 0; a < i; a++) pre += ' ';
|
|
Module.print(pre + '^');
|
|
}
|
|
function parseNested() {
|
|
i++;
|
|
if (func[i] === 'K') i++; // ignore const
|
|
var parts = [];
|
|
while (func[i] !== 'E') {
|
|
if (func[i] === 'S') {
|
|
// substitution
|
|
i++;
|
|
var next = func.indexOf('_', i);
|
|
var num = func.substring(i, next) || 0;
|
|
parts.push(subs[num] || '?');
|
|
i = next + 1;
|
|
continue;
|
|
}
|
|
if (func[i] === 'C') {
|
|
// constructor
|
|
parts.push(parts[parts.length - 1]);
|
|
i += 2;
|
|
continue;
|
|
}
|
|
var size = parseInt(func.substr(i));
|
|
var pre = size.toString().length;
|
|
if (!size || !pre) {
|
|
i--;
|
|
break;
|
|
} // counter i++ below us
|
|
var curr = func.substr(i + pre, size);
|
|
parts.push(curr);
|
|
subs.push(curr);
|
|
i += pre + size;
|
|
}
|
|
i++; // skip E
|
|
return parts;
|
|
}
|
|
function parse(rawList, limit, allowVoid) {
|
|
// main parser
|
|
limit = limit || Infinity;
|
|
var ret = '',
|
|
list = [];
|
|
function flushList() {
|
|
return '(' + list.join(', ') + ')';
|
|
}
|
|
var name;
|
|
if (func[i] === 'N') {
|
|
// namespaced N-E
|
|
name = parseNested().join('::');
|
|
limit--;
|
|
if (limit === 0) return rawList ? [name] : name;
|
|
} else {
|
|
// not namespaced
|
|
if (func[i] === 'K' || (first && func[i] === 'L')) i++; // ignore const and first 'L'
|
|
var size = parseInt(func.substr(i));
|
|
if (size) {
|
|
var pre = size.toString().length;
|
|
name = func.substr(i + pre, size);
|
|
i += pre + size;
|
|
}
|
|
}
|
|
first = false;
|
|
if (func[i] === 'I') {
|
|
i++;
|
|
var iList = parse(true);
|
|
var iRet = parse(true, 1, true);
|
|
ret += iRet[0] + ' ' + name + '<' + iList.join(', ') + '>';
|
|
} else {
|
|
ret = name;
|
|
}
|
|
paramLoop: while (i < func.length && limit-- > 0) {
|
|
//dump('paramLoop');
|
|
var c = func[i++];
|
|
if (c in basicTypes) {
|
|
list.push(basicTypes[c]);
|
|
} else {
|
|
switch (c) {
|
|
case 'P':
|
|
list.push(parse(true, 1, true)[0] + '*');
|
|
break; // pointer
|
|
case 'R':
|
|
list.push(parse(true, 1, true)[0] + '&');
|
|
break; // reference
|
|
case 'L': {
|
|
// literal
|
|
i++; // skip basic type
|
|
var end = func.indexOf('E', i);
|
|
var size = end - i;
|
|
list.push(func.substr(i, size));
|
|
i += size + 2; // size + 'EE'
|
|
break;
|
|
}
|
|
case 'A': {
|
|
// array
|
|
var size = parseInt(func.substr(i));
|
|
i += size.toString().length;
|
|
if (func[i] !== '_') throw '?';
|
|
i++; // skip _
|
|
list.push(parse(true, 1, true)[0] + ' [' + size + ']');
|
|
break;
|
|
}
|
|
case 'E':
|
|
break paramLoop;
|
|
default:
|
|
ret += '?' + c;
|
|
break paramLoop;
|
|
}
|
|
}
|
|
}
|
|
if (!allowVoid && list.length === 1 && list[0] === 'void') list = []; // avoid (void)
|
|
if (rawList) {
|
|
if (ret) {
|
|
list.push(ret + '?');
|
|
}
|
|
return list;
|
|
} else {
|
|
return ret + flushList();
|
|
}
|
|
}
|
|
var parsed = func;
|
|
try {
|
|
// Special-case the entry point, since its name differs from other name mangling.
|
|
if (func == 'Object._main' || func == '_main') {
|
|
return 'main()';
|
|
}
|
|
if (typeof func === 'number') func = Pointer_stringify(func);
|
|
if (func[0] !== '_') return func;
|
|
if (func[1] !== '_') return func; // C function
|
|
if (func[2] !== 'Z') return func;
|
|
switch (func[3]) {
|
|
case 'n':
|
|
return 'operator new()';
|
|
case 'd':
|
|
return 'operator delete()';
|
|
}
|
|
parsed = parse();
|
|
} catch (e) {
|
|
parsed += '?';
|
|
}
|
|
if (parsed.indexOf('?') >= 0 && !hasLibcxxabi) {
|
|
Runtime.warnOnce(
|
|
'warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'
|
|
);
|
|
}
|
|
return parsed;
|
|
}
|
|
|
|
function demangleAll(text) {
|
|
return text.replace(/__Z[\w\d_]+/g, function(x) {
|
|
var y = demangle(x);
|
|
return x === y ? x : x + ' [' + y + ']';
|
|
});
|
|
}
|
|
|
|
function jsStackTrace() {
|
|
var err = new Error();
|
|
if (!err.stack) {
|
|
// IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown,
|
|
// so try that as a special-case.
|
|
try {
|
|
throw new Error(0);
|
|
} catch (e) {
|
|
err = e;
|
|
}
|
|
if (!err.stack) {
|
|
return '(no stack trace available)';
|
|
}
|
|
}
|
|
return err.stack.toString();
|
|
}
|
|
|
|
function stackTrace() {
|
|
return demangleAll(jsStackTrace());
|
|
}
|
|
Module['stackTrace'] = stackTrace;
|
|
|
|
// Memory management
|
|
|
|
var PAGE_SIZE = 4096;
|
|
function alignMemoryPage(x) {
|
|
return (x + 4095) & -4096;
|
|
}
|
|
|
|
var HEAP;
|
|
var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
|
|
|
|
var STATIC_BASE = 0,
|
|
STATICTOP = 0,
|
|
staticSealed = false; // static area
|
|
var STACK_BASE = 0,
|
|
STACKTOP = 0,
|
|
STACK_MAX = 0; // stack area
|
|
var DYNAMIC_BASE = 0,
|
|
DYNAMICTOP = 0; // dynamic area handled by sbrk
|
|
|
|
function enlargeMemory() {
|
|
abort(
|
|
'Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' +
|
|
TOTAL_MEMORY +
|
|
', (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.'
|
|
);
|
|
}
|
|
|
|
var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880;
|
|
var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216;
|
|
var FAST_MEMORY = Module['FAST_MEMORY'] || 2097152;
|
|
|
|
var totalMemory = 64 * 1024;
|
|
while (totalMemory < TOTAL_MEMORY || totalMemory < 2 * TOTAL_STACK) {
|
|
if (totalMemory < 16 * 1024 * 1024) {
|
|
totalMemory *= 2;
|
|
} else {
|
|
totalMemory += 16 * 1024 * 1024;
|
|
}
|
|
}
|
|
if (totalMemory !== TOTAL_MEMORY) {
|
|
Module.printErr(
|
|
'increasing TOTAL_MEMORY to ' +
|
|
totalMemory +
|
|
' to be compliant with the asm.js spec'
|
|
);
|
|
TOTAL_MEMORY = totalMemory;
|
|
}
|
|
|
|
// Initialize the runtime's memory
|
|
// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
|
|
assert(
|
|
typeof Int32Array !== 'undefined' &&
|
|
typeof Float64Array !== 'undefined' &&
|
|
!!new Int32Array(1)['subarray'] &&
|
|
!!new Int32Array(1)['set'],
|
|
'JS engine does not provide full typed array support'
|
|
);
|
|
|
|
var buffer = new ArrayBuffer(TOTAL_MEMORY);
|
|
HEAP8 = new Int8Array(buffer);
|
|
HEAP16 = new Int16Array(buffer);
|
|
HEAP32 = new Int32Array(buffer);
|
|
HEAPU8 = new Uint8Array(buffer);
|
|
HEAPU16 = new Uint16Array(buffer);
|
|
HEAPU32 = new Uint32Array(buffer);
|
|
HEAPF32 = new Float32Array(buffer);
|
|
HEAPF64 = new Float64Array(buffer);
|
|
|
|
// Endianness check (note: assumes compiler arch was little-endian)
|
|
HEAP32[0] = 255;
|
|
assert(
|
|
HEAPU8[0] === 255 && HEAPU8[3] === 0,
|
|
'Typed arrays 2 must be run on a little-endian system'
|
|
);
|
|
|
|
Module['HEAP'] = HEAP;
|
|
Module['buffer'] = buffer;
|
|
Module['HEAP8'] = HEAP8;
|
|
Module['HEAP16'] = HEAP16;
|
|
Module['HEAP32'] = HEAP32;
|
|
Module['HEAPU8'] = HEAPU8;
|
|
Module['HEAPU16'] = HEAPU16;
|
|
Module['HEAPU32'] = HEAPU32;
|
|
Module['HEAPF32'] = HEAPF32;
|
|
Module['HEAPF64'] = HEAPF64;
|
|
|
|
function callRuntimeCallbacks(callbacks) {
|
|
while (callbacks.length > 0) {
|
|
var callback = callbacks.shift();
|
|
if (typeof callback == 'function') {
|
|
callback();
|
|
continue;
|
|
}
|
|
var func = callback.func;
|
|
if (typeof func === 'number') {
|
|
if (callback.arg === undefined) {
|
|
Runtime.dynCall('v', func);
|
|
} else {
|
|
Runtime.dynCall('vi', func, [callback.arg]);
|
|
}
|
|
} else {
|
|
func(callback.arg === undefined ? null : callback.arg);
|
|
}
|
|
}
|
|
}
|
|
|
|
var __ATPRERUN__ = []; // functions called before the runtime is initialized
|
|
var __ATINIT__ = []; // functions called during startup
|
|
var __ATMAIN__ = []; // functions called when main() is to be run
|
|
var __ATEXIT__ = []; // functions called during shutdown
|
|
var __ATPOSTRUN__ = []; // functions called after the runtime has exited
|
|
|
|
var runtimeInitialized = false;
|
|
var runtimeExited = false;
|
|
|
|
function preRun() {
|
|
// compatibility - merge in anything from Module['preRun'] at this time
|
|
if (Module['preRun']) {
|
|
if (typeof Module['preRun'] == 'function')
|
|
Module['preRun'] = [Module['preRun']];
|
|
while (Module['preRun'].length) {
|
|
addOnPreRun(Module['preRun'].shift());
|
|
}
|
|
}
|
|
callRuntimeCallbacks(__ATPRERUN__);
|
|
}
|
|
|
|
function ensureInitRuntime() {
|
|
if (runtimeInitialized) return;
|
|
runtimeInitialized = true;
|
|
callRuntimeCallbacks(__ATINIT__);
|
|
}
|
|
|
|
function preMain() {
|
|
callRuntimeCallbacks(__ATMAIN__);
|
|
}
|
|
|
|
function exitRuntime() {
|
|
callRuntimeCallbacks(__ATEXIT__);
|
|
runtimeExited = true;
|
|
}
|
|
|
|
function postRun() {
|
|
// compatibility - merge in anything from Module['postRun'] at this time
|
|
if (Module['postRun']) {
|
|
if (typeof Module['postRun'] == 'function')
|
|
Module['postRun'] = [Module['postRun']];
|
|
while (Module['postRun'].length) {
|
|
addOnPostRun(Module['postRun'].shift());
|
|
}
|
|
}
|
|
callRuntimeCallbacks(__ATPOSTRUN__);
|
|
}
|
|
|
|
function addOnPreRun(cb) {
|
|
__ATPRERUN__.unshift(cb);
|
|
}
|
|
Module['addOnPreRun'] = Module.addOnPreRun = addOnPreRun;
|
|
|
|
function addOnInit(cb) {
|
|
__ATINIT__.unshift(cb);
|
|
}
|
|
Module['addOnInit'] = Module.addOnInit = addOnInit;
|
|
|
|
function addOnPreMain(cb) {
|
|
__ATMAIN__.unshift(cb);
|
|
}
|
|
Module['addOnPreMain'] = Module.addOnPreMain = addOnPreMain;
|
|
|
|
function addOnExit(cb) {
|
|
__ATEXIT__.unshift(cb);
|
|
}
|
|
Module['addOnExit'] = Module.addOnExit = addOnExit;
|
|
|
|
function addOnPostRun(cb) {
|
|
__ATPOSTRUN__.unshift(cb);
|
|
}
|
|
Module['addOnPostRun'] = Module.addOnPostRun = addOnPostRun;
|
|
|
|
// Tools
|
|
|
|
function intArrayFromString(stringy, dontAddNull, length /* optional */) {
|
|
var ret = new Runtime.UTF8Processor().processJSString(stringy);
|
|
if (length) {
|
|
ret.length = length;
|
|
}
|
|
if (!dontAddNull) {
|
|
ret.push(0);
|
|
}
|
|
return ret;
|
|
}
|
|
Module['intArrayFromString'] = intArrayFromString;
|
|
|
|
function intArrayToString(array) {
|
|
var ret = [];
|
|
for (var i = 0; i < array.length; i++) {
|
|
var chr = array[i];
|
|
if (chr > 0xff) {
|
|
chr &= 0xff;
|
|
}
|
|
ret.push(String.fromCharCode(chr));
|
|
}
|
|
return ret.join('');
|
|
}
|
|
Module['intArrayToString'] = intArrayToString;
|
|
|
|
function writeStringToMemory(string, buffer, dontAddNull) {
|
|
var array = intArrayFromString(string, dontAddNull);
|
|
var i = 0;
|
|
while (i < array.length) {
|
|
var chr = array[i];
|
|
HEAP8[(buffer + i) >> 0] = chr;
|
|
i = i + 1;
|
|
}
|
|
}
|
|
Module['writeStringToMemory'] = writeStringToMemory;
|
|
|
|
function writeArrayToMemory(array, buffer) {
|
|
for (var i = 0; i < array.length; i++) {
|
|
HEAP8[(buffer + i) >> 0] = array[i];
|
|
}
|
|
}
|
|
Module['writeArrayToMemory'] = writeArrayToMemory;
|
|
|
|
function writeAsciiToMemory(str, buffer, dontAddNull) {
|
|
for (var i = 0; i < str.length; i++) {
|
|
HEAP8[(buffer + i) >> 0] = str.charCodeAt(i);
|
|
}
|
|
if (!dontAddNull) HEAP8[(buffer + str.length) >> 0] = 0;
|
|
}
|
|
Module['writeAsciiToMemory'] = writeAsciiToMemory;
|
|
|
|
function unSign(value, bits, ignore) {
|
|
if (value >= 0) {
|
|
return value;
|
|
}
|
|
return bits <= 32
|
|
? 2 * Math.abs(1 << (bits - 1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts
|
|
: Math.pow(2, bits) + value;
|
|
}
|
|
function reSign(value, bits, ignore) {
|
|
if (value <= 0) {
|
|
return value;
|
|
}
|
|
var half =
|
|
bits <= 32
|
|
? Math.abs(1 << (bits - 1)) // abs is needed if bits == 32
|
|
: Math.pow(2, bits - 1);
|
|
if (value >= half && (bits <= 32 || value > half)) {
|
|
// for huge values, we can hit the precision limit and always get true here. so don't do that
|
|
// but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors
|
|
// TODO: In i64 mode 1, resign the two parts separately and safely
|
|
value = -2 * half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts
|
|
}
|
|
return value;
|
|
}
|
|
|
|
// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 )
|
|
if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5)
|
|
Math['imul'] = function imul(a, b) {
|
|
var ah = a >>> 16;
|
|
var al = a & 0xffff;
|
|
var bh = b >>> 16;
|
|
var bl = b & 0xffff;
|
|
return (al * bl + ((ah * bl + al * bh) << 16)) | 0;
|
|
};
|
|
Math.imul = Math['imul'];
|
|
|
|
var Math_abs = Math.abs;
|
|
var Math_cos = Math.cos;
|
|
var Math_sin = Math.sin;
|
|
var Math_tan = Math.tan;
|
|
var Math_acos = Math.acos;
|
|
var Math_asin = Math.asin;
|
|
var Math_atan = Math.atan;
|
|
var Math_atan2 = Math.atan2;
|
|
var Math_exp = Math.exp;
|
|
var Math_log = Math.log;
|
|
var Math_sqrt = Math.sqrt;
|
|
var Math_ceil = Math.ceil;
|
|
var Math_floor = Math.floor;
|
|
var Math_pow = Math.pow;
|
|
var Math_imul = Math.imul;
|
|
var Math_fround = Math.fround;
|
|
var Math_min = Math.min;
|
|
|
|
// A counter of dependencies for calling run(). If we need to
|
|
// do asynchronous work before running, increment this and
|
|
// decrement it. Incrementing must happen in a place like
|
|
// PRE_RUN_ADDITIONS (used by emcc to add file preloading).
|
|
// Note that you can add dependencies in preRun, even though
|
|
// it happens right before run - run will be postponed until
|
|
// the dependencies are met.
|
|
var runDependencies = 0;
|
|
var runDependencyWatcher = null;
|
|
var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled
|
|
|
|
function addRunDependency(id) {
|
|
runDependencies++;
|
|
if (Module['monitorRunDependencies']) {
|
|
Module['monitorRunDependencies'](runDependencies);
|
|
}
|
|
}
|
|
Module['addRunDependency'] = addRunDependency;
|
|
function removeRunDependency(id) {
|
|
runDependencies--;
|
|
if (Module['monitorRunDependencies']) {
|
|
Module['monitorRunDependencies'](runDependencies);
|
|
}
|
|
if (runDependencies == 0) {
|
|
if (runDependencyWatcher !== null) {
|
|
clearInterval(runDependencyWatcher);
|
|
runDependencyWatcher = null;
|
|
}
|
|
if (dependenciesFulfilled) {
|
|
var callback = dependenciesFulfilled;
|
|
dependenciesFulfilled = null;
|
|
callback(); // can add another dependenciesFulfilled
|
|
}
|
|
}
|
|
}
|
|
Module['removeRunDependency'] = removeRunDependency;
|
|
|
|
Module['preloadedImages'] = {}; // maps url to image data
|
|
Module['preloadedAudios'] = {}; // maps url to audio data
|
|
|
|
var memoryInitializer = null;
|
|
|
|
// === Body ===
|
|
|
|
STATIC_BASE = 8;
|
|
|
|
STATICTOP = STATIC_BASE + 33040;
|
|
/* global initializers */ __ATINIT__.push();
|
|
|
|
/* memory initializer */ allocate(
|
|
[
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
133,
|
|
59,
|
|
140,
|
|
1,
|
|
189,
|
|
241,
|
|
36,
|
|
255,
|
|
248,
|
|
37,
|
|
195,
|
|
1,
|
|
96,
|
|
220,
|
|
55,
|
|
0,
|
|
183,
|
|
76,
|
|
62,
|
|
255,
|
|
195,
|
|
66,
|
|
61,
|
|
0,
|
|
50,
|
|
76,
|
|
164,
|
|
1,
|
|
225,
|
|
164,
|
|
76,
|
|
255,
|
|
76,
|
|
61,
|
|
163,
|
|
255,
|
|
117,
|
|
62,
|
|
31,
|
|
0,
|
|
81,
|
|
145,
|
|
64,
|
|
255,
|
|
118,
|
|
65,
|
|
14,
|
|
0,
|
|
162,
|
|
115,
|
|
214,
|
|
255,
|
|
6,
|
|
138,
|
|
46,
|
|
0,
|
|
124,
|
|
230,
|
|
244,
|
|
255,
|
|
10,
|
|
138,
|
|
143,
|
|
0,
|
|
52,
|
|
26,
|
|
194,
|
|
0,
|
|
184,
|
|
244,
|
|
76,
|
|
0,
|
|
129,
|
|
143,
|
|
41,
|
|
1,
|
|
190,
|
|
244,
|
|
19,
|
|
255,
|
|
123,
|
|
170,
|
|
122,
|
|
255,
|
|
98,
|
|
129,
|
|
68,
|
|
0,
|
|
121,
|
|
213,
|
|
147,
|
|
0,
|
|
86,
|
|
101,
|
|
30,
|
|
255,
|
|
161,
|
|
103,
|
|
155,
|
|
0,
|
|
140,
|
|
89,
|
|
67,
|
|
255,
|
|
239,
|
|
229,
|
|
190,
|
|
1,
|
|
67,
|
|
11,
|
|
181,
|
|
0,
|
|
198,
|
|
240,
|
|
137,
|
|
254,
|
|
238,
|
|
69,
|
|
188,
|
|
255,
|
|
67,
|
|
151,
|
|
238,
|
|
0,
|
|
19,
|
|
42,
|
|
108,
|
|
255,
|
|
229,
|
|
85,
|
|
113,
|
|
1,
|
|
50,
|
|
68,
|
|
135,
|
|
255,
|
|
17,
|
|
106,
|
|
9,
|
|
0,
|
|
50,
|
|
103,
|
|
1,
|
|
255,
|
|
80,
|
|
1,
|
|
168,
|
|
1,
|
|
35,
|
|
152,
|
|
30,
|
|
255,
|
|
16,
|
|
168,
|
|
185,
|
|
1,
|
|
56,
|
|
89,
|
|
232,
|
|
255,
|
|
101,
|
|
210,
|
|
252,
|
|
0,
|
|
41,
|
|
250,
|
|
71,
|
|
0,
|
|
204,
|
|
170,
|
|
79,
|
|
255,
|
|
14,
|
|
46,
|
|
239,
|
|
255,
|
|
80,
|
|
77,
|
|
239,
|
|
0,
|
|
189,
|
|
214,
|
|
75,
|
|
255,
|
|
17,
|
|
141,
|
|
249,
|
|
0,
|
|
38,
|
|
80,
|
|
76,
|
|
255,
|
|
190,
|
|
85,
|
|
117,
|
|
0,
|
|
86,
|
|
228,
|
|
170,
|
|
0,
|
|
156,
|
|
216,
|
|
208,
|
|
1,
|
|
195,
|
|
207,
|
|
164,
|
|
255,
|
|
150,
|
|
66,
|
|
76,
|
|
255,
|
|
175,
|
|
225,
|
|
16,
|
|
255,
|
|
141,
|
|
80,
|
|
98,
|
|
1,
|
|
76,
|
|
219,
|
|
242,
|
|
0,
|
|
198,
|
|
162,
|
|
114,
|
|
0,
|
|
46,
|
|
218,
|
|
152,
|
|
0,
|
|
155,
|
|
43,
|
|
241,
|
|
254,
|
|
155,
|
|
160,
|
|
104,
|
|
255,
|
|
51,
|
|
187,
|
|
165,
|
|
0,
|
|
2,
|
|
17,
|
|
175,
|
|
0,
|
|
66,
|
|
84,
|
|
160,
|
|
1,
|
|
247,
|
|
58,
|
|
30,
|
|
0,
|
|
35,
|
|
65,
|
|
53,
|
|
254,
|
|
69,
|
|
236,
|
|
191,
|
|
0,
|
|
45,
|
|
134,
|
|
245,
|
|
1,
|
|
163,
|
|
123,
|
|
221,
|
|
0,
|
|
32,
|
|
110,
|
|
20,
|
|
255,
|
|
52,
|
|
23,
|
|
165,
|
|
0,
|
|
186,
|
|
214,
|
|
71,
|
|
0,
|
|
233,
|
|
176,
|
|
96,
|
|
0,
|
|
242,
|
|
239,
|
|
54,
|
|
1,
|
|
57,
|
|
89,
|
|
138,
|
|
0,
|
|
83,
|
|
0,
|
|
84,
|
|
255,
|
|
136,
|
|
160,
|
|
100,
|
|
0,
|
|
92,
|
|
142,
|
|
120,
|
|
254,
|
|
104,
|
|
124,
|
|
190,
|
|
0,
|
|
181,
|
|
177,
|
|
62,
|
|
255,
|
|
250,
|
|
41,
|
|
85,
|
|
0,
|
|
152,
|
|
130,
|
|
42,
|
|
1,
|
|
96,
|
|
252,
|
|
246,
|
|
0,
|
|
151,
|
|
151,
|
|
63,
|
|
254,
|
|
239,
|
|
133,
|
|
62,
|
|
0,
|
|
32,
|
|
56,
|
|
156,
|
|
0,
|
|
45,
|
|
167,
|
|
189,
|
|
255,
|
|
142,
|
|
133,
|
|
179,
|
|
1,
|
|
131,
|
|
86,
|
|
211,
|
|
0,
|
|
187,
|
|
179,
|
|
150,
|
|
254,
|
|
250,
|
|
170,
|
|
14,
|
|
255,
|
|
210,
|
|
163,
|
|
78,
|
|
0,
|
|
37,
|
|
52,
|
|
151,
|
|
0,
|
|
99,
|
|
77,
|
|
26,
|
|
0,
|
|
238,
|
|
156,
|
|
213,
|
|
255,
|
|
213,
|
|
192,
|
|
209,
|
|
1,
|
|
73,
|
|
46,
|
|
84,
|
|
0,
|
|
20,
|
|
65,
|
|
41,
|
|
1,
|
|
54,
|
|
206,
|
|
79,
|
|
0,
|
|
201,
|
|
131,
|
|
146,
|
|
254,
|
|
170,
|
|
111,
|
|
24,
|
|
255,
|
|
177,
|
|
33,
|
|
50,
|
|
254,
|
|
171,
|
|
38,
|
|
203,
|
|
255,
|
|
78,
|
|
247,
|
|
116,
|
|
0,
|
|
209,
|
|
221,
|
|
153,
|
|
0,
|
|
133,
|
|
128,
|
|
178,
|
|
1,
|
|
58,
|
|
44,
|
|
25,
|
|
0,
|
|
201,
|
|
39,
|
|
59,
|
|
1,
|
|
189,
|
|
19,
|
|
252,
|
|
0,
|
|
49,
|
|
229,
|
|
210,
|
|
1,
|
|
117,
|
|
187,
|
|
117,
|
|
0,
|
|
181,
|
|
179,
|
|
184,
|
|
1,
|
|
0,
|
|
114,
|
|
219,
|
|
0,
|
|
48,
|
|
94,
|
|
147,
|
|
0,
|
|
245,
|
|
41,
|
|
56,
|
|
0,
|
|
125,
|
|
13,
|
|
204,
|
|
254,
|
|
244,
|
|
173,
|
|
119,
|
|
0,
|
|
44,
|
|
221,
|
|
32,
|
|
254,
|
|
84,
|
|
234,
|
|
20,
|
|
0,
|
|
249,
|
|
160,
|
|
198,
|
|
1,
|
|
236,
|
|
126,
|
|
234,
|
|
255,
|
|
47,
|
|
99,
|
|
168,
|
|
254,
|
|
170,
|
|
226,
|
|
153,
|
|
255,
|
|
102,
|
|
179,
|
|
216,
|
|
0,
|
|
226,
|
|
141,
|
|
122,
|
|
255,
|
|
122,
|
|
66,
|
|
153,
|
|
254,
|
|
182,
|
|
245,
|
|
134,
|
|
0,
|
|
227,
|
|
228,
|
|
25,
|
|
1,
|
|
214,
|
|
57,
|
|
235,
|
|
255,
|
|
216,
|
|
173,
|
|
56,
|
|
255,
|
|
181,
|
|
231,
|
|
210,
|
|
0,
|
|
119,
|
|
128,
|
|
157,
|
|
255,
|
|
129,
|
|
95,
|
|
136,
|
|
255,
|
|
110,
|
|
126,
|
|
51,
|
|
0,
|
|
2,
|
|
169,
|
|
183,
|
|
255,
|
|
7,
|
|
130,
|
|
98,
|
|
254,
|
|
69,
|
|
176,
|
|
94,
|
|
255,
|
|
116,
|
|
4,
|
|
227,
|
|
1,
|
|
217,
|
|
242,
|
|
145,
|
|
255,
|
|
202,
|
|
173,
|
|
31,
|
|
1,
|
|
105,
|
|
1,
|
|
39,
|
|
255,
|
|
46,
|
|
175,
|
|
69,
|
|
0,
|
|
228,
|
|
47,
|
|
58,
|
|
255,
|
|
215,
|
|
224,
|
|
69,
|
|
254,
|
|
207,
|
|
56,
|
|
69,
|
|
255,
|
|
16,
|
|
254,
|
|
139,
|
|
255,
|
|
23,
|
|
207,
|
|
212,
|
|
255,
|
|
202,
|
|
20,
|
|
126,
|
|
255,
|
|
95,
|
|
213,
|
|
96,
|
|
255,
|
|
9,
|
|
176,
|
|
33,
|
|
0,
|
|
200,
|
|
5,
|
|
207,
|
|
255,
|
|
241,
|
|
42,
|
|
128,
|
|
254,
|
|
35,
|
|
33,
|
|
192,
|
|
255,
|
|
248,
|
|
229,
|
|
196,
|
|
1,
|
|
129,
|
|
17,
|
|
120,
|
|
0,
|
|
251,
|
|
103,
|
|
151,
|
|
255,
|
|
7,
|
|
52,
|
|
112,
|
|
255,
|
|
140,
|
|
56,
|
|
66,
|
|
255,
|
|
40,
|
|
226,
|
|
245,
|
|
255,
|
|
217,
|
|
70,
|
|
37,
|
|
254,
|
|
172,
|
|
214,
|
|
9,
|
|
255,
|
|
72,
|
|
67,
|
|
134,
|
|
1,
|
|
146,
|
|
192,
|
|
214,
|
|
255,
|
|
44,
|
|
38,
|
|
112,
|
|
0,
|
|
68,
|
|
184,
|
|
75,
|
|
255,
|
|
206,
|
|
90,
|
|
251,
|
|
0,
|
|
149,
|
|
235,
|
|
141,
|
|
0,
|
|
181,
|
|
170,
|
|
58,
|
|
0,
|
|
116,
|
|
244,
|
|
239,
|
|
0,
|
|
92,
|
|
157,
|
|
2,
|
|
0,
|
|
102,
|
|
173,
|
|
98,
|
|
0,
|
|
233,
|
|
137,
|
|
96,
|
|
1,
|
|
127,
|
|
49,
|
|
203,
|
|
0,
|
|
5,
|
|
155,
|
|
148,
|
|
0,
|
|
23,
|
|
148,
|
|
9,
|
|
255,
|
|
211,
|
|
122,
|
|
12,
|
|
0,
|
|
34,
|
|
134,
|
|
26,
|
|
255,
|
|
219,
|
|
204,
|
|
136,
|
|
0,
|
|
134,
|
|
8,
|
|
41,
|
|
255,
|
|
224,
|
|
83,
|
|
43,
|
|
254,
|
|
85,
|
|
25,
|
|
247,
|
|
0,
|
|
109,
|
|
127,
|
|
0,
|
|
254,
|
|
169,
|
|
136,
|
|
48,
|
|
0,
|
|
238,
|
|
119,
|
|
219,
|
|
255,
|
|
231,
|
|
173,
|
|
213,
|
|
0,
|
|
206,
|
|
18,
|
|
254,
|
|
254,
|
|
8,
|
|
186,
|
|
7,
|
|
255,
|
|
126,
|
|
9,
|
|
7,
|
|
1,
|
|
111,
|
|
42,
|
|
72,
|
|
0,
|
|
111,
|
|
52,
|
|
236,
|
|
254,
|
|
96,
|
|
63,
|
|
141,
|
|
0,
|
|
147,
|
|
191,
|
|
127,
|
|
254,
|
|
205,
|
|
78,
|
|
192,
|
|
255,
|
|
14,
|
|
106,
|
|
237,
|
|
1,
|
|
187,
|
|
219,
|
|
76,
|
|
0,
|
|
175,
|
|
243,
|
|
187,
|
|
254,
|
|
105,
|
|
89,
|
|
173,
|
|
0,
|
|
85,
|
|
25,
|
|
89,
|
|
1,
|
|
162,
|
|
243,
|
|
148,
|
|
0,
|
|
2,
|
|
118,
|
|
209,
|
|
254,
|
|
33,
|
|
158,
|
|
9,
|
|
0,
|
|
139,
|
|
163,
|
|
46,
|
|
255,
|
|
93,
|
|
70,
|
|
40,
|
|
0,
|
|
108,
|
|
42,
|
|
142,
|
|
254,
|
|
111,
|
|
252,
|
|
142,
|
|
255,
|
|
155,
|
|
223,
|
|
144,
|
|
0,
|
|
51,
|
|
229,
|
|
167,
|
|
255,
|
|
73,
|
|
252,
|
|
155,
|
|
255,
|
|
94,
|
|
116,
|
|
12,
|
|
255,
|
|
152,
|
|
160,
|
|
218,
|
|
255,
|
|
156,
|
|
238,
|
|
37,
|
|
255,
|
|
179,
|
|
234,
|
|
207,
|
|
255,
|
|
197,
|
|
0,
|
|
179,
|
|
255,
|
|
154,
|
|
164,
|
|
141,
|
|
0,
|
|
225,
|
|
196,
|
|
104,
|
|
0,
|
|
10,
|
|
35,
|
|
25,
|
|
254,
|
|
209,
|
|
212,
|
|
242,
|
|
255,
|
|
97,
|
|
253,
|
|
222,
|
|
254,
|
|
184,
|
|
101,
|
|
229,
|
|
0,
|
|
222,
|
|
18,
|
|
127,
|
|
1,
|
|
164,
|
|
136,
|
|
135,
|
|
255,
|
|
30,
|
|
207,
|
|
140,
|
|
254,
|
|
146,
|
|
97,
|
|
243,
|
|
0,
|
|
129,
|
|
192,
|
|
26,
|
|
254,
|
|
201,
|
|
84,
|
|
33,
|
|
255,
|
|
111,
|
|
10,
|
|
78,
|
|
255,
|
|
147,
|
|
81,
|
|
178,
|
|
255,
|
|
4,
|
|
4,
|
|
24,
|
|
0,
|
|
161,
|
|
238,
|
|
215,
|
|
255,
|
|
6,
|
|
141,
|
|
33,
|
|
0,
|
|
53,
|
|
215,
|
|
14,
|
|
255,
|
|
41,
|
|
181,
|
|
208,
|
|
255,
|
|
231,
|
|
139,
|
|
157,
|
|
0,
|
|
179,
|
|
203,
|
|
221,
|
|
255,
|
|
255,
|
|
185,
|
|
113,
|
|
0,
|
|
189,
|
|
226,
|
|
172,
|
|
255,
|
|
113,
|
|
66,
|
|
214,
|
|
255,
|
|
202,
|
|
62,
|
|
45,
|
|
255,
|
|
102,
|
|
64,
|
|
8,
|
|
255,
|
|
78,
|
|
174,
|
|
16,
|
|
254,
|
|
133,
|
|
117,
|
|
68,
|
|
255,
|
|
182,
|
|
120,
|
|
89,
|
|
255,
|
|
133,
|
|
114,
|
|
211,
|
|
0,
|
|
189,
|
|
110,
|
|
21,
|
|
255,
|
|
15,
|
|
10,
|
|
106,
|
|
0,
|
|
41,
|
|
192,
|
|
1,
|
|
0,
|
|
152,
|
|
232,
|
|
121,
|
|
255,
|
|
188,
|
|
60,
|
|
160,
|
|
255,
|
|
153,
|
|
113,
|
|
206,
|
|
255,
|
|
0,
|
|
183,
|
|
226,
|
|
254,
|
|
180,
|
|
13,
|
|
72,
|
|
255,
|
|
176,
|
|
160,
|
|
14,
|
|
254,
|
|
211,
|
|
201,
|
|
134,
|
|
255,
|
|
158,
|
|
24,
|
|
143,
|
|
0,
|
|
127,
|
|
105,
|
|
53,
|
|
0,
|
|
96,
|
|
12,
|
|
189,
|
|
0,
|
|
167,
|
|
215,
|
|
251,
|
|
255,
|
|
159,
|
|
76,
|
|
128,
|
|
254,
|
|
106,
|
|
101,
|
|
225,
|
|
255,
|
|
30,
|
|
252,
|
|
4,
|
|
0,
|
|
146,
|
|
12,
|
|
174,
|
|
0,
|
|
89,
|
|
241,
|
|
178,
|
|
254,
|
|
10,
|
|
229,
|
|
166,
|
|
255,
|
|
123,
|
|
221,
|
|
42,
|
|
254,
|
|
30,
|
|
20,
|
|
212,
|
|
0,
|
|
82,
|
|
128,
|
|
3,
|
|
0,
|
|
48,
|
|
209,
|
|
243,
|
|
0,
|
|
119,
|
|
121,
|
|
64,
|
|
255,
|
|
50,
|
|
227,
|
|
156,
|
|
255,
|
|
0,
|
|
110,
|
|
197,
|
|
1,
|
|
103,
|
|
27,
|
|
144,
|
|
0,
|
|
133,
|
|
59,
|
|
140,
|
|
1,
|
|
189,
|
|
241,
|
|
36,
|
|
255,
|
|
248,
|
|
37,
|
|
195,
|
|
1,
|
|
96,
|
|
220,
|
|
55,
|
|
0,
|
|
183,
|
|
76,
|
|
62,
|
|
255,
|
|
195,
|
|
66,
|
|
61,
|
|
0,
|
|
50,
|
|
76,
|
|
164,
|
|
1,
|
|
225,
|
|
164,
|
|
76,
|
|
255,
|
|
76,
|
|
61,
|
|
163,
|
|
255,
|
|
117,
|
|
62,
|
|
31,
|
|
0,
|
|
81,
|
|
145,
|
|
64,
|
|
255,
|
|
118,
|
|
65,
|
|
14,
|
|
0,
|
|
162,
|
|
115,
|
|
214,
|
|
255,
|
|
6,
|
|
138,
|
|
46,
|
|
0,
|
|
124,
|
|
230,
|
|
244,
|
|
255,
|
|
10,
|
|
138,
|
|
143,
|
|
0,
|
|
52,
|
|
26,
|
|
194,
|
|
0,
|
|
184,
|
|
244,
|
|
76,
|
|
0,
|
|
129,
|
|
143,
|
|
41,
|
|
1,
|
|
190,
|
|
244,
|
|
19,
|
|
255,
|
|
123,
|
|
170,
|
|
122,
|
|
255,
|
|
98,
|
|
129,
|
|
68,
|
|
0,
|
|
121,
|
|
213,
|
|
147,
|
|
0,
|
|
86,
|
|
101,
|
|
30,
|
|
255,
|
|
161,
|
|
103,
|
|
155,
|
|
0,
|
|
140,
|
|
89,
|
|
67,
|
|
255,
|
|
239,
|
|
229,
|
|
190,
|
|
1,
|
|
67,
|
|
11,
|
|
181,
|
|
0,
|
|
198,
|
|
240,
|
|
137,
|
|
254,
|
|
238,
|
|
69,
|
|
188,
|
|
255,
|
|
234,
|
|
113,
|
|
60,
|
|
255,
|
|
37,
|
|
255,
|
|
57,
|
|
255,
|
|
69,
|
|
178,
|
|
182,
|
|
254,
|
|
128,
|
|
208,
|
|
179,
|
|
0,
|
|
118,
|
|
26,
|
|
125,
|
|
254,
|
|
3,
|
|
7,
|
|
214,
|
|
255,
|
|
241,
|
|
50,
|
|
77,
|
|
255,
|
|
85,
|
|
203,
|
|
197,
|
|
255,
|
|
211,
|
|
135,
|
|
250,
|
|
255,
|
|
25,
|
|
48,
|
|
100,
|
|
255,
|
|
187,
|
|
213,
|
|
180,
|
|
254,
|
|
17,
|
|
88,
|
|
105,
|
|
0,
|
|
83,
|
|
209,
|
|
158,
|
|
1,
|
|
5,
|
|
115,
|
|
98,
|
|
0,
|
|
4,
|
|
174,
|
|
60,
|
|
254,
|
|
171,
|
|
55,
|
|
110,
|
|
255,
|
|
217,
|
|
181,
|
|
17,
|
|
255,
|
|
20,
|
|
188,
|
|
170,
|
|
0,
|
|
146,
|
|
156,
|
|
102,
|
|
254,
|
|
87,
|
|
214,
|
|
174,
|
|
255,
|
|
114,
|
|
122,
|
|
155,
|
|
1,
|
|
233,
|
|
44,
|
|
170,
|
|
0,
|
|
127,
|
|
8,
|
|
239,
|
|
1,
|
|
214,
|
|
236,
|
|
234,
|
|
0,
|
|
175,
|
|
5,
|
|
219,
|
|
0,
|
|
49,
|
|
106,
|
|
61,
|
|
255,
|
|
6,
|
|
66,
|
|
208,
|
|
255,
|
|
2,
|
|
106,
|
|
110,
|
|
255,
|
|
81,
|
|
234,
|
|
19,
|
|
255,
|
|
215,
|
|
107,
|
|
192,
|
|
255,
|
|
67,
|
|
151,
|
|
238,
|
|
0,
|
|
19,
|
|
42,
|
|
108,
|
|
255,
|
|
229,
|
|
85,
|
|
113,
|
|
1,
|
|
50,
|
|
68,
|
|
135,
|
|
255,
|
|
17,
|
|
106,
|
|
9,
|
|
0,
|
|
50,
|
|
103,
|
|
1,
|
|
255,
|
|
80,
|
|
1,
|
|
168,
|
|
1,
|
|
35,
|
|
152,
|
|
30,
|
|
255,
|
|
16,
|
|
168,
|
|
185,
|
|
1,
|
|
56,
|
|
89,
|
|
232,
|
|
255,
|
|
101,
|
|
210,
|
|
252,
|
|
0,
|
|
41,
|
|
250,
|
|
71,
|
|
0,
|
|
204,
|
|
170,
|
|
79,
|
|
255,
|
|
14,
|
|
46,
|
|
239,
|
|
255,
|
|
80,
|
|
77,
|
|
239,
|
|
0,
|
|
189,
|
|
214,
|
|
75,
|
|
255,
|
|
17,
|
|
141,
|
|
249,
|
|
0,
|
|
38,
|
|
80,
|
|
76,
|
|
255,
|
|
190,
|
|
85,
|
|
117,
|
|
0,
|
|
86,
|
|
228,
|
|
170,
|
|
0,
|
|
156,
|
|
216,
|
|
208,
|
|
1,
|
|
195,
|
|
207,
|
|
164,
|
|
255,
|
|
150,
|
|
66,
|
|
76,
|
|
255,
|
|
175,
|
|
225,
|
|
16,
|
|
255,
|
|
141,
|
|
80,
|
|
98,
|
|
1,
|
|
76,
|
|
219,
|
|
242,
|
|
0,
|
|
198,
|
|
162,
|
|
114,
|
|
0,
|
|
46,
|
|
218,
|
|
152,
|
|
0,
|
|
155,
|
|
43,
|
|
241,
|
|
254,
|
|
155,
|
|
160,
|
|
104,
|
|
255,
|
|
178,
|
|
9,
|
|
252,
|
|
254,
|
|
100,
|
|
110,
|
|
212,
|
|
0,
|
|
14,
|
|
5,
|
|
167,
|
|
0,
|
|
233,
|
|
239,
|
|
163,
|
|
255,
|
|
28,
|
|
151,
|
|
157,
|
|
1,
|
|
101,
|
|
146,
|
|
10,
|
|
255,
|
|
254,
|
|
158,
|
|
70,
|
|
254,
|
|
71,
|
|
249,
|
|
228,
|
|
0,
|
|
88,
|
|
30,
|
|
50,
|
|
0,
|
|
68,
|
|
58,
|
|
160,
|
|
255,
|
|
191,
|
|
24,
|
|
104,
|
|
1,
|
|
129,
|
|
66,
|
|
129,
|
|
255,
|
|
192,
|
|
50,
|
|
85,
|
|
255,
|
|
8,
|
|
179,
|
|
138,
|
|
255,
|
|
38,
|
|
250,
|
|
201,
|
|
0,
|
|
115,
|
|
80,
|
|
160,
|
|
0,
|
|
131,
|
|
230,
|
|
113,
|
|
0,
|
|
125,
|
|
88,
|
|
147,
|
|
0,
|
|
90,
|
|
68,
|
|
199,
|
|
0,
|
|
253,
|
|
76,
|
|
158,
|
|
0,
|
|
28,
|
|
255,
|
|
118,
|
|
0,
|
|
113,
|
|
250,
|
|
254,
|
|
0,
|
|
66,
|
|
75,
|
|
46,
|
|
0,
|
|
230,
|
|
218,
|
|
43,
|
|
0,
|
|
229,
|
|
120,
|
|
186,
|
|
1,
|
|
148,
|
|
68,
|
|
43,
|
|
0,
|
|
136,
|
|
124,
|
|
238,
|
|
1,
|
|
187,
|
|
107,
|
|
197,
|
|
255,
|
|
84,
|
|
53,
|
|
246,
|
|
255,
|
|
51,
|
|
116,
|
|
254,
|
|
255,
|
|
51,
|
|
187,
|
|
165,
|
|
0,
|
|
2,
|
|
17,
|
|
175,
|
|
0,
|
|
66,
|
|
84,
|
|
160,
|
|
1,
|
|
247,
|
|
58,
|
|
30,
|
|
0,
|
|
35,
|
|
65,
|
|
53,
|
|
254,
|
|
69,
|
|
236,
|
|
191,
|
|
0,
|
|
45,
|
|
134,
|
|
245,
|
|
1,
|
|
163,
|
|
123,
|
|
221,
|
|
0,
|
|
32,
|
|
110,
|
|
20,
|
|
255,
|
|
52,
|
|
23,
|
|
165,
|
|
0,
|
|
186,
|
|
214,
|
|
71,
|
|
0,
|
|
233,
|
|
176,
|
|
96,
|
|
0,
|
|
242,
|
|
239,
|
|
54,
|
|
1,
|
|
57,
|
|
89,
|
|
138,
|
|
0,
|
|
83,
|
|
0,
|
|
84,
|
|
255,
|
|
136,
|
|
160,
|
|
100,
|
|
0,
|
|
92,
|
|
142,
|
|
120,
|
|
254,
|
|
104,
|
|
124,
|
|
190,
|
|
0,
|
|
181,
|
|
177,
|
|
62,
|
|
255,
|
|
250,
|
|
41,
|
|
85,
|
|
0,
|
|
152,
|
|
130,
|
|
42,
|
|
1,
|
|
96,
|
|
252,
|
|
246,
|
|
0,
|
|
151,
|
|
151,
|
|
63,
|
|
254,
|
|
239,
|
|
133,
|
|
62,
|
|
0,
|
|
32,
|
|
56,
|
|
156,
|
|
0,
|
|
45,
|
|
167,
|
|
189,
|
|
255,
|
|
142,
|
|
133,
|
|
179,
|
|
1,
|
|
131,
|
|
86,
|
|
211,
|
|
0,
|
|
187,
|
|
179,
|
|
150,
|
|
254,
|
|
250,
|
|
170,
|
|
14,
|
|
255,
|
|
68,
|
|
113,
|
|
21,
|
|
255,
|
|
222,
|
|
186,
|
|
59,
|
|
255,
|
|
66,
|
|
7,
|
|
241,
|
|
1,
|
|
69,
|
|
6,
|
|
72,
|
|
0,
|
|
86,
|
|
156,
|
|
108,
|
|
254,
|
|
55,
|
|
167,
|
|
89,
|
|
0,
|
|
109,
|
|
52,
|
|
219,
|
|
254,
|
|
13,
|
|
176,
|
|
23,
|
|
255,
|
|
196,
|
|
44,
|
|
106,
|
|
255,
|
|
239,
|
|
149,
|
|
71,
|
|
255,
|
|
164,
|
|
140,
|
|
125,
|
|
255,
|
|
159,
|
|
173,
|
|
1,
|
|
0,
|
|
51,
|
|
41,
|
|
231,
|
|
0,
|
|
145,
|
|
62,
|
|
33,
|
|
0,
|
|
138,
|
|
111,
|
|
93,
|
|
1,
|
|
185,
|
|
83,
|
|
69,
|
|
0,
|
|
144,
|
|
115,
|
|
46,
|
|
0,
|
|
97,
|
|
151,
|
|
16,
|
|
255,
|
|
24,
|
|
228,
|
|
26,
|
|
0,
|
|
49,
|
|
217,
|
|
226,
|
|
0,
|
|
113,
|
|
75,
|
|
234,
|
|
254,
|
|
193,
|
|
153,
|
|
12,
|
|
255,
|
|
182,
|
|
48,
|
|
96,
|
|
255,
|
|
14,
|
|
13,
|
|
26,
|
|
0,
|
|
128,
|
|
195,
|
|
249,
|
|
254,
|
|
69,
|
|
193,
|
|
59,
|
|
0,
|
|
132,
|
|
37,
|
|
81,
|
|
254,
|
|
125,
|
|
106,
|
|
60,
|
|
0,
|
|
214,
|
|
240,
|
|
169,
|
|
1,
|
|
164,
|
|
227,
|
|
66,
|
|
0,
|
|
210,
|
|
163,
|
|
78,
|
|
0,
|
|
37,
|
|
52,
|
|
151,
|
|
0,
|
|
99,
|
|
77,
|
|
26,
|
|
0,
|
|
238,
|
|
156,
|
|
213,
|
|
255,
|
|
213,
|
|
192,
|
|
209,
|
|
1,
|
|
73,
|
|
46,
|
|
84,
|
|
0,
|
|
20,
|
|
65,
|
|
41,
|
|
1,
|
|
54,
|
|
206,
|
|
79,
|
|
0,
|
|
201,
|
|
131,
|
|
146,
|
|
254,
|
|
170,
|
|
111,
|
|
24,
|
|
255,
|
|
177,
|
|
33,
|
|
50,
|
|
254,
|
|
171,
|
|
38,
|
|
203,
|
|
255,
|
|
78,
|
|
247,
|
|
116,
|
|
0,
|
|
209,
|
|
221,
|
|
153,
|
|
0,
|
|
133,
|
|
128,
|
|
178,
|
|
1,
|
|
58,
|
|
44,
|
|
25,
|
|
0,
|
|
201,
|
|
39,
|
|
59,
|
|
1,
|
|
189,
|
|
19,
|
|
252,
|
|
0,
|
|
49,
|
|
229,
|
|
210,
|
|
1,
|
|
117,
|
|
187,
|
|
117,
|
|
0,
|
|
181,
|
|
179,
|
|
184,
|
|
1,
|
|
0,
|
|
114,
|
|
219,
|
|
0,
|
|
48,
|
|
94,
|
|
147,
|
|
0,
|
|
245,
|
|
41,
|
|
56,
|
|
0,
|
|
125,
|
|
13,
|
|
204,
|
|
254,
|
|
244,
|
|
173,
|
|
119,
|
|
0,
|
|
44,
|
|
221,
|
|
32,
|
|
254,
|
|
84,
|
|
234,
|
|
20,
|
|
0,
|
|
249,
|
|
160,
|
|
198,
|
|
1,
|
|
236,
|
|
126,
|
|
234,
|
|
255,
|
|
143,
|
|
62,
|
|
221,
|
|
0,
|
|
129,
|
|
89,
|
|
214,
|
|
255,
|
|
55,
|
|
139,
|
|
5,
|
|
254,
|
|
68,
|
|
20,
|
|
191,
|
|
255,
|
|
14,
|
|
204,
|
|
178,
|
|
1,
|
|
35,
|
|
195,
|
|
217,
|
|
0,
|
|
47,
|
|
51,
|
|
206,
|
|
1,
|
|
38,
|
|
246,
|
|
165,
|
|
0,
|
|
206,
|
|
27,
|
|
6,
|
|
254,
|
|
158,
|
|
87,
|
|
36,
|
|
0,
|
|
217,
|
|
52,
|
|
146,
|
|
255,
|
|
125,
|
|
123,
|
|
215,
|
|
255,
|
|
85,
|
|
60,
|
|
31,
|
|
255,
|
|
171,
|
|
13,
|
|
7,
|
|
0,
|
|
218,
|
|
245,
|
|
88,
|
|
254,
|
|
252,
|
|
35,
|
|
60,
|
|
0,
|
|
55,
|
|
214,
|
|
160,
|
|
255,
|
|
133,
|
|
101,
|
|
56,
|
|
0,
|
|
224,
|
|
32,
|
|
19,
|
|
254,
|
|
147,
|
|
64,
|
|
234,
|
|
0,
|
|
26,
|
|
145,
|
|
162,
|
|
1,
|
|
114,
|
|
118,
|
|
125,
|
|
0,
|
|
248,
|
|
252,
|
|
250,
|
|
0,
|
|
101,
|
|
94,
|
|
196,
|
|
255,
|
|
198,
|
|
141,
|
|
226,
|
|
254,
|
|
51,
|
|
42,
|
|
182,
|
|
0,
|
|
135,
|
|
12,
|
|
9,
|
|
254,
|
|
109,
|
|
172,
|
|
210,
|
|
255,
|
|
197,
|
|
236,
|
|
194,
|
|
1,
|
|
241,
|
|
65,
|
|
154,
|
|
0,
|
|
48,
|
|
156,
|
|
47,
|
|
255,
|
|
153,
|
|
67,
|
|
55,
|
|
255,
|
|
218,
|
|
165,
|
|
34,
|
|
254,
|
|
74,
|
|
180,
|
|
179,
|
|
0,
|
|
218,
|
|
66,
|
|
71,
|
|
1,
|
|
88,
|
|
122,
|
|
99,
|
|
0,
|
|
212,
|
|
181,
|
|
219,
|
|
255,
|
|
92,
|
|
42,
|
|
231,
|
|
255,
|
|
239,
|
|
0,
|
|
154,
|
|
0,
|
|
245,
|
|
77,
|
|
183,
|
|
255,
|
|
94,
|
|
81,
|
|
170,
|
|
1,
|
|
18,
|
|
213,
|
|
216,
|
|
0,
|
|
171,
|
|
93,
|
|
71,
|
|
0,
|
|
52,
|
|
94,
|
|
248,
|
|
0,
|
|
18,
|
|
151,
|
|
161,
|
|
254,
|
|
197,
|
|
209,
|
|
66,
|
|
255,
|
|
174,
|
|
244,
|
|
15,
|
|
254,
|
|
162,
|
|
48,
|
|
183,
|
|
0,
|
|
49,
|
|
61,
|
|
240,
|
|
254,
|
|
182,
|
|
93,
|
|
195,
|
|
0,
|
|
199,
|
|
228,
|
|
6,
|
|
1,
|
|
200,
|
|
5,
|
|
17,
|
|
255,
|
|
137,
|
|
45,
|
|
237,
|
|
255,
|
|
108,
|
|
148,
|
|
4,
|
|
0,
|
|
90,
|
|
79,
|
|
237,
|
|
255,
|
|
39,
|
|
63,
|
|
77,
|
|
255,
|
|
53,
|
|
82,
|
|
207,
|
|
1,
|
|
142,
|
|
22,
|
|
118,
|
|
255,
|
|
101,
|
|
232,
|
|
18,
|
|
1,
|
|
92,
|
|
26,
|
|
67,
|
|
0,
|
|
5,
|
|
200,
|
|
88,
|
|
255,
|
|
33,
|
|
168,
|
|
138,
|
|
255,
|
|
149,
|
|
225,
|
|
72,
|
|
0,
|
|
2,
|
|
209,
|
|
27,
|
|
255,
|
|
44,
|
|
245,
|
|
168,
|
|
1,
|
|
220,
|
|
237,
|
|
17,
|
|
255,
|
|
30,
|
|
211,
|
|
105,
|
|
254,
|
|
141,
|
|
238,
|
|
221,
|
|
0,
|
|
128,
|
|
80,
|
|
245,
|
|
254,
|
|
111,
|
|
254,
|
|
14,
|
|
0,
|
|
222,
|
|
95,
|
|
190,
|
|
1,
|
|
223,
|
|
9,
|
|
241,
|
|
0,
|
|
146,
|
|
76,
|
|
212,
|
|
255,
|
|
108,
|
|
205,
|
|
104,
|
|
255,
|
|
63,
|
|
117,
|
|
153,
|
|
0,
|
|
144,
|
|
69,
|
|
48,
|
|
0,
|
|
35,
|
|
228,
|
|
111,
|
|
0,
|
|
192,
|
|
33,
|
|
193,
|
|
255,
|
|
112,
|
|
214,
|
|
190,
|
|
254,
|
|
115,
|
|
152,
|
|
151,
|
|
0,
|
|
23,
|
|
102,
|
|
88,
|
|
0,
|
|
51,
|
|
74,
|
|
248,
|
|
0,
|
|
226,
|
|
199,
|
|
143,
|
|
254,
|
|
204,
|
|
162,
|
|
101,
|
|
255,
|
|
208,
|
|
97,
|
|
189,
|
|
1,
|
|
245,
|
|
104,
|
|
18,
|
|
0,
|
|
230,
|
|
246,
|
|
30,
|
|
255,
|
|
23,
|
|
148,
|
|
69,
|
|
0,
|
|
110,
|
|
88,
|
|
52,
|
|
254,
|
|
226,
|
|
181,
|
|
89,
|
|
255,
|
|
208,
|
|
47,
|
|
90,
|
|
254,
|
|
114,
|
|
161,
|
|
80,
|
|
255,
|
|
33,
|
|
116,
|
|
248,
|
|
0,
|
|
179,
|
|
152,
|
|
87,
|
|
255,
|
|
69,
|
|
144,
|
|
177,
|
|
1,
|
|
88,
|
|
238,
|
|
26,
|
|
255,
|
|
58,
|
|
32,
|
|
113,
|
|
1,
|
|
1,
|
|
77,
|
|
69,
|
|
0,
|
|
59,
|
|
121,
|
|
52,
|
|
255,
|
|
152,
|
|
238,
|
|
83,
|
|
0,
|
|
52,
|
|
8,
|
|
193,
|
|
0,
|
|
231,
|
|
39,
|
|
233,
|
|
255,
|
|
199,
|
|
34,
|
|
138,
|
|
0,
|
|
222,
|
|
68,
|
|
173,
|
|
0,
|
|
91,
|
|
57,
|
|
242,
|
|
254,
|
|
220,
|
|
210,
|
|
127,
|
|
255,
|
|
192,
|
|
7,
|
|
246,
|
|
254,
|
|
151,
|
|
35,
|
|
187,
|
|
0,
|
|
195,
|
|
236,
|
|
165,
|
|
0,
|
|
111,
|
|
93,
|
|
206,
|
|
0,
|
|
212,
|
|
247,
|
|
133,
|
|
1,
|
|
154,
|
|
133,
|
|
209,
|
|
255,
|
|
155,
|
|
231,
|
|
10,
|
|
0,
|
|
64,
|
|
78,
|
|
38,
|
|
0,
|
|
122,
|
|
249,
|
|
100,
|
|
1,
|
|
30,
|
|
19,
|
|
97,
|
|
255,
|
|
62,
|
|
91,
|
|
249,
|
|
1,
|
|
248,
|
|
133,
|
|
77,
|
|
0,
|
|
197,
|
|
63,
|
|
168,
|
|
254,
|
|
116,
|
|
10,
|
|
82,
|
|
0,
|
|
184,
|
|
236,
|
|
113,
|
|
254,
|
|
212,
|
|
203,
|
|
194,
|
|
255,
|
|
61,
|
|
100,
|
|
252,
|
|
254,
|
|
36,
|
|
5,
|
|
202,
|
|
255,
|
|
119,
|
|
91,
|
|
153,
|
|
255,
|
|
129,
|
|
79,
|
|
29,
|
|
0,
|
|
103,
|
|
103,
|
|
171,
|
|
254,
|
|
237,
|
|
215,
|
|
111,
|
|
255,
|
|
216,
|
|
53,
|
|
69,
|
|
0,
|
|
239,
|
|
240,
|
|
23,
|
|
0,
|
|
194,
|
|
149,
|
|
221,
|
|
255,
|
|
38,
|
|
225,
|
|
222,
|
|
0,
|
|
232,
|
|
255,
|
|
180,
|
|
254,
|
|
118,
|
|
82,
|
|
133,
|
|
255,
|
|
57,
|
|
209,
|
|
177,
|
|
1,
|
|
139,
|
|
232,
|
|
133,
|
|
0,
|
|
158,
|
|
176,
|
|
46,
|
|
254,
|
|
194,
|
|
115,
|
|
46,
|
|
0,
|
|
88,
|
|
247,
|
|
229,
|
|
1,
|
|
28,
|
|
103,
|
|
191,
|
|
0,
|
|
221,
|
|
222,
|
|
175,
|
|
254,
|
|
149,
|
|
235,
|
|
44,
|
|
0,
|
|
151,
|
|
228,
|
|
25,
|
|
254,
|
|
218,
|
|
105,
|
|
103,
|
|
0,
|
|
142,
|
|
85,
|
|
210,
|
|
0,
|
|
149,
|
|
129,
|
|
190,
|
|
255,
|
|
213,
|
|
65,
|
|
94,
|
|
254,
|
|
117,
|
|
134,
|
|
224,
|
|
255,
|
|
82,
|
|
198,
|
|
117,
|
|
0,
|
|
157,
|
|
221,
|
|
220,
|
|
0,
|
|
163,
|
|
101,
|
|
36,
|
|
0,
|
|
197,
|
|
114,
|
|
37,
|
|
0,
|
|
104,
|
|
172,
|
|
166,
|
|
254,
|
|
11,
|
|
182,
|
|
0,
|
|
0,
|
|
81,
|
|
72,
|
|
188,
|
|
255,
|
|
97,
|
|
188,
|
|
16,
|
|
255,
|
|
69,
|
|
6,
|
|
10,
|
|
0,
|
|
199,
|
|
147,
|
|
145,
|
|
255,
|
|
8,
|
|
9,
|
|
115,
|
|
1,
|
|
65,
|
|
214,
|
|
175,
|
|
255,
|
|
217,
|
|
173,
|
|
209,
|
|
0,
|
|
80,
|
|
127,
|
|
166,
|
|
0,
|
|
247,
|
|
229,
|
|
4,
|
|
254,
|
|
167,
|
|
183,
|
|
124,
|
|
255,
|
|
90,
|
|
28,
|
|
204,
|
|
254,
|
|
175,
|
|
59,
|
|
240,
|
|
255,
|
|
11,
|
|
41,
|
|
248,
|
|
1,
|
|
108,
|
|
40,
|
|
51,
|
|
255,
|
|
144,
|
|
177,
|
|
195,
|
|
254,
|
|
150,
|
|
250,
|
|
126,
|
|
0,
|
|
138,
|
|
91,
|
|
65,
|
|
1,
|
|
120,
|
|
60,
|
|
222,
|
|
255,
|
|
245,
|
|
193,
|
|
239,
|
|
0,
|
|
29,
|
|
214,
|
|
189,
|
|
255,
|
|
128,
|
|
2,
|
|
25,
|
|
0,
|
|
80,
|
|
154,
|
|
162,
|
|
0,
|
|
77,
|
|
220,
|
|
107,
|
|
1,
|
|
234,
|
|
205,
|
|
74,
|
|
255,
|
|
54,
|
|
166,
|
|
103,
|
|
255,
|
|
116,
|
|
72,
|
|
9,
|
|
0,
|
|
228,
|
|
94,
|
|
47,
|
|
255,
|
|
30,
|
|
200,
|
|
25,
|
|
255,
|
|
35,
|
|
214,
|
|
89,
|
|
255,
|
|
61,
|
|
176,
|
|
140,
|
|
255,
|
|
83,
|
|
226,
|
|
163,
|
|
255,
|
|
75,
|
|
130,
|
|
172,
|
|
0,
|
|
128,
|
|
38,
|
|
17,
|
|
0,
|
|
95,
|
|
137,
|
|
152,
|
|
255,
|
|
215,
|
|
124,
|
|
159,
|
|
1,
|
|
79,
|
|
93,
|
|
0,
|
|
0,
|
|
148,
|
|
82,
|
|
157,
|
|
254,
|
|
195,
|
|
130,
|
|
251,
|
|
255,
|
|
40,
|
|
202,
|
|
76,
|
|
255,
|
|
251,
|
|
126,
|
|
224,
|
|
0,
|
|
157,
|
|
99,
|
|
62,
|
|
254,
|
|
207,
|
|
7,
|
|
225,
|
|
255,
|
|
96,
|
|
68,
|
|
195,
|
|
0,
|
|
140,
|
|
186,
|
|
157,
|
|
255,
|
|
131,
|
|
19,
|
|
231,
|
|
255,
|
|
42,
|
|
128,
|
|
254,
|
|
0,
|
|
52,
|
|
219,
|
|
61,
|
|
254,
|
|
102,
|
|
203,
|
|
72,
|
|
0,
|
|
141,
|
|
7,
|
|
11,
|
|
255,
|
|
186,
|
|
164,
|
|
213,
|
|
0,
|
|
31,
|
|
122,
|
|
119,
|
|
0,
|
|
133,
|
|
242,
|
|
145,
|
|
0,
|
|
208,
|
|
252,
|
|
232,
|
|
255,
|
|
91,
|
|
213,
|
|
182,
|
|
255,
|
|
143,
|
|
4,
|
|
250,
|
|
254,
|
|
249,
|
|
215,
|
|
74,
|
|
0,
|
|
165,
|
|
30,
|
|
111,
|
|
1,
|
|
171,
|
|
9,
|
|
223,
|
|
0,
|
|
229,
|
|
123,
|
|
34,
|
|
1,
|
|
92,
|
|
130,
|
|
26,
|
|
255,
|
|
77,
|
|
155,
|
|
45,
|
|
1,
|
|
195,
|
|
139,
|
|
28,
|
|
255,
|
|
59,
|
|
224,
|
|
78,
|
|
0,
|
|
136,
|
|
17,
|
|
247,
|
|
0,
|
|
108,
|
|
121,
|
|
32,
|
|
0,
|
|
79,
|
|
250,
|
|
189,
|
|
255,
|
|
96,
|
|
227,
|
|
252,
|
|
254,
|
|
38,
|
|
241,
|
|
62,
|
|
0,
|
|
62,
|
|
174,
|
|
125,
|
|
255,
|
|
155,
|
|
111,
|
|
93,
|
|
255,
|
|
10,
|
|
230,
|
|
206,
|
|
1,
|
|
97,
|
|
197,
|
|
40,
|
|
255,
|
|
0,
|
|
49,
|
|
57,
|
|
254,
|
|
65,
|
|
250,
|
|
13,
|
|
0,
|
|
18,
|
|
251,
|
|
150,
|
|
255,
|
|
220,
|
|
109,
|
|
210,
|
|
255,
|
|
5,
|
|
174,
|
|
166,
|
|
254,
|
|
44,
|
|
129,
|
|
189,
|
|
0,
|
|
235,
|
|
35,
|
|
147,
|
|
255,
|
|
37,
|
|
247,
|
|
141,
|
|
255,
|
|
72,
|
|
141,
|
|
4,
|
|
255,
|
|
103,
|
|
107,
|
|
255,
|
|
0,
|
|
247,
|
|
90,
|
|
4,
|
|
0,
|
|
53,
|
|
44,
|
|
42,
|
|
0,
|
|
2,
|
|
30,
|
|
240,
|
|
0,
|
|
4,
|
|
59,
|
|
63,
|
|
0,
|
|
88,
|
|
78,
|
|
36,
|
|
0,
|
|
113,
|
|
167,
|
|
180,
|
|
0,
|
|
190,
|
|
71,
|
|
193,
|
|
255,
|
|
199,
|
|
158,
|
|
164,
|
|
255,
|
|
58,
|
|
8,
|
|
172,
|
|
0,
|
|
77,
|
|
33,
|
|
12,
|
|
0,
|
|
65,
|
|
63,
|
|
3,
|
|
0,
|
|
153,
|
|
77,
|
|
33,
|
|
255,
|
|
172,
|
|
254,
|
|
102,
|
|
1,
|
|
228,
|
|
221,
|
|
4,
|
|
255,
|
|
87,
|
|
30,
|
|
254,
|
|
1,
|
|
146,
|
|
41,
|
|
86,
|
|
255,
|
|
138,
|
|
204,
|
|
239,
|
|
254,
|
|
108,
|
|
141,
|
|
17,
|
|
255,
|
|
187,
|
|
242,
|
|
135,
|
|
0,
|
|
210,
|
|
208,
|
|
127,
|
|
0,
|
|
68,
|
|
45,
|
|
14,
|
|
254,
|
|
73,
|
|
96,
|
|
62,
|
|
0,
|
|
81,
|
|
60,
|
|
24,
|
|
255,
|
|
170,
|
|
6,
|
|
36,
|
|
255,
|
|
3,
|
|
249,
|
|
26,
|
|
0,
|
|
35,
|
|
213,
|
|
109,
|
|
0,
|
|
22,
|
|
129,
|
|
54,
|
|
255,
|
|
21,
|
|
35,
|
|
225,
|
|
255,
|
|
234,
|
|
61,
|
|
56,
|
|
255,
|
|
58,
|
|
217,
|
|
6,
|
|
0,
|
|
143,
|
|
124,
|
|
88,
|
|
0,
|
|
236,
|
|
126,
|
|
66,
|
|
0,
|
|
209,
|
|
38,
|
|
183,
|
|
255,
|
|
34,
|
|
238,
|
|
6,
|
|
255,
|
|
174,
|
|
145,
|
|
102,
|
|
0,
|
|
95,
|
|
22,
|
|
211,
|
|
0,
|
|
196,
|
|
15,
|
|
153,
|
|
254,
|
|
46,
|
|
84,
|
|
232,
|
|
255,
|
|
117,
|
|
34,
|
|
146,
|
|
1,
|
|
231,
|
|
250,
|
|
74,
|
|
255,
|
|
27,
|
|
134,
|
|
100,
|
|
1,
|
|
92,
|
|
187,
|
|
195,
|
|
255,
|
|
170,
|
|
198,
|
|
112,
|
|
0,
|
|
120,
|
|
28,
|
|
42,
|
|
0,
|
|
209,
|
|
70,
|
|
67,
|
|
0,
|
|
29,
|
|
81,
|
|
31,
|
|
0,
|
|
29,
|
|
168,
|
|
100,
|
|
1,
|
|
169,
|
|
173,
|
|
160,
|
|
0,
|
|
107,
|
|
35,
|
|
117,
|
|
0,
|
|
62,
|
|
96,
|
|
59,
|
|
255,
|
|
81,
|
|
12,
|
|
69,
|
|
1,
|
|
135,
|
|
239,
|
|
190,
|
|
255,
|
|
220,
|
|
252,
|
|
18,
|
|
0,
|
|
163,
|
|
220,
|
|
58,
|
|
255,
|
|
137,
|
|
137,
|
|
188,
|
|
255,
|
|
83,
|
|
102,
|
|
109,
|
|
0,
|
|
96,
|
|
6,
|
|
76,
|
|
0,
|
|
234,
|
|
222,
|
|
210,
|
|
255,
|
|
185,
|
|
174,
|
|
205,
|
|
1,
|
|
60,
|
|
158,
|
|
213,
|
|
255,
|
|
13,
|
|
241,
|
|
214,
|
|
0,
|
|
172,
|
|
129,
|
|
140,
|
|
0,
|
|
93,
|
|
104,
|
|
242,
|
|
0,
|
|
192,
|
|
156,
|
|
251,
|
|
0,
|
|
43,
|
|
117,
|
|
30,
|
|
0,
|
|
225,
|
|
81,
|
|
158,
|
|
0,
|
|
127,
|
|
232,
|
|
218,
|
|
0,
|
|
226,
|
|
28,
|
|
203,
|
|
0,
|
|
233,
|
|
27,
|
|
151,
|
|
255,
|
|
117,
|
|
43,
|
|
5,
|
|
255,
|
|
242,
|
|
14,
|
|
47,
|
|
255,
|
|
33,
|
|
20,
|
|
6,
|
|
0,
|
|
137,
|
|
251,
|
|
44,
|
|
254,
|
|
27,
|
|
31,
|
|
245,
|
|
255,
|
|
183,
|
|
214,
|
|
125,
|
|
254,
|
|
40,
|
|
121,
|
|
149,
|
|
0,
|
|
186,
|
|
158,
|
|
213,
|
|
255,
|
|
89,
|
|
8,
|
|
227,
|
|
0,
|
|
69,
|
|
88,
|
|
0,
|
|
254,
|
|
203,
|
|
135,
|
|
225,
|
|
0,
|
|
201,
|
|
174,
|
|
203,
|
|
0,
|
|
147,
|
|
71,
|
|
184,
|
|
0,
|
|
18,
|
|
121,
|
|
41,
|
|
254,
|
|
94,
|
|
5,
|
|
78,
|
|
0,
|
|
224,
|
|
214,
|
|
240,
|
|
254,
|
|
36,
|
|
5,
|
|
180,
|
|
0,
|
|
251,
|
|
135,
|
|
231,
|
|
1,
|
|
163,
|
|
138,
|
|
212,
|
|
0,
|
|
210,
|
|
249,
|
|
116,
|
|
254,
|
|
88,
|
|
129,
|
|
187,
|
|
0,
|
|
19,
|
|
8,
|
|
49,
|
|
254,
|
|
62,
|
|
14,
|
|
144,
|
|
255,
|
|
159,
|
|
76,
|
|
211,
|
|
0,
|
|
214,
|
|
51,
|
|
82,
|
|
0,
|
|
109,
|
|
117,
|
|
228,
|
|
254,
|
|
103,
|
|
223,
|
|
203,
|
|
255,
|
|
75,
|
|
252,
|
|
15,
|
|
1,
|
|
154,
|
|
71,
|
|
220,
|
|
255,
|
|
23,
|
|
13,
|
|
91,
|
|
1,
|
|
141,
|
|
168,
|
|
96,
|
|
255,
|
|
181,
|
|
182,
|
|
133,
|
|
0,
|
|
250,
|
|
51,
|
|
55,
|
|
0,
|
|
234,
|
|
234,
|
|
212,
|
|
254,
|
|
175,
|
|
63,
|
|
158,
|
|
0,
|
|
39,
|
|
240,
|
|
52,
|
|
1,
|
|
158,
|
|
189,
|
|
36,
|
|
255,
|
|
213,
|
|
40,
|
|
85,
|
|
1,
|
|
32,
|
|
180,
|
|
247,
|
|
255,
|
|
19,
|
|
102,
|
|
26,
|
|
1,
|
|
84,
|
|
24,
|
|
97,
|
|
255,
|
|
69,
|
|
21,
|
|
222,
|
|
0,
|
|
148,
|
|
139,
|
|
122,
|
|
255,
|
|
220,
|
|
213,
|
|
235,
|
|
1,
|
|
232,
|
|
203,
|
|
255,
|
|
0,
|
|
121,
|
|
57,
|
|
147,
|
|
0,
|
|
227,
|
|
7,
|
|
154,
|
|
0,
|
|
53,
|
|
22,
|
|
147,
|
|
1,
|
|
72,
|
|
1,
|
|
225,
|
|
0,
|
|
82,
|
|
134,
|
|
48,
|
|
254,
|
|
83,
|
|
60,
|
|
157,
|
|
255,
|
|
145,
|
|
72,
|
|
169,
|
|
0,
|
|
34,
|
|
103,
|
|
239,
|
|
0,
|
|
198,
|
|
233,
|
|
47,
|
|
0,
|
|
116,
|
|
19,
|
|
4,
|
|
255,
|
|
184,
|
|
106,
|
|
9,
|
|
255,
|
|
183,
|
|
129,
|
|
83,
|
|
0,
|
|
36,
|
|
176,
|
|
230,
|
|
1,
|
|
34,
|
|
103,
|
|
72,
|
|
0,
|
|
219,
|
|
162,
|
|
134,
|
|
0,
|
|
245,
|
|
42,
|
|
158,
|
|
0,
|
|
32,
|
|
149,
|
|
96,
|
|
254,
|
|
165,
|
|
44,
|
|
144,
|
|
0,
|
|
202,
|
|
239,
|
|
72,
|
|
254,
|
|
215,
|
|
150,
|
|
5,
|
|
0,
|
|
42,
|
|
66,
|
|
36,
|
|
1,
|
|
132,
|
|
215,
|
|
175,
|
|
0,
|
|
86,
|
|
174,
|
|
86,
|
|
255,
|
|
26,
|
|
197,
|
|
156,
|
|
255,
|
|
49,
|
|
232,
|
|
135,
|
|
254,
|
|
103,
|
|
182,
|
|
82,
|
|
0,
|
|
253,
|
|
128,
|
|
176,
|
|
1,
|
|
153,
|
|
178,
|
|
122,
|
|
0,
|
|
245,
|
|
250,
|
|
10,
|
|
0,
|
|
236,
|
|
24,
|
|
178,
|
|
0,
|
|
137,
|
|
106,
|
|
132,
|
|
0,
|
|
40,
|
|
29,
|
|
41,
|
|
0,
|
|
50,
|
|
30,
|
|
152,
|
|
255,
|
|
124,
|
|
105,
|
|
38,
|
|
0,
|
|
230,
|
|
191,
|
|
75,
|
|
0,
|
|
143,
|
|
43,
|
|
170,
|
|
0,
|
|
44,
|
|
131,
|
|
20,
|
|
255,
|
|
44,
|
|
13,
|
|
23,
|
|
255,
|
|
237,
|
|
255,
|
|
155,
|
|
1,
|
|
159,
|
|
109,
|
|
100,
|
|
255,
|
|
112,
|
|
181,
|
|
24,
|
|
255,
|
|
104,
|
|
220,
|
|
108,
|
|
0,
|
|
55,
|
|
211,
|
|
131,
|
|
0,
|
|
99,
|
|
12,
|
|
213,
|
|
255,
|
|
152,
|
|
151,
|
|
145,
|
|
255,
|
|
238,
|
|
5,
|
|
159,
|
|
0,
|
|
97,
|
|
155,
|
|
8,
|
|
0,
|
|
33,
|
|
108,
|
|
81,
|
|
0,
|
|
1,
|
|
3,
|
|
103,
|
|
0,
|
|
62,
|
|
109,
|
|
34,
|
|
255,
|
|
250,
|
|
155,
|
|
180,
|
|
0,
|
|
32,
|
|
71,
|
|
195,
|
|
255,
|
|
38,
|
|
70,
|
|
145,
|
|
1,
|
|
159,
|
|
95,
|
|
245,
|
|
0,
|
|
69,
|
|
229,
|
|
101,
|
|
1,
|
|
136,
|
|
28,
|
|
240,
|
|
0,
|
|
79,
|
|
224,
|
|
25,
|
|
0,
|
|
78,
|
|
110,
|
|
121,
|
|
255,
|
|
248,
|
|
168,
|
|
124,
|
|
0,
|
|
187,
|
|
128,
|
|
247,
|
|
0,
|
|
2,
|
|
147,
|
|
235,
|
|
254,
|
|
79,
|
|
11,
|
|
132,
|
|
0,
|
|
70,
|
|
58,
|
|
12,
|
|
1,
|
|
181,
|
|
8,
|
|
163,
|
|
255,
|
|
79,
|
|
137,
|
|
133,
|
|
255,
|
|
37,
|
|
170,
|
|
11,
|
|
255,
|
|
141,
|
|
243,
|
|
85,
|
|
255,
|
|
176,
|
|
231,
|
|
215,
|
|
255,
|
|
204,
|
|
150,
|
|
164,
|
|
255,
|
|
239,
|
|
215,
|
|
39,
|
|
255,
|
|
46,
|
|
87,
|
|
156,
|
|
254,
|
|
8,
|
|
163,
|
|
88,
|
|
255,
|
|
172,
|
|
34,
|
|
232,
|
|
0,
|
|
66,
|
|
44,
|
|
102,
|
|
255,
|
|
27,
|
|
54,
|
|
41,
|
|
254,
|
|
236,
|
|
99,
|
|
87,
|
|
255,
|
|
41,
|
|
123,
|
|
169,
|
|
1,
|
|
52,
|
|
114,
|
|
43,
|
|
0,
|
|
117,
|
|
134,
|
|
40,
|
|
0,
|
|
155,
|
|
134,
|
|
26,
|
|
0,
|
|
231,
|
|
207,
|
|
91,
|
|
254,
|
|
35,
|
|
132,
|
|
38,
|
|
255,
|
|
19,
|
|
102,
|
|
125,
|
|
254,
|
|
36,
|
|
227,
|
|
133,
|
|
255,
|
|
118,
|
|
3,
|
|
113,
|
|
255,
|
|
29,
|
|
13,
|
|
124,
|
|
0,
|
|
152,
|
|
96,
|
|
74,
|
|
1,
|
|
88,
|
|
146,
|
|
206,
|
|
255,
|
|
167,
|
|
191,
|
|
220,
|
|
254,
|
|
162,
|
|
18,
|
|
88,
|
|
255,
|
|
182,
|
|
100,
|
|
23,
|
|
0,
|
|
31,
|
|
117,
|
|
52,
|
|
0,
|
|
81,
|
|
46,
|
|
106,
|
|
1,
|
|
12,
|
|
2,
|
|
7,
|
|
0,
|
|
69,
|
|
80,
|
|
201,
|
|
1,
|
|
209,
|
|
246,
|
|
172,
|
|
0,
|
|
12,
|
|
48,
|
|
141,
|
|
1,
|
|
224,
|
|
211,
|
|
88,
|
|
0,
|
|
116,
|
|
226,
|
|
159,
|
|
0,
|
|
122,
|
|
98,
|
|
130,
|
|
0,
|
|
65,
|
|
236,
|
|
234,
|
|
1,
|
|
225,
|
|
226,
|
|
9,
|
|
255,
|
|
207,
|
|
226,
|
|
123,
|
|
1,
|
|
89,
|
|
214,
|
|
59,
|
|
0,
|
|
112,
|
|
135,
|
|
88,
|
|
1,
|
|
90,
|
|
244,
|
|
203,
|
|
255,
|
|
49,
|
|
11,
|
|
38,
|
|
1,
|
|
129,
|
|
108,
|
|
186,
|
|
0,
|
|
89,
|
|
112,
|
|
15,
|
|
1,
|
|
101,
|
|
46,
|
|
204,
|
|
255,
|
|
127,
|
|
204,
|
|
45,
|
|
254,
|
|
79,
|
|
255,
|
|
221,
|
|
255,
|
|
51,
|
|
73,
|
|
18,
|
|
255,
|
|
127,
|
|
42,
|
|
101,
|
|
255,
|
|
241,
|
|
21,
|
|
202,
|
|
0,
|
|
160,
|
|
227,
|
|
7,
|
|
0,
|
|
105,
|
|
50,
|
|
236,
|
|
0,
|
|
79,
|
|
52,
|
|
197,
|
|
255,
|
|
104,
|
|
202,
|
|
208,
|
|
1,
|
|
180,
|
|
15,
|
|
16,
|
|
0,
|
|
101,
|
|
197,
|
|
78,
|
|
255,
|
|
98,
|
|
77,
|
|
203,
|
|
0,
|
|
41,
|
|
185,
|
|
241,
|
|
1,
|
|
35,
|
|
193,
|
|
124,
|
|
0,
|
|
35,
|
|
155,
|
|
23,
|
|
255,
|
|
207,
|
|
53,
|
|
192,
|
|
0,
|
|
11,
|
|
125,
|
|
163,
|
|
1,
|
|
249,
|
|
158,
|
|
185,
|
|
255,
|
|
4,
|
|
131,
|
|
48,
|
|
0,
|
|
21,
|
|
93,
|
|
111,
|
|
255,
|
|
61,
|
|
121,
|
|
231,
|
|
1,
|
|
69,
|
|
200,
|
|
36,
|
|
255,
|
|
185,
|
|
48,
|
|
185,
|
|
255,
|
|
111,
|
|
238,
|
|
21,
|
|
255,
|
|
39,
|
|
50,
|
|
25,
|
|
255,
|
|
99,
|
|
215,
|
|
163,
|
|
255,
|
|
87,
|
|
212,
|
|
30,
|
|
255,
|
|
164,
|
|
147,
|
|
5,
|
|
255,
|
|
128,
|
|
6,
|
|
35,
|
|
1,
|
|
108,
|
|
223,
|
|
110,
|
|
255,
|
|
194,
|
|
76,
|
|
178,
|
|
0,
|
|
74,
|
|
101,
|
|
180,
|
|
0,
|
|
243,
|
|
47,
|
|
48,
|
|
0,
|
|
174,
|
|
25,
|
|
43,
|
|
255,
|
|
82,
|
|
173,
|
|
253,
|
|
1,
|
|
54,
|
|
114,
|
|
192,
|
|
255,
|
|
40,
|
|
55,
|
|
91,
|
|
0,
|
|
215,
|
|
108,
|
|
176,
|
|
255,
|
|
11,
|
|
56,
|
|
7,
|
|
0,
|
|
224,
|
|
233,
|
|
76,
|
|
0,
|
|
209,
|
|
98,
|
|
202,
|
|
254,
|
|
242,
|
|
25,
|
|
125,
|
|
0,
|
|
44,
|
|
193,
|
|
93,
|
|
254,
|
|
203,
|
|
8,
|
|
177,
|
|
0,
|
|
135,
|
|
176,
|
|
19,
|
|
0,
|
|
112,
|
|
71,
|
|
213,
|
|
255,
|
|
206,
|
|
59,
|
|
176,
|
|
1,
|
|
4,
|
|
67,
|
|
26,
|
|
0,
|
|
14,
|
|
143,
|
|
213,
|
|
254,
|
|
42,
|
|
55,
|
|
208,
|
|
255,
|
|
60,
|
|
67,
|
|
120,
|
|
0,
|
|
193,
|
|
21,
|
|
163,
|
|
0,
|
|
99,
|
|
164,
|
|
115,
|
|
0,
|
|
10,
|
|
20,
|
|
118,
|
|
0,
|
|
156,
|
|
212,
|
|
222,
|
|
254,
|
|
160,
|
|
7,
|
|
217,
|
|
255,
|
|
114,
|
|
245,
|
|
76,
|
|
1,
|
|
117,
|
|
59,
|
|
123,
|
|
0,
|
|
176,
|
|
194,
|
|
86,
|
|
254,
|
|
213,
|
|
15,
|
|
176,
|
|
0,
|
|
78,
|
|
206,
|
|
207,
|
|
254,
|
|
213,
|
|
129,
|
|
59,
|
|
0,
|
|
233,
|
|
251,
|
|
22,
|
|
1,
|
|
96,
|
|
55,
|
|
152,
|
|
255,
|
|
236,
|
|
255,
|
|
15,
|
|
255,
|
|
197,
|
|
89,
|
|
84,
|
|
255,
|
|
93,
|
|
149,
|
|
133,
|
|
0,
|
|
174,
|
|
160,
|
|
113,
|
|
0,
|
|
234,
|
|
99,
|
|
169,
|
|
255,
|
|
152,
|
|
116,
|
|
88,
|
|
0,
|
|
144,
|
|
164,
|
|
83,
|
|
255,
|
|
95,
|
|
29,
|
|
198,
|
|
255,
|
|
34,
|
|
47,
|
|
15,
|
|
255,
|
|
99,
|
|
120,
|
|
134,
|
|
255,
|
|
5,
|
|
236,
|
|
193,
|
|
0,
|
|
249,
|
|
247,
|
|
126,
|
|
255,
|
|
147,
|
|
187,
|
|
30,
|
|
0,
|
|
50,
|
|
230,
|
|
117,
|
|
255,
|
|
108,
|
|
217,
|
|
219,
|
|
255,
|
|
163,
|
|
81,
|
|
166,
|
|
255,
|
|
72,
|
|
25,
|
|
169,
|
|
254,
|
|
155,
|
|
121,
|
|
79,
|
|
255,
|
|
28,
|
|
155,
|
|
89,
|
|
254,
|
|
7,
|
|
126,
|
|
17,
|
|
0,
|
|
147,
|
|
65,
|
|
33,
|
|
1,
|
|
47,
|
|
234,
|
|
253,
|
|
0,
|
|
26,
|
|
51,
|
|
18,
|
|
0,
|
|
105,
|
|
83,
|
|
199,
|
|
255,
|
|
163,
|
|
196,
|
|
230,
|
|
0,
|
|
113,
|
|
248,
|
|
164,
|
|
0,
|
|
226,
|
|
254,
|
|
218,
|
|
0,
|
|
189,
|
|
209,
|
|
203,
|
|
255,
|
|
164,
|
|
247,
|
|
222,
|
|
254,
|
|
255,
|
|
35,
|
|
165,
|
|
0,
|
|
4,
|
|
188,
|
|
243,
|
|
1,
|
|
127,
|
|
179,
|
|
71,
|
|
0,
|
|
37,
|
|
237,
|
|
254,
|
|
255,
|
|
100,
|
|
186,
|
|
240,
|
|
0,
|
|
5,
|
|
57,
|
|
71,
|
|
254,
|
|
103,
|
|
72,
|
|
73,
|
|
255,
|
|
244,
|
|
18,
|
|
81,
|
|
254,
|
|
229,
|
|
210,
|
|
132,
|
|
255,
|
|
238,
|
|
6,
|
|
180,
|
|
255,
|
|
11,
|
|
229,
|
|
174,
|
|
255,
|
|
227,
|
|
221,
|
|
192,
|
|
1,
|
|
17,
|
|
49,
|
|
28,
|
|
0,
|
|
163,
|
|
215,
|
|
196,
|
|
254,
|
|
9,
|
|
118,
|
|
4,
|
|
255,
|
|
51,
|
|
240,
|
|
71,
|
|
0,
|
|
113,
|
|
129,
|
|
109,
|
|
255,
|
|
76,
|
|
240,
|
|
231,
|
|
0,
|
|
188,
|
|
177,
|
|
127,
|
|
0,
|
|
125,
|
|
71,
|
|
44,
|
|
1,
|
|
26,
|
|
175,
|
|
243,
|
|
0,
|
|
94,
|
|
169,
|
|
25,
|
|
254,
|
|
27,
|
|
230,
|
|
29,
|
|
0,
|
|
15,
|
|
139,
|
|
119,
|
|
1,
|
|
168,
|
|
170,
|
|
186,
|
|
255,
|
|
172,
|
|
197,
|
|
76,
|
|
255,
|
|
252,
|
|
75,
|
|
188,
|
|
0,
|
|
137,
|
|
124,
|
|
196,
|
|
0,
|
|
72,
|
|
22,
|
|
96,
|
|
255,
|
|
45,
|
|
151,
|
|
249,
|
|
1,
|
|
220,
|
|
145,
|
|
100,
|
|
0,
|
|
64,
|
|
192,
|
|
159,
|
|
255,
|
|
120,
|
|
239,
|
|
226,
|
|
0,
|
|
129,
|
|
178,
|
|
146,
|
|
0,
|
|
0,
|
|
192,
|
|
125,
|
|
0,
|
|
235,
|
|
138,
|
|
234,
|
|
0,
|
|
183,
|
|
157,
|
|
146,
|
|
0,
|
|
83,
|
|
199,
|
|
192,
|
|
255,
|
|
184,
|
|
172,
|
|
72,
|
|
255,
|
|
73,
|
|
225,
|
|
128,
|
|
0,
|
|
77,
|
|
6,
|
|
250,
|
|
255,
|
|
186,
|
|
65,
|
|
67,
|
|
0,
|
|
104,
|
|
246,
|
|
207,
|
|
0,
|
|
188,
|
|
32,
|
|
138,
|
|
255,
|
|
218,
|
|
24,
|
|
242,
|
|
0,
|
|
67,
|
|
138,
|
|
81,
|
|
254,
|
|
237,
|
|
129,
|
|
121,
|
|
255,
|
|
20,
|
|
207,
|
|
150,
|
|
1,
|
|
41,
|
|
199,
|
|
16,
|
|
255,
|
|
6,
|
|
20,
|
|
128,
|
|
0,
|
|
159,
|
|
118,
|
|
5,
|
|
0,
|
|
181,
|
|
16,
|
|
143,
|
|
255,
|
|
220,
|
|
38,
|
|
15,
|
|
0,
|
|
23,
|
|
64,
|
|
147,
|
|
254,
|
|
73,
|
|
26,
|
|
13,
|
|
0,
|
|
87,
|
|
228,
|
|
57,
|
|
1,
|
|
204,
|
|
124,
|
|
128,
|
|
0,
|
|
43,
|
|
24,
|
|
223,
|
|
0,
|
|
219,
|
|
99,
|
|
199,
|
|
0,
|
|
22,
|
|
75,
|
|
20,
|
|
255,
|
|
19,
|
|
27,
|
|
126,
|
|
0,
|
|
157,
|
|
62,
|
|
215,
|
|
0,
|
|
110,
|
|
29,
|
|
230,
|
|
0,
|
|
179,
|
|
167,
|
|
255,
|
|
1,
|
|
54,
|
|
252,
|
|
190,
|
|
0,
|
|
221,
|
|
204,
|
|
182,
|
|
254,
|
|
179,
|
|
158,
|
|
65,
|
|
255,
|
|
81,
|
|
157,
|
|
3,
|
|
0,
|
|
194,
|
|
218,
|
|
159,
|
|
0,
|
|
170,
|
|
223,
|
|
0,
|
|
0,
|
|
224,
|
|
11,
|
|
32,
|
|
255,
|
|
38,
|
|
197,
|
|
98,
|
|
0,
|
|
168,
|
|
164,
|
|
37,
|
|
0,
|
|
23,
|
|
88,
|
|
7,
|
|
1,
|
|
164,
|
|
186,
|
|
110,
|
|
0,
|
|
96,
|
|
36,
|
|
134,
|
|
0,
|
|
234,
|
|
242,
|
|
229,
|
|
0,
|
|
250,
|
|
121,
|
|
19,
|
|
0,
|
|
242,
|
|
254,
|
|
112,
|
|
255,
|
|
3,
|
|
47,
|
|
94,
|
|
1,
|
|
9,
|
|
239,
|
|
6,
|
|
255,
|
|
81,
|
|
134,
|
|
153,
|
|
254,
|
|
214,
|
|
253,
|
|
168,
|
|
255,
|
|
67,
|
|
124,
|
|
224,
|
|
0,
|
|
245,
|
|
95,
|
|
74,
|
|
0,
|
|
28,
|
|
30,
|
|
44,
|
|
254,
|
|
1,
|
|
109,
|
|
220,
|
|
255,
|
|
178,
|
|
89,
|
|
89,
|
|
0,
|
|
252,
|
|
36,
|
|
76,
|
|
0,
|
|
24,
|
|
198,
|
|
46,
|
|
255,
|
|
76,
|
|
77,
|
|
111,
|
|
0,
|
|
134,
|
|
234,
|
|
136,
|
|
255,
|
|
39,
|
|
94,
|
|
29,
|
|
0,
|
|
185,
|
|
72,
|
|
234,
|
|
255,
|
|
70,
|
|
68,
|
|
135,
|
|
255,
|
|
231,
|
|
102,
|
|
7,
|
|
254,
|
|
77,
|
|
231,
|
|
140,
|
|
0,
|
|
167,
|
|
47,
|
|
58,
|
|
1,
|
|
148,
|
|
97,
|
|
118,
|
|
255,
|
|
16,
|
|
27,
|
|
225,
|
|
1,
|
|
166,
|
|
206,
|
|
143,
|
|
255,
|
|
110,
|
|
178,
|
|
214,
|
|
255,
|
|
180,
|
|
131,
|
|
162,
|
|
0,
|
|
143,
|
|
141,
|
|
225,
|
|
1,
|
|
13,
|
|
218,
|
|
78,
|
|
255,
|
|
114,
|
|
153,
|
|
33,
|
|
1,
|
|
98,
|
|
104,
|
|
204,
|
|
0,
|
|
175,
|
|
114,
|
|
117,
|
|
1,
|
|
167,
|
|
206,
|
|
75,
|
|
0,
|
|
202,
|
|
196,
|
|
83,
|
|
1,
|
|
58,
|
|
64,
|
|
67,
|
|
0,
|
|
138,
|
|
47,
|
|
111,
|
|
1,
|
|
196,
|
|
247,
|
|
128,
|
|
255,
|
|
137,
|
|
224,
|
|
224,
|
|
254,
|
|
158,
|
|
112,
|
|
207,
|
|
0,
|
|
154,
|
|
100,
|
|
255,
|
|
1,
|
|
134,
|
|
37,
|
|
107,
|
|
0,
|
|
198,
|
|
128,
|
|
79,
|
|
255,
|
|
127,
|
|
209,
|
|
155,
|
|
255,
|
|
163,
|
|
254,
|
|
185,
|
|
254,
|
|
60,
|
|
14,
|
|
243,
|
|
0,
|
|
31,
|
|
219,
|
|
112,
|
|
254,
|
|
29,
|
|
217,
|
|
65,
|
|
0,
|
|
200,
|
|
13,
|
|
116,
|
|
254,
|
|
123,
|
|
60,
|
|
196,
|
|
255,
|
|
224,
|
|
59,
|
|
184,
|
|
254,
|
|
242,
|
|
89,
|
|
196,
|
|
0,
|
|
123,
|
|
16,
|
|
75,
|
|
254,
|
|
149,
|
|
16,
|
|
206,
|
|
0,
|
|
69,
|
|
254,
|
|
48,
|
|
1,
|
|
231,
|
|
116,
|
|
223,
|
|
255,
|
|
209,
|
|
160,
|
|
65,
|
|
1,
|
|
200,
|
|
80,
|
|
98,
|
|
0,
|
|
37,
|
|
194,
|
|
184,
|
|
254,
|
|
148,
|
|
63,
|
|
34,
|
|
0,
|
|
139,
|
|
240,
|
|
65,
|
|
255,
|
|
217,
|
|
144,
|
|
132,
|
|
255,
|
|
56,
|
|
38,
|
|
45,
|
|
254,
|
|
199,
|
|
120,
|
|
210,
|
|
0,
|
|
108,
|
|
177,
|
|
166,
|
|
255,
|
|
160,
|
|
222,
|
|
4,
|
|
0,
|
|
220,
|
|
126,
|
|
119,
|
|
254,
|
|
165,
|
|
107,
|
|
160,
|
|
255,
|
|
82,
|
|
220,
|
|
248,
|
|
1,
|
|
241,
|
|
175,
|
|
136,
|
|
0,
|
|
144,
|
|
141,
|
|
23,
|
|
255,
|
|
169,
|
|
138,
|
|
84,
|
|
0,
|
|
160,
|
|
137,
|
|
78,
|
|
255,
|
|
226,
|
|
118,
|
|
80,
|
|
255,
|
|
52,
|
|
27,
|
|
132,
|
|
255,
|
|
63,
|
|
96,
|
|
139,
|
|
255,
|
|
152,
|
|
250,
|
|
39,
|
|
0,
|
|
188,
|
|
155,
|
|
15,
|
|
0,
|
|
232,
|
|
51,
|
|
150,
|
|
254,
|
|
40,
|
|
15,
|
|
232,
|
|
255,
|
|
240,
|
|
229,
|
|
9,
|
|
255,
|
|
137,
|
|
175,
|
|
27,
|
|
255,
|
|
75,
|
|
73,
|
|
97,
|
|
1,
|
|
218,
|
|
212,
|
|
11,
|
|
0,
|
|
135,
|
|
5,
|
|
162,
|
|
1,
|
|
107,
|
|
185,
|
|
213,
|
|
0,
|
|
2,
|
|
249,
|
|
107,
|
|
255,
|
|
40,
|
|
242,
|
|
70,
|
|
0,
|
|
219,
|
|
200,
|
|
25,
|
|
0,
|
|
25,
|
|
157,
|
|
13,
|
|
0,
|
|
67,
|
|
82,
|
|
80,
|
|
255,
|
|
196,
|
|
249,
|
|
23,
|
|
255,
|
|
145,
|
|
20,
|
|
149,
|
|
0,
|
|
50,
|
|
72,
|
|
146,
|
|
0,
|
|
94,
|
|
76,
|
|
148,
|
|
1,
|
|
24,
|
|
251,
|
|
65,
|
|
0,
|
|
31,
|
|
192,
|
|
23,
|
|
0,
|
|
184,
|
|
212,
|
|
201,
|
|
255,
|
|
123,
|
|
233,
|
|
162,
|
|
1,
|
|
247,
|
|
173,
|
|
72,
|
|
0,
|
|
162,
|
|
87,
|
|
219,
|
|
254,
|
|
126,
|
|
134,
|
|
89,
|
|
0,
|
|
159,
|
|
11,
|
|
12,
|
|
254,
|
|
166,
|
|
105,
|
|
29,
|
|
0,
|
|
73,
|
|
27,
|
|
228,
|
|
1,
|
|
113,
|
|
120,
|
|
183,
|
|
255,
|
|
66,
|
|
163,
|
|
109,
|
|
1,
|
|
212,
|
|
143,
|
|
11,
|
|
255,
|
|
159,
|
|
231,
|
|
168,
|
|
1,
|
|
255,
|
|
128,
|
|
90,
|
|
0,
|
|
57,
|
|
14,
|
|
58,
|
|
254,
|
|
89,
|
|
52,
|
|
10,
|
|
255,
|
|
253,
|
|
8,
|
|
163,
|
|
1,
|
|
0,
|
|
145,
|
|
210,
|
|
255,
|
|
10,
|
|
129,
|
|
85,
|
|
1,
|
|
46,
|
|
181,
|
|
27,
|
|
0,
|
|
103,
|
|
136,
|
|
160,
|
|
254,
|
|
126,
|
|
188,
|
|
209,
|
|
255,
|
|
34,
|
|
35,
|
|
111,
|
|
0,
|
|
215,
|
|
219,
|
|
24,
|
|
255,
|
|
212,
|
|
11,
|
|
214,
|
|
254,
|
|
101,
|
|
5,
|
|
118,
|
|
0,
|
|
232,
|
|
197,
|
|
133,
|
|
255,
|
|
223,
|
|
167,
|
|
109,
|
|
255,
|
|
237,
|
|
80,
|
|
86,
|
|
255,
|
|
70,
|
|
139,
|
|
94,
|
|
0,
|
|
158,
|
|
193,
|
|
191,
|
|
1,
|
|
155,
|
|
15,
|
|
51,
|
|
255,
|
|
15,
|
|
190,
|
|
115,
|
|
0,
|
|
78,
|
|
135,
|
|
207,
|
|
255,
|
|
249,
|
|
10,
|
|
27,
|
|
1,
|
|
181,
|
|
125,
|
|
233,
|
|
0,
|
|
95,
|
|
172,
|
|
13,
|
|
254,
|
|
170,
|
|
213,
|
|
161,
|
|
255,
|
|
39,
|
|
236,
|
|
138,
|
|
255,
|
|
95,
|
|
93,
|
|
87,
|
|
255,
|
|
190,
|
|
128,
|
|
95,
|
|
0,
|
|
125,
|
|
15,
|
|
206,
|
|
0,
|
|
166,
|
|
150,
|
|
159,
|
|
0,
|
|
227,
|
|
15,
|
|
158,
|
|
255,
|
|
206,
|
|
158,
|
|
120,
|
|
255,
|
|
42,
|
|
141,
|
|
128,
|
|
0,
|
|
101,
|
|
178,
|
|
120,
|
|
1,
|
|
156,
|
|
109,
|
|
131,
|
|
0,
|
|
218,
|
|
14,
|
|
44,
|
|
254,
|
|
247,
|
|
168,
|
|
206,
|
|
255,
|
|
212,
|
|
112,
|
|
28,
|
|
0,
|
|
112,
|
|
17,
|
|
228,
|
|
255,
|
|
90,
|
|
16,
|
|
37,
|
|
1,
|
|
197,
|
|
222,
|
|
108,
|
|
0,
|
|
254,
|
|
207,
|
|
83,
|
|
255,
|
|
9,
|
|
90,
|
|
243,
|
|
255,
|
|
243,
|
|
244,
|
|
172,
|
|
0,
|
|
26,
|
|
88,
|
|
115,
|
|
255,
|
|
205,
|
|
116,
|
|
122,
|
|
0,
|
|
191,
|
|
230,
|
|
193,
|
|
0,
|
|
180,
|
|
100,
|
|
11,
|
|
1,
|
|
217,
|
|
37,
|
|
96,
|
|
255,
|
|
154,
|
|
78,
|
|
156,
|
|
0,
|
|
235,
|
|
234,
|
|
31,
|
|
255,
|
|
206,
|
|
178,
|
|
178,
|
|
255,
|
|
149,
|
|
192,
|
|
251,
|
|
0,
|
|
182,
|
|
250,
|
|
135,
|
|
0,
|
|
246,
|
|
22,
|
|
105,
|
|
0,
|
|
124,
|
|
193,
|
|
109,
|
|
255,
|
|
2,
|
|
210,
|
|
149,
|
|
255,
|
|
169,
|
|
17,
|
|
170,
|
|
0,
|
|
0,
|
|
96,
|
|
110,
|
|
255,
|
|
117,
|
|
9,
|
|
8,
|
|
1,
|
|
50,
|
|
123,
|
|
40,
|
|
255,
|
|
193,
|
|
189,
|
|
99,
|
|
0,
|
|
34,
|
|
227,
|
|
160,
|
|
0,
|
|
48,
|
|
80,
|
|
70,
|
|
254,
|
|
211,
|
|
51,
|
|
236,
|
|
0,
|
|
45,
|
|
122,
|
|
245,
|
|
254,
|
|
44,
|
|
174,
|
|
8,
|
|
0,
|
|
173,
|
|
37,
|
|
233,
|
|
255,
|
|
158,
|
|
65,
|
|
171,
|
|
0,
|
|
122,
|
|
69,
|
|
215,
|
|
255,
|
|
90,
|
|
80,
|
|
2,
|
|
255,
|
|
131,
|
|
106,
|
|
96,
|
|
254,
|
|
227,
|
|
114,
|
|
135,
|
|
0,
|
|
205,
|
|
49,
|
|
119,
|
|
254,
|
|
176,
|
|
62,
|
|
64,
|
|
255,
|
|
82,
|
|
51,
|
|
17,
|
|
255,
|
|
241,
|
|
20,
|
|
243,
|
|
255,
|
|
130,
|
|
13,
|
|
8,
|
|
254,
|
|
128,
|
|
217,
|
|
243,
|
|
255,
|
|
162,
|
|
27,
|
|
1,
|
|
254,
|
|
90,
|
|
118,
|
|
241,
|
|
0,
|
|
246,
|
|
198,
|
|
246,
|
|
255,
|
|
55,
|
|
16,
|
|
118,
|
|
255,
|
|
200,
|
|
159,
|
|
157,
|
|
0,
|
|
163,
|
|
17,
|
|
1,
|
|
0,
|
|
140,
|
|
107,
|
|
121,
|
|
0,
|
|
85,
|
|
161,
|
|
118,
|
|
255,
|
|
38,
|
|
0,
|
|
149,
|
|
0,
|
|
156,
|
|
47,
|
|
238,
|
|
0,
|
|
9,
|
|
166,
|
|
166,
|
|
1,
|
|
75,
|
|
98,
|
|
181,
|
|
255,
|
|
50,
|
|
74,
|
|
25,
|
|
0,
|
|
66,
|
|
15,
|
|
47,
|
|
0,
|
|
139,
|
|
225,
|
|
159,
|
|
0,
|
|
76,
|
|
3,
|
|
142,
|
|
255,
|
|
14,
|
|
238,
|
|
184,
|
|
0,
|
|
11,
|
|
207,
|
|
53,
|
|
255,
|
|
183,
|
|
192,
|
|
186,
|
|
1,
|
|
171,
|
|
32,
|
|
174,
|
|
255,
|
|
191,
|
|
76,
|
|
221,
|
|
1,
|
|
247,
|
|
170,
|
|
219,
|
|
0,
|
|
25,
|
|
172,
|
|
50,
|
|
254,
|
|
217,
|
|
9,
|
|
233,
|
|
0,
|
|
203,
|
|
126,
|
|
68,
|
|
255,
|
|
183,
|
|
92,
|
|
48,
|
|
0,
|
|
127,
|
|
167,
|
|
183,
|
|
1,
|
|
65,
|
|
49,
|
|
254,
|
|
0,
|
|
16,
|
|
63,
|
|
127,
|
|
1,
|
|
254,
|
|
21,
|
|
170,
|
|
255,
|
|
59,
|
|
224,
|
|
127,
|
|
254,
|
|
22,
|
|
48,
|
|
63,
|
|
255,
|
|
27,
|
|
78,
|
|
130,
|
|
254,
|
|
40,
|
|
195,
|
|
29,
|
|
0,
|
|
250,
|
|
132,
|
|
112,
|
|
254,
|
|
35,
|
|
203,
|
|
144,
|
|
0,
|
|
104,
|
|
169,
|
|
168,
|
|
0,
|
|
207,
|
|
253,
|
|
30,
|
|
255,
|
|
104,
|
|
40,
|
|
38,
|
|
254,
|
|
94,
|
|
228,
|
|
88,
|
|
0,
|
|
206,
|
|
16,
|
|
128,
|
|
255,
|
|
212,
|
|
55,
|
|
122,
|
|
255,
|
|
223,
|
|
22,
|
|
234,
|
|
0,
|
|
223,
|
|
197,
|
|
127,
|
|
0,
|
|
253,
|
|
181,
|
|
181,
|
|
1,
|
|
145,
|
|
102,
|
|
118,
|
|
0,
|
|
236,
|
|
153,
|
|
36,
|
|
255,
|
|
212,
|
|
217,
|
|
72,
|
|
255,
|
|
20,
|
|
38,
|
|
24,
|
|
254,
|
|
138,
|
|
62,
|
|
62,
|
|
0,
|
|
152,
|
|
140,
|
|
4,
|
|
0,
|
|
230,
|
|
220,
|
|
99,
|
|
255,
|
|
1,
|
|
21,
|
|
212,
|
|
255,
|
|
148,
|
|
201,
|
|
231,
|
|
0,
|
|
244,
|
|
123,
|
|
9,
|
|
254,
|
|
0,
|
|
171,
|
|
210,
|
|
0,
|
|
51,
|
|
58,
|
|
37,
|
|
255,
|
|
1,
|
|
255,
|
|
14,
|
|
255,
|
|
244,
|
|
183,
|
|
145,
|
|
254,
|
|
0,
|
|
242,
|
|
166,
|
|
0,
|
|
22,
|
|
74,
|
|
132,
|
|
0,
|
|
121,
|
|
216,
|
|
41,
|
|
0,
|
|
95,
|
|
195,
|
|
114,
|
|
254,
|
|
133,
|
|
24,
|
|
151,
|
|
255,
|
|
156,
|
|
226,
|
|
231,
|
|
255,
|
|
247,
|
|
5,
|
|
77,
|
|
255,
|
|
246,
|
|
148,
|
|
115,
|
|
254,
|
|
225,
|
|
92,
|
|
81,
|
|
255,
|
|
222,
|
|
80,
|
|
246,
|
|
254,
|
|
170,
|
|
123,
|
|
89,
|
|
255,
|
|
74,
|
|
199,
|
|
141,
|
|
0,
|
|
29,
|
|
20,
|
|
8,
|
|
255,
|
|
138,
|
|
136,
|
|
70,
|
|
255,
|
|
93,
|
|
75,
|
|
92,
|
|
0,
|
|
221,
|
|
147,
|
|
49,
|
|
254,
|
|
52,
|
|
126,
|
|
226,
|
|
0,
|
|
229,
|
|
124,
|
|
23,
|
|
0,
|
|
46,
|
|
9,
|
|
181,
|
|
0,
|
|
205,
|
|
64,
|
|
52,
|
|
1,
|
|
131,
|
|
254,
|
|
28,
|
|
0,
|
|
151,
|
|
158,
|
|
212,
|
|
0,
|
|
131,
|
|
64,
|
|
78,
|
|
0,
|
|
206,
|
|
25,
|
|
171,
|
|
0,
|
|
0,
|
|
230,
|
|
139,
|
|
0,
|
|
191,
|
|
253,
|
|
110,
|
|
254,
|
|
103,
|
|
247,
|
|
167,
|
|
0,
|
|
64,
|
|
40,
|
|
40,
|
|
1,
|
|
42,
|
|
165,
|
|
241,
|
|
255,
|
|
59,
|
|
75,
|
|
228,
|
|
254,
|
|
124,
|
|
243,
|
|
189,
|
|
255,
|
|
196,
|
|
92,
|
|
178,
|
|
255,
|
|
130,
|
|
140,
|
|
86,
|
|
255,
|
|
141,
|
|
89,
|
|
56,
|
|
1,
|
|
147,
|
|
198,
|
|
5,
|
|
255,
|
|
203,
|
|
248,
|
|
158,
|
|
254,
|
|
144,
|
|
162,
|
|
141,
|
|
0,
|
|
11,
|
|
172,
|
|
226,
|
|
0,
|
|
130,
|
|
42,
|
|
21,
|
|
255,
|
|
1,
|
|
167,
|
|
143,
|
|
255,
|
|
144,
|
|
36,
|
|
36,
|
|
255,
|
|
48,
|
|
88,
|
|
164,
|
|
254,
|
|
168,
|
|
170,
|
|
220,
|
|
0,
|
|
98,
|
|
71,
|
|
214,
|
|
0,
|
|
91,
|
|
208,
|
|
79,
|
|
0,
|
|
159,
|
|
76,
|
|
201,
|
|
1,
|
|
166,
|
|
42,
|
|
214,
|
|
255,
|
|
69,
|
|
255,
|
|
0,
|
|
255,
|
|
6,
|
|
128,
|
|
125,
|
|
255,
|
|
190,
|
|
1,
|
|
140,
|
|
0,
|
|
146,
|
|
83,
|
|
218,
|
|
255,
|
|
215,
|
|
238,
|
|
72,
|
|
1,
|
|
122,
|
|
127,
|
|
53,
|
|
0,
|
|
189,
|
|
116,
|
|
165,
|
|
255,
|
|
84,
|
|
8,
|
|
66,
|
|
255,
|
|
214,
|
|
3,
|
|
208,
|
|
255,
|
|
213,
|
|
110,
|
|
133,
|
|
0,
|
|
195,
|
|
168,
|
|
44,
|
|
1,
|
|
158,
|
|
231,
|
|
69,
|
|
0,
|
|
162,
|
|
64,
|
|
200,
|
|
254,
|
|
91,
|
|
58,
|
|
104,
|
|
0,
|
|
182,
|
|
58,
|
|
187,
|
|
254,
|
|
249,
|
|
228,
|
|
136,
|
|
0,
|
|
203,
|
|
134,
|
|
76,
|
|
254,
|
|
99,
|
|
221,
|
|
233,
|
|
0,
|
|
75,
|
|
254,
|
|
214,
|
|
254,
|
|
80,
|
|
69,
|
|
154,
|
|
0,
|
|
64,
|
|
152,
|
|
248,
|
|
254,
|
|
236,
|
|
136,
|
|
202,
|
|
255,
|
|
157,
|
|
105,
|
|
153,
|
|
254,
|
|
149,
|
|
175,
|
|
20,
|
|
0,
|
|
22,
|
|
35,
|
|
19,
|
|
255,
|
|
124,
|
|
121,
|
|
233,
|
|
0,
|
|
186,
|
|
250,
|
|
198,
|
|
254,
|
|
132,
|
|
229,
|
|
139,
|
|
0,
|
|
137,
|
|
80,
|
|
174,
|
|
255,
|
|
165,
|
|
125,
|
|
68,
|
|
0,
|
|
144,
|
|
202,
|
|
148,
|
|
254,
|
|
235,
|
|
239,
|
|
248,
|
|
0,
|
|
135,
|
|
184,
|
|
118,
|
|
0,
|
|
101,
|
|
94,
|
|
17,
|
|
255,
|
|
122,
|
|
72,
|
|
70,
|
|
254,
|
|
69,
|
|
130,
|
|
146,
|
|
0,
|
|
127,
|
|
222,
|
|
248,
|
|
1,
|
|
69,
|
|
127,
|
|
118,
|
|
255,
|
|
30,
|
|
82,
|
|
215,
|
|
254,
|
|
188,
|
|
74,
|
|
19,
|
|
255,
|
|
229,
|
|
167,
|
|
194,
|
|
254,
|
|
117,
|
|
25,
|
|
66,
|
|
255,
|
|
65,
|
|
234,
|
|
56,
|
|
254,
|
|
213,
|
|
22,
|
|
156,
|
|
0,
|
|
151,
|
|
59,
|
|
93,
|
|
254,
|
|
45,
|
|
28,
|
|
27,
|
|
255,
|
|
186,
|
|
126,
|
|
164,
|
|
255,
|
|
32,
|
|
6,
|
|
239,
|
|
0,
|
|
127,
|
|
114,
|
|
99,
|
|
1,
|
|
219,
|
|
52,
|
|
2,
|
|
255,
|
|
99,
|
|
96,
|
|
166,
|
|
254,
|
|
62,
|
|
190,
|
|
126,
|
|
255,
|
|
108,
|
|
222,
|
|
168,
|
|
1,
|
|
75,
|
|
226,
|
|
174,
|
|
0,
|
|
230,
|
|
226,
|
|
199,
|
|
0,
|
|
60,
|
|
117,
|
|
218,
|
|
255,
|
|
252,
|
|
248,
|
|
20,
|
|
1,
|
|
214,
|
|
188,
|
|
204,
|
|
0,
|
|
31,
|
|
194,
|
|
134,
|
|
254,
|
|
123,
|
|
69,
|
|
192,
|
|
255,
|
|
169,
|
|
173,
|
|
36,
|
|
254,
|
|
55,
|
|
98,
|
|
91,
|
|
0,
|
|
223,
|
|
42,
|
|
102,
|
|
254,
|
|
137,
|
|
1,
|
|
102,
|
|
0,
|
|
157,
|
|
90,
|
|
25,
|
|
0,
|
|
239,
|
|
122,
|
|
64,
|
|
255,
|
|
252,
|
|
6,
|
|
233,
|
|
0,
|
|
7,
|
|
54,
|
|
20,
|
|
255,
|
|
82,
|
|
116,
|
|
174,
|
|
0,
|
|
135,
|
|
37,
|
|
54,
|
|
255,
|
|
15,
|
|
186,
|
|
125,
|
|
0,
|
|
227,
|
|
112,
|
|
175,
|
|
255,
|
|
100,
|
|
180,
|
|
225,
|
|
255,
|
|
42,
|
|
237,
|
|
244,
|
|
255,
|
|
244,
|
|
173,
|
|
226,
|
|
254,
|
|
248,
|
|
18,
|
|
33,
|
|
0,
|
|
171,
|
|
99,
|
|
150,
|
|
255,
|
|
74,
|
|
235,
|
|
50,
|
|
255,
|
|
117,
|
|
82,
|
|
32,
|
|
254,
|
|
106,
|
|
168,
|
|
237,
|
|
0,
|
|
207,
|
|
109,
|
|
208,
|
|
1,
|
|
228,
|
|
9,
|
|
186,
|
|
0,
|
|
135,
|
|
60,
|
|
169,
|
|
254,
|
|
179,
|
|
92,
|
|
143,
|
|
0,
|
|
244,
|
|
170,
|
|
104,
|
|
255,
|
|
235,
|
|
45,
|
|
124,
|
|
255,
|
|
70,
|
|
99,
|
|
186,
|
|
0,
|
|
117,
|
|
137,
|
|
183,
|
|
0,
|
|
224,
|
|
31,
|
|
215,
|
|
0,
|
|
40,
|
|
9,
|
|
100,
|
|
0,
|
|
26,
|
|
16,
|
|
95,
|
|
1,
|
|
68,
|
|
217,
|
|
87,
|
|
0,
|
|
8,
|
|
151,
|
|
20,
|
|
255,
|
|
26,
|
|
100,
|
|
58,
|
|
255,
|
|
176,
|
|
165,
|
|
203,
|
|
1,
|
|
52,
|
|
118,
|
|
70,
|
|
0,
|
|
7,
|
|
32,
|
|
254,
|
|
254,
|
|
244,
|
|
254,
|
|
245,
|
|
255,
|
|
167,
|
|
144,
|
|
194,
|
|
255,
|
|
125,
|
|
113,
|
|
23,
|
|
255,
|
|
176,
|
|
121,
|
|
181,
|
|
0,
|
|
136,
|
|
84,
|
|
209,
|
|
0,
|
|
138,
|
|
6,
|
|
30,
|
|
255,
|
|
89,
|
|
48,
|
|
28,
|
|
0,
|
|
33,
|
|
155,
|
|
14,
|
|
255,
|
|
25,
|
|
240,
|
|
154,
|
|
0,
|
|
141,
|
|
205,
|
|
109,
|
|
1,
|
|
70,
|
|
115,
|
|
62,
|
|
255,
|
|
20,
|
|
40,
|
|
107,
|
|
254,
|
|
138,
|
|
154,
|
|
199,
|
|
255,
|
|
94,
|
|
223,
|
|
226,
|
|
255,
|
|
157,
|
|
171,
|
|
38,
|
|
0,
|
|
163,
|
|
177,
|
|
25,
|
|
254,
|
|
45,
|
|
118,
|
|
3,
|
|
255,
|
|
14,
|
|
222,
|
|
23,
|
|
1,
|
|
209,
|
|
190,
|
|
81,
|
|
255,
|
|
118,
|
|
123,
|
|
232,
|
|
1,
|
|
13,
|
|
213,
|
|
101,
|
|
255,
|
|
123,
|
|
55,
|
|
123,
|
|
254,
|
|
27,
|
|
246,
|
|
165,
|
|
0,
|
|
50,
|
|
99,
|
|
76,
|
|
255,
|
|
140,
|
|
214,
|
|
32,
|
|
255,
|
|
97,
|
|
65,
|
|
67,
|
|
255,
|
|
24,
|
|
12,
|
|
28,
|
|
0,
|
|
174,
|
|
86,
|
|
78,
|
|
1,
|
|
64,
|
|
247,
|
|
96,
|
|
0,
|
|
160,
|
|
135,
|
|
67,
|
|
0,
|
|
66,
|
|
55,
|
|
243,
|
|
255,
|
|
147,
|
|
204,
|
|
96,
|
|
255,
|
|
26,
|
|
6,
|
|
33,
|
|
255,
|
|
98,
|
|
51,
|
|
83,
|
|
1,
|
|
153,
|
|
213,
|
|
208,
|
|
255,
|
|
2,
|
|
184,
|
|
54,
|
|
255,
|
|
25,
|
|
218,
|
|
11,
|
|
0,
|
|
49,
|
|
67,
|
|
246,
|
|
254,
|
|
18,
|
|
149,
|
|
72,
|
|
255,
|
|
13,
|
|
25,
|
|
72,
|
|
0,
|
|
42,
|
|
79,
|
|
214,
|
|
0,
|
|
42,
|
|
4,
|
|
38,
|
|
1,
|
|
27,
|
|
139,
|
|
144,
|
|
255,
|
|
149,
|
|
187,
|
|
23,
|
|
0,
|
|
18,
|
|
164,
|
|
132,
|
|
0,
|
|
245,
|
|
84,
|
|
184,
|
|
254,
|
|
120,
|
|
198,
|
|
104,
|
|
255,
|
|
126,
|
|
218,
|
|
96,
|
|
0,
|
|
56,
|
|
117,
|
|
234,
|
|
255,
|
|
13,
|
|
29,
|
|
214,
|
|
254,
|
|
68,
|
|
47,
|
|
10,
|
|
255,
|
|
167,
|
|
154,
|
|
132,
|
|
254,
|
|
152,
|
|
38,
|
|
198,
|
|
0,
|
|
66,
|
|
178,
|
|
89,
|
|
255,
|
|
200,
|
|
46,
|
|
171,
|
|
255,
|
|
13,
|
|
99,
|
|
83,
|
|
255,
|
|
210,
|
|
187,
|
|
253,
|
|
255,
|
|
170,
|
|
45,
|
|
42,
|
|
1,
|
|
138,
|
|
209,
|
|
124,
|
|
0,
|
|
214,
|
|
162,
|
|
141,
|
|
0,
|
|
12,
|
|
230,
|
|
156,
|
|
0,
|
|
102,
|
|
36,
|
|
112,
|
|
254,
|
|
3,
|
|
147,
|
|
67,
|
|
0,
|
|
52,
|
|
215,
|
|
123,
|
|
255,
|
|
233,
|
|
171,
|
|
54,
|
|
255,
|
|
98,
|
|
137,
|
|
62,
|
|
0,
|
|
247,
|
|
218,
|
|
39,
|
|
255,
|
|
231,
|
|
218,
|
|
236,
|
|
0,
|
|
247,
|
|
191,
|
|
127,
|
|
0,
|
|
195,
|
|
146,
|
|
84,
|
|
0,
|
|
165,
|
|
176,
|
|
92,
|
|
255,
|
|
19,
|
|
212,
|
|
94,
|
|
255,
|
|
17,
|
|
74,
|
|
227,
|
|
0,
|
|
88,
|
|
40,
|
|
153,
|
|
1,
|
|
198,
|
|
147,
|
|
1,
|
|
255,
|
|
206,
|
|
67,
|
|
245,
|
|
254,
|
|
240,
|
|
3,
|
|
218,
|
|
255,
|
|
61,
|
|
141,
|
|
213,
|
|
255,
|
|
97,
|
|
183,
|
|
106,
|
|
0,
|
|
195,
|
|
232,
|
|
235,
|
|
254,
|
|
95,
|
|
86,
|
|
154,
|
|
0,
|
|
209,
|
|
48,
|
|
205,
|
|
254,
|
|
118,
|
|
209,
|
|
241,
|
|
255,
|
|
240,
|
|
120,
|
|
223,
|
|
1,
|
|
213,
|
|
29,
|
|
159,
|
|
0,
|
|
163,
|
|
127,
|
|
147,
|
|
255,
|
|
13,
|
|
218,
|
|
93,
|
|
0,
|
|
85,
|
|
24,
|
|
68,
|
|
254,
|
|
70,
|
|
20,
|
|
80,
|
|
255,
|
|
189,
|
|
5,
|
|
140,
|
|
1,
|
|
82,
|
|
97,
|
|
254,
|
|
255,
|
|
99,
|
|
99,
|
|
191,
|
|
255,
|
|
132,
|
|
84,
|
|
133,
|
|
255,
|
|
107,
|
|
218,
|
|
116,
|
|
255,
|
|
112,
|
|
122,
|
|
46,
|
|
0,
|
|
105,
|
|
17,
|
|
32,
|
|
0,
|
|
194,
|
|
160,
|
|
63,
|
|
255,
|
|
68,
|
|
222,
|
|
39,
|
|
1,
|
|
216,
|
|
253,
|
|
92,
|
|
0,
|
|
177,
|
|
105,
|
|
205,
|
|
255,
|
|
149,
|
|
201,
|
|
195,
|
|
0,
|
|
42,
|
|
225,
|
|
11,
|
|
255,
|
|
40,
|
|
162,
|
|
115,
|
|
0,
|
|
9,
|
|
7,
|
|
81,
|
|
0,
|
|
165,
|
|
218,
|
|
219,
|
|
0,
|
|
180,
|
|
22,
|
|
0,
|
|
254,
|
|
29,
|
|
146,
|
|
252,
|
|
255,
|
|
146,
|
|
207,
|
|
225,
|
|
1,
|
|
180,
|
|
135,
|
|
96,
|
|
0,
|
|
31,
|
|
163,
|
|
112,
|
|
0,
|
|
177,
|
|
11,
|
|
219,
|
|
255,
|
|
133,
|
|
12,
|
|
193,
|
|
254,
|
|
43,
|
|
78,
|
|
50,
|
|
0,
|
|
65,
|
|
113,
|
|
121,
|
|
1,
|
|
59,
|
|
217,
|
|
6,
|
|
255,
|
|
110,
|
|
94,
|
|
24,
|
|
1,
|
|
112,
|
|
172,
|
|
111,
|
|
0,
|
|
7,
|
|
15,
|
|
96,
|
|
0,
|
|
36,
|
|
85,
|
|
123,
|
|
0,
|
|
71,
|
|
150,
|
|
21,
|
|
255,
|
|
208,
|
|
73,
|
|
188,
|
|
0,
|
|
192,
|
|
11,
|
|
167,
|
|
1,
|
|
213,
|
|
245,
|
|
34,
|
|
0,
|
|
9,
|
|
230,
|
|
92,
|
|
0,
|
|
162,
|
|
142,
|
|
39,
|
|
255,
|
|
215,
|
|
90,
|
|
27,
|
|
0,
|
|
98,
|
|
97,
|
|
89,
|
|
0,
|
|
94,
|
|
79,
|
|
211,
|
|
0,
|
|
90,
|
|
157,
|
|
240,
|
|
0,
|
|
95,
|
|
220,
|
|
126,
|
|
1,
|
|
102,
|
|
176,
|
|
226,
|
|
0,
|
|
36,
|
|
30,
|
|
224,
|
|
254,
|
|
35,
|
|
31,
|
|
127,
|
|
0,
|
|
231,
|
|
232,
|
|
115,
|
|
1,
|
|
85,
|
|
83,
|
|
130,
|
|
0,
|
|
210,
|
|
73,
|
|
245,
|
|
255,
|
|
47,
|
|
143,
|
|
114,
|
|
255,
|
|
68,
|
|
65,
|
|
197,
|
|
0,
|
|
59,
|
|
72,
|
|
62,
|
|
255,
|
|
183,
|
|
133,
|
|
173,
|
|
254,
|
|
93,
|
|
121,
|
|
118,
|
|
255,
|
|
59,
|
|
177,
|
|
81,
|
|
255,
|
|
234,
|
|
69,
|
|
173,
|
|
255,
|
|
205,
|
|
128,
|
|
177,
|
|
0,
|
|
220,
|
|
244,
|
|
51,
|
|
0,
|
|
26,
|
|
244,
|
|
209,
|
|
1,
|
|
73,
|
|
222,
|
|
77,
|
|
255,
|
|
163,
|
|
8,
|
|
96,
|
|
254,
|
|
150,
|
|
149,
|
|
211,
|
|
0,
|
|
158,
|
|
254,
|
|
203,
|
|
1,
|
|
54,
|
|
127,
|
|
139,
|
|
0,
|
|
161,
|
|
224,
|
|
59,
|
|
0,
|
|
4,
|
|
109,
|
|
22,
|
|
255,
|
|
222,
|
|
42,
|
|
45,
|
|
255,
|
|
208,
|
|
146,
|
|
102,
|
|
255,
|
|
236,
|
|
142,
|
|
187,
|
|
0,
|
|
50,
|
|
205,
|
|
245,
|
|
255,
|
|
10,
|
|
74,
|
|
89,
|
|
254,
|
|
48,
|
|
79,
|
|
142,
|
|
0,
|
|
222,
|
|
76,
|
|
130,
|
|
255,
|
|
30,
|
|
166,
|
|
63,
|
|
0,
|
|
236,
|
|
12,
|
|
13,
|
|
255,
|
|
49,
|
|
184,
|
|
244,
|
|
0,
|
|
187,
|
|
113,
|
|
102,
|
|
0,
|
|
218,
|
|
101,
|
|
253,
|
|
0,
|
|
153,
|
|
57,
|
|
182,
|
|
254,
|
|
32,
|
|
150,
|
|
42,
|
|
0,
|
|
25,
|
|
198,
|
|
146,
|
|
1,
|
|
237,
|
|
241,
|
|
56,
|
|
0,
|
|
140,
|
|
68,
|
|
5,
|
|
0,
|
|
91,
|
|
164,
|
|
172,
|
|
255,
|
|
78,
|
|
145,
|
|
186,
|
|
254,
|
|
67,
|
|
52,
|
|
205,
|
|
0,
|
|
219,
|
|
207,
|
|
129,
|
|
1,
|
|
109,
|
|
115,
|
|
17,
|
|
0,
|
|
54,
|
|
143,
|
|
58,
|
|
1,
|
|
21,
|
|
248,
|
|
120,
|
|
255,
|
|
179,
|
|
255,
|
|
30,
|
|
0,
|
|
193,
|
|
236,
|
|
66,
|
|
255,
|
|
1,
|
|
255,
|
|
7,
|
|
255,
|
|
253,
|
|
192,
|
|
48,
|
|
255,
|
|
19,
|
|
69,
|
|
217,
|
|
1,
|
|
3,
|
|
214,
|
|
0,
|
|
255,
|
|
64,
|
|
101,
|
|
146,
|
|
1,
|
|
223,
|
|
125,
|
|
35,
|
|
255,
|
|
235,
|
|
73,
|
|
179,
|
|
255,
|
|
249,
|
|
167,
|
|
226,
|
|
0,
|
|
225,
|
|
175,
|
|
10,
|
|
1,
|
|
97,
|
|
162,
|
|
58,
|
|
0,
|
|
106,
|
|
112,
|
|
171,
|
|
1,
|
|
84,
|
|
172,
|
|
5,
|
|
255,
|
|
133,
|
|
140,
|
|
178,
|
|
255,
|
|
134,
|
|
245,
|
|
142,
|
|
0,
|
|
97,
|
|
90,
|
|
125,
|
|
255,
|
|
186,
|
|
203,
|
|
185,
|
|
255,
|
|
223,
|
|
77,
|
|
23,
|
|
255,
|
|
192,
|
|
92,
|
|
106,
|
|
0,
|
|
15,
|
|
198,
|
|
115,
|
|
255,
|
|
217,
|
|
152,
|
|
248,
|
|
0,
|
|
171,
|
|
178,
|
|
120,
|
|
255,
|
|
228,
|
|
134,
|
|
53,
|
|
0,
|
|
176,
|
|
54,
|
|
193,
|
|
1,
|
|
250,
|
|
251,
|
|
53,
|
|
0,
|
|
213,
|
|
10,
|
|
100,
|
|
1,
|
|
34,
|
|
199,
|
|
106,
|
|
0,
|
|
151,
|
|
31,
|
|
244,
|
|
254,
|
|
172,
|
|
224,
|
|
87,
|
|
255,
|
|
14,
|
|
237,
|
|
23,
|
|
255,
|
|
253,
|
|
85,
|
|
26,
|
|
255,
|
|
127,
|
|
39,
|
|
116,
|
|
255,
|
|
172,
|
|
104,
|
|
100,
|
|
0,
|
|
251,
|
|
14,
|
|
70,
|
|
255,
|
|
212,
|
|
208,
|
|
138,
|
|
255,
|
|
253,
|
|
211,
|
|
250,
|
|
0,
|
|
176,
|
|
49,
|
|
165,
|
|
0,
|
|
15,
|
|
76,
|
|
123,
|
|
255,
|
|
37,
|
|
218,
|
|
160,
|
|
255,
|
|
92,
|
|
135,
|
|
16,
|
|
1,
|
|
10,
|
|
126,
|
|
114,
|
|
255,
|
|
70,
|
|
5,
|
|
224,
|
|
255,
|
|
247,
|
|
249,
|
|
141,
|
|
0,
|
|
68,
|
|
20,
|
|
60,
|
|
1,
|
|
241,
|
|
210,
|
|
189,
|
|
255,
|
|
195,
|
|
217,
|
|
187,
|
|
1,
|
|
151,
|
|
3,
|
|
113,
|
|
0,
|
|
151,
|
|
92,
|
|
174,
|
|
0,
|
|
231,
|
|
62,
|
|
178,
|
|
255,
|
|
219,
|
|
183,
|
|
225,
|
|
0,
|
|
23,
|
|
23,
|
|
33,
|
|
255,
|
|
205,
|
|
181,
|
|
80,
|
|
0,
|
|
57,
|
|
184,
|
|
248,
|
|
255,
|
|
67,
|
|
180,
|
|
1,
|
|
255,
|
|
90,
|
|
123,
|
|
93,
|
|
255,
|
|
39,
|
|
0,
|
|
162,
|
|
255,
|
|
96,
|
|
248,
|
|
52,
|
|
255,
|
|
84,
|
|
66,
|
|
140,
|
|
0,
|
|
34,
|
|
127,
|
|
228,
|
|
255,
|
|
194,
|
|
138,
|
|
7,
|
|
1,
|
|
166,
|
|
110,
|
|
188,
|
|
0,
|
|
21,
|
|
17,
|
|
155,
|
|
1,
|
|
154,
|
|
190,
|
|
198,
|
|
255,
|
|
214,
|
|
80,
|
|
59,
|
|
255,
|
|
18,
|
|
7,
|
|
143,
|
|
0,
|
|
72,
|
|
29,
|
|
226,
|
|
1,
|
|
199,
|
|
217,
|
|
249,
|
|
0,
|
|
232,
|
|
161,
|
|
71,
|
|
1,
|
|
149,
|
|
190,
|
|
201,
|
|
0,
|
|
217,
|
|
175,
|
|
95,
|
|
254,
|
|
113,
|
|
147,
|
|
67,
|
|
255,
|
|
138,
|
|
143,
|
|
199,
|
|
255,
|
|
127,
|
|
204,
|
|
1,
|
|
0,
|
|
29,
|
|
182,
|
|
83,
|
|
1,
|
|
206,
|
|
230,
|
|
155,
|
|
255,
|
|
186,
|
|
204,
|
|
60,
|
|
0,
|
|
10,
|
|
125,
|
|
85,
|
|
255,
|
|
232,
|
|
96,
|
|
25,
|
|
255,
|
|
255,
|
|
89,
|
|
247,
|
|
255,
|
|
213,
|
|
254,
|
|
175,
|
|
1,
|
|
232,
|
|
193,
|
|
81,
|
|
0,
|
|
28,
|
|
43,
|
|
156,
|
|
254,
|
|
12,
|
|
69,
|
|
8,
|
|
0,
|
|
147,
|
|
24,
|
|
248,
|
|
0,
|
|
18,
|
|
198,
|
|
49,
|
|
0,
|
|
134,
|
|
60,
|
|
35,
|
|
0,
|
|
118,
|
|
246,
|
|
18,
|
|
255,
|
|
49,
|
|
88,
|
|
254,
|
|
254,
|
|
228,
|
|
21,
|
|
186,
|
|
255,
|
|
182,
|
|
65,
|
|
112,
|
|
1,
|
|
219,
|
|
22,
|
|
1,
|
|
255,
|
|
22,
|
|
126,
|
|
52,
|
|
255,
|
|
189,
|
|
53,
|
|
49,
|
|
255,
|
|
112,
|
|
25,
|
|
143,
|
|
0,
|
|
38,
|
|
127,
|
|
55,
|
|
255,
|
|
226,
|
|
101,
|
|
163,
|
|
254,
|
|
208,
|
|
133,
|
|
61,
|
|
255,
|
|
137,
|
|
69,
|
|
174,
|
|
1,
|
|
190,
|
|
118,
|
|
145,
|
|
255,
|
|
60,
|
|
98,
|
|
219,
|
|
255,
|
|
217,
|
|
13,
|
|
245,
|
|
255,
|
|
250,
|
|
136,
|
|
10,
|
|
0,
|
|
84,
|
|
254,
|
|
226,
|
|
0,
|
|
201,
|
|
31,
|
|
125,
|
|
1,
|
|
240,
|
|
51,
|
|
251,
|
|
255,
|
|
31,
|
|
131,
|
|
130,
|
|
255,
|
|
2,
|
|
138,
|
|
50,
|
|
255,
|
|
215,
|
|
215,
|
|
177,
|
|
1,
|
|
223,
|
|
12,
|
|
238,
|
|
255,
|
|
252,
|
|
149,
|
|
56,
|
|
255,
|
|
124,
|
|
91,
|
|
68,
|
|
255,
|
|
72,
|
|
126,
|
|
170,
|
|
254,
|
|
119,
|
|
255,
|
|
100,
|
|
0,
|
|
130,
|
|
135,
|
|
232,
|
|
255,
|
|
14,
|
|
79,
|
|
178,
|
|
0,
|
|
250,
|
|
131,
|
|
197,
|
|
0,
|
|
138,
|
|
198,
|
|
208,
|
|
0,
|
|
121,
|
|
216,
|
|
139,
|
|
254,
|
|
119,
|
|
18,
|
|
36,
|
|
255,
|
|
29,
|
|
193,
|
|
122,
|
|
0,
|
|
16,
|
|
42,
|
|
45,
|
|
255,
|
|
213,
|
|
240,
|
|
235,
|
|
1,
|
|
230,
|
|
190,
|
|
169,
|
|
255,
|
|
198,
|
|
35,
|
|
228,
|
|
254,
|
|
110,
|
|
173,
|
|
72,
|
|
0,
|
|
214,
|
|
221,
|
|
241,
|
|
255,
|
|
56,
|
|
148,
|
|
135,
|
|
0,
|
|
192,
|
|
117,
|
|
78,
|
|
254,
|
|
141,
|
|
93,
|
|
207,
|
|
255,
|
|
143,
|
|
65,
|
|
149,
|
|
0,
|
|
21,
|
|
18,
|
|
98,
|
|
255,
|
|
95,
|
|
44,
|
|
244,
|
|
1,
|
|
106,
|
|
191,
|
|
77,
|
|
0,
|
|
254,
|
|
85,
|
|
8,
|
|
254,
|
|
214,
|
|
110,
|
|
176,
|
|
255,
|
|
73,
|
|
173,
|
|
19,
|
|
254,
|
|
160,
|
|
196,
|
|
199,
|
|
255,
|
|
237,
|
|
90,
|
|
144,
|
|
0,
|
|
193,
|
|
172,
|
|
113,
|
|
255,
|
|
200,
|
|
155,
|
|
136,
|
|
254,
|
|
228,
|
|
90,
|
|
221,
|
|
0,
|
|
137,
|
|
49,
|
|
74,
|
|
1,
|
|
164,
|
|
221,
|
|
215,
|
|
255,
|
|
209,
|
|
189,
|
|
5,
|
|
255,
|
|
105,
|
|
236,
|
|
55,
|
|
255,
|
|
42,
|
|
31,
|
|
129,
|
|
1,
|
|
193,
|
|
255,
|
|
236,
|
|
0,
|
|
46,
|
|
217,
|
|
60,
|
|
0,
|
|
138,
|
|
88,
|
|
187,
|
|
255,
|
|
226,
|
|
82,
|
|
236,
|
|
255,
|
|
81,
|
|
69,
|
|
151,
|
|
255,
|
|
142,
|
|
190,
|
|
16,
|
|
1,
|
|
13,
|
|
134,
|
|
8,
|
|
0,
|
|
127,
|
|
122,
|
|
48,
|
|
255,
|
|
81,
|
|
64,
|
|
156,
|
|
0,
|
|
171,
|
|
243,
|
|
139,
|
|
0,
|
|
237,
|
|
35,
|
|
246,
|
|
0,
|
|
122,
|
|
143,
|
|
193,
|
|
254,
|
|
212,
|
|
122,
|
|
146,
|
|
0,
|
|
95,
|
|
41,
|
|
255,
|
|
1,
|
|
87,
|
|
132,
|
|
77,
|
|
0,
|
|
4,
|
|
212,
|
|
31,
|
|
0,
|
|
17,
|
|
31,
|
|
78,
|
|
0,
|
|
39,
|
|
45,
|
|
173,
|
|
254,
|
|
24,
|
|
142,
|
|
217,
|
|
255,
|
|
95,
|
|
9,
|
|
6,
|
|
255,
|
|
227,
|
|
83,
|
|
6,
|
|
0,
|
|
98,
|
|
59,
|
|
130,
|
|
254,
|
|
62,
|
|
30,
|
|
33,
|
|
0,
|
|
8,
|
|
115,
|
|
211,
|
|
1,
|
|
162,
|
|
97,
|
|
128,
|
|
255,
|
|
7,
|
|
184,
|
|
23,
|
|
254,
|
|
116,
|
|
28,
|
|
168,
|
|
255,
|
|
248,
|
|
138,
|
|
151,
|
|
255,
|
|
98,
|
|
244,
|
|
240,
|
|
0,
|
|
186,
|
|
118,
|
|
130,
|
|
0,
|
|
114,
|
|
248,
|
|
235,
|
|
255,
|
|
105,
|
|
173,
|
|
200,
|
|
1,
|
|
160,
|
|
124,
|
|
71,
|
|
255,
|
|
94,
|
|
36,
|
|
164,
|
|
1,
|
|
175,
|
|
65,
|
|
146,
|
|
255,
|
|
238,
|
|
241,
|
|
170,
|
|
254,
|
|
202,
|
|
198,
|
|
197,
|
|
0,
|
|
228,
|
|
71,
|
|
138,
|
|
254,
|
|
45,
|
|
246,
|
|
109,
|
|
255,
|
|
194,
|
|
52,
|
|
158,
|
|
0,
|
|
133,
|
|
187,
|
|
176,
|
|
0,
|
|
83,
|
|
252,
|
|
154,
|
|
254,
|
|
89,
|
|
189,
|
|
221,
|
|
255,
|
|
170,
|
|
73,
|
|
252,
|
|
0,
|
|
148,
|
|
58,
|
|
125,
|
|
0,
|
|
36,
|
|
68,
|
|
51,
|
|
254,
|
|
42,
|
|
69,
|
|
177,
|
|
255,
|
|
168,
|
|
76,
|
|
86,
|
|
255,
|
|
38,
|
|
100,
|
|
204,
|
|
255,
|
|
38,
|
|
53,
|
|
35,
|
|
0,
|
|
175,
|
|
19,
|
|
97,
|
|
0,
|
|
225,
|
|
238,
|
|
253,
|
|
255,
|
|
81,
|
|
81,
|
|
135,
|
|
0,
|
|
210,
|
|
27,
|
|
255,
|
|
254,
|
|
235,
|
|
73,
|
|
107,
|
|
0,
|
|
8,
|
|
207,
|
|
115,
|
|
0,
|
|
82,
|
|
127,
|
|
136,
|
|
0,
|
|
84,
|
|
99,
|
|
21,
|
|
254,
|
|
207,
|
|
19,
|
|
136,
|
|
0,
|
|
100,
|
|
164,
|
|
101,
|
|
0,
|
|
80,
|
|
208,
|
|
77,
|
|
255,
|
|
132,
|
|
207,
|
|
237,
|
|
255,
|
|
15,
|
|
3,
|
|
15,
|
|
255,
|
|
33,
|
|
166,
|
|
110,
|
|
0,
|
|
156,
|
|
95,
|
|
85,
|
|
255,
|
|
37,
|
|
185,
|
|
111,
|
|
1,
|
|
150,
|
|
106,
|
|
35,
|
|
255,
|
|
166,
|
|
151,
|
|
76,
|
|
0,
|
|
114,
|
|
87,
|
|
135,
|
|
255,
|
|
159,
|
|
194,
|
|
64,
|
|
0,
|
|
12,
|
|
122,
|
|
31,
|
|
255,
|
|
232,
|
|
7,
|
|
101,
|
|
254,
|
|
173,
|
|
119,
|
|
98,
|
|
0,
|
|
154,
|
|
71,
|
|
220,
|
|
254,
|
|
191,
|
|
57,
|
|
53,
|
|
255,
|
|
168,
|
|
232,
|
|
160,
|
|
255,
|
|
224,
|
|
32,
|
|
99,
|
|
255,
|
|
218,
|
|
156,
|
|
165,
|
|
0,
|
|
151,
|
|
153,
|
|
163,
|
|
0,
|
|
217,
|
|
13,
|
|
148,
|
|
1,
|
|
197,
|
|
113,
|
|
89,
|
|
0,
|
|
149,
|
|
28,
|
|
161,
|
|
254,
|
|
207,
|
|
23,
|
|
30,
|
|
0,
|
|
105,
|
|
132,
|
|
227,
|
|
255,
|
|
54,
|
|
230,
|
|
94,
|
|
255,
|
|
133,
|
|
173,
|
|
204,
|
|
255,
|
|
92,
|
|
183,
|
|
157,
|
|
255,
|
|
88,
|
|
144,
|
|
252,
|
|
254,
|
|
102,
|
|
33,
|
|
90,
|
|
0,
|
|
159,
|
|
97,
|
|
3,
|
|
0,
|
|
181,
|
|
218,
|
|
155,
|
|
255,
|
|
240,
|
|
114,
|
|
119,
|
|
0,
|
|
106,
|
|
214,
|
|
53,
|
|
255,
|
|
165,
|
|
190,
|
|
115,
|
|
1,
|
|
152,
|
|
91,
|
|
225,
|
|
255,
|
|
88,
|
|
106,
|
|
44,
|
|
255,
|
|
208,
|
|
61,
|
|
113,
|
|
0,
|
|
151,
|
|
52,
|
|
124,
|
|
0,
|
|
191,
|
|
27,
|
|
156,
|
|
255,
|
|
110,
|
|
54,
|
|
236,
|
|
1,
|
|
14,
|
|
30,
|
|
166,
|
|
255,
|
|
39,
|
|
127,
|
|
207,
|
|
1,
|
|
229,
|
|
199,
|
|
28,
|
|
0,
|
|
188,
|
|
228,
|
|
188,
|
|
254,
|
|
100,
|
|
157,
|
|
235,
|
|
0,
|
|
246,
|
|
218,
|
|
183,
|
|
1,
|
|
107,
|
|
22,
|
|
193,
|
|
255,
|
|
206,
|
|
160,
|
|
95,
|
|
0,
|
|
76,
|
|
239,
|
|
147,
|
|
0,
|
|
207,
|
|
161,
|
|
117,
|
|
0,
|
|
51,
|
|
166,
|
|
2,
|
|
255,
|
|
52,
|
|
117,
|
|
10,
|
|
254,
|
|
73,
|
|
56,
|
|
227,
|
|
255,
|
|
152,
|
|
193,
|
|
225,
|
|
0,
|
|
132,
|
|
94,
|
|
136,
|
|
255,
|
|
101,
|
|
191,
|
|
209,
|
|
0,
|
|
32,
|
|
107,
|
|
229,
|
|
255,
|
|
198,
|
|
43,
|
|
180,
|
|
1,
|
|
100,
|
|
210,
|
|
118,
|
|
0,
|
|
114,
|
|
67,
|
|
153,
|
|
255,
|
|
23,
|
|
88,
|
|
26,
|
|
255,
|
|
89,
|
|
154,
|
|
92,
|
|
1,
|
|
220,
|
|
120,
|
|
140,
|
|
255,
|
|
144,
|
|
114,
|
|
207,
|
|
255,
|
|
252,
|
|
115,
|
|
250,
|
|
255,
|
|
34,
|
|
206,
|
|
72,
|
|
0,
|
|
138,
|
|
133,
|
|
127,
|
|
255,
|
|
8,
|
|
178,
|
|
124,
|
|
1,
|
|
87,
|
|
75,
|
|
97,
|
|
0,
|
|
15,
|
|
229,
|
|
92,
|
|
254,
|
|
240,
|
|
67,
|
|
131,
|
|
255,
|
|
118,
|
|
123,
|
|
227,
|
|
254,
|
|
146,
|
|
120,
|
|
104,
|
|
255,
|
|
145,
|
|
213,
|
|
255,
|
|
1,
|
|
129,
|
|
187,
|
|
70,
|
|
255,
|
|
219,
|
|
119,
|
|
54,
|
|
0,
|
|
1,
|
|
19,
|
|
173,
|
|
0,
|
|
45,
|
|
150,
|
|
148,
|
|
1,
|
|
248,
|
|
83,
|
|
72,
|
|
0,
|
|
203,
|
|
233,
|
|
169,
|
|
1,
|
|
142,
|
|
107,
|
|
56,
|
|
0,
|
|
247,
|
|
249,
|
|
38,
|
|
1,
|
|
45,
|
|
242,
|
|
80,
|
|
255,
|
|
30,
|
|
233,
|
|
103,
|
|
0,
|
|
96,
|
|
82,
|
|
70,
|
|
0,
|
|
23,
|
|
201,
|
|
111,
|
|
0,
|
|
81,
|
|
39,
|
|
30,
|
|
255,
|
|
161,
|
|
183,
|
|
78,
|
|
255,
|
|
194,
|
|
234,
|
|
33,
|
|
255,
|
|
68,
|
|
227,
|
|
140,
|
|
254,
|
|
216,
|
|
206,
|
|
116,
|
|
0,
|
|
70,
|
|
27,
|
|
235,
|
|
255,
|
|
104,
|
|
144,
|
|
79,
|
|
0,
|
|
164,
|
|
230,
|
|
93,
|
|
254,
|
|
214,
|
|
135,
|
|
156,
|
|
0,
|
|
154,
|
|
187,
|
|
242,
|
|
254,
|
|
188,
|
|
20,
|
|
131,
|
|
255,
|
|
36,
|
|
109,
|
|
174,
|
|
0,
|
|
159,
|
|
112,
|
|
241,
|
|
0,
|
|
5,
|
|
110,
|
|
149,
|
|
1,
|
|
36,
|
|
165,
|
|
218,
|
|
0,
|
|
166,
|
|
29,
|
|
19,
|
|
1,
|
|
178,
|
|
46,
|
|
73,
|
|
0,
|
|
93,
|
|
43,
|
|
32,
|
|
254,
|
|
248,
|
|
189,
|
|
237,
|
|
0,
|
|
102,
|
|
155,
|
|
141,
|
|
0,
|
|
201,
|
|
93,
|
|
195,
|
|
255,
|
|
241,
|
|
139,
|
|
253,
|
|
255,
|
|
15,
|
|
111,
|
|
98,
|
|
255,
|
|
108,
|
|
65,
|
|
163,
|
|
254,
|
|
155,
|
|
79,
|
|
190,
|
|
255,
|
|
73,
|
|
174,
|
|
193,
|
|
254,
|
|
246,
|
|
40,
|
|
48,
|
|
255,
|
|
107,
|
|
88,
|
|
11,
|
|
254,
|
|
202,
|
|
97,
|
|
85,
|
|
255,
|
|
253,
|
|
204,
|
|
18,
|
|
255,
|
|
113,
|
|
242,
|
|
66,
|
|
0,
|
|
110,
|
|
160,
|
|
194,
|
|
254,
|
|
208,
|
|
18,
|
|
186,
|
|
0,
|
|
81,
|
|
21,
|
|
60,
|
|
0,
|
|
188,
|
|
104,
|
|
167,
|
|
255,
|
|
124,
|
|
166,
|
|
97,
|
|
254,
|
|
210,
|
|
133,
|
|
142,
|
|
0,
|
|
56,
|
|
242,
|
|
137,
|
|
254,
|
|
41,
|
|
111,
|
|
130,
|
|
0,
|
|
111,
|
|
151,
|
|
58,
|
|
1,
|
|
111,
|
|
213,
|
|
141,
|
|
255,
|
|
183,
|
|
172,
|
|
241,
|
|
255,
|
|
38,
|
|
6,
|
|
196,
|
|
255,
|
|
185,
|
|
7,
|
|
123,
|
|
255,
|
|
46,
|
|
11,
|
|
246,
|
|
0,
|
|
245,
|
|
105,
|
|
119,
|
|
1,
|
|
15,
|
|
2,
|
|
161,
|
|
255,
|
|
8,
|
|
206,
|
|
45,
|
|
255,
|
|
18,
|
|
202,
|
|
74,
|
|
255,
|
|
83,
|
|
124,
|
|
115,
|
|
1,
|
|
212,
|
|
141,
|
|
157,
|
|
0,
|
|
83,
|
|
8,
|
|
209,
|
|
254,
|
|
139,
|
|
15,
|
|
232,
|
|
255,
|
|
172,
|
|
54,
|
|
173,
|
|
254,
|
|
50,
|
|
247,
|
|
132,
|
|
0,
|
|
214,
|
|
189,
|
|
213,
|
|
0,
|
|
144,
|
|
184,
|
|
105,
|
|
0,
|
|
223,
|
|
254,
|
|
248,
|
|
0,
|
|
255,
|
|
147,
|
|
240,
|
|
255,
|
|
23,
|
|
188,
|
|
72,
|
|
0,
|
|
7,
|
|
51,
|
|
54,
|
|
0,
|
|
188,
|
|
25,
|
|
180,
|
|
254,
|
|
220,
|
|
180,
|
|
0,
|
|
255,
|
|
83,
|
|
160,
|
|
20,
|
|
0,
|
|
163,
|
|
189,
|
|
243,
|
|
255,
|
|
58,
|
|
209,
|
|
194,
|
|
255,
|
|
87,
|
|
73,
|
|
60,
|
|
0,
|
|
106,
|
|
24,
|
|
49,
|
|
0,
|
|
245,
|
|
249,
|
|
220,
|
|
0,
|
|
22,
|
|
173,
|
|
167,
|
|
0,
|
|
118,
|
|
11,
|
|
195,
|
|
255,
|
|
19,
|
|
126,
|
|
237,
|
|
0,
|
|
110,
|
|
159,
|
|
37,
|
|
255,
|
|
59,
|
|
82,
|
|
47,
|
|
0,
|
|
180,
|
|
187,
|
|
86,
|
|
0,
|
|
188,
|
|
148,
|
|
208,
|
|
1,
|
|
100,
|
|
37,
|
|
133,
|
|
255,
|
|
7,
|
|
112,
|
|
193,
|
|
0,
|
|
129,
|
|
188,
|
|
156,
|
|
255,
|
|
84,
|
|
106,
|
|
129,
|
|
255,
|
|
133,
|
|
225,
|
|
202,
|
|
0,
|
|
14,
|
|
236,
|
|
111,
|
|
255,
|
|
40,
|
|
20,
|
|
101,
|
|
0,
|
|
172,
|
|
172,
|
|
49,
|
|
254,
|
|
51,
|
|
54,
|
|
74,
|
|
255,
|
|
251,
|
|
185,
|
|
184,
|
|
255,
|
|
93,
|
|
155,
|
|
224,
|
|
255,
|
|
180,
|
|
249,
|
|
224,
|
|
1,
|
|
230,
|
|
178,
|
|
146,
|
|
0,
|
|
72,
|
|
57,
|
|
54,
|
|
254,
|
|
178,
|
|
62,
|
|
184,
|
|
0,
|
|
119,
|
|
205,
|
|
72,
|
|
0,
|
|
185,
|
|
239,
|
|
253,
|
|
255,
|
|
61,
|
|
15,
|
|
218,
|
|
0,
|
|
196,
|
|
67,
|
|
56,
|
|
255,
|
|
234,
|
|
32,
|
|
171,
|
|
1,
|
|
46,
|
|
219,
|
|
228,
|
|
0,
|
|
208,
|
|
108,
|
|
234,
|
|
255,
|
|
20,
|
|
63,
|
|
232,
|
|
255,
|
|
165,
|
|
53,
|
|
199,
|
|
1,
|
|
133,
|
|
228,
|
|
5,
|
|
255,
|
|
52,
|
|
205,
|
|
107,
|
|
0,
|
|
74,
|
|
238,
|
|
140,
|
|
255,
|
|
150,
|
|
156,
|
|
219,
|
|
254,
|
|
239,
|
|
172,
|
|
178,
|
|
255,
|
|
251,
|
|
189,
|
|
223,
|
|
254,
|
|
32,
|
|
142,
|
|
211,
|
|
255,
|
|
218,
|
|
15,
|
|
138,
|
|
1,
|
|
241,
|
|
196,
|
|
80,
|
|
0,
|
|
28,
|
|
36,
|
|
98,
|
|
254,
|
|
22,
|
|
234,
|
|
199,
|
|
0,
|
|
61,
|
|
237,
|
|
220,
|
|
255,
|
|
246,
|
|
57,
|
|
37,
|
|
0,
|
|
142,
|
|
17,
|
|
142,
|
|
255,
|
|
157,
|
|
62,
|
|
26,
|
|
0,
|
|
43,
|
|
238,
|
|
95,
|
|
254,
|
|
3,
|
|
217,
|
|
6,
|
|
255,
|
|
213,
|
|
25,
|
|
240,
|
|
1,
|
|
39,
|
|
220,
|
|
174,
|
|
255,
|
|
154,
|
|
205,
|
|
48,
|
|
254,
|
|
19,
|
|
13,
|
|
192,
|
|
255,
|
|
244,
|
|
34,
|
|
54,
|
|
254,
|
|
140,
|
|
16,
|
|
155,
|
|
0,
|
|
240,
|
|
181,
|
|
5,
|
|
254,
|
|
155,
|
|
193,
|
|
60,
|
|
0,
|
|
166,
|
|
128,
|
|
4,
|
|
255,
|
|
36,
|
|
145,
|
|
56,
|
|
255,
|
|
150,
|
|
240,
|
|
219,
|
|
0,
|
|
120,
|
|
51,
|
|
145,
|
|
0,
|
|
82,
|
|
153,
|
|
42,
|
|
1,
|
|
140,
|
|
236,
|
|
146,
|
|
0,
|
|
107,
|
|
92,
|
|
248,
|
|
1,
|
|
189,
|
|
10,
|
|
3,
|
|
0,
|
|
63,
|
|
136,
|
|
242,
|
|
0,
|
|
211,
|
|
39,
|
|
24,
|
|
0,
|
|
19,
|
|
202,
|
|
161,
|
|
1,
|
|
173,
|
|
27,
|
|
186,
|
|
255,
|
|
210,
|
|
204,
|
|
239,
|
|
254,
|
|
41,
|
|
209,
|
|
162,
|
|
255,
|
|
182,
|
|
254,
|
|
159,
|
|
255,
|
|
172,
|
|
116,
|
|
52,
|
|
0,
|
|
195,
|
|
103,
|
|
222,
|
|
254,
|
|
205,
|
|
69,
|
|
59,
|
|
0,
|
|
53,
|
|
22,
|
|
41,
|
|
1,
|
|
218,
|
|
48,
|
|
194,
|
|
0,
|
|
80,
|
|
210,
|
|
242,
|
|
0,
|
|
210,
|
|
188,
|
|
207,
|
|
0,
|
|
187,
|
|
161,
|
|
161,
|
|
254,
|
|
216,
|
|
17,
|
|
1,
|
|
0,
|
|
136,
|
|
225,
|
|
113,
|
|
0,
|
|
250,
|
|
184,
|
|
63,
|
|
0,
|
|
223,
|
|
30,
|
|
98,
|
|
254,
|
|
77,
|
|
168,
|
|
162,
|
|
0,
|
|
59,
|
|
53,
|
|
175,
|
|
0,
|
|
19,
|
|
201,
|
|
10,
|
|
255,
|
|
139,
|
|
224,
|
|
194,
|
|
0,
|
|
147,
|
|
193,
|
|
154,
|
|
255,
|
|
212,
|
|
189,
|
|
12,
|
|
254,
|
|
1,
|
|
200,
|
|
174,
|
|
255,
|
|
50,
|
|
133,
|
|
113,
|
|
1,
|
|
94,
|
|
179,
|
|
90,
|
|
0,
|
|
173,
|
|
182,
|
|
135,
|
|
0,
|
|
94,
|
|
177,
|
|
113,
|
|
0,
|
|
43,
|
|
89,
|
|
215,
|
|
255,
|
|
136,
|
|
252,
|
|
106,
|
|
255,
|
|
123,
|
|
134,
|
|
83,
|
|
254,
|
|
5,
|
|
245,
|
|
66,
|
|
255,
|
|
82,
|
|
49,
|
|
39,
|
|
1,
|
|
220,
|
|
2,
|
|
224,
|
|
0,
|
|
97,
|
|
129,
|
|
177,
|
|
0,
|
|
77,
|
|
59,
|
|
89,
|
|
0,
|
|
61,
|
|
29,
|
|
155,
|
|
1,
|
|
203,
|
|
171,
|
|
220,
|
|
255,
|
|
92,
|
|
78,
|
|
139,
|
|
0,
|
|
145,
|
|
33,
|
|
181,
|
|
255,
|
|
169,
|
|
24,
|
|
141,
|
|
1,
|
|
55,
|
|
150,
|
|
179,
|
|
0,
|
|
139,
|
|
60,
|
|
80,
|
|
255,
|
|
218,
|
|
39,
|
|
97,
|
|
0,
|
|
2,
|
|
147,
|
|
107,
|
|
255,
|
|
60,
|
|
248,
|
|
72,
|
|
0,
|
|
173,
|
|
230,
|
|
47,
|
|
1,
|
|
6,
|
|
83,
|
|
182,
|
|
255,
|
|
16,
|
|
105,
|
|
162,
|
|
254,
|
|
137,
|
|
212,
|
|
81,
|
|
255,
|
|
180,
|
|
184,
|
|
134,
|
|
1,
|
|
39,
|
|
222,
|
|
164,
|
|
255,
|
|
221,
|
|
105,
|
|
251,
|
|
1,
|
|
239,
|
|
112,
|
|
125,
|
|
0,
|
|
63,
|
|
7,
|
|
97,
|
|
0,
|
|
63,
|
|
104,
|
|
227,
|
|
255,
|
|
148,
|
|
58,
|
|
12,
|
|
0,
|
|
90,
|
|
60,
|
|
224,
|
|
255,
|
|
84,
|
|
212,
|
|
252,
|
|
0,
|
|
79,
|
|
215,
|
|
168,
|
|
0,
|
|
248,
|
|
221,
|
|
199,
|
|
1,
|
|
115,
|
|
121,
|
|
1,
|
|
0,
|
|
36,
|
|
172,
|
|
120,
|
|
0,
|
|
32,
|
|
162,
|
|
187,
|
|
255,
|
|
57,
|
|
107,
|
|
49,
|
|
255,
|
|
147,
|
|
42,
|
|
21,
|
|
0,
|
|
106,
|
|
198,
|
|
43,
|
|
1,
|
|
57,
|
|
74,
|
|
87,
|
|
0,
|
|
126,
|
|
203,
|
|
81,
|
|
255,
|
|
129,
|
|
135,
|
|
195,
|
|
0,
|
|
140,
|
|
31,
|
|
177,
|
|
0,
|
|
221,
|
|
139,
|
|
194,
|
|
0,
|
|
3,
|
|
222,
|
|
215,
|
|
0,
|
|
131,
|
|
68,
|
|
231,
|
|
0,
|
|
177,
|
|
86,
|
|
178,
|
|
254,
|
|
124,
|
|
151,
|
|
180,
|
|
0,
|
|
184,
|
|
124,
|
|
38,
|
|
1,
|
|
70,
|
|
163,
|
|
17,
|
|
0,
|
|
249,
|
|
251,
|
|
181,
|
|
1,
|
|
42,
|
|
55,
|
|
227,
|
|
0,
|
|
226,
|
|
161,
|
|
44,
|
|
0,
|
|
23,
|
|
236,
|
|
110,
|
|
0,
|
|
51,
|
|
149,
|
|
142,
|
|
1,
|
|
93,
|
|
5,
|
|
236,
|
|
0,
|
|
218,
|
|
183,
|
|
106,
|
|
254,
|
|
67,
|
|
24,
|
|
77,
|
|
0,
|
|
40,
|
|
245,
|
|
209,
|
|
255,
|
|
222,
|
|
121,
|
|
153,
|
|
0,
|
|
165,
|
|
57,
|
|
30,
|
|
0,
|
|
83,
|
|
125,
|
|
60,
|
|
0,
|
|
70,
|
|
38,
|
|
82,
|
|
1,
|
|
229,
|
|
6,
|
|
188,
|
|
0,
|
|
109,
|
|
222,
|
|
157,
|
|
255,
|
|
55,
|
|
118,
|
|
63,
|
|
255,
|
|
205,
|
|
151,
|
|
186,
|
|
0,
|
|
227,
|
|
33,
|
|
149,
|
|
255,
|
|
254,
|
|
176,
|
|
246,
|
|
1,
|
|
227,
|
|
177,
|
|
227,
|
|
0,
|
|
34,
|
|
106,
|
|
163,
|
|
254,
|
|
176,
|
|
43,
|
|
79,
|
|
0,
|
|
106,
|
|
95,
|
|
78,
|
|
1,
|
|
185,
|
|
241,
|
|
122,
|
|
255,
|
|
185,
|
|
14,
|
|
61,
|
|
0,
|
|
36,
|
|
1,
|
|
202,
|
|
0,
|
|
13,
|
|
178,
|
|
162,
|
|
255,
|
|
247,
|
|
11,
|
|
132,
|
|
0,
|
|
161,
|
|
230,
|
|
92,
|
|
1,
|
|
65,
|
|
1,
|
|
185,
|
|
255,
|
|
212,
|
|
50,
|
|
165,
|
|
1,
|
|
141,
|
|
146,
|
|
64,
|
|
255,
|
|
158,
|
|
242,
|
|
218,
|
|
0,
|
|
21,
|
|
164,
|
|
125,
|
|
0,
|
|
213,
|
|
139,
|
|
122,
|
|
1,
|
|
67,
|
|
71,
|
|
87,
|
|
0,
|
|
203,
|
|
158,
|
|
178,
|
|
1,
|
|
151,
|
|
92,
|
|
43,
|
|
0,
|
|
152,
|
|
111,
|
|
5,
|
|
255,
|
|
39,
|
|
3,
|
|
239,
|
|
255,
|
|
217,
|
|
255,
|
|
250,
|
|
255,
|
|
176,
|
|
63,
|
|
71,
|
|
255,
|
|
74,
|
|
245,
|
|
77,
|
|
1,
|
|
250,
|
|
174,
|
|
18,
|
|
255,
|
|
34,
|
|
49,
|
|
227,
|
|
255,
|
|
246,
|
|
46,
|
|
251,
|
|
255,
|
|
154,
|
|
35,
|
|
48,
|
|
1,
|
|
125,
|
|
157,
|
|
61,
|
|
255,
|
|
106,
|
|
36,
|
|
78,
|
|
255,
|
|
97,
|
|
236,
|
|
153,
|
|
0,
|
|
136,
|
|
187,
|
|
120,
|
|
255,
|
|
113,
|
|
134,
|
|
171,
|
|
255,
|
|
19,
|
|
213,
|
|
217,
|
|
254,
|
|
216,
|
|
94,
|
|
209,
|
|
255,
|
|
252,
|
|
5,
|
|
61,
|
|
0,
|
|
94,
|
|
3,
|
|
202,
|
|
0,
|
|
3,
|
|
26,
|
|
183,
|
|
255,
|
|
64,
|
|
191,
|
|
43,
|
|
255,
|
|
30,
|
|
23,
|
|
21,
|
|
0,
|
|
129,
|
|
141,
|
|
77,
|
|
255,
|
|
102,
|
|
120,
|
|
7,
|
|
1,
|
|
194,
|
|
76,
|
|
140,
|
|
0,
|
|
188,
|
|
175,
|
|
52,
|
|
255,
|
|
17,
|
|
81,
|
|
148,
|
|
0,
|
|
232,
|
|
86,
|
|
55,
|
|
1,
|
|
225,
|
|
48,
|
|
172,
|
|
0,
|
|
134,
|
|
42,
|
|
42,
|
|
255,
|
|
238,
|
|
50,
|
|
47,
|
|
0,
|
|
169,
|
|
18,
|
|
254,
|
|
0,
|
|
20,
|
|
147,
|
|
87,
|
|
255,
|
|
14,
|
|
195,
|
|
239,
|
|
255,
|
|
69,
|
|
247,
|
|
23,
|
|
0,
|
|
238,
|
|
229,
|
|
128,
|
|
255,
|
|
177,
|
|
49,
|
|
112,
|
|
0,
|
|
168,
|
|
98,
|
|
251,
|
|
255,
|
|
121,
|
|
71,
|
|
248,
|
|
0,
|
|
243,
|
|
8,
|
|
145,
|
|
254,
|
|
246,
|
|
227,
|
|
153,
|
|
255,
|
|
219,
|
|
169,
|
|
177,
|
|
254,
|
|
251,
|
|
139,
|
|
165,
|
|
255,
|
|
12,
|
|
163,
|
|
185,
|
|
255,
|
|
164,
|
|
40,
|
|
171,
|
|
255,
|
|
153,
|
|
159,
|
|
27,
|
|
254,
|
|
243,
|
|
109,
|
|
91,
|
|
255,
|
|
222,
|
|
24,
|
|
112,
|
|
1,
|
|
18,
|
|
214,
|
|
231,
|
|
0,
|
|
107,
|
|
157,
|
|
181,
|
|
254,
|
|
195,
|
|
147,
|
|
0,
|
|
255,
|
|
194,
|
|
99,
|
|
104,
|
|
255,
|
|
89,
|
|
140,
|
|
190,
|
|
255,
|
|
177,
|
|
66,
|
|
126,
|
|
254,
|
|
106,
|
|
185,
|
|
66,
|
|
0,
|
|
49,
|
|
218,
|
|
31,
|
|
0,
|
|
252,
|
|
174,
|
|
158,
|
|
0,
|
|
188,
|
|
79,
|
|
230,
|
|
1,
|
|
238,
|
|
41,
|
|
224,
|
|
0,
|
|
212,
|
|
234,
|
|
8,
|
|
1,
|
|
136,
|
|
11,
|
|
181,
|
|
0,
|
|
166,
|
|
117,
|
|
83,
|
|
255,
|
|
68,
|
|
195,
|
|
94,
|
|
0,
|
|
46,
|
|
132,
|
|
201,
|
|
0,
|
|
240,
|
|
152,
|
|
88,
|
|
0,
|
|
164,
|
|
57,
|
|
69,
|
|
254,
|
|
160,
|
|
224,
|
|
42,
|
|
255,
|
|
59,
|
|
215,
|
|
67,
|
|
255,
|
|
119,
|
|
195,
|
|
141,
|
|
255,
|
|
36,
|
|
180,
|
|
121,
|
|
254,
|
|
207,
|
|
47,
|
|
8,
|
|
255,
|
|
174,
|
|
210,
|
|
223,
|
|
0,
|
|
101,
|
|
197,
|
|
68,
|
|
255,
|
|
255,
|
|
82,
|
|
141,
|
|
1,
|
|
250,
|
|
137,
|
|
233,
|
|
0,
|
|
97,
|
|
86,
|
|
133,
|
|
1,
|
|
16,
|
|
80,
|
|
69,
|
|
0,
|
|
132,
|
|
131,
|
|
159,
|
|
0,
|
|
116,
|
|
93,
|
|
100,
|
|
0,
|
|
45,
|
|
141,
|
|
139,
|
|
0,
|
|
152,
|
|
172,
|
|
157,
|
|
255,
|
|
90,
|
|
43,
|
|
91,
|
|
0,
|
|
71,
|
|
153,
|
|
46,
|
|
0,
|
|
39,
|
|
16,
|
|
112,
|
|
255,
|
|
217,
|
|
136,
|
|
97,
|
|
255,
|
|
220,
|
|
198,
|
|
25,
|
|
254,
|
|
177,
|
|
53,
|
|
49,
|
|
0,
|
|
222,
|
|
88,
|
|
134,
|
|
255,
|
|
128,
|
|
15,
|
|
60,
|
|
0,
|
|
207,
|
|
192,
|
|
169,
|
|
255,
|
|
192,
|
|
116,
|
|
209,
|
|
255,
|
|
106,
|
|
78,
|
|
211,
|
|
1,
|
|
200,
|
|
213,
|
|
183,
|
|
255,
|
|
7,
|
|
12,
|
|
122,
|
|
254,
|
|
222,
|
|
203,
|
|
60,
|
|
255,
|
|
33,
|
|
110,
|
|
199,
|
|
254,
|
|
251,
|
|
106,
|
|
117,
|
|
0,
|
|
228,
|
|
225,
|
|
4,
|
|
1,
|
|
120,
|
|
58,
|
|
7,
|
|
255,
|
|
221,
|
|
193,
|
|
84,
|
|
254,
|
|
112,
|
|
133,
|
|
27,
|
|
0,
|
|
189,
|
|
200,
|
|
201,
|
|
255,
|
|
139,
|
|
135,
|
|
150,
|
|
0,
|
|
234,
|
|
55,
|
|
176,
|
|
255,
|
|
61,
|
|
50,
|
|
65,
|
|
0,
|
|
152,
|
|
108,
|
|
169,
|
|
255,
|
|
220,
|
|
85,
|
|
1,
|
|
255,
|
|
112,
|
|
135,
|
|
227,
|
|
0,
|
|
162,
|
|
26,
|
|
186,
|
|
0,
|
|
207,
|
|
96,
|
|
185,
|
|
254,
|
|
244,
|
|
136,
|
|
107,
|
|
0,
|
|
93,
|
|
153,
|
|
50,
|
|
1,
|
|
198,
|
|
97,
|
|
151,
|
|
0,
|
|
110,
|
|
11,
|
|
86,
|
|
255,
|
|
143,
|
|
117,
|
|
174,
|
|
255,
|
|
115,
|
|
212,
|
|
200,
|
|
0,
|
|
5,
|
|
202,
|
|
183,
|
|
0,
|
|
237,
|
|
164,
|
|
10,
|
|
254,
|
|
185,
|
|
239,
|
|
62,
|
|
0,
|
|
236,
|
|
120,
|
|
18,
|
|
254,
|
|
98,
|
|
123,
|
|
99,
|
|
255,
|
|
168,
|
|
201,
|
|
194,
|
|
254,
|
|
46,
|
|
234,
|
|
214,
|
|
0,
|
|
191,
|
|
133,
|
|
49,
|
|
255,
|
|
99,
|
|
169,
|
|
119,
|
|
0,
|
|
190,
|
|
187,
|
|
35,
|
|
1,
|
|
115,
|
|
21,
|
|
45,
|
|
255,
|
|
249,
|
|
131,
|
|
72,
|
|
0,
|
|
112,
|
|
6,
|
|
123,
|
|
255,
|
|
214,
|
|
49,
|
|
181,
|
|
254,
|
|
166,
|
|
233,
|
|
34,
|
|
0,
|
|
92,
|
|
197,
|
|
102,
|
|
254,
|
|
253,
|
|
228,
|
|
205,
|
|
255,
|
|
3,
|
|
59,
|
|
201,
|
|
1,
|
|
42,
|
|
98,
|
|
46,
|
|
0,
|
|
219,
|
|
37,
|
|
35,
|
|
255,
|
|
169,
|
|
195,
|
|
38,
|
|
0,
|
|
94,
|
|
124,
|
|
193,
|
|
1,
|
|
156,
|
|
43,
|
|
223,
|
|
0,
|
|
95,
|
|
72,
|
|
133,
|
|
254,
|
|
120,
|
|
206,
|
|
191,
|
|
0,
|
|
122,
|
|
197,
|
|
239,
|
|
255,
|
|
177,
|
|
187,
|
|
79,
|
|
255,
|
|
254,
|
|
46,
|
|
2,
|
|
1,
|
|
250,
|
|
167,
|
|
190,
|
|
0,
|
|
84,
|
|
129,
|
|
19,
|
|
0,
|
|
203,
|
|
113,
|
|
166,
|
|
255,
|
|
249,
|
|
31,
|
|
189,
|
|
254,
|
|
72,
|
|
157,
|
|
202,
|
|
255,
|
|
208,
|
|
71,
|
|
73,
|
|
255,
|
|
207,
|
|
24,
|
|
72,
|
|
0,
|
|
10,
|
|
16,
|
|
18,
|
|
1,
|
|
210,
|
|
81,
|
|
76,
|
|
255,
|
|
88,
|
|
208,
|
|
192,
|
|
255,
|
|
126,
|
|
243,
|
|
107,
|
|
255,
|
|
238,
|
|
141,
|
|
120,
|
|
255,
|
|
199,
|
|
121,
|
|
234,
|
|
255,
|
|
137,
|
|
12,
|
|
59,
|
|
255,
|
|
36,
|
|
220,
|
|
123,
|
|
255,
|
|
148,
|
|
179,
|
|
60,
|
|
254,
|
|
240,
|
|
12,
|
|
29,
|
|
0,
|
|
66,
|
|
0,
|
|
97,
|
|
1,
|
|
36,
|
|
30,
|
|
38,
|
|
255,
|
|
115,
|
|
1,
|
|
93,
|
|
255,
|
|
96,
|
|
103,
|
|
231,
|
|
255,
|
|
197,
|
|
158,
|
|
59,
|
|
1,
|
|
192,
|
|
164,
|
|
240,
|
|
0,
|
|
202,
|
|
202,
|
|
57,
|
|
255,
|
|
24,
|
|
174,
|
|
48,
|
|
0,
|
|
89,
|
|
77,
|
|
155,
|
|
1,
|
|
42,
|
|
76,
|
|
215,
|
|
0,
|
|
244,
|
|
151,
|
|
233,
|
|
0,
|
|
23,
|
|
48,
|
|
81,
|
|
0,
|
|
239,
|
|
127,
|
|
52,
|
|
254,
|
|
227,
|
|
130,
|
|
37,
|
|
255,
|
|
248,
|
|
116,
|
|
93,
|
|
1,
|
|
124,
|
|
132,
|
|
118,
|
|
0,
|
|
173,
|
|
254,
|
|
192,
|
|
1,
|
|
6,
|
|
235,
|
|
83,
|
|
255,
|
|
110,
|
|
175,
|
|
231,
|
|
1,
|
|
251,
|
|
28,
|
|
182,
|
|
0,
|
|
129,
|
|
249,
|
|
93,
|
|
254,
|
|
84,
|
|
184,
|
|
128,
|
|
0,
|
|
76,
|
|
181,
|
|
62,
|
|
0,
|
|
175,
|
|
128,
|
|
186,
|
|
0,
|
|
100,
|
|
53,
|
|
136,
|
|
254,
|
|
109,
|
|
29,
|
|
226,
|
|
0,
|
|
221,
|
|
233,
|
|
58,
|
|
1,
|
|
20,
|
|
99,
|
|
74,
|
|
0,
|
|
0,
|
|
22,
|
|
160,
|
|
0,
|
|
134,
|
|
13,
|
|
21,
|
|
0,
|
|
9,
|
|
52,
|
|
55,
|
|
255,
|
|
17,
|
|
89,
|
|
140,
|
|
0,
|
|
175,
|
|
34,
|
|
59,
|
|
0,
|
|
84,
|
|
165,
|
|
119,
|
|
255,
|
|
224,
|
|
226,
|
|
234,
|
|
255,
|
|
7,
|
|
72,
|
|
166,
|
|
255,
|
|
123,
|
|
115,
|
|
255,
|
|
1,
|
|
18,
|
|
214,
|
|
246,
|
|
0,
|
|
250,
|
|
7,
|
|
71,
|
|
1,
|
|
217,
|
|
220,
|
|
185,
|
|
0,
|
|
212,
|
|
35,
|
|
76,
|
|
255,
|
|
38,
|
|
125,
|
|
175,
|
|
0,
|
|
189,
|
|
97,
|
|
210,
|
|
0,
|
|
114,
|
|
238,
|
|
44,
|
|
255,
|
|
41,
|
|
188,
|
|
169,
|
|
254,
|
|
45,
|
|
186,
|
|
154,
|
|
0,
|
|
81,
|
|
92,
|
|
22,
|
|
0,
|
|
132,
|
|
160,
|
|
193,
|
|
0,
|
|
121,
|
|
208,
|
|
98,
|
|
255,
|
|
13,
|
|
81,
|
|
44,
|
|
255,
|
|
203,
|
|
156,
|
|
82,
|
|
0,
|
|
71,
|
|
58,
|
|
21,
|
|
255,
|
|
208,
|
|
114,
|
|
191,
|
|
254,
|
|
50,
|
|
38,
|
|
147,
|
|
0,
|
|
154,
|
|
216,
|
|
195,
|
|
0,
|
|
101,
|
|
25,
|
|
18,
|
|
0,
|
|
60,
|
|
250,
|
|
215,
|
|
255,
|
|
233,
|
|
132,
|
|
235,
|
|
255,
|
|
103,
|
|
175,
|
|
142,
|
|
1,
|
|
16,
|
|
14,
|
|
92,
|
|
0,
|
|
141,
|
|
31,
|
|
110,
|
|
254,
|
|
238,
|
|
241,
|
|
45,
|
|
255,
|
|
153,
|
|
217,
|
|
239,
|
|
1,
|
|
97,
|
|
168,
|
|
47,
|
|
255,
|
|
249,
|
|
85,
|
|
16,
|
|
1,
|
|
28,
|
|
175,
|
|
62,
|
|
255,
|
|
57,
|
|
254,
|
|
54,
|
|
0,
|
|
222,
|
|
231,
|
|
126,
|
|
0,
|
|
166,
|
|
45,
|
|
117,
|
|
254,
|
|
18,
|
|
189,
|
|
96,
|
|
255,
|
|
228,
|
|
76,
|
|
50,
|
|
0,
|
|
200,
|
|
244,
|
|
94,
|
|
0,
|
|
198,
|
|
152,
|
|
120,
|
|
1,
|
|
68,
|
|
34,
|
|
69,
|
|
255,
|
|
12,
|
|
65,
|
|
160,
|
|
254,
|
|
101,
|
|
19,
|
|
90,
|
|
0,
|
|
167,
|
|
197,
|
|
120,
|
|
255,
|
|
68,
|
|
54,
|
|
185,
|
|
255,
|
|
41,
|
|
218,
|
|
188,
|
|
0,
|
|
113,
|
|
168,
|
|
48,
|
|
0,
|
|
88,
|
|
105,
|
|
189,
|
|
1,
|
|
26,
|
|
82,
|
|
32,
|
|
255,
|
|
185,
|
|
93,
|
|
164,
|
|
1,
|
|
228,
|
|
240,
|
|
237,
|
|
255,
|
|
66,
|
|
182,
|
|
53,
|
|
0,
|
|
171,
|
|
197,
|
|
92,
|
|
255,
|
|
107,
|
|
9,
|
|
233,
|
|
1,
|
|
199,
|
|
120,
|
|
144,
|
|
255,
|
|
78,
|
|
49,
|
|
10,
|
|
255,
|
|
109,
|
|
170,
|
|
105,
|
|
255,
|
|
90,
|
|
4,
|
|
31,
|
|
255,
|
|
28,
|
|
244,
|
|
113,
|
|
255,
|
|
74,
|
|
58,
|
|
11,
|
|
0,
|
|
62,
|
|
220,
|
|
246,
|
|
255,
|
|
121,
|
|
154,
|
|
200,
|
|
254,
|
|
144,
|
|
210,
|
|
178,
|
|
255,
|
|
126,
|
|
57,
|
|
129,
|
|
1,
|
|
43,
|
|
250,
|
|
14,
|
|
255,
|
|
101,
|
|
111,
|
|
28,
|
|
1,
|
|
47,
|
|
86,
|
|
241,
|
|
255,
|
|
61,
|
|
70,
|
|
150,
|
|
255,
|
|
53,
|
|
73,
|
|
5,
|
|
255,
|
|
30,
|
|
26,
|
|
158,
|
|
0,
|
|
209,
|
|
26,
|
|
86,
|
|
0,
|
|
138,
|
|
237,
|
|
74,
|
|
0,
|
|
164,
|
|
95,
|
|
188,
|
|
0,
|
|
142,
|
|
60,
|
|
29,
|
|
254,
|
|
162,
|
|
116,
|
|
248,
|
|
255,
|
|
187,
|
|
175,
|
|
160,
|
|
0,
|
|
151,
|
|
18,
|
|
16,
|
|
0,
|
|
209,
|
|
111,
|
|
65,
|
|
254,
|
|
203,
|
|
134,
|
|
39,
|
|
255,
|
|
88,
|
|
108,
|
|
49,
|
|
255,
|
|
131,
|
|
26,
|
|
71,
|
|
255,
|
|
221,
|
|
27,
|
|
215,
|
|
254,
|
|
104,
|
|
105,
|
|
93,
|
|
255,
|
|
31,
|
|
236,
|
|
31,
|
|
254,
|
|
135,
|
|
0,
|
|
211,
|
|
255,
|
|
143,
|
|
127,
|
|
110,
|
|
1,
|
|
212,
|
|
73,
|
|
229,
|
|
0,
|
|
233,
|
|
67,
|
|
167,
|
|
254,
|
|
195,
|
|
1,
|
|
208,
|
|
255,
|
|
132,
|
|
17,
|
|
221,
|
|
255,
|
|
51,
|
|
217,
|
|
90,
|
|
0,
|
|
67,
|
|
235,
|
|
50,
|
|
255,
|
|
223,
|
|
210,
|
|
143,
|
|
0,
|
|
179,
|
|
53,
|
|
130,
|
|
1,
|
|
233,
|
|
106,
|
|
198,
|
|
0,
|
|
217,
|
|
173,
|
|
220,
|
|
255,
|
|
112,
|
|
229,
|
|
24,
|
|
255,
|
|
175,
|
|
154,
|
|
93,
|
|
254,
|
|
71,
|
|
203,
|
|
246,
|
|
255,
|
|
48,
|
|
66,
|
|
133,
|
|
255,
|
|
3,
|
|
136,
|
|
230,
|
|
255,
|
|
23,
|
|
221,
|
|
113,
|
|
254,
|
|
235,
|
|
111,
|
|
213,
|
|
0,
|
|
170,
|
|
120,
|
|
95,
|
|
254,
|
|
251,
|
|
221,
|
|
2,
|
|
0,
|
|
45,
|
|
130,
|
|
158,
|
|
254,
|
|
105,
|
|
94,
|
|
217,
|
|
255,
|
|
242,
|
|
52,
|
|
180,
|
|
254,
|
|
213,
|
|
68,
|
|
45,
|
|
255,
|
|
104,
|
|
38,
|
|
28,
|
|
0,
|
|
244,
|
|
158,
|
|
76,
|
|
0,
|
|
161,
|
|
200,
|
|
96,
|
|
255,
|
|
207,
|
|
53,
|
|
13,
|
|
255,
|
|
187,
|
|
67,
|
|
148,
|
|
0,
|
|
170,
|
|
54,
|
|
248,
|
|
0,
|
|
119,
|
|
162,
|
|
178,
|
|
255,
|
|
83,
|
|
20,
|
|
11,
|
|
0,
|
|
42,
|
|
42,
|
|
192,
|
|
1,
|
|
146,
|
|
159,
|
|
163,
|
|
255,
|
|
183,
|
|
232,
|
|
111,
|
|
0,
|
|
77,
|
|
229,
|
|
21,
|
|
255,
|
|
71,
|
|
53,
|
|
143,
|
|
0,
|
|
27,
|
|
76,
|
|
34,
|
|
0,
|
|
246,
|
|
136,
|
|
47,
|
|
255,
|
|
219,
|
|
39,
|
|
182,
|
|
255,
|
|
92,
|
|
224,
|
|
201,
|
|
1,
|
|
19,
|
|
142,
|
|
14,
|
|
255,
|
|
69,
|
|
182,
|
|
241,
|
|
255,
|
|
163,
|
|
118,
|
|
245,
|
|
0,
|
|
9,
|
|
109,
|
|
106,
|
|
1,
|
|
170,
|
|
181,
|
|
247,
|
|
255,
|
|
78,
|
|
47,
|
|
238,
|
|
255,
|
|
84,
|
|
210,
|
|
176,
|
|
255,
|
|
213,
|
|
107,
|
|
139,
|
|
0,
|
|
39,
|
|
38,
|
|
11,
|
|
0,
|
|
72,
|
|
21,
|
|
150,
|
|
0,
|
|
72,
|
|
130,
|
|
69,
|
|
0,
|
|
205,
|
|
77,
|
|
155,
|
|
254,
|
|
142,
|
|
133,
|
|
21,
|
|
],
|
|
'i8',
|
|
ALLOC_NONE,
|
|
Runtime.GLOBAL_BASE
|
|
);
|
|
/* memory initializer */ allocate(
|
|
[
|
|
71,
|
|
111,
|
|
172,
|
|
254,
|
|
226,
|
|
42,
|
|
59,
|
|
255,
|
|
179,
|
|
0,
|
|
215,
|
|
1,
|
|
33,
|
|
128,
|
|
241,
|
|
0,
|
|
234,
|
|
252,
|
|
13,
|
|
1,
|
|
184,
|
|
79,
|
|
8,
|
|
0,
|
|
110,
|
|
30,
|
|
73,
|
|
255,
|
|
246,
|
|
141,
|
|
189,
|
|
0,
|
|
170,
|
|
207,
|
|
218,
|
|
1,
|
|
74,
|
|
154,
|
|
69,
|
|
255,
|
|
138,
|
|
246,
|
|
49,
|
|
255,
|
|
155,
|
|
32,
|
|
100,
|
|
0,
|
|
125,
|
|
74,
|
|
105,
|
|
255,
|
|
90,
|
|
85,
|
|
61,
|
|
255,
|
|
35,
|
|
229,
|
|
177,
|
|
255,
|
|
62,
|
|
125,
|
|
193,
|
|
255,
|
|
153,
|
|
86,
|
|
188,
|
|
1,
|
|
73,
|
|
120,
|
|
212,
|
|
0,
|
|
209,
|
|
123,
|
|
246,
|
|
254,
|
|
135,
|
|
209,
|
|
38,
|
|
255,
|
|
151,
|
|
58,
|
|
44,
|
|
1,
|
|
92,
|
|
69,
|
|
214,
|
|
255,
|
|
14,
|
|
12,
|
|
88,
|
|
255,
|
|
252,
|
|
153,
|
|
166,
|
|
255,
|
|
253,
|
|
207,
|
|
112,
|
|
255,
|
|
60,
|
|
78,
|
|
83,
|
|
255,
|
|
227,
|
|
124,
|
|
110,
|
|
0,
|
|
180,
|
|
96,
|
|
252,
|
|
255,
|
|
53,
|
|
117,
|
|
33,
|
|
254,
|
|
164,
|
|
220,
|
|
82,
|
|
255,
|
|
41,
|
|
1,
|
|
27,
|
|
255,
|
|
38,
|
|
164,
|
|
166,
|
|
255,
|
|
164,
|
|
99,
|
|
169,
|
|
254,
|
|
61,
|
|
144,
|
|
70,
|
|
255,
|
|
192,
|
|
166,
|
|
18,
|
|
0,
|
|
107,
|
|
250,
|
|
66,
|
|
0,
|
|
197,
|
|
65,
|
|
50,
|
|
0,
|
|
1,
|
|
179,
|
|
18,
|
|
255,
|
|
255,
|
|
104,
|
|
1,
|
|
255,
|
|
43,
|
|
153,
|
|
35,
|
|
255,
|
|
80,
|
|
111,
|
|
168,
|
|
0,
|
|
110,
|
|
175,
|
|
168,
|
|
0,
|
|
41,
|
|
105,
|
|
45,
|
|
255,
|
|
219,
|
|
14,
|
|
205,
|
|
255,
|
|
164,
|
|
233,
|
|
140,
|
|
254,
|
|
43,
|
|
1,
|
|
118,
|
|
0,
|
|
233,
|
|
67,
|
|
195,
|
|
0,
|
|
178,
|
|
82,
|
|
159,
|
|
255,
|
|
138,
|
|
87,
|
|
122,
|
|
255,
|
|
212,
|
|
238,
|
|
90,
|
|
255,
|
|
144,
|
|
35,
|
|
124,
|
|
254,
|
|
25,
|
|
140,
|
|
164,
|
|
0,
|
|
251,
|
|
215,
|
|
44,
|
|
254,
|
|
133,
|
|
70,
|
|
107,
|
|
255,
|
|
101,
|
|
227,
|
|
80,
|
|
254,
|
|
92,
|
|
169,
|
|
55,
|
|
0,
|
|
215,
|
|
42,
|
|
49,
|
|
0,
|
|
114,
|
|
180,
|
|
85,
|
|
255,
|
|
33,
|
|
232,
|
|
27,
|
|
1,
|
|
172,
|
|
213,
|
|
25,
|
|
0,
|
|
62,
|
|
176,
|
|
123,
|
|
254,
|
|
32,
|
|
133,
|
|
24,
|
|
255,
|
|
225,
|
|
191,
|
|
62,
|
|
0,
|
|
93,
|
|
70,
|
|
153,
|
|
0,
|
|
181,
|
|
42,
|
|
104,
|
|
1,
|
|
22,
|
|
191,
|
|
224,
|
|
255,
|
|
200,
|
|
200,
|
|
140,
|
|
255,
|
|
249,
|
|
234,
|
|
37,
|
|
0,
|
|
149,
|
|
57,
|
|
141,
|
|
0,
|
|
195,
|
|
56,
|
|
208,
|
|
255,
|
|
254,
|
|
130,
|
|
70,
|
|
255,
|
|
32,
|
|
173,
|
|
240,
|
|
255,
|
|
29,
|
|
220,
|
|
199,
|
|
0,
|
|
110,
|
|
100,
|
|
115,
|
|
255,
|
|
132,
|
|
229,
|
|
249,
|
|
0,
|
|
228,
|
|
233,
|
|
223,
|
|
255,
|
|
37,
|
|
216,
|
|
209,
|
|
254,
|
|
178,
|
|
177,
|
|
209,
|
|
255,
|
|
183,
|
|
45,
|
|
165,
|
|
254,
|
|
224,
|
|
97,
|
|
114,
|
|
0,
|
|
137,
|
|
97,
|
|
168,
|
|
255,
|
|
225,
|
|
222,
|
|
172,
|
|
0,
|
|
165,
|
|
13,
|
|
49,
|
|
1,
|
|
210,
|
|
235,
|
|
204,
|
|
255,
|
|
252,
|
|
4,
|
|
28,
|
|
254,
|
|
70,
|
|
160,
|
|
151,
|
|
0,
|
|
232,
|
|
190,
|
|
52,
|
|
254,
|
|
83,
|
|
248,
|
|
93,
|
|
255,
|
|
62,
|
|
215,
|
|
77,
|
|
1,
|
|
175,
|
|
175,
|
|
179,
|
|
255,
|
|
160,
|
|
50,
|
|
66,
|
|
0,
|
|
121,
|
|
48,
|
|
208,
|
|
0,
|
|
63,
|
|
169,
|
|
209,
|
|
255,
|
|
0,
|
|
210,
|
|
200,
|
|
0,
|
|
224,
|
|
187,
|
|
44,
|
|
1,
|
|
73,
|
|
162,
|
|
82,
|
|
0,
|
|
9,
|
|
176,
|
|
143,
|
|
255,
|
|
19,
|
|
76,
|
|
193,
|
|
255,
|
|
29,
|
|
59,
|
|
167,
|
|
1,
|
|
24,
|
|
43,
|
|
154,
|
|
0,
|
|
28,
|
|
190,
|
|
190,
|
|
0,
|
|
141,
|
|
188,
|
|
129,
|
|
0,
|
|
232,
|
|
235,
|
|
203,
|
|
255,
|
|
234,
|
|
0,
|
|
109,
|
|
255,
|
|
54,
|
|
65,
|
|
159,
|
|
0,
|
|
60,
|
|
88,
|
|
232,
|
|
255,
|
|
121,
|
|
253,
|
|
150,
|
|
254,
|
|
252,
|
|
233,
|
|
131,
|
|
255,
|
|
198,
|
|
110,
|
|
41,
|
|
1,
|
|
83,
|
|
77,
|
|
71,
|
|
255,
|
|
200,
|
|
22,
|
|
59,
|
|
254,
|
|
106,
|
|
253,
|
|
242,
|
|
255,
|
|
21,
|
|
12,
|
|
207,
|
|
255,
|
|
237,
|
|
66,
|
|
189,
|
|
0,
|
|
90,
|
|
198,
|
|
202,
|
|
1,
|
|
225,
|
|
172,
|
|
127,
|
|
0,
|
|
53,
|
|
22,
|
|
202,
|
|
0,
|
|
56,
|
|
230,
|
|
132,
|
|
0,
|
|
1,
|
|
86,
|
|
183,
|
|
0,
|
|
109,
|
|
190,
|
|
42,
|
|
0,
|
|
243,
|
|
68,
|
|
174,
|
|
1,
|
|
109,
|
|
228,
|
|
154,
|
|
0,
|
|
200,
|
|
177,
|
|
122,
|
|
1,
|
|
35,
|
|
160,
|
|
183,
|
|
255,
|
|
177,
|
|
48,
|
|
85,
|
|
255,
|
|
90,
|
|
218,
|
|
169,
|
|
255,
|
|
248,
|
|
152,
|
|
78,
|
|
0,
|
|
202,
|
|
254,
|
|
110,
|
|
0,
|
|
6,
|
|
52,
|
|
43,
|
|
0,
|
|
142,
|
|
98,
|
|
65,
|
|
255,
|
|
63,
|
|
145,
|
|
22,
|
|
0,
|
|
70,
|
|
106,
|
|
93,
|
|
0,
|
|
232,
|
|
138,
|
|
107,
|
|
1,
|
|
110,
|
|
179,
|
|
61,
|
|
255,
|
|
211,
|
|
129,
|
|
218,
|
|
1,
|
|
242,
|
|
209,
|
|
92,
|
|
0,
|
|
35,
|
|
90,
|
|
217,
|
|
1,
|
|
182,
|
|
143,
|
|
106,
|
|
255,
|
|
116,
|
|
101,
|
|
217,
|
|
255,
|
|
114,
|
|
250,
|
|
221,
|
|
255,
|
|
173,
|
|
204,
|
|
6,
|
|
0,
|
|
60,
|
|
150,
|
|
163,
|
|
0,
|
|
73,
|
|
172,
|
|
44,
|
|
255,
|
|
239,
|
|
110,
|
|
80,
|
|
255,
|
|
237,
|
|
76,
|
|
153,
|
|
254,
|
|
161,
|
|
140,
|
|
249,
|
|
0,
|
|
149,
|
|
232,
|
|
229,
|
|
0,
|
|
133,
|
|
31,
|
|
40,
|
|
255,
|
|
174,
|
|
164,
|
|
119,
|
|
0,
|
|
113,
|
|
51,
|
|
214,
|
|
0,
|
|
129,
|
|
228,
|
|
2,
|
|
254,
|
|
64,
|
|
34,
|
|
243,
|
|
0,
|
|
107,
|
|
227,
|
|
244,
|
|
255,
|
|
174,
|
|
106,
|
|
200,
|
|
255,
|
|
84,
|
|
153,
|
|
70,
|
|
1,
|
|
50,
|
|
35,
|
|
16,
|
|
0,
|
|
250,
|
|
74,
|
|
216,
|
|
254,
|
|
236,
|
|
189,
|
|
66,
|
|
255,
|
|
153,
|
|
249,
|
|
13,
|
|
0,
|
|
230,
|
|
178,
|
|
4,
|
|
255,
|
|
221,
|
|
41,
|
|
238,
|
|
0,
|
|
118,
|
|
227,
|
|
121,
|
|
255,
|
|
94,
|
|
87,
|
|
140,
|
|
254,
|
|
254,
|
|
119,
|
|
92,
|
|
0,
|
|
73,
|
|
239,
|
|
246,
|
|
254,
|
|
117,
|
|
87,
|
|
128,
|
|
0,
|
|
19,
|
|
211,
|
|
145,
|
|
255,
|
|
177,
|
|
46,
|
|
252,
|
|
0,
|
|
229,
|
|
91,
|
|
246,
|
|
1,
|
|
69,
|
|
128,
|
|
247,
|
|
255,
|
|
202,
|
|
77,
|
|
54,
|
|
1,
|
|
8,
|
|
11,
|
|
9,
|
|
255,
|
|
153,
|
|
96,
|
|
166,
|
|
0,
|
|
217,
|
|
214,
|
|
173,
|
|
255,
|
|
134,
|
|
192,
|
|
2,
|
|
1,
|
|
0,
|
|
207,
|
|
0,
|
|
0,
|
|
189,
|
|
174,
|
|
107,
|
|
1,
|
|
140,
|
|
134,
|
|
100,
|
|
0,
|
|
158,
|
|
193,
|
|
243,
|
|
1,
|
|
182,
|
|
102,
|
|
171,
|
|
0,
|
|
235,
|
|
154,
|
|
51,
|
|
0,
|
|
142,
|
|
5,
|
|
123,
|
|
255,
|
|
60,
|
|
168,
|
|
89,
|
|
1,
|
|
217,
|
|
14,
|
|
92,
|
|
255,
|
|
19,
|
|
214,
|
|
5,
|
|
1,
|
|
211,
|
|
167,
|
|
254,
|
|
0,
|
|
44,
|
|
6,
|
|
202,
|
|
254,
|
|
120,
|
|
18,
|
|
236,
|
|
255,
|
|
15,
|
|
113,
|
|
184,
|
|
255,
|
|
184,
|
|
223,
|
|
139,
|
|
0,
|
|
40,
|
|
177,
|
|
119,
|
|
254,
|
|
182,
|
|
123,
|
|
90,
|
|
255,
|
|
176,
|
|
165,
|
|
176,
|
|
0,
|
|
247,
|
|
77,
|
|
194,
|
|
0,
|
|
27,
|
|
234,
|
|
120,
|
|
0,
|
|
231,
|
|
0,
|
|
214,
|
|
255,
|
|
59,
|
|
39,
|
|
30,
|
|
0,
|
|
125,
|
|
99,
|
|
145,
|
|
255,
|
|
150,
|
|
68,
|
|
68,
|
|
1,
|
|
141,
|
|
222,
|
|
248,
|
|
0,
|
|
153,
|
|
123,
|
|
210,
|
|
255,
|
|
110,
|
|
127,
|
|
152,
|
|
255,
|
|
229,
|
|
33,
|
|
214,
|
|
1,
|
|
135,
|
|
221,
|
|
197,
|
|
0,
|
|
137,
|
|
97,
|
|
2,
|
|
0,
|
|
12,
|
|
143,
|
|
204,
|
|
255,
|
|
81,
|
|
41,
|
|
188,
|
|
0,
|
|
115,
|
|
79,
|
|
130,
|
|
255,
|
|
94,
|
|
3,
|
|
132,
|
|
0,
|
|
152,
|
|
175,
|
|
187,
|
|
255,
|
|
124,
|
|
141,
|
|
10,
|
|
255,
|
|
126,
|
|
192,
|
|
179,
|
|
255,
|
|
11,
|
|
103,
|
|
198,
|
|
0,
|
|
149,
|
|
6,
|
|
45,
|
|
0,
|
|
219,
|
|
85,
|
|
187,
|
|
1,
|
|
230,
|
|
18,
|
|
178,
|
|
255,
|
|
72,
|
|
182,
|
|
152,
|
|
0,
|
|
3,
|
|
198,
|
|
184,
|
|
255,
|
|
128,
|
|
112,
|
|
224,
|
|
1,
|
|
97,
|
|
161,
|
|
230,
|
|
0,
|
|
254,
|
|
99,
|
|
38,
|
|
255,
|
|
58,
|
|
159,
|
|
197,
|
|
0,
|
|
151,
|
|
66,
|
|
219,
|
|
0,
|
|
59,
|
|
69,
|
|
143,
|
|
255,
|
|
185,
|
|
112,
|
|
249,
|
|
0,
|
|
119,
|
|
136,
|
|
47,
|
|
255,
|
|
123,
|
|
130,
|
|
132,
|
|
0,
|
|
168,
|
|
71,
|
|
95,
|
|
255,
|
|
113,
|
|
176,
|
|
40,
|
|
1,
|
|
232,
|
|
185,
|
|
173,
|
|
0,
|
|
207,
|
|
93,
|
|
117,
|
|
1,
|
|
68,
|
|
157,
|
|
108,
|
|
255,
|
|
102,
|
|
5,
|
|
147,
|
|
254,
|
|
49,
|
|
97,
|
|
33,
|
|
0,
|
|
89,
|
|
65,
|
|
111,
|
|
254,
|
|
247,
|
|
30,
|
|
163,
|
|
255,
|
|
124,
|
|
217,
|
|
221,
|
|
1,
|
|
102,
|
|
250,
|
|
216,
|
|
0,
|
|
198,
|
|
174,
|
|
75,
|
|
254,
|
|
57,
|
|
55,
|
|
18,
|
|
0,
|
|
227,
|
|
5,
|
|
236,
|
|
1,
|
|
229,
|
|
213,
|
|
173,
|
|
0,
|
|
201,
|
|
109,
|
|
218,
|
|
1,
|
|
49,
|
|
233,
|
|
239,
|
|
0,
|
|
30,
|
|
55,
|
|
158,
|
|
1,
|
|
25,
|
|
178,
|
|
106,
|
|
0,
|
|
155,
|
|
111,
|
|
188,
|
|
1,
|
|
94,
|
|
126,
|
|
140,
|
|
0,
|
|
215,
|
|
31,
|
|
238,
|
|
1,
|
|
77,
|
|
240,
|
|
16,
|
|
0,
|
|
213,
|
|
242,
|
|
25,
|
|
1,
|
|
38,
|
|
71,
|
|
168,
|
|
0,
|
|
205,
|
|
186,
|
|
93,
|
|
254,
|
|
49,
|
|
211,
|
|
140,
|
|
255,
|
|
219,
|
|
0,
|
|
180,
|
|
255,
|
|
134,
|
|
118,
|
|
165,
|
|
0,
|
|
160,
|
|
147,
|
|
134,
|
|
255,
|
|
110,
|
|
186,
|
|
35,
|
|
255,
|
|
198,
|
|
243,
|
|
42,
|
|
0,
|
|
243,
|
|
146,
|
|
119,
|
|
0,
|
|
134,
|
|
235,
|
|
163,
|
|
1,
|
|
4,
|
|
241,
|
|
135,
|
|
255,
|
|
193,
|
|
46,
|
|
193,
|
|
254,
|
|
103,
|
|
180,
|
|
79,
|
|
255,
|
|
225,
|
|
4,
|
|
184,
|
|
254,
|
|
242,
|
|
118,
|
|
130,
|
|
0,
|
|
146,
|
|
135,
|
|
176,
|
|
1,
|
|
234,
|
|
111,
|
|
30,
|
|
0,
|
|
69,
|
|
66,
|
|
213,
|
|
254,
|
|
41,
|
|
96,
|
|
123,
|
|
0,
|
|
121,
|
|
94,
|
|
42,
|
|
255,
|
|
178,
|
|
191,
|
|
195,
|
|
255,
|
|
46,
|
|
130,
|
|
42,
|
|
0,
|
|
117,
|
|
84,
|
|
8,
|
|
255,
|
|
233,
|
|
49,
|
|
214,
|
|
254,
|
|
238,
|
|
122,
|
|
109,
|
|
0,
|
|
6,
|
|
71,
|
|
89,
|
|
1,
|
|
236,
|
|
211,
|
|
123,
|
|
0,
|
|
244,
|
|
13,
|
|
48,
|
|
254,
|
|
119,
|
|
148,
|
|
14,
|
|
0,
|
|
114,
|
|
28,
|
|
86,
|
|
255,
|
|
75,
|
|
237,
|
|
25,
|
|
255,
|
|
145,
|
|
229,
|
|
16,
|
|
254,
|
|
129,
|
|
100,
|
|
53,
|
|
255,
|
|
134,
|
|
150,
|
|
120,
|
|
254,
|
|
168,
|
|
157,
|
|
50,
|
|
0,
|
|
23,
|
|
72,
|
|
104,
|
|
255,
|
|
224,
|
|
49,
|
|
14,
|
|
0,
|
|
255,
|
|
123,
|
|
22,
|
|
255,
|
|
151,
|
|
185,
|
|
151,
|
|
255,
|
|
170,
|
|
80,
|
|
184,
|
|
1,
|
|
134,
|
|
182,
|
|
20,
|
|
0,
|
|
41,
|
|
100,
|
|
101,
|
|
1,
|
|
153,
|
|
33,
|
|
16,
|
|
0,
|
|
76,
|
|
154,
|
|
111,
|
|
1,
|
|
86,
|
|
206,
|
|
234,
|
|
255,
|
|
192,
|
|
160,
|
|
164,
|
|
254,
|
|
165,
|
|
123,
|
|
93,
|
|
255,
|
|
1,
|
|
216,
|
|
164,
|
|
254,
|
|
67,
|
|
17,
|
|
175,
|
|
255,
|
|
169,
|
|
11,
|
|
59,
|
|
255,
|
|
158,
|
|
41,
|
|
61,
|
|
255,
|
|
73,
|
|
188,
|
|
14,
|
|
255,
|
|
195,
|
|
6,
|
|
137,
|
|
255,
|
|
22,
|
|
147,
|
|
29,
|
|
255,
|
|
20,
|
|
103,
|
|
3,
|
|
255,
|
|
246,
|
|
130,
|
|
227,
|
|
255,
|
|
122,
|
|
40,
|
|
128,
|
|
0,
|
|
226,
|
|
47,
|
|
24,
|
|
254,
|
|
35,
|
|
36,
|
|
32,
|
|
0,
|
|
152,
|
|
186,
|
|
183,
|
|
255,
|
|
69,
|
|
202,
|
|
20,
|
|
0,
|
|
195,
|
|
133,
|
|
195,
|
|
0,
|
|
222,
|
|
51,
|
|
247,
|
|
0,
|
|
169,
|
|
171,
|
|
94,
|
|
1,
|
|
183,
|
|
0,
|
|
160,
|
|
255,
|
|
64,
|
|
205,
|
|
18,
|
|
1,
|
|
156,
|
|
83,
|
|
15,
|
|
255,
|
|
197,
|
|
58,
|
|
249,
|
|
254,
|
|
251,
|
|
89,
|
|
110,
|
|
255,
|
|
50,
|
|
10,
|
|
88,
|
|
254,
|
|
51,
|
|
43,
|
|
216,
|
|
0,
|
|
98,
|
|
242,
|
|
198,
|
|
1,
|
|
245,
|
|
151,
|
|
113,
|
|
0,
|
|
171,
|
|
236,
|
|
194,
|
|
1,
|
|
197,
|
|
31,
|
|
199,
|
|
255,
|
|
229,
|
|
81,
|
|
38,
|
|
1,
|
|
41,
|
|
59,
|
|
20,
|
|
0,
|
|
253,
|
|
104,
|
|
230,
|
|
0,
|
|
152,
|
|
93,
|
|
14,
|
|
255,
|
|
246,
|
|
242,
|
|
146,
|
|
254,
|
|
214,
|
|
169,
|
|
240,
|
|
255,
|
|
240,
|
|
102,
|
|
108,
|
|
254,
|
|
160,
|
|
167,
|
|
236,
|
|
0,
|
|
154,
|
|
218,
|
|
188,
|
|
0,
|
|
150,
|
|
233,
|
|
202,
|
|
255,
|
|
27,
|
|
19,
|
|
250,
|
|
1,
|
|
2,
|
|
71,
|
|
133,
|
|
255,
|
|
175,
|
|
12,
|
|
63,
|
|
1,
|
|
145,
|
|
183,
|
|
198,
|
|
0,
|
|
104,
|
|
120,
|
|
115,
|
|
255,
|
|
130,
|
|
251,
|
|
247,
|
|
0,
|
|
17,
|
|
212,
|
|
167,
|
|
255,
|
|
62,
|
|
123,
|
|
132,
|
|
255,
|
|
247,
|
|
100,
|
|
189,
|
|
0,
|
|
155,
|
|
223,
|
|
152,
|
|
0,
|
|
143,
|
|
197,
|
|
33,
|
|
0,
|
|
155,
|
|
59,
|
|
44,
|
|
255,
|
|
150,
|
|
93,
|
|
240,
|
|
1,
|
|
127,
|
|
3,
|
|
87,
|
|
255,
|
|
95,
|
|
71,
|
|
207,
|
|
1,
|
|
167,
|
|
85,
|
|
1,
|
|
255,
|
|
188,
|
|
152,
|
|
116,
|
|
255,
|
|
10,
|
|
23,
|
|
23,
|
|
0,
|
|
137,
|
|
195,
|
|
93,
|
|
1,
|
|
54,
|
|
98,
|
|
97,
|
|
0,
|
|
240,
|
|
0,
|
|
168,
|
|
255,
|
|
148,
|
|
188,
|
|
127,
|
|
0,
|
|
134,
|
|
107,
|
|
151,
|
|
0,
|
|
76,
|
|
253,
|
|
171,
|
|
0,
|
|
90,
|
|
132,
|
|
192,
|
|
0,
|
|
146,
|
|
22,
|
|
54,
|
|
0,
|
|
224,
|
|
66,
|
|
54,
|
|
254,
|
|
230,
|
|
186,
|
|
229,
|
|
255,
|
|
39,
|
|
182,
|
|
196,
|
|
0,
|
|
148,
|
|
251,
|
|
130,
|
|
255,
|
|
65,
|
|
131,
|
|
108,
|
|
254,
|
|
128,
|
|
1,
|
|
160,
|
|
0,
|
|
169,
|
|
49,
|
|
167,
|
|
254,
|
|
199,
|
|
254,
|
|
148,
|
|
255,
|
|
251,
|
|
6,
|
|
131,
|
|
0,
|
|
187,
|
|
254,
|
|
129,
|
|
255,
|
|
85,
|
|
82,
|
|
62,
|
|
0,
|
|
178,
|
|
23,
|
|
58,
|
|
255,
|
|
254,
|
|
132,
|
|
5,
|
|
0,
|
|
164,
|
|
213,
|
|
39,
|
|
0,
|
|
134,
|
|
252,
|
|
146,
|
|
254,
|
|
37,
|
|
53,
|
|
81,
|
|
255,
|
|
155,
|
|
134,
|
|
82,
|
|
0,
|
|
205,
|
|
167,
|
|
238,
|
|
255,
|
|
94,
|
|
45,
|
|
180,
|
|
255,
|
|
132,
|
|
40,
|
|
161,
|
|
0,
|
|
254,
|
|
111,
|
|
112,
|
|
1,
|
|
54,
|
|
75,
|
|
217,
|
|
0,
|
|
179,
|
|
230,
|
|
221,
|
|
1,
|
|
235,
|
|
94,
|
|
191,
|
|
255,
|
|
23,
|
|
243,
|
|
48,
|
|
1,
|
|
202,
|
|
145,
|
|
203,
|
|
255,
|
|
39,
|
|
118,
|
|
42,
|
|
255,
|
|
117,
|
|
141,
|
|
253,
|
|
0,
|
|
254,
|
|
0,
|
|
222,
|
|
0,
|
|
43,
|
|
251,
|
|
50,
|
|
0,
|
|
54,
|
|
169,
|
|
234,
|
|
1,
|
|
80,
|
|
68,
|
|
208,
|
|
0,
|
|
148,
|
|
203,
|
|
243,
|
|
254,
|
|
145,
|
|
7,
|
|
135,
|
|
0,
|
|
6,
|
|
254,
|
|
0,
|
|
0,
|
|
252,
|
|
185,
|
|
127,
|
|
0,
|
|
98,
|
|
8,
|
|
129,
|
|
255,
|
|
38,
|
|
35,
|
|
72,
|
|
255,
|
|
211,
|
|
36,
|
|
220,
|
|
1,
|
|
40,
|
|
26,
|
|
89,
|
|
0,
|
|
168,
|
|
64,
|
|
197,
|
|
254,
|
|
3,
|
|
222,
|
|
239,
|
|
255,
|
|
2,
|
|
83,
|
|
215,
|
|
254,
|
|
180,
|
|
159,
|
|
105,
|
|
0,
|
|
58,
|
|
115,
|
|
194,
|
|
0,
|
|
186,
|
|
116,
|
|
106,
|
|
255,
|
|
229,
|
|
247,
|
|
219,
|
|
255,
|
|
129,
|
|
118,
|
|
193,
|
|
0,
|
|
202,
|
|
174,
|
|
183,
|
|
1,
|
|
166,
|
|
161,
|
|
72,
|
|
0,
|
|
201,
|
|
107,
|
|
147,
|
|
254,
|
|
237,
|
|
136,
|
|
74,
|
|
0,
|
|
233,
|
|
230,
|
|
106,
|
|
1,
|
|
105,
|
|
111,
|
|
168,
|
|
0,
|
|
64,
|
|
224,
|
|
30,
|
|
1,
|
|
1,
|
|
229,
|
|
3,
|
|
0,
|
|
102,
|
|
151,
|
|
175,
|
|
255,
|
|
194,
|
|
238,
|
|
228,
|
|
255,
|
|
254,
|
|
250,
|
|
212,
|
|
0,
|
|
187,
|
|
237,
|
|
121,
|
|
0,
|
|
67,
|
|
251,
|
|
96,
|
|
1,
|
|
197,
|
|
30,
|
|
11,
|
|
0,
|
|
183,
|
|
95,
|
|
204,
|
|
0,
|
|
205,
|
|
89,
|
|
138,
|
|
0,
|
|
64,
|
|
221,
|
|
37,
|
|
1,
|
|
255,
|
|
223,
|
|
30,
|
|
255,
|
|
178,
|
|
48,
|
|
211,
|
|
255,
|
|
241,
|
|
200,
|
|
90,
|
|
255,
|
|
167,
|
|
209,
|
|
96,
|
|
255,
|
|
57,
|
|
130,
|
|
221,
|
|
0,
|
|
46,
|
|
114,
|
|
200,
|
|
255,
|
|
61,
|
|
184,
|
|
66,
|
|
0,
|
|
55,
|
|
182,
|
|
24,
|
|
254,
|
|
110,
|
|
182,
|
|
33,
|
|
0,
|
|
171,
|
|
190,
|
|
232,
|
|
255,
|
|
114,
|
|
94,
|
|
31,
|
|
0,
|
|
18,
|
|
221,
|
|
8,
|
|
0,
|
|
47,
|
|
231,
|
|
254,
|
|
0,
|
|
255,
|
|
112,
|
|
83,
|
|
0,
|
|
118,
|
|
15,
|
|
215,
|
|
255,
|
|
173,
|
|
25,
|
|
40,
|
|
254,
|
|
192,
|
|
193,
|
|
31,
|
|
255,
|
|
238,
|
|
21,
|
|
146,
|
|
255,
|
|
171,
|
|
193,
|
|
118,
|
|
255,
|
|
101,
|
|
234,
|
|
53,
|
|
254,
|
|
131,
|
|
212,
|
|
112,
|
|
0,
|
|
89,
|
|
192,
|
|
107,
|
|
1,
|
|
8,
|
|
208,
|
|
27,
|
|
0,
|
|
181,
|
|
217,
|
|
15,
|
|
255,
|
|
231,
|
|
149,
|
|
232,
|
|
0,
|
|
140,
|
|
236,
|
|
126,
|
|
0,
|
|
144,
|
|
9,
|
|
199,
|
|
255,
|
|
12,
|
|
79,
|
|
181,
|
|
254,
|
|
147,
|
|
182,
|
|
202,
|
|
255,
|
|
19,
|
|
109,
|
|
182,
|
|
255,
|
|
49,
|
|
212,
|
|
225,
|
|
0,
|
|
74,
|
|
163,
|
|
203,
|
|
0,
|
|
175,
|
|
233,
|
|
148,
|
|
0,
|
|
26,
|
|
112,
|
|
51,
|
|
0,
|
|
193,
|
|
193,
|
|
9,
|
|
255,
|
|
15,
|
|
135,
|
|
249,
|
|
0,
|
|
150,
|
|
227,
|
|
130,
|
|
0,
|
|
204,
|
|
0,
|
|
219,
|
|
1,
|
|
24,
|
|
242,
|
|
205,
|
|
0,
|
|
238,
|
|
208,
|
|
117,
|
|
255,
|
|
22,
|
|
244,
|
|
112,
|
|
0,
|
|
26,
|
|
229,
|
|
34,
|
|
0,
|
|
37,
|
|
80,
|
|
188,
|
|
255,
|
|
38,
|
|
45,
|
|
206,
|
|
254,
|
|
240,
|
|
90,
|
|
225,
|
|
255,
|
|
29,
|
|
3,
|
|
47,
|
|
255,
|
|
42,
|
|
224,
|
|
76,
|
|
0,
|
|
186,
|
|
243,
|
|
167,
|
|
0,
|
|
32,
|
|
132,
|
|
15,
|
|
255,
|
|
5,
|
|
51,
|
|
125,
|
|
0,
|
|
139,
|
|
135,
|
|
24,
|
|
0,
|
|
6,
|
|
241,
|
|
219,
|
|
0,
|
|
172,
|
|
229,
|
|
133,
|
|
255,
|
|
246,
|
|
214,
|
|
50,
|
|
0,
|
|
231,
|
|
11,
|
|
207,
|
|
255,
|
|
191,
|
|
126,
|
|
83,
|
|
1,
|
|
180,
|
|
163,
|
|
170,
|
|
255,
|
|
245,
|
|
56,
|
|
24,
|
|
1,
|
|
178,
|
|
164,
|
|
211,
|
|
255,
|
|
3,
|
|
16,
|
|
202,
|
|
1,
|
|
98,
|
|
57,
|
|
118,
|
|
255,
|
|
141,
|
|
131,
|
|
89,
|
|
254,
|
|
33,
|
|
51,
|
|
24,
|
|
0,
|
|
243,
|
|
149,
|
|
91,
|
|
255,
|
|
253,
|
|
52,
|
|
14,
|
|
0,
|
|
35,
|
|
169,
|
|
67,
|
|
254,
|
|
49,
|
|
30,
|
|
88,
|
|
255,
|
|
179,
|
|
27,
|
|
36,
|
|
255,
|
|
165,
|
|
140,
|
|
183,
|
|
0,
|
|
58,
|
|
189,
|
|
151,
|
|
0,
|
|
88,
|
|
31,
|
|
0,
|
|
0,
|
|
75,
|
|
169,
|
|
66,
|
|
0,
|
|
66,
|
|
101,
|
|
199,
|
|
255,
|
|
24,
|
|
216,
|
|
199,
|
|
1,
|
|
121,
|
|
196,
|
|
26,
|
|
255,
|
|
14,
|
|
79,
|
|
203,
|
|
254,
|
|
240,
|
|
226,
|
|
81,
|
|
255,
|
|
94,
|
|
28,
|
|
10,
|
|
255,
|
|
83,
|
|
193,
|
|
240,
|
|
255,
|
|
204,
|
|
193,
|
|
131,
|
|
255,
|
|
94,
|
|
15,
|
|
86,
|
|
0,
|
|
218,
|
|
40,
|
|
157,
|
|
0,
|
|
51,
|
|
193,
|
|
209,
|
|
0,
|
|
0,
|
|
242,
|
|
177,
|
|
0,
|
|
102,
|
|
185,
|
|
247,
|
|
0,
|
|
158,
|
|
109,
|
|
116,
|
|
0,
|
|
38,
|
|
135,
|
|
91,
|
|
0,
|
|
223,
|
|
175,
|
|
149,
|
|
0,
|
|
220,
|
|
66,
|
|
1,
|
|
255,
|
|
86,
|
|
60,
|
|
232,
|
|
0,
|
|
25,
|
|
96,
|
|
37,
|
|
255,
|
|
225,
|
|
122,
|
|
162,
|
|
1,
|
|
215,
|
|
187,
|
|
168,
|
|
255,
|
|
158,
|
|
157,
|
|
46,
|
|
0,
|
|
56,
|
|
171,
|
|
162,
|
|
0,
|
|
232,
|
|
240,
|
|
101,
|
|
1,
|
|
122,
|
|
22,
|
|
9,
|
|
0,
|
|
51,
|
|
9,
|
|
21,
|
|
255,
|
|
53,
|
|
25,
|
|
238,
|
|
255,
|
|
217,
|
|
30,
|
|
232,
|
|
254,
|
|
125,
|
|
169,
|
|
148,
|
|
0,
|
|
13,
|
|
232,
|
|
102,
|
|
0,
|
|
148,
|
|
9,
|
|
37,
|
|
0,
|
|
165,
|
|
97,
|
|
141,
|
|
1,
|
|
228,
|
|
131,
|
|
41,
|
|
0,
|
|
222,
|
|
15,
|
|
243,
|
|
255,
|
|
254,
|
|
18,
|
|
17,
|
|
0,
|
|
6,
|
|
60,
|
|
237,
|
|
1,
|
|
106,
|
|
3,
|
|
113,
|
|
0,
|
|
59,
|
|
132,
|
|
189,
|
|
0,
|
|
92,
|
|
112,
|
|
30,
|
|
0,
|
|
105,
|
|
208,
|
|
213,
|
|
0,
|
|
48,
|
|
84,
|
|
179,
|
|
255,
|
|
187,
|
|
121,
|
|
231,
|
|
254,
|
|
27,
|
|
216,
|
|
109,
|
|
255,
|
|
162,
|
|
221,
|
|
107,
|
|
254,
|
|
73,
|
|
239,
|
|
195,
|
|
255,
|
|
250,
|
|
31,
|
|
57,
|
|
255,
|
|
149,
|
|
135,
|
|
89,
|
|
255,
|
|
185,
|
|
23,
|
|
115,
|
|
1,
|
|
3,
|
|
163,
|
|
157,
|
|
255,
|
|
18,
|
|
112,
|
|
250,
|
|
0,
|
|
25,
|
|
57,
|
|
187,
|
|
255,
|
|
161,
|
|
96,
|
|
164,
|
|
0,
|
|
47,
|
|
16,
|
|
243,
|
|
0,
|
|
12,
|
|
141,
|
|
251,
|
|
254,
|
|
67,
|
|
234,
|
|
184,
|
|
255,
|
|
41,
|
|
18,
|
|
161,
|
|
0,
|
|
175,
|
|
6,
|
|
96,
|
|
255,
|
|
160,
|
|
172,
|
|
52,
|
|
254,
|
|
24,
|
|
176,
|
|
183,
|
|
255,
|
|
198,
|
|
193,
|
|
85,
|
|
1,
|
|
124,
|
|
121,
|
|
137,
|
|
255,
|
|
151,
|
|
50,
|
|
114,
|
|
255,
|
|
220,
|
|
203,
|
|
60,
|
|
255,
|
|
207,
|
|
239,
|
|
5,
|
|
1,
|
|
0,
|
|
38,
|
|
107,
|
|
255,
|
|
55,
|
|
238,
|
|
94,
|
|
254,
|
|
70,
|
|
152,
|
|
94,
|
|
0,
|
|
213,
|
|
220,
|
|
77,
|
|
1,
|
|
120,
|
|
17,
|
|
69,
|
|
255,
|
|
85,
|
|
164,
|
|
190,
|
|
255,
|
|
203,
|
|
234,
|
|
81,
|
|
0,
|
|
38,
|
|
49,
|
|
37,
|
|
254,
|
|
61,
|
|
144,
|
|
124,
|
|
0,
|
|
137,
|
|
78,
|
|
49,
|
|
254,
|
|
168,
|
|
247,
|
|
48,
|
|
0,
|
|
95,
|
|
164,
|
|
252,
|
|
0,
|
|
105,
|
|
169,
|
|
135,
|
|
0,
|
|
253,
|
|
228,
|
|
134,
|
|
0,
|
|
64,
|
|
166,
|
|
75,
|
|
0,
|
|
81,
|
|
73,
|
|
20,
|
|
255,
|
|
207,
|
|
210,
|
|
10,
|
|
0,
|
|
234,
|
|
106,
|
|
150,
|
|
255,
|
|
94,
|
|
34,
|
|
90,
|
|
255,
|
|
254,
|
|
159,
|
|
57,
|
|
254,
|
|
220,
|
|
133,
|
|
99,
|
|
0,
|
|
139,
|
|
147,
|
|
180,
|
|
254,
|
|
24,
|
|
23,
|
|
185,
|
|
0,
|
|
41,
|
|
57,
|
|
30,
|
|
255,
|
|
189,
|
|
97,
|
|
76,
|
|
0,
|
|
65,
|
|
187,
|
|
223,
|
|
255,
|
|
224,
|
|
172,
|
|
37,
|
|
255,
|
|
34,
|
|
62,
|
|
95,
|
|
1,
|
|
231,
|
|
144,
|
|
240,
|
|
0,
|
|
77,
|
|
106,
|
|
126,
|
|
254,
|
|
64,
|
|
152,
|
|
91,
|
|
0,
|
|
29,
|
|
98,
|
|
155,
|
|
0,
|
|
226,
|
|
251,
|
|
53,
|
|
255,
|
|
234,
|
|
211,
|
|
5,
|
|
255,
|
|
144,
|
|
203,
|
|
222,
|
|
255,
|
|
164,
|
|
176,
|
|
221,
|
|
254,
|
|
5,
|
|
231,
|
|
24,
|
|
0,
|
|
179,
|
|
122,
|
|
205,
|
|
0,
|
|
36,
|
|
1,
|
|
134,
|
|
255,
|
|
125,
|
|
70,
|
|
151,
|
|
254,
|
|
97,
|
|
228,
|
|
252,
|
|
0,
|
|
172,
|
|
129,
|
|
23,
|
|
254,
|
|
48,
|
|
90,
|
|
209,
|
|
255,
|
|
150,
|
|
224,
|
|
82,
|
|
1,
|
|
84,
|
|
134,
|
|
30,
|
|
0,
|
|
241,
|
|
196,
|
|
46,
|
|
0,
|
|
103,
|
|
113,
|
|
234,
|
|
255,
|
|
46,
|
|
101,
|
|
121,
|
|
254,
|
|
40,
|
|
124,
|
|
250,
|
|
255,
|
|
135,
|
|
45,
|
|
242,
|
|
254,
|
|
9,
|
|
249,
|
|
168,
|
|
255,
|
|
140,
|
|
108,
|
|
131,
|
|
255,
|
|
143,
|
|
163,
|
|
171,
|
|
0,
|
|
50,
|
|
173,
|
|
199,
|
|
255,
|
|
88,
|
|
222,
|
|
142,
|
|
255,
|
|
200,
|
|
95,
|
|
158,
|
|
0,
|
|
142,
|
|
192,
|
|
163,
|
|
255,
|
|
7,
|
|
117,
|
|
135,
|
|
0,
|
|
111,
|
|
124,
|
|
22,
|
|
0,
|
|
236,
|
|
12,
|
|
65,
|
|
254,
|
|
68,
|
|
38,
|
|
65,
|
|
255,
|
|
227,
|
|
174,
|
|
254,
|
|
0,
|
|
244,
|
|
245,
|
|
38,
|
|
0,
|
|
240,
|
|
50,
|
|
208,
|
|
255,
|
|
161,
|
|
63,
|
|
250,
|
|
0,
|
|
60,
|
|
209,
|
|
239,
|
|
0,
|
|
122,
|
|
35,
|
|
19,
|
|
0,
|
|
14,
|
|
33,
|
|
230,
|
|
254,
|
|
2,
|
|
159,
|
|
113,
|
|
0,
|
|
106,
|
|
20,
|
|
127,
|
|
255,
|
|
228,
|
|
205,
|
|
96,
|
|
0,
|
|
137,
|
|
210,
|
|
174,
|
|
254,
|
|
180,
|
|
212,
|
|
144,
|
|
255,
|
|
89,
|
|
98,
|
|
154,
|
|
1,
|
|
34,
|
|
88,
|
|
139,
|
|
0,
|
|
167,
|
|
162,
|
|
112,
|
|
1,
|
|
65,
|
|
110,
|
|
197,
|
|
0,
|
|
241,
|
|
37,
|
|
169,
|
|
0,
|
|
66,
|
|
56,
|
|
131,
|
|
255,
|
|
10,
|
|
201,
|
|
83,
|
|
254,
|
|
133,
|
|
253,
|
|
187,
|
|
255,
|
|
177,
|
|
112,
|
|
45,
|
|
254,
|
|
196,
|
|
251,
|
|
0,
|
|
0,
|
|
196,
|
|
250,
|
|
151,
|
|
255,
|
|
238,
|
|
232,
|
|
214,
|
|
255,
|
|
150,
|
|
209,
|
|
205,
|
|
0,
|
|
28,
|
|
240,
|
|
118,
|
|
0,
|
|
71,
|
|
76,
|
|
83,
|
|
1,
|
|
236,
|
|
99,
|
|
91,
|
|
0,
|
|
42,
|
|
250,
|
|
131,
|
|
1,
|
|
96,
|
|
18,
|
|
64,
|
|
255,
|
|
118,
|
|
222,
|
|
35,
|
|
0,
|
|
113,
|
|
214,
|
|
203,
|
|
255,
|
|
122,
|
|
119,
|
|
184,
|
|
255,
|
|
66,
|
|
19,
|
|
36,
|
|
0,
|
|
204,
|
|
64,
|
|
249,
|
|
0,
|
|
146,
|
|
89,
|
|
139,
|
|
0,
|
|
134,
|
|
62,
|
|
135,
|
|
1,
|
|
104,
|
|
233,
|
|
101,
|
|
0,
|
|
188,
|
|
84,
|
|
26,
|
|
0,
|
|
49,
|
|
249,
|
|
129,
|
|
0,
|
|
208,
|
|
214,
|
|
75,
|
|
255,
|
|
207,
|
|
130,
|
|
77,
|
|
255,
|
|
115,
|
|
175,
|
|
235,
|
|
0,
|
|
171,
|
|
2,
|
|
137,
|
|
255,
|
|
175,
|
|
145,
|
|
186,
|
|
1,
|
|
55,
|
|
245,
|
|
135,
|
|
255,
|
|
154,
|
|
86,
|
|
181,
|
|
1,
|
|
100,
|
|
58,
|
|
246,
|
|
255,
|
|
109,
|
|
199,
|
|
60,
|
|
255,
|
|
82,
|
|
204,
|
|
134,
|
|
255,
|
|
215,
|
|
49,
|
|
230,
|
|
1,
|
|
140,
|
|
229,
|
|
192,
|
|
255,
|
|
222,
|
|
193,
|
|
251,
|
|
255,
|
|
81,
|
|
136,
|
|
15,
|
|
255,
|
|
179,
|
|
149,
|
|
162,
|
|
255,
|
|
23,
|
|
39,
|
|
29,
|
|
255,
|
|
7,
|
|
95,
|
|
75,
|
|
254,
|
|
191,
|
|
81,
|
|
222,
|
|
0,
|
|
241,
|
|
81,
|
|
90,
|
|
255,
|
|
107,
|
|
49,
|
|
201,
|
|
255,
|
|
244,
|
|
211,
|
|
157,
|
|
0,
|
|
222,
|
|
140,
|
|
149,
|
|
255,
|
|
65,
|
|
219,
|
|
56,
|
|
254,
|
|
189,
|
|
246,
|
|
90,
|
|
255,
|
|
178,
|
|
59,
|
|
157,
|
|
1,
|
|
48,
|
|
219,
|
|
52,
|
|
0,
|
|
98,
|
|
34,
|
|
215,
|
|
0,
|
|
28,
|
|
17,
|
|
187,
|
|
255,
|
|
175,
|
|
169,
|
|
24,
|
|
0,
|
|
92,
|
|
79,
|
|
161,
|
|
255,
|
|
236,
|
|
200,
|
|
194,
|
|
1,
|
|
147,
|
|
143,
|
|
234,
|
|
0,
|
|
229,
|
|
225,
|
|
7,
|
|
1,
|
|
197,
|
|
168,
|
|
14,
|
|
0,
|
|
235,
|
|
51,
|
|
53,
|
|
1,
|
|
253,
|
|
120,
|
|
174,
|
|
0,
|
|
197,
|
|
6,
|
|
168,
|
|
255,
|
|
202,
|
|
117,
|
|
171,
|
|
0,
|
|
163,
|
|
21,
|
|
206,
|
|
0,
|
|
114,
|
|
85,
|
|
90,
|
|
255,
|
|
15,
|
|
41,
|
|
10,
|
|
255,
|
|
194,
|
|
19,
|
|
99,
|
|
0,
|
|
65,
|
|
55,
|
|
216,
|
|
254,
|
|
162,
|
|
146,
|
|
116,
|
|
0,
|
|
50,
|
|
206,
|
|
212,
|
|
255,
|
|
64,
|
|
146,
|
|
29,
|
|
255,
|
|
158,
|
|
158,
|
|
131,
|
|
1,
|
|
100,
|
|
165,
|
|
130,
|
|
255,
|
|
172,
|
|
23,
|
|
129,
|
|
255,
|
|
125,
|
|
53,
|
|
9,
|
|
255,
|
|
15,
|
|
193,
|
|
18,
|
|
1,
|
|
26,
|
|
49,
|
|
11,
|
|
255,
|
|
181,
|
|
174,
|
|
201,
|
|
1,
|
|
135,
|
|
201,
|
|
14,
|
|
255,
|
|
100,
|
|
19,
|
|
149,
|
|
0,
|
|
219,
|
|
98,
|
|
79,
|
|
0,
|
|
42,
|
|
99,
|
|
143,
|
|
254,
|
|
96,
|
|
0,
|
|
48,
|
|
255,
|
|
197,
|
|
249,
|
|
83,
|
|
254,
|
|
104,
|
|
149,
|
|
79,
|
|
255,
|
|
235,
|
|
110,
|
|
136,
|
|
254,
|
|
82,
|
|
128,
|
|
44,
|
|
255,
|
|
65,
|
|
41,
|
|
36,
|
|
254,
|
|
88,
|
|
211,
|
|
10,
|
|
0,
|
|
187,
|
|
121,
|
|
187,
|
|
0,
|
|
98,
|
|
134,
|
|
199,
|
|
0,
|
|
171,
|
|
188,
|
|
179,
|
|
254,
|
|
210,
|
|
11,
|
|
238,
|
|
255,
|
|
66,
|
|
123,
|
|
130,
|
|
254,
|
|
52,
|
|
234,
|
|
61,
|
|
0,
|
|
48,
|
|
113,
|
|
23,
|
|
254,
|
|
6,
|
|
86,
|
|
120,
|
|
255,
|
|
119,
|
|
178,
|
|
245,
|
|
0,
|
|
87,
|
|
129,
|
|
201,
|
|
0,
|
|
242,
|
|
141,
|
|
209,
|
|
0,
|
|
202,
|
|
114,
|
|
85,
|
|
0,
|
|
148,
|
|
22,
|
|
161,
|
|
0,
|
|
103,
|
|
195,
|
|
48,
|
|
0,
|
|
25,
|
|
49,
|
|
171,
|
|
255,
|
|
138,
|
|
67,
|
|
130,
|
|
0,
|
|
182,
|
|
73,
|
|
122,
|
|
254,
|
|
148,
|
|
24,
|
|
130,
|
|
0,
|
|
211,
|
|
229,
|
|
154,
|
|
0,
|
|
32,
|
|
155,
|
|
158,
|
|
0,
|
|
84,
|
|
105,
|
|
61,
|
|
0,
|
|
177,
|
|
194,
|
|
9,
|
|
255,
|
|
166,
|
|
89,
|
|
86,
|
|
1,
|
|
54,
|
|
83,
|
|
187,
|
|
0,
|
|
249,
|
|
40,
|
|
117,
|
|
255,
|
|
109,
|
|
3,
|
|
215,
|
|
255,
|
|
53,
|
|
146,
|
|
44,
|
|
1,
|
|
63,
|
|
47,
|
|
179,
|
|
0,
|
|
194,
|
|
216,
|
|
3,
|
|
254,
|
|
14,
|
|
84,
|
|
136,
|
|
0,
|
|
136,
|
|
177,
|
|
13,
|
|
255,
|
|
72,
|
|
243,
|
|
186,
|
|
255,
|
|
117,
|
|
17,
|
|
125,
|
|
255,
|
|
211,
|
|
58,
|
|
211,
|
|
255,
|
|
93,
|
|
79,
|
|
223,
|
|
0,
|
|
90,
|
|
88,
|
|
245,
|
|
255,
|
|
139,
|
|
209,
|
|
111,
|
|
255,
|
|
70,
|
|
222,
|
|
47,
|
|
0,
|
|
10,
|
|
246,
|
|
79,
|
|
255,
|
|
198,
|
|
217,
|
|
178,
|
|
0,
|
|
227,
|
|
225,
|
|
11,
|
|
1,
|
|
78,
|
|
126,
|
|
179,
|
|
255,
|
|
62,
|
|
43,
|
|
126,
|
|
0,
|
|
103,
|
|
148,
|
|
35,
|
|
0,
|
|
129,
|
|
8,
|
|
165,
|
|
254,
|
|
245,
|
|
240,
|
|
148,
|
|
0,
|
|
61,
|
|
51,
|
|
142,
|
|
0,
|
|
81,
|
|
208,
|
|
134,
|
|
0,
|
|
15,
|
|
137,
|
|
115,
|
|
255,
|
|
211,
|
|
119,
|
|
236,
|
|
255,
|
|
159,
|
|
245,
|
|
248,
|
|
255,
|
|
2,
|
|
134,
|
|
136,
|
|
255,
|
|
230,
|
|
139,
|
|
58,
|
|
1,
|
|
160,
|
|
164,
|
|
254,
|
|
0,
|
|
114,
|
|
85,
|
|
141,
|
|
255,
|
|
49,
|
|
166,
|
|
182,
|
|
255,
|
|
144,
|
|
70,
|
|
84,
|
|
1,
|
|
85,
|
|
182,
|
|
7,
|
|
0,
|
|
46,
|
|
53,
|
|
93,
|
|
0,
|
|
9,
|
|
166,
|
|
161,
|
|
255,
|
|
55,
|
|
162,
|
|
178,
|
|
255,
|
|
45,
|
|
184,
|
|
188,
|
|
0,
|
|
146,
|
|
28,
|
|
44,
|
|
254,
|
|
169,
|
|
90,
|
|
49,
|
|
0,
|
|
120,
|
|
178,
|
|
241,
|
|
1,
|
|
14,
|
|
123,
|
|
127,
|
|
255,
|
|
7,
|
|
241,
|
|
199,
|
|
1,
|
|
189,
|
|
66,
|
|
50,
|
|
255,
|
|
198,
|
|
143,
|
|
101,
|
|
254,
|
|
189,
|
|
243,
|
|
135,
|
|
255,
|
|
141,
|
|
24,
|
|
24,
|
|
254,
|
|
75,
|
|
97,
|
|
87,
|
|
0,
|
|
118,
|
|
251,
|
|
154,
|
|
1,
|
|
237,
|
|
54,
|
|
156,
|
|
0,
|
|
171,
|
|
146,
|
|
207,
|
|
255,
|
|
131,
|
|
196,
|
|
246,
|
|
255,
|
|
136,
|
|
64,
|
|
113,
|
|
1,
|
|
151,
|
|
232,
|
|
57,
|
|
0,
|
|
240,
|
|
218,
|
|
115,
|
|
0,
|
|
49,
|
|
61,
|
|
27,
|
|
255,
|
|
64,
|
|
129,
|
|
73,
|
|
1,
|
|
252,
|
|
169,
|
|
27,
|
|
255,
|
|
40,
|
|
132,
|
|
10,
|
|
1,
|
|
90,
|
|
201,
|
|
193,
|
|
255,
|
|
252,
|
|
121,
|
|
240,
|
|
1,
|
|
186,
|
|
206,
|
|
41,
|
|
0,
|
|
43,
|
|
198,
|
|
97,
|
|
0,
|
|
145,
|
|
100,
|
|
183,
|
|
0,
|
|
204,
|
|
216,
|
|
80,
|
|
254,
|
|
172,
|
|
150,
|
|
65,
|
|
0,
|
|
249,
|
|
229,
|
|
196,
|
|
254,
|
|
104,
|
|
123,
|
|
73,
|
|
255,
|
|
77,
|
|
104,
|
|
96,
|
|
254,
|
|
130,
|
|
180,
|
|
8,
|
|
0,
|
|
104,
|
|
123,
|
|
57,
|
|
0,
|
|
220,
|
|
202,
|
|
229,
|
|
255,
|
|
102,
|
|
249,
|
|
211,
|
|
0,
|
|
86,
|
|
14,
|
|
232,
|
|
255,
|
|
182,
|
|
78,
|
|
209,
|
|
0,
|
|
239,
|
|
225,
|
|
164,
|
|
0,
|
|
106,
|
|
13,
|
|
32,
|
|
255,
|
|
120,
|
|
73,
|
|
17,
|
|
255,
|
|
134,
|
|
67,
|
|
233,
|
|
0,
|
|
83,
|
|
254,
|
|
181,
|
|
0,
|
|
183,
|
|
236,
|
|
112,
|
|
1,
|
|
48,
|
|
64,
|
|
131,
|
|
255,
|
|
241,
|
|
216,
|
|
243,
|
|
255,
|
|
65,
|
|
193,
|
|
226,
|
|
0,
|
|
206,
|
|
241,
|
|
100,
|
|
254,
|
|
100,
|
|
134,
|
|
166,
|
|
255,
|
|
237,
|
|
202,
|
|
197,
|
|
0,
|
|
55,
|
|
13,
|
|
81,
|
|
0,
|
|
32,
|
|
124,
|
|
102,
|
|
255,
|
|
40,
|
|
228,
|
|
177,
|
|
0,
|
|
118,
|
|
181,
|
|
31,
|
|
1,
|
|
231,
|
|
160,
|
|
134,
|
|
255,
|
|
119,
|
|
187,
|
|
202,
|
|
0,
|
|
0,
|
|
142,
|
|
60,
|
|
255,
|
|
128,
|
|
38,
|
|
189,
|
|
255,
|
|
166,
|
|
201,
|
|
150,
|
|
0,
|
|
207,
|
|
120,
|
|
26,
|
|
1,
|
|
54,
|
|
184,
|
|
172,
|
|
0,
|
|
12,
|
|
242,
|
|
204,
|
|
254,
|
|
133,
|
|
66,
|
|
230,
|
|
0,
|
|
34,
|
|
38,
|
|
31,
|
|
1,
|
|
184,
|
|
112,
|
|
80,
|
|
0,
|
|
32,
|
|
51,
|
|
165,
|
|
254,
|
|
191,
|
|
243,
|
|
55,
|
|
0,
|
|
58,
|
|
73,
|
|
146,
|
|
254,
|
|
155,
|
|
167,
|
|
205,
|
|
255,
|
|
100,
|
|
104,
|
|
152,
|
|
255,
|
|
197,
|
|
254,
|
|
207,
|
|
255,
|
|
173,
|
|
19,
|
|
247,
|
|
0,
|
|
238,
|
|
10,
|
|
202,
|
|
0,
|
|
239,
|
|
151,
|
|
242,
|
|
0,
|
|
94,
|
|
59,
|
|
39,
|
|
255,
|
|
240,
|
|
29,
|
|
102,
|
|
255,
|
|
10,
|
|
92,
|
|
154,
|
|
255,
|
|
229,
|
|
84,
|
|
219,
|
|
255,
|
|
161,
|
|
129,
|
|
80,
|
|
0,
|
|
208,
|
|
90,
|
|
204,
|
|
1,
|
|
240,
|
|
219,
|
|
174,
|
|
255,
|
|
158,
|
|
102,
|
|
145,
|
|
1,
|
|
53,
|
|
178,
|
|
76,
|
|
255,
|
|
52,
|
|
108,
|
|
168,
|
|
1,
|
|
83,
|
|
222,
|
|
107,
|
|
0,
|
|
211,
|
|
36,
|
|
109,
|
|
0,
|
|
118,
|
|
58,
|
|
56,
|
|
0,
|
|
8,
|
|
29,
|
|
22,
|
|
0,
|
|
237,
|
|
160,
|
|
199,
|
|
0,
|
|
170,
|
|
209,
|
|
157,
|
|
0,
|
|
137,
|
|
71,
|
|
47,
|
|
0,
|
|
143,
|
|
86,
|
|
32,
|
|
0,
|
|
198,
|
|
242,
|
|
2,
|
|
0,
|
|
212,
|
|
48,
|
|
136,
|
|
1,
|
|
92,
|
|
172,
|
|
186,
|
|
0,
|
|
230,
|
|
151,
|
|
105,
|
|
1,
|
|
96,
|
|
191,
|
|
229,
|
|
0,
|
|
138,
|
|
80,
|
|
191,
|
|
254,
|
|
240,
|
|
216,
|
|
130,
|
|
255,
|
|
98,
|
|
43,
|
|
6,
|
|
254,
|
|
168,
|
|
196,
|
|
49,
|
|
0,
|
|
253,
|
|
18,
|
|
91,
|
|
1,
|
|
144,
|
|
73,
|
|
121,
|
|
0,
|
|
61,
|
|
146,
|
|
39,
|
|
1,
|
|
63,
|
|
104,
|
|
24,
|
|
255,
|
|
184,
|
|
165,
|
|
112,
|
|
254,
|
|
126,
|
|
235,
|
|
98,
|
|
0,
|
|
80,
|
|
213,
|
|
98,
|
|
255,
|
|
123,
|
|
60,
|
|
87,
|
|
255,
|
|
82,
|
|
140,
|
|
245,
|
|
1,
|
|
223,
|
|
120,
|
|
173,
|
|
255,
|
|
15,
|
|
198,
|
|
134,
|
|
1,
|
|
206,
|
|
60,
|
|
239,
|
|
0,
|
|
231,
|
|
234,
|
|
92,
|
|
255,
|
|
33,
|
|
238,
|
|
19,
|
|
255,
|
|
165,
|
|
113,
|
|
142,
|
|
1,
|
|
176,
|
|
119,
|
|
38,
|
|
0,
|
|
160,
|
|
43,
|
|
166,
|
|
254,
|
|
239,
|
|
91,
|
|
105,
|
|
0,
|
|
107,
|
|
61,
|
|
194,
|
|
1,
|
|
25,
|
|
4,
|
|
68,
|
|
0,
|
|
15,
|
|
139,
|
|
51,
|
|
0,
|
|
164,
|
|
132,
|
|
106,
|
|
255,
|
|
34,
|
|
116,
|
|
46,
|
|
254,
|
|
168,
|
|
95,
|
|
197,
|
|
0,
|
|
137,
|
|
212,
|
|
23,
|
|
0,
|
|
72,
|
|
156,
|
|
58,
|
|
0,
|
|
137,
|
|
112,
|
|
69,
|
|
254,
|
|
150,
|
|
105,
|
|
154,
|
|
255,
|
|
236,
|
|
201,
|
|
157,
|
|
0,
|
|
23,
|
|
212,
|
|
154,
|
|
255,
|
|
136,
|
|
82,
|
|
227,
|
|
254,
|
|
226,
|
|
59,
|
|
221,
|
|
255,
|
|
95,
|
|
149,
|
|
192,
|
|
0,
|
|
81,
|
|
118,
|
|
52,
|
|
255,
|
|
33,
|
|
43,
|
|
215,
|
|
1,
|
|
14,
|
|
147,
|
|
75,
|
|
255,
|
|
89,
|
|
156,
|
|
121,
|
|
254,
|
|
14,
|
|
18,
|
|
79,
|
|
0,
|
|
147,
|
|
208,
|
|
139,
|
|
1,
|
|
151,
|
|
218,
|
|
62,
|
|
255,
|
|
156,
|
|
88,
|
|
8,
|
|
1,
|
|
210,
|
|
184,
|
|
98,
|
|
255,
|
|
20,
|
|
175,
|
|
123,
|
|
255,
|
|
102,
|
|
83,
|
|
229,
|
|
0,
|
|
220,
|
|
65,
|
|
116,
|
|
1,
|
|
150,
|
|
250,
|
|
4,
|
|
255,
|
|
92,
|
|
142,
|
|
220,
|
|
255,
|
|
34,
|
|
247,
|
|
66,
|
|
255,
|
|
204,
|
|
225,
|
|
179,
|
|
254,
|
|
151,
|
|
81,
|
|
151,
|
|
0,
|
|
71,
|
|
40,
|
|
236,
|
|
255,
|
|
138,
|
|
63,
|
|
62,
|
|
0,
|
|
6,
|
|
79,
|
|
240,
|
|
255,
|
|
183,
|
|
185,
|
|
181,
|
|
0,
|
|
118,
|
|
50,
|
|
27,
|
|
0,
|
|
63,
|
|
227,
|
|
192,
|
|
0,
|
|
123,
|
|
99,
|
|
58,
|
|
1,
|
|
50,
|
|
224,
|
|
155,
|
|
255,
|
|
17,
|
|
225,
|
|
223,
|
|
254,
|
|
220,
|
|
224,
|
|
77,
|
|
255,
|
|
14,
|
|
44,
|
|
123,
|
|
1,
|
|
141,
|
|
128,
|
|
175,
|
|
0,
|
|
248,
|
|
212,
|
|
200,
|
|
0,
|
|
150,
|
|
59,
|
|
183,
|
|
255,
|
|
147,
|
|
97,
|
|
29,
|
|
0,
|
|
150,
|
|
204,
|
|
181,
|
|
0,
|
|
253,
|
|
37,
|
|
71,
|
|
0,
|
|
145,
|
|
85,
|
|
119,
|
|
0,
|
|
154,
|
|
200,
|
|
186,
|
|
0,
|
|
2,
|
|
128,
|
|
249,
|
|
255,
|
|
83,
|
|
24,
|
|
124,
|
|
0,
|
|
14,
|
|
87,
|
|
143,
|
|
0,
|
|
168,
|
|
51,
|
|
245,
|
|
1,
|
|
124,
|
|
151,
|
|
231,
|
|
255,
|
|
208,
|
|
240,
|
|
197,
|
|
1,
|
|
124,
|
|
190,
|
|
185,
|
|
0,
|
|
48,
|
|
58,
|
|
246,
|
|
0,
|
|
20,
|
|
233,
|
|
232,
|
|
0,
|
|
125,
|
|
18,
|
|
98,
|
|
255,
|
|
13,
|
|
254,
|
|
31,
|
|
255,
|
|
245,
|
|
177,
|
|
130,
|
|
255,
|
|
108,
|
|
142,
|
|
35,
|
|
0,
|
|
171,
|
|
125,
|
|
242,
|
|
254,
|
|
140,
|
|
12,
|
|
34,
|
|
255,
|
|
165,
|
|
161,
|
|
162,
|
|
0,
|
|
206,
|
|
205,
|
|
101,
|
|
0,
|
|
247,
|
|
25,
|
|
34,
|
|
1,
|
|
100,
|
|
145,
|
|
57,
|
|
0,
|
|
39,
|
|
70,
|
|
57,
|
|
0,
|
|
118,
|
|
204,
|
|
203,
|
|
255,
|
|
242,
|
|
0,
|
|
162,
|
|
0,
|
|
165,
|
|
244,
|
|
30,
|
|
0,
|
|
198,
|
|
116,
|
|
226,
|
|
0,
|
|
128,
|
|
111,
|
|
153,
|
|
255,
|
|
140,
|
|
54,
|
|
182,
|
|
1,
|
|
60,
|
|
122,
|
|
15,
|
|
255,
|
|
155,
|
|
58,
|
|
57,
|
|
1,
|
|
54,
|
|
50,
|
|
198,
|
|
0,
|
|
171,
|
|
211,
|
|
29,
|
|
255,
|
|
107,
|
|
138,
|
|
167,
|
|
255,
|
|
173,
|
|
107,
|
|
199,
|
|
255,
|
|
109,
|
|
161,
|
|
193,
|
|
0,
|
|
89,
|
|
72,
|
|
242,
|
|
255,
|
|
206,
|
|
115,
|
|
89,
|
|
255,
|
|
250,
|
|
254,
|
|
142,
|
|
254,
|
|
177,
|
|
202,
|
|
94,
|
|
255,
|
|
81,
|
|
89,
|
|
50,
|
|
0,
|
|
7,
|
|
105,
|
|
66,
|
|
255,
|
|
25,
|
|
254,
|
|
255,
|
|
254,
|
|
203,
|
|
64,
|
|
23,
|
|
255,
|
|
79,
|
|
222,
|
|
108,
|
|
255,
|
|
39,
|
|
249,
|
|
75,
|
|
0,
|
|
241,
|
|
124,
|
|
50,
|
|
0,
|
|
239,
|
|
152,
|
|
133,
|
|
0,
|
|
221,
|
|
241,
|
|
105,
|
|
0,
|
|
147,
|
|
151,
|
|
98,
|
|
0,
|
|
213,
|
|
161,
|
|
121,
|
|
254,
|
|
242,
|
|
49,
|
|
137,
|
|
0,
|
|
233,
|
|
37,
|
|
249,
|
|
254,
|
|
42,
|
|
183,
|
|
27,
|
|
0,
|
|
184,
|
|
119,
|
|
230,
|
|
255,
|
|
217,
|
|
32,
|
|
163,
|
|
255,
|
|
208,
|
|
251,
|
|
228,
|
|
1,
|
|
137,
|
|
62,
|
|
131,
|
|
255,
|
|
79,
|
|
64,
|
|
9,
|
|
254,
|
|
94,
|
|
48,
|
|
113,
|
|
0,
|
|
17,
|
|
138,
|
|
50,
|
|
254,
|
|
193,
|
|
255,
|
|
22,
|
|
0,
|
|
247,
|
|
18,
|
|
197,
|
|
1,
|
|
67,
|
|
55,
|
|
104,
|
|
0,
|
|
16,
|
|
205,
|
|
95,
|
|
255,
|
|
48,
|
|
37,
|
|
66,
|
|
0,
|
|
55,
|
|
156,
|
|
63,
|
|
1,
|
|
64,
|
|
82,
|
|
74,
|
|
255,
|
|
200,
|
|
53,
|
|
71,
|
|
254,
|
|
239,
|
|
67,
|
|
125,
|
|
0,
|
|
26,
|
|
224,
|
|
222,
|
|
0,
|
|
223,
|
|
137,
|
|
93,
|
|
255,
|
|
30,
|
|
224,
|
|
202,
|
|
255,
|
|
9,
|
|
220,
|
|
132,
|
|
0,
|
|
198,
|
|
38,
|
|
235,
|
|
1,
|
|
102,
|
|
141,
|
|
86,
|
|
0,
|
|
60,
|
|
43,
|
|
81,
|
|
1,
|
|
136,
|
|
28,
|
|
26,
|
|
0,
|
|
233,
|
|
36,
|
|
8,
|
|
254,
|
|
207,
|
|
242,
|
|
148,
|
|
0,
|
|
164,
|
|
162,
|
|
63,
|
|
0,
|
|
51,
|
|
46,
|
|
224,
|
|
255,
|
|
114,
|
|
48,
|
|
79,
|
|
255,
|
|
9,
|
|
175,
|
|
226,
|
|
0,
|
|
222,
|
|
3,
|
|
193,
|
|
255,
|
|
47,
|
|
160,
|
|
232,
|
|
255,
|
|
255,
|
|
93,
|
|
105,
|
|
254,
|
|
14,
|
|
42,
|
|
230,
|
|
0,
|
|
26,
|
|
138,
|
|
82,
|
|
1,
|
|
208,
|
|
43,
|
|
244,
|
|
0,
|
|
27,
|
|
39,
|
|
38,
|
|
255,
|
|
98,
|
|
208,
|
|
127,
|
|
255,
|
|
64,
|
|
149,
|
|
182,
|
|
255,
|
|
5,
|
|
250,
|
|
209,
|
|
0,
|
|
187,
|
|
60,
|
|
28,
|
|
254,
|
|
49,
|
|
25,
|
|
218,
|
|
255,
|
|
169,
|
|
116,
|
|
205,
|
|
255,
|
|
119,
|
|
18,
|
|
120,
|
|
0,
|
|
156,
|
|
116,
|
|
147,
|
|
255,
|
|
132,
|
|
53,
|
|
109,
|
|
255,
|
|
13,
|
|
10,
|
|
202,
|
|
0,
|
|
110,
|
|
83,
|
|
167,
|
|
0,
|
|
157,
|
|
219,
|
|
137,
|
|
255,
|
|
6,
|
|
3,
|
|
130,
|
|
255,
|
|
50,
|
|
167,
|
|
30,
|
|
255,
|
|
60,
|
|
159,
|
|
47,
|
|
255,
|
|
129,
|
|
128,
|
|
157,
|
|
254,
|
|
94,
|
|
3,
|
|
189,
|
|
0,
|
|
3,
|
|
166,
|
|
68,
|
|
0,
|
|
83,
|
|
223,
|
|
215,
|
|
0,
|
|
150,
|
|
90,
|
|
194,
|
|
1,
|
|
15,
|
|
168,
|
|
65,
|
|
0,
|
|
227,
|
|
83,
|
|
51,
|
|
255,
|
|
205,
|
|
171,
|
|
66,
|
|
255,
|
|
54,
|
|
187,
|
|
60,
|
|
1,
|
|
152,
|
|
102,
|
|
45,
|
|
255,
|
|
119,
|
|
154,
|
|
225,
|
|
0,
|
|
240,
|
|
247,
|
|
136,
|
|
0,
|
|
100,
|
|
197,
|
|
178,
|
|
255,
|
|
139,
|
|
71,
|
|
223,
|
|
255,
|
|
204,
|
|
82,
|
|
16,
|
|
1,
|
|
41,
|
|
206,
|
|
42,
|
|
255,
|
|
156,
|
|
192,
|
|
221,
|
|
255,
|
|
216,
|
|
123,
|
|
244,
|
|
255,
|
|
218,
|
|
218,
|
|
185,
|
|
255,
|
|
187,
|
|
186,
|
|
239,
|
|
255,
|
|
252,
|
|
172,
|
|
160,
|
|
255,
|
|
195,
|
|
52,
|
|
22,
|
|
0,
|
|
144,
|
|
174,
|
|
181,
|
|
254,
|
|
187,
|
|
100,
|
|
115,
|
|
255,
|
|
211,
|
|
78,
|
|
176,
|
|
255,
|
|
27,
|
|
7,
|
|
193,
|
|
0,
|
|
147,
|
|
213,
|
|
104,
|
|
255,
|
|
90,
|
|
201,
|
|
10,
|
|
255,
|
|
80,
|
|
123,
|
|
66,
|
|
1,
|
|
22,
|
|
33,
|
|
186,
|
|
0,
|
|
1,
|
|
7,
|
|
99,
|
|
254,
|
|
30,
|
|
206,
|
|
10,
|
|
0,
|
|
229,
|
|
234,
|
|
5,
|
|
0,
|
|
53,
|
|
30,
|
|
210,
|
|
0,
|
|
138,
|
|
8,
|
|
220,
|
|
254,
|
|
71,
|
|
55,
|
|
167,
|
|
0,
|
|
72,
|
|
225,
|
|
86,
|
|
1,
|
|
118,
|
|
190,
|
|
188,
|
|
0,
|
|
254,
|
|
193,
|
|
101,
|
|
1,
|
|
171,
|
|
249,
|
|
172,
|
|
255,
|
|
94,
|
|
158,
|
|
183,
|
|
254,
|
|
93,
|
|
2,
|
|
108,
|
|
255,
|
|
176,
|
|
93,
|
|
76,
|
|
255,
|
|
73,
|
|
99,
|
|
79,
|
|
255,
|
|
74,
|
|
64,
|
|
129,
|
|
254,
|
|
246,
|
|
46,
|
|
65,
|
|
0,
|
|
99,
|
|
241,
|
|
127,
|
|
254,
|
|
246,
|
|
151,
|
|
102,
|
|
255,
|
|
44,
|
|
53,
|
|
208,
|
|
254,
|
|
59,
|
|
102,
|
|
234,
|
|
0,
|
|
154,
|
|
175,
|
|
164,
|
|
255,
|
|
88,
|
|
242,
|
|
32,
|
|
0,
|
|
111,
|
|
38,
|
|
1,
|
|
0,
|
|
255,
|
|
182,
|
|
190,
|
|
255,
|
|
115,
|
|
176,
|
|
15,
|
|
254,
|
|
169,
|
|
60,
|
|
129,
|
|
0,
|
|
122,
|
|
237,
|
|
241,
|
|
0,
|
|
90,
|
|
76,
|
|
63,
|
|
0,
|
|
62,
|
|
74,
|
|
120,
|
|
255,
|
|
122,
|
|
195,
|
|
110,
|
|
0,
|
|
119,
|
|
4,
|
|
178,
|
|
0,
|
|
222,
|
|
242,
|
|
210,
|
|
0,
|
|
130,
|
|
33,
|
|
46,
|
|
254,
|
|
156,
|
|
40,
|
|
41,
|
|
0,
|
|
167,
|
|
146,
|
|
112,
|
|
1,
|
|
49,
|
|
163,
|
|
111,
|
|
255,
|
|
121,
|
|
176,
|
|
235,
|
|
0,
|
|
76,
|
|
207,
|
|
14,
|
|
255,
|
|
3,
|
|
25,
|
|
198,
|
|
1,
|
|
41,
|
|
235,
|
|
213,
|
|
0,
|
|
85,
|
|
36,
|
|
214,
|
|
1,
|
|
49,
|
|
92,
|
|
109,
|
|
255,
|
|
200,
|
|
24,
|
|
30,
|
|
254,
|
|
168,
|
|
236,
|
|
195,
|
|
0,
|
|
145,
|
|
39,
|
|
124,
|
|
1,
|
|
236,
|
|
195,
|
|
149,
|
|
0,
|
|
90,
|
|
36,
|
|
184,
|
|
255,
|
|
67,
|
|
85,
|
|
170,
|
|
255,
|
|
38,
|
|
35,
|
|
26,
|
|
254,
|
|
131,
|
|
124,
|
|
68,
|
|
255,
|
|
239,
|
|
155,
|
|
35,
|
|
255,
|
|
54,
|
|
201,
|
|
164,
|
|
0,
|
|
196,
|
|
22,
|
|
117,
|
|
255,
|
|
49,
|
|
15,
|
|
205,
|
|
0,
|
|
24,
|
|
224,
|
|
29,
|
|
1,
|
|
126,
|
|
113,
|
|
144,
|
|
0,
|
|
117,
|
|
21,
|
|
182,
|
|
0,
|
|
203,
|
|
159,
|
|
141,
|
|
0,
|
|
223,
|
|
135,
|
|
77,
|
|
0,
|
|
176,
|
|
230,
|
|
176,
|
|
255,
|
|
190,
|
|
229,
|
|
215,
|
|
255,
|
|
99,
|
|
37,
|
|
181,
|
|
255,
|
|
51,
|
|
21,
|
|
138,
|
|
255,
|
|
25,
|
|
189,
|
|
89,
|
|
255,
|
|
49,
|
|
48,
|
|
165,
|
|
254,
|
|
152,
|
|
45,
|
|
247,
|
|
0,
|
|
170,
|
|
108,
|
|
222,
|
|
0,
|
|
80,
|
|
202,
|
|
5,
|
|
0,
|
|
27,
|
|
69,
|
|
103,
|
|
254,
|
|
204,
|
|
22,
|
|
129,
|
|
255,
|
|
180,
|
|
252,
|
|
62,
|
|
254,
|
|
210,
|
|
1,
|
|
91,
|
|
255,
|
|
146,
|
|
110,
|
|
254,
|
|
255,
|
|
219,
|
|
162,
|
|
28,
|
|
0,
|
|
223,
|
|
252,
|
|
213,
|
|
1,
|
|
59,
|
|
8,
|
|
33,
|
|
0,
|
|
206,
|
|
16,
|
|
244,
|
|
0,
|
|
129,
|
|
211,
|
|
48,
|
|
0,
|
|
107,
|
|
160,
|
|
208,
|
|
0,
|
|
112,
|
|
59,
|
|
209,
|
|
0,
|
|
109,
|
|
77,
|
|
216,
|
|
254,
|
|
34,
|
|
21,
|
|
185,
|
|
255,
|
|
246,
|
|
99,
|
|
56,
|
|
255,
|
|
179,
|
|
139,
|
|
19,
|
|
255,
|
|
185,
|
|
29,
|
|
50,
|
|
255,
|
|
84,
|
|
89,
|
|
19,
|
|
0,
|
|
74,
|
|
250,
|
|
98,
|
|
255,
|
|
225,
|
|
42,
|
|
200,
|
|
255,
|
|
192,
|
|
217,
|
|
205,
|
|
255,
|
|
210,
|
|
16,
|
|
167,
|
|
0,
|
|
99,
|
|
132,
|
|
95,
|
|
1,
|
|
43,
|
|
230,
|
|
57,
|
|
0,
|
|
254,
|
|
11,
|
|
203,
|
|
255,
|
|
99,
|
|
188,
|
|
63,
|
|
255,
|
|
119,
|
|
193,
|
|
251,
|
|
254,
|
|
80,
|
|
105,
|
|
54,
|
|
0,
|
|
232,
|
|
181,
|
|
189,
|
|
1,
|
|
183,
|
|
69,
|
|
112,
|
|
255,
|
|
208,
|
|
171,
|
|
165,
|
|
255,
|
|
47,
|
|
109,
|
|
180,
|
|
255,
|
|
123,
|
|
83,
|
|
165,
|
|
0,
|
|
146,
|
|
162,
|
|
52,
|
|
255,
|
|
154,
|
|
11,
|
|
4,
|
|
255,
|
|
151,
|
|
227,
|
|
90,
|
|
255,
|
|
146,
|
|
137,
|
|
97,
|
|
254,
|
|
61,
|
|
233,
|
|
41,
|
|
255,
|
|
94,
|
|
42,
|
|
55,
|
|
255,
|
|
108,
|
|
164,
|
|
236,
|
|
0,
|
|
152,
|
|
68,
|
|
254,
|
|
0,
|
|
10,
|
|
140,
|
|
131,
|
|
255,
|
|
10,
|
|
106,
|
|
79,
|
|
254,
|
|
243,
|
|
158,
|
|
137,
|
|
0,
|
|
67,
|
|
178,
|
|
66,
|
|
254,
|
|
177,
|
|
123,
|
|
198,
|
|
255,
|
|
15,
|
|
62,
|
|
34,
|
|
0,
|
|
197,
|
|
88,
|
|
42,
|
|
255,
|
|
149,
|
|
95,
|
|
177,
|
|
255,
|
|
152,
|
|
0,
|
|
198,
|
|
255,
|
|
149,
|
|
254,
|
|
113,
|
|
255,
|
|
225,
|
|
90,
|
|
163,
|
|
255,
|
|
125,
|
|
217,
|
|
247,
|
|
0,
|
|
18,
|
|
17,
|
|
224,
|
|
0,
|
|
128,
|
|
66,
|
|
120,
|
|
254,
|
|
192,
|
|
25,
|
|
9,
|
|
255,
|
|
50,
|
|
221,
|
|
205,
|
|
0,
|
|
49,
|
|
212,
|
|
70,
|
|
0,
|
|
233,
|
|
255,
|
|
164,
|
|
0,
|
|
2,
|
|
209,
|
|
9,
|
|
0,
|
|
221,
|
|
52,
|
|
219,
|
|
254,
|
|
172,
|
|
224,
|
|
244,
|
|
255,
|
|
94,
|
|
56,
|
|
206,
|
|
1,
|
|
242,
|
|
179,
|
|
2,
|
|
255,
|
|
31,
|
|
91,
|
|
164,
|
|
1,
|
|
230,
|
|
46,
|
|
138,
|
|
255,
|
|
189,
|
|
230,
|
|
220,
|
|
0,
|
|
57,
|
|
47,
|
|
61,
|
|
255,
|
|
111,
|
|
11,
|
|
157,
|
|
0,
|
|
177,
|
|
91,
|
|
152,
|
|
0,
|
|
28,
|
|
230,
|
|
98,
|
|
0,
|
|
97,
|
|
87,
|
|
126,
|
|
0,
|
|
198,
|
|
89,
|
|
145,
|
|
255,
|
|
167,
|
|
79,
|
|
107,
|
|
0,
|
|
249,
|
|
77,
|
|
160,
|
|
1,
|
|
29,
|
|
233,
|
|
230,
|
|
255,
|
|
150,
|
|
21,
|
|
86,
|
|
254,
|
|
60,
|
|
11,
|
|
193,
|
|
0,
|
|
151,
|
|
37,
|
|
36,
|
|
254,
|
|
185,
|
|
150,
|
|
243,
|
|
255,
|
|
228,
|
|
212,
|
|
83,
|
|
1,
|
|
172,
|
|
151,
|
|
180,
|
|
0,
|
|
201,
|
|
169,
|
|
155,
|
|
0,
|
|
244,
|
|
60,
|
|
234,
|
|
0,
|
|
142,
|
|
235,
|
|
4,
|
|
1,
|
|
67,
|
|
218,
|
|
60,
|
|
0,
|
|
192,
|
|
113,
|
|
75,
|
|
1,
|
|
116,
|
|
243,
|
|
207,
|
|
255,
|
|
65,
|
|
172,
|
|
155,
|
|
0,
|
|
81,
|
|
30,
|
|
156,
|
|
255,
|
|
80,
|
|
72,
|
|
33,
|
|
254,
|
|
18,
|
|
231,
|
|
109,
|
|
255,
|
|
142,
|
|
107,
|
|
21,
|
|
254,
|
|
125,
|
|
26,
|
|
132,
|
|
255,
|
|
176,
|
|
16,
|
|
59,
|
|
255,
|
|
150,
|
|
201,
|
|
58,
|
|
0,
|
|
206,
|
|
169,
|
|
201,
|
|
0,
|
|
208,
|
|
121,
|
|
226,
|
|
0,
|
|
40,
|
|
172,
|
|
14,
|
|
255,
|
|
150,
|
|
61,
|
|
94,
|
|
255,
|
|
56,
|
|
57,
|
|
156,
|
|
255,
|
|
141,
|
|
60,
|
|
145,
|
|
255,
|
|
45,
|
|
108,
|
|
149,
|
|
255,
|
|
238,
|
|
145,
|
|
155,
|
|
255,
|
|
209,
|
|
85,
|
|
31,
|
|
254,
|
|
192,
|
|
12,
|
|
210,
|
|
0,
|
|
99,
|
|
98,
|
|
93,
|
|
254,
|
|
152,
|
|
16,
|
|
151,
|
|
0,
|
|
225,
|
|
185,
|
|
220,
|
|
0,
|
|
141,
|
|
235,
|
|
44,
|
|
255,
|
|
160,
|
|
172,
|
|
21,
|
|
254,
|
|
71,
|
|
26,
|
|
31,
|
|
255,
|
|
13,
|
|
64,
|
|
93,
|
|
254,
|
|
28,
|
|
56,
|
|
198,
|
|
0,
|
|
177,
|
|
62,
|
|
248,
|
|
1,
|
|
182,
|
|
8,
|
|
241,
|
|
0,
|
|
166,
|
|
101,
|
|
148,
|
|
255,
|
|
78,
|
|
81,
|
|
133,
|
|
255,
|
|
129,
|
|
222,
|
|
215,
|
|
1,
|
|
188,
|
|
169,
|
|
129,
|
|
255,
|
|
232,
|
|
7,
|
|
97,
|
|
0,
|
|
49,
|
|
112,
|
|
60,
|
|
255,
|
|
217,
|
|
229,
|
|
251,
|
|
0,
|
|
119,
|
|
108,
|
|
138,
|
|
0,
|
|
39,
|
|
19,
|
|
123,
|
|
254,
|
|
131,
|
|
49,
|
|
235,
|
|
0,
|
|
132,
|
|
84,
|
|
145,
|
|
0,
|
|
130,
|
|
230,
|
|
148,
|
|
255,
|
|
25,
|
|
74,
|
|
187,
|
|
0,
|
|
5,
|
|
245,
|
|
54,
|
|
255,
|
|
185,
|
|
219,
|
|
241,
|
|
1,
|
|
18,
|
|
194,
|
|
228,
|
|
255,
|
|
241,
|
|
202,
|
|
102,
|
|
0,
|
|
105,
|
|
113,
|
|
202,
|
|
0,
|
|
155,
|
|
235,
|
|
79,
|
|
0,
|
|
21,
|
|
9,
|
|
178,
|
|
255,
|
|
156,
|
|
1,
|
|
239,
|
|
0,
|
|
200,
|
|
148,
|
|
61,
|
|
0,
|
|
115,
|
|
247,
|
|
210,
|
|
255,
|
|
49,
|
|
221,
|
|
135,
|
|
0,
|
|
58,
|
|
189,
|
|
8,
|
|
1,
|
|
35,
|
|
46,
|
|
9,
|
|
0,
|
|
81,
|
|
65,
|
|
5,
|
|
255,
|
|
52,
|
|
158,
|
|
185,
|
|
255,
|
|
125,
|
|
116,
|
|
46,
|
|
255,
|
|
74,
|
|
140,
|
|
13,
|
|
255,
|
|
210,
|
|
92,
|
|
172,
|
|
254,
|
|
147,
|
|
23,
|
|
71,
|
|
0,
|
|
217,
|
|
224,
|
|
253,
|
|
254,
|
|
115,
|
|
108,
|
|
180,
|
|
255,
|
|
145,
|
|
58,
|
|
48,
|
|
254,
|
|
219,
|
|
177,
|
|
24,
|
|
255,
|
|
156,
|
|
255,
|
|
60,
|
|
1,
|
|
154,
|
|
147,
|
|
242,
|
|
0,
|
|
253,
|
|
134,
|
|
87,
|
|
0,
|
|
53,
|
|
75,
|
|
229,
|
|
0,
|
|
48,
|
|
195,
|
|
222,
|
|
255,
|
|
31,
|
|
175,
|
|
50,
|
|
255,
|
|
156,
|
|
210,
|
|
120,
|
|
255,
|
|
208,
|
|
35,
|
|
222,
|
|
255,
|
|
18,
|
|
248,
|
|
179,
|
|
1,
|
|
2,
|
|
10,
|
|
101,
|
|
255,
|
|
157,
|
|
194,
|
|
248,
|
|
255,
|
|
158,
|
|
204,
|
|
101,
|
|
255,
|
|
104,
|
|
254,
|
|
197,
|
|
255,
|
|
79,
|
|
62,
|
|
4,
|
|
0,
|
|
178,
|
|
172,
|
|
101,
|
|
1,
|
|
96,
|
|
146,
|
|
251,
|
|
255,
|
|
65,
|
|
10,
|
|
156,
|
|
0,
|
|
2,
|
|
137,
|
|
165,
|
|
255,
|
|
116,
|
|
4,
|
|
231,
|
|
0,
|
|
242,
|
|
215,
|
|
1,
|
|
0,
|
|
19,
|
|
35,
|
|
29,
|
|
255,
|
|
43,
|
|
161,
|
|
79,
|
|
0,
|
|
59,
|
|
149,
|
|
246,
|
|
1,
|
|
251,
|
|
66,
|
|
176,
|
|
0,
|
|
200,
|
|
33,
|
|
3,
|
|
255,
|
|
80,
|
|
110,
|
|
142,
|
|
255,
|
|
195,
|
|
161,
|
|
17,
|
|
1,
|
|
228,
|
|
56,
|
|
66,
|
|
255,
|
|
123,
|
|
47,
|
|
145,
|
|
254,
|
|
132,
|
|
4,
|
|
164,
|
|
0,
|
|
67,
|
|
174,
|
|
172,
|
|
0,
|
|
25,
|
|
253,
|
|
114,
|
|
0,
|
|
87,
|
|
97,
|
|
87,
|
|
1,
|
|
250,
|
|
220,
|
|
84,
|
|
0,
|
|
96,
|
|
91,
|
|
200,
|
|
255,
|
|
37,
|
|
125,
|
|
59,
|
|
0,
|
|
19,
|
|
65,
|
|
118,
|
|
0,
|
|
161,
|
|
52,
|
|
241,
|
|
255,
|
|
237,
|
|
172,
|
|
6,
|
|
255,
|
|
176,
|
|
191,
|
|
255,
|
|
255,
|
|
1,
|
|
65,
|
|
130,
|
|
254,
|
|
223,
|
|
190,
|
|
230,
|
|
0,
|
|
101,
|
|
253,
|
|
231,
|
|
255,
|
|
146,
|
|
35,
|
|
109,
|
|
0,
|
|
250,
|
|
29,
|
|
77,
|
|
1,
|
|
49,
|
|
0,
|
|
19,
|
|
0,
|
|
123,
|
|
90,
|
|
155,
|
|
1,
|
|
22,
|
|
86,
|
|
32,
|
|
255,
|
|
218,
|
|
213,
|
|
65,
|
|
0,
|
|
111,
|
|
93,
|
|
127,
|
|
0,
|
|
60,
|
|
93,
|
|
169,
|
|
255,
|
|
8,
|
|
127,
|
|
182,
|
|
0,
|
|
17,
|
|
186,
|
|
14,
|
|
254,
|
|
253,
|
|
137,
|
|
246,
|
|
255,
|
|
213,
|
|
25,
|
|
48,
|
|
254,
|
|
76,
|
|
238,
|
|
0,
|
|
255,
|
|
248,
|
|
92,
|
|
70,
|
|
255,
|
|
99,
|
|
224,
|
|
139,
|
|
0,
|
|
184,
|
|
9,
|
|
255,
|
|
1,
|
|
7,
|
|
164,
|
|
208,
|
|
0,
|
|
205,
|
|
131,
|
|
198,
|
|
1,
|
|
87,
|
|
214,
|
|
199,
|
|
0,
|
|
130,
|
|
214,
|
|
95,
|
|
0,
|
|
221,
|
|
149,
|
|
222,
|
|
0,
|
|
23,
|
|
38,
|
|
171,
|
|
254,
|
|
197,
|
|
110,
|
|
213,
|
|
0,
|
|
43,
|
|
115,
|
|
140,
|
|
254,
|
|
215,
|
|
177,
|
|
118,
|
|
0,
|
|
96,
|
|
52,
|
|
66,
|
|
1,
|
|
117,
|
|
158,
|
|
237,
|
|
0,
|
|
14,
|
|
64,
|
|
182,
|
|
255,
|
|
46,
|
|
63,
|
|
174,
|
|
255,
|
|
158,
|
|
95,
|
|
190,
|
|
255,
|
|
225,
|
|
205,
|
|
177,
|
|
255,
|
|
43,
|
|
5,
|
|
142,
|
|
255,
|
|
172,
|
|
99,
|
|
212,
|
|
255,
|
|
244,
|
|
187,
|
|
147,
|
|
0,
|
|
29,
|
|
51,
|
|
153,
|
|
255,
|
|
228,
|
|
116,
|
|
24,
|
|
254,
|
|
30,
|
|
101,
|
|
207,
|
|
0,
|
|
19,
|
|
246,
|
|
150,
|
|
255,
|
|
134,
|
|
231,
|
|
5,
|
|
0,
|
|
125,
|
|
134,
|
|
226,
|
|
1,
|
|
77,
|
|
65,
|
|
98,
|
|
0,
|
|
236,
|
|
130,
|
|
33,
|
|
255,
|
|
5,
|
|
110,
|
|
62,
|
|
0,
|
|
69,
|
|
108,
|
|
127,
|
|
255,
|
|
7,
|
|
113,
|
|
22,
|
|
0,
|
|
145,
|
|
20,
|
|
83,
|
|
254,
|
|
194,
|
|
161,
|
|
231,
|
|
255,
|
|
131,
|
|
181,
|
|
60,
|
|
0,
|
|
217,
|
|
209,
|
|
177,
|
|
255,
|
|
229,
|
|
148,
|
|
212,
|
|
254,
|
|
3,
|
|
131,
|
|
184,
|
|
0,
|
|
117,
|
|
177,
|
|
187,
|
|
1,
|
|
28,
|
|
14,
|
|
31,
|
|
255,
|
|
176,
|
|
102,
|
|
80,
|
|
0,
|
|
50,
|
|
84,
|
|
151,
|
|
255,
|
|
125,
|
|
31,
|
|
54,
|
|
255,
|
|
21,
|
|
157,
|
|
133,
|
|
255,
|
|
19,
|
|
179,
|
|
139,
|
|
1,
|
|
224,
|
|
232,
|
|
26,
|
|
0,
|
|
34,
|
|
117,
|
|
170,
|
|
255,
|
|
167,
|
|
252,
|
|
171,
|
|
255,
|
|
73,
|
|
141,
|
|
206,
|
|
254,
|
|
129,
|
|
250,
|
|
35,
|
|
0,
|
|
72,
|
|
79,
|
|
236,
|
|
1,
|
|
220,
|
|
229,
|
|
20,
|
|
255,
|
|
41,
|
|
202,
|
|
173,
|
|
255,
|
|
99,
|
|
76,
|
|
238,
|
|
255,
|
|
198,
|
|
22,
|
|
224,
|
|
255,
|
|
108,
|
|
198,
|
|
195,
|
|
255,
|
|
36,
|
|
141,
|
|
96,
|
|
1,
|
|
236,
|
|
158,
|
|
59,
|
|
255,
|
|
106,
|
|
100,
|
|
87,
|
|
0,
|
|
110,
|
|
226,
|
|
2,
|
|
0,
|
|
227,
|
|
234,
|
|
222,
|
|
0,
|
|
154,
|
|
93,
|
|
119,
|
|
255,
|
|
74,
|
|
112,
|
|
164,
|
|
255,
|
|
67,
|
|
91,
|
|
2,
|
|
255,
|
|
21,
|
|
145,
|
|
33,
|
|
255,
|
|
102,
|
|
214,
|
|
137,
|
|
255,
|
|
175,
|
|
230,
|
|
103,
|
|
254,
|
|
163,
|
|
246,
|
|
166,
|
|
0,
|
|
93,
|
|
247,
|
|
116,
|
|
254,
|
|
167,
|
|
224,
|
|
28,
|
|
255,
|
|
220,
|
|
2,
|
|
57,
|
|
1,
|
|
171,
|
|
206,
|
|
84,
|
|
0,
|
|
123,
|
|
228,
|
|
17,
|
|
255,
|
|
27,
|
|
120,
|
|
119,
|
|
0,
|
|
119,
|
|
11,
|
|
147,
|
|
1,
|
|
180,
|
|
47,
|
|
225,
|
|
255,
|
|
104,
|
|
200,
|
|
185,
|
|
254,
|
|
165,
|
|
2,
|
|
114,
|
|
0,
|
|
77,
|
|
78,
|
|
212,
|
|
0,
|
|
45,
|
|
154,
|
|
177,
|
|
255,
|
|
24,
|
|
196,
|
|
121,
|
|
254,
|
|
82,
|
|
157,
|
|
182,
|
|
0,
|
|
90,
|
|
16,
|
|
190,
|
|
1,
|
|
12,
|
|
147,
|
|
197,
|
|
0,
|
|
95,
|
|
239,
|
|
152,
|
|
255,
|
|
11,
|
|
235,
|
|
71,
|
|
0,
|
|
86,
|
|
146,
|
|
119,
|
|
255,
|
|
172,
|
|
134,
|
|
214,
|
|
0,
|
|
60,
|
|
131,
|
|
196,
|
|
0,
|
|
161,
|
|
225,
|
|
129,
|
|
0,
|
|
31,
|
|
130,
|
|
120,
|
|
254,
|
|
95,
|
|
200,
|
|
51,
|
|
0,
|
|
105,
|
|
231,
|
|
210,
|
|
255,
|
|
58,
|
|
9,
|
|
148,
|
|
255,
|
|
43,
|
|
168,
|
|
221,
|
|
255,
|
|
124,
|
|
237,
|
|
142,
|
|
0,
|
|
198,
|
|
211,
|
|
50,
|
|
254,
|
|
46,
|
|
245,
|
|
103,
|
|
0,
|
|
164,
|
|
248,
|
|
84,
|
|
0,
|
|
152,
|
|
70,
|
|
208,
|
|
255,
|
|
180,
|
|
117,
|
|
177,
|
|
0,
|
|
70,
|
|
79,
|
|
185,
|
|
0,
|
|
243,
|
|
74,
|
|
32,
|
|
0,
|
|
149,
|
|
156,
|
|
207,
|
|
0,
|
|
197,
|
|
196,
|
|
161,
|
|
1,
|
|
245,
|
|
53,
|
|
239,
|
|
0,
|
|
15,
|
|
93,
|
|
246,
|
|
254,
|
|
139,
|
|
240,
|
|
49,
|
|
255,
|
|
196,
|
|
88,
|
|
36,
|
|
255,
|
|
162,
|
|
38,
|
|
123,
|
|
0,
|
|
128,
|
|
200,
|
|
157,
|
|
1,
|
|
174,
|
|
76,
|
|
103,
|
|
255,
|
|
173,
|
|
169,
|
|
34,
|
|
254,
|
|
216,
|
|
1,
|
|
171,
|
|
255,
|
|
114,
|
|
51,
|
|
17,
|
|
0,
|
|
136,
|
|
228,
|
|
194,
|
|
0,
|
|
110,
|
|
150,
|
|
56,
|
|
254,
|
|
106,
|
|
246,
|
|
159,
|
|
0,
|
|
19,
|
|
184,
|
|
79,
|
|
255,
|
|
150,
|
|
77,
|
|
240,
|
|
255,
|
|
155,
|
|
80,
|
|
162,
|
|
0,
|
|
0,
|
|
53,
|
|
169,
|
|
255,
|
|
29,
|
|
151,
|
|
86,
|
|
0,
|
|
68,
|
|
94,
|
|
16,
|
|
0,
|
|
92,
|
|
7,
|
|
110,
|
|
254,
|
|
98,
|
|
117,
|
|
149,
|
|
255,
|
|
249,
|
|
77,
|
|
230,
|
|
255,
|
|
253,
|
|
10,
|
|
140,
|
|
0,
|
|
214,
|
|
124,
|
|
92,
|
|
254,
|
|
35,
|
|
118,
|
|
235,
|
|
0,
|
|
89,
|
|
48,
|
|
57,
|
|
1,
|
|
22,
|
|
53,
|
|
166,
|
|
0,
|
|
184,
|
|
144,
|
|
61,
|
|
255,
|
|
179,
|
|
255,
|
|
194,
|
|
0,
|
|
214,
|
|
248,
|
|
61,
|
|
254,
|
|
59,
|
|
110,
|
|
246,
|
|
0,
|
|
121,
|
|
21,
|
|
81,
|
|
254,
|
|
166,
|
|
3,
|
|
228,
|
|
0,
|
|
106,
|
|
64,
|
|
26,
|
|
255,
|
|
69,
|
|
232,
|
|
134,
|
|
255,
|
|
242,
|
|
220,
|
|
53,
|
|
254,
|
|
46,
|
|
220,
|
|
85,
|
|
0,
|
|
113,
|
|
149,
|
|
247,
|
|
255,
|
|
97,
|
|
179,
|
|
103,
|
|
255,
|
|
190,
|
|
127,
|
|
11,
|
|
0,
|
|
135,
|
|
209,
|
|
182,
|
|
0,
|
|
95,
|
|
52,
|
|
129,
|
|
1,
|
|
170,
|
|
144,
|
|
206,
|
|
255,
|
|
122,
|
|
200,
|
|
204,
|
|
255,
|
|
168,
|
|
100,
|
|
146,
|
|
0,
|
|
60,
|
|
144,
|
|
149,
|
|
254,
|
|
70,
|
|
60,
|
|
40,
|
|
0,
|
|
122,
|
|
52,
|
|
177,
|
|
255,
|
|
246,
|
|
211,
|
|
101,
|
|
255,
|
|
174,
|
|
237,
|
|
8,
|
|
0,
|
|
7,
|
|
51,
|
|
120,
|
|
0,
|
|
19,
|
|
31,
|
|
173,
|
|
0,
|
|
126,
|
|
239,
|
|
156,
|
|
255,
|
|
143,
|
|
189,
|
|
203,
|
|
0,
|
|
196,
|
|
128,
|
|
88,
|
|
255,
|
|
233,
|
|
133,
|
|
226,
|
|
255,
|
|
30,
|
|
125,
|
|
173,
|
|
255,
|
|
201,
|
|
108,
|
|
50,
|
|
0,
|
|
123,
|
|
100,
|
|
59,
|
|
255,
|
|
254,
|
|
163,
|
|
3,
|
|
1,
|
|
221,
|
|
148,
|
|
181,
|
|
255,
|
|
214,
|
|
136,
|
|
57,
|
|
254,
|
|
222,
|
|
180,
|
|
137,
|
|
255,
|
|
207,
|
|
88,
|
|
54,
|
|
255,
|
|
28,
|
|
33,
|
|
251,
|
|
255,
|
|
67,
|
|
214,
|
|
52,
|
|
1,
|
|
210,
|
|
208,
|
|
100,
|
|
0,
|
|
81,
|
|
170,
|
|
94,
|
|
0,
|
|
145,
|
|
40,
|
|
53,
|
|
0,
|
|
224,
|
|
111,
|
|
231,
|
|
254,
|
|
35,
|
|
28,
|
|
244,
|
|
255,
|
|
226,
|
|
199,
|
|
195,
|
|
254,
|
|
238,
|
|
17,
|
|
230,
|
|
0,
|
|
217,
|
|
217,
|
|
164,
|
|
254,
|
|
169,
|
|
157,
|
|
221,
|
|
0,
|
|
218,
|
|
46,
|
|
162,
|
|
1,
|
|
199,
|
|
207,
|
|
163,
|
|
255,
|
|
108,
|
|
115,
|
|
162,
|
|
1,
|
|
14,
|
|
96,
|
|
187,
|
|
255,
|
|
118,
|
|
60,
|
|
76,
|
|
0,
|
|
184,
|
|
159,
|
|
152,
|
|
0,
|
|
209,
|
|
231,
|
|
71,
|
|
254,
|
|
42,
|
|
164,
|
|
186,
|
|
255,
|
|
186,
|
|
153,
|
|
51,
|
|
254,
|
|
221,
|
|
171,
|
|
182,
|
|
255,
|
|
162,
|
|
142,
|
|
173,
|
|
0,
|
|
235,
|
|
47,
|
|
193,
|
|
0,
|
|
7,
|
|
139,
|
|
16,
|
|
1,
|
|
95,
|
|
164,
|
|
64,
|
|
255,
|
|
16,
|
|
221,
|
|
166,
|
|
0,
|
|
219,
|
|
197,
|
|
16,
|
|
0,
|
|
132,
|
|
29,
|
|
44,
|
|
255,
|
|
100,
|
|
69,
|
|
117,
|
|
255,
|
|
60,
|
|
235,
|
|
88,
|
|
254,
|
|
40,
|
|
81,
|
|
173,
|
|
0,
|
|
71,
|
|
190,
|
|
61,
|
|
255,
|
|
187,
|
|
88,
|
|
157,
|
|
0,
|
|
231,
|
|
11,
|
|
23,
|
|
0,
|
|
237,
|
|
117,
|
|
164,
|
|
0,
|
|
225,
|
|
168,
|
|
223,
|
|
255,
|
|
154,
|
|
114,
|
|
116,
|
|
255,
|
|
163,
|
|
152,
|
|
242,
|
|
1,
|
|
24,
|
|
32,
|
|
170,
|
|
0,
|
|
125,
|
|
98,
|
|
113,
|
|
254,
|
|
168,
|
|
19,
|
|
76,
|
|
0,
|
|
17,
|
|
157,
|
|
220,
|
|
254,
|
|
155,
|
|
52,
|
|
5,
|
|
0,
|
|
19,
|
|
111,
|
|
161,
|
|
255,
|
|
71,
|
|
90,
|
|
252,
|
|
255,
|
|
173,
|
|
110,
|
|
240,
|
|
0,
|
|
10,
|
|
198,
|
|
121,
|
|
255,
|
|
253,
|
|
255,
|
|
240,
|
|
255,
|
|
66,
|
|
123,
|
|
210,
|
|
0,
|
|
221,
|
|
194,
|
|
215,
|
|
254,
|
|
121,
|
|
163,
|
|
17,
|
|
255,
|
|
225,
|
|
7,
|
|
99,
|
|
0,
|
|
190,
|
|
49,
|
|
182,
|
|
0,
|
|
115,
|
|
9,
|
|
133,
|
|
1,
|
|
232,
|
|
26,
|
|
138,
|
|
255,
|
|
213,
|
|
68,
|
|
132,
|
|
0,
|
|
44,
|
|
119,
|
|
122,
|
|
255,
|
|
179,
|
|
98,
|
|
51,
|
|
0,
|
|
149,
|
|
90,
|
|
106,
|
|
0,
|
|
71,
|
|
50,
|
|
230,
|
|
255,
|
|
10,
|
|
153,
|
|
118,
|
|
255,
|
|
177,
|
|
70,
|
|
25,
|
|
0,
|
|
165,
|
|
87,
|
|
205,
|
|
0,
|
|
55,
|
|
138,
|
|
234,
|
|
0,
|
|
238,
|
|
30,
|
|
97,
|
|
0,
|
|
113,
|
|
155,
|
|
207,
|
|
0,
|
|
98,
|
|
153,
|
|
127,
|
|
0,
|
|
34,
|
|
107,
|
|
219,
|
|
254,
|
|
117,
|
|
114,
|
|
172,
|
|
255,
|
|
76,
|
|
180,
|
|
255,
|
|
254,
|
|
242,
|
|
57,
|
|
179,
|
|
255,
|
|
221,
|
|
34,
|
|
172,
|
|
254,
|
|
56,
|
|
162,
|
|
49,
|
|
255,
|
|
83,
|
|
3,
|
|
255,
|
|
255,
|
|
113,
|
|
221,
|
|
189,
|
|
255,
|
|
188,
|
|
25,
|
|
228,
|
|
254,
|
|
16,
|
|
88,
|
|
89,
|
|
255,
|
|
71,
|
|
28,
|
|
198,
|
|
254,
|
|
22,
|
|
17,
|
|
149,
|
|
255,
|
|
243,
|
|
121,
|
|
254,
|
|
255,
|
|
107,
|
|
202,
|
|
99,
|
|
255,
|
|
9,
|
|
206,
|
|
14,
|
|
1,
|
|
220,
|
|
47,
|
|
153,
|
|
0,
|
|
107,
|
|
137,
|
|
39,
|
|
1,
|
|
97,
|
|
49,
|
|
194,
|
|
255,
|
|
149,
|
|
51,
|
|
197,
|
|
254,
|
|
186,
|
|
58,
|
|
11,
|
|
255,
|
|
107,
|
|
43,
|
|
232,
|
|
1,
|
|
200,
|
|
6,
|
|
14,
|
|
255,
|
|
181,
|
|
133,
|
|
65,
|
|
254,
|
|
221,
|
|
228,
|
|
171,
|
|
255,
|
|
123,
|
|
62,
|
|
231,
|
|
1,
|
|
227,
|
|
234,
|
|
179,
|
|
255,
|
|
34,
|
|
189,
|
|
212,
|
|
254,
|
|
244,
|
|
187,
|
|
249,
|
|
0,
|
|
190,
|
|
13,
|
|
80,
|
|
1,
|
|
130,
|
|
89,
|
|
1,
|
|
0,
|
|
223,
|
|
133,
|
|
173,
|
|
0,
|
|
9,
|
|
222,
|
|
198,
|
|
255,
|
|
66,
|
|
127,
|
|
74,
|
|
0,
|
|
167,
|
|
216,
|
|
93,
|
|
255,
|
|
155,
|
|
168,
|
|
198,
|
|
1,
|
|
66,
|
|
145,
|
|
0,
|
|
0,
|
|
68,
|
|
102,
|
|
46,
|
|
1,
|
|
172,
|
|
90,
|
|
154,
|
|
0,
|
|
216,
|
|
128,
|
|
75,
|
|
255,
|
|
160,
|
|
40,
|
|
51,
|
|
0,
|
|
158,
|
|
17,
|
|
27,
|
|
1,
|
|
124,
|
|
240,
|
|
49,
|
|
0,
|
|
236,
|
|
202,
|
|
176,
|
|
255,
|
|
151,
|
|
124,
|
|
192,
|
|
255,
|
|
38,
|
|
193,
|
|
190,
|
|
0,
|
|
95,
|
|
182,
|
|
61,
|
|
0,
|
|
163,
|
|
147,
|
|
124,
|
|
255,
|
|
255,
|
|
165,
|
|
51,
|
|
255,
|
|
28,
|
|
40,
|
|
17,
|
|
254,
|
|
215,
|
|
96,
|
|
78,
|
|
0,
|
|
86,
|
|
145,
|
|
218,
|
|
254,
|
|
31,
|
|
36,
|
|
202,
|
|
255,
|
|
86,
|
|
9,
|
|
5,
|
|
0,
|
|
111,
|
|
41,
|
|
200,
|
|
255,
|
|
237,
|
|
108,
|
|
97,
|
|
0,
|
|
57,
|
|
62,
|
|
44,
|
|
0,
|
|
117,
|
|
184,
|
|
15,
|
|
1,
|
|
45,
|
|
241,
|
|
116,
|
|
0,
|
|
152,
|
|
1,
|
|
220,
|
|
255,
|
|
157,
|
|
165,
|
|
188,
|
|
0,
|
|
250,
|
|
15,
|
|
131,
|
|
1,
|
|
60,
|
|
44,
|
|
125,
|
|
255,
|
|
65,
|
|
220,
|
|
251,
|
|
255,
|
|
75,
|
|
50,
|
|
184,
|
|
0,
|
|
53,
|
|
90,
|
|
128,
|
|
255,
|
|
231,
|
|
80,
|
|
194,
|
|
255,
|
|
136,
|
|
129,
|
|
127,
|
|
1,
|
|
21,
|
|
18,
|
|
187,
|
|
255,
|
|
45,
|
|
58,
|
|
161,
|
|
255,
|
|
71,
|
|
147,
|
|
34,
|
|
0,
|
|
174,
|
|
249,
|
|
11,
|
|
254,
|
|
35,
|
|
141,
|
|
29,
|
|
0,
|
|
239,
|
|
68,
|
|
177,
|
|
255,
|
|
115,
|
|
110,
|
|
58,
|
|
0,
|
|
238,
|
|
190,
|
|
177,
|
|
1,
|
|
87,
|
|
245,
|
|
166,
|
|
255,
|
|
190,
|
|
49,
|
|
247,
|
|
255,
|
|
146,
|
|
83,
|
|
184,
|
|
255,
|
|
173,
|
|
14,
|
|
39,
|
|
255,
|
|
146,
|
|
215,
|
|
104,
|
|
0,
|
|
142,
|
|
223,
|
|
120,
|
|
0,
|
|
149,
|
|
200,
|
|
155,
|
|
255,
|
|
212,
|
|
207,
|
|
145,
|
|
1,
|
|
16,
|
|
181,
|
|
217,
|
|
0,
|
|
173,
|
|
32,
|
|
87,
|
|
255,
|
|
255,
|
|
35,
|
|
181,
|
|
0,
|
|
119,
|
|
223,
|
|
161,
|
|
1,
|
|
200,
|
|
223,
|
|
94,
|
|
255,
|
|
70,
|
|
6,
|
|
186,
|
|
255,
|
|
192,
|
|
67,
|
|
85,
|
|
255,
|
|
50,
|
|
169,
|
|
152,
|
|
0,
|
|
144,
|
|
26,
|
|
123,
|
|
255,
|
|
56,
|
|
243,
|
|
179,
|
|
254,
|
|
20,
|
|
68,
|
|
136,
|
|
0,
|
|
39,
|
|
140,
|
|
188,
|
|
254,
|
|
253,
|
|
208,
|
|
5,
|
|
255,
|
|
200,
|
|
115,
|
|
135,
|
|
1,
|
|
43,
|
|
172,
|
|
229,
|
|
255,
|
|
156,
|
|
104,
|
|
187,
|
|
0,
|
|
151,
|
|
251,
|
|
167,
|
|
0,
|
|
52,
|
|
135,
|
|
23,
|
|
0,
|
|
151,
|
|
153,
|
|
72,
|
|
0,
|
|
147,
|
|
197,
|
|
107,
|
|
254,
|
|
148,
|
|
158,
|
|
5,
|
|
255,
|
|
238,
|
|
143,
|
|
206,
|
|
0,
|
|
126,
|
|
153,
|
|
137,
|
|
255,
|
|
88,
|
|
152,
|
|
197,
|
|
254,
|
|
7,
|
|
68,
|
|
167,
|
|
0,
|
|
252,
|
|
159,
|
|
165,
|
|
255,
|
|
239,
|
|
78,
|
|
54,
|
|
255,
|
|
24,
|
|
63,
|
|
55,
|
|
255,
|
|
38,
|
|
222,
|
|
94,
|
|
0,
|
|
237,
|
|
183,
|
|
12,
|
|
255,
|
|
206,
|
|
204,
|
|
210,
|
|
0,
|
|
19,
|
|
39,
|
|
246,
|
|
254,
|
|
30,
|
|
74,
|
|
231,
|
|
0,
|
|
135,
|
|
108,
|
|
29,
|
|
1,
|
|
179,
|
|
115,
|
|
0,
|
|
0,
|
|
117,
|
|
118,
|
|
116,
|
|
1,
|
|
132,
|
|
6,
|
|
252,
|
|
255,
|
|
145,
|
|
129,
|
|
161,
|
|
1,
|
|
105,
|
|
67,
|
|
141,
|
|
0,
|
|
82,
|
|
37,
|
|
226,
|
|
255,
|
|
238,
|
|
226,
|
|
228,
|
|
255,
|
|
204,
|
|
214,
|
|
129,
|
|
254,
|
|
162,
|
|
123,
|
|
100,
|
|
255,
|
|
185,
|
|
121,
|
|
234,
|
|
0,
|
|
45,
|
|
108,
|
|
231,
|
|
0,
|
|
66,
|
|
8,
|
|
56,
|
|
255,
|
|
132,
|
|
136,
|
|
128,
|
|
0,
|
|
172,
|
|
224,
|
|
66,
|
|
254,
|
|
175,
|
|
157,
|
|
188,
|
|
0,
|
|
230,
|
|
223,
|
|
226,
|
|
254,
|
|
242,
|
|
219,
|
|
69,
|
|
0,
|
|
184,
|
|
14,
|
|
119,
|
|
1,
|
|
82,
|
|
162,
|
|
56,
|
|
0,
|
|
114,
|
|
123,
|
|
20,
|
|
0,
|
|
162,
|
|
103,
|
|
85,
|
|
255,
|
|
49,
|
|
239,
|
|
99,
|
|
254,
|
|
156,
|
|
135,
|
|
215,
|
|
0,
|
|
111,
|
|
255,
|
|
167,
|
|
254,
|
|
39,
|
|
196,
|
|
214,
|
|
0,
|
|
144,
|
|
38,
|
|
79,
|
|
1,
|
|
249,
|
|
168,
|
|
125,
|
|
0,
|
|
155,
|
|
97,
|
|
156,
|
|
255,
|
|
23,
|
|
52,
|
|
219,
|
|
255,
|
|
150,
|
|
22,
|
|
144,
|
|
0,
|
|
44,
|
|
149,
|
|
165,
|
|
255,
|
|
40,
|
|
127,
|
|
183,
|
|
0,
|
|
196,
|
|
77,
|
|
233,
|
|
255,
|
|
118,
|
|
129,
|
|
210,
|
|
255,
|
|
170,
|
|
135,
|
|
230,
|
|
255,
|
|
214,
|
|
119,
|
|
198,
|
|
0,
|
|
233,
|
|
240,
|
|
35,
|
|
0,
|
|
253,
|
|
52,
|
|
7,
|
|
255,
|
|
117,
|
|
102,
|
|
48,
|
|
255,
|
|
21,
|
|
204,
|
|
154,
|
|
255,
|
|
179,
|
|
136,
|
|
177,
|
|
255,
|
|
23,
|
|
2,
|
|
3,
|
|
1,
|
|
149,
|
|
130,
|
|
89,
|
|
255,
|
|
252,
|
|
17,
|
|
159,
|
|
1,
|
|
70,
|
|
60,
|
|
26,
|
|
0,
|
|
144,
|
|
107,
|
|
17,
|
|
0,
|
|
180,
|
|
190,
|
|
60,
|
|
255,
|
|
56,
|
|
182,
|
|
59,
|
|
255,
|
|
110,
|
|
71,
|
|
54,
|
|
255,
|
|
198,
|
|
18,
|
|
129,
|
|
255,
|
|
149,
|
|
224,
|
|
87,
|
|
255,
|
|
223,
|
|
21,
|
|
152,
|
|
255,
|
|
138,
|
|
22,
|
|
182,
|
|
255,
|
|
250,
|
|
156,
|
|
205,
|
|
0,
|
|
236,
|
|
45,
|
|
208,
|
|
255,
|
|
79,
|
|
148,
|
|
242,
|
|
1,
|
|
101,
|
|
70,
|
|
209,
|
|
0,
|
|
103,
|
|
78,
|
|
174,
|
|
0,
|
|
101,
|
|
144,
|
|
172,
|
|
255,
|
|
152,
|
|
136,
|
|
237,
|
|
1,
|
|
191,
|
|
194,
|
|
136,
|
|
0,
|
|
113,
|
|
80,
|
|
125,
|
|
1,
|
|
152,
|
|
4,
|
|
141,
|
|
0,
|
|
155,
|
|
150,
|
|
53,
|
|
255,
|
|
196,
|
|
116,
|
|
245,
|
|
0,
|
|
239,
|
|
114,
|
|
73,
|
|
254,
|
|
19,
|
|
82,
|
|
17,
|
|
255,
|
|
124,
|
|
125,
|
|
234,
|
|
255,
|
|
40,
|
|
52,
|
|
191,
|
|
0,
|
|
42,
|
|
210,
|
|
158,
|
|
255,
|
|
155,
|
|
132,
|
|
165,
|
|
0,
|
|
178,
|
|
5,
|
|
42,
|
|
1,
|
|
64,
|
|
92,
|
|
40,
|
|
255,
|
|
36,
|
|
85,
|
|
77,
|
|
255,
|
|
178,
|
|
228,
|
|
118,
|
|
0,
|
|
137,
|
|
66,
|
|
96,
|
|
254,
|
|
115,
|
|
226,
|
|
66,
|
|
0,
|
|
110,
|
|
240,
|
|
69,
|
|
254,
|
|
151,
|
|
111,
|
|
80,
|
|
0,
|
|
167,
|
|
174,
|
|
236,
|
|
255,
|
|
227,
|
|
108,
|
|
107,
|
|
255,
|
|
188,
|
|
242,
|
|
65,
|
|
255,
|
|
183,
|
|
81,
|
|
255,
|
|
0,
|
|
57,
|
|
206,
|
|
181,
|
|
255,
|
|
47,
|
|
34,
|
|
181,
|
|
255,
|
|
213,
|
|
240,
|
|
158,
|
|
1,
|
|
71,
|
|
75,
|
|
95,
|
|
0,
|
|
156,
|
|
40,
|
|
24,
|
|
255,
|
|
102,
|
|
210,
|
|
81,
|
|
0,
|
|
171,
|
|
199,
|
|
228,
|
|
255,
|
|
154,
|
|
34,
|
|
41,
|
|
0,
|
|
227,
|
|
175,
|
|
75,
|
|
0,
|
|
21,
|
|
239,
|
|
195,
|
|
0,
|
|
138,
|
|
229,
|
|
95,
|
|
1,
|
|
76,
|
|
192,
|
|
49,
|
|
0,
|
|
117,
|
|
123,
|
|
87,
|
|
1,
|
|
227,
|
|
225,
|
|
130,
|
|
0,
|
|
125,
|
|
62,
|
|
63,
|
|
255,
|
|
2,
|
|
198,
|
|
171,
|
|
0,
|
|
254,
|
|
36,
|
|
13,
|
|
254,
|
|
145,
|
|
186,
|
|
206,
|
|
0,
|
|
148,
|
|
255,
|
|
244,
|
|
255,
|
|
35,
|
|
0,
|
|
166,
|
|
0,
|
|
30,
|
|
150,
|
|
219,
|
|
1,
|
|
92,
|
|
228,
|
|
212,
|
|
0,
|
|
92,
|
|
198,
|
|
60,
|
|
254,
|
|
62,
|
|
133,
|
|
200,
|
|
255,
|
|
201,
|
|
41,
|
|
59,
|
|
0,
|
|
125,
|
|
238,
|
|
109,
|
|
255,
|
|
180,
|
|
163,
|
|
238,
|
|
1,
|
|
140,
|
|
122,
|
|
82,
|
|
0,
|
|
9,
|
|
22,
|
|
88,
|
|
255,
|
|
197,
|
|
157,
|
|
47,
|
|
255,
|
|
153,
|
|
94,
|
|
57,
|
|
0,
|
|
88,
|
|
30,
|
|
182,
|
|
0,
|
|
84,
|
|
161,
|
|
85,
|
|
0,
|
|
178,
|
|
146,
|
|
124,
|
|
0,
|
|
166,
|
|
166,
|
|
7,
|
|
255,
|
|
21,
|
|
208,
|
|
223,
|
|
0,
|
|
156,
|
|
182,
|
|
242,
|
|
0,
|
|
155,
|
|
121,
|
|
185,
|
|
0,
|
|
83,
|
|
156,
|
|
174,
|
|
254,
|
|
154,
|
|
16,
|
|
118,
|
|
255,
|
|
186,
|
|
83,
|
|
232,
|
|
1,
|
|
223,
|
|
58,
|
|
121,
|
|
255,
|
|
29,
|
|
23,
|
|
88,
|
|
0,
|
|
35,
|
|
125,
|
|
127,
|
|
255,
|
|
170,
|
|
5,
|
|
149,
|
|
254,
|
|
164,
|
|
12,
|
|
130,
|
|
255,
|
|
155,
|
|
196,
|
|
29,
|
|
0,
|
|
161,
|
|
96,
|
|
136,
|
|
0,
|
|
7,
|
|
35,
|
|
29,
|
|
1,
|
|
162,
|
|
37,
|
|
251,
|
|
0,
|
|
3,
|
|
46,
|
|
242,
|
|
255,
|
|
0,
|
|
217,
|
|
188,
|
|
0,
|
|
57,
|
|
174,
|
|
226,
|
|
1,
|
|
206,
|
|
233,
|
|
2,
|
|
0,
|
|
57,
|
|
187,
|
|
136,
|
|
254,
|
|
123,
|
|
189,
|
|
9,
|
|
255,
|
|
201,
|
|
117,
|
|
127,
|
|
255,
|
|
186,
|
|
36,
|
|
204,
|
|
0,
|
|
231,
|
|
25,
|
|
216,
|
|
0,
|
|
80,
|
|
78,
|
|
105,
|
|
0,
|
|
19,
|
|
134,
|
|
129,
|
|
255,
|
|
148,
|
|
203,
|
|
68,
|
|
0,
|
|
141,
|
|
81,
|
|
125,
|
|
254,
|
|
248,
|
|
165,
|
|
200,
|
|
255,
|
|
214,
|
|
144,
|
|
135,
|
|
0,
|
|
151,
|
|
55,
|
|
166,
|
|
255,
|
|
38,
|
|
235,
|
|
91,
|
|
0,
|
|
21,
|
|
46,
|
|
154,
|
|
0,
|
|
223,
|
|
254,
|
|
150,
|
|
255,
|
|
35,
|
|
153,
|
|
180,
|
|
255,
|
|
125,
|
|
176,
|
|
29,
|
|
1,
|
|
43,
|
|
98,
|
|
30,
|
|
255,
|
|
216,
|
|
122,
|
|
230,
|
|
255,
|
|
233,
|
|
160,
|
|
12,
|
|
0,
|
|
57,
|
|
185,
|
|
12,
|
|
254,
|
|
240,
|
|
113,
|
|
7,
|
|
255,
|
|
5,
|
|
9,
|
|
16,
|
|
254,
|
|
26,
|
|
91,
|
|
108,
|
|
0,
|
|
109,
|
|
198,
|
|
203,
|
|
0,
|
|
8,
|
|
147,
|
|
40,
|
|
0,
|
|
129,
|
|
134,
|
|
228,
|
|
255,
|
|
124,
|
|
186,
|
|
40,
|
|
255,
|
|
114,
|
|
98,
|
|
132,
|
|
254,
|
|
166,
|
|
132,
|
|
23,
|
|
0,
|
|
99,
|
|
69,
|
|
44,
|
|
0,
|
|
9,
|
|
242,
|
|
238,
|
|
255,
|
|
184,
|
|
53,
|
|
59,
|
|
0,
|
|
132,
|
|
129,
|
|
102,
|
|
255,
|
|
52,
|
|
32,
|
|
243,
|
|
254,
|
|
147,
|
|
223,
|
|
200,
|
|
255,
|
|
123,
|
|
83,
|
|
179,
|
|
254,
|
|
135,
|
|
144,
|
|
201,
|
|
255,
|
|
141,
|
|
37,
|
|
56,
|
|
1,
|
|
151,
|
|
60,
|
|
227,
|
|
255,
|
|
90,
|
|
73,
|
|
156,
|
|
1,
|
|
203,
|
|
172,
|
|
187,
|
|
0,
|
|
80,
|
|
151,
|
|
47,
|
|
255,
|
|
94,
|
|
137,
|
|
231,
|
|
255,
|
|
36,
|
|
191,
|
|
59,
|
|
255,
|
|
225,
|
|
209,
|
|
181,
|
|
255,
|
|
74,
|
|
215,
|
|
213,
|
|
254,
|
|
6,
|
|
118,
|
|
179,
|
|
255,
|
|
153,
|
|
54,
|
|
193,
|
|
1,
|
|
50,
|
|
0,
|
|
231,
|
|
0,
|
|
104,
|
|
157,
|
|
72,
|
|
1,
|
|
140,
|
|
227,
|
|
154,
|
|
255,
|
|
182,
|
|
226,
|
|
16,
|
|
254,
|
|
96,
|
|
225,
|
|
92,
|
|
255,
|
|
115,
|
|
20,
|
|
170,
|
|
254,
|
|
6,
|
|
250,
|
|
78,
|
|
0,
|
|
248,
|
|
75,
|
|
173,
|
|
255,
|
|
53,
|
|
89,
|
|
6,
|
|
255,
|
|
0,
|
|
180,
|
|
118,
|
|
0,
|
|
72,
|
|
173,
|
|
1,
|
|
0,
|
|
64,
|
|
8,
|
|
206,
|
|
1,
|
|
174,
|
|
133,
|
|
223,
|
|
0,
|
|
185,
|
|
62,
|
|
133,
|
|
255,
|
|
214,
|
|
11,
|
|
98,
|
|
0,
|
|
197,
|
|
31,
|
|
208,
|
|
0,
|
|
171,
|
|
167,
|
|
244,
|
|
255,
|
|
22,
|
|
231,
|
|
181,
|
|
1,
|
|
150,
|
|
218,
|
|
185,
|
|
0,
|
|
247,
|
|
169,
|
|
97,
|
|
1,
|
|
165,
|
|
139,
|
|
247,
|
|
255,
|
|
47,
|
|
120,
|
|
149,
|
|
1,
|
|
103,
|
|
248,
|
|
51,
|
|
0,
|
|
60,
|
|
69,
|
|
28,
|
|
254,
|
|
25,
|
|
179,
|
|
196,
|
|
0,
|
|
124,
|
|
7,
|
|
218,
|
|
254,
|
|
58,
|
|
107,
|
|
81,
|
|
0,
|
|
184,
|
|
233,
|
|
156,
|
|
255,
|
|
252,
|
|
74,
|
|
36,
|
|
0,
|
|
118,
|
|
188,
|
|
67,
|
|
0,
|
|
141,
|
|
95,
|
|
53,
|
|
255,
|
|
222,
|
|
94,
|
|
165,
|
|
254,
|
|
46,
|
|
61,
|
|
53,
|
|
0,
|
|
206,
|
|
59,
|
|
115,
|
|
255,
|
|
47,
|
|
236,
|
|
250,
|
|
255,
|
|
74,
|
|
5,
|
|
32,
|
|
1,
|
|
129,
|
|
154,
|
|
238,
|
|
255,
|
|
106,
|
|
32,
|
|
226,
|
|
0,
|
|
121,
|
|
187,
|
|
61,
|
|
255,
|
|
3,
|
|
166,
|
|
241,
|
|
254,
|
|
67,
|
|
170,
|
|
172,
|
|
255,
|
|
29,
|
|
216,
|
|
178,
|
|
255,
|
|
23,
|
|
201,
|
|
252,
|
|
0,
|
|
253,
|
|
110,
|
|
243,
|
|
0,
|
|
200,
|
|
125,
|
|
57,
|
|
0,
|
|
109,
|
|
192,
|
|
96,
|
|
255,
|
|
52,
|
|
115,
|
|
238,
|
|
0,
|
|
38,
|
|
121,
|
|
243,
|
|
255,
|
|
201,
|
|
56,
|
|
33,
|
|
0,
|
|
194,
|
|
118,
|
|
130,
|
|
0,
|
|
75,
|
|
96,
|
|
25,
|
|
255,
|
|
170,
|
|
30,
|
|
230,
|
|
254,
|
|
39,
|
|
63,
|
|
253,
|
|
0,
|
|
36,
|
|
45,
|
|
250,
|
|
255,
|
|
251,
|
|
1,
|
|
239,
|
|
0,
|
|
160,
|
|
212,
|
|
92,
|
|
1,
|
|
45,
|
|
209,
|
|
237,
|
|
0,
|
|
243,
|
|
33,
|
|
87,
|
|
254,
|
|
237,
|
|
84,
|
|
201,
|
|
255,
|
|
212,
|
|
18,
|
|
157,
|
|
254,
|
|
212,
|
|
99,
|
|
127,
|
|
255,
|
|
217,
|
|
98,
|
|
16,
|
|
254,
|
|
139,
|
|
172,
|
|
239,
|
|
0,
|
|
168,
|
|
201,
|
|
130,
|
|
255,
|
|
143,
|
|
193,
|
|
169,
|
|
255,
|
|
238,
|
|
151,
|
|
193,
|
|
1,
|
|
215,
|
|
104,
|
|
41,
|
|
0,
|
|
239,
|
|
61,
|
|
165,
|
|
254,
|
|
2,
|
|
3,
|
|
242,
|
|
0,
|
|
22,
|
|
203,
|
|
177,
|
|
254,
|
|
177,
|
|
204,
|
|
22,
|
|
0,
|
|
149,
|
|
129,
|
|
213,
|
|
254,
|
|
31,
|
|
11,
|
|
41,
|
|
255,
|
|
0,
|
|
159,
|
|
121,
|
|
254,
|
|
160,
|
|
25,
|
|
114,
|
|
255,
|
|
162,
|
|
80,
|
|
200,
|
|
0,
|
|
157,
|
|
151,
|
|
11,
|
|
0,
|
|
154,
|
|
134,
|
|
78,
|
|
1,
|
|
216,
|
|
54,
|
|
252,
|
|
0,
|
|
48,
|
|
103,
|
|
133,
|
|
0,
|
|
105,
|
|
220,
|
|
197,
|
|
0,
|
|
253,
|
|
168,
|
|
77,
|
|
254,
|
|
53,
|
|
179,
|
|
23,
|
|
0,
|
|
24,
|
|
121,
|
|
240,
|
|
1,
|
|
255,
|
|
46,
|
|
96,
|
|
255,
|
|
107,
|
|
60,
|
|
135,
|
|
254,
|
|
98,
|
|
205,
|
|
249,
|
|
255,
|
|
63,
|
|
249,
|
|
119,
|
|
255,
|
|
120,
|
|
59,
|
|
211,
|
|
255,
|
|
114,
|
|
180,
|
|
55,
|
|
254,
|
|
91,
|
|
85,
|
|
237,
|
|
0,
|
|
149,
|
|
212,
|
|
77,
|
|
1,
|
|
56,
|
|
73,
|
|
49,
|
|
0,
|
|
86,
|
|
198,
|
|
150,
|
|
0,
|
|
93,
|
|
209,
|
|
160,
|
|
0,
|
|
69,
|
|
205,
|
|
182,
|
|
255,
|
|
244,
|
|
90,
|
|
43,
|
|
0,
|
|
20,
|
|
36,
|
|
176,
|
|
0,
|
|
122,
|
|
116,
|
|
221,
|
|
0,
|
|
51,
|
|
167,
|
|
39,
|
|
1,
|
|
231,
|
|
1,
|
|
63,
|
|
255,
|
|
13,
|
|
197,
|
|
134,
|
|
0,
|
|
3,
|
|
209,
|
|
34,
|
|
255,
|
|
135,
|
|
59,
|
|
202,
|
|
0,
|
|
167,
|
|
100,
|
|
78,
|
|
0,
|
|
47,
|
|
223,
|
|
76,
|
|
0,
|
|
185,
|
|
60,
|
|
62,
|
|
0,
|
|
178,
|
|
166,
|
|
123,
|
|
1,
|
|
132,
|
|
12,
|
|
161,
|
|
255,
|
|
61,
|
|
174,
|
|
43,
|
|
0,
|
|
195,
|
|
69,
|
|
144,
|
|
0,
|
|
127,
|
|
47,
|
|
191,
|
|
1,
|
|
34,
|
|
44,
|
|
78,
|
|
0,
|
|
57,
|
|
234,
|
|
52,
|
|
1,
|
|
255,
|
|
22,
|
|
40,
|
|
255,
|
|
246,
|
|
94,
|
|
146,
|
|
0,
|
|
83,
|
|
228,
|
|
128,
|
|
0,
|
|
60,
|
|
78,
|
|
224,
|
|
255,
|
|
0,
|
|
96,
|
|
210,
|
|
255,
|
|
153,
|
|
175,
|
|
236,
|
|
0,
|
|
159,
|
|
21,
|
|
73,
|
|
0,
|
|
180,
|
|
115,
|
|
196,
|
|
254,
|
|
131,
|
|
225,
|
|
106,
|
|
0,
|
|
255,
|
|
167,
|
|
134,
|
|
0,
|
|
159,
|
|
8,
|
|
112,
|
|
255,
|
|
120,
|
|
68,
|
|
194,
|
|
255,
|
|
176,
|
|
196,
|
|
198,
|
|
255,
|
|
118,
|
|
48,
|
|
168,
|
|
255,
|
|
93,
|
|
169,
|
|
1,
|
|
0,
|
|
112,
|
|
200,
|
|
102,
|
|
1,
|
|
74,
|
|
24,
|
|
254,
|
|
0,
|
|
19,
|
|
141,
|
|
4,
|
|
254,
|
|
142,
|
|
62,
|
|
63,
|
|
0,
|
|
131,
|
|
179,
|
|
187,
|
|
255,
|
|
77,
|
|
156,
|
|
155,
|
|
255,
|
|
119,
|
|
86,
|
|
164,
|
|
0,
|
|
170,
|
|
208,
|
|
146,
|
|
255,
|
|
208,
|
|
133,
|
|
154,
|
|
255,
|
|
148,
|
|
155,
|
|
58,
|
|
255,
|
|
162,
|
|
120,
|
|
232,
|
|
254,
|
|
252,
|
|
213,
|
|
155,
|
|
0,
|
|
241,
|
|
13,
|
|
42,
|
|
0,
|
|
94,
|
|
50,
|
|
131,
|
|
0,
|
|
179,
|
|
170,
|
|
112,
|
|
0,
|
|
140,
|
|
83,
|
|
151,
|
|
255,
|
|
55,
|
|
119,
|
|
84,
|
|
1,
|
|
140,
|
|
35,
|
|
239,
|
|
255,
|
|
153,
|
|
45,
|
|
67,
|
|
1,
|
|
236,
|
|
175,
|
|
39,
|
|
0,
|
|
54,
|
|
151,
|
|
103,
|
|
255,
|
|
158,
|
|
42,
|
|
65,
|
|
255,
|
|
196,
|
|
239,
|
|
135,
|
|
254,
|
|
86,
|
|
53,
|
|
203,
|
|
0,
|
|
149,
|
|
97,
|
|
47,
|
|
254,
|
|
216,
|
|
35,
|
|
17,
|
|
255,
|
|
70,
|
|
3,
|
|
70,
|
|
1,
|
|
103,
|
|
36,
|
|
90,
|
|
255,
|
|
40,
|
|
26,
|
|
173,
|
|
0,
|
|
184,
|
|
48,
|
|
13,
|
|
0,
|
|
163,
|
|
219,
|
|
217,
|
|
255,
|
|
81,
|
|
6,
|
|
1,
|
|
255,
|
|
221,
|
|
170,
|
|
108,
|
|
254,
|
|
233,
|
|
208,
|
|
93,
|
|
0,
|
|
100,
|
|
201,
|
|
249,
|
|
254,
|
|
86,
|
|
36,
|
|
35,
|
|
255,
|
|
209,
|
|
154,
|
|
30,
|
|
1,
|
|
227,
|
|
201,
|
|
251,
|
|
255,
|
|
2,
|
|
189,
|
|
167,
|
|
254,
|
|
100,
|
|
57,
|
|
3,
|
|
0,
|
|
13,
|
|
128,
|
|
41,
|
|
0,
|
|
197,
|
|
100,
|
|
75,
|
|
0,
|
|
150,
|
|
204,
|
|
235,
|
|
255,
|
|
145,
|
|
174,
|
|
59,
|
|
0,
|
|
120,
|
|
248,
|
|
149,
|
|
255,
|
|
85,
|
|
55,
|
|
225,
|
|
0,
|
|
114,
|
|
210,
|
|
53,
|
|
254,
|
|
199,
|
|
204,
|
|
119,
|
|
0,
|
|
14,
|
|
247,
|
|
74,
|
|
1,
|
|
63,
|
|
251,
|
|
129,
|
|
0,
|
|
67,
|
|
104,
|
|
151,
|
|
1,
|
|
135,
|
|
130,
|
|
80,
|
|
0,
|
|
79,
|
|
89,
|
|
55,
|
|
255,
|
|
117,
|
|
230,
|
|
157,
|
|
255,
|
|
25,
|
|
96,
|
|
143,
|
|
0,
|
|
213,
|
|
145,
|
|
5,
|
|
0,
|
|
69,
|
|
241,
|
|
120,
|
|
1,
|
|
149,
|
|
243,
|
|
95,
|
|
255,
|
|
114,
|
|
42,
|
|
20,
|
|
0,
|
|
131,
|
|
72,
|
|
2,
|
|
0,
|
|
154,
|
|
53,
|
|
20,
|
|
255,
|
|
73,
|
|
62,
|
|
109,
|
|
0,
|
|
196,
|
|
102,
|
|
152,
|
|
0,
|
|
41,
|
|
12,
|
|
204,
|
|
255,
|
|
122,
|
|
38,
|
|
11,
|
|
1,
|
|
250,
|
|
10,
|
|
145,
|
|
0,
|
|
207,
|
|
125,
|
|
148,
|
|
0,
|
|
246,
|
|
244,
|
|
222,
|
|
255,
|
|
41,
|
|
32,
|
|
85,
|
|
1,
|
|
112,
|
|
213,
|
|
126,
|
|
0,
|
|
162,
|
|
249,
|
|
86,
|
|
1,
|
|
71,
|
|
198,
|
|
127,
|
|
255,
|
|
81,
|
|
9,
|
|
21,
|
|
1,
|
|
98,
|
|
39,
|
|
4,
|
|
255,
|
|
204,
|
|
71,
|
|
45,
|
|
1,
|
|
75,
|
|
111,
|
|
137,
|
|
0,
|
|
234,
|
|
59,
|
|
231,
|
|
0,
|
|
32,
|
|
48,
|
|
95,
|
|
255,
|
|
204,
|
|
31,
|
|
114,
|
|
1,
|
|
29,
|
|
196,
|
|
181,
|
|
255,
|
|
51,
|
|
241,
|
|
167,
|
|
254,
|
|
93,
|
|
109,
|
|
142,
|
|
0,
|
|
104,
|
|
144,
|
|
45,
|
|
0,
|
|
235,
|
|
12,
|
|
181,
|
|
255,
|
|
52,
|
|
112,
|
|
164,
|
|
0,
|
|
76,
|
|
254,
|
|
202,
|
|
255,
|
|
174,
|
|
14,
|
|
162,
|
|
0,
|
|
61,
|
|
235,
|
|
147,
|
|
255,
|
|
43,
|
|
64,
|
|
185,
|
|
254,
|
|
233,
|
|
125,
|
|
217,
|
|
0,
|
|
243,
|
|
88,
|
|
167,
|
|
254,
|
|
74,
|
|
49,
|
|
8,
|
|
0,
|
|
156,
|
|
204,
|
|
66,
|
|
0,
|
|
124,
|
|
214,
|
|
123,
|
|
0,
|
|
38,
|
|
221,
|
|
118,
|
|
1,
|
|
146,
|
|
112,
|
|
236,
|
|
0,
|
|
114,
|
|
98,
|
|
177,
|
|
0,
|
|
151,
|
|
89,
|
|
199,
|
|
0,
|
|
87,
|
|
197,
|
|
112,
|
|
0,
|
|
185,
|
|
149,
|
|
161,
|
|
0,
|
|
44,
|
|
96,
|
|
165,
|
|
0,
|
|
248,
|
|
179,
|
|
20,
|
|
255,
|
|
188,
|
|
219,
|
|
216,
|
|
254,
|
|
40,
|
|
62,
|
|
13,
|
|
0,
|
|
243,
|
|
142,
|
|
141,
|
|
0,
|
|
229,
|
|
227,
|
|
206,
|
|
255,
|
|
172,
|
|
202,
|
|
35,
|
|
255,
|
|
117,
|
|
176,
|
|
225,
|
|
255,
|
|
82,
|
|
110,
|
|
38,
|
|
1,
|
|
42,
|
|
245,
|
|
14,
|
|
255,
|
|
20,
|
|
83,
|
|
97,
|
|
0,
|
|
49,
|
|
171,
|
|
10,
|
|
0,
|
|
242,
|
|
119,
|
|
120,
|
|
0,
|
|
25,
|
|
232,
|
|
61,
|
|
0,
|
|
212,
|
|
240,
|
|
147,
|
|
255,
|
|
4,
|
|
115,
|
|
56,
|
|
255,
|
|
145,
|
|
17,
|
|
239,
|
|
254,
|
|
202,
|
|
17,
|
|
251,
|
|
255,
|
|
249,
|
|
18,
|
|
245,
|
|
255,
|
|
99,
|
|
117,
|
|
239,
|
|
0,
|
|
184,
|
|
4,
|
|
179,
|
|
255,
|
|
246,
|
|
237,
|
|
51,
|
|
255,
|
|
37,
|
|
239,
|
|
137,
|
|
255,
|
|
166,
|
|
112,
|
|
166,
|
|
255,
|
|
81,
|
|
188,
|
|
33,
|
|
255,
|
|
185,
|
|
250,
|
|
142,
|
|
255,
|
|
54,
|
|
187,
|
|
173,
|
|
0,
|
|
208,
|
|
112,
|
|
201,
|
|
0,
|
|
246,
|
|
43,
|
|
228,
|
|
1,
|
|
104,
|
|
184,
|
|
88,
|
|
255,
|
|
212,
|
|
52,
|
|
196,
|
|
255,
|
|
51,
|
|
117,
|
|
108,
|
|
255,
|
|
254,
|
|
117,
|
|
155,
|
|
0,
|
|
46,
|
|
91,
|
|
15,
|
|
255,
|
|
87,
|
|
14,
|
|
144,
|
|
255,
|
|
87,
|
|
227,
|
|
204,
|
|
0,
|
|
83,
|
|
26,
|
|
83,
|
|
1,
|
|
159,
|
|
76,
|
|
227,
|
|
0,
|
|
159,
|
|
27,
|
|
213,
|
|
1,
|
|
24,
|
|
151,
|
|
108,
|
|
0,
|
|
117,
|
|
144,
|
|
179,
|
|
254,
|
|
137,
|
|
209,
|
|
82,
|
|
0,
|
|
38,
|
|
159,
|
|
10,
|
|
0,
|
|
115,
|
|
133,
|
|
201,
|
|
0,
|
|
223,
|
|
182,
|
|
156,
|
|
1,
|
|
110,
|
|
196,
|
|
93,
|
|
255,
|
|
57,
|
|
60,
|
|
233,
|
|
0,
|
|
5,
|
|
167,
|
|
105,
|
|
255,
|
|
154,
|
|
197,
|
|
164,
|
|
0,
|
|
96,
|
|
34,
|
|
186,
|
|
255,
|
|
147,
|
|
133,
|
|
37,
|
|
1,
|
|
220,
|
|
99,
|
|
190,
|
|
0,
|
|
1,
|
|
167,
|
|
84,
|
|
255,
|
|
20,
|
|
145,
|
|
171,
|
|
0,
|
|
194,
|
|
197,
|
|
251,
|
|
254,
|
|
95,
|
|
78,
|
|
133,
|
|
255,
|
|
252,
|
|
248,
|
|
243,
|
|
255,
|
|
225,
|
|
93,
|
|
131,
|
|
255,
|
|
187,
|
|
134,
|
|
196,
|
|
255,
|
|
216,
|
|
153,
|
|
170,
|
|
0,
|
|
20,
|
|
118,
|
|
158,
|
|
254,
|
|
140,
|
|
1,
|
|
118,
|
|
0,
|
|
86,
|
|
158,
|
|
15,
|
|
1,
|
|
45,
|
|
211,
|
|
41,
|
|
255,
|
|
147,
|
|
1,
|
|
100,
|
|
254,
|
|
113,
|
|
116,
|
|
76,
|
|
255,
|
|
211,
|
|
127,
|
|
108,
|
|
1,
|
|
103,
|
|
15,
|
|
48,
|
|
0,
|
|
193,
|
|
16,
|
|
102,
|
|
1,
|
|
69,
|
|
51,
|
|
95,
|
|
255,
|
|
107,
|
|
128,
|
|
157,
|
|
0,
|
|
137,
|
|
171,
|
|
233,
|
|
0,
|
|
90,
|
|
124,
|
|
144,
|
|
1,
|
|
106,
|
|
161,
|
|
182,
|
|
0,
|
|
175,
|
|
76,
|
|
236,
|
|
1,
|
|
200,
|
|
141,
|
|
172,
|
|
255,
|
|
163,
|
|
58,
|
|
104,
|
|
0,
|
|
233,
|
|
180,
|
|
52,
|
|
255,
|
|
240,
|
|
253,
|
|
14,
|
|
255,
|
|
162,
|
|
113,
|
|
254,
|
|
255,
|
|
38,
|
|
239,
|
|
138,
|
|
254,
|
|
52,
|
|
46,
|
|
166,
|
|
0,
|
|
241,
|
|
101,
|
|
33,
|
|
254,
|
|
131,
|
|
186,
|
|
156,
|
|
0,
|
|
111,
|
|
208,
|
|
62,
|
|
255,
|
|
124,
|
|
94,
|
|
160,
|
|
255,
|
|
31,
|
|
172,
|
|
254,
|
|
0,
|
|
112,
|
|
174,
|
|
56,
|
|
255,
|
|
188,
|
|
99,
|
|
27,
|
|
255,
|
|
67,
|
|
138,
|
|
251,
|
|
0,
|
|
125,
|
|
58,
|
|
128,
|
|
1,
|
|
156,
|
|
152,
|
|
174,
|
|
255,
|
|
178,
|
|
12,
|
|
247,
|
|
255,
|
|
252,
|
|
84,
|
|
158,
|
|
0,
|
|
82,
|
|
197,
|
|
14,
|
|
254,
|
|
172,
|
|
200,
|
|
83,
|
|
255,
|
|
37,
|
|
39,
|
|
46,
|
|
1,
|
|
106,
|
|
207,
|
|
167,
|
|
0,
|
|
24,
|
|
189,
|
|
34,
|
|
0,
|
|
131,
|
|
178,
|
|
144,
|
|
0,
|
|
206,
|
|
213,
|
|
4,
|
|
0,
|
|
161,
|
|
226,
|
|
210,
|
|
0,
|
|
72,
|
|
51,
|
|
105,
|
|
255,
|
|
97,
|
|
45,
|
|
187,
|
|
255,
|
|
78,
|
|
184,
|
|
223,
|
|
255,
|
|
176,
|
|
29,
|
|
251,
|
|
0,
|
|
79,
|
|
160,
|
|
86,
|
|
255,
|
|
116,
|
|
37,
|
|
178,
|
|
0,
|
|
82,
|
|
77,
|
|
213,
|
|
1,
|
|
82,
|
|
84,
|
|
141,
|
|
255,
|
|
226,
|
|
101,
|
|
212,
|
|
1,
|
|
175,
|
|
88,
|
|
199,
|
|
255,
|
|
245,
|
|
94,
|
|
247,
|
|
1,
|
|
172,
|
|
118,
|
|
109,
|
|
255,
|
|
166,
|
|
185,
|
|
190,
|
|
0,
|
|
131,
|
|
181,
|
|
120,
|
|
0,
|
|
87,
|
|
254,
|
|
93,
|
|
255,
|
|
134,
|
|
240,
|
|
73,
|
|
255,
|
|
32,
|
|
245,
|
|
143,
|
|
255,
|
|
139,
|
|
162,
|
|
103,
|
|
255,
|
|
179,
|
|
98,
|
|
18,
|
|
254,
|
|
217,
|
|
204,
|
|
112,
|
|
0,
|
|
147,
|
|
223,
|
|
120,
|
|
255,
|
|
53,
|
|
10,
|
|
243,
|
|
0,
|
|
166,
|
|
140,
|
|
150,
|
|
0,
|
|
125,
|
|
80,
|
|
200,
|
|
255,
|
|
14,
|
|
109,
|
|
219,
|
|
255,
|
|
91,
|
|
218,
|
|
1,
|
|
255,
|
|
252,
|
|
252,
|
|
47,
|
|
254,
|
|
109,
|
|
156,
|
|
116,
|
|
255,
|
|
115,
|
|
49,
|
|
127,
|
|
1,
|
|
204,
|
|
87,
|
|
211,
|
|
255,
|
|
148,
|
|
202,
|
|
217,
|
|
255,
|
|
26,
|
|
85,
|
|
249,
|
|
255,
|
|
14,
|
|
245,
|
|
134,
|
|
1,
|
|
76,
|
|
89,
|
|
169,
|
|
255,
|
|
242,
|
|
45,
|
|
230,
|
|
0,
|
|
59,
|
|
98,
|
|
172,
|
|
255,
|
|
114,
|
|
73,
|
|
132,
|
|
254,
|
|
78,
|
|
155,
|
|
49,
|
|
255,
|
|
158,
|
|
126,
|
|
84,
|
|
0,
|
|
49,
|
|
175,
|
|
43,
|
|
255,
|
|
16,
|
|
182,
|
|
84,
|
|
255,
|
|
157,
|
|
103,
|
|
35,
|
|
0,
|
|
104,
|
|
193,
|
|
109,
|
|
255,
|
|
67,
|
|
221,
|
|
154,
|
|
0,
|
|
201,
|
|
172,
|
|
1,
|
|
254,
|
|
8,
|
|
162,
|
|
88,
|
|
0,
|
|
165,
|
|
1,
|
|
29,
|
|
255,
|
|
125,
|
|
155,
|
|
229,
|
|
255,
|
|
30,
|
|
154,
|
|
220,
|
|
1,
|
|
103,
|
|
239,
|
|
92,
|
|
0,
|
|
220,
|
|
1,
|
|
109,
|
|
255,
|
|
202,
|
|
198,
|
|
1,
|
|
0,
|
|
94,
|
|
2,
|
|
142,
|
|
1,
|
|
36,
|
|
54,
|
|
44,
|
|
0,
|
|
235,
|
|
226,
|
|
158,
|
|
255,
|
|
170,
|
|
251,
|
|
214,
|
|
255,
|
|
185,
|
|
77,
|
|
9,
|
|
0,
|
|
97,
|
|
74,
|
|
242,
|
|
0,
|
|
219,
|
|
163,
|
|
149,
|
|
255,
|
|
240,
|
|
35,
|
|
118,
|
|
255,
|
|
223,
|
|
114,
|
|
88,
|
|
254,
|
|
192,
|
|
199,
|
|
3,
|
|
0,
|
|
106,
|
|
37,
|
|
24,
|
|
255,
|
|
201,
|
|
161,
|
|
118,
|
|
255,
|
|
97,
|
|
89,
|
|
99,
|
|
1,
|
|
224,
|
|
58,
|
|
103,
|
|
255,
|
|
101,
|
|
199,
|
|
147,
|
|
254,
|
|
222,
|
|
60,
|
|
99,
|
|
0,
|
|
234,
|
|
25,
|
|
59,
|
|
1,
|
|
52,
|
|
135,
|
|
27,
|
|
0,
|
|
102,
|
|
3,
|
|
91,
|
|
254,
|
|
168,
|
|
216,
|
|
235,
|
|
0,
|
|
229,
|
|
232,
|
|
136,
|
|
0,
|
|
104,
|
|
60,
|
|
129,
|
|
0,
|
|
46,
|
|
168,
|
|
238,
|
|
0,
|
|
39,
|
|
191,
|
|
67,
|
|
0,
|
|
75,
|
|
163,
|
|
47,
|
|
0,
|
|
143,
|
|
97,
|
|
98,
|
|
255,
|
|
56,
|
|
216,
|
|
168,
|
|
1,
|
|
168,
|
|
233,
|
|
252,
|
|
255,
|
|
35,
|
|
111,
|
|
22,
|
|
255,
|
|
92,
|
|
84,
|
|
43,
|
|
0,
|
|
26,
|
|
200,
|
|
87,
|
|
1,
|
|
91,
|
|
253,
|
|
152,
|
|
0,
|
|
202,
|
|
56,
|
|
70,
|
|
0,
|
|
142,
|
|
8,
|
|
77,
|
|
0,
|
|
80,
|
|
10,
|
|
175,
|
|
1,
|
|
252,
|
|
199,
|
|
76,
|
|
0,
|
|
22,
|
|
110,
|
|
82,
|
|
255,
|
|
129,
|
|
1,
|
|
194,
|
|
0,
|
|
11,
|
|
128,
|
|
61,
|
|
1,
|
|
87,
|
|
14,
|
|
145,
|
|
255,
|
|
253,
|
|
222,
|
|
190,
|
|
1,
|
|
15,
|
|
72,
|
|
174,
|
|
0,
|
|
85,
|
|
163,
|
|
86,
|
|
254,
|
|
58,
|
|
99,
|
|
44,
|
|
255,
|
|
45,
|
|
24,
|
|
188,
|
|
254,
|
|
26,
|
|
205,
|
|
15,
|
|
0,
|
|
19,
|
|
229,
|
|
210,
|
|
254,
|
|
248,
|
|
67,
|
|
195,
|
|
0,
|
|
99,
|
|
71,
|
|
184,
|
|
0,
|
|
154,
|
|
199,
|
|
37,
|
|
255,
|
|
151,
|
|
243,
|
|
121,
|
|
255,
|
|
38,
|
|
51,
|
|
75,
|
|
255,
|
|
201,
|
|
85,
|
|
130,
|
|
254,
|
|
44,
|
|
65,
|
|
250,
|
|
0,
|
|
57,
|
|
147,
|
|
243,
|
|
254,
|
|
146,
|
|
43,
|
|
59,
|
|
255,
|
|
89,
|
|
28,
|
|
53,
|
|
0,
|
|
33,
|
|
84,
|
|
24,
|
|
255,
|
|
179,
|
|
51,
|
|
18,
|
|
254,
|
|
189,
|
|
70,
|
|
83,
|
|
0,
|
|
11,
|
|
156,
|
|
179,
|
|
1,
|
|
98,
|
|
134,
|
|
119,
|
|
0,
|
|
158,
|
|
111,
|
|
111,
|
|
0,
|
|
119,
|
|
154,
|
|
73,
|
|
255,
|
|
200,
|
|
63,
|
|
140,
|
|
254,
|
|
45,
|
|
13,
|
|
13,
|
|
255,
|
|
154,
|
|
192,
|
|
2,
|
|
254,
|
|
81,
|
|
72,
|
|
42,
|
|
0,
|
|
46,
|
|
160,
|
|
185,
|
|
254,
|
|
44,
|
|
112,
|
|
6,
|
|
0,
|
|
146,
|
|
215,
|
|
149,
|
|
1,
|
|
26,
|
|
176,
|
|
104,
|
|
0,
|
|
68,
|
|
28,
|
|
87,
|
|
1,
|
|
236,
|
|
50,
|
|
153,
|
|
255,
|
|
179,
|
|
128,
|
|
250,
|
|
254,
|
|
206,
|
|
193,
|
|
191,
|
|
255,
|
|
166,
|
|
92,
|
|
137,
|
|
254,
|
|
53,
|
|
40,
|
|
239,
|
|
0,
|
|
210,
|
|
1,
|
|
204,
|
|
254,
|
|
168,
|
|
173,
|
|
35,
|
|
0,
|
|
141,
|
|
243,
|
|
45,
|
|
1,
|
|
36,
|
|
50,
|
|
109,
|
|
255,
|
|
15,
|
|
242,
|
|
194,
|
|
255,
|
|
227,
|
|
159,
|
|
122,
|
|
255,
|
|
176,
|
|
175,
|
|
202,
|
|
254,
|
|
70,
|
|
57,
|
|
72,
|
|
0,
|
|
40,
|
|
223,
|
|
56,
|
|
0,
|
|
208,
|
|
162,
|
|
58,
|
|
255,
|
|
183,
|
|
98,
|
|
93,
|
|
0,
|
|
15,
|
|
111,
|
|
12,
|
|
0,
|
|
30,
|
|
8,
|
|
76,
|
|
255,
|
|
132,
|
|
127,
|
|
246,
|
|
255,
|
|
45,
|
|
242,
|
|
103,
|
|
0,
|
|
69,
|
|
181,
|
|
15,
|
|
255,
|
|
10,
|
|
209,
|
|
30,
|
|
0,
|
|
3,
|
|
179,
|
|
121,
|
|
0,
|
|
241,
|
|
232,
|
|
218,
|
|
1,
|
|
123,
|
|
199,
|
|
88,
|
|
255,
|
|
2,
|
|
210,
|
|
202,
|
|
1,
|
|
188,
|
|
130,
|
|
81,
|
|
255,
|
|
94,
|
|
101,
|
|
208,
|
|
1,
|
|
103,
|
|
36,
|
|
45,
|
|
0,
|
|
76,
|
|
193,
|
|
24,
|
|
1,
|
|
95,
|
|
26,
|
|
241,
|
|
255,
|
|
165,
|
|
162,
|
|
187,
|
|
0,
|
|
36,
|
|
114,
|
|
140,
|
|
0,
|
|
202,
|
|
66,
|
|
5,
|
|
255,
|
|
37,
|
|
56,
|
|
147,
|
|
0,
|
|
152,
|
|
11,
|
|
243,
|
|
1,
|
|
127,
|
|
85,
|
|
232,
|
|
255,
|
|
250,
|
|
135,
|
|
212,
|
|
1,
|
|
185,
|
|
177,
|
|
113,
|
|
0,
|
|
90,
|
|
220,
|
|
75,
|
|
255,
|
|
69,
|
|
248,
|
|
146,
|
|
0,
|
|
50,
|
|
111,
|
|
50,
|
|
0,
|
|
92,
|
|
22,
|
|
80,
|
|
0,
|
|
244,
|
|
36,
|
|
115,
|
|
254,
|
|
163,
|
|
100,
|
|
82,
|
|
255,
|
|
25,
|
|
193,
|
|
6,
|
|
1,
|
|
127,
|
|
61,
|
|
36,
|
|
0,
|
|
253,
|
|
67,
|
|
30,
|
|
254,
|
|
65,
|
|
236,
|
|
170,
|
|
255,
|
|
161,
|
|
17,
|
|
215,
|
|
254,
|
|
63,
|
|
175,
|
|
140,
|
|
0,
|
|
55,
|
|
127,
|
|
4,
|
|
0,
|
|
79,
|
|
112,
|
|
233,
|
|
0,
|
|
109,
|
|
160,
|
|
40,
|
|
0,
|
|
143,
|
|
83,
|
|
7,
|
|
255,
|
|
65,
|
|
26,
|
|
238,
|
|
255,
|
|
217,
|
|
169,
|
|
140,
|
|
255,
|
|
78,
|
|
94,
|
|
189,
|
|
255,
|
|
0,
|
|
147,
|
|
190,
|
|
255,
|
|
147,
|
|
71,
|
|
186,
|
|
254,
|
|
106,
|
|
77,
|
|
127,
|
|
255,
|
|
233,
|
|
157,
|
|
233,
|
|
1,
|
|
135,
|
|
87,
|
|
237,
|
|
255,
|
|
208,
|
|
13,
|
|
236,
|
|
1,
|
|
155,
|
|
109,
|
|
36,
|
|
255,
|
|
180,
|
|
100,
|
|
218,
|
|
0,
|
|
180,
|
|
163,
|
|
18,
|
|
0,
|
|
190,
|
|
110,
|
|
9,
|
|
1,
|
|
17,
|
|
63,
|
|
123,
|
|
255,
|
|
179,
|
|
136,
|
|
180,
|
|
255,
|
|
165,
|
|
123,
|
|
123,
|
|
255,
|
|
144,
|
|
188,
|
|
81,
|
|
254,
|
|
71,
|
|
240,
|
|
108,
|
|
255,
|
|
25,
|
|
112,
|
|
11,
|
|
255,
|
|
227,
|
|
218,
|
|
51,
|
|
255,
|
|
167,
|
|
50,
|
|
234,
|
|
255,
|
|
114,
|
|
79,
|
|
108,
|
|
255,
|
|
31,
|
|
19,
|
|
115,
|
|
255,
|
|
183,
|
|
240,
|
|
99,
|
|
0,
|
|
227,
|
|
87,
|
|
143,
|
|
255,
|
|
72,
|
|
217,
|
|
248,
|
|
255,
|
|
102,
|
|
169,
|
|
95,
|
|
1,
|
|
129,
|
|
149,
|
|
149,
|
|
0,
|
|
238,
|
|
133,
|
|
12,
|
|
1,
|
|
227,
|
|
204,
|
|
35,
|
|
0,
|
|
208,
|
|
115,
|
|
26,
|
|
1,
|
|
102,
|
|
8,
|
|
234,
|
|
0,
|
|
112,
|
|
88,
|
|
143,
|
|
1,
|
|
144,
|
|
249,
|
|
14,
|
|
0,
|
|
240,
|
|
158,
|
|
172,
|
|
254,
|
|
100,
|
|
112,
|
|
119,
|
|
0,
|
|
194,
|
|
141,
|
|
153,
|
|
254,
|
|
40,
|
|
56,
|
|
83,
|
|
255,
|
|
121,
|
|
176,
|
|
46,
|
|
0,
|
|
42,
|
|
53,
|
|
76,
|
|
255,
|
|
158,
|
|
191,
|
|
154,
|
|
0,
|
|
91,
|
|
209,
|
|
92,
|
|
0,
|
|
173,
|
|
13,
|
|
16,
|
|
1,
|
|
5,
|
|
72,
|
|
226,
|
|
255,
|
|
204,
|
|
254,
|
|
149,
|
|
0,
|
|
80,
|
|
184,
|
|
207,
|
|
0,
|
|
100,
|
|
9,
|
|
122,
|
|
254,
|
|
118,
|
|
101,
|
|
171,
|
|
255,
|
|
252,
|
|
203,
|
|
0,
|
|
254,
|
|
160,
|
|
207,
|
|
54,
|
|
0,
|
|
56,
|
|
72,
|
|
249,
|
|
1,
|
|
56,
|
|
140,
|
|
13,
|
|
255,
|
|
10,
|
|
64,
|
|
107,
|
|
254,
|
|
91,
|
|
101,
|
|
52,
|
|
255,
|
|
225,
|
|
181,
|
|
248,
|
|
1,
|
|
139,
|
|
255,
|
|
132,
|
|
0,
|
|
230,
|
|
145,
|
|
17,
|
|
0,
|
|
233,
|
|
56,
|
|
23,
|
|
0,
|
|
119,
|
|
1,
|
|
241,
|
|
255,
|
|
213,
|
|
169,
|
|
151,
|
|
255,
|
|
99,
|
|
99,
|
|
9,
|
|
254,
|
|
185,
|
|
15,
|
|
191,
|
|
255,
|
|
173,
|
|
103,
|
|
109,
|
|
1,
|
|
174,
|
|
13,
|
|
251,
|
|
255,
|
|
178,
|
|
88,
|
|
7,
|
|
254,
|
|
27,
|
|
59,
|
|
68,
|
|
255,
|
|
10,
|
|
33,
|
|
2,
|
|
255,
|
|
248,
|
|
97,
|
|
59,
|
|
0,
|
|
26,
|
|
30,
|
|
146,
|
|
1,
|
|
176,
|
|
147,
|
|
10,
|
|
0,
|
|
95,
|
|
121,
|
|
207,
|
|
1,
|
|
188,
|
|
88,
|
|
24,
|
|
0,
|
|
185,
|
|
94,
|
|
254,
|
|
254,
|
|
115,
|
|
55,
|
|
201,
|
|
0,
|
|
24,
|
|
50,
|
|
70,
|
|
0,
|
|
120,
|
|
53,
|
|
6,
|
|
0,
|
|
142,
|
|
66,
|
|
146,
|
|
0,
|
|
228,
|
|
226,
|
|
249,
|
|
255,
|
|
104,
|
|
192,
|
|
222,
|
|
1,
|
|
173,
|
|
68,
|
|
219,
|
|
0,
|
|
162,
|
|
184,
|
|
36,
|
|
255,
|
|
143,
|
|
102,
|
|
137,
|
|
255,
|
|
157,
|
|
11,
|
|
23,
|
|
0,
|
|
125,
|
|
45,
|
|
98,
|
|
0,
|
|
235,
|
|
93,
|
|
225,
|
|
254,
|
|
56,
|
|
112,
|
|
160,
|
|
255,
|
|
70,
|
|
116,
|
|
243,
|
|
1,
|
|
153,
|
|
249,
|
|
55,
|
|
255,
|
|
129,
|
|
39,
|
|
17,
|
|
1,
|
|
241,
|
|
80,
|
|
244,
|
|
0,
|
|
87,
|
|
69,
|
|
21,
|
|
1,
|
|
94,
|
|
228,
|
|
73,
|
|
255,
|
|
78,
|
|
66,
|
|
65,
|
|
255,
|
|
194,
|
|
227,
|
|
231,
|
|
0,
|
|
61,
|
|
146,
|
|
87,
|
|
255,
|
|
173,
|
|
155,
|
|
23,
|
|
255,
|
|
112,
|
|
116,
|
|
219,
|
|
254,
|
|
216,
|
|
38,
|
|
11,
|
|
255,
|
|
131,
|
|
186,
|
|
133,
|
|
0,
|
|
94,
|
|
212,
|
|
187,
|
|
0,
|
|
100,
|
|
47,
|
|
91,
|
|
0,
|
|
204,
|
|
254,
|
|
175,
|
|
255,
|
|
222,
|
|
18,
|
|
215,
|
|
254,
|
|
173,
|
|
68,
|
|
108,
|
|
255,
|
|
227,
|
|
228,
|
|
79,
|
|
255,
|
|
38,
|
|
221,
|
|
213,
|
|
0,
|
|
163,
|
|
227,
|
|
150,
|
|
254,
|
|
31,
|
|
190,
|
|
18,
|
|
0,
|
|
160,
|
|
179,
|
|
11,
|
|
1,
|
|
10,
|
|
90,
|
|
94,
|
|
255,
|
|
220,
|
|
174,
|
|
88,
|
|
0,
|
|
163,
|
|
211,
|
|
229,
|
|
255,
|
|
199,
|
|
136,
|
|
52,
|
|
0,
|
|
130,
|
|
95,
|
|
221,
|
|
255,
|
|
140,
|
|
188,
|
|
231,
|
|
254,
|
|
139,
|
|
113,
|
|
128,
|
|
255,
|
|
117,
|
|
171,
|
|
236,
|
|
254,
|
|
49,
|
|
220,
|
|
20,
|
|
255,
|
|
59,
|
|
20,
|
|
171,
|
|
255,
|
|
228,
|
|
109,
|
|
188,
|
|
0,
|
|
20,
|
|
225,
|
|
32,
|
|
254,
|
|
195,
|
|
16,
|
|
174,
|
|
0,
|
|
227,
|
|
254,
|
|
136,
|
|
1,
|
|
135,
|
|
39,
|
|
105,
|
|
0,
|
|
150,
|
|
77,
|
|
206,
|
|
255,
|
|
210,
|
|
238,
|
|
226,
|
|
0,
|
|
55,
|
|
212,
|
|
132,
|
|
254,
|
|
239,
|
|
57,
|
|
124,
|
|
0,
|
|
170,
|
|
194,
|
|
93,
|
|
255,
|
|
249,
|
|
16,
|
|
247,
|
|
255,
|
|
24,
|
|
151,
|
|
62,
|
|
255,
|
|
10,
|
|
151,
|
|
10,
|
|
0,
|
|
79,
|
|
139,
|
|
178,
|
|
255,
|
|
120,
|
|
242,
|
|
202,
|
|
0,
|
|
26,
|
|
219,
|
|
213,
|
|
0,
|
|
62,
|
|
125,
|
|
35,
|
|
255,
|
|
144,
|
|
2,
|
|
108,
|
|
255,
|
|
230,
|
|
33,
|
|
83,
|
|
255,
|
|
81,
|
|
45,
|
|
216,
|
|
1,
|
|
224,
|
|
62,
|
|
17,
|
|
0,
|
|
214,
|
|
217,
|
|
125,
|
|
0,
|
|
98,
|
|
153,
|
|
153,
|
|
255,
|
|
],
|
|
'i8',
|
|
ALLOC_NONE,
|
|
Runtime.GLOBAL_BASE + 10240
|
|
);
|
|
/* memory initializer */ allocate(
|
|
[
|
|
179,
|
|
176,
|
|
106,
|
|
254,
|
|
131,
|
|
93,
|
|
138,
|
|
255,
|
|
109,
|
|
62,
|
|
36,
|
|
255,
|
|
178,
|
|
121,
|
|
32,
|
|
255,
|
|
120,
|
|
252,
|
|
70,
|
|
0,
|
|
220,
|
|
248,
|
|
37,
|
|
0,
|
|
204,
|
|
88,
|
|
103,
|
|
1,
|
|
128,
|
|
220,
|
|
251,
|
|
255,
|
|
236,
|
|
227,
|
|
7,
|
|
1,
|
|
106,
|
|
49,
|
|
198,
|
|
255,
|
|
60,
|
|
56,
|
|
107,
|
|
0,
|
|
99,
|
|
114,
|
|
238,
|
|
0,
|
|
220,
|
|
204,
|
|
94,
|
|
1,
|
|
73,
|
|
187,
|
|
1,
|
|
0,
|
|
89,
|
|
154,
|
|
34,
|
|
0,
|
|
78,
|
|
217,
|
|
165,
|
|
255,
|
|
14,
|
|
195,
|
|
249,
|
|
255,
|
|
9,
|
|
230,
|
|
253,
|
|
255,
|
|
205,
|
|
135,
|
|
245,
|
|
0,
|
|
26,
|
|
252,
|
|
7,
|
|
255,
|
|
84,
|
|
205,
|
|
27,
|
|
1,
|
|
134,
|
|
2,
|
|
112,
|
|
0,
|
|
37,
|
|
158,
|
|
32,
|
|
0,
|
|
231,
|
|
91,
|
|
237,
|
|
255,
|
|
191,
|
|
170,
|
|
204,
|
|
255,
|
|
152,
|
|
7,
|
|
222,
|
|
0,
|
|
109,
|
|
192,
|
|
49,
|
|
0,
|
|
193,
|
|
166,
|
|
146,
|
|
255,
|
|
232,
|
|
19,
|
|
181,
|
|
255,
|
|
105,
|
|
142,
|
|
52,
|
|
255,
|
|
103,
|
|
16,
|
|
27,
|
|
1,
|
|
253,
|
|
200,
|
|
165,
|
|
0,
|
|
195,
|
|
217,
|
|
4,
|
|
255,
|
|
52,
|
|
189,
|
|
144,
|
|
255,
|
|
123,
|
|
155,
|
|
160,
|
|
254,
|
|
87,
|
|
130,
|
|
54,
|
|
255,
|
|
78,
|
|
120,
|
|
61,
|
|
255,
|
|
14,
|
|
56,
|
|
41,
|
|
0,
|
|
25,
|
|
41,
|
|
125,
|
|
255,
|
|
87,
|
|
168,
|
|
245,
|
|
0,
|
|
214,
|
|
165,
|
|
70,
|
|
0,
|
|
212,
|
|
169,
|
|
6,
|
|
255,
|
|
219,
|
|
211,
|
|
194,
|
|
254,
|
|
72,
|
|
93,
|
|
164,
|
|
255,
|
|
197,
|
|
33,
|
|
103,
|
|
255,
|
|
43,
|
|
142,
|
|
141,
|
|
0,
|
|
131,
|
|
225,
|
|
172,
|
|
0,
|
|
244,
|
|
105,
|
|
28,
|
|
0,
|
|
68,
|
|
68,
|
|
225,
|
|
0,
|
|
136,
|
|
84,
|
|
13,
|
|
255,
|
|
130,
|
|
57,
|
|
40,
|
|
254,
|
|
139,
|
|
77,
|
|
56,
|
|
0,
|
|
84,
|
|
150,
|
|
53,
|
|
0,
|
|
54,
|
|
95,
|
|
157,
|
|
0,
|
|
144,
|
|
13,
|
|
177,
|
|
254,
|
|
95,
|
|
115,
|
|
186,
|
|
0,
|
|
117,
|
|
23,
|
|
118,
|
|
255,
|
|
244,
|
|
166,
|
|
241,
|
|
255,
|
|
11,
|
|
186,
|
|
135,
|
|
0,
|
|
178,
|
|
106,
|
|
203,
|
|
255,
|
|
97,
|
|
218,
|
|
93,
|
|
0,
|
|
43,
|
|
253,
|
|
45,
|
|
0,
|
|
164,
|
|
152,
|
|
4,
|
|
0,
|
|
139,
|
|
118,
|
|
239,
|
|
0,
|
|
96,
|
|
1,
|
|
24,
|
|
254,
|
|
235,
|
|
153,
|
|
211,
|
|
255,
|
|
168,
|
|
110,
|
|
20,
|
|
255,
|
|
50,
|
|
239,
|
|
176,
|
|
0,
|
|
114,
|
|
41,
|
|
232,
|
|
0,
|
|
193,
|
|
250,
|
|
53,
|
|
0,
|
|
254,
|
|
160,
|
|
111,
|
|
254,
|
|
136,
|
|
122,
|
|
41,
|
|
255,
|
|
97,
|
|
108,
|
|
67,
|
|
0,
|
|
215,
|
|
152,
|
|
23,
|
|
255,
|
|
140,
|
|
209,
|
|
212,
|
|
0,
|
|
42,
|
|
189,
|
|
163,
|
|
0,
|
|
202,
|
|
42,
|
|
50,
|
|
255,
|
|
106,
|
|
106,
|
|
189,
|
|
255,
|
|
190,
|
|
68,
|
|
217,
|
|
255,
|
|
233,
|
|
58,
|
|
117,
|
|
0,
|
|
229,
|
|
220,
|
|
243,
|
|
1,
|
|
197,
|
|
3,
|
|
4,
|
|
0,
|
|
37,
|
|
120,
|
|
54,
|
|
254,
|
|
4,
|
|
156,
|
|
134,
|
|
255,
|
|
36,
|
|
61,
|
|
171,
|
|
254,
|
|
165,
|
|
136,
|
|
100,
|
|
255,
|
|
212,
|
|
232,
|
|
14,
|
|
0,
|
|
90,
|
|
174,
|
|
10,
|
|
0,
|
|
216,
|
|
198,
|
|
65,
|
|
255,
|
|
12,
|
|
3,
|
|
64,
|
|
0,
|
|
116,
|
|
113,
|
|
115,
|
|
255,
|
|
248,
|
|
103,
|
|
8,
|
|
0,
|
|
231,
|
|
125,
|
|
18,
|
|
255,
|
|
160,
|
|
28,
|
|
197,
|
|
0,
|
|
30,
|
|
184,
|
|
35,
|
|
1,
|
|
223,
|
|
73,
|
|
249,
|
|
255,
|
|
123,
|
|
20,
|
|
46,
|
|
254,
|
|
135,
|
|
56,
|
|
37,
|
|
255,
|
|
173,
|
|
13,
|
|
229,
|
|
1,
|
|
119,
|
|
161,
|
|
34,
|
|
255,
|
|
245,
|
|
61,
|
|
73,
|
|
0,
|
|
205,
|
|
125,
|
|
112,
|
|
0,
|
|
137,
|
|
104,
|
|
134,
|
|
0,
|
|
217,
|
|
246,
|
|
30,
|
|
255,
|
|
237,
|
|
142,
|
|
143,
|
|
0,
|
|
65,
|
|
159,
|
|
102,
|
|
255,
|
|
108,
|
|
164,
|
|
190,
|
|
0,
|
|
219,
|
|
117,
|
|
173,
|
|
255,
|
|
34,
|
|
37,
|
|
120,
|
|
254,
|
|
200,
|
|
69,
|
|
80,
|
|
0,
|
|
31,
|
|
124,
|
|
218,
|
|
254,
|
|
74,
|
|
27,
|
|
160,
|
|
255,
|
|
186,
|
|
154,
|
|
199,
|
|
255,
|
|
71,
|
|
199,
|
|
252,
|
|
0,
|
|
104,
|
|
81,
|
|
159,
|
|
1,
|
|
17,
|
|
200,
|
|
39,
|
|
0,
|
|
211,
|
|
61,
|
|
192,
|
|
1,
|
|
26,
|
|
238,
|
|
91,
|
|
0,
|
|
148,
|
|
217,
|
|
12,
|
|
0,
|
|
59,
|
|
91,
|
|
213,
|
|
255,
|
|
11,
|
|
81,
|
|
183,
|
|
255,
|
|
129,
|
|
230,
|
|
122,
|
|
255,
|
|
114,
|
|
203,
|
|
145,
|
|
1,
|
|
119,
|
|
180,
|
|
66,
|
|
255,
|
|
72,
|
|
138,
|
|
180,
|
|
0,
|
|
224,
|
|
149,
|
|
106,
|
|
0,
|
|
119,
|
|
82,
|
|
104,
|
|
255,
|
|
208,
|
|
140,
|
|
43,
|
|
0,
|
|
98,
|
|
9,
|
|
182,
|
|
255,
|
|
205,
|
|
101,
|
|
134,
|
|
255,
|
|
18,
|
|
101,
|
|
38,
|
|
0,
|
|
95,
|
|
197,
|
|
166,
|
|
255,
|
|
203,
|
|
241,
|
|
147,
|
|
0,
|
|
62,
|
|
208,
|
|
145,
|
|
255,
|
|
133,
|
|
246,
|
|
251,
|
|
0,
|
|
2,
|
|
169,
|
|
14,
|
|
0,
|
|
13,
|
|
247,
|
|
184,
|
|
0,
|
|
142,
|
|
7,
|
|
254,
|
|
0,
|
|
36,
|
|
200,
|
|
23,
|
|
255,
|
|
88,
|
|
205,
|
|
223,
|
|
0,
|
|
91,
|
|
129,
|
|
52,
|
|
255,
|
|
21,
|
|
186,
|
|
30,
|
|
0,
|
|
143,
|
|
228,
|
|
210,
|
|
1,
|
|
247,
|
|
234,
|
|
248,
|
|
255,
|
|
230,
|
|
69,
|
|
31,
|
|
254,
|
|
176,
|
|
186,
|
|
135,
|
|
255,
|
|
238,
|
|
205,
|
|
52,
|
|
1,
|
|
139,
|
|
79,
|
|
43,
|
|
0,
|
|
17,
|
|
176,
|
|
217,
|
|
254,
|
|
32,
|
|
243,
|
|
67,
|
|
0,
|
|
242,
|
|
111,
|
|
233,
|
|
0,
|
|
44,
|
|
35,
|
|
9,
|
|
255,
|
|
227,
|
|
114,
|
|
81,
|
|
1,
|
|
4,
|
|
71,
|
|
12,
|
|
255,
|
|
38,
|
|
105,
|
|
191,
|
|
0,
|
|
7,
|
|
117,
|
|
50,
|
|
255,
|
|
81,
|
|
79,
|
|
16,
|
|
0,
|
|
63,
|
|
68,
|
|
65,
|
|
255,
|
|
157,
|
|
36,
|
|
110,
|
|
255,
|
|
77,
|
|
241,
|
|
3,
|
|
255,
|
|
226,
|
|
45,
|
|
251,
|
|
1,
|
|
142,
|
|
25,
|
|
206,
|
|
0,
|
|
120,
|
|
123,
|
|
209,
|
|
1,
|
|
28,
|
|
254,
|
|
238,
|
|
255,
|
|
5,
|
|
128,
|
|
126,
|
|
255,
|
|
91,
|
|
222,
|
|
215,
|
|
255,
|
|
162,
|
|
15,
|
|
191,
|
|
0,
|
|
86,
|
|
240,
|
|
73,
|
|
0,
|
|
135,
|
|
185,
|
|
81,
|
|
254,
|
|
44,
|
|
241,
|
|
163,
|
|
0,
|
|
212,
|
|
219,
|
|
210,
|
|
255,
|
|
112,
|
|
162,
|
|
155,
|
|
0,
|
|
207,
|
|
101,
|
|
118,
|
|
0,
|
|
168,
|
|
72,
|
|
56,
|
|
255,
|
|
196,
|
|
5,
|
|
52,
|
|
0,
|
|
72,
|
|
172,
|
|
242,
|
|
255,
|
|
126,
|
|
22,
|
|
157,
|
|
255,
|
|
146,
|
|
96,
|
|
59,
|
|
255,
|
|
162,
|
|
121,
|
|
152,
|
|
254,
|
|
140,
|
|
16,
|
|
95,
|
|
0,
|
|
195,
|
|
254,
|
|
200,
|
|
254,
|
|
82,
|
|
150,
|
|
162,
|
|
0,
|
|
119,
|
|
43,
|
|
145,
|
|
254,
|
|
204,
|
|
172,
|
|
78,
|
|
255,
|
|
166,
|
|
224,
|
|
159,
|
|
0,
|
|
104,
|
|
19,
|
|
237,
|
|
255,
|
|
245,
|
|
126,
|
|
208,
|
|
255,
|
|
226,
|
|
59,
|
|
213,
|
|
0,
|
|
117,
|
|
217,
|
|
197,
|
|
0,
|
|
152,
|
|
72,
|
|
237,
|
|
0,
|
|
220,
|
|
31,
|
|
23,
|
|
254,
|
|
14,
|
|
90,
|
|
231,
|
|
255,
|
|
188,
|
|
212,
|
|
64,
|
|
1,
|
|
60,
|
|
101,
|
|
246,
|
|
255,
|
|
85,
|
|
24,
|
|
86,
|
|
0,
|
|
1,
|
|
177,
|
|
109,
|
|
0,
|
|
146,
|
|
83,
|
|
32,
|
|
1,
|
|
75,
|
|
182,
|
|
192,
|
|
0,
|
|
119,
|
|
241,
|
|
224,
|
|
0,
|
|
185,
|
|
237,
|
|
27,
|
|
255,
|
|
184,
|
|
101,
|
|
82,
|
|
1,
|
|
235,
|
|
37,
|
|
77,
|
|
255,
|
|
253,
|
|
134,
|
|
19,
|
|
0,
|
|
232,
|
|
246,
|
|
122,
|
|
0,
|
|
60,
|
|
106,
|
|
179,
|
|
0,
|
|
195,
|
|
11,
|
|
12,
|
|
0,
|
|
109,
|
|
66,
|
|
235,
|
|
1,
|
|
125,
|
|
113,
|
|
59,
|
|
0,
|
|
61,
|
|
40,
|
|
164,
|
|
0,
|
|
175,
|
|
104,
|
|
240,
|
|
0,
|
|
2,
|
|
47,
|
|
187,
|
|
255,
|
|
50,
|
|
12,
|
|
141,
|
|
0,
|
|
194,
|
|
139,
|
|
181,
|
|
255,
|
|
135,
|
|
250,
|
|
104,
|
|
0,
|
|
97,
|
|
92,
|
|
222,
|
|
255,
|
|
217,
|
|
149,
|
|
201,
|
|
255,
|
|
203,
|
|
241,
|
|
118,
|
|
255,
|
|
79,
|
|
151,
|
|
67,
|
|
0,
|
|
122,
|
|
142,
|
|
218,
|
|
255,
|
|
149,
|
|
245,
|
|
239,
|
|
0,
|
|
138,
|
|
42,
|
|
200,
|
|
254,
|
|
80,
|
|
37,
|
|
97,
|
|
255,
|
|
124,
|
|
112,
|
|
167,
|
|
255,
|
|
36,
|
|
138,
|
|
87,
|
|
255,
|
|
130,
|
|
29,
|
|
147,
|
|
255,
|
|
241,
|
|
87,
|
|
78,
|
|
255,
|
|
204,
|
|
97,
|
|
19,
|
|
1,
|
|
177,
|
|
209,
|
|
22,
|
|
255,
|
|
247,
|
|
227,
|
|
127,
|
|
254,
|
|
99,
|
|
119,
|
|
83,
|
|
255,
|
|
212,
|
|
25,
|
|
198,
|
|
1,
|
|
16,
|
|
179,
|
|
179,
|
|
0,
|
|
145,
|
|
77,
|
|
172,
|
|
254,
|
|
89,
|
|
153,
|
|
14,
|
|
255,
|
|
218,
|
|
189,
|
|
167,
|
|
0,
|
|
107,
|
|
233,
|
|
59,
|
|
255,
|
|
35,
|
|
33,
|
|
243,
|
|
254,
|
|
44,
|
|
112,
|
|
112,
|
|
255,
|
|
161,
|
|
127,
|
|
79,
|
|
1,
|
|
204,
|
|
175,
|
|
10,
|
|
0,
|
|
40,
|
|
21,
|
|
138,
|
|
254,
|
|
104,
|
|
116,
|
|
228,
|
|
0,
|
|
199,
|
|
95,
|
|
137,
|
|
255,
|
|
133,
|
|
190,
|
|
168,
|
|
255,
|
|
146,
|
|
165,
|
|
234,
|
|
1,
|
|
183,
|
|
99,
|
|
39,
|
|
0,
|
|
183,
|
|
220,
|
|
54,
|
|
254,
|
|
255,
|
|
222,
|
|
133,
|
|
0,
|
|
162,
|
|
219,
|
|
121,
|
|
254,
|
|
63,
|
|
239,
|
|
6,
|
|
0,
|
|
225,
|
|
102,
|
|
54,
|
|
255,
|
|
251,
|
|
18,
|
|
246,
|
|
0,
|
|
4,
|
|
34,
|
|
129,
|
|
1,
|
|
135,
|
|
36,
|
|
131,
|
|
0,
|
|
206,
|
|
50,
|
|
59,
|
|
1,
|
|
15,
|
|
97,
|
|
183,
|
|
0,
|
|
171,
|
|
216,
|
|
135,
|
|
255,
|
|
101,
|
|
152,
|
|
43,
|
|
255,
|
|
150,
|
|
251,
|
|
91,
|
|
0,
|
|
38,
|
|
145,
|
|
95,
|
|
0,
|
|
34,
|
|
204,
|
|
38,
|
|
254,
|
|
178,
|
|
140,
|
|
83,
|
|
255,
|
|
25,
|
|
129,
|
|
243,
|
|
255,
|
|
76,
|
|
144,
|
|
37,
|
|
0,
|
|
106,
|
|
36,
|
|
26,
|
|
254,
|
|
118,
|
|
144,
|
|
172,
|
|
255,
|
|
68,
|
|
186,
|
|
229,
|
|
255,
|
|
107,
|
|
161,
|
|
213,
|
|
255,
|
|
46,
|
|
163,
|
|
68,
|
|
255,
|
|
149,
|
|
170,
|
|
253,
|
|
0,
|
|
187,
|
|
17,
|
|
15,
|
|
0,
|
|
218,
|
|
160,
|
|
165,
|
|
255,
|
|
171,
|
|
35,
|
|
246,
|
|
1,
|
|
96,
|
|
13,
|
|
19,
|
|
0,
|
|
165,
|
|
203,
|
|
117,
|
|
0,
|
|
214,
|
|
107,
|
|
192,
|
|
255,
|
|
244,
|
|
123,
|
|
177,
|
|
1,
|
|
100,
|
|
3,
|
|
104,
|
|
0,
|
|
178,
|
|
242,
|
|
97,
|
|
255,
|
|
251,
|
|
76,
|
|
130,
|
|
255,
|
|
211,
|
|
77,
|
|
42,
|
|
1,
|
|
250,
|
|
79,
|
|
70,
|
|
255,
|
|
63,
|
|
244,
|
|
80,
|
|
1,
|
|
105,
|
|
101,
|
|
246,
|
|
0,
|
|
61,
|
|
136,
|
|
58,
|
|
1,
|
|
238,
|
|
91,
|
|
213,
|
|
0,
|
|
14,
|
|
59,
|
|
98,
|
|
255,
|
|
167,
|
|
84,
|
|
77,
|
|
0,
|
|
17,
|
|
132,
|
|
46,
|
|
254,
|
|
57,
|
|
175,
|
|
197,
|
|
255,
|
|
185,
|
|
62,
|
|
184,
|
|
0,
|
|
76,
|
|
64,
|
|
207,
|
|
0,
|
|
172,
|
|
175,
|
|
208,
|
|
254,
|
|
175,
|
|
74,
|
|
37,
|
|
0,
|
|
138,
|
|
27,
|
|
211,
|
|
254,
|
|
148,
|
|
125,
|
|
194,
|
|
0,
|
|
10,
|
|
89,
|
|
81,
|
|
0,
|
|
168,
|
|
203,
|
|
101,
|
|
255,
|
|
43,
|
|
213,
|
|
209,
|
|
1,
|
|
235,
|
|
245,
|
|
54,
|
|
0,
|
|
30,
|
|
35,
|
|
226,
|
|
255,
|
|
9,
|
|
126,
|
|
70,
|
|
0,
|
|
226,
|
|
125,
|
|
94,
|
|
254,
|
|
156,
|
|
117,
|
|
20,
|
|
255,
|
|
57,
|
|
248,
|
|
112,
|
|
1,
|
|
230,
|
|
48,
|
|
64,
|
|
255,
|
|
164,
|
|
92,
|
|
166,
|
|
1,
|
|
224,
|
|
214,
|
|
230,
|
|
255,
|
|
36,
|
|
120,
|
|
143,
|
|
0,
|
|
55,
|
|
8,
|
|
43,
|
|
255,
|
|
251,
|
|
1,
|
|
245,
|
|
1,
|
|
106,
|
|
98,
|
|
165,
|
|
0,
|
|
74,
|
|
107,
|
|
106,
|
|
254,
|
|
53,
|
|
4,
|
|
54,
|
|
255,
|
|
90,
|
|
178,
|
|
150,
|
|
1,
|
|
3,
|
|
120,
|
|
123,
|
|
255,
|
|
244,
|
|
5,
|
|
89,
|
|
1,
|
|
114,
|
|
250,
|
|
61,
|
|
255,
|
|
254,
|
|
153,
|
|
82,
|
|
1,
|
|
77,
|
|
15,
|
|
17,
|
|
0,
|
|
57,
|
|
238,
|
|
90,
|
|
1,
|
|
95,
|
|
223,
|
|
230,
|
|
0,
|
|
236,
|
|
52,
|
|
47,
|
|
254,
|
|
103,
|
|
148,
|
|
164,
|
|
255,
|
|
121,
|
|
207,
|
|
36,
|
|
1,
|
|
18,
|
|
16,
|
|
185,
|
|
255,
|
|
75,
|
|
20,
|
|
74,
|
|
0,
|
|
187,
|
|
11,
|
|
101,
|
|
0,
|
|
46,
|
|
48,
|
|
129,
|
|
255,
|
|
22,
|
|
239,
|
|
210,
|
|
255,
|
|
77,
|
|
236,
|
|
129,
|
|
255,
|
|
111,
|
|
77,
|
|
204,
|
|
255,
|
|
61,
|
|
72,
|
|
97,
|
|
255,
|
|
199,
|
|
217,
|
|
251,
|
|
255,
|
|
42,
|
|
215,
|
|
204,
|
|
0,
|
|
133,
|
|
145,
|
|
201,
|
|
255,
|
|
57,
|
|
230,
|
|
146,
|
|
1,
|
|
235,
|
|
100,
|
|
198,
|
|
0,
|
|
146,
|
|
73,
|
|
35,
|
|
254,
|
|
108,
|
|
198,
|
|
20,
|
|
255,
|
|
182,
|
|
79,
|
|
210,
|
|
255,
|
|
82,
|
|
103,
|
|
136,
|
|
0,
|
|
246,
|
|
108,
|
|
176,
|
|
0,
|
|
34,
|
|
17,
|
|
60,
|
|
255,
|
|
19,
|
|
74,
|
|
114,
|
|
254,
|
|
168,
|
|
170,
|
|
78,
|
|
255,
|
|
157,
|
|
239,
|
|
20,
|
|
255,
|
|
149,
|
|
41,
|
|
168,
|
|
0,
|
|
58,
|
|
121,
|
|
28,
|
|
0,
|
|
79,
|
|
179,
|
|
134,
|
|
255,
|
|
231,
|
|
121,
|
|
135,
|
|
255,
|
|
174,
|
|
209,
|
|
98,
|
|
255,
|
|
243,
|
|
122,
|
|
190,
|
|
0,
|
|
171,
|
|
166,
|
|
205,
|
|
0,
|
|
212,
|
|
116,
|
|
48,
|
|
0,
|
|
29,
|
|
108,
|
|
66,
|
|
255,
|
|
162,
|
|
222,
|
|
182,
|
|
1,
|
|
14,
|
|
119,
|
|
21,
|
|
0,
|
|
213,
|
|
39,
|
|
249,
|
|
255,
|
|
254,
|
|
223,
|
|
228,
|
|
255,
|
|
183,
|
|
165,
|
|
198,
|
|
0,
|
|
133,
|
|
190,
|
|
48,
|
|
0,
|
|
124,
|
|
208,
|
|
109,
|
|
255,
|
|
119,
|
|
175,
|
|
85,
|
|
255,
|
|
9,
|
|
209,
|
|
121,
|
|
1,
|
|
48,
|
|
171,
|
|
189,
|
|
255,
|
|
195,
|
|
71,
|
|
134,
|
|
1,
|
|
136,
|
|
219,
|
|
51,
|
|
255,
|
|
182,
|
|
91,
|
|
141,
|
|
254,
|
|
49,
|
|
159,
|
|
72,
|
|
0,
|
|
35,
|
|
118,
|
|
245,
|
|
255,
|
|
112,
|
|
186,
|
|
227,
|
|
255,
|
|
59,
|
|
137,
|
|
31,
|
|
0,
|
|
137,
|
|
44,
|
|
163,
|
|
0,
|
|
114,
|
|
103,
|
|
60,
|
|
254,
|
|
8,
|
|
213,
|
|
150,
|
|
0,
|
|
162,
|
|
10,
|
|
113,
|
|
255,
|
|
194,
|
|
104,
|
|
72,
|
|
0,
|
|
220,
|
|
131,
|
|
116,
|
|
255,
|
|
178,
|
|
79,
|
|
92,
|
|
0,
|
|
203,
|
|
250,
|
|
213,
|
|
254,
|
|
93,
|
|
193,
|
|
189,
|
|
255,
|
|
130,
|
|
255,
|
|
34,
|
|
254,
|
|
212,
|
|
188,
|
|
151,
|
|
0,
|
|
136,
|
|
17,
|
|
20,
|
|
255,
|
|
20,
|
|
101,
|
|
83,
|
|
255,
|
|
212,
|
|
206,
|
|
166,
|
|
0,
|
|
229,
|
|
238,
|
|
73,
|
|
255,
|
|
151,
|
|
74,
|
|
3,
|
|
255,
|
|
168,
|
|
87,
|
|
215,
|
|
0,
|
|
155,
|
|
188,
|
|
133,
|
|
255,
|
|
166,
|
|
129,
|
|
73,
|
|
0,
|
|
240,
|
|
79,
|
|
133,
|
|
255,
|
|
178,
|
|
211,
|
|
81,
|
|
255,
|
|
203,
|
|
72,
|
|
163,
|
|
254,
|
|
193,
|
|
168,
|
|
165,
|
|
0,
|
|
14,
|
|
164,
|
|
199,
|
|
254,
|
|
30,
|
|
255,
|
|
204,
|
|
0,
|
|
65,
|
|
72,
|
|
91,
|
|
1,
|
|
166,
|
|
74,
|
|
102,
|
|
255,
|
|
200,
|
|
42,
|
|
0,
|
|
255,
|
|
194,
|
|
113,
|
|
227,
|
|
255,
|
|
66,
|
|
23,
|
|
208,
|
|
0,
|
|
229,
|
|
216,
|
|
100,
|
|
255,
|
|
24,
|
|
239,
|
|
26,
|
|
0,
|
|
10,
|
|
233,
|
|
62,
|
|
255,
|
|
123,
|
|
10,
|
|
178,
|
|
1,
|
|
26,
|
|
36,
|
|
174,
|
|
255,
|
|
119,
|
|
219,
|
|
199,
|
|
1,
|
|
45,
|
|
163,
|
|
190,
|
|
0,
|
|
16,
|
|
168,
|
|
42,
|
|
0,
|
|
166,
|
|
57,
|
|
198,
|
|
255,
|
|
28,
|
|
26,
|
|
26,
|
|
0,
|
|
126,
|
|
165,
|
|
231,
|
|
0,
|
|
251,
|
|
108,
|
|
100,
|
|
255,
|
|
61,
|
|
229,
|
|
121,
|
|
255,
|
|
58,
|
|
118,
|
|
138,
|
|
0,
|
|
76,
|
|
207,
|
|
17,
|
|
0,
|
|
13,
|
|
34,
|
|
112,
|
|
254,
|
|
89,
|
|
16,
|
|
168,
|
|
0,
|
|
37,
|
|
208,
|
|
105,
|
|
255,
|
|
35,
|
|
201,
|
|
215,
|
|
255,
|
|
40,
|
|
106,
|
|
101,
|
|
254,
|
|
6,
|
|
239,
|
|
114,
|
|
0,
|
|
40,
|
|
103,
|
|
226,
|
|
254,
|
|
246,
|
|
127,
|
|
110,
|
|
255,
|
|
63,
|
|
167,
|
|
58,
|
|
0,
|
|
132,
|
|
240,
|
|
142,
|
|
0,
|
|
5,
|
|
158,
|
|
88,
|
|
255,
|
|
129,
|
|
73,
|
|
158,
|
|
255,
|
|
94,
|
|
89,
|
|
146,
|
|
0,
|
|
230,
|
|
54,
|
|
146,
|
|
0,
|
|
8,
|
|
45,
|
|
173,
|
|
0,
|
|
79,
|
|
169,
|
|
1,
|
|
0,
|
|
115,
|
|
186,
|
|
247,
|
|
0,
|
|
84,
|
|
64,
|
|
131,
|
|
0,
|
|
67,
|
|
224,
|
|
253,
|
|
255,
|
|
207,
|
|
189,
|
|
64,
|
|
0,
|
|
154,
|
|
28,
|
|
81,
|
|
1,
|
|
45,
|
|
184,
|
|
54,
|
|
255,
|
|
87,
|
|
212,
|
|
224,
|
|
255,
|
|
0,
|
|
96,
|
|
73,
|
|
255,
|
|
129,
|
|
33,
|
|
235,
|
|
1,
|
|
52,
|
|
66,
|
|
80,
|
|
255,
|
|
251,
|
|
174,
|
|
155,
|
|
255,
|
|
4,
|
|
179,
|
|
37,
|
|
0,
|
|
234,
|
|
164,
|
|
93,
|
|
254,
|
|
93,
|
|
175,
|
|
253,
|
|
0,
|
|
198,
|
|
69,
|
|
87,
|
|
255,
|
|
224,
|
|
106,
|
|
46,
|
|
0,
|
|
99,
|
|
29,
|
|
210,
|
|
0,
|
|
62,
|
|
188,
|
|
114,
|
|
255,
|
|
44,
|
|
234,
|
|
8,
|
|
0,
|
|
169,
|
|
175,
|
|
247,
|
|
255,
|
|
23,
|
|
109,
|
|
137,
|
|
255,
|
|
229,
|
|
182,
|
|
39,
|
|
0,
|
|
192,
|
|
165,
|
|
94,
|
|
254,
|
|
245,
|
|
101,
|
|
217,
|
|
0,
|
|
191,
|
|
88,
|
|
96,
|
|
0,
|
|
196,
|
|
94,
|
|
99,
|
|
255,
|
|
106,
|
|
238,
|
|
11,
|
|
254,
|
|
53,
|
|
126,
|
|
243,
|
|
0,
|
|
94,
|
|
1,
|
|
101,
|
|
255,
|
|
46,
|
|
147,
|
|
2,
|
|
0,
|
|
201,
|
|
124,
|
|
124,
|
|
255,
|
|
141,
|
|
12,
|
|
218,
|
|
0,
|
|
13,
|
|
166,
|
|
157,
|
|
1,
|
|
48,
|
|
251,
|
|
237,
|
|
255,
|
|
155,
|
|
250,
|
|
124,
|
|
255,
|
|
106,
|
|
148,
|
|
146,
|
|
255,
|
|
182,
|
|
13,
|
|
202,
|
|
0,
|
|
28,
|
|
61,
|
|
167,
|
|
0,
|
|
217,
|
|
152,
|
|
8,
|
|
254,
|
|
220,
|
|
130,
|
|
45,
|
|
255,
|
|
200,
|
|
230,
|
|
255,
|
|
1,
|
|
55,
|
|
65,
|
|
87,
|
|
255,
|
|
93,
|
|
191,
|
|
97,
|
|
254,
|
|
114,
|
|
251,
|
|
14,
|
|
0,
|
|
32,
|
|
105,
|
|
92,
|
|
1,
|
|
26,
|
|
207,
|
|
141,
|
|
0,
|
|
24,
|
|
207,
|
|
13,
|
|
254,
|
|
21,
|
|
50,
|
|
48,
|
|
255,
|
|
186,
|
|
148,
|
|
116,
|
|
255,
|
|
211,
|
|
43,
|
|
225,
|
|
0,
|
|
37,
|
|
34,
|
|
162,
|
|
254,
|
|
164,
|
|
210,
|
|
42,
|
|
255,
|
|
68,
|
|
23,
|
|
96,
|
|
255,
|
|
182,
|
|
214,
|
|
8,
|
|
255,
|
|
245,
|
|
117,
|
|
137,
|
|
255,
|
|
66,
|
|
195,
|
|
50,
|
|
0,
|
|
75,
|
|
12,
|
|
83,
|
|
254,
|
|
80,
|
|
140,
|
|
164,
|
|
0,
|
|
9,
|
|
165,
|
|
36,
|
|
1,
|
|
228,
|
|
110,
|
|
227,
|
|
0,
|
|
241,
|
|
17,
|
|
90,
|
|
1,
|
|
25,
|
|
52,
|
|
212,
|
|
0,
|
|
6,
|
|
223,
|
|
12,
|
|
255,
|
|
139,
|
|
243,
|
|
57,
|
|
0,
|
|
12,
|
|
113,
|
|
75,
|
|
1,
|
|
246,
|
|
183,
|
|
191,
|
|
255,
|
|
213,
|
|
191,
|
|
69,
|
|
255,
|
|
230,
|
|
15,
|
|
142,
|
|
0,
|
|
1,
|
|
195,
|
|
196,
|
|
255,
|
|
138,
|
|
171,
|
|
47,
|
|
255,
|
|
64,
|
|
63,
|
|
106,
|
|
1,
|
|
16,
|
|
169,
|
|
214,
|
|
255,
|
|
207,
|
|
174,
|
|
56,
|
|
1,
|
|
88,
|
|
73,
|
|
133,
|
|
255,
|
|
182,
|
|
133,
|
|
140,
|
|
0,
|
|
177,
|
|
14,
|
|
25,
|
|
255,
|
|
147,
|
|
184,
|
|
53,
|
|
255,
|
|
10,
|
|
227,
|
|
161,
|
|
255,
|
|
120,
|
|
216,
|
|
244,
|
|
255,
|
|
73,
|
|
77,
|
|
233,
|
|
0,
|
|
157,
|
|
238,
|
|
139,
|
|
1,
|
|
59,
|
|
65,
|
|
233,
|
|
0,
|
|
70,
|
|
251,
|
|
216,
|
|
1,
|
|
41,
|
|
184,
|
|
153,
|
|
255,
|
|
32,
|
|
203,
|
|
112,
|
|
0,
|
|
146,
|
|
147,
|
|
253,
|
|
0,
|
|
87,
|
|
101,
|
|
109,
|
|
1,
|
|
44,
|
|
82,
|
|
133,
|
|
255,
|
|
244,
|
|
150,
|
|
53,
|
|
255,
|
|
94,
|
|
152,
|
|
232,
|
|
255,
|
|
59,
|
|
93,
|
|
39,
|
|
255,
|
|
88,
|
|
147,
|
|
220,
|
|
255,
|
|
78,
|
|
81,
|
|
13,
|
|
1,
|
|
32,
|
|
47,
|
|
252,
|
|
255,
|
|
160,
|
|
19,
|
|
114,
|
|
255,
|
|
93,
|
|
107,
|
|
39,
|
|
255,
|
|
118,
|
|
16,
|
|
211,
|
|
1,
|
|
185,
|
|
119,
|
|
209,
|
|
255,
|
|
227,
|
|
219,
|
|
127,
|
|
254,
|
|
88,
|
|
105,
|
|
236,
|
|
255,
|
|
162,
|
|
110,
|
|
23,
|
|
255,
|
|
36,
|
|
166,
|
|
110,
|
|
255,
|
|
91,
|
|
236,
|
|
221,
|
|
255,
|
|
66,
|
|
234,
|
|
116,
|
|
0,
|
|
111,
|
|
19,
|
|
244,
|
|
254,
|
|
10,
|
|
233,
|
|
26,
|
|
0,
|
|
32,
|
|
183,
|
|
6,
|
|
254,
|
|
2,
|
|
191,
|
|
242,
|
|
0,
|
|
218,
|
|
156,
|
|
53,
|
|
254,
|
|
41,
|
|
60,
|
|
70,
|
|
255,
|
|
168,
|
|
236,
|
|
111,
|
|
0,
|
|
121,
|
|
185,
|
|
126,
|
|
255,
|
|
238,
|
|
142,
|
|
207,
|
|
255,
|
|
55,
|
|
126,
|
|
52,
|
|
0,
|
|
220,
|
|
129,
|
|
208,
|
|
254,
|
|
80,
|
|
204,
|
|
164,
|
|
255,
|
|
67,
|
|
23,
|
|
144,
|
|
254,
|
|
218,
|
|
40,
|
|
108,
|
|
255,
|
|
127,
|
|
202,
|
|
164,
|
|
0,
|
|
203,
|
|
33,
|
|
3,
|
|
255,
|
|
2,
|
|
158,
|
|
0,
|
|
0,
|
|
37,
|
|
96,
|
|
188,
|
|
255,
|
|
192,
|
|
49,
|
|
74,
|
|
0,
|
|
109,
|
|
4,
|
|
0,
|
|
0,
|
|
111,
|
|
167,
|
|
10,
|
|
254,
|
|
91,
|
|
218,
|
|
135,
|
|
255,
|
|
203,
|
|
66,
|
|
173,
|
|
255,
|
|
150,
|
|
194,
|
|
226,
|
|
0,
|
|
201,
|
|
253,
|
|
6,
|
|
255,
|
|
174,
|
|
102,
|
|
121,
|
|
0,
|
|
205,
|
|
191,
|
|
110,
|
|
0,
|
|
53,
|
|
194,
|
|
4,
|
|
0,
|
|
81,
|
|
40,
|
|
45,
|
|
254,
|
|
35,
|
|
102,
|
|
143,
|
|
255,
|
|
12,
|
|
108,
|
|
198,
|
|
255,
|
|
16,
|
|
27,
|
|
232,
|
|
255,
|
|
252,
|
|
71,
|
|
186,
|
|
1,
|
|
176,
|
|
110,
|
|
114,
|
|
0,
|
|
142,
|
|
3,
|
|
117,
|
|
1,
|
|
113,
|
|
77,
|
|
142,
|
|
0,
|
|
19,
|
|
156,
|
|
197,
|
|
1,
|
|
92,
|
|
47,
|
|
252,
|
|
0,
|
|
53,
|
|
232,
|
|
22,
|
|
1,
|
|
54,
|
|
18,
|
|
235,
|
|
0,
|
|
46,
|
|
35,
|
|
189,
|
|
255,
|
|
236,
|
|
212,
|
|
129,
|
|
0,
|
|
2,
|
|
96,
|
|
208,
|
|
254,
|
|
200,
|
|
238,
|
|
199,
|
|
255,
|
|
59,
|
|
175,
|
|
164,
|
|
255,
|
|
146,
|
|
43,
|
|
231,
|
|
0,
|
|
194,
|
|
217,
|
|
52,
|
|
255,
|
|
3,
|
|
223,
|
|
12,
|
|
0,
|
|
138,
|
|
54,
|
|
178,
|
|
254,
|
|
85,
|
|
235,
|
|
207,
|
|
0,
|
|
232,
|
|
207,
|
|
34,
|
|
0,
|
|
49,
|
|
52,
|
|
50,
|
|
255,
|
|
166,
|
|
113,
|
|
89,
|
|
255,
|
|
10,
|
|
45,
|
|
216,
|
|
255,
|
|
62,
|
|
173,
|
|
28,
|
|
0,
|
|
111,
|
|
165,
|
|
246,
|
|
0,
|
|
118,
|
|
115,
|
|
91,
|
|
255,
|
|
128,
|
|
84,
|
|
60,
|
|
0,
|
|
167,
|
|
144,
|
|
203,
|
|
0,
|
|
87,
|
|
13,
|
|
243,
|
|
0,
|
|
22,
|
|
30,
|
|
228,
|
|
1,
|
|
177,
|
|
113,
|
|
146,
|
|
255,
|
|
129,
|
|
170,
|
|
230,
|
|
254,
|
|
252,
|
|
153,
|
|
129,
|
|
255,
|
|
145,
|
|
225,
|
|
43,
|
|
0,
|
|
70,
|
|
231,
|
|
5,
|
|
255,
|
|
122,
|
|
105,
|
|
126,
|
|
254,
|
|
86,
|
|
246,
|
|
148,
|
|
255,
|
|
110,
|
|
37,
|
|
154,
|
|
254,
|
|
209,
|
|
3,
|
|
91,
|
|
0,
|
|
68,
|
|
145,
|
|
62,
|
|
0,
|
|
228,
|
|
16,
|
|
165,
|
|
255,
|
|
55,
|
|
221,
|
|
249,
|
|
254,
|
|
178,
|
|
210,
|
|
91,
|
|
0,
|
|
83,
|
|
146,
|
|
226,
|
|
254,
|
|
69,
|
|
146,
|
|
186,
|
|
0,
|
|
93,
|
|
210,
|
|
104,
|
|
254,
|
|
16,
|
|
25,
|
|
173,
|
|
0,
|
|
231,
|
|
186,
|
|
38,
|
|
0,
|
|
189,
|
|
122,
|
|
140,
|
|
255,
|
|
251,
|
|
13,
|
|
112,
|
|
255,
|
|
105,
|
|
110,
|
|
93,
|
|
0,
|
|
251,
|
|
72,
|
|
170,
|
|
0,
|
|
192,
|
|
23,
|
|
223,
|
|
255,
|
|
24,
|
|
3,
|
|
202,
|
|
1,
|
|
225,
|
|
93,
|
|
228,
|
|
0,
|
|
153,
|
|
147,
|
|
199,
|
|
254,
|
|
109,
|
|
170,
|
|
22,
|
|
0,
|
|
248,
|
|
101,
|
|
246,
|
|
255,
|
|
178,
|
|
124,
|
|
12,
|
|
255,
|
|
178,
|
|
254,
|
|
102,
|
|
254,
|
|
55,
|
|
4,
|
|
65,
|
|
0,
|
|
125,
|
|
214,
|
|
180,
|
|
0,
|
|
183,
|
|
96,
|
|
147,
|
|
0,
|
|
45,
|
|
117,
|
|
23,
|
|
254,
|
|
132,
|
|
191,
|
|
249,
|
|
0,
|
|
143,
|
|
176,
|
|
203,
|
|
254,
|
|
136,
|
|
183,
|
|
54,
|
|
255,
|
|
146,
|
|
234,
|
|
177,
|
|
0,
|
|
146,
|
|
101,
|
|
86,
|
|
255,
|
|
44,
|
|
123,
|
|
143,
|
|
1,
|
|
33,
|
|
209,
|
|
152,
|
|
0,
|
|
192,
|
|
90,
|
|
41,
|
|
254,
|
|
83,
|
|
15,
|
|
125,
|
|
255,
|
|
213,
|
|
172,
|
|
82,
|
|
0,
|
|
215,
|
|
169,
|
|
144,
|
|
0,
|
|
16,
|
|
13,
|
|
34,
|
|
0,
|
|
32,
|
|
209,
|
|
100,
|
|
255,
|
|
84,
|
|
18,
|
|
249,
|
|
1,
|
|
197,
|
|
17,
|
|
236,
|
|
255,
|
|
217,
|
|
186,
|
|
230,
|
|
0,
|
|
49,
|
|
160,
|
|
176,
|
|
255,
|
|
111,
|
|
118,
|
|
97,
|
|
255,
|
|
237,
|
|
104,
|
|
235,
|
|
0,
|
|
79,
|
|
59,
|
|
92,
|
|
254,
|
|
69,
|
|
249,
|
|
11,
|
|
255,
|
|
35,
|
|
172,
|
|
74,
|
|
1,
|
|
19,
|
|
118,
|
|
68,
|
|
0,
|
|
222,
|
|
124,
|
|
165,
|
|
255,
|
|
180,
|
|
66,
|
|
35,
|
|
255,
|
|
86,
|
|
174,
|
|
246,
|
|
0,
|
|
43,
|
|
74,
|
|
111,
|
|
255,
|
|
126,
|
|
144,
|
|
86,
|
|
255,
|
|
228,
|
|
234,
|
|
91,
|
|
0,
|
|
242,
|
|
213,
|
|
24,
|
|
254,
|
|
69,
|
|
44,
|
|
235,
|
|
255,
|
|
220,
|
|
180,
|
|
35,
|
|
0,
|
|
8,
|
|
248,
|
|
7,
|
|
255,
|
|
102,
|
|
47,
|
|
92,
|
|
255,
|
|
240,
|
|
205,
|
|
102,
|
|
255,
|
|
113,
|
|
230,
|
|
171,
|
|
1,
|
|
31,
|
|
185,
|
|
201,
|
|
255,
|
|
194,
|
|
246,
|
|
70,
|
|
255,
|
|
122,
|
|
17,
|
|
187,
|
|
0,
|
|
134,
|
|
70,
|
|
199,
|
|
255,
|
|
149,
|
|
3,
|
|
150,
|
|
255,
|
|
117,
|
|
63,
|
|
103,
|
|
0,
|
|
65,
|
|
104,
|
|
123,
|
|
255,
|
|
212,
|
|
54,
|
|
19,
|
|
1,
|
|
6,
|
|
141,
|
|
88,
|
|
0,
|
|
83,
|
|
134,
|
|
243,
|
|
255,
|
|
136,
|
|
53,
|
|
103,
|
|
0,
|
|
169,
|
|
27,
|
|
180,
|
|
0,
|
|
177,
|
|
49,
|
|
24,
|
|
0,
|
|
111,
|
|
54,
|
|
167,
|
|
0,
|
|
195,
|
|
61,
|
|
215,
|
|
255,
|
|
31,
|
|
1,
|
|
108,
|
|
1,
|
|
60,
|
|
42,
|
|
70,
|
|
0,
|
|
185,
|
|
3,
|
|
162,
|
|
255,
|
|
194,
|
|
149,
|
|
40,
|
|
255,
|
|
246,
|
|
127,
|
|
38,
|
|
254,
|
|
190,
|
|
119,
|
|
38,
|
|
255,
|
|
61,
|
|
119,
|
|
8,
|
|
1,
|
|
96,
|
|
161,
|
|
219,
|
|
255,
|
|
42,
|
|
203,
|
|
221,
|
|
1,
|
|
177,
|
|
242,
|
|
164,
|
|
255,
|
|
245,
|
|
159,
|
|
10,
|
|
0,
|
|
116,
|
|
196,
|
|
0,
|
|
0,
|
|
5,
|
|
93,
|
|
205,
|
|
254,
|
|
128,
|
|
127,
|
|
179,
|
|
0,
|
|
125,
|
|
237,
|
|
246,
|
|
255,
|
|
149,
|
|
162,
|
|
217,
|
|
255,
|
|
87,
|
|
37,
|
|
20,
|
|
254,
|
|
140,
|
|
238,
|
|
192,
|
|
0,
|
|
9,
|
|
9,
|
|
193,
|
|
0,
|
|
97,
|
|
1,
|
|
226,
|
|
0,
|
|
29,
|
|
38,
|
|
10,
|
|
0,
|
|
0,
|
|
136,
|
|
63,
|
|
255,
|
|
229,
|
|
72,
|
|
210,
|
|
254,
|
|
38,
|
|
134,
|
|
92,
|
|
255,
|
|
78,
|
|
218,
|
|
208,
|
|
1,
|
|
104,
|
|
36,
|
|
84,
|
|
255,
|
|
12,
|
|
5,
|
|
193,
|
|
255,
|
|
242,
|
|
175,
|
|
61,
|
|
255,
|
|
191,
|
|
169,
|
|
46,
|
|
1,
|
|
179,
|
|
147,
|
|
147,
|
|
255,
|
|
113,
|
|
190,
|
|
139,
|
|
254,
|
|
125,
|
|
172,
|
|
31,
|
|
0,
|
|
3,
|
|
75,
|
|
252,
|
|
254,
|
|
215,
|
|
36,
|
|
15,
|
|
0,
|
|
193,
|
|
27,
|
|
24,
|
|
1,
|
|
255,
|
|
69,
|
|
149,
|
|
255,
|
|
110,
|
|
129,
|
|
118,
|
|
0,
|
|
203,
|
|
93,
|
|
249,
|
|
0,
|
|
138,
|
|
137,
|
|
64,
|
|
254,
|
|
38,
|
|
70,
|
|
6,
|
|
0,
|
|
153,
|
|
116,
|
|
222,
|
|
0,
|
|
161,
|
|
74,
|
|
123,
|
|
0,
|
|
193,
|
|
99,
|
|
79,
|
|
255,
|
|
118,
|
|
59,
|
|
94,
|
|
255,
|
|
61,
|
|
12,
|
|
43,
|
|
1,
|
|
146,
|
|
177,
|
|
157,
|
|
0,
|
|
46,
|
|
147,
|
|
191,
|
|
0,
|
|
16,
|
|
255,
|
|
38,
|
|
0,
|
|
11,
|
|
51,
|
|
31,
|
|
1,
|
|
60,
|
|
58,
|
|
98,
|
|
255,
|
|
111,
|
|
194,
|
|
77,
|
|
1,
|
|
154,
|
|
91,
|
|
244,
|
|
0,
|
|
140,
|
|
40,
|
|
144,
|
|
1,
|
|
173,
|
|
10,
|
|
251,
|
|
0,
|
|
203,
|
|
209,
|
|
50,
|
|
254,
|
|
108,
|
|
130,
|
|
78,
|
|
0,
|
|
228,
|
|
180,
|
|
90,
|
|
0,
|
|
174,
|
|
7,
|
|
250,
|
|
0,
|
|
31,
|
|
174,
|
|
60,
|
|
0,
|
|
41,
|
|
171,
|
|
30,
|
|
0,
|
|
116,
|
|
99,
|
|
82,
|
|
255,
|
|
118,
|
|
193,
|
|
139,
|
|
255,
|
|
187,
|
|
173,
|
|
198,
|
|
254,
|
|
218,
|
|
111,
|
|
56,
|
|
0,
|
|
185,
|
|
123,
|
|
216,
|
|
0,
|
|
249,
|
|
158,
|
|
52,
|
|
0,
|
|
52,
|
|
180,
|
|
93,
|
|
255,
|
|
201,
|
|
9,
|
|
91,
|
|
255,
|
|
56,
|
|
45,
|
|
166,
|
|
254,
|
|
132,
|
|
155,
|
|
203,
|
|
255,
|
|
58,
|
|
232,
|
|
110,
|
|
0,
|
|
52,
|
|
211,
|
|
89,
|
|
255,
|
|
253,
|
|
0,
|
|
162,
|
|
1,
|
|
9,
|
|
87,
|
|
183,
|
|
0,
|
|
145,
|
|
136,
|
|
44,
|
|
1,
|
|
94,
|
|
122,
|
|
245,
|
|
0,
|
|
85,
|
|
188,
|
|
171,
|
|
1,
|
|
147,
|
|
92,
|
|
198,
|
|
0,
|
|
0,
|
|
8,
|
|
104,
|
|
0,
|
|
30,
|
|
95,
|
|
174,
|
|
0,
|
|
221,
|
|
230,
|
|
52,
|
|
1,
|
|
247,
|
|
247,
|
|
235,
|
|
255,
|
|
137,
|
|
174,
|
|
53,
|
|
255,
|
|
35,
|
|
21,
|
|
204,
|
|
255,
|
|
71,
|
|
227,
|
|
214,
|
|
1,
|
|
232,
|
|
82,
|
|
194,
|
|
0,
|
|
11,
|
|
48,
|
|
227,
|
|
255,
|
|
170,
|
|
73,
|
|
184,
|
|
255,
|
|
198,
|
|
251,
|
|
252,
|
|
254,
|
|
44,
|
|
112,
|
|
34,
|
|
0,
|
|
131,
|
|
101,
|
|
131,
|
|
255,
|
|
72,
|
|
168,
|
|
187,
|
|
0,
|
|
132,
|
|
135,
|
|
125,
|
|
255,
|
|
138,
|
|
104,
|
|
97,
|
|
255,
|
|
238,
|
|
184,
|
|
168,
|
|
255,
|
|
243,
|
|
104,
|
|
84,
|
|
255,
|
|
135,
|
|
216,
|
|
226,
|
|
255,
|
|
139,
|
|
144,
|
|
237,
|
|
0,
|
|
188,
|
|
137,
|
|
150,
|
|
1,
|
|
80,
|
|
56,
|
|
140,
|
|
255,
|
|
86,
|
|
169,
|
|
167,
|
|
255,
|
|
194,
|
|
78,
|
|
25,
|
|
255,
|
|
220,
|
|
17,
|
|
180,
|
|
255,
|
|
17,
|
|
13,
|
|
193,
|
|
0,
|
|
117,
|
|
137,
|
|
212,
|
|
255,
|
|
141,
|
|
224,
|
|
151,
|
|
0,
|
|
49,
|
|
244,
|
|
175,
|
|
0,
|
|
193,
|
|
99,
|
|
175,
|
|
255,
|
|
19,
|
|
99,
|
|
154,
|
|
1,
|
|
255,
|
|
65,
|
|
62,
|
|
255,
|
|
156,
|
|
210,
|
|
55,
|
|
255,
|
|
242,
|
|
244,
|
|
3,
|
|
255,
|
|
250,
|
|
14,
|
|
149,
|
|
0,
|
|
158,
|
|
88,
|
|
217,
|
|
255,
|
|
157,
|
|
207,
|
|
134,
|
|
254,
|
|
251,
|
|
232,
|
|
28,
|
|
0,
|
|
46,
|
|
156,
|
|
251,
|
|
255,
|
|
171,
|
|
56,
|
|
184,
|
|
255,
|
|
239,
|
|
51,
|
|
234,
|
|
0,
|
|
142,
|
|
138,
|
|
131,
|
|
255,
|
|
25,
|
|
254,
|
|
243,
|
|
1,
|
|
10,
|
|
201,
|
|
194,
|
|
0,
|
|
63,
|
|
97,
|
|
75,
|
|
0,
|
|
210,
|
|
239,
|
|
162,
|
|
0,
|
|
192,
|
|
200,
|
|
31,
|
|
1,
|
|
117,
|
|
214,
|
|
243,
|
|
0,
|
|
24,
|
|
71,
|
|
222,
|
|
254,
|
|
54,
|
|
40,
|
|
232,
|
|
255,
|
|
76,
|
|
183,
|
|
111,
|
|
254,
|
|
144,
|
|
14,
|
|
87,
|
|
255,
|
|
214,
|
|
79,
|
|
136,
|
|
255,
|
|
216,
|
|
196,
|
|
212,
|
|
0,
|
|
132,
|
|
27,
|
|
140,
|
|
254,
|
|
131,
|
|
5,
|
|
253,
|
|
0,
|
|
124,
|
|
108,
|
|
19,
|
|
255,
|
|
28,
|
|
215,
|
|
75,
|
|
0,
|
|
76,
|
|
222,
|
|
55,
|
|
254,
|
|
233,
|
|
182,
|
|
63,
|
|
0,
|
|
68,
|
|
171,
|
|
191,
|
|
254,
|
|
52,
|
|
111,
|
|
222,
|
|
255,
|
|
10,
|
|
105,
|
|
77,
|
|
255,
|
|
80,
|
|
170,
|
|
235,
|
|
0,
|
|
143,
|
|
24,
|
|
88,
|
|
255,
|
|
45,
|
|
231,
|
|
121,
|
|
0,
|
|
148,
|
|
129,
|
|
224,
|
|
1,
|
|
61,
|
|
246,
|
|
84,
|
|
0,
|
|
253,
|
|
46,
|
|
219,
|
|
255,
|
|
239,
|
|
76,
|
|
33,
|
|
0,
|
|
49,
|
|
148,
|
|
18,
|
|
254,
|
|
230,
|
|
37,
|
|
69,
|
|
0,
|
|
67,
|
|
134,
|
|
22,
|
|
254,
|
|
142,
|
|
155,
|
|
94,
|
|
0,
|
|
31,
|
|
157,
|
|
211,
|
|
254,
|
|
213,
|
|
42,
|
|
30,
|
|
255,
|
|
4,
|
|
228,
|
|
247,
|
|
254,
|
|
252,
|
|
176,
|
|
13,
|
|
255,
|
|
39,
|
|
0,
|
|
31,
|
|
254,
|
|
241,
|
|
244,
|
|
255,
|
|
255,
|
|
170,
|
|
45,
|
|
10,
|
|
254,
|
|
253,
|
|
222,
|
|
249,
|
|
0,
|
|
222,
|
|
114,
|
|
132,
|
|
0,
|
|
255,
|
|
47,
|
|
6,
|
|
255,
|
|
180,
|
|
163,
|
|
179,
|
|
1,
|
|
84,
|
|
94,
|
|
151,
|
|
255,
|
|
89,
|
|
209,
|
|
82,
|
|
254,
|
|
229,
|
|
52,
|
|
169,
|
|
255,
|
|
213,
|
|
236,
|
|
0,
|
|
1,
|
|
214,
|
|
56,
|
|
228,
|
|
255,
|
|
135,
|
|
119,
|
|
151,
|
|
255,
|
|
112,
|
|
201,
|
|
193,
|
|
0,
|
|
83,
|
|
160,
|
|
53,
|
|
254,
|
|
6,
|
|
151,
|
|
66,
|
|
0,
|
|
18,
|
|
162,
|
|
17,
|
|
0,
|
|
233,
|
|
97,
|
|
91,
|
|
0,
|
|
131,
|
|
5,
|
|
78,
|
|
1,
|
|
181,
|
|
120,
|
|
53,
|
|
255,
|
|
117,
|
|
95,
|
|
63,
|
|
255,
|
|
237,
|
|
117,
|
|
185,
|
|
0,
|
|
191,
|
|
126,
|
|
136,
|
|
255,
|
|
144,
|
|
119,
|
|
233,
|
|
0,
|
|
183,
|
|
57,
|
|
97,
|
|
1,
|
|
47,
|
|
201,
|
|
187,
|
|
255,
|
|
167,
|
|
165,
|
|
119,
|
|
1,
|
|
45,
|
|
100,
|
|
126,
|
|
0,
|
|
21,
|
|
98,
|
|
6,
|
|
254,
|
|
145,
|
|
150,
|
|
95,
|
|
255,
|
|
120,
|
|
54,
|
|
152,
|
|
0,
|
|
209,
|
|
98,
|
|
104,
|
|
0,
|
|
143,
|
|
111,
|
|
30,
|
|
254,
|
|
184,
|
|
148,
|
|
249,
|
|
0,
|
|
235,
|
|
216,
|
|
46,
|
|
0,
|
|
248,
|
|
202,
|
|
148,
|
|
255,
|
|
57,
|
|
95,
|
|
22,
|
|
0,
|
|
242,
|
|
225,
|
|
163,
|
|
0,
|
|
233,
|
|
247,
|
|
232,
|
|
255,
|
|
71,
|
|
171,
|
|
19,
|
|
255,
|
|
103,
|
|
244,
|
|
49,
|
|
255,
|
|
84,
|
|
103,
|
|
93,
|
|
255,
|
|
68,
|
|
121,
|
|
244,
|
|
1,
|
|
82,
|
|
224,
|
|
13,
|
|
0,
|
|
41,
|
|
79,
|
|
43,
|
|
255,
|
|
249,
|
|
206,
|
|
167,
|
|
255,
|
|
215,
|
|
52,
|
|
21,
|
|
254,
|
|
192,
|
|
32,
|
|
22,
|
|
255,
|
|
247,
|
|
111,
|
|
60,
|
|
0,
|
|
101,
|
|
74,
|
|
38,
|
|
255,
|
|
22,
|
|
91,
|
|
84,
|
|
254,
|
|
29,
|
|
28,
|
|
13,
|
|
255,
|
|
198,
|
|
231,
|
|
215,
|
|
254,
|
|
244,
|
|
154,
|
|
200,
|
|
0,
|
|
223,
|
|
137,
|
|
237,
|
|
0,
|
|
211,
|
|
132,
|
|
14,
|
|
0,
|
|
95,
|
|
64,
|
|
206,
|
|
255,
|
|
17,
|
|
62,
|
|
247,
|
|
255,
|
|
233,
|
|
131,
|
|
121,
|
|
1,
|
|
93,
|
|
23,
|
|
77,
|
|
0,
|
|
205,
|
|
204,
|
|
52,
|
|
254,
|
|
81,
|
|
189,
|
|
136,
|
|
0,
|
|
180,
|
|
219,
|
|
138,
|
|
1,
|
|
143,
|
|
18,
|
|
94,
|
|
0,
|
|
204,
|
|
43,
|
|
140,
|
|
254,
|
|
188,
|
|
175,
|
|
219,
|
|
0,
|
|
111,
|
|
98,
|
|
143,
|
|
255,
|
|
151,
|
|
63,
|
|
162,
|
|
255,
|
|
211,
|
|
50,
|
|
71,
|
|
254,
|
|
19,
|
|
146,
|
|
53,
|
|
0,
|
|
146,
|
|
45,
|
|
83,
|
|
254,
|
|
178,
|
|
82,
|
|
238,
|
|
255,
|
|
16,
|
|
133,
|
|
84,
|
|
255,
|
|
226,
|
|
198,
|
|
93,
|
|
255,
|
|
201,
|
|
97,
|
|
20,
|
|
255,
|
|
120,
|
|
118,
|
|
35,
|
|
255,
|
|
114,
|
|
50,
|
|
231,
|
|
255,
|
|
162,
|
|
229,
|
|
156,
|
|
255,
|
|
211,
|
|
26,
|
|
12,
|
|
0,
|
|
114,
|
|
39,
|
|
115,
|
|
255,
|
|
206,
|
|
212,
|
|
134,
|
|
0,
|
|
197,
|
|
217,
|
|
160,
|
|
255,
|
|
116,
|
|
129,
|
|
94,
|
|
254,
|
|
199,
|
|
215,
|
|
219,
|
|
255,
|
|
75,
|
|
223,
|
|
249,
|
|
1,
|
|
253,
|
|
116,
|
|
181,
|
|
255,
|
|
232,
|
|
215,
|
|
104,
|
|
255,
|
|
228,
|
|
130,
|
|
246,
|
|
255,
|
|
185,
|
|
117,
|
|
86,
|
|
0,
|
|
14,
|
|
5,
|
|
8,
|
|
0,
|
|
239,
|
|
29,
|
|
61,
|
|
1,
|
|
237,
|
|
87,
|
|
133,
|
|
255,
|
|
125,
|
|
146,
|
|
137,
|
|
254,
|
|
204,
|
|
168,
|
|
223,
|
|
0,
|
|
46,
|
|
168,
|
|
245,
|
|
0,
|
|
154,
|
|
105,
|
|
22,
|
|
0,
|
|
220,
|
|
212,
|
|
161,
|
|
255,
|
|
107,
|
|
69,
|
|
24,
|
|
255,
|
|
137,
|
|
218,
|
|
181,
|
|
255,
|
|
241,
|
|
84,
|
|
198,
|
|
255,
|
|
130,
|
|
122,
|
|
211,
|
|
255,
|
|
141,
|
|
8,
|
|
153,
|
|
255,
|
|
190,
|
|
177,
|
|
118,
|
|
0,
|
|
96,
|
|
89,
|
|
178,
|
|
0,
|
|
255,
|
|
16,
|
|
48,
|
|
254,
|
|
122,
|
|
96,
|
|
105,
|
|
255,
|
|
117,
|
|
54,
|
|
232,
|
|
255,
|
|
34,
|
|
126,
|
|
105,
|
|
255,
|
|
204,
|
|
67,
|
|
166,
|
|
0,
|
|
232,
|
|
52,
|
|
138,
|
|
255,
|
|
211,
|
|
147,
|
|
12,
|
|
0,
|
|
25,
|
|
54,
|
|
7,
|
|
0,
|
|
44,
|
|
15,
|
|
215,
|
|
254,
|
|
51,
|
|
236,
|
|
45,
|
|
0,
|
|
190,
|
|
68,
|
|
129,
|
|
1,
|
|
106,
|
|
147,
|
|
225,
|
|
0,
|
|
28,
|
|
93,
|
|
45,
|
|
254,
|
|
236,
|
|
141,
|
|
15,
|
|
255,
|
|
17,
|
|
61,
|
|
161,
|
|
0,
|
|
220,
|
|
115,
|
|
192,
|
|
0,
|
|
236,
|
|
145,
|
|
24,
|
|
254,
|
|
111,
|
|
168,
|
|
169,
|
|
0,
|
|
224,
|
|
58,
|
|
63,
|
|
255,
|
|
127,
|
|
164,
|
|
188,
|
|
0,
|
|
82,
|
|
234,
|
|
75,
|
|
1,
|
|
224,
|
|
158,
|
|
134,
|
|
0,
|
|
209,
|
|
68,
|
|
110,
|
|
1,
|
|
217,
|
|
166,
|
|
217,
|
|
0,
|
|
70,
|
|
225,
|
|
166,
|
|
1,
|
|
187,
|
|
193,
|
|
143,
|
|
255,
|
|
16,
|
|
7,
|
|
88,
|
|
255,
|
|
10,
|
|
205,
|
|
140,
|
|
0,
|
|
117,
|
|
192,
|
|
156,
|
|
1,
|
|
17,
|
|
56,
|
|
38,
|
|
0,
|
|
27,
|
|
124,
|
|
108,
|
|
1,
|
|
171,
|
|
215,
|
|
55,
|
|
255,
|
|
95,
|
|
253,
|
|
212,
|
|
0,
|
|
155,
|
|
135,
|
|
168,
|
|
255,
|
|
246,
|
|
178,
|
|
153,
|
|
254,
|
|
154,
|
|
68,
|
|
74,
|
|
0,
|
|
232,
|
|
61,
|
|
96,
|
|
254,
|
|
105,
|
|
132,
|
|
59,
|
|
0,
|
|
33,
|
|
76,
|
|
199,
|
|
1,
|
|
189,
|
|
176,
|
|
130,
|
|
255,
|
|
9,
|
|
104,
|
|
25,
|
|
254,
|
|
75,
|
|
198,
|
|
102,
|
|
255,
|
|
233,
|
|
1,
|
|
112,
|
|
0,
|
|
108,
|
|
220,
|
|
20,
|
|
255,
|
|
114,
|
|
230,
|
|
70,
|
|
0,
|
|
140,
|
|
194,
|
|
133,
|
|
255,
|
|
57,
|
|
158,
|
|
164,
|
|
254,
|
|
146,
|
|
6,
|
|
80,
|
|
255,
|
|
169,
|
|
196,
|
|
97,
|
|
1,
|
|
85,
|
|
183,
|
|
130,
|
|
0,
|
|
70,
|
|
158,
|
|
222,
|
|
1,
|
|
59,
|
|
237,
|
|
234,
|
|
255,
|
|
96,
|
|
25,
|
|
26,
|
|
255,
|
|
232,
|
|
175,
|
|
97,
|
|
255,
|
|
11,
|
|
121,
|
|
248,
|
|
254,
|
|
88,
|
|
35,
|
|
194,
|
|
0,
|
|
219,
|
|
180,
|
|
252,
|
|
254,
|
|
74,
|
|
8,
|
|
227,
|
|
0,
|
|
195,
|
|
227,
|
|
73,
|
|
1,
|
|
184,
|
|
110,
|
|
161,
|
|
255,
|
|
49,
|
|
233,
|
|
164,
|
|
1,
|
|
128,
|
|
53,
|
|
47,
|
|
0,
|
|
82,
|
|
14,
|
|
121,
|
|
255,
|
|
193,
|
|
190,
|
|
58,
|
|
0,
|
|
48,
|
|
174,
|
|
117,
|
|
255,
|
|
132,
|
|
23,
|
|
32,
|
|
0,
|
|
40,
|
|
10,
|
|
134,
|
|
1,
|
|
22,
|
|
51,
|
|
25,
|
|
255,
|
|
240,
|
|
11,
|
|
176,
|
|
255,
|
|
110,
|
|
57,
|
|
146,
|
|
0,
|
|
117,
|
|
143,
|
|
239,
|
|
1,
|
|
157,
|
|
101,
|
|
118,
|
|
255,
|
|
54,
|
|
84,
|
|
76,
|
|
0,
|
|
205,
|
|
184,
|
|
18,
|
|
255,
|
|
47,
|
|
4,
|
|
72,
|
|
255,
|
|
78,
|
|
112,
|
|
85,
|
|
255,
|
|
193,
|
|
50,
|
|
66,
|
|
1,
|
|
93,
|
|
16,
|
|
52,
|
|
255,
|
|
8,
|
|
105,
|
|
134,
|
|
0,
|
|
12,
|
|
109,
|
|
72,
|
|
255,
|
|
58,
|
|
156,
|
|
251,
|
|
0,
|
|
144,
|
|
35,
|
|
204,
|
|
0,
|
|
44,
|
|
160,
|
|
117,
|
|
254,
|
|
50,
|
|
107,
|
|
194,
|
|
0,
|
|
1,
|
|
68,
|
|
165,
|
|
255,
|
|
111,
|
|
110,
|
|
162,
|
|
0,
|
|
158,
|
|
83,
|
|
40,
|
|
254,
|
|
76,
|
|
214,
|
|
234,
|
|
0,
|
|
58,
|
|
216,
|
|
205,
|
|
255,
|
|
171,
|
|
96,
|
|
147,
|
|
255,
|
|
40,
|
|
227,
|
|
114,
|
|
1,
|
|
176,
|
|
227,
|
|
241,
|
|
0,
|
|
70,
|
|
249,
|
|
183,
|
|
1,
|
|
136,
|
|
84,
|
|
139,
|
|
255,
|
|
60,
|
|
122,
|
|
247,
|
|
254,
|
|
143,
|
|
9,
|
|
117,
|
|
255,
|
|
177,
|
|
174,
|
|
137,
|
|
254,
|
|
73,
|
|
247,
|
|
143,
|
|
0,
|
|
236,
|
|
185,
|
|
126,
|
|
255,
|
|
62,
|
|
25,
|
|
247,
|
|
255,
|
|
45,
|
|
64,
|
|
56,
|
|
255,
|
|
161,
|
|
244,
|
|
6,
|
|
0,
|
|
34,
|
|
57,
|
|
56,
|
|
1,
|
|
105,
|
|
202,
|
|
83,
|
|
0,
|
|
128,
|
|
147,
|
|
208,
|
|
0,
|
|
6,
|
|
103,
|
|
10,
|
|
255,
|
|
74,
|
|
138,
|
|
65,
|
|
255,
|
|
97,
|
|
80,
|
|
100,
|
|
255,
|
|
214,
|
|
174,
|
|
33,
|
|
255,
|
|
50,
|
|
134,
|
|
74,
|
|
255,
|
|
110,
|
|
151,
|
|
130,
|
|
254,
|
|
111,
|
|
84,
|
|
172,
|
|
0,
|
|
84,
|
|
199,
|
|
75,
|
|
254,
|
|
248,
|
|
59,
|
|
112,
|
|
255,
|
|
8,
|
|
216,
|
|
178,
|
|
1,
|
|
9,
|
|
183,
|
|
95,
|
|
0,
|
|
238,
|
|
27,
|
|
8,
|
|
254,
|
|
170,
|
|
205,
|
|
220,
|
|
0,
|
|
195,
|
|
229,
|
|
135,
|
|
0,
|
|
98,
|
|
76,
|
|
237,
|
|
255,
|
|
226,
|
|
91,
|
|
26,
|
|
1,
|
|
82,
|
|
219,
|
|
39,
|
|
255,
|
|
225,
|
|
190,
|
|
199,
|
|
1,
|
|
217,
|
|
200,
|
|
121,
|
|
255,
|
|
81,
|
|
179,
|
|
8,
|
|
255,
|
|
140,
|
|
65,
|
|
206,
|
|
0,
|
|
178,
|
|
207,
|
|
87,
|
|
254,
|
|
250,
|
|
252,
|
|
46,
|
|
255,
|
|
104,
|
|
89,
|
|
110,
|
|
1,
|
|
253,
|
|
189,
|
|
158,
|
|
255,
|
|
144,
|
|
214,
|
|
158,
|
|
255,
|
|
160,
|
|
245,
|
|
54,
|
|
255,
|
|
53,
|
|
183,
|
|
92,
|
|
1,
|
|
21,
|
|
200,
|
|
194,
|
|
255,
|
|
146,
|
|
33,
|
|
113,
|
|
1,
|
|
209,
|
|
1,
|
|
255,
|
|
0,
|
|
235,
|
|
106,
|
|
43,
|
|
255,
|
|
167,
|
|
52,
|
|
232,
|
|
0,
|
|
157,
|
|
229,
|
|
221,
|
|
0,
|
|
51,
|
|
30,
|
|
25,
|
|
0,
|
|
250,
|
|
221,
|
|
27,
|
|
1,
|
|
65,
|
|
147,
|
|
87,
|
|
255,
|
|
79,
|
|
123,
|
|
196,
|
|
0,
|
|
65,
|
|
196,
|
|
223,
|
|
255,
|
|
76,
|
|
44,
|
|
17,
|
|
1,
|
|
85,
|
|
241,
|
|
68,
|
|
0,
|
|
202,
|
|
183,
|
|
249,
|
|
255,
|
|
65,
|
|
212,
|
|
212,
|
|
255,
|
|
9,
|
|
33,
|
|
154,
|
|
1,
|
|
71,
|
|
59,
|
|
80,
|
|
0,
|
|
175,
|
|
194,
|
|
59,
|
|
255,
|
|
141,
|
|
72,
|
|
9,
|
|
0,
|
|
100,
|
|
160,
|
|
244,
|
|
0,
|
|
230,
|
|
208,
|
|
56,
|
|
0,
|
|
59,
|
|
25,
|
|
75,
|
|
254,
|
|
80,
|
|
194,
|
|
194,
|
|
0,
|
|
18,
|
|
3,
|
|
200,
|
|
254,
|
|
160,
|
|
159,
|
|
115,
|
|
0,
|
|
132,
|
|
143,
|
|
247,
|
|
1,
|
|
111,
|
|
93,
|
|
57,
|
|
255,
|
|
58,
|
|
237,
|
|
11,
|
|
1,
|
|
134,
|
|
222,
|
|
135,
|
|
255,
|
|
122,
|
|
163,
|
|
108,
|
|
1,
|
|
123,
|
|
43,
|
|
190,
|
|
255,
|
|
251,
|
|
189,
|
|
206,
|
|
254,
|
|
80,
|
|
182,
|
|
72,
|
|
255,
|
|
208,
|
|
246,
|
|
224,
|
|
1,
|
|
17,
|
|
60,
|
|
9,
|
|
0,
|
|
161,
|
|
207,
|
|
38,
|
|
0,
|
|
141,
|
|
109,
|
|
91,
|
|
0,
|
|
216,
|
|
15,
|
|
211,
|
|
255,
|
|
136,
|
|
78,
|
|
110,
|
|
0,
|
|
98,
|
|
163,
|
|
104,
|
|
255,
|
|
21,
|
|
80,
|
|
121,
|
|
255,
|
|
173,
|
|
178,
|
|
183,
|
|
1,
|
|
127,
|
|
143,
|
|
4,
|
|
0,
|
|
104,
|
|
60,
|
|
82,
|
|
254,
|
|
214,
|
|
16,
|
|
13,
|
|
255,
|
|
96,
|
|
238,
|
|
33,
|
|
1,
|
|
158,
|
|
148,
|
|
230,
|
|
255,
|
|
127,
|
|
129,
|
|
62,
|
|
255,
|
|
51,
|
|
255,
|
|
210,
|
|
255,
|
|
62,
|
|
141,
|
|
236,
|
|
254,
|
|
157,
|
|
55,
|
|
224,
|
|
255,
|
|
114,
|
|
39,
|
|
244,
|
|
0,
|
|
192,
|
|
188,
|
|
250,
|
|
255,
|
|
228,
|
|
76,
|
|
53,
|
|
0,
|
|
98,
|
|
84,
|
|
81,
|
|
255,
|
|
173,
|
|
203,
|
|
61,
|
|
254,
|
|
147,
|
|
50,
|
|
55,
|
|
255,
|
|
204,
|
|
235,
|
|
191,
|
|
0,
|
|
52,
|
|
197,
|
|
244,
|
|
0,
|
|
88,
|
|
43,
|
|
211,
|
|
254,
|
|
27,
|
|
191,
|
|
119,
|
|
0,
|
|
188,
|
|
231,
|
|
154,
|
|
0,
|
|
66,
|
|
81,
|
|
161,
|
|
0,
|
|
92,
|
|
193,
|
|
160,
|
|
1,
|
|
250,
|
|
227,
|
|
120,
|
|
0,
|
|
123,
|
|
55,
|
|
226,
|
|
0,
|
|
184,
|
|
17,
|
|
72,
|
|
0,
|
|
133,
|
|
168,
|
|
10,
|
|
254,
|
|
22,
|
|
135,
|
|
156,
|
|
255,
|
|
41,
|
|
25,
|
|
103,
|
|
255,
|
|
48,
|
|
202,
|
|
58,
|
|
0,
|
|
186,
|
|
149,
|
|
81,
|
|
255,
|
|
188,
|
|
134,
|
|
239,
|
|
0,
|
|
235,
|
|
181,
|
|
189,
|
|
254,
|
|
217,
|
|
139,
|
|
188,
|
|
255,
|
|
74,
|
|
48,
|
|
82,
|
|
0,
|
|
46,
|
|
218,
|
|
229,
|
|
0,
|
|
189,
|
|
253,
|
|
251,
|
|
0,
|
|
50,
|
|
229,
|
|
12,
|
|
255,
|
|
211,
|
|
141,
|
|
191,
|
|
1,
|
|
128,
|
|
244,
|
|
25,
|
|
255,
|
|
169,
|
|
231,
|
|
122,
|
|
254,
|
|
86,
|
|
47,
|
|
189,
|
|
255,
|
|
132,
|
|
183,
|
|
23,
|
|
255,
|
|
37,
|
|
178,
|
|
150,
|
|
255,
|
|
51,
|
|
137,
|
|
253,
|
|
0,
|
|
200,
|
|
78,
|
|
31,
|
|
0,
|
|
22,
|
|
105,
|
|
50,
|
|
0,
|
|
130,
|
|
60,
|
|
0,
|
|
0,
|
|
132,
|
|
163,
|
|
91,
|
|
254,
|
|
23,
|
|
231,
|
|
187,
|
|
0,
|
|
192,
|
|
79,
|
|
239,
|
|
0,
|
|
157,
|
|
102,
|
|
164,
|
|
255,
|
|
192,
|
|
82,
|
|
20,
|
|
1,
|
|
24,
|
|
181,
|
|
103,
|
|
255,
|
|
240,
|
|
9,
|
|
234,
|
|
0,
|
|
1,
|
|
123,
|
|
164,
|
|
255,
|
|
133,
|
|
233,
|
|
0,
|
|
255,
|
|
202,
|
|
242,
|
|
242,
|
|
0,
|
|
60,
|
|
186,
|
|
245,
|
|
0,
|
|
241,
|
|
16,
|
|
199,
|
|
255,
|
|
224,
|
|
116,
|
|
158,
|
|
254,
|
|
191,
|
|
125,
|
|
91,
|
|
255,
|
|
224,
|
|
86,
|
|
207,
|
|
0,
|
|
121,
|
|
37,
|
|
231,
|
|
255,
|
|
227,
|
|
9,
|
|
198,
|
|
255,
|
|
15,
|
|
153,
|
|
239,
|
|
255,
|
|
121,
|
|
232,
|
|
217,
|
|
254,
|
|
75,
|
|
112,
|
|
82,
|
|
0,
|
|
95,
|
|
12,
|
|
57,
|
|
254,
|
|
51,
|
|
214,
|
|
105,
|
|
255,
|
|
148,
|
|
220,
|
|
97,
|
|
1,
|
|
199,
|
|
98,
|
|
36,
|
|
0,
|
|
156,
|
|
209,
|
|
12,
|
|
254,
|
|
10,
|
|
212,
|
|
52,
|
|
0,
|
|
217,
|
|
180,
|
|
55,
|
|
254,
|
|
212,
|
|
170,
|
|
232,
|
|
255,
|
|
216,
|
|
20,
|
|
84,
|
|
255,
|
|
157,
|
|
250,
|
|
135,
|
|
0,
|
|
157,
|
|
99,
|
|
127,
|
|
254,
|
|
1,
|
|
206,
|
|
41,
|
|
0,
|
|
149,
|
|
36,
|
|
70,
|
|
1,
|
|
54,
|
|
196,
|
|
201,
|
|
255,
|
|
87,
|
|
116,
|
|
0,
|
|
254,
|
|
235,
|
|
171,
|
|
150,
|
|
0,
|
|
27,
|
|
163,
|
|
234,
|
|
0,
|
|
202,
|
|
135,
|
|
180,
|
|
0,
|
|
208,
|
|
95,
|
|
0,
|
|
254,
|
|
123,
|
|
156,
|
|
93,
|
|
0,
|
|
183,
|
|
62,
|
|
75,
|
|
0,
|
|
137,
|
|
235,
|
|
182,
|
|
0,
|
|
204,
|
|
225,
|
|
255,
|
|
255,
|
|
214,
|
|
139,
|
|
210,
|
|
255,
|
|
2,
|
|
115,
|
|
8,
|
|
255,
|
|
29,
|
|
12,
|
|
111,
|
|
0,
|
|
52,
|
|
156,
|
|
1,
|
|
0,
|
|
253,
|
|
21,
|
|
251,
|
|
255,
|
|
37,
|
|
165,
|
|
31,
|
|
254,
|
|
12,
|
|
130,
|
|
211,
|
|
0,
|
|
106,
|
|
18,
|
|
53,
|
|
254,
|
|
42,
|
|
99,
|
|
154,
|
|
0,
|
|
14,
|
|
217,
|
|
61,
|
|
254,
|
|
216,
|
|
11,
|
|
92,
|
|
255,
|
|
200,
|
|
197,
|
|
112,
|
|
254,
|
|
147,
|
|
38,
|
|
199,
|
|
0,
|
|
36,
|
|
252,
|
|
120,
|
|
254,
|
|
107,
|
|
169,
|
|
77,
|
|
0,
|
|
1,
|
|
123,
|
|
159,
|
|
255,
|
|
207,
|
|
75,
|
|
102,
|
|
0,
|
|
163,
|
|
175,
|
|
196,
|
|
0,
|
|
44,
|
|
1,
|
|
240,
|
|
0,
|
|
120,
|
|
186,
|
|
176,
|
|
254,
|
|
13,
|
|
98,
|
|
76,
|
|
255,
|
|
237,
|
|
124,
|
|
241,
|
|
255,
|
|
232,
|
|
146,
|
|
188,
|
|
255,
|
|
200,
|
|
96,
|
|
224,
|
|
0,
|
|
204,
|
|
31,
|
|
41,
|
|
0,
|
|
208,
|
|
200,
|
|
13,
|
|
0,
|
|
21,
|
|
225,
|
|
96,
|
|
255,
|
|
175,
|
|
156,
|
|
196,
|
|
0,
|
|
247,
|
|
208,
|
|
126,
|
|
0,
|
|
62,
|
|
184,
|
|
244,
|
|
254,
|
|
2,
|
|
171,
|
|
81,
|
|
0,
|
|
85,
|
|
115,
|
|
158,
|
|
0,
|
|
54,
|
|
64,
|
|
45,
|
|
255,
|
|
19,
|
|
138,
|
|
114,
|
|
0,
|
|
135,
|
|
71,
|
|
205,
|
|
0,
|
|
227,
|
|
47,
|
|
147,
|
|
1,
|
|
218,
|
|
231,
|
|
66,
|
|
0,
|
|
253,
|
|
209,
|
|
28,
|
|
0,
|
|
244,
|
|
15,
|
|
173,
|
|
255,
|
|
6,
|
|
15,
|
|
118,
|
|
254,
|
|
16,
|
|
150,
|
|
208,
|
|
255,
|
|
185,
|
|
22,
|
|
50,
|
|
255,
|
|
86,
|
|
112,
|
|
207,
|
|
255,
|
|
75,
|
|
113,
|
|
215,
|
|
1,
|
|
63,
|
|
146,
|
|
43,
|
|
255,
|
|
4,
|
|
225,
|
|
19,
|
|
254,
|
|
227,
|
|
23,
|
|
62,
|
|
255,
|
|
14,
|
|
255,
|
|
214,
|
|
254,
|
|
45,
|
|
8,
|
|
205,
|
|
255,
|
|
87,
|
|
197,
|
|
151,
|
|
254,
|
|
210,
|
|
82,
|
|
215,
|
|
255,
|
|
245,
|
|
248,
|
|
247,
|
|
255,
|
|
128,
|
|
248,
|
|
70,
|
|
0,
|
|
225,
|
|
247,
|
|
87,
|
|
0,
|
|
90,
|
|
120,
|
|
70,
|
|
0,
|
|
213,
|
|
245,
|
|
92,
|
|
0,
|
|
13,
|
|
133,
|
|
226,
|
|
0,
|
|
47,
|
|
181,
|
|
5,
|
|
1,
|
|
92,
|
|
163,
|
|
105,
|
|
255,
|
|
6,
|
|
30,
|
|
133,
|
|
254,
|
|
232,
|
|
178,
|
|
61,
|
|
255,
|
|
230,
|
|
149,
|
|
24,
|
|
255,
|
|
18,
|
|
49,
|
|
158,
|
|
0,
|
|
228,
|
|
100,
|
|
61,
|
|
254,
|
|
116,
|
|
243,
|
|
251,
|
|
255,
|
|
77,
|
|
75,
|
|
92,
|
|
1,
|
|
81,
|
|
219,
|
|
147,
|
|
255,
|
|
76,
|
|
163,
|
|
254,
|
|
254,
|
|
141,
|
|
213,
|
|
246,
|
|
0,
|
|
232,
|
|
37,
|
|
152,
|
|
254,
|
|
97,
|
|
44,
|
|
100,
|
|
0,
|
|
201,
|
|
37,
|
|
50,
|
|
1,
|
|
212,
|
|
244,
|
|
57,
|
|
0,
|
|
174,
|
|
171,
|
|
183,
|
|
255,
|
|
249,
|
|
74,
|
|
112,
|
|
0,
|
|
166,
|
|
156,
|
|
30,
|
|
0,
|
|
222,
|
|
221,
|
|
97,
|
|
255,
|
|
243,
|
|
93,
|
|
73,
|
|
254,
|
|
251,
|
|
101,
|
|
100,
|
|
255,
|
|
216,
|
|
217,
|
|
93,
|
|
255,
|
|
254,
|
|
138,
|
|
187,
|
|
255,
|
|
142,
|
|
190,
|
|
52,
|
|
255,
|
|
59,
|
|
203,
|
|
177,
|
|
255,
|
|
200,
|
|
94,
|
|
52,
|
|
0,
|
|
115,
|
|
114,
|
|
158,
|
|
255,
|
|
165,
|
|
152,
|
|
104,
|
|
1,
|
|
126,
|
|
99,
|
|
226,
|
|
255,
|
|
118,
|
|
157,
|
|
244,
|
|
1,
|
|
107,
|
|
200,
|
|
16,
|
|
0,
|
|
193,
|
|
90,
|
|
229,
|
|
0,
|
|
121,
|
|
6,
|
|
88,
|
|
0,
|
|
156,
|
|
32,
|
|
93,
|
|
254,
|
|
125,
|
|
241,
|
|
211,
|
|
255,
|
|
14,
|
|
237,
|
|
157,
|
|
255,
|
|
165,
|
|
154,
|
|
21,
|
|
255,
|
|
184,
|
|
224,
|
|
22,
|
|
255,
|
|
250,
|
|
24,
|
|
152,
|
|
255,
|
|
113,
|
|
77,
|
|
31,
|
|
0,
|
|
247,
|
|
171,
|
|
23,
|
|
255,
|
|
237,
|
|
177,
|
|
204,
|
|
255,
|
|
52,
|
|
137,
|
|
145,
|
|
255,
|
|
194,
|
|
182,
|
|
114,
|
|
0,
|
|
224,
|
|
234,
|
|
149,
|
|
0,
|
|
10,
|
|
111,
|
|
103,
|
|
1,
|
|
201,
|
|
129,
|
|
4,
|
|
0,
|
|
238,
|
|
142,
|
|
78,
|
|
0,
|
|
52,
|
|
6,
|
|
40,
|
|
255,
|
|
110,
|
|
213,
|
|
165,
|
|
254,
|
|
60,
|
|
207,
|
|
253,
|
|
0,
|
|
62,
|
|
215,
|
|
69,
|
|
0,
|
|
96,
|
|
97,
|
|
0,
|
|
255,
|
|
49,
|
|
45,
|
|
202,
|
|
0,
|
|
120,
|
|
121,
|
|
22,
|
|
255,
|
|
235,
|
|
139,
|
|
48,
|
|
1,
|
|
198,
|
|
45,
|
|
34,
|
|
255,
|
|
182,
|
|
50,
|
|
27,
|
|
1,
|
|
131,
|
|
210,
|
|
91,
|
|
255,
|
|
46,
|
|
54,
|
|
128,
|
|
0,
|
|
175,
|
|
123,
|
|
105,
|
|
255,
|
|
198,
|
|
141,
|
|
78,
|
|
254,
|
|
67,
|
|
244,
|
|
239,
|
|
255,
|
|
245,
|
|
54,
|
|
103,
|
|
254,
|
|
78,
|
|
38,
|
|
242,
|
|
255,
|
|
2,
|
|
92,
|
|
249,
|
|
254,
|
|
251,
|
|
174,
|
|
87,
|
|
255,
|
|
139,
|
|
63,
|
|
144,
|
|
0,
|
|
24,
|
|
108,
|
|
27,
|
|
255,
|
|
34,
|
|
102,
|
|
18,
|
|
1,
|
|
34,
|
|
22,
|
|
152,
|
|
0,
|
|
66,
|
|
229,
|
|
118,
|
|
254,
|
|
50,
|
|
143,
|
|
99,
|
|
0,
|
|
144,
|
|
169,
|
|
149,
|
|
1,
|
|
118,
|
|
30,
|
|
152,
|
|
0,
|
|
178,
|
|
8,
|
|
121,
|
|
1,
|
|
8,
|
|
159,
|
|
18,
|
|
0,
|
|
90,
|
|
101,
|
|
230,
|
|
255,
|
|
129,
|
|
29,
|
|
119,
|
|
0,
|
|
68,
|
|
36,
|
|
11,
|
|
1,
|
|
232,
|
|
183,
|
|
55,
|
|
0,
|
|
23,
|
|
255,
|
|
96,
|
|
255,
|
|
161,
|
|
41,
|
|
193,
|
|
255,
|
|
63,
|
|
139,
|
|
222,
|
|
0,
|
|
15,
|
|
179,
|
|
243,
|
|
0,
|
|
255,
|
|
100,
|
|
15,
|
|
255,
|
|
82,
|
|
53,
|
|
135,
|
|
0,
|
|
137,
|
|
57,
|
|
149,
|
|
1,
|
|
99,
|
|
240,
|
|
170,
|
|
255,
|
|
22,
|
|
230,
|
|
228,
|
|
254,
|
|
49,
|
|
180,
|
|
82,
|
|
255,
|
|
61,
|
|
82,
|
|
43,
|
|
0,
|
|
110,
|
|
245,
|
|
217,
|
|
0,
|
|
199,
|
|
125,
|
|
61,
|
|
0,
|
|
46,
|
|
253,
|
|
52,
|
|
0,
|
|
141,
|
|
197,
|
|
219,
|
|
0,
|
|
211,
|
|
159,
|
|
193,
|
|
0,
|
|
55,
|
|
121,
|
|
105,
|
|
254,
|
|
183,
|
|
20,
|
|
129,
|
|
0,
|
|
169,
|
|
119,
|
|
170,
|
|
255,
|
|
203,
|
|
178,
|
|
139,
|
|
255,
|
|
135,
|
|
40,
|
|
182,
|
|
255,
|
|
172,
|
|
13,
|
|
202,
|
|
255,
|
|
65,
|
|
178,
|
|
148,
|
|
0,
|
|
8,
|
|
207,
|
|
43,
|
|
0,
|
|
122,
|
|
53,
|
|
127,
|
|
1,
|
|
74,
|
|
161,
|
|
48,
|
|
0,
|
|
227,
|
|
214,
|
|
128,
|
|
254,
|
|
86,
|
|
11,
|
|
243,
|
|
255,
|
|
100,
|
|
86,
|
|
7,
|
|
1,
|
|
245,
|
|
68,
|
|
134,
|
|
255,
|
|
61,
|
|
43,
|
|
21,
|
|
1,
|
|
152,
|
|
84,
|
|
94,
|
|
255,
|
|
190,
|
|
60,
|
|
250,
|
|
254,
|
|
239,
|
|
118,
|
|
232,
|
|
255,
|
|
214,
|
|
136,
|
|
37,
|
|
1,
|
|
113,
|
|
76,
|
|
107,
|
|
255,
|
|
93,
|
|
104,
|
|
100,
|
|
1,
|
|
144,
|
|
206,
|
|
23,
|
|
255,
|
|
110,
|
|
150,
|
|
154,
|
|
1,
|
|
228,
|
|
103,
|
|
185,
|
|
0,
|
|
218,
|
|
49,
|
|
50,
|
|
254,
|
|
135,
|
|
77,
|
|
139,
|
|
255,
|
|
185,
|
|
1,
|
|
78,
|
|
0,
|
|
0,
|
|
161,
|
|
148,
|
|
255,
|
|
97,
|
|
29,
|
|
233,
|
|
255,
|
|
207,
|
|
148,
|
|
149,
|
|
255,
|
|
160,
|
|
168,
|
|
0,
|
|
0,
|
|
91,
|
|
128,
|
|
171,
|
|
255,
|
|
6,
|
|
28,
|
|
19,
|
|
254,
|
|
11,
|
|
111,
|
|
247,
|
|
0,
|
|
39,
|
|
187,
|
|
150,
|
|
255,
|
|
138,
|
|
232,
|
|
149,
|
|
0,
|
|
117,
|
|
62,
|
|
68,
|
|
255,
|
|
63,
|
|
216,
|
|
188,
|
|
255,
|
|
235,
|
|
234,
|
|
32,
|
|
254,
|
|
29,
|
|
57,
|
|
160,
|
|
255,
|
|
25,
|
|
12,
|
|
241,
|
|
1,
|
|
169,
|
|
60,
|
|
191,
|
|
0,
|
|
32,
|
|
131,
|
|
141,
|
|
255,
|
|
237,
|
|
159,
|
|
123,
|
|
255,
|
|
94,
|
|
197,
|
|
94,
|
|
254,
|
|
116,
|
|
254,
|
|
3,
|
|
255,
|
|
92,
|
|
179,
|
|
97,
|
|
254,
|
|
121,
|
|
97,
|
|
92,
|
|
255,
|
|
170,
|
|
112,
|
|
14,
|
|
0,
|
|
21,
|
|
149,
|
|
248,
|
|
0,
|
|
248,
|
|
227,
|
|
3,
|
|
0,
|
|
80,
|
|
96,
|
|
109,
|
|
0,
|
|
75,
|
|
192,
|
|
74,
|
|
1,
|
|
12,
|
|
90,
|
|
226,
|
|
255,
|
|
161,
|
|
106,
|
|
68,
|
|
1,
|
|
208,
|
|
114,
|
|
127,
|
|
255,
|
|
114,
|
|
42,
|
|
255,
|
|
254,
|
|
74,
|
|
26,
|
|
74,
|
|
255,
|
|
247,
|
|
179,
|
|
150,
|
|
254,
|
|
121,
|
|
140,
|
|
60,
|
|
0,
|
|
147,
|
|
70,
|
|
200,
|
|
255,
|
|
214,
|
|
40,
|
|
161,
|
|
255,
|
|
161,
|
|
188,
|
|
201,
|
|
255,
|
|
141,
|
|
65,
|
|
135,
|
|
255,
|
|
242,
|
|
115,
|
|
252,
|
|
0,
|
|
62,
|
|
47,
|
|
202,
|
|
0,
|
|
180,
|
|
149,
|
|
255,
|
|
254,
|
|
130,
|
|
55,
|
|
237,
|
|
0,
|
|
165,
|
|
17,
|
|
186,
|
|
255,
|
|
10,
|
|
169,
|
|
194,
|
|
0,
|
|
156,
|
|
109,
|
|
218,
|
|
255,
|
|
112,
|
|
140,
|
|
123,
|
|
255,
|
|
104,
|
|
128,
|
|
223,
|
|
254,
|
|
177,
|
|
142,
|
|
108,
|
|
255,
|
|
121,
|
|
37,
|
|
219,
|
|
255,
|
|
128,
|
|
77,
|
|
18,
|
|
255,
|
|
111,
|
|
108,
|
|
23,
|
|
1,
|
|
91,
|
|
192,
|
|
75,
|
|
0,
|
|
174,
|
|
245,
|
|
22,
|
|
255,
|
|
4,
|
|
236,
|
|
62,
|
|
255,
|
|
43,
|
|
64,
|
|
153,
|
|
1,
|
|
227,
|
|
173,
|
|
254,
|
|
0,
|
|
237,
|
|
122,
|
|
132,
|
|
1,
|
|
127,
|
|
89,
|
|
186,
|
|
255,
|
|
142,
|
|
82,
|
|
128,
|
|
254,
|
|
252,
|
|
84,
|
|
174,
|
|
0,
|
|
90,
|
|
179,
|
|
177,
|
|
1,
|
|
243,
|
|
214,
|
|
87,
|
|
255,
|
|
103,
|
|
60,
|
|
162,
|
|
255,
|
|
208,
|
|
130,
|
|
14,
|
|
255,
|
|
11,
|
|
130,
|
|
139,
|
|
0,
|
|
206,
|
|
129,
|
|
219,
|
|
255,
|
|
94,
|
|
217,
|
|
157,
|
|
255,
|
|
239,
|
|
230,
|
|
230,
|
|
255,
|
|
116,
|
|
115,
|
|
159,
|
|
254,
|
|
164,
|
|
107,
|
|
95,
|
|
0,
|
|
51,
|
|
218,
|
|
2,
|
|
1,
|
|
216,
|
|
125,
|
|
198,
|
|
255,
|
|
140,
|
|
202,
|
|
128,
|
|
254,
|
|
11,
|
|
95,
|
|
68,
|
|
255,
|
|
55,
|
|
9,
|
|
93,
|
|
254,
|
|
174,
|
|
153,
|
|
6,
|
|
255,
|
|
204,
|
|
172,
|
|
96,
|
|
0,
|
|
69,
|
|
160,
|
|
110,
|
|
0,
|
|
213,
|
|
38,
|
|
49,
|
|
254,
|
|
27,
|
|
80,
|
|
213,
|
|
0,
|
|
118,
|
|
125,
|
|
114,
|
|
0,
|
|
70,
|
|
70,
|
|
67,
|
|
255,
|
|
15,
|
|
142,
|
|
73,
|
|
255,
|
|
131,
|
|
122,
|
|
185,
|
|
255,
|
|
243,
|
|
20,
|
|
50,
|
|
254,
|
|
130,
|
|
237,
|
|
40,
|
|
0,
|
|
210,
|
|
159,
|
|
140,
|
|
1,
|
|
197,
|
|
151,
|
|
65,
|
|
255,
|
|
84,
|
|
153,
|
|
66,
|
|
0,
|
|
195,
|
|
126,
|
|
90,
|
|
0,
|
|
16,
|
|
238,
|
|
236,
|
|
1,
|
|
118,
|
|
187,
|
|
102,
|
|
255,
|
|
3,
|
|
24,
|
|
133,
|
|
255,
|
|
187,
|
|
69,
|
|
230,
|
|
0,
|
|
56,
|
|
197,
|
|
92,
|
|
1,
|
|
213,
|
|
69,
|
|
94,
|
|
255,
|
|
80,
|
|
138,
|
|
229,
|
|
1,
|
|
206,
|
|
7,
|
|
230,
|
|
0,
|
|
222,
|
|
111,
|
|
230,
|
|
1,
|
|
91,
|
|
233,
|
|
119,
|
|
255,
|
|
9,
|
|
89,
|
|
7,
|
|
1,
|
|
2,
|
|
98,
|
|
1,
|
|
0,
|
|
148,
|
|
74,
|
|
133,
|
|
255,
|
|
51,
|
|
246,
|
|
180,
|
|
255,
|
|
228,
|
|
177,
|
|
112,
|
|
1,
|
|
58,
|
|
189,
|
|
108,
|
|
255,
|
|
194,
|
|
203,
|
|
237,
|
|
254,
|
|
21,
|
|
209,
|
|
195,
|
|
0,
|
|
147,
|
|
10,
|
|
35,
|
|
1,
|
|
86,
|
|
157,
|
|
226,
|
|
0,
|
|
31,
|
|
163,
|
|
139,
|
|
254,
|
|
56,
|
|
7,
|
|
75,
|
|
255,
|
|
62,
|
|
90,
|
|
116,
|
|
0,
|
|
181,
|
|
60,
|
|
169,
|
|
0,
|
|
138,
|
|
162,
|
|
212,
|
|
254,
|
|
81,
|
|
167,
|
|
31,
|
|
0,
|
|
205,
|
|
90,
|
|
112,
|
|
255,
|
|
33,
|
|
112,
|
|
227,
|
|
0,
|
|
83,
|
|
151,
|
|
117,
|
|
1,
|
|
177,
|
|
224,
|
|
73,
|
|
255,
|
|
174,
|
|
144,
|
|
217,
|
|
255,
|
|
230,
|
|
204,
|
|
79,
|
|
255,
|
|
22,
|
|
77,
|
|
232,
|
|
255,
|
|
114,
|
|
78,
|
|
234,
|
|
0,
|
|
224,
|
|
57,
|
|
126,
|
|
254,
|
|
9,
|
|
49,
|
|
141,
|
|
0,
|
|
242,
|
|
147,
|
|
165,
|
|
1,
|
|
104,
|
|
182,
|
|
140,
|
|
255,
|
|
167,
|
|
132,
|
|
12,
|
|
1,
|
|
123,
|
|
68,
|
|
127,
|
|
0,
|
|
225,
|
|
87,
|
|
39,
|
|
1,
|
|
251,
|
|
108,
|
|
8,
|
|
0,
|
|
198,
|
|
193,
|
|
143,
|
|
1,
|
|
121,
|
|
135,
|
|
207,
|
|
255,
|
|
172,
|
|
22,
|
|
70,
|
|
0,
|
|
50,
|
|
68,
|
|
116,
|
|
255,
|
|
101,
|
|
175,
|
|
40,
|
|
255,
|
|
248,
|
|
105,
|
|
233,
|
|
0,
|
|
166,
|
|
203,
|
|
7,
|
|
0,
|
|
110,
|
|
197,
|
|
218,
|
|
0,
|
|
215,
|
|
254,
|
|
26,
|
|
254,
|
|
168,
|
|
226,
|
|
253,
|
|
0,
|
|
31,
|
|
143,
|
|
96,
|
|
0,
|
|
11,
|
|
103,
|
|
41,
|
|
0,
|
|
183,
|
|
129,
|
|
203,
|
|
254,
|
|
100,
|
|
247,
|
|
74,
|
|
255,
|
|
213,
|
|
126,
|
|
132,
|
|
0,
|
|
210,
|
|
147,
|
|
44,
|
|
0,
|
|
199,
|
|
234,
|
|
27,
|
|
1,
|
|
148,
|
|
47,
|
|
181,
|
|
0,
|
|
155,
|
|
91,
|
|
158,
|
|
1,
|
|
54,
|
|
105,
|
|
175,
|
|
255,
|
|
2,
|
|
78,
|
|
145,
|
|
254,
|
|
102,
|
|
154,
|
|
95,
|
|
0,
|
|
128,
|
|
207,
|
|
127,
|
|
254,
|
|
52,
|
|
124,
|
|
236,
|
|
255,
|
|
130,
|
|
84,
|
|
71,
|
|
0,
|
|
221,
|
|
243,
|
|
211,
|
|
0,
|
|
152,
|
|
170,
|
|
207,
|
|
0,
|
|
222,
|
|
106,
|
|
199,
|
|
0,
|
|
183,
|
|
84,
|
|
94,
|
|
254,
|
|
92,
|
|
200,
|
|
56,
|
|
255,
|
|
138,
|
|
182,
|
|
115,
|
|
1,
|
|
142,
|
|
96,
|
|
146,
|
|
0,
|
|
133,
|
|
136,
|
|
228,
|
|
0,
|
|
97,
|
|
18,
|
|
150,
|
|
0,
|
|
55,
|
|
251,
|
|
66,
|
|
0,
|
|
140,
|
|
102,
|
|
4,
|
|
0,
|
|
202,
|
|
103,
|
|
151,
|
|
0,
|
|
30,
|
|
19,
|
|
248,
|
|
255,
|
|
51,
|
|
184,
|
|
207,
|
|
0,
|
|
202,
|
|
198,
|
|
89,
|
|
0,
|
|
55,
|
|
197,
|
|
225,
|
|
254,
|
|
169,
|
|
95,
|
|
249,
|
|
255,
|
|
66,
|
|
65,
|
|
68,
|
|
255,
|
|
188,
|
|
234,
|
|
126,
|
|
0,
|
|
166,
|
|
223,
|
|
100,
|
|
1,
|
|
112,
|
|
239,
|
|
244,
|
|
0,
|
|
144,
|
|
23,
|
|
194,
|
|
0,
|
|
58,
|
|
39,
|
|
182,
|
|
0,
|
|
244,
|
|
44,
|
|
24,
|
|
254,
|
|
175,
|
|
68,
|
|
179,
|
|
255,
|
|
152,
|
|
118,
|
|
154,
|
|
1,
|
|
176,
|
|
162,
|
|
130,
|
|
0,
|
|
217,
|
|
114,
|
|
204,
|
|
254,
|
|
173,
|
|
126,
|
|
78,
|
|
255,
|
|
33,
|
|
222,
|
|
30,
|
|
255,
|
|
36,
|
|
2,
|
|
91,
|
|
255,
|
|
2,
|
|
143,
|
|
243,
|
|
0,
|
|
9,
|
|
235,
|
|
215,
|
|
0,
|
|
3,
|
|
171,
|
|
151,
|
|
1,
|
|
24,
|
|
215,
|
|
245,
|
|
255,
|
|
168,
|
|
47,
|
|
164,
|
|
254,
|
|
241,
|
|
146,
|
|
207,
|
|
0,
|
|
69,
|
|
129,
|
|
180,
|
|
0,
|
|
68,
|
|
243,
|
|
113,
|
|
0,
|
|
144,
|
|
53,
|
|
72,
|
|
254,
|
|
251,
|
|
45,
|
|
14,
|
|
0,
|
|
23,
|
|
110,
|
|
168,
|
|
0,
|
|
68,
|
|
68,
|
|
79,
|
|
255,
|
|
110,
|
|
70,
|
|
95,
|
|
254,
|
|
174,
|
|
91,
|
|
144,
|
|
255,
|
|
33,
|
|
206,
|
|
95,
|
|
255,
|
|
137,
|
|
41,
|
|
7,
|
|
255,
|
|
19,
|
|
187,
|
|
153,
|
|
254,
|
|
35,
|
|
255,
|
|
112,
|
|
255,
|
|
9,
|
|
145,
|
|
185,
|
|
254,
|
|
50,
|
|
157,
|
|
37,
|
|
0,
|
|
11,
|
|
112,
|
|
49,
|
|
1,
|
|
102,
|
|
8,
|
|
190,
|
|
255,
|
|
234,
|
|
243,
|
|
169,
|
|
1,
|
|
60,
|
|
85,
|
|
23,
|
|
0,
|
|
74,
|
|
39,
|
|
189,
|
|
0,
|
|
116,
|
|
49,
|
|
239,
|
|
0,
|
|
173,
|
|
213,
|
|
210,
|
|
0,
|
|
46,
|
|
161,
|
|
108,
|
|
255,
|
|
159,
|
|
150,
|
|
37,
|
|
0,
|
|
196,
|
|
120,
|
|
185,
|
|
255,
|
|
34,
|
|
98,
|
|
6,
|
|
255,
|
|
153,
|
|
195,
|
|
62,
|
|
255,
|
|
97,
|
|
230,
|
|
71,
|
|
255,
|
|
102,
|
|
61,
|
|
76,
|
|
0,
|
|
26,
|
|
212,
|
|
236,
|
|
255,
|
|
164,
|
|
97,
|
|
16,
|
|
0,
|
|
198,
|
|
59,
|
|
146,
|
|
0,
|
|
163,
|
|
23,
|
|
196,
|
|
0,
|
|
56,
|
|
24,
|
|
61,
|
|
0,
|
|
181,
|
|
98,
|
|
193,
|
|
0,
|
|
251,
|
|
147,
|
|
229,
|
|
255,
|
|
98,
|
|
189,
|
|
24,
|
|
255,
|
|
46,
|
|
54,
|
|
206,
|
|
255,
|
|
234,
|
|
82,
|
|
246,
|
|
0,
|
|
183,
|
|
103,
|
|
38,
|
|
1,
|
|
109,
|
|
62,
|
|
204,
|
|
0,
|
|
10,
|
|
240,
|
|
224,
|
|
0,
|
|
146,
|
|
22,
|
|
117,
|
|
255,
|
|
142,
|
|
154,
|
|
120,
|
|
0,
|
|
69,
|
|
212,
|
|
35,
|
|
0,
|
|
208,
|
|
99,
|
|
118,
|
|
1,
|
|
121,
|
|
255,
|
|
3,
|
|
255,
|
|
72,
|
|
6,
|
|
194,
|
|
0,
|
|
117,
|
|
17,
|
|
197,
|
|
255,
|
|
125,
|
|
15,
|
|
23,
|
|
0,
|
|
154,
|
|
79,
|
|
153,
|
|
0,
|
|
214,
|
|
94,
|
|
197,
|
|
255,
|
|
185,
|
|
55,
|
|
147,
|
|
255,
|
|
62,
|
|
254,
|
|
78,
|
|
254,
|
|
127,
|
|
82,
|
|
153,
|
|
0,
|
|
110,
|
|
102,
|
|
63,
|
|
255,
|
|
108,
|
|
82,
|
|
161,
|
|
255,
|
|
105,
|
|
187,
|
|
212,
|
|
1,
|
|
80,
|
|
138,
|
|
39,
|
|
0,
|
|
60,
|
|
255,
|
|
93,
|
|
255,
|
|
72,
|
|
12,
|
|
186,
|
|
0,
|
|
210,
|
|
251,
|
|
31,
|
|
1,
|
|
190,
|
|
167,
|
|
144,
|
|
255,
|
|
228,
|
|
44,
|
|
19,
|
|
254,
|
|
128,
|
|
67,
|
|
232,
|
|
0,
|
|
214,
|
|
249,
|
|
107,
|
|
254,
|
|
136,
|
|
145,
|
|
86,
|
|
255,
|
|
132,
|
|
46,
|
|
176,
|
|
0,
|
|
189,
|
|
187,
|
|
227,
|
|
255,
|
|
208,
|
|
22,
|
|
140,
|
|
0,
|
|
217,
|
|
211,
|
|
116,
|
|
0,
|
|
50,
|
|
81,
|
|
186,
|
|
254,
|
|
139,
|
|
250,
|
|
31,
|
|
0,
|
|
30,
|
|
64,
|
|
198,
|
|
1,
|
|
135,
|
|
155,
|
|
100,
|
|
0,
|
|
160,
|
|
206,
|
|
23,
|
|
254,
|
|
187,
|
|
162,
|
|
211,
|
|
255,
|
|
16,
|
|
188,
|
|
63,
|
|
0,
|
|
254,
|
|
208,
|
|
49,
|
|
0,
|
|
85,
|
|
84,
|
|
191,
|
|
0,
|
|
241,
|
|
192,
|
|
242,
|
|
255,
|
|
153,
|
|
126,
|
|
145,
|
|
1,
|
|
234,
|
|
162,
|
|
162,
|
|
255,
|
|
230,
|
|
97,
|
|
216,
|
|
1,
|
|
64,
|
|
135,
|
|
126,
|
|
0,
|
|
190,
|
|
148,
|
|
223,
|
|
1,
|
|
52,
|
|
0,
|
|
43,
|
|
255,
|
|
28,
|
|
39,
|
|
189,
|
|
1,
|
|
64,
|
|
136,
|
|
238,
|
|
0,
|
|
175,
|
|
196,
|
|
185,
|
|
0,
|
|
98,
|
|
226,
|
|
213,
|
|
255,
|
|
127,
|
|
159,
|
|
244,
|
|
1,
|
|
226,
|
|
175,
|
|
60,
|
|
0,
|
|
160,
|
|
233,
|
|
142,
|
|
1,
|
|
180,
|
|
243,
|
|
207,
|
|
255,
|
|
69,
|
|
152,
|
|
89,
|
|
1,
|
|
31,
|
|
101,
|
|
21,
|
|
0,
|
|
144,
|
|
25,
|
|
164,
|
|
254,
|
|
139,
|
|
191,
|
|
209,
|
|
0,
|
|
91,
|
|
25,
|
|
121,
|
|
0,
|
|
32,
|
|
147,
|
|
5,
|
|
0,
|
|
39,
|
|
186,
|
|
123,
|
|
255,
|
|
63,
|
|
115,
|
|
230,
|
|
255,
|
|
93,
|
|
167,
|
|
198,
|
|
255,
|
|
143,
|
|
213,
|
|
220,
|
|
255,
|
|
179,
|
|
156,
|
|
19,
|
|
255,
|
|
25,
|
|
66,
|
|
122,
|
|
0,
|
|
214,
|
|
160,
|
|
217,
|
|
255,
|
|
2,
|
|
45,
|
|
62,
|
|
255,
|
|
106,
|
|
79,
|
|
146,
|
|
254,
|
|
51,
|
|
137,
|
|
99,
|
|
255,
|
|
87,
|
|
100,
|
|
231,
|
|
255,
|
|
175,
|
|
145,
|
|
232,
|
|
255,
|
|
101,
|
|
184,
|
|
1,
|
|
255,
|
|
174,
|
|
9,
|
|
125,
|
|
0,
|
|
82,
|
|
37,
|
|
161,
|
|
1,
|
|
36,
|
|
114,
|
|
141,
|
|
255,
|
|
48,
|
|
222,
|
|
142,
|
|
255,
|
|
245,
|
|
186,
|
|
154,
|
|
0,
|
|
5,
|
|
174,
|
|
221,
|
|
254,
|
|
63,
|
|
114,
|
|
155,
|
|
255,
|
|
135,
|
|
55,
|
|
160,
|
|
1,
|
|
80,
|
|
31,
|
|
135,
|
|
0,
|
|
126,
|
|
250,
|
|
179,
|
|
1,
|
|
236,
|
|
218,
|
|
45,
|
|
0,
|
|
20,
|
|
28,
|
|
145,
|
|
1,
|
|
16,
|
|
147,
|
|
73,
|
|
0,
|
|
249,
|
|
189,
|
|
132,
|
|
1,
|
|
17,
|
|
189,
|
|
192,
|
|
255,
|
|
223,
|
|
142,
|
|
198,
|
|
255,
|
|
72,
|
|
20,
|
|
15,
|
|
255,
|
|
250,
|
|
53,
|
|
237,
|
|
254,
|
|
15,
|
|
11,
|
|
18,
|
|
0,
|
|
27,
|
|
211,
|
|
113,
|
|
254,
|
|
213,
|
|
107,
|
|
56,
|
|
255,
|
|
174,
|
|
147,
|
|
146,
|
|
255,
|
|
96,
|
|
126,
|
|
48,
|
|
0,
|
|
23,
|
|
193,
|
|
109,
|
|
1,
|
|
37,
|
|
162,
|
|
94,
|
|
0,
|
|
199,
|
|
157,
|
|
249,
|
|
254,
|
|
24,
|
|
128,
|
|
187,
|
|
255,
|
|
205,
|
|
49,
|
|
178,
|
|
254,
|
|
93,
|
|
164,
|
|
42,
|
|
255,
|
|
43,
|
|
119,
|
|
235,
|
|
1,
|
|
88,
|
|
183,
|
|
237,
|
|
255,
|
|
218,
|
|
210,
|
|
1,
|
|
255,
|
|
107,
|
|
254,
|
|
42,
|
|
0,
|
|
230,
|
|
10,
|
|
99,
|
|
255,
|
|
162,
|
|
0,
|
|
226,
|
|
0,
|
|
219,
|
|
237,
|
|
91,
|
|
0,
|
|
129,
|
|
178,
|
|
203,
|
|
0,
|
|
208,
|
|
50,
|
|
95,
|
|
254,
|
|
206,
|
|
208,
|
|
95,
|
|
255,
|
|
247,
|
|
191,
|
|
89,
|
|
254,
|
|
110,
|
|
234,
|
|
79,
|
|
255,
|
|
165,
|
|
61,
|
|
243,
|
|
0,
|
|
20,
|
|
122,
|
|
112,
|
|
255,
|
|
246,
|
|
246,
|
|
185,
|
|
254,
|
|
103,
|
|
4,
|
|
123,
|
|
0,
|
|
233,
|
|
99,
|
|
230,
|
|
1,
|
|
219,
|
|
91,
|
|
252,
|
|
255,
|
|
199,
|
|
222,
|
|
22,
|
|
255,
|
|
179,
|
|
245,
|
|
233,
|
|
255,
|
|
211,
|
|
241,
|
|
234,
|
|
0,
|
|
111,
|
|
250,
|
|
192,
|
|
255,
|
|
85,
|
|
84,
|
|
136,
|
|
0,
|
|
101,
|
|
58,
|
|
50,
|
|
255,
|
|
131,
|
|
173,
|
|
156,
|
|
254,
|
|
119,
|
|
45,
|
|
51,
|
|
255,
|
|
118,
|
|
233,
|
|
16,
|
|
254,
|
|
242,
|
|
90,
|
|
214,
|
|
0,
|
|
94,
|
|
159,
|
|
219,
|
|
1,
|
|
3,
|
|
3,
|
|
234,
|
|
255,
|
|
98,
|
|
76,
|
|
92,
|
|
254,
|
|
80,
|
|
54,
|
|
230,
|
|
0,
|
|
5,
|
|
228,
|
|
231,
|
|
254,
|
|
53,
|
|
24,
|
|
223,
|
|
255,
|
|
113,
|
|
56,
|
|
118,
|
|
1,
|
|
20,
|
|
132,
|
|
1,
|
|
255,
|
|
171,
|
|
210,
|
|
236,
|
|
0,
|
|
56,
|
|
241,
|
|
158,
|
|
255,
|
|
186,
|
|
115,
|
|
19,
|
|
255,
|
|
8,
|
|
229,
|
|
174,
|
|
0,
|
|
48,
|
|
44,
|
|
0,
|
|
1,
|
|
114,
|
|
114,
|
|
166,
|
|
255,
|
|
6,
|
|
73,
|
|
226,
|
|
255,
|
|
205,
|
|
89,
|
|
244,
|
|
0,
|
|
137,
|
|
227,
|
|
75,
|
|
1,
|
|
248,
|
|
173,
|
|
56,
|
|
0,
|
|
74,
|
|
120,
|
|
246,
|
|
254,
|
|
119,
|
|
3,
|
|
11,
|
|
255,
|
|
81,
|
|
120,
|
|
198,
|
|
255,
|
|
136,
|
|
122,
|
|
98,
|
|
255,
|
|
146,
|
|
241,
|
|
221,
|
|
1,
|
|
109,
|
|
194,
|
|
78,
|
|
255,
|
|
223,
|
|
241,
|
|
70,
|
|
1,
|
|
214,
|
|
200,
|
|
169,
|
|
255,
|
|
97,
|
|
190,
|
|
47,
|
|
255,
|
|
47,
|
|
103,
|
|
174,
|
|
255,
|
|
99,
|
|
92,
|
|
72,
|
|
254,
|
|
118,
|
|
233,
|
|
180,
|
|
255,
|
|
193,
|
|
35,
|
|
233,
|
|
254,
|
|
26,
|
|
229,
|
|
32,
|
|
255,
|
|
222,
|
|
252,
|
|
198,
|
|
0,
|
|
204,
|
|
43,
|
|
71,
|
|
255,
|
|
199,
|
|
84,
|
|
172,
|
|
0,
|
|
134,
|
|
102,
|
|
190,
|
|
0,
|
|
111,
|
|
238,
|
|
97,
|
|
254,
|
|
230,
|
|
40,
|
|
230,
|
|
0,
|
|
227,
|
|
205,
|
|
64,
|
|
254,
|
|
200,
|
|
12,
|
|
225,
|
|
0,
|
|
166,
|
|
25,
|
|
222,
|
|
0,
|
|
113,
|
|
69,
|
|
51,
|
|
255,
|
|
143,
|
|
159,
|
|
24,
|
|
0,
|
|
167,
|
|
184,
|
|
74,
|
|
0,
|
|
29,
|
|
224,
|
|
116,
|
|
254,
|
|
158,
|
|
208,
|
|
233,
|
|
0,
|
|
193,
|
|
116,
|
|
126,
|
|
255,
|
|
212,
|
|
11,
|
|
133,
|
|
255,
|
|
22,
|
|
58,
|
|
140,
|
|
1,
|
|
204,
|
|
36,
|
|
51,
|
|
255,
|
|
232,
|
|
30,
|
|
43,
|
|
0,
|
|
235,
|
|
70,
|
|
181,
|
|
255,
|
|
64,
|
|
56,
|
|
146,
|
|
254,
|
|
169,
|
|
18,
|
|
84,
|
|
255,
|
|
226,
|
|
1,
|
|
13,
|
|
255,
|
|
200,
|
|
50,
|
|
176,
|
|
255,
|
|
52,
|
|
213,
|
|
245,
|
|
254,
|
|
168,
|
|
209,
|
|
97,
|
|
0,
|
|
191,
|
|
71,
|
|
55,
|
|
0,
|
|
34,
|
|
78,
|
|
156,
|
|
0,
|
|
232,
|
|
144,
|
|
58,
|
|
1,
|
|
185,
|
|
74,
|
|
189,
|
|
0,
|
|
186,
|
|
142,
|
|
149,
|
|
254,
|
|
64,
|
|
69,
|
|
127,
|
|
255,
|
|
161,
|
|
203,
|
|
147,
|
|
255,
|
|
176,
|
|
151,
|
|
191,
|
|
0,
|
|
136,
|
|
231,
|
|
203,
|
|
254,
|
|
163,
|
|
182,
|
|
137,
|
|
0,
|
|
161,
|
|
126,
|
|
251,
|
|
254,
|
|
233,
|
|
32,
|
|
66,
|
|
0,
|
|
68,
|
|
207,
|
|
66,
|
|
0,
|
|
30,
|
|
28,
|
|
37,
|
|
0,
|
|
93,
|
|
114,
|
|
96,
|
|
1,
|
|
254,
|
|
92,
|
|
247,
|
|
255,
|
|
44,
|
|
171,
|
|
69,
|
|
0,
|
|
202,
|
|
119,
|
|
11,
|
|
255,
|
|
188,
|
|
118,
|
|
50,
|
|
1,
|
|
255,
|
|
83,
|
|
136,
|
|
255,
|
|
71,
|
|
82,
|
|
26,
|
|
0,
|
|
70,
|
|
227,
|
|
2,
|
|
0,
|
|
32,
|
|
235,
|
|
121,
|
|
1,
|
|
181,
|
|
41,
|
|
154,
|
|
0,
|
|
71,
|
|
134,
|
|
229,
|
|
254,
|
|
202,
|
|
255,
|
|
36,
|
|
0,
|
|
41,
|
|
152,
|
|
5,
|
|
0,
|
|
154,
|
|
63,
|
|
73,
|
|
255,
|
|
34,
|
|
182,
|
|
124,
|
|
0,
|
|
121,
|
|
221,
|
|
150,
|
|
255,
|
|
26,
|
|
204,
|
|
213,
|
|
1,
|
|
41,
|
|
172,
|
|
87,
|
|
0,
|
|
90,
|
|
157,
|
|
146,
|
|
255,
|
|
109,
|
|
130,
|
|
20,
|
|
0,
|
|
71,
|
|
107,
|
|
200,
|
|
255,
|
|
243,
|
|
102,
|
|
189,
|
|
0,
|
|
1,
|
|
195,
|
|
145,
|
|
254,
|
|
46,
|
|
88,
|
|
117,
|
|
0,
|
|
8,
|
|
206,
|
|
227,
|
|
0,
|
|
191,
|
|
110,
|
|
253,
|
|
255,
|
|
109,
|
|
128,
|
|
20,
|
|
254,
|
|
134,
|
|
85,
|
|
51,
|
|
255,
|
|
137,
|
|
177,
|
|
112,
|
|
1,
|
|
216,
|
|
34,
|
|
22,
|
|
255,
|
|
131,
|
|
16,
|
|
208,
|
|
255,
|
|
121,
|
|
149,
|
|
170,
|
|
0,
|
|
114,
|
|
19,
|
|
23,
|
|
1,
|
|
166,
|
|
80,
|
|
31,
|
|
255,
|
|
113,
|
|
240,
|
|
122,
|
|
0,
|
|
232,
|
|
179,
|
|
250,
|
|
0,
|
|
68,
|
|
110,
|
|
180,
|
|
254,
|
|
210,
|
|
170,
|
|
119,
|
|
0,
|
|
223,
|
|
108,
|
|
164,
|
|
255,
|
|
207,
|
|
79,
|
|
233,
|
|
255,
|
|
27,
|
|
229,
|
|
226,
|
|
254,
|
|
209,
|
|
98,
|
|
81,
|
|
255,
|
|
79,
|
|
68,
|
|
7,
|
|
0,
|
|
131,
|
|
185,
|
|
100,
|
|
0,
|
|
170,
|
|
29,
|
|
162,
|
|
255,
|
|
17,
|
|
162,
|
|
107,
|
|
255,
|
|
57,
|
|
21,
|
|
11,
|
|
1,
|
|
100,
|
|
200,
|
|
181,
|
|
255,
|
|
127,
|
|
65,
|
|
166,
|
|
1,
|
|
165,
|
|
134,
|
|
204,
|
|
0,
|
|
104,
|
|
167,
|
|
168,
|
|
0,
|
|
1,
|
|
164,
|
|
79,
|
|
0,
|
|
146,
|
|
135,
|
|
59,
|
|
1,
|
|
70,
|
|
50,
|
|
128,
|
|
255,
|
|
102,
|
|
119,
|
|
13,
|
|
254,
|
|
227,
|
|
6,
|
|
135,
|
|
0,
|
|
162,
|
|
142,
|
|
179,
|
|
255,
|
|
160,
|
|
100,
|
|
222,
|
|
0,
|
|
27,
|
|
224,
|
|
219,
|
|
1,
|
|
158,
|
|
93,
|
|
195,
|
|
255,
|
|
234,
|
|
141,
|
|
137,
|
|
0,
|
|
16,
|
|
24,
|
|
125,
|
|
255,
|
|
238,
|
|
206,
|
|
47,
|
|
255,
|
|
97,
|
|
17,
|
|
98,
|
|
255,
|
|
116,
|
|
110,
|
|
12,
|
|
255,
|
|
96,
|
|
115,
|
|
77,
|
|
0,
|
|
91,
|
|
227,
|
|
232,
|
|
255,
|
|
248,
|
|
254,
|
|
79,
|
|
255,
|
|
92,
|
|
229,
|
|
6,
|
|
254,
|
|
88,
|
|
198,
|
|
139,
|
|
0,
|
|
206,
|
|
75,
|
|
129,
|
|
0,
|
|
250,
|
|
77,
|
|
206,
|
|
255,
|
|
141,
|
|
244,
|
|
123,
|
|
1,
|
|
138,
|
|
69,
|
|
220,
|
|
0,
|
|
32,
|
|
151,
|
|
6,
|
|
1,
|
|
131,
|
|
167,
|
|
22,
|
|
255,
|
|
237,
|
|
68,
|
|
167,
|
|
254,
|
|
199,
|
|
189,
|
|
150,
|
|
0,
|
|
163,
|
|
171,
|
|
138,
|
|
255,
|
|
51,
|
|
188,
|
|
6,
|
|
255,
|
|
95,
|
|
29,
|
|
137,
|
|
254,
|
|
148,
|
|
226,
|
|
179,
|
|
0,
|
|
181,
|
|
107,
|
|
208,
|
|
255,
|
|
134,
|
|
31,
|
|
82,
|
|
255,
|
|
151,
|
|
101,
|
|
45,
|
|
255,
|
|
129,
|
|
202,
|
|
225,
|
|
0,
|
|
224,
|
|
72,
|
|
147,
|
|
0,
|
|
48,
|
|
138,
|
|
151,
|
|
255,
|
|
195,
|
|
64,
|
|
206,
|
|
254,
|
|
237,
|
|
218,
|
|
158,
|
|
0,
|
|
106,
|
|
29,
|
|
137,
|
|
254,
|
|
253,
|
|
189,
|
|
233,
|
|
255,
|
|
103,
|
|
15,
|
|
17,
|
|
255,
|
|
194,
|
|
97,
|
|
255,
|
|
0,
|
|
178,
|
|
45,
|
|
169,
|
|
254,
|
|
198,
|
|
225,
|
|
155,
|
|
0,
|
|
39,
|
|
48,
|
|
117,
|
|
255,
|
|
135,
|
|
106,
|
|
115,
|
|
0,
|
|
97,
|
|
38,
|
|
181,
|
|
0,
|
|
150,
|
|
47,
|
|
65,
|
|
255,
|
|
83,
|
|
130,
|
|
229,
|
|
254,
|
|
246,
|
|
38,
|
|
129,
|
|
0,
|
|
92,
|
|
239,
|
|
154,
|
|
254,
|
|
91,
|
|
99,
|
|
127,
|
|
0,
|
|
161,
|
|
111,
|
|
33,
|
|
255,
|
|
238,
|
|
217,
|
|
242,
|
|
255,
|
|
131,
|
|
185,
|
|
195,
|
|
255,
|
|
213,
|
|
191,
|
|
158,
|
|
255,
|
|
41,
|
|
150,
|
|
218,
|
|
0,
|
|
132,
|
|
169,
|
|
131,
|
|
0,
|
|
89,
|
|
84,
|
|
252,
|
|
1,
|
|
171,
|
|
70,
|
|
128,
|
|
255,
|
|
163,
|
|
248,
|
|
203,
|
|
254,
|
|
1,
|
|
50,
|
|
180,
|
|
255,
|
|
124,
|
|
76,
|
|
85,
|
|
1,
|
|
251,
|
|
111,
|
|
80,
|
|
0,
|
|
99,
|
|
66,
|
|
239,
|
|
255,
|
|
154,
|
|
237,
|
|
182,
|
|
255,
|
|
221,
|
|
126,
|
|
133,
|
|
254,
|
|
74,
|
|
204,
|
|
99,
|
|
255,
|
|
65,
|
|
147,
|
|
119,
|
|
255,
|
|
99,
|
|
56,
|
|
167,
|
|
255,
|
|
79,
|
|
248,
|
|
149,
|
|
255,
|
|
116,
|
|
155,
|
|
228,
|
|
255,
|
|
237,
|
|
43,
|
|
14,
|
|
254,
|
|
69,
|
|
137,
|
|
11,
|
|
255,
|
|
22,
|
|
250,
|
|
241,
|
|
1,
|
|
91,
|
|
122,
|
|
143,
|
|
255,
|
|
205,
|
|
249,
|
|
243,
|
|
0,
|
|
212,
|
|
26,
|
|
60,
|
|
255,
|
|
48,
|
|
182,
|
|
176,
|
|
1,
|
|
48,
|
|
23,
|
|
191,
|
|
255,
|
|
203,
|
|
121,
|
|
152,
|
|
254,
|
|
45,
|
|
74,
|
|
213,
|
|
255,
|
|
62,
|
|
90,
|
|
18,
|
|
254,
|
|
245,
|
|
163,
|
|
230,
|
|
255,
|
|
185,
|
|
106,
|
|
116,
|
|
255,
|
|
83,
|
|
35,
|
|
159,
|
|
0,
|
|
12,
|
|
33,
|
|
2,
|
|
255,
|
|
80,
|
|
34,
|
|
62,
|
|
0,
|
|
16,
|
|
87,
|
|
174,
|
|
255,
|
|
173,
|
|
101,
|
|
85,
|
|
0,
|
|
202,
|
|
36,
|
|
81,
|
|
254,
|
|
160,
|
|
69,
|
|
204,
|
|
255,
|
|
64,
|
|
225,
|
|
187,
|
|
0,
|
|
58,
|
|
206,
|
|
94,
|
|
0,
|
|
86,
|
|
144,
|
|
47,
|
|
0,
|
|
229,
|
|
86,
|
|
245,
|
|
0,
|
|
63,
|
|
145,
|
|
190,
|
|
1,
|
|
37,
|
|
5,
|
|
39,
|
|
0,
|
|
109,
|
|
251,
|
|
26,
|
|
0,
|
|
137,
|
|
147,
|
|
234,
|
|
0,
|
|
162,
|
|
121,
|
|
145,
|
|
255,
|
|
144,
|
|
116,
|
|
206,
|
|
255,
|
|
197,
|
|
232,
|
|
185,
|
|
255,
|
|
183,
|
|
190,
|
|
140,
|
|
255,
|
|
73,
|
|
12,
|
|
254,
|
|
255,
|
|
139,
|
|
20,
|
|
242,
|
|
255,
|
|
170,
|
|
90,
|
|
239,
|
|
255,
|
|
97,
|
|
66,
|
|
187,
|
|
255,
|
|
245,
|
|
181,
|
|
135,
|
|
254,
|
|
222,
|
|
136,
|
|
52,
|
|
0,
|
|
245,
|
|
5,
|
|
51,
|
|
254,
|
|
203,
|
|
47,
|
|
78,
|
|
0,
|
|
152,
|
|
101,
|
|
216,
|
|
0,
|
|
73,
|
|
23,
|
|
125,
|
|
0,
|
|
254,
|
|
96,
|
|
33,
|
|
1,
|
|
235,
|
|
210,
|
|
73,
|
|
255,
|
|
43,
|
|
209,
|
|
88,
|
|
1,
|
|
7,
|
|
129,
|
|
109,
|
|
0,
|
|
122,
|
|
104,
|
|
228,
|
|
254,
|
|
170,
|
|
242,
|
|
203,
|
|
0,
|
|
242,
|
|
204,
|
|
135,
|
|
255,
|
|
202,
|
|
28,
|
|
233,
|
|
255,
|
|
65,
|
|
6,
|
|
127,
|
|
0,
|
|
159,
|
|
144,
|
|
71,
|
|
0,
|
|
100,
|
|
140,
|
|
95,
|
|
0,
|
|
78,
|
|
150,
|
|
13,
|
|
0,
|
|
251,
|
|
107,
|
|
118,
|
|
1,
|
|
182,
|
|
58,
|
|
125,
|
|
255,
|
|
1,
|
|
38,
|
|
108,
|
|
255,
|
|
141,
|
|
189,
|
|
209,
|
|
255,
|
|
8,
|
|
155,
|
|
125,
|
|
1,
|
|
113,
|
|
163,
|
|
91,
|
|
255,
|
|
121,
|
|
79,
|
|
190,
|
|
255,
|
|
134,
|
|
239,
|
|
108,
|
|
255,
|
|
76,
|
|
47,
|
|
248,
|
|
0,
|
|
163,
|
|
228,
|
|
239,
|
|
0,
|
|
17,
|
|
111,
|
|
10,
|
|
0,
|
|
88,
|
|
149,
|
|
75,
|
|
255,
|
|
215,
|
|
235,
|
|
239,
|
|
0,
|
|
167,
|
|
159,
|
|
24,
|
|
255,
|
|
47,
|
|
151,
|
|
108,
|
|
255,
|
|
107,
|
|
209,
|
|
188,
|
|
0,
|
|
233,
|
|
231,
|
|
99,
|
|
254,
|
|
28,
|
|
202,
|
|
148,
|
|
255,
|
|
174,
|
|
35,
|
|
138,
|
|
255,
|
|
110,
|
|
24,
|
|
68,
|
|
255,
|
|
2,
|
|
69,
|
|
181,
|
|
0,
|
|
107,
|
|
102,
|
|
82,
|
|
0,
|
|
102,
|
|
237,
|
|
7,
|
|
0,
|
|
92,
|
|
36,
|
|
237,
|
|
255,
|
|
221,
|
|
162,
|
|
83,
|
|
1,
|
|
55,
|
|
202,
|
|
6,
|
|
255,
|
|
135,
|
|
234,
|
|
135,
|
|
255,
|
|
24,
|
|
250,
|
|
222,
|
|
0,
|
|
65,
|
|
94,
|
|
168,
|
|
254,
|
|
245,
|
|
248,
|
|
210,
|
|
255,
|
|
167,
|
|
108,
|
|
201,
|
|
254,
|
|
255,
|
|
161,
|
|
111,
|
|
0,
|
|
205,
|
|
8,
|
|
254,
|
|
0,
|
|
136,
|
|
13,
|
|
116,
|
|
0,
|
|
100,
|
|
176,
|
|
132,
|
|
255,
|
|
43,
|
|
215,
|
|
126,
|
|
255,
|
|
177,
|
|
133,
|
|
130,
|
|
255,
|
|
158,
|
|
79,
|
|
148,
|
|
0,
|
|
67,
|
|
224,
|
|
37,
|
|
1,
|
|
12,
|
|
206,
|
|
21,
|
|
255,
|
|
62,
|
|
34,
|
|
110,
|
|
1,
|
|
237,
|
|
104,
|
|
175,
|
|
255,
|
|
80,
|
|
132,
|
|
111,
|
|
255,
|
|
142,
|
|
174,
|
|
72,
|
|
0,
|
|
84,
|
|
229,
|
|
180,
|
|
254,
|
|
105,
|
|
179,
|
|
140,
|
|
0,
|
|
64,
|
|
248,
|
|
15,
|
|
255,
|
|
233,
|
|
138,
|
|
16,
|
|
0,
|
|
245,
|
|
67,
|
|
123,
|
|
254,
|
|
218,
|
|
121,
|
|
212,
|
|
255,
|
|
63,
|
|
95,
|
|
218,
|
|
1,
|
|
213,
|
|
133,
|
|
137,
|
|
255,
|
|
143,
|
|
182,
|
|
82,
|
|
255,
|
|
48,
|
|
28,
|
|
11,
|
|
0,
|
|
244,
|
|
114,
|
|
141,
|
|
1,
|
|
209,
|
|
175,
|
|
76,
|
|
255,
|
|
157,
|
|
181,
|
|
150,
|
|
255,
|
|
186,
|
|
229,
|
|
3,
|
|
255,
|
|
164,
|
|
157,
|
|
111,
|
|
1,
|
|
231,
|
|
189,
|
|
139,
|
|
0,
|
|
119,
|
|
202,
|
|
190,
|
|
255,
|
|
218,
|
|
106,
|
|
64,
|
|
255,
|
|
68,
|
|
235,
|
|
63,
|
|
254,
|
|
96,
|
|
26,
|
|
172,
|
|
255,
|
|
187,
|
|
47,
|
|
11,
|
|
1,
|
|
215,
|
|
18,
|
|
251,
|
|
255,
|
|
81,
|
|
84,
|
|
89,
|
|
0,
|
|
68,
|
|
58,
|
|
128,
|
|
0,
|
|
94,
|
|
113,
|
|
5,
|
|
1,
|
|
92,
|
|
129,
|
|
208,
|
|
255,
|
|
97,
|
|
15,
|
|
83,
|
|
254,
|
|
9,
|
|
28,
|
|
188,
|
|
0,
|
|
239,
|
|
9,
|
|
164,
|
|
0,
|
|
60,
|
|
205,
|
|
152,
|
|
0,
|
|
192,
|
|
163,
|
|
98,
|
|
255,
|
|
184,
|
|
18,
|
|
60,
|
|
0,
|
|
217,
|
|
182,
|
|
139,
|
|
0,
|
|
109,
|
|
59,
|
|
120,
|
|
255,
|
|
4,
|
|
192,
|
|
251,
|
|
0,
|
|
169,
|
|
210,
|
|
240,
|
|
255,
|
|
37,
|
|
172,
|
|
92,
|
|
254,
|
|
148,
|
|
211,
|
|
245,
|
|
255,
|
|
179,
|
|
65,
|
|
52,
|
|
0,
|
|
253,
|
|
13,
|
|
115,
|
|
0,
|
|
185,
|
|
174,
|
|
206,
|
|
1,
|
|
114,
|
|
188,
|
|
149,
|
|
255,
|
|
237,
|
|
90,
|
|
173,
|
|
0,
|
|
43,
|
|
199,
|
|
192,
|
|
255,
|
|
88,
|
|
108,
|
|
113,
|
|
0,
|
|
52,
|
|
35,
|
|
76,
|
|
0,
|
|
66,
|
|
25,
|
|
148,
|
|
255,
|
|
221,
|
|
4,
|
|
7,
|
|
255,
|
|
151,
|
|
241,
|
|
114,
|
|
255,
|
|
190,
|
|
209,
|
|
232,
|
|
0,
|
|
98,
|
|
50,
|
|
199,
|
|
0,
|
|
151,
|
|
150,
|
|
213,
|
|
255,
|
|
18,
|
|
74,
|
|
36,
|
|
1,
|
|
53,
|
|
40,
|
|
7,
|
|
0,
|
|
19,
|
|
135,
|
|
65,
|
|
255,
|
|
26,
|
|
172,
|
|
69,
|
|
0,
|
|
174,
|
|
237,
|
|
85,
|
|
0,
|
|
99,
|
|
95,
|
|
41,
|
|
0,
|
|
3,
|
|
56,
|
|
16,
|
|
0,
|
|
39,
|
|
160,
|
|
177,
|
|
255,
|
|
200,
|
|
106,
|
|
218,
|
|
254,
|
|
185,
|
|
68,
|
|
84,
|
|
255,
|
|
91,
|
|
186,
|
|
61,
|
|
254,
|
|
67,
|
|
143,
|
|
141,
|
|
255,
|
|
13,
|
|
244,
|
|
166,
|
|
255,
|
|
99,
|
|
114,
|
|
198,
|
|
0,
|
|
199,
|
|
110,
|
|
163,
|
|
255,
|
|
193,
|
|
18,
|
|
186,
|
|
0,
|
|
124,
|
|
239,
|
|
246,
|
|
1,
|
|
110,
|
|
68,
|
|
22,
|
|
0,
|
|
2,
|
|
235,
|
|
46,
|
|
1,
|
|
212,
|
|
60,
|
|
107,
|
|
0,
|
|
105,
|
|
42,
|
|
105,
|
|
1,
|
|
14,
|
|
230,
|
|
152,
|
|
0,
|
|
7,
|
|
5,
|
|
131,
|
|
0,
|
|
141,
|
|
104,
|
|
154,
|
|
255,
|
|
213,
|
|
3,
|
|
6,
|
|
0,
|
|
131,
|
|
228,
|
|
162,
|
|
255,
|
|
179,
|
|
100,
|
|
28,
|
|
1,
|
|
231,
|
|
123,
|
|
85,
|
|
255,
|
|
206,
|
|
14,
|
|
223,
|
|
1,
|
|
253,
|
|
96,
|
|
230,
|
|
0,
|
|
38,
|
|
152,
|
|
149,
|
|
1,
|
|
98,
|
|
137,
|
|
122,
|
|
0,
|
|
214,
|
|
205,
|
|
3,
|
|
255,
|
|
226,
|
|
152,
|
|
179,
|
|
255,
|
|
6,
|
|
133,
|
|
137,
|
|
0,
|
|
158,
|
|
69,
|
|
140,
|
|
255,
|
|
113,
|
|
162,
|
|
154,
|
|
255,
|
|
180,
|
|
243,
|
|
172,
|
|
255,
|
|
27,
|
|
189,
|
|
115,
|
|
255,
|
|
143,
|
|
46,
|
|
220,
|
|
255,
|
|
213,
|
|
134,
|
|
225,
|
|
255,
|
|
126,
|
|
29,
|
|
69,
|
|
0,
|
|
188,
|
|
43,
|
|
137,
|
|
1,
|
|
242,
|
|
70,
|
|
9,
|
|
0,
|
|
90,
|
|
204,
|
|
255,
|
|
255,
|
|
231,
|
|
170,
|
|
147,
|
|
0,
|
|
23,
|
|
56,
|
|
19,
|
|
254,
|
|
56,
|
|
125,
|
|
157,
|
|
255,
|
|
48,
|
|
179,
|
|
218,
|
|
255,
|
|
79,
|
|
182,
|
|
253,
|
|
255,
|
|
38,
|
|
212,
|
|
191,
|
|
1,
|
|
41,
|
|
235,
|
|
124,
|
|
0,
|
|
96,
|
|
151,
|
|
28,
|
|
0,
|
|
135,
|
|
148,
|
|
190,
|
|
0,
|
|
205,
|
|
249,
|
|
39,
|
|
254,
|
|
52,
|
|
96,
|
|
136,
|
|
255,
|
|
212,
|
|
44,
|
|
136,
|
|
255,
|
|
67,
|
|
209,
|
|
131,
|
|
255,
|
|
252,
|
|
130,
|
|
23,
|
|
255,
|
|
219,
|
|
128,
|
|
20,
|
|
255,
|
|
198,
|
|
129,
|
|
118,
|
|
0,
|
|
108,
|
|
101,
|
|
11,
|
|
0,
|
|
178,
|
|
5,
|
|
146,
|
|
1,
|
|
62,
|
|
7,
|
|
100,
|
|
255,
|
|
181,
|
|
236,
|
|
94,
|
|
254,
|
|
28,
|
|
26,
|
|
164,
|
|
0,
|
|
76,
|
|
22,
|
|
112,
|
|
255,
|
|
120,
|
|
102,
|
|
79,
|
|
0,
|
|
202,
|
|
192,
|
|
229,
|
|
1,
|
|
200,
|
|
176,
|
|
215,
|
|
0,
|
|
41,
|
|
64,
|
|
244,
|
|
255,
|
|
206,
|
|
184,
|
|
78,
|
|
0,
|
|
167,
|
|
45,
|
|
63,
|
|
1,
|
|
160,
|
|
35,
|
|
0,
|
|
255,
|
|
59,
|
|
12,
|
|
142,
|
|
255,
|
|
204,
|
|
9,
|
|
144,
|
|
255,
|
|
219,
|
|
94,
|
|
229,
|
|
1,
|
|
122,
|
|
27,
|
|
112,
|
|
0,
|
|
189,
|
|
105,
|
|
109,
|
|
255,
|
|
64,
|
|
208,
|
|
74,
|
|
255,
|
|
251,
|
|
127,
|
|
55,
|
|
1,
|
|
2,
|
|
226,
|
|
198,
|
|
0,
|
|
44,
|
|
76,
|
|
209,
|
|
0,
|
|
151,
|
|
152,
|
|
77,
|
|
255,
|
|
210,
|
|
23,
|
|
46,
|
|
1,
|
|
201,
|
|
171,
|
|
69,
|
|
255,
|
|
44,
|
|
211,
|
|
231,
|
|
0,
|
|
190,
|
|
37,
|
|
224,
|
|
255,
|
|
245,
|
|
196,
|
|
62,
|
|
255,
|
|
169,
|
|
181,
|
|
222,
|
|
255,
|
|
34,
|
|
211,
|
|
17,
|
|
0,
|
|
119,
|
|
241,
|
|
197,
|
|
255,
|
|
229,
|
|
35,
|
|
152,
|
|
1,
|
|
21,
|
|
69,
|
|
40,
|
|
255,
|
|
178,
|
|
226,
|
|
161,
|
|
0,
|
|
148,
|
|
179,
|
|
193,
|
|
0,
|
|
219,
|
|
194,
|
|
254,
|
|
1,
|
|
40,
|
|
206,
|
|
51,
|
|
255,
|
|
231,
|
|
92,
|
|
250,
|
|
1,
|
|
67,
|
|
153,
|
|
170,
|
|
0,
|
|
21,
|
|
148,
|
|
241,
|
|
0,
|
|
170,
|
|
69,
|
|
82,
|
|
255,
|
|
121,
|
|
18,
|
|
231,
|
|
255,
|
|
92,
|
|
114,
|
|
3,
|
|
0,
|
|
184,
|
|
62,
|
|
230,
|
|
0,
|
|
225,
|
|
201,
|
|
87,
|
|
255,
|
|
146,
|
|
96,
|
|
162,
|
|
255,
|
|
181,
|
|
242,
|
|
220,
|
|
0,
|
|
173,
|
|
187,
|
|
221,
|
|
1,
|
|
226,
|
|
62,
|
|
170,
|
|
255,
|
|
56,
|
|
126,
|
|
217,
|
|
1,
|
|
117,
|
|
13,
|
|
227,
|
|
255,
|
|
179,
|
|
44,
|
|
239,
|
|
0,
|
|
157,
|
|
141,
|
|
155,
|
|
255,
|
|
144,
|
|
221,
|
|
83,
|
|
0,
|
|
235,
|
|
209,
|
|
208,
|
|
0,
|
|
42,
|
|
17,
|
|
165,
|
|
1,
|
|
251,
|
|
81,
|
|
133,
|
|
0,
|
|
124,
|
|
245,
|
|
201,
|
|
254,
|
|
97,
|
|
211,
|
|
24,
|
|
255,
|
|
83,
|
|
214,
|
|
166,
|
|
0,
|
|
154,
|
|
36,
|
|
9,
|
|
255,
|
|
248,
|
|
47,
|
|
127,
|
|
0,
|
|
90,
|
|
219,
|
|
140,
|
|
255,
|
|
161,
|
|
217,
|
|
38,
|
|
254,
|
|
212,
|
|
147,
|
|
63,
|
|
255,
|
|
66,
|
|
84,
|
|
148,
|
|
1,
|
|
207,
|
|
3,
|
|
1,
|
|
0,
|
|
230,
|
|
134,
|
|
89,
|
|
1,
|
|
127,
|
|
78,
|
|
122,
|
|
255,
|
|
224,
|
|
155,
|
|
1,
|
|
255,
|
|
82,
|
|
136,
|
|
74,
|
|
0,
|
|
178,
|
|
156,
|
|
208,
|
|
255,
|
|
186,
|
|
25,
|
|
49,
|
|
255,
|
|
222,
|
|
3,
|
|
210,
|
|
1,
|
|
229,
|
|
150,
|
|
190,
|
|
255,
|
|
85,
|
|
162,
|
|
52,
|
|
255,
|
|
41,
|
|
84,
|
|
141,
|
|
255,
|
|
73,
|
|
123,
|
|
84,
|
|
254,
|
|
93,
|
|
17,
|
|
150,
|
|
0,
|
|
119,
|
|
19,
|
|
28,
|
|
1,
|
|
32,
|
|
22,
|
|
215,
|
|
255,
|
|
28,
|
|
23,
|
|
204,
|
|
255,
|
|
142,
|
|
241,
|
|
52,
|
|
255,
|
|
228,
|
|
52,
|
|
125,
|
|
0,
|
|
29,
|
|
76,
|
|
207,
|
|
0,
|
|
215,
|
|
167,
|
|
250,
|
|
254,
|
|
175,
|
|
164,
|
|
230,
|
|
0,
|
|
55,
|
|
207,
|
|
105,
|
|
1,
|
|
109,
|
|
187,
|
|
245,
|
|
255,
|
|
161,
|
|
44,
|
|
220,
|
|
1,
|
|
41,
|
|
101,
|
|
128,
|
|
255,
|
|
167,
|
|
16,
|
|
94,
|
|
0,
|
|
93,
|
|
214,
|
|
107,
|
|
255,
|
|
118,
|
|
72,
|
|
0,
|
|
254,
|
|
80,
|
|
61,
|
|
234,
|
|
255,
|
|
121,
|
|
175,
|
|
125,
|
|
0,
|
|
139,
|
|
169,
|
|
251,
|
|
0,
|
|
97,
|
|
39,
|
|
147,
|
|
254,
|
|
250,
|
|
196,
|
|
49,
|
|
255,
|
|
165,
|
|
179,
|
|
110,
|
|
254,
|
|
223,
|
|
70,
|
|
187,
|
|
255,
|
|
22,
|
|
142,
|
|
125,
|
|
1,
|
|
154,
|
|
179,
|
|
138,
|
|
255,
|
|
118,
|
|
176,
|
|
42,
|
|
1,
|
|
10,
|
|
174,
|
|
153,
|
|
0,
|
|
156,
|
|
92,
|
|
102,
|
|
0,
|
|
168,
|
|
13,
|
|
161,
|
|
255,
|
|
143,
|
|
16,
|
|
32,
|
|
0,
|
|
250,
|
|
197,
|
|
180,
|
|
255,
|
|
203,
|
|
163,
|
|
44,
|
|
1,
|
|
87,
|
|
32,
|
|
36,
|
|
0,
|
|
161,
|
|
153,
|
|
20,
|
|
255,
|
|
123,
|
|
252,
|
|
15,
|
|
0,
|
|
25,
|
|
227,
|
|
80,
|
|
0,
|
|
60,
|
|
88,
|
|
142,
|
|
0,
|
|
17,
|
|
22,
|
|
201,
|
|
1,
|
|
154,
|
|
205,
|
|
77,
|
|
255,
|
|
39,
|
|
63,
|
|
47,
|
|
0,
|
|
8,
|
|
122,
|
|
141,
|
|
0,
|
|
128,
|
|
23,
|
|
182,
|
|
254,
|
|
204,
|
|
39,
|
|
19,
|
|
255,
|
|
4,
|
|
112,
|
|
29,
|
|
255,
|
|
23,
|
|
36,
|
|
140,
|
|
255,
|
|
210,
|
|
234,
|
|
116,
|
|
254,
|
|
53,
|
|
50,
|
|
63,
|
|
255,
|
|
121,
|
|
171,
|
|
104,
|
|
255,
|
|
160,
|
|
219,
|
|
94,
|
|
0,
|
|
87,
|
|
82,
|
|
14,
|
|
254,
|
|
231,
|
|
42,
|
|
5,
|
|
0,
|
|
165,
|
|
139,
|
|
127,
|
|
254,
|
|
86,
|
|
78,
|
|
38,
|
|
0,
|
|
130,
|
|
60,
|
|
66,
|
|
254,
|
|
203,
|
|
30,
|
|
45,
|
|
255,
|
|
46,
|
|
196,
|
|
122,
|
|
1,
|
|
249,
|
|
53,
|
|
162,
|
|
255,
|
|
136,
|
|
143,
|
|
103,
|
|
254,
|
|
215,
|
|
210,
|
|
114,
|
|
0,
|
|
231,
|
|
7,
|
|
160,
|
|
254,
|
|
169,
|
|
152,
|
|
42,
|
|
255,
|
|
111,
|
|
45,
|
|
246,
|
|
0,
|
|
142,
|
|
131,
|
|
135,
|
|
255,
|
|
131,
|
|
71,
|
|
204,
|
|
255,
|
|
36,
|
|
226,
|
|
11,
|
|
0,
|
|
0,
|
|
28,
|
|
242,
|
|
255,
|
|
225,
|
|
138,
|
|
213,
|
|
255,
|
|
247,
|
|
46,
|
|
216,
|
|
254,
|
|
245,
|
|
3,
|
|
183,
|
|
0,
|
|
108,
|
|
252,
|
|
74,
|
|
1,
|
|
206,
|
|
26,
|
|
48,
|
|
255,
|
|
205,
|
|
54,
|
|
246,
|
|
255,
|
|
211,
|
|
198,
|
|
36,
|
|
255,
|
|
121,
|
|
35,
|
|
50,
|
|
0,
|
|
52,
|
|
216,
|
|
202,
|
|
255,
|
|
38,
|
|
139,
|
|
129,
|
|
254,
|
|
242,
|
|
73,
|
|
148,
|
|
0,
|
|
67,
|
|
231,
|
|
141,
|
|
255,
|
|
42,
|
|
47,
|
|
204,
|
|
0,
|
|
78,
|
|
116,
|
|
25,
|
|
1,
|
|
4,
|
|
225,
|
|
191,
|
|
255,
|
|
6,
|
|
147,
|
|
228,
|
|
0,
|
|
58,
|
|
88,
|
|
177,
|
|
0,
|
|
122,
|
|
165,
|
|
229,
|
|
255,
|
|
252,
|
|
83,
|
|
201,
|
|
255,
|
|
224,
|
|
167,
|
|
96,
|
|
1,
|
|
177,
|
|
184,
|
|
158,
|
|
255,
|
|
242,
|
|
105,
|
|
179,
|
|
1,
|
|
248,
|
|
198,
|
|
240,
|
|
0,
|
|
133,
|
|
66,
|
|
203,
|
|
1,
|
|
254,
|
|
36,
|
|
47,
|
|
0,
|
|
45,
|
|
24,
|
|
115,
|
|
255,
|
|
119,
|
|
62,
|
|
254,
|
|
0,
|
|
196,
|
|
225,
|
|
186,
|
|
254,
|
|
123,
|
|
141,
|
|
172,
|
|
0,
|
|
26,
|
|
85,
|
|
41,
|
|
255,
|
|
226,
|
|
111,
|
|
183,
|
|
0,
|
|
213,
|
|
231,
|
|
151,
|
|
0,
|
|
4,
|
|
59,
|
|
7,
|
|
255,
|
|
238,
|
|
138,
|
|
148,
|
|
0,
|
|
66,
|
|
147,
|
|
33,
|
|
255,
|
|
31,
|
|
246,
|
|
141,
|
|
255,
|
|
209,
|
|
141,
|
|
116,
|
|
255,
|
|
104,
|
|
112,
|
|
31,
|
|
0,
|
|
88,
|
|
161,
|
|
172,
|
|
0,
|
|
83,
|
|
215,
|
|
230,
|
|
254,
|
|
47,
|
|
111,
|
|
151,
|
|
0,
|
|
45,
|
|
38,
|
|
52,
|
|
1,
|
|
132,
|
|
45,
|
|
204,
|
|
0,
|
|
138,
|
|
128,
|
|
109,
|
|
254,
|
|
233,
|
|
117,
|
|
134,
|
|
255,
|
|
243,
|
|
190,
|
|
173,
|
|
254,
|
|
241,
|
|
236,
|
|
240,
|
|
0,
|
|
82,
|
|
127,
|
|
236,
|
|
254,
|
|
40,
|
|
223,
|
|
161,
|
|
255,
|
|
110,
|
|
182,
|
|
225,
|
|
255,
|
|
123,
|
|
174,
|
|
239,
|
|
0,
|
|
135,
|
|
242,
|
|
145,
|
|
1,
|
|
51,
|
|
209,
|
|
154,
|
|
0,
|
|
150,
|
|
3,
|
|
115,
|
|
254,
|
|
217,
|
|
164,
|
|
252,
|
|
255,
|
|
55,
|
|
156,
|
|
69,
|
|
1,
|
|
84,
|
|
94,
|
|
255,
|
|
255,
|
|
232,
|
|
73,
|
|
45,
|
|
1,
|
|
20,
|
|
19,
|
|
212,
|
|
255,
|
|
96,
|
|
197,
|
|
59,
|
|
254,
|
|
96,
|
|
251,
|
|
33,
|
|
0,
|
|
38,
|
|
199,
|
|
73,
|
|
1,
|
|
64,
|
|
172,
|
|
247,
|
|
255,
|
|
117,
|
|
116,
|
|
56,
|
|
255,
|
|
228,
|
|
17,
|
|
18,
|
|
0,
|
|
62,
|
|
138,
|
|
103,
|
|
1,
|
|
246,
|
|
229,
|
|
164,
|
|
255,
|
|
244,
|
|
118,
|
|
201,
|
|
254,
|
|
86,
|
|
32,
|
|
159,
|
|
255,
|
|
109,
|
|
34,
|
|
137,
|
|
1,
|
|
85,
|
|
211,
|
|
186,
|
|
0,
|
|
10,
|
|
193,
|
|
193,
|
|
254,
|
|
122,
|
|
194,
|
|
177,
|
|
0,
|
|
122,
|
|
238,
|
|
102,
|
|
255,
|
|
162,
|
|
218,
|
|
171,
|
|
0,
|
|
108,
|
|
217,
|
|
161,
|
|
1,
|
|
158,
|
|
170,
|
|
34,
|
|
0,
|
|
176,
|
|
47,
|
|
155,
|
|
1,
|
|
181,
|
|
228,
|
|
11,
|
|
255,
|
|
8,
|
|
156,
|
|
0,
|
|
0,
|
|
16,
|
|
75,
|
|
93,
|
|
0,
|
|
206,
|
|
98,
|
|
255,
|
|
1,
|
|
58,
|
|
154,
|
|
35,
|
|
0,
|
|
12,
|
|
243,
|
|
184,
|
|
254,
|
|
67,
|
|
117,
|
|
66,
|
|
255,
|
|
230,
|
|
229,
|
|
123,
|
|
0,
|
|
201,
|
|
42,
|
|
110,
|
|
0,
|
|
134,
|
|
228,
|
|
178,
|
|
254,
|
|
186,
|
|
108,
|
|
118,
|
|
255,
|
|
58,
|
|
19,
|
|
154,
|
|
255,
|
|
82,
|
|
169,
|
|
62,
|
|
255,
|
|
114,
|
|
143,
|
|
115,
|
|
1,
|
|
239,
|
|
196,
|
|
50,
|
|
255,
|
|
173,
|
|
48,
|
|
193,
|
|
255,
|
|
147,
|
|
2,
|
|
84,
|
|
255,
|
|
150,
|
|
134,
|
|
147,
|
|
254,
|
|
95,
|
|
232,
|
|
73,
|
|
0,
|
|
109,
|
|
227,
|
|
52,
|
|
254,
|
|
191,
|
|
137,
|
|
10,
|
|
0,
|
|
40,
|
|
204,
|
|
30,
|
|
254,
|
|
76,
|
|
52,
|
|
97,
|
|
255,
|
|
164,
|
|
235,
|
|
126,
|
|
0,
|
|
254,
|
|
124,
|
|
188,
|
|
0,
|
|
74,
|
|
182,
|
|
21,
|
|
1,
|
|
121,
|
|
29,
|
|
35,
|
|
255,
|
|
241,
|
|
30,
|
|
7,
|
|
254,
|
|
85,
|
|
218,
|
|
214,
|
|
255,
|
|
7,
|
|
84,
|
|
150,
|
|
254,
|
|
81,
|
|
27,
|
|
117,
|
|
255,
|
|
160,
|
|
159,
|
|
152,
|
|
254,
|
|
66,
|
|
24,
|
|
221,
|
|
255,
|
|
227,
|
|
10,
|
|
60,
|
|
1,
|
|
141,
|
|
135,
|
|
102,
|
|
0,
|
|
208,
|
|
189,
|
|
150,
|
|
1,
|
|
117,
|
|
179,
|
|
92,
|
|
0,
|
|
132,
|
|
22,
|
|
136,
|
|
255,
|
|
120,
|
|
199,
|
|
28,
|
|
0,
|
|
21,
|
|
129,
|
|
79,
|
|
254,
|
|
182,
|
|
9,
|
|
65,
|
|
0,
|
|
218,
|
|
163,
|
|
169,
|
|
0,
|
|
246,
|
|
147,
|
|
198,
|
|
255,
|
|
107,
|
|
38,
|
|
144,
|
|
1,
|
|
78,
|
|
175,
|
|
205,
|
|
255,
|
|
214,
|
|
5,
|
|
250,
|
|
254,
|
|
47,
|
|
88,
|
|
29,
|
|
255,
|
|
164,
|
|
47,
|
|
204,
|
|
255,
|
|
43,
|
|
55,
|
|
6,
|
|
255,
|
|
131,
|
|
134,
|
|
207,
|
|
254,
|
|
116,
|
|
100,
|
|
214,
|
|
0,
|
|
96,
|
|
140,
|
|
75,
|
|
1,
|
|
106,
|
|
220,
|
|
144,
|
|
0,
|
|
195,
|
|
32,
|
|
28,
|
|
1,
|
|
172,
|
|
81,
|
|
5,
|
|
255,
|
|
199,
|
|
179,
|
|
52,
|
|
255,
|
|
37,
|
|
84,
|
|
203,
|
|
0,
|
|
170,
|
|
112,
|
|
174,
|
|
0,
|
|
11,
|
|
4,
|
|
91,
|
|
0,
|
|
69,
|
|
244,
|
|
27,
|
|
1,
|
|
117,
|
|
131,
|
|
92,
|
|
0,
|
|
33,
|
|
152,
|
|
175,
|
|
255,
|
|
140,
|
|
153,
|
|
107,
|
|
255,
|
|
251,
|
|
135,
|
|
43,
|
|
254,
|
|
87,
|
|
138,
|
|
4,
|
|
255,
|
|
198,
|
|
234,
|
|
147,
|
|
254,
|
|
121,
|
|
152,
|
|
84,
|
|
255,
|
|
205,
|
|
101,
|
|
155,
|
|
1,
|
|
157,
|
|
9,
|
|
25,
|
|
0,
|
|
72,
|
|
106,
|
|
17,
|
|
254,
|
|
108,
|
|
153,
|
|
0,
|
|
255,
|
|
189,
|
|
229,
|
|
186,
|
|
0,
|
|
193,
|
|
8,
|
|
176,
|
|
255,
|
|
174,
|
|
149,
|
|
209,
|
|
0,
|
|
238,
|
|
130,
|
|
29,
|
|
0,
|
|
233,
|
|
214,
|
|
126,
|
|
1,
|
|
61,
|
|
226,
|
|
102,
|
|
0,
|
|
57,
|
|
163,
|
|
4,
|
|
1,
|
|
198,
|
|
111,
|
|
51,
|
|
255,
|
|
45,
|
|
79,
|
|
78,
|
|
1,
|
|
115,
|
|
210,
|
|
10,
|
|
255,
|
|
218,
|
|
9,
|
|
25,
|
|
255,
|
|
158,
|
|
139,
|
|
198,
|
|
255,
|
|
211,
|
|
82,
|
|
187,
|
|
254,
|
|
80,
|
|
133,
|
|
83,
|
|
0,
|
|
157,
|
|
129,
|
|
230,
|
|
1,
|
|
243,
|
|
133,
|
|
134,
|
|
255,
|
|
40,
|
|
136,
|
|
16,
|
|
0,
|
|
77,
|
|
107,
|
|
79,
|
|
255,
|
|
183,
|
|
85,
|
|
92,
|
|
1,
|
|
177,
|
|
204,
|
|
202,
|
|
0,
|
|
163,
|
|
71,
|
|
147,
|
|
255,
|
|
152,
|
|
69,
|
|
190,
|
|
0,
|
|
172,
|
|
51,
|
|
188,
|
|
1,
|
|
250,
|
|
210,
|
|
172,
|
|
255,
|
|
211,
|
|
242,
|
|
113,
|
|
1,
|
|
89,
|
|
89,
|
|
26,
|
|
255,
|
|
64,
|
|
66,
|
|
111,
|
|
254,
|
|
116,
|
|
152,
|
|
42,
|
|
0,
|
|
161,
|
|
39,
|
|
27,
|
|
255,
|
|
54,
|
|
80,
|
|
254,
|
|
0,
|
|
106,
|
|
209,
|
|
115,
|
|
1,
|
|
103,
|
|
124,
|
|
97,
|
|
0,
|
|
221,
|
|
230,
|
|
98,
|
|
255,
|
|
31,
|
|
231,
|
|
6,
|
|
0,
|
|
178,
|
|
192,
|
|
120,
|
|
254,
|
|
15,
|
|
217,
|
|
203,
|
|
255,
|
|
124,
|
|
158,
|
|
79,
|
|
0,
|
|
112,
|
|
145,
|
|
247,
|
|
0,
|
|
92,
|
|
250,
|
|
48,
|
|
1,
|
|
163,
|
|
181,
|
|
193,
|
|
255,
|
|
37,
|
|
47,
|
|
142,
|
|
254,
|
|
144,
|
|
189,
|
|
165,
|
|
255,
|
|
46,
|
|
146,
|
|
240,
|
|
0,
|
|
6,
|
|
75,
|
|
128,
|
|
0,
|
|
41,
|
|
157,
|
|
200,
|
|
254,
|
|
87,
|
|
121,
|
|
213,
|
|
0,
|
|
1,
|
|
113,
|
|
236,
|
|
0,
|
|
5,
|
|
45,
|
|
250,
|
|
0,
|
|
144,
|
|
12,
|
|
82,
|
|
0,
|
|
31,
|
|
108,
|
|
231,
|
|
0,
|
|
225,
|
|
239,
|
|
119,
|
|
255,
|
|
167,
|
|
7,
|
|
189,
|
|
255,
|
|
187,
|
|
228,
|
|
132,
|
|
255,
|
|
110,
|
|
189,
|
|
34,
|
|
0,
|
|
94,
|
|
44,
|
|
204,
|
|
1,
|
|
162,
|
|
52,
|
|
197,
|
|
0,
|
|
78,
|
|
188,
|
|
241,
|
|
254,
|
|
57,
|
|
20,
|
|
141,
|
|
0,
|
|
244,
|
|
146,
|
|
47,
|
|
1,
|
|
206,
|
|
100,
|
|
51,
|
|
0,
|
|
125,
|
|
107,
|
|
148,
|
|
254,
|
|
27,
|
|
195,
|
|
77,
|
|
0,
|
|
152,
|
|
253,
|
|
90,
|
|
1,
|
|
7,
|
|
143,
|
|
144,
|
|
255,
|
|
51,
|
|
37,
|
|
31,
|
|
0,
|
|
34,
|
|
119,
|
|
38,
|
|
255,
|
|
7,
|
|
197,
|
|
118,
|
|
0,
|
|
153,
|
|
188,
|
|
211,
|
|
0,
|
|
151,
|
|
20,
|
|
116,
|
|
254,
|
|
245,
|
|
65,
|
|
52,
|
|
255,
|
|
180,
|
|
253,
|
|
110,
|
|
1,
|
|
47,
|
|
177,
|
|
209,
|
|
0,
|
|
161,
|
|
99,
|
|
17,
|
|
255,
|
|
118,
|
|
222,
|
|
202,
|
|
0,
|
|
125,
|
|
179,
|
|
252,
|
|
1,
|
|
123,
|
|
54,
|
|
126,
|
|
255,
|
|
145,
|
|
57,
|
|
191,
|
|
0,
|
|
55,
|
|
186,
|
|
121,
|
|
0,
|
|
10,
|
|
243,
|
|
138,
|
|
0,
|
|
205,
|
|
211,
|
|
229,
|
|
255,
|
|
125,
|
|
156,
|
|
241,
|
|
254,
|
|
148,
|
|
156,
|
|
185,
|
|
255,
|
|
227,
|
|
19,
|
|
188,
|
|
255,
|
|
124,
|
|
41,
|
|
32,
|
|
255,
|
|
31,
|
|
34,
|
|
206,
|
|
254,
|
|
17,
|
|
57,
|
|
83,
|
|
0,
|
|
204,
|
|
22,
|
|
37,
|
|
255,
|
|
42,
|
|
96,
|
|
98,
|
|
0,
|
|
119,
|
|
102,
|
|
184,
|
|
1,
|
|
3,
|
|
190,
|
|
28,
|
|
0,
|
|
110,
|
|
82,
|
|
218,
|
|
255,
|
|
200,
|
|
204,
|
|
192,
|
|
255,
|
|
201,
|
|
145,
|
|
118,
|
|
0,
|
|
117,
|
|
204,
|
|
146,
|
|
0,
|
|
132,
|
|
32,
|
|
98,
|
|
1,
|
|
192,
|
|
194,
|
|
121,
|
|
0,
|
|
106,
|
|
161,
|
|
248,
|
|
1,
|
|
237,
|
|
88,
|
|
124,
|
|
0,
|
|
23,
|
|
212,
|
|
26,
|
|
0,
|
|
205,
|
|
171,
|
|
90,
|
|
255,
|
|
248,
|
|
48,
|
|
216,
|
|
1,
|
|
141,
|
|
37,
|
|
230,
|
|
255,
|
|
124,
|
|
203,
|
|
0,
|
|
254,
|
|
158,
|
|
168,
|
|
30,
|
|
255,
|
|
214,
|
|
248,
|
|
21,
|
|
0,
|
|
112,
|
|
187,
|
|
7,
|
|
255,
|
|
],
|
|
'i8',
|
|
ALLOC_NONE,
|
|
Runtime.GLOBAL_BASE + 20480
|
|
);
|
|
/* memory initializer */ allocate(
|
|
[
|
|
75,
|
|
133,
|
|
239,
|
|
255,
|
|
74,
|
|
227,
|
|
243,
|
|
255,
|
|
250,
|
|
147,
|
|
70,
|
|
0,
|
|
214,
|
|
120,
|
|
162,
|
|
0,
|
|
167,
|
|
9,
|
|
179,
|
|
255,
|
|
22,
|
|
158,
|
|
18,
|
|
0,
|
|
218,
|
|
77,
|
|
209,
|
|
1,
|
|
97,
|
|
109,
|
|
81,
|
|
255,
|
|
244,
|
|
33,
|
|
179,
|
|
255,
|
|
57,
|
|
52,
|
|
57,
|
|
255,
|
|
65,
|
|
172,
|
|
210,
|
|
255,
|
|
249,
|
|
71,
|
|
209,
|
|
255,
|
|
142,
|
|
169,
|
|
238,
|
|
0,
|
|
158,
|
|
189,
|
|
153,
|
|
255,
|
|
174,
|
|
254,
|
|
103,
|
|
254,
|
|
98,
|
|
33,
|
|
14,
|
|
0,
|
|
141,
|
|
76,
|
|
230,
|
|
255,
|
|
113,
|
|
139,
|
|
52,
|
|
255,
|
|
15,
|
|
58,
|
|
212,
|
|
0,
|
|
168,
|
|
215,
|
|
201,
|
|
255,
|
|
248,
|
|
204,
|
|
215,
|
|
1,
|
|
223,
|
|
68,
|
|
160,
|
|
255,
|
|
57,
|
|
154,
|
|
183,
|
|
254,
|
|
47,
|
|
231,
|
|
121,
|
|
0,
|
|
106,
|
|
166,
|
|
137,
|
|
0,
|
|
81,
|
|
136,
|
|
138,
|
|
0,
|
|
165,
|
|
43,
|
|
51,
|
|
0,
|
|
231,
|
|
139,
|
|
61,
|
|
0,
|
|
57,
|
|
95,
|
|
59,
|
|
254,
|
|
118,
|
|
98,
|
|
25,
|
|
255,
|
|
151,
|
|
63,
|
|
236,
|
|
1,
|
|
94,
|
|
190,
|
|
250,
|
|
255,
|
|
169,
|
|
185,
|
|
114,
|
|
1,
|
|
5,
|
|
250,
|
|
58,
|
|
255,
|
|
75,
|
|
105,
|
|
97,
|
|
1,
|
|
215,
|
|
223,
|
|
134,
|
|
0,
|
|
113,
|
|
99,
|
|
163,
|
|
1,
|
|
128,
|
|
62,
|
|
112,
|
|
0,
|
|
99,
|
|
106,
|
|
147,
|
|
0,
|
|
163,
|
|
195,
|
|
10,
|
|
0,
|
|
33,
|
|
205,
|
|
182,
|
|
0,
|
|
214,
|
|
14,
|
|
174,
|
|
255,
|
|
129,
|
|
38,
|
|
231,
|
|
255,
|
|
53,
|
|
182,
|
|
223,
|
|
0,
|
|
98,
|
|
42,
|
|
159,
|
|
255,
|
|
247,
|
|
13,
|
|
40,
|
|
0,
|
|
188,
|
|
210,
|
|
177,
|
|
1,
|
|
6,
|
|
21,
|
|
0,
|
|
255,
|
|
255,
|
|
61,
|
|
148,
|
|
254,
|
|
137,
|
|
45,
|
|
129,
|
|
255,
|
|
89,
|
|
26,
|
|
116,
|
|
254,
|
|
126,
|
|
38,
|
|
114,
|
|
0,
|
|
251,
|
|
50,
|
|
242,
|
|
254,
|
|
121,
|
|
134,
|
|
128,
|
|
255,
|
|
204,
|
|
249,
|
|
167,
|
|
254,
|
|
165,
|
|
235,
|
|
215,
|
|
0,
|
|
202,
|
|
177,
|
|
243,
|
|
0,
|
|
133,
|
|
141,
|
|
62,
|
|
0,
|
|
240,
|
|
130,
|
|
190,
|
|
1,
|
|
110,
|
|
175,
|
|
255,
|
|
0,
|
|
0,
|
|
20,
|
|
146,
|
|
1,
|
|
37,
|
|
210,
|
|
121,
|
|
255,
|
|
7,
|
|
39,
|
|
130,
|
|
0,
|
|
142,
|
|
250,
|
|
84,
|
|
255,
|
|
141,
|
|
200,
|
|
207,
|
|
0,
|
|
9,
|
|
95,
|
|
104,
|
|
255,
|
|
11,
|
|
244,
|
|
174,
|
|
0,
|
|
134,
|
|
232,
|
|
126,
|
|
0,
|
|
167,
|
|
1,
|
|
123,
|
|
254,
|
|
16,
|
|
193,
|
|
149,
|
|
255,
|
|
232,
|
|
233,
|
|
239,
|
|
1,
|
|
213,
|
|
70,
|
|
112,
|
|
255,
|
|
252,
|
|
116,
|
|
160,
|
|
254,
|
|
242,
|
|
222,
|
|
220,
|
|
255,
|
|
205,
|
|
85,
|
|
227,
|
|
0,
|
|
7,
|
|
185,
|
|
58,
|
|
0,
|
|
118,
|
|
247,
|
|
63,
|
|
1,
|
|
116,
|
|
77,
|
|
177,
|
|
255,
|
|
62,
|
|
245,
|
|
200,
|
|
254,
|
|
63,
|
|
18,
|
|
37,
|
|
255,
|
|
107,
|
|
53,
|
|
232,
|
|
254,
|
|
50,
|
|
221,
|
|
211,
|
|
0,
|
|
162,
|
|
219,
|
|
7,
|
|
254,
|
|
2,
|
|
94,
|
|
43,
|
|
0,
|
|
182,
|
|
62,
|
|
182,
|
|
254,
|
|
160,
|
|
78,
|
|
200,
|
|
255,
|
|
135,
|
|
140,
|
|
170,
|
|
0,
|
|
235,
|
|
184,
|
|
228,
|
|
0,
|
|
175,
|
|
53,
|
|
138,
|
|
254,
|
|
80,
|
|
58,
|
|
77,
|
|
255,
|
|
152,
|
|
201,
|
|
2,
|
|
1,
|
|
63,
|
|
196,
|
|
34,
|
|
0,
|
|
5,
|
|
30,
|
|
184,
|
|
0,
|
|
171,
|
|
176,
|
|
154,
|
|
0,
|
|
121,
|
|
59,
|
|
206,
|
|
0,
|
|
38,
|
|
99,
|
|
39,
|
|
0,
|
|
172,
|
|
80,
|
|
77,
|
|
254,
|
|
0,
|
|
134,
|
|
151,
|
|
0,
|
|
186,
|
|
33,
|
|
241,
|
|
254,
|
|
94,
|
|
253,
|
|
223,
|
|
255,
|
|
44,
|
|
114,
|
|
252,
|
|
0,
|
|
108,
|
|
126,
|
|
57,
|
|
255,
|
|
201,
|
|
40,
|
|
13,
|
|
255,
|
|
39,
|
|
229,
|
|
27,
|
|
255,
|
|
39,
|
|
239,
|
|
23,
|
|
1,
|
|
151,
|
|
121,
|
|
51,
|
|
255,
|
|
153,
|
|
150,
|
|
248,
|
|
0,
|
|
10,
|
|
234,
|
|
174,
|
|
255,
|
|
118,
|
|
246,
|
|
4,
|
|
254,
|
|
200,
|
|
245,
|
|
38,
|
|
0,
|
|
69,
|
|
161,
|
|
242,
|
|
1,
|
|
16,
|
|
178,
|
|
150,
|
|
0,
|
|
113,
|
|
56,
|
|
130,
|
|
0,
|
|
171,
|
|
31,
|
|
105,
|
|
0,
|
|
26,
|
|
88,
|
|
108,
|
|
255,
|
|
49,
|
|
42,
|
|
106,
|
|
0,
|
|
251,
|
|
169,
|
|
66,
|
|
0,
|
|
69,
|
|
93,
|
|
149,
|
|
0,
|
|
20,
|
|
57,
|
|
254,
|
|
0,
|
|
164,
|
|
25,
|
|
111,
|
|
0,
|
|
90,
|
|
188,
|
|
90,
|
|
255,
|
|
204,
|
|
4,
|
|
197,
|
|
0,
|
|
40,
|
|
213,
|
|
50,
|
|
1,
|
|
212,
|
|
96,
|
|
132,
|
|
255,
|
|
88,
|
|
138,
|
|
180,
|
|
254,
|
|
228,
|
|
146,
|
|
124,
|
|
255,
|
|
184,
|
|
246,
|
|
247,
|
|
0,
|
|
65,
|
|
117,
|
|
86,
|
|
255,
|
|
253,
|
|
102,
|
|
210,
|
|
254,
|
|
254,
|
|
121,
|
|
36,
|
|
0,
|
|
137,
|
|
115,
|
|
3,
|
|
255,
|
|
60,
|
|
24,
|
|
216,
|
|
0,
|
|
134,
|
|
18,
|
|
29,
|
|
0,
|
|
59,
|
|
226,
|
|
97,
|
|
0,
|
|
176,
|
|
142,
|
|
71,
|
|
0,
|
|
7,
|
|
209,
|
|
161,
|
|
0,
|
|
189,
|
|
84,
|
|
51,
|
|
254,
|
|
155,
|
|
250,
|
|
72,
|
|
0,
|
|
213,
|
|
84,
|
|
235,
|
|
255,
|
|
45,
|
|
222,
|
|
224,
|
|
0,
|
|
238,
|
|
148,
|
|
143,
|
|
255,
|
|
170,
|
|
42,
|
|
53,
|
|
255,
|
|
78,
|
|
167,
|
|
117,
|
|
0,
|
|
186,
|
|
0,
|
|
40,
|
|
255,
|
|
125,
|
|
177,
|
|
103,
|
|
255,
|
|
69,
|
|
225,
|
|
66,
|
|
0,
|
|
227,
|
|
7,
|
|
88,
|
|
1,
|
|
75,
|
|
172,
|
|
6,
|
|
0,
|
|
169,
|
|
45,
|
|
227,
|
|
1,
|
|
16,
|
|
36,
|
|
70,
|
|
255,
|
|
50,
|
|
2,
|
|
9,
|
|
255,
|
|
139,
|
|
193,
|
|
22,
|
|
0,
|
|
143,
|
|
183,
|
|
231,
|
|
254,
|
|
218,
|
|
69,
|
|
50,
|
|
0,
|
|
236,
|
|
56,
|
|
161,
|
|
1,
|
|
213,
|
|
131,
|
|
42,
|
|
0,
|
|
138,
|
|
145,
|
|
44,
|
|
254,
|
|
136,
|
|
229,
|
|
40,
|
|
255,
|
|
49,
|
|
63,
|
|
35,
|
|
255,
|
|
61,
|
|
145,
|
|
245,
|
|
255,
|
|
101,
|
|
192,
|
|
2,
|
|
254,
|
|
232,
|
|
167,
|
|
113,
|
|
0,
|
|
152,
|
|
104,
|
|
38,
|
|
1,
|
|
121,
|
|
185,
|
|
218,
|
|
0,
|
|
121,
|
|
139,
|
|
211,
|
|
254,
|
|
119,
|
|
240,
|
|
35,
|
|
0,
|
|
65,
|
|
189,
|
|
217,
|
|
254,
|
|
187,
|
|
179,
|
|
162,
|
|
255,
|
|
160,
|
|
187,
|
|
230,
|
|
0,
|
|
62,
|
|
248,
|
|
14,
|
|
255,
|
|
60,
|
|
78,
|
|
97,
|
|
0,
|
|
255,
|
|
247,
|
|
163,
|
|
255,
|
|
225,
|
|
59,
|
|
91,
|
|
255,
|
|
107,
|
|
71,
|
|
58,
|
|
255,
|
|
241,
|
|
47,
|
|
33,
|
|
1,
|
|
50,
|
|
117,
|
|
236,
|
|
0,
|
|
219,
|
|
177,
|
|
63,
|
|
254,
|
|
244,
|
|
90,
|
|
179,
|
|
0,
|
|
35,
|
|
194,
|
|
215,
|
|
255,
|
|
189,
|
|
67,
|
|
50,
|
|
255,
|
|
23,
|
|
135,
|
|
129,
|
|
0,
|
|
104,
|
|
189,
|
|
37,
|
|
255,
|
|
185,
|
|
57,
|
|
194,
|
|
0,
|
|
35,
|
|
62,
|
|
231,
|
|
255,
|
|
220,
|
|
248,
|
|
108,
|
|
0,
|
|
12,
|
|
231,
|
|
178,
|
|
0,
|
|
143,
|
|
80,
|
|
91,
|
|
1,
|
|
131,
|
|
93,
|
|
101,
|
|
255,
|
|
144,
|
|
39,
|
|
2,
|
|
1,
|
|
255,
|
|
250,
|
|
178,
|
|
0,
|
|
5,
|
|
17,
|
|
236,
|
|
254,
|
|
139,
|
|
32,
|
|
46,
|
|
0,
|
|
204,
|
|
188,
|
|
38,
|
|
254,
|
|
245,
|
|
115,
|
|
52,
|
|
255,
|
|
191,
|
|
113,
|
|
73,
|
|
254,
|
|
191,
|
|
108,
|
|
69,
|
|
255,
|
|
22,
|
|
69,
|
|
245,
|
|
1,
|
|
23,
|
|
203,
|
|
178,
|
|
0,
|
|
170,
|
|
99,
|
|
170,
|
|
0,
|
|
65,
|
|
248,
|
|
111,
|
|
0,
|
|
37,
|
|
108,
|
|
153,
|
|
255,
|
|
64,
|
|
37,
|
|
69,
|
|
0,
|
|
0,
|
|
88,
|
|
62,
|
|
254,
|
|
89,
|
|
148,
|
|
144,
|
|
255,
|
|
191,
|
|
68,
|
|
224,
|
|
1,
|
|
241,
|
|
39,
|
|
53,
|
|
0,
|
|
41,
|
|
203,
|
|
237,
|
|
255,
|
|
145,
|
|
126,
|
|
194,
|
|
255,
|
|
221,
|
|
42,
|
|
253,
|
|
255,
|
|
25,
|
|
99,
|
|
151,
|
|
0,
|
|
97,
|
|
253,
|
|
223,
|
|
1,
|
|
74,
|
|
115,
|
|
49,
|
|
255,
|
|
6,
|
|
175,
|
|
72,
|
|
255,
|
|
59,
|
|
176,
|
|
203,
|
|
0,
|
|
124,
|
|
183,
|
|
249,
|
|
1,
|
|
228,
|
|
228,
|
|
99,
|
|
0,
|
|
129,
|
|
12,
|
|
207,
|
|
254,
|
|
168,
|
|
192,
|
|
195,
|
|
255,
|
|
204,
|
|
176,
|
|
16,
|
|
254,
|
|
152,
|
|
234,
|
|
171,
|
|
0,
|
|
77,
|
|
37,
|
|
85,
|
|
255,
|
|
33,
|
|
120,
|
|
135,
|
|
255,
|
|
142,
|
|
194,
|
|
227,
|
|
1,
|
|
31,
|
|
214,
|
|
58,
|
|
0,
|
|
213,
|
|
187,
|
|
125,
|
|
255,
|
|
232,
|
|
46,
|
|
60,
|
|
255,
|
|
190,
|
|
116,
|
|
42,
|
|
254,
|
|
151,
|
|
178,
|
|
19,
|
|
255,
|
|
51,
|
|
62,
|
|
237,
|
|
254,
|
|
204,
|
|
236,
|
|
193,
|
|
0,
|
|
194,
|
|
232,
|
|
60,
|
|
0,
|
|
172,
|
|
34,
|
|
157,
|
|
255,
|
|
189,
|
|
16,
|
|
184,
|
|
254,
|
|
103,
|
|
3,
|
|
95,
|
|
255,
|
|
141,
|
|
233,
|
|
36,
|
|
254,
|
|
41,
|
|
25,
|
|
11,
|
|
255,
|
|
21,
|
|
195,
|
|
166,
|
|
0,
|
|
118,
|
|
245,
|
|
45,
|
|
0,
|
|
67,
|
|
213,
|
|
149,
|
|
255,
|
|
159,
|
|
12,
|
|
18,
|
|
255,
|
|
187,
|
|
164,
|
|
227,
|
|
1,
|
|
160,
|
|
25,
|
|
5,
|
|
0,
|
|
12,
|
|
78,
|
|
195,
|
|
1,
|
|
43,
|
|
197,
|
|
225,
|
|
0,
|
|
48,
|
|
142,
|
|
41,
|
|
254,
|
|
196,
|
|
155,
|
|
60,
|
|
255,
|
|
223,
|
|
199,
|
|
18,
|
|
1,
|
|
145,
|
|
136,
|
|
156,
|
|
0,
|
|
252,
|
|
117,
|
|
169,
|
|
254,
|
|
145,
|
|
226,
|
|
238,
|
|
0,
|
|
239,
|
|
23,
|
|
107,
|
|
0,
|
|
109,
|
|
181,
|
|
188,
|
|
255,
|
|
230,
|
|
112,
|
|
49,
|
|
254,
|
|
73,
|
|
170,
|
|
237,
|
|
255,
|
|
231,
|
|
183,
|
|
227,
|
|
255,
|
|
80,
|
|
220,
|
|
20,
|
|
0,
|
|
194,
|
|
107,
|
|
127,
|
|
1,
|
|
127,
|
|
205,
|
|
101,
|
|
0,
|
|
46,
|
|
52,
|
|
197,
|
|
1,
|
|
210,
|
|
171,
|
|
36,
|
|
255,
|
|
88,
|
|
3,
|
|
90,
|
|
255,
|
|
56,
|
|
151,
|
|
141,
|
|
0,
|
|
96,
|
|
187,
|
|
255,
|
|
255,
|
|
42,
|
|
78,
|
|
200,
|
|
0,
|
|
254,
|
|
70,
|
|
70,
|
|
1,
|
|
244,
|
|
125,
|
|
168,
|
|
0,
|
|
204,
|
|
68,
|
|
138,
|
|
1,
|
|
124,
|
|
215,
|
|
70,
|
|
0,
|
|
102,
|
|
66,
|
|
200,
|
|
254,
|
|
17,
|
|
52,
|
|
228,
|
|
0,
|
|
117,
|
|
220,
|
|
143,
|
|
254,
|
|
203,
|
|
248,
|
|
123,
|
|
0,
|
|
56,
|
|
18,
|
|
174,
|
|
255,
|
|
186,
|
|
151,
|
|
164,
|
|
255,
|
|
51,
|
|
232,
|
|
208,
|
|
1,
|
|
160,
|
|
228,
|
|
43,
|
|
255,
|
|
249,
|
|
29,
|
|
25,
|
|
1,
|
|
68,
|
|
190,
|
|
63,
|
|
0,
|
|
8,
|
|
201,
|
|
188,
|
|
243,
|
|
103,
|
|
230,
|
|
9,
|
|
106,
|
|
59,
|
|
167,
|
|
202,
|
|
132,
|
|
133,
|
|
174,
|
|
103,
|
|
187,
|
|
43,
|
|
248,
|
|
148,
|
|
254,
|
|
114,
|
|
243,
|
|
110,
|
|
60,
|
|
241,
|
|
54,
|
|
29,
|
|
95,
|
|
58,
|
|
245,
|
|
79,
|
|
165,
|
|
209,
|
|
130,
|
|
230,
|
|
173,
|
|
127,
|
|
82,
|
|
14,
|
|
81,
|
|
31,
|
|
108,
|
|
62,
|
|
43,
|
|
140,
|
|
104,
|
|
5,
|
|
155,
|
|
107,
|
|
189,
|
|
65,
|
|
251,
|
|
171,
|
|
217,
|
|
131,
|
|
31,
|
|
121,
|
|
33,
|
|
126,
|
|
19,
|
|
25,
|
|
205,
|
|
224,
|
|
91,
|
|
34,
|
|
174,
|
|
40,
|
|
215,
|
|
152,
|
|
47,
|
|
138,
|
|
66,
|
|
205,
|
|
101,
|
|
239,
|
|
35,
|
|
145,
|
|
68,
|
|
55,
|
|
113,
|
|
47,
|
|
59,
|
|
77,
|
|
236,
|
|
207,
|
|
251,
|
|
192,
|
|
181,
|
|
188,
|
|
219,
|
|
137,
|
|
129,
|
|
165,
|
|
219,
|
|
181,
|
|
233,
|
|
56,
|
|
181,
|
|
72,
|
|
243,
|
|
91,
|
|
194,
|
|
86,
|
|
57,
|
|
25,
|
|
208,
|
|
5,
|
|
182,
|
|
241,
|
|
17,
|
|
241,
|
|
89,
|
|
155,
|
|
79,
|
|
25,
|
|
175,
|
|
164,
|
|
130,
|
|
63,
|
|
146,
|
|
24,
|
|
129,
|
|
109,
|
|
218,
|
|
213,
|
|
94,
|
|
28,
|
|
171,
|
|
66,
|
|
2,
|
|
3,
|
|
163,
|
|
152,
|
|
170,
|
|
7,
|
|
216,
|
|
190,
|
|
111,
|
|
112,
|
|
69,
|
|
1,
|
|
91,
|
|
131,
|
|
18,
|
|
140,
|
|
178,
|
|
228,
|
|
78,
|
|
190,
|
|
133,
|
|
49,
|
|
36,
|
|
226,
|
|
180,
|
|
255,
|
|
213,
|
|
195,
|
|
125,
|
|
12,
|
|
85,
|
|
111,
|
|
137,
|
|
123,
|
|
242,
|
|
116,
|
|
93,
|
|
190,
|
|
114,
|
|
177,
|
|
150,
|
|
22,
|
|
59,
|
|
254,
|
|
177,
|
|
222,
|
|
128,
|
|
53,
|
|
18,
|
|
199,
|
|
37,
|
|
167,
|
|
6,
|
|
220,
|
|
155,
|
|
148,
|
|
38,
|
|
105,
|
|
207,
|
|
116,
|
|
241,
|
|
155,
|
|
193,
|
|
210,
|
|
74,
|
|
241,
|
|
158,
|
|
193,
|
|
105,
|
|
155,
|
|
228,
|
|
227,
|
|
37,
|
|
79,
|
|
56,
|
|
134,
|
|
71,
|
|
190,
|
|
239,
|
|
181,
|
|
213,
|
|
140,
|
|
139,
|
|
198,
|
|
157,
|
|
193,
|
|
15,
|
|
101,
|
|
156,
|
|
172,
|
|
119,
|
|
204,
|
|
161,
|
|
12,
|
|
36,
|
|
117,
|
|
2,
|
|
43,
|
|
89,
|
|
111,
|
|
44,
|
|
233,
|
|
45,
|
|
131,
|
|
228,
|
|
166,
|
|
110,
|
|
170,
|
|
132,
|
|
116,
|
|
74,
|
|
212,
|
|
251,
|
|
65,
|
|
189,
|
|
220,
|
|
169,
|
|
176,
|
|
92,
|
|
181,
|
|
83,
|
|
17,
|
|
131,
|
|
218,
|
|
136,
|
|
249,
|
|
118,
|
|
171,
|
|
223,
|
|
102,
|
|
238,
|
|
82,
|
|
81,
|
|
62,
|
|
152,
|
|
16,
|
|
50,
|
|
180,
|
|
45,
|
|
109,
|
|
198,
|
|
49,
|
|
168,
|
|
63,
|
|
33,
|
|
251,
|
|
152,
|
|
200,
|
|
39,
|
|
3,
|
|
176,
|
|
228,
|
|
14,
|
|
239,
|
|
190,
|
|
199,
|
|
127,
|
|
89,
|
|
191,
|
|
194,
|
|
143,
|
|
168,
|
|
61,
|
|
243,
|
|
11,
|
|
224,
|
|
198,
|
|
37,
|
|
167,
|
|
10,
|
|
147,
|
|
71,
|
|
145,
|
|
167,
|
|
213,
|
|
111,
|
|
130,
|
|
3,
|
|
224,
|
|
81,
|
|
99,
|
|
202,
|
|
6,
|
|
112,
|
|
110,
|
|
14,
|
|
10,
|
|
103,
|
|
41,
|
|
41,
|
|
20,
|
|
252,
|
|
47,
|
|
210,
|
|
70,
|
|
133,
|
|
10,
|
|
183,
|
|
39,
|
|
38,
|
|
201,
|
|
38,
|
|
92,
|
|
56,
|
|
33,
|
|
27,
|
|
46,
|
|
237,
|
|
42,
|
|
196,
|
|
90,
|
|
252,
|
|
109,
|
|
44,
|
|
77,
|
|
223,
|
|
179,
|
|
149,
|
|
157,
|
|
19,
|
|
13,
|
|
56,
|
|
83,
|
|
222,
|
|
99,
|
|
175,
|
|
139,
|
|
84,
|
|
115,
|
|
10,
|
|
101,
|
|
168,
|
|
178,
|
|
119,
|
|
60,
|
|
187,
|
|
10,
|
|
106,
|
|
118,
|
|
230,
|
|
174,
|
|
237,
|
|
71,
|
|
46,
|
|
201,
|
|
194,
|
|
129,
|
|
59,
|
|
53,
|
|
130,
|
|
20,
|
|
133,
|
|
44,
|
|
114,
|
|
146,
|
|
100,
|
|
3,
|
|
241,
|
|
76,
|
|
161,
|
|
232,
|
|
191,
|
|
162,
|
|
1,
|
|
48,
|
|
66,
|
|
188,
|
|
75,
|
|
102,
|
|
26,
|
|
168,
|
|
145,
|
|
151,
|
|
248,
|
|
208,
|
|
112,
|
|
139,
|
|
75,
|
|
194,
|
|
48,
|
|
190,
|
|
84,
|
|
6,
|
|
163,
|
|
81,
|
|
108,
|
|
199,
|
|
24,
|
|
82,
|
|
239,
|
|
214,
|
|
25,
|
|
232,
|
|
146,
|
|
209,
|
|
16,
|
|
169,
|
|
101,
|
|
85,
|
|
36,
|
|
6,
|
|
153,
|
|
214,
|
|
42,
|
|
32,
|
|
113,
|
|
87,
|
|
133,
|
|
53,
|
|
14,
|
|
244,
|
|
184,
|
|
209,
|
|
187,
|
|
50,
|
|
112,
|
|
160,
|
|
106,
|
|
16,
|
|
200,
|
|
208,
|
|
210,
|
|
184,
|
|
22,
|
|
193,
|
|
164,
|
|
25,
|
|
83,
|
|
171,
|
|
65,
|
|
81,
|
|
8,
|
|
108,
|
|
55,
|
|
30,
|
|
153,
|
|
235,
|
|
142,
|
|
223,
|
|
76,
|
|
119,
|
|
72,
|
|
39,
|
|
168,
|
|
72,
|
|
155,
|
|
225,
|
|
181,
|
|
188,
|
|
176,
|
|
52,
|
|
99,
|
|
90,
|
|
201,
|
|
197,
|
|
179,
|
|
12,
|
|
28,
|
|
57,
|
|
203,
|
|
138,
|
|
65,
|
|
227,
|
|
74,
|
|
170,
|
|
216,
|
|
78,
|
|
115,
|
|
227,
|
|
99,
|
|
119,
|
|
79,
|
|
202,
|
|
156,
|
|
91,
|
|
163,
|
|
184,
|
|
178,
|
|
214,
|
|
243,
|
|
111,
|
|
46,
|
|
104,
|
|
252,
|
|
178,
|
|
239,
|
|
93,
|
|
238,
|
|
130,
|
|
143,
|
|
116,
|
|
96,
|
|
47,
|
|
23,
|
|
67,
|
|
111,
|
|
99,
|
|
165,
|
|
120,
|
|
114,
|
|
171,
|
|
240,
|
|
161,
|
|
20,
|
|
120,
|
|
200,
|
|
132,
|
|
236,
|
|
57,
|
|
100,
|
|
26,
|
|
8,
|
|
2,
|
|
199,
|
|
140,
|
|
40,
|
|
30,
|
|
99,
|
|
35,
|
|
250,
|
|
255,
|
|
190,
|
|
144,
|
|
233,
|
|
189,
|
|
130,
|
|
222,
|
|
235,
|
|
108,
|
|
80,
|
|
164,
|
|
21,
|
|
121,
|
|
198,
|
|
178,
|
|
247,
|
|
163,
|
|
249,
|
|
190,
|
|
43,
|
|
83,
|
|
114,
|
|
227,
|
|
242,
|
|
120,
|
|
113,
|
|
198,
|
|
156,
|
|
97,
|
|
38,
|
|
234,
|
|
206,
|
|
62,
|
|
39,
|
|
202,
|
|
7,
|
|
194,
|
|
192,
|
|
33,
|
|
199,
|
|
184,
|
|
134,
|
|
209,
|
|
30,
|
|
235,
|
|
224,
|
|
205,
|
|
214,
|
|
125,
|
|
218,
|
|
234,
|
|
120,
|
|
209,
|
|
110,
|
|
238,
|
|
127,
|
|
79,
|
|
125,
|
|
245,
|
|
186,
|
|
111,
|
|
23,
|
|
114,
|
|
170,
|
|
103,
|
|
240,
|
|
6,
|
|
166,
|
|
152,
|
|
200,
|
|
162,
|
|
197,
|
|
125,
|
|
99,
|
|
10,
|
|
174,
|
|
13,
|
|
249,
|
|
190,
|
|
4,
|
|
152,
|
|
63,
|
|
17,
|
|
27,
|
|
71,
|
|
28,
|
|
19,
|
|
53,
|
|
11,
|
|
113,
|
|
27,
|
|
132,
|
|
125,
|
|
4,
|
|
35,
|
|
245,
|
|
119,
|
|
219,
|
|
40,
|
|
147,
|
|
36,
|
|
199,
|
|
64,
|
|
123,
|
|
171,
|
|
202,
|
|
50,
|
|
188,
|
|
190,
|
|
201,
|
|
21,
|
|
10,
|
|
190,
|
|
158,
|
|
60,
|
|
76,
|
|
13,
|
|
16,
|
|
156,
|
|
196,
|
|
103,
|
|
29,
|
|
67,
|
|
182,
|
|
66,
|
|
62,
|
|
203,
|
|
190,
|
|
212,
|
|
197,
|
|
76,
|
|
42,
|
|
126,
|
|
101,
|
|
252,
|
|
156,
|
|
41,
|
|
127,
|
|
89,
|
|
236,
|
|
250,
|
|
214,
|
|
58,
|
|
171,
|
|
111,
|
|
203,
|
|
95,
|
|
23,
|
|
88,
|
|
71,
|
|
74,
|
|
140,
|
|
25,
|
|
68,
|
|
108,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
],
|
|
'i8',
|
|
ALLOC_NONE,
|
|
Runtime.GLOBAL_BASE + 30720
|
|
);
|
|
|
|
var tempDoublePtr = Runtime.alignMemory(allocate(12, 'i8', ALLOC_STATIC), 8);
|
|
|
|
assert(tempDoublePtr % 8 == 0);
|
|
|
|
function copyTempFloat(ptr) {
|
|
// functions, because inlining this code increases code size too much
|
|
|
|
HEAP8[tempDoublePtr] = HEAP8[ptr];
|
|
|
|
HEAP8[tempDoublePtr + 1] = HEAP8[ptr + 1];
|
|
|
|
HEAP8[tempDoublePtr + 2] = HEAP8[ptr + 2];
|
|
|
|
HEAP8[tempDoublePtr + 3] = HEAP8[ptr + 3];
|
|
}
|
|
|
|
function copyTempDouble(ptr) {
|
|
HEAP8[tempDoublePtr] = HEAP8[ptr];
|
|
|
|
HEAP8[tempDoublePtr + 1] = HEAP8[ptr + 1];
|
|
|
|
HEAP8[tempDoublePtr + 2] = HEAP8[ptr + 2];
|
|
|
|
HEAP8[tempDoublePtr + 3] = HEAP8[ptr + 3];
|
|
|
|
HEAP8[tempDoublePtr + 4] = HEAP8[ptr + 4];
|
|
|
|
HEAP8[tempDoublePtr + 5] = HEAP8[ptr + 5];
|
|
|
|
HEAP8[tempDoublePtr + 6] = HEAP8[ptr + 6];
|
|
|
|
HEAP8[tempDoublePtr + 7] = HEAP8[ptr + 7];
|
|
}
|
|
|
|
Module['_bitshift64Ashr'] = _bitshift64Ashr;
|
|
|
|
Module['_i64Subtract'] = _i64Subtract;
|
|
|
|
Module['_i64Add'] = _i64Add;
|
|
|
|
Module['_memset'] = _memset;
|
|
|
|
Module['_bitshift64Lshr'] = _bitshift64Lshr;
|
|
|
|
Module['_bitshift64Shl'] = _bitshift64Shl;
|
|
|
|
function _abort() {
|
|
Module['abort']();
|
|
}
|
|
|
|
Module['_strlen'] = _strlen;
|
|
|
|
function _emscripten_memcpy_big(dest, src, num) {
|
|
HEAPU8.set(HEAPU8.subarray(src, src + num), dest);
|
|
return dest;
|
|
}
|
|
Module['_memcpy'] = _memcpy;
|
|
|
|
var ___errno_state = 0;
|
|
function ___setErrNo(value) {
|
|
// For convenient setting and returning of errno.
|
|
HEAP32[___errno_state >> 2] = value;
|
|
return value;
|
|
}
|
|
|
|
var ERRNO_CODES = {
|
|
EPERM: 1,
|
|
ENOENT: 2,
|
|
ESRCH: 3,
|
|
EINTR: 4,
|
|
EIO: 5,
|
|
ENXIO: 6,
|
|
E2BIG: 7,
|
|
ENOEXEC: 8,
|
|
EBADF: 9,
|
|
ECHILD: 10,
|
|
EAGAIN: 11,
|
|
EWOULDBLOCK: 11,
|
|
ENOMEM: 12,
|
|
EACCES: 13,
|
|
EFAULT: 14,
|
|
ENOTBLK: 15,
|
|
EBUSY: 16,
|
|
EEXIST: 17,
|
|
EXDEV: 18,
|
|
ENODEV: 19,
|
|
ENOTDIR: 20,
|
|
EISDIR: 21,
|
|
EINVAL: 22,
|
|
ENFILE: 23,
|
|
EMFILE: 24,
|
|
ENOTTY: 25,
|
|
ETXTBSY: 26,
|
|
EFBIG: 27,
|
|
ENOSPC: 28,
|
|
ESPIPE: 29,
|
|
EROFS: 30,
|
|
EMLINK: 31,
|
|
EPIPE: 32,
|
|
EDOM: 33,
|
|
ERANGE: 34,
|
|
ENOMSG: 42,
|
|
EIDRM: 43,
|
|
ECHRNG: 44,
|
|
EL2NSYNC: 45,
|
|
EL3HLT: 46,
|
|
EL3RST: 47,
|
|
ELNRNG: 48,
|
|
EUNATCH: 49,
|
|
ENOCSI: 50,
|
|
EL2HLT: 51,
|
|
EDEADLK: 35,
|
|
ENOLCK: 37,
|
|
EBADE: 52,
|
|
EBADR: 53,
|
|
EXFULL: 54,
|
|
ENOANO: 55,
|
|
EBADRQC: 56,
|
|
EBADSLT: 57,
|
|
EDEADLOCK: 35,
|
|
EBFONT: 59,
|
|
ENOSTR: 60,
|
|
ENODATA: 61,
|
|
ETIME: 62,
|
|
ENOSR: 63,
|
|
ENONET: 64,
|
|
ENOPKG: 65,
|
|
EREMOTE: 66,
|
|
ENOLINK: 67,
|
|
EADV: 68,
|
|
ESRMNT: 69,
|
|
ECOMM: 70,
|
|
EPROTO: 71,
|
|
EMULTIHOP: 72,
|
|
EDOTDOT: 73,
|
|
EBADMSG: 74,
|
|
ENOTUNIQ: 76,
|
|
EBADFD: 77,
|
|
EREMCHG: 78,
|
|
ELIBACC: 79,
|
|
ELIBBAD: 80,
|
|
ELIBSCN: 81,
|
|
ELIBMAX: 82,
|
|
ELIBEXEC: 83,
|
|
ENOSYS: 38,
|
|
ENOTEMPTY: 39,
|
|
ENAMETOOLONG: 36,
|
|
ELOOP: 40,
|
|
EOPNOTSUPP: 95,
|
|
EPFNOSUPPORT: 96,
|
|
ECONNRESET: 104,
|
|
ENOBUFS: 105,
|
|
EAFNOSUPPORT: 97,
|
|
EPROTOTYPE: 91,
|
|
ENOTSOCK: 88,
|
|
ENOPROTOOPT: 92,
|
|
ESHUTDOWN: 108,
|
|
ECONNREFUSED: 111,
|
|
EADDRINUSE: 98,
|
|
ECONNABORTED: 103,
|
|
ENETUNREACH: 101,
|
|
ENETDOWN: 100,
|
|
ETIMEDOUT: 110,
|
|
EHOSTDOWN: 112,
|
|
EHOSTUNREACH: 113,
|
|
EINPROGRESS: 115,
|
|
EALREADY: 114,
|
|
EDESTADDRREQ: 89,
|
|
EMSGSIZE: 90,
|
|
EPROTONOSUPPORT: 93,
|
|
ESOCKTNOSUPPORT: 94,
|
|
EADDRNOTAVAIL: 99,
|
|
ENETRESET: 102,
|
|
EISCONN: 106,
|
|
ENOTCONN: 107,
|
|
ETOOMANYREFS: 109,
|
|
EUSERS: 87,
|
|
EDQUOT: 122,
|
|
ESTALE: 116,
|
|
ENOTSUP: 95,
|
|
ENOMEDIUM: 123,
|
|
EILSEQ: 84,
|
|
EOVERFLOW: 75,
|
|
ECANCELED: 125,
|
|
ENOTRECOVERABLE: 131,
|
|
EOWNERDEAD: 130,
|
|
ESTRPIPE: 86,
|
|
};
|
|
function _sysconf(name) {
|
|
// long sysconf(int name);
|
|
// http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html
|
|
switch (name) {
|
|
case 30:
|
|
return PAGE_SIZE;
|
|
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 79:
|
|
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 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 1000;
|
|
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: {
|
|
if (typeof navigator === 'object')
|
|
return navigator['hardwareConcurrency'] || 1;
|
|
return 1;
|
|
}
|
|
}
|
|
___setErrNo(ERRNO_CODES.EINVAL);
|
|
return -1;
|
|
}
|
|
|
|
function _sbrk(bytes) {
|
|
// Implement a Linux-like 'memory area' for our 'process'.
|
|
// Changes the size of the memory area by |bytes|; returns the
|
|
// address of the previous top ('break') of the memory area
|
|
// We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP
|
|
var self = _sbrk;
|
|
if (!self.called) {
|
|
DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned
|
|
self.called = true;
|
|
assert(Runtime.dynamicAlloc);
|
|
self.alloc = Runtime.dynamicAlloc;
|
|
Runtime.dynamicAlloc = function() {
|
|
abort('cannot dynamically allocate, sbrk now has control');
|
|
};
|
|
}
|
|
var ret = DYNAMICTOP;
|
|
if (bytes != 0) self.alloc(bytes);
|
|
return ret; // Previous break location.
|
|
}
|
|
|
|
Module['_memmove'] = _memmove;
|
|
|
|
function ___errno_location() {
|
|
return ___errno_state;
|
|
}
|
|
|
|
var ERRNO_MESSAGES = {
|
|
0: 'Success',
|
|
1: 'Not super-user',
|
|
2: 'No such file or directory',
|
|
3: 'No such process',
|
|
4: 'Interrupted system call',
|
|
5: 'I/O error',
|
|
6: 'No such device or address',
|
|
7: 'Arg list too long',
|
|
8: 'Exec format error',
|
|
9: 'Bad file number',
|
|
10: 'No children',
|
|
11: 'No more processes',
|
|
12: 'Not enough core',
|
|
13: 'Permission denied',
|
|
14: 'Bad address',
|
|
15: 'Block device required',
|
|
16: 'Mount device busy',
|
|
17: 'File exists',
|
|
18: 'Cross-device link',
|
|
19: 'No such device',
|
|
20: 'Not a directory',
|
|
21: 'Is a directory',
|
|
22: 'Invalid argument',
|
|
23: 'Too many open files in system',
|
|
24: 'Too many open files',
|
|
25: 'Not a typewriter',
|
|
26: 'Text file busy',
|
|
27: 'File too large',
|
|
28: 'No space left on device',
|
|
29: 'Illegal seek',
|
|
30: 'Read only file system',
|
|
31: 'Too many links',
|
|
32: 'Broken pipe',
|
|
33: 'Math arg out of domain of func',
|
|
34: 'Math result not representable',
|
|
35: 'File locking deadlock error',
|
|
36: 'File or path name too long',
|
|
37: 'No record locks available',
|
|
38: 'Function not implemented',
|
|
39: 'Directory not empty',
|
|
40: 'Too many symbolic links',
|
|
42: 'No message of desired type',
|
|
43: 'Identifier removed',
|
|
44: 'Channel number out of range',
|
|
45: 'Level 2 not synchronized',
|
|
46: 'Level 3 halted',
|
|
47: 'Level 3 reset',
|
|
48: 'Link number out of range',
|
|
49: 'Protocol driver not attached',
|
|
50: 'No CSI structure available',
|
|
51: 'Level 2 halted',
|
|
52: 'Invalid exchange',
|
|
53: 'Invalid request descriptor',
|
|
54: 'Exchange full',
|
|
55: 'No anode',
|
|
56: 'Invalid request code',
|
|
57: 'Invalid slot',
|
|
59: 'Bad font file fmt',
|
|
60: 'Device not a stream',
|
|
61: 'No data (for no delay io)',
|
|
62: 'Timer expired',
|
|
63: 'Out of streams resources',
|
|
64: 'Machine is not on the network',
|
|
65: 'Package not installed',
|
|
66: 'The object is remote',
|
|
67: 'The link has been severed',
|
|
68: 'Advertise error',
|
|
69: 'Srmount error',
|
|
70: 'Communication error on send',
|
|
71: 'Protocol error',
|
|
72: 'Multihop attempted',
|
|
73: 'Cross mount point (not really error)',
|
|
74: 'Trying to read unreadable message',
|
|
75: 'Value too large for defined data type',
|
|
76: 'Given log. name not unique',
|
|
77: 'f.d. invalid for this operation',
|
|
78: 'Remote address changed',
|
|
79: 'Can access a needed shared lib',
|
|
80: 'Accessing a corrupted shared lib',
|
|
81: '.lib section in a.out corrupted',
|
|
82: 'Attempting to link in too many libs',
|
|
83: 'Attempting to exec a shared library',
|
|
84: 'Illegal byte sequence',
|
|
86: 'Streams pipe error',
|
|
87: 'Too many users',
|
|
88: 'Socket operation on non-socket',
|
|
89: 'Destination address required',
|
|
90: 'Message too long',
|
|
91: 'Protocol wrong type for socket',
|
|
92: 'Protocol not available',
|
|
93: 'Unknown protocol',
|
|
94: 'Socket type not supported',
|
|
95: 'Not supported',
|
|
96: 'Protocol family not supported',
|
|
97: 'Address family not supported by protocol family',
|
|
98: 'Address already in use',
|
|
99: 'Address not available',
|
|
100: 'Network interface is not configured',
|
|
101: 'Network is unreachable',
|
|
102: 'Connection reset by network',
|
|
103: 'Connection aborted',
|
|
104: 'Connection reset by peer',
|
|
105: 'No buffer space available',
|
|
106: 'Socket is already connected',
|
|
107: 'Socket is not connected',
|
|
108: "Can't send after socket shutdown",
|
|
109: 'Too many references',
|
|
110: 'Connection timed out',
|
|
111: 'Connection refused',
|
|
112: 'Host is down',
|
|
113: 'Host is unreachable',
|
|
114: 'Socket already connected',
|
|
115: 'Connection already in progress',
|
|
116: 'Stale file handle',
|
|
122: 'Quota exceeded',
|
|
123: 'No medium (in tape drive)',
|
|
125: 'Operation canceled',
|
|
130: 'Previous owner died',
|
|
131: 'State not recoverable',
|
|
};
|
|
|
|
var TTY = {
|
|
ttys: [],
|
|
init: function() {
|
|
// https://github.com/kripken/emscripten/pull/1555
|
|
// if (ENVIRONMENT_IS_NODE) {
|
|
// // currently, FS.init does not distinguish if process.stdin is a file or TTY
|
|
// // device, it always assumes it's a TTY device. because of this, we're forcing
|
|
// // process.stdin to UTF8 encoding to at least make stdin reading compatible
|
|
// // with text files until FS.init can be refactored.
|
|
// process['stdin']['setEncoding']('utf8');
|
|
// }
|
|
},
|
|
shutdown: function() {
|
|
// https://github.com/kripken/emscripten/pull/1555
|
|
// if (ENVIRONMENT_IS_NODE) {
|
|
// // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)?
|
|
// // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation
|
|
// // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists?
|
|
// // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle
|
|
// // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call
|
|
// process['stdin']['pause']();
|
|
// }
|
|
},
|
|
register: function(dev, ops) {
|
|
TTY.ttys[dev] = { input: [], output: [], ops: ops };
|
|
FS.registerDevice(dev, TTY.stream_ops);
|
|
},
|
|
stream_ops: {
|
|
open: function(stream) {
|
|
var tty = TTY.ttys[stream.node.rdev];
|
|
if (!tty) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
|
|
}
|
|
stream.tty = tty;
|
|
stream.seekable = false;
|
|
},
|
|
close: function(stream) {
|
|
// flush any pending line data
|
|
stream.tty.ops.flush(stream.tty);
|
|
},
|
|
flush: function(stream) {
|
|
stream.tty.ops.flush(stream.tty);
|
|
},
|
|
read: function(stream, buffer, offset, length, pos /* ignored */) {
|
|
if (!stream.tty || !stream.tty.ops.get_char) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
|
|
}
|
|
var bytesRead = 0;
|
|
for (var i = 0; i < length; i++) {
|
|
var result;
|
|
try {
|
|
result = stream.tty.ops.get_char(stream.tty);
|
|
} catch (e) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EIO);
|
|
}
|
|
if (result === undefined && bytesRead === 0) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
|
|
}
|
|
if (result === null || result === undefined) break;
|
|
bytesRead++;
|
|
buffer[offset + i] = result;
|
|
}
|
|
if (bytesRead) {
|
|
stream.node.timestamp = Date.now();
|
|
}
|
|
return bytesRead;
|
|
},
|
|
write: function(stream, buffer, offset, length, pos) {
|
|
if (!stream.tty || !stream.tty.ops.put_char) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
|
|
}
|
|
for (var i = 0; i < length; i++) {
|
|
try {
|
|
stream.tty.ops.put_char(stream.tty, buffer[offset + i]);
|
|
} catch (e) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EIO);
|
|
}
|
|
}
|
|
if (length) {
|
|
stream.node.timestamp = Date.now();
|
|
}
|
|
return i;
|
|
},
|
|
},
|
|
default_tty_ops: {
|
|
get_char: function(tty) {
|
|
if (!tty.input.length) {
|
|
var result = null;
|
|
if (ENVIRONMENT_IS_NODE) {
|
|
result = process['stdin']['read']();
|
|
if (!result) {
|
|
if (
|
|
process['stdin']['_readableState'] &&
|
|
process['stdin']['_readableState']['ended']
|
|
) {
|
|
return null; // EOF
|
|
}
|
|
return undefined; // no data available
|
|
}
|
|
} else if (
|
|
typeof window != 'undefined' &&
|
|
typeof window.prompt == 'function'
|
|
) {
|
|
// Browser.
|
|
result = window.prompt('Input: '); // returns null on cancel
|
|
if (result !== null) {
|
|
result += '\n';
|
|
}
|
|
} else if (typeof readline == 'function') {
|
|
// Command line.
|
|
result = readline();
|
|
if (result !== null) {
|
|
result += '\n';
|
|
}
|
|
}
|
|
if (!result) {
|
|
return null;
|
|
}
|
|
tty.input = intArrayFromString(result, true);
|
|
}
|
|
return tty.input.shift();
|
|
},
|
|
flush: function(tty) {
|
|
if (tty.output && tty.output.length > 0) {
|
|
Module['print'](tty.output.join(''));
|
|
tty.output = [];
|
|
}
|
|
},
|
|
put_char: function(tty, val) {
|
|
if (val === null || val === 10) {
|
|
Module['print'](tty.output.join(''));
|
|
tty.output = [];
|
|
} else {
|
|
tty.output.push(TTY.utf8.processCChar(val));
|
|
}
|
|
},
|
|
},
|
|
default_tty1_ops: {
|
|
put_char: function(tty, val) {
|
|
if (val === null || val === 10) {
|
|
Module['printErr'](tty.output.join(''));
|
|
tty.output = [];
|
|
} else {
|
|
tty.output.push(TTY.utf8.processCChar(val));
|
|
}
|
|
},
|
|
flush: function(tty) {
|
|
if (tty.output && tty.output.length > 0) {
|
|
Module['printErr'](tty.output.join(''));
|
|
tty.output = [];
|
|
}
|
|
},
|
|
},
|
|
};
|
|
|
|
var MEMFS = {
|
|
ops_table: null,
|
|
mount: function(mount) {
|
|
return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0);
|
|
},
|
|
createNode: function(parent, name, mode, dev) {
|
|
if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
|
|
// no supported
|
|
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
|
|
}
|
|
if (!MEMFS.ops_table) {
|
|
MEMFS.ops_table = {
|
|
dir: {
|
|
node: {
|
|
getattr: MEMFS.node_ops.getattr,
|
|
setattr: MEMFS.node_ops.setattr,
|
|
lookup: MEMFS.node_ops.lookup,
|
|
mknod: MEMFS.node_ops.mknod,
|
|
rename: MEMFS.node_ops.rename,
|
|
unlink: MEMFS.node_ops.unlink,
|
|
rmdir: MEMFS.node_ops.rmdir,
|
|
readdir: MEMFS.node_ops.readdir,
|
|
symlink: MEMFS.node_ops.symlink,
|
|
},
|
|
stream: {
|
|
llseek: MEMFS.stream_ops.llseek,
|
|
},
|
|
},
|
|
file: {
|
|
node: {
|
|
getattr: MEMFS.node_ops.getattr,
|
|
setattr: MEMFS.node_ops.setattr,
|
|
},
|
|
stream: {
|
|
llseek: MEMFS.stream_ops.llseek,
|
|
read: MEMFS.stream_ops.read,
|
|
write: MEMFS.stream_ops.write,
|
|
allocate: MEMFS.stream_ops.allocate,
|
|
mmap: MEMFS.stream_ops.mmap,
|
|
},
|
|
},
|
|
link: {
|
|
node: {
|
|
getattr: MEMFS.node_ops.getattr,
|
|
setattr: MEMFS.node_ops.setattr,
|
|
readlink: MEMFS.node_ops.readlink,
|
|
},
|
|
stream: {},
|
|
},
|
|
chrdev: {
|
|
node: {
|
|
getattr: MEMFS.node_ops.getattr,
|
|
setattr: MEMFS.node_ops.setattr,
|
|
},
|
|
stream: FS.chrdev_stream_ops,
|
|
},
|
|
};
|
|
}
|
|
var node = FS.createNode(parent, name, mode, dev);
|
|
if (FS.isDir(node.mode)) {
|
|
node.node_ops = MEMFS.ops_table.dir.node;
|
|
node.stream_ops = MEMFS.ops_table.dir.stream;
|
|
node.contents = {};
|
|
} else if (FS.isFile(node.mode)) {
|
|
node.node_ops = MEMFS.ops_table.file.node;
|
|
node.stream_ops = MEMFS.ops_table.file.stream;
|
|
node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.buffer.byteLength which gives the whole capacity.
|
|
// When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred
|
|
// for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size
|
|
// penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme.
|
|
node.contents = null;
|
|
} else if (FS.isLink(node.mode)) {
|
|
node.node_ops = MEMFS.ops_table.link.node;
|
|
node.stream_ops = MEMFS.ops_table.link.stream;
|
|
} else if (FS.isChrdev(node.mode)) {
|
|
node.node_ops = MEMFS.ops_table.chrdev.node;
|
|
node.stream_ops = MEMFS.ops_table.chrdev.stream;
|
|
}
|
|
node.timestamp = Date.now();
|
|
// add the new node to the parent
|
|
if (parent) {
|
|
parent.contents[name] = node;
|
|
}
|
|
return node;
|
|
},
|
|
getFileDataAsRegularArray: function(node) {
|
|
if (node.contents && node.contents.subarray) {
|
|
var arr = [];
|
|
for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);
|
|
return arr; // Returns a copy of the original data.
|
|
}
|
|
return node.contents; // No-op, the file contents are already in a JS array. Return as-is.
|
|
},
|
|
getFileDataAsTypedArray: function(node) {
|
|
if (!node.contents) return new Uint8Array();
|
|
if (node.contents.subarray)
|
|
return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes.
|
|
return new Uint8Array(node.contents);
|
|
},
|
|
expandFileStorage: function(node, newCapacity) {
|
|
// If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file
|
|
// instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to
|
|
// increase the size.
|
|
if (
|
|
node.contents &&
|
|
node.contents.subarray &&
|
|
newCapacity > node.contents.length
|
|
) {
|
|
node.contents = MEMFS.getFileDataAsRegularArray(node);
|
|
node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it.
|
|
}
|
|
|
|
if (!node.contents || node.contents.subarray) {
|
|
// Keep using a typed array if creating a new storage, or if old one was a typed array as well.
|
|
var prevCapacity = node.contents ? node.contents.buffer.byteLength : 0;
|
|
if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough.
|
|
// Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity.
|
|
// For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to
|
|
// avoid overshooting the allocation cap by a very large margin.
|
|
var CAPACITY_DOUBLING_MAX = 1024 * 1024;
|
|
newCapacity = Math.max(
|
|
newCapacity,
|
|
(prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) |
|
|
0
|
|
);
|
|
if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding.
|
|
var oldContents = node.contents;
|
|
node.contents = new Uint8Array(newCapacity); // Allocate new storage.
|
|
if (node.usedBytes > 0)
|
|
node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage.
|
|
return;
|
|
}
|
|
// Not using a typed array to back the file storage. Use a standard JS array instead.
|
|
if (!node.contents && newCapacity > 0) node.contents = [];
|
|
while (node.contents.length < newCapacity) node.contents.push(0);
|
|
},
|
|
resizeFileStorage: function(node, newSize) {
|
|
if (node.usedBytes == newSize) return;
|
|
if (newSize == 0) {
|
|
node.contents = null; // Fully decommit when requesting a resize to zero.
|
|
node.usedBytes = 0;
|
|
return;
|
|
}
|
|
|
|
if (!node.contents || node.contents.subarray) {
|
|
// Resize a typed array if that is being used as the backing store.
|
|
var oldContents = node.contents;
|
|
node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage.
|
|
if (oldContents) {
|
|
node.contents.set(
|
|
oldContents.subarray(0, Math.min(newSize, node.usedBytes))
|
|
); // Copy old data over to the new storage.
|
|
}
|
|
node.usedBytes = newSize;
|
|
return;
|
|
}
|
|
// Backing with a JS array.
|
|
if (!node.contents) node.contents = [];
|
|
if (node.contents.length > newSize) node.contents.length = newSize;
|
|
else while (node.contents.length < newSize) node.contents.push(0);
|
|
node.usedBytes = newSize;
|
|
},
|
|
node_ops: {
|
|
getattr: function(node) {
|
|
var attr = {};
|
|
// device numbers reuse inode numbers.
|
|
attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
|
|
attr.ino = node.id;
|
|
attr.mode = node.mode;
|
|
attr.nlink = 1;
|
|
attr.uid = 0;
|
|
attr.gid = 0;
|
|
attr.rdev = node.rdev;
|
|
if (FS.isDir(node.mode)) {
|
|
attr.size = 4096;
|
|
} else if (FS.isFile(node.mode)) {
|
|
attr.size = node.usedBytes;
|
|
} else if (FS.isLink(node.mode)) {
|
|
attr.size = node.link.length;
|
|
} else {
|
|
attr.size = 0;
|
|
}
|
|
attr.atime = new Date(node.timestamp);
|
|
attr.mtime = new Date(node.timestamp);
|
|
attr.ctime = new Date(node.timestamp);
|
|
// NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize),
|
|
// but this is not required by the standard.
|
|
attr.blksize = 4096;
|
|
attr.blocks = Math.ceil(attr.size / attr.blksize);
|
|
return attr;
|
|
},
|
|
setattr: function(node, attr) {
|
|
if (attr.mode !== undefined) {
|
|
node.mode = attr.mode;
|
|
}
|
|
if (attr.timestamp !== undefined) {
|
|
node.timestamp = attr.timestamp;
|
|
}
|
|
if (attr.size !== undefined) {
|
|
MEMFS.resizeFileStorage(node, attr.size);
|
|
}
|
|
},
|
|
lookup: function(parent, name) {
|
|
throw FS.genericErrors[ERRNO_CODES.ENOENT];
|
|
},
|
|
mknod: function(parent, name, mode, dev) {
|
|
return MEMFS.createNode(parent, name, mode, dev);
|
|
},
|
|
rename: function(old_node, new_dir, new_name) {
|
|
// if we're overwriting a directory at new_name, make sure it's empty.
|
|
if (FS.isDir(old_node.mode)) {
|
|
var new_node;
|
|
try {
|
|
new_node = FS.lookupNode(new_dir, new_name);
|
|
} catch (e) {}
|
|
if (new_node) {
|
|
for (var i in new_node.contents) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
|
|
}
|
|
}
|
|
}
|
|
// do the internal rewiring
|
|
delete old_node.parent.contents[old_node.name];
|
|
old_node.name = new_name;
|
|
new_dir.contents[new_name] = old_node;
|
|
old_node.parent = new_dir;
|
|
},
|
|
unlink: function(parent, name) {
|
|
delete parent.contents[name];
|
|
},
|
|
rmdir: function(parent, name) {
|
|
var node = FS.lookupNode(parent, name);
|
|
for (var i in node.contents) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
|
|
}
|
|
delete parent.contents[name];
|
|
},
|
|
readdir: function(node) {
|
|
var entries = ['.', '..'];
|
|
for (var key in node.contents) {
|
|
if (!node.contents.hasOwnProperty(key)) {
|
|
continue;
|
|
}
|
|
entries.push(key);
|
|
}
|
|
return entries;
|
|
},
|
|
symlink: function(parent, newname, oldpath) {
|
|
var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0);
|
|
node.link = oldpath;
|
|
return node;
|
|
},
|
|
readlink: function(node) {
|
|
if (!FS.isLink(node.mode)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
}
|
|
return node.link;
|
|
},
|
|
},
|
|
stream_ops: {
|
|
read: function(stream, buffer, offset, length, position) {
|
|
var contents = stream.node.contents;
|
|
if (position >= stream.node.usedBytes) return 0;
|
|
var size = Math.min(stream.node.usedBytes - position, length);
|
|
assert(size >= 0);
|
|
if (size > 8 && contents.subarray) {
|
|
// non-trivial, and typed array
|
|
buffer.set(contents.subarray(position, position + size), offset);
|
|
} else {
|
|
for (var i = 0; i < size; i++)
|
|
buffer[offset + i] = contents[position + i];
|
|
}
|
|
return size;
|
|
},
|
|
write: function(stream, buffer, offset, length, position, canOwn) {
|
|
if (!length) return 0;
|
|
var node = stream.node;
|
|
node.timestamp = Date.now();
|
|
|
|
if (buffer.subarray && (!node.contents || node.contents.subarray)) {
|
|
// This write is from a typed array to a typed array?
|
|
if (canOwn) {
|
|
// Can we just reuse the buffer we are given?
|
|
node.contents = buffer.subarray(offset, offset + length);
|
|
node.usedBytes = length;
|
|
return length;
|
|
} else if (node.usedBytes === 0 && position === 0) {
|
|
// If this is a simple first write to an empty file, do a fast set since we don't need to care about old data.
|
|
node.contents = new Uint8Array(
|
|
buffer.subarray(offset, offset + length)
|
|
);
|
|
node.usedBytes = length;
|
|
return length;
|
|
} else if (position + length <= node.usedBytes) {
|
|
// Writing to an already allocated and used subrange of the file?
|
|
node.contents.set(buffer.subarray(offset, offset + length), position);
|
|
return length;
|
|
}
|
|
}
|
|
// Appending to an existing file and we need to reallocate, or source data did not come as a typed array.
|
|
MEMFS.expandFileStorage(node, position + length);
|
|
if (node.contents.subarray && buffer.subarray)
|
|
node.contents.set(buffer.subarray(offset, offset + length), position);
|
|
// Use typed array write if available.
|
|
else
|
|
for (var i = 0; i < length; i++) {
|
|
node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not.
|
|
}
|
|
node.usedBytes = Math.max(node.usedBytes, position + length);
|
|
return length;
|
|
},
|
|
llseek: function(stream, offset, whence) {
|
|
var position = offset;
|
|
if (whence === 1) {
|
|
// SEEK_CUR.
|
|
position += stream.position;
|
|
} else if (whence === 2) {
|
|
// SEEK_END.
|
|
if (FS.isFile(stream.node.mode)) {
|
|
position += stream.node.usedBytes;
|
|
}
|
|
}
|
|
if (position < 0) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
}
|
|
return position;
|
|
},
|
|
allocate: function(stream, offset, length) {
|
|
MEMFS.expandFileStorage(stream.node, offset + length);
|
|
stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
|
|
},
|
|
mmap: function(stream, buffer, offset, length, position, prot, flags) {
|
|
if (!FS.isFile(stream.node.mode)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
|
|
}
|
|
var ptr;
|
|
var allocated;
|
|
var contents = stream.node.contents;
|
|
// Only make a new copy when MAP_PRIVATE is specified.
|
|
if (
|
|
!(flags & 2) &&
|
|
(contents.buffer === buffer || contents.buffer === buffer.buffer)
|
|
) {
|
|
// We can't emulate MAP_SHARED when the file is not backed by the buffer
|
|
// we're mapping to (e.g. the HEAP buffer).
|
|
allocated = false;
|
|
ptr = contents.byteOffset;
|
|
} else {
|
|
// Try to avoid unnecessary slices.
|
|
if (position > 0 || position + length < stream.node.usedBytes) {
|
|
if (contents.subarray) {
|
|
contents = contents.subarray(position, position + length);
|
|
} else {
|
|
contents = Array.prototype.slice.call(
|
|
contents,
|
|
position,
|
|
position + length
|
|
);
|
|
}
|
|
}
|
|
allocated = true;
|
|
ptr = _malloc(length);
|
|
if (!ptr) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
|
|
}
|
|
buffer.set(contents, ptr);
|
|
}
|
|
return { ptr: ptr, allocated: allocated };
|
|
},
|
|
},
|
|
};
|
|
|
|
var IDBFS = {
|
|
dbs: {},
|
|
indexedDB: function() {
|
|
if (typeof indexedDB !== 'undefined') return indexedDB;
|
|
var ret = null;
|
|
if (typeof window === 'object')
|
|
ret =
|
|
window.indexedDB ||
|
|
window.mozIndexedDB ||
|
|
window.webkitIndexedDB ||
|
|
window.msIndexedDB;
|
|
assert(ret, 'IDBFS used, but indexedDB not supported');
|
|
return ret;
|
|
},
|
|
DB_VERSION: 21,
|
|
DB_STORE_NAME: 'FILE_DATA',
|
|
mount: function(mount) {
|
|
// reuse all of the core MEMFS functionality
|
|
return MEMFS.mount.apply(null, arguments);
|
|
},
|
|
syncfs: function(mount, populate, callback) {
|
|
IDBFS.getLocalSet(mount, function(err, local) {
|
|
if (err) return callback(err);
|
|
|
|
IDBFS.getRemoteSet(mount, function(err, remote) {
|
|
if (err) return callback(err);
|
|
|
|
var src = populate ? remote : local;
|
|
var dst = populate ? local : remote;
|
|
|
|
IDBFS.reconcile(src, dst, callback);
|
|
});
|
|
});
|
|
},
|
|
getDB: function(name, callback) {
|
|
// check the cache first
|
|
var db = IDBFS.dbs[name];
|
|
if (db) {
|
|
return callback(null, db);
|
|
}
|
|
|
|
var req;
|
|
try {
|
|
req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
|
|
} catch (e) {
|
|
return callback(e);
|
|
}
|
|
req.onupgradeneeded = function(e) {
|
|
var db = e.target.result;
|
|
var transaction = e.target.transaction;
|
|
|
|
var fileStore;
|
|
|
|
if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
|
|
fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
|
|
} else {
|
|
fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
|
|
}
|
|
|
|
fileStore.createIndex('timestamp', 'timestamp', { unique: false });
|
|
};
|
|
req.onsuccess = function() {
|
|
db = req.result;
|
|
|
|
// add to the cache
|
|
IDBFS.dbs[name] = db;
|
|
callback(null, db);
|
|
};
|
|
req.onerror = function() {
|
|
callback(this.error);
|
|
};
|
|
},
|
|
getLocalSet: function(mount, callback) {
|
|
var entries = {};
|
|
|
|
function isRealDir(p) {
|
|
return p !== '.' && p !== '..';
|
|
}
|
|
function toAbsolute(root) {
|
|
return function(p) {
|
|
return PATH.join2(root, p);
|
|
};
|
|
}
|
|
|
|
var check = FS.readdir(mount.mountpoint)
|
|
.filter(isRealDir)
|
|
.map(toAbsolute(mount.mountpoint));
|
|
|
|
while (check.length) {
|
|
var path = check.pop();
|
|
var stat;
|
|
|
|
try {
|
|
stat = FS.stat(path);
|
|
} catch (e) {
|
|
return callback(e);
|
|
}
|
|
|
|
if (FS.isDir(stat.mode)) {
|
|
check.push.apply(
|
|
check,
|
|
FS.readdir(path)
|
|
.filter(isRealDir)
|
|
.map(toAbsolute(path))
|
|
);
|
|
}
|
|
|
|
entries[path] = { timestamp: stat.mtime };
|
|
}
|
|
|
|
return callback(null, { type: 'local', entries: entries });
|
|
},
|
|
getRemoteSet: function(mount, callback) {
|
|
var entries = {};
|
|
|
|
IDBFS.getDB(mount.mountpoint, function(err, db) {
|
|
if (err) return callback(err);
|
|
|
|
var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly');
|
|
transaction.onerror = function() {
|
|
callback(this.error);
|
|
};
|
|
|
|
var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
|
|
var index = store.index('timestamp');
|
|
|
|
index.openKeyCursor().onsuccess = function(event) {
|
|
var cursor = event.target.result;
|
|
|
|
if (!cursor) {
|
|
return callback(null, { type: 'remote', db: db, entries: entries });
|
|
}
|
|
|
|
entries[cursor.primaryKey] = { timestamp: cursor.key };
|
|
|
|
cursor.continue();
|
|
};
|
|
});
|
|
},
|
|
loadLocalEntry: function(path, callback) {
|
|
var stat, node;
|
|
|
|
try {
|
|
var lookup = FS.lookupPath(path);
|
|
node = lookup.node;
|
|
stat = FS.stat(path);
|
|
} catch (e) {
|
|
return callback(e);
|
|
}
|
|
|
|
if (FS.isDir(stat.mode)) {
|
|
return callback(null, { timestamp: stat.mtime, mode: stat.mode });
|
|
} else if (FS.isFile(stat.mode)) {
|
|
// Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array.
|
|
// Therefore always convert the file contents to a typed array first before writing the data to IndexedDB.
|
|
node.contents = MEMFS.getFileDataAsTypedArray(node);
|
|
return callback(null, {
|
|
timestamp: stat.mtime,
|
|
mode: stat.mode,
|
|
contents: node.contents,
|
|
});
|
|
} else {
|
|
return callback(new Error('node type not supported'));
|
|
}
|
|
},
|
|
storeLocalEntry: function(path, entry, callback) {
|
|
try {
|
|
if (FS.isDir(entry.mode)) {
|
|
FS.mkdir(path, entry.mode);
|
|
} else if (FS.isFile(entry.mode)) {
|
|
FS.writeFile(path, entry.contents, {
|
|
encoding: 'binary',
|
|
canOwn: true,
|
|
});
|
|
} else {
|
|
return callback(new Error('node type not supported'));
|
|
}
|
|
|
|
FS.chmod(path, entry.mode);
|
|
FS.utime(path, entry.timestamp, entry.timestamp);
|
|
} catch (e) {
|
|
return callback(e);
|
|
}
|
|
|
|
callback(null);
|
|
},
|
|
removeLocalEntry: function(path, callback) {
|
|
try {
|
|
var lookup = FS.lookupPath(path);
|
|
var stat = FS.stat(path);
|
|
|
|
if (FS.isDir(stat.mode)) {
|
|
FS.rmdir(path);
|
|
} else if (FS.isFile(stat.mode)) {
|
|
FS.unlink(path);
|
|
}
|
|
} catch (e) {
|
|
return callback(e);
|
|
}
|
|
|
|
callback(null);
|
|
},
|
|
loadRemoteEntry: function(store, path, callback) {
|
|
var req = store.get(path);
|
|
req.onsuccess = function(event) {
|
|
callback(null, event.target.result);
|
|
};
|
|
req.onerror = function() {
|
|
callback(this.error);
|
|
};
|
|
},
|
|
storeRemoteEntry: function(store, path, entry, callback) {
|
|
var req = store.put(entry, path);
|
|
req.onsuccess = function() {
|
|
callback(null);
|
|
};
|
|
req.onerror = function() {
|
|
callback(this.error);
|
|
};
|
|
},
|
|
removeRemoteEntry: function(store, path, callback) {
|
|
var req = store.delete(path);
|
|
req.onsuccess = function() {
|
|
callback(null);
|
|
};
|
|
req.onerror = function() {
|
|
callback(this.error);
|
|
};
|
|
},
|
|
reconcile: function(src, dst, callback) {
|
|
var total = 0;
|
|
|
|
var create = [];
|
|
Object.keys(src.entries).forEach(function(key) {
|
|
var e = src.entries[key];
|
|
var e2 = dst.entries[key];
|
|
if (!e2 || e.timestamp > e2.timestamp) {
|
|
create.push(key);
|
|
total++;
|
|
}
|
|
});
|
|
|
|
var remove = [];
|
|
Object.keys(dst.entries).forEach(function(key) {
|
|
var e = dst.entries[key];
|
|
var e2 = src.entries[key];
|
|
if (!e2) {
|
|
remove.push(key);
|
|
total++;
|
|
}
|
|
});
|
|
|
|
if (!total) {
|
|
return callback(null);
|
|
}
|
|
|
|
var errored = false;
|
|
var completed = 0;
|
|
var db = src.type === 'remote' ? src.db : dst.db;
|
|
var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite');
|
|
var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
|
|
|
|
function done(err) {
|
|
if (err) {
|
|
if (!done.errored) {
|
|
done.errored = true;
|
|
return callback(err);
|
|
}
|
|
return;
|
|
}
|
|
if (++completed >= total) {
|
|
return callback(null);
|
|
}
|
|
}
|
|
|
|
transaction.onerror = function() {
|
|
done(this.error);
|
|
};
|
|
|
|
// sort paths in ascending order so directory entries are created
|
|
// before the files inside them
|
|
create.sort().forEach(function(path) {
|
|
if (dst.type === 'local') {
|
|
IDBFS.loadRemoteEntry(store, path, function(err, entry) {
|
|
if (err) return done(err);
|
|
IDBFS.storeLocalEntry(path, entry, done);
|
|
});
|
|
} else {
|
|
IDBFS.loadLocalEntry(path, function(err, entry) {
|
|
if (err) return done(err);
|
|
IDBFS.storeRemoteEntry(store, path, entry, done);
|
|
});
|
|
}
|
|
});
|
|
|
|
// sort paths in descending order so files are deleted before their
|
|
// parent directories
|
|
remove
|
|
.sort()
|
|
.reverse()
|
|
.forEach(function(path) {
|
|
if (dst.type === 'local') {
|
|
IDBFS.removeLocalEntry(path, done);
|
|
} else {
|
|
IDBFS.removeRemoteEntry(store, path, done);
|
|
}
|
|
});
|
|
},
|
|
};
|
|
|
|
var NODEFS = {
|
|
isWindows: false,
|
|
staticInit: function() {
|
|
NODEFS.isWindows = !!process.platform.match(/^win/);
|
|
},
|
|
mount: function(mount) {
|
|
assert(ENVIRONMENT_IS_NODE);
|
|
return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0);
|
|
},
|
|
createNode: function(parent, name, mode, dev) {
|
|
if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
}
|
|
var node = FS.createNode(parent, name, mode);
|
|
node.node_ops = NODEFS.node_ops;
|
|
node.stream_ops = NODEFS.stream_ops;
|
|
return node;
|
|
},
|
|
getMode: function(path) {
|
|
var stat;
|
|
try {
|
|
stat = fs.lstatSync(path);
|
|
if (NODEFS.isWindows) {
|
|
// On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so
|
|
// propagate write bits to execute bits.
|
|
stat.mode = stat.mode | ((stat.mode & 146) >> 1);
|
|
}
|
|
} catch (e) {
|
|
if (!e.code) throw e;
|
|
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
}
|
|
return stat.mode;
|
|
},
|
|
realPath: function(node) {
|
|
var parts = [];
|
|
while (node.parent !== node) {
|
|
parts.push(node.name);
|
|
node = node.parent;
|
|
}
|
|
parts.push(node.mount.opts.root);
|
|
parts.reverse();
|
|
return PATH.join.apply(null, parts);
|
|
},
|
|
flagsToPermissionStringMap: {
|
|
0: 'r',
|
|
1: 'r+',
|
|
2: 'r+',
|
|
64: 'r',
|
|
65: 'r+',
|
|
66: 'r+',
|
|
129: 'rx+',
|
|
193: 'rx+',
|
|
514: 'w+',
|
|
577: 'w',
|
|
578: 'w+',
|
|
705: 'wx',
|
|
706: 'wx+',
|
|
1024: 'a',
|
|
1025: 'a',
|
|
1026: 'a+',
|
|
1089: 'a',
|
|
1090: 'a+',
|
|
1153: 'ax',
|
|
1154: 'ax+',
|
|
1217: 'ax',
|
|
1218: 'ax+',
|
|
4096: 'rs',
|
|
4098: 'rs+',
|
|
},
|
|
flagsToPermissionString: function(flags) {
|
|
if (flags in NODEFS.flagsToPermissionStringMap) {
|
|
return NODEFS.flagsToPermissionStringMap[flags];
|
|
} else {
|
|
return flags;
|
|
}
|
|
},
|
|
node_ops: {
|
|
getattr: function(node) {
|
|
var path = NODEFS.realPath(node);
|
|
var stat;
|
|
try {
|
|
stat = fs.lstatSync(path);
|
|
} catch (e) {
|
|
if (!e.code) throw e;
|
|
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
}
|
|
// node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096.
|
|
// See http://support.microsoft.com/kb/140365
|
|
if (NODEFS.isWindows && !stat.blksize) {
|
|
stat.blksize = 4096;
|
|
}
|
|
if (NODEFS.isWindows && !stat.blocks) {
|
|
stat.blocks = ((stat.size + stat.blksize - 1) / stat.blksize) | 0;
|
|
}
|
|
return {
|
|
dev: stat.dev,
|
|
ino: stat.ino,
|
|
mode: stat.mode,
|
|
nlink: stat.nlink,
|
|
uid: stat.uid,
|
|
gid: stat.gid,
|
|
rdev: stat.rdev,
|
|
size: stat.size,
|
|
atime: stat.atime,
|
|
mtime: stat.mtime,
|
|
ctime: stat.ctime,
|
|
blksize: stat.blksize,
|
|
blocks: stat.blocks,
|
|
};
|
|
},
|
|
setattr: function(node, attr) {
|
|
var path = NODEFS.realPath(node);
|
|
try {
|
|
if (attr.mode !== undefined) {
|
|
fs.chmodSync(path, attr.mode);
|
|
// update the common node structure mode as well
|
|
node.mode = attr.mode;
|
|
}
|
|
if (attr.timestamp !== undefined) {
|
|
var date = new Date(attr.timestamp);
|
|
fs.utimesSync(path, date, date);
|
|
}
|
|
if (attr.size !== undefined) {
|
|
fs.truncateSync(path, attr.size);
|
|
}
|
|
} catch (e) {
|
|
if (!e.code) throw e;
|
|
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
}
|
|
},
|
|
lookup: function(parent, name) {
|
|
var path = PATH.join2(NODEFS.realPath(parent), name);
|
|
var mode = NODEFS.getMode(path);
|
|
return NODEFS.createNode(parent, name, mode);
|
|
},
|
|
mknod: function(parent, name, mode, dev) {
|
|
var node = NODEFS.createNode(parent, name, mode, dev);
|
|
// create the backing node for this in the fs root as well
|
|
var path = NODEFS.realPath(node);
|
|
try {
|
|
if (FS.isDir(node.mode)) {
|
|
fs.mkdirSync(path, node.mode);
|
|
} else {
|
|
fs.writeFileSync(path, '', { mode: node.mode });
|
|
}
|
|
} catch (e) {
|
|
if (!e.code) throw e;
|
|
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
}
|
|
return node;
|
|
},
|
|
rename: function(oldNode, newDir, newName) {
|
|
var oldPath = NODEFS.realPath(oldNode);
|
|
var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
|
|
try {
|
|
fs.renameSync(oldPath, newPath);
|
|
} catch (e) {
|
|
if (!e.code) throw e;
|
|
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
}
|
|
},
|
|
unlink: function(parent, name) {
|
|
var path = PATH.join2(NODEFS.realPath(parent), name);
|
|
try {
|
|
fs.unlinkSync(path);
|
|
} catch (e) {
|
|
if (!e.code) throw e;
|
|
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
}
|
|
},
|
|
rmdir: function(parent, name) {
|
|
var path = PATH.join2(NODEFS.realPath(parent), name);
|
|
try {
|
|
fs.rmdirSync(path);
|
|
} catch (e) {
|
|
if (!e.code) throw e;
|
|
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
}
|
|
},
|
|
readdir: function(node) {
|
|
var path = NODEFS.realPath(node);
|
|
try {
|
|
return fs.readdirSync(path);
|
|
} catch (e) {
|
|
if (!e.code) throw e;
|
|
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
}
|
|
},
|
|
symlink: function(parent, newName, oldPath) {
|
|
var newPath = PATH.join2(NODEFS.realPath(parent), newName);
|
|
try {
|
|
fs.symlinkSync(oldPath, newPath);
|
|
} catch (e) {
|
|
if (!e.code) throw e;
|
|
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
}
|
|
},
|
|
readlink: function(node) {
|
|
var path = NODEFS.realPath(node);
|
|
try {
|
|
return fs.readlinkSync(path);
|
|
} catch (e) {
|
|
if (!e.code) throw e;
|
|
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
}
|
|
},
|
|
},
|
|
stream_ops: {
|
|
open: function(stream) {
|
|
var path = NODEFS.realPath(stream.node);
|
|
try {
|
|
if (FS.isFile(stream.node.mode)) {
|
|
stream.nfd = fs.openSync(
|
|
path,
|
|
NODEFS.flagsToPermissionString(stream.flags)
|
|
);
|
|
}
|
|
} catch (e) {
|
|
if (!e.code) throw e;
|
|
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
}
|
|
},
|
|
close: function(stream) {
|
|
try {
|
|
if (FS.isFile(stream.node.mode) && stream.nfd) {
|
|
fs.closeSync(stream.nfd);
|
|
}
|
|
} catch (e) {
|
|
if (!e.code) throw e;
|
|
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
}
|
|
},
|
|
read: function(stream, buffer, offset, length, position) {
|
|
if (length === 0) return 0; // node errors on 0 length reads
|
|
// FIXME this is terrible.
|
|
var nbuffer = new Buffer(length);
|
|
var res;
|
|
try {
|
|
res = fs.readSync(stream.nfd, nbuffer, 0, length, position);
|
|
} catch (e) {
|
|
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
}
|
|
if (res > 0) {
|
|
for (var i = 0; i < res; i++) {
|
|
buffer[offset + i] = nbuffer[i];
|
|
}
|
|
}
|
|
return res;
|
|
},
|
|
write: function(stream, buffer, offset, length, position) {
|
|
// FIXME this is terrible.
|
|
var nbuffer = new Buffer(buffer.subarray(offset, offset + length));
|
|
var res;
|
|
try {
|
|
res = fs.writeSync(stream.nfd, nbuffer, 0, length, position);
|
|
} catch (e) {
|
|
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
}
|
|
return res;
|
|
},
|
|
llseek: function(stream, offset, whence) {
|
|
var position = offset;
|
|
if (whence === 1) {
|
|
// SEEK_CUR.
|
|
position += stream.position;
|
|
} else if (whence === 2) {
|
|
// SEEK_END.
|
|
if (FS.isFile(stream.node.mode)) {
|
|
try {
|
|
var stat = fs.fstatSync(stream.nfd);
|
|
position += stat.size;
|
|
} catch (e) {
|
|
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (position < 0) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
}
|
|
|
|
return position;
|
|
},
|
|
},
|
|
};
|
|
|
|
var _stdin = allocate(1, 'i32*', ALLOC_STATIC);
|
|
|
|
var _stdout = allocate(1, 'i32*', ALLOC_STATIC);
|
|
|
|
var _stderr = allocate(1, 'i32*', ALLOC_STATIC);
|
|
|
|
function _fflush(stream) {
|
|
// int fflush(FILE *stream);
|
|
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fflush.html
|
|
/*
|
|
// Disabled, see https://github.com/kripken/emscripten/issues/2770
|
|
stream = FS.getStreamFromPtr(stream);
|
|
if (stream.stream_ops.flush) {
|
|
stream.stream_ops.flush(stream);
|
|
}
|
|
*/
|
|
}
|
|
var FS = {
|
|
root: null,
|
|
mounts: [],
|
|
devices: [null],
|
|
streams: [],
|
|
nextInode: 1,
|
|
nameTable: null,
|
|
currentPath: '/',
|
|
initialized: false,
|
|
ignorePermissions: true,
|
|
trackingDelegate: {},
|
|
tracking: { openFlags: { READ: 1, WRITE: 2 } },
|
|
ErrnoError: null,
|
|
genericErrors: {},
|
|
handleFSError: function(e) {
|
|
if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace();
|
|
return ___setErrNo(e.errno);
|
|
},
|
|
lookupPath: function(path, opts) {
|
|
path = PATH.resolve(FS.cwd(), path);
|
|
opts = opts || {};
|
|
|
|
if (!path) return { path: '', node: null };
|
|
|
|
var defaults = {
|
|
follow_mount: true,
|
|
recurse_count: 0,
|
|
};
|
|
for (var key in defaults) {
|
|
if (opts[key] === undefined) {
|
|
opts[key] = defaults[key];
|
|
}
|
|
}
|
|
|
|
if (opts.recurse_count > 8) {
|
|
// max recursive lookup of 8
|
|
throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
|
|
}
|
|
|
|
// split the path
|
|
var parts = PATH.normalizeArray(
|
|
path.split('/').filter(function(p) {
|
|
return !!p;
|
|
}),
|
|
false
|
|
);
|
|
|
|
// start at the root
|
|
var current = FS.root;
|
|
var current_path = '/';
|
|
|
|
for (var i = 0; i < parts.length; i++) {
|
|
var islast = i === parts.length - 1;
|
|
if (islast && opts.parent) {
|
|
// stop resolving
|
|
break;
|
|
}
|
|
|
|
current = FS.lookupNode(current, parts[i]);
|
|
current_path = PATH.join2(current_path, parts[i]);
|
|
|
|
// jump to the mount's root node if this is a mountpoint
|
|
if (FS.isMountpoint(current)) {
|
|
if (!islast || (islast && opts.follow_mount)) {
|
|
current = current.mounted.root;
|
|
}
|
|
}
|
|
|
|
// by default, lookupPath will not follow a symlink if it is the final path component.
|
|
// setting opts.follow = true will override this behavior.
|
|
if (!islast || opts.follow) {
|
|
var count = 0;
|
|
while (FS.isLink(current.mode)) {
|
|
var link = FS.readlink(current_path);
|
|
current_path = PATH.resolve(PATH.dirname(current_path), link);
|
|
|
|
var lookup = FS.lookupPath(current_path, {
|
|
recurse_count: opts.recurse_count,
|
|
});
|
|
current = lookup.node;
|
|
|
|
if (count++ > 40) {
|
|
// limit max consecutive symlinks to 40 (SYMLOOP_MAX).
|
|
throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return { path: current_path, node: current };
|
|
},
|
|
getPath: function(node) {
|
|
var path;
|
|
while (true) {
|
|
if (FS.isRoot(node)) {
|
|
var mount = node.mount.mountpoint;
|
|
if (!path) return mount;
|
|
return mount[mount.length - 1] !== '/'
|
|
? mount + '/' + path
|
|
: mount + path;
|
|
}
|
|
path = path ? node.name + '/' + path : node.name;
|
|
node = node.parent;
|
|
}
|
|
},
|
|
hashName: function(parentid, name) {
|
|
var hash = 0;
|
|
|
|
for (var i = 0; i < name.length; i++) {
|
|
hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;
|
|
}
|
|
return ((parentid + hash) >>> 0) % FS.nameTable.length;
|
|
},
|
|
hashAddNode: function(node) {
|
|
var hash = FS.hashName(node.parent.id, node.name);
|
|
node.name_next = FS.nameTable[hash];
|
|
FS.nameTable[hash] = node;
|
|
},
|
|
hashRemoveNode: function(node) {
|
|
var hash = FS.hashName(node.parent.id, node.name);
|
|
if (FS.nameTable[hash] === node) {
|
|
FS.nameTable[hash] = node.name_next;
|
|
} else {
|
|
var current = FS.nameTable[hash];
|
|
while (current) {
|
|
if (current.name_next === node) {
|
|
current.name_next = node.name_next;
|
|
break;
|
|
}
|
|
current = current.name_next;
|
|
}
|
|
}
|
|
},
|
|
lookupNode: function(parent, name) {
|
|
var err = FS.mayLookup(parent);
|
|
if (err) {
|
|
throw new FS.ErrnoError(err, parent);
|
|
}
|
|
var hash = FS.hashName(parent.id, name);
|
|
for (var node = FS.nameTable[hash]; node; node = node.name_next) {
|
|
var nodeName = node.name;
|
|
if (node.parent.id === parent.id && nodeName === name) {
|
|
return node;
|
|
}
|
|
}
|
|
// if we failed to find it in the cache, call into the VFS
|
|
return FS.lookup(parent, name);
|
|
},
|
|
createNode: function(parent, name, mode, rdev) {
|
|
if (!FS.FSNode) {
|
|
FS.FSNode = function(parent, name, mode, rdev) {
|
|
if (!parent) {
|
|
parent = this; // root node sets parent to itself
|
|
}
|
|
this.parent = parent;
|
|
this.mount = parent.mount;
|
|
this.mounted = null;
|
|
this.id = FS.nextInode++;
|
|
this.name = name;
|
|
this.mode = mode;
|
|
this.node_ops = {};
|
|
this.stream_ops = {};
|
|
this.rdev = rdev;
|
|
};
|
|
|
|
FS.FSNode.prototype = {};
|
|
|
|
// compatibility
|
|
var readMode = 292 | 73;
|
|
var writeMode = 146;
|
|
|
|
// NOTE we must use Object.defineProperties instead of individual calls to
|
|
// Object.defineProperty in order to make closure compiler happy
|
|
Object.defineProperties(FS.FSNode.prototype, {
|
|
read: {
|
|
get: function() {
|
|
return (this.mode & readMode) === readMode;
|
|
},
|
|
set: function(val) {
|
|
val ? (this.mode |= readMode) : (this.mode &= ~readMode);
|
|
},
|
|
},
|
|
write: {
|
|
get: function() {
|
|
return (this.mode & writeMode) === writeMode;
|
|
},
|
|
set: function(val) {
|
|
val ? (this.mode |= writeMode) : (this.mode &= ~writeMode);
|
|
},
|
|
},
|
|
isFolder: {
|
|
get: function() {
|
|
return FS.isDir(this.mode);
|
|
},
|
|
},
|
|
isDevice: {
|
|
get: function() {
|
|
return FS.isChrdev(this.mode);
|
|
},
|
|
},
|
|
});
|
|
}
|
|
|
|
var node = new FS.FSNode(parent, name, mode, rdev);
|
|
|
|
FS.hashAddNode(node);
|
|
|
|
return node;
|
|
},
|
|
destroyNode: function(node) {
|
|
FS.hashRemoveNode(node);
|
|
},
|
|
isRoot: function(node) {
|
|
return node === node.parent;
|
|
},
|
|
isMountpoint: function(node) {
|
|
return !!node.mounted;
|
|
},
|
|
isFile: function(mode) {
|
|
return (mode & 61440) === 32768;
|
|
},
|
|
isDir: function(mode) {
|
|
return (mode & 61440) === 16384;
|
|
},
|
|
isLink: function(mode) {
|
|
return (mode & 61440) === 40960;
|
|
},
|
|
isChrdev: function(mode) {
|
|
return (mode & 61440) === 8192;
|
|
},
|
|
isBlkdev: function(mode) {
|
|
return (mode & 61440) === 24576;
|
|
},
|
|
isFIFO: function(mode) {
|
|
return (mode & 61440) === 4096;
|
|
},
|
|
isSocket: function(mode) {
|
|
return (mode & 49152) === 49152;
|
|
},
|
|
flagModes: {
|
|
r: 0,
|
|
rs: 1052672,
|
|
'r+': 2,
|
|
w: 577,
|
|
wx: 705,
|
|
xw: 705,
|
|
'w+': 578,
|
|
'wx+': 706,
|
|
'xw+': 706,
|
|
a: 1089,
|
|
ax: 1217,
|
|
xa: 1217,
|
|
'a+': 1090,
|
|
'ax+': 1218,
|
|
'xa+': 1218,
|
|
},
|
|
modeStringToFlags: function(str) {
|
|
var flags = FS.flagModes[str];
|
|
if (typeof flags === 'undefined') {
|
|
throw new Error('Unknown file open mode: ' + str);
|
|
}
|
|
return flags;
|
|
},
|
|
flagsToPermissionString: function(flag) {
|
|
var accmode = flag & 2097155;
|
|
var perms = ['r', 'w', 'rw'][accmode];
|
|
if (flag & 512) {
|
|
perms += 'w';
|
|
}
|
|
return perms;
|
|
},
|
|
nodePermissions: function(node, perms) {
|
|
if (FS.ignorePermissions) {
|
|
return 0;
|
|
}
|
|
// return 0 if any user, group or owner bits are set.
|
|
if (perms.indexOf('r') !== -1 && !(node.mode & 292)) {
|
|
return ERRNO_CODES.EACCES;
|
|
} else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) {
|
|
return ERRNO_CODES.EACCES;
|
|
} else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) {
|
|
return ERRNO_CODES.EACCES;
|
|
}
|
|
return 0;
|
|
},
|
|
mayLookup: function(dir) {
|
|
var err = FS.nodePermissions(dir, 'x');
|
|
if (err) return err;
|
|
if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES;
|
|
return 0;
|
|
},
|
|
mayCreate: function(dir, name) {
|
|
try {
|
|
var node = FS.lookupNode(dir, name);
|
|
return ERRNO_CODES.EEXIST;
|
|
} catch (e) {}
|
|
return FS.nodePermissions(dir, 'wx');
|
|
},
|
|
mayDelete: function(dir, name, isdir) {
|
|
var node;
|
|
try {
|
|
node = FS.lookupNode(dir, name);
|
|
} catch (e) {
|
|
return e.errno;
|
|
}
|
|
var err = FS.nodePermissions(dir, 'wx');
|
|
if (err) {
|
|
return err;
|
|
}
|
|
if (isdir) {
|
|
if (!FS.isDir(node.mode)) {
|
|
return ERRNO_CODES.ENOTDIR;
|
|
}
|
|
if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
|
|
return ERRNO_CODES.EBUSY;
|
|
}
|
|
} else {
|
|
if (FS.isDir(node.mode)) {
|
|
return ERRNO_CODES.EISDIR;
|
|
}
|
|
}
|
|
return 0;
|
|
},
|
|
mayOpen: function(node, flags) {
|
|
if (!node) {
|
|
return ERRNO_CODES.ENOENT;
|
|
}
|
|
if (FS.isLink(node.mode)) {
|
|
return ERRNO_CODES.ELOOP;
|
|
} else if (FS.isDir(node.mode)) {
|
|
if (
|
|
(flags & 2097155) !== 0 || // opening for write
|
|
flags & 512
|
|
) {
|
|
return ERRNO_CODES.EISDIR;
|
|
}
|
|
}
|
|
return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
|
|
},
|
|
MAX_OPEN_FDS: 4096,
|
|
nextfd: function(fd_start, fd_end) {
|
|
fd_start = fd_start || 0;
|
|
fd_end = fd_end || FS.MAX_OPEN_FDS;
|
|
for (var fd = fd_start; fd <= fd_end; fd++) {
|
|
if (!FS.streams[fd]) {
|
|
return fd;
|
|
}
|
|
}
|
|
throw new FS.ErrnoError(ERRNO_CODES.EMFILE);
|
|
},
|
|
getStream: function(fd) {
|
|
return FS.streams[fd];
|
|
},
|
|
createStream: function(stream, fd_start, fd_end) {
|
|
if (!FS.FSStream) {
|
|
FS.FSStream = function() {};
|
|
FS.FSStream.prototype = {};
|
|
// compatibility
|
|
Object.defineProperties(FS.FSStream.prototype, {
|
|
object: {
|
|
get: function() {
|
|
return this.node;
|
|
},
|
|
set: function(val) {
|
|
this.node = val;
|
|
},
|
|
},
|
|
isRead: {
|
|
get: function() {
|
|
return (this.flags & 2097155) !== 1;
|
|
},
|
|
},
|
|
isWrite: {
|
|
get: function() {
|
|
return (this.flags & 2097155) !== 0;
|
|
},
|
|
},
|
|
isAppend: {
|
|
get: function() {
|
|
return this.flags & 1024;
|
|
},
|
|
},
|
|
});
|
|
}
|
|
// clone it, so we can return an instance of FSStream
|
|
var newStream = new FS.FSStream();
|
|
for (var p in stream) {
|
|
newStream[p] = stream[p];
|
|
}
|
|
stream = newStream;
|
|
var fd = FS.nextfd(fd_start, fd_end);
|
|
stream.fd = fd;
|
|
FS.streams[fd] = stream;
|
|
return stream;
|
|
},
|
|
closeStream: function(fd) {
|
|
FS.streams[fd] = null;
|
|
},
|
|
getStreamFromPtr: function(ptr) {
|
|
return FS.streams[ptr - 1];
|
|
},
|
|
getPtrForStream: function(stream) {
|
|
return stream ? stream.fd + 1 : 0;
|
|
},
|
|
chrdev_stream_ops: {
|
|
open: function(stream) {
|
|
var device = FS.getDevice(stream.node.rdev);
|
|
// override node's stream ops with the device's
|
|
stream.stream_ops = device.stream_ops;
|
|
// forward the open call
|
|
if (stream.stream_ops.open) {
|
|
stream.stream_ops.open(stream);
|
|
}
|
|
},
|
|
llseek: function() {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
|
|
},
|
|
},
|
|
major: function(dev) {
|
|
return dev >> 8;
|
|
},
|
|
minor: function(dev) {
|
|
return dev & 0xff;
|
|
},
|
|
makedev: function(ma, mi) {
|
|
return (ma << 8) | mi;
|
|
},
|
|
registerDevice: function(dev, ops) {
|
|
FS.devices[dev] = { stream_ops: ops };
|
|
},
|
|
getDevice: function(dev) {
|
|
return FS.devices[dev];
|
|
},
|
|
getMounts: function(mount) {
|
|
var mounts = [];
|
|
var check = [mount];
|
|
|
|
while (check.length) {
|
|
var m = check.pop();
|
|
|
|
mounts.push(m);
|
|
|
|
check.push.apply(check, m.mounts);
|
|
}
|
|
|
|
return mounts;
|
|
},
|
|
syncfs: function(populate, callback) {
|
|
if (typeof populate === 'function') {
|
|
callback = populate;
|
|
populate = false;
|
|
}
|
|
|
|
var mounts = FS.getMounts(FS.root.mount);
|
|
var completed = 0;
|
|
|
|
function done(err) {
|
|
if (err) {
|
|
if (!done.errored) {
|
|
done.errored = true;
|
|
return callback(err);
|
|
}
|
|
return;
|
|
}
|
|
if (++completed >= mounts.length) {
|
|
callback(null);
|
|
}
|
|
}
|
|
|
|
// sync all mounts
|
|
mounts.forEach(function(mount) {
|
|
if (!mount.type.syncfs) {
|
|
return done(null);
|
|
}
|
|
mount.type.syncfs(mount, populate, done);
|
|
});
|
|
},
|
|
mount: function(type, opts, mountpoint) {
|
|
var root = mountpoint === '/';
|
|
var pseudo = !mountpoint;
|
|
var node;
|
|
|
|
if (root && FS.root) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
|
|
} else if (!root && !pseudo) {
|
|
var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
|
|
|
|
mountpoint = lookup.path; // use the absolute path
|
|
node = lookup.node;
|
|
|
|
if (FS.isMountpoint(node)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
|
|
}
|
|
|
|
if (!FS.isDir(node.mode)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
|
|
}
|
|
}
|
|
|
|
var mount = {
|
|
type: type,
|
|
opts: opts,
|
|
mountpoint: mountpoint,
|
|
mounts: [],
|
|
};
|
|
|
|
// create a root node for the fs
|
|
var mountRoot = type.mount(mount);
|
|
mountRoot.mount = mount;
|
|
mount.root = mountRoot;
|
|
|
|
if (root) {
|
|
FS.root = mountRoot;
|
|
} else if (node) {
|
|
// set as a mountpoint
|
|
node.mounted = mount;
|
|
|
|
// add the new mount to the current mount's children
|
|
if (node.mount) {
|
|
node.mount.mounts.push(mount);
|
|
}
|
|
}
|
|
|
|
return mountRoot;
|
|
},
|
|
unmount: function(mountpoint) {
|
|
var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
|
|
|
|
if (!FS.isMountpoint(lookup.node)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
}
|
|
|
|
// destroy the nodes for this mount, and all its child mounts
|
|
var node = lookup.node;
|
|
var mount = node.mounted;
|
|
var mounts = FS.getMounts(mount);
|
|
|
|
Object.keys(FS.nameTable).forEach(function(hash) {
|
|
var current = FS.nameTable[hash];
|
|
|
|
while (current) {
|
|
var next = current.name_next;
|
|
|
|
if (mounts.indexOf(current.mount) !== -1) {
|
|
FS.destroyNode(current);
|
|
}
|
|
|
|
current = next;
|
|
}
|
|
});
|
|
|
|
// no longer a mountpoint
|
|
node.mounted = null;
|
|
|
|
// remove this mount from the child mounts
|
|
var idx = node.mount.mounts.indexOf(mount);
|
|
assert(idx !== -1);
|
|
node.mount.mounts.splice(idx, 1);
|
|
},
|
|
lookup: function(parent, name) {
|
|
return parent.node_ops.lookup(parent, name);
|
|
},
|
|
mknod: function(path, mode, dev) {
|
|
var lookup = FS.lookupPath(path, { parent: true });
|
|
var parent = lookup.node;
|
|
var name = PATH.basename(path);
|
|
if (!name || name === '.' || name === '..') {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
}
|
|
var err = FS.mayCreate(parent, name);
|
|
if (err) {
|
|
throw new FS.ErrnoError(err);
|
|
}
|
|
if (!parent.node_ops.mknod) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
|
|
}
|
|
return parent.node_ops.mknod(parent, name, mode, dev);
|
|
},
|
|
create: function(path, mode) {
|
|
mode = mode !== undefined ? mode : 438 /* 0666 */;
|
|
mode &= 4095;
|
|
mode |= 32768;
|
|
return FS.mknod(path, mode, 0);
|
|
},
|
|
mkdir: function(path, mode) {
|
|
mode = mode !== undefined ? mode : 511 /* 0777 */;
|
|
mode &= 511 | 512;
|
|
mode |= 16384;
|
|
return FS.mknod(path, mode, 0);
|
|
},
|
|
mkdev: function(path, mode, dev) {
|
|
if (typeof dev === 'undefined') {
|
|
dev = mode;
|
|
mode = 438 /* 0666 */;
|
|
}
|
|
mode |= 8192;
|
|
return FS.mknod(path, mode, dev);
|
|
},
|
|
symlink: function(oldpath, newpath) {
|
|
if (!PATH.resolve(oldpath)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
|
|
}
|
|
var lookup = FS.lookupPath(newpath, { parent: true });
|
|
var parent = lookup.node;
|
|
if (!parent) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
|
|
}
|
|
var newname = PATH.basename(newpath);
|
|
var err = FS.mayCreate(parent, newname);
|
|
if (err) {
|
|
throw new FS.ErrnoError(err);
|
|
}
|
|
if (!parent.node_ops.symlink) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
|
|
}
|
|
return parent.node_ops.symlink(parent, newname, oldpath);
|
|
},
|
|
rename: function(old_path, new_path) {
|
|
var old_dirname = PATH.dirname(old_path);
|
|
var new_dirname = PATH.dirname(new_path);
|
|
var old_name = PATH.basename(old_path);
|
|
var new_name = PATH.basename(new_path);
|
|
// parents must exist
|
|
var lookup, old_dir, new_dir;
|
|
try {
|
|
lookup = FS.lookupPath(old_path, { parent: true });
|
|
old_dir = lookup.node;
|
|
lookup = FS.lookupPath(new_path, { parent: true });
|
|
new_dir = lookup.node;
|
|
} catch (e) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
|
|
}
|
|
if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
|
|
// need to be part of the same mount
|
|
if (old_dir.mount !== new_dir.mount) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EXDEV);
|
|
}
|
|
// source must exist
|
|
var old_node = FS.lookupNode(old_dir, old_name);
|
|
// old path should not be an ancestor of the new path
|
|
var relative = PATH.relative(old_path, new_dirname);
|
|
if (relative.charAt(0) !== '.') {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
}
|
|
// new path should not be an ancestor of the old path
|
|
relative = PATH.relative(new_path, old_dirname);
|
|
if (relative.charAt(0) !== '.') {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
|
|
}
|
|
// see if the new path already exists
|
|
var new_node;
|
|
try {
|
|
new_node = FS.lookupNode(new_dir, new_name);
|
|
} catch (e) {
|
|
// not fatal
|
|
}
|
|
// early out if nothing needs to change
|
|
if (old_node === new_node) {
|
|
return;
|
|
}
|
|
// we'll need to delete the old entry
|
|
var isdir = FS.isDir(old_node.mode);
|
|
var err = FS.mayDelete(old_dir, old_name, isdir);
|
|
if (err) {
|
|
throw new FS.ErrnoError(err);
|
|
}
|
|
// need delete permissions if we'll be overwriting.
|
|
// need create permissions if new doesn't already exist.
|
|
err = new_node
|
|
? FS.mayDelete(new_dir, new_name, isdir)
|
|
: FS.mayCreate(new_dir, new_name);
|
|
if (err) {
|
|
throw new FS.ErrnoError(err);
|
|
}
|
|
if (!old_dir.node_ops.rename) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
|
|
}
|
|
if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
|
|
}
|
|
// if we are going to change the parent, check write permissions
|
|
if (new_dir !== old_dir) {
|
|
err = FS.nodePermissions(old_dir, 'w');
|
|
if (err) {
|
|
throw new FS.ErrnoError(err);
|
|
}
|
|
}
|
|
try {
|
|
if (FS.trackingDelegate['willMovePath']) {
|
|
FS.trackingDelegate['willMovePath'](old_path, new_path);
|
|
}
|
|
} catch (e) {
|
|
console.log(
|
|
"FS.trackingDelegate['willMovePath']('" +
|
|
old_path +
|
|
"', '" +
|
|
new_path +
|
|
"') threw an exception: " +
|
|
e.message
|
|
);
|
|
}
|
|
// remove the node from the lookup hash
|
|
FS.hashRemoveNode(old_node);
|
|
// do the underlying fs rename
|
|
try {
|
|
old_dir.node_ops.rename(old_node, new_dir, new_name);
|
|
} catch (e) {
|
|
throw e;
|
|
} finally {
|
|
// add the node back to the hash (in case node_ops.rename
|
|
// changed its name)
|
|
FS.hashAddNode(old_node);
|
|
}
|
|
try {
|
|
if (FS.trackingDelegate['onMovePath'])
|
|
FS.trackingDelegate['onMovePath'](old_path, new_path);
|
|
} catch (e) {
|
|
console.log(
|
|
"FS.trackingDelegate['onMovePath']('" +
|
|
old_path +
|
|
"', '" +
|
|
new_path +
|
|
"') threw an exception: " +
|
|
e.message
|
|
);
|
|
}
|
|
},
|
|
rmdir: function(path) {
|
|
var lookup = FS.lookupPath(path, { parent: true });
|
|
var parent = lookup.node;
|
|
var name = PATH.basename(path);
|
|
var node = FS.lookupNode(parent, name);
|
|
var err = FS.mayDelete(parent, name, true);
|
|
if (err) {
|
|
throw new FS.ErrnoError(err);
|
|
}
|
|
if (!parent.node_ops.rmdir) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
|
|
}
|
|
if (FS.isMountpoint(node)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
|
|
}
|
|
try {
|
|
if (FS.trackingDelegate['willDeletePath']) {
|
|
FS.trackingDelegate['willDeletePath'](path);
|
|
}
|
|
} catch (e) {
|
|
console.log(
|
|
"FS.trackingDelegate['willDeletePath']('" +
|
|
path +
|
|
"') threw an exception: " +
|
|
e.message
|
|
);
|
|
}
|
|
parent.node_ops.rmdir(parent, name);
|
|
FS.destroyNode(node);
|
|
try {
|
|
if (FS.trackingDelegate['onDeletePath'])
|
|
FS.trackingDelegate['onDeletePath'](path);
|
|
} catch (e) {
|
|
console.log(
|
|
"FS.trackingDelegate['onDeletePath']('" +
|
|
path +
|
|
"') threw an exception: " +
|
|
e.message
|
|
);
|
|
}
|
|
},
|
|
readdir: function(path) {
|
|
var lookup = FS.lookupPath(path, { follow: true });
|
|
var node = lookup.node;
|
|
if (!node.node_ops.readdir) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
|
|
}
|
|
return node.node_ops.readdir(node);
|
|
},
|
|
unlink: function(path) {
|
|
var lookup = FS.lookupPath(path, { parent: true });
|
|
var parent = lookup.node;
|
|
var name = PATH.basename(path);
|
|
var node = FS.lookupNode(parent, name);
|
|
var err = FS.mayDelete(parent, name, false);
|
|
if (err) {
|
|
// POSIX says unlink should set EPERM, not EISDIR
|
|
if (err === ERRNO_CODES.EISDIR) err = ERRNO_CODES.EPERM;
|
|
throw new FS.ErrnoError(err);
|
|
}
|
|
if (!parent.node_ops.unlink) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
|
|
}
|
|
if (FS.isMountpoint(node)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
|
|
}
|
|
try {
|
|
if (FS.trackingDelegate['willDeletePath']) {
|
|
FS.trackingDelegate['willDeletePath'](path);
|
|
}
|
|
} catch (e) {
|
|
console.log(
|
|
"FS.trackingDelegate['willDeletePath']('" +
|
|
path +
|
|
"') threw an exception: " +
|
|
e.message
|
|
);
|
|
}
|
|
parent.node_ops.unlink(parent, name);
|
|
FS.destroyNode(node);
|
|
try {
|
|
if (FS.trackingDelegate['onDeletePath'])
|
|
FS.trackingDelegate['onDeletePath'](path);
|
|
} catch (e) {
|
|
console.log(
|
|
"FS.trackingDelegate['onDeletePath']('" +
|
|
path +
|
|
"') threw an exception: " +
|
|
e.message
|
|
);
|
|
}
|
|
},
|
|
readlink: function(path) {
|
|
var lookup = FS.lookupPath(path);
|
|
var link = lookup.node;
|
|
if (!link) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
|
|
}
|
|
if (!link.node_ops.readlink) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
}
|
|
return link.node_ops.readlink(link);
|
|
},
|
|
stat: function(path, dontFollow) {
|
|
var lookup = FS.lookupPath(path, { follow: !dontFollow });
|
|
var node = lookup.node;
|
|
if (!node) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
|
|
}
|
|
if (!node.node_ops.getattr) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
|
|
}
|
|
return node.node_ops.getattr(node);
|
|
},
|
|
lstat: function(path) {
|
|
return FS.stat(path, true);
|
|
},
|
|
chmod: function(path, mode, dontFollow) {
|
|
var node;
|
|
if (typeof path === 'string') {
|
|
var lookup = FS.lookupPath(path, { follow: !dontFollow });
|
|
node = lookup.node;
|
|
} else {
|
|
node = path;
|
|
}
|
|
if (!node.node_ops.setattr) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
|
|
}
|
|
node.node_ops.setattr(node, {
|
|
mode: (mode & 4095) | (node.mode & ~4095),
|
|
timestamp: Date.now(),
|
|
});
|
|
},
|
|
lchmod: function(path, mode) {
|
|
FS.chmod(path, mode, true);
|
|
},
|
|
fchmod: function(fd, mode) {
|
|
var stream = FS.getStream(fd);
|
|
if (!stream) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
|
|
}
|
|
FS.chmod(stream.node, mode);
|
|
},
|
|
chown: function(path, uid, gid, dontFollow) {
|
|
var node;
|
|
if (typeof path === 'string') {
|
|
var lookup = FS.lookupPath(path, { follow: !dontFollow });
|
|
node = lookup.node;
|
|
} else {
|
|
node = path;
|
|
}
|
|
if (!node.node_ops.setattr) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
|
|
}
|
|
node.node_ops.setattr(node, {
|
|
timestamp: Date.now(),
|
|
// we ignore the uid / gid for now
|
|
});
|
|
},
|
|
lchown: function(path, uid, gid) {
|
|
FS.chown(path, uid, gid, true);
|
|
},
|
|
fchown: function(fd, uid, gid) {
|
|
var stream = FS.getStream(fd);
|
|
if (!stream) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
|
|
}
|
|
FS.chown(stream.node, uid, gid);
|
|
},
|
|
truncate: function(path, len) {
|
|
if (len < 0) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
}
|
|
var node;
|
|
if (typeof path === 'string') {
|
|
var lookup = FS.lookupPath(path, { follow: true });
|
|
node = lookup.node;
|
|
} else {
|
|
node = path;
|
|
}
|
|
if (!node.node_ops.setattr) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
|
|
}
|
|
if (FS.isDir(node.mode)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
|
|
}
|
|
if (!FS.isFile(node.mode)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
}
|
|
var err = FS.nodePermissions(node, 'w');
|
|
if (err) {
|
|
throw new FS.ErrnoError(err);
|
|
}
|
|
node.node_ops.setattr(node, {
|
|
size: len,
|
|
timestamp: Date.now(),
|
|
});
|
|
},
|
|
ftruncate: function(fd, len) {
|
|
var stream = FS.getStream(fd);
|
|
if (!stream) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
|
|
}
|
|
if ((stream.flags & 2097155) === 0) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
}
|
|
FS.truncate(stream.node, len);
|
|
},
|
|
utime: function(path, atime, mtime) {
|
|
var lookup = FS.lookupPath(path, { follow: true });
|
|
var node = lookup.node;
|
|
node.node_ops.setattr(node, {
|
|
timestamp: Math.max(atime, mtime),
|
|
});
|
|
},
|
|
open: function(path, flags, mode, fd_start, fd_end) {
|
|
if (path === '') {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
|
|
}
|
|
flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags;
|
|
mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode;
|
|
if (flags & 64) {
|
|
mode = (mode & 4095) | 32768;
|
|
} else {
|
|
mode = 0;
|
|
}
|
|
var node;
|
|
if (typeof path === 'object') {
|
|
node = path;
|
|
} else {
|
|
path = PATH.normalize(path);
|
|
try {
|
|
var lookup = FS.lookupPath(path, {
|
|
follow: !(flags & 131072),
|
|
});
|
|
node = lookup.node;
|
|
} catch (e) {
|
|
// ignore
|
|
}
|
|
}
|
|
// perhaps we need to create the node
|
|
var created = false;
|
|
if (flags & 64) {
|
|
if (node) {
|
|
// if O_CREAT and O_EXCL are set, error out if the node already exists
|
|
if (flags & 128) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EEXIST);
|
|
}
|
|
} else {
|
|
// node doesn't exist, try to create it
|
|
node = FS.mknod(path, mode, 0);
|
|
created = true;
|
|
}
|
|
}
|
|
if (!node) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
|
|
}
|
|
// can't truncate a device
|
|
if (FS.isChrdev(node.mode)) {
|
|
flags &= ~512;
|
|
}
|
|
// check permissions, if this is not a file we just created now (it is ok to
|
|
// create and write to a file with read-only permissions; it is read-only
|
|
// for later use)
|
|
if (!created) {
|
|
var err = FS.mayOpen(node, flags);
|
|
if (err) {
|
|
throw new FS.ErrnoError(err);
|
|
}
|
|
}
|
|
// do truncation if necessary
|
|
if (flags & 512) {
|
|
FS.truncate(node, 0);
|
|
}
|
|
// we've already handled these, don't pass down to the underlying vfs
|
|
flags &= ~(128 | 512);
|
|
|
|
// register the stream with the filesystem
|
|
var stream = FS.createStream(
|
|
{
|
|
node: node,
|
|
path: FS.getPath(node), // we want the absolute path to the node
|
|
flags: flags,
|
|
seekable: true,
|
|
position: 0,
|
|
stream_ops: node.stream_ops,
|
|
// used by the file family libc calls (fopen, fwrite, ferror, etc.)
|
|
ungotten: [],
|
|
error: false,
|
|
},
|
|
fd_start,
|
|
fd_end
|
|
);
|
|
// call the new stream's open function
|
|
if (stream.stream_ops.open) {
|
|
stream.stream_ops.open(stream);
|
|
}
|
|
if (Module['logReadFiles'] && !(flags & 1)) {
|
|
if (!FS.readFiles) FS.readFiles = {};
|
|
if (!(path in FS.readFiles)) {
|
|
FS.readFiles[path] = 1;
|
|
Module['printErr']('read file: ' + path);
|
|
}
|
|
}
|
|
try {
|
|
if (FS.trackingDelegate['onOpenFile']) {
|
|
var trackingFlags = 0;
|
|
if ((flags & 2097155) !== 1) {
|
|
trackingFlags |= FS.tracking.openFlags.READ;
|
|
}
|
|
if ((flags & 2097155) !== 0) {
|
|
trackingFlags |= FS.tracking.openFlags.WRITE;
|
|
}
|
|
FS.trackingDelegate['onOpenFile'](path, trackingFlags);
|
|
}
|
|
} catch (e) {
|
|
console.log(
|
|
"FS.trackingDelegate['onOpenFile']('" +
|
|
path +
|
|
"', flags) threw an exception: " +
|
|
e.message
|
|
);
|
|
}
|
|
return stream;
|
|
},
|
|
close: function(stream) {
|
|
try {
|
|
if (stream.stream_ops.close) {
|
|
stream.stream_ops.close(stream);
|
|
}
|
|
} catch (e) {
|
|
throw e;
|
|
} finally {
|
|
FS.closeStream(stream.fd);
|
|
}
|
|
},
|
|
llseek: function(stream, offset, whence) {
|
|
if (!stream.seekable || !stream.stream_ops.llseek) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
|
|
}
|
|
stream.position = stream.stream_ops.llseek(stream, offset, whence);
|
|
stream.ungotten = [];
|
|
return stream.position;
|
|
},
|
|
read: function(stream, buffer, offset, length, position) {
|
|
if (length < 0 || position < 0) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
}
|
|
if ((stream.flags & 2097155) === 1) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
|
|
}
|
|
if (FS.isDir(stream.node.mode)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
|
|
}
|
|
if (!stream.stream_ops.read) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
}
|
|
var seeking = true;
|
|
if (typeof position === 'undefined') {
|
|
position = stream.position;
|
|
seeking = false;
|
|
} else if (!stream.seekable) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
|
|
}
|
|
var bytesRead = stream.stream_ops.read(
|
|
stream,
|
|
buffer,
|
|
offset,
|
|
length,
|
|
position
|
|
);
|
|
if (!seeking) stream.position += bytesRead;
|
|
return bytesRead;
|
|
},
|
|
write: function(stream, buffer, offset, length, position, canOwn) {
|
|
if (length < 0 || position < 0) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
}
|
|
if ((stream.flags & 2097155) === 0) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
|
|
}
|
|
if (FS.isDir(stream.node.mode)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
|
|
}
|
|
if (!stream.stream_ops.write) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
}
|
|
if (stream.flags & 1024) {
|
|
// seek to the end before writing in append mode
|
|
FS.llseek(stream, 0, 2);
|
|
}
|
|
var seeking = true;
|
|
if (typeof position === 'undefined') {
|
|
position = stream.position;
|
|
seeking = false;
|
|
} else if (!stream.seekable) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
|
|
}
|
|
var bytesWritten = stream.stream_ops.write(
|
|
stream,
|
|
buffer,
|
|
offset,
|
|
length,
|
|
position,
|
|
canOwn
|
|
);
|
|
if (!seeking) stream.position += bytesWritten;
|
|
try {
|
|
if (stream.path && FS.trackingDelegate['onWriteToFile'])
|
|
FS.trackingDelegate['onWriteToFile'](stream.path);
|
|
} catch (e) {
|
|
console.log(
|
|
"FS.trackingDelegate['onWriteToFile']('" +
|
|
path +
|
|
"') threw an exception: " +
|
|
e.message
|
|
);
|
|
}
|
|
return bytesWritten;
|
|
},
|
|
allocate: function(stream, offset, length) {
|
|
if (offset < 0 || length <= 0) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
|
|
}
|
|
if ((stream.flags & 2097155) === 0) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
|
|
}
|
|
if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
|
|
}
|
|
if (!stream.stream_ops.allocate) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
|
|
}
|
|
stream.stream_ops.allocate(stream, offset, length);
|
|
},
|
|
mmap: function(stream, buffer, offset, length, position, prot, flags) {
|
|
// TODO if PROT is PROT_WRITE, make sure we have write access
|
|
if ((stream.flags & 2097155) === 1) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EACCES);
|
|
}
|
|
if (!stream.stream_ops.mmap) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
|
|
}
|
|
return stream.stream_ops.mmap(
|
|
stream,
|
|
buffer,
|
|
offset,
|
|
length,
|
|
position,
|
|
prot,
|
|
flags
|
|
);
|
|
},
|
|
ioctl: function(stream, cmd, arg) {
|
|
if (!stream.stream_ops.ioctl) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
|
|
}
|
|
return stream.stream_ops.ioctl(stream, cmd, arg);
|
|
},
|
|
readFile: function(path, opts) {
|
|
opts = opts || {};
|
|
opts.flags = opts.flags || 'r';
|
|
opts.encoding = opts.encoding || 'binary';
|
|
if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') {
|
|
throw new Error('Invalid encoding type "' + opts.encoding + '"');
|
|
}
|
|
var ret;
|
|
var stream = FS.open(path, opts.flags);
|
|
var stat = FS.stat(path);
|
|
var length = stat.size;
|
|
var buf = new Uint8Array(length);
|
|
FS.read(stream, buf, 0, length, 0);
|
|
if (opts.encoding === 'utf8') {
|
|
ret = '';
|
|
var utf8 = new Runtime.UTF8Processor();
|
|
for (var i = 0; i < length; i++) {
|
|
ret += utf8.processCChar(buf[i]);
|
|
}
|
|
} else if (opts.encoding === 'binary') {
|
|
ret = buf;
|
|
}
|
|
FS.close(stream);
|
|
return ret;
|
|
},
|
|
writeFile: function(path, data, opts) {
|
|
opts = opts || {};
|
|
opts.flags = opts.flags || 'w';
|
|
opts.encoding = opts.encoding || 'utf8';
|
|
if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') {
|
|
throw new Error('Invalid encoding type "' + opts.encoding + '"');
|
|
}
|
|
var stream = FS.open(path, opts.flags, opts.mode);
|
|
if (opts.encoding === 'utf8') {
|
|
var utf8 = new Runtime.UTF8Processor();
|
|
var buf = new Uint8Array(utf8.processJSString(data));
|
|
FS.write(stream, buf, 0, buf.length, 0, opts.canOwn);
|
|
} else if (opts.encoding === 'binary') {
|
|
FS.write(stream, data, 0, data.length, 0, opts.canOwn);
|
|
}
|
|
FS.close(stream);
|
|
},
|
|
cwd: function() {
|
|
return FS.currentPath;
|
|
},
|
|
chdir: function(path) {
|
|
var lookup = FS.lookupPath(path, { follow: true });
|
|
if (!FS.isDir(lookup.node.mode)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
|
|
}
|
|
var err = FS.nodePermissions(lookup.node, 'x');
|
|
if (err) {
|
|
throw new FS.ErrnoError(err);
|
|
}
|
|
FS.currentPath = lookup.path;
|
|
},
|
|
createDefaultDirectories: function() {
|
|
FS.mkdir('/tmp');
|
|
FS.mkdir('/home');
|
|
FS.mkdir('/home/web_user');
|
|
},
|
|
createDefaultDevices: function() {
|
|
// create /dev
|
|
FS.mkdir('/dev');
|
|
// setup /dev/null
|
|
FS.registerDevice(FS.makedev(1, 3), {
|
|
read: function() {
|
|
return 0;
|
|
},
|
|
write: function() {
|
|
return 0;
|
|
},
|
|
});
|
|
FS.mkdev('/dev/null', FS.makedev(1, 3));
|
|
// setup /dev/tty and /dev/tty1
|
|
// stderr needs to print output using Module['printErr']
|
|
// so we register a second tty just for it.
|
|
TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
|
|
TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
|
|
FS.mkdev('/dev/tty', FS.makedev(5, 0));
|
|
FS.mkdev('/dev/tty1', FS.makedev(6, 0));
|
|
// setup /dev/[u]random
|
|
var random_device;
|
|
if (typeof crypto !== 'undefined') {
|
|
// for modern web browsers
|
|
var randomBuffer = new Uint8Array(1);
|
|
random_device = function() {
|
|
crypto.getRandomValues(randomBuffer);
|
|
return randomBuffer[0];
|
|
};
|
|
} else if (ENVIRONMENT_IS_NODE) {
|
|
// for nodejs
|
|
random_device = function() {
|
|
return require('crypto').randomBytes(1)[0];
|
|
};
|
|
} else {
|
|
// default for ES5 platforms
|
|
random_device = function() {
|
|
return (Math.random() * 256) | 0;
|
|
};
|
|
}
|
|
FS.createDevice('/dev', 'random', random_device);
|
|
FS.createDevice('/dev', 'urandom', random_device);
|
|
// we're not going to emulate the actual shm device,
|
|
// just create the tmp dirs that reside in it commonly
|
|
FS.mkdir('/dev/shm');
|
|
FS.mkdir('/dev/shm/tmp');
|
|
},
|
|
createStandardStreams: function() {
|
|
// TODO deprecate the old functionality of a single
|
|
// input / output callback and that utilizes FS.createDevice
|
|
// and instead require a unique set of stream ops
|
|
|
|
// by default, we symlink the standard streams to the
|
|
// default tty devices. however, if the standard streams
|
|
// have been overwritten we create a unique device for
|
|
// them instead.
|
|
if (Module['stdin']) {
|
|
FS.createDevice('/dev', 'stdin', Module['stdin']);
|
|
} else {
|
|
FS.symlink('/dev/tty', '/dev/stdin');
|
|
}
|
|
if (Module['stdout']) {
|
|
FS.createDevice('/dev', 'stdout', null, Module['stdout']);
|
|
} else {
|
|
FS.symlink('/dev/tty', '/dev/stdout');
|
|
}
|
|
if (Module['stderr']) {
|
|
FS.createDevice('/dev', 'stderr', null, Module['stderr']);
|
|
} else {
|
|
FS.symlink('/dev/tty1', '/dev/stderr');
|
|
}
|
|
|
|
// open default streams for the stdin, stdout and stderr devices
|
|
var stdin = FS.open('/dev/stdin', 'r');
|
|
HEAP32[_stdin >> 2] = FS.getPtrForStream(stdin);
|
|
assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')');
|
|
|
|
var stdout = FS.open('/dev/stdout', 'w');
|
|
HEAP32[_stdout >> 2] = FS.getPtrForStream(stdout);
|
|
assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')');
|
|
|
|
var stderr = FS.open('/dev/stderr', 'w');
|
|
HEAP32[_stderr >> 2] = FS.getPtrForStream(stderr);
|
|
assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')');
|
|
},
|
|
ensureErrnoError: function() {
|
|
if (FS.ErrnoError) return;
|
|
FS.ErrnoError = function ErrnoError(errno, node) {
|
|
this.node = node;
|
|
this.setErrno = function(errno) {
|
|
this.errno = errno;
|
|
for (var key in ERRNO_CODES) {
|
|
if (ERRNO_CODES[key] === errno) {
|
|
this.code = key;
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
this.setErrno(errno);
|
|
this.message = ERRNO_MESSAGES[errno];
|
|
};
|
|
FS.ErrnoError.prototype = new Error();
|
|
FS.ErrnoError.prototype.constructor = FS.ErrnoError;
|
|
// Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info)
|
|
[ERRNO_CODES.ENOENT].forEach(function(code) {
|
|
FS.genericErrors[code] = new FS.ErrnoError(code);
|
|
FS.genericErrors[code].stack = '<generic error, no stack>';
|
|
});
|
|
},
|
|
staticInit: function() {
|
|
FS.ensureErrnoError();
|
|
|
|
FS.nameTable = new Array(4096);
|
|
|
|
FS.mount(MEMFS, {}, '/');
|
|
|
|
FS.createDefaultDirectories();
|
|
FS.createDefaultDevices();
|
|
},
|
|
init: function(input, output, error) {
|
|
assert(
|
|
!FS.init.initialized,
|
|
'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'
|
|
);
|
|
FS.init.initialized = true;
|
|
|
|
FS.ensureErrnoError();
|
|
|
|
// Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here
|
|
Module['stdin'] = input || Module['stdin'];
|
|
Module['stdout'] = output || Module['stdout'];
|
|
Module['stderr'] = error || Module['stderr'];
|
|
|
|
FS.createStandardStreams();
|
|
},
|
|
quit: function() {
|
|
FS.init.initialized = false;
|
|
for (var i = 0; i < FS.streams.length; i++) {
|
|
var stream = FS.streams[i];
|
|
if (!stream) {
|
|
continue;
|
|
}
|
|
FS.close(stream);
|
|
}
|
|
},
|
|
getMode: function(canRead, canWrite) {
|
|
var mode = 0;
|
|
if (canRead) mode |= 292 | 73;
|
|
if (canWrite) mode |= 146;
|
|
return mode;
|
|
},
|
|
joinPath: function(parts, forceRelative) {
|
|
var path = PATH.join.apply(null, parts);
|
|
if (forceRelative && path[0] == '/') path = path.substr(1);
|
|
return path;
|
|
},
|
|
absolutePath: function(relative, base) {
|
|
return PATH.resolve(base, relative);
|
|
},
|
|
standardizePath: function(path) {
|
|
return PATH.normalize(path);
|
|
},
|
|
findObject: function(path, dontResolveLastLink) {
|
|
var ret = FS.analyzePath(path, dontResolveLastLink);
|
|
if (ret.exists) {
|
|
return ret.object;
|
|
} else {
|
|
___setErrNo(ret.error);
|
|
return null;
|
|
}
|
|
},
|
|
analyzePath: function(path, dontResolveLastLink) {
|
|
// operate from within the context of the symlink's target
|
|
try {
|
|
var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
|
|
path = lookup.path;
|
|
} catch (e) {}
|
|
var ret = {
|
|
isRoot: false,
|
|
exists: false,
|
|
error: 0,
|
|
name: null,
|
|
path: null,
|
|
object: null,
|
|
parentExists: false,
|
|
parentPath: null,
|
|
parentObject: null,
|
|
};
|
|
try {
|
|
var lookup = FS.lookupPath(path, { parent: true });
|
|
ret.parentExists = true;
|
|
ret.parentPath = lookup.path;
|
|
ret.parentObject = lookup.node;
|
|
ret.name = PATH.basename(path);
|
|
lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
|
|
ret.exists = true;
|
|
ret.path = lookup.path;
|
|
ret.object = lookup.node;
|
|
ret.name = lookup.node.name;
|
|
ret.isRoot = lookup.path === '/';
|
|
} catch (e) {
|
|
ret.error = e.errno;
|
|
}
|
|
return ret;
|
|
},
|
|
createFolder: function(parent, name, canRead, canWrite) {
|
|
var path = PATH.join2(
|
|
typeof parent === 'string' ? parent : FS.getPath(parent),
|
|
name
|
|
);
|
|
var mode = FS.getMode(canRead, canWrite);
|
|
return FS.mkdir(path, mode);
|
|
},
|
|
createPath: function(parent, path, canRead, canWrite) {
|
|
parent = typeof parent === 'string' ? parent : FS.getPath(parent);
|
|
var parts = path.split('/').reverse();
|
|
while (parts.length) {
|
|
var part = parts.pop();
|
|
if (!part) continue;
|
|
var current = PATH.join2(parent, part);
|
|
try {
|
|
FS.mkdir(current);
|
|
} catch (e) {
|
|
// ignore EEXIST
|
|
}
|
|
parent = current;
|
|
}
|
|
return current;
|
|
},
|
|
createFile: function(parent, name, properties, canRead, canWrite) {
|
|
var path = PATH.join2(
|
|
typeof parent === 'string' ? parent : FS.getPath(parent),
|
|
name
|
|
);
|
|
var mode = FS.getMode(canRead, canWrite);
|
|
return FS.create(path, mode);
|
|
},
|
|
createDataFile: function(parent, name, data, canRead, canWrite, canOwn) {
|
|
var path = name
|
|
? PATH.join2(
|
|
typeof parent === 'string' ? parent : FS.getPath(parent),
|
|
name
|
|
)
|
|
: parent;
|
|
var mode = FS.getMode(canRead, canWrite);
|
|
var node = FS.create(path, mode);
|
|
if (data) {
|
|
if (typeof data === 'string') {
|
|
var arr = new Array(data.length);
|
|
for (var i = 0, len = data.length; i < len; ++i)
|
|
arr[i] = data.charCodeAt(i);
|
|
data = arr;
|
|
}
|
|
// make sure we can write to the file
|
|
FS.chmod(node, mode | 146);
|
|
var stream = FS.open(node, 'w');
|
|
FS.write(stream, data, 0, data.length, 0, canOwn);
|
|
FS.close(stream);
|
|
FS.chmod(node, mode);
|
|
}
|
|
return node;
|
|
},
|
|
createDevice: function(parent, name, input, output) {
|
|
var path = PATH.join2(
|
|
typeof parent === 'string' ? parent : FS.getPath(parent),
|
|
name
|
|
);
|
|
var mode = FS.getMode(!!input, !!output);
|
|
if (!FS.createDevice.major) FS.createDevice.major = 64;
|
|
var dev = FS.makedev(FS.createDevice.major++, 0);
|
|
// Create a fake device that a set of stream ops to emulate
|
|
// the old behavior.
|
|
FS.registerDevice(dev, {
|
|
open: function(stream) {
|
|
stream.seekable = false;
|
|
},
|
|
close: function(stream) {
|
|
// flush any pending line data
|
|
if (output && output.buffer && output.buffer.length) {
|
|
output(10);
|
|
}
|
|
},
|
|
read: function(stream, buffer, offset, length, pos /* ignored */) {
|
|
var bytesRead = 0;
|
|
for (var i = 0; i < length; i++) {
|
|
var result;
|
|
try {
|
|
result = input();
|
|
} catch (e) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EIO);
|
|
}
|
|
if (result === undefined && bytesRead === 0) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
|
|
}
|
|
if (result === null || result === undefined) break;
|
|
bytesRead++;
|
|
buffer[offset + i] = result;
|
|
}
|
|
if (bytesRead) {
|
|
stream.node.timestamp = Date.now();
|
|
}
|
|
return bytesRead;
|
|
},
|
|
write: function(stream, buffer, offset, length, pos) {
|
|
for (var i = 0; i < length; i++) {
|
|
try {
|
|
output(buffer[offset + i]);
|
|
} catch (e) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EIO);
|
|
}
|
|
}
|
|
if (length) {
|
|
stream.node.timestamp = Date.now();
|
|
}
|
|
return i;
|
|
},
|
|
});
|
|
return FS.mkdev(path, mode, dev);
|
|
},
|
|
createLink: function(parent, name, target, canRead, canWrite) {
|
|
var path = PATH.join2(
|
|
typeof parent === 'string' ? parent : FS.getPath(parent),
|
|
name
|
|
);
|
|
return FS.symlink(target, path);
|
|
},
|
|
forceLoadFile: function(obj) {
|
|
if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
|
|
var success = true;
|
|
if (typeof XMLHttpRequest !== 'undefined') {
|
|
throw new Error(
|
|
'Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.'
|
|
);
|
|
} else if (Module['read']) {
|
|
// Command-line.
|
|
try {
|
|
// WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as
|
|
// read() will try to parse UTF8.
|
|
obj.contents = intArrayFromString(Module['read'](obj.url), true);
|
|
obj.usedBytes = obj.contents.length;
|
|
} catch (e) {
|
|
success = false;
|
|
}
|
|
} else {
|
|
throw new Error('Cannot load without read() or XMLHttpRequest.');
|
|
}
|
|
if (!success) ___setErrNo(ERRNO_CODES.EIO);
|
|
return success;
|
|
},
|
|
createLazyFile: function(parent, name, url, canRead, canWrite) {
|
|
// Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
|
|
function LazyUint8Array() {
|
|
this.lengthKnown = false;
|
|
this.chunks = []; // Loaded chunks. Index is the chunk number
|
|
}
|
|
LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
|
|
if (idx > this.length - 1 || idx < 0) {
|
|
return undefined;
|
|
}
|
|
var chunkOffset = idx % this.chunkSize;
|
|
var chunkNum = (idx / this.chunkSize) | 0;
|
|
return this.getter(chunkNum)[chunkOffset];
|
|
};
|
|
LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(
|
|
getter
|
|
) {
|
|
this.getter = getter;
|
|
};
|
|
LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
|
|
// Find length
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.open('HEAD', url, false);
|
|
xhr.send(null);
|
|
if (!((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304))
|
|
throw new Error("Couldn't load " + url + '. Status: ' + xhr.status);
|
|
var datalength = Number(xhr.getResponseHeader('Content-length'));
|
|
var header;
|
|
var hasByteServing =
|
|
(header = xhr.getResponseHeader('Accept-Ranges')) && header === 'bytes';
|
|
var chunkSize = 1024 * 1024; // Chunk size in bytes
|
|
|
|
if (!hasByteServing) chunkSize = datalength;
|
|
|
|
// Function to get a range from the remote URL.
|
|
var doXHR = function(from, to) {
|
|
if (from > to)
|
|
throw new Error(
|
|
'invalid range (' + from + ', ' + to + ') or no bytes requested!'
|
|
);
|
|
if (to > datalength - 1)
|
|
throw new Error(
|
|
'only ' + datalength + ' bytes available! programmer error!'
|
|
);
|
|
|
|
// TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.open('GET', url, false);
|
|
if (datalength !== chunkSize)
|
|
xhr.setRequestHeader('Range', 'bytes=' + from + '-' + to);
|
|
|
|
// Some hints to the browser that we want binary data.
|
|
if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer';
|
|
if (xhr.overrideMimeType) {
|
|
xhr.overrideMimeType('text/plain; charset=x-user-defined');
|
|
}
|
|
|
|
xhr.send(null);
|
|
if (!((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304))
|
|
throw new Error("Couldn't load " + url + '. Status: ' + xhr.status);
|
|
if (xhr.response !== undefined) {
|
|
return new Uint8Array(xhr.response || []);
|
|
} else {
|
|
return intArrayFromString(xhr.responseText || '', true);
|
|
}
|
|
};
|
|
var lazyArray = this;
|
|
lazyArray.setDataGetter(function(chunkNum) {
|
|
var start = chunkNum * chunkSize;
|
|
var end = (chunkNum + 1) * chunkSize - 1; // including this byte
|
|
end = Math.min(end, datalength - 1); // if datalength-1 is selected, this is the last block
|
|
if (typeof lazyArray.chunks[chunkNum] === 'undefined') {
|
|
lazyArray.chunks[chunkNum] = doXHR(start, end);
|
|
}
|
|
if (typeof lazyArray.chunks[chunkNum] === 'undefined')
|
|
throw new Error('doXHR failed!');
|
|
return lazyArray.chunks[chunkNum];
|
|
});
|
|
|
|
this._length = datalength;
|
|
this._chunkSize = chunkSize;
|
|
this.lengthKnown = true;
|
|
};
|
|
if (typeof XMLHttpRequest !== 'undefined') {
|
|
if (!ENVIRONMENT_IS_WORKER)
|
|
throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc';
|
|
var lazyArray = new LazyUint8Array();
|
|
Object.defineProperty(lazyArray, 'length', {
|
|
get: function() {
|
|
if (!this.lengthKnown) {
|
|
this.cacheLength();
|
|
}
|
|
return this._length;
|
|
},
|
|
});
|
|
Object.defineProperty(lazyArray, 'chunkSize', {
|
|
get: function() {
|
|
if (!this.lengthKnown) {
|
|
this.cacheLength();
|
|
}
|
|
return this._chunkSize;
|
|
},
|
|
});
|
|
|
|
var properties = { isDevice: false, contents: lazyArray };
|
|
} else {
|
|
var properties = { isDevice: false, url: url };
|
|
}
|
|
|
|
var node = FS.createFile(parent, name, properties, canRead, canWrite);
|
|
// This is a total hack, but I want to get this lazy file code out of the
|
|
// core of MEMFS. If we want to keep this lazy file concept I feel it should
|
|
// be its own thin LAZYFS proxying calls to MEMFS.
|
|
if (properties.contents) {
|
|
node.contents = properties.contents;
|
|
} else if (properties.url) {
|
|
node.contents = null;
|
|
node.url = properties.url;
|
|
}
|
|
// Add a function that defers querying the file size until it is asked the first time.
|
|
Object.defineProperty(node, 'usedBytes', {
|
|
get: function() {
|
|
return this.contents.length;
|
|
},
|
|
});
|
|
// override each stream op with one that tries to force load the lazy file first
|
|
var stream_ops = {};
|
|
var keys = Object.keys(node.stream_ops);
|
|
keys.forEach(function(key) {
|
|
var fn = node.stream_ops[key];
|
|
stream_ops[key] = function forceLoadLazyFile() {
|
|
if (!FS.forceLoadFile(node)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EIO);
|
|
}
|
|
return fn.apply(null, arguments);
|
|
};
|
|
});
|
|
// use a custom read function
|
|
stream_ops.read = function stream_ops_read(
|
|
stream,
|
|
buffer,
|
|
offset,
|
|
length,
|
|
position
|
|
) {
|
|
if (!FS.forceLoadFile(node)) {
|
|
throw new FS.ErrnoError(ERRNO_CODES.EIO);
|
|
}
|
|
var contents = stream.node.contents;
|
|
if (position >= contents.length) return 0;
|
|
var size = Math.min(contents.length - position, length);
|
|
assert(size >= 0);
|
|
if (contents.slice) {
|
|
// normal array
|
|
for (var i = 0; i < size; i++) {
|
|
buffer[offset + i] = contents[position + i];
|
|
}
|
|
} else {
|
|
for (var i = 0; i < size; i++) {
|
|
// LazyUint8Array from sync binary XHR
|
|
buffer[offset + i] = contents.get(position + i);
|
|
}
|
|
}
|
|
return size;
|
|
};
|
|
node.stream_ops = stream_ops;
|
|
return node;
|
|
},
|
|
createPreloadedFile: function(
|
|
parent,
|
|
name,
|
|
url,
|
|
canRead,
|
|
canWrite,
|
|
onload,
|
|
onerror,
|
|
dontCreateFile,
|
|
canOwn
|
|
) {
|
|
Browser.init();
|
|
// TODO we should allow people to just pass in a complete filename instead
|
|
// of parent and name being that we just join them anyways
|
|
var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent;
|
|
function processData(byteArray) {
|
|
function finish(byteArray) {
|
|
if (!dontCreateFile) {
|
|
FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
|
|
}
|
|
if (onload) onload();
|
|
removeRunDependency('cp ' + fullname);
|
|
}
|
|
var handled = false;
|
|
Module['preloadPlugins'].forEach(function(plugin) {
|
|
if (handled) return;
|
|
if (plugin['canHandle'](fullname)) {
|
|
plugin['handle'](byteArray, fullname, finish, function() {
|
|
if (onerror) onerror();
|
|
removeRunDependency('cp ' + fullname);
|
|
});
|
|
handled = true;
|
|
}
|
|
});
|
|
if (!handled) finish(byteArray);
|
|
}
|
|
addRunDependency('cp ' + fullname);
|
|
if (typeof url == 'string') {
|
|
Browser.asyncLoad(
|
|
url,
|
|
function(byteArray) {
|
|
processData(byteArray);
|
|
},
|
|
onerror
|
|
);
|
|
} else {
|
|
processData(url);
|
|
}
|
|
},
|
|
indexedDB: function() {
|
|
return (
|
|
window.indexedDB ||
|
|
window.mozIndexedDB ||
|
|
window.webkitIndexedDB ||
|
|
window.msIndexedDB
|
|
);
|
|
},
|
|
DB_NAME: function() {
|
|
return 'EM_FS_' + window.location.pathname;
|
|
},
|
|
DB_VERSION: 20,
|
|
DB_STORE_NAME: 'FILE_DATA',
|
|
saveFilesToDB: function(paths, onload, onerror) {
|
|
onload = onload || function() {};
|
|
onerror = onerror || function() {};
|
|
var indexedDB = FS.indexedDB();
|
|
try {
|
|
var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
|
|
} catch (e) {
|
|
return onerror(e);
|
|
}
|
|
openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
|
|
console.log('creating db');
|
|
var db = openRequest.result;
|
|
db.createObjectStore(FS.DB_STORE_NAME);
|
|
};
|
|
openRequest.onsuccess = function openRequest_onsuccess() {
|
|
var db = openRequest.result;
|
|
var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite');
|
|
var files = transaction.objectStore(FS.DB_STORE_NAME);
|
|
var ok = 0,
|
|
fail = 0,
|
|
total = paths.length;
|
|
function finish() {
|
|
if (fail == 0) onload();
|
|
else onerror();
|
|
}
|
|
paths.forEach(function(path) {
|
|
var putRequest = files.put(FS.analyzePath(path).object.contents, path);
|
|
putRequest.onsuccess = function putRequest_onsuccess() {
|
|
ok++;
|
|
if (ok + fail == total) finish();
|
|
};
|
|
putRequest.onerror = function putRequest_onerror() {
|
|
fail++;
|
|
if (ok + fail == total) finish();
|
|
};
|
|
});
|
|
transaction.onerror = onerror;
|
|
};
|
|
openRequest.onerror = onerror;
|
|
},
|
|
loadFilesFromDB: function(paths, onload, onerror) {
|
|
onload = onload || function() {};
|
|
onerror = onerror || function() {};
|
|
var indexedDB = FS.indexedDB();
|
|
try {
|
|
var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
|
|
} catch (e) {
|
|
return onerror(e);
|
|
}
|
|
openRequest.onupgradeneeded = onerror; // no database to load from
|
|
openRequest.onsuccess = function openRequest_onsuccess() {
|
|
var db = openRequest.result;
|
|
try {
|
|
var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly');
|
|
} catch (e) {
|
|
onerror(e);
|
|
return;
|
|
}
|
|
var files = transaction.objectStore(FS.DB_STORE_NAME);
|
|
var ok = 0,
|
|
fail = 0,
|
|
total = paths.length;
|
|
function finish() {
|
|
if (fail == 0) onload();
|
|
else onerror();
|
|
}
|
|
paths.forEach(function(path) {
|
|
var getRequest = files.get(path);
|
|
getRequest.onsuccess = function getRequest_onsuccess() {
|
|
if (FS.analyzePath(path).exists) {
|
|
FS.unlink(path);
|
|
}
|
|
FS.createDataFile(
|
|
PATH.dirname(path),
|
|
PATH.basename(path),
|
|
getRequest.result,
|
|
true,
|
|
true,
|
|
true
|
|
);
|
|
ok++;
|
|
if (ok + fail == total) finish();
|
|
};
|
|
getRequest.onerror = function getRequest_onerror() {
|
|
fail++;
|
|
if (ok + fail == total) finish();
|
|
};
|
|
});
|
|
transaction.onerror = onerror;
|
|
};
|
|
openRequest.onerror = onerror;
|
|
},
|
|
};
|
|
var PATH = {
|
|
splitPath: function(filename) {
|
|
var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
|
|
return splitPathRe.exec(filename).slice(1);
|
|
},
|
|
normalizeArray: function(parts, allowAboveRoot) {
|
|
// if the path tries to go above the root, `up` ends up > 0
|
|
var up = 0;
|
|
for (var i = parts.length - 1; i >= 0; i--) {
|
|
var last = parts[i];
|
|
if (last === '.') {
|
|
parts.splice(i, 1);
|
|
} else if (last === '..') {
|
|
parts.splice(i, 1);
|
|
up++;
|
|
} else if (up) {
|
|
parts.splice(i, 1);
|
|
up--;
|
|
}
|
|
}
|
|
// if the path is allowed to go above the root, restore leading ..s
|
|
if (allowAboveRoot) {
|
|
for (; up--; up) {
|
|
parts.unshift('..');
|
|
}
|
|
}
|
|
return parts;
|
|
},
|
|
normalize: function(path) {
|
|
var isAbsolute = path.charAt(0) === '/',
|
|
trailingSlash = path.substr(-1) === '/';
|
|
// Normalize the path
|
|
path = PATH.normalizeArray(
|
|
path.split('/').filter(function(p) {
|
|
return !!p;
|
|
}),
|
|
!isAbsolute
|
|
).join('/');
|
|
if (!path && !isAbsolute) {
|
|
path = '.';
|
|
}
|
|
if (path && trailingSlash) {
|
|
path += '/';
|
|
}
|
|
return (isAbsolute ? '/' : '') + path;
|
|
},
|
|
dirname: function(path) {
|
|
var result = PATH.splitPath(path),
|
|
root = result[0],
|
|
dir = result[1];
|
|
if (!root && !dir) {
|
|
// No dirname whatsoever
|
|
return '.';
|
|
}
|
|
if (dir) {
|
|
// It has a dirname, strip trailing slash
|
|
dir = dir.substr(0, dir.length - 1);
|
|
}
|
|
return root + dir;
|
|
},
|
|
basename: function(path) {
|
|
// EMSCRIPTEN return '/'' for '/', not an empty string
|
|
if (path === '/') return '/';
|
|
var lastSlash = path.lastIndexOf('/');
|
|
if (lastSlash === -1) return path;
|
|
return path.substr(lastSlash + 1);
|
|
},
|
|
extname: function(path) {
|
|
return PATH.splitPath(path)[3];
|
|
},
|
|
join: function() {
|
|
var paths = Array.prototype.slice.call(arguments, 0);
|
|
return PATH.normalize(paths.join('/'));
|
|
},
|
|
join2: function(l, r) {
|
|
return PATH.normalize(l + '/' + r);
|
|
},
|
|
resolve: function() {
|
|
var resolvedPath = '',
|
|
resolvedAbsolute = false;
|
|
for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
|
|
var path = i >= 0 ? arguments[i] : FS.cwd();
|
|
// Skip empty and invalid entries
|
|
if (typeof path !== 'string') {
|
|
throw new TypeError('Arguments to path.resolve must be strings');
|
|
} else if (!path) {
|
|
return ''; // an invalid portion invalidates the whole thing
|
|
}
|
|
resolvedPath = path + '/' + resolvedPath;
|
|
resolvedAbsolute = path.charAt(0) === '/';
|
|
}
|
|
// At this point the path should be resolved to a full absolute path, but
|
|
// handle relative paths to be safe (might happen when process.cwd() fails)
|
|
resolvedPath = PATH.normalizeArray(
|
|
resolvedPath.split('/').filter(function(p) {
|
|
return !!p;
|
|
}),
|
|
!resolvedAbsolute
|
|
).join('/');
|
|
return (resolvedAbsolute ? '/' : '') + resolvedPath || '.';
|
|
},
|
|
relative: function(from, to) {
|
|
from = PATH.resolve(from).substr(1);
|
|
to = PATH.resolve(to).substr(1);
|
|
function trim(arr) {
|
|
var start = 0;
|
|
for (; start < arr.length; start++) {
|
|
if (arr[start] !== '') break;
|
|
}
|
|
var end = arr.length - 1;
|
|
for (; end >= 0; end--) {
|
|
if (arr[end] !== '') break;
|
|
}
|
|
if (start > end) return [];
|
|
return arr.slice(start, end - start + 1);
|
|
}
|
|
var fromParts = trim(from.split('/'));
|
|
var toParts = trim(to.split('/'));
|
|
var length = Math.min(fromParts.length, toParts.length);
|
|
var samePartsLength = length;
|
|
for (var i = 0; i < length; i++) {
|
|
if (fromParts[i] !== toParts[i]) {
|
|
samePartsLength = i;
|
|
break;
|
|
}
|
|
}
|
|
var outputParts = [];
|
|
for (var i = samePartsLength; i < fromParts.length; i++) {
|
|
outputParts.push('..');
|
|
}
|
|
outputParts = outputParts.concat(toParts.slice(samePartsLength));
|
|
return outputParts.join('/');
|
|
},
|
|
};
|
|
|
|
function _emscripten_set_main_loop_timing(mode, value) {
|
|
Browser.mainLoop.timingMode = mode;
|
|
Browser.mainLoop.timingValue = value;
|
|
|
|
if (!Browser.mainLoop.func) {
|
|
return 1; // Return non-zero on failure, can't set timing mode when there is no main loop.
|
|
}
|
|
|
|
if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) {
|
|
Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler() {
|
|
setTimeout(Browser.mainLoop.runner, value); // doing this each time means that on exception, we stop
|
|
};
|
|
Browser.mainLoop.method = 'timeout';
|
|
} else if (mode == 1 /*EM_TIMING_RAF*/) {
|
|
Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler() {
|
|
Browser.requestAnimationFrame(Browser.mainLoop.runner);
|
|
};
|
|
Browser.mainLoop.method = 'rAF';
|
|
}
|
|
return 0;
|
|
}
|
|
function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg) {
|
|
Module['noExitRuntime'] = true;
|
|
|
|
assert(
|
|
!Browser.mainLoop.func,
|
|
'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'
|
|
);
|
|
|
|
Browser.mainLoop.func = func;
|
|
Browser.mainLoop.arg = arg;
|
|
|
|
var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop;
|
|
|
|
Browser.mainLoop.runner = function Browser_mainLoop_runner() {
|
|
if (ABORT) return;
|
|
if (Browser.mainLoop.queue.length > 0) {
|
|
var start = Date.now();
|
|
var blocker = Browser.mainLoop.queue.shift();
|
|
blocker.func(blocker.arg);
|
|
if (Browser.mainLoop.remainingBlockers) {
|
|
var remaining = Browser.mainLoop.remainingBlockers;
|
|
var next = remaining % 1 == 0 ? remaining - 1 : Math.floor(remaining);
|
|
if (blocker.counted) {
|
|
Browser.mainLoop.remainingBlockers = next;
|
|
} else {
|
|
// not counted, but move the progress along a tiny bit
|
|
next = next + 0.5; // do not steal all the next one's progress
|
|
Browser.mainLoop.remainingBlockers = (8 * remaining + next) / 9;
|
|
}
|
|
}
|
|
console.log(
|
|
'main loop blocker "' +
|
|
blocker.name +
|
|
'" took ' +
|
|
(Date.now() - start) +
|
|
' ms'
|
|
); //, left: ' + Browser.mainLoop.remainingBlockers);
|
|
Browser.mainLoop.updateStatus();
|
|
setTimeout(Browser.mainLoop.runner, 0);
|
|
return;
|
|
}
|
|
|
|
// catch pauses from non-main loop sources
|
|
if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
|
|
|
|
// Implement very basic swap interval control
|
|
Browser.mainLoop.currentFrameNumber =
|
|
(Browser.mainLoop.currentFrameNumber + 1) | 0;
|
|
if (
|
|
Browser.mainLoop.timingMode == 1 /*EM_TIMING_RAF*/ &&
|
|
Browser.mainLoop.timingValue > 1 &&
|
|
Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0
|
|
) {
|
|
// Not the scheduled time to render this frame - skip.
|
|
Browser.mainLoop.scheduler();
|
|
return;
|
|
}
|
|
|
|
// Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize
|
|
// VBO double-buffering and reduce GPU stalls.
|
|
|
|
if (Browser.mainLoop.method === 'timeout' && Module.ctx) {
|
|
Module.printErr(
|
|
'Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'
|
|
);
|
|
Browser.mainLoop.method = ''; // just warn once per call to set main loop
|
|
}
|
|
|
|
Browser.mainLoop.runIter(function() {
|
|
if (typeof arg !== 'undefined') {
|
|
Runtime.dynCall('vi', func, [arg]);
|
|
} else {
|
|
Runtime.dynCall('v', func);
|
|
}
|
|
});
|
|
|
|
// catch pauses from the main loop itself
|
|
if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
|
|
|
|
// Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able
|
|
// to queue the newest produced audio samples.
|
|
// TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData()
|
|
// do not need to be hardcoded into this function, but can be more generic.
|
|
if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData)
|
|
SDL.audio.queueNewAudioData();
|
|
|
|
Browser.mainLoop.scheduler();
|
|
};
|
|
|
|
if (fps && fps > 0)
|
|
_emscripten_set_main_loop_timing(0 /*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps);
|
|
else _emscripten_set_main_loop_timing(1 /*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating)
|
|
|
|
Browser.mainLoop.scheduler();
|
|
|
|
if (simulateInfiniteLoop) {
|
|
throw 'SimulateInfiniteLoop';
|
|
}
|
|
}
|
|
var Browser = {
|
|
mainLoop: {
|
|
scheduler: null,
|
|
method: '',
|
|
currentlyRunningMainloop: 0,
|
|
func: null,
|
|
arg: 0,
|
|
timingMode: 0,
|
|
timingValue: 0,
|
|
currentFrameNumber: 0,
|
|
queue: [],
|
|
pause: function() {
|
|
Browser.mainLoop.scheduler = null;
|
|
Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return.
|
|
},
|
|
resume: function() {
|
|
Browser.mainLoop.currentlyRunningMainloop++;
|
|
var timingMode = Browser.mainLoop.timingMode;
|
|
var timingValue = Browser.mainLoop.timingValue;
|
|
var func = Browser.mainLoop.func;
|
|
Browser.mainLoop.func = null;
|
|
_emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg);
|
|
_emscripten_set_main_loop_timing(timingMode, timingValue);
|
|
},
|
|
updateStatus: function() {
|
|
if (Module['setStatus']) {
|
|
var message = Module['statusMessage'] || 'Please wait...';
|
|
var remaining = Browser.mainLoop.remainingBlockers;
|
|
var expected = Browser.mainLoop.expectedBlockers;
|
|
if (remaining) {
|
|
if (remaining < expected) {
|
|
Module['setStatus'](
|
|
message + ' (' + (expected - remaining) + '/' + expected + ')'
|
|
);
|
|
} else {
|
|
Module['setStatus'](message);
|
|
}
|
|
} else {
|
|
Module['setStatus']('');
|
|
}
|
|
}
|
|
},
|
|
runIter: function(func) {
|
|
if (ABORT) return;
|
|
if (Module['preMainLoop']) {
|
|
var preRet = Module['preMainLoop']();
|
|
if (preRet === false) {
|
|
return; // |return false| skips a frame
|
|
}
|
|
}
|
|
try {
|
|
func();
|
|
} catch (e) {
|
|
if (e instanceof ExitStatus) {
|
|
return;
|
|
} else {
|
|
if (e && typeof e === 'object' && e.stack)
|
|
Module.printErr('exception thrown: ' + [e, e.stack]);
|
|
throw e;
|
|
}
|
|
}
|
|
if (Module['postMainLoop']) Module['postMainLoop']();
|
|
},
|
|
},
|
|
isFullScreen: false,
|
|
pointerLock: false,
|
|
moduleContextCreatedCallbacks: [],
|
|
workers: [],
|
|
init: function() {
|
|
if (!Module['preloadPlugins']) Module['preloadPlugins'] = []; // needs to exist even in workers
|
|
|
|
if (Browser.initted) return;
|
|
Browser.initted = true;
|
|
|
|
try {
|
|
new Blob();
|
|
Browser.hasBlobConstructor = true;
|
|
} catch (e) {
|
|
Browser.hasBlobConstructor = false;
|
|
console.log(
|
|
'warning: no blob constructor, cannot create blobs with mimetypes'
|
|
);
|
|
}
|
|
Browser.BlobBuilder =
|
|
typeof MozBlobBuilder != 'undefined'
|
|
? MozBlobBuilder
|
|
: typeof WebKitBlobBuilder != 'undefined'
|
|
? WebKitBlobBuilder
|
|
: !Browser.hasBlobConstructor
|
|
? console.log('warning: no BlobBuilder')
|
|
: null;
|
|
Browser.URLObject =
|
|
typeof window != 'undefined'
|
|
? window.URL
|
|
? window.URL
|
|
: window.webkitURL
|
|
: undefined;
|
|
if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') {
|
|
console.log(
|
|
'warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.'
|
|
);
|
|
Module.noImageDecoding = true;
|
|
}
|
|
|
|
// Support for plugins that can process preloaded files. You can add more of these to
|
|
// your app by creating and appending to Module.preloadPlugins.
|
|
//
|
|
// Each plugin is asked if it can handle a file based on the file's name. If it can,
|
|
// it is given the file's raw data. When it is done, it calls a callback with the file's
|
|
// (possibly modified) data. For example, a plugin might decompress a file, or it
|
|
// might create some side data structure for use later (like an Image element, etc.).
|
|
|
|
var imagePlugin = {};
|
|
imagePlugin['canHandle'] = function imagePlugin_canHandle(name) {
|
|
return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name);
|
|
};
|
|
imagePlugin['handle'] = function imagePlugin_handle(
|
|
byteArray,
|
|
name,
|
|
onload,
|
|
onerror
|
|
) {
|
|
var b = null;
|
|
if (Browser.hasBlobConstructor) {
|
|
try {
|
|
b = new Blob([byteArray], { type: Browser.getMimetype(name) });
|
|
if (b.size !== byteArray.length) {
|
|
// Safari bug #118630
|
|
// Safari's Blob can only take an ArrayBuffer
|
|
b = new Blob([new Uint8Array(byteArray).buffer], {
|
|
type: Browser.getMimetype(name),
|
|
});
|
|
}
|
|
} catch (e) {
|
|
Runtime.warnOnce(
|
|
'Blob constructor present but fails: ' +
|
|
e +
|
|
'; falling back to blob builder'
|
|
);
|
|
}
|
|
}
|
|
if (!b) {
|
|
var bb = new Browser.BlobBuilder();
|
|
bb.append(new Uint8Array(byteArray).buffer); // we need to pass a buffer, and must copy the array to get the right data range
|
|
b = bb.getBlob();
|
|
}
|
|
var url = Browser.URLObject.createObjectURL(b);
|
|
var img = new Image();
|
|
img.onload = function img_onload() {
|
|
assert(img.complete, 'Image ' + name + ' could not be decoded');
|
|
var canvas = document.createElement('canvas');
|
|
canvas.width = img.width;
|
|
canvas.height = img.height;
|
|
var ctx = canvas.getContext('2d');
|
|
ctx.drawImage(img, 0, 0);
|
|
Module['preloadedImages'][name] = canvas;
|
|
Browser.URLObject.revokeObjectURL(url);
|
|
if (onload) onload(byteArray);
|
|
};
|
|
img.onerror = function img_onerror(event) {
|
|
console.log('Image ' + url + ' could not be decoded');
|
|
if (onerror) onerror();
|
|
};
|
|
img.src = url;
|
|
};
|
|
Module['preloadPlugins'].push(imagePlugin);
|
|
|
|
var audioPlugin = {};
|
|
audioPlugin['canHandle'] = function audioPlugin_canHandle(name) {
|
|
return (
|
|
!Module.noAudioDecoding &&
|
|
name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }
|
|
);
|
|
};
|
|
audioPlugin['handle'] = function audioPlugin_handle(
|
|
byteArray,
|
|
name,
|
|
onload,
|
|
onerror
|
|
) {
|
|
var done = false;
|
|
function finish(audio) {
|
|
if (done) return;
|
|
done = true;
|
|
Module['preloadedAudios'][name] = audio;
|
|
if (onload) onload(byteArray);
|
|
}
|
|
function fail() {
|
|
if (done) return;
|
|
done = true;
|
|
Module['preloadedAudios'][name] = new Audio(); // empty shim
|
|
if (onerror) onerror();
|
|
}
|
|
if (Browser.hasBlobConstructor) {
|
|
try {
|
|
var b = new Blob([byteArray], { type: Browser.getMimetype(name) });
|
|
} catch (e) {
|
|
return fail();
|
|
}
|
|
var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this!
|
|
var audio = new Audio();
|
|
audio.addEventListener(
|
|
'canplaythrough',
|
|
function() {
|
|
finish(audio);
|
|
},
|
|
false
|
|
); // use addEventListener due to chromium bug 124926
|
|
audio.onerror = function audio_onerror(event) {
|
|
if (done) return;
|
|
console.log(
|
|
'warning: browser could not fully decode audio ' +
|
|
name +
|
|
', trying slower base64 approach'
|
|
);
|
|
function encode64(data) {
|
|
var BASE =
|
|
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
var PAD = '=';
|
|
var ret = '';
|
|
var leftchar = 0;
|
|
var leftbits = 0;
|
|
for (var i = 0; i < data.length; i++) {
|
|
leftchar = (leftchar << 8) | data[i];
|
|
leftbits += 8;
|
|
while (leftbits >= 6) {
|
|
var curr = (leftchar >> (leftbits - 6)) & 0x3f;
|
|
leftbits -= 6;
|
|
ret += BASE[curr];
|
|
}
|
|
}
|
|
if (leftbits == 2) {
|
|
ret += BASE[(leftchar & 3) << 4];
|
|
ret += PAD + PAD;
|
|
} else if (leftbits == 4) {
|
|
ret += BASE[(leftchar & 0xf) << 2];
|
|
ret += PAD;
|
|
}
|
|
return ret;
|
|
}
|
|
audio.src =
|
|
'data:audio/x-' +
|
|
name.substr(-3) +
|
|
';base64,' +
|
|
encode64(byteArray);
|
|
finish(audio); // we don't wait for confirmation this worked - but it's worth trying
|
|
};
|
|
audio.src = url;
|
|
// workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror
|
|
Browser.safeSetTimeout(function() {
|
|
finish(audio); // try to use it even though it is not necessarily ready to play
|
|
}, 10000);
|
|
} else {
|
|
return fail();
|
|
}
|
|
};
|
|
Module['preloadPlugins'].push(audioPlugin);
|
|
|
|
// Canvas event setup
|
|
|
|
var canvas = Module['canvas'];
|
|
function pointerLockChange() {
|
|
Browser.pointerLock =
|
|
document['pointerLockElement'] === canvas ||
|
|
document['mozPointerLockElement'] === canvas ||
|
|
document['webkitPointerLockElement'] === canvas ||
|
|
document['msPointerLockElement'] === canvas;
|
|
}
|
|
if (canvas) {
|
|
// forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module
|
|
// Module['forcedAspectRatio'] = 4 / 3;
|
|
|
|
canvas.requestPointerLock =
|
|
canvas['requestPointerLock'] ||
|
|
canvas['mozRequestPointerLock'] ||
|
|
canvas['webkitRequestPointerLock'] ||
|
|
canvas['msRequestPointerLock'] ||
|
|
function() {};
|
|
canvas.exitPointerLock =
|
|
document['exitPointerLock'] ||
|
|
document['mozExitPointerLock'] ||
|
|
document['webkitExitPointerLock'] ||
|
|
document['msExitPointerLock'] ||
|
|
function() {}; // no-op if function does not exist
|
|
canvas.exitPointerLock = canvas.exitPointerLock.bind(document);
|
|
|
|
document.addEventListener('pointerlockchange', pointerLockChange, false);
|
|
document.addEventListener(
|
|
'mozpointerlockchange',
|
|
pointerLockChange,
|
|
false
|
|
);
|
|
document.addEventListener(
|
|
'webkitpointerlockchange',
|
|
pointerLockChange,
|
|
false
|
|
);
|
|
document.addEventListener(
|
|
'mspointerlockchange',
|
|
pointerLockChange,
|
|
false
|
|
);
|
|
|
|
if (Module['elementPointerLock']) {
|
|
canvas.addEventListener(
|
|
'click',
|
|
function(ev) {
|
|
if (!Browser.pointerLock && canvas.requestPointerLock) {
|
|
canvas.requestPointerLock();
|
|
ev.preventDefault();
|
|
}
|
|
},
|
|
false
|
|
);
|
|
}
|
|
}
|
|
},
|
|
createContext: function(
|
|
canvas,
|
|
useWebGL,
|
|
setInModule,
|
|
webGLContextAttributes
|
|
) {
|
|
if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas.
|
|
|
|
var ctx;
|
|
var contextHandle;
|
|
if (useWebGL) {
|
|
// For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults.
|
|
var contextAttributes = {
|
|
antialias: false,
|
|
alpha: false,
|
|
};
|
|
|
|
if (webGLContextAttributes) {
|
|
for (var attribute in webGLContextAttributes) {
|
|
contextAttributes[attribute] = webGLContextAttributes[attribute];
|
|
}
|
|
}
|
|
|
|
contextHandle = GL.createContext(canvas, contextAttributes);
|
|
if (contextHandle) {
|
|
ctx = GL.getContext(contextHandle).GLctx;
|
|
}
|
|
// Set the background of the WebGL canvas to black
|
|
canvas.style.backgroundColor = 'black';
|
|
} else {
|
|
ctx = canvas.getContext('2d');
|
|
}
|
|
|
|
if (!ctx) return null;
|
|
|
|
if (setInModule) {
|
|
if (!useWebGL)
|
|
assert(
|
|
typeof GLctx === 'undefined',
|
|
'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'
|
|
);
|
|
|
|
Module.ctx = ctx;
|
|
if (useWebGL) GL.makeContextCurrent(contextHandle);
|
|
Module.useWebGL = useWebGL;
|
|
Browser.moduleContextCreatedCallbacks.forEach(function(callback) {
|
|
callback();
|
|
});
|
|
Browser.init();
|
|
}
|
|
return ctx;
|
|
},
|
|
destroyContext: function(canvas, useWebGL, setInModule) {},
|
|
fullScreenHandlersInstalled: false,
|
|
lockPointer: undefined,
|
|
resizeCanvas: undefined,
|
|
requestFullScreen: function(lockPointer, resizeCanvas) {
|
|
Browser.lockPointer = lockPointer;
|
|
Browser.resizeCanvas = resizeCanvas;
|
|
if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true;
|
|
if (typeof Browser.resizeCanvas === 'undefined')
|
|
Browser.resizeCanvas = false;
|
|
|
|
var canvas = Module['canvas'];
|
|
function fullScreenChange() {
|
|
Browser.isFullScreen = false;
|
|
var canvasContainer = canvas.parentNode;
|
|
if (
|
|
(document['webkitFullScreenElement'] ||
|
|
document['webkitFullscreenElement'] ||
|
|
document['mozFullScreenElement'] ||
|
|
document['mozFullscreenElement'] ||
|
|
document['fullScreenElement'] ||
|
|
document['fullscreenElement'] ||
|
|
document['msFullScreenElement'] ||
|
|
document['msFullscreenElement'] ||
|
|
document['webkitCurrentFullScreenElement']) === canvasContainer
|
|
) {
|
|
canvas.cancelFullScreen =
|
|
document['cancelFullScreen'] ||
|
|
document['mozCancelFullScreen'] ||
|
|
document['webkitCancelFullScreen'] ||
|
|
document['msExitFullscreen'] ||
|
|
document['exitFullscreen'] ||
|
|
function() {};
|
|
canvas.cancelFullScreen = canvas.cancelFullScreen.bind(document);
|
|
if (Browser.lockPointer) canvas.requestPointerLock();
|
|
Browser.isFullScreen = true;
|
|
if (Browser.resizeCanvas) Browser.setFullScreenCanvasSize();
|
|
} else {
|
|
// remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen
|
|
canvasContainer.parentNode.insertBefore(canvas, canvasContainer);
|
|
canvasContainer.parentNode.removeChild(canvasContainer);
|
|
|
|
if (Browser.resizeCanvas) Browser.setWindowedCanvasSize();
|
|
}
|
|
if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullScreen);
|
|
Browser.updateCanvasDimensions(canvas);
|
|
}
|
|
|
|
if (!Browser.fullScreenHandlersInstalled) {
|
|
Browser.fullScreenHandlersInstalled = true;
|
|
document.addEventListener('fullscreenchange', fullScreenChange, false);
|
|
document.addEventListener('mozfullscreenchange', fullScreenChange, false);
|
|
document.addEventListener(
|
|
'webkitfullscreenchange',
|
|
fullScreenChange,
|
|
false
|
|
);
|
|
document.addEventListener('MSFullscreenChange', fullScreenChange, false);
|
|
}
|
|
|
|
// create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root
|
|
var canvasContainer = document.createElement('div');
|
|
canvas.parentNode.insertBefore(canvasContainer, canvas);
|
|
canvasContainer.appendChild(canvas);
|
|
|
|
// use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size)
|
|
canvasContainer.requestFullScreen =
|
|
canvasContainer['requestFullScreen'] ||
|
|
canvasContainer['mozRequestFullScreen'] ||
|
|
canvasContainer['msRequestFullscreen'] ||
|
|
(canvasContainer['webkitRequestFullScreen']
|
|
? function() {
|
|
canvasContainer['webkitRequestFullScreen'](
|
|
Element['ALLOW_KEYBOARD_INPUT']
|
|
);
|
|
}
|
|
: null);
|
|
canvasContainer.requestFullScreen();
|
|
},
|
|
nextRAF: 0,
|
|
fakeRequestAnimationFrame: function(func) {
|
|
// try to keep 60fps between calls to here
|
|
var now = Date.now();
|
|
if (Browser.nextRAF === 0) {
|
|
Browser.nextRAF = now + 1000 / 60;
|
|
} else {
|
|
while (now + 2 >= Browser.nextRAF) {
|
|
// fudge a little, to avoid timer jitter causing us to do lots of delay:0
|
|
Browser.nextRAF += 1000 / 60;
|
|
}
|
|
}
|
|
var delay = Math.max(Browser.nextRAF - now, 0);
|
|
setTimeout(func, delay);
|
|
},
|
|
requestAnimationFrame: function requestAnimationFrame(func) {
|
|
if (typeof window === 'undefined') {
|
|
// Provide fallback to setTimeout if window is undefined (e.g. in Node.js)
|
|
Browser.fakeRequestAnimationFrame(func);
|
|
} else {
|
|
if (!window.requestAnimationFrame) {
|
|
window.requestAnimationFrame =
|
|
window['requestAnimationFrame'] ||
|
|
window['mozRequestAnimationFrame'] ||
|
|
window['webkitRequestAnimationFrame'] ||
|
|
window['msRequestAnimationFrame'] ||
|
|
window['oRequestAnimationFrame'] ||
|
|
Browser.fakeRequestAnimationFrame;
|
|
}
|
|
window.requestAnimationFrame(func);
|
|
}
|
|
},
|
|
safeCallback: function(func) {
|
|
return function() {
|
|
if (!ABORT) return func.apply(null, arguments);
|
|
};
|
|
},
|
|
safeRequestAnimationFrame: function(func) {
|
|
return Browser.requestAnimationFrame(function() {
|
|
if (!ABORT) func();
|
|
});
|
|
},
|
|
safeSetTimeout: function(func, timeout) {
|
|
Module['noExitRuntime'] = true;
|
|
return setTimeout(function() {
|
|
if (!ABORT) func();
|
|
}, timeout);
|
|
},
|
|
safeSetInterval: function(func, timeout) {
|
|
Module['noExitRuntime'] = true;
|
|
return setInterval(function() {
|
|
if (!ABORT) func();
|
|
}, timeout);
|
|
},
|
|
getMimetype: function(name) {
|
|
return {
|
|
jpg: 'image/jpeg',
|
|
jpeg: 'image/jpeg',
|
|
png: 'image/png',
|
|
bmp: 'image/bmp',
|
|
ogg: 'audio/ogg',
|
|
wav: 'audio/wav',
|
|
mp3: 'audio/mpeg',
|
|
}[name.substr(name.lastIndexOf('.') + 1)];
|
|
},
|
|
getUserMedia: function(func) {
|
|
if (!window.getUserMedia) {
|
|
window.getUserMedia =
|
|
navigator['getUserMedia'] || navigator['mozGetUserMedia'];
|
|
}
|
|
window.getUserMedia(func);
|
|
},
|
|
getMovementX: function(event) {
|
|
return (
|
|
event['movementX'] ||
|
|
event['mozMovementX'] ||
|
|
event['webkitMovementX'] ||
|
|
0
|
|
);
|
|
},
|
|
getMovementY: function(event) {
|
|
return (
|
|
event['movementY'] ||
|
|
event['mozMovementY'] ||
|
|
event['webkitMovementY'] ||
|
|
0
|
|
);
|
|
},
|
|
getMouseWheelDelta: function(event) {
|
|
var delta = 0;
|
|
switch (event.type) {
|
|
case 'DOMMouseScroll':
|
|
delta = event.detail;
|
|
break;
|
|
case 'mousewheel':
|
|
delta = event.wheelDelta;
|
|
break;
|
|
case 'wheel':
|
|
delta = event['deltaY'];
|
|
break;
|
|
default:
|
|
throw 'unrecognized mouse wheel event: ' + event.type;
|
|
}
|
|
return delta;
|
|
},
|
|
mouseX: 0,
|
|
mouseY: 0,
|
|
mouseMovementX: 0,
|
|
mouseMovementY: 0,
|
|
touches: {},
|
|
lastTouches: {},
|
|
calculateMouseEvent: function(event) {
|
|
// event should be mousemove, mousedown or mouseup
|
|
if (Browser.pointerLock) {
|
|
// When the pointer is locked, calculate the coordinates
|
|
// based on the movement of the mouse.
|
|
// Workaround for Firefox bug 764498
|
|
if (event.type != 'mousemove' && 'mozMovementX' in event) {
|
|
Browser.mouseMovementX = Browser.mouseMovementY = 0;
|
|
} else {
|
|
Browser.mouseMovementX = Browser.getMovementX(event);
|
|
Browser.mouseMovementY = Browser.getMovementY(event);
|
|
}
|
|
|
|
// check if SDL is available
|
|
if (typeof SDL != 'undefined') {
|
|
Browser.mouseX = SDL.mouseX + Browser.mouseMovementX;
|
|
Browser.mouseY = SDL.mouseY + Browser.mouseMovementY;
|
|
} else {
|
|
// just add the mouse delta to the current absolut mouse position
|
|
// FIXME: ideally this should be clamped against the canvas size and zero
|
|
Browser.mouseX += Browser.mouseMovementX;
|
|
Browser.mouseY += Browser.mouseMovementY;
|
|
}
|
|
} else {
|
|
// Otherwise, calculate the movement based on the changes
|
|
// in the coordinates.
|
|
var rect = Module['canvas'].getBoundingClientRect();
|
|
var cw = Module['canvas'].width;
|
|
var ch = Module['canvas'].height;
|
|
|
|
// Neither .scrollX or .pageXOffset are defined in a spec, but
|
|
// we prefer .scrollX because it is currently in a spec draft.
|
|
// (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/)
|
|
var scrollX =
|
|
typeof window.scrollX !== 'undefined'
|
|
? window.scrollX
|
|
: window.pageXOffset;
|
|
var scrollY =
|
|
typeof window.scrollY !== 'undefined'
|
|
? window.scrollY
|
|
: window.pageYOffset;
|
|
|
|
if (
|
|
event.type === 'touchstart' ||
|
|
event.type === 'touchend' ||
|
|
event.type === 'touchmove'
|
|
) {
|
|
var touch = event.touch;
|
|
if (touch === undefined) {
|
|
return; // the "touch" property is only defined in SDL
|
|
}
|
|
var adjustedX = touch.pageX - (scrollX + rect.left);
|
|
var adjustedY = touch.pageY - (scrollY + rect.top);
|
|
|
|
adjustedX = adjustedX * (cw / rect.width);
|
|
adjustedY = adjustedY * (ch / rect.height);
|
|
|
|
var coords = { x: adjustedX, y: adjustedY };
|
|
|
|
if (event.type === 'touchstart') {
|
|
Browser.lastTouches[touch.identifier] = coords;
|
|
Browser.touches[touch.identifier] = coords;
|
|
} else if (event.type === 'touchend' || event.type === 'touchmove') {
|
|
Browser.lastTouches[touch.identifier] =
|
|
Browser.touches[touch.identifier];
|
|
Browser.touches[touch.identifier] = { x: adjustedX, y: adjustedY };
|
|
}
|
|
return;
|
|
}
|
|
|
|
var x = event.pageX - (scrollX + rect.left);
|
|
var y = event.pageY - (scrollY + rect.top);
|
|
|
|
// the canvas might be CSS-scaled compared to its backbuffer;
|
|
// SDL-using content will want mouse coordinates in terms
|
|
// of backbuffer units.
|
|
x = x * (cw / rect.width);
|
|
y = y * (ch / rect.height);
|
|
|
|
Browser.mouseMovementX = x - Browser.mouseX;
|
|
Browser.mouseMovementY = y - Browser.mouseY;
|
|
Browser.mouseX = x;
|
|
Browser.mouseY = y;
|
|
}
|
|
},
|
|
xhrLoad: function(url, onload, onerror) {
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.open('GET', url, true);
|
|
xhr.responseType = 'arraybuffer';
|
|
xhr.onload = function xhr_onload() {
|
|
if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) {
|
|
// file URLs can return 0
|
|
onload(xhr.response);
|
|
} else {
|
|
onerror();
|
|
}
|
|
};
|
|
xhr.onerror = onerror;
|
|
xhr.send(null);
|
|
},
|
|
asyncLoad: function(url, onload, onerror, noRunDep) {
|
|
Browser.xhrLoad(
|
|
url,
|
|
function(arrayBuffer) {
|
|
assert(
|
|
arrayBuffer,
|
|
'Loading data file "' + url + '" failed (no arrayBuffer).'
|
|
);
|
|
onload(new Uint8Array(arrayBuffer));
|
|
if (!noRunDep) removeRunDependency('al ' + url);
|
|
},
|
|
function(event) {
|
|
if (onerror) {
|
|
onerror();
|
|
} else {
|
|
throw 'Loading data file "' + url + '" failed.';
|
|
}
|
|
}
|
|
);
|
|
if (!noRunDep) addRunDependency('al ' + url);
|
|
},
|
|
resizeListeners: [],
|
|
updateResizeListeners: function() {
|
|
var canvas = Module['canvas'];
|
|
Browser.resizeListeners.forEach(function(listener) {
|
|
listener(canvas.width, canvas.height);
|
|
});
|
|
},
|
|
setCanvasSize: function(width, height, noUpdates) {
|
|
var canvas = Module['canvas'];
|
|
Browser.updateCanvasDimensions(canvas, width, height);
|
|
if (!noUpdates) Browser.updateResizeListeners();
|
|
},
|
|
windowedWidth: 0,
|
|
windowedHeight: 0,
|
|
setFullScreenCanvasSize: function() {
|
|
// check if SDL is available
|
|
if (typeof SDL != 'undefined') {
|
|
var flags = HEAPU32[(SDL.screen + Runtime.QUANTUM_SIZE * 0) >> 2];
|
|
flags = flags | 0x00800000; // set SDL_FULLSCREEN flag
|
|
HEAP32[(SDL.screen + Runtime.QUANTUM_SIZE * 0) >> 2] = flags;
|
|
}
|
|
Browser.updateResizeListeners();
|
|
},
|
|
setWindowedCanvasSize: function() {
|
|
// check if SDL is available
|
|
if (typeof SDL != 'undefined') {
|
|
var flags = HEAPU32[(SDL.screen + Runtime.QUANTUM_SIZE * 0) >> 2];
|
|
flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag
|
|
HEAP32[(SDL.screen + Runtime.QUANTUM_SIZE * 0) >> 2] = flags;
|
|
}
|
|
Browser.updateResizeListeners();
|
|
},
|
|
updateCanvasDimensions: function(canvas, wNative, hNative) {
|
|
if (wNative && hNative) {
|
|
canvas.widthNative = wNative;
|
|
canvas.heightNative = hNative;
|
|
} else {
|
|
wNative = canvas.widthNative;
|
|
hNative = canvas.heightNative;
|
|
}
|
|
var w = wNative;
|
|
var h = hNative;
|
|
if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) {
|
|
if (w / h < Module['forcedAspectRatio']) {
|
|
w = Math.round(h * Module['forcedAspectRatio']);
|
|
} else {
|
|
h = Math.round(w / Module['forcedAspectRatio']);
|
|
}
|
|
}
|
|
if (
|
|
(document['webkitFullScreenElement'] ||
|
|
document['webkitFullscreenElement'] ||
|
|
document['mozFullScreenElement'] ||
|
|
document['mozFullscreenElement'] ||
|
|
document['fullScreenElement'] ||
|
|
document['fullscreenElement'] ||
|
|
document['msFullScreenElement'] ||
|
|
document['msFullscreenElement'] ||
|
|
document['webkitCurrentFullScreenElement']) === canvas.parentNode &&
|
|
typeof screen != 'undefined'
|
|
) {
|
|
var factor = Math.min(screen.width / w, screen.height / h);
|
|
w = Math.round(w * factor);
|
|
h = Math.round(h * factor);
|
|
}
|
|
if (Browser.resizeCanvas) {
|
|
if (canvas.width != w) canvas.width = w;
|
|
if (canvas.height != h) canvas.height = h;
|
|
if (typeof canvas.style != 'undefined') {
|
|
canvas.style.removeProperty('width');
|
|
canvas.style.removeProperty('height');
|
|
}
|
|
} else {
|
|
if (canvas.width != wNative) canvas.width = wNative;
|
|
if (canvas.height != hNative) canvas.height = hNative;
|
|
if (typeof canvas.style != 'undefined') {
|
|
if (w != wNative || h != hNative) {
|
|
canvas.style.setProperty('width', w + 'px', 'important');
|
|
canvas.style.setProperty('height', h + 'px', 'important');
|
|
} else {
|
|
canvas.style.removeProperty('width');
|
|
canvas.style.removeProperty('height');
|
|
}
|
|
}
|
|
}
|
|
},
|
|
wgetRequests: {},
|
|
nextWgetRequestHandle: 0,
|
|
getNextWgetRequestHandle: function() {
|
|
var handle = Browser.nextWgetRequestHandle;
|
|
Browser.nextWgetRequestHandle++;
|
|
return handle;
|
|
},
|
|
};
|
|
|
|
function _time(ptr) {
|
|
var ret = (Date.now() / 1000) | 0;
|
|
if (ptr) {
|
|
HEAP32[ptr >> 2] = ret;
|
|
}
|
|
return ret;
|
|
}
|
|
___errno_state = Runtime.staticAlloc(4);
|
|
HEAP32[___errno_state >> 2] = 0;
|
|
Module['requestFullScreen'] = function Module_requestFullScreen(
|
|
lockPointer,
|
|
resizeCanvas
|
|
) {
|
|
Browser.requestFullScreen(lockPointer, resizeCanvas);
|
|
};
|
|
Module['requestAnimationFrame'] = function Module_requestAnimationFrame(func) {
|
|
Browser.requestAnimationFrame(func);
|
|
};
|
|
Module['setCanvasSize'] = function Module_setCanvasSize(
|
|
width,
|
|
height,
|
|
noUpdates
|
|
) {
|
|
Browser.setCanvasSize(width, height, noUpdates);
|
|
};
|
|
Module['pauseMainLoop'] = function Module_pauseMainLoop() {
|
|
Browser.mainLoop.pause();
|
|
};
|
|
Module['resumeMainLoop'] = function Module_resumeMainLoop() {
|
|
Browser.mainLoop.resume();
|
|
};
|
|
Module['getUserMedia'] = function Module_getUserMedia() {
|
|
Browser.getUserMedia();
|
|
};
|
|
FS.staticInit();
|
|
__ATINIT__.unshift({
|
|
func: function() {
|
|
if (!Module['noFSInit'] && !FS.init.initialized) FS.init();
|
|
},
|
|
});
|
|
__ATMAIN__.push({
|
|
func: function() {
|
|
FS.ignorePermissions = false;
|
|
},
|
|
});
|
|
__ATEXIT__.push({
|
|
func: function() {
|
|
FS.quit();
|
|
},
|
|
});
|
|
Module['FS_createFolder'] = FS.createFolder;
|
|
Module['FS_createPath'] = FS.createPath;
|
|
Module['FS_createDataFile'] = FS.createDataFile;
|
|
Module['FS_createPreloadedFile'] = FS.createPreloadedFile;
|
|
Module['FS_createLazyFile'] = FS.createLazyFile;
|
|
Module['FS_createLink'] = FS.createLink;
|
|
Module['FS_createDevice'] = FS.createDevice;
|
|
__ATINIT__.unshift({
|
|
func: function() {
|
|
TTY.init();
|
|
},
|
|
});
|
|
__ATEXIT__.push({
|
|
func: function() {
|
|
TTY.shutdown();
|
|
},
|
|
});
|
|
TTY.utf8 = new Runtime.UTF8Processor();
|
|
if (ENVIRONMENT_IS_NODE) {
|
|
var fs = require('fs');
|
|
NODEFS.staticInit();
|
|
}
|
|
STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP);
|
|
|
|
staticSealed = true; // seal the static portion of memory
|
|
|
|
STACK_MAX = STACK_BASE + TOTAL_STACK;
|
|
|
|
DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX);
|
|
|
|
assert(DYNAMIC_BASE < TOTAL_MEMORY, 'TOTAL_MEMORY not big enough for stack');
|
|
|
|
var ctlz_i8 = allocate(
|
|
[
|
|
8,
|
|
7,
|
|
6,
|
|
6,
|
|
5,
|
|
5,
|
|
5,
|
|
5,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
4,
|
|
3,
|
|
3,
|
|
3,
|
|
3,
|
|
3,
|
|
3,
|
|
3,
|
|
3,
|
|
3,
|
|
3,
|
|
3,
|
|
3,
|
|
3,
|
|
3,
|
|
3,
|
|
3,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
2,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
1,
|
|
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,
|
|
],
|
|
'i8',
|
|
ALLOC_DYNAMIC
|
|
);
|
|
var cttz_i8 = allocate(
|
|
[
|
|
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',
|
|
ALLOC_DYNAMIC
|
|
);
|
|
|
|
Module.asmGlobalArg = {
|
|
Math: Math,
|
|
Int8Array: Int8Array,
|
|
Int16Array: Int16Array,
|
|
Int32Array: Int32Array,
|
|
Uint8Array: Uint8Array,
|
|
Uint16Array: Uint16Array,
|
|
Uint32Array: Uint32Array,
|
|
Float32Array: Float32Array,
|
|
Float64Array: Float64Array,
|
|
};
|
|
Module.asmLibraryArg = {
|
|
abort: abort,
|
|
assert: assert,
|
|
min: Math_min,
|
|
_fflush: _fflush,
|
|
_sysconf: _sysconf,
|
|
_abort: _abort,
|
|
___setErrNo: ___setErrNo,
|
|
_sbrk: _sbrk,
|
|
_time: _time,
|
|
_emscripten_set_main_loop_timing: _emscripten_set_main_loop_timing,
|
|
_emscripten_memcpy_big: _emscripten_memcpy_big,
|
|
_emscripten_set_main_loop: _emscripten_set_main_loop,
|
|
___errno_location: ___errno_location,
|
|
STACKTOP: STACKTOP,
|
|
STACK_MAX: STACK_MAX,
|
|
tempDoublePtr: tempDoublePtr,
|
|
ABORT: ABORT,
|
|
cttz_i8: cttz_i8,
|
|
ctlz_i8: ctlz_i8,
|
|
NaN: NaN,
|
|
Infinity: Infinity,
|
|
};
|
|
// EMSCRIPTEN_START_ASM
|
|
var asm = (function(global, env, buffer) {
|
|
'use asm';
|
|
|
|
var HEAP8 = new global.Int8Array(buffer);
|
|
var HEAP16 = new global.Int16Array(buffer);
|
|
var HEAP32 = new global.Int32Array(buffer);
|
|
var HEAPU8 = new global.Uint8Array(buffer);
|
|
var HEAPU16 = new global.Uint16Array(buffer);
|
|
var HEAPU32 = new global.Uint32Array(buffer);
|
|
var HEAPF32 = new global.Float32Array(buffer);
|
|
var HEAPF64 = new global.Float64Array(buffer);
|
|
|
|
var STACKTOP = env.STACKTOP | 0;
|
|
var STACK_MAX = env.STACK_MAX | 0;
|
|
var tempDoublePtr = env.tempDoublePtr | 0;
|
|
var ABORT = env.ABORT | 0;
|
|
var cttz_i8 = env.cttz_i8 | 0;
|
|
var ctlz_i8 = env.ctlz_i8 | 0;
|
|
|
|
var __THREW__ = 0;
|
|
var threwValue = 0;
|
|
var setjmpId = 0;
|
|
var undef = 0;
|
|
var nan = +env.NaN,
|
|
inf = +env.Infinity;
|
|
var tempInt = 0,
|
|
tempBigInt = 0,
|
|
tempBigIntP = 0,
|
|
tempBigIntS = 0,
|
|
tempBigIntR = 0.0,
|
|
tempBigIntI = 0,
|
|
tempBigIntD = 0,
|
|
tempValue = 0,
|
|
tempDouble = 0.0;
|
|
|
|
var tempRet0 = 0;
|
|
var tempRet1 = 0;
|
|
var tempRet2 = 0;
|
|
var tempRet3 = 0;
|
|
var tempRet4 = 0;
|
|
var tempRet5 = 0;
|
|
var tempRet6 = 0;
|
|
var tempRet7 = 0;
|
|
var tempRet8 = 0;
|
|
var tempRet9 = 0;
|
|
var Math_floor = global.Math.floor;
|
|
var Math_abs = global.Math.abs;
|
|
var Math_sqrt = global.Math.sqrt;
|
|
var Math_pow = global.Math.pow;
|
|
var Math_cos = global.Math.cos;
|
|
var Math_sin = global.Math.sin;
|
|
var Math_tan = global.Math.tan;
|
|
var Math_acos = global.Math.acos;
|
|
var Math_asin = global.Math.asin;
|
|
var Math_atan = global.Math.atan;
|
|
var Math_atan2 = global.Math.atan2;
|
|
var Math_exp = global.Math.exp;
|
|
var Math_log = global.Math.log;
|
|
var Math_ceil = global.Math.ceil;
|
|
var Math_imul = global.Math.imul;
|
|
var abort = env.abort;
|
|
var assert = env.assert;
|
|
var Math_min = env.min;
|
|
var _fflush = env._fflush;
|
|
var _sysconf = env._sysconf;
|
|
var _abort = env._abort;
|
|
var ___setErrNo = env.___setErrNo;
|
|
var _sbrk = env._sbrk;
|
|
var _time = env._time;
|
|
var _emscripten_set_main_loop_timing = env._emscripten_set_main_loop_timing;
|
|
var _emscripten_memcpy_big = env._emscripten_memcpy_big;
|
|
var _emscripten_set_main_loop = env._emscripten_set_main_loop;
|
|
var ___errno_location = env.___errno_location;
|
|
var tempFloat = 0.0;
|
|
|
|
// EMSCRIPTEN_START_FUNCS
|
|
function stackAlloc(size) {
|
|
size = size | 0;
|
|
var ret = 0;
|
|
ret = STACKTOP;
|
|
STACKTOP = (STACKTOP + size) | 0;
|
|
STACKTOP = (STACKTOP + 15) & -16;
|
|
|
|
return ret | 0;
|
|
}
|
|
function stackSave() {
|
|
return STACKTOP | 0;
|
|
}
|
|
function stackRestore(top) {
|
|
top = top | 0;
|
|
STACKTOP = top;
|
|
}
|
|
|
|
function setThrew(threw, value) {
|
|
threw = threw | 0;
|
|
value = value | 0;
|
|
if ((__THREW__ | 0) == 0) {
|
|
__THREW__ = threw;
|
|
threwValue = value;
|
|
}
|
|
}
|
|
function copyTempFloat(ptr) {
|
|
ptr = ptr | 0;
|
|
HEAP8[tempDoublePtr >> 0] = HEAP8[ptr >> 0];
|
|
HEAP8[(tempDoublePtr + 1) >> 0] = HEAP8[(ptr + 1) >> 0];
|
|
HEAP8[(tempDoublePtr + 2) >> 0] = HEAP8[(ptr + 2) >> 0];
|
|
HEAP8[(tempDoublePtr + 3) >> 0] = HEAP8[(ptr + 3) >> 0];
|
|
}
|
|
function copyTempDouble(ptr) {
|
|
ptr = ptr | 0;
|
|
HEAP8[tempDoublePtr >> 0] = HEAP8[ptr >> 0];
|
|
HEAP8[(tempDoublePtr + 1) >> 0] = HEAP8[(ptr + 1) >> 0];
|
|
HEAP8[(tempDoublePtr + 2) >> 0] = HEAP8[(ptr + 2) >> 0];
|
|
HEAP8[(tempDoublePtr + 3) >> 0] = HEAP8[(ptr + 3) >> 0];
|
|
HEAP8[(tempDoublePtr + 4) >> 0] = HEAP8[(ptr + 4) >> 0];
|
|
HEAP8[(tempDoublePtr + 5) >> 0] = HEAP8[(ptr + 5) >> 0];
|
|
HEAP8[(tempDoublePtr + 6) >> 0] = HEAP8[(ptr + 6) >> 0];
|
|
HEAP8[(tempDoublePtr + 7) >> 0] = HEAP8[(ptr + 7) >> 0];
|
|
}
|
|
function setTempRet0(value) {
|
|
value = value | 0;
|
|
tempRet0 = value;
|
|
}
|
|
function getTempRet0() {
|
|
return tempRet0 | 0;
|
|
}
|
|
|
|
function _crypto_verify_32_ref($x, $y) {
|
|
$x = $x | 0;
|
|
$y = $y | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$101 = 0,
|
|
$102 = 0,
|
|
$103 = 0,
|
|
$104 = 0,
|
|
$105 = 0,
|
|
$106 = 0,
|
|
$107 = 0,
|
|
$108 = 0,
|
|
$109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0,
|
|
$115 = 0;
|
|
var $116 = 0,
|
|
$117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0,
|
|
$124 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$131 = 0,
|
|
$132 = 0,
|
|
$133 = 0;
|
|
var $134 = 0,
|
|
$135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$138 = 0,
|
|
$139 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$141 = 0,
|
|
$142 = 0,
|
|
$143 = 0,
|
|
$144 = 0,
|
|
$145 = 0,
|
|
$146 = 0,
|
|
$147 = 0,
|
|
$148 = 0,
|
|
$149 = 0,
|
|
$15 = 0,
|
|
$150 = 0,
|
|
$151 = 0;
|
|
var $152 = 0,
|
|
$153 = 0,
|
|
$154 = 0,
|
|
$155 = 0,
|
|
$156 = 0,
|
|
$157 = 0,
|
|
$158 = 0,
|
|
$159 = 0,
|
|
$16 = 0,
|
|
$160 = 0,
|
|
$161 = 0,
|
|
$162 = 0,
|
|
$163 = 0,
|
|
$164 = 0,
|
|
$165 = 0,
|
|
$166 = 0,
|
|
$167 = 0,
|
|
$168 = 0,
|
|
$169 = 0,
|
|
$17 = 0;
|
|
var $170 = 0,
|
|
$171 = 0,
|
|
$172 = 0,
|
|
$173 = 0,
|
|
$174 = 0,
|
|
$175 = 0,
|
|
$176 = 0,
|
|
$177 = 0,
|
|
$178 = 0,
|
|
$179 = 0,
|
|
$18 = 0,
|
|
$180 = 0,
|
|
$181 = 0,
|
|
$182 = 0,
|
|
$183 = 0,
|
|
$184 = 0,
|
|
$185 = 0,
|
|
$186 = 0,
|
|
$187 = 0,
|
|
$188 = 0;
|
|
var $189 = 0,
|
|
$19 = 0,
|
|
$190 = 0,
|
|
$191 = 0,
|
|
$192 = 0,
|
|
$193 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0,
|
|
$27 = 0,
|
|
$28 = 0,
|
|
$29 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0;
|
|
var $32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0,
|
|
$45 = 0,
|
|
$46 = 0,
|
|
$47 = 0,
|
|
$48 = 0,
|
|
$49 = 0,
|
|
$5 = 0;
|
|
var $50 = 0,
|
|
$51 = 0,
|
|
$52 = 0,
|
|
$53 = 0,
|
|
$54 = 0,
|
|
$55 = 0,
|
|
$56 = 0,
|
|
$57 = 0,
|
|
$58 = 0,
|
|
$59 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$61 = 0,
|
|
$62 = 0,
|
|
$63 = 0,
|
|
$64 = 0,
|
|
$65 = 0,
|
|
$66 = 0,
|
|
$67 = 0,
|
|
$68 = 0;
|
|
var $69 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$71 = 0,
|
|
$72 = 0,
|
|
$73 = 0,
|
|
$74 = 0,
|
|
$75 = 0,
|
|
$76 = 0,
|
|
$77 = 0,
|
|
$78 = 0,
|
|
$79 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$81 = 0,
|
|
$82 = 0,
|
|
$83 = 0,
|
|
$84 = 0,
|
|
$85 = 0,
|
|
$86 = 0;
|
|
var $87 = 0,
|
|
$88 = 0,
|
|
$89 = 0,
|
|
$9 = 0,
|
|
$90 = 0,
|
|
$91 = 0,
|
|
$92 = 0,
|
|
$93 = 0,
|
|
$94 = 0,
|
|
$95 = 0,
|
|
$96 = 0,
|
|
$97 = 0,
|
|
$98 = 0,
|
|
$99 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP8[$x >> 0] | 0;
|
|
$1 = HEAP8[$y >> 0] | 0;
|
|
$2 = $1 ^ $0;
|
|
$3 = ($x + 1) | 0;
|
|
$4 = HEAP8[$3 >> 0] | 0;
|
|
$5 = ($y + 1) | 0;
|
|
$6 = HEAP8[$5 >> 0] | 0;
|
|
$7 = $6 ^ $4;
|
|
$8 = $7 | $2;
|
|
$9 = ($x + 2) | 0;
|
|
$10 = HEAP8[$9 >> 0] | 0;
|
|
$11 = ($y + 2) | 0;
|
|
$12 = HEAP8[$11 >> 0] | 0;
|
|
$13 = $12 ^ $10;
|
|
$14 = $8 | $13;
|
|
$15 = ($x + 3) | 0;
|
|
$16 = HEAP8[$15 >> 0] | 0;
|
|
$17 = ($y + 3) | 0;
|
|
$18 = HEAP8[$17 >> 0] | 0;
|
|
$19 = $18 ^ $16;
|
|
$20 = $14 | $19;
|
|
$21 = ($x + 4) | 0;
|
|
$22 = HEAP8[$21 >> 0] | 0;
|
|
$23 = ($y + 4) | 0;
|
|
$24 = HEAP8[$23 >> 0] | 0;
|
|
$25 = $24 ^ $22;
|
|
$26 = $20 | $25;
|
|
$27 = ($x + 5) | 0;
|
|
$28 = HEAP8[$27 >> 0] | 0;
|
|
$29 = ($y + 5) | 0;
|
|
$30 = HEAP8[$29 >> 0] | 0;
|
|
$31 = $30 ^ $28;
|
|
$32 = $26 | $31;
|
|
$33 = ($x + 6) | 0;
|
|
$34 = HEAP8[$33 >> 0] | 0;
|
|
$35 = ($y + 6) | 0;
|
|
$36 = HEAP8[$35 >> 0] | 0;
|
|
$37 = $36 ^ $34;
|
|
$38 = $32 | $37;
|
|
$39 = ($x + 7) | 0;
|
|
$40 = HEAP8[$39 >> 0] | 0;
|
|
$41 = ($y + 7) | 0;
|
|
$42 = HEAP8[$41 >> 0] | 0;
|
|
$43 = $42 ^ $40;
|
|
$44 = $38 | $43;
|
|
$45 = ($x + 8) | 0;
|
|
$46 = HEAP8[$45 >> 0] | 0;
|
|
$47 = ($y + 8) | 0;
|
|
$48 = HEAP8[$47 >> 0] | 0;
|
|
$49 = $48 ^ $46;
|
|
$50 = $44 | $49;
|
|
$51 = ($x + 9) | 0;
|
|
$52 = HEAP8[$51 >> 0] | 0;
|
|
$53 = ($y + 9) | 0;
|
|
$54 = HEAP8[$53 >> 0] | 0;
|
|
$55 = $54 ^ $52;
|
|
$56 = $50 | $55;
|
|
$57 = ($x + 10) | 0;
|
|
$58 = HEAP8[$57 >> 0] | 0;
|
|
$59 = ($y + 10) | 0;
|
|
$60 = HEAP8[$59 >> 0] | 0;
|
|
$61 = $60 ^ $58;
|
|
$62 = $56 | $61;
|
|
$63 = ($x + 11) | 0;
|
|
$64 = HEAP8[$63 >> 0] | 0;
|
|
$65 = ($y + 11) | 0;
|
|
$66 = HEAP8[$65 >> 0] | 0;
|
|
$67 = $66 ^ $64;
|
|
$68 = $62 | $67;
|
|
$69 = ($x + 12) | 0;
|
|
$70 = HEAP8[$69 >> 0] | 0;
|
|
$71 = ($y + 12) | 0;
|
|
$72 = HEAP8[$71 >> 0] | 0;
|
|
$73 = $72 ^ $70;
|
|
$74 = $68 | $73;
|
|
$75 = ($x + 13) | 0;
|
|
$76 = HEAP8[$75 >> 0] | 0;
|
|
$77 = ($y + 13) | 0;
|
|
$78 = HEAP8[$77 >> 0] | 0;
|
|
$79 = $78 ^ $76;
|
|
$80 = $74 | $79;
|
|
$81 = ($x + 14) | 0;
|
|
$82 = HEAP8[$81 >> 0] | 0;
|
|
$83 = ($y + 14) | 0;
|
|
$84 = HEAP8[$83 >> 0] | 0;
|
|
$85 = $84 ^ $82;
|
|
$86 = $80 | $85;
|
|
$87 = ($x + 15) | 0;
|
|
$88 = HEAP8[$87 >> 0] | 0;
|
|
$89 = ($y + 15) | 0;
|
|
$90 = HEAP8[$89 >> 0] | 0;
|
|
$91 = $90 ^ $88;
|
|
$92 = $86 | $91;
|
|
$93 = ($x + 16) | 0;
|
|
$94 = HEAP8[$93 >> 0] | 0;
|
|
$95 = ($y + 16) | 0;
|
|
$96 = HEAP8[$95 >> 0] | 0;
|
|
$97 = $96 ^ $94;
|
|
$98 = $92 | $97;
|
|
$99 = ($x + 17) | 0;
|
|
$100 = HEAP8[$99 >> 0] | 0;
|
|
$101 = ($y + 17) | 0;
|
|
$102 = HEAP8[$101 >> 0] | 0;
|
|
$103 = $102 ^ $100;
|
|
$104 = $98 | $103;
|
|
$105 = ($x + 18) | 0;
|
|
$106 = HEAP8[$105 >> 0] | 0;
|
|
$107 = ($y + 18) | 0;
|
|
$108 = HEAP8[$107 >> 0] | 0;
|
|
$109 = $108 ^ $106;
|
|
$110 = $104 | $109;
|
|
$111 = ($x + 19) | 0;
|
|
$112 = HEAP8[$111 >> 0] | 0;
|
|
$113 = ($y + 19) | 0;
|
|
$114 = HEAP8[$113 >> 0] | 0;
|
|
$115 = $114 ^ $112;
|
|
$116 = $110 | $115;
|
|
$117 = ($x + 20) | 0;
|
|
$118 = HEAP8[$117 >> 0] | 0;
|
|
$119 = ($y + 20) | 0;
|
|
$120 = HEAP8[$119 >> 0] | 0;
|
|
$121 = $120 ^ $118;
|
|
$122 = $116 | $121;
|
|
$123 = ($x + 21) | 0;
|
|
$124 = HEAP8[$123 >> 0] | 0;
|
|
$125 = ($y + 21) | 0;
|
|
$126 = HEAP8[$125 >> 0] | 0;
|
|
$127 = $126 ^ $124;
|
|
$128 = $122 | $127;
|
|
$129 = ($x + 22) | 0;
|
|
$130 = HEAP8[$129 >> 0] | 0;
|
|
$131 = ($y + 22) | 0;
|
|
$132 = HEAP8[$131 >> 0] | 0;
|
|
$133 = $132 ^ $130;
|
|
$134 = $128 | $133;
|
|
$135 = ($x + 23) | 0;
|
|
$136 = HEAP8[$135 >> 0] | 0;
|
|
$137 = ($y + 23) | 0;
|
|
$138 = HEAP8[$137 >> 0] | 0;
|
|
$139 = $138 ^ $136;
|
|
$140 = $134 | $139;
|
|
$141 = ($x + 24) | 0;
|
|
$142 = HEAP8[$141 >> 0] | 0;
|
|
$143 = ($y + 24) | 0;
|
|
$144 = HEAP8[$143 >> 0] | 0;
|
|
$145 = $144 ^ $142;
|
|
$146 = $140 | $145;
|
|
$147 = ($x + 25) | 0;
|
|
$148 = HEAP8[$147 >> 0] | 0;
|
|
$149 = ($y + 25) | 0;
|
|
$150 = HEAP8[$149 >> 0] | 0;
|
|
$151 = $150 ^ $148;
|
|
$152 = $146 | $151;
|
|
$153 = ($x + 26) | 0;
|
|
$154 = HEAP8[$153 >> 0] | 0;
|
|
$155 = ($y + 26) | 0;
|
|
$156 = HEAP8[$155 >> 0] | 0;
|
|
$157 = $156 ^ $154;
|
|
$158 = $152 | $157;
|
|
$159 = ($x + 27) | 0;
|
|
$160 = HEAP8[$159 >> 0] | 0;
|
|
$161 = ($y + 27) | 0;
|
|
$162 = HEAP8[$161 >> 0] | 0;
|
|
$163 = $162 ^ $160;
|
|
$164 = $158 | $163;
|
|
$165 = ($x + 28) | 0;
|
|
$166 = HEAP8[$165 >> 0] | 0;
|
|
$167 = ($y + 28) | 0;
|
|
$168 = HEAP8[$167 >> 0] | 0;
|
|
$169 = $168 ^ $166;
|
|
$170 = $164 | $169;
|
|
$171 = ($x + 29) | 0;
|
|
$172 = HEAP8[$171 >> 0] | 0;
|
|
$173 = ($y + 29) | 0;
|
|
$174 = HEAP8[$173 >> 0] | 0;
|
|
$175 = $174 ^ $172;
|
|
$176 = $170 | $175;
|
|
$177 = ($x + 30) | 0;
|
|
$178 = HEAP8[$177 >> 0] | 0;
|
|
$179 = ($y + 30) | 0;
|
|
$180 = HEAP8[$179 >> 0] | 0;
|
|
$181 = $180 ^ $178;
|
|
$182 = $176 | $181;
|
|
$183 = ($x + 31) | 0;
|
|
$184 = HEAP8[$183 >> 0] | 0;
|
|
$185 = ($y + 31) | 0;
|
|
$186 = HEAP8[$185 >> 0] | 0;
|
|
$187 = $186 ^ $184;
|
|
$188 = $182 | $187;
|
|
$189 = $188 & 255;
|
|
$190 = ($189 + 511) | 0;
|
|
$191 = $190 >>> 8;
|
|
$192 = $191 & 1;
|
|
$193 = ($192 + -1) | 0;
|
|
STACKTOP = sp;
|
|
return $193 | 0;
|
|
}
|
|
function _curve25519_sign(
|
|
$signature_out,
|
|
$curve25519_privkey,
|
|
$msg,
|
|
$msg_len
|
|
) {
|
|
$signature_out = $signature_out | 0;
|
|
$curve25519_privkey = $curve25519_privkey | 0;
|
|
$msg = $msg | 0;
|
|
$msg_len = $msg_len | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
$ed_keypair = 0,
|
|
$ed_pubkey_point = 0,
|
|
$sigbuf_out_len = 0,
|
|
dest = 0;
|
|
var label = 0,
|
|
sp = 0,
|
|
src = 0,
|
|
stop = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 240) | 0;
|
|
$ed_pubkey_point = (sp + 8) | 0;
|
|
$ed_keypair = (sp + 168) | 0;
|
|
$sigbuf_out_len = sp;
|
|
$0 = ($msg_len + 64) | 0;
|
|
$1 = STACKTOP;
|
|
STACKTOP = (STACKTOP + ((((1 * $0) | 0) + 15) & -16)) | 0;
|
|
$2 = $sigbuf_out_len;
|
|
$3 = $2;
|
|
HEAP32[$3 >> 2] = 0;
|
|
$4 = ($2 + 4) | 0;
|
|
$5 = $4;
|
|
HEAP32[$5 >> 2] = 0;
|
|
dest = ($ed_keypair + 0) | 0;
|
|
src = ($curve25519_privkey + 0) | 0;
|
|
stop = (dest + 32) | 0;
|
|
do {
|
|
HEAP8[dest >> 0] = HEAP8[src >> 0] | 0;
|
|
dest = (dest + 1) | 0;
|
|
src = (src + 1) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
_crypto_sign_ed25519_ref10_ge_scalarmult_base(
|
|
$ed_pubkey_point,
|
|
$curve25519_privkey
|
|
);
|
|
$6 = ($ed_keypair + 32) | 0;
|
|
_crypto_sign_ed25519_ref10_ge_p3_tobytes($6, $ed_pubkey_point);
|
|
$7 = ($ed_keypair + 63) | 0;
|
|
$8 = HEAP8[$7 >> 0] | 0;
|
|
$9 = $8 & 255;
|
|
$10 = $9 & 128;
|
|
_crypto_sign_modified($1, $sigbuf_out_len, $msg, $msg_len, 0, $ed_keypair) |
|
|
0;
|
|
dest = ($signature_out + 0) | 0;
|
|
src = ($1 + 0) | 0;
|
|
stop = (dest + 64) | 0;
|
|
do {
|
|
HEAP8[dest >> 0] = HEAP8[src >> 0] | 0;
|
|
dest = (dest + 1) | 0;
|
|
src = (src + 1) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
$11 = ($signature_out + 63) | 0;
|
|
$12 = HEAP8[$11 >> 0] | 0;
|
|
$13 = $12 & 255;
|
|
$14 = $13 | $10;
|
|
$15 = $14 & 255;
|
|
HEAP8[$11 >> 0] = $15;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _curve25519_verify($signature, $curve25519_pubkey, $msg, $msg_len) {
|
|
$signature = $signature | 0;
|
|
$curve25519_pubkey = $curve25519_pubkey | 0;
|
|
$msg = $msg | 0;
|
|
$msg_len = $msg_len | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
$ed_pubkey = 0,
|
|
$ed_y = 0;
|
|
var $inv_mont_x_plus_one = 0,
|
|
$mont_x = 0,
|
|
$mont_x_minus_one = 0,
|
|
$mont_x_plus_one = 0,
|
|
$one = 0,
|
|
$some_retval = 0,
|
|
dest = 0,
|
|
label = 0,
|
|
sp = 0,
|
|
src = 0,
|
|
stop = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 288) | 0;
|
|
$mont_x = (sp + 208) | 0;
|
|
$mont_x_minus_one = (sp + 168) | 0;
|
|
$mont_x_plus_one = (sp + 128) | 0;
|
|
$inv_mont_x_plus_one = (sp + 88) | 0;
|
|
$one = (sp + 48) | 0;
|
|
$ed_y = (sp + 8) | 0;
|
|
$ed_pubkey = (sp + 248) | 0;
|
|
$some_retval = sp;
|
|
$0 = ($msg_len + 64) | 0;
|
|
$1 = STACKTOP;
|
|
STACKTOP = (STACKTOP + ((((1 * $0) | 0) + 15) & -16)) | 0;
|
|
$2 = STACKTOP;
|
|
STACKTOP = (STACKTOP + ((((1 * $0) | 0) + 15) & -16)) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_frombytes($mont_x, $curve25519_pubkey);
|
|
_crypto_sign_ed25519_ref10_fe_1($one);
|
|
_crypto_sign_ed25519_ref10_fe_sub($mont_x_minus_one, $mont_x, $one);
|
|
_crypto_sign_ed25519_ref10_fe_add($mont_x_plus_one, $mont_x, $one);
|
|
_crypto_sign_ed25519_ref10_fe_invert(
|
|
$inv_mont_x_plus_one,
|
|
$mont_x_plus_one
|
|
);
|
|
_crypto_sign_ed25519_ref10_fe_mul(
|
|
$ed_y,
|
|
$mont_x_minus_one,
|
|
$inv_mont_x_plus_one
|
|
);
|
|
_crypto_sign_ed25519_ref10_fe_tobytes($ed_pubkey, $ed_y);
|
|
$3 = ($signature + 63) | 0;
|
|
$4 = HEAP8[$3 >> 0] | 0;
|
|
$5 = $4 & 255;
|
|
$6 = $5 & 128;
|
|
$7 = ($ed_pubkey + 31) | 0;
|
|
$8 = HEAP8[$7 >> 0] | 0;
|
|
$9 = $8 & 255;
|
|
$10 = $9 | $6;
|
|
$11 = $10 & 255;
|
|
HEAP8[$7 >> 0] = $11;
|
|
$12 = HEAP8[$3 >> 0] | 0;
|
|
$13 = $12 & 255;
|
|
$14 = $13 & 127;
|
|
$15 = $14 & 255;
|
|
HEAP8[$3 >> 0] = $15;
|
|
dest = ($1 + 0) | 0;
|
|
src = ($signature + 0) | 0;
|
|
stop = (dest + 64) | 0;
|
|
do {
|
|
HEAP8[dest >> 0] = HEAP8[src >> 0] | 0;
|
|
dest = (dest + 1) | 0;
|
|
src = (src + 1) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
$16 = ($1 + 64) | 0;
|
|
_memcpy($16 | 0, $msg | 0, $msg_len | 0) | 0;
|
|
$17 =
|
|
_crypto_sign_edwards25519sha512batch_ref10_open(
|
|
$2,
|
|
$some_retval,
|
|
$1,
|
|
$0,
|
|
0,
|
|
$ed_pubkey
|
|
) | 0;
|
|
STACKTOP = sp;
|
|
return $17 | 0;
|
|
}
|
|
function _crypto_hash_sha512_ref($output, $input, $0, $1) {
|
|
$output = $output | 0;
|
|
$input = $input | 0;
|
|
$0 = $0 | 0;
|
|
$1 = $1 | 0;
|
|
var $ctx = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 208) | 0;
|
|
$ctx = sp;
|
|
_sph_sha512_init($ctx);
|
|
_sph_sha384($ctx, $input, $0);
|
|
_sph_sha512_close($ctx, $output);
|
|
STACKTOP = sp;
|
|
return 0;
|
|
}
|
|
function _crypto_sign_modified($sm, $smlen, $m, $0, $1, $sk) {
|
|
$sm = $sm | 0;
|
|
$smlen = $smlen | 0;
|
|
$m = $m | 0;
|
|
$0 = $0 | 0;
|
|
$1 = $1 | 0;
|
|
$sk = $sk | 0;
|
|
var $10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
$R = 0,
|
|
$hram = 0,
|
|
$nonce = 0,
|
|
$pk1 = 0,
|
|
dest = 0,
|
|
label = 0,
|
|
sp = 0,
|
|
src = 0,
|
|
stop = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 320) | 0;
|
|
$pk1 = (sp + 288) | 0;
|
|
$nonce = (sp + 224) | 0;
|
|
$hram = (sp + 160) | 0;
|
|
$R = sp;
|
|
$2 = ($sk + 32) | 0;
|
|
dest = ($pk1 + 0) | 0;
|
|
src = ($2 + 0) | 0;
|
|
stop = (dest + 32) | 0;
|
|
do {
|
|
HEAP8[dest >> 0] = HEAP8[src >> 0] | 0;
|
|
dest = (dest + 1) | 0;
|
|
src = (src + 1) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
$3 = _i64Add($0 | 0, $1 | 0, 64, 0) | 0;
|
|
$4 = tempRet0;
|
|
$5 = $smlen;
|
|
$6 = $5;
|
|
HEAP32[$6 >> 2] = $3;
|
|
$7 = ($5 + 4) | 0;
|
|
$8 = $7;
|
|
HEAP32[$8 >> 2] = $4;
|
|
$9 = ($sm + 64) | 0;
|
|
_memmove($9 | 0, $m | 0, $0 | 0) | 0;
|
|
$10 = ($sm + 32) | 0;
|
|
_memmove($10 | 0, $sk | 0, 32) | 0;
|
|
$11 = _i64Add($0 | 0, $1 | 0, 32, 0) | 0;
|
|
$12 = tempRet0;
|
|
_crypto_hash_sha512_ref($nonce, $10, $11, $12) | 0;
|
|
dest = ($10 + 0) | 0;
|
|
src = ($pk1 + 0) | 0;
|
|
stop = (dest + 32) | 0;
|
|
do {
|
|
HEAP8[dest >> 0] = HEAP8[src >> 0] | 0;
|
|
dest = (dest + 1) | 0;
|
|
src = (src + 1) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
_crypto_sign_ed25519_ref10_sc_reduce($nonce);
|
|
_crypto_sign_ed25519_ref10_ge_scalarmult_base($R, $nonce);
|
|
_crypto_sign_ed25519_ref10_ge_p3_tobytes($sm, $R);
|
|
_crypto_hash_sha512_ref($hram, $sm, $3, $4) | 0;
|
|
_crypto_sign_ed25519_ref10_sc_reduce($hram);
|
|
_crypto_sign_ed25519_ref10_sc_muladd($10, $hram, $sk, $nonce);
|
|
STACKTOP = sp;
|
|
return 0;
|
|
}
|
|
function _curve25519_donna($mypublic, $secret, $basepoint) {
|
|
$mypublic = $mypublic | 0;
|
|
$secret = $secret | 0;
|
|
$basepoint = $basepoint | 0;
|
|
var $bp = 0,
|
|
$e = 0,
|
|
$x = 0,
|
|
$z = 0,
|
|
$zmone = 0,
|
|
dest = 0,
|
|
label = 0,
|
|
sp = 0,
|
|
src = 0,
|
|
stop = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 368) | 0;
|
|
$bp = (sp + 248) | 0;
|
|
$x = (sp + 168) | 0;
|
|
$z = (sp + 80) | 0;
|
|
$zmone = sp;
|
|
$e = (sp + 328) | 0;
|
|
dest = ($e + 0) | 0;
|
|
src = ($secret + 0) | 0;
|
|
stop = (dest + 32) | 0;
|
|
do {
|
|
HEAP8[dest >> 0] = HEAP8[src >> 0] | 0;
|
|
dest = (dest + 1) | 0;
|
|
src = (src + 1) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
_fexpand($bp, $basepoint);
|
|
_cmult($x, $z, $e, $bp);
|
|
_crecip($zmone, $z);
|
|
_fmul($z, $x, $zmone);
|
|
_fcontract($mypublic, $z);
|
|
STACKTOP = sp;
|
|
return 0;
|
|
}
|
|
function _fexpand($output, $input) {
|
|
$output = $output | 0;
|
|
$input = $input | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$101 = 0,
|
|
$102 = 0,
|
|
$103 = 0,
|
|
$104 = 0,
|
|
$105 = 0,
|
|
$106 = 0,
|
|
$107 = 0,
|
|
$108 = 0,
|
|
$109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0,
|
|
$115 = 0;
|
|
var $116 = 0,
|
|
$117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0,
|
|
$124 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$131 = 0,
|
|
$132 = 0,
|
|
$133 = 0;
|
|
var $134 = 0,
|
|
$135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$138 = 0,
|
|
$139 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$141 = 0,
|
|
$142 = 0,
|
|
$143 = 0,
|
|
$144 = 0,
|
|
$145 = 0,
|
|
$146 = 0,
|
|
$147 = 0,
|
|
$148 = 0,
|
|
$149 = 0,
|
|
$15 = 0,
|
|
$150 = 0,
|
|
$151 = 0;
|
|
var $152 = 0,
|
|
$153 = 0,
|
|
$154 = 0,
|
|
$155 = 0,
|
|
$156 = 0,
|
|
$157 = 0,
|
|
$158 = 0,
|
|
$159 = 0,
|
|
$16 = 0,
|
|
$160 = 0,
|
|
$161 = 0,
|
|
$162 = 0,
|
|
$163 = 0,
|
|
$164 = 0,
|
|
$165 = 0,
|
|
$166 = 0,
|
|
$167 = 0,
|
|
$168 = 0,
|
|
$169 = 0,
|
|
$17 = 0;
|
|
var $170 = 0,
|
|
$171 = 0,
|
|
$172 = 0,
|
|
$173 = 0,
|
|
$174 = 0,
|
|
$175 = 0,
|
|
$176 = 0,
|
|
$177 = 0,
|
|
$178 = 0,
|
|
$179 = 0,
|
|
$18 = 0,
|
|
$180 = 0,
|
|
$181 = 0,
|
|
$182 = 0,
|
|
$183 = 0,
|
|
$184 = 0,
|
|
$185 = 0,
|
|
$186 = 0,
|
|
$187 = 0,
|
|
$188 = 0;
|
|
var $189 = 0,
|
|
$19 = 0,
|
|
$190 = 0,
|
|
$191 = 0,
|
|
$192 = 0,
|
|
$193 = 0,
|
|
$194 = 0,
|
|
$195 = 0,
|
|
$196 = 0,
|
|
$197 = 0,
|
|
$198 = 0,
|
|
$199 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$200 = 0,
|
|
$201 = 0,
|
|
$202 = 0,
|
|
$203 = 0,
|
|
$204 = 0,
|
|
$205 = 0;
|
|
var $206 = 0,
|
|
$207 = 0,
|
|
$208 = 0,
|
|
$209 = 0,
|
|
$21 = 0,
|
|
$210 = 0,
|
|
$211 = 0,
|
|
$212 = 0,
|
|
$213 = 0,
|
|
$214 = 0,
|
|
$215 = 0,
|
|
$216 = 0,
|
|
$217 = 0,
|
|
$218 = 0,
|
|
$219 = 0,
|
|
$22 = 0,
|
|
$220 = 0,
|
|
$221 = 0,
|
|
$222 = 0,
|
|
$223 = 0;
|
|
var $224 = 0,
|
|
$225 = 0,
|
|
$226 = 0,
|
|
$227 = 0,
|
|
$228 = 0,
|
|
$229 = 0,
|
|
$23 = 0,
|
|
$230 = 0,
|
|
$231 = 0,
|
|
$232 = 0,
|
|
$233 = 0,
|
|
$234 = 0,
|
|
$235 = 0,
|
|
$236 = 0,
|
|
$237 = 0,
|
|
$238 = 0,
|
|
$239 = 0,
|
|
$24 = 0,
|
|
$240 = 0,
|
|
$241 = 0;
|
|
var $242 = 0,
|
|
$243 = 0,
|
|
$244 = 0,
|
|
$245 = 0,
|
|
$246 = 0,
|
|
$247 = 0,
|
|
$248 = 0,
|
|
$249 = 0,
|
|
$25 = 0,
|
|
$250 = 0,
|
|
$251 = 0,
|
|
$252 = 0,
|
|
$253 = 0,
|
|
$254 = 0,
|
|
$255 = 0,
|
|
$256 = 0,
|
|
$257 = 0,
|
|
$258 = 0,
|
|
$259 = 0,
|
|
$26 = 0;
|
|
var $260 = 0,
|
|
$261 = 0,
|
|
$262 = 0,
|
|
$263 = 0,
|
|
$264 = 0,
|
|
$265 = 0,
|
|
$266 = 0,
|
|
$267 = 0,
|
|
$268 = 0,
|
|
$269 = 0,
|
|
$27 = 0,
|
|
$270 = 0,
|
|
$271 = 0,
|
|
$272 = 0,
|
|
$273 = 0,
|
|
$274 = 0,
|
|
$275 = 0,
|
|
$276 = 0,
|
|
$277 = 0,
|
|
$278 = 0;
|
|
var $279 = 0,
|
|
$28 = 0,
|
|
$280 = 0,
|
|
$281 = 0,
|
|
$282 = 0,
|
|
$283 = 0,
|
|
$284 = 0,
|
|
$285 = 0,
|
|
$286 = 0,
|
|
$287 = 0,
|
|
$288 = 0,
|
|
$289 = 0,
|
|
$29 = 0,
|
|
$290 = 0,
|
|
$291 = 0,
|
|
$292 = 0,
|
|
$293 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0;
|
|
var $32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0,
|
|
$45 = 0,
|
|
$46 = 0,
|
|
$47 = 0,
|
|
$48 = 0,
|
|
$49 = 0,
|
|
$5 = 0;
|
|
var $50 = 0,
|
|
$51 = 0,
|
|
$52 = 0,
|
|
$53 = 0,
|
|
$54 = 0,
|
|
$55 = 0,
|
|
$56 = 0,
|
|
$57 = 0,
|
|
$58 = 0,
|
|
$59 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$61 = 0,
|
|
$62 = 0,
|
|
$63 = 0,
|
|
$64 = 0,
|
|
$65 = 0,
|
|
$66 = 0,
|
|
$67 = 0,
|
|
$68 = 0;
|
|
var $69 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$71 = 0,
|
|
$72 = 0,
|
|
$73 = 0,
|
|
$74 = 0,
|
|
$75 = 0,
|
|
$76 = 0,
|
|
$77 = 0,
|
|
$78 = 0,
|
|
$79 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$81 = 0,
|
|
$82 = 0,
|
|
$83 = 0,
|
|
$84 = 0,
|
|
$85 = 0,
|
|
$86 = 0;
|
|
var $87 = 0,
|
|
$88 = 0,
|
|
$89 = 0,
|
|
$9 = 0,
|
|
$90 = 0,
|
|
$91 = 0,
|
|
$92 = 0,
|
|
$93 = 0,
|
|
$94 = 0,
|
|
$95 = 0,
|
|
$96 = 0,
|
|
$97 = 0,
|
|
$98 = 0,
|
|
$99 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP8[$input >> 0] | 0;
|
|
$1 = $0 & 255;
|
|
$2 = ($input + 1) | 0;
|
|
$3 = HEAP8[$2 >> 0] | 0;
|
|
$4 = $3 & 255;
|
|
$5 = _bitshift64Shl($4 | 0, 0, 8) | 0;
|
|
$6 = tempRet0;
|
|
$7 = $5 | $1;
|
|
$8 = ($input + 2) | 0;
|
|
$9 = HEAP8[$8 >> 0] | 0;
|
|
$10 = $9 & 255;
|
|
$11 = _bitshift64Shl($10 | 0, 0, 16) | 0;
|
|
$12 = tempRet0;
|
|
$13 = $7 | $11;
|
|
$14 = $6 | $12;
|
|
$15 = ($input + 3) | 0;
|
|
$16 = HEAP8[$15 >> 0] | 0;
|
|
$17 = $16 & 255;
|
|
$18 = _bitshift64Shl($17 | 0, 0, 24) | 0;
|
|
$19 = tempRet0;
|
|
$20 = $18 & 50331648;
|
|
$21 = $13 | $20;
|
|
$22 = $output;
|
|
$23 = $22;
|
|
HEAP32[$23 >> 2] = $21;
|
|
$24 = ($22 + 4) | 0;
|
|
$25 = $24;
|
|
HEAP32[$25 >> 2] = $14;
|
|
$26 = HEAP8[$15 >> 0] | 0;
|
|
$27 = $26 & 255;
|
|
$28 = ($input + 4) | 0;
|
|
$29 = HEAP8[$28 >> 0] | 0;
|
|
$30 = $29 & 255;
|
|
$31 = _bitshift64Shl($30 | 0, 0, 8) | 0;
|
|
$32 = tempRet0;
|
|
$33 = $31 | $27;
|
|
$34 = ($input + 5) | 0;
|
|
$35 = HEAP8[$34 >> 0] | 0;
|
|
$36 = $35 & 255;
|
|
$37 = _bitshift64Shl($36 | 0, 0, 16) | 0;
|
|
$38 = tempRet0;
|
|
$39 = $33 | $37;
|
|
$40 = $32 | $38;
|
|
$41 = ($input + 6) | 0;
|
|
$42 = HEAP8[$41 >> 0] | 0;
|
|
$43 = $42 & 255;
|
|
$44 = _bitshift64Shl($43 | 0, 0, 24) | 0;
|
|
$45 = tempRet0;
|
|
$46 = $39 | $44;
|
|
$47 = $40 | $45;
|
|
$48 = _bitshift64Lshr($46 | 0, $47 | 0, 2) | 0;
|
|
$49 = tempRet0;
|
|
$50 = $48 & 33554431;
|
|
$51 = ($output + 8) | 0;
|
|
$52 = $51;
|
|
$53 = $52;
|
|
HEAP32[$53 >> 2] = $50;
|
|
$54 = ($52 + 4) | 0;
|
|
$55 = $54;
|
|
HEAP32[$55 >> 2] = 0;
|
|
$56 = HEAP8[$41 >> 0] | 0;
|
|
$57 = $56 & 255;
|
|
$58 = ($input + 7) | 0;
|
|
$59 = HEAP8[$58 >> 0] | 0;
|
|
$60 = $59 & 255;
|
|
$61 = _bitshift64Shl($60 | 0, 0, 8) | 0;
|
|
$62 = tempRet0;
|
|
$63 = $61 | $57;
|
|
$64 = ($input + 8) | 0;
|
|
$65 = HEAP8[$64 >> 0] | 0;
|
|
$66 = $65 & 255;
|
|
$67 = _bitshift64Shl($66 | 0, 0, 16) | 0;
|
|
$68 = tempRet0;
|
|
$69 = $63 | $67;
|
|
$70 = $62 | $68;
|
|
$71 = ($input + 9) | 0;
|
|
$72 = HEAP8[$71 >> 0] | 0;
|
|
$73 = $72 & 255;
|
|
$74 = _bitshift64Shl($73 | 0, 0, 24) | 0;
|
|
$75 = tempRet0;
|
|
$76 = $69 | $74;
|
|
$77 = $70 | $75;
|
|
$78 = _bitshift64Lshr($76 | 0, $77 | 0, 3) | 0;
|
|
$79 = tempRet0;
|
|
$80 = $78 & 67108863;
|
|
$81 = ($output + 16) | 0;
|
|
$82 = $81;
|
|
$83 = $82;
|
|
HEAP32[$83 >> 2] = $80;
|
|
$84 = ($82 + 4) | 0;
|
|
$85 = $84;
|
|
HEAP32[$85 >> 2] = 0;
|
|
$86 = HEAP8[$71 >> 0] | 0;
|
|
$87 = $86 & 255;
|
|
$88 = ($input + 10) | 0;
|
|
$89 = HEAP8[$88 >> 0] | 0;
|
|
$90 = $89 & 255;
|
|
$91 = _bitshift64Shl($90 | 0, 0, 8) | 0;
|
|
$92 = tempRet0;
|
|
$93 = $91 | $87;
|
|
$94 = ($input + 11) | 0;
|
|
$95 = HEAP8[$94 >> 0] | 0;
|
|
$96 = $95 & 255;
|
|
$97 = _bitshift64Shl($96 | 0, 0, 16) | 0;
|
|
$98 = tempRet0;
|
|
$99 = $93 | $97;
|
|
$100 = $92 | $98;
|
|
$101 = ($input + 12) | 0;
|
|
$102 = HEAP8[$101 >> 0] | 0;
|
|
$103 = $102 & 255;
|
|
$104 = _bitshift64Shl($103 | 0, 0, 24) | 0;
|
|
$105 = tempRet0;
|
|
$106 = $99 | $104;
|
|
$107 = $100 | $105;
|
|
$108 = _bitshift64Lshr($106 | 0, $107 | 0, 5) | 0;
|
|
$109 = tempRet0;
|
|
$110 = $108 & 33554431;
|
|
$111 = ($output + 24) | 0;
|
|
$112 = $111;
|
|
$113 = $112;
|
|
HEAP32[$113 >> 2] = $110;
|
|
$114 = ($112 + 4) | 0;
|
|
$115 = $114;
|
|
HEAP32[$115 >> 2] = 0;
|
|
$116 = HEAP8[$101 >> 0] | 0;
|
|
$117 = $116 & 255;
|
|
$118 = ($input + 13) | 0;
|
|
$119 = HEAP8[$118 >> 0] | 0;
|
|
$120 = $119 & 255;
|
|
$121 = _bitshift64Shl($120 | 0, 0, 8) | 0;
|
|
$122 = tempRet0;
|
|
$123 = $121 | $117;
|
|
$124 = ($input + 14) | 0;
|
|
$125 = HEAP8[$124 >> 0] | 0;
|
|
$126 = $125 & 255;
|
|
$127 = _bitshift64Shl($126 | 0, 0, 16) | 0;
|
|
$128 = tempRet0;
|
|
$129 = $123 | $127;
|
|
$130 = $122 | $128;
|
|
$131 = ($input + 15) | 0;
|
|
$132 = HEAP8[$131 >> 0] | 0;
|
|
$133 = $132 & 255;
|
|
$134 = _bitshift64Shl($133 | 0, 0, 24) | 0;
|
|
$135 = tempRet0;
|
|
$136 = $129 | $134;
|
|
$137 = $130 | $135;
|
|
$138 = _bitshift64Lshr($136 | 0, $137 | 0, 6) | 0;
|
|
$139 = tempRet0;
|
|
$140 = $138 & 67108863;
|
|
$141 = ($output + 32) | 0;
|
|
$142 = $141;
|
|
$143 = $142;
|
|
HEAP32[$143 >> 2] = $140;
|
|
$144 = ($142 + 4) | 0;
|
|
$145 = $144;
|
|
HEAP32[$145 >> 2] = 0;
|
|
$146 = ($input + 16) | 0;
|
|
$147 = HEAP8[$146 >> 0] | 0;
|
|
$148 = $147 & 255;
|
|
$149 = ($input + 17) | 0;
|
|
$150 = HEAP8[$149 >> 0] | 0;
|
|
$151 = $150 & 255;
|
|
$152 = _bitshift64Shl($151 | 0, 0, 8) | 0;
|
|
$153 = tempRet0;
|
|
$154 = $152 | $148;
|
|
$155 = ($input + 18) | 0;
|
|
$156 = HEAP8[$155 >> 0] | 0;
|
|
$157 = $156 & 255;
|
|
$158 = _bitshift64Shl($157 | 0, 0, 16) | 0;
|
|
$159 = tempRet0;
|
|
$160 = $154 | $158;
|
|
$161 = $153 | $159;
|
|
$162 = ($input + 19) | 0;
|
|
$163 = HEAP8[$162 >> 0] | 0;
|
|
$164 = $163 & 255;
|
|
$165 = _bitshift64Shl($164 | 0, 0, 24) | 0;
|
|
$166 = tempRet0;
|
|
$167 = $165 & 16777216;
|
|
$168 = $160 | $167;
|
|
$169 = ($output + 40) | 0;
|
|
$170 = $169;
|
|
$171 = $170;
|
|
HEAP32[$171 >> 2] = $168;
|
|
$172 = ($170 + 4) | 0;
|
|
$173 = $172;
|
|
HEAP32[$173 >> 2] = $161;
|
|
$174 = HEAP8[$162 >> 0] | 0;
|
|
$175 = $174 & 255;
|
|
$176 = ($input + 20) | 0;
|
|
$177 = HEAP8[$176 >> 0] | 0;
|
|
$178 = $177 & 255;
|
|
$179 = _bitshift64Shl($178 | 0, 0, 8) | 0;
|
|
$180 = tempRet0;
|
|
$181 = $179 | $175;
|
|
$182 = ($input + 21) | 0;
|
|
$183 = HEAP8[$182 >> 0] | 0;
|
|
$184 = $183 & 255;
|
|
$185 = _bitshift64Shl($184 | 0, 0, 16) | 0;
|
|
$186 = tempRet0;
|
|
$187 = $181 | $185;
|
|
$188 = $180 | $186;
|
|
$189 = ($input + 22) | 0;
|
|
$190 = HEAP8[$189 >> 0] | 0;
|
|
$191 = $190 & 255;
|
|
$192 = _bitshift64Shl($191 | 0, 0, 24) | 0;
|
|
$193 = tempRet0;
|
|
$194 = $187 | $192;
|
|
$195 = $188 | $193;
|
|
$196 = _bitshift64Lshr($194 | 0, $195 | 0, 1) | 0;
|
|
$197 = tempRet0;
|
|
$198 = $196 & 67108863;
|
|
$199 = ($output + 48) | 0;
|
|
$200 = $199;
|
|
$201 = $200;
|
|
HEAP32[$201 >> 2] = $198;
|
|
$202 = ($200 + 4) | 0;
|
|
$203 = $202;
|
|
HEAP32[$203 >> 2] = 0;
|
|
$204 = HEAP8[$189 >> 0] | 0;
|
|
$205 = $204 & 255;
|
|
$206 = ($input + 23) | 0;
|
|
$207 = HEAP8[$206 >> 0] | 0;
|
|
$208 = $207 & 255;
|
|
$209 = _bitshift64Shl($208 | 0, 0, 8) | 0;
|
|
$210 = tempRet0;
|
|
$211 = $209 | $205;
|
|
$212 = ($input + 24) | 0;
|
|
$213 = HEAP8[$212 >> 0] | 0;
|
|
$214 = $213 & 255;
|
|
$215 = _bitshift64Shl($214 | 0, 0, 16) | 0;
|
|
$216 = tempRet0;
|
|
$217 = $211 | $215;
|
|
$218 = $210 | $216;
|
|
$219 = ($input + 25) | 0;
|
|
$220 = HEAP8[$219 >> 0] | 0;
|
|
$221 = $220 & 255;
|
|
$222 = _bitshift64Shl($221 | 0, 0, 24) | 0;
|
|
$223 = tempRet0;
|
|
$224 = $217 | $222;
|
|
$225 = $218 | $223;
|
|
$226 = _bitshift64Lshr($224 | 0, $225 | 0, 3) | 0;
|
|
$227 = tempRet0;
|
|
$228 = $226 & 33554431;
|
|
$229 = ($output + 56) | 0;
|
|
$230 = $229;
|
|
$231 = $230;
|
|
HEAP32[$231 >> 2] = $228;
|
|
$232 = ($230 + 4) | 0;
|
|
$233 = $232;
|
|
HEAP32[$233 >> 2] = 0;
|
|
$234 = HEAP8[$219 >> 0] | 0;
|
|
$235 = $234 & 255;
|
|
$236 = ($input + 26) | 0;
|
|
$237 = HEAP8[$236 >> 0] | 0;
|
|
$238 = $237 & 255;
|
|
$239 = _bitshift64Shl($238 | 0, 0, 8) | 0;
|
|
$240 = tempRet0;
|
|
$241 = $239 | $235;
|
|
$242 = ($input + 27) | 0;
|
|
$243 = HEAP8[$242 >> 0] | 0;
|
|
$244 = $243 & 255;
|
|
$245 = _bitshift64Shl($244 | 0, 0, 16) | 0;
|
|
$246 = tempRet0;
|
|
$247 = $241 | $245;
|
|
$248 = $240 | $246;
|
|
$249 = ($input + 28) | 0;
|
|
$250 = HEAP8[$249 >> 0] | 0;
|
|
$251 = $250 & 255;
|
|
$252 = _bitshift64Shl($251 | 0, 0, 24) | 0;
|
|
$253 = tempRet0;
|
|
$254 = $247 | $252;
|
|
$255 = $248 | $253;
|
|
$256 = _bitshift64Lshr($254 | 0, $255 | 0, 4) | 0;
|
|
$257 = tempRet0;
|
|
$258 = $256 & 67108863;
|
|
$259 = ($output + 64) | 0;
|
|
$260 = $259;
|
|
$261 = $260;
|
|
HEAP32[$261 >> 2] = $258;
|
|
$262 = ($260 + 4) | 0;
|
|
$263 = $262;
|
|
HEAP32[$263 >> 2] = 0;
|
|
$264 = HEAP8[$249 >> 0] | 0;
|
|
$265 = $264 & 255;
|
|
$266 = ($input + 29) | 0;
|
|
$267 = HEAP8[$266 >> 0] | 0;
|
|
$268 = $267 & 255;
|
|
$269 = _bitshift64Shl($268 | 0, 0, 8) | 0;
|
|
$270 = tempRet0;
|
|
$271 = $269 | $265;
|
|
$272 = ($input + 30) | 0;
|
|
$273 = HEAP8[$272 >> 0] | 0;
|
|
$274 = $273 & 255;
|
|
$275 = _bitshift64Shl($274 | 0, 0, 16) | 0;
|
|
$276 = tempRet0;
|
|
$277 = $271 | $275;
|
|
$278 = $270 | $276;
|
|
$279 = ($input + 31) | 0;
|
|
$280 = HEAP8[$279 >> 0] | 0;
|
|
$281 = $280 & 255;
|
|
$282 = _bitshift64Shl($281 | 0, 0, 24) | 0;
|
|
$283 = tempRet0;
|
|
$284 = $277 | $282;
|
|
$285 = $278 | $283;
|
|
$286 = _bitshift64Lshr($284 | 0, $285 | 0, 6) | 0;
|
|
$287 = tempRet0;
|
|
$288 = $286 & 33554431;
|
|
$289 = ($output + 72) | 0;
|
|
$290 = $289;
|
|
$291 = $290;
|
|
HEAP32[$291 >> 2] = $288;
|
|
$292 = ($290 + 4) | 0;
|
|
$293 = $292;
|
|
HEAP32[$293 >> 2] = 0;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _cmult($resultx, $resultz, $n, $q) {
|
|
$resultx = $resultx | 0;
|
|
$resultz = $resultz | 0;
|
|
$n = $n | 0;
|
|
$q = $q | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$3 = 0,
|
|
$4 = 0;
|
|
var $5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
$a = 0,
|
|
$b = 0,
|
|
$byte$09 = 0,
|
|
$c = 0,
|
|
$d = 0,
|
|
$e = 0,
|
|
$exitcond = 0,
|
|
$exitcond20 = 0,
|
|
$f = 0,
|
|
$g = 0,
|
|
$h = 0,
|
|
$i$018 = 0,
|
|
$j$08 = 0,
|
|
$nqpqx$019 = 0,
|
|
$nqpqx$110 = 0;
|
|
var $nqpqx$110$phi = 0,
|
|
$nqpqx2$014 = 0,
|
|
$nqpqx2$14 = 0,
|
|
$nqpqx2$14$phi = 0,
|
|
$nqpqz$013 = 0,
|
|
$nqpqz$13 = 0,
|
|
$nqpqz$13$phi = 0,
|
|
$nqpqz2$015 = 0,
|
|
$nqpqz2$15 = 0,
|
|
$nqpqz2$15$phi = 0,
|
|
$nqx$011 = 0,
|
|
$nqx$11 = 0,
|
|
$nqx$11$phi = 0,
|
|
$nqx2$016 = 0,
|
|
$nqx2$16 = 0,
|
|
$nqx2$16$phi = 0,
|
|
$nqz$012 = 0,
|
|
$nqz$12 = 0,
|
|
$nqz$12$phi = 0,
|
|
$nqz2$017 = 0;
|
|
var $nqz2$17 = 0,
|
|
$nqz2$17$phi = 0,
|
|
dest = 0,
|
|
label = 0,
|
|
sp = 0,
|
|
src = 0,
|
|
stop = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 1216) | 0;
|
|
$a = (sp + 1064) | 0;
|
|
$b = (sp + 912) | 0;
|
|
$c = (sp + 760) | 0;
|
|
$d = (sp + 608) | 0;
|
|
$e = (sp + 456) | 0;
|
|
$f = (sp + 304) | 0;
|
|
$g = (sp + 152) | 0;
|
|
$h = sp;
|
|
_memset($a | 0, 0, 152) | 0;
|
|
_memset($b | 0, 0, 152) | 0;
|
|
$0 = $b;
|
|
$1 = $0;
|
|
HEAP32[$1 >> 2] = 1;
|
|
$2 = ($0 + 4) | 0;
|
|
$3 = $2;
|
|
HEAP32[$3 >> 2] = 0;
|
|
_memset($c | 0, 0, 152) | 0;
|
|
$4 = $c;
|
|
$5 = $4;
|
|
HEAP32[$5 >> 2] = 1;
|
|
$6 = ($4 + 4) | 0;
|
|
$7 = $6;
|
|
HEAP32[$7 >> 2] = 0;
|
|
_memset($d | 0, 0, 152) | 0;
|
|
_memset($e | 0, 0, 152) | 0;
|
|
_memset($f | 0, 0, 152) | 0;
|
|
$8 = $f;
|
|
$9 = $8;
|
|
HEAP32[$9 >> 2] = 1;
|
|
$10 = ($8 + 4) | 0;
|
|
$11 = $10;
|
|
HEAP32[$11 >> 2] = 0;
|
|
_memset($g | 0, 0, 152) | 0;
|
|
_memset($h | 0, 0, 152) | 0;
|
|
$12 = $h;
|
|
$13 = $12;
|
|
HEAP32[$13 >> 2] = 1;
|
|
$14 = ($12 + 4) | 0;
|
|
$15 = $14;
|
|
HEAP32[$15 >> 2] = 0;
|
|
dest = ($a + 0) | 0;
|
|
src = ($q + 0) | 0;
|
|
stop = (dest + 80) | 0;
|
|
do {
|
|
HEAP32[dest >> 2] = HEAP32[src >> 2] | 0;
|
|
dest = (dest + 4) | 0;
|
|
src = (src + 4) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
$i$018 = 0;
|
|
$nqpqx$019 = $a;
|
|
$nqpqx2$014 = $e;
|
|
$nqpqz$013 = $b;
|
|
$nqpqz2$015 = $f;
|
|
$nqx$011 = $c;
|
|
$nqx2$016 = $g;
|
|
$nqz$012 = $d;
|
|
$nqz2$017 = $h;
|
|
while (1) {
|
|
$16 = (31 - $i$018) | 0;
|
|
$17 = ($n + $16) | 0;
|
|
$18 = HEAP8[$17 >> 0] | 0;
|
|
$byte$09 = $18;
|
|
$j$08 = 0;
|
|
$nqpqx$110 = $nqpqx$019;
|
|
$nqpqx2$14 = $nqpqx2$014;
|
|
$nqpqz$13 = $nqpqz$013;
|
|
$nqpqz2$15 = $nqpqz2$015;
|
|
$nqx$11 = $nqx$011;
|
|
$nqx2$16 = $nqx2$016;
|
|
$nqz$12 = $nqz$012;
|
|
$nqz2$17 = $nqz2$017;
|
|
while (1) {
|
|
$19 = $byte$09 & 255;
|
|
$20 = $19 >>> 7;
|
|
_swap_conditional($nqx$11, $nqpqx$110, $20, 0);
|
|
_swap_conditional($nqz$12, $nqpqz$13, $20, 0);
|
|
_fmonty(
|
|
$nqx2$16,
|
|
$nqz2$17,
|
|
$nqpqx2$14,
|
|
$nqpqz2$15,
|
|
$nqx$11,
|
|
$nqz$12,
|
|
$nqpqx$110,
|
|
$nqpqz$13,
|
|
$q
|
|
);
|
|
_swap_conditional($nqx2$16, $nqpqx2$14, $20, 0);
|
|
_swap_conditional($nqz2$17, $nqpqz2$15, $20, 0);
|
|
$21 = $19 << 1;
|
|
$22 = $21 & 255;
|
|
$23 = ($j$08 + 1) | 0;
|
|
$exitcond = ($23 | 0) == 8;
|
|
if ($exitcond) {
|
|
break;
|
|
} else {
|
|
$nqz2$17$phi = $nqz$12;
|
|
$nqz$12$phi = $nqz2$17;
|
|
$nqx2$16$phi = $nqx$11;
|
|
$nqx$11$phi = $nqx2$16;
|
|
$nqpqz2$15$phi = $nqpqz$13;
|
|
$nqpqz$13$phi = $nqpqz2$15;
|
|
$nqpqx2$14$phi = $nqpqx$110;
|
|
$nqpqx$110$phi = $nqpqx2$14;
|
|
$byte$09 = $22;
|
|
$j$08 = $23;
|
|
$nqz2$17 = $nqz2$17$phi;
|
|
$nqz$12 = $nqz$12$phi;
|
|
$nqx2$16 = $nqx2$16$phi;
|
|
$nqx$11 = $nqx$11$phi;
|
|
$nqpqz2$15 = $nqpqz2$15$phi;
|
|
$nqpqz$13 = $nqpqz$13$phi;
|
|
$nqpqx2$14 = $nqpqx2$14$phi;
|
|
$nqpqx$110 = $nqpqx$110$phi;
|
|
}
|
|
}
|
|
$24 = ($i$018 + 1) | 0;
|
|
$exitcond20 = ($24 | 0) == 32;
|
|
if ($exitcond20) {
|
|
break;
|
|
} else {
|
|
$i$018 = $24;
|
|
$nqpqx$019 = $nqpqx2$14;
|
|
$nqpqx2$014 = $nqpqx$110;
|
|
$nqpqz$013 = $nqpqz2$15;
|
|
$nqpqz2$015 = $nqpqz$13;
|
|
$nqx$011 = $nqx2$16;
|
|
$nqx2$016 = $nqx$11;
|
|
$nqz$012 = $nqz2$17;
|
|
$nqz2$017 = $nqz$12;
|
|
}
|
|
}
|
|
dest = ($resultx + 0) | 0;
|
|
src = ($nqx2$16 + 0) | 0;
|
|
stop = (dest + 80) | 0;
|
|
do {
|
|
HEAP32[dest >> 2] = HEAP32[src >> 2] | 0;
|
|
dest = (dest + 4) | 0;
|
|
src = (src + 4) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
dest = ($resultz + 0) | 0;
|
|
src = ($nqz2$17 + 0) | 0;
|
|
stop = (dest + 80) | 0;
|
|
do {
|
|
HEAP32[dest >> 2] = HEAP32[src >> 2] | 0;
|
|
dest = (dest + 4) | 0;
|
|
src = (src + 4) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crecip($out, $z) {
|
|
$out = $out | 0;
|
|
$z = $z | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$i$33 = 0,
|
|
$i$42 = 0,
|
|
$i$51 = 0,
|
|
$t0 = 0,
|
|
$t1 = 0,
|
|
$z11 = 0,
|
|
$z2 = 0,
|
|
$z2_100_0 = 0,
|
|
$z2_10_0 = 0,
|
|
$z2_20_0 = 0,
|
|
$z2_50_0 = 0,
|
|
$z2_5_0 = 0,
|
|
$z9 = 0,
|
|
label = 0;
|
|
var sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 800) | 0;
|
|
$z2 = (sp + 720) | 0;
|
|
$z9 = (sp + 640) | 0;
|
|
$z11 = (sp + 560) | 0;
|
|
$z2_5_0 = (sp + 480) | 0;
|
|
$z2_10_0 = (sp + 400) | 0;
|
|
$z2_20_0 = (sp + 320) | 0;
|
|
$z2_50_0 = (sp + 240) | 0;
|
|
$z2_100_0 = (sp + 160) | 0;
|
|
$t0 = (sp + 80) | 0;
|
|
$t1 = sp;
|
|
_fsquare($z2, $z);
|
|
_fsquare($t1, $z2);
|
|
_fsquare($t0, $t1);
|
|
_fmul($z9, $t0, $z);
|
|
_fmul($z11, $z9, $z2);
|
|
_fsquare($t0, $z11);
|
|
_fmul($z2_5_0, $t0, $z9);
|
|
_fsquare($t0, $z2_5_0);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fmul($z2_10_0, $t0, $z2_5_0);
|
|
_fsquare($t0, $z2_10_0);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fmul($z2_20_0, $t1, $z2_10_0);
|
|
_fsquare($t0, $z2_20_0);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fmul($t0, $t1, $z2_20_0);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fmul($z2_50_0, $t0, $z2_10_0);
|
|
_fsquare($t0, $z2_50_0);
|
|
_fsquare($t1, $t0);
|
|
$i$33 = 2;
|
|
while (1) {
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
$0 = ($i$33 + 2) | 0;
|
|
$1 = ($0 | 0) < 50;
|
|
if ($1) {
|
|
$i$33 = $0;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
_fmul($z2_100_0, $t1, $z2_50_0);
|
|
_fsquare($t1, $z2_100_0);
|
|
_fsquare($t0, $t1);
|
|
$i$42 = 2;
|
|
while (1) {
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
$2 = ($i$42 + 2) | 0;
|
|
$3 = ($2 | 0) < 100;
|
|
if ($3) {
|
|
$i$42 = $2;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
_fmul($t1, $t0, $z2_100_0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
$i$51 = 2;
|
|
while (1) {
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
$4 = ($i$51 + 2) | 0;
|
|
$5 = ($4 | 0) < 50;
|
|
if ($5) {
|
|
$i$51 = $4;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
_fmul($t0, $t1, $z2_50_0);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fsquare($t0, $t1);
|
|
_fsquare($t1, $t0);
|
|
_fmul($out, $t1, $z11);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _fmul($output, $in, $in2) {
|
|
$output = $output | 0;
|
|
$in = $in | 0;
|
|
$in2 = $in2 | 0;
|
|
var $t = 0,
|
|
dest = 0,
|
|
label = 0,
|
|
sp = 0,
|
|
src = 0,
|
|
stop = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 160) | 0;
|
|
$t = sp;
|
|
_fproduct($t, $in, $in2);
|
|
_freduce_degree($t);
|
|
_freduce_coefficients($t);
|
|
dest = ($output + 0) | 0;
|
|
src = ($t + 0) | 0;
|
|
stop = (dest + 80) | 0;
|
|
do {
|
|
HEAP32[dest >> 2] = HEAP32[src >> 2] | 0;
|
|
dest = (dest + 4) | 0;
|
|
src = (src + 4) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _fcontract($output, $input_limbs) {
|
|
$output = $output | 0;
|
|
$input_limbs = $input_limbs | 0;
|
|
var $$pn = 0,
|
|
$0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$101 = 0,
|
|
$102 = 0,
|
|
$103 = 0,
|
|
$104 = 0,
|
|
$105 = 0,
|
|
$106 = 0,
|
|
$107 = 0,
|
|
$108 = 0,
|
|
$109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0;
|
|
var $115 = 0,
|
|
$116 = 0,
|
|
$117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0,
|
|
$124 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$131 = 0,
|
|
$132 = 0;
|
|
var $133 = 0,
|
|
$134 = 0,
|
|
$135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$138 = 0,
|
|
$139 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$141 = 0,
|
|
$142 = 0,
|
|
$143 = 0,
|
|
$144 = 0,
|
|
$145 = 0,
|
|
$146 = 0,
|
|
$147 = 0,
|
|
$148 = 0,
|
|
$149 = 0,
|
|
$15 = 0,
|
|
$150 = 0;
|
|
var $151 = 0,
|
|
$152 = 0,
|
|
$153 = 0,
|
|
$154 = 0,
|
|
$155 = 0,
|
|
$156 = 0,
|
|
$157 = 0,
|
|
$158 = 0,
|
|
$159 = 0,
|
|
$16 = 0,
|
|
$160 = 0,
|
|
$161 = 0,
|
|
$162 = 0,
|
|
$163 = 0,
|
|
$164 = 0,
|
|
$165 = 0,
|
|
$166 = 0,
|
|
$167 = 0,
|
|
$168 = 0,
|
|
$169 = 0;
|
|
var $17 = 0,
|
|
$170 = 0,
|
|
$171 = 0,
|
|
$172 = 0,
|
|
$173 = 0,
|
|
$174 = 0,
|
|
$175 = 0,
|
|
$176 = 0,
|
|
$177 = 0,
|
|
$178 = 0,
|
|
$179 = 0,
|
|
$18 = 0,
|
|
$180 = 0,
|
|
$181 = 0,
|
|
$182 = 0,
|
|
$183 = 0,
|
|
$184 = 0,
|
|
$185 = 0,
|
|
$186 = 0,
|
|
$187 = 0;
|
|
var $188 = 0,
|
|
$189 = 0,
|
|
$19 = 0,
|
|
$190 = 0,
|
|
$191 = 0,
|
|
$192 = 0,
|
|
$193 = 0,
|
|
$194 = 0,
|
|
$195 = 0,
|
|
$196 = 0,
|
|
$197 = 0,
|
|
$198 = 0,
|
|
$199 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$200 = 0,
|
|
$201 = 0,
|
|
$202 = 0,
|
|
$203 = 0,
|
|
$204 = 0;
|
|
var $205 = 0,
|
|
$206 = 0,
|
|
$207 = 0,
|
|
$208 = 0,
|
|
$209 = 0,
|
|
$21 = 0,
|
|
$210 = 0,
|
|
$211 = 0,
|
|
$212 = 0,
|
|
$213 = 0,
|
|
$214 = 0,
|
|
$215 = 0,
|
|
$216 = 0,
|
|
$217 = 0,
|
|
$218 = 0,
|
|
$219 = 0,
|
|
$22 = 0,
|
|
$220 = 0,
|
|
$221 = 0,
|
|
$222 = 0;
|
|
var $223 = 0,
|
|
$224 = 0,
|
|
$225 = 0,
|
|
$226 = 0,
|
|
$227 = 0,
|
|
$228 = 0,
|
|
$229 = 0,
|
|
$23 = 0,
|
|
$230 = 0,
|
|
$231 = 0,
|
|
$232 = 0,
|
|
$233 = 0,
|
|
$234 = 0,
|
|
$235 = 0,
|
|
$236 = 0,
|
|
$237 = 0,
|
|
$238 = 0,
|
|
$239 = 0,
|
|
$24 = 0,
|
|
$240 = 0;
|
|
var $241 = 0,
|
|
$242 = 0,
|
|
$243 = 0,
|
|
$244 = 0,
|
|
$245 = 0,
|
|
$246 = 0,
|
|
$247 = 0,
|
|
$248 = 0,
|
|
$249 = 0,
|
|
$25 = 0,
|
|
$250 = 0,
|
|
$251 = 0,
|
|
$252 = 0,
|
|
$253 = 0,
|
|
$254 = 0,
|
|
$255 = 0,
|
|
$256 = 0,
|
|
$257 = 0,
|
|
$258 = 0,
|
|
$259 = 0;
|
|
var $26 = 0,
|
|
$260 = 0,
|
|
$261 = 0,
|
|
$262 = 0,
|
|
$263 = 0,
|
|
$264 = 0,
|
|
$265 = 0,
|
|
$266 = 0,
|
|
$267 = 0,
|
|
$268 = 0,
|
|
$269 = 0,
|
|
$27 = 0,
|
|
$270 = 0,
|
|
$271 = 0,
|
|
$272 = 0,
|
|
$273 = 0,
|
|
$274 = 0,
|
|
$275 = 0,
|
|
$276 = 0,
|
|
$277 = 0;
|
|
var $278 = 0,
|
|
$279 = 0,
|
|
$28 = 0,
|
|
$280 = 0,
|
|
$281 = 0,
|
|
$282 = 0,
|
|
$283 = 0,
|
|
$284 = 0,
|
|
$285 = 0,
|
|
$286 = 0,
|
|
$287 = 0,
|
|
$288 = 0,
|
|
$289 = 0,
|
|
$29 = 0,
|
|
$290 = 0,
|
|
$291 = 0,
|
|
$292 = 0,
|
|
$293 = 0,
|
|
$294 = 0,
|
|
$295 = 0;
|
|
var $296 = 0,
|
|
$297 = 0,
|
|
$298 = 0,
|
|
$299 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$300 = 0,
|
|
$301 = 0,
|
|
$302 = 0,
|
|
$303 = 0,
|
|
$304 = 0,
|
|
$305 = 0,
|
|
$306 = 0,
|
|
$307 = 0,
|
|
$308 = 0,
|
|
$309 = 0,
|
|
$31 = 0,
|
|
$310 = 0,
|
|
$311 = 0,
|
|
$312 = 0;
|
|
var $313 = 0,
|
|
$314 = 0,
|
|
$315 = 0,
|
|
$316 = 0,
|
|
$317 = 0,
|
|
$318 = 0,
|
|
$319 = 0,
|
|
$32 = 0,
|
|
$320 = 0,
|
|
$321 = 0,
|
|
$322 = 0,
|
|
$323 = 0,
|
|
$324 = 0,
|
|
$325 = 0,
|
|
$326 = 0,
|
|
$327 = 0,
|
|
$328 = 0,
|
|
$329 = 0,
|
|
$33 = 0,
|
|
$330 = 0;
|
|
var $331 = 0,
|
|
$332 = 0,
|
|
$333 = 0,
|
|
$334 = 0,
|
|
$335 = 0,
|
|
$336 = 0,
|
|
$337 = 0,
|
|
$338 = 0,
|
|
$339 = 0,
|
|
$34 = 0,
|
|
$340 = 0,
|
|
$341 = 0,
|
|
$342 = 0,
|
|
$343 = 0,
|
|
$344 = 0,
|
|
$345 = 0,
|
|
$346 = 0,
|
|
$347 = 0,
|
|
$348 = 0,
|
|
$349 = 0;
|
|
var $35 = 0,
|
|
$350 = 0,
|
|
$351 = 0,
|
|
$352 = 0,
|
|
$353 = 0,
|
|
$354 = 0,
|
|
$355 = 0,
|
|
$356 = 0,
|
|
$357 = 0,
|
|
$358 = 0,
|
|
$359 = 0,
|
|
$36 = 0,
|
|
$360 = 0,
|
|
$361 = 0,
|
|
$362 = 0,
|
|
$363 = 0,
|
|
$364 = 0,
|
|
$365 = 0,
|
|
$366 = 0,
|
|
$367 = 0;
|
|
var $368 = 0,
|
|
$369 = 0,
|
|
$37 = 0,
|
|
$370 = 0,
|
|
$371 = 0,
|
|
$372 = 0,
|
|
$373 = 0,
|
|
$374 = 0,
|
|
$375 = 0,
|
|
$376 = 0,
|
|
$377 = 0,
|
|
$378 = 0,
|
|
$379 = 0,
|
|
$38 = 0,
|
|
$380 = 0,
|
|
$381 = 0,
|
|
$382 = 0,
|
|
$383 = 0,
|
|
$384 = 0,
|
|
$385 = 0;
|
|
var $386 = 0,
|
|
$387 = 0,
|
|
$388 = 0,
|
|
$389 = 0,
|
|
$39 = 0,
|
|
$390 = 0,
|
|
$391 = 0,
|
|
$392 = 0,
|
|
$393 = 0,
|
|
$394 = 0,
|
|
$395 = 0,
|
|
$396 = 0,
|
|
$397 = 0,
|
|
$398 = 0,
|
|
$399 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$400 = 0,
|
|
$401 = 0,
|
|
$402 = 0;
|
|
var $403 = 0,
|
|
$404 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0,
|
|
$45 = 0,
|
|
$46 = 0,
|
|
$47 = 0,
|
|
$48 = 0,
|
|
$49 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$51 = 0,
|
|
$52 = 0,
|
|
$53 = 0,
|
|
$54 = 0,
|
|
$55 = 0,
|
|
$56 = 0,
|
|
$57 = 0;
|
|
var $58 = 0,
|
|
$59 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$61 = 0,
|
|
$62 = 0,
|
|
$63 = 0,
|
|
$64 = 0,
|
|
$65 = 0,
|
|
$66 = 0,
|
|
$67 = 0,
|
|
$68 = 0,
|
|
$69 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$71 = 0,
|
|
$72 = 0,
|
|
$73 = 0,
|
|
$74 = 0,
|
|
$75 = 0;
|
|
var $76 = 0,
|
|
$77 = 0,
|
|
$78 = 0,
|
|
$79 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$81 = 0,
|
|
$82 = 0,
|
|
$83 = 0,
|
|
$84 = 0,
|
|
$85 = 0,
|
|
$86 = 0,
|
|
$87 = 0,
|
|
$88 = 0,
|
|
$89 = 0,
|
|
$9 = 0,
|
|
$90 = 0,
|
|
$91 = 0,
|
|
$92 = 0,
|
|
$93 = 0;
|
|
var $94 = 0,
|
|
$95 = 0,
|
|
$96 = 0,
|
|
$97 = 0,
|
|
$98 = 0,
|
|
$99 = 0,
|
|
$exitcond = 0,
|
|
$exitcond11 = 0,
|
|
$exitcond11$1 = 0,
|
|
$exitcond14 = 0,
|
|
$exitcond14$1 = 0,
|
|
$i$17 = 0,
|
|
$i$17$1 = 0,
|
|
$i$24 = 0,
|
|
$i$24$1 = 0,
|
|
$i$33 = 0,
|
|
$input = 0,
|
|
$mask$02 = 0,
|
|
$mask$1 = 0,
|
|
label = 0;
|
|
var sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 48) | 0;
|
|
$input = sp;
|
|
$0 = $input_limbs;
|
|
$1 = $0;
|
|
$2 = HEAP32[$1 >> 2] | 0;
|
|
$3 = ($0 + 4) | 0;
|
|
$4 = $3;
|
|
$5 = HEAP32[$4 >> 2] | 0;
|
|
HEAP32[$input >> 2] = $2;
|
|
$6 = ($input_limbs + 8) | 0;
|
|
$7 = $6;
|
|
$8 = $7;
|
|
$9 = HEAP32[$8 >> 2] | 0;
|
|
$10 = ($7 + 4) | 0;
|
|
$11 = $10;
|
|
$12 = HEAP32[$11 >> 2] | 0;
|
|
$13 = ($input + 4) | 0;
|
|
HEAP32[$13 >> 2] = $9;
|
|
$14 = ($input_limbs + 16) | 0;
|
|
$15 = $14;
|
|
$16 = $15;
|
|
$17 = HEAP32[$16 >> 2] | 0;
|
|
$18 = ($15 + 4) | 0;
|
|
$19 = $18;
|
|
$20 = HEAP32[$19 >> 2] | 0;
|
|
$21 = ($input + 8) | 0;
|
|
HEAP32[$21 >> 2] = $17;
|
|
$22 = ($input_limbs + 24) | 0;
|
|
$23 = $22;
|
|
$24 = $23;
|
|
$25 = HEAP32[$24 >> 2] | 0;
|
|
$26 = ($23 + 4) | 0;
|
|
$27 = $26;
|
|
$28 = HEAP32[$27 >> 2] | 0;
|
|
$29 = ($input + 12) | 0;
|
|
HEAP32[$29 >> 2] = $25;
|
|
$30 = ($input_limbs + 32) | 0;
|
|
$31 = $30;
|
|
$32 = $31;
|
|
$33 = HEAP32[$32 >> 2] | 0;
|
|
$34 = ($31 + 4) | 0;
|
|
$35 = $34;
|
|
$36 = HEAP32[$35 >> 2] | 0;
|
|
$37 = ($input + 16) | 0;
|
|
HEAP32[$37 >> 2] = $33;
|
|
$38 = ($input_limbs + 40) | 0;
|
|
$39 = $38;
|
|
$40 = $39;
|
|
$41 = HEAP32[$40 >> 2] | 0;
|
|
$42 = ($39 + 4) | 0;
|
|
$43 = $42;
|
|
$44 = HEAP32[$43 >> 2] | 0;
|
|
$45 = ($input + 20) | 0;
|
|
HEAP32[$45 >> 2] = $41;
|
|
$46 = ($input_limbs + 48) | 0;
|
|
$47 = $46;
|
|
$48 = $47;
|
|
$49 = HEAP32[$48 >> 2] | 0;
|
|
$50 = ($47 + 4) | 0;
|
|
$51 = $50;
|
|
$52 = HEAP32[$51 >> 2] | 0;
|
|
$53 = ($input + 24) | 0;
|
|
HEAP32[$53 >> 2] = $49;
|
|
$54 = ($input_limbs + 56) | 0;
|
|
$55 = $54;
|
|
$56 = $55;
|
|
$57 = HEAP32[$56 >> 2] | 0;
|
|
$58 = ($55 + 4) | 0;
|
|
$59 = $58;
|
|
$60 = HEAP32[$59 >> 2] | 0;
|
|
$61 = ($input + 28) | 0;
|
|
HEAP32[$61 >> 2] = $57;
|
|
$62 = ($input_limbs + 64) | 0;
|
|
$63 = $62;
|
|
$64 = $63;
|
|
$65 = HEAP32[$64 >> 2] | 0;
|
|
$66 = ($63 + 4) | 0;
|
|
$67 = $66;
|
|
$68 = HEAP32[$67 >> 2] | 0;
|
|
$69 = ($input + 32) | 0;
|
|
HEAP32[$69 >> 2] = $65;
|
|
$70 = ($input_limbs + 72) | 0;
|
|
$71 = $70;
|
|
$72 = $71;
|
|
$73 = HEAP32[$72 >> 2] | 0;
|
|
$74 = ($71 + 4) | 0;
|
|
$75 = $74;
|
|
$76 = HEAP32[$75 >> 2] | 0;
|
|
$77 = ($input + 36) | 0;
|
|
HEAP32[$77 >> 2] = $73;
|
|
$78 = ($input + 36) | 0;
|
|
$i$17 = 0;
|
|
while (1) {
|
|
$79 = $i$17 & 1;
|
|
$80 = ($79 | 0) == 0;
|
|
$81 = ($input + ($i$17 << 2)) | 0;
|
|
$82 = HEAP32[$81 >> 2] | 0;
|
|
$83 = $82 >> 31;
|
|
$84 = $83 & $82;
|
|
if ($80) {
|
|
$92 = $84 >> 26;
|
|
$93 = Math_imul($92, -67108864) | 0;
|
|
$94 = ($93 + $82) | 0;
|
|
HEAP32[$81 >> 2] = $94;
|
|
$95 = ($i$17 + 1) | 0;
|
|
$96 = ($input + ($95 << 2)) | 0;
|
|
$97 = HEAP32[$96 >> 2] | 0;
|
|
$98 = ($97 + $92) | 0;
|
|
HEAP32[$96 >> 2] = $98;
|
|
} else {
|
|
$85 = $84 >> 25;
|
|
$86 = Math_imul($85, -33554432) | 0;
|
|
$87 = ($86 + $82) | 0;
|
|
HEAP32[$81 >> 2] = $87;
|
|
$88 = ($i$17 + 1) | 0;
|
|
$89 = ($input + ($88 << 2)) | 0;
|
|
$90 = HEAP32[$89 >> 2] | 0;
|
|
$91 = ($90 + $85) | 0;
|
|
HEAP32[$89 >> 2] = $91;
|
|
}
|
|
$99 = ($i$17 + 1) | 0;
|
|
$exitcond14 = ($99 | 0) == 9;
|
|
if ($exitcond14) {
|
|
break;
|
|
} else {
|
|
$i$17 = $99;
|
|
}
|
|
}
|
|
$100 = HEAP32[$78 >> 2] | 0;
|
|
$101 = $100 >> 31;
|
|
$102 = $101 & $100;
|
|
$103 = $102 >> 25;
|
|
$104 = Math_imul($103, -33554432) | 0;
|
|
$105 = ($104 + $100) | 0;
|
|
HEAP32[$78 >> 2] = $105;
|
|
$106 = HEAP32[$input >> 2] | 0;
|
|
$107 = ($103 * 19) | 0;
|
|
$108 = ($107 + $106) | 0;
|
|
HEAP32[$input >> 2] = $108;
|
|
$i$17$1 = 0;
|
|
while (1) {
|
|
$384 = $i$17$1 & 1;
|
|
$385 = ($384 | 0) == 0;
|
|
$386 = ($input + ($i$17$1 << 2)) | 0;
|
|
$387 = HEAP32[$386 >> 2] | 0;
|
|
$388 = $387 >> 31;
|
|
$389 = $388 & $387;
|
|
if ($385) {
|
|
$397 = $389 >> 26;
|
|
$398 = Math_imul($397, -67108864) | 0;
|
|
$399 = ($398 + $387) | 0;
|
|
HEAP32[$386 >> 2] = $399;
|
|
$400 = ($i$17$1 + 1) | 0;
|
|
$401 = ($input + ($400 << 2)) | 0;
|
|
$402 = HEAP32[$401 >> 2] | 0;
|
|
$403 = ($402 + $397) | 0;
|
|
HEAP32[$401 >> 2] = $403;
|
|
} else {
|
|
$390 = $389 >> 25;
|
|
$391 = Math_imul($390, -33554432) | 0;
|
|
$392 = ($391 + $387) | 0;
|
|
HEAP32[$386 >> 2] = $392;
|
|
$393 = ($i$17$1 + 1) | 0;
|
|
$394 = ($input + ($393 << 2)) | 0;
|
|
$395 = HEAP32[$394 >> 2] | 0;
|
|
$396 = ($395 + $390) | 0;
|
|
HEAP32[$394 >> 2] = $396;
|
|
}
|
|
$404 = ($i$17$1 + 1) | 0;
|
|
$exitcond14$1 = ($404 | 0) == 9;
|
|
if ($exitcond14$1) {
|
|
break;
|
|
} else {
|
|
$i$17$1 = $404;
|
|
}
|
|
}
|
|
$109 = HEAP32[$78 >> 2] | 0;
|
|
$110 = $109 >> 31;
|
|
$111 = $110 & $109;
|
|
$112 = $111 >> 25;
|
|
$113 = Math_imul($112, -33554432) | 0;
|
|
$114 = ($113 + $109) | 0;
|
|
HEAP32[$78 >> 2] = $114;
|
|
$115 = HEAP32[$input >> 2] | 0;
|
|
$116 = ($112 * 19) | 0;
|
|
$117 = ($116 + $115) | 0;
|
|
$118 = $117 >> 31;
|
|
$119 = $118 & $117;
|
|
$120 = $119 >> 26;
|
|
$121 = Math_imul($120, -67108864) | 0;
|
|
$122 = ($121 + $117) | 0;
|
|
HEAP32[$input >> 2] = $122;
|
|
$123 = ($input + 4) | 0;
|
|
$124 = HEAP32[$123 >> 2] | 0;
|
|
$125 = ($120 + $124) | 0;
|
|
HEAP32[$123 >> 2] = $125;
|
|
$126 = ($input + 36) | 0;
|
|
$i$24 = 0;
|
|
while (1) {
|
|
$127 = $i$24 & 1;
|
|
$128 = ($127 | 0) == 0;
|
|
$129 = ($input + ($i$24 << 2)) | 0;
|
|
$130 = HEAP32[$129 >> 2] | 0;
|
|
if ($128) {
|
|
$137 = $130 >> 26;
|
|
$138 = $130 & 67108863;
|
|
HEAP32[$129 >> 2] = $138;
|
|
$139 = ($i$24 + 1) | 0;
|
|
$140 = ($input + ($139 << 2)) | 0;
|
|
$141 = HEAP32[$140 >> 2] | 0;
|
|
$142 = ($141 + $137) | 0;
|
|
HEAP32[$140 >> 2] = $142;
|
|
} else {
|
|
$131 = $130 >> 25;
|
|
$132 = $130 & 33554431;
|
|
HEAP32[$129 >> 2] = $132;
|
|
$133 = ($i$24 + 1) | 0;
|
|
$134 = ($input + ($133 << 2)) | 0;
|
|
$135 = HEAP32[$134 >> 2] | 0;
|
|
$136 = ($135 + $131) | 0;
|
|
HEAP32[$134 >> 2] = $136;
|
|
}
|
|
$143 = ($i$24 + 1) | 0;
|
|
$exitcond11 = ($143 | 0) == 9;
|
|
if ($exitcond11) {
|
|
break;
|
|
} else {
|
|
$i$24 = $143;
|
|
}
|
|
}
|
|
$144 = HEAP32[$126 >> 2] | 0;
|
|
$145 = $144 >> 25;
|
|
$146 = $144 & 33554431;
|
|
HEAP32[$126 >> 2] = $146;
|
|
$147 = ($145 * 19) | 0;
|
|
$148 = HEAP32[$input >> 2] | 0;
|
|
$149 = ($147 + $148) | 0;
|
|
HEAP32[$input >> 2] = $149;
|
|
$i$24$1 = 0;
|
|
while (1) {
|
|
$360 = $i$24$1 & 1;
|
|
$361 = ($360 | 0) == 0;
|
|
$362 = ($input + ($i$24$1 << 2)) | 0;
|
|
$363 = HEAP32[$362 >> 2] | 0;
|
|
if ($361) {
|
|
$370 = $363 >> 26;
|
|
$371 = $363 & 67108863;
|
|
HEAP32[$362 >> 2] = $371;
|
|
$372 = ($i$24$1 + 1) | 0;
|
|
$373 = ($input + ($372 << 2)) | 0;
|
|
$374 = HEAP32[$373 >> 2] | 0;
|
|
$375 = ($374 + $370) | 0;
|
|
HEAP32[$373 >> 2] = $375;
|
|
} else {
|
|
$364 = $363 >> 25;
|
|
$365 = $363 & 33554431;
|
|
HEAP32[$362 >> 2] = $365;
|
|
$366 = ($i$24$1 + 1) | 0;
|
|
$367 = ($input + ($366 << 2)) | 0;
|
|
$368 = HEAP32[$367 >> 2] | 0;
|
|
$369 = ($368 + $364) | 0;
|
|
HEAP32[$367 >> 2] = $369;
|
|
}
|
|
$376 = ($i$24$1 + 1) | 0;
|
|
$exitcond11$1 = ($376 | 0) == 9;
|
|
if ($exitcond11$1) {
|
|
break;
|
|
} else {
|
|
$i$24$1 = $376;
|
|
}
|
|
}
|
|
$377 = HEAP32[$126 >> 2] | 0;
|
|
$378 = $377 >> 25;
|
|
$379 = $377 & 33554431;
|
|
HEAP32[$126 >> 2] = $379;
|
|
$380 = ($378 * 19) | 0;
|
|
$381 = HEAP32[$input >> 2] | 0;
|
|
$382 = ($380 + $381) | 0;
|
|
HEAP32[$input >> 2] = $382;
|
|
$383 = _s32_gte($382) | 0;
|
|
$i$33 = 1;
|
|
$mask$02 = $383;
|
|
while (1) {
|
|
$150 = $i$33 & 1;
|
|
$151 = ($150 | 0) == 0;
|
|
$152 = ($input + ($i$33 << 2)) | 0;
|
|
$153 = HEAP32[$152 >> 2] | 0;
|
|
if ($151) {
|
|
$155 = _s32_eq($153, 67108863) | 0;
|
|
$$pn = $155;
|
|
} else {
|
|
$154 = _s32_eq($153, 33554431) | 0;
|
|
$$pn = $154;
|
|
}
|
|
$mask$1 = $$pn & $mask$02;
|
|
$156 = ($i$33 + 1) | 0;
|
|
$exitcond = ($156 | 0) == 10;
|
|
if ($exitcond) {
|
|
break;
|
|
} else {
|
|
$i$33 = $156;
|
|
$mask$02 = $mask$1;
|
|
}
|
|
}
|
|
$157 = $mask$1 & 67108845;
|
|
$158 = HEAP32[$input >> 2] | 0;
|
|
$159 = ($158 - $157) | 0;
|
|
HEAP32[$input >> 2] = $159;
|
|
$160 = $mask$1 & 67108863;
|
|
$161 = $mask$1 & 33554431;
|
|
$162 = ($input + 4) | 0;
|
|
$163 = HEAP32[$162 >> 2] | 0;
|
|
$164 = ($163 - $161) | 0;
|
|
HEAP32[$162 >> 2] = $164;
|
|
$165 = ($input + 8) | 0;
|
|
$166 = HEAP32[$165 >> 2] | 0;
|
|
$167 = ($166 - $160) | 0;
|
|
HEAP32[$165 >> 2] = $167;
|
|
$168 = ($input + 12) | 0;
|
|
$169 = HEAP32[$168 >> 2] | 0;
|
|
$170 = ($169 - $161) | 0;
|
|
HEAP32[$168 >> 2] = $170;
|
|
$171 = ($input + 16) | 0;
|
|
$172 = HEAP32[$171 >> 2] | 0;
|
|
$173 = ($172 - $160) | 0;
|
|
HEAP32[$171 >> 2] = $173;
|
|
$174 = ($input + 20) | 0;
|
|
$175 = HEAP32[$174 >> 2] | 0;
|
|
$176 = ($175 - $161) | 0;
|
|
HEAP32[$174 >> 2] = $176;
|
|
$177 = ($input + 24) | 0;
|
|
$178 = HEAP32[$177 >> 2] | 0;
|
|
$179 = ($178 - $160) | 0;
|
|
HEAP32[$177 >> 2] = $179;
|
|
$180 = ($input + 28) | 0;
|
|
$181 = HEAP32[$180 >> 2] | 0;
|
|
$182 = ($181 - $161) | 0;
|
|
HEAP32[$180 >> 2] = $182;
|
|
$183 = ($input + 32) | 0;
|
|
$184 = HEAP32[$183 >> 2] | 0;
|
|
$185 = ($184 - $160) | 0;
|
|
HEAP32[$183 >> 2] = $185;
|
|
$186 = ($input + 36) | 0;
|
|
$187 = HEAP32[$186 >> 2] | 0;
|
|
$188 = ($187 - $161) | 0;
|
|
HEAP32[$186 >> 2] = $188;
|
|
$189 = HEAP32[$123 >> 2] | 0;
|
|
$190 = $189 << 2;
|
|
HEAP32[$123 >> 2] = $190;
|
|
$191 = ($input + 8) | 0;
|
|
$192 = HEAP32[$191 >> 2] | 0;
|
|
$193 = $192 << 3;
|
|
HEAP32[$191 >> 2] = $193;
|
|
$194 = ($input + 12) | 0;
|
|
$195 = HEAP32[$194 >> 2] | 0;
|
|
$196 = $195 << 5;
|
|
HEAP32[$194 >> 2] = $196;
|
|
$197 = ($input + 16) | 0;
|
|
$198 = HEAP32[$197 >> 2] | 0;
|
|
$199 = $198 << 6;
|
|
HEAP32[$197 >> 2] = $199;
|
|
$200 = ($input + 24) | 0;
|
|
$201 = HEAP32[$200 >> 2] | 0;
|
|
$202 = $201 << 1;
|
|
HEAP32[$200 >> 2] = $202;
|
|
$203 = ($input + 28) | 0;
|
|
$204 = HEAP32[$203 >> 2] | 0;
|
|
$205 = $204 << 3;
|
|
HEAP32[$203 >> 2] = $205;
|
|
$206 = ($input + 32) | 0;
|
|
$207 = HEAP32[$206 >> 2] | 0;
|
|
$208 = $207 << 4;
|
|
HEAP32[$206 >> 2] = $208;
|
|
$209 = ($input + 36) | 0;
|
|
$210 = HEAP32[$209 >> 2] | 0;
|
|
$211 = $210 << 6;
|
|
HEAP32[$209 >> 2] = $211;
|
|
HEAP8[$output >> 0] = 0;
|
|
$212 = ($output + 16) | 0;
|
|
HEAP8[$212 >> 0] = 0;
|
|
$213 = HEAP32[$input >> 2] | 0;
|
|
$214 = HEAP8[$output >> 0] | 0;
|
|
$215 = $214 & 255;
|
|
$216 = $215 | $213;
|
|
$217 = $216 & 255;
|
|
HEAP8[$output >> 0] = $217;
|
|
$218 = HEAP32[$input >> 2] | 0;
|
|
$219 = $218 >>> 8;
|
|
$220 = $219 & 255;
|
|
$221 = ($output + 1) | 0;
|
|
HEAP8[$221 >> 0] = $220;
|
|
$222 = HEAP32[$input >> 2] | 0;
|
|
$223 = $222 >>> 16;
|
|
$224 = $223 & 255;
|
|
$225 = ($output + 2) | 0;
|
|
HEAP8[$225 >> 0] = $224;
|
|
$226 = HEAP32[$input >> 2] | 0;
|
|
$227 = $226 >>> 24;
|
|
$228 = ($output + 3) | 0;
|
|
$229 = HEAP32[$123 >> 2] | 0;
|
|
$230 = $227 | $229;
|
|
$231 = $230 & 255;
|
|
HEAP8[$228 >> 0] = $231;
|
|
$232 = HEAP32[$123 >> 2] | 0;
|
|
$233 = $232 >>> 8;
|
|
$234 = $233 & 255;
|
|
$235 = ($output + 4) | 0;
|
|
HEAP8[$235 >> 0] = $234;
|
|
$236 = HEAP32[$123 >> 2] | 0;
|
|
$237 = $236 >>> 16;
|
|
$238 = $237 & 255;
|
|
$239 = ($output + 5) | 0;
|
|
HEAP8[$239 >> 0] = $238;
|
|
$240 = HEAP32[$123 >> 2] | 0;
|
|
$241 = $240 >>> 24;
|
|
$242 = ($output + 6) | 0;
|
|
$243 = HEAP32[$191 >> 2] | 0;
|
|
$244 = $241 | $243;
|
|
$245 = $244 & 255;
|
|
HEAP8[$242 >> 0] = $245;
|
|
$246 = HEAP32[$191 >> 2] | 0;
|
|
$247 = $246 >>> 8;
|
|
$248 = $247 & 255;
|
|
$249 = ($output + 7) | 0;
|
|
HEAP8[$249 >> 0] = $248;
|
|
$250 = HEAP32[$191 >> 2] | 0;
|
|
$251 = $250 >>> 16;
|
|
$252 = $251 & 255;
|
|
$253 = ($output + 8) | 0;
|
|
HEAP8[$253 >> 0] = $252;
|
|
$254 = HEAP32[$191 >> 2] | 0;
|
|
$255 = $254 >>> 24;
|
|
$256 = ($output + 9) | 0;
|
|
$257 = HEAP32[$194 >> 2] | 0;
|
|
$258 = $255 | $257;
|
|
$259 = $258 & 255;
|
|
HEAP8[$256 >> 0] = $259;
|
|
$260 = HEAP32[$194 >> 2] | 0;
|
|
$261 = $260 >>> 8;
|
|
$262 = $261 & 255;
|
|
$263 = ($output + 10) | 0;
|
|
HEAP8[$263 >> 0] = $262;
|
|
$264 = HEAP32[$194 >> 2] | 0;
|
|
$265 = $264 >>> 16;
|
|
$266 = $265 & 255;
|
|
$267 = ($output + 11) | 0;
|
|
HEAP8[$267 >> 0] = $266;
|
|
$268 = HEAP32[$194 >> 2] | 0;
|
|
$269 = $268 >>> 24;
|
|
$270 = ($output + 12) | 0;
|
|
$271 = HEAP32[$197 >> 2] | 0;
|
|
$272 = $269 | $271;
|
|
$273 = $272 & 255;
|
|
HEAP8[$270 >> 0] = $273;
|
|
$274 = HEAP32[$197 >> 2] | 0;
|
|
$275 = $274 >>> 8;
|
|
$276 = $275 & 255;
|
|
$277 = ($output + 13) | 0;
|
|
HEAP8[$277 >> 0] = $276;
|
|
$278 = HEAP32[$197 >> 2] | 0;
|
|
$279 = $278 >>> 16;
|
|
$280 = $279 & 255;
|
|
$281 = ($output + 14) | 0;
|
|
HEAP8[$281 >> 0] = $280;
|
|
$282 = HEAP32[$197 >> 2] | 0;
|
|
$283 = $282 >>> 24;
|
|
$284 = $283 & 255;
|
|
$285 = ($output + 15) | 0;
|
|
HEAP8[$285 >> 0] = $284;
|
|
$286 = ($input + 20) | 0;
|
|
$287 = HEAP32[$286 >> 2] | 0;
|
|
$288 = HEAP8[$212 >> 0] | 0;
|
|
$289 = $288 & 255;
|
|
$290 = $289 | $287;
|
|
$291 = $290 & 255;
|
|
HEAP8[$212 >> 0] = $291;
|
|
$292 = HEAP32[$286 >> 2] | 0;
|
|
$293 = $292 >>> 8;
|
|
$294 = $293 & 255;
|
|
$295 = ($output + 17) | 0;
|
|
HEAP8[$295 >> 0] = $294;
|
|
$296 = HEAP32[$286 >> 2] | 0;
|
|
$297 = $296 >>> 16;
|
|
$298 = $297 & 255;
|
|
$299 = ($output + 18) | 0;
|
|
HEAP8[$299 >> 0] = $298;
|
|
$300 = HEAP32[$286 >> 2] | 0;
|
|
$301 = $300 >>> 24;
|
|
$302 = ($output + 19) | 0;
|
|
$303 = HEAP32[$200 >> 2] | 0;
|
|
$304 = $301 | $303;
|
|
$305 = $304 & 255;
|
|
HEAP8[$302 >> 0] = $305;
|
|
$306 = HEAP32[$200 >> 2] | 0;
|
|
$307 = $306 >>> 8;
|
|
$308 = $307 & 255;
|
|
$309 = ($output + 20) | 0;
|
|
HEAP8[$309 >> 0] = $308;
|
|
$310 = HEAP32[$200 >> 2] | 0;
|
|
$311 = $310 >>> 16;
|
|
$312 = $311 & 255;
|
|
$313 = ($output + 21) | 0;
|
|
HEAP8[$313 >> 0] = $312;
|
|
$314 = HEAP32[$200 >> 2] | 0;
|
|
$315 = $314 >>> 24;
|
|
$316 = ($output + 22) | 0;
|
|
$317 = HEAP32[$203 >> 2] | 0;
|
|
$318 = $315 | $317;
|
|
$319 = $318 & 255;
|
|
HEAP8[$316 >> 0] = $319;
|
|
$320 = HEAP32[$203 >> 2] | 0;
|
|
$321 = $320 >>> 8;
|
|
$322 = $321 & 255;
|
|
$323 = ($output + 23) | 0;
|
|
HEAP8[$323 >> 0] = $322;
|
|
$324 = HEAP32[$203 >> 2] | 0;
|
|
$325 = $324 >>> 16;
|
|
$326 = $325 & 255;
|
|
$327 = ($output + 24) | 0;
|
|
HEAP8[$327 >> 0] = $326;
|
|
$328 = HEAP32[$203 >> 2] | 0;
|
|
$329 = $328 >>> 24;
|
|
$330 = ($output + 25) | 0;
|
|
$331 = HEAP32[$206 >> 2] | 0;
|
|
$332 = $329 | $331;
|
|
$333 = $332 & 255;
|
|
HEAP8[$330 >> 0] = $333;
|
|
$334 = HEAP32[$206 >> 2] | 0;
|
|
$335 = $334 >>> 8;
|
|
$336 = $335 & 255;
|
|
$337 = ($output + 26) | 0;
|
|
HEAP8[$337 >> 0] = $336;
|
|
$338 = HEAP32[$206 >> 2] | 0;
|
|
$339 = $338 >>> 16;
|
|
$340 = $339 & 255;
|
|
$341 = ($output + 27) | 0;
|
|
HEAP8[$341 >> 0] = $340;
|
|
$342 = HEAP32[$206 >> 2] | 0;
|
|
$343 = $342 >>> 24;
|
|
$344 = ($output + 28) | 0;
|
|
$345 = HEAP32[$209 >> 2] | 0;
|
|
$346 = $343 | $345;
|
|
$347 = $346 & 255;
|
|
HEAP8[$344 >> 0] = $347;
|
|
$348 = HEAP32[$209 >> 2] | 0;
|
|
$349 = $348 >>> 8;
|
|
$350 = $349 & 255;
|
|
$351 = ($output + 29) | 0;
|
|
HEAP8[$351 >> 0] = $350;
|
|
$352 = HEAP32[$209 >> 2] | 0;
|
|
$353 = $352 >>> 16;
|
|
$354 = $353 & 255;
|
|
$355 = ($output + 30) | 0;
|
|
HEAP8[$355 >> 0] = $354;
|
|
$356 = HEAP32[$209 >> 2] | 0;
|
|
$357 = $356 >>> 24;
|
|
$358 = $357 & 255;
|
|
$359 = ($output + 31) | 0;
|
|
HEAP8[$359 >> 0] = $358;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _swap_conditional($a, $b, $0, $1) {
|
|
$a = $a | 0;
|
|
$b = $b | 0;
|
|
$0 = $0 | 0;
|
|
$1 = $1 | 0;
|
|
var $10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0,
|
|
$27 = 0,
|
|
$28 = 0;
|
|
var $29 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0;
|
|
var $9 = 0,
|
|
$exitcond = 0,
|
|
$i$02 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$2 = _i64Subtract(0, 0, $0 | 0, $1 | 0) | 0;
|
|
$3 = tempRet0;
|
|
$i$02 = 0;
|
|
while (1) {
|
|
$4 = ($a + ($i$02 << 3)) | 0;
|
|
$5 = $4;
|
|
$6 = $5;
|
|
$7 = HEAP32[$6 >> 2] | 0;
|
|
$8 = ($5 + 4) | 0;
|
|
$9 = $8;
|
|
$10 = HEAP32[$9 >> 2] | 0;
|
|
$11 = ($b + ($i$02 << 3)) | 0;
|
|
$12 = $11;
|
|
$13 = $12;
|
|
$14 = HEAP32[$13 >> 2] | 0;
|
|
$15 = ($12 + 4) | 0;
|
|
$16 = $15;
|
|
$17 = HEAP32[$16 >> 2] | 0;
|
|
$18 = $14 ^ $7;
|
|
$19 = $17 ^ $10;
|
|
$20 = $18 & $2;
|
|
$21 = $19 & $3;
|
|
$22 = $20 ^ $7;
|
|
$21 ^ $10;
|
|
$23 = _bitshift64Ashr(0, $22 | 0, 32) | 0;
|
|
$24 = tempRet0;
|
|
$25 = $4;
|
|
$26 = $25;
|
|
HEAP32[$26 >> 2] = $23;
|
|
$27 = ($25 + 4) | 0;
|
|
$28 = $27;
|
|
HEAP32[$28 >> 2] = $24;
|
|
$29 = $11;
|
|
$30 = $29;
|
|
$31 = HEAP32[$30 >> 2] | 0;
|
|
$32 = ($29 + 4) | 0;
|
|
$33 = $32;
|
|
$34 = HEAP32[$33 >> 2] | 0;
|
|
$35 = $20 ^ $31;
|
|
$21 ^ $34;
|
|
$36 = _bitshift64Ashr(0, $35 | 0, 32) | 0;
|
|
$37 = tempRet0;
|
|
$38 = $11;
|
|
$39 = $38;
|
|
HEAP32[$39 >> 2] = $36;
|
|
$40 = ($38 + 4) | 0;
|
|
$41 = $40;
|
|
HEAP32[$41 >> 2] = $37;
|
|
$42 = ($i$02 + 1) | 0;
|
|
$exitcond = ($42 | 0) == 10;
|
|
if ($exitcond) {
|
|
break;
|
|
} else {
|
|
$i$02 = $42;
|
|
}
|
|
}
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _fmonty($x2, $z2, $x3, $z3, $x, $z, $xprime, $zprime, $qmqp) {
|
|
$x2 = $x2 | 0;
|
|
$z2 = $z2 | 0;
|
|
$x3 = $x3 | 0;
|
|
$z3 = $z3 | 0;
|
|
$x = $x | 0;
|
|
$z = $z | 0;
|
|
$xprime = $xprime | 0;
|
|
$zprime = $zprime | 0;
|
|
$qmqp = $qmqp | 0;
|
|
var $0 = 0,
|
|
$origx = 0,
|
|
$origxprime = 0,
|
|
$xx = 0,
|
|
$xxprime = 0,
|
|
$xxxprime = 0,
|
|
$zz = 0,
|
|
$zzprime = 0,
|
|
$zzz = 0,
|
|
$zzzprime = 0,
|
|
dest = 0,
|
|
label = 0,
|
|
sp = 0,
|
|
src = 0,
|
|
stop = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 1232) | 0;
|
|
$origx = (sp + 1144) | 0;
|
|
$origxprime = (sp + 1064) | 0;
|
|
$zzz = (sp + 912) | 0;
|
|
$xx = (sp + 760) | 0;
|
|
$zz = (sp + 608) | 0;
|
|
$xxprime = (sp + 456) | 0;
|
|
$zzprime = (sp + 304) | 0;
|
|
$zzzprime = (sp + 152) | 0;
|
|
$xxxprime = sp;
|
|
dest = ($origx + 0) | 0;
|
|
src = ($x + 0) | 0;
|
|
stop = (dest + 80) | 0;
|
|
do {
|
|
HEAP32[dest >> 2] = HEAP32[src >> 2] | 0;
|
|
dest = (dest + 4) | 0;
|
|
src = (src + 4) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
_fsum($x, $z);
|
|
_fdifference($z, $origx);
|
|
dest = ($origxprime + 0) | 0;
|
|
src = ($xprime + 0) | 0;
|
|
stop = (dest + 80) | 0;
|
|
do {
|
|
HEAP32[dest >> 2] = HEAP32[src >> 2] | 0;
|
|
dest = (dest + 4) | 0;
|
|
src = (src + 4) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
_fsum($xprime, $zprime);
|
|
_fdifference($zprime, $origxprime);
|
|
_fproduct($xxprime, $xprime, $z);
|
|
_fproduct($zzprime, $x, $zprime);
|
|
_freduce_degree($xxprime);
|
|
_freduce_coefficients($xxprime);
|
|
_freduce_degree($zzprime);
|
|
_freduce_coefficients($zzprime);
|
|
dest = ($origxprime + 0) | 0;
|
|
src = ($xxprime + 0) | 0;
|
|
stop = (dest + 80) | 0;
|
|
do {
|
|
HEAP32[dest >> 2] = HEAP32[src >> 2] | 0;
|
|
dest = (dest + 4) | 0;
|
|
src = (src + 4) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
_fsum($xxprime, $zzprime);
|
|
_fdifference($zzprime, $origxprime);
|
|
_fsquare($xxxprime, $xxprime);
|
|
_fsquare($zzzprime, $zzprime);
|
|
_fproduct($zzprime, $zzzprime, $qmqp);
|
|
_freduce_degree($zzprime);
|
|
_freduce_coefficients($zzprime);
|
|
dest = ($x3 + 0) | 0;
|
|
src = ($xxxprime + 0) | 0;
|
|
stop = (dest + 80) | 0;
|
|
do {
|
|
HEAP32[dest >> 2] = HEAP32[src >> 2] | 0;
|
|
dest = (dest + 4) | 0;
|
|
src = (src + 4) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
dest = ($z3 + 0) | 0;
|
|
src = ($zzprime + 0) | 0;
|
|
stop = (dest + 80) | 0;
|
|
do {
|
|
HEAP32[dest >> 2] = HEAP32[src >> 2] | 0;
|
|
dest = (dest + 4) | 0;
|
|
src = (src + 4) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
_fsquare($xx, $x);
|
|
_fsquare($zz, $z);
|
|
_fproduct($x2, $xx, $zz);
|
|
_freduce_degree($x2);
|
|
_freduce_coefficients($x2);
|
|
_fdifference($zz, $xx);
|
|
$0 = ($zzz + 80) | 0;
|
|
dest = ($0 + 0) | 0;
|
|
stop = (dest + 72) | 0;
|
|
do {
|
|
HEAP32[dest >> 2] = 0 | 0;
|
|
dest = (dest + 4) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
_fscalar_product($zzz, $zz);
|
|
_freduce_coefficients($zzz);
|
|
_fsum($zzz, $xx);
|
|
_fproduct($z2, $zz, $zzz);
|
|
_freduce_degree($z2);
|
|
_freduce_coefficients($z2);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _fsquare($output, $in) {
|
|
$output = $output | 0;
|
|
$in = $in | 0;
|
|
var $t = 0,
|
|
dest = 0,
|
|
label = 0,
|
|
sp = 0,
|
|
src = 0,
|
|
stop = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 160) | 0;
|
|
$t = sp;
|
|
_fsquare_inner($t, $in);
|
|
_freduce_degree($t);
|
|
_freduce_coefficients($t);
|
|
dest = ($output + 0) | 0;
|
|
src = ($t + 0) | 0;
|
|
stop = (dest + 80) | 0;
|
|
do {
|
|
HEAP32[dest >> 2] = HEAP32[src >> 2] | 0;
|
|
dest = (dest + 4) | 0;
|
|
src = (src + 4) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _fproduct($output, $in2, $in) {
|
|
$output = $output | 0;
|
|
$in2 = $in2 | 0;
|
|
$in = $in | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$1000 = 0,
|
|
$1001 = 0,
|
|
$1002 = 0,
|
|
$1003 = 0,
|
|
$1004 = 0,
|
|
$1005 = 0,
|
|
$1006 = 0,
|
|
$1007 = 0,
|
|
$1008 = 0,
|
|
$1009 = 0,
|
|
$101 = 0,
|
|
$1010 = 0,
|
|
$1011 = 0,
|
|
$1012 = 0,
|
|
$1013 = 0,
|
|
$1014 = 0;
|
|
var $1015 = 0,
|
|
$1016 = 0,
|
|
$1017 = 0,
|
|
$1018 = 0,
|
|
$1019 = 0,
|
|
$102 = 0,
|
|
$1020 = 0,
|
|
$1021 = 0,
|
|
$1022 = 0,
|
|
$1023 = 0,
|
|
$1024 = 0,
|
|
$1025 = 0,
|
|
$1026 = 0,
|
|
$1027 = 0,
|
|
$1028 = 0,
|
|
$1029 = 0,
|
|
$103 = 0,
|
|
$1030 = 0,
|
|
$1031 = 0,
|
|
$1032 = 0;
|
|
var $1033 = 0,
|
|
$1034 = 0,
|
|
$1035 = 0,
|
|
$1036 = 0,
|
|
$1037 = 0,
|
|
$1038 = 0,
|
|
$1039 = 0,
|
|
$104 = 0,
|
|
$1040 = 0,
|
|
$1041 = 0,
|
|
$1042 = 0,
|
|
$1043 = 0,
|
|
$1044 = 0,
|
|
$1045 = 0,
|
|
$1046 = 0,
|
|
$1047 = 0,
|
|
$1048 = 0,
|
|
$1049 = 0,
|
|
$105 = 0,
|
|
$1050 = 0;
|
|
var $1051 = 0,
|
|
$1052 = 0,
|
|
$1053 = 0,
|
|
$1054 = 0,
|
|
$1055 = 0,
|
|
$1056 = 0,
|
|
$1057 = 0,
|
|
$1058 = 0,
|
|
$1059 = 0,
|
|
$106 = 0,
|
|
$1060 = 0,
|
|
$1061 = 0,
|
|
$1062 = 0,
|
|
$1063 = 0,
|
|
$1064 = 0,
|
|
$1065 = 0,
|
|
$1066 = 0,
|
|
$1067 = 0,
|
|
$1068 = 0,
|
|
$1069 = 0;
|
|
var $107 = 0,
|
|
$1070 = 0,
|
|
$1071 = 0,
|
|
$1072 = 0,
|
|
$1073 = 0,
|
|
$1074 = 0,
|
|
$1075 = 0,
|
|
$1076 = 0,
|
|
$1077 = 0,
|
|
$1078 = 0,
|
|
$1079 = 0,
|
|
$108 = 0,
|
|
$1080 = 0,
|
|
$1081 = 0,
|
|
$1082 = 0,
|
|
$1083 = 0,
|
|
$1084 = 0,
|
|
$1085 = 0,
|
|
$1086 = 0,
|
|
$1087 = 0;
|
|
var $1088 = 0,
|
|
$1089 = 0,
|
|
$109 = 0,
|
|
$1090 = 0,
|
|
$1091 = 0,
|
|
$1092 = 0,
|
|
$1093 = 0,
|
|
$1094 = 0,
|
|
$1095 = 0,
|
|
$1096 = 0,
|
|
$1097 = 0,
|
|
$1098 = 0,
|
|
$1099 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$1100 = 0,
|
|
$1101 = 0,
|
|
$1102 = 0,
|
|
$1103 = 0,
|
|
$1104 = 0;
|
|
var $1105 = 0,
|
|
$1106 = 0,
|
|
$1107 = 0,
|
|
$1108 = 0,
|
|
$1109 = 0,
|
|
$111 = 0,
|
|
$1110 = 0,
|
|
$1111 = 0,
|
|
$1112 = 0,
|
|
$1113 = 0,
|
|
$1114 = 0,
|
|
$1115 = 0,
|
|
$1116 = 0,
|
|
$1117 = 0,
|
|
$1118 = 0,
|
|
$1119 = 0,
|
|
$112 = 0,
|
|
$1120 = 0,
|
|
$1121 = 0,
|
|
$1122 = 0;
|
|
var $1123 = 0,
|
|
$1124 = 0,
|
|
$1125 = 0,
|
|
$1126 = 0,
|
|
$1127 = 0,
|
|
$1128 = 0,
|
|
$1129 = 0,
|
|
$113 = 0,
|
|
$1130 = 0,
|
|
$1131 = 0,
|
|
$1132 = 0,
|
|
$1133 = 0,
|
|
$1134 = 0,
|
|
$1135 = 0,
|
|
$1136 = 0,
|
|
$1137 = 0,
|
|
$1138 = 0,
|
|
$1139 = 0,
|
|
$114 = 0,
|
|
$1140 = 0;
|
|
var $1141 = 0,
|
|
$1142 = 0,
|
|
$1143 = 0,
|
|
$1144 = 0,
|
|
$1145 = 0,
|
|
$1146 = 0,
|
|
$1147 = 0,
|
|
$1148 = 0,
|
|
$1149 = 0,
|
|
$115 = 0,
|
|
$1150 = 0,
|
|
$1151 = 0,
|
|
$1152 = 0,
|
|
$1153 = 0,
|
|
$1154 = 0,
|
|
$1155 = 0,
|
|
$1156 = 0,
|
|
$1157 = 0,
|
|
$1158 = 0,
|
|
$1159 = 0;
|
|
var $116 = 0,
|
|
$1160 = 0,
|
|
$1161 = 0,
|
|
$1162 = 0,
|
|
$1163 = 0,
|
|
$1164 = 0,
|
|
$1165 = 0,
|
|
$1166 = 0,
|
|
$1167 = 0,
|
|
$1168 = 0,
|
|
$1169 = 0,
|
|
$117 = 0,
|
|
$1170 = 0,
|
|
$1171 = 0,
|
|
$1172 = 0,
|
|
$1173 = 0,
|
|
$1174 = 0,
|
|
$1175 = 0,
|
|
$1176 = 0,
|
|
$1177 = 0;
|
|
var $1178 = 0,
|
|
$1179 = 0,
|
|
$118 = 0,
|
|
$1180 = 0,
|
|
$1181 = 0,
|
|
$1182 = 0,
|
|
$1183 = 0,
|
|
$1184 = 0,
|
|
$1185 = 0,
|
|
$1186 = 0,
|
|
$1187 = 0,
|
|
$1188 = 0,
|
|
$1189 = 0,
|
|
$119 = 0,
|
|
$1190 = 0,
|
|
$1191 = 0,
|
|
$1192 = 0,
|
|
$1193 = 0,
|
|
$1194 = 0,
|
|
$1195 = 0;
|
|
var $1196 = 0,
|
|
$1197 = 0,
|
|
$1198 = 0,
|
|
$1199 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$1200 = 0,
|
|
$1201 = 0,
|
|
$1202 = 0,
|
|
$1203 = 0,
|
|
$1204 = 0,
|
|
$1205 = 0,
|
|
$1206 = 0,
|
|
$1207 = 0,
|
|
$1208 = 0,
|
|
$1209 = 0,
|
|
$121 = 0,
|
|
$1210 = 0,
|
|
$1211 = 0,
|
|
$1212 = 0;
|
|
var $1213 = 0,
|
|
$1214 = 0,
|
|
$1215 = 0,
|
|
$1216 = 0,
|
|
$1217 = 0,
|
|
$1218 = 0,
|
|
$1219 = 0,
|
|
$122 = 0,
|
|
$1220 = 0,
|
|
$1221 = 0,
|
|
$1222 = 0,
|
|
$1223 = 0,
|
|
$1224 = 0,
|
|
$1225 = 0,
|
|
$1226 = 0,
|
|
$1227 = 0,
|
|
$1228 = 0,
|
|
$1229 = 0,
|
|
$123 = 0,
|
|
$1230 = 0;
|
|
var $1231 = 0,
|
|
$1232 = 0,
|
|
$1233 = 0,
|
|
$1234 = 0,
|
|
$1235 = 0,
|
|
$1236 = 0,
|
|
$1237 = 0,
|
|
$1238 = 0,
|
|
$1239 = 0,
|
|
$124 = 0,
|
|
$1240 = 0,
|
|
$1241 = 0,
|
|
$1242 = 0,
|
|
$1243 = 0,
|
|
$1244 = 0,
|
|
$1245 = 0,
|
|
$1246 = 0,
|
|
$1247 = 0,
|
|
$1248 = 0,
|
|
$1249 = 0;
|
|
var $125 = 0,
|
|
$1250 = 0,
|
|
$1251 = 0,
|
|
$1252 = 0,
|
|
$1253 = 0,
|
|
$1254 = 0,
|
|
$1255 = 0,
|
|
$1256 = 0,
|
|
$1257 = 0,
|
|
$1258 = 0,
|
|
$1259 = 0,
|
|
$126 = 0,
|
|
$1260 = 0,
|
|
$1261 = 0,
|
|
$1262 = 0,
|
|
$1263 = 0,
|
|
$1264 = 0,
|
|
$1265 = 0,
|
|
$1266 = 0,
|
|
$1267 = 0;
|
|
var $1268 = 0,
|
|
$1269 = 0,
|
|
$127 = 0,
|
|
$1270 = 0,
|
|
$1271 = 0,
|
|
$1272 = 0,
|
|
$1273 = 0,
|
|
$1274 = 0,
|
|
$1275 = 0,
|
|
$1276 = 0,
|
|
$1277 = 0,
|
|
$1278 = 0,
|
|
$1279 = 0,
|
|
$128 = 0,
|
|
$1280 = 0,
|
|
$1281 = 0,
|
|
$1282 = 0,
|
|
$1283 = 0,
|
|
$1284 = 0,
|
|
$1285 = 0;
|
|
var $1286 = 0,
|
|
$1287 = 0,
|
|
$1288 = 0,
|
|
$1289 = 0,
|
|
$129 = 0,
|
|
$1290 = 0,
|
|
$1291 = 0,
|
|
$1292 = 0,
|
|
$1293 = 0,
|
|
$1294 = 0,
|
|
$1295 = 0,
|
|
$1296 = 0,
|
|
$1297 = 0,
|
|
$1298 = 0,
|
|
$1299 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$1300 = 0,
|
|
$1301 = 0,
|
|
$1302 = 0;
|
|
var $1303 = 0,
|
|
$1304 = 0,
|
|
$1305 = 0,
|
|
$1306 = 0,
|
|
$1307 = 0,
|
|
$1308 = 0,
|
|
$1309 = 0,
|
|
$131 = 0,
|
|
$1310 = 0,
|
|
$1311 = 0,
|
|
$1312 = 0,
|
|
$1313 = 0,
|
|
$1314 = 0,
|
|
$1315 = 0,
|
|
$1316 = 0,
|
|
$1317 = 0,
|
|
$1318 = 0,
|
|
$1319 = 0,
|
|
$132 = 0,
|
|
$1320 = 0;
|
|
var $1321 = 0,
|
|
$1322 = 0,
|
|
$1323 = 0,
|
|
$1324 = 0,
|
|
$1325 = 0,
|
|
$1326 = 0,
|
|
$1327 = 0,
|
|
$1328 = 0,
|
|
$1329 = 0,
|
|
$133 = 0,
|
|
$1330 = 0,
|
|
$1331 = 0,
|
|
$1332 = 0,
|
|
$1333 = 0,
|
|
$1334 = 0,
|
|
$1335 = 0,
|
|
$1336 = 0,
|
|
$1337 = 0,
|
|
$1338 = 0,
|
|
$1339 = 0;
|
|
var $134 = 0,
|
|
$1340 = 0,
|
|
$1341 = 0,
|
|
$1342 = 0,
|
|
$1343 = 0,
|
|
$1344 = 0,
|
|
$1345 = 0,
|
|
$1346 = 0,
|
|
$1347 = 0,
|
|
$1348 = 0,
|
|
$1349 = 0,
|
|
$135 = 0,
|
|
$1350 = 0,
|
|
$1351 = 0,
|
|
$1352 = 0,
|
|
$1353 = 0,
|
|
$1354 = 0,
|
|
$1355 = 0,
|
|
$1356 = 0,
|
|
$1357 = 0;
|
|
var $1358 = 0,
|
|
$1359 = 0,
|
|
$136 = 0,
|
|
$1360 = 0,
|
|
$1361 = 0,
|
|
$1362 = 0,
|
|
$1363 = 0,
|
|
$1364 = 0,
|
|
$1365 = 0,
|
|
$1366 = 0,
|
|
$1367 = 0,
|
|
$1368 = 0,
|
|
$1369 = 0,
|
|
$137 = 0,
|
|
$1370 = 0,
|
|
$1371 = 0,
|
|
$1372 = 0,
|
|
$1373 = 0,
|
|
$1374 = 0,
|
|
$1375 = 0;
|
|
var $1376 = 0,
|
|
$1377 = 0,
|
|
$1378 = 0,
|
|
$1379 = 0,
|
|
$138 = 0,
|
|
$1380 = 0,
|
|
$1381 = 0,
|
|
$1382 = 0,
|
|
$1383 = 0,
|
|
$1384 = 0,
|
|
$1385 = 0,
|
|
$1386 = 0,
|
|
$1387 = 0,
|
|
$1388 = 0,
|
|
$1389 = 0,
|
|
$139 = 0,
|
|
$1390 = 0,
|
|
$1391 = 0,
|
|
$1392 = 0,
|
|
$1393 = 0;
|
|
var $1394 = 0,
|
|
$1395 = 0,
|
|
$1396 = 0,
|
|
$1397 = 0,
|
|
$1398 = 0,
|
|
$1399 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$1400 = 0,
|
|
$1401 = 0,
|
|
$1402 = 0,
|
|
$1403 = 0,
|
|
$1404 = 0,
|
|
$1405 = 0,
|
|
$1406 = 0,
|
|
$1407 = 0,
|
|
$1408 = 0,
|
|
$1409 = 0,
|
|
$141 = 0,
|
|
$1410 = 0;
|
|
var $1411 = 0,
|
|
$1412 = 0,
|
|
$1413 = 0,
|
|
$1414 = 0,
|
|
$1415 = 0,
|
|
$1416 = 0,
|
|
$1417 = 0,
|
|
$1418 = 0,
|
|
$1419 = 0,
|
|
$142 = 0,
|
|
$1420 = 0,
|
|
$1421 = 0,
|
|
$1422 = 0,
|
|
$1423 = 0,
|
|
$1424 = 0,
|
|
$1425 = 0,
|
|
$1426 = 0,
|
|
$1427 = 0,
|
|
$1428 = 0,
|
|
$1429 = 0;
|
|
var $143 = 0,
|
|
$1430 = 0,
|
|
$1431 = 0,
|
|
$1432 = 0,
|
|
$1433 = 0,
|
|
$1434 = 0,
|
|
$1435 = 0,
|
|
$1436 = 0,
|
|
$1437 = 0,
|
|
$1438 = 0,
|
|
$1439 = 0,
|
|
$144 = 0,
|
|
$1440 = 0,
|
|
$1441 = 0,
|
|
$1442 = 0,
|
|
$1443 = 0,
|
|
$1444 = 0,
|
|
$1445 = 0,
|
|
$1446 = 0,
|
|
$1447 = 0;
|
|
var $1448 = 0,
|
|
$1449 = 0,
|
|
$145 = 0,
|
|
$1450 = 0,
|
|
$1451 = 0,
|
|
$1452 = 0,
|
|
$1453 = 0,
|
|
$1454 = 0,
|
|
$1455 = 0,
|
|
$1456 = 0,
|
|
$1457 = 0,
|
|
$1458 = 0,
|
|
$1459 = 0,
|
|
$146 = 0,
|
|
$1460 = 0,
|
|
$1461 = 0,
|
|
$1462 = 0,
|
|
$1463 = 0,
|
|
$1464 = 0,
|
|
$1465 = 0;
|
|
var $1466 = 0,
|
|
$1467 = 0,
|
|
$1468 = 0,
|
|
$1469 = 0,
|
|
$147 = 0,
|
|
$1470 = 0,
|
|
$1471 = 0,
|
|
$1472 = 0,
|
|
$1473 = 0,
|
|
$1474 = 0,
|
|
$1475 = 0,
|
|
$1476 = 0,
|
|
$1477 = 0,
|
|
$1478 = 0,
|
|
$1479 = 0,
|
|
$148 = 0,
|
|
$1480 = 0,
|
|
$1481 = 0,
|
|
$1482 = 0,
|
|
$1483 = 0;
|
|
var $1484 = 0,
|
|
$1485 = 0,
|
|
$1486 = 0,
|
|
$1487 = 0,
|
|
$1488 = 0,
|
|
$1489 = 0,
|
|
$149 = 0,
|
|
$1490 = 0,
|
|
$1491 = 0,
|
|
$1492 = 0,
|
|
$1493 = 0,
|
|
$1494 = 0,
|
|
$1495 = 0,
|
|
$1496 = 0,
|
|
$1497 = 0,
|
|
$1498 = 0,
|
|
$1499 = 0,
|
|
$15 = 0,
|
|
$150 = 0,
|
|
$1500 = 0;
|
|
var $1501 = 0,
|
|
$1502 = 0,
|
|
$1503 = 0,
|
|
$1504 = 0,
|
|
$1505 = 0,
|
|
$1506 = 0,
|
|
$1507 = 0,
|
|
$1508 = 0,
|
|
$1509 = 0,
|
|
$151 = 0,
|
|
$1510 = 0,
|
|
$1511 = 0,
|
|
$1512 = 0,
|
|
$1513 = 0,
|
|
$1514 = 0,
|
|
$1515 = 0,
|
|
$1516 = 0,
|
|
$1517 = 0,
|
|
$1518 = 0,
|
|
$1519 = 0;
|
|
var $152 = 0,
|
|
$1520 = 0,
|
|
$1521 = 0,
|
|
$1522 = 0,
|
|
$1523 = 0,
|
|
$1524 = 0,
|
|
$1525 = 0,
|
|
$1526 = 0,
|
|
$1527 = 0,
|
|
$1528 = 0,
|
|
$1529 = 0,
|
|
$153 = 0,
|
|
$1530 = 0,
|
|
$1531 = 0,
|
|
$1532 = 0,
|
|
$1533 = 0,
|
|
$1534 = 0,
|
|
$1535 = 0,
|
|
$1536 = 0,
|
|
$1537 = 0;
|
|
var $1538 = 0,
|
|
$1539 = 0,
|
|
$154 = 0,
|
|
$1540 = 0,
|
|
$1541 = 0,
|
|
$1542 = 0,
|
|
$1543 = 0,
|
|
$1544 = 0,
|
|
$1545 = 0,
|
|
$1546 = 0,
|
|
$1547 = 0,
|
|
$1548 = 0,
|
|
$1549 = 0,
|
|
$155 = 0,
|
|
$1550 = 0,
|
|
$1551 = 0,
|
|
$1552 = 0,
|
|
$1553 = 0,
|
|
$1554 = 0,
|
|
$1555 = 0;
|
|
var $1556 = 0,
|
|
$1557 = 0,
|
|
$1558 = 0,
|
|
$1559 = 0,
|
|
$156 = 0,
|
|
$1560 = 0,
|
|
$1561 = 0,
|
|
$1562 = 0,
|
|
$1563 = 0,
|
|
$1564 = 0,
|
|
$1565 = 0,
|
|
$1566 = 0,
|
|
$1567 = 0,
|
|
$1568 = 0,
|
|
$1569 = 0,
|
|
$157 = 0,
|
|
$1570 = 0,
|
|
$1571 = 0,
|
|
$1572 = 0,
|
|
$1573 = 0;
|
|
var $1574 = 0,
|
|
$1575 = 0,
|
|
$1576 = 0,
|
|
$1577 = 0,
|
|
$1578 = 0,
|
|
$1579 = 0,
|
|
$158 = 0,
|
|
$1580 = 0,
|
|
$1581 = 0,
|
|
$1582 = 0,
|
|
$1583 = 0,
|
|
$1584 = 0,
|
|
$1585 = 0,
|
|
$1586 = 0,
|
|
$1587 = 0,
|
|
$1588 = 0,
|
|
$1589 = 0,
|
|
$159 = 0,
|
|
$1590 = 0,
|
|
$1591 = 0;
|
|
var $1592 = 0,
|
|
$1593 = 0,
|
|
$1594 = 0,
|
|
$1595 = 0,
|
|
$1596 = 0,
|
|
$1597 = 0,
|
|
$1598 = 0,
|
|
$1599 = 0,
|
|
$16 = 0,
|
|
$160 = 0,
|
|
$1600 = 0,
|
|
$1601 = 0,
|
|
$1602 = 0,
|
|
$1603 = 0,
|
|
$1604 = 0,
|
|
$1605 = 0,
|
|
$1606 = 0,
|
|
$1607 = 0,
|
|
$1608 = 0,
|
|
$1609 = 0;
|
|
var $161 = 0,
|
|
$1610 = 0,
|
|
$1611 = 0,
|
|
$1612 = 0,
|
|
$1613 = 0,
|
|
$1614 = 0,
|
|
$1615 = 0,
|
|
$1616 = 0,
|
|
$1617 = 0,
|
|
$1618 = 0,
|
|
$1619 = 0,
|
|
$162 = 0,
|
|
$1620 = 0,
|
|
$1621 = 0,
|
|
$1622 = 0,
|
|
$1623 = 0,
|
|
$1624 = 0,
|
|
$1625 = 0,
|
|
$1626 = 0,
|
|
$1627 = 0;
|
|
var $1628 = 0,
|
|
$1629 = 0,
|
|
$163 = 0,
|
|
$1630 = 0,
|
|
$1631 = 0,
|
|
$1632 = 0,
|
|
$1633 = 0,
|
|
$1634 = 0,
|
|
$1635 = 0,
|
|
$1636 = 0,
|
|
$1637 = 0,
|
|
$1638 = 0,
|
|
$1639 = 0,
|
|
$164 = 0,
|
|
$1640 = 0,
|
|
$1641 = 0,
|
|
$1642 = 0,
|
|
$1643 = 0,
|
|
$1644 = 0,
|
|
$1645 = 0;
|
|
var $1646 = 0,
|
|
$1647 = 0,
|
|
$1648 = 0,
|
|
$1649 = 0,
|
|
$165 = 0,
|
|
$1650 = 0,
|
|
$1651 = 0,
|
|
$1652 = 0,
|
|
$1653 = 0,
|
|
$1654 = 0,
|
|
$1655 = 0,
|
|
$1656 = 0,
|
|
$1657 = 0,
|
|
$1658 = 0,
|
|
$1659 = 0,
|
|
$166 = 0,
|
|
$1660 = 0,
|
|
$1661 = 0,
|
|
$1662 = 0,
|
|
$1663 = 0;
|
|
var $1664 = 0,
|
|
$1665 = 0,
|
|
$1666 = 0,
|
|
$1667 = 0,
|
|
$1668 = 0,
|
|
$1669 = 0,
|
|
$167 = 0,
|
|
$1670 = 0,
|
|
$1671 = 0,
|
|
$1672 = 0,
|
|
$1673 = 0,
|
|
$1674 = 0,
|
|
$1675 = 0,
|
|
$1676 = 0,
|
|
$1677 = 0,
|
|
$1678 = 0,
|
|
$1679 = 0,
|
|
$168 = 0,
|
|
$1680 = 0,
|
|
$1681 = 0;
|
|
var $1682 = 0,
|
|
$1683 = 0,
|
|
$1684 = 0,
|
|
$1685 = 0,
|
|
$1686 = 0,
|
|
$1687 = 0,
|
|
$1688 = 0,
|
|
$1689 = 0,
|
|
$169 = 0,
|
|
$1690 = 0,
|
|
$1691 = 0,
|
|
$1692 = 0,
|
|
$1693 = 0,
|
|
$1694 = 0,
|
|
$1695 = 0,
|
|
$1696 = 0,
|
|
$1697 = 0,
|
|
$1698 = 0,
|
|
$1699 = 0,
|
|
$17 = 0;
|
|
var $170 = 0,
|
|
$1700 = 0,
|
|
$1701 = 0,
|
|
$1702 = 0,
|
|
$1703 = 0,
|
|
$1704 = 0,
|
|
$1705 = 0,
|
|
$1706 = 0,
|
|
$1707 = 0,
|
|
$1708 = 0,
|
|
$1709 = 0,
|
|
$171 = 0,
|
|
$1710 = 0,
|
|
$1711 = 0,
|
|
$1712 = 0,
|
|
$1713 = 0,
|
|
$1714 = 0,
|
|
$1715 = 0,
|
|
$1716 = 0,
|
|
$1717 = 0;
|
|
var $1718 = 0,
|
|
$1719 = 0,
|
|
$172 = 0,
|
|
$1720 = 0,
|
|
$1721 = 0,
|
|
$1722 = 0,
|
|
$1723 = 0,
|
|
$1724 = 0,
|
|
$1725 = 0,
|
|
$1726 = 0,
|
|
$1727 = 0,
|
|
$1728 = 0,
|
|
$1729 = 0,
|
|
$173 = 0,
|
|
$1730 = 0,
|
|
$1731 = 0,
|
|
$1732 = 0,
|
|
$1733 = 0,
|
|
$1734 = 0,
|
|
$1735 = 0;
|
|
var $1736 = 0,
|
|
$1737 = 0,
|
|
$1738 = 0,
|
|
$1739 = 0,
|
|
$174 = 0,
|
|
$1740 = 0,
|
|
$1741 = 0,
|
|
$1742 = 0,
|
|
$1743 = 0,
|
|
$1744 = 0,
|
|
$1745 = 0,
|
|
$1746 = 0,
|
|
$1747 = 0,
|
|
$1748 = 0,
|
|
$1749 = 0,
|
|
$175 = 0,
|
|
$1750 = 0,
|
|
$1751 = 0,
|
|
$1752 = 0,
|
|
$1753 = 0;
|
|
var $1754 = 0,
|
|
$1755 = 0,
|
|
$1756 = 0,
|
|
$1757 = 0,
|
|
$1758 = 0,
|
|
$1759 = 0,
|
|
$176 = 0,
|
|
$1760 = 0,
|
|
$1761 = 0,
|
|
$1762 = 0,
|
|
$1763 = 0,
|
|
$1764 = 0,
|
|
$1765 = 0,
|
|
$1766 = 0,
|
|
$1767 = 0,
|
|
$1768 = 0,
|
|
$1769 = 0,
|
|
$177 = 0,
|
|
$1770 = 0,
|
|
$1771 = 0;
|
|
var $1772 = 0,
|
|
$1773 = 0,
|
|
$1774 = 0,
|
|
$1775 = 0,
|
|
$1776 = 0,
|
|
$1777 = 0,
|
|
$1778 = 0,
|
|
$1779 = 0,
|
|
$178 = 0,
|
|
$1780 = 0,
|
|
$1781 = 0,
|
|
$1782 = 0,
|
|
$1783 = 0,
|
|
$1784 = 0,
|
|
$1785 = 0,
|
|
$1786 = 0,
|
|
$1787 = 0,
|
|
$1788 = 0,
|
|
$1789 = 0,
|
|
$179 = 0;
|
|
var $1790 = 0,
|
|
$1791 = 0,
|
|
$1792 = 0,
|
|
$1793 = 0,
|
|
$1794 = 0,
|
|
$1795 = 0,
|
|
$1796 = 0,
|
|
$1797 = 0,
|
|
$1798 = 0,
|
|
$1799 = 0,
|
|
$18 = 0,
|
|
$180 = 0,
|
|
$1800 = 0,
|
|
$1801 = 0,
|
|
$1802 = 0,
|
|
$1803 = 0,
|
|
$1804 = 0,
|
|
$1805 = 0,
|
|
$1806 = 0,
|
|
$1807 = 0;
|
|
var $1808 = 0,
|
|
$1809 = 0,
|
|
$181 = 0,
|
|
$1810 = 0,
|
|
$1811 = 0,
|
|
$1812 = 0,
|
|
$1813 = 0,
|
|
$1814 = 0,
|
|
$1815 = 0,
|
|
$1816 = 0,
|
|
$1817 = 0,
|
|
$1818 = 0,
|
|
$1819 = 0,
|
|
$182 = 0,
|
|
$1820 = 0,
|
|
$1821 = 0,
|
|
$1822 = 0,
|
|
$1823 = 0,
|
|
$1824 = 0,
|
|
$1825 = 0;
|
|
var $1826 = 0,
|
|
$1827 = 0,
|
|
$1828 = 0,
|
|
$1829 = 0,
|
|
$183 = 0,
|
|
$1830 = 0,
|
|
$1831 = 0,
|
|
$1832 = 0,
|
|
$1833 = 0,
|
|
$1834 = 0,
|
|
$1835 = 0,
|
|
$1836 = 0,
|
|
$1837 = 0,
|
|
$1838 = 0,
|
|
$1839 = 0,
|
|
$184 = 0,
|
|
$1840 = 0,
|
|
$1841 = 0,
|
|
$1842 = 0,
|
|
$1843 = 0;
|
|
var $1844 = 0,
|
|
$1845 = 0,
|
|
$1846 = 0,
|
|
$1847 = 0,
|
|
$1848 = 0,
|
|
$1849 = 0,
|
|
$185 = 0,
|
|
$1850 = 0,
|
|
$1851 = 0,
|
|
$1852 = 0,
|
|
$1853 = 0,
|
|
$1854 = 0,
|
|
$1855 = 0,
|
|
$1856 = 0,
|
|
$1857 = 0,
|
|
$1858 = 0,
|
|
$1859 = 0,
|
|
$186 = 0,
|
|
$1860 = 0,
|
|
$1861 = 0;
|
|
var $1862 = 0,
|
|
$1863 = 0,
|
|
$1864 = 0,
|
|
$1865 = 0,
|
|
$1866 = 0,
|
|
$1867 = 0,
|
|
$1868 = 0,
|
|
$1869 = 0,
|
|
$187 = 0,
|
|
$1870 = 0,
|
|
$1871 = 0,
|
|
$1872 = 0,
|
|
$1873 = 0,
|
|
$1874 = 0,
|
|
$1875 = 0,
|
|
$1876 = 0,
|
|
$1877 = 0,
|
|
$1878 = 0,
|
|
$1879 = 0,
|
|
$188 = 0;
|
|
var $1880 = 0,
|
|
$1881 = 0,
|
|
$1882 = 0,
|
|
$1883 = 0,
|
|
$1884 = 0,
|
|
$1885 = 0,
|
|
$1886 = 0,
|
|
$1887 = 0,
|
|
$1888 = 0,
|
|
$1889 = 0,
|
|
$189 = 0,
|
|
$1890 = 0,
|
|
$1891 = 0,
|
|
$1892 = 0,
|
|
$1893 = 0,
|
|
$1894 = 0,
|
|
$1895 = 0,
|
|
$1896 = 0,
|
|
$1897 = 0,
|
|
$1898 = 0;
|
|
var $1899 = 0,
|
|
$19 = 0,
|
|
$190 = 0,
|
|
$1900 = 0,
|
|
$1901 = 0,
|
|
$1902 = 0,
|
|
$1903 = 0,
|
|
$1904 = 0,
|
|
$1905 = 0,
|
|
$1906 = 0,
|
|
$1907 = 0,
|
|
$1908 = 0,
|
|
$1909 = 0,
|
|
$191 = 0,
|
|
$1910 = 0,
|
|
$1911 = 0,
|
|
$1912 = 0,
|
|
$1913 = 0,
|
|
$1914 = 0,
|
|
$1915 = 0;
|
|
var $1916 = 0,
|
|
$1917 = 0,
|
|
$1918 = 0,
|
|
$1919 = 0,
|
|
$192 = 0,
|
|
$1920 = 0,
|
|
$1921 = 0,
|
|
$1922 = 0,
|
|
$1923 = 0,
|
|
$1924 = 0,
|
|
$1925 = 0,
|
|
$1926 = 0,
|
|
$1927 = 0,
|
|
$1928 = 0,
|
|
$1929 = 0,
|
|
$193 = 0,
|
|
$1930 = 0,
|
|
$1931 = 0,
|
|
$1932 = 0,
|
|
$1933 = 0;
|
|
var $1934 = 0,
|
|
$1935 = 0,
|
|
$1936 = 0,
|
|
$1937 = 0,
|
|
$1938 = 0,
|
|
$1939 = 0,
|
|
$194 = 0,
|
|
$1940 = 0,
|
|
$1941 = 0,
|
|
$1942 = 0,
|
|
$1943 = 0,
|
|
$1944 = 0,
|
|
$1945 = 0,
|
|
$1946 = 0,
|
|
$1947 = 0,
|
|
$1948 = 0,
|
|
$1949 = 0,
|
|
$195 = 0,
|
|
$1950 = 0,
|
|
$1951 = 0;
|
|
var $1952 = 0,
|
|
$1953 = 0,
|
|
$1954 = 0,
|
|
$1955 = 0,
|
|
$1956 = 0,
|
|
$1957 = 0,
|
|
$1958 = 0,
|
|
$1959 = 0,
|
|
$196 = 0,
|
|
$1960 = 0,
|
|
$1961 = 0,
|
|
$1962 = 0,
|
|
$1963 = 0,
|
|
$1964 = 0,
|
|
$1965 = 0,
|
|
$1966 = 0,
|
|
$1967 = 0,
|
|
$1968 = 0,
|
|
$1969 = 0,
|
|
$197 = 0;
|
|
var $1970 = 0,
|
|
$1971 = 0,
|
|
$1972 = 0,
|
|
$1973 = 0,
|
|
$1974 = 0,
|
|
$1975 = 0,
|
|
$1976 = 0,
|
|
$1977 = 0,
|
|
$1978 = 0,
|
|
$1979 = 0,
|
|
$198 = 0,
|
|
$1980 = 0,
|
|
$1981 = 0,
|
|
$1982 = 0,
|
|
$1983 = 0,
|
|
$1984 = 0,
|
|
$1985 = 0,
|
|
$1986 = 0,
|
|
$1987 = 0,
|
|
$1988 = 0;
|
|
var $1989 = 0,
|
|
$199 = 0,
|
|
$1990 = 0,
|
|
$1991 = 0,
|
|
$1992 = 0,
|
|
$1993 = 0,
|
|
$1994 = 0,
|
|
$1995 = 0,
|
|
$1996 = 0,
|
|
$1997 = 0,
|
|
$1998 = 0,
|
|
$1999 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$200 = 0,
|
|
$2000 = 0,
|
|
$2001 = 0,
|
|
$2002 = 0,
|
|
$2003 = 0,
|
|
$2004 = 0;
|
|
var $2005 = 0,
|
|
$2006 = 0,
|
|
$2007 = 0,
|
|
$2008 = 0,
|
|
$2009 = 0,
|
|
$201 = 0,
|
|
$2010 = 0,
|
|
$2011 = 0,
|
|
$2012 = 0,
|
|
$2013 = 0,
|
|
$2014 = 0,
|
|
$2015 = 0,
|
|
$2016 = 0,
|
|
$2017 = 0,
|
|
$2018 = 0,
|
|
$2019 = 0,
|
|
$202 = 0,
|
|
$2020 = 0,
|
|
$2021 = 0,
|
|
$2022 = 0;
|
|
var $2023 = 0,
|
|
$2024 = 0,
|
|
$2025 = 0,
|
|
$2026 = 0,
|
|
$2027 = 0,
|
|
$2028 = 0,
|
|
$2029 = 0,
|
|
$203 = 0,
|
|
$2030 = 0,
|
|
$2031 = 0,
|
|
$2032 = 0,
|
|
$2033 = 0,
|
|
$2034 = 0,
|
|
$2035 = 0,
|
|
$2036 = 0,
|
|
$2037 = 0,
|
|
$2038 = 0,
|
|
$2039 = 0,
|
|
$204 = 0,
|
|
$2040 = 0;
|
|
var $2041 = 0,
|
|
$2042 = 0,
|
|
$2043 = 0,
|
|
$2044 = 0,
|
|
$2045 = 0,
|
|
$2046 = 0,
|
|
$2047 = 0,
|
|
$2048 = 0,
|
|
$2049 = 0,
|
|
$205 = 0,
|
|
$2050 = 0,
|
|
$2051 = 0,
|
|
$2052 = 0,
|
|
$2053 = 0,
|
|
$2054 = 0,
|
|
$2055 = 0,
|
|
$2056 = 0,
|
|
$2057 = 0,
|
|
$2058 = 0,
|
|
$2059 = 0;
|
|
var $206 = 0,
|
|
$2060 = 0,
|
|
$2061 = 0,
|
|
$2062 = 0,
|
|
$2063 = 0,
|
|
$2064 = 0,
|
|
$2065 = 0,
|
|
$2066 = 0,
|
|
$2067 = 0,
|
|
$2068 = 0,
|
|
$2069 = 0,
|
|
$207 = 0,
|
|
$2070 = 0,
|
|
$2071 = 0,
|
|
$2072 = 0,
|
|
$2073 = 0,
|
|
$2074 = 0,
|
|
$2075 = 0,
|
|
$2076 = 0,
|
|
$2077 = 0;
|
|
var $2078 = 0,
|
|
$2079 = 0,
|
|
$208 = 0,
|
|
$2080 = 0,
|
|
$2081 = 0,
|
|
$2082 = 0,
|
|
$2083 = 0,
|
|
$2084 = 0,
|
|
$2085 = 0,
|
|
$2086 = 0,
|
|
$2087 = 0,
|
|
$209 = 0,
|
|
$21 = 0,
|
|
$210 = 0,
|
|
$211 = 0,
|
|
$212 = 0,
|
|
$213 = 0,
|
|
$214 = 0,
|
|
$215 = 0,
|
|
$216 = 0;
|
|
var $217 = 0,
|
|
$218 = 0,
|
|
$219 = 0,
|
|
$22 = 0,
|
|
$220 = 0,
|
|
$221 = 0,
|
|
$222 = 0,
|
|
$223 = 0,
|
|
$224 = 0,
|
|
$225 = 0,
|
|
$226 = 0,
|
|
$227 = 0,
|
|
$228 = 0,
|
|
$229 = 0,
|
|
$23 = 0,
|
|
$230 = 0,
|
|
$231 = 0,
|
|
$232 = 0,
|
|
$233 = 0,
|
|
$234 = 0;
|
|
var $235 = 0,
|
|
$236 = 0,
|
|
$237 = 0,
|
|
$238 = 0,
|
|
$239 = 0,
|
|
$24 = 0,
|
|
$240 = 0,
|
|
$241 = 0,
|
|
$242 = 0,
|
|
$243 = 0,
|
|
$244 = 0,
|
|
$245 = 0,
|
|
$246 = 0,
|
|
$247 = 0,
|
|
$248 = 0,
|
|
$249 = 0,
|
|
$25 = 0,
|
|
$250 = 0,
|
|
$251 = 0,
|
|
$252 = 0;
|
|
var $253 = 0,
|
|
$254 = 0,
|
|
$255 = 0,
|
|
$256 = 0,
|
|
$257 = 0,
|
|
$258 = 0,
|
|
$259 = 0,
|
|
$26 = 0,
|
|
$260 = 0,
|
|
$261 = 0,
|
|
$262 = 0,
|
|
$263 = 0,
|
|
$264 = 0,
|
|
$265 = 0,
|
|
$266 = 0,
|
|
$267 = 0,
|
|
$268 = 0,
|
|
$269 = 0,
|
|
$27 = 0,
|
|
$270 = 0;
|
|
var $271 = 0,
|
|
$272 = 0,
|
|
$273 = 0,
|
|
$274 = 0,
|
|
$275 = 0,
|
|
$276 = 0,
|
|
$277 = 0,
|
|
$278 = 0,
|
|
$279 = 0,
|
|
$28 = 0,
|
|
$280 = 0,
|
|
$281 = 0,
|
|
$282 = 0,
|
|
$283 = 0,
|
|
$284 = 0,
|
|
$285 = 0,
|
|
$286 = 0,
|
|
$287 = 0,
|
|
$288 = 0,
|
|
$289 = 0;
|
|
var $29 = 0,
|
|
$290 = 0,
|
|
$291 = 0,
|
|
$292 = 0,
|
|
$293 = 0,
|
|
$294 = 0,
|
|
$295 = 0,
|
|
$296 = 0,
|
|
$297 = 0,
|
|
$298 = 0,
|
|
$299 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$300 = 0,
|
|
$301 = 0,
|
|
$302 = 0,
|
|
$303 = 0,
|
|
$304 = 0,
|
|
$305 = 0,
|
|
$306 = 0;
|
|
var $307 = 0,
|
|
$308 = 0,
|
|
$309 = 0,
|
|
$31 = 0,
|
|
$310 = 0,
|
|
$311 = 0,
|
|
$312 = 0,
|
|
$313 = 0,
|
|
$314 = 0,
|
|
$315 = 0,
|
|
$316 = 0,
|
|
$317 = 0,
|
|
$318 = 0,
|
|
$319 = 0,
|
|
$32 = 0,
|
|
$320 = 0,
|
|
$321 = 0,
|
|
$322 = 0,
|
|
$323 = 0,
|
|
$324 = 0;
|
|
var $325 = 0,
|
|
$326 = 0,
|
|
$327 = 0,
|
|
$328 = 0,
|
|
$329 = 0,
|
|
$33 = 0,
|
|
$330 = 0,
|
|
$331 = 0,
|
|
$332 = 0,
|
|
$333 = 0,
|
|
$334 = 0,
|
|
$335 = 0,
|
|
$336 = 0,
|
|
$337 = 0,
|
|
$338 = 0,
|
|
$339 = 0,
|
|
$34 = 0,
|
|
$340 = 0,
|
|
$341 = 0,
|
|
$342 = 0;
|
|
var $343 = 0,
|
|
$344 = 0,
|
|
$345 = 0,
|
|
$346 = 0,
|
|
$347 = 0,
|
|
$348 = 0,
|
|
$349 = 0,
|
|
$35 = 0,
|
|
$350 = 0,
|
|
$351 = 0,
|
|
$352 = 0,
|
|
$353 = 0,
|
|
$354 = 0,
|
|
$355 = 0,
|
|
$356 = 0,
|
|
$357 = 0,
|
|
$358 = 0,
|
|
$359 = 0,
|
|
$36 = 0,
|
|
$360 = 0;
|
|
var $361 = 0,
|
|
$362 = 0,
|
|
$363 = 0,
|
|
$364 = 0,
|
|
$365 = 0,
|
|
$366 = 0,
|
|
$367 = 0,
|
|
$368 = 0,
|
|
$369 = 0,
|
|
$37 = 0,
|
|
$370 = 0,
|
|
$371 = 0,
|
|
$372 = 0,
|
|
$373 = 0,
|
|
$374 = 0,
|
|
$375 = 0,
|
|
$376 = 0,
|
|
$377 = 0,
|
|
$378 = 0,
|
|
$379 = 0;
|
|
var $38 = 0,
|
|
$380 = 0,
|
|
$381 = 0,
|
|
$382 = 0,
|
|
$383 = 0,
|
|
$384 = 0,
|
|
$385 = 0,
|
|
$386 = 0,
|
|
$387 = 0,
|
|
$388 = 0,
|
|
$389 = 0,
|
|
$39 = 0,
|
|
$390 = 0,
|
|
$391 = 0,
|
|
$392 = 0,
|
|
$393 = 0,
|
|
$394 = 0,
|
|
$395 = 0,
|
|
$396 = 0,
|
|
$397 = 0;
|
|
var $398 = 0,
|
|
$399 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$400 = 0,
|
|
$401 = 0,
|
|
$402 = 0,
|
|
$403 = 0,
|
|
$404 = 0,
|
|
$405 = 0,
|
|
$406 = 0,
|
|
$407 = 0,
|
|
$408 = 0,
|
|
$409 = 0,
|
|
$41 = 0,
|
|
$410 = 0,
|
|
$411 = 0,
|
|
$412 = 0,
|
|
$413 = 0,
|
|
$414 = 0;
|
|
var $415 = 0,
|
|
$416 = 0,
|
|
$417 = 0,
|
|
$418 = 0,
|
|
$419 = 0,
|
|
$42 = 0,
|
|
$420 = 0,
|
|
$421 = 0,
|
|
$422 = 0,
|
|
$423 = 0,
|
|
$424 = 0,
|
|
$425 = 0,
|
|
$426 = 0,
|
|
$427 = 0,
|
|
$428 = 0,
|
|
$429 = 0,
|
|
$43 = 0,
|
|
$430 = 0,
|
|
$431 = 0,
|
|
$432 = 0;
|
|
var $433 = 0,
|
|
$434 = 0,
|
|
$435 = 0,
|
|
$436 = 0,
|
|
$437 = 0,
|
|
$438 = 0,
|
|
$439 = 0,
|
|
$44 = 0,
|
|
$440 = 0,
|
|
$441 = 0,
|
|
$442 = 0,
|
|
$443 = 0,
|
|
$444 = 0,
|
|
$445 = 0,
|
|
$446 = 0,
|
|
$447 = 0,
|
|
$448 = 0,
|
|
$449 = 0,
|
|
$45 = 0,
|
|
$450 = 0;
|
|
var $451 = 0,
|
|
$452 = 0,
|
|
$453 = 0,
|
|
$454 = 0,
|
|
$455 = 0,
|
|
$456 = 0,
|
|
$457 = 0,
|
|
$458 = 0,
|
|
$459 = 0,
|
|
$46 = 0,
|
|
$460 = 0,
|
|
$461 = 0,
|
|
$462 = 0,
|
|
$463 = 0,
|
|
$464 = 0,
|
|
$465 = 0,
|
|
$466 = 0,
|
|
$467 = 0,
|
|
$468 = 0,
|
|
$469 = 0;
|
|
var $47 = 0,
|
|
$470 = 0,
|
|
$471 = 0,
|
|
$472 = 0,
|
|
$473 = 0,
|
|
$474 = 0,
|
|
$475 = 0,
|
|
$476 = 0,
|
|
$477 = 0,
|
|
$478 = 0,
|
|
$479 = 0,
|
|
$48 = 0,
|
|
$480 = 0,
|
|
$481 = 0,
|
|
$482 = 0,
|
|
$483 = 0,
|
|
$484 = 0,
|
|
$485 = 0,
|
|
$486 = 0,
|
|
$487 = 0;
|
|
var $488 = 0,
|
|
$489 = 0,
|
|
$49 = 0,
|
|
$490 = 0,
|
|
$491 = 0,
|
|
$492 = 0,
|
|
$493 = 0,
|
|
$494 = 0,
|
|
$495 = 0,
|
|
$496 = 0,
|
|
$497 = 0,
|
|
$498 = 0,
|
|
$499 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$500 = 0,
|
|
$501 = 0,
|
|
$502 = 0,
|
|
$503 = 0,
|
|
$504 = 0;
|
|
var $505 = 0,
|
|
$506 = 0,
|
|
$507 = 0,
|
|
$508 = 0,
|
|
$509 = 0,
|
|
$51 = 0,
|
|
$510 = 0,
|
|
$511 = 0,
|
|
$512 = 0,
|
|
$513 = 0,
|
|
$514 = 0,
|
|
$515 = 0,
|
|
$516 = 0,
|
|
$517 = 0,
|
|
$518 = 0,
|
|
$519 = 0,
|
|
$52 = 0,
|
|
$520 = 0,
|
|
$521 = 0,
|
|
$522 = 0;
|
|
var $523 = 0,
|
|
$524 = 0,
|
|
$525 = 0,
|
|
$526 = 0,
|
|
$527 = 0,
|
|
$528 = 0,
|
|
$529 = 0,
|
|
$53 = 0,
|
|
$530 = 0,
|
|
$531 = 0,
|
|
$532 = 0,
|
|
$533 = 0,
|
|
$534 = 0,
|
|
$535 = 0,
|
|
$536 = 0,
|
|
$537 = 0,
|
|
$538 = 0,
|
|
$539 = 0,
|
|
$54 = 0,
|
|
$540 = 0;
|
|
var $541 = 0,
|
|
$542 = 0,
|
|
$543 = 0,
|
|
$544 = 0,
|
|
$545 = 0,
|
|
$546 = 0,
|
|
$547 = 0,
|
|
$548 = 0,
|
|
$549 = 0,
|
|
$55 = 0,
|
|
$550 = 0,
|
|
$551 = 0,
|
|
$552 = 0,
|
|
$553 = 0,
|
|
$554 = 0,
|
|
$555 = 0,
|
|
$556 = 0,
|
|
$557 = 0,
|
|
$558 = 0,
|
|
$559 = 0;
|
|
var $56 = 0,
|
|
$560 = 0,
|
|
$561 = 0,
|
|
$562 = 0,
|
|
$563 = 0,
|
|
$564 = 0,
|
|
$565 = 0,
|
|
$566 = 0,
|
|
$567 = 0,
|
|
$568 = 0,
|
|
$569 = 0,
|
|
$57 = 0,
|
|
$570 = 0,
|
|
$571 = 0,
|
|
$572 = 0,
|
|
$573 = 0,
|
|
$574 = 0,
|
|
$575 = 0,
|
|
$576 = 0,
|
|
$577 = 0;
|
|
var $578 = 0,
|
|
$579 = 0,
|
|
$58 = 0,
|
|
$580 = 0,
|
|
$581 = 0,
|
|
$582 = 0,
|
|
$583 = 0,
|
|
$584 = 0,
|
|
$585 = 0,
|
|
$586 = 0,
|
|
$587 = 0,
|
|
$588 = 0,
|
|
$589 = 0,
|
|
$59 = 0,
|
|
$590 = 0,
|
|
$591 = 0,
|
|
$592 = 0,
|
|
$593 = 0,
|
|
$594 = 0,
|
|
$595 = 0;
|
|
var $596 = 0,
|
|
$597 = 0,
|
|
$598 = 0,
|
|
$599 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$600 = 0,
|
|
$601 = 0,
|
|
$602 = 0,
|
|
$603 = 0,
|
|
$604 = 0,
|
|
$605 = 0,
|
|
$606 = 0,
|
|
$607 = 0,
|
|
$608 = 0,
|
|
$609 = 0,
|
|
$61 = 0,
|
|
$610 = 0,
|
|
$611 = 0,
|
|
$612 = 0;
|
|
var $613 = 0,
|
|
$614 = 0,
|
|
$615 = 0,
|
|
$616 = 0,
|
|
$617 = 0,
|
|
$618 = 0,
|
|
$619 = 0,
|
|
$62 = 0,
|
|
$620 = 0,
|
|
$621 = 0,
|
|
$622 = 0,
|
|
$623 = 0,
|
|
$624 = 0,
|
|
$625 = 0,
|
|
$626 = 0,
|
|
$627 = 0,
|
|
$628 = 0,
|
|
$629 = 0,
|
|
$63 = 0,
|
|
$630 = 0;
|
|
var $631 = 0,
|
|
$632 = 0,
|
|
$633 = 0,
|
|
$634 = 0,
|
|
$635 = 0,
|
|
$636 = 0,
|
|
$637 = 0,
|
|
$638 = 0,
|
|
$639 = 0,
|
|
$64 = 0,
|
|
$640 = 0,
|
|
$641 = 0,
|
|
$642 = 0,
|
|
$643 = 0,
|
|
$644 = 0,
|
|
$645 = 0,
|
|
$646 = 0,
|
|
$647 = 0,
|
|
$648 = 0,
|
|
$649 = 0;
|
|
var $65 = 0,
|
|
$650 = 0,
|
|
$651 = 0,
|
|
$652 = 0,
|
|
$653 = 0,
|
|
$654 = 0,
|
|
$655 = 0,
|
|
$656 = 0,
|
|
$657 = 0,
|
|
$658 = 0,
|
|
$659 = 0,
|
|
$66 = 0,
|
|
$660 = 0,
|
|
$661 = 0,
|
|
$662 = 0,
|
|
$663 = 0,
|
|
$664 = 0,
|
|
$665 = 0,
|
|
$666 = 0,
|
|
$667 = 0;
|
|
var $668 = 0,
|
|
$669 = 0,
|
|
$67 = 0,
|
|
$670 = 0,
|
|
$671 = 0,
|
|
$672 = 0,
|
|
$673 = 0,
|
|
$674 = 0,
|
|
$675 = 0,
|
|
$676 = 0,
|
|
$677 = 0,
|
|
$678 = 0,
|
|
$679 = 0,
|
|
$68 = 0,
|
|
$680 = 0,
|
|
$681 = 0,
|
|
$682 = 0,
|
|
$683 = 0,
|
|
$684 = 0,
|
|
$685 = 0;
|
|
var $686 = 0,
|
|
$687 = 0,
|
|
$688 = 0,
|
|
$689 = 0,
|
|
$69 = 0,
|
|
$690 = 0,
|
|
$691 = 0,
|
|
$692 = 0,
|
|
$693 = 0,
|
|
$694 = 0,
|
|
$695 = 0,
|
|
$696 = 0,
|
|
$697 = 0,
|
|
$698 = 0,
|
|
$699 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$700 = 0,
|
|
$701 = 0,
|
|
$702 = 0;
|
|
var $703 = 0,
|
|
$704 = 0,
|
|
$705 = 0,
|
|
$706 = 0,
|
|
$707 = 0,
|
|
$708 = 0,
|
|
$709 = 0,
|
|
$71 = 0,
|
|
$710 = 0,
|
|
$711 = 0,
|
|
$712 = 0,
|
|
$713 = 0,
|
|
$714 = 0,
|
|
$715 = 0,
|
|
$716 = 0,
|
|
$717 = 0,
|
|
$718 = 0,
|
|
$719 = 0,
|
|
$72 = 0,
|
|
$720 = 0;
|
|
var $721 = 0,
|
|
$722 = 0,
|
|
$723 = 0,
|
|
$724 = 0,
|
|
$725 = 0,
|
|
$726 = 0,
|
|
$727 = 0,
|
|
$728 = 0,
|
|
$729 = 0,
|
|
$73 = 0,
|
|
$730 = 0,
|
|
$731 = 0,
|
|
$732 = 0,
|
|
$733 = 0,
|
|
$734 = 0,
|
|
$735 = 0,
|
|
$736 = 0,
|
|
$737 = 0,
|
|
$738 = 0,
|
|
$739 = 0;
|
|
var $74 = 0,
|
|
$740 = 0,
|
|
$741 = 0,
|
|
$742 = 0,
|
|
$743 = 0,
|
|
$744 = 0,
|
|
$745 = 0,
|
|
$746 = 0,
|
|
$747 = 0,
|
|
$748 = 0,
|
|
$749 = 0,
|
|
$75 = 0,
|
|
$750 = 0,
|
|
$751 = 0,
|
|
$752 = 0,
|
|
$753 = 0,
|
|
$754 = 0,
|
|
$755 = 0,
|
|
$756 = 0,
|
|
$757 = 0;
|
|
var $758 = 0,
|
|
$759 = 0,
|
|
$76 = 0,
|
|
$760 = 0,
|
|
$761 = 0,
|
|
$762 = 0,
|
|
$763 = 0,
|
|
$764 = 0,
|
|
$765 = 0,
|
|
$766 = 0,
|
|
$767 = 0,
|
|
$768 = 0,
|
|
$769 = 0,
|
|
$77 = 0,
|
|
$770 = 0,
|
|
$771 = 0,
|
|
$772 = 0,
|
|
$773 = 0,
|
|
$774 = 0,
|
|
$775 = 0;
|
|
var $776 = 0,
|
|
$777 = 0,
|
|
$778 = 0,
|
|
$779 = 0,
|
|
$78 = 0,
|
|
$780 = 0,
|
|
$781 = 0,
|
|
$782 = 0,
|
|
$783 = 0,
|
|
$784 = 0,
|
|
$785 = 0,
|
|
$786 = 0,
|
|
$787 = 0,
|
|
$788 = 0,
|
|
$789 = 0,
|
|
$79 = 0,
|
|
$790 = 0,
|
|
$791 = 0,
|
|
$792 = 0,
|
|
$793 = 0;
|
|
var $794 = 0,
|
|
$795 = 0,
|
|
$796 = 0,
|
|
$797 = 0,
|
|
$798 = 0,
|
|
$799 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$800 = 0,
|
|
$801 = 0,
|
|
$802 = 0,
|
|
$803 = 0,
|
|
$804 = 0,
|
|
$805 = 0,
|
|
$806 = 0,
|
|
$807 = 0,
|
|
$808 = 0,
|
|
$809 = 0,
|
|
$81 = 0,
|
|
$810 = 0;
|
|
var $811 = 0,
|
|
$812 = 0,
|
|
$813 = 0,
|
|
$814 = 0,
|
|
$815 = 0,
|
|
$816 = 0,
|
|
$817 = 0,
|
|
$818 = 0,
|
|
$819 = 0,
|
|
$82 = 0,
|
|
$820 = 0,
|
|
$821 = 0,
|
|
$822 = 0,
|
|
$823 = 0,
|
|
$824 = 0,
|
|
$825 = 0,
|
|
$826 = 0,
|
|
$827 = 0,
|
|
$828 = 0,
|
|
$829 = 0;
|
|
var $83 = 0,
|
|
$830 = 0,
|
|
$831 = 0,
|
|
$832 = 0,
|
|
$833 = 0,
|
|
$834 = 0,
|
|
$835 = 0,
|
|
$836 = 0,
|
|
$837 = 0,
|
|
$838 = 0,
|
|
$839 = 0,
|
|
$84 = 0,
|
|
$840 = 0,
|
|
$841 = 0,
|
|
$842 = 0,
|
|
$843 = 0,
|
|
$844 = 0,
|
|
$845 = 0,
|
|
$846 = 0,
|
|
$847 = 0;
|
|
var $848 = 0,
|
|
$849 = 0,
|
|
$85 = 0,
|
|
$850 = 0,
|
|
$851 = 0,
|
|
$852 = 0,
|
|
$853 = 0,
|
|
$854 = 0,
|
|
$855 = 0,
|
|
$856 = 0,
|
|
$857 = 0,
|
|
$858 = 0,
|
|
$859 = 0,
|
|
$86 = 0,
|
|
$860 = 0,
|
|
$861 = 0,
|
|
$862 = 0,
|
|
$863 = 0,
|
|
$864 = 0,
|
|
$865 = 0;
|
|
var $866 = 0,
|
|
$867 = 0,
|
|
$868 = 0,
|
|
$869 = 0,
|
|
$87 = 0,
|
|
$870 = 0,
|
|
$871 = 0,
|
|
$872 = 0,
|
|
$873 = 0,
|
|
$874 = 0,
|
|
$875 = 0,
|
|
$876 = 0,
|
|
$877 = 0,
|
|
$878 = 0,
|
|
$879 = 0,
|
|
$88 = 0,
|
|
$880 = 0,
|
|
$881 = 0,
|
|
$882 = 0,
|
|
$883 = 0;
|
|
var $884 = 0,
|
|
$885 = 0,
|
|
$886 = 0,
|
|
$887 = 0,
|
|
$888 = 0,
|
|
$889 = 0,
|
|
$89 = 0,
|
|
$890 = 0,
|
|
$891 = 0,
|
|
$892 = 0,
|
|
$893 = 0,
|
|
$894 = 0,
|
|
$895 = 0,
|
|
$896 = 0,
|
|
$897 = 0,
|
|
$898 = 0,
|
|
$899 = 0,
|
|
$9 = 0,
|
|
$90 = 0,
|
|
$900 = 0;
|
|
var $901 = 0,
|
|
$902 = 0,
|
|
$903 = 0,
|
|
$904 = 0,
|
|
$905 = 0,
|
|
$906 = 0,
|
|
$907 = 0,
|
|
$908 = 0,
|
|
$909 = 0,
|
|
$91 = 0,
|
|
$910 = 0,
|
|
$911 = 0,
|
|
$912 = 0,
|
|
$913 = 0,
|
|
$914 = 0,
|
|
$915 = 0,
|
|
$916 = 0,
|
|
$917 = 0,
|
|
$918 = 0,
|
|
$919 = 0;
|
|
var $92 = 0,
|
|
$920 = 0,
|
|
$921 = 0,
|
|
$922 = 0,
|
|
$923 = 0,
|
|
$924 = 0,
|
|
$925 = 0,
|
|
$926 = 0,
|
|
$927 = 0,
|
|
$928 = 0,
|
|
$929 = 0,
|
|
$93 = 0,
|
|
$930 = 0,
|
|
$931 = 0,
|
|
$932 = 0,
|
|
$933 = 0,
|
|
$934 = 0,
|
|
$935 = 0,
|
|
$936 = 0,
|
|
$937 = 0;
|
|
var $938 = 0,
|
|
$939 = 0,
|
|
$94 = 0,
|
|
$940 = 0,
|
|
$941 = 0,
|
|
$942 = 0,
|
|
$943 = 0,
|
|
$944 = 0,
|
|
$945 = 0,
|
|
$946 = 0,
|
|
$947 = 0,
|
|
$948 = 0,
|
|
$949 = 0,
|
|
$95 = 0,
|
|
$950 = 0,
|
|
$951 = 0,
|
|
$952 = 0,
|
|
$953 = 0,
|
|
$954 = 0,
|
|
$955 = 0;
|
|
var $956 = 0,
|
|
$957 = 0,
|
|
$958 = 0,
|
|
$959 = 0,
|
|
$96 = 0,
|
|
$960 = 0,
|
|
$961 = 0,
|
|
$962 = 0,
|
|
$963 = 0,
|
|
$964 = 0,
|
|
$965 = 0,
|
|
$966 = 0,
|
|
$967 = 0,
|
|
$968 = 0,
|
|
$969 = 0,
|
|
$97 = 0,
|
|
$970 = 0,
|
|
$971 = 0,
|
|
$972 = 0,
|
|
$973 = 0;
|
|
var $974 = 0,
|
|
$975 = 0,
|
|
$976 = 0,
|
|
$977 = 0,
|
|
$978 = 0,
|
|
$979 = 0,
|
|
$98 = 0,
|
|
$980 = 0,
|
|
$981 = 0,
|
|
$982 = 0,
|
|
$983 = 0,
|
|
$984 = 0,
|
|
$985 = 0,
|
|
$986 = 0,
|
|
$987 = 0,
|
|
$988 = 0,
|
|
$989 = 0,
|
|
$99 = 0,
|
|
$990 = 0,
|
|
$991 = 0;
|
|
var $992 = 0,
|
|
$993 = 0,
|
|
$994 = 0,
|
|
$995 = 0,
|
|
$996 = 0,
|
|
$997 = 0,
|
|
$998 = 0,
|
|
$999 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = $in2;
|
|
$1 = $0;
|
|
$2 = HEAP32[$1 >> 2] | 0;
|
|
$3 = ($0 + 4) | 0;
|
|
$4 = $3;
|
|
$5 = HEAP32[$4 >> 2] | 0;
|
|
$6 = _bitshift64Ashr(0, $2 | 0, 32) | 0;
|
|
$7 = tempRet0;
|
|
$8 = $in;
|
|
$9 = $8;
|
|
$10 = HEAP32[$9 >> 2] | 0;
|
|
$11 = ($8 + 4) | 0;
|
|
$12 = $11;
|
|
$13 = HEAP32[$12 >> 2] | 0;
|
|
$14 = _bitshift64Ashr(0, $10 | 0, 32) | 0;
|
|
$15 = tempRet0;
|
|
$16 = ___muldi3($14 | 0, $15 | 0, $6 | 0, $7 | 0) | 0;
|
|
$17 = tempRet0;
|
|
$18 = $output;
|
|
$19 = $18;
|
|
HEAP32[$19 >> 2] = $16;
|
|
$20 = ($18 + 4) | 0;
|
|
$21 = $20;
|
|
HEAP32[$21 >> 2] = $17;
|
|
$22 = $in2;
|
|
$23 = $22;
|
|
$24 = HEAP32[$23 >> 2] | 0;
|
|
$25 = ($22 + 4) | 0;
|
|
$26 = $25;
|
|
$27 = HEAP32[$26 >> 2] | 0;
|
|
$28 = _bitshift64Ashr(0, $24 | 0, 32) | 0;
|
|
$29 = tempRet0;
|
|
$30 = ($in + 8) | 0;
|
|
$31 = $30;
|
|
$32 = $31;
|
|
$33 = HEAP32[$32 >> 2] | 0;
|
|
$34 = ($31 + 4) | 0;
|
|
$35 = $34;
|
|
$36 = HEAP32[$35 >> 2] | 0;
|
|
$37 = _bitshift64Ashr(0, $33 | 0, 32) | 0;
|
|
$38 = tempRet0;
|
|
$39 = ___muldi3($37 | 0, $38 | 0, $28 | 0, $29 | 0) | 0;
|
|
$40 = tempRet0;
|
|
$41 = ($in2 + 8) | 0;
|
|
$42 = $41;
|
|
$43 = $42;
|
|
$44 = HEAP32[$43 >> 2] | 0;
|
|
$45 = ($42 + 4) | 0;
|
|
$46 = $45;
|
|
$47 = HEAP32[$46 >> 2] | 0;
|
|
$48 = _bitshift64Ashr(0, $44 | 0, 32) | 0;
|
|
$49 = tempRet0;
|
|
$50 = $in;
|
|
$51 = $50;
|
|
$52 = HEAP32[$51 >> 2] | 0;
|
|
$53 = ($50 + 4) | 0;
|
|
$54 = $53;
|
|
$55 = HEAP32[$54 >> 2] | 0;
|
|
$56 = _bitshift64Ashr(0, $52 | 0, 32) | 0;
|
|
$57 = tempRet0;
|
|
$58 = ___muldi3($56 | 0, $57 | 0, $48 | 0, $49 | 0) | 0;
|
|
$59 = tempRet0;
|
|
$60 = _i64Add($58 | 0, $59 | 0, $39 | 0, $40 | 0) | 0;
|
|
$61 = tempRet0;
|
|
$62 = ($output + 8) | 0;
|
|
$63 = $62;
|
|
$64 = $63;
|
|
HEAP32[$64 >> 2] = $60;
|
|
$65 = ($63 + 4) | 0;
|
|
$66 = $65;
|
|
HEAP32[$66 >> 2] = $61;
|
|
$67 = $41;
|
|
$68 = $67;
|
|
$69 = HEAP32[$68 >> 2] | 0;
|
|
$70 = ($67 + 4) | 0;
|
|
$71 = $70;
|
|
$72 = HEAP32[$71 >> 2] | 0;
|
|
$73 = _bitshift64Ashr(0, $69 | 0, 31) | 0;
|
|
$74 = tempRet0;
|
|
$75 = $30;
|
|
$76 = $75;
|
|
$77 = HEAP32[$76 >> 2] | 0;
|
|
$78 = ($75 + 4) | 0;
|
|
$79 = $78;
|
|
$80 = HEAP32[$79 >> 2] | 0;
|
|
$81 = _bitshift64Ashr(0, $77 | 0, 32) | 0;
|
|
$82 = tempRet0;
|
|
$83 = ___muldi3($81 | 0, $82 | 0, $73 | 0, $74 | 0) | 0;
|
|
$84 = tempRet0;
|
|
$85 = $in2;
|
|
$86 = $85;
|
|
$87 = HEAP32[$86 >> 2] | 0;
|
|
$88 = ($85 + 4) | 0;
|
|
$89 = $88;
|
|
$90 = HEAP32[$89 >> 2] | 0;
|
|
$91 = _bitshift64Ashr(0, $87 | 0, 32) | 0;
|
|
$92 = tempRet0;
|
|
$93 = ($in + 16) | 0;
|
|
$94 = $93;
|
|
$95 = $94;
|
|
$96 = HEAP32[$95 >> 2] | 0;
|
|
$97 = ($94 + 4) | 0;
|
|
$98 = $97;
|
|
$99 = HEAP32[$98 >> 2] | 0;
|
|
$100 = _bitshift64Ashr(0, $96 | 0, 32) | 0;
|
|
$101 = tempRet0;
|
|
$102 = ___muldi3($100 | 0, $101 | 0, $91 | 0, $92 | 0) | 0;
|
|
$103 = tempRet0;
|
|
$104 = _i64Add($102 | 0, $103 | 0, $83 | 0, $84 | 0) | 0;
|
|
$105 = tempRet0;
|
|
$106 = ($in2 + 16) | 0;
|
|
$107 = $106;
|
|
$108 = $107;
|
|
$109 = HEAP32[$108 >> 2] | 0;
|
|
$110 = ($107 + 4) | 0;
|
|
$111 = $110;
|
|
$112 = HEAP32[$111 >> 2] | 0;
|
|
$113 = _bitshift64Ashr(0, $109 | 0, 32) | 0;
|
|
$114 = tempRet0;
|
|
$115 = $in;
|
|
$116 = $115;
|
|
$117 = HEAP32[$116 >> 2] | 0;
|
|
$118 = ($115 + 4) | 0;
|
|
$119 = $118;
|
|
$120 = HEAP32[$119 >> 2] | 0;
|
|
$121 = _bitshift64Ashr(0, $117 | 0, 32) | 0;
|
|
$122 = tempRet0;
|
|
$123 = ___muldi3($121 | 0, $122 | 0, $113 | 0, $114 | 0) | 0;
|
|
$124 = tempRet0;
|
|
$125 = _i64Add($104 | 0, $105 | 0, $123 | 0, $124 | 0) | 0;
|
|
$126 = tempRet0;
|
|
$127 = ($output + 16) | 0;
|
|
$128 = $127;
|
|
$129 = $128;
|
|
HEAP32[$129 >> 2] = $125;
|
|
$130 = ($128 + 4) | 0;
|
|
$131 = $130;
|
|
HEAP32[$131 >> 2] = $126;
|
|
$132 = $41;
|
|
$133 = $132;
|
|
$134 = HEAP32[$133 >> 2] | 0;
|
|
$135 = ($132 + 4) | 0;
|
|
$136 = $135;
|
|
$137 = HEAP32[$136 >> 2] | 0;
|
|
$138 = _bitshift64Ashr(0, $134 | 0, 32) | 0;
|
|
$139 = tempRet0;
|
|
$140 = $93;
|
|
$141 = $140;
|
|
$142 = HEAP32[$141 >> 2] | 0;
|
|
$143 = ($140 + 4) | 0;
|
|
$144 = $143;
|
|
$145 = HEAP32[$144 >> 2] | 0;
|
|
$146 = _bitshift64Ashr(0, $142 | 0, 32) | 0;
|
|
$147 = tempRet0;
|
|
$148 = ___muldi3($146 | 0, $147 | 0, $138 | 0, $139 | 0) | 0;
|
|
$149 = tempRet0;
|
|
$150 = $106;
|
|
$151 = $150;
|
|
$152 = HEAP32[$151 >> 2] | 0;
|
|
$153 = ($150 + 4) | 0;
|
|
$154 = $153;
|
|
$155 = HEAP32[$154 >> 2] | 0;
|
|
$156 = _bitshift64Ashr(0, $152 | 0, 32) | 0;
|
|
$157 = tempRet0;
|
|
$158 = $30;
|
|
$159 = $158;
|
|
$160 = HEAP32[$159 >> 2] | 0;
|
|
$161 = ($158 + 4) | 0;
|
|
$162 = $161;
|
|
$163 = HEAP32[$162 >> 2] | 0;
|
|
$164 = _bitshift64Ashr(0, $160 | 0, 32) | 0;
|
|
$165 = tempRet0;
|
|
$166 = ___muldi3($164 | 0, $165 | 0, $156 | 0, $157 | 0) | 0;
|
|
$167 = tempRet0;
|
|
$168 = _i64Add($166 | 0, $167 | 0, $148 | 0, $149 | 0) | 0;
|
|
$169 = tempRet0;
|
|
$170 = $in2;
|
|
$171 = $170;
|
|
$172 = HEAP32[$171 >> 2] | 0;
|
|
$173 = ($170 + 4) | 0;
|
|
$174 = $173;
|
|
$175 = HEAP32[$174 >> 2] | 0;
|
|
$176 = _bitshift64Ashr(0, $172 | 0, 32) | 0;
|
|
$177 = tempRet0;
|
|
$178 = ($in + 24) | 0;
|
|
$179 = $178;
|
|
$180 = $179;
|
|
$181 = HEAP32[$180 >> 2] | 0;
|
|
$182 = ($179 + 4) | 0;
|
|
$183 = $182;
|
|
$184 = HEAP32[$183 >> 2] | 0;
|
|
$185 = _bitshift64Ashr(0, $181 | 0, 32) | 0;
|
|
$186 = tempRet0;
|
|
$187 = ___muldi3($185 | 0, $186 | 0, $176 | 0, $177 | 0) | 0;
|
|
$188 = tempRet0;
|
|
$189 = _i64Add($168 | 0, $169 | 0, $187 | 0, $188 | 0) | 0;
|
|
$190 = tempRet0;
|
|
$191 = ($in2 + 24) | 0;
|
|
$192 = $191;
|
|
$193 = $192;
|
|
$194 = HEAP32[$193 >> 2] | 0;
|
|
$195 = ($192 + 4) | 0;
|
|
$196 = $195;
|
|
$197 = HEAP32[$196 >> 2] | 0;
|
|
$198 = _bitshift64Ashr(0, $194 | 0, 32) | 0;
|
|
$199 = tempRet0;
|
|
$200 = $in;
|
|
$201 = $200;
|
|
$202 = HEAP32[$201 >> 2] | 0;
|
|
$203 = ($200 + 4) | 0;
|
|
$204 = $203;
|
|
$205 = HEAP32[$204 >> 2] | 0;
|
|
$206 = _bitshift64Ashr(0, $202 | 0, 32) | 0;
|
|
$207 = tempRet0;
|
|
$208 = ___muldi3($206 | 0, $207 | 0, $198 | 0, $199 | 0) | 0;
|
|
$209 = tempRet0;
|
|
$210 = _i64Add($189 | 0, $190 | 0, $208 | 0, $209 | 0) | 0;
|
|
$211 = tempRet0;
|
|
$212 = ($output + 24) | 0;
|
|
$213 = $212;
|
|
$214 = $213;
|
|
HEAP32[$214 >> 2] = $210;
|
|
$215 = ($213 + 4) | 0;
|
|
$216 = $215;
|
|
HEAP32[$216 >> 2] = $211;
|
|
$217 = $106;
|
|
$218 = $217;
|
|
$219 = HEAP32[$218 >> 2] | 0;
|
|
$220 = ($217 + 4) | 0;
|
|
$221 = $220;
|
|
$222 = HEAP32[$221 >> 2] | 0;
|
|
$223 = _bitshift64Ashr(0, $219 | 0, 32) | 0;
|
|
$224 = tempRet0;
|
|
$225 = $93;
|
|
$226 = $225;
|
|
$227 = HEAP32[$226 >> 2] | 0;
|
|
$228 = ($225 + 4) | 0;
|
|
$229 = $228;
|
|
$230 = HEAP32[$229 >> 2] | 0;
|
|
$231 = _bitshift64Ashr(0, $227 | 0, 32) | 0;
|
|
$232 = tempRet0;
|
|
$233 = ___muldi3($231 | 0, $232 | 0, $223 | 0, $224 | 0) | 0;
|
|
$234 = tempRet0;
|
|
$235 = $41;
|
|
$236 = $235;
|
|
$237 = HEAP32[$236 >> 2] | 0;
|
|
$238 = ($235 + 4) | 0;
|
|
$239 = $238;
|
|
$240 = HEAP32[$239 >> 2] | 0;
|
|
$241 = _bitshift64Ashr(0, $237 | 0, 32) | 0;
|
|
$242 = tempRet0;
|
|
$243 = $178;
|
|
$244 = $243;
|
|
$245 = HEAP32[$244 >> 2] | 0;
|
|
$246 = ($243 + 4) | 0;
|
|
$247 = $246;
|
|
$248 = HEAP32[$247 >> 2] | 0;
|
|
$249 = _bitshift64Ashr(0, $245 | 0, 32) | 0;
|
|
$250 = tempRet0;
|
|
$251 = ___muldi3($249 | 0, $250 | 0, $241 | 0, $242 | 0) | 0;
|
|
$252 = tempRet0;
|
|
$253 = $191;
|
|
$254 = $253;
|
|
$255 = HEAP32[$254 >> 2] | 0;
|
|
$256 = ($253 + 4) | 0;
|
|
$257 = $256;
|
|
$258 = HEAP32[$257 >> 2] | 0;
|
|
$259 = _bitshift64Ashr(0, $255 | 0, 32) | 0;
|
|
$260 = tempRet0;
|
|
$261 = $30;
|
|
$262 = $261;
|
|
$263 = HEAP32[$262 >> 2] | 0;
|
|
$264 = ($261 + 4) | 0;
|
|
$265 = $264;
|
|
$266 = HEAP32[$265 >> 2] | 0;
|
|
$267 = _bitshift64Ashr(0, $263 | 0, 32) | 0;
|
|
$268 = tempRet0;
|
|
$269 = ___muldi3($267 | 0, $268 | 0, $259 | 0, $260 | 0) | 0;
|
|
$270 = tempRet0;
|
|
$271 = _i64Add($269 | 0, $270 | 0, $251 | 0, $252 | 0) | 0;
|
|
$272 = tempRet0;
|
|
$273 = _bitshift64Shl($271 | 0, $272 | 0, 1) | 0;
|
|
$274 = tempRet0;
|
|
$275 = _i64Add($273 | 0, $274 | 0, $233 | 0, $234 | 0) | 0;
|
|
$276 = tempRet0;
|
|
$277 = $in2;
|
|
$278 = $277;
|
|
$279 = HEAP32[$278 >> 2] | 0;
|
|
$280 = ($277 + 4) | 0;
|
|
$281 = $280;
|
|
$282 = HEAP32[$281 >> 2] | 0;
|
|
$283 = _bitshift64Ashr(0, $279 | 0, 32) | 0;
|
|
$284 = tempRet0;
|
|
$285 = ($in + 32) | 0;
|
|
$286 = $285;
|
|
$287 = $286;
|
|
$288 = HEAP32[$287 >> 2] | 0;
|
|
$289 = ($286 + 4) | 0;
|
|
$290 = $289;
|
|
$291 = HEAP32[$290 >> 2] | 0;
|
|
$292 = _bitshift64Ashr(0, $288 | 0, 32) | 0;
|
|
$293 = tempRet0;
|
|
$294 = ___muldi3($292 | 0, $293 | 0, $283 | 0, $284 | 0) | 0;
|
|
$295 = tempRet0;
|
|
$296 = _i64Add($275 | 0, $276 | 0, $294 | 0, $295 | 0) | 0;
|
|
$297 = tempRet0;
|
|
$298 = ($in2 + 32) | 0;
|
|
$299 = $298;
|
|
$300 = $299;
|
|
$301 = HEAP32[$300 >> 2] | 0;
|
|
$302 = ($299 + 4) | 0;
|
|
$303 = $302;
|
|
$304 = HEAP32[$303 >> 2] | 0;
|
|
$305 = _bitshift64Ashr(0, $301 | 0, 32) | 0;
|
|
$306 = tempRet0;
|
|
$307 = $in;
|
|
$308 = $307;
|
|
$309 = HEAP32[$308 >> 2] | 0;
|
|
$310 = ($307 + 4) | 0;
|
|
$311 = $310;
|
|
$312 = HEAP32[$311 >> 2] | 0;
|
|
$313 = _bitshift64Ashr(0, $309 | 0, 32) | 0;
|
|
$314 = tempRet0;
|
|
$315 = ___muldi3($313 | 0, $314 | 0, $305 | 0, $306 | 0) | 0;
|
|
$316 = tempRet0;
|
|
$317 = _i64Add($296 | 0, $297 | 0, $315 | 0, $316 | 0) | 0;
|
|
$318 = tempRet0;
|
|
$319 = ($output + 32) | 0;
|
|
$320 = $319;
|
|
$321 = $320;
|
|
HEAP32[$321 >> 2] = $317;
|
|
$322 = ($320 + 4) | 0;
|
|
$323 = $322;
|
|
HEAP32[$323 >> 2] = $318;
|
|
$324 = $106;
|
|
$325 = $324;
|
|
$326 = HEAP32[$325 >> 2] | 0;
|
|
$327 = ($324 + 4) | 0;
|
|
$328 = $327;
|
|
$329 = HEAP32[$328 >> 2] | 0;
|
|
$330 = _bitshift64Ashr(0, $326 | 0, 32) | 0;
|
|
$331 = tempRet0;
|
|
$332 = $178;
|
|
$333 = $332;
|
|
$334 = HEAP32[$333 >> 2] | 0;
|
|
$335 = ($332 + 4) | 0;
|
|
$336 = $335;
|
|
$337 = HEAP32[$336 >> 2] | 0;
|
|
$338 = _bitshift64Ashr(0, $334 | 0, 32) | 0;
|
|
$339 = tempRet0;
|
|
$340 = ___muldi3($338 | 0, $339 | 0, $330 | 0, $331 | 0) | 0;
|
|
$341 = tempRet0;
|
|
$342 = $191;
|
|
$343 = $342;
|
|
$344 = HEAP32[$343 >> 2] | 0;
|
|
$345 = ($342 + 4) | 0;
|
|
$346 = $345;
|
|
$347 = HEAP32[$346 >> 2] | 0;
|
|
$348 = _bitshift64Ashr(0, $344 | 0, 32) | 0;
|
|
$349 = tempRet0;
|
|
$350 = $93;
|
|
$351 = $350;
|
|
$352 = HEAP32[$351 >> 2] | 0;
|
|
$353 = ($350 + 4) | 0;
|
|
$354 = $353;
|
|
$355 = HEAP32[$354 >> 2] | 0;
|
|
$356 = _bitshift64Ashr(0, $352 | 0, 32) | 0;
|
|
$357 = tempRet0;
|
|
$358 = ___muldi3($356 | 0, $357 | 0, $348 | 0, $349 | 0) | 0;
|
|
$359 = tempRet0;
|
|
$360 = _i64Add($358 | 0, $359 | 0, $340 | 0, $341 | 0) | 0;
|
|
$361 = tempRet0;
|
|
$362 = $41;
|
|
$363 = $362;
|
|
$364 = HEAP32[$363 >> 2] | 0;
|
|
$365 = ($362 + 4) | 0;
|
|
$366 = $365;
|
|
$367 = HEAP32[$366 >> 2] | 0;
|
|
$368 = _bitshift64Ashr(0, $364 | 0, 32) | 0;
|
|
$369 = tempRet0;
|
|
$370 = $285;
|
|
$371 = $370;
|
|
$372 = HEAP32[$371 >> 2] | 0;
|
|
$373 = ($370 + 4) | 0;
|
|
$374 = $373;
|
|
$375 = HEAP32[$374 >> 2] | 0;
|
|
$376 = _bitshift64Ashr(0, $372 | 0, 32) | 0;
|
|
$377 = tempRet0;
|
|
$378 = ___muldi3($376 | 0, $377 | 0, $368 | 0, $369 | 0) | 0;
|
|
$379 = tempRet0;
|
|
$380 = _i64Add($360 | 0, $361 | 0, $378 | 0, $379 | 0) | 0;
|
|
$381 = tempRet0;
|
|
$382 = $298;
|
|
$383 = $382;
|
|
$384 = HEAP32[$383 >> 2] | 0;
|
|
$385 = ($382 + 4) | 0;
|
|
$386 = $385;
|
|
$387 = HEAP32[$386 >> 2] | 0;
|
|
$388 = _bitshift64Ashr(0, $384 | 0, 32) | 0;
|
|
$389 = tempRet0;
|
|
$390 = $30;
|
|
$391 = $390;
|
|
$392 = HEAP32[$391 >> 2] | 0;
|
|
$393 = ($390 + 4) | 0;
|
|
$394 = $393;
|
|
$395 = HEAP32[$394 >> 2] | 0;
|
|
$396 = _bitshift64Ashr(0, $392 | 0, 32) | 0;
|
|
$397 = tempRet0;
|
|
$398 = ___muldi3($396 | 0, $397 | 0, $388 | 0, $389 | 0) | 0;
|
|
$399 = tempRet0;
|
|
$400 = _i64Add($380 | 0, $381 | 0, $398 | 0, $399 | 0) | 0;
|
|
$401 = tempRet0;
|
|
$402 = $in2;
|
|
$403 = $402;
|
|
$404 = HEAP32[$403 >> 2] | 0;
|
|
$405 = ($402 + 4) | 0;
|
|
$406 = $405;
|
|
$407 = HEAP32[$406 >> 2] | 0;
|
|
$408 = _bitshift64Ashr(0, $404 | 0, 32) | 0;
|
|
$409 = tempRet0;
|
|
$410 = ($in + 40) | 0;
|
|
$411 = $410;
|
|
$412 = $411;
|
|
$413 = HEAP32[$412 >> 2] | 0;
|
|
$414 = ($411 + 4) | 0;
|
|
$415 = $414;
|
|
$416 = HEAP32[$415 >> 2] | 0;
|
|
$417 = _bitshift64Ashr(0, $413 | 0, 32) | 0;
|
|
$418 = tempRet0;
|
|
$419 = ___muldi3($417 | 0, $418 | 0, $408 | 0, $409 | 0) | 0;
|
|
$420 = tempRet0;
|
|
$421 = _i64Add($400 | 0, $401 | 0, $419 | 0, $420 | 0) | 0;
|
|
$422 = tempRet0;
|
|
$423 = ($in2 + 40) | 0;
|
|
$424 = $423;
|
|
$425 = $424;
|
|
$426 = HEAP32[$425 >> 2] | 0;
|
|
$427 = ($424 + 4) | 0;
|
|
$428 = $427;
|
|
$429 = HEAP32[$428 >> 2] | 0;
|
|
$430 = _bitshift64Ashr(0, $426 | 0, 32) | 0;
|
|
$431 = tempRet0;
|
|
$432 = $in;
|
|
$433 = $432;
|
|
$434 = HEAP32[$433 >> 2] | 0;
|
|
$435 = ($432 + 4) | 0;
|
|
$436 = $435;
|
|
$437 = HEAP32[$436 >> 2] | 0;
|
|
$438 = _bitshift64Ashr(0, $434 | 0, 32) | 0;
|
|
$439 = tempRet0;
|
|
$440 = ___muldi3($438 | 0, $439 | 0, $430 | 0, $431 | 0) | 0;
|
|
$441 = tempRet0;
|
|
$442 = _i64Add($421 | 0, $422 | 0, $440 | 0, $441 | 0) | 0;
|
|
$443 = tempRet0;
|
|
$444 = ($output + 40) | 0;
|
|
$445 = $444;
|
|
$446 = $445;
|
|
HEAP32[$446 >> 2] = $442;
|
|
$447 = ($445 + 4) | 0;
|
|
$448 = $447;
|
|
HEAP32[$448 >> 2] = $443;
|
|
$449 = $191;
|
|
$450 = $449;
|
|
$451 = HEAP32[$450 >> 2] | 0;
|
|
$452 = ($449 + 4) | 0;
|
|
$453 = $452;
|
|
$454 = HEAP32[$453 >> 2] | 0;
|
|
$455 = _bitshift64Ashr(0, $451 | 0, 32) | 0;
|
|
$456 = tempRet0;
|
|
$457 = $178;
|
|
$458 = $457;
|
|
$459 = HEAP32[$458 >> 2] | 0;
|
|
$460 = ($457 + 4) | 0;
|
|
$461 = $460;
|
|
$462 = HEAP32[$461 >> 2] | 0;
|
|
$463 = _bitshift64Ashr(0, $459 | 0, 32) | 0;
|
|
$464 = tempRet0;
|
|
$465 = ___muldi3($463 | 0, $464 | 0, $455 | 0, $456 | 0) | 0;
|
|
$466 = tempRet0;
|
|
$467 = $41;
|
|
$468 = $467;
|
|
$469 = HEAP32[$468 >> 2] | 0;
|
|
$470 = ($467 + 4) | 0;
|
|
$471 = $470;
|
|
$472 = HEAP32[$471 >> 2] | 0;
|
|
$473 = _bitshift64Ashr(0, $469 | 0, 32) | 0;
|
|
$474 = tempRet0;
|
|
$475 = $410;
|
|
$476 = $475;
|
|
$477 = HEAP32[$476 >> 2] | 0;
|
|
$478 = ($475 + 4) | 0;
|
|
$479 = $478;
|
|
$480 = HEAP32[$479 >> 2] | 0;
|
|
$481 = _bitshift64Ashr(0, $477 | 0, 32) | 0;
|
|
$482 = tempRet0;
|
|
$483 = ___muldi3($481 | 0, $482 | 0, $473 | 0, $474 | 0) | 0;
|
|
$484 = tempRet0;
|
|
$485 = _i64Add($483 | 0, $484 | 0, $465 | 0, $466 | 0) | 0;
|
|
$486 = tempRet0;
|
|
$487 = $423;
|
|
$488 = $487;
|
|
$489 = HEAP32[$488 >> 2] | 0;
|
|
$490 = ($487 + 4) | 0;
|
|
$491 = $490;
|
|
$492 = HEAP32[$491 >> 2] | 0;
|
|
$493 = _bitshift64Ashr(0, $489 | 0, 32) | 0;
|
|
$494 = tempRet0;
|
|
$495 = $30;
|
|
$496 = $495;
|
|
$497 = HEAP32[$496 >> 2] | 0;
|
|
$498 = ($495 + 4) | 0;
|
|
$499 = $498;
|
|
$500 = HEAP32[$499 >> 2] | 0;
|
|
$501 = _bitshift64Ashr(0, $497 | 0, 32) | 0;
|
|
$502 = tempRet0;
|
|
$503 = ___muldi3($501 | 0, $502 | 0, $493 | 0, $494 | 0) | 0;
|
|
$504 = tempRet0;
|
|
$505 = _i64Add($485 | 0, $486 | 0, $503 | 0, $504 | 0) | 0;
|
|
$506 = tempRet0;
|
|
$507 = _bitshift64Shl($505 | 0, $506 | 0, 1) | 0;
|
|
$508 = tempRet0;
|
|
$509 = $106;
|
|
$510 = $509;
|
|
$511 = HEAP32[$510 >> 2] | 0;
|
|
$512 = ($509 + 4) | 0;
|
|
$513 = $512;
|
|
$514 = HEAP32[$513 >> 2] | 0;
|
|
$515 = _bitshift64Ashr(0, $511 | 0, 32) | 0;
|
|
$516 = tempRet0;
|
|
$517 = $285;
|
|
$518 = $517;
|
|
$519 = HEAP32[$518 >> 2] | 0;
|
|
$520 = ($517 + 4) | 0;
|
|
$521 = $520;
|
|
$522 = HEAP32[$521 >> 2] | 0;
|
|
$523 = _bitshift64Ashr(0, $519 | 0, 32) | 0;
|
|
$524 = tempRet0;
|
|
$525 = ___muldi3($523 | 0, $524 | 0, $515 | 0, $516 | 0) | 0;
|
|
$526 = tempRet0;
|
|
$527 = _i64Add($507 | 0, $508 | 0, $525 | 0, $526 | 0) | 0;
|
|
$528 = tempRet0;
|
|
$529 = $298;
|
|
$530 = $529;
|
|
$531 = HEAP32[$530 >> 2] | 0;
|
|
$532 = ($529 + 4) | 0;
|
|
$533 = $532;
|
|
$534 = HEAP32[$533 >> 2] | 0;
|
|
$535 = _bitshift64Ashr(0, $531 | 0, 32) | 0;
|
|
$536 = tempRet0;
|
|
$537 = $93;
|
|
$538 = $537;
|
|
$539 = HEAP32[$538 >> 2] | 0;
|
|
$540 = ($537 + 4) | 0;
|
|
$541 = $540;
|
|
$542 = HEAP32[$541 >> 2] | 0;
|
|
$543 = _bitshift64Ashr(0, $539 | 0, 32) | 0;
|
|
$544 = tempRet0;
|
|
$545 = ___muldi3($543 | 0, $544 | 0, $535 | 0, $536 | 0) | 0;
|
|
$546 = tempRet0;
|
|
$547 = _i64Add($527 | 0, $528 | 0, $545 | 0, $546 | 0) | 0;
|
|
$548 = tempRet0;
|
|
$549 = $in2;
|
|
$550 = $549;
|
|
$551 = HEAP32[$550 >> 2] | 0;
|
|
$552 = ($549 + 4) | 0;
|
|
$553 = $552;
|
|
$554 = HEAP32[$553 >> 2] | 0;
|
|
$555 = _bitshift64Ashr(0, $551 | 0, 32) | 0;
|
|
$556 = tempRet0;
|
|
$557 = ($in + 48) | 0;
|
|
$558 = $557;
|
|
$559 = $558;
|
|
$560 = HEAP32[$559 >> 2] | 0;
|
|
$561 = ($558 + 4) | 0;
|
|
$562 = $561;
|
|
$563 = HEAP32[$562 >> 2] | 0;
|
|
$564 = _bitshift64Ashr(0, $560 | 0, 32) | 0;
|
|
$565 = tempRet0;
|
|
$566 = ___muldi3($564 | 0, $565 | 0, $555 | 0, $556 | 0) | 0;
|
|
$567 = tempRet0;
|
|
$568 = _i64Add($547 | 0, $548 | 0, $566 | 0, $567 | 0) | 0;
|
|
$569 = tempRet0;
|
|
$570 = ($in2 + 48) | 0;
|
|
$571 = $570;
|
|
$572 = $571;
|
|
$573 = HEAP32[$572 >> 2] | 0;
|
|
$574 = ($571 + 4) | 0;
|
|
$575 = $574;
|
|
$576 = HEAP32[$575 >> 2] | 0;
|
|
$577 = _bitshift64Ashr(0, $573 | 0, 32) | 0;
|
|
$578 = tempRet0;
|
|
$579 = $in;
|
|
$580 = $579;
|
|
$581 = HEAP32[$580 >> 2] | 0;
|
|
$582 = ($579 + 4) | 0;
|
|
$583 = $582;
|
|
$584 = HEAP32[$583 >> 2] | 0;
|
|
$585 = _bitshift64Ashr(0, $581 | 0, 32) | 0;
|
|
$586 = tempRet0;
|
|
$587 = ___muldi3($585 | 0, $586 | 0, $577 | 0, $578 | 0) | 0;
|
|
$588 = tempRet0;
|
|
$589 = _i64Add($568 | 0, $569 | 0, $587 | 0, $588 | 0) | 0;
|
|
$590 = tempRet0;
|
|
$591 = ($output + 48) | 0;
|
|
$592 = $591;
|
|
$593 = $592;
|
|
HEAP32[$593 >> 2] = $589;
|
|
$594 = ($592 + 4) | 0;
|
|
$595 = $594;
|
|
HEAP32[$595 >> 2] = $590;
|
|
$596 = $191;
|
|
$597 = $596;
|
|
$598 = HEAP32[$597 >> 2] | 0;
|
|
$599 = ($596 + 4) | 0;
|
|
$600 = $599;
|
|
$601 = HEAP32[$600 >> 2] | 0;
|
|
$602 = _bitshift64Ashr(0, $598 | 0, 32) | 0;
|
|
$603 = tempRet0;
|
|
$604 = $285;
|
|
$605 = $604;
|
|
$606 = HEAP32[$605 >> 2] | 0;
|
|
$607 = ($604 + 4) | 0;
|
|
$608 = $607;
|
|
$609 = HEAP32[$608 >> 2] | 0;
|
|
$610 = _bitshift64Ashr(0, $606 | 0, 32) | 0;
|
|
$611 = tempRet0;
|
|
$612 = ___muldi3($610 | 0, $611 | 0, $602 | 0, $603 | 0) | 0;
|
|
$613 = tempRet0;
|
|
$614 = $298;
|
|
$615 = $614;
|
|
$616 = HEAP32[$615 >> 2] | 0;
|
|
$617 = ($614 + 4) | 0;
|
|
$618 = $617;
|
|
$619 = HEAP32[$618 >> 2] | 0;
|
|
$620 = _bitshift64Ashr(0, $616 | 0, 32) | 0;
|
|
$621 = tempRet0;
|
|
$622 = $178;
|
|
$623 = $622;
|
|
$624 = HEAP32[$623 >> 2] | 0;
|
|
$625 = ($622 + 4) | 0;
|
|
$626 = $625;
|
|
$627 = HEAP32[$626 >> 2] | 0;
|
|
$628 = _bitshift64Ashr(0, $624 | 0, 32) | 0;
|
|
$629 = tempRet0;
|
|
$630 = ___muldi3($628 | 0, $629 | 0, $620 | 0, $621 | 0) | 0;
|
|
$631 = tempRet0;
|
|
$632 = _i64Add($630 | 0, $631 | 0, $612 | 0, $613 | 0) | 0;
|
|
$633 = tempRet0;
|
|
$634 = $106;
|
|
$635 = $634;
|
|
$636 = HEAP32[$635 >> 2] | 0;
|
|
$637 = ($634 + 4) | 0;
|
|
$638 = $637;
|
|
$639 = HEAP32[$638 >> 2] | 0;
|
|
$640 = _bitshift64Ashr(0, $636 | 0, 32) | 0;
|
|
$641 = tempRet0;
|
|
$642 = $410;
|
|
$643 = $642;
|
|
$644 = HEAP32[$643 >> 2] | 0;
|
|
$645 = ($642 + 4) | 0;
|
|
$646 = $645;
|
|
$647 = HEAP32[$646 >> 2] | 0;
|
|
$648 = _bitshift64Ashr(0, $644 | 0, 32) | 0;
|
|
$649 = tempRet0;
|
|
$650 = ___muldi3($648 | 0, $649 | 0, $640 | 0, $641 | 0) | 0;
|
|
$651 = tempRet0;
|
|
$652 = _i64Add($632 | 0, $633 | 0, $650 | 0, $651 | 0) | 0;
|
|
$653 = tempRet0;
|
|
$654 = $423;
|
|
$655 = $654;
|
|
$656 = HEAP32[$655 >> 2] | 0;
|
|
$657 = ($654 + 4) | 0;
|
|
$658 = $657;
|
|
$659 = HEAP32[$658 >> 2] | 0;
|
|
$660 = _bitshift64Ashr(0, $656 | 0, 32) | 0;
|
|
$661 = tempRet0;
|
|
$662 = $93;
|
|
$663 = $662;
|
|
$664 = HEAP32[$663 >> 2] | 0;
|
|
$665 = ($662 + 4) | 0;
|
|
$666 = $665;
|
|
$667 = HEAP32[$666 >> 2] | 0;
|
|
$668 = _bitshift64Ashr(0, $664 | 0, 32) | 0;
|
|
$669 = tempRet0;
|
|
$670 = ___muldi3($668 | 0, $669 | 0, $660 | 0, $661 | 0) | 0;
|
|
$671 = tempRet0;
|
|
$672 = _i64Add($652 | 0, $653 | 0, $670 | 0, $671 | 0) | 0;
|
|
$673 = tempRet0;
|
|
$674 = $41;
|
|
$675 = $674;
|
|
$676 = HEAP32[$675 >> 2] | 0;
|
|
$677 = ($674 + 4) | 0;
|
|
$678 = $677;
|
|
$679 = HEAP32[$678 >> 2] | 0;
|
|
$680 = _bitshift64Ashr(0, $676 | 0, 32) | 0;
|
|
$681 = tempRet0;
|
|
$682 = $557;
|
|
$683 = $682;
|
|
$684 = HEAP32[$683 >> 2] | 0;
|
|
$685 = ($682 + 4) | 0;
|
|
$686 = $685;
|
|
$687 = HEAP32[$686 >> 2] | 0;
|
|
$688 = _bitshift64Ashr(0, $684 | 0, 32) | 0;
|
|
$689 = tempRet0;
|
|
$690 = ___muldi3($688 | 0, $689 | 0, $680 | 0, $681 | 0) | 0;
|
|
$691 = tempRet0;
|
|
$692 = _i64Add($672 | 0, $673 | 0, $690 | 0, $691 | 0) | 0;
|
|
$693 = tempRet0;
|
|
$694 = $570;
|
|
$695 = $694;
|
|
$696 = HEAP32[$695 >> 2] | 0;
|
|
$697 = ($694 + 4) | 0;
|
|
$698 = $697;
|
|
$699 = HEAP32[$698 >> 2] | 0;
|
|
$700 = _bitshift64Ashr(0, $696 | 0, 32) | 0;
|
|
$701 = tempRet0;
|
|
$702 = $30;
|
|
$703 = $702;
|
|
$704 = HEAP32[$703 >> 2] | 0;
|
|
$705 = ($702 + 4) | 0;
|
|
$706 = $705;
|
|
$707 = HEAP32[$706 >> 2] | 0;
|
|
$708 = _bitshift64Ashr(0, $704 | 0, 32) | 0;
|
|
$709 = tempRet0;
|
|
$710 = ___muldi3($708 | 0, $709 | 0, $700 | 0, $701 | 0) | 0;
|
|
$711 = tempRet0;
|
|
$712 = _i64Add($692 | 0, $693 | 0, $710 | 0, $711 | 0) | 0;
|
|
$713 = tempRet0;
|
|
$714 = $in2;
|
|
$715 = $714;
|
|
$716 = HEAP32[$715 >> 2] | 0;
|
|
$717 = ($714 + 4) | 0;
|
|
$718 = $717;
|
|
$719 = HEAP32[$718 >> 2] | 0;
|
|
$720 = _bitshift64Ashr(0, $716 | 0, 32) | 0;
|
|
$721 = tempRet0;
|
|
$722 = ($in + 56) | 0;
|
|
$723 = $722;
|
|
$724 = $723;
|
|
$725 = HEAP32[$724 >> 2] | 0;
|
|
$726 = ($723 + 4) | 0;
|
|
$727 = $726;
|
|
$728 = HEAP32[$727 >> 2] | 0;
|
|
$729 = _bitshift64Ashr(0, $725 | 0, 32) | 0;
|
|
$730 = tempRet0;
|
|
$731 = ___muldi3($729 | 0, $730 | 0, $720 | 0, $721 | 0) | 0;
|
|
$732 = tempRet0;
|
|
$733 = _i64Add($712 | 0, $713 | 0, $731 | 0, $732 | 0) | 0;
|
|
$734 = tempRet0;
|
|
$735 = ($in2 + 56) | 0;
|
|
$736 = $735;
|
|
$737 = $736;
|
|
$738 = HEAP32[$737 >> 2] | 0;
|
|
$739 = ($736 + 4) | 0;
|
|
$740 = $739;
|
|
$741 = HEAP32[$740 >> 2] | 0;
|
|
$742 = _bitshift64Ashr(0, $738 | 0, 32) | 0;
|
|
$743 = tempRet0;
|
|
$744 = $in;
|
|
$745 = $744;
|
|
$746 = HEAP32[$745 >> 2] | 0;
|
|
$747 = ($744 + 4) | 0;
|
|
$748 = $747;
|
|
$749 = HEAP32[$748 >> 2] | 0;
|
|
$750 = _bitshift64Ashr(0, $746 | 0, 32) | 0;
|
|
$751 = tempRet0;
|
|
$752 = ___muldi3($750 | 0, $751 | 0, $742 | 0, $743 | 0) | 0;
|
|
$753 = tempRet0;
|
|
$754 = _i64Add($733 | 0, $734 | 0, $752 | 0, $753 | 0) | 0;
|
|
$755 = tempRet0;
|
|
$756 = ($output + 56) | 0;
|
|
$757 = $756;
|
|
$758 = $757;
|
|
HEAP32[$758 >> 2] = $754;
|
|
$759 = ($757 + 4) | 0;
|
|
$760 = $759;
|
|
HEAP32[$760 >> 2] = $755;
|
|
$761 = $298;
|
|
$762 = $761;
|
|
$763 = HEAP32[$762 >> 2] | 0;
|
|
$764 = ($761 + 4) | 0;
|
|
$765 = $764;
|
|
$766 = HEAP32[$765 >> 2] | 0;
|
|
$767 = _bitshift64Ashr(0, $763 | 0, 32) | 0;
|
|
$768 = tempRet0;
|
|
$769 = $285;
|
|
$770 = $769;
|
|
$771 = HEAP32[$770 >> 2] | 0;
|
|
$772 = ($769 + 4) | 0;
|
|
$773 = $772;
|
|
$774 = HEAP32[$773 >> 2] | 0;
|
|
$775 = _bitshift64Ashr(0, $771 | 0, 32) | 0;
|
|
$776 = tempRet0;
|
|
$777 = ___muldi3($775 | 0, $776 | 0, $767 | 0, $768 | 0) | 0;
|
|
$778 = tempRet0;
|
|
$779 = $191;
|
|
$780 = $779;
|
|
$781 = HEAP32[$780 >> 2] | 0;
|
|
$782 = ($779 + 4) | 0;
|
|
$783 = $782;
|
|
$784 = HEAP32[$783 >> 2] | 0;
|
|
$785 = _bitshift64Ashr(0, $781 | 0, 32) | 0;
|
|
$786 = tempRet0;
|
|
$787 = $410;
|
|
$788 = $787;
|
|
$789 = HEAP32[$788 >> 2] | 0;
|
|
$790 = ($787 + 4) | 0;
|
|
$791 = $790;
|
|
$792 = HEAP32[$791 >> 2] | 0;
|
|
$793 = _bitshift64Ashr(0, $789 | 0, 32) | 0;
|
|
$794 = tempRet0;
|
|
$795 = ___muldi3($793 | 0, $794 | 0, $785 | 0, $786 | 0) | 0;
|
|
$796 = tempRet0;
|
|
$797 = $423;
|
|
$798 = $797;
|
|
$799 = HEAP32[$798 >> 2] | 0;
|
|
$800 = ($797 + 4) | 0;
|
|
$801 = $800;
|
|
$802 = HEAP32[$801 >> 2] | 0;
|
|
$803 = _bitshift64Ashr(0, $799 | 0, 32) | 0;
|
|
$804 = tempRet0;
|
|
$805 = $178;
|
|
$806 = $805;
|
|
$807 = HEAP32[$806 >> 2] | 0;
|
|
$808 = ($805 + 4) | 0;
|
|
$809 = $808;
|
|
$810 = HEAP32[$809 >> 2] | 0;
|
|
$811 = _bitshift64Ashr(0, $807 | 0, 32) | 0;
|
|
$812 = tempRet0;
|
|
$813 = ___muldi3($811 | 0, $812 | 0, $803 | 0, $804 | 0) | 0;
|
|
$814 = tempRet0;
|
|
$815 = _i64Add($813 | 0, $814 | 0, $795 | 0, $796 | 0) | 0;
|
|
$816 = tempRet0;
|
|
$817 = $41;
|
|
$818 = $817;
|
|
$819 = HEAP32[$818 >> 2] | 0;
|
|
$820 = ($817 + 4) | 0;
|
|
$821 = $820;
|
|
$822 = HEAP32[$821 >> 2] | 0;
|
|
$823 = _bitshift64Ashr(0, $819 | 0, 32) | 0;
|
|
$824 = tempRet0;
|
|
$825 = $722;
|
|
$826 = $825;
|
|
$827 = HEAP32[$826 >> 2] | 0;
|
|
$828 = ($825 + 4) | 0;
|
|
$829 = $828;
|
|
$830 = HEAP32[$829 >> 2] | 0;
|
|
$831 = _bitshift64Ashr(0, $827 | 0, 32) | 0;
|
|
$832 = tempRet0;
|
|
$833 = ___muldi3($831 | 0, $832 | 0, $823 | 0, $824 | 0) | 0;
|
|
$834 = tempRet0;
|
|
$835 = _i64Add($815 | 0, $816 | 0, $833 | 0, $834 | 0) | 0;
|
|
$836 = tempRet0;
|
|
$837 = $735;
|
|
$838 = $837;
|
|
$839 = HEAP32[$838 >> 2] | 0;
|
|
$840 = ($837 + 4) | 0;
|
|
$841 = $840;
|
|
$842 = HEAP32[$841 >> 2] | 0;
|
|
$843 = _bitshift64Ashr(0, $839 | 0, 32) | 0;
|
|
$844 = tempRet0;
|
|
$845 = $30;
|
|
$846 = $845;
|
|
$847 = HEAP32[$846 >> 2] | 0;
|
|
$848 = ($845 + 4) | 0;
|
|
$849 = $848;
|
|
$850 = HEAP32[$849 >> 2] | 0;
|
|
$851 = _bitshift64Ashr(0, $847 | 0, 32) | 0;
|
|
$852 = tempRet0;
|
|
$853 = ___muldi3($851 | 0, $852 | 0, $843 | 0, $844 | 0) | 0;
|
|
$854 = tempRet0;
|
|
$855 = _i64Add($835 | 0, $836 | 0, $853 | 0, $854 | 0) | 0;
|
|
$856 = tempRet0;
|
|
$857 = _bitshift64Shl($855 | 0, $856 | 0, 1) | 0;
|
|
$858 = tempRet0;
|
|
$859 = _i64Add($857 | 0, $858 | 0, $777 | 0, $778 | 0) | 0;
|
|
$860 = tempRet0;
|
|
$861 = $106;
|
|
$862 = $861;
|
|
$863 = HEAP32[$862 >> 2] | 0;
|
|
$864 = ($861 + 4) | 0;
|
|
$865 = $864;
|
|
$866 = HEAP32[$865 >> 2] | 0;
|
|
$867 = _bitshift64Ashr(0, $863 | 0, 32) | 0;
|
|
$868 = tempRet0;
|
|
$869 = $557;
|
|
$870 = $869;
|
|
$871 = HEAP32[$870 >> 2] | 0;
|
|
$872 = ($869 + 4) | 0;
|
|
$873 = $872;
|
|
$874 = HEAP32[$873 >> 2] | 0;
|
|
$875 = _bitshift64Ashr(0, $871 | 0, 32) | 0;
|
|
$876 = tempRet0;
|
|
$877 = ___muldi3($875 | 0, $876 | 0, $867 | 0, $868 | 0) | 0;
|
|
$878 = tempRet0;
|
|
$879 = _i64Add($859 | 0, $860 | 0, $877 | 0, $878 | 0) | 0;
|
|
$880 = tempRet0;
|
|
$881 = $570;
|
|
$882 = $881;
|
|
$883 = HEAP32[$882 >> 2] | 0;
|
|
$884 = ($881 + 4) | 0;
|
|
$885 = $884;
|
|
$886 = HEAP32[$885 >> 2] | 0;
|
|
$887 = _bitshift64Ashr(0, $883 | 0, 32) | 0;
|
|
$888 = tempRet0;
|
|
$889 = $93;
|
|
$890 = $889;
|
|
$891 = HEAP32[$890 >> 2] | 0;
|
|
$892 = ($889 + 4) | 0;
|
|
$893 = $892;
|
|
$894 = HEAP32[$893 >> 2] | 0;
|
|
$895 = _bitshift64Ashr(0, $891 | 0, 32) | 0;
|
|
$896 = tempRet0;
|
|
$897 = ___muldi3($895 | 0, $896 | 0, $887 | 0, $888 | 0) | 0;
|
|
$898 = tempRet0;
|
|
$899 = _i64Add($879 | 0, $880 | 0, $897 | 0, $898 | 0) | 0;
|
|
$900 = tempRet0;
|
|
$901 = $in2;
|
|
$902 = $901;
|
|
$903 = HEAP32[$902 >> 2] | 0;
|
|
$904 = ($901 + 4) | 0;
|
|
$905 = $904;
|
|
$906 = HEAP32[$905 >> 2] | 0;
|
|
$907 = _bitshift64Ashr(0, $903 | 0, 32) | 0;
|
|
$908 = tempRet0;
|
|
$909 = ($in + 64) | 0;
|
|
$910 = $909;
|
|
$911 = $910;
|
|
$912 = HEAP32[$911 >> 2] | 0;
|
|
$913 = ($910 + 4) | 0;
|
|
$914 = $913;
|
|
$915 = HEAP32[$914 >> 2] | 0;
|
|
$916 = _bitshift64Ashr(0, $912 | 0, 32) | 0;
|
|
$917 = tempRet0;
|
|
$918 = ___muldi3($916 | 0, $917 | 0, $907 | 0, $908 | 0) | 0;
|
|
$919 = tempRet0;
|
|
$920 = _i64Add($899 | 0, $900 | 0, $918 | 0, $919 | 0) | 0;
|
|
$921 = tempRet0;
|
|
$922 = ($in2 + 64) | 0;
|
|
$923 = $922;
|
|
$924 = $923;
|
|
$925 = HEAP32[$924 >> 2] | 0;
|
|
$926 = ($923 + 4) | 0;
|
|
$927 = $926;
|
|
$928 = HEAP32[$927 >> 2] | 0;
|
|
$929 = _bitshift64Ashr(0, $925 | 0, 32) | 0;
|
|
$930 = tempRet0;
|
|
$931 = $in;
|
|
$932 = $931;
|
|
$933 = HEAP32[$932 >> 2] | 0;
|
|
$934 = ($931 + 4) | 0;
|
|
$935 = $934;
|
|
$936 = HEAP32[$935 >> 2] | 0;
|
|
$937 = _bitshift64Ashr(0, $933 | 0, 32) | 0;
|
|
$938 = tempRet0;
|
|
$939 = ___muldi3($937 | 0, $938 | 0, $929 | 0, $930 | 0) | 0;
|
|
$940 = tempRet0;
|
|
$941 = _i64Add($920 | 0, $921 | 0, $939 | 0, $940 | 0) | 0;
|
|
$942 = tempRet0;
|
|
$943 = ($output + 64) | 0;
|
|
$944 = $943;
|
|
$945 = $944;
|
|
HEAP32[$945 >> 2] = $941;
|
|
$946 = ($944 + 4) | 0;
|
|
$947 = $946;
|
|
HEAP32[$947 >> 2] = $942;
|
|
$948 = $298;
|
|
$949 = $948;
|
|
$950 = HEAP32[$949 >> 2] | 0;
|
|
$951 = ($948 + 4) | 0;
|
|
$952 = $951;
|
|
$953 = HEAP32[$952 >> 2] | 0;
|
|
$954 = _bitshift64Ashr(0, $950 | 0, 32) | 0;
|
|
$955 = tempRet0;
|
|
$956 = $410;
|
|
$957 = $956;
|
|
$958 = HEAP32[$957 >> 2] | 0;
|
|
$959 = ($956 + 4) | 0;
|
|
$960 = $959;
|
|
$961 = HEAP32[$960 >> 2] | 0;
|
|
$962 = _bitshift64Ashr(0, $958 | 0, 32) | 0;
|
|
$963 = tempRet0;
|
|
$964 = ___muldi3($962 | 0, $963 | 0, $954 | 0, $955 | 0) | 0;
|
|
$965 = tempRet0;
|
|
$966 = $423;
|
|
$967 = $966;
|
|
$968 = HEAP32[$967 >> 2] | 0;
|
|
$969 = ($966 + 4) | 0;
|
|
$970 = $969;
|
|
$971 = HEAP32[$970 >> 2] | 0;
|
|
$972 = _bitshift64Ashr(0, $968 | 0, 32) | 0;
|
|
$973 = tempRet0;
|
|
$974 = $285;
|
|
$975 = $974;
|
|
$976 = HEAP32[$975 >> 2] | 0;
|
|
$977 = ($974 + 4) | 0;
|
|
$978 = $977;
|
|
$979 = HEAP32[$978 >> 2] | 0;
|
|
$980 = _bitshift64Ashr(0, $976 | 0, 32) | 0;
|
|
$981 = tempRet0;
|
|
$982 = ___muldi3($980 | 0, $981 | 0, $972 | 0, $973 | 0) | 0;
|
|
$983 = tempRet0;
|
|
$984 = _i64Add($982 | 0, $983 | 0, $964 | 0, $965 | 0) | 0;
|
|
$985 = tempRet0;
|
|
$986 = $191;
|
|
$987 = $986;
|
|
$988 = HEAP32[$987 >> 2] | 0;
|
|
$989 = ($986 + 4) | 0;
|
|
$990 = $989;
|
|
$991 = HEAP32[$990 >> 2] | 0;
|
|
$992 = _bitshift64Ashr(0, $988 | 0, 32) | 0;
|
|
$993 = tempRet0;
|
|
$994 = $557;
|
|
$995 = $994;
|
|
$996 = HEAP32[$995 >> 2] | 0;
|
|
$997 = ($994 + 4) | 0;
|
|
$998 = $997;
|
|
$999 = HEAP32[$998 >> 2] | 0;
|
|
$1000 = _bitshift64Ashr(0, $996 | 0, 32) | 0;
|
|
$1001 = tempRet0;
|
|
$1002 = ___muldi3($1000 | 0, $1001 | 0, $992 | 0, $993 | 0) | 0;
|
|
$1003 = tempRet0;
|
|
$1004 = _i64Add($984 | 0, $985 | 0, $1002 | 0, $1003 | 0) | 0;
|
|
$1005 = tempRet0;
|
|
$1006 = $570;
|
|
$1007 = $1006;
|
|
$1008 = HEAP32[$1007 >> 2] | 0;
|
|
$1009 = ($1006 + 4) | 0;
|
|
$1010 = $1009;
|
|
$1011 = HEAP32[$1010 >> 2] | 0;
|
|
$1012 = _bitshift64Ashr(0, $1008 | 0, 32) | 0;
|
|
$1013 = tempRet0;
|
|
$1014 = $178;
|
|
$1015 = $1014;
|
|
$1016 = HEAP32[$1015 >> 2] | 0;
|
|
$1017 = ($1014 + 4) | 0;
|
|
$1018 = $1017;
|
|
$1019 = HEAP32[$1018 >> 2] | 0;
|
|
$1020 = _bitshift64Ashr(0, $1016 | 0, 32) | 0;
|
|
$1021 = tempRet0;
|
|
$1022 = ___muldi3($1020 | 0, $1021 | 0, $1012 | 0, $1013 | 0) | 0;
|
|
$1023 = tempRet0;
|
|
$1024 = _i64Add($1004 | 0, $1005 | 0, $1022 | 0, $1023 | 0) | 0;
|
|
$1025 = tempRet0;
|
|
$1026 = $106;
|
|
$1027 = $1026;
|
|
$1028 = HEAP32[$1027 >> 2] | 0;
|
|
$1029 = ($1026 + 4) | 0;
|
|
$1030 = $1029;
|
|
$1031 = HEAP32[$1030 >> 2] | 0;
|
|
$1032 = _bitshift64Ashr(0, $1028 | 0, 32) | 0;
|
|
$1033 = tempRet0;
|
|
$1034 = $722;
|
|
$1035 = $1034;
|
|
$1036 = HEAP32[$1035 >> 2] | 0;
|
|
$1037 = ($1034 + 4) | 0;
|
|
$1038 = $1037;
|
|
$1039 = HEAP32[$1038 >> 2] | 0;
|
|
$1040 = _bitshift64Ashr(0, $1036 | 0, 32) | 0;
|
|
$1041 = tempRet0;
|
|
$1042 = ___muldi3($1040 | 0, $1041 | 0, $1032 | 0, $1033 | 0) | 0;
|
|
$1043 = tempRet0;
|
|
$1044 = _i64Add($1024 | 0, $1025 | 0, $1042 | 0, $1043 | 0) | 0;
|
|
$1045 = tempRet0;
|
|
$1046 = $735;
|
|
$1047 = $1046;
|
|
$1048 = HEAP32[$1047 >> 2] | 0;
|
|
$1049 = ($1046 + 4) | 0;
|
|
$1050 = $1049;
|
|
$1051 = HEAP32[$1050 >> 2] | 0;
|
|
$1052 = _bitshift64Ashr(0, $1048 | 0, 32) | 0;
|
|
$1053 = tempRet0;
|
|
$1054 = $93;
|
|
$1055 = $1054;
|
|
$1056 = HEAP32[$1055 >> 2] | 0;
|
|
$1057 = ($1054 + 4) | 0;
|
|
$1058 = $1057;
|
|
$1059 = HEAP32[$1058 >> 2] | 0;
|
|
$1060 = _bitshift64Ashr(0, $1056 | 0, 32) | 0;
|
|
$1061 = tempRet0;
|
|
$1062 = ___muldi3($1060 | 0, $1061 | 0, $1052 | 0, $1053 | 0) | 0;
|
|
$1063 = tempRet0;
|
|
$1064 = _i64Add($1044 | 0, $1045 | 0, $1062 | 0, $1063 | 0) | 0;
|
|
$1065 = tempRet0;
|
|
$1066 = $41;
|
|
$1067 = $1066;
|
|
$1068 = HEAP32[$1067 >> 2] | 0;
|
|
$1069 = ($1066 + 4) | 0;
|
|
$1070 = $1069;
|
|
$1071 = HEAP32[$1070 >> 2] | 0;
|
|
$1072 = _bitshift64Ashr(0, $1068 | 0, 32) | 0;
|
|
$1073 = tempRet0;
|
|
$1074 = $909;
|
|
$1075 = $1074;
|
|
$1076 = HEAP32[$1075 >> 2] | 0;
|
|
$1077 = ($1074 + 4) | 0;
|
|
$1078 = $1077;
|
|
$1079 = HEAP32[$1078 >> 2] | 0;
|
|
$1080 = _bitshift64Ashr(0, $1076 | 0, 32) | 0;
|
|
$1081 = tempRet0;
|
|
$1082 = ___muldi3($1080 | 0, $1081 | 0, $1072 | 0, $1073 | 0) | 0;
|
|
$1083 = tempRet0;
|
|
$1084 = _i64Add($1064 | 0, $1065 | 0, $1082 | 0, $1083 | 0) | 0;
|
|
$1085 = tempRet0;
|
|
$1086 = $922;
|
|
$1087 = $1086;
|
|
$1088 = HEAP32[$1087 >> 2] | 0;
|
|
$1089 = ($1086 + 4) | 0;
|
|
$1090 = $1089;
|
|
$1091 = HEAP32[$1090 >> 2] | 0;
|
|
$1092 = _bitshift64Ashr(0, $1088 | 0, 32) | 0;
|
|
$1093 = tempRet0;
|
|
$1094 = $30;
|
|
$1095 = $1094;
|
|
$1096 = HEAP32[$1095 >> 2] | 0;
|
|
$1097 = ($1094 + 4) | 0;
|
|
$1098 = $1097;
|
|
$1099 = HEAP32[$1098 >> 2] | 0;
|
|
$1100 = _bitshift64Ashr(0, $1096 | 0, 32) | 0;
|
|
$1101 = tempRet0;
|
|
$1102 = ___muldi3($1100 | 0, $1101 | 0, $1092 | 0, $1093 | 0) | 0;
|
|
$1103 = tempRet0;
|
|
$1104 = _i64Add($1084 | 0, $1085 | 0, $1102 | 0, $1103 | 0) | 0;
|
|
$1105 = tempRet0;
|
|
$1106 = $in2;
|
|
$1107 = $1106;
|
|
$1108 = HEAP32[$1107 >> 2] | 0;
|
|
$1109 = ($1106 + 4) | 0;
|
|
$1110 = $1109;
|
|
$1111 = HEAP32[$1110 >> 2] | 0;
|
|
$1112 = _bitshift64Ashr(0, $1108 | 0, 32) | 0;
|
|
$1113 = tempRet0;
|
|
$1114 = ($in + 72) | 0;
|
|
$1115 = $1114;
|
|
$1116 = $1115;
|
|
$1117 = HEAP32[$1116 >> 2] | 0;
|
|
$1118 = ($1115 + 4) | 0;
|
|
$1119 = $1118;
|
|
$1120 = HEAP32[$1119 >> 2] | 0;
|
|
$1121 = _bitshift64Ashr(0, $1117 | 0, 32) | 0;
|
|
$1122 = tempRet0;
|
|
$1123 = ___muldi3($1121 | 0, $1122 | 0, $1112 | 0, $1113 | 0) | 0;
|
|
$1124 = tempRet0;
|
|
$1125 = _i64Add($1104 | 0, $1105 | 0, $1123 | 0, $1124 | 0) | 0;
|
|
$1126 = tempRet0;
|
|
$1127 = ($in2 + 72) | 0;
|
|
$1128 = $1127;
|
|
$1129 = $1128;
|
|
$1130 = HEAP32[$1129 >> 2] | 0;
|
|
$1131 = ($1128 + 4) | 0;
|
|
$1132 = $1131;
|
|
$1133 = HEAP32[$1132 >> 2] | 0;
|
|
$1134 = _bitshift64Ashr(0, $1130 | 0, 32) | 0;
|
|
$1135 = tempRet0;
|
|
$1136 = $in;
|
|
$1137 = $1136;
|
|
$1138 = HEAP32[$1137 >> 2] | 0;
|
|
$1139 = ($1136 + 4) | 0;
|
|
$1140 = $1139;
|
|
$1141 = HEAP32[$1140 >> 2] | 0;
|
|
$1142 = _bitshift64Ashr(0, $1138 | 0, 32) | 0;
|
|
$1143 = tempRet0;
|
|
$1144 = ___muldi3($1142 | 0, $1143 | 0, $1134 | 0, $1135 | 0) | 0;
|
|
$1145 = tempRet0;
|
|
$1146 = _i64Add($1125 | 0, $1126 | 0, $1144 | 0, $1145 | 0) | 0;
|
|
$1147 = tempRet0;
|
|
$1148 = ($output + 72) | 0;
|
|
$1149 = $1148;
|
|
$1150 = $1149;
|
|
HEAP32[$1150 >> 2] = $1146;
|
|
$1151 = ($1149 + 4) | 0;
|
|
$1152 = $1151;
|
|
HEAP32[$1152 >> 2] = $1147;
|
|
$1153 = $423;
|
|
$1154 = $1153;
|
|
$1155 = HEAP32[$1154 >> 2] | 0;
|
|
$1156 = ($1153 + 4) | 0;
|
|
$1157 = $1156;
|
|
$1158 = HEAP32[$1157 >> 2] | 0;
|
|
$1159 = _bitshift64Ashr(0, $1155 | 0, 32) | 0;
|
|
$1160 = tempRet0;
|
|
$1161 = $410;
|
|
$1162 = $1161;
|
|
$1163 = HEAP32[$1162 >> 2] | 0;
|
|
$1164 = ($1161 + 4) | 0;
|
|
$1165 = $1164;
|
|
$1166 = HEAP32[$1165 >> 2] | 0;
|
|
$1167 = _bitshift64Ashr(0, $1163 | 0, 32) | 0;
|
|
$1168 = tempRet0;
|
|
$1169 = ___muldi3($1167 | 0, $1168 | 0, $1159 | 0, $1160 | 0) | 0;
|
|
$1170 = tempRet0;
|
|
$1171 = $191;
|
|
$1172 = $1171;
|
|
$1173 = HEAP32[$1172 >> 2] | 0;
|
|
$1174 = ($1171 + 4) | 0;
|
|
$1175 = $1174;
|
|
$1176 = HEAP32[$1175 >> 2] | 0;
|
|
$1177 = _bitshift64Ashr(0, $1173 | 0, 32) | 0;
|
|
$1178 = tempRet0;
|
|
$1179 = $722;
|
|
$1180 = $1179;
|
|
$1181 = HEAP32[$1180 >> 2] | 0;
|
|
$1182 = ($1179 + 4) | 0;
|
|
$1183 = $1182;
|
|
$1184 = HEAP32[$1183 >> 2] | 0;
|
|
$1185 = _bitshift64Ashr(0, $1181 | 0, 32) | 0;
|
|
$1186 = tempRet0;
|
|
$1187 = ___muldi3($1185 | 0, $1186 | 0, $1177 | 0, $1178 | 0) | 0;
|
|
$1188 = tempRet0;
|
|
$1189 = _i64Add($1187 | 0, $1188 | 0, $1169 | 0, $1170 | 0) | 0;
|
|
$1190 = tempRet0;
|
|
$1191 = $735;
|
|
$1192 = $1191;
|
|
$1193 = HEAP32[$1192 >> 2] | 0;
|
|
$1194 = ($1191 + 4) | 0;
|
|
$1195 = $1194;
|
|
$1196 = HEAP32[$1195 >> 2] | 0;
|
|
$1197 = _bitshift64Ashr(0, $1193 | 0, 32) | 0;
|
|
$1198 = tempRet0;
|
|
$1199 = $178;
|
|
$1200 = $1199;
|
|
$1201 = HEAP32[$1200 >> 2] | 0;
|
|
$1202 = ($1199 + 4) | 0;
|
|
$1203 = $1202;
|
|
$1204 = HEAP32[$1203 >> 2] | 0;
|
|
$1205 = _bitshift64Ashr(0, $1201 | 0, 32) | 0;
|
|
$1206 = tempRet0;
|
|
$1207 = ___muldi3($1205 | 0, $1206 | 0, $1197 | 0, $1198 | 0) | 0;
|
|
$1208 = tempRet0;
|
|
$1209 = _i64Add($1189 | 0, $1190 | 0, $1207 | 0, $1208 | 0) | 0;
|
|
$1210 = tempRet0;
|
|
$1211 = $41;
|
|
$1212 = $1211;
|
|
$1213 = HEAP32[$1212 >> 2] | 0;
|
|
$1214 = ($1211 + 4) | 0;
|
|
$1215 = $1214;
|
|
$1216 = HEAP32[$1215 >> 2] | 0;
|
|
$1217 = _bitshift64Ashr(0, $1213 | 0, 32) | 0;
|
|
$1218 = tempRet0;
|
|
$1219 = $1114;
|
|
$1220 = $1219;
|
|
$1221 = HEAP32[$1220 >> 2] | 0;
|
|
$1222 = ($1219 + 4) | 0;
|
|
$1223 = $1222;
|
|
$1224 = HEAP32[$1223 >> 2] | 0;
|
|
$1225 = _bitshift64Ashr(0, $1221 | 0, 32) | 0;
|
|
$1226 = tempRet0;
|
|
$1227 = ___muldi3($1225 | 0, $1226 | 0, $1217 | 0, $1218 | 0) | 0;
|
|
$1228 = tempRet0;
|
|
$1229 = _i64Add($1209 | 0, $1210 | 0, $1227 | 0, $1228 | 0) | 0;
|
|
$1230 = tempRet0;
|
|
$1231 = $1127;
|
|
$1232 = $1231;
|
|
$1233 = HEAP32[$1232 >> 2] | 0;
|
|
$1234 = ($1231 + 4) | 0;
|
|
$1235 = $1234;
|
|
$1236 = HEAP32[$1235 >> 2] | 0;
|
|
$1237 = _bitshift64Ashr(0, $1233 | 0, 32) | 0;
|
|
$1238 = tempRet0;
|
|
$1239 = $30;
|
|
$1240 = $1239;
|
|
$1241 = HEAP32[$1240 >> 2] | 0;
|
|
$1242 = ($1239 + 4) | 0;
|
|
$1243 = $1242;
|
|
$1244 = HEAP32[$1243 >> 2] | 0;
|
|
$1245 = _bitshift64Ashr(0, $1241 | 0, 32) | 0;
|
|
$1246 = tempRet0;
|
|
$1247 = ___muldi3($1245 | 0, $1246 | 0, $1237 | 0, $1238 | 0) | 0;
|
|
$1248 = tempRet0;
|
|
$1249 = _i64Add($1229 | 0, $1230 | 0, $1247 | 0, $1248 | 0) | 0;
|
|
$1250 = tempRet0;
|
|
$1251 = _bitshift64Shl($1249 | 0, $1250 | 0, 1) | 0;
|
|
$1252 = tempRet0;
|
|
$1253 = $298;
|
|
$1254 = $1253;
|
|
$1255 = HEAP32[$1254 >> 2] | 0;
|
|
$1256 = ($1253 + 4) | 0;
|
|
$1257 = $1256;
|
|
$1258 = HEAP32[$1257 >> 2] | 0;
|
|
$1259 = _bitshift64Ashr(0, $1255 | 0, 32) | 0;
|
|
$1260 = tempRet0;
|
|
$1261 = $557;
|
|
$1262 = $1261;
|
|
$1263 = HEAP32[$1262 >> 2] | 0;
|
|
$1264 = ($1261 + 4) | 0;
|
|
$1265 = $1264;
|
|
$1266 = HEAP32[$1265 >> 2] | 0;
|
|
$1267 = _bitshift64Ashr(0, $1263 | 0, 32) | 0;
|
|
$1268 = tempRet0;
|
|
$1269 = ___muldi3($1267 | 0, $1268 | 0, $1259 | 0, $1260 | 0) | 0;
|
|
$1270 = tempRet0;
|
|
$1271 = _i64Add($1251 | 0, $1252 | 0, $1269 | 0, $1270 | 0) | 0;
|
|
$1272 = tempRet0;
|
|
$1273 = $570;
|
|
$1274 = $1273;
|
|
$1275 = HEAP32[$1274 >> 2] | 0;
|
|
$1276 = ($1273 + 4) | 0;
|
|
$1277 = $1276;
|
|
$1278 = HEAP32[$1277 >> 2] | 0;
|
|
$1279 = _bitshift64Ashr(0, $1275 | 0, 32) | 0;
|
|
$1280 = tempRet0;
|
|
$1281 = $285;
|
|
$1282 = $1281;
|
|
$1283 = HEAP32[$1282 >> 2] | 0;
|
|
$1284 = ($1281 + 4) | 0;
|
|
$1285 = $1284;
|
|
$1286 = HEAP32[$1285 >> 2] | 0;
|
|
$1287 = _bitshift64Ashr(0, $1283 | 0, 32) | 0;
|
|
$1288 = tempRet0;
|
|
$1289 = ___muldi3($1287 | 0, $1288 | 0, $1279 | 0, $1280 | 0) | 0;
|
|
$1290 = tempRet0;
|
|
$1291 = _i64Add($1271 | 0, $1272 | 0, $1289 | 0, $1290 | 0) | 0;
|
|
$1292 = tempRet0;
|
|
$1293 = $106;
|
|
$1294 = $1293;
|
|
$1295 = HEAP32[$1294 >> 2] | 0;
|
|
$1296 = ($1293 + 4) | 0;
|
|
$1297 = $1296;
|
|
$1298 = HEAP32[$1297 >> 2] | 0;
|
|
$1299 = _bitshift64Ashr(0, $1295 | 0, 32) | 0;
|
|
$1300 = tempRet0;
|
|
$1301 = $909;
|
|
$1302 = $1301;
|
|
$1303 = HEAP32[$1302 >> 2] | 0;
|
|
$1304 = ($1301 + 4) | 0;
|
|
$1305 = $1304;
|
|
$1306 = HEAP32[$1305 >> 2] | 0;
|
|
$1307 = _bitshift64Ashr(0, $1303 | 0, 32) | 0;
|
|
$1308 = tempRet0;
|
|
$1309 = ___muldi3($1307 | 0, $1308 | 0, $1299 | 0, $1300 | 0) | 0;
|
|
$1310 = tempRet0;
|
|
$1311 = _i64Add($1291 | 0, $1292 | 0, $1309 | 0, $1310 | 0) | 0;
|
|
$1312 = tempRet0;
|
|
$1313 = $922;
|
|
$1314 = $1313;
|
|
$1315 = HEAP32[$1314 >> 2] | 0;
|
|
$1316 = ($1313 + 4) | 0;
|
|
$1317 = $1316;
|
|
$1318 = HEAP32[$1317 >> 2] | 0;
|
|
$1319 = _bitshift64Ashr(0, $1315 | 0, 32) | 0;
|
|
$1320 = tempRet0;
|
|
$1321 = $93;
|
|
$1322 = $1321;
|
|
$1323 = HEAP32[$1322 >> 2] | 0;
|
|
$1324 = ($1321 + 4) | 0;
|
|
$1325 = $1324;
|
|
$1326 = HEAP32[$1325 >> 2] | 0;
|
|
$1327 = _bitshift64Ashr(0, $1323 | 0, 32) | 0;
|
|
$1328 = tempRet0;
|
|
$1329 = ___muldi3($1327 | 0, $1328 | 0, $1319 | 0, $1320 | 0) | 0;
|
|
$1330 = tempRet0;
|
|
$1331 = _i64Add($1311 | 0, $1312 | 0, $1329 | 0, $1330 | 0) | 0;
|
|
$1332 = tempRet0;
|
|
$1333 = ($output + 80) | 0;
|
|
$1334 = $1333;
|
|
$1335 = $1334;
|
|
HEAP32[$1335 >> 2] = $1331;
|
|
$1336 = ($1334 + 4) | 0;
|
|
$1337 = $1336;
|
|
HEAP32[$1337 >> 2] = $1332;
|
|
$1338 = $423;
|
|
$1339 = $1338;
|
|
$1340 = HEAP32[$1339 >> 2] | 0;
|
|
$1341 = ($1338 + 4) | 0;
|
|
$1342 = $1341;
|
|
$1343 = HEAP32[$1342 >> 2] | 0;
|
|
$1344 = _bitshift64Ashr(0, $1340 | 0, 32) | 0;
|
|
$1345 = tempRet0;
|
|
$1346 = $557;
|
|
$1347 = $1346;
|
|
$1348 = HEAP32[$1347 >> 2] | 0;
|
|
$1349 = ($1346 + 4) | 0;
|
|
$1350 = $1349;
|
|
$1351 = HEAP32[$1350 >> 2] | 0;
|
|
$1352 = _bitshift64Ashr(0, $1348 | 0, 32) | 0;
|
|
$1353 = tempRet0;
|
|
$1354 = ___muldi3($1352 | 0, $1353 | 0, $1344 | 0, $1345 | 0) | 0;
|
|
$1355 = tempRet0;
|
|
$1356 = $570;
|
|
$1357 = $1356;
|
|
$1358 = HEAP32[$1357 >> 2] | 0;
|
|
$1359 = ($1356 + 4) | 0;
|
|
$1360 = $1359;
|
|
$1361 = HEAP32[$1360 >> 2] | 0;
|
|
$1362 = _bitshift64Ashr(0, $1358 | 0, 32) | 0;
|
|
$1363 = tempRet0;
|
|
$1364 = $410;
|
|
$1365 = $1364;
|
|
$1366 = HEAP32[$1365 >> 2] | 0;
|
|
$1367 = ($1364 + 4) | 0;
|
|
$1368 = $1367;
|
|
$1369 = HEAP32[$1368 >> 2] | 0;
|
|
$1370 = _bitshift64Ashr(0, $1366 | 0, 32) | 0;
|
|
$1371 = tempRet0;
|
|
$1372 = ___muldi3($1370 | 0, $1371 | 0, $1362 | 0, $1363 | 0) | 0;
|
|
$1373 = tempRet0;
|
|
$1374 = _i64Add($1372 | 0, $1373 | 0, $1354 | 0, $1355 | 0) | 0;
|
|
$1375 = tempRet0;
|
|
$1376 = $298;
|
|
$1377 = $1376;
|
|
$1378 = HEAP32[$1377 >> 2] | 0;
|
|
$1379 = ($1376 + 4) | 0;
|
|
$1380 = $1379;
|
|
$1381 = HEAP32[$1380 >> 2] | 0;
|
|
$1382 = _bitshift64Ashr(0, $1378 | 0, 32) | 0;
|
|
$1383 = tempRet0;
|
|
$1384 = $722;
|
|
$1385 = $1384;
|
|
$1386 = HEAP32[$1385 >> 2] | 0;
|
|
$1387 = ($1384 + 4) | 0;
|
|
$1388 = $1387;
|
|
$1389 = HEAP32[$1388 >> 2] | 0;
|
|
$1390 = _bitshift64Ashr(0, $1386 | 0, 32) | 0;
|
|
$1391 = tempRet0;
|
|
$1392 = ___muldi3($1390 | 0, $1391 | 0, $1382 | 0, $1383 | 0) | 0;
|
|
$1393 = tempRet0;
|
|
$1394 = _i64Add($1374 | 0, $1375 | 0, $1392 | 0, $1393 | 0) | 0;
|
|
$1395 = tempRet0;
|
|
$1396 = $735;
|
|
$1397 = $1396;
|
|
$1398 = HEAP32[$1397 >> 2] | 0;
|
|
$1399 = ($1396 + 4) | 0;
|
|
$1400 = $1399;
|
|
$1401 = HEAP32[$1400 >> 2] | 0;
|
|
$1402 = _bitshift64Ashr(0, $1398 | 0, 32) | 0;
|
|
$1403 = tempRet0;
|
|
$1404 = $285;
|
|
$1405 = $1404;
|
|
$1406 = HEAP32[$1405 >> 2] | 0;
|
|
$1407 = ($1404 + 4) | 0;
|
|
$1408 = $1407;
|
|
$1409 = HEAP32[$1408 >> 2] | 0;
|
|
$1410 = _bitshift64Ashr(0, $1406 | 0, 32) | 0;
|
|
$1411 = tempRet0;
|
|
$1412 = ___muldi3($1410 | 0, $1411 | 0, $1402 | 0, $1403 | 0) | 0;
|
|
$1413 = tempRet0;
|
|
$1414 = _i64Add($1394 | 0, $1395 | 0, $1412 | 0, $1413 | 0) | 0;
|
|
$1415 = tempRet0;
|
|
$1416 = $191;
|
|
$1417 = $1416;
|
|
$1418 = HEAP32[$1417 >> 2] | 0;
|
|
$1419 = ($1416 + 4) | 0;
|
|
$1420 = $1419;
|
|
$1421 = HEAP32[$1420 >> 2] | 0;
|
|
$1422 = _bitshift64Ashr(0, $1418 | 0, 32) | 0;
|
|
$1423 = tempRet0;
|
|
$1424 = $909;
|
|
$1425 = $1424;
|
|
$1426 = HEAP32[$1425 >> 2] | 0;
|
|
$1427 = ($1424 + 4) | 0;
|
|
$1428 = $1427;
|
|
$1429 = HEAP32[$1428 >> 2] | 0;
|
|
$1430 = _bitshift64Ashr(0, $1426 | 0, 32) | 0;
|
|
$1431 = tempRet0;
|
|
$1432 = ___muldi3($1430 | 0, $1431 | 0, $1422 | 0, $1423 | 0) | 0;
|
|
$1433 = tempRet0;
|
|
$1434 = _i64Add($1414 | 0, $1415 | 0, $1432 | 0, $1433 | 0) | 0;
|
|
$1435 = tempRet0;
|
|
$1436 = $922;
|
|
$1437 = $1436;
|
|
$1438 = HEAP32[$1437 >> 2] | 0;
|
|
$1439 = ($1436 + 4) | 0;
|
|
$1440 = $1439;
|
|
$1441 = HEAP32[$1440 >> 2] | 0;
|
|
$1442 = _bitshift64Ashr(0, $1438 | 0, 32) | 0;
|
|
$1443 = tempRet0;
|
|
$1444 = $178;
|
|
$1445 = $1444;
|
|
$1446 = HEAP32[$1445 >> 2] | 0;
|
|
$1447 = ($1444 + 4) | 0;
|
|
$1448 = $1447;
|
|
$1449 = HEAP32[$1448 >> 2] | 0;
|
|
$1450 = _bitshift64Ashr(0, $1446 | 0, 32) | 0;
|
|
$1451 = tempRet0;
|
|
$1452 = ___muldi3($1450 | 0, $1451 | 0, $1442 | 0, $1443 | 0) | 0;
|
|
$1453 = tempRet0;
|
|
$1454 = _i64Add($1434 | 0, $1435 | 0, $1452 | 0, $1453 | 0) | 0;
|
|
$1455 = tempRet0;
|
|
$1456 = $106;
|
|
$1457 = $1456;
|
|
$1458 = HEAP32[$1457 >> 2] | 0;
|
|
$1459 = ($1456 + 4) | 0;
|
|
$1460 = $1459;
|
|
$1461 = HEAP32[$1460 >> 2] | 0;
|
|
$1462 = _bitshift64Ashr(0, $1458 | 0, 32) | 0;
|
|
$1463 = tempRet0;
|
|
$1464 = $1114;
|
|
$1465 = $1464;
|
|
$1466 = HEAP32[$1465 >> 2] | 0;
|
|
$1467 = ($1464 + 4) | 0;
|
|
$1468 = $1467;
|
|
$1469 = HEAP32[$1468 >> 2] | 0;
|
|
$1470 = _bitshift64Ashr(0, $1466 | 0, 32) | 0;
|
|
$1471 = tempRet0;
|
|
$1472 = ___muldi3($1470 | 0, $1471 | 0, $1462 | 0, $1463 | 0) | 0;
|
|
$1473 = tempRet0;
|
|
$1474 = _i64Add($1454 | 0, $1455 | 0, $1472 | 0, $1473 | 0) | 0;
|
|
$1475 = tempRet0;
|
|
$1476 = $1127;
|
|
$1477 = $1476;
|
|
$1478 = HEAP32[$1477 >> 2] | 0;
|
|
$1479 = ($1476 + 4) | 0;
|
|
$1480 = $1479;
|
|
$1481 = HEAP32[$1480 >> 2] | 0;
|
|
$1482 = _bitshift64Ashr(0, $1478 | 0, 32) | 0;
|
|
$1483 = tempRet0;
|
|
$1484 = $93;
|
|
$1485 = $1484;
|
|
$1486 = HEAP32[$1485 >> 2] | 0;
|
|
$1487 = ($1484 + 4) | 0;
|
|
$1488 = $1487;
|
|
$1489 = HEAP32[$1488 >> 2] | 0;
|
|
$1490 = _bitshift64Ashr(0, $1486 | 0, 32) | 0;
|
|
$1491 = tempRet0;
|
|
$1492 = ___muldi3($1490 | 0, $1491 | 0, $1482 | 0, $1483 | 0) | 0;
|
|
$1493 = tempRet0;
|
|
$1494 = _i64Add($1474 | 0, $1475 | 0, $1492 | 0, $1493 | 0) | 0;
|
|
$1495 = tempRet0;
|
|
$1496 = ($output + 88) | 0;
|
|
$1497 = $1496;
|
|
$1498 = $1497;
|
|
HEAP32[$1498 >> 2] = $1494;
|
|
$1499 = ($1497 + 4) | 0;
|
|
$1500 = $1499;
|
|
HEAP32[$1500 >> 2] = $1495;
|
|
$1501 = $570;
|
|
$1502 = $1501;
|
|
$1503 = HEAP32[$1502 >> 2] | 0;
|
|
$1504 = ($1501 + 4) | 0;
|
|
$1505 = $1504;
|
|
$1506 = HEAP32[$1505 >> 2] | 0;
|
|
$1507 = _bitshift64Ashr(0, $1503 | 0, 32) | 0;
|
|
$1508 = tempRet0;
|
|
$1509 = $557;
|
|
$1510 = $1509;
|
|
$1511 = HEAP32[$1510 >> 2] | 0;
|
|
$1512 = ($1509 + 4) | 0;
|
|
$1513 = $1512;
|
|
$1514 = HEAP32[$1513 >> 2] | 0;
|
|
$1515 = _bitshift64Ashr(0, $1511 | 0, 32) | 0;
|
|
$1516 = tempRet0;
|
|
$1517 = ___muldi3($1515 | 0, $1516 | 0, $1507 | 0, $1508 | 0) | 0;
|
|
$1518 = tempRet0;
|
|
$1519 = $423;
|
|
$1520 = $1519;
|
|
$1521 = HEAP32[$1520 >> 2] | 0;
|
|
$1522 = ($1519 + 4) | 0;
|
|
$1523 = $1522;
|
|
$1524 = HEAP32[$1523 >> 2] | 0;
|
|
$1525 = _bitshift64Ashr(0, $1521 | 0, 32) | 0;
|
|
$1526 = tempRet0;
|
|
$1527 = $722;
|
|
$1528 = $1527;
|
|
$1529 = HEAP32[$1528 >> 2] | 0;
|
|
$1530 = ($1527 + 4) | 0;
|
|
$1531 = $1530;
|
|
$1532 = HEAP32[$1531 >> 2] | 0;
|
|
$1533 = _bitshift64Ashr(0, $1529 | 0, 32) | 0;
|
|
$1534 = tempRet0;
|
|
$1535 = ___muldi3($1533 | 0, $1534 | 0, $1525 | 0, $1526 | 0) | 0;
|
|
$1536 = tempRet0;
|
|
$1537 = $735;
|
|
$1538 = $1537;
|
|
$1539 = HEAP32[$1538 >> 2] | 0;
|
|
$1540 = ($1537 + 4) | 0;
|
|
$1541 = $1540;
|
|
$1542 = HEAP32[$1541 >> 2] | 0;
|
|
$1543 = _bitshift64Ashr(0, $1539 | 0, 32) | 0;
|
|
$1544 = tempRet0;
|
|
$1545 = $410;
|
|
$1546 = $1545;
|
|
$1547 = HEAP32[$1546 >> 2] | 0;
|
|
$1548 = ($1545 + 4) | 0;
|
|
$1549 = $1548;
|
|
$1550 = HEAP32[$1549 >> 2] | 0;
|
|
$1551 = _bitshift64Ashr(0, $1547 | 0, 32) | 0;
|
|
$1552 = tempRet0;
|
|
$1553 = ___muldi3($1551 | 0, $1552 | 0, $1543 | 0, $1544 | 0) | 0;
|
|
$1554 = tempRet0;
|
|
$1555 = _i64Add($1553 | 0, $1554 | 0, $1535 | 0, $1536 | 0) | 0;
|
|
$1556 = tempRet0;
|
|
$1557 = $191;
|
|
$1558 = $1557;
|
|
$1559 = HEAP32[$1558 >> 2] | 0;
|
|
$1560 = ($1557 + 4) | 0;
|
|
$1561 = $1560;
|
|
$1562 = HEAP32[$1561 >> 2] | 0;
|
|
$1563 = _bitshift64Ashr(0, $1559 | 0, 32) | 0;
|
|
$1564 = tempRet0;
|
|
$1565 = $1114;
|
|
$1566 = $1565;
|
|
$1567 = HEAP32[$1566 >> 2] | 0;
|
|
$1568 = ($1565 + 4) | 0;
|
|
$1569 = $1568;
|
|
$1570 = HEAP32[$1569 >> 2] | 0;
|
|
$1571 = _bitshift64Ashr(0, $1567 | 0, 32) | 0;
|
|
$1572 = tempRet0;
|
|
$1573 = ___muldi3($1571 | 0, $1572 | 0, $1563 | 0, $1564 | 0) | 0;
|
|
$1574 = tempRet0;
|
|
$1575 = _i64Add($1555 | 0, $1556 | 0, $1573 | 0, $1574 | 0) | 0;
|
|
$1576 = tempRet0;
|
|
$1577 = $1127;
|
|
$1578 = $1577;
|
|
$1579 = HEAP32[$1578 >> 2] | 0;
|
|
$1580 = ($1577 + 4) | 0;
|
|
$1581 = $1580;
|
|
$1582 = HEAP32[$1581 >> 2] | 0;
|
|
$1583 = _bitshift64Ashr(0, $1579 | 0, 32) | 0;
|
|
$1584 = tempRet0;
|
|
$1585 = $178;
|
|
$1586 = $1585;
|
|
$1587 = HEAP32[$1586 >> 2] | 0;
|
|
$1588 = ($1585 + 4) | 0;
|
|
$1589 = $1588;
|
|
$1590 = HEAP32[$1589 >> 2] | 0;
|
|
$1591 = _bitshift64Ashr(0, $1587 | 0, 32) | 0;
|
|
$1592 = tempRet0;
|
|
$1593 = ___muldi3($1591 | 0, $1592 | 0, $1583 | 0, $1584 | 0) | 0;
|
|
$1594 = tempRet0;
|
|
$1595 = _i64Add($1575 | 0, $1576 | 0, $1593 | 0, $1594 | 0) | 0;
|
|
$1596 = tempRet0;
|
|
$1597 = _bitshift64Shl($1595 | 0, $1596 | 0, 1) | 0;
|
|
$1598 = tempRet0;
|
|
$1599 = _i64Add($1597 | 0, $1598 | 0, $1517 | 0, $1518 | 0) | 0;
|
|
$1600 = tempRet0;
|
|
$1601 = $298;
|
|
$1602 = $1601;
|
|
$1603 = HEAP32[$1602 >> 2] | 0;
|
|
$1604 = ($1601 + 4) | 0;
|
|
$1605 = $1604;
|
|
$1606 = HEAP32[$1605 >> 2] | 0;
|
|
$1607 = _bitshift64Ashr(0, $1603 | 0, 32) | 0;
|
|
$1608 = tempRet0;
|
|
$1609 = $909;
|
|
$1610 = $1609;
|
|
$1611 = HEAP32[$1610 >> 2] | 0;
|
|
$1612 = ($1609 + 4) | 0;
|
|
$1613 = $1612;
|
|
$1614 = HEAP32[$1613 >> 2] | 0;
|
|
$1615 = _bitshift64Ashr(0, $1611 | 0, 32) | 0;
|
|
$1616 = tempRet0;
|
|
$1617 = ___muldi3($1615 | 0, $1616 | 0, $1607 | 0, $1608 | 0) | 0;
|
|
$1618 = tempRet0;
|
|
$1619 = _i64Add($1599 | 0, $1600 | 0, $1617 | 0, $1618 | 0) | 0;
|
|
$1620 = tempRet0;
|
|
$1621 = $922;
|
|
$1622 = $1621;
|
|
$1623 = HEAP32[$1622 >> 2] | 0;
|
|
$1624 = ($1621 + 4) | 0;
|
|
$1625 = $1624;
|
|
$1626 = HEAP32[$1625 >> 2] | 0;
|
|
$1627 = _bitshift64Ashr(0, $1623 | 0, 32) | 0;
|
|
$1628 = tempRet0;
|
|
$1629 = $285;
|
|
$1630 = $1629;
|
|
$1631 = HEAP32[$1630 >> 2] | 0;
|
|
$1632 = ($1629 + 4) | 0;
|
|
$1633 = $1632;
|
|
$1634 = HEAP32[$1633 >> 2] | 0;
|
|
$1635 = _bitshift64Ashr(0, $1631 | 0, 32) | 0;
|
|
$1636 = tempRet0;
|
|
$1637 = ___muldi3($1635 | 0, $1636 | 0, $1627 | 0, $1628 | 0) | 0;
|
|
$1638 = tempRet0;
|
|
$1639 = _i64Add($1619 | 0, $1620 | 0, $1637 | 0, $1638 | 0) | 0;
|
|
$1640 = tempRet0;
|
|
$1641 = ($output + 96) | 0;
|
|
$1642 = $1641;
|
|
$1643 = $1642;
|
|
HEAP32[$1643 >> 2] = $1639;
|
|
$1644 = ($1642 + 4) | 0;
|
|
$1645 = $1644;
|
|
HEAP32[$1645 >> 2] = $1640;
|
|
$1646 = $570;
|
|
$1647 = $1646;
|
|
$1648 = HEAP32[$1647 >> 2] | 0;
|
|
$1649 = ($1646 + 4) | 0;
|
|
$1650 = $1649;
|
|
$1651 = HEAP32[$1650 >> 2] | 0;
|
|
$1652 = _bitshift64Ashr(0, $1648 | 0, 32) | 0;
|
|
$1653 = tempRet0;
|
|
$1654 = $722;
|
|
$1655 = $1654;
|
|
$1656 = HEAP32[$1655 >> 2] | 0;
|
|
$1657 = ($1654 + 4) | 0;
|
|
$1658 = $1657;
|
|
$1659 = HEAP32[$1658 >> 2] | 0;
|
|
$1660 = _bitshift64Ashr(0, $1656 | 0, 32) | 0;
|
|
$1661 = tempRet0;
|
|
$1662 = ___muldi3($1660 | 0, $1661 | 0, $1652 | 0, $1653 | 0) | 0;
|
|
$1663 = tempRet0;
|
|
$1664 = $735;
|
|
$1665 = $1664;
|
|
$1666 = HEAP32[$1665 >> 2] | 0;
|
|
$1667 = ($1664 + 4) | 0;
|
|
$1668 = $1667;
|
|
$1669 = HEAP32[$1668 >> 2] | 0;
|
|
$1670 = _bitshift64Ashr(0, $1666 | 0, 32) | 0;
|
|
$1671 = tempRet0;
|
|
$1672 = $557;
|
|
$1673 = $1672;
|
|
$1674 = HEAP32[$1673 >> 2] | 0;
|
|
$1675 = ($1672 + 4) | 0;
|
|
$1676 = $1675;
|
|
$1677 = HEAP32[$1676 >> 2] | 0;
|
|
$1678 = _bitshift64Ashr(0, $1674 | 0, 32) | 0;
|
|
$1679 = tempRet0;
|
|
$1680 = ___muldi3($1678 | 0, $1679 | 0, $1670 | 0, $1671 | 0) | 0;
|
|
$1681 = tempRet0;
|
|
$1682 = _i64Add($1680 | 0, $1681 | 0, $1662 | 0, $1663 | 0) | 0;
|
|
$1683 = tempRet0;
|
|
$1684 = $423;
|
|
$1685 = $1684;
|
|
$1686 = HEAP32[$1685 >> 2] | 0;
|
|
$1687 = ($1684 + 4) | 0;
|
|
$1688 = $1687;
|
|
$1689 = HEAP32[$1688 >> 2] | 0;
|
|
$1690 = _bitshift64Ashr(0, $1686 | 0, 32) | 0;
|
|
$1691 = tempRet0;
|
|
$1692 = $909;
|
|
$1693 = $1692;
|
|
$1694 = HEAP32[$1693 >> 2] | 0;
|
|
$1695 = ($1692 + 4) | 0;
|
|
$1696 = $1695;
|
|
$1697 = HEAP32[$1696 >> 2] | 0;
|
|
$1698 = _bitshift64Ashr(0, $1694 | 0, 32) | 0;
|
|
$1699 = tempRet0;
|
|
$1700 = ___muldi3($1698 | 0, $1699 | 0, $1690 | 0, $1691 | 0) | 0;
|
|
$1701 = tempRet0;
|
|
$1702 = _i64Add($1682 | 0, $1683 | 0, $1700 | 0, $1701 | 0) | 0;
|
|
$1703 = tempRet0;
|
|
$1704 = $922;
|
|
$1705 = $1704;
|
|
$1706 = HEAP32[$1705 >> 2] | 0;
|
|
$1707 = ($1704 + 4) | 0;
|
|
$1708 = $1707;
|
|
$1709 = HEAP32[$1708 >> 2] | 0;
|
|
$1710 = _bitshift64Ashr(0, $1706 | 0, 32) | 0;
|
|
$1711 = tempRet0;
|
|
$1712 = $410;
|
|
$1713 = $1712;
|
|
$1714 = HEAP32[$1713 >> 2] | 0;
|
|
$1715 = ($1712 + 4) | 0;
|
|
$1716 = $1715;
|
|
$1717 = HEAP32[$1716 >> 2] | 0;
|
|
$1718 = _bitshift64Ashr(0, $1714 | 0, 32) | 0;
|
|
$1719 = tempRet0;
|
|
$1720 = ___muldi3($1718 | 0, $1719 | 0, $1710 | 0, $1711 | 0) | 0;
|
|
$1721 = tempRet0;
|
|
$1722 = _i64Add($1702 | 0, $1703 | 0, $1720 | 0, $1721 | 0) | 0;
|
|
$1723 = tempRet0;
|
|
$1724 = $298;
|
|
$1725 = $1724;
|
|
$1726 = HEAP32[$1725 >> 2] | 0;
|
|
$1727 = ($1724 + 4) | 0;
|
|
$1728 = $1727;
|
|
$1729 = HEAP32[$1728 >> 2] | 0;
|
|
$1730 = _bitshift64Ashr(0, $1726 | 0, 32) | 0;
|
|
$1731 = tempRet0;
|
|
$1732 = $1114;
|
|
$1733 = $1732;
|
|
$1734 = HEAP32[$1733 >> 2] | 0;
|
|
$1735 = ($1732 + 4) | 0;
|
|
$1736 = $1735;
|
|
$1737 = HEAP32[$1736 >> 2] | 0;
|
|
$1738 = _bitshift64Ashr(0, $1734 | 0, 32) | 0;
|
|
$1739 = tempRet0;
|
|
$1740 = ___muldi3($1738 | 0, $1739 | 0, $1730 | 0, $1731 | 0) | 0;
|
|
$1741 = tempRet0;
|
|
$1742 = _i64Add($1722 | 0, $1723 | 0, $1740 | 0, $1741 | 0) | 0;
|
|
$1743 = tempRet0;
|
|
$1744 = $1127;
|
|
$1745 = $1744;
|
|
$1746 = HEAP32[$1745 >> 2] | 0;
|
|
$1747 = ($1744 + 4) | 0;
|
|
$1748 = $1747;
|
|
$1749 = HEAP32[$1748 >> 2] | 0;
|
|
$1750 = _bitshift64Ashr(0, $1746 | 0, 32) | 0;
|
|
$1751 = tempRet0;
|
|
$1752 = $285;
|
|
$1753 = $1752;
|
|
$1754 = HEAP32[$1753 >> 2] | 0;
|
|
$1755 = ($1752 + 4) | 0;
|
|
$1756 = $1755;
|
|
$1757 = HEAP32[$1756 >> 2] | 0;
|
|
$1758 = _bitshift64Ashr(0, $1754 | 0, 32) | 0;
|
|
$1759 = tempRet0;
|
|
$1760 = ___muldi3($1758 | 0, $1759 | 0, $1750 | 0, $1751 | 0) | 0;
|
|
$1761 = tempRet0;
|
|
$1762 = _i64Add($1742 | 0, $1743 | 0, $1760 | 0, $1761 | 0) | 0;
|
|
$1763 = tempRet0;
|
|
$1764 = ($output + 104) | 0;
|
|
$1765 = $1764;
|
|
$1766 = $1765;
|
|
HEAP32[$1766 >> 2] = $1762;
|
|
$1767 = ($1765 + 4) | 0;
|
|
$1768 = $1767;
|
|
HEAP32[$1768 >> 2] = $1763;
|
|
$1769 = $735;
|
|
$1770 = $1769;
|
|
$1771 = HEAP32[$1770 >> 2] | 0;
|
|
$1772 = ($1769 + 4) | 0;
|
|
$1773 = $1772;
|
|
$1774 = HEAP32[$1773 >> 2] | 0;
|
|
$1775 = _bitshift64Ashr(0, $1771 | 0, 32) | 0;
|
|
$1776 = tempRet0;
|
|
$1777 = $722;
|
|
$1778 = $1777;
|
|
$1779 = HEAP32[$1778 >> 2] | 0;
|
|
$1780 = ($1777 + 4) | 0;
|
|
$1781 = $1780;
|
|
$1782 = HEAP32[$1781 >> 2] | 0;
|
|
$1783 = _bitshift64Ashr(0, $1779 | 0, 32) | 0;
|
|
$1784 = tempRet0;
|
|
$1785 = ___muldi3($1783 | 0, $1784 | 0, $1775 | 0, $1776 | 0) | 0;
|
|
$1786 = tempRet0;
|
|
$1787 = $423;
|
|
$1788 = $1787;
|
|
$1789 = HEAP32[$1788 >> 2] | 0;
|
|
$1790 = ($1787 + 4) | 0;
|
|
$1791 = $1790;
|
|
$1792 = HEAP32[$1791 >> 2] | 0;
|
|
$1793 = _bitshift64Ashr(0, $1789 | 0, 32) | 0;
|
|
$1794 = tempRet0;
|
|
$1795 = $1114;
|
|
$1796 = $1795;
|
|
$1797 = HEAP32[$1796 >> 2] | 0;
|
|
$1798 = ($1795 + 4) | 0;
|
|
$1799 = $1798;
|
|
$1800 = HEAP32[$1799 >> 2] | 0;
|
|
$1801 = _bitshift64Ashr(0, $1797 | 0, 32) | 0;
|
|
$1802 = tempRet0;
|
|
$1803 = ___muldi3($1801 | 0, $1802 | 0, $1793 | 0, $1794 | 0) | 0;
|
|
$1804 = tempRet0;
|
|
$1805 = _i64Add($1803 | 0, $1804 | 0, $1785 | 0, $1786 | 0) | 0;
|
|
$1806 = tempRet0;
|
|
$1807 = $1127;
|
|
$1808 = $1807;
|
|
$1809 = HEAP32[$1808 >> 2] | 0;
|
|
$1810 = ($1807 + 4) | 0;
|
|
$1811 = $1810;
|
|
$1812 = HEAP32[$1811 >> 2] | 0;
|
|
$1813 = _bitshift64Ashr(0, $1809 | 0, 32) | 0;
|
|
$1814 = tempRet0;
|
|
$1815 = $410;
|
|
$1816 = $1815;
|
|
$1817 = HEAP32[$1816 >> 2] | 0;
|
|
$1818 = ($1815 + 4) | 0;
|
|
$1819 = $1818;
|
|
$1820 = HEAP32[$1819 >> 2] | 0;
|
|
$1821 = _bitshift64Ashr(0, $1817 | 0, 32) | 0;
|
|
$1822 = tempRet0;
|
|
$1823 = ___muldi3($1821 | 0, $1822 | 0, $1813 | 0, $1814 | 0) | 0;
|
|
$1824 = tempRet0;
|
|
$1825 = _i64Add($1805 | 0, $1806 | 0, $1823 | 0, $1824 | 0) | 0;
|
|
$1826 = tempRet0;
|
|
$1827 = _bitshift64Shl($1825 | 0, $1826 | 0, 1) | 0;
|
|
$1828 = tempRet0;
|
|
$1829 = $570;
|
|
$1830 = $1829;
|
|
$1831 = HEAP32[$1830 >> 2] | 0;
|
|
$1832 = ($1829 + 4) | 0;
|
|
$1833 = $1832;
|
|
$1834 = HEAP32[$1833 >> 2] | 0;
|
|
$1835 = _bitshift64Ashr(0, $1831 | 0, 32) | 0;
|
|
$1836 = tempRet0;
|
|
$1837 = $909;
|
|
$1838 = $1837;
|
|
$1839 = HEAP32[$1838 >> 2] | 0;
|
|
$1840 = ($1837 + 4) | 0;
|
|
$1841 = $1840;
|
|
$1842 = HEAP32[$1841 >> 2] | 0;
|
|
$1843 = _bitshift64Ashr(0, $1839 | 0, 32) | 0;
|
|
$1844 = tempRet0;
|
|
$1845 = ___muldi3($1843 | 0, $1844 | 0, $1835 | 0, $1836 | 0) | 0;
|
|
$1846 = tempRet0;
|
|
$1847 = _i64Add($1827 | 0, $1828 | 0, $1845 | 0, $1846 | 0) | 0;
|
|
$1848 = tempRet0;
|
|
$1849 = $922;
|
|
$1850 = $1849;
|
|
$1851 = HEAP32[$1850 >> 2] | 0;
|
|
$1852 = ($1849 + 4) | 0;
|
|
$1853 = $1852;
|
|
$1854 = HEAP32[$1853 >> 2] | 0;
|
|
$1855 = _bitshift64Ashr(0, $1851 | 0, 32) | 0;
|
|
$1856 = tempRet0;
|
|
$1857 = $557;
|
|
$1858 = $1857;
|
|
$1859 = HEAP32[$1858 >> 2] | 0;
|
|
$1860 = ($1857 + 4) | 0;
|
|
$1861 = $1860;
|
|
$1862 = HEAP32[$1861 >> 2] | 0;
|
|
$1863 = _bitshift64Ashr(0, $1859 | 0, 32) | 0;
|
|
$1864 = tempRet0;
|
|
$1865 = ___muldi3($1863 | 0, $1864 | 0, $1855 | 0, $1856 | 0) | 0;
|
|
$1866 = tempRet0;
|
|
$1867 = _i64Add($1847 | 0, $1848 | 0, $1865 | 0, $1866 | 0) | 0;
|
|
$1868 = tempRet0;
|
|
$1869 = ($output + 112) | 0;
|
|
$1870 = $1869;
|
|
$1871 = $1870;
|
|
HEAP32[$1871 >> 2] = $1867;
|
|
$1872 = ($1870 + 4) | 0;
|
|
$1873 = $1872;
|
|
HEAP32[$1873 >> 2] = $1868;
|
|
$1874 = $735;
|
|
$1875 = $1874;
|
|
$1876 = HEAP32[$1875 >> 2] | 0;
|
|
$1877 = ($1874 + 4) | 0;
|
|
$1878 = $1877;
|
|
$1879 = HEAP32[$1878 >> 2] | 0;
|
|
$1880 = _bitshift64Ashr(0, $1876 | 0, 32) | 0;
|
|
$1881 = tempRet0;
|
|
$1882 = $909;
|
|
$1883 = $1882;
|
|
$1884 = HEAP32[$1883 >> 2] | 0;
|
|
$1885 = ($1882 + 4) | 0;
|
|
$1886 = $1885;
|
|
$1887 = HEAP32[$1886 >> 2] | 0;
|
|
$1888 = _bitshift64Ashr(0, $1884 | 0, 32) | 0;
|
|
$1889 = tempRet0;
|
|
$1890 = ___muldi3($1888 | 0, $1889 | 0, $1880 | 0, $1881 | 0) | 0;
|
|
$1891 = tempRet0;
|
|
$1892 = $922;
|
|
$1893 = $1892;
|
|
$1894 = HEAP32[$1893 >> 2] | 0;
|
|
$1895 = ($1892 + 4) | 0;
|
|
$1896 = $1895;
|
|
$1897 = HEAP32[$1896 >> 2] | 0;
|
|
$1898 = _bitshift64Ashr(0, $1894 | 0, 32) | 0;
|
|
$1899 = tempRet0;
|
|
$1900 = $722;
|
|
$1901 = $1900;
|
|
$1902 = HEAP32[$1901 >> 2] | 0;
|
|
$1903 = ($1900 + 4) | 0;
|
|
$1904 = $1903;
|
|
$1905 = HEAP32[$1904 >> 2] | 0;
|
|
$1906 = _bitshift64Ashr(0, $1902 | 0, 32) | 0;
|
|
$1907 = tempRet0;
|
|
$1908 = ___muldi3($1906 | 0, $1907 | 0, $1898 | 0, $1899 | 0) | 0;
|
|
$1909 = tempRet0;
|
|
$1910 = _i64Add($1908 | 0, $1909 | 0, $1890 | 0, $1891 | 0) | 0;
|
|
$1911 = tempRet0;
|
|
$1912 = $570;
|
|
$1913 = $1912;
|
|
$1914 = HEAP32[$1913 >> 2] | 0;
|
|
$1915 = ($1912 + 4) | 0;
|
|
$1916 = $1915;
|
|
$1917 = HEAP32[$1916 >> 2] | 0;
|
|
$1918 = _bitshift64Ashr(0, $1914 | 0, 32) | 0;
|
|
$1919 = tempRet0;
|
|
$1920 = $1114;
|
|
$1921 = $1920;
|
|
$1922 = HEAP32[$1921 >> 2] | 0;
|
|
$1923 = ($1920 + 4) | 0;
|
|
$1924 = $1923;
|
|
$1925 = HEAP32[$1924 >> 2] | 0;
|
|
$1926 = _bitshift64Ashr(0, $1922 | 0, 32) | 0;
|
|
$1927 = tempRet0;
|
|
$1928 = ___muldi3($1926 | 0, $1927 | 0, $1918 | 0, $1919 | 0) | 0;
|
|
$1929 = tempRet0;
|
|
$1930 = _i64Add($1910 | 0, $1911 | 0, $1928 | 0, $1929 | 0) | 0;
|
|
$1931 = tempRet0;
|
|
$1932 = $1127;
|
|
$1933 = $1932;
|
|
$1934 = HEAP32[$1933 >> 2] | 0;
|
|
$1935 = ($1932 + 4) | 0;
|
|
$1936 = $1935;
|
|
$1937 = HEAP32[$1936 >> 2] | 0;
|
|
$1938 = _bitshift64Ashr(0, $1934 | 0, 32) | 0;
|
|
$1939 = tempRet0;
|
|
$1940 = $557;
|
|
$1941 = $1940;
|
|
$1942 = HEAP32[$1941 >> 2] | 0;
|
|
$1943 = ($1940 + 4) | 0;
|
|
$1944 = $1943;
|
|
$1945 = HEAP32[$1944 >> 2] | 0;
|
|
$1946 = _bitshift64Ashr(0, $1942 | 0, 32) | 0;
|
|
$1947 = tempRet0;
|
|
$1948 = ___muldi3($1946 | 0, $1947 | 0, $1938 | 0, $1939 | 0) | 0;
|
|
$1949 = tempRet0;
|
|
$1950 = _i64Add($1930 | 0, $1931 | 0, $1948 | 0, $1949 | 0) | 0;
|
|
$1951 = tempRet0;
|
|
$1952 = ($output + 120) | 0;
|
|
$1953 = $1952;
|
|
$1954 = $1953;
|
|
HEAP32[$1954 >> 2] = $1950;
|
|
$1955 = ($1953 + 4) | 0;
|
|
$1956 = $1955;
|
|
HEAP32[$1956 >> 2] = $1951;
|
|
$1957 = $922;
|
|
$1958 = $1957;
|
|
$1959 = HEAP32[$1958 >> 2] | 0;
|
|
$1960 = ($1957 + 4) | 0;
|
|
$1961 = $1960;
|
|
$1962 = HEAP32[$1961 >> 2] | 0;
|
|
$1963 = _bitshift64Ashr(0, $1959 | 0, 32) | 0;
|
|
$1964 = tempRet0;
|
|
$1965 = $909;
|
|
$1966 = $1965;
|
|
$1967 = HEAP32[$1966 >> 2] | 0;
|
|
$1968 = ($1965 + 4) | 0;
|
|
$1969 = $1968;
|
|
$1970 = HEAP32[$1969 >> 2] | 0;
|
|
$1971 = _bitshift64Ashr(0, $1967 | 0, 32) | 0;
|
|
$1972 = tempRet0;
|
|
$1973 = ___muldi3($1971 | 0, $1972 | 0, $1963 | 0, $1964 | 0) | 0;
|
|
$1974 = tempRet0;
|
|
$1975 = $735;
|
|
$1976 = $1975;
|
|
$1977 = HEAP32[$1976 >> 2] | 0;
|
|
$1978 = ($1975 + 4) | 0;
|
|
$1979 = $1978;
|
|
$1980 = HEAP32[$1979 >> 2] | 0;
|
|
$1981 = _bitshift64Ashr(0, $1977 | 0, 32) | 0;
|
|
$1982 = tempRet0;
|
|
$1983 = $1114;
|
|
$1984 = $1983;
|
|
$1985 = HEAP32[$1984 >> 2] | 0;
|
|
$1986 = ($1983 + 4) | 0;
|
|
$1987 = $1986;
|
|
$1988 = HEAP32[$1987 >> 2] | 0;
|
|
$1989 = _bitshift64Ashr(0, $1985 | 0, 32) | 0;
|
|
$1990 = tempRet0;
|
|
$1991 = ___muldi3($1989 | 0, $1990 | 0, $1981 | 0, $1982 | 0) | 0;
|
|
$1992 = tempRet0;
|
|
$1993 = $1127;
|
|
$1994 = $1993;
|
|
$1995 = HEAP32[$1994 >> 2] | 0;
|
|
$1996 = ($1993 + 4) | 0;
|
|
$1997 = $1996;
|
|
$1998 = HEAP32[$1997 >> 2] | 0;
|
|
$1999 = _bitshift64Ashr(0, $1995 | 0, 32) | 0;
|
|
$2000 = tempRet0;
|
|
$2001 = $722;
|
|
$2002 = $2001;
|
|
$2003 = HEAP32[$2002 >> 2] | 0;
|
|
$2004 = ($2001 + 4) | 0;
|
|
$2005 = $2004;
|
|
$2006 = HEAP32[$2005 >> 2] | 0;
|
|
$2007 = _bitshift64Ashr(0, $2003 | 0, 32) | 0;
|
|
$2008 = tempRet0;
|
|
$2009 = ___muldi3($2007 | 0, $2008 | 0, $1999 | 0, $2000 | 0) | 0;
|
|
$2010 = tempRet0;
|
|
$2011 = _i64Add($2009 | 0, $2010 | 0, $1991 | 0, $1992 | 0) | 0;
|
|
$2012 = tempRet0;
|
|
$2013 = _bitshift64Shl($2011 | 0, $2012 | 0, 1) | 0;
|
|
$2014 = tempRet0;
|
|
$2015 = _i64Add($2013 | 0, $2014 | 0, $1973 | 0, $1974 | 0) | 0;
|
|
$2016 = tempRet0;
|
|
$2017 = ($output + 128) | 0;
|
|
$2018 = $2017;
|
|
$2019 = $2018;
|
|
HEAP32[$2019 >> 2] = $2015;
|
|
$2020 = ($2018 + 4) | 0;
|
|
$2021 = $2020;
|
|
HEAP32[$2021 >> 2] = $2016;
|
|
$2022 = $922;
|
|
$2023 = $2022;
|
|
$2024 = HEAP32[$2023 >> 2] | 0;
|
|
$2025 = ($2022 + 4) | 0;
|
|
$2026 = $2025;
|
|
$2027 = HEAP32[$2026 >> 2] | 0;
|
|
$2028 = _bitshift64Ashr(0, $2024 | 0, 32) | 0;
|
|
$2029 = tempRet0;
|
|
$2030 = $1114;
|
|
$2031 = $2030;
|
|
$2032 = HEAP32[$2031 >> 2] | 0;
|
|
$2033 = ($2030 + 4) | 0;
|
|
$2034 = $2033;
|
|
$2035 = HEAP32[$2034 >> 2] | 0;
|
|
$2036 = _bitshift64Ashr(0, $2032 | 0, 32) | 0;
|
|
$2037 = tempRet0;
|
|
$2038 = ___muldi3($2036 | 0, $2037 | 0, $2028 | 0, $2029 | 0) | 0;
|
|
$2039 = tempRet0;
|
|
$2040 = $1127;
|
|
$2041 = $2040;
|
|
$2042 = HEAP32[$2041 >> 2] | 0;
|
|
$2043 = ($2040 + 4) | 0;
|
|
$2044 = $2043;
|
|
$2045 = HEAP32[$2044 >> 2] | 0;
|
|
$2046 = _bitshift64Ashr(0, $2042 | 0, 32) | 0;
|
|
$2047 = tempRet0;
|
|
$2048 = $909;
|
|
$2049 = $2048;
|
|
$2050 = HEAP32[$2049 >> 2] | 0;
|
|
$2051 = ($2048 + 4) | 0;
|
|
$2052 = $2051;
|
|
$2053 = HEAP32[$2052 >> 2] | 0;
|
|
$2054 = _bitshift64Ashr(0, $2050 | 0, 32) | 0;
|
|
$2055 = tempRet0;
|
|
$2056 = ___muldi3($2054 | 0, $2055 | 0, $2046 | 0, $2047 | 0) | 0;
|
|
$2057 = tempRet0;
|
|
$2058 = _i64Add($2056 | 0, $2057 | 0, $2038 | 0, $2039 | 0) | 0;
|
|
$2059 = tempRet0;
|
|
$2060 = ($output + 136) | 0;
|
|
$2061 = $2060;
|
|
$2062 = $2061;
|
|
HEAP32[$2062 >> 2] = $2058;
|
|
$2063 = ($2061 + 4) | 0;
|
|
$2064 = $2063;
|
|
HEAP32[$2064 >> 2] = $2059;
|
|
$2065 = $1127;
|
|
$2066 = $2065;
|
|
$2067 = HEAP32[$2066 >> 2] | 0;
|
|
$2068 = ($2065 + 4) | 0;
|
|
$2069 = $2068;
|
|
$2070 = HEAP32[$2069 >> 2] | 0;
|
|
$2071 = _bitshift64Ashr(0, $2067 | 0, 31) | 0;
|
|
$2072 = tempRet0;
|
|
$2073 = $1114;
|
|
$2074 = $2073;
|
|
$2075 = HEAP32[$2074 >> 2] | 0;
|
|
$2076 = ($2073 + 4) | 0;
|
|
$2077 = $2076;
|
|
$2078 = HEAP32[$2077 >> 2] | 0;
|
|
$2079 = _bitshift64Ashr(0, $2075 | 0, 32) | 0;
|
|
$2080 = tempRet0;
|
|
$2081 = ___muldi3($2079 | 0, $2080 | 0, $2071 | 0, $2072 | 0) | 0;
|
|
$2082 = tempRet0;
|
|
$2083 = ($output + 144) | 0;
|
|
$2084 = $2083;
|
|
$2085 = $2084;
|
|
HEAP32[$2085 >> 2] = $2081;
|
|
$2086 = ($2084 + 4) | 0;
|
|
$2087 = $2086;
|
|
HEAP32[$2087 >> 2] = $2082;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _freduce_degree($output) {
|
|
$output = $output | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$101 = 0,
|
|
$102 = 0,
|
|
$103 = 0,
|
|
$104 = 0,
|
|
$105 = 0,
|
|
$106 = 0,
|
|
$107 = 0,
|
|
$108 = 0,
|
|
$109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0,
|
|
$115 = 0;
|
|
var $116 = 0,
|
|
$117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0,
|
|
$124 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$131 = 0,
|
|
$132 = 0,
|
|
$133 = 0;
|
|
var $134 = 0,
|
|
$135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$138 = 0,
|
|
$139 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$141 = 0,
|
|
$142 = 0,
|
|
$143 = 0,
|
|
$144 = 0,
|
|
$145 = 0,
|
|
$146 = 0,
|
|
$147 = 0,
|
|
$148 = 0,
|
|
$149 = 0,
|
|
$15 = 0,
|
|
$150 = 0,
|
|
$151 = 0;
|
|
var $152 = 0,
|
|
$153 = 0,
|
|
$154 = 0,
|
|
$155 = 0,
|
|
$156 = 0,
|
|
$157 = 0,
|
|
$158 = 0,
|
|
$159 = 0,
|
|
$16 = 0,
|
|
$160 = 0,
|
|
$161 = 0,
|
|
$162 = 0,
|
|
$163 = 0,
|
|
$164 = 0,
|
|
$165 = 0,
|
|
$166 = 0,
|
|
$167 = 0,
|
|
$168 = 0,
|
|
$169 = 0,
|
|
$17 = 0;
|
|
var $170 = 0,
|
|
$171 = 0,
|
|
$172 = 0,
|
|
$173 = 0,
|
|
$174 = 0,
|
|
$175 = 0,
|
|
$176 = 0,
|
|
$177 = 0,
|
|
$178 = 0,
|
|
$179 = 0,
|
|
$18 = 0,
|
|
$180 = 0,
|
|
$181 = 0,
|
|
$182 = 0,
|
|
$183 = 0,
|
|
$184 = 0,
|
|
$185 = 0,
|
|
$186 = 0,
|
|
$187 = 0,
|
|
$188 = 0;
|
|
var $189 = 0,
|
|
$19 = 0,
|
|
$190 = 0,
|
|
$191 = 0,
|
|
$192 = 0,
|
|
$193 = 0,
|
|
$194 = 0,
|
|
$195 = 0,
|
|
$196 = 0,
|
|
$197 = 0,
|
|
$198 = 0,
|
|
$199 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$200 = 0,
|
|
$201 = 0,
|
|
$202 = 0,
|
|
$203 = 0,
|
|
$204 = 0,
|
|
$205 = 0;
|
|
var $206 = 0,
|
|
$207 = 0,
|
|
$208 = 0,
|
|
$209 = 0,
|
|
$21 = 0,
|
|
$210 = 0,
|
|
$211 = 0,
|
|
$212 = 0,
|
|
$213 = 0,
|
|
$214 = 0,
|
|
$215 = 0,
|
|
$216 = 0,
|
|
$217 = 0,
|
|
$218 = 0,
|
|
$219 = 0,
|
|
$22 = 0,
|
|
$220 = 0,
|
|
$221 = 0,
|
|
$222 = 0,
|
|
$223 = 0;
|
|
var $224 = 0,
|
|
$225 = 0,
|
|
$226 = 0,
|
|
$227 = 0,
|
|
$228 = 0,
|
|
$229 = 0,
|
|
$23 = 0,
|
|
$230 = 0,
|
|
$231 = 0,
|
|
$232 = 0,
|
|
$233 = 0,
|
|
$234 = 0,
|
|
$235 = 0,
|
|
$236 = 0,
|
|
$237 = 0,
|
|
$238 = 0,
|
|
$239 = 0,
|
|
$24 = 0,
|
|
$240 = 0,
|
|
$241 = 0;
|
|
var $242 = 0,
|
|
$243 = 0,
|
|
$244 = 0,
|
|
$245 = 0,
|
|
$246 = 0,
|
|
$247 = 0,
|
|
$248 = 0,
|
|
$249 = 0,
|
|
$25 = 0,
|
|
$250 = 0,
|
|
$251 = 0,
|
|
$252 = 0,
|
|
$253 = 0,
|
|
$254 = 0,
|
|
$255 = 0,
|
|
$256 = 0,
|
|
$257 = 0,
|
|
$258 = 0,
|
|
$259 = 0,
|
|
$26 = 0;
|
|
var $260 = 0,
|
|
$261 = 0,
|
|
$262 = 0,
|
|
$263 = 0,
|
|
$264 = 0,
|
|
$265 = 0,
|
|
$266 = 0,
|
|
$267 = 0,
|
|
$268 = 0,
|
|
$269 = 0,
|
|
$27 = 0,
|
|
$270 = 0,
|
|
$271 = 0,
|
|
$272 = 0,
|
|
$273 = 0,
|
|
$274 = 0,
|
|
$275 = 0,
|
|
$276 = 0,
|
|
$277 = 0,
|
|
$278 = 0;
|
|
var $279 = 0,
|
|
$28 = 0,
|
|
$280 = 0,
|
|
$281 = 0,
|
|
$282 = 0,
|
|
$283 = 0,
|
|
$284 = 0,
|
|
$285 = 0,
|
|
$286 = 0,
|
|
$287 = 0,
|
|
$288 = 0,
|
|
$289 = 0,
|
|
$29 = 0,
|
|
$290 = 0,
|
|
$291 = 0,
|
|
$292 = 0,
|
|
$293 = 0,
|
|
$294 = 0,
|
|
$295 = 0,
|
|
$296 = 0;
|
|
var $297 = 0,
|
|
$298 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0,
|
|
$45 = 0;
|
|
var $46 = 0,
|
|
$47 = 0,
|
|
$48 = 0,
|
|
$49 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$51 = 0,
|
|
$52 = 0,
|
|
$53 = 0,
|
|
$54 = 0,
|
|
$55 = 0,
|
|
$56 = 0,
|
|
$57 = 0,
|
|
$58 = 0,
|
|
$59 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$61 = 0,
|
|
$62 = 0,
|
|
$63 = 0;
|
|
var $64 = 0,
|
|
$65 = 0,
|
|
$66 = 0,
|
|
$67 = 0,
|
|
$68 = 0,
|
|
$69 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$71 = 0,
|
|
$72 = 0,
|
|
$73 = 0,
|
|
$74 = 0,
|
|
$75 = 0,
|
|
$76 = 0,
|
|
$77 = 0,
|
|
$78 = 0,
|
|
$79 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$81 = 0;
|
|
var $82 = 0,
|
|
$83 = 0,
|
|
$84 = 0,
|
|
$85 = 0,
|
|
$86 = 0,
|
|
$87 = 0,
|
|
$88 = 0,
|
|
$89 = 0,
|
|
$9 = 0,
|
|
$90 = 0,
|
|
$91 = 0,
|
|
$92 = 0,
|
|
$93 = 0,
|
|
$94 = 0,
|
|
$95 = 0,
|
|
$96 = 0,
|
|
$97 = 0,
|
|
$98 = 0,
|
|
$99 = 0,
|
|
label = 0;
|
|
var sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = ($output + 144) | 0;
|
|
$1 = $0;
|
|
$2 = $1;
|
|
$3 = HEAP32[$2 >> 2] | 0;
|
|
$4 = ($1 + 4) | 0;
|
|
$5 = $4;
|
|
$6 = HEAP32[$5 >> 2] | 0;
|
|
$7 = _bitshift64Shl($3 | 0, $6 | 0, 4) | 0;
|
|
$8 = tempRet0;
|
|
$9 = ($output + 64) | 0;
|
|
$10 = $9;
|
|
$11 = $10;
|
|
$12 = HEAP32[$11 >> 2] | 0;
|
|
$13 = ($10 + 4) | 0;
|
|
$14 = $13;
|
|
$15 = HEAP32[$14 >> 2] | 0;
|
|
$16 = _i64Add($12 | 0, $15 | 0, $7 | 0, $8 | 0) | 0;
|
|
$17 = tempRet0;
|
|
$18 = _bitshift64Shl($3 | 0, $6 | 0, 1) | 0;
|
|
$19 = tempRet0;
|
|
$20 = _i64Add($18 | 0, $19 | 0, $16 | 0, $17 | 0) | 0;
|
|
$21 = tempRet0;
|
|
$22 = $0;
|
|
$23 = $22;
|
|
$24 = HEAP32[$23 >> 2] | 0;
|
|
$25 = ($22 + 4) | 0;
|
|
$26 = $25;
|
|
$27 = HEAP32[$26 >> 2] | 0;
|
|
$28 = _i64Add($20 | 0, $21 | 0, $24 | 0, $27 | 0) | 0;
|
|
$29 = tempRet0;
|
|
$30 = $9;
|
|
$31 = $30;
|
|
HEAP32[$31 >> 2] = $28;
|
|
$32 = ($30 + 4) | 0;
|
|
$33 = $32;
|
|
HEAP32[$33 >> 2] = $29;
|
|
$34 = ($output + 136) | 0;
|
|
$35 = $34;
|
|
$36 = $35;
|
|
$37 = HEAP32[$36 >> 2] | 0;
|
|
$38 = ($35 + 4) | 0;
|
|
$39 = $38;
|
|
$40 = HEAP32[$39 >> 2] | 0;
|
|
$41 = _bitshift64Shl($37 | 0, $40 | 0, 4) | 0;
|
|
$42 = tempRet0;
|
|
$43 = ($output + 56) | 0;
|
|
$44 = $43;
|
|
$45 = $44;
|
|
$46 = HEAP32[$45 >> 2] | 0;
|
|
$47 = ($44 + 4) | 0;
|
|
$48 = $47;
|
|
$49 = HEAP32[$48 >> 2] | 0;
|
|
$50 = _i64Add($46 | 0, $49 | 0, $41 | 0, $42 | 0) | 0;
|
|
$51 = tempRet0;
|
|
$52 = _bitshift64Shl($37 | 0, $40 | 0, 1) | 0;
|
|
$53 = tempRet0;
|
|
$54 = _i64Add($52 | 0, $53 | 0, $50 | 0, $51 | 0) | 0;
|
|
$55 = tempRet0;
|
|
$56 = $34;
|
|
$57 = $56;
|
|
$58 = HEAP32[$57 >> 2] | 0;
|
|
$59 = ($56 + 4) | 0;
|
|
$60 = $59;
|
|
$61 = HEAP32[$60 >> 2] | 0;
|
|
$62 = _i64Add($54 | 0, $55 | 0, $58 | 0, $61 | 0) | 0;
|
|
$63 = tempRet0;
|
|
$64 = $43;
|
|
$65 = $64;
|
|
HEAP32[$65 >> 2] = $62;
|
|
$66 = ($64 + 4) | 0;
|
|
$67 = $66;
|
|
HEAP32[$67 >> 2] = $63;
|
|
$68 = ($output + 128) | 0;
|
|
$69 = $68;
|
|
$70 = $69;
|
|
$71 = HEAP32[$70 >> 2] | 0;
|
|
$72 = ($69 + 4) | 0;
|
|
$73 = $72;
|
|
$74 = HEAP32[$73 >> 2] | 0;
|
|
$75 = _bitshift64Shl($71 | 0, $74 | 0, 4) | 0;
|
|
$76 = tempRet0;
|
|
$77 = ($output + 48) | 0;
|
|
$78 = $77;
|
|
$79 = $78;
|
|
$80 = HEAP32[$79 >> 2] | 0;
|
|
$81 = ($78 + 4) | 0;
|
|
$82 = $81;
|
|
$83 = HEAP32[$82 >> 2] | 0;
|
|
$84 = _i64Add($80 | 0, $83 | 0, $75 | 0, $76 | 0) | 0;
|
|
$85 = tempRet0;
|
|
$86 = _bitshift64Shl($71 | 0, $74 | 0, 1) | 0;
|
|
$87 = tempRet0;
|
|
$88 = _i64Add($86 | 0, $87 | 0, $84 | 0, $85 | 0) | 0;
|
|
$89 = tempRet0;
|
|
$90 = $68;
|
|
$91 = $90;
|
|
$92 = HEAP32[$91 >> 2] | 0;
|
|
$93 = ($90 + 4) | 0;
|
|
$94 = $93;
|
|
$95 = HEAP32[$94 >> 2] | 0;
|
|
$96 = _i64Add($88 | 0, $89 | 0, $92 | 0, $95 | 0) | 0;
|
|
$97 = tempRet0;
|
|
$98 = $77;
|
|
$99 = $98;
|
|
HEAP32[$99 >> 2] = $96;
|
|
$100 = ($98 + 4) | 0;
|
|
$101 = $100;
|
|
HEAP32[$101 >> 2] = $97;
|
|
$102 = ($output + 120) | 0;
|
|
$103 = $102;
|
|
$104 = $103;
|
|
$105 = HEAP32[$104 >> 2] | 0;
|
|
$106 = ($103 + 4) | 0;
|
|
$107 = $106;
|
|
$108 = HEAP32[$107 >> 2] | 0;
|
|
$109 = _bitshift64Shl($105 | 0, $108 | 0, 4) | 0;
|
|
$110 = tempRet0;
|
|
$111 = ($output + 40) | 0;
|
|
$112 = $111;
|
|
$113 = $112;
|
|
$114 = HEAP32[$113 >> 2] | 0;
|
|
$115 = ($112 + 4) | 0;
|
|
$116 = $115;
|
|
$117 = HEAP32[$116 >> 2] | 0;
|
|
$118 = _i64Add($114 | 0, $117 | 0, $109 | 0, $110 | 0) | 0;
|
|
$119 = tempRet0;
|
|
$120 = _bitshift64Shl($105 | 0, $108 | 0, 1) | 0;
|
|
$121 = tempRet0;
|
|
$122 = _i64Add($120 | 0, $121 | 0, $118 | 0, $119 | 0) | 0;
|
|
$123 = tempRet0;
|
|
$124 = $102;
|
|
$125 = $124;
|
|
$126 = HEAP32[$125 >> 2] | 0;
|
|
$127 = ($124 + 4) | 0;
|
|
$128 = $127;
|
|
$129 = HEAP32[$128 >> 2] | 0;
|
|
$130 = _i64Add($122 | 0, $123 | 0, $126 | 0, $129 | 0) | 0;
|
|
$131 = tempRet0;
|
|
$132 = $111;
|
|
$133 = $132;
|
|
HEAP32[$133 >> 2] = $130;
|
|
$134 = ($132 + 4) | 0;
|
|
$135 = $134;
|
|
HEAP32[$135 >> 2] = $131;
|
|
$136 = ($output + 112) | 0;
|
|
$137 = $136;
|
|
$138 = $137;
|
|
$139 = HEAP32[$138 >> 2] | 0;
|
|
$140 = ($137 + 4) | 0;
|
|
$141 = $140;
|
|
$142 = HEAP32[$141 >> 2] | 0;
|
|
$143 = _bitshift64Shl($139 | 0, $142 | 0, 4) | 0;
|
|
$144 = tempRet0;
|
|
$145 = ($output + 32) | 0;
|
|
$146 = $145;
|
|
$147 = $146;
|
|
$148 = HEAP32[$147 >> 2] | 0;
|
|
$149 = ($146 + 4) | 0;
|
|
$150 = $149;
|
|
$151 = HEAP32[$150 >> 2] | 0;
|
|
$152 = _i64Add($148 | 0, $151 | 0, $143 | 0, $144 | 0) | 0;
|
|
$153 = tempRet0;
|
|
$154 = _bitshift64Shl($139 | 0, $142 | 0, 1) | 0;
|
|
$155 = tempRet0;
|
|
$156 = _i64Add($154 | 0, $155 | 0, $152 | 0, $153 | 0) | 0;
|
|
$157 = tempRet0;
|
|
$158 = $136;
|
|
$159 = $158;
|
|
$160 = HEAP32[$159 >> 2] | 0;
|
|
$161 = ($158 + 4) | 0;
|
|
$162 = $161;
|
|
$163 = HEAP32[$162 >> 2] | 0;
|
|
$164 = _i64Add($156 | 0, $157 | 0, $160 | 0, $163 | 0) | 0;
|
|
$165 = tempRet0;
|
|
$166 = $145;
|
|
$167 = $166;
|
|
HEAP32[$167 >> 2] = $164;
|
|
$168 = ($166 + 4) | 0;
|
|
$169 = $168;
|
|
HEAP32[$169 >> 2] = $165;
|
|
$170 = ($output + 104) | 0;
|
|
$171 = $170;
|
|
$172 = $171;
|
|
$173 = HEAP32[$172 >> 2] | 0;
|
|
$174 = ($171 + 4) | 0;
|
|
$175 = $174;
|
|
$176 = HEAP32[$175 >> 2] | 0;
|
|
$177 = _bitshift64Shl($173 | 0, $176 | 0, 4) | 0;
|
|
$178 = tempRet0;
|
|
$179 = ($output + 24) | 0;
|
|
$180 = $179;
|
|
$181 = $180;
|
|
$182 = HEAP32[$181 >> 2] | 0;
|
|
$183 = ($180 + 4) | 0;
|
|
$184 = $183;
|
|
$185 = HEAP32[$184 >> 2] | 0;
|
|
$186 = _i64Add($182 | 0, $185 | 0, $177 | 0, $178 | 0) | 0;
|
|
$187 = tempRet0;
|
|
$188 = _bitshift64Shl($173 | 0, $176 | 0, 1) | 0;
|
|
$189 = tempRet0;
|
|
$190 = _i64Add($188 | 0, $189 | 0, $186 | 0, $187 | 0) | 0;
|
|
$191 = tempRet0;
|
|
$192 = $170;
|
|
$193 = $192;
|
|
$194 = HEAP32[$193 >> 2] | 0;
|
|
$195 = ($192 + 4) | 0;
|
|
$196 = $195;
|
|
$197 = HEAP32[$196 >> 2] | 0;
|
|
$198 = _i64Add($190 | 0, $191 | 0, $194 | 0, $197 | 0) | 0;
|
|
$199 = tempRet0;
|
|
$200 = $179;
|
|
$201 = $200;
|
|
HEAP32[$201 >> 2] = $198;
|
|
$202 = ($200 + 4) | 0;
|
|
$203 = $202;
|
|
HEAP32[$203 >> 2] = $199;
|
|
$204 = ($output + 96) | 0;
|
|
$205 = $204;
|
|
$206 = $205;
|
|
$207 = HEAP32[$206 >> 2] | 0;
|
|
$208 = ($205 + 4) | 0;
|
|
$209 = $208;
|
|
$210 = HEAP32[$209 >> 2] | 0;
|
|
$211 = _bitshift64Shl($207 | 0, $210 | 0, 4) | 0;
|
|
$212 = tempRet0;
|
|
$213 = ($output + 16) | 0;
|
|
$214 = $213;
|
|
$215 = $214;
|
|
$216 = HEAP32[$215 >> 2] | 0;
|
|
$217 = ($214 + 4) | 0;
|
|
$218 = $217;
|
|
$219 = HEAP32[$218 >> 2] | 0;
|
|
$220 = _i64Add($216 | 0, $219 | 0, $211 | 0, $212 | 0) | 0;
|
|
$221 = tempRet0;
|
|
$222 = _bitshift64Shl($207 | 0, $210 | 0, 1) | 0;
|
|
$223 = tempRet0;
|
|
$224 = _i64Add($222 | 0, $223 | 0, $220 | 0, $221 | 0) | 0;
|
|
$225 = tempRet0;
|
|
$226 = $204;
|
|
$227 = $226;
|
|
$228 = HEAP32[$227 >> 2] | 0;
|
|
$229 = ($226 + 4) | 0;
|
|
$230 = $229;
|
|
$231 = HEAP32[$230 >> 2] | 0;
|
|
$232 = _i64Add($224 | 0, $225 | 0, $228 | 0, $231 | 0) | 0;
|
|
$233 = tempRet0;
|
|
$234 = $213;
|
|
$235 = $234;
|
|
HEAP32[$235 >> 2] = $232;
|
|
$236 = ($234 + 4) | 0;
|
|
$237 = $236;
|
|
HEAP32[$237 >> 2] = $233;
|
|
$238 = ($output + 88) | 0;
|
|
$239 = $238;
|
|
$240 = $239;
|
|
$241 = HEAP32[$240 >> 2] | 0;
|
|
$242 = ($239 + 4) | 0;
|
|
$243 = $242;
|
|
$244 = HEAP32[$243 >> 2] | 0;
|
|
$245 = _bitshift64Shl($241 | 0, $244 | 0, 4) | 0;
|
|
$246 = tempRet0;
|
|
$247 = ($output + 8) | 0;
|
|
$248 = $247;
|
|
$249 = $248;
|
|
$250 = HEAP32[$249 >> 2] | 0;
|
|
$251 = ($248 + 4) | 0;
|
|
$252 = $251;
|
|
$253 = HEAP32[$252 >> 2] | 0;
|
|
$254 = _i64Add($250 | 0, $253 | 0, $245 | 0, $246 | 0) | 0;
|
|
$255 = tempRet0;
|
|
$256 = _bitshift64Shl($241 | 0, $244 | 0, 1) | 0;
|
|
$257 = tempRet0;
|
|
$258 = _i64Add($256 | 0, $257 | 0, $254 | 0, $255 | 0) | 0;
|
|
$259 = tempRet0;
|
|
$260 = $238;
|
|
$261 = $260;
|
|
$262 = HEAP32[$261 >> 2] | 0;
|
|
$263 = ($260 + 4) | 0;
|
|
$264 = $263;
|
|
$265 = HEAP32[$264 >> 2] | 0;
|
|
$266 = _i64Add($258 | 0, $259 | 0, $262 | 0, $265 | 0) | 0;
|
|
$267 = tempRet0;
|
|
$268 = $247;
|
|
$269 = $268;
|
|
HEAP32[$269 >> 2] = $266;
|
|
$270 = ($268 + 4) | 0;
|
|
$271 = $270;
|
|
HEAP32[$271 >> 2] = $267;
|
|
$272 = ($output + 80) | 0;
|
|
$273 = $272;
|
|
$274 = $273;
|
|
$275 = HEAP32[$274 >> 2] | 0;
|
|
$276 = ($273 + 4) | 0;
|
|
$277 = $276;
|
|
$278 = HEAP32[$277 >> 2] | 0;
|
|
$279 = _bitshift64Shl($275 | 0, $278 | 0, 4) | 0;
|
|
$280 = tempRet0;
|
|
$281 = $output;
|
|
$282 = $281;
|
|
$283 = HEAP32[$282 >> 2] | 0;
|
|
$284 = ($281 + 4) | 0;
|
|
$285 = $284;
|
|
$286 = HEAP32[$285 >> 2] | 0;
|
|
$287 = _i64Add($283 | 0, $286 | 0, $279 | 0, $280 | 0) | 0;
|
|
$288 = tempRet0;
|
|
$289 = _bitshift64Shl($275 | 0, $278 | 0, 1) | 0;
|
|
$290 = tempRet0;
|
|
$291 = _i64Add($289 | 0, $290 | 0, $287 | 0, $288 | 0) | 0;
|
|
$292 = tempRet0;
|
|
$293 = _i64Add($291 | 0, $292 | 0, $275 | 0, $278 | 0) | 0;
|
|
$294 = tempRet0;
|
|
$295 = $output;
|
|
$296 = $295;
|
|
HEAP32[$296 >> 2] = $293;
|
|
$297 = ($295 + 4) | 0;
|
|
$298 = $297;
|
|
HEAP32[$298 >> 2] = $294;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _freduce_coefficients($output) {
|
|
$output = $output | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$101 = 0,
|
|
$102 = 0,
|
|
$103 = 0,
|
|
$104 = 0,
|
|
$105 = 0,
|
|
$106 = 0,
|
|
$107 = 0,
|
|
$108 = 0,
|
|
$109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0,
|
|
$115 = 0;
|
|
var $12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0,
|
|
$27 = 0,
|
|
$28 = 0,
|
|
$29 = 0,
|
|
$3 = 0;
|
|
var $30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0,
|
|
$45 = 0,
|
|
$46 = 0,
|
|
$47 = 0,
|
|
$48 = 0;
|
|
var $49 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$51 = 0,
|
|
$52 = 0,
|
|
$53 = 0,
|
|
$54 = 0,
|
|
$55 = 0,
|
|
$56 = 0,
|
|
$57 = 0,
|
|
$58 = 0,
|
|
$59 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$61 = 0,
|
|
$62 = 0,
|
|
$63 = 0,
|
|
$64 = 0,
|
|
$65 = 0,
|
|
$66 = 0;
|
|
var $67 = 0,
|
|
$68 = 0,
|
|
$69 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$71 = 0,
|
|
$72 = 0,
|
|
$73 = 0,
|
|
$74 = 0,
|
|
$75 = 0,
|
|
$76 = 0,
|
|
$77 = 0,
|
|
$78 = 0,
|
|
$79 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$81 = 0,
|
|
$82 = 0,
|
|
$83 = 0,
|
|
$84 = 0;
|
|
var $85 = 0,
|
|
$86 = 0,
|
|
$87 = 0,
|
|
$88 = 0,
|
|
$89 = 0,
|
|
$9 = 0,
|
|
$90 = 0,
|
|
$91 = 0,
|
|
$92 = 0,
|
|
$93 = 0,
|
|
$94 = 0,
|
|
$95 = 0,
|
|
$96 = 0,
|
|
$97 = 0,
|
|
$98 = 0,
|
|
$99 = 0,
|
|
$i$01 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = ($output + 80) | 0;
|
|
$1 = $0;
|
|
$2 = $1;
|
|
HEAP32[$2 >> 2] = 0;
|
|
$3 = ($1 + 4) | 0;
|
|
$4 = $3;
|
|
HEAP32[$4 >> 2] = 0;
|
|
$i$01 = 0;
|
|
while (1) {
|
|
$5 = ($output + ($i$01 << 3)) | 0;
|
|
$6 = $5;
|
|
$7 = $6;
|
|
$8 = HEAP32[$7 >> 2] | 0;
|
|
$9 = ($6 + 4) | 0;
|
|
$10 = $9;
|
|
$11 = HEAP32[$10 >> 2] | 0;
|
|
$12 = _div_by_2_26($8, $11) | 0;
|
|
$13 = tempRet0;
|
|
$14 = _bitshift64Shl($12 | 0, $13 | 0, 26) | 0;
|
|
$15 = tempRet0;
|
|
$16 = _i64Subtract($8 | 0, $11 | 0, $14 | 0, $15 | 0) | 0;
|
|
$17 = tempRet0;
|
|
$18 = $5;
|
|
$19 = $18;
|
|
HEAP32[$19 >> 2] = $16;
|
|
$20 = ($18 + 4) | 0;
|
|
$21 = $20;
|
|
HEAP32[$21 >> 2] = $17;
|
|
$22 = $i$01 | 1;
|
|
$23 = ($output + ($22 << 3)) | 0;
|
|
$24 = $23;
|
|
$25 = $24;
|
|
$26 = HEAP32[$25 >> 2] | 0;
|
|
$27 = ($24 + 4) | 0;
|
|
$28 = $27;
|
|
$29 = HEAP32[$28 >> 2] | 0;
|
|
$30 = _i64Add($26 | 0, $29 | 0, $12 | 0, $13 | 0) | 0;
|
|
$31 = tempRet0;
|
|
$32 = _div_by_2_25($30, $31) | 0;
|
|
$33 = tempRet0;
|
|
$34 = _bitshift64Shl($32 | 0, $33 | 0, 25) | 0;
|
|
$35 = tempRet0;
|
|
$36 = _i64Subtract($30 | 0, $31 | 0, $34 | 0, $35 | 0) | 0;
|
|
$37 = tempRet0;
|
|
$38 = $23;
|
|
$39 = $38;
|
|
HEAP32[$39 >> 2] = $36;
|
|
$40 = ($38 + 4) | 0;
|
|
$41 = $40;
|
|
HEAP32[$41 >> 2] = $37;
|
|
$42 = ($i$01 + 2) | 0;
|
|
$43 = ($output + ($42 << 3)) | 0;
|
|
$44 = $43;
|
|
$45 = $44;
|
|
$46 = HEAP32[$45 >> 2] | 0;
|
|
$47 = ($44 + 4) | 0;
|
|
$48 = $47;
|
|
$49 = HEAP32[$48 >> 2] | 0;
|
|
$50 = _i64Add($46 | 0, $49 | 0, $32 | 0, $33 | 0) | 0;
|
|
$51 = tempRet0;
|
|
$52 = $43;
|
|
$53 = $52;
|
|
HEAP32[$53 >> 2] = $50;
|
|
$54 = ($52 + 4) | 0;
|
|
$55 = $54;
|
|
HEAP32[$55 >> 2] = $51;
|
|
$56 = $42 >>> 0 < 10;
|
|
if ($56) {
|
|
$i$01 = $42;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
$57 = $0;
|
|
$58 = $57;
|
|
$59 = HEAP32[$58 >> 2] | 0;
|
|
$60 = ($57 + 4) | 0;
|
|
$61 = $60;
|
|
$62 = HEAP32[$61 >> 2] | 0;
|
|
$63 = _bitshift64Shl($59 | 0, $62 | 0, 4) | 0;
|
|
$64 = tempRet0;
|
|
$65 = $output;
|
|
$66 = $65;
|
|
$67 = HEAP32[$66 >> 2] | 0;
|
|
$68 = ($65 + 4) | 0;
|
|
$69 = $68;
|
|
$70 = HEAP32[$69 >> 2] | 0;
|
|
$71 = _i64Add($67 | 0, $70 | 0, $63 | 0, $64 | 0) | 0;
|
|
$72 = tempRet0;
|
|
$73 = _bitshift64Shl($59 | 0, $62 | 0, 1) | 0;
|
|
$74 = tempRet0;
|
|
$75 = _i64Add($73 | 0, $74 | 0, $71 | 0, $72 | 0) | 0;
|
|
$76 = tempRet0;
|
|
$77 = _i64Add($75 | 0, $76 | 0, $59 | 0, $62 | 0) | 0;
|
|
$78 = tempRet0;
|
|
$79 = $output;
|
|
$80 = $79;
|
|
HEAP32[$80 >> 2] = $77;
|
|
$81 = ($79 + 4) | 0;
|
|
$82 = $81;
|
|
HEAP32[$82 >> 2] = $78;
|
|
$83 = $0;
|
|
$84 = $83;
|
|
HEAP32[$84 >> 2] = 0;
|
|
$85 = ($83 + 4) | 0;
|
|
$86 = $85;
|
|
HEAP32[$86 >> 2] = 0;
|
|
$87 = $output;
|
|
$88 = $87;
|
|
$89 = HEAP32[$88 >> 2] | 0;
|
|
$90 = ($87 + 4) | 0;
|
|
$91 = $90;
|
|
$92 = HEAP32[$91 >> 2] | 0;
|
|
$93 = _div_by_2_26($89, $92) | 0;
|
|
$94 = tempRet0;
|
|
$95 = _bitshift64Shl($93 | 0, $94 | 0, 26) | 0;
|
|
$96 = tempRet0;
|
|
$97 = _i64Subtract($89 | 0, $92 | 0, $95 | 0, $96 | 0) | 0;
|
|
$98 = tempRet0;
|
|
$99 = $output;
|
|
$100 = $99;
|
|
HEAP32[$100 >> 2] = $97;
|
|
$101 = ($99 + 4) | 0;
|
|
$102 = $101;
|
|
HEAP32[$102 >> 2] = $98;
|
|
$103 = ($output + 8) | 0;
|
|
$104 = $103;
|
|
$105 = $104;
|
|
$106 = HEAP32[$105 >> 2] | 0;
|
|
$107 = ($104 + 4) | 0;
|
|
$108 = $107;
|
|
$109 = HEAP32[$108 >> 2] | 0;
|
|
$110 = _i64Add($106 | 0, $109 | 0, $93 | 0, $94 | 0) | 0;
|
|
$111 = tempRet0;
|
|
$112 = $103;
|
|
$113 = $112;
|
|
HEAP32[$113 >> 2] = $110;
|
|
$114 = ($112 + 4) | 0;
|
|
$115 = $114;
|
|
HEAP32[$115 >> 2] = $111;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _s32_eq($a, $b) {
|
|
$a = $a | 0;
|
|
$b = $b | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = $a ^ -1;
|
|
$1 = $0 ^ $b;
|
|
$2 = $1 << 16;
|
|
$3 = $2 & $1;
|
|
$4 = $3 << 8;
|
|
$5 = $4 & $3;
|
|
$6 = $5 << 4;
|
|
$7 = $6 & $5;
|
|
$8 = $7 << 2;
|
|
$9 = $8 & $7;
|
|
$10 = $9 << 1;
|
|
$11 = $10 & $9;
|
|
$12 = $11 >> 31;
|
|
STACKTOP = sp;
|
|
return $12 | 0;
|
|
}
|
|
function _s32_gte($a) {
|
|
$a = $a | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = ($a + -67108845) | 0;
|
|
$1 = $0 >> 31;
|
|
$2 = $1 ^ -1;
|
|
STACKTOP = sp;
|
|
return $2 | 0;
|
|
}
|
|
function _fsum($output, $in) {
|
|
$output = $output | 0;
|
|
$in = $in | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$101 = 0,
|
|
$102 = 0,
|
|
$103 = 0,
|
|
$104 = 0,
|
|
$105 = 0,
|
|
$106 = 0,
|
|
$107 = 0,
|
|
$108 = 0,
|
|
$109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0,
|
|
$115 = 0;
|
|
var $116 = 0,
|
|
$117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0,
|
|
$124 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$131 = 0,
|
|
$132 = 0,
|
|
$133 = 0;
|
|
var $134 = 0,
|
|
$135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$138 = 0,
|
|
$139 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$141 = 0,
|
|
$142 = 0,
|
|
$143 = 0,
|
|
$144 = 0,
|
|
$145 = 0,
|
|
$146 = 0,
|
|
$147 = 0,
|
|
$148 = 0,
|
|
$149 = 0,
|
|
$15 = 0,
|
|
$150 = 0,
|
|
$151 = 0;
|
|
var $152 = 0,
|
|
$153 = 0,
|
|
$154 = 0,
|
|
$155 = 0,
|
|
$156 = 0,
|
|
$157 = 0,
|
|
$158 = 0,
|
|
$159 = 0,
|
|
$16 = 0,
|
|
$160 = 0,
|
|
$161 = 0,
|
|
$162 = 0,
|
|
$163 = 0,
|
|
$164 = 0,
|
|
$165 = 0,
|
|
$166 = 0,
|
|
$167 = 0,
|
|
$168 = 0,
|
|
$169 = 0,
|
|
$17 = 0;
|
|
var $170 = 0,
|
|
$171 = 0,
|
|
$172 = 0,
|
|
$173 = 0,
|
|
$174 = 0,
|
|
$175 = 0,
|
|
$176 = 0,
|
|
$177 = 0,
|
|
$178 = 0,
|
|
$179 = 0,
|
|
$18 = 0,
|
|
$180 = 0,
|
|
$181 = 0,
|
|
$182 = 0,
|
|
$183 = 0,
|
|
$184 = 0,
|
|
$185 = 0,
|
|
$186 = 0,
|
|
$187 = 0,
|
|
$188 = 0;
|
|
var $189 = 0,
|
|
$19 = 0,
|
|
$190 = 0,
|
|
$191 = 0,
|
|
$192 = 0,
|
|
$193 = 0,
|
|
$194 = 0,
|
|
$195 = 0,
|
|
$196 = 0,
|
|
$197 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0,
|
|
$27 = 0,
|
|
$28 = 0;
|
|
var $29 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0,
|
|
$45 = 0,
|
|
$46 = 0;
|
|
var $47 = 0,
|
|
$48 = 0,
|
|
$49 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$51 = 0,
|
|
$52 = 0,
|
|
$53 = 0,
|
|
$54 = 0,
|
|
$55 = 0,
|
|
$56 = 0,
|
|
$57 = 0,
|
|
$58 = 0,
|
|
$59 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$61 = 0,
|
|
$62 = 0,
|
|
$63 = 0,
|
|
$64 = 0;
|
|
var $65 = 0,
|
|
$66 = 0,
|
|
$67 = 0,
|
|
$68 = 0,
|
|
$69 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$71 = 0,
|
|
$72 = 0,
|
|
$73 = 0,
|
|
$74 = 0,
|
|
$75 = 0,
|
|
$76 = 0,
|
|
$77 = 0,
|
|
$78 = 0,
|
|
$79 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$81 = 0,
|
|
$82 = 0;
|
|
var $83 = 0,
|
|
$84 = 0,
|
|
$85 = 0,
|
|
$86 = 0,
|
|
$87 = 0,
|
|
$88 = 0,
|
|
$89 = 0,
|
|
$9 = 0,
|
|
$90 = 0,
|
|
$91 = 0,
|
|
$92 = 0,
|
|
$93 = 0,
|
|
$94 = 0,
|
|
$95 = 0,
|
|
$96 = 0,
|
|
$97 = 0,
|
|
$98 = 0,
|
|
$99 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = $output;
|
|
$1 = $0;
|
|
$2 = HEAP32[$1 >> 2] | 0;
|
|
$3 = ($0 + 4) | 0;
|
|
$4 = $3;
|
|
$5 = HEAP32[$4 >> 2] | 0;
|
|
$6 = $in;
|
|
$7 = $6;
|
|
$8 = HEAP32[$7 >> 2] | 0;
|
|
$9 = ($6 + 4) | 0;
|
|
$10 = $9;
|
|
$11 = HEAP32[$10 >> 2] | 0;
|
|
$12 = _i64Add($8 | 0, $11 | 0, $2 | 0, $5 | 0) | 0;
|
|
$13 = tempRet0;
|
|
$14 = $output;
|
|
$15 = $14;
|
|
HEAP32[$15 >> 2] = $12;
|
|
$16 = ($14 + 4) | 0;
|
|
$17 = $16;
|
|
HEAP32[$17 >> 2] = $13;
|
|
$18 = ($output + 8) | 0;
|
|
$19 = $18;
|
|
$20 = $19;
|
|
$21 = HEAP32[$20 >> 2] | 0;
|
|
$22 = ($19 + 4) | 0;
|
|
$23 = $22;
|
|
$24 = HEAP32[$23 >> 2] | 0;
|
|
$25 = ($in + 8) | 0;
|
|
$26 = $25;
|
|
$27 = $26;
|
|
$28 = HEAP32[$27 >> 2] | 0;
|
|
$29 = ($26 + 4) | 0;
|
|
$30 = $29;
|
|
$31 = HEAP32[$30 >> 2] | 0;
|
|
$32 = _i64Add($28 | 0, $31 | 0, $21 | 0, $24 | 0) | 0;
|
|
$33 = tempRet0;
|
|
$34 = $18;
|
|
$35 = $34;
|
|
HEAP32[$35 >> 2] = $32;
|
|
$36 = ($34 + 4) | 0;
|
|
$37 = $36;
|
|
HEAP32[$37 >> 2] = $33;
|
|
$38 = ($output + 16) | 0;
|
|
$39 = $38;
|
|
$40 = $39;
|
|
$41 = HEAP32[$40 >> 2] | 0;
|
|
$42 = ($39 + 4) | 0;
|
|
$43 = $42;
|
|
$44 = HEAP32[$43 >> 2] | 0;
|
|
$45 = ($in + 16) | 0;
|
|
$46 = $45;
|
|
$47 = $46;
|
|
$48 = HEAP32[$47 >> 2] | 0;
|
|
$49 = ($46 + 4) | 0;
|
|
$50 = $49;
|
|
$51 = HEAP32[$50 >> 2] | 0;
|
|
$52 = _i64Add($48 | 0, $51 | 0, $41 | 0, $44 | 0) | 0;
|
|
$53 = tempRet0;
|
|
$54 = $38;
|
|
$55 = $54;
|
|
HEAP32[$55 >> 2] = $52;
|
|
$56 = ($54 + 4) | 0;
|
|
$57 = $56;
|
|
HEAP32[$57 >> 2] = $53;
|
|
$58 = ($output + 24) | 0;
|
|
$59 = $58;
|
|
$60 = $59;
|
|
$61 = HEAP32[$60 >> 2] | 0;
|
|
$62 = ($59 + 4) | 0;
|
|
$63 = $62;
|
|
$64 = HEAP32[$63 >> 2] | 0;
|
|
$65 = ($in + 24) | 0;
|
|
$66 = $65;
|
|
$67 = $66;
|
|
$68 = HEAP32[$67 >> 2] | 0;
|
|
$69 = ($66 + 4) | 0;
|
|
$70 = $69;
|
|
$71 = HEAP32[$70 >> 2] | 0;
|
|
$72 = _i64Add($68 | 0, $71 | 0, $61 | 0, $64 | 0) | 0;
|
|
$73 = tempRet0;
|
|
$74 = $58;
|
|
$75 = $74;
|
|
HEAP32[$75 >> 2] = $72;
|
|
$76 = ($74 + 4) | 0;
|
|
$77 = $76;
|
|
HEAP32[$77 >> 2] = $73;
|
|
$78 = ($output + 32) | 0;
|
|
$79 = $78;
|
|
$80 = $79;
|
|
$81 = HEAP32[$80 >> 2] | 0;
|
|
$82 = ($79 + 4) | 0;
|
|
$83 = $82;
|
|
$84 = HEAP32[$83 >> 2] | 0;
|
|
$85 = ($in + 32) | 0;
|
|
$86 = $85;
|
|
$87 = $86;
|
|
$88 = HEAP32[$87 >> 2] | 0;
|
|
$89 = ($86 + 4) | 0;
|
|
$90 = $89;
|
|
$91 = HEAP32[$90 >> 2] | 0;
|
|
$92 = _i64Add($88 | 0, $91 | 0, $81 | 0, $84 | 0) | 0;
|
|
$93 = tempRet0;
|
|
$94 = $78;
|
|
$95 = $94;
|
|
HEAP32[$95 >> 2] = $92;
|
|
$96 = ($94 + 4) | 0;
|
|
$97 = $96;
|
|
HEAP32[$97 >> 2] = $93;
|
|
$98 = ($output + 40) | 0;
|
|
$99 = $98;
|
|
$100 = $99;
|
|
$101 = HEAP32[$100 >> 2] | 0;
|
|
$102 = ($99 + 4) | 0;
|
|
$103 = $102;
|
|
$104 = HEAP32[$103 >> 2] | 0;
|
|
$105 = ($in + 40) | 0;
|
|
$106 = $105;
|
|
$107 = $106;
|
|
$108 = HEAP32[$107 >> 2] | 0;
|
|
$109 = ($106 + 4) | 0;
|
|
$110 = $109;
|
|
$111 = HEAP32[$110 >> 2] | 0;
|
|
$112 = _i64Add($108 | 0, $111 | 0, $101 | 0, $104 | 0) | 0;
|
|
$113 = tempRet0;
|
|
$114 = $98;
|
|
$115 = $114;
|
|
HEAP32[$115 >> 2] = $112;
|
|
$116 = ($114 + 4) | 0;
|
|
$117 = $116;
|
|
HEAP32[$117 >> 2] = $113;
|
|
$118 = ($output + 48) | 0;
|
|
$119 = $118;
|
|
$120 = $119;
|
|
$121 = HEAP32[$120 >> 2] | 0;
|
|
$122 = ($119 + 4) | 0;
|
|
$123 = $122;
|
|
$124 = HEAP32[$123 >> 2] | 0;
|
|
$125 = ($in + 48) | 0;
|
|
$126 = $125;
|
|
$127 = $126;
|
|
$128 = HEAP32[$127 >> 2] | 0;
|
|
$129 = ($126 + 4) | 0;
|
|
$130 = $129;
|
|
$131 = HEAP32[$130 >> 2] | 0;
|
|
$132 = _i64Add($128 | 0, $131 | 0, $121 | 0, $124 | 0) | 0;
|
|
$133 = tempRet0;
|
|
$134 = $118;
|
|
$135 = $134;
|
|
HEAP32[$135 >> 2] = $132;
|
|
$136 = ($134 + 4) | 0;
|
|
$137 = $136;
|
|
HEAP32[$137 >> 2] = $133;
|
|
$138 = ($output + 56) | 0;
|
|
$139 = $138;
|
|
$140 = $139;
|
|
$141 = HEAP32[$140 >> 2] | 0;
|
|
$142 = ($139 + 4) | 0;
|
|
$143 = $142;
|
|
$144 = HEAP32[$143 >> 2] | 0;
|
|
$145 = ($in + 56) | 0;
|
|
$146 = $145;
|
|
$147 = $146;
|
|
$148 = HEAP32[$147 >> 2] | 0;
|
|
$149 = ($146 + 4) | 0;
|
|
$150 = $149;
|
|
$151 = HEAP32[$150 >> 2] | 0;
|
|
$152 = _i64Add($148 | 0, $151 | 0, $141 | 0, $144 | 0) | 0;
|
|
$153 = tempRet0;
|
|
$154 = $138;
|
|
$155 = $154;
|
|
HEAP32[$155 >> 2] = $152;
|
|
$156 = ($154 + 4) | 0;
|
|
$157 = $156;
|
|
HEAP32[$157 >> 2] = $153;
|
|
$158 = ($output + 64) | 0;
|
|
$159 = $158;
|
|
$160 = $159;
|
|
$161 = HEAP32[$160 >> 2] | 0;
|
|
$162 = ($159 + 4) | 0;
|
|
$163 = $162;
|
|
$164 = HEAP32[$163 >> 2] | 0;
|
|
$165 = ($in + 64) | 0;
|
|
$166 = $165;
|
|
$167 = $166;
|
|
$168 = HEAP32[$167 >> 2] | 0;
|
|
$169 = ($166 + 4) | 0;
|
|
$170 = $169;
|
|
$171 = HEAP32[$170 >> 2] | 0;
|
|
$172 = _i64Add($168 | 0, $171 | 0, $161 | 0, $164 | 0) | 0;
|
|
$173 = tempRet0;
|
|
$174 = $158;
|
|
$175 = $174;
|
|
HEAP32[$175 >> 2] = $172;
|
|
$176 = ($174 + 4) | 0;
|
|
$177 = $176;
|
|
HEAP32[$177 >> 2] = $173;
|
|
$178 = ($output + 72) | 0;
|
|
$179 = $178;
|
|
$180 = $179;
|
|
$181 = HEAP32[$180 >> 2] | 0;
|
|
$182 = ($179 + 4) | 0;
|
|
$183 = $182;
|
|
$184 = HEAP32[$183 >> 2] | 0;
|
|
$185 = ($in + 72) | 0;
|
|
$186 = $185;
|
|
$187 = $186;
|
|
$188 = HEAP32[$187 >> 2] | 0;
|
|
$189 = ($186 + 4) | 0;
|
|
$190 = $189;
|
|
$191 = HEAP32[$190 >> 2] | 0;
|
|
$192 = _i64Add($188 | 0, $191 | 0, $181 | 0, $184 | 0) | 0;
|
|
$193 = tempRet0;
|
|
$194 = $178;
|
|
$195 = $194;
|
|
HEAP32[$195 >> 2] = $192;
|
|
$196 = ($194 + 4) | 0;
|
|
$197 = $196;
|
|
HEAP32[$197 >> 2] = $193;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _fdifference($output, $in) {
|
|
$output = $output | 0;
|
|
$in = $in | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$101 = 0,
|
|
$102 = 0,
|
|
$103 = 0,
|
|
$104 = 0,
|
|
$105 = 0,
|
|
$106 = 0,
|
|
$107 = 0,
|
|
$108 = 0,
|
|
$109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0,
|
|
$115 = 0;
|
|
var $116 = 0,
|
|
$117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0,
|
|
$124 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$131 = 0,
|
|
$132 = 0,
|
|
$133 = 0;
|
|
var $134 = 0,
|
|
$135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$138 = 0,
|
|
$139 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$141 = 0,
|
|
$142 = 0,
|
|
$143 = 0,
|
|
$144 = 0,
|
|
$145 = 0,
|
|
$146 = 0,
|
|
$147 = 0,
|
|
$148 = 0,
|
|
$149 = 0,
|
|
$15 = 0,
|
|
$150 = 0,
|
|
$151 = 0;
|
|
var $152 = 0,
|
|
$153 = 0,
|
|
$154 = 0,
|
|
$155 = 0,
|
|
$156 = 0,
|
|
$157 = 0,
|
|
$158 = 0,
|
|
$159 = 0,
|
|
$16 = 0,
|
|
$160 = 0,
|
|
$161 = 0,
|
|
$162 = 0,
|
|
$163 = 0,
|
|
$164 = 0,
|
|
$165 = 0,
|
|
$166 = 0,
|
|
$167 = 0,
|
|
$168 = 0,
|
|
$169 = 0,
|
|
$17 = 0;
|
|
var $170 = 0,
|
|
$171 = 0,
|
|
$172 = 0,
|
|
$173 = 0,
|
|
$174 = 0,
|
|
$175 = 0,
|
|
$176 = 0,
|
|
$177 = 0,
|
|
$178 = 0,
|
|
$179 = 0,
|
|
$18 = 0,
|
|
$180 = 0,
|
|
$181 = 0,
|
|
$182 = 0,
|
|
$183 = 0,
|
|
$184 = 0,
|
|
$185 = 0,
|
|
$186 = 0,
|
|
$187 = 0,
|
|
$188 = 0;
|
|
var $189 = 0,
|
|
$19 = 0,
|
|
$190 = 0,
|
|
$191 = 0,
|
|
$192 = 0,
|
|
$193 = 0,
|
|
$194 = 0,
|
|
$195 = 0,
|
|
$196 = 0,
|
|
$197 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0,
|
|
$27 = 0,
|
|
$28 = 0;
|
|
var $29 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0,
|
|
$45 = 0,
|
|
$46 = 0;
|
|
var $47 = 0,
|
|
$48 = 0,
|
|
$49 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$51 = 0,
|
|
$52 = 0,
|
|
$53 = 0,
|
|
$54 = 0,
|
|
$55 = 0,
|
|
$56 = 0,
|
|
$57 = 0,
|
|
$58 = 0,
|
|
$59 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$61 = 0,
|
|
$62 = 0,
|
|
$63 = 0,
|
|
$64 = 0;
|
|
var $65 = 0,
|
|
$66 = 0,
|
|
$67 = 0,
|
|
$68 = 0,
|
|
$69 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$71 = 0,
|
|
$72 = 0,
|
|
$73 = 0,
|
|
$74 = 0,
|
|
$75 = 0,
|
|
$76 = 0,
|
|
$77 = 0,
|
|
$78 = 0,
|
|
$79 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$81 = 0,
|
|
$82 = 0;
|
|
var $83 = 0,
|
|
$84 = 0,
|
|
$85 = 0,
|
|
$86 = 0,
|
|
$87 = 0,
|
|
$88 = 0,
|
|
$89 = 0,
|
|
$9 = 0,
|
|
$90 = 0,
|
|
$91 = 0,
|
|
$92 = 0,
|
|
$93 = 0,
|
|
$94 = 0,
|
|
$95 = 0,
|
|
$96 = 0,
|
|
$97 = 0,
|
|
$98 = 0,
|
|
$99 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = $in;
|
|
$1 = $0;
|
|
$2 = HEAP32[$1 >> 2] | 0;
|
|
$3 = ($0 + 4) | 0;
|
|
$4 = $3;
|
|
$5 = HEAP32[$4 >> 2] | 0;
|
|
$6 = $output;
|
|
$7 = $6;
|
|
$8 = HEAP32[$7 >> 2] | 0;
|
|
$9 = ($6 + 4) | 0;
|
|
$10 = $9;
|
|
$11 = HEAP32[$10 >> 2] | 0;
|
|
$12 = _i64Subtract($2 | 0, $5 | 0, $8 | 0, $11 | 0) | 0;
|
|
$13 = tempRet0;
|
|
$14 = $output;
|
|
$15 = $14;
|
|
HEAP32[$15 >> 2] = $12;
|
|
$16 = ($14 + 4) | 0;
|
|
$17 = $16;
|
|
HEAP32[$17 >> 2] = $13;
|
|
$18 = ($in + 8) | 0;
|
|
$19 = $18;
|
|
$20 = $19;
|
|
$21 = HEAP32[$20 >> 2] | 0;
|
|
$22 = ($19 + 4) | 0;
|
|
$23 = $22;
|
|
$24 = HEAP32[$23 >> 2] | 0;
|
|
$25 = ($output + 8) | 0;
|
|
$26 = $25;
|
|
$27 = $26;
|
|
$28 = HEAP32[$27 >> 2] | 0;
|
|
$29 = ($26 + 4) | 0;
|
|
$30 = $29;
|
|
$31 = HEAP32[$30 >> 2] | 0;
|
|
$32 = _i64Subtract($21 | 0, $24 | 0, $28 | 0, $31 | 0) | 0;
|
|
$33 = tempRet0;
|
|
$34 = $25;
|
|
$35 = $34;
|
|
HEAP32[$35 >> 2] = $32;
|
|
$36 = ($34 + 4) | 0;
|
|
$37 = $36;
|
|
HEAP32[$37 >> 2] = $33;
|
|
$38 = ($in + 16) | 0;
|
|
$39 = $38;
|
|
$40 = $39;
|
|
$41 = HEAP32[$40 >> 2] | 0;
|
|
$42 = ($39 + 4) | 0;
|
|
$43 = $42;
|
|
$44 = HEAP32[$43 >> 2] | 0;
|
|
$45 = ($output + 16) | 0;
|
|
$46 = $45;
|
|
$47 = $46;
|
|
$48 = HEAP32[$47 >> 2] | 0;
|
|
$49 = ($46 + 4) | 0;
|
|
$50 = $49;
|
|
$51 = HEAP32[$50 >> 2] | 0;
|
|
$52 = _i64Subtract($41 | 0, $44 | 0, $48 | 0, $51 | 0) | 0;
|
|
$53 = tempRet0;
|
|
$54 = $45;
|
|
$55 = $54;
|
|
HEAP32[$55 >> 2] = $52;
|
|
$56 = ($54 + 4) | 0;
|
|
$57 = $56;
|
|
HEAP32[$57 >> 2] = $53;
|
|
$58 = ($in + 24) | 0;
|
|
$59 = $58;
|
|
$60 = $59;
|
|
$61 = HEAP32[$60 >> 2] | 0;
|
|
$62 = ($59 + 4) | 0;
|
|
$63 = $62;
|
|
$64 = HEAP32[$63 >> 2] | 0;
|
|
$65 = ($output + 24) | 0;
|
|
$66 = $65;
|
|
$67 = $66;
|
|
$68 = HEAP32[$67 >> 2] | 0;
|
|
$69 = ($66 + 4) | 0;
|
|
$70 = $69;
|
|
$71 = HEAP32[$70 >> 2] | 0;
|
|
$72 = _i64Subtract($61 | 0, $64 | 0, $68 | 0, $71 | 0) | 0;
|
|
$73 = tempRet0;
|
|
$74 = $65;
|
|
$75 = $74;
|
|
HEAP32[$75 >> 2] = $72;
|
|
$76 = ($74 + 4) | 0;
|
|
$77 = $76;
|
|
HEAP32[$77 >> 2] = $73;
|
|
$78 = ($in + 32) | 0;
|
|
$79 = $78;
|
|
$80 = $79;
|
|
$81 = HEAP32[$80 >> 2] | 0;
|
|
$82 = ($79 + 4) | 0;
|
|
$83 = $82;
|
|
$84 = HEAP32[$83 >> 2] | 0;
|
|
$85 = ($output + 32) | 0;
|
|
$86 = $85;
|
|
$87 = $86;
|
|
$88 = HEAP32[$87 >> 2] | 0;
|
|
$89 = ($86 + 4) | 0;
|
|
$90 = $89;
|
|
$91 = HEAP32[$90 >> 2] | 0;
|
|
$92 = _i64Subtract($81 | 0, $84 | 0, $88 | 0, $91 | 0) | 0;
|
|
$93 = tempRet0;
|
|
$94 = $85;
|
|
$95 = $94;
|
|
HEAP32[$95 >> 2] = $92;
|
|
$96 = ($94 + 4) | 0;
|
|
$97 = $96;
|
|
HEAP32[$97 >> 2] = $93;
|
|
$98 = ($in + 40) | 0;
|
|
$99 = $98;
|
|
$100 = $99;
|
|
$101 = HEAP32[$100 >> 2] | 0;
|
|
$102 = ($99 + 4) | 0;
|
|
$103 = $102;
|
|
$104 = HEAP32[$103 >> 2] | 0;
|
|
$105 = ($output + 40) | 0;
|
|
$106 = $105;
|
|
$107 = $106;
|
|
$108 = HEAP32[$107 >> 2] | 0;
|
|
$109 = ($106 + 4) | 0;
|
|
$110 = $109;
|
|
$111 = HEAP32[$110 >> 2] | 0;
|
|
$112 = _i64Subtract($101 | 0, $104 | 0, $108 | 0, $111 | 0) | 0;
|
|
$113 = tempRet0;
|
|
$114 = $105;
|
|
$115 = $114;
|
|
HEAP32[$115 >> 2] = $112;
|
|
$116 = ($114 + 4) | 0;
|
|
$117 = $116;
|
|
HEAP32[$117 >> 2] = $113;
|
|
$118 = ($in + 48) | 0;
|
|
$119 = $118;
|
|
$120 = $119;
|
|
$121 = HEAP32[$120 >> 2] | 0;
|
|
$122 = ($119 + 4) | 0;
|
|
$123 = $122;
|
|
$124 = HEAP32[$123 >> 2] | 0;
|
|
$125 = ($output + 48) | 0;
|
|
$126 = $125;
|
|
$127 = $126;
|
|
$128 = HEAP32[$127 >> 2] | 0;
|
|
$129 = ($126 + 4) | 0;
|
|
$130 = $129;
|
|
$131 = HEAP32[$130 >> 2] | 0;
|
|
$132 = _i64Subtract($121 | 0, $124 | 0, $128 | 0, $131 | 0) | 0;
|
|
$133 = tempRet0;
|
|
$134 = $125;
|
|
$135 = $134;
|
|
HEAP32[$135 >> 2] = $132;
|
|
$136 = ($134 + 4) | 0;
|
|
$137 = $136;
|
|
HEAP32[$137 >> 2] = $133;
|
|
$138 = ($in + 56) | 0;
|
|
$139 = $138;
|
|
$140 = $139;
|
|
$141 = HEAP32[$140 >> 2] | 0;
|
|
$142 = ($139 + 4) | 0;
|
|
$143 = $142;
|
|
$144 = HEAP32[$143 >> 2] | 0;
|
|
$145 = ($output + 56) | 0;
|
|
$146 = $145;
|
|
$147 = $146;
|
|
$148 = HEAP32[$147 >> 2] | 0;
|
|
$149 = ($146 + 4) | 0;
|
|
$150 = $149;
|
|
$151 = HEAP32[$150 >> 2] | 0;
|
|
$152 = _i64Subtract($141 | 0, $144 | 0, $148 | 0, $151 | 0) | 0;
|
|
$153 = tempRet0;
|
|
$154 = $145;
|
|
$155 = $154;
|
|
HEAP32[$155 >> 2] = $152;
|
|
$156 = ($154 + 4) | 0;
|
|
$157 = $156;
|
|
HEAP32[$157 >> 2] = $153;
|
|
$158 = ($in + 64) | 0;
|
|
$159 = $158;
|
|
$160 = $159;
|
|
$161 = HEAP32[$160 >> 2] | 0;
|
|
$162 = ($159 + 4) | 0;
|
|
$163 = $162;
|
|
$164 = HEAP32[$163 >> 2] | 0;
|
|
$165 = ($output + 64) | 0;
|
|
$166 = $165;
|
|
$167 = $166;
|
|
$168 = HEAP32[$167 >> 2] | 0;
|
|
$169 = ($166 + 4) | 0;
|
|
$170 = $169;
|
|
$171 = HEAP32[$170 >> 2] | 0;
|
|
$172 = _i64Subtract($161 | 0, $164 | 0, $168 | 0, $171 | 0) | 0;
|
|
$173 = tempRet0;
|
|
$174 = $165;
|
|
$175 = $174;
|
|
HEAP32[$175 >> 2] = $172;
|
|
$176 = ($174 + 4) | 0;
|
|
$177 = $176;
|
|
HEAP32[$177 >> 2] = $173;
|
|
$178 = ($in + 72) | 0;
|
|
$179 = $178;
|
|
$180 = $179;
|
|
$181 = HEAP32[$180 >> 2] | 0;
|
|
$182 = ($179 + 4) | 0;
|
|
$183 = $182;
|
|
$184 = HEAP32[$183 >> 2] | 0;
|
|
$185 = ($output + 72) | 0;
|
|
$186 = $185;
|
|
$187 = $186;
|
|
$188 = HEAP32[$187 >> 2] | 0;
|
|
$189 = ($186 + 4) | 0;
|
|
$190 = $189;
|
|
$191 = HEAP32[$190 >> 2] | 0;
|
|
$192 = _i64Subtract($181 | 0, $184 | 0, $188 | 0, $191 | 0) | 0;
|
|
$193 = tempRet0;
|
|
$194 = $185;
|
|
$195 = $194;
|
|
HEAP32[$195 >> 2] = $192;
|
|
$196 = ($194 + 4) | 0;
|
|
$197 = $196;
|
|
HEAP32[$197 >> 2] = $193;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _fscalar_product($output, $in) {
|
|
$output = $output | 0;
|
|
$in = $in | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$101 = 0,
|
|
$102 = 0,
|
|
$103 = 0,
|
|
$104 = 0,
|
|
$105 = 0,
|
|
$106 = 0,
|
|
$107 = 0,
|
|
$108 = 0,
|
|
$109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0,
|
|
$115 = 0;
|
|
var $116 = 0,
|
|
$117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0,
|
|
$124 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$131 = 0,
|
|
$132 = 0,
|
|
$133 = 0;
|
|
var $134 = 0,
|
|
$135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0,
|
|
$27 = 0,
|
|
$28 = 0;
|
|
var $29 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0,
|
|
$45 = 0,
|
|
$46 = 0;
|
|
var $47 = 0,
|
|
$48 = 0,
|
|
$49 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$51 = 0,
|
|
$52 = 0,
|
|
$53 = 0,
|
|
$54 = 0,
|
|
$55 = 0,
|
|
$56 = 0,
|
|
$57 = 0,
|
|
$58 = 0,
|
|
$59 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$61 = 0,
|
|
$62 = 0,
|
|
$63 = 0,
|
|
$64 = 0;
|
|
var $65 = 0,
|
|
$66 = 0,
|
|
$67 = 0,
|
|
$68 = 0,
|
|
$69 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$71 = 0,
|
|
$72 = 0,
|
|
$73 = 0,
|
|
$74 = 0,
|
|
$75 = 0,
|
|
$76 = 0,
|
|
$77 = 0,
|
|
$78 = 0,
|
|
$79 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$81 = 0,
|
|
$82 = 0;
|
|
var $83 = 0,
|
|
$84 = 0,
|
|
$85 = 0,
|
|
$86 = 0,
|
|
$87 = 0,
|
|
$88 = 0,
|
|
$89 = 0,
|
|
$9 = 0,
|
|
$90 = 0,
|
|
$91 = 0,
|
|
$92 = 0,
|
|
$93 = 0,
|
|
$94 = 0,
|
|
$95 = 0,
|
|
$96 = 0,
|
|
$97 = 0,
|
|
$98 = 0,
|
|
$99 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = $in;
|
|
$1 = $0;
|
|
$2 = HEAP32[$1 >> 2] | 0;
|
|
$3 = ($0 + 4) | 0;
|
|
$4 = $3;
|
|
$5 = HEAP32[$4 >> 2] | 0;
|
|
$6 = ___muldi3($2 | 0, $5 | 0, 121665, 0) | 0;
|
|
$7 = tempRet0;
|
|
$8 = $output;
|
|
$9 = $8;
|
|
HEAP32[$9 >> 2] = $6;
|
|
$10 = ($8 + 4) | 0;
|
|
$11 = $10;
|
|
HEAP32[$11 >> 2] = $7;
|
|
$12 = ($in + 8) | 0;
|
|
$13 = $12;
|
|
$14 = $13;
|
|
$15 = HEAP32[$14 >> 2] | 0;
|
|
$16 = ($13 + 4) | 0;
|
|
$17 = $16;
|
|
$18 = HEAP32[$17 >> 2] | 0;
|
|
$19 = ___muldi3($15 | 0, $18 | 0, 121665, 0) | 0;
|
|
$20 = tempRet0;
|
|
$21 = ($output + 8) | 0;
|
|
$22 = $21;
|
|
$23 = $22;
|
|
HEAP32[$23 >> 2] = $19;
|
|
$24 = ($22 + 4) | 0;
|
|
$25 = $24;
|
|
HEAP32[$25 >> 2] = $20;
|
|
$26 = ($in + 16) | 0;
|
|
$27 = $26;
|
|
$28 = $27;
|
|
$29 = HEAP32[$28 >> 2] | 0;
|
|
$30 = ($27 + 4) | 0;
|
|
$31 = $30;
|
|
$32 = HEAP32[$31 >> 2] | 0;
|
|
$33 = ___muldi3($29 | 0, $32 | 0, 121665, 0) | 0;
|
|
$34 = tempRet0;
|
|
$35 = ($output + 16) | 0;
|
|
$36 = $35;
|
|
$37 = $36;
|
|
HEAP32[$37 >> 2] = $33;
|
|
$38 = ($36 + 4) | 0;
|
|
$39 = $38;
|
|
HEAP32[$39 >> 2] = $34;
|
|
$40 = ($in + 24) | 0;
|
|
$41 = $40;
|
|
$42 = $41;
|
|
$43 = HEAP32[$42 >> 2] | 0;
|
|
$44 = ($41 + 4) | 0;
|
|
$45 = $44;
|
|
$46 = HEAP32[$45 >> 2] | 0;
|
|
$47 = ___muldi3($43 | 0, $46 | 0, 121665, 0) | 0;
|
|
$48 = tempRet0;
|
|
$49 = ($output + 24) | 0;
|
|
$50 = $49;
|
|
$51 = $50;
|
|
HEAP32[$51 >> 2] = $47;
|
|
$52 = ($50 + 4) | 0;
|
|
$53 = $52;
|
|
HEAP32[$53 >> 2] = $48;
|
|
$54 = ($in + 32) | 0;
|
|
$55 = $54;
|
|
$56 = $55;
|
|
$57 = HEAP32[$56 >> 2] | 0;
|
|
$58 = ($55 + 4) | 0;
|
|
$59 = $58;
|
|
$60 = HEAP32[$59 >> 2] | 0;
|
|
$61 = ___muldi3($57 | 0, $60 | 0, 121665, 0) | 0;
|
|
$62 = tempRet0;
|
|
$63 = ($output + 32) | 0;
|
|
$64 = $63;
|
|
$65 = $64;
|
|
HEAP32[$65 >> 2] = $61;
|
|
$66 = ($64 + 4) | 0;
|
|
$67 = $66;
|
|
HEAP32[$67 >> 2] = $62;
|
|
$68 = ($in + 40) | 0;
|
|
$69 = $68;
|
|
$70 = $69;
|
|
$71 = HEAP32[$70 >> 2] | 0;
|
|
$72 = ($69 + 4) | 0;
|
|
$73 = $72;
|
|
$74 = HEAP32[$73 >> 2] | 0;
|
|
$75 = ___muldi3($71 | 0, $74 | 0, 121665, 0) | 0;
|
|
$76 = tempRet0;
|
|
$77 = ($output + 40) | 0;
|
|
$78 = $77;
|
|
$79 = $78;
|
|
HEAP32[$79 >> 2] = $75;
|
|
$80 = ($78 + 4) | 0;
|
|
$81 = $80;
|
|
HEAP32[$81 >> 2] = $76;
|
|
$82 = ($in + 48) | 0;
|
|
$83 = $82;
|
|
$84 = $83;
|
|
$85 = HEAP32[$84 >> 2] | 0;
|
|
$86 = ($83 + 4) | 0;
|
|
$87 = $86;
|
|
$88 = HEAP32[$87 >> 2] | 0;
|
|
$89 = ___muldi3($85 | 0, $88 | 0, 121665, 0) | 0;
|
|
$90 = tempRet0;
|
|
$91 = ($output + 48) | 0;
|
|
$92 = $91;
|
|
$93 = $92;
|
|
HEAP32[$93 >> 2] = $89;
|
|
$94 = ($92 + 4) | 0;
|
|
$95 = $94;
|
|
HEAP32[$95 >> 2] = $90;
|
|
$96 = ($in + 56) | 0;
|
|
$97 = $96;
|
|
$98 = $97;
|
|
$99 = HEAP32[$98 >> 2] | 0;
|
|
$100 = ($97 + 4) | 0;
|
|
$101 = $100;
|
|
$102 = HEAP32[$101 >> 2] | 0;
|
|
$103 = ___muldi3($99 | 0, $102 | 0, 121665, 0) | 0;
|
|
$104 = tempRet0;
|
|
$105 = ($output + 56) | 0;
|
|
$106 = $105;
|
|
$107 = $106;
|
|
HEAP32[$107 >> 2] = $103;
|
|
$108 = ($106 + 4) | 0;
|
|
$109 = $108;
|
|
HEAP32[$109 >> 2] = $104;
|
|
$110 = ($in + 64) | 0;
|
|
$111 = $110;
|
|
$112 = $111;
|
|
$113 = HEAP32[$112 >> 2] | 0;
|
|
$114 = ($111 + 4) | 0;
|
|
$115 = $114;
|
|
$116 = HEAP32[$115 >> 2] | 0;
|
|
$117 = ___muldi3($113 | 0, $116 | 0, 121665, 0) | 0;
|
|
$118 = tempRet0;
|
|
$119 = ($output + 64) | 0;
|
|
$120 = $119;
|
|
$121 = $120;
|
|
HEAP32[$121 >> 2] = $117;
|
|
$122 = ($120 + 4) | 0;
|
|
$123 = $122;
|
|
HEAP32[$123 >> 2] = $118;
|
|
$124 = ($in + 72) | 0;
|
|
$125 = $124;
|
|
$126 = $125;
|
|
$127 = HEAP32[$126 >> 2] | 0;
|
|
$128 = ($125 + 4) | 0;
|
|
$129 = $128;
|
|
$130 = HEAP32[$129 >> 2] | 0;
|
|
$131 = ___muldi3($127 | 0, $130 | 0, 121665, 0) | 0;
|
|
$132 = tempRet0;
|
|
$133 = ($output + 72) | 0;
|
|
$134 = $133;
|
|
$135 = $134;
|
|
HEAP32[$135 >> 2] = $131;
|
|
$136 = ($134 + 4) | 0;
|
|
$137 = $136;
|
|
HEAP32[$137 >> 2] = $132;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _fsquare_inner($output, $in) {
|
|
$output = $output | 0;
|
|
$in = $in | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$1000 = 0,
|
|
$1001 = 0,
|
|
$1002 = 0,
|
|
$1003 = 0,
|
|
$1004 = 0,
|
|
$1005 = 0,
|
|
$1006 = 0,
|
|
$1007 = 0,
|
|
$1008 = 0,
|
|
$1009 = 0,
|
|
$101 = 0,
|
|
$1010 = 0,
|
|
$1011 = 0,
|
|
$1012 = 0,
|
|
$1013 = 0,
|
|
$1014 = 0;
|
|
var $1015 = 0,
|
|
$1016 = 0,
|
|
$1017 = 0,
|
|
$1018 = 0,
|
|
$1019 = 0,
|
|
$102 = 0,
|
|
$1020 = 0,
|
|
$1021 = 0,
|
|
$1022 = 0,
|
|
$1023 = 0,
|
|
$1024 = 0,
|
|
$1025 = 0,
|
|
$1026 = 0,
|
|
$1027 = 0,
|
|
$1028 = 0,
|
|
$1029 = 0,
|
|
$103 = 0,
|
|
$1030 = 0,
|
|
$1031 = 0,
|
|
$1032 = 0;
|
|
var $1033 = 0,
|
|
$1034 = 0,
|
|
$1035 = 0,
|
|
$1036 = 0,
|
|
$1037 = 0,
|
|
$1038 = 0,
|
|
$1039 = 0,
|
|
$104 = 0,
|
|
$1040 = 0,
|
|
$1041 = 0,
|
|
$1042 = 0,
|
|
$1043 = 0,
|
|
$1044 = 0,
|
|
$1045 = 0,
|
|
$1046 = 0,
|
|
$1047 = 0,
|
|
$1048 = 0,
|
|
$1049 = 0,
|
|
$105 = 0,
|
|
$1050 = 0;
|
|
var $1051 = 0,
|
|
$1052 = 0,
|
|
$1053 = 0,
|
|
$1054 = 0,
|
|
$1055 = 0,
|
|
$1056 = 0,
|
|
$1057 = 0,
|
|
$1058 = 0,
|
|
$1059 = 0,
|
|
$106 = 0,
|
|
$1060 = 0,
|
|
$1061 = 0,
|
|
$1062 = 0,
|
|
$1063 = 0,
|
|
$1064 = 0,
|
|
$1065 = 0,
|
|
$1066 = 0,
|
|
$1067 = 0,
|
|
$1068 = 0,
|
|
$1069 = 0;
|
|
var $107 = 0,
|
|
$1070 = 0,
|
|
$1071 = 0,
|
|
$1072 = 0,
|
|
$1073 = 0,
|
|
$1074 = 0,
|
|
$1075 = 0,
|
|
$1076 = 0,
|
|
$1077 = 0,
|
|
$1078 = 0,
|
|
$1079 = 0,
|
|
$108 = 0,
|
|
$1080 = 0,
|
|
$1081 = 0,
|
|
$1082 = 0,
|
|
$1083 = 0,
|
|
$1084 = 0,
|
|
$1085 = 0,
|
|
$1086 = 0,
|
|
$1087 = 0;
|
|
var $1088 = 0,
|
|
$1089 = 0,
|
|
$109 = 0,
|
|
$1090 = 0,
|
|
$1091 = 0,
|
|
$1092 = 0,
|
|
$1093 = 0,
|
|
$1094 = 0,
|
|
$1095 = 0,
|
|
$1096 = 0,
|
|
$1097 = 0,
|
|
$1098 = 0,
|
|
$1099 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$1100 = 0,
|
|
$1101 = 0,
|
|
$1102 = 0,
|
|
$1103 = 0,
|
|
$1104 = 0;
|
|
var $1105 = 0,
|
|
$1106 = 0,
|
|
$1107 = 0,
|
|
$1108 = 0,
|
|
$1109 = 0,
|
|
$111 = 0,
|
|
$1110 = 0,
|
|
$1111 = 0,
|
|
$1112 = 0,
|
|
$1113 = 0,
|
|
$1114 = 0,
|
|
$1115 = 0,
|
|
$1116 = 0,
|
|
$1117 = 0,
|
|
$1118 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0,
|
|
$115 = 0,
|
|
$116 = 0;
|
|
var $117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0,
|
|
$124 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$131 = 0,
|
|
$132 = 0,
|
|
$133 = 0,
|
|
$134 = 0;
|
|
var $135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$138 = 0,
|
|
$139 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$141 = 0,
|
|
$142 = 0,
|
|
$143 = 0,
|
|
$144 = 0,
|
|
$145 = 0,
|
|
$146 = 0,
|
|
$147 = 0,
|
|
$148 = 0,
|
|
$149 = 0,
|
|
$15 = 0,
|
|
$150 = 0,
|
|
$151 = 0,
|
|
$152 = 0;
|
|
var $153 = 0,
|
|
$154 = 0,
|
|
$155 = 0,
|
|
$156 = 0,
|
|
$157 = 0,
|
|
$158 = 0,
|
|
$159 = 0,
|
|
$16 = 0,
|
|
$160 = 0,
|
|
$161 = 0,
|
|
$162 = 0,
|
|
$163 = 0,
|
|
$164 = 0,
|
|
$165 = 0,
|
|
$166 = 0,
|
|
$167 = 0,
|
|
$168 = 0,
|
|
$169 = 0,
|
|
$17 = 0,
|
|
$170 = 0;
|
|
var $171 = 0,
|
|
$172 = 0,
|
|
$173 = 0,
|
|
$174 = 0,
|
|
$175 = 0,
|
|
$176 = 0,
|
|
$177 = 0,
|
|
$178 = 0,
|
|
$179 = 0,
|
|
$18 = 0,
|
|
$180 = 0,
|
|
$181 = 0,
|
|
$182 = 0,
|
|
$183 = 0,
|
|
$184 = 0,
|
|
$185 = 0,
|
|
$186 = 0,
|
|
$187 = 0,
|
|
$188 = 0,
|
|
$189 = 0;
|
|
var $19 = 0,
|
|
$190 = 0,
|
|
$191 = 0,
|
|
$192 = 0,
|
|
$193 = 0,
|
|
$194 = 0,
|
|
$195 = 0,
|
|
$196 = 0,
|
|
$197 = 0,
|
|
$198 = 0,
|
|
$199 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$200 = 0,
|
|
$201 = 0,
|
|
$202 = 0,
|
|
$203 = 0,
|
|
$204 = 0,
|
|
$205 = 0,
|
|
$206 = 0;
|
|
var $207 = 0,
|
|
$208 = 0,
|
|
$209 = 0,
|
|
$21 = 0,
|
|
$210 = 0,
|
|
$211 = 0,
|
|
$212 = 0,
|
|
$213 = 0,
|
|
$214 = 0,
|
|
$215 = 0,
|
|
$216 = 0,
|
|
$217 = 0,
|
|
$218 = 0,
|
|
$219 = 0,
|
|
$22 = 0,
|
|
$220 = 0,
|
|
$221 = 0,
|
|
$222 = 0,
|
|
$223 = 0,
|
|
$224 = 0;
|
|
var $225 = 0,
|
|
$226 = 0,
|
|
$227 = 0,
|
|
$228 = 0,
|
|
$229 = 0,
|
|
$23 = 0,
|
|
$230 = 0,
|
|
$231 = 0,
|
|
$232 = 0,
|
|
$233 = 0,
|
|
$234 = 0,
|
|
$235 = 0,
|
|
$236 = 0,
|
|
$237 = 0,
|
|
$238 = 0,
|
|
$239 = 0,
|
|
$24 = 0,
|
|
$240 = 0,
|
|
$241 = 0,
|
|
$242 = 0;
|
|
var $243 = 0,
|
|
$244 = 0,
|
|
$245 = 0,
|
|
$246 = 0,
|
|
$247 = 0,
|
|
$248 = 0,
|
|
$249 = 0,
|
|
$25 = 0,
|
|
$250 = 0,
|
|
$251 = 0,
|
|
$252 = 0,
|
|
$253 = 0,
|
|
$254 = 0,
|
|
$255 = 0,
|
|
$256 = 0,
|
|
$257 = 0,
|
|
$258 = 0,
|
|
$259 = 0,
|
|
$26 = 0,
|
|
$260 = 0;
|
|
var $261 = 0,
|
|
$262 = 0,
|
|
$263 = 0,
|
|
$264 = 0,
|
|
$265 = 0,
|
|
$266 = 0,
|
|
$267 = 0,
|
|
$268 = 0,
|
|
$269 = 0,
|
|
$27 = 0,
|
|
$270 = 0,
|
|
$271 = 0,
|
|
$272 = 0,
|
|
$273 = 0,
|
|
$274 = 0,
|
|
$275 = 0,
|
|
$276 = 0,
|
|
$277 = 0,
|
|
$278 = 0,
|
|
$279 = 0;
|
|
var $28 = 0,
|
|
$280 = 0,
|
|
$281 = 0,
|
|
$282 = 0,
|
|
$283 = 0,
|
|
$284 = 0,
|
|
$285 = 0,
|
|
$286 = 0,
|
|
$287 = 0,
|
|
$288 = 0,
|
|
$289 = 0,
|
|
$29 = 0,
|
|
$290 = 0,
|
|
$291 = 0,
|
|
$292 = 0,
|
|
$293 = 0,
|
|
$294 = 0,
|
|
$295 = 0,
|
|
$296 = 0,
|
|
$297 = 0;
|
|
var $298 = 0,
|
|
$299 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$300 = 0,
|
|
$301 = 0,
|
|
$302 = 0,
|
|
$303 = 0,
|
|
$304 = 0,
|
|
$305 = 0,
|
|
$306 = 0,
|
|
$307 = 0,
|
|
$308 = 0,
|
|
$309 = 0,
|
|
$31 = 0,
|
|
$310 = 0,
|
|
$311 = 0,
|
|
$312 = 0,
|
|
$313 = 0,
|
|
$314 = 0;
|
|
var $315 = 0,
|
|
$316 = 0,
|
|
$317 = 0,
|
|
$318 = 0,
|
|
$319 = 0,
|
|
$32 = 0,
|
|
$320 = 0,
|
|
$321 = 0,
|
|
$322 = 0,
|
|
$323 = 0,
|
|
$324 = 0,
|
|
$325 = 0,
|
|
$326 = 0,
|
|
$327 = 0,
|
|
$328 = 0,
|
|
$329 = 0,
|
|
$33 = 0,
|
|
$330 = 0,
|
|
$331 = 0,
|
|
$332 = 0;
|
|
var $333 = 0,
|
|
$334 = 0,
|
|
$335 = 0,
|
|
$336 = 0,
|
|
$337 = 0,
|
|
$338 = 0,
|
|
$339 = 0,
|
|
$34 = 0,
|
|
$340 = 0,
|
|
$341 = 0,
|
|
$342 = 0,
|
|
$343 = 0,
|
|
$344 = 0,
|
|
$345 = 0,
|
|
$346 = 0,
|
|
$347 = 0,
|
|
$348 = 0,
|
|
$349 = 0,
|
|
$35 = 0,
|
|
$350 = 0;
|
|
var $351 = 0,
|
|
$352 = 0,
|
|
$353 = 0,
|
|
$354 = 0,
|
|
$355 = 0,
|
|
$356 = 0,
|
|
$357 = 0,
|
|
$358 = 0,
|
|
$359 = 0,
|
|
$36 = 0,
|
|
$360 = 0,
|
|
$361 = 0,
|
|
$362 = 0,
|
|
$363 = 0,
|
|
$364 = 0,
|
|
$365 = 0,
|
|
$366 = 0,
|
|
$367 = 0,
|
|
$368 = 0,
|
|
$369 = 0;
|
|
var $37 = 0,
|
|
$370 = 0,
|
|
$371 = 0,
|
|
$372 = 0,
|
|
$373 = 0,
|
|
$374 = 0,
|
|
$375 = 0,
|
|
$376 = 0,
|
|
$377 = 0,
|
|
$378 = 0,
|
|
$379 = 0,
|
|
$38 = 0,
|
|
$380 = 0,
|
|
$381 = 0,
|
|
$382 = 0,
|
|
$383 = 0,
|
|
$384 = 0,
|
|
$385 = 0,
|
|
$386 = 0,
|
|
$387 = 0;
|
|
var $388 = 0,
|
|
$389 = 0,
|
|
$39 = 0,
|
|
$390 = 0,
|
|
$391 = 0,
|
|
$392 = 0,
|
|
$393 = 0,
|
|
$394 = 0,
|
|
$395 = 0,
|
|
$396 = 0,
|
|
$397 = 0,
|
|
$398 = 0,
|
|
$399 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$400 = 0,
|
|
$401 = 0,
|
|
$402 = 0,
|
|
$403 = 0,
|
|
$404 = 0;
|
|
var $405 = 0,
|
|
$406 = 0,
|
|
$407 = 0,
|
|
$408 = 0,
|
|
$409 = 0,
|
|
$41 = 0,
|
|
$410 = 0,
|
|
$411 = 0,
|
|
$412 = 0,
|
|
$413 = 0,
|
|
$414 = 0,
|
|
$415 = 0,
|
|
$416 = 0,
|
|
$417 = 0,
|
|
$418 = 0,
|
|
$419 = 0,
|
|
$42 = 0,
|
|
$420 = 0,
|
|
$421 = 0,
|
|
$422 = 0;
|
|
var $423 = 0,
|
|
$424 = 0,
|
|
$425 = 0,
|
|
$426 = 0,
|
|
$427 = 0,
|
|
$428 = 0,
|
|
$429 = 0,
|
|
$43 = 0,
|
|
$430 = 0,
|
|
$431 = 0,
|
|
$432 = 0,
|
|
$433 = 0,
|
|
$434 = 0,
|
|
$435 = 0,
|
|
$436 = 0,
|
|
$437 = 0,
|
|
$438 = 0,
|
|
$439 = 0,
|
|
$44 = 0,
|
|
$440 = 0;
|
|
var $441 = 0,
|
|
$442 = 0,
|
|
$443 = 0,
|
|
$444 = 0,
|
|
$445 = 0,
|
|
$446 = 0,
|
|
$447 = 0,
|
|
$448 = 0,
|
|
$449 = 0,
|
|
$45 = 0,
|
|
$450 = 0,
|
|
$451 = 0,
|
|
$452 = 0,
|
|
$453 = 0,
|
|
$454 = 0,
|
|
$455 = 0,
|
|
$456 = 0,
|
|
$457 = 0,
|
|
$458 = 0,
|
|
$459 = 0;
|
|
var $46 = 0,
|
|
$460 = 0,
|
|
$461 = 0,
|
|
$462 = 0,
|
|
$463 = 0,
|
|
$464 = 0,
|
|
$465 = 0,
|
|
$466 = 0,
|
|
$467 = 0,
|
|
$468 = 0,
|
|
$469 = 0,
|
|
$47 = 0,
|
|
$470 = 0,
|
|
$471 = 0,
|
|
$472 = 0,
|
|
$473 = 0,
|
|
$474 = 0,
|
|
$475 = 0,
|
|
$476 = 0,
|
|
$477 = 0;
|
|
var $478 = 0,
|
|
$479 = 0,
|
|
$48 = 0,
|
|
$480 = 0,
|
|
$481 = 0,
|
|
$482 = 0,
|
|
$483 = 0,
|
|
$484 = 0,
|
|
$485 = 0,
|
|
$486 = 0,
|
|
$487 = 0,
|
|
$488 = 0,
|
|
$489 = 0,
|
|
$49 = 0,
|
|
$490 = 0,
|
|
$491 = 0,
|
|
$492 = 0,
|
|
$493 = 0,
|
|
$494 = 0,
|
|
$495 = 0;
|
|
var $496 = 0,
|
|
$497 = 0,
|
|
$498 = 0,
|
|
$499 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$500 = 0,
|
|
$501 = 0,
|
|
$502 = 0,
|
|
$503 = 0,
|
|
$504 = 0,
|
|
$505 = 0,
|
|
$506 = 0,
|
|
$507 = 0,
|
|
$508 = 0,
|
|
$509 = 0,
|
|
$51 = 0,
|
|
$510 = 0,
|
|
$511 = 0,
|
|
$512 = 0;
|
|
var $513 = 0,
|
|
$514 = 0,
|
|
$515 = 0,
|
|
$516 = 0,
|
|
$517 = 0,
|
|
$518 = 0,
|
|
$519 = 0,
|
|
$52 = 0,
|
|
$520 = 0,
|
|
$521 = 0,
|
|
$522 = 0,
|
|
$523 = 0,
|
|
$524 = 0,
|
|
$525 = 0,
|
|
$526 = 0,
|
|
$527 = 0,
|
|
$528 = 0,
|
|
$529 = 0,
|
|
$53 = 0,
|
|
$530 = 0;
|
|
var $531 = 0,
|
|
$532 = 0,
|
|
$533 = 0,
|
|
$534 = 0,
|
|
$535 = 0,
|
|
$536 = 0,
|
|
$537 = 0,
|
|
$538 = 0,
|
|
$539 = 0,
|
|
$54 = 0,
|
|
$540 = 0,
|
|
$541 = 0,
|
|
$542 = 0,
|
|
$543 = 0,
|
|
$544 = 0,
|
|
$545 = 0,
|
|
$546 = 0,
|
|
$547 = 0,
|
|
$548 = 0,
|
|
$549 = 0;
|
|
var $55 = 0,
|
|
$550 = 0,
|
|
$551 = 0,
|
|
$552 = 0,
|
|
$553 = 0,
|
|
$554 = 0,
|
|
$555 = 0,
|
|
$556 = 0,
|
|
$557 = 0,
|
|
$558 = 0,
|
|
$559 = 0,
|
|
$56 = 0,
|
|
$560 = 0,
|
|
$561 = 0,
|
|
$562 = 0,
|
|
$563 = 0,
|
|
$564 = 0,
|
|
$565 = 0,
|
|
$566 = 0,
|
|
$567 = 0;
|
|
var $568 = 0,
|
|
$569 = 0,
|
|
$57 = 0,
|
|
$570 = 0,
|
|
$571 = 0,
|
|
$572 = 0,
|
|
$573 = 0,
|
|
$574 = 0,
|
|
$575 = 0,
|
|
$576 = 0,
|
|
$577 = 0,
|
|
$578 = 0,
|
|
$579 = 0,
|
|
$58 = 0,
|
|
$580 = 0,
|
|
$581 = 0,
|
|
$582 = 0,
|
|
$583 = 0,
|
|
$584 = 0,
|
|
$585 = 0;
|
|
var $586 = 0,
|
|
$587 = 0,
|
|
$588 = 0,
|
|
$589 = 0,
|
|
$59 = 0,
|
|
$590 = 0,
|
|
$591 = 0,
|
|
$592 = 0,
|
|
$593 = 0,
|
|
$594 = 0,
|
|
$595 = 0,
|
|
$596 = 0,
|
|
$597 = 0,
|
|
$598 = 0,
|
|
$599 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$600 = 0,
|
|
$601 = 0,
|
|
$602 = 0;
|
|
var $603 = 0,
|
|
$604 = 0,
|
|
$605 = 0,
|
|
$606 = 0,
|
|
$607 = 0,
|
|
$608 = 0,
|
|
$609 = 0,
|
|
$61 = 0,
|
|
$610 = 0,
|
|
$611 = 0,
|
|
$612 = 0,
|
|
$613 = 0,
|
|
$614 = 0,
|
|
$615 = 0,
|
|
$616 = 0,
|
|
$617 = 0,
|
|
$618 = 0,
|
|
$619 = 0,
|
|
$62 = 0,
|
|
$620 = 0;
|
|
var $621 = 0,
|
|
$622 = 0,
|
|
$623 = 0,
|
|
$624 = 0,
|
|
$625 = 0,
|
|
$626 = 0,
|
|
$627 = 0,
|
|
$628 = 0,
|
|
$629 = 0,
|
|
$63 = 0,
|
|
$630 = 0,
|
|
$631 = 0,
|
|
$632 = 0,
|
|
$633 = 0,
|
|
$634 = 0,
|
|
$635 = 0,
|
|
$636 = 0,
|
|
$637 = 0,
|
|
$638 = 0,
|
|
$639 = 0;
|
|
var $64 = 0,
|
|
$640 = 0,
|
|
$641 = 0,
|
|
$642 = 0,
|
|
$643 = 0,
|
|
$644 = 0,
|
|
$645 = 0,
|
|
$646 = 0,
|
|
$647 = 0,
|
|
$648 = 0,
|
|
$649 = 0,
|
|
$65 = 0,
|
|
$650 = 0,
|
|
$651 = 0,
|
|
$652 = 0,
|
|
$653 = 0,
|
|
$654 = 0,
|
|
$655 = 0,
|
|
$656 = 0,
|
|
$657 = 0;
|
|
var $658 = 0,
|
|
$659 = 0,
|
|
$66 = 0,
|
|
$660 = 0,
|
|
$661 = 0,
|
|
$662 = 0,
|
|
$663 = 0,
|
|
$664 = 0,
|
|
$665 = 0,
|
|
$666 = 0,
|
|
$667 = 0,
|
|
$668 = 0,
|
|
$669 = 0,
|
|
$67 = 0,
|
|
$670 = 0,
|
|
$671 = 0,
|
|
$672 = 0,
|
|
$673 = 0,
|
|
$674 = 0,
|
|
$675 = 0;
|
|
var $676 = 0,
|
|
$677 = 0,
|
|
$678 = 0,
|
|
$679 = 0,
|
|
$68 = 0,
|
|
$680 = 0,
|
|
$681 = 0,
|
|
$682 = 0,
|
|
$683 = 0,
|
|
$684 = 0,
|
|
$685 = 0,
|
|
$686 = 0,
|
|
$687 = 0,
|
|
$688 = 0,
|
|
$689 = 0,
|
|
$69 = 0,
|
|
$690 = 0,
|
|
$691 = 0,
|
|
$692 = 0,
|
|
$693 = 0;
|
|
var $694 = 0,
|
|
$695 = 0,
|
|
$696 = 0,
|
|
$697 = 0,
|
|
$698 = 0,
|
|
$699 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$700 = 0,
|
|
$701 = 0,
|
|
$702 = 0,
|
|
$703 = 0,
|
|
$704 = 0,
|
|
$705 = 0,
|
|
$706 = 0,
|
|
$707 = 0,
|
|
$708 = 0,
|
|
$709 = 0,
|
|
$71 = 0,
|
|
$710 = 0;
|
|
var $711 = 0,
|
|
$712 = 0,
|
|
$713 = 0,
|
|
$714 = 0,
|
|
$715 = 0,
|
|
$716 = 0,
|
|
$717 = 0,
|
|
$718 = 0,
|
|
$719 = 0,
|
|
$72 = 0,
|
|
$720 = 0,
|
|
$721 = 0,
|
|
$722 = 0,
|
|
$723 = 0,
|
|
$724 = 0,
|
|
$725 = 0,
|
|
$726 = 0,
|
|
$727 = 0,
|
|
$728 = 0,
|
|
$729 = 0;
|
|
var $73 = 0,
|
|
$730 = 0,
|
|
$731 = 0,
|
|
$732 = 0,
|
|
$733 = 0,
|
|
$734 = 0,
|
|
$735 = 0,
|
|
$736 = 0,
|
|
$737 = 0,
|
|
$738 = 0,
|
|
$739 = 0,
|
|
$74 = 0,
|
|
$740 = 0,
|
|
$741 = 0,
|
|
$742 = 0,
|
|
$743 = 0,
|
|
$744 = 0,
|
|
$745 = 0,
|
|
$746 = 0,
|
|
$747 = 0;
|
|
var $748 = 0,
|
|
$749 = 0,
|
|
$75 = 0,
|
|
$750 = 0,
|
|
$751 = 0,
|
|
$752 = 0,
|
|
$753 = 0,
|
|
$754 = 0,
|
|
$755 = 0,
|
|
$756 = 0,
|
|
$757 = 0,
|
|
$758 = 0,
|
|
$759 = 0,
|
|
$76 = 0,
|
|
$760 = 0,
|
|
$761 = 0,
|
|
$762 = 0,
|
|
$763 = 0,
|
|
$764 = 0,
|
|
$765 = 0;
|
|
var $766 = 0,
|
|
$767 = 0,
|
|
$768 = 0,
|
|
$769 = 0,
|
|
$77 = 0,
|
|
$770 = 0,
|
|
$771 = 0,
|
|
$772 = 0,
|
|
$773 = 0,
|
|
$774 = 0,
|
|
$775 = 0,
|
|
$776 = 0,
|
|
$777 = 0,
|
|
$778 = 0,
|
|
$779 = 0,
|
|
$78 = 0,
|
|
$780 = 0,
|
|
$781 = 0,
|
|
$782 = 0,
|
|
$783 = 0;
|
|
var $784 = 0,
|
|
$785 = 0,
|
|
$786 = 0,
|
|
$787 = 0,
|
|
$788 = 0,
|
|
$789 = 0,
|
|
$79 = 0,
|
|
$790 = 0,
|
|
$791 = 0,
|
|
$792 = 0,
|
|
$793 = 0,
|
|
$794 = 0,
|
|
$795 = 0,
|
|
$796 = 0,
|
|
$797 = 0,
|
|
$798 = 0,
|
|
$799 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$800 = 0;
|
|
var $801 = 0,
|
|
$802 = 0,
|
|
$803 = 0,
|
|
$804 = 0,
|
|
$805 = 0,
|
|
$806 = 0,
|
|
$807 = 0,
|
|
$808 = 0,
|
|
$809 = 0,
|
|
$81 = 0,
|
|
$810 = 0,
|
|
$811 = 0,
|
|
$812 = 0,
|
|
$813 = 0,
|
|
$814 = 0,
|
|
$815 = 0,
|
|
$816 = 0,
|
|
$817 = 0,
|
|
$818 = 0,
|
|
$819 = 0;
|
|
var $82 = 0,
|
|
$820 = 0,
|
|
$821 = 0,
|
|
$822 = 0,
|
|
$823 = 0,
|
|
$824 = 0,
|
|
$825 = 0,
|
|
$826 = 0,
|
|
$827 = 0,
|
|
$828 = 0,
|
|
$829 = 0,
|
|
$83 = 0,
|
|
$830 = 0,
|
|
$831 = 0,
|
|
$832 = 0,
|
|
$833 = 0,
|
|
$834 = 0,
|
|
$835 = 0,
|
|
$836 = 0,
|
|
$837 = 0;
|
|
var $838 = 0,
|
|
$839 = 0,
|
|
$84 = 0,
|
|
$840 = 0,
|
|
$841 = 0,
|
|
$842 = 0,
|
|
$843 = 0,
|
|
$844 = 0,
|
|
$845 = 0,
|
|
$846 = 0,
|
|
$847 = 0,
|
|
$848 = 0,
|
|
$849 = 0,
|
|
$85 = 0,
|
|
$850 = 0,
|
|
$851 = 0,
|
|
$852 = 0,
|
|
$853 = 0,
|
|
$854 = 0,
|
|
$855 = 0;
|
|
var $856 = 0,
|
|
$857 = 0,
|
|
$858 = 0,
|
|
$859 = 0,
|
|
$86 = 0,
|
|
$860 = 0,
|
|
$861 = 0,
|
|
$862 = 0,
|
|
$863 = 0,
|
|
$864 = 0,
|
|
$865 = 0,
|
|
$866 = 0,
|
|
$867 = 0,
|
|
$868 = 0,
|
|
$869 = 0,
|
|
$87 = 0,
|
|
$870 = 0,
|
|
$871 = 0,
|
|
$872 = 0,
|
|
$873 = 0;
|
|
var $874 = 0,
|
|
$875 = 0,
|
|
$876 = 0,
|
|
$877 = 0,
|
|
$878 = 0,
|
|
$879 = 0,
|
|
$88 = 0,
|
|
$880 = 0,
|
|
$881 = 0,
|
|
$882 = 0,
|
|
$883 = 0,
|
|
$884 = 0,
|
|
$885 = 0,
|
|
$886 = 0,
|
|
$887 = 0,
|
|
$888 = 0,
|
|
$889 = 0,
|
|
$89 = 0,
|
|
$890 = 0,
|
|
$891 = 0;
|
|
var $892 = 0,
|
|
$893 = 0,
|
|
$894 = 0,
|
|
$895 = 0,
|
|
$896 = 0,
|
|
$897 = 0,
|
|
$898 = 0,
|
|
$899 = 0,
|
|
$9 = 0,
|
|
$90 = 0,
|
|
$900 = 0,
|
|
$901 = 0,
|
|
$902 = 0,
|
|
$903 = 0,
|
|
$904 = 0,
|
|
$905 = 0,
|
|
$906 = 0,
|
|
$907 = 0,
|
|
$908 = 0,
|
|
$909 = 0;
|
|
var $91 = 0,
|
|
$910 = 0,
|
|
$911 = 0,
|
|
$912 = 0,
|
|
$913 = 0,
|
|
$914 = 0,
|
|
$915 = 0,
|
|
$916 = 0,
|
|
$917 = 0,
|
|
$918 = 0,
|
|
$919 = 0,
|
|
$92 = 0,
|
|
$920 = 0,
|
|
$921 = 0,
|
|
$922 = 0,
|
|
$923 = 0,
|
|
$924 = 0,
|
|
$925 = 0,
|
|
$926 = 0,
|
|
$927 = 0;
|
|
var $928 = 0,
|
|
$929 = 0,
|
|
$93 = 0,
|
|
$930 = 0,
|
|
$931 = 0,
|
|
$932 = 0,
|
|
$933 = 0,
|
|
$934 = 0,
|
|
$935 = 0,
|
|
$936 = 0,
|
|
$937 = 0,
|
|
$938 = 0,
|
|
$939 = 0,
|
|
$94 = 0,
|
|
$940 = 0,
|
|
$941 = 0,
|
|
$942 = 0,
|
|
$943 = 0,
|
|
$944 = 0,
|
|
$945 = 0;
|
|
var $946 = 0,
|
|
$947 = 0,
|
|
$948 = 0,
|
|
$949 = 0,
|
|
$95 = 0,
|
|
$950 = 0,
|
|
$951 = 0,
|
|
$952 = 0,
|
|
$953 = 0,
|
|
$954 = 0,
|
|
$955 = 0,
|
|
$956 = 0,
|
|
$957 = 0,
|
|
$958 = 0,
|
|
$959 = 0,
|
|
$96 = 0,
|
|
$960 = 0,
|
|
$961 = 0,
|
|
$962 = 0,
|
|
$963 = 0;
|
|
var $964 = 0,
|
|
$965 = 0,
|
|
$966 = 0,
|
|
$967 = 0,
|
|
$968 = 0,
|
|
$969 = 0,
|
|
$97 = 0,
|
|
$970 = 0,
|
|
$971 = 0,
|
|
$972 = 0,
|
|
$973 = 0,
|
|
$974 = 0,
|
|
$975 = 0,
|
|
$976 = 0,
|
|
$977 = 0,
|
|
$978 = 0,
|
|
$979 = 0,
|
|
$98 = 0,
|
|
$980 = 0,
|
|
$981 = 0;
|
|
var $982 = 0,
|
|
$983 = 0,
|
|
$984 = 0,
|
|
$985 = 0,
|
|
$986 = 0,
|
|
$987 = 0,
|
|
$988 = 0,
|
|
$989 = 0,
|
|
$99 = 0,
|
|
$990 = 0,
|
|
$991 = 0,
|
|
$992 = 0,
|
|
$993 = 0,
|
|
$994 = 0,
|
|
$995 = 0,
|
|
$996 = 0,
|
|
$997 = 0,
|
|
$998 = 0,
|
|
$999 = 0,
|
|
label = 0;
|
|
var sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = $in;
|
|
$1 = $0;
|
|
$2 = HEAP32[$1 >> 2] | 0;
|
|
$3 = ($0 + 4) | 0;
|
|
$4 = $3;
|
|
$5 = HEAP32[$4 >> 2] | 0;
|
|
$6 = _bitshift64Ashr(0, $2 | 0, 32) | 0;
|
|
$7 = tempRet0;
|
|
$8 = ___muldi3($6 | 0, $7 | 0, $6 | 0, $7 | 0) | 0;
|
|
$9 = tempRet0;
|
|
$10 = $output;
|
|
$11 = $10;
|
|
HEAP32[$11 >> 2] = $8;
|
|
$12 = ($10 + 4) | 0;
|
|
$13 = $12;
|
|
HEAP32[$13 >> 2] = $9;
|
|
$14 = $in;
|
|
$15 = $14;
|
|
$16 = HEAP32[$15 >> 2] | 0;
|
|
$17 = ($14 + 4) | 0;
|
|
$18 = $17;
|
|
$19 = HEAP32[$18 >> 2] | 0;
|
|
$20 = _bitshift64Ashr(0, $16 | 0, 31) | 0;
|
|
$21 = tempRet0;
|
|
$22 = ($in + 8) | 0;
|
|
$23 = $22;
|
|
$24 = $23;
|
|
$25 = HEAP32[$24 >> 2] | 0;
|
|
$26 = ($23 + 4) | 0;
|
|
$27 = $26;
|
|
$28 = HEAP32[$27 >> 2] | 0;
|
|
$29 = _bitshift64Ashr(0, $25 | 0, 32) | 0;
|
|
$30 = tempRet0;
|
|
$31 = ___muldi3($29 | 0, $30 | 0, $20 | 0, $21 | 0) | 0;
|
|
$32 = tempRet0;
|
|
$33 = ($output + 8) | 0;
|
|
$34 = $33;
|
|
$35 = $34;
|
|
HEAP32[$35 >> 2] = $31;
|
|
$36 = ($34 + 4) | 0;
|
|
$37 = $36;
|
|
HEAP32[$37 >> 2] = $32;
|
|
$38 = $22;
|
|
$39 = $38;
|
|
$40 = HEAP32[$39 >> 2] | 0;
|
|
$41 = ($38 + 4) | 0;
|
|
$42 = $41;
|
|
$43 = HEAP32[$42 >> 2] | 0;
|
|
$44 = _bitshift64Ashr(0, $40 | 0, 32) | 0;
|
|
$45 = tempRet0;
|
|
$46 = ___muldi3($44 | 0, $45 | 0, $44 | 0, $45 | 0) | 0;
|
|
$47 = tempRet0;
|
|
$48 = $in;
|
|
$49 = $48;
|
|
$50 = HEAP32[$49 >> 2] | 0;
|
|
$51 = ($48 + 4) | 0;
|
|
$52 = $51;
|
|
$53 = HEAP32[$52 >> 2] | 0;
|
|
$54 = _bitshift64Ashr(0, $50 | 0, 32) | 0;
|
|
$55 = tempRet0;
|
|
$56 = ($in + 16) | 0;
|
|
$57 = $56;
|
|
$58 = $57;
|
|
$59 = HEAP32[$58 >> 2] | 0;
|
|
$60 = ($57 + 4) | 0;
|
|
$61 = $60;
|
|
$62 = HEAP32[$61 >> 2] | 0;
|
|
$63 = _bitshift64Ashr(0, $59 | 0, 32) | 0;
|
|
$64 = tempRet0;
|
|
$65 = ___muldi3($63 | 0, $64 | 0, $54 | 0, $55 | 0) | 0;
|
|
$66 = tempRet0;
|
|
$67 = _i64Add($65 | 0, $66 | 0, $46 | 0, $47 | 0) | 0;
|
|
$68 = tempRet0;
|
|
$69 = _bitshift64Shl($67 | 0, $68 | 0, 1) | 0;
|
|
$70 = tempRet0;
|
|
$71 = ($output + 16) | 0;
|
|
$72 = $71;
|
|
$73 = $72;
|
|
HEAP32[$73 >> 2] = $69;
|
|
$74 = ($72 + 4) | 0;
|
|
$75 = $74;
|
|
HEAP32[$75 >> 2] = $70;
|
|
$76 = $22;
|
|
$77 = $76;
|
|
$78 = HEAP32[$77 >> 2] | 0;
|
|
$79 = ($76 + 4) | 0;
|
|
$80 = $79;
|
|
$81 = HEAP32[$80 >> 2] | 0;
|
|
$82 = _bitshift64Ashr(0, $78 | 0, 32) | 0;
|
|
$83 = tempRet0;
|
|
$84 = $56;
|
|
$85 = $84;
|
|
$86 = HEAP32[$85 >> 2] | 0;
|
|
$87 = ($84 + 4) | 0;
|
|
$88 = $87;
|
|
$89 = HEAP32[$88 >> 2] | 0;
|
|
$90 = _bitshift64Ashr(0, $86 | 0, 32) | 0;
|
|
$91 = tempRet0;
|
|
$92 = ___muldi3($90 | 0, $91 | 0, $82 | 0, $83 | 0) | 0;
|
|
$93 = tempRet0;
|
|
$94 = $in;
|
|
$95 = $94;
|
|
$96 = HEAP32[$95 >> 2] | 0;
|
|
$97 = ($94 + 4) | 0;
|
|
$98 = $97;
|
|
$99 = HEAP32[$98 >> 2] | 0;
|
|
$100 = _bitshift64Ashr(0, $96 | 0, 32) | 0;
|
|
$101 = tempRet0;
|
|
$102 = ($in + 24) | 0;
|
|
$103 = $102;
|
|
$104 = $103;
|
|
$105 = HEAP32[$104 >> 2] | 0;
|
|
$106 = ($103 + 4) | 0;
|
|
$107 = $106;
|
|
$108 = HEAP32[$107 >> 2] | 0;
|
|
$109 = _bitshift64Ashr(0, $105 | 0, 32) | 0;
|
|
$110 = tempRet0;
|
|
$111 = ___muldi3($109 | 0, $110 | 0, $100 | 0, $101 | 0) | 0;
|
|
$112 = tempRet0;
|
|
$113 = _i64Add($111 | 0, $112 | 0, $92 | 0, $93 | 0) | 0;
|
|
$114 = tempRet0;
|
|
$115 = _bitshift64Shl($113 | 0, $114 | 0, 1) | 0;
|
|
$116 = tempRet0;
|
|
$117 = ($output + 24) | 0;
|
|
$118 = $117;
|
|
$119 = $118;
|
|
HEAP32[$119 >> 2] = $115;
|
|
$120 = ($118 + 4) | 0;
|
|
$121 = $120;
|
|
HEAP32[$121 >> 2] = $116;
|
|
$122 = $56;
|
|
$123 = $122;
|
|
$124 = HEAP32[$123 >> 2] | 0;
|
|
$125 = ($122 + 4) | 0;
|
|
$126 = $125;
|
|
$127 = HEAP32[$126 >> 2] | 0;
|
|
$128 = _bitshift64Ashr(0, $124 | 0, 32) | 0;
|
|
$129 = tempRet0;
|
|
$130 = ___muldi3($128 | 0, $129 | 0, $128 | 0, $129 | 0) | 0;
|
|
$131 = tempRet0;
|
|
$132 = $22;
|
|
$133 = $132;
|
|
$134 = HEAP32[$133 >> 2] | 0;
|
|
$135 = ($132 + 4) | 0;
|
|
$136 = $135;
|
|
$137 = HEAP32[$136 >> 2] | 0;
|
|
$138 = _bitshift64Ashr(0, $134 | 0, 30) | 0;
|
|
$139 = tempRet0;
|
|
$140 = $102;
|
|
$141 = $140;
|
|
$142 = HEAP32[$141 >> 2] | 0;
|
|
$143 = ($140 + 4) | 0;
|
|
$144 = $143;
|
|
$145 = HEAP32[$144 >> 2] | 0;
|
|
$146 = _bitshift64Ashr(0, $142 | 0, 32) | 0;
|
|
$147 = tempRet0;
|
|
$148 = ___muldi3($146 | 0, $147 | 0, $138 | 0, $139 | 0) | 0;
|
|
$149 = tempRet0;
|
|
$150 = _i64Add($148 | 0, $149 | 0, $130 | 0, $131 | 0) | 0;
|
|
$151 = tempRet0;
|
|
$152 = $in;
|
|
$153 = $152;
|
|
$154 = HEAP32[$153 >> 2] | 0;
|
|
$155 = ($152 + 4) | 0;
|
|
$156 = $155;
|
|
$157 = HEAP32[$156 >> 2] | 0;
|
|
$158 = _bitshift64Ashr(0, $154 | 0, 31) | 0;
|
|
$159 = tempRet0;
|
|
$160 = ($in + 32) | 0;
|
|
$161 = $160;
|
|
$162 = $161;
|
|
$163 = HEAP32[$162 >> 2] | 0;
|
|
$164 = ($161 + 4) | 0;
|
|
$165 = $164;
|
|
$166 = HEAP32[$165 >> 2] | 0;
|
|
$167 = _bitshift64Ashr(0, $163 | 0, 32) | 0;
|
|
$168 = tempRet0;
|
|
$169 = ___muldi3($167 | 0, $168 | 0, $158 | 0, $159 | 0) | 0;
|
|
$170 = tempRet0;
|
|
$171 = _i64Add($150 | 0, $151 | 0, $169 | 0, $170 | 0) | 0;
|
|
$172 = tempRet0;
|
|
$173 = ($output + 32) | 0;
|
|
$174 = $173;
|
|
$175 = $174;
|
|
HEAP32[$175 >> 2] = $171;
|
|
$176 = ($174 + 4) | 0;
|
|
$177 = $176;
|
|
HEAP32[$177 >> 2] = $172;
|
|
$178 = $56;
|
|
$179 = $178;
|
|
$180 = HEAP32[$179 >> 2] | 0;
|
|
$181 = ($178 + 4) | 0;
|
|
$182 = $181;
|
|
$183 = HEAP32[$182 >> 2] | 0;
|
|
$184 = _bitshift64Ashr(0, $180 | 0, 32) | 0;
|
|
$185 = tempRet0;
|
|
$186 = $102;
|
|
$187 = $186;
|
|
$188 = HEAP32[$187 >> 2] | 0;
|
|
$189 = ($186 + 4) | 0;
|
|
$190 = $189;
|
|
$191 = HEAP32[$190 >> 2] | 0;
|
|
$192 = _bitshift64Ashr(0, $188 | 0, 32) | 0;
|
|
$193 = tempRet0;
|
|
$194 = ___muldi3($192 | 0, $193 | 0, $184 | 0, $185 | 0) | 0;
|
|
$195 = tempRet0;
|
|
$196 = $22;
|
|
$197 = $196;
|
|
$198 = HEAP32[$197 >> 2] | 0;
|
|
$199 = ($196 + 4) | 0;
|
|
$200 = $199;
|
|
$201 = HEAP32[$200 >> 2] | 0;
|
|
$202 = _bitshift64Ashr(0, $198 | 0, 32) | 0;
|
|
$203 = tempRet0;
|
|
$204 = $160;
|
|
$205 = $204;
|
|
$206 = HEAP32[$205 >> 2] | 0;
|
|
$207 = ($204 + 4) | 0;
|
|
$208 = $207;
|
|
$209 = HEAP32[$208 >> 2] | 0;
|
|
$210 = _bitshift64Ashr(0, $206 | 0, 32) | 0;
|
|
$211 = tempRet0;
|
|
$212 = ___muldi3($210 | 0, $211 | 0, $202 | 0, $203 | 0) | 0;
|
|
$213 = tempRet0;
|
|
$214 = _i64Add($212 | 0, $213 | 0, $194 | 0, $195 | 0) | 0;
|
|
$215 = tempRet0;
|
|
$216 = $in;
|
|
$217 = $216;
|
|
$218 = HEAP32[$217 >> 2] | 0;
|
|
$219 = ($216 + 4) | 0;
|
|
$220 = $219;
|
|
$221 = HEAP32[$220 >> 2] | 0;
|
|
$222 = _bitshift64Ashr(0, $218 | 0, 32) | 0;
|
|
$223 = tempRet0;
|
|
$224 = ($in + 40) | 0;
|
|
$225 = $224;
|
|
$226 = $225;
|
|
$227 = HEAP32[$226 >> 2] | 0;
|
|
$228 = ($225 + 4) | 0;
|
|
$229 = $228;
|
|
$230 = HEAP32[$229 >> 2] | 0;
|
|
$231 = _bitshift64Ashr(0, $227 | 0, 32) | 0;
|
|
$232 = tempRet0;
|
|
$233 = ___muldi3($231 | 0, $232 | 0, $222 | 0, $223 | 0) | 0;
|
|
$234 = tempRet0;
|
|
$235 = _i64Add($214 | 0, $215 | 0, $233 | 0, $234 | 0) | 0;
|
|
$236 = tempRet0;
|
|
$237 = _bitshift64Shl($235 | 0, $236 | 0, 1) | 0;
|
|
$238 = tempRet0;
|
|
$239 = ($output + 40) | 0;
|
|
$240 = $239;
|
|
$241 = $240;
|
|
HEAP32[$241 >> 2] = $237;
|
|
$242 = ($240 + 4) | 0;
|
|
$243 = $242;
|
|
HEAP32[$243 >> 2] = $238;
|
|
$244 = $102;
|
|
$245 = $244;
|
|
$246 = HEAP32[$245 >> 2] | 0;
|
|
$247 = ($244 + 4) | 0;
|
|
$248 = $247;
|
|
$249 = HEAP32[$248 >> 2] | 0;
|
|
$250 = _bitshift64Ashr(0, $246 | 0, 32) | 0;
|
|
$251 = tempRet0;
|
|
$252 = ___muldi3($250 | 0, $251 | 0, $250 | 0, $251 | 0) | 0;
|
|
$253 = tempRet0;
|
|
$254 = $56;
|
|
$255 = $254;
|
|
$256 = HEAP32[$255 >> 2] | 0;
|
|
$257 = ($254 + 4) | 0;
|
|
$258 = $257;
|
|
$259 = HEAP32[$258 >> 2] | 0;
|
|
$260 = _bitshift64Ashr(0, $256 | 0, 32) | 0;
|
|
$261 = tempRet0;
|
|
$262 = $160;
|
|
$263 = $262;
|
|
$264 = HEAP32[$263 >> 2] | 0;
|
|
$265 = ($262 + 4) | 0;
|
|
$266 = $265;
|
|
$267 = HEAP32[$266 >> 2] | 0;
|
|
$268 = _bitshift64Ashr(0, $264 | 0, 32) | 0;
|
|
$269 = tempRet0;
|
|
$270 = ___muldi3($268 | 0, $269 | 0, $260 | 0, $261 | 0) | 0;
|
|
$271 = tempRet0;
|
|
$272 = _i64Add($270 | 0, $271 | 0, $252 | 0, $253 | 0) | 0;
|
|
$273 = tempRet0;
|
|
$274 = $in;
|
|
$275 = $274;
|
|
$276 = HEAP32[$275 >> 2] | 0;
|
|
$277 = ($274 + 4) | 0;
|
|
$278 = $277;
|
|
$279 = HEAP32[$278 >> 2] | 0;
|
|
$280 = _bitshift64Ashr(0, $276 | 0, 32) | 0;
|
|
$281 = tempRet0;
|
|
$282 = ($in + 48) | 0;
|
|
$283 = $282;
|
|
$284 = $283;
|
|
$285 = HEAP32[$284 >> 2] | 0;
|
|
$286 = ($283 + 4) | 0;
|
|
$287 = $286;
|
|
$288 = HEAP32[$287 >> 2] | 0;
|
|
$289 = _bitshift64Ashr(0, $285 | 0, 32) | 0;
|
|
$290 = tempRet0;
|
|
$291 = ___muldi3($289 | 0, $290 | 0, $280 | 0, $281 | 0) | 0;
|
|
$292 = tempRet0;
|
|
$293 = _i64Add($272 | 0, $273 | 0, $291 | 0, $292 | 0) | 0;
|
|
$294 = tempRet0;
|
|
$295 = $22;
|
|
$296 = $295;
|
|
$297 = HEAP32[$296 >> 2] | 0;
|
|
$298 = ($295 + 4) | 0;
|
|
$299 = $298;
|
|
$300 = HEAP32[$299 >> 2] | 0;
|
|
$301 = _bitshift64Ashr(0, $297 | 0, 31) | 0;
|
|
$302 = tempRet0;
|
|
$303 = $224;
|
|
$304 = $303;
|
|
$305 = HEAP32[$304 >> 2] | 0;
|
|
$306 = ($303 + 4) | 0;
|
|
$307 = $306;
|
|
$308 = HEAP32[$307 >> 2] | 0;
|
|
$309 = _bitshift64Ashr(0, $305 | 0, 32) | 0;
|
|
$310 = tempRet0;
|
|
$311 = ___muldi3($309 | 0, $310 | 0, $301 | 0, $302 | 0) | 0;
|
|
$312 = tempRet0;
|
|
$313 = _i64Add($293 | 0, $294 | 0, $311 | 0, $312 | 0) | 0;
|
|
$314 = tempRet0;
|
|
$315 = _bitshift64Shl($313 | 0, $314 | 0, 1) | 0;
|
|
$316 = tempRet0;
|
|
$317 = ($output + 48) | 0;
|
|
$318 = $317;
|
|
$319 = $318;
|
|
HEAP32[$319 >> 2] = $315;
|
|
$320 = ($318 + 4) | 0;
|
|
$321 = $320;
|
|
HEAP32[$321 >> 2] = $316;
|
|
$322 = $102;
|
|
$323 = $322;
|
|
$324 = HEAP32[$323 >> 2] | 0;
|
|
$325 = ($322 + 4) | 0;
|
|
$326 = $325;
|
|
$327 = HEAP32[$326 >> 2] | 0;
|
|
$328 = _bitshift64Ashr(0, $324 | 0, 32) | 0;
|
|
$329 = tempRet0;
|
|
$330 = $160;
|
|
$331 = $330;
|
|
$332 = HEAP32[$331 >> 2] | 0;
|
|
$333 = ($330 + 4) | 0;
|
|
$334 = $333;
|
|
$335 = HEAP32[$334 >> 2] | 0;
|
|
$336 = _bitshift64Ashr(0, $332 | 0, 32) | 0;
|
|
$337 = tempRet0;
|
|
$338 = ___muldi3($336 | 0, $337 | 0, $328 | 0, $329 | 0) | 0;
|
|
$339 = tempRet0;
|
|
$340 = $56;
|
|
$341 = $340;
|
|
$342 = HEAP32[$341 >> 2] | 0;
|
|
$343 = ($340 + 4) | 0;
|
|
$344 = $343;
|
|
$345 = HEAP32[$344 >> 2] | 0;
|
|
$346 = _bitshift64Ashr(0, $342 | 0, 32) | 0;
|
|
$347 = tempRet0;
|
|
$348 = $224;
|
|
$349 = $348;
|
|
$350 = HEAP32[$349 >> 2] | 0;
|
|
$351 = ($348 + 4) | 0;
|
|
$352 = $351;
|
|
$353 = HEAP32[$352 >> 2] | 0;
|
|
$354 = _bitshift64Ashr(0, $350 | 0, 32) | 0;
|
|
$355 = tempRet0;
|
|
$356 = ___muldi3($354 | 0, $355 | 0, $346 | 0, $347 | 0) | 0;
|
|
$357 = tempRet0;
|
|
$358 = _i64Add($356 | 0, $357 | 0, $338 | 0, $339 | 0) | 0;
|
|
$359 = tempRet0;
|
|
$360 = $22;
|
|
$361 = $360;
|
|
$362 = HEAP32[$361 >> 2] | 0;
|
|
$363 = ($360 + 4) | 0;
|
|
$364 = $363;
|
|
$365 = HEAP32[$364 >> 2] | 0;
|
|
$366 = _bitshift64Ashr(0, $362 | 0, 32) | 0;
|
|
$367 = tempRet0;
|
|
$368 = $282;
|
|
$369 = $368;
|
|
$370 = HEAP32[$369 >> 2] | 0;
|
|
$371 = ($368 + 4) | 0;
|
|
$372 = $371;
|
|
$373 = HEAP32[$372 >> 2] | 0;
|
|
$374 = _bitshift64Ashr(0, $370 | 0, 32) | 0;
|
|
$375 = tempRet0;
|
|
$376 = ___muldi3($374 | 0, $375 | 0, $366 | 0, $367 | 0) | 0;
|
|
$377 = tempRet0;
|
|
$378 = _i64Add($358 | 0, $359 | 0, $376 | 0, $377 | 0) | 0;
|
|
$379 = tempRet0;
|
|
$380 = $in;
|
|
$381 = $380;
|
|
$382 = HEAP32[$381 >> 2] | 0;
|
|
$383 = ($380 + 4) | 0;
|
|
$384 = $383;
|
|
$385 = HEAP32[$384 >> 2] | 0;
|
|
$386 = _bitshift64Ashr(0, $382 | 0, 32) | 0;
|
|
$387 = tempRet0;
|
|
$388 = ($in + 56) | 0;
|
|
$389 = $388;
|
|
$390 = $389;
|
|
$391 = HEAP32[$390 >> 2] | 0;
|
|
$392 = ($389 + 4) | 0;
|
|
$393 = $392;
|
|
$394 = HEAP32[$393 >> 2] | 0;
|
|
$395 = _bitshift64Ashr(0, $391 | 0, 32) | 0;
|
|
$396 = tempRet0;
|
|
$397 = ___muldi3($395 | 0, $396 | 0, $386 | 0, $387 | 0) | 0;
|
|
$398 = tempRet0;
|
|
$399 = _i64Add($378 | 0, $379 | 0, $397 | 0, $398 | 0) | 0;
|
|
$400 = tempRet0;
|
|
$401 = _bitshift64Shl($399 | 0, $400 | 0, 1) | 0;
|
|
$402 = tempRet0;
|
|
$403 = ($output + 56) | 0;
|
|
$404 = $403;
|
|
$405 = $404;
|
|
HEAP32[$405 >> 2] = $401;
|
|
$406 = ($404 + 4) | 0;
|
|
$407 = $406;
|
|
HEAP32[$407 >> 2] = $402;
|
|
$408 = $160;
|
|
$409 = $408;
|
|
$410 = HEAP32[$409 >> 2] | 0;
|
|
$411 = ($408 + 4) | 0;
|
|
$412 = $411;
|
|
$413 = HEAP32[$412 >> 2] | 0;
|
|
$414 = _bitshift64Ashr(0, $410 | 0, 32) | 0;
|
|
$415 = tempRet0;
|
|
$416 = ___muldi3($414 | 0, $415 | 0, $414 | 0, $415 | 0) | 0;
|
|
$417 = tempRet0;
|
|
$418 = $56;
|
|
$419 = $418;
|
|
$420 = HEAP32[$419 >> 2] | 0;
|
|
$421 = ($418 + 4) | 0;
|
|
$422 = $421;
|
|
$423 = HEAP32[$422 >> 2] | 0;
|
|
$424 = _bitshift64Ashr(0, $420 | 0, 32) | 0;
|
|
$425 = tempRet0;
|
|
$426 = $282;
|
|
$427 = $426;
|
|
$428 = HEAP32[$427 >> 2] | 0;
|
|
$429 = ($426 + 4) | 0;
|
|
$430 = $429;
|
|
$431 = HEAP32[$430 >> 2] | 0;
|
|
$432 = _bitshift64Ashr(0, $428 | 0, 32) | 0;
|
|
$433 = tempRet0;
|
|
$434 = ___muldi3($432 | 0, $433 | 0, $424 | 0, $425 | 0) | 0;
|
|
$435 = tempRet0;
|
|
$436 = $in;
|
|
$437 = $436;
|
|
$438 = HEAP32[$437 >> 2] | 0;
|
|
$439 = ($436 + 4) | 0;
|
|
$440 = $439;
|
|
$441 = HEAP32[$440 >> 2] | 0;
|
|
$442 = _bitshift64Ashr(0, $438 | 0, 32) | 0;
|
|
$443 = tempRet0;
|
|
$444 = ($in + 64) | 0;
|
|
$445 = $444;
|
|
$446 = $445;
|
|
$447 = HEAP32[$446 >> 2] | 0;
|
|
$448 = ($445 + 4) | 0;
|
|
$449 = $448;
|
|
$450 = HEAP32[$449 >> 2] | 0;
|
|
$451 = _bitshift64Ashr(0, $447 | 0, 32) | 0;
|
|
$452 = tempRet0;
|
|
$453 = ___muldi3($451 | 0, $452 | 0, $442 | 0, $443 | 0) | 0;
|
|
$454 = tempRet0;
|
|
$455 = _i64Add($453 | 0, $454 | 0, $434 | 0, $435 | 0) | 0;
|
|
$456 = tempRet0;
|
|
$457 = $22;
|
|
$458 = $457;
|
|
$459 = HEAP32[$458 >> 2] | 0;
|
|
$460 = ($457 + 4) | 0;
|
|
$461 = $460;
|
|
$462 = HEAP32[$461 >> 2] | 0;
|
|
$463 = _bitshift64Ashr(0, $459 | 0, 32) | 0;
|
|
$464 = tempRet0;
|
|
$465 = $388;
|
|
$466 = $465;
|
|
$467 = HEAP32[$466 >> 2] | 0;
|
|
$468 = ($465 + 4) | 0;
|
|
$469 = $468;
|
|
$470 = HEAP32[$469 >> 2] | 0;
|
|
$471 = _bitshift64Ashr(0, $467 | 0, 32) | 0;
|
|
$472 = tempRet0;
|
|
$473 = ___muldi3($471 | 0, $472 | 0, $463 | 0, $464 | 0) | 0;
|
|
$474 = tempRet0;
|
|
$475 = $102;
|
|
$476 = $475;
|
|
$477 = HEAP32[$476 >> 2] | 0;
|
|
$478 = ($475 + 4) | 0;
|
|
$479 = $478;
|
|
$480 = HEAP32[$479 >> 2] | 0;
|
|
$481 = _bitshift64Ashr(0, $477 | 0, 32) | 0;
|
|
$482 = tempRet0;
|
|
$483 = $224;
|
|
$484 = $483;
|
|
$485 = HEAP32[$484 >> 2] | 0;
|
|
$486 = ($483 + 4) | 0;
|
|
$487 = $486;
|
|
$488 = HEAP32[$487 >> 2] | 0;
|
|
$489 = _bitshift64Ashr(0, $485 | 0, 32) | 0;
|
|
$490 = tempRet0;
|
|
$491 = ___muldi3($489 | 0, $490 | 0, $481 | 0, $482 | 0) | 0;
|
|
$492 = tempRet0;
|
|
$493 = _i64Add($491 | 0, $492 | 0, $473 | 0, $474 | 0) | 0;
|
|
$494 = tempRet0;
|
|
$495 = _bitshift64Shl($493 | 0, $494 | 0, 1) | 0;
|
|
$496 = tempRet0;
|
|
$497 = _i64Add($455 | 0, $456 | 0, $495 | 0, $496 | 0) | 0;
|
|
$498 = tempRet0;
|
|
$499 = _bitshift64Shl($497 | 0, $498 | 0, 1) | 0;
|
|
$500 = tempRet0;
|
|
$501 = _i64Add($499 | 0, $500 | 0, $416 | 0, $417 | 0) | 0;
|
|
$502 = tempRet0;
|
|
$503 = ($output + 64) | 0;
|
|
$504 = $503;
|
|
$505 = $504;
|
|
HEAP32[$505 >> 2] = $501;
|
|
$506 = ($504 + 4) | 0;
|
|
$507 = $506;
|
|
HEAP32[$507 >> 2] = $502;
|
|
$508 = $160;
|
|
$509 = $508;
|
|
$510 = HEAP32[$509 >> 2] | 0;
|
|
$511 = ($508 + 4) | 0;
|
|
$512 = $511;
|
|
$513 = HEAP32[$512 >> 2] | 0;
|
|
$514 = _bitshift64Ashr(0, $510 | 0, 32) | 0;
|
|
$515 = tempRet0;
|
|
$516 = $224;
|
|
$517 = $516;
|
|
$518 = HEAP32[$517 >> 2] | 0;
|
|
$519 = ($516 + 4) | 0;
|
|
$520 = $519;
|
|
$521 = HEAP32[$520 >> 2] | 0;
|
|
$522 = _bitshift64Ashr(0, $518 | 0, 32) | 0;
|
|
$523 = tempRet0;
|
|
$524 = ___muldi3($522 | 0, $523 | 0, $514 | 0, $515 | 0) | 0;
|
|
$525 = tempRet0;
|
|
$526 = $102;
|
|
$527 = $526;
|
|
$528 = HEAP32[$527 >> 2] | 0;
|
|
$529 = ($526 + 4) | 0;
|
|
$530 = $529;
|
|
$531 = HEAP32[$530 >> 2] | 0;
|
|
$532 = _bitshift64Ashr(0, $528 | 0, 32) | 0;
|
|
$533 = tempRet0;
|
|
$534 = $282;
|
|
$535 = $534;
|
|
$536 = HEAP32[$535 >> 2] | 0;
|
|
$537 = ($534 + 4) | 0;
|
|
$538 = $537;
|
|
$539 = HEAP32[$538 >> 2] | 0;
|
|
$540 = _bitshift64Ashr(0, $536 | 0, 32) | 0;
|
|
$541 = tempRet0;
|
|
$542 = ___muldi3($540 | 0, $541 | 0, $532 | 0, $533 | 0) | 0;
|
|
$543 = tempRet0;
|
|
$544 = _i64Add($542 | 0, $543 | 0, $524 | 0, $525 | 0) | 0;
|
|
$545 = tempRet0;
|
|
$546 = $56;
|
|
$547 = $546;
|
|
$548 = HEAP32[$547 >> 2] | 0;
|
|
$549 = ($546 + 4) | 0;
|
|
$550 = $549;
|
|
$551 = HEAP32[$550 >> 2] | 0;
|
|
$552 = _bitshift64Ashr(0, $548 | 0, 32) | 0;
|
|
$553 = tempRet0;
|
|
$554 = $388;
|
|
$555 = $554;
|
|
$556 = HEAP32[$555 >> 2] | 0;
|
|
$557 = ($554 + 4) | 0;
|
|
$558 = $557;
|
|
$559 = HEAP32[$558 >> 2] | 0;
|
|
$560 = _bitshift64Ashr(0, $556 | 0, 32) | 0;
|
|
$561 = tempRet0;
|
|
$562 = ___muldi3($560 | 0, $561 | 0, $552 | 0, $553 | 0) | 0;
|
|
$563 = tempRet0;
|
|
$564 = _i64Add($544 | 0, $545 | 0, $562 | 0, $563 | 0) | 0;
|
|
$565 = tempRet0;
|
|
$566 = $22;
|
|
$567 = $566;
|
|
$568 = HEAP32[$567 >> 2] | 0;
|
|
$569 = ($566 + 4) | 0;
|
|
$570 = $569;
|
|
$571 = HEAP32[$570 >> 2] | 0;
|
|
$572 = _bitshift64Ashr(0, $568 | 0, 32) | 0;
|
|
$573 = tempRet0;
|
|
$574 = $444;
|
|
$575 = $574;
|
|
$576 = HEAP32[$575 >> 2] | 0;
|
|
$577 = ($574 + 4) | 0;
|
|
$578 = $577;
|
|
$579 = HEAP32[$578 >> 2] | 0;
|
|
$580 = _bitshift64Ashr(0, $576 | 0, 32) | 0;
|
|
$581 = tempRet0;
|
|
$582 = ___muldi3($580 | 0, $581 | 0, $572 | 0, $573 | 0) | 0;
|
|
$583 = tempRet0;
|
|
$584 = _i64Add($564 | 0, $565 | 0, $582 | 0, $583 | 0) | 0;
|
|
$585 = tempRet0;
|
|
$586 = $in;
|
|
$587 = $586;
|
|
$588 = HEAP32[$587 >> 2] | 0;
|
|
$589 = ($586 + 4) | 0;
|
|
$590 = $589;
|
|
$591 = HEAP32[$590 >> 2] | 0;
|
|
$592 = _bitshift64Ashr(0, $588 | 0, 32) | 0;
|
|
$593 = tempRet0;
|
|
$594 = ($in + 72) | 0;
|
|
$595 = $594;
|
|
$596 = $595;
|
|
$597 = HEAP32[$596 >> 2] | 0;
|
|
$598 = ($595 + 4) | 0;
|
|
$599 = $598;
|
|
$600 = HEAP32[$599 >> 2] | 0;
|
|
$601 = _bitshift64Ashr(0, $597 | 0, 32) | 0;
|
|
$602 = tempRet0;
|
|
$603 = ___muldi3($601 | 0, $602 | 0, $592 | 0, $593 | 0) | 0;
|
|
$604 = tempRet0;
|
|
$605 = _i64Add($584 | 0, $585 | 0, $603 | 0, $604 | 0) | 0;
|
|
$606 = tempRet0;
|
|
$607 = _bitshift64Shl($605 | 0, $606 | 0, 1) | 0;
|
|
$608 = tempRet0;
|
|
$609 = ($output + 72) | 0;
|
|
$610 = $609;
|
|
$611 = $610;
|
|
HEAP32[$611 >> 2] = $607;
|
|
$612 = ($610 + 4) | 0;
|
|
$613 = $612;
|
|
HEAP32[$613 >> 2] = $608;
|
|
$614 = $224;
|
|
$615 = $614;
|
|
$616 = HEAP32[$615 >> 2] | 0;
|
|
$617 = ($614 + 4) | 0;
|
|
$618 = $617;
|
|
$619 = HEAP32[$618 >> 2] | 0;
|
|
$620 = _bitshift64Ashr(0, $616 | 0, 32) | 0;
|
|
$621 = tempRet0;
|
|
$622 = ___muldi3($620 | 0, $621 | 0, $620 | 0, $621 | 0) | 0;
|
|
$623 = tempRet0;
|
|
$624 = $160;
|
|
$625 = $624;
|
|
$626 = HEAP32[$625 >> 2] | 0;
|
|
$627 = ($624 + 4) | 0;
|
|
$628 = $627;
|
|
$629 = HEAP32[$628 >> 2] | 0;
|
|
$630 = _bitshift64Ashr(0, $626 | 0, 32) | 0;
|
|
$631 = tempRet0;
|
|
$632 = $282;
|
|
$633 = $632;
|
|
$634 = HEAP32[$633 >> 2] | 0;
|
|
$635 = ($632 + 4) | 0;
|
|
$636 = $635;
|
|
$637 = HEAP32[$636 >> 2] | 0;
|
|
$638 = _bitshift64Ashr(0, $634 | 0, 32) | 0;
|
|
$639 = tempRet0;
|
|
$640 = ___muldi3($638 | 0, $639 | 0, $630 | 0, $631 | 0) | 0;
|
|
$641 = tempRet0;
|
|
$642 = _i64Add($640 | 0, $641 | 0, $622 | 0, $623 | 0) | 0;
|
|
$643 = tempRet0;
|
|
$644 = $56;
|
|
$645 = $644;
|
|
$646 = HEAP32[$645 >> 2] | 0;
|
|
$647 = ($644 + 4) | 0;
|
|
$648 = $647;
|
|
$649 = HEAP32[$648 >> 2] | 0;
|
|
$650 = _bitshift64Ashr(0, $646 | 0, 32) | 0;
|
|
$651 = tempRet0;
|
|
$652 = $444;
|
|
$653 = $652;
|
|
$654 = HEAP32[$653 >> 2] | 0;
|
|
$655 = ($652 + 4) | 0;
|
|
$656 = $655;
|
|
$657 = HEAP32[$656 >> 2] | 0;
|
|
$658 = _bitshift64Ashr(0, $654 | 0, 32) | 0;
|
|
$659 = tempRet0;
|
|
$660 = ___muldi3($658 | 0, $659 | 0, $650 | 0, $651 | 0) | 0;
|
|
$661 = tempRet0;
|
|
$662 = _i64Add($642 | 0, $643 | 0, $660 | 0, $661 | 0) | 0;
|
|
$663 = tempRet0;
|
|
$664 = $102;
|
|
$665 = $664;
|
|
$666 = HEAP32[$665 >> 2] | 0;
|
|
$667 = ($664 + 4) | 0;
|
|
$668 = $667;
|
|
$669 = HEAP32[$668 >> 2] | 0;
|
|
$670 = _bitshift64Ashr(0, $666 | 0, 32) | 0;
|
|
$671 = tempRet0;
|
|
$672 = $388;
|
|
$673 = $672;
|
|
$674 = HEAP32[$673 >> 2] | 0;
|
|
$675 = ($672 + 4) | 0;
|
|
$676 = $675;
|
|
$677 = HEAP32[$676 >> 2] | 0;
|
|
$678 = _bitshift64Ashr(0, $674 | 0, 32) | 0;
|
|
$679 = tempRet0;
|
|
$680 = ___muldi3($678 | 0, $679 | 0, $670 | 0, $671 | 0) | 0;
|
|
$681 = tempRet0;
|
|
$682 = $22;
|
|
$683 = $682;
|
|
$684 = HEAP32[$683 >> 2] | 0;
|
|
$685 = ($682 + 4) | 0;
|
|
$686 = $685;
|
|
$687 = HEAP32[$686 >> 2] | 0;
|
|
$688 = _bitshift64Ashr(0, $684 | 0, 32) | 0;
|
|
$689 = tempRet0;
|
|
$690 = $594;
|
|
$691 = $690;
|
|
$692 = HEAP32[$691 >> 2] | 0;
|
|
$693 = ($690 + 4) | 0;
|
|
$694 = $693;
|
|
$695 = HEAP32[$694 >> 2] | 0;
|
|
$696 = _bitshift64Ashr(0, $692 | 0, 32) | 0;
|
|
$697 = tempRet0;
|
|
$698 = ___muldi3($696 | 0, $697 | 0, $688 | 0, $689 | 0) | 0;
|
|
$699 = tempRet0;
|
|
$700 = _i64Add($698 | 0, $699 | 0, $680 | 0, $681 | 0) | 0;
|
|
$701 = tempRet0;
|
|
$702 = _bitshift64Shl($700 | 0, $701 | 0, 1) | 0;
|
|
$703 = tempRet0;
|
|
$704 = _i64Add($662 | 0, $663 | 0, $702 | 0, $703 | 0) | 0;
|
|
$705 = tempRet0;
|
|
$706 = _bitshift64Shl($704 | 0, $705 | 0, 1) | 0;
|
|
$707 = tempRet0;
|
|
$708 = ($output + 80) | 0;
|
|
$709 = $708;
|
|
$710 = $709;
|
|
HEAP32[$710 >> 2] = $706;
|
|
$711 = ($709 + 4) | 0;
|
|
$712 = $711;
|
|
HEAP32[$712 >> 2] = $707;
|
|
$713 = $224;
|
|
$714 = $713;
|
|
$715 = HEAP32[$714 >> 2] | 0;
|
|
$716 = ($713 + 4) | 0;
|
|
$717 = $716;
|
|
$718 = HEAP32[$717 >> 2] | 0;
|
|
$719 = _bitshift64Ashr(0, $715 | 0, 32) | 0;
|
|
$720 = tempRet0;
|
|
$721 = $282;
|
|
$722 = $721;
|
|
$723 = HEAP32[$722 >> 2] | 0;
|
|
$724 = ($721 + 4) | 0;
|
|
$725 = $724;
|
|
$726 = HEAP32[$725 >> 2] | 0;
|
|
$727 = _bitshift64Ashr(0, $723 | 0, 32) | 0;
|
|
$728 = tempRet0;
|
|
$729 = ___muldi3($727 | 0, $728 | 0, $719 | 0, $720 | 0) | 0;
|
|
$730 = tempRet0;
|
|
$731 = $160;
|
|
$732 = $731;
|
|
$733 = HEAP32[$732 >> 2] | 0;
|
|
$734 = ($731 + 4) | 0;
|
|
$735 = $734;
|
|
$736 = HEAP32[$735 >> 2] | 0;
|
|
$737 = _bitshift64Ashr(0, $733 | 0, 32) | 0;
|
|
$738 = tempRet0;
|
|
$739 = $388;
|
|
$740 = $739;
|
|
$741 = HEAP32[$740 >> 2] | 0;
|
|
$742 = ($739 + 4) | 0;
|
|
$743 = $742;
|
|
$744 = HEAP32[$743 >> 2] | 0;
|
|
$745 = _bitshift64Ashr(0, $741 | 0, 32) | 0;
|
|
$746 = tempRet0;
|
|
$747 = ___muldi3($745 | 0, $746 | 0, $737 | 0, $738 | 0) | 0;
|
|
$748 = tempRet0;
|
|
$749 = _i64Add($747 | 0, $748 | 0, $729 | 0, $730 | 0) | 0;
|
|
$750 = tempRet0;
|
|
$751 = $102;
|
|
$752 = $751;
|
|
$753 = HEAP32[$752 >> 2] | 0;
|
|
$754 = ($751 + 4) | 0;
|
|
$755 = $754;
|
|
$756 = HEAP32[$755 >> 2] | 0;
|
|
$757 = _bitshift64Ashr(0, $753 | 0, 32) | 0;
|
|
$758 = tempRet0;
|
|
$759 = $444;
|
|
$760 = $759;
|
|
$761 = HEAP32[$760 >> 2] | 0;
|
|
$762 = ($759 + 4) | 0;
|
|
$763 = $762;
|
|
$764 = HEAP32[$763 >> 2] | 0;
|
|
$765 = _bitshift64Ashr(0, $761 | 0, 32) | 0;
|
|
$766 = tempRet0;
|
|
$767 = ___muldi3($765 | 0, $766 | 0, $757 | 0, $758 | 0) | 0;
|
|
$768 = tempRet0;
|
|
$769 = _i64Add($749 | 0, $750 | 0, $767 | 0, $768 | 0) | 0;
|
|
$770 = tempRet0;
|
|
$771 = $56;
|
|
$772 = $771;
|
|
$773 = HEAP32[$772 >> 2] | 0;
|
|
$774 = ($771 + 4) | 0;
|
|
$775 = $774;
|
|
$776 = HEAP32[$775 >> 2] | 0;
|
|
$777 = _bitshift64Ashr(0, $773 | 0, 32) | 0;
|
|
$778 = tempRet0;
|
|
$779 = $594;
|
|
$780 = $779;
|
|
$781 = HEAP32[$780 >> 2] | 0;
|
|
$782 = ($779 + 4) | 0;
|
|
$783 = $782;
|
|
$784 = HEAP32[$783 >> 2] | 0;
|
|
$785 = _bitshift64Ashr(0, $781 | 0, 32) | 0;
|
|
$786 = tempRet0;
|
|
$787 = ___muldi3($785 | 0, $786 | 0, $777 | 0, $778 | 0) | 0;
|
|
$788 = tempRet0;
|
|
$789 = _i64Add($769 | 0, $770 | 0, $787 | 0, $788 | 0) | 0;
|
|
$790 = tempRet0;
|
|
$791 = _bitshift64Shl($789 | 0, $790 | 0, 1) | 0;
|
|
$792 = tempRet0;
|
|
$793 = ($output + 88) | 0;
|
|
$794 = $793;
|
|
$795 = $794;
|
|
HEAP32[$795 >> 2] = $791;
|
|
$796 = ($794 + 4) | 0;
|
|
$797 = $796;
|
|
HEAP32[$797 >> 2] = $792;
|
|
$798 = $282;
|
|
$799 = $798;
|
|
$800 = HEAP32[$799 >> 2] | 0;
|
|
$801 = ($798 + 4) | 0;
|
|
$802 = $801;
|
|
$803 = HEAP32[$802 >> 2] | 0;
|
|
$804 = _bitshift64Ashr(0, $800 | 0, 32) | 0;
|
|
$805 = tempRet0;
|
|
$806 = ___muldi3($804 | 0, $805 | 0, $804 | 0, $805 | 0) | 0;
|
|
$807 = tempRet0;
|
|
$808 = $160;
|
|
$809 = $808;
|
|
$810 = HEAP32[$809 >> 2] | 0;
|
|
$811 = ($808 + 4) | 0;
|
|
$812 = $811;
|
|
$813 = HEAP32[$812 >> 2] | 0;
|
|
$814 = _bitshift64Ashr(0, $810 | 0, 32) | 0;
|
|
$815 = tempRet0;
|
|
$816 = $444;
|
|
$817 = $816;
|
|
$818 = HEAP32[$817 >> 2] | 0;
|
|
$819 = ($816 + 4) | 0;
|
|
$820 = $819;
|
|
$821 = HEAP32[$820 >> 2] | 0;
|
|
$822 = _bitshift64Ashr(0, $818 | 0, 32) | 0;
|
|
$823 = tempRet0;
|
|
$824 = ___muldi3($822 | 0, $823 | 0, $814 | 0, $815 | 0) | 0;
|
|
$825 = tempRet0;
|
|
$826 = $224;
|
|
$827 = $826;
|
|
$828 = HEAP32[$827 >> 2] | 0;
|
|
$829 = ($826 + 4) | 0;
|
|
$830 = $829;
|
|
$831 = HEAP32[$830 >> 2] | 0;
|
|
$832 = _bitshift64Ashr(0, $828 | 0, 32) | 0;
|
|
$833 = tempRet0;
|
|
$834 = $388;
|
|
$835 = $834;
|
|
$836 = HEAP32[$835 >> 2] | 0;
|
|
$837 = ($834 + 4) | 0;
|
|
$838 = $837;
|
|
$839 = HEAP32[$838 >> 2] | 0;
|
|
$840 = _bitshift64Ashr(0, $836 | 0, 32) | 0;
|
|
$841 = tempRet0;
|
|
$842 = ___muldi3($840 | 0, $841 | 0, $832 | 0, $833 | 0) | 0;
|
|
$843 = tempRet0;
|
|
$844 = $102;
|
|
$845 = $844;
|
|
$846 = HEAP32[$845 >> 2] | 0;
|
|
$847 = ($844 + 4) | 0;
|
|
$848 = $847;
|
|
$849 = HEAP32[$848 >> 2] | 0;
|
|
$850 = _bitshift64Ashr(0, $846 | 0, 32) | 0;
|
|
$851 = tempRet0;
|
|
$852 = $594;
|
|
$853 = $852;
|
|
$854 = HEAP32[$853 >> 2] | 0;
|
|
$855 = ($852 + 4) | 0;
|
|
$856 = $855;
|
|
$857 = HEAP32[$856 >> 2] | 0;
|
|
$858 = _bitshift64Ashr(0, $854 | 0, 32) | 0;
|
|
$859 = tempRet0;
|
|
$860 = ___muldi3($858 | 0, $859 | 0, $850 | 0, $851 | 0) | 0;
|
|
$861 = tempRet0;
|
|
$862 = _i64Add($860 | 0, $861 | 0, $842 | 0, $843 | 0) | 0;
|
|
$863 = tempRet0;
|
|
$864 = _bitshift64Shl($862 | 0, $863 | 0, 1) | 0;
|
|
$865 = tempRet0;
|
|
$866 = _i64Add($864 | 0, $865 | 0, $824 | 0, $825 | 0) | 0;
|
|
$867 = tempRet0;
|
|
$868 = _bitshift64Shl($866 | 0, $867 | 0, 1) | 0;
|
|
$869 = tempRet0;
|
|
$870 = _i64Add($868 | 0, $869 | 0, $806 | 0, $807 | 0) | 0;
|
|
$871 = tempRet0;
|
|
$872 = ($output + 96) | 0;
|
|
$873 = $872;
|
|
$874 = $873;
|
|
HEAP32[$874 >> 2] = $870;
|
|
$875 = ($873 + 4) | 0;
|
|
$876 = $875;
|
|
HEAP32[$876 >> 2] = $871;
|
|
$877 = $282;
|
|
$878 = $877;
|
|
$879 = HEAP32[$878 >> 2] | 0;
|
|
$880 = ($877 + 4) | 0;
|
|
$881 = $880;
|
|
$882 = HEAP32[$881 >> 2] | 0;
|
|
$883 = _bitshift64Ashr(0, $879 | 0, 32) | 0;
|
|
$884 = tempRet0;
|
|
$885 = $388;
|
|
$886 = $885;
|
|
$887 = HEAP32[$886 >> 2] | 0;
|
|
$888 = ($885 + 4) | 0;
|
|
$889 = $888;
|
|
$890 = HEAP32[$889 >> 2] | 0;
|
|
$891 = _bitshift64Ashr(0, $887 | 0, 32) | 0;
|
|
$892 = tempRet0;
|
|
$893 = ___muldi3($891 | 0, $892 | 0, $883 | 0, $884 | 0) | 0;
|
|
$894 = tempRet0;
|
|
$895 = $224;
|
|
$896 = $895;
|
|
$897 = HEAP32[$896 >> 2] | 0;
|
|
$898 = ($895 + 4) | 0;
|
|
$899 = $898;
|
|
$900 = HEAP32[$899 >> 2] | 0;
|
|
$901 = _bitshift64Ashr(0, $897 | 0, 32) | 0;
|
|
$902 = tempRet0;
|
|
$903 = $444;
|
|
$904 = $903;
|
|
$905 = HEAP32[$904 >> 2] | 0;
|
|
$906 = ($903 + 4) | 0;
|
|
$907 = $906;
|
|
$908 = HEAP32[$907 >> 2] | 0;
|
|
$909 = _bitshift64Ashr(0, $905 | 0, 32) | 0;
|
|
$910 = tempRet0;
|
|
$911 = ___muldi3($909 | 0, $910 | 0, $901 | 0, $902 | 0) | 0;
|
|
$912 = tempRet0;
|
|
$913 = _i64Add($911 | 0, $912 | 0, $893 | 0, $894 | 0) | 0;
|
|
$914 = tempRet0;
|
|
$915 = $160;
|
|
$916 = $915;
|
|
$917 = HEAP32[$916 >> 2] | 0;
|
|
$918 = ($915 + 4) | 0;
|
|
$919 = $918;
|
|
$920 = HEAP32[$919 >> 2] | 0;
|
|
$921 = _bitshift64Ashr(0, $917 | 0, 32) | 0;
|
|
$922 = tempRet0;
|
|
$923 = $594;
|
|
$924 = $923;
|
|
$925 = HEAP32[$924 >> 2] | 0;
|
|
$926 = ($923 + 4) | 0;
|
|
$927 = $926;
|
|
$928 = HEAP32[$927 >> 2] | 0;
|
|
$929 = _bitshift64Ashr(0, $925 | 0, 32) | 0;
|
|
$930 = tempRet0;
|
|
$931 = ___muldi3($929 | 0, $930 | 0, $921 | 0, $922 | 0) | 0;
|
|
$932 = tempRet0;
|
|
$933 = _i64Add($913 | 0, $914 | 0, $931 | 0, $932 | 0) | 0;
|
|
$934 = tempRet0;
|
|
$935 = _bitshift64Shl($933 | 0, $934 | 0, 1) | 0;
|
|
$936 = tempRet0;
|
|
$937 = ($output + 104) | 0;
|
|
$938 = $937;
|
|
$939 = $938;
|
|
HEAP32[$939 >> 2] = $935;
|
|
$940 = ($938 + 4) | 0;
|
|
$941 = $940;
|
|
HEAP32[$941 >> 2] = $936;
|
|
$942 = $388;
|
|
$943 = $942;
|
|
$944 = HEAP32[$943 >> 2] | 0;
|
|
$945 = ($942 + 4) | 0;
|
|
$946 = $945;
|
|
$947 = HEAP32[$946 >> 2] | 0;
|
|
$948 = _bitshift64Ashr(0, $944 | 0, 32) | 0;
|
|
$949 = tempRet0;
|
|
$950 = ___muldi3($948 | 0, $949 | 0, $948 | 0, $949 | 0) | 0;
|
|
$951 = tempRet0;
|
|
$952 = $282;
|
|
$953 = $952;
|
|
$954 = HEAP32[$953 >> 2] | 0;
|
|
$955 = ($952 + 4) | 0;
|
|
$956 = $955;
|
|
$957 = HEAP32[$956 >> 2] | 0;
|
|
$958 = _bitshift64Ashr(0, $954 | 0, 32) | 0;
|
|
$959 = tempRet0;
|
|
$960 = $444;
|
|
$961 = $960;
|
|
$962 = HEAP32[$961 >> 2] | 0;
|
|
$963 = ($960 + 4) | 0;
|
|
$964 = $963;
|
|
$965 = HEAP32[$964 >> 2] | 0;
|
|
$966 = _bitshift64Ashr(0, $962 | 0, 32) | 0;
|
|
$967 = tempRet0;
|
|
$968 = ___muldi3($966 | 0, $967 | 0, $958 | 0, $959 | 0) | 0;
|
|
$969 = tempRet0;
|
|
$970 = _i64Add($968 | 0, $969 | 0, $950 | 0, $951 | 0) | 0;
|
|
$971 = tempRet0;
|
|
$972 = $224;
|
|
$973 = $972;
|
|
$974 = HEAP32[$973 >> 2] | 0;
|
|
$975 = ($972 + 4) | 0;
|
|
$976 = $975;
|
|
$977 = HEAP32[$976 >> 2] | 0;
|
|
$978 = _bitshift64Ashr(0, $974 | 0, 31) | 0;
|
|
$979 = tempRet0;
|
|
$980 = $594;
|
|
$981 = $980;
|
|
$982 = HEAP32[$981 >> 2] | 0;
|
|
$983 = ($980 + 4) | 0;
|
|
$984 = $983;
|
|
$985 = HEAP32[$984 >> 2] | 0;
|
|
$986 = _bitshift64Ashr(0, $982 | 0, 32) | 0;
|
|
$987 = tempRet0;
|
|
$988 = ___muldi3($986 | 0, $987 | 0, $978 | 0, $979 | 0) | 0;
|
|
$989 = tempRet0;
|
|
$990 = _i64Add($970 | 0, $971 | 0, $988 | 0, $989 | 0) | 0;
|
|
$991 = tempRet0;
|
|
$992 = _bitshift64Shl($990 | 0, $991 | 0, 1) | 0;
|
|
$993 = tempRet0;
|
|
$994 = ($output + 112) | 0;
|
|
$995 = $994;
|
|
$996 = $995;
|
|
HEAP32[$996 >> 2] = $992;
|
|
$997 = ($995 + 4) | 0;
|
|
$998 = $997;
|
|
HEAP32[$998 >> 2] = $993;
|
|
$999 = $388;
|
|
$1000 = $999;
|
|
$1001 = HEAP32[$1000 >> 2] | 0;
|
|
$1002 = ($999 + 4) | 0;
|
|
$1003 = $1002;
|
|
$1004 = HEAP32[$1003 >> 2] | 0;
|
|
$1005 = _bitshift64Ashr(0, $1001 | 0, 32) | 0;
|
|
$1006 = tempRet0;
|
|
$1007 = $444;
|
|
$1008 = $1007;
|
|
$1009 = HEAP32[$1008 >> 2] | 0;
|
|
$1010 = ($1007 + 4) | 0;
|
|
$1011 = $1010;
|
|
$1012 = HEAP32[$1011 >> 2] | 0;
|
|
$1013 = _bitshift64Ashr(0, $1009 | 0, 32) | 0;
|
|
$1014 = tempRet0;
|
|
$1015 = ___muldi3($1013 | 0, $1014 | 0, $1005 | 0, $1006 | 0) | 0;
|
|
$1016 = tempRet0;
|
|
$1017 = $282;
|
|
$1018 = $1017;
|
|
$1019 = HEAP32[$1018 >> 2] | 0;
|
|
$1020 = ($1017 + 4) | 0;
|
|
$1021 = $1020;
|
|
$1022 = HEAP32[$1021 >> 2] | 0;
|
|
$1023 = _bitshift64Ashr(0, $1019 | 0, 32) | 0;
|
|
$1024 = tempRet0;
|
|
$1025 = $594;
|
|
$1026 = $1025;
|
|
$1027 = HEAP32[$1026 >> 2] | 0;
|
|
$1028 = ($1025 + 4) | 0;
|
|
$1029 = $1028;
|
|
$1030 = HEAP32[$1029 >> 2] | 0;
|
|
$1031 = _bitshift64Ashr(0, $1027 | 0, 32) | 0;
|
|
$1032 = tempRet0;
|
|
$1033 = ___muldi3($1031 | 0, $1032 | 0, $1023 | 0, $1024 | 0) | 0;
|
|
$1034 = tempRet0;
|
|
$1035 = _i64Add($1033 | 0, $1034 | 0, $1015 | 0, $1016 | 0) | 0;
|
|
$1036 = tempRet0;
|
|
$1037 = _bitshift64Shl($1035 | 0, $1036 | 0, 1) | 0;
|
|
$1038 = tempRet0;
|
|
$1039 = ($output + 120) | 0;
|
|
$1040 = $1039;
|
|
$1041 = $1040;
|
|
HEAP32[$1041 >> 2] = $1037;
|
|
$1042 = ($1040 + 4) | 0;
|
|
$1043 = $1042;
|
|
HEAP32[$1043 >> 2] = $1038;
|
|
$1044 = $444;
|
|
$1045 = $1044;
|
|
$1046 = HEAP32[$1045 >> 2] | 0;
|
|
$1047 = ($1044 + 4) | 0;
|
|
$1048 = $1047;
|
|
$1049 = HEAP32[$1048 >> 2] | 0;
|
|
$1050 = _bitshift64Ashr(0, $1046 | 0, 32) | 0;
|
|
$1051 = tempRet0;
|
|
$1052 = ___muldi3($1050 | 0, $1051 | 0, $1050 | 0, $1051 | 0) | 0;
|
|
$1053 = tempRet0;
|
|
$1054 = $388;
|
|
$1055 = $1054;
|
|
$1056 = HEAP32[$1055 >> 2] | 0;
|
|
$1057 = ($1054 + 4) | 0;
|
|
$1058 = $1057;
|
|
$1059 = HEAP32[$1058 >> 2] | 0;
|
|
$1060 = _bitshift64Ashr(0, $1056 | 0, 30) | 0;
|
|
$1061 = tempRet0;
|
|
$1062 = $594;
|
|
$1063 = $1062;
|
|
$1064 = HEAP32[$1063 >> 2] | 0;
|
|
$1065 = ($1062 + 4) | 0;
|
|
$1066 = $1065;
|
|
$1067 = HEAP32[$1066 >> 2] | 0;
|
|
$1068 = _bitshift64Ashr(0, $1064 | 0, 32) | 0;
|
|
$1069 = tempRet0;
|
|
$1070 = ___muldi3($1068 | 0, $1069 | 0, $1060 | 0, $1061 | 0) | 0;
|
|
$1071 = tempRet0;
|
|
$1072 = _i64Add($1070 | 0, $1071 | 0, $1052 | 0, $1053 | 0) | 0;
|
|
$1073 = tempRet0;
|
|
$1074 = ($output + 128) | 0;
|
|
$1075 = $1074;
|
|
$1076 = $1075;
|
|
HEAP32[$1076 >> 2] = $1072;
|
|
$1077 = ($1075 + 4) | 0;
|
|
$1078 = $1077;
|
|
HEAP32[$1078 >> 2] = $1073;
|
|
$1079 = $444;
|
|
$1080 = $1079;
|
|
$1081 = HEAP32[$1080 >> 2] | 0;
|
|
$1082 = ($1079 + 4) | 0;
|
|
$1083 = $1082;
|
|
$1084 = HEAP32[$1083 >> 2] | 0;
|
|
$1085 = _bitshift64Ashr(0, $1081 | 0, 31) | 0;
|
|
$1086 = tempRet0;
|
|
$1087 = $594;
|
|
$1088 = $1087;
|
|
$1089 = HEAP32[$1088 >> 2] | 0;
|
|
$1090 = ($1087 + 4) | 0;
|
|
$1091 = $1090;
|
|
$1092 = HEAP32[$1091 >> 2] | 0;
|
|
$1093 = _bitshift64Ashr(0, $1089 | 0, 32) | 0;
|
|
$1094 = tempRet0;
|
|
$1095 = ___muldi3($1093 | 0, $1094 | 0, $1085 | 0, $1086 | 0) | 0;
|
|
$1096 = tempRet0;
|
|
$1097 = ($output + 136) | 0;
|
|
$1098 = $1097;
|
|
$1099 = $1098;
|
|
HEAP32[$1099 >> 2] = $1095;
|
|
$1100 = ($1098 + 4) | 0;
|
|
$1101 = $1100;
|
|
HEAP32[$1101 >> 2] = $1096;
|
|
$1102 = $594;
|
|
$1103 = $1102;
|
|
$1104 = HEAP32[$1103 >> 2] | 0;
|
|
$1105 = ($1102 + 4) | 0;
|
|
$1106 = $1105;
|
|
$1107 = HEAP32[$1106 >> 2] | 0;
|
|
$1108 = _bitshift64Ashr(0, $1104 | 0, 32) | 0;
|
|
$1109 = tempRet0;
|
|
$1110 = _bitshift64Ashr(0, $1104 | 0, 31) | 0;
|
|
$1111 = tempRet0;
|
|
$1112 = ___muldi3($1110 | 0, $1111 | 0, $1108 | 0, $1109 | 0) | 0;
|
|
$1113 = tempRet0;
|
|
$1114 = ($output + 144) | 0;
|
|
$1115 = $1114;
|
|
$1116 = $1115;
|
|
HEAP32[$1116 >> 2] = $1112;
|
|
$1117 = ($1115 + 4) | 0;
|
|
$1118 = $1117;
|
|
HEAP32[$1118 >> 2] = $1113;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _div_by_2_26($0, $1) {
|
|
$0 = $0 | 0;
|
|
$1 = $1 | 0;
|
|
var $2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$2 = $1 >> 31;
|
|
$3 = $2 >>> 6;
|
|
$4 = _i64Add($3 | 0, 0, $0 | 0, $1 | 0) | 0;
|
|
$5 = tempRet0;
|
|
$6 = _bitshift64Ashr($4 | 0, $5 | 0, 26) | 0;
|
|
$7 = tempRet0;
|
|
tempRet0 = $7;
|
|
STACKTOP = sp;
|
|
return $6 | 0;
|
|
}
|
|
function _div_by_2_25($0, $1) {
|
|
$0 = $0 | 0;
|
|
$1 = $1 | 0;
|
|
var $2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$2 = $1 >> 31;
|
|
$3 = $2 >>> 7;
|
|
$4 = _i64Add($3 | 0, 0, $0 | 0, $1 | 0) | 0;
|
|
$5 = tempRet0;
|
|
$6 = _bitshift64Ashr($4 | 0, $5 | 0, 25) | 0;
|
|
$7 = tempRet0;
|
|
tempRet0 = $7;
|
|
STACKTOP = sp;
|
|
return $6 | 0;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_fe_0($h) {
|
|
$h = $h | 0;
|
|
var dest = 0,
|
|
label = 0,
|
|
sp = 0,
|
|
stop = 0;
|
|
sp = STACKTOP;
|
|
dest = ($h + 0) | 0;
|
|
stop = (dest + 40) | 0;
|
|
do {
|
|
HEAP32[dest >> 2] = 0 | 0;
|
|
dest = (dest + 4) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_fe_1($h) {
|
|
$h = $h | 0;
|
|
var $0 = 0,
|
|
dest = 0,
|
|
label = 0,
|
|
sp = 0,
|
|
stop = 0;
|
|
sp = STACKTOP;
|
|
HEAP32[$h >> 2] = 1;
|
|
$0 = ($h + 4) | 0;
|
|
dest = ($0 + 0) | 0;
|
|
stop = (dest + 36) | 0;
|
|
do {
|
|
HEAP32[dest >> 2] = 0 | 0;
|
|
dest = (dest + 4) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_fe_add($h, $f, $g) {
|
|
$h = $h | 0;
|
|
$f = $f | 0;
|
|
$g = $g | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0;
|
|
var $27 = 0,
|
|
$28 = 0,
|
|
$29 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0;
|
|
var $45 = 0,
|
|
$46 = 0,
|
|
$47 = 0,
|
|
$48 = 0,
|
|
$49 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$51 = 0,
|
|
$52 = 0,
|
|
$53 = 0,
|
|
$54 = 0,
|
|
$55 = 0,
|
|
$56 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP32[$f >> 2] | 0;
|
|
$1 = ($f + 4) | 0;
|
|
$2 = HEAP32[$1 >> 2] | 0;
|
|
$3 = ($f + 8) | 0;
|
|
$4 = HEAP32[$3 >> 2] | 0;
|
|
$5 = ($f + 12) | 0;
|
|
$6 = HEAP32[$5 >> 2] | 0;
|
|
$7 = ($f + 16) | 0;
|
|
$8 = HEAP32[$7 >> 2] | 0;
|
|
$9 = ($f + 20) | 0;
|
|
$10 = HEAP32[$9 >> 2] | 0;
|
|
$11 = ($f + 24) | 0;
|
|
$12 = HEAP32[$11 >> 2] | 0;
|
|
$13 = ($f + 28) | 0;
|
|
$14 = HEAP32[$13 >> 2] | 0;
|
|
$15 = ($f + 32) | 0;
|
|
$16 = HEAP32[$15 >> 2] | 0;
|
|
$17 = ($f + 36) | 0;
|
|
$18 = HEAP32[$17 >> 2] | 0;
|
|
$19 = HEAP32[$g >> 2] | 0;
|
|
$20 = ($g + 4) | 0;
|
|
$21 = HEAP32[$20 >> 2] | 0;
|
|
$22 = ($g + 8) | 0;
|
|
$23 = HEAP32[$22 >> 2] | 0;
|
|
$24 = ($g + 12) | 0;
|
|
$25 = HEAP32[$24 >> 2] | 0;
|
|
$26 = ($g + 16) | 0;
|
|
$27 = HEAP32[$26 >> 2] | 0;
|
|
$28 = ($g + 20) | 0;
|
|
$29 = HEAP32[$28 >> 2] | 0;
|
|
$30 = ($g + 24) | 0;
|
|
$31 = HEAP32[$30 >> 2] | 0;
|
|
$32 = ($g + 28) | 0;
|
|
$33 = HEAP32[$32 >> 2] | 0;
|
|
$34 = ($g + 32) | 0;
|
|
$35 = HEAP32[$34 >> 2] | 0;
|
|
$36 = ($g + 36) | 0;
|
|
$37 = HEAP32[$36 >> 2] | 0;
|
|
$38 = ($19 + $0) | 0;
|
|
$39 = ($21 + $2) | 0;
|
|
$40 = ($23 + $4) | 0;
|
|
$41 = ($25 + $6) | 0;
|
|
$42 = ($27 + $8) | 0;
|
|
$43 = ($29 + $10) | 0;
|
|
$44 = ($31 + $12) | 0;
|
|
$45 = ($33 + $14) | 0;
|
|
$46 = ($35 + $16) | 0;
|
|
$47 = ($37 + $18) | 0;
|
|
HEAP32[$h >> 2] = $38;
|
|
$48 = ($h + 4) | 0;
|
|
HEAP32[$48 >> 2] = $39;
|
|
$49 = ($h + 8) | 0;
|
|
HEAP32[$49 >> 2] = $40;
|
|
$50 = ($h + 12) | 0;
|
|
HEAP32[$50 >> 2] = $41;
|
|
$51 = ($h + 16) | 0;
|
|
HEAP32[$51 >> 2] = $42;
|
|
$52 = ($h + 20) | 0;
|
|
HEAP32[$52 >> 2] = $43;
|
|
$53 = ($h + 24) | 0;
|
|
HEAP32[$53 >> 2] = $44;
|
|
$54 = ($h + 28) | 0;
|
|
HEAP32[$54 >> 2] = $45;
|
|
$55 = ($h + 32) | 0;
|
|
HEAP32[$55 >> 2] = $46;
|
|
$56 = ($h + 36) | 0;
|
|
HEAP32[$56 >> 2] = $47;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_fe_cmov($f, $g, $b) {
|
|
$f = $f | 0;
|
|
$g = $g | 0;
|
|
$b = $b | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0;
|
|
var $27 = 0,
|
|
$28 = 0,
|
|
$29 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0;
|
|
var $45 = 0,
|
|
$46 = 0,
|
|
$47 = 0,
|
|
$48 = 0,
|
|
$49 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$51 = 0,
|
|
$52 = 0,
|
|
$53 = 0,
|
|
$54 = 0,
|
|
$55 = 0,
|
|
$56 = 0,
|
|
$57 = 0,
|
|
$58 = 0,
|
|
$59 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$61 = 0,
|
|
$62 = 0;
|
|
var $63 = 0,
|
|
$64 = 0,
|
|
$65 = 0,
|
|
$66 = 0,
|
|
$67 = 0,
|
|
$68 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP32[$f >> 2] | 0;
|
|
$1 = ($f + 4) | 0;
|
|
$2 = HEAP32[$1 >> 2] | 0;
|
|
$3 = ($f + 8) | 0;
|
|
$4 = HEAP32[$3 >> 2] | 0;
|
|
$5 = ($f + 12) | 0;
|
|
$6 = HEAP32[$5 >> 2] | 0;
|
|
$7 = ($f + 16) | 0;
|
|
$8 = HEAP32[$7 >> 2] | 0;
|
|
$9 = ($f + 20) | 0;
|
|
$10 = HEAP32[$9 >> 2] | 0;
|
|
$11 = ($f + 24) | 0;
|
|
$12 = HEAP32[$11 >> 2] | 0;
|
|
$13 = ($f + 28) | 0;
|
|
$14 = HEAP32[$13 >> 2] | 0;
|
|
$15 = ($f + 32) | 0;
|
|
$16 = HEAP32[$15 >> 2] | 0;
|
|
$17 = ($f + 36) | 0;
|
|
$18 = HEAP32[$17 >> 2] | 0;
|
|
$19 = HEAP32[$g >> 2] | 0;
|
|
$20 = ($g + 4) | 0;
|
|
$21 = HEAP32[$20 >> 2] | 0;
|
|
$22 = ($g + 8) | 0;
|
|
$23 = HEAP32[$22 >> 2] | 0;
|
|
$24 = ($g + 12) | 0;
|
|
$25 = HEAP32[$24 >> 2] | 0;
|
|
$26 = ($g + 16) | 0;
|
|
$27 = HEAP32[$26 >> 2] | 0;
|
|
$28 = ($g + 20) | 0;
|
|
$29 = HEAP32[$28 >> 2] | 0;
|
|
$30 = ($g + 24) | 0;
|
|
$31 = HEAP32[$30 >> 2] | 0;
|
|
$32 = ($g + 28) | 0;
|
|
$33 = HEAP32[$32 >> 2] | 0;
|
|
$34 = ($g + 32) | 0;
|
|
$35 = HEAP32[$34 >> 2] | 0;
|
|
$36 = ($g + 36) | 0;
|
|
$37 = HEAP32[$36 >> 2] | 0;
|
|
$38 = $19 ^ $0;
|
|
$39 = $21 ^ $2;
|
|
$40 = $23 ^ $4;
|
|
$41 = $25 ^ $6;
|
|
$42 = $27 ^ $8;
|
|
$43 = $29 ^ $10;
|
|
$44 = $31 ^ $12;
|
|
$45 = $33 ^ $14;
|
|
$46 = $35 ^ $16;
|
|
$47 = $37 ^ $18;
|
|
$48 = (0 - $b) | 0;
|
|
$49 = $38 & $48;
|
|
$50 = $39 & $48;
|
|
$51 = $40 & $48;
|
|
$52 = $41 & $48;
|
|
$53 = $42 & $48;
|
|
$54 = $43 & $48;
|
|
$55 = $44 & $48;
|
|
$56 = $45 & $48;
|
|
$57 = $46 & $48;
|
|
$58 = $47 & $48;
|
|
$59 = $49 ^ $0;
|
|
HEAP32[$f >> 2] = $59;
|
|
$60 = $50 ^ $2;
|
|
HEAP32[$1 >> 2] = $60;
|
|
$61 = $51 ^ $4;
|
|
HEAP32[$3 >> 2] = $61;
|
|
$62 = $52 ^ $6;
|
|
HEAP32[$5 >> 2] = $62;
|
|
$63 = $53 ^ $8;
|
|
HEAP32[$7 >> 2] = $63;
|
|
$64 = $54 ^ $10;
|
|
HEAP32[$9 >> 2] = $64;
|
|
$65 = $55 ^ $12;
|
|
HEAP32[$11 >> 2] = $65;
|
|
$66 = $56 ^ $14;
|
|
HEAP32[$13 >> 2] = $66;
|
|
$67 = $57 ^ $16;
|
|
HEAP32[$15 >> 2] = $67;
|
|
$68 = $58 ^ $18;
|
|
HEAP32[$17 >> 2] = $68;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_fe_copy($h, $f) {
|
|
$h = $h | 0;
|
|
$f = $f | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0;
|
|
var $27 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP32[$f >> 2] | 0;
|
|
$1 = ($f + 4) | 0;
|
|
$2 = HEAP32[$1 >> 2] | 0;
|
|
$3 = ($f + 8) | 0;
|
|
$4 = HEAP32[$3 >> 2] | 0;
|
|
$5 = ($f + 12) | 0;
|
|
$6 = HEAP32[$5 >> 2] | 0;
|
|
$7 = ($f + 16) | 0;
|
|
$8 = HEAP32[$7 >> 2] | 0;
|
|
$9 = ($f + 20) | 0;
|
|
$10 = HEAP32[$9 >> 2] | 0;
|
|
$11 = ($f + 24) | 0;
|
|
$12 = HEAP32[$11 >> 2] | 0;
|
|
$13 = ($f + 28) | 0;
|
|
$14 = HEAP32[$13 >> 2] | 0;
|
|
$15 = ($f + 32) | 0;
|
|
$16 = HEAP32[$15 >> 2] | 0;
|
|
$17 = ($f + 36) | 0;
|
|
$18 = HEAP32[$17 >> 2] | 0;
|
|
HEAP32[$h >> 2] = $0;
|
|
$19 = ($h + 4) | 0;
|
|
HEAP32[$19 >> 2] = $2;
|
|
$20 = ($h + 8) | 0;
|
|
HEAP32[$20 >> 2] = $4;
|
|
$21 = ($h + 12) | 0;
|
|
HEAP32[$21 >> 2] = $6;
|
|
$22 = ($h + 16) | 0;
|
|
HEAP32[$22 >> 2] = $8;
|
|
$23 = ($h + 20) | 0;
|
|
HEAP32[$23 >> 2] = $10;
|
|
$24 = ($h + 24) | 0;
|
|
HEAP32[$24 >> 2] = $12;
|
|
$25 = ($h + 28) | 0;
|
|
HEAP32[$25 >> 2] = $14;
|
|
$26 = ($h + 32) | 0;
|
|
HEAP32[$26 >> 2] = $16;
|
|
$27 = ($h + 36) | 0;
|
|
HEAP32[$27 >> 2] = $18;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_fe_frombytes($h, $s) {
|
|
$h = $h | 0;
|
|
$s = $s | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$101 = 0,
|
|
$102 = 0,
|
|
$103 = 0,
|
|
$104 = 0,
|
|
$105 = 0,
|
|
$106 = 0,
|
|
$107 = 0,
|
|
$108 = 0,
|
|
$109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0,
|
|
$115 = 0;
|
|
var $116 = 0,
|
|
$117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0,
|
|
$124 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$131 = 0,
|
|
$132 = 0,
|
|
$133 = 0;
|
|
var $134 = 0,
|
|
$135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$138 = 0,
|
|
$139 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$141 = 0,
|
|
$142 = 0,
|
|
$143 = 0,
|
|
$144 = 0,
|
|
$145 = 0,
|
|
$146 = 0,
|
|
$147 = 0,
|
|
$148 = 0,
|
|
$149 = 0,
|
|
$15 = 0,
|
|
$150 = 0,
|
|
$151 = 0;
|
|
var $152 = 0,
|
|
$153 = 0,
|
|
$154 = 0,
|
|
$155 = 0,
|
|
$156 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0,
|
|
$27 = 0,
|
|
$28 = 0,
|
|
$29 = 0;
|
|
var $3 = 0,
|
|
$30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0,
|
|
$45 = 0,
|
|
$46 = 0,
|
|
$47 = 0;
|
|
var $48 = 0,
|
|
$49 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$51 = 0,
|
|
$52 = 0,
|
|
$53 = 0,
|
|
$54 = 0,
|
|
$55 = 0,
|
|
$56 = 0,
|
|
$57 = 0,
|
|
$58 = 0,
|
|
$59 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$61 = 0,
|
|
$62 = 0,
|
|
$63 = 0,
|
|
$64 = 0,
|
|
$65 = 0;
|
|
var $66 = 0,
|
|
$67 = 0,
|
|
$68 = 0,
|
|
$69 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$71 = 0,
|
|
$72 = 0,
|
|
$73 = 0,
|
|
$74 = 0,
|
|
$75 = 0,
|
|
$76 = 0,
|
|
$77 = 0,
|
|
$78 = 0,
|
|
$79 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$81 = 0,
|
|
$82 = 0,
|
|
$83 = 0;
|
|
var $84 = 0,
|
|
$85 = 0,
|
|
$86 = 0,
|
|
$87 = 0,
|
|
$88 = 0,
|
|
$89 = 0,
|
|
$9 = 0,
|
|
$90 = 0,
|
|
$91 = 0,
|
|
$92 = 0,
|
|
$93 = 0,
|
|
$94 = 0,
|
|
$95 = 0,
|
|
$96 = 0,
|
|
$97 = 0,
|
|
$98 = 0,
|
|
$99 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = _load_4($s) | 0;
|
|
$1 = tempRet0;
|
|
$2 = ($s + 4) | 0;
|
|
$3 = _load_3($2) | 0;
|
|
$4 = tempRet0;
|
|
$5 = _bitshift64Shl($3 | 0, $4 | 0, 6) | 0;
|
|
$6 = tempRet0;
|
|
$7 = ($s + 7) | 0;
|
|
$8 = _load_3($7) | 0;
|
|
$9 = tempRet0;
|
|
$10 = _bitshift64Shl($8 | 0, $9 | 0, 5) | 0;
|
|
$11 = tempRet0;
|
|
$12 = ($s + 10) | 0;
|
|
$13 = _load_3($12) | 0;
|
|
$14 = tempRet0;
|
|
$15 = _bitshift64Shl($13 | 0, $14 | 0, 3) | 0;
|
|
$16 = tempRet0;
|
|
$17 = ($s + 13) | 0;
|
|
$18 = _load_3($17) | 0;
|
|
$19 = tempRet0;
|
|
$20 = _bitshift64Shl($18 | 0, $19 | 0, 2) | 0;
|
|
$21 = tempRet0;
|
|
$22 = ($s + 16) | 0;
|
|
$23 = _load_4($22) | 0;
|
|
$24 = tempRet0;
|
|
$25 = ($s + 20) | 0;
|
|
$26 = _load_3($25) | 0;
|
|
$27 = tempRet0;
|
|
$28 = _bitshift64Shl($26 | 0, $27 | 0, 7) | 0;
|
|
$29 = tempRet0;
|
|
$30 = ($s + 23) | 0;
|
|
$31 = _load_3($30) | 0;
|
|
$32 = tempRet0;
|
|
$33 = _bitshift64Shl($31 | 0, $32 | 0, 5) | 0;
|
|
$34 = tempRet0;
|
|
$35 = ($s + 26) | 0;
|
|
$36 = _load_3($35) | 0;
|
|
$37 = tempRet0;
|
|
$38 = _bitshift64Shl($36 | 0, $37 | 0, 4) | 0;
|
|
$39 = tempRet0;
|
|
$40 = ($s + 29) | 0;
|
|
$41 = _load_3($40) | 0;
|
|
$42 = tempRet0;
|
|
$43 = _bitshift64Shl($41 | 0, $42 | 0, 2) | 0;
|
|
$44 = tempRet0;
|
|
$45 = $43 & 33554428;
|
|
$46 = _i64Add($45 | 0, 0, 16777216, 0) | 0;
|
|
$47 = tempRet0;
|
|
$48 = _bitshift64Lshr($46 | 0, $47 | 0, 25) | 0;
|
|
$49 = tempRet0;
|
|
$50 = ___muldi3($48 | 0, $49 | 0, 19, 0) | 0;
|
|
$51 = tempRet0;
|
|
$52 = _i64Add($50 | 0, $51 | 0, $0 | 0, $1 | 0) | 0;
|
|
$53 = tempRet0;
|
|
$54 = _bitshift64Shl($48 | 0, $49 | 0, 25) | 0;
|
|
$55 = tempRet0;
|
|
$56 = _i64Add($5 | 0, $6 | 0, 16777216, 0) | 0;
|
|
$57 = tempRet0;
|
|
$58 = _bitshift64Ashr($56 | 0, $57 | 0, 25) | 0;
|
|
$59 = tempRet0;
|
|
$60 = _i64Add($58 | 0, $59 | 0, $10 | 0, $11 | 0) | 0;
|
|
$61 = tempRet0;
|
|
$62 = _bitshift64Shl($58 | 0, $59 | 0, 25) | 0;
|
|
$63 = tempRet0;
|
|
$64 = _i64Subtract($5 | 0, $6 | 0, $62 | 0, $63 | 0) | 0;
|
|
$65 = tempRet0;
|
|
$66 = _i64Add($15 | 0, $16 | 0, 16777216, 0) | 0;
|
|
$67 = tempRet0;
|
|
$68 = _bitshift64Ashr($66 | 0, $67 | 0, 25) | 0;
|
|
$69 = tempRet0;
|
|
$70 = _i64Add($68 | 0, $69 | 0, $20 | 0, $21 | 0) | 0;
|
|
$71 = tempRet0;
|
|
$72 = _bitshift64Shl($68 | 0, $69 | 0, 25) | 0;
|
|
$73 = tempRet0;
|
|
$74 = _i64Subtract($15 | 0, $16 | 0, $72 | 0, $73 | 0) | 0;
|
|
$75 = tempRet0;
|
|
$76 = _i64Add($23 | 0, $24 | 0, 16777216, 0) | 0;
|
|
$77 = tempRet0;
|
|
$78 = _bitshift64Ashr($76 | 0, $77 | 0, 25) | 0;
|
|
$79 = tempRet0;
|
|
$80 = _i64Add($28 | 0, $29 | 0, $78 | 0, $79 | 0) | 0;
|
|
$81 = tempRet0;
|
|
$82 = _bitshift64Shl($78 | 0, $79 | 0, 25) | 0;
|
|
$83 = tempRet0;
|
|
$84 = _i64Subtract($23 | 0, $24 | 0, $82 | 0, $83 | 0) | 0;
|
|
$85 = tempRet0;
|
|
$86 = _i64Add($33 | 0, $34 | 0, 16777216, 0) | 0;
|
|
$87 = tempRet0;
|
|
$88 = _bitshift64Ashr($86 | 0, $87 | 0, 25) | 0;
|
|
$89 = tempRet0;
|
|
$90 = _i64Add($88 | 0, $89 | 0, $38 | 0, $39 | 0) | 0;
|
|
$91 = tempRet0;
|
|
$92 = _bitshift64Shl($88 | 0, $89 | 0, 25) | 0;
|
|
$93 = tempRet0;
|
|
$94 = _i64Add($52 | 0, $53 | 0, 33554432, 0) | 0;
|
|
$95 = tempRet0;
|
|
$96 = _bitshift64Ashr($94 | 0, $95 | 0, 26) | 0;
|
|
$97 = tempRet0;
|
|
$98 = _i64Add($64 | 0, $65 | 0, $96 | 0, $97 | 0) | 0;
|
|
$99 = tempRet0;
|
|
$100 = _bitshift64Shl($96 | 0, $97 | 0, 26) | 0;
|
|
$101 = tempRet0;
|
|
$102 = _i64Subtract($52 | 0, $53 | 0, $100 | 0, $101 | 0) | 0;
|
|
$103 = tempRet0;
|
|
$104 = _i64Add($60 | 0, $61 | 0, 33554432, 0) | 0;
|
|
$105 = tempRet0;
|
|
$106 = _bitshift64Ashr($104 | 0, $105 | 0, 26) | 0;
|
|
$107 = tempRet0;
|
|
$108 = _i64Add($74 | 0, $75 | 0, $106 | 0, $107 | 0) | 0;
|
|
$109 = tempRet0;
|
|
$110 = _bitshift64Shl($106 | 0, $107 | 0, 26) | 0;
|
|
$111 = tempRet0;
|
|
$112 = _i64Subtract($60 | 0, $61 | 0, $110 | 0, $111 | 0) | 0;
|
|
$113 = tempRet0;
|
|
$114 = _i64Add($70 | 0, $71 | 0, 33554432, 0) | 0;
|
|
$115 = tempRet0;
|
|
$116 = _bitshift64Ashr($114 | 0, $115 | 0, 26) | 0;
|
|
$117 = tempRet0;
|
|
$118 = _i64Add($84 | 0, $85 | 0, $116 | 0, $117 | 0) | 0;
|
|
$119 = tempRet0;
|
|
$120 = _bitshift64Shl($116 | 0, $117 | 0, 26) | 0;
|
|
$121 = tempRet0;
|
|
$122 = _i64Subtract($70 | 0, $71 | 0, $120 | 0, $121 | 0) | 0;
|
|
$123 = tempRet0;
|
|
$124 = _i64Add($80 | 0, $81 | 0, 33554432, 0) | 0;
|
|
$125 = tempRet0;
|
|
$126 = _bitshift64Ashr($124 | 0, $125 | 0, 26) | 0;
|
|
$127 = tempRet0;
|
|
$128 = _i64Add($126 | 0, $127 | 0, $33 | 0, $34 | 0) | 0;
|
|
$129 = tempRet0;
|
|
$130 = _i64Subtract($128 | 0, $129 | 0, $92 | 0, $93 | 0) | 0;
|
|
$131 = tempRet0;
|
|
$132 = _bitshift64Shl($126 | 0, $127 | 0, 26) | 0;
|
|
$133 = tempRet0;
|
|
$134 = _i64Subtract($80 | 0, $81 | 0, $132 | 0, $133 | 0) | 0;
|
|
$135 = tempRet0;
|
|
$136 = _i64Add($90 | 0, $91 | 0, 33554432, 0) | 0;
|
|
$137 = tempRet0;
|
|
$138 = _bitshift64Ashr($136 | 0, $137 | 0, 26) | 0;
|
|
$139 = tempRet0;
|
|
$140 = _i64Add($138 | 0, $139 | 0, $45 | 0, 0) | 0;
|
|
$141 = tempRet0;
|
|
$142 = _i64Subtract($140 | 0, $141 | 0, $54 | 0, $55 | 0) | 0;
|
|
$143 = tempRet0;
|
|
$144 = _bitshift64Shl($138 | 0, $139 | 0, 26) | 0;
|
|
$145 = tempRet0;
|
|
$146 = _i64Subtract($90 | 0, $91 | 0, $144 | 0, $145 | 0) | 0;
|
|
$147 = tempRet0;
|
|
HEAP32[$h >> 2] = $102;
|
|
$148 = ($h + 4) | 0;
|
|
HEAP32[$148 >> 2] = $98;
|
|
$149 = ($h + 8) | 0;
|
|
HEAP32[$149 >> 2] = $112;
|
|
$150 = ($h + 12) | 0;
|
|
HEAP32[$150 >> 2] = $108;
|
|
$151 = ($h + 16) | 0;
|
|
HEAP32[$151 >> 2] = $122;
|
|
$152 = ($h + 20) | 0;
|
|
HEAP32[$152 >> 2] = $118;
|
|
$153 = ($h + 24) | 0;
|
|
HEAP32[$153 >> 2] = $134;
|
|
$154 = ($h + 28) | 0;
|
|
HEAP32[$154 >> 2] = $130;
|
|
$155 = ($h + 32) | 0;
|
|
HEAP32[$155 >> 2] = $146;
|
|
$156 = ($h + 36) | 0;
|
|
HEAP32[$156 >> 2] = $142;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _load_4($in) {
|
|
$in = $in | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0;
|
|
var $8 = 0,
|
|
$9 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP8[$in >> 0] | 0;
|
|
$1 = $0 & 255;
|
|
$2 = ($in + 1) | 0;
|
|
$3 = HEAP8[$2 >> 0] | 0;
|
|
$4 = $3 & 255;
|
|
$5 = _bitshift64Shl($4 | 0, 0, 8) | 0;
|
|
$6 = tempRet0;
|
|
$7 = $5 | $1;
|
|
$8 = ($in + 2) | 0;
|
|
$9 = HEAP8[$8 >> 0] | 0;
|
|
$10 = $9 & 255;
|
|
$11 = _bitshift64Shl($10 | 0, 0, 16) | 0;
|
|
$12 = tempRet0;
|
|
$13 = $7 | $11;
|
|
$14 = $6 | $12;
|
|
$15 = ($in + 3) | 0;
|
|
$16 = HEAP8[$15 >> 0] | 0;
|
|
$17 = $16 & 255;
|
|
$18 = _bitshift64Shl($17 | 0, 0, 24) | 0;
|
|
$19 = tempRet0;
|
|
$20 = $13 | $18;
|
|
$21 = $14 | $19;
|
|
tempRet0 = $21;
|
|
STACKTOP = sp;
|
|
return $20 | 0;
|
|
}
|
|
function _load_3($in) {
|
|
$in = $in | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP8[$in >> 0] | 0;
|
|
$1 = $0 & 255;
|
|
$2 = ($in + 1) | 0;
|
|
$3 = HEAP8[$2 >> 0] | 0;
|
|
$4 = $3 & 255;
|
|
$5 = _bitshift64Shl($4 | 0, 0, 8) | 0;
|
|
$6 = tempRet0;
|
|
$7 = $5 | $1;
|
|
$8 = ($in + 2) | 0;
|
|
$9 = HEAP8[$8 >> 0] | 0;
|
|
$10 = $9 & 255;
|
|
$11 = _bitshift64Shl($10 | 0, 0, 16) | 0;
|
|
$12 = tempRet0;
|
|
$13 = $7 | $11;
|
|
$14 = $6 | $12;
|
|
tempRet0 = $14;
|
|
STACKTOP = sp;
|
|
return $13 | 0;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_fe_invert($out, $z) {
|
|
$out = $out | 0;
|
|
$z = $z | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$exitcond = 0,
|
|
$exitcond10 = 0,
|
|
$exitcond11 = 0,
|
|
$i$74 = 0,
|
|
$i$83 = 0,
|
|
$i$92 = 0,
|
|
$t0 = 0,
|
|
$t1 = 0,
|
|
$t2 = 0,
|
|
$t3 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 160) | 0;
|
|
$t0 = (sp + 120) | 0;
|
|
$t1 = (sp + 80) | 0;
|
|
$t2 = (sp + 40) | 0;
|
|
$t3 = sp;
|
|
_crypto_sign_ed25519_ref10_fe_sq($t0, $z);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t0);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_mul($t1, $z, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_mul($t0, $t0, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t0);
|
|
_crypto_sign_ed25519_ref10_fe_mul($t1, $t1, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_mul($t1, $t2, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_mul($t2, $t2, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
_crypto_sign_ed25519_ref10_fe_mul($t2, $t3, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_mul($t1, $t2, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t1);
|
|
$i$74 = 1;
|
|
while (1) {
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
$0 = ($i$74 + 1) | 0;
|
|
$exitcond11 = ($0 | 0) == 50;
|
|
if ($exitcond11) {
|
|
break;
|
|
} else {
|
|
$i$74 = $0;
|
|
}
|
|
}
|
|
_crypto_sign_ed25519_ref10_fe_mul($t2, $t2, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t2);
|
|
$i$83 = 1;
|
|
while (1) {
|
|
_crypto_sign_ed25519_ref10_fe_sq($t3, $t3);
|
|
$1 = ($i$83 + 1) | 0;
|
|
$exitcond10 = ($1 | 0) == 100;
|
|
if ($exitcond10) {
|
|
break;
|
|
} else {
|
|
$i$83 = $1;
|
|
}
|
|
}
|
|
_crypto_sign_ed25519_ref10_fe_mul($t2, $t3, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
$i$92 = 1;
|
|
while (1) {
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
$2 = ($i$92 + 1) | 0;
|
|
$exitcond = ($2 | 0) == 50;
|
|
if ($exitcond) {
|
|
break;
|
|
} else {
|
|
$i$92 = $2;
|
|
}
|
|
}
|
|
_crypto_sign_ed25519_ref10_fe_mul($t1, $t2, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_mul($out, $t1, $t0);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_fe_isnegative($f) {
|
|
$f = $f | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$s = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 32) | 0;
|
|
$s = sp;
|
|
_crypto_sign_ed25519_ref10_fe_tobytes($s, $f);
|
|
$0 = HEAP8[$s >> 0] | 0;
|
|
$1 = $0 & 255;
|
|
$2 = $1 & 1;
|
|
STACKTOP = sp;
|
|
return $2 | 0;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_fe_isnonzero($f) {
|
|
$f = $f | 0;
|
|
var $0 = 0,
|
|
$s = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 32) | 0;
|
|
$s = sp;
|
|
_crypto_sign_ed25519_ref10_fe_tobytes($s, $f);
|
|
$0 = _crypto_verify_32_ref($s, 8) | 0;
|
|
STACKTOP = sp;
|
|
return $0 | 0;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_fe_mul($h, $f, $g) {
|
|
$h = $h | 0;
|
|
$f = $f | 0;
|
|
$g = $g | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$101 = 0,
|
|
$102 = 0,
|
|
$103 = 0,
|
|
$104 = 0,
|
|
$105 = 0,
|
|
$106 = 0,
|
|
$107 = 0,
|
|
$108 = 0,
|
|
$109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0,
|
|
$115 = 0;
|
|
var $116 = 0,
|
|
$117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0,
|
|
$124 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$131 = 0,
|
|
$132 = 0,
|
|
$133 = 0;
|
|
var $134 = 0,
|
|
$135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$138 = 0,
|
|
$139 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$141 = 0,
|
|
$142 = 0,
|
|
$143 = 0,
|
|
$144 = 0,
|
|
$145 = 0,
|
|
$146 = 0,
|
|
$147 = 0,
|
|
$148 = 0,
|
|
$149 = 0,
|
|
$15 = 0,
|
|
$150 = 0,
|
|
$151 = 0;
|
|
var $152 = 0,
|
|
$153 = 0,
|
|
$154 = 0,
|
|
$155 = 0,
|
|
$156 = 0,
|
|
$157 = 0,
|
|
$158 = 0,
|
|
$159 = 0,
|
|
$16 = 0,
|
|
$160 = 0,
|
|
$161 = 0,
|
|
$162 = 0,
|
|
$163 = 0,
|
|
$164 = 0,
|
|
$165 = 0,
|
|
$166 = 0,
|
|
$167 = 0,
|
|
$168 = 0,
|
|
$169 = 0,
|
|
$17 = 0;
|
|
var $170 = 0,
|
|
$171 = 0,
|
|
$172 = 0,
|
|
$173 = 0,
|
|
$174 = 0,
|
|
$175 = 0,
|
|
$176 = 0,
|
|
$177 = 0,
|
|
$178 = 0,
|
|
$179 = 0,
|
|
$18 = 0,
|
|
$180 = 0,
|
|
$181 = 0,
|
|
$182 = 0,
|
|
$183 = 0,
|
|
$184 = 0,
|
|
$185 = 0,
|
|
$186 = 0,
|
|
$187 = 0,
|
|
$188 = 0;
|
|
var $189 = 0,
|
|
$19 = 0,
|
|
$190 = 0,
|
|
$191 = 0,
|
|
$192 = 0,
|
|
$193 = 0,
|
|
$194 = 0,
|
|
$195 = 0,
|
|
$196 = 0,
|
|
$197 = 0,
|
|
$198 = 0,
|
|
$199 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$200 = 0,
|
|
$201 = 0,
|
|
$202 = 0,
|
|
$203 = 0,
|
|
$204 = 0,
|
|
$205 = 0;
|
|
var $206 = 0,
|
|
$207 = 0,
|
|
$208 = 0,
|
|
$209 = 0,
|
|
$21 = 0,
|
|
$210 = 0,
|
|
$211 = 0,
|
|
$212 = 0,
|
|
$213 = 0,
|
|
$214 = 0,
|
|
$215 = 0,
|
|
$216 = 0,
|
|
$217 = 0,
|
|
$218 = 0,
|
|
$219 = 0,
|
|
$22 = 0,
|
|
$220 = 0,
|
|
$221 = 0,
|
|
$222 = 0,
|
|
$223 = 0;
|
|
var $224 = 0,
|
|
$225 = 0,
|
|
$226 = 0,
|
|
$227 = 0,
|
|
$228 = 0,
|
|
$229 = 0,
|
|
$23 = 0,
|
|
$230 = 0,
|
|
$231 = 0,
|
|
$232 = 0,
|
|
$233 = 0,
|
|
$234 = 0,
|
|
$235 = 0,
|
|
$236 = 0,
|
|
$237 = 0,
|
|
$238 = 0,
|
|
$239 = 0,
|
|
$24 = 0,
|
|
$240 = 0,
|
|
$241 = 0;
|
|
var $242 = 0,
|
|
$243 = 0,
|
|
$244 = 0,
|
|
$245 = 0,
|
|
$246 = 0,
|
|
$247 = 0,
|
|
$248 = 0,
|
|
$249 = 0,
|
|
$25 = 0,
|
|
$250 = 0,
|
|
$251 = 0,
|
|
$252 = 0,
|
|
$253 = 0,
|
|
$254 = 0,
|
|
$255 = 0,
|
|
$256 = 0,
|
|
$257 = 0,
|
|
$258 = 0,
|
|
$259 = 0,
|
|
$26 = 0;
|
|
var $260 = 0,
|
|
$261 = 0,
|
|
$262 = 0,
|
|
$263 = 0,
|
|
$264 = 0,
|
|
$265 = 0,
|
|
$266 = 0,
|
|
$267 = 0,
|
|
$268 = 0,
|
|
$269 = 0,
|
|
$27 = 0,
|
|
$270 = 0,
|
|
$271 = 0,
|
|
$272 = 0,
|
|
$273 = 0,
|
|
$274 = 0,
|
|
$275 = 0,
|
|
$276 = 0,
|
|
$277 = 0,
|
|
$278 = 0;
|
|
var $279 = 0,
|
|
$28 = 0,
|
|
$280 = 0,
|
|
$281 = 0,
|
|
$282 = 0,
|
|
$283 = 0,
|
|
$284 = 0,
|
|
$285 = 0,
|
|
$286 = 0,
|
|
$287 = 0,
|
|
$288 = 0,
|
|
$289 = 0,
|
|
$29 = 0,
|
|
$290 = 0,
|
|
$291 = 0,
|
|
$292 = 0,
|
|
$293 = 0,
|
|
$294 = 0,
|
|
$295 = 0,
|
|
$296 = 0;
|
|
var $297 = 0,
|
|
$298 = 0,
|
|
$299 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$300 = 0,
|
|
$301 = 0,
|
|
$302 = 0,
|
|
$303 = 0,
|
|
$304 = 0,
|
|
$305 = 0,
|
|
$306 = 0,
|
|
$307 = 0,
|
|
$308 = 0,
|
|
$309 = 0,
|
|
$31 = 0,
|
|
$310 = 0,
|
|
$311 = 0,
|
|
$312 = 0,
|
|
$313 = 0;
|
|
var $314 = 0,
|
|
$315 = 0,
|
|
$316 = 0,
|
|
$317 = 0,
|
|
$318 = 0,
|
|
$319 = 0,
|
|
$32 = 0,
|
|
$320 = 0,
|
|
$321 = 0,
|
|
$322 = 0,
|
|
$323 = 0,
|
|
$324 = 0,
|
|
$325 = 0,
|
|
$326 = 0,
|
|
$327 = 0,
|
|
$328 = 0,
|
|
$329 = 0,
|
|
$33 = 0,
|
|
$330 = 0,
|
|
$331 = 0;
|
|
var $332 = 0,
|
|
$333 = 0,
|
|
$334 = 0,
|
|
$335 = 0,
|
|
$336 = 0,
|
|
$337 = 0,
|
|
$338 = 0,
|
|
$339 = 0,
|
|
$34 = 0,
|
|
$340 = 0,
|
|
$341 = 0,
|
|
$342 = 0,
|
|
$343 = 0,
|
|
$344 = 0,
|
|
$345 = 0,
|
|
$346 = 0,
|
|
$347 = 0,
|
|
$348 = 0,
|
|
$349 = 0,
|
|
$35 = 0;
|
|
var $350 = 0,
|
|
$351 = 0,
|
|
$352 = 0,
|
|
$353 = 0,
|
|
$354 = 0,
|
|
$355 = 0,
|
|
$356 = 0,
|
|
$357 = 0,
|
|
$358 = 0,
|
|
$359 = 0,
|
|
$36 = 0,
|
|
$360 = 0,
|
|
$361 = 0,
|
|
$362 = 0,
|
|
$363 = 0,
|
|
$364 = 0,
|
|
$365 = 0,
|
|
$366 = 0,
|
|
$367 = 0,
|
|
$368 = 0;
|
|
var $369 = 0,
|
|
$37 = 0,
|
|
$370 = 0,
|
|
$371 = 0,
|
|
$372 = 0,
|
|
$373 = 0,
|
|
$374 = 0,
|
|
$375 = 0,
|
|
$376 = 0,
|
|
$377 = 0,
|
|
$378 = 0,
|
|
$379 = 0,
|
|
$38 = 0,
|
|
$380 = 0,
|
|
$381 = 0,
|
|
$382 = 0,
|
|
$383 = 0,
|
|
$384 = 0,
|
|
$385 = 0,
|
|
$386 = 0;
|
|
var $387 = 0,
|
|
$388 = 0,
|
|
$389 = 0,
|
|
$39 = 0,
|
|
$390 = 0,
|
|
$391 = 0,
|
|
$392 = 0,
|
|
$393 = 0,
|
|
$394 = 0,
|
|
$395 = 0,
|
|
$396 = 0,
|
|
$397 = 0,
|
|
$398 = 0,
|
|
$399 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$400 = 0,
|
|
$401 = 0,
|
|
$402 = 0,
|
|
$403 = 0;
|
|
var $404 = 0,
|
|
$405 = 0,
|
|
$406 = 0,
|
|
$407 = 0,
|
|
$408 = 0,
|
|
$409 = 0,
|
|
$41 = 0,
|
|
$410 = 0,
|
|
$411 = 0,
|
|
$412 = 0,
|
|
$413 = 0,
|
|
$414 = 0,
|
|
$415 = 0,
|
|
$416 = 0,
|
|
$417 = 0,
|
|
$418 = 0,
|
|
$419 = 0,
|
|
$42 = 0,
|
|
$420 = 0,
|
|
$421 = 0;
|
|
var $422 = 0,
|
|
$423 = 0,
|
|
$424 = 0,
|
|
$425 = 0,
|
|
$426 = 0,
|
|
$427 = 0,
|
|
$428 = 0,
|
|
$429 = 0,
|
|
$43 = 0,
|
|
$430 = 0,
|
|
$431 = 0,
|
|
$432 = 0,
|
|
$433 = 0,
|
|
$434 = 0,
|
|
$435 = 0,
|
|
$436 = 0,
|
|
$437 = 0,
|
|
$438 = 0,
|
|
$439 = 0,
|
|
$44 = 0;
|
|
var $440 = 0,
|
|
$441 = 0,
|
|
$442 = 0,
|
|
$443 = 0,
|
|
$444 = 0,
|
|
$445 = 0,
|
|
$446 = 0,
|
|
$447 = 0,
|
|
$448 = 0,
|
|
$449 = 0,
|
|
$45 = 0,
|
|
$450 = 0,
|
|
$451 = 0,
|
|
$452 = 0,
|
|
$453 = 0,
|
|
$454 = 0,
|
|
$455 = 0,
|
|
$456 = 0,
|
|
$457 = 0,
|
|
$458 = 0;
|
|
var $459 = 0,
|
|
$46 = 0,
|
|
$460 = 0,
|
|
$461 = 0,
|
|
$462 = 0,
|
|
$463 = 0,
|
|
$464 = 0,
|
|
$465 = 0,
|
|
$466 = 0,
|
|
$467 = 0,
|
|
$468 = 0,
|
|
$469 = 0,
|
|
$47 = 0,
|
|
$470 = 0,
|
|
$471 = 0,
|
|
$472 = 0,
|
|
$473 = 0,
|
|
$474 = 0,
|
|
$475 = 0,
|
|
$476 = 0;
|
|
var $477 = 0,
|
|
$478 = 0,
|
|
$479 = 0,
|
|
$48 = 0,
|
|
$480 = 0,
|
|
$481 = 0,
|
|
$482 = 0,
|
|
$483 = 0,
|
|
$484 = 0,
|
|
$485 = 0,
|
|
$486 = 0,
|
|
$487 = 0,
|
|
$488 = 0,
|
|
$489 = 0,
|
|
$49 = 0,
|
|
$490 = 0,
|
|
$491 = 0,
|
|
$492 = 0,
|
|
$493 = 0,
|
|
$494 = 0;
|
|
var $495 = 0,
|
|
$496 = 0,
|
|
$497 = 0,
|
|
$498 = 0,
|
|
$499 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$500 = 0,
|
|
$501 = 0,
|
|
$502 = 0,
|
|
$503 = 0,
|
|
$504 = 0,
|
|
$505 = 0,
|
|
$506 = 0,
|
|
$507 = 0,
|
|
$508 = 0,
|
|
$509 = 0,
|
|
$51 = 0,
|
|
$510 = 0,
|
|
$511 = 0;
|
|
var $512 = 0,
|
|
$513 = 0,
|
|
$514 = 0,
|
|
$515 = 0,
|
|
$516 = 0,
|
|
$517 = 0,
|
|
$518 = 0,
|
|
$519 = 0,
|
|
$52 = 0,
|
|
$520 = 0,
|
|
$521 = 0,
|
|
$522 = 0,
|
|
$523 = 0,
|
|
$524 = 0,
|
|
$525 = 0,
|
|
$526 = 0,
|
|
$527 = 0,
|
|
$528 = 0,
|
|
$529 = 0,
|
|
$53 = 0;
|
|
var $530 = 0,
|
|
$531 = 0,
|
|
$532 = 0,
|
|
$533 = 0,
|
|
$534 = 0,
|
|
$535 = 0,
|
|
$536 = 0,
|
|
$537 = 0,
|
|
$538 = 0,
|
|
$539 = 0,
|
|
$54 = 0,
|
|
$540 = 0,
|
|
$541 = 0,
|
|
$542 = 0,
|
|
$543 = 0,
|
|
$544 = 0,
|
|
$545 = 0,
|
|
$546 = 0,
|
|
$547 = 0,
|
|
$548 = 0;
|
|
var $549 = 0,
|
|
$55 = 0,
|
|
$550 = 0,
|
|
$551 = 0,
|
|
$552 = 0,
|
|
$553 = 0,
|
|
$554 = 0,
|
|
$555 = 0,
|
|
$556 = 0,
|
|
$557 = 0,
|
|
$558 = 0,
|
|
$559 = 0,
|
|
$56 = 0,
|
|
$560 = 0,
|
|
$561 = 0,
|
|
$562 = 0,
|
|
$563 = 0,
|
|
$564 = 0,
|
|
$565 = 0,
|
|
$566 = 0;
|
|
var $567 = 0,
|
|
$568 = 0,
|
|
$569 = 0,
|
|
$57 = 0,
|
|
$570 = 0,
|
|
$571 = 0,
|
|
$572 = 0,
|
|
$573 = 0,
|
|
$574 = 0,
|
|
$575 = 0,
|
|
$576 = 0,
|
|
$577 = 0,
|
|
$578 = 0,
|
|
$579 = 0,
|
|
$58 = 0,
|
|
$580 = 0,
|
|
$581 = 0,
|
|
$582 = 0,
|
|
$583 = 0,
|
|
$584 = 0;
|
|
var $585 = 0,
|
|
$586 = 0,
|
|
$587 = 0,
|
|
$588 = 0,
|
|
$589 = 0,
|
|
$59 = 0,
|
|
$590 = 0,
|
|
$591 = 0,
|
|
$592 = 0,
|
|
$593 = 0,
|
|
$594 = 0,
|
|
$595 = 0,
|
|
$596 = 0,
|
|
$597 = 0,
|
|
$598 = 0,
|
|
$599 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$600 = 0,
|
|
$601 = 0;
|
|
var $602 = 0,
|
|
$603 = 0,
|
|
$604 = 0,
|
|
$605 = 0,
|
|
$606 = 0,
|
|
$607 = 0,
|
|
$608 = 0,
|
|
$609 = 0,
|
|
$61 = 0,
|
|
$610 = 0,
|
|
$611 = 0,
|
|
$612 = 0,
|
|
$613 = 0,
|
|
$614 = 0,
|
|
$615 = 0,
|
|
$616 = 0,
|
|
$617 = 0,
|
|
$618 = 0,
|
|
$619 = 0,
|
|
$62 = 0;
|
|
var $620 = 0,
|
|
$621 = 0,
|
|
$622 = 0,
|
|
$623 = 0,
|
|
$624 = 0,
|
|
$625 = 0,
|
|
$626 = 0,
|
|
$627 = 0,
|
|
$628 = 0,
|
|
$629 = 0,
|
|
$63 = 0,
|
|
$630 = 0,
|
|
$64 = 0,
|
|
$65 = 0,
|
|
$66 = 0,
|
|
$67 = 0,
|
|
$68 = 0,
|
|
$69 = 0,
|
|
$7 = 0,
|
|
$70 = 0;
|
|
var $71 = 0,
|
|
$72 = 0,
|
|
$73 = 0,
|
|
$74 = 0,
|
|
$75 = 0,
|
|
$76 = 0,
|
|
$77 = 0,
|
|
$78 = 0,
|
|
$79 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$81 = 0,
|
|
$82 = 0,
|
|
$83 = 0,
|
|
$84 = 0,
|
|
$85 = 0,
|
|
$86 = 0,
|
|
$87 = 0,
|
|
$88 = 0,
|
|
$89 = 0;
|
|
var $9 = 0,
|
|
$90 = 0,
|
|
$91 = 0,
|
|
$92 = 0,
|
|
$93 = 0,
|
|
$94 = 0,
|
|
$95 = 0,
|
|
$96 = 0,
|
|
$97 = 0,
|
|
$98 = 0,
|
|
$99 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP32[$f >> 2] | 0;
|
|
$1 = ($f + 4) | 0;
|
|
$2 = HEAP32[$1 >> 2] | 0;
|
|
$3 = ($f + 8) | 0;
|
|
$4 = HEAP32[$3 >> 2] | 0;
|
|
$5 = ($f + 12) | 0;
|
|
$6 = HEAP32[$5 >> 2] | 0;
|
|
$7 = ($f + 16) | 0;
|
|
$8 = HEAP32[$7 >> 2] | 0;
|
|
$9 = ($f + 20) | 0;
|
|
$10 = HEAP32[$9 >> 2] | 0;
|
|
$11 = ($f + 24) | 0;
|
|
$12 = HEAP32[$11 >> 2] | 0;
|
|
$13 = ($f + 28) | 0;
|
|
$14 = HEAP32[$13 >> 2] | 0;
|
|
$15 = ($f + 32) | 0;
|
|
$16 = HEAP32[$15 >> 2] | 0;
|
|
$17 = ($f + 36) | 0;
|
|
$18 = HEAP32[$17 >> 2] | 0;
|
|
$19 = HEAP32[$g >> 2] | 0;
|
|
$20 = ($g + 4) | 0;
|
|
$21 = HEAP32[$20 >> 2] | 0;
|
|
$22 = ($g + 8) | 0;
|
|
$23 = HEAP32[$22 >> 2] | 0;
|
|
$24 = ($g + 12) | 0;
|
|
$25 = HEAP32[$24 >> 2] | 0;
|
|
$26 = ($g + 16) | 0;
|
|
$27 = HEAP32[$26 >> 2] | 0;
|
|
$28 = ($g + 20) | 0;
|
|
$29 = HEAP32[$28 >> 2] | 0;
|
|
$30 = ($g + 24) | 0;
|
|
$31 = HEAP32[$30 >> 2] | 0;
|
|
$32 = ($g + 28) | 0;
|
|
$33 = HEAP32[$32 >> 2] | 0;
|
|
$34 = ($g + 32) | 0;
|
|
$35 = HEAP32[$34 >> 2] | 0;
|
|
$36 = ($g + 36) | 0;
|
|
$37 = HEAP32[$36 >> 2] | 0;
|
|
$38 = ($21 * 19) | 0;
|
|
$39 = ($23 * 19) | 0;
|
|
$40 = ($25 * 19) | 0;
|
|
$41 = ($27 * 19) | 0;
|
|
$42 = ($29 * 19) | 0;
|
|
$43 = ($31 * 19) | 0;
|
|
$44 = ($33 * 19) | 0;
|
|
$45 = ($35 * 19) | 0;
|
|
$46 = ($37 * 19) | 0;
|
|
$47 = $2 << 1;
|
|
$48 = $6 << 1;
|
|
$49 = $10 << 1;
|
|
$50 = $14 << 1;
|
|
$51 = $18 << 1;
|
|
$52 = ($0 | 0) < 0;
|
|
$53 = ($52 << 31) >> 31;
|
|
$54 = ($19 | 0) < 0;
|
|
$55 = ($54 << 31) >> 31;
|
|
$56 = ___muldi3($19 | 0, $55 | 0, $0 | 0, $53 | 0) | 0;
|
|
$57 = tempRet0;
|
|
$58 = ($21 | 0) < 0;
|
|
$59 = ($58 << 31) >> 31;
|
|
$60 = ___muldi3($21 | 0, $59 | 0, $0 | 0, $53 | 0) | 0;
|
|
$61 = tempRet0;
|
|
$62 = ($23 | 0) < 0;
|
|
$63 = ($62 << 31) >> 31;
|
|
$64 = ___muldi3($23 | 0, $63 | 0, $0 | 0, $53 | 0) | 0;
|
|
$65 = tempRet0;
|
|
$66 = ($25 | 0) < 0;
|
|
$67 = ($66 << 31) >> 31;
|
|
$68 = ___muldi3($25 | 0, $67 | 0, $0 | 0, $53 | 0) | 0;
|
|
$69 = tempRet0;
|
|
$70 = ($27 | 0) < 0;
|
|
$71 = ($70 << 31) >> 31;
|
|
$72 = ___muldi3($27 | 0, $71 | 0, $0 | 0, $53 | 0) | 0;
|
|
$73 = tempRet0;
|
|
$74 = ($29 | 0) < 0;
|
|
$75 = ($74 << 31) >> 31;
|
|
$76 = ___muldi3($29 | 0, $75 | 0, $0 | 0, $53 | 0) | 0;
|
|
$77 = tempRet0;
|
|
$78 = ($31 | 0) < 0;
|
|
$79 = ($78 << 31) >> 31;
|
|
$80 = ___muldi3($31 | 0, $79 | 0, $0 | 0, $53 | 0) | 0;
|
|
$81 = tempRet0;
|
|
$82 = ($33 | 0) < 0;
|
|
$83 = ($82 << 31) >> 31;
|
|
$84 = ___muldi3($33 | 0, $83 | 0, $0 | 0, $53 | 0) | 0;
|
|
$85 = tempRet0;
|
|
$86 = ($35 | 0) < 0;
|
|
$87 = ($86 << 31) >> 31;
|
|
$88 = ___muldi3($35 | 0, $87 | 0, $0 | 0, $53 | 0) | 0;
|
|
$89 = tempRet0;
|
|
$90 = ($37 | 0) < 0;
|
|
$91 = ($90 << 31) >> 31;
|
|
$92 = ___muldi3($37 | 0, $91 | 0, $0 | 0, $53 | 0) | 0;
|
|
$93 = tempRet0;
|
|
$94 = ($2 | 0) < 0;
|
|
$95 = ($94 << 31) >> 31;
|
|
$96 = ___muldi3($19 | 0, $55 | 0, $2 | 0, $95 | 0) | 0;
|
|
$97 = tempRet0;
|
|
$98 = ($47 | 0) < 0;
|
|
$99 = ($98 << 31) >> 31;
|
|
$100 = ___muldi3($21 | 0, $59 | 0, $47 | 0, $99 | 0) | 0;
|
|
$101 = tempRet0;
|
|
$102 = ___muldi3($23 | 0, $63 | 0, $2 | 0, $95 | 0) | 0;
|
|
$103 = tempRet0;
|
|
$104 = ___muldi3($25 | 0, $67 | 0, $47 | 0, $99 | 0) | 0;
|
|
$105 = tempRet0;
|
|
$106 = ___muldi3($27 | 0, $71 | 0, $2 | 0, $95 | 0) | 0;
|
|
$107 = tempRet0;
|
|
$108 = ___muldi3($29 | 0, $75 | 0, $47 | 0, $99 | 0) | 0;
|
|
$109 = tempRet0;
|
|
$110 = ___muldi3($31 | 0, $79 | 0, $2 | 0, $95 | 0) | 0;
|
|
$111 = tempRet0;
|
|
$112 = ___muldi3($33 | 0, $83 | 0, $47 | 0, $99 | 0) | 0;
|
|
$113 = tempRet0;
|
|
$114 = ___muldi3($35 | 0, $87 | 0, $2 | 0, $95 | 0) | 0;
|
|
$115 = tempRet0;
|
|
$116 = ($46 | 0) < 0;
|
|
$117 = ($116 << 31) >> 31;
|
|
$118 = ___muldi3($46 | 0, $117 | 0, $47 | 0, $99 | 0) | 0;
|
|
$119 = tempRet0;
|
|
$120 = ($4 | 0) < 0;
|
|
$121 = ($120 << 31) >> 31;
|
|
$122 = ___muldi3($19 | 0, $55 | 0, $4 | 0, $121 | 0) | 0;
|
|
$123 = tempRet0;
|
|
$124 = ___muldi3($21 | 0, $59 | 0, $4 | 0, $121 | 0) | 0;
|
|
$125 = tempRet0;
|
|
$126 = ___muldi3($23 | 0, $63 | 0, $4 | 0, $121 | 0) | 0;
|
|
$127 = tempRet0;
|
|
$128 = ___muldi3($25 | 0, $67 | 0, $4 | 0, $121 | 0) | 0;
|
|
$129 = tempRet0;
|
|
$130 = ___muldi3($27 | 0, $71 | 0, $4 | 0, $121 | 0) | 0;
|
|
$131 = tempRet0;
|
|
$132 = ___muldi3($29 | 0, $75 | 0, $4 | 0, $121 | 0) | 0;
|
|
$133 = tempRet0;
|
|
$134 = ___muldi3($31 | 0, $79 | 0, $4 | 0, $121 | 0) | 0;
|
|
$135 = tempRet0;
|
|
$136 = ___muldi3($33 | 0, $83 | 0, $4 | 0, $121 | 0) | 0;
|
|
$137 = tempRet0;
|
|
$138 = ($45 | 0) < 0;
|
|
$139 = ($138 << 31) >> 31;
|
|
$140 = ___muldi3($45 | 0, $139 | 0, $4 | 0, $121 | 0) | 0;
|
|
$141 = tempRet0;
|
|
$142 = ___muldi3($46 | 0, $117 | 0, $4 | 0, $121 | 0) | 0;
|
|
$143 = tempRet0;
|
|
$144 = ($6 | 0) < 0;
|
|
$145 = ($144 << 31) >> 31;
|
|
$146 = ___muldi3($19 | 0, $55 | 0, $6 | 0, $145 | 0) | 0;
|
|
$147 = tempRet0;
|
|
$148 = ($48 | 0) < 0;
|
|
$149 = ($148 << 31) >> 31;
|
|
$150 = ___muldi3($21 | 0, $59 | 0, $48 | 0, $149 | 0) | 0;
|
|
$151 = tempRet0;
|
|
$152 = ___muldi3($23 | 0, $63 | 0, $6 | 0, $145 | 0) | 0;
|
|
$153 = tempRet0;
|
|
$154 = ___muldi3($25 | 0, $67 | 0, $48 | 0, $149 | 0) | 0;
|
|
$155 = tempRet0;
|
|
$156 = ___muldi3($27 | 0, $71 | 0, $6 | 0, $145 | 0) | 0;
|
|
$157 = tempRet0;
|
|
$158 = ___muldi3($29 | 0, $75 | 0, $48 | 0, $149 | 0) | 0;
|
|
$159 = tempRet0;
|
|
$160 = ___muldi3($31 | 0, $79 | 0, $6 | 0, $145 | 0) | 0;
|
|
$161 = tempRet0;
|
|
$162 = ($44 | 0) < 0;
|
|
$163 = ($162 << 31) >> 31;
|
|
$164 = ___muldi3($44 | 0, $163 | 0, $48 | 0, $149 | 0) | 0;
|
|
$165 = tempRet0;
|
|
$166 = ___muldi3($45 | 0, $139 | 0, $6 | 0, $145 | 0) | 0;
|
|
$167 = tempRet0;
|
|
$168 = ___muldi3($46 | 0, $117 | 0, $48 | 0, $149 | 0) | 0;
|
|
$169 = tempRet0;
|
|
$170 = ($8 | 0) < 0;
|
|
$171 = ($170 << 31) >> 31;
|
|
$172 = ___muldi3($19 | 0, $55 | 0, $8 | 0, $171 | 0) | 0;
|
|
$173 = tempRet0;
|
|
$174 = ___muldi3($21 | 0, $59 | 0, $8 | 0, $171 | 0) | 0;
|
|
$175 = tempRet0;
|
|
$176 = ___muldi3($23 | 0, $63 | 0, $8 | 0, $171 | 0) | 0;
|
|
$177 = tempRet0;
|
|
$178 = ___muldi3($25 | 0, $67 | 0, $8 | 0, $171 | 0) | 0;
|
|
$179 = tempRet0;
|
|
$180 = ___muldi3($27 | 0, $71 | 0, $8 | 0, $171 | 0) | 0;
|
|
$181 = tempRet0;
|
|
$182 = ___muldi3($29 | 0, $75 | 0, $8 | 0, $171 | 0) | 0;
|
|
$183 = tempRet0;
|
|
$184 = ($43 | 0) < 0;
|
|
$185 = ($184 << 31) >> 31;
|
|
$186 = ___muldi3($43 | 0, $185 | 0, $8 | 0, $171 | 0) | 0;
|
|
$187 = tempRet0;
|
|
$188 = ___muldi3($44 | 0, $163 | 0, $8 | 0, $171 | 0) | 0;
|
|
$189 = tempRet0;
|
|
$190 = ___muldi3($45 | 0, $139 | 0, $8 | 0, $171 | 0) | 0;
|
|
$191 = tempRet0;
|
|
$192 = ___muldi3($46 | 0, $117 | 0, $8 | 0, $171 | 0) | 0;
|
|
$193 = tempRet0;
|
|
$194 = ($10 | 0) < 0;
|
|
$195 = ($194 << 31) >> 31;
|
|
$196 = ___muldi3($19 | 0, $55 | 0, $10 | 0, $195 | 0) | 0;
|
|
$197 = tempRet0;
|
|
$198 = ($49 | 0) < 0;
|
|
$199 = ($198 << 31) >> 31;
|
|
$200 = ___muldi3($21 | 0, $59 | 0, $49 | 0, $199 | 0) | 0;
|
|
$201 = tempRet0;
|
|
$202 = ___muldi3($23 | 0, $63 | 0, $10 | 0, $195 | 0) | 0;
|
|
$203 = tempRet0;
|
|
$204 = ___muldi3($25 | 0, $67 | 0, $49 | 0, $199 | 0) | 0;
|
|
$205 = tempRet0;
|
|
$206 = ___muldi3($27 | 0, $71 | 0, $10 | 0, $195 | 0) | 0;
|
|
$207 = tempRet0;
|
|
$208 = ($42 | 0) < 0;
|
|
$209 = ($208 << 31) >> 31;
|
|
$210 = ___muldi3($42 | 0, $209 | 0, $49 | 0, $199 | 0) | 0;
|
|
$211 = tempRet0;
|
|
$212 = ___muldi3($43 | 0, $185 | 0, $10 | 0, $195 | 0) | 0;
|
|
$213 = tempRet0;
|
|
$214 = ___muldi3($44 | 0, $163 | 0, $49 | 0, $199 | 0) | 0;
|
|
$215 = tempRet0;
|
|
$216 = ___muldi3($45 | 0, $139 | 0, $10 | 0, $195 | 0) | 0;
|
|
$217 = tempRet0;
|
|
$218 = ___muldi3($46 | 0, $117 | 0, $49 | 0, $199 | 0) | 0;
|
|
$219 = tempRet0;
|
|
$220 = ($12 | 0) < 0;
|
|
$221 = ($220 << 31) >> 31;
|
|
$222 = ___muldi3($19 | 0, $55 | 0, $12 | 0, $221 | 0) | 0;
|
|
$223 = tempRet0;
|
|
$224 = ___muldi3($21 | 0, $59 | 0, $12 | 0, $221 | 0) | 0;
|
|
$225 = tempRet0;
|
|
$226 = ___muldi3($23 | 0, $63 | 0, $12 | 0, $221 | 0) | 0;
|
|
$227 = tempRet0;
|
|
$228 = ___muldi3($25 | 0, $67 | 0, $12 | 0, $221 | 0) | 0;
|
|
$229 = tempRet0;
|
|
$230 = ($41 | 0) < 0;
|
|
$231 = ($230 << 31) >> 31;
|
|
$232 = ___muldi3($41 | 0, $231 | 0, $12 | 0, $221 | 0) | 0;
|
|
$233 = tempRet0;
|
|
$234 = ___muldi3($42 | 0, $209 | 0, $12 | 0, $221 | 0) | 0;
|
|
$235 = tempRet0;
|
|
$236 = ___muldi3($43 | 0, $185 | 0, $12 | 0, $221 | 0) | 0;
|
|
$237 = tempRet0;
|
|
$238 = ___muldi3($44 | 0, $163 | 0, $12 | 0, $221 | 0) | 0;
|
|
$239 = tempRet0;
|
|
$240 = ___muldi3($45 | 0, $139 | 0, $12 | 0, $221 | 0) | 0;
|
|
$241 = tempRet0;
|
|
$242 = ___muldi3($46 | 0, $117 | 0, $12 | 0, $221 | 0) | 0;
|
|
$243 = tempRet0;
|
|
$244 = ($14 | 0) < 0;
|
|
$245 = ($244 << 31) >> 31;
|
|
$246 = ___muldi3($19 | 0, $55 | 0, $14 | 0, $245 | 0) | 0;
|
|
$247 = tempRet0;
|
|
$248 = ($50 | 0) < 0;
|
|
$249 = ($248 << 31) >> 31;
|
|
$250 = ___muldi3($21 | 0, $59 | 0, $50 | 0, $249 | 0) | 0;
|
|
$251 = tempRet0;
|
|
$252 = ___muldi3($23 | 0, $63 | 0, $14 | 0, $245 | 0) | 0;
|
|
$253 = tempRet0;
|
|
$254 = ($40 | 0) < 0;
|
|
$255 = ($254 << 31) >> 31;
|
|
$256 = ___muldi3($40 | 0, $255 | 0, $50 | 0, $249 | 0) | 0;
|
|
$257 = tempRet0;
|
|
$258 = ___muldi3($41 | 0, $231 | 0, $14 | 0, $245 | 0) | 0;
|
|
$259 = tempRet0;
|
|
$260 = ___muldi3($42 | 0, $209 | 0, $50 | 0, $249 | 0) | 0;
|
|
$261 = tempRet0;
|
|
$262 = ___muldi3($43 | 0, $185 | 0, $14 | 0, $245 | 0) | 0;
|
|
$263 = tempRet0;
|
|
$264 = ___muldi3($44 | 0, $163 | 0, $50 | 0, $249 | 0) | 0;
|
|
$265 = tempRet0;
|
|
$266 = ___muldi3($45 | 0, $139 | 0, $14 | 0, $245 | 0) | 0;
|
|
$267 = tempRet0;
|
|
$268 = ___muldi3($46 | 0, $117 | 0, $50 | 0, $249 | 0) | 0;
|
|
$269 = tempRet0;
|
|
$270 = ($16 | 0) < 0;
|
|
$271 = ($270 << 31) >> 31;
|
|
$272 = ___muldi3($19 | 0, $55 | 0, $16 | 0, $271 | 0) | 0;
|
|
$273 = tempRet0;
|
|
$274 = ___muldi3($21 | 0, $59 | 0, $16 | 0, $271 | 0) | 0;
|
|
$275 = tempRet0;
|
|
$276 = ($39 | 0) < 0;
|
|
$277 = ($276 << 31) >> 31;
|
|
$278 = ___muldi3($39 | 0, $277 | 0, $16 | 0, $271 | 0) | 0;
|
|
$279 = tempRet0;
|
|
$280 = ___muldi3($40 | 0, $255 | 0, $16 | 0, $271 | 0) | 0;
|
|
$281 = tempRet0;
|
|
$282 = ___muldi3($41 | 0, $231 | 0, $16 | 0, $271 | 0) | 0;
|
|
$283 = tempRet0;
|
|
$284 = ___muldi3($42 | 0, $209 | 0, $16 | 0, $271 | 0) | 0;
|
|
$285 = tempRet0;
|
|
$286 = ___muldi3($43 | 0, $185 | 0, $16 | 0, $271 | 0) | 0;
|
|
$287 = tempRet0;
|
|
$288 = ___muldi3($44 | 0, $163 | 0, $16 | 0, $271 | 0) | 0;
|
|
$289 = tempRet0;
|
|
$290 = ___muldi3($45 | 0, $139 | 0, $16 | 0, $271 | 0) | 0;
|
|
$291 = tempRet0;
|
|
$292 = ___muldi3($46 | 0, $117 | 0, $16 | 0, $271 | 0) | 0;
|
|
$293 = tempRet0;
|
|
$294 = ($18 | 0) < 0;
|
|
$295 = ($294 << 31) >> 31;
|
|
$296 = ___muldi3($19 | 0, $55 | 0, $18 | 0, $295 | 0) | 0;
|
|
$297 = tempRet0;
|
|
$298 = ($51 | 0) < 0;
|
|
$299 = ($298 << 31) >> 31;
|
|
$300 = ($38 | 0) < 0;
|
|
$301 = ($300 << 31) >> 31;
|
|
$302 = ___muldi3($38 | 0, $301 | 0, $51 | 0, $299 | 0) | 0;
|
|
$303 = tempRet0;
|
|
$304 = ___muldi3($39 | 0, $277 | 0, $18 | 0, $295 | 0) | 0;
|
|
$305 = tempRet0;
|
|
$306 = ___muldi3($40 | 0, $255 | 0, $51 | 0, $299 | 0) | 0;
|
|
$307 = tempRet0;
|
|
$308 = ___muldi3($41 | 0, $231 | 0, $18 | 0, $295 | 0) | 0;
|
|
$309 = tempRet0;
|
|
$310 = ___muldi3($42 | 0, $209 | 0, $51 | 0, $299 | 0) | 0;
|
|
$311 = tempRet0;
|
|
$312 = ___muldi3($43 | 0, $185 | 0, $18 | 0, $295 | 0) | 0;
|
|
$313 = tempRet0;
|
|
$314 = ___muldi3($44 | 0, $163 | 0, $51 | 0, $299 | 0) | 0;
|
|
$315 = tempRet0;
|
|
$316 = ___muldi3($45 | 0, $139 | 0, $18 | 0, $295 | 0) | 0;
|
|
$317 = tempRet0;
|
|
$318 = ___muldi3($46 | 0, $117 | 0, $51 | 0, $299 | 0) | 0;
|
|
$319 = tempRet0;
|
|
$320 = _i64Add($302 | 0, $303 | 0, $56 | 0, $57 | 0) | 0;
|
|
$321 = tempRet0;
|
|
$322 = _i64Add($320 | 0, $321 | 0, $278 | 0, $279 | 0) | 0;
|
|
$323 = tempRet0;
|
|
$324 = _i64Add($322 | 0, $323 | 0, $256 | 0, $257 | 0) | 0;
|
|
$325 = tempRet0;
|
|
$326 = _i64Add($324 | 0, $325 | 0, $232 | 0, $233 | 0) | 0;
|
|
$327 = tempRet0;
|
|
$328 = _i64Add($326 | 0, $327 | 0, $210 | 0, $211 | 0) | 0;
|
|
$329 = tempRet0;
|
|
$330 = _i64Add($328 | 0, $329 | 0, $186 | 0, $187 | 0) | 0;
|
|
$331 = tempRet0;
|
|
$332 = _i64Add($330 | 0, $331 | 0, $164 | 0, $165 | 0) | 0;
|
|
$333 = tempRet0;
|
|
$334 = _i64Add($332 | 0, $333 | 0, $140 | 0, $141 | 0) | 0;
|
|
$335 = tempRet0;
|
|
$336 = _i64Add($334 | 0, $335 | 0, $118 | 0, $119 | 0) | 0;
|
|
$337 = tempRet0;
|
|
$338 = _i64Add($60 | 0, $61 | 0, $96 | 0, $97 | 0) | 0;
|
|
$339 = tempRet0;
|
|
$340 = _i64Add($150 | 0, $151 | 0, $172 | 0, $173 | 0) | 0;
|
|
$341 = tempRet0;
|
|
$342 = _i64Add($340 | 0, $341 | 0, $126 | 0, $127 | 0) | 0;
|
|
$343 = tempRet0;
|
|
$344 = _i64Add($342 | 0, $343 | 0, $104 | 0, $105 | 0) | 0;
|
|
$345 = tempRet0;
|
|
$346 = _i64Add($344 | 0, $345 | 0, $72 | 0, $73 | 0) | 0;
|
|
$347 = tempRet0;
|
|
$348 = _i64Add($346 | 0, $347 | 0, $310 | 0, $311 | 0) | 0;
|
|
$349 = tempRet0;
|
|
$350 = _i64Add($348 | 0, $349 | 0, $286 | 0, $287 | 0) | 0;
|
|
$351 = tempRet0;
|
|
$352 = _i64Add($350 | 0, $351 | 0, $264 | 0, $265 | 0) | 0;
|
|
$353 = tempRet0;
|
|
$354 = _i64Add($352 | 0, $353 | 0, $240 | 0, $241 | 0) | 0;
|
|
$355 = tempRet0;
|
|
$356 = _i64Add($354 | 0, $355 | 0, $218 | 0, $219 | 0) | 0;
|
|
$357 = tempRet0;
|
|
$358 = _i64Add($336 | 0, $337 | 0, 33554432, 0) | 0;
|
|
$359 = tempRet0;
|
|
$360 = _bitshift64Ashr($358 | 0, $359 | 0, 26) | 0;
|
|
$361 = tempRet0;
|
|
$362 = _i64Add($338 | 0, $339 | 0, $304 | 0, $305 | 0) | 0;
|
|
$363 = tempRet0;
|
|
$364 = _i64Add($362 | 0, $363 | 0, $280 | 0, $281 | 0) | 0;
|
|
$365 = tempRet0;
|
|
$366 = _i64Add($364 | 0, $365 | 0, $258 | 0, $259 | 0) | 0;
|
|
$367 = tempRet0;
|
|
$368 = _i64Add($366 | 0, $367 | 0, $234 | 0, $235 | 0) | 0;
|
|
$369 = tempRet0;
|
|
$370 = _i64Add($368 | 0, $369 | 0, $212 | 0, $213 | 0) | 0;
|
|
$371 = tempRet0;
|
|
$372 = _i64Add($370 | 0, $371 | 0, $188 | 0, $189 | 0) | 0;
|
|
$373 = tempRet0;
|
|
$374 = _i64Add($372 | 0, $373 | 0, $166 | 0, $167 | 0) | 0;
|
|
$375 = tempRet0;
|
|
$376 = _i64Add($374 | 0, $375 | 0, $142 | 0, $143 | 0) | 0;
|
|
$377 = tempRet0;
|
|
$378 = _i64Add($376 | 0, $377 | 0, $360 | 0, $361 | 0) | 0;
|
|
$379 = tempRet0;
|
|
$380 = _bitshift64Shl($360 | 0, $361 | 0, 26) | 0;
|
|
$381 = tempRet0;
|
|
$382 = _i64Subtract($336 | 0, $337 | 0, $380 | 0, $381 | 0) | 0;
|
|
$383 = tempRet0;
|
|
$384 = _i64Add($356 | 0, $357 | 0, 33554432, 0) | 0;
|
|
$385 = tempRet0;
|
|
$386 = _bitshift64Ashr($384 | 0, $385 | 0, 26) | 0;
|
|
$387 = tempRet0;
|
|
$388 = _i64Add($174 | 0, $175 | 0, $196 | 0, $197 | 0) | 0;
|
|
$389 = tempRet0;
|
|
$390 = _i64Add($388 | 0, $389 | 0, $152 | 0, $153 | 0) | 0;
|
|
$391 = tempRet0;
|
|
$392 = _i64Add($390 | 0, $391 | 0, $128 | 0, $129 | 0) | 0;
|
|
$393 = tempRet0;
|
|
$394 = _i64Add($392 | 0, $393 | 0, $106 | 0, $107 | 0) | 0;
|
|
$395 = tempRet0;
|
|
$396 = _i64Add($394 | 0, $395 | 0, $76 | 0, $77 | 0) | 0;
|
|
$397 = tempRet0;
|
|
$398 = _i64Add($396 | 0, $397 | 0, $312 | 0, $313 | 0) | 0;
|
|
$399 = tempRet0;
|
|
$400 = _i64Add($398 | 0, $399 | 0, $288 | 0, $289 | 0) | 0;
|
|
$401 = tempRet0;
|
|
$402 = _i64Add($400 | 0, $401 | 0, $266 | 0, $267 | 0) | 0;
|
|
$403 = tempRet0;
|
|
$404 = _i64Add($402 | 0, $403 | 0, $242 | 0, $243 | 0) | 0;
|
|
$405 = tempRet0;
|
|
$406 = _i64Add($404 | 0, $405 | 0, $386 | 0, $387 | 0) | 0;
|
|
$407 = tempRet0;
|
|
$408 = _bitshift64Shl($386 | 0, $387 | 0, 26) | 0;
|
|
$409 = tempRet0;
|
|
$410 = _i64Subtract($356 | 0, $357 | 0, $408 | 0, $409 | 0) | 0;
|
|
$411 = tempRet0;
|
|
$412 = _i64Add($378 | 0, $379 | 0, 16777216, 0) | 0;
|
|
$413 = tempRet0;
|
|
$414 = _bitshift64Ashr($412 | 0, $413 | 0, 25) | 0;
|
|
$415 = tempRet0;
|
|
$416 = _i64Add($100 | 0, $101 | 0, $122 | 0, $123 | 0) | 0;
|
|
$417 = tempRet0;
|
|
$418 = _i64Add($416 | 0, $417 | 0, $64 | 0, $65 | 0) | 0;
|
|
$419 = tempRet0;
|
|
$420 = _i64Add($418 | 0, $419 | 0, $306 | 0, $307 | 0) | 0;
|
|
$421 = tempRet0;
|
|
$422 = _i64Add($420 | 0, $421 | 0, $282 | 0, $283 | 0) | 0;
|
|
$423 = tempRet0;
|
|
$424 = _i64Add($422 | 0, $423 | 0, $260 | 0, $261 | 0) | 0;
|
|
$425 = tempRet0;
|
|
$426 = _i64Add($424 | 0, $425 | 0, $236 | 0, $237 | 0) | 0;
|
|
$427 = tempRet0;
|
|
$428 = _i64Add($426 | 0, $427 | 0, $214 | 0, $215 | 0) | 0;
|
|
$429 = tempRet0;
|
|
$430 = _i64Add($428 | 0, $429 | 0, $190 | 0, $191 | 0) | 0;
|
|
$431 = tempRet0;
|
|
$432 = _i64Add($430 | 0, $431 | 0, $168 | 0, $169 | 0) | 0;
|
|
$433 = tempRet0;
|
|
$434 = _i64Add($432 | 0, $433 | 0, $414 | 0, $415 | 0) | 0;
|
|
$435 = tempRet0;
|
|
$436 = _bitshift64Shl($414 | 0, $415 | 0, 25) | 0;
|
|
$437 = tempRet0;
|
|
$438 = _i64Subtract($378 | 0, $379 | 0, $436 | 0, $437 | 0) | 0;
|
|
$439 = tempRet0;
|
|
$440 = _i64Add($406 | 0, $407 | 0, 16777216, 0) | 0;
|
|
$441 = tempRet0;
|
|
$442 = _bitshift64Ashr($440 | 0, $441 | 0, 25) | 0;
|
|
$443 = tempRet0;
|
|
$444 = _i64Add($200 | 0, $201 | 0, $222 | 0, $223 | 0) | 0;
|
|
$445 = tempRet0;
|
|
$446 = _i64Add($444 | 0, $445 | 0, $176 | 0, $177 | 0) | 0;
|
|
$447 = tempRet0;
|
|
$448 = _i64Add($446 | 0, $447 | 0, $154 | 0, $155 | 0) | 0;
|
|
$449 = tempRet0;
|
|
$450 = _i64Add($448 | 0, $449 | 0, $130 | 0, $131 | 0) | 0;
|
|
$451 = tempRet0;
|
|
$452 = _i64Add($450 | 0, $451 | 0, $108 | 0, $109 | 0) | 0;
|
|
$453 = tempRet0;
|
|
$454 = _i64Add($452 | 0, $453 | 0, $80 | 0, $81 | 0) | 0;
|
|
$455 = tempRet0;
|
|
$456 = _i64Add($454 | 0, $455 | 0, $314 | 0, $315 | 0) | 0;
|
|
$457 = tempRet0;
|
|
$458 = _i64Add($456 | 0, $457 | 0, $290 | 0, $291 | 0) | 0;
|
|
$459 = tempRet0;
|
|
$460 = _i64Add($458 | 0, $459 | 0, $268 | 0, $269 | 0) | 0;
|
|
$461 = tempRet0;
|
|
$462 = _i64Add($460 | 0, $461 | 0, $442 | 0, $443 | 0) | 0;
|
|
$463 = tempRet0;
|
|
$464 = _bitshift64Shl($442 | 0, $443 | 0, 25) | 0;
|
|
$465 = tempRet0;
|
|
$466 = _i64Subtract($406 | 0, $407 | 0, $464 | 0, $465 | 0) | 0;
|
|
$467 = tempRet0;
|
|
$468 = _i64Add($434 | 0, $435 | 0, 33554432, 0) | 0;
|
|
$469 = tempRet0;
|
|
$470 = _bitshift64Ashr($468 | 0, $469 | 0, 26) | 0;
|
|
$471 = tempRet0;
|
|
$472 = _i64Add($124 | 0, $125 | 0, $146 | 0, $147 | 0) | 0;
|
|
$473 = tempRet0;
|
|
$474 = _i64Add($472 | 0, $473 | 0, $102 | 0, $103 | 0) | 0;
|
|
$475 = tempRet0;
|
|
$476 = _i64Add($474 | 0, $475 | 0, $68 | 0, $69 | 0) | 0;
|
|
$477 = tempRet0;
|
|
$478 = _i64Add($476 | 0, $477 | 0, $308 | 0, $309 | 0) | 0;
|
|
$479 = tempRet0;
|
|
$480 = _i64Add($478 | 0, $479 | 0, $284 | 0, $285 | 0) | 0;
|
|
$481 = tempRet0;
|
|
$482 = _i64Add($480 | 0, $481 | 0, $262 | 0, $263 | 0) | 0;
|
|
$483 = tempRet0;
|
|
$484 = _i64Add($482 | 0, $483 | 0, $238 | 0, $239 | 0) | 0;
|
|
$485 = tempRet0;
|
|
$486 = _i64Add($484 | 0, $485 | 0, $216 | 0, $217 | 0) | 0;
|
|
$487 = tempRet0;
|
|
$488 = _i64Add($486 | 0, $487 | 0, $192 | 0, $193 | 0) | 0;
|
|
$489 = tempRet0;
|
|
$490 = _i64Add($488 | 0, $489 | 0, $470 | 0, $471 | 0) | 0;
|
|
$491 = tempRet0;
|
|
$492 = _bitshift64Shl($470 | 0, $471 | 0, 26) | 0;
|
|
$493 = tempRet0;
|
|
$494 = _i64Subtract($434 | 0, $435 | 0, $492 | 0, $493 | 0) | 0;
|
|
$495 = tempRet0;
|
|
$496 = _i64Add($462 | 0, $463 | 0, 33554432, 0) | 0;
|
|
$497 = tempRet0;
|
|
$498 = _bitshift64Ashr($496 | 0, $497 | 0, 26) | 0;
|
|
$499 = tempRet0;
|
|
$500 = _i64Add($224 | 0, $225 | 0, $246 | 0, $247 | 0) | 0;
|
|
$501 = tempRet0;
|
|
$502 = _i64Add($500 | 0, $501 | 0, $202 | 0, $203 | 0) | 0;
|
|
$503 = tempRet0;
|
|
$504 = _i64Add($502 | 0, $503 | 0, $178 | 0, $179 | 0) | 0;
|
|
$505 = tempRet0;
|
|
$506 = _i64Add($504 | 0, $505 | 0, $156 | 0, $157 | 0) | 0;
|
|
$507 = tempRet0;
|
|
$508 = _i64Add($506 | 0, $507 | 0, $132 | 0, $133 | 0) | 0;
|
|
$509 = tempRet0;
|
|
$510 = _i64Add($508 | 0, $509 | 0, $110 | 0, $111 | 0) | 0;
|
|
$511 = tempRet0;
|
|
$512 = _i64Add($510 | 0, $511 | 0, $84 | 0, $85 | 0) | 0;
|
|
$513 = tempRet0;
|
|
$514 = _i64Add($512 | 0, $513 | 0, $316 | 0, $317 | 0) | 0;
|
|
$515 = tempRet0;
|
|
$516 = _i64Add($514 | 0, $515 | 0, $292 | 0, $293 | 0) | 0;
|
|
$517 = tempRet0;
|
|
$518 = _i64Add($516 | 0, $517 | 0, $498 | 0, $499 | 0) | 0;
|
|
$519 = tempRet0;
|
|
$520 = _bitshift64Shl($498 | 0, $499 | 0, 26) | 0;
|
|
$521 = tempRet0;
|
|
$522 = _i64Subtract($462 | 0, $463 | 0, $520 | 0, $521 | 0) | 0;
|
|
$523 = tempRet0;
|
|
$524 = _i64Add($490 | 0, $491 | 0, 16777216, 0) | 0;
|
|
$525 = tempRet0;
|
|
$526 = _bitshift64Ashr($524 | 0, $525 | 0, 25) | 0;
|
|
$527 = tempRet0;
|
|
$528 = _i64Add($526 | 0, $527 | 0, $410 | 0, $411 | 0) | 0;
|
|
$529 = tempRet0;
|
|
$530 = _bitshift64Shl($526 | 0, $527 | 0, 25) | 0;
|
|
$531 = tempRet0;
|
|
$532 = _i64Subtract($490 | 0, $491 | 0, $530 | 0, $531 | 0) | 0;
|
|
$533 = tempRet0;
|
|
$534 = _i64Add($518 | 0, $519 | 0, 16777216, 0) | 0;
|
|
$535 = tempRet0;
|
|
$536 = _bitshift64Ashr($534 | 0, $535 | 0, 25) | 0;
|
|
$537 = tempRet0;
|
|
$538 = _i64Add($250 | 0, $251 | 0, $272 | 0, $273 | 0) | 0;
|
|
$539 = tempRet0;
|
|
$540 = _i64Add($538 | 0, $539 | 0, $226 | 0, $227 | 0) | 0;
|
|
$541 = tempRet0;
|
|
$542 = _i64Add($540 | 0, $541 | 0, $204 | 0, $205 | 0) | 0;
|
|
$543 = tempRet0;
|
|
$544 = _i64Add($542 | 0, $543 | 0, $180 | 0, $181 | 0) | 0;
|
|
$545 = tempRet0;
|
|
$546 = _i64Add($544 | 0, $545 | 0, $158 | 0, $159 | 0) | 0;
|
|
$547 = tempRet0;
|
|
$548 = _i64Add($546 | 0, $547 | 0, $134 | 0, $135 | 0) | 0;
|
|
$549 = tempRet0;
|
|
$550 = _i64Add($548 | 0, $549 | 0, $112 | 0, $113 | 0) | 0;
|
|
$551 = tempRet0;
|
|
$552 = _i64Add($550 | 0, $551 | 0, $88 | 0, $89 | 0) | 0;
|
|
$553 = tempRet0;
|
|
$554 = _i64Add($552 | 0, $553 | 0, $318 | 0, $319 | 0) | 0;
|
|
$555 = tempRet0;
|
|
$556 = _i64Add($554 | 0, $555 | 0, $536 | 0, $537 | 0) | 0;
|
|
$557 = tempRet0;
|
|
$558 = _bitshift64Shl($536 | 0, $537 | 0, 25) | 0;
|
|
$559 = tempRet0;
|
|
$560 = _i64Subtract($518 | 0, $519 | 0, $558 | 0, $559 | 0) | 0;
|
|
$561 = tempRet0;
|
|
$562 = _i64Add($528 | 0, $529 | 0, 33554432, 0) | 0;
|
|
$563 = tempRet0;
|
|
$564 = _bitshift64Ashr($562 | 0, $563 | 0, 26) | 0;
|
|
$565 = tempRet0;
|
|
$566 = _i64Add($466 | 0, $467 | 0, $564 | 0, $565 | 0) | 0;
|
|
$567 = tempRet0;
|
|
$568 = _bitshift64Shl($564 | 0, $565 | 0, 26) | 0;
|
|
$569 = tempRet0;
|
|
$570 = _i64Subtract($528 | 0, $529 | 0, $568 | 0, $569 | 0) | 0;
|
|
$571 = tempRet0;
|
|
$572 = _i64Add($556 | 0, $557 | 0, 33554432, 0) | 0;
|
|
$573 = tempRet0;
|
|
$574 = _bitshift64Ashr($572 | 0, $573 | 0, 26) | 0;
|
|
$575 = tempRet0;
|
|
$576 = _i64Add($274 | 0, $275 | 0, $296 | 0, $297 | 0) | 0;
|
|
$577 = tempRet0;
|
|
$578 = _i64Add($576 | 0, $577 | 0, $252 | 0, $253 | 0) | 0;
|
|
$579 = tempRet0;
|
|
$580 = _i64Add($578 | 0, $579 | 0, $228 | 0, $229 | 0) | 0;
|
|
$581 = tempRet0;
|
|
$582 = _i64Add($580 | 0, $581 | 0, $206 | 0, $207 | 0) | 0;
|
|
$583 = tempRet0;
|
|
$584 = _i64Add($582 | 0, $583 | 0, $182 | 0, $183 | 0) | 0;
|
|
$585 = tempRet0;
|
|
$586 = _i64Add($584 | 0, $585 | 0, $160 | 0, $161 | 0) | 0;
|
|
$587 = tempRet0;
|
|
$588 = _i64Add($586 | 0, $587 | 0, $136 | 0, $137 | 0) | 0;
|
|
$589 = tempRet0;
|
|
$590 = _i64Add($588 | 0, $589 | 0, $114 | 0, $115 | 0) | 0;
|
|
$591 = tempRet0;
|
|
$592 = _i64Add($590 | 0, $591 | 0, $92 | 0, $93 | 0) | 0;
|
|
$593 = tempRet0;
|
|
$594 = _i64Add($592 | 0, $593 | 0, $574 | 0, $575 | 0) | 0;
|
|
$595 = tempRet0;
|
|
$596 = _bitshift64Shl($574 | 0, $575 | 0, 26) | 0;
|
|
$597 = tempRet0;
|
|
$598 = _i64Subtract($556 | 0, $557 | 0, $596 | 0, $597 | 0) | 0;
|
|
$599 = tempRet0;
|
|
$600 = _i64Add($594 | 0, $595 | 0, 16777216, 0) | 0;
|
|
$601 = tempRet0;
|
|
$602 = _bitshift64Ashr($600 | 0, $601 | 0, 25) | 0;
|
|
$603 = tempRet0;
|
|
$604 = ___muldi3($602 | 0, $603 | 0, 19, 0) | 0;
|
|
$605 = tempRet0;
|
|
$606 = _i64Add($604 | 0, $605 | 0, $382 | 0, $383 | 0) | 0;
|
|
$607 = tempRet0;
|
|
$608 = _bitshift64Shl($602 | 0, $603 | 0, 25) | 0;
|
|
$609 = tempRet0;
|
|
$610 = _i64Subtract($594 | 0, $595 | 0, $608 | 0, $609 | 0) | 0;
|
|
$611 = tempRet0;
|
|
$612 = _i64Add($606 | 0, $607 | 0, 33554432, 0) | 0;
|
|
$613 = tempRet0;
|
|
$614 = _bitshift64Ashr($612 | 0, $613 | 0, 26) | 0;
|
|
$615 = tempRet0;
|
|
$616 = _i64Add($438 | 0, $439 | 0, $614 | 0, $615 | 0) | 0;
|
|
$617 = tempRet0;
|
|
$618 = _bitshift64Shl($614 | 0, $615 | 0, 26) | 0;
|
|
$619 = tempRet0;
|
|
$620 = _i64Subtract($606 | 0, $607 | 0, $618 | 0, $619 | 0) | 0;
|
|
$621 = tempRet0;
|
|
HEAP32[$h >> 2] = $620;
|
|
$622 = ($h + 4) | 0;
|
|
HEAP32[$622 >> 2] = $616;
|
|
$623 = ($h + 8) | 0;
|
|
HEAP32[$623 >> 2] = $494;
|
|
$624 = ($h + 12) | 0;
|
|
HEAP32[$624 >> 2] = $532;
|
|
$625 = ($h + 16) | 0;
|
|
HEAP32[$625 >> 2] = $570;
|
|
$626 = ($h + 20) | 0;
|
|
HEAP32[$626 >> 2] = $566;
|
|
$627 = ($h + 24) | 0;
|
|
HEAP32[$627 >> 2] = $522;
|
|
$628 = ($h + 28) | 0;
|
|
HEAP32[$628 >> 2] = $560;
|
|
$629 = ($h + 32) | 0;
|
|
HEAP32[$629 >> 2] = $598;
|
|
$630 = ($h + 36) | 0;
|
|
HEAP32[$630 >> 2] = $610;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_fe_neg($h, $f) {
|
|
$h = $h | 0;
|
|
$f = $f | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0;
|
|
var $27 = 0,
|
|
$28 = 0,
|
|
$29 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP32[$f >> 2] | 0;
|
|
$1 = ($f + 4) | 0;
|
|
$2 = HEAP32[$1 >> 2] | 0;
|
|
$3 = ($f + 8) | 0;
|
|
$4 = HEAP32[$3 >> 2] | 0;
|
|
$5 = ($f + 12) | 0;
|
|
$6 = HEAP32[$5 >> 2] | 0;
|
|
$7 = ($f + 16) | 0;
|
|
$8 = HEAP32[$7 >> 2] | 0;
|
|
$9 = ($f + 20) | 0;
|
|
$10 = HEAP32[$9 >> 2] | 0;
|
|
$11 = ($f + 24) | 0;
|
|
$12 = HEAP32[$11 >> 2] | 0;
|
|
$13 = ($f + 28) | 0;
|
|
$14 = HEAP32[$13 >> 2] | 0;
|
|
$15 = ($f + 32) | 0;
|
|
$16 = HEAP32[$15 >> 2] | 0;
|
|
$17 = ($f + 36) | 0;
|
|
$18 = HEAP32[$17 >> 2] | 0;
|
|
$19 = (0 - $0) | 0;
|
|
$20 = (0 - $2) | 0;
|
|
$21 = (0 - $4) | 0;
|
|
$22 = (0 - $6) | 0;
|
|
$23 = (0 - $8) | 0;
|
|
$24 = (0 - $10) | 0;
|
|
$25 = (0 - $12) | 0;
|
|
$26 = (0 - $14) | 0;
|
|
$27 = (0 - $16) | 0;
|
|
$28 = (0 - $18) | 0;
|
|
HEAP32[$h >> 2] = $19;
|
|
$29 = ($h + 4) | 0;
|
|
HEAP32[$29 >> 2] = $20;
|
|
$30 = ($h + 8) | 0;
|
|
HEAP32[$30 >> 2] = $21;
|
|
$31 = ($h + 12) | 0;
|
|
HEAP32[$31 >> 2] = $22;
|
|
$32 = ($h + 16) | 0;
|
|
HEAP32[$32 >> 2] = $23;
|
|
$33 = ($h + 20) | 0;
|
|
HEAP32[$33 >> 2] = $24;
|
|
$34 = ($h + 24) | 0;
|
|
HEAP32[$34 >> 2] = $25;
|
|
$35 = ($h + 28) | 0;
|
|
HEAP32[$35 >> 2] = $26;
|
|
$36 = ($h + 32) | 0;
|
|
HEAP32[$36 >> 2] = $27;
|
|
$37 = ($h + 36) | 0;
|
|
HEAP32[$37 >> 2] = $28;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_fe_pow22523($out, $z) {
|
|
$out = $out | 0;
|
|
$z = $z | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$exitcond = 0,
|
|
$exitcond10 = 0,
|
|
$exitcond11 = 0,
|
|
$i$74 = 0,
|
|
$i$83 = 0,
|
|
$i$92 = 0,
|
|
$t0 = 0,
|
|
$t1 = 0,
|
|
$t2 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 128) | 0;
|
|
$t0 = (sp + 80) | 0;
|
|
$t1 = (sp + 40) | 0;
|
|
$t2 = sp;
|
|
_crypto_sign_ed25519_ref10_fe_sq($t0, $z);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t0);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_mul($t1, $z, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_mul($t0, $t0, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t0, $t0);
|
|
_crypto_sign_ed25519_ref10_fe_mul($t0, $t1, $t0);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t0);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_mul($t0, $t1, $t0);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t0);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_mul($t1, $t1, $t0);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
_crypto_sign_ed25519_ref10_fe_mul($t1, $t2, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_mul($t0, $t1, $t0);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t0);
|
|
$i$74 = 1;
|
|
while (1) {
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
$0 = ($i$74 + 1) | 0;
|
|
$exitcond11 = ($0 | 0) == 50;
|
|
if ($exitcond11) {
|
|
break;
|
|
} else {
|
|
$i$74 = $0;
|
|
}
|
|
}
|
|
_crypto_sign_ed25519_ref10_fe_mul($t1, $t1, $t0);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t1);
|
|
$i$83 = 1;
|
|
while (1) {
|
|
_crypto_sign_ed25519_ref10_fe_sq($t2, $t2);
|
|
$1 = ($i$83 + 1) | 0;
|
|
$exitcond10 = ($1 | 0) == 100;
|
|
if ($exitcond10) {
|
|
break;
|
|
} else {
|
|
$i$83 = $1;
|
|
}
|
|
}
|
|
_crypto_sign_ed25519_ref10_fe_mul($t1, $t2, $t1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
$i$92 = 1;
|
|
while (1) {
|
|
_crypto_sign_ed25519_ref10_fe_sq($t1, $t1);
|
|
$2 = ($i$92 + 1) | 0;
|
|
$exitcond = ($2 | 0) == 50;
|
|
if ($exitcond) {
|
|
break;
|
|
} else {
|
|
$i$92 = $2;
|
|
}
|
|
}
|
|
_crypto_sign_ed25519_ref10_fe_mul($t0, $t1, $t0);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t0, $t0);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t0, $t0);
|
|
_crypto_sign_ed25519_ref10_fe_mul($out, $t0, $z);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_fe_sq($h, $f) {
|
|
$h = $h | 0;
|
|
$f = $f | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$101 = 0,
|
|
$102 = 0,
|
|
$103 = 0,
|
|
$104 = 0,
|
|
$105 = 0,
|
|
$106 = 0,
|
|
$107 = 0,
|
|
$108 = 0,
|
|
$109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0,
|
|
$115 = 0;
|
|
var $116 = 0,
|
|
$117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0,
|
|
$124 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$131 = 0,
|
|
$132 = 0,
|
|
$133 = 0;
|
|
var $134 = 0,
|
|
$135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$138 = 0,
|
|
$139 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$141 = 0,
|
|
$142 = 0,
|
|
$143 = 0,
|
|
$144 = 0,
|
|
$145 = 0,
|
|
$146 = 0,
|
|
$147 = 0,
|
|
$148 = 0,
|
|
$149 = 0,
|
|
$15 = 0,
|
|
$150 = 0,
|
|
$151 = 0;
|
|
var $152 = 0,
|
|
$153 = 0,
|
|
$154 = 0,
|
|
$155 = 0,
|
|
$156 = 0,
|
|
$157 = 0,
|
|
$158 = 0,
|
|
$159 = 0,
|
|
$16 = 0,
|
|
$160 = 0,
|
|
$161 = 0,
|
|
$162 = 0,
|
|
$163 = 0,
|
|
$164 = 0,
|
|
$165 = 0,
|
|
$166 = 0,
|
|
$167 = 0,
|
|
$168 = 0,
|
|
$169 = 0,
|
|
$17 = 0;
|
|
var $170 = 0,
|
|
$171 = 0,
|
|
$172 = 0,
|
|
$173 = 0,
|
|
$174 = 0,
|
|
$175 = 0,
|
|
$176 = 0,
|
|
$177 = 0,
|
|
$178 = 0,
|
|
$179 = 0,
|
|
$18 = 0,
|
|
$180 = 0,
|
|
$181 = 0,
|
|
$182 = 0,
|
|
$183 = 0,
|
|
$184 = 0,
|
|
$185 = 0,
|
|
$186 = 0,
|
|
$187 = 0,
|
|
$188 = 0;
|
|
var $189 = 0,
|
|
$19 = 0,
|
|
$190 = 0,
|
|
$191 = 0,
|
|
$192 = 0,
|
|
$193 = 0,
|
|
$194 = 0,
|
|
$195 = 0,
|
|
$196 = 0,
|
|
$197 = 0,
|
|
$198 = 0,
|
|
$199 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$200 = 0,
|
|
$201 = 0,
|
|
$202 = 0,
|
|
$203 = 0,
|
|
$204 = 0,
|
|
$205 = 0;
|
|
var $206 = 0,
|
|
$207 = 0,
|
|
$208 = 0,
|
|
$209 = 0,
|
|
$21 = 0,
|
|
$210 = 0,
|
|
$211 = 0,
|
|
$212 = 0,
|
|
$213 = 0,
|
|
$214 = 0,
|
|
$215 = 0,
|
|
$216 = 0,
|
|
$217 = 0,
|
|
$218 = 0,
|
|
$219 = 0,
|
|
$22 = 0,
|
|
$220 = 0,
|
|
$221 = 0,
|
|
$222 = 0,
|
|
$223 = 0;
|
|
var $224 = 0,
|
|
$225 = 0,
|
|
$226 = 0,
|
|
$227 = 0,
|
|
$228 = 0,
|
|
$229 = 0,
|
|
$23 = 0,
|
|
$230 = 0,
|
|
$231 = 0,
|
|
$232 = 0,
|
|
$233 = 0,
|
|
$234 = 0,
|
|
$235 = 0,
|
|
$236 = 0,
|
|
$237 = 0,
|
|
$238 = 0,
|
|
$239 = 0,
|
|
$24 = 0,
|
|
$240 = 0,
|
|
$241 = 0;
|
|
var $242 = 0,
|
|
$243 = 0,
|
|
$244 = 0,
|
|
$245 = 0,
|
|
$246 = 0,
|
|
$247 = 0,
|
|
$248 = 0,
|
|
$249 = 0,
|
|
$25 = 0,
|
|
$250 = 0,
|
|
$251 = 0,
|
|
$252 = 0,
|
|
$253 = 0,
|
|
$254 = 0,
|
|
$255 = 0,
|
|
$256 = 0,
|
|
$257 = 0,
|
|
$258 = 0,
|
|
$259 = 0,
|
|
$26 = 0;
|
|
var $260 = 0,
|
|
$261 = 0,
|
|
$262 = 0,
|
|
$263 = 0,
|
|
$264 = 0,
|
|
$265 = 0,
|
|
$266 = 0,
|
|
$267 = 0,
|
|
$268 = 0,
|
|
$269 = 0,
|
|
$27 = 0,
|
|
$270 = 0,
|
|
$271 = 0,
|
|
$272 = 0,
|
|
$273 = 0,
|
|
$274 = 0,
|
|
$275 = 0,
|
|
$276 = 0,
|
|
$277 = 0,
|
|
$278 = 0;
|
|
var $279 = 0,
|
|
$28 = 0,
|
|
$280 = 0,
|
|
$281 = 0,
|
|
$282 = 0,
|
|
$283 = 0,
|
|
$284 = 0,
|
|
$285 = 0,
|
|
$286 = 0,
|
|
$287 = 0,
|
|
$288 = 0,
|
|
$289 = 0,
|
|
$29 = 0,
|
|
$290 = 0,
|
|
$291 = 0,
|
|
$292 = 0,
|
|
$293 = 0,
|
|
$294 = 0,
|
|
$295 = 0,
|
|
$296 = 0;
|
|
var $297 = 0,
|
|
$298 = 0,
|
|
$299 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$300 = 0,
|
|
$301 = 0,
|
|
$302 = 0,
|
|
$303 = 0,
|
|
$304 = 0,
|
|
$305 = 0,
|
|
$306 = 0,
|
|
$307 = 0,
|
|
$308 = 0,
|
|
$309 = 0,
|
|
$31 = 0,
|
|
$310 = 0,
|
|
$311 = 0,
|
|
$312 = 0,
|
|
$313 = 0;
|
|
var $314 = 0,
|
|
$315 = 0,
|
|
$316 = 0,
|
|
$317 = 0,
|
|
$318 = 0,
|
|
$319 = 0,
|
|
$32 = 0,
|
|
$320 = 0,
|
|
$321 = 0,
|
|
$322 = 0,
|
|
$323 = 0,
|
|
$324 = 0,
|
|
$325 = 0,
|
|
$326 = 0,
|
|
$327 = 0,
|
|
$328 = 0,
|
|
$329 = 0,
|
|
$33 = 0,
|
|
$330 = 0,
|
|
$331 = 0;
|
|
var $332 = 0,
|
|
$333 = 0,
|
|
$334 = 0,
|
|
$335 = 0,
|
|
$336 = 0,
|
|
$337 = 0,
|
|
$338 = 0,
|
|
$339 = 0,
|
|
$34 = 0,
|
|
$340 = 0,
|
|
$341 = 0,
|
|
$342 = 0,
|
|
$343 = 0,
|
|
$344 = 0,
|
|
$345 = 0,
|
|
$346 = 0,
|
|
$347 = 0,
|
|
$348 = 0,
|
|
$349 = 0,
|
|
$35 = 0;
|
|
var $350 = 0,
|
|
$351 = 0,
|
|
$352 = 0,
|
|
$353 = 0,
|
|
$354 = 0,
|
|
$355 = 0,
|
|
$356 = 0,
|
|
$357 = 0,
|
|
$358 = 0,
|
|
$359 = 0,
|
|
$36 = 0,
|
|
$360 = 0,
|
|
$361 = 0,
|
|
$362 = 0,
|
|
$363 = 0,
|
|
$364 = 0,
|
|
$365 = 0,
|
|
$366 = 0,
|
|
$367 = 0,
|
|
$368 = 0;
|
|
var $369 = 0,
|
|
$37 = 0,
|
|
$370 = 0,
|
|
$371 = 0,
|
|
$372 = 0,
|
|
$373 = 0,
|
|
$374 = 0,
|
|
$375 = 0,
|
|
$376 = 0,
|
|
$377 = 0,
|
|
$378 = 0,
|
|
$379 = 0,
|
|
$38 = 0,
|
|
$380 = 0,
|
|
$381 = 0,
|
|
$382 = 0,
|
|
$383 = 0,
|
|
$384 = 0,
|
|
$385 = 0,
|
|
$386 = 0;
|
|
var $387 = 0,
|
|
$388 = 0,
|
|
$389 = 0,
|
|
$39 = 0,
|
|
$390 = 0,
|
|
$391 = 0,
|
|
$392 = 0,
|
|
$393 = 0,
|
|
$394 = 0,
|
|
$395 = 0,
|
|
$396 = 0,
|
|
$397 = 0,
|
|
$398 = 0,
|
|
$399 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$400 = 0,
|
|
$401 = 0,
|
|
$402 = 0,
|
|
$403 = 0;
|
|
var $404 = 0,
|
|
$405 = 0,
|
|
$406 = 0,
|
|
$407 = 0,
|
|
$408 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0,
|
|
$45 = 0,
|
|
$46 = 0,
|
|
$47 = 0,
|
|
$48 = 0,
|
|
$49 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$51 = 0,
|
|
$52 = 0,
|
|
$53 = 0,
|
|
$54 = 0;
|
|
var $55 = 0,
|
|
$56 = 0,
|
|
$57 = 0,
|
|
$58 = 0,
|
|
$59 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$61 = 0,
|
|
$62 = 0,
|
|
$63 = 0,
|
|
$64 = 0,
|
|
$65 = 0,
|
|
$66 = 0,
|
|
$67 = 0,
|
|
$68 = 0,
|
|
$69 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$71 = 0,
|
|
$72 = 0;
|
|
var $73 = 0,
|
|
$74 = 0,
|
|
$75 = 0,
|
|
$76 = 0,
|
|
$77 = 0,
|
|
$78 = 0,
|
|
$79 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$81 = 0,
|
|
$82 = 0,
|
|
$83 = 0,
|
|
$84 = 0,
|
|
$85 = 0,
|
|
$86 = 0,
|
|
$87 = 0,
|
|
$88 = 0,
|
|
$89 = 0,
|
|
$9 = 0,
|
|
$90 = 0;
|
|
var $91 = 0,
|
|
$92 = 0,
|
|
$93 = 0,
|
|
$94 = 0,
|
|
$95 = 0,
|
|
$96 = 0,
|
|
$97 = 0,
|
|
$98 = 0,
|
|
$99 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP32[$f >> 2] | 0;
|
|
$1 = ($f + 4) | 0;
|
|
$2 = HEAP32[$1 >> 2] | 0;
|
|
$3 = ($f + 8) | 0;
|
|
$4 = HEAP32[$3 >> 2] | 0;
|
|
$5 = ($f + 12) | 0;
|
|
$6 = HEAP32[$5 >> 2] | 0;
|
|
$7 = ($f + 16) | 0;
|
|
$8 = HEAP32[$7 >> 2] | 0;
|
|
$9 = ($f + 20) | 0;
|
|
$10 = HEAP32[$9 >> 2] | 0;
|
|
$11 = ($f + 24) | 0;
|
|
$12 = HEAP32[$11 >> 2] | 0;
|
|
$13 = ($f + 28) | 0;
|
|
$14 = HEAP32[$13 >> 2] | 0;
|
|
$15 = ($f + 32) | 0;
|
|
$16 = HEAP32[$15 >> 2] | 0;
|
|
$17 = ($f + 36) | 0;
|
|
$18 = HEAP32[$17 >> 2] | 0;
|
|
$19 = $0 << 1;
|
|
$20 = $2 << 1;
|
|
$21 = $4 << 1;
|
|
$22 = $6 << 1;
|
|
$23 = $8 << 1;
|
|
$24 = $10 << 1;
|
|
$25 = $12 << 1;
|
|
$26 = $14 << 1;
|
|
$27 = ($10 * 38) | 0;
|
|
$28 = ($12 * 19) | 0;
|
|
$29 = ($14 * 38) | 0;
|
|
$30 = ($16 * 19) | 0;
|
|
$31 = ($18 * 38) | 0;
|
|
$32 = ($0 | 0) < 0;
|
|
$33 = ($32 << 31) >> 31;
|
|
$34 = ___muldi3($0 | 0, $33 | 0, $0 | 0, $33 | 0) | 0;
|
|
$35 = tempRet0;
|
|
$36 = ($19 | 0) < 0;
|
|
$37 = ($36 << 31) >> 31;
|
|
$38 = ($2 | 0) < 0;
|
|
$39 = ($38 << 31) >> 31;
|
|
$40 = ___muldi3($19 | 0, $37 | 0, $2 | 0, $39 | 0) | 0;
|
|
$41 = tempRet0;
|
|
$42 = ($4 | 0) < 0;
|
|
$43 = ($42 << 31) >> 31;
|
|
$44 = ___muldi3($4 | 0, $43 | 0, $19 | 0, $37 | 0) | 0;
|
|
$45 = tempRet0;
|
|
$46 = ($6 | 0) < 0;
|
|
$47 = ($46 << 31) >> 31;
|
|
$48 = ___muldi3($6 | 0, $47 | 0, $19 | 0, $37 | 0) | 0;
|
|
$49 = tempRet0;
|
|
$50 = ($8 | 0) < 0;
|
|
$51 = ($50 << 31) >> 31;
|
|
$52 = ___muldi3($8 | 0, $51 | 0, $19 | 0, $37 | 0) | 0;
|
|
$53 = tempRet0;
|
|
$54 = ($10 | 0) < 0;
|
|
$55 = ($54 << 31) >> 31;
|
|
$56 = ___muldi3($10 | 0, $55 | 0, $19 | 0, $37 | 0) | 0;
|
|
$57 = tempRet0;
|
|
$58 = ($12 | 0) < 0;
|
|
$59 = ($58 << 31) >> 31;
|
|
$60 = ___muldi3($12 | 0, $59 | 0, $19 | 0, $37 | 0) | 0;
|
|
$61 = tempRet0;
|
|
$62 = ($14 | 0) < 0;
|
|
$63 = ($62 << 31) >> 31;
|
|
$64 = ___muldi3($14 | 0, $63 | 0, $19 | 0, $37 | 0) | 0;
|
|
$65 = tempRet0;
|
|
$66 = ($16 | 0) < 0;
|
|
$67 = ($66 << 31) >> 31;
|
|
$68 = ___muldi3($16 | 0, $67 | 0, $19 | 0, $37 | 0) | 0;
|
|
$69 = tempRet0;
|
|
$70 = ($18 | 0) < 0;
|
|
$71 = ($70 << 31) >> 31;
|
|
$72 = ___muldi3($18 | 0, $71 | 0, $19 | 0, $37 | 0) | 0;
|
|
$73 = tempRet0;
|
|
$74 = ($20 | 0) < 0;
|
|
$75 = ($74 << 31) >> 31;
|
|
$76 = ___muldi3($20 | 0, $75 | 0, $2 | 0, $39 | 0) | 0;
|
|
$77 = tempRet0;
|
|
$78 = ___muldi3($20 | 0, $75 | 0, $4 | 0, $43 | 0) | 0;
|
|
$79 = tempRet0;
|
|
$80 = ($22 | 0) < 0;
|
|
$81 = ($80 << 31) >> 31;
|
|
$82 = ___muldi3($22 | 0, $81 | 0, $20 | 0, $75 | 0) | 0;
|
|
$83 = tempRet0;
|
|
$84 = ___muldi3($8 | 0, $51 | 0, $20 | 0, $75 | 0) | 0;
|
|
$85 = tempRet0;
|
|
$86 = ($24 | 0) < 0;
|
|
$87 = ($86 << 31) >> 31;
|
|
$88 = ___muldi3($24 | 0, $87 | 0, $20 | 0, $75 | 0) | 0;
|
|
$89 = tempRet0;
|
|
$90 = ___muldi3($12 | 0, $59 | 0, $20 | 0, $75 | 0) | 0;
|
|
$91 = tempRet0;
|
|
$92 = ($26 | 0) < 0;
|
|
$93 = ($92 << 31) >> 31;
|
|
$94 = ___muldi3($26 | 0, $93 | 0, $20 | 0, $75 | 0) | 0;
|
|
$95 = tempRet0;
|
|
$96 = ___muldi3($16 | 0, $67 | 0, $20 | 0, $75 | 0) | 0;
|
|
$97 = tempRet0;
|
|
$98 = ($31 | 0) < 0;
|
|
$99 = ($98 << 31) >> 31;
|
|
$100 = ___muldi3($31 | 0, $99 | 0, $20 | 0, $75 | 0) | 0;
|
|
$101 = tempRet0;
|
|
$102 = ___muldi3($4 | 0, $43 | 0, $4 | 0, $43 | 0) | 0;
|
|
$103 = tempRet0;
|
|
$104 = ($21 | 0) < 0;
|
|
$105 = ($104 << 31) >> 31;
|
|
$106 = ___muldi3($21 | 0, $105 | 0, $6 | 0, $47 | 0) | 0;
|
|
$107 = tempRet0;
|
|
$108 = ___muldi3($8 | 0, $51 | 0, $21 | 0, $105 | 0) | 0;
|
|
$109 = tempRet0;
|
|
$110 = ___muldi3($10 | 0, $55 | 0, $21 | 0, $105 | 0) | 0;
|
|
$111 = tempRet0;
|
|
$112 = ___muldi3($12 | 0, $59 | 0, $21 | 0, $105 | 0) | 0;
|
|
$113 = tempRet0;
|
|
$114 = ___muldi3($14 | 0, $63 | 0, $21 | 0, $105 | 0) | 0;
|
|
$115 = tempRet0;
|
|
$116 = ($30 | 0) < 0;
|
|
$117 = ($116 << 31) >> 31;
|
|
$118 = ___muldi3($30 | 0, $117 | 0, $21 | 0, $105 | 0) | 0;
|
|
$119 = tempRet0;
|
|
$120 = ___muldi3($31 | 0, $99 | 0, $4 | 0, $43 | 0) | 0;
|
|
$121 = tempRet0;
|
|
$122 = ___muldi3($22 | 0, $81 | 0, $6 | 0, $47 | 0) | 0;
|
|
$123 = tempRet0;
|
|
$124 = ___muldi3($22 | 0, $81 | 0, $8 | 0, $51 | 0) | 0;
|
|
$125 = tempRet0;
|
|
$126 = ___muldi3($24 | 0, $87 | 0, $22 | 0, $81 | 0) | 0;
|
|
$127 = tempRet0;
|
|
$128 = ___muldi3($12 | 0, $59 | 0, $22 | 0, $81 | 0) | 0;
|
|
$129 = tempRet0;
|
|
$130 = ($29 | 0) < 0;
|
|
$131 = ($130 << 31) >> 31;
|
|
$132 = ___muldi3($29 | 0, $131 | 0, $22 | 0, $81 | 0) | 0;
|
|
$133 = tempRet0;
|
|
$134 = ___muldi3($30 | 0, $117 | 0, $22 | 0, $81 | 0) | 0;
|
|
$135 = tempRet0;
|
|
$136 = ___muldi3($31 | 0, $99 | 0, $22 | 0, $81 | 0) | 0;
|
|
$137 = tempRet0;
|
|
$138 = ___muldi3($8 | 0, $51 | 0, $8 | 0, $51 | 0) | 0;
|
|
$139 = tempRet0;
|
|
$140 = ($23 | 0) < 0;
|
|
$141 = ($140 << 31) >> 31;
|
|
$142 = ___muldi3($23 | 0, $141 | 0, $10 | 0, $55 | 0) | 0;
|
|
$143 = tempRet0;
|
|
$144 = ($28 | 0) < 0;
|
|
$145 = ($144 << 31) >> 31;
|
|
$146 = ___muldi3($28 | 0, $145 | 0, $23 | 0, $141 | 0) | 0;
|
|
$147 = tempRet0;
|
|
$148 = ___muldi3($29 | 0, $131 | 0, $8 | 0, $51 | 0) | 0;
|
|
$149 = tempRet0;
|
|
$150 = ___muldi3($30 | 0, $117 | 0, $23 | 0, $141 | 0) | 0;
|
|
$151 = tempRet0;
|
|
$152 = ___muldi3($31 | 0, $99 | 0, $8 | 0, $51 | 0) | 0;
|
|
$153 = tempRet0;
|
|
$154 = ($27 | 0) < 0;
|
|
$155 = ($154 << 31) >> 31;
|
|
$156 = ___muldi3($27 | 0, $155 | 0, $10 | 0, $55 | 0) | 0;
|
|
$157 = tempRet0;
|
|
$158 = ___muldi3($28 | 0, $145 | 0, $24 | 0, $87 | 0) | 0;
|
|
$159 = tempRet0;
|
|
$160 = ___muldi3($29 | 0, $131 | 0, $24 | 0, $87 | 0) | 0;
|
|
$161 = tempRet0;
|
|
$162 = ___muldi3($30 | 0, $117 | 0, $24 | 0, $87 | 0) | 0;
|
|
$163 = tempRet0;
|
|
$164 = ___muldi3($31 | 0, $99 | 0, $24 | 0, $87 | 0) | 0;
|
|
$165 = tempRet0;
|
|
$166 = ___muldi3($28 | 0, $145 | 0, $12 | 0, $59 | 0) | 0;
|
|
$167 = tempRet0;
|
|
$168 = ___muldi3($29 | 0, $131 | 0, $12 | 0, $59 | 0) | 0;
|
|
$169 = tempRet0;
|
|
$170 = ($25 | 0) < 0;
|
|
$171 = ($170 << 31) >> 31;
|
|
$172 = ___muldi3($30 | 0, $117 | 0, $25 | 0, $171 | 0) | 0;
|
|
$173 = tempRet0;
|
|
$174 = ___muldi3($31 | 0, $99 | 0, $12 | 0, $59 | 0) | 0;
|
|
$175 = tempRet0;
|
|
$176 = ___muldi3($29 | 0, $131 | 0, $14 | 0, $63 | 0) | 0;
|
|
$177 = tempRet0;
|
|
$178 = ___muldi3($30 | 0, $117 | 0, $26 | 0, $93 | 0) | 0;
|
|
$179 = tempRet0;
|
|
$180 = ___muldi3($31 | 0, $99 | 0, $26 | 0, $93 | 0) | 0;
|
|
$181 = tempRet0;
|
|
$182 = ___muldi3($30 | 0, $117 | 0, $16 | 0, $67 | 0) | 0;
|
|
$183 = tempRet0;
|
|
$184 = ___muldi3($31 | 0, $99 | 0, $16 | 0, $67 | 0) | 0;
|
|
$185 = tempRet0;
|
|
$186 = ___muldi3($31 | 0, $99 | 0, $18 | 0, $71 | 0) | 0;
|
|
$187 = tempRet0;
|
|
$188 = _i64Add($156 | 0, $157 | 0, $34 | 0, $35 | 0) | 0;
|
|
$189 = tempRet0;
|
|
$190 = _i64Add($188 | 0, $189 | 0, $146 | 0, $147 | 0) | 0;
|
|
$191 = tempRet0;
|
|
$192 = _i64Add($190 | 0, $191 | 0, $132 | 0, $133 | 0) | 0;
|
|
$193 = tempRet0;
|
|
$194 = _i64Add($192 | 0, $193 | 0, $118 | 0, $119 | 0) | 0;
|
|
$195 = tempRet0;
|
|
$196 = _i64Add($194 | 0, $195 | 0, $100 | 0, $101 | 0) | 0;
|
|
$197 = tempRet0;
|
|
$198 = _i64Add($44 | 0, $45 | 0, $76 | 0, $77 | 0) | 0;
|
|
$199 = tempRet0;
|
|
$200 = _i64Add($48 | 0, $49 | 0, $78 | 0, $79 | 0) | 0;
|
|
$201 = tempRet0;
|
|
$202 = _i64Add($82 | 0, $83 | 0, $102 | 0, $103 | 0) | 0;
|
|
$203 = tempRet0;
|
|
$204 = _i64Add($202 | 0, $203 | 0, $52 | 0, $53 | 0) | 0;
|
|
$205 = tempRet0;
|
|
$206 = _i64Add($204 | 0, $205 | 0, $176 | 0, $177 | 0) | 0;
|
|
$207 = tempRet0;
|
|
$208 = _i64Add($206 | 0, $207 | 0, $172 | 0, $173 | 0) | 0;
|
|
$209 = tempRet0;
|
|
$210 = _i64Add($208 | 0, $209 | 0, $164 | 0, $165 | 0) | 0;
|
|
$211 = tempRet0;
|
|
$212 = _i64Add($196 | 0, $197 | 0, 33554432, 0) | 0;
|
|
$213 = tempRet0;
|
|
$214 = _bitshift64Ashr($212 | 0, $213 | 0, 26) | 0;
|
|
$215 = tempRet0;
|
|
$216 = _i64Add($158 | 0, $159 | 0, $40 | 0, $41 | 0) | 0;
|
|
$217 = tempRet0;
|
|
$218 = _i64Add($216 | 0, $217 | 0, $148 | 0, $149 | 0) | 0;
|
|
$219 = tempRet0;
|
|
$220 = _i64Add($218 | 0, $219 | 0, $134 | 0, $135 | 0) | 0;
|
|
$221 = tempRet0;
|
|
$222 = _i64Add($220 | 0, $221 | 0, $120 | 0, $121 | 0) | 0;
|
|
$223 = tempRet0;
|
|
$224 = _i64Add($222 | 0, $223 | 0, $214 | 0, $215 | 0) | 0;
|
|
$225 = tempRet0;
|
|
$226 = _bitshift64Shl($214 | 0, $215 | 0, 26) | 0;
|
|
$227 = tempRet0;
|
|
$228 = _i64Subtract($196 | 0, $197 | 0, $226 | 0, $227 | 0) | 0;
|
|
$229 = tempRet0;
|
|
$230 = _i64Add($210 | 0, $211 | 0, 33554432, 0) | 0;
|
|
$231 = tempRet0;
|
|
$232 = _bitshift64Ashr($230 | 0, $231 | 0, 26) | 0;
|
|
$233 = tempRet0;
|
|
$234 = _i64Add($84 | 0, $85 | 0, $106 | 0, $107 | 0) | 0;
|
|
$235 = tempRet0;
|
|
$236 = _i64Add($234 | 0, $235 | 0, $56 | 0, $57 | 0) | 0;
|
|
$237 = tempRet0;
|
|
$238 = _i64Add($236 | 0, $237 | 0, $178 | 0, $179 | 0) | 0;
|
|
$239 = tempRet0;
|
|
$240 = _i64Add($238 | 0, $239 | 0, $174 | 0, $175 | 0) | 0;
|
|
$241 = tempRet0;
|
|
$242 = _i64Add($240 | 0, $241 | 0, $232 | 0, $233 | 0) | 0;
|
|
$243 = tempRet0;
|
|
$244 = _bitshift64Shl($232 | 0, $233 | 0, 26) | 0;
|
|
$245 = tempRet0;
|
|
$246 = _i64Subtract($210 | 0, $211 | 0, $244 | 0, $245 | 0) | 0;
|
|
$247 = tempRet0;
|
|
$248 = _i64Add($224 | 0, $225 | 0, 16777216, 0) | 0;
|
|
$249 = tempRet0;
|
|
$250 = _bitshift64Ashr($248 | 0, $249 | 0, 25) | 0;
|
|
$251 = tempRet0;
|
|
$252 = _i64Add($198 | 0, $199 | 0, $166 | 0, $167 | 0) | 0;
|
|
$253 = tempRet0;
|
|
$254 = _i64Add($252 | 0, $253 | 0, $160 | 0, $161 | 0) | 0;
|
|
$255 = tempRet0;
|
|
$256 = _i64Add($254 | 0, $255 | 0, $150 | 0, $151 | 0) | 0;
|
|
$257 = tempRet0;
|
|
$258 = _i64Add($256 | 0, $257 | 0, $136 | 0, $137 | 0) | 0;
|
|
$259 = tempRet0;
|
|
$260 = _i64Add($258 | 0, $259 | 0, $250 | 0, $251 | 0) | 0;
|
|
$261 = tempRet0;
|
|
$262 = _bitshift64Shl($250 | 0, $251 | 0, 25) | 0;
|
|
$263 = tempRet0;
|
|
$264 = _i64Subtract($224 | 0, $225 | 0, $262 | 0, $263 | 0) | 0;
|
|
$265 = tempRet0;
|
|
$266 = _i64Add($242 | 0, $243 | 0, 16777216, 0) | 0;
|
|
$267 = tempRet0;
|
|
$268 = _bitshift64Ashr($266 | 0, $267 | 0, 25) | 0;
|
|
$269 = tempRet0;
|
|
$270 = _i64Add($122 | 0, $123 | 0, $108 | 0, $109 | 0) | 0;
|
|
$271 = tempRet0;
|
|
$272 = _i64Add($270 | 0, $271 | 0, $88 | 0, $89 | 0) | 0;
|
|
$273 = tempRet0;
|
|
$274 = _i64Add($272 | 0, $273 | 0, $60 | 0, $61 | 0) | 0;
|
|
$275 = tempRet0;
|
|
$276 = _i64Add($274 | 0, $275 | 0, $182 | 0, $183 | 0) | 0;
|
|
$277 = tempRet0;
|
|
$278 = _i64Add($276 | 0, $277 | 0, $180 | 0, $181 | 0) | 0;
|
|
$279 = tempRet0;
|
|
$280 = _i64Add($278 | 0, $279 | 0, $268 | 0, $269 | 0) | 0;
|
|
$281 = tempRet0;
|
|
$282 = _bitshift64Shl($268 | 0, $269 | 0, 25) | 0;
|
|
$283 = tempRet0;
|
|
$284 = _i64Subtract($242 | 0, $243 | 0, $282 | 0, $283 | 0) | 0;
|
|
$285 = tempRet0;
|
|
$286 = _i64Add($260 | 0, $261 | 0, 33554432, 0) | 0;
|
|
$287 = tempRet0;
|
|
$288 = _bitshift64Ashr($286 | 0, $287 | 0, 26) | 0;
|
|
$289 = tempRet0;
|
|
$290 = _i64Add($200 | 0, $201 | 0, $168 | 0, $169 | 0) | 0;
|
|
$291 = tempRet0;
|
|
$292 = _i64Add($290 | 0, $291 | 0, $162 | 0, $163 | 0) | 0;
|
|
$293 = tempRet0;
|
|
$294 = _i64Add($292 | 0, $293 | 0, $152 | 0, $153 | 0) | 0;
|
|
$295 = tempRet0;
|
|
$296 = _i64Add($294 | 0, $295 | 0, $288 | 0, $289 | 0) | 0;
|
|
$297 = tempRet0;
|
|
$298 = _bitshift64Shl($288 | 0, $289 | 0, 26) | 0;
|
|
$299 = tempRet0;
|
|
$300 = _i64Subtract($260 | 0, $261 | 0, $298 | 0, $299 | 0) | 0;
|
|
$301 = tempRet0;
|
|
$302 = _i64Add($280 | 0, $281 | 0, 33554432, 0) | 0;
|
|
$303 = tempRet0;
|
|
$304 = _bitshift64Ashr($302 | 0, $303 | 0, 26) | 0;
|
|
$305 = tempRet0;
|
|
$306 = _i64Add($110 | 0, $111 | 0, $124 | 0, $125 | 0) | 0;
|
|
$307 = tempRet0;
|
|
$308 = _i64Add($306 | 0, $307 | 0, $90 | 0, $91 | 0) | 0;
|
|
$309 = tempRet0;
|
|
$310 = _i64Add($308 | 0, $309 | 0, $64 | 0, $65 | 0) | 0;
|
|
$311 = tempRet0;
|
|
$312 = _i64Add($310 | 0, $311 | 0, $184 | 0, $185 | 0) | 0;
|
|
$313 = tempRet0;
|
|
$314 = _i64Add($312 | 0, $313 | 0, $304 | 0, $305 | 0) | 0;
|
|
$315 = tempRet0;
|
|
$316 = _bitshift64Shl($304 | 0, $305 | 0, 26) | 0;
|
|
$317 = tempRet0;
|
|
$318 = _i64Subtract($280 | 0, $281 | 0, $316 | 0, $317 | 0) | 0;
|
|
$319 = tempRet0;
|
|
$320 = _i64Add($296 | 0, $297 | 0, 16777216, 0) | 0;
|
|
$321 = tempRet0;
|
|
$322 = _bitshift64Ashr($320 | 0, $321 | 0, 25) | 0;
|
|
$323 = tempRet0;
|
|
$324 = _i64Add($322 | 0, $323 | 0, $246 | 0, $247 | 0) | 0;
|
|
$325 = tempRet0;
|
|
$326 = _bitshift64Shl($322 | 0, $323 | 0, 25) | 0;
|
|
$327 = tempRet0;
|
|
$328 = _i64Subtract($296 | 0, $297 | 0, $326 | 0, $327 | 0) | 0;
|
|
$329 = tempRet0;
|
|
$330 = _i64Add($314 | 0, $315 | 0, 16777216, 0) | 0;
|
|
$331 = tempRet0;
|
|
$332 = _bitshift64Ashr($330 | 0, $331 | 0, 25) | 0;
|
|
$333 = tempRet0;
|
|
$334 = _i64Add($112 | 0, $113 | 0, $138 | 0, $139 | 0) | 0;
|
|
$335 = tempRet0;
|
|
$336 = _i64Add($334 | 0, $335 | 0, $126 | 0, $127 | 0) | 0;
|
|
$337 = tempRet0;
|
|
$338 = _i64Add($336 | 0, $337 | 0, $94 | 0, $95 | 0) | 0;
|
|
$339 = tempRet0;
|
|
$340 = _i64Add($338 | 0, $339 | 0, $68 | 0, $69 | 0) | 0;
|
|
$341 = tempRet0;
|
|
$342 = _i64Add($340 | 0, $341 | 0, $186 | 0, $187 | 0) | 0;
|
|
$343 = tempRet0;
|
|
$344 = _i64Add($342 | 0, $343 | 0, $332 | 0, $333 | 0) | 0;
|
|
$345 = tempRet0;
|
|
$346 = _bitshift64Shl($332 | 0, $333 | 0, 25) | 0;
|
|
$347 = tempRet0;
|
|
$348 = _i64Subtract($314 | 0, $315 | 0, $346 | 0, $347 | 0) | 0;
|
|
$349 = tempRet0;
|
|
$350 = _i64Add($324 | 0, $325 | 0, 33554432, 0) | 0;
|
|
$351 = tempRet0;
|
|
$352 = _bitshift64Ashr($350 | 0, $351 | 0, 26) | 0;
|
|
$353 = tempRet0;
|
|
$354 = _i64Add($284 | 0, $285 | 0, $352 | 0, $353 | 0) | 0;
|
|
$355 = tempRet0;
|
|
$356 = _bitshift64Shl($352 | 0, $353 | 0, 26) | 0;
|
|
$357 = tempRet0;
|
|
$358 = _i64Subtract($324 | 0, $325 | 0, $356 | 0, $357 | 0) | 0;
|
|
$359 = tempRet0;
|
|
$360 = _i64Add($344 | 0, $345 | 0, 33554432, 0) | 0;
|
|
$361 = tempRet0;
|
|
$362 = _bitshift64Ashr($360 | 0, $361 | 0, 26) | 0;
|
|
$363 = tempRet0;
|
|
$364 = _i64Add($128 | 0, $129 | 0, $142 | 0, $143 | 0) | 0;
|
|
$365 = tempRet0;
|
|
$366 = _i64Add($364 | 0, $365 | 0, $114 | 0, $115 | 0) | 0;
|
|
$367 = tempRet0;
|
|
$368 = _i64Add($366 | 0, $367 | 0, $96 | 0, $97 | 0) | 0;
|
|
$369 = tempRet0;
|
|
$370 = _i64Add($368 | 0, $369 | 0, $72 | 0, $73 | 0) | 0;
|
|
$371 = tempRet0;
|
|
$372 = _i64Add($370 | 0, $371 | 0, $362 | 0, $363 | 0) | 0;
|
|
$373 = tempRet0;
|
|
$374 = _bitshift64Shl($362 | 0, $363 | 0, 26) | 0;
|
|
$375 = tempRet0;
|
|
$376 = _i64Subtract($344 | 0, $345 | 0, $374 | 0, $375 | 0) | 0;
|
|
$377 = tempRet0;
|
|
$378 = _i64Add($372 | 0, $373 | 0, 16777216, 0) | 0;
|
|
$379 = tempRet0;
|
|
$380 = _bitshift64Ashr($378 | 0, $379 | 0, 25) | 0;
|
|
$381 = tempRet0;
|
|
$382 = ___muldi3($380 | 0, $381 | 0, 19, 0) | 0;
|
|
$383 = tempRet0;
|
|
$384 = _i64Add($382 | 0, $383 | 0, $228 | 0, $229 | 0) | 0;
|
|
$385 = tempRet0;
|
|
$386 = _bitshift64Shl($380 | 0, $381 | 0, 25) | 0;
|
|
$387 = tempRet0;
|
|
$388 = _i64Subtract($372 | 0, $373 | 0, $386 | 0, $387 | 0) | 0;
|
|
$389 = tempRet0;
|
|
$390 = _i64Add($384 | 0, $385 | 0, 33554432, 0) | 0;
|
|
$391 = tempRet0;
|
|
$392 = _bitshift64Ashr($390 | 0, $391 | 0, 26) | 0;
|
|
$393 = tempRet0;
|
|
$394 = _i64Add($264 | 0, $265 | 0, $392 | 0, $393 | 0) | 0;
|
|
$395 = tempRet0;
|
|
$396 = _bitshift64Shl($392 | 0, $393 | 0, 26) | 0;
|
|
$397 = tempRet0;
|
|
$398 = _i64Subtract($384 | 0, $385 | 0, $396 | 0, $397 | 0) | 0;
|
|
$399 = tempRet0;
|
|
HEAP32[$h >> 2] = $398;
|
|
$400 = ($h + 4) | 0;
|
|
HEAP32[$400 >> 2] = $394;
|
|
$401 = ($h + 8) | 0;
|
|
HEAP32[$401 >> 2] = $300;
|
|
$402 = ($h + 12) | 0;
|
|
HEAP32[$402 >> 2] = $328;
|
|
$403 = ($h + 16) | 0;
|
|
HEAP32[$403 >> 2] = $358;
|
|
$404 = ($h + 20) | 0;
|
|
HEAP32[$404 >> 2] = $354;
|
|
$405 = ($h + 24) | 0;
|
|
HEAP32[$405 >> 2] = $318;
|
|
$406 = ($h + 28) | 0;
|
|
HEAP32[$406 >> 2] = $348;
|
|
$407 = ($h + 32) | 0;
|
|
HEAP32[$407 >> 2] = $376;
|
|
$408 = ($h + 36) | 0;
|
|
HEAP32[$408 >> 2] = $388;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_fe_sq2($h, $f) {
|
|
$h = $h | 0;
|
|
$f = $f | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$101 = 0,
|
|
$102 = 0,
|
|
$103 = 0,
|
|
$104 = 0,
|
|
$105 = 0,
|
|
$106 = 0,
|
|
$107 = 0,
|
|
$108 = 0,
|
|
$109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0,
|
|
$115 = 0;
|
|
var $116 = 0,
|
|
$117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0,
|
|
$124 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$131 = 0,
|
|
$132 = 0,
|
|
$133 = 0;
|
|
var $134 = 0,
|
|
$135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$138 = 0,
|
|
$139 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$141 = 0,
|
|
$142 = 0,
|
|
$143 = 0,
|
|
$144 = 0,
|
|
$145 = 0,
|
|
$146 = 0,
|
|
$147 = 0,
|
|
$148 = 0,
|
|
$149 = 0,
|
|
$15 = 0,
|
|
$150 = 0,
|
|
$151 = 0;
|
|
var $152 = 0,
|
|
$153 = 0,
|
|
$154 = 0,
|
|
$155 = 0,
|
|
$156 = 0,
|
|
$157 = 0,
|
|
$158 = 0,
|
|
$159 = 0,
|
|
$16 = 0,
|
|
$160 = 0,
|
|
$161 = 0,
|
|
$162 = 0,
|
|
$163 = 0,
|
|
$164 = 0,
|
|
$165 = 0,
|
|
$166 = 0,
|
|
$167 = 0,
|
|
$168 = 0,
|
|
$169 = 0,
|
|
$17 = 0;
|
|
var $170 = 0,
|
|
$171 = 0,
|
|
$172 = 0,
|
|
$173 = 0,
|
|
$174 = 0,
|
|
$175 = 0,
|
|
$176 = 0,
|
|
$177 = 0,
|
|
$178 = 0,
|
|
$179 = 0,
|
|
$18 = 0,
|
|
$180 = 0,
|
|
$181 = 0,
|
|
$182 = 0,
|
|
$183 = 0,
|
|
$184 = 0,
|
|
$185 = 0,
|
|
$186 = 0,
|
|
$187 = 0,
|
|
$188 = 0;
|
|
var $189 = 0,
|
|
$19 = 0,
|
|
$190 = 0,
|
|
$191 = 0,
|
|
$192 = 0,
|
|
$193 = 0,
|
|
$194 = 0,
|
|
$195 = 0,
|
|
$196 = 0,
|
|
$197 = 0,
|
|
$198 = 0,
|
|
$199 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$200 = 0,
|
|
$201 = 0,
|
|
$202 = 0,
|
|
$203 = 0,
|
|
$204 = 0,
|
|
$205 = 0;
|
|
var $206 = 0,
|
|
$207 = 0,
|
|
$208 = 0,
|
|
$209 = 0,
|
|
$21 = 0,
|
|
$210 = 0,
|
|
$211 = 0,
|
|
$212 = 0,
|
|
$213 = 0,
|
|
$214 = 0,
|
|
$215 = 0,
|
|
$216 = 0,
|
|
$217 = 0,
|
|
$218 = 0,
|
|
$219 = 0,
|
|
$22 = 0,
|
|
$220 = 0,
|
|
$221 = 0,
|
|
$222 = 0,
|
|
$223 = 0;
|
|
var $224 = 0,
|
|
$225 = 0,
|
|
$226 = 0,
|
|
$227 = 0,
|
|
$228 = 0,
|
|
$229 = 0,
|
|
$23 = 0,
|
|
$230 = 0,
|
|
$231 = 0,
|
|
$232 = 0,
|
|
$233 = 0,
|
|
$234 = 0,
|
|
$235 = 0,
|
|
$236 = 0,
|
|
$237 = 0,
|
|
$238 = 0,
|
|
$239 = 0,
|
|
$24 = 0,
|
|
$240 = 0,
|
|
$241 = 0;
|
|
var $242 = 0,
|
|
$243 = 0,
|
|
$244 = 0,
|
|
$245 = 0,
|
|
$246 = 0,
|
|
$247 = 0,
|
|
$248 = 0,
|
|
$249 = 0,
|
|
$25 = 0,
|
|
$250 = 0,
|
|
$251 = 0,
|
|
$252 = 0,
|
|
$253 = 0,
|
|
$254 = 0,
|
|
$255 = 0,
|
|
$256 = 0,
|
|
$257 = 0,
|
|
$258 = 0,
|
|
$259 = 0,
|
|
$26 = 0;
|
|
var $260 = 0,
|
|
$261 = 0,
|
|
$262 = 0,
|
|
$263 = 0,
|
|
$264 = 0,
|
|
$265 = 0,
|
|
$266 = 0,
|
|
$267 = 0,
|
|
$268 = 0,
|
|
$269 = 0,
|
|
$27 = 0,
|
|
$270 = 0,
|
|
$271 = 0,
|
|
$272 = 0,
|
|
$273 = 0,
|
|
$274 = 0,
|
|
$275 = 0,
|
|
$276 = 0,
|
|
$277 = 0,
|
|
$278 = 0;
|
|
var $279 = 0,
|
|
$28 = 0,
|
|
$280 = 0,
|
|
$281 = 0,
|
|
$282 = 0,
|
|
$283 = 0,
|
|
$284 = 0,
|
|
$285 = 0,
|
|
$286 = 0,
|
|
$287 = 0,
|
|
$288 = 0,
|
|
$289 = 0,
|
|
$29 = 0,
|
|
$290 = 0,
|
|
$291 = 0,
|
|
$292 = 0,
|
|
$293 = 0,
|
|
$294 = 0,
|
|
$295 = 0,
|
|
$296 = 0;
|
|
var $297 = 0,
|
|
$298 = 0,
|
|
$299 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$300 = 0,
|
|
$301 = 0,
|
|
$302 = 0,
|
|
$303 = 0,
|
|
$304 = 0,
|
|
$305 = 0,
|
|
$306 = 0,
|
|
$307 = 0,
|
|
$308 = 0,
|
|
$309 = 0,
|
|
$31 = 0,
|
|
$310 = 0,
|
|
$311 = 0,
|
|
$312 = 0,
|
|
$313 = 0;
|
|
var $314 = 0,
|
|
$315 = 0,
|
|
$316 = 0,
|
|
$317 = 0,
|
|
$318 = 0,
|
|
$319 = 0,
|
|
$32 = 0,
|
|
$320 = 0,
|
|
$321 = 0,
|
|
$322 = 0,
|
|
$323 = 0,
|
|
$324 = 0,
|
|
$325 = 0,
|
|
$326 = 0,
|
|
$327 = 0,
|
|
$328 = 0,
|
|
$329 = 0,
|
|
$33 = 0,
|
|
$330 = 0,
|
|
$331 = 0;
|
|
var $332 = 0,
|
|
$333 = 0,
|
|
$334 = 0,
|
|
$335 = 0,
|
|
$336 = 0,
|
|
$337 = 0,
|
|
$338 = 0,
|
|
$339 = 0,
|
|
$34 = 0,
|
|
$340 = 0,
|
|
$341 = 0,
|
|
$342 = 0,
|
|
$343 = 0,
|
|
$344 = 0,
|
|
$345 = 0,
|
|
$346 = 0,
|
|
$347 = 0,
|
|
$348 = 0,
|
|
$349 = 0,
|
|
$35 = 0;
|
|
var $350 = 0,
|
|
$351 = 0,
|
|
$352 = 0,
|
|
$353 = 0,
|
|
$354 = 0,
|
|
$355 = 0,
|
|
$356 = 0,
|
|
$357 = 0,
|
|
$358 = 0,
|
|
$359 = 0,
|
|
$36 = 0,
|
|
$360 = 0,
|
|
$361 = 0,
|
|
$362 = 0,
|
|
$363 = 0,
|
|
$364 = 0,
|
|
$365 = 0,
|
|
$366 = 0,
|
|
$367 = 0,
|
|
$368 = 0;
|
|
var $369 = 0,
|
|
$37 = 0,
|
|
$370 = 0,
|
|
$371 = 0,
|
|
$372 = 0,
|
|
$373 = 0,
|
|
$374 = 0,
|
|
$375 = 0,
|
|
$376 = 0,
|
|
$377 = 0,
|
|
$378 = 0,
|
|
$379 = 0,
|
|
$38 = 0,
|
|
$380 = 0,
|
|
$381 = 0,
|
|
$382 = 0,
|
|
$383 = 0,
|
|
$384 = 0,
|
|
$385 = 0,
|
|
$386 = 0;
|
|
var $387 = 0,
|
|
$388 = 0,
|
|
$389 = 0,
|
|
$39 = 0,
|
|
$390 = 0,
|
|
$391 = 0,
|
|
$392 = 0,
|
|
$393 = 0,
|
|
$394 = 0,
|
|
$395 = 0,
|
|
$396 = 0,
|
|
$397 = 0,
|
|
$398 = 0,
|
|
$399 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$400 = 0,
|
|
$401 = 0,
|
|
$402 = 0,
|
|
$403 = 0;
|
|
var $404 = 0,
|
|
$405 = 0,
|
|
$406 = 0,
|
|
$407 = 0,
|
|
$408 = 0,
|
|
$409 = 0,
|
|
$41 = 0,
|
|
$410 = 0,
|
|
$411 = 0,
|
|
$412 = 0,
|
|
$413 = 0,
|
|
$414 = 0,
|
|
$415 = 0,
|
|
$416 = 0,
|
|
$417 = 0,
|
|
$418 = 0,
|
|
$419 = 0,
|
|
$42 = 0,
|
|
$420 = 0,
|
|
$421 = 0;
|
|
var $422 = 0,
|
|
$423 = 0,
|
|
$424 = 0,
|
|
$425 = 0,
|
|
$426 = 0,
|
|
$427 = 0,
|
|
$428 = 0,
|
|
$43 = 0,
|
|
$44 = 0,
|
|
$45 = 0,
|
|
$46 = 0,
|
|
$47 = 0,
|
|
$48 = 0,
|
|
$49 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$51 = 0,
|
|
$52 = 0,
|
|
$53 = 0,
|
|
$54 = 0;
|
|
var $55 = 0,
|
|
$56 = 0,
|
|
$57 = 0,
|
|
$58 = 0,
|
|
$59 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$61 = 0,
|
|
$62 = 0,
|
|
$63 = 0,
|
|
$64 = 0,
|
|
$65 = 0,
|
|
$66 = 0,
|
|
$67 = 0,
|
|
$68 = 0,
|
|
$69 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$71 = 0,
|
|
$72 = 0;
|
|
var $73 = 0,
|
|
$74 = 0,
|
|
$75 = 0,
|
|
$76 = 0,
|
|
$77 = 0,
|
|
$78 = 0,
|
|
$79 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$81 = 0,
|
|
$82 = 0,
|
|
$83 = 0,
|
|
$84 = 0,
|
|
$85 = 0,
|
|
$86 = 0,
|
|
$87 = 0,
|
|
$88 = 0,
|
|
$89 = 0,
|
|
$9 = 0,
|
|
$90 = 0;
|
|
var $91 = 0,
|
|
$92 = 0,
|
|
$93 = 0,
|
|
$94 = 0,
|
|
$95 = 0,
|
|
$96 = 0,
|
|
$97 = 0,
|
|
$98 = 0,
|
|
$99 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP32[$f >> 2] | 0;
|
|
$1 = ($f + 4) | 0;
|
|
$2 = HEAP32[$1 >> 2] | 0;
|
|
$3 = ($f + 8) | 0;
|
|
$4 = HEAP32[$3 >> 2] | 0;
|
|
$5 = ($f + 12) | 0;
|
|
$6 = HEAP32[$5 >> 2] | 0;
|
|
$7 = ($f + 16) | 0;
|
|
$8 = HEAP32[$7 >> 2] | 0;
|
|
$9 = ($f + 20) | 0;
|
|
$10 = HEAP32[$9 >> 2] | 0;
|
|
$11 = ($f + 24) | 0;
|
|
$12 = HEAP32[$11 >> 2] | 0;
|
|
$13 = ($f + 28) | 0;
|
|
$14 = HEAP32[$13 >> 2] | 0;
|
|
$15 = ($f + 32) | 0;
|
|
$16 = HEAP32[$15 >> 2] | 0;
|
|
$17 = ($f + 36) | 0;
|
|
$18 = HEAP32[$17 >> 2] | 0;
|
|
$19 = $0 << 1;
|
|
$20 = $2 << 1;
|
|
$21 = $4 << 1;
|
|
$22 = $6 << 1;
|
|
$23 = $8 << 1;
|
|
$24 = $10 << 1;
|
|
$25 = $12 << 1;
|
|
$26 = $14 << 1;
|
|
$27 = ($10 * 38) | 0;
|
|
$28 = ($12 * 19) | 0;
|
|
$29 = ($14 * 38) | 0;
|
|
$30 = ($16 * 19) | 0;
|
|
$31 = ($18 * 38) | 0;
|
|
$32 = ($0 | 0) < 0;
|
|
$33 = ($32 << 31) >> 31;
|
|
$34 = ___muldi3($0 | 0, $33 | 0, $0 | 0, $33 | 0) | 0;
|
|
$35 = tempRet0;
|
|
$36 = ($19 | 0) < 0;
|
|
$37 = ($36 << 31) >> 31;
|
|
$38 = ($2 | 0) < 0;
|
|
$39 = ($38 << 31) >> 31;
|
|
$40 = ___muldi3($19 | 0, $37 | 0, $2 | 0, $39 | 0) | 0;
|
|
$41 = tempRet0;
|
|
$42 = ($4 | 0) < 0;
|
|
$43 = ($42 << 31) >> 31;
|
|
$44 = ___muldi3($4 | 0, $43 | 0, $19 | 0, $37 | 0) | 0;
|
|
$45 = tempRet0;
|
|
$46 = ($6 | 0) < 0;
|
|
$47 = ($46 << 31) >> 31;
|
|
$48 = ___muldi3($6 | 0, $47 | 0, $19 | 0, $37 | 0) | 0;
|
|
$49 = tempRet0;
|
|
$50 = ($8 | 0) < 0;
|
|
$51 = ($50 << 31) >> 31;
|
|
$52 = ___muldi3($8 | 0, $51 | 0, $19 | 0, $37 | 0) | 0;
|
|
$53 = tempRet0;
|
|
$54 = ($10 | 0) < 0;
|
|
$55 = ($54 << 31) >> 31;
|
|
$56 = ___muldi3($10 | 0, $55 | 0, $19 | 0, $37 | 0) | 0;
|
|
$57 = tempRet0;
|
|
$58 = ($12 | 0) < 0;
|
|
$59 = ($58 << 31) >> 31;
|
|
$60 = ___muldi3($12 | 0, $59 | 0, $19 | 0, $37 | 0) | 0;
|
|
$61 = tempRet0;
|
|
$62 = ($14 | 0) < 0;
|
|
$63 = ($62 << 31) >> 31;
|
|
$64 = ___muldi3($14 | 0, $63 | 0, $19 | 0, $37 | 0) | 0;
|
|
$65 = tempRet0;
|
|
$66 = ($16 | 0) < 0;
|
|
$67 = ($66 << 31) >> 31;
|
|
$68 = ___muldi3($16 | 0, $67 | 0, $19 | 0, $37 | 0) | 0;
|
|
$69 = tempRet0;
|
|
$70 = ($18 | 0) < 0;
|
|
$71 = ($70 << 31) >> 31;
|
|
$72 = ___muldi3($18 | 0, $71 | 0, $19 | 0, $37 | 0) | 0;
|
|
$73 = tempRet0;
|
|
$74 = ($20 | 0) < 0;
|
|
$75 = ($74 << 31) >> 31;
|
|
$76 = ___muldi3($20 | 0, $75 | 0, $2 | 0, $39 | 0) | 0;
|
|
$77 = tempRet0;
|
|
$78 = ___muldi3($20 | 0, $75 | 0, $4 | 0, $43 | 0) | 0;
|
|
$79 = tempRet0;
|
|
$80 = ($22 | 0) < 0;
|
|
$81 = ($80 << 31) >> 31;
|
|
$82 = ___muldi3($22 | 0, $81 | 0, $20 | 0, $75 | 0) | 0;
|
|
$83 = tempRet0;
|
|
$84 = ___muldi3($8 | 0, $51 | 0, $20 | 0, $75 | 0) | 0;
|
|
$85 = tempRet0;
|
|
$86 = ($24 | 0) < 0;
|
|
$87 = ($86 << 31) >> 31;
|
|
$88 = ___muldi3($24 | 0, $87 | 0, $20 | 0, $75 | 0) | 0;
|
|
$89 = tempRet0;
|
|
$90 = ___muldi3($12 | 0, $59 | 0, $20 | 0, $75 | 0) | 0;
|
|
$91 = tempRet0;
|
|
$92 = ($26 | 0) < 0;
|
|
$93 = ($92 << 31) >> 31;
|
|
$94 = ___muldi3($26 | 0, $93 | 0, $20 | 0, $75 | 0) | 0;
|
|
$95 = tempRet0;
|
|
$96 = ___muldi3($16 | 0, $67 | 0, $20 | 0, $75 | 0) | 0;
|
|
$97 = tempRet0;
|
|
$98 = ($31 | 0) < 0;
|
|
$99 = ($98 << 31) >> 31;
|
|
$100 = ___muldi3($31 | 0, $99 | 0, $20 | 0, $75 | 0) | 0;
|
|
$101 = tempRet0;
|
|
$102 = ___muldi3($4 | 0, $43 | 0, $4 | 0, $43 | 0) | 0;
|
|
$103 = tempRet0;
|
|
$104 = ($21 | 0) < 0;
|
|
$105 = ($104 << 31) >> 31;
|
|
$106 = ___muldi3($21 | 0, $105 | 0, $6 | 0, $47 | 0) | 0;
|
|
$107 = tempRet0;
|
|
$108 = ___muldi3($8 | 0, $51 | 0, $21 | 0, $105 | 0) | 0;
|
|
$109 = tempRet0;
|
|
$110 = ___muldi3($10 | 0, $55 | 0, $21 | 0, $105 | 0) | 0;
|
|
$111 = tempRet0;
|
|
$112 = ___muldi3($12 | 0, $59 | 0, $21 | 0, $105 | 0) | 0;
|
|
$113 = tempRet0;
|
|
$114 = ___muldi3($14 | 0, $63 | 0, $21 | 0, $105 | 0) | 0;
|
|
$115 = tempRet0;
|
|
$116 = ($30 | 0) < 0;
|
|
$117 = ($116 << 31) >> 31;
|
|
$118 = ___muldi3($30 | 0, $117 | 0, $21 | 0, $105 | 0) | 0;
|
|
$119 = tempRet0;
|
|
$120 = ___muldi3($31 | 0, $99 | 0, $4 | 0, $43 | 0) | 0;
|
|
$121 = tempRet0;
|
|
$122 = ___muldi3($22 | 0, $81 | 0, $6 | 0, $47 | 0) | 0;
|
|
$123 = tempRet0;
|
|
$124 = ___muldi3($22 | 0, $81 | 0, $8 | 0, $51 | 0) | 0;
|
|
$125 = tempRet0;
|
|
$126 = ___muldi3($24 | 0, $87 | 0, $22 | 0, $81 | 0) | 0;
|
|
$127 = tempRet0;
|
|
$128 = ___muldi3($12 | 0, $59 | 0, $22 | 0, $81 | 0) | 0;
|
|
$129 = tempRet0;
|
|
$130 = ($29 | 0) < 0;
|
|
$131 = ($130 << 31) >> 31;
|
|
$132 = ___muldi3($29 | 0, $131 | 0, $22 | 0, $81 | 0) | 0;
|
|
$133 = tempRet0;
|
|
$134 = ___muldi3($30 | 0, $117 | 0, $22 | 0, $81 | 0) | 0;
|
|
$135 = tempRet0;
|
|
$136 = ___muldi3($31 | 0, $99 | 0, $22 | 0, $81 | 0) | 0;
|
|
$137 = tempRet0;
|
|
$138 = ___muldi3($8 | 0, $51 | 0, $8 | 0, $51 | 0) | 0;
|
|
$139 = tempRet0;
|
|
$140 = ($23 | 0) < 0;
|
|
$141 = ($140 << 31) >> 31;
|
|
$142 = ___muldi3($23 | 0, $141 | 0, $10 | 0, $55 | 0) | 0;
|
|
$143 = tempRet0;
|
|
$144 = ($28 | 0) < 0;
|
|
$145 = ($144 << 31) >> 31;
|
|
$146 = ___muldi3($28 | 0, $145 | 0, $23 | 0, $141 | 0) | 0;
|
|
$147 = tempRet0;
|
|
$148 = ___muldi3($29 | 0, $131 | 0, $8 | 0, $51 | 0) | 0;
|
|
$149 = tempRet0;
|
|
$150 = ___muldi3($30 | 0, $117 | 0, $23 | 0, $141 | 0) | 0;
|
|
$151 = tempRet0;
|
|
$152 = ___muldi3($31 | 0, $99 | 0, $8 | 0, $51 | 0) | 0;
|
|
$153 = tempRet0;
|
|
$154 = ($27 | 0) < 0;
|
|
$155 = ($154 << 31) >> 31;
|
|
$156 = ___muldi3($27 | 0, $155 | 0, $10 | 0, $55 | 0) | 0;
|
|
$157 = tempRet0;
|
|
$158 = ___muldi3($28 | 0, $145 | 0, $24 | 0, $87 | 0) | 0;
|
|
$159 = tempRet0;
|
|
$160 = ___muldi3($29 | 0, $131 | 0, $24 | 0, $87 | 0) | 0;
|
|
$161 = tempRet0;
|
|
$162 = ___muldi3($30 | 0, $117 | 0, $24 | 0, $87 | 0) | 0;
|
|
$163 = tempRet0;
|
|
$164 = ___muldi3($31 | 0, $99 | 0, $24 | 0, $87 | 0) | 0;
|
|
$165 = tempRet0;
|
|
$166 = ___muldi3($28 | 0, $145 | 0, $12 | 0, $59 | 0) | 0;
|
|
$167 = tempRet0;
|
|
$168 = ___muldi3($29 | 0, $131 | 0, $12 | 0, $59 | 0) | 0;
|
|
$169 = tempRet0;
|
|
$170 = ($25 | 0) < 0;
|
|
$171 = ($170 << 31) >> 31;
|
|
$172 = ___muldi3($30 | 0, $117 | 0, $25 | 0, $171 | 0) | 0;
|
|
$173 = tempRet0;
|
|
$174 = ___muldi3($31 | 0, $99 | 0, $12 | 0, $59 | 0) | 0;
|
|
$175 = tempRet0;
|
|
$176 = ___muldi3($29 | 0, $131 | 0, $14 | 0, $63 | 0) | 0;
|
|
$177 = tempRet0;
|
|
$178 = ___muldi3($30 | 0, $117 | 0, $26 | 0, $93 | 0) | 0;
|
|
$179 = tempRet0;
|
|
$180 = ___muldi3($31 | 0, $99 | 0, $26 | 0, $93 | 0) | 0;
|
|
$181 = tempRet0;
|
|
$182 = ___muldi3($30 | 0, $117 | 0, $16 | 0, $67 | 0) | 0;
|
|
$183 = tempRet0;
|
|
$184 = ___muldi3($31 | 0, $99 | 0, $16 | 0, $67 | 0) | 0;
|
|
$185 = tempRet0;
|
|
$186 = ___muldi3($31 | 0, $99 | 0, $18 | 0, $71 | 0) | 0;
|
|
$187 = tempRet0;
|
|
$188 = _i64Add($156 | 0, $157 | 0, $34 | 0, $35 | 0) | 0;
|
|
$189 = tempRet0;
|
|
$190 = _i64Add($188 | 0, $189 | 0, $146 | 0, $147 | 0) | 0;
|
|
$191 = tempRet0;
|
|
$192 = _i64Add($190 | 0, $191 | 0, $132 | 0, $133 | 0) | 0;
|
|
$193 = tempRet0;
|
|
$194 = _i64Add($192 | 0, $193 | 0, $118 | 0, $119 | 0) | 0;
|
|
$195 = tempRet0;
|
|
$196 = _i64Add($194 | 0, $195 | 0, $100 | 0, $101 | 0) | 0;
|
|
$197 = tempRet0;
|
|
$198 = _i64Add($158 | 0, $159 | 0, $40 | 0, $41 | 0) | 0;
|
|
$199 = tempRet0;
|
|
$200 = _i64Add($198 | 0, $199 | 0, $148 | 0, $149 | 0) | 0;
|
|
$201 = tempRet0;
|
|
$202 = _i64Add($200 | 0, $201 | 0, $134 | 0, $135 | 0) | 0;
|
|
$203 = tempRet0;
|
|
$204 = _i64Add($202 | 0, $203 | 0, $120 | 0, $121 | 0) | 0;
|
|
$205 = tempRet0;
|
|
$206 = _i64Add($44 | 0, $45 | 0, $76 | 0, $77 | 0) | 0;
|
|
$207 = tempRet0;
|
|
$208 = _i64Add($206 | 0, $207 | 0, $166 | 0, $167 | 0) | 0;
|
|
$209 = tempRet0;
|
|
$210 = _i64Add($208 | 0, $209 | 0, $160 | 0, $161 | 0) | 0;
|
|
$211 = tempRet0;
|
|
$212 = _i64Add($210 | 0, $211 | 0, $150 | 0, $151 | 0) | 0;
|
|
$213 = tempRet0;
|
|
$214 = _i64Add($212 | 0, $213 | 0, $136 | 0, $137 | 0) | 0;
|
|
$215 = tempRet0;
|
|
$216 = _i64Add($48 | 0, $49 | 0, $78 | 0, $79 | 0) | 0;
|
|
$217 = tempRet0;
|
|
$218 = _i64Add($216 | 0, $217 | 0, $168 | 0, $169 | 0) | 0;
|
|
$219 = tempRet0;
|
|
$220 = _i64Add($218 | 0, $219 | 0, $162 | 0, $163 | 0) | 0;
|
|
$221 = tempRet0;
|
|
$222 = _i64Add($220 | 0, $221 | 0, $152 | 0, $153 | 0) | 0;
|
|
$223 = tempRet0;
|
|
$224 = _i64Add($82 | 0, $83 | 0, $102 | 0, $103 | 0) | 0;
|
|
$225 = tempRet0;
|
|
$226 = _i64Add($224 | 0, $225 | 0, $52 | 0, $53 | 0) | 0;
|
|
$227 = tempRet0;
|
|
$228 = _i64Add($226 | 0, $227 | 0, $176 | 0, $177 | 0) | 0;
|
|
$229 = tempRet0;
|
|
$230 = _i64Add($228 | 0, $229 | 0, $172 | 0, $173 | 0) | 0;
|
|
$231 = tempRet0;
|
|
$232 = _i64Add($230 | 0, $231 | 0, $164 | 0, $165 | 0) | 0;
|
|
$233 = tempRet0;
|
|
$234 = _i64Add($84 | 0, $85 | 0, $106 | 0, $107 | 0) | 0;
|
|
$235 = tempRet0;
|
|
$236 = _i64Add($234 | 0, $235 | 0, $56 | 0, $57 | 0) | 0;
|
|
$237 = tempRet0;
|
|
$238 = _i64Add($236 | 0, $237 | 0, $178 | 0, $179 | 0) | 0;
|
|
$239 = tempRet0;
|
|
$240 = _i64Add($238 | 0, $239 | 0, $174 | 0, $175 | 0) | 0;
|
|
$241 = tempRet0;
|
|
$242 = _i64Add($122 | 0, $123 | 0, $108 | 0, $109 | 0) | 0;
|
|
$243 = tempRet0;
|
|
$244 = _i64Add($242 | 0, $243 | 0, $88 | 0, $89 | 0) | 0;
|
|
$245 = tempRet0;
|
|
$246 = _i64Add($244 | 0, $245 | 0, $60 | 0, $61 | 0) | 0;
|
|
$247 = tempRet0;
|
|
$248 = _i64Add($246 | 0, $247 | 0, $182 | 0, $183 | 0) | 0;
|
|
$249 = tempRet0;
|
|
$250 = _i64Add($248 | 0, $249 | 0, $180 | 0, $181 | 0) | 0;
|
|
$251 = tempRet0;
|
|
$252 = _i64Add($110 | 0, $111 | 0, $124 | 0, $125 | 0) | 0;
|
|
$253 = tempRet0;
|
|
$254 = _i64Add($252 | 0, $253 | 0, $90 | 0, $91 | 0) | 0;
|
|
$255 = tempRet0;
|
|
$256 = _i64Add($254 | 0, $255 | 0, $64 | 0, $65 | 0) | 0;
|
|
$257 = tempRet0;
|
|
$258 = _i64Add($256 | 0, $257 | 0, $184 | 0, $185 | 0) | 0;
|
|
$259 = tempRet0;
|
|
$260 = _i64Add($112 | 0, $113 | 0, $138 | 0, $139 | 0) | 0;
|
|
$261 = tempRet0;
|
|
$262 = _i64Add($260 | 0, $261 | 0, $126 | 0, $127 | 0) | 0;
|
|
$263 = tempRet0;
|
|
$264 = _i64Add($262 | 0, $263 | 0, $94 | 0, $95 | 0) | 0;
|
|
$265 = tempRet0;
|
|
$266 = _i64Add($264 | 0, $265 | 0, $68 | 0, $69 | 0) | 0;
|
|
$267 = tempRet0;
|
|
$268 = _i64Add($266 | 0, $267 | 0, $186 | 0, $187 | 0) | 0;
|
|
$269 = tempRet0;
|
|
$270 = _i64Add($128 | 0, $129 | 0, $142 | 0, $143 | 0) | 0;
|
|
$271 = tempRet0;
|
|
$272 = _i64Add($270 | 0, $271 | 0, $114 | 0, $115 | 0) | 0;
|
|
$273 = tempRet0;
|
|
$274 = _i64Add($272 | 0, $273 | 0, $96 | 0, $97 | 0) | 0;
|
|
$275 = tempRet0;
|
|
$276 = _i64Add($274 | 0, $275 | 0, $72 | 0, $73 | 0) | 0;
|
|
$277 = tempRet0;
|
|
$278 = _bitshift64Shl($196 | 0, $197 | 0, 1) | 0;
|
|
$279 = tempRet0;
|
|
$280 = _bitshift64Shl($204 | 0, $205 | 0, 1) | 0;
|
|
$281 = tempRet0;
|
|
$282 = _bitshift64Shl($214 | 0, $215 | 0, 1) | 0;
|
|
$283 = tempRet0;
|
|
$284 = _bitshift64Shl($222 | 0, $223 | 0, 1) | 0;
|
|
$285 = tempRet0;
|
|
$286 = _bitshift64Shl($232 | 0, $233 | 0, 1) | 0;
|
|
$287 = tempRet0;
|
|
$288 = _bitshift64Shl($240 | 0, $241 | 0, 1) | 0;
|
|
$289 = tempRet0;
|
|
$290 = _bitshift64Shl($250 | 0, $251 | 0, 1) | 0;
|
|
$291 = tempRet0;
|
|
$292 = _bitshift64Shl($258 | 0, $259 | 0, 1) | 0;
|
|
$293 = tempRet0;
|
|
$294 = _bitshift64Shl($268 | 0, $269 | 0, 1) | 0;
|
|
$295 = tempRet0;
|
|
$296 = _bitshift64Shl($276 | 0, $277 | 0, 1) | 0;
|
|
$297 = tempRet0;
|
|
$298 = _i64Add($278 | 0, $279 | 0, 33554432, 0) | 0;
|
|
$299 = tempRet0;
|
|
$300 = _bitshift64Ashr($298 | 0, $299 | 0, 26) | 0;
|
|
$301 = tempRet0;
|
|
$302 = _i64Add($300 | 0, $301 | 0, $280 | 0, $281 | 0) | 0;
|
|
$303 = tempRet0;
|
|
$304 = _bitshift64Shl($300 | 0, $301 | 0, 26) | 0;
|
|
$305 = tempRet0;
|
|
$306 = _i64Subtract($278 | 0, $279 | 0, $304 | 0, $305 | 0) | 0;
|
|
$307 = tempRet0;
|
|
$308 = _i64Add($286 | 0, $287 | 0, 33554432, 0) | 0;
|
|
$309 = tempRet0;
|
|
$310 = _bitshift64Ashr($308 | 0, $309 | 0, 26) | 0;
|
|
$311 = tempRet0;
|
|
$312 = _i64Add($310 | 0, $311 | 0, $288 | 0, $289 | 0) | 0;
|
|
$313 = tempRet0;
|
|
$314 = _bitshift64Shl($310 | 0, $311 | 0, 26) | 0;
|
|
$315 = tempRet0;
|
|
$316 = _i64Subtract($286 | 0, $287 | 0, $314 | 0, $315 | 0) | 0;
|
|
$317 = tempRet0;
|
|
$318 = _i64Add($302 | 0, $303 | 0, 16777216, 0) | 0;
|
|
$319 = tempRet0;
|
|
$320 = _bitshift64Ashr($318 | 0, $319 | 0, 25) | 0;
|
|
$321 = tempRet0;
|
|
$322 = _i64Add($320 | 0, $321 | 0, $282 | 0, $283 | 0) | 0;
|
|
$323 = tempRet0;
|
|
$324 = _bitshift64Shl($320 | 0, $321 | 0, 25) | 0;
|
|
$325 = tempRet0;
|
|
$326 = _i64Subtract($302 | 0, $303 | 0, $324 | 0, $325 | 0) | 0;
|
|
$327 = tempRet0;
|
|
$328 = _i64Add($312 | 0, $313 | 0, 16777216, 0) | 0;
|
|
$329 = tempRet0;
|
|
$330 = _bitshift64Ashr($328 | 0, $329 | 0, 25) | 0;
|
|
$331 = tempRet0;
|
|
$332 = _i64Add($330 | 0, $331 | 0, $290 | 0, $291 | 0) | 0;
|
|
$333 = tempRet0;
|
|
$334 = _bitshift64Shl($330 | 0, $331 | 0, 25) | 0;
|
|
$335 = tempRet0;
|
|
$336 = _i64Subtract($312 | 0, $313 | 0, $334 | 0, $335 | 0) | 0;
|
|
$337 = tempRet0;
|
|
$338 = _i64Add($322 | 0, $323 | 0, 33554432, 0) | 0;
|
|
$339 = tempRet0;
|
|
$340 = _bitshift64Ashr($338 | 0, $339 | 0, 26) | 0;
|
|
$341 = tempRet0;
|
|
$342 = _i64Add($340 | 0, $341 | 0, $284 | 0, $285 | 0) | 0;
|
|
$343 = tempRet0;
|
|
$344 = _bitshift64Shl($340 | 0, $341 | 0, 26) | 0;
|
|
$345 = tempRet0;
|
|
$346 = _i64Subtract($322 | 0, $323 | 0, $344 | 0, $345 | 0) | 0;
|
|
$347 = tempRet0;
|
|
$348 = _i64Add($332 | 0, $333 | 0, 33554432, 0) | 0;
|
|
$349 = tempRet0;
|
|
$350 = _bitshift64Ashr($348 | 0, $349 | 0, 26) | 0;
|
|
$351 = tempRet0;
|
|
$352 = _i64Add($350 | 0, $351 | 0, $292 | 0, $293 | 0) | 0;
|
|
$353 = tempRet0;
|
|
$354 = _bitshift64Shl($350 | 0, $351 | 0, 26) | 0;
|
|
$355 = tempRet0;
|
|
$356 = _i64Subtract($332 | 0, $333 | 0, $354 | 0, $355 | 0) | 0;
|
|
$357 = tempRet0;
|
|
$358 = _i64Add($342 | 0, $343 | 0, 16777216, 0) | 0;
|
|
$359 = tempRet0;
|
|
$360 = _bitshift64Ashr($358 | 0, $359 | 0, 25) | 0;
|
|
$361 = tempRet0;
|
|
$362 = _i64Add($360 | 0, $361 | 0, $316 | 0, $317 | 0) | 0;
|
|
$363 = tempRet0;
|
|
$364 = _bitshift64Shl($360 | 0, $361 | 0, 25) | 0;
|
|
$365 = tempRet0;
|
|
$366 = _i64Subtract($342 | 0, $343 | 0, $364 | 0, $365 | 0) | 0;
|
|
$367 = tempRet0;
|
|
$368 = _i64Add($352 | 0, $353 | 0, 16777216, 0) | 0;
|
|
$369 = tempRet0;
|
|
$370 = _bitshift64Ashr($368 | 0, $369 | 0, 25) | 0;
|
|
$371 = tempRet0;
|
|
$372 = _i64Add($370 | 0, $371 | 0, $294 | 0, $295 | 0) | 0;
|
|
$373 = tempRet0;
|
|
$374 = _bitshift64Shl($370 | 0, $371 | 0, 25) | 0;
|
|
$375 = tempRet0;
|
|
$376 = _i64Subtract($352 | 0, $353 | 0, $374 | 0, $375 | 0) | 0;
|
|
$377 = tempRet0;
|
|
$378 = _i64Add($362 | 0, $363 | 0, 33554432, 0) | 0;
|
|
$379 = tempRet0;
|
|
$380 = _bitshift64Ashr($378 | 0, $379 | 0, 26) | 0;
|
|
$381 = tempRet0;
|
|
$382 = _i64Add($336 | 0, $337 | 0, $380 | 0, $381 | 0) | 0;
|
|
$383 = tempRet0;
|
|
$384 = _bitshift64Shl($380 | 0, $381 | 0, 26) | 0;
|
|
$385 = tempRet0;
|
|
$386 = _i64Subtract($362 | 0, $363 | 0, $384 | 0, $385 | 0) | 0;
|
|
$387 = tempRet0;
|
|
$388 = _i64Add($372 | 0, $373 | 0, 33554432, 0) | 0;
|
|
$389 = tempRet0;
|
|
$390 = _bitshift64Ashr($388 | 0, $389 | 0, 26) | 0;
|
|
$391 = tempRet0;
|
|
$392 = _i64Add($390 | 0, $391 | 0, $296 | 0, $297 | 0) | 0;
|
|
$393 = tempRet0;
|
|
$394 = _bitshift64Shl($390 | 0, $391 | 0, 26) | 0;
|
|
$395 = tempRet0;
|
|
$396 = _i64Subtract($372 | 0, $373 | 0, $394 | 0, $395 | 0) | 0;
|
|
$397 = tempRet0;
|
|
$398 = _i64Add($392 | 0, $393 | 0, 16777216, 0) | 0;
|
|
$399 = tempRet0;
|
|
$400 = _bitshift64Ashr($398 | 0, $399 | 0, 25) | 0;
|
|
$401 = tempRet0;
|
|
$402 = ___muldi3($400 | 0, $401 | 0, 19, 0) | 0;
|
|
$403 = tempRet0;
|
|
$404 = _i64Add($402 | 0, $403 | 0, $306 | 0, $307 | 0) | 0;
|
|
$405 = tempRet0;
|
|
$406 = _bitshift64Shl($400 | 0, $401 | 0, 25) | 0;
|
|
$407 = tempRet0;
|
|
$408 = _i64Subtract($392 | 0, $393 | 0, $406 | 0, $407 | 0) | 0;
|
|
$409 = tempRet0;
|
|
$410 = _i64Add($404 | 0, $405 | 0, 33554432, 0) | 0;
|
|
$411 = tempRet0;
|
|
$412 = _bitshift64Ashr($410 | 0, $411 | 0, 26) | 0;
|
|
$413 = tempRet0;
|
|
$414 = _i64Add($326 | 0, $327 | 0, $412 | 0, $413 | 0) | 0;
|
|
$415 = tempRet0;
|
|
$416 = _bitshift64Shl($412 | 0, $413 | 0, 26) | 0;
|
|
$417 = tempRet0;
|
|
$418 = _i64Subtract($404 | 0, $405 | 0, $416 | 0, $417 | 0) | 0;
|
|
$419 = tempRet0;
|
|
HEAP32[$h >> 2] = $418;
|
|
$420 = ($h + 4) | 0;
|
|
HEAP32[$420 >> 2] = $414;
|
|
$421 = ($h + 8) | 0;
|
|
HEAP32[$421 >> 2] = $346;
|
|
$422 = ($h + 12) | 0;
|
|
HEAP32[$422 >> 2] = $366;
|
|
$423 = ($h + 16) | 0;
|
|
HEAP32[$423 >> 2] = $386;
|
|
$424 = ($h + 20) | 0;
|
|
HEAP32[$424 >> 2] = $382;
|
|
$425 = ($h + 24) | 0;
|
|
HEAP32[$425 >> 2] = $356;
|
|
$426 = ($h + 28) | 0;
|
|
HEAP32[$426 >> 2] = $376;
|
|
$427 = ($h + 32) | 0;
|
|
HEAP32[$427 >> 2] = $396;
|
|
$428 = ($h + 36) | 0;
|
|
HEAP32[$428 >> 2] = $408;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_fe_sub($h, $f, $g) {
|
|
$h = $h | 0;
|
|
$f = $f | 0;
|
|
$g = $g | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0;
|
|
var $27 = 0,
|
|
$28 = 0,
|
|
$29 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0;
|
|
var $45 = 0,
|
|
$46 = 0,
|
|
$47 = 0,
|
|
$48 = 0,
|
|
$49 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$51 = 0,
|
|
$52 = 0,
|
|
$53 = 0,
|
|
$54 = 0,
|
|
$55 = 0,
|
|
$56 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP32[$f >> 2] | 0;
|
|
$1 = ($f + 4) | 0;
|
|
$2 = HEAP32[$1 >> 2] | 0;
|
|
$3 = ($f + 8) | 0;
|
|
$4 = HEAP32[$3 >> 2] | 0;
|
|
$5 = ($f + 12) | 0;
|
|
$6 = HEAP32[$5 >> 2] | 0;
|
|
$7 = ($f + 16) | 0;
|
|
$8 = HEAP32[$7 >> 2] | 0;
|
|
$9 = ($f + 20) | 0;
|
|
$10 = HEAP32[$9 >> 2] | 0;
|
|
$11 = ($f + 24) | 0;
|
|
$12 = HEAP32[$11 >> 2] | 0;
|
|
$13 = ($f + 28) | 0;
|
|
$14 = HEAP32[$13 >> 2] | 0;
|
|
$15 = ($f + 32) | 0;
|
|
$16 = HEAP32[$15 >> 2] | 0;
|
|
$17 = ($f + 36) | 0;
|
|
$18 = HEAP32[$17 >> 2] | 0;
|
|
$19 = HEAP32[$g >> 2] | 0;
|
|
$20 = ($g + 4) | 0;
|
|
$21 = HEAP32[$20 >> 2] | 0;
|
|
$22 = ($g + 8) | 0;
|
|
$23 = HEAP32[$22 >> 2] | 0;
|
|
$24 = ($g + 12) | 0;
|
|
$25 = HEAP32[$24 >> 2] | 0;
|
|
$26 = ($g + 16) | 0;
|
|
$27 = HEAP32[$26 >> 2] | 0;
|
|
$28 = ($g + 20) | 0;
|
|
$29 = HEAP32[$28 >> 2] | 0;
|
|
$30 = ($g + 24) | 0;
|
|
$31 = HEAP32[$30 >> 2] | 0;
|
|
$32 = ($g + 28) | 0;
|
|
$33 = HEAP32[$32 >> 2] | 0;
|
|
$34 = ($g + 32) | 0;
|
|
$35 = HEAP32[$34 >> 2] | 0;
|
|
$36 = ($g + 36) | 0;
|
|
$37 = HEAP32[$36 >> 2] | 0;
|
|
$38 = ($0 - $19) | 0;
|
|
$39 = ($2 - $21) | 0;
|
|
$40 = ($4 - $23) | 0;
|
|
$41 = ($6 - $25) | 0;
|
|
$42 = ($8 - $27) | 0;
|
|
$43 = ($10 - $29) | 0;
|
|
$44 = ($12 - $31) | 0;
|
|
$45 = ($14 - $33) | 0;
|
|
$46 = ($16 - $35) | 0;
|
|
$47 = ($18 - $37) | 0;
|
|
HEAP32[$h >> 2] = $38;
|
|
$48 = ($h + 4) | 0;
|
|
HEAP32[$48 >> 2] = $39;
|
|
$49 = ($h + 8) | 0;
|
|
HEAP32[$49 >> 2] = $40;
|
|
$50 = ($h + 12) | 0;
|
|
HEAP32[$50 >> 2] = $41;
|
|
$51 = ($h + 16) | 0;
|
|
HEAP32[$51 >> 2] = $42;
|
|
$52 = ($h + 20) | 0;
|
|
HEAP32[$52 >> 2] = $43;
|
|
$53 = ($h + 24) | 0;
|
|
HEAP32[$53 >> 2] = $44;
|
|
$54 = ($h + 28) | 0;
|
|
HEAP32[$54 >> 2] = $45;
|
|
$55 = ($h + 32) | 0;
|
|
HEAP32[$55 >> 2] = $46;
|
|
$56 = ($h + 36) | 0;
|
|
HEAP32[$56 >> 2] = $47;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_fe_tobytes($s, $h) {
|
|
$s = $s | 0;
|
|
$h = $h | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$101 = 0,
|
|
$102 = 0,
|
|
$103 = 0,
|
|
$104 = 0,
|
|
$105 = 0,
|
|
$106 = 0,
|
|
$107 = 0,
|
|
$108 = 0,
|
|
$109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0,
|
|
$115 = 0;
|
|
var $116 = 0,
|
|
$117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0,
|
|
$124 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$131 = 0,
|
|
$132 = 0,
|
|
$133 = 0;
|
|
var $134 = 0,
|
|
$135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$138 = 0,
|
|
$139 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$141 = 0,
|
|
$142 = 0,
|
|
$143 = 0,
|
|
$144 = 0,
|
|
$145 = 0,
|
|
$146 = 0,
|
|
$147 = 0,
|
|
$148 = 0,
|
|
$149 = 0,
|
|
$15 = 0,
|
|
$150 = 0,
|
|
$151 = 0;
|
|
var $152 = 0,
|
|
$153 = 0,
|
|
$154 = 0,
|
|
$155 = 0,
|
|
$156 = 0,
|
|
$157 = 0,
|
|
$158 = 0,
|
|
$159 = 0,
|
|
$16 = 0,
|
|
$160 = 0,
|
|
$161 = 0,
|
|
$162 = 0,
|
|
$163 = 0,
|
|
$164 = 0,
|
|
$165 = 0,
|
|
$166 = 0,
|
|
$167 = 0,
|
|
$168 = 0,
|
|
$169 = 0,
|
|
$17 = 0;
|
|
var $170 = 0,
|
|
$171 = 0,
|
|
$172 = 0,
|
|
$173 = 0,
|
|
$174 = 0,
|
|
$175 = 0,
|
|
$176 = 0,
|
|
$177 = 0,
|
|
$178 = 0,
|
|
$179 = 0,
|
|
$18 = 0,
|
|
$180 = 0,
|
|
$181 = 0,
|
|
$182 = 0,
|
|
$183 = 0,
|
|
$184 = 0,
|
|
$185 = 0,
|
|
$186 = 0,
|
|
$187 = 0,
|
|
$188 = 0;
|
|
var $189 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0,
|
|
$27 = 0,
|
|
$28 = 0,
|
|
$29 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0;
|
|
var $36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0,
|
|
$45 = 0,
|
|
$46 = 0,
|
|
$47 = 0,
|
|
$48 = 0,
|
|
$49 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$51 = 0,
|
|
$52 = 0,
|
|
$53 = 0;
|
|
var $54 = 0,
|
|
$55 = 0,
|
|
$56 = 0,
|
|
$57 = 0,
|
|
$58 = 0,
|
|
$59 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$61 = 0,
|
|
$62 = 0,
|
|
$63 = 0,
|
|
$64 = 0,
|
|
$65 = 0,
|
|
$66 = 0,
|
|
$67 = 0,
|
|
$68 = 0,
|
|
$69 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$71 = 0;
|
|
var $72 = 0,
|
|
$73 = 0,
|
|
$74 = 0,
|
|
$75 = 0,
|
|
$76 = 0,
|
|
$77 = 0,
|
|
$78 = 0,
|
|
$79 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$81 = 0,
|
|
$82 = 0,
|
|
$83 = 0,
|
|
$84 = 0,
|
|
$85 = 0,
|
|
$86 = 0,
|
|
$87 = 0,
|
|
$88 = 0,
|
|
$89 = 0,
|
|
$9 = 0;
|
|
var $90 = 0,
|
|
$91 = 0,
|
|
$92 = 0,
|
|
$93 = 0,
|
|
$94 = 0,
|
|
$95 = 0,
|
|
$96 = 0,
|
|
$97 = 0,
|
|
$98 = 0,
|
|
$99 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP32[$h >> 2] | 0;
|
|
$1 = ($h + 4) | 0;
|
|
$2 = HEAP32[$1 >> 2] | 0;
|
|
$3 = ($h + 8) | 0;
|
|
$4 = HEAP32[$3 >> 2] | 0;
|
|
$5 = ($h + 12) | 0;
|
|
$6 = HEAP32[$5 >> 2] | 0;
|
|
$7 = ($h + 16) | 0;
|
|
$8 = HEAP32[$7 >> 2] | 0;
|
|
$9 = ($h + 20) | 0;
|
|
$10 = HEAP32[$9 >> 2] | 0;
|
|
$11 = ($h + 24) | 0;
|
|
$12 = HEAP32[$11 >> 2] | 0;
|
|
$13 = ($h + 28) | 0;
|
|
$14 = HEAP32[$13 >> 2] | 0;
|
|
$15 = ($h + 32) | 0;
|
|
$16 = HEAP32[$15 >> 2] | 0;
|
|
$17 = ($h + 36) | 0;
|
|
$18 = HEAP32[$17 >> 2] | 0;
|
|
$19 = ($18 * 19) | 0;
|
|
$20 = ($19 + 16777216) | 0;
|
|
$21 = $20 >> 25;
|
|
$22 = ($21 + $0) | 0;
|
|
$23 = $22 >> 26;
|
|
$24 = ($23 + $2) | 0;
|
|
$25 = $24 >> 25;
|
|
$26 = ($25 + $4) | 0;
|
|
$27 = $26 >> 26;
|
|
$28 = ($27 + $6) | 0;
|
|
$29 = $28 >> 25;
|
|
$30 = ($29 + $8) | 0;
|
|
$31 = $30 >> 26;
|
|
$32 = ($31 + $10) | 0;
|
|
$33 = $32 >> 25;
|
|
$34 = ($33 + $12) | 0;
|
|
$35 = $34 >> 26;
|
|
$36 = ($35 + $14) | 0;
|
|
$37 = $36 >> 25;
|
|
$38 = ($37 + $16) | 0;
|
|
$39 = $38 >> 26;
|
|
$40 = ($39 + $18) | 0;
|
|
$41 = $40 >> 25;
|
|
$42 = ($41 * 19) | 0;
|
|
$43 = ($42 + $0) | 0;
|
|
$44 = $43 >> 26;
|
|
$45 = ($44 + $2) | 0;
|
|
$46 = $44 << 26;
|
|
$47 = ($43 - $46) | 0;
|
|
$48 = $45 >> 25;
|
|
$49 = ($48 + $4) | 0;
|
|
$50 = $48 << 25;
|
|
$51 = ($45 - $50) | 0;
|
|
$52 = $49 >> 26;
|
|
$53 = ($52 + $6) | 0;
|
|
$54 = $52 << 26;
|
|
$55 = ($49 - $54) | 0;
|
|
$56 = $53 >> 25;
|
|
$57 = ($56 + $8) | 0;
|
|
$58 = $56 << 25;
|
|
$59 = ($53 - $58) | 0;
|
|
$60 = $57 >> 26;
|
|
$61 = ($60 + $10) | 0;
|
|
$62 = $60 << 26;
|
|
$63 = ($57 - $62) | 0;
|
|
$64 = $61 >> 25;
|
|
$65 = ($64 + $12) | 0;
|
|
$66 = $64 << 25;
|
|
$67 = ($61 - $66) | 0;
|
|
$68 = $65 >> 26;
|
|
$69 = ($68 + $14) | 0;
|
|
$70 = $68 << 26;
|
|
$71 = ($65 - $70) | 0;
|
|
$72 = $69 >> 25;
|
|
$73 = ($72 + $16) | 0;
|
|
$74 = $72 << 25;
|
|
$75 = ($69 - $74) | 0;
|
|
$76 = $73 >> 26;
|
|
$77 = ($76 + $18) | 0;
|
|
$78 = $76 << 26;
|
|
$79 = ($73 - $78) | 0;
|
|
$80 = $77 & 33554431;
|
|
$81 = $47 & 255;
|
|
HEAP8[$s >> 0] = $81;
|
|
$82 = $47 >>> 8;
|
|
$83 = $82 & 255;
|
|
$84 = ($s + 1) | 0;
|
|
HEAP8[$84 >> 0] = $83;
|
|
$85 = $47 >>> 16;
|
|
$86 = $85 & 255;
|
|
$87 = ($s + 2) | 0;
|
|
HEAP8[$87 >> 0] = $86;
|
|
$88 = $47 >>> 24;
|
|
$89 = $51 << 2;
|
|
$90 = $89 | $88;
|
|
$91 = $90 & 255;
|
|
$92 = ($s + 3) | 0;
|
|
HEAP8[$92 >> 0] = $91;
|
|
$93 = $51 >>> 6;
|
|
$94 = $93 & 255;
|
|
$95 = ($s + 4) | 0;
|
|
HEAP8[$95 >> 0] = $94;
|
|
$96 = $51 >>> 14;
|
|
$97 = $96 & 255;
|
|
$98 = ($s + 5) | 0;
|
|
HEAP8[$98 >> 0] = $97;
|
|
$99 = $51 >>> 22;
|
|
$100 = $55 << 3;
|
|
$101 = $100 | $99;
|
|
$102 = $101 & 255;
|
|
$103 = ($s + 6) | 0;
|
|
HEAP8[$103 >> 0] = $102;
|
|
$104 = $55 >>> 5;
|
|
$105 = $104 & 255;
|
|
$106 = ($s + 7) | 0;
|
|
HEAP8[$106 >> 0] = $105;
|
|
$107 = $55 >>> 13;
|
|
$108 = $107 & 255;
|
|
$109 = ($s + 8) | 0;
|
|
HEAP8[$109 >> 0] = $108;
|
|
$110 = $55 >>> 21;
|
|
$111 = $59 << 5;
|
|
$112 = $111 | $110;
|
|
$113 = $112 & 255;
|
|
$114 = ($s + 9) | 0;
|
|
HEAP8[$114 >> 0] = $113;
|
|
$115 = $59 >>> 3;
|
|
$116 = $115 & 255;
|
|
$117 = ($s + 10) | 0;
|
|
HEAP8[$117 >> 0] = $116;
|
|
$118 = $59 >>> 11;
|
|
$119 = $118 & 255;
|
|
$120 = ($s + 11) | 0;
|
|
HEAP8[$120 >> 0] = $119;
|
|
$121 = $59 >>> 19;
|
|
$122 = $63 << 6;
|
|
$123 = $122 | $121;
|
|
$124 = $123 & 255;
|
|
$125 = ($s + 12) | 0;
|
|
HEAP8[$125 >> 0] = $124;
|
|
$126 = $63 >>> 2;
|
|
$127 = $126 & 255;
|
|
$128 = ($s + 13) | 0;
|
|
HEAP8[$128 >> 0] = $127;
|
|
$129 = $63 >>> 10;
|
|
$130 = $129 & 255;
|
|
$131 = ($s + 14) | 0;
|
|
HEAP8[$131 >> 0] = $130;
|
|
$132 = $63 >>> 18;
|
|
$133 = $132 & 255;
|
|
$134 = ($s + 15) | 0;
|
|
HEAP8[$134 >> 0] = $133;
|
|
$135 = $67 & 255;
|
|
$136 = ($s + 16) | 0;
|
|
HEAP8[$136 >> 0] = $135;
|
|
$137 = $67 >>> 8;
|
|
$138 = $137 & 255;
|
|
$139 = ($s + 17) | 0;
|
|
HEAP8[$139 >> 0] = $138;
|
|
$140 = $67 >>> 16;
|
|
$141 = $140 & 255;
|
|
$142 = ($s + 18) | 0;
|
|
HEAP8[$142 >> 0] = $141;
|
|
$143 = $67 >>> 24;
|
|
$144 = $71 << 1;
|
|
$145 = $144 | $143;
|
|
$146 = $145 & 255;
|
|
$147 = ($s + 19) | 0;
|
|
HEAP8[$147 >> 0] = $146;
|
|
$148 = $71 >>> 7;
|
|
$149 = $148 & 255;
|
|
$150 = ($s + 20) | 0;
|
|
HEAP8[$150 >> 0] = $149;
|
|
$151 = $71 >>> 15;
|
|
$152 = $151 & 255;
|
|
$153 = ($s + 21) | 0;
|
|
HEAP8[$153 >> 0] = $152;
|
|
$154 = $71 >>> 23;
|
|
$155 = $75 << 3;
|
|
$156 = $155 | $154;
|
|
$157 = $156 & 255;
|
|
$158 = ($s + 22) | 0;
|
|
HEAP8[$158 >> 0] = $157;
|
|
$159 = $75 >>> 5;
|
|
$160 = $159 & 255;
|
|
$161 = ($s + 23) | 0;
|
|
HEAP8[$161 >> 0] = $160;
|
|
$162 = $75 >>> 13;
|
|
$163 = $162 & 255;
|
|
$164 = ($s + 24) | 0;
|
|
HEAP8[$164 >> 0] = $163;
|
|
$165 = $75 >>> 21;
|
|
$166 = $79 << 4;
|
|
$167 = $166 | $165;
|
|
$168 = $167 & 255;
|
|
$169 = ($s + 25) | 0;
|
|
HEAP8[$169 >> 0] = $168;
|
|
$170 = $79 >>> 4;
|
|
$171 = $170 & 255;
|
|
$172 = ($s + 26) | 0;
|
|
HEAP8[$172 >> 0] = $171;
|
|
$173 = $79 >>> 12;
|
|
$174 = $173 & 255;
|
|
$175 = ($s + 27) | 0;
|
|
HEAP8[$175 >> 0] = $174;
|
|
$176 = $79 >>> 20;
|
|
$177 = $80 << 6;
|
|
$178 = $176 | $177;
|
|
$179 = $178 & 255;
|
|
$180 = ($s + 28) | 0;
|
|
HEAP8[$180 >> 0] = $179;
|
|
$181 = $77 >>> 2;
|
|
$182 = $181 & 255;
|
|
$183 = ($s + 29) | 0;
|
|
HEAP8[$183 >> 0] = $182;
|
|
$184 = $77 >>> 10;
|
|
$185 = $184 & 255;
|
|
$186 = ($s + 30) | 0;
|
|
HEAP8[$186 >> 0] = $185;
|
|
$187 = $80 >>> 18;
|
|
$188 = $187 & 255;
|
|
$189 = ($s + 31) | 0;
|
|
HEAP8[$189 >> 0] = $188;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_add($r, $p, $q) {
|
|
$r = $r | 0;
|
|
$p = $p | 0;
|
|
$q = $q | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$t0 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 48) | 0;
|
|
$t0 = sp;
|
|
$0 = ($p + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_add($r, $0, $p);
|
|
$1 = ($r + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_sub($1, $0, $p);
|
|
$2 = ($r + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($2, $r, $q);
|
|
$3 = ($q + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($1, $1, $3);
|
|
$4 = ($r + 120) | 0;
|
|
$5 = ($q + 120) | 0;
|
|
$6 = ($p + 120) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($4, $5, $6);
|
|
$7 = ($p + 80) | 0;
|
|
$8 = ($q + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($r, $7, $8);
|
|
_crypto_sign_ed25519_ref10_fe_add($t0, $r, $r);
|
|
_crypto_sign_ed25519_ref10_fe_sub($r, $2, $1);
|
|
_crypto_sign_ed25519_ref10_fe_add($1, $2, $1);
|
|
_crypto_sign_ed25519_ref10_fe_add($2, $t0, $4);
|
|
_crypto_sign_ed25519_ref10_fe_sub($4, $t0, $4);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_double_scalarmult_vartime(
|
|
$r,
|
|
$a,
|
|
$A,
|
|
$b
|
|
) {
|
|
$r = $r | 0;
|
|
$a = $a | 0;
|
|
$A = $A | 0;
|
|
$b = $b | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0;
|
|
var $27 = 0,
|
|
$28 = 0,
|
|
$29 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0;
|
|
var $8 = 0,
|
|
$9 = 0,
|
|
$A2 = 0,
|
|
$Ai = 0,
|
|
$aslide = 0,
|
|
$bslide = 0,
|
|
$i$0$lcssa = 0,
|
|
$i$02 = 0,
|
|
$i$11 = 0,
|
|
$t = 0,
|
|
$u = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 2272) | 0;
|
|
$aslide = (sp + 2016) | 0;
|
|
$bslide = (sp + 1760) | 0;
|
|
$Ai = (sp + 480) | 0;
|
|
$t = (sp + 320) | 0;
|
|
$u = (sp + 160) | 0;
|
|
$A2 = sp;
|
|
_slide($aslide, $a);
|
|
_slide($bslide, $b);
|
|
_crypto_sign_ed25519_ref10_ge_p3_to_cached($Ai, $A);
|
|
_crypto_sign_ed25519_ref10_ge_p3_dbl($t, $A);
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($A2, $t);
|
|
_crypto_sign_ed25519_ref10_ge_add($t, $A2, $Ai);
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u, $t);
|
|
$0 = ($Ai + 160) | 0;
|
|
_crypto_sign_ed25519_ref10_ge_p3_to_cached($0, $u);
|
|
_crypto_sign_ed25519_ref10_ge_add($t, $A2, $0);
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u, $t);
|
|
$1 = ($Ai + 320) | 0;
|
|
_crypto_sign_ed25519_ref10_ge_p3_to_cached($1, $u);
|
|
_crypto_sign_ed25519_ref10_ge_add($t, $A2, $1);
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u, $t);
|
|
$2 = ($Ai + 480) | 0;
|
|
_crypto_sign_ed25519_ref10_ge_p3_to_cached($2, $u);
|
|
_crypto_sign_ed25519_ref10_ge_add($t, $A2, $2);
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u, $t);
|
|
$3 = ($Ai + 640) | 0;
|
|
_crypto_sign_ed25519_ref10_ge_p3_to_cached($3, $u);
|
|
_crypto_sign_ed25519_ref10_ge_add($t, $A2, $3);
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u, $t);
|
|
$4 = ($Ai + 800) | 0;
|
|
_crypto_sign_ed25519_ref10_ge_p3_to_cached($4, $u);
|
|
_crypto_sign_ed25519_ref10_ge_add($t, $A2, $4);
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u, $t);
|
|
$5 = ($Ai + 960) | 0;
|
|
_crypto_sign_ed25519_ref10_ge_p3_to_cached($5, $u);
|
|
_crypto_sign_ed25519_ref10_ge_add($t, $A2, $5);
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u, $t);
|
|
$6 = ($Ai + 1120) | 0;
|
|
_crypto_sign_ed25519_ref10_ge_p3_to_cached($6, $u);
|
|
_crypto_sign_ed25519_ref10_ge_p2_0($r);
|
|
$i$02 = 255;
|
|
while (1) {
|
|
$8 = ($aslide + $i$02) | 0;
|
|
$9 = HEAP8[$8 >> 0] | 0;
|
|
$10 = ($9 << 24) >> 24 == 0;
|
|
if (!$10) {
|
|
$i$0$lcssa = $i$02;
|
|
break;
|
|
}
|
|
$11 = ($bslide + $i$02) | 0;
|
|
$12 = HEAP8[$11 >> 0] | 0;
|
|
$13 = ($12 << 24) >> 24 == 0;
|
|
$14 = ($i$02 + -1) | 0;
|
|
if (!$13) {
|
|
$i$0$lcssa = $i$02;
|
|
break;
|
|
}
|
|
$7 = ($i$02 | 0) > 0;
|
|
if ($7) {
|
|
$i$02 = $14;
|
|
} else {
|
|
$i$0$lcssa = $14;
|
|
break;
|
|
}
|
|
}
|
|
$15 = ($i$0$lcssa | 0) > -1;
|
|
if ($15) {
|
|
$i$11 = $i$0$lcssa;
|
|
} else {
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
while (1) {
|
|
_crypto_sign_ed25519_ref10_ge_p2_dbl($t, $r);
|
|
$16 = ($aslide + $i$11) | 0;
|
|
$17 = HEAP8[$16 >> 0] | 0;
|
|
$18 = ($17 << 24) >> 24 > 0;
|
|
if ($18) {
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u, $t);
|
|
$19 = HEAP8[$16 >> 0] | 0;
|
|
$20 = ($19 << 24) >> 24;
|
|
$21 = (($20 | 0) / 2) & -1;
|
|
$22 = ($Ai + (($21 * 160) | 0)) | 0;
|
|
_crypto_sign_ed25519_ref10_ge_add($t, $u, $22);
|
|
} else {
|
|
$23 = ($17 << 24) >> 24 < 0;
|
|
if ($23) {
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u, $t);
|
|
$24 = HEAP8[$16 >> 0] | 0;
|
|
$25 = ($24 << 24) >> 24;
|
|
$26 = (($25 | 0) / -2) & -1;
|
|
$27 = ($Ai + (($26 * 160) | 0)) | 0;
|
|
_crypto_sign_ed25519_ref10_ge_sub($t, $u, $27);
|
|
}
|
|
}
|
|
$28 = ($bslide + $i$11) | 0;
|
|
$29 = HEAP8[$28 >> 0] | 0;
|
|
$30 = ($29 << 24) >> 24 > 0;
|
|
if ($30) {
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u, $t);
|
|
$31 = HEAP8[$28 >> 0] | 0;
|
|
$32 = ($31 << 24) >> 24;
|
|
$33 = (($32 | 0) / 2) & -1;
|
|
$34 = (40 + (($33 * 120) | 0)) | 0;
|
|
_crypto_sign_ed25519_ref10_ge_madd($t, $u, $34);
|
|
} else {
|
|
$35 = ($29 << 24) >> 24 < 0;
|
|
if ($35) {
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u, $t);
|
|
$36 = HEAP8[$28 >> 0] | 0;
|
|
$37 = ($36 << 24) >> 24;
|
|
$38 = (($37 | 0) / -2) & -1;
|
|
$39 = (40 + (($38 * 120) | 0)) | 0;
|
|
_crypto_sign_ed25519_ref10_ge_msub($t, $u, $39);
|
|
}
|
|
}
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p2($r, $t);
|
|
$40 = ($i$11 + -1) | 0;
|
|
$41 = ($i$11 | 0) > 0;
|
|
if ($41) {
|
|
$i$11 = $40;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _slide($r, $a) {
|
|
$r = $r | 0;
|
|
$a = $a | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0;
|
|
var $27 = 0,
|
|
$28 = 0,
|
|
$29 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
$b$03 = 0,
|
|
$exitcond = 0,
|
|
$exitcond10 = 0;
|
|
var $i$08 = 0,
|
|
$i$15 = 0,
|
|
$k$01 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$i$08 = 0;
|
|
while (1) {
|
|
$0 = $i$08 >> 3;
|
|
$1 = ($a + $0) | 0;
|
|
$2 = HEAP8[$1 >> 0] | 0;
|
|
$3 = $2 & 255;
|
|
$4 = $i$08 & 7;
|
|
$5 = $3 >>> $4;
|
|
$6 = $5 & 1;
|
|
$7 = $6 & 255;
|
|
$8 = ($r + $i$08) | 0;
|
|
HEAP8[$8 >> 0] = $7;
|
|
$9 = ($i$08 + 1) | 0;
|
|
$exitcond10 = ($9 | 0) == 256;
|
|
if ($exitcond10) {
|
|
$i$15 = 0;
|
|
break;
|
|
} else {
|
|
$i$08 = $9;
|
|
}
|
|
}
|
|
while (1) {
|
|
$10 = ($r + $i$15) | 0;
|
|
$11 = HEAP8[$10 >> 0] | 0;
|
|
$12 = ($11 << 24) >> 24 == 0;
|
|
L5: do {
|
|
if (!$12) {
|
|
$b$03 = 1;
|
|
while (1) {
|
|
$13 = ($b$03 + $i$15) | 0;
|
|
$14 = ($13 | 0) < 256;
|
|
if (!$14) {
|
|
break L5;
|
|
}
|
|
$15 = ($r + $13) | 0;
|
|
$16 = HEAP8[$15 >> 0] | 0;
|
|
$17 = ($16 << 24) >> 24 == 0;
|
|
L9: do {
|
|
if (!$17) {
|
|
$18 = HEAP8[$10 >> 0] | 0;
|
|
$19 = ($18 << 24) >> 24;
|
|
$20 = ($16 << 24) >> 24;
|
|
$21 = $20 << $b$03;
|
|
$22 = ($19 + $21) | 0;
|
|
$23 = ($22 | 0) < 16;
|
|
if ($23) {
|
|
$24 = $22 & 255;
|
|
HEAP8[$10 >> 0] = $24;
|
|
HEAP8[$15 >> 0] = 0;
|
|
break;
|
|
}
|
|
$25 = ($19 - $21) | 0;
|
|
$26 = ($25 | 0) > -16;
|
|
if (!$26) {
|
|
break L5;
|
|
}
|
|
$27 = $25 & 255;
|
|
HEAP8[$10 >> 0] = $27;
|
|
$28 = ($13 | 0) < 256;
|
|
if ($28) {
|
|
$k$01 = $13;
|
|
while (1) {
|
|
$29 = ($r + $k$01) | 0;
|
|
$30 = HEAP8[$29 >> 0] | 0;
|
|
$31 = ($30 << 24) >> 24 == 0;
|
|
if ($31) {
|
|
break;
|
|
}
|
|
HEAP8[$29 >> 0] = 0;
|
|
$32 = ($k$01 + 1) | 0;
|
|
$33 = ($32 | 0) < 256;
|
|
if ($33) {
|
|
$k$01 = $32;
|
|
} else {
|
|
break L9;
|
|
}
|
|
}
|
|
HEAP8[$29 >> 0] = 1;
|
|
}
|
|
}
|
|
} while (0);
|
|
$34 = ($b$03 + 1) | 0;
|
|
$35 = ($34 | 0) < 7;
|
|
if ($35) {
|
|
$b$03 = $34;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
} while (0);
|
|
$36 = ($i$15 + 1) | 0;
|
|
$exitcond = ($36 | 0) == 256;
|
|
if ($exitcond) {
|
|
break;
|
|
} else {
|
|
$i$15 = $36;
|
|
}
|
|
}
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_frombytes_negate_vartime($h, $s) {
|
|
$h = $h | 0;
|
|
$s = $s | 0;
|
|
var $$0 = 0,
|
|
$0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
$check = 0,
|
|
$u = 0,
|
|
$v = 0,
|
|
$v3 = 0,
|
|
$vxx = 0,
|
|
label = 0;
|
|
var sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 208) | 0;
|
|
$u = (sp + 160) | 0;
|
|
$v = (sp + 120) | 0;
|
|
$v3 = (sp + 80) | 0;
|
|
$vxx = (sp + 40) | 0;
|
|
$check = sp;
|
|
$0 = ($h + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_frombytes($0, $s);
|
|
$1 = ($h + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_1($1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($u, $0);
|
|
_crypto_sign_ed25519_ref10_fe_mul($v, $u, 1000);
|
|
_crypto_sign_ed25519_ref10_fe_sub($u, $u, $1);
|
|
_crypto_sign_ed25519_ref10_fe_add($v, $v, $1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($v3, $v);
|
|
_crypto_sign_ed25519_ref10_fe_mul($v3, $v3, $v);
|
|
_crypto_sign_ed25519_ref10_fe_sq($h, $v3);
|
|
_crypto_sign_ed25519_ref10_fe_mul($h, $h, $v);
|
|
_crypto_sign_ed25519_ref10_fe_mul($h, $h, $u);
|
|
_crypto_sign_ed25519_ref10_fe_pow22523($h, $h);
|
|
_crypto_sign_ed25519_ref10_fe_mul($h, $h, $v3);
|
|
_crypto_sign_ed25519_ref10_fe_mul($h, $h, $u);
|
|
_crypto_sign_ed25519_ref10_fe_sq($vxx, $h);
|
|
_crypto_sign_ed25519_ref10_fe_mul($vxx, $vxx, $v);
|
|
_crypto_sign_ed25519_ref10_fe_sub($check, $vxx, $u);
|
|
$2 = _crypto_sign_ed25519_ref10_fe_isnonzero($check) | 0;
|
|
$3 = ($2 | 0) == 0;
|
|
do {
|
|
if (!$3) {
|
|
_crypto_sign_ed25519_ref10_fe_add($check, $vxx, $u);
|
|
$4 = _crypto_sign_ed25519_ref10_fe_isnonzero($check) | 0;
|
|
$5 = ($4 | 0) == 0;
|
|
if ($5) {
|
|
_crypto_sign_ed25519_ref10_fe_mul($h, $h, 1040);
|
|
break;
|
|
} else {
|
|
$$0 = -1;
|
|
STACKTOP = sp;
|
|
return $$0 | 0;
|
|
}
|
|
}
|
|
} while (0);
|
|
$6 = _crypto_sign_ed25519_ref10_fe_isnegative($h) | 0;
|
|
$7 = ($s + 31) | 0;
|
|
$8 = HEAP8[$7 >> 0] | 0;
|
|
$9 = $8 & 255;
|
|
$10 = $9 >>> 7;
|
|
$11 = ($6 | 0) == ($10 | 0);
|
|
if ($11) {
|
|
_crypto_sign_ed25519_ref10_fe_neg($h, $h);
|
|
}
|
|
$12 = ($h + 120) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($12, $h, $0);
|
|
$$0 = 0;
|
|
STACKTOP = sp;
|
|
return $$0 | 0;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_madd($r, $p, $q) {
|
|
$r = $r | 0;
|
|
$p = $p | 0;
|
|
$q = $q | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$t0 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 48) | 0;
|
|
$t0 = sp;
|
|
$0 = ($p + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_add($r, $0, $p);
|
|
$1 = ($r + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_sub($1, $0, $p);
|
|
$2 = ($r + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($2, $r, $q);
|
|
$3 = ($q + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($1, $1, $3);
|
|
$4 = ($r + 120) | 0;
|
|
$5 = ($q + 80) | 0;
|
|
$6 = ($p + 120) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($4, $5, $6);
|
|
$7 = ($p + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_add($t0, $7, $7);
|
|
_crypto_sign_ed25519_ref10_fe_sub($r, $2, $1);
|
|
_crypto_sign_ed25519_ref10_fe_add($1, $2, $1);
|
|
_crypto_sign_ed25519_ref10_fe_add($2, $t0, $4);
|
|
_crypto_sign_ed25519_ref10_fe_sub($4, $t0, $4);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_msub($r, $p, $q) {
|
|
$r = $r | 0;
|
|
$p = $p | 0;
|
|
$q = $q | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$t0 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 48) | 0;
|
|
$t0 = sp;
|
|
$0 = ($p + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_add($r, $0, $p);
|
|
$1 = ($r + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_sub($1, $0, $p);
|
|
$2 = ($r + 80) | 0;
|
|
$3 = ($q + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($2, $r, $3);
|
|
_crypto_sign_ed25519_ref10_fe_mul($1, $1, $q);
|
|
$4 = ($r + 120) | 0;
|
|
$5 = ($q + 80) | 0;
|
|
$6 = ($p + 120) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($4, $5, $6);
|
|
$7 = ($p + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_add($t0, $7, $7);
|
|
_crypto_sign_ed25519_ref10_fe_sub($r, $2, $1);
|
|
_crypto_sign_ed25519_ref10_fe_add($1, $2, $1);
|
|
_crypto_sign_ed25519_ref10_fe_sub($2, $t0, $4);
|
|
_crypto_sign_ed25519_ref10_fe_add($4, $t0, $4);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_p1p1_to_p2($r, $p) {
|
|
$r = $r | 0;
|
|
$p = $p | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = ($p + 120) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($r, $p, $0);
|
|
$1 = ($r + 40) | 0;
|
|
$2 = ($p + 40) | 0;
|
|
$3 = ($p + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($1, $2, $3);
|
|
$4 = ($r + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($4, $3, $0);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_p1p1_to_p3($r, $p) {
|
|
$r = $r | 0;
|
|
$p = $p | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = ($p + 120) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($r, $p, $0);
|
|
$1 = ($r + 40) | 0;
|
|
$2 = ($p + 40) | 0;
|
|
$3 = ($p + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($1, $2, $3);
|
|
$4 = ($r + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($4, $3, $0);
|
|
$5 = ($r + 120) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($5, $p, $2);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_p2_0($h) {
|
|
$h = $h | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
_crypto_sign_ed25519_ref10_fe_0($h);
|
|
$0 = ($h + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_1($0);
|
|
$1 = ($h + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_1($1);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_p2_dbl($r, $p) {
|
|
$r = $r | 0;
|
|
$p = $p | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$t0 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 48) | 0;
|
|
$t0 = sp;
|
|
_crypto_sign_ed25519_ref10_fe_sq($r, $p);
|
|
$0 = ($r + 80) | 0;
|
|
$1 = ($p + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_sq($0, $1);
|
|
$2 = ($r + 120) | 0;
|
|
$3 = ($p + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_sq2($2, $3);
|
|
$4 = ($r + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_add($4, $p, $1);
|
|
_crypto_sign_ed25519_ref10_fe_sq($t0, $4);
|
|
_crypto_sign_ed25519_ref10_fe_add($4, $0, $r);
|
|
_crypto_sign_ed25519_ref10_fe_sub($0, $0, $r);
|
|
_crypto_sign_ed25519_ref10_fe_sub($r, $t0, $4);
|
|
_crypto_sign_ed25519_ref10_fe_sub($2, $2, $0);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_p3_0($h) {
|
|
$h = $h | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
_crypto_sign_ed25519_ref10_fe_0($h);
|
|
$0 = ($h + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_1($0);
|
|
$1 = ($h + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_1($1);
|
|
$2 = ($h + 120) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_0($2);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_p3_dbl($r, $p) {
|
|
$r = $r | 0;
|
|
$p = $p | 0;
|
|
var $q = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 128) | 0;
|
|
$q = sp;
|
|
_crypto_sign_ed25519_ref10_ge_p3_to_p2($q, $p);
|
|
_crypto_sign_ed25519_ref10_ge_p2_dbl($r, $q);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_p3_to_cached($r, $p) {
|
|
$r = $r | 0;
|
|
$p = $p | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = ($p + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_add($r, $0, $p);
|
|
$1 = ($r + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_sub($1, $0, $p);
|
|
$2 = ($r + 80) | 0;
|
|
$3 = ($p + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_copy($2, $3);
|
|
$4 = ($r + 120) | 0;
|
|
$5 = ($p + 120) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($4, $5, 1080);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_p3_to_p2($r, $p) {
|
|
$r = $r | 0;
|
|
$p = $p | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
_crypto_sign_ed25519_ref10_fe_copy($r, $p);
|
|
$0 = ($r + 40) | 0;
|
|
$1 = ($p + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_copy($0, $1);
|
|
$2 = ($r + 80) | 0;
|
|
$3 = ($p + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_copy($2, $3);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_p3_tobytes($s, $h) {
|
|
$s = $s | 0;
|
|
$h = $h | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$recip = 0,
|
|
$x = 0,
|
|
$y = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 128) | 0;
|
|
$recip = (sp + 80) | 0;
|
|
$x = (sp + 40) | 0;
|
|
$y = sp;
|
|
$0 = ($h + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_invert($recip, $0);
|
|
_crypto_sign_ed25519_ref10_fe_mul($x, $h, $recip);
|
|
$1 = ($h + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($y, $1, $recip);
|
|
_crypto_sign_ed25519_ref10_fe_tobytes($s, $y);
|
|
$2 = _crypto_sign_ed25519_ref10_fe_isnegative($x) | 0;
|
|
$3 = $2 << 7;
|
|
$4 = ($s + 31) | 0;
|
|
$5 = HEAP8[$4 >> 0] | 0;
|
|
$6 = $5 & 255;
|
|
$7 = $6 ^ $3;
|
|
$8 = $7 & 255;
|
|
HEAP8[$4 >> 0] = $8;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_precomp_0($h) {
|
|
$h = $h | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
_crypto_sign_ed25519_ref10_fe_1($h);
|
|
$0 = ($h + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_1($0);
|
|
$1 = ($h + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_0($1);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_scalarmult_base($h, $a) {
|
|
$h = $h | 0;
|
|
$a = $a | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0;
|
|
var $27 = 0,
|
|
$28 = 0,
|
|
$29 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
$carry$04 = 0,
|
|
$e = 0,
|
|
$exitcond = 0,
|
|
$exitcond7 = 0;
|
|
var $i$06 = 0,
|
|
$i$15 = 0,
|
|
$i$23 = 0,
|
|
$i$32 = 0,
|
|
$r = 0,
|
|
$s = 0,
|
|
$sext = 0,
|
|
$sext1 = 0,
|
|
$t = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 464) | 0;
|
|
$e = (sp + 400) | 0;
|
|
$r = (sp + 240) | 0;
|
|
$s = (sp + 120) | 0;
|
|
$t = sp;
|
|
$i$06 = 0;
|
|
while (1) {
|
|
$0 = ($a + $i$06) | 0;
|
|
$1 = HEAP8[$0 >> 0] | 0;
|
|
$2 = $1 & 255;
|
|
$3 = $2 & 15;
|
|
$4 = $3 & 255;
|
|
$5 = $i$06 << 1;
|
|
$6 = ($e + $5) | 0;
|
|
HEAP8[$6 >> 0] = $4;
|
|
$7 = HEAP8[$0 >> 0] | 0;
|
|
$8 = ($7 & 255) >>> 4;
|
|
$9 = $5 | 1;
|
|
$10 = ($e + $9) | 0;
|
|
HEAP8[$10 >> 0] = $8;
|
|
$11 = ($i$06 + 1) | 0;
|
|
$exitcond7 = ($11 | 0) == 32;
|
|
if ($exitcond7) {
|
|
$carry$04 = 0;
|
|
$i$15 = 0;
|
|
break;
|
|
} else {
|
|
$i$06 = $11;
|
|
}
|
|
}
|
|
while (1) {
|
|
$12 = ($e + $i$15) | 0;
|
|
$13 = HEAP8[$12 >> 0] | 0;
|
|
$14 = $13 & 255;
|
|
$15 = ($14 + $carry$04) | 0;
|
|
$sext = $15 << 24;
|
|
$sext1 = ($sext + 134217728) | 0;
|
|
$16 = $sext1 >> 28;
|
|
$17 = $16 << 4;
|
|
$18 = ($15 - $17) | 0;
|
|
$19 = $18 & 255;
|
|
HEAP8[$12 >> 0] = $19;
|
|
$20 = ($i$15 + 1) | 0;
|
|
$exitcond = ($20 | 0) == 63;
|
|
if ($exitcond) {
|
|
break;
|
|
} else {
|
|
$carry$04 = $16;
|
|
$i$15 = $20;
|
|
}
|
|
}
|
|
$21 = ($e + 63) | 0;
|
|
$22 = HEAP8[$21 >> 0] | 0;
|
|
$23 = $22 & 255;
|
|
$24 = ($23 + $16) | 0;
|
|
$25 = $24 & 255;
|
|
HEAP8[$21 >> 0] = $25;
|
|
_crypto_sign_ed25519_ref10_ge_p3_0($h);
|
|
$i$23 = 1;
|
|
while (1) {
|
|
$26 = (($i$23 | 0) / 2) & -1;
|
|
$27 = ($e + $i$23) | 0;
|
|
$28 = HEAP8[$27 >> 0] | 0;
|
|
_select($t, $26, $28);
|
|
_crypto_sign_ed25519_ref10_ge_madd($r, $h, $t);
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($h, $r);
|
|
$29 = ($i$23 + 2) | 0;
|
|
$30 = ($29 | 0) < 64;
|
|
if ($30) {
|
|
$i$23 = $29;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
_crypto_sign_ed25519_ref10_ge_p3_dbl($r, $h);
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p2($s, $r);
|
|
_crypto_sign_ed25519_ref10_ge_p2_dbl($r, $s);
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p2($s, $r);
|
|
_crypto_sign_ed25519_ref10_ge_p2_dbl($r, $s);
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p2($s, $r);
|
|
_crypto_sign_ed25519_ref10_ge_p2_dbl($r, $s);
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($h, $r);
|
|
$i$32 = 0;
|
|
while (1) {
|
|
$31 = (($i$32 | 0) / 2) & -1;
|
|
$32 = ($e + $i$32) | 0;
|
|
$33 = HEAP8[$32 >> 0] | 0;
|
|
_select($t, $31, $33);
|
|
_crypto_sign_ed25519_ref10_ge_madd($r, $h, $t);
|
|
_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($h, $r);
|
|
$34 = ($i$32 + 2) | 0;
|
|
$35 = ($34 | 0) < 64;
|
|
if ($35) {
|
|
$i$32 = $34;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _select($t, $pos, $b) {
|
|
$t = $t | 0;
|
|
$pos = $pos | 0;
|
|
$b = $b | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0;
|
|
var $27 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
$minust = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 128) | 0;
|
|
$minust = sp;
|
|
$0 = _negative($b) | 0;
|
|
$1 = ($b << 24) >> 24;
|
|
$2 = $0 & 255;
|
|
$3 = (0 - $2) | 0;
|
|
$4 = $1 & $3;
|
|
$5 = $4 << 1;
|
|
$6 = ($1 - $5) | 0;
|
|
$7 = $6 & 255;
|
|
_crypto_sign_ed25519_ref10_ge_precomp_0($t);
|
|
$8 = (1120 + (($pos * 960) | 0)) | 0;
|
|
$9 = _equal($7, 1) | 0;
|
|
_cmov($t, $8, $9);
|
|
$10 = (((1120 + (($pos * 960) | 0)) | 0) + 120) | 0;
|
|
$11 = _equal($7, 2) | 0;
|
|
_cmov($t, $10, $11);
|
|
$12 = (((1120 + (($pos * 960) | 0)) | 0) + 240) | 0;
|
|
$13 = _equal($7, 3) | 0;
|
|
_cmov($t, $12, $13);
|
|
$14 = (((1120 + (($pos * 960) | 0)) | 0) + 360) | 0;
|
|
$15 = _equal($7, 4) | 0;
|
|
_cmov($t, $14, $15);
|
|
$16 = (((1120 + (($pos * 960) | 0)) | 0) + 480) | 0;
|
|
$17 = _equal($7, 5) | 0;
|
|
_cmov($t, $16, $17);
|
|
$18 = (((1120 + (($pos * 960) | 0)) | 0) + 600) | 0;
|
|
$19 = _equal($7, 6) | 0;
|
|
_cmov($t, $18, $19);
|
|
$20 = (((1120 + (($pos * 960) | 0)) | 0) + 720) | 0;
|
|
$21 = _equal($7, 7) | 0;
|
|
_cmov($t, $20, $21);
|
|
$22 = (((1120 + (($pos * 960) | 0)) | 0) + 840) | 0;
|
|
$23 = _equal($7, 8) | 0;
|
|
_cmov($t, $22, $23);
|
|
$24 = ($t + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_copy($minust, $24);
|
|
$25 = ($minust + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_copy($25, $t);
|
|
$26 = ($minust + 80) | 0;
|
|
$27 = ($t + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_neg($26, $27);
|
|
_cmov($t, $minust, $0);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _negative($b) {
|
|
$b = $b | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = ($b << 24) >> 24;
|
|
$1 = ($0 | 0) < 0;
|
|
$2 = ($1 << 31) >> 31;
|
|
$3 = _bitshift64Lshr($0 | 0, $2 | 0, 63) | 0;
|
|
$4 = tempRet0;
|
|
$5 = $3 & 255;
|
|
STACKTOP = sp;
|
|
return $5 | 0;
|
|
}
|
|
function _equal($b, $c) {
|
|
$b = $b | 0;
|
|
$c = $c | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = $c ^ $b;
|
|
$1 = $0 & 255;
|
|
$2 = ($1 + -1) | 0;
|
|
$3 = $2 >>> 31;
|
|
$4 = $3 & 255;
|
|
STACKTOP = sp;
|
|
return $4 | 0;
|
|
}
|
|
function _cmov($t, $u, $b) {
|
|
$t = $t | 0;
|
|
$u = $u | 0;
|
|
$b = $b | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = $b & 255;
|
|
_crypto_sign_ed25519_ref10_fe_cmov($t, $u, $0);
|
|
$1 = ($t + 40) | 0;
|
|
$2 = ($u + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_cmov($1, $2, $0);
|
|
$3 = ($t + 80) | 0;
|
|
$4 = ($u + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_cmov($3, $4, $0);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_sub($r, $p, $q) {
|
|
$r = $r | 0;
|
|
$p = $p | 0;
|
|
$q = $q | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$t0 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 48) | 0;
|
|
$t0 = sp;
|
|
$0 = ($p + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_add($r, $0, $p);
|
|
$1 = ($r + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_sub($1, $0, $p);
|
|
$2 = ($r + 80) | 0;
|
|
$3 = ($q + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($2, $r, $3);
|
|
_crypto_sign_ed25519_ref10_fe_mul($1, $1, $q);
|
|
$4 = ($r + 120) | 0;
|
|
$5 = ($q + 120) | 0;
|
|
$6 = ($p + 120) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($4, $5, $6);
|
|
$7 = ($p + 80) | 0;
|
|
$8 = ($q + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($r, $7, $8);
|
|
_crypto_sign_ed25519_ref10_fe_add($t0, $r, $r);
|
|
_crypto_sign_ed25519_ref10_fe_sub($r, $2, $1);
|
|
_crypto_sign_ed25519_ref10_fe_add($1, $2, $1);
|
|
_crypto_sign_ed25519_ref10_fe_sub($2, $t0, $4);
|
|
_crypto_sign_ed25519_ref10_fe_add($4, $t0, $4);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_ge_tobytes($s, $h) {
|
|
$s = $s | 0;
|
|
$h = $h | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$recip = 0,
|
|
$x = 0,
|
|
$y = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 128) | 0;
|
|
$recip = (sp + 80) | 0;
|
|
$x = (sp + 40) | 0;
|
|
$y = sp;
|
|
$0 = ($h + 80) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_invert($recip, $0);
|
|
_crypto_sign_ed25519_ref10_fe_mul($x, $h, $recip);
|
|
$1 = ($h + 40) | 0;
|
|
_crypto_sign_ed25519_ref10_fe_mul($y, $1, $recip);
|
|
_crypto_sign_ed25519_ref10_fe_tobytes($s, $y);
|
|
$2 = _crypto_sign_ed25519_ref10_fe_isnegative($x) | 0;
|
|
$3 = $2 << 7;
|
|
$4 = ($s + 31) | 0;
|
|
$5 = HEAP8[$4 >> 0] | 0;
|
|
$6 = $5 & 255;
|
|
$7 = $6 ^ $3;
|
|
$8 = $7 & 255;
|
|
HEAP8[$4 >> 0] = $8;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _crypto_sign_edwards25519sha512batch_ref10_open(
|
|
$m,
|
|
$mlen,
|
|
$sm,
|
|
$0,
|
|
$1,
|
|
$pk
|
|
) {
|
|
$m = $m | 0;
|
|
$mlen = $mlen | 0;
|
|
$sm = $sm | 0;
|
|
$0 = $0 | 0;
|
|
$1 = $1 | 0;
|
|
$pk = $pk | 0;
|
|
var $$0 = 0,
|
|
$$sum = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0;
|
|
var $27 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
$A = 0,
|
|
$R = 0,
|
|
$h = 0,
|
|
$pkcopy1 = 0,
|
|
$rcheck = 0,
|
|
$rcopy = 0,
|
|
$scopy = 0,
|
|
dest = 0,
|
|
label = 0,
|
|
sp = 0,
|
|
src = 0,
|
|
stop = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 480) | 0;
|
|
$pkcopy1 = (sp + 440) | 0;
|
|
$rcopy = (sp + 408) | 0;
|
|
$scopy = (sp + 376) | 0;
|
|
$h = (sp + 312) | 0;
|
|
$rcheck = (sp + 280) | 0;
|
|
$A = (sp + 120) | 0;
|
|
$R = sp;
|
|
$2 = $1 >>> 0 < 0;
|
|
$3 = $0 >>> 0 < 64;
|
|
$4 = ($1 | 0) == 0;
|
|
$5 = $4 & $3;
|
|
$6 = $2 | $5;
|
|
if (!$6) {
|
|
$7 = ($sm + 63) | 0;
|
|
$8 = HEAP8[$7 >> 0] | 0;
|
|
$9 = ($8 & 255) > 31;
|
|
if (!$9) {
|
|
$10 =
|
|
_crypto_sign_ed25519_ref10_ge_frombytes_negate_vartime($A, $pk) | 0;
|
|
$11 = ($10 | 0) == 0;
|
|
if ($11) {
|
|
dest = ($pkcopy1 + 0) | 0;
|
|
src = ($pk + 0) | 0;
|
|
stop = (dest + 32) | 0;
|
|
do {
|
|
HEAP8[dest >> 0] = HEAP8[src >> 0] | 0;
|
|
dest = (dest + 1) | 0;
|
|
src = (src + 1) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
dest = ($rcopy + 0) | 0;
|
|
src = ($sm + 0) | 0;
|
|
stop = (dest + 32) | 0;
|
|
do {
|
|
HEAP8[dest >> 0] = HEAP8[src >> 0] | 0;
|
|
dest = (dest + 1) | 0;
|
|
src = (src + 1) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
$12 = ($sm + 32) | 0;
|
|
dest = ($scopy + 0) | 0;
|
|
src = ($12 + 0) | 0;
|
|
stop = (dest + 32) | 0;
|
|
do {
|
|
HEAP8[dest >> 0] = HEAP8[src >> 0] | 0;
|
|
dest = (dest + 1) | 0;
|
|
src = (src + 1) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
_memmove($m | 0, $sm | 0, $0 | 0) | 0;
|
|
$13 = ($m + 32) | 0;
|
|
dest = ($13 + 0) | 0;
|
|
src = ($pkcopy1 + 0) | 0;
|
|
stop = (dest + 32) | 0;
|
|
do {
|
|
HEAP8[dest >> 0] = HEAP8[src >> 0] | 0;
|
|
dest = (dest + 1) | 0;
|
|
src = (src + 1) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
_crypto_hash_sha512_ref($h, $m, $0, $1) | 0;
|
|
_crypto_sign_ed25519_ref10_sc_reduce($h);
|
|
_crypto_sign_ed25519_ref10_ge_double_scalarmult_vartime(
|
|
$R,
|
|
$h,
|
|
$A,
|
|
$scopy
|
|
);
|
|
_crypto_sign_ed25519_ref10_ge_tobytes($rcheck, $R);
|
|
$14 = _crypto_verify_32_ref($rcheck, $rcopy) | 0;
|
|
$15 = ($14 | 0) == 0;
|
|
if ($15) {
|
|
$16 = ($m + 64) | 0;
|
|
$17 = _i64Add($0 | 0, $1 | 0, -64, -1) | 0;
|
|
$18 = tempRet0;
|
|
_memmove($m | 0, $16 | 0, $17 | 0) | 0;
|
|
$$sum = ($0 + -64) | 0;
|
|
$19 = ($m + $$sum) | 0;
|
|
dest = ($19 + 0) | 0;
|
|
stop = (dest + 64) | 0;
|
|
do {
|
|
HEAP8[dest >> 0] = 0 | 0;
|
|
dest = (dest + 1) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
$20 = $mlen;
|
|
$21 = $20;
|
|
HEAP32[$21 >> 2] = $17;
|
|
$22 = ($20 + 4) | 0;
|
|
$23 = $22;
|
|
HEAP32[$23 >> 2] = $18;
|
|
$$0 = 0;
|
|
STACKTOP = sp;
|
|
return $$0 | 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$24 = $mlen;
|
|
$25 = $24;
|
|
HEAP32[$25 >> 2] = -1;
|
|
$26 = ($24 + 4) | 0;
|
|
$27 = $26;
|
|
HEAP32[$27 >> 2] = -1;
|
|
_memset($m | 0, 0, $0 | 0) | 0;
|
|
$$0 = -1;
|
|
STACKTOP = sp;
|
|
return $$0 | 0;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_sc_muladd($s, $a, $b, $c) {
|
|
$s = $s | 0;
|
|
$a = $a | 0;
|
|
$b = $b | 0;
|
|
$c = $c | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$1000 = 0,
|
|
$1001 = 0,
|
|
$1002 = 0,
|
|
$1003 = 0,
|
|
$1004 = 0,
|
|
$1005 = 0,
|
|
$1006 = 0,
|
|
$1007 = 0,
|
|
$1008 = 0,
|
|
$1009 = 0,
|
|
$101 = 0,
|
|
$1010 = 0,
|
|
$1011 = 0,
|
|
$1012 = 0,
|
|
$1013 = 0,
|
|
$1014 = 0;
|
|
var $1015 = 0,
|
|
$1016 = 0,
|
|
$1017 = 0,
|
|
$1018 = 0,
|
|
$1019 = 0,
|
|
$102 = 0,
|
|
$1020 = 0,
|
|
$1021 = 0,
|
|
$1022 = 0,
|
|
$1023 = 0,
|
|
$1024 = 0,
|
|
$1025 = 0,
|
|
$1026 = 0,
|
|
$1027 = 0,
|
|
$1028 = 0,
|
|
$1029 = 0,
|
|
$103 = 0,
|
|
$1030 = 0,
|
|
$1031 = 0,
|
|
$1032 = 0;
|
|
var $1033 = 0,
|
|
$1034 = 0,
|
|
$1035 = 0,
|
|
$1036 = 0,
|
|
$1037 = 0,
|
|
$1038 = 0,
|
|
$1039 = 0,
|
|
$104 = 0,
|
|
$1040 = 0,
|
|
$1041 = 0,
|
|
$1042 = 0,
|
|
$1043 = 0,
|
|
$1044 = 0,
|
|
$1045 = 0,
|
|
$1046 = 0,
|
|
$1047 = 0,
|
|
$1048 = 0,
|
|
$1049 = 0,
|
|
$105 = 0,
|
|
$1050 = 0;
|
|
var $1051 = 0,
|
|
$1052 = 0,
|
|
$1053 = 0,
|
|
$1054 = 0,
|
|
$1055 = 0,
|
|
$1056 = 0,
|
|
$1057 = 0,
|
|
$1058 = 0,
|
|
$1059 = 0,
|
|
$106 = 0,
|
|
$1060 = 0,
|
|
$1061 = 0,
|
|
$1062 = 0,
|
|
$1063 = 0,
|
|
$1064 = 0,
|
|
$1065 = 0,
|
|
$1066 = 0,
|
|
$1067 = 0,
|
|
$1068 = 0,
|
|
$1069 = 0;
|
|
var $107 = 0,
|
|
$1070 = 0,
|
|
$1071 = 0,
|
|
$1072 = 0,
|
|
$1073 = 0,
|
|
$1074 = 0,
|
|
$1075 = 0,
|
|
$1076 = 0,
|
|
$1077 = 0,
|
|
$1078 = 0,
|
|
$1079 = 0,
|
|
$108 = 0,
|
|
$1080 = 0,
|
|
$1081 = 0,
|
|
$1082 = 0,
|
|
$1083 = 0,
|
|
$1084 = 0,
|
|
$1085 = 0,
|
|
$1086 = 0,
|
|
$1087 = 0;
|
|
var $1088 = 0,
|
|
$1089 = 0,
|
|
$109 = 0,
|
|
$1090 = 0,
|
|
$1091 = 0,
|
|
$1092 = 0,
|
|
$1093 = 0,
|
|
$1094 = 0,
|
|
$1095 = 0,
|
|
$1096 = 0,
|
|
$1097 = 0,
|
|
$1098 = 0,
|
|
$1099 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$1100 = 0,
|
|
$1101 = 0,
|
|
$1102 = 0,
|
|
$1103 = 0,
|
|
$1104 = 0;
|
|
var $1105 = 0,
|
|
$1106 = 0,
|
|
$1107 = 0,
|
|
$1108 = 0,
|
|
$1109 = 0,
|
|
$111 = 0,
|
|
$1110 = 0,
|
|
$1111 = 0,
|
|
$1112 = 0,
|
|
$1113 = 0,
|
|
$1114 = 0,
|
|
$1115 = 0,
|
|
$1116 = 0,
|
|
$1117 = 0,
|
|
$1118 = 0,
|
|
$1119 = 0,
|
|
$112 = 0,
|
|
$1120 = 0,
|
|
$1121 = 0,
|
|
$1122 = 0;
|
|
var $1123 = 0,
|
|
$1124 = 0,
|
|
$1125 = 0,
|
|
$1126 = 0,
|
|
$1127 = 0,
|
|
$1128 = 0,
|
|
$1129 = 0,
|
|
$113 = 0,
|
|
$1130 = 0,
|
|
$1131 = 0,
|
|
$1132 = 0,
|
|
$1133 = 0,
|
|
$1134 = 0,
|
|
$1135 = 0,
|
|
$1136 = 0,
|
|
$1137 = 0,
|
|
$1138 = 0,
|
|
$1139 = 0,
|
|
$114 = 0,
|
|
$1140 = 0;
|
|
var $1141 = 0,
|
|
$1142 = 0,
|
|
$1143 = 0,
|
|
$1144 = 0,
|
|
$1145 = 0,
|
|
$1146 = 0,
|
|
$1147 = 0,
|
|
$1148 = 0,
|
|
$1149 = 0,
|
|
$115 = 0,
|
|
$1150 = 0,
|
|
$1151 = 0,
|
|
$1152 = 0,
|
|
$1153 = 0,
|
|
$1154 = 0,
|
|
$1155 = 0,
|
|
$1156 = 0,
|
|
$1157 = 0,
|
|
$1158 = 0,
|
|
$1159 = 0;
|
|
var $116 = 0,
|
|
$1160 = 0,
|
|
$1161 = 0,
|
|
$1162 = 0,
|
|
$1163 = 0,
|
|
$1164 = 0,
|
|
$1165 = 0,
|
|
$1166 = 0,
|
|
$1167 = 0,
|
|
$1168 = 0,
|
|
$1169 = 0,
|
|
$117 = 0,
|
|
$1170 = 0,
|
|
$1171 = 0,
|
|
$1172 = 0,
|
|
$1173 = 0,
|
|
$1174 = 0,
|
|
$1175 = 0,
|
|
$1176 = 0,
|
|
$1177 = 0;
|
|
var $1178 = 0,
|
|
$1179 = 0,
|
|
$118 = 0,
|
|
$1180 = 0,
|
|
$1181 = 0,
|
|
$1182 = 0,
|
|
$1183 = 0,
|
|
$1184 = 0,
|
|
$1185 = 0,
|
|
$1186 = 0,
|
|
$1187 = 0,
|
|
$1188 = 0,
|
|
$1189 = 0,
|
|
$119 = 0,
|
|
$1190 = 0,
|
|
$1191 = 0,
|
|
$1192 = 0,
|
|
$1193 = 0,
|
|
$1194 = 0,
|
|
$1195 = 0;
|
|
var $1196 = 0,
|
|
$1197 = 0,
|
|
$1198 = 0,
|
|
$1199 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$1200 = 0,
|
|
$1201 = 0,
|
|
$1202 = 0,
|
|
$1203 = 0,
|
|
$1204 = 0,
|
|
$1205 = 0,
|
|
$1206 = 0,
|
|
$1207 = 0,
|
|
$1208 = 0,
|
|
$1209 = 0,
|
|
$121 = 0,
|
|
$1210 = 0,
|
|
$1211 = 0,
|
|
$1212 = 0;
|
|
var $1213 = 0,
|
|
$1214 = 0,
|
|
$1215 = 0,
|
|
$1216 = 0,
|
|
$1217 = 0,
|
|
$1218 = 0,
|
|
$1219 = 0,
|
|
$122 = 0,
|
|
$1220 = 0,
|
|
$1221 = 0,
|
|
$1222 = 0,
|
|
$1223 = 0,
|
|
$1224 = 0,
|
|
$1225 = 0,
|
|
$1226 = 0,
|
|
$1227 = 0,
|
|
$1228 = 0,
|
|
$1229 = 0,
|
|
$123 = 0,
|
|
$1230 = 0;
|
|
var $1231 = 0,
|
|
$1232 = 0,
|
|
$1233 = 0,
|
|
$1234 = 0,
|
|
$1235 = 0,
|
|
$1236 = 0,
|
|
$1237 = 0,
|
|
$1238 = 0,
|
|
$1239 = 0,
|
|
$124 = 0,
|
|
$1240 = 0,
|
|
$1241 = 0,
|
|
$1242 = 0,
|
|
$1243 = 0,
|
|
$1244 = 0,
|
|
$1245 = 0,
|
|
$1246 = 0,
|
|
$1247 = 0,
|
|
$1248 = 0,
|
|
$1249 = 0;
|
|
var $125 = 0,
|
|
$1250 = 0,
|
|
$1251 = 0,
|
|
$1252 = 0,
|
|
$1253 = 0,
|
|
$1254 = 0,
|
|
$1255 = 0,
|
|
$1256 = 0,
|
|
$1257 = 0,
|
|
$1258 = 0,
|
|
$1259 = 0,
|
|
$126 = 0,
|
|
$1260 = 0,
|
|
$1261 = 0,
|
|
$1262 = 0,
|
|
$1263 = 0,
|
|
$1264 = 0,
|
|
$1265 = 0,
|
|
$1266 = 0,
|
|
$1267 = 0;
|
|
var $1268 = 0,
|
|
$1269 = 0,
|
|
$127 = 0,
|
|
$1270 = 0,
|
|
$1271 = 0,
|
|
$1272 = 0,
|
|
$1273 = 0,
|
|
$1274 = 0,
|
|
$1275 = 0,
|
|
$1276 = 0,
|
|
$1277 = 0,
|
|
$1278 = 0,
|
|
$1279 = 0,
|
|
$128 = 0,
|
|
$1280 = 0,
|
|
$1281 = 0,
|
|
$1282 = 0,
|
|
$1283 = 0,
|
|
$1284 = 0,
|
|
$1285 = 0;
|
|
var $1286 = 0,
|
|
$1287 = 0,
|
|
$1288 = 0,
|
|
$1289 = 0,
|
|
$129 = 0,
|
|
$1290 = 0,
|
|
$1291 = 0,
|
|
$1292 = 0,
|
|
$1293 = 0,
|
|
$1294 = 0,
|
|
$1295 = 0,
|
|
$1296 = 0,
|
|
$1297 = 0,
|
|
$1298 = 0,
|
|
$1299 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$1300 = 0,
|
|
$1301 = 0,
|
|
$1302 = 0;
|
|
var $1303 = 0,
|
|
$1304 = 0,
|
|
$1305 = 0,
|
|
$1306 = 0,
|
|
$1307 = 0,
|
|
$1308 = 0,
|
|
$1309 = 0,
|
|
$131 = 0,
|
|
$1310 = 0,
|
|
$1311 = 0,
|
|
$1312 = 0,
|
|
$1313 = 0,
|
|
$1314 = 0,
|
|
$1315 = 0,
|
|
$1316 = 0,
|
|
$1317 = 0,
|
|
$1318 = 0,
|
|
$1319 = 0,
|
|
$132 = 0,
|
|
$1320 = 0;
|
|
var $1321 = 0,
|
|
$1322 = 0,
|
|
$1323 = 0,
|
|
$1324 = 0,
|
|
$1325 = 0,
|
|
$1326 = 0,
|
|
$1327 = 0,
|
|
$1328 = 0,
|
|
$1329 = 0,
|
|
$133 = 0,
|
|
$1330 = 0,
|
|
$1331 = 0,
|
|
$1332 = 0,
|
|
$1333 = 0,
|
|
$1334 = 0,
|
|
$1335 = 0,
|
|
$1336 = 0,
|
|
$1337 = 0,
|
|
$1338 = 0,
|
|
$1339 = 0;
|
|
var $134 = 0,
|
|
$1340 = 0,
|
|
$1341 = 0,
|
|
$1342 = 0,
|
|
$1343 = 0,
|
|
$1344 = 0,
|
|
$1345 = 0,
|
|
$1346 = 0,
|
|
$1347 = 0,
|
|
$1348 = 0,
|
|
$1349 = 0,
|
|
$135 = 0,
|
|
$1350 = 0,
|
|
$1351 = 0,
|
|
$1352 = 0,
|
|
$1353 = 0,
|
|
$1354 = 0,
|
|
$1355 = 0,
|
|
$1356 = 0,
|
|
$1357 = 0;
|
|
var $1358 = 0,
|
|
$1359 = 0,
|
|
$136 = 0,
|
|
$1360 = 0,
|
|
$1361 = 0,
|
|
$1362 = 0,
|
|
$1363 = 0,
|
|
$1364 = 0,
|
|
$1365 = 0,
|
|
$1366 = 0,
|
|
$1367 = 0,
|
|
$1368 = 0,
|
|
$1369 = 0,
|
|
$137 = 0,
|
|
$1370 = 0,
|
|
$1371 = 0,
|
|
$1372 = 0,
|
|
$1373 = 0,
|
|
$1374 = 0,
|
|
$1375 = 0;
|
|
var $1376 = 0,
|
|
$1377 = 0,
|
|
$1378 = 0,
|
|
$1379 = 0,
|
|
$138 = 0,
|
|
$1380 = 0,
|
|
$1381 = 0,
|
|
$1382 = 0,
|
|
$1383 = 0,
|
|
$1384 = 0,
|
|
$1385 = 0,
|
|
$1386 = 0,
|
|
$1387 = 0,
|
|
$1388 = 0,
|
|
$1389 = 0,
|
|
$139 = 0,
|
|
$1390 = 0,
|
|
$1391 = 0,
|
|
$1392 = 0,
|
|
$1393 = 0;
|
|
var $1394 = 0,
|
|
$1395 = 0,
|
|
$1396 = 0,
|
|
$1397 = 0,
|
|
$1398 = 0,
|
|
$1399 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$1400 = 0,
|
|
$1401 = 0,
|
|
$1402 = 0,
|
|
$1403 = 0,
|
|
$1404 = 0,
|
|
$1405 = 0,
|
|
$1406 = 0,
|
|
$1407 = 0,
|
|
$1408 = 0,
|
|
$1409 = 0,
|
|
$141 = 0,
|
|
$1410 = 0;
|
|
var $1411 = 0,
|
|
$1412 = 0,
|
|
$1413 = 0,
|
|
$1414 = 0,
|
|
$1415 = 0,
|
|
$1416 = 0,
|
|
$1417 = 0,
|
|
$1418 = 0,
|
|
$1419 = 0,
|
|
$142 = 0,
|
|
$1420 = 0,
|
|
$1421 = 0,
|
|
$1422 = 0,
|
|
$1423 = 0,
|
|
$1424 = 0,
|
|
$1425 = 0,
|
|
$1426 = 0,
|
|
$1427 = 0,
|
|
$1428 = 0,
|
|
$1429 = 0;
|
|
var $143 = 0,
|
|
$1430 = 0,
|
|
$1431 = 0,
|
|
$1432 = 0,
|
|
$1433 = 0,
|
|
$1434 = 0,
|
|
$1435 = 0,
|
|
$1436 = 0,
|
|
$1437 = 0,
|
|
$1438 = 0,
|
|
$1439 = 0,
|
|
$144 = 0,
|
|
$1440 = 0,
|
|
$1441 = 0,
|
|
$1442 = 0,
|
|
$1443 = 0,
|
|
$1444 = 0,
|
|
$1445 = 0,
|
|
$1446 = 0,
|
|
$1447 = 0;
|
|
var $1448 = 0,
|
|
$1449 = 0,
|
|
$145 = 0,
|
|
$1450 = 0,
|
|
$1451 = 0,
|
|
$1452 = 0,
|
|
$1453 = 0,
|
|
$1454 = 0,
|
|
$1455 = 0,
|
|
$1456 = 0,
|
|
$1457 = 0,
|
|
$1458 = 0,
|
|
$1459 = 0,
|
|
$146 = 0,
|
|
$1460 = 0,
|
|
$1461 = 0,
|
|
$1462 = 0,
|
|
$1463 = 0,
|
|
$1464 = 0,
|
|
$1465 = 0;
|
|
var $1466 = 0,
|
|
$1467 = 0,
|
|
$1468 = 0,
|
|
$1469 = 0,
|
|
$147 = 0,
|
|
$1470 = 0,
|
|
$1471 = 0,
|
|
$1472 = 0,
|
|
$1473 = 0,
|
|
$1474 = 0,
|
|
$1475 = 0,
|
|
$1476 = 0,
|
|
$1477 = 0,
|
|
$1478 = 0,
|
|
$1479 = 0,
|
|
$148 = 0,
|
|
$1480 = 0,
|
|
$1481 = 0,
|
|
$1482 = 0,
|
|
$1483 = 0;
|
|
var $1484 = 0,
|
|
$1485 = 0,
|
|
$1486 = 0,
|
|
$1487 = 0,
|
|
$1488 = 0,
|
|
$1489 = 0,
|
|
$149 = 0,
|
|
$1490 = 0,
|
|
$1491 = 0,
|
|
$1492 = 0,
|
|
$1493 = 0,
|
|
$1494 = 0,
|
|
$1495 = 0,
|
|
$1496 = 0,
|
|
$1497 = 0,
|
|
$1498 = 0,
|
|
$1499 = 0,
|
|
$15 = 0,
|
|
$150 = 0,
|
|
$1500 = 0;
|
|
var $1501 = 0,
|
|
$1502 = 0,
|
|
$1503 = 0,
|
|
$1504 = 0,
|
|
$1505 = 0,
|
|
$1506 = 0,
|
|
$1507 = 0,
|
|
$1508 = 0,
|
|
$1509 = 0,
|
|
$151 = 0,
|
|
$1510 = 0,
|
|
$1511 = 0,
|
|
$1512 = 0,
|
|
$1513 = 0,
|
|
$1514 = 0,
|
|
$1515 = 0,
|
|
$1516 = 0,
|
|
$1517 = 0,
|
|
$1518 = 0,
|
|
$1519 = 0;
|
|
var $152 = 0,
|
|
$1520 = 0,
|
|
$1521 = 0,
|
|
$1522 = 0,
|
|
$1523 = 0,
|
|
$1524 = 0,
|
|
$1525 = 0,
|
|
$1526 = 0,
|
|
$1527 = 0,
|
|
$1528 = 0,
|
|
$1529 = 0,
|
|
$153 = 0,
|
|
$1530 = 0,
|
|
$1531 = 0,
|
|
$1532 = 0,
|
|
$1533 = 0,
|
|
$1534 = 0,
|
|
$1535 = 0,
|
|
$1536 = 0,
|
|
$1537 = 0;
|
|
var $1538 = 0,
|
|
$1539 = 0,
|
|
$154 = 0,
|
|
$1540 = 0,
|
|
$1541 = 0,
|
|
$1542 = 0,
|
|
$1543 = 0,
|
|
$1544 = 0,
|
|
$1545 = 0,
|
|
$1546 = 0,
|
|
$1547 = 0,
|
|
$1548 = 0,
|
|
$1549 = 0,
|
|
$155 = 0,
|
|
$1550 = 0,
|
|
$1551 = 0,
|
|
$1552 = 0,
|
|
$1553 = 0,
|
|
$1554 = 0,
|
|
$1555 = 0;
|
|
var $1556 = 0,
|
|
$1557 = 0,
|
|
$1558 = 0,
|
|
$1559 = 0,
|
|
$156 = 0,
|
|
$1560 = 0,
|
|
$1561 = 0,
|
|
$1562 = 0,
|
|
$1563 = 0,
|
|
$1564 = 0,
|
|
$1565 = 0,
|
|
$1566 = 0,
|
|
$1567 = 0,
|
|
$1568 = 0,
|
|
$1569 = 0,
|
|
$157 = 0,
|
|
$1570 = 0,
|
|
$1571 = 0,
|
|
$1572 = 0,
|
|
$1573 = 0;
|
|
var $1574 = 0,
|
|
$1575 = 0,
|
|
$1576 = 0,
|
|
$1577 = 0,
|
|
$1578 = 0,
|
|
$1579 = 0,
|
|
$158 = 0,
|
|
$1580 = 0,
|
|
$1581 = 0,
|
|
$1582 = 0,
|
|
$1583 = 0,
|
|
$1584 = 0,
|
|
$1585 = 0,
|
|
$1586 = 0,
|
|
$1587 = 0,
|
|
$1588 = 0,
|
|
$1589 = 0,
|
|
$159 = 0,
|
|
$1590 = 0,
|
|
$1591 = 0;
|
|
var $1592 = 0,
|
|
$1593 = 0,
|
|
$1594 = 0,
|
|
$1595 = 0,
|
|
$1596 = 0,
|
|
$1597 = 0,
|
|
$1598 = 0,
|
|
$1599 = 0,
|
|
$16 = 0,
|
|
$160 = 0,
|
|
$1600 = 0,
|
|
$1601 = 0,
|
|
$1602 = 0,
|
|
$1603 = 0,
|
|
$1604 = 0,
|
|
$1605 = 0,
|
|
$1606 = 0,
|
|
$1607 = 0,
|
|
$1608 = 0,
|
|
$1609 = 0;
|
|
var $161 = 0,
|
|
$1610 = 0,
|
|
$1611 = 0,
|
|
$1612 = 0,
|
|
$1613 = 0,
|
|
$1614 = 0,
|
|
$1615 = 0,
|
|
$1616 = 0,
|
|
$1617 = 0,
|
|
$1618 = 0,
|
|
$1619 = 0,
|
|
$162 = 0,
|
|
$1620 = 0,
|
|
$1621 = 0,
|
|
$1622 = 0,
|
|
$1623 = 0,
|
|
$1624 = 0,
|
|
$1625 = 0,
|
|
$1626 = 0,
|
|
$1627 = 0;
|
|
var $1628 = 0,
|
|
$1629 = 0,
|
|
$163 = 0,
|
|
$1630 = 0,
|
|
$1631 = 0,
|
|
$1632 = 0,
|
|
$1633 = 0,
|
|
$1634 = 0,
|
|
$1635 = 0,
|
|
$1636 = 0,
|
|
$1637 = 0,
|
|
$1638 = 0,
|
|
$1639 = 0,
|
|
$164 = 0,
|
|
$1640 = 0,
|
|
$1641 = 0,
|
|
$1642 = 0,
|
|
$1643 = 0,
|
|
$1644 = 0,
|
|
$1645 = 0;
|
|
var $1646 = 0,
|
|
$1647 = 0,
|
|
$1648 = 0,
|
|
$1649 = 0,
|
|
$165 = 0,
|
|
$1650 = 0,
|
|
$1651 = 0,
|
|
$1652 = 0,
|
|
$1653 = 0,
|
|
$1654 = 0,
|
|
$1655 = 0,
|
|
$1656 = 0,
|
|
$1657 = 0,
|
|
$1658 = 0,
|
|
$1659 = 0,
|
|
$166 = 0,
|
|
$1660 = 0,
|
|
$1661 = 0,
|
|
$1662 = 0,
|
|
$1663 = 0;
|
|
var $1664 = 0,
|
|
$1665 = 0,
|
|
$1666 = 0,
|
|
$1667 = 0,
|
|
$1668 = 0,
|
|
$1669 = 0,
|
|
$167 = 0,
|
|
$1670 = 0,
|
|
$1671 = 0,
|
|
$1672 = 0,
|
|
$1673 = 0,
|
|
$1674 = 0,
|
|
$1675 = 0,
|
|
$1676 = 0,
|
|
$1677 = 0,
|
|
$1678 = 0,
|
|
$1679 = 0,
|
|
$168 = 0,
|
|
$1680 = 0,
|
|
$1681 = 0;
|
|
var $1682 = 0,
|
|
$1683 = 0,
|
|
$1684 = 0,
|
|
$1685 = 0,
|
|
$1686 = 0,
|
|
$1687 = 0,
|
|
$1688 = 0,
|
|
$1689 = 0,
|
|
$169 = 0,
|
|
$1690 = 0,
|
|
$1691 = 0,
|
|
$1692 = 0,
|
|
$1693 = 0,
|
|
$1694 = 0,
|
|
$1695 = 0,
|
|
$1696 = 0,
|
|
$1697 = 0,
|
|
$1698 = 0,
|
|
$1699 = 0,
|
|
$17 = 0;
|
|
var $170 = 0,
|
|
$1700 = 0,
|
|
$1701 = 0,
|
|
$1702 = 0,
|
|
$1703 = 0,
|
|
$1704 = 0,
|
|
$1705 = 0,
|
|
$1706 = 0,
|
|
$1707 = 0,
|
|
$1708 = 0,
|
|
$1709 = 0,
|
|
$171 = 0,
|
|
$1710 = 0,
|
|
$1711 = 0,
|
|
$1712 = 0,
|
|
$1713 = 0,
|
|
$1714 = 0,
|
|
$1715 = 0,
|
|
$1716 = 0,
|
|
$1717 = 0;
|
|
var $1718 = 0,
|
|
$1719 = 0,
|
|
$172 = 0,
|
|
$1720 = 0,
|
|
$1721 = 0,
|
|
$1722 = 0,
|
|
$1723 = 0,
|
|
$1724 = 0,
|
|
$1725 = 0,
|
|
$1726 = 0,
|
|
$1727 = 0,
|
|
$1728 = 0,
|
|
$1729 = 0,
|
|
$173 = 0,
|
|
$1730 = 0,
|
|
$1731 = 0,
|
|
$1732 = 0,
|
|
$1733 = 0,
|
|
$1734 = 0,
|
|
$1735 = 0;
|
|
var $1736 = 0,
|
|
$1737 = 0,
|
|
$1738 = 0,
|
|
$1739 = 0,
|
|
$174 = 0,
|
|
$1740 = 0,
|
|
$1741 = 0,
|
|
$1742 = 0,
|
|
$1743 = 0,
|
|
$1744 = 0,
|
|
$1745 = 0,
|
|
$1746 = 0,
|
|
$1747 = 0,
|
|
$1748 = 0,
|
|
$1749 = 0,
|
|
$175 = 0,
|
|
$1750 = 0,
|
|
$1751 = 0,
|
|
$1752 = 0,
|
|
$1753 = 0;
|
|
var $1754 = 0,
|
|
$1755 = 0,
|
|
$1756 = 0,
|
|
$1757 = 0,
|
|
$1758 = 0,
|
|
$1759 = 0,
|
|
$176 = 0,
|
|
$1760 = 0,
|
|
$1761 = 0,
|
|
$1762 = 0,
|
|
$1763 = 0,
|
|
$1764 = 0,
|
|
$1765 = 0,
|
|
$1766 = 0,
|
|
$1767 = 0,
|
|
$1768 = 0,
|
|
$1769 = 0,
|
|
$177 = 0,
|
|
$1770 = 0,
|
|
$1771 = 0;
|
|
var $1772 = 0,
|
|
$1773 = 0,
|
|
$1774 = 0,
|
|
$1775 = 0,
|
|
$1776 = 0,
|
|
$1777 = 0,
|
|
$1778 = 0,
|
|
$1779 = 0,
|
|
$178 = 0,
|
|
$1780 = 0,
|
|
$1781 = 0,
|
|
$1782 = 0,
|
|
$1783 = 0,
|
|
$1784 = 0,
|
|
$1785 = 0,
|
|
$1786 = 0,
|
|
$1787 = 0,
|
|
$1788 = 0,
|
|
$1789 = 0,
|
|
$179 = 0;
|
|
var $1790 = 0,
|
|
$1791 = 0,
|
|
$1792 = 0,
|
|
$1793 = 0,
|
|
$1794 = 0,
|
|
$1795 = 0,
|
|
$1796 = 0,
|
|
$1797 = 0,
|
|
$1798 = 0,
|
|
$1799 = 0,
|
|
$18 = 0,
|
|
$180 = 0,
|
|
$1800 = 0,
|
|
$1801 = 0,
|
|
$1802 = 0,
|
|
$1803 = 0,
|
|
$1804 = 0,
|
|
$1805 = 0,
|
|
$1806 = 0,
|
|
$1807 = 0;
|
|
var $1808 = 0,
|
|
$1809 = 0,
|
|
$181 = 0,
|
|
$1810 = 0,
|
|
$1811 = 0,
|
|
$1812 = 0,
|
|
$1813 = 0,
|
|
$1814 = 0,
|
|
$1815 = 0,
|
|
$1816 = 0,
|
|
$1817 = 0,
|
|
$1818 = 0,
|
|
$1819 = 0,
|
|
$182 = 0,
|
|
$1820 = 0,
|
|
$1821 = 0,
|
|
$1822 = 0,
|
|
$1823 = 0,
|
|
$1824 = 0,
|
|
$1825 = 0;
|
|
var $1826 = 0,
|
|
$1827 = 0,
|
|
$1828 = 0,
|
|
$1829 = 0,
|
|
$183 = 0,
|
|
$1830 = 0,
|
|
$1831 = 0,
|
|
$1832 = 0,
|
|
$1833 = 0,
|
|
$1834 = 0,
|
|
$1835 = 0,
|
|
$1836 = 0,
|
|
$1837 = 0,
|
|
$1838 = 0,
|
|
$1839 = 0,
|
|
$184 = 0,
|
|
$1840 = 0,
|
|
$1841 = 0,
|
|
$1842 = 0,
|
|
$1843 = 0;
|
|
var $1844 = 0,
|
|
$1845 = 0,
|
|
$1846 = 0,
|
|
$1847 = 0,
|
|
$1848 = 0,
|
|
$1849 = 0,
|
|
$185 = 0,
|
|
$1850 = 0,
|
|
$1851 = 0,
|
|
$1852 = 0,
|
|
$1853 = 0,
|
|
$1854 = 0,
|
|
$1855 = 0,
|
|
$1856 = 0,
|
|
$1857 = 0,
|
|
$1858 = 0,
|
|
$1859 = 0,
|
|
$186 = 0,
|
|
$1860 = 0,
|
|
$1861 = 0;
|
|
var $1862 = 0,
|
|
$1863 = 0,
|
|
$1864 = 0,
|
|
$1865 = 0,
|
|
$1866 = 0,
|
|
$1867 = 0,
|
|
$1868 = 0,
|
|
$1869 = 0,
|
|
$187 = 0,
|
|
$1870 = 0,
|
|
$1871 = 0,
|
|
$1872 = 0,
|
|
$1873 = 0,
|
|
$1874 = 0,
|
|
$1875 = 0,
|
|
$1876 = 0,
|
|
$1877 = 0,
|
|
$1878 = 0,
|
|
$188 = 0,
|
|
$189 = 0;
|
|
var $19 = 0,
|
|
$190 = 0,
|
|
$191 = 0,
|
|
$192 = 0,
|
|
$193 = 0,
|
|
$194 = 0,
|
|
$195 = 0,
|
|
$196 = 0,
|
|
$197 = 0,
|
|
$198 = 0,
|
|
$199 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$200 = 0,
|
|
$201 = 0,
|
|
$202 = 0,
|
|
$203 = 0,
|
|
$204 = 0,
|
|
$205 = 0,
|
|
$206 = 0;
|
|
var $207 = 0,
|
|
$208 = 0,
|
|
$209 = 0,
|
|
$21 = 0,
|
|
$210 = 0,
|
|
$211 = 0,
|
|
$212 = 0,
|
|
$213 = 0,
|
|
$214 = 0,
|
|
$215 = 0,
|
|
$216 = 0,
|
|
$217 = 0,
|
|
$218 = 0,
|
|
$219 = 0,
|
|
$22 = 0,
|
|
$220 = 0,
|
|
$221 = 0,
|
|
$222 = 0,
|
|
$223 = 0,
|
|
$224 = 0;
|
|
var $225 = 0,
|
|
$226 = 0,
|
|
$227 = 0,
|
|
$228 = 0,
|
|
$229 = 0,
|
|
$23 = 0,
|
|
$230 = 0,
|
|
$231 = 0,
|
|
$232 = 0,
|
|
$233 = 0,
|
|
$234 = 0,
|
|
$235 = 0,
|
|
$236 = 0,
|
|
$237 = 0,
|
|
$238 = 0,
|
|
$239 = 0,
|
|
$24 = 0,
|
|
$240 = 0,
|
|
$241 = 0,
|
|
$242 = 0;
|
|
var $243 = 0,
|
|
$244 = 0,
|
|
$245 = 0,
|
|
$246 = 0,
|
|
$247 = 0,
|
|
$248 = 0,
|
|
$249 = 0,
|
|
$25 = 0,
|
|
$250 = 0,
|
|
$251 = 0,
|
|
$252 = 0,
|
|
$253 = 0,
|
|
$254 = 0,
|
|
$255 = 0,
|
|
$256 = 0,
|
|
$257 = 0,
|
|
$258 = 0,
|
|
$259 = 0,
|
|
$26 = 0,
|
|
$260 = 0;
|
|
var $261 = 0,
|
|
$262 = 0,
|
|
$263 = 0,
|
|
$264 = 0,
|
|
$265 = 0,
|
|
$266 = 0,
|
|
$267 = 0,
|
|
$268 = 0,
|
|
$269 = 0,
|
|
$27 = 0,
|
|
$270 = 0,
|
|
$271 = 0,
|
|
$272 = 0,
|
|
$273 = 0,
|
|
$274 = 0,
|
|
$275 = 0,
|
|
$276 = 0,
|
|
$277 = 0,
|
|
$278 = 0,
|
|
$279 = 0;
|
|
var $28 = 0,
|
|
$280 = 0,
|
|
$281 = 0,
|
|
$282 = 0,
|
|
$283 = 0,
|
|
$284 = 0,
|
|
$285 = 0,
|
|
$286 = 0,
|
|
$287 = 0,
|
|
$288 = 0,
|
|
$289 = 0,
|
|
$29 = 0,
|
|
$290 = 0,
|
|
$291 = 0,
|
|
$292 = 0,
|
|
$293 = 0,
|
|
$294 = 0,
|
|
$295 = 0,
|
|
$296 = 0,
|
|
$297 = 0;
|
|
var $298 = 0,
|
|
$299 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$300 = 0,
|
|
$301 = 0,
|
|
$302 = 0,
|
|
$303 = 0,
|
|
$304 = 0,
|
|
$305 = 0,
|
|
$306 = 0,
|
|
$307 = 0,
|
|
$308 = 0,
|
|
$309 = 0,
|
|
$31 = 0,
|
|
$310 = 0,
|
|
$311 = 0,
|
|
$312 = 0,
|
|
$313 = 0,
|
|
$314 = 0;
|
|
var $315 = 0,
|
|
$316 = 0,
|
|
$317 = 0,
|
|
$318 = 0,
|
|
$319 = 0,
|
|
$32 = 0,
|
|
$320 = 0,
|
|
$321 = 0,
|
|
$322 = 0,
|
|
$323 = 0,
|
|
$324 = 0,
|
|
$325 = 0,
|
|
$326 = 0,
|
|
$327 = 0,
|
|
$328 = 0,
|
|
$329 = 0,
|
|
$33 = 0,
|
|
$330 = 0,
|
|
$331 = 0,
|
|
$332 = 0;
|
|
var $333 = 0,
|
|
$334 = 0,
|
|
$335 = 0,
|
|
$336 = 0,
|
|
$337 = 0,
|
|
$338 = 0,
|
|
$339 = 0,
|
|
$34 = 0,
|
|
$340 = 0,
|
|
$341 = 0,
|
|
$342 = 0,
|
|
$343 = 0,
|
|
$344 = 0,
|
|
$345 = 0,
|
|
$346 = 0,
|
|
$347 = 0,
|
|
$348 = 0,
|
|
$349 = 0,
|
|
$35 = 0,
|
|
$350 = 0;
|
|
var $351 = 0,
|
|
$352 = 0,
|
|
$353 = 0,
|
|
$354 = 0,
|
|
$355 = 0,
|
|
$356 = 0,
|
|
$357 = 0,
|
|
$358 = 0,
|
|
$359 = 0,
|
|
$36 = 0,
|
|
$360 = 0,
|
|
$361 = 0,
|
|
$362 = 0,
|
|
$363 = 0,
|
|
$364 = 0,
|
|
$365 = 0,
|
|
$366 = 0,
|
|
$367 = 0,
|
|
$368 = 0,
|
|
$369 = 0;
|
|
var $37 = 0,
|
|
$370 = 0,
|
|
$371 = 0,
|
|
$372 = 0,
|
|
$373 = 0,
|
|
$374 = 0,
|
|
$375 = 0,
|
|
$376 = 0,
|
|
$377 = 0,
|
|
$378 = 0,
|
|
$379 = 0,
|
|
$38 = 0,
|
|
$380 = 0,
|
|
$381 = 0,
|
|
$382 = 0,
|
|
$383 = 0,
|
|
$384 = 0,
|
|
$385 = 0,
|
|
$386 = 0,
|
|
$387 = 0;
|
|
var $388 = 0,
|
|
$389 = 0,
|
|
$39 = 0,
|
|
$390 = 0,
|
|
$391 = 0,
|
|
$392 = 0,
|
|
$393 = 0,
|
|
$394 = 0,
|
|
$395 = 0,
|
|
$396 = 0,
|
|
$397 = 0,
|
|
$398 = 0,
|
|
$399 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$400 = 0,
|
|
$401 = 0,
|
|
$402 = 0,
|
|
$403 = 0,
|
|
$404 = 0;
|
|
var $405 = 0,
|
|
$406 = 0,
|
|
$407 = 0,
|
|
$408 = 0,
|
|
$409 = 0,
|
|
$41 = 0,
|
|
$410 = 0,
|
|
$411 = 0,
|
|
$412 = 0,
|
|
$413 = 0,
|
|
$414 = 0,
|
|
$415 = 0,
|
|
$416 = 0,
|
|
$417 = 0,
|
|
$418 = 0,
|
|
$419 = 0,
|
|
$42 = 0,
|
|
$420 = 0,
|
|
$421 = 0,
|
|
$422 = 0;
|
|
var $423 = 0,
|
|
$424 = 0,
|
|
$425 = 0,
|
|
$426 = 0,
|
|
$427 = 0,
|
|
$428 = 0,
|
|
$429 = 0,
|
|
$43 = 0,
|
|
$430 = 0,
|
|
$431 = 0,
|
|
$432 = 0,
|
|
$433 = 0,
|
|
$434 = 0,
|
|
$435 = 0,
|
|
$436 = 0,
|
|
$437 = 0,
|
|
$438 = 0,
|
|
$439 = 0,
|
|
$44 = 0,
|
|
$440 = 0;
|
|
var $441 = 0,
|
|
$442 = 0,
|
|
$443 = 0,
|
|
$444 = 0,
|
|
$445 = 0,
|
|
$446 = 0,
|
|
$447 = 0,
|
|
$448 = 0,
|
|
$449 = 0,
|
|
$45 = 0,
|
|
$450 = 0,
|
|
$451 = 0,
|
|
$452 = 0,
|
|
$453 = 0,
|
|
$454 = 0,
|
|
$455 = 0,
|
|
$456 = 0,
|
|
$457 = 0,
|
|
$458 = 0,
|
|
$459 = 0;
|
|
var $46 = 0,
|
|
$460 = 0,
|
|
$461 = 0,
|
|
$462 = 0,
|
|
$463 = 0,
|
|
$464 = 0,
|
|
$465 = 0,
|
|
$466 = 0,
|
|
$467 = 0,
|
|
$468 = 0,
|
|
$469 = 0,
|
|
$47 = 0,
|
|
$470 = 0,
|
|
$471 = 0,
|
|
$472 = 0,
|
|
$473 = 0,
|
|
$474 = 0,
|
|
$475 = 0,
|
|
$476 = 0,
|
|
$477 = 0;
|
|
var $478 = 0,
|
|
$479 = 0,
|
|
$48 = 0,
|
|
$480 = 0,
|
|
$481 = 0,
|
|
$482 = 0,
|
|
$483 = 0,
|
|
$484 = 0,
|
|
$485 = 0,
|
|
$486 = 0,
|
|
$487 = 0,
|
|
$488 = 0,
|
|
$489 = 0,
|
|
$49 = 0,
|
|
$490 = 0,
|
|
$491 = 0,
|
|
$492 = 0,
|
|
$493 = 0,
|
|
$494 = 0,
|
|
$495 = 0;
|
|
var $496 = 0,
|
|
$497 = 0,
|
|
$498 = 0,
|
|
$499 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$500 = 0,
|
|
$501 = 0,
|
|
$502 = 0,
|
|
$503 = 0,
|
|
$504 = 0,
|
|
$505 = 0,
|
|
$506 = 0,
|
|
$507 = 0,
|
|
$508 = 0,
|
|
$509 = 0,
|
|
$51 = 0,
|
|
$510 = 0,
|
|
$511 = 0,
|
|
$512 = 0;
|
|
var $513 = 0,
|
|
$514 = 0,
|
|
$515 = 0,
|
|
$516 = 0,
|
|
$517 = 0,
|
|
$518 = 0,
|
|
$519 = 0,
|
|
$52 = 0,
|
|
$520 = 0,
|
|
$521 = 0,
|
|
$522 = 0,
|
|
$523 = 0,
|
|
$524 = 0,
|
|
$525 = 0,
|
|
$526 = 0,
|
|
$527 = 0,
|
|
$528 = 0,
|
|
$529 = 0,
|
|
$53 = 0,
|
|
$530 = 0;
|
|
var $531 = 0,
|
|
$532 = 0,
|
|
$533 = 0,
|
|
$534 = 0,
|
|
$535 = 0,
|
|
$536 = 0,
|
|
$537 = 0,
|
|
$538 = 0,
|
|
$539 = 0,
|
|
$54 = 0,
|
|
$540 = 0,
|
|
$541 = 0,
|
|
$542 = 0,
|
|
$543 = 0,
|
|
$544 = 0,
|
|
$545 = 0,
|
|
$546 = 0,
|
|
$547 = 0,
|
|
$548 = 0,
|
|
$549 = 0;
|
|
var $55 = 0,
|
|
$550 = 0,
|
|
$551 = 0,
|
|
$552 = 0,
|
|
$553 = 0,
|
|
$554 = 0,
|
|
$555 = 0,
|
|
$556 = 0,
|
|
$557 = 0,
|
|
$558 = 0,
|
|
$559 = 0,
|
|
$56 = 0,
|
|
$560 = 0,
|
|
$561 = 0,
|
|
$562 = 0,
|
|
$563 = 0,
|
|
$564 = 0,
|
|
$565 = 0,
|
|
$566 = 0,
|
|
$567 = 0;
|
|
var $568 = 0,
|
|
$569 = 0,
|
|
$57 = 0,
|
|
$570 = 0,
|
|
$571 = 0,
|
|
$572 = 0,
|
|
$573 = 0,
|
|
$574 = 0,
|
|
$575 = 0,
|
|
$576 = 0,
|
|
$577 = 0,
|
|
$578 = 0,
|
|
$579 = 0,
|
|
$58 = 0,
|
|
$580 = 0,
|
|
$581 = 0,
|
|
$582 = 0,
|
|
$583 = 0,
|
|
$584 = 0,
|
|
$585 = 0;
|
|
var $586 = 0,
|
|
$587 = 0,
|
|
$588 = 0,
|
|
$589 = 0,
|
|
$59 = 0,
|
|
$590 = 0,
|
|
$591 = 0,
|
|
$592 = 0,
|
|
$593 = 0,
|
|
$594 = 0,
|
|
$595 = 0,
|
|
$596 = 0,
|
|
$597 = 0,
|
|
$598 = 0,
|
|
$599 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$600 = 0,
|
|
$601 = 0,
|
|
$602 = 0;
|
|
var $603 = 0,
|
|
$604 = 0,
|
|
$605 = 0,
|
|
$606 = 0,
|
|
$607 = 0,
|
|
$608 = 0,
|
|
$609 = 0,
|
|
$61 = 0,
|
|
$610 = 0,
|
|
$611 = 0,
|
|
$612 = 0,
|
|
$613 = 0,
|
|
$614 = 0,
|
|
$615 = 0,
|
|
$616 = 0,
|
|
$617 = 0,
|
|
$618 = 0,
|
|
$619 = 0,
|
|
$62 = 0,
|
|
$620 = 0;
|
|
var $621 = 0,
|
|
$622 = 0,
|
|
$623 = 0,
|
|
$624 = 0,
|
|
$625 = 0,
|
|
$626 = 0,
|
|
$627 = 0,
|
|
$628 = 0,
|
|
$629 = 0,
|
|
$63 = 0,
|
|
$630 = 0,
|
|
$631 = 0,
|
|
$632 = 0,
|
|
$633 = 0,
|
|
$634 = 0,
|
|
$635 = 0,
|
|
$636 = 0,
|
|
$637 = 0,
|
|
$638 = 0,
|
|
$639 = 0;
|
|
var $64 = 0,
|
|
$640 = 0,
|
|
$641 = 0,
|
|
$642 = 0,
|
|
$643 = 0,
|
|
$644 = 0,
|
|
$645 = 0,
|
|
$646 = 0,
|
|
$647 = 0,
|
|
$648 = 0,
|
|
$649 = 0,
|
|
$65 = 0,
|
|
$650 = 0,
|
|
$651 = 0,
|
|
$652 = 0,
|
|
$653 = 0,
|
|
$654 = 0,
|
|
$655 = 0,
|
|
$656 = 0,
|
|
$657 = 0;
|
|
var $658 = 0,
|
|
$659 = 0,
|
|
$66 = 0,
|
|
$660 = 0,
|
|
$661 = 0,
|
|
$662 = 0,
|
|
$663 = 0,
|
|
$664 = 0,
|
|
$665 = 0,
|
|
$666 = 0,
|
|
$667 = 0,
|
|
$668 = 0,
|
|
$669 = 0,
|
|
$67 = 0,
|
|
$670 = 0,
|
|
$671 = 0,
|
|
$672 = 0,
|
|
$673 = 0,
|
|
$674 = 0,
|
|
$675 = 0;
|
|
var $676 = 0,
|
|
$677 = 0,
|
|
$678 = 0,
|
|
$679 = 0,
|
|
$68 = 0,
|
|
$680 = 0,
|
|
$681 = 0,
|
|
$682 = 0,
|
|
$683 = 0,
|
|
$684 = 0,
|
|
$685 = 0,
|
|
$686 = 0,
|
|
$687 = 0,
|
|
$688 = 0,
|
|
$689 = 0,
|
|
$69 = 0,
|
|
$690 = 0,
|
|
$691 = 0,
|
|
$692 = 0,
|
|
$693 = 0;
|
|
var $694 = 0,
|
|
$695 = 0,
|
|
$696 = 0,
|
|
$697 = 0,
|
|
$698 = 0,
|
|
$699 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$700 = 0,
|
|
$701 = 0,
|
|
$702 = 0,
|
|
$703 = 0,
|
|
$704 = 0,
|
|
$705 = 0,
|
|
$706 = 0,
|
|
$707 = 0,
|
|
$708 = 0,
|
|
$709 = 0,
|
|
$71 = 0,
|
|
$710 = 0;
|
|
var $711 = 0,
|
|
$712 = 0,
|
|
$713 = 0,
|
|
$714 = 0,
|
|
$715 = 0,
|
|
$716 = 0,
|
|
$717 = 0,
|
|
$718 = 0,
|
|
$719 = 0,
|
|
$72 = 0,
|
|
$720 = 0,
|
|
$721 = 0,
|
|
$722 = 0,
|
|
$723 = 0,
|
|
$724 = 0,
|
|
$725 = 0,
|
|
$726 = 0,
|
|
$727 = 0,
|
|
$728 = 0,
|
|
$729 = 0;
|
|
var $73 = 0,
|
|
$730 = 0,
|
|
$731 = 0,
|
|
$732 = 0,
|
|
$733 = 0,
|
|
$734 = 0,
|
|
$735 = 0,
|
|
$736 = 0,
|
|
$737 = 0,
|
|
$738 = 0,
|
|
$739 = 0,
|
|
$74 = 0,
|
|
$740 = 0,
|
|
$741 = 0,
|
|
$742 = 0,
|
|
$743 = 0,
|
|
$744 = 0,
|
|
$745 = 0,
|
|
$746 = 0,
|
|
$747 = 0;
|
|
var $748 = 0,
|
|
$749 = 0,
|
|
$75 = 0,
|
|
$750 = 0,
|
|
$751 = 0,
|
|
$752 = 0,
|
|
$753 = 0,
|
|
$754 = 0,
|
|
$755 = 0,
|
|
$756 = 0,
|
|
$757 = 0,
|
|
$758 = 0,
|
|
$759 = 0,
|
|
$76 = 0,
|
|
$760 = 0,
|
|
$761 = 0,
|
|
$762 = 0,
|
|
$763 = 0,
|
|
$764 = 0,
|
|
$765 = 0;
|
|
var $766 = 0,
|
|
$767 = 0,
|
|
$768 = 0,
|
|
$769 = 0,
|
|
$77 = 0,
|
|
$770 = 0,
|
|
$771 = 0,
|
|
$772 = 0,
|
|
$773 = 0,
|
|
$774 = 0,
|
|
$775 = 0,
|
|
$776 = 0,
|
|
$777 = 0,
|
|
$778 = 0,
|
|
$779 = 0,
|
|
$78 = 0,
|
|
$780 = 0,
|
|
$781 = 0,
|
|
$782 = 0,
|
|
$783 = 0;
|
|
var $784 = 0,
|
|
$785 = 0,
|
|
$786 = 0,
|
|
$787 = 0,
|
|
$788 = 0,
|
|
$789 = 0,
|
|
$79 = 0,
|
|
$790 = 0,
|
|
$791 = 0,
|
|
$792 = 0,
|
|
$793 = 0,
|
|
$794 = 0,
|
|
$795 = 0,
|
|
$796 = 0,
|
|
$797 = 0,
|
|
$798 = 0,
|
|
$799 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$800 = 0;
|
|
var $801 = 0,
|
|
$802 = 0,
|
|
$803 = 0,
|
|
$804 = 0,
|
|
$805 = 0,
|
|
$806 = 0,
|
|
$807 = 0,
|
|
$808 = 0,
|
|
$809 = 0,
|
|
$81 = 0,
|
|
$810 = 0,
|
|
$811 = 0,
|
|
$812 = 0,
|
|
$813 = 0,
|
|
$814 = 0,
|
|
$815 = 0,
|
|
$816 = 0,
|
|
$817 = 0,
|
|
$818 = 0,
|
|
$819 = 0;
|
|
var $82 = 0,
|
|
$820 = 0,
|
|
$821 = 0,
|
|
$822 = 0,
|
|
$823 = 0,
|
|
$824 = 0,
|
|
$825 = 0,
|
|
$826 = 0,
|
|
$827 = 0,
|
|
$828 = 0,
|
|
$829 = 0,
|
|
$83 = 0,
|
|
$830 = 0,
|
|
$831 = 0,
|
|
$832 = 0,
|
|
$833 = 0,
|
|
$834 = 0,
|
|
$835 = 0,
|
|
$836 = 0,
|
|
$837 = 0;
|
|
var $838 = 0,
|
|
$839 = 0,
|
|
$84 = 0,
|
|
$840 = 0,
|
|
$841 = 0,
|
|
$842 = 0,
|
|
$843 = 0,
|
|
$844 = 0,
|
|
$845 = 0,
|
|
$846 = 0,
|
|
$847 = 0,
|
|
$848 = 0,
|
|
$849 = 0,
|
|
$85 = 0,
|
|
$850 = 0,
|
|
$851 = 0,
|
|
$852 = 0,
|
|
$853 = 0,
|
|
$854 = 0,
|
|
$855 = 0;
|
|
var $856 = 0,
|
|
$857 = 0,
|
|
$858 = 0,
|
|
$859 = 0,
|
|
$86 = 0,
|
|
$860 = 0,
|
|
$861 = 0,
|
|
$862 = 0,
|
|
$863 = 0,
|
|
$864 = 0,
|
|
$865 = 0,
|
|
$866 = 0,
|
|
$867 = 0,
|
|
$868 = 0,
|
|
$869 = 0,
|
|
$87 = 0,
|
|
$870 = 0,
|
|
$871 = 0,
|
|
$872 = 0,
|
|
$873 = 0;
|
|
var $874 = 0,
|
|
$875 = 0,
|
|
$876 = 0,
|
|
$877 = 0,
|
|
$878 = 0,
|
|
$879 = 0,
|
|
$88 = 0,
|
|
$880 = 0,
|
|
$881 = 0,
|
|
$882 = 0,
|
|
$883 = 0,
|
|
$884 = 0,
|
|
$885 = 0,
|
|
$886 = 0,
|
|
$887 = 0,
|
|
$888 = 0,
|
|
$889 = 0,
|
|
$89 = 0,
|
|
$890 = 0,
|
|
$891 = 0;
|
|
var $892 = 0,
|
|
$893 = 0,
|
|
$894 = 0,
|
|
$895 = 0,
|
|
$896 = 0,
|
|
$897 = 0,
|
|
$898 = 0,
|
|
$899 = 0,
|
|
$9 = 0,
|
|
$90 = 0,
|
|
$900 = 0,
|
|
$901 = 0,
|
|
$902 = 0,
|
|
$903 = 0,
|
|
$904 = 0,
|
|
$905 = 0,
|
|
$906 = 0,
|
|
$907 = 0,
|
|
$908 = 0,
|
|
$909 = 0;
|
|
var $91 = 0,
|
|
$910 = 0,
|
|
$911 = 0,
|
|
$912 = 0,
|
|
$913 = 0,
|
|
$914 = 0,
|
|
$915 = 0,
|
|
$916 = 0,
|
|
$917 = 0,
|
|
$918 = 0,
|
|
$919 = 0,
|
|
$92 = 0,
|
|
$920 = 0,
|
|
$921 = 0,
|
|
$922 = 0,
|
|
$923 = 0,
|
|
$924 = 0,
|
|
$925 = 0,
|
|
$926 = 0,
|
|
$927 = 0;
|
|
var $928 = 0,
|
|
$929 = 0,
|
|
$93 = 0,
|
|
$930 = 0,
|
|
$931 = 0,
|
|
$932 = 0,
|
|
$933 = 0,
|
|
$934 = 0,
|
|
$935 = 0,
|
|
$936 = 0,
|
|
$937 = 0,
|
|
$938 = 0,
|
|
$939 = 0,
|
|
$94 = 0,
|
|
$940 = 0,
|
|
$941 = 0,
|
|
$942 = 0,
|
|
$943 = 0,
|
|
$944 = 0,
|
|
$945 = 0;
|
|
var $946 = 0,
|
|
$947 = 0,
|
|
$948 = 0,
|
|
$949 = 0,
|
|
$95 = 0,
|
|
$950 = 0,
|
|
$951 = 0,
|
|
$952 = 0,
|
|
$953 = 0,
|
|
$954 = 0,
|
|
$955 = 0,
|
|
$956 = 0,
|
|
$957 = 0,
|
|
$958 = 0,
|
|
$959 = 0,
|
|
$96 = 0,
|
|
$960 = 0,
|
|
$961 = 0,
|
|
$962 = 0,
|
|
$963 = 0;
|
|
var $964 = 0,
|
|
$965 = 0,
|
|
$966 = 0,
|
|
$967 = 0,
|
|
$968 = 0,
|
|
$969 = 0,
|
|
$97 = 0,
|
|
$970 = 0,
|
|
$971 = 0,
|
|
$972 = 0,
|
|
$973 = 0,
|
|
$974 = 0,
|
|
$975 = 0,
|
|
$976 = 0,
|
|
$977 = 0,
|
|
$978 = 0,
|
|
$979 = 0,
|
|
$98 = 0,
|
|
$980 = 0,
|
|
$981 = 0;
|
|
var $982 = 0,
|
|
$983 = 0,
|
|
$984 = 0,
|
|
$985 = 0,
|
|
$986 = 0,
|
|
$987 = 0,
|
|
$988 = 0,
|
|
$989 = 0,
|
|
$99 = 0,
|
|
$990 = 0,
|
|
$991 = 0,
|
|
$992 = 0,
|
|
$993 = 0,
|
|
$994 = 0,
|
|
$995 = 0,
|
|
$996 = 0,
|
|
$997 = 0,
|
|
$998 = 0,
|
|
$999 = 0,
|
|
label = 0;
|
|
var sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = _load_347($a) | 0;
|
|
$1 = tempRet0;
|
|
$2 = $0 & 2097151;
|
|
$3 = ($a + 2) | 0;
|
|
$4 = _load_448($3) | 0;
|
|
$5 = tempRet0;
|
|
$6 = _bitshift64Lshr($4 | 0, $5 | 0, 5) | 0;
|
|
$7 = tempRet0;
|
|
$8 = $6 & 2097151;
|
|
$9 = ($a + 5) | 0;
|
|
$10 = _load_347($9) | 0;
|
|
$11 = tempRet0;
|
|
$12 = _bitshift64Lshr($10 | 0, $11 | 0, 2) | 0;
|
|
$13 = tempRet0;
|
|
$14 = $12 & 2097151;
|
|
$15 = ($a + 7) | 0;
|
|
$16 = _load_448($15) | 0;
|
|
$17 = tempRet0;
|
|
$18 = _bitshift64Lshr($16 | 0, $17 | 0, 7) | 0;
|
|
$19 = tempRet0;
|
|
$20 = $18 & 2097151;
|
|
$21 = ($a + 10) | 0;
|
|
$22 = _load_448($21) | 0;
|
|
$23 = tempRet0;
|
|
$24 = _bitshift64Lshr($22 | 0, $23 | 0, 4) | 0;
|
|
$25 = tempRet0;
|
|
$26 = $24 & 2097151;
|
|
$27 = ($a + 13) | 0;
|
|
$28 = _load_347($27) | 0;
|
|
$29 = tempRet0;
|
|
$30 = _bitshift64Lshr($28 | 0, $29 | 0, 1) | 0;
|
|
$31 = tempRet0;
|
|
$32 = $30 & 2097151;
|
|
$33 = ($a + 15) | 0;
|
|
$34 = _load_448($33) | 0;
|
|
$35 = tempRet0;
|
|
$36 = _bitshift64Lshr($34 | 0, $35 | 0, 6) | 0;
|
|
$37 = tempRet0;
|
|
$38 = $36 & 2097151;
|
|
$39 = ($a + 18) | 0;
|
|
$40 = _load_347($39) | 0;
|
|
$41 = tempRet0;
|
|
$42 = _bitshift64Lshr($40 | 0, $41 | 0, 3) | 0;
|
|
$43 = tempRet0;
|
|
$44 = $42 & 2097151;
|
|
$45 = ($a + 21) | 0;
|
|
$46 = _load_347($45) | 0;
|
|
$47 = tempRet0;
|
|
$48 = $46 & 2097151;
|
|
$49 = ($a + 23) | 0;
|
|
$50 = _load_448($49) | 0;
|
|
$51 = tempRet0;
|
|
$52 = _bitshift64Lshr($50 | 0, $51 | 0, 5) | 0;
|
|
$53 = tempRet0;
|
|
$54 = $52 & 2097151;
|
|
$55 = ($a + 26) | 0;
|
|
$56 = _load_347($55) | 0;
|
|
$57 = tempRet0;
|
|
$58 = _bitshift64Lshr($56 | 0, $57 | 0, 2) | 0;
|
|
$59 = tempRet0;
|
|
$60 = $58 & 2097151;
|
|
$61 = ($a + 28) | 0;
|
|
$62 = _load_448($61) | 0;
|
|
$63 = tempRet0;
|
|
$64 = _bitshift64Lshr($62 | 0, $63 | 0, 7) | 0;
|
|
$65 = tempRet0;
|
|
$66 = _load_347($b) | 0;
|
|
$67 = tempRet0;
|
|
$68 = $66 & 2097151;
|
|
$69 = ($b + 2) | 0;
|
|
$70 = _load_448($69) | 0;
|
|
$71 = tempRet0;
|
|
$72 = _bitshift64Lshr($70 | 0, $71 | 0, 5) | 0;
|
|
$73 = tempRet0;
|
|
$74 = $72 & 2097151;
|
|
$75 = ($b + 5) | 0;
|
|
$76 = _load_347($75) | 0;
|
|
$77 = tempRet0;
|
|
$78 = _bitshift64Lshr($76 | 0, $77 | 0, 2) | 0;
|
|
$79 = tempRet0;
|
|
$80 = $78 & 2097151;
|
|
$81 = ($b + 7) | 0;
|
|
$82 = _load_448($81) | 0;
|
|
$83 = tempRet0;
|
|
$84 = _bitshift64Lshr($82 | 0, $83 | 0, 7) | 0;
|
|
$85 = tempRet0;
|
|
$86 = $84 & 2097151;
|
|
$87 = ($b + 10) | 0;
|
|
$88 = _load_448($87) | 0;
|
|
$89 = tempRet0;
|
|
$90 = _bitshift64Lshr($88 | 0, $89 | 0, 4) | 0;
|
|
$91 = tempRet0;
|
|
$92 = $90 & 2097151;
|
|
$93 = ($b + 13) | 0;
|
|
$94 = _load_347($93) | 0;
|
|
$95 = tempRet0;
|
|
$96 = _bitshift64Lshr($94 | 0, $95 | 0, 1) | 0;
|
|
$97 = tempRet0;
|
|
$98 = $96 & 2097151;
|
|
$99 = ($b + 15) | 0;
|
|
$100 = _load_448($99) | 0;
|
|
$101 = tempRet0;
|
|
$102 = _bitshift64Lshr($100 | 0, $101 | 0, 6) | 0;
|
|
$103 = tempRet0;
|
|
$104 = $102 & 2097151;
|
|
$105 = ($b + 18) | 0;
|
|
$106 = _load_347($105) | 0;
|
|
$107 = tempRet0;
|
|
$108 = _bitshift64Lshr($106 | 0, $107 | 0, 3) | 0;
|
|
$109 = tempRet0;
|
|
$110 = $108 & 2097151;
|
|
$111 = ($b + 21) | 0;
|
|
$112 = _load_347($111) | 0;
|
|
$113 = tempRet0;
|
|
$114 = $112 & 2097151;
|
|
$115 = ($b + 23) | 0;
|
|
$116 = _load_448($115) | 0;
|
|
$117 = tempRet0;
|
|
$118 = _bitshift64Lshr($116 | 0, $117 | 0, 5) | 0;
|
|
$119 = tempRet0;
|
|
$120 = $118 & 2097151;
|
|
$121 = ($b + 26) | 0;
|
|
$122 = _load_347($121) | 0;
|
|
$123 = tempRet0;
|
|
$124 = _bitshift64Lshr($122 | 0, $123 | 0, 2) | 0;
|
|
$125 = tempRet0;
|
|
$126 = $124 & 2097151;
|
|
$127 = ($b + 28) | 0;
|
|
$128 = _load_448($127) | 0;
|
|
$129 = tempRet0;
|
|
$130 = _bitshift64Lshr($128 | 0, $129 | 0, 7) | 0;
|
|
$131 = tempRet0;
|
|
$132 = _load_347($c) | 0;
|
|
$133 = tempRet0;
|
|
$134 = $132 & 2097151;
|
|
$135 = ($c + 2) | 0;
|
|
$136 = _load_448($135) | 0;
|
|
$137 = tempRet0;
|
|
$138 = _bitshift64Lshr($136 | 0, $137 | 0, 5) | 0;
|
|
$139 = tempRet0;
|
|
$140 = $138 & 2097151;
|
|
$141 = ($c + 5) | 0;
|
|
$142 = _load_347($141) | 0;
|
|
$143 = tempRet0;
|
|
$144 = _bitshift64Lshr($142 | 0, $143 | 0, 2) | 0;
|
|
$145 = tempRet0;
|
|
$146 = $144 & 2097151;
|
|
$147 = ($c + 7) | 0;
|
|
$148 = _load_448($147) | 0;
|
|
$149 = tempRet0;
|
|
$150 = _bitshift64Lshr($148 | 0, $149 | 0, 7) | 0;
|
|
$151 = tempRet0;
|
|
$152 = $150 & 2097151;
|
|
$153 = ($c + 10) | 0;
|
|
$154 = _load_448($153) | 0;
|
|
$155 = tempRet0;
|
|
$156 = _bitshift64Lshr($154 | 0, $155 | 0, 4) | 0;
|
|
$157 = tempRet0;
|
|
$158 = $156 & 2097151;
|
|
$159 = ($c + 13) | 0;
|
|
$160 = _load_347($159) | 0;
|
|
$161 = tempRet0;
|
|
$162 = _bitshift64Lshr($160 | 0, $161 | 0, 1) | 0;
|
|
$163 = tempRet0;
|
|
$164 = $162 & 2097151;
|
|
$165 = ($c + 15) | 0;
|
|
$166 = _load_448($165) | 0;
|
|
$167 = tempRet0;
|
|
$168 = _bitshift64Lshr($166 | 0, $167 | 0, 6) | 0;
|
|
$169 = tempRet0;
|
|
$170 = $168 & 2097151;
|
|
$171 = ($c + 18) | 0;
|
|
$172 = _load_347($171) | 0;
|
|
$173 = tempRet0;
|
|
$174 = _bitshift64Lshr($172 | 0, $173 | 0, 3) | 0;
|
|
$175 = tempRet0;
|
|
$176 = $174 & 2097151;
|
|
$177 = ($c + 21) | 0;
|
|
$178 = _load_347($177) | 0;
|
|
$179 = tempRet0;
|
|
$180 = $178 & 2097151;
|
|
$181 = ($c + 23) | 0;
|
|
$182 = _load_448($181) | 0;
|
|
$183 = tempRet0;
|
|
$184 = _bitshift64Lshr($182 | 0, $183 | 0, 5) | 0;
|
|
$185 = tempRet0;
|
|
$186 = $184 & 2097151;
|
|
$187 = ($c + 26) | 0;
|
|
$188 = _load_347($187) | 0;
|
|
$189 = tempRet0;
|
|
$190 = _bitshift64Lshr($188 | 0, $189 | 0, 2) | 0;
|
|
$191 = tempRet0;
|
|
$192 = $190 & 2097151;
|
|
$193 = ($c + 28) | 0;
|
|
$194 = _load_448($193) | 0;
|
|
$195 = tempRet0;
|
|
$196 = _bitshift64Lshr($194 | 0, $195 | 0, 7) | 0;
|
|
$197 = tempRet0;
|
|
$198 = ___muldi3($68 | 0, 0, $2 | 0, 0) | 0;
|
|
$199 = tempRet0;
|
|
$200 = _i64Add($134 | 0, 0, $198 | 0, $199 | 0) | 0;
|
|
$201 = tempRet0;
|
|
$202 = ___muldi3($74 | 0, 0, $2 | 0, 0) | 0;
|
|
$203 = tempRet0;
|
|
$204 = ___muldi3($68 | 0, 0, $8 | 0, 0) | 0;
|
|
$205 = tempRet0;
|
|
$206 = ___muldi3($80 | 0, 0, $2 | 0, 0) | 0;
|
|
$207 = tempRet0;
|
|
$208 = ___muldi3($74 | 0, 0, $8 | 0, 0) | 0;
|
|
$209 = tempRet0;
|
|
$210 = ___muldi3($68 | 0, 0, $14 | 0, 0) | 0;
|
|
$211 = tempRet0;
|
|
$212 = _i64Add($208 | 0, $209 | 0, $210 | 0, $211 | 0) | 0;
|
|
$213 = tempRet0;
|
|
$214 = _i64Add($212 | 0, $213 | 0, $206 | 0, $207 | 0) | 0;
|
|
$215 = tempRet0;
|
|
$216 = _i64Add($214 | 0, $215 | 0, $146 | 0, 0) | 0;
|
|
$217 = tempRet0;
|
|
$218 = ___muldi3($86 | 0, 0, $2 | 0, 0) | 0;
|
|
$219 = tempRet0;
|
|
$220 = ___muldi3($80 | 0, 0, $8 | 0, 0) | 0;
|
|
$221 = tempRet0;
|
|
$222 = ___muldi3($74 | 0, 0, $14 | 0, 0) | 0;
|
|
$223 = tempRet0;
|
|
$224 = ___muldi3($68 | 0, 0, $20 | 0, 0) | 0;
|
|
$225 = tempRet0;
|
|
$226 = ___muldi3($92 | 0, 0, $2 | 0, 0) | 0;
|
|
$227 = tempRet0;
|
|
$228 = ___muldi3($86 | 0, 0, $8 | 0, 0) | 0;
|
|
$229 = tempRet0;
|
|
$230 = ___muldi3($80 | 0, 0, $14 | 0, 0) | 0;
|
|
$231 = tempRet0;
|
|
$232 = ___muldi3($74 | 0, 0, $20 | 0, 0) | 0;
|
|
$233 = tempRet0;
|
|
$234 = ___muldi3($68 | 0, 0, $26 | 0, 0) | 0;
|
|
$235 = tempRet0;
|
|
$236 = _i64Add($232 | 0, $233 | 0, $234 | 0, $235 | 0) | 0;
|
|
$237 = tempRet0;
|
|
$238 = _i64Add($236 | 0, $237 | 0, $230 | 0, $231 | 0) | 0;
|
|
$239 = tempRet0;
|
|
$240 = _i64Add($238 | 0, $239 | 0, $228 | 0, $229 | 0) | 0;
|
|
$241 = tempRet0;
|
|
$242 = _i64Add($240 | 0, $241 | 0, $226 | 0, $227 | 0) | 0;
|
|
$243 = tempRet0;
|
|
$244 = _i64Add($242 | 0, $243 | 0, $158 | 0, 0) | 0;
|
|
$245 = tempRet0;
|
|
$246 = ___muldi3($98 | 0, 0, $2 | 0, 0) | 0;
|
|
$247 = tempRet0;
|
|
$248 = ___muldi3($92 | 0, 0, $8 | 0, 0) | 0;
|
|
$249 = tempRet0;
|
|
$250 = ___muldi3($86 | 0, 0, $14 | 0, 0) | 0;
|
|
$251 = tempRet0;
|
|
$252 = ___muldi3($80 | 0, 0, $20 | 0, 0) | 0;
|
|
$253 = tempRet0;
|
|
$254 = ___muldi3($74 | 0, 0, $26 | 0, 0) | 0;
|
|
$255 = tempRet0;
|
|
$256 = ___muldi3($68 | 0, 0, $32 | 0, 0) | 0;
|
|
$257 = tempRet0;
|
|
$258 = ___muldi3($104 | 0, 0, $2 | 0, 0) | 0;
|
|
$259 = tempRet0;
|
|
$260 = ___muldi3($98 | 0, 0, $8 | 0, 0) | 0;
|
|
$261 = tempRet0;
|
|
$262 = ___muldi3($92 | 0, 0, $14 | 0, 0) | 0;
|
|
$263 = tempRet0;
|
|
$264 = ___muldi3($86 | 0, 0, $20 | 0, 0) | 0;
|
|
$265 = tempRet0;
|
|
$266 = ___muldi3($80 | 0, 0, $26 | 0, 0) | 0;
|
|
$267 = tempRet0;
|
|
$268 = ___muldi3($74 | 0, 0, $32 | 0, 0) | 0;
|
|
$269 = tempRet0;
|
|
$270 = ___muldi3($68 | 0, 0, $38 | 0, 0) | 0;
|
|
$271 = tempRet0;
|
|
$272 = _i64Add($268 | 0, $269 | 0, $270 | 0, $271 | 0) | 0;
|
|
$273 = tempRet0;
|
|
$274 = _i64Add($272 | 0, $273 | 0, $266 | 0, $267 | 0) | 0;
|
|
$275 = tempRet0;
|
|
$276 = _i64Add($274 | 0, $275 | 0, $264 | 0, $265 | 0) | 0;
|
|
$277 = tempRet0;
|
|
$278 = _i64Add($276 | 0, $277 | 0, $262 | 0, $263 | 0) | 0;
|
|
$279 = tempRet0;
|
|
$280 = _i64Add($278 | 0, $279 | 0, $260 | 0, $261 | 0) | 0;
|
|
$281 = tempRet0;
|
|
$282 = _i64Add($280 | 0, $281 | 0, $258 | 0, $259 | 0) | 0;
|
|
$283 = tempRet0;
|
|
$284 = _i64Add($282 | 0, $283 | 0, $170 | 0, 0) | 0;
|
|
$285 = tempRet0;
|
|
$286 = ___muldi3($110 | 0, 0, $2 | 0, 0) | 0;
|
|
$287 = tempRet0;
|
|
$288 = ___muldi3($104 | 0, 0, $8 | 0, 0) | 0;
|
|
$289 = tempRet0;
|
|
$290 = ___muldi3($98 | 0, 0, $14 | 0, 0) | 0;
|
|
$291 = tempRet0;
|
|
$292 = ___muldi3($92 | 0, 0, $20 | 0, 0) | 0;
|
|
$293 = tempRet0;
|
|
$294 = ___muldi3($86 | 0, 0, $26 | 0, 0) | 0;
|
|
$295 = tempRet0;
|
|
$296 = ___muldi3($80 | 0, 0, $32 | 0, 0) | 0;
|
|
$297 = tempRet0;
|
|
$298 = ___muldi3($74 | 0, 0, $38 | 0, 0) | 0;
|
|
$299 = tempRet0;
|
|
$300 = ___muldi3($68 | 0, 0, $44 | 0, 0) | 0;
|
|
$301 = tempRet0;
|
|
$302 = ___muldi3($114 | 0, 0, $2 | 0, 0) | 0;
|
|
$303 = tempRet0;
|
|
$304 = ___muldi3($110 | 0, 0, $8 | 0, 0) | 0;
|
|
$305 = tempRet0;
|
|
$306 = ___muldi3($104 | 0, 0, $14 | 0, 0) | 0;
|
|
$307 = tempRet0;
|
|
$308 = ___muldi3($98 | 0, 0, $20 | 0, 0) | 0;
|
|
$309 = tempRet0;
|
|
$310 = ___muldi3($92 | 0, 0, $26 | 0, 0) | 0;
|
|
$311 = tempRet0;
|
|
$312 = ___muldi3($86 | 0, 0, $32 | 0, 0) | 0;
|
|
$313 = tempRet0;
|
|
$314 = ___muldi3($80 | 0, 0, $38 | 0, 0) | 0;
|
|
$315 = tempRet0;
|
|
$316 = ___muldi3($74 | 0, 0, $44 | 0, 0) | 0;
|
|
$317 = tempRet0;
|
|
$318 = ___muldi3($68 | 0, 0, $48 | 0, 0) | 0;
|
|
$319 = tempRet0;
|
|
$320 = _i64Add($316 | 0, $317 | 0, $318 | 0, $319 | 0) | 0;
|
|
$321 = tempRet0;
|
|
$322 = _i64Add($320 | 0, $321 | 0, $314 | 0, $315 | 0) | 0;
|
|
$323 = tempRet0;
|
|
$324 = _i64Add($322 | 0, $323 | 0, $312 | 0, $313 | 0) | 0;
|
|
$325 = tempRet0;
|
|
$326 = _i64Add($324 | 0, $325 | 0, $310 | 0, $311 | 0) | 0;
|
|
$327 = tempRet0;
|
|
$328 = _i64Add($326 | 0, $327 | 0, $308 | 0, $309 | 0) | 0;
|
|
$329 = tempRet0;
|
|
$330 = _i64Add($328 | 0, $329 | 0, $306 | 0, $307 | 0) | 0;
|
|
$331 = tempRet0;
|
|
$332 = _i64Add($330 | 0, $331 | 0, $302 | 0, $303 | 0) | 0;
|
|
$333 = tempRet0;
|
|
$334 = _i64Add($332 | 0, $333 | 0, $304 | 0, $305 | 0) | 0;
|
|
$335 = tempRet0;
|
|
$336 = _i64Add($334 | 0, $335 | 0, $180 | 0, 0) | 0;
|
|
$337 = tempRet0;
|
|
$338 = ___muldi3($120 | 0, 0, $2 | 0, 0) | 0;
|
|
$339 = tempRet0;
|
|
$340 = ___muldi3($114 | 0, 0, $8 | 0, 0) | 0;
|
|
$341 = tempRet0;
|
|
$342 = ___muldi3($110 | 0, 0, $14 | 0, 0) | 0;
|
|
$343 = tempRet0;
|
|
$344 = ___muldi3($104 | 0, 0, $20 | 0, 0) | 0;
|
|
$345 = tempRet0;
|
|
$346 = ___muldi3($98 | 0, 0, $26 | 0, 0) | 0;
|
|
$347 = tempRet0;
|
|
$348 = ___muldi3($92 | 0, 0, $32 | 0, 0) | 0;
|
|
$349 = tempRet0;
|
|
$350 = ___muldi3($86 | 0, 0, $38 | 0, 0) | 0;
|
|
$351 = tempRet0;
|
|
$352 = ___muldi3($80 | 0, 0, $44 | 0, 0) | 0;
|
|
$353 = tempRet0;
|
|
$354 = ___muldi3($74 | 0, 0, $48 | 0, 0) | 0;
|
|
$355 = tempRet0;
|
|
$356 = ___muldi3($68 | 0, 0, $54 | 0, 0) | 0;
|
|
$357 = tempRet0;
|
|
$358 = ___muldi3($126 | 0, 0, $2 | 0, 0) | 0;
|
|
$359 = tempRet0;
|
|
$360 = ___muldi3($120 | 0, 0, $8 | 0, 0) | 0;
|
|
$361 = tempRet0;
|
|
$362 = ___muldi3($114 | 0, 0, $14 | 0, 0) | 0;
|
|
$363 = tempRet0;
|
|
$364 = ___muldi3($110 | 0, 0, $20 | 0, 0) | 0;
|
|
$365 = tempRet0;
|
|
$366 = ___muldi3($104 | 0, 0, $26 | 0, 0) | 0;
|
|
$367 = tempRet0;
|
|
$368 = ___muldi3($98 | 0, 0, $32 | 0, 0) | 0;
|
|
$369 = tempRet0;
|
|
$370 = ___muldi3($92 | 0, 0, $38 | 0, 0) | 0;
|
|
$371 = tempRet0;
|
|
$372 = ___muldi3($86 | 0, 0, $44 | 0, 0) | 0;
|
|
$373 = tempRet0;
|
|
$374 = ___muldi3($80 | 0, 0, $48 | 0, 0) | 0;
|
|
$375 = tempRet0;
|
|
$376 = ___muldi3($74 | 0, 0, $54 | 0, 0) | 0;
|
|
$377 = tempRet0;
|
|
$378 = ___muldi3($68 | 0, 0, $60 | 0, 0) | 0;
|
|
$379 = tempRet0;
|
|
$380 = _i64Add($376 | 0, $377 | 0, $378 | 0, $379 | 0) | 0;
|
|
$381 = tempRet0;
|
|
$382 = _i64Add($380 | 0, $381 | 0, $374 | 0, $375 | 0) | 0;
|
|
$383 = tempRet0;
|
|
$384 = _i64Add($382 | 0, $383 | 0, $372 | 0, $373 | 0) | 0;
|
|
$385 = tempRet0;
|
|
$386 = _i64Add($384 | 0, $385 | 0, $370 | 0, $371 | 0) | 0;
|
|
$387 = tempRet0;
|
|
$388 = _i64Add($386 | 0, $387 | 0, $368 | 0, $369 | 0) | 0;
|
|
$389 = tempRet0;
|
|
$390 = _i64Add($388 | 0, $389 | 0, $366 | 0, $367 | 0) | 0;
|
|
$391 = tempRet0;
|
|
$392 = _i64Add($390 | 0, $391 | 0, $362 | 0, $363 | 0) | 0;
|
|
$393 = tempRet0;
|
|
$394 = _i64Add($392 | 0, $393 | 0, $364 | 0, $365 | 0) | 0;
|
|
$395 = tempRet0;
|
|
$396 = _i64Add($394 | 0, $395 | 0, $360 | 0, $361 | 0) | 0;
|
|
$397 = tempRet0;
|
|
$398 = _i64Add($396 | 0, $397 | 0, $358 | 0, $359 | 0) | 0;
|
|
$399 = tempRet0;
|
|
$400 = _i64Add($398 | 0, $399 | 0, $192 | 0, 0) | 0;
|
|
$401 = tempRet0;
|
|
$402 = ___muldi3($130 | 0, $131 | 0, $2 | 0, 0) | 0;
|
|
$403 = tempRet0;
|
|
$404 = ___muldi3($126 | 0, 0, $8 | 0, 0) | 0;
|
|
$405 = tempRet0;
|
|
$406 = ___muldi3($120 | 0, 0, $14 | 0, 0) | 0;
|
|
$407 = tempRet0;
|
|
$408 = ___muldi3($114 | 0, 0, $20 | 0, 0) | 0;
|
|
$409 = tempRet0;
|
|
$410 = ___muldi3($110 | 0, 0, $26 | 0, 0) | 0;
|
|
$411 = tempRet0;
|
|
$412 = ___muldi3($104 | 0, 0, $32 | 0, 0) | 0;
|
|
$413 = tempRet0;
|
|
$414 = ___muldi3($98 | 0, 0, $38 | 0, 0) | 0;
|
|
$415 = tempRet0;
|
|
$416 = ___muldi3($92 | 0, 0, $44 | 0, 0) | 0;
|
|
$417 = tempRet0;
|
|
$418 = ___muldi3($86 | 0, 0, $48 | 0, 0) | 0;
|
|
$419 = tempRet0;
|
|
$420 = ___muldi3($80 | 0, 0, $54 | 0, 0) | 0;
|
|
$421 = tempRet0;
|
|
$422 = ___muldi3($74 | 0, 0, $60 | 0, 0) | 0;
|
|
$423 = tempRet0;
|
|
$424 = ___muldi3($68 | 0, 0, $64 | 0, $65 | 0) | 0;
|
|
$425 = tempRet0;
|
|
$426 = ___muldi3($130 | 0, $131 | 0, $8 | 0, 0) | 0;
|
|
$427 = tempRet0;
|
|
$428 = ___muldi3($126 | 0, 0, $14 | 0, 0) | 0;
|
|
$429 = tempRet0;
|
|
$430 = ___muldi3($120 | 0, 0, $20 | 0, 0) | 0;
|
|
$431 = tempRet0;
|
|
$432 = ___muldi3($114 | 0, 0, $26 | 0, 0) | 0;
|
|
$433 = tempRet0;
|
|
$434 = ___muldi3($110 | 0, 0, $32 | 0, 0) | 0;
|
|
$435 = tempRet0;
|
|
$436 = ___muldi3($104 | 0, 0, $38 | 0, 0) | 0;
|
|
$437 = tempRet0;
|
|
$438 = ___muldi3($98 | 0, 0, $44 | 0, 0) | 0;
|
|
$439 = tempRet0;
|
|
$440 = ___muldi3($92 | 0, 0, $48 | 0, 0) | 0;
|
|
$441 = tempRet0;
|
|
$442 = ___muldi3($86 | 0, 0, $54 | 0, 0) | 0;
|
|
$443 = tempRet0;
|
|
$444 = ___muldi3($80 | 0, 0, $60 | 0, 0) | 0;
|
|
$445 = tempRet0;
|
|
$446 = ___muldi3($74 | 0, 0, $64 | 0, $65 | 0) | 0;
|
|
$447 = tempRet0;
|
|
$448 = _i64Add($444 | 0, $445 | 0, $446 | 0, $447 | 0) | 0;
|
|
$449 = tempRet0;
|
|
$450 = _i64Add($448 | 0, $449 | 0, $442 | 0, $443 | 0) | 0;
|
|
$451 = tempRet0;
|
|
$452 = _i64Add($450 | 0, $451 | 0, $440 | 0, $441 | 0) | 0;
|
|
$453 = tempRet0;
|
|
$454 = _i64Add($452 | 0, $453 | 0, $438 | 0, $439 | 0) | 0;
|
|
$455 = tempRet0;
|
|
$456 = _i64Add($454 | 0, $455 | 0, $436 | 0, $437 | 0) | 0;
|
|
$457 = tempRet0;
|
|
$458 = _i64Add($456 | 0, $457 | 0, $432 | 0, $433 | 0) | 0;
|
|
$459 = tempRet0;
|
|
$460 = _i64Add($458 | 0, $459 | 0, $434 | 0, $435 | 0) | 0;
|
|
$461 = tempRet0;
|
|
$462 = _i64Add($460 | 0, $461 | 0, $430 | 0, $431 | 0) | 0;
|
|
$463 = tempRet0;
|
|
$464 = _i64Add($462 | 0, $463 | 0, $428 | 0, $429 | 0) | 0;
|
|
$465 = tempRet0;
|
|
$466 = _i64Add($464 | 0, $465 | 0, $426 | 0, $427 | 0) | 0;
|
|
$467 = tempRet0;
|
|
$468 = ___muldi3($130 | 0, $131 | 0, $14 | 0, 0) | 0;
|
|
$469 = tempRet0;
|
|
$470 = ___muldi3($126 | 0, 0, $20 | 0, 0) | 0;
|
|
$471 = tempRet0;
|
|
$472 = ___muldi3($120 | 0, 0, $26 | 0, 0) | 0;
|
|
$473 = tempRet0;
|
|
$474 = ___muldi3($114 | 0, 0, $32 | 0, 0) | 0;
|
|
$475 = tempRet0;
|
|
$476 = ___muldi3($110 | 0, 0, $38 | 0, 0) | 0;
|
|
$477 = tempRet0;
|
|
$478 = ___muldi3($104 | 0, 0, $44 | 0, 0) | 0;
|
|
$479 = tempRet0;
|
|
$480 = ___muldi3($98 | 0, 0, $48 | 0, 0) | 0;
|
|
$481 = tempRet0;
|
|
$482 = ___muldi3($92 | 0, 0, $54 | 0, 0) | 0;
|
|
$483 = tempRet0;
|
|
$484 = ___muldi3($86 | 0, 0, $60 | 0, 0) | 0;
|
|
$485 = tempRet0;
|
|
$486 = ___muldi3($80 | 0, 0, $64 | 0, $65 | 0) | 0;
|
|
$487 = tempRet0;
|
|
$488 = ___muldi3($130 | 0, $131 | 0, $20 | 0, 0) | 0;
|
|
$489 = tempRet0;
|
|
$490 = ___muldi3($126 | 0, 0, $26 | 0, 0) | 0;
|
|
$491 = tempRet0;
|
|
$492 = ___muldi3($120 | 0, 0, $32 | 0, 0) | 0;
|
|
$493 = tempRet0;
|
|
$494 = ___muldi3($114 | 0, 0, $38 | 0, 0) | 0;
|
|
$495 = tempRet0;
|
|
$496 = ___muldi3($110 | 0, 0, $44 | 0, 0) | 0;
|
|
$497 = tempRet0;
|
|
$498 = ___muldi3($104 | 0, 0, $48 | 0, 0) | 0;
|
|
$499 = tempRet0;
|
|
$500 = ___muldi3($98 | 0, 0, $54 | 0, 0) | 0;
|
|
$501 = tempRet0;
|
|
$502 = ___muldi3($92 | 0, 0, $60 | 0, 0) | 0;
|
|
$503 = tempRet0;
|
|
$504 = ___muldi3($86 | 0, 0, $64 | 0, $65 | 0) | 0;
|
|
$505 = tempRet0;
|
|
$506 = _i64Add($502 | 0, $503 | 0, $504 | 0, $505 | 0) | 0;
|
|
$507 = tempRet0;
|
|
$508 = _i64Add($506 | 0, $507 | 0, $500 | 0, $501 | 0) | 0;
|
|
$509 = tempRet0;
|
|
$510 = _i64Add($508 | 0, $509 | 0, $498 | 0, $499 | 0) | 0;
|
|
$511 = tempRet0;
|
|
$512 = _i64Add($510 | 0, $511 | 0, $494 | 0, $495 | 0) | 0;
|
|
$513 = tempRet0;
|
|
$514 = _i64Add($512 | 0, $513 | 0, $496 | 0, $497 | 0) | 0;
|
|
$515 = tempRet0;
|
|
$516 = _i64Add($514 | 0, $515 | 0, $492 | 0, $493 | 0) | 0;
|
|
$517 = tempRet0;
|
|
$518 = _i64Add($516 | 0, $517 | 0, $490 | 0, $491 | 0) | 0;
|
|
$519 = tempRet0;
|
|
$520 = _i64Add($518 | 0, $519 | 0, $488 | 0, $489 | 0) | 0;
|
|
$521 = tempRet0;
|
|
$522 = ___muldi3($130 | 0, $131 | 0, $26 | 0, 0) | 0;
|
|
$523 = tempRet0;
|
|
$524 = ___muldi3($126 | 0, 0, $32 | 0, 0) | 0;
|
|
$525 = tempRet0;
|
|
$526 = ___muldi3($120 | 0, 0, $38 | 0, 0) | 0;
|
|
$527 = tempRet0;
|
|
$528 = ___muldi3($114 | 0, 0, $44 | 0, 0) | 0;
|
|
$529 = tempRet0;
|
|
$530 = ___muldi3($110 | 0, 0, $48 | 0, 0) | 0;
|
|
$531 = tempRet0;
|
|
$532 = ___muldi3($104 | 0, 0, $54 | 0, 0) | 0;
|
|
$533 = tempRet0;
|
|
$534 = ___muldi3($98 | 0, 0, $60 | 0, 0) | 0;
|
|
$535 = tempRet0;
|
|
$536 = ___muldi3($92 | 0, 0, $64 | 0, $65 | 0) | 0;
|
|
$537 = tempRet0;
|
|
$538 = ___muldi3($130 | 0, $131 | 0, $32 | 0, 0) | 0;
|
|
$539 = tempRet0;
|
|
$540 = ___muldi3($126 | 0, 0, $38 | 0, 0) | 0;
|
|
$541 = tempRet0;
|
|
$542 = ___muldi3($120 | 0, 0, $44 | 0, 0) | 0;
|
|
$543 = tempRet0;
|
|
$544 = ___muldi3($114 | 0, 0, $48 | 0, 0) | 0;
|
|
$545 = tempRet0;
|
|
$546 = ___muldi3($110 | 0, 0, $54 | 0, 0) | 0;
|
|
$547 = tempRet0;
|
|
$548 = ___muldi3($104 | 0, 0, $60 | 0, 0) | 0;
|
|
$549 = tempRet0;
|
|
$550 = ___muldi3($98 | 0, 0, $64 | 0, $65 | 0) | 0;
|
|
$551 = tempRet0;
|
|
$552 = _i64Add($548 | 0, $549 | 0, $550 | 0, $551 | 0) | 0;
|
|
$553 = tempRet0;
|
|
$554 = _i64Add($552 | 0, $553 | 0, $544 | 0, $545 | 0) | 0;
|
|
$555 = tempRet0;
|
|
$556 = _i64Add($554 | 0, $555 | 0, $546 | 0, $547 | 0) | 0;
|
|
$557 = tempRet0;
|
|
$558 = _i64Add($556 | 0, $557 | 0, $542 | 0, $543 | 0) | 0;
|
|
$559 = tempRet0;
|
|
$560 = _i64Add($558 | 0, $559 | 0, $540 | 0, $541 | 0) | 0;
|
|
$561 = tempRet0;
|
|
$562 = _i64Add($560 | 0, $561 | 0, $538 | 0, $539 | 0) | 0;
|
|
$563 = tempRet0;
|
|
$564 = ___muldi3($130 | 0, $131 | 0, $38 | 0, 0) | 0;
|
|
$565 = tempRet0;
|
|
$566 = ___muldi3($126 | 0, 0, $44 | 0, 0) | 0;
|
|
$567 = tempRet0;
|
|
$568 = ___muldi3($120 | 0, 0, $48 | 0, 0) | 0;
|
|
$569 = tempRet0;
|
|
$570 = ___muldi3($114 | 0, 0, $54 | 0, 0) | 0;
|
|
$571 = tempRet0;
|
|
$572 = ___muldi3($110 | 0, 0, $60 | 0, 0) | 0;
|
|
$573 = tempRet0;
|
|
$574 = ___muldi3($104 | 0, 0, $64 | 0, $65 | 0) | 0;
|
|
$575 = tempRet0;
|
|
$576 = ___muldi3($130 | 0, $131 | 0, $44 | 0, 0) | 0;
|
|
$577 = tempRet0;
|
|
$578 = ___muldi3($126 | 0, 0, $48 | 0, 0) | 0;
|
|
$579 = tempRet0;
|
|
$580 = ___muldi3($120 | 0, 0, $54 | 0, 0) | 0;
|
|
$581 = tempRet0;
|
|
$582 = ___muldi3($114 | 0, 0, $60 | 0, 0) | 0;
|
|
$583 = tempRet0;
|
|
$584 = ___muldi3($110 | 0, 0, $64 | 0, $65 | 0) | 0;
|
|
$585 = tempRet0;
|
|
$586 = _i64Add($584 | 0, $585 | 0, $582 | 0, $583 | 0) | 0;
|
|
$587 = tempRet0;
|
|
$588 = _i64Add($586 | 0, $587 | 0, $580 | 0, $581 | 0) | 0;
|
|
$589 = tempRet0;
|
|
$590 = _i64Add($588 | 0, $589 | 0, $578 | 0, $579 | 0) | 0;
|
|
$591 = tempRet0;
|
|
$592 = _i64Add($590 | 0, $591 | 0, $576 | 0, $577 | 0) | 0;
|
|
$593 = tempRet0;
|
|
$594 = ___muldi3($130 | 0, $131 | 0, $48 | 0, 0) | 0;
|
|
$595 = tempRet0;
|
|
$596 = ___muldi3($126 | 0, 0, $54 | 0, 0) | 0;
|
|
$597 = tempRet0;
|
|
$598 = ___muldi3($120 | 0, 0, $60 | 0, 0) | 0;
|
|
$599 = tempRet0;
|
|
$600 = ___muldi3($114 | 0, 0, $64 | 0, $65 | 0) | 0;
|
|
$601 = tempRet0;
|
|
$602 = ___muldi3($130 | 0, $131 | 0, $54 | 0, 0) | 0;
|
|
$603 = tempRet0;
|
|
$604 = ___muldi3($126 | 0, 0, $60 | 0, 0) | 0;
|
|
$605 = tempRet0;
|
|
$606 = ___muldi3($120 | 0, 0, $64 | 0, $65 | 0) | 0;
|
|
$607 = tempRet0;
|
|
$608 = _i64Add($604 | 0, $605 | 0, $606 | 0, $607 | 0) | 0;
|
|
$609 = tempRet0;
|
|
$610 = _i64Add($608 | 0, $609 | 0, $602 | 0, $603 | 0) | 0;
|
|
$611 = tempRet0;
|
|
$612 = ___muldi3($130 | 0, $131 | 0, $60 | 0, 0) | 0;
|
|
$613 = tempRet0;
|
|
$614 = ___muldi3($126 | 0, 0, $64 | 0, $65 | 0) | 0;
|
|
$615 = tempRet0;
|
|
$616 = _i64Add($612 | 0, $613 | 0, $614 | 0, $615 | 0) | 0;
|
|
$617 = tempRet0;
|
|
$618 = ___muldi3($130 | 0, $131 | 0, $64 | 0, $65 | 0) | 0;
|
|
$619 = tempRet0;
|
|
$620 = _i64Add($200 | 0, $201 | 0, 1048576, 0) | 0;
|
|
$621 = tempRet0;
|
|
$622 = _bitshift64Lshr($620 | 0, $621 | 0, 21) | 0;
|
|
$623 = tempRet0;
|
|
$624 = _i64Add($202 | 0, $203 | 0, $204 | 0, $205 | 0) | 0;
|
|
$625 = tempRet0;
|
|
$626 = _i64Add($624 | 0, $625 | 0, $140 | 0, 0) | 0;
|
|
$627 = tempRet0;
|
|
$628 = _i64Add($626 | 0, $627 | 0, $622 | 0, $623 | 0) | 0;
|
|
$629 = tempRet0;
|
|
$630 = _bitshift64Shl($622 | 0, $623 | 0, 21) | 0;
|
|
$631 = tempRet0;
|
|
$632 = _i64Subtract($200 | 0, $201 | 0, $630 | 0, $631 | 0) | 0;
|
|
$633 = tempRet0;
|
|
$634 = _i64Add($216 | 0, $217 | 0, 1048576, 0) | 0;
|
|
$635 = tempRet0;
|
|
$636 = _bitshift64Lshr($634 | 0, $635 | 0, 21) | 0;
|
|
$637 = tempRet0;
|
|
$638 = _i64Add($222 | 0, $223 | 0, $224 | 0, $225 | 0) | 0;
|
|
$639 = tempRet0;
|
|
$640 = _i64Add($638 | 0, $639 | 0, $220 | 0, $221 | 0) | 0;
|
|
$641 = tempRet0;
|
|
$642 = _i64Add($640 | 0, $641 | 0, $218 | 0, $219 | 0) | 0;
|
|
$643 = tempRet0;
|
|
$644 = _i64Add($642 | 0, $643 | 0, $152 | 0, 0) | 0;
|
|
$645 = tempRet0;
|
|
$646 = _i64Add($644 | 0, $645 | 0, $636 | 0, $637 | 0) | 0;
|
|
$647 = tempRet0;
|
|
$648 = _bitshift64Shl($636 | 0, $637 | 0, 21) | 0;
|
|
$649 = tempRet0;
|
|
$650 = _i64Add($244 | 0, $245 | 0, 1048576, 0) | 0;
|
|
$651 = tempRet0;
|
|
$652 = _bitshift64Ashr($650 | 0, $651 | 0, 21) | 0;
|
|
$653 = tempRet0;
|
|
$654 = _i64Add($254 | 0, $255 | 0, $256 | 0, $257 | 0) | 0;
|
|
$655 = tempRet0;
|
|
$656 = _i64Add($654 | 0, $655 | 0, $252 | 0, $253 | 0) | 0;
|
|
$657 = tempRet0;
|
|
$658 = _i64Add($656 | 0, $657 | 0, $250 | 0, $251 | 0) | 0;
|
|
$659 = tempRet0;
|
|
$660 = _i64Add($658 | 0, $659 | 0, $248 | 0, $249 | 0) | 0;
|
|
$661 = tempRet0;
|
|
$662 = _i64Add($660 | 0, $661 | 0, $246 | 0, $247 | 0) | 0;
|
|
$663 = tempRet0;
|
|
$664 = _i64Add($662 | 0, $663 | 0, $164 | 0, 0) | 0;
|
|
$665 = tempRet0;
|
|
$666 = _i64Add($664 | 0, $665 | 0, $652 | 0, $653 | 0) | 0;
|
|
$667 = tempRet0;
|
|
$668 = _bitshift64Shl($652 | 0, $653 | 0, 21) | 0;
|
|
$669 = tempRet0;
|
|
$670 = _i64Subtract($244 | 0, $245 | 0, $668 | 0, $669 | 0) | 0;
|
|
$671 = tempRet0;
|
|
$672 = _i64Add($284 | 0, $285 | 0, 1048576, 0) | 0;
|
|
$673 = tempRet0;
|
|
$674 = _bitshift64Ashr($672 | 0, $673 | 0, 21) | 0;
|
|
$675 = tempRet0;
|
|
$676 = _i64Add($298 | 0, $299 | 0, $300 | 0, $301 | 0) | 0;
|
|
$677 = tempRet0;
|
|
$678 = _i64Add($676 | 0, $677 | 0, $296 | 0, $297 | 0) | 0;
|
|
$679 = tempRet0;
|
|
$680 = _i64Add($678 | 0, $679 | 0, $294 | 0, $295 | 0) | 0;
|
|
$681 = tempRet0;
|
|
$682 = _i64Add($680 | 0, $681 | 0, $292 | 0, $293 | 0) | 0;
|
|
$683 = tempRet0;
|
|
$684 = _i64Add($682 | 0, $683 | 0, $290 | 0, $291 | 0) | 0;
|
|
$685 = tempRet0;
|
|
$686 = _i64Add($684 | 0, $685 | 0, $288 | 0, $289 | 0) | 0;
|
|
$687 = tempRet0;
|
|
$688 = _i64Add($686 | 0, $687 | 0, $286 | 0, $287 | 0) | 0;
|
|
$689 = tempRet0;
|
|
$690 = _i64Add($688 | 0, $689 | 0, $176 | 0, 0) | 0;
|
|
$691 = tempRet0;
|
|
$692 = _i64Add($690 | 0, $691 | 0, $674 | 0, $675 | 0) | 0;
|
|
$693 = tempRet0;
|
|
$694 = _bitshift64Shl($674 | 0, $675 | 0, 21) | 0;
|
|
$695 = tempRet0;
|
|
$696 = _i64Add($336 | 0, $337 | 0, 1048576, 0) | 0;
|
|
$697 = tempRet0;
|
|
$698 = _bitshift64Ashr($696 | 0, $697 | 0, 21) | 0;
|
|
$699 = tempRet0;
|
|
$700 = _i64Add($354 | 0, $355 | 0, $356 | 0, $357 | 0) | 0;
|
|
$701 = tempRet0;
|
|
$702 = _i64Add($700 | 0, $701 | 0, $352 | 0, $353 | 0) | 0;
|
|
$703 = tempRet0;
|
|
$704 = _i64Add($702 | 0, $703 | 0, $350 | 0, $351 | 0) | 0;
|
|
$705 = tempRet0;
|
|
$706 = _i64Add($704 | 0, $705 | 0, $348 | 0, $349 | 0) | 0;
|
|
$707 = tempRet0;
|
|
$708 = _i64Add($706 | 0, $707 | 0, $346 | 0, $347 | 0) | 0;
|
|
$709 = tempRet0;
|
|
$710 = _i64Add($708 | 0, $709 | 0, $344 | 0, $345 | 0) | 0;
|
|
$711 = tempRet0;
|
|
$712 = _i64Add($710 | 0, $711 | 0, $340 | 0, $341 | 0) | 0;
|
|
$713 = tempRet0;
|
|
$714 = _i64Add($712 | 0, $713 | 0, $342 | 0, $343 | 0) | 0;
|
|
$715 = tempRet0;
|
|
$716 = _i64Add($714 | 0, $715 | 0, $338 | 0, $339 | 0) | 0;
|
|
$717 = tempRet0;
|
|
$718 = _i64Add($716 | 0, $717 | 0, $186 | 0, 0) | 0;
|
|
$719 = tempRet0;
|
|
$720 = _i64Add($718 | 0, $719 | 0, $698 | 0, $699 | 0) | 0;
|
|
$721 = tempRet0;
|
|
$722 = _bitshift64Shl($698 | 0, $699 | 0, 21) | 0;
|
|
$723 = tempRet0;
|
|
$724 = _i64Add($400 | 0, $401 | 0, 1048576, 0) | 0;
|
|
$725 = tempRet0;
|
|
$726 = _bitshift64Ashr($724 | 0, $725 | 0, 21) | 0;
|
|
$727 = tempRet0;
|
|
$728 = _i64Add($422 | 0, $423 | 0, $424 | 0, $425 | 0) | 0;
|
|
$729 = tempRet0;
|
|
$730 = _i64Add($728 | 0, $729 | 0, $420 | 0, $421 | 0) | 0;
|
|
$731 = tempRet0;
|
|
$732 = _i64Add($730 | 0, $731 | 0, $418 | 0, $419 | 0) | 0;
|
|
$733 = tempRet0;
|
|
$734 = _i64Add($732 | 0, $733 | 0, $416 | 0, $417 | 0) | 0;
|
|
$735 = tempRet0;
|
|
$736 = _i64Add($734 | 0, $735 | 0, $414 | 0, $415 | 0) | 0;
|
|
$737 = tempRet0;
|
|
$738 = _i64Add($736 | 0, $737 | 0, $412 | 0, $413 | 0) | 0;
|
|
$739 = tempRet0;
|
|
$740 = _i64Add($738 | 0, $739 | 0, $408 | 0, $409 | 0) | 0;
|
|
$741 = tempRet0;
|
|
$742 = _i64Add($740 | 0, $741 | 0, $410 | 0, $411 | 0) | 0;
|
|
$743 = tempRet0;
|
|
$744 = _i64Add($742 | 0, $743 | 0, $406 | 0, $407 | 0) | 0;
|
|
$745 = tempRet0;
|
|
$746 = _i64Add($744 | 0, $745 | 0, $402 | 0, $403 | 0) | 0;
|
|
$747 = tempRet0;
|
|
$748 = _i64Add($746 | 0, $747 | 0, $404 | 0, $405 | 0) | 0;
|
|
$749 = tempRet0;
|
|
$750 = _i64Add($748 | 0, $749 | 0, $196 | 0, $197 | 0) | 0;
|
|
$751 = tempRet0;
|
|
$752 = _i64Add($750 | 0, $751 | 0, $726 | 0, $727 | 0) | 0;
|
|
$753 = tempRet0;
|
|
$754 = _bitshift64Shl($726 | 0, $727 | 0, 21) | 0;
|
|
$755 = tempRet0;
|
|
$756 = _i64Add($466 | 0, $467 | 0, 1048576, 0) | 0;
|
|
$757 = tempRet0;
|
|
$758 = _bitshift64Ashr($756 | 0, $757 | 0, 21) | 0;
|
|
$759 = tempRet0;
|
|
$760 = _i64Add($484 | 0, $485 | 0, $486 | 0, $487 | 0) | 0;
|
|
$761 = tempRet0;
|
|
$762 = _i64Add($760 | 0, $761 | 0, $482 | 0, $483 | 0) | 0;
|
|
$763 = tempRet0;
|
|
$764 = _i64Add($762 | 0, $763 | 0, $480 | 0, $481 | 0) | 0;
|
|
$765 = tempRet0;
|
|
$766 = _i64Add($764 | 0, $765 | 0, $478 | 0, $479 | 0) | 0;
|
|
$767 = tempRet0;
|
|
$768 = _i64Add($766 | 0, $767 | 0, $474 | 0, $475 | 0) | 0;
|
|
$769 = tempRet0;
|
|
$770 = _i64Add($768 | 0, $769 | 0, $476 | 0, $477 | 0) | 0;
|
|
$771 = tempRet0;
|
|
$772 = _i64Add($770 | 0, $771 | 0, $472 | 0, $473 | 0) | 0;
|
|
$773 = tempRet0;
|
|
$774 = _i64Add($772 | 0, $773 | 0, $470 | 0, $471 | 0) | 0;
|
|
$775 = tempRet0;
|
|
$776 = _i64Add($774 | 0, $775 | 0, $468 | 0, $469 | 0) | 0;
|
|
$777 = tempRet0;
|
|
$778 = _i64Add($776 | 0, $777 | 0, $758 | 0, $759 | 0) | 0;
|
|
$779 = tempRet0;
|
|
$780 = _bitshift64Shl($758 | 0, $759 | 0, 21) | 0;
|
|
$781 = tempRet0;
|
|
$782 = _i64Add($520 | 0, $521 | 0, 1048576, 0) | 0;
|
|
$783 = tempRet0;
|
|
$784 = _bitshift64Ashr($782 | 0, $783 | 0, 21) | 0;
|
|
$785 = tempRet0;
|
|
$786 = _i64Add($534 | 0, $535 | 0, $536 | 0, $537 | 0) | 0;
|
|
$787 = tempRet0;
|
|
$788 = _i64Add($786 | 0, $787 | 0, $532 | 0, $533 | 0) | 0;
|
|
$789 = tempRet0;
|
|
$790 = _i64Add($788 | 0, $789 | 0, $528 | 0, $529 | 0) | 0;
|
|
$791 = tempRet0;
|
|
$792 = _i64Add($790 | 0, $791 | 0, $530 | 0, $531 | 0) | 0;
|
|
$793 = tempRet0;
|
|
$794 = _i64Add($792 | 0, $793 | 0, $526 | 0, $527 | 0) | 0;
|
|
$795 = tempRet0;
|
|
$796 = _i64Add($794 | 0, $795 | 0, $524 | 0, $525 | 0) | 0;
|
|
$797 = tempRet0;
|
|
$798 = _i64Add($796 | 0, $797 | 0, $522 | 0, $523 | 0) | 0;
|
|
$799 = tempRet0;
|
|
$800 = _i64Add($798 | 0, $799 | 0, $784 | 0, $785 | 0) | 0;
|
|
$801 = tempRet0;
|
|
$802 = _bitshift64Shl($784 | 0, $785 | 0, 21) | 0;
|
|
$803 = tempRet0;
|
|
$804 = _i64Add($562 | 0, $563 | 0, 1048576, 0) | 0;
|
|
$805 = tempRet0;
|
|
$806 = _bitshift64Ashr($804 | 0, $805 | 0, 21) | 0;
|
|
$807 = tempRet0;
|
|
$808 = _i64Add($570 | 0, $571 | 0, $574 | 0, $575 | 0) | 0;
|
|
$809 = tempRet0;
|
|
$810 = _i64Add($808 | 0, $809 | 0, $572 | 0, $573 | 0) | 0;
|
|
$811 = tempRet0;
|
|
$812 = _i64Add($810 | 0, $811 | 0, $568 | 0, $569 | 0) | 0;
|
|
$813 = tempRet0;
|
|
$814 = _i64Add($812 | 0, $813 | 0, $566 | 0, $567 | 0) | 0;
|
|
$815 = tempRet0;
|
|
$816 = _i64Add($814 | 0, $815 | 0, $564 | 0, $565 | 0) | 0;
|
|
$817 = tempRet0;
|
|
$818 = _i64Add($816 | 0, $817 | 0, $806 | 0, $807 | 0) | 0;
|
|
$819 = tempRet0;
|
|
$820 = _bitshift64Shl($806 | 0, $807 | 0, 21) | 0;
|
|
$821 = tempRet0;
|
|
$822 = _i64Add($592 | 0, $593 | 0, 1048576, 0) | 0;
|
|
$823 = tempRet0;
|
|
$824 = _bitshift64Ashr($822 | 0, $823 | 0, 21) | 0;
|
|
$825 = tempRet0;
|
|
$826 = _i64Add($598 | 0, $599 | 0, $600 | 0, $601 | 0) | 0;
|
|
$827 = tempRet0;
|
|
$828 = _i64Add($826 | 0, $827 | 0, $596 | 0, $597 | 0) | 0;
|
|
$829 = tempRet0;
|
|
$830 = _i64Add($828 | 0, $829 | 0, $594 | 0, $595 | 0) | 0;
|
|
$831 = tempRet0;
|
|
$832 = _i64Add($830 | 0, $831 | 0, $824 | 0, $825 | 0) | 0;
|
|
$833 = tempRet0;
|
|
$834 = _bitshift64Shl($824 | 0, $825 | 0, 21) | 0;
|
|
$835 = tempRet0;
|
|
$836 = _i64Subtract($592 | 0, $593 | 0, $834 | 0, $835 | 0) | 0;
|
|
$837 = tempRet0;
|
|
$838 = _i64Add($610 | 0, $611 | 0, 1048576, 0) | 0;
|
|
$839 = tempRet0;
|
|
$840 = _bitshift64Lshr($838 | 0, $839 | 0, 21) | 0;
|
|
$841 = tempRet0;
|
|
$842 = _i64Add($616 | 0, $617 | 0, $840 | 0, $841 | 0) | 0;
|
|
$843 = tempRet0;
|
|
$844 = _bitshift64Shl($840 | 0, $841 | 0, 21) | 0;
|
|
$845 = tempRet0;
|
|
$846 = _i64Subtract($610 | 0, $611 | 0, $844 | 0, $845 | 0) | 0;
|
|
$847 = tempRet0;
|
|
$848 = _i64Add($618 | 0, $619 | 0, 1048576, 0) | 0;
|
|
$849 = tempRet0;
|
|
$850 = _bitshift64Lshr($848 | 0, $849 | 0, 21) | 0;
|
|
$851 = tempRet0;
|
|
$852 = _bitshift64Shl($850 | 0, $851 | 0, 21) | 0;
|
|
$853 = tempRet0;
|
|
$854 = _i64Subtract($618 | 0, $619 | 0, $852 | 0, $853 | 0) | 0;
|
|
$855 = tempRet0;
|
|
$856 = _i64Add($628 | 0, $629 | 0, 1048576, 0) | 0;
|
|
$857 = tempRet0;
|
|
$858 = _bitshift64Lshr($856 | 0, $857 | 0, 21) | 0;
|
|
$859 = tempRet0;
|
|
$860 = _bitshift64Shl($858 | 0, $859 | 0, 21) | 0;
|
|
$861 = tempRet0;
|
|
$862 = _i64Subtract($628 | 0, $629 | 0, $860 | 0, $861 | 0) | 0;
|
|
$863 = tempRet0;
|
|
$864 = _i64Add($646 | 0, $647 | 0, 1048576, 0) | 0;
|
|
$865 = tempRet0;
|
|
$866 = _bitshift64Ashr($864 | 0, $865 | 0, 21) | 0;
|
|
$867 = tempRet0;
|
|
$868 = _i64Add($670 | 0, $671 | 0, $866 | 0, $867 | 0) | 0;
|
|
$869 = tempRet0;
|
|
$870 = _bitshift64Shl($866 | 0, $867 | 0, 21) | 0;
|
|
$871 = tempRet0;
|
|
$872 = _i64Subtract($646 | 0, $647 | 0, $870 | 0, $871 | 0) | 0;
|
|
$873 = tempRet0;
|
|
$874 = _i64Add($666 | 0, $667 | 0, 1048576, 0) | 0;
|
|
$875 = tempRet0;
|
|
$876 = _bitshift64Ashr($874 | 0, $875 | 0, 21) | 0;
|
|
$877 = tempRet0;
|
|
$878 = _bitshift64Shl($876 | 0, $877 | 0, 21) | 0;
|
|
$879 = tempRet0;
|
|
$880 = _i64Subtract($666 | 0, $667 | 0, $878 | 0, $879 | 0) | 0;
|
|
$881 = tempRet0;
|
|
$882 = _i64Add($692 | 0, $693 | 0, 1048576, 0) | 0;
|
|
$883 = tempRet0;
|
|
$884 = _bitshift64Ashr($882 | 0, $883 | 0, 21) | 0;
|
|
$885 = tempRet0;
|
|
$886 = _bitshift64Shl($884 | 0, $885 | 0, 21) | 0;
|
|
$887 = tempRet0;
|
|
$888 = _i64Add($720 | 0, $721 | 0, 1048576, 0) | 0;
|
|
$889 = tempRet0;
|
|
$890 = _bitshift64Ashr($888 | 0, $889 | 0, 21) | 0;
|
|
$891 = tempRet0;
|
|
$892 = _bitshift64Shl($890 | 0, $891 | 0, 21) | 0;
|
|
$893 = tempRet0;
|
|
$894 = _i64Add($752 | 0, $753 | 0, 1048576, 0) | 0;
|
|
$895 = tempRet0;
|
|
$896 = _bitshift64Ashr($894 | 0, $895 | 0, 21) | 0;
|
|
$897 = tempRet0;
|
|
$898 = _bitshift64Shl($896 | 0, $897 | 0, 21) | 0;
|
|
$899 = tempRet0;
|
|
$900 = _i64Add($778 | 0, $779 | 0, 1048576, 0) | 0;
|
|
$901 = tempRet0;
|
|
$902 = _bitshift64Ashr($900 | 0, $901 | 0, 21) | 0;
|
|
$903 = tempRet0;
|
|
$904 = _bitshift64Shl($902 | 0, $903 | 0, 21) | 0;
|
|
$905 = tempRet0;
|
|
$906 = _i64Add($800 | 0, $801 | 0, 1048576, 0) | 0;
|
|
$907 = tempRet0;
|
|
$908 = _bitshift64Ashr($906 | 0, $907 | 0, 21) | 0;
|
|
$909 = tempRet0;
|
|
$910 = _bitshift64Shl($908 | 0, $909 | 0, 21) | 0;
|
|
$911 = tempRet0;
|
|
$912 = _i64Add($818 | 0, $819 | 0, 1048576, 0) | 0;
|
|
$913 = tempRet0;
|
|
$914 = _bitshift64Ashr($912 | 0, $913 | 0, 21) | 0;
|
|
$915 = tempRet0;
|
|
$916 = _i64Add($914 | 0, $915 | 0, $836 | 0, $837 | 0) | 0;
|
|
$917 = tempRet0;
|
|
$918 = _bitshift64Shl($914 | 0, $915 | 0, 21) | 0;
|
|
$919 = tempRet0;
|
|
$920 = _i64Subtract($818 | 0, $819 | 0, $918 | 0, $919 | 0) | 0;
|
|
$921 = tempRet0;
|
|
$922 = _i64Add($832 | 0, $833 | 0, 1048576, 0) | 0;
|
|
$923 = tempRet0;
|
|
$924 = _bitshift64Ashr($922 | 0, $923 | 0, 21) | 0;
|
|
$925 = tempRet0;
|
|
$926 = _i64Add($924 | 0, $925 | 0, $846 | 0, $847 | 0) | 0;
|
|
$927 = tempRet0;
|
|
$928 = _bitshift64Shl($924 | 0, $925 | 0, 21) | 0;
|
|
$929 = tempRet0;
|
|
$930 = _i64Subtract($832 | 0, $833 | 0, $928 | 0, $929 | 0) | 0;
|
|
$931 = tempRet0;
|
|
$932 = _i64Add($842 | 0, $843 | 0, 1048576, 0) | 0;
|
|
$933 = tempRet0;
|
|
$934 = _bitshift64Lshr($932 | 0, $933 | 0, 21) | 0;
|
|
$935 = tempRet0;
|
|
$936 = _i64Add($934 | 0, $935 | 0, $854 | 0, $855 | 0) | 0;
|
|
$937 = tempRet0;
|
|
$938 = _bitshift64Shl($934 | 0, $935 | 0, 21) | 0;
|
|
$939 = tempRet0;
|
|
$940 = _i64Subtract($842 | 0, $843 | 0, $938 | 0, $939 | 0) | 0;
|
|
$941 = tempRet0;
|
|
$942 = ___muldi3($850 | 0, $851 | 0, 666643, 0) | 0;
|
|
$943 = tempRet0;
|
|
$944 = ___muldi3($850 | 0, $851 | 0, 470296, 0) | 0;
|
|
$945 = tempRet0;
|
|
$946 = ___muldi3($850 | 0, $851 | 0, 654183, 0) | 0;
|
|
$947 = tempRet0;
|
|
$948 = ___muldi3($850 | 0, $851 | 0, -997805, -1) | 0;
|
|
$949 = tempRet0;
|
|
$950 = ___muldi3($850 | 0, $851 | 0, 136657, 0) | 0;
|
|
$951 = tempRet0;
|
|
$952 = ___muldi3($850 | 0, $851 | 0, -683901, -1) | 0;
|
|
$953 = tempRet0;
|
|
$954 = _i64Add($952 | 0, $953 | 0, $562 | 0, $563 | 0) | 0;
|
|
$955 = tempRet0;
|
|
$956 = _i64Subtract($954 | 0, $955 | 0, $820 | 0, $821 | 0) | 0;
|
|
$957 = tempRet0;
|
|
$958 = _i64Add($956 | 0, $957 | 0, $908 | 0, $909 | 0) | 0;
|
|
$959 = tempRet0;
|
|
$960 = ___muldi3($936 | 0, $937 | 0, 666643, 0) | 0;
|
|
$961 = tempRet0;
|
|
$962 = ___muldi3($936 | 0, $937 | 0, 470296, 0) | 0;
|
|
$963 = tempRet0;
|
|
$964 = ___muldi3($936 | 0, $937 | 0, 654183, 0) | 0;
|
|
$965 = tempRet0;
|
|
$966 = ___muldi3($936 | 0, $937 | 0, -997805, -1) | 0;
|
|
$967 = tempRet0;
|
|
$968 = ___muldi3($936 | 0, $937 | 0, 136657, 0) | 0;
|
|
$969 = tempRet0;
|
|
$970 = ___muldi3($936 | 0, $937 | 0, -683901, -1) | 0;
|
|
$971 = tempRet0;
|
|
$972 = ___muldi3($940 | 0, $941 | 0, 666643, 0) | 0;
|
|
$973 = tempRet0;
|
|
$974 = ___muldi3($940 | 0, $941 | 0, 470296, 0) | 0;
|
|
$975 = tempRet0;
|
|
$976 = ___muldi3($940 | 0, $941 | 0, 654183, 0) | 0;
|
|
$977 = tempRet0;
|
|
$978 = ___muldi3($940 | 0, $941 | 0, -997805, -1) | 0;
|
|
$979 = tempRet0;
|
|
$980 = ___muldi3($940 | 0, $941 | 0, 136657, 0) | 0;
|
|
$981 = tempRet0;
|
|
$982 = ___muldi3($940 | 0, $941 | 0, -683901, -1) | 0;
|
|
$983 = tempRet0;
|
|
$984 = _i64Add($948 | 0, $949 | 0, $520 | 0, $521 | 0) | 0;
|
|
$985 = tempRet0;
|
|
$986 = _i64Subtract($984 | 0, $985 | 0, $802 | 0, $803 | 0) | 0;
|
|
$987 = tempRet0;
|
|
$988 = _i64Add($986 | 0, $987 | 0, $902 | 0, $903 | 0) | 0;
|
|
$989 = tempRet0;
|
|
$990 = _i64Add($988 | 0, $989 | 0, $968 | 0, $969 | 0) | 0;
|
|
$991 = tempRet0;
|
|
$992 = _i64Add($990 | 0, $991 | 0, $982 | 0, $983 | 0) | 0;
|
|
$993 = tempRet0;
|
|
$994 = ___muldi3($926 | 0, $927 | 0, 666643, 0) | 0;
|
|
$995 = tempRet0;
|
|
$996 = ___muldi3($926 | 0, $927 | 0, 470296, 0) | 0;
|
|
$997 = tempRet0;
|
|
$998 = ___muldi3($926 | 0, $927 | 0, 654183, 0) | 0;
|
|
$999 = tempRet0;
|
|
$1000 = ___muldi3($926 | 0, $927 | 0, -997805, -1) | 0;
|
|
$1001 = tempRet0;
|
|
$1002 = ___muldi3($926 | 0, $927 | 0, 136657, 0) | 0;
|
|
$1003 = tempRet0;
|
|
$1004 = ___muldi3($926 | 0, $927 | 0, -683901, -1) | 0;
|
|
$1005 = tempRet0;
|
|
$1006 = ___muldi3($930 | 0, $931 | 0, 666643, 0) | 0;
|
|
$1007 = tempRet0;
|
|
$1008 = ___muldi3($930 | 0, $931 | 0, 470296, 0) | 0;
|
|
$1009 = tempRet0;
|
|
$1010 = ___muldi3($930 | 0, $931 | 0, 654183, 0) | 0;
|
|
$1011 = tempRet0;
|
|
$1012 = ___muldi3($930 | 0, $931 | 0, -997805, -1) | 0;
|
|
$1013 = tempRet0;
|
|
$1014 = ___muldi3($930 | 0, $931 | 0, 136657, 0) | 0;
|
|
$1015 = tempRet0;
|
|
$1016 = ___muldi3($930 | 0, $931 | 0, -683901, -1) | 0;
|
|
$1017 = tempRet0;
|
|
$1018 = _i64Add($944 | 0, $945 | 0, $466 | 0, $467 | 0) | 0;
|
|
$1019 = tempRet0;
|
|
$1020 = _i64Subtract($1018 | 0, $1019 | 0, $780 | 0, $781 | 0) | 0;
|
|
$1021 = tempRet0;
|
|
$1022 = _i64Add($1020 | 0, $1021 | 0, $964 | 0, $965 | 0) | 0;
|
|
$1023 = tempRet0;
|
|
$1024 = _i64Add($1022 | 0, $1023 | 0, $1002 | 0, $1003 | 0) | 0;
|
|
$1025 = tempRet0;
|
|
$1026 = _i64Add($1024 | 0, $1025 | 0, $978 | 0, $979 | 0) | 0;
|
|
$1027 = tempRet0;
|
|
$1028 = _i64Add($1026 | 0, $1027 | 0, $1016 | 0, $1017 | 0) | 0;
|
|
$1029 = tempRet0;
|
|
$1030 = _i64Add($1028 | 0, $1029 | 0, $896 | 0, $897 | 0) | 0;
|
|
$1031 = tempRet0;
|
|
$1032 = ___muldi3($916 | 0, $917 | 0, 666643, 0) | 0;
|
|
$1033 = tempRet0;
|
|
$1034 = _i64Add($1032 | 0, $1033 | 0, $284 | 0, $285 | 0) | 0;
|
|
$1035 = tempRet0;
|
|
$1036 = _i64Subtract($1034 | 0, $1035 | 0, $694 | 0, $695 | 0) | 0;
|
|
$1037 = tempRet0;
|
|
$1038 = _i64Add($1036 | 0, $1037 | 0, $876 | 0, $877 | 0) | 0;
|
|
$1039 = tempRet0;
|
|
$1040 = ___muldi3($916 | 0, $917 | 0, 470296, 0) | 0;
|
|
$1041 = tempRet0;
|
|
$1042 = ___muldi3($916 | 0, $917 | 0, 654183, 0) | 0;
|
|
$1043 = tempRet0;
|
|
$1044 = _i64Add($994 | 0, $995 | 0, $336 | 0, $337 | 0) | 0;
|
|
$1045 = tempRet0;
|
|
$1046 = _i64Add($1044 | 0, $1045 | 0, $1042 | 0, $1043 | 0) | 0;
|
|
$1047 = tempRet0;
|
|
$1048 = _i64Add($1046 | 0, $1047 | 0, $1008 | 0, $1009 | 0) | 0;
|
|
$1049 = tempRet0;
|
|
$1050 = _i64Subtract($1048 | 0, $1049 | 0, $722 | 0, $723 | 0) | 0;
|
|
$1051 = tempRet0;
|
|
$1052 = _i64Add($1050 | 0, $1051 | 0, $884 | 0, $885 | 0) | 0;
|
|
$1053 = tempRet0;
|
|
$1054 = ___muldi3($916 | 0, $917 | 0, -997805, -1) | 0;
|
|
$1055 = tempRet0;
|
|
$1056 = ___muldi3($916 | 0, $917 | 0, 136657, 0) | 0;
|
|
$1057 = tempRet0;
|
|
$1058 = _i64Add($998 | 0, $999 | 0, $960 | 0, $961 | 0) | 0;
|
|
$1059 = tempRet0;
|
|
$1060 = _i64Add($1058 | 0, $1059 | 0, $1056 | 0, $1057 | 0) | 0;
|
|
$1061 = tempRet0;
|
|
$1062 = _i64Add($1060 | 0, $1061 | 0, $974 | 0, $975 | 0) | 0;
|
|
$1063 = tempRet0;
|
|
$1064 = _i64Add($1062 | 0, $1063 | 0, $1012 | 0, $1013 | 0) | 0;
|
|
$1065 = tempRet0;
|
|
$1066 = _i64Add($1064 | 0, $1065 | 0, $400 | 0, $401 | 0) | 0;
|
|
$1067 = tempRet0;
|
|
$1068 = _i64Add($1066 | 0, $1067 | 0, $890 | 0, $891 | 0) | 0;
|
|
$1069 = tempRet0;
|
|
$1070 = _i64Subtract($1068 | 0, $1069 | 0, $754 | 0, $755 | 0) | 0;
|
|
$1071 = tempRet0;
|
|
$1072 = ___muldi3($916 | 0, $917 | 0, -683901, -1) | 0;
|
|
$1073 = tempRet0;
|
|
$1074 = _i64Add($1038 | 0, $1039 | 0, 1048576, 0) | 0;
|
|
$1075 = tempRet0;
|
|
$1076 = _bitshift64Ashr($1074 | 0, $1075 | 0, 21) | 0;
|
|
$1077 = tempRet0;
|
|
$1078 = _i64Add($1006 | 0, $1007 | 0, $1040 | 0, $1041 | 0) | 0;
|
|
$1079 = tempRet0;
|
|
$1080 = _i64Add($1078 | 0, $1079 | 0, $692 | 0, $693 | 0) | 0;
|
|
$1081 = tempRet0;
|
|
$1082 = _i64Subtract($1080 | 0, $1081 | 0, $886 | 0, $887 | 0) | 0;
|
|
$1083 = tempRet0;
|
|
$1084 = _i64Add($1082 | 0, $1083 | 0, $1076 | 0, $1077 | 0) | 0;
|
|
$1085 = tempRet0;
|
|
$1086 = _bitshift64Shl($1076 | 0, $1077 | 0, 21) | 0;
|
|
$1087 = tempRet0;
|
|
$1088 = _i64Add($1052 | 0, $1053 | 0, 1048576, 0) | 0;
|
|
$1089 = tempRet0;
|
|
$1090 = _bitshift64Ashr($1088 | 0, $1089 | 0, 21) | 0;
|
|
$1091 = tempRet0;
|
|
$1092 = _i64Add($1054 | 0, $1055 | 0, $996 | 0, $997 | 0) | 0;
|
|
$1093 = tempRet0;
|
|
$1094 = _i64Add($1092 | 0, $1093 | 0, $972 | 0, $973 | 0) | 0;
|
|
$1095 = tempRet0;
|
|
$1096 = _i64Add($1094 | 0, $1095 | 0, $1010 | 0, $1011 | 0) | 0;
|
|
$1097 = tempRet0;
|
|
$1098 = _i64Add($1096 | 0, $1097 | 0, $720 | 0, $721 | 0) | 0;
|
|
$1099 = tempRet0;
|
|
$1100 = _i64Subtract($1098 | 0, $1099 | 0, $892 | 0, $893 | 0) | 0;
|
|
$1101 = tempRet0;
|
|
$1102 = _i64Add($1100 | 0, $1101 | 0, $1090 | 0, $1091 | 0) | 0;
|
|
$1103 = tempRet0;
|
|
$1104 = _bitshift64Shl($1090 | 0, $1091 | 0, 21) | 0;
|
|
$1105 = tempRet0;
|
|
$1106 = _i64Add($1070 | 0, $1071 | 0, 1048576, 0) | 0;
|
|
$1107 = tempRet0;
|
|
$1108 = _bitshift64Ashr($1106 | 0, $1107 | 0, 21) | 0;
|
|
$1109 = tempRet0;
|
|
$1110 = _i64Add($962 | 0, $963 | 0, $942 | 0, $943 | 0) | 0;
|
|
$1111 = tempRet0;
|
|
$1112 = _i64Add($1110 | 0, $1111 | 0, $1000 | 0, $1001 | 0) | 0;
|
|
$1113 = tempRet0;
|
|
$1114 = _i64Add($1112 | 0, $1113 | 0, $1072 | 0, $1073 | 0) | 0;
|
|
$1115 = tempRet0;
|
|
$1116 = _i64Add($1114 | 0, $1115 | 0, $976 | 0, $977 | 0) | 0;
|
|
$1117 = tempRet0;
|
|
$1118 = _i64Add($1116 | 0, $1117 | 0, $1014 | 0, $1015 | 0) | 0;
|
|
$1119 = tempRet0;
|
|
$1120 = _i64Add($1118 | 0, $1119 | 0, $752 | 0, $753 | 0) | 0;
|
|
$1121 = tempRet0;
|
|
$1122 = _i64Subtract($1120 | 0, $1121 | 0, $898 | 0, $899 | 0) | 0;
|
|
$1123 = tempRet0;
|
|
$1124 = _i64Add($1122 | 0, $1123 | 0, $1108 | 0, $1109 | 0) | 0;
|
|
$1125 = tempRet0;
|
|
$1126 = _bitshift64Shl($1108 | 0, $1109 | 0, 21) | 0;
|
|
$1127 = tempRet0;
|
|
$1128 = _i64Add($1030 | 0, $1031 | 0, 1048576, 0) | 0;
|
|
$1129 = tempRet0;
|
|
$1130 = _bitshift64Ashr($1128 | 0, $1129 | 0, 21) | 0;
|
|
$1131 = tempRet0;
|
|
$1132 = _i64Add($778 | 0, $779 | 0, $946 | 0, $947 | 0) | 0;
|
|
$1133 = tempRet0;
|
|
$1134 = _i64Subtract($1132 | 0, $1133 | 0, $904 | 0, $905 | 0) | 0;
|
|
$1135 = tempRet0;
|
|
$1136 = _i64Add($1134 | 0, $1135 | 0, $966 | 0, $967 | 0) | 0;
|
|
$1137 = tempRet0;
|
|
$1138 = _i64Add($1136 | 0, $1137 | 0, $1004 | 0, $1005 | 0) | 0;
|
|
$1139 = tempRet0;
|
|
$1140 = _i64Add($1138 | 0, $1139 | 0, $980 | 0, $981 | 0) | 0;
|
|
$1141 = tempRet0;
|
|
$1142 = _i64Add($1140 | 0, $1141 | 0, $1130 | 0, $1131 | 0) | 0;
|
|
$1143 = tempRet0;
|
|
$1144 = _bitshift64Shl($1130 | 0, $1131 | 0, 21) | 0;
|
|
$1145 = tempRet0;
|
|
$1146 = _i64Subtract($1030 | 0, $1031 | 0, $1144 | 0, $1145 | 0) | 0;
|
|
$1147 = tempRet0;
|
|
$1148 = _i64Add($992 | 0, $993 | 0, 1048576, 0) | 0;
|
|
$1149 = tempRet0;
|
|
$1150 = _bitshift64Ashr($1148 | 0, $1149 | 0, 21) | 0;
|
|
$1151 = tempRet0;
|
|
$1152 = _i64Add($800 | 0, $801 | 0, $950 | 0, $951 | 0) | 0;
|
|
$1153 = tempRet0;
|
|
$1154 = _i64Subtract($1152 | 0, $1153 | 0, $910 | 0, $911 | 0) | 0;
|
|
$1155 = tempRet0;
|
|
$1156 = _i64Add($1154 | 0, $1155 | 0, $970 | 0, $971 | 0) | 0;
|
|
$1157 = tempRet0;
|
|
$1158 = _i64Add($1156 | 0, $1157 | 0, $1150 | 0, $1151 | 0) | 0;
|
|
$1159 = tempRet0;
|
|
$1160 = _bitshift64Shl($1150 | 0, $1151 | 0, 21) | 0;
|
|
$1161 = tempRet0;
|
|
$1162 = _i64Subtract($992 | 0, $993 | 0, $1160 | 0, $1161 | 0) | 0;
|
|
$1163 = tempRet0;
|
|
$1164 = _i64Add($958 | 0, $959 | 0, 1048576, 0) | 0;
|
|
$1165 = tempRet0;
|
|
$1166 = _bitshift64Ashr($1164 | 0, $1165 | 0, 21) | 0;
|
|
$1167 = tempRet0;
|
|
$1168 = _i64Add($1166 | 0, $1167 | 0, $920 | 0, $921 | 0) | 0;
|
|
$1169 = tempRet0;
|
|
$1170 = _bitshift64Shl($1166 | 0, $1167 | 0, 21) | 0;
|
|
$1171 = tempRet0;
|
|
$1172 = _i64Subtract($958 | 0, $959 | 0, $1170 | 0, $1171 | 0) | 0;
|
|
$1173 = tempRet0;
|
|
$1174 = _i64Add($1084 | 0, $1085 | 0, 1048576, 0) | 0;
|
|
$1175 = tempRet0;
|
|
$1176 = _bitshift64Ashr($1174 | 0, $1175 | 0, 21) | 0;
|
|
$1177 = tempRet0;
|
|
$1178 = _bitshift64Shl($1176 | 0, $1177 | 0, 21) | 0;
|
|
$1179 = tempRet0;
|
|
$1180 = _i64Add($1102 | 0, $1103 | 0, 1048576, 0) | 0;
|
|
$1181 = tempRet0;
|
|
$1182 = _bitshift64Ashr($1180 | 0, $1181 | 0, 21) | 0;
|
|
$1183 = tempRet0;
|
|
$1184 = _bitshift64Shl($1182 | 0, $1183 | 0, 21) | 0;
|
|
$1185 = tempRet0;
|
|
$1186 = _i64Add($1124 | 0, $1125 | 0, 1048576, 0) | 0;
|
|
$1187 = tempRet0;
|
|
$1188 = _bitshift64Ashr($1186 | 0, $1187 | 0, 21) | 0;
|
|
$1189 = tempRet0;
|
|
$1190 = _i64Add($1146 | 0, $1147 | 0, $1188 | 0, $1189 | 0) | 0;
|
|
$1191 = tempRet0;
|
|
$1192 = _bitshift64Shl($1188 | 0, $1189 | 0, 21) | 0;
|
|
$1193 = tempRet0;
|
|
$1194 = _i64Subtract($1124 | 0, $1125 | 0, $1192 | 0, $1193 | 0) | 0;
|
|
$1195 = tempRet0;
|
|
$1196 = _i64Add($1142 | 0, $1143 | 0, 1048576, 0) | 0;
|
|
$1197 = tempRet0;
|
|
$1198 = _bitshift64Ashr($1196 | 0, $1197 | 0, 21) | 0;
|
|
$1199 = tempRet0;
|
|
$1200 = _i64Add($1198 | 0, $1199 | 0, $1162 | 0, $1163 | 0) | 0;
|
|
$1201 = tempRet0;
|
|
$1202 = _bitshift64Shl($1198 | 0, $1199 | 0, 21) | 0;
|
|
$1203 = tempRet0;
|
|
$1204 = _i64Subtract($1142 | 0, $1143 | 0, $1202 | 0, $1203 | 0) | 0;
|
|
$1205 = tempRet0;
|
|
$1206 = _i64Add($1158 | 0, $1159 | 0, 1048576, 0) | 0;
|
|
$1207 = tempRet0;
|
|
$1208 = _bitshift64Ashr($1206 | 0, $1207 | 0, 21) | 0;
|
|
$1209 = tempRet0;
|
|
$1210 = _i64Add($1208 | 0, $1209 | 0, $1172 | 0, $1173 | 0) | 0;
|
|
$1211 = tempRet0;
|
|
$1212 = _bitshift64Shl($1208 | 0, $1209 | 0, 21) | 0;
|
|
$1213 = tempRet0;
|
|
$1214 = _i64Subtract($1158 | 0, $1159 | 0, $1212 | 0, $1213 | 0) | 0;
|
|
$1215 = tempRet0;
|
|
$1216 = ___muldi3($1168 | 0, $1169 | 0, 666643, 0) | 0;
|
|
$1217 = tempRet0;
|
|
$1218 = _i64Add($880 | 0, $881 | 0, $1216 | 0, $1217 | 0) | 0;
|
|
$1219 = tempRet0;
|
|
$1220 = ___muldi3($1168 | 0, $1169 | 0, 470296, 0) | 0;
|
|
$1221 = tempRet0;
|
|
$1222 = ___muldi3($1168 | 0, $1169 | 0, 654183, 0) | 0;
|
|
$1223 = tempRet0;
|
|
$1224 = ___muldi3($1168 | 0, $1169 | 0, -997805, -1) | 0;
|
|
$1225 = tempRet0;
|
|
$1226 = ___muldi3($1168 | 0, $1169 | 0, 136657, 0) | 0;
|
|
$1227 = tempRet0;
|
|
$1228 = ___muldi3($1168 | 0, $1169 | 0, -683901, -1) | 0;
|
|
$1229 = tempRet0;
|
|
$1230 = _i64Add($1070 | 0, $1071 | 0, $1228 | 0, $1229 | 0) | 0;
|
|
$1231 = tempRet0;
|
|
$1232 = _i64Subtract($1230 | 0, $1231 | 0, $1126 | 0, $1127 | 0) | 0;
|
|
$1233 = tempRet0;
|
|
$1234 = _i64Add($1232 | 0, $1233 | 0, $1182 | 0, $1183 | 0) | 0;
|
|
$1235 = tempRet0;
|
|
$1236 = ___muldi3($1210 | 0, $1211 | 0, 666643, 0) | 0;
|
|
$1237 = tempRet0;
|
|
$1238 = _i64Add($868 | 0, $869 | 0, $1236 | 0, $1237 | 0) | 0;
|
|
$1239 = tempRet0;
|
|
$1240 = ___muldi3($1210 | 0, $1211 | 0, 470296, 0) | 0;
|
|
$1241 = tempRet0;
|
|
$1242 = _i64Add($1218 | 0, $1219 | 0, $1240 | 0, $1241 | 0) | 0;
|
|
$1243 = tempRet0;
|
|
$1244 = ___muldi3($1210 | 0, $1211 | 0, 654183, 0) | 0;
|
|
$1245 = tempRet0;
|
|
$1246 = ___muldi3($1210 | 0, $1211 | 0, -997805, -1) | 0;
|
|
$1247 = tempRet0;
|
|
$1248 = ___muldi3($1210 | 0, $1211 | 0, 136657, 0) | 0;
|
|
$1249 = tempRet0;
|
|
$1250 = ___muldi3($1210 | 0, $1211 | 0, -683901, -1) | 0;
|
|
$1251 = tempRet0;
|
|
$1252 = ___muldi3($1214 | 0, $1215 | 0, 666643, 0) | 0;
|
|
$1253 = tempRet0;
|
|
$1254 = _i64Add($872 | 0, $873 | 0, $1252 | 0, $1253 | 0) | 0;
|
|
$1255 = tempRet0;
|
|
$1256 = ___muldi3($1214 | 0, $1215 | 0, 470296, 0) | 0;
|
|
$1257 = tempRet0;
|
|
$1258 = _i64Add($1238 | 0, $1239 | 0, $1256 | 0, $1257 | 0) | 0;
|
|
$1259 = tempRet0;
|
|
$1260 = ___muldi3($1214 | 0, $1215 | 0, 654183, 0) | 0;
|
|
$1261 = tempRet0;
|
|
$1262 = _i64Add($1242 | 0, $1243 | 0, $1260 | 0, $1261 | 0) | 0;
|
|
$1263 = tempRet0;
|
|
$1264 = ___muldi3($1214 | 0, $1215 | 0, -997805, -1) | 0;
|
|
$1265 = tempRet0;
|
|
$1266 = ___muldi3($1214 | 0, $1215 | 0, 136657, 0) | 0;
|
|
$1267 = tempRet0;
|
|
$1268 = ___muldi3($1214 | 0, $1215 | 0, -683901, -1) | 0;
|
|
$1269 = tempRet0;
|
|
$1270 = _i64Add($1052 | 0, $1053 | 0, $1224 | 0, $1225 | 0) | 0;
|
|
$1271 = tempRet0;
|
|
$1272 = _i64Subtract($1270 | 0, $1271 | 0, $1104 | 0, $1105 | 0) | 0;
|
|
$1273 = tempRet0;
|
|
$1274 = _i64Add($1272 | 0, $1273 | 0, $1176 | 0, $1177 | 0) | 0;
|
|
$1275 = tempRet0;
|
|
$1276 = _i64Add($1274 | 0, $1275 | 0, $1248 | 0, $1249 | 0) | 0;
|
|
$1277 = tempRet0;
|
|
$1278 = _i64Add($1276 | 0, $1277 | 0, $1268 | 0, $1269 | 0) | 0;
|
|
$1279 = tempRet0;
|
|
$1280 = ___muldi3($1200 | 0, $1201 | 0, 666643, 0) | 0;
|
|
$1281 = tempRet0;
|
|
$1282 = ___muldi3($1200 | 0, $1201 | 0, 470296, 0) | 0;
|
|
$1283 = tempRet0;
|
|
$1284 = ___muldi3($1200 | 0, $1201 | 0, 654183, 0) | 0;
|
|
$1285 = tempRet0;
|
|
$1286 = ___muldi3($1200 | 0, $1201 | 0, -997805, -1) | 0;
|
|
$1287 = tempRet0;
|
|
$1288 = ___muldi3($1200 | 0, $1201 | 0, 136657, 0) | 0;
|
|
$1289 = tempRet0;
|
|
$1290 = ___muldi3($1200 | 0, $1201 | 0, -683901, -1) | 0;
|
|
$1291 = tempRet0;
|
|
$1292 = ___muldi3($1204 | 0, $1205 | 0, 666643, 0) | 0;
|
|
$1293 = tempRet0;
|
|
$1294 = ___muldi3($1204 | 0, $1205 | 0, 470296, 0) | 0;
|
|
$1295 = tempRet0;
|
|
$1296 = ___muldi3($1204 | 0, $1205 | 0, 654183, 0) | 0;
|
|
$1297 = tempRet0;
|
|
$1298 = ___muldi3($1204 | 0, $1205 | 0, -997805, -1) | 0;
|
|
$1299 = tempRet0;
|
|
$1300 = ___muldi3($1204 | 0, $1205 | 0, 136657, 0) | 0;
|
|
$1301 = tempRet0;
|
|
$1302 = ___muldi3($1204 | 0, $1205 | 0, -683901, -1) | 0;
|
|
$1303 = tempRet0;
|
|
$1304 = _i64Add($1038 | 0, $1039 | 0, $1220 | 0, $1221 | 0) | 0;
|
|
$1305 = tempRet0;
|
|
$1306 = _i64Subtract($1304 | 0, $1305 | 0, $1086 | 0, $1087 | 0) | 0;
|
|
$1307 = tempRet0;
|
|
$1308 = _i64Add($1306 | 0, $1307 | 0, $1244 | 0, $1245 | 0) | 0;
|
|
$1309 = tempRet0;
|
|
$1310 = _i64Add($1308 | 0, $1309 | 0, $1264 | 0, $1265 | 0) | 0;
|
|
$1311 = tempRet0;
|
|
$1312 = _i64Add($1310 | 0, $1311 | 0, $1288 | 0, $1289 | 0) | 0;
|
|
$1313 = tempRet0;
|
|
$1314 = _i64Add($1312 | 0, $1313 | 0, $1302 | 0, $1303 | 0) | 0;
|
|
$1315 = tempRet0;
|
|
$1316 = ___muldi3($1190 | 0, $1191 | 0, 666643, 0) | 0;
|
|
$1317 = tempRet0;
|
|
$1318 = _i64Add($1316 | 0, $1317 | 0, $632 | 0, $633 | 0) | 0;
|
|
$1319 = tempRet0;
|
|
$1320 = ___muldi3($1190 | 0, $1191 | 0, 470296, 0) | 0;
|
|
$1321 = tempRet0;
|
|
$1322 = ___muldi3($1190 | 0, $1191 | 0, 654183, 0) | 0;
|
|
$1323 = tempRet0;
|
|
$1324 = _i64Add($858 | 0, $859 | 0, $216 | 0, $217 | 0) | 0;
|
|
$1325 = tempRet0;
|
|
$1326 = _i64Subtract($1324 | 0, $1325 | 0, $648 | 0, $649 | 0) | 0;
|
|
$1327 = tempRet0;
|
|
$1328 = _i64Add($1326 | 0, $1327 | 0, $1322 | 0, $1323 | 0) | 0;
|
|
$1329 = tempRet0;
|
|
$1330 = _i64Add($1328 | 0, $1329 | 0, $1280 | 0, $1281 | 0) | 0;
|
|
$1331 = tempRet0;
|
|
$1332 = _i64Add($1330 | 0, $1331 | 0, $1294 | 0, $1295 | 0) | 0;
|
|
$1333 = tempRet0;
|
|
$1334 = ___muldi3($1190 | 0, $1191 | 0, -997805, -1) | 0;
|
|
$1335 = tempRet0;
|
|
$1336 = ___muldi3($1190 | 0, $1191 | 0, 136657, 0) | 0;
|
|
$1337 = tempRet0;
|
|
$1338 = _i64Add($1258 | 0, $1259 | 0, $1336 | 0, $1337 | 0) | 0;
|
|
$1339 = tempRet0;
|
|
$1340 = _i64Add($1338 | 0, $1339 | 0, $1284 | 0, $1285 | 0) | 0;
|
|
$1341 = tempRet0;
|
|
$1342 = _i64Add($1340 | 0, $1341 | 0, $1298 | 0, $1299 | 0) | 0;
|
|
$1343 = tempRet0;
|
|
$1344 = ___muldi3($1190 | 0, $1191 | 0, -683901, -1) | 0;
|
|
$1345 = tempRet0;
|
|
$1346 = _i64Add($1318 | 0, $1319 | 0, 1048576, 0) | 0;
|
|
$1347 = tempRet0;
|
|
$1348 = _bitshift64Ashr($1346 | 0, $1347 | 0, 21) | 0;
|
|
$1349 = tempRet0;
|
|
$1350 = _i64Add($862 | 0, $863 | 0, $1320 | 0, $1321 | 0) | 0;
|
|
$1351 = tempRet0;
|
|
$1352 = _i64Add($1350 | 0, $1351 | 0, $1292 | 0, $1293 | 0) | 0;
|
|
$1353 = tempRet0;
|
|
$1354 = _i64Add($1352 | 0, $1353 | 0, $1348 | 0, $1349 | 0) | 0;
|
|
$1355 = tempRet0;
|
|
$1356 = _bitshift64Shl($1348 | 0, $1349 | 0, 21) | 0;
|
|
$1357 = tempRet0;
|
|
$1358 = _i64Subtract($1318 | 0, $1319 | 0, $1356 | 0, $1357 | 0) | 0;
|
|
$1359 = tempRet0;
|
|
$1360 = _i64Add($1332 | 0, $1333 | 0, 1048576, 0) | 0;
|
|
$1361 = tempRet0;
|
|
$1362 = _bitshift64Ashr($1360 | 0, $1361 | 0, 21) | 0;
|
|
$1363 = tempRet0;
|
|
$1364 = _i64Add($1254 | 0, $1255 | 0, $1334 | 0, $1335 | 0) | 0;
|
|
$1365 = tempRet0;
|
|
$1366 = _i64Add($1364 | 0, $1365 | 0, $1282 | 0, $1283 | 0) | 0;
|
|
$1367 = tempRet0;
|
|
$1368 = _i64Add($1366 | 0, $1367 | 0, $1296 | 0, $1297 | 0) | 0;
|
|
$1369 = tempRet0;
|
|
$1370 = _i64Add($1368 | 0, $1369 | 0, $1362 | 0, $1363 | 0) | 0;
|
|
$1371 = tempRet0;
|
|
$1372 = _bitshift64Shl($1362 | 0, $1363 | 0, 21) | 0;
|
|
$1373 = tempRet0;
|
|
$1374 = _i64Add($1342 | 0, $1343 | 0, 1048576, 0) | 0;
|
|
$1375 = tempRet0;
|
|
$1376 = _bitshift64Ashr($1374 | 0, $1375 | 0, 21) | 0;
|
|
$1377 = tempRet0;
|
|
$1378 = _i64Add($1262 | 0, $1263 | 0, $1344 | 0, $1345 | 0) | 0;
|
|
$1379 = tempRet0;
|
|
$1380 = _i64Add($1378 | 0, $1379 | 0, $1286 | 0, $1287 | 0) | 0;
|
|
$1381 = tempRet0;
|
|
$1382 = _i64Add($1380 | 0, $1381 | 0, $1300 | 0, $1301 | 0) | 0;
|
|
$1383 = tempRet0;
|
|
$1384 = _i64Add($1382 | 0, $1383 | 0, $1376 | 0, $1377 | 0) | 0;
|
|
$1385 = tempRet0;
|
|
$1386 = _bitshift64Shl($1376 | 0, $1377 | 0, 21) | 0;
|
|
$1387 = tempRet0;
|
|
$1388 = _i64Add($1314 | 0, $1315 | 0, 1048576, 0) | 0;
|
|
$1389 = tempRet0;
|
|
$1390 = _bitshift64Ashr($1388 | 0, $1389 | 0, 21) | 0;
|
|
$1391 = tempRet0;
|
|
$1392 = _i64Add($1084 | 0, $1085 | 0, $1222 | 0, $1223 | 0) | 0;
|
|
$1393 = tempRet0;
|
|
$1394 = _i64Add($1392 | 0, $1393 | 0, $1246 | 0, $1247 | 0) | 0;
|
|
$1395 = tempRet0;
|
|
$1396 = _i64Subtract($1394 | 0, $1395 | 0, $1178 | 0, $1179 | 0) | 0;
|
|
$1397 = tempRet0;
|
|
$1398 = _i64Add($1396 | 0, $1397 | 0, $1266 | 0, $1267 | 0) | 0;
|
|
$1399 = tempRet0;
|
|
$1400 = _i64Add($1398 | 0, $1399 | 0, $1290 | 0, $1291 | 0) | 0;
|
|
$1401 = tempRet0;
|
|
$1402 = _i64Add($1400 | 0, $1401 | 0, $1390 | 0, $1391 | 0) | 0;
|
|
$1403 = tempRet0;
|
|
$1404 = _bitshift64Shl($1390 | 0, $1391 | 0, 21) | 0;
|
|
$1405 = tempRet0;
|
|
$1406 = _i64Subtract($1314 | 0, $1315 | 0, $1404 | 0, $1405 | 0) | 0;
|
|
$1407 = tempRet0;
|
|
$1408 = _i64Add($1278 | 0, $1279 | 0, 1048576, 0) | 0;
|
|
$1409 = tempRet0;
|
|
$1410 = _bitshift64Ashr($1408 | 0, $1409 | 0, 21) | 0;
|
|
$1411 = tempRet0;
|
|
$1412 = _i64Add($1102 | 0, $1103 | 0, $1226 | 0, $1227 | 0) | 0;
|
|
$1413 = tempRet0;
|
|
$1414 = _i64Add($1412 | 0, $1413 | 0, $1250 | 0, $1251 | 0) | 0;
|
|
$1415 = tempRet0;
|
|
$1416 = _i64Subtract($1414 | 0, $1415 | 0, $1184 | 0, $1185 | 0) | 0;
|
|
$1417 = tempRet0;
|
|
$1418 = _i64Add($1416 | 0, $1417 | 0, $1410 | 0, $1411 | 0) | 0;
|
|
$1419 = tempRet0;
|
|
$1420 = _bitshift64Shl($1410 | 0, $1411 | 0, 21) | 0;
|
|
$1421 = tempRet0;
|
|
$1422 = _i64Subtract($1278 | 0, $1279 | 0, $1420 | 0, $1421 | 0) | 0;
|
|
$1423 = tempRet0;
|
|
$1424 = _i64Add($1234 | 0, $1235 | 0, 1048576, 0) | 0;
|
|
$1425 = tempRet0;
|
|
$1426 = _bitshift64Ashr($1424 | 0, $1425 | 0, 21) | 0;
|
|
$1427 = tempRet0;
|
|
$1428 = _i64Add($1194 | 0, $1195 | 0, $1426 | 0, $1427 | 0) | 0;
|
|
$1429 = tempRet0;
|
|
$1430 = _bitshift64Shl($1426 | 0, $1427 | 0, 21) | 0;
|
|
$1431 = tempRet0;
|
|
$1432 = _i64Subtract($1234 | 0, $1235 | 0, $1430 | 0, $1431 | 0) | 0;
|
|
$1433 = tempRet0;
|
|
$1434 = _i64Add($1354 | 0, $1355 | 0, 1048576, 0) | 0;
|
|
$1435 = tempRet0;
|
|
$1436 = _bitshift64Ashr($1434 | 0, $1435 | 0, 21) | 0;
|
|
$1437 = tempRet0;
|
|
$1438 = _bitshift64Shl($1436 | 0, $1437 | 0, 21) | 0;
|
|
$1439 = tempRet0;
|
|
$1440 = _i64Add($1370 | 0, $1371 | 0, 1048576, 0) | 0;
|
|
$1441 = tempRet0;
|
|
$1442 = _bitshift64Ashr($1440 | 0, $1441 | 0, 21) | 0;
|
|
$1443 = tempRet0;
|
|
$1444 = _bitshift64Shl($1442 | 0, $1443 | 0, 21) | 0;
|
|
$1445 = tempRet0;
|
|
$1446 = _i64Add($1384 | 0, $1385 | 0, 1048576, 0) | 0;
|
|
$1447 = tempRet0;
|
|
$1448 = _bitshift64Ashr($1446 | 0, $1447 | 0, 21) | 0;
|
|
$1449 = tempRet0;
|
|
$1450 = _i64Add($1406 | 0, $1407 | 0, $1448 | 0, $1449 | 0) | 0;
|
|
$1451 = tempRet0;
|
|
$1452 = _bitshift64Shl($1448 | 0, $1449 | 0, 21) | 0;
|
|
$1453 = tempRet0;
|
|
$1454 = _i64Add($1402 | 0, $1403 | 0, 1048576, 0) | 0;
|
|
$1455 = tempRet0;
|
|
$1456 = _bitshift64Ashr($1454 | 0, $1455 | 0, 21) | 0;
|
|
$1457 = tempRet0;
|
|
$1458 = _i64Add($1422 | 0, $1423 | 0, $1456 | 0, $1457 | 0) | 0;
|
|
$1459 = tempRet0;
|
|
$1460 = _bitshift64Shl($1456 | 0, $1457 | 0, 21) | 0;
|
|
$1461 = tempRet0;
|
|
$1462 = _i64Subtract($1402 | 0, $1403 | 0, $1460 | 0, $1461 | 0) | 0;
|
|
$1463 = tempRet0;
|
|
$1464 = _i64Add($1418 | 0, $1419 | 0, 1048576, 0) | 0;
|
|
$1465 = tempRet0;
|
|
$1466 = _bitshift64Ashr($1464 | 0, $1465 | 0, 21) | 0;
|
|
$1467 = tempRet0;
|
|
$1468 = _i64Add($1432 | 0, $1433 | 0, $1466 | 0, $1467 | 0) | 0;
|
|
$1469 = tempRet0;
|
|
$1470 = _bitshift64Shl($1466 | 0, $1467 | 0, 21) | 0;
|
|
$1471 = tempRet0;
|
|
$1472 = _i64Subtract($1418 | 0, $1419 | 0, $1470 | 0, $1471 | 0) | 0;
|
|
$1473 = tempRet0;
|
|
$1474 = _i64Add($1428 | 0, $1429 | 0, 1048576, 0) | 0;
|
|
$1475 = tempRet0;
|
|
$1476 = _bitshift64Ashr($1474 | 0, $1475 | 0, 21) | 0;
|
|
$1477 = tempRet0;
|
|
$1478 = _bitshift64Shl($1476 | 0, $1477 | 0, 21) | 0;
|
|
$1479 = tempRet0;
|
|
$1480 = _i64Subtract($1428 | 0, $1429 | 0, $1478 | 0, $1479 | 0) | 0;
|
|
$1481 = tempRet0;
|
|
$1482 = ___muldi3($1476 | 0, $1477 | 0, 666643, 0) | 0;
|
|
$1483 = tempRet0;
|
|
$1484 = _i64Add($1358 | 0, $1359 | 0, $1482 | 0, $1483 | 0) | 0;
|
|
$1485 = tempRet0;
|
|
$1486 = ___muldi3($1476 | 0, $1477 | 0, 470296, 0) | 0;
|
|
$1487 = tempRet0;
|
|
$1488 = ___muldi3($1476 | 0, $1477 | 0, 654183, 0) | 0;
|
|
$1489 = tempRet0;
|
|
$1490 = ___muldi3($1476 | 0, $1477 | 0, -997805, -1) | 0;
|
|
$1491 = tempRet0;
|
|
$1492 = ___muldi3($1476 | 0, $1477 | 0, 136657, 0) | 0;
|
|
$1493 = tempRet0;
|
|
$1494 = ___muldi3($1476 | 0, $1477 | 0, -683901, -1) | 0;
|
|
$1495 = tempRet0;
|
|
$1496 = _bitshift64Ashr($1484 | 0, $1485 | 0, 21) | 0;
|
|
$1497 = tempRet0;
|
|
$1498 = _i64Add($1486 | 0, $1487 | 0, $1354 | 0, $1355 | 0) | 0;
|
|
$1499 = tempRet0;
|
|
$1500 = _i64Subtract($1498 | 0, $1499 | 0, $1438 | 0, $1439 | 0) | 0;
|
|
$1501 = tempRet0;
|
|
$1502 = _i64Add($1500 | 0, $1501 | 0, $1496 | 0, $1497 | 0) | 0;
|
|
$1503 = tempRet0;
|
|
$1504 = _bitshift64Shl($1496 | 0, $1497 | 0, 21) | 0;
|
|
$1505 = tempRet0;
|
|
$1506 = _i64Subtract($1484 | 0, $1485 | 0, $1504 | 0, $1505 | 0) | 0;
|
|
$1507 = tempRet0;
|
|
$1508 = _bitshift64Ashr($1502 | 0, $1503 | 0, 21) | 0;
|
|
$1509 = tempRet0;
|
|
$1510 = _i64Add($1488 | 0, $1489 | 0, $1332 | 0, $1333 | 0) | 0;
|
|
$1511 = tempRet0;
|
|
$1512 = _i64Subtract($1510 | 0, $1511 | 0, $1372 | 0, $1373 | 0) | 0;
|
|
$1513 = tempRet0;
|
|
$1514 = _i64Add($1512 | 0, $1513 | 0, $1436 | 0, $1437 | 0) | 0;
|
|
$1515 = tempRet0;
|
|
$1516 = _i64Add($1514 | 0, $1515 | 0, $1508 | 0, $1509 | 0) | 0;
|
|
$1517 = tempRet0;
|
|
$1518 = _bitshift64Shl($1508 | 0, $1509 | 0, 21) | 0;
|
|
$1519 = tempRet0;
|
|
$1520 = _i64Subtract($1502 | 0, $1503 | 0, $1518 | 0, $1519 | 0) | 0;
|
|
$1521 = tempRet0;
|
|
$1522 = _bitshift64Ashr($1516 | 0, $1517 | 0, 21) | 0;
|
|
$1523 = tempRet0;
|
|
$1524 = _i64Add($1370 | 0, $1371 | 0, $1490 | 0, $1491 | 0) | 0;
|
|
$1525 = tempRet0;
|
|
$1526 = _i64Subtract($1524 | 0, $1525 | 0, $1444 | 0, $1445 | 0) | 0;
|
|
$1527 = tempRet0;
|
|
$1528 = _i64Add($1526 | 0, $1527 | 0, $1522 | 0, $1523 | 0) | 0;
|
|
$1529 = tempRet0;
|
|
$1530 = _bitshift64Shl($1522 | 0, $1523 | 0, 21) | 0;
|
|
$1531 = tempRet0;
|
|
$1532 = _i64Subtract($1516 | 0, $1517 | 0, $1530 | 0, $1531 | 0) | 0;
|
|
$1533 = tempRet0;
|
|
$1534 = _bitshift64Ashr($1528 | 0, $1529 | 0, 21) | 0;
|
|
$1535 = tempRet0;
|
|
$1536 = _i64Add($1492 | 0, $1493 | 0, $1342 | 0, $1343 | 0) | 0;
|
|
$1537 = tempRet0;
|
|
$1538 = _i64Subtract($1536 | 0, $1537 | 0, $1386 | 0, $1387 | 0) | 0;
|
|
$1539 = tempRet0;
|
|
$1540 = _i64Add($1538 | 0, $1539 | 0, $1442 | 0, $1443 | 0) | 0;
|
|
$1541 = tempRet0;
|
|
$1542 = _i64Add($1540 | 0, $1541 | 0, $1534 | 0, $1535 | 0) | 0;
|
|
$1543 = tempRet0;
|
|
$1544 = _bitshift64Shl($1534 | 0, $1535 | 0, 21) | 0;
|
|
$1545 = tempRet0;
|
|
$1546 = _i64Subtract($1528 | 0, $1529 | 0, $1544 | 0, $1545 | 0) | 0;
|
|
$1547 = tempRet0;
|
|
$1548 = _bitshift64Ashr($1542 | 0, $1543 | 0, 21) | 0;
|
|
$1549 = tempRet0;
|
|
$1550 = _i64Add($1384 | 0, $1385 | 0, $1494 | 0, $1495 | 0) | 0;
|
|
$1551 = tempRet0;
|
|
$1552 = _i64Subtract($1550 | 0, $1551 | 0, $1452 | 0, $1453 | 0) | 0;
|
|
$1553 = tempRet0;
|
|
$1554 = _i64Add($1552 | 0, $1553 | 0, $1548 | 0, $1549 | 0) | 0;
|
|
$1555 = tempRet0;
|
|
$1556 = _bitshift64Shl($1548 | 0, $1549 | 0, 21) | 0;
|
|
$1557 = tempRet0;
|
|
$1558 = _i64Subtract($1542 | 0, $1543 | 0, $1556 | 0, $1557 | 0) | 0;
|
|
$1559 = tempRet0;
|
|
$1560 = _bitshift64Ashr($1554 | 0, $1555 | 0, 21) | 0;
|
|
$1561 = tempRet0;
|
|
$1562 = _i64Add($1450 | 0, $1451 | 0, $1560 | 0, $1561 | 0) | 0;
|
|
$1563 = tempRet0;
|
|
$1564 = _bitshift64Shl($1560 | 0, $1561 | 0, 21) | 0;
|
|
$1565 = tempRet0;
|
|
$1566 = _i64Subtract($1554 | 0, $1555 | 0, $1564 | 0, $1565 | 0) | 0;
|
|
$1567 = tempRet0;
|
|
$1568 = _bitshift64Ashr($1562 | 0, $1563 | 0, 21) | 0;
|
|
$1569 = tempRet0;
|
|
$1570 = _i64Add($1568 | 0, $1569 | 0, $1462 | 0, $1463 | 0) | 0;
|
|
$1571 = tempRet0;
|
|
$1572 = _bitshift64Shl($1568 | 0, $1569 | 0, 21) | 0;
|
|
$1573 = tempRet0;
|
|
$1574 = _i64Subtract($1562 | 0, $1563 | 0, $1572 | 0, $1573 | 0) | 0;
|
|
$1575 = tempRet0;
|
|
$1576 = _bitshift64Ashr($1570 | 0, $1571 | 0, 21) | 0;
|
|
$1577 = tempRet0;
|
|
$1578 = _i64Add($1458 | 0, $1459 | 0, $1576 | 0, $1577 | 0) | 0;
|
|
$1579 = tempRet0;
|
|
$1580 = _bitshift64Shl($1576 | 0, $1577 | 0, 21) | 0;
|
|
$1581 = tempRet0;
|
|
$1582 = _i64Subtract($1570 | 0, $1571 | 0, $1580 | 0, $1581 | 0) | 0;
|
|
$1583 = tempRet0;
|
|
$1584 = _bitshift64Ashr($1578 | 0, $1579 | 0, 21) | 0;
|
|
$1585 = tempRet0;
|
|
$1586 = _i64Add($1584 | 0, $1585 | 0, $1472 | 0, $1473 | 0) | 0;
|
|
$1587 = tempRet0;
|
|
$1588 = _bitshift64Shl($1584 | 0, $1585 | 0, 21) | 0;
|
|
$1589 = tempRet0;
|
|
$1590 = _i64Subtract($1578 | 0, $1579 | 0, $1588 | 0, $1589 | 0) | 0;
|
|
$1591 = tempRet0;
|
|
$1592 = _bitshift64Ashr($1586 | 0, $1587 | 0, 21) | 0;
|
|
$1593 = tempRet0;
|
|
$1594 = _i64Add($1468 | 0, $1469 | 0, $1592 | 0, $1593 | 0) | 0;
|
|
$1595 = tempRet0;
|
|
$1596 = _bitshift64Shl($1592 | 0, $1593 | 0, 21) | 0;
|
|
$1597 = tempRet0;
|
|
$1598 = _i64Subtract($1586 | 0, $1587 | 0, $1596 | 0, $1597 | 0) | 0;
|
|
$1599 = tempRet0;
|
|
$1600 = _bitshift64Ashr($1594 | 0, $1595 | 0, 21) | 0;
|
|
$1601 = tempRet0;
|
|
$1602 = _i64Add($1600 | 0, $1601 | 0, $1480 | 0, $1481 | 0) | 0;
|
|
$1603 = tempRet0;
|
|
$1604 = _bitshift64Shl($1600 | 0, $1601 | 0, 21) | 0;
|
|
$1605 = tempRet0;
|
|
$1606 = _i64Subtract($1594 | 0, $1595 | 0, $1604 | 0, $1605 | 0) | 0;
|
|
$1607 = tempRet0;
|
|
$1608 = _bitshift64Ashr($1602 | 0, $1603 | 0, 21) | 0;
|
|
$1609 = tempRet0;
|
|
$1610 = _bitshift64Shl($1608 | 0, $1609 | 0, 21) | 0;
|
|
$1611 = tempRet0;
|
|
$1612 = _i64Subtract($1602 | 0, $1603 | 0, $1610 | 0, $1611 | 0) | 0;
|
|
$1613 = tempRet0;
|
|
$1614 = ___muldi3($1608 | 0, $1609 | 0, 666643, 0) | 0;
|
|
$1615 = tempRet0;
|
|
$1616 = _i64Add($1614 | 0, $1615 | 0, $1506 | 0, $1507 | 0) | 0;
|
|
$1617 = tempRet0;
|
|
$1618 = ___muldi3($1608 | 0, $1609 | 0, 470296, 0) | 0;
|
|
$1619 = tempRet0;
|
|
$1620 = _i64Add($1520 | 0, $1521 | 0, $1618 | 0, $1619 | 0) | 0;
|
|
$1621 = tempRet0;
|
|
$1622 = ___muldi3($1608 | 0, $1609 | 0, 654183, 0) | 0;
|
|
$1623 = tempRet0;
|
|
$1624 = _i64Add($1532 | 0, $1533 | 0, $1622 | 0, $1623 | 0) | 0;
|
|
$1625 = tempRet0;
|
|
$1626 = ___muldi3($1608 | 0, $1609 | 0, -997805, -1) | 0;
|
|
$1627 = tempRet0;
|
|
$1628 = _i64Add($1546 | 0, $1547 | 0, $1626 | 0, $1627 | 0) | 0;
|
|
$1629 = tempRet0;
|
|
$1630 = ___muldi3($1608 | 0, $1609 | 0, 136657, 0) | 0;
|
|
$1631 = tempRet0;
|
|
$1632 = _i64Add($1558 | 0, $1559 | 0, $1630 | 0, $1631 | 0) | 0;
|
|
$1633 = tempRet0;
|
|
$1634 = ___muldi3($1608 | 0, $1609 | 0, -683901, -1) | 0;
|
|
$1635 = tempRet0;
|
|
$1636 = _i64Add($1566 | 0, $1567 | 0, $1634 | 0, $1635 | 0) | 0;
|
|
$1637 = tempRet0;
|
|
$1638 = _bitshift64Ashr($1616 | 0, $1617 | 0, 21) | 0;
|
|
$1639 = tempRet0;
|
|
$1640 = _i64Add($1620 | 0, $1621 | 0, $1638 | 0, $1639 | 0) | 0;
|
|
$1641 = tempRet0;
|
|
$1642 = _bitshift64Shl($1638 | 0, $1639 | 0, 21) | 0;
|
|
$1643 = tempRet0;
|
|
$1644 = _i64Subtract($1616 | 0, $1617 | 0, $1642 | 0, $1643 | 0) | 0;
|
|
$1645 = tempRet0;
|
|
$1646 = _bitshift64Ashr($1640 | 0, $1641 | 0, 21) | 0;
|
|
$1647 = tempRet0;
|
|
$1648 = _i64Add($1624 | 0, $1625 | 0, $1646 | 0, $1647 | 0) | 0;
|
|
$1649 = tempRet0;
|
|
$1650 = _bitshift64Shl($1646 | 0, $1647 | 0, 21) | 0;
|
|
$1651 = tempRet0;
|
|
$1652 = _i64Subtract($1640 | 0, $1641 | 0, $1650 | 0, $1651 | 0) | 0;
|
|
$1653 = tempRet0;
|
|
$1654 = _bitshift64Ashr($1648 | 0, $1649 | 0, 21) | 0;
|
|
$1655 = tempRet0;
|
|
$1656 = _i64Add($1628 | 0, $1629 | 0, $1654 | 0, $1655 | 0) | 0;
|
|
$1657 = tempRet0;
|
|
$1658 = _bitshift64Shl($1654 | 0, $1655 | 0, 21) | 0;
|
|
$1659 = tempRet0;
|
|
$1660 = _i64Subtract($1648 | 0, $1649 | 0, $1658 | 0, $1659 | 0) | 0;
|
|
$1661 = tempRet0;
|
|
$1662 = _bitshift64Ashr($1656 | 0, $1657 | 0, 21) | 0;
|
|
$1663 = tempRet0;
|
|
$1664 = _i64Add($1632 | 0, $1633 | 0, $1662 | 0, $1663 | 0) | 0;
|
|
$1665 = tempRet0;
|
|
$1666 = _bitshift64Shl($1662 | 0, $1663 | 0, 21) | 0;
|
|
$1667 = tempRet0;
|
|
$1668 = _i64Subtract($1656 | 0, $1657 | 0, $1666 | 0, $1667 | 0) | 0;
|
|
$1669 = tempRet0;
|
|
$1670 = _bitshift64Ashr($1664 | 0, $1665 | 0, 21) | 0;
|
|
$1671 = tempRet0;
|
|
$1672 = _i64Add($1636 | 0, $1637 | 0, $1670 | 0, $1671 | 0) | 0;
|
|
$1673 = tempRet0;
|
|
$1674 = _bitshift64Shl($1670 | 0, $1671 | 0, 21) | 0;
|
|
$1675 = tempRet0;
|
|
$1676 = _i64Subtract($1664 | 0, $1665 | 0, $1674 | 0, $1675 | 0) | 0;
|
|
$1677 = tempRet0;
|
|
$1678 = _bitshift64Ashr($1672 | 0, $1673 | 0, 21) | 0;
|
|
$1679 = tempRet0;
|
|
$1680 = _i64Add($1678 | 0, $1679 | 0, $1574 | 0, $1575 | 0) | 0;
|
|
$1681 = tempRet0;
|
|
$1682 = _bitshift64Shl($1678 | 0, $1679 | 0, 21) | 0;
|
|
$1683 = tempRet0;
|
|
$1684 = _i64Subtract($1672 | 0, $1673 | 0, $1682 | 0, $1683 | 0) | 0;
|
|
$1685 = tempRet0;
|
|
$1686 = _bitshift64Ashr($1680 | 0, $1681 | 0, 21) | 0;
|
|
$1687 = tempRet0;
|
|
$1688 = _i64Add($1686 | 0, $1687 | 0, $1582 | 0, $1583 | 0) | 0;
|
|
$1689 = tempRet0;
|
|
$1690 = _bitshift64Shl($1686 | 0, $1687 | 0, 21) | 0;
|
|
$1691 = tempRet0;
|
|
$1692 = _i64Subtract($1680 | 0, $1681 | 0, $1690 | 0, $1691 | 0) | 0;
|
|
$1693 = tempRet0;
|
|
$1694 = _bitshift64Ashr($1688 | 0, $1689 | 0, 21) | 0;
|
|
$1695 = tempRet0;
|
|
$1696 = _i64Add($1694 | 0, $1695 | 0, $1590 | 0, $1591 | 0) | 0;
|
|
$1697 = tempRet0;
|
|
$1698 = _bitshift64Shl($1694 | 0, $1695 | 0, 21) | 0;
|
|
$1699 = tempRet0;
|
|
$1700 = _i64Subtract($1688 | 0, $1689 | 0, $1698 | 0, $1699 | 0) | 0;
|
|
$1701 = tempRet0;
|
|
$1702 = _bitshift64Ashr($1696 | 0, $1697 | 0, 21) | 0;
|
|
$1703 = tempRet0;
|
|
$1704 = _i64Add($1702 | 0, $1703 | 0, $1598 | 0, $1599 | 0) | 0;
|
|
$1705 = tempRet0;
|
|
$1706 = _bitshift64Shl($1702 | 0, $1703 | 0, 21) | 0;
|
|
$1707 = tempRet0;
|
|
$1708 = _i64Subtract($1696 | 0, $1697 | 0, $1706 | 0, $1707 | 0) | 0;
|
|
$1709 = tempRet0;
|
|
$1710 = _bitshift64Ashr($1704 | 0, $1705 | 0, 21) | 0;
|
|
$1711 = tempRet0;
|
|
$1712 = _i64Add($1710 | 0, $1711 | 0, $1606 | 0, $1607 | 0) | 0;
|
|
$1713 = tempRet0;
|
|
$1714 = _bitshift64Shl($1710 | 0, $1711 | 0, 21) | 0;
|
|
$1715 = tempRet0;
|
|
$1716 = _i64Subtract($1704 | 0, $1705 | 0, $1714 | 0, $1715 | 0) | 0;
|
|
$1717 = tempRet0;
|
|
$1718 = _bitshift64Ashr($1712 | 0, $1713 | 0, 21) | 0;
|
|
$1719 = tempRet0;
|
|
$1720 = _i64Add($1718 | 0, $1719 | 0, $1612 | 0, $1613 | 0) | 0;
|
|
$1721 = tempRet0;
|
|
$1722 = _bitshift64Shl($1718 | 0, $1719 | 0, 21) | 0;
|
|
$1723 = tempRet0;
|
|
$1724 = _i64Subtract($1712 | 0, $1713 | 0, $1722 | 0, $1723 | 0) | 0;
|
|
$1725 = tempRet0;
|
|
$1726 = $1644 & 255;
|
|
HEAP8[$s >> 0] = $1726;
|
|
$1727 = _bitshift64Lshr($1644 | 0, $1645 | 0, 8) | 0;
|
|
$1728 = tempRet0;
|
|
$1729 = $1727 & 255;
|
|
$1730 = ($s + 1) | 0;
|
|
HEAP8[$1730 >> 0] = $1729;
|
|
$1731 = _bitshift64Lshr($1644 | 0, $1645 | 0, 16) | 0;
|
|
$1732 = tempRet0;
|
|
$1733 = _bitshift64Shl($1652 | 0, $1653 | 0, 5) | 0;
|
|
$1734 = tempRet0;
|
|
$1735 = $1733 | $1731;
|
|
$1734 | $1732;
|
|
$1736 = $1735 & 255;
|
|
$1737 = ($s + 2) | 0;
|
|
HEAP8[$1737 >> 0] = $1736;
|
|
$1738 = _bitshift64Lshr($1652 | 0, $1653 | 0, 3) | 0;
|
|
$1739 = tempRet0;
|
|
$1740 = $1738 & 255;
|
|
$1741 = ($s + 3) | 0;
|
|
HEAP8[$1741 >> 0] = $1740;
|
|
$1742 = _bitshift64Lshr($1652 | 0, $1653 | 0, 11) | 0;
|
|
$1743 = tempRet0;
|
|
$1744 = $1742 & 255;
|
|
$1745 = ($s + 4) | 0;
|
|
HEAP8[$1745 >> 0] = $1744;
|
|
$1746 = _bitshift64Lshr($1652 | 0, $1653 | 0, 19) | 0;
|
|
$1747 = tempRet0;
|
|
$1748 = _bitshift64Shl($1660 | 0, $1661 | 0, 2) | 0;
|
|
$1749 = tempRet0;
|
|
$1750 = $1748 | $1746;
|
|
$1749 | $1747;
|
|
$1751 = $1750 & 255;
|
|
$1752 = ($s + 5) | 0;
|
|
HEAP8[$1752 >> 0] = $1751;
|
|
$1753 = _bitshift64Lshr($1660 | 0, $1661 | 0, 6) | 0;
|
|
$1754 = tempRet0;
|
|
$1755 = $1753 & 255;
|
|
$1756 = ($s + 6) | 0;
|
|
HEAP8[$1756 >> 0] = $1755;
|
|
$1757 = _bitshift64Lshr($1660 | 0, $1661 | 0, 14) | 0;
|
|
$1758 = tempRet0;
|
|
$1759 = _bitshift64Shl($1668 | 0, $1669 | 0, 7) | 0;
|
|
$1760 = tempRet0;
|
|
$1761 = $1759 | $1757;
|
|
$1760 | $1758;
|
|
$1762 = $1761 & 255;
|
|
$1763 = ($s + 7) | 0;
|
|
HEAP8[$1763 >> 0] = $1762;
|
|
$1764 = _bitshift64Lshr($1668 | 0, $1669 | 0, 1) | 0;
|
|
$1765 = tempRet0;
|
|
$1766 = $1764 & 255;
|
|
$1767 = ($s + 8) | 0;
|
|
HEAP8[$1767 >> 0] = $1766;
|
|
$1768 = _bitshift64Lshr($1668 | 0, $1669 | 0, 9) | 0;
|
|
$1769 = tempRet0;
|
|
$1770 = $1768 & 255;
|
|
$1771 = ($s + 9) | 0;
|
|
HEAP8[$1771 >> 0] = $1770;
|
|
$1772 = _bitshift64Lshr($1668 | 0, $1669 | 0, 17) | 0;
|
|
$1773 = tempRet0;
|
|
$1774 = _bitshift64Shl($1676 | 0, $1677 | 0, 4) | 0;
|
|
$1775 = tempRet0;
|
|
$1776 = $1774 | $1772;
|
|
$1775 | $1773;
|
|
$1777 = $1776 & 255;
|
|
$1778 = ($s + 10) | 0;
|
|
HEAP8[$1778 >> 0] = $1777;
|
|
$1779 = _bitshift64Lshr($1676 | 0, $1677 | 0, 4) | 0;
|
|
$1780 = tempRet0;
|
|
$1781 = $1779 & 255;
|
|
$1782 = ($s + 11) | 0;
|
|
HEAP8[$1782 >> 0] = $1781;
|
|
$1783 = _bitshift64Lshr($1676 | 0, $1677 | 0, 12) | 0;
|
|
$1784 = tempRet0;
|
|
$1785 = $1783 & 255;
|
|
$1786 = ($s + 12) | 0;
|
|
HEAP8[$1786 >> 0] = $1785;
|
|
$1787 = _bitshift64Lshr($1676 | 0, $1677 | 0, 20) | 0;
|
|
$1788 = tempRet0;
|
|
$1789 = _bitshift64Shl($1684 | 0, $1685 | 0, 1) | 0;
|
|
$1790 = tempRet0;
|
|
$1791 = $1789 | $1787;
|
|
$1790 | $1788;
|
|
$1792 = $1791 & 255;
|
|
$1793 = ($s + 13) | 0;
|
|
HEAP8[$1793 >> 0] = $1792;
|
|
$1794 = _bitshift64Lshr($1684 | 0, $1685 | 0, 7) | 0;
|
|
$1795 = tempRet0;
|
|
$1796 = $1794 & 255;
|
|
$1797 = ($s + 14) | 0;
|
|
HEAP8[$1797 >> 0] = $1796;
|
|
$1798 = _bitshift64Lshr($1684 | 0, $1685 | 0, 15) | 0;
|
|
$1799 = tempRet0;
|
|
$1800 = _bitshift64Shl($1692 | 0, $1693 | 0, 6) | 0;
|
|
$1801 = tempRet0;
|
|
$1802 = $1800 | $1798;
|
|
$1801 | $1799;
|
|
$1803 = $1802 & 255;
|
|
$1804 = ($s + 15) | 0;
|
|
HEAP8[$1804 >> 0] = $1803;
|
|
$1805 = _bitshift64Lshr($1692 | 0, $1693 | 0, 2) | 0;
|
|
$1806 = tempRet0;
|
|
$1807 = $1805 & 255;
|
|
$1808 = ($s + 16) | 0;
|
|
HEAP8[$1808 >> 0] = $1807;
|
|
$1809 = _bitshift64Lshr($1692 | 0, $1693 | 0, 10) | 0;
|
|
$1810 = tempRet0;
|
|
$1811 = $1809 & 255;
|
|
$1812 = ($s + 17) | 0;
|
|
HEAP8[$1812 >> 0] = $1811;
|
|
$1813 = _bitshift64Lshr($1692 | 0, $1693 | 0, 18) | 0;
|
|
$1814 = tempRet0;
|
|
$1815 = _bitshift64Shl($1700 | 0, $1701 | 0, 3) | 0;
|
|
$1816 = tempRet0;
|
|
$1817 = $1815 | $1813;
|
|
$1816 | $1814;
|
|
$1818 = $1817 & 255;
|
|
$1819 = ($s + 18) | 0;
|
|
HEAP8[$1819 >> 0] = $1818;
|
|
$1820 = _bitshift64Lshr($1700 | 0, $1701 | 0, 5) | 0;
|
|
$1821 = tempRet0;
|
|
$1822 = $1820 & 255;
|
|
$1823 = ($s + 19) | 0;
|
|
HEAP8[$1823 >> 0] = $1822;
|
|
$1824 = _bitshift64Lshr($1700 | 0, $1701 | 0, 13) | 0;
|
|
$1825 = tempRet0;
|
|
$1826 = $1824 & 255;
|
|
$1827 = ($s + 20) | 0;
|
|
HEAP8[$1827 >> 0] = $1826;
|
|
$1828 = $1708 & 255;
|
|
$1829 = ($s + 21) | 0;
|
|
HEAP8[$1829 >> 0] = $1828;
|
|
$1830 = _bitshift64Lshr($1708 | 0, $1709 | 0, 8) | 0;
|
|
$1831 = tempRet0;
|
|
$1832 = $1830 & 255;
|
|
$1833 = ($s + 22) | 0;
|
|
HEAP8[$1833 >> 0] = $1832;
|
|
$1834 = _bitshift64Lshr($1708 | 0, $1709 | 0, 16) | 0;
|
|
$1835 = tempRet0;
|
|
$1836 = _bitshift64Shl($1716 | 0, $1717 | 0, 5) | 0;
|
|
$1837 = tempRet0;
|
|
$1838 = $1836 | $1834;
|
|
$1837 | $1835;
|
|
$1839 = $1838 & 255;
|
|
$1840 = ($s + 23) | 0;
|
|
HEAP8[$1840 >> 0] = $1839;
|
|
$1841 = _bitshift64Lshr($1716 | 0, $1717 | 0, 3) | 0;
|
|
$1842 = tempRet0;
|
|
$1843 = $1841 & 255;
|
|
$1844 = ($s + 24) | 0;
|
|
HEAP8[$1844 >> 0] = $1843;
|
|
$1845 = _bitshift64Lshr($1716 | 0, $1717 | 0, 11) | 0;
|
|
$1846 = tempRet0;
|
|
$1847 = $1845 & 255;
|
|
$1848 = ($s + 25) | 0;
|
|
HEAP8[$1848 >> 0] = $1847;
|
|
$1849 = _bitshift64Lshr($1716 | 0, $1717 | 0, 19) | 0;
|
|
$1850 = tempRet0;
|
|
$1851 = _bitshift64Shl($1724 | 0, $1725 | 0, 2) | 0;
|
|
$1852 = tempRet0;
|
|
$1853 = $1851 | $1849;
|
|
$1852 | $1850;
|
|
$1854 = $1853 & 255;
|
|
$1855 = ($s + 26) | 0;
|
|
HEAP8[$1855 >> 0] = $1854;
|
|
$1856 = _bitshift64Lshr($1724 | 0, $1725 | 0, 6) | 0;
|
|
$1857 = tempRet0;
|
|
$1858 = $1856 & 255;
|
|
$1859 = ($s + 27) | 0;
|
|
HEAP8[$1859 >> 0] = $1858;
|
|
$1860 = _bitshift64Lshr($1724 | 0, $1725 | 0, 14) | 0;
|
|
$1861 = tempRet0;
|
|
$1862 = _bitshift64Shl($1720 | 0, $1721 | 0, 7) | 0;
|
|
$1863 = tempRet0;
|
|
$1864 = $1860 | $1862;
|
|
$1861 | $1863;
|
|
$1865 = $1864 & 255;
|
|
$1866 = ($s + 28) | 0;
|
|
HEAP8[$1866 >> 0] = $1865;
|
|
$1867 = _bitshift64Lshr($1720 | 0, $1721 | 0, 1) | 0;
|
|
$1868 = tempRet0;
|
|
$1869 = $1867 & 255;
|
|
$1870 = ($s + 29) | 0;
|
|
HEAP8[$1870 >> 0] = $1869;
|
|
$1871 = _bitshift64Lshr($1720 | 0, $1721 | 0, 9) | 0;
|
|
$1872 = tempRet0;
|
|
$1873 = $1871 & 255;
|
|
$1874 = ($s + 30) | 0;
|
|
HEAP8[$1874 >> 0] = $1873;
|
|
$1875 = _bitshift64Lshr($1720 | 0, $1721 | 0, 17) | 0;
|
|
$1876 = tempRet0;
|
|
$1877 = $1875 & 255;
|
|
$1878 = ($s + 31) | 0;
|
|
HEAP8[$1878 >> 0] = $1877;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _load_347($in) {
|
|
$in = $in | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP8[$in >> 0] | 0;
|
|
$1 = $0 & 255;
|
|
$2 = ($in + 1) | 0;
|
|
$3 = HEAP8[$2 >> 0] | 0;
|
|
$4 = $3 & 255;
|
|
$5 = _bitshift64Shl($4 | 0, 0, 8) | 0;
|
|
$6 = tempRet0;
|
|
$7 = $5 | $1;
|
|
$8 = ($in + 2) | 0;
|
|
$9 = HEAP8[$8 >> 0] | 0;
|
|
$10 = $9 & 255;
|
|
$11 = _bitshift64Shl($10 | 0, 0, 16) | 0;
|
|
$12 = tempRet0;
|
|
$13 = $7 | $11;
|
|
$14 = $6 | $12;
|
|
tempRet0 = $14;
|
|
STACKTOP = sp;
|
|
return $13 | 0;
|
|
}
|
|
function _load_448($in) {
|
|
$in = $in | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0;
|
|
var $8 = 0,
|
|
$9 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP8[$in >> 0] | 0;
|
|
$1 = $0 & 255;
|
|
$2 = ($in + 1) | 0;
|
|
$3 = HEAP8[$2 >> 0] | 0;
|
|
$4 = $3 & 255;
|
|
$5 = _bitshift64Shl($4 | 0, 0, 8) | 0;
|
|
$6 = tempRet0;
|
|
$7 = $5 | $1;
|
|
$8 = ($in + 2) | 0;
|
|
$9 = HEAP8[$8 >> 0] | 0;
|
|
$10 = $9 & 255;
|
|
$11 = _bitshift64Shl($10 | 0, 0, 16) | 0;
|
|
$12 = tempRet0;
|
|
$13 = $7 | $11;
|
|
$14 = $6 | $12;
|
|
$15 = ($in + 3) | 0;
|
|
$16 = HEAP8[$15 >> 0] | 0;
|
|
$17 = $16 & 255;
|
|
$18 = _bitshift64Shl($17 | 0, 0, 24) | 0;
|
|
$19 = tempRet0;
|
|
$20 = $13 | $18;
|
|
$21 = $14 | $19;
|
|
tempRet0 = $21;
|
|
STACKTOP = sp;
|
|
return $20 | 0;
|
|
}
|
|
function _crypto_sign_ed25519_ref10_sc_reduce($s) {
|
|
$s = $s | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$1000 = 0,
|
|
$1001 = 0,
|
|
$1002 = 0,
|
|
$1003 = 0,
|
|
$1004 = 0,
|
|
$1005 = 0,
|
|
$1006 = 0,
|
|
$1007 = 0,
|
|
$1008 = 0,
|
|
$1009 = 0,
|
|
$101 = 0,
|
|
$1010 = 0,
|
|
$1011 = 0,
|
|
$1012 = 0,
|
|
$1013 = 0,
|
|
$1014 = 0;
|
|
var $1015 = 0,
|
|
$1016 = 0,
|
|
$1017 = 0,
|
|
$1018 = 0,
|
|
$1019 = 0,
|
|
$102 = 0,
|
|
$1020 = 0,
|
|
$1021 = 0,
|
|
$1022 = 0,
|
|
$103 = 0,
|
|
$104 = 0,
|
|
$105 = 0,
|
|
$106 = 0,
|
|
$107 = 0,
|
|
$108 = 0,
|
|
$109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0;
|
|
var $113 = 0,
|
|
$114 = 0,
|
|
$115 = 0,
|
|
$116 = 0,
|
|
$117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0,
|
|
$124 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0;
|
|
var $131 = 0,
|
|
$132 = 0,
|
|
$133 = 0,
|
|
$134 = 0,
|
|
$135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$138 = 0,
|
|
$139 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$141 = 0,
|
|
$142 = 0,
|
|
$143 = 0,
|
|
$144 = 0,
|
|
$145 = 0,
|
|
$146 = 0,
|
|
$147 = 0,
|
|
$148 = 0,
|
|
$149 = 0;
|
|
var $15 = 0,
|
|
$150 = 0,
|
|
$151 = 0,
|
|
$152 = 0,
|
|
$153 = 0,
|
|
$154 = 0,
|
|
$155 = 0,
|
|
$156 = 0,
|
|
$157 = 0,
|
|
$158 = 0,
|
|
$159 = 0,
|
|
$16 = 0,
|
|
$160 = 0,
|
|
$161 = 0,
|
|
$162 = 0,
|
|
$163 = 0,
|
|
$164 = 0,
|
|
$165 = 0,
|
|
$166 = 0,
|
|
$167 = 0;
|
|
var $168 = 0,
|
|
$169 = 0,
|
|
$17 = 0,
|
|
$170 = 0,
|
|
$171 = 0,
|
|
$172 = 0,
|
|
$173 = 0,
|
|
$174 = 0,
|
|
$175 = 0,
|
|
$176 = 0,
|
|
$177 = 0,
|
|
$178 = 0,
|
|
$179 = 0,
|
|
$18 = 0,
|
|
$180 = 0,
|
|
$181 = 0,
|
|
$182 = 0,
|
|
$183 = 0,
|
|
$184 = 0,
|
|
$185 = 0;
|
|
var $186 = 0,
|
|
$187 = 0,
|
|
$188 = 0,
|
|
$189 = 0,
|
|
$19 = 0,
|
|
$190 = 0,
|
|
$191 = 0,
|
|
$192 = 0,
|
|
$193 = 0,
|
|
$194 = 0,
|
|
$195 = 0,
|
|
$196 = 0,
|
|
$197 = 0,
|
|
$198 = 0,
|
|
$199 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$200 = 0,
|
|
$201 = 0,
|
|
$202 = 0;
|
|
var $203 = 0,
|
|
$204 = 0,
|
|
$205 = 0,
|
|
$206 = 0,
|
|
$207 = 0,
|
|
$208 = 0,
|
|
$209 = 0,
|
|
$21 = 0,
|
|
$210 = 0,
|
|
$211 = 0,
|
|
$212 = 0,
|
|
$213 = 0,
|
|
$214 = 0,
|
|
$215 = 0,
|
|
$216 = 0,
|
|
$217 = 0,
|
|
$218 = 0,
|
|
$219 = 0,
|
|
$22 = 0,
|
|
$220 = 0;
|
|
var $221 = 0,
|
|
$222 = 0,
|
|
$223 = 0,
|
|
$224 = 0,
|
|
$225 = 0,
|
|
$226 = 0,
|
|
$227 = 0,
|
|
$228 = 0,
|
|
$229 = 0,
|
|
$23 = 0,
|
|
$230 = 0,
|
|
$231 = 0,
|
|
$232 = 0,
|
|
$233 = 0,
|
|
$234 = 0,
|
|
$235 = 0,
|
|
$236 = 0,
|
|
$237 = 0,
|
|
$238 = 0,
|
|
$239 = 0;
|
|
var $24 = 0,
|
|
$240 = 0,
|
|
$241 = 0,
|
|
$242 = 0,
|
|
$243 = 0,
|
|
$244 = 0,
|
|
$245 = 0,
|
|
$246 = 0,
|
|
$247 = 0,
|
|
$248 = 0,
|
|
$249 = 0,
|
|
$25 = 0,
|
|
$250 = 0,
|
|
$251 = 0,
|
|
$252 = 0,
|
|
$253 = 0,
|
|
$254 = 0,
|
|
$255 = 0,
|
|
$256 = 0,
|
|
$257 = 0;
|
|
var $258 = 0,
|
|
$259 = 0,
|
|
$26 = 0,
|
|
$260 = 0,
|
|
$261 = 0,
|
|
$262 = 0,
|
|
$263 = 0,
|
|
$264 = 0,
|
|
$265 = 0,
|
|
$266 = 0,
|
|
$267 = 0,
|
|
$268 = 0,
|
|
$269 = 0,
|
|
$27 = 0,
|
|
$270 = 0,
|
|
$271 = 0,
|
|
$272 = 0,
|
|
$273 = 0,
|
|
$274 = 0,
|
|
$275 = 0;
|
|
var $276 = 0,
|
|
$277 = 0,
|
|
$278 = 0,
|
|
$279 = 0,
|
|
$28 = 0,
|
|
$280 = 0,
|
|
$281 = 0,
|
|
$282 = 0,
|
|
$283 = 0,
|
|
$284 = 0,
|
|
$285 = 0,
|
|
$286 = 0,
|
|
$287 = 0,
|
|
$288 = 0,
|
|
$289 = 0,
|
|
$29 = 0,
|
|
$290 = 0,
|
|
$291 = 0,
|
|
$292 = 0,
|
|
$293 = 0;
|
|
var $294 = 0,
|
|
$295 = 0,
|
|
$296 = 0,
|
|
$297 = 0,
|
|
$298 = 0,
|
|
$299 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$300 = 0,
|
|
$301 = 0,
|
|
$302 = 0,
|
|
$303 = 0,
|
|
$304 = 0,
|
|
$305 = 0,
|
|
$306 = 0,
|
|
$307 = 0,
|
|
$308 = 0,
|
|
$309 = 0,
|
|
$31 = 0,
|
|
$310 = 0;
|
|
var $311 = 0,
|
|
$312 = 0,
|
|
$313 = 0,
|
|
$314 = 0,
|
|
$315 = 0,
|
|
$316 = 0,
|
|
$317 = 0,
|
|
$318 = 0,
|
|
$319 = 0,
|
|
$32 = 0,
|
|
$320 = 0,
|
|
$321 = 0,
|
|
$322 = 0,
|
|
$323 = 0,
|
|
$324 = 0,
|
|
$325 = 0,
|
|
$326 = 0,
|
|
$327 = 0,
|
|
$328 = 0,
|
|
$329 = 0;
|
|
var $33 = 0,
|
|
$330 = 0,
|
|
$331 = 0,
|
|
$332 = 0,
|
|
$333 = 0,
|
|
$334 = 0,
|
|
$335 = 0,
|
|
$336 = 0,
|
|
$337 = 0,
|
|
$338 = 0,
|
|
$339 = 0,
|
|
$34 = 0,
|
|
$340 = 0,
|
|
$341 = 0,
|
|
$342 = 0,
|
|
$343 = 0,
|
|
$344 = 0,
|
|
$345 = 0,
|
|
$346 = 0,
|
|
$347 = 0;
|
|
var $348 = 0,
|
|
$349 = 0,
|
|
$35 = 0,
|
|
$350 = 0,
|
|
$351 = 0,
|
|
$352 = 0,
|
|
$353 = 0,
|
|
$354 = 0,
|
|
$355 = 0,
|
|
$356 = 0,
|
|
$357 = 0,
|
|
$358 = 0,
|
|
$359 = 0,
|
|
$36 = 0,
|
|
$360 = 0,
|
|
$361 = 0,
|
|
$362 = 0,
|
|
$363 = 0,
|
|
$364 = 0,
|
|
$365 = 0;
|
|
var $366 = 0,
|
|
$367 = 0,
|
|
$368 = 0,
|
|
$369 = 0,
|
|
$37 = 0,
|
|
$370 = 0,
|
|
$371 = 0,
|
|
$372 = 0,
|
|
$373 = 0,
|
|
$374 = 0,
|
|
$375 = 0,
|
|
$376 = 0,
|
|
$377 = 0,
|
|
$378 = 0,
|
|
$379 = 0,
|
|
$38 = 0,
|
|
$380 = 0,
|
|
$381 = 0,
|
|
$382 = 0,
|
|
$383 = 0;
|
|
var $384 = 0,
|
|
$385 = 0,
|
|
$386 = 0,
|
|
$387 = 0,
|
|
$388 = 0,
|
|
$389 = 0,
|
|
$39 = 0,
|
|
$390 = 0,
|
|
$391 = 0,
|
|
$392 = 0,
|
|
$393 = 0,
|
|
$394 = 0,
|
|
$395 = 0,
|
|
$396 = 0,
|
|
$397 = 0,
|
|
$398 = 0,
|
|
$399 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$400 = 0;
|
|
var $401 = 0,
|
|
$402 = 0,
|
|
$403 = 0,
|
|
$404 = 0,
|
|
$405 = 0,
|
|
$406 = 0,
|
|
$407 = 0,
|
|
$408 = 0,
|
|
$409 = 0,
|
|
$41 = 0,
|
|
$410 = 0,
|
|
$411 = 0,
|
|
$412 = 0,
|
|
$413 = 0,
|
|
$414 = 0,
|
|
$415 = 0,
|
|
$416 = 0,
|
|
$417 = 0,
|
|
$418 = 0,
|
|
$419 = 0;
|
|
var $42 = 0,
|
|
$420 = 0,
|
|
$421 = 0,
|
|
$422 = 0,
|
|
$423 = 0,
|
|
$424 = 0,
|
|
$425 = 0,
|
|
$426 = 0,
|
|
$427 = 0,
|
|
$428 = 0,
|
|
$429 = 0,
|
|
$43 = 0,
|
|
$430 = 0,
|
|
$431 = 0,
|
|
$432 = 0,
|
|
$433 = 0,
|
|
$434 = 0,
|
|
$435 = 0,
|
|
$436 = 0,
|
|
$437 = 0;
|
|
var $438 = 0,
|
|
$439 = 0,
|
|
$44 = 0,
|
|
$440 = 0,
|
|
$441 = 0,
|
|
$442 = 0,
|
|
$443 = 0,
|
|
$444 = 0,
|
|
$445 = 0,
|
|
$446 = 0,
|
|
$447 = 0,
|
|
$448 = 0,
|
|
$449 = 0,
|
|
$45 = 0,
|
|
$450 = 0,
|
|
$451 = 0,
|
|
$452 = 0,
|
|
$453 = 0,
|
|
$454 = 0,
|
|
$455 = 0;
|
|
var $456 = 0,
|
|
$457 = 0,
|
|
$458 = 0,
|
|
$459 = 0,
|
|
$46 = 0,
|
|
$460 = 0,
|
|
$461 = 0,
|
|
$462 = 0,
|
|
$463 = 0,
|
|
$464 = 0,
|
|
$465 = 0,
|
|
$466 = 0,
|
|
$467 = 0,
|
|
$468 = 0,
|
|
$469 = 0,
|
|
$47 = 0,
|
|
$470 = 0,
|
|
$471 = 0,
|
|
$472 = 0,
|
|
$473 = 0;
|
|
var $474 = 0,
|
|
$475 = 0,
|
|
$476 = 0,
|
|
$477 = 0,
|
|
$478 = 0,
|
|
$479 = 0,
|
|
$48 = 0,
|
|
$480 = 0,
|
|
$481 = 0,
|
|
$482 = 0,
|
|
$483 = 0,
|
|
$484 = 0,
|
|
$485 = 0,
|
|
$486 = 0,
|
|
$487 = 0,
|
|
$488 = 0,
|
|
$489 = 0,
|
|
$49 = 0,
|
|
$490 = 0,
|
|
$491 = 0;
|
|
var $492 = 0,
|
|
$493 = 0,
|
|
$494 = 0,
|
|
$495 = 0,
|
|
$496 = 0,
|
|
$497 = 0,
|
|
$498 = 0,
|
|
$499 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$500 = 0,
|
|
$501 = 0,
|
|
$502 = 0,
|
|
$503 = 0,
|
|
$504 = 0,
|
|
$505 = 0,
|
|
$506 = 0,
|
|
$507 = 0,
|
|
$508 = 0,
|
|
$509 = 0;
|
|
var $51 = 0,
|
|
$510 = 0,
|
|
$511 = 0,
|
|
$512 = 0,
|
|
$513 = 0,
|
|
$514 = 0,
|
|
$515 = 0,
|
|
$516 = 0,
|
|
$517 = 0,
|
|
$518 = 0,
|
|
$519 = 0,
|
|
$52 = 0,
|
|
$520 = 0,
|
|
$521 = 0,
|
|
$522 = 0,
|
|
$523 = 0,
|
|
$524 = 0,
|
|
$525 = 0,
|
|
$526 = 0,
|
|
$527 = 0;
|
|
var $528 = 0,
|
|
$529 = 0,
|
|
$53 = 0,
|
|
$530 = 0,
|
|
$531 = 0,
|
|
$532 = 0,
|
|
$533 = 0,
|
|
$534 = 0,
|
|
$535 = 0,
|
|
$536 = 0,
|
|
$537 = 0,
|
|
$538 = 0,
|
|
$539 = 0,
|
|
$54 = 0,
|
|
$540 = 0,
|
|
$541 = 0,
|
|
$542 = 0,
|
|
$543 = 0,
|
|
$544 = 0,
|
|
$545 = 0;
|
|
var $546 = 0,
|
|
$547 = 0,
|
|
$548 = 0,
|
|
$549 = 0,
|
|
$55 = 0,
|
|
$550 = 0,
|
|
$551 = 0,
|
|
$552 = 0,
|
|
$553 = 0,
|
|
$554 = 0,
|
|
$555 = 0,
|
|
$556 = 0,
|
|
$557 = 0,
|
|
$558 = 0,
|
|
$559 = 0,
|
|
$56 = 0,
|
|
$560 = 0,
|
|
$561 = 0,
|
|
$562 = 0,
|
|
$563 = 0;
|
|
var $564 = 0,
|
|
$565 = 0,
|
|
$566 = 0,
|
|
$567 = 0,
|
|
$568 = 0,
|
|
$569 = 0,
|
|
$57 = 0,
|
|
$570 = 0,
|
|
$571 = 0,
|
|
$572 = 0,
|
|
$573 = 0,
|
|
$574 = 0,
|
|
$575 = 0,
|
|
$576 = 0,
|
|
$577 = 0,
|
|
$578 = 0,
|
|
$579 = 0,
|
|
$58 = 0,
|
|
$580 = 0,
|
|
$581 = 0;
|
|
var $582 = 0,
|
|
$583 = 0,
|
|
$584 = 0,
|
|
$585 = 0,
|
|
$586 = 0,
|
|
$587 = 0,
|
|
$588 = 0,
|
|
$589 = 0,
|
|
$59 = 0,
|
|
$590 = 0,
|
|
$591 = 0,
|
|
$592 = 0,
|
|
$593 = 0,
|
|
$594 = 0,
|
|
$595 = 0,
|
|
$596 = 0,
|
|
$597 = 0,
|
|
$598 = 0,
|
|
$599 = 0,
|
|
$6 = 0;
|
|
var $60 = 0,
|
|
$600 = 0,
|
|
$601 = 0,
|
|
$602 = 0,
|
|
$603 = 0,
|
|
$604 = 0,
|
|
$605 = 0,
|
|
$606 = 0,
|
|
$607 = 0,
|
|
$608 = 0,
|
|
$609 = 0,
|
|
$61 = 0,
|
|
$610 = 0,
|
|
$611 = 0,
|
|
$612 = 0,
|
|
$613 = 0,
|
|
$614 = 0,
|
|
$615 = 0,
|
|
$616 = 0,
|
|
$617 = 0;
|
|
var $618 = 0,
|
|
$619 = 0,
|
|
$62 = 0,
|
|
$620 = 0,
|
|
$621 = 0,
|
|
$622 = 0,
|
|
$623 = 0,
|
|
$624 = 0,
|
|
$625 = 0,
|
|
$626 = 0,
|
|
$627 = 0,
|
|
$628 = 0,
|
|
$629 = 0,
|
|
$63 = 0,
|
|
$630 = 0,
|
|
$631 = 0,
|
|
$632 = 0,
|
|
$633 = 0,
|
|
$634 = 0,
|
|
$635 = 0;
|
|
var $636 = 0,
|
|
$637 = 0,
|
|
$638 = 0,
|
|
$639 = 0,
|
|
$64 = 0,
|
|
$640 = 0,
|
|
$641 = 0,
|
|
$642 = 0,
|
|
$643 = 0,
|
|
$644 = 0,
|
|
$645 = 0,
|
|
$646 = 0,
|
|
$647 = 0,
|
|
$648 = 0,
|
|
$649 = 0,
|
|
$65 = 0,
|
|
$650 = 0,
|
|
$651 = 0,
|
|
$652 = 0,
|
|
$653 = 0;
|
|
var $654 = 0,
|
|
$655 = 0,
|
|
$656 = 0,
|
|
$657 = 0,
|
|
$658 = 0,
|
|
$659 = 0,
|
|
$66 = 0,
|
|
$660 = 0,
|
|
$661 = 0,
|
|
$662 = 0,
|
|
$663 = 0,
|
|
$664 = 0,
|
|
$665 = 0,
|
|
$666 = 0,
|
|
$667 = 0,
|
|
$668 = 0,
|
|
$669 = 0,
|
|
$67 = 0,
|
|
$670 = 0,
|
|
$671 = 0;
|
|
var $672 = 0,
|
|
$673 = 0,
|
|
$674 = 0,
|
|
$675 = 0,
|
|
$676 = 0,
|
|
$677 = 0,
|
|
$678 = 0,
|
|
$679 = 0,
|
|
$68 = 0,
|
|
$680 = 0,
|
|
$681 = 0,
|
|
$682 = 0,
|
|
$683 = 0,
|
|
$684 = 0,
|
|
$685 = 0,
|
|
$686 = 0,
|
|
$687 = 0,
|
|
$688 = 0,
|
|
$689 = 0,
|
|
$69 = 0;
|
|
var $690 = 0,
|
|
$691 = 0,
|
|
$692 = 0,
|
|
$693 = 0,
|
|
$694 = 0,
|
|
$695 = 0,
|
|
$696 = 0,
|
|
$697 = 0,
|
|
$698 = 0,
|
|
$699 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$700 = 0,
|
|
$701 = 0,
|
|
$702 = 0,
|
|
$703 = 0,
|
|
$704 = 0,
|
|
$705 = 0,
|
|
$706 = 0,
|
|
$707 = 0;
|
|
var $708 = 0,
|
|
$709 = 0,
|
|
$71 = 0,
|
|
$710 = 0,
|
|
$711 = 0,
|
|
$712 = 0,
|
|
$713 = 0,
|
|
$714 = 0,
|
|
$715 = 0,
|
|
$716 = 0,
|
|
$717 = 0,
|
|
$718 = 0,
|
|
$719 = 0,
|
|
$72 = 0,
|
|
$720 = 0,
|
|
$721 = 0,
|
|
$722 = 0,
|
|
$723 = 0,
|
|
$724 = 0,
|
|
$725 = 0;
|
|
var $726 = 0,
|
|
$727 = 0,
|
|
$728 = 0,
|
|
$729 = 0,
|
|
$73 = 0,
|
|
$730 = 0,
|
|
$731 = 0,
|
|
$732 = 0,
|
|
$733 = 0,
|
|
$734 = 0,
|
|
$735 = 0,
|
|
$736 = 0,
|
|
$737 = 0,
|
|
$738 = 0,
|
|
$739 = 0,
|
|
$74 = 0,
|
|
$740 = 0,
|
|
$741 = 0,
|
|
$742 = 0,
|
|
$743 = 0;
|
|
var $744 = 0,
|
|
$745 = 0,
|
|
$746 = 0,
|
|
$747 = 0,
|
|
$748 = 0,
|
|
$749 = 0,
|
|
$75 = 0,
|
|
$750 = 0,
|
|
$751 = 0,
|
|
$752 = 0,
|
|
$753 = 0,
|
|
$754 = 0,
|
|
$755 = 0,
|
|
$756 = 0,
|
|
$757 = 0,
|
|
$758 = 0,
|
|
$759 = 0,
|
|
$76 = 0,
|
|
$760 = 0,
|
|
$761 = 0;
|
|
var $762 = 0,
|
|
$763 = 0,
|
|
$764 = 0,
|
|
$765 = 0,
|
|
$766 = 0,
|
|
$767 = 0,
|
|
$768 = 0,
|
|
$769 = 0,
|
|
$77 = 0,
|
|
$770 = 0,
|
|
$771 = 0,
|
|
$772 = 0,
|
|
$773 = 0,
|
|
$774 = 0,
|
|
$775 = 0,
|
|
$776 = 0,
|
|
$777 = 0,
|
|
$778 = 0,
|
|
$779 = 0,
|
|
$78 = 0;
|
|
var $780 = 0,
|
|
$781 = 0,
|
|
$782 = 0,
|
|
$783 = 0,
|
|
$784 = 0,
|
|
$785 = 0,
|
|
$786 = 0,
|
|
$787 = 0,
|
|
$788 = 0,
|
|
$789 = 0,
|
|
$79 = 0,
|
|
$790 = 0,
|
|
$791 = 0,
|
|
$792 = 0,
|
|
$793 = 0,
|
|
$794 = 0,
|
|
$795 = 0,
|
|
$796 = 0,
|
|
$797 = 0,
|
|
$798 = 0;
|
|
var $799 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$800 = 0,
|
|
$801 = 0,
|
|
$802 = 0,
|
|
$803 = 0,
|
|
$804 = 0,
|
|
$805 = 0,
|
|
$806 = 0,
|
|
$807 = 0,
|
|
$808 = 0,
|
|
$809 = 0,
|
|
$81 = 0,
|
|
$810 = 0,
|
|
$811 = 0,
|
|
$812 = 0,
|
|
$813 = 0,
|
|
$814 = 0,
|
|
$815 = 0;
|
|
var $816 = 0,
|
|
$817 = 0,
|
|
$818 = 0,
|
|
$819 = 0,
|
|
$82 = 0,
|
|
$820 = 0,
|
|
$821 = 0,
|
|
$822 = 0,
|
|
$823 = 0,
|
|
$824 = 0,
|
|
$825 = 0,
|
|
$826 = 0,
|
|
$827 = 0,
|
|
$828 = 0,
|
|
$829 = 0,
|
|
$83 = 0,
|
|
$830 = 0,
|
|
$831 = 0,
|
|
$832 = 0,
|
|
$833 = 0;
|
|
var $834 = 0,
|
|
$835 = 0,
|
|
$836 = 0,
|
|
$837 = 0,
|
|
$838 = 0,
|
|
$839 = 0,
|
|
$84 = 0,
|
|
$840 = 0,
|
|
$841 = 0,
|
|
$842 = 0,
|
|
$843 = 0,
|
|
$844 = 0,
|
|
$845 = 0,
|
|
$846 = 0,
|
|
$847 = 0,
|
|
$848 = 0,
|
|
$849 = 0,
|
|
$85 = 0,
|
|
$850 = 0,
|
|
$851 = 0;
|
|
var $852 = 0,
|
|
$853 = 0,
|
|
$854 = 0,
|
|
$855 = 0,
|
|
$856 = 0,
|
|
$857 = 0,
|
|
$858 = 0,
|
|
$859 = 0,
|
|
$86 = 0,
|
|
$860 = 0,
|
|
$861 = 0,
|
|
$862 = 0,
|
|
$863 = 0,
|
|
$864 = 0,
|
|
$865 = 0,
|
|
$866 = 0,
|
|
$867 = 0,
|
|
$868 = 0,
|
|
$869 = 0,
|
|
$87 = 0;
|
|
var $870 = 0,
|
|
$871 = 0,
|
|
$872 = 0,
|
|
$873 = 0,
|
|
$874 = 0,
|
|
$875 = 0,
|
|
$876 = 0,
|
|
$877 = 0,
|
|
$878 = 0,
|
|
$879 = 0,
|
|
$88 = 0,
|
|
$880 = 0,
|
|
$881 = 0,
|
|
$882 = 0,
|
|
$883 = 0,
|
|
$884 = 0,
|
|
$885 = 0,
|
|
$886 = 0,
|
|
$887 = 0,
|
|
$888 = 0;
|
|
var $889 = 0,
|
|
$89 = 0,
|
|
$890 = 0,
|
|
$891 = 0,
|
|
$892 = 0,
|
|
$893 = 0,
|
|
$894 = 0,
|
|
$895 = 0,
|
|
$896 = 0,
|
|
$897 = 0,
|
|
$898 = 0,
|
|
$899 = 0,
|
|
$9 = 0,
|
|
$90 = 0,
|
|
$900 = 0,
|
|
$901 = 0,
|
|
$902 = 0,
|
|
$903 = 0,
|
|
$904 = 0,
|
|
$905 = 0;
|
|
var $906 = 0,
|
|
$907 = 0,
|
|
$908 = 0,
|
|
$909 = 0,
|
|
$91 = 0,
|
|
$910 = 0,
|
|
$911 = 0,
|
|
$912 = 0,
|
|
$913 = 0,
|
|
$914 = 0,
|
|
$915 = 0,
|
|
$916 = 0,
|
|
$917 = 0,
|
|
$918 = 0,
|
|
$919 = 0,
|
|
$92 = 0,
|
|
$920 = 0,
|
|
$921 = 0,
|
|
$922 = 0,
|
|
$923 = 0;
|
|
var $924 = 0,
|
|
$925 = 0,
|
|
$926 = 0,
|
|
$927 = 0,
|
|
$928 = 0,
|
|
$929 = 0,
|
|
$93 = 0,
|
|
$930 = 0,
|
|
$931 = 0,
|
|
$932 = 0,
|
|
$933 = 0,
|
|
$934 = 0,
|
|
$935 = 0,
|
|
$936 = 0,
|
|
$937 = 0,
|
|
$938 = 0,
|
|
$939 = 0,
|
|
$94 = 0,
|
|
$940 = 0,
|
|
$941 = 0;
|
|
var $942 = 0,
|
|
$943 = 0,
|
|
$944 = 0,
|
|
$945 = 0,
|
|
$946 = 0,
|
|
$947 = 0,
|
|
$948 = 0,
|
|
$949 = 0,
|
|
$95 = 0,
|
|
$950 = 0,
|
|
$951 = 0,
|
|
$952 = 0,
|
|
$953 = 0,
|
|
$954 = 0,
|
|
$955 = 0,
|
|
$956 = 0,
|
|
$957 = 0,
|
|
$958 = 0,
|
|
$959 = 0,
|
|
$96 = 0;
|
|
var $960 = 0,
|
|
$961 = 0,
|
|
$962 = 0,
|
|
$963 = 0,
|
|
$964 = 0,
|
|
$965 = 0,
|
|
$966 = 0,
|
|
$967 = 0,
|
|
$968 = 0,
|
|
$969 = 0,
|
|
$97 = 0,
|
|
$970 = 0,
|
|
$971 = 0,
|
|
$972 = 0,
|
|
$973 = 0,
|
|
$974 = 0,
|
|
$975 = 0,
|
|
$976 = 0,
|
|
$977 = 0,
|
|
$978 = 0;
|
|
var $979 = 0,
|
|
$98 = 0,
|
|
$980 = 0,
|
|
$981 = 0,
|
|
$982 = 0,
|
|
$983 = 0,
|
|
$984 = 0,
|
|
$985 = 0,
|
|
$986 = 0,
|
|
$987 = 0,
|
|
$988 = 0,
|
|
$989 = 0,
|
|
$99 = 0,
|
|
$990 = 0,
|
|
$991 = 0,
|
|
$992 = 0,
|
|
$993 = 0,
|
|
$994 = 0,
|
|
$995 = 0,
|
|
$996 = 0;
|
|
var $997 = 0,
|
|
$998 = 0,
|
|
$999 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = _load_351($s) | 0;
|
|
$1 = tempRet0;
|
|
$2 = $0 & 2097151;
|
|
$3 = ($s + 2) | 0;
|
|
$4 = _load_452($3) | 0;
|
|
$5 = tempRet0;
|
|
$6 = _bitshift64Lshr($4 | 0, $5 | 0, 5) | 0;
|
|
$7 = tempRet0;
|
|
$8 = $6 & 2097151;
|
|
$9 = ($s + 5) | 0;
|
|
$10 = _load_351($9) | 0;
|
|
$11 = tempRet0;
|
|
$12 = _bitshift64Lshr($10 | 0, $11 | 0, 2) | 0;
|
|
$13 = tempRet0;
|
|
$14 = $12 & 2097151;
|
|
$15 = ($s + 7) | 0;
|
|
$16 = _load_452($15) | 0;
|
|
$17 = tempRet0;
|
|
$18 = _bitshift64Lshr($16 | 0, $17 | 0, 7) | 0;
|
|
$19 = tempRet0;
|
|
$20 = $18 & 2097151;
|
|
$21 = ($s + 10) | 0;
|
|
$22 = _load_452($21) | 0;
|
|
$23 = tempRet0;
|
|
$24 = _bitshift64Lshr($22 | 0, $23 | 0, 4) | 0;
|
|
$25 = tempRet0;
|
|
$26 = $24 & 2097151;
|
|
$27 = ($s + 13) | 0;
|
|
$28 = _load_351($27) | 0;
|
|
$29 = tempRet0;
|
|
$30 = _bitshift64Lshr($28 | 0, $29 | 0, 1) | 0;
|
|
$31 = tempRet0;
|
|
$32 = $30 & 2097151;
|
|
$33 = ($s + 15) | 0;
|
|
$34 = _load_452($33) | 0;
|
|
$35 = tempRet0;
|
|
$36 = _bitshift64Lshr($34 | 0, $35 | 0, 6) | 0;
|
|
$37 = tempRet0;
|
|
$38 = $36 & 2097151;
|
|
$39 = ($s + 18) | 0;
|
|
$40 = _load_351($39) | 0;
|
|
$41 = tempRet0;
|
|
$42 = _bitshift64Lshr($40 | 0, $41 | 0, 3) | 0;
|
|
$43 = tempRet0;
|
|
$44 = $42 & 2097151;
|
|
$45 = ($s + 21) | 0;
|
|
$46 = _load_351($45) | 0;
|
|
$47 = tempRet0;
|
|
$48 = $46 & 2097151;
|
|
$49 = ($s + 23) | 0;
|
|
$50 = _load_452($49) | 0;
|
|
$51 = tempRet0;
|
|
$52 = _bitshift64Lshr($50 | 0, $51 | 0, 5) | 0;
|
|
$53 = tempRet0;
|
|
$54 = $52 & 2097151;
|
|
$55 = ($s + 26) | 0;
|
|
$56 = _load_351($55) | 0;
|
|
$57 = tempRet0;
|
|
$58 = _bitshift64Lshr($56 | 0, $57 | 0, 2) | 0;
|
|
$59 = tempRet0;
|
|
$60 = $58 & 2097151;
|
|
$61 = ($s + 28) | 0;
|
|
$62 = _load_452($61) | 0;
|
|
$63 = tempRet0;
|
|
$64 = _bitshift64Lshr($62 | 0, $63 | 0, 7) | 0;
|
|
$65 = tempRet0;
|
|
$66 = $64 & 2097151;
|
|
$67 = ($s + 31) | 0;
|
|
$68 = _load_452($67) | 0;
|
|
$69 = tempRet0;
|
|
$70 = _bitshift64Lshr($68 | 0, $69 | 0, 4) | 0;
|
|
$71 = tempRet0;
|
|
$72 = $70 & 2097151;
|
|
$73 = ($s + 34) | 0;
|
|
$74 = _load_351($73) | 0;
|
|
$75 = tempRet0;
|
|
$76 = _bitshift64Lshr($74 | 0, $75 | 0, 1) | 0;
|
|
$77 = tempRet0;
|
|
$78 = $76 & 2097151;
|
|
$79 = ($s + 36) | 0;
|
|
$80 = _load_452($79) | 0;
|
|
$81 = tempRet0;
|
|
$82 = _bitshift64Lshr($80 | 0, $81 | 0, 6) | 0;
|
|
$83 = tempRet0;
|
|
$84 = $82 & 2097151;
|
|
$85 = ($s + 39) | 0;
|
|
$86 = _load_351($85) | 0;
|
|
$87 = tempRet0;
|
|
$88 = _bitshift64Lshr($86 | 0, $87 | 0, 3) | 0;
|
|
$89 = tempRet0;
|
|
$90 = $88 & 2097151;
|
|
$91 = ($s + 42) | 0;
|
|
$92 = _load_351($91) | 0;
|
|
$93 = tempRet0;
|
|
$94 = $92 & 2097151;
|
|
$95 = ($s + 44) | 0;
|
|
$96 = _load_452($95) | 0;
|
|
$97 = tempRet0;
|
|
$98 = _bitshift64Lshr($96 | 0, $97 | 0, 5) | 0;
|
|
$99 = tempRet0;
|
|
$100 = $98 & 2097151;
|
|
$101 = ($s + 47) | 0;
|
|
$102 = _load_351($101) | 0;
|
|
$103 = tempRet0;
|
|
$104 = _bitshift64Lshr($102 | 0, $103 | 0, 2) | 0;
|
|
$105 = tempRet0;
|
|
$106 = $104 & 2097151;
|
|
$107 = ($s + 49) | 0;
|
|
$108 = _load_452($107) | 0;
|
|
$109 = tempRet0;
|
|
$110 = _bitshift64Lshr($108 | 0, $109 | 0, 7) | 0;
|
|
$111 = tempRet0;
|
|
$112 = $110 & 2097151;
|
|
$113 = ($s + 52) | 0;
|
|
$114 = _load_452($113) | 0;
|
|
$115 = tempRet0;
|
|
$116 = _bitshift64Lshr($114 | 0, $115 | 0, 4) | 0;
|
|
$117 = tempRet0;
|
|
$118 = $116 & 2097151;
|
|
$119 = ($s + 55) | 0;
|
|
$120 = _load_351($119) | 0;
|
|
$121 = tempRet0;
|
|
$122 = _bitshift64Lshr($120 | 0, $121 | 0, 1) | 0;
|
|
$123 = tempRet0;
|
|
$124 = $122 & 2097151;
|
|
$125 = ($s + 57) | 0;
|
|
$126 = _load_452($125) | 0;
|
|
$127 = tempRet0;
|
|
$128 = _bitshift64Lshr($126 | 0, $127 | 0, 6) | 0;
|
|
$129 = tempRet0;
|
|
$130 = $128 & 2097151;
|
|
$131 = ($s + 60) | 0;
|
|
$132 = _load_452($131) | 0;
|
|
$133 = tempRet0;
|
|
$134 = _bitshift64Lshr($132 | 0, $133 | 0, 3) | 0;
|
|
$135 = tempRet0;
|
|
$136 = ___muldi3($134 | 0, $135 | 0, 666643, 0) | 0;
|
|
$137 = tempRet0;
|
|
$138 = ___muldi3($134 | 0, $135 | 0, 470296, 0) | 0;
|
|
$139 = tempRet0;
|
|
$140 = ___muldi3($134 | 0, $135 | 0, 654183, 0) | 0;
|
|
$141 = tempRet0;
|
|
$142 = ___muldi3($134 | 0, $135 | 0, -997805, -1) | 0;
|
|
$143 = tempRet0;
|
|
$144 = ___muldi3($134 | 0, $135 | 0, 136657, 0) | 0;
|
|
$145 = tempRet0;
|
|
$146 = _i64Add($144 | 0, $145 | 0, $90 | 0, 0) | 0;
|
|
$147 = tempRet0;
|
|
$148 = ___muldi3($134 | 0, $135 | 0, -683901, -1) | 0;
|
|
$149 = tempRet0;
|
|
$150 = _i64Add($148 | 0, $149 | 0, $94 | 0, 0) | 0;
|
|
$151 = tempRet0;
|
|
$152 = ___muldi3($130 | 0, 0, 666643, 0) | 0;
|
|
$153 = tempRet0;
|
|
$154 = ___muldi3($130 | 0, 0, 470296, 0) | 0;
|
|
$155 = tempRet0;
|
|
$156 = ___muldi3($130 | 0, 0, 654183, 0) | 0;
|
|
$157 = tempRet0;
|
|
$158 = ___muldi3($130 | 0, 0, -997805, -1) | 0;
|
|
$159 = tempRet0;
|
|
$160 = ___muldi3($130 | 0, 0, 136657, 0) | 0;
|
|
$161 = tempRet0;
|
|
$162 = ___muldi3($130 | 0, 0, -683901, -1) | 0;
|
|
$163 = tempRet0;
|
|
$164 = _i64Add($146 | 0, $147 | 0, $162 | 0, $163 | 0) | 0;
|
|
$165 = tempRet0;
|
|
$166 = ___muldi3($124 | 0, 0, 666643, 0) | 0;
|
|
$167 = tempRet0;
|
|
$168 = ___muldi3($124 | 0, 0, 470296, 0) | 0;
|
|
$169 = tempRet0;
|
|
$170 = ___muldi3($124 | 0, 0, 654183, 0) | 0;
|
|
$171 = tempRet0;
|
|
$172 = ___muldi3($124 | 0, 0, -997805, -1) | 0;
|
|
$173 = tempRet0;
|
|
$174 = ___muldi3($124 | 0, 0, 136657, 0) | 0;
|
|
$175 = tempRet0;
|
|
$176 = ___muldi3($124 | 0, 0, -683901, -1) | 0;
|
|
$177 = tempRet0;
|
|
$178 = _i64Add($176 | 0, $177 | 0, $84 | 0, 0) | 0;
|
|
$179 = tempRet0;
|
|
$180 = _i64Add($178 | 0, $179 | 0, $142 | 0, $143 | 0) | 0;
|
|
$181 = tempRet0;
|
|
$182 = _i64Add($180 | 0, $181 | 0, $160 | 0, $161 | 0) | 0;
|
|
$183 = tempRet0;
|
|
$184 = ___muldi3($118 | 0, 0, 666643, 0) | 0;
|
|
$185 = tempRet0;
|
|
$186 = ___muldi3($118 | 0, 0, 470296, 0) | 0;
|
|
$187 = tempRet0;
|
|
$188 = ___muldi3($118 | 0, 0, 654183, 0) | 0;
|
|
$189 = tempRet0;
|
|
$190 = ___muldi3($118 | 0, 0, -997805, -1) | 0;
|
|
$191 = tempRet0;
|
|
$192 = ___muldi3($118 | 0, 0, 136657, 0) | 0;
|
|
$193 = tempRet0;
|
|
$194 = ___muldi3($118 | 0, 0, -683901, -1) | 0;
|
|
$195 = tempRet0;
|
|
$196 = ___muldi3($112 | 0, 0, 666643, 0) | 0;
|
|
$197 = tempRet0;
|
|
$198 = ___muldi3($112 | 0, 0, 470296, 0) | 0;
|
|
$199 = tempRet0;
|
|
$200 = ___muldi3($112 | 0, 0, 654183, 0) | 0;
|
|
$201 = tempRet0;
|
|
$202 = ___muldi3($112 | 0, 0, -997805, -1) | 0;
|
|
$203 = tempRet0;
|
|
$204 = ___muldi3($112 | 0, 0, 136657, 0) | 0;
|
|
$205 = tempRet0;
|
|
$206 = ___muldi3($112 | 0, 0, -683901, -1) | 0;
|
|
$207 = tempRet0;
|
|
$208 = _i64Add($206 | 0, $207 | 0, $72 | 0, 0) | 0;
|
|
$209 = tempRet0;
|
|
$210 = _i64Add($208 | 0, $209 | 0, $192 | 0, $193 | 0) | 0;
|
|
$211 = tempRet0;
|
|
$212 = _i64Add($210 | 0, $211 | 0, $172 | 0, $173 | 0) | 0;
|
|
$213 = tempRet0;
|
|
$214 = _i64Add($212 | 0, $213 | 0, $138 | 0, $139 | 0) | 0;
|
|
$215 = tempRet0;
|
|
$216 = _i64Add($214 | 0, $215 | 0, $156 | 0, $157 | 0) | 0;
|
|
$217 = tempRet0;
|
|
$218 = ___muldi3($106 | 0, 0, 666643, 0) | 0;
|
|
$219 = tempRet0;
|
|
$220 = _i64Add($218 | 0, $219 | 0, $38 | 0, 0) | 0;
|
|
$221 = tempRet0;
|
|
$222 = ___muldi3($106 | 0, 0, 470296, 0) | 0;
|
|
$223 = tempRet0;
|
|
$224 = ___muldi3($106 | 0, 0, 654183, 0) | 0;
|
|
$225 = tempRet0;
|
|
$226 = _i64Add($224 | 0, $225 | 0, $48 | 0, 0) | 0;
|
|
$227 = tempRet0;
|
|
$228 = _i64Add($226 | 0, $227 | 0, $198 | 0, $199 | 0) | 0;
|
|
$229 = tempRet0;
|
|
$230 = _i64Add($228 | 0, $229 | 0, $184 | 0, $185 | 0) | 0;
|
|
$231 = tempRet0;
|
|
$232 = ___muldi3($106 | 0, 0, -997805, -1) | 0;
|
|
$233 = tempRet0;
|
|
$234 = ___muldi3($106 | 0, 0, 136657, 0) | 0;
|
|
$235 = tempRet0;
|
|
$236 = _i64Add($234 | 0, $235 | 0, $60 | 0, 0) | 0;
|
|
$237 = tempRet0;
|
|
$238 = _i64Add($236 | 0, $237 | 0, $202 | 0, $203 | 0) | 0;
|
|
$239 = tempRet0;
|
|
$240 = _i64Add($238 | 0, $239 | 0, $188 | 0, $189 | 0) | 0;
|
|
$241 = tempRet0;
|
|
$242 = _i64Add($240 | 0, $241 | 0, $168 | 0, $169 | 0) | 0;
|
|
$243 = tempRet0;
|
|
$244 = _i64Add($242 | 0, $243 | 0, $152 | 0, $153 | 0) | 0;
|
|
$245 = tempRet0;
|
|
$246 = ___muldi3($106 | 0, 0, -683901, -1) | 0;
|
|
$247 = tempRet0;
|
|
$248 = _i64Add($220 | 0, $221 | 0, 1048576, 0) | 0;
|
|
$249 = tempRet0;
|
|
$250 = _bitshift64Lshr($248 | 0, $249 | 0, 21) | 0;
|
|
$251 = tempRet0;
|
|
$252 = _i64Add($222 | 0, $223 | 0, $44 | 0, 0) | 0;
|
|
$253 = tempRet0;
|
|
$254 = _i64Add($252 | 0, $253 | 0, $196 | 0, $197 | 0) | 0;
|
|
$255 = tempRet0;
|
|
$256 = _i64Add($254 | 0, $255 | 0, $250 | 0, $251 | 0) | 0;
|
|
$257 = tempRet0;
|
|
$258 = _bitshift64Shl($250 | 0, $251 | 0, 21) | 0;
|
|
$259 = tempRet0;
|
|
$260 = _i64Subtract($220 | 0, $221 | 0, $258 | 0, $259 | 0) | 0;
|
|
$261 = tempRet0;
|
|
$262 = _i64Add($230 | 0, $231 | 0, 1048576, 0) | 0;
|
|
$263 = tempRet0;
|
|
$264 = _bitshift64Lshr($262 | 0, $263 | 0, 21) | 0;
|
|
$265 = tempRet0;
|
|
$266 = _i64Add($232 | 0, $233 | 0, $54 | 0, 0) | 0;
|
|
$267 = tempRet0;
|
|
$268 = _i64Add($266 | 0, $267 | 0, $200 | 0, $201 | 0) | 0;
|
|
$269 = tempRet0;
|
|
$270 = _i64Add($268 | 0, $269 | 0, $186 | 0, $187 | 0) | 0;
|
|
$271 = tempRet0;
|
|
$272 = _i64Add($270 | 0, $271 | 0, $166 | 0, $167 | 0) | 0;
|
|
$273 = tempRet0;
|
|
$274 = _i64Add($272 | 0, $273 | 0, $264 | 0, $265 | 0) | 0;
|
|
$275 = tempRet0;
|
|
$276 = _bitshift64Shl($264 | 0, $265 | 0, 21) | 0;
|
|
$277 = tempRet0;
|
|
$278 = _i64Subtract($230 | 0, $231 | 0, $276 | 0, $277 | 0) | 0;
|
|
$279 = tempRet0;
|
|
$280 = _i64Add($244 | 0, $245 | 0, 1048576, 0) | 0;
|
|
$281 = tempRet0;
|
|
$282 = _bitshift64Ashr($280 | 0, $281 | 0, 21) | 0;
|
|
$283 = tempRet0;
|
|
$284 = _i64Add($246 | 0, $247 | 0, $66 | 0, 0) | 0;
|
|
$285 = tempRet0;
|
|
$286 = _i64Add($284 | 0, $285 | 0, $204 | 0, $205 | 0) | 0;
|
|
$287 = tempRet0;
|
|
$288 = _i64Add($286 | 0, $287 | 0, $190 | 0, $191 | 0) | 0;
|
|
$289 = tempRet0;
|
|
$290 = _i64Add($288 | 0, $289 | 0, $170 | 0, $171 | 0) | 0;
|
|
$291 = tempRet0;
|
|
$292 = _i64Add($290 | 0, $291 | 0, $136 | 0, $137 | 0) | 0;
|
|
$293 = tempRet0;
|
|
$294 = _i64Add($292 | 0, $293 | 0, $154 | 0, $155 | 0) | 0;
|
|
$295 = tempRet0;
|
|
$296 = _i64Add($294 | 0, $295 | 0, $282 | 0, $283 | 0) | 0;
|
|
$297 = tempRet0;
|
|
$298 = _bitshift64Shl($282 | 0, $283 | 0, 21) | 0;
|
|
$299 = tempRet0;
|
|
$300 = _i64Subtract($244 | 0, $245 | 0, $298 | 0, $299 | 0) | 0;
|
|
$301 = tempRet0;
|
|
$302 = _i64Add($216 | 0, $217 | 0, 1048576, 0) | 0;
|
|
$303 = tempRet0;
|
|
$304 = _bitshift64Ashr($302 | 0, $303 | 0, 21) | 0;
|
|
$305 = tempRet0;
|
|
$306 = _i64Add($194 | 0, $195 | 0, $78 | 0, 0) | 0;
|
|
$307 = tempRet0;
|
|
$308 = _i64Add($306 | 0, $307 | 0, $174 | 0, $175 | 0) | 0;
|
|
$309 = tempRet0;
|
|
$310 = _i64Add($308 | 0, $309 | 0, $140 | 0, $141 | 0) | 0;
|
|
$311 = tempRet0;
|
|
$312 = _i64Add($310 | 0, $311 | 0, $158 | 0, $159 | 0) | 0;
|
|
$313 = tempRet0;
|
|
$314 = _i64Add($312 | 0, $313 | 0, $304 | 0, $305 | 0) | 0;
|
|
$315 = tempRet0;
|
|
$316 = _bitshift64Shl($304 | 0, $305 | 0, 21) | 0;
|
|
$317 = tempRet0;
|
|
$318 = _i64Subtract($216 | 0, $217 | 0, $316 | 0, $317 | 0) | 0;
|
|
$319 = tempRet0;
|
|
$320 = _i64Add($182 | 0, $183 | 0, 1048576, 0) | 0;
|
|
$321 = tempRet0;
|
|
$322 = _bitshift64Ashr($320 | 0, $321 | 0, 21) | 0;
|
|
$323 = tempRet0;
|
|
$324 = _i64Add($164 | 0, $165 | 0, $322 | 0, $323 | 0) | 0;
|
|
$325 = tempRet0;
|
|
$326 = _bitshift64Shl($322 | 0, $323 | 0, 21) | 0;
|
|
$327 = tempRet0;
|
|
$328 = _i64Subtract($182 | 0, $183 | 0, $326 | 0, $327 | 0) | 0;
|
|
$329 = tempRet0;
|
|
$330 = _i64Add($150 | 0, $151 | 0, 1048576, 0) | 0;
|
|
$331 = tempRet0;
|
|
$332 = _bitshift64Ashr($330 | 0, $331 | 0, 21) | 0;
|
|
$333 = tempRet0;
|
|
$334 = _i64Add($332 | 0, $333 | 0, $100 | 0, 0) | 0;
|
|
$335 = tempRet0;
|
|
$336 = _bitshift64Shl($332 | 0, $333 | 0, 21) | 0;
|
|
$337 = tempRet0;
|
|
$338 = _i64Subtract($150 | 0, $151 | 0, $336 | 0, $337 | 0) | 0;
|
|
$339 = tempRet0;
|
|
$340 = _i64Add($256 | 0, $257 | 0, 1048576, 0) | 0;
|
|
$341 = tempRet0;
|
|
$342 = _bitshift64Lshr($340 | 0, $341 | 0, 21) | 0;
|
|
$343 = tempRet0;
|
|
$344 = _i64Add($278 | 0, $279 | 0, $342 | 0, $343 | 0) | 0;
|
|
$345 = tempRet0;
|
|
$346 = _bitshift64Shl($342 | 0, $343 | 0, 21) | 0;
|
|
$347 = tempRet0;
|
|
$348 = _i64Subtract($256 | 0, $257 | 0, $346 | 0, $347 | 0) | 0;
|
|
$349 = tempRet0;
|
|
$350 = _i64Add($274 | 0, $275 | 0, 1048576, 0) | 0;
|
|
$351 = tempRet0;
|
|
$352 = _bitshift64Ashr($350 | 0, $351 | 0, 21) | 0;
|
|
$353 = tempRet0;
|
|
$354 = _i64Add($300 | 0, $301 | 0, $352 | 0, $353 | 0) | 0;
|
|
$355 = tempRet0;
|
|
$356 = _bitshift64Shl($352 | 0, $353 | 0, 21) | 0;
|
|
$357 = tempRet0;
|
|
$358 = _i64Subtract($274 | 0, $275 | 0, $356 | 0, $357 | 0) | 0;
|
|
$359 = tempRet0;
|
|
$360 = _i64Add($296 | 0, $297 | 0, 1048576, 0) | 0;
|
|
$361 = tempRet0;
|
|
$362 = _bitshift64Ashr($360 | 0, $361 | 0, 21) | 0;
|
|
$363 = tempRet0;
|
|
$364 = _i64Add($318 | 0, $319 | 0, $362 | 0, $363 | 0) | 0;
|
|
$365 = tempRet0;
|
|
$366 = _bitshift64Shl($362 | 0, $363 | 0, 21) | 0;
|
|
$367 = tempRet0;
|
|
$368 = _i64Subtract($296 | 0, $297 | 0, $366 | 0, $367 | 0) | 0;
|
|
$369 = tempRet0;
|
|
$370 = _i64Add($314 | 0, $315 | 0, 1048576, 0) | 0;
|
|
$371 = tempRet0;
|
|
$372 = _bitshift64Ashr($370 | 0, $371 | 0, 21) | 0;
|
|
$373 = tempRet0;
|
|
$374 = _i64Add($372 | 0, $373 | 0, $328 | 0, $329 | 0) | 0;
|
|
$375 = tempRet0;
|
|
$376 = _bitshift64Shl($372 | 0, $373 | 0, 21) | 0;
|
|
$377 = tempRet0;
|
|
$378 = _i64Subtract($314 | 0, $315 | 0, $376 | 0, $377 | 0) | 0;
|
|
$379 = tempRet0;
|
|
$380 = _i64Add($324 | 0, $325 | 0, 1048576, 0) | 0;
|
|
$381 = tempRet0;
|
|
$382 = _bitshift64Ashr($380 | 0, $381 | 0, 21) | 0;
|
|
$383 = tempRet0;
|
|
$384 = _i64Add($382 | 0, $383 | 0, $338 | 0, $339 | 0) | 0;
|
|
$385 = tempRet0;
|
|
$386 = _bitshift64Shl($382 | 0, $383 | 0, 21) | 0;
|
|
$387 = tempRet0;
|
|
$388 = _i64Subtract($324 | 0, $325 | 0, $386 | 0, $387 | 0) | 0;
|
|
$389 = tempRet0;
|
|
$390 = ___muldi3($334 | 0, $335 | 0, 666643, 0) | 0;
|
|
$391 = tempRet0;
|
|
$392 = _i64Add($390 | 0, $391 | 0, $32 | 0, 0) | 0;
|
|
$393 = tempRet0;
|
|
$394 = ___muldi3($334 | 0, $335 | 0, 470296, 0) | 0;
|
|
$395 = tempRet0;
|
|
$396 = _i64Add($260 | 0, $261 | 0, $394 | 0, $395 | 0) | 0;
|
|
$397 = tempRet0;
|
|
$398 = ___muldi3($334 | 0, $335 | 0, 654183, 0) | 0;
|
|
$399 = tempRet0;
|
|
$400 = _i64Add($348 | 0, $349 | 0, $398 | 0, $399 | 0) | 0;
|
|
$401 = tempRet0;
|
|
$402 = ___muldi3($334 | 0, $335 | 0, -997805, -1) | 0;
|
|
$403 = tempRet0;
|
|
$404 = _i64Add($344 | 0, $345 | 0, $402 | 0, $403 | 0) | 0;
|
|
$405 = tempRet0;
|
|
$406 = ___muldi3($334 | 0, $335 | 0, 136657, 0) | 0;
|
|
$407 = tempRet0;
|
|
$408 = _i64Add($358 | 0, $359 | 0, $406 | 0, $407 | 0) | 0;
|
|
$409 = tempRet0;
|
|
$410 = ___muldi3($334 | 0, $335 | 0, -683901, -1) | 0;
|
|
$411 = tempRet0;
|
|
$412 = _i64Add($354 | 0, $355 | 0, $410 | 0, $411 | 0) | 0;
|
|
$413 = tempRet0;
|
|
$414 = ___muldi3($384 | 0, $385 | 0, 666643, 0) | 0;
|
|
$415 = tempRet0;
|
|
$416 = ___muldi3($384 | 0, $385 | 0, 470296, 0) | 0;
|
|
$417 = tempRet0;
|
|
$418 = ___muldi3($384 | 0, $385 | 0, 654183, 0) | 0;
|
|
$419 = tempRet0;
|
|
$420 = _i64Add($396 | 0, $397 | 0, $418 | 0, $419 | 0) | 0;
|
|
$421 = tempRet0;
|
|
$422 = ___muldi3($384 | 0, $385 | 0, -997805, -1) | 0;
|
|
$423 = tempRet0;
|
|
$424 = _i64Add($400 | 0, $401 | 0, $422 | 0, $423 | 0) | 0;
|
|
$425 = tempRet0;
|
|
$426 = ___muldi3($384 | 0, $385 | 0, 136657, 0) | 0;
|
|
$427 = tempRet0;
|
|
$428 = _i64Add($404 | 0, $405 | 0, $426 | 0, $427 | 0) | 0;
|
|
$429 = tempRet0;
|
|
$430 = ___muldi3($384 | 0, $385 | 0, -683901, -1) | 0;
|
|
$431 = tempRet0;
|
|
$432 = _i64Add($408 | 0, $409 | 0, $430 | 0, $431 | 0) | 0;
|
|
$433 = tempRet0;
|
|
$434 = ___muldi3($388 | 0, $389 | 0, 666643, 0) | 0;
|
|
$435 = tempRet0;
|
|
$436 = ___muldi3($388 | 0, $389 | 0, 470296, 0) | 0;
|
|
$437 = tempRet0;
|
|
$438 = ___muldi3($388 | 0, $389 | 0, 654183, 0) | 0;
|
|
$439 = tempRet0;
|
|
$440 = ___muldi3($388 | 0, $389 | 0, -997805, -1) | 0;
|
|
$441 = tempRet0;
|
|
$442 = ___muldi3($388 | 0, $389 | 0, 136657, 0) | 0;
|
|
$443 = tempRet0;
|
|
$444 = ___muldi3($388 | 0, $389 | 0, -683901, -1) | 0;
|
|
$445 = tempRet0;
|
|
$446 = _i64Add($428 | 0, $429 | 0, $444 | 0, $445 | 0) | 0;
|
|
$447 = tempRet0;
|
|
$448 = ___muldi3($374 | 0, $375 | 0, 666643, 0) | 0;
|
|
$449 = tempRet0;
|
|
$450 = ___muldi3($374 | 0, $375 | 0, 470296, 0) | 0;
|
|
$451 = tempRet0;
|
|
$452 = ___muldi3($374 | 0, $375 | 0, 654183, 0) | 0;
|
|
$453 = tempRet0;
|
|
$454 = ___muldi3($374 | 0, $375 | 0, -997805, -1) | 0;
|
|
$455 = tempRet0;
|
|
$456 = ___muldi3($374 | 0, $375 | 0, 136657, 0) | 0;
|
|
$457 = tempRet0;
|
|
$458 = ___muldi3($374 | 0, $375 | 0, -683901, -1) | 0;
|
|
$459 = tempRet0;
|
|
$460 = ___muldi3($378 | 0, $379 | 0, 666643, 0) | 0;
|
|
$461 = tempRet0;
|
|
$462 = ___muldi3($378 | 0, $379 | 0, 470296, 0) | 0;
|
|
$463 = tempRet0;
|
|
$464 = ___muldi3($378 | 0, $379 | 0, 654183, 0) | 0;
|
|
$465 = tempRet0;
|
|
$466 = ___muldi3($378 | 0, $379 | 0, -997805, -1) | 0;
|
|
$467 = tempRet0;
|
|
$468 = ___muldi3($378 | 0, $379 | 0, 136657, 0) | 0;
|
|
$469 = tempRet0;
|
|
$470 = ___muldi3($378 | 0, $379 | 0, -683901, -1) | 0;
|
|
$471 = tempRet0;
|
|
$472 = _i64Add($420 | 0, $421 | 0, $456 | 0, $457 | 0) | 0;
|
|
$473 = tempRet0;
|
|
$474 = _i64Add($472 | 0, $473 | 0, $440 | 0, $441 | 0) | 0;
|
|
$475 = tempRet0;
|
|
$476 = _i64Add($474 | 0, $475 | 0, $470 | 0, $471 | 0) | 0;
|
|
$477 = tempRet0;
|
|
$478 = ___muldi3($364 | 0, $365 | 0, 666643, 0) | 0;
|
|
$479 = tempRet0;
|
|
$480 = _i64Add($478 | 0, $479 | 0, $2 | 0, 0) | 0;
|
|
$481 = tempRet0;
|
|
$482 = ___muldi3($364 | 0, $365 | 0, 470296, 0) | 0;
|
|
$483 = tempRet0;
|
|
$484 = ___muldi3($364 | 0, $365 | 0, 654183, 0) | 0;
|
|
$485 = tempRet0;
|
|
$486 = _i64Add($484 | 0, $485 | 0, $14 | 0, 0) | 0;
|
|
$487 = tempRet0;
|
|
$488 = _i64Add($486 | 0, $487 | 0, $448 | 0, $449 | 0) | 0;
|
|
$489 = tempRet0;
|
|
$490 = _i64Add($488 | 0, $489 | 0, $462 | 0, $463 | 0) | 0;
|
|
$491 = tempRet0;
|
|
$492 = ___muldi3($364 | 0, $365 | 0, -997805, -1) | 0;
|
|
$493 = tempRet0;
|
|
$494 = ___muldi3($364 | 0, $365 | 0, 136657, 0) | 0;
|
|
$495 = tempRet0;
|
|
$496 = _i64Add($494 | 0, $495 | 0, $26 | 0, 0) | 0;
|
|
$497 = tempRet0;
|
|
$498 = _i64Add($496 | 0, $497 | 0, $414 | 0, $415 | 0) | 0;
|
|
$499 = tempRet0;
|
|
$500 = _i64Add($498 | 0, $499 | 0, $452 | 0, $453 | 0) | 0;
|
|
$501 = tempRet0;
|
|
$502 = _i64Add($500 | 0, $501 | 0, $436 | 0, $437 | 0) | 0;
|
|
$503 = tempRet0;
|
|
$504 = _i64Add($502 | 0, $503 | 0, $466 | 0, $467 | 0) | 0;
|
|
$505 = tempRet0;
|
|
$506 = ___muldi3($364 | 0, $365 | 0, -683901, -1) | 0;
|
|
$507 = tempRet0;
|
|
$508 = _i64Add($480 | 0, $481 | 0, 1048576, 0) | 0;
|
|
$509 = tempRet0;
|
|
$510 = _bitshift64Ashr($508 | 0, $509 | 0, 21) | 0;
|
|
$511 = tempRet0;
|
|
$512 = _i64Add($482 | 0, $483 | 0, $8 | 0, 0) | 0;
|
|
$513 = tempRet0;
|
|
$514 = _i64Add($512 | 0, $513 | 0, $460 | 0, $461 | 0) | 0;
|
|
$515 = tempRet0;
|
|
$516 = _i64Add($514 | 0, $515 | 0, $510 | 0, $511 | 0) | 0;
|
|
$517 = tempRet0;
|
|
$518 = _bitshift64Shl($510 | 0, $511 | 0, 21) | 0;
|
|
$519 = tempRet0;
|
|
$520 = _i64Subtract($480 | 0, $481 | 0, $518 | 0, $519 | 0) | 0;
|
|
$521 = tempRet0;
|
|
$522 = _i64Add($490 | 0, $491 | 0, 1048576, 0) | 0;
|
|
$523 = tempRet0;
|
|
$524 = _bitshift64Ashr($522 | 0, $523 | 0, 21) | 0;
|
|
$525 = tempRet0;
|
|
$526 = _i64Add($492 | 0, $493 | 0, $20 | 0, 0) | 0;
|
|
$527 = tempRet0;
|
|
$528 = _i64Add($526 | 0, $527 | 0, $450 | 0, $451 | 0) | 0;
|
|
$529 = tempRet0;
|
|
$530 = _i64Add($528 | 0, $529 | 0, $434 | 0, $435 | 0) | 0;
|
|
$531 = tempRet0;
|
|
$532 = _i64Add($530 | 0, $531 | 0, $464 | 0, $465 | 0) | 0;
|
|
$533 = tempRet0;
|
|
$534 = _i64Add($532 | 0, $533 | 0, $524 | 0, $525 | 0) | 0;
|
|
$535 = tempRet0;
|
|
$536 = _bitshift64Shl($524 | 0, $525 | 0, 21) | 0;
|
|
$537 = tempRet0;
|
|
$538 = _i64Add($504 | 0, $505 | 0, 1048576, 0) | 0;
|
|
$539 = tempRet0;
|
|
$540 = _bitshift64Ashr($538 | 0, $539 | 0, 21) | 0;
|
|
$541 = tempRet0;
|
|
$542 = _i64Add($392 | 0, $393 | 0, $506 | 0, $507 | 0) | 0;
|
|
$543 = tempRet0;
|
|
$544 = _i64Add($542 | 0, $543 | 0, $416 | 0, $417 | 0) | 0;
|
|
$545 = tempRet0;
|
|
$546 = _i64Add($544 | 0, $545 | 0, $454 | 0, $455 | 0) | 0;
|
|
$547 = tempRet0;
|
|
$548 = _i64Add($546 | 0, $547 | 0, $438 | 0, $439 | 0) | 0;
|
|
$549 = tempRet0;
|
|
$550 = _i64Add($548 | 0, $549 | 0, $468 | 0, $469 | 0) | 0;
|
|
$551 = tempRet0;
|
|
$552 = _i64Add($550 | 0, $551 | 0, $540 | 0, $541 | 0) | 0;
|
|
$553 = tempRet0;
|
|
$554 = _bitshift64Shl($540 | 0, $541 | 0, 21) | 0;
|
|
$555 = tempRet0;
|
|
$556 = _i64Add($476 | 0, $477 | 0, 1048576, 0) | 0;
|
|
$557 = tempRet0;
|
|
$558 = _bitshift64Ashr($556 | 0, $557 | 0, 21) | 0;
|
|
$559 = tempRet0;
|
|
$560 = _i64Add($424 | 0, $425 | 0, $458 | 0, $459 | 0) | 0;
|
|
$561 = tempRet0;
|
|
$562 = _i64Add($560 | 0, $561 | 0, $442 | 0, $443 | 0) | 0;
|
|
$563 = tempRet0;
|
|
$564 = _i64Add($562 | 0, $563 | 0, $558 | 0, $559 | 0) | 0;
|
|
$565 = tempRet0;
|
|
$566 = _bitshift64Shl($558 | 0, $559 | 0, 21) | 0;
|
|
$567 = tempRet0;
|
|
$568 = _i64Subtract($476 | 0, $477 | 0, $566 | 0, $567 | 0) | 0;
|
|
$569 = tempRet0;
|
|
$570 = _i64Add($446 | 0, $447 | 0, 1048576, 0) | 0;
|
|
$571 = tempRet0;
|
|
$572 = _bitshift64Ashr($570 | 0, $571 | 0, 21) | 0;
|
|
$573 = tempRet0;
|
|
$574 = _i64Add($432 | 0, $433 | 0, $572 | 0, $573 | 0) | 0;
|
|
$575 = tempRet0;
|
|
$576 = _bitshift64Shl($572 | 0, $573 | 0, 21) | 0;
|
|
$577 = tempRet0;
|
|
$578 = _i64Subtract($446 | 0, $447 | 0, $576 | 0, $577 | 0) | 0;
|
|
$579 = tempRet0;
|
|
$580 = _i64Add($412 | 0, $413 | 0, 1048576, 0) | 0;
|
|
$581 = tempRet0;
|
|
$582 = _bitshift64Ashr($580 | 0, $581 | 0, 21) | 0;
|
|
$583 = tempRet0;
|
|
$584 = _i64Add($582 | 0, $583 | 0, $368 | 0, $369 | 0) | 0;
|
|
$585 = tempRet0;
|
|
$586 = _bitshift64Shl($582 | 0, $583 | 0, 21) | 0;
|
|
$587 = tempRet0;
|
|
$588 = _i64Subtract($412 | 0, $413 | 0, $586 | 0, $587 | 0) | 0;
|
|
$589 = tempRet0;
|
|
$590 = _i64Add($516 | 0, $517 | 0, 1048576, 0) | 0;
|
|
$591 = tempRet0;
|
|
$592 = _bitshift64Ashr($590 | 0, $591 | 0, 21) | 0;
|
|
$593 = tempRet0;
|
|
$594 = _bitshift64Shl($592 | 0, $593 | 0, 21) | 0;
|
|
$595 = tempRet0;
|
|
$596 = _i64Add($534 | 0, $535 | 0, 1048576, 0) | 0;
|
|
$597 = tempRet0;
|
|
$598 = _bitshift64Ashr($596 | 0, $597 | 0, 21) | 0;
|
|
$599 = tempRet0;
|
|
$600 = _bitshift64Shl($598 | 0, $599 | 0, 21) | 0;
|
|
$601 = tempRet0;
|
|
$602 = _i64Add($552 | 0, $553 | 0, 1048576, 0) | 0;
|
|
$603 = tempRet0;
|
|
$604 = _bitshift64Ashr($602 | 0, $603 | 0, 21) | 0;
|
|
$605 = tempRet0;
|
|
$606 = _i64Add($568 | 0, $569 | 0, $604 | 0, $605 | 0) | 0;
|
|
$607 = tempRet0;
|
|
$608 = _bitshift64Shl($604 | 0, $605 | 0, 21) | 0;
|
|
$609 = tempRet0;
|
|
$610 = _i64Add($564 | 0, $565 | 0, 1048576, 0) | 0;
|
|
$611 = tempRet0;
|
|
$612 = _bitshift64Ashr($610 | 0, $611 | 0, 21) | 0;
|
|
$613 = tempRet0;
|
|
$614 = _i64Add($578 | 0, $579 | 0, $612 | 0, $613 | 0) | 0;
|
|
$615 = tempRet0;
|
|
$616 = _bitshift64Shl($612 | 0, $613 | 0, 21) | 0;
|
|
$617 = tempRet0;
|
|
$618 = _i64Subtract($564 | 0, $565 | 0, $616 | 0, $617 | 0) | 0;
|
|
$619 = tempRet0;
|
|
$620 = _i64Add($574 | 0, $575 | 0, 1048576, 0) | 0;
|
|
$621 = tempRet0;
|
|
$622 = _bitshift64Ashr($620 | 0, $621 | 0, 21) | 0;
|
|
$623 = tempRet0;
|
|
$624 = _i64Add($588 | 0, $589 | 0, $622 | 0, $623 | 0) | 0;
|
|
$625 = tempRet0;
|
|
$626 = _bitshift64Shl($622 | 0, $623 | 0, 21) | 0;
|
|
$627 = tempRet0;
|
|
$628 = _i64Subtract($574 | 0, $575 | 0, $626 | 0, $627 | 0) | 0;
|
|
$629 = tempRet0;
|
|
$630 = _i64Add($584 | 0, $585 | 0, 1048576, 0) | 0;
|
|
$631 = tempRet0;
|
|
$632 = _bitshift64Ashr($630 | 0, $631 | 0, 21) | 0;
|
|
$633 = tempRet0;
|
|
$634 = _bitshift64Shl($632 | 0, $633 | 0, 21) | 0;
|
|
$635 = tempRet0;
|
|
$636 = _i64Subtract($584 | 0, $585 | 0, $634 | 0, $635 | 0) | 0;
|
|
$637 = tempRet0;
|
|
$638 = ___muldi3($632 | 0, $633 | 0, 666643, 0) | 0;
|
|
$639 = tempRet0;
|
|
$640 = _i64Add($520 | 0, $521 | 0, $638 | 0, $639 | 0) | 0;
|
|
$641 = tempRet0;
|
|
$642 = ___muldi3($632 | 0, $633 | 0, 470296, 0) | 0;
|
|
$643 = tempRet0;
|
|
$644 = ___muldi3($632 | 0, $633 | 0, 654183, 0) | 0;
|
|
$645 = tempRet0;
|
|
$646 = ___muldi3($632 | 0, $633 | 0, -997805, -1) | 0;
|
|
$647 = tempRet0;
|
|
$648 = ___muldi3($632 | 0, $633 | 0, 136657, 0) | 0;
|
|
$649 = tempRet0;
|
|
$650 = ___muldi3($632 | 0, $633 | 0, -683901, -1) | 0;
|
|
$651 = tempRet0;
|
|
$652 = _bitshift64Ashr($640 | 0, $641 | 0, 21) | 0;
|
|
$653 = tempRet0;
|
|
$654 = _i64Add($642 | 0, $643 | 0, $516 | 0, $517 | 0) | 0;
|
|
$655 = tempRet0;
|
|
$656 = _i64Subtract($654 | 0, $655 | 0, $594 | 0, $595 | 0) | 0;
|
|
$657 = tempRet0;
|
|
$658 = _i64Add($656 | 0, $657 | 0, $652 | 0, $653 | 0) | 0;
|
|
$659 = tempRet0;
|
|
$660 = _bitshift64Shl($652 | 0, $653 | 0, 21) | 0;
|
|
$661 = tempRet0;
|
|
$662 = _i64Subtract($640 | 0, $641 | 0, $660 | 0, $661 | 0) | 0;
|
|
$663 = tempRet0;
|
|
$664 = _bitshift64Ashr($658 | 0, $659 | 0, 21) | 0;
|
|
$665 = tempRet0;
|
|
$666 = _i64Add($644 | 0, $645 | 0, $490 | 0, $491 | 0) | 0;
|
|
$667 = tempRet0;
|
|
$668 = _i64Subtract($666 | 0, $667 | 0, $536 | 0, $537 | 0) | 0;
|
|
$669 = tempRet0;
|
|
$670 = _i64Add($668 | 0, $669 | 0, $592 | 0, $593 | 0) | 0;
|
|
$671 = tempRet0;
|
|
$672 = _i64Add($670 | 0, $671 | 0, $664 | 0, $665 | 0) | 0;
|
|
$673 = tempRet0;
|
|
$674 = _bitshift64Shl($664 | 0, $665 | 0, 21) | 0;
|
|
$675 = tempRet0;
|
|
$676 = _i64Subtract($658 | 0, $659 | 0, $674 | 0, $675 | 0) | 0;
|
|
$677 = tempRet0;
|
|
$678 = _bitshift64Ashr($672 | 0, $673 | 0, 21) | 0;
|
|
$679 = tempRet0;
|
|
$680 = _i64Add($534 | 0, $535 | 0, $646 | 0, $647 | 0) | 0;
|
|
$681 = tempRet0;
|
|
$682 = _i64Subtract($680 | 0, $681 | 0, $600 | 0, $601 | 0) | 0;
|
|
$683 = tempRet0;
|
|
$684 = _i64Add($682 | 0, $683 | 0, $678 | 0, $679 | 0) | 0;
|
|
$685 = tempRet0;
|
|
$686 = _bitshift64Shl($678 | 0, $679 | 0, 21) | 0;
|
|
$687 = tempRet0;
|
|
$688 = _i64Subtract($672 | 0, $673 | 0, $686 | 0, $687 | 0) | 0;
|
|
$689 = tempRet0;
|
|
$690 = _bitshift64Ashr($684 | 0, $685 | 0, 21) | 0;
|
|
$691 = tempRet0;
|
|
$692 = _i64Add($648 | 0, $649 | 0, $504 | 0, $505 | 0) | 0;
|
|
$693 = tempRet0;
|
|
$694 = _i64Subtract($692 | 0, $693 | 0, $554 | 0, $555 | 0) | 0;
|
|
$695 = tempRet0;
|
|
$696 = _i64Add($694 | 0, $695 | 0, $598 | 0, $599 | 0) | 0;
|
|
$697 = tempRet0;
|
|
$698 = _i64Add($696 | 0, $697 | 0, $690 | 0, $691 | 0) | 0;
|
|
$699 = tempRet0;
|
|
$700 = _bitshift64Shl($690 | 0, $691 | 0, 21) | 0;
|
|
$701 = tempRet0;
|
|
$702 = _i64Subtract($684 | 0, $685 | 0, $700 | 0, $701 | 0) | 0;
|
|
$703 = tempRet0;
|
|
$704 = _bitshift64Ashr($698 | 0, $699 | 0, 21) | 0;
|
|
$705 = tempRet0;
|
|
$706 = _i64Add($552 | 0, $553 | 0, $650 | 0, $651 | 0) | 0;
|
|
$707 = tempRet0;
|
|
$708 = _i64Subtract($706 | 0, $707 | 0, $608 | 0, $609 | 0) | 0;
|
|
$709 = tempRet0;
|
|
$710 = _i64Add($708 | 0, $709 | 0, $704 | 0, $705 | 0) | 0;
|
|
$711 = tempRet0;
|
|
$712 = _bitshift64Shl($704 | 0, $705 | 0, 21) | 0;
|
|
$713 = tempRet0;
|
|
$714 = _i64Subtract($698 | 0, $699 | 0, $712 | 0, $713 | 0) | 0;
|
|
$715 = tempRet0;
|
|
$716 = _bitshift64Ashr($710 | 0, $711 | 0, 21) | 0;
|
|
$717 = tempRet0;
|
|
$718 = _i64Add($606 | 0, $607 | 0, $716 | 0, $717 | 0) | 0;
|
|
$719 = tempRet0;
|
|
$720 = _bitshift64Shl($716 | 0, $717 | 0, 21) | 0;
|
|
$721 = tempRet0;
|
|
$722 = _i64Subtract($710 | 0, $711 | 0, $720 | 0, $721 | 0) | 0;
|
|
$723 = tempRet0;
|
|
$724 = _bitshift64Ashr($718 | 0, $719 | 0, 21) | 0;
|
|
$725 = tempRet0;
|
|
$726 = _i64Add($724 | 0, $725 | 0, $618 | 0, $619 | 0) | 0;
|
|
$727 = tempRet0;
|
|
$728 = _bitshift64Shl($724 | 0, $725 | 0, 21) | 0;
|
|
$729 = tempRet0;
|
|
$730 = _i64Subtract($718 | 0, $719 | 0, $728 | 0, $729 | 0) | 0;
|
|
$731 = tempRet0;
|
|
$732 = _bitshift64Ashr($726 | 0, $727 | 0, 21) | 0;
|
|
$733 = tempRet0;
|
|
$734 = _i64Add($614 | 0, $615 | 0, $732 | 0, $733 | 0) | 0;
|
|
$735 = tempRet0;
|
|
$736 = _bitshift64Shl($732 | 0, $733 | 0, 21) | 0;
|
|
$737 = tempRet0;
|
|
$738 = _i64Subtract($726 | 0, $727 | 0, $736 | 0, $737 | 0) | 0;
|
|
$739 = tempRet0;
|
|
$740 = _bitshift64Ashr($734 | 0, $735 | 0, 21) | 0;
|
|
$741 = tempRet0;
|
|
$742 = _i64Add($740 | 0, $741 | 0, $628 | 0, $629 | 0) | 0;
|
|
$743 = tempRet0;
|
|
$744 = _bitshift64Shl($740 | 0, $741 | 0, 21) | 0;
|
|
$745 = tempRet0;
|
|
$746 = _i64Subtract($734 | 0, $735 | 0, $744 | 0, $745 | 0) | 0;
|
|
$747 = tempRet0;
|
|
$748 = _bitshift64Ashr($742 | 0, $743 | 0, 21) | 0;
|
|
$749 = tempRet0;
|
|
$750 = _i64Add($624 | 0, $625 | 0, $748 | 0, $749 | 0) | 0;
|
|
$751 = tempRet0;
|
|
$752 = _bitshift64Shl($748 | 0, $749 | 0, 21) | 0;
|
|
$753 = tempRet0;
|
|
$754 = _i64Subtract($742 | 0, $743 | 0, $752 | 0, $753 | 0) | 0;
|
|
$755 = tempRet0;
|
|
$756 = _bitshift64Ashr($750 | 0, $751 | 0, 21) | 0;
|
|
$757 = tempRet0;
|
|
$758 = _i64Add($756 | 0, $757 | 0, $636 | 0, $637 | 0) | 0;
|
|
$759 = tempRet0;
|
|
$760 = _bitshift64Shl($756 | 0, $757 | 0, 21) | 0;
|
|
$761 = tempRet0;
|
|
$762 = _i64Subtract($750 | 0, $751 | 0, $760 | 0, $761 | 0) | 0;
|
|
$763 = tempRet0;
|
|
$764 = _bitshift64Ashr($758 | 0, $759 | 0, 21) | 0;
|
|
$765 = tempRet0;
|
|
$766 = _bitshift64Shl($764 | 0, $765 | 0, 21) | 0;
|
|
$767 = tempRet0;
|
|
$768 = _i64Subtract($758 | 0, $759 | 0, $766 | 0, $767 | 0) | 0;
|
|
$769 = tempRet0;
|
|
$770 = ___muldi3($764 | 0, $765 | 0, 666643, 0) | 0;
|
|
$771 = tempRet0;
|
|
$772 = _i64Add($770 | 0, $771 | 0, $662 | 0, $663 | 0) | 0;
|
|
$773 = tempRet0;
|
|
$774 = ___muldi3($764 | 0, $765 | 0, 470296, 0) | 0;
|
|
$775 = tempRet0;
|
|
$776 = _i64Add($676 | 0, $677 | 0, $774 | 0, $775 | 0) | 0;
|
|
$777 = tempRet0;
|
|
$778 = ___muldi3($764 | 0, $765 | 0, 654183, 0) | 0;
|
|
$779 = tempRet0;
|
|
$780 = _i64Add($688 | 0, $689 | 0, $778 | 0, $779 | 0) | 0;
|
|
$781 = tempRet0;
|
|
$782 = ___muldi3($764 | 0, $765 | 0, -997805, -1) | 0;
|
|
$783 = tempRet0;
|
|
$784 = _i64Add($702 | 0, $703 | 0, $782 | 0, $783 | 0) | 0;
|
|
$785 = tempRet0;
|
|
$786 = ___muldi3($764 | 0, $765 | 0, 136657, 0) | 0;
|
|
$787 = tempRet0;
|
|
$788 = _i64Add($714 | 0, $715 | 0, $786 | 0, $787 | 0) | 0;
|
|
$789 = tempRet0;
|
|
$790 = ___muldi3($764 | 0, $765 | 0, -683901, -1) | 0;
|
|
$791 = tempRet0;
|
|
$792 = _i64Add($722 | 0, $723 | 0, $790 | 0, $791 | 0) | 0;
|
|
$793 = tempRet0;
|
|
$794 = _bitshift64Ashr($772 | 0, $773 | 0, 21) | 0;
|
|
$795 = tempRet0;
|
|
$796 = _i64Add($776 | 0, $777 | 0, $794 | 0, $795 | 0) | 0;
|
|
$797 = tempRet0;
|
|
$798 = _bitshift64Shl($794 | 0, $795 | 0, 21) | 0;
|
|
$799 = tempRet0;
|
|
$800 = _i64Subtract($772 | 0, $773 | 0, $798 | 0, $799 | 0) | 0;
|
|
$801 = tempRet0;
|
|
$802 = _bitshift64Ashr($796 | 0, $797 | 0, 21) | 0;
|
|
$803 = tempRet0;
|
|
$804 = _i64Add($780 | 0, $781 | 0, $802 | 0, $803 | 0) | 0;
|
|
$805 = tempRet0;
|
|
$806 = _bitshift64Shl($802 | 0, $803 | 0, 21) | 0;
|
|
$807 = tempRet0;
|
|
$808 = _i64Subtract($796 | 0, $797 | 0, $806 | 0, $807 | 0) | 0;
|
|
$809 = tempRet0;
|
|
$810 = _bitshift64Ashr($804 | 0, $805 | 0, 21) | 0;
|
|
$811 = tempRet0;
|
|
$812 = _i64Add($784 | 0, $785 | 0, $810 | 0, $811 | 0) | 0;
|
|
$813 = tempRet0;
|
|
$814 = _bitshift64Shl($810 | 0, $811 | 0, 21) | 0;
|
|
$815 = tempRet0;
|
|
$816 = _i64Subtract($804 | 0, $805 | 0, $814 | 0, $815 | 0) | 0;
|
|
$817 = tempRet0;
|
|
$818 = _bitshift64Ashr($812 | 0, $813 | 0, 21) | 0;
|
|
$819 = tempRet0;
|
|
$820 = _i64Add($788 | 0, $789 | 0, $818 | 0, $819 | 0) | 0;
|
|
$821 = tempRet0;
|
|
$822 = _bitshift64Shl($818 | 0, $819 | 0, 21) | 0;
|
|
$823 = tempRet0;
|
|
$824 = _i64Subtract($812 | 0, $813 | 0, $822 | 0, $823 | 0) | 0;
|
|
$825 = tempRet0;
|
|
$826 = _bitshift64Ashr($820 | 0, $821 | 0, 21) | 0;
|
|
$827 = tempRet0;
|
|
$828 = _i64Add($792 | 0, $793 | 0, $826 | 0, $827 | 0) | 0;
|
|
$829 = tempRet0;
|
|
$830 = _bitshift64Shl($826 | 0, $827 | 0, 21) | 0;
|
|
$831 = tempRet0;
|
|
$832 = _i64Subtract($820 | 0, $821 | 0, $830 | 0, $831 | 0) | 0;
|
|
$833 = tempRet0;
|
|
$834 = _bitshift64Ashr($828 | 0, $829 | 0, 21) | 0;
|
|
$835 = tempRet0;
|
|
$836 = _i64Add($834 | 0, $835 | 0, $730 | 0, $731 | 0) | 0;
|
|
$837 = tempRet0;
|
|
$838 = _bitshift64Shl($834 | 0, $835 | 0, 21) | 0;
|
|
$839 = tempRet0;
|
|
$840 = _i64Subtract($828 | 0, $829 | 0, $838 | 0, $839 | 0) | 0;
|
|
$841 = tempRet0;
|
|
$842 = _bitshift64Ashr($836 | 0, $837 | 0, 21) | 0;
|
|
$843 = tempRet0;
|
|
$844 = _i64Add($842 | 0, $843 | 0, $738 | 0, $739 | 0) | 0;
|
|
$845 = tempRet0;
|
|
$846 = _bitshift64Shl($842 | 0, $843 | 0, 21) | 0;
|
|
$847 = tempRet0;
|
|
$848 = _i64Subtract($836 | 0, $837 | 0, $846 | 0, $847 | 0) | 0;
|
|
$849 = tempRet0;
|
|
$850 = _bitshift64Ashr($844 | 0, $845 | 0, 21) | 0;
|
|
$851 = tempRet0;
|
|
$852 = _i64Add($850 | 0, $851 | 0, $746 | 0, $747 | 0) | 0;
|
|
$853 = tempRet0;
|
|
$854 = _bitshift64Shl($850 | 0, $851 | 0, 21) | 0;
|
|
$855 = tempRet0;
|
|
$856 = _i64Subtract($844 | 0, $845 | 0, $854 | 0, $855 | 0) | 0;
|
|
$857 = tempRet0;
|
|
$858 = _bitshift64Ashr($852 | 0, $853 | 0, 21) | 0;
|
|
$859 = tempRet0;
|
|
$860 = _i64Add($858 | 0, $859 | 0, $754 | 0, $755 | 0) | 0;
|
|
$861 = tempRet0;
|
|
$862 = _bitshift64Shl($858 | 0, $859 | 0, 21) | 0;
|
|
$863 = tempRet0;
|
|
$864 = _i64Subtract($852 | 0, $853 | 0, $862 | 0, $863 | 0) | 0;
|
|
$865 = tempRet0;
|
|
$866 = _bitshift64Ashr($860 | 0, $861 | 0, 21) | 0;
|
|
$867 = tempRet0;
|
|
$868 = _i64Add($866 | 0, $867 | 0, $762 | 0, $763 | 0) | 0;
|
|
$869 = tempRet0;
|
|
$870 = _bitshift64Shl($866 | 0, $867 | 0, 21) | 0;
|
|
$871 = tempRet0;
|
|
$872 = _i64Subtract($860 | 0, $861 | 0, $870 | 0, $871 | 0) | 0;
|
|
$873 = tempRet0;
|
|
$874 = _bitshift64Ashr($868 | 0, $869 | 0, 21) | 0;
|
|
$875 = tempRet0;
|
|
$876 = _i64Add($874 | 0, $875 | 0, $768 | 0, $769 | 0) | 0;
|
|
$877 = tempRet0;
|
|
$878 = _bitshift64Shl($874 | 0, $875 | 0, 21) | 0;
|
|
$879 = tempRet0;
|
|
$880 = _i64Subtract($868 | 0, $869 | 0, $878 | 0, $879 | 0) | 0;
|
|
$881 = tempRet0;
|
|
$882 = $800 & 255;
|
|
HEAP8[$s >> 0] = $882;
|
|
$883 = _bitshift64Lshr($800 | 0, $801 | 0, 8) | 0;
|
|
$884 = tempRet0;
|
|
$885 = $883 & 255;
|
|
$886 = ($s + 1) | 0;
|
|
HEAP8[$886 >> 0] = $885;
|
|
$887 = _bitshift64Lshr($800 | 0, $801 | 0, 16) | 0;
|
|
$888 = tempRet0;
|
|
$889 = _bitshift64Shl($808 | 0, $809 | 0, 5) | 0;
|
|
$890 = tempRet0;
|
|
$891 = $889 | $887;
|
|
$890 | $888;
|
|
$892 = $891 & 255;
|
|
HEAP8[$3 >> 0] = $892;
|
|
$893 = _bitshift64Lshr($808 | 0, $809 | 0, 3) | 0;
|
|
$894 = tempRet0;
|
|
$895 = $893 & 255;
|
|
$896 = ($s + 3) | 0;
|
|
HEAP8[$896 >> 0] = $895;
|
|
$897 = _bitshift64Lshr($808 | 0, $809 | 0, 11) | 0;
|
|
$898 = tempRet0;
|
|
$899 = $897 & 255;
|
|
$900 = ($s + 4) | 0;
|
|
HEAP8[$900 >> 0] = $899;
|
|
$901 = _bitshift64Lshr($808 | 0, $809 | 0, 19) | 0;
|
|
$902 = tempRet0;
|
|
$903 = _bitshift64Shl($816 | 0, $817 | 0, 2) | 0;
|
|
$904 = tempRet0;
|
|
$905 = $903 | $901;
|
|
$904 | $902;
|
|
$906 = $905 & 255;
|
|
HEAP8[$9 >> 0] = $906;
|
|
$907 = _bitshift64Lshr($816 | 0, $817 | 0, 6) | 0;
|
|
$908 = tempRet0;
|
|
$909 = $907 & 255;
|
|
$910 = ($s + 6) | 0;
|
|
HEAP8[$910 >> 0] = $909;
|
|
$911 = _bitshift64Lshr($816 | 0, $817 | 0, 14) | 0;
|
|
$912 = tempRet0;
|
|
$913 = _bitshift64Shl($824 | 0, $825 | 0, 7) | 0;
|
|
$914 = tempRet0;
|
|
$915 = $913 | $911;
|
|
$914 | $912;
|
|
$916 = $915 & 255;
|
|
HEAP8[$15 >> 0] = $916;
|
|
$917 = _bitshift64Lshr($824 | 0, $825 | 0, 1) | 0;
|
|
$918 = tempRet0;
|
|
$919 = $917 & 255;
|
|
$920 = ($s + 8) | 0;
|
|
HEAP8[$920 >> 0] = $919;
|
|
$921 = _bitshift64Lshr($824 | 0, $825 | 0, 9) | 0;
|
|
$922 = tempRet0;
|
|
$923 = $921 & 255;
|
|
$924 = ($s + 9) | 0;
|
|
HEAP8[$924 >> 0] = $923;
|
|
$925 = _bitshift64Lshr($824 | 0, $825 | 0, 17) | 0;
|
|
$926 = tempRet0;
|
|
$927 = _bitshift64Shl($832 | 0, $833 | 0, 4) | 0;
|
|
$928 = tempRet0;
|
|
$929 = $927 | $925;
|
|
$928 | $926;
|
|
$930 = $929 & 255;
|
|
HEAP8[$21 >> 0] = $930;
|
|
$931 = _bitshift64Lshr($832 | 0, $833 | 0, 4) | 0;
|
|
$932 = tempRet0;
|
|
$933 = $931 & 255;
|
|
$934 = ($s + 11) | 0;
|
|
HEAP8[$934 >> 0] = $933;
|
|
$935 = _bitshift64Lshr($832 | 0, $833 | 0, 12) | 0;
|
|
$936 = tempRet0;
|
|
$937 = $935 & 255;
|
|
$938 = ($s + 12) | 0;
|
|
HEAP8[$938 >> 0] = $937;
|
|
$939 = _bitshift64Lshr($832 | 0, $833 | 0, 20) | 0;
|
|
$940 = tempRet0;
|
|
$941 = _bitshift64Shl($840 | 0, $841 | 0, 1) | 0;
|
|
$942 = tempRet0;
|
|
$943 = $941 | $939;
|
|
$942 | $940;
|
|
$944 = $943 & 255;
|
|
HEAP8[$27 >> 0] = $944;
|
|
$945 = _bitshift64Lshr($840 | 0, $841 | 0, 7) | 0;
|
|
$946 = tempRet0;
|
|
$947 = $945 & 255;
|
|
$948 = ($s + 14) | 0;
|
|
HEAP8[$948 >> 0] = $947;
|
|
$949 = _bitshift64Lshr($840 | 0, $841 | 0, 15) | 0;
|
|
$950 = tempRet0;
|
|
$951 = _bitshift64Shl($848 | 0, $849 | 0, 6) | 0;
|
|
$952 = tempRet0;
|
|
$953 = $951 | $949;
|
|
$952 | $950;
|
|
$954 = $953 & 255;
|
|
HEAP8[$33 >> 0] = $954;
|
|
$955 = _bitshift64Lshr($848 | 0, $849 | 0, 2) | 0;
|
|
$956 = tempRet0;
|
|
$957 = $955 & 255;
|
|
$958 = ($s + 16) | 0;
|
|
HEAP8[$958 >> 0] = $957;
|
|
$959 = _bitshift64Lshr($848 | 0, $849 | 0, 10) | 0;
|
|
$960 = tempRet0;
|
|
$961 = $959 & 255;
|
|
$962 = ($s + 17) | 0;
|
|
HEAP8[$962 >> 0] = $961;
|
|
$963 = _bitshift64Lshr($848 | 0, $849 | 0, 18) | 0;
|
|
$964 = tempRet0;
|
|
$965 = _bitshift64Shl($856 | 0, $857 | 0, 3) | 0;
|
|
$966 = tempRet0;
|
|
$967 = $965 | $963;
|
|
$966 | $964;
|
|
$968 = $967 & 255;
|
|
HEAP8[$39 >> 0] = $968;
|
|
$969 = _bitshift64Lshr($856 | 0, $857 | 0, 5) | 0;
|
|
$970 = tempRet0;
|
|
$971 = $969 & 255;
|
|
$972 = ($s + 19) | 0;
|
|
HEAP8[$972 >> 0] = $971;
|
|
$973 = _bitshift64Lshr($856 | 0, $857 | 0, 13) | 0;
|
|
$974 = tempRet0;
|
|
$975 = $973 & 255;
|
|
$976 = ($s + 20) | 0;
|
|
HEAP8[$976 >> 0] = $975;
|
|
$977 = $864 & 255;
|
|
HEAP8[$45 >> 0] = $977;
|
|
$978 = _bitshift64Lshr($864 | 0, $865 | 0, 8) | 0;
|
|
$979 = tempRet0;
|
|
$980 = $978 & 255;
|
|
$981 = ($s + 22) | 0;
|
|
HEAP8[$981 >> 0] = $980;
|
|
$982 = _bitshift64Lshr($864 | 0, $865 | 0, 16) | 0;
|
|
$983 = tempRet0;
|
|
$984 = _bitshift64Shl($872 | 0, $873 | 0, 5) | 0;
|
|
$985 = tempRet0;
|
|
$986 = $984 | $982;
|
|
$985 | $983;
|
|
$987 = $986 & 255;
|
|
HEAP8[$49 >> 0] = $987;
|
|
$988 = _bitshift64Lshr($872 | 0, $873 | 0, 3) | 0;
|
|
$989 = tempRet0;
|
|
$990 = $988 & 255;
|
|
$991 = ($s + 24) | 0;
|
|
HEAP8[$991 >> 0] = $990;
|
|
$992 = _bitshift64Lshr($872 | 0, $873 | 0, 11) | 0;
|
|
$993 = tempRet0;
|
|
$994 = $992 & 255;
|
|
$995 = ($s + 25) | 0;
|
|
HEAP8[$995 >> 0] = $994;
|
|
$996 = _bitshift64Lshr($872 | 0, $873 | 0, 19) | 0;
|
|
$997 = tempRet0;
|
|
$998 = _bitshift64Shl($880 | 0, $881 | 0, 2) | 0;
|
|
$999 = tempRet0;
|
|
$1000 = $998 | $996;
|
|
$999 | $997;
|
|
$1001 = $1000 & 255;
|
|
HEAP8[$55 >> 0] = $1001;
|
|
$1002 = _bitshift64Lshr($880 | 0, $881 | 0, 6) | 0;
|
|
$1003 = tempRet0;
|
|
$1004 = $1002 & 255;
|
|
$1005 = ($s + 27) | 0;
|
|
HEAP8[$1005 >> 0] = $1004;
|
|
$1006 = _bitshift64Lshr($880 | 0, $881 | 0, 14) | 0;
|
|
$1007 = tempRet0;
|
|
$1008 = _bitshift64Shl($876 | 0, $877 | 0, 7) | 0;
|
|
$1009 = tempRet0;
|
|
$1010 = $1006 | $1008;
|
|
$1007 | $1009;
|
|
$1011 = $1010 & 255;
|
|
HEAP8[$61 >> 0] = $1011;
|
|
$1012 = _bitshift64Lshr($876 | 0, $877 | 0, 1) | 0;
|
|
$1013 = tempRet0;
|
|
$1014 = $1012 & 255;
|
|
$1015 = ($s + 29) | 0;
|
|
HEAP8[$1015 >> 0] = $1014;
|
|
$1016 = _bitshift64Lshr($876 | 0, $877 | 0, 9) | 0;
|
|
$1017 = tempRet0;
|
|
$1018 = $1016 & 255;
|
|
$1019 = ($s + 30) | 0;
|
|
HEAP8[$1019 >> 0] = $1018;
|
|
$1020 = _bitshift64Lshr($876 | 0, $877 | 0, 17) | 0;
|
|
$1021 = tempRet0;
|
|
$1022 = $1020 & 255;
|
|
HEAP8[$67 >> 0] = $1022;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _load_351($in) {
|
|
$in = $in | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP8[$in >> 0] | 0;
|
|
$1 = $0 & 255;
|
|
$2 = ($in + 1) | 0;
|
|
$3 = HEAP8[$2 >> 0] | 0;
|
|
$4 = $3 & 255;
|
|
$5 = _bitshift64Shl($4 | 0, 0, 8) | 0;
|
|
$6 = tempRet0;
|
|
$7 = $5 | $1;
|
|
$8 = ($in + 2) | 0;
|
|
$9 = HEAP8[$8 >> 0] | 0;
|
|
$10 = $9 & 255;
|
|
$11 = _bitshift64Shl($10 | 0, 0, 16) | 0;
|
|
$12 = tempRet0;
|
|
$13 = $7 | $11;
|
|
$14 = $6 | $12;
|
|
tempRet0 = $14;
|
|
STACKTOP = sp;
|
|
return $13 | 0;
|
|
}
|
|
function _load_452($in) {
|
|
$in = $in | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0;
|
|
var $8 = 0,
|
|
$9 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP8[$in >> 0] | 0;
|
|
$1 = $0 & 255;
|
|
$2 = ($in + 1) | 0;
|
|
$3 = HEAP8[$2 >> 0] | 0;
|
|
$4 = $3 & 255;
|
|
$5 = _bitshift64Shl($4 | 0, 0, 8) | 0;
|
|
$6 = tempRet0;
|
|
$7 = $5 | $1;
|
|
$8 = ($in + 2) | 0;
|
|
$9 = HEAP8[$8 >> 0] | 0;
|
|
$10 = $9 & 255;
|
|
$11 = _bitshift64Shl($10 | 0, 0, 16) | 0;
|
|
$12 = tempRet0;
|
|
$13 = $7 | $11;
|
|
$14 = $6 | $12;
|
|
$15 = ($in + 3) | 0;
|
|
$16 = HEAP8[$15 >> 0] | 0;
|
|
$17 = $16 & 255;
|
|
$18 = _bitshift64Shl($17 | 0, 0, 24) | 0;
|
|
$19 = tempRet0;
|
|
$20 = $13 | $18;
|
|
$21 = $14 | $19;
|
|
tempRet0 = $21;
|
|
STACKTOP = sp;
|
|
return $20 | 0;
|
|
}
|
|
function _sph_sha512_init($cc) {
|
|
$cc = $cc | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
dest = 0,
|
|
label = 0,
|
|
sp = 0,
|
|
src = 0,
|
|
stop = 0;
|
|
sp = STACKTOP;
|
|
$0 = ($cc + 128) | 0;
|
|
dest = ($0 + 0) | 0;
|
|
src = (31840 + 0) | 0;
|
|
stop = (dest + 64) | 0;
|
|
do {
|
|
HEAP32[dest >> 2] = HEAP32[src >> 2] | 0;
|
|
dest = (dest + 4) | 0;
|
|
src = (src + 4) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
$1 = ($cc + 192) | 0;
|
|
$2 = $1;
|
|
$3 = $2;
|
|
HEAP32[$3 >> 2] = 0;
|
|
$4 = ($2 + 4) | 0;
|
|
$5 = $4;
|
|
HEAP32[$5 >> 2] = 0;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _sph_sha384($cc, $data, $len) {
|
|
$cc = $cc | 0;
|
|
$data = $data | 0;
|
|
$len = $len | 0;
|
|
var $$01$ = 0,
|
|
$$012 = 0,
|
|
$$03 = 0,
|
|
$0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0;
|
|
var $24 = 0,
|
|
$25 = 0,
|
|
$26 = 0,
|
|
$27 = 0,
|
|
$28 = 0,
|
|
$29 = 0,
|
|
$3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
$current$04 = 0,
|
|
$current$1 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = ($cc + 192) | 0;
|
|
$1 = ($len | 0) == 0;
|
|
if ($1) {
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
$2 = $0;
|
|
$3 = $2;
|
|
$4 = HEAP32[$3 >> 2] | 0;
|
|
$5 = ($2 + 4) | 0;
|
|
$6 = $5;
|
|
$7 = HEAP32[$6 >> 2] | 0;
|
|
$8 = $4 & 127;
|
|
$9 = ($cc + 128) | 0;
|
|
$$012 = $len;
|
|
$$03 = $data;
|
|
$current$04 = $8;
|
|
while (1) {
|
|
$10 = (128 - $current$04) | 0;
|
|
$11 = $10 >>> 0 > $$012 >>> 0;
|
|
$$01$ = $11 ? $$012 : $10;
|
|
$12 = ($cc + $current$04) | 0;
|
|
_memcpy($12 | 0, $$03 | 0, $$01$ | 0) | 0;
|
|
$13 = ($$03 + $$01$) | 0;
|
|
$14 = ($$01$ + $current$04) | 0;
|
|
$15 = ($$012 - $$01$) | 0;
|
|
$16 = ($14 | 0) == 128;
|
|
if ($16) {
|
|
_sha3_round($cc, $9);
|
|
$current$1 = 0;
|
|
} else {
|
|
$current$1 = $14;
|
|
}
|
|
$17 = $0;
|
|
$18 = $17;
|
|
$19 = HEAP32[$18 >> 2] | 0;
|
|
$20 = ($17 + 4) | 0;
|
|
$21 = $20;
|
|
$22 = HEAP32[$21 >> 2] | 0;
|
|
$23 = _i64Add($19 | 0, $22 | 0, $$01$ | 0, 0) | 0;
|
|
$24 = tempRet0;
|
|
$25 = $0;
|
|
$26 = $25;
|
|
HEAP32[$26 >> 2] = $23;
|
|
$27 = ($25 + 4) | 0;
|
|
$28 = $27;
|
|
HEAP32[$28 >> 2] = $24;
|
|
$29 = ($$012 | 0) == ($$01$ | 0);
|
|
if ($29) {
|
|
break;
|
|
} else {
|
|
$$012 = $15;
|
|
$$03 = $13;
|
|
$current$04 = $current$1;
|
|
}
|
|
}
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _sph_sha512_close($cc, $dst) {
|
|
$cc = $cc | 0;
|
|
$dst = $dst | 0;
|
|
var label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
_sha384_close($cc, $dst, 8);
|
|
_sph_sha512_init($cc);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _sha3_round($data, $r) {
|
|
$data = $data | 0;
|
|
$r = $r | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$101 = 0,
|
|
$102 = 0,
|
|
$103 = 0,
|
|
$104 = 0,
|
|
$105 = 0,
|
|
$106 = 0,
|
|
$107 = 0,
|
|
$108 = 0,
|
|
$109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0,
|
|
$115 = 0;
|
|
var $116 = 0,
|
|
$117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0,
|
|
$124 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$131 = 0,
|
|
$132 = 0,
|
|
$133 = 0;
|
|
var $134 = 0,
|
|
$135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$138 = 0,
|
|
$139 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$141 = 0,
|
|
$142 = 0,
|
|
$143 = 0,
|
|
$144 = 0,
|
|
$145 = 0,
|
|
$146 = 0,
|
|
$147 = 0,
|
|
$148 = 0,
|
|
$149 = 0,
|
|
$15 = 0,
|
|
$150 = 0,
|
|
$151 = 0;
|
|
var $152 = 0,
|
|
$153 = 0,
|
|
$154 = 0,
|
|
$155 = 0,
|
|
$156 = 0,
|
|
$157 = 0,
|
|
$158 = 0,
|
|
$159 = 0,
|
|
$16 = 0,
|
|
$160 = 0,
|
|
$161 = 0,
|
|
$162 = 0,
|
|
$163 = 0,
|
|
$164 = 0,
|
|
$165 = 0,
|
|
$166 = 0,
|
|
$167 = 0,
|
|
$168 = 0,
|
|
$169 = 0,
|
|
$17 = 0;
|
|
var $170 = 0,
|
|
$171 = 0,
|
|
$172 = 0,
|
|
$173 = 0,
|
|
$174 = 0,
|
|
$175 = 0,
|
|
$176 = 0,
|
|
$177 = 0,
|
|
$178 = 0,
|
|
$179 = 0,
|
|
$18 = 0,
|
|
$180 = 0,
|
|
$181 = 0,
|
|
$182 = 0,
|
|
$183 = 0,
|
|
$184 = 0,
|
|
$185 = 0,
|
|
$186 = 0,
|
|
$187 = 0,
|
|
$188 = 0;
|
|
var $189 = 0,
|
|
$19 = 0,
|
|
$190 = 0,
|
|
$191 = 0,
|
|
$192 = 0,
|
|
$193 = 0,
|
|
$194 = 0,
|
|
$195 = 0,
|
|
$196 = 0,
|
|
$197 = 0,
|
|
$198 = 0,
|
|
$199 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$200 = 0,
|
|
$201 = 0,
|
|
$202 = 0,
|
|
$203 = 0,
|
|
$204 = 0,
|
|
$205 = 0;
|
|
var $206 = 0,
|
|
$207 = 0,
|
|
$208 = 0,
|
|
$209 = 0,
|
|
$21 = 0,
|
|
$210 = 0,
|
|
$211 = 0,
|
|
$212 = 0,
|
|
$213 = 0,
|
|
$214 = 0,
|
|
$215 = 0,
|
|
$216 = 0,
|
|
$217 = 0,
|
|
$218 = 0,
|
|
$219 = 0,
|
|
$22 = 0,
|
|
$220 = 0,
|
|
$221 = 0,
|
|
$222 = 0,
|
|
$223 = 0;
|
|
var $224 = 0,
|
|
$225 = 0,
|
|
$226 = 0,
|
|
$227 = 0,
|
|
$228 = 0,
|
|
$229 = 0,
|
|
$23 = 0,
|
|
$230 = 0,
|
|
$231 = 0,
|
|
$232 = 0,
|
|
$233 = 0,
|
|
$234 = 0,
|
|
$235 = 0,
|
|
$236 = 0,
|
|
$237 = 0,
|
|
$238 = 0,
|
|
$239 = 0,
|
|
$24 = 0,
|
|
$240 = 0,
|
|
$241 = 0;
|
|
var $242 = 0,
|
|
$243 = 0,
|
|
$244 = 0,
|
|
$245 = 0,
|
|
$246 = 0,
|
|
$247 = 0,
|
|
$248 = 0,
|
|
$249 = 0,
|
|
$25 = 0,
|
|
$250 = 0,
|
|
$251 = 0,
|
|
$252 = 0,
|
|
$253 = 0,
|
|
$254 = 0,
|
|
$255 = 0,
|
|
$256 = 0,
|
|
$257 = 0,
|
|
$258 = 0,
|
|
$259 = 0,
|
|
$26 = 0;
|
|
var $260 = 0,
|
|
$261 = 0,
|
|
$262 = 0,
|
|
$263 = 0,
|
|
$264 = 0,
|
|
$265 = 0,
|
|
$266 = 0,
|
|
$267 = 0,
|
|
$268 = 0,
|
|
$269 = 0,
|
|
$27 = 0,
|
|
$270 = 0,
|
|
$271 = 0,
|
|
$272 = 0,
|
|
$273 = 0,
|
|
$274 = 0,
|
|
$275 = 0,
|
|
$276 = 0,
|
|
$277 = 0,
|
|
$278 = 0;
|
|
var $279 = 0,
|
|
$28 = 0,
|
|
$280 = 0,
|
|
$281 = 0,
|
|
$282 = 0,
|
|
$283 = 0,
|
|
$284 = 0,
|
|
$285 = 0,
|
|
$286 = 0,
|
|
$287 = 0,
|
|
$288 = 0,
|
|
$289 = 0,
|
|
$29 = 0,
|
|
$290 = 0,
|
|
$291 = 0,
|
|
$292 = 0,
|
|
$293 = 0,
|
|
$294 = 0,
|
|
$295 = 0,
|
|
$296 = 0;
|
|
var $297 = 0,
|
|
$298 = 0,
|
|
$299 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$300 = 0,
|
|
$301 = 0,
|
|
$302 = 0,
|
|
$303 = 0,
|
|
$304 = 0,
|
|
$305 = 0,
|
|
$306 = 0,
|
|
$307 = 0,
|
|
$308 = 0,
|
|
$309 = 0,
|
|
$31 = 0,
|
|
$310 = 0,
|
|
$311 = 0,
|
|
$312 = 0,
|
|
$313 = 0;
|
|
var $314 = 0,
|
|
$315 = 0,
|
|
$316 = 0,
|
|
$317 = 0,
|
|
$318 = 0,
|
|
$319 = 0,
|
|
$32 = 0,
|
|
$320 = 0,
|
|
$321 = 0,
|
|
$322 = 0,
|
|
$323 = 0,
|
|
$324 = 0,
|
|
$325 = 0,
|
|
$326 = 0,
|
|
$327 = 0,
|
|
$328 = 0,
|
|
$329 = 0,
|
|
$33 = 0,
|
|
$330 = 0,
|
|
$331 = 0;
|
|
var $332 = 0,
|
|
$333 = 0,
|
|
$334 = 0,
|
|
$335 = 0,
|
|
$336 = 0,
|
|
$337 = 0,
|
|
$338 = 0,
|
|
$339 = 0,
|
|
$34 = 0,
|
|
$340 = 0,
|
|
$341 = 0,
|
|
$342 = 0,
|
|
$343 = 0,
|
|
$344 = 0,
|
|
$345 = 0,
|
|
$346 = 0,
|
|
$347 = 0,
|
|
$348 = 0,
|
|
$349 = 0,
|
|
$35 = 0;
|
|
var $350 = 0,
|
|
$351 = 0,
|
|
$352 = 0,
|
|
$353 = 0,
|
|
$354 = 0,
|
|
$355 = 0,
|
|
$356 = 0,
|
|
$357 = 0,
|
|
$358 = 0,
|
|
$359 = 0,
|
|
$36 = 0,
|
|
$360 = 0,
|
|
$361 = 0,
|
|
$362 = 0,
|
|
$363 = 0,
|
|
$364 = 0,
|
|
$365 = 0,
|
|
$366 = 0,
|
|
$367 = 0,
|
|
$368 = 0;
|
|
var $369 = 0,
|
|
$37 = 0,
|
|
$370 = 0,
|
|
$371 = 0,
|
|
$372 = 0,
|
|
$373 = 0,
|
|
$374 = 0,
|
|
$375 = 0,
|
|
$376 = 0,
|
|
$377 = 0,
|
|
$378 = 0,
|
|
$379 = 0,
|
|
$38 = 0,
|
|
$380 = 0,
|
|
$381 = 0,
|
|
$382 = 0,
|
|
$383 = 0,
|
|
$384 = 0,
|
|
$385 = 0,
|
|
$386 = 0;
|
|
var $387 = 0,
|
|
$388 = 0,
|
|
$389 = 0,
|
|
$39 = 0,
|
|
$390 = 0,
|
|
$391 = 0,
|
|
$392 = 0,
|
|
$393 = 0,
|
|
$394 = 0,
|
|
$395 = 0,
|
|
$396 = 0,
|
|
$397 = 0,
|
|
$398 = 0,
|
|
$399 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$400 = 0,
|
|
$401 = 0,
|
|
$402 = 0,
|
|
$403 = 0;
|
|
var $404 = 0,
|
|
$405 = 0,
|
|
$406 = 0,
|
|
$407 = 0,
|
|
$408 = 0,
|
|
$409 = 0,
|
|
$41 = 0,
|
|
$410 = 0,
|
|
$411 = 0,
|
|
$412 = 0,
|
|
$413 = 0,
|
|
$414 = 0,
|
|
$415 = 0,
|
|
$416 = 0,
|
|
$417 = 0,
|
|
$418 = 0,
|
|
$419 = 0,
|
|
$42 = 0,
|
|
$420 = 0,
|
|
$421 = 0;
|
|
var $422 = 0,
|
|
$423 = 0,
|
|
$424 = 0,
|
|
$425 = 0,
|
|
$426 = 0,
|
|
$427 = 0,
|
|
$428 = 0,
|
|
$429 = 0,
|
|
$43 = 0,
|
|
$430 = 0,
|
|
$431 = 0,
|
|
$432 = 0,
|
|
$433 = 0,
|
|
$434 = 0,
|
|
$435 = 0,
|
|
$436 = 0,
|
|
$437 = 0,
|
|
$438 = 0,
|
|
$439 = 0,
|
|
$44 = 0;
|
|
var $440 = 0,
|
|
$441 = 0,
|
|
$442 = 0,
|
|
$443 = 0,
|
|
$444 = 0,
|
|
$445 = 0,
|
|
$446 = 0,
|
|
$447 = 0,
|
|
$448 = 0,
|
|
$449 = 0,
|
|
$45 = 0,
|
|
$450 = 0,
|
|
$451 = 0,
|
|
$452 = 0,
|
|
$453 = 0,
|
|
$454 = 0,
|
|
$455 = 0,
|
|
$456 = 0,
|
|
$457 = 0,
|
|
$458 = 0;
|
|
var $459 = 0,
|
|
$46 = 0,
|
|
$460 = 0,
|
|
$461 = 0,
|
|
$462 = 0,
|
|
$463 = 0,
|
|
$464 = 0,
|
|
$465 = 0,
|
|
$466 = 0,
|
|
$467 = 0,
|
|
$468 = 0,
|
|
$469 = 0,
|
|
$47 = 0,
|
|
$470 = 0,
|
|
$471 = 0,
|
|
$472 = 0,
|
|
$473 = 0,
|
|
$474 = 0,
|
|
$475 = 0,
|
|
$476 = 0;
|
|
var $477 = 0,
|
|
$478 = 0,
|
|
$479 = 0,
|
|
$48 = 0,
|
|
$480 = 0,
|
|
$481 = 0,
|
|
$482 = 0,
|
|
$483 = 0,
|
|
$484 = 0,
|
|
$485 = 0,
|
|
$486 = 0,
|
|
$487 = 0,
|
|
$488 = 0,
|
|
$489 = 0,
|
|
$49 = 0,
|
|
$490 = 0,
|
|
$491 = 0,
|
|
$492 = 0,
|
|
$493 = 0,
|
|
$494 = 0;
|
|
var $495 = 0,
|
|
$496 = 0,
|
|
$497 = 0,
|
|
$498 = 0,
|
|
$499 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$500 = 0,
|
|
$501 = 0,
|
|
$502 = 0,
|
|
$503 = 0,
|
|
$504 = 0,
|
|
$505 = 0,
|
|
$506 = 0,
|
|
$507 = 0,
|
|
$508 = 0,
|
|
$509 = 0,
|
|
$51 = 0,
|
|
$510 = 0,
|
|
$511 = 0;
|
|
var $512 = 0,
|
|
$513 = 0,
|
|
$514 = 0,
|
|
$515 = 0,
|
|
$516 = 0,
|
|
$517 = 0,
|
|
$518 = 0,
|
|
$519 = 0,
|
|
$52 = 0,
|
|
$520 = 0,
|
|
$521 = 0,
|
|
$522 = 0,
|
|
$523 = 0,
|
|
$524 = 0,
|
|
$525 = 0,
|
|
$526 = 0,
|
|
$527 = 0,
|
|
$528 = 0,
|
|
$529 = 0,
|
|
$53 = 0;
|
|
var $530 = 0,
|
|
$531 = 0,
|
|
$532 = 0,
|
|
$533 = 0,
|
|
$534 = 0,
|
|
$535 = 0,
|
|
$536 = 0,
|
|
$537 = 0,
|
|
$538 = 0,
|
|
$539 = 0,
|
|
$54 = 0,
|
|
$540 = 0,
|
|
$541 = 0,
|
|
$542 = 0,
|
|
$543 = 0,
|
|
$544 = 0,
|
|
$545 = 0,
|
|
$546 = 0,
|
|
$547 = 0,
|
|
$548 = 0;
|
|
var $549 = 0,
|
|
$55 = 0,
|
|
$550 = 0,
|
|
$551 = 0,
|
|
$552 = 0,
|
|
$553 = 0,
|
|
$554 = 0,
|
|
$555 = 0,
|
|
$556 = 0,
|
|
$557 = 0,
|
|
$558 = 0,
|
|
$559 = 0,
|
|
$56 = 0,
|
|
$560 = 0,
|
|
$561 = 0,
|
|
$562 = 0,
|
|
$563 = 0,
|
|
$564 = 0,
|
|
$565 = 0,
|
|
$566 = 0;
|
|
var $567 = 0,
|
|
$568 = 0,
|
|
$569 = 0,
|
|
$57 = 0,
|
|
$570 = 0,
|
|
$571 = 0,
|
|
$572 = 0,
|
|
$573 = 0,
|
|
$574 = 0,
|
|
$575 = 0,
|
|
$576 = 0,
|
|
$577 = 0,
|
|
$578 = 0,
|
|
$579 = 0,
|
|
$58 = 0,
|
|
$580 = 0,
|
|
$581 = 0,
|
|
$582 = 0,
|
|
$583 = 0,
|
|
$584 = 0;
|
|
var $585 = 0,
|
|
$586 = 0,
|
|
$587 = 0,
|
|
$588 = 0,
|
|
$589 = 0,
|
|
$59 = 0,
|
|
$590 = 0,
|
|
$591 = 0,
|
|
$592 = 0,
|
|
$593 = 0,
|
|
$594 = 0,
|
|
$595 = 0,
|
|
$596 = 0,
|
|
$597 = 0,
|
|
$598 = 0,
|
|
$599 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$600 = 0,
|
|
$601 = 0;
|
|
var $602 = 0,
|
|
$603 = 0,
|
|
$604 = 0,
|
|
$605 = 0,
|
|
$606 = 0,
|
|
$607 = 0,
|
|
$608 = 0,
|
|
$609 = 0,
|
|
$61 = 0,
|
|
$610 = 0,
|
|
$611 = 0,
|
|
$612 = 0,
|
|
$613 = 0,
|
|
$614 = 0,
|
|
$615 = 0,
|
|
$616 = 0,
|
|
$617 = 0,
|
|
$618 = 0,
|
|
$619 = 0,
|
|
$62 = 0;
|
|
var $620 = 0,
|
|
$621 = 0,
|
|
$622 = 0,
|
|
$623 = 0,
|
|
$624 = 0,
|
|
$625 = 0,
|
|
$626 = 0,
|
|
$627 = 0,
|
|
$628 = 0,
|
|
$629 = 0,
|
|
$63 = 0,
|
|
$630 = 0,
|
|
$631 = 0,
|
|
$632 = 0,
|
|
$633 = 0,
|
|
$634 = 0,
|
|
$635 = 0,
|
|
$636 = 0,
|
|
$637 = 0,
|
|
$638 = 0;
|
|
var $639 = 0,
|
|
$64 = 0,
|
|
$640 = 0,
|
|
$641 = 0,
|
|
$642 = 0,
|
|
$643 = 0,
|
|
$644 = 0,
|
|
$645 = 0,
|
|
$646 = 0,
|
|
$647 = 0,
|
|
$648 = 0,
|
|
$649 = 0,
|
|
$65 = 0,
|
|
$650 = 0,
|
|
$651 = 0,
|
|
$652 = 0,
|
|
$653 = 0,
|
|
$654 = 0,
|
|
$655 = 0,
|
|
$656 = 0;
|
|
var $657 = 0,
|
|
$658 = 0,
|
|
$659 = 0,
|
|
$66 = 0,
|
|
$660 = 0,
|
|
$661 = 0,
|
|
$662 = 0,
|
|
$663 = 0,
|
|
$664 = 0,
|
|
$665 = 0,
|
|
$666 = 0,
|
|
$667 = 0,
|
|
$668 = 0,
|
|
$669 = 0,
|
|
$67 = 0,
|
|
$670 = 0,
|
|
$671 = 0,
|
|
$672 = 0,
|
|
$673 = 0,
|
|
$674 = 0;
|
|
var $675 = 0,
|
|
$676 = 0,
|
|
$677 = 0,
|
|
$678 = 0,
|
|
$679 = 0,
|
|
$68 = 0,
|
|
$680 = 0,
|
|
$681 = 0,
|
|
$682 = 0,
|
|
$683 = 0,
|
|
$684 = 0,
|
|
$685 = 0,
|
|
$686 = 0,
|
|
$687 = 0,
|
|
$688 = 0,
|
|
$689 = 0,
|
|
$69 = 0,
|
|
$690 = 0,
|
|
$691 = 0,
|
|
$692 = 0;
|
|
var $693 = 0,
|
|
$694 = 0,
|
|
$695 = 0,
|
|
$696 = 0,
|
|
$697 = 0,
|
|
$698 = 0,
|
|
$699 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$700 = 0,
|
|
$701 = 0,
|
|
$702 = 0,
|
|
$703 = 0,
|
|
$704 = 0,
|
|
$705 = 0,
|
|
$706 = 0,
|
|
$707 = 0,
|
|
$708 = 0,
|
|
$709 = 0,
|
|
$71 = 0;
|
|
var $710 = 0,
|
|
$711 = 0,
|
|
$712 = 0,
|
|
$713 = 0,
|
|
$714 = 0,
|
|
$715 = 0,
|
|
$716 = 0,
|
|
$717 = 0,
|
|
$718 = 0,
|
|
$719 = 0,
|
|
$72 = 0,
|
|
$720 = 0,
|
|
$721 = 0,
|
|
$722 = 0,
|
|
$723 = 0,
|
|
$724 = 0,
|
|
$725 = 0,
|
|
$726 = 0,
|
|
$727 = 0,
|
|
$728 = 0;
|
|
var $729 = 0,
|
|
$73 = 0,
|
|
$730 = 0,
|
|
$731 = 0,
|
|
$732 = 0,
|
|
$733 = 0,
|
|
$734 = 0,
|
|
$735 = 0,
|
|
$736 = 0,
|
|
$737 = 0,
|
|
$738 = 0,
|
|
$739 = 0,
|
|
$74 = 0,
|
|
$740 = 0,
|
|
$741 = 0,
|
|
$742 = 0,
|
|
$743 = 0,
|
|
$744 = 0,
|
|
$745 = 0,
|
|
$746 = 0;
|
|
var $747 = 0,
|
|
$748 = 0,
|
|
$749 = 0,
|
|
$75 = 0,
|
|
$750 = 0,
|
|
$751 = 0,
|
|
$752 = 0,
|
|
$753 = 0,
|
|
$754 = 0,
|
|
$755 = 0,
|
|
$756 = 0,
|
|
$757 = 0,
|
|
$758 = 0,
|
|
$759 = 0,
|
|
$76 = 0,
|
|
$760 = 0,
|
|
$761 = 0,
|
|
$762 = 0,
|
|
$763 = 0,
|
|
$764 = 0;
|
|
var $765 = 0,
|
|
$766 = 0,
|
|
$767 = 0,
|
|
$768 = 0,
|
|
$769 = 0,
|
|
$77 = 0,
|
|
$770 = 0,
|
|
$771 = 0,
|
|
$772 = 0,
|
|
$773 = 0,
|
|
$774 = 0,
|
|
$775 = 0,
|
|
$776 = 0,
|
|
$777 = 0,
|
|
$778 = 0,
|
|
$779 = 0,
|
|
$78 = 0,
|
|
$780 = 0,
|
|
$781 = 0,
|
|
$782 = 0;
|
|
var $783 = 0,
|
|
$784 = 0,
|
|
$785 = 0,
|
|
$786 = 0,
|
|
$787 = 0,
|
|
$788 = 0,
|
|
$789 = 0,
|
|
$79 = 0,
|
|
$790 = 0,
|
|
$791 = 0,
|
|
$792 = 0,
|
|
$793 = 0,
|
|
$794 = 0,
|
|
$795 = 0,
|
|
$796 = 0,
|
|
$797 = 0,
|
|
$798 = 0,
|
|
$799 = 0,
|
|
$8 = 0,
|
|
$80 = 0;
|
|
var $800 = 0,
|
|
$801 = 0,
|
|
$802 = 0,
|
|
$803 = 0,
|
|
$804 = 0,
|
|
$805 = 0,
|
|
$806 = 0,
|
|
$807 = 0,
|
|
$808 = 0,
|
|
$809 = 0,
|
|
$81 = 0,
|
|
$810 = 0,
|
|
$811 = 0,
|
|
$812 = 0,
|
|
$813 = 0,
|
|
$814 = 0,
|
|
$815 = 0,
|
|
$816 = 0,
|
|
$817 = 0,
|
|
$818 = 0;
|
|
var $819 = 0,
|
|
$82 = 0,
|
|
$820 = 0,
|
|
$821 = 0,
|
|
$822 = 0,
|
|
$823 = 0,
|
|
$824 = 0,
|
|
$825 = 0,
|
|
$826 = 0,
|
|
$827 = 0,
|
|
$828 = 0,
|
|
$829 = 0,
|
|
$83 = 0,
|
|
$830 = 0,
|
|
$831 = 0,
|
|
$832 = 0,
|
|
$833 = 0,
|
|
$834 = 0,
|
|
$835 = 0,
|
|
$836 = 0;
|
|
var $837 = 0,
|
|
$838 = 0,
|
|
$839 = 0,
|
|
$84 = 0,
|
|
$840 = 0,
|
|
$841 = 0,
|
|
$842 = 0,
|
|
$843 = 0,
|
|
$844 = 0,
|
|
$845 = 0,
|
|
$846 = 0,
|
|
$847 = 0,
|
|
$848 = 0,
|
|
$849 = 0,
|
|
$85 = 0,
|
|
$850 = 0,
|
|
$851 = 0,
|
|
$852 = 0,
|
|
$853 = 0,
|
|
$854 = 0;
|
|
var $855 = 0,
|
|
$856 = 0,
|
|
$857 = 0,
|
|
$858 = 0,
|
|
$859 = 0,
|
|
$86 = 0,
|
|
$860 = 0,
|
|
$861 = 0,
|
|
$862 = 0,
|
|
$863 = 0,
|
|
$864 = 0,
|
|
$865 = 0,
|
|
$866 = 0,
|
|
$867 = 0,
|
|
$868 = 0,
|
|
$869 = 0,
|
|
$87 = 0,
|
|
$870 = 0,
|
|
$871 = 0,
|
|
$872 = 0;
|
|
var $873 = 0,
|
|
$874 = 0,
|
|
$875 = 0,
|
|
$876 = 0,
|
|
$877 = 0,
|
|
$878 = 0,
|
|
$879 = 0,
|
|
$88 = 0,
|
|
$880 = 0,
|
|
$881 = 0,
|
|
$882 = 0,
|
|
$883 = 0,
|
|
$884 = 0,
|
|
$885 = 0,
|
|
$886 = 0,
|
|
$887 = 0,
|
|
$888 = 0,
|
|
$889 = 0,
|
|
$89 = 0,
|
|
$890 = 0;
|
|
var $891 = 0,
|
|
$892 = 0,
|
|
$893 = 0,
|
|
$894 = 0,
|
|
$895 = 0,
|
|
$896 = 0,
|
|
$897 = 0,
|
|
$898 = 0,
|
|
$899 = 0,
|
|
$9 = 0,
|
|
$90 = 0,
|
|
$900 = 0,
|
|
$901 = 0,
|
|
$902 = 0,
|
|
$903 = 0,
|
|
$904 = 0,
|
|
$905 = 0,
|
|
$906 = 0,
|
|
$907 = 0,
|
|
$908 = 0;
|
|
var $909 = 0,
|
|
$91 = 0,
|
|
$910 = 0,
|
|
$911 = 0,
|
|
$912 = 0,
|
|
$913 = 0,
|
|
$914 = 0,
|
|
$915 = 0,
|
|
$916 = 0,
|
|
$917 = 0,
|
|
$918 = 0,
|
|
$919 = 0,
|
|
$92 = 0,
|
|
$920 = 0,
|
|
$921 = 0,
|
|
$922 = 0,
|
|
$923 = 0,
|
|
$924 = 0,
|
|
$925 = 0,
|
|
$926 = 0;
|
|
var $927 = 0,
|
|
$928 = 0,
|
|
$929 = 0,
|
|
$93 = 0,
|
|
$930 = 0,
|
|
$931 = 0,
|
|
$932 = 0,
|
|
$933 = 0,
|
|
$934 = 0,
|
|
$935 = 0,
|
|
$936 = 0,
|
|
$937 = 0,
|
|
$938 = 0,
|
|
$939 = 0,
|
|
$94 = 0,
|
|
$940 = 0,
|
|
$941 = 0,
|
|
$942 = 0,
|
|
$943 = 0,
|
|
$944 = 0;
|
|
var $945 = 0,
|
|
$946 = 0,
|
|
$947 = 0,
|
|
$948 = 0,
|
|
$949 = 0,
|
|
$95 = 0,
|
|
$950 = 0,
|
|
$951 = 0,
|
|
$952 = 0,
|
|
$953 = 0,
|
|
$96 = 0,
|
|
$97 = 0,
|
|
$98 = 0,
|
|
$99 = 0,
|
|
$W = 0,
|
|
$exitcond = 0,
|
|
$exitcond19 = 0,
|
|
$i$011 = 0,
|
|
$i$110 = 0,
|
|
$i$29 = 0;
|
|
var label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
STACKTOP = (STACKTOP + 640) | 0;
|
|
$W = sp;
|
|
$i$011 = 0;
|
|
while (1) {
|
|
$0 = $i$011 << 3;
|
|
$1 = ($data + $0) | 0;
|
|
$2 = _sph_dec64be_aligned($1) | 0;
|
|
$3 = tempRet0;
|
|
$4 = ($W + ($i$011 << 3)) | 0;
|
|
$5 = $4;
|
|
$6 = $5;
|
|
HEAP32[$6 >> 2] = $2;
|
|
$7 = ($5 + 4) | 0;
|
|
$8 = $7;
|
|
HEAP32[$8 >> 2] = $3;
|
|
$9 = ($i$011 + 1) | 0;
|
|
$exitcond19 = ($9 | 0) == 16;
|
|
if ($exitcond19) {
|
|
$i$110 = 16;
|
|
break;
|
|
} else {
|
|
$i$011 = $9;
|
|
}
|
|
}
|
|
while (1) {
|
|
$10 = ($i$110 + -2) | 0;
|
|
$11 = ($W + ($10 << 3)) | 0;
|
|
$12 = $11;
|
|
$13 = $12;
|
|
$14 = HEAP32[$13 >> 2] | 0;
|
|
$15 = ($12 + 4) | 0;
|
|
$16 = $15;
|
|
$17 = HEAP32[$16 >> 2] | 0;
|
|
$18 = _bitshift64Shl($14 | 0, $17 | 0, 45) | 0;
|
|
$19 = tempRet0;
|
|
$20 = _bitshift64Lshr($14 | 0, $17 | 0, 19) | 0;
|
|
$21 = tempRet0;
|
|
$22 = $18 | $20;
|
|
$23 = $19 | $21;
|
|
$24 = _bitshift64Shl($14 | 0, $17 | 0, 3) | 0;
|
|
$25 = tempRet0;
|
|
$26 = _bitshift64Lshr($14 | 0, $17 | 0, 61) | 0;
|
|
$27 = tempRet0;
|
|
$28 = $24 | $26;
|
|
$29 = $25 | $27;
|
|
$30 = _bitshift64Lshr($14 | 0, $17 | 0, 6) | 0;
|
|
$31 = tempRet0;
|
|
$32 = $28 ^ $30;
|
|
$33 = $29 ^ $31;
|
|
$34 = $32 ^ $22;
|
|
$35 = $33 ^ $23;
|
|
$36 = ($i$110 + -7) | 0;
|
|
$37 = ($W + ($36 << 3)) | 0;
|
|
$38 = $37;
|
|
$39 = $38;
|
|
$40 = HEAP32[$39 >> 2] | 0;
|
|
$41 = ($38 + 4) | 0;
|
|
$42 = $41;
|
|
$43 = HEAP32[$42 >> 2] | 0;
|
|
$44 = ($i$110 + -15) | 0;
|
|
$45 = ($W + ($44 << 3)) | 0;
|
|
$46 = $45;
|
|
$47 = $46;
|
|
$48 = HEAP32[$47 >> 2] | 0;
|
|
$49 = ($46 + 4) | 0;
|
|
$50 = $49;
|
|
$51 = HEAP32[$50 >> 2] | 0;
|
|
$52 = _bitshift64Shl($48 | 0, $51 | 0, 63) | 0;
|
|
$53 = tempRet0;
|
|
$54 = _bitshift64Lshr($48 | 0, $51 | 0, 1) | 0;
|
|
$55 = tempRet0;
|
|
$56 = $52 | $54;
|
|
$57 = $53 | $55;
|
|
$58 = _bitshift64Shl($48 | 0, $51 | 0, 56) | 0;
|
|
$59 = tempRet0;
|
|
$60 = _bitshift64Lshr($48 | 0, $51 | 0, 8) | 0;
|
|
$61 = tempRet0;
|
|
$62 = $58 | $60;
|
|
$63 = $59 | $61;
|
|
$64 = _bitshift64Lshr($48 | 0, $51 | 0, 7) | 0;
|
|
$65 = tempRet0;
|
|
$66 = $62 ^ $64;
|
|
$67 = $63 ^ $65;
|
|
$68 = $66 ^ $56;
|
|
$69 = $67 ^ $57;
|
|
$70 = ($i$110 + -16) | 0;
|
|
$71 = ($W + ($70 << 3)) | 0;
|
|
$72 = $71;
|
|
$73 = $72;
|
|
$74 = HEAP32[$73 >> 2] | 0;
|
|
$75 = ($72 + 4) | 0;
|
|
$76 = $75;
|
|
$77 = HEAP32[$76 >> 2] | 0;
|
|
$78 = _i64Add($74 | 0, $77 | 0, $40 | 0, $43 | 0) | 0;
|
|
$79 = tempRet0;
|
|
$80 = _i64Add($78 | 0, $79 | 0, $34 | 0, $35 | 0) | 0;
|
|
$81 = tempRet0;
|
|
$82 = _i64Add($80 | 0, $81 | 0, $68 | 0, $69 | 0) | 0;
|
|
$83 = tempRet0;
|
|
$84 = ($W + ($i$110 << 3)) | 0;
|
|
$85 = $84;
|
|
$86 = $85;
|
|
HEAP32[$86 >> 2] = $82;
|
|
$87 = ($85 + 4) | 0;
|
|
$88 = $87;
|
|
HEAP32[$88 >> 2] = $83;
|
|
$89 = ($i$110 + 1) | 0;
|
|
$exitcond = ($89 | 0) == 80;
|
|
if ($exitcond) {
|
|
break;
|
|
} else {
|
|
$i$110 = $89;
|
|
}
|
|
}
|
|
$90 = $r;
|
|
$91 = $90;
|
|
$92 = HEAP32[$91 >> 2] | 0;
|
|
$93 = ($90 + 4) | 0;
|
|
$94 = $93;
|
|
$95 = HEAP32[$94 >> 2] | 0;
|
|
$96 = ($r + 8) | 0;
|
|
$97 = $96;
|
|
$98 = $97;
|
|
$99 = HEAP32[$98 >> 2] | 0;
|
|
$100 = ($97 + 4) | 0;
|
|
$101 = $100;
|
|
$102 = HEAP32[$101 >> 2] | 0;
|
|
$103 = ($r + 16) | 0;
|
|
$104 = $103;
|
|
$105 = $104;
|
|
$106 = HEAP32[$105 >> 2] | 0;
|
|
$107 = ($104 + 4) | 0;
|
|
$108 = $107;
|
|
$109 = HEAP32[$108 >> 2] | 0;
|
|
$110 = ($r + 24) | 0;
|
|
$111 = $110;
|
|
$112 = $111;
|
|
$113 = HEAP32[$112 >> 2] | 0;
|
|
$114 = ($111 + 4) | 0;
|
|
$115 = $114;
|
|
$116 = HEAP32[$115 >> 2] | 0;
|
|
$117 = ($r + 32) | 0;
|
|
$118 = $117;
|
|
$119 = $118;
|
|
$120 = HEAP32[$119 >> 2] | 0;
|
|
$121 = ($118 + 4) | 0;
|
|
$122 = $121;
|
|
$123 = HEAP32[$122 >> 2] | 0;
|
|
$124 = ($r + 40) | 0;
|
|
$125 = $124;
|
|
$126 = $125;
|
|
$127 = HEAP32[$126 >> 2] | 0;
|
|
$128 = ($125 + 4) | 0;
|
|
$129 = $128;
|
|
$130 = HEAP32[$129 >> 2] | 0;
|
|
$131 = ($r + 48) | 0;
|
|
$132 = $131;
|
|
$133 = $132;
|
|
$134 = HEAP32[$133 >> 2] | 0;
|
|
$135 = ($132 + 4) | 0;
|
|
$136 = $135;
|
|
$137 = HEAP32[$136 >> 2] | 0;
|
|
$138 = ($r + 56) | 0;
|
|
$139 = $138;
|
|
$140 = $139;
|
|
$141 = HEAP32[$140 >> 2] | 0;
|
|
$142 = ($139 + 4) | 0;
|
|
$143 = $142;
|
|
$144 = HEAP32[$143 >> 2] | 0;
|
|
$145 = $120;
|
|
$146 = $123;
|
|
$170 = $134;
|
|
$171 = $127;
|
|
$173 = $137;
|
|
$174 = $130;
|
|
$193 = $141;
|
|
$194 = $144;
|
|
$203 = $92;
|
|
$204 = $95;
|
|
$228 = $99;
|
|
$230 = $102;
|
|
$234 = $106;
|
|
$236 = $109;
|
|
$241 = $113;
|
|
$242 = $116;
|
|
$i$29 = 0;
|
|
while (1) {
|
|
$147 = _bitshift64Shl($145 | 0, $146 | 0, 50) | 0;
|
|
$148 = tempRet0;
|
|
$149 = _bitshift64Lshr($145 | 0, $146 | 0, 14) | 0;
|
|
$150 = tempRet0;
|
|
$151 = $147 | $149;
|
|
$152 = $148 | $150;
|
|
$153 = _bitshift64Shl($145 | 0, $146 | 0, 46) | 0;
|
|
$154 = tempRet0;
|
|
$155 = _bitshift64Lshr($145 | 0, $146 | 0, 18) | 0;
|
|
$156 = tempRet0;
|
|
$157 = $153 | $155;
|
|
$158 = $154 | $156;
|
|
$159 = $151 ^ $157;
|
|
$160 = $152 ^ $158;
|
|
$161 = _bitshift64Shl($145 | 0, $146 | 0, 23) | 0;
|
|
$162 = tempRet0;
|
|
$163 = _bitshift64Lshr($145 | 0, $146 | 0, 41) | 0;
|
|
$164 = tempRet0;
|
|
$165 = $161 | $163;
|
|
$166 = $162 | $164;
|
|
$167 = $159 ^ $165;
|
|
$168 = $160 ^ $166;
|
|
$169 = $171 ^ $170;
|
|
$172 = $174 ^ $173;
|
|
$175 = $169 & $145;
|
|
$176 = $172 & $146;
|
|
$177 = $175 ^ $170;
|
|
$178 = $176 ^ $173;
|
|
$179 = (31904 + ($i$29 << 3)) | 0;
|
|
$180 = $179;
|
|
$181 = $180;
|
|
$182 = HEAP32[$181 >> 2] | 0;
|
|
$183 = ($180 + 4) | 0;
|
|
$184 = $183;
|
|
$185 = HEAP32[$184 >> 2] | 0;
|
|
$186 = ($W + ($i$29 << 3)) | 0;
|
|
$187 = $186;
|
|
$188 = $187;
|
|
$189 = HEAP32[$188 >> 2] | 0;
|
|
$190 = ($187 + 4) | 0;
|
|
$191 = $190;
|
|
$192 = HEAP32[$191 >> 2] | 0;
|
|
$195 = _i64Add($177 | 0, $178 | 0, $193 | 0, $194 | 0) | 0;
|
|
$196 = tempRet0;
|
|
$197 = _i64Add($195 | 0, $196 | 0, $167 | 0, $168 | 0) | 0;
|
|
$198 = tempRet0;
|
|
$199 = _i64Add($197 | 0, $198 | 0, $182 | 0, $185 | 0) | 0;
|
|
$200 = tempRet0;
|
|
$201 = _i64Add($199 | 0, $200 | 0, $189 | 0, $192 | 0) | 0;
|
|
$202 = tempRet0;
|
|
$205 = _bitshift64Shl($203 | 0, $204 | 0, 36) | 0;
|
|
$206 = tempRet0;
|
|
$207 = _bitshift64Lshr($203 | 0, $204 | 0, 28) | 0;
|
|
$208 = tempRet0;
|
|
$209 = $205 | $207;
|
|
$210 = $206 | $208;
|
|
$211 = _bitshift64Shl($203 | 0, $204 | 0, 30) | 0;
|
|
$212 = tempRet0;
|
|
$213 = _bitshift64Lshr($203 | 0, $204 | 0, 34) | 0;
|
|
$214 = tempRet0;
|
|
$215 = $211 | $213;
|
|
$216 = $212 | $214;
|
|
$217 = $209 ^ $215;
|
|
$218 = $210 ^ $216;
|
|
$219 = _bitshift64Shl($203 | 0, $204 | 0, 25) | 0;
|
|
$220 = tempRet0;
|
|
$221 = _bitshift64Lshr($203 | 0, $204 | 0, 39) | 0;
|
|
$222 = tempRet0;
|
|
$223 = $219 | $221;
|
|
$224 = $220 | $222;
|
|
$225 = $217 ^ $223;
|
|
$226 = $218 ^ $224;
|
|
$227 = $203 & $228;
|
|
$229 = $204 & $230;
|
|
$231 = $203 | $228;
|
|
$232 = $204 | $230;
|
|
$233 = $231 & $234;
|
|
$235 = $232 & $236;
|
|
$237 = $233 | $227;
|
|
$238 = $235 | $229;
|
|
$239 = _i64Add($225 | 0, $226 | 0, $237 | 0, $238 | 0) | 0;
|
|
$240 = tempRet0;
|
|
$243 = _i64Add($201 | 0, $202 | 0, $241 | 0, $242 | 0) | 0;
|
|
$244 = tempRet0;
|
|
$245 = _i64Add($239 | 0, $240 | 0, $201 | 0, $202 | 0) | 0;
|
|
$246 = tempRet0;
|
|
$247 = _bitshift64Shl($243 | 0, $244 | 0, 50) | 0;
|
|
$248 = tempRet0;
|
|
$249 = _bitshift64Lshr($243 | 0, $244 | 0, 14) | 0;
|
|
$250 = tempRet0;
|
|
$251 = $247 | $249;
|
|
$252 = $248 | $250;
|
|
$253 = _bitshift64Shl($243 | 0, $244 | 0, 46) | 0;
|
|
$254 = tempRet0;
|
|
$255 = _bitshift64Lshr($243 | 0, $244 | 0, 18) | 0;
|
|
$256 = tempRet0;
|
|
$257 = $253 | $255;
|
|
$258 = $254 | $256;
|
|
$259 = $251 ^ $257;
|
|
$260 = $252 ^ $258;
|
|
$261 = _bitshift64Shl($243 | 0, $244 | 0, 23) | 0;
|
|
$262 = tempRet0;
|
|
$263 = _bitshift64Lshr($243 | 0, $244 | 0, 41) | 0;
|
|
$264 = tempRet0;
|
|
$265 = $261 | $263;
|
|
$266 = $262 | $264;
|
|
$267 = $259 ^ $265;
|
|
$268 = $260 ^ $266;
|
|
$269 = $145 ^ $171;
|
|
$270 = $146 ^ $174;
|
|
$271 = $243 & $269;
|
|
$272 = $244 & $270;
|
|
$273 = $271 ^ $171;
|
|
$274 = $272 ^ $174;
|
|
$275 = $i$29 | 1;
|
|
$276 = (31904 + ($275 << 3)) | 0;
|
|
$277 = $276;
|
|
$278 = $277;
|
|
$279 = HEAP32[$278 >> 2] | 0;
|
|
$280 = ($277 + 4) | 0;
|
|
$281 = $280;
|
|
$282 = HEAP32[$281 >> 2] | 0;
|
|
$283 = ($W + ($275 << 3)) | 0;
|
|
$284 = $283;
|
|
$285 = $284;
|
|
$286 = HEAP32[$285 >> 2] | 0;
|
|
$287 = ($284 + 4) | 0;
|
|
$288 = $287;
|
|
$289 = HEAP32[$288 >> 2] | 0;
|
|
$290 = _i64Add($279 | 0, $282 | 0, $170 | 0, $173 | 0) | 0;
|
|
$291 = tempRet0;
|
|
$292 = _i64Add($290 | 0, $291 | 0, $286 | 0, $289 | 0) | 0;
|
|
$293 = tempRet0;
|
|
$294 = _i64Add($292 | 0, $293 | 0, $273 | 0, $274 | 0) | 0;
|
|
$295 = tempRet0;
|
|
$296 = _i64Add($294 | 0, $295 | 0, $267 | 0, $268 | 0) | 0;
|
|
$297 = tempRet0;
|
|
$298 = _bitshift64Shl($245 | 0, $246 | 0, 36) | 0;
|
|
$299 = tempRet0;
|
|
$300 = _bitshift64Lshr($245 | 0, $246 | 0, 28) | 0;
|
|
$301 = tempRet0;
|
|
$302 = $298 | $300;
|
|
$303 = $299 | $301;
|
|
$304 = _bitshift64Shl($245 | 0, $246 | 0, 30) | 0;
|
|
$305 = tempRet0;
|
|
$306 = _bitshift64Lshr($245 | 0, $246 | 0, 34) | 0;
|
|
$307 = tempRet0;
|
|
$308 = $304 | $306;
|
|
$309 = $305 | $307;
|
|
$310 = $302 ^ $308;
|
|
$311 = $303 ^ $309;
|
|
$312 = _bitshift64Shl($245 | 0, $246 | 0, 25) | 0;
|
|
$313 = tempRet0;
|
|
$314 = _bitshift64Lshr($245 | 0, $246 | 0, 39) | 0;
|
|
$315 = tempRet0;
|
|
$316 = $312 | $314;
|
|
$317 = $313 | $315;
|
|
$318 = $310 ^ $316;
|
|
$319 = $311 ^ $317;
|
|
$320 = $245 & $203;
|
|
$321 = $246 & $204;
|
|
$322 = $245 | $203;
|
|
$323 = $246 | $204;
|
|
$324 = $322 & $228;
|
|
$325 = $323 & $230;
|
|
$326 = $324 | $320;
|
|
$327 = $325 | $321;
|
|
$328 = _i64Add($318 | 0, $319 | 0, $326 | 0, $327 | 0) | 0;
|
|
$329 = tempRet0;
|
|
$330 = _i64Add($296 | 0, $297 | 0, $234 | 0, $236 | 0) | 0;
|
|
$331 = tempRet0;
|
|
$332 = _i64Add($328 | 0, $329 | 0, $296 | 0, $297 | 0) | 0;
|
|
$333 = tempRet0;
|
|
$334 = _bitshift64Shl($330 | 0, $331 | 0, 50) | 0;
|
|
$335 = tempRet0;
|
|
$336 = _bitshift64Lshr($330 | 0, $331 | 0, 14) | 0;
|
|
$337 = tempRet0;
|
|
$338 = $334 | $336;
|
|
$339 = $335 | $337;
|
|
$340 = _bitshift64Shl($330 | 0, $331 | 0, 46) | 0;
|
|
$341 = tempRet0;
|
|
$342 = _bitshift64Lshr($330 | 0, $331 | 0, 18) | 0;
|
|
$343 = tempRet0;
|
|
$344 = $340 | $342;
|
|
$345 = $341 | $343;
|
|
$346 = $338 ^ $344;
|
|
$347 = $339 ^ $345;
|
|
$348 = _bitshift64Shl($330 | 0, $331 | 0, 23) | 0;
|
|
$349 = tempRet0;
|
|
$350 = _bitshift64Lshr($330 | 0, $331 | 0, 41) | 0;
|
|
$351 = tempRet0;
|
|
$352 = $348 | $350;
|
|
$353 = $349 | $351;
|
|
$354 = $346 ^ $352;
|
|
$355 = $347 ^ $353;
|
|
$356 = $243 ^ $145;
|
|
$357 = $244 ^ $146;
|
|
$358 = $330 & $356;
|
|
$359 = $331 & $357;
|
|
$360 = $358 ^ $145;
|
|
$361 = $359 ^ $146;
|
|
$362 = $i$29 | 2;
|
|
$363 = (31904 + ($362 << 3)) | 0;
|
|
$364 = $363;
|
|
$365 = $364;
|
|
$366 = HEAP32[$365 >> 2] | 0;
|
|
$367 = ($364 + 4) | 0;
|
|
$368 = $367;
|
|
$369 = HEAP32[$368 >> 2] | 0;
|
|
$370 = ($W + ($362 << 3)) | 0;
|
|
$371 = $370;
|
|
$372 = $371;
|
|
$373 = HEAP32[$372 >> 2] | 0;
|
|
$374 = ($371 + 4) | 0;
|
|
$375 = $374;
|
|
$376 = HEAP32[$375 >> 2] | 0;
|
|
$377 = _i64Add($366 | 0, $369 | 0, $171 | 0, $174 | 0) | 0;
|
|
$378 = tempRet0;
|
|
$379 = _i64Add($377 | 0, $378 | 0, $373 | 0, $376 | 0) | 0;
|
|
$380 = tempRet0;
|
|
$381 = _i64Add($379 | 0, $380 | 0, $360 | 0, $361 | 0) | 0;
|
|
$382 = tempRet0;
|
|
$383 = _i64Add($381 | 0, $382 | 0, $354 | 0, $355 | 0) | 0;
|
|
$384 = tempRet0;
|
|
$385 = _bitshift64Shl($332 | 0, $333 | 0, 36) | 0;
|
|
$386 = tempRet0;
|
|
$387 = _bitshift64Lshr($332 | 0, $333 | 0, 28) | 0;
|
|
$388 = tempRet0;
|
|
$389 = $385 | $387;
|
|
$390 = $386 | $388;
|
|
$391 = _bitshift64Shl($332 | 0, $333 | 0, 30) | 0;
|
|
$392 = tempRet0;
|
|
$393 = _bitshift64Lshr($332 | 0, $333 | 0, 34) | 0;
|
|
$394 = tempRet0;
|
|
$395 = $391 | $393;
|
|
$396 = $392 | $394;
|
|
$397 = $389 ^ $395;
|
|
$398 = $390 ^ $396;
|
|
$399 = _bitshift64Shl($332 | 0, $333 | 0, 25) | 0;
|
|
$400 = tempRet0;
|
|
$401 = _bitshift64Lshr($332 | 0, $333 | 0, 39) | 0;
|
|
$402 = tempRet0;
|
|
$403 = $399 | $401;
|
|
$404 = $400 | $402;
|
|
$405 = $397 ^ $403;
|
|
$406 = $398 ^ $404;
|
|
$407 = $332 & $245;
|
|
$408 = $333 & $246;
|
|
$409 = $332 | $245;
|
|
$410 = $333 | $246;
|
|
$411 = $409 & $203;
|
|
$412 = $410 & $204;
|
|
$413 = $411 | $407;
|
|
$414 = $412 | $408;
|
|
$415 = _i64Add($405 | 0, $406 | 0, $413 | 0, $414 | 0) | 0;
|
|
$416 = tempRet0;
|
|
$417 = _i64Add($383 | 0, $384 | 0, $228 | 0, $230 | 0) | 0;
|
|
$418 = tempRet0;
|
|
$419 = _i64Add($415 | 0, $416 | 0, $383 | 0, $384 | 0) | 0;
|
|
$420 = tempRet0;
|
|
$421 = _bitshift64Shl($417 | 0, $418 | 0, 50) | 0;
|
|
$422 = tempRet0;
|
|
$423 = _bitshift64Lshr($417 | 0, $418 | 0, 14) | 0;
|
|
$424 = tempRet0;
|
|
$425 = $421 | $423;
|
|
$426 = $422 | $424;
|
|
$427 = _bitshift64Shl($417 | 0, $418 | 0, 46) | 0;
|
|
$428 = tempRet0;
|
|
$429 = _bitshift64Lshr($417 | 0, $418 | 0, 18) | 0;
|
|
$430 = tempRet0;
|
|
$431 = $427 | $429;
|
|
$432 = $428 | $430;
|
|
$433 = $425 ^ $431;
|
|
$434 = $426 ^ $432;
|
|
$435 = _bitshift64Shl($417 | 0, $418 | 0, 23) | 0;
|
|
$436 = tempRet0;
|
|
$437 = _bitshift64Lshr($417 | 0, $418 | 0, 41) | 0;
|
|
$438 = tempRet0;
|
|
$439 = $435 | $437;
|
|
$440 = $436 | $438;
|
|
$441 = $433 ^ $439;
|
|
$442 = $434 ^ $440;
|
|
$443 = $330 ^ $243;
|
|
$444 = $331 ^ $244;
|
|
$445 = $417 & $443;
|
|
$446 = $418 & $444;
|
|
$447 = $445 ^ $243;
|
|
$448 = $446 ^ $244;
|
|
$449 = $i$29 | 3;
|
|
$450 = (31904 + ($449 << 3)) | 0;
|
|
$451 = $450;
|
|
$452 = $451;
|
|
$453 = HEAP32[$452 >> 2] | 0;
|
|
$454 = ($451 + 4) | 0;
|
|
$455 = $454;
|
|
$456 = HEAP32[$455 >> 2] | 0;
|
|
$457 = ($W + ($449 << 3)) | 0;
|
|
$458 = $457;
|
|
$459 = $458;
|
|
$460 = HEAP32[$459 >> 2] | 0;
|
|
$461 = ($458 + 4) | 0;
|
|
$462 = $461;
|
|
$463 = HEAP32[$462 >> 2] | 0;
|
|
$464 = _i64Add($453 | 0, $456 | 0, $145 | 0, $146 | 0) | 0;
|
|
$465 = tempRet0;
|
|
$466 = _i64Add($464 | 0, $465 | 0, $460 | 0, $463 | 0) | 0;
|
|
$467 = tempRet0;
|
|
$468 = _i64Add($466 | 0, $467 | 0, $447 | 0, $448 | 0) | 0;
|
|
$469 = tempRet0;
|
|
$470 = _i64Add($468 | 0, $469 | 0, $441 | 0, $442 | 0) | 0;
|
|
$471 = tempRet0;
|
|
$472 = _bitshift64Shl($419 | 0, $420 | 0, 36) | 0;
|
|
$473 = tempRet0;
|
|
$474 = _bitshift64Lshr($419 | 0, $420 | 0, 28) | 0;
|
|
$475 = tempRet0;
|
|
$476 = $472 | $474;
|
|
$477 = $473 | $475;
|
|
$478 = _bitshift64Shl($419 | 0, $420 | 0, 30) | 0;
|
|
$479 = tempRet0;
|
|
$480 = _bitshift64Lshr($419 | 0, $420 | 0, 34) | 0;
|
|
$481 = tempRet0;
|
|
$482 = $478 | $480;
|
|
$483 = $479 | $481;
|
|
$484 = $476 ^ $482;
|
|
$485 = $477 ^ $483;
|
|
$486 = _bitshift64Shl($419 | 0, $420 | 0, 25) | 0;
|
|
$487 = tempRet0;
|
|
$488 = _bitshift64Lshr($419 | 0, $420 | 0, 39) | 0;
|
|
$489 = tempRet0;
|
|
$490 = $486 | $488;
|
|
$491 = $487 | $489;
|
|
$492 = $484 ^ $490;
|
|
$493 = $485 ^ $491;
|
|
$494 = $419 & $332;
|
|
$495 = $420 & $333;
|
|
$496 = $419 | $332;
|
|
$497 = $420 | $333;
|
|
$498 = $496 & $245;
|
|
$499 = $497 & $246;
|
|
$500 = $498 | $494;
|
|
$501 = $499 | $495;
|
|
$502 = _i64Add($492 | 0, $493 | 0, $500 | 0, $501 | 0) | 0;
|
|
$503 = tempRet0;
|
|
$504 = _i64Add($470 | 0, $471 | 0, $203 | 0, $204 | 0) | 0;
|
|
$505 = tempRet0;
|
|
$506 = _i64Add($502 | 0, $503 | 0, $470 | 0, $471 | 0) | 0;
|
|
$507 = tempRet0;
|
|
$508 = _bitshift64Shl($504 | 0, $505 | 0, 50) | 0;
|
|
$509 = tempRet0;
|
|
$510 = _bitshift64Lshr($504 | 0, $505 | 0, 14) | 0;
|
|
$511 = tempRet0;
|
|
$512 = $508 | $510;
|
|
$513 = $509 | $511;
|
|
$514 = _bitshift64Shl($504 | 0, $505 | 0, 46) | 0;
|
|
$515 = tempRet0;
|
|
$516 = _bitshift64Lshr($504 | 0, $505 | 0, 18) | 0;
|
|
$517 = tempRet0;
|
|
$518 = $514 | $516;
|
|
$519 = $515 | $517;
|
|
$520 = $512 ^ $518;
|
|
$521 = $513 ^ $519;
|
|
$522 = _bitshift64Shl($504 | 0, $505 | 0, 23) | 0;
|
|
$523 = tempRet0;
|
|
$524 = _bitshift64Lshr($504 | 0, $505 | 0, 41) | 0;
|
|
$525 = tempRet0;
|
|
$526 = $522 | $524;
|
|
$527 = $523 | $525;
|
|
$528 = $520 ^ $526;
|
|
$529 = $521 ^ $527;
|
|
$530 = $417 ^ $330;
|
|
$531 = $418 ^ $331;
|
|
$532 = $504 & $530;
|
|
$533 = $505 & $531;
|
|
$534 = $532 ^ $330;
|
|
$535 = $533 ^ $331;
|
|
$536 = $i$29 | 4;
|
|
$537 = (31904 + ($536 << 3)) | 0;
|
|
$538 = $537;
|
|
$539 = $538;
|
|
$540 = HEAP32[$539 >> 2] | 0;
|
|
$541 = ($538 + 4) | 0;
|
|
$542 = $541;
|
|
$543 = HEAP32[$542 >> 2] | 0;
|
|
$544 = ($W + ($536 << 3)) | 0;
|
|
$545 = $544;
|
|
$546 = $545;
|
|
$547 = HEAP32[$546 >> 2] | 0;
|
|
$548 = ($545 + 4) | 0;
|
|
$549 = $548;
|
|
$550 = HEAP32[$549 >> 2] | 0;
|
|
$551 = _i64Add($540 | 0, $543 | 0, $243 | 0, $244 | 0) | 0;
|
|
$552 = tempRet0;
|
|
$553 = _i64Add($551 | 0, $552 | 0, $547 | 0, $550 | 0) | 0;
|
|
$554 = tempRet0;
|
|
$555 = _i64Add($553 | 0, $554 | 0, $534 | 0, $535 | 0) | 0;
|
|
$556 = tempRet0;
|
|
$557 = _i64Add($555 | 0, $556 | 0, $528 | 0, $529 | 0) | 0;
|
|
$558 = tempRet0;
|
|
$559 = _bitshift64Shl($506 | 0, $507 | 0, 36) | 0;
|
|
$560 = tempRet0;
|
|
$561 = _bitshift64Lshr($506 | 0, $507 | 0, 28) | 0;
|
|
$562 = tempRet0;
|
|
$563 = $559 | $561;
|
|
$564 = $560 | $562;
|
|
$565 = _bitshift64Shl($506 | 0, $507 | 0, 30) | 0;
|
|
$566 = tempRet0;
|
|
$567 = _bitshift64Lshr($506 | 0, $507 | 0, 34) | 0;
|
|
$568 = tempRet0;
|
|
$569 = $565 | $567;
|
|
$570 = $566 | $568;
|
|
$571 = $563 ^ $569;
|
|
$572 = $564 ^ $570;
|
|
$573 = _bitshift64Shl($506 | 0, $507 | 0, 25) | 0;
|
|
$574 = tempRet0;
|
|
$575 = _bitshift64Lshr($506 | 0, $507 | 0, 39) | 0;
|
|
$576 = tempRet0;
|
|
$577 = $573 | $575;
|
|
$578 = $574 | $576;
|
|
$579 = $571 ^ $577;
|
|
$580 = $572 ^ $578;
|
|
$581 = $506 & $419;
|
|
$582 = $507 & $420;
|
|
$583 = $506 | $419;
|
|
$584 = $507 | $420;
|
|
$585 = $583 & $332;
|
|
$586 = $584 & $333;
|
|
$587 = $585 | $581;
|
|
$588 = $586 | $582;
|
|
$589 = _i64Add($579 | 0, $580 | 0, $587 | 0, $588 | 0) | 0;
|
|
$590 = tempRet0;
|
|
$591 = _i64Add($557 | 0, $558 | 0, $245 | 0, $246 | 0) | 0;
|
|
$592 = tempRet0;
|
|
$593 = _i64Add($589 | 0, $590 | 0, $557 | 0, $558 | 0) | 0;
|
|
$594 = tempRet0;
|
|
$595 = _bitshift64Shl($591 | 0, $592 | 0, 50) | 0;
|
|
$596 = tempRet0;
|
|
$597 = _bitshift64Lshr($591 | 0, $592 | 0, 14) | 0;
|
|
$598 = tempRet0;
|
|
$599 = $595 | $597;
|
|
$600 = $596 | $598;
|
|
$601 = _bitshift64Shl($591 | 0, $592 | 0, 46) | 0;
|
|
$602 = tempRet0;
|
|
$603 = _bitshift64Lshr($591 | 0, $592 | 0, 18) | 0;
|
|
$604 = tempRet0;
|
|
$605 = $601 | $603;
|
|
$606 = $602 | $604;
|
|
$607 = $599 ^ $605;
|
|
$608 = $600 ^ $606;
|
|
$609 = _bitshift64Shl($591 | 0, $592 | 0, 23) | 0;
|
|
$610 = tempRet0;
|
|
$611 = _bitshift64Lshr($591 | 0, $592 | 0, 41) | 0;
|
|
$612 = tempRet0;
|
|
$613 = $609 | $611;
|
|
$614 = $610 | $612;
|
|
$615 = $607 ^ $613;
|
|
$616 = $608 ^ $614;
|
|
$617 = $504 ^ $417;
|
|
$618 = $505 ^ $418;
|
|
$619 = $591 & $617;
|
|
$620 = $592 & $618;
|
|
$621 = $619 ^ $417;
|
|
$622 = $620 ^ $418;
|
|
$623 = $i$29 | 5;
|
|
$624 = (31904 + ($623 << 3)) | 0;
|
|
$625 = $624;
|
|
$626 = $625;
|
|
$627 = HEAP32[$626 >> 2] | 0;
|
|
$628 = ($625 + 4) | 0;
|
|
$629 = $628;
|
|
$630 = HEAP32[$629 >> 2] | 0;
|
|
$631 = ($W + ($623 << 3)) | 0;
|
|
$632 = $631;
|
|
$633 = $632;
|
|
$634 = HEAP32[$633 >> 2] | 0;
|
|
$635 = ($632 + 4) | 0;
|
|
$636 = $635;
|
|
$637 = HEAP32[$636 >> 2] | 0;
|
|
$638 = _i64Add($627 | 0, $630 | 0, $330 | 0, $331 | 0) | 0;
|
|
$639 = tempRet0;
|
|
$640 = _i64Add($638 | 0, $639 | 0, $634 | 0, $637 | 0) | 0;
|
|
$641 = tempRet0;
|
|
$642 = _i64Add($640 | 0, $641 | 0, $621 | 0, $622 | 0) | 0;
|
|
$643 = tempRet0;
|
|
$644 = _i64Add($642 | 0, $643 | 0, $615 | 0, $616 | 0) | 0;
|
|
$645 = tempRet0;
|
|
$646 = _bitshift64Shl($593 | 0, $594 | 0, 36) | 0;
|
|
$647 = tempRet0;
|
|
$648 = _bitshift64Lshr($593 | 0, $594 | 0, 28) | 0;
|
|
$649 = tempRet0;
|
|
$650 = $646 | $648;
|
|
$651 = $647 | $649;
|
|
$652 = _bitshift64Shl($593 | 0, $594 | 0, 30) | 0;
|
|
$653 = tempRet0;
|
|
$654 = _bitshift64Lshr($593 | 0, $594 | 0, 34) | 0;
|
|
$655 = tempRet0;
|
|
$656 = $652 | $654;
|
|
$657 = $653 | $655;
|
|
$658 = $650 ^ $656;
|
|
$659 = $651 ^ $657;
|
|
$660 = _bitshift64Shl($593 | 0, $594 | 0, 25) | 0;
|
|
$661 = tempRet0;
|
|
$662 = _bitshift64Lshr($593 | 0, $594 | 0, 39) | 0;
|
|
$663 = tempRet0;
|
|
$664 = $660 | $662;
|
|
$665 = $661 | $663;
|
|
$666 = $658 ^ $664;
|
|
$667 = $659 ^ $665;
|
|
$668 = $593 & $506;
|
|
$669 = $594 & $507;
|
|
$670 = $593 | $506;
|
|
$671 = $594 | $507;
|
|
$672 = $670 & $419;
|
|
$673 = $671 & $420;
|
|
$674 = $672 | $668;
|
|
$675 = $673 | $669;
|
|
$676 = _i64Add($666 | 0, $667 | 0, $674 | 0, $675 | 0) | 0;
|
|
$677 = tempRet0;
|
|
$678 = _i64Add($644 | 0, $645 | 0, $332 | 0, $333 | 0) | 0;
|
|
$679 = tempRet0;
|
|
$680 = _i64Add($676 | 0, $677 | 0, $644 | 0, $645 | 0) | 0;
|
|
$681 = tempRet0;
|
|
$682 = _bitshift64Shl($678 | 0, $679 | 0, 50) | 0;
|
|
$683 = tempRet0;
|
|
$684 = _bitshift64Lshr($678 | 0, $679 | 0, 14) | 0;
|
|
$685 = tempRet0;
|
|
$686 = $682 | $684;
|
|
$687 = $683 | $685;
|
|
$688 = _bitshift64Shl($678 | 0, $679 | 0, 46) | 0;
|
|
$689 = tempRet0;
|
|
$690 = _bitshift64Lshr($678 | 0, $679 | 0, 18) | 0;
|
|
$691 = tempRet0;
|
|
$692 = $688 | $690;
|
|
$693 = $689 | $691;
|
|
$694 = $686 ^ $692;
|
|
$695 = $687 ^ $693;
|
|
$696 = _bitshift64Shl($678 | 0, $679 | 0, 23) | 0;
|
|
$697 = tempRet0;
|
|
$698 = _bitshift64Lshr($678 | 0, $679 | 0, 41) | 0;
|
|
$699 = tempRet0;
|
|
$700 = $696 | $698;
|
|
$701 = $697 | $699;
|
|
$702 = $694 ^ $700;
|
|
$703 = $695 ^ $701;
|
|
$704 = $591 ^ $504;
|
|
$705 = $592 ^ $505;
|
|
$706 = $678 & $704;
|
|
$707 = $679 & $705;
|
|
$708 = $706 ^ $504;
|
|
$709 = $707 ^ $505;
|
|
$710 = $i$29 | 6;
|
|
$711 = (31904 + ($710 << 3)) | 0;
|
|
$712 = $711;
|
|
$713 = $712;
|
|
$714 = HEAP32[$713 >> 2] | 0;
|
|
$715 = ($712 + 4) | 0;
|
|
$716 = $715;
|
|
$717 = HEAP32[$716 >> 2] | 0;
|
|
$718 = ($W + ($710 << 3)) | 0;
|
|
$719 = $718;
|
|
$720 = $719;
|
|
$721 = HEAP32[$720 >> 2] | 0;
|
|
$722 = ($719 + 4) | 0;
|
|
$723 = $722;
|
|
$724 = HEAP32[$723 >> 2] | 0;
|
|
$725 = _i64Add($721 | 0, $724 | 0, $714 | 0, $717 | 0) | 0;
|
|
$726 = tempRet0;
|
|
$727 = _i64Add($725 | 0, $726 | 0, $417 | 0, $418 | 0) | 0;
|
|
$728 = tempRet0;
|
|
$729 = _i64Add($727 | 0, $728 | 0, $708 | 0, $709 | 0) | 0;
|
|
$730 = tempRet0;
|
|
$731 = _i64Add($729 | 0, $730 | 0, $702 | 0, $703 | 0) | 0;
|
|
$732 = tempRet0;
|
|
$733 = _bitshift64Shl($680 | 0, $681 | 0, 36) | 0;
|
|
$734 = tempRet0;
|
|
$735 = _bitshift64Lshr($680 | 0, $681 | 0, 28) | 0;
|
|
$736 = tempRet0;
|
|
$737 = $733 | $735;
|
|
$738 = $734 | $736;
|
|
$739 = _bitshift64Shl($680 | 0, $681 | 0, 30) | 0;
|
|
$740 = tempRet0;
|
|
$741 = _bitshift64Lshr($680 | 0, $681 | 0, 34) | 0;
|
|
$742 = tempRet0;
|
|
$743 = $739 | $741;
|
|
$744 = $740 | $742;
|
|
$745 = $737 ^ $743;
|
|
$746 = $738 ^ $744;
|
|
$747 = _bitshift64Shl($680 | 0, $681 | 0, 25) | 0;
|
|
$748 = tempRet0;
|
|
$749 = _bitshift64Lshr($680 | 0, $681 | 0, 39) | 0;
|
|
$750 = tempRet0;
|
|
$751 = $747 | $749;
|
|
$752 = $748 | $750;
|
|
$753 = $745 ^ $751;
|
|
$754 = $746 ^ $752;
|
|
$755 = $680 & $593;
|
|
$756 = $681 & $594;
|
|
$757 = $680 | $593;
|
|
$758 = $681 | $594;
|
|
$759 = $757 & $506;
|
|
$760 = $758 & $507;
|
|
$761 = $759 | $755;
|
|
$762 = $760 | $756;
|
|
$763 = _i64Add($753 | 0, $754 | 0, $761 | 0, $762 | 0) | 0;
|
|
$764 = tempRet0;
|
|
$765 = _i64Add($731 | 0, $732 | 0, $419 | 0, $420 | 0) | 0;
|
|
$766 = tempRet0;
|
|
$767 = _i64Add($763 | 0, $764 | 0, $731 | 0, $732 | 0) | 0;
|
|
$768 = tempRet0;
|
|
$769 = _bitshift64Shl($765 | 0, $766 | 0, 50) | 0;
|
|
$770 = tempRet0;
|
|
$771 = _bitshift64Lshr($765 | 0, $766 | 0, 14) | 0;
|
|
$772 = tempRet0;
|
|
$773 = $769 | $771;
|
|
$774 = $770 | $772;
|
|
$775 = _bitshift64Shl($765 | 0, $766 | 0, 46) | 0;
|
|
$776 = tempRet0;
|
|
$777 = _bitshift64Lshr($765 | 0, $766 | 0, 18) | 0;
|
|
$778 = tempRet0;
|
|
$779 = $775 | $777;
|
|
$780 = $776 | $778;
|
|
$781 = $773 ^ $779;
|
|
$782 = $774 ^ $780;
|
|
$783 = _bitshift64Shl($765 | 0, $766 | 0, 23) | 0;
|
|
$784 = tempRet0;
|
|
$785 = _bitshift64Lshr($765 | 0, $766 | 0, 41) | 0;
|
|
$786 = tempRet0;
|
|
$787 = $783 | $785;
|
|
$788 = $784 | $786;
|
|
$789 = $781 ^ $787;
|
|
$790 = $782 ^ $788;
|
|
$791 = $678 ^ $591;
|
|
$792 = $679 ^ $592;
|
|
$793 = $765 & $791;
|
|
$794 = $766 & $792;
|
|
$795 = $793 ^ $591;
|
|
$796 = $794 ^ $592;
|
|
$797 = $i$29 | 7;
|
|
$798 = (31904 + ($797 << 3)) | 0;
|
|
$799 = $798;
|
|
$800 = $799;
|
|
$801 = HEAP32[$800 >> 2] | 0;
|
|
$802 = ($799 + 4) | 0;
|
|
$803 = $802;
|
|
$804 = HEAP32[$803 >> 2] | 0;
|
|
$805 = ($W + ($797 << 3)) | 0;
|
|
$806 = $805;
|
|
$807 = $806;
|
|
$808 = HEAP32[$807 >> 2] | 0;
|
|
$809 = ($806 + 4) | 0;
|
|
$810 = $809;
|
|
$811 = HEAP32[$810 >> 2] | 0;
|
|
$812 = _i64Add($808 | 0, $811 | 0, $801 | 0, $804 | 0) | 0;
|
|
$813 = tempRet0;
|
|
$814 = _i64Add($812 | 0, $813 | 0, $504 | 0, $505 | 0) | 0;
|
|
$815 = tempRet0;
|
|
$816 = _i64Add($814 | 0, $815 | 0, $795 | 0, $796 | 0) | 0;
|
|
$817 = tempRet0;
|
|
$818 = _i64Add($816 | 0, $817 | 0, $789 | 0, $790 | 0) | 0;
|
|
$819 = tempRet0;
|
|
$820 = _bitshift64Shl($767 | 0, $768 | 0, 36) | 0;
|
|
$821 = tempRet0;
|
|
$822 = _bitshift64Lshr($767 | 0, $768 | 0, 28) | 0;
|
|
$823 = tempRet0;
|
|
$824 = $820 | $822;
|
|
$825 = $821 | $823;
|
|
$826 = _bitshift64Shl($767 | 0, $768 | 0, 30) | 0;
|
|
$827 = tempRet0;
|
|
$828 = _bitshift64Lshr($767 | 0, $768 | 0, 34) | 0;
|
|
$829 = tempRet0;
|
|
$830 = $826 | $828;
|
|
$831 = $827 | $829;
|
|
$832 = $824 ^ $830;
|
|
$833 = $825 ^ $831;
|
|
$834 = _bitshift64Shl($767 | 0, $768 | 0, 25) | 0;
|
|
$835 = tempRet0;
|
|
$836 = _bitshift64Lshr($767 | 0, $768 | 0, 39) | 0;
|
|
$837 = tempRet0;
|
|
$838 = $834 | $836;
|
|
$839 = $835 | $837;
|
|
$840 = $832 ^ $838;
|
|
$841 = $833 ^ $839;
|
|
$842 = $767 & $680;
|
|
$843 = $768 & $681;
|
|
$844 = $767 | $680;
|
|
$845 = $768 | $681;
|
|
$846 = $844 & $593;
|
|
$847 = $845 & $594;
|
|
$848 = $846 | $842;
|
|
$849 = $847 | $843;
|
|
$850 = _i64Add($840 | 0, $841 | 0, $848 | 0, $849 | 0) | 0;
|
|
$851 = tempRet0;
|
|
$852 = _i64Add($818 | 0, $819 | 0, $506 | 0, $507 | 0) | 0;
|
|
$853 = tempRet0;
|
|
$854 = _i64Add($850 | 0, $851 | 0, $818 | 0, $819 | 0) | 0;
|
|
$855 = tempRet0;
|
|
$856 = ($i$29 + 8) | 0;
|
|
$857 = ($856 | 0) < 80;
|
|
if ($857) {
|
|
$145 = $852;
|
|
$146 = $853;
|
|
$170 = $678;
|
|
$171 = $765;
|
|
$173 = $679;
|
|
$174 = $766;
|
|
$193 = $591;
|
|
$194 = $592;
|
|
$203 = $854;
|
|
$204 = $855;
|
|
$228 = $767;
|
|
$230 = $768;
|
|
$234 = $680;
|
|
$236 = $681;
|
|
$241 = $593;
|
|
$242 = $594;
|
|
$i$29 = $856;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
$858 = $r;
|
|
$859 = $858;
|
|
$860 = HEAP32[$859 >> 2] | 0;
|
|
$861 = ($858 + 4) | 0;
|
|
$862 = $861;
|
|
$863 = HEAP32[$862 >> 2] | 0;
|
|
$864 = _i64Add($860 | 0, $863 | 0, $854 | 0, $855 | 0) | 0;
|
|
$865 = tempRet0;
|
|
$866 = $r;
|
|
$867 = $866;
|
|
HEAP32[$867 >> 2] = $864;
|
|
$868 = ($866 + 4) | 0;
|
|
$869 = $868;
|
|
HEAP32[$869 >> 2] = $865;
|
|
$870 = $96;
|
|
$871 = $870;
|
|
$872 = HEAP32[$871 >> 2] | 0;
|
|
$873 = ($870 + 4) | 0;
|
|
$874 = $873;
|
|
$875 = HEAP32[$874 >> 2] | 0;
|
|
$876 = _i64Add($872 | 0, $875 | 0, $767 | 0, $768 | 0) | 0;
|
|
$877 = tempRet0;
|
|
$878 = $96;
|
|
$879 = $878;
|
|
HEAP32[$879 >> 2] = $876;
|
|
$880 = ($878 + 4) | 0;
|
|
$881 = $880;
|
|
HEAP32[$881 >> 2] = $877;
|
|
$882 = $103;
|
|
$883 = $882;
|
|
$884 = HEAP32[$883 >> 2] | 0;
|
|
$885 = ($882 + 4) | 0;
|
|
$886 = $885;
|
|
$887 = HEAP32[$886 >> 2] | 0;
|
|
$888 = _i64Add($884 | 0, $887 | 0, $680 | 0, $681 | 0) | 0;
|
|
$889 = tempRet0;
|
|
$890 = $103;
|
|
$891 = $890;
|
|
HEAP32[$891 >> 2] = $888;
|
|
$892 = ($890 + 4) | 0;
|
|
$893 = $892;
|
|
HEAP32[$893 >> 2] = $889;
|
|
$894 = $110;
|
|
$895 = $894;
|
|
$896 = HEAP32[$895 >> 2] | 0;
|
|
$897 = ($894 + 4) | 0;
|
|
$898 = $897;
|
|
$899 = HEAP32[$898 >> 2] | 0;
|
|
$900 = _i64Add($896 | 0, $899 | 0, $593 | 0, $594 | 0) | 0;
|
|
$901 = tempRet0;
|
|
$902 = $110;
|
|
$903 = $902;
|
|
HEAP32[$903 >> 2] = $900;
|
|
$904 = ($902 + 4) | 0;
|
|
$905 = $904;
|
|
HEAP32[$905 >> 2] = $901;
|
|
$906 = $117;
|
|
$907 = $906;
|
|
$908 = HEAP32[$907 >> 2] | 0;
|
|
$909 = ($906 + 4) | 0;
|
|
$910 = $909;
|
|
$911 = HEAP32[$910 >> 2] | 0;
|
|
$912 = _i64Add($908 | 0, $911 | 0, $852 | 0, $853 | 0) | 0;
|
|
$913 = tempRet0;
|
|
$914 = $117;
|
|
$915 = $914;
|
|
HEAP32[$915 >> 2] = $912;
|
|
$916 = ($914 + 4) | 0;
|
|
$917 = $916;
|
|
HEAP32[$917 >> 2] = $913;
|
|
$918 = $124;
|
|
$919 = $918;
|
|
$920 = HEAP32[$919 >> 2] | 0;
|
|
$921 = ($918 + 4) | 0;
|
|
$922 = $921;
|
|
$923 = HEAP32[$922 >> 2] | 0;
|
|
$924 = _i64Add($920 | 0, $923 | 0, $765 | 0, $766 | 0) | 0;
|
|
$925 = tempRet0;
|
|
$926 = $124;
|
|
$927 = $926;
|
|
HEAP32[$927 >> 2] = $924;
|
|
$928 = ($926 + 4) | 0;
|
|
$929 = $928;
|
|
HEAP32[$929 >> 2] = $925;
|
|
$930 = $131;
|
|
$931 = $930;
|
|
$932 = HEAP32[$931 >> 2] | 0;
|
|
$933 = ($930 + 4) | 0;
|
|
$934 = $933;
|
|
$935 = HEAP32[$934 >> 2] | 0;
|
|
$936 = _i64Add($932 | 0, $935 | 0, $678 | 0, $679 | 0) | 0;
|
|
$937 = tempRet0;
|
|
$938 = $131;
|
|
$939 = $938;
|
|
HEAP32[$939 >> 2] = $936;
|
|
$940 = ($938 + 4) | 0;
|
|
$941 = $940;
|
|
HEAP32[$941 >> 2] = $937;
|
|
$942 = $138;
|
|
$943 = $942;
|
|
$944 = HEAP32[$943 >> 2] | 0;
|
|
$945 = ($942 + 4) | 0;
|
|
$946 = $945;
|
|
$947 = HEAP32[$946 >> 2] | 0;
|
|
$948 = _i64Add($944 | 0, $947 | 0, $591 | 0, $592 | 0) | 0;
|
|
$949 = tempRet0;
|
|
$950 = $138;
|
|
$951 = $950;
|
|
HEAP32[$951 >> 2] = $948;
|
|
$952 = ($950 + 4) | 0;
|
|
$953 = $952;
|
|
HEAP32[$953 >> 2] = $949;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _sha384_close($cc, $dst, $rnum) {
|
|
$cc = $cc | 0;
|
|
$dst = $dst | 0;
|
|
$rnum = $rnum | 0;
|
|
var label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
_sha384_addbits_and_close($cc, 0, 0, $dst, $rnum);
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _sha384_addbits_and_close($cc, $ub, $n, $dst, $rnum) {
|
|
$cc = $cc | 0;
|
|
$ub = $ub | 0;
|
|
$n = $n | 0;
|
|
$dst = $dst | 0;
|
|
$rnum = $rnum | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0;
|
|
var $27 = 0,
|
|
$28 = 0,
|
|
$29 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0;
|
|
var $45 = 0,
|
|
$46 = 0,
|
|
$47 = 0,
|
|
$48 = 0,
|
|
$49 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$51 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
$exitcond = 0,
|
|
$u$01 = 0,
|
|
dest = 0,
|
|
label = 0,
|
|
sp = 0,
|
|
stop = 0;
|
|
sp = STACKTOP;
|
|
$0 = ($cc + 192) | 0;
|
|
$1 = $0;
|
|
$2 = $1;
|
|
$3 = HEAP32[$2 >> 2] | 0;
|
|
$4 = ($1 + 4) | 0;
|
|
$5 = $4;
|
|
$6 = HEAP32[$5 >> 2] | 0;
|
|
$7 = $3 & 127;
|
|
$8 = 128 >>> $n;
|
|
$9 = (0 - $8) | 0;
|
|
$10 = $9 & $ub;
|
|
$11 = $10 | $8;
|
|
$12 = $11 & 255;
|
|
$13 = ($7 + 1) | 0;
|
|
$14 = ($cc + $7) | 0;
|
|
HEAP8[$14 >> 0] = $12;
|
|
$15 = $13 >>> 0 > 112;
|
|
$16 = ($cc + $13) | 0;
|
|
if ($15) {
|
|
$17 = $7 ^ 127;
|
|
_memset($16 | 0, 0, $17 | 0) | 0;
|
|
$18 = ($cc + 128) | 0;
|
|
_sha3_round($cc, $18);
|
|
dest = ($cc + 0) | 0;
|
|
stop = (dest + 112) | 0;
|
|
do {
|
|
HEAP8[dest >> 0] = 0 | 0;
|
|
dest = (dest + 1) | 0;
|
|
} while ((dest | 0) < (stop | 0));
|
|
} else {
|
|
$19 = (111 - $7) | 0;
|
|
_memset($16 | 0, 0, $19 | 0) | 0;
|
|
}
|
|
$20 = ($cc + 112) | 0;
|
|
$21 = $0;
|
|
$22 = $21;
|
|
$23 = HEAP32[$22 >> 2] | 0;
|
|
$24 = ($21 + 4) | 0;
|
|
$25 = $24;
|
|
$26 = HEAP32[$25 >> 2] | 0;
|
|
$27 = _bitshift64Lshr($23 | 0, $26 | 0, 61) | 0;
|
|
$28 = tempRet0;
|
|
_sph_enc64be_aligned($20, $27, $28);
|
|
$29 = ($cc + 120) | 0;
|
|
$30 = $0;
|
|
$31 = $30;
|
|
$32 = HEAP32[$31 >> 2] | 0;
|
|
$33 = ($30 + 4) | 0;
|
|
$34 = $33;
|
|
$35 = HEAP32[$34 >> 2] | 0;
|
|
$36 = _bitshift64Shl($32 | 0, $35 | 0, 3) | 0;
|
|
$37 = tempRet0;
|
|
$38 = _i64Add($36 | 0, $37 | 0, $n | 0, 0) | 0;
|
|
$39 = tempRet0;
|
|
_sph_enc64be_aligned($29, $38, $39);
|
|
$40 = ($cc + 128) | 0;
|
|
_sha3_round($cc, $40);
|
|
$41 = ($rnum | 0) == 0;
|
|
if ($41) {
|
|
STACKTOP = sp;
|
|
return;
|
|
} else {
|
|
$u$01 = 0;
|
|
}
|
|
while (1) {
|
|
$42 = $u$01 << 3;
|
|
$43 = ($dst + $42) | 0;
|
|
$44 = ($40 + ($u$01 << 3)) | 0;
|
|
$45 = $44;
|
|
$46 = $45;
|
|
$47 = HEAP32[$46 >> 2] | 0;
|
|
$48 = ($45 + 4) | 0;
|
|
$49 = $48;
|
|
$50 = HEAP32[$49 >> 2] | 0;
|
|
_sph_enc64be($43, $47, $50);
|
|
$51 = ($u$01 + 1) | 0;
|
|
$exitcond = ($51 | 0) == ($rnum | 0);
|
|
if ($exitcond) {
|
|
break;
|
|
} else {
|
|
$u$01 = $51;
|
|
}
|
|
}
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _sph_dec64be_aligned($src) {
|
|
$src = $src | 0;
|
|
var $0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0;
|
|
var $27 = 0,
|
|
$28 = 0,
|
|
$29 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$31 = 0,
|
|
$32 = 0,
|
|
$33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0;
|
|
var $45 = 0,
|
|
$46 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = HEAP8[$src >> 0] | 0;
|
|
$1 = $0 & 255;
|
|
$2 = _bitshift64Shl($1 | 0, 0, 56) | 0;
|
|
$3 = tempRet0;
|
|
$4 = ($src + 1) | 0;
|
|
$5 = HEAP8[$4 >> 0] | 0;
|
|
$6 = $5 & 255;
|
|
$7 = _bitshift64Shl($6 | 0, 0, 48) | 0;
|
|
$8 = tempRet0;
|
|
$9 = $7 | $2;
|
|
$10 = $8 | $3;
|
|
$11 = ($src + 2) | 0;
|
|
$12 = HEAP8[$11 >> 0] | 0;
|
|
$13 = $12 & 255;
|
|
$14 = _bitshift64Shl($13 | 0, 0, 40) | 0;
|
|
$15 = tempRet0;
|
|
$16 = $9 | $14;
|
|
$17 = $10 | $15;
|
|
$18 = ($src + 3) | 0;
|
|
$19 = HEAP8[$18 >> 0] | 0;
|
|
$20 = $19 & 255;
|
|
$21 = $17 | $20;
|
|
$22 = ($src + 4) | 0;
|
|
$23 = HEAP8[$22 >> 0] | 0;
|
|
$24 = $23 & 255;
|
|
$25 = _bitshift64Shl($24 | 0, 0, 24) | 0;
|
|
$26 = tempRet0;
|
|
$27 = $16 | $25;
|
|
$28 = $21 | $26;
|
|
$29 = ($src + 5) | 0;
|
|
$30 = HEAP8[$29 >> 0] | 0;
|
|
$31 = $30 & 255;
|
|
$32 = _bitshift64Shl($31 | 0, 0, 16) | 0;
|
|
$33 = tempRet0;
|
|
$34 = $27 | $32;
|
|
$35 = $28 | $33;
|
|
$36 = ($src + 6) | 0;
|
|
$37 = HEAP8[$36 >> 0] | 0;
|
|
$38 = $37 & 255;
|
|
$39 = _bitshift64Shl($38 | 0, 0, 8) | 0;
|
|
$40 = tempRet0;
|
|
$41 = $34 | $39;
|
|
$42 = $35 | $40;
|
|
$43 = ($src + 7) | 0;
|
|
$44 = HEAP8[$43 >> 0] | 0;
|
|
$45 = $44 & 255;
|
|
$46 = $41 | $45;
|
|
tempRet0 = $42;
|
|
STACKTOP = sp;
|
|
return $46 | 0;
|
|
}
|
|
function _sph_enc64be_aligned($dst, $0, $1) {
|
|
$dst = $dst | 0;
|
|
$0 = $0 | 0;
|
|
$1 = $1 | 0;
|
|
var $10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0,
|
|
$27 = 0,
|
|
$28 = 0;
|
|
var $3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$2 = _bitshift64Lshr($0 | 0, $1 | 0, 56) | 0;
|
|
$3 = tempRet0;
|
|
$4 = $2 & 255;
|
|
HEAP8[$dst >> 0] = $4;
|
|
$5 = _bitshift64Lshr($0 | 0, $1 | 0, 48) | 0;
|
|
$6 = tempRet0;
|
|
$7 = $5 & 255;
|
|
$8 = ($dst + 1) | 0;
|
|
HEAP8[$8 >> 0] = $7;
|
|
$9 = _bitshift64Lshr($0 | 0, $1 | 0, 40) | 0;
|
|
$10 = tempRet0;
|
|
$11 = $9 & 255;
|
|
$12 = ($dst + 2) | 0;
|
|
HEAP8[$12 >> 0] = $11;
|
|
$13 = $1 & 255;
|
|
$14 = ($dst + 3) | 0;
|
|
HEAP8[$14 >> 0] = $13;
|
|
$15 = _bitshift64Lshr($0 | 0, $1 | 0, 24) | 0;
|
|
$16 = tempRet0;
|
|
$17 = $15 & 255;
|
|
$18 = ($dst + 4) | 0;
|
|
HEAP8[$18 >> 0] = $17;
|
|
$19 = _bitshift64Lshr($0 | 0, $1 | 0, 16) | 0;
|
|
$20 = tempRet0;
|
|
$21 = $19 & 255;
|
|
$22 = ($dst + 5) | 0;
|
|
HEAP8[$22 >> 0] = $21;
|
|
$23 = _bitshift64Lshr($0 | 0, $1 | 0, 8) | 0;
|
|
$24 = tempRet0;
|
|
$25 = $23 & 255;
|
|
$26 = ($dst + 6) | 0;
|
|
HEAP8[$26 >> 0] = $25;
|
|
$27 = $0 & 255;
|
|
$28 = ($dst + 7) | 0;
|
|
HEAP8[$28 >> 0] = $27;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _sph_enc64be($dst, $0, $1) {
|
|
$dst = $dst | 0;
|
|
$0 = $0 | 0;
|
|
$1 = $1 | 0;
|
|
var $10 = 0,
|
|
$11 = 0,
|
|
$12 = 0,
|
|
$13 = 0,
|
|
$14 = 0,
|
|
$15 = 0,
|
|
$16 = 0,
|
|
$17 = 0,
|
|
$18 = 0,
|
|
$19 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$21 = 0,
|
|
$22 = 0,
|
|
$23 = 0,
|
|
$24 = 0,
|
|
$25 = 0,
|
|
$26 = 0,
|
|
$27 = 0,
|
|
$28 = 0;
|
|
var $3 = 0,
|
|
$4 = 0,
|
|
$5 = 0,
|
|
$6 = 0,
|
|
$7 = 0,
|
|
$8 = 0,
|
|
$9 = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$2 = _bitshift64Lshr($0 | 0, $1 | 0, 56) | 0;
|
|
$3 = tempRet0;
|
|
$4 = $2 & 255;
|
|
HEAP8[$dst >> 0] = $4;
|
|
$5 = _bitshift64Lshr($0 | 0, $1 | 0, 48) | 0;
|
|
$6 = tempRet0;
|
|
$7 = $5 & 255;
|
|
$8 = ($dst + 1) | 0;
|
|
HEAP8[$8 >> 0] = $7;
|
|
$9 = _bitshift64Lshr($0 | 0, $1 | 0, 40) | 0;
|
|
$10 = tempRet0;
|
|
$11 = $9 & 255;
|
|
$12 = ($dst + 2) | 0;
|
|
HEAP8[$12 >> 0] = $11;
|
|
$13 = $1 & 255;
|
|
$14 = ($dst + 3) | 0;
|
|
HEAP8[$14 >> 0] = $13;
|
|
$15 = _bitshift64Lshr($0 | 0, $1 | 0, 24) | 0;
|
|
$16 = tempRet0;
|
|
$17 = $15 & 255;
|
|
$18 = ($dst + 4) | 0;
|
|
HEAP8[$18 >> 0] = $17;
|
|
$19 = _bitshift64Lshr($0 | 0, $1 | 0, 16) | 0;
|
|
$20 = tempRet0;
|
|
$21 = $19 & 255;
|
|
$22 = ($dst + 5) | 0;
|
|
HEAP8[$22 >> 0] = $21;
|
|
$23 = _bitshift64Lshr($0 | 0, $1 | 0, 8) | 0;
|
|
$24 = tempRet0;
|
|
$25 = $23 & 255;
|
|
$26 = ($dst + 6) | 0;
|
|
HEAP8[$26 >> 0] = $25;
|
|
$27 = $0 & 255;
|
|
$28 = ($dst + 7) | 0;
|
|
HEAP8[$28 >> 0] = $27;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function _malloc($bytes) {
|
|
$bytes = $bytes | 0;
|
|
var $$pre = 0,
|
|
$$pre$i = 0,
|
|
$$pre$i$i = 0,
|
|
$$pre$i23$i = 0,
|
|
$$pre$i25 = 0,
|
|
$$pre$phi$i$iZ2D = 0,
|
|
$$pre$phi$i24$iZ2D = 0,
|
|
$$pre$phi$i26Z2D = 0,
|
|
$$pre$phi$iZ2D = 0,
|
|
$$pre$phi59$i$iZ2D = 0,
|
|
$$pre$phiZ2D = 0,
|
|
$$pre105 = 0,
|
|
$$pre58$i$i = 0,
|
|
$$rsize$0$i = 0,
|
|
$$rsize$3$i = 0,
|
|
$$sum = 0,
|
|
$$sum$i$i = 0,
|
|
$$sum$i$i$i = 0,
|
|
$$sum$i12$i = 0,
|
|
$$sum$i13$i = 0;
|
|
var $$sum$i16$i = 0,
|
|
$$sum$i19$i = 0,
|
|
$$sum$i2338 = 0,
|
|
$$sum$i32 = 0,
|
|
$$sum$i39 = 0,
|
|
$$sum1 = 0,
|
|
$$sum1$i = 0,
|
|
$$sum1$i$i = 0,
|
|
$$sum1$i14$i = 0,
|
|
$$sum1$i20$i = 0,
|
|
$$sum1$i24 = 0,
|
|
$$sum10 = 0,
|
|
$$sum10$i = 0,
|
|
$$sum10$i$i = 0,
|
|
$$sum10$pre$i$i = 0,
|
|
$$sum102$i = 0,
|
|
$$sum103$i = 0,
|
|
$$sum104$i = 0,
|
|
$$sum105$i = 0,
|
|
$$sum106$i = 0;
|
|
var $$sum107$i = 0,
|
|
$$sum108$i = 0,
|
|
$$sum109$i = 0,
|
|
$$sum11$i = 0,
|
|
$$sum11$i$i = 0,
|
|
$$sum11$i22$i = 0,
|
|
$$sum110$i = 0,
|
|
$$sum111$i = 0,
|
|
$$sum1112 = 0,
|
|
$$sum112$i = 0,
|
|
$$sum113$i = 0,
|
|
$$sum114$i = 0,
|
|
$$sum115$i = 0,
|
|
$$sum12$i = 0,
|
|
$$sum12$i$i = 0,
|
|
$$sum13$i = 0,
|
|
$$sum13$i$i = 0,
|
|
$$sum14$i$i = 0,
|
|
$$sum14$pre$i = 0,
|
|
$$sum15$i = 0;
|
|
var $$sum15$i$i = 0,
|
|
$$sum16$i = 0,
|
|
$$sum16$i$i = 0,
|
|
$$sum17$i = 0,
|
|
$$sum17$i$i = 0,
|
|
$$sum18$i = 0,
|
|
$$sum1819$i$i = 0,
|
|
$$sum2 = 0,
|
|
$$sum2$i = 0,
|
|
$$sum2$i$i = 0,
|
|
$$sum2$i$i$i = 0,
|
|
$$sum2$i15$i = 0,
|
|
$$sum2$i17$i = 0,
|
|
$$sum2$i21$i = 0,
|
|
$$sum2$pre$i = 0,
|
|
$$sum20$i$i = 0,
|
|
$$sum21$i$i = 0,
|
|
$$sum22$i$i = 0,
|
|
$$sum23$i$i = 0,
|
|
$$sum24$i$i = 0;
|
|
var $$sum25$i$i = 0,
|
|
$$sum26$pre$i$i = 0,
|
|
$$sum27$i$i = 0,
|
|
$$sum28$i$i = 0,
|
|
$$sum29$i$i = 0,
|
|
$$sum3$i = 0,
|
|
$$sum3$i$i = 0,
|
|
$$sum3$i27 = 0,
|
|
$$sum30$i$i = 0,
|
|
$$sum3132$i$i = 0,
|
|
$$sum34$i$i = 0,
|
|
$$sum3536$i$i = 0,
|
|
$$sum3738$i$i = 0,
|
|
$$sum39$i$i = 0,
|
|
$$sum4 = 0,
|
|
$$sum4$i = 0,
|
|
$$sum4$i28 = 0,
|
|
$$sum40$i$i = 0,
|
|
$$sum41$i$i = 0,
|
|
$$sum42$i$i = 0;
|
|
var $$sum5$i = 0,
|
|
$$sum5$i$i = 0,
|
|
$$sum56 = 0,
|
|
$$sum6$i = 0,
|
|
$$sum67$i$i = 0,
|
|
$$sum7$i = 0,
|
|
$$sum8$i = 0,
|
|
$$sum8$pre = 0,
|
|
$$sum9 = 0,
|
|
$$sum9$i = 0,
|
|
$$sum9$i$i = 0,
|
|
$$tsize$1$i = 0,
|
|
$$v$0$i = 0,
|
|
$0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$1000 = 0,
|
|
$1001 = 0,
|
|
$1002 = 0;
|
|
var $1003 = 0,
|
|
$1004 = 0,
|
|
$1005 = 0,
|
|
$1006 = 0,
|
|
$1007 = 0,
|
|
$1008 = 0,
|
|
$1009 = 0,
|
|
$101 = 0,
|
|
$1010 = 0,
|
|
$1011 = 0,
|
|
$1012 = 0,
|
|
$1013 = 0,
|
|
$1014 = 0,
|
|
$1015 = 0,
|
|
$1016 = 0,
|
|
$1017 = 0,
|
|
$1018 = 0,
|
|
$1019 = 0,
|
|
$102 = 0,
|
|
$1020 = 0;
|
|
var $1021 = 0,
|
|
$1022 = 0,
|
|
$1023 = 0,
|
|
$1024 = 0,
|
|
$1025 = 0,
|
|
$1026 = 0,
|
|
$1027 = 0,
|
|
$1028 = 0,
|
|
$1029 = 0,
|
|
$103 = 0,
|
|
$1030 = 0,
|
|
$1031 = 0,
|
|
$1032 = 0,
|
|
$1033 = 0,
|
|
$1034 = 0,
|
|
$1035 = 0,
|
|
$1036 = 0,
|
|
$1037 = 0,
|
|
$1038 = 0,
|
|
$1039 = 0;
|
|
var $104 = 0,
|
|
$1040 = 0,
|
|
$1041 = 0,
|
|
$1042 = 0,
|
|
$1043 = 0,
|
|
$1044 = 0,
|
|
$1045 = 0,
|
|
$1046 = 0,
|
|
$1047 = 0,
|
|
$1048 = 0,
|
|
$1049 = 0,
|
|
$105 = 0,
|
|
$1050 = 0,
|
|
$1051 = 0,
|
|
$1052 = 0,
|
|
$1053 = 0,
|
|
$1054 = 0,
|
|
$1055 = 0,
|
|
$1056 = 0,
|
|
$1057 = 0;
|
|
var $1058 = 0,
|
|
$1059 = 0,
|
|
$106 = 0,
|
|
$1060 = 0,
|
|
$1061 = 0,
|
|
$1062 = 0,
|
|
$1063 = 0,
|
|
$1064 = 0,
|
|
$1065 = 0,
|
|
$1066 = 0,
|
|
$1067 = 0,
|
|
$1068 = 0,
|
|
$1069 = 0,
|
|
$107 = 0,
|
|
$1070 = 0,
|
|
$1071 = 0,
|
|
$1072 = 0,
|
|
$1073 = 0,
|
|
$1074 = 0,
|
|
$108 = 0;
|
|
var $109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0,
|
|
$115 = 0,
|
|
$116 = 0,
|
|
$117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0,
|
|
$124 = 0,
|
|
$125 = 0,
|
|
$126 = 0;
|
|
var $127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$131 = 0,
|
|
$132 = 0,
|
|
$133 = 0,
|
|
$134 = 0,
|
|
$135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$138 = 0,
|
|
$139 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$141 = 0,
|
|
$142 = 0,
|
|
$143 = 0,
|
|
$144 = 0;
|
|
var $145 = 0,
|
|
$146 = 0,
|
|
$147 = 0,
|
|
$148 = 0,
|
|
$149 = 0,
|
|
$15 = 0,
|
|
$150 = 0,
|
|
$151 = 0,
|
|
$152 = 0,
|
|
$153 = 0,
|
|
$154 = 0,
|
|
$155 = 0,
|
|
$156 = 0,
|
|
$157 = 0,
|
|
$158 = 0,
|
|
$159 = 0,
|
|
$16 = 0,
|
|
$160 = 0,
|
|
$161 = 0,
|
|
$162 = 0;
|
|
var $163 = 0,
|
|
$164 = 0,
|
|
$165 = 0,
|
|
$166 = 0,
|
|
$167 = 0,
|
|
$168 = 0,
|
|
$169 = 0,
|
|
$17 = 0,
|
|
$170 = 0,
|
|
$171 = 0,
|
|
$172 = 0,
|
|
$173 = 0,
|
|
$174 = 0,
|
|
$175 = 0,
|
|
$176 = 0,
|
|
$177 = 0,
|
|
$178 = 0,
|
|
$179 = 0,
|
|
$18 = 0,
|
|
$180 = 0;
|
|
var $181 = 0,
|
|
$182 = 0,
|
|
$183 = 0,
|
|
$184 = 0,
|
|
$185 = 0,
|
|
$186 = 0,
|
|
$187 = 0,
|
|
$188 = 0,
|
|
$189 = 0,
|
|
$19 = 0,
|
|
$190 = 0,
|
|
$191 = 0,
|
|
$192 = 0,
|
|
$193 = 0,
|
|
$194 = 0,
|
|
$195 = 0,
|
|
$196 = 0,
|
|
$197 = 0,
|
|
$198 = 0,
|
|
$199 = 0;
|
|
var $2 = 0,
|
|
$20 = 0,
|
|
$200 = 0,
|
|
$201 = 0,
|
|
$202 = 0,
|
|
$203 = 0,
|
|
$204 = 0,
|
|
$205 = 0,
|
|
$206 = 0,
|
|
$207 = 0,
|
|
$208 = 0,
|
|
$209 = 0,
|
|
$21 = 0,
|
|
$210 = 0,
|
|
$211 = 0,
|
|
$212 = 0,
|
|
$213 = 0,
|
|
$214 = 0,
|
|
$215 = 0,
|
|
$216 = 0;
|
|
var $217 = 0,
|
|
$218 = 0,
|
|
$219 = 0,
|
|
$22 = 0,
|
|
$220 = 0,
|
|
$221 = 0,
|
|
$222 = 0,
|
|
$223 = 0,
|
|
$224 = 0,
|
|
$225 = 0,
|
|
$226 = 0,
|
|
$227 = 0,
|
|
$228 = 0,
|
|
$229 = 0,
|
|
$23 = 0,
|
|
$230 = 0,
|
|
$231 = 0,
|
|
$232 = 0,
|
|
$233 = 0,
|
|
$234 = 0;
|
|
var $235 = 0,
|
|
$236 = 0,
|
|
$237 = 0,
|
|
$238 = 0,
|
|
$239 = 0,
|
|
$24 = 0,
|
|
$240 = 0,
|
|
$241 = 0,
|
|
$242 = 0,
|
|
$243 = 0,
|
|
$244 = 0,
|
|
$245 = 0,
|
|
$246 = 0,
|
|
$247 = 0,
|
|
$248 = 0,
|
|
$249 = 0,
|
|
$25 = 0,
|
|
$250 = 0,
|
|
$251 = 0,
|
|
$252 = 0;
|
|
var $253 = 0,
|
|
$254 = 0,
|
|
$255 = 0,
|
|
$256 = 0,
|
|
$257 = 0,
|
|
$258 = 0,
|
|
$259 = 0,
|
|
$26 = 0,
|
|
$260 = 0,
|
|
$261 = 0,
|
|
$262 = 0,
|
|
$263 = 0,
|
|
$264 = 0,
|
|
$265 = 0,
|
|
$266 = 0,
|
|
$267 = 0,
|
|
$268 = 0,
|
|
$269 = 0,
|
|
$27 = 0,
|
|
$270 = 0;
|
|
var $271 = 0,
|
|
$272 = 0,
|
|
$273 = 0,
|
|
$274 = 0,
|
|
$275 = 0,
|
|
$276 = 0,
|
|
$277 = 0,
|
|
$278 = 0,
|
|
$279 = 0,
|
|
$28 = 0,
|
|
$280 = 0,
|
|
$281 = 0,
|
|
$282 = 0,
|
|
$283 = 0,
|
|
$284 = 0,
|
|
$285 = 0,
|
|
$286 = 0,
|
|
$287 = 0,
|
|
$288 = 0,
|
|
$289 = 0;
|
|
var $29 = 0,
|
|
$290 = 0,
|
|
$291 = 0,
|
|
$292 = 0,
|
|
$293 = 0,
|
|
$294 = 0,
|
|
$295 = 0,
|
|
$296 = 0,
|
|
$297 = 0,
|
|
$298 = 0,
|
|
$299 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$300 = 0,
|
|
$301 = 0,
|
|
$302 = 0,
|
|
$303 = 0,
|
|
$304 = 0,
|
|
$305 = 0,
|
|
$306 = 0;
|
|
var $307 = 0,
|
|
$308 = 0,
|
|
$309 = 0,
|
|
$31 = 0,
|
|
$310 = 0,
|
|
$311 = 0,
|
|
$312 = 0,
|
|
$313 = 0,
|
|
$314 = 0,
|
|
$315 = 0,
|
|
$316 = 0,
|
|
$317 = 0,
|
|
$318 = 0,
|
|
$319 = 0,
|
|
$32 = 0,
|
|
$320 = 0,
|
|
$321 = 0,
|
|
$322 = 0,
|
|
$323 = 0,
|
|
$324 = 0;
|
|
var $325 = 0,
|
|
$326 = 0,
|
|
$327 = 0,
|
|
$328 = 0,
|
|
$329 = 0,
|
|
$33 = 0,
|
|
$330 = 0,
|
|
$331 = 0,
|
|
$332 = 0,
|
|
$333 = 0,
|
|
$334 = 0,
|
|
$335 = 0,
|
|
$336 = 0,
|
|
$337 = 0,
|
|
$338 = 0,
|
|
$339 = 0,
|
|
$34 = 0,
|
|
$340 = 0,
|
|
$341 = 0,
|
|
$342 = 0;
|
|
var $343 = 0,
|
|
$344 = 0,
|
|
$345 = 0,
|
|
$346 = 0,
|
|
$347 = 0,
|
|
$348 = 0,
|
|
$349 = 0,
|
|
$35 = 0,
|
|
$350 = 0,
|
|
$351 = 0,
|
|
$352 = 0,
|
|
$353 = 0,
|
|
$354 = 0,
|
|
$355 = 0,
|
|
$356 = 0,
|
|
$357 = 0,
|
|
$358 = 0,
|
|
$359 = 0,
|
|
$36 = 0,
|
|
$360 = 0;
|
|
var $361 = 0,
|
|
$362 = 0,
|
|
$363 = 0,
|
|
$364 = 0,
|
|
$365 = 0,
|
|
$366 = 0,
|
|
$367 = 0,
|
|
$368 = 0,
|
|
$369 = 0,
|
|
$37 = 0,
|
|
$370 = 0,
|
|
$371 = 0,
|
|
$372 = 0,
|
|
$373 = 0,
|
|
$374 = 0,
|
|
$375 = 0,
|
|
$376 = 0,
|
|
$377 = 0,
|
|
$378 = 0,
|
|
$379 = 0;
|
|
var $38 = 0,
|
|
$380 = 0,
|
|
$381 = 0,
|
|
$382 = 0,
|
|
$383 = 0,
|
|
$384 = 0,
|
|
$385 = 0,
|
|
$386 = 0,
|
|
$387 = 0,
|
|
$388 = 0,
|
|
$389 = 0,
|
|
$39 = 0,
|
|
$390 = 0,
|
|
$391 = 0,
|
|
$392 = 0,
|
|
$393 = 0,
|
|
$394 = 0,
|
|
$395 = 0,
|
|
$396 = 0,
|
|
$397 = 0;
|
|
var $398 = 0,
|
|
$399 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$400 = 0,
|
|
$401 = 0,
|
|
$402 = 0,
|
|
$403 = 0,
|
|
$404 = 0,
|
|
$405 = 0,
|
|
$406 = 0,
|
|
$407 = 0,
|
|
$408 = 0,
|
|
$409 = 0,
|
|
$41 = 0,
|
|
$410 = 0,
|
|
$411 = 0,
|
|
$412 = 0,
|
|
$413 = 0,
|
|
$414 = 0;
|
|
var $415 = 0,
|
|
$416 = 0,
|
|
$417 = 0,
|
|
$418 = 0,
|
|
$419 = 0,
|
|
$42 = 0,
|
|
$420 = 0,
|
|
$421 = 0,
|
|
$422 = 0,
|
|
$423 = 0,
|
|
$424 = 0,
|
|
$425 = 0,
|
|
$426 = 0,
|
|
$427 = 0,
|
|
$428 = 0,
|
|
$429 = 0,
|
|
$43 = 0,
|
|
$430 = 0,
|
|
$431 = 0,
|
|
$432 = 0;
|
|
var $433 = 0,
|
|
$434 = 0,
|
|
$435 = 0,
|
|
$436 = 0,
|
|
$437 = 0,
|
|
$438 = 0,
|
|
$439 = 0,
|
|
$44 = 0,
|
|
$440 = 0,
|
|
$441 = 0,
|
|
$442 = 0,
|
|
$443 = 0,
|
|
$444 = 0,
|
|
$445 = 0,
|
|
$446 = 0,
|
|
$447 = 0,
|
|
$448 = 0,
|
|
$449 = 0,
|
|
$45 = 0,
|
|
$450 = 0;
|
|
var $451 = 0,
|
|
$452 = 0,
|
|
$453 = 0,
|
|
$454 = 0,
|
|
$455 = 0,
|
|
$456 = 0,
|
|
$457 = 0,
|
|
$458 = 0,
|
|
$459 = 0,
|
|
$46 = 0,
|
|
$460 = 0,
|
|
$461 = 0,
|
|
$462 = 0,
|
|
$463 = 0,
|
|
$464 = 0,
|
|
$465 = 0,
|
|
$466 = 0,
|
|
$467 = 0,
|
|
$468 = 0,
|
|
$469 = 0;
|
|
var $47 = 0,
|
|
$470 = 0,
|
|
$471 = 0,
|
|
$472 = 0,
|
|
$473 = 0,
|
|
$474 = 0,
|
|
$475 = 0,
|
|
$476 = 0,
|
|
$477 = 0,
|
|
$478 = 0,
|
|
$479 = 0,
|
|
$48 = 0,
|
|
$480 = 0,
|
|
$481 = 0,
|
|
$482 = 0,
|
|
$483 = 0,
|
|
$484 = 0,
|
|
$485 = 0,
|
|
$486 = 0,
|
|
$487 = 0;
|
|
var $488 = 0,
|
|
$489 = 0,
|
|
$49 = 0,
|
|
$490 = 0,
|
|
$491 = 0,
|
|
$492 = 0,
|
|
$493 = 0,
|
|
$494 = 0,
|
|
$495 = 0,
|
|
$496 = 0,
|
|
$497 = 0,
|
|
$498 = 0,
|
|
$499 = 0,
|
|
$5 = 0,
|
|
$50 = 0,
|
|
$500 = 0,
|
|
$501 = 0,
|
|
$502 = 0,
|
|
$503 = 0,
|
|
$504 = 0;
|
|
var $505 = 0,
|
|
$506 = 0,
|
|
$507 = 0,
|
|
$508 = 0,
|
|
$509 = 0,
|
|
$51 = 0,
|
|
$510 = 0,
|
|
$511 = 0,
|
|
$512 = 0,
|
|
$513 = 0,
|
|
$514 = 0,
|
|
$515 = 0,
|
|
$516 = 0,
|
|
$517 = 0,
|
|
$518 = 0,
|
|
$519 = 0,
|
|
$52 = 0,
|
|
$520 = 0,
|
|
$521 = 0,
|
|
$522 = 0;
|
|
var $523 = 0,
|
|
$524 = 0,
|
|
$525 = 0,
|
|
$526 = 0,
|
|
$527 = 0,
|
|
$528 = 0,
|
|
$529 = 0,
|
|
$53 = 0,
|
|
$530 = 0,
|
|
$531 = 0,
|
|
$532 = 0,
|
|
$533 = 0,
|
|
$534 = 0,
|
|
$535 = 0,
|
|
$536 = 0,
|
|
$537 = 0,
|
|
$538 = 0,
|
|
$539 = 0,
|
|
$54 = 0,
|
|
$540 = 0;
|
|
var $541 = 0,
|
|
$542 = 0,
|
|
$543 = 0,
|
|
$544 = 0,
|
|
$545 = 0,
|
|
$546 = 0,
|
|
$547 = 0,
|
|
$548 = 0,
|
|
$549 = 0,
|
|
$55 = 0,
|
|
$550 = 0,
|
|
$551 = 0,
|
|
$552 = 0,
|
|
$553 = 0,
|
|
$554 = 0,
|
|
$555 = 0,
|
|
$556 = 0,
|
|
$557 = 0,
|
|
$558 = 0,
|
|
$559 = 0;
|
|
var $56 = 0,
|
|
$560 = 0,
|
|
$561 = 0,
|
|
$562 = 0,
|
|
$563 = 0,
|
|
$564 = 0,
|
|
$565 = 0,
|
|
$566 = 0,
|
|
$567 = 0,
|
|
$568 = 0,
|
|
$569 = 0,
|
|
$57 = 0,
|
|
$570 = 0,
|
|
$571 = 0,
|
|
$572 = 0,
|
|
$573 = 0,
|
|
$574 = 0,
|
|
$575 = 0,
|
|
$576 = 0,
|
|
$577 = 0;
|
|
var $578 = 0,
|
|
$579 = 0,
|
|
$58 = 0,
|
|
$580 = 0,
|
|
$581 = 0,
|
|
$582 = 0,
|
|
$583 = 0,
|
|
$584 = 0,
|
|
$585 = 0,
|
|
$586 = 0,
|
|
$587 = 0,
|
|
$588 = 0,
|
|
$589 = 0,
|
|
$59 = 0,
|
|
$590 = 0,
|
|
$591 = 0,
|
|
$592 = 0,
|
|
$593 = 0,
|
|
$594 = 0,
|
|
$595 = 0;
|
|
var $596 = 0,
|
|
$597 = 0,
|
|
$598 = 0,
|
|
$599 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$600 = 0,
|
|
$601 = 0,
|
|
$602 = 0,
|
|
$603 = 0,
|
|
$604 = 0,
|
|
$605 = 0,
|
|
$606 = 0,
|
|
$607 = 0,
|
|
$608 = 0,
|
|
$609 = 0,
|
|
$61 = 0,
|
|
$610 = 0,
|
|
$611 = 0,
|
|
$612 = 0;
|
|
var $613 = 0,
|
|
$614 = 0,
|
|
$615 = 0,
|
|
$616 = 0,
|
|
$617 = 0,
|
|
$618 = 0,
|
|
$619 = 0,
|
|
$62 = 0,
|
|
$620 = 0,
|
|
$621 = 0,
|
|
$622 = 0,
|
|
$623 = 0,
|
|
$624 = 0,
|
|
$625 = 0,
|
|
$626 = 0,
|
|
$627 = 0,
|
|
$628 = 0,
|
|
$629 = 0,
|
|
$63 = 0,
|
|
$630 = 0;
|
|
var $631 = 0,
|
|
$632 = 0,
|
|
$633 = 0,
|
|
$634 = 0,
|
|
$635 = 0,
|
|
$636 = 0,
|
|
$637 = 0,
|
|
$638 = 0,
|
|
$639 = 0,
|
|
$64 = 0,
|
|
$640 = 0,
|
|
$641 = 0,
|
|
$642 = 0,
|
|
$643 = 0,
|
|
$644 = 0,
|
|
$645 = 0,
|
|
$646 = 0,
|
|
$647 = 0,
|
|
$648 = 0,
|
|
$649 = 0;
|
|
var $65 = 0,
|
|
$650 = 0,
|
|
$651 = 0,
|
|
$652 = 0,
|
|
$653 = 0,
|
|
$654 = 0,
|
|
$655 = 0,
|
|
$656 = 0,
|
|
$657 = 0,
|
|
$658 = 0,
|
|
$659 = 0,
|
|
$66 = 0,
|
|
$660 = 0,
|
|
$661 = 0,
|
|
$662 = 0,
|
|
$663 = 0,
|
|
$664 = 0,
|
|
$665 = 0,
|
|
$666 = 0,
|
|
$667 = 0;
|
|
var $668 = 0,
|
|
$669 = 0,
|
|
$67 = 0,
|
|
$670 = 0,
|
|
$671 = 0,
|
|
$672 = 0,
|
|
$673 = 0,
|
|
$674 = 0,
|
|
$675 = 0,
|
|
$676 = 0,
|
|
$677 = 0,
|
|
$678 = 0,
|
|
$679 = 0,
|
|
$68 = 0,
|
|
$680 = 0,
|
|
$681 = 0,
|
|
$682 = 0,
|
|
$683 = 0,
|
|
$684 = 0,
|
|
$685 = 0;
|
|
var $686 = 0,
|
|
$687 = 0,
|
|
$688 = 0,
|
|
$689 = 0,
|
|
$69 = 0,
|
|
$690 = 0,
|
|
$691 = 0,
|
|
$692 = 0,
|
|
$693 = 0,
|
|
$694 = 0,
|
|
$695 = 0,
|
|
$696 = 0,
|
|
$697 = 0,
|
|
$698 = 0,
|
|
$699 = 0,
|
|
$7 = 0,
|
|
$70 = 0,
|
|
$700 = 0,
|
|
$701 = 0,
|
|
$702 = 0;
|
|
var $703 = 0,
|
|
$704 = 0,
|
|
$705 = 0,
|
|
$706 = 0,
|
|
$707 = 0,
|
|
$708 = 0,
|
|
$709 = 0,
|
|
$71 = 0,
|
|
$710 = 0,
|
|
$711 = 0,
|
|
$712 = 0,
|
|
$713 = 0,
|
|
$714 = 0,
|
|
$715 = 0,
|
|
$716 = 0,
|
|
$717 = 0,
|
|
$718 = 0,
|
|
$719 = 0,
|
|
$72 = 0,
|
|
$720 = 0;
|
|
var $721 = 0,
|
|
$722 = 0,
|
|
$723 = 0,
|
|
$724 = 0,
|
|
$725 = 0,
|
|
$726 = 0,
|
|
$727 = 0,
|
|
$728 = 0,
|
|
$729 = 0,
|
|
$73 = 0,
|
|
$730 = 0,
|
|
$731 = 0,
|
|
$732 = 0,
|
|
$733 = 0,
|
|
$734 = 0,
|
|
$735 = 0,
|
|
$736 = 0,
|
|
$737 = 0,
|
|
$738 = 0,
|
|
$739 = 0;
|
|
var $74 = 0,
|
|
$740 = 0,
|
|
$741 = 0,
|
|
$742 = 0,
|
|
$743 = 0,
|
|
$744 = 0,
|
|
$745 = 0,
|
|
$746 = 0,
|
|
$747 = 0,
|
|
$748 = 0,
|
|
$749 = 0,
|
|
$75 = 0,
|
|
$750 = 0,
|
|
$751 = 0,
|
|
$752 = 0,
|
|
$753 = 0,
|
|
$754 = 0,
|
|
$755 = 0,
|
|
$756 = 0,
|
|
$757 = 0;
|
|
var $758 = 0,
|
|
$759 = 0,
|
|
$76 = 0,
|
|
$760 = 0,
|
|
$761 = 0,
|
|
$762 = 0,
|
|
$763 = 0,
|
|
$764 = 0,
|
|
$765 = 0,
|
|
$766 = 0,
|
|
$767 = 0,
|
|
$768 = 0,
|
|
$769 = 0,
|
|
$77 = 0,
|
|
$770 = 0,
|
|
$771 = 0,
|
|
$772 = 0,
|
|
$773 = 0,
|
|
$774 = 0,
|
|
$775 = 0;
|
|
var $776 = 0,
|
|
$777 = 0,
|
|
$778 = 0,
|
|
$779 = 0,
|
|
$78 = 0,
|
|
$780 = 0,
|
|
$781 = 0,
|
|
$782 = 0,
|
|
$783 = 0,
|
|
$784 = 0,
|
|
$785 = 0,
|
|
$786 = 0,
|
|
$787 = 0,
|
|
$788 = 0,
|
|
$789 = 0,
|
|
$79 = 0,
|
|
$790 = 0,
|
|
$791 = 0,
|
|
$792 = 0,
|
|
$793 = 0;
|
|
var $794 = 0,
|
|
$795 = 0,
|
|
$796 = 0,
|
|
$797 = 0,
|
|
$798 = 0,
|
|
$799 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$800 = 0,
|
|
$801 = 0,
|
|
$802 = 0,
|
|
$803 = 0,
|
|
$804 = 0,
|
|
$805 = 0,
|
|
$806 = 0,
|
|
$807 = 0,
|
|
$808 = 0,
|
|
$809 = 0,
|
|
$81 = 0,
|
|
$810 = 0;
|
|
var $811 = 0,
|
|
$812 = 0,
|
|
$813 = 0,
|
|
$814 = 0,
|
|
$815 = 0,
|
|
$816 = 0,
|
|
$817 = 0,
|
|
$818 = 0,
|
|
$819 = 0,
|
|
$82 = 0,
|
|
$820 = 0,
|
|
$821 = 0,
|
|
$822 = 0,
|
|
$823 = 0,
|
|
$824 = 0,
|
|
$825 = 0,
|
|
$826 = 0,
|
|
$827 = 0,
|
|
$828 = 0,
|
|
$829 = 0;
|
|
var $83 = 0,
|
|
$830 = 0,
|
|
$831 = 0,
|
|
$832 = 0,
|
|
$833 = 0,
|
|
$834 = 0,
|
|
$835 = 0,
|
|
$836 = 0,
|
|
$837 = 0,
|
|
$838 = 0,
|
|
$839 = 0,
|
|
$84 = 0,
|
|
$840 = 0,
|
|
$841 = 0,
|
|
$842 = 0,
|
|
$843 = 0,
|
|
$844 = 0,
|
|
$845 = 0,
|
|
$846 = 0,
|
|
$847 = 0;
|
|
var $848 = 0,
|
|
$849 = 0,
|
|
$85 = 0,
|
|
$850 = 0,
|
|
$851 = 0,
|
|
$852 = 0,
|
|
$853 = 0,
|
|
$854 = 0,
|
|
$855 = 0,
|
|
$856 = 0,
|
|
$857 = 0,
|
|
$858 = 0,
|
|
$859 = 0,
|
|
$86 = 0,
|
|
$860 = 0,
|
|
$861 = 0,
|
|
$862 = 0,
|
|
$863 = 0,
|
|
$864 = 0,
|
|
$865 = 0;
|
|
var $866 = 0,
|
|
$867 = 0,
|
|
$868 = 0,
|
|
$869 = 0,
|
|
$87 = 0,
|
|
$870 = 0,
|
|
$871 = 0,
|
|
$872 = 0,
|
|
$873 = 0,
|
|
$874 = 0,
|
|
$875 = 0,
|
|
$876 = 0,
|
|
$877 = 0,
|
|
$878 = 0,
|
|
$879 = 0,
|
|
$88 = 0,
|
|
$880 = 0,
|
|
$881 = 0,
|
|
$882 = 0,
|
|
$883 = 0;
|
|
var $884 = 0,
|
|
$885 = 0,
|
|
$886 = 0,
|
|
$887 = 0,
|
|
$888 = 0,
|
|
$889 = 0,
|
|
$89 = 0,
|
|
$890 = 0,
|
|
$891 = 0,
|
|
$892 = 0,
|
|
$893 = 0,
|
|
$894 = 0,
|
|
$895 = 0,
|
|
$896 = 0,
|
|
$897 = 0,
|
|
$898 = 0,
|
|
$899 = 0,
|
|
$9 = 0,
|
|
$90 = 0,
|
|
$900 = 0;
|
|
var $901 = 0,
|
|
$902 = 0,
|
|
$903 = 0,
|
|
$904 = 0,
|
|
$905 = 0,
|
|
$906 = 0,
|
|
$907 = 0,
|
|
$908 = 0,
|
|
$909 = 0,
|
|
$91 = 0,
|
|
$910 = 0,
|
|
$911 = 0,
|
|
$912 = 0,
|
|
$913 = 0,
|
|
$914 = 0,
|
|
$915 = 0,
|
|
$916 = 0,
|
|
$917 = 0,
|
|
$918 = 0,
|
|
$919 = 0;
|
|
var $92 = 0,
|
|
$920 = 0,
|
|
$921 = 0,
|
|
$922 = 0,
|
|
$923 = 0,
|
|
$924 = 0,
|
|
$925 = 0,
|
|
$926 = 0,
|
|
$927 = 0,
|
|
$928 = 0,
|
|
$929 = 0,
|
|
$93 = 0,
|
|
$930 = 0,
|
|
$931 = 0,
|
|
$932 = 0,
|
|
$933 = 0,
|
|
$934 = 0,
|
|
$935 = 0,
|
|
$936 = 0,
|
|
$937 = 0;
|
|
var $938 = 0,
|
|
$939 = 0,
|
|
$94 = 0,
|
|
$940 = 0,
|
|
$941 = 0,
|
|
$942 = 0,
|
|
$943 = 0,
|
|
$944 = 0,
|
|
$945 = 0,
|
|
$946 = 0,
|
|
$947 = 0,
|
|
$948 = 0,
|
|
$949 = 0,
|
|
$95 = 0,
|
|
$950 = 0,
|
|
$951 = 0,
|
|
$952 = 0,
|
|
$953 = 0,
|
|
$954 = 0,
|
|
$955 = 0;
|
|
var $956 = 0,
|
|
$957 = 0,
|
|
$958 = 0,
|
|
$959 = 0,
|
|
$96 = 0,
|
|
$960 = 0,
|
|
$961 = 0,
|
|
$962 = 0,
|
|
$963 = 0,
|
|
$964 = 0,
|
|
$965 = 0,
|
|
$966 = 0,
|
|
$967 = 0,
|
|
$968 = 0,
|
|
$969 = 0,
|
|
$97 = 0,
|
|
$970 = 0,
|
|
$971 = 0,
|
|
$972 = 0,
|
|
$973 = 0;
|
|
var $974 = 0,
|
|
$975 = 0,
|
|
$976 = 0,
|
|
$977 = 0,
|
|
$978 = 0,
|
|
$979 = 0,
|
|
$98 = 0,
|
|
$980 = 0,
|
|
$981 = 0,
|
|
$982 = 0,
|
|
$983 = 0,
|
|
$984 = 0,
|
|
$985 = 0,
|
|
$986 = 0,
|
|
$987 = 0,
|
|
$988 = 0,
|
|
$989 = 0,
|
|
$99 = 0,
|
|
$990 = 0,
|
|
$991 = 0;
|
|
var $992 = 0,
|
|
$993 = 0,
|
|
$994 = 0,
|
|
$995 = 0,
|
|
$996 = 0,
|
|
$997 = 0,
|
|
$998 = 0,
|
|
$999 = 0,
|
|
$F$0$i$i = 0,
|
|
$F1$0$i = 0,
|
|
$F4$0 = 0,
|
|
$F4$0$i$i = 0,
|
|
$F5$0$i = 0,
|
|
$I1$0$c$i$i = 0,
|
|
$I1$0$i$i = 0,
|
|
$I7$0$i = 0,
|
|
$I7$0$i$i = 0,
|
|
$K12$027$i = 0,
|
|
$K2$015$i$i = 0,
|
|
$K8$053$i$i = 0;
|
|
var $R$0$i = 0,
|
|
$R$0$i$i = 0,
|
|
$R$0$i18 = 0,
|
|
$R$1$i = 0,
|
|
$R$1$i$i = 0,
|
|
$R$1$i20 = 0,
|
|
$RP$0$i = 0,
|
|
$RP$0$i$i = 0,
|
|
$RP$0$i17 = 0,
|
|
$T$0$lcssa$i = 0,
|
|
$T$0$lcssa$i$i = 0,
|
|
$T$0$lcssa$i26$i = 0,
|
|
$T$014$i$i = 0,
|
|
$T$026$i = 0,
|
|
$T$052$i$i = 0,
|
|
$br$0$i = 0,
|
|
$br$030$i = 0,
|
|
$cond$i = 0,
|
|
$cond$i$i = 0,
|
|
$cond$i21 = 0;
|
|
var $exitcond$i$i = 0,
|
|
$i$02$i$i = 0,
|
|
$idx$0$i = 0,
|
|
$mem$0 = 0,
|
|
$nb$0 = 0,
|
|
$oldfirst$0$i$i = 0,
|
|
$or$cond$i = 0,
|
|
$or$cond$i$i = 0,
|
|
$or$cond$i27$i = 0,
|
|
$or$cond$i29 = 0,
|
|
$or$cond1$i = 0,
|
|
$or$cond19$i = 0,
|
|
$or$cond2$i = 0,
|
|
$or$cond24$i = 0,
|
|
$or$cond3$i = 0,
|
|
$or$cond4$i = 0,
|
|
$or$cond47$i = 0,
|
|
$or$cond5$i = 0,
|
|
$or$cond6$i = 0,
|
|
$or$cond8$i = 0;
|
|
var $qsize$0$i$i = 0,
|
|
$rsize$0$i = 0,
|
|
$rsize$0$i15 = 0,
|
|
$rsize$1$i = 0,
|
|
$rsize$2$i = 0,
|
|
$rsize$3$lcssa$i = 0,
|
|
$rsize$331$i = 0,
|
|
$rst$0$i = 0,
|
|
$rst$1$i = 0,
|
|
$sizebits$0$i = 0,
|
|
$sp$0$i$i = 0,
|
|
$sp$0$i$i$i = 0,
|
|
$sp$073$i = 0,
|
|
$sp$166$i = 0,
|
|
$ssize$0$i = 0,
|
|
$ssize$1$i = 0,
|
|
$ssize$129$i = 0,
|
|
$ssize$2$i = 0,
|
|
$t$0$i = 0,
|
|
$t$0$i14 = 0;
|
|
var $t$1$i = 0,
|
|
$t$2$ph$i = 0,
|
|
$t$2$v$3$i = 0,
|
|
$t$230$i = 0,
|
|
$tbase$245$i = 0,
|
|
$tsize$03141$i = 0,
|
|
$tsize$1$i = 0,
|
|
$tsize$244$i = 0,
|
|
$v$0$i = 0,
|
|
$v$0$i16 = 0,
|
|
$v$1$i = 0,
|
|
$v$2$i = 0,
|
|
$v$3$lcssa$i = 0,
|
|
$v$332$i = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = $bytes >>> 0 < 245;
|
|
do {
|
|
if ($0) {
|
|
$1 = $bytes >>> 0 < 11;
|
|
if ($1) {
|
|
$5 = 16;
|
|
} else {
|
|
$2 = ($bytes + 11) | 0;
|
|
$3 = $2 & -8;
|
|
$5 = $3;
|
|
}
|
|
$4 = $5 >>> 3;
|
|
$6 = HEAP32[32544 >> 2] | 0;
|
|
$7 = $6 >>> $4;
|
|
$8 = $7 & 3;
|
|
$9 = ($8 | 0) == 0;
|
|
if (!$9) {
|
|
$10 = $7 & 1;
|
|
$11 = $10 ^ 1;
|
|
$12 = ($11 + $4) | 0;
|
|
$13 = $12 << 1;
|
|
$14 = (((32544 + ($13 << 2)) | 0) + 40) | 0;
|
|
$$sum10 = ($13 + 2) | 0;
|
|
$15 = (((32544 + ($$sum10 << 2)) | 0) + 40) | 0;
|
|
$16 = HEAP32[$15 >> 2] | 0;
|
|
$17 = ($16 + 8) | 0;
|
|
$18 = HEAP32[$17 >> 2] | 0;
|
|
$19 = ($14 | 0) == ($18 | 0);
|
|
do {
|
|
if ($19) {
|
|
$20 = 1 << $12;
|
|
$21 = $20 ^ -1;
|
|
$22 = $6 & $21;
|
|
HEAP32[32544 >> 2] = $22;
|
|
} else {
|
|
$23 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$24 = $18 >>> 0 < $23 >>> 0;
|
|
if ($24) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$25 = ($18 + 12) | 0;
|
|
$26 = HEAP32[$25 >> 2] | 0;
|
|
$27 = ($26 | 0) == ($16 | 0);
|
|
if ($27) {
|
|
HEAP32[$25 >> 2] = $14;
|
|
HEAP32[$15 >> 2] = $18;
|
|
break;
|
|
} else {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
}
|
|
} while (0);
|
|
$28 = $12 << 3;
|
|
$29 = $28 | 3;
|
|
$30 = ($16 + 4) | 0;
|
|
HEAP32[$30 >> 2] = $29;
|
|
$$sum1112 = $28 | 4;
|
|
$31 = ($16 + $$sum1112) | 0;
|
|
$32 = HEAP32[$31 >> 2] | 0;
|
|
$33 = $32 | 1;
|
|
HEAP32[$31 >> 2] = $33;
|
|
$mem$0 = $17;
|
|
STACKTOP = sp;
|
|
return $mem$0 | 0;
|
|
}
|
|
$34 = HEAP32[((32544 + 8) | 0) >> 2] | 0;
|
|
$35 = $5 >>> 0 > $34 >>> 0;
|
|
if ($35) {
|
|
$36 = ($7 | 0) == 0;
|
|
if (!$36) {
|
|
$37 = $7 << $4;
|
|
$38 = 2 << $4;
|
|
$39 = (0 - $38) | 0;
|
|
$40 = $38 | $39;
|
|
$41 = $37 & $40;
|
|
$42 = (0 - $41) | 0;
|
|
$43 = $41 & $42;
|
|
$44 = ($43 + -1) | 0;
|
|
$45 = $44 >>> 12;
|
|
$46 = $45 & 16;
|
|
$47 = $44 >>> $46;
|
|
$48 = $47 >>> 5;
|
|
$49 = $48 & 8;
|
|
$50 = $49 | $46;
|
|
$51 = $47 >>> $49;
|
|
$52 = $51 >>> 2;
|
|
$53 = $52 & 4;
|
|
$54 = $50 | $53;
|
|
$55 = $51 >>> $53;
|
|
$56 = $55 >>> 1;
|
|
$57 = $56 & 2;
|
|
$58 = $54 | $57;
|
|
$59 = $55 >>> $57;
|
|
$60 = $59 >>> 1;
|
|
$61 = $60 & 1;
|
|
$62 = $58 | $61;
|
|
$63 = $59 >>> $61;
|
|
$64 = ($62 + $63) | 0;
|
|
$65 = $64 << 1;
|
|
$66 = (((32544 + ($65 << 2)) | 0) + 40) | 0;
|
|
$$sum4 = ($65 + 2) | 0;
|
|
$67 = (((32544 + ($$sum4 << 2)) | 0) + 40) | 0;
|
|
$68 = HEAP32[$67 >> 2] | 0;
|
|
$69 = ($68 + 8) | 0;
|
|
$70 = HEAP32[$69 >> 2] | 0;
|
|
$71 = ($66 | 0) == ($70 | 0);
|
|
do {
|
|
if ($71) {
|
|
$72 = 1 << $64;
|
|
$73 = $72 ^ -1;
|
|
$74 = $6 & $73;
|
|
HEAP32[32544 >> 2] = $74;
|
|
$88 = $34;
|
|
} else {
|
|
$75 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$76 = $70 >>> 0 < $75 >>> 0;
|
|
if ($76) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$77 = ($70 + 12) | 0;
|
|
$78 = HEAP32[$77 >> 2] | 0;
|
|
$79 = ($78 | 0) == ($68 | 0);
|
|
if ($79) {
|
|
HEAP32[$77 >> 2] = $66;
|
|
HEAP32[$67 >> 2] = $70;
|
|
$$pre = HEAP32[((32544 + 8) | 0) >> 2] | 0;
|
|
$88 = $$pre;
|
|
break;
|
|
} else {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
}
|
|
} while (0);
|
|
$80 = $64 << 3;
|
|
$81 = ($80 - $5) | 0;
|
|
$82 = $5 | 3;
|
|
$83 = ($68 + 4) | 0;
|
|
HEAP32[$83 >> 2] = $82;
|
|
$84 = ($68 + $5) | 0;
|
|
$85 = $81 | 1;
|
|
$$sum56 = $5 | 4;
|
|
$86 = ($68 + $$sum56) | 0;
|
|
HEAP32[$86 >> 2] = $85;
|
|
$87 = ($68 + $80) | 0;
|
|
HEAP32[$87 >> 2] = $81;
|
|
$89 = ($88 | 0) == 0;
|
|
if (!$89) {
|
|
$90 = HEAP32[((32544 + 20) | 0) >> 2] | 0;
|
|
$91 = $88 >>> 3;
|
|
$92 = $91 << 1;
|
|
$93 = (((32544 + ($92 << 2)) | 0) + 40) | 0;
|
|
$94 = HEAP32[32544 >> 2] | 0;
|
|
$95 = 1 << $91;
|
|
$96 = $94 & $95;
|
|
$97 = ($96 | 0) == 0;
|
|
if ($97) {
|
|
$98 = $94 | $95;
|
|
HEAP32[32544 >> 2] = $98;
|
|
$$sum8$pre = ($92 + 2) | 0;
|
|
$$pre105 = (((32544 + ($$sum8$pre << 2)) | 0) + 40) | 0;
|
|
$$pre$phiZ2D = $$pre105;
|
|
$F4$0 = $93;
|
|
} else {
|
|
$$sum9 = ($92 + 2) | 0;
|
|
$99 = (((32544 + ($$sum9 << 2)) | 0) + 40) | 0;
|
|
$100 = HEAP32[$99 >> 2] | 0;
|
|
$101 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$102 = $100 >>> 0 < $101 >>> 0;
|
|
if ($102) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
$$pre$phiZ2D = $99;
|
|
$F4$0 = $100;
|
|
}
|
|
}
|
|
HEAP32[$$pre$phiZ2D >> 2] = $90;
|
|
$103 = ($F4$0 + 12) | 0;
|
|
HEAP32[$103 >> 2] = $90;
|
|
$104 = ($90 + 8) | 0;
|
|
HEAP32[$104 >> 2] = $F4$0;
|
|
$105 = ($90 + 12) | 0;
|
|
HEAP32[$105 >> 2] = $93;
|
|
}
|
|
HEAP32[((32544 + 8) | 0) >> 2] = $81;
|
|
HEAP32[((32544 + 20) | 0) >> 2] = $84;
|
|
$mem$0 = $69;
|
|
STACKTOP = sp;
|
|
return $mem$0 | 0;
|
|
}
|
|
$106 = HEAP32[((32544 + 4) | 0) >> 2] | 0;
|
|
$107 = ($106 | 0) == 0;
|
|
if ($107) {
|
|
$nb$0 = $5;
|
|
} else {
|
|
$108 = (0 - $106) | 0;
|
|
$109 = $106 & $108;
|
|
$110 = ($109 + -1) | 0;
|
|
$111 = $110 >>> 12;
|
|
$112 = $111 & 16;
|
|
$113 = $110 >>> $112;
|
|
$114 = $113 >>> 5;
|
|
$115 = $114 & 8;
|
|
$116 = $115 | $112;
|
|
$117 = $113 >>> $115;
|
|
$118 = $117 >>> 2;
|
|
$119 = $118 & 4;
|
|
$120 = $116 | $119;
|
|
$121 = $117 >>> $119;
|
|
$122 = $121 >>> 1;
|
|
$123 = $122 & 2;
|
|
$124 = $120 | $123;
|
|
$125 = $121 >>> $123;
|
|
$126 = $125 >>> 1;
|
|
$127 = $126 & 1;
|
|
$128 = $124 | $127;
|
|
$129 = $125 >>> $127;
|
|
$130 = ($128 + $129) | 0;
|
|
$131 = (((32544 + ($130 << 2)) | 0) + 304) | 0;
|
|
$132 = HEAP32[$131 >> 2] | 0;
|
|
$133 = ($132 + 4) | 0;
|
|
$134 = HEAP32[$133 >> 2] | 0;
|
|
$135 = $134 & -8;
|
|
$136 = ($135 - $5) | 0;
|
|
$rsize$0$i = $136;
|
|
$t$0$i = $132;
|
|
$v$0$i = $132;
|
|
while (1) {
|
|
$137 = ($t$0$i + 16) | 0;
|
|
$138 = HEAP32[$137 >> 2] | 0;
|
|
$139 = ($138 | 0) == (0 | 0);
|
|
if ($139) {
|
|
$140 = ($t$0$i + 20) | 0;
|
|
$141 = HEAP32[$140 >> 2] | 0;
|
|
$142 = ($141 | 0) == (0 | 0);
|
|
if ($142) {
|
|
break;
|
|
} else {
|
|
$144 = $141;
|
|
}
|
|
} else {
|
|
$144 = $138;
|
|
}
|
|
$143 = ($144 + 4) | 0;
|
|
$145 = HEAP32[$143 >> 2] | 0;
|
|
$146 = $145 & -8;
|
|
$147 = ($146 - $5) | 0;
|
|
$148 = $147 >>> 0 < $rsize$0$i >>> 0;
|
|
$$rsize$0$i = $148 ? $147 : $rsize$0$i;
|
|
$$v$0$i = $148 ? $144 : $v$0$i;
|
|
$rsize$0$i = $$rsize$0$i;
|
|
$t$0$i = $144;
|
|
$v$0$i = $$v$0$i;
|
|
}
|
|
$149 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$150 = $v$0$i >>> 0 < $149 >>> 0;
|
|
if ($150) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$151 = ($v$0$i + $5) | 0;
|
|
$152 = $v$0$i >>> 0 < $151 >>> 0;
|
|
if (!$152) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$153 = ($v$0$i + 24) | 0;
|
|
$154 = HEAP32[$153 >> 2] | 0;
|
|
$155 = ($v$0$i + 12) | 0;
|
|
$156 = HEAP32[$155 >> 2] | 0;
|
|
$157 = ($156 | 0) == ($v$0$i | 0);
|
|
do {
|
|
if ($157) {
|
|
$167 = ($v$0$i + 20) | 0;
|
|
$168 = HEAP32[$167 >> 2] | 0;
|
|
$169 = ($168 | 0) == (0 | 0);
|
|
if ($169) {
|
|
$170 = ($v$0$i + 16) | 0;
|
|
$171 = HEAP32[$170 >> 2] | 0;
|
|
$172 = ($171 | 0) == (0 | 0);
|
|
if ($172) {
|
|
$R$1$i = 0;
|
|
break;
|
|
} else {
|
|
$R$0$i = $171;
|
|
$RP$0$i = $170;
|
|
}
|
|
} else {
|
|
$R$0$i = $168;
|
|
$RP$0$i = $167;
|
|
}
|
|
while (1) {
|
|
$173 = ($R$0$i + 20) | 0;
|
|
$174 = HEAP32[$173 >> 2] | 0;
|
|
$175 = ($174 | 0) == (0 | 0);
|
|
if (!$175) {
|
|
$R$0$i = $174;
|
|
$RP$0$i = $173;
|
|
continue;
|
|
}
|
|
$176 = ($R$0$i + 16) | 0;
|
|
$177 = HEAP32[$176 >> 2] | 0;
|
|
$178 = ($177 | 0) == (0 | 0);
|
|
if ($178) {
|
|
break;
|
|
} else {
|
|
$R$0$i = $177;
|
|
$RP$0$i = $176;
|
|
}
|
|
}
|
|
$179 = $RP$0$i >>> 0 < $149 >>> 0;
|
|
if ($179) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
HEAP32[$RP$0$i >> 2] = 0;
|
|
$R$1$i = $R$0$i;
|
|
break;
|
|
}
|
|
} else {
|
|
$158 = ($v$0$i + 8) | 0;
|
|
$159 = HEAP32[$158 >> 2] | 0;
|
|
$160 = $159 >>> 0 < $149 >>> 0;
|
|
if ($160) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$161 = ($159 + 12) | 0;
|
|
$162 = HEAP32[$161 >> 2] | 0;
|
|
$163 = ($162 | 0) == ($v$0$i | 0);
|
|
if (!$163) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$164 = ($156 + 8) | 0;
|
|
$165 = HEAP32[$164 >> 2] | 0;
|
|
$166 = ($165 | 0) == ($v$0$i | 0);
|
|
if ($166) {
|
|
HEAP32[$161 >> 2] = $156;
|
|
HEAP32[$164 >> 2] = $159;
|
|
$R$1$i = $156;
|
|
break;
|
|
} else {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
}
|
|
} while (0);
|
|
$180 = ($154 | 0) == (0 | 0);
|
|
do {
|
|
if (!$180) {
|
|
$181 = ($v$0$i + 28) | 0;
|
|
$182 = HEAP32[$181 >> 2] | 0;
|
|
$183 = (((32544 + ($182 << 2)) | 0) + 304) | 0;
|
|
$184 = HEAP32[$183 >> 2] | 0;
|
|
$185 = ($v$0$i | 0) == ($184 | 0);
|
|
if ($185) {
|
|
HEAP32[$183 >> 2] = $R$1$i;
|
|
$cond$i = ($R$1$i | 0) == (0 | 0);
|
|
if ($cond$i) {
|
|
$186 = 1 << $182;
|
|
$187 = $186 ^ -1;
|
|
$188 = HEAP32[((32544 + 4) | 0) >> 2] | 0;
|
|
$189 = $188 & $187;
|
|
HEAP32[((32544 + 4) | 0) >> 2] = $189;
|
|
break;
|
|
}
|
|
} else {
|
|
$190 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$191 = $154 >>> 0 < $190 >>> 0;
|
|
if ($191) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$192 = ($154 + 16) | 0;
|
|
$193 = HEAP32[$192 >> 2] | 0;
|
|
$194 = ($193 | 0) == ($v$0$i | 0);
|
|
if ($194) {
|
|
HEAP32[$192 >> 2] = $R$1$i;
|
|
} else {
|
|
$195 = ($154 + 20) | 0;
|
|
HEAP32[$195 >> 2] = $R$1$i;
|
|
}
|
|
$196 = ($R$1$i | 0) == (0 | 0);
|
|
if ($196) {
|
|
break;
|
|
}
|
|
}
|
|
$197 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$198 = $R$1$i >>> 0 < $197 >>> 0;
|
|
if ($198) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$199 = ($R$1$i + 24) | 0;
|
|
HEAP32[$199 >> 2] = $154;
|
|
$200 = ($v$0$i + 16) | 0;
|
|
$201 = HEAP32[$200 >> 2] | 0;
|
|
$202 = ($201 | 0) == (0 | 0);
|
|
do {
|
|
if (!$202) {
|
|
$203 = $201 >>> 0 < $197 >>> 0;
|
|
if ($203) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
$204 = ($R$1$i + 16) | 0;
|
|
HEAP32[$204 >> 2] = $201;
|
|
$205 = ($201 + 24) | 0;
|
|
HEAP32[$205 >> 2] = $R$1$i;
|
|
break;
|
|
}
|
|
}
|
|
} while (0);
|
|
$206 = ($v$0$i + 20) | 0;
|
|
$207 = HEAP32[$206 >> 2] | 0;
|
|
$208 = ($207 | 0) == (0 | 0);
|
|
if (!$208) {
|
|
$209 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$210 = $207 >>> 0 < $209 >>> 0;
|
|
if ($210) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
$211 = ($R$1$i + 20) | 0;
|
|
HEAP32[$211 >> 2] = $207;
|
|
$212 = ($207 + 24) | 0;
|
|
HEAP32[$212 >> 2] = $R$1$i;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
} while (0);
|
|
$213 = $rsize$0$i >>> 0 < 16;
|
|
if ($213) {
|
|
$214 = ($rsize$0$i + $5) | 0;
|
|
$215 = $214 | 3;
|
|
$216 = ($v$0$i + 4) | 0;
|
|
HEAP32[$216 >> 2] = $215;
|
|
$$sum4$i = ($214 + 4) | 0;
|
|
$217 = ($v$0$i + $$sum4$i) | 0;
|
|
$218 = HEAP32[$217 >> 2] | 0;
|
|
$219 = $218 | 1;
|
|
HEAP32[$217 >> 2] = $219;
|
|
} else {
|
|
$220 = $5 | 3;
|
|
$221 = ($v$0$i + 4) | 0;
|
|
HEAP32[$221 >> 2] = $220;
|
|
$222 = $rsize$0$i | 1;
|
|
$$sum$i39 = $5 | 4;
|
|
$223 = ($v$0$i + $$sum$i39) | 0;
|
|
HEAP32[$223 >> 2] = $222;
|
|
$$sum1$i = ($rsize$0$i + $5) | 0;
|
|
$224 = ($v$0$i + $$sum1$i) | 0;
|
|
HEAP32[$224 >> 2] = $rsize$0$i;
|
|
$225 = HEAP32[((32544 + 8) | 0) >> 2] | 0;
|
|
$226 = ($225 | 0) == 0;
|
|
if (!$226) {
|
|
$227 = HEAP32[((32544 + 20) | 0) >> 2] | 0;
|
|
$228 = $225 >>> 3;
|
|
$229 = $228 << 1;
|
|
$230 = (((32544 + ($229 << 2)) | 0) + 40) | 0;
|
|
$231 = HEAP32[32544 >> 2] | 0;
|
|
$232 = 1 << $228;
|
|
$233 = $231 & $232;
|
|
$234 = ($233 | 0) == 0;
|
|
if ($234) {
|
|
$235 = $231 | $232;
|
|
HEAP32[32544 >> 2] = $235;
|
|
$$sum2$pre$i = ($229 + 2) | 0;
|
|
$$pre$i = (((32544 + ($$sum2$pre$i << 2)) | 0) + 40) | 0;
|
|
$$pre$phi$iZ2D = $$pre$i;
|
|
$F1$0$i = $230;
|
|
} else {
|
|
$$sum3$i = ($229 + 2) | 0;
|
|
$236 = (((32544 + ($$sum3$i << 2)) | 0) + 40) | 0;
|
|
$237 = HEAP32[$236 >> 2] | 0;
|
|
$238 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$239 = $237 >>> 0 < $238 >>> 0;
|
|
if ($239) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
$$pre$phi$iZ2D = $236;
|
|
$F1$0$i = $237;
|
|
}
|
|
}
|
|
HEAP32[$$pre$phi$iZ2D >> 2] = $227;
|
|
$240 = ($F1$0$i + 12) | 0;
|
|
HEAP32[$240 >> 2] = $227;
|
|
$241 = ($227 + 8) | 0;
|
|
HEAP32[$241 >> 2] = $F1$0$i;
|
|
$242 = ($227 + 12) | 0;
|
|
HEAP32[$242 >> 2] = $230;
|
|
}
|
|
HEAP32[((32544 + 8) | 0) >> 2] = $rsize$0$i;
|
|
HEAP32[((32544 + 20) | 0) >> 2] = $151;
|
|
}
|
|
$243 = ($v$0$i + 8) | 0;
|
|
$mem$0 = $243;
|
|
STACKTOP = sp;
|
|
return $mem$0 | 0;
|
|
}
|
|
} else {
|
|
$nb$0 = $5;
|
|
}
|
|
} else {
|
|
$244 = $bytes >>> 0 > 4294967231;
|
|
if ($244) {
|
|
$nb$0 = -1;
|
|
} else {
|
|
$245 = ($bytes + 11) | 0;
|
|
$246 = $245 & -8;
|
|
$247 = HEAP32[((32544 + 4) | 0) >> 2] | 0;
|
|
$248 = ($247 | 0) == 0;
|
|
if ($248) {
|
|
$nb$0 = $246;
|
|
} else {
|
|
$249 = (0 - $246) | 0;
|
|
$250 = $245 >>> 8;
|
|
$251 = ($250 | 0) == 0;
|
|
if ($251) {
|
|
$idx$0$i = 0;
|
|
} else {
|
|
$252 = $246 >>> 0 > 16777215;
|
|
if ($252) {
|
|
$idx$0$i = 31;
|
|
} else {
|
|
$253 = ($250 + 1048320) | 0;
|
|
$254 = $253 >>> 16;
|
|
$255 = $254 & 8;
|
|
$256 = $250 << $255;
|
|
$257 = ($256 + 520192) | 0;
|
|
$258 = $257 >>> 16;
|
|
$259 = $258 & 4;
|
|
$260 = $259 | $255;
|
|
$261 = $256 << $259;
|
|
$262 = ($261 + 245760) | 0;
|
|
$263 = $262 >>> 16;
|
|
$264 = $263 & 2;
|
|
$265 = $260 | $264;
|
|
$266 = (14 - $265) | 0;
|
|
$267 = $261 << $264;
|
|
$268 = $267 >>> 15;
|
|
$269 = ($266 + $268) | 0;
|
|
$270 = $269 << 1;
|
|
$271 = ($269 + 7) | 0;
|
|
$272 = $246 >>> $271;
|
|
$273 = $272 & 1;
|
|
$274 = $273 | $270;
|
|
$idx$0$i = $274;
|
|
}
|
|
}
|
|
$275 = (((32544 + ($idx$0$i << 2)) | 0) + 304) | 0;
|
|
$276 = HEAP32[$275 >> 2] | 0;
|
|
$277 = ($276 | 0) == (0 | 0);
|
|
L126: do {
|
|
if ($277) {
|
|
$rsize$2$i = $249;
|
|
$t$1$i = 0;
|
|
$v$2$i = 0;
|
|
} else {
|
|
$278 = ($idx$0$i | 0) == 31;
|
|
if ($278) {
|
|
$282 = 0;
|
|
} else {
|
|
$279 = $idx$0$i >>> 1;
|
|
$280 = (25 - $279) | 0;
|
|
$282 = $280;
|
|
}
|
|
$281 = $246 << $282;
|
|
$rsize$0$i15 = $249;
|
|
$rst$0$i = 0;
|
|
$sizebits$0$i = $281;
|
|
$t$0$i14 = $276;
|
|
$v$0$i16 = 0;
|
|
while (1) {
|
|
$283 = ($t$0$i14 + 4) | 0;
|
|
$284 = HEAP32[$283 >> 2] | 0;
|
|
$285 = $284 & -8;
|
|
$286 = ($285 - $246) | 0;
|
|
$287 = $286 >>> 0 < $rsize$0$i15 >>> 0;
|
|
if ($287) {
|
|
$288 = ($285 | 0) == ($246 | 0);
|
|
if ($288) {
|
|
$rsize$2$i = $286;
|
|
$t$1$i = $t$0$i14;
|
|
$v$2$i = $t$0$i14;
|
|
break L126;
|
|
} else {
|
|
$rsize$1$i = $286;
|
|
$v$1$i = $t$0$i14;
|
|
}
|
|
} else {
|
|
$rsize$1$i = $rsize$0$i15;
|
|
$v$1$i = $v$0$i16;
|
|
}
|
|
$289 = ($t$0$i14 + 20) | 0;
|
|
$290 = HEAP32[$289 >> 2] | 0;
|
|
$291 = $sizebits$0$i >>> 31;
|
|
$292 = ((($t$0$i14 + ($291 << 2)) | 0) + 16) | 0;
|
|
$293 = HEAP32[$292 >> 2] | 0;
|
|
$294 = ($290 | 0) == (0 | 0);
|
|
$295 = ($290 | 0) == ($293 | 0);
|
|
$or$cond19$i = $294 | $295;
|
|
$rst$1$i = $or$cond19$i ? $rst$0$i : $290;
|
|
$296 = ($293 | 0) == (0 | 0);
|
|
$297 = $sizebits$0$i << 1;
|
|
if ($296) {
|
|
$rsize$2$i = $rsize$1$i;
|
|
$t$1$i = $rst$1$i;
|
|
$v$2$i = $v$1$i;
|
|
break;
|
|
} else {
|
|
$rsize$0$i15 = $rsize$1$i;
|
|
$rst$0$i = $rst$1$i;
|
|
$sizebits$0$i = $297;
|
|
$t$0$i14 = $293;
|
|
$v$0$i16 = $v$1$i;
|
|
}
|
|
}
|
|
}
|
|
} while (0);
|
|
$298 = ($t$1$i | 0) == (0 | 0);
|
|
$299 = ($v$2$i | 0) == (0 | 0);
|
|
$or$cond$i = $298 & $299;
|
|
if ($or$cond$i) {
|
|
$300 = 2 << $idx$0$i;
|
|
$301 = (0 - $300) | 0;
|
|
$302 = $300 | $301;
|
|
$303 = $247 & $302;
|
|
$304 = ($303 | 0) == 0;
|
|
if ($304) {
|
|
$nb$0 = $246;
|
|
break;
|
|
}
|
|
$305 = (0 - $303) | 0;
|
|
$306 = $303 & $305;
|
|
$307 = ($306 + -1) | 0;
|
|
$308 = $307 >>> 12;
|
|
$309 = $308 & 16;
|
|
$310 = $307 >>> $309;
|
|
$311 = $310 >>> 5;
|
|
$312 = $311 & 8;
|
|
$313 = $312 | $309;
|
|
$314 = $310 >>> $312;
|
|
$315 = $314 >>> 2;
|
|
$316 = $315 & 4;
|
|
$317 = $313 | $316;
|
|
$318 = $314 >>> $316;
|
|
$319 = $318 >>> 1;
|
|
$320 = $319 & 2;
|
|
$321 = $317 | $320;
|
|
$322 = $318 >>> $320;
|
|
$323 = $322 >>> 1;
|
|
$324 = $323 & 1;
|
|
$325 = $321 | $324;
|
|
$326 = $322 >>> $324;
|
|
$327 = ($325 + $326) | 0;
|
|
$328 = (((32544 + ($327 << 2)) | 0) + 304) | 0;
|
|
$329 = HEAP32[$328 >> 2] | 0;
|
|
$t$2$ph$i = $329;
|
|
} else {
|
|
$t$2$ph$i = $t$1$i;
|
|
}
|
|
$330 = ($t$2$ph$i | 0) == (0 | 0);
|
|
if ($330) {
|
|
$rsize$3$lcssa$i = $rsize$2$i;
|
|
$v$3$lcssa$i = $v$2$i;
|
|
} else {
|
|
$rsize$331$i = $rsize$2$i;
|
|
$t$230$i = $t$2$ph$i;
|
|
$v$332$i = $v$2$i;
|
|
while (1) {
|
|
$331 = ($t$230$i + 4) | 0;
|
|
$332 = HEAP32[$331 >> 2] | 0;
|
|
$333 = $332 & -8;
|
|
$334 = ($333 - $246) | 0;
|
|
$335 = $334 >>> 0 < $rsize$331$i >>> 0;
|
|
$$rsize$3$i = $335 ? $334 : $rsize$331$i;
|
|
$t$2$v$3$i = $335 ? $t$230$i : $v$332$i;
|
|
$336 = ($t$230$i + 16) | 0;
|
|
$337 = HEAP32[$336 >> 2] | 0;
|
|
$338 = ($337 | 0) == (0 | 0);
|
|
if (!$338) {
|
|
$rsize$331$i = $$rsize$3$i;
|
|
$t$230$i = $337;
|
|
$v$332$i = $t$2$v$3$i;
|
|
continue;
|
|
}
|
|
$339 = ($t$230$i + 20) | 0;
|
|
$340 = HEAP32[$339 >> 2] | 0;
|
|
$341 = ($340 | 0) == (0 | 0);
|
|
if ($341) {
|
|
$rsize$3$lcssa$i = $$rsize$3$i;
|
|
$v$3$lcssa$i = $t$2$v$3$i;
|
|
break;
|
|
} else {
|
|
$rsize$331$i = $$rsize$3$i;
|
|
$t$230$i = $340;
|
|
$v$332$i = $t$2$v$3$i;
|
|
}
|
|
}
|
|
}
|
|
$342 = ($v$3$lcssa$i | 0) == (0 | 0);
|
|
if ($342) {
|
|
$nb$0 = $246;
|
|
} else {
|
|
$343 = HEAP32[((32544 + 8) | 0) >> 2] | 0;
|
|
$344 = ($343 - $246) | 0;
|
|
$345 = $rsize$3$lcssa$i >>> 0 < $344 >>> 0;
|
|
if ($345) {
|
|
$346 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$347 = $v$3$lcssa$i >>> 0 < $346 >>> 0;
|
|
if ($347) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$348 = ($v$3$lcssa$i + $246) | 0;
|
|
$349 = $v$3$lcssa$i >>> 0 < $348 >>> 0;
|
|
if (!$349) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$350 = ($v$3$lcssa$i + 24) | 0;
|
|
$351 = HEAP32[$350 >> 2] | 0;
|
|
$352 = ($v$3$lcssa$i + 12) | 0;
|
|
$353 = HEAP32[$352 >> 2] | 0;
|
|
$354 = ($353 | 0) == ($v$3$lcssa$i | 0);
|
|
do {
|
|
if ($354) {
|
|
$364 = ($v$3$lcssa$i + 20) | 0;
|
|
$365 = HEAP32[$364 >> 2] | 0;
|
|
$366 = ($365 | 0) == (0 | 0);
|
|
if ($366) {
|
|
$367 = ($v$3$lcssa$i + 16) | 0;
|
|
$368 = HEAP32[$367 >> 2] | 0;
|
|
$369 = ($368 | 0) == (0 | 0);
|
|
if ($369) {
|
|
$R$1$i20 = 0;
|
|
break;
|
|
} else {
|
|
$R$0$i18 = $368;
|
|
$RP$0$i17 = $367;
|
|
}
|
|
} else {
|
|
$R$0$i18 = $365;
|
|
$RP$0$i17 = $364;
|
|
}
|
|
while (1) {
|
|
$370 = ($R$0$i18 + 20) | 0;
|
|
$371 = HEAP32[$370 >> 2] | 0;
|
|
$372 = ($371 | 0) == (0 | 0);
|
|
if (!$372) {
|
|
$R$0$i18 = $371;
|
|
$RP$0$i17 = $370;
|
|
continue;
|
|
}
|
|
$373 = ($R$0$i18 + 16) | 0;
|
|
$374 = HEAP32[$373 >> 2] | 0;
|
|
$375 = ($374 | 0) == (0 | 0);
|
|
if ($375) {
|
|
break;
|
|
} else {
|
|
$R$0$i18 = $374;
|
|
$RP$0$i17 = $373;
|
|
}
|
|
}
|
|
$376 = $RP$0$i17 >>> 0 < $346 >>> 0;
|
|
if ($376) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
HEAP32[$RP$0$i17 >> 2] = 0;
|
|
$R$1$i20 = $R$0$i18;
|
|
break;
|
|
}
|
|
} else {
|
|
$355 = ($v$3$lcssa$i + 8) | 0;
|
|
$356 = HEAP32[$355 >> 2] | 0;
|
|
$357 = $356 >>> 0 < $346 >>> 0;
|
|
if ($357) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$358 = ($356 + 12) | 0;
|
|
$359 = HEAP32[$358 >> 2] | 0;
|
|
$360 = ($359 | 0) == ($v$3$lcssa$i | 0);
|
|
if (!$360) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$361 = ($353 + 8) | 0;
|
|
$362 = HEAP32[$361 >> 2] | 0;
|
|
$363 = ($362 | 0) == ($v$3$lcssa$i | 0);
|
|
if ($363) {
|
|
HEAP32[$358 >> 2] = $353;
|
|
HEAP32[$361 >> 2] = $356;
|
|
$R$1$i20 = $353;
|
|
break;
|
|
} else {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
}
|
|
} while (0);
|
|
$377 = ($351 | 0) == (0 | 0);
|
|
do {
|
|
if (!$377) {
|
|
$378 = ($v$3$lcssa$i + 28) | 0;
|
|
$379 = HEAP32[$378 >> 2] | 0;
|
|
$380 = (((32544 + ($379 << 2)) | 0) + 304) | 0;
|
|
$381 = HEAP32[$380 >> 2] | 0;
|
|
$382 = ($v$3$lcssa$i | 0) == ($381 | 0);
|
|
if ($382) {
|
|
HEAP32[$380 >> 2] = $R$1$i20;
|
|
$cond$i21 = ($R$1$i20 | 0) == (0 | 0);
|
|
if ($cond$i21) {
|
|
$383 = 1 << $379;
|
|
$384 = $383 ^ -1;
|
|
$385 = HEAP32[((32544 + 4) | 0) >> 2] | 0;
|
|
$386 = $385 & $384;
|
|
HEAP32[((32544 + 4) | 0) >> 2] = $386;
|
|
break;
|
|
}
|
|
} else {
|
|
$387 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$388 = $351 >>> 0 < $387 >>> 0;
|
|
if ($388) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$389 = ($351 + 16) | 0;
|
|
$390 = HEAP32[$389 >> 2] | 0;
|
|
$391 = ($390 | 0) == ($v$3$lcssa$i | 0);
|
|
if ($391) {
|
|
HEAP32[$389 >> 2] = $R$1$i20;
|
|
} else {
|
|
$392 = ($351 + 20) | 0;
|
|
HEAP32[$392 >> 2] = $R$1$i20;
|
|
}
|
|
$393 = ($R$1$i20 | 0) == (0 | 0);
|
|
if ($393) {
|
|
break;
|
|
}
|
|
}
|
|
$394 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$395 = $R$1$i20 >>> 0 < $394 >>> 0;
|
|
if ($395) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$396 = ($R$1$i20 + 24) | 0;
|
|
HEAP32[$396 >> 2] = $351;
|
|
$397 = ($v$3$lcssa$i + 16) | 0;
|
|
$398 = HEAP32[$397 >> 2] | 0;
|
|
$399 = ($398 | 0) == (0 | 0);
|
|
do {
|
|
if (!$399) {
|
|
$400 = $398 >>> 0 < $394 >>> 0;
|
|
if ($400) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
$401 = ($R$1$i20 + 16) | 0;
|
|
HEAP32[$401 >> 2] = $398;
|
|
$402 = ($398 + 24) | 0;
|
|
HEAP32[$402 >> 2] = $R$1$i20;
|
|
break;
|
|
}
|
|
}
|
|
} while (0);
|
|
$403 = ($v$3$lcssa$i + 20) | 0;
|
|
$404 = HEAP32[$403 >> 2] | 0;
|
|
$405 = ($404 | 0) == (0 | 0);
|
|
if (!$405) {
|
|
$406 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$407 = $404 >>> 0 < $406 >>> 0;
|
|
if ($407) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
$408 = ($R$1$i20 + 20) | 0;
|
|
HEAP32[$408 >> 2] = $404;
|
|
$409 = ($404 + 24) | 0;
|
|
HEAP32[$409 >> 2] = $R$1$i20;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
} while (0);
|
|
$410 = $rsize$3$lcssa$i >>> 0 < 16;
|
|
L204: do {
|
|
if ($410) {
|
|
$411 = ($rsize$3$lcssa$i + $246) | 0;
|
|
$412 = $411 | 3;
|
|
$413 = ($v$3$lcssa$i + 4) | 0;
|
|
HEAP32[$413 >> 2] = $412;
|
|
$$sum18$i = ($411 + 4) | 0;
|
|
$414 = ($v$3$lcssa$i + $$sum18$i) | 0;
|
|
$415 = HEAP32[$414 >> 2] | 0;
|
|
$416 = $415 | 1;
|
|
HEAP32[$414 >> 2] = $416;
|
|
} else {
|
|
$417 = $246 | 3;
|
|
$418 = ($v$3$lcssa$i + 4) | 0;
|
|
HEAP32[$418 >> 2] = $417;
|
|
$419 = $rsize$3$lcssa$i | 1;
|
|
$$sum$i2338 = $246 | 4;
|
|
$420 = ($v$3$lcssa$i + $$sum$i2338) | 0;
|
|
HEAP32[$420 >> 2] = $419;
|
|
$$sum1$i24 = ($rsize$3$lcssa$i + $246) | 0;
|
|
$421 = ($v$3$lcssa$i + $$sum1$i24) | 0;
|
|
HEAP32[$421 >> 2] = $rsize$3$lcssa$i;
|
|
$422 = $rsize$3$lcssa$i >>> 3;
|
|
$423 = $rsize$3$lcssa$i >>> 0 < 256;
|
|
if ($423) {
|
|
$424 = $422 << 1;
|
|
$425 = (((32544 + ($424 << 2)) | 0) + 40) | 0;
|
|
$426 = HEAP32[32544 >> 2] | 0;
|
|
$427 = 1 << $422;
|
|
$428 = $426 & $427;
|
|
$429 = ($428 | 0) == 0;
|
|
do {
|
|
if ($429) {
|
|
$430 = $426 | $427;
|
|
HEAP32[32544 >> 2] = $430;
|
|
$$sum14$pre$i = ($424 + 2) | 0;
|
|
$$pre$i25 =
|
|
(((32544 + ($$sum14$pre$i << 2)) | 0) + 40) | 0;
|
|
$$pre$phi$i26Z2D = $$pre$i25;
|
|
$F5$0$i = $425;
|
|
} else {
|
|
$$sum17$i = ($424 + 2) | 0;
|
|
$431 = (((32544 + ($$sum17$i << 2)) | 0) + 40) | 0;
|
|
$432 = HEAP32[$431 >> 2] | 0;
|
|
$433 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$434 = $432 >>> 0 < $433 >>> 0;
|
|
if (!$434) {
|
|
$$pre$phi$i26Z2D = $431;
|
|
$F5$0$i = $432;
|
|
break;
|
|
}
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
} while (0);
|
|
HEAP32[$$pre$phi$i26Z2D >> 2] = $348;
|
|
$435 = ($F5$0$i + 12) | 0;
|
|
HEAP32[$435 >> 2] = $348;
|
|
$$sum15$i = ($246 + 8) | 0;
|
|
$436 = ($v$3$lcssa$i + $$sum15$i) | 0;
|
|
HEAP32[$436 >> 2] = $F5$0$i;
|
|
$$sum16$i = ($246 + 12) | 0;
|
|
$437 = ($v$3$lcssa$i + $$sum16$i) | 0;
|
|
HEAP32[$437 >> 2] = $425;
|
|
break;
|
|
}
|
|
$438 = $rsize$3$lcssa$i >>> 8;
|
|
$439 = ($438 | 0) == 0;
|
|
if ($439) {
|
|
$I7$0$i = 0;
|
|
} else {
|
|
$440 = $rsize$3$lcssa$i >>> 0 > 16777215;
|
|
if ($440) {
|
|
$I7$0$i = 31;
|
|
} else {
|
|
$441 = ($438 + 1048320) | 0;
|
|
$442 = $441 >>> 16;
|
|
$443 = $442 & 8;
|
|
$444 = $438 << $443;
|
|
$445 = ($444 + 520192) | 0;
|
|
$446 = $445 >>> 16;
|
|
$447 = $446 & 4;
|
|
$448 = $447 | $443;
|
|
$449 = $444 << $447;
|
|
$450 = ($449 + 245760) | 0;
|
|
$451 = $450 >>> 16;
|
|
$452 = $451 & 2;
|
|
$453 = $448 | $452;
|
|
$454 = (14 - $453) | 0;
|
|
$455 = $449 << $452;
|
|
$456 = $455 >>> 15;
|
|
$457 = ($454 + $456) | 0;
|
|
$458 = $457 << 1;
|
|
$459 = ($457 + 7) | 0;
|
|
$460 = $rsize$3$lcssa$i >>> $459;
|
|
$461 = $460 & 1;
|
|
$462 = $461 | $458;
|
|
$I7$0$i = $462;
|
|
}
|
|
}
|
|
$463 = (((32544 + ($I7$0$i << 2)) | 0) + 304) | 0;
|
|
$$sum2$i = ($246 + 28) | 0;
|
|
$464 = ($v$3$lcssa$i + $$sum2$i) | 0;
|
|
HEAP32[$464 >> 2] = $I7$0$i;
|
|
$$sum3$i27 = ($246 + 16) | 0;
|
|
$465 = ($v$3$lcssa$i + $$sum3$i27) | 0;
|
|
$$sum4$i28 = ($246 + 20) | 0;
|
|
$466 = ($v$3$lcssa$i + $$sum4$i28) | 0;
|
|
HEAP32[$466 >> 2] = 0;
|
|
HEAP32[$465 >> 2] = 0;
|
|
$467 = HEAP32[((32544 + 4) | 0) >> 2] | 0;
|
|
$468 = 1 << $I7$0$i;
|
|
$469 = $467 & $468;
|
|
$470 = ($469 | 0) == 0;
|
|
if ($470) {
|
|
$471 = $467 | $468;
|
|
HEAP32[((32544 + 4) | 0) >> 2] = $471;
|
|
HEAP32[$463 >> 2] = $348;
|
|
$$sum5$i = ($246 + 24) | 0;
|
|
$472 = ($v$3$lcssa$i + $$sum5$i) | 0;
|
|
HEAP32[$472 >> 2] = $463;
|
|
$$sum6$i = ($246 + 12) | 0;
|
|
$473 = ($v$3$lcssa$i + $$sum6$i) | 0;
|
|
HEAP32[$473 >> 2] = $348;
|
|
$$sum7$i = ($246 + 8) | 0;
|
|
$474 = ($v$3$lcssa$i + $$sum7$i) | 0;
|
|
HEAP32[$474 >> 2] = $348;
|
|
break;
|
|
}
|
|
$475 = HEAP32[$463 >> 2] | 0;
|
|
$476 = ($I7$0$i | 0) == 31;
|
|
if ($476) {
|
|
$484 = 0;
|
|
} else {
|
|
$477 = $I7$0$i >>> 1;
|
|
$478 = (25 - $477) | 0;
|
|
$484 = $478;
|
|
}
|
|
$479 = ($475 + 4) | 0;
|
|
$480 = HEAP32[$479 >> 2] | 0;
|
|
$481 = $480 & -8;
|
|
$482 = ($481 | 0) == ($rsize$3$lcssa$i | 0);
|
|
L225: do {
|
|
if ($482) {
|
|
$T$0$lcssa$i = $475;
|
|
} else {
|
|
$483 = $rsize$3$lcssa$i << $484;
|
|
$K12$027$i = $483;
|
|
$T$026$i = $475;
|
|
while (1) {
|
|
$491 = $K12$027$i >>> 31;
|
|
$492 = ((($T$026$i + ($491 << 2)) | 0) + 16) | 0;
|
|
$487 = HEAP32[$492 >> 2] | 0;
|
|
$493 = ($487 | 0) == (0 | 0);
|
|
if ($493) {
|
|
break;
|
|
}
|
|
$485 = $K12$027$i << 1;
|
|
$486 = ($487 + 4) | 0;
|
|
$488 = HEAP32[$486 >> 2] | 0;
|
|
$489 = $488 & -8;
|
|
$490 = ($489 | 0) == ($rsize$3$lcssa$i | 0);
|
|
if ($490) {
|
|
$T$0$lcssa$i = $487;
|
|
break L225;
|
|
} else {
|
|
$K12$027$i = $485;
|
|
$T$026$i = $487;
|
|
}
|
|
}
|
|
$494 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$495 = $492 >>> 0 < $494 >>> 0;
|
|
if ($495) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
HEAP32[$492 >> 2] = $348;
|
|
$$sum11$i = ($246 + 24) | 0;
|
|
$496 = ($v$3$lcssa$i + $$sum11$i) | 0;
|
|
HEAP32[$496 >> 2] = $T$026$i;
|
|
$$sum12$i = ($246 + 12) | 0;
|
|
$497 = ($v$3$lcssa$i + $$sum12$i) | 0;
|
|
HEAP32[$497 >> 2] = $348;
|
|
$$sum13$i = ($246 + 8) | 0;
|
|
$498 = ($v$3$lcssa$i + $$sum13$i) | 0;
|
|
HEAP32[$498 >> 2] = $348;
|
|
break L204;
|
|
}
|
|
}
|
|
} while (0);
|
|
$499 = ($T$0$lcssa$i + 8) | 0;
|
|
$500 = HEAP32[$499 >> 2] | 0;
|
|
$501 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$502 = $T$0$lcssa$i >>> 0 >= $501 >>> 0;
|
|
$503 = $500 >>> 0 >= $501 >>> 0;
|
|
$or$cond24$i = $502 & $503;
|
|
if ($or$cond24$i) {
|
|
$504 = ($500 + 12) | 0;
|
|
HEAP32[$504 >> 2] = $348;
|
|
HEAP32[$499 >> 2] = $348;
|
|
$$sum8$i = ($246 + 8) | 0;
|
|
$505 = ($v$3$lcssa$i + $$sum8$i) | 0;
|
|
HEAP32[$505 >> 2] = $500;
|
|
$$sum9$i = ($246 + 12) | 0;
|
|
$506 = ($v$3$lcssa$i + $$sum9$i) | 0;
|
|
HEAP32[$506 >> 2] = $T$0$lcssa$i;
|
|
$$sum10$i = ($246 + 24) | 0;
|
|
$507 = ($v$3$lcssa$i + $$sum10$i) | 0;
|
|
HEAP32[$507 >> 2] = 0;
|
|
break;
|
|
} else {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
}
|
|
} while (0);
|
|
$508 = ($v$3$lcssa$i + 8) | 0;
|
|
$mem$0 = $508;
|
|
STACKTOP = sp;
|
|
return $mem$0 | 0;
|
|
} else {
|
|
$nb$0 = $246;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} while (0);
|
|
$509 = HEAP32[((32544 + 8) | 0) >> 2] | 0;
|
|
$510 = $509 >>> 0 < $nb$0 >>> 0;
|
|
if (!$510) {
|
|
$511 = ($509 - $nb$0) | 0;
|
|
$512 = HEAP32[((32544 + 20) | 0) >> 2] | 0;
|
|
$513 = $511 >>> 0 > 15;
|
|
if ($513) {
|
|
$514 = ($512 + $nb$0) | 0;
|
|
HEAP32[((32544 + 20) | 0) >> 2] = $514;
|
|
HEAP32[((32544 + 8) | 0) >> 2] = $511;
|
|
$515 = $511 | 1;
|
|
$$sum2 = ($nb$0 + 4) | 0;
|
|
$516 = ($512 + $$sum2) | 0;
|
|
HEAP32[$516 >> 2] = $515;
|
|
$517 = ($512 + $509) | 0;
|
|
HEAP32[$517 >> 2] = $511;
|
|
$518 = $nb$0 | 3;
|
|
$519 = ($512 + 4) | 0;
|
|
HEAP32[$519 >> 2] = $518;
|
|
} else {
|
|
HEAP32[((32544 + 8) | 0) >> 2] = 0;
|
|
HEAP32[((32544 + 20) | 0) >> 2] = 0;
|
|
$520 = $509 | 3;
|
|
$521 = ($512 + 4) | 0;
|
|
HEAP32[$521 >> 2] = $520;
|
|
$$sum1 = ($509 + 4) | 0;
|
|
$522 = ($512 + $$sum1) | 0;
|
|
$523 = HEAP32[$522 >> 2] | 0;
|
|
$524 = $523 | 1;
|
|
HEAP32[$522 >> 2] = $524;
|
|
}
|
|
$525 = ($512 + 8) | 0;
|
|
$mem$0 = $525;
|
|
STACKTOP = sp;
|
|
return $mem$0 | 0;
|
|
}
|
|
$526 = HEAP32[((32544 + 12) | 0) >> 2] | 0;
|
|
$527 = $526 >>> 0 > $nb$0 >>> 0;
|
|
if ($527) {
|
|
$528 = ($526 - $nb$0) | 0;
|
|
HEAP32[((32544 + 12) | 0) >> 2] = $528;
|
|
$529 = HEAP32[((32544 + 24) | 0) >> 2] | 0;
|
|
$530 = ($529 + $nb$0) | 0;
|
|
HEAP32[((32544 + 24) | 0) >> 2] = $530;
|
|
$531 = $528 | 1;
|
|
$$sum = ($nb$0 + 4) | 0;
|
|
$532 = ($529 + $$sum) | 0;
|
|
HEAP32[$532 >> 2] = $531;
|
|
$533 = $nb$0 | 3;
|
|
$534 = ($529 + 4) | 0;
|
|
HEAP32[$534 >> 2] = $533;
|
|
$535 = ($529 + 8) | 0;
|
|
$mem$0 = $535;
|
|
STACKTOP = sp;
|
|
return $mem$0 | 0;
|
|
}
|
|
$536 = HEAP32[33016 >> 2] | 0;
|
|
$537 = ($536 | 0) == 0;
|
|
do {
|
|
if ($537) {
|
|
$538 = _sysconf(30) | 0;
|
|
$539 = ($538 + -1) | 0;
|
|
$540 = $539 & $538;
|
|
$541 = ($540 | 0) == 0;
|
|
if ($541) {
|
|
HEAP32[((33016 + 8) | 0) >> 2] = $538;
|
|
HEAP32[((33016 + 4) | 0) >> 2] = $538;
|
|
HEAP32[((33016 + 12) | 0) >> 2] = -1;
|
|
HEAP32[((33016 + 16) | 0) >> 2] = -1;
|
|
HEAP32[((33016 + 20) | 0) >> 2] = 0;
|
|
HEAP32[((32544 + 444) | 0) >> 2] = 0;
|
|
$542 = _time(0 | 0) | 0;
|
|
$543 = $542 & -16;
|
|
$544 = $543 ^ 1431655768;
|
|
HEAP32[33016 >> 2] = $544;
|
|
break;
|
|
} else {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
}
|
|
} while (0);
|
|
$545 = ($nb$0 + 48) | 0;
|
|
$546 = HEAP32[((33016 + 8) | 0) >> 2] | 0;
|
|
$547 = ($nb$0 + 47) | 0;
|
|
$548 = ($546 + $547) | 0;
|
|
$549 = (0 - $546) | 0;
|
|
$550 = $548 & $549;
|
|
$551 = $550 >>> 0 > $nb$0 >>> 0;
|
|
if (!$551) {
|
|
$mem$0 = 0;
|
|
STACKTOP = sp;
|
|
return $mem$0 | 0;
|
|
}
|
|
$552 = HEAP32[((32544 + 440) | 0) >> 2] | 0;
|
|
$553 = ($552 | 0) == 0;
|
|
if (!$553) {
|
|
$554 = HEAP32[((32544 + 432) | 0) >> 2] | 0;
|
|
$555 = ($554 + $550) | 0;
|
|
$556 = $555 >>> 0 <= $554 >>> 0;
|
|
$557 = $555 >>> 0 > $552 >>> 0;
|
|
$or$cond1$i = $556 | $557;
|
|
if ($or$cond1$i) {
|
|
$mem$0 = 0;
|
|
STACKTOP = sp;
|
|
return $mem$0 | 0;
|
|
}
|
|
}
|
|
$558 = HEAP32[((32544 + 444) | 0) >> 2] | 0;
|
|
$559 = $558 & 4;
|
|
$560 = ($559 | 0) == 0;
|
|
L266: do {
|
|
if ($560) {
|
|
$561 = HEAP32[((32544 + 24) | 0) >> 2] | 0;
|
|
$562 = ($561 | 0) == (0 | 0);
|
|
L268: do {
|
|
if ($562) {
|
|
label = 181;
|
|
} else {
|
|
$sp$0$i$i = (32544 + 448) | 0;
|
|
while (1) {
|
|
$563 = HEAP32[$sp$0$i$i >> 2] | 0;
|
|
$564 = $563 >>> 0 > $561 >>> 0;
|
|
if (!$564) {
|
|
$565 = ($sp$0$i$i + 4) | 0;
|
|
$566 = HEAP32[$565 >> 2] | 0;
|
|
$567 = ($563 + $566) | 0;
|
|
$568 = $567 >>> 0 > $561 >>> 0;
|
|
if ($568) {
|
|
break;
|
|
}
|
|
}
|
|
$569 = ($sp$0$i$i + 8) | 0;
|
|
$570 = HEAP32[$569 >> 2] | 0;
|
|
$571 = ($570 | 0) == (0 | 0);
|
|
if ($571) {
|
|
label = 181;
|
|
break L268;
|
|
} else {
|
|
$sp$0$i$i = $570;
|
|
}
|
|
}
|
|
$572 = ($sp$0$i$i | 0) == (0 | 0);
|
|
if ($572) {
|
|
label = 181;
|
|
} else {
|
|
$595 = HEAP32[((32544 + 12) | 0) >> 2] | 0;
|
|
$596 = ($548 - $595) | 0;
|
|
$597 = $596 & $549;
|
|
$598 = $597 >>> 0 < 2147483647;
|
|
if ($598) {
|
|
$599 = _sbrk($597 | 0) | 0;
|
|
$600 = HEAP32[$sp$0$i$i >> 2] | 0;
|
|
$601 = HEAP32[$565 >> 2] | 0;
|
|
$602 = ($600 + $601) | 0;
|
|
$603 = ($599 | 0) == ($602 | 0);
|
|
if ($603) {
|
|
$br$0$i = $599;
|
|
$ssize$1$i = $597;
|
|
label = 190;
|
|
} else {
|
|
$br$030$i = $599;
|
|
$ssize$129$i = $597;
|
|
label = 191;
|
|
}
|
|
} else {
|
|
$tsize$03141$i = 0;
|
|
}
|
|
}
|
|
}
|
|
} while (0);
|
|
do {
|
|
if ((label | 0) == 181) {
|
|
$573 = _sbrk(0) | 0;
|
|
$574 = ($573 | 0) == (-1 | 0);
|
|
if ($574) {
|
|
$tsize$03141$i = 0;
|
|
} else {
|
|
$575 = $573;
|
|
$576 = HEAP32[((33016 + 4) | 0) >> 2] | 0;
|
|
$577 = ($576 + -1) | 0;
|
|
$578 = $577 & $575;
|
|
$579 = ($578 | 0) == 0;
|
|
if ($579) {
|
|
$ssize$0$i = $550;
|
|
} else {
|
|
$580 = ($577 + $575) | 0;
|
|
$581 = (0 - $576) | 0;
|
|
$582 = $580 & $581;
|
|
$583 = ($550 - $575) | 0;
|
|
$584 = ($583 + $582) | 0;
|
|
$ssize$0$i = $584;
|
|
}
|
|
$585 = HEAP32[((32544 + 432) | 0) >> 2] | 0;
|
|
$586 = ($585 + $ssize$0$i) | 0;
|
|
$587 = $ssize$0$i >>> 0 > $nb$0 >>> 0;
|
|
$588 = $ssize$0$i >>> 0 < 2147483647;
|
|
$or$cond$i29 = $587 & $588;
|
|
if ($or$cond$i29) {
|
|
$589 = HEAP32[((32544 + 440) | 0) >> 2] | 0;
|
|
$590 = ($589 | 0) == 0;
|
|
if (!$590) {
|
|
$591 = $586 >>> 0 <= $585 >>> 0;
|
|
$592 = $586 >>> 0 > $589 >>> 0;
|
|
$or$cond2$i = $591 | $592;
|
|
if ($or$cond2$i) {
|
|
$tsize$03141$i = 0;
|
|
break;
|
|
}
|
|
}
|
|
$593 = _sbrk($ssize$0$i | 0) | 0;
|
|
$594 = ($593 | 0) == ($573 | 0);
|
|
if ($594) {
|
|
$br$0$i = $573;
|
|
$ssize$1$i = $ssize$0$i;
|
|
label = 190;
|
|
} else {
|
|
$br$030$i = $593;
|
|
$ssize$129$i = $ssize$0$i;
|
|
label = 191;
|
|
}
|
|
} else {
|
|
$tsize$03141$i = 0;
|
|
}
|
|
}
|
|
}
|
|
} while (0);
|
|
L288: do {
|
|
if ((label | 0) == 190) {
|
|
$604 = ($br$0$i | 0) == (-1 | 0);
|
|
if ($604) {
|
|
$tsize$03141$i = $ssize$1$i;
|
|
} else {
|
|
$tbase$245$i = $br$0$i;
|
|
$tsize$244$i = $ssize$1$i;
|
|
label = 201;
|
|
break L266;
|
|
}
|
|
} else if ((label | 0) == 191) {
|
|
$605 = (0 - $ssize$129$i) | 0;
|
|
$606 = ($br$030$i | 0) != (-1 | 0);
|
|
$607 = $ssize$129$i >>> 0 < 2147483647;
|
|
$or$cond5$i = $606 & $607;
|
|
$608 = $545 >>> 0 > $ssize$129$i >>> 0;
|
|
$or$cond4$i = $or$cond5$i & $608;
|
|
do {
|
|
if ($or$cond4$i) {
|
|
$609 = HEAP32[((33016 + 8) | 0) >> 2] | 0;
|
|
$610 = ($547 - $ssize$129$i) | 0;
|
|
$611 = ($610 + $609) | 0;
|
|
$612 = (0 - $609) | 0;
|
|
$613 = $611 & $612;
|
|
$614 = $613 >>> 0 < 2147483647;
|
|
if ($614) {
|
|
$615 = _sbrk($613 | 0) | 0;
|
|
$616 = ($615 | 0) == (-1 | 0);
|
|
if ($616) {
|
|
_sbrk($605 | 0) | 0;
|
|
$tsize$03141$i = 0;
|
|
break L288;
|
|
} else {
|
|
$617 = ($613 + $ssize$129$i) | 0;
|
|
$ssize$2$i = $617;
|
|
break;
|
|
}
|
|
} else {
|
|
$ssize$2$i = $ssize$129$i;
|
|
}
|
|
} else {
|
|
$ssize$2$i = $ssize$129$i;
|
|
}
|
|
} while (0);
|
|
$618 = ($br$030$i | 0) == (-1 | 0);
|
|
if ($618) {
|
|
$tsize$03141$i = 0;
|
|
} else {
|
|
$tbase$245$i = $br$030$i;
|
|
$tsize$244$i = $ssize$2$i;
|
|
label = 201;
|
|
break L266;
|
|
}
|
|
}
|
|
} while (0);
|
|
$619 = HEAP32[((32544 + 444) | 0) >> 2] | 0;
|
|
$620 = $619 | 4;
|
|
HEAP32[((32544 + 444) | 0) >> 2] = $620;
|
|
$tsize$1$i = $tsize$03141$i;
|
|
label = 198;
|
|
} else {
|
|
$tsize$1$i = 0;
|
|
label = 198;
|
|
}
|
|
} while (0);
|
|
if ((label | 0) == 198) {
|
|
$621 = $550 >>> 0 < 2147483647;
|
|
if ($621) {
|
|
$622 = _sbrk($550 | 0) | 0;
|
|
$623 = _sbrk(0) | 0;
|
|
$624 = ($622 | 0) != (-1 | 0);
|
|
$625 = ($623 | 0) != (-1 | 0);
|
|
$or$cond3$i = $624 & $625;
|
|
$626 = $622 >>> 0 < $623 >>> 0;
|
|
$or$cond6$i = $or$cond3$i & $626;
|
|
if ($or$cond6$i) {
|
|
$627 = $623;
|
|
$628 = $622;
|
|
$629 = ($627 - $628) | 0;
|
|
$630 = ($nb$0 + 40) | 0;
|
|
$631 = $629 >>> 0 > $630 >>> 0;
|
|
$$tsize$1$i = $631 ? $629 : $tsize$1$i;
|
|
if ($631) {
|
|
$tbase$245$i = $622;
|
|
$tsize$244$i = $$tsize$1$i;
|
|
label = 201;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if ((label | 0) == 201) {
|
|
$632 = HEAP32[((32544 + 432) | 0) >> 2] | 0;
|
|
$633 = ($632 + $tsize$244$i) | 0;
|
|
HEAP32[((32544 + 432) | 0) >> 2] = $633;
|
|
$634 = HEAP32[((32544 + 436) | 0) >> 2] | 0;
|
|
$635 = $633 >>> 0 > $634 >>> 0;
|
|
if ($635) {
|
|
HEAP32[((32544 + 436) | 0) >> 2] = $633;
|
|
}
|
|
$636 = HEAP32[((32544 + 24) | 0) >> 2] | 0;
|
|
$637 = ($636 | 0) == (0 | 0);
|
|
L308: do {
|
|
if ($637) {
|
|
$638 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$639 = ($638 | 0) == (0 | 0);
|
|
$640 = $tbase$245$i >>> 0 < $638 >>> 0;
|
|
$or$cond8$i = $639 | $640;
|
|
if ($or$cond8$i) {
|
|
HEAP32[((32544 + 16) | 0) >> 2] = $tbase$245$i;
|
|
}
|
|
HEAP32[((32544 + 448) | 0) >> 2] = $tbase$245$i;
|
|
HEAP32[((32544 + 452) | 0) >> 2] = $tsize$244$i;
|
|
HEAP32[((32544 + 460) | 0) >> 2] = 0;
|
|
$641 = HEAP32[33016 >> 2] | 0;
|
|
HEAP32[((32544 + 36) | 0) >> 2] = $641;
|
|
HEAP32[((32544 + 32) | 0) >> 2] = -1;
|
|
$i$02$i$i = 0;
|
|
while (1) {
|
|
$642 = $i$02$i$i << 1;
|
|
$643 = (((32544 + ($642 << 2)) | 0) + 40) | 0;
|
|
$$sum$i$i = ($642 + 3) | 0;
|
|
$644 = (((32544 + ($$sum$i$i << 2)) | 0) + 40) | 0;
|
|
HEAP32[$644 >> 2] = $643;
|
|
$$sum1$i$i = ($642 + 2) | 0;
|
|
$645 = (((32544 + ($$sum1$i$i << 2)) | 0) + 40) | 0;
|
|
HEAP32[$645 >> 2] = $643;
|
|
$646 = ($i$02$i$i + 1) | 0;
|
|
$exitcond$i$i = ($646 | 0) == 32;
|
|
if ($exitcond$i$i) {
|
|
break;
|
|
} else {
|
|
$i$02$i$i = $646;
|
|
}
|
|
}
|
|
$647 = ($tsize$244$i + -40) | 0;
|
|
$648 = ($tbase$245$i + 8) | 0;
|
|
$649 = $648;
|
|
$650 = $649 & 7;
|
|
$651 = ($650 | 0) == 0;
|
|
if ($651) {
|
|
$655 = 0;
|
|
} else {
|
|
$652 = (0 - $649) | 0;
|
|
$653 = $652 & 7;
|
|
$655 = $653;
|
|
}
|
|
$654 = ($tbase$245$i + $655) | 0;
|
|
$656 = ($647 - $655) | 0;
|
|
HEAP32[((32544 + 24) | 0) >> 2] = $654;
|
|
HEAP32[((32544 + 12) | 0) >> 2] = $656;
|
|
$657 = $656 | 1;
|
|
$$sum$i12$i = ($655 + 4) | 0;
|
|
$658 = ($tbase$245$i + $$sum$i12$i) | 0;
|
|
HEAP32[$658 >> 2] = $657;
|
|
$$sum2$i$i = ($tsize$244$i + -36) | 0;
|
|
$659 = ($tbase$245$i + $$sum2$i$i) | 0;
|
|
HEAP32[$659 >> 2] = 40;
|
|
$660 = HEAP32[((33016 + 16) | 0) >> 2] | 0;
|
|
HEAP32[((32544 + 28) | 0) >> 2] = $660;
|
|
} else {
|
|
$sp$073$i = (32544 + 448) | 0;
|
|
while (1) {
|
|
$661 = HEAP32[$sp$073$i >> 2] | 0;
|
|
$662 = ($sp$073$i + 4) | 0;
|
|
$663 = HEAP32[$662 >> 2] | 0;
|
|
$664 = ($661 + $663) | 0;
|
|
$665 = ($tbase$245$i | 0) == ($664 | 0);
|
|
if ($665) {
|
|
label = 213;
|
|
break;
|
|
}
|
|
$666 = ($sp$073$i + 8) | 0;
|
|
$667 = HEAP32[$666 >> 2] | 0;
|
|
$668 = ($667 | 0) == (0 | 0);
|
|
if ($668) {
|
|
break;
|
|
} else {
|
|
$sp$073$i = $667;
|
|
}
|
|
}
|
|
if ((label | 0) == 213) {
|
|
$669 = ($sp$073$i + 12) | 0;
|
|
$670 = HEAP32[$669 >> 2] | 0;
|
|
$671 = $670 & 8;
|
|
$672 = ($671 | 0) == 0;
|
|
if ($672) {
|
|
$673 = $636 >>> 0 >= $661 >>> 0;
|
|
$674 = $636 >>> 0 < $tbase$245$i >>> 0;
|
|
$or$cond47$i = $673 & $674;
|
|
if ($or$cond47$i) {
|
|
$675 = ($663 + $tsize$244$i) | 0;
|
|
HEAP32[$662 >> 2] = $675;
|
|
$676 = HEAP32[((32544 + 12) | 0) >> 2] | 0;
|
|
$677 = ($676 + $tsize$244$i) | 0;
|
|
$678 = ($636 + 8) | 0;
|
|
$679 = $678;
|
|
$680 = $679 & 7;
|
|
$681 = ($680 | 0) == 0;
|
|
if ($681) {
|
|
$685 = 0;
|
|
} else {
|
|
$682 = (0 - $679) | 0;
|
|
$683 = $682 & 7;
|
|
$685 = $683;
|
|
}
|
|
$684 = ($636 + $685) | 0;
|
|
$686 = ($677 - $685) | 0;
|
|
HEAP32[((32544 + 24) | 0) >> 2] = $684;
|
|
HEAP32[((32544 + 12) | 0) >> 2] = $686;
|
|
$687 = $686 | 1;
|
|
$$sum$i16$i = ($685 + 4) | 0;
|
|
$688 = ($636 + $$sum$i16$i) | 0;
|
|
HEAP32[$688 >> 2] = $687;
|
|
$$sum2$i17$i = ($677 + 4) | 0;
|
|
$689 = ($636 + $$sum2$i17$i) | 0;
|
|
HEAP32[$689 >> 2] = 40;
|
|
$690 = HEAP32[((33016 + 16) | 0) >> 2] | 0;
|
|
HEAP32[((32544 + 28) | 0) >> 2] = $690;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
$691 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$692 = $tbase$245$i >>> 0 < $691 >>> 0;
|
|
if ($692) {
|
|
HEAP32[((32544 + 16) | 0) >> 2] = $tbase$245$i;
|
|
$756 = $tbase$245$i;
|
|
} else {
|
|
$756 = $691;
|
|
}
|
|
$693 = ($tbase$245$i + $tsize$244$i) | 0;
|
|
$sp$166$i = (32544 + 448) | 0;
|
|
while (1) {
|
|
$694 = HEAP32[$sp$166$i >> 2] | 0;
|
|
$695 = ($694 | 0) == ($693 | 0);
|
|
if ($695) {
|
|
label = 223;
|
|
break;
|
|
}
|
|
$696 = ($sp$166$i + 8) | 0;
|
|
$697 = HEAP32[$696 >> 2] | 0;
|
|
$698 = ($697 | 0) == (0 | 0);
|
|
if ($698) {
|
|
break;
|
|
} else {
|
|
$sp$166$i = $697;
|
|
}
|
|
}
|
|
if ((label | 0) == 223) {
|
|
$699 = ($sp$166$i + 12) | 0;
|
|
$700 = HEAP32[$699 >> 2] | 0;
|
|
$701 = $700 & 8;
|
|
$702 = ($701 | 0) == 0;
|
|
if ($702) {
|
|
HEAP32[$sp$166$i >> 2] = $tbase$245$i;
|
|
$703 = ($sp$166$i + 4) | 0;
|
|
$704 = HEAP32[$703 >> 2] | 0;
|
|
$705 = ($704 + $tsize$244$i) | 0;
|
|
HEAP32[$703 >> 2] = $705;
|
|
$706 = ($tbase$245$i + 8) | 0;
|
|
$707 = $706;
|
|
$708 = $707 & 7;
|
|
$709 = ($708 | 0) == 0;
|
|
if ($709) {
|
|
$713 = 0;
|
|
} else {
|
|
$710 = (0 - $707) | 0;
|
|
$711 = $710 & 7;
|
|
$713 = $711;
|
|
}
|
|
$712 = ($tbase$245$i + $713) | 0;
|
|
$$sum102$i = ($tsize$244$i + 8) | 0;
|
|
$714 = ($tbase$245$i + $$sum102$i) | 0;
|
|
$715 = $714;
|
|
$716 = $715 & 7;
|
|
$717 = ($716 | 0) == 0;
|
|
if ($717) {
|
|
$720 = 0;
|
|
} else {
|
|
$718 = (0 - $715) | 0;
|
|
$719 = $718 & 7;
|
|
$720 = $719;
|
|
}
|
|
$$sum103$i = ($720 + $tsize$244$i) | 0;
|
|
$721 = ($tbase$245$i + $$sum103$i) | 0;
|
|
$722 = $721;
|
|
$723 = $712;
|
|
$724 = ($722 - $723) | 0;
|
|
$$sum$i19$i = ($713 + $nb$0) | 0;
|
|
$725 = ($tbase$245$i + $$sum$i19$i) | 0;
|
|
$726 = ($724 - $nb$0) | 0;
|
|
$727 = $nb$0 | 3;
|
|
$$sum1$i20$i = ($713 + 4) | 0;
|
|
$728 = ($tbase$245$i + $$sum1$i20$i) | 0;
|
|
HEAP32[$728 >> 2] = $727;
|
|
$729 = ($721 | 0) == ($636 | 0);
|
|
L345: do {
|
|
if ($729) {
|
|
$730 = HEAP32[((32544 + 12) | 0) >> 2] | 0;
|
|
$731 = ($730 + $726) | 0;
|
|
HEAP32[((32544 + 12) | 0) >> 2] = $731;
|
|
HEAP32[((32544 + 24) | 0) >> 2] = $725;
|
|
$732 = $731 | 1;
|
|
$$sum42$i$i = ($$sum$i19$i + 4) | 0;
|
|
$733 = ($tbase$245$i + $$sum42$i$i) | 0;
|
|
HEAP32[$733 >> 2] = $732;
|
|
} else {
|
|
$734 = HEAP32[((32544 + 20) | 0) >> 2] | 0;
|
|
$735 = ($721 | 0) == ($734 | 0);
|
|
if ($735) {
|
|
$736 = HEAP32[((32544 + 8) | 0) >> 2] | 0;
|
|
$737 = ($736 + $726) | 0;
|
|
HEAP32[((32544 + 8) | 0) >> 2] = $737;
|
|
HEAP32[((32544 + 20) | 0) >> 2] = $725;
|
|
$738 = $737 | 1;
|
|
$$sum40$i$i = ($$sum$i19$i + 4) | 0;
|
|
$739 = ($tbase$245$i + $$sum40$i$i) | 0;
|
|
HEAP32[$739 >> 2] = $738;
|
|
$$sum41$i$i = ($737 + $$sum$i19$i) | 0;
|
|
$740 = ($tbase$245$i + $$sum41$i$i) | 0;
|
|
HEAP32[$740 >> 2] = $737;
|
|
break;
|
|
}
|
|
$$sum2$i21$i = ($tsize$244$i + 4) | 0;
|
|
$$sum104$i = ($$sum2$i21$i + $720) | 0;
|
|
$741 = ($tbase$245$i + $$sum104$i) | 0;
|
|
$742 = HEAP32[$741 >> 2] | 0;
|
|
$743 = $742 & 3;
|
|
$744 = ($743 | 0) == 1;
|
|
if ($744) {
|
|
$745 = $742 & -8;
|
|
$746 = $742 >>> 3;
|
|
$747 = $742 >>> 0 < 256;
|
|
L353: do {
|
|
if ($747) {
|
|
$$sum3738$i$i = $720 | 8;
|
|
$$sum114$i = ($$sum3738$i$i + $tsize$244$i) | 0;
|
|
$748 = ($tbase$245$i + $$sum114$i) | 0;
|
|
$749 = HEAP32[$748 >> 2] | 0;
|
|
$$sum39$i$i = ($tsize$244$i + 12) | 0;
|
|
$$sum115$i = ($$sum39$i$i + $720) | 0;
|
|
$750 = ($tbase$245$i + $$sum115$i) | 0;
|
|
$751 = HEAP32[$750 >> 2] | 0;
|
|
$752 = $746 << 1;
|
|
$753 = (((32544 + ($752 << 2)) | 0) + 40) | 0;
|
|
$754 = ($749 | 0) == ($753 | 0);
|
|
do {
|
|
if (!$754) {
|
|
$755 = $749 >>> 0 < $756 >>> 0;
|
|
if ($755) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$757 = ($749 + 12) | 0;
|
|
$758 = HEAP32[$757 >> 2] | 0;
|
|
$759 = ($758 | 0) == ($721 | 0);
|
|
if ($759) {
|
|
break;
|
|
}
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
} while (0);
|
|
$760 = ($751 | 0) == ($749 | 0);
|
|
if ($760) {
|
|
$761 = 1 << $746;
|
|
$762 = $761 ^ -1;
|
|
$763 = HEAP32[32544 >> 2] | 0;
|
|
$764 = $763 & $762;
|
|
HEAP32[32544 >> 2] = $764;
|
|
break;
|
|
}
|
|
$765 = ($751 | 0) == ($753 | 0);
|
|
do {
|
|
if ($765) {
|
|
$$pre58$i$i = ($751 + 8) | 0;
|
|
$$pre$phi59$i$iZ2D = $$pre58$i$i;
|
|
} else {
|
|
$766 = $751 >>> 0 < $756 >>> 0;
|
|
if ($766) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$767 = ($751 + 8) | 0;
|
|
$768 = HEAP32[$767 >> 2] | 0;
|
|
$769 = ($768 | 0) == ($721 | 0);
|
|
if ($769) {
|
|
$$pre$phi59$i$iZ2D = $767;
|
|
break;
|
|
}
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
} while (0);
|
|
$770 = ($749 + 12) | 0;
|
|
HEAP32[$770 >> 2] = $751;
|
|
HEAP32[$$pre$phi59$i$iZ2D >> 2] = $749;
|
|
} else {
|
|
$$sum34$i$i = $720 | 24;
|
|
$$sum105$i = ($$sum34$i$i + $tsize$244$i) | 0;
|
|
$771 = ($tbase$245$i + $$sum105$i) | 0;
|
|
$772 = HEAP32[$771 >> 2] | 0;
|
|
$$sum5$i$i = ($tsize$244$i + 12) | 0;
|
|
$$sum106$i = ($$sum5$i$i + $720) | 0;
|
|
$773 = ($tbase$245$i + $$sum106$i) | 0;
|
|
$774 = HEAP32[$773 >> 2] | 0;
|
|
$775 = ($774 | 0) == ($721 | 0);
|
|
do {
|
|
if ($775) {
|
|
$$sum67$i$i = $720 | 16;
|
|
$$sum112$i = ($$sum2$i21$i + $$sum67$i$i) | 0;
|
|
$785 = ($tbase$245$i + $$sum112$i) | 0;
|
|
$786 = HEAP32[$785 >> 2] | 0;
|
|
$787 = ($786 | 0) == (0 | 0);
|
|
if ($787) {
|
|
$$sum113$i = ($$sum67$i$i + $tsize$244$i) | 0;
|
|
$788 = ($tbase$245$i + $$sum113$i) | 0;
|
|
$789 = HEAP32[$788 >> 2] | 0;
|
|
$790 = ($789 | 0) == (0 | 0);
|
|
if ($790) {
|
|
$R$1$i$i = 0;
|
|
break;
|
|
} else {
|
|
$R$0$i$i = $789;
|
|
$RP$0$i$i = $788;
|
|
}
|
|
} else {
|
|
$R$0$i$i = $786;
|
|
$RP$0$i$i = $785;
|
|
}
|
|
while (1) {
|
|
$791 = ($R$0$i$i + 20) | 0;
|
|
$792 = HEAP32[$791 >> 2] | 0;
|
|
$793 = ($792 | 0) == (0 | 0);
|
|
if (!$793) {
|
|
$R$0$i$i = $792;
|
|
$RP$0$i$i = $791;
|
|
continue;
|
|
}
|
|
$794 = ($R$0$i$i + 16) | 0;
|
|
$795 = HEAP32[$794 >> 2] | 0;
|
|
$796 = ($795 | 0) == (0 | 0);
|
|
if ($796) {
|
|
break;
|
|
} else {
|
|
$R$0$i$i = $795;
|
|
$RP$0$i$i = $794;
|
|
}
|
|
}
|
|
$797 = $RP$0$i$i >>> 0 < $756 >>> 0;
|
|
if ($797) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
HEAP32[$RP$0$i$i >> 2] = 0;
|
|
$R$1$i$i = $R$0$i$i;
|
|
break;
|
|
}
|
|
} else {
|
|
$$sum3536$i$i = $720 | 8;
|
|
$$sum107$i = ($$sum3536$i$i + $tsize$244$i) | 0;
|
|
$776 = ($tbase$245$i + $$sum107$i) | 0;
|
|
$777 = HEAP32[$776 >> 2] | 0;
|
|
$778 = $777 >>> 0 < $756 >>> 0;
|
|
if ($778) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$779 = ($777 + 12) | 0;
|
|
$780 = HEAP32[$779 >> 2] | 0;
|
|
$781 = ($780 | 0) == ($721 | 0);
|
|
if (!$781) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$782 = ($774 + 8) | 0;
|
|
$783 = HEAP32[$782 >> 2] | 0;
|
|
$784 = ($783 | 0) == ($721 | 0);
|
|
if ($784) {
|
|
HEAP32[$779 >> 2] = $774;
|
|
HEAP32[$782 >> 2] = $777;
|
|
$R$1$i$i = $774;
|
|
break;
|
|
} else {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
}
|
|
} while (0);
|
|
$798 = ($772 | 0) == (0 | 0);
|
|
if ($798) {
|
|
break;
|
|
}
|
|
$$sum30$i$i = ($tsize$244$i + 28) | 0;
|
|
$$sum108$i = ($$sum30$i$i + $720) | 0;
|
|
$799 = ($tbase$245$i + $$sum108$i) | 0;
|
|
$800 = HEAP32[$799 >> 2] | 0;
|
|
$801 = (((32544 + ($800 << 2)) | 0) + 304) | 0;
|
|
$802 = HEAP32[$801 >> 2] | 0;
|
|
$803 = ($721 | 0) == ($802 | 0);
|
|
do {
|
|
if ($803) {
|
|
HEAP32[$801 >> 2] = $R$1$i$i;
|
|
$cond$i$i = ($R$1$i$i | 0) == (0 | 0);
|
|
if (!$cond$i$i) {
|
|
break;
|
|
}
|
|
$804 = 1 << $800;
|
|
$805 = $804 ^ -1;
|
|
$806 = HEAP32[((32544 + 4) | 0) >> 2] | 0;
|
|
$807 = $806 & $805;
|
|
HEAP32[((32544 + 4) | 0) >> 2] = $807;
|
|
break L353;
|
|
} else {
|
|
$808 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$809 = $772 >>> 0 < $808 >>> 0;
|
|
if ($809) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$810 = ($772 + 16) | 0;
|
|
$811 = HEAP32[$810 >> 2] | 0;
|
|
$812 = ($811 | 0) == ($721 | 0);
|
|
if ($812) {
|
|
HEAP32[$810 >> 2] = $R$1$i$i;
|
|
} else {
|
|
$813 = ($772 + 20) | 0;
|
|
HEAP32[$813 >> 2] = $R$1$i$i;
|
|
}
|
|
$814 = ($R$1$i$i | 0) == (0 | 0);
|
|
if ($814) {
|
|
break L353;
|
|
}
|
|
}
|
|
} while (0);
|
|
$815 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$816 = $R$1$i$i >>> 0 < $815 >>> 0;
|
|
if ($816) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$817 = ($R$1$i$i + 24) | 0;
|
|
HEAP32[$817 >> 2] = $772;
|
|
$$sum3132$i$i = $720 | 16;
|
|
$$sum109$i = ($$sum3132$i$i + $tsize$244$i) | 0;
|
|
$818 = ($tbase$245$i + $$sum109$i) | 0;
|
|
$819 = HEAP32[$818 >> 2] | 0;
|
|
$820 = ($819 | 0) == (0 | 0);
|
|
do {
|
|
if (!$820) {
|
|
$821 = $819 >>> 0 < $815 >>> 0;
|
|
if ($821) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
$822 = ($R$1$i$i + 16) | 0;
|
|
HEAP32[$822 >> 2] = $819;
|
|
$823 = ($819 + 24) | 0;
|
|
HEAP32[$823 >> 2] = $R$1$i$i;
|
|
break;
|
|
}
|
|
}
|
|
} while (0);
|
|
$$sum110$i = ($$sum2$i21$i + $$sum3132$i$i) | 0;
|
|
$824 = ($tbase$245$i + $$sum110$i) | 0;
|
|
$825 = HEAP32[$824 >> 2] | 0;
|
|
$826 = ($825 | 0) == (0 | 0);
|
|
if ($826) {
|
|
break;
|
|
}
|
|
$827 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$828 = $825 >>> 0 < $827 >>> 0;
|
|
if ($828) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
$829 = ($R$1$i$i + 20) | 0;
|
|
HEAP32[$829 >> 2] = $825;
|
|
$830 = ($825 + 24) | 0;
|
|
HEAP32[$830 >> 2] = $R$1$i$i;
|
|
break;
|
|
}
|
|
}
|
|
} while (0);
|
|
$$sum9$i$i = $745 | $720;
|
|
$$sum111$i = ($$sum9$i$i + $tsize$244$i) | 0;
|
|
$831 = ($tbase$245$i + $$sum111$i) | 0;
|
|
$832 = ($745 + $726) | 0;
|
|
$oldfirst$0$i$i = $831;
|
|
$qsize$0$i$i = $832;
|
|
} else {
|
|
$oldfirst$0$i$i = $721;
|
|
$qsize$0$i$i = $726;
|
|
}
|
|
$833 = ($oldfirst$0$i$i + 4) | 0;
|
|
$834 = HEAP32[$833 >> 2] | 0;
|
|
$835 = $834 & -2;
|
|
HEAP32[$833 >> 2] = $835;
|
|
$836 = $qsize$0$i$i | 1;
|
|
$$sum10$i$i = ($$sum$i19$i + 4) | 0;
|
|
$837 = ($tbase$245$i + $$sum10$i$i) | 0;
|
|
HEAP32[$837 >> 2] = $836;
|
|
$$sum11$i22$i = ($qsize$0$i$i + $$sum$i19$i) | 0;
|
|
$838 = ($tbase$245$i + $$sum11$i22$i) | 0;
|
|
HEAP32[$838 >> 2] = $qsize$0$i$i;
|
|
$839 = $qsize$0$i$i >>> 3;
|
|
$840 = $qsize$0$i$i >>> 0 < 256;
|
|
if ($840) {
|
|
$841 = $839 << 1;
|
|
$842 = (((32544 + ($841 << 2)) | 0) + 40) | 0;
|
|
$843 = HEAP32[32544 >> 2] | 0;
|
|
$844 = 1 << $839;
|
|
$845 = $843 & $844;
|
|
$846 = ($845 | 0) == 0;
|
|
do {
|
|
if ($846) {
|
|
$847 = $843 | $844;
|
|
HEAP32[32544 >> 2] = $847;
|
|
$$sum26$pre$i$i = ($841 + 2) | 0;
|
|
$$pre$i23$i =
|
|
(((32544 + ($$sum26$pre$i$i << 2)) | 0) + 40) | 0;
|
|
$$pre$phi$i24$iZ2D = $$pre$i23$i;
|
|
$F4$0$i$i = $842;
|
|
} else {
|
|
$$sum29$i$i = ($841 + 2) | 0;
|
|
$848 = (((32544 + ($$sum29$i$i << 2)) | 0) + 40) | 0;
|
|
$849 = HEAP32[$848 >> 2] | 0;
|
|
$850 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$851 = $849 >>> 0 < $850 >>> 0;
|
|
if (!$851) {
|
|
$$pre$phi$i24$iZ2D = $848;
|
|
$F4$0$i$i = $849;
|
|
break;
|
|
}
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
} while (0);
|
|
HEAP32[$$pre$phi$i24$iZ2D >> 2] = $725;
|
|
$852 = ($F4$0$i$i + 12) | 0;
|
|
HEAP32[$852 >> 2] = $725;
|
|
$$sum27$i$i = ($$sum$i19$i + 8) | 0;
|
|
$853 = ($tbase$245$i + $$sum27$i$i) | 0;
|
|
HEAP32[$853 >> 2] = $F4$0$i$i;
|
|
$$sum28$i$i = ($$sum$i19$i + 12) | 0;
|
|
$854 = ($tbase$245$i + $$sum28$i$i) | 0;
|
|
HEAP32[$854 >> 2] = $842;
|
|
break;
|
|
}
|
|
$855 = $qsize$0$i$i >>> 8;
|
|
$856 = ($855 | 0) == 0;
|
|
do {
|
|
if ($856) {
|
|
$I7$0$i$i = 0;
|
|
} else {
|
|
$857 = $qsize$0$i$i >>> 0 > 16777215;
|
|
if ($857) {
|
|
$I7$0$i$i = 31;
|
|
break;
|
|
}
|
|
$858 = ($855 + 1048320) | 0;
|
|
$859 = $858 >>> 16;
|
|
$860 = $859 & 8;
|
|
$861 = $855 << $860;
|
|
$862 = ($861 + 520192) | 0;
|
|
$863 = $862 >>> 16;
|
|
$864 = $863 & 4;
|
|
$865 = $864 | $860;
|
|
$866 = $861 << $864;
|
|
$867 = ($866 + 245760) | 0;
|
|
$868 = $867 >>> 16;
|
|
$869 = $868 & 2;
|
|
$870 = $865 | $869;
|
|
$871 = (14 - $870) | 0;
|
|
$872 = $866 << $869;
|
|
$873 = $872 >>> 15;
|
|
$874 = ($871 + $873) | 0;
|
|
$875 = $874 << 1;
|
|
$876 = ($874 + 7) | 0;
|
|
$877 = $qsize$0$i$i >>> $876;
|
|
$878 = $877 & 1;
|
|
$879 = $878 | $875;
|
|
$I7$0$i$i = $879;
|
|
}
|
|
} while (0);
|
|
$880 = (((32544 + ($I7$0$i$i << 2)) | 0) + 304) | 0;
|
|
$$sum12$i$i = ($$sum$i19$i + 28) | 0;
|
|
$881 = ($tbase$245$i + $$sum12$i$i) | 0;
|
|
HEAP32[$881 >> 2] = $I7$0$i$i;
|
|
$$sum13$i$i = ($$sum$i19$i + 16) | 0;
|
|
$882 = ($tbase$245$i + $$sum13$i$i) | 0;
|
|
$$sum14$i$i = ($$sum$i19$i + 20) | 0;
|
|
$883 = ($tbase$245$i + $$sum14$i$i) | 0;
|
|
HEAP32[$883 >> 2] = 0;
|
|
HEAP32[$882 >> 2] = 0;
|
|
$884 = HEAP32[((32544 + 4) | 0) >> 2] | 0;
|
|
$885 = 1 << $I7$0$i$i;
|
|
$886 = $884 & $885;
|
|
$887 = ($886 | 0) == 0;
|
|
if ($887) {
|
|
$888 = $884 | $885;
|
|
HEAP32[((32544 + 4) | 0) >> 2] = $888;
|
|
HEAP32[$880 >> 2] = $725;
|
|
$$sum15$i$i = ($$sum$i19$i + 24) | 0;
|
|
$889 = ($tbase$245$i + $$sum15$i$i) | 0;
|
|
HEAP32[$889 >> 2] = $880;
|
|
$$sum16$i$i = ($$sum$i19$i + 12) | 0;
|
|
$890 = ($tbase$245$i + $$sum16$i$i) | 0;
|
|
HEAP32[$890 >> 2] = $725;
|
|
$$sum17$i$i = ($$sum$i19$i + 8) | 0;
|
|
$891 = ($tbase$245$i + $$sum17$i$i) | 0;
|
|
HEAP32[$891 >> 2] = $725;
|
|
break;
|
|
}
|
|
$892 = HEAP32[$880 >> 2] | 0;
|
|
$893 = ($I7$0$i$i | 0) == 31;
|
|
if ($893) {
|
|
$901 = 0;
|
|
} else {
|
|
$894 = $I7$0$i$i >>> 1;
|
|
$895 = (25 - $894) | 0;
|
|
$901 = $895;
|
|
}
|
|
$896 = ($892 + 4) | 0;
|
|
$897 = HEAP32[$896 >> 2] | 0;
|
|
$898 = $897 & -8;
|
|
$899 = ($898 | 0) == ($qsize$0$i$i | 0);
|
|
L442: do {
|
|
if ($899) {
|
|
$T$0$lcssa$i26$i = $892;
|
|
} else {
|
|
$900 = $qsize$0$i$i << $901;
|
|
$K8$053$i$i = $900;
|
|
$T$052$i$i = $892;
|
|
while (1) {
|
|
$908 = $K8$053$i$i >>> 31;
|
|
$909 = ((($T$052$i$i + ($908 << 2)) | 0) + 16) | 0;
|
|
$904 = HEAP32[$909 >> 2] | 0;
|
|
$910 = ($904 | 0) == (0 | 0);
|
|
if ($910) {
|
|
break;
|
|
}
|
|
$902 = $K8$053$i$i << 1;
|
|
$903 = ($904 + 4) | 0;
|
|
$905 = HEAP32[$903 >> 2] | 0;
|
|
$906 = $905 & -8;
|
|
$907 = ($906 | 0) == ($qsize$0$i$i | 0);
|
|
if ($907) {
|
|
$T$0$lcssa$i26$i = $904;
|
|
break L442;
|
|
} else {
|
|
$K8$053$i$i = $902;
|
|
$T$052$i$i = $904;
|
|
}
|
|
}
|
|
$911 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$912 = $909 >>> 0 < $911 >>> 0;
|
|
if ($912) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
HEAP32[$909 >> 2] = $725;
|
|
$$sum23$i$i = ($$sum$i19$i + 24) | 0;
|
|
$913 = ($tbase$245$i + $$sum23$i$i) | 0;
|
|
HEAP32[$913 >> 2] = $T$052$i$i;
|
|
$$sum24$i$i = ($$sum$i19$i + 12) | 0;
|
|
$914 = ($tbase$245$i + $$sum24$i$i) | 0;
|
|
HEAP32[$914 >> 2] = $725;
|
|
$$sum25$i$i = ($$sum$i19$i + 8) | 0;
|
|
$915 = ($tbase$245$i + $$sum25$i$i) | 0;
|
|
HEAP32[$915 >> 2] = $725;
|
|
break L345;
|
|
}
|
|
}
|
|
} while (0);
|
|
$916 = ($T$0$lcssa$i26$i + 8) | 0;
|
|
$917 = HEAP32[$916 >> 2] | 0;
|
|
$918 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$919 = $T$0$lcssa$i26$i >>> 0 >= $918 >>> 0;
|
|
$920 = $917 >>> 0 >= $918 >>> 0;
|
|
$or$cond$i27$i = $919 & $920;
|
|
if ($or$cond$i27$i) {
|
|
$921 = ($917 + 12) | 0;
|
|
HEAP32[$921 >> 2] = $725;
|
|
HEAP32[$916 >> 2] = $725;
|
|
$$sum20$i$i = ($$sum$i19$i + 8) | 0;
|
|
$922 = ($tbase$245$i + $$sum20$i$i) | 0;
|
|
HEAP32[$922 >> 2] = $917;
|
|
$$sum21$i$i = ($$sum$i19$i + 12) | 0;
|
|
$923 = ($tbase$245$i + $$sum21$i$i) | 0;
|
|
HEAP32[$923 >> 2] = $T$0$lcssa$i26$i;
|
|
$$sum22$i$i = ($$sum$i19$i + 24) | 0;
|
|
$924 = ($tbase$245$i + $$sum22$i$i) | 0;
|
|
HEAP32[$924 >> 2] = 0;
|
|
break;
|
|
} else {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
}
|
|
} while (0);
|
|
$$sum1819$i$i = $713 | 8;
|
|
$925 = ($tbase$245$i + $$sum1819$i$i) | 0;
|
|
$mem$0 = $925;
|
|
STACKTOP = sp;
|
|
return $mem$0 | 0;
|
|
}
|
|
}
|
|
$sp$0$i$i$i = (32544 + 448) | 0;
|
|
while (1) {
|
|
$926 = HEAP32[$sp$0$i$i$i >> 2] | 0;
|
|
$927 = $926 >>> 0 > $636 >>> 0;
|
|
if (!$927) {
|
|
$928 = ($sp$0$i$i$i + 4) | 0;
|
|
$929 = HEAP32[$928 >> 2] | 0;
|
|
$930 = ($926 + $929) | 0;
|
|
$931 = $930 >>> 0 > $636 >>> 0;
|
|
if ($931) {
|
|
break;
|
|
}
|
|
}
|
|
$932 = ($sp$0$i$i$i + 8) | 0;
|
|
$933 = HEAP32[$932 >> 2] | 0;
|
|
$sp$0$i$i$i = $933;
|
|
}
|
|
$$sum$i13$i = ($929 + -47) | 0;
|
|
$$sum1$i14$i = ($929 + -39) | 0;
|
|
$934 = ($926 + $$sum1$i14$i) | 0;
|
|
$935 = $934;
|
|
$936 = $935 & 7;
|
|
$937 = ($936 | 0) == 0;
|
|
if ($937) {
|
|
$940 = 0;
|
|
} else {
|
|
$938 = (0 - $935) | 0;
|
|
$939 = $938 & 7;
|
|
$940 = $939;
|
|
}
|
|
$$sum2$i15$i = ($$sum$i13$i + $940) | 0;
|
|
$941 = ($926 + $$sum2$i15$i) | 0;
|
|
$942 = ($636 + 16) | 0;
|
|
$943 = $941 >>> 0 < $942 >>> 0;
|
|
$944 = $943 ? $636 : $941;
|
|
$945 = ($944 + 8) | 0;
|
|
$946 = ($tsize$244$i + -40) | 0;
|
|
$947 = ($tbase$245$i + 8) | 0;
|
|
$948 = $947;
|
|
$949 = $948 & 7;
|
|
$950 = ($949 | 0) == 0;
|
|
if ($950) {
|
|
$954 = 0;
|
|
} else {
|
|
$951 = (0 - $948) | 0;
|
|
$952 = $951 & 7;
|
|
$954 = $952;
|
|
}
|
|
$953 = ($tbase$245$i + $954) | 0;
|
|
$955 = ($946 - $954) | 0;
|
|
HEAP32[((32544 + 24) | 0) >> 2] = $953;
|
|
HEAP32[((32544 + 12) | 0) >> 2] = $955;
|
|
$956 = $955 | 1;
|
|
$$sum$i$i$i = ($954 + 4) | 0;
|
|
$957 = ($tbase$245$i + $$sum$i$i$i) | 0;
|
|
HEAP32[$957 >> 2] = $956;
|
|
$$sum2$i$i$i = ($tsize$244$i + -36) | 0;
|
|
$958 = ($tbase$245$i + $$sum2$i$i$i) | 0;
|
|
HEAP32[$958 >> 2] = 40;
|
|
$959 = HEAP32[((33016 + 16) | 0) >> 2] | 0;
|
|
HEAP32[((32544 + 28) | 0) >> 2] = $959;
|
|
$960 = ($944 + 4) | 0;
|
|
HEAP32[$960 >> 2] = 27;
|
|
HEAP32[($945 + 0) >> 2] = HEAP32[(((32544 + 448) | 0) + 0) >> 2] | 0;
|
|
HEAP32[($945 + 4) >> 2] = HEAP32[(((32544 + 448) | 0) + 4) >> 2] | 0;
|
|
HEAP32[($945 + 8) >> 2] = HEAP32[(((32544 + 448) | 0) + 8) >> 2] | 0;
|
|
HEAP32[($945 + 12) >> 2] =
|
|
HEAP32[(((32544 + 448) | 0) + 12) >> 2] | 0;
|
|
HEAP32[((32544 + 448) | 0) >> 2] = $tbase$245$i;
|
|
HEAP32[((32544 + 452) | 0) >> 2] = $tsize$244$i;
|
|
HEAP32[((32544 + 460) | 0) >> 2] = 0;
|
|
HEAP32[((32544 + 456) | 0) >> 2] = $945;
|
|
$961 = ($944 + 28) | 0;
|
|
HEAP32[$961 >> 2] = 7;
|
|
$962 = ($944 + 32) | 0;
|
|
$963 = $962 >>> 0 < $930 >>> 0;
|
|
if ($963) {
|
|
$965 = $961;
|
|
while (1) {
|
|
$964 = ($965 + 4) | 0;
|
|
HEAP32[$964 >> 2] = 7;
|
|
$966 = ($965 + 8) | 0;
|
|
$967 = $966 >>> 0 < $930 >>> 0;
|
|
if ($967) {
|
|
$965 = $964;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
$968 = ($944 | 0) == ($636 | 0);
|
|
if (!$968) {
|
|
$969 = $944;
|
|
$970 = $636;
|
|
$971 = ($969 - $970) | 0;
|
|
$972 = ($636 + $971) | 0;
|
|
$$sum3$i$i = ($971 + 4) | 0;
|
|
$973 = ($636 + $$sum3$i$i) | 0;
|
|
$974 = HEAP32[$973 >> 2] | 0;
|
|
$975 = $974 & -2;
|
|
HEAP32[$973 >> 2] = $975;
|
|
$976 = $971 | 1;
|
|
$977 = ($636 + 4) | 0;
|
|
HEAP32[$977 >> 2] = $976;
|
|
HEAP32[$972 >> 2] = $971;
|
|
$978 = $971 >>> 3;
|
|
$979 = $971 >>> 0 < 256;
|
|
if ($979) {
|
|
$980 = $978 << 1;
|
|
$981 = (((32544 + ($980 << 2)) | 0) + 40) | 0;
|
|
$982 = HEAP32[32544 >> 2] | 0;
|
|
$983 = 1 << $978;
|
|
$984 = $982 & $983;
|
|
$985 = ($984 | 0) == 0;
|
|
do {
|
|
if ($985) {
|
|
$986 = $982 | $983;
|
|
HEAP32[32544 >> 2] = $986;
|
|
$$sum10$pre$i$i = ($980 + 2) | 0;
|
|
$$pre$i$i = (((32544 + ($$sum10$pre$i$i << 2)) | 0) + 40) | 0;
|
|
$$pre$phi$i$iZ2D = $$pre$i$i;
|
|
$F$0$i$i = $981;
|
|
} else {
|
|
$$sum11$i$i = ($980 + 2) | 0;
|
|
$987 = (((32544 + ($$sum11$i$i << 2)) | 0) + 40) | 0;
|
|
$988 = HEAP32[$987 >> 2] | 0;
|
|
$989 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$990 = $988 >>> 0 < $989 >>> 0;
|
|
if (!$990) {
|
|
$$pre$phi$i$iZ2D = $987;
|
|
$F$0$i$i = $988;
|
|
break;
|
|
}
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
} while (0);
|
|
HEAP32[$$pre$phi$i$iZ2D >> 2] = $636;
|
|
$991 = ($F$0$i$i + 12) | 0;
|
|
HEAP32[$991 >> 2] = $636;
|
|
$992 = ($636 + 8) | 0;
|
|
HEAP32[$992 >> 2] = $F$0$i$i;
|
|
$993 = ($636 + 12) | 0;
|
|
HEAP32[$993 >> 2] = $981;
|
|
break;
|
|
}
|
|
$994 = $971 >>> 8;
|
|
$995 = ($994 | 0) == 0;
|
|
if ($995) {
|
|
$I1$0$i$i = 0;
|
|
} else {
|
|
$996 = $971 >>> 0 > 16777215;
|
|
if ($996) {
|
|
$I1$0$i$i = 31;
|
|
} else {
|
|
$997 = ($994 + 1048320) | 0;
|
|
$998 = $997 >>> 16;
|
|
$999 = $998 & 8;
|
|
$1000 = $994 << $999;
|
|
$1001 = ($1000 + 520192) | 0;
|
|
$1002 = $1001 >>> 16;
|
|
$1003 = $1002 & 4;
|
|
$1004 = $1003 | $999;
|
|
$1005 = $1000 << $1003;
|
|
$1006 = ($1005 + 245760) | 0;
|
|
$1007 = $1006 >>> 16;
|
|
$1008 = $1007 & 2;
|
|
$1009 = $1004 | $1008;
|
|
$1010 = (14 - $1009) | 0;
|
|
$1011 = $1005 << $1008;
|
|
$1012 = $1011 >>> 15;
|
|
$1013 = ($1010 + $1012) | 0;
|
|
$1014 = $1013 << 1;
|
|
$1015 = ($1013 + 7) | 0;
|
|
$1016 = $971 >>> $1015;
|
|
$1017 = $1016 & 1;
|
|
$1018 = $1017 | $1014;
|
|
$I1$0$i$i = $1018;
|
|
}
|
|
}
|
|
$1019 = (((32544 + ($I1$0$i$i << 2)) | 0) + 304) | 0;
|
|
$1020 = ($636 + 28) | 0;
|
|
$I1$0$c$i$i = $I1$0$i$i;
|
|
HEAP32[$1020 >> 2] = $I1$0$c$i$i;
|
|
$1021 = ($636 + 20) | 0;
|
|
HEAP32[$1021 >> 2] = 0;
|
|
$1022 = ($636 + 16) | 0;
|
|
HEAP32[$1022 >> 2] = 0;
|
|
$1023 = HEAP32[((32544 + 4) | 0) >> 2] | 0;
|
|
$1024 = 1 << $I1$0$i$i;
|
|
$1025 = $1023 & $1024;
|
|
$1026 = ($1025 | 0) == 0;
|
|
if ($1026) {
|
|
$1027 = $1023 | $1024;
|
|
HEAP32[((32544 + 4) | 0) >> 2] = $1027;
|
|
HEAP32[$1019 >> 2] = $636;
|
|
$1028 = ($636 + 24) | 0;
|
|
HEAP32[$1028 >> 2] = $1019;
|
|
$1029 = ($636 + 12) | 0;
|
|
HEAP32[$1029 >> 2] = $636;
|
|
$1030 = ($636 + 8) | 0;
|
|
HEAP32[$1030 >> 2] = $636;
|
|
break;
|
|
}
|
|
$1031 = HEAP32[$1019 >> 2] | 0;
|
|
$1032 = ($I1$0$i$i | 0) == 31;
|
|
if ($1032) {
|
|
$1040 = 0;
|
|
} else {
|
|
$1033 = $I1$0$i$i >>> 1;
|
|
$1034 = (25 - $1033) | 0;
|
|
$1040 = $1034;
|
|
}
|
|
$1035 = ($1031 + 4) | 0;
|
|
$1036 = HEAP32[$1035 >> 2] | 0;
|
|
$1037 = $1036 & -8;
|
|
$1038 = ($1037 | 0) == ($971 | 0);
|
|
L493: do {
|
|
if ($1038) {
|
|
$T$0$lcssa$i$i = $1031;
|
|
} else {
|
|
$1039 = $971 << $1040;
|
|
$K2$015$i$i = $1039;
|
|
$T$014$i$i = $1031;
|
|
while (1) {
|
|
$1047 = $K2$015$i$i >>> 31;
|
|
$1048 = ((($T$014$i$i + ($1047 << 2)) | 0) + 16) | 0;
|
|
$1043 = HEAP32[$1048 >> 2] | 0;
|
|
$1049 = ($1043 | 0) == (0 | 0);
|
|
if ($1049) {
|
|
break;
|
|
}
|
|
$1041 = $K2$015$i$i << 1;
|
|
$1042 = ($1043 + 4) | 0;
|
|
$1044 = HEAP32[$1042 >> 2] | 0;
|
|
$1045 = $1044 & -8;
|
|
$1046 = ($1045 | 0) == ($971 | 0);
|
|
if ($1046) {
|
|
$T$0$lcssa$i$i = $1043;
|
|
break L493;
|
|
} else {
|
|
$K2$015$i$i = $1041;
|
|
$T$014$i$i = $1043;
|
|
}
|
|
}
|
|
$1050 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$1051 = $1048 >>> 0 < $1050 >>> 0;
|
|
if ($1051) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
HEAP32[$1048 >> 2] = $636;
|
|
$1052 = ($636 + 24) | 0;
|
|
HEAP32[$1052 >> 2] = $T$014$i$i;
|
|
$1053 = ($636 + 12) | 0;
|
|
HEAP32[$1053 >> 2] = $636;
|
|
$1054 = ($636 + 8) | 0;
|
|
HEAP32[$1054 >> 2] = $636;
|
|
break L308;
|
|
}
|
|
}
|
|
} while (0);
|
|
$1055 = ($T$0$lcssa$i$i + 8) | 0;
|
|
$1056 = HEAP32[$1055 >> 2] | 0;
|
|
$1057 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$1058 = $T$0$lcssa$i$i >>> 0 >= $1057 >>> 0;
|
|
$1059 = $1056 >>> 0 >= $1057 >>> 0;
|
|
$or$cond$i$i = $1058 & $1059;
|
|
if ($or$cond$i$i) {
|
|
$1060 = ($1056 + 12) | 0;
|
|
HEAP32[$1060 >> 2] = $636;
|
|
HEAP32[$1055 >> 2] = $636;
|
|
$1061 = ($636 + 8) | 0;
|
|
HEAP32[$1061 >> 2] = $1056;
|
|
$1062 = ($636 + 12) | 0;
|
|
HEAP32[$1062 >> 2] = $T$0$lcssa$i$i;
|
|
$1063 = ($636 + 24) | 0;
|
|
HEAP32[$1063 >> 2] = 0;
|
|
break;
|
|
} else {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
}
|
|
}
|
|
} while (0);
|
|
$1064 = HEAP32[((32544 + 12) | 0) >> 2] | 0;
|
|
$1065 = $1064 >>> 0 > $nb$0 >>> 0;
|
|
if ($1065) {
|
|
$1066 = ($1064 - $nb$0) | 0;
|
|
HEAP32[((32544 + 12) | 0) >> 2] = $1066;
|
|
$1067 = HEAP32[((32544 + 24) | 0) >> 2] | 0;
|
|
$1068 = ($1067 + $nb$0) | 0;
|
|
HEAP32[((32544 + 24) | 0) >> 2] = $1068;
|
|
$1069 = $1066 | 1;
|
|
$$sum$i32 = ($nb$0 + 4) | 0;
|
|
$1070 = ($1067 + $$sum$i32) | 0;
|
|
HEAP32[$1070 >> 2] = $1069;
|
|
$1071 = $nb$0 | 3;
|
|
$1072 = ($1067 + 4) | 0;
|
|
HEAP32[$1072 >> 2] = $1071;
|
|
$1073 = ($1067 + 8) | 0;
|
|
$mem$0 = $1073;
|
|
STACKTOP = sp;
|
|
return $mem$0 | 0;
|
|
}
|
|
}
|
|
$1074 = ___errno_location() | 0;
|
|
HEAP32[$1074 >> 2] = 12;
|
|
$mem$0 = 0;
|
|
STACKTOP = sp;
|
|
return $mem$0 | 0;
|
|
}
|
|
function _free($mem) {
|
|
$mem = $mem | 0;
|
|
var $$pre = 0,
|
|
$$pre$phi66Z2D = 0,
|
|
$$pre$phi68Z2D = 0,
|
|
$$pre$phiZ2D = 0,
|
|
$$pre65 = 0,
|
|
$$pre67 = 0,
|
|
$$sum = 0,
|
|
$$sum16$pre = 0,
|
|
$$sum17 = 0,
|
|
$$sum18 = 0,
|
|
$$sum19 = 0,
|
|
$$sum2 = 0,
|
|
$$sum20 = 0,
|
|
$$sum2324 = 0,
|
|
$$sum25 = 0,
|
|
$$sum26 = 0,
|
|
$$sum28 = 0,
|
|
$$sum29 = 0,
|
|
$$sum3 = 0,
|
|
$$sum30 = 0;
|
|
var $$sum31 = 0,
|
|
$$sum32 = 0,
|
|
$$sum33 = 0,
|
|
$$sum34 = 0,
|
|
$$sum35 = 0,
|
|
$$sum36 = 0,
|
|
$$sum37 = 0,
|
|
$$sum5 = 0,
|
|
$$sum67 = 0,
|
|
$$sum8 = 0,
|
|
$$sum9 = 0,
|
|
$0 = 0,
|
|
$1 = 0,
|
|
$10 = 0,
|
|
$100 = 0,
|
|
$101 = 0,
|
|
$102 = 0,
|
|
$103 = 0,
|
|
$104 = 0,
|
|
$105 = 0;
|
|
var $106 = 0,
|
|
$107 = 0,
|
|
$108 = 0,
|
|
$109 = 0,
|
|
$11 = 0,
|
|
$110 = 0,
|
|
$111 = 0,
|
|
$112 = 0,
|
|
$113 = 0,
|
|
$114 = 0,
|
|
$115 = 0,
|
|
$116 = 0,
|
|
$117 = 0,
|
|
$118 = 0,
|
|
$119 = 0,
|
|
$12 = 0,
|
|
$120 = 0,
|
|
$121 = 0,
|
|
$122 = 0,
|
|
$123 = 0;
|
|
var $124 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$127 = 0,
|
|
$128 = 0,
|
|
$129 = 0,
|
|
$13 = 0,
|
|
$130 = 0,
|
|
$131 = 0,
|
|
$132 = 0,
|
|
$133 = 0,
|
|
$134 = 0,
|
|
$135 = 0,
|
|
$136 = 0,
|
|
$137 = 0,
|
|
$138 = 0,
|
|
$139 = 0,
|
|
$14 = 0,
|
|
$140 = 0,
|
|
$141 = 0;
|
|
var $142 = 0,
|
|
$143 = 0,
|
|
$144 = 0,
|
|
$145 = 0,
|
|
$146 = 0,
|
|
$147 = 0,
|
|
$148 = 0,
|
|
$149 = 0,
|
|
$15 = 0,
|
|
$150 = 0,
|
|
$151 = 0,
|
|
$152 = 0,
|
|
$153 = 0,
|
|
$154 = 0,
|
|
$155 = 0,
|
|
$156 = 0,
|
|
$157 = 0,
|
|
$158 = 0,
|
|
$159 = 0,
|
|
$16 = 0;
|
|
var $160 = 0,
|
|
$161 = 0,
|
|
$162 = 0,
|
|
$163 = 0,
|
|
$164 = 0,
|
|
$165 = 0,
|
|
$166 = 0,
|
|
$167 = 0,
|
|
$168 = 0,
|
|
$169 = 0,
|
|
$17 = 0,
|
|
$170 = 0,
|
|
$171 = 0,
|
|
$172 = 0,
|
|
$173 = 0,
|
|
$174 = 0,
|
|
$175 = 0,
|
|
$176 = 0,
|
|
$177 = 0,
|
|
$178 = 0;
|
|
var $179 = 0,
|
|
$18 = 0,
|
|
$180 = 0,
|
|
$181 = 0,
|
|
$182 = 0,
|
|
$183 = 0,
|
|
$184 = 0,
|
|
$185 = 0,
|
|
$186 = 0,
|
|
$187 = 0,
|
|
$188 = 0,
|
|
$189 = 0,
|
|
$19 = 0,
|
|
$190 = 0,
|
|
$191 = 0,
|
|
$192 = 0,
|
|
$193 = 0,
|
|
$194 = 0,
|
|
$195 = 0,
|
|
$196 = 0;
|
|
var $197 = 0,
|
|
$198 = 0,
|
|
$199 = 0,
|
|
$2 = 0,
|
|
$20 = 0,
|
|
$200 = 0,
|
|
$201 = 0,
|
|
$202 = 0,
|
|
$203 = 0,
|
|
$204 = 0,
|
|
$205 = 0,
|
|
$206 = 0,
|
|
$207 = 0,
|
|
$208 = 0,
|
|
$209 = 0,
|
|
$21 = 0,
|
|
$210 = 0,
|
|
$211 = 0,
|
|
$212 = 0,
|
|
$213 = 0;
|
|
var $214 = 0,
|
|
$215 = 0,
|
|
$216 = 0,
|
|
$217 = 0,
|
|
$218 = 0,
|
|
$219 = 0,
|
|
$22 = 0,
|
|
$220 = 0,
|
|
$221 = 0,
|
|
$222 = 0,
|
|
$223 = 0,
|
|
$224 = 0,
|
|
$225 = 0,
|
|
$226 = 0,
|
|
$227 = 0,
|
|
$228 = 0,
|
|
$229 = 0,
|
|
$23 = 0,
|
|
$230 = 0,
|
|
$231 = 0;
|
|
var $232 = 0,
|
|
$233 = 0,
|
|
$234 = 0,
|
|
$235 = 0,
|
|
$236 = 0,
|
|
$237 = 0,
|
|
$238 = 0,
|
|
$239 = 0,
|
|
$24 = 0,
|
|
$240 = 0,
|
|
$241 = 0,
|
|
$242 = 0,
|
|
$243 = 0,
|
|
$244 = 0,
|
|
$245 = 0,
|
|
$246 = 0,
|
|
$247 = 0,
|
|
$248 = 0,
|
|
$249 = 0,
|
|
$25 = 0;
|
|
var $250 = 0,
|
|
$251 = 0,
|
|
$252 = 0,
|
|
$253 = 0,
|
|
$254 = 0,
|
|
$255 = 0,
|
|
$256 = 0,
|
|
$257 = 0,
|
|
$258 = 0,
|
|
$259 = 0,
|
|
$26 = 0,
|
|
$260 = 0,
|
|
$261 = 0,
|
|
$262 = 0,
|
|
$263 = 0,
|
|
$264 = 0,
|
|
$265 = 0,
|
|
$266 = 0,
|
|
$267 = 0,
|
|
$268 = 0;
|
|
var $269 = 0,
|
|
$27 = 0,
|
|
$270 = 0,
|
|
$271 = 0,
|
|
$272 = 0,
|
|
$273 = 0,
|
|
$274 = 0,
|
|
$275 = 0,
|
|
$276 = 0,
|
|
$277 = 0,
|
|
$278 = 0,
|
|
$279 = 0,
|
|
$28 = 0,
|
|
$280 = 0,
|
|
$281 = 0,
|
|
$282 = 0,
|
|
$283 = 0,
|
|
$284 = 0,
|
|
$285 = 0,
|
|
$286 = 0;
|
|
var $287 = 0,
|
|
$288 = 0,
|
|
$289 = 0,
|
|
$29 = 0,
|
|
$290 = 0,
|
|
$291 = 0,
|
|
$292 = 0,
|
|
$293 = 0,
|
|
$294 = 0,
|
|
$295 = 0,
|
|
$296 = 0,
|
|
$297 = 0,
|
|
$298 = 0,
|
|
$299 = 0,
|
|
$3 = 0,
|
|
$30 = 0,
|
|
$300 = 0,
|
|
$301 = 0,
|
|
$302 = 0,
|
|
$303 = 0;
|
|
var $304 = 0,
|
|
$305 = 0,
|
|
$306 = 0,
|
|
$307 = 0,
|
|
$308 = 0,
|
|
$309 = 0,
|
|
$31 = 0,
|
|
$310 = 0,
|
|
$311 = 0,
|
|
$312 = 0,
|
|
$313 = 0,
|
|
$314 = 0,
|
|
$315 = 0,
|
|
$316 = 0,
|
|
$317 = 0,
|
|
$318 = 0,
|
|
$319 = 0,
|
|
$32 = 0,
|
|
$320 = 0,
|
|
$321 = 0;
|
|
var $33 = 0,
|
|
$34 = 0,
|
|
$35 = 0,
|
|
$36 = 0,
|
|
$37 = 0,
|
|
$38 = 0,
|
|
$39 = 0,
|
|
$4 = 0,
|
|
$40 = 0,
|
|
$41 = 0,
|
|
$42 = 0,
|
|
$43 = 0,
|
|
$44 = 0,
|
|
$45 = 0,
|
|
$46 = 0,
|
|
$47 = 0,
|
|
$48 = 0,
|
|
$49 = 0,
|
|
$5 = 0,
|
|
$50 = 0;
|
|
var $51 = 0,
|
|
$52 = 0,
|
|
$53 = 0,
|
|
$54 = 0,
|
|
$55 = 0,
|
|
$56 = 0,
|
|
$57 = 0,
|
|
$58 = 0,
|
|
$59 = 0,
|
|
$6 = 0,
|
|
$60 = 0,
|
|
$61 = 0,
|
|
$62 = 0,
|
|
$63 = 0,
|
|
$64 = 0,
|
|
$65 = 0,
|
|
$66 = 0,
|
|
$67 = 0,
|
|
$68 = 0,
|
|
$69 = 0;
|
|
var $7 = 0,
|
|
$70 = 0,
|
|
$71 = 0,
|
|
$72 = 0,
|
|
$73 = 0,
|
|
$74 = 0,
|
|
$75 = 0,
|
|
$76 = 0,
|
|
$77 = 0,
|
|
$78 = 0,
|
|
$79 = 0,
|
|
$8 = 0,
|
|
$80 = 0,
|
|
$81 = 0,
|
|
$82 = 0,
|
|
$83 = 0,
|
|
$84 = 0,
|
|
$85 = 0,
|
|
$86 = 0,
|
|
$87 = 0;
|
|
var $88 = 0,
|
|
$89 = 0,
|
|
$9 = 0,
|
|
$90 = 0,
|
|
$91 = 0,
|
|
$92 = 0,
|
|
$93 = 0,
|
|
$94 = 0,
|
|
$95 = 0,
|
|
$96 = 0,
|
|
$97 = 0,
|
|
$98 = 0,
|
|
$99 = 0,
|
|
$F16$0 = 0,
|
|
$I18$0 = 0,
|
|
$I18$0$c = 0,
|
|
$K19$058 = 0,
|
|
$R$0 = 0,
|
|
$R$1 = 0,
|
|
$R7$0 = 0;
|
|
var $R7$1 = 0,
|
|
$RP$0 = 0,
|
|
$RP9$0 = 0,
|
|
$T$0$lcssa = 0,
|
|
$T$057 = 0,
|
|
$cond = 0,
|
|
$cond54 = 0,
|
|
$or$cond = 0,
|
|
$p$0 = 0,
|
|
$psize$0 = 0,
|
|
$psize$1 = 0,
|
|
$sp$0$i = 0,
|
|
$sp$0$in$i = 0,
|
|
label = 0,
|
|
sp = 0;
|
|
sp = STACKTOP;
|
|
$0 = ($mem | 0) == (0 | 0);
|
|
if ($0) {
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
$1 = ($mem + -8) | 0;
|
|
$2 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$3 = $1 >>> 0 < $2 >>> 0;
|
|
if ($3) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$4 = ($mem + -4) | 0;
|
|
$5 = HEAP32[$4 >> 2] | 0;
|
|
$6 = $5 & 3;
|
|
$7 = ($6 | 0) == 1;
|
|
if ($7) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$8 = $5 & -8;
|
|
$$sum = ($8 + -8) | 0;
|
|
$9 = ($mem + $$sum) | 0;
|
|
$10 = $5 & 1;
|
|
$11 = ($10 | 0) == 0;
|
|
do {
|
|
if ($11) {
|
|
$12 = HEAP32[$1 >> 2] | 0;
|
|
$13 = ($6 | 0) == 0;
|
|
if ($13) {
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
$$sum2 = (-8 - $12) | 0;
|
|
$14 = ($mem + $$sum2) | 0;
|
|
$15 = ($12 + $8) | 0;
|
|
$16 = $14 >>> 0 < $2 >>> 0;
|
|
if ($16) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$17 = HEAP32[((32544 + 20) | 0) >> 2] | 0;
|
|
$18 = ($14 | 0) == ($17 | 0);
|
|
if ($18) {
|
|
$$sum3 = ($8 + -4) | 0;
|
|
$103 = ($mem + $$sum3) | 0;
|
|
$104 = HEAP32[$103 >> 2] | 0;
|
|
$105 = $104 & 3;
|
|
$106 = ($105 | 0) == 3;
|
|
if (!$106) {
|
|
$p$0 = $14;
|
|
$psize$0 = $15;
|
|
break;
|
|
}
|
|
HEAP32[((32544 + 8) | 0) >> 2] = $15;
|
|
$107 = $104 & -2;
|
|
HEAP32[$103 >> 2] = $107;
|
|
$108 = $15 | 1;
|
|
$$sum26 = ($$sum2 + 4) | 0;
|
|
$109 = ($mem + $$sum26) | 0;
|
|
HEAP32[$109 >> 2] = $108;
|
|
HEAP32[$9 >> 2] = $15;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
$19 = $12 >>> 3;
|
|
$20 = $12 >>> 0 < 256;
|
|
if ($20) {
|
|
$$sum36 = ($$sum2 + 8) | 0;
|
|
$21 = ($mem + $$sum36) | 0;
|
|
$22 = HEAP32[$21 >> 2] | 0;
|
|
$$sum37 = ($$sum2 + 12) | 0;
|
|
$23 = ($mem + $$sum37) | 0;
|
|
$24 = HEAP32[$23 >> 2] | 0;
|
|
$25 = $19 << 1;
|
|
$26 = (((32544 + ($25 << 2)) | 0) + 40) | 0;
|
|
$27 = ($22 | 0) == ($26 | 0);
|
|
if (!$27) {
|
|
$28 = $22 >>> 0 < $2 >>> 0;
|
|
if ($28) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$29 = ($22 + 12) | 0;
|
|
$30 = HEAP32[$29 >> 2] | 0;
|
|
$31 = ($30 | 0) == ($14 | 0);
|
|
if (!$31) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
}
|
|
$32 = ($24 | 0) == ($22 | 0);
|
|
if ($32) {
|
|
$33 = 1 << $19;
|
|
$34 = $33 ^ -1;
|
|
$35 = HEAP32[32544 >> 2] | 0;
|
|
$36 = $35 & $34;
|
|
HEAP32[32544 >> 2] = $36;
|
|
$p$0 = $14;
|
|
$psize$0 = $15;
|
|
break;
|
|
}
|
|
$37 = ($24 | 0) == ($26 | 0);
|
|
if ($37) {
|
|
$$pre67 = ($24 + 8) | 0;
|
|
$$pre$phi68Z2D = $$pre67;
|
|
} else {
|
|
$38 = $24 >>> 0 < $2 >>> 0;
|
|
if ($38) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$39 = ($24 + 8) | 0;
|
|
$40 = HEAP32[$39 >> 2] | 0;
|
|
$41 = ($40 | 0) == ($14 | 0);
|
|
if ($41) {
|
|
$$pre$phi68Z2D = $39;
|
|
} else {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
}
|
|
$42 = ($22 + 12) | 0;
|
|
HEAP32[$42 >> 2] = $24;
|
|
HEAP32[$$pre$phi68Z2D >> 2] = $22;
|
|
$p$0 = $14;
|
|
$psize$0 = $15;
|
|
break;
|
|
}
|
|
$$sum28 = ($$sum2 + 24) | 0;
|
|
$43 = ($mem + $$sum28) | 0;
|
|
$44 = HEAP32[$43 >> 2] | 0;
|
|
$$sum29 = ($$sum2 + 12) | 0;
|
|
$45 = ($mem + $$sum29) | 0;
|
|
$46 = HEAP32[$45 >> 2] | 0;
|
|
$47 = ($46 | 0) == ($14 | 0);
|
|
do {
|
|
if ($47) {
|
|
$$sum31 = ($$sum2 + 20) | 0;
|
|
$57 = ($mem + $$sum31) | 0;
|
|
$58 = HEAP32[$57 >> 2] | 0;
|
|
$59 = ($58 | 0) == (0 | 0);
|
|
if ($59) {
|
|
$$sum30 = ($$sum2 + 16) | 0;
|
|
$60 = ($mem + $$sum30) | 0;
|
|
$61 = HEAP32[$60 >> 2] | 0;
|
|
$62 = ($61 | 0) == (0 | 0);
|
|
if ($62) {
|
|
$R$1 = 0;
|
|
break;
|
|
} else {
|
|
$R$0 = $61;
|
|
$RP$0 = $60;
|
|
}
|
|
} else {
|
|
$R$0 = $58;
|
|
$RP$0 = $57;
|
|
}
|
|
while (1) {
|
|
$63 = ($R$0 + 20) | 0;
|
|
$64 = HEAP32[$63 >> 2] | 0;
|
|
$65 = ($64 | 0) == (0 | 0);
|
|
if (!$65) {
|
|
$R$0 = $64;
|
|
$RP$0 = $63;
|
|
continue;
|
|
}
|
|
$66 = ($R$0 + 16) | 0;
|
|
$67 = HEAP32[$66 >> 2] | 0;
|
|
$68 = ($67 | 0) == (0 | 0);
|
|
if ($68) {
|
|
break;
|
|
} else {
|
|
$R$0 = $67;
|
|
$RP$0 = $66;
|
|
}
|
|
}
|
|
$69 = $RP$0 >>> 0 < $2 >>> 0;
|
|
if ($69) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
HEAP32[$RP$0 >> 2] = 0;
|
|
$R$1 = $R$0;
|
|
break;
|
|
}
|
|
} else {
|
|
$$sum35 = ($$sum2 + 8) | 0;
|
|
$48 = ($mem + $$sum35) | 0;
|
|
$49 = HEAP32[$48 >> 2] | 0;
|
|
$50 = $49 >>> 0 < $2 >>> 0;
|
|
if ($50) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$51 = ($49 + 12) | 0;
|
|
$52 = HEAP32[$51 >> 2] | 0;
|
|
$53 = ($52 | 0) == ($14 | 0);
|
|
if (!$53) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$54 = ($46 + 8) | 0;
|
|
$55 = HEAP32[$54 >> 2] | 0;
|
|
$56 = ($55 | 0) == ($14 | 0);
|
|
if ($56) {
|
|
HEAP32[$51 >> 2] = $46;
|
|
HEAP32[$54 >> 2] = $49;
|
|
$R$1 = $46;
|
|
break;
|
|
} else {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
}
|
|
} while (0);
|
|
$70 = ($44 | 0) == (0 | 0);
|
|
if ($70) {
|
|
$p$0 = $14;
|
|
$psize$0 = $15;
|
|
} else {
|
|
$$sum32 = ($$sum2 + 28) | 0;
|
|
$71 = ($mem + $$sum32) | 0;
|
|
$72 = HEAP32[$71 >> 2] | 0;
|
|
$73 = (((32544 + ($72 << 2)) | 0) + 304) | 0;
|
|
$74 = HEAP32[$73 >> 2] | 0;
|
|
$75 = ($14 | 0) == ($74 | 0);
|
|
if ($75) {
|
|
HEAP32[$73 >> 2] = $R$1;
|
|
$cond = ($R$1 | 0) == (0 | 0);
|
|
if ($cond) {
|
|
$76 = 1 << $72;
|
|
$77 = $76 ^ -1;
|
|
$78 = HEAP32[((32544 + 4) | 0) >> 2] | 0;
|
|
$79 = $78 & $77;
|
|
HEAP32[((32544 + 4) | 0) >> 2] = $79;
|
|
$p$0 = $14;
|
|
$psize$0 = $15;
|
|
break;
|
|
}
|
|
} else {
|
|
$80 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$81 = $44 >>> 0 < $80 >>> 0;
|
|
if ($81) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$82 = ($44 + 16) | 0;
|
|
$83 = HEAP32[$82 >> 2] | 0;
|
|
$84 = ($83 | 0) == ($14 | 0);
|
|
if ($84) {
|
|
HEAP32[$82 >> 2] = $R$1;
|
|
} else {
|
|
$85 = ($44 + 20) | 0;
|
|
HEAP32[$85 >> 2] = $R$1;
|
|
}
|
|
$86 = ($R$1 | 0) == (0 | 0);
|
|
if ($86) {
|
|
$p$0 = $14;
|
|
$psize$0 = $15;
|
|
break;
|
|
}
|
|
}
|
|
$87 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$88 = $R$1 >>> 0 < $87 >>> 0;
|
|
if ($88) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$89 = ($R$1 + 24) | 0;
|
|
HEAP32[$89 >> 2] = $44;
|
|
$$sum33 = ($$sum2 + 16) | 0;
|
|
$90 = ($mem + $$sum33) | 0;
|
|
$91 = HEAP32[$90 >> 2] | 0;
|
|
$92 = ($91 | 0) == (0 | 0);
|
|
do {
|
|
if (!$92) {
|
|
$93 = $91 >>> 0 < $87 >>> 0;
|
|
if ($93) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
$94 = ($R$1 + 16) | 0;
|
|
HEAP32[$94 >> 2] = $91;
|
|
$95 = ($91 + 24) | 0;
|
|
HEAP32[$95 >> 2] = $R$1;
|
|
break;
|
|
}
|
|
}
|
|
} while (0);
|
|
$$sum34 = ($$sum2 + 20) | 0;
|
|
$96 = ($mem + $$sum34) | 0;
|
|
$97 = HEAP32[$96 >> 2] | 0;
|
|
$98 = ($97 | 0) == (0 | 0);
|
|
if ($98) {
|
|
$p$0 = $14;
|
|
$psize$0 = $15;
|
|
} else {
|
|
$99 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$100 = $97 >>> 0 < $99 >>> 0;
|
|
if ($100) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
$101 = ($R$1 + 20) | 0;
|
|
HEAP32[$101 >> 2] = $97;
|
|
$102 = ($97 + 24) | 0;
|
|
HEAP32[$102 >> 2] = $R$1;
|
|
$p$0 = $14;
|
|
$psize$0 = $15;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
$p$0 = $1;
|
|
$psize$0 = $8;
|
|
}
|
|
} while (0);
|
|
$110 = $p$0 >>> 0 < $9 >>> 0;
|
|
if (!$110) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$$sum25 = ($8 + -4) | 0;
|
|
$111 = ($mem + $$sum25) | 0;
|
|
$112 = HEAP32[$111 >> 2] | 0;
|
|
$113 = $112 & 1;
|
|
$114 = ($113 | 0) == 0;
|
|
if ($114) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$115 = $112 & 2;
|
|
$116 = ($115 | 0) == 0;
|
|
if ($116) {
|
|
$117 = HEAP32[((32544 + 24) | 0) >> 2] | 0;
|
|
$118 = ($9 | 0) == ($117 | 0);
|
|
if ($118) {
|
|
$119 = HEAP32[((32544 + 12) | 0) >> 2] | 0;
|
|
$120 = ($119 + $psize$0) | 0;
|
|
HEAP32[((32544 + 12) | 0) >> 2] = $120;
|
|
HEAP32[((32544 + 24) | 0) >> 2] = $p$0;
|
|
$121 = $120 | 1;
|
|
$122 = ($p$0 + 4) | 0;
|
|
HEAP32[$122 >> 2] = $121;
|
|
$123 = HEAP32[((32544 + 20) | 0) >> 2] | 0;
|
|
$124 = ($p$0 | 0) == ($123 | 0);
|
|
if (!$124) {
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
HEAP32[((32544 + 20) | 0) >> 2] = 0;
|
|
HEAP32[((32544 + 8) | 0) >> 2] = 0;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
$125 = HEAP32[((32544 + 20) | 0) >> 2] | 0;
|
|
$126 = ($9 | 0) == ($125 | 0);
|
|
if ($126) {
|
|
$127 = HEAP32[((32544 + 8) | 0) >> 2] | 0;
|
|
$128 = ($127 + $psize$0) | 0;
|
|
HEAP32[((32544 + 8) | 0) >> 2] = $128;
|
|
HEAP32[((32544 + 20) | 0) >> 2] = $p$0;
|
|
$129 = $128 | 1;
|
|
$130 = ($p$0 + 4) | 0;
|
|
HEAP32[$130 >> 2] = $129;
|
|
$131 = ($p$0 + $128) | 0;
|
|
HEAP32[$131 >> 2] = $128;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
$132 = $112 & -8;
|
|
$133 = ($132 + $psize$0) | 0;
|
|
$134 = $112 >>> 3;
|
|
$135 = $112 >>> 0 < 256;
|
|
do {
|
|
if ($135) {
|
|
$136 = ($mem + $8) | 0;
|
|
$137 = HEAP32[$136 >> 2] | 0;
|
|
$$sum2324 = $8 | 4;
|
|
$138 = ($mem + $$sum2324) | 0;
|
|
$139 = HEAP32[$138 >> 2] | 0;
|
|
$140 = $134 << 1;
|
|
$141 = (((32544 + ($140 << 2)) | 0) + 40) | 0;
|
|
$142 = ($137 | 0) == ($141 | 0);
|
|
if (!$142) {
|
|
$143 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$144 = $137 >>> 0 < $143 >>> 0;
|
|
if ($144) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$145 = ($137 + 12) | 0;
|
|
$146 = HEAP32[$145 >> 2] | 0;
|
|
$147 = ($146 | 0) == ($9 | 0);
|
|
if (!$147) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
}
|
|
$148 = ($139 | 0) == ($137 | 0);
|
|
if ($148) {
|
|
$149 = 1 << $134;
|
|
$150 = $149 ^ -1;
|
|
$151 = HEAP32[32544 >> 2] | 0;
|
|
$152 = $151 & $150;
|
|
HEAP32[32544 >> 2] = $152;
|
|
break;
|
|
}
|
|
$153 = ($139 | 0) == ($141 | 0);
|
|
if ($153) {
|
|
$$pre65 = ($139 + 8) | 0;
|
|
$$pre$phi66Z2D = $$pre65;
|
|
} else {
|
|
$154 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$155 = $139 >>> 0 < $154 >>> 0;
|
|
if ($155) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$156 = ($139 + 8) | 0;
|
|
$157 = HEAP32[$156 >> 2] | 0;
|
|
$158 = ($157 | 0) == ($9 | 0);
|
|
if ($158) {
|
|
$$pre$phi66Z2D = $156;
|
|
} else {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
}
|
|
$159 = ($137 + 12) | 0;
|
|
HEAP32[$159 >> 2] = $139;
|
|
HEAP32[$$pre$phi66Z2D >> 2] = $137;
|
|
} else {
|
|
$$sum5 = ($8 + 16) | 0;
|
|
$160 = ($mem + $$sum5) | 0;
|
|
$161 = HEAP32[$160 >> 2] | 0;
|
|
$$sum67 = $8 | 4;
|
|
$162 = ($mem + $$sum67) | 0;
|
|
$163 = HEAP32[$162 >> 2] | 0;
|
|
$164 = ($163 | 0) == ($9 | 0);
|
|
do {
|
|
if ($164) {
|
|
$$sum9 = ($8 + 12) | 0;
|
|
$175 = ($mem + $$sum9) | 0;
|
|
$176 = HEAP32[$175 >> 2] | 0;
|
|
$177 = ($176 | 0) == (0 | 0);
|
|
if ($177) {
|
|
$$sum8 = ($8 + 8) | 0;
|
|
$178 = ($mem + $$sum8) | 0;
|
|
$179 = HEAP32[$178 >> 2] | 0;
|
|
$180 = ($179 | 0) == (0 | 0);
|
|
if ($180) {
|
|
$R7$1 = 0;
|
|
break;
|
|
} else {
|
|
$R7$0 = $179;
|
|
$RP9$0 = $178;
|
|
}
|
|
} else {
|
|
$R7$0 = $176;
|
|
$RP9$0 = $175;
|
|
}
|
|
while (1) {
|
|
$181 = ($R7$0 + 20) | 0;
|
|
$182 = HEAP32[$181 >> 2] | 0;
|
|
$183 = ($182 | 0) == (0 | 0);
|
|
if (!$183) {
|
|
$R7$0 = $182;
|
|
$RP9$0 = $181;
|
|
continue;
|
|
}
|
|
$184 = ($R7$0 + 16) | 0;
|
|
$185 = HEAP32[$184 >> 2] | 0;
|
|
$186 = ($185 | 0) == (0 | 0);
|
|
if ($186) {
|
|
break;
|
|
} else {
|
|
$R7$0 = $185;
|
|
$RP9$0 = $184;
|
|
}
|
|
}
|
|
$187 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$188 = $RP9$0 >>> 0 < $187 >>> 0;
|
|
if ($188) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
HEAP32[$RP9$0 >> 2] = 0;
|
|
$R7$1 = $R7$0;
|
|
break;
|
|
}
|
|
} else {
|
|
$165 = ($mem + $8) | 0;
|
|
$166 = HEAP32[$165 >> 2] | 0;
|
|
$167 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$168 = $166 >>> 0 < $167 >>> 0;
|
|
if ($168) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$169 = ($166 + 12) | 0;
|
|
$170 = HEAP32[$169 >> 2] | 0;
|
|
$171 = ($170 | 0) == ($9 | 0);
|
|
if (!$171) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$172 = ($163 + 8) | 0;
|
|
$173 = HEAP32[$172 >> 2] | 0;
|
|
$174 = ($173 | 0) == ($9 | 0);
|
|
if ($174) {
|
|
HEAP32[$169 >> 2] = $163;
|
|
HEAP32[$172 >> 2] = $166;
|
|
$R7$1 = $163;
|
|
break;
|
|
} else {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
}
|
|
} while (0);
|
|
$189 = ($161 | 0) == (0 | 0);
|
|
if (!$189) {
|
|
$$sum18 = ($8 + 20) | 0;
|
|
$190 = ($mem + $$sum18) | 0;
|
|
$191 = HEAP32[$190 >> 2] | 0;
|
|
$192 = (((32544 + ($191 << 2)) | 0) + 304) | 0;
|
|
$193 = HEAP32[$192 >> 2] | 0;
|
|
$194 = ($9 | 0) == ($193 | 0);
|
|
if ($194) {
|
|
HEAP32[$192 >> 2] = $R7$1;
|
|
$cond54 = ($R7$1 | 0) == (0 | 0);
|
|
if ($cond54) {
|
|
$195 = 1 << $191;
|
|
$196 = $195 ^ -1;
|
|
$197 = HEAP32[((32544 + 4) | 0) >> 2] | 0;
|
|
$198 = $197 & $196;
|
|
HEAP32[((32544 + 4) | 0) >> 2] = $198;
|
|
break;
|
|
}
|
|
} else {
|
|
$199 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$200 = $161 >>> 0 < $199 >>> 0;
|
|
if ($200) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$201 = ($161 + 16) | 0;
|
|
$202 = HEAP32[$201 >> 2] | 0;
|
|
$203 = ($202 | 0) == ($9 | 0);
|
|
if ($203) {
|
|
HEAP32[$201 >> 2] = $R7$1;
|
|
} else {
|
|
$204 = ($161 + 20) | 0;
|
|
HEAP32[$204 >> 2] = $R7$1;
|
|
}
|
|
$205 = ($R7$1 | 0) == (0 | 0);
|
|
if ($205) {
|
|
break;
|
|
}
|
|
}
|
|
$206 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$207 = $R7$1 >>> 0 < $206 >>> 0;
|
|
if ($207) {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
$208 = ($R7$1 + 24) | 0;
|
|
HEAP32[$208 >> 2] = $161;
|
|
$$sum19 = ($8 + 8) | 0;
|
|
$209 = ($mem + $$sum19) | 0;
|
|
$210 = HEAP32[$209 >> 2] | 0;
|
|
$211 = ($210 | 0) == (0 | 0);
|
|
do {
|
|
if (!$211) {
|
|
$212 = $210 >>> 0 < $206 >>> 0;
|
|
if ($212) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
$213 = ($R7$1 + 16) | 0;
|
|
HEAP32[$213 >> 2] = $210;
|
|
$214 = ($210 + 24) | 0;
|
|
HEAP32[$214 >> 2] = $R7$1;
|
|
break;
|
|
}
|
|
}
|
|
} while (0);
|
|
$$sum20 = ($8 + 12) | 0;
|
|
$215 = ($mem + $$sum20) | 0;
|
|
$216 = HEAP32[$215 >> 2] | 0;
|
|
$217 = ($216 | 0) == (0 | 0);
|
|
if (!$217) {
|
|
$218 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$219 = $216 >>> 0 < $218 >>> 0;
|
|
if ($219) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
$220 = ($R7$1 + 20) | 0;
|
|
HEAP32[$220 >> 2] = $216;
|
|
$221 = ($216 + 24) | 0;
|
|
HEAP32[$221 >> 2] = $R7$1;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} while (0);
|
|
$222 = $133 | 1;
|
|
$223 = ($p$0 + 4) | 0;
|
|
HEAP32[$223 >> 2] = $222;
|
|
$224 = ($p$0 + $133) | 0;
|
|
HEAP32[$224 >> 2] = $133;
|
|
$225 = HEAP32[((32544 + 20) | 0) >> 2] | 0;
|
|
$226 = ($p$0 | 0) == ($225 | 0);
|
|
if ($226) {
|
|
HEAP32[((32544 + 8) | 0) >> 2] = $133;
|
|
STACKTOP = sp;
|
|
return;
|
|
} else {
|
|
$psize$1 = $133;
|
|
}
|
|
} else {
|
|
$227 = $112 & -2;
|
|
HEAP32[$111 >> 2] = $227;
|
|
$228 = $psize$0 | 1;
|
|
$229 = ($p$0 + 4) | 0;
|
|
HEAP32[$229 >> 2] = $228;
|
|
$230 = ($p$0 + $psize$0) | 0;
|
|
HEAP32[$230 >> 2] = $psize$0;
|
|
$psize$1 = $psize$0;
|
|
}
|
|
$231 = $psize$1 >>> 3;
|
|
$232 = $psize$1 >>> 0 < 256;
|
|
if ($232) {
|
|
$233 = $231 << 1;
|
|
$234 = (((32544 + ($233 << 2)) | 0) + 40) | 0;
|
|
$235 = HEAP32[32544 >> 2] | 0;
|
|
$236 = 1 << $231;
|
|
$237 = $235 & $236;
|
|
$238 = ($237 | 0) == 0;
|
|
if ($238) {
|
|
$239 = $235 | $236;
|
|
HEAP32[32544 >> 2] = $239;
|
|
$$sum16$pre = ($233 + 2) | 0;
|
|
$$pre = (((32544 + ($$sum16$pre << 2)) | 0) + 40) | 0;
|
|
$$pre$phiZ2D = $$pre;
|
|
$F16$0 = $234;
|
|
} else {
|
|
$$sum17 = ($233 + 2) | 0;
|
|
$240 = (((32544 + ($$sum17 << 2)) | 0) + 40) | 0;
|
|
$241 = HEAP32[$240 >> 2] | 0;
|
|
$242 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$243 = $241 >>> 0 < $242 >>> 0;
|
|
if ($243) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
$$pre$phiZ2D = $240;
|
|
$F16$0 = $241;
|
|
}
|
|
}
|
|
HEAP32[$$pre$phiZ2D >> 2] = $p$0;
|
|
$244 = ($F16$0 + 12) | 0;
|
|
HEAP32[$244 >> 2] = $p$0;
|
|
$245 = ($p$0 + 8) | 0;
|
|
HEAP32[$245 >> 2] = $F16$0;
|
|
$246 = ($p$0 + 12) | 0;
|
|
HEAP32[$246 >> 2] = $234;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
$247 = $psize$1 >>> 8;
|
|
$248 = ($247 | 0) == 0;
|
|
if ($248) {
|
|
$I18$0 = 0;
|
|
} else {
|
|
$249 = $psize$1 >>> 0 > 16777215;
|
|
if ($249) {
|
|
$I18$0 = 31;
|
|
} else {
|
|
$250 = ($247 + 1048320) | 0;
|
|
$251 = $250 >>> 16;
|
|
$252 = $251 & 8;
|
|
$253 = $247 << $252;
|
|
$254 = ($253 + 520192) | 0;
|
|
$255 = $254 >>> 16;
|
|
$256 = $255 & 4;
|
|
$257 = $256 | $252;
|
|
$258 = $253 << $256;
|
|
$259 = ($258 + 245760) | 0;
|
|
$260 = $259 >>> 16;
|
|
$261 = $260 & 2;
|
|
$262 = $257 | $261;
|
|
$263 = (14 - $262) | 0;
|
|
$264 = $258 << $261;
|
|
$265 = $264 >>> 15;
|
|
$266 = ($263 + $265) | 0;
|
|
$267 = $266 << 1;
|
|
$268 = ($266 + 7) | 0;
|
|
$269 = $psize$1 >>> $268;
|
|
$270 = $269 & 1;
|
|
$271 = $270 | $267;
|
|
$I18$0 = $271;
|
|
}
|
|
}
|
|
$272 = (((32544 + ($I18$0 << 2)) | 0) + 304) | 0;
|
|
$273 = ($p$0 + 28) | 0;
|
|
$I18$0$c = $I18$0;
|
|
HEAP32[$273 >> 2] = $I18$0$c;
|
|
$274 = ($p$0 + 20) | 0;
|
|
HEAP32[$274 >> 2] = 0;
|
|
$275 = ($p$0 + 16) | 0;
|
|
HEAP32[$275 >> 2] = 0;
|
|
$276 = HEAP32[((32544 + 4) | 0) >> 2] | 0;
|
|
$277 = 1 << $I18$0;
|
|
$278 = $276 & $277;
|
|
$279 = ($278 | 0) == 0;
|
|
L199: do {
|
|
if ($279) {
|
|
$280 = $276 | $277;
|
|
HEAP32[((32544 + 4) | 0) >> 2] = $280;
|
|
HEAP32[$272 >> 2] = $p$0;
|
|
$281 = ($p$0 + 24) | 0;
|
|
HEAP32[$281 >> 2] = $272;
|
|
$282 = ($p$0 + 12) | 0;
|
|
HEAP32[$282 >> 2] = $p$0;
|
|
$283 = ($p$0 + 8) | 0;
|
|
HEAP32[$283 >> 2] = $p$0;
|
|
} else {
|
|
$284 = HEAP32[$272 >> 2] | 0;
|
|
$285 = ($I18$0 | 0) == 31;
|
|
if ($285) {
|
|
$293 = 0;
|
|
} else {
|
|
$286 = $I18$0 >>> 1;
|
|
$287 = (25 - $286) | 0;
|
|
$293 = $287;
|
|
}
|
|
$288 = ($284 + 4) | 0;
|
|
$289 = HEAP32[$288 >> 2] | 0;
|
|
$290 = $289 & -8;
|
|
$291 = ($290 | 0) == ($psize$1 | 0);
|
|
L205: do {
|
|
if ($291) {
|
|
$T$0$lcssa = $284;
|
|
} else {
|
|
$292 = $psize$1 << $293;
|
|
$K19$058 = $292;
|
|
$T$057 = $284;
|
|
while (1) {
|
|
$300 = $K19$058 >>> 31;
|
|
$301 = ((($T$057 + ($300 << 2)) | 0) + 16) | 0;
|
|
$296 = HEAP32[$301 >> 2] | 0;
|
|
$302 = ($296 | 0) == (0 | 0);
|
|
if ($302) {
|
|
break;
|
|
}
|
|
$294 = $K19$058 << 1;
|
|
$295 = ($296 + 4) | 0;
|
|
$297 = HEAP32[$295 >> 2] | 0;
|
|
$298 = $297 & -8;
|
|
$299 = ($298 | 0) == ($psize$1 | 0);
|
|
if ($299) {
|
|
$T$0$lcssa = $296;
|
|
break L205;
|
|
} else {
|
|
$K19$058 = $294;
|
|
$T$057 = $296;
|
|
}
|
|
}
|
|
$303 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$304 = $301 >>> 0 < $303 >>> 0;
|
|
if ($304) {
|
|
_abort();
|
|
// unreachable;
|
|
} else {
|
|
HEAP32[$301 >> 2] = $p$0;
|
|
$305 = ($p$0 + 24) | 0;
|
|
HEAP32[$305 >> 2] = $T$057;
|
|
$306 = ($p$0 + 12) | 0;
|
|
HEAP32[$306 >> 2] = $p$0;
|
|
$307 = ($p$0 + 8) | 0;
|
|
HEAP32[$307 >> 2] = $p$0;
|
|
break L199;
|
|
}
|
|
}
|
|
} while (0);
|
|
$308 = ($T$0$lcssa + 8) | 0;
|
|
$309 = HEAP32[$308 >> 2] | 0;
|
|
$310 = HEAP32[((32544 + 16) | 0) >> 2] | 0;
|
|
$311 = $T$0$lcssa >>> 0 >= $310 >>> 0;
|
|
$312 = $309 >>> 0 >= $310 >>> 0;
|
|
$or$cond = $311 & $312;
|
|
if ($or$cond) {
|
|
$313 = ($309 + 12) | 0;
|
|
HEAP32[$313 >> 2] = $p$0;
|
|
HEAP32[$308 >> 2] = $p$0;
|
|
$314 = ($p$0 + 8) | 0;
|
|
HEAP32[$314 >> 2] = $309;
|
|
$315 = ($p$0 + 12) | 0;
|
|
HEAP32[$315 >> 2] = $T$0$lcssa;
|
|
$316 = ($p$0 + 24) | 0;
|
|
HEAP32[$316 >> 2] = 0;
|
|
break;
|
|
} else {
|
|
_abort();
|
|
// unreachable;
|
|
}
|
|
}
|
|
} while (0);
|
|
$317 = HEAP32[((32544 + 32) | 0) >> 2] | 0;
|
|
$318 = ($317 + -1) | 0;
|
|
HEAP32[((32544 + 32) | 0) >> 2] = $318;
|
|
$319 = ($318 | 0) == 0;
|
|
if ($319) {
|
|
$sp$0$in$i = (32544 + 456) | 0;
|
|
} else {
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
while (1) {
|
|
$sp$0$i = HEAP32[$sp$0$in$i >> 2] | 0;
|
|
$320 = ($sp$0$i | 0) == (0 | 0);
|
|
$321 = ($sp$0$i + 8) | 0;
|
|
if ($320) {
|
|
break;
|
|
} else {
|
|
$sp$0$in$i = $321;
|
|
}
|
|
}
|
|
HEAP32[((32544 + 32) | 0) >> 2] = -1;
|
|
STACKTOP = sp;
|
|
return;
|
|
}
|
|
function runPostSets() {}
|
|
function _bitshift64Ashr(low, high, bits) {
|
|
low = low | 0;
|
|
high = high | 0;
|
|
bits = bits | 0;
|
|
var ander = 0;
|
|
if ((bits | 0) < 32) {
|
|
ander = ((1 << bits) - 1) | 0;
|
|
tempRet0 = high >> bits;
|
|
return (low >>> bits) | ((high & ander) << (32 - bits));
|
|
}
|
|
tempRet0 = (high | 0) < 0 ? -1 : 0;
|
|
return (high >> (bits - 32)) | 0;
|
|
}
|
|
function _i64Subtract(a, b, c, d) {
|
|
a = a | 0;
|
|
b = b | 0;
|
|
c = c | 0;
|
|
d = d | 0;
|
|
var l = 0,
|
|
h = 0;
|
|
l = (a - c) >>> 0;
|
|
h = (b - d) >>> 0;
|
|
h = (b - d - ((c >>> 0 > a >>> 0) | 0)) >>> 0; // Borrow one from high word to low word on underflow.
|
|
return ((tempRet0 = h), l | 0) | 0;
|
|
}
|
|
function _i64Add(a, b, c, d) {
|
|
/*
|
|
x = a + b*2^32
|
|
y = c + d*2^32
|
|
result = l + h*2^32
|
|
*/
|
|
a = a | 0;
|
|
b = b | 0;
|
|
c = c | 0;
|
|
d = d | 0;
|
|
var l = 0,
|
|
h = 0;
|
|
l = (a + c) >>> 0;
|
|
h = (b + d + ((l >>> 0 < a >>> 0) | 0)) >>> 0; // Add carry from low word to high word on overflow.
|
|
return ((tempRet0 = h), l | 0) | 0;
|
|
}
|
|
function _memset(ptr, value, num) {
|
|
ptr = ptr | 0;
|
|
value = value | 0;
|
|
num = num | 0;
|
|
var stop = 0,
|
|
value4 = 0,
|
|
stop4 = 0,
|
|
unaligned = 0;
|
|
stop = (ptr + num) | 0;
|
|
if ((num | 0) >= 20) {
|
|
// This is unaligned, but quite large, so work hard to get to aligned settings
|
|
value = value & 0xff;
|
|
unaligned = ptr & 3;
|
|
value4 = value | (value << 8) | (value << 16) | (value << 24);
|
|
stop4 = stop & ~3;
|
|
if (unaligned) {
|
|
unaligned = (ptr + 4 - unaligned) | 0;
|
|
while ((ptr | 0) < (unaligned | 0)) {
|
|
// no need to check for stop, since we have large num
|
|
HEAP8[ptr >> 0] = value;
|
|
ptr = (ptr + 1) | 0;
|
|
}
|
|
}
|
|
while ((ptr | 0) < (stop4 | 0)) {
|
|
HEAP32[ptr >> 2] = value4;
|
|
ptr = (ptr + 4) | 0;
|
|
}
|
|
}
|
|
while ((ptr | 0) < (stop | 0)) {
|
|
HEAP8[ptr >> 0] = value;
|
|
ptr = (ptr + 1) | 0;
|
|
}
|
|
return (ptr - num) | 0;
|
|
}
|
|
function _bitshift64Lshr(low, high, bits) {
|
|
low = low | 0;
|
|
high = high | 0;
|
|
bits = bits | 0;
|
|
var ander = 0;
|
|
if ((bits | 0) < 32) {
|
|
ander = ((1 << bits) - 1) | 0;
|
|
tempRet0 = high >>> bits;
|
|
return (low >>> bits) | ((high & ander) << (32 - bits));
|
|
}
|
|
tempRet0 = 0;
|
|
return (high >>> (bits - 32)) | 0;
|
|
}
|
|
function _bitshift64Shl(low, high, bits) {
|
|
low = low | 0;
|
|
high = high | 0;
|
|
bits = bits | 0;
|
|
var ander = 0;
|
|
if ((bits | 0) < 32) {
|
|
ander = ((1 << bits) - 1) | 0;
|
|
tempRet0 =
|
|
(high << bits) | ((low & (ander << (32 - bits))) >>> (32 - bits));
|
|
return low << bits;
|
|
}
|
|
tempRet0 = low << (bits - 32);
|
|
return 0;
|
|
}
|
|
function _strlen(ptr) {
|
|
ptr = ptr | 0;
|
|
var curr = 0;
|
|
curr = ptr;
|
|
while (HEAP8[curr >> 0] | 0) {
|
|
curr = (curr + 1) | 0;
|
|
}
|
|
return (curr - ptr) | 0;
|
|
}
|
|
function _memcpy(dest, src, num) {
|
|
dest = dest | 0;
|
|
src = src | 0;
|
|
num = num | 0;
|
|
var ret = 0;
|
|
if ((num | 0) >= 4096)
|
|
return _emscripten_memcpy_big(dest | 0, src | 0, num | 0) | 0;
|
|
ret = dest | 0;
|
|
if ((dest & 3) == (src & 3)) {
|
|
while (dest & 3) {
|
|
if ((num | 0) == 0) return ret | 0;
|
|
HEAP8[dest >> 0] = HEAP8[src >> 0] | 0;
|
|
dest = (dest + 1) | 0;
|
|
src = (src + 1) | 0;
|
|
num = (num - 1) | 0;
|
|
}
|
|
while ((num | 0) >= 4) {
|
|
HEAP32[dest >> 2] = HEAP32[src >> 2] | 0;
|
|
dest = (dest + 4) | 0;
|
|
src = (src + 4) | 0;
|
|
num = (num - 4) | 0;
|
|
}
|
|
}
|
|
while ((num | 0) > 0) {
|
|
HEAP8[dest >> 0] = HEAP8[src >> 0] | 0;
|
|
dest = (dest + 1) | 0;
|
|
src = (src + 1) | 0;
|
|
num = (num - 1) | 0;
|
|
}
|
|
return ret | 0;
|
|
}
|
|
function _memmove(dest, src, num) {
|
|
dest = dest | 0;
|
|
src = src | 0;
|
|
num = num | 0;
|
|
var ret = 0;
|
|
if (((src | 0) < (dest | 0)) & ((dest | 0) < ((src + num) | 0))) {
|
|
// Unlikely case: Copy backwards in a safe manner
|
|
ret = dest;
|
|
src = (src + num) | 0;
|
|
dest = (dest + num) | 0;
|
|
while ((num | 0) > 0) {
|
|
dest = (dest - 1) | 0;
|
|
src = (src - 1) | 0;
|
|
num = (num - 1) | 0;
|
|
HEAP8[dest >> 0] = HEAP8[src >> 0] | 0;
|
|
}
|
|
dest = ret;
|
|
} else {
|
|
_memcpy(dest, src, num) | 0;
|
|
}
|
|
return dest | 0;
|
|
}
|
|
function _llvm_ctlz_i32(x) {
|
|
x = x | 0;
|
|
var ret = 0;
|
|
ret = HEAP8[(ctlz_i8 + (x >>> 24)) >> 0] | 0;
|
|
if ((ret | 0) < 8) return ret | 0;
|
|
ret = HEAP8[(ctlz_i8 + ((x >> 16) & 0xff)) >> 0] | 0;
|
|
if ((ret | 0) < 8) return (ret + 8) | 0;
|
|
ret = HEAP8[(ctlz_i8 + ((x >> 8) & 0xff)) >> 0] | 0;
|
|
if ((ret | 0) < 8) return (ret + 16) | 0;
|
|
return ((HEAP8[(ctlz_i8 + (x & 0xff)) >> 0] | 0) + 24) | 0;
|
|
}
|
|
|
|
function _llvm_cttz_i32(x) {
|
|
x = x | 0;
|
|
var ret = 0;
|
|
ret = HEAP8[(cttz_i8 + (x & 0xff)) >> 0] | 0;
|
|
if ((ret | 0) < 8) return ret | 0;
|
|
ret = HEAP8[(cttz_i8 + ((x >> 8) & 0xff)) >> 0] | 0;
|
|
if ((ret | 0) < 8) return (ret + 8) | 0;
|
|
ret = HEAP8[(cttz_i8 + ((x >> 16) & 0xff)) >> 0] | 0;
|
|
if ((ret | 0) < 8) return (ret + 16) | 0;
|
|
return ((HEAP8[(cttz_i8 + (x >>> 24)) >> 0] | 0) + 24) | 0;
|
|
}
|
|
|
|
// ======== compiled code from system/lib/compiler-rt , see readme therein
|
|
function ___muldsi3($a, $b) {
|
|
$a = $a | 0;
|
|
$b = $b | 0;
|
|
var $1 = 0,
|
|
$2 = 0,
|
|
$3 = 0,
|
|
$6 = 0,
|
|
$8 = 0,
|
|
$11 = 0,
|
|
$12 = 0;
|
|
$1 = $a & 65535;
|
|
$2 = $b & 65535;
|
|
$3 = Math_imul($2, $1) | 0;
|
|
$6 = $a >>> 16;
|
|
$8 = (($3 >>> 16) + (Math_imul($2, $6) | 0)) | 0;
|
|
$11 = $b >>> 16;
|
|
$12 = Math_imul($11, $1) | 0;
|
|
return (
|
|
((tempRet0 =
|
|
(((($8 >>> 16) + (Math_imul($11, $6) | 0)) | 0) +
|
|
(((($8 & 65535) + $12) | 0) >>> 16)) |
|
|
0),
|
|
0 | ((($8 + $12) << 16) | ($3 & 65535))) | 0
|
|
);
|
|
}
|
|
function ___divdi3($a$0, $a$1, $b$0, $b$1) {
|
|
$a$0 = $a$0 | 0;
|
|
$a$1 = $a$1 | 0;
|
|
$b$0 = $b$0 | 0;
|
|
$b$1 = $b$1 | 0;
|
|
var $1$0 = 0,
|
|
$1$1 = 0,
|
|
$2$0 = 0,
|
|
$2$1 = 0,
|
|
$4$0 = 0,
|
|
$4$1 = 0,
|
|
$6$0 = 0,
|
|
$7$0 = 0,
|
|
$7$1 = 0,
|
|
$8$0 = 0,
|
|
$10$0 = 0;
|
|
$1$0 = ($a$1 >> 31) | ((($a$1 | 0) < 0 ? -1 : 0) << 1);
|
|
$1$1 = ((($a$1 | 0) < 0 ? -1 : 0) >> 31) | ((($a$1 | 0) < 0 ? -1 : 0) << 1);
|
|
$2$0 = ($b$1 >> 31) | ((($b$1 | 0) < 0 ? -1 : 0) << 1);
|
|
$2$1 = ((($b$1 | 0) < 0 ? -1 : 0) >> 31) | ((($b$1 | 0) < 0 ? -1 : 0) << 1);
|
|
$4$0 = _i64Subtract($1$0 ^ $a$0, $1$1 ^ $a$1, $1$0, $1$1) | 0;
|
|
$4$1 = tempRet0;
|
|
$6$0 = _i64Subtract($2$0 ^ $b$0, $2$1 ^ $b$1, $2$0, $2$1) | 0;
|
|
$7$0 = $2$0 ^ $1$0;
|
|
$7$1 = $2$1 ^ $1$1;
|
|
$8$0 = ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, 0) | 0;
|
|
$10$0 = _i64Subtract($8$0 ^ $7$0, tempRet0 ^ $7$1, $7$0, $7$1) | 0;
|
|
return ((tempRet0 = tempRet0), $10$0) | 0;
|
|
}
|
|
function ___remdi3($a$0, $a$1, $b$0, $b$1) {
|
|
$a$0 = $a$0 | 0;
|
|
$a$1 = $a$1 | 0;
|
|
$b$0 = $b$0 | 0;
|
|
$b$1 = $b$1 | 0;
|
|
var $rem = 0,
|
|
$1$0 = 0,
|
|
$1$1 = 0,
|
|
$2$0 = 0,
|
|
$2$1 = 0,
|
|
$4$0 = 0,
|
|
$4$1 = 0,
|
|
$6$0 = 0,
|
|
$10$0 = 0,
|
|
$10$1 = 0,
|
|
__stackBase__ = 0;
|
|
__stackBase__ = STACKTOP;
|
|
STACKTOP = (STACKTOP + 8) | 0;
|
|
$rem = __stackBase__ | 0;
|
|
$1$0 = ($a$1 >> 31) | ((($a$1 | 0) < 0 ? -1 : 0) << 1);
|
|
$1$1 = ((($a$1 | 0) < 0 ? -1 : 0) >> 31) | ((($a$1 | 0) < 0 ? -1 : 0) << 1);
|
|
$2$0 = ($b$1 >> 31) | ((($b$1 | 0) < 0 ? -1 : 0) << 1);
|
|
$2$1 = ((($b$1 | 0) < 0 ? -1 : 0) >> 31) | ((($b$1 | 0) < 0 ? -1 : 0) << 1);
|
|
$4$0 = _i64Subtract($1$0 ^ $a$0, $1$1 ^ $a$1, $1$0, $1$1) | 0;
|
|
$4$1 = tempRet0;
|
|
$6$0 = _i64Subtract($2$0 ^ $b$0, $2$1 ^ $b$1, $2$0, $2$1) | 0;
|
|
___udivmoddi4($4$0, $4$1, $6$0, tempRet0, $rem) | 0;
|
|
$10$0 =
|
|
_i64Subtract(
|
|
HEAP32[$rem >> 2] ^ $1$0,
|
|
HEAP32[($rem + 4) >> 2] ^ $1$1,
|
|
$1$0,
|
|
$1$1
|
|
) | 0;
|
|
$10$1 = tempRet0;
|
|
STACKTOP = __stackBase__;
|
|
return ((tempRet0 = $10$1), $10$0) | 0;
|
|
}
|
|
function ___muldi3($a$0, $a$1, $b$0, $b$1) {
|
|
$a$0 = $a$0 | 0;
|
|
$a$1 = $a$1 | 0;
|
|
$b$0 = $b$0 | 0;
|
|
$b$1 = $b$1 | 0;
|
|
var $x_sroa_0_0_extract_trunc = 0,
|
|
$y_sroa_0_0_extract_trunc = 0,
|
|
$1$0 = 0,
|
|
$1$1 = 0,
|
|
$2 = 0;
|
|
$x_sroa_0_0_extract_trunc = $a$0;
|
|
$y_sroa_0_0_extract_trunc = $b$0;
|
|
$1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0;
|
|
$1$1 = tempRet0;
|
|
$2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0;
|
|
return (
|
|
((tempRet0 =
|
|
((((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2) | 0) + $1$1) |
|
|
($1$1 & 0)),
|
|
0 | ($1$0 & -1)) | 0
|
|
);
|
|
}
|
|
function ___udivdi3($a$0, $a$1, $b$0, $b$1) {
|
|
$a$0 = $a$0 | 0;
|
|
$a$1 = $a$1 | 0;
|
|
$b$0 = $b$0 | 0;
|
|
$b$1 = $b$1 | 0;
|
|
var $1$0 = 0;
|
|
$1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0;
|
|
return ((tempRet0 = tempRet0), $1$0) | 0;
|
|
}
|
|
function ___uremdi3($a$0, $a$1, $b$0, $b$1) {
|
|
$a$0 = $a$0 | 0;
|
|
$a$1 = $a$1 | 0;
|
|
$b$0 = $b$0 | 0;
|
|
$b$1 = $b$1 | 0;
|
|
var $rem = 0,
|
|
__stackBase__ = 0;
|
|
__stackBase__ = STACKTOP;
|
|
STACKTOP = (STACKTOP + 8) | 0;
|
|
$rem = __stackBase__ | 0;
|
|
___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0;
|
|
STACKTOP = __stackBase__;
|
|
return (
|
|
((tempRet0 = HEAP32[($rem + 4) >> 2] | 0), HEAP32[$rem >> 2] | 0) | 0
|
|
);
|
|
}
|
|
function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) {
|
|
$a$0 = $a$0 | 0;
|
|
$a$1 = $a$1 | 0;
|
|
$b$0 = $b$0 | 0;
|
|
$b$1 = $b$1 | 0;
|
|
$rem = $rem | 0;
|
|
var $n_sroa_0_0_extract_trunc = 0,
|
|
$n_sroa_1_4_extract_shift$0 = 0,
|
|
$n_sroa_1_4_extract_trunc = 0,
|
|
$d_sroa_0_0_extract_trunc = 0,
|
|
$d_sroa_1_4_extract_shift$0 = 0,
|
|
$d_sroa_1_4_extract_trunc = 0,
|
|
$4 = 0,
|
|
$17 = 0,
|
|
$37 = 0,
|
|
$49 = 0,
|
|
$51 = 0,
|
|
$57 = 0,
|
|
$58 = 0,
|
|
$66 = 0,
|
|
$78 = 0,
|
|
$86 = 0,
|
|
$88 = 0,
|
|
$89 = 0,
|
|
$91 = 0,
|
|
$92 = 0,
|
|
$95 = 0,
|
|
$105 = 0,
|
|
$117 = 0,
|
|
$119 = 0,
|
|
$125 = 0,
|
|
$126 = 0,
|
|
$130 = 0,
|
|
$q_sroa_1_1_ph = 0,
|
|
$q_sroa_0_1_ph = 0,
|
|
$r_sroa_1_1_ph = 0,
|
|
$r_sroa_0_1_ph = 0,
|
|
$sr_1_ph = 0,
|
|
$d_sroa_0_0_insert_insert99$0 = 0,
|
|
$d_sroa_0_0_insert_insert99$1 = 0,
|
|
$137$0 = 0,
|
|
$137$1 = 0,
|
|
$carry_0203 = 0,
|
|
$sr_1202 = 0,
|
|
$r_sroa_0_1201 = 0,
|
|
$r_sroa_1_1200 = 0,
|
|
$q_sroa_0_1199 = 0,
|
|
$q_sroa_1_1198 = 0,
|
|
$147 = 0,
|
|
$149 = 0,
|
|
$r_sroa_0_0_insert_insert42$0 = 0,
|
|
$r_sroa_0_0_insert_insert42$1 = 0,
|
|
$150$1 = 0,
|
|
$151$0 = 0,
|
|
$152 = 0,
|
|
$154$0 = 0,
|
|
$r_sroa_0_0_extract_trunc = 0,
|
|
$r_sroa_1_4_extract_trunc = 0,
|
|
$155 = 0,
|
|
$carry_0_lcssa$0 = 0,
|
|
$carry_0_lcssa$1 = 0,
|
|
$r_sroa_0_1_lcssa = 0,
|
|
$r_sroa_1_1_lcssa = 0,
|
|
$q_sroa_0_1_lcssa = 0,
|
|
$q_sroa_1_1_lcssa = 0,
|
|
$q_sroa_0_0_insert_ext75$0 = 0,
|
|
$q_sroa_0_0_insert_ext75$1 = 0,
|
|
$q_sroa_0_0_insert_insert77$1 = 0,
|
|
$_0$0 = 0,
|
|
$_0$1 = 0;
|
|
$n_sroa_0_0_extract_trunc = $a$0;
|
|
$n_sroa_1_4_extract_shift$0 = $a$1;
|
|
$n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0;
|
|
$d_sroa_0_0_extract_trunc = $b$0;
|
|
$d_sroa_1_4_extract_shift$0 = $b$1;
|
|
$d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0;
|
|
if (($n_sroa_1_4_extract_trunc | 0) == 0) {
|
|
$4 = ($rem | 0) != 0;
|
|
if (($d_sroa_1_4_extract_trunc | 0) == 0) {
|
|
if ($4) {
|
|
HEAP32[$rem >> 2] =
|
|
($n_sroa_0_0_extract_trunc >>> 0) %
|
|
($d_sroa_0_0_extract_trunc >>> 0);
|
|
HEAP32[($rem + 4) >> 2] = 0;
|
|
}
|
|
$_0$1 = 0;
|
|
$_0$0 =
|
|
(($n_sroa_0_0_extract_trunc >>> 0) /
|
|
($d_sroa_0_0_extract_trunc >>> 0)) >>>
|
|
0;
|
|
return ((tempRet0 = $_0$1), $_0$0) | 0;
|
|
} else {
|
|
if (!$4) {
|
|
$_0$1 = 0;
|
|
$_0$0 = 0;
|
|
return ((tempRet0 = $_0$1), $_0$0) | 0;
|
|
}
|
|
HEAP32[$rem >> 2] = $a$0 & -1;
|
|
HEAP32[($rem + 4) >> 2] = $a$1 & 0;
|
|
$_0$1 = 0;
|
|
$_0$0 = 0;
|
|
return ((tempRet0 = $_0$1), $_0$0) | 0;
|
|
}
|
|
}
|
|
$17 = ($d_sroa_1_4_extract_trunc | 0) == 0;
|
|
do {
|
|
if (($d_sroa_0_0_extract_trunc | 0) == 0) {
|
|
if ($17) {
|
|
if (($rem | 0) != 0) {
|
|
HEAP32[$rem >> 2] =
|
|
($n_sroa_1_4_extract_trunc >>> 0) %
|
|
($d_sroa_0_0_extract_trunc >>> 0);
|
|
HEAP32[($rem + 4) >> 2] = 0;
|
|
}
|
|
$_0$1 = 0;
|
|
$_0$0 =
|
|
(($n_sroa_1_4_extract_trunc >>> 0) /
|
|
($d_sroa_0_0_extract_trunc >>> 0)) >>>
|
|
0;
|
|
return ((tempRet0 = $_0$1), $_0$0) | 0;
|
|
}
|
|
if (($n_sroa_0_0_extract_trunc | 0) == 0) {
|
|
if (($rem | 0) != 0) {
|
|
HEAP32[$rem >> 2] = 0;
|
|
HEAP32[($rem + 4) >> 2] =
|
|
($n_sroa_1_4_extract_trunc >>> 0) %
|
|
($d_sroa_1_4_extract_trunc >>> 0);
|
|
}
|
|
$_0$1 = 0;
|
|
$_0$0 =
|
|
(($n_sroa_1_4_extract_trunc >>> 0) /
|
|
($d_sroa_1_4_extract_trunc >>> 0)) >>>
|
|
0;
|
|
return ((tempRet0 = $_0$1), $_0$0) | 0;
|
|
}
|
|
$37 = ($d_sroa_1_4_extract_trunc - 1) | 0;
|
|
if ((($37 & $d_sroa_1_4_extract_trunc) | 0) == 0) {
|
|
if (($rem | 0) != 0) {
|
|
HEAP32[$rem >> 2] = 0 | ($a$0 & -1);
|
|
HEAP32[($rem + 4) >> 2] =
|
|
($37 & $n_sroa_1_4_extract_trunc) | ($a$1 & 0);
|
|
}
|
|
$_0$1 = 0;
|
|
$_0$0 =
|
|
$n_sroa_1_4_extract_trunc >>>
|
|
((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0);
|
|
return ((tempRet0 = $_0$1), $_0$0) | 0;
|
|
}
|
|
$49 = _llvm_ctlz_i32($d_sroa_1_4_extract_trunc | 0) | 0;
|
|
$51 = ($49 - (_llvm_ctlz_i32($n_sroa_1_4_extract_trunc | 0) | 0)) | 0;
|
|
if ($51 >>> 0 <= 30) {
|
|
$57 = ($51 + 1) | 0;
|
|
$58 = (31 - $51) | 0;
|
|
$sr_1_ph = $57;
|
|
$r_sroa_0_1_ph =
|
|
($n_sroa_1_4_extract_trunc << $58) |
|
|
($n_sroa_0_0_extract_trunc >>> ($57 >>> 0));
|
|
$r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0);
|
|
$q_sroa_0_1_ph = 0;
|
|
$q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58;
|
|
break;
|
|
}
|
|
if (($rem | 0) == 0) {
|
|
$_0$1 = 0;
|
|
$_0$0 = 0;
|
|
return ((tempRet0 = $_0$1), $_0$0) | 0;
|
|
}
|
|
HEAP32[$rem >> 2] = 0 | ($a$0 & -1);
|
|
HEAP32[($rem + 4) >> 2] = $n_sroa_1_4_extract_shift$0 | ($a$1 & 0);
|
|
$_0$1 = 0;
|
|
$_0$0 = 0;
|
|
return ((tempRet0 = $_0$1), $_0$0) | 0;
|
|
} else {
|
|
if (!$17) {
|
|
$117 = _llvm_ctlz_i32($d_sroa_1_4_extract_trunc | 0) | 0;
|
|
$119 =
|
|
($117 - (_llvm_ctlz_i32($n_sroa_1_4_extract_trunc | 0) | 0)) | 0;
|
|
if ($119 >>> 0 <= 31) {
|
|
$125 = ($119 + 1) | 0;
|
|
$126 = (31 - $119) | 0;
|
|
$130 = ($119 - 31) >> 31;
|
|
$sr_1_ph = $125;
|
|
$r_sroa_0_1_ph =
|
|
(($n_sroa_0_0_extract_trunc >>> ($125 >>> 0)) & $130) |
|
|
($n_sroa_1_4_extract_trunc << $126);
|
|
$r_sroa_1_1_ph =
|
|
($n_sroa_1_4_extract_trunc >>> ($125 >>> 0)) & $130;
|
|
$q_sroa_0_1_ph = 0;
|
|
$q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126;
|
|
break;
|
|
}
|
|
if (($rem | 0) == 0) {
|
|
$_0$1 = 0;
|
|
$_0$0 = 0;
|
|
return ((tempRet0 = $_0$1), $_0$0) | 0;
|
|
}
|
|
HEAP32[$rem >> 2] = 0 | ($a$0 & -1);
|
|
HEAP32[($rem + 4) >> 2] = $n_sroa_1_4_extract_shift$0 | ($a$1 & 0);
|
|
$_0$1 = 0;
|
|
$_0$0 = 0;
|
|
return ((tempRet0 = $_0$1), $_0$0) | 0;
|
|
}
|
|
$66 = ($d_sroa_0_0_extract_trunc - 1) | 0;
|
|
if ((($66 & $d_sroa_0_0_extract_trunc) | 0) != 0) {
|
|
$86 = ((_llvm_ctlz_i32($d_sroa_0_0_extract_trunc | 0) | 0) + 33) | 0;
|
|
$88 = ($86 - (_llvm_ctlz_i32($n_sroa_1_4_extract_trunc | 0) | 0)) | 0;
|
|
$89 = (64 - $88) | 0;
|
|
$91 = (32 - $88) | 0;
|
|
$92 = $91 >> 31;
|
|
$95 = ($88 - 32) | 0;
|
|
$105 = $95 >> 31;
|
|
$sr_1_ph = $88;
|
|
$r_sroa_0_1_ph =
|
|
((($91 - 1) >> 31) & ($n_sroa_1_4_extract_trunc >>> ($95 >>> 0))) |
|
|
((($n_sroa_1_4_extract_trunc << $91) |
|
|
($n_sroa_0_0_extract_trunc >>> ($88 >>> 0))) &
|
|
$105);
|
|
$r_sroa_1_1_ph = $105 & ($n_sroa_1_4_extract_trunc >>> ($88 >>> 0));
|
|
$q_sroa_0_1_ph = ($n_sroa_0_0_extract_trunc << $89) & $92;
|
|
$q_sroa_1_1_ph =
|
|
((($n_sroa_1_4_extract_trunc << $89) |
|
|
($n_sroa_0_0_extract_trunc >>> ($95 >>> 0))) &
|
|
$92) |
|
|
(($n_sroa_0_0_extract_trunc << $91) & (($88 - 33) >> 31));
|
|
break;
|
|
}
|
|
if (($rem | 0) != 0) {
|
|
HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc;
|
|
HEAP32[($rem + 4) >> 2] = 0;
|
|
}
|
|
if (($d_sroa_0_0_extract_trunc | 0) == 1) {
|
|
$_0$1 = $n_sroa_1_4_extract_shift$0 | ($a$1 & 0);
|
|
$_0$0 = 0 | ($a$0 & -1);
|
|
return ((tempRet0 = $_0$1), $_0$0) | 0;
|
|
} else {
|
|
$78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0;
|
|
$_0$1 = 0 | ($n_sroa_1_4_extract_trunc >>> ($78 >>> 0));
|
|
$_0$0 =
|
|
($n_sroa_1_4_extract_trunc << (32 - $78)) |
|
|
($n_sroa_0_0_extract_trunc >>> ($78 >>> 0)) |
|
|
0;
|
|
return ((tempRet0 = $_0$1), $_0$0) | 0;
|
|
}
|
|
}
|
|
} while (0);
|
|
if (($sr_1_ph | 0) == 0) {
|
|
$q_sroa_1_1_lcssa = $q_sroa_1_1_ph;
|
|
$q_sroa_0_1_lcssa = $q_sroa_0_1_ph;
|
|
$r_sroa_1_1_lcssa = $r_sroa_1_1_ph;
|
|
$r_sroa_0_1_lcssa = $r_sroa_0_1_ph;
|
|
$carry_0_lcssa$1 = 0;
|
|
$carry_0_lcssa$0 = 0;
|
|
} else {
|
|
$d_sroa_0_0_insert_insert99$0 = 0 | ($b$0 & -1);
|
|
$d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | ($b$1 & 0);
|
|
$137$0 =
|
|
_i64Add(
|
|
$d_sroa_0_0_insert_insert99$0,
|
|
$d_sroa_0_0_insert_insert99$1,
|
|
-1,
|
|
-1
|
|
) | 0;
|
|
$137$1 = tempRet0;
|
|
$q_sroa_1_1198 = $q_sroa_1_1_ph;
|
|
$q_sroa_0_1199 = $q_sroa_0_1_ph;
|
|
$r_sroa_1_1200 = $r_sroa_1_1_ph;
|
|
$r_sroa_0_1201 = $r_sroa_0_1_ph;
|
|
$sr_1202 = $sr_1_ph;
|
|
$carry_0203 = 0;
|
|
while (1) {
|
|
$147 = ($q_sroa_0_1199 >>> 31) | ($q_sroa_1_1198 << 1);
|
|
$149 = $carry_0203 | ($q_sroa_0_1199 << 1);
|
|
$r_sroa_0_0_insert_insert42$0 =
|
|
0 | (($r_sroa_0_1201 << 1) | ($q_sroa_1_1198 >>> 31));
|
|
$r_sroa_0_0_insert_insert42$1 =
|
|
($r_sroa_0_1201 >>> 31) | ($r_sroa_1_1200 << 1) | 0;
|
|
_i64Subtract(
|
|
$137$0,
|
|
$137$1,
|
|
$r_sroa_0_0_insert_insert42$0,
|
|
$r_sroa_0_0_insert_insert42$1
|
|
) | 0;
|
|
$150$1 = tempRet0;
|
|
$151$0 = ($150$1 >> 31) | ((($150$1 | 0) < 0 ? -1 : 0) << 1);
|
|
$152 = $151$0 & 1;
|
|
$154$0 =
|
|
_i64Subtract(
|
|
$r_sroa_0_0_insert_insert42$0,
|
|
$r_sroa_0_0_insert_insert42$1,
|
|
$151$0 & $d_sroa_0_0_insert_insert99$0,
|
|
(((($150$1 | 0) < 0 ? -1 : 0) >> 31) |
|
|
((($150$1 | 0) < 0 ? -1 : 0) << 1)) &
|
|
$d_sroa_0_0_insert_insert99$1
|
|
) | 0;
|
|
$r_sroa_0_0_extract_trunc = $154$0;
|
|
$r_sroa_1_4_extract_trunc = tempRet0;
|
|
$155 = ($sr_1202 - 1) | 0;
|
|
if (($155 | 0) == 0) {
|
|
break;
|
|
} else {
|
|
$q_sroa_1_1198 = $147;
|
|
$q_sroa_0_1199 = $149;
|
|
$r_sroa_1_1200 = $r_sroa_1_4_extract_trunc;
|
|
$r_sroa_0_1201 = $r_sroa_0_0_extract_trunc;
|
|
$sr_1202 = $155;
|
|
$carry_0203 = $152;
|
|
}
|
|
}
|
|
$q_sroa_1_1_lcssa = $147;
|
|
$q_sroa_0_1_lcssa = $149;
|
|
$r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc;
|
|
$r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc;
|
|
$carry_0_lcssa$1 = 0;
|
|
$carry_0_lcssa$0 = $152;
|
|
}
|
|
$q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa;
|
|
$q_sroa_0_0_insert_ext75$1 = 0;
|
|
$q_sroa_0_0_insert_insert77$1 =
|
|
$q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1;
|
|
if (($rem | 0) != 0) {
|
|
HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa;
|
|
HEAP32[($rem + 4) >> 2] = $r_sroa_1_1_lcssa | 0;
|
|
}
|
|
$_0$1 =
|
|
((0 | $q_sroa_0_0_insert_ext75$0) >>> 31) |
|
|
($q_sroa_0_0_insert_insert77$1 << 1) |
|
|
((($q_sroa_0_0_insert_ext75$1 << 1) |
|
|
($q_sroa_0_0_insert_ext75$0 >>> 31)) &
|
|
0) |
|
|
$carry_0_lcssa$1;
|
|
$_0$0 =
|
|
((($q_sroa_0_0_insert_ext75$0 << 1) | (0 >>> 31)) & -2) |
|
|
$carry_0_lcssa$0;
|
|
return ((tempRet0 = $_0$1), $_0$0) | 0;
|
|
}
|
|
// =======================================================================
|
|
|
|
// EMSCRIPTEN_END_FUNCS
|
|
|
|
// EMSCRIPTEN_END_FUNCS
|
|
|
|
return {
|
|
_curve25519_verify: _curve25519_verify,
|
|
_crypto_sign_ed25519_ref10_ge_scalarmult_base: _crypto_sign_ed25519_ref10_ge_scalarmult_base,
|
|
_curve25519_sign: _curve25519_sign,
|
|
_free: _free,
|
|
_i64Add: _i64Add,
|
|
_memmove: _memmove,
|
|
_bitshift64Ashr: _bitshift64Ashr,
|
|
_sph_sha512_init: _sph_sha512_init,
|
|
_curve25519_donna: _curve25519_donna,
|
|
_memset: _memset,
|
|
_malloc: _malloc,
|
|
_memcpy: _memcpy,
|
|
_strlen: _strlen,
|
|
_bitshift64Lshr: _bitshift64Lshr,
|
|
_i64Subtract: _i64Subtract,
|
|
_bitshift64Shl: _bitshift64Shl,
|
|
runPostSets: runPostSets,
|
|
stackAlloc: stackAlloc,
|
|
stackSave: stackSave,
|
|
stackRestore: stackRestore,
|
|
setThrew: setThrew,
|
|
setTempRet0: setTempRet0,
|
|
getTempRet0: getTempRet0,
|
|
};
|
|
})(
|
|
// EMSCRIPTEN_END_ASM
|
|
Module.asmGlobalArg,
|
|
Module.asmLibraryArg,
|
|
buffer
|
|
);
|
|
var _curve25519_verify = (Module['_curve25519_verify'] =
|
|
asm['_curve25519_verify']);
|
|
var _crypto_sign_ed25519_ref10_ge_scalarmult_base = (Module[
|
|
'_crypto_sign_ed25519_ref10_ge_scalarmult_base'
|
|
] =
|
|
asm['_crypto_sign_ed25519_ref10_ge_scalarmult_base']);
|
|
var _curve25519_sign = (Module['_curve25519_sign'] = asm['_curve25519_sign']);
|
|
var _free = (Module['_free'] = asm['_free']);
|
|
var _i64Add = (Module['_i64Add'] = asm['_i64Add']);
|
|
var _memmove = (Module['_memmove'] = asm['_memmove']);
|
|
var _bitshift64Ashr = (Module['_bitshift64Ashr'] = asm['_bitshift64Ashr']);
|
|
var _sph_sha512_init = (Module['_sph_sha512_init'] = asm['_sph_sha512_init']);
|
|
var _curve25519_donna = (Module['_curve25519_donna'] =
|
|
asm['_curve25519_donna']);
|
|
var _memset = (Module['_memset'] = asm['_memset']);
|
|
var _malloc = (Module['_malloc'] = asm['_malloc']);
|
|
var _memcpy = (Module['_memcpy'] = asm['_memcpy']);
|
|
var _strlen = (Module['_strlen'] = asm['_strlen']);
|
|
var _bitshift64Lshr = (Module['_bitshift64Lshr'] = asm['_bitshift64Lshr']);
|
|
var _i64Subtract = (Module['_i64Subtract'] = asm['_i64Subtract']);
|
|
var _bitshift64Shl = (Module['_bitshift64Shl'] = asm['_bitshift64Shl']);
|
|
var runPostSets = (Module['runPostSets'] = asm['runPostSets']);
|
|
|
|
Runtime.stackAlloc = asm['stackAlloc'];
|
|
Runtime.stackSave = asm['stackSave'];
|
|
Runtime.stackRestore = asm['stackRestore'];
|
|
Runtime.setTempRet0 = asm['setTempRet0'];
|
|
Runtime.getTempRet0 = asm['getTempRet0'];
|
|
|
|
// TODO: strip out parts of this we do not need
|
|
|
|
//======= begin closure i64 code =======
|
|
|
|
// Copyright 2009 The Closure Library Authors. All Rights Reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS-IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
/**
|
|
* @fileoverview Defines a Long class for representing a 64-bit two's-complement
|
|
* integer value, which faithfully simulates the behavior of a Java "long". This
|
|
* implementation is derived from LongLib in GWT.
|
|
*
|
|
*/
|
|
|
|
var i64Math = (function() {
|
|
// Emscripten wrapper
|
|
var goog = { math: {} };
|
|
|
|
/**
|
|
* Constructs a 64-bit two's-complement integer, given its low and high 32-bit
|
|
* values as *signed* integers. See the from* functions below for more
|
|
* convenient ways of constructing Longs.
|
|
*
|
|
* The internal representation of a long is the two given signed, 32-bit values.
|
|
* We use 32-bit pieces because these are the size of integers on which
|
|
* Javascript performs bit-operations. For operations like addition and
|
|
* multiplication, we split each number into 16-bit pieces, which can easily be
|
|
* multiplied within Javascript's floating-point representation without overflow
|
|
* or change in sign.
|
|
*
|
|
* In the algorithms below, we frequently reduce the negative case to the
|
|
* positive case by negating the input(s) and then post-processing the result.
|
|
* Note that we must ALWAYS check specially whether those values are MIN_VALUE
|
|
* (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as
|
|
* a positive number, it overflows back into a negative). Not handling this
|
|
* case would often result in infinite recursion.
|
|
*
|
|
* @param {number} low The low (signed) 32 bits of the long.
|
|
* @param {number} high The high (signed) 32 bits of the long.
|
|
* @constructor
|
|
*/
|
|
goog.math.Long = function(low, high) {
|
|
/**
|
|
* @type {number}
|
|
* @private
|
|
*/
|
|
this.low_ = low | 0; // force into 32 signed bits.
|
|
|
|
/**
|
|
* @type {number}
|
|
* @private
|
|
*/
|
|
this.high_ = high | 0; // force into 32 signed bits.
|
|
};
|
|
|
|
// NOTE: Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the
|
|
// from* methods on which they depend.
|
|
|
|
/**
|
|
* A cache of the Long representations of small integer values.
|
|
* @type {!Object}
|
|
* @private
|
|
*/
|
|
goog.math.Long.IntCache_ = {};
|
|
|
|
/**
|
|
* Returns a Long representing the given (32-bit) integer value.
|
|
* @param {number} value The 32-bit integer in question.
|
|
* @return {!goog.math.Long} The corresponding Long value.
|
|
*/
|
|
goog.math.Long.fromInt = function(value) {
|
|
if (-128 <= value && value < 128) {
|
|
var cachedObj = goog.math.Long.IntCache_[value];
|
|
if (cachedObj) {
|
|
return cachedObj;
|
|
}
|
|
}
|
|
|
|
var obj = new goog.math.Long(value | 0, value < 0 ? -1 : 0);
|
|
if (-128 <= value && value < 128) {
|
|
goog.math.Long.IntCache_[value] = obj;
|
|
}
|
|
return obj;
|
|
};
|
|
|
|
/**
|
|
* Returns a Long representing the given value, provided that it is a finite
|
|
* number. Otherwise, zero is returned.
|
|
* @param {number} value The number in question.
|
|
* @return {!goog.math.Long} The corresponding Long value.
|
|
*/
|
|
goog.math.Long.fromNumber = function(value) {
|
|
if (isNaN(value) || !isFinite(value)) {
|
|
return goog.math.Long.ZERO;
|
|
} else if (value <= -goog.math.Long.TWO_PWR_63_DBL_) {
|
|
return goog.math.Long.MIN_VALUE;
|
|
} else if (value + 1 >= goog.math.Long.TWO_PWR_63_DBL_) {
|
|
return goog.math.Long.MAX_VALUE;
|
|
} else if (value < 0) {
|
|
return goog.math.Long.fromNumber(-value).negate();
|
|
} else {
|
|
return new goog.math.Long(
|
|
(value % goog.math.Long.TWO_PWR_32_DBL_) | 0,
|
|
(value / goog.math.Long.TWO_PWR_32_DBL_) | 0
|
|
);
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Returns a Long representing the 64-bit integer that comes by concatenating
|
|
* the given high and low bits. Each is assumed to use 32 bits.
|
|
* @param {number} lowBits The low 32-bits.
|
|
* @param {number} highBits The high 32-bits.
|
|
* @return {!goog.math.Long} The corresponding Long value.
|
|
*/
|
|
goog.math.Long.fromBits = function(lowBits, highBits) {
|
|
return new goog.math.Long(lowBits, highBits);
|
|
};
|
|
|
|
/**
|
|
* Returns a Long representation of the given string, written using the given
|
|
* radix.
|
|
* @param {string} str The textual representation of the Long.
|
|
* @param {number=} opt_radix The radix in which the text is written.
|
|
* @return {!goog.math.Long} The corresponding Long value.
|
|
*/
|
|
goog.math.Long.fromString = function(str, opt_radix) {
|
|
if (str.length == 0) {
|
|
throw Error('number format error: empty string');
|
|
}
|
|
|
|
var radix = opt_radix || 10;
|
|
if (radix < 2 || 36 < radix) {
|
|
throw Error('radix out of range: ' + radix);
|
|
}
|
|
|
|
if (str.charAt(0) == '-') {
|
|
return goog.math.Long.fromString(str.substring(1), radix).negate();
|
|
} else if (str.indexOf('-') >= 0) {
|
|
throw Error('number format error: interior "-" character: ' + str);
|
|
}
|
|
|
|
// Do several (8) digits each time through the loop, so as to
|
|
// minimize the calls to the very expensive emulated div.
|
|
var radixToPower = goog.math.Long.fromNumber(Math.pow(radix, 8));
|
|
|
|
var result = goog.math.Long.ZERO;
|
|
for (var i = 0; i < str.length; i += 8) {
|
|
var size = Math.min(8, str.length - i);
|
|
var value = parseInt(str.substring(i, i + size), radix);
|
|
if (size < 8) {
|
|
var power = goog.math.Long.fromNumber(Math.pow(radix, size));
|
|
result = result.multiply(power).add(goog.math.Long.fromNumber(value));
|
|
} else {
|
|
result = result.multiply(radixToPower);
|
|
result = result.add(goog.math.Long.fromNumber(value));
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
|
|
// NOTE: the compiler should inline these constant values below and then remove
|
|
// these variables, so there should be no runtime penalty for these.
|
|
|
|
/**
|
|
* Number used repeated below in calculations. This must appear before the
|
|
* first call to any from* function below.
|
|
* @type {number}
|
|
* @private
|
|
*/
|
|
goog.math.Long.TWO_PWR_16_DBL_ = 1 << 16;
|
|
|
|
/**
|
|
* @type {number}
|
|
* @private
|
|
*/
|
|
goog.math.Long.TWO_PWR_24_DBL_ = 1 << 24;
|
|
|
|
/**
|
|
* @type {number}
|
|
* @private
|
|
*/
|
|
goog.math.Long.TWO_PWR_32_DBL_ =
|
|
goog.math.Long.TWO_PWR_16_DBL_ * goog.math.Long.TWO_PWR_16_DBL_;
|
|
|
|
/**
|
|
* @type {number}
|
|
* @private
|
|
*/
|
|
goog.math.Long.TWO_PWR_31_DBL_ = goog.math.Long.TWO_PWR_32_DBL_ / 2;
|
|
|
|
/**
|
|
* @type {number}
|
|
* @private
|
|
*/
|
|
goog.math.Long.TWO_PWR_48_DBL_ =
|
|
goog.math.Long.TWO_PWR_32_DBL_ * goog.math.Long.TWO_PWR_16_DBL_;
|
|
|
|
/**
|
|
* @type {number}
|
|
* @private
|
|
*/
|
|
goog.math.Long.TWO_PWR_64_DBL_ =
|
|
goog.math.Long.TWO_PWR_32_DBL_ * goog.math.Long.TWO_PWR_32_DBL_;
|
|
|
|
/**
|
|
* @type {number}
|
|
* @private
|
|
*/
|
|
goog.math.Long.TWO_PWR_63_DBL_ = goog.math.Long.TWO_PWR_64_DBL_ / 2;
|
|
|
|
/** @type {!goog.math.Long} */
|
|
goog.math.Long.ZERO = goog.math.Long.fromInt(0);
|
|
|
|
/** @type {!goog.math.Long} */
|
|
goog.math.Long.ONE = goog.math.Long.fromInt(1);
|
|
|
|
/** @type {!goog.math.Long} */
|
|
goog.math.Long.NEG_ONE = goog.math.Long.fromInt(-1);
|
|
|
|
/** @type {!goog.math.Long} */
|
|
goog.math.Long.MAX_VALUE = goog.math.Long.fromBits(
|
|
0xffffffff | 0,
|
|
0x7fffffff | 0
|
|
);
|
|
|
|
/** @type {!goog.math.Long} */
|
|
goog.math.Long.MIN_VALUE = goog.math.Long.fromBits(0, 0x80000000 | 0);
|
|
|
|
/**
|
|
* @type {!goog.math.Long}
|
|
* @private
|
|
*/
|
|
goog.math.Long.TWO_PWR_24_ = goog.math.Long.fromInt(1 << 24);
|
|
|
|
/** @return {number} The value, assuming it is a 32-bit integer. */
|
|
goog.math.Long.prototype.toInt = function() {
|
|
return this.low_;
|
|
};
|
|
|
|
/** @return {number} The closest floating-point representation to this value. */
|
|
goog.math.Long.prototype.toNumber = function() {
|
|
return (
|
|
this.high_ * goog.math.Long.TWO_PWR_32_DBL_ + this.getLowBitsUnsigned()
|
|
);
|
|
};
|
|
|
|
/**
|
|
* @param {number=} opt_radix The radix in which the text should be written.
|
|
* @return {string} The textual representation of this value.
|
|
*/
|
|
goog.math.Long.prototype.toString = function(opt_radix) {
|
|
var radix = opt_radix || 10;
|
|
if (radix < 2 || 36 < radix) {
|
|
throw Error('radix out of range: ' + radix);
|
|
}
|
|
|
|
if (this.isZero()) {
|
|
return '0';
|
|
}
|
|
|
|
if (this.isNegative()) {
|
|
if (this.equals(goog.math.Long.MIN_VALUE)) {
|
|
// We need to change the Long value before it can be negated, so we remove
|
|
// the bottom-most digit in this base and then recurse to do the rest.
|
|
var radixLong = goog.math.Long.fromNumber(radix);
|
|
var div = this.div(radixLong);
|
|
var rem = div.multiply(radixLong).subtract(this);
|
|
return div.toString(radix) + rem.toInt().toString(radix);
|
|
} else {
|
|
return '-' + this.negate().toString(radix);
|
|
}
|
|
}
|
|
|
|
// Do several (6) digits each time through the loop, so as to
|
|
// minimize the calls to the very expensive emulated div.
|
|
var radixToPower = goog.math.Long.fromNumber(Math.pow(radix, 6));
|
|
|
|
var rem = this;
|
|
var result = '';
|
|
while (true) {
|
|
var remDiv = rem.div(radixToPower);
|
|
var intval = rem.subtract(remDiv.multiply(radixToPower)).toInt();
|
|
var digits = intval.toString(radix);
|
|
|
|
rem = remDiv;
|
|
if (rem.isZero()) {
|
|
return digits + result;
|
|
} else {
|
|
while (digits.length < 6) {
|
|
digits = '0' + digits;
|
|
}
|
|
result = '' + digits + result;
|
|
}
|
|
}
|
|
};
|
|
|
|
/** @return {number} The high 32-bits as a signed value. */
|
|
goog.math.Long.prototype.getHighBits = function() {
|
|
return this.high_;
|
|
};
|
|
|
|
/** @return {number} The low 32-bits as a signed value. */
|
|
goog.math.Long.prototype.getLowBits = function() {
|
|
return this.low_;
|
|
};
|
|
|
|
/** @return {number} The low 32-bits as an unsigned value. */
|
|
goog.math.Long.prototype.getLowBitsUnsigned = function() {
|
|
return this.low_ >= 0
|
|
? this.low_
|
|
: goog.math.Long.TWO_PWR_32_DBL_ + this.low_;
|
|
};
|
|
|
|
/**
|
|
* @return {number} Returns the number of bits needed to represent the absolute
|
|
* value of this Long.
|
|
*/
|
|
goog.math.Long.prototype.getNumBitsAbs = function() {
|
|
if (this.isNegative()) {
|
|
if (this.equals(goog.math.Long.MIN_VALUE)) {
|
|
return 64;
|
|
} else {
|
|
return this.negate().getNumBitsAbs();
|
|
}
|
|
} else {
|
|
var val = this.high_ != 0 ? this.high_ : this.low_;
|
|
for (var bit = 31; bit > 0; bit--) {
|
|
if ((val & (1 << bit)) != 0) {
|
|
break;
|
|
}
|
|
}
|
|
return this.high_ != 0 ? bit + 33 : bit + 1;
|
|
}
|
|
};
|
|
|
|
/** @return {boolean} Whether this value is zero. */
|
|
goog.math.Long.prototype.isZero = function() {
|
|
return this.high_ == 0 && this.low_ == 0;
|
|
};
|
|
|
|
/** @return {boolean} Whether this value is negative. */
|
|
goog.math.Long.prototype.isNegative = function() {
|
|
return this.high_ < 0;
|
|
};
|
|
|
|
/** @return {boolean} Whether this value is odd. */
|
|
goog.math.Long.prototype.isOdd = function() {
|
|
return (this.low_ & 1) == 1;
|
|
};
|
|
|
|
/**
|
|
* @param {goog.math.Long} other Long to compare against.
|
|
* @return {boolean} Whether this Long equals the other.
|
|
*/
|
|
goog.math.Long.prototype.equals = function(other) {
|
|
return this.high_ == other.high_ && this.low_ == other.low_;
|
|
};
|
|
|
|
/**
|
|
* @param {goog.math.Long} other Long to compare against.
|
|
* @return {boolean} Whether this Long does not equal the other.
|
|
*/
|
|
goog.math.Long.prototype.notEquals = function(other) {
|
|
return this.high_ != other.high_ || this.low_ != other.low_;
|
|
};
|
|
|
|
/**
|
|
* @param {goog.math.Long} other Long to compare against.
|
|
* @return {boolean} Whether this Long is less than the other.
|
|
*/
|
|
goog.math.Long.prototype.lessThan = function(other) {
|
|
return this.compare(other) < 0;
|
|
};
|
|
|
|
/**
|
|
* @param {goog.math.Long} other Long to compare against.
|
|
* @return {boolean} Whether this Long is less than or equal to the other.
|
|
*/
|
|
goog.math.Long.prototype.lessThanOrEqual = function(other) {
|
|
return this.compare(other) <= 0;
|
|
};
|
|
|
|
/**
|
|
* @param {goog.math.Long} other Long to compare against.
|
|
* @return {boolean} Whether this Long is greater than the other.
|
|
*/
|
|
goog.math.Long.prototype.greaterThan = function(other) {
|
|
return this.compare(other) > 0;
|
|
};
|
|
|
|
/**
|
|
* @param {goog.math.Long} other Long to compare against.
|
|
* @return {boolean} Whether this Long is greater than or equal to the other.
|
|
*/
|
|
goog.math.Long.prototype.greaterThanOrEqual = function(other) {
|
|
return this.compare(other) >= 0;
|
|
};
|
|
|
|
/**
|
|
* Compares this Long with the given one.
|
|
* @param {goog.math.Long} other Long to compare against.
|
|
* @return {number} 0 if they are the same, 1 if the this is greater, and -1
|
|
* if the given one is greater.
|
|
*/
|
|
goog.math.Long.prototype.compare = function(other) {
|
|
if (this.equals(other)) {
|
|
return 0;
|
|
}
|
|
|
|
var thisNeg = this.isNegative();
|
|
var otherNeg = other.isNegative();
|
|
if (thisNeg && !otherNeg) {
|
|
return -1;
|
|
}
|
|
if (!thisNeg && otherNeg) {
|
|
return 1;
|
|
}
|
|
|
|
// at this point, the signs are the same, so subtraction will not overflow
|
|
if (this.subtract(other).isNegative()) {
|
|
return -1;
|
|
} else {
|
|
return 1;
|
|
}
|
|
};
|
|
|
|
/** @return {!goog.math.Long} The negation of this value. */
|
|
goog.math.Long.prototype.negate = function() {
|
|
if (this.equals(goog.math.Long.MIN_VALUE)) {
|
|
return goog.math.Long.MIN_VALUE;
|
|
} else {
|
|
return this.not().add(goog.math.Long.ONE);
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Returns the sum of this and the given Long.
|
|
* @param {goog.math.Long} other Long to add to this one.
|
|
* @return {!goog.math.Long} The sum of this and the given Long.
|
|
*/
|
|
goog.math.Long.prototype.add = function(other) {
|
|
// Divide each number into 4 chunks of 16 bits, and then sum the chunks.
|
|
|
|
var a48 = this.high_ >>> 16;
|
|
var a32 = this.high_ & 0xffff;
|
|
var a16 = this.low_ >>> 16;
|
|
var a00 = this.low_ & 0xffff;
|
|
|
|
var b48 = other.high_ >>> 16;
|
|
var b32 = other.high_ & 0xffff;
|
|
var b16 = other.low_ >>> 16;
|
|
var b00 = other.low_ & 0xffff;
|
|
|
|
var c48 = 0,
|
|
c32 = 0,
|
|
c16 = 0,
|
|
c00 = 0;
|
|
c00 += a00 + b00;
|
|
c16 += c00 >>> 16;
|
|
c00 &= 0xffff;
|
|
c16 += a16 + b16;
|
|
c32 += c16 >>> 16;
|
|
c16 &= 0xffff;
|
|
c32 += a32 + b32;
|
|
c48 += c32 >>> 16;
|
|
c32 &= 0xffff;
|
|
c48 += a48 + b48;
|
|
c48 &= 0xffff;
|
|
return goog.math.Long.fromBits((c16 << 16) | c00, (c48 << 16) | c32);
|
|
};
|
|
|
|
/**
|
|
* Returns the difference of this and the given Long.
|
|
* @param {goog.math.Long} other Long to subtract from this.
|
|
* @return {!goog.math.Long} The difference of this and the given Long.
|
|
*/
|
|
goog.math.Long.prototype.subtract = function(other) {
|
|
return this.add(other.negate());
|
|
};
|
|
|
|
/**
|
|
* Returns the product of this and the given long.
|
|
* @param {goog.math.Long} other Long to multiply with this.
|
|
* @return {!goog.math.Long} The product of this and the other.
|
|
*/
|
|
goog.math.Long.prototype.multiply = function(other) {
|
|
if (this.isZero()) {
|
|
return goog.math.Long.ZERO;
|
|
} else if (other.isZero()) {
|
|
return goog.math.Long.ZERO;
|
|
}
|
|
|
|
if (this.equals(goog.math.Long.MIN_VALUE)) {
|
|
return other.isOdd() ? goog.math.Long.MIN_VALUE : goog.math.Long.ZERO;
|
|
} else if (other.equals(goog.math.Long.MIN_VALUE)) {
|
|
return this.isOdd() ? goog.math.Long.MIN_VALUE : goog.math.Long.ZERO;
|
|
}
|
|
|
|
if (this.isNegative()) {
|
|
if (other.isNegative()) {
|
|
return this.negate().multiply(other.negate());
|
|
} else {
|
|
return this.negate()
|
|
.multiply(other)
|
|
.negate();
|
|
}
|
|
} else if (other.isNegative()) {
|
|
return this.multiply(other.negate()).negate();
|
|
}
|
|
|
|
// If both longs are small, use float multiplication
|
|
if (
|
|
this.lessThan(goog.math.Long.TWO_PWR_24_) &&
|
|
other.lessThan(goog.math.Long.TWO_PWR_24_)
|
|
) {
|
|
return goog.math.Long.fromNumber(this.toNumber() * other.toNumber());
|
|
}
|
|
|
|
// Divide each long into 4 chunks of 16 bits, and then add up 4x4 products.
|
|
// We can skip products that would overflow.
|
|
|
|
var a48 = this.high_ >>> 16;
|
|
var a32 = this.high_ & 0xffff;
|
|
var a16 = this.low_ >>> 16;
|
|
var a00 = this.low_ & 0xffff;
|
|
|
|
var b48 = other.high_ >>> 16;
|
|
var b32 = other.high_ & 0xffff;
|
|
var b16 = other.low_ >>> 16;
|
|
var b00 = other.low_ & 0xffff;
|
|
|
|
var c48 = 0,
|
|
c32 = 0,
|
|
c16 = 0,
|
|
c00 = 0;
|
|
c00 += a00 * b00;
|
|
c16 += c00 >>> 16;
|
|
c00 &= 0xffff;
|
|
c16 += a16 * b00;
|
|
c32 += c16 >>> 16;
|
|
c16 &= 0xffff;
|
|
c16 += a00 * b16;
|
|
c32 += c16 >>> 16;
|
|
c16 &= 0xffff;
|
|
c32 += a32 * b00;
|
|
c48 += c32 >>> 16;
|
|
c32 &= 0xffff;
|
|
c32 += a16 * b16;
|
|
c48 += c32 >>> 16;
|
|
c32 &= 0xffff;
|
|
c32 += a00 * b32;
|
|
c48 += c32 >>> 16;
|
|
c32 &= 0xffff;
|
|
c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;
|
|
c48 &= 0xffff;
|
|
return goog.math.Long.fromBits((c16 << 16) | c00, (c48 << 16) | c32);
|
|
};
|
|
|
|
/**
|
|
* Returns this Long divided by the given one.
|
|
* @param {goog.math.Long} other Long by which to divide.
|
|
* @return {!goog.math.Long} This Long divided by the given one.
|
|
*/
|
|
goog.math.Long.prototype.div = function(other) {
|
|
if (other.isZero()) {
|
|
throw Error('division by zero');
|
|
} else if (this.isZero()) {
|
|
return goog.math.Long.ZERO;
|
|
}
|
|
|
|
if (this.equals(goog.math.Long.MIN_VALUE)) {
|
|
if (
|
|
other.equals(goog.math.Long.ONE) ||
|
|
other.equals(goog.math.Long.NEG_ONE)
|
|
) {
|
|
return goog.math.Long.MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE
|
|
} else if (other.equals(goog.math.Long.MIN_VALUE)) {
|
|
return goog.math.Long.ONE;
|
|
} else {
|
|
// At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|.
|
|
var halfThis = this.shiftRight(1);
|
|
var approx = halfThis.div(other).shiftLeft(1);
|
|
if (approx.equals(goog.math.Long.ZERO)) {
|
|
return other.isNegative()
|
|
? goog.math.Long.ONE
|
|
: goog.math.Long.NEG_ONE;
|
|
} else {
|
|
var rem = this.subtract(other.multiply(approx));
|
|
var result = approx.add(rem.div(other));
|
|
return result;
|
|
}
|
|
}
|
|
} else if (other.equals(goog.math.Long.MIN_VALUE)) {
|
|
return goog.math.Long.ZERO;
|
|
}
|
|
|
|
if (this.isNegative()) {
|
|
if (other.isNegative()) {
|
|
return this.negate().div(other.negate());
|
|
} else {
|
|
return this.negate()
|
|
.div(other)
|
|
.negate();
|
|
}
|
|
} else if (other.isNegative()) {
|
|
return this.div(other.negate()).negate();
|
|
}
|
|
|
|
// Repeat the following until the remainder is less than other: find a
|
|
// floating-point that approximates remainder / other *from below*, add this
|
|
// into the result, and subtract it from the remainder. It is critical that
|
|
// the approximate value is less than or equal to the real value so that the
|
|
// remainder never becomes negative.
|
|
var res = goog.math.Long.ZERO;
|
|
var rem = this;
|
|
while (rem.greaterThanOrEqual(other)) {
|
|
// Approximate the result of division. This may be a little greater or
|
|
// smaller than the actual value.
|
|
var approx = Math.max(1, Math.floor(rem.toNumber() / other.toNumber()));
|
|
|
|
// We will tweak the approximate result by changing it in the 48-th digit or
|
|
// the smallest non-fractional digit, whichever is larger.
|
|
var log2 = Math.ceil(Math.log(approx) / Math.LN2);
|
|
var delta = log2 <= 48 ? 1 : Math.pow(2, log2 - 48);
|
|
|
|
// Decrease the approximation until it is smaller than the remainder. Note
|
|
// that if it is too large, the product overflows and is negative.
|
|
var approxRes = goog.math.Long.fromNumber(approx);
|
|
var approxRem = approxRes.multiply(other);
|
|
while (approxRem.isNegative() || approxRem.greaterThan(rem)) {
|
|
approx -= delta;
|
|
approxRes = goog.math.Long.fromNumber(approx);
|
|
approxRem = approxRes.multiply(other);
|
|
}
|
|
|
|
// We know the answer can't be zero... and actually, zero would cause
|
|
// infinite recursion since we would make no progress.
|
|
if (approxRes.isZero()) {
|
|
approxRes = goog.math.Long.ONE;
|
|
}
|
|
|
|
res = res.add(approxRes);
|
|
rem = rem.subtract(approxRem);
|
|
}
|
|
return res;
|
|
};
|
|
|
|
/**
|
|
* Returns this Long modulo the given one.
|
|
* @param {goog.math.Long} other Long by which to mod.
|
|
* @return {!goog.math.Long} This Long modulo the given one.
|
|
*/
|
|
goog.math.Long.prototype.modulo = function(other) {
|
|
return this.subtract(this.div(other).multiply(other));
|
|
};
|
|
|
|
/** @return {!goog.math.Long} The bitwise-NOT of this value. */
|
|
goog.math.Long.prototype.not = function() {
|
|
return goog.math.Long.fromBits(~this.low_, ~this.high_);
|
|
};
|
|
|
|
/**
|
|
* Returns the bitwise-AND of this Long and the given one.
|
|
* @param {goog.math.Long} other The Long with which to AND.
|
|
* @return {!goog.math.Long} The bitwise-AND of this and the other.
|
|
*/
|
|
goog.math.Long.prototype.and = function(other) {
|
|
return goog.math.Long.fromBits(
|
|
this.low_ & other.low_,
|
|
this.high_ & other.high_
|
|
);
|
|
};
|
|
|
|
/**
|
|
* Returns the bitwise-OR of this Long and the given one.
|
|
* @param {goog.math.Long} other The Long with which to OR.
|
|
* @return {!goog.math.Long} The bitwise-OR of this and the other.
|
|
*/
|
|
goog.math.Long.prototype.or = function(other) {
|
|
return goog.math.Long.fromBits(
|
|
this.low_ | other.low_,
|
|
this.high_ | other.high_
|
|
);
|
|
};
|
|
|
|
/**
|
|
* Returns the bitwise-XOR of this Long and the given one.
|
|
* @param {goog.math.Long} other The Long with which to XOR.
|
|
* @return {!goog.math.Long} The bitwise-XOR of this and the other.
|
|
*/
|
|
goog.math.Long.prototype.xor = function(other) {
|
|
return goog.math.Long.fromBits(
|
|
this.low_ ^ other.low_,
|
|
this.high_ ^ other.high_
|
|
);
|
|
};
|
|
|
|
/**
|
|
* Returns this Long with bits shifted to the left by the given amount.
|
|
* @param {number} numBits The number of bits by which to shift.
|
|
* @return {!goog.math.Long} This shifted to the left by the given amount.
|
|
*/
|
|
goog.math.Long.prototype.shiftLeft = function(numBits) {
|
|
numBits &= 63;
|
|
if (numBits == 0) {
|
|
return this;
|
|
} else {
|
|
var low = this.low_;
|
|
if (numBits < 32) {
|
|
var high = this.high_;
|
|
return goog.math.Long.fromBits(
|
|
low << numBits,
|
|
(high << numBits) | (low >>> (32 - numBits))
|
|
);
|
|
} else {
|
|
return goog.math.Long.fromBits(0, low << (numBits - 32));
|
|
}
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Returns this Long with bits shifted to the right by the given amount.
|
|
* @param {number} numBits The number of bits by which to shift.
|
|
* @return {!goog.math.Long} This shifted to the right by the given amount.
|
|
*/
|
|
goog.math.Long.prototype.shiftRight = function(numBits) {
|
|
numBits &= 63;
|
|
if (numBits == 0) {
|
|
return this;
|
|
} else {
|
|
var high = this.high_;
|
|
if (numBits < 32) {
|
|
var low = this.low_;
|
|
return goog.math.Long.fromBits(
|
|
(low >>> numBits) | (high << (32 - numBits)),
|
|
high >> numBits
|
|
);
|
|
} else {
|
|
return goog.math.Long.fromBits(
|
|
high >> (numBits - 32),
|
|
high >= 0 ? 0 : -1
|
|
);
|
|
}
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Returns this Long with bits shifted to the right by the given amount, with
|
|
* the new top bits matching the current sign bit.
|
|
* @param {number} numBits The number of bits by which to shift.
|
|
* @return {!goog.math.Long} This shifted to the right by the given amount, with
|
|
* zeros placed into the new leading bits.
|
|
*/
|
|
goog.math.Long.prototype.shiftRightUnsigned = function(numBits) {
|
|
numBits &= 63;
|
|
if (numBits == 0) {
|
|
return this;
|
|
} else {
|
|
var high = this.high_;
|
|
if (numBits < 32) {
|
|
var low = this.low_;
|
|
return goog.math.Long.fromBits(
|
|
(low >>> numBits) | (high << (32 - numBits)),
|
|
high >>> numBits
|
|
);
|
|
} else if (numBits == 32) {
|
|
return goog.math.Long.fromBits(high, 0);
|
|
} else {
|
|
return goog.math.Long.fromBits(high >>> (numBits - 32), 0);
|
|
}
|
|
}
|
|
};
|
|
|
|
//======= begin jsbn =======
|
|
|
|
var navigator = { appName: 'Modern Browser' }; // polyfill a little
|
|
|
|
// Copyright (c) 2005 Tom Wu
|
|
// All Rights Reserved.
|
|
// http://www-cs-students.stanford.edu/~tjw/jsbn/
|
|
|
|
/*
|
|
* Copyright (c) 2003-2005 Tom Wu
|
|
* All Rights Reserved.
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining
|
|
* a copy of this software and associated documentation files (the
|
|
* "Software"), to deal in the Software without restriction, including
|
|
* without limitation the rights to use, copy, modify, merge, publish,
|
|
* distribute, sublicense, and/or sell copies of the Software, and to
|
|
* permit persons to whom the Software is furnished to do so, subject to
|
|
* the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be
|
|
* included in all copies or substantial portions of the Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
|
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
|
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
|
*
|
|
* IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
|
|
* INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
|
|
* RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF
|
|
* THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT
|
|
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
*
|
|
* In addition, the following condition applies:
|
|
*
|
|
* All redistributions must retain an intact copy of this copyright notice
|
|
* and disclaimer.
|
|
*/
|
|
|
|
// Basic JavaScript BN library - subset useful for RSA encryption.
|
|
|
|
// Bits per digit
|
|
var dbits;
|
|
|
|
// JavaScript engine analysis
|
|
var canary = 0xdeadbeefcafe;
|
|
var j_lm = (canary & 0xffffff) == 0xefcafe;
|
|
|
|
// (public) Constructor
|
|
function BigInteger(a, b, c) {
|
|
if (a != null)
|
|
if ('number' == typeof a) this.fromNumber(a, b, c);
|
|
else if (b == null && 'string' != typeof a) this.fromString(a, 256);
|
|
else this.fromString(a, b);
|
|
}
|
|
|
|
// return new, unset BigInteger
|
|
function nbi() {
|
|
return new BigInteger(null);
|
|
}
|
|
|
|
// am: Compute w_j += (x*this_i), propagate carries,
|
|
// c is initial carry, returns final carry.
|
|
// c < 3*dvalue, x < 2*dvalue, this_i < dvalue
|
|
// We need to select the fastest one that works in this environment.
|
|
|
|
// am1: use a single mult and divide to get the high bits,
|
|
// max digit bits should be 26 because
|
|
// max internal value = 2*dvalue^2-2*dvalue (< 2^53)
|
|
function am1(i, x, w, j, c, n) {
|
|
while (--n >= 0) {
|
|
var v = x * this[i++] + w[j] + c;
|
|
c = Math.floor(v / 0x4000000);
|
|
w[j++] = v & 0x3ffffff;
|
|
}
|
|
return c;
|
|
}
|
|
// am2 avoids a big mult-and-extract completely.
|
|
// Max digit bits should be <= 30 because we do bitwise ops
|
|
// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
|
|
function am2(i, x, w, j, c, n) {
|
|
var xl = x & 0x7fff,
|
|
xh = x >> 15;
|
|
while (--n >= 0) {
|
|
var l = this[i] & 0x7fff;
|
|
var h = this[i++] >> 15;
|
|
var m = xh * l + h * xl;
|
|
l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);
|
|
c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);
|
|
w[j++] = l & 0x3fffffff;
|
|
}
|
|
return c;
|
|
}
|
|
// Alternately, set max digit bits to 28 since some
|
|
// browsers slow down when dealing with 32-bit numbers.
|
|
function am3(i, x, w, j, c, n) {
|
|
var xl = x & 0x3fff,
|
|
xh = x >> 14;
|
|
while (--n >= 0) {
|
|
var l = this[i] & 0x3fff;
|
|
var h = this[i++] >> 14;
|
|
var m = xh * l + h * xl;
|
|
l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;
|
|
c = (l >> 28) + (m >> 14) + xh * h;
|
|
w[j++] = l & 0xfffffff;
|
|
}
|
|
return c;
|
|
}
|
|
if (j_lm && navigator.appName == 'Microsoft Internet Explorer') {
|
|
BigInteger.prototype.am = am2;
|
|
dbits = 30;
|
|
} else if (j_lm && navigator.appName != 'Netscape') {
|
|
BigInteger.prototype.am = am1;
|
|
dbits = 26;
|
|
} else {
|
|
// Mozilla/Netscape seems to prefer am3
|
|
BigInteger.prototype.am = am3;
|
|
dbits = 28;
|
|
}
|
|
|
|
BigInteger.prototype.DB = dbits;
|
|
BigInteger.prototype.DM = (1 << dbits) - 1;
|
|
BigInteger.prototype.DV = 1 << dbits;
|
|
|
|
var BI_FP = 52;
|
|
BigInteger.prototype.FV = Math.pow(2, BI_FP);
|
|
BigInteger.prototype.F1 = BI_FP - dbits;
|
|
BigInteger.prototype.F2 = 2 * dbits - BI_FP;
|
|
|
|
// Digit conversions
|
|
var BI_RM = '0123456789abcdefghijklmnopqrstuvwxyz';
|
|
var BI_RC = new Array();
|
|
var rr, vv;
|
|
rr = '0'.charCodeAt(0);
|
|
for (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;
|
|
rr = 'a'.charCodeAt(0);
|
|
for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
|
|
rr = 'A'.charCodeAt(0);
|
|
for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
|
|
|
|
function int2char(n) {
|
|
return BI_RM.charAt(n);
|
|
}
|
|
function intAt(s, i) {
|
|
var c = BI_RC[s.charCodeAt(i)];
|
|
return c == null ? -1 : c;
|
|
}
|
|
|
|
// (protected) copy this to r
|
|
function bnpCopyTo(r) {
|
|
for (var i = this.t - 1; i >= 0; --i) r[i] = this[i];
|
|
r.t = this.t;
|
|
r.s = this.s;
|
|
}
|
|
|
|
// (protected) set from integer value x, -DV <= x < DV
|
|
function bnpFromInt(x) {
|
|
this.t = 1;
|
|
this.s = x < 0 ? -1 : 0;
|
|
if (x > 0) this[0] = x;
|
|
else if (x < -1) this[0] = x + DV;
|
|
else this.t = 0;
|
|
}
|
|
|
|
// return bigint initialized to value
|
|
function nbv(i) {
|
|
var r = nbi();
|
|
r.fromInt(i);
|
|
return r;
|
|
}
|
|
|
|
// (protected) set from string and radix
|
|
function bnpFromString(s, b) {
|
|
var k;
|
|
if (b == 16) k = 4;
|
|
else if (b == 8) k = 3;
|
|
else if (b == 256) k = 8;
|
|
// byte array
|
|
else if (b == 2) k = 1;
|
|
else if (b == 32) k = 5;
|
|
else if (b == 4) k = 2;
|
|
else {
|
|
this.fromRadix(s, b);
|
|
return;
|
|
}
|
|
this.t = 0;
|
|
this.s = 0;
|
|
var i = s.length,
|
|
mi = false,
|
|
sh = 0;
|
|
while (--i >= 0) {
|
|
var x = k == 8 ? s[i] & 0xff : intAt(s, i);
|
|
if (x < 0) {
|
|
if (s.charAt(i) == '-') mi = true;
|
|
continue;
|
|
}
|
|
mi = false;
|
|
if (sh == 0) this[this.t++] = x;
|
|
else if (sh + k > this.DB) {
|
|
this[this.t - 1] |= (x & ((1 << (this.DB - sh)) - 1)) << sh;
|
|
this[this.t++] = x >> (this.DB - sh);
|
|
} else this[this.t - 1] |= x << sh;
|
|
sh += k;
|
|
if (sh >= this.DB) sh -= this.DB;
|
|
}
|
|
if (k == 8 && (s[0] & 0x80) != 0) {
|
|
this.s = -1;
|
|
if (sh > 0) this[this.t - 1] |= ((1 << (this.DB - sh)) - 1) << sh;
|
|
}
|
|
this.clamp();
|
|
if (mi) BigInteger.ZERO.subTo(this, this);
|
|
}
|
|
|
|
// (protected) clamp off excess high words
|
|
function bnpClamp() {
|
|
var c = this.s & this.DM;
|
|
while (this.t > 0 && this[this.t - 1] == c) --this.t;
|
|
}
|
|
|
|
// (public) return string representation in given radix
|
|
function bnToString(b) {
|
|
if (this.s < 0) return '-' + this.negate().toString(b);
|
|
var k;
|
|
if (b == 16) k = 4;
|
|
else if (b == 8) k = 3;
|
|
else if (b == 2) k = 1;
|
|
else if (b == 32) k = 5;
|
|
else if (b == 4) k = 2;
|
|
else return this.toRadix(b);
|
|
var km = (1 << k) - 1,
|
|
d,
|
|
m = false,
|
|
r = '',
|
|
i = this.t;
|
|
var p = this.DB - (i * this.DB) % k;
|
|
if (i-- > 0) {
|
|
if (p < this.DB && (d = this[i] >> p) > 0) {
|
|
m = true;
|
|
r = int2char(d);
|
|
}
|
|
while (i >= 0) {
|
|
if (p < k) {
|
|
d = (this[i] & ((1 << p) - 1)) << (k - p);
|
|
d |= this[--i] >> (p += this.DB - k);
|
|
} else {
|
|
d = (this[i] >> (p -= k)) & km;
|
|
if (p <= 0) {
|
|
p += this.DB;
|
|
--i;
|
|
}
|
|
}
|
|
if (d > 0) m = true;
|
|
if (m) r += int2char(d);
|
|
}
|
|
}
|
|
return m ? r : '0';
|
|
}
|
|
|
|
// (public) -this
|
|
function bnNegate() {
|
|
var r = nbi();
|
|
BigInteger.ZERO.subTo(this, r);
|
|
return r;
|
|
}
|
|
|
|
// (public) |this|
|
|
function bnAbs() {
|
|
return this.s < 0 ? this.negate() : this;
|
|
}
|
|
|
|
// (public) return + if this > a, - if this < a, 0 if equal
|
|
function bnCompareTo(a) {
|
|
var r = this.s - a.s;
|
|
if (r != 0) return r;
|
|
var i = this.t;
|
|
r = i - a.t;
|
|
if (r != 0) return this.s < 0 ? -r : r;
|
|
while (--i >= 0) if ((r = this[i] - a[i]) != 0) return r;
|
|
return 0;
|
|
}
|
|
|
|
// returns bit length of the integer x
|
|
function nbits(x) {
|
|
var r = 1,
|
|
t;
|
|
if ((t = x >>> 16) != 0) {
|
|
x = t;
|
|
r += 16;
|
|
}
|
|
if ((t = x >> 8) != 0) {
|
|
x = t;
|
|
r += 8;
|
|
}
|
|
if ((t = x >> 4) != 0) {
|
|
x = t;
|
|
r += 4;
|
|
}
|
|
if ((t = x >> 2) != 0) {
|
|
x = t;
|
|
r += 2;
|
|
}
|
|
if ((t = x >> 1) != 0) {
|
|
x = t;
|
|
r += 1;
|
|
}
|
|
return r;
|
|
}
|
|
|
|
// (public) return the number of bits in "this"
|
|
function bnBitLength() {
|
|
if (this.t <= 0) return 0;
|
|
return (
|
|
this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM))
|
|
);
|
|
}
|
|
|
|
// (protected) r = this << n*DB
|
|
function bnpDLShiftTo(n, r) {
|
|
var i;
|
|
for (i = this.t - 1; i >= 0; --i) r[i + n] = this[i];
|
|
for (i = n - 1; i >= 0; --i) r[i] = 0;
|
|
r.t = this.t + n;
|
|
r.s = this.s;
|
|
}
|
|
|
|
// (protected) r = this >> n*DB
|
|
function bnpDRShiftTo(n, r) {
|
|
for (var i = n; i < this.t; ++i) r[i - n] = this[i];
|
|
r.t = Math.max(this.t - n, 0);
|
|
r.s = this.s;
|
|
}
|
|
|
|
// (protected) r = this << n
|
|
function bnpLShiftTo(n, r) {
|
|
var bs = n % this.DB;
|
|
var cbs = this.DB - bs;
|
|
var bm = (1 << cbs) - 1;
|
|
var ds = Math.floor(n / this.DB),
|
|
c = (this.s << bs) & this.DM,
|
|
i;
|
|
for (i = this.t - 1; i >= 0; --i) {
|
|
r[i + ds + 1] = (this[i] >> cbs) | c;
|
|
c = (this[i] & bm) << bs;
|
|
}
|
|
for (i = ds - 1; i >= 0; --i) r[i] = 0;
|
|
r[ds] = c;
|
|
r.t = this.t + ds + 1;
|
|
r.s = this.s;
|
|
r.clamp();
|
|
}
|
|
|
|
// (protected) r = this >> n
|
|
function bnpRShiftTo(n, r) {
|
|
r.s = this.s;
|
|
var ds = Math.floor(n / this.DB);
|
|
if (ds >= this.t) {
|
|
r.t = 0;
|
|
return;
|
|
}
|
|
var bs = n % this.DB;
|
|
var cbs = this.DB - bs;
|
|
var bm = (1 << bs) - 1;
|
|
r[0] = this[ds] >> bs;
|
|
for (var i = ds + 1; i < this.t; ++i) {
|
|
r[i - ds - 1] |= (this[i] & bm) << cbs;
|
|
r[i - ds] = this[i] >> bs;
|
|
}
|
|
if (bs > 0) r[this.t - ds - 1] |= (this.s & bm) << cbs;
|
|
r.t = this.t - ds;
|
|
r.clamp();
|
|
}
|
|
|
|
// (protected) r = this - a
|
|
function bnpSubTo(a, r) {
|
|
var i = 0,
|
|
c = 0,
|
|
m = Math.min(a.t, this.t);
|
|
while (i < m) {
|
|
c += this[i] - a[i];
|
|
r[i++] = c & this.DM;
|
|
c >>= this.DB;
|
|
}
|
|
if (a.t < this.t) {
|
|
c -= a.s;
|
|
while (i < this.t) {
|
|
c += this[i];
|
|
r[i++] = c & this.DM;
|
|
c >>= this.DB;
|
|
}
|
|
c += this.s;
|
|
} else {
|
|
c += this.s;
|
|
while (i < a.t) {
|
|
c -= a[i];
|
|
r[i++] = c & this.DM;
|
|
c >>= this.DB;
|
|
}
|
|
c -= a.s;
|
|
}
|
|
r.s = c < 0 ? -1 : 0;
|
|
if (c < -1) r[i++] = this.DV + c;
|
|
else if (c > 0) r[i++] = c;
|
|
r.t = i;
|
|
r.clamp();
|
|
}
|
|
|
|
// (protected) r = this * a, r != this,a (HAC 14.12)
|
|
// "this" should be the larger one if appropriate.
|
|
function bnpMultiplyTo(a, r) {
|
|
var x = this.abs(),
|
|
y = a.abs();
|
|
var i = x.t;
|
|
r.t = i + y.t;
|
|
while (--i >= 0) r[i] = 0;
|
|
for (i = 0; i < y.t; ++i) r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);
|
|
r.s = 0;
|
|
r.clamp();
|
|
if (this.s != a.s) BigInteger.ZERO.subTo(r, r);
|
|
}
|
|
|
|
// (protected) r = this^2, r != this (HAC 14.16)
|
|
function bnpSquareTo(r) {
|
|
var x = this.abs();
|
|
var i = (r.t = 2 * x.t);
|
|
while (--i >= 0) r[i] = 0;
|
|
for (i = 0; i < x.t - 1; ++i) {
|
|
var c = x.am(i, x[i], r, 2 * i, 0, 1);
|
|
if (
|
|
(r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >=
|
|
x.DV
|
|
) {
|
|
r[i + x.t] -= x.DV;
|
|
r[i + x.t + 1] = 1;
|
|
}
|
|
}
|
|
if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);
|
|
r.s = 0;
|
|
r.clamp();
|
|
}
|
|
|
|
// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
|
|
// r != q, this != m. q or r may be null.
|
|
function bnpDivRemTo(m, q, r) {
|
|
var pm = m.abs();
|
|
if (pm.t <= 0) return;
|
|
var pt = this.abs();
|
|
if (pt.t < pm.t) {
|
|
if (q != null) q.fromInt(0);
|
|
if (r != null) this.copyTo(r);
|
|
return;
|
|
}
|
|
if (r == null) r = nbi();
|
|
var y = nbi(),
|
|
ts = this.s,
|
|
ms = m.s;
|
|
var nsh = this.DB - nbits(pm[pm.t - 1]); // normalize modulus
|
|
if (nsh > 0) {
|
|
pm.lShiftTo(nsh, y);
|
|
pt.lShiftTo(nsh, r);
|
|
} else {
|
|
pm.copyTo(y);
|
|
pt.copyTo(r);
|
|
}
|
|
var ys = y.t;
|
|
var y0 = y[ys - 1];
|
|
if (y0 == 0) return;
|
|
var yt = y0 * (1 << this.F1) + (ys > 1 ? y[ys - 2] >> this.F2 : 0);
|
|
var d1 = this.FV / yt,
|
|
d2 = (1 << this.F1) / yt,
|
|
e = 1 << this.F2;
|
|
var i = r.t,
|
|
j = i - ys,
|
|
t = q == null ? nbi() : q;
|
|
y.dlShiftTo(j, t);
|
|
if (r.compareTo(t) >= 0) {
|
|
r[r.t++] = 1;
|
|
r.subTo(t, r);
|
|
}
|
|
BigInteger.ONE.dlShiftTo(ys, t);
|
|
t.subTo(y, y); // "negative" y so we can replace sub with am later
|
|
while (y.t < ys) y[y.t++] = 0;
|
|
while (--j >= 0) {
|
|
// Estimate quotient digit
|
|
var qd =
|
|
r[--i] == y0 ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);
|
|
if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) {
|
|
// Try it out
|
|
y.dlShiftTo(j, t);
|
|
r.subTo(t, r);
|
|
while (r[i] < --qd) r.subTo(t, r);
|
|
}
|
|
}
|
|
if (q != null) {
|
|
r.drShiftTo(ys, q);
|
|
if (ts != ms) BigInteger.ZERO.subTo(q, q);
|
|
}
|
|
r.t = ys;
|
|
r.clamp();
|
|
if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder
|
|
if (ts < 0) BigInteger.ZERO.subTo(r, r);
|
|
}
|
|
|
|
// (public) this mod a
|
|
function bnMod(a) {
|
|
var r = nbi();
|
|
this.abs().divRemTo(a, null, r);
|
|
if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r);
|
|
return r;
|
|
}
|
|
|
|
// Modular reduction using "classic" algorithm
|
|
function Classic(m) {
|
|
this.m = m;
|
|
}
|
|
function cConvert(x) {
|
|
if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);
|
|
else return x;
|
|
}
|
|
function cRevert(x) {
|
|
return x;
|
|
}
|
|
function cReduce(x) {
|
|
x.divRemTo(this.m, null, x);
|
|
}
|
|
function cMulTo(x, y, r) {
|
|
x.multiplyTo(y, r);
|
|
this.reduce(r);
|
|
}
|
|
function cSqrTo(x, r) {
|
|
x.squareTo(r);
|
|
this.reduce(r);
|
|
}
|
|
|
|
Classic.prototype.convert = cConvert;
|
|
Classic.prototype.revert = cRevert;
|
|
Classic.prototype.reduce = cReduce;
|
|
Classic.prototype.mulTo = cMulTo;
|
|
Classic.prototype.sqrTo = cSqrTo;
|
|
|
|
// (protected) return "-1/this % 2^DB"; useful for Mont. reduction
|
|
// justification:
|
|
// xy == 1 (mod m)
|
|
// xy = 1+km
|
|
// xy(2-xy) = (1+km)(1-km)
|
|
// x[y(2-xy)] = 1-k^2m^2
|
|
// x[y(2-xy)] == 1 (mod m^2)
|
|
// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
|
|
// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
|
|
// JS multiply "overflows" differently from C/C++, so care is needed here.
|
|
function bnpInvDigit() {
|
|
if (this.t < 1) return 0;
|
|
var x = this[0];
|
|
if ((x & 1) == 0) return 0;
|
|
var y = x & 3; // y == 1/x mod 2^2
|
|
y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4
|
|
y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8
|
|
y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16
|
|
// last step - calculate inverse mod DV directly;
|
|
// assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
|
|
y = (y * (2 - (x * y) % this.DV)) % this.DV; // y == 1/x mod 2^dbits
|
|
// we really want the negative inverse, and -DV < y < DV
|
|
return y > 0 ? this.DV - y : -y;
|
|
}
|
|
|
|
// Montgomery reduction
|
|
function Montgomery(m) {
|
|
this.m = m;
|
|
this.mp = m.invDigit();
|
|
this.mpl = this.mp & 0x7fff;
|
|
this.mph = this.mp >> 15;
|
|
this.um = (1 << (m.DB - 15)) - 1;
|
|
this.mt2 = 2 * m.t;
|
|
}
|
|
|
|
// xR mod m
|
|
function montConvert(x) {
|
|
var r = nbi();
|
|
x.abs().dlShiftTo(this.m.t, r);
|
|
r.divRemTo(this.m, null, r);
|
|
if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r);
|
|
return r;
|
|
}
|
|
|
|
// x/R mod m
|
|
function montRevert(x) {
|
|
var r = nbi();
|
|
x.copyTo(r);
|
|
this.reduce(r);
|
|
return r;
|
|
}
|
|
|
|
// x = x/R mod m (HAC 14.32)
|
|
function montReduce(x) {
|
|
while (
|
|
x.t <= this.mt2 // pad x so am has enough room later
|
|
)
|
|
x[x.t++] = 0;
|
|
for (var i = 0; i < this.m.t; ++i) {
|
|
// faster way of calculating u0 = x[i]*mp mod DV
|
|
var j = x[i] & 0x7fff;
|
|
var u0 =
|
|
(j * this.mpl +
|
|
(((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) &
|
|
x.DM;
|
|
// use am to combine the multiply-shift-add into one call
|
|
j = i + this.m.t;
|
|
x[j] += this.m.am(0, u0, x, i, 0, this.m.t);
|
|
// propagate carry
|
|
while (x[j] >= x.DV) {
|
|
x[j] -= x.DV;
|
|
x[++j]++;
|
|
}
|
|
}
|
|
x.clamp();
|
|
x.drShiftTo(this.m.t, x);
|
|
if (x.compareTo(this.m) >= 0) x.subTo(this.m, x);
|
|
}
|
|
|
|
// r = "x^2/R mod m"; x != r
|
|
function montSqrTo(x, r) {
|
|
x.squareTo(r);
|
|
this.reduce(r);
|
|
}
|
|
|
|
// r = "xy/R mod m"; x,y != r
|
|
function montMulTo(x, y, r) {
|
|
x.multiplyTo(y, r);
|
|
this.reduce(r);
|
|
}
|
|
|
|
Montgomery.prototype.convert = montConvert;
|
|
Montgomery.prototype.revert = montRevert;
|
|
Montgomery.prototype.reduce = montReduce;
|
|
Montgomery.prototype.mulTo = montMulTo;
|
|
Montgomery.prototype.sqrTo = montSqrTo;
|
|
|
|
// (protected) true iff this is even
|
|
function bnpIsEven() {
|
|
return (this.t > 0 ? this[0] & 1 : this.s) == 0;
|
|
}
|
|
|
|
// (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
|
|
function bnpExp(e, z) {
|
|
if (e > 0xffffffff || e < 1) return BigInteger.ONE;
|
|
var r = nbi(),
|
|
r2 = nbi(),
|
|
g = z.convert(this),
|
|
i = nbits(e) - 1;
|
|
g.copyTo(r);
|
|
while (--i >= 0) {
|
|
z.sqrTo(r, r2);
|
|
if ((e & (1 << i)) > 0) z.mulTo(r2, g, r);
|
|
else {
|
|
var t = r;
|
|
r = r2;
|
|
r2 = t;
|
|
}
|
|
}
|
|
return z.revert(r);
|
|
}
|
|
|
|
// (public) this^e % m, 0 <= e < 2^32
|
|
function bnModPowInt(e, m) {
|
|
var z;
|
|
if (e < 256 || m.isEven()) z = new Classic(m);
|
|
else z = new Montgomery(m);
|
|
return this.exp(e, z);
|
|
}
|
|
|
|
// protected
|
|
BigInteger.prototype.copyTo = bnpCopyTo;
|
|
BigInteger.prototype.fromInt = bnpFromInt;
|
|
BigInteger.prototype.fromString = bnpFromString;
|
|
BigInteger.prototype.clamp = bnpClamp;
|
|
BigInteger.prototype.dlShiftTo = bnpDLShiftTo;
|
|
BigInteger.prototype.drShiftTo = bnpDRShiftTo;
|
|
BigInteger.prototype.lShiftTo = bnpLShiftTo;
|
|
BigInteger.prototype.rShiftTo = bnpRShiftTo;
|
|
BigInteger.prototype.subTo = bnpSubTo;
|
|
BigInteger.prototype.multiplyTo = bnpMultiplyTo;
|
|
BigInteger.prototype.squareTo = bnpSquareTo;
|
|
BigInteger.prototype.divRemTo = bnpDivRemTo;
|
|
BigInteger.prototype.invDigit = bnpInvDigit;
|
|
BigInteger.prototype.isEven = bnpIsEven;
|
|
BigInteger.prototype.exp = bnpExp;
|
|
|
|
// public
|
|
BigInteger.prototype.toString = bnToString;
|
|
BigInteger.prototype.negate = bnNegate;
|
|
BigInteger.prototype.abs = bnAbs;
|
|
BigInteger.prototype.compareTo = bnCompareTo;
|
|
BigInteger.prototype.bitLength = bnBitLength;
|
|
BigInteger.prototype.mod = bnMod;
|
|
BigInteger.prototype.modPowInt = bnModPowInt;
|
|
|
|
// "constants"
|
|
BigInteger.ZERO = nbv(0);
|
|
BigInteger.ONE = nbv(1);
|
|
|
|
// jsbn2 stuff
|
|
|
|
// (protected) convert from radix string
|
|
function bnpFromRadix(s, b) {
|
|
this.fromInt(0);
|
|
if (b == null) b = 10;
|
|
var cs = this.chunkSize(b);
|
|
var d = Math.pow(b, cs),
|
|
mi = false,
|
|
j = 0,
|
|
w = 0;
|
|
for (var i = 0; i < s.length; ++i) {
|
|
var x = intAt(s, i);
|
|
if (x < 0) {
|
|
if (s.charAt(i) == '-' && this.signum() == 0) mi = true;
|
|
continue;
|
|
}
|
|
w = b * w + x;
|
|
if (++j >= cs) {
|
|
this.dMultiply(d);
|
|
this.dAddOffset(w, 0);
|
|
j = 0;
|
|
w = 0;
|
|
}
|
|
}
|
|
if (j > 0) {
|
|
this.dMultiply(Math.pow(b, j));
|
|
this.dAddOffset(w, 0);
|
|
}
|
|
if (mi) BigInteger.ZERO.subTo(this, this);
|
|
}
|
|
|
|
// (protected) return x s.t. r^x < DV
|
|
function bnpChunkSize(r) {
|
|
return Math.floor(Math.LN2 * this.DB / Math.log(r));
|
|
}
|
|
|
|
// (public) 0 if this == 0, 1 if this > 0
|
|
function bnSigNum() {
|
|
if (this.s < 0) return -1;
|
|
else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0;
|
|
else return 1;
|
|
}
|
|
|
|
// (protected) this *= n, this >= 0, 1 < n < DV
|
|
function bnpDMultiply(n) {
|
|
this[this.t] = this.am(0, n - 1, this, 0, 0, this.t);
|
|
++this.t;
|
|
this.clamp();
|
|
}
|
|
|
|
// (protected) this += n << w words, this >= 0
|
|
function bnpDAddOffset(n, w) {
|
|
if (n == 0) return;
|
|
while (this.t <= w) this[this.t++] = 0;
|
|
this[w] += n;
|
|
while (this[w] >= this.DV) {
|
|
this[w] -= this.DV;
|
|
if (++w >= this.t) this[this.t++] = 0;
|
|
++this[w];
|
|
}
|
|
}
|
|
|
|
// (protected) convert to radix string
|
|
function bnpToRadix(b) {
|
|
if (b == null) b = 10;
|
|
if (this.signum() == 0 || b < 2 || b > 36) return '0';
|
|
var cs = this.chunkSize(b);
|
|
var a = Math.pow(b, cs);
|
|
var d = nbv(a),
|
|
y = nbi(),
|
|
z = nbi(),
|
|
r = '';
|
|
this.divRemTo(d, y, z);
|
|
while (y.signum() > 0) {
|
|
r = (a + z.intValue()).toString(b).substr(1) + r;
|
|
y.divRemTo(d, y, z);
|
|
}
|
|
return z.intValue().toString(b) + r;
|
|
}
|
|
|
|
// (public) return value as integer
|
|
function bnIntValue() {
|
|
if (this.s < 0) {
|
|
if (this.t == 1) return this[0] - this.DV;
|
|
else if (this.t == 0) return -1;
|
|
} else if (this.t == 1) return this[0];
|
|
else if (this.t == 0) return 0;
|
|
// assumes 16 < DB < 32
|
|
return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0];
|
|
}
|
|
|
|
// (protected) r = this + a
|
|
function bnpAddTo(a, r) {
|
|
var i = 0,
|
|
c = 0,
|
|
m = Math.min(a.t, this.t);
|
|
while (i < m) {
|
|
c += this[i] + a[i];
|
|
r[i++] = c & this.DM;
|
|
c >>= this.DB;
|
|
}
|
|
if (a.t < this.t) {
|
|
c += a.s;
|
|
while (i < this.t) {
|
|
c += this[i];
|
|
r[i++] = c & this.DM;
|
|
c >>= this.DB;
|
|
}
|
|
c += this.s;
|
|
} else {
|
|
c += this.s;
|
|
while (i < a.t) {
|
|
c += a[i];
|
|
r[i++] = c & this.DM;
|
|
c >>= this.DB;
|
|
}
|
|
c += a.s;
|
|
}
|
|
r.s = c < 0 ? -1 : 0;
|
|
if (c > 0) r[i++] = c;
|
|
else if (c < -1) r[i++] = this.DV + c;
|
|
r.t = i;
|
|
r.clamp();
|
|
}
|
|
|
|
BigInteger.prototype.fromRadix = bnpFromRadix;
|
|
BigInteger.prototype.chunkSize = bnpChunkSize;
|
|
BigInteger.prototype.signum = bnSigNum;
|
|
BigInteger.prototype.dMultiply = bnpDMultiply;
|
|
BigInteger.prototype.dAddOffset = bnpDAddOffset;
|
|
BigInteger.prototype.toRadix = bnpToRadix;
|
|
BigInteger.prototype.intValue = bnIntValue;
|
|
BigInteger.prototype.addTo = bnpAddTo;
|
|
|
|
//======= end jsbn =======
|
|
|
|
// Emscripten wrapper
|
|
var Wrapper = {
|
|
abs: function(l, h) {
|
|
var x = new goog.math.Long(l, h);
|
|
var ret;
|
|
if (x.isNegative()) {
|
|
ret = x.negate();
|
|
} else {
|
|
ret = x;
|
|
}
|
|
HEAP32[tempDoublePtr >> 2] = ret.low_;
|
|
HEAP32[(tempDoublePtr + 4) >> 2] = ret.high_;
|
|
},
|
|
ensureTemps: function() {
|
|
if (Wrapper.ensuredTemps) return;
|
|
Wrapper.ensuredTemps = true;
|
|
Wrapper.two32 = new BigInteger();
|
|
Wrapper.two32.fromString('4294967296', 10);
|
|
Wrapper.two64 = new BigInteger();
|
|
Wrapper.two64.fromString('18446744073709551616', 10);
|
|
Wrapper.temp1 = new BigInteger();
|
|
Wrapper.temp2 = new BigInteger();
|
|
},
|
|
lh2bignum: function(l, h) {
|
|
var a = new BigInteger();
|
|
a.fromString(h.toString(), 10);
|
|
var b = new BigInteger();
|
|
a.multiplyTo(Wrapper.two32, b);
|
|
var c = new BigInteger();
|
|
c.fromString(l.toString(), 10);
|
|
var d = new BigInteger();
|
|
c.addTo(b, d);
|
|
return d;
|
|
},
|
|
stringify: function(l, h, unsigned) {
|
|
var ret = new goog.math.Long(l, h).toString();
|
|
if (unsigned && ret[0] == '-') {
|
|
// unsign slowly using jsbn bignums
|
|
Wrapper.ensureTemps();
|
|
var bignum = new BigInteger();
|
|
bignum.fromString(ret, 10);
|
|
ret = new BigInteger();
|
|
Wrapper.two64.addTo(bignum, ret);
|
|
ret = ret.toString(10);
|
|
}
|
|
return ret;
|
|
},
|
|
fromString: function(str, base, min, max, unsigned) {
|
|
Wrapper.ensureTemps();
|
|
var bignum = new BigInteger();
|
|
bignum.fromString(str, base);
|
|
var bigmin = new BigInteger();
|
|
bigmin.fromString(min, 10);
|
|
var bigmax = new BigInteger();
|
|
bigmax.fromString(max, 10);
|
|
if (unsigned && bignum.compareTo(BigInteger.ZERO) < 0) {
|
|
var temp = new BigInteger();
|
|
bignum.addTo(Wrapper.two64, temp);
|
|
bignum = temp;
|
|
}
|
|
var error = false;
|
|
if (bignum.compareTo(bigmin) < 0) {
|
|
bignum = bigmin;
|
|
error = true;
|
|
} else if (bignum.compareTo(bigmax) > 0) {
|
|
bignum = bigmax;
|
|
error = true;
|
|
}
|
|
var ret = goog.math.Long.fromString(bignum.toString()); // min-max checks should have clamped this to a range goog.math.Long can handle well
|
|
HEAP32[tempDoublePtr >> 2] = ret.low_;
|
|
HEAP32[(tempDoublePtr + 4) >> 2] = ret.high_;
|
|
if (error) throw 'range error';
|
|
},
|
|
};
|
|
return Wrapper;
|
|
})();
|
|
|
|
//======= end closure i64 code =======
|
|
|
|
// === Auto-generated postamble setup entry stuff ===
|
|
|
|
if (memoryInitializer) {
|
|
if (typeof Module['locateFile'] === 'function') {
|
|
memoryInitializer = Module['locateFile'](memoryInitializer);
|
|
} else if (Module['memoryInitializerPrefixURL']) {
|
|
memoryInitializer =
|
|
Module['memoryInitializerPrefixURL'] + memoryInitializer;
|
|
}
|
|
if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) {
|
|
var data = Module['readBinary'](memoryInitializer);
|
|
HEAPU8.set(data, STATIC_BASE);
|
|
} else {
|
|
addRunDependency('memory initializer');
|
|
Browser.asyncLoad(
|
|
memoryInitializer,
|
|
function(data) {
|
|
HEAPU8.set(data, STATIC_BASE);
|
|
removeRunDependency('memory initializer');
|
|
},
|
|
function(data) {
|
|
throw 'could not load memory initializer ' + memoryInitializer;
|
|
}
|
|
);
|
|
}
|
|
}
|
|
|
|
function ExitStatus(status) {
|
|
this.name = 'ExitStatus';
|
|
this.message = 'Program terminated with exit(' + status + ')';
|
|
this.status = status;
|
|
}
|
|
ExitStatus.prototype = new Error();
|
|
ExitStatus.prototype.constructor = ExitStatus;
|
|
|
|
var initialStackTop;
|
|
var preloadStartTime = null;
|
|
var calledMain = false;
|
|
|
|
dependenciesFulfilled = function runCaller() {
|
|
// If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
|
|
if (!Module['calledRun'] && shouldRunNow) run();
|
|
if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
|
|
};
|
|
|
|
Module['callMain'] = Module.callMain = function callMain(args) {
|
|
assert(
|
|
runDependencies == 0,
|
|
'cannot call main when async dependencies remain! (listen on __ATMAIN__)'
|
|
);
|
|
assert(
|
|
__ATPRERUN__.length == 0,
|
|
'cannot call main when preRun functions remain to be called'
|
|
);
|
|
|
|
args = args || [];
|
|
|
|
ensureInitRuntime();
|
|
|
|
var argc = args.length + 1;
|
|
function pad() {
|
|
for (var i = 0; i < 4 - 1; i++) {
|
|
argv.push(0);
|
|
}
|
|
}
|
|
var argv = [
|
|
allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL),
|
|
];
|
|
pad();
|
|
for (var i = 0; i < argc - 1; i = i + 1) {
|
|
argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL));
|
|
pad();
|
|
}
|
|
argv.push(0);
|
|
argv = allocate(argv, 'i32', ALLOC_NORMAL);
|
|
|
|
initialStackTop = STACKTOP;
|
|
|
|
try {
|
|
var ret = Module['_main'](argc, argv, 0);
|
|
|
|
// if we're not running an evented main loop, it's time to exit
|
|
exit(ret);
|
|
} catch (e) {
|
|
if (e instanceof ExitStatus) {
|
|
// exit() throws this once it's done to make sure execution
|
|
// has been stopped completely
|
|
return;
|
|
} else if (e == 'SimulateInfiniteLoop') {
|
|
// running an evented main loop, don't immediately exit
|
|
Module['noExitRuntime'] = true;
|
|
return;
|
|
} else {
|
|
if (e && typeof e === 'object' && e.stack)
|
|
Module.printErr('exception thrown: ' + [e, e.stack]);
|
|
throw e;
|
|
}
|
|
} finally {
|
|
calledMain = true;
|
|
}
|
|
};
|
|
|
|
function run(args) {
|
|
args = args || Module['arguments'];
|
|
|
|
if (preloadStartTime === null) preloadStartTime = Date.now();
|
|
|
|
if (runDependencies > 0) {
|
|
return;
|
|
}
|
|
|
|
preRun();
|
|
|
|
if (runDependencies > 0) return; // a preRun added a dependency, run will be called later
|
|
if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame
|
|
|
|
function doRun() {
|
|
if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening
|
|
Module['calledRun'] = true;
|
|
|
|
if (ABORT) return;
|
|
|
|
ensureInitRuntime();
|
|
|
|
preMain();
|
|
|
|
if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) {
|
|
Module.printErr(
|
|
'pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'
|
|
);
|
|
}
|
|
|
|
if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized']();
|
|
|
|
if (Module['_main'] && shouldRunNow) Module['callMain'](args);
|
|
|
|
postRun();
|
|
}
|
|
|
|
if (Module['setStatus']) {
|
|
Module['setStatus']('Running...');
|
|
setTimeout(function() {
|
|
setTimeout(function() {
|
|
Module['setStatus']('');
|
|
}, 1);
|
|
doRun();
|
|
}, 1);
|
|
} else {
|
|
doRun();
|
|
}
|
|
}
|
|
Module['run'] = Module.run = run;
|
|
|
|
function exit(status) {
|
|
if (Module['noExitRuntime']) {
|
|
return;
|
|
}
|
|
|
|
ABORT = true;
|
|
EXITSTATUS = status;
|
|
STACKTOP = initialStackTop;
|
|
|
|
// exit the runtime
|
|
exitRuntime();
|
|
|
|
if (ENVIRONMENT_IS_NODE) {
|
|
// Work around a node.js bug where stdout buffer is not flushed at process exit:
|
|
// Instead of process.exit() directly, wait for stdout flush event.
|
|
// See https://github.com/joyent/node/issues/1669 and https://github.com/kripken/emscripten/issues/2582
|
|
// Workaround is based on https://github.com/RReverser/acorn/commit/50ab143cecc9ed71a2d66f78b4aec3bb2e9844f6
|
|
process['stdout']['once']('drain', function() {
|
|
process['exit'](status);
|
|
});
|
|
console.log(' '); // Make sure to print something to force the drain event to occur, in case the stdout buffer was empty.
|
|
// Work around another node bug where sometimes 'drain' is never fired - make another effort
|
|
// to emit the exit status, after a significant delay (if node hasn't fired drain by then, give up)
|
|
setTimeout(function() {
|
|
process['exit'](status);
|
|
}, 500);
|
|
} else if (ENVIRONMENT_IS_SHELL && typeof quit === 'function') {
|
|
quit(status);
|
|
}
|
|
// if we reach here, we must throw an exception to halt the current execution
|
|
throw new ExitStatus(status);
|
|
}
|
|
Module['exit'] = Module.exit = exit;
|
|
|
|
function abort(text) {
|
|
if (text) {
|
|
Module.print(text);
|
|
Module.printErr(text);
|
|
}
|
|
|
|
ABORT = true;
|
|
EXITSTATUS = 1;
|
|
|
|
var extra =
|
|
'\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.';
|
|
|
|
throw 'abort() at ' + stackTrace() + extra;
|
|
}
|
|
Module['abort'] = Module.abort = abort;
|
|
|
|
// {{PRE_RUN_ADDITIONS}}
|
|
|
|
if (Module['preInit']) {
|
|
if (typeof Module['preInit'] == 'function')
|
|
Module['preInit'] = [Module['preInit']];
|
|
while (Module['preInit'].length > 0) {
|
|
Module['preInit'].pop()();
|
|
}
|
|
}
|
|
|
|
// shouldRunNow refers to calling main(), not run().
|
|
var shouldRunNow = true;
|
|
if (Module['noInitialRun']) {
|
|
shouldRunNow = false;
|
|
}
|
|
|
|
run();
|
|
|
|
// {{POST_RUN_ADDITIONS}}
|
|
|
|
// {{MODULE_ADDITIONS}}
|